Full Code of selectize/selectize.js for AI

master e6ca6d3ba8f9 cached
1014 files
3.4 MB
940.2k tokens
84 symbols
1 requests
Download .txt
Showing preview only (3,740K chars total). Download the full file or copy to clipboard to get everything.
Repository: selectize/selectize.js
Branch: master
Commit: e6ca6d3ba8f9
Files: 1014
Total size: 3.4 MB

Directory structure:
gitextract_e32a8rdo/

├── .browserslistrc
├── .editorconfig
├── .github/
│   ├── FUNDING.yml
│   ├── ISSUE_TEMPLATE.md
│   ├── codeql/
│   │   └── codeql-config.yml
│   ├── dependabot.yml
│   └── workflows/
│       ├── UpdateContributors.yml
│       ├── codeql-analysis.yml
│       ├── node.js.yml
│       └── stale.yml
├── .gitignore
├── .npmrc
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── CONTRIBUTORS.md
├── LICENSE
├── Makefile
├── README.md
├── SECURITY.md
├── dist/
│   ├── css/
│   │   ├── selectize.bootstrap2.css
│   │   ├── selectize.bootstrap3.css
│   │   ├── selectize.bootstrap4.css
│   │   ├── selectize.bootstrap5.css
│   │   ├── selectize.css
│   │   └── selectize.default.css
│   ├── js/
│   │   └── selectize.js
│   ├── less/
│   │   ├── plugins/
│   │   │   ├── auto_position.less
│   │   │   ├── clear_button.less
│   │   │   ├── drag_drop.less
│   │   │   ├── dropdown_header.less
│   │   │   ├── optgroup_columns.less
│   │   │   └── remove_button.less
│   │   ├── selectize.bootstrap2.less
│   │   ├── selectize.bootstrap3.less
│   │   ├── selectize.default.less
│   │   └── selectize.less
│   ├── lib/
│   │   ├── bootstrap-sass/
│   │   │   ├── _alerts.scss
│   │   │   ├── _badges.scss
│   │   │   ├── _breadcrumbs.scss
│   │   │   ├── _button-groups.scss
│   │   │   ├── _buttons.scss
│   │   │   ├── _carousel.scss
│   │   │   ├── _close.scss
│   │   │   ├── _code.scss
│   │   │   ├── _component-animations.scss
│   │   │   ├── _dropdowns.scss
│   │   │   ├── _forms.scss
│   │   │   ├── _glyphicons.scss
│   │   │   ├── _grid.scss
│   │   │   ├── _input-groups.scss
│   │   │   ├── _jumbotron.scss
│   │   │   ├── _labels.scss
│   │   │   ├── _list-group.scss
│   │   │   ├── _media.scss
│   │   │   ├── _mixins.scss
│   │   │   ├── _modals.scss
│   │   │   ├── _navbar.scss
│   │   │   ├── _navs.scss
│   │   │   ├── _normalize.scss
│   │   │   ├── _pager.scss
│   │   │   ├── _pagination.scss
│   │   │   ├── _panels.scss
│   │   │   ├── _popovers.scss
│   │   │   ├── _print.scss
│   │   │   ├── _progress-bars.scss
│   │   │   ├── _responsive-embed.scss
│   │   │   ├── _responsive-utilities.scss
│   │   │   ├── _scaffolding.scss
│   │   │   ├── _tables.scss
│   │   │   ├── _theme.scss
│   │   │   ├── _thumbnails.scss
│   │   │   ├── _tooltip.scss
│   │   │   ├── _type.scss
│   │   │   ├── _utilities.scss
│   │   │   ├── _variables.scss
│   │   │   ├── _wells.scss
│   │   │   └── mixins/
│   │   │       ├── _alerts.scss
│   │   │       ├── _background-variant.scss
│   │   │       ├── _border-radius.scss
│   │   │       ├── _buttons.scss
│   │   │       ├── _center-block.scss
│   │   │       ├── _clearfix.scss
│   │   │       ├── _forms.scss
│   │   │       ├── _gradients.scss
│   │   │       ├── _grid-framework.scss
│   │   │       ├── _grid.scss
│   │   │       ├── _hide-text.scss
│   │   │       ├── _image.scss
│   │   │       ├── _labels.scss
│   │   │       ├── _list-group.scss
│   │   │       ├── _nav-divider.scss
│   │   │       ├── _nav-vertical-align.scss
│   │   │       ├── _opacity.scss
│   │   │       ├── _pagination.scss
│   │   │       ├── _panels.scss
│   │   │       ├── _progress-bar.scss
│   │   │       ├── _reset-filter.scss
│   │   │       ├── _reset-text.scss
│   │   │       ├── _resize.scss
│   │   │       ├── _responsive-visibility.scss
│   │   │       ├── _size.scss
│   │   │       ├── _tab-focus.scss
│   │   │       ├── _table-row.scss
│   │   │       ├── _text-emphasis.scss
│   │   │       ├── _text-overflow.scss
│   │   │       └── _vendor-prefixes.scss
│   │   ├── bootstrap2/
│   │   │   ├── accordion.less
│   │   │   ├── alerts.less
│   │   │   ├── bootstrap.less
│   │   │   ├── breadcrumbs.less
│   │   │   ├── button-groups.less
│   │   │   ├── buttons.less
│   │   │   ├── carousel.less
│   │   │   ├── close.less
│   │   │   ├── code.less
│   │   │   ├── component-animations.less
│   │   │   ├── dropdowns.less
│   │   │   ├── forms.less
│   │   │   ├── grid.less
│   │   │   ├── hero-unit.less
│   │   │   ├── labels-badges.less
│   │   │   ├── layouts.less
│   │   │   ├── media.less
│   │   │   ├── mixins.less
│   │   │   ├── modals.less
│   │   │   ├── navbar.less
│   │   │   ├── navs.less
│   │   │   ├── pager.less
│   │   │   ├── pagination.less
│   │   │   ├── popovers.less
│   │   │   ├── progress-bars.less
│   │   │   ├── reset.less
│   │   │   ├── responsive-1200px-min.less
│   │   │   ├── responsive-767px-max.less
│   │   │   ├── responsive-768px-979px.less
│   │   │   ├── responsive-navbar.less
│   │   │   ├── responsive-utilities.less
│   │   │   ├── responsive.less
│   │   │   ├── scaffolding.less
│   │   │   ├── sprites.less
│   │   │   ├── tables.less
│   │   │   ├── tests/
│   │   │   │   ├── buttons.html
│   │   │   │   ├── css-tests.css
│   │   │   │   ├── css-tests.html
│   │   │   │   ├── forms-responsive.html
│   │   │   │   ├── forms.html
│   │   │   │   ├── navbar-fixed-top.html
│   │   │   │   ├── navbar-static-top.html
│   │   │   │   └── navbar.html
│   │   │   ├── thumbnails.less
│   │   │   ├── tooltip.less
│   │   │   ├── type.less
│   │   │   ├── utilities.less
│   │   │   ├── variables.less
│   │   │   └── wells.less
│   │   ├── bootstrap3/
│   │   │   ├── alerts.less
│   │   │   ├── badges.less
│   │   │   ├── bootstrap.less
│   │   │   ├── breadcrumbs.less
│   │   │   ├── button-groups.less
│   │   │   ├── buttons.less
│   │   │   ├── carousel.less
│   │   │   ├── close.less
│   │   │   ├── code.less
│   │   │   ├── component-animations.less
│   │   │   ├── dropdowns.less
│   │   │   ├── forms.less
│   │   │   ├── glyphicons.less
│   │   │   ├── grid.less
│   │   │   ├── input-groups.less
│   │   │   ├── jumbotron.less
│   │   │   ├── labels.less
│   │   │   ├── list-group.less
│   │   │   ├── media.less
│   │   │   ├── mixins/
│   │   │   │   ├── alerts.less
│   │   │   │   ├── background-variant.less
│   │   │   │   ├── border-radius.less
│   │   │   │   ├── buttons.less
│   │   │   │   ├── center-block.less
│   │   │   │   ├── clearfix.less
│   │   │   │   ├── forms.less
│   │   │   │   ├── gradients.less
│   │   │   │   ├── grid-framework.less
│   │   │   │   ├── grid.less
│   │   │   │   ├── hide-text.less
│   │   │   │   ├── image.less
│   │   │   │   ├── labels.less
│   │   │   │   ├── list-group.less
│   │   │   │   ├── nav-divider.less
│   │   │   │   ├── nav-vertical-align.less
│   │   │   │   ├── opacity.less
│   │   │   │   ├── pagination.less
│   │   │   │   ├── panels.less
│   │   │   │   ├── progress-bar.less
│   │   │   │   ├── reset-filter.less
│   │   │   │   ├── reset-text.less
│   │   │   │   ├── resize.less
│   │   │   │   ├── responsive-visibility.less
│   │   │   │   ├── size.less
│   │   │   │   ├── tab-focus.less
│   │   │   │   ├── table-row.less
│   │   │   │   ├── text-emphasis.less
│   │   │   │   ├── text-overflow.less
│   │   │   │   └── vendor-prefixes.less
│   │   │   ├── mixins.less
│   │   │   ├── modals.less
│   │   │   ├── navbar.less
│   │   │   ├── navs.less
│   │   │   ├── normalize.less
│   │   │   ├── pager.less
│   │   │   ├── pagination.less
│   │   │   ├── panels.less
│   │   │   ├── popovers.less
│   │   │   ├── print.less
│   │   │   ├── progress-bars.less
│   │   │   ├── responsive-embed.less
│   │   │   ├── responsive-utilities.less
│   │   │   ├── scaffolding.less
│   │   │   ├── tables.less
│   │   │   ├── theme.less
│   │   │   ├── thumbnails.less
│   │   │   ├── tooltip.less
│   │   │   ├── type.less
│   │   │   ├── utilities.less
│   │   │   ├── variables.less
│   │   │   └── wells.less
│   │   ├── bootstrap4/
│   │   │   ├── _alert.scss
│   │   │   ├── _badge.scss
│   │   │   ├── _breadcrumb.scss
│   │   │   ├── _button-group.scss
│   │   │   ├── _buttons.scss
│   │   │   ├── _card.scss
│   │   │   ├── _carousel.scss
│   │   │   ├── _close.scss
│   │   │   ├── _code.scss
│   │   │   ├── _custom-forms.scss
│   │   │   ├── _dropdown.scss
│   │   │   ├── _forms.scss
│   │   │   ├── _functions.scss
│   │   │   ├── _grid.scss
│   │   │   ├── _images.scss
│   │   │   ├── _input-group.scss
│   │   │   ├── _jumbotron.scss
│   │   │   ├── _list-group.scss
│   │   │   ├── _media.scss
│   │   │   ├── _mixins.scss
│   │   │   ├── _modal.scss
│   │   │   ├── _nav.scss
│   │   │   ├── _navbar.scss
│   │   │   ├── _pagination.scss
│   │   │   ├── _popover.scss
│   │   │   ├── _print.scss
│   │   │   ├── _progress.scss
│   │   │   ├── _reboot.scss
│   │   │   ├── _root.scss
│   │   │   ├── _spinners.scss
│   │   │   ├── _tables.scss
│   │   │   ├── _toasts.scss
│   │   │   ├── _tooltip.scss
│   │   │   ├── _transitions.scss
│   │   │   ├── _type.scss
│   │   │   ├── _utilities.scss
│   │   │   ├── _variables.scss
│   │   │   ├── bootstrap-grid.scss
│   │   │   ├── bootstrap-reboot.scss
│   │   │   ├── bootstrap.scss
│   │   │   ├── mixins/
│   │   │   │   ├── _alert.scss
│   │   │   │   ├── _background-variant.scss
│   │   │   │   ├── _badge.scss
│   │   │   │   ├── _border-radius.scss
│   │   │   │   ├── _box-shadow.scss
│   │   │   │   ├── _breakpoints.scss
│   │   │   │   ├── _buttons.scss
│   │   │   │   ├── _caret.scss
│   │   │   │   ├── _clearfix.scss
│   │   │   │   ├── _deprecate.scss
│   │   │   │   ├── _float.scss
│   │   │   │   ├── _forms.scss
│   │   │   │   ├── _gradients.scss
│   │   │   │   ├── _grid-framework.scss
│   │   │   │   ├── _grid.scss
│   │   │   │   ├── _hover.scss
│   │   │   │   ├── _image.scss
│   │   │   │   ├── _list-group.scss
│   │   │   │   ├── _lists.scss
│   │   │   │   ├── _nav-divider.scss
│   │   │   │   ├── _pagination.scss
│   │   │   │   ├── _reset-text.scss
│   │   │   │   ├── _resize.scss
│   │   │   │   ├── _screen-reader.scss
│   │   │   │   ├── _size.scss
│   │   │   │   ├── _table-row.scss
│   │   │   │   ├── _text-emphasis.scss
│   │   │   │   ├── _text-hide.scss
│   │   │   │   ├── _text-truncate.scss
│   │   │   │   ├── _transition.scss
│   │   │   │   └── _visibility.scss
│   │   │   ├── utilities/
│   │   │   │   ├── _align.scss
│   │   │   │   ├── _background.scss
│   │   │   │   ├── _borders.scss
│   │   │   │   ├── _clearfix.scss
│   │   │   │   ├── _display.scss
│   │   │   │   ├── _embed.scss
│   │   │   │   ├── _flex.scss
│   │   │   │   ├── _float.scss
│   │   │   │   ├── _interactions.scss
│   │   │   │   ├── _overflow.scss
│   │   │   │   ├── _position.scss
│   │   │   │   ├── _screenreaders.scss
│   │   │   │   ├── _shadows.scss
│   │   │   │   ├── _sizing.scss
│   │   │   │   ├── _spacing.scss
│   │   │   │   ├── _stretched-link.scss
│   │   │   │   ├── _text.scss
│   │   │   │   └── _visibility.scss
│   │   │   └── vendor/
│   │   │       └── _rfs.scss
│   │   └── bootstrap5/
│   │       ├── _accordion.scss
│   │       ├── _alert.scss
│   │       ├── _badge.scss
│   │       ├── _breadcrumb.scss
│   │       ├── _button-group.scss
│   │       ├── _buttons.scss
│   │       ├── _card.scss
│   │       ├── _carousel.scss
│   │       ├── _close.scss
│   │       ├── _containers.scss
│   │       ├── _dropdown.scss
│   │       ├── _forms.scss
│   │       ├── _functions.scss
│   │       ├── _grid.scss
│   │       ├── _helpers.scss
│   │       ├── _images.scss
│   │       ├── _list-group.scss
│   │       ├── _maps.scss
│   │       ├── _mixins.scss
│   │       ├── _modal.scss
│   │       ├── _nav.scss
│   │       ├── _navbar.scss
│   │       ├── _offcanvas.scss
│   │       ├── _pagination.scss
│   │       ├── _placeholders.scss
│   │       ├── _popover.scss
│   │       ├── _progress.scss
│   │       ├── _reboot.scss
│   │       ├── _root.scss
│   │       ├── _spinners.scss
│   │       ├── _tables.scss
│   │       ├── _toasts.scss
│   │       ├── _tooltip.scss
│   │       ├── _transitions.scss
│   │       ├── _type.scss
│   │       ├── _utilities.scss
│   │       ├── _variables.scss
│   │       ├── bootstrap-grid.scss
│   │       ├── bootstrap-reboot.scss
│   │       ├── bootstrap-utilities.scss
│   │       ├── bootstrap.scss
│   │       ├── forms/
│   │       │   ├── _floating-labels.scss
│   │       │   ├── _form-check.scss
│   │       │   ├── _form-control.scss
│   │       │   ├── _form-range.scss
│   │       │   ├── _form-select.scss
│   │       │   ├── _form-text.scss
│   │       │   ├── _input-group.scss
│   │       │   ├── _labels.scss
│   │       │   └── _validation.scss
│   │       ├── helpers/
│   │       │   ├── _clearfix.scss
│   │       │   ├── _color-bg.scss
│   │       │   ├── _colored-links.scss
│   │       │   ├── _position.scss
│   │       │   ├── _ratio.scss
│   │       │   ├── _stacks.scss
│   │       │   ├── _stretched-link.scss
│   │       │   ├── _text-truncation.scss
│   │       │   ├── _visually-hidden.scss
│   │       │   └── _vr.scss
│   │       ├── mixins/
│   │       │   ├── _alert.scss
│   │       │   ├── _backdrop.scss
│   │       │   ├── _banner.scss
│   │       │   ├── _border-radius.scss
│   │       │   ├── _box-shadow.scss
│   │       │   ├── _breakpoints.scss
│   │       │   ├── _buttons.scss
│   │       │   ├── _caret.scss
│   │       │   ├── _clearfix.scss
│   │       │   ├── _color-scheme.scss
│   │       │   ├── _container.scss
│   │       │   ├── _deprecate.scss
│   │       │   ├── _forms.scss
│   │       │   ├── _gradients.scss
│   │       │   ├── _grid.scss
│   │       │   ├── _image.scss
│   │       │   ├── _list-group.scss
│   │       │   ├── _lists.scss
│   │       │   ├── _pagination.scss
│   │       │   ├── _reset-text.scss
│   │       │   ├── _resize.scss
│   │       │   ├── _table-variants.scss
│   │       │   ├── _text-truncate.scss
│   │       │   ├── _transition.scss
│   │       │   ├── _utilities.scss
│   │       │   └── _visually-hidden.scss
│   │       ├── utilities/
│   │       │   └── _api.scss
│   │       └── vendor/
│   │           └── _rfs.scss
│   └── scss/
│       ├── plugins/
│       │   ├── auto_position.scss
│       │   ├── clear_button.scss
│       │   ├── drag_drop.scss
│       │   ├── dropdown_header.scss
│       │   ├── optgroup_columns.scss
│       │   └── remove_button.scss
│       ├── selectize.bootstrap3.scss
│       ├── selectize.bootstrap4.scss
│       ├── selectize.bootstrap5.scss
│       ├── selectize.default.scss
│       └── selectize.scss
├── docs/
│   ├── .gitignore
│   ├── .ssl/
│   │   ├── loopback_website.crt
│   │   └── loopback_website.key
│   ├── README.md
│   ├── babel.config.js
│   ├── config/
│   │   └── typography.js
│   ├── docs/
│   │   ├── API/
│   │   │   ├── auto_position Plugin.mdx
│   │   │   ├── auto_select_on_type Plugin.mdx
│   │   │   ├── autofill_disable Plugin.mdx
│   │   │   ├── clear_button Plugin.mdx
│   │   │   ├── constants.mdx
│   │   │   ├── defaults.mdx
│   │   │   ├── drag_drop Plugin.mdx
│   │   │   ├── dropdown_header Plugin.mdx
│   │   │   ├── highlight.mdx
│   │   │   ├── microevent.mdx
│   │   │   ├── microplugin.mdx
│   │   │   ├── nanoid.mdx
│   │   │   ├── optgroup_columns Plugin.mdx
│   │   │   ├── read-only Plugin.mdx
│   │   │   ├── remove_button Plugin.mdx
│   │   │   ├── restore_on_backspace Plugin.mdx
│   │   │   ├── select_on_focus Plugin.mdx
│   │   │   ├── selectize.jquery.mdx
│   │   │   ├── selectize.mdx
│   │   │   ├── sifter.mdx
│   │   │   ├── tag_limit Plugin.mdx
│   │   │   └── utils.mdx
│   │   ├── api.mdx
│   │   ├── contribute.mdx
│   │   ├── demos/
│   │   │   ├── api.mdx
│   │   │   ├── basic.mdx
│   │   │   ├── confirm.mdx
│   │   │   ├── diacritics.mdx
│   │   │   ├── dynamic-option-groups.mdx
│   │   │   ├── dynamic-options.mdx
│   │   │   ├── email.mdx
│   │   │   ├── events.mdx
│   │   │   ├── lock.mdx
│   │   │   ├── max-items.mdx
│   │   │   ├── normalize.mdx
│   │   │   ├── opt-groups.mdx
│   │   │   ├── performance.mdx
│   │   │   ├── required.mdx
│   │   │   ├── rtl.mdx
│   │   │   └── tagging.mdx
│   │   ├── events.mdx
│   │   ├── intro.mdx
│   │   ├── plugins/
│   │   │   ├── auto-position.mdx
│   │   │   ├── auto-select-on-type.mdx
│   │   │   ├── autofill-disable.mdx
│   │   │   ├── clear-button.mdx
│   │   │   ├── drag-drop.mdx
│   │   │   ├── dropdown-header.mdx
│   │   │   ├── opt-group-col.mdx
│   │   │   ├── remove-button.mdx
│   │   │   ├── restore-backspace.mdx
│   │   │   └── select-on-focus.mdx
│   │   ├── plugins.mdx
│   │   └── usage.mdx
│   ├── docusaurus.config.js
│   ├── i18n/
│   │   ├── en/
│   │   │   ├── code.json
│   │   │   ├── docusaurus-plugin-content-blog/
│   │   │   │   └── options.json
│   │   │   ├── docusaurus-plugin-content-docs/
│   │   │   │   └── current.json
│   │   │   └── docusaurus-theme-classic/
│   │   │       ├── footer.json
│   │   │       └── navbar.json
│   │   └── fr/
│   │       ├── code.json
│   │       ├── docusaurus-plugin-content-blog/
│   │       │   └── options.json
│   │       ├── docusaurus-plugin-content-docs/
│   │       │   └── current.json
│   │       └── docusaurus-theme-classic/
│   │           ├── footer.json
│   │           └── navbar.json
│   ├── package.json
│   ├── postcss.config.js
│   ├── sidebars.js
│   ├── src/
│   │   ├── components/
│   │   │   ├── Button.jsx
│   │   │   ├── Examples/
│   │   │   │   ├── Api.js
│   │   │   │   ├── Basic.js
│   │   │   │   ├── ConfirmDelete.js
│   │   │   │   ├── Diacritics.js
│   │   │   │   ├── DynamicOpt.js
│   │   │   │   ├── DynamicOptGroups.js
│   │   │   │   ├── EmailContact.css
│   │   │   │   ├── EmailContact.js
│   │   │   │   ├── Events.js
│   │   │   │   ├── Lock.js
│   │   │   │   ├── MaxItems.js
│   │   │   │   ├── Normalize.js
│   │   │   │   ├── OptGroups.js
│   │   │   │   ├── Performance.js
│   │   │   │   ├── Plugins/
│   │   │   │   │   ├── AutoFillDisable.js
│   │   │   │   │   ├── AutoPosition.js
│   │   │   │   │   ├── AutoSelectOnType.js
│   │   │   │   │   ├── ClearBtn.js
│   │   │   │   │   ├── DragDrop.js
│   │   │   │   │   ├── DropdownHeader.js
│   │   │   │   │   ├── OptGroupCol.js
│   │   │   │   │   ├── RemoveBtn.js
│   │   │   │   │   ├── RestoreBackspace.js
│   │   │   │   │   └── SelectOnFocus.js
│   │   │   │   ├── Required.js
│   │   │   │   ├── Rtl.js
│   │   │   │   └── Tagging.js
│   │   │   ├── GridPattern.jsx
│   │   │   ├── Hero.jsx
│   │   │   ├── HeroBackground.jsx
│   │   │   ├── HomepageFeatures/
│   │   │   │   └── index.js
│   │   │   ├── PagePattern.jsx
│   │   │   ├── Prose.jsx
│   │   │   └── Theming/
│   │   │       └── ThemeChanger.js
│   │   ├── css/
│   │   │   └── custom.css
│   │   ├── fonts/
│   │   │   ├── Caskaydia Cove.LICENSE.txt
│   │   │   ├── CaskaydiaCoveNerdFontComplete-Bold.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-BoldItalic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-ExtraLight.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-ExtraLightItalic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-Italic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-Light.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-LightItalic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoBold.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoBoldItalic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoExtraLight.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoExtraLightItalic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoItalic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoLight.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoLightItalic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoRegular.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoSemiBold.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoSemiBoldItalic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoSemiLight.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoSemiLightItalic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-Regular.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-SemiBold.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-SemiBoldItalic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-SemiLight.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-SemiLightItalic.otf
│   │   │   ├── VisbyCF-License.txt
│   │   │   └── lexend.txt
│   │   ├── pages/
│   │   │   ├── code-of-conduct.mdx
│   │   │   ├── index.js
│   │   │   ├── license.mdx
│   │   │   └── privacy-policy.mdx
│   │   └── theme/
│   │       ├── CodeBlock/
│   │       │   └── index.js
│   │       ├── DocBreadcrumbs/
│   │       │   ├── index.js
│   │       │   └── styles.module.css
│   │       ├── DocCardList/
│   │       │   └── index.js
│   │       ├── DocItem/
│   │       │   ├── Content/
│   │       │   │   └── index.js
│   │       │   ├── Paginator/
│   │       │   │   └── index.js
│   │       │   └── index.js
│   │       ├── DocPage/
│   │       │   ├── Layout/
│   │       │   │   └── Main/
│   │       │   │       ├── index.js
│   │       │   │       └── styles.module.css
│   │       │   └── index.js
│   │       ├── DocPaginator/
│   │       │   └── index.js
│   │       ├── Footer/
│   │       │   ├── Copyright/
│   │       │   │   └── index.js
│   │       │   ├── Layout/
│   │       │   │   └── index.js
│   │       │   ├── LinkItem/
│   │       │   │   └── index.js
│   │       │   ├── Links/
│   │       │   │   ├── MultiColumn/
│   │       │   │   │   └── index.js
│   │       │   │   └── index.js
│   │       │   ├── Logo/
│   │       │   │   ├── index.js
│   │       │   │   └── styles.module.css
│   │       │   └── index.js
│   │       ├── PaginatorNavLink/
│   │       │   └── index.js
│   │       └── root.js
│   ├── static/
│   │   ├── .nojekyll
│   │   ├── CNAME
│   │   ├── ads.txt
│   │   ├── css/
│   │   │   ├── selectize.bootstrap2.css
│   │   │   ├── selectize.bootstrap3.css
│   │   │   ├── selectize.bootstrap4.css
│   │   │   ├── selectize.bootstrap5.css
│   │   │   ├── selectize.css
│   │   │   └── selectize.default.css
│   │   └── js/
│   │       └── selectize.js
│   └── tailwind.config.js
├── gulpfile.js
├── index.d.ts
├── karma.conf.js
├── lib/
│   ├── bootstrap-sass/
│   │   ├── _alerts.scss
│   │   ├── _badges.scss
│   │   ├── _breadcrumbs.scss
│   │   ├── _button-groups.scss
│   │   ├── _buttons.scss
│   │   ├── _carousel.scss
│   │   ├── _close.scss
│   │   ├── _code.scss
│   │   ├── _component-animations.scss
│   │   ├── _dropdowns.scss
│   │   ├── _forms.scss
│   │   ├── _glyphicons.scss
│   │   ├── _grid.scss
│   │   ├── _input-groups.scss
│   │   ├── _jumbotron.scss
│   │   ├── _labels.scss
│   │   ├── _list-group.scss
│   │   ├── _media.scss
│   │   ├── _mixins.scss
│   │   ├── _modals.scss
│   │   ├── _navbar.scss
│   │   ├── _navs.scss
│   │   ├── _normalize.scss
│   │   ├── _pager.scss
│   │   ├── _pagination.scss
│   │   ├── _panels.scss
│   │   ├── _popovers.scss
│   │   ├── _print.scss
│   │   ├── _progress-bars.scss
│   │   ├── _responsive-embed.scss
│   │   ├── _responsive-utilities.scss
│   │   ├── _scaffolding.scss
│   │   ├── _tables.scss
│   │   ├── _theme.scss
│   │   ├── _thumbnails.scss
│   │   ├── _tooltip.scss
│   │   ├── _type.scss
│   │   ├── _utilities.scss
│   │   ├── _variables.scss
│   │   ├── _wells.scss
│   │   └── mixins/
│   │       ├── _alerts.scss
│   │       ├── _background-variant.scss
│   │       ├── _border-radius.scss
│   │       ├── _buttons.scss
│   │       ├── _center-block.scss
│   │       ├── _clearfix.scss
│   │       ├── _forms.scss
│   │       ├── _gradients.scss
│   │       ├── _grid-framework.scss
│   │       ├── _grid.scss
│   │       ├── _hide-text.scss
│   │       ├── _image.scss
│   │       ├── _labels.scss
│   │       ├── _list-group.scss
│   │       ├── _nav-divider.scss
│   │       ├── _nav-vertical-align.scss
│   │       ├── _opacity.scss
│   │       ├── _pagination.scss
│   │       ├── _panels.scss
│   │       ├── _progress-bar.scss
│   │       ├── _reset-filter.scss
│   │       ├── _reset-text.scss
│   │       ├── _resize.scss
│   │       ├── _responsive-visibility.scss
│   │       ├── _size.scss
│   │       ├── _tab-focus.scss
│   │       ├── _table-row.scss
│   │       ├── _text-emphasis.scss
│   │       ├── _text-overflow.scss
│   │       └── _vendor-prefixes.scss
│   ├── bootstrap2/
│   │   ├── accordion.less
│   │   ├── alerts.less
│   │   ├── bootstrap.less
│   │   ├── breadcrumbs.less
│   │   ├── button-groups.less
│   │   ├── buttons.less
│   │   ├── carousel.less
│   │   ├── close.less
│   │   ├── code.less
│   │   ├── component-animations.less
│   │   ├── dropdowns.less
│   │   ├── forms.less
│   │   ├── grid.less
│   │   ├── hero-unit.less
│   │   ├── labels-badges.less
│   │   ├── layouts.less
│   │   ├── media.less
│   │   ├── mixins.less
│   │   ├── modals.less
│   │   ├── navbar.less
│   │   ├── navs.less
│   │   ├── pager.less
│   │   ├── pagination.less
│   │   ├── popovers.less
│   │   ├── progress-bars.less
│   │   ├── reset.less
│   │   ├── responsive-1200px-min.less
│   │   ├── responsive-767px-max.less
│   │   ├── responsive-768px-979px.less
│   │   ├── responsive-navbar.less
│   │   ├── responsive-utilities.less
│   │   ├── responsive.less
│   │   ├── scaffolding.less
│   │   ├── sprites.less
│   │   ├── tables.less
│   │   ├── tests/
│   │   │   ├── buttons.html
│   │   │   ├── css-tests.css
│   │   │   ├── css-tests.html
│   │   │   ├── forms-responsive.html
│   │   │   ├── forms.html
│   │   │   ├── navbar-fixed-top.html
│   │   │   ├── navbar-static-top.html
│   │   │   └── navbar.html
│   │   ├── thumbnails.less
│   │   ├── tooltip.less
│   │   ├── type.less
│   │   ├── utilities.less
│   │   ├── variables.less
│   │   └── wells.less
│   ├── bootstrap3/
│   │   ├── alerts.less
│   │   ├── badges.less
│   │   ├── bootstrap.less
│   │   ├── breadcrumbs.less
│   │   ├── button-groups.less
│   │   ├── buttons.less
│   │   ├── carousel.less
│   │   ├── close.less
│   │   ├── code.less
│   │   ├── component-animations.less
│   │   ├── dropdowns.less
│   │   ├── forms.less
│   │   ├── glyphicons.less
│   │   ├── grid.less
│   │   ├── input-groups.less
│   │   ├── jumbotron.less
│   │   ├── labels.less
│   │   ├── list-group.less
│   │   ├── media.less
│   │   ├── mixins/
│   │   │   ├── alerts.less
│   │   │   ├── background-variant.less
│   │   │   ├── border-radius.less
│   │   │   ├── buttons.less
│   │   │   ├── center-block.less
│   │   │   ├── clearfix.less
│   │   │   ├── forms.less
│   │   │   ├── gradients.less
│   │   │   ├── grid-framework.less
│   │   │   ├── grid.less
│   │   │   ├── hide-text.less
│   │   │   ├── image.less
│   │   │   ├── labels.less
│   │   │   ├── list-group.less
│   │   │   ├── nav-divider.less
│   │   │   ├── nav-vertical-align.less
│   │   │   ├── opacity.less
│   │   │   ├── pagination.less
│   │   │   ├── panels.less
│   │   │   ├── progress-bar.less
│   │   │   ├── reset-filter.less
│   │   │   ├── reset-text.less
│   │   │   ├── resize.less
│   │   │   ├── responsive-visibility.less
│   │   │   ├── size.less
│   │   │   ├── tab-focus.less
│   │   │   ├── table-row.less
│   │   │   ├── text-emphasis.less
│   │   │   ├── text-overflow.less
│   │   │   └── vendor-prefixes.less
│   │   ├── mixins.less
│   │   ├── modals.less
│   │   ├── navbar.less
│   │   ├── navs.less
│   │   ├── normalize.less
│   │   ├── pager.less
│   │   ├── pagination.less
│   │   ├── panels.less
│   │   ├── popovers.less
│   │   ├── print.less
│   │   ├── progress-bars.less
│   │   ├── responsive-embed.less
│   │   ├── responsive-utilities.less
│   │   ├── scaffolding.less
│   │   ├── tables.less
│   │   ├── theme.less
│   │   ├── thumbnails.less
│   │   ├── tooltip.less
│   │   ├── type.less
│   │   ├── utilities.less
│   │   ├── variables.less
│   │   └── wells.less
│   ├── bootstrap4/
│   │   ├── _alert.scss
│   │   ├── _badge.scss
│   │   ├── _breadcrumb.scss
│   │   ├── _button-group.scss
│   │   ├── _buttons.scss
│   │   ├── _card.scss
│   │   ├── _carousel.scss
│   │   ├── _close.scss
│   │   ├── _code.scss
│   │   ├── _custom-forms.scss
│   │   ├── _dropdown.scss
│   │   ├── _forms.scss
│   │   ├── _functions.scss
│   │   ├── _grid.scss
│   │   ├── _images.scss
│   │   ├── _input-group.scss
│   │   ├── _jumbotron.scss
│   │   ├── _list-group.scss
│   │   ├── _media.scss
│   │   ├── _mixins.scss
│   │   ├── _modal.scss
│   │   ├── _nav.scss
│   │   ├── _navbar.scss
│   │   ├── _pagination.scss
│   │   ├── _popover.scss
│   │   ├── _print.scss
│   │   ├── _progress.scss
│   │   ├── _reboot.scss
│   │   ├── _root.scss
│   │   ├── _spinners.scss
│   │   ├── _tables.scss
│   │   ├── _toasts.scss
│   │   ├── _tooltip.scss
│   │   ├── _transitions.scss
│   │   ├── _type.scss
│   │   ├── _utilities.scss
│   │   ├── _variables.scss
│   │   ├── bootstrap-grid.scss
│   │   ├── bootstrap-reboot.scss
│   │   ├── bootstrap.scss
│   │   ├── mixins/
│   │   │   ├── _alert.scss
│   │   │   ├── _background-variant.scss
│   │   │   ├── _badge.scss
│   │   │   ├── _border-radius.scss
│   │   │   ├── _box-shadow.scss
│   │   │   ├── _breakpoints.scss
│   │   │   ├── _buttons.scss
│   │   │   ├── _caret.scss
│   │   │   ├── _clearfix.scss
│   │   │   ├── _deprecate.scss
│   │   │   ├── _float.scss
│   │   │   ├── _forms.scss
│   │   │   ├── _gradients.scss
│   │   │   ├── _grid-framework.scss
│   │   │   ├── _grid.scss
│   │   │   ├── _hover.scss
│   │   │   ├── _image.scss
│   │   │   ├── _list-group.scss
│   │   │   ├── _lists.scss
│   │   │   ├── _nav-divider.scss
│   │   │   ├── _pagination.scss
│   │   │   ├── _reset-text.scss
│   │   │   ├── _resize.scss
│   │   │   ├── _screen-reader.scss
│   │   │   ├── _size.scss
│   │   │   ├── _table-row.scss
│   │   │   ├── _text-emphasis.scss
│   │   │   ├── _text-hide.scss
│   │   │   ├── _text-truncate.scss
│   │   │   ├── _transition.scss
│   │   │   └── _visibility.scss
│   │   ├── utilities/
│   │   │   ├── _align.scss
│   │   │   ├── _background.scss
│   │   │   ├── _borders.scss
│   │   │   ├── _clearfix.scss
│   │   │   ├── _display.scss
│   │   │   ├── _embed.scss
│   │   │   ├── _flex.scss
│   │   │   ├── _float.scss
│   │   │   ├── _interactions.scss
│   │   │   ├── _overflow.scss
│   │   │   ├── _position.scss
│   │   │   ├── _screenreaders.scss
│   │   │   ├── _shadows.scss
│   │   │   ├── _sizing.scss
│   │   │   ├── _spacing.scss
│   │   │   ├── _stretched-link.scss
│   │   │   ├── _text.scss
│   │   │   └── _visibility.scss
│   │   └── vendor/
│   │       └── _rfs.scss
│   └── bootstrap5/
│       ├── _accordion.scss
│       ├── _alert.scss
│       ├── _badge.scss
│       ├── _breadcrumb.scss
│       ├── _button-group.scss
│       ├── _buttons.scss
│       ├── _card.scss
│       ├── _carousel.scss
│       ├── _close.scss
│       ├── _containers.scss
│       ├── _dropdown.scss
│       ├── _forms.scss
│       ├── _functions.scss
│       ├── _grid.scss
│       ├── _helpers.scss
│       ├── _images.scss
│       ├── _list-group.scss
│       ├── _maps.scss
│       ├── _mixins.scss
│       ├── _modal.scss
│       ├── _nav.scss
│       ├── _navbar.scss
│       ├── _offcanvas.scss
│       ├── _pagination.scss
│       ├── _placeholders.scss
│       ├── _popover.scss
│       ├── _progress.scss
│       ├── _reboot.scss
│       ├── _root.scss
│       ├── _spinners.scss
│       ├── _tables.scss
│       ├── _toasts.scss
│       ├── _tooltip.scss
│       ├── _transitions.scss
│       ├── _type.scss
│       ├── _utilities.scss
│       ├── _variables.scss
│       ├── bootstrap-grid.scss
│       ├── bootstrap-reboot.scss
│       ├── bootstrap-utilities.scss
│       ├── bootstrap.scss
│       ├── forms/
│       │   ├── _floating-labels.scss
│       │   ├── _form-check.scss
│       │   ├── _form-control.scss
│       │   ├── _form-range.scss
│       │   ├── _form-select.scss
│       │   ├── _form-text.scss
│       │   ├── _input-group.scss
│       │   ├── _labels.scss
│       │   └── _validation.scss
│       ├── helpers/
│       │   ├── _clearfix.scss
│       │   ├── _color-bg.scss
│       │   ├── _colored-links.scss
│       │   ├── _position.scss
│       │   ├── _ratio.scss
│       │   ├── _stacks.scss
│       │   ├── _stretched-link.scss
│       │   ├── _text-truncation.scss
│       │   ├── _visually-hidden.scss
│       │   └── _vr.scss
│       ├── mixins/
│       │   ├── _alert.scss
│       │   ├── _backdrop.scss
│       │   ├── _banner.scss
│       │   ├── _border-radius.scss
│       │   ├── _box-shadow.scss
│       │   ├── _breakpoints.scss
│       │   ├── _buttons.scss
│       │   ├── _caret.scss
│       │   ├── _clearfix.scss
│       │   ├── _color-scheme.scss
│       │   ├── _container.scss
│       │   ├── _deprecate.scss
│       │   ├── _forms.scss
│       │   ├── _gradients.scss
│       │   ├── _grid.scss
│       │   ├── _image.scss
│       │   ├── _list-group.scss
│       │   ├── _lists.scss
│       │   ├── _pagination.scss
│       │   ├── _reset-text.scss
│       │   ├── _resize.scss
│       │   ├── _table-variants.scss
│       │   ├── _text-truncate.scss
│       │   ├── _transition.scss
│       │   ├── _utilities.scss
│       │   └── _visually-hidden.scss
│       ├── utilities/
│       │   └── _api.scss
│       └── vendor/
│           └── _rfs.scss
├── package.json
├── src/
│   ├── constants.js
│   ├── contrib/
│   │   ├── highlight.js
│   │   ├── microevent.js
│   │   ├── microplugin.js
│   │   ├── nanoid.js
│   │   └── sifter.js
│   ├── defaults.js
│   ├── less/
│   │   ├── selectize.bootstrap2.less
│   │   ├── selectize.bootstrap3.less
│   │   ├── selectize.default.less
│   │   └── selectize.less
│   ├── plugins/
│   │   ├── auto_position/
│   │   │   ├── plugin.js
│   │   │   ├── plugin.less
│   │   │   └── plugin.scss
│   │   ├── auto_select_on_type/
│   │   │   └── plugin.js
│   │   ├── autofill_disable/
│   │   │   └── plugin.js
│   │   ├── clear_button/
│   │   │   ├── plugin.js
│   │   │   ├── plugin.less
│   │   │   └── plugin.scss
│   │   ├── drag_drop/
│   │   │   ├── plugin.js
│   │   │   ├── plugin.less
│   │   │   └── plugin.scss
│   │   ├── dropdown_header/
│   │   │   ├── plugin.js
│   │   │   ├── plugin.less
│   │   │   └── plugin.scss
│   │   ├── optgroup_columns/
│   │   │   ├── plugin.js
│   │   │   ├── plugin.less
│   │   │   └── plugin.scss
│   │   ├── read-only/
│   │   │   └── plugin.js
│   │   ├── remove_button/
│   │   │   ├── plugin.js
│   │   │   ├── plugin.less
│   │   │   └── plugin.scss
│   │   ├── restore_on_backspace/
│   │   │   └── plugin.js
│   │   ├── select_on_focus/
│   │   │   └── plugin.js
│   │   └── tag_limit/
│   │       └── plugin.js
│   ├── scss/
│   │   ├── selectize.bootstrap3.scss
│   │   ├── selectize.bootstrap4.scss
│   │   ├── selectize.bootstrap5.scss
│   │   ├── selectize.default.scss
│   │   └── selectize.scss
│   ├── selectize.jquery.js
│   ├── selectize.js
│   └── utils.js
└── test/
    ├── api.js
    ├── events.js
    ├── events_dom.js
    ├── interaction.js
    ├── microplugin.js
    ├── setup.js
    ├── sifter.js
    ├── support/
    │   ├── base.js
    │   └── syn.js
    └── xss.js

