Awesome
React, Angular, Vue, and Typescript compatible selector
# Features
- Custom Title
- Searchable
- Icon Support
- Recent Selects
- Custom Column Number
- Dark/Light Theme
- Custom Style
- Navigation With Arrow Keys
- Responsive Design
- Dynamic HTML
- Lightweight
- Zero Dependency
# Installation
> step 1 : you can use either npm or yarn, or import the main file with the script tag.
> step 2 : include the package in your code:
# npm and yarn
> step 3 : start making selectors!
# Title
Set a custom title with the title parameter:
# Notice: If you enable the search, the title would be hidden.
# Search
If you set the isSearchable parameter to true, the search input would be enabled. you can also specify the search input placeholder with the searchPlaceholder parameter:
# Options Format
The format of the options list should be like this:
# It should be an array of objects with the name and id attributes
# Icon Support
You can add iconSrc and iconSize attributes to the option objects so your option would have an icon:
# The default value of the icon size is '17px auto'
# Current Option
You can highlight the current selected option via the currentOptionId parameter:
# Recent Selects
You can show the frequently selected option like this:
# Notice: format of the recent selects is the same as the options, except in recent selects you can't have icons.
# Column Number
You can customize the max column number via the maxColumns parameter:
# Notice: the final column number is the minimum between the screen size, the size of the options(in a similar 4:3 ratio), and your specified number.
# Theme
The default theme is light, but you can enable the dark theme with the theme parameter:
# Custom Style
The Awesome Selector's html markup is equivalent to below:
So you can apply your custom style in a form of an array of classes:
# On Select
When the user selects an option, the onSelect() function returns the selected option id and name: