SelectPure JavaScript component

Installation
NPM
Yarn
CDN
<script src="https://unpkg.com/select-pure@latest/dist/bundle.min.js"></script>
Usage
import SelectPure from "select-pure";
new SelectPure(element, config);
`element` // Required. Either selector or HTML node.
`config` // Required. Configuration object.
Configuration
Property |
Required |
Type |
Description |
option |
true |
Array |
Collection of options to be rendered. Each option consists of value , label and optional property disabled . Properties for the single option object are listed below. |
classNames |
false |
Object |
Object with custom classNames to be used inside select. In the next major version default classNames will be removed and this property will become required. |
multiple |
false |
Boolean |
true if multiple options can be selected. |
autocomplete |
false |
Boolean |
Adds autocomplete input. Disabled by default. |
icon |
false |
String |
If specified - <i></i> will be inserted inside select-pure__selected-label . Works only with multiple option set to true . |
inlineIcon |
false |
HMTLElement |
Custom cross icon for multiple select. |
value |
false |
String | Array |
Initially selected value. If not provided - first option will be selected. If multiple is true – Array should be provided. |
placeholder |
false |
String |
Placeholder for cases when value is not selected by default. |
onChange |
false |
Function |
Callback that returns value when option is being selected. Returns Array if multiple is true . |
option
Properties of a single option passed to the options Array in configuration.
Property |
Required |
Type |
Description |
value |
true |
String |
Value of an option. |
label |
true |
String |
Label of an option. |
disabled |
false |
Boolean |
true if option is disabled. false by default. |
classNames
In the next major version default classNames will be removed and this property will become required.
Property |
Default value |
Description |
select |
“select-pure__select” |
Wrapper div. |
dropdownShown |
“select-pure__select–opened” |
Applied to the wrapper when dropdown is shown. |
multiselect |
“select-pure__select–multiple” |
Applied to the wrapper if it’s a multiselect. |
label |
“select-pure__label” |
Label span. |
placeholder |
“select-pure__placeholder” |
Placeholder span. |
dropdown |
“select-pure__options” |
Options dropdown. |
option |
“select-pure__option” |
Single option. |
optionDisabled |
“select-pure__option–disabled” |
Single option. |
autocompleteInput |
“select-pure__autocomplete” |
Autocomplete input |
selectedLabel |
“select-pure__selected-label” |
Selected label for multiselect. |
selectedOption |
“select-pure__option–selected” |
Applied to option when selected. |
placeholderHidden |
“select-pure__placeholder–hidden” |
Hides placeholder when the value is selected. |
optionHidden |
“select-pure__option–hidden” |
Hides options that does not match autocomplete input. |
API
Method |
Description |
value() |
Returns currently selected value. |
reset() |
Resets currently selected value. |
Structure
select-pure/
└── lib/
└── select-pure.min.js
TODO
Old TODO
License
MIT
/