================================================
FILE CONTENTS
================================================

================================================
FILE: .browserslistrc
================================================
[production]
defaults
> 5% in US
last 2 versions
Firefox ESR
iOS >= 12

[development]
last 1 version


================================================
FILE: .editorconfig
================================================
# editorconfig.org

root = true

[*]
charset = utf-8
end_of_line = lf
indent_size = 2
indent_style = space
insert_final_newline = true
trim_trailing_whitespace = true


================================================
FILE: .github/FUNDING.yml
================================================
# These are supported funding model platforms

github: [risadams]
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: # Replace with a single Ko-fi username
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: # Replace with a single Liberapay username
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']


================================================
FILE: .github/ISSUE_TEMPLATE.md
================================================
Welcome to the Selectize bug tracker. Thank you for taking the time to
make Selectize a better library!

Please keep in mind this repository has an important issue backlog and
that maintainers have limited time to fix issues, triage, and understand
them.

If you've never done so, please read the
[guide to reporting issues](https://github.com/selectize/selectize.js/wiki/Reporting-issues-guide)
in the Wiki to help us better understand your issue.

Place an `x` in the checklist steps (`[ ]` becomes `[x]`) to demonstrate
you have done/verified all the steps you needed to do.

Thank you for reading this! You can now erase everything up to the
following dashes, and then complete what's after.

ISSUES THAT EITHER:

* IGNORE THE ISSUE GUIDELINES
* ERASE THE FOLLOWING TEMPLATE
* DON'T FOLLOW THE PROPER NUMBERED FORMAT FOR STEPS TO REPRODUCE

COULD BE CLOSED.

---

I did:

* [ ] Search for if my issue has already been submitted
* [ ] Make sure I'm reporting something precise that needs to be fixed
* [ ] Give my issue a descriptive and concise title
* [ ] Create a *minimal* working example on JsFiddle or Codepen
	(or gave a link to a demo on the Selectize docs)
* [ ] Indicate *precise* steps to reproduce in *numbers* and the result,
	  like below

[replace me with a short description of issue]

Steps to reproduce:

1.
2.
3.

Expected result:

Actual result:

[you can add explanations here of the context/what you were trying to
do, and if you have findings about what the cause might be]


================================================
FILE: .github/codeql/codeql-config.yml
================================================
paths:
  - src
  - dist
paths-ignore:
  - docs
  - examples
  - test


================================================
FILE: .github/dependabot.yml
================================================
# To get started with Dependabot version updates, you'll need to specify which
# package ecosystems to update and where the package manifests are located.
# Please see the documentation for all configuration options:
# https://help.github.com/github/administering-a-repository/configuration-options-for-dependency-updates

version: 2
updates:
  - package-ecosystem: "npm" # See documentation for possible values
    directory: "/" # Location of package manifests
    schedule:
      interval: "daily"
    labels:
      - "npm"
      - "dependencies"

  - package-ecosystem: "github-actions"
    directory: "/"
    schedule:
      # Check for updates to GitHub Actions every weekday
      interval: "daily"


================================================
FILE: .github/workflows/UpdateContributors.yml
================================================
name: Update Contributors
on:
  schedule:
    - cron: "0 0 1 * *"
  workflow_dispatch:
jobs:
  main:
    runs-on: ubuntu-latest
    steps:
      - uses: risadams/contributors-update@v3.1.1
        with:
          repo: selectize/selectize.js
          output: CONTRIBUTORS.md
          exclude_bots: true
      - name: Commit changes
        uses: test-room-7/action-update-file@v1
        with:
          file-path: CONTRIBUTORS.md
          commit-msg: Update Contributors
          github-token: ${{ secrets.GITHUB_TOKEN }}


================================================
FILE: .github/workflows/codeql-analysis.yml
================================================
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
  push:
    branches: [ master ]
  pull_request:
    # The branches below must be a subset of the branches above
    branches: [ master ]
  schedule:
    - cron: '20 7 * * 0'

jobs:
  analyze:
    name: Analyze
    runs-on: ubuntu-latest
    permissions:
      actions: read
      contents: read
      security-events: write

    strategy:
      fail-fast: false
      matrix:
        language: [ 'javascript' ]
        # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
        # Learn more:
        # https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed

    steps:
    - name: Checkout repository
      uses: actions/checkout@v3

    # Initializes the CodeQL tools for scanning.
    - name: Initialize CodeQL
      uses: github/codeql-action/init@v2
      with:
        config-file: ./.github/codeql/codeql-config.yml
        languages: ${{ matrix.language }}
        # If you wish to specify custom queries, you can do so here or in a config file.
        # By default, queries listed here will override any specified in a config file.
        # Prefix the list here with "+" to use these queries and those in the config file.
        # queries: ./path/to/local/query, your-org/your-repo/queries@main

    # Autobuild attempts to build any compiled languages  (C/C++, C#, or Java).
    # If this step fails, then you should remove it and run the build manually (see below)
    - name: Autobuild
      uses: github/codeql-action/autobuild@v2

    # ℹ️ Command-line programs to run using the OS shell.
    # 📚 https://git.io/JvXDl

    # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
    #    and modify them (or add more) to build your code if your project
    #    uses a compiled language

    #- run: |
    #   make bootstrap
    #   make release

    - name: Perform CodeQL Analysis
      uses: github/codeql-action/analyze@v2


================================================
FILE: .github/workflows/node.js.yml
================================================
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions

name: Node.js CI

on:
  workflow_dispatch:
  push:
  pull_request:
jobs:
  build:
    runs-on: ubuntu-latest

    strategy:
      matrix:
        node-version: [16.x, 18.x, 19.x]
        os: [ubuntu-latest, windows-latest]

    steps:
      - uses: actions/checkout@v3
      - name: Use Node.js ${{ matrix.node-version }}
        uses: actions/setup-node@v3
        with:
          node-version: ${{ matrix.node-version }}          
      - run: npm ci
      - run: npm run build --if-present
      - run: npm test


================================================
FILE: .github/workflows/stale.yml
================================================
name: Mark stale issues and pull requests

on:
  schedule:
  - cron: "30 1 * * *"

jobs:
  stale:

    runs-on: ubuntu-latest

    steps:
    - uses: actions/stale@v7
      with:
        repo-token: ${{ secrets.GITHUB_TOKEN }}
        stale-issue-message: 'This issue is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 5 days'
        stale-pr-message: 'This pull request is stale because it has been open 90 days with no activity. Remove stale label or comment or this will be closed in 5 days'
        stale-issue-label: 'no-issue-activity'
        stale-pr-label: 'no-pr-activity'
        exempt-issue-labels: 'awaiting-approval,work-in-progress,pending review,discussion'
        exempt-pr-labels: 'awaiting-approval,work-in-progress,pending review,discussion'
        days-before-stale: 120
        days-before-close: 15


================================================
FILE: .gitignore
================================================
.DS_Store
.DAV
node_modules
bower_components
*.log
.vscode
build
coverage/
_site/


================================================
FILE: .npmrc
================================================
fund=false


================================================
FILE: CHANGELOG.md
================================================
# Changelog

<!-- Feel free to put either your handle and/or full name, according to
     your privacy needs -->

## v0.15.1 · 17 11 2022

- New feature: dynamically add option groups
  _@jackbentley_

## v0.15.0 · 14 11 2022

### Breaking changes

- The distribution files no longer include a _standalone_ version. The files in the `dist/js` folder are now standalone by default. If you previously referenced files from the `dist/js/standalone` folder you will need to update your references to `dist/js`.
- We have always included all plugins in the distributions files, but no longer provide a way to exclude them from the build.
- We now build the distribution files using `Gulp` instead of `Grunt`
- the `NPM` package now includes the `dist` folder only. If you previously referenced source files directly you will need to update your references to `dist/js/selectize.js` or `dist/js/selectize.min.js`.

## v0.14.0 · 02 10 2022

- _Breaking change:_ Removed the dependencies on MicroPlugin and Sifter - These are now included in the selectize package directly.

- Fixed missing style for dropdown*header plugin [*@fabienwnklr\_](https://github.com/fabienwnklr)
- Fixed ([#1818](https://github.com/selectize/selectize.js/issues/1818)) Scroll left when I click on a selectized item and page is scrolled right [_@fabienwnklr_](https://github.com/fabienwnklr)
- Added option to enable setting the first option in the list as active.

  _@joshuan92_

## v0.13.0 · 03 11 2020

- Support for Bootstrap v4.x.
  - Adding SASS styles, LESS styles still available for bootstrap 2.x
- Fixed bug (#851) for placeholder text clipping
- Fixed bug (#870) for remove button plugin closing bootstrap modals

  _@risadams_

## v0.12.4, v0.12.5 · 27 June 2018

- Allow the dropdown to reopen on click if it is closed without losing focus
  by closeAfterSelect: true

  _@fishpercolator_

- Fixed bug making `clearOptions` function. Now it doesn't remove already selected options.

  _(thanks @caseymct - #1079)_

- New feature: allow to disable single options or complete optgroups

  _@zeitiger_

## v0.12.3 · 24 August 2016

- Make `label[for]` work after applying Selectize (#755)

  _Barrett Sonntag_ (@barretts)

- Output friendly error message when Microplguin is missing (#1137).
  Special thanks to @styxxx for proposing the improvement.

- Add local server command `grunt server`.

- Stop creating items automatically when text is pasted, only create
  them when pasted text contains delimiter.

- Fix regression 'Required fields can not be focusable' in Chrome
  (#733)

- Fix detection of Validity API, we had false negatives before.

  _Jonathan Allard_ (@joallard)

- Fix open keyboard bug under iOS after closing selection (#1127)

  _@zeitiger_

- Fix highlighting more than one character (#1099, #1098)

  _@skimi_

## v0.12.2 · 23 June 2016

- Fix issue preventing build ("Cannot assign to read only property
  'subarray'") because of bug in uglifyjs. (#1072)

  _@jaridmargolin_

- Fix tabbing issue (#877) on IE11. (#997)

  _@bwilson-ux_

- Fix jQuery initialization for jQuery >= 1.9 (#1045)

  _@mpokrywka_

- Make `remove_button` work for single-option usage (#848)

  _@ChoppyThing_

- Fixed bug that made `allowEmptyOption: true` useless (#739)

  _@mcavalletto_

- Functions in option `render` can now return a DOM node in addition to
  text. (#617)

  _@topaxi_


================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Covenant Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our
community a harassment-free experience for everyone, regardless of age, body
size, visible or invisible disability, ethnicity, sex characteristics, gender
identity and expression, level of experience, education, socio-economic status,
nationality, personal appearance, race, religion, or sexual identity
and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming,
diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment for our
community include:

* Demonstrating empathy and kindness toward other people
* Being respectful of differing opinions, viewpoints, and experiences
* Giving and gracefully accepting constructive feedback
* Accepting responsibility and apologizing to those affected by our mistakes,
  and learning from the experience
* Focusing on what is best not just for us as individuals, but for the
  overall community

Examples of unacceptable behavior include:

* The use of sexualized language or imagery, and sexual attention or
  advances of any kind
* Trolling, insulting or derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or email
  address, without their explicit permission
* Other conduct which could reasonably be considered inappropriate in a
  professional setting

## Enforcement Responsibilities

Community leaders are responsible for clarifying and enforcing our standards of
acceptable behavior and will take appropriate and fair corrective action in
response to any behavior that they deem inappropriate, threatening, offensive,
or harmful.

Community leaders have the right and responsibility to remove, edit, or reject
comments, commits, code, wiki edits, issues, and other contributions that are
not aligned to this Code of Conduct, and will communicate reasons for moderation
decisions when appropriate.

## Scope

This Code of Conduct applies within all community spaces, and also applies when
an individual is officially representing the community in public spaces.
Examples of representing our community include using an official e-mail address,
posting via an official social media account, or acting as an appointed
representative at an online or offline event.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported to the community leaders responsible for enforcement at
https://keybase.io/team/selectize.
All complaints will be reviewed and investigated promptly and fairly.

All community leaders are obligated to respect the privacy and security of the
reporter of any incident.

## Enforcement Guidelines

Community leaders will follow these Community Impact Guidelines in determining
the consequences for any action they deem in violation of this Code of Conduct:

### 1. Correction

**Community Impact**: Use of inappropriate language or other behavior deemed
unprofessional or unwelcome in the community.

**Consequence**: A private, written warning from community leaders, providing
clarity around the nature of the violation and an explanation of why the
behavior was inappropriate. A public apology may be requested.

### 2. Warning

**Community Impact**: A violation through a single incident or series
of actions.

**Consequence**: A warning with consequences for continued behavior. No
interaction with the people involved, including unsolicited interaction with
those enforcing the Code of Conduct, for a specified period of time. This
includes avoiding interactions in community spaces as well as external channels
like social media. Violating these terms may lead to a temporary or
permanent ban.

### 3. Temporary Ban

**Community Impact**: A serious violation of community standards, including
sustained inappropriate behavior.

**Consequence**: A temporary ban from any sort of interaction or public
communication with the community for a specified period of time. No public or
private interaction with the people involved, including unsolicited interaction
with those enforcing the Code of Conduct, is allowed during this period.
Violating these terms may lead to a permanent ban.

### 4. Permanent Ban

**Community Impact**: Demonstrating a pattern of violation of community
standards, including sustained inappropriate behavior,  harassment of an
individual, or aggression toward or disparagement of classes of individuals.

**Consequence**: A permanent ban from any sort of public interaction within
the community.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage],
version 2.0, available at
https://www.contributor-covenant.org/version/2/0/code_of_conduct.html.

Community Impact Guidelines were inspired by [Mozilla's code of conduct
enforcement ladder](https://github.com/mozilla/diversity).

[homepage]: https://www.contributor-covenant.org

For answers to common questions about this code of conduct, see the FAQ at
https://www.contributor-covenant.org/faq. Translations are available at
https://www.contributor-covenant.org/translations.


================================================
FILE: CONTRIBUTING.md
================================================
# Contributing to Selectize

First off, thanks for taking the time to contribute! ❤️

All types of contributions are encouraged and valued. See the [Table of Contents](#table-of-contents) for different ways to help and details about how this project handles them. Please make sure to read the relevant section before making your contribution. It will make it easier for us maintainers and smooth out the experience for all involved. The community looks forward to your contributions. 🎉

> And if you like the project, but just don't have time to contribute, that's fine. There are other easy ways to support the project and show your appreciation, which we would also be very happy about:
>
> - Star the project
> - Sponsor the project and/or individual contributors
> - Tweet about it
> - Refer this project in your project's readme
> - Mention the project at local meetups and tell your friends/colleagues

## Table of Contents

- [Code of Conduct](#code-of-conduct)
- [I Have a Question](#i-have-a-question)
- [I Want To Contribute](#i-want-to-contribute)
- [Reporting Bugs](#reporting-bugs)
- [Suggesting Enhancements](#suggesting-enhancements)
- [Your First Code Contribution](#your-first-code-contribution)
- [Improving The Documentation](#improving-the-documentation)
- [Commit Messages](#commit-messages)

## Code of Conduct

This project and everyone participating in it is governed by the
[Selectize Code of Conduct](CODE_OF_CONDUCT.md).
By participating, you are expected to uphold this code. Please report unacceptable behavior
to the [maintainers](selectize@risadams.com).

## I Have a Question

> If you want to ask a question, we assume that you have read the available [Documentation](https://selectize.dev).

Before you ask a question, it is best to search for existing [Issues](https://github.com/selectize/selectize.js/issues) that might help you. In case you have found a suitable issue and still need clarification, you can write your question in this issue. It is also advisable to search the internet for answers first.

If you then still feel the need to ask a question and need clarification, we recommend the following:

- Open an [Issue](https://github.com/selectize/selectize.js/issues/new).
- Provide as much context as you can about what you're running into.
- Provide project and platform versions (nodejs, npm, etc), depending on what seems relevant.

We will then take care of the issue as soon as possible.

## I Want To Contribute

> ### Legal Notice
>
> When contributing to this project, you must agree that you have authored 100% of the content, that you have the necessary rights to the content and that the content you contribute may be provided under the project license.

### Reporting Bugs

#### Before Submitting a Bug Report

A good bug report shouldn't leave others needing to chase you up for more information. Therefore, we ask you to investigate carefully, collect information and describe the issue in detail in your report. Please complete the following steps in advance to help us fix any potential bug as fast as possible.

- Make sure that you are using the latest version.
- Determine if your bug is really a bug and not an error on your side e.g. using incompatible environment components/versions (Make sure that you have read the [documentation](https://selectize.dev). If you are looking for support, you might want to check [this section](#i-have-a-question)).
- To see if other users have experienced (and potentially already solved) the same issue you are having, check if there is not already a bug report existing for your bug or error in the [bug tracker](https://github.com/selectize/selectize.jsissues?q=label%3Abug).
- Make sure to search the internet (including Stack Overflow) to see if users outside of the GitHub community have discussed the issue.
- Collect information about the bug:
  - Stack trace (Traceback)
  - OS, Platform and Version (Windows, Linux, macOS, x86, ARM)
  - Version of the interpreter, compiler, SDK, runtime environment, package manager, depending on what seems relevant.
- Possibly your input and the output
- Can you reliably reproduce the issue? And can you also reproduce it with older versions?

#### How Do I Submit a Good Bug Report?

> You must never report security related issues, vulnerabilities or bugs including sensitive information to the issue tracker, or elsewhere in public. Instead sensitive bugs must be sent by email to .

We use GitHub issues to track bugs and errors. If you run into an issue with the project:

- Open an [Issue](https://github.com/selectize/selectize.js/issues/new). (Since we can't be sure at this point whether it is a bug or not, we ask you not to talk about a bug yet and not to label the issue.)
- Explain the behavior you would expect and the actual behavior.
- Please provide as much context as possible and describe the _reproduction steps_ that someone else can follow to recreate the issue on their own. This usually includes your code. For good bug reports you should isolate the problem and create a reduced test case.
- Provide the information you collected in the previous section.

Once it's filed:

- The project team will label the issue accordingly.
- A team member will try to reproduce the issue with your provided steps. If there are no reproduction steps or no obvious way to reproduce the issue, the team will ask you for those steps and mark the issue as `needs-repro`. Bugs with the `needs-repro` tag will not be addressed until they are reproduced.
- If the team can reproduce the issue, it will be marked `needs-fix`, as well as possibly other tags (such as `critical`), and the issue will be left to be [implemented by someone](#your-first-code-contribution).

### Suggesting Enhancements

This section guides you through submitting an enhancement suggestion for Selectize, **including entirely new features and minor improvements to existing functionality**. Following these guidelines will help maintainers and the community to understand your request and find related suggestions.

#### Before Submitting an Enhancement

- Make sure that you are using the latest version.
- Read the [documentation](https://selectize.dev) carefully and find out if the functionality is already covered, maybe by an individual configuration.
- Perform a [search](https://github.com/selectize/selectize.js/issues) to see if the enhancement has already been suggested. If it has, add a comment to the existing issue instead of opening a new one.
- Find out whether your idea fits with the scope and aims of the project. It's up to you to make a strong case to convince the project's developers of the merits of this feature. Keep in mind that we want features that will be useful to the majority of our users and not just a small subset. If you're just targeting a minority of users, consider writing an add-on/plugin library.

#### How Do I Submit a Good Enhancement Suggestion?

Enhancement suggestions are tracked as [GitHub issues](https://github.com/selectize/selectize.js/issues).

- Use a **clear and descriptive title** for the issue to identify the suggestion.
- Provide a **step-by-step description of the suggested enhancement** in as many details as possible.
- **Describe the current behavior** and **explain which behavior you expected to see instead** and why. At this point, you can also tell which alternatives do not work for you.
- You may want to **include screenshots and animated GIFs** which help you demonstrate the steps or point out the part to which the suggestion is related. You can use [this tool](https://www.cockos.com/licecap/) to record GIFs on macOS and Windows and [this tool](https://github.com/colinkeenan/silentcast) or [this tool](https://github.com/GNOME/byzanz) on Linux. <!-- this should only be included if the project has a GUI -->
- **Explain why this enhancement would be useful** to most Selectize users. You may also want to point out the other projects that solved it better and which could serve as inspiration.

### Your First Code Contribution

#### Build from source

Compile Javascript, SCSS and LESS in the `/src` directory to JavaScript and CSS in the `/build` directory.

Running `make` will build the project, run all tests, and update the distribution files in `/dist`.

#### Local Environment

Running `npm start` on your repo will start a web server allowing you to view a local copy of this documentation, where you can test your changes against our example pages.

If you are adding a new plugin, you should add a corresponding example page to the `/docs/docs/plugins` directory.

You can then run the examples at `https://loopback.website:4000/`.

### Improving The Documentation

### Commit Messages

Commit messages should be concise and descriptive and whenever possible reference the issue that they are addressing. They should follow the [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification.

### Pull Requests

If you're motivated to fix a bug or to develop a new feature, we'd love to see your code. When submitting pull requests, please remember the following:

- Make sure tests pass: Run `npm test` to make sure your changes don't break existing functionality
- Do not make changes to files in `/dist`. Limiting your edits to files in `/src` directories keeps the size of your pull request down and makes it easier for us to evaluate. We'll update the `/dist` folder after your pull request is approved.
- Add tests: In the best-case scenario, you are also adding tests to back up your changes, but don't sweat it if you don't. We can discuss them at a later date.
- Squash your commits together in one or a few complete, logical commits with a concise and descriptive message. One commit means one
  feature/bugfix/thing that has changed or a diff bringing the code one step forward to a better, working state.


================================================
FILE: CONTRIBUTORS.md
================================================
# Contributors

Thank you to our top contributors!

 - @[brianreavis](https://github.com/brianreavis)
 - @[risadams](https://github.com/risadams)
 - @[joallard](https://github.com/joallard)
 - @[fabienwnklr](https://github.com/fabienwnklr)
 - @[sjhewitt](https://github.com/sjhewitt)
 - @[rotdrop](https://github.com/rotdrop)
 - @[jhash](https://github.com/jhash)
 - @[Scottmitch](https://github.com/Scottmitch)
 - @[abhij89](https://github.com/abhij89)
 - @[parsonsmatt](https://github.com/parsonsmatt)
 - @[olegatro](https://github.com/olegatro)
 - @[Pictor13](https://github.com/Pictor13)
 - @[topaxi](https://github.com/topaxi)
 - @[comerc](https://github.com/comerc)
 - @[graingert](https://github.com/graingert)
 - @[roblevintennis](https://github.com/roblevintennis)
 - @[micahjon](https://github.com/micahjon)
 - @[marcandre](https://github.com/marcandre)
 - @[zeitiger](https://github.com/zeitiger)
 - @[mpokrywka](https://github.com/mpokrywka)
 - @[dosource](https://github.com/dosource)
 - @[ViktorQvarfordt](https://github.com/ViktorQvarfordt)
 - @[urban](https://github.com/urban)
 - @[TiuSh](https://github.com/TiuSh)
 - @[ryanwersal](https://github.com/ryanwersal)
 - @[reklatsmasters](https://github.com/reklatsmasters)
 - @[YoYuUm](https://github.com/YoYuUm)
 - @[paulkolbovich](https://github.com/paulkolbovich)


================================================
FILE: LICENSE
================================================

                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright 2013–2015 Brian Reavis & Contributors
   Copyright 2020 Ris Adams & Contributors

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.


================================================
FILE: Makefile
================================================
.PHONY: compile release test
GULP=node_modules/.bin/gulp
CURRENT_VERSION := $(shell sed -n '/"version":/{s/.*"version": "\([^"]*\)".*/\1/p;q}' package.json)
version ?= $(CURRENT_VERSION) ## Version to release

all: compile test ## (default) Run Compile and test targets
test: ## runs all tests (equivalent to `npm test`)
	npm test
compile: ## compile the project, update package versions if specified, installs dependencies, and builds the project
	npm i
	cd docs && npm i
	rm -rf dist
	$(GULP) loadDependencies
	npm run build
	$(GULP) docs
release: ## make release version=x.x.x -- commit, tag, and npm publish the specified version
ifeq ($(strip $(version)),)
	@echo "\033[31mERROR:\033[0;39m No version provided."
	@echo "\033[1;30mmake release version=1.0.0\033[0;39m"
else
	sed -i 's/"version": "[^"]*"/"version": "$(version)"/' package.json
	sed -i "s/\"version\": \"$(CURRENT_VERSION)\"/\"version\": \"$(version)\"/" package-lock.json
	make compile
	npm test || exit 1
	git add .
	git commit -a -m "Released $(version)."
	git tag v$(version)
	git push origin master
	git push origin --tags
	npm publish --access public
	@echo "\033[32mv${version} released\033[0;39m"
endif

help: ## show this help
	@sed -ne "s/^##\(.*\)/\1/p" $(MAKEFILE_LIST)
	@printf "────────────────────────`tput bold``tput setaf 2` Make Commands `tput sgr0`────────────────────────────────\n"
	@sed -ne "/@sed/!s/\(^[^#?=]*:\).*##\(.*\)/`tput setaf 2``tput bold`\1`tput sgr0`\2/p" $(MAKEFILE_LIST)
	@printf "────────────────────────`tput bold``tput setaf 4` Make Variables `tput sgr0`───────────────────────────────\n"
	@sed -ne "/@sed/!s/\(.*\)?=\(.*\)##\(.*\)/`tput setaf 4``tput bold`\1:`tput setaf 5`\2`tput sgr0`\3/p" $(MAKEFILE_LIST)
	@printf "───────────────────────────────────────────────────────────────────────\n"


================================================
FILE: README.md
================================================
# selectize.js

![Selectize.js](docs/static/img/selectize-wordmark.png)

→ Selectize is looking for [new members on the maintenance team](https://github.com/selectize/selectize.js/discussions/1678)!

[![NPM version](http://img.shields.io/npm/v/@selectize/selectize.svg?style=flat)](https://www.npmjs.com/package/@selectize/selectize)
[![CDNJS version](http://img.shields.io/cdnjs/v/selectize.js.svg?style=flat)](https://cdnjs.com/libraries/selectize.js)
\
![Node.js CI](https://github.com/selectize/selectize.js/workflows/Node.js%20CI/badge.svg)
\
[![Discussion & Help](https://img.shields.io/badge/Discuss-Keybase-cc004c?style=flat)](https://keybase.io/team/selectize)

Selectize is an extensible [jQuery](http://jquery.com/)-based custom `<select>`; UI control. It's useful for tagging, contact lists, country selectors, and so on. The goal is to provide a solid & usable experience with a clean and powerful API.

- [Demos](https://selectize.dev/docs/demos)
- [Changelog](https://github.com/selectize/selectize.js/releases)
- [Documentation](https://selectize.dev/docs/api)

## Features

- **Smart Option Searching / Ranking**
  Options are efficiently scored and sorted on-the-fly (using [sifter](https://github.com/brianreavis/sifter.js)). Want to search for an item's title _and_ description? No problem.
- **Caret between items**
  Order matters sometimes. Use the <kbd>&larr;</kbd> and <kbd>&rarr;</kbd> arrow keys to move between selected items.
- **Select & delete multiple items at once**
  Hold down <kbd>option</kbd> on Mac or <kbd>ctrl</kbd> on Windows to select more than one item to delete.
- **Díåcritîçs supported**
  Great for international environments.
- **Item creation**
  Allow users to create items on the fly (async saving is supported; the control locks until the callback is fired).
- **Remote data loading**
  For when you have thousands of options and want them provided by the server as the user types.
- **Clean API &amp; code**
  Interface with it and make modifications easily. Pull requests are always welcome!
- **Extensible**
  [Plugin API](docs/plugins.md) for developing custom features (uses [microplugin](https://github.com/brianreavis/microplugin.js)).
- **Touch Support**
  Plays nice with iOS 5+ devices.

### Dependencies

- [jquery](https://github.com/jquery/jquery) (1.7 and greater), as [peer dependency](https://nodejs.org/en/blog/npm/peer-dependencies/)
  - **Note:** it is installed automatically in development, or in projects using NPM 1 or 2. When using NPM from version 3 on, just a warning is thrown and the user needs to manually install an explicit version in their own project (e.g. `npm install --save jquery@3.5.1`).

**Optional:**

- [jquery-ui](https://github.com/jquery/jquery-ui) (required by `drag_drop` plugin)

### Installation

Selectize can be installed via NPM `npm install @selectize/selectize`

#### Installing Manually

All pre-built files needed to use Selectize can be found in the
["dist"](dist/) folder.

If you're looking to get started with minimal fuss, include
`selectize.min.js` (bundles Sifter and Microplugin
dependencies – also available un-minified for debugging, just remove the
`.min` part) and `css/selectize.default.css`.

Selectize is available at [cdnjs](https://cdnjs.com/libraries/selectize.js).

- [**js/**](dist/js)
  - [selectize.js](dist/js/selectize.js) — With dependencies, minus jquery
  - [selectize.min.js](dist/js/selectize.min.js) — With dependencies, minus jquery
- [**scss/**](dist/scss) — Sass source files for customization (Bootstrap 3+ compatible)
- [**less/**](dist/less) — Less source files for customization (Bootstrap 2/3 compatible)
- [**css/**](dist/css)
  - [selectize.css](dist/css/selectize.css) — Core styles
  - [selectize.default.css](dist/css/selectize.default.css) — Default theme (with core styles)
  - [selectize.bootstrap2.css](dist/css/selectize.bootstrap2.css) - Bootstrap 2 theme
  - [selectize.bootstrap3.css](dist/css/selectize.bootstrap3.css) - Bootstrap 3 theme
  - [selectize.bootstrap4.css](dist/css/selectize.bootstrap4.css) - Bootstrap 4 theme
  - [selectize.bootstrap5.css](dist/css/selectize.bootstrap5.css) - Bootstrap 5 theme

### Usage

```js
$("select").selectize(options);
```

The available options are [documented here](https://selectize.dev/docs/api).

### Contributing

When issuing a pull request:

- please **do not include/commit changes in the `dist/` or `lib/` folders** to avoid
  merge conflicts. A good way to include the right files is to use
  `git gui` or `git add` when committing to select the files you want to
  add to your commit.

- please **include tests** with your feature so that we're not tempted to
  break it in the future!

Add an entry to the top of the CHANGELOG, and update the documentation
in `docs/` as needed. (Refactors and documentation changes don't need a
changelog entry.)

Squash your commits together in one or a few complete, logical commits,
with a concise and descriptive message. One commit means one
feature/bugfix/thing that has changed, or a diff bringing the code one
step forward to a better, working state.

Once your commit is nice and clean, and you want to _discard the other
changes_, you can use `git checkout .` (that will erase changes to
tracked files) and `git clean [-i/--interactive]` (to erase untracked
files). **However, be careful with those commands, as their function
is to erase things/changes.**

However, be careful not to add the `dist/` files in your commit, as
Grunt automatically regenerates the files in `dist/` as the source is
changed.

#### Tests

Please ensure all the tests pass:

```sh
npm test # defaults to ChromHeadless
BROWSERS=Firefox npm test
BROWSERS=Firefox,Chrome npm test
BROWSERS=Firefox,Chrome,Safari npm test
```

#### Local environment

To run Selectize locally:

```sh
npm start
```

You can then run the examples at `https://loopback.website:4000/`.

## License

Copyright &copy; 2013–2016 [Brian Reavis](http://twitter.com/brianreavis) & [Contributors](https://github.com/selectize/selectize.js/graphs/contributors)\
Copyright &copy; 2020-2022 Selectize Team & [Contributors](https://github.com/selectize/selectize.js/graphs/contributors)

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at: <http://www.apache.org/licenses/LICENSE-2.0>

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.


================================================
FILE: SECURITY.md
================================================
# Security Policy

## Supported Versions

The following versions are currently being supported with security updates.

| Version  | Supported          |
| -------- | ------------------ |
| 0.15.x   | :white_check_mark: |
| 0.14.x   | :white_check_mark: |
| 0.13.x   | :white_check_mark: |
| 0.12.x   | :x:                |
| < 0.12.0 | :x:                |

## Reporting a Vulnerability

File an issue with details and create a pull request with proposed changes

- [Open an issue!](https://github.com/selectize/selectize.js/issues/new)


================================================
FILE: dist/css/selectize.bootstrap2.css
================================================
/**
 * Selectize (v0.15.2)
 * https://selectize.dev
 *
 * Copyright (c) 2013-2015 Brian Reavis & contributors
 * Copyright (c) 2020-2023 Selectize Team & contributors
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
 * file except in compliance with the License. You may obtain a copy of the License at:
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
 * ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 *
 * @author Brian Reavis <brian@thirdroute.com>
 * @author Ris Adams <selectize@risadams.com>
 */
.clearfix{*zoom:1}.clearfix:before,.clearfix:after{display:table;content:"";line-height:0}.clearfix:after{clear:both}.hide-text{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.input-block-level{display:block;width:100%;min-height:30px;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-control{position:relative}.selectize-dropdown,.selectize-input,.selectize-input input{color:#333;font-family:"Helvetica Neue",Helvetica,Arial,sans-serif;font-size:14px;line-height:20px;-webkit-font-smoothing:inherit}.selectize-input,.selectize-control.single .selectize-input.input-active{background:#fff;cursor:text;display:inline-block}.selectize-input{border:1px solid #d0d0d0;padding:7px 10px;display:inline-block;width:100%;overflow:hidden;position:relative;z-index:1;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:none;box-shadow:none;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.selectize-control.multi .selectize-input.has-items{padding:5px 10px 2px}.selectize-input.full{background-color:#fff}.selectize-input.disabled,.selectize-input.disabled *{cursor:default !important}.selectize-input.focus{-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.15);box-shadow:inset 0 1px 2px rgba(0,0,0,0.15)}.selectize-input.dropdown-active{-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.selectize-input>*{vertical-align:baseline;display:-moz-inline-stack;display:inline-block;zoom:1;*display:inline}.selectize-control.multi .selectize-input>div{cursor:pointer;margin:0 3px 3px 0;padding:1px 3px;background:#e6e6e6;color:#333;border:1px solid #ccc}.selectize-control.multi .selectize-input>div.active{background:#08c;color:#fff;border:1px solid #0077b3}.selectize-control.multi .selectize-input.disabled>div,.selectize-control.multi .selectize-input.disabled>div.active{color:#474747;background:#fafafa;border:1px solid #e0e0e0}.selectize-input>input{display:inline-block !important;padding:0 !important;min-height:0 !important;max-height:none !important;max-width:100% !important;margin:0 !important;text-indent:0 !important;border:0 none !important;background:none !important;line-height:inherit !important;-webkit-user-select:auto !important;-webkit-box-shadow:none !important;box-shadow:none !important}.selectize-input>input::-ms-clear{display:none}.selectize-input>input:focus{outline:none !important}.selectize-input>input[placeholder]{box-sizing:initial}.selectize-input::after{content:' ';display:block;clear:left}.selectize-input.dropdown-active::before{content:' ';display:block;position:absolute;background:#e5e5e5;height:1px;bottom:0;left:0;right:0}.selectize-dropdown{position:absolute;z-index:10;border:1px solid #ccc;background:#fff;margin:-1px 0 0 0;border-top:0 none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;-webkit-box-shadow:0 1px 3px rgba(0,0,0,0.1);box-shadow:0 1px 3px rgba(0,0,0,0.1);-webkit-border-radius:0 0 4px 4px;-moz-border-radius:0 0 4px 4px;border-radius:0 0 4px 4px}.selectize-dropdown [data-selectable]{cursor:pointer;overflow:hidden}.selectize-dropdown [data-selectable] .highlight{background:rgba(255,237,40,0.4);-webkit-border-radius:1px;-moz-border-radius:1px;border-radius:1px}.selectize-dropdown .option,.selectize-dropdown .optgroup-header{padding:3px 10px}.selectize-dropdown .option,.selectize-dropdown [data-disabled],.selectize-dropdown [data-disabled] [data-selectable].option{cursor:inherit;opacity:.5}.selectize-dropdown [data-selectable].option{opacity:1}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.selectize-dropdown .optgroup-header{color:#999;background:#fff;cursor:default}.selectize-dropdown .active{background-color:#08c;color:#fff}.selectize-dropdown .active.create{color:#fff}.selectize-dropdown .create{color:rgba(51,51,51,0.5)}.selectize-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px;-webkit-overflow-scrolling:touch}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.input-active,.selectize-control.single .selectize-input.input-active input{cursor:text}.selectize-control.single .selectize-input:after{content:' ';display:block;position:absolute;top:50%;right:15px;margin-top:-3px;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:#000 transparent transparent transparent}.selectize-control.single .selectize-input.dropdown-active:after{margin-top:-4px;border-width:0 5px 5px 5px;border-color:transparent transparent #000 transparent}.selectize-control.rtl.single .selectize-input:after{left:15px;right:auto}.selectize-control.rtl .selectize-input>input{margin:0 4px 0 -2px !important}.selectize-control .selectize-input.disabled{opacity:.5;background-color:#fff}.selectize-dropdown{margin:2px 0 0 0;z-index:1000;border:1px solid rgba(0,0,0,0.2);border-radius:4px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);-moz-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2)}.selectize-dropdown .optgroup-header{font-size:11px;font-weight:bold;text-shadow:0 1px 0 rgba(255,255,255,0.5);text-transform:uppercase}.selectize-dropdown .optgroup:first-child:before{display:none}.selectize-dropdown .optgroup:before{content:' ';display:block;*width:100%;height:1px;margin:9px 1px;*margin:-5px 0 5px;overflow:hidden;background-color:#e5e5e5;border-bottom:1px solid #fff;margin-left:-10px;margin-right:-10px}.selectize-dropdown [data-selectable].active{background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0)}.selectize-dropdown-content{padding:5px 0}.selectize-dropdown-header{padding:6px 10px}.selectize-input{-webkit-transition:border linear .2s,box-shadow linear .2s;-moz-transition:border linear .2s,box-shadow linear .2s;-o-transition:border linear .2s,box-shadow linear .2s;transition:border linear .2s,box-shadow linear .2s}.selectize-input.dropdown-active{-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px}.selectize-input.dropdown-active::before{display:none}.selectize-input.input-active,.selectize-input.input-active:hover,.selectize-control.multi .selectize-input.focus{background:#fff !important;border-color:rgba(82,168,236,0.8) !important;outline:0 !important;outline:thin dotted \9 !important;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6) !important;-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6) !important;box-shadow:inset 0 1px 1px rgba(0,0,0,.075),0 0 8px rgba(82,168,236,.6) !important}.selectize-control.single .selectize-input{color:#333;text-shadow:0 1px 1px rgba(255,255,255,0.75);background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#e6e6e6;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}.selectize-control.single .selectize-input:hover,.selectize-control.single .selectize-input:focus,.selectize-control.single .selectize-input:active,.selectize-control.single .selectize-input.active,.selectize-control.single .selectize-input.disabled,.selectize-control.single .selectize-input[disabled]{color:#333;background-color:#e6e6e6;*background-color:#d9d9d9}.selectize-control.single .selectize-input:active,.selectize-control.single .selectize-input.active{background-color:#ccc \9}.selectize-control.single .selectize-input:hover{color:#333;text-decoration:none;background-position:0 -15px;-webkit-transition:background-position .1s linear;-moz-transition:background-position .1s linear;-o-transition:background-position .1s linear;transition:background-position .1s linear}.selectize-control.single .selectize-input.disabled{background:#e6e6e6 !important;-webkit-box-shadow:none;-moz-box-shadow:none;box-shadow:none}.selectize-control.multi .selectize-input{-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-moz-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.selectize-control.multi .selectize-input.has-items{padding-left:7px;padding-right:7px}.selectize-control.multi .selectize-input>div{color:#333;text-shadow:none;background-color:#f5f5f5;background-image:-moz-linear-gradient(top,#fff,#e6e6e6);background-image:-webkit-gradient(linear,0 0,0 100%,from(#fff),to(#e6e6e6));background-image:-webkit-linear-gradient(top,#fff,#e6e6e6);background-image:-o-linear-gradient(top,#fff,#e6e6e6);background-image:linear-gradient(to bottom,#fff,#e6e6e6);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff',endColorstr='#ffe6e6e6',GradientType=0);border-color:#e6e6e6 #e6e6e6 #bfbfbf;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#e6e6e6;border:1px solid #ccc;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05);box-shadow:inset 0 1px 0 rgba(255,255,255,.2),0 1px 2px rgba(0,0,0,.05)}.selectize-control.multi .selectize-input>div.active{-webkit-box-shadow:0 1px 2px rgba(0,0,0,.05);-moz-box-shadow:0 1px 2px rgba(0,0,0,.05);box-shadow:0 1px 2px rgba(0,0,0,.05);color:#fff;text-shadow:none;background-color:#0081c2;background-image:-moz-linear-gradient(top,#08c,#0077b3);background-image:-webkit-gradient(linear,0 0,0 100%,from(#08c),to(#0077b3));background-image:-webkit-linear-gradient(top,#08c,#0077b3);background-image:-o-linear-gradient(top,#08c,#0077b3);background-image:linear-gradient(to bottom,#08c,#0077b3);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff0088cc',endColorstr='#ff0077b3',GradientType=0);border-color:#0077b3 #0077b3 #046;border-color:rgba(0,0,0,0.1) rgba(0,0,0,0.1) rgba(0,0,0,0.25);*background-color:#08c;border:1px solid #08c}.selectize-dropdown.plugin-auto_position.selectize-position-top{border-top:1px solid #d0d0d0;border-bottom:0 none;border-radius:3px 3px 0 0}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active{border-radius:0 0 3px 3px;border-top:0 none}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active::before{top:0;bottom:unset}.selectize-control.plugin-clear_button .clear{text-decoration:none;display:flex;position:absolute;height:100%;width:25px;top:0;right:calc(10px - 3px);color:rgba(0,0,0);opacity:.4;font-weight:bold;border:0;cursor:pointer;z-index:1;font-size:21px;justify-content:center;align-items:center}.selectize-control.plugin-clear_button .clear:hover{opacity:1}.selectize-control.plugin-clear_button.single .clear{right:calc(10px - 3px + 1.5rem)}.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{visibility:visible !important;background:#f2f2f2 !important;background:rgba(0,0,0,0.06) !important;border:0 none !important;-webkit-box-shadow:inset 0 0 12px 4px #fff;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:'!';visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2);box-shadow:0 2px 5px rgba(0,0,0,0.2)}.selectize-dropdown-header{position:relative;padding:3px 10px;border-bottom:1px solid #d0d0d0;background:#f8f8f8;-webkit-border-radius:4px 4px 0 0;-moz-border-radius:4px 4px 0 0;border-radius:4px 4px 0 0}.selectize-dropdown-header-close{position:absolute;right:10px;top:50%;color:#333;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px !important;text-decoration:none}.selectize-dropdown-header-close:hover{color:#000}.selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;float:left;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button [data-value]{position:relative;padding-right:24px !important}.selectize-control.plugin-remove_button [data-value] .remove{z-index:1;position:absolute;top:0;right:0;bottom:0;width:17px;text-align:center;font-weight:bold;font-size:12px;color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:1px 0 0 0;border-left:1px solid #ccc;-webkit-border-radius:0 2px 2px 0;-moz-border-radius:0 2px 2px 0;border-radius:0 2px 2px 0;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}.selectize-control.plugin-remove_button [data-value] .remove:hover{background:rgba(0,0,0,0.05)}.selectize-control.plugin-remove_button [data-value].active .remove{border-left-color:#0077b3}.selectize-control.plugin-remove_button .disabled [data-value] .remove:hover{background:0}.selectize-control.plugin-remove_button .disabled [data-value] .remove{border-left-color:#e0e0e0}.selectize-control.plugin-remove_button .remove-single{position:absolute;right:0;top:0;font-size:23px}

================================================
FILE: dist/css/selectize.bootstrap3.css
================================================
/**
 * Selectize (v0.15.2)
 * https://selectize.dev
 *
 * Copyright (c) 2013-2015 Brian Reavis & contributors
 * Copyright (c) 2020-2023 Selectize Team & contributors
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
 * file except in compliance with the License. You may obtain a copy of the License at:
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
 * ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 *
 * @author Brian Reavis <brian@thirdroute.com>
 * @author Ris Adams <selectize@risadams.com>
 */
.selectize-control.plugin-drag_drop.multi>.selectize-input.dragging{overflow:visible}.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{visibility:visible !important;background:#f2f2f2 !important;background:rgba(0,0,0,0.06) !important;border:0 none !important;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:"!";visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{box-shadow:0 2px 5px rgba(0,0,0,0.2)}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header{position:relative;padding:6px 12px;border-bottom:1px solid #d0d0d0;background:#f8f8f8;border-radius:4px 4px 0 0}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close{position:absolute;right:12px;top:50%;color:#333;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px !important;text-decoration:none}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close:hover{color:black}.selectize-dropdown.plugin-optgroup_columns .selectize-dropdown-content{display:flex}.selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;flex-grow:1;flex-basis:0;min-width:0}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button .item{display:inline-flex;align-items:center;padding-right:0 !important}.selectize-control.plugin-remove_button .item .remove{color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:1px 5px;border-left:1px solid rgba(0,0,0,0);border-radius:0 2px 2px 0;box-sizing:border-box;margin-left:5px}.selectize-control.plugin-remove_button .item .remove:hover{background:rgba(0,0,0,0.05)}.selectize-control.plugin-remove_button .item.active .remove{border-left-color:rgba(0,0,0,0)}.selectize-control.plugin-remove_button .disabled .item .remove:hover{background:0}.selectize-control.plugin-remove_button .disabled .item .remove{border-left-color:rgba(77,77,77,0)}.selectize-control.plugin-clear_button .clear{text-decoration:none;display:flex;position:absolute;height:100%;width:25px;top:0;right:calc(12px - 5px);color:#000;opacity:.4;font-weight:bold;border:0;cursor:pointer;z-index:1;font-size:21px;justify-content:center;align-items:center}.selectize-control.plugin-clear_button .clear:hover{opacity:1}.selectize-control.plugin-clear_button.single .clear{right:calc(12px - 5px + 1.5rem)}.selectize-dropdown.plugin-auto_position.selectize-position-top{border-top:1px solid #d0d0d0;border-bottom:0 none;border-radius:3px 3px 0 0;box-shadow:0 -6px 12px rgba(0,0,0,0.18)}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active{border-radius:0 0 3px 3px;border-top:0 none}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active::before{top:0;bottom:unset}.selectize-control{position:relative}.selectize-dropdown,.selectize-input,.selectize-input input{color:#333;font-family:inherit;font-size:inherit;line-height:20px;font-smoothing:inherit}.selectize-input,.selectize-control.single .selectize-input.input-active{background:#fff;cursor:text;display:inline-block}.selectize-input{border:1px solid #ccc;padding:6px 12px;display:inline-block;width:100%;position:relative;z-index:1;box-sizing:border-box;box-shadow:none;border-radius:4px}.selectize-control.multi .selectize-input.has-items{padding:calc(6px - 1px - 0px) 12px calc(6px - 1px - 3px - 0px)}.selectize-input.full{background-color:#fff}.selectize-input.disabled,.selectize-input.disabled *{cursor:default !important}.selectize-input.focus{box-shadow:inset 0 1px 2px rgba(0,0,0,0.15)}.selectize-input.dropdown-active{border-radius:4px 4px 0 0}.selectize-input>*{vertical-align:baseline;display:inline-block;zoom:1}.selectize-control.multi .selectize-input>div{cursor:pointer;margin:0 3px 3px 0;padding:1px 5px;background:#efefef;color:#333;border:0 solid rgba(0,0,0,0)}.selectize-control.multi .selectize-input>div.active{background:#337ab7;color:#fff;border:0 solid rgba(0,0,0,0)}.selectize-control.multi .selectize-input.disabled>div,.selectize-control.multi .selectize-input.disabled>div.active{color:gray;background:white;border:0 solid rgba(77,77,77,0)}.selectize-input>input{display:inline-block !important;padding:0 !important;min-height:0 !important;max-height:none !important;max-width:100% !important;margin:0 !important;text-indent:0 !important;border:0 none !important;background:none !important;line-height:inherit !important;user-select:auto !important;box-shadow:none !important}.selectize-input>input::-ms-clear{display:none}.selectize-input>input:focus{outline:none !important}.selectize-input>input[placeholder]{box-sizing:initial}.selectize-input.has-items>input{margin:0 0 !important}.selectize-input::after{content:" ";display:block;clear:left}.selectize-input.dropdown-active::before{content:" ";display:block;position:absolute;background:#d6d6d6;height:1px;bottom:0;left:0;right:0}.selectize-dropdown{position:absolute;top:100%;left:0;width:100%;z-index:10;border:1px solid #d0d0d0;background:#fff;margin:-1px 0 0 0;border-top:0 none;box-sizing:border-box;box-shadow:0 1px 3px rgba(0,0,0,0.1);border-radius:0 0 4px 4px}.selectize-dropdown [data-selectable]{cursor:pointer;overflow:hidden}.selectize-dropdown [data-selectable] .highlight{background:rgba(255,237,40,0.4);border-radius:1px}.selectize-dropdown .option,.selectize-dropdown .optgroup-header,.selectize-dropdown .no-results,.selectize-dropdown .create{padding:3px 12px}.selectize-dropdown .option,.selectize-dropdown [data-disabled],.selectize-dropdown [data-disabled] [data-selectable].option{cursor:inherit;opacity:.5}.selectize-dropdown [data-selectable].option{opacity:1;cursor:pointer}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.selectize-dropdown .optgroup-header{color:#777;background:#fff;cursor:default}.selectize-dropdown .active{background-color:#337ab7;color:#fff}.selectize-dropdown .active.create{color:#262626}.selectize-dropdown .selected{background-color:#337ab7;color:#fff}.selectize-dropdown .create{color:rgba(51,51,51,0.5)}.selectize-dropdown .active:not(.selected){background:#f5f5f5;color:#262626}.selectize-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px;overflow-scrolling:touch}.selectize-dropdown-emptyoptionlabel{text-align:center}.selectize-dropdown .spinner{display:inline-block;width:30px;height:30px;margin:3px 12px}.selectize-dropdown .spinner:after{content:" ";display:block;width:24px;height:24px;margin:3px;border-radius:50%;border:5px solid #d0d0d0;border-color:#d0d0d0 transparent #d0d0d0 transparent;animation:lds-dual-ring 1.2s linear infinite}@keyframes lds-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.input-active,.selectize-control.single .selectize-input.input-active input:not(:read-only){cursor:text}.selectize-control.single .selectize-input:not(.no-arrow):after{content:" ";display:block;position:absolute;top:50%;right:17px;margin-top:-3px;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:#333 transparent transparent transparent}.selectize-control.single .selectize-input:not(.no-arrow).dropdown-active:after{margin-top:-4px;border-width:0 5px 5px 5px;border-color:transparent transparent #333 transparent}.selectize-control.rtl{text-align:right}.selectize-control.rtl.single .selectize-input:after{left:17px;right:auto}.selectize-control.rtl .selectize-input>input{margin:0 4px 0 -2px !important}.selectize-control .selectize-input.disabled{opacity:.5;background-color:#fff}.selectize-dropdown,.selectize-dropdown.form-control{height:auto;padding:0;margin:2px 0 0 0;z-index:1000;background:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;box-shadow:0 6px 12px rgba(0,0,0,0.175)}.selectize-dropdown .optgroup-header{font-size:12px;line-height:1.428571429}.selectize-dropdown .optgroup:first-child:before{display:none}.selectize-dropdown .optgroup:before{content:" ";display:block;height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5;margin-left:-12px;margin-right:-12px}.selectize-dropdown-content{padding:5px 0}.selectize-dropdown-emptyoptionlabel{text-align:center}.selectize-input{min-height:34px}.selectize-input.dropdown-active{border-radius:4px}.selectize-input.dropdown-active::before{display:none}.selectize-input.focus{border-color:#66afe9;outline:0;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 8px rgba(102,175,233,0.6)}.has-error .selectize-input{border-color:#a94442;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .selectize-input:focus{border-color:#843534;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #ce8483}.selectize-control.multi .selectize-input.has-items{padding-left:7px;padding-right:7px}.selectize-control.multi .selectize-input>div{border-radius:3px}.form-control.selectize-control{padding:0;height:auto;border:0;background:0;box-shadow:none;border-radius:0}.selectize-dropdown.plugin-auto_position.selectize-position-top{border-top:1px solid #d0d0d0;border-bottom:0 none;border-radius:3px 3px 0 0;box-shadow:0 -6px 12px rgba(0,0,0,0.18)}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active{border-radius:0 0 3px 3px;border-top:0 none}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active::before{top:0;bottom:unset}.selectize-control.plugin-clear_button .clear{text-decoration:none;display:flex;position:absolute;height:100%;width:25px;top:0;right:calc(12px - 5px);color:#000;opacity:.4;font-weight:bold;border:0;cursor:pointer;z-index:1;font-size:21px;justify-content:center;align-items:center}.selectize-control.plugin-clear_button .clear:hover{opacity:1}.selectize-control.plugin-clear_button.single .clear{right:calc(12px - 5px + 1.5rem)}.selectize-control.plugin-drag_drop.multi>.selectize-input.dragging{overflow:visible}.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{visibility:visible !important;background:#f2f2f2 !important;background:rgba(0,0,0,0.06) !important;border:0 none !important;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:"!";visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{box-shadow:0 2px 5px rgba(0,0,0,0.2)}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header{position:relative;padding:6px 12px;border-bottom:1px solid #d0d0d0;background:#f8f8f8;border-radius:4px 4px 0 0}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close{position:absolute;right:12px;top:50%;color:#333;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px !important;text-decoration:none}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close:hover{color:black}.selectize-dropdown.plugin-optgroup_columns .selectize-dropdown-content{display:flex}.selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;flex-grow:1;flex-basis:0;min-width:0}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button .item{display:inline-flex;align-items:center;padding-right:0 !important}.selectize-control.plugin-remove_button .item .remove{color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:1px 5px;border-left:1px solid rgba(0,0,0,0);border-radius:0 2px 2px 0;box-sizing:border-box;margin-left:5px}.selectize-control.plugin-remove_button .item .remove:hover{background:rgba(0,0,0,0.05)}.selectize-control.plugin-remove_button .item.active .remove{border-left-color:rgba(0,0,0,0)}.selectize-control.plugin-remove_button .disabled .item .remove:hover{background:0}.selectize-control.plugin-remove_button .disabled .item .remove{border-left-color:rgba(77,77,77,0)}

================================================
FILE: dist/css/selectize.bootstrap4.css
================================================
/**
 * Selectize (v0.15.2)
 * https://selectize.dev
 *
 * Copyright (c) 2013-2015 Brian Reavis & contributors
 * Copyright (c) 2020-2023 Selectize Team & contributors
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
 * file except in compliance with the License. You may obtain a copy of the License at:
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
 * ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 *
 * @author Brian Reavis <brian@thirdroute.com>
 * @author Ris Adams <selectize@risadams.com>
 */
.selectize-control.plugin-drag_drop.multi>.selectize-input.dragging{overflow:visible}.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{visibility:visible !important;background:#f2f2f2 !important;background:rgba(0,0,0,0.06) !important;border:0 none !important;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:"!";visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{box-shadow:0 2px 5px rgba(0,0,0,0.2)}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header{position:relative;padding:6px .75rem;border-bottom:1px solid #d0d0d0;background:#f8f8f8;border-radius:.25rem .25rem 0 0}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close{position:absolute;right:.75rem;top:50%;color:#343a40;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px !important;text-decoration:none}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close:hover{color:black}.selectize-dropdown.plugin-optgroup_columns .selectize-dropdown-content{display:flex}.selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;flex-grow:1;flex-basis:0;min-width:0}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button .item{display:inline-flex;align-items:center;padding-right:0 !important}.selectize-control.plugin-remove_button .item .remove{color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:1px 5px;border-left:1px solid #dee2e6;border-radius:0 2px 2px 0;box-sizing:border-box;margin-left:5px}.selectize-control.plugin-remove_button .item .remove:hover{background:rgba(0,0,0,0.05)}.selectize-control.plugin-remove_button .item.active .remove{border-left-color:rgba(0,0,0,0)}.selectize-control.plugin-remove_button .disabled .item .remove:hover{background:0}.selectize-control.plugin-remove_button .disabled .item .remove{border-left-color:white}.selectize-control.plugin-clear_button .clear{text-decoration:none;display:flex;position:absolute;height:100%;width:25px;top:0;right:calc(0.75rem - 5px);color:#000;opacity:.4;font-weight:bold;border:0;cursor:pointer;z-index:1;font-size:21px;justify-content:center;align-items:center}.selectize-control.plugin-clear_button .clear:hover{opacity:1}.selectize-control.plugin-clear_button.single .clear{right:calc(0.75rem - 5px + 1.5rem)}.selectize-dropdown.plugin-auto_position.selectize-position-top{border-top:1px solid #d0d0d0;border-bottom:0 none;border-radius:3px 3px 0 0;box-shadow:0 -6px 12px rgba(0,0,0,0.18)}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active{border-radius:0 0 3px 3px;border-top:0 none}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active::before{top:0;bottom:unset}.selectize-control{position:relative}.selectize-dropdown,.selectize-input,.selectize-input input{color:#343a40;font-family:inherit;font-size:inherit;line-height:1.5;font-smoothing:inherit}.selectize-input,.selectize-control.single .selectize-input.input-active{background:#fff;cursor:text;display:inline-block}.selectize-input{border:1px solid #ced4da;padding:.375rem .75rem;display:inline-block;width:100%;position:relative;z-index:1;box-sizing:border-box;box-shadow:none;border-radius:.25rem}.selectize-control.multi .selectize-input.has-items{padding:calc(0.375rem - 1px - 0px) 0.75rem calc(0.375rem - 1px - 3px - 0px)}.selectize-input.full{background-color:#fff}.selectize-input.disabled,.selectize-input.disabled *{cursor:default !important}.selectize-input.focus{box-shadow:inset 0 1px 2px rgba(0,0,0,0.15)}.selectize-input.dropdown-active{border-radius:.25rem .25rem 0 0}.selectize-input>*{vertical-align:baseline;display:inline-block;zoom:1}.selectize-control.multi .selectize-input>div{cursor:pointer;margin:0 3px 3px 0;padding:1px 5px;background:#efefef;color:#343a40;border:0 solid #dee2e6}.selectize-control.multi .selectize-input>div.active{background:#007bff;color:#fff;border:0 solid rgba(0,0,0,0)}.selectize-control.multi .selectize-input.disabled>div,.selectize-control.multi .selectize-input.disabled>div.active{color:#878787;background:white;border:0 solid white}.selectize-input>input{display:inline-block !important;padding:0 !important;min-height:0 !important;max-height:none !important;max-width:100% !important;margin:0 !important;text-indent:0 !important;border:0 none !important;background:none !important;line-height:inherit !important;user-select:auto !important;box-shadow:none !important}.selectize-input>input::-ms-clear{display:none}.selectize-input>input:focus{outline:none !important}.selectize-input>input[placeholder]{box-sizing:initial}.selectize-input.has-items>input{margin:0 0 !important}.selectize-input::after{content:" ";display:block;clear:left}.selectize-input.dropdown-active::before{content:" ";display:block;position:absolute;background:#d8dde1;height:1px;bottom:0;left:0;right:0}.selectize-dropdown{position:absolute;top:100%;left:0;width:100%;z-index:10;border:1px solid #d0d0d0;background:#fff;margin:-1px 0 0 0;border-top:0 none;box-sizing:border-box;box-shadow:0 1px 3px rgba(0,0,0,0.1);border-radius:0 0 .25rem .25rem}.selectize-dropdown [data-selectable]{cursor:pointer;overflow:hidden}.selectize-dropdown [data-selectable] .highlight{background:rgba(255,237,40,0.4);border-radius:1px}.selectize-dropdown .option,.selectize-dropdown .optgroup-header,.selectize-dropdown .no-results,.selectize-dropdown .create{padding:3px .75rem}.selectize-dropdown .option,.selectize-dropdown [data-disabled],.selectize-dropdown [data-disabled] [data-selectable].option{cursor:inherit;opacity:.5}.selectize-dropdown [data-selectable].option{opacity:1;cursor:pointer}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.selectize-dropdown .optgroup-header{color:#6c757d;background:#fff;cursor:default}.selectize-dropdown .active{background-color:#007bff;color:#fff}.selectize-dropdown .active.create{color:#16181b}.selectize-dropdown .selected{background-color:#007bff;color:#fff}.selectize-dropdown .create{color:rgba(52,58,64,0.5)}.selectize-dropdown .active:not(.selected){background:#e9ecef;color:#16181b}.selectize-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px;overflow-scrolling:touch}.selectize-dropdown-emptyoptionlabel{text-align:center}.selectize-dropdown .spinner{display:inline-block;width:30px;height:30px;margin:3px .75rem}.selectize-dropdown .spinner:after{content:" ";display:block;width:24px;height:24px;margin:3px;border-radius:50%;border:5px solid #d0d0d0;border-color:#d0d0d0 transparent #d0d0d0 transparent;animation:lds-dual-ring 1.2s linear infinite}@keyframes lds-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.input-active,.selectize-control.single .selectize-input.input-active input:not(:read-only){cursor:text}.selectize-control.single .selectize-input:not(.no-arrow):after{content:" ";display:block;position:absolute;top:50%;right:calc(0.75rem + 5px);margin-top:-3px;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:#343a40 transparent transparent transparent}.selectize-control.single .selectize-input:not(.no-arrow).dropdown-active:after{margin-top:-4px;border-width:0 5px 5px 5px;border-color:transparent transparent #343a40 transparent}.selectize-control.rtl{text-align:right}.selectize-control.rtl.single .selectize-input:after{left:calc(0.75rem + 5px);right:auto}.selectize-control.rtl .selectize-input>input{margin:0 4px 0 -2px !important}.selectize-control .selectize-input.disabled{opacity:.5;background-color:#fff}.selectize-dropdown,.selectize-dropdown.form-control{height:auto;padding:0;margin:2px 0 0 0;z-index:1000;background:#fff;border:1px solid rgba(0,0,0,0.15);border-radius:.25rem;box-shadow:0 6px 12px rgba(0,0,0,0.175)}.selectize-dropdown .optgroup-header{font-size:.875rem;line-height:1.5}.selectize-dropdown .optgroup:first-child:before{display:none}.selectize-dropdown .optgroup:before{content:" ";display:block;height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef;margin-left:-0.75rem;margin-right:-0.75rem}.selectize-dropdown .create{padding-left:.75rem}.selectize-dropdown-content{padding:5px 0}.selectize-dropdown-emptyoptionlabel{text-align:center}.selectize-input{min-height:calc(1.5em + 0.75rem + 2px);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.selectize-input{transition:none}}.selectize-input.dropdown-active{border-radius:.25rem}.selectize-input.dropdown-active::before{display:none}.selectize-input.focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,0.25)}.is-invalid .selectize-input{border-color:#dc3545;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.is-invalid .selectize-input:focus{border-color:#bd2130;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #eb8c95}.selectize-control.form-control-sm .selectize-input.has-items{min-height:calc(1.5em + 0.5rem + 2px) !important;height:calc(1.5em + 0.5rem + 2px);padding:.25rem .5rem !important;font-size:.875rem;line-height:1.5}.selectize-control.multi .selectize-input.has-items{height:auto;padding-left:calc(0.75rem - 5px);padding-right:calc(0.75rem - 5px)}.selectize-control.multi .selectize-input>div{border-radius:calc(0.25rem - 1px)}.form-control.selectize-control{padding:0;height:auto;border:0;background:0;box-shadow:none;border-radius:0}.input-group .selectize-control:not(:last-child) .selectize-input{overflow:unset;border-top-right-radius:0;border-bottom-right-radius:0}.input-group .selectize-control:not(:first-child) .selectize-input{overflow:unset;border-top-left-radius:0;border-bottom-left-radius:0}.selectize-dropdown.plugin-auto_position.selectize-position-top{border-top:1px solid #ced4da !important;border-bottom:1px solid #ced4da !important;border-radius:.25rem !important}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active{border-radius:.25rem !important;border-top:1px solid #ced4da !important}.selectize-dropdown.plugin-auto_position.selectize-position-top{border-top:1px solid #d0d0d0;border-bottom:0 none;border-radius:3px 3px 0 0;box-shadow:0 -6px 12px rgba(0,0,0,0.18)}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active{border-radius:0 0 3px 3px;border-top:0 none}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active::before{top:0;bottom:unset}.selectize-control.plugin-clear_button .clear{text-decoration:none;display:flex;position:absolute;height:100%;width:25px;top:0;right:calc(0.75rem - 5px);color:#000;opacity:.4;font-weight:bold;border:0;cursor:pointer;z-index:1;font-size:21px;justify-content:center;align-items:center}.selectize-control.plugin-clear_button .clear:hover{opacity:1}.selectize-control.plugin-clear_button.single .clear{right:calc(0.75rem - 5px + 1.5rem)}.selectize-control.plugin-drag_drop.multi>.selectize-input.dragging{overflow:visible}.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{visibility:visible !important;background:#f2f2f2 !important;background:rgba(0,0,0,0.06) !important;border:0 none !important;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:"!";visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{box-shadow:0 2px 5px rgba(0,0,0,0.2)}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header{position:relative;padding:6px .75rem;border-bottom:1px solid #d0d0d0;background:#f8f8f8;border-radius:.25rem .25rem 0 0}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close{position:absolute;right:.75rem;top:50%;color:#343a40;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px !important;text-decoration:none}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close:hover{color:black}.selectize-dropdown.plugin-optgroup_columns .selectize-dropdown-content{display:flex}.selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;flex-grow:1;flex-basis:0;min-width:0}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button .item{display:inline-flex;align-items:center;padding-right:0 !important}.selectize-control.plugin-remove_button .item .remove{color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:1px 5px;border-left:1px solid #dee2e6;border-radius:0 2px 2px 0;box-sizing:border-box;margin-left:5px}.selectize-control.plugin-remove_button .item .remove:hover{background:rgba(0,0,0,0.05)}.selectize-control.plugin-remove_button .item.active .remove{border-left-color:rgba(0,0,0,0)}.selectize-control.plugin-remove_button .disabled .item .remove:hover{background:0}.selectize-control.plugin-remove_button .disabled .item .remove{border-left-color:white}

================================================
FILE: dist/css/selectize.bootstrap5.css
================================================
/**
 * Selectize (v0.15.2)
 * https://selectize.dev
 *
 * Copyright (c) 2013-2015 Brian Reavis & contributors
 * Copyright (c) 2020-2023 Selectize Team & contributors
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
 * file except in compliance with the License. You may obtain a copy of the License at:
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
 * ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 *
 * @author Brian Reavis <brian@thirdroute.com>
 * @author Ris Adams <selectize@risadams.com>
 */
.selectize-control.plugin-drag_drop.multi>.selectize-input.dragging{overflow:visible}.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{visibility:visible !important;background:#f2f2f2 !important;background:rgba(0,0,0,0.06) !important;border:0 none !important;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:"!";visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{box-shadow:0 2px 5px rgba(0,0,0,0.2)}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header{position:relative;padding:6px .75rem;border-bottom:1px solid #d0d0d0;background:#f8f8f8;border-radius:.375rem .375rem 0 0}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close{position:absolute;right:.75rem;top:50%;color:#343a40;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px !important;text-decoration:none}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close:hover{color:black}.selectize-dropdown.plugin-optgroup_columns .selectize-dropdown-content{display:flex}.selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;flex-grow:1;flex-basis:0;min-width:0}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button .item{display:inline-flex;align-items:center;padding-right:0 !important}.selectize-control.plugin-remove_button .item .remove{color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:1px 5px;border-left:1px solid #dee2e6;border-radius:0 2px 2px 0;box-sizing:border-box;margin-left:5px}.selectize-control.plugin-remove_button .item .remove:hover{background:rgba(0,0,0,0.05)}.selectize-control.plugin-remove_button .item.active .remove{border-left-color:rgba(0,0,0,0)}.selectize-control.plugin-remove_button .disabled .item .remove:hover{background:0}.selectize-control.plugin-remove_button .disabled .item .remove{border-left-color:white}.selectize-control.plugin-clear_button .clear{text-decoration:none;display:flex;position:absolute;height:100%;width:25px;top:0;right:calc(0.75rem - 5px);color:#000;opacity:.4;font-weight:bold;border:0;cursor:pointer;z-index:1;font-size:21px;justify-content:center;align-items:center}.selectize-control.plugin-clear_button .clear:hover{opacity:1}.selectize-control.plugin-clear_button.single .clear{right:calc(0.75rem - 5px + 1.5rem)}.selectize-dropdown.plugin-auto_position.selectize-position-top{border-top:1px solid #d0d0d0;border-bottom:0 none;border-radius:3px 3px 0 0;box-shadow:0 -6px 12px rgba(0,0,0,0.18)}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active{border-radius:0 0 3px 3px;border-top:0 none}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active::before{top:0;bottom:unset}.selectize-control{position:relative}.selectize-dropdown,.selectize-input,.selectize-input input{color:#343a40;font-family:inherit;font-size:inherit;line-height:1.5;font-smoothing:inherit}.selectize-input,.selectize-control.single .selectize-input.input-active{background:#fff;cursor:text;display:inline-block}.selectize-input{border:1px solid #ced4da;padding:.375rem .75rem;display:inline-block;width:100%;position:relative;z-index:1;box-sizing:border-box;box-shadow:none;border-radius:.375rem}.selectize-control.multi .selectize-input.has-items{padding:calc(0.375rem - 1px - 0px) 0.75rem calc(0.375rem - 1px - 3px - 0px)}.selectize-input.full{background-color:#fff}.selectize-input.disabled,.selectize-input.disabled *{cursor:default !important}.selectize-input.focus{box-shadow:inset 0 1px 2px rgba(0,0,0,0.15)}.selectize-input.dropdown-active{border-radius:.375rem .375rem 0 0}.selectize-input>*{vertical-align:baseline;display:inline-block;zoom:1}.selectize-control.multi .selectize-input>div{cursor:pointer;margin:0 3px 3px 0;padding:1px 5px;background:#efefef;color:#343a40;border:0 solid #dee2e6}.selectize-control.multi .selectize-input>div.active{background:#0d6efd;color:#fff;border:0 solid rgba(0,0,0,0)}.selectize-control.multi .selectize-input.disabled>div,.selectize-control.multi .selectize-input.disabled>div.active{color:#878787;background:white;border:0 solid white}.selectize-input>input{display:inline-block !important;padding:0 !important;min-height:0 !important;max-height:none !important;max-width:100% !important;margin:0 !important;text-indent:0 !important;border:0 none !important;background:none !important;line-height:inherit !important;user-select:auto !important;box-shadow:none !important}.selectize-input>input::-ms-clear{display:none}.selectize-input>input:focus{outline:none !important}.selectize-input>input[placeholder]{box-sizing:initial}.selectize-input.has-items>input{margin:0 0 !important}.selectize-input::after{content:" ";display:block;clear:left}.selectize-input.dropdown-active::before{content:" ";display:block;position:absolute;background:#d8dde1;height:1px;bottom:0;left:0;right:0}.selectize-dropdown{position:absolute;top:100%;left:0;width:100%;z-index:10;border:1px solid #d0d0d0;background:#fff;margin:-1px 0 0 0;border-top:0 none;box-sizing:border-box;box-shadow:0 1px 3px rgba(0,0,0,0.1);border-radius:0 0 .375rem .375rem}.selectize-dropdown [data-selectable]{cursor:pointer;overflow:hidden}.selectize-dropdown [data-selectable] .highlight{background:rgba(255,237,40,0.4);border-radius:1px}.selectize-dropdown .option,.selectize-dropdown .optgroup-header,.selectize-dropdown .no-results,.selectize-dropdown .create{padding:3px .75rem}.selectize-dropdown .option,.selectize-dropdown [data-disabled],.selectize-dropdown [data-disabled] [data-selectable].option{cursor:inherit;opacity:.5}.selectize-dropdown [data-selectable].option{opacity:1;cursor:pointer}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.selectize-dropdown .optgroup-header{color:#6c757d;background:#fff;cursor:default}.selectize-dropdown .active{background-color:#0d6efd;color:#fff}.selectize-dropdown .active.create{color:#1e2125}.selectize-dropdown .selected{background-color:#0d6efd;color:#fff}.selectize-dropdown .create{color:rgba(52,58,64,0.5)}.selectize-dropdown .active:not(.selected){background:#e9ecef;color:#1e2125}.selectize-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px;overflow-scrolling:touch}.selectize-dropdown-emptyoptionlabel{text-align:center}.selectize-dropdown .spinner{display:inline-block;width:30px;height:30px;margin:3px .75rem}.selectize-dropdown .spinner:after{content:" ";display:block;width:24px;height:24px;margin:3px;border-radius:50%;border:5px solid #d0d0d0;border-color:#d0d0d0 transparent #d0d0d0 transparent;animation:lds-dual-ring 1.2s linear infinite}@keyframes lds-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.input-active,.selectize-control.single .selectize-input.input-active input:not(:read-only){cursor:text}.selectize-control.single .selectize-input:not(.no-arrow):after{content:" ";display:block;position:absolute;top:50%;right:calc(0.75rem + 5px);margin-top:-3px;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:#343a40 transparent transparent transparent}.selectize-control.single .selectize-input:not(.no-arrow).dropdown-active:after{margin-top:-4px;border-width:0 5px 5px 5px;border-color:transparent transparent #343a40 transparent}.selectize-control.rtl{text-align:right}.selectize-control.rtl.single .selectize-input:after{left:calc(0.75rem + 5px);right:auto}.selectize-control.rtl .selectize-input>input{margin:0 4px 0 -2px !important}.selectize-control .selectize-input.disabled{opacity:.5;background-color:#fff}.selectize-dropdown,.selectize-dropdown.form-control{height:auto;padding:0;margin:2px 0 0 0;z-index:1000;background:#fff;border:1px solid var(--bs-border-color-translucent);border-radius:.375rem;box-shadow:0 6px 12px rgba(0,0,0,0.175)}.selectize-dropdown .optgroup-header{font-size:.875rem;line-height:1.5}.selectize-dropdown .optgroup:first-child:before{display:none}.selectize-dropdown .optgroup:before{content:" ";display:block;height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid var(--bs-border-color-translucent);margin-left:-0.75rem;margin-right:-0.75rem}.selectize-dropdown .create{padding-left:.75rem}.selectize-dropdown-content{padding:5px 0}.selectize-dropdown-emptyoptionlabel{text-align:center}.selectize-input{min-height:calc(1.5em + 0.75rem + 2px);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media(prefers-reduced-motion:reduce){.selectize-input{transition:none}}.selectize-input.dropdown-active{border-radius:.375rem}.selectize-input.dropdown-active::before{display:none}.selectize-input.focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,0.25)}.is-invalid .selectize-input{border-color:#dc3545;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.is-invalid .selectize-input:focus{border-color:#bd2130;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #eb8c95}.selectize-control.form-control-sm .selectize-input{min-height:calc(1.5em + 0.5rem + 2px) !important;height:calc(1.5em + 0.5rem + 2px);padding:.25rem .5rem !important;font-size:.875rem;line-height:1.25}.selectize-control.multi .selectize-input{height:auto;padding-left:calc(0.75rem - 5px);padding-right:calc(0.75rem - 5px)}.selectize-control.multi .selectize-input>div{border-radius:calc(0.375rem - 1px)}.form-select.selectize-control,.form-control.selectize-control{padding:0;height:auto;border:0;background:0;box-shadow:none;border-radius:0}.input-group>.input-group-append>.btn,.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.input-group-prepend>.btn{border-top-right-radius:0;border-bottom-right-radius:0}.input-group .selectize-control:not(:last-child) .selectize-input{overflow:unset;border-top-right-radius:0;border-bottom-right-radius:0}.input-group .selectize-control:not(:first-child) .selectize-input{overflow:unset;border-top-left-radius:0;border-bottom-left-radius:0}.selectize-dropdown.plugin-auto_position.selectize-position-top{border-top:1px solid #ced4da !important;border-bottom:1px solid #ced4da !important;border-radius:.375rem !important}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active{border-radius:.375rem !important;border-top:1px solid #ced4da !important}.selectize-dropdown.plugin-auto_position.selectize-position-top{border-top:1px solid #d0d0d0;border-bottom:0 none;border-radius:3px 3px 0 0;box-shadow:0 -6px 12px rgba(0,0,0,0.18)}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active{border-radius:0 0 3px 3px;border-top:0 none}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active::before{top:0;bottom:unset}.selectize-control.plugin-clear_button .clear{text-decoration:none;display:flex;position:absolute;height:100%;width:25px;top:0;right:calc(0.75rem - 5px);color:#000;opacity:.4;font-weight:bold;border:0;cursor:pointer;z-index:1;font-size:21px;justify-content:center;align-items:center}.selectize-control.plugin-clear_button .clear:hover{opacity:1}.selectize-control.plugin-clear_button.single .clear{right:calc(0.75rem - 5px + 1.5rem)}.selectize-control.plugin-drag_drop.multi>.selectize-input.dragging{overflow:visible}.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{visibility:visible !important;background:#f2f2f2 !important;background:rgba(0,0,0,0.06) !important;border:0 none !important;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:"!";visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{box-shadow:0 2px 5px rgba(0,0,0,0.2)}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header{position:relative;padding:6px .75rem;border-bottom:1px solid #d0d0d0;background:#f8f8f8;border-radius:.375rem .375rem 0 0}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close{position:absolute;right:.75rem;top:50%;color:#343a40;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px !important;text-decoration:none}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close:hover{color:black}.selectize-dropdown.plugin-optgroup_columns .selectize-dropdown-content{display:flex}.selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;flex-grow:1;flex-basis:0;min-width:0}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button .item{display:inline-flex;align-items:center;padding-right:0 !important}.selectize-control.plugin-remove_button .item .remove{color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:1px 5px;border-left:1px solid #dee2e6;border-radius:0 2px 2px 0;box-sizing:border-box;margin-left:5px}.selectize-control.plugin-remove_button .item .remove:hover{background:rgba(0,0,0,0.05)}.selectize-control.plugin-remove_button .item.active .remove{border-left-color:rgba(0,0,0,0)}.selectize-control.plugin-remove_button .disabled .item .remove:hover{background:0}.selectize-control.plugin-remove_button .disabled .item .remove{border-left-color:white}

================================================
FILE: dist/css/selectize.css
================================================
/**
 * Selectize (v0.15.2)
 * https://selectize.dev
 *
 * Copyright (c) 2013-2015 Brian Reavis & contributors
 * Copyright (c) 2020-2023 Selectize Team & contributors
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
 * file except in compliance with the License. You may obtain a copy of the License at:
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
 * ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 *
 * @author Brian Reavis <brian@thirdroute.com>
 * @author Ris Adams <selectize@risadams.com>
 */
.selectize-control.plugin-drag_drop.multi>.selectize-input.dragging{overflow:visible}.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{visibility:visible !important;background:#f2f2f2 !important;background:rgba(0,0,0,0.06) !important;border:0 none !important;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:"!";visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{box-shadow:0 2px 5px rgba(0,0,0,0.2)}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header{position:relative;padding:10px 8px;border-bottom:1px solid #d0d0d0;background:#f8f8f8;border-radius:3px 3px 0 0}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close{position:absolute;right:8px;top:50%;color:#303030;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px !important;text-decoration:none}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close:hover{color:black}.selectize-dropdown.plugin-optgroup_columns .selectize-dropdown-content{display:flex}.selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;flex-grow:1;flex-basis:0;min-width:0}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button .item{display:inline-flex;align-items:center;padding-right:0 !important}.selectize-control.plugin-remove_button .item .remove{color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:2px 6px;border-left:1px solid #d0d0d0;border-radius:0 2px 2px 0;box-sizing:border-box;margin-left:6px}.selectize-control.plugin-remove_button .item .remove:hover{background:rgba(0,0,0,0.05)}.selectize-control.plugin-remove_button .item.active .remove{border-left-color:#cacaca}.selectize-control.plugin-remove_button .disabled .item .remove:hover{background:0}.selectize-control.plugin-remove_button .disabled .item .remove{border-left-color:white}.selectize-control.plugin-clear_button .clear{text-decoration:none;display:flex;position:absolute;height:100%;width:25px;top:0;right:calc(8px - 6px);color:#000;opacity:.4;font-weight:bold;border:0;cursor:pointer;z-index:1;font-size:21px;justify-content:center;align-items:center}.selectize-control.plugin-clear_button .clear:hover{opacity:1}.selectize-control.plugin-clear_button.single .clear{right:calc(8px - 6px + 1.5rem)}.selectize-dropdown.plugin-auto_position.selectize-position-top{border-top:1px solid #d0d0d0;border-bottom:0 none;border-radius:3px 3px 0 0;box-shadow:0 -6px 12px rgba(0,0,0,0.18)}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active{border-radius:0 0 3px 3px;border-top:0 none}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active::before{top:0;bottom:unset}.selectize-control{position:relative}.selectize-dropdown,.selectize-input,.selectize-input input{color:#303030;font-family:inherit;font-size:13px;line-height:18px;font-smoothing:inherit}.selectize-input,.selectize-control.single .selectize-input.input-active{background:#fff;cursor:text;display:inline-block}.selectize-input{border:1px solid #d0d0d0;padding:8px 8px;display:inline-block;width:100%;position:relative;z-index:1;box-sizing:border-box;box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);border-radius:3px}.selectize-control.multi .selectize-input.has-items{padding:calc(8px - 2px - 0px) 8px calc(8px - 2px - 3px - 0px)}.selectize-input.full{background-color:#fff}.selectize-input.disabled,.selectize-input.disabled *{cursor:default !important}.selectize-input.focus{box-shadow:inset 0 1px 2px rgba(0,0,0,0.15)}.selectize-input.dropdown-active{border-radius:3px 3px 0 0}.selectize-input>*{vertical-align:baseline;display:inline-block;zoom:1}.selectize-control.multi .selectize-input>div{cursor:pointer;margin:0 3px 3px 0;padding:2px 6px;background:#f2f2f2;color:#303030;border:0 solid #d0d0d0}.selectize-control.multi .selectize-input>div.active{background:#e8e8e8;color:#303030;border:0 solid #cacaca}.selectize-control.multi .selectize-input.disabled>div,.selectize-control.multi .selectize-input.disabled>div.active{color:#7d7d7d;background:white;border:0 solid white}.selectize-input>input{display:inline-block !important;padding:0 !important;min-height:0 !important;max-height:none !important;max-width:100% !important;margin:0 !important;text-indent:0 !important;border:0 none !important;background:none !important;line-height:inherit !important;user-select:auto !important;box-shadow:none !important}.selectize-input>input::-ms-clear{display:none}.selectize-input>input:focus{outline:none !important}.selectize-input>input[placeholder]{box-sizing:initial}.selectize-input.has-items>input{margin:0 0 !important}.selectize-input::after{content:" ";display:block;clear:left}.selectize-input.dropdown-active::before{content:" ";display:block;position:absolute;background:#f0f0f0;height:1px;bottom:0;left:0;right:0}.selectize-dropdown{position:absolute;top:100%;left:0;width:100%;z-index:10;border:1px solid #d0d0d0;background:#fff;margin:-1px 0 0 0;border-top:0 none;box-sizing:border-box;box-shadow:0 1px 3px rgba(0,0,0,0.1);border-radius:0 0 3px 3px}.selectize-dropdown [data-selectable]{cursor:pointer;overflow:hidden}.selectize-dropdown [data-selectable] .highlight{background:rgba(125,168,208,0.2);border-radius:1px}.selectize-dropdown .option,.selectize-dropdown .optgroup-header,.selectize-dropdown .no-results,.selectize-dropdown .create{padding:5px 8px}.selectize-dropdown .option,.selectize-dropdown [data-disabled],.selectize-dropdown [data-disabled] [data-selectable].option{cursor:inherit;opacity:.5}.selectize-dropdown [data-selectable].option{opacity:1;cursor:pointer}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.selectize-dropdown .optgroup-header{color:#303030;background:#fff;cursor:default}.selectize-dropdown .active{background-color:#e8e8e8;color:#303030}.selectize-dropdown .active.create{color:#495c68}.selectize-dropdown .selected{background-color:#e8e8e8;color:#303030}.selectize-dropdown .create{color:rgba(48,48,48,0.5)}.selectize-dropdown .active:not(.selected){background:#f5fafd;color:#495c68}.selectize-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px;overflow-scrolling:touch}.selectize-dropdown-emptyoptionlabel{text-align:center}.selectize-dropdown .spinner{display:inline-block;width:30px;height:30px;margin:5px 8px}.selectize-dropdown .spinner:after{content:" ";display:block;width:24px;height:24px;margin:3px;border-radius:50%;border:5px solid #d0d0d0;border-color:#d0d0d0 transparent #d0d0d0 transparent;animation:lds-dual-ring 1.2s linear infinite}@keyframes lds-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.input-active,.selectize-control.single .selectize-input.input-active input:not(:read-only){cursor:text}.selectize-control.single .selectize-input:not(.no-arrow):after{content:" ";display:block;position:absolute;top:50%;right:15px;margin-top:-3px;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:#808080 transparent transparent transparent}.selectize-control.single .selectize-input:not(.no-arrow).dropdown-active:after{margin-top:-4px;border-width:0 5px 5px 5px;border-color:transparent transparent #808080 transparent}.selectize-control.rtl{text-align:right}.selectize-control.rtl.single .selectize-input:after{left:15px;right:auto}.selectize-control.rtl .selectize-input>input{margin:0 4px 0 -2px !important}.selectize-control .selectize-input.disabled{opacity:.5;background-color:#fafafa}.selectize-dropdown.plugin-auto_position.selectize-position-top{border-top:1px solid #d0d0d0;border-bottom:0 none;border-radius:3px 3px 0 0;box-shadow:0 -6px 12px rgba(0,0,0,0.18)}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active{border-radius:0 0 3px 3px;border-top:0 none}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active::before{top:0;bottom:unset}.selectize-control.plugin-clear_button .clear{text-decoration:none;display:flex;position:absolute;height:100%;width:25px;top:0;right:calc(8px - 6px);color:#000;opacity:.4;font-weight:bold;border:0;cursor:pointer;z-index:1;font-size:21px;justify-content:center;align-items:center}.selectize-control.plugin-clear_button .clear:hover{opacity:1}.selectize-control.plugin-clear_button.single .clear{right:calc(8px - 6px + 1.5rem)}.selectize-control.plugin-drag_drop.multi>.selectize-input.dragging{overflow:visible}.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{visibility:visible !important;background:#f2f2f2 !important;background:rgba(0,0,0,0.06) !important;border:0 none !important;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:"!";visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{box-shadow:0 2px 5px rgba(0,0,0,0.2)}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header{position:relative;padding:10px 8px;border-bottom:1px solid #d0d0d0;background:#f8f8f8;border-radius:3px 3px 0 0}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close{position:absolute;right:8px;top:50%;color:#303030;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px !important;text-decoration:none}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close:hover{color:black}.selectize-dropdown.plugin-optgroup_columns .selectize-dropdown-content{display:flex}.selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;flex-grow:1;flex-basis:0;min-width:0}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button .item{display:inline-flex;align-items:center;padding-right:0 !important}.selectize-control.plugin-remove_button .item .remove{color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:2px 6px;border-left:1px solid #d0d0d0;border-radius:0 2px 2px 0;box-sizing:border-box;margin-left:6px}.selectize-control.plugin-remove_button .item .remove:hover{background:rgba(0,0,0,0.05)}.selectize-control.plugin-remove_button .item.active .remove{border-left-color:#cacaca}.selectize-control.plugin-remove_button .disabled .item .remove:hover{background:0}.selectize-control.plugin-remove_button .disabled .item .remove{border-left-color:white}

================================================
FILE: dist/css/selectize.default.css
================================================
/**
 * Selectize (v0.15.2)
 * https://selectize.dev
 *
 * Copyright (c) 2013-2015 Brian Reavis & contributors
 * Copyright (c) 2020-2023 Selectize Team & contributors
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
 * file except in compliance with the License. You may obtain a copy of the License at:
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
 * ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 *
 * @author Brian Reavis <brian@thirdroute.com>
 * @author Ris Adams <selectize@risadams.com>
 */
.selectize-control.plugin-drag_drop.multi>.selectize-input.dragging{overflow:visible}.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{visibility:visible !important;background:#f2f2f2 !important;background:rgba(0,0,0,0.06) !important;border:0 none !important;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:"!";visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{box-shadow:0 2px 5px rgba(0,0,0,0.2)}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header{position:relative;padding:10px 8px;border-bottom:1px solid #d0d0d0;background:#f8f8f8;border-radius:3px 3px 0 0}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close{position:absolute;right:8px;top:50%;color:#303030;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px !important;text-decoration:none}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close:hover{color:black}.selectize-dropdown.plugin-optgroup_columns .selectize-dropdown-content{display:flex}.selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;flex-grow:1;flex-basis:0;min-width:0}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button .item{display:inline-flex;align-items:center;padding-right:0 !important}.selectize-control.plugin-remove_button .item .remove{color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:2px 6px;border-left:1px solid #0073bb;border-radius:0 2px 2px 0;box-sizing:border-box;margin-left:6px}.selectize-control.plugin-remove_button .item .remove:hover{background:rgba(0,0,0,0.05)}.selectize-control.plugin-remove_button .item.active .remove{border-left-color:#00578d}.selectize-control.plugin-remove_button .disabled .item .remove:hover{background:0}.selectize-control.plugin-remove_button .disabled .item .remove{border-left-color:#aaa}.selectize-control.plugin-clear_button .clear{text-decoration:none;display:flex;position:absolute;height:100%;width:25px;top:0;right:calc(8px - 6px);color:#000;opacity:.4;font-weight:bold;border:0;cursor:pointer;z-index:1;font-size:21px;justify-content:center;align-items:center}.selectize-control.plugin-clear_button .clear:hover{opacity:1}.selectize-control.plugin-clear_button.single .clear{right:calc(8px - 6px + 1.5rem)}.selectize-dropdown.plugin-auto_position.selectize-position-top{border-top:1px solid #d0d0d0;border-bottom:0 none;border-radius:3px 3px 0 0;box-shadow:0 -6px 12px rgba(0,0,0,0.18)}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active{border-radius:0 0 3px 3px;border-top:0 none}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active::before{top:0;bottom:unset}.selectize-control{position:relative}.selectize-dropdown,.selectize-input,.selectize-input input{color:#303030;font-family:inherit;font-size:13px;line-height:18px;font-smoothing:inherit}.selectize-input,.selectize-control.single .selectize-input.input-active{background:#fff;cursor:text;display:inline-block}.selectize-input{border:1px solid #d0d0d0;padding:8px 8px;display:inline-block;width:100%;position:relative;z-index:1;box-sizing:border-box;box-shadow:inset 0 1px 1px rgba(0,0,0,0.1);border-radius:3px}.selectize-control.multi .selectize-input.has-items{padding:calc(8px - 2px - 1px) 8px calc(8px - 2px - 3px - 1px)}.selectize-input.full{background-color:#fff}.selectize-input.disabled,.selectize-input.disabled *{cursor:default !important}.selectize-input.focus{box-shadow:inset 0 1px 2px rgba(0,0,0,0.15)}.selectize-input.dropdown-active{border-radius:3px 3px 0 0}.selectize-input>*{vertical-align:baseline;display:inline-block;zoom:1}.selectize-control.multi .selectize-input>div{cursor:pointer;margin:0 3px 3px 0;padding:2px 6px;background:#1da7ee;color:#fff;border:1px solid #0073bb}.selectize-control.multi .selectize-input>div.active{background:#92c836;color:#fff;border:1px solid #00578d}.selectize-control.multi .selectize-input.disabled>div,.selectize-control.multi .selectize-input.disabled>div.active{color:white;background:#d2d2d2;border:1px solid #aaa}.selectize-input>input{display:inline-block !important;padding:0 !important;min-height:0 !important;max-height:none !important;max-width:100% !important;margin:0 !important;text-indent:0 !important;border:0 none !important;background:none !important;line-height:inherit !important;user-select:auto !important;box-shadow:none !important}.selectize-input>input::-ms-clear{display:none}.selectize-input>input:focus{outline:none !important}.selectize-input>input[placeholder]{box-sizing:initial}.selectize-input.has-items>input{margin:0 0 !important}.selectize-input::after{content:" ";display:block;clear:left}.selectize-input.dropdown-active::before{content:" ";display:block;position:absolute;background:#f0f0f0;height:1px;bottom:0;left:0;right:0}.selectize-dropdown{position:absolute;top:100%;left:0;width:100%;z-index:10;border:1px solid #d0d0d0;background:#fff;margin:-1px 0 0 0;border-top:0 none;box-sizing:border-box;box-shadow:0 1px 3px rgba(0,0,0,0.1);border-radius:0 0 3px 3px}.selectize-dropdown [data-selectable]{cursor:pointer;overflow:hidden}.selectize-dropdown [data-selectable] .highlight{background:rgba(125,168,208,0.2);border-radius:1px}.selectize-dropdown .option,.selectize-dropdown .optgroup-header,.selectize-dropdown .no-results,.selectize-dropdown .create{padding:5px 8px}.selectize-dropdown .option,.selectize-dropdown [data-disabled],.selectize-dropdown [data-disabled] [data-selectable].option{cursor:inherit;opacity:.5}.selectize-dropdown [data-selectable].option{opacity:1;cursor:pointer}.selectize-dropdown .optgroup:first-child .optgroup-header{border-top:0 none}.selectize-dropdown .optgroup-header{color:#303030;background:#fff;cursor:default}.selectize-dropdown .active{background-color:#92c836;color:#fff}.selectize-dropdown .active.create{color:#495c68}.selectize-dropdown .selected{background-color:#92c836;color:#fff}.selectize-dropdown .create{color:rgba(48,48,48,0.5)}.selectize-dropdown .active:not(.selected){background:#f5fafd;color:#495c68}.selectize-dropdown-content{overflow-y:auto;overflow-x:hidden;max-height:200px;overflow-scrolling:touch}.selectize-dropdown-emptyoptionlabel{text-align:center}.selectize-dropdown .spinner{display:inline-block;width:30px;height:30px;margin:5px 8px}.selectize-dropdown .spinner:after{content:" ";display:block;width:24px;height:24px;margin:3px;border-radius:50%;border:5px solid #d0d0d0;border-color:#d0d0d0 transparent #d0d0d0 transparent;animation:lds-dual-ring 1.2s linear infinite}@keyframes lds-dual-ring{0%{transform:rotate(0)}100%{transform:rotate(360deg)}}.selectize-control.single .selectize-input,.selectize-control.single .selectize-input input{cursor:pointer}.selectize-control.single .selectize-input.input-active,.selectize-control.single .selectize-input.input-active input:not(:read-only){cursor:text}.selectize-control.single .selectize-input:not(.no-arrow):after{content:" ";display:block;position:absolute;top:50%;right:15px;margin-top:-3px;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:#808080 transparent transparent transparent}.selectize-control.single .selectize-input:not(.no-arrow).dropdown-active:after{margin-top:-4px;border-width:0 5px 5px 5px;border-color:transparent transparent #808080 transparent}.selectize-control.rtl{text-align:right}.selectize-control.rtl.single .selectize-input:after{left:15px;right:auto}.selectize-control.rtl .selectize-input>input{margin:0 4px 0 -2px !important}.selectize-control .selectize-input.disabled{opacity:.5;background-color:#fafafa}.selectize-control.multi .selectize-input.has-items{padding-left:5px;padding-right:5px}.selectize-control.multi .selectize-input.disabled [data-value]{color:#999;text-shadow:none;background:0;box-shadow:none}.selectize-control.multi .selectize-input.disabled [data-value],.selectize-control.multi .selectize-input.disabled [data-value] .remove{border-color:#e6e6e6}.selectize-control.multi .selectize-input.disabled [data-value] .remove{background:0}.selectize-control.multi .selectize-input [data-value]{text-shadow:0 1px 0 rgba(0,51,83,0.3);border-radius:3px;background-color:#1b9dec;background-image:linear-gradient(to bottom,#1da7ee,#178ee9);background-repeat:repeat-x;box-shadow:0 1px 0 rgba(0,0,0,0.2),inset 0 1px rgba(255,255,255,0.03)}.selectize-control.multi .selectize-input [data-value].active{background-color:#0085d4;background-image:linear-gradient(to bottom,#008fd8,#0075cf);background-repeat:repeat-x}.selectize-control.single .selectize-input{box-shadow:0 1px 0 rgba(0,0,0,0.05),inset 0 1px 0 rgba(255,255,255,0.8);background-color:#f9f9f9;background-image:linear-gradient(to bottom,#fefefe,#f2f2f2);background-repeat:repeat-x}.selectize-control.single .selectize-input,.selectize-dropdown.single{border-color:#b8b8b8}.selectize-dropdown .optgroup-header{padding-top:7px;font-weight:bold;font-size:.85em}.selectize-dropdown .optgroup{border-top:1px solid #f0f0f0}.selectize-dropdown .optgroup:first-child{border-top:0 none}.selectize-dropdown.plugin-auto_position.selectize-position-top{border-top:1px solid #d0d0d0;border-bottom:0 none;border-radius:3px 3px 0 0;box-shadow:0 -6px 12px rgba(0,0,0,0.18)}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active{border-radius:0 0 3px 3px;border-top:0 none}.selectize-control.plugin-auto_position .selectize-input.selectize-position-top.dropdown-active::before{top:0;bottom:unset}.selectize-control.plugin-clear_button .clear{text-decoration:none;display:flex;position:absolute;height:100%;width:25px;top:0;right:calc(8px - 6px);color:#000;opacity:.4;font-weight:bold;border:0;cursor:pointer;z-index:1;font-size:21px;justify-content:center;align-items:center}.selectize-control.plugin-clear_button .clear:hover{opacity:1}.selectize-control.plugin-clear_button.single .clear{right:calc(8px - 6px + 1.5rem)}.selectize-control.plugin-drag_drop.multi>.selectize-input.dragging{overflow:visible}.selectize-control.plugin-drag_drop.multi>.selectize-input>div.ui-sortable-placeholder{visibility:visible !important;background:#f2f2f2 !important;background:rgba(0,0,0,0.06) !important;border:0 none !important;box-shadow:inset 0 0 12px 4px #fff}.selectize-control.plugin-drag_drop .ui-sortable-placeholder::after{content:"!";visibility:hidden}.selectize-control.plugin-drag_drop .ui-sortable-helper{box-shadow:0 2px 5px rgba(0,0,0,0.2)}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header{position:relative;padding:10px 8px;border-bottom:1px solid #d0d0d0;background:#f8f8f8;border-radius:3px 3px 0 0}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close{position:absolute;right:8px;top:50%;color:#303030;opacity:.4;margin-top:-12px;line-height:20px;font-size:20px !important;text-decoration:none}.selectize-dropdown.plugin-dropdown_header .selectize-dropdown-header-close:hover{color:black}.selectize-dropdown.plugin-optgroup_columns .selectize-dropdown-content{display:flex}.selectize-dropdown.plugin-optgroup_columns .optgroup{border-right:1px solid #f2f2f2;border-top:0 none;flex-grow:1;flex-basis:0;min-width:0}.selectize-dropdown.plugin-optgroup_columns .optgroup:last-child{border-right:0 none}.selectize-dropdown.plugin-optgroup_columns .optgroup:before{display:none}.selectize-dropdown.plugin-optgroup_columns .optgroup-header{border-top:0 none}.selectize-control.plugin-remove_button .item{display:inline-flex;align-items:center;padding-right:0 !important}.selectize-control.plugin-remove_button .item .remove{color:inherit;text-decoration:none;vertical-align:middle;display:inline-block;padding:2px 6px;border-left:1px solid #0073bb;border-radius:0 2px 2px 0;box-sizing:border-box;margin-left:6px}.selectize-control.plugin-remove_button .item .remove:hover{background:rgba(0,0,0,0.05)}.selectize-control.plugin-remove_button .item.active .remove{border-left-color:#00578d}.selectize-control.plugin-remove_button .disabled .item .remove:hover{background:0}.selectize-control.plugin-remove_button .disabled .item .remove{border-left-color:#aaa}

================================================
FILE: dist/js/selectize.js
================================================
/**
 * Selectize (v0.15.2)
 * https://selectize.dev
 *
 * Copyright (c) 2013-2015 Brian Reavis & contributors
 * Copyright (c) 2020-2023 Selectize Team & contributors
 *
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this
 * file except in compliance with the License. You may obtain a copy of the License at:
 * http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software distributed under
 * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF
 * ANY KIND, either express or implied. See the License for the specific language
 * governing permissions and limitations under the License.
 *
 * @author Brian Reavis <brian@thirdroute.com>
 * @author Ris Adams <selectize@risadams.com>
 */
(function (root, factory) {
  if (typeof define === 'function' && define.amd) {
    define(['jquery'], factory);
  } else if (typeof module === 'object' && typeof module.exports === 'object') {
    module.exports = factory(require('jquery'));
  } else {
    root.Selectize = factory(root.jQuery);
  }
}(this, function ($) {
  'use strict';
var highlight = function ($element, pattern) {
  if (typeof pattern === 'string' && !pattern.length) return;
  var regex = (typeof pattern === 'string') ? new RegExp(pattern, 'i') : pattern;

  var highlight = function (node) {
    var skip = 0;
    if (node.nodeType === 3) {
      var pos = node.data.search(regex);
      if (pos >= 0 && node.data.length > 0) {
        var match = node.data.match(regex);
        var spannode = document.createElement('span');
        spannode.className = 'highlight';
        var middlebit = node.splitText(pos);
        var endbit = middlebit.splitText(match[0].length);
        var middleclone = middlebit.cloneNode(true);
        spannode.appendChild(middleclone);
        middlebit.parentNode.replaceChild(spannode, middlebit);
        skip = 1;
      }
    }
    else if (node.nodeType === 1 && node.childNodes && !/(script|style)/i.test(node.tagName) && (node.className !== 'highlight' || node.tagName !== 'SPAN')) {
      for (var i = 0; i < node.childNodes.length; ++i) {
        i += highlight(node.childNodes[i]);
      }
    }
    return skip;
  };

  return $element.each(function () {
    highlight(this);
  });
};

$.fn.removeHighlight = function () {
  return this.find("span.highlight").each(function () {
    this.parentNode.firstChild.nodeName;
    var parent = this.parentNode;
    parent.replaceChild(this.firstChild, this);
    parent.normalize();
  }).end();
};

var MicroEvent = function () { };
MicroEvent.prototype = {
  on: function (event, fct) {
    this._events = this._events || {};
    this._events[event] = this._events[event] || [];
    this._events[event].push(fct);
  },
  off: function (event, fct) {
    var n = arguments.length;
    if (n === 0) return delete this._events;
    if (n === 1) return delete this._events[event];

    this._events = this._events || {};
    if (event in this._events === false) return;
    this._events[event].splice(this._events[event].indexOf(fct), 1);
  },
  trigger: function (event ) {
    const events = this._events = this._events || {};
    if (event in events === false) return;
    for (var i = 0; i < events[event].length; i++) {
      events[event][i].apply(this, Array.prototype.slice.call(arguments, 1));
    }
  }
};

MicroEvent.mixin = function (destObject) {
  var props = ['on', 'off', 'trigger'];
  for (var i = 0; i < props.length; i++) {
    destObject.prototype[props[i]] = MicroEvent.prototype[props[i]];
  }
};

var MicroPlugin = {};
MicroPlugin.mixin = function (Interface) {

  Interface.plugins = {};

  Interface.prototype.initializePlugins = function (plugins) {
    var i, n, key;
    var self = this;
    var queue = [];

    self.plugins = {
      names: [],
      settings: {},
      requested: {},
      loaded: {}
    };

    if (isArray(plugins)) {
      for (i = 0, n = plugins.length; i < n; i++) {
        if (typeof plugins[i] === 'string') {
          queue.push(plugins[i]);
        } else {
          self.plugins.settings[plugins[i].name] = plugins[i].options;
          queue.push(plugins[i].name);
        }
      }
    } else if (plugins) {
      for (key in plugins) {
        if (plugins.hasOwnProperty(key)) {
          self.plugins.settings[key] = plugins[key];
          queue.push(key);
        }
      }
    }

    while (queue.length) {
      self.require(queue.shift());
    }
  };


  Interface.prototype.loadPlugin = function (name) {
    var self = this;
    var plugins = self.plugins;
    var plugin = Interface.plugins[name];

    if (!Interface.plugins.hasOwnProperty(name)) {
      throw new Error('Unable to find "' + name + '" plugin');
    }

    plugins.requested[name] = true;
    plugins.loaded[name] = plugin.fn.apply(self, [self.plugins.settings[name] || {}]);
    plugins.names.push(name);
  };

  Interface.prototype.require = function (name) {
    var self = this;
    var plugins = self.plugins;

    if (!self.plugins.loaded.hasOwnProperty(name)) {
      if (plugins.requested[name]) {
        throw new Error('Plugin has circular dependency ("' + name + '")');
      }
      self.loadPlugin(name);
    }

    return plugins.loaded[name];
  };

  Interface.define = function (name, fn) {
    Interface.plugins[name] = {
      'name': name,
      'fn': fn
    };
  };
};

const nanoid = (t = 21) => crypto.getRandomValues(new Uint8Array(t))
  .reduce(((t, e) =>
    t += (e &= 63) < 36 ? e.toString(36) :
      e < 62 ? (e - 26).toString(36).toUpperCase()
        : e > 62 ? "-" : "_"), "");


var Sifter = function (items, settings) {
  this.items = items;
  this.settings = settings || { diacritics: true };
};

Sifter.prototype.tokenize = function (query, respect_word_boundaries) {
  query = trim(String(query || '').toLowerCase());
  if (!query || !query.length) return [];

  var i, n, regex, letter;
  var tokens = [];
  var words = query.split(/ +/);

  for (i = 0, n = words.length; i < n; i++) {
    regex = escape_regex(words[i]);
    if (this.settings.diacritics) {
      for (letter in DIACRITICS) {
        if (DIACRITICS.hasOwnProperty(letter)) {
          regex = regex.replace(new RegExp(letter, 'g'), DIACRITICS[letter]);
        }
      }
    }
    if (respect_word_boundaries) regex = "\\b" + regex
    tokens.push({
      string: words[i],
      regex: new RegExp(regex, 'i')
    });
  }

  return tokens;
};

Sifter.prototype.iterator = function (object, callback) {
  var iterator;
  if (is_array(object)) {
    iterator = Array.prototype.forEach || function (callback) {
      for (var i = 0, n = this.length; i < n; i++) {
        callback(this[i], i, this);
      }
    };
  } else {
    iterator = function (callback) {
      for (var key in this) {
        if (this.hasOwnProperty(key)) {
          callback(this[key], key, this);
        }
      }
    };
  }

  iterator.apply(object, [callback]);
};

Sifter.prototype.getScoreFunction = function (search, options) {
  var self, fields, tokens, token_count, nesting;

  self = this;
  search = self.prepareSearch(search, options);
  tokens = search.tokens;
  fields = search.options.fields;
  token_count = tokens.length;
  nesting = search.options.nesting;

  var scoreValue = function (value, token) {
    var score, pos;

    if (!value) return 0;
    value = String(value || '');
    pos = value.search(token.regex);
    if (pos === -1) return 0;
    score = token.string.length / value.length;
    if (pos === 0) score += 0.5;
    return score;
  };

  var scoreObject = (function () {
    var field_count = fields.length;
    if (!field_count) {
      return function () { return 0; };
    }
    if (field_count === 1) {
      return function (token, data) {
        return scoreValue(getattr(data, fields[0], nesting), token);
      };
    }
    return function (token, data) {
      for (var i = 0, sum = 0; i < field_count; i++) {
        sum += scoreValue(getattr(data, fields[i], nesting), token);
      }
      return sum / field_count;
    };
  })();

  if (!token_count) {
    return function () { return 0; };
  }
  if (token_count === 1) {
    return function (data) {
      return scoreObject(tokens[0], data);
    };
  }

  if (search.options.conjunction === 'and') {
    return function (data) {
      var score;
      for (var i = 0, sum = 0; i < token_count; i++) {
        score = scoreObject(tokens[i], data);
        if (score <= 0) return 0;
        sum += score;
      }
      return sum / token_count;
    };
  } else {
    return function (data) {
      for (var i = 0, sum = 0; i < token_count; i++) {
        sum += scoreObject(tokens[i], data);
      }
      return sum / token_count;
    };
  }
};

Sifter.prototype.getSortFunction = function (search, options) {
  var i, n, self, field, fields, fields_count, multiplier, multipliers, get_field, implicit_score, sort;

  self = this;
  search = self.prepareSearch(search, options);
  sort = (!search.query && options.sort_empty) || options.sort;

  get_field = function (name, result) {
    if (name === '$score') return result.score;
    return getattr(self.items[result.id], name, options.nesting);
  };

  fields = [];
  if (sort) {
    for (i = 0, n = sort.length; i < n; i++) {
      if (search.query || sort[i].field !== '$score') {
        fields.push(sort[i]);
      }
    }
  }

  if (search.query) {
    implicit_score = true;
    for (i = 0, n = fields.length; i < n; i++) {
      if (fields[i].field === '$score') {
        implicit_score = false;
        break;
      }
    }
    if (implicit_score) {
      fields.unshift({ field: '$score', direction: 'desc' });
    }
  } else {
    for (i = 0, n = fields.length; i < n; i++) {
      if (fields[i].field === '$score') {
        fields.splice(i, 1);
        break;
      }
    }
  }

  multipliers = [];
  for (i = 0, n = fields.length; i < n; i++) {
    multipliers.push(fields[i].direction === 'desc' ? -1 : 1);
  }

  fields_count = fields.length;
  if (!fields_count) {
    return null;
  } else if (fields_count === 1) {
    field = fields[0].field;
    multiplier = multipliers[0];
    return function (a, b) {
      return multiplier * cmp(
        get_field(field, a),
        get_field(field, b)
      );
    };
  } else {
    return function (a, b) {
      var i, result, a_value, b_value, field;
      for (i = 0; i < fields_count; i++) {
        field = fields[i].field;
        result = multipliers[i] * cmp(
          get_field(field, a),
          get_field(field, b)
        );
        if (result) return result;
      }
      return 0;
    };
  }
};

Sifter.prototype.prepareSearch = function (query, options) {
  if (typeof query === 'object') return query;

  options = extend({}, options);

  var option_fields = options.fields;
  var option_sort = options.sort;
  var option_sort_empty = options.sort_empty;

  if (option_fields && !is_array(option_fields)) options.fields = [option_fields];
  if (option_sort && !is_array(option_sort)) options.sort = [option_sort];
  if (option_sort_empty && !is_array(option_sort_empty)) options.sort_empty = [option_sort_empty];

  return {
    options: options,
    query: String(query || '').toLowerCase(),
    tokens: this.tokenize(query, options.respect_word_boundaries),
    total: 0,
    items: []
  };
};

Sifter.prototype.search = function (query, options) {
  var self = this, value, score, search, calculateScore;
  var fn_sort;
  var fn_score;

  search = this.prepareSearch(query, options);
  options = search.options;
  query = search.query;

  fn_score = options.score || self.getScoreFunction(search);

  if (query.length) {
    self.iterator(self.items, function (item, id) {
      score = fn_score(item);
      if (options.filter === false || score > 0) {
        search.items.push({ 'score': score, 'id': id });
      }
    });
  } else {
    self.iterator(self.items, function (item, id) {
      search.items.push({ 'score': 1, 'id': id });
    });
  }

  fn_sort = self.getSortFunction(search, options);
  if (fn_sort) search.items.sort(fn_sort);

  search.total = search.items.length;
  if (typeof options.limit === 'number') {
    search.items = search.items.slice(0, options.limit);
  }

  return search;
};

var cmp = function (a, b) {
  if (typeof a === 'number' && typeof b === 'number') {
    return a > b ? 1 : (a < b ? -1 : 0);
  }
  a = asciifold(String(a || ''));
  b = asciifold(String(b || ''));
  if (a > b) return 1;
  if (b > a) return -1;
  return 0;
};

var extend = function (a, b) {
  var i, n, k, object;
  for (i = 1, n = arguments.length; i < n; i++) {
    object = arguments[i];
    if (!object) continue;
    for (k in object) {
      if (object.hasOwnProperty(k)) {
        a[k] = object[k];
      }
    }
  }
  return a;
};

var getattr = function (obj, name, nesting) {
  if (!obj || !name) return;
  if (!nesting) return obj[name];
  var names = name.split(".");
  while (names.length && (obj = obj[names.shift()]));
  return obj;
};

var trim = function (str) {
  return (str + '').replace(/^\s+|\s+$|/g, '');
};

var escape_regex = function (str) {
  return (str + '').replace(/([.?*+^$[\]\\(){}|-])/g, '\\$1');
};

var is_array = Array.isArray || function (object) {
  return Object.prototype.toString.call(object) === '[object Array]';
};

var DIACRITICS = {
  'a': '[aḀḁĂăÂâǍǎȺⱥȦȧẠạÄäÀàÁáĀāÃãÅåąĄÃąĄ]',
  'b': '[b␢βΒB฿𐌁ᛒ]',
  'c': '[cĆćĈĉČčĊċC̄c̄ÇçḈḉȻȼƇƈɕᴄCc]',
  'd': '[dĎďḊḋḐḑḌḍḒḓḎḏĐđD̦d̦ƉɖƊɗƋƌᵭᶁᶑȡᴅDdð]',
  'e': '[eÉéÈèÊêḘḙĚěĔĕẼẽḚḛẺẻĖėËëĒēȨȩĘęᶒɆɇȄȅẾếỀềỄễỂểḜḝḖḗḔḕȆȇẸẹỆệⱸᴇEeɘǝƏƐε]',
  'f': '[fƑƒḞḟ]',
  'g': '[gɢ₲ǤǥĜĝĞğĢģƓɠĠġ]',
  'h': '[hĤĥĦħḨḩẖẖḤḥḢḣɦʰǶƕ]',
  'i': '[iÍíÌìĬĭÎîǏǐÏïḮḯĨĩĮįĪīỈỉȈȉȊȋỊịḬḭƗɨɨ̆ᵻᶖİiIıɪIi]',
  'j': '[jȷĴĵɈɉʝɟʲ]',
  'k': '[kƘƙꝀꝁḰḱǨǩḲḳḴḵκϰ₭]',
  'l': '[lŁłĽľĻļĹĺḶḷḸḹḼḽḺḻĿŀȽƚⱠⱡⱢɫɬᶅɭȴʟLl]',
  'n': '[nŃńǸǹŇňÑñṄṅŅņṆṇṊṋṈṉN̈n̈ƝɲȠƞᵰᶇɳȵɴNnŊŋ]',
  'o': '[oØøÖöÓóÒòÔôǑǒŐőŎŏȮȯỌọƟɵƠơỎỏŌōÕõǪǫȌȍՕօ]',
  'p': '[pṔṕṖṗⱣᵽƤƥᵱ]',
  'q': '[qꝖꝗʠɊɋꝘꝙq̃]',
  'r': '[rŔŕɌɍŘřŖŗṘṙȐȑȒȓṚṛⱤɽ]',
  's': '[sŚśṠṡṢṣꞨꞩŜŝŠšŞşȘșS̈s̈]',
  't': '[tŤťṪṫŢţṬṭƮʈȚțṰṱṮṯƬƭ]',
  'u': '[uŬŭɄʉỤụÜüÚúÙùÛûǓǔŰűŬŭƯưỦủŪūŨũŲųȔȕ∪]',
  'v': '[vṼṽṾṿƲʋꝞꝟⱱʋ]',
  'w': '[wẂẃẀẁŴŵẄẅẆẇẈẉ]',
  'x': '[xẌẍẊẋχ]',
  'y': '[yÝýỲỳŶŷŸÿỸỹẎẏỴỵɎɏƳƴ]',
  'z': '[zŹźẐẑŽžŻżẒẓẔẕƵƶ]'
};

var asciifold = (function () {
  var i, n, k, chunk;
  var i18nChars = '';
  var lookup = {};
  for (k in DIACRITICS) {
    if (DIACRITICS.hasOwnProperty(k)) {
      chunk = DIACRITICS[k].substring(2, DIACRITICS[k].length - 1);
      i18nChars += chunk;
      for (i = 0, n = chunk.length; i < n; i++) {
        lookup[chunk.charAt(i)] = k;
      }
    }
  }
  var regexp = new RegExp('[' + i18nChars + ']', 'g');
  return function (str) {
    return str.replace(regexp, function (i18nChar) {
      return lookup[i18nChar];
    }).toLowerCase();
  };
})();

var IS_MAC = uaDetect("macOS", /Mac/);
var KEY_A = 65;
var KEY_COMMA = 188;
var KEY_RETURN = 13;
var KEY_ESC = 27;
var KEY_LEFT = 37;
var KEY_UP = 38;
var KEY_P = 80;
var KEY_RIGHT = 39;
var KEY_DOWN = 40;
var KEY_N = 78;
var KEY_BACKSPACE = 8;
var KEY_DELETE = 46;
var KEY_SHIFT = 16;
var KEY_CMD = IS_MAC ? 91 : 17;
var KEY_CTRL = IS_MAC ? 18 : 17;
var KEY_TAB = 9;
var TAG_SELECT = 1;
var TAG_INPUT = 2;

var SUPPORTS_VALIDITY_API = !uaDetect("Android", /android/i) && !!document.createElement('input').validity;

var isset = function (object) {
  return typeof object !== 'undefined';
};

var isArray = Array.isArray || function (vArg) {
  return Object.prototype.toString.call(vArg) === '[object Array]';
}

var hash_key = function (value) {
  if (typeof value === 'undefined' || value === null) return null;
  if (typeof value === 'boolean') return value ? '1' : '0';
  return value + '';
};

var escape_html = function (str) {
  return (str + '')
    .replace(/&/g, '&amp;')
    .replace(/</g, '&lt;')
    .replace(/>/g, '&gt;')
    .replace(/"/g, '&quot;');
};

var escape_replace = function (str) {
  return (str + '').replace(/\$/g, '$$$$');
};

var hook = {};

hook.before = function (self, method, fn) {
  var original = self[method];
  self[method] = function () {
    fn.apply(self, arguments);
    return original.apply(self, arguments);
  };
};

hook.after = function (self, method, fn) {
  var original = self[method];
  self[method] = function () {
    var result = original.apply(self, arguments);
    fn.apply(self, arguments);
    return result;
  };
};

var once = function (fn) {
  var called = false;
  return function () {
    if (called) return;
    called = true;
    fn.apply(this, arguments);
  };
};

var debounce = function (fn, delay) {
  var timeout;
  return function () {
    var self = this;
    var args = arguments;
    window.clearTimeout(timeout);
    timeout = window.setTimeout(function () {
      fn.apply(self, args);
    }, delay);
  };
};

var debounce_events = function (self, types, fn) {
  var type;
  var trigger = self.trigger;
  var event_args = {};

  self.trigger = function () {
    var type = arguments[0];
    if (types.indexOf(type) !== -1) {
      event_args[type] = arguments;
    } else {
      return trigger.apply(self, arguments);
    }
  };

  fn.apply(self, []);
  self.trigger = trigger;

  for (type in event_args) {
    if (event_args.hasOwnProperty(type)) {
      trigger.apply(self, event_args[type]);
    }
  }
};

var watchChildEvent = function ($parent, event, selector, fn) {
  $parent.on(event, selector, function (e) {
    var child = e.target;
    while (child && child.parentNode !== $parent[0]) {
      child = child.parentNode;
    }
    e.currentTarget = child;
    return fn.apply(this, [e]);
  });
};

var getInputSelection = function (input) {
  var result = {};
  if (input === undefined) {
    console.warn('WARN getInputSelection cannot locate input control');
    return result;
  }
  if ('selectionStart' in input) {
    result.start = input.selectionStart;
    result.length = input.selectionEnd - result.start;
  } else if (document.selection) {
    input.focus();
    var sel = document.selection.createRange();
    var selLen = document.selection.createRange().text.length;
    sel.moveStart('character', -input.value.length);
    result.start = sel.text.length - selLen;
    result.length = selLen;
  }
  return result;
};

var transferStyles = function ($from, $to, properties) {
  var i, n, styles = {};
  if (properties) {
    for (i = 0, n = properties.length; i < n; i++) {
      styles[properties[i]] = $from.css(properties[i]);
    }
  } else {
    styles = $from.css();
  }
  $to.css(styles);
};

var measureString = function (str, $parent) {
  if (!str) {
    return 0;
  }

  if (!Selectize.$testInput) {
    Selectize.$testInput = $('<span />').css({
      position: 'absolute',
      width: 'auto',
      padding: 0,
      whiteSpace: 'pre'
    });

    $('<div />').css({
      position: 'absolute',
      width: 0,
      height: 0,
      overflow: 'hidden'
    }).attr({
      'aria-hidden': true
    }).append(Selectize.$testInput).appendTo('body');
  }

  Selectize.$testInput.text(str);

  transferStyles($parent, Selectize.$testInput, [
    'letterSpacing',
    'fontSize',
    'fontFamily',
    'fontWeight',
    'textTransform'
  ]);

  return Selectize.$testInput.width();
};

var autoGrow = function ($input) {
  var currentWidth = null;

  var update = function (e, options) {
    var value, keyCode, printable, width;
    var placeholder, placeholderWidth;
    var shift, character, selection;
    e = e || window.event || {};
    options = options || {};

    if (e.metaKey || e.altKey) return;
    if (!options.force && $input.data('grow') === false) return;

    value = $input.val();
    if (e.type && e.type.toLowerCase() === 'keydown') {
      keyCode = e.keyCode;
      printable = (
        (keyCode >= 48 && keyCode <= 57) || 
        (keyCode >= 65 && keyCode <= 90) || 
        (keyCode >= 96 && keyCode <= 111) || 
        (keyCode >= 186 && keyCode <= 222) || 
        keyCode === 32 
      );

      if (keyCode === KEY_DELETE || keyCode === KEY_BACKSPACE) {
        selection = getInputSelection($input[0]);
        if (selection.length) {
          value = value.substring(0, selection.start) + value.substring(selection.start + selection.length);
        } else if (keyCode === KEY_BACKSPACE && selection.start) {
          value = value.substring(0, selection.start - 1) + value.substring(selection.start + 1);
        } else if (keyCode === KEY_DELETE && typeof selection.start !== 'undefined') {
          value = value.substring(0, selection.start) + value.substring(selection.start + 1);
        }
      } else if (printable) {
        shift = e.shiftKey;
        character = String.fromCharCode(e.keyCode);
        if (shift) character = character.toUpperCase();
        else character = character.toLowerCase();
        value += character;
      }
    }

    var width = $input.attr('readonly') ? 0 : 4;
    placeholder = $input.attr('placeholder');
    if (placeholder) {
      placeholderWidth = measureString(placeholder, $input) + width;
    } else {
      placeholderWidth = 0;
    }

    width = Math.max(measureString(value, $input), placeholderWidth) + width;
    if (width !== currentWidth) {
      currentWidth = width;
      $input.width(width);
      $input.triggerHandler('resize');
    }
  };

  $input.on('keydown keyup update blur', update);
  update();
};

var domToString = function (d) {
  var tmp = document.createElement('div');

  tmp.appendChild(d.cloneNode(true));

  return tmp.innerHTML;
};

var logError = function (message, options) {
  if (!options) options = {};
  var component = "Selectize";

  console.error(component + ": " + message)

  if (options.explanation) {
    if (console.group) console.group();
    console.error(options.explanation);
    if (console.group) console.groupEnd();
  }
};

var isJSON = function (data) {
  try {
    JSON.parse(data);
  } catch (e) {
    return false;
  }
  return true;
};

function uaDetect(platform, re) {
  if (navigator.userAgentData) {
    return platform === navigator.userAgentData.platform;
  }

  return re.test(navigator.userAgent);
}

var Selectize = function($input, settings) {
	var key, i, n, dir, input, self = this;
	input = $input[0];
	input.selectize = self;

	var computedStyle = window.getComputedStyle && window.getComputedStyle(input, null);
	dir = computedStyle ? computedStyle.getPropertyValue('direction') : input.currentStyle && input.currentStyle.direction;
  dir = dir || $input.parents('[dir]:first').attr('dir') || '';

  self.settings = {};

	$.extend(self, {
		order            : 0,
		settings         : settings,
		$input           : $input,
		tabIndex         : $input.attr('tabindex') || '',
		tagType          : input.tagName.toLowerCase() === 'select' ? TAG_SELECT : TAG_INPUT,
		rtl              : /rtl/i.test(dir),

		eventNS          : '.selectize' + (++Selectize.count),
		highlightedValue : null,
		isBlurring       : false,
		isOpen           : false,
		isDisabled       : false,
		isRequired       : $input.is('[required]'),
		isInvalid        : false,
		isLocked         : false,
		isFocused        : false,
		isInputHidden    : false,
		isSetup          : false,
		isShiftDown      : false,
		isCmdDown        : false,
		isCtrlDown       : false,
		ignoreFocus      : false,
		ignoreBlur       : false,
		ignoreHover      : false,
		hasOptions       : false,
		currentResults   : null,
		lastValue        : '',
		lastValidValue   : '',
		lastOpenTarget   : false,
		caretPos         : 0,
		loading          : 0,
		loadedSearches   : {},
    isDropdownClosing: false,

		$activeOption    : null,
		$activeItems     : [],

		optgroups        : {},
		options          : {},
		userOptions      : {},
		items            : [],
		renderCache      : {},
		onSearchChange   : settings.loadThrottle === null ? self.onSearchChange : debounce(self.onSearchChange, settings.loadThrottle)
	});

	self.sifter = new Sifter(this.options, {diacritics: settings.diacritics});

	if (self.settings.options) {
		for (i = 0, n = self.settings.options.length; i < n; i++) {
			self.registerOption(self.settings.options[i]);
		}
		delete self.settings.options;
  }

	if (self.settings.optgroups) {
		for (i = 0, n = self.settings.optgroups.length; i < n; i++) {
			self.registerOptionGroup(self.settings.optgroups[i]);
		}
		delete self.settings.optgroups;
	}

	self.settings.mode = self.settings.mode || (self.settings.maxItems === 1 ? 'single' : 'multi');
	if (typeof self.settings.hideSelected !== 'boolean') {
		self.settings.hideSelected = self.settings.mode === 'multi';
	}

	self.initializePlugins(self.settings.plugins);
	self.setupCallbacks();
	self.setupTemplates();
	self.setup();
};

MicroEvent.mixin(Selectize);
MicroPlugin.mixin(Selectize);

$.extend(Selectize.prototype, {

	setup: function() {
		var self      = this;
		var settings  = self.settings;
		var eventNS   = self.eventNS;
		var $window   = $(window);
		var $document = $(document);
		var $input    = self.$input;

		var $wrapper;
		var $control;
		var $control_input;
		var $dropdown;
		var $dropdown_content;
		var $dropdown_parent;
		var inputMode;
		var timeout_blur;
		var timeout_focus;
		var classes;
		var classes_plugins;
		var inputId;
    var noArrowClass;

		inputMode         = self.settings.mode;
    classes           = $input.attr('class') || '';
    noArrowClass      = settings.showArrow ? '' : ' no-arrow';

    $wrapper          = $('<div>').addClass(settings.wrapperClass).addClass(classes + ' selectize-control').addClass(inputMode);
		$control          = $('<div>').addClass(settings.inputClass + noArrowClass + ' selectize-input items').appendTo($wrapper);
		$control_input    = $('<input type="text" autocomplete="new-password" autofill="no" />').appendTo($control).attr('tabindex', $input.is(':disabled') ? '-1' : self.tabIndex);
		$dropdown_parent  = $(settings.dropdownParent || $wrapper);
		$dropdown         = $('<div>').addClass(settings.dropdownClass).addClass(inputMode + ' selectize-dropdown').hide().appendTo($dropdown_parent);
		$dropdown_content = $('<div>').addClass(settings.dropdownContentClass + ' selectize-dropdown-content').attr('tabindex', '-1').appendTo($dropdown);

		if(inputId = $input.attr('id')) {
			$control_input.attr('id', inputId + '-selectized');
			$("label[for='"+inputId+"']").attr('for', inputId + '-selectized');
		}

		if(self.settings.copyClassesToDropdown) {
			$dropdown.addClass(classes);
		}

		$wrapper.css({
			width: $input[0].style.width
		});

		if (self.plugins.names.length) {
			classes_plugins = 'plugin-' + self.plugins.names.join(' plugin-');
			$wrapper.addClass(classes_plugins);
			$dropdown.addClass(classes_plugins);
		}

		if ((settings.maxItems === null || settings.maxItems > 1) && self.tagType === TAG_SELECT) {
			$input.attr('multiple', 'multiple');
		}

		if (self.settings.placeholder) {
			$control_input.attr('placeholder', settings.placeholder);
		}

    if (!self.settings.search) {
      $control_input.attr('readonly', true);
	    $control_input.attr('inputmode', 'none');
      $control.css('cursor', 'pointer');
    }

		if (!self.settings.splitOn && self.settings.delimiter) {
			var delimiterEscaped = self.settings.delimiter.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
			self.settings.splitOn = new RegExp('\\s*' + delimiterEscaped + '+\\s*');
		}

		if ($input.attr('autocorrect')) {
			$control_input.attr('autocorrect', $input.attr('autocorrect'));
		}

		if ($input.attr('autocapitalize')) {
			$control_input.attr('autocapitalize', $input.attr('autocapitalize'));
		}
		if ($input.is('input')) {
			$control_input[0].type = $input[0].type;
		}

		self.$wrapper          = $wrapper;
		self.$control          = $control;
		self.$control_input    = $control_input;
		self.$dropdown         = $dropdown;
		self.$dropdown_content = $dropdown_content;

		$dropdown.on('mouseenter mousedown mouseup click', '[data-disabled]>[data-selectable]', function(e) { e.stopImmediatePropagation(); });
		$dropdown.on('mouseenter', '[data-selectable]', function() { return self.onOptionHover.apply(self, arguments); });
		$dropdown.on('mouseup click', '[data-selectable]', function() { return self.onOptionSelect.apply(self, arguments); });
		watchChildEvent($control, 'mouseup', '*:not(input)', function() { return self.onItemSelect.apply(self, arguments); });
		autoGrow($control_input);

		$control.on({
			mousedown : function() { return self.onMouseDown.apply(self, arguments); },
			click     : function() { return self.onClick.apply(self, arguments); }
		});

		$control_input.on({
			mousedown : function(e) {
				if (self.$control_input.val() !== '' || self.settings.openOnFocus) {
					e.stopPropagation();
				}
			},
			keydown   : function() { return self.onKeyDown.apply(self, arguments); },
			keypress  : function() { return self.onKeyPress.apply(self, arguments); },
			input     : function() { return self.onInput.apply(self, arguments); },
			resize    : function() { self.positionDropdown.apply(self, []); },
			blur      : function() { return self.onBlur.apply(self, arguments); },
			focus     : function() { return self.onFocus.apply(self, arguments); },
			paste     : function() { return self.onPaste.apply(self, arguments); }
		});

		$document.on('keydown' + eventNS, function(e) {
			self.isCmdDown = e[IS_MAC ? 'metaKey' : 'ctrlKey'];
			self.isCtrlDown = e[IS_MAC ? 'altKey' : 'ctrlKey'];
			self.isShiftDown = e.shiftKey;
		});

		$document.on('keyup' + eventNS, function(e) {
			if (e.keyCode === KEY_CTRL) self.isCtrlDown = false;
			if (e.keyCode === KEY_SHIFT) self.isShiftDown = false;
			if (e.keyCode === KEY_CMD) self.isCmdDown = false;
		});

		$document.on('mousedown' + eventNS, function(e) {
			if (self.isFocused) {
				if (
					e.target === self.$dropdown[0] ||
					self.$dropdown.has(e.target).length)
				{
					return false;
				}
				if (e.target !== self.$control[0]) {
					self.blur(e.target);
				}
			}
		});

		$window.on(['scroll' + eventNS, 'resize' + eventNS].join(' '), function() {
			if (self.isOpen) {
				self.positionDropdown.apply(self, arguments);
			}
		});
		$window.on('mousemove' + eventNS, function() {
      self.ignoreHover = self.settings.ignoreHover;
		});

    var inputPlaceholder = $('<div></div>');
		var inputChildren = $input.children().detach();

    $input.replaceWith(inputPlaceholder);
    inputPlaceholder.replaceWith($input);

    this.revertSettings = {
			$children : inputChildren,
			tabindex  : $input.attr('tabindex')
		};

		$input.attr('tabindex', -1).hide().after(self.$wrapper);

		if (Array.isArray(settings.items)) {
			self.lastValidValue = settings.items;
			self.setValue(settings.items);
			delete settings.items;
		}

		if (SUPPORTS_VALIDITY_API) {
			$input.on('invalid' + eventNS, function(e) {
				e.preventDefault();
				self.isInvalid = true;
				self.refreshState();
			});
		}

		self.updateOriginalInput();
		self.refreshItems();
		self.refreshState();
		self.updatePlaceholder();
		self.isSetup = true;

		if ($input.is(':disabled')) {
			self.disable();
		}

		self.on('change', this.onChange);

		$input.data('selectize', self);
		$input.addClass('selectized');
		self.trigger('initialize');

		if (settings.preload === true) {
			self.onSearchChange('');
		}

	},

	setupTemplates: function() {
		var self = this;
		var field_label = self.settings.labelField;
		var field_value = self.settings.valueField;
		var field_optgroup = self.settings.optgroupLabelField;

		var templates = {
			'optgroup': function(data) {
				return '<div class="optgroup">' + data.html + '</div>';
			},
			'optgroup_header': function(data, escape) {
				return '<div class="optgroup-header">' + escape(data[field_optgroup]) + '</div>';
			},
			'option': function(data, escape) {
        var classes = data.classes ? ' ' + data.classes : '';
        classes += data[field_value] === '' ? ' selectize-dropdown-emptyoptionlabel' : '';

        var styles = data.styles ? ' style="' + data.styles +  '"': '';
				return '<div' + styles + ' class="option' + classes + '">' + escape(data[field_label]) + '</div>';
			},
			'item': function(data, escape) {
				return '<div class="item">' + escape(data[field_label]) + '</div>';
			},
			'option_create': function(data, escape) {
				return '<div class="create">Add <strong>' + escape(data.input) + '</strong>&#x2026;</div>';
			}
		};

		self.settings.render = $.extend({}, templates, self.settings.render);
	},

	setupCallbacks: function() {
		var key, fn, callbacks = {
			'initialize'      : 'onInitialize',
			'change'          : 'onChange',
			'item_add'        : 'onItemAdd',
			'item_remove'     : 'onItemRemove',
			'clear'           : 'onClear',
			'option_add'      : 'onOptionAdd',
			'option_remove'   : 'onOptionRemove',
			'option_clear'    : 'onOptionClear',
			'optgroup_add'    : 'onOptionGroupAdd',
			'optgroup_remove' : 'onOptionGroupRemove',
			'optgroup_clear'  : 'onOptionGroupClear',
			'dropdown_open'   : 'onDropdownOpen',
			'dropdown_close'  : 'onDropdownClose',
			'type'            : 'onType',
			'load'            : 'onLoad',
			'focus'           : 'onFocus',
			'blur'            : 'onBlur',
			'dropdown_item_activate'        : 'onDropdownItemActivate',
			'dropdown_item_deactivate'      : 'onDropdownItemDeactivate'
		};

		for (key in callbacks) {
			if (callbacks.hasOwnProperty(key)) {
				fn = this.settings[callbacks[key]];
				if (fn) this.on(key, fn);
			}
		}
	},

	onClick: function(e) {
		var self = this;

    if (self.isDropdownClosing) {
      return;
    }

		if (!self.isFocused || !self.isOpen) {
			self.focus();
			e.preventDefault();
		}
	},

	onMouseDown: function(e) {
		var self = this;
		var defaultPrevented = e.isDefaultPrevented();
		var $target = $(e.target);

		if (!self.isFocused) {
			if (!defaultPrevented) {
        window.setTimeout(function () {
          if (!self.isOpen) {
            self.focus();
          }
        }, 0);
			}
		}
		if ($target !== self.$control_input[0] || self.$control_input.val() === '') {
			if (self.settings.mode === 'single') {
				self.isOpen ? self.close() : self.open();
			} else {
				if (!defaultPrevented) {
						self.setActiveItem(null);
				}
				if (!self.settings.openOnFocus) {
					if (self.isOpen && $target === self.lastOpenTarget) {
						self.close();
						self.lastOpenTarget = false;
					} else if (!self.isOpen) {
						self.refreshOptions();
						self.open();
						self.lastOpenTarget = $target;
					} else {
						self.lastOpenTarget = $target;
					}
				}
			}
			return false;
		}
	},

	onChange: function() {
		var self = this;
		if (self.getValue() !== "") {
			self.lastValidValue = self.getValue();
		}
		this.$input.trigger('input');
		this.$input.trigger('change');
	},

	onPaste: function(e) {
		var self = this;

		if (self.isFull() || self.isInputHidden || self.isLocked) {
			e.preventDefault();
			return;
		}

		if (self.settings.splitOn) {

			setTimeout(function() {
				var pastedText = self.$control_input.val();
				if(!pastedText.match(self.settings.splitOn)){ return }

				var splitInput = pastedText
					.trim()
					.split(self.settings.splitOn);
				for (var i = 0, n = splitInput.length; i < n; i++) {
					self.createItem(splitInput[i]);
				}
			}, 0);
		}
	},

	onKeyPress: function(e) {
		if (this.isLocked) return e && e.preventDefault();
		var character = String.fromCharCode(e.keyCode || e.which);
		if (this.settings.create && this.settings.mode === 'multi' && character === this.settings.delimiter) {
			this.createItem();
			e.preventDefault();
			return false;
		}
	},

	onKeyDown: function(e) {
		var isInput = e.target === this.$control_input[0];
		var self = this;

		if (self.isLocked) {
			if (e.keyCode !== KEY_TAB) {
				e.preventDefault();
			}
			return;
		}

		switch (e.keyCode) {
			case KEY_A:
				if (self.isCmdDown) {
					self.selectAll();
					return;
				}
				break;
			case KEY_ESC:
				if (self.isOpen) {
					e.preventDefault();
					e.stopPropagation();
					self.close();
				}
				return;
			case KEY_N:
				if (!e.ctrlKey || e.altKey) break;
			case KEY_DOWN:
				if (!self.isOpen && self.hasOptions) {
					self.open();
				} else if (self.$activeOption) {
					self.ignoreHover = true;
					var $next = self.getAdjacentOption(self.$activeOption, 1);
					if ($next.length) self.setActiveOption($next, true, true);
				}
				e.preventDefault();
				return;
			case KEY_P:
				if (!e.ctrlKey || e.altKey) break;
			case KEY_UP:
				if (self.$activeOption) {
					self.ignoreHover = true;
					var $prev = self.getAdjacentOption(self.$activeOption, -1);
					if ($prev.length) self.setActiveOption($prev, true, true);
				}
				e.preventDefault();
				return;
			case KEY_RETURN:
				if (self.isOpen && self.$activeOption) {
					self.onOptionSelect({currentTarget: self.$activeOption});
					e.preventDefault();
				}
				return;
			case KEY_LEFT:
				self.advanceSelection(-1, e);
				return;
			case KEY_RIGHT:
				self.advanceSelection(1, e);
				return;
			case KEY_TAB:
				if (self.settings.selectOnTab && self.isOpen && self.$activeOption) {
					self.onOptionSelect({currentTarget: self.$activeOption});

					if (!self.isFull()) {
						e.preventDefault();
					}
				}
				if (self.settings.create && self.createItem() && self.settings.showAddOptionOnCreate) {
					e.preventDefault();
				}
				return;
			case KEY_BACKSPACE:
			case KEY_DELETE:
				self.deleteSelection(e);
				return;
		}

		if ((self.isFull() || self.isInputHidden) && !(IS_MAC ? e.metaKey : e.ctrlKey)) {
			e.preventDefault();
			return;
		}
	},

	onInput: function(e) {
		var self = this;

		var value = self.$control_input.val() || '';
		if (self.lastValue !== value) {
			self.lastValue = value;
			self.onSearchChange(value);
			self.refreshOptions();
			self.trigger('type', value);
		}
	},

	onSearchChange: function(value) {
		var self = this;
		var fn = self.settings.load;
		if (!fn) return;
		if (self.loadedSearches.hasOwnProperty(value)) return;
		self.loadedSearches[value] = true;
		self.load(function(callback) {
			fn.apply(self, [value, callback]);
		});
	},

	onFocus: function(e) {
		var self = this;
		var wasFocused = self.isFocused;

		if (self.isDisabled) {
			self.blur();
			e && e.preventDefault();
			return false;
		}

		if (self.ignoreFocus) return;
		self.isFocused = true;
		if (self.settings.preload === 'focus') self.onSearchChange('');

		if (!wasFocused) self.trigger('focus');

		if (!self.$activeItems.length) {
			self.showInput();
			self.setActiveItem(null);
			self.refreshOptions(!!self.settings.openOnFocus);
		}

		self.refreshState();
	},

	onBlur: function(e, dest) {
		var self = this;

		if (!self.isFocused) return;
		self.isFocused = false;

		if (self.ignoreFocus) {
			return;
		}

		var deactivate = function() {
			self.close();
			self.setTextboxValue('');
			self.setActiveItem(null);
			self.setActiveOption(null);
			self.setCaret(self.items.length);
			self.refreshState();

			dest && dest.focus && dest.focus();

			self.isBlurring = false;
			self.ignoreFocus = false;
			self.trigger('blur');
		};

		self.isBlurring = true;
		self.ignoreFocus = true;
		if (self.settings.create && self.settings.createOnBlur) {
			self.createItem(null, false, deactivate);
		} else {
			deactivate();
		}
	},

	onOptionHover: function(e) {
		if (this.ignoreHover) return;
		this.setActiveOption(e.currentTarget, false);
	},

	onOptionSelect: function(e) {
		var value, $target, $option, self = this;

		if (e.preventDefault) {
			e.preventDefault();
			e.stopPropagation();
		}

		$target = $(e.currentTarget);
		if ($target.hasClass('create')) {
			self.createItem(null, function() {
				if (self.settings.closeAfterSelect) {
					self.close();
				}
			});
		} else {
			value = $target.attr('data-value');
			if (typeof value !== 'undefined') {
				self.lastQuery = null;
				self.setTextboxValue('');
				self.addItem(value);
				if (self.settings.closeAfterSelect) {
					self.close();
				} else if (!self.settings.hideSelected && e.type && /mouse/.test(e.type)) {
					self.setActiveOption(self.getOption(value));
				}
			}
		}
	},

	onItemSelect: function(e) {
		var self = this;

		if (self.isLocked) return;
		if (self.settings.mode === 'multi') {
			e.preventDefault();
			self.setActiveItem(e.currentTarget, e);
		}
	},

	load: function(fn) {
		var self = this;
		var $wrapper = self.$wrapper.addClass(self.settings.loadingClass);

		self.loading++;
		fn.apply(self, [function(results) {
			self.loading = Math.max(self.loading - 1, 0);
			if (results && results.length) {
				self.addOption(results);
				self.refreshOptions(self.isFocused && !self.isInputHidden);
			}
			if (!self.loading) {
				$wrapper.removeClass(self.settings.loadingClass);
			}
			self.trigger('load', results);
		}]);
	},

	getTextboxValue: function() {
		var $input = this.$control_input;
		return $input.val();
	},

	setTextboxValue: function(value) {
		var $input = this.$control_input;
		var changed = $input.val() !== value;
		if (changed) {
			$input.val(value).triggerHandler('update');
			this.lastValue = value;
		}
	},

	getValue: function() {
		if (this.tagType === TAG_SELECT && this.$input.attr('multiple')) {
			return this.items;
		} else {
			return this.items.join(this.settings.delimiter);
		}
	},

	setValue: function(value, silent) {
		const items = Array.isArray(value) ? value : [value];
		if (items.join('') === this.items.join('')) {
			return;
		}

		var events = silent ? [] : ['change'];

		debounce_events(this, events, function() {
			this.clear(silent);
			this.addItems(value, silent);
		});
	},

	setMaxItems: function(value){
		if(value === 0) value = null; 
		this.settings.maxItems = value;
		this.settings.mode = this.settings.mode || (this.settings.maxItems === 1 ? 'single' : 'multi');
		this.refreshState();
	},

	setActiveItem: function($item, e) {
		var self = this;
		var eventName;
		var i, idx, begin, end, item, swap;
		var $last;

		if (self.settings.mode === 'single') return;
		$item = $($item);

		if (!$item.length) {
			$(self.$activeItems).removeClass('active');
			self.$activeItems = [];
			if (self.isFocused) {
				self.showInput();
			}
			return;
		}

		eventName = e && e.type.toLowerCase();

		if (eventName === 'mousedown' && self.isShiftDown && self.$activeItems.length) {
			$last = self.$control.children('.active:last');
			begin = Array.prototype.indexOf.apply(self.$control[0].childNodes, [$last[0]]);
			end   = Array.prototype.indexOf.apply(self.$control[0].childNodes, [$item[0]]);
			if (begin > end) {
				swap  = begin;
				begin = end;
				end   = swap;
			}
			for (i = begin; i <= end; i++) {
				item = self.$control[0].childNodes[i];
				if (self.$activeItems.indexOf(item) === -1) {
					$(item).addClass('active');
					self.$activeItems.push(item);
				}
			}
			e.preventDefault();
		} else if ((eventName === 'mousedown' && self.isCtrlDown) || (eventName === 'keydown' && this.isShiftDown)) {
			if ($item.hasClass('active')) {
				idx = self.$activeItems.indexOf($item[0]);
				self.$activeItems.splice(idx, 1);
				$item.removeClass('active');
			} else {
				self.$activeItems.push($item.addClass('active')[0]);
			}
		} else {
			$(self.$activeItems).removeClass('active');
			self.$activeItems = [$item.addClass('active')[0]];
		}

		self.hideInput();
		if (!this.isFocused) {
			self.focus();
		}
	},

	setActiveOption: function($option, scroll, animate) {
		var height_menu, height_item, y;
		var scroll_top, scroll_bottom;
		var self = this;

		if (self.$activeOption) {
			self.$activeOption.removeClass('active');
			self.trigger('dropdown_item_deactivate', self.$activeOption.attr('data-value'));
		}
		self.$activeOption = null;

		$option = $($option);
		if (!$option.length) return;

		self.$activeOption = $option.addClass('active');
		if (self.isOpen) self.trigger('dropdown_item_activate', self.$activeOption.attr('data-value'));

		if (scroll || !isset(scroll)) {

			height_menu   = self.$dropdown_content.height();
			height_item   = self.$activeOption.outerHeight(true);
			scroll        = self.$dropdown_content.scrollTop() || 0;
			y             = self.$activeOption.offset().top - self.$dropdown_content.offset().top + scroll;
			scroll_top    = y;
			scroll_bottom = y - height_menu + height_item;

			if (y + height_item > height_menu + scroll) {
				self.$dropdown_content.stop().animate({scrollTop: scroll_bottom}, animate ? self.settings.scrollDuration : 0);
			} else if (y < scroll) {
				self.$dropdown_content.stop().animate({scrollTop: scroll_top}, animate ? self.settings.scrollDuration : 0);
			}

		}
	},

	selectAll: function() {
		var self = this;
		if (self.settings.mode === 'single') return;

		self.$activeItems = Array.prototype.slice.apply(self.$control.children(':not(input)').addClass('active'));
		if (self.$activeItems.length) {
			self.hideInput();
			self.close();
		}
		self.focus();
	},

	hideInput: function() {
		var self = this;

		self.setTextboxValue('');
		self.$control_input.css({opacity: 0, position: 'absolute', left: self.rtl ? 10000 : 0});
		self.isInputHidden = true;
	},

	showInput: function() {
		this.$control_input.css({opacity: 1, position: 'relative', left: 0});
		this.isInputHidden = false;
	},

	focus: function() {
		var self = this;
		if (self.isDisabled) return self;

		self.ignoreFocus = true;
		self.$control_input[0].focus();
		window.setTimeout(function() {
			self.ignoreFocus = false;
			self.onFocus();
		}, 0);
		return self;
	},

	blur: function(dest) {
		this.$control_input[0].blur();
		this.onBlur(null, dest);
		return this;
	},

	getScoreFunction: function(query) {
		return this.sifter.getScoreFunction(query, this.getSearchOptions());
	},

	getSearchOptions: function() {
		var settings = this.settings;
		var sort = settings.sortField;
		if (typeof sort === 'string') {
			sort = [{field: sort}];
		}

		return {
			fields      : settings.searchField,
			conjunction : settings.searchConjunction,
			sort        : sort,
			nesting     : settings.nesting,
      filter      : settings.filter,
      respect_word_boundaries : settings.respect_word_boundaries
		};
	},

	search: function(query) {
		var i, value, score, result, calculateScore;
		var self     = this;
		var settings = self.settings;
		var options  = this.getSearchOptions();

		if (settings.score) {
			calculateScore = self.settings.score.apply(this, [query]);
			if (typeof calculateScore !== 'function') {
				throw new Error('Selectize "score" setting must be a function that returns a function');
			}
		}

    if (query !== self.lastQuery) {
      if (settings.normalize) query = query.normalize("NFD").replace(/[\u0300-\u036f]/g, "");
			self.lastQuery = query;
			result = self.sifter.search(query, $.extend(options, {score: calculateScore}));
			self.currentResults = result;
		} else {
			result = $.extend(true, {}, self.currentResults);
		}

		if (settings.hideSelected) {
			for (i = result.items.length - 1; i >= 0; i--) {
				if (self.items.indexOf(hash_key(result.items[i].id)) !== -1) {
					result.items.splice(i, 1);
				}
			}
		}

		return result;
	},

	refreshOptions: function(triggerDropdown) {
		var i, j, k, n, groups, groups_order, option, option_html, optgroup, optgroups, html, html_children, has_create_option;
		var $active, $active_before, $create;

		if (typeof triggerDropdown === 'undefined') {
			triggerDropdown = true;
		}

		var self              = this;
		var query             = (self.$control_input.val()).trim();
		var results           = self.search(query);
		var $dropdown_content = self.$dropdown_content;
		var active_before     = self.$activeOption && hash_key(self.$activeOption.attr('data-value'));

		n = results.items.length;
		if (typeof self.settings.maxOptions === 'number') {
			n = Math.min(n, self.settings.maxOptions);
		}

		groups = {};
		groups_order = [];

		for (i = 0; i < n; i++) {
			option      = self.options[results.items[i].id];
			option_html = self.render('option', option);
			optgroup    = option[self.settings.optgroupField] || '';
			optgroups   = Array.isArray(optgroup) ? optgroup : [optgroup];

			for (j = 0, k = optgroups && optgroups.length; j < k; j++) {
				optgroup = optgroups[j];
				if (!self.optgroups.hasOwnProperty(optgroup) && typeof self.settings.optionGroupRegister === 'function') {
					var regGroup;
					if (regGroup = self.settings.optionGroupRegister.apply(self, [optgroup])) {
						self.registerOptionGroup(regGroup);
					}
				}
        if (!self.optgroups.hasOwnProperty(optgroup)) {
					optgroup = '';
				}
				if (!groups.hasOwnProperty(optgroup)) {
					groups[optgroup] = document.createDocumentFragment();
					groups_order.push(optgroup);
				}
				groups[optgroup].appendChild(option_html);
			}
		}

		if (this.settings.lockOptgroupOrder) {
			groups_order.sort(function(a, b) {
				var a_order = self.optgroups[a] && self.optgroups[a].$order || 0;
				var b_order = self.optgroups[b] && self.optgroups[b].$order || 0;
				return a_order - b_order;
			});
		}

		html = document.createDocumentFragment();
		for (i = 0, n = groups_order.length; i < n; i++) {
			optgroup = groups_order[i];
			if (self.optgroups.hasOwnProperty(optgroup) && groups[optgroup].childNodes.length) {
				html_children = document.createDocumentFragment();
				html_children.appendChild(self.render('optgroup_header', self.optgroups[optgroup]));
				html_children.appendChild(groups[optgroup]);

				html.appendChild(self.render('optgroup', $.extend({}, self.optgroups[optgroup], {
					html: domToString(html_children),
					dom:  html_children
				})));
			} else {
				html.appendChild(groups[optgroup]);
			}
		}

		$dropdown_content.html(html);

		if (self.settings.highlight) {
			$dropdown_content.removeHighlight();
			if (results.query.length && results.tokens.length) {
				for (i = 0, n = results.tokens.length; i < n; i++) {
					highlight($dropdown_content, results.tokens[i].regex);
				}
			}
		}

		if (!self.settings.hideSelected) {
			self.$dropdown.find('.selected').removeClass('selected');

			for (i = 0, n = self.items.length; i < n; i++) {
				self.getOption(self.items[i]).addClass('selected');
			}
		}

		if (self.settings.dropdownSize.sizeType !== 'auto' && self.isOpen) {
			self.setupDropdownHeight();
		}

		self.positionDropdown();

		has_create_option = self.canCreate(query);
		if (has_create_option) {
			if(self.settings.showAddOptionOnCreate) {
				$dropdown_content.prepend(self.render('option_create', {input: query}));
				$create = $($dropdown_content[0].childNodes[0]);
			}
		}

		self.hasOptions = results.items.length > 0 || ( has_create_option && self.settings.showAddOptionOnCreate ) || self.settings.setFirstOptionActive;

		if (self.hasOptions) {
      		if (results.items.length > 0) {
			$active_before = active_before && self.getOption(active_before);
			if (results.query !== "" && self.settings.setFirstOptionActive) {
			$active = $dropdown_content.find('[data-selectable]:first')
			} else if (results.query !== "" && $active_before && $active_before.length) {
			$active = $active_before;
			} else if (self.settings.mode === 'single' && self.items.length) {
			$active = self.getOption(self.items[0]);
			}
			if (!$active || !$active.length) {
			if ($create && !self.settings.addPrecedence) {
				$active = self.getAdjacentOption($create, 1);
			} else {
				$active = $dropdown_content.find('[data-selectable]:first');
			}
			}
			} else {
				$active = $create;
			}
			self.setActiveOption($active);
			if (triggerDropdown && !self.isOpen) { self.open(); }
		} else {
			self.setActiveOption(null);
			if (triggerDropdown && self.isOpen) { self.close(); }
		}
	},

	addOption: function(data) {
		var i, n, value, self = this;

		if (Array.isArray(data)) {
			for (i = 0, n = data.length; i < n; i++) {
				self.addOption(data[i]);
			}
			return;
		}

		if (value = self.registerOption(data)) {
			self.userOptions[value] = true;
			self.lastQuery = null;
			self.trigger('option_add', value, data);
		}
	},

	registerOption: function(data) {
		var key = hash_key(data[this.settings.valueField]);
		if (typeof key === 'undefined' || key === null || this.options.hasOwnProperty(key)) return false;
		data.$order = data.$order || ++this.order;
		this.options[key] = data;
		return key;
	},

	registerOptionGroup: function(data) {
		var key = hash_key(data[this.settings.optgroupValueField]);
		if (!key) return false;

		data.$order = data.$order || ++this.order;
		this.optgroups[key] = data;
		return key;
	},

	addOptionGroup: function(id, data) {
		data[this.settings.optgroupValueField] = id;
		if (id = this.registerOptionGroup(data)) {
			this.trigger('optgroup_add', id, data);
		}
	},

	removeOptionGroup: function(id) {
		if (this.optgroups.hasOwnProperty(id)) {
			delete this.optgroups[id];
			this.renderCache = {};
			this.trigger('optgroup_remove', id);
		}
	},

	clearOptionGroups: function() {
		this.optgroups = {};
		this.renderCache = {};
		this.trigger('optgroup_clear');
	},

	updateOption: function(value, data) {
		var self = this;
		var $item, $item_new;
		var value_new, index_item, cache_items, cache_options, order_old;

		value     = hash_key(value);
		value_new = hash_key(data[self.settings.valueField]);

		if (value === null) return;
		if (!self.options.hasOwnProperty(value)) return;
		if (typeof value_new !== 'string') throw new Error('Value must be set in option data');

		order_old = self.options[value].$order;

		if (value_new !== value) {
			delete self.options[value];
			index_item = self.items.indexOf(value);
			if (index_item !== -1) {
				self.items.splice(index_item, 1, value_new);
			}
		}
		data.$order = data.$order || order_old;
		self.options[value_new] = data;

		cache_items = self.renderCache['item'];
		cache_options = self.renderCache['option'];

		if (cache_items) {
			delete cache_items[value];
			delete cache_items[value_new];
		}
		if (cache_options) {
			delete cache_options[value];
			delete cache_options[value_new];
		}

		if (self.items.indexOf(value_new) !== -1) {
			$item = self.getItem(value);
			$item_new = $(self.render('item', data));
			if ($item.hasClass('active')) $item_new.addClass('active');
			$item.replaceWith($item_new);
		}

		self.lastQuery = null;

		if (self.isOpen) {
			self.refreshOptions(false);
		}
	},

	removeOption: function(value, silent) {
		var self = this;
		value = hash_key(value);

		var cache_items = self.renderCache['item'];
		var cache_options = self.renderCache['option'];
		if (cache_items) delete cache_items[value];
		if (cache_options) delete cache_options[value];

		delete self.userOptions[value];
		delete self.options[value];
		self.lastQuery = null;
		self.trigger('option_remove', value);
		self.removeItem(value, silent);
	},

	clearOptions: function(silent) {
		var self = this;

		self.loadedSearches = {};
		self.userOptions = {};
		self.renderCache = {};
		var options = self.options;
		$.each(self.options, function(key, value) {
			if(self.items.indexOf(key) == -1) {
				delete options[key];
			}
		});
		self.options = self.sifter.items = options;
		self.lastQuery = null;
		self.trigger('option_clear');
		self.clear(silent);
	},

	getOption: function(value) {
		return this.getElementWithValue(value, this.$dropdown_content.find('[data-selectable]'));
	},

	getFirstOption: function() {
		var $options = this.$dropdown.find('[data-selectable]');
		return $options.length > 0 ? $options.eq(0) : $();
	},

	getAdjacentOption: function($option, direction) {
		var $options = this.$dropdown.find('[data-selectable]');
		var index    = $options.index($option) + direction;

		return index >= 0 && index < $options.length ? $options.eq(index) : $();
	},

	getElementWithValue: function(value, $els) {
		value = hash_key(value);

		if (typeof value !== 'undefined' && value !== null) {
			for (var i = 0, n = $els.length; i < n; i++) {
				if ($els[i].getAttribute('data-value') === value) {
					return $($els[i]);
				}
			}
		}

		return $();
	},

	getElementWithTextContent: function(textContent, ignoreCase ,$els) {
		textContent = hash_key(textContent);

		if (typeof textContent !== 'undefined' && textContent !== null) {
			for (var i = 0, n = $els.length; i < n; i++) {
				var eleTextContent = $els[i].textContent
				if (ignoreCase == true) {
					eleTextContent = (eleTextContent !== null) ? eleTextContent.toLowerCase() : null;
					textContent = textContent.toLowerCase();
				}
				if (eleTextContent === textContent) {
					return $($els[i]);
				}
			}
		}

		return $();
	},

	getItem: function(value) {
		return this.getElementWithValue(value, this.$control.children());
	},

	getFirstItemMatchedByTextContent: function(textContent, ignoreCase) {
		ignoreCase = (ignoreCase !== null && ignoreCase === true) ? true : false;
		return this.getElementWithTextContent(textContent, ignoreCase, this.$dropdown_content.find('[data-selectable]'));
	},

	addItems: function(values, silent) {
		this.buffer = document.createDocumentFragment();

		var childNodes = this.$control[0].childNodes;
		for (var i = 0; i < childNodes.length; i++) {
			this.buffer.appendChild(childNodes[i]);
		}

		var items = Array.isArray(values) ? values : [values];
		for (var i = 0, n = items.length; i < n; i++) {
			this.isPending = (i < n - 1);
			this.addItem(items[i], silent);
		}

		var control = this.$control[0];
		control.insertBefore(this.buffer, control.firstChild);

		this.buffer = null;
	},

	addItem: function(value, silent) {
		var events = silent ? [] : ['change'];

		debounce_events(this, events, function() {
			var $item, $option, $options;
			var self = this;
			var inputMode = self.settings.mode;
			var i, active, value_next, wasFull;
			value = hash_key(value);

			if (self.items.indexOf(value) !== -1) {
				if (inputMode === 'single') self.close();
				return;
			}

			if (!self.options.hasOwnProperty(value)) return;
			if (inputMode === 'single') self.clear(silent);
			if (inputMode === 'multi' && self.isFull()) return;

      $item = $(self.render('item', self.options[value]));
			wasFull = self.isFull();
			self.items.splice(self.caretPos, 0, value);
      self.insertAtCaret($item);
			if (!self.isPending || (!wasFull && self.isFull())) {
				self.refreshState();
			}

			if (self.isSetup) {
				$options = self.$dropdown_content.find('[data-selectable]');

				if (!self.isPending) {
					$option = self.getOption(value);
					value_next = self.getAdjacentOption($option, 1).attr('data-value');
					self.refreshOptions(self.isFocused && inputMode !== 'single');
					if (value_next) {
						self.setActiveOption(self.getOption(value_next));
					}
				}

				if (!$options.length || self.isFull()) {
					self.close();
				} else if (!self.isPending) {
					self.positionDropdown();
				}

				self.updatePlaceholder();
				self.trigger('item_add', value, $item);

				if (!self.isPending) {
					self.updateOriginalInput({silent: silent});
				}
			}
		});
	},

	removeItem: function(value, silent) {
		var self = this;
		var $item, i, idx;

		$item = (value instanceof $) ? value : self.getItem(value);
		value = hash_key($item.attr('data-value'));
		i = self.items.indexOf(value);

		if (i !== -1) {
			self.trigger('item_before_remove', value, $item);
			$item.remove();
      if ($item.hasClass('active')) {
        $item.removeClass('active');
				idx = self.$activeItems.indexOf($item[0]);
				self.$activeItems.splice(idx, 1);
				$item.removeClass('active');
			}

			self.items.splice(i, 1);
			self.lastQuery = null;
			if (!self.settings.persist && self.userOptions.hasOwnProperty(value)) {
				self.removeOption(value, silent);
			}

			if (i < self.caretPos) {
				self.setCaret(self.caretPos - 1);
			}

			self.refreshState();
			self.updatePlaceholder();
			self.updateOriginalInput({silent: silent});
			self.positionDropdown();
			self.trigger('item_remove', value, $item);
		}
	},

	createItem: function(input, triggerDropdown) {
		var self  = this;
		var caret = self.caretPos;
		input = input || (self.$control_input.val() || '').trim();

		var callback = arguments[arguments.length - 1];
		if (typeof callback !== 'function') callback = function() {};

		if (typeof triggerDropdown !== 'boolean') {
			triggerDropdown = true;
		}

		if (!self.canCreate(input)) {
			callback();
			return false;
		}

		self.lock();

		var setup = (typeof self.settings.create === 'function') ? this.settings.create : function(input) {
			var data = {};
			data[self.settings.labelField] = input;
			var key = input;
			if ( self.settings.formatValueToKey && typeof self.settings.formatValueToKey === 'function' ) {
				key = self.settings.formatValueToKey.apply(this, [key]);
				if (key === null || typeof key === 'undefined' || typeof key === 'object' || typeof key === 'function') {
					throw new Error('Selectize "formatValueToKey" setting must be a function that returns a value other than object or function.');
				}
			}
			data[self.settings.valueField] = key;
			return data;
		};

		var create = once(function(data) {
			self.unlock();

			if (!data || typeof data !== 'object') return callback();
			var value = hash_key(data[self.settings.valueField]);
			if (typeof value !== 'string') return callback();

			self.setTextboxValue('');
			self.addOption(data);
			self.setCaret(caret);
			self.addItem(value);
			self.refreshOptions(triggerDropdown && self.settings.mode !== 'single');
			callback(data);
		});

		var output = setup.apply(this, [input, create]);
		if (typeof output !== 'undefined') {
			create(output);
		}

		return true;
	},

	refreshItems: function(silent) {
		this.lastQuery = null;

		if (this.isSetup) {
			this.addItem(this.items, silent);
		}

		this.refreshState();
		this.updateOriginalInput({silent: silent});
	},

	refreshState: function() {
		this.refreshValidityState();
		this.refreshClasses();
	},

	refreshValidityState: function() {
		if (!this.isRequired) return false;

		var invalid = !this.items.length;

		this.isInvalid = invalid;
		this.$control_input.prop('required', invalid);
		this.$input.prop('required', !invalid);
	},

	refreshClasses: function() {
		var self     = this;
		var isFull   = self.isFull();
		var isLocked = self.isLocked;

		self.$wrapper
			.toggleClass('rtl', self.rtl);

		self.$control
			.toggleClass('focus', self.isFocused)
			.toggleClass('disabled', self.isDisabled)
			.toggleClass('required', self.isRequired)
			.toggleClass('invalid', self.isInvalid)
			.toggleClass('locked', isLocked)
			.toggleClass('full', isFull).toggleClass('not-full', !isFull)
			.toggleClass('input-active', self.isFocused && !self.isInputHidden)
			.toggleClass('dropdown-active', self.isOpen)
			.toggleClass('has-options', !$.isEmptyObject(self.options))
			.toggleClass('has-items', self.items.length > 0);

		self.$control_input.data('grow', !isFull && !isLocked);
	},

	isFull: function() {
		return this.settings.maxItems !== null && this.items.length >= this.settings.maxItems;
	},

	updateOriginalInput: function(opts) {
		var i, n, existing, fresh, old, $options, label, value, values, self = this;
		opts = opts || {};

		if (self.tagType === TAG_SELECT) {
			$options  = self.$input.find('option');
			existing  = [];
			fresh     = [];
			old       = [];
			values    = [];

			$options.get().forEach(function(option) {
				existing.push(option.value);
			});

			self.items.forEach(function(item) {
				label = self.options[item][self.settings.labelField] || '';

				values.push(item);

				if (existing.indexOf(item) != -1) {
					return;
				}

				fresh.push('<option value="' + escape_html(item) + '" selected="selected">' + escape_html(label) + '</option>');
			});

			old = existing.filter(function(value) {
				return values.indexOf(value) < 0;
			}).map(function(value) {
				return 'option[value="' + escape_html(value) + '"]';
			});

			if (existing.length - old.length + fresh.length === 0 && !self.$input.attr('multiple')) {
				fresh.push('<option value="" selected="selected"></option>');
			}

			self.$input.find(old.join(', ')).remove();
			self.$input.append(fresh.join(''));
		} else {
			self.$input.val(self.getValue());
			self.$input.attr('value',self.$input.val());
		}

		if (self.isSetup) {
			if (!opts.silent) {
				self.trigger('change', self.$input.val());
			}
		}
	},

	updatePlaceholder: function() {
		if (!this.settings.placeholder) return;
		var $input = this.$control_input;

		if (this.items.length) {
			$input.removeAttr('placeholder');
		} else {
			$input.attr('placeholder', this.settings.placeholder);
		}
		$input.triggerHandler('update', {force: true});
	},

	open: function() {
		var self = this;

		if (
      self.isLocked ||
      self.isOpen ||
      (self.settings.mode === "multi" && self.isFull())
    )
      return;
		self.focus();
		self.isOpen = true;
		self.refreshState();
		self.$dropdown.css({ visibility: 'hidden', display: 'block' });
		self.setupDropdownHeight();
    self.positionDropdown();
		self.$dropdown.css({visibility: 'visible'});
		self.trigger('dropdown_open', self.$dropdown);
	},

	close: function() {
		var self = this;
		var trigger = self.isOpen;

		if (self.settings.mode === 'single' && self.items.length) {
			self.hideInput();

			if (self.isBlurring) {
				self.$control_input[0].blur(); 
			}
		}

		self.isOpen = false;
		self.$dropdown.hide();
		self.setActiveOption(null);
		self.refreshState();

		if (trigger) self.trigger('dropdown_close', self.$dropdown);
	},

	positionDropdown: function() {
		var $control = this.$control;
		var offset = this.settings.dropdownParent === 'body' ? $control.offset() : $control.position();
		offset.top += $control.outerHeight(true);
		var w = this.$wrapper[0].style.width !== 'fit-content' ? this.settings.dropdownParent === 'body' ? 'max-content' : '100%' : 'max-content';
		if (this.settings.minWidth && this.settings.minWidth > w)
		{
			w = this.settings.minWidth;
		}

    if (this.settings.dropdownParent !== 'body' && w === 'max-content' && $control.outerWidth(true) >= this.$dropdown.outerWidth(true)) {
      w = '100%';
    }

    this.$dropdown.css({
			width : w,
      minWidth : $control.outerWidth(true),
			top   : offset.top,
			left  : offset.left
		});
	},

  setupDropdownHeight: function () {
Download .txt
gitextract_e32a8rdo/

├── .browserslistrc
├── .editorconfig
├── .github/
│   ├── FUNDING.yml
│   ├── ISSUE_TEMPLATE.md
│   ├── codeql/
│   │   └── codeql-config.yml
│   ├── dependabot.yml
│   └── workflows/
│       ├── UpdateContributors.yml
│       ├── codeql-analysis.yml
│       ├── node.js.yml
│       └── stale.yml
├── .gitignore
├── .npmrc
├── CHANGELOG.md
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── CONTRIBUTORS.md
├── LICENSE
├── Makefile
├── README.md
├── SECURITY.md
├── dist/
│   ├── css/
│   │   ├── selectize.bootstrap2.css
│   │   ├── selectize.bootstrap3.css
│   │   ├── selectize.bootstrap4.css
│   │   ├── selectize.bootstrap5.css
│   │   ├── selectize.css
│   │   └── selectize.default.css
│   ├── js/
│   │   └── selectize.js
│   ├── less/
│   │   ├── plugins/
│   │   │   ├── auto_position.less
│   │   │   ├── clear_button.less
│   │   │   ├── drag_drop.less
│   │   │   ├── dropdown_header.less
│   │   │   ├── optgroup_columns.less
│   │   │   └── remove_button.less
│   │   ├── selectize.bootstrap2.less
│   │   ├── selectize.bootstrap3.less
│   │   ├── selectize.default.less
│   │   └── selectize.less
│   ├── lib/
│   │   ├── bootstrap-sass/
│   │   │   ├── _alerts.scss
│   │   │   ├── _badges.scss
│   │   │   ├── _breadcrumbs.scss
│   │   │   ├── _button-groups.scss
│   │   │   ├── _buttons.scss
│   │   │   ├── _carousel.scss
│   │   │   ├── _close.scss
│   │   │   ├── _code.scss
│   │   │   ├── _component-animations.scss
│   │   │   ├── _dropdowns.scss
│   │   │   ├── _forms.scss
│   │   │   ├── _glyphicons.scss
│   │   │   ├── _grid.scss
│   │   │   ├── _input-groups.scss
│   │   │   ├── _jumbotron.scss
│   │   │   ├── _labels.scss
│   │   │   ├── _list-group.scss
│   │   │   ├── _media.scss
│   │   │   ├── _mixins.scss
│   │   │   ├── _modals.scss
│   │   │   ├── _navbar.scss
│   │   │   ├── _navs.scss
│   │   │   ├── _normalize.scss
│   │   │   ├── _pager.scss
│   │   │   ├── _pagination.scss
│   │   │   ├── _panels.scss
│   │   │   ├── _popovers.scss
│   │   │   ├── _print.scss
│   │   │   ├── _progress-bars.scss
│   │   │   ├── _responsive-embed.scss
│   │   │   ├── _responsive-utilities.scss
│   │   │   ├── _scaffolding.scss
│   │   │   ├── _tables.scss
│   │   │   ├── _theme.scss
│   │   │   ├── _thumbnails.scss
│   │   │   ├── _tooltip.scss
│   │   │   ├── _type.scss
│   │   │   ├── _utilities.scss
│   │   │   ├── _variables.scss
│   │   │   ├── _wells.scss
│   │   │   └── mixins/
│   │   │       ├── _alerts.scss
│   │   │       ├── _background-variant.scss
│   │   │       ├── _border-radius.scss
│   │   │       ├── _buttons.scss
│   │   │       ├── _center-block.scss
│   │   │       ├── _clearfix.scss
│   │   │       ├── _forms.scss
│   │   │       ├── _gradients.scss
│   │   │       ├── _grid-framework.scss
│   │   │       ├── _grid.scss
│   │   │       ├── _hide-text.scss
│   │   │       ├── _image.scss
│   │   │       ├── _labels.scss
│   │   │       ├── _list-group.scss
│   │   │       ├── _nav-divider.scss
│   │   │       ├── _nav-vertical-align.scss
│   │   │       ├── _opacity.scss
│   │   │       ├── _pagination.scss
│   │   │       ├── _panels.scss
│   │   │       ├── _progress-bar.scss
│   │   │       ├── _reset-filter.scss
│   │   │       ├── _reset-text.scss
│   │   │       ├── _resize.scss
│   │   │       ├── _responsive-visibility.scss
│   │   │       ├── _size.scss
│   │   │       ├── _tab-focus.scss
│   │   │       ├── _table-row.scss
│   │   │       ├── _text-emphasis.scss
│   │   │       ├── _text-overflow.scss
│   │   │       └── _vendor-prefixes.scss
│   │   ├── bootstrap2/
│   │   │   ├── accordion.less
│   │   │   ├── alerts.less
│   │   │   ├── bootstrap.less
│   │   │   ├── breadcrumbs.less
│   │   │   ├── button-groups.less
│   │   │   ├── buttons.less
│   │   │   ├── carousel.less
│   │   │   ├── close.less
│   │   │   ├── code.less
│   │   │   ├── component-animations.less
│   │   │   ├── dropdowns.less
│   │   │   ├── forms.less
│   │   │   ├── grid.less
│   │   │   ├── hero-unit.less
│   │   │   ├── labels-badges.less
│   │   │   ├── layouts.less
│   │   │   ├── media.less
│   │   │   ├── mixins.less
│   │   │   ├── modals.less
│   │   │   ├── navbar.less
│   │   │   ├── navs.less
│   │   │   ├── pager.less
│   │   │   ├── pagination.less
│   │   │   ├── popovers.less
│   │   │   ├── progress-bars.less
│   │   │   ├── reset.less
│   │   │   ├── responsive-1200px-min.less
│   │   │   ├── responsive-767px-max.less
│   │   │   ├── responsive-768px-979px.less
│   │   │   ├── responsive-navbar.less
│   │   │   ├── responsive-utilities.less
│   │   │   ├── responsive.less
│   │   │   ├── scaffolding.less
│   │   │   ├── sprites.less
│   │   │   ├── tables.less
│   │   │   ├── tests/
│   │   │   │   ├── buttons.html
│   │   │   │   ├── css-tests.css
│   │   │   │   ├── css-tests.html
│   │   │   │   ├── forms-responsive.html
│   │   │   │   ├── forms.html
│   │   │   │   ├── navbar-fixed-top.html
│   │   │   │   ├── navbar-static-top.html
│   │   │   │   └── navbar.html
│   │   │   ├── thumbnails.less
│   │   │   ├── tooltip.less
│   │   │   ├── type.less
│   │   │   ├── utilities.less
│   │   │   ├── variables.less
│   │   │   └── wells.less
│   │   ├── bootstrap3/
│   │   │   ├── alerts.less
│   │   │   ├── badges.less
│   │   │   ├── bootstrap.less
│   │   │   ├── breadcrumbs.less
│   │   │   ├── button-groups.less
│   │   │   ├── buttons.less
│   │   │   ├── carousel.less
│   │   │   ├── close.less
│   │   │   ├── code.less
│   │   │   ├── component-animations.less
│   │   │   ├── dropdowns.less
│   │   │   ├── forms.less
│   │   │   ├── glyphicons.less
│   │   │   ├── grid.less
│   │   │   ├── input-groups.less
│   │   │   ├── jumbotron.less
│   │   │   ├── labels.less
│   │   │   ├── list-group.less
│   │   │   ├── media.less
│   │   │   ├── mixins/
│   │   │   │   ├── alerts.less
│   │   │   │   ├── background-variant.less
│   │   │   │   ├── border-radius.less
│   │   │   │   ├── buttons.less
│   │   │   │   ├── center-block.less
│   │   │   │   ├── clearfix.less
│   │   │   │   ├── forms.less
│   │   │   │   ├── gradients.less
│   │   │   │   ├── grid-framework.less
│   │   │   │   ├── grid.less
│   │   │   │   ├── hide-text.less
│   │   │   │   ├── image.less
│   │   │   │   ├── labels.less
│   │   │   │   ├── list-group.less
│   │   │   │   ├── nav-divider.less
│   │   │   │   ├── nav-vertical-align.less
│   │   │   │   ├── opacity.less
│   │   │   │   ├── pagination.less
│   │   │   │   ├── panels.less
│   │   │   │   ├── progress-bar.less
│   │   │   │   ├── reset-filter.less
│   │   │   │   ├── reset-text.less
│   │   │   │   ├── resize.less
│   │   │   │   ├── responsive-visibility.less
│   │   │   │   ├── size.less
│   │   │   │   ├── tab-focus.less
│   │   │   │   ├── table-row.less
│   │   │   │   ├── text-emphasis.less
│   │   │   │   ├── text-overflow.less
│   │   │   │   └── vendor-prefixes.less
│   │   │   ├── mixins.less
│   │   │   ├── modals.less
│   │   │   ├── navbar.less
│   │   │   ├── navs.less
│   │   │   ├── normalize.less
│   │   │   ├── pager.less
│   │   │   ├── pagination.less
│   │   │   ├── panels.less
│   │   │   ├── popovers.less
│   │   │   ├── print.less
│   │   │   ├── progress-bars.less
│   │   │   ├── responsive-embed.less
│   │   │   ├── responsive-utilities.less
│   │   │   ├── scaffolding.less
│   │   │   ├── tables.less
│   │   │   ├── theme.less
│   │   │   ├── thumbnails.less
│   │   │   ├── tooltip.less
│   │   │   ├── type.less
│   │   │   ├── utilities.less
│   │   │   ├── variables.less
│   │   │   └── wells.less
│   │   ├── bootstrap4/
│   │   │   ├── _alert.scss
│   │   │   ├── _badge.scss
│   │   │   ├── _breadcrumb.scss
│   │   │   ├── _button-group.scss
│   │   │   ├── _buttons.scss
│   │   │   ├── _card.scss
│   │   │   ├── _carousel.scss
│   │   │   ├── _close.scss
│   │   │   ├── _code.scss
│   │   │   ├── _custom-forms.scss
│   │   │   ├── _dropdown.scss
│   │   │   ├── _forms.scss
│   │   │   ├── _functions.scss
│   │   │   ├── _grid.scss
│   │   │   ├── _images.scss
│   │   │   ├── _input-group.scss
│   │   │   ├── _jumbotron.scss
│   │   │   ├── _list-group.scss
│   │   │   ├── _media.scss
│   │   │   ├── _mixins.scss
│   │   │   ├── _modal.scss
│   │   │   ├── _nav.scss
│   │   │   ├── _navbar.scss
│   │   │   ├── _pagination.scss
│   │   │   ├── _popover.scss
│   │   │   ├── _print.scss
│   │   │   ├── _progress.scss
│   │   │   ├── _reboot.scss
│   │   │   ├── _root.scss
│   │   │   ├── _spinners.scss
│   │   │   ├── _tables.scss
│   │   │   ├── _toasts.scss
│   │   │   ├── _tooltip.scss
│   │   │   ├── _transitions.scss
│   │   │   ├── _type.scss
│   │   │   ├── _utilities.scss
│   │   │   ├── _variables.scss
│   │   │   ├── bootstrap-grid.scss
│   │   │   ├── bootstrap-reboot.scss
│   │   │   ├── bootstrap.scss
│   │   │   ├── mixins/
│   │   │   │   ├── _alert.scss
│   │   │   │   ├── _background-variant.scss
│   │   │   │   ├── _badge.scss
│   │   │   │   ├── _border-radius.scss
│   │   │   │   ├── _box-shadow.scss
│   │   │   │   ├── _breakpoints.scss
│   │   │   │   ├── _buttons.scss
│   │   │   │   ├── _caret.scss
│   │   │   │   ├── _clearfix.scss
│   │   │   │   ├── _deprecate.scss
│   │   │   │   ├── _float.scss
│   │   │   │   ├── _forms.scss
│   │   │   │   ├── _gradients.scss
│   │   │   │   ├── _grid-framework.scss
│   │   │   │   ├── _grid.scss
│   │   │   │   ├── _hover.scss
│   │   │   │   ├── _image.scss
│   │   │   │   ├── _list-group.scss
│   │   │   │   ├── _lists.scss
│   │   │   │   ├── _nav-divider.scss
│   │   │   │   ├── _pagination.scss
│   │   │   │   ├── _reset-text.scss
│   │   │   │   ├── _resize.scss
│   │   │   │   ├── _screen-reader.scss
│   │   │   │   ├── _size.scss
│   │   │   │   ├── _table-row.scss
│   │   │   │   ├── _text-emphasis.scss
│   │   │   │   ├── _text-hide.scss
│   │   │   │   ├── _text-truncate.scss
│   │   │   │   ├── _transition.scss
│   │   │   │   └── _visibility.scss
│   │   │   ├── utilities/
│   │   │   │   ├── _align.scss
│   │   │   │   ├── _background.scss
│   │   │   │   ├── _borders.scss
│   │   │   │   ├── _clearfix.scss
│   │   │   │   ├── _display.scss
│   │   │   │   ├── _embed.scss
│   │   │   │   ├── _flex.scss
│   │   │   │   ├── _float.scss
│   │   │   │   ├── _interactions.scss
│   │   │   │   ├── _overflow.scss
│   │   │   │   ├── _position.scss
│   │   │   │   ├── _screenreaders.scss
│   │   │   │   ├── _shadows.scss
│   │   │   │   ├── _sizing.scss
│   │   │   │   ├── _spacing.scss
│   │   │   │   ├── _stretched-link.scss
│   │   │   │   ├── _text.scss
│   │   │   │   └── _visibility.scss
│   │   │   └── vendor/
│   │   │       └── _rfs.scss
│   │   └── bootstrap5/
│   │       ├── _accordion.scss
│   │       ├── _alert.scss
│   │       ├── _badge.scss
│   │       ├── _breadcrumb.scss
│   │       ├── _button-group.scss
│   │       ├── _buttons.scss
│   │       ├── _card.scss
│   │       ├── _carousel.scss
│   │       ├── _close.scss
│   │       ├── _containers.scss
│   │       ├── _dropdown.scss
│   │       ├── _forms.scss
│   │       ├── _functions.scss
│   │       ├── _grid.scss
│   │       ├── _helpers.scss
│   │       ├── _images.scss
│   │       ├── _list-group.scss
│   │       ├── _maps.scss
│   │       ├── _mixins.scss
│   │       ├── _modal.scss
│   │       ├── _nav.scss
│   │       ├── _navbar.scss
│   │       ├── _offcanvas.scss
│   │       ├── _pagination.scss
│   │       ├── _placeholders.scss
│   │       ├── _popover.scss
│   │       ├── _progress.scss
│   │       ├── _reboot.scss
│   │       ├── _root.scss
│   │       ├── _spinners.scss
│   │       ├── _tables.scss
│   │       ├── _toasts.scss
│   │       ├── _tooltip.scss
│   │       ├── _transitions.scss
│   │       ├── _type.scss
│   │       ├── _utilities.scss
│   │       ├── _variables.scss
│   │       ├── bootstrap-grid.scss
│   │       ├── bootstrap-reboot.scss
│   │       ├── bootstrap-utilities.scss
│   │       ├── bootstrap.scss
│   │       ├── forms/
│   │       │   ├── _floating-labels.scss
│   │       │   ├── _form-check.scss
│   │       │   ├── _form-control.scss
│   │       │   ├── _form-range.scss
│   │       │   ├── _form-select.scss
│   │       │   ├── _form-text.scss
│   │       │   ├── _input-group.scss
│   │       │   ├── _labels.scss
│   │       │   └── _validation.scss
│   │       ├── helpers/
│   │       │   ├── _clearfix.scss
│   │       │   ├── _color-bg.scss
│   │       │   ├── _colored-links.scss
│   │       │   ├── _position.scss
│   │       │   ├── _ratio.scss
│   │       │   ├── _stacks.scss
│   │       │   ├── _stretched-link.scss
│   │       │   ├── _text-truncation.scss
│   │       │   ├── _visually-hidden.scss
│   │       │   └── _vr.scss
│   │       ├── mixins/
│   │       │   ├── _alert.scss
│   │       │   ├── _backdrop.scss
│   │       │   ├── _banner.scss
│   │       │   ├── _border-radius.scss
│   │       │   ├── _box-shadow.scss
│   │       │   ├── _breakpoints.scss
│   │       │   ├── _buttons.scss
│   │       │   ├── _caret.scss
│   │       │   ├── _clearfix.scss
│   │       │   ├── _color-scheme.scss
│   │       │   ├── _container.scss
│   │       │   ├── _deprecate.scss
│   │       │   ├── _forms.scss
│   │       │   ├── _gradients.scss
│   │       │   ├── _grid.scss
│   │       │   ├── _image.scss
│   │       │   ├── _list-group.scss
│   │       │   ├── _lists.scss
│   │       │   ├── _pagination.scss
│   │       │   ├── _reset-text.scss
│   │       │   ├── _resize.scss
│   │       │   ├── _table-variants.scss
│   │       │   ├── _text-truncate.scss
│   │       │   ├── _transition.scss
│   │       │   ├── _utilities.scss
│   │       │   └── _visually-hidden.scss
│   │       ├── utilities/
│   │       │   └── _api.scss
│   │       └── vendor/
│   │           └── _rfs.scss
│   └── scss/
│       ├── plugins/
│       │   ├── auto_position.scss
│       │   ├── clear_button.scss
│       │   ├── drag_drop.scss
│       │   ├── dropdown_header.scss
│       │   ├── optgroup_columns.scss
│       │   └── remove_button.scss
│       ├── selectize.bootstrap3.scss
│       ├── selectize.bootstrap4.scss
│       ├── selectize.bootstrap5.scss
│       ├── selectize.default.scss
│       └── selectize.scss
├── docs/
│   ├── .gitignore
│   ├── .ssl/
│   │   ├── loopback_website.crt
│   │   └── loopback_website.key
│   ├── README.md
│   ├── babel.config.js
│   ├── config/
│   │   └── typography.js
│   ├── docs/
│   │   ├── API/
│   │   │   ├── auto_position Plugin.mdx
│   │   │   ├── auto_select_on_type Plugin.mdx
│   │   │   ├── autofill_disable Plugin.mdx
│   │   │   ├── clear_button Plugin.mdx
│   │   │   ├── constants.mdx
│   │   │   ├── defaults.mdx
│   │   │   ├── drag_drop Plugin.mdx
│   │   │   ├── dropdown_header Plugin.mdx
│   │   │   ├── highlight.mdx
│   │   │   ├── microevent.mdx
│   │   │   ├── microplugin.mdx
│   │   │   ├── nanoid.mdx
│   │   │   ├── optgroup_columns Plugin.mdx
│   │   │   ├── read-only Plugin.mdx
│   │   │   ├── remove_button Plugin.mdx
│   │   │   ├── restore_on_backspace Plugin.mdx
│   │   │   ├── select_on_focus Plugin.mdx
│   │   │   ├── selectize.jquery.mdx
│   │   │   ├── selectize.mdx
│   │   │   ├── sifter.mdx
│   │   │   ├── tag_limit Plugin.mdx
│   │   │   └── utils.mdx
│   │   ├── api.mdx
│   │   ├── contribute.mdx
│   │   ├── demos/
│   │   │   ├── api.mdx
│   │   │   ├── basic.mdx
│   │   │   ├── confirm.mdx
│   │   │   ├── diacritics.mdx
│   │   │   ├── dynamic-option-groups.mdx
│   │   │   ├── dynamic-options.mdx
│   │   │   ├── email.mdx
│   │   │   ├── events.mdx
│   │   │   ├── lock.mdx
│   │   │   ├── max-items.mdx
│   │   │   ├── normalize.mdx
│   │   │   ├── opt-groups.mdx
│   │   │   ├── performance.mdx
│   │   │   ├── required.mdx
│   │   │   ├── rtl.mdx
│   │   │   └── tagging.mdx
│   │   ├── events.mdx
│   │   ├── intro.mdx
│   │   ├── plugins/
│   │   │   ├── auto-position.mdx
│   │   │   ├── auto-select-on-type.mdx
│   │   │   ├── autofill-disable.mdx
│   │   │   ├── clear-button.mdx
│   │   │   ├── drag-drop.mdx
│   │   │   ├── dropdown-header.mdx
│   │   │   ├── opt-group-col.mdx
│   │   │   ├── remove-button.mdx
│   │   │   ├── restore-backspace.mdx
│   │   │   └── select-on-focus.mdx
│   │   ├── plugins.mdx
│   │   └── usage.mdx
│   ├── docusaurus.config.js
│   ├── i18n/
│   │   ├── en/
│   │   │   ├── code.json
│   │   │   ├── docusaurus-plugin-content-blog/
│   │   │   │   └── options.json
│   │   │   ├── docusaurus-plugin-content-docs/
│   │   │   │   └── current.json
│   │   │   └── docusaurus-theme-classic/
│   │   │       ├── footer.json
│   │   │       └── navbar.json
│   │   └── fr/
│   │       ├── code.json
│   │       ├── docusaurus-plugin-content-blog/
│   │       │   └── options.json
│   │       ├── docusaurus-plugin-content-docs/
│   │       │   └── current.json
│   │       └── docusaurus-theme-classic/
│   │           ├── footer.json
│   │           └── navbar.json
│   ├── package.json
│   ├── postcss.config.js
│   ├── sidebars.js
│   ├── src/
│   │   ├── components/
│   │   │   ├── Button.jsx
│   │   │   ├── Examples/
│   │   │   │   ├── Api.js
│   │   │   │   ├── Basic.js
│   │   │   │   ├── ConfirmDelete.js
│   │   │   │   ├── Diacritics.js
│   │   │   │   ├── DynamicOpt.js
│   │   │   │   ├── DynamicOptGroups.js
│   │   │   │   ├── EmailContact.css
│   │   │   │   ├── EmailContact.js
│   │   │   │   ├── Events.js
│   │   │   │   ├── Lock.js
│   │   │   │   ├── MaxItems.js
│   │   │   │   ├── Normalize.js
│   │   │   │   ├── OptGroups.js
│   │   │   │   ├── Performance.js
│   │   │   │   ├── Plugins/
│   │   │   │   │   ├── AutoFillDisable.js
│   │   │   │   │   ├── AutoPosition.js
│   │   │   │   │   ├── AutoSelectOnType.js
│   │   │   │   │   ├── ClearBtn.js
│   │   │   │   │   ├── DragDrop.js
│   │   │   │   │   ├── DropdownHeader.js
│   │   │   │   │   ├── OptGroupCol.js
│   │   │   │   │   ├── RemoveBtn.js
│   │   │   │   │   ├── RestoreBackspace.js
│   │   │   │   │   └── SelectOnFocus.js
│   │   │   │   ├── Required.js
│   │   │   │   ├── Rtl.js
│   │   │   │   └── Tagging.js
│   │   │   ├── GridPattern.jsx
│   │   │   ├── Hero.jsx
│   │   │   ├── HeroBackground.jsx
│   │   │   ├── HomepageFeatures/
│   │   │   │   └── index.js
│   │   │   ├── PagePattern.jsx
│   │   │   ├── Prose.jsx
│   │   │   └── Theming/
│   │   │       └── ThemeChanger.js
│   │   ├── css/
│   │   │   └── custom.css
│   │   ├── fonts/
│   │   │   ├── Caskaydia Cove.LICENSE.txt
│   │   │   ├── CaskaydiaCoveNerdFontComplete-Bold.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-BoldItalic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-ExtraLight.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-ExtraLightItalic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-Italic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-Light.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-LightItalic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoBold.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoBoldItalic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoExtraLight.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoExtraLightItalic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoItalic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoLight.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoLightItalic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoRegular.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoSemiBold.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoSemiBoldItalic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoSemiLight.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-MonoSemiLightItalic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-Regular.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-SemiBold.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-SemiBoldItalic.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-SemiLight.otf
│   │   │   ├── CaskaydiaCoveNerdFontComplete-SemiLightItalic.otf
│   │   │   ├── VisbyCF-License.txt
│   │   │   └── lexend.txt
│   │   ├── pages/
│   │   │   ├── code-of-conduct.mdx
│   │   │   ├── index.js
│   │   │   ├── license.mdx
│   │   │   └── privacy-policy.mdx
│   │   └── theme/
│   │       ├── CodeBlock/
│   │       │   └── index.js
│   │       ├── DocBreadcrumbs/
│   │       │   ├── index.js
│   │       │   └── styles.module.css
│   │       ├── DocCardList/
│   │       │   └── index.js
│   │       ├── DocItem/
│   │       │   ├── Content/
│   │       │   │   └── index.js
│   │       │   ├── Paginator/
│   │       │   │   └── index.js
│   │       │   └── index.js
│   │       ├── DocPage/
│   │       │   ├── Layout/
│   │       │   │   └── Main/
│   │       │   │       ├── index.js
│   │       │   │       └── styles.module.css
│   │       │   └── index.js
│   │       ├── DocPaginator/
│   │       │   └── index.js
│   │       ├── Footer/
│   │       │   ├── Copyright/
│   │       │   │   └── index.js
│   │       │   ├── Layout/
│   │       │   │   └── index.js
│   │       │   ├── LinkItem/
│   │       │   │   └── index.js
│   │       │   ├── Links/
│   │       │   │   ├── MultiColumn/
│   │       │   │   │   └── index.js
│   │       │   │   └── index.js
│   │       │   ├── Logo/
│   │       │   │   ├── index.js
│   │       │   │   └── styles.module.css
│   │       │   └── index.js
│   │       ├── PaginatorNavLink/
│   │       │   └── index.js
│   │       └── root.js
│   ├── static/
│   │   ├── .nojekyll
│   │   ├── CNAME
│   │   ├── ads.txt
│   │   ├── css/
│   │   │   ├── selectize.bootstrap2.css
│   │   │   ├── selectize.bootstrap3.css
│   │   │   ├── selectize.bootstrap4.css
│   │   │   ├── selectize.bootstrap5.css
│   │   │   ├── selectize.css
│   │   │   └── selectize.default.css
│   │   └── js/
│   │       └── selectize.js
│   └── tailwind.config.js
├── gulpfile.js
├── index.d.ts
├── karma.conf.js
├── lib/
│   ├── bootstrap-sass/
│   │   ├── _alerts.scss
│   │   ├── _badges.scss
│   │   ├── _breadcrumbs.scss
│   │   ├── _button-groups.scss
│   │   ├── _buttons.scss
│   │   ├── _carousel.scss
│   │   ├── _close.scss
│   │   ├── _code.scss
│   │   ├── _component-animations.scss
│   │   ├── _dropdowns.scss
│   │   ├── _forms.scss
│   │   ├── _glyphicons.scss
│   │   ├── _grid.scss
│   │   ├── _input-groups.scss
│   │   ├── _jumbotron.scss
│   │   ├── _labels.scss
│   │   ├── _list-group.scss
│   │   ├── _media.scss
│   │   ├── _mixins.scss
│   │   ├── _modals.scss
│   │   ├── _navbar.scss
│   │   ├── _navs.scss
│   │   ├── _normalize.scss
│   │   ├── _pager.scss
│   │   ├── _pagination.scss
│   │   ├── _panels.scss
│   │   ├── _popovers.scss
│   │   ├── _print.scss
│   │   ├── _progress-bars.scss
│   │   ├── _responsive-embed.scss
│   │   ├── _responsive-utilities.scss
│   │   ├── _scaffolding.scss
│   │   ├── _tables.scss
│   │   ├── _theme.scss
│   │   ├── _thumbnails.scss
│   │   ├── _tooltip.scss
│   │   ├── _type.scss
│   │   ├── _utilities.scss
│   │   ├── _variables.scss
│   │   ├── _wells.scss
│   │   └── mixins/
│   │       ├── _alerts.scss
│   │       ├── _background-variant.scss
│   │       ├── _border-radius.scss
│   │       ├── _buttons.scss
│   │       ├── _center-block.scss
│   │       ├── _clearfix.scss
│   │       ├── _forms.scss
│   │       ├── _gradients.scss
│   │       ├── _grid-framework.scss
│   │       ├── _grid.scss
│   │       ├── _hide-text.scss
│   │       ├── _image.scss
│   │       ├── _labels.scss
│   │       ├── _list-group.scss
│   │       ├── _nav-divider.scss
│   │       ├── _nav-vertical-align.scss
│   │       ├── _opacity.scss
│   │       ├── _pagination.scss
│   │       ├── _panels.scss
│   │       ├── _progress-bar.scss
│   │       ├── _reset-filter.scss
│   │       ├── _reset-text.scss
│   │       ├── _resize.scss
│   │       ├── _responsive-visibility.scss
│   │       ├── _size.scss
│   │       ├── _tab-focus.scss
│   │       ├── _table-row.scss
│   │       ├── _text-emphasis.scss
│   │       ├── _text-overflow.scss
│   │       └── _vendor-prefixes.scss
│   ├── bootstrap2/
│   │   ├── accordion.less
│   │   ├── alerts.less
│   │   ├── bootstrap.less
│   │   ├── breadcrumbs.less
│   │   ├── button-groups.less
│   │   ├── buttons.less
│   │   ├── carousel.less
│   │   ├── close.less
│   │   ├── code.less
│   │   ├── component-animations.less
│   │   ├── dropdowns.less
│   │   ├── forms.less
│   │   ├── grid.less
│   │   ├── hero-unit.less
│   │   ├── labels-badges.less
│   │   ├── layouts.less
│   │   ├── media.less
│   │   ├── mixins.less
│   │   ├── modals.less
│   │   ├── navbar.less
│   │   ├── navs.less
│   │   ├── pager.less
│   │   ├── pagination.less
│   │   ├── popovers.less
│   │   ├── progress-bars.less
│   │   ├── reset.less
│   │   ├── responsive-1200px-min.less
│   │   ├── responsive-767px-max.less
│   │   ├── responsive-768px-979px.less
│   │   ├── responsive-navbar.less
│   │   ├── responsive-utilities.less
│   │   ├── responsive.less
│   │   ├── scaffolding.less
│   │   ├── sprites.less
│   │   ├── tables.less
│   │   ├── tests/
│   │   │   ├── buttons.html
│   │   │   ├── css-tests.css
│   │   │   ├── css-tests.html
│   │   │   ├── forms-responsive.html
│   │   │   ├── forms.html
│   │   │   ├── navbar-fixed-top.html
│   │   │   ├── navbar-static-top.html
│   │   │   └── navbar.html
│   │   ├── thumbnails.less
│   │   ├── tooltip.less
│   │   ├── type.less
│   │   ├── utilities.less
│   │   ├── variables.less
│   │   └── wells.less
│   ├── bootstrap3/
│   │   ├── alerts.less
│   │   ├── badges.less
│   │   ├── bootstrap.less
│   │   ├── breadcrumbs.less
│   │   ├── button-groups.less
│   │   ├── buttons.less
│   │   ├── carousel.less
│   │   ├── close.less
│   │   ├── code.less
│   │   ├── component-animations.less
│   │   ├── dropdowns.less
│   │   ├── forms.less
│   │   ├── glyphicons.less
│   │   ├── grid.less
│   │   ├── input-groups.less
│   │   ├── jumbotron.less
│   │   ├── labels.less
│   │   ├── list-group.less
│   │   ├── media.less
│   │   ├── mixins/
│   │   │   ├── alerts.less
│   │   │   ├── background-variant.less
│   │   │   ├── border-radius.less
│   │   │   ├── buttons.less
│   │   │   ├── center-block.less
│   │   │   ├── clearfix.less
│   │   │   ├── forms.less
│   │   │   ├── gradients.less
│   │   │   ├── grid-framework.less
│   │   │   ├── grid.less
│   │   │   ├── hide-text.less
│   │   │   ├── image.less
│   │   │   ├── labels.less
│   │   │   ├── list-group.less
│   │   │   ├── nav-divider.less
│   │   │   ├── nav-vertical-align.less
│   │   │   ├── opacity.less
│   │   │   ├── pagination.less
│   │   │   ├── panels.less
│   │   │   ├── progress-bar.less
│   │   │   ├── reset-filter.less
│   │   │   ├── reset-text.less
│   │   │   ├── resize.less
│   │   │   ├── responsive-visibility.less
│   │   │   ├── size.less
│   │   │   ├── tab-focus.less
│   │   │   ├── table-row.less
│   │   │   ├── text-emphasis.less
│   │   │   ├── text-overflow.less
│   │   │   └── vendor-prefixes.less
│   │   ├── mixins.less
│   │   ├── modals.less
│   │   ├── navbar.less
│   │   ├── navs.less
│   │   ├── normalize.less
│   │   ├── pager.less
│   │   ├── pagination.less
│   │   ├── panels.less
│   │   ├── popovers.less
│   │   ├── print.less
│   │   ├── progress-bars.less
│   │   ├── responsive-embed.less
│   │   ├── responsive-utilities.less
│   │   ├── scaffolding.less
│   │   ├── tables.less
│   │   ├── theme.less
│   │   ├── thumbnails.less
│   │   ├── tooltip.less
│   │   ├── type.less
│   │   ├── utilities.less
│   │   ├── variables.less
│   │   └── wells.less
│   ├── bootstrap4/
│   │   ├── _alert.scss
│   │   ├── _badge.scss
│   │   ├── _breadcrumb.scss
│   │   ├── _button-group.scss
│   │   ├── _buttons.scss
│   │   ├── _card.scss
│   │   ├── _carousel.scss
│   │   ├── _close.scss
│   │   ├── _code.scss
│   │   ├── _custom-forms.scss
│   │   ├── _dropdown.scss
│   │   ├── _forms.scss
│   │   ├── _functions.scss
│   │   ├── _grid.scss
│   │   ├── _images.scss
│   │   ├── _input-group.scss
│   │   ├── _jumbotron.scss
│   │   ├── _list-group.scss
│   │   ├── _media.scss
│   │   ├── _mixins.scss
│   │   ├── _modal.scss
│   │   ├── _nav.scss
│   │   ├── _navbar.scss
│   │   ├── _pagination.scss
│   │   ├── _popover.scss
│   │   ├── _print.scss
│   │   ├── _progress.scss
│   │   ├── _reboot.scss
│   │   ├── _root.scss
│   │   ├── _spinners.scss
│   │   ├── _tables.scss
│   │   ├── _toasts.scss
│   │   ├── _tooltip.scss
│   │   ├── _transitions.scss
│   │   ├── _type.scss
│   │   ├── _utilities.scss
│   │   ├── _variables.scss
│   │   ├── bootstrap-grid.scss
│   │   ├── bootstrap-reboot.scss
│   │   ├── bootstrap.scss
│   │   ├── mixins/
│   │   │   ├── _alert.scss
│   │   │   ├── _background-variant.scss
│   │   │   ├── _badge.scss
│   │   │   ├── _border-radius.scss
│   │   │   ├── _box-shadow.scss
│   │   │   ├── _breakpoints.scss
│   │   │   ├── _buttons.scss
│   │   │   ├── _caret.scss
│   │   │   ├── _clearfix.scss
│   │   │   ├── _deprecate.scss
│   │   │   ├── _float.scss
│   │   │   ├── _forms.scss
│   │   │   ├── _gradients.scss
│   │   │   ├── _grid-framework.scss
│   │   │   ├── _grid.scss
│   │   │   ├── _hover.scss
│   │   │   ├── _image.scss
│   │   │   ├── _list-group.scss
│   │   │   ├── _lists.scss
│   │   │   ├── _nav-divider.scss
│   │   │   ├── _pagination.scss
│   │   │   ├── _reset-text.scss
│   │   │   ├── _resize.scss
│   │   │   ├── _screen-reader.scss
│   │   │   ├── _size.scss
│   │   │   ├── _table-row.scss
│   │   │   ├── _text-emphasis.scss
│   │   │   ├── _text-hide.scss
│   │   │   ├── _text-truncate.scss
│   │   │   ├── _transition.scss
│   │   │   └── _visibility.scss
│   │   ├── utilities/
│   │   │   ├── _align.scss
│   │   │   ├── _background.scss
│   │   │   ├── _borders.scss
│   │   │   ├── _clearfix.scss
│   │   │   ├── _display.scss
│   │   │   ├── _embed.scss
│   │   │   ├── _flex.scss
│   │   │   ├── _float.scss
│   │   │   ├── _interactions.scss
│   │   │   ├── _overflow.scss
│   │   │   ├── _position.scss
│   │   │   ├── _screenreaders.scss
│   │   │   ├── _shadows.scss
│   │   │   ├── _sizing.scss
│   │   │   ├── _spacing.scss
│   │   │   ├── _stretched-link.scss
│   │   │   ├── _text.scss
│   │   │   └── _visibility.scss
│   │   └── vendor/
│   │       └── _rfs.scss
│   └── bootstrap5/
│       ├── _accordion.scss
│       ├── _alert.scss
│       ├── _badge.scss
│       ├── _breadcrumb.scss
│       ├── _button-group.scss
│       ├── _buttons.scss
│       ├── _card.scss
│       ├── _carousel.scss
│       ├── _close.scss
│       ├── _containers.scss
│       ├── _dropdown.scss
│       ├── _forms.scss
│       ├── _functions.scss
│       ├── _grid.scss
│       ├── _helpers.scss
│       ├── _images.scss
│       ├── _list-group.scss
│       ├── _maps.scss
│       ├── _mixins.scss
│       ├── _modal.scss
│       ├── _nav.scss
│       ├── _navbar.scss
│       ├── _offcanvas.scss
│       ├── _pagination.scss
│       ├── _placeholders.scss
│       ├── _popover.scss
│       ├── _progress.scss
│       ├── _reboot.scss
│       ├── _root.scss
│       ├── _spinners.scss
│       ├── _tables.scss
│       ├── _toasts.scss
│       ├── _tooltip.scss
│       ├── _transitions.scss
│       ├── _type.scss
│       ├── _utilities.scss
│       ├── _variables.scss
│       ├── bootstrap-grid.scss
│       ├── bootstrap-reboot.scss
│       ├── bootstrap-utilities.scss
│       ├── bootstrap.scss
│       ├── forms/
│       │   ├── _floating-labels.scss
│       │   ├── _form-check.scss
│       │   ├── _form-control.scss
│       │   ├── _form-range.scss
│       │   ├── _form-select.scss
│       │   ├── _form-text.scss
│       │   ├── _input-group.scss
│       │   ├── _labels.scss
│       │   └── _validation.scss
│       ├── helpers/
│       │   ├── _clearfix.scss
│       │   ├── _color-bg.scss
│       │   ├── _colored-links.scss
│       │   ├── _position.scss
│       │   ├── _ratio.scss
│       │   ├── _stacks.scss
│       │   ├── _stretched-link.scss
│       │   ├── _text-truncation.scss
│       │   ├── _visually-hidden.scss
│       │   └── _vr.scss
│       ├── mixins/
│       │   ├── _alert.scss
│       │   ├── _backdrop.scss
│       │   ├── _banner.scss
│       │   ├── _border-radius.scss
│       │   ├── _box-shadow.scss
│       │   ├── _breakpoints.scss
│       │   ├── _buttons.scss
│       │   ├── _caret.scss
│       │   ├── _clearfix.scss
│       │   ├── _color-scheme.scss
│       │   ├── _container.scss
│       │   ├── _deprecate.scss
│       │   ├── _forms.scss
│       │   ├── _gradients.scss
│       │   ├── _grid.scss
│       │   ├── _image.scss
│       │   ├── _list-group.scss
│       │   ├── _lists.scss
│       │   ├── _pagination.scss
│       │   ├── _reset-text.scss
│       │   ├── _resize.scss
│       │   ├── _table-variants.scss
│       │   ├── _text-truncate.scss
│       │   ├── _transition.scss
│       │   ├── _utilities.scss
│       │   └── _visually-hidden.scss
│       ├── utilities/
│       │   └── _api.scss
│       └── vendor/
│           └── _rfs.scss
├── package.json
├── src/
│   ├── constants.js
│   ├── contrib/
│   │   ├── highlight.js
│   │   ├── microevent.js
│   │   ├── microplugin.js
│   │   ├── nanoid.js
│   │   └── sifter.js
│   ├── defaults.js
│   ├── less/
│   │   ├── selectize.bootstrap2.less
│   │   ├── selectize.bootstrap3.less
│   │   ├── selectize.default.less
│   │   └── selectize.less
│   ├── plugins/
│   │   ├── auto_position/
│   │   │   ├── plugin.js
│   │   │   ├── plugin.less
│   │   │   └── plugin.scss
│   │   ├── auto_select_on_type/
│   │   │   └── plugin.js
│   │   ├── autofill_disable/
│   │   │   └── plugin.js
│   │   ├── clear_button/
│   │   │   ├── plugin.js
│   │   │   ├── plugin.less
│   │   │   └── plugin.scss
│   │   ├── drag_drop/
│   │   │   ├── plugin.js
│   │   │   ├── plugin.less
│   │   │   └── plugin.scss
│   │   ├── dropdown_header/
│   │   │   ├── plugin.js
│   │   │   ├── plugin.less
│   │   │   └── plugin.scss
│   │   ├── optgroup_columns/
│   │   │   ├── plugin.js
│   │   │   ├── plugin.less
│   │   │   └── plugin.scss
│   │   ├── read-only/
│   │   │   └── plugin.js
│   │   ├── remove_button/
│   │   │   ├── plugin.js
│   │   │   ├── plugin.less
│   │   │   └── plugin.scss
│   │   ├── restore_on_backspace/
│   │   │   └── plugin.js
│   │   ├── select_on_focus/
│   │   │   └── plugin.js
│   │   └── tag_limit/
│   │       └── plugin.js
│   ├── scss/
│   │   ├── selectize.bootstrap3.scss
│   │   ├── selectize.bootstrap4.scss
│   │   ├── selectize.bootstrap5.scss
│   │   ├── selectize.default.scss
│   │   └── selectize.scss
│   ├── selectize.jquery.js
│   ├── selectize.js
│   └── utils.js
└── test/
    ├── api.js
    ├── events.js
    ├── events_dom.js
    ├── interaction.js
    ├── microplugin.js
    ├── setup.js
    ├── sifter.js
    ├── support/
    │   ├── base.js
    │   └── syn.js
    └── xss.js
Download .txt
SYMBOL INDEX (84 symbols across 60 files)

FILE: dist/js/selectize.js
  function uaDetect (line 818) | function uaDetect(platform, re) {

FILE: docs/docusaurus.config.js
  method configurePostCss (line 80) | configurePostCss(postcssOptions) {

FILE: docs/src/components/Button.jsx
  function Button (line 12) | function Button({ variant = 'primary', className, href, ...props }) {

FILE: docs/src/components/Examples/Api.js
  function Api (line 6) | function Api() {

FILE: docs/src/components/Examples/Basic.js
  function Basics (line 6) | function Basics() {

FILE: docs/src/components/Examples/ConfirmDelete.js
  function ConfirmDelete (line 6) | function ConfirmDelete() {

FILE: docs/src/components/Examples/Diacritics.js
  function Diacritics (line 5) | function Diacritics() {

FILE: docs/src/components/Examples/DynamicOpt.js
  function DynamicOpt (line 6) | function DynamicOpt() {

FILE: docs/src/components/Examples/DynamicOptGroups.js
  function OptGroups (line 5) | function OptGroups() {

FILE: docs/src/components/Examples/EmailContact.js
  function EmailContact (line 7) | function EmailContact() {

FILE: docs/src/components/Examples/Events.js
  function Events (line 6) | function Events() {

FILE: docs/src/components/Examples/Lock.js
  function Lock (line 6) | function Lock() {

FILE: docs/src/components/Examples/MaxItems.js
  function MaxItems (line 5) | function MaxItems() {

FILE: docs/src/components/Examples/Normalize.js
  function Normalize (line 5) | function Normalize() {

FILE: docs/src/components/Examples/OptGroups.js
  function OptGroups (line 5) | function OptGroups() {

FILE: docs/src/components/Examples/Performance.js
  function Performance (line 6) | function Performance() {

FILE: docs/src/components/Examples/Plugins/AutoFillDisable.js
  function AutofillDisable (line 5) | function AutofillDisable() {

FILE: docs/src/components/Examples/Plugins/AutoPosition.js
  function AutoPosition (line 5) | function AutoPosition() {

FILE: docs/src/components/Examples/Plugins/AutoSelectOnType.js
  function AutoSelectOnType (line 5) | function AutoSelectOnType() {

FILE: docs/src/components/Examples/Plugins/ClearBtn.js
  function ClearButton (line 5) | function ClearButton() {

FILE: docs/src/components/Examples/Plugins/DragDrop.js
  function DragNDrop (line 5) | function DragNDrop() {

FILE: docs/src/components/Examples/Plugins/DropdownHeader.js
  function DropdownHeader (line 5) | function DropdownHeader() {

FILE: docs/src/components/Examples/Plugins/OptGroupCol.js
  function OptGroupCol (line 5) | function OptGroupCol() {

FILE: docs/src/components/Examples/Plugins/RemoveBtn.js
  function RemoveButton (line 5) | function RemoveButton() {

FILE: docs/src/components/Examples/Plugins/RestoreBackspace.js
  function RestoreBackspace (line 5) | function RestoreBackspace() {

FILE: docs/src/components/Examples/Plugins/SelectOnFocus.js
  function SelectOnFocus (line 5) | function SelectOnFocus() {

FILE: docs/src/components/Examples/Required.js
  function Required (line 6) | function Required() {

FILE: docs/src/components/Examples/Rtl.js
  function Rtl (line 6) | function Rtl() {

FILE: docs/src/components/Examples/Tagging.js
  function Tagging (line 5) | function Tagging() {

FILE: docs/src/components/GridPattern.jsx
  function GridPattern (line 3) | function GridPattern({ width, height, x, y, squares, ...props }) {

FILE: docs/src/components/Hero.jsx
  function TrafficLightsIcon (line 23) | function TrafficLightsIcon(props) {
  function Hero (line 33) | function Hero() {

FILE: docs/src/components/HeroBackground.jsx
  function HeroBackground (line 2) | function HeroBackground(props) {

FILE: docs/src/components/HomepageFeatures/index.js
  function Feature (line 124) | function Feature({ feature }) {
  function FeatureIcon (line 157) | function FeatureIcon({ icon }) {
  function FeaturePattern (line 168) | function FeaturePattern({ mouseX, mouseY, ...gridProps }) {
  function HomepageFeatures (line 203) | function HomepageFeatures() {

FILE: docs/src/components/PagePattern.jsx
  function PagePattern (line 4) | function PagePattern() {

FILE: docs/src/components/Prose.jsx
  function Prose (line 4) | function Prose({ as: Component = 'div', className, ...props }) {

FILE: docs/src/components/Theming/ThemeChanger.js
  function ThemeChanger (line 6) | function ThemeChanger() {

FILE: docs/src/pages/index.js
  function Home (line 7) | function Home() {

FILE: docs/src/theme/CodeBlock/index.js
  function maybeStringifyChildren (line 12) | function maybeStringifyChildren(children) {
  function CodeBlock (line 19) | function CodeBlock({ children: rawChildren, ...props }) {

FILE: docs/src/theme/DocBreadcrumbs/index.js
  function BreadcrumbsItemLink (line 14) | function BreadcrumbsItemLink({ children, href, isLast }) {
  function BreadcrumbsItem (line 37) | function BreadcrumbsItem({ children, active, index, addMicrodata }) {
  function HomeBreadcrumbItem (line 53) | function HomeBreadcrumbItem() {
  function DocBreadcrumbs (line 72) | function DocBreadcrumbs() {

FILE: docs/src/theme/DocCardList/index.js
  function DocCardListForCurrentSidebarCategory (line 8) | function DocCardListForCurrentSidebarCategory({ className }) {
  function DocCardList (line 12) | function DocCardList(props) {

FILE: docs/src/theme/DocItem/Content/index.js
  function useSyntheticTitle (line 17) | function useSyntheticTitle() {
  function DocItemContent (line 26) | function DocItemContent({ children }) {

FILE: docs/src/theme/DocItem/Paginator/index.js
  function DocItemPaginator (line 8) | function DocItemPaginator() {

FILE: docs/src/theme/DocItem/index.js
  function DocItem (line 6) | function DocItem(props) {

FILE: docs/src/theme/DocPage/Layout/Main/index.js
  function DocPageLayoutMain (line 7) | function DocPageLayoutMain({ hiddenSidebarContainer, children }) {

FILE: docs/src/theme/DocPage/index.js
  function DocPageMetadata (line 17) | function DocPageMetadata(props) {
  function DocPage (line 36) | function DocPage(props) {

FILE: docs/src/theme/DocPaginator/index.js
  function DocPaginator (line 4) | function DocPaginator(props) {

FILE: docs/src/theme/Footer/Copyright/index.js
  function FooterCopyright (line 2) | function FooterCopyright({copyright}) {

FILE: docs/src/theme/Footer/Layout/index.js
  function FooterLayout (line 9) | function FooterLayout({ style, links, logo, copyright }) {

FILE: docs/src/theme/Footer/LinkItem/index.js
  function FooterLinkItem (line 6) | function FooterLinkItem({ item }) {

FILE: docs/src/theme/Footer/Links/MultiColumn/index.js
  function ColumnLinkItem (line 3) | function ColumnLinkItem({item}) {
  function Column (line 17) | function Column({column}) {
  function FooterLinksMultiColumn (line 29) | function FooterLinksMultiColumn({columns}) {

FILE: docs/src/theme/Footer/Links/index.js
  function FooterLinks (line 5) | function FooterLinks({links}) {

FILE: docs/src/theme/Footer/Logo/index.js
  function LogoImage (line 7) | function LogoImage({ logo }) {
  function FooterLogo (line 24) | function FooterLogo({ logo }) {

FILE: docs/src/theme/Footer/index.js
  function Footer (line 8) | function Footer() {

FILE: docs/src/theme/PaginatorNavLink/index.js
  function PaginatorNavLink (line 7) | function PaginatorNavLink(props) {
  function FeaturePattern (line 52) | function FeaturePattern({ mouseX, mouseY, ...gridProps }) {

FILE: docs/src/theme/root.js
  function Root (line 4) | function Root({ children }) {

FILE: docs/static/js/selectize.js
  function uaDetect (line 818) | function uaDetect(platform, re) {

FILE: gulpfile.js
  function _copyLibs (line 151) | async function _copyLibs() {

FILE: index.d.ts
  type IOptions (line 11) | interface IOptions<T, U> {
  type ICustomRenderers (line 400) | interface ICustomRenderers<U> {
  type IApi (line 420) | interface IApi<T, U> {
  type ISearchToken (line 624) | interface ISearchToken {
  type ISearchResult (line 629) | interface ISearchResult {
  type ISearch (line 634) | interface ISearch {
  type JQuery (line 662) | interface JQuery {
  type HTMLElement (line 666) | interface HTMLElement {

FILE: src/utils.js
  function uaDetect (line 401) | function uaDetect(platform, re) {

FILE: test/interaction.js
  function createFilterTest (line 357) | function createFilterTest(createFilter) {
  function execFilterTest (line 363) | function execFilterTest(test, done, expectation) {
  function execFilterTests (line 376) | function execFilterTests(heading, filters, expectation) {
Condensed preview — 1014 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (3,792K chars).
[
  {
    "path": ".browserslistrc",
    "chars": 101,
    "preview": "[production]\ndefaults\n> 5% in US\nlast 2 versions\nFirefox ESR\niOS >= 12\n\n[development]\nlast 1 version\n"
  },
  {
    "path": ".editorconfig",
    "chars": 167,
    "preview": "# editorconfig.org\n\nroot = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\nindent_size = 2\nindent_style = space\ninsert_final_"
  },
  {
    "path": ".github/FUNDING.yml",
    "chars": 644,
    "preview": "# These are supported funding model platforms\n\ngithub: [risadams]\npatreon: # Replace with a single Patreon username\nopen"
  },
  {
    "path": ".github/ISSUE_TEMPLATE.md",
    "chars": 1500,
    "preview": "Welcome to the Selectize bug tracker. Thank you for taking the time to\nmake Selectize a better library!\n\nPlease keep in "
  },
  {
    "path": ".github/codeql/codeql-config.yml",
    "chars": 69,
    "preview": "paths:\n  - src\n  - dist\npaths-ignore:\n  - docs\n  - examples\n  - test\n"
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 706,
    "preview": "# To get started with Dependabot version updates, you'll need to specify which\n# package ecosystems to update and where "
  },
  {
    "path": ".github/workflows/UpdateContributors.yml",
    "chars": 527,
    "preview": "name: Update Contributors\non:\n  schedule:\n    - cron: \"0 0 1 * *\"\n  workflow_dispatch:\njobs:\n  main:\n    runs-on: ubuntu"
  },
  {
    "path": ".github/workflows/codeql-analysis.yml",
    "chars": 2496,
    "preview": "# For most projects, this workflow file will not need changing; you simply need\n# to commit it to your repository.\n#\n# Y"
  },
  {
    "path": ".github/workflows/node.js.yml",
    "chars": 771,
    "preview": "# This workflow will do a clean install of node dependencies, build the source code and run tests across different versi"
  },
  {
    "path": ".github/workflows/stale.yml",
    "chars": 891,
    "preview": "name: Mark stale issues and pull requests\n\non:\n  schedule:\n  - cron: \"30 1 * * *\"\n\njobs:\n  stale:\n\n    runs-on: ubuntu-l"
  },
  {
    "path": ".gitignore",
    "chars": 82,
    "preview": ".DS_Store\n.DAV\nnode_modules\nbower_components\n*.log\n.vscode\nbuild\ncoverage/\n_site/\n"
  },
  {
    "path": ".npmrc",
    "chars": 11,
    "preview": "fund=false\n"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 3374,
    "preview": "# Changelog\n\n<!-- Feel free to put either your handle and/or full name, according to\n     your privacy needs -->\n\n## v0."
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "chars": 5235,
    "preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nWe as members, contributors, and leaders pledge to make participa"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 9867,
    "preview": "# Contributing to Selectize\n\nFirst off, thanks for taking the time to contribute! ❤️\n\nAll types of contributions are enc"
  },
  {
    "path": "CONTRIBUTORS.md",
    "chars": 1330,
    "preview": "# Contributors\n\nThank you to our top contributors!\n\n - @[brianreavis](https://github.com/brianreavis)\n - @[risadams](htt"
  },
  {
    "path": "LICENSE",
    "chars": 11406,
    "preview": "\n                                 Apache License\n                           Version 2.0, January 2004\n                  "
  },
  {
    "path": "Makefile",
    "chars": 1804,
    "preview": ".PHONY: compile release test\nGULP=node_modules/.bin/gulp\nCURRENT_VERSION := $(shell sed -n '/\"version\":/{s/.*\"version\": "
  },
  {
    "path": "README.md",
    "chars": 6710,
    "preview": "# selectize.js\n\n![Selectize.js](docs/static/img/selectize-wordmark.png)\n\n→ Selectize is looking for [new members on the "
  },
  {
    "path": "SECURITY.md",
    "chars": 537,
    "preview": "# Security Policy\n\n## Supported Versions\n\nThe following versions are currently being supported with security updates.\n\n|"
  },
  {
    "path": "dist/css/selectize.bootstrap2.css",
    "chars": 15139,
    "preview": "/**\n * Selectize (v0.15.2)\n * https://selectize.dev\n *\n * Copyright (c) 2013-2015 Brian Reavis & contributors\n * Copyrig"
  },
  {
    "path": "dist/css/selectize.bootstrap3.css",
    "chars": 13185,
    "preview": "/**\n * Selectize (v0.15.2)\n * https://selectize.dev\n *\n * Copyright (c) 2013-2015 Brian Reavis & contributors\n * Copyrig"
  },
  {
    "path": "dist/css/selectize.bootstrap4.css",
    "chars": 14321,
    "preview": "/**\n * Selectize (v0.15.2)\n * https://selectize.dev\n *\n * Copyright (c) 2013-2015 Brian Reavis & contributors\n * Copyrig"
  },
  {
    "path": "dist/css/selectize.bootstrap5.css",
    "chars": 14624,
    "preview": "/**\n * Selectize (v0.15.2)\n * https://selectize.dev\n *\n * Copyright (c) 2013-2015 Brian Reavis & contributors\n * Copyrig"
  },
  {
    "path": "dist/css/selectize.css",
    "chars": 11799,
    "preview": "/**\n * Selectize (v0.15.2)\n * https://selectize.dev\n *\n * Copyright (c) 2013-2015 Brian Reavis & contributors\n * Copyrig"
  },
  {
    "path": "dist/css/selectize.default.css",
    "chars": 13230,
    "preview": "/**\n * Selectize (v0.15.2)\n * https://selectize.dev\n *\n * Copyright (c) 2013-2015 Brian Reavis & contributors\n * Copyrig"
  },
  {
    "path": "dist/js/selectize.js",
    "chars": 96514,
    "preview": "/**\n * Selectize (v0.15.2)\n * https://selectize.dev\n *\n * Copyright (c) 2013-2015 Brian Reavis & contributors\n * Copyrig"
  },
  {
    "path": "dist/less/plugins/auto_position.less",
    "chars": 375,
    "preview": ".selectize-dropdown.plugin-auto_position.selectize-position-top {\n  border-top: 1px solid @selectize-color-border;\n  bor"
  },
  {
    "path": "dist/less/plugins/clear_button.less",
    "chars": 615,
    "preview": ".selectize-control.plugin-clear_button {\n  .clear {\n      text-decoration: none;\n      display: flex;\n      position: ab"
  },
  {
    "path": "dist/less/plugins/drag_drop.less",
    "chars": 446,
    "preview": ".selectize-control.plugin-drag_drop {\n\t&.multi > .selectize-input > div.ui-sortable-placeholder {\n\t\tvisibility: visible "
  },
  {
    "path": "dist/less/plugins/dropdown_header.less",
    "chars": 681,
    "preview": ".selectize-dropdown-header {\n\tposition: relative;\n\tpadding: @selectize-padding-dropdown-item-y @selectize-padding-dropdo"
  },
  {
    "path": "dist/less/plugins/optgroup_columns.less",
    "chars": 308,
    "preview": ".selectize-dropdown.plugin-optgroup_columns {\n\t.optgroup {\n\t\tborder-right: 1px solid #f2f2f2;\n\t\tborder-top: 0 none;\n\t\tfl"
  },
  {
    "path": "dist/less/plugins/remove_button.less",
    "chars": 1055,
    "preview": ".selectize-control.plugin-remove_button {\n\t[data-value] {\n\t\tposition: relative;\n\t\tpadding-right: 24px !important;\n\t}\n\t[d"
  },
  {
    "path": "dist/less/selectize.bootstrap2.less",
    "chars": 4836,
    "preview": " @import \"lib/bootstrap2/variables.less\";\n @import \"lib/bootstrap2/mixins.less\";\n @import \"selectize\";\n\n@selectize-font-"
  },
  {
    "path": "dist/less/selectize.bootstrap3.less",
    "chars": 4139,
    "preview": "@import \"selectize\";\n\n@selectize-font-family: inherit;\n@selectize-font-size: inherit;\n@selectize-line-height: @line-heig"
  },
  {
    "path": "dist/less/selectize.default.less",
    "chars": 1605,
    "preview": "@import \"selectize\";\n\n@selectize-color-item: #1da7ee;\n@selectize-color-item-text: #fff;\n@selectize-color-item-active-tex"
  },
  {
    "path": "dist/less/selectize.less",
    "chars": 9290,
    "preview": "// base styles\n\n@selectize-font-family: inherit;\n@selectize-font-smoothing: inherit;\n@selectize-font-size: 13px;\n@select"
  },
  {
    "path": "dist/lib/bootstrap-sass/_alerts.scss",
    "chars": 1546,
    "preview": "//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert"
  },
  {
    "path": "dist/lib/bootstrap-sass/_badges.scss",
    "chars": 1228,
    "preview": "//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n  display: inline-block;\n  m"
  },
  {
    "path": "dist/lib/bootstrap-sass/_breadcrumbs.scss",
    "chars": 700,
    "preview": "//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n  padding: $breadcrumb-padding-v"
  },
  {
    "path": "dist/lib/bootstrap-sass/_button-groups.scss",
    "chars": 5764,
    "preview": "//\n// Button groups\n// --------------------------------------------------\n\n// Make the div behave like a button\n.btn-gro"
  },
  {
    "path": "dist/lib/bootstrap-sass/_buttons.scss",
    "chars": 3819,
    "preview": "//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------"
  },
  {
    "path": "dist/lib/bootstrap-sass/_carousel.scss",
    "chars": 5777,
    "preview": "@use \"sass:math\";\n//\n// Carousel\n// --------------------------------------------------\n\n\n// Wrapper for the slide contai"
  },
  {
    "path": "dist/lib/bootstrap-sass/_close.scss",
    "chars": 835,
    "preview": "//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n  float: right;\n  font-size: ($font-s"
  },
  {
    "path": "dist/lib/bootstrap-sass/_code.scss",
    "chars": 1435,
    "preview": "@use \"sass:math\";\n//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and bl"
  },
  {
    "path": "dist/lib/bootstrap-sass/_component-animations.scss",
    "chars": 820,
    "preview": "//\n// Component animations\n// --------------------------------------------------\n\n// Heads up!\n//\n// We don't use the `."
  },
  {
    "path": "dist/lib/bootstrap-sass/_dropdowns.scss",
    "chars": 4847,
    "preview": "//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n  display:"
  },
  {
    "path": "dist/lib/bootstrap-sass/_forms.scss",
    "chars": 16082,
    "preview": "@use \"sass:math\";\n//\n// Forms\n// --------------------------------------------------\n\n\n// Normalize non-controls\n//\n// Re"
  },
  {
    "path": "dist/lib/bootstrap-sass/_glyphicons.scss",
    "chars": 20445,
    "preview": "//\n// Glyphicons for Bootstrap\n//\n// Since icons are fonts, they can be placed anywhere text is placed and are\n// thus a"
  },
  {
    "path": "dist/lib/bootstrap-sass/_grid.scss",
    "chars": 1569,
    "preview": "//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container wi"
  },
  {
    "path": "dist/lib/bootstrap-sass/_input-groups.scss",
    "chars": 4310,
    "preview": "//\n// Input groups\n// --------------------------------------------------\n\n// Base styles\n// -------------------------\n.i"
  },
  {
    "path": "dist/lib/bootstrap-sass/_jumbotron.scss",
    "chars": 1183,
    "preview": "@use \"sass:math\";\n//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n  padding-top: $j"
  },
  {
    "path": "dist/lib/bootstrap-sass/_labels.scss",
    "chars": 1155,
    "preview": "//\n// Labels\n// --------------------------------------------------\n\n.label {\n  display: inline;\n  padding: .2em .6em .3e"
  },
  {
    "path": "dist/lib/bootstrap-sass/_list-group.scss",
    "chars": 3151,
    "preview": "//\n// List groups\n// --------------------------------------------------\n\n\n// Base class\n//\n// Easily usable on <ul>, <ol"
  },
  {
    "path": "dist/lib/bootstrap-sass/_media.scss",
    "chars": 900,
    "preview": ".media {\n  // Proper spacing between instances of .media\n  margin-top: 15px;\n\n  &:first-child {\n    margin-top: 0;\n  }\n}"
  },
  {
    "path": "dist/lib/bootstrap-sass/_mixins.scss",
    "chars": 986,
    "preview": "// Mixins\n// --------------------------------------------------\n\n// Utilities\n@import \"mixins/hide-text\";\n@import \"mixin"
  },
  {
    "path": "dist/lib/bootstrap-sass/_modals.scss",
    "chars": 3575,
    "preview": "//\n// Modals\n// --------------------------------------------------\n\n// .modal-open      - body class for killing the scr"
  },
  {
    "path": "dist/lib/bootstrap-sass/_navbar.scss",
    "chars": 14677,
    "preview": "@use \"sass:math\";\n//\n// Navbars\n// --------------------------------------------------\n\n\n// Wrapper and base class\n//\n// "
  },
  {
    "path": "dist/lib/bootstrap-sass/_navs.scss",
    "chars": 4950,
    "preview": "//\n// Navs\n// --------------------------------------------------\n\n\n// Base class\n// ------------------------------------"
  },
  {
    "path": "dist/lib/bootstrap-sass/_normalize.scss",
    "chars": 7707,
    "preview": "/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */\n\n//\n// 1. Set default font family to sans-s"
  },
  {
    "path": "dist/lib/bootstrap-sass/_pager.scss",
    "chars": 855,
    "preview": "//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n  padding-left: 0;\n  margin: $li"
  },
  {
    "path": "dist/lib/bootstrap-sass/_pagination.scss",
    "chars": 2073,
    "preview": "//\n// Pagination (multiple pages)\n// --------------------------------------------------\n.pagination {\n  display: inline-"
  },
  {
    "path": "dist/lib/bootstrap-sass/_panels.scss",
    "chars": 6388,
    "preview": "//\n// Panels\n// --------------------------------------------------\n\n\n// Base class\n.panel {\n  margin-bottom: $line-heigh"
  },
  {
    "path": "dist/lib/bootstrap-sass/_popovers.scss",
    "chars": 3476,
    "preview": "//\n// Popovers\n// --------------------------------------------------\n\n\n.popover {\n  position: absolute;\n  top: 0;\n  left"
  },
  {
    "path": "dist/lib/bootstrap-sass/_print.scss",
    "chars": 1682,
    "preview": "/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */\n\n// =============================="
  },
  {
    "path": "dist/lib/bootstrap-sass/_progress-bars.scss",
    "chars": 1998,
    "preview": "//\n// Progress bars\n// --------------------------------------------------\n\n\n// Bar animations\n// -----------------------"
  },
  {
    "path": "dist/lib/bootstrap-sass/_responsive-embed.scss",
    "chars": 546,
    "preview": "// Embeds responsive\n//\n// Credit: Nicolas Gallagher and SUIT CSS.\n\n.embed-responsive {\n  position: relative;\n  display:"
  },
  {
    "path": "dist/lib/bootstrap-sass/_responsive-utilities.scss",
    "chars": 4421,
    "preview": "//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 in Windows (Phone) 8\n/"
  },
  {
    "path": "dist/lib/bootstrap-sass/_scaffolding.scss",
    "chars": 3046,
    "preview": "//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Reset the box-sizing\n//\n// Heads up! This r"
  },
  {
    "path": "dist/lib/bootstrap-sass/_tables.scss",
    "chars": 4662,
    "preview": "//\n// Tables\n// --------------------------------------------------\n\n\ntable {\n  background-color: $table-bg;\n\n  // Table "
  },
  {
    "path": "dist/lib/bootstrap-sass/_theme.scss",
    "chars": 8620,
    "preview": "/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://"
  },
  {
    "path": "dist/lib/bootstrap-sass/_thumbnails.scss",
    "chars": 892,
    "preview": "//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Mixin and adjust the regular image class\n.th"
  },
  {
    "path": "dist/lib/bootstrap-sass/_tooltip.scss",
    "chars": 3023,
    "preview": "//\n// Tooltips\n// --------------------------------------------------\n\n\n// Base class\n.tooltip {\n  position: absolute;\n  "
  },
  {
    "path": "dist/lib/bootstrap-sass/_type.scss",
    "chars": 6179,
    "preview": "@use \"sass:math\";\n//\n// Typography\n// --------------------------------------------------\n\n\n// Headings\n// --------------"
  },
  {
    "path": "dist/lib/bootstrap-sass/_utilities.scss",
    "chars": 765,
    "preview": "//\n// Utility classes\n// --------------------------------------------------\n\n\n// Floats\n// -------------------------\n\n.c"
  },
  {
    "path": "dist/lib/bootstrap-sass/_variables.scss",
    "chars": 31332,
    "preview": "$bootstrap-sass-asset-helper: false !default;\n@use \"sass:math\";\n//\n// Variables\n// -------------------------------------"
  },
  {
    "path": "dist/lib/bootstrap-sass/_wells.scss",
    "chars": 541,
    "preview": "//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n  min-height: 20px;\n  padding:"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_alerts.scss",
    "chars": 264,
    "preview": "// Alerts\n\n@mixin alert-variant($background, $border, $text-color) {\n  color: $text-color;\n  background-color: $backgrou"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_background-variant.scss",
    "chars": 233,
    "preview": "// Contextual backgrounds\n\n// [converter] $parent hack\n@mixin bg-variant($parent, $color) {\n  #{$parent} {\n    backgroun"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_border-radius.scss",
    "chars": 484,
    "preview": "// Single side border-radius\n\n@mixin border-top-radius($radius) {\n  border-top-left-radius: $radius;\n  border-top-right-"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_buttons.scss",
    "chars": 1375,
    "preview": "// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_center-block.scss",
    "chars": 126,
    "preview": "// Center-align a block level element\n\n@mixin center-block() {\n  display: block;\n  margin-right: auto;\n  margin-left: au"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_clearfix.scss",
    "chars": 611,
    "preview": "// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n//    contentedi"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_forms.scss",
    "chars": 2780,
    "preview": "// Form validation states\n//\n// Used in forms.less to generate the form validation CSS for warnings, errors,\n// and succ"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_gradients.scss",
    "chars": 4381,
    "preview": "\n\n// Horizontal gradient, from left to right\n//\n// Creates two color stops, start and end, by specifying a color and pos"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_grid-framework.scss",
    "chars": 2419,
    "preview": "@use \"sass:math\";\n// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid class"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_grid.scss",
    "chars": 3424,
    "preview": "@use \"sass:math\";\n// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_hide-text.scss",
    "chars": 590,
    "preview": "// CSS image replacement\n//\n// Heads up! v3 launched with only `.hide-text()`, but per our pattern for\n// mixins being r"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_image.scss",
    "chars": 1107,
    "preview": "// Responsive image\n//\n// Keep images from scaling beyond the width of their parents.\n@mixin img-responsive($display: bl"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_labels.scss",
    "chars": 167,
    "preview": "// Labels\n\n@mixin label-variant($color) {\n  background-color: $color;\n\n  &[href] {\n    &:hover,\n    &:focus {\n      back"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_list-group.scss",
    "chars": 672,
    "preview": "// List Groups\n\n@mixin list-group-item-variant($state, $background, $color) {\n  .list-group-item-#{$state} {\n    color: "
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_nav-divider.scss",
    "chars": 263,
    "preview": "@use \"sass:math\";\n// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n@mixin nav-div"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_nav-vertical-align.scss",
    "chars": 402,
    "preview": "@use \"sass:math\";\n// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a "
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_opacity.scss",
    "chars": 148,
    "preview": "// Opacity\n\n@mixin opacity($opacity) {\n  $opacity-ie: ($opacity * 100);  // IE8 filter\n  filter: alpha(opacity=$opacity-"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_pagination.scss",
    "chars": 507,
    "preview": "// Pagination\n\n@mixin pagination-size($padding-vertical, $padding-horizontal, $font-size, $line-height, $border-radius) "
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_panels.scss",
    "chars": 543,
    "preview": "// Panels\n\n@mixin panel-variant($border, $heading-text-color, $heading-bg-color, $heading-border) {\n  border-color: $bor"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_progress-bar.scss",
    "chars": 200,
    "preview": "// Progress bars\n\n@mixin progress-bar-variant($color) {\n  background-color: $color;\n\n  // Deprecated parent class requir"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_reset-filter.scss",
    "chars": 246,
    "preview": "// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the I"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_reset-text.scss",
    "chars": 473,
    "preview": "@mixin reset-text() {\n  font-family: $font-family-base;\n  // We deliberately do NOT reset font-size.\n  font-style: norma"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_resize.scss",
    "chars": 202,
    "preview": "// Resize anything\n\n@mixin resizable($direction) {\n  overflow: auto; // Per CSS3 UI, `resize` only applies when `overflo"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_responsive-visibility.scss",
    "chars": 417,
    "preview": "// [converter] $parent hack\n@mixin responsive-visibility($parent) {\n  #{$parent} {\n    display: block !important;\n  }\n  "
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_size.scss",
    "chars": 147,
    "preview": "// Sizing shortcuts\n\n@mixin size($width, $height) {\n  width: $width;\n  height: $height;\n}\n\n@mixin square($size) {\n  @inc"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_tab-focus.scss",
    "chars": 338,
    "preview": "// WebKit-style focus\n\n@mixin tab-focus() {\n  // WebKit-specific. Other browsers will keep their default outline style.\n"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_table-row.scss",
    "chars": 715,
    "preview": "// Tables\n\n@mixin table-row-variant($state, $background) {\n  // Exact selectors below required to override `.table-strip"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_text-emphasis.scss",
    "chars": 210,
    "preview": "// Typography\n\n// [converter] $parent hack\n@mixin text-emphasis-variant($parent, $color) {\n  #{$parent} {\n    color: $co"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_text-overflow.scss",
    "chars": 168,
    "preview": "// Text overflow\n// Requires inline-block or block for proper styling\n\n@mixin text-overflow() {\n  overflow: hidden;\n  te"
  },
  {
    "path": "dist/lib/bootstrap-sass/mixins/_vendor-prefixes.scss",
    "chars": 6645,
    "preview": "// Vendor Prefixes\n//\n// All vendor mixins are deprecated as of v3.2.0 due to the introduction of\n// Autoprefixer in our"
  },
  {
    "path": "dist/lib/bootstrap2/accordion.less",
    "chars": 636,
    "preview": "//\n// Accordion\n// --------------------------------------------------\n\n\n// Parent container\n.accordion {\n  margin-bottom"
  },
  {
    "path": "dist/lib/bootstrap2/alerts.less",
    "chars": 1369,
    "preview": "//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert"
  },
  {
    "path": "dist/lib/bootstrap2/bootstrap.less",
    "chars": 1480,
    "preview": "/*!\n * Bootstrap v2.3.2\n *\n * Copyright 2013 Twitter, Inc\n * Licensed under the Apache License v2.0\n * http://www.apache"
  },
  {
    "path": "dist/lib/bootstrap2/breadcrumbs.less",
    "chars": 431,
    "preview": "//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n  padding: 8px 15px;\n  margin: 0"
  },
  {
    "path": "dist/lib/bootstrap2/button-groups.less",
    "chars": 5709,
    "preview": "//\n// Button groups\n// --------------------------------------------------\n\n\n// Make the div behave like a button\n.btn-gr"
  },
  {
    "path": "dist/lib/bootstrap2/buttons.less",
    "chars": 4766,
    "preview": "//\n// Buttons\n// --------------------------------------------------\n\n\n// Base styles\n// --------------------------------"
  },
  {
    "path": "dist/lib/bootstrap2/carousel.less",
    "chars": 2482,
    "preview": "//\n// Carousel\n// --------------------------------------------------\n\n\n.carousel {\n  position: relative;\n  margin-bottom"
  },
  {
    "path": "dist/lib/bootstrap2/close.less",
    "chars": 644,
    "preview": "//\n// Close icons\n// --------------------------------------------------\n\n\n.close {\n  float: right;\n  font-size: 20px;\n  "
  },
  {
    "path": "dist/lib/bootstrap2/code.less",
    "chars": 1282,
    "preview": "//\n// Code (inline and blocK)\n// --------------------------------------------------\n\n\n// Inline and block code styles\nco"
  },
  {
    "path": "dist/lib/bootstrap2/component-animations.less",
    "chars": 306,
    "preview": "//\n// Component animations\n// --------------------------------------------------\n\n\n.fade {\n  opacity: 0;\n  .transition(o"
  },
  {
    "path": "dist/lib/bootstrap2/dropdowns.less",
    "chars": 5695,
    "preview": "//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Use the .menu class on any <li> element "
  },
  {
    "path": "dist/lib/bootstrap2/forms.less",
    "chars": 15866,
    "preview": "//\n// Forms\n// --------------------------------------------------\n\n\n// GENERAL STYLES\n// --------------\n\n// Make all for"
  },
  {
    "path": "dist/lib/bootstrap2/grid.less",
    "chars": 429,
    "preview": "//\n// Grid system\n// --------------------------------------------------\n\n\n// Fixed (940px)\n#grid > .core(@gridColumnWidt"
  },
  {
    "path": "dist/lib/bootstrap2/hero-unit.less",
    "chars": 521,
    "preview": "//\n// Hero unit\n// --------------------------------------------------\n\n\n.hero-unit {\n  padding: 60px;\n  margin-bottom: 3"
  },
  {
    "path": "dist/lib/bootstrap2/labels-badges.less",
    "chars": 1884,
    "preview": "//\n// Labels and badges\n// --------------------------------------------------\n\n\n// Base classes\n.label,\n.badge {\n  displ"
  },
  {
    "path": "dist/lib/bootstrap2/layouts.less",
    "chars": 329,
    "preview": "//\n// Layouts\n// --------------------------------------------------\n\n\n// Container (centered, fixed-width layouts)\n.cont"
  },
  {
    "path": "dist/lib/bootstrap2/media.less",
    "chars": 860,
    "preview": "// Media objects\n// Source: http://stubbornella.org/content/?p=497\n// --------------------------------------------------"
  },
  {
    "path": "dist/lib/bootstrap2/mixins.less",
    "chars": 23036,
    "preview": "//\n// Mixins\n// --------------------------------------------------\n\n\n// UTILITY MIXINS\n// ------------------------------"
  },
  {
    "path": "dist/lib/bootstrap2/modals.less",
    "chars": 1978,
    "preview": "//\n// Modals\n// --------------------------------------------------\n\n// Background\n.modal-backdrop {\n  position: fixed;\n "
  },
  {
    "path": "dist/lib/bootstrap2/navbar.less",
    "chars": 12002,
    "preview": "//\n// Navbars (Redux)\n// --------------------------------------------------\n\n\n// COMMON STYLES\n// -------------\n\n// Base"
  },
  {
    "path": "dist/lib/bootstrap2/navs.less",
    "chars": 8163,
    "preview": "//\n// Navs\n// --------------------------------------------------\n\n\n// BASE CLASS\n// ----------\n\n.nav {\n  margin-left: 0;"
  },
  {
    "path": "dist/lib/bootstrap2/pager.less",
    "chars": 760,
    "preview": "//\n// Pager pagination\n// --------------------------------------------------\n\n\n.pager {\n  margin: @baseLineHeight 0;\n  l"
  },
  {
    "path": "dist/lib/bootstrap2/pagination.less",
    "chars": 2678,
    "preview": "//\n// Pagination (multiple pages)\n// --------------------------------------------------\n\n// Space out pagination from su"
  },
  {
    "path": "dist/lib/bootstrap2/popovers.less",
    "chars": 3077,
    "preview": "//\n// Popovers\n// --------------------------------------------------\n\n\n.popover {\n  position: absolute;\n  top: 0;\n  left"
  },
  {
    "path": "dist/lib/bootstrap2/progress-bars.less",
    "chars": 2858,
    "preview": "//\n// Progress bars\n// --------------------------------------------------\n\n\n// ANIMATIONS\n// ----------\n\n// Webkit\n@-web"
  },
  {
    "path": "dist/lib/bootstrap2/reset.less",
    "chars": 4201,
    "preview": "//\n// Reset CSS\n// Adapted from http://github.com/necolas/normalize.css\n// ---------------------------------------------"
  },
  {
    "path": "dist/lib/bootstrap2/responsive-1200px-min.less",
    "chars": 565,
    "preview": "//\n// Responsive: Large desktop and up\n// --------------------------------------------------\n\n\n@media (min-width: 1200px"
  },
  {
    "path": "dist/lib/bootstrap2/responsive-767px-max.less",
    "chars": 3920,
    "preview": "//\n// Responsive: Landscape phone to desktop/tablet\n// --------------------------------------------------\n\n\n@media (max-"
  },
  {
    "path": "dist/lib/bootstrap2/responsive-768px-979px.less",
    "chars": 463,
    "preview": "//\n// Responsive: Tablet to desktop\n// --------------------------------------------------\n\n\n@media (min-width: 768px) an"
  },
  {
    "path": "dist/lib/bootstrap2/responsive-navbar.less",
    "chars": 4328,
    "preview": "//\n// Responsive: Navbar\n// --------------------------------------------------\n\n\n// TABLETS AND BELOW\n// ---------------"
  },
  {
    "path": "dist/lib/bootstrap2/responsive-utilities.less",
    "chars": 1602,
    "preview": "//\n// Responsive: Utility classes\n// --------------------------------------------------\n\n\n// IE10 Metro responsive\n// Re"
  },
  {
    "path": "dist/lib/bootstrap2/responsive.less",
    "chars": 1060,
    "preview": "/*!\n * Bootstrap Responsive v2.3.2\n *\n * Copyright 2013 Twitter, Inc\n * Licensed under the Apache License v2.0\n * http:/"
  },
  {
    "path": "dist/lib/bootstrap2/scaffolding.less",
    "chars": 885,
    "preview": "//\n// Scaffolding\n// --------------------------------------------------\n\n\n// Body reset\n// -------------------------\n\nbo"
  },
  {
    "path": "dist/lib/bootstrap2/sprites.less",
    "chars": 10841,
    "preview": "//\n// Sprites\n// --------------------------------------------------\n\n\n// ICONS\n// -----\n\n// All icons receive the styles"
  },
  {
    "path": "dist/lib/bootstrap2/tables.less",
    "chars": 6255,
    "preview": "//\n// Tables\n// --------------------------------------------------\n\n\n// BASE TABLES\n// -----------------\n\ntable {\n  max-"
  },
  {
    "path": "dist/lib/bootstrap2/tests/buttons.html",
    "chars": 6411,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <title>Buttons &middot; Bootstrap</title>\n    <"
  },
  {
    "path": "dist/lib/bootstrap2/tests/css-tests.css",
    "chars": 5475,
    "preview": "/*!\n * Bootstrap CSS Tests\n */\n\n\n/* Remove background image */\nbody {\n  background-image: none;\n}\n\n/* Space out subhead "
  },
  {
    "path": "dist/lib/bootstrap2/tests/css-tests.html",
    "chars": 40107,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <title>CSS Tests · Twitter Bootstrap</title>\n  "
  },
  {
    "path": "dist/lib/bootstrap2/tests/forms-responsive.html",
    "chars": 2362,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <title>Bootstrap, from Twitter</title>\n    <met"
  },
  {
    "path": "dist/lib/bootstrap2/tests/forms.html",
    "chars": 4079,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <title>Bootstrap, from Twitter</title>\n    <met"
  },
  {
    "path": "dist/lib/bootstrap2/tests/navbar-fixed-top.html",
    "chars": 4692,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <title>Bootstrap, from Twitter</title>\n    <met"
  },
  {
    "path": "dist/lib/bootstrap2/tests/navbar-static-top.html",
    "chars": 4711,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <title>Bootstrap, from Twitter</title>\n    <met"
  },
  {
    "path": "dist/lib/bootstrap2/tests/navbar.html",
    "chars": 4797,
    "preview": "<!DOCTYPE html>\n<html lang=\"en\">\n  <head>\n    <meta charset=\"utf-8\">\n    <title>Bootstrap, from Twitter</title>\n    <met"
  },
  {
    "path": "dist/lib/bootstrap2/thumbnails.less",
    "chars": 1192,
    "preview": "//\n// Thumbnails\n// --------------------------------------------------\n\n\n// Note: `.thumbnails` and `.thumbnails > li` a"
  },
  {
    "path": "dist/lib/bootstrap2/tooltip.less",
    "chars": 1684,
    "preview": "//\n// Tooltips\n// --------------------------------------------------\n\n\n// Base class\n.tooltip {\n  position: absolute;\n  "
  },
  {
    "path": "dist/lib/bootstrap2/type.less",
    "chars": 4854,
    "preview": "//\n// Typography\n// --------------------------------------------------\n\n\n// Body text\n// -------------------------\n\np {\n"
  },
  {
    "path": "dist/lib/bootstrap2/utilities.less",
    "chars": 335,
    "preview": "//\n// Utility classes\n// --------------------------------------------------\n\n\n// Quick floats\n.pull-right {\n  float: rig"
  },
  {
    "path": "dist/lib/bootstrap2/variables.less",
    "chars": 9142,
    "preview": "//\n// Variables\n// --------------------------------------------------\n\n\n// Global values\n// ----------------------------"
  },
  {
    "path": "dist/lib/bootstrap2/wells.less",
    "chars": 552,
    "preview": "//\n// Wells\n// --------------------------------------------------\n\n\n// Base class\n.well {\n  min-height: 20px;\n  padding:"
  },
  {
    "path": "dist/lib/bootstrap3/alerts.less",
    "chars": 1514,
    "preview": "//\n// Alerts\n// --------------------------------------------------\n\n\n// Base styles\n// -------------------------\n\n.alert"
  },
  {
    "path": "dist/lib/bootstrap3/badges.less",
    "chars": 1199,
    "preview": "//\n// Badges\n// --------------------------------------------------\n\n\n// Base class\n.badge {\n  display: inline-block;\n  m"
  },
  {
    "path": "dist/lib/bootstrap3/bootstrap.less",
    "chars": 1293,
    "preview": "/*!\n * Bootstrap v3.4.1 (https://getbootstrap.com/)\n * Copyright 2011-2019 Twitter, Inc.\n * Licensed under MIT (https://"
  },
  {
    "path": "dist/lib/bootstrap3/breadcrumbs.less",
    "chars": 594,
    "preview": "//\n// Breadcrumbs\n// --------------------------------------------------\n\n\n.breadcrumb {\n  padding: @breadcrumb-padding-v"
  },
  {
    "path": "dist/lib/bootstrap3/button-groups.less",
    "chars": 5739,
    "preview": "// stylelint-disable selector-no-qualifying-type */\n\n//\n// Button groups\n// --------------------------------------------"
  },
  {
    "path": "dist/lib/bootstrap3/buttons.less",
    "chars": 3712,
    "preview": "// stylelint-disable selector-no-qualifying-type\n\n//\n// Buttons\n// --------------------------------------------------\n\n\n"
  },
  {
    "path": "dist/lib/bootstrap3/carousel.less",
    "chars": 5716,
    "preview": "// stylelint-disable media-feature-name-no-unknown\n\n//\n// Carousel\n// --------------------------------------------------"
  },
  {
    "path": "dist/lib/bootstrap3/close.less",
    "chars": 834,
    "preview": "// stylelint-disable property-no-vendor-prefix\n\n//\n// Close icons\n// --------------------------------------------------\n"
  },
  {
    "path": "dist/lib/bootstrap3/code.less",
    "chars": 1403,
    "preview": "//\n// Code (inline and block)\n// --------------------------------------------------\n\n\n// Inline and block code styles\nco"
  },
  {
    "path": "dist/lib/bootstrap3/component-animations.less",
    "chars": 717,
    "preview": "// stylelint-disable selector-no-qualifying-type\n\n//\n// Component animations\n// ----------------------------------------"
  },
  {
    "path": "dist/lib/bootstrap3/dropdowns.less",
    "chars": 4834,
    "preview": "//\n// Dropdown menus\n// --------------------------------------------------\n\n\n// Dropdown arrow/caret\n.caret {\n  display:"
  },
  {
    "path": "dist/lib/bootstrap3/forms.less",
    "chars": 15831,
    "preview": "// stylelint-disable selector-no-qualifying-type, property-no-vendor-prefix, media-feature-name-no-vendor-prefix\n\n//\n// "
  },
  {
    "path": "dist/lib/bootstrap3/glyphicons.less",
    "chars": 19980,
    "preview": "// stylelint-disable value-list-comma-newline-after, value-list-comma-space-after, indentation, declaration-colon-newlin"
  },
  {
    "path": "dist/lib/bootstrap3/grid.less",
    "chars": 1513,
    "preview": "//\n// Grid system\n// --------------------------------------------------\n\n\n// Container widths\n//\n// Set the container wi"
  },
  {
    "path": "dist/lib/bootstrap3/input-groups.less",
    "chars": 4332,
    "preview": "// stylelint-disable selector-no-qualifying-type\n\n//\n// Input groups\n// ------------------------------------------------"
  },
  {
    "path": "dist/lib/bootstrap3/jumbotron.less",
    "chars": 1144,
    "preview": "//\n// Jumbotron\n// --------------------------------------------------\n\n\n.jumbotron {\n  padding-top: @jumbotron-padding;\n"
  },
  {
    "path": "dist/lib/bootstrap3/labels.less",
    "chars": 1078,
    "preview": "//\n// Labels\n// --------------------------------------------------\n\n.label {\n  display: inline;\n  padding: .2em .6em .3e"
  },
  {
    "path": "dist/lib/bootstrap3/list-group.less",
    "chars": 3153,
    "preview": "// stylelint-disable selector-no-qualifying-type\n\n//\n// List groups\n// -------------------------------------------------"
  },
  {
    "path": "dist/lib/bootstrap3/media.less",
    "chars": 900,
    "preview": ".media {\n  // Proper spacing between instances of .media\n  margin-top: 15px;\n\n  &:first-child {\n    margin-top: 0;\n  }\n}"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/alerts.less",
    "chars": 258,
    "preview": "// Alerts\n\n.alert-variant(@background; @border; @text-color) {\n  color: @text-color;\n  background-color: @background;\n  "
  },
  {
    "path": "dist/lib/bootstrap3/mixins/background-variant.less",
    "chars": 151,
    "preview": "// Contextual backgrounds\n\n.bg-variant(@color) {\n  background-color: @color;\n  a&:hover,\n  a&:focus {\n    background-col"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/border-radius.less",
    "chars": 460,
    "preview": "// Single side border-radius\n\n.border-top-radius(@radius) {\n  border-top-left-radius: @radius;\n  border-top-right-radius"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/buttons.less",
    "chars": 1363,
    "preview": "// Button variants\n//\n// Easily pump out default styles, as well as :hover, :focus, :active,\n// and disabled options for"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/center-block.less",
    "chars": 120,
    "preview": "// Center-align a block level element\n\n.center-block() {\n  display: block;\n  margin-right: auto;\n  margin-left: auto;\n}\n"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/clearfix.less",
    "chars": 605,
    "preview": "// Clearfix\n//\n// For modern browsers\n// 1. The space content is one way to avoid an Opera bug when the\n//    contentedi"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/forms.less",
    "chars": 2650,
    "preview": "// Form validation states\n//\n// Used in forms.less to generate the form validation CSS for warnings, errors,\n// and succ"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/gradients.less",
    "chars": 4447,
    "preview": "// stylelint-disable value-no-vendor-prefix, selector-max-id\n\n#gradient {\n\n  // Horizontal gradient, from left to right\n"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/grid-framework.less",
    "chars": 2796,
    "preview": "// Framework grid generation\n//\n// Used only by Bootstrap to generate the correct number of grid classes given\n// any va"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/grid.less",
    "chars": 3114,
    "preview": "// Grid system\n//\n// Generate semantic grid columns with these mixins.\n\n// Centered container element\n.container-fixed(@"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/hide-text.less",
    "chars": 668,
    "preview": "// stylelint-disable font-family-name-quotes, font-family-no-missing-generic-family-keyword\n\n// CSS image replacement\n//"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/image.less",
    "chars": 1129,
    "preview": "// stylelint-disable media-feature-name-no-vendor-prefix, media-feature-parentheses-space-inside, media-feature-name-no-"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/labels.less",
    "chars": 161,
    "preview": "// Labels\n\n.label-variant(@color) {\n  background-color: @color;\n\n  &[href] {\n    &:hover,\n    &:focus {\n      background"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/list-group.less",
    "chars": 546,
    "preview": "// List Groups\n\n.list-group-item-variant(@state; @background; @color) {\n  .list-group-item-@{state} {\n    color: @color;"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/nav-divider.less",
    "chars": 232,
    "preview": "// Horizontal dividers\n//\n// Dividers (basically an hr) within dropdowns and nav lists\n\n.nav-divider(@color: #e5e5e5) {\n"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/nav-vertical-align.less",
    "chars": 364,
    "preview": "// Navbar vertical align\n//\n// Vertically center elements in the navbar.\n// Example: an element has a height of 30px, so"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/opacity.less",
    "chars": 147,
    "preview": "// Opacity\n\n.opacity(@opacity) {\n  @opacity-ie: (@opacity * 100);  // IE8 filter\n  filter: ~\"alpha(opacity=@{opacity-ie}"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/pagination.less",
    "chars": 485,
    "preview": "// Pagination\n\n.pagination-size(@padding-vertical; @padding-horizontal; @font-size; @line-height; @border-radius) {\n  > "
  },
  {
    "path": "dist/lib/bootstrap3/mixins/panels.less",
    "chars": 537,
    "preview": "// Panels\n\n.panel-variant(@border; @heading-text-color; @heading-bg-color; @heading-border) {\n  border-color: @border;\n\n"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/progress-bar.less",
    "chars": 191,
    "preview": "// Progress bars\n\n.progress-bar-variant(@color) {\n  background-color: @color;\n\n  // Deprecated parent class requirement "
  },
  {
    "path": "dist/lib/bootstrap3/mixins/reset-filter.less",
    "chars": 248,
    "preview": "// Reset filters for IE\n//\n// When you need to remove a gradient background, do not forget to use this to reset\n// the I"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/reset-text.less",
    "chars": 467,
    "preview": ".reset-text() {\n  font-family: @font-family-base;\n  // We deliberately do NOT reset font-size.\n  font-style: normal;\n  f"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/resize.less",
    "chars": 196,
    "preview": "// Resize anything\n\n.resizable(@direction) {\n  overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/responsive-visibility.less",
    "chars": 304,
    "preview": "// stylelint-disable declaration-no-important\n\n.responsive-visibility() {\n  display: block !important;\n  table&  { displ"
  },
  {
    "path": "dist/lib/bootstrap3/mixins/size.less",
    "chars": 127,
    "preview": "// Sizing shortcuts\n\n.size(@width; @height) {\n  width: @width;\n  height: @height;\n}\n\n.square(@size) {\n  .size(@size; @si"
  }
]

// ... and 814 more files (download for full content)

About this extraction

This page contains the full source code of the selectize/selectize.js GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 1014 files (3.4 MB), approximately 940.2k tokens, and a symbol index with 84 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!