slim-select 2.0.2 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +8 -0
  2. package/dist/index.d.ts +1 -1
  3. package/dist/render.d.ts +10 -3
  4. package/dist/select.d.ts +6 -6
  5. package/dist/settings.d.ts +0 -3
  6. package/dist/slimselect.cjs.js +202 -67
  7. package/dist/slimselect.css +1 -1
  8. package/dist/slimselect.css.map +1 -1
  9. package/dist/slimselect.es.js +202 -67
  10. package/dist/slimselect.global.js +202 -67
  11. package/dist/slimselect.js +202 -67
  12. package/dist/slimselect.min.js +1 -1
  13. package/dist/slimselect.umd.js +202 -67
  14. package/dist/slimselect.umd.min.js +1 -1
  15. package/dist/store.d.ts +5 -0
  16. package/docs/assets/data.js +7 -3
  17. package/docs/assets/home.css +1 -1
  18. package/docs/assets/home.js +1 -1
  19. package/docs/assets/index.css +1 -1
  20. package/docs/assets/index.js +7 -7
  21. package/docs/assets/index2.js +119 -35
  22. package/docs/assets/index3.js +39 -23
  23. package/docs/assets/index4.js +1 -1
  24. package/docs/assets/index5.js +147 -9
  25. package/docs/assets/install.js +4 -4
  26. package/docs/assets/selects.js +1 -1
  27. package/package.json +11 -3
  28. package/src/docs/app.vue +6 -5
  29. package/src/docs/{images → assets/images}/check-mark.svg +0 -0
  30. package/src/docs/{images → assets/images}/chrome.svg +0 -0
  31. package/src/docs/{images → assets/images}/firefox.svg +0 -0
  32. package/src/docs/{images → assets/images}/github.png +0 -0
  33. package/src/docs/{images → assets/images}/ie.svg +0 -0
  34. package/src/docs/{images → assets/images}/npm.png +0 -0
  35. package/src/docs/{images → assets/images}/opera.svg +0 -0
  36. package/src/docs/{images → assets/images}/safari.svg +0 -0
  37. package/src/docs/assets/scss/misc.scss +7 -0
  38. package/src/docs/env.d.ts +1 -0
  39. package/src/docs/pages/data.vue +4 -0
  40. package/src/docs/pages/events/addable.vue +22 -6
  41. package/src/docs/pages/events/before_after_change.vue +15 -1
  42. package/src/docs/pages/events/search.vue +31 -16
  43. package/src/docs/pages/frameworks/vue.vue +375 -7
  44. package/src/docs/pages/home.vue +104 -57
  45. package/src/docs/pages/methods/get_data.vue +2 -1
  46. package/src/docs/pages/methods/open_close.vue +1 -1
  47. package/src/docs/pages/settings/closable.vue +128 -0
  48. package/src/docs/pages/settings/index.vue +6 -3
  49. package/src/docs/pages/settings/select_all.vue +88 -0
  50. package/src/slim-select/index.ts +4 -2
  51. package/src/slim-select/render.ts +247 -59
  52. package/src/slim-select/rollup.config.mjs +5 -0
  53. package/src/slim-select/select.ts +48 -31
  54. package/src/slim-select/settings.ts +0 -4
  55. package/src/slim-select/slimselect.scss +112 -11
  56. package/src/slim-select/store.ts +19 -1
  57. package/src/vue/README.md +48 -0
  58. package/src/vue/dist/slimselectvue.es.js +1752 -0
  59. package/src/vue/dist/slimselectvue.global.js +1755 -0
  60. package/src/vue/dist/slimselectvue.ssr.js +1754 -0
  61. package/src/vue/hello.ts +5 -0
  62. package/src/vue/package.json +28 -0
  63. package/src/vue/rollup.config.mjs +44 -0
  64. package/src/vue/slimselect.vue +39 -5
  65. package/src/vue/tsconfig.json +14 -0
  66. package/src/docs/pages/settings/select_by_group.vue +0 -46
