Socket
Socket
Sign inDemoInstall

@lemonadejs/dropdown

Package Overview
Dependencies
2
Maintainers
2
Versions
25
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @lemonadejs/dropdown

LemonadeJS dropdown integration.


Version published
Maintainers
2
Install size
190 kB
Created

Readme

Source

LemonadeJS Dropdown

Official website and documentation is here

Compatible with Vanilla JavaScript, LemonadeJS, React, Vue or Angular.

The LemonadeJS Dropdown is a versatile solution for efficient option management. It is a framework-agnostic JavaScript plugin designed for seamless integration with Vue, React, and Angular. This feature-rich dropdown incorporates autocomplete for swift selections, grouping for organized options, and lazy loading for optimized performance, contributing to a smooth and improved user experience.

Features

  • Lightweight: The JavaScript Dropdown is only about 2 KBytes;
  • Integration: It can be used as a standalone library or integrated with any modern framework;

Getting Started

You can install using NPM or using directly from a CDN.

npm Installation

To install it in your project using npm, run the following command:

$ npm install @lemonadejs/dropdown

CDN

To use Dropdown via a CDN, include the following script tags in your HTML file:

<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/lemonadejs/dist/lemonade.min.js"></script>
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@lemonadejs/modal/dist/index.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@lemonadejs/modal/dist/style.min.css" />
<script type="text/javascript" src="https://cdn.jsdelivr.net/npm/@lemonadejs/dropdown/dist/index.min.js"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@lemonadejs/dropdown/dist/style.min.css" />

Usage

Quick example with Lemonade

import Dropdown from '@lemonadejs/dropdown';
import '@lemonadejs/dropdown/dist/style.css'
import '@lemonadejs/modal/dist/style.css';

export default function App() {
    const self = this;

    self.data = [
        { text: "Red", value: 1 },
        { text: "Blue", value: 2 },
        { text: "Green", value: 3 },
        { text: "Yellow", value: 4 },
        { text: "Purple", value: 5 },
        { text: "Gray", value: 6 },
    ]

    return `<div>
        <Dropdown :data="self.data" :value="1" />
    </div>`
}

Quick example with React

import React, { useRef } from 'react';
import Dropdown from '@lemonadejs/dropdown/dist/react';
import '@lemonadejs/dropdown/dist/style.css'
import '@lemonadejs/modal/dist/style.css';

const data = [
    { text: "Red", value: 1 },
    { text: "Blue", value: 2 },
    { text: "Green", value: 3 },
    { text: "Yellow", value: 4 },
    { text: "Purple", value: 5 },
    { text: "Gray", value: 6 },
]
export default function App() {
    const dropdown = useRef();
    return (
        <div>
            <Dropdown data={data} ref={dropdown} value={1} />
        </div>);
}

Quick example with Vue

<template>
    <Dropdown :data="data" :value="1" />
</template>

<script>
import Dropdown from '@lemonadejs/dropdown/dist/vue'
import '@lemonadejs/dropdown/dist/style.css'
import '@lemonadejs/modal/dist/style.css'

export default {
    name: 'App',
    components: {
        Dropdown
    },
    data() {
        return {
            data: [
                { text: "Red", value: 1 },
                { text: "Blue", value: 2 },
                { text: "Green", value: 3 },
                { text: "Yellow", value: 4 },
                { text: "Purple", value: 5 },
                { text: "Gray", value: 6 },
            ]
        };
    },
}
</script>

Settings

AttributeDescription
data: Item[]An array of options to be displayed. Each item should follow the structure defined in the 'Item Details' section.
multiple?: booleanIf provided, enables the multiple selection mode, allowing users to select more than one option simultaneously.
autocomplete?: booleanIf provided, enables the autocomplete feature, displaying an input field that allows users to filter and quickly find options in the Dropdown.
value?: stringRepresents the current value or selected option in the Dropdown.
type?: stringSpecifies the type of display the Dropdown will use. It can be "searchbar" for a search bar interface, "picker" for a selection picker, or "default" for the default dropdown appearance.
insert?: booleanEnables the insert feature, allowing users to add a new option directly by typing the title text and clicking on the plus symbol.
format?: numberData format type, usually in the form of { id: name } or { value: text }
width?: numberSpecifies the width of the dropdown.
placeholder?: stringPlaceholder text to guide users in the dropdown.
url?: stringSpecifies the URL for fetching the data. Do not declare the data attribute for the url to function properly.

Item Details

AttributeDescription
value?: number or stringRepresents the identifier or unique value associated with the option.
group?: stringIndicates the group to which the option belongs, allowing for segregation and organization.
text?: stringDisplays the label or text associated with the option.
image?: stringSpecifies the image URL to be displayed alongside the option.
synonyms?: string[]Keywords for easier item identification
disabled?: booleanIndicates whether the item is currently disabled
color?: stringSpecifies the color associated with the item

Events

EventTrigger
onclose?: () => voidInvoked when the dropdown modal is closed.
onbeforeinsert?: (instance, Item) => voidInvoked before an item is added to the options through the insert feature.
oninsert?: (instance, Item) => voidInvoked after an item is added to the options through the insert feature.
onchange?: (instance, Item) => voidInvoked when the value changes.
onload?: (instance, Item) => voidInvoked when appended to the DOM.
onsearch?: (instance, Item) => voidInvoked when searching for an item.
onbeforesearch?: (instance, Item) => voidInvoked before initiating a search.
onopen?: (instance) => voidInvoked when the dropdown is opened.

License

The LemonadeJS LemonadeJS Dropdown is released under the MIT.

Other Tools

Keywords

FAQs

Last updated on 28 Apr 2024

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc