All Projects → revolist → revodropdown

revolist / revodropdown

Licence: MIT license
Minimalistic dropdown and auto-complete component with filtering and keyboard support

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects
SCSS
7915 projects
HTML
75241 projects
shell
77523 projects

Projects that are alternatives of or similar to revodropdown

Ember Select Box
🔠 A faux select box for Ember apps
Stars: ✭ 60 (+200%)
Mutual labels:  autocomplete, dropdown
hv-autocomplete
Fast and flexible autocomplete library
Stars: ✭ 16 (-20%)
Mutual labels:  autocomplete, dropdown
Core Components
Accessible and lightweight Javascript components
Stars: ✭ 85 (+325%)
Mutual labels:  autocomplete, dropdown
choc-autocomplete
🏇 Autocomplete Component Package for Chakra UI
Stars: ✭ 286 (+1330%)
Mutual labels:  autocomplete, dropdown
React Selectrix
A beautiful, materialized and flexible React Select control
Stars: ✭ 166 (+730%)
Mutual labels:  autocomplete, dropdown
Searchtextfield
UITextField subclass with autocompletion suggestions list
Stars: ✭ 980 (+4800%)
Mutual labels:  autocomplete, dropdown
Multiselect
Vue 3 multiselect component with single select, multiselect and tagging options.
Stars: ✭ 92 (+360%)
Mutual labels:  autocomplete, dropdown
frontal
An Angular select/dropdown component
Stars: ✭ 20 (+0%)
Mutual labels:  autocomplete, dropdown
Smartmaterialspinner
The powerful android spinner library for your application
Stars: ✭ 108 (+440%)
Mutual labels:  autocomplete, dropdown
React Input Enhancements
Set of enhancements for input control
Stars: ✭ 1,375 (+6775%)
Mutual labels:  autocomplete, dropdown
Autocomplete.js
Simple autocomplete pure vanilla Javascript library.
Stars: ✭ 3,428 (+17040%)
Mutual labels:  autocomplete, dropdown
Autocomplete
Blazing fast and lightweight autocomplete widget without dependencies. Only 1KB gzipped. Demo:
Stars: ✭ 244 (+1120%)
Mutual labels:  autocomplete, dropdown
Material Ui Superselectfield
multiselection autocomplete dropdown component for Material-UI
Stars: ✭ 260 (+1200%)
Mutual labels:  autocomplete, dropdown
Ngautocomplete
Light-weight autocomplete component for Angular.
Stars: ✭ 52 (+160%)
Mutual labels:  autocomplete, dropdown
vue-single-select
single select dropdown with autocomplete
Stars: ✭ 43 (+115%)
Mutual labels:  autocomplete, dropdown
Autocomplete
🔮 Fast and full-featured autocomplete library
Stars: ✭ 1,268 (+6240%)
Mutual labels:  autocomplete, dropdown
elm-selectize
selectize-like dropdown menu with autocompletion in elm
Stars: ✭ 28 (+40%)
Mutual labels:  autocomplete, dropdown
react-native-dropdown-autocomplete
Autocomplete input with dropdown modal component for React native. Useful for pages with multiple autocomplete's.
Stars: ✭ 97 (+385%)
Mutual labels:  autocomplete, dropdown
Downshift
🏎 A set of primitives to build simple, flexible, WAI-ARIA compliant React autocomplete, combobox or select dropdown components.
Stars: ✭ 10,183 (+50815%)
Mutual labels:  autocomplete, dropdown
Ng Select
⭐ Native angular select component
Stars: ✭ 2,781 (+13805%)
Mutual labels:  autocomplete, dropdown

revo-dropdown

Minimalistic dropdown webcomponent. After long search we couldn't find any cross platform and had to build our own inspired by the latest trends.

Autocomplete

Regular select

Autocomplete dropdown Regular dropdown

Getting Started

To start building a new web component using Stencil, clone this repo to a new directory:

npm i @revolist/revo-dropdown

Module import

import * as loader from '@revolist/revo-dropdown/loader';
if (loader.defineCustomElements) {
  loader.defineCustomElements();
}

Script tag

  • Put a script tag similar to this <script src='https://cdn.jsdelivr.net/npm/@revolist/revo-dropdown@latest/dist/revo-dropdown/revo-dropdown.js'></script> in the head of your index.html

Usage

Then you can use the element anywhere in your template, JSX, html etc

<revo-dropdown data-label="name" autocomplete="true" placeholder="Philosophers" max-height="300"></revo-dropdown>
<script type="module">
  const people = [
  {
    eyeColor: 'green',
    name: 'Samantha Molina',
  },
  {
    eyeColor: 'green',
    name: 'Weber Henderson',
  }];
  const dropdowns = document.querySelectorAll('revo-dropdown');
  for (var q = 0; q < dropdowns.length; q++) {
    dropdowns[q].source = people;
  } 
</script>

Need help? Check out docs here.

API

Properties

Property Attribute Description Type Default
appendTo append-to Where to append element "body" | "current" 'body'
autoClose auto-close Should dropdown autoclose on changeValue boolean true
autoFocus auto-focus boolean false
autocomplete autocomplete boolean false
currentFilter current-filter Filter value any undefined
dataId data-id Define object mapping for id/value string undefined
dataLabel data-label Define object mapping for labels string undefined
filter filter Filter criteria "contains" | "start" undefined
hasFilter has-filter boolean true
maxHeight max-height number undefined
placeholder placeholder Placeholder text string 'Select'
source -- Define object mapping for id/value any[] []
value value Selected value any undefined

Events

Event Description Type
changed When value changed CustomEvent<{ val: any; originalEvent?: MouseEvent; }>
close Before element close, can be prevented CustomEvent<any>
open Before element open, can be prevented CustomEvent<any>

Methods

doChange(val: any, originalEvent?: MouseEvent) => Promise<void>

Change value

Returns

Type: Promise<void>

doClose(isDisconnected?: boolean) => Promise<void>

Close dropdown

Returns

Type: Promise<void>

doOpen() => Promise<void>

Open dropdown

Returns

Type: Promise<void>


Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].