package/README.md CHANGED
@@ -7,6 +7,10 @@ Advanced select dropdown
7
7
  [![Build Status](https://travis-ci.org/brianvoe/slim-select.svg?branch=master)](https://travis-ci.org/brianvoe/slim-select)
8
8
  [![NPM Downloads](https://img.shields.io/npm/dt/slim-select.svg)](https://www.npmjs.com/package/slim-select)
9
9
 
10
+ ## Support
11
+
12
+ [![](https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86)](https://github.com/sponsors/brianvoe)
13
+
10
14
  <a href="https://www.buymeacoffee.com/brianvoe" target="_blank"><img src="https://www.buymeacoffee.com/assets/img/custom_images/orange_img.png" alt="Buy Me A Coffee" style="height: auto !important;width: auto !important;" ></a>
11
15
 
12
16
  For documentation and examples on all features see: http://slimselectjs.com
@@ -34,6 +38,10 @@ For documentation and examples on all features see: http://slimselectjs.com
34
38
  - Performant
35
39
  - Typescript
36
40
 
41
+ ## Frameworks
42
+
43
+ - Vue
44
+
37
45
  ## Installation
38
46
 
39
47
  ```bash
package/dist/index.d.ts CHANGED
@@ -11,7 +11,7 @@ export interface Config {
11
11
  export interface Events {
12
12
  search?: (searchValue: string, currentData: DataArray) => Promise<DataArrayPartial> | DataArrayPartial;
13
13
  searchFilter?: (option: Option, search: string) => boolean;
14
- addable?: (value: string) => OptionOptional | string;
14
+ addable?: (value: string) => Promise<OptionOptional | string> | OptionOptional | string;
15
15
  beforeChange?: (newVal: Option[], oldVal: Option[]) => boolean | void;
16
16
  afterChange?: (newVal: Option[]) => void;
17
17
  beforeOpen?: () => void;
package/dist/render.d.ts CHANGED
@@ -3,7 +3,7 @@ import Store, { DataArray, Option, OptionOptional } from './store';
3
3
  export interface Callbacks {
4
4
  open: () => void;
5
5
  close: () => void;
6
- addable?: (value: string) => OptionOptional | string;
6
+ addable?: (value: string) => Promise<OptionOptional | string> | OptionOptional | string;
7
7
  setSelected: (value: string[]) => void;
8
8
  addOption: (option: Option) => void;
9
9
  search: (search: string) => void;
@@ -68,11 +68,18 @@ export default class Render {
68
68
  list: string;
69
69
  optgroup: string;
70
70
  optgroupLabel: string;
71
- optgroupSelectable: string;
71
+ optgroupLabelText: string;
72
+ optgroupActions: string;
73
+ optgroupSelectAll: string;
74
+ optgroupSelectAllBox: string;
75
+ optgroupSelectAllCheck: string;
76
+ optgroupClosable: string;
72
77
  option: string;
73
- optionSelected: string;
74
78
  optionDelete: string;
75
79
  highlighted: string;
80
+ open: string;
81
+ close: string;
82
+ selected: string;
76
83
  error: string;
77
84
  disabled: string;
78
85
  hide: string;
package/dist/select.d.ts CHANGED
@@ -1,8 +1,8 @@
1
- import { DataArray, Optgroup, Option } from './store';
1
+ import { DataArray, DataArrayPartial, Optgroup, OptgroupOptional, Option } from './store';
2
2
  export default class Select {
3
3
  select: HTMLSelectElement;
4
4
  listen: boolean;
5
- onSelectChange?: (data: DataArray) => void;
5
+ onSelectChange?: (data: DataArrayPartial) => void;
6
6
  onValueChange?: (value: string[]) => void;
7
7
  private observer;
8
8
  constructor(select: HTMLSelectElement);
@@ -11,7 +11,7 @@ export default class Select {
11
11
  hideUI(): void;
12
12
  showUI(): void;
13
13
  changeListen(on: boolean): void;
14
- addSelectChangeListener(func: (data: DataArray) => void): void;
14
+ addSelectChangeListener(func: (data: DataArrayPartial) => void): void;
15
15
  removeSelectChangeListener(): void;
16
16
  addValueChangeListener(func: (value: string[]) => void): void;
17
17
  removeValueChangeListener(): void;
@@ -20,10 +20,10 @@ export default class Select {
20
20
  private addObserver;
21
21
  private connectObserver;
22
22
  private disconnectObserver;
23
- getData(): DataArray;
24
- getDataFromOptgroup(optgroup: HTMLOptGroupElement): Optgroup;
25
- getSelectedValues(): string[];
23
+ getData(): DataArrayPartial;
24
+ getDataFromOptgroup(optgroup: HTMLOptGroupElement): OptgroupOptional;
26
25
  getDataFromOption(option: HTMLOptionElement): Option;
26
+ getSelectedValues(): string[];
27
27
  setSelected(value: string[]): void;
28
28
  updateSelect(id?: string, style?: string, classes?: string[]): void;
29
29
  updateOptions(data: DataArray): void;
@@ -8,8 +8,6 @@ export default class Settings {
8
8
  isOpen: boolean;
9
9
  triggerFocus: boolean;
10
10
  intervalMove: NodeJS.Timeout | null;
11
- mainHeight: number;
12
- contentHeight: number;
13
11
  isEnabled: boolean;
14
12
  alwaysOpen: boolean;
15
13
  showSearch: boolean;
@@ -25,7 +23,6 @@ export default class Settings {
25
23
  allowDeselect: boolean;
26
24
  hideSelected: boolean;
27
25
  showOptionTooltips: boolean;
28
- selectByGroup: boolean;
29
26
  minSelected: number;
30
27
  maxSelected: number;
31
28
  timeoutDelay: number;
@@ -53,6 +53,8 @@ class Optgroup {
53
53
  constructor(optgroup) {
54
54
  this.id = !optgroup.id || optgroup.id === '' ? generateID() : optgroup.id;
55
55
  this.label = optgroup.label || '';
56
+ this.selectAll = optgroup.selectAll === undefined ? false : optgroup.selectAll;
57
+ this.closable = optgroup.closable || 'off';
56
58
  this.options = [];
57
59
  if (optgroup.options) {
58
60
  for (const o of optgroup.options) {
@@ -199,6 +201,14 @@ class Store {
199
201
  });
200
202
  return selectedIDs;
201
203
  }
204
+ getOptgroupByID(id) {
205
+ for (let dataObj of this.data) {
206
+ if (dataObj instanceof Optgroup && dataObj.id === id) {
207
+ return dataObj;
208
+ }
209
+ }
210
+ return null;
211
+ }
202
212
  getOptionByID(id) {
203
213
  let options = this.filter((opt) => {
204
214
  return opt.id === id;
@@ -233,7 +243,7 @@ class Store {
233
243
  }
234
244
  });
235
245
  if (optOptions.length > 0) {
236
- dataSearch.push(new Optgroup({ id: dataObj.id, label: dataObj.label, options: optOptions }));
246
+ dataSearch.push(new Optgroup(dataObj));
237
247
  }
238
248
  }
239
249
  }
@@ -274,11 +284,18 @@ class Render {
274
284
  list: 'ss-list',
275
285
  optgroup: 'ss-optgroup',
276
286
  optgroupLabel: 'ss-optgroup-label',
277
- optgroupSelectable: 'ss-optgroup-selectable',
287
+ optgroupLabelText: 'ss-optgroup-label-text',
288
+ optgroupActions: 'ss-optgroup-actions',
289
+ optgroupSelectAll: 'ss-selectall',
290
+ optgroupSelectAllBox: 'M60,10 L10,10 L10,90 L90,90 L90,50',
291
+ optgroupSelectAllCheck: 'M30,45 L50,70 L90,10',
292
+ optgroupClosable: 'ss-closable',
278
293
  option: 'ss-option',
279
- optionSelected: 'ss-option-selected',
280
294
  optionDelete: 'M10,10 L90,90 M10,90 L90,10',
281
295
  highlighted: 'ss-highlighted',
296
+ open: 'ss-open',
297
+ close: 'ss-close',
298
+ selected: 'ss-selected',
282
299
  error: 'ss-error',
283
300
  disabled: 'ss-disabled',
284
301
  hide: 'ss-hide',
@@ -288,8 +305,6 @@ class Render {
288
305
  this.callbacks = callbacks;
289
306
  this.main = this.mainDiv();
290
307
  this.content = this.contentDiv();
291
- this.renderValues();
292
- this.renderOptions(this.store.getData());
293
308
  this.settings.contentLocation.appendChild(this.content.main);
294
309
  }
295
310
  enable() {
@@ -397,7 +412,21 @@ class Render {
397
412
  if (!this.settings.isEnabled) {
398
413
  return;
399
414
  }
400
- this.callbacks.setSelected(['']);
415
+ let shouldDelete = true;
416
+ const before = this.store.getSelectedOptions();
417
+ const after = [];
418
+ if (this.callbacks.beforeChange) {
419
+ shouldDelete = this.callbacks.beforeChange(after, before) === true;
420
+ }
421
+ if (shouldDelete) {
422
+ this.callbacks.setSelected(['']);
423
+ if (this.settings.closeOnSelect) {
424
+ this.callbacks.close();
425
+ }
426
+ if (this.callbacks.afterChange) {
427
+ this.callbacks.afterChange(after);
428
+ }
429
+ }
401
430
  };
402
431
  const deselectSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
403
432
  deselectSvg.setAttribute('viewBox', '0 0 100 100');
@@ -703,23 +732,48 @@ class Render {
703
732
  this.content.search.input.focus();
704
733
  return;
705
734
  }
735
+ const runFinish = (oo) => {
736
+ let newOption = new Option(oo);
737
+ this.callbacks.addOption(newOption);
738
+ if (this.settings.isMultiple) {
739
+ let values = this.store.getSelected();
740
+ values.push(newOption.value);
741
+ this.callbacks.setSelected(values);
742
+ }
743
+ else {
744
+ this.callbacks.setSelected([newOption.value]);
745
+ }
746
+ this.callbacks.search('');
747
+ if (this.settings.closeOnSelect) {
748
+ setTimeout(() => {
749
+ this.callbacks.close();
750
+ }, 100);
751
+ }
752
+ };
706
753
  const addableValue = this.callbacks.addable(inputValue);
707
- if (typeof addableValue === 'string') {
708
- this.callbacks.addOption(new Option({
754
+ if (addableValue instanceof Promise) {
755
+ addableValue.then((value) => {
756
+ if (typeof value === 'string') {
757
+ runFinish({
758
+ text: value,
759
+ value: value,
760
+ });
761
+ }
762
+ else {
763
+ runFinish(value);
764
+ }
765
+ });
766
+ }
767
+ else if (typeof addableValue === 'string') {
768
+ runFinish({
709
769
  text: addableValue,
710
770
  value: addableValue,
711
- }));
771
+ });
712
772
  }
713
773
  else {
714
- this.callbacks.addOption(new Option(addableValue));
715
- }
716
- this.callbacks.setSelected([inputValue]);
717
- this.callbacks.search('');
718
- if (this.settings.closeOnSelect) {
719
- setTimeout(() => {
720
- this.callbacks.close();
721
- }, 100);
774
+ runFinish(addableValue);
722
775
  }
776
+ return;
723
777
  };
724
778
  main.appendChild(addable);
725
779
  searchReturn.addable = {
@@ -763,25 +817,23 @@ class Render {
763
817
  }
764
818
  for (let i = 0; i < options.length; i++) {
765
819
  if (options[i].classList.contains(this.classes.highlighted)) {
766
- options[i].classList.remove(this.classes.highlighted);
767
- if (dir === 'down') {
768
- if (i + 1 < options.length) {
769
- options[i + 1].classList.add(this.classes.highlighted);
770
- this.ensureElementInView(this.content.list, options[i + 1]);
771
- }
772
- else {
773
- options[0].classList.add(this.classes.highlighted);
774
- this.ensureElementInView(this.content.list, options[0]);
820
+ const prevOption = options[i];
821
+ prevOption.classList.remove(this.classes.highlighted);
822
+ const prevParent = prevOption.parentElement;
823
+ if (prevParent && prevParent.classList.contains(this.classes.open)) {
824
+ const optgroupLabel = prevParent.querySelector('.' + this.classes.optgroupLabel);
825
+ if (optgroupLabel) {
826
+ optgroupLabel.click();
775
827
  }
776
828
  }
777
- else {
778
- if (i - 1 >= 0) {
779
- options[i - 1].classList.add(this.classes.highlighted);
780
- this.ensureElementInView(this.content.list, options[i - 1]);
781
- }
782
- else {
783
- options[options.length - 1].classList.add(this.classes.highlighted);
784
- this.ensureElementInView(this.content.list, options[options.length - 1]);
829
+ let selectOption = options[dir === 'down' ? (i + 1 < options.length ? i + 1 : 0) : i - 1 >= 0 ? i - 1 : options.length - 1];
830
+ selectOption.classList.add(this.classes.highlighted);
831
+ this.ensureElementInView(this.content.list, selectOption);
832
+ const selectParent = selectOption.parentElement;
833
+ if (selectParent && selectParent.classList.contains(this.classes.close)) {
834
+ const optgroupLabel = selectParent.querySelector('.' + this.classes.optgroupLabel);
835
+ if (optgroupLabel) {
836
+ optgroupLabel.click();
785
837
  }
786
838
  }
787
839
  return;
@@ -826,18 +878,95 @@ class Render {
826
878
  optgroupEl.classList.add(this.classes.optgroup);
827
879
  const optgroupLabel = document.createElement('div');
828
880
  optgroupLabel.classList.add(this.classes.optgroupLabel);
829
- optgroupLabel.innerHTML = d.label;
830
- if (this.settings.selectByGroup && this.settings.isMultiple) {
831
- optgroupLabel.classList.add(this.classes.optgroupSelectable);
881
+ optgroupEl.appendChild(optgroupLabel);
882
+ const optgroupLabelText = document.createElement('div');
883
+ optgroupLabelText.classList.add(this.classes.optgroupLabelText);
884
+ optgroupLabelText.textContent = d.label;
885
+ optgroupLabel.appendChild(optgroupLabelText);
886
+ const optgroupActions = document.createElement('div');
887
+ optgroupActions.classList.add(this.classes.optgroupActions);
888
+ optgroupLabel.appendChild(optgroupActions);
889
+ if (this.settings.isMultiple && d.selectAll) {
890
+ const selectAll = document.createElement('div');
891
+ selectAll.classList.add(this.classes.optgroupSelectAll);
892
+ let allSelected = true;
893
+ for (const o of d.options) {
894
+ if (!o.selected) {
895
+ allSelected = false;
896
+ break;
897
+ }
898
+ }
899
+ if (allSelected) {
900
+ selectAll.classList.add(this.classes.selected);
901
+ }
902
+ const selectAllText = document.createElement('span');
903
+ selectAllText.textContent = 'Select All';
904
+ selectAll.appendChild(selectAllText);
905
+ const selectAllSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
906
+ selectAllSvg.setAttribute('viewBox', '0 0 100 100');
907
+ selectAll.appendChild(selectAllSvg);
908
+ const selectAllBox = document.createElementNS('http://www.w3.org/2000/svg', 'path');
909
+ selectAllBox.setAttribute('d', this.classes.optgroupSelectAllBox);
910
+ selectAllSvg.appendChild(selectAllBox);
911
+ const selectAllCheck = document.createElementNS('http://www.w3.org/2000/svg', 'path');
912
+ selectAllCheck.setAttribute('d', this.classes.optgroupSelectAllCheck);
913
+ selectAllSvg.appendChild(selectAllCheck);
914
+ selectAll.addEventListener('click', (e) => {
915
+ e.preventDefault();
916
+ e.stopPropagation();
917
+ const currentSelected = this.store.getSelected();
918
+ if (allSelected) {
919
+ const newSelected = currentSelected.filter((s) => {
920
+ for (const o of d.options) {
921
+ if (s === o.value) {
922
+ return false;
923
+ }
924
+ }
925
+ return true;
926
+ });
927
+ this.callbacks.setSelected(newSelected);
928
+ return;
929
+ }
930
+ else {
931
+ const newSelected = currentSelected.concat(d.options.map((o) => o.value));
932
+ this.callbacks.setSelected(newSelected);
933
+ }
934
+ });
935
+ optgroupActions.appendChild(selectAll);
936
+ }
937
+ if (d.closable !== 'off') {
938
+ const optgroupClosable = document.createElement('div');
939
+ optgroupClosable.classList.add(this.classes.optgroupClosable);
940
+ const optgroupClosableSvg = document.createElementNS('http://www.w3.org/2000/svg', 'svg');
941
+ optgroupClosableSvg.setAttribute('viewBox', '0 0 100 100');
942
+ optgroupClosableSvg.classList.add(this.classes.arrow);
943
+ optgroupClosable.appendChild(optgroupClosableSvg);
944
+ const optgroupClosableArrow = document.createElementNS('http://www.w3.org/2000/svg', 'path');
945
+ optgroupClosableArrow.setAttribute('d', this.classes.arrow);
946
+ optgroupClosableSvg.appendChild(optgroupClosableArrow);
947
+ if (d.closable === 'open') {
948
+ optgroupEl.classList.add(this.classes.open);
949
+ optgroupClosableArrow.setAttribute('d', this.classes.arrowOpen);
950
+ }
951
+ else if (d.closable === 'close') {
952
+ optgroupEl.classList.add(this.classes.close);
953
+ optgroupClosableArrow.setAttribute('d', this.classes.arrowClose);
954
+ }
832
955
  optgroupLabel.addEventListener('click', (e) => {
833
956
  e.preventDefault();
834
957
  e.stopPropagation();
835
- for (const childEl of optgroupEl.children) {
836
- if (childEl.className.indexOf(this.classes.option) !== -1) {
837
- childEl.click();
838
- }
958
+ if (optgroupEl.classList.contains(this.classes.close)) {
959
+ optgroupEl.classList.remove(this.classes.close);
960
+ optgroupEl.classList.add(this.classes.open);
961
+ optgroupClosableArrow.setAttribute('d', this.classes.arrowOpen);
962
+ }
963
+ else {
964
+ optgroupEl.classList.remove(this.classes.open);
965
+ optgroupEl.classList.add(this.classes.close);
966
+ optgroupClosableArrow.setAttribute('d', this.classes.arrowClose);
839
967
  }
840
968
  });
969
+ optgroupActions.appendChild(optgroupClosable);
841
970
  }
842
971
  optgroupEl.appendChild(optgroupLabel);
843
972
  for (const o of d.options) {
@@ -889,10 +1018,10 @@ class Render {
889
1018
  optionEl.classList.add(this.classes.hide);
890
1019
  }
891
1020
  if (option.selected) {
892
- optionEl.classList.add(this.classes.optionSelected);
1021
+ optionEl.classList.add(this.classes.selected);
893
1022
  }
894
1023
  else {
895
- optionEl.classList.remove(this.classes.optionSelected);
1024
+ optionEl.classList.remove(this.classes.selected);
896
1025
  }
897
1026
  optionEl.addEventListener('click', (e) => {
898
1027
  e.preventDefault();
@@ -1075,7 +1204,9 @@ class Select {
1075
1204
  }
1076
1205
  observeWrapper(mutations) {
1077
1206
  if (this.onSelectChange) {
1207
+ this.changeListen(false);
1078
1208
  this.onSelectChange(this.getData());
1209
+ this.changeListen(true);
1079
1210
  }
1080
1211
  }
1081
1212
  addObserver() {
@@ -1083,15 +1214,12 @@ class Select {
1083
1214
  this.disconnectObserver();
1084
1215
  this.observer = null;
1085
1216
  }
1086
- this.observer = new MutationObserver(this.observeWrapper);
1217
+ this.observer = new MutationObserver(this.observeWrapper.bind(this));
1087
1218
  }
1088
1219
  connectObserver() {
1089
1220
  if (this.observer) {
1090
1221
  this.observer.observe(this.select, {
1091
- attributes: true,
1092
1222
  childList: true,
1093
- characterData: true,
1094
- subtree: true,
1095
1223
  });
1096
1224
  }
1097
1225
  }
@@ -1115,8 +1243,10 @@ class Select {
1115
1243
  }
1116
1244
  getDataFromOptgroup(optgroup) {
1117
1245
  let data = {
1118
- id: '',
1246
+ id: (optgroup.dataset ? optgroup.dataset.id : false) || '',
1119
1247
  label: optgroup.label,
1248
+ selectAll: optgroup.dataset ? optgroup.dataset.selectall === 'true' : false,
1249
+ closable: optgroup.dataset ? optgroup.dataset.closable : 'off',
1120
1250
  options: [],
1121
1251
  };
1122
1252
  const options = optgroup.childNodes;
@@ -1127,6 +1257,22 @@ class Select {
1127
1257
  }
1128
1258
  return data;
1129
1259
  }
1260
+ getDataFromOption(option) {
1261
+ return {
1262
+ id: (option.dataset ? option.dataset.id : false) || '',
1263
+ value: option.value,
1264
+ text: option.text,
1265
+ html: option.innerHTML,
1266
+ selected: option.selected,
1267
+ display: option.style.display === 'none' ? false : true,
1268
+ disabled: option.disabled,
1269
+ mandatory: option.dataset ? option.dataset.mandatory === 'true' : false,
1270
+ placeholder: option.dataset.placeholder === 'true',
1271
+ class: option.className,
1272
+ style: option.style.cssText,
1273
+ data: option.dataset,
1274
+ };
1275
+ }
1130
1276
  getSelectedValues() {
1131
1277
  let values = [];
1132
1278
  const options = this.select.childNodes;
@@ -1151,22 +1297,6 @@ class Select {
1151
1297
  }
1152
1298
  return values;
1153
1299
  }
1154
- getDataFromOption(option) {
1155
- return {
1156
- id: (option.dataset ? option.dataset.id : false) || generateID(),
1157
- value: option.value,
1158
- text: option.text,
1159
- html: option.innerHTML,
1160
- selected: option.selected,
1161
- display: option.style.display === 'none' ? false : true,
1162
- disabled: option.disabled,
1163
- mandatory: option.dataset ? option.dataset.mandatory === 'true' : false,
1164
- placeholder: option.dataset.placeholder === 'true',
1165
- class: option.className,
1166
- style: option.style.cssText,
1167
- data: option.dataset,
1168
- };
1169
- }
1170
1300
  setSelected(value) {
1171
1301
  const options = this.select.childNodes;
1172
1302
  for (const o of options) {
@@ -1221,6 +1351,12 @@ class Select {
1221
1351
  const optgroupEl = document.createElement('optgroup');
1222
1352
  optgroupEl.id = optgroup.id;
1223
1353
  optgroupEl.label = optgroup.label;
1354
+ if (optgroup.selectAll) {
1355
+ optgroupEl.dataset.selectAll = 'true';
1356
+ }
1357
+ if (optgroup.closable !== 'off') {
1358
+ optgroupEl.dataset.closable = optgroup.closable;
1359
+ }
1224
1360
  if (optgroup.options) {
1225
1361
  for (const o of optgroup.options) {
1226
1362
  optgroupEl.appendChild(this.createOption(o));
@@ -1277,8 +1413,6 @@ class Settings {
1277
1413
  this.isOpen = false;
1278
1414
  this.triggerFocus = true;
1279
1415
  this.intervalMove = null;
1280
- this.mainHeight = 30;
1281
- this.contentHeight = 0;
1282
1416
  if (!settings) {
1283
1417
  settings = {};
1284
1418
  }
@@ -1300,7 +1434,6 @@ class Settings {
1300
1434
  this.allowDeselect = settings.allowDeselect !== undefined ? settings.allowDeselect : false;
1301
1435
  this.hideSelected = settings.hideSelected !== undefined ? settings.hideSelected : false;
1302
1436
  this.showOptionTooltips = settings.showOptionTooltips !== undefined ? settings.showOptionTooltips : false;
1303
- this.selectByGroup = settings.selectByGroup !== undefined ? settings.selectByGroup : false;
1304
1437
  this.minSelected = settings.minSelected || 0;
1305
1438
  this.maxSelected = settings.maxSelected || 1000;
1306
1439
  this.timeoutDelay = settings.timeoutDelay || 200;
@@ -1407,6 +1540,8 @@ class SlimSelect {
1407
1540
  afterChange: this.events.afterChange,
1408
1541
  };
1409
1542
  this.render = new Render(this.settings, this.store, callbacks);
1543
+ this.render.renderValues();
1544
+ this.render.renderOptions(this.store.getData());
1410
1545
  if (this.selectEl.parentNode) {
1411
1546
  this.selectEl.parentNode.insertBefore(this.render.main.main, this.selectEl.nextSibling);
1412
1547
  }
@@ -1 +1 @@
1
- :root{--ss-primary-color: #5897fb;--ss-bg-color: #ffffff;--ss-font-color: #4d4d4d;--ss-font-placeholder-color: #8d8d8d;--ss-disabled-color: #8a8a8a;--ss-border-color: #dcdee2;--ss-highlight-color: #fffb8c;--ss-error-color: #dc3545;--ss-main-height: 30px;--ss-content-height: 300px;--ss-spacing-l: 7px;--ss-spacing-m: 5px;--ss-spacing-s: 3px;--ss-animation-timing: 0.2s;--ss-border-radius: 4px}@keyframes ss-valueIn{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes ss-valueOut{0%{transform:scale(1);opacity:1}100%{transform:scale(0);opacity:0}}.ss-hide{display:none !important}.ss-main{display:flex;flex-direction:row;position:relative;user-select:none;color:var(--ss-font-color);min-height:var(--ss-main-height);width:100%;padding:var(--ss-spacing-s);cursor:pointer;border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius);background-color:var(--ss-bg-color);outline:0;box-sizing:border-box;transition:background-color var(--ss-animation-timing)}.ss-main:focus{box-shadow:0 0 5px var(--ss-primary-color)}.ss-main.ss-disabled{background-color:var(--ss-border-color);cursor:not-allowed}.ss-main.ss-disabled .ss-values .ss-disabled{color:var(--ss-font-color)}.ss-main.ss-disabled .ss-values .ss-value .ss-value-delete{cursor:not-allowed}.ss-main.ss-open-above{border-top-left-radius:0px;border-top-right-radius:0px}.ss-main.ss-open-below{border-bottom-left-radius:0px;border-bottom-right-radius:0px}.ss-main .ss-values{display:inline-flex;flex-wrap:wrap;gap:var(--ss-spacing-m);flex:1 1 100%}.ss-main .ss-values .ss-placeholder{display:flex;padding:var(--ss-spacing-s) var(--ss-spacing-m) var(--ss-spacing-s) var(--ss-spacing-m);margin:auto 0px auto 0px;line-height:1em;align-items:center;width:100%;color:var(--ss-font-placeholder-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-main .ss-values .ss-single{display:flex;margin:auto 0px auto var(--ss-spacing-s)}.ss-main .ss-values .ss-value{display:flex;user-select:none;align-items:center;width:fit-content;background-color:var(--ss-primary-color);border-radius:var(--ss-border-radius);animation-name:ss-valueIn;animation-duration:var(--ss-animation-timing);animation-timing-function:ease-out;animation-fill-mode:both}.ss-main .ss-values .ss-value.ss-value-out{animation-name:ss-valueOut;animation-duration:var(--ss-animation-timing);animation-timing-function:ease-out}.ss-main .ss-values .ss-value .ss-value-text{font-size:12px;color:var(--ss-bg-color);line-height:1;padding:var(--ss-spacing-s) var(--ss-spacing-m)}.ss-main .ss-values .ss-value .ss-value-delete{display:flex;align-items:center;height:var(--ss-spacing-l);width:var(--ss-spacing-l);padding:var(--ss-spacing-s) var(--ss-spacing-m);cursor:pointer;border-left:solid 1px var(--ss-bg-color)}.ss-main .ss-values .ss-value .ss-value-delete svg{height:var(--ss-spacing-l);width:var(--ss-spacing-l)}.ss-main .ss-values .ss-value .ss-value-delete svg path{fill:none;stroke:var(--ss-bg-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round}.ss-main .ss-deselect{display:flex;align-self:center;justify-content:flex-end;flex:0 1 auto;width:8px;height:8px;margin:0 var(--ss-spacing-m) 0 var(--ss-spacing-m)}.ss-main .ss-deselect svg{width:8px;height:8px}.ss-main .ss-deselect svg path{fill:none;stroke:var(--ss-font-color);stroke-width:20;stroke-linecap:round;stroke-linejoin:round}.ss-main .ss-arrow{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;width:12px;height:12px;margin:auto var(--ss-spacing-m) auto var(--ss-spacing-m)}.ss-main .ss-arrow path{fill:none;stroke:var(--ss-font-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round;transition-timing-function:ease-out;transition:var(--ss-animation-timing)}.ss-content{position:absolute;display:flex;height:auto;flex-direction:column;width:auto;max-height:var(--ss-content-height);box-sizing:border-box;border:solid 1px var(--ss-border-color);background-color:var(--ss-bg-color);transition:transform var(--ss-animation-timing),opacity var(--ss-animation-timing);opacity:0;transform:scaleY(0);overflow:hidden;z-index:10000}.ss-content.ss-relative{position:relative;height:100%}.ss-content.ss-open-above{opacity:1;transform:scaleY(1);transform-origin:center bottom;border-top-left-radius:var(--ss-border-radius);border-top-right-radius:var(--ss-border-radius)}.ss-content.ss-open-below{opacity:1;transform:scaleY(1);transform-origin:center top;border-bottom-left-radius:var(--ss-border-radius);border-bottom-right-radius:var(--ss-border-radius)}.ss-content .ss-search{flex:0 1 auto;display:flex;flex-direction:row;padding:var(--ss-spacing-l) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l)}.ss-content .ss-search input{display:inline-flex;font-size:inherit;line-height:inherit;flex:1 1 auto;width:100%;min-width:0px;padding:var(--ss-spacing-m) var(--ss-spacing-l);margin:0;border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius);background-color:var(--ss-bg-color);outline:0;text-align:left;box-sizing:border-box}.ss-content .ss-search input::placeholder{color:var(--ss-font-placeholder-color);vertical-align:middle}.ss-content .ss-search input:focus{box-shadow:0 0 5px var(--ss-primary-color)}.ss-content .ss-search .ss-addable{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;flex:0 0 auto;height:auto;margin:0 0 0 var(--ss-spacing-m);border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius)}.ss-content .ss-search .ss-addable svg{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;width:12px;height:12px;margin:auto var(--ss-spacing-m) auto var(--ss-spacing-m)}.ss-content .ss-search .ss-addable svg path{fill:none;stroke:var(--ss-font-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round}.ss-content .ss-list{flex:1 1 auto;height:auto;overflow-x:hidden;overflow-y:auto}.ss-content .ss-list .ss-error{color:var(--ss-error-color);padding:var(--ss-spacing-l)}.ss-content .ss-list .ss-searching{color:var(--ss-font-color);padding:var(--ss-spacing-l)}.ss-content .ss-list .ss-optgroup .ss-optgroup-label{padding:var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);font-weight:bold}.ss-content .ss-list .ss-optgroup .ss-option{padding:var(--ss-spacing-s) var(--ss-spacing-s) var(--ss-spacing-s) calc(var(--ss-spacing-l)*3)}.ss-content .ss-list .ss-optgroup-selectable{cursor:pointer}.ss-content .ss-list .ss-optgroup-selectable:hover{color:var(--ss-bg-color);background-color:var(--ss-primary-color)}.ss-content .ss-list .ss-option{padding:var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);cursor:pointer;user-select:none}.ss-content .ss-list .ss-option:hover,.ss-content .ss-list .ss-option.ss-highlighted{color:var(--ss-bg-color);background-color:var(--ss-primary-color)}.ss-content .ss-list .ss-option.ss-disabled{cursor:not-allowed;color:var(--ss-disabled-color);background-color:var(--ss-bg-color)}.ss-content .ss-list .ss-option:not(.ss-disabled).ss-option-selected{color:var(--ss-font-color);background-color:var(--ss-highlight-color)}.ss-content .ss-list .ss-option .ss-search-highlight{background-color:var(--ss-highlight-color)}/*# sourceMappingURL=slimselect.css.map */
1
+ :root{--ss-primary-color: #5897fb;--ss-bg-color: #ffffff;--ss-font-color: #4d4d4d;--ss-font-placeholder-color: #8d8d8d;--ss-disabled-color: #8a8a8a;--ss-border-color: #dcdee2;--ss-highlight-color: #fffb8c;--ss-success-color: #00b755;--ss-error-color: #dc3545;--ss-main-height: 30px;--ss-content-height: 300px;--ss-spacing-l: 7px;--ss-spacing-m: 5px;--ss-spacing-s: 3px;--ss-animation-timing: 0.2s;--ss-border-radius: 4px}@keyframes ss-valueIn{0%{transform:scale(0);opacity:0}100%{transform:scale(1);opacity:1}}@keyframes ss-valueOut{0%{transform:scale(1);opacity:1}100%{transform:scale(0);opacity:0}}.ss-hide{display:none !important}.ss-main{display:flex;flex-direction:row;position:relative;user-select:none;color:var(--ss-font-color);min-height:var(--ss-main-height);width:100%;padding:var(--ss-spacing-s);cursor:pointer;border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius);background-color:var(--ss-bg-color);outline:0;box-sizing:border-box;transition:background-color var(--ss-animation-timing)}.ss-main:focus{box-shadow:0 0 5px var(--ss-primary-color)}.ss-main.ss-disabled{background-color:var(--ss-border-color);cursor:not-allowed}.ss-main.ss-disabled .ss-values .ss-disabled{color:var(--ss-font-color)}.ss-main.ss-disabled .ss-values .ss-value .ss-value-delete{cursor:not-allowed}.ss-main.ss-open-above{border-top-left-radius:0px;border-top-right-radius:0px}.ss-main.ss-open-below{border-bottom-left-radius:0px;border-bottom-right-radius:0px}.ss-main .ss-values{display:inline-flex;flex-wrap:wrap;gap:var(--ss-spacing-m);flex:1 1 100%}.ss-main .ss-values .ss-placeholder{display:flex;padding:var(--ss-spacing-s) var(--ss-spacing-m) var(--ss-spacing-s) var(--ss-spacing-m);margin:auto 0px auto 0px;line-height:1em;align-items:center;width:100%;color:var(--ss-font-placeholder-color);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ss-main .ss-values .ss-single{display:flex;margin:auto 0px auto var(--ss-spacing-s)}.ss-main .ss-values .ss-value{display:flex;user-select:none;align-items:center;width:fit-content;background-color:var(--ss-primary-color);border-radius:var(--ss-border-radius);animation-name:ss-valueIn;animation-duration:var(--ss-animation-timing);animation-timing-function:ease-out;animation-fill-mode:both}.ss-main .ss-values .ss-value.ss-value-out{animation-name:ss-valueOut;animation-duration:var(--ss-animation-timing);animation-timing-function:ease-out}.ss-main .ss-values .ss-value .ss-value-text{font-size:12px;color:var(--ss-bg-color);line-height:1;padding:var(--ss-spacing-s) var(--ss-spacing-m)}.ss-main .ss-values .ss-value .ss-value-delete{display:flex;align-items:center;height:var(--ss-spacing-l);width:var(--ss-spacing-l);padding:var(--ss-spacing-s) var(--ss-spacing-m);cursor:pointer;border-left:solid 1px var(--ss-bg-color)}.ss-main .ss-values .ss-value .ss-value-delete svg{height:var(--ss-spacing-l);width:var(--ss-spacing-l)}.ss-main .ss-values .ss-value .ss-value-delete svg path{fill:none;stroke:var(--ss-bg-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round}.ss-main .ss-deselect{display:flex;align-self:center;justify-content:flex-end;flex:0 1 auto;width:8px;height:8px;margin:0 var(--ss-spacing-m) 0 var(--ss-spacing-m)}.ss-main .ss-deselect svg{width:8px;height:8px}.ss-main .ss-deselect svg path{fill:none;stroke:var(--ss-font-color);stroke-width:20;stroke-linecap:round;stroke-linejoin:round}.ss-main .ss-arrow{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;width:12px;height:12px;margin:auto var(--ss-spacing-m) auto var(--ss-spacing-m)}.ss-main .ss-arrow path{fill:none;stroke:var(--ss-font-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round;transition-timing-function:ease-out;transition:var(--ss-animation-timing)}.ss-content{position:absolute;display:flex;height:auto;flex-direction:column;width:auto;max-height:var(--ss-content-height);box-sizing:border-box;border:solid 1px var(--ss-border-color);background-color:var(--ss-bg-color);transition:transform var(--ss-animation-timing),opacity var(--ss-animation-timing);opacity:0;transform:scaleY(0);overflow:hidden;z-index:10000}.ss-content.ss-relative{position:relative;height:100%}.ss-content.ss-open-above{opacity:1;transform:scaleY(1);transform-origin:center bottom;border-top-left-radius:var(--ss-border-radius);border-top-right-radius:var(--ss-border-radius)}.ss-content.ss-open-below{opacity:1;transform:scaleY(1);transform-origin:center top;border-bottom-left-radius:var(--ss-border-radius);border-bottom-right-radius:var(--ss-border-radius)}.ss-content .ss-search{flex:0 1 auto;display:flex;flex-direction:row;padding:var(--ss-spacing-l) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l)}.ss-content .ss-search input{display:inline-flex;font-size:inherit;line-height:inherit;flex:1 1 auto;width:100%;min-width:0px;padding:var(--ss-spacing-m) var(--ss-spacing-l);margin:0;border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius);background-color:var(--ss-bg-color);outline:0;text-align:left;box-sizing:border-box}.ss-content .ss-search input::placeholder{color:var(--ss-font-placeholder-color);vertical-align:middle}.ss-content .ss-search input:focus{box-shadow:0 0 5px var(--ss-primary-color)}.ss-content .ss-search .ss-addable{display:inline-flex;justify-content:center;align-items:center;cursor:pointer;flex:0 0 auto;height:auto;margin:0 0 0 var(--ss-spacing-m);border:1px solid var(--ss-border-color);border-radius:var(--ss-border-radius)}.ss-content .ss-search .ss-addable svg{display:flex;align-items:center;justify-content:flex-end;flex:0 1 auto;width:12px;height:12px;margin:auto var(--ss-spacing-m) auto var(--ss-spacing-m)}.ss-content .ss-search .ss-addable svg path{fill:none;stroke:var(--ss-font-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round}.ss-content .ss-list{flex:1 1 auto;height:auto;overflow-x:hidden;overflow-y:auto}.ss-content .ss-list .ss-error{color:var(--ss-error-color);padding:var(--ss-spacing-l)}.ss-content .ss-list .ss-searching{color:var(--ss-font-color);padding:var(--ss-spacing-l)}.ss-content .ss-list .ss-optgroup.ss-close .ss-option{display:none !important}.ss-content .ss-list .ss-optgroup .ss-optgroup-label{display:flex;flex-direction:row;align-items:center;justify-content:space-between;padding:var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l)}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-label-text{flex:1 1 auto;font-weight:bold;color:var(--ss-font-color)}.ss-content .ss-list .ss-optgroup .ss-optgroup-label:has(.ss-arrow){cursor:pointer}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions{flex:0 1 auto;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:var(--ss-spacing-m)}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall{flex:0 0 auto;display:flex;flex-direction:row;cursor:pointer}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall:hover{opacity:.5}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall.ss-selected svg path{stroke:var(--ss-error-color)}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall span{flex:0 1 auto;display:flex;align-items:center;justify-content:center;font-size:60%;text-align:center;padding:0 var(--ss-spacing-s) 0 0}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg{flex:0 1 auto;width:13px;height:13px}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg path{fill:none;stroke:var(--ss-success-color);stroke-linecap:round;stroke-linejoin:round}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:first-child{stroke-width:5}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-selectall svg:last-child{stroke-width:11}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable{flex:0 1 auto;display:flex;flex-direction:row;cursor:pointer}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow{flex:1 1 auto;width:10px;height:10px}.ss-content .ss-list .ss-optgroup .ss-optgroup-label .ss-optgroup-actions .ss-closable .ss-arrow path{fill:none;stroke:var(--ss-font-color);stroke-width:18;stroke-linecap:round;stroke-linejoin:round;transition-timing-function:ease-out;transition:var(--ss-animation-timing)}.ss-content .ss-list .ss-optgroup .ss-option{padding:var(--ss-spacing-s) var(--ss-spacing-s) var(--ss-spacing-s) calc(var(--ss-spacing-l)*3)}.ss-content .ss-list .ss-option{display:flex;padding:var(--ss-spacing-m) var(--ss-spacing-l) var(--ss-spacing-m) var(--ss-spacing-l);cursor:pointer;user-select:none}.ss-content .ss-list .ss-option:hover,.ss-content .ss-list .ss-option.ss-highlighted{color:var(--ss-bg-color);background-color:var(--ss-primary-color)}.ss-content .ss-list .ss-option.ss-disabled{cursor:not-allowed;color:var(--ss-disabled-color);background-color:var(--ss-bg-color)}.ss-content .ss-list .ss-option:not(.ss-disabled).ss-selected{color:var(--ss-font-color);background-color:var(--ss-highlight-color)}.ss-content .ss-list .ss-option .ss-search-highlight{background-color:var(--ss-highlight-color)}/*# sourceMappingURL=slimselect.css.map */
@@ -1 +1 @@
1
- {"version":3,"sourceRoot":"","sources":["../src/slim-select/slimselect.scss"],"names":[],"mappings":"AAAA,MAEE,4BACA,uBACA,yBACA,qCACA,6BACA,2BACA,8BACA,0BAGA,uBACA,2BAGA,oBACA,oBACA,oBAGA,4BACA,wBAIF,sBACE,GACE,mBACA,UAEF,KACE,mBACA,WAGJ,uBACE,GACE,mBACA,UAEF,KACE,mBACA,WAKJ,SACE,wBAIF,SACE,aACA,mBACA,kBACA,iBACA,2BACA,iCACA,WACA,4BACA,eACA,wCACA,sCACA,oCACA,UACA,sBACA,uDAEA,eACE,2CAGF,qBACE,wCACA,mBAGE,6CACE,2BAIA,2DACE,mBAMR,uBACE,2BACA,4BAEF,uBACE,8BACA,+BAGF,oBACE,oBACA,eACA,wBACA,cAEA,oCACE,aACA,wFACA,yBACA,gBACA,mBACA,WACA,uCACA,gBACA,uBACA,mBAGF,+BACE,aACA,yCAGF,8BACE,aACA,iBACA,mBACA,kBACA,yCACA,sCACA,0BACA,8CACA,mCACA,yBAEA,2CACE,2BACA,8CACA,mCAGF,6CACE,eACA,yBACA,cACA,gDAGF,+CACE,aACA,mBACA,2BACA,0BACA,gDACA,eACA,yCAEA,mDACE,2BACA,0BAEA,wDACE,UACA,0BACA,gBACA,qBACA,sBAOV,sBACE,aACA,kBACA,yBACA,cACA,UACA,WACA,mDAEA,0BACE,UACA,WAEA,+BACE,UACA,4BACA,gBACA,qBACA,sBAKN,mBACE,aACA,mBACA,yBACA,cACA,WACA,YACA,yDAEA,wBACE,UACA,4BACA,gBACA,qBACA,sBACA,oCACA,sCAMN,YACE,kBACA,aACA,YACA,sBACA,WACA,oCACA,sBACA,wCACA,oCACA,mFACA,UACA,oBACA,gBACA,cAEA,wBACE,kBACA,YAGF,0BACE,UACA,oBACA,+BACA,+CACA,gDAGF,0BACE,UACA,oBACA,4BACA,kDACA,mDAGF,uBACE,cACA,aACA,mBACA,wFAEA,6BACE,oBACA,kBACA,oBACA,cACA,WACA,cACA,gDACA,SACA,wCACA,sCACA,oCACA,UACA,gBACA,sBAEA,0CACE,uCACA,sBAGF,mCACE,2CAIJ,mCACE,oBACA,uBACA,mBACA,eACA,cACA,YACA,iCACA,wCACA,sCAEA,uCACE,aACA,mBACA,yBACA,cACA,WACA,YACA,yDAEA,4CACE,UACA,4BACA,gBACA,qBACA,sBAMR,qBACE,cACA,YACA,kBACA,gBAEA,+BACE,4BACA,4BAGF,mCACE,2BACA,4BAIA,qDACE,wFACA,iBAGF,6CACE,gGAIJ,6CACE,eAEA,mDACE,yBACA,yCAIJ,gCACE,wFACA,eACA,iBAEA,qFAEE,yBACA,yCAGF,4CACE,mBACA,+BACA,oCAGF,qEACE,2BACA,2CAGF,qDACE","file":"slimselect.css"}
1
+ {"version":3,"sourceRoot":"","sources":["../src/slim-select/slimselect.scss"],"names":[],"mappings":"AAAA,MAEE,4BACA,uBACA,yBACA,qCACA,6BACA,2BACA,8BACA,4BACA,0BAGA,uBACA,2BAGA,oBACA,oBACA,oBAGA,4BACA,wBAIF,sBACE,GACE,mBACA,UAEF,KACE,mBACA,WAGJ,uBACE,GACE,mBACA,UAEF,KACE,mBACA,WAKJ,SACE,wBAIF,SACE,aACA,mBACA,kBACA,iBACA,2BACA,iCACA,WACA,4BACA,eACA,wCACA,sCACA,oCACA,UACA,sBACA,uDAEA,eACE,2CAGF,qBACE,wCACA,mBAGE,6CACE,2BAIA,2DACE,mBAMR,uBACE,2BACA,4BAEF,uBACE,8BACA,+BAGF,oBACE,oBACA,eACA,wBACA,cAEA,oCACE,aACA,wFACA,yBACA,gBACA,mBACA,WACA,uCACA,gBACA,uBACA,mBAGF,+BACE,aACA,yCAGF,8BACE,aACA,iBACA,mBACA,kBACA,yCACA,sCACA,0BACA,8CACA,mCACA,yBAEA,2CACE,2BACA,8CACA,mCAGF,6CACE,eACA,yBACA,cACA,gDAGF,+CACE,aACA,mBACA,2BACA,0BACA,gDACA,eACA,yCAEA,mDACE,2BACA,0BAEA,wDACE,UACA,0BACA,gBACA,qBACA,sBAOV,sBACE,aACA,kBACA,yBACA,cACA,UACA,WACA,mDAEA,0BACE,UACA,WAEA,+BACE,UACA,4BACA,gBACA,qBACA,sBAKN,mBACE,aACA,mBACA,yBACA,cACA,WACA,YACA,yDAEA,wBACE,UACA,4BACA,gBACA,qBACA,sBACA,oCACA,sCAMN,YACE,kBACA,aACA,YACA,sBACA,WACA,oCACA,sBACA,wCACA,oCACA,mFACA,UACA,oBACA,gBACA,cAEA,wBACE,kBACA,YAGF,0BACE,UACA,oBACA,+BACA,+CACA,gDAGF,0BACE,UACA,oBACA,4BACA,kDACA,mDAGF,uBACE,cACA,aACA,mBACA,wFAEA,6BACE,oBACA,kBACA,oBACA,cACA,WACA,cACA,gDACA,SACA,wCACA,sCACA,oCACA,UACA,gBACA,sBAEA,0CACE,uCACA,sBAGF,mCACE,2CAIJ,mCACE,oBACA,uBACA,mBACA,eACA,cACA,YACA,iCACA,wCACA,sCAEA,uCACE,aACA,mBACA,yBACA,cACA,WACA,YACA,yDAEA,4CACE,UACA,4BACA,gBACA,qBACA,sBAMR,qBACE,cACA,YACA,kBACA,gBAEA,+BACE,4BACA,4BAGF,mCACE,2BACA,4BAYE,sDACE,wBAIJ,qDACE,aACA,mBACA,mBACA,8BACA,wFAEA,6EACE,cACA,iBACA,2BAIF,oEACE,eAGF,0EACE,cACA,aACA,mBACA,mBACA,uBACA,wBAEA,wFACE,cACA,aACA,mBACA,eAEA,8FACE,WAKE,6GACE,6BAKN,6FACE,cACA,aACA,mBACA,uBACA,cACA,kBACA,kCAGF,4FACE,cACA,WACA,YAEA,iGACE,UACA,+BACA,qBACA,sBAGF,wGACE,eAEF,uGACE,gBAKN,uFACE,cACA,aACA,mBACA,eAEA,iGACE,cACA,WACA,YAEA,sGACE,UACA,4BACA,gBACA,qBACA,sBACA,oCACA,sCAOV,6CACE,gGAIJ,gCACE,aACA,wFACA,eACA,iBAEA,qFAEE,yBACA,yCAGF,4CACE,mBACA,+BACA,oCAGF,8DACE,2BACA,2CAGF,qDACE","file":"slimselect.css"}