@startinblox/core 0.17.30 → 0.18.0-beta.1

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 (255) hide show
  1. package/dist/_snowpack/pkg/autolinker.js +3515 -3367
  2. package/dist/_snowpack/pkg/autolinker.js.map +1 -1
  3. package/dist/_snowpack/pkg/common/{_baseUnary-217dffb2.js → _baseUnary-c1edb653.js} +16 -40
  4. package/dist/_snowpack/pkg/common/{_baseUnary-217dffb2.js.map → _baseUnary-c1edb653.js.map} +1 -1
  5. package/dist/_snowpack/pkg/common/{_commonjsHelpers-8c19dec8.js → _commonjsHelpers-37fa8da4.js} +6 -2
  6. package/dist/_snowpack/pkg/common/_commonjsHelpers-37fa8da4.js.map +1 -0
  7. package/dist/_snowpack/pkg/common/{decode-a4c334cf.js → decode-26fbf385.js} +38 -69
  8. package/dist/_snowpack/pkg/common/decode-26fbf385.js.map +1 -0
  9. package/dist/_snowpack/pkg/common/lit-html-3647afce.js +1104 -0
  10. package/dist/_snowpack/pkg/common/lit-html-3647afce.js.map +1 -0
  11. package/dist/_snowpack/pkg/delta-markdown-for-quill.js +4767 -4246
  12. package/dist/_snowpack/pkg/delta-markdown-for-quill.js.map +1 -1
  13. package/dist/_snowpack/pkg/dialog-polyfill.js +107 -139
  14. package/dist/_snowpack/pkg/dialog-polyfill.js.map +1 -1
  15. package/dist/_snowpack/pkg/fusejs.js +411 -601
  16. package/dist/_snowpack/pkg/fusejs.js.map +1 -1
  17. package/dist/_snowpack/pkg/import-map.json +1 -0
  18. package/dist/_snowpack/pkg/jsonld-context-parser.js +718 -686
  19. package/dist/_snowpack/pkg/jsonld-context-parser.js.map +1 -1
  20. package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.Default.css +59 -59
  21. package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.Default.css.proxy.js +1 -1
  22. package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.css +14 -14
  23. package/dist/_snowpack/pkg/leaflet.markercluster/dist/MarkerCluster.css.proxy.js +1 -1
  24. package/dist/_snowpack/pkg/lit-html/directives/if-defined.js +13 -14
  25. package/dist/_snowpack/pkg/lit-html/directives/if-defined.js.map +1 -1
  26. package/dist/_snowpack/pkg/lit-html/directives/unsafe-html.js +17 -15
  27. package/dist/_snowpack/pkg/lit-html/directives/unsafe-html.js.map +1 -1
  28. package/dist/_snowpack/pkg/lit-html/directives/until.js +45 -46
  29. package/dist/_snowpack/pkg/lit-html/directives/until.js.map +1 -1
  30. package/dist/_snowpack/pkg/lit-html.js +37 -35
  31. package/dist/_snowpack/pkg/lit-html.js.map +1 -1
  32. package/dist/_snowpack/pkg/markdown-it-link-attributes.js +68 -0
  33. package/dist/_snowpack/pkg/markdown-it-link-attributes.js.map +1 -0
  34. package/dist/_snowpack/pkg/markdown-it.js +1731 -2284
  35. package/dist/_snowpack/pkg/markdown-it.js.map +1 -1
  36. package/dist/_snowpack/pkg/quill-delta-to-markdown.js +236 -294
  37. package/dist/_snowpack/pkg/quill-delta-to-markdown.js.map +1 -1
  38. package/dist/_snowpack/pkg/quill.js +12077 -11017
  39. package/dist/_snowpack/pkg/quill.js.map +1 -1
  40. package/dist/_snowpack/pkg/slim-select.js +711 -1
  41. package/dist/_snowpack/pkg/slim-select.js.map +1 -1
  42. package/dist/_snowpack/pkg/tui-calendar/dist/tui-calendar.css +1 -16
  43. package/dist/_snowpack/pkg/tui-calendar/dist/tui-calendar.css.proxy.js +1 -1
  44. package/dist/_snowpack/pkg/tui-calendar.js +44297 -40075
  45. package/dist/_snowpack/pkg/tui-calendar.js.map +1 -1
  46. package/dist/components/solid-ac-checker.js +4 -17
  47. package/dist/components/solid-calendar.js +5 -26
  48. package/dist/components/solid-delete.js +9 -24
  49. package/dist/components/solid-display.js +15 -59
  50. package/dist/components/solid-form-search.js +27 -79
  51. package/dist/components/solid-form.js +48 -143
  52. package/dist/components/solid-lang.js +8 -19
  53. package/dist/components/solid-map.js +26 -64
  54. package/dist/components/solid-table.js +51 -133
  55. package/dist/components/solid-widget.js +2 -24
  56. package/dist/index.js +17 -11
  57. package/dist/libs/Component.js +4 -10
  58. package/dist/libs/ComponentFactory.js +6 -34
  59. package/dist/libs/Compositor.js +8 -15
  60. package/dist/libs/Sib.js +7 -21
  61. package/dist/libs/filter.js +184 -0
  62. package/dist/libs/helpers.js +19 -47
  63. package/dist/libs/interfaces.js +1 -1
  64. package/dist/libs/lit-helpers.js +7 -34
  65. package/dist/libs/polyfills.js +7 -10
  66. package/dist/libs/store/server-pagination.js +22 -0
  67. package/dist/libs/store/server-search.js +35 -0
  68. package/dist/libs/store/store.js +212 -227
  69. package/dist/mixins/attributeBinderMixin.js +17 -25
  70. package/dist/mixins/contextMixin.js +5 -7
  71. package/dist/mixins/counterMixin.js +2 -23
  72. package/dist/mixins/federationMixin.js +2 -14
  73. package/dist/mixins/filterMixin.js +60 -100
  74. package/dist/mixins/grouperMixin.js +11 -18
  75. package/dist/mixins/highlighterMixin.js +2 -8
  76. package/dist/mixins/interfaces.js +3 -5
  77. package/dist/mixins/listMixin.js +12 -43
  78. package/dist/mixins/nextMixin.js +1 -4
  79. package/dist/mixins/paginateMixin.js +17 -30
  80. package/dist/mixins/requiredMixin.js +1 -9
  81. package/dist/mixins/serverPaginationMixin.js +122 -0
  82. package/dist/mixins/sorterMixin.js +26 -44
  83. package/dist/mixins/storeMixin.js +28 -21
  84. package/dist/mixins/translationMixin.js +2 -12
  85. package/dist/mixins/validationMixin.js +28 -46
  86. package/dist/mixins/widgetMixin.js +58 -154
  87. package/dist/new-widgets/attributeMixins/actionMixin.js +1 -2
  88. package/dist/new-widgets/attributeMixins/blankMixin.js +1 -4
  89. package/dist/new-widgets/attributeMixins/booleanMixin.js +1 -4
  90. package/dist/new-widgets/attributeMixins/index.js +1 -2
  91. package/dist/new-widgets/attributeMixins/mailtoMixin.js +1 -4
  92. package/dist/new-widgets/attributeMixins/multipleMixin.js +1 -2
  93. package/dist/new-widgets/attributeMixins/numberMixin.js +1 -4
  94. package/dist/new-widgets/attributeMixins/placeholderMixin.js +1 -4
  95. package/dist/new-widgets/attributeMixins/telMixin.js +1 -4
  96. package/dist/new-widgets/baseWidgetMixin.js +5 -18
  97. package/dist/new-widgets/callbackMixins/autocompletionMixin.js +3 -11
  98. package/dist/new-widgets/callbackMixins/index.js +1 -2
  99. package/dist/new-widgets/callbackMixins/richtextMixin.js +1 -6
  100. package/dist/new-widgets/interfaces.js +1 -0
  101. package/dist/new-widgets/new-widget-factory.js +14 -19
  102. package/dist/new-widgets/templateAdditionMixins/addableMixin.js +6 -21
  103. package/dist/new-widgets/templateAdditionMixins/index.js +2 -3
  104. package/dist/new-widgets/templateAdditionMixins/labelLastMixin.js +5 -18
  105. package/dist/new-widgets/templateAdditionMixins/labelMixin.js +5 -18
  106. package/dist/new-widgets/templates/defaultTemplatesDirectory.js +21 -27
  107. package/dist/new-widgets/templates/displayTemplatesDirectory.js +35 -70
  108. package/dist/new-widgets/templates/formTemplatesDirectory.js +350 -315
  109. package/dist/new-widgets/templates/groupTemplatesDirectory.js +5 -15
  110. package/dist/new-widgets/templates/index.js +1 -2
  111. package/dist/new-widgets/templates/setTemplatesDirectory.js +4 -37
  112. package/dist/new-widgets/templatesDependencies/altMixin.js +1 -2
  113. package/dist/new-widgets/templatesDependencies/editableMixin.js +9 -26
  114. package/dist/new-widgets/templatesDependencies/filterRangeFormMixin.js +3 -7
  115. package/dist/new-widgets/templatesDependencies/formCheckboxMixin.js +1 -5
  116. package/dist/new-widgets/templatesDependencies/formCheckboxesMixin.js +1 -11
  117. package/dist/new-widgets/templatesDependencies/formDropdownMixin.js +3 -13
  118. package/dist/new-widgets/templatesDependencies/formFileMixin.js +1 -13
  119. package/dist/new-widgets/templatesDependencies/formLengthMixin.js +1 -2
  120. package/dist/new-widgets/templatesDependencies/formMinMaxMixin.js +1 -2
  121. package/dist/new-widgets/templatesDependencies/formMixin.js +4 -14
  122. package/dist/new-widgets/templatesDependencies/formNumberMixin.js +1 -5
  123. package/dist/new-widgets/templatesDependencies/formRadioMixin.js +1 -5
  124. package/dist/new-widgets/templatesDependencies/formStepMixin.js +1 -2
  125. package/dist/new-widgets/templatesDependencies/linkTextMixin.js +13 -0
  126. package/dist/new-widgets/templatesDependencies/multipleFormMixin.js +23 -18
  127. package/dist/new-widgets/templatesDependencies/multipleselectFormMixin.js +1 -10
  128. package/dist/new-widgets/templatesDependencies/patternMixin.js +1 -2
  129. package/dist/new-widgets/templatesDependencies/rangeMixin.js +5 -15
  130. package/dist/new-widgets/templatesDependencies/setMixin.js +1 -4
  131. package/dist/new-widgets/templatesDependencies/valueRichtextMixin.js +1 -4
  132. package/dist/new-widgets/valueTransformationMixins/autolinkMixin.js +1 -5
  133. package/dist/new-widgets/valueTransformationMixins/dateMixin.js +5 -11
  134. package/dist/new-widgets/valueTransformationMixins/dateTimeMixin.js +1 -5
  135. package/dist/new-widgets/valueTransformationMixins/index.js +1 -2
  136. package/dist/new-widgets/valueTransformationMixins/markdownMixin.js +10 -8
  137. package/dist/new-widgets/valueTransformationMixins/multilineMixin.js +1 -5
  138. package/dist/new-widgets/valueTransformationMixins/oembedMixin.js +1 -7
  139. package/dist/solid-template-element.js +24 -44
  140. package/dist/widgets/baseWidget.js +21 -85
  141. package/dist/widgets/widget-factory.js +4 -6
  142. package/package.json +9 -6
  143. package/dist/_snowpack/env.js +0 -3
  144. package/dist/_snowpack/pkg/autolinker.js.map.proxy.js +0 -1
  145. package/dist/_snowpack/pkg/common/_baseUnary-217dffb2.js.map.proxy.js +0 -1
  146. package/dist/_snowpack/pkg/common/_commonjsHelpers-8c19dec8.js.map +0 -1
  147. package/dist/_snowpack/pkg/common/_commonjsHelpers-8c19dec8.js.map.proxy.js +0 -1
  148. package/dist/_snowpack/pkg/common/decode-a4c334cf.js.map +0 -1
  149. package/dist/_snowpack/pkg/common/decode-a4c334cf.js.map.proxy.js +0 -1
  150. package/dist/_snowpack/pkg/common/lit-html-babd44cd.js +0 -1119
  151. package/dist/_snowpack/pkg/common/lit-html-babd44cd.js.map +0 -1
  152. package/dist/_snowpack/pkg/common/lit-html-babd44cd.js.map.proxy.js +0 -1
  153. package/dist/_snowpack/pkg/delta-markdown-for-quill.js.map.proxy.js +0 -1
  154. package/dist/_snowpack/pkg/dialog-polyfill.js.map.proxy.js +0 -1
  155. package/dist/_snowpack/pkg/fusejs.js.map.proxy.js +0 -1
  156. package/dist/_snowpack/pkg/jsonld-context-parser.js.map.proxy.js +0 -1
  157. package/dist/_snowpack/pkg/lit-html/directives/if-defined.js.map.proxy.js +0 -1
  158. package/dist/_snowpack/pkg/lit-html/directives/unsafe-html.js.map.proxy.js +0 -1
  159. package/dist/_snowpack/pkg/lit-html/directives/until.js.map.proxy.js +0 -1
  160. package/dist/_snowpack/pkg/lit-html.js.map.proxy.js +0 -1
  161. package/dist/_snowpack/pkg/markdown-it.js.map.proxy.js +0 -1
  162. package/dist/_snowpack/pkg/quill-delta-to-markdown.js.map.proxy.js +0 -1
  163. package/dist/_snowpack/pkg/quill.js.map.proxy.js +0 -1
  164. package/dist/_snowpack/pkg/slim-select.js.map.proxy.js +0 -1
  165. package/dist/_snowpack/pkg/tui-calendar.js.map.proxy.js +0 -1
  166. package/dist/components/solid-ac-checker.js.map +0 -1
  167. package/dist/components/solid-calendar.js.map +0 -1
  168. package/dist/components/solid-delete.js.map +0 -1
  169. package/dist/components/solid-display.js.map +0 -1
  170. package/dist/components/solid-form-search.js.map +0 -1
  171. package/dist/components/solid-form.js.map +0 -1
  172. package/dist/components/solid-lang.js.map +0 -1
  173. package/dist/components/solid-map.js.map +0 -1
  174. package/dist/components/solid-table.js.map +0 -1
  175. package/dist/components/solid-widget.js.map +0 -1
  176. package/dist/index.js.map +0 -1
  177. package/dist/libs/Component.js.map +0 -1
  178. package/dist/libs/ComponentFactory.js.map +0 -1
  179. package/dist/libs/Compositor.js.map +0 -1
  180. package/dist/libs/Sib.js.map +0 -1
  181. package/dist/libs/helpers.js.map +0 -1
  182. package/dist/libs/interfaces.js.map +0 -1
  183. package/dist/libs/lit-helpers.js.map +0 -1
  184. package/dist/libs/polyfills.js.map +0 -1
  185. package/dist/libs/store/store.js.map +0 -1
  186. package/dist/mixins/attributeBinderMixin.js.map +0 -1
  187. package/dist/mixins/contextMixin.js.map +0 -1
  188. package/dist/mixins/counterMixin.js.map +0 -1
  189. package/dist/mixins/federationMixin.js.map +0 -1
  190. package/dist/mixins/filterMixin.js.map +0 -1
  191. package/dist/mixins/grouperMixin.js.map +0 -1
  192. package/dist/mixins/highlighterMixin.js.map +0 -1
  193. package/dist/mixins/interfaces.js.map +0 -1
  194. package/dist/mixins/listMixin.js.map +0 -1
  195. package/dist/mixins/nextMixin.js.map +0 -1
  196. package/dist/mixins/paginateMixin.js.map +0 -1
  197. package/dist/mixins/requiredMixin.js.map +0 -1
  198. package/dist/mixins/sorterMixin.js.map +0 -1
  199. package/dist/mixins/storeMixin.js.map +0 -1
  200. package/dist/mixins/translationMixin.js.map +0 -1
  201. package/dist/mixins/validationMixin.js.map +0 -1
  202. package/dist/mixins/widgetMixin.js.map +0 -1
  203. package/dist/new-widgets/attributeMixins/actionMixin.js.map +0 -1
  204. package/dist/new-widgets/attributeMixins/blankMixin.js.map +0 -1
  205. package/dist/new-widgets/attributeMixins/booleanMixin.js.map +0 -1
  206. package/dist/new-widgets/attributeMixins/index.js.map +0 -1
  207. package/dist/new-widgets/attributeMixins/mailtoMixin.js.map +0 -1
  208. package/dist/new-widgets/attributeMixins/multipleMixin.js.map +0 -1
  209. package/dist/new-widgets/attributeMixins/numberMixin.js.map +0 -1
  210. package/dist/new-widgets/attributeMixins/placeholderMixin.js.map +0 -1
  211. package/dist/new-widgets/attributeMixins/telMixin.js.map +0 -1
  212. package/dist/new-widgets/baseWidgetMixin.js.map +0 -1
  213. package/dist/new-widgets/callbackMixins/autocompletionMixin.js.map +0 -1
  214. package/dist/new-widgets/callbackMixins/index.js.map +0 -1
  215. package/dist/new-widgets/callbackMixins/richtextMixin.js.map +0 -1
  216. package/dist/new-widgets/new-widget-factory.js.map +0 -1
  217. package/dist/new-widgets/templateAdditionMixins/addableMixin.js.map +0 -1
  218. package/dist/new-widgets/templateAdditionMixins/index.js.map +0 -1
  219. package/dist/new-widgets/templateAdditionMixins/labelLastMixin.js.map +0 -1
  220. package/dist/new-widgets/templateAdditionMixins/labelMixin.js.map +0 -1
  221. package/dist/new-widgets/templates/defaultTemplatesDirectory.js.map +0 -1
  222. package/dist/new-widgets/templates/displayTemplatesDirectory.js.map +0 -1
  223. package/dist/new-widgets/templates/formTemplatesDirectory.js.map +0 -1
  224. package/dist/new-widgets/templates/groupTemplatesDirectory.js.map +0 -1
  225. package/dist/new-widgets/templates/index.js.map +0 -1
  226. package/dist/new-widgets/templates/setTemplatesDirectory.js.map +0 -1
  227. package/dist/new-widgets/templatesDependencies/altMixin.js.map +0 -1
  228. package/dist/new-widgets/templatesDependencies/editableMixin.js.map +0 -1
  229. package/dist/new-widgets/templatesDependencies/filterRangeFormMixin.js.map +0 -1
  230. package/dist/new-widgets/templatesDependencies/formCheckboxMixin.js.map +0 -1
  231. package/dist/new-widgets/templatesDependencies/formCheckboxesMixin.js.map +0 -1
  232. package/dist/new-widgets/templatesDependencies/formDropdownMixin.js.map +0 -1
  233. package/dist/new-widgets/templatesDependencies/formFileMixin.js.map +0 -1
  234. package/dist/new-widgets/templatesDependencies/formLengthMixin.js.map +0 -1
  235. package/dist/new-widgets/templatesDependencies/formMinMaxMixin.js.map +0 -1
  236. package/dist/new-widgets/templatesDependencies/formMixin.js.map +0 -1
  237. package/dist/new-widgets/templatesDependencies/formNumberMixin.js.map +0 -1
  238. package/dist/new-widgets/templatesDependencies/formRadioMixin.js.map +0 -1
  239. package/dist/new-widgets/templatesDependencies/formStepMixin.js.map +0 -1
  240. package/dist/new-widgets/templatesDependencies/multipleFormMixin.js.map +0 -1
  241. package/dist/new-widgets/templatesDependencies/multipleselectFormMixin.js.map +0 -1
  242. package/dist/new-widgets/templatesDependencies/patternMixin.js.map +0 -1
  243. package/dist/new-widgets/templatesDependencies/rangeMixin.js.map +0 -1
  244. package/dist/new-widgets/templatesDependencies/setMixin.js.map +0 -1
  245. package/dist/new-widgets/templatesDependencies/valueRichtextMixin.js.map +0 -1
  246. package/dist/new-widgets/valueTransformationMixins/autolinkMixin.js.map +0 -1
  247. package/dist/new-widgets/valueTransformationMixins/dateMixin.js.map +0 -1
  248. package/dist/new-widgets/valueTransformationMixins/dateTimeMixin.js.map +0 -1
  249. package/dist/new-widgets/valueTransformationMixins/index.js.map +0 -1
  250. package/dist/new-widgets/valueTransformationMixins/markdownMixin.js.map +0 -1
  251. package/dist/new-widgets/valueTransformationMixins/multilineMixin.js.map +0 -1
  252. package/dist/new-widgets/valueTransformationMixins/oembedMixin.js.map +0 -1
  253. package/dist/solid-template-element.js.map +0 -1
  254. package/dist/widgets/baseWidget.js.map +0 -1
  255. package/dist/widgets/widget-factory.js.map +0 -1
@@ -1,4 +1,714 @@
1
- var exports = {};!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.SlimSelect=t():e.SlimSelect=t();}(window,function(){return s={},n.m=i=[function(e,t,i){function s(e,t){t=t||{bubbles:!1,cancelable:!1,detail:void 0};var i=document.createEvent("CustomEvent");return i.initCustomEvent(e,t.bubbles,t.cancelable,t.detail),i}var n;t.__esModule=!0,t.hasClassInTree=function(e,t){function s(e,t){return t&&e&&e.classList&&e.classList.contains(t)?e:null}return s(e,t)||function e(t,i){return t&&t!==document?s(t,i)?t:e(t.parentNode,i):null}(e,t)},t.ensureElementInView=function(e,t){var i=e.scrollTop+e.offsetTop,s=i+e.clientHeight,n=t.offsetTop,a=n+t.clientHeight;n<i?e.scrollTop-=i-n:s<a&&(e.scrollTop+=a-s);},t.putContent=function(e,t,i){var s=e.offsetHeight,n=e.getBoundingClientRect(),a=i?n.top:n.top-s,o=i?n.bottom:n.bottom+s;return a<=0?"below":o>=window.innerHeight?"above":i?t:"below"},t.debounce=function(n,a,o){var l;return void 0===a&&(a=100),void 0===o&&(o=!1),function(){for(var e=[],t=0;t<arguments.length;t++)e[t]=arguments[t];var i=self,s=o&&!l;clearTimeout(l),l=setTimeout(function(){l=null,o||n.apply(i,e);},a),s&&n.apply(i,e);}},t.isValueInArrayOfObjects=function(e,t,i){if(!Array.isArray(e))return e[t]===i;for(var s=0,n=e;s<n.length;s++){var a=n[s];if(a&&a[t]&&a[t]===i)return !0}return !1},t.highlight=function(e,t,i){var s=e,n=new RegExp("("+t.trim()+")(?![^<]*>[^<>]*</)","i");if(!e.match(n))return e;var a=e.match(n).index,o=a+e.match(n)[0].toString().length,l=e.substring(a,o);return s=s.replace(n,'<mark class="'+i+'">'+l+"</mark>")},t.kebabCase=function(e){var t=e.replace(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g,function(e){return "-"+e.toLowerCase()});return e[0]===e[0].toUpperCase()?t.substring(1):t},"function"!=typeof(n=window).CustomEvent&&(s.prototype=n.Event.prototype,n.CustomEvent=s);},function(e,t,i){t.__esModule=!0;var s=(n.prototype.newOption=function(e){return {id:e.id?e.id:String(Math.floor(1e8*Math.random())),value:e.value?e.value:"",text:e.text?e.text:"",innerHTML:e.innerHTML?e.innerHTML:"",selected:!!e.selected&&e.selected,display:void 0===e.display||e.display,disabled:!!e.disabled&&e.disabled,placeholder:!!e.placeholder&&e.placeholder,class:e.class?e.class:void 0,data:e.data?e.data:{},mandatory:!!e.mandatory&&e.mandatory}},n.prototype.add=function(e){this.data.push({id:String(Math.floor(1e8*Math.random())),value:e.value,text:e.text,innerHTML:"",selected:!1,display:!0,disabled:!1,placeholder:!1,class:void 0,mandatory:e.mandatory,data:{}});},n.prototype.parseSelectData=function(){this.data=[];for(var e=0,t=this.main.select.element.childNodes;e<t.length;e++){var i=t[e];if("OPTGROUP"===i.nodeName){for(var s={label:i.label,options:[]},n=0,a=i.childNodes;n<a.length;n++){var o=a[n];if("OPTION"===o.nodeName){var l=this.pullOptionData(o);s.options.push(l),l.placeholder&&""!==l.text.trim()&&(this.main.config.placeholderText=l.text);}}this.data.push(s);}else "OPTION"===i.nodeName&&(l=this.pullOptionData(i),this.data.push(l),l.placeholder&&""!==l.text.trim()&&(this.main.config.placeholderText=l.text));}},n.prototype.pullOptionData=function(e){return {id:!!e.dataset&&e.dataset.id||String(Math.floor(1e8*Math.random())),value:e.value,text:e.text,innerHTML:e.innerHTML,selected:e.selected,disabled:e.disabled,placeholder:"true"===e.dataset.placeholder,class:e.className,style:e.style.cssText,data:e.dataset,mandatory:!!e.dataset&&"true"===e.dataset.mandatory}},n.prototype.setSelectedFromSelect=function(){if(this.main.config.isMultiple){for(var e=[],t=0,i=this.main.select.element.options;t<i.length;t++){var s=i[t];if(s.selected){var n=this.getObjectFromData(s.value,"value");n&&n.id&&e.push(n.id);}}this.setSelected(e,"id");}else {var a=this.main.select.element;if(-1!==a.selectedIndex){var o=a.options[a.selectedIndex].value;this.setSelected(o,"value");}}},n.prototype.setSelected=function(e,t){void 0===t&&(t="id");for(var i=0,s=this.data;i<s.length;i++){var n=s[i];if(n.hasOwnProperty("label")){if(n.hasOwnProperty("options")){var a=n.options;if(a)for(var o=0,l=a;o<l.length;o++){var r=l[o];r.placeholder||(r.selected=this.shouldBeSelected(r,e,t));}}}else n.selected=this.shouldBeSelected(n,e,t);}},n.prototype.shouldBeSelected=function(e,t,i){if(void 0===i&&(i="id"),Array.isArray(t))for(var s=0,n=t;s<n.length;s++){var a=n[s];if(i in e&&String(e[i])===String(a))return !0}else if(i in e&&String(e[i])===String(t))return !0;return !1},n.prototype.getSelected=function(){for(var e={text:"",placeholder:this.main.config.placeholderText},t=[],i=0,s=this.data;i<s.length;i++){var n=s[i];if(n.hasOwnProperty("label")){if(n.hasOwnProperty("options")){var a=n.options;if(a)for(var o=0,l=a;o<l.length;o++){var r=l[o];r.selected&&(this.main.config.isMultiple?t.push(r):e=r);}}}else n.selected&&(this.main.config.isMultiple?t.push(n):e=n);}return this.main.config.isMultiple?t:e},n.prototype.addToSelected=function(e,t){if(void 0===t&&(t="id"),this.main.config.isMultiple){var i=[],s=this.getSelected();if(Array.isArray(s))for(var n=0,a=s;n<a.length;n++){var o=a[n];i.push(o[t]);}i.push(e),this.setSelected(i,t);}},n.prototype.removeFromSelected=function(e,t){if(void 0===t&&(t="id"),this.main.config.isMultiple){for(var i=[],s=0,n=this.getSelected();s<n.length;s++){var a=n[s];String(a[t])!==String(e)&&i.push(a[t]);}this.setSelected(i,t);}},n.prototype.onDataChange=function(){this.main.onChange&&this.isOnChangeEnabled&&this.main.onChange(JSON.parse(JSON.stringify(this.getSelected())));},n.prototype.getObjectFromData=function(e,t){void 0===t&&(t="id");for(var i=0,s=this.data;i<s.length;i++){var n=s[i];if(t in n&&String(n[t])===String(e))return n;if(n.hasOwnProperty("options")&&n.options)for(var a=0,o=n.options;a<o.length;a++){var l=o[a];if(String(l[t])===String(e))return l}}return null},n.prototype.search=function(n){if(""!==(this.searchValue=n).trim()){var a=this.main.config.searchFilter,e=this.data.slice(0);n=n.trim();var t=e.map(function(e){if(e.hasOwnProperty("options")){var t=e,i=[];if(t.options&&(i=t.options.filter(function(e){return a(e,n)})),0!==i.length){var s=Object.assign({},t);return s.options=i,s}}return e.hasOwnProperty("text")&&a(e,n)?e:null});this.filtered=t.filter(function(e){return e});}else this.filtered=null;},n);function n(e){this.contentOpen=!1,this.contentPosition="below",this.isOnChangeEnabled=!0,this.main=e.main,this.searchValue="",this.data=[],this.filtered=null,this.parseSelectData(),this.setSelectedFromSelect();}function r(e){return void 0!==e.text||(console.error("Data object option must have at least have a text value. Check object: "+JSON.stringify(e)),!1)}t.Data=s,t.validateData=function(e){if(!e)return console.error("Data must be an array of objects"),!1;for(var t=0,i=0,s=e;i<s.length;i++){var n=s[i];if(n.hasOwnProperty("label")){if(n.hasOwnProperty("options")){var a=n.options;if(a)for(var o=0,l=a;o<l.length;o++){r(l[o])||t++;}}}else r(n)||t++;}return 0===t},t.validateOption=r;},function(e,t,i){t.__esModule=!0;var s=i(3),n=i(4),a=i(5),r=i(1),o=i(0),l=(c.prototype.validate=function(e){var t="string"==typeof e.select?document.querySelector(e.select):e.select;if(!t)throw new Error("Could not find select element");if("SELECT"!==t.tagName)throw new Error("Element isnt of type select");return t},c.prototype.selected=function(){if(this.config.isMultiple){for(var e=[],t=0,i=n=this.data.getSelected();t<i.length;t++){var s=i[t];e.push(s.value);}return e}var n;return (n=this.data.getSelected())?n.value:""},c.prototype.set=function(e,t,i,s){void 0===t&&(t="value"),void 0===i&&(i=!0),this.config.isMultiple&&!Array.isArray(e)?this.data.addToSelected(e,t):this.data.setSelected(e,t),this.select.setValue(),this.data.onDataChange(),this.render(),i&&this.close();},c.prototype.setSelected=function(e,t,i,s){void 0===t&&(t="value"),void 0===i&&(i=!0),void 0===s&&(s=!0),this.set(e,t,i,s);},c.prototype.setData=function(e){if(r.validateData(e)){for(var t=JSON.parse(JSON.stringify(e)),i=this.data.getSelected(),s=0;s<t.length;s++)t[s].value||t[s].placeholder||(t[s].value=t[s].text);if(this.config.isAjax&&i)if(this.config.isMultiple)for(var n=0,a=i.reverse();n<a.length;n++){var o=a[n];t.unshift(o);}else {for(t.unshift(i),s=0;s<t.length;s++)t[s].placeholder||t[s].value!==i.value||t[s].text!==i.text||delete t[s];var l=!1;for(s=0;s<t.length;s++)t[s].placeholder&&(l=!0);l||t.unshift({text:"",placeholder:!0});}this.select.create(t),this.data.parseSelectData(),this.data.setSelectedFromSelect();}else console.error("Validation problem on: #"+this.select.element.id);},c.prototype.addData=function(e){r.validateData([e])?(this.data.add(this.data.newOption(e)),this.select.create(this.data.data),this.data.parseSelectData(),this.data.setSelectedFromSelect(),this.render()):console.error("Validation problem on: #"+this.select.element.id);},c.prototype.open=function(){var e=this;if(this.config.isEnabled&&!this.data.contentOpen){if(this.beforeOpen&&this.beforeOpen(),this.config.isMultiple&&this.slim.multiSelected?this.slim.multiSelected.plus.classList.add("ss-cross"):this.slim.singleSelected&&(this.slim.singleSelected.arrowIcon.arrow.classList.remove("arrow-down"),this.slim.singleSelected.arrowIcon.arrow.classList.add("arrow-up")),this.slim[this.config.isMultiple?"multiSelected":"singleSelected"].container.classList.add("above"===this.data.contentPosition?this.config.openAbove:this.config.openBelow),this.config.addToBody){var t=this.slim.container.getBoundingClientRect();this.slim.content.style.top=t.top+t.height+window.scrollY+"px",this.slim.content.style.left=t.left+window.scrollX+"px",this.slim.content.style.width=t.width+"px";}if(this.slim.content.classList.add(this.config.open),"up"===this.config.showContent.toLowerCase()||"down"!==this.config.showContent.toLowerCase()&&"above"===o.putContent(this.slim.content,this.data.contentPosition,this.data.contentOpen)?this.moveContentAbove():this.moveContentBelow(),!this.config.isMultiple){var i=this.data.getSelected();if(i){var s=i.id,n=this.slim.list.querySelector('[data-id="'+s+'"]');n&&o.ensureElementInView(this.slim.list,n);}}setTimeout(function(){e.data.contentOpen=!0,e.config.searchFocus&&e.slim.search.input.focus(),e.afterOpen&&e.afterOpen();},this.config.timeoutDelay);}},c.prototype.close=function(){var e=this;this.data.contentOpen&&(this.beforeClose&&this.beforeClose(),this.config.isMultiple&&this.slim.multiSelected?(this.slim.multiSelected.container.classList.remove(this.config.openAbove),this.slim.multiSelected.container.classList.remove(this.config.openBelow),this.slim.multiSelected.plus.classList.remove("ss-cross")):this.slim.singleSelected&&(this.slim.singleSelected.container.classList.remove(this.config.openAbove),this.slim.singleSelected.container.classList.remove(this.config.openBelow),this.slim.singleSelected.arrowIcon.arrow.classList.add("arrow-down"),this.slim.singleSelected.arrowIcon.arrow.classList.remove("arrow-up")),this.slim.content.classList.remove(this.config.open),this.data.contentOpen=!1,this.search(""),setTimeout(function(){e.slim.content.removeAttribute("style"),e.data.contentPosition="below",e.config.isMultiple&&e.slim.multiSelected?(e.slim.multiSelected.container.classList.remove(e.config.openAbove),e.slim.multiSelected.container.classList.remove(e.config.openBelow)):e.slim.singleSelected&&(e.slim.singleSelected.container.classList.remove(e.config.openAbove),e.slim.singleSelected.container.classList.remove(e.config.openBelow)),e.slim.search.input.blur(),e.afterClose&&e.afterClose();},this.config.timeoutDelay));},c.prototype.moveContentAbove=function(){var e=0;this.config.isMultiple&&this.slim.multiSelected?e=this.slim.multiSelected.container.offsetHeight:this.slim.singleSelected&&(e=this.slim.singleSelected.container.offsetHeight);var t=e+this.slim.content.offsetHeight-1;this.slim.content.style.margin="-"+t+"px 0 0 0",this.slim.content.style.height=t-e+1+"px",this.slim.content.style.transformOrigin="center bottom",this.data.contentPosition="above",this.config.isMultiple&&this.slim.multiSelected?(this.slim.multiSelected.container.classList.remove(this.config.openBelow),this.slim.multiSelected.container.classList.add(this.config.openAbove)):this.slim.singleSelected&&(this.slim.singleSelected.container.classList.remove(this.config.openBelow),this.slim.singleSelected.container.classList.add(this.config.openAbove));},c.prototype.moveContentBelow=function(){this.data.contentPosition="below",this.config.isMultiple&&this.slim.multiSelected?(this.slim.multiSelected.container.classList.remove(this.config.openAbove),this.slim.multiSelected.container.classList.add(this.config.openBelow)):this.slim.singleSelected&&(this.slim.singleSelected.container.classList.remove(this.config.openAbove),this.slim.singleSelected.container.classList.add(this.config.openBelow));},c.prototype.enable=function(){this.config.isEnabled=!0,this.config.isMultiple&&this.slim.multiSelected?this.slim.multiSelected.container.classList.remove(this.config.disabled):this.slim.singleSelected&&this.slim.singleSelected.container.classList.remove(this.config.disabled),this.select.triggerMutationObserver=!1,this.select.element.disabled=!1,this.slim.search.input.disabled=!1,this.select.triggerMutationObserver=!0;},c.prototype.disable=function(){this.config.isEnabled=!1,this.config.isMultiple&&this.slim.multiSelected?this.slim.multiSelected.container.classList.add(this.config.disabled):this.slim.singleSelected&&this.slim.singleSelected.container.classList.add(this.config.disabled),this.select.triggerMutationObserver=!1,this.select.element.disabled=!0,this.slim.search.input.disabled=!0,this.select.triggerMutationObserver=!0;},c.prototype.search=function(t){if(this.data.searchValue!==t)if(this.slim.search.input.value=t,this.config.isAjax){var i=this;this.config.isSearching=!0,this.render(),this.ajax&&this.ajax(t,function(e){i.config.isSearching=!1,Array.isArray(e)?(e.unshift({text:"",placeholder:!0}),i.setData(e),i.data.search(t),i.render()):"string"==typeof e?i.slim.options(e):i.render();});}else this.data.search(t),this.render();},c.prototype.setSearchText=function(e){this.config.searchText=e;},c.prototype.render=function(){this.config.isMultiple?this.slim.values():(this.slim.placeholder(),this.slim.deselect()),this.slim.options();},c.prototype.destroy=function(e){void 0===e&&(e=null);var t=e?document.querySelector("."+e+".ss-main"):this.slim.container,i=e?document.querySelector("[data-ssid="+e+"]"):this.select.element;if(t&&i&&(document.removeEventListener("click",this.documentClick),"auto"===this.config.showContent&&window.removeEventListener("scroll",this.windowScroll,!1),i.style.display="",delete i.dataset.ssid,i.slim=null,t.parentElement&&t.parentElement.removeChild(t),this.config.addToBody)){var s=e?document.querySelector("."+e+".ss-content"):this.slim.content;if(!s)return;document.body.removeChild(s);}},c);function c(e){var t=this;this.ajax=null,this.addable=null,this.beforeOnChange=null,this.onChange=null,this.beforeOpen=null,this.afterOpen=null,this.beforeClose=null,this.afterClose=null,this.windowScroll=o.debounce(function(e){t.data.contentOpen&&("above"===o.putContent(t.slim.content,t.data.contentPosition,t.data.contentOpen)?t.moveContentAbove():t.moveContentBelow());}),this.documentClick=function(e){e.target&&!o.hasClassInTree(e.target,t.config.id)&&t.close();};var i=this.validate(e);i.dataset.ssid&&this.destroy(i.dataset.ssid),e.ajax&&(this.ajax=e.ajax),e.addable&&(this.addable=e.addable),this.config=new s.Config({select:i,isAjax:!!e.ajax,showSearch:e.showSearch,searchPlaceholder:e.searchPlaceholder,searchText:e.searchText,searchingText:e.searchingText,searchFocus:e.searchFocus,searchHighlight:e.searchHighlight,searchFilter:e.searchFilter,closeOnSelect:e.closeOnSelect,showContent:e.showContent,placeholderText:e.placeholder,allowDeselect:e.allowDeselect,allowDeselectOption:e.allowDeselectOption,hideSelectedOption:e.hideSelectedOption,deselectLabel:e.deselectLabel,isEnabled:e.isEnabled,valuesUseText:e.valuesUseText,showOptionTooltips:e.showOptionTooltips,selectByGroup:e.selectByGroup,limit:e.limit,timeoutDelay:e.timeoutDelay,addToBody:e.addToBody}),this.select=new n.Select({select:i,main:this}),this.data=new r.Data({main:this}),this.slim=new a.Slim({main:this}),this.select.element.parentNode&&this.select.element.parentNode.insertBefore(this.slim.container,this.select.element.nextSibling),e.data?this.setData(e.data):this.render(),document.addEventListener("click",this.documentClick),"auto"===this.config.showContent&&window.addEventListener("scroll",this.windowScroll,!1),e.beforeOnChange&&(this.beforeOnChange=e.beforeOnChange),e.onChange&&(this.onChange=e.onChange),e.beforeOpen&&(this.beforeOpen=e.beforeOpen),e.afterOpen&&(this.afterOpen=e.afterOpen),e.beforeClose&&(this.beforeClose=e.beforeClose),e.afterClose&&(this.afterClose=e.afterClose),this.config.isEnabled||this.disable();}t.default=l;},function(e,t,i){t.__esModule=!0;var s=(n.prototype.searchFilter=function(e,t){return -1!==e.text.toLowerCase().indexOf(t.toLowerCase())},n);function n(e){this.id="",this.isMultiple=!1,this.isAjax=!1,this.isSearching=!1,this.showSearch=!0,this.searchFocus=!0,this.searchHighlight=!1,this.closeOnSelect=!0,this.showContent="auto",this.searchPlaceholder="Search",this.searchText="No Results",this.searchingText="Searching...",this.placeholderText="Select Value",this.allowDeselect=!1,this.allowDeselectOption=!1,this.hideSelectedOption=!1,this.deselectLabel="x",this.isEnabled=!0,this.valuesUseText=!1,this.showOptionTooltips=!1,this.selectByGroup=!1,this.limit=0,this.timeoutDelay=200,this.addToBody=!1,this.main="ss-main",this.singleSelected="ss-single-selected",this.arrow="ss-arrow",this.multiSelected="ss-multi-selected",this.add="ss-add",this.plus="ss-plus",this.values="ss-values",this.value="ss-value",this.valueText="ss-value-text",this.valueDelete="ss-value-delete",this.content="ss-content",this.open="ss-open",this.openAbove="ss-open-above",this.openBelow="ss-open-below",this.search="ss-search",this.searchHighlighter="ss-search-highlight",this.addable="ss-addable",this.list="ss-list",this.optgroup="ss-optgroup",this.optgroupLabel="ss-optgroup-label",this.optgroupLabelSelectable="ss-optgroup-label-selectable",this.option="ss-option",this.optionSelected="ss-option-selected",this.highlighted="ss-highlighted",this.disabled="ss-disabled",this.hide="ss-hide",this.id="ss-"+Math.floor(1e5*Math.random()),this.style=e.select.style.cssText,this.class=e.select.className.split(" "),this.isMultiple=e.select.multiple,this.isAjax=e.isAjax,this.showSearch=!1!==e.showSearch,this.searchFocus=!1!==e.searchFocus,this.searchHighlight=!0===e.searchHighlight,this.closeOnSelect=!1!==e.closeOnSelect,e.showContent&&(this.showContent=e.showContent),this.isEnabled=!1!==e.isEnabled,e.searchPlaceholder&&(this.searchPlaceholder=e.searchPlaceholder),e.searchText&&(this.searchText=e.searchText),e.searchingText&&(this.searchingText=e.searchingText),e.placeholderText&&(this.placeholderText=e.placeholderText),this.allowDeselect=!0===e.allowDeselect,this.allowDeselectOption=!0===e.allowDeselectOption,this.hideSelectedOption=!0===e.hideSelectedOption,e.deselectLabel&&(this.deselectLabel=e.deselectLabel),e.valuesUseText&&(this.valuesUseText=e.valuesUseText),e.showOptionTooltips&&(this.showOptionTooltips=e.showOptionTooltips),e.selectByGroup&&(this.selectByGroup=e.selectByGroup),e.limit&&(this.limit=e.limit),e.searchFilter&&(this.searchFilter=e.searchFilter),null!=e.timeoutDelay&&(this.timeoutDelay=e.timeoutDelay),this.addToBody=!0===e.addToBody;}t.Config=s;},function(e,t,i){t.__esModule=!0;var s=i(0),n=(a.prototype.setValue=function(){if(this.main.data.getSelected()){if(this.main.config.isMultiple)for(var e=this.main.data.getSelected(),t=0,i=this.element.options;t<i.length;t++){var s=i[t];s.selected=!1;for(var n=0,a=e;n<a.length;n++)a[n].value===s.value&&(s.selected=!0);}else e=this.main.data.getSelected(),this.element.value=e?e.value:"";this.main.data.isOnChangeEnabled=!1,this.element.dispatchEvent(new CustomEvent("change",{bubbles:!0})),this.main.data.isOnChangeEnabled=!0;}},a.prototype.addAttributes=function(){this.element.tabIndex=-1,this.element.style.display="none",this.element.dataset.ssid=this.main.config.id;},a.prototype.addEventListeners=function(){var t=this;this.element.addEventListener("change",function(e){t.main.data.setSelectedFromSelect(),t.main.render();});},a.prototype.addMutationObserver=function(){var t=this;this.main.config.isAjax||(this.mutationObserver=new MutationObserver(function(e){t.triggerMutationObserver&&(t.main.data.parseSelectData(),t.main.data.setSelectedFromSelect(),t.main.render(),e.forEach(function(e){"class"===e.attributeName&&t.main.slim.updateContainerDivClass(t.main.slim.container);}));}),this.observeMutationObserver());},a.prototype.observeMutationObserver=function(){this.mutationObserver&&this.mutationObserver.observe(this.element,{attributes:!0,childList:!0,characterData:!0});},a.prototype.disconnectMutationObserver=function(){this.mutationObserver&&this.mutationObserver.disconnect();},a.prototype.create=function(e){this.element.innerHTML="";for(var t=0,i=e;t<i.length;t++){var s=i[t];if(s.hasOwnProperty("options")){var n=s,a=document.createElement("optgroup");if(a.label=n.label,n.options)for(var o=0,l=n.options;o<l.length;o++){var r=l[o];a.appendChild(this.createOption(r));}this.element.appendChild(a);}else this.element.appendChild(this.createOption(s));}},a.prototype.createOption=function(t){var i=document.createElement("option");return i.value=""!==t.value?t.value:t.text,i.innerHTML=t.innerHTML||t.text,t.selected&&(i.selected=t.selected),!1===t.display&&(i.style.display="none"),t.disabled&&(i.disabled=!0),t.placeholder&&i.setAttribute("data-placeholder","true"),t.mandatory&&i.setAttribute("data-mandatory","true"),t.class&&t.class.split(" ").forEach(function(e){i.classList.add(e);}),t.data&&"object"==typeof t.data&&Object.keys(t.data).forEach(function(e){i.setAttribute("data-"+s.kebabCase(e),t.data[e]);}),i},a);function a(e){this.triggerMutationObserver=!0,this.element=e.select,this.main=e.main,this.element.disabled&&(this.main.config.isEnabled=!1),this.addAttributes(),this.addEventListeners(),this.mutationObserver=null,this.addMutationObserver(),this.element.slim=e.main;}t.Select=n;},function(e,t,i){t.__esModule=!0;var a=i(0),o=i(1),s=(n.prototype.containerDiv=function(){var e=document.createElement("div");return e.style.cssText=this.main.config.style,this.updateContainerDivClass(e),e},n.prototype.updateContainerDivClass=function(e){this.main.config.class=this.main.select.element.className.split(" "),e.className="",e.classList.add(this.main.config.id),e.classList.add(this.main.config.main);for(var t=0,i=this.main.config.class;t<i.length;t++){var s=i[t];""!==s.trim()&&e.classList.add(s);}},n.prototype.singleSelectedDiv=function(){var t=this,e=document.createElement("div");e.classList.add(this.main.config.singleSelected);var i=document.createElement("span");i.classList.add("placeholder"),e.appendChild(i);var s=document.createElement("span");s.innerHTML=this.main.config.deselectLabel,s.classList.add("ss-deselect"),s.onclick=function(e){e.stopPropagation(),t.main.config.isEnabled&&t.main.set("");},e.appendChild(s);var n=document.createElement("span");n.classList.add(this.main.config.arrow);var a=document.createElement("span");return a.classList.add("arrow-down"),n.appendChild(a),e.appendChild(n),e.onclick=function(){t.main.config.isEnabled&&(t.main.data.contentOpen?t.main.close():t.main.open());},{container:e,placeholder:i,deselect:s,arrowIcon:{container:n,arrow:a}}},n.prototype.placeholder=function(){var e=this.main.data.getSelected();if(null===e||e&&e.placeholder){var t=document.createElement("span");t.classList.add(this.main.config.disabled),t.innerHTML=this.main.config.placeholderText,this.singleSelected&&(this.singleSelected.placeholder.innerHTML=t.outerHTML);}else {var i="";e&&(i=e.innerHTML&&!0!==this.main.config.valuesUseText?e.innerHTML:e.text),this.singleSelected&&(this.singleSelected.placeholder.innerHTML=e?i:"");}},n.prototype.deselect=function(){if(this.singleSelected){if(!this.main.config.allowDeselect)return void this.singleSelected.deselect.classList.add("ss-hide");""===this.main.selected()?this.singleSelected.deselect.classList.add("ss-hide"):this.singleSelected.deselect.classList.remove("ss-hide");}},n.prototype.multiSelectedDiv=function(){var t=this,e=document.createElement("div");e.classList.add(this.main.config.multiSelected);var i=document.createElement("div");i.classList.add(this.main.config.values),e.appendChild(i);var s=document.createElement("div");s.classList.add(this.main.config.add);var n=document.createElement("span");return n.classList.add(this.main.config.plus),n.onclick=function(e){t.main.data.contentOpen&&(t.main.close(),e.stopPropagation());},s.appendChild(n),e.appendChild(s),e.onclick=function(e){t.main.config.isEnabled&&(e.target.classList.contains(t.main.config.valueDelete)||(t.main.data.contentOpen?t.main.close():t.main.open()));},{container:e,values:i,add:s,plus:n}},n.prototype.values=function(){if(this.multiSelected){for(var e,t=this.multiSelected.values.childNodes,i=this.main.data.getSelected(),s=[],n=0,a=t;n<a.length;n++){var o=a[n];e=!0;for(var l=0,r=i;l<r.length;l++){var c=r[l];String(c.id)===String(o.dataset.id)&&(e=!1);}e&&s.push(o);}for(var d=0,h=s;d<h.length;d++){var u=h[d];u.classList.add("ss-out"),this.multiSelected.values.removeChild(u);}for(t=this.multiSelected.values.childNodes,c=0;c<i.length;c++){e=!1;for(var p=0,m=t;p<m.length;p++)o=m[p],String(i[c].id)===String(o.dataset.id)&&(e=!0);e||(0!==t.length&&HTMLElement.prototype.insertAdjacentElement?0===c?this.multiSelected.values.insertBefore(this.valueDiv(i[c]),t[c]):t[c-1].insertAdjacentElement("afterend",this.valueDiv(i[c])):this.multiSelected.values.appendChild(this.valueDiv(i[c])));}if(0===i.length){var f=document.createElement("span");f.classList.add(this.main.config.disabled),f.innerHTML=this.main.config.placeholderText,this.multiSelected.values.innerHTML=f.outerHTML;}}},n.prototype.valueDiv=function(a){var o=this,e=document.createElement("div");e.classList.add(this.main.config.value),e.dataset.id=a.id;var t=document.createElement("span");if(t.classList.add(this.main.config.valueText),t.innerHTML=a.innerHTML&&!0!==this.main.config.valuesUseText?a.innerHTML:a.text,e.appendChild(t),!a.mandatory){var i=document.createElement("span");i.classList.add(this.main.config.valueDelete),i.innerHTML=this.main.config.deselectLabel,i.onclick=function(e){e.preventDefault(),e.stopPropagation();var t=!1;if(o.main.beforeOnChange||(t=!0),o.main.beforeOnChange){for(var i=o.main.data.getSelected(),s=JSON.parse(JSON.stringify(i)),n=0;n<s.length;n++)s[n].id===a.id&&s.splice(n,1);!1!==o.main.beforeOnChange(s)&&(t=!0);}t&&(o.main.data.removeFromSelected(a.id,"id"),o.main.render(),o.main.select.setValue(),o.main.data.onDataChange());},e.appendChild(i);}return e},n.prototype.contentDiv=function(){var e=document.createElement("div");return e.classList.add(this.main.config.content),e},n.prototype.searchDiv=function(){var n=this,e=document.createElement("div"),s=document.createElement("input"),a=document.createElement("div");e.classList.add(this.main.config.search);var t={container:e,input:s};return this.main.config.showSearch||(e.classList.add(this.main.config.hide),s.readOnly=!0),s.type="search",s.placeholder=this.main.config.searchPlaceholder,s.tabIndex=0,s.setAttribute("aria-label",this.main.config.searchPlaceholder),s.setAttribute("autocapitalize","off"),s.setAttribute("autocomplete","off"),s.setAttribute("autocorrect","off"),s.onclick=function(e){setTimeout(function(){""===e.target.value&&n.main.search("");},10);},s.onkeydown=function(e){"ArrowUp"===e.key?(n.main.open(),n.highlightUp(),e.preventDefault()):"ArrowDown"===e.key?(n.main.open(),n.highlightDown(),e.preventDefault()):"Tab"===e.key?n.main.data.contentOpen?n.main.close():setTimeout(function(){n.main.close();},n.main.config.timeoutDelay):"Enter"===e.key&&e.preventDefault();},s.onkeyup=function(e){var t=e.target;if("Enter"===e.key){if(n.main.addable&&e.ctrlKey)return a.click(),e.preventDefault(),void e.stopPropagation();var i=n.list.querySelector("."+n.main.config.highlighted);i&&i.click();}else "ArrowUp"===e.key||"ArrowDown"===e.key||("Escape"===e.key?n.main.close():n.main.config.showSearch&&n.main.data.contentOpen?n.main.search(t.value):s.value="");e.preventDefault(),e.stopPropagation();},s.onfocus=function(){n.main.open();},e.appendChild(s),this.main.addable&&(a.classList.add(this.main.config.addable),a.innerHTML="+",a.onclick=function(e){if(n.main.addable){e.preventDefault(),e.stopPropagation();var t=n.search.input.value;if(""===t.trim())return void n.search.input.focus();var i=n.main.addable(t),s="";if(!i)return;"object"==typeof i?o.validateOption(i)&&(n.main.addData(i),s=i.value?i.value:i.text):(n.main.addData(n.main.data.newOption({text:i,value:i})),s=i),n.main.search(""),setTimeout(function(){n.main.set(s,"value",!1,!1);},100),n.main.config.closeOnSelect&&setTimeout(function(){n.main.close();},100);}},e.appendChild(a),t.addable=a),t},n.prototype.highlightUp=function(){var e=this.list.querySelector("."+this.main.config.highlighted),t=null;if(e)for(t=e.previousSibling;null!==t&&t.classList.contains(this.main.config.disabled);)t=t.previousSibling;else {var i=this.list.querySelectorAll("."+this.main.config.option+":not(."+this.main.config.disabled+")");t=i[i.length-1];}if(t&&t.classList.contains(this.main.config.optgroupLabel)&&(t=null),null===t){var s=e.parentNode;if(s.classList.contains(this.main.config.optgroup)&&s.previousSibling){var n=s.previousSibling.querySelectorAll("."+this.main.config.option+":not(."+this.main.config.disabled+")");n.length&&(t=n[n.length-1]);}}t&&(e&&e.classList.remove(this.main.config.highlighted),t.classList.add(this.main.config.highlighted),a.ensureElementInView(this.list,t));},n.prototype.highlightDown=function(){var e=this.list.querySelector("."+this.main.config.highlighted),t=null;if(e)for(t=e.nextSibling;null!==t&&t.classList.contains(this.main.config.disabled);)t=t.nextSibling;else t=this.list.querySelector("."+this.main.config.option+":not(."+this.main.config.disabled+")");if(null===t&&null!==e){var i=e.parentNode;i.classList.contains(this.main.config.optgroup)&&i.nextSibling&&(t=i.nextSibling.querySelector("."+this.main.config.option+":not(."+this.main.config.disabled+")"));}t&&(e&&e.classList.remove(this.main.config.highlighted),t.classList.add(this.main.config.highlighted),a.ensureElementInView(this.list,t));},n.prototype.listDiv=function(){var e=document.createElement("div");return e.classList.add(this.main.config.list),e},n.prototype.options=function(e){void 0===e&&(e="");var t,i=this.main.data.filtered||this.main.data.data;if((this.list.innerHTML="")!==e)return (t=document.createElement("div")).classList.add(this.main.config.option),t.classList.add(this.main.config.disabled),t.innerHTML=e,void this.list.appendChild(t);if(this.main.config.isAjax&&this.main.config.isSearching)return (t=document.createElement("div")).classList.add(this.main.config.option),t.classList.add(this.main.config.disabled),t.innerHTML=this.main.config.searchingText,void this.list.appendChild(t);if(0===i.length){var s=document.createElement("div");return s.classList.add(this.main.config.option),s.classList.add(this.main.config.disabled),s.innerHTML=this.main.config.searchText,void this.list.appendChild(s)}for(var n=function(e){if(e.hasOwnProperty("label")){var t=e,n=document.createElement("div");n.classList.add(c.main.config.optgroup);var i=document.createElement("div");i.classList.add(c.main.config.optgroupLabel),c.main.config.selectByGroup&&c.main.config.isMultiple&&i.classList.add(c.main.config.optgroupLabelSelectable),i.innerHTML=t.label,n.appendChild(i);var s=t.options;if(s){for(var a=0,o=s;a<o.length;a++){var l=o[a];n.appendChild(c.option(l));}if(c.main.config.selectByGroup&&c.main.config.isMultiple){var r=c;i.addEventListener("click",function(e){e.preventDefault(),e.stopPropagation();for(var t=0,i=n.children;t<i.length;t++){var s=i[t];-1!==s.className.indexOf(r.main.config.option)&&s.click();}});}}c.list.appendChild(n);}else c.list.appendChild(c.option(e));},c=this,a=0,o=i;a<o.length;a++)n(o[a]);},n.prototype.option=function(r){if(r.placeholder){var e=document.createElement("div");return e.classList.add(this.main.config.option),e.classList.add(this.main.config.hide),e}var t=document.createElement("div");t.classList.add(this.main.config.option),r.class&&r.class.split(" ").forEach(function(e){t.classList.add(e);}),r.style&&(t.style.cssText=r.style);var c=this.main.data.getSelected();t.dataset.id=r.id,this.main.config.searchHighlight&&this.main.slim&&r.innerHTML&&""!==this.main.slim.search.input.value.trim()?t.innerHTML=a.highlight(r.innerHTML,this.main.slim.search.input.value,this.main.config.searchHighlighter):r.innerHTML&&(t.innerHTML=r.innerHTML),this.main.config.showOptionTooltips&&t.textContent&&t.setAttribute("title",t.textContent);var d=this;t.addEventListener("click",function(e){e.preventDefault(),e.stopPropagation();var t=this.dataset.id;if(!0===r.selected&&d.main.config.allowDeselectOption){var i=!1;if(d.main.beforeOnChange&&d.main.config.isMultiple||(i=!0),d.main.beforeOnChange&&d.main.config.isMultiple){for(var s=d.main.data.getSelected(),n=JSON.parse(JSON.stringify(s)),a=0;a<n.length;a++)n[a].id===t&&n.splice(a,1);!1!==d.main.beforeOnChange(n)&&(i=!0);}i&&(d.main.config.isMultiple?(d.main.data.removeFromSelected(t,"id"),d.main.render(),d.main.select.setValue(),d.main.data.onDataChange()):d.main.set(""));}else {if(r.disabled||r.selected)return;if(d.main.config.limit&&Array.isArray(c)&&d.main.config.limit<=c.length)return;if(d.main.beforeOnChange){var o=void 0,l=JSON.parse(JSON.stringify(d.main.data.getObjectFromData(t)));l.selected=!0,d.main.config.isMultiple?(o=JSON.parse(JSON.stringify(c))).push(l):o=JSON.parse(JSON.stringify(l)),!1!==d.main.beforeOnChange(o)&&d.main.set(t,"id",d.main.config.closeOnSelect);}else d.main.set(t,"id",d.main.config.closeOnSelect);}});var i=c&&a.isValueInArrayOfObjects(c,"id",r.id);return (r.disabled||i)&&(t.onclick=null,d.main.config.allowDeselectOption||t.classList.add(this.main.config.disabled),d.main.config.hideSelectedOption&&t.classList.add(this.main.config.hide)),i?t.classList.add(this.main.config.optionSelected):t.classList.remove(this.main.config.optionSelected),t},n);function n(e){this.main=e.main,this.container=this.containerDiv(),this.content=this.contentDiv(),this.search=this.searchDiv(),this.list=this.listDiv(),this.options(),this.singleSelected=null,this.multiSelected=null,this.main.config.isMultiple?(this.multiSelected=this.multiSelectedDiv(),this.multiSelected&&this.container.appendChild(this.multiSelected.container)):(this.singleSelected=this.singleSelectedDiv(),this.container.appendChild(this.singleSelected.container)),this.main.config.addToBody?(this.content.classList.add(this.main.config.id),document.body.appendChild(this.content)):this.container.appendChild(this.content),this.content.appendChild(this.search.container),this.content.appendChild(this.list);}t.Slim=s;}],n.c=s,n.d=function(e,t,i){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:i});},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0});},n.t=function(t,e){if(1&e&&(t=n(t)),8&e)return t;if(4&e&&"object"==typeof t&&t&&t.__esModule)return t;var i=Object.create(null);if(n.r(i),Object.defineProperty(i,"default",{enumerable:!0,value:t}),2&e&&"string"!=typeof t)for(var s in t)n.d(i,s,function(e){return t[e]}.bind(null,s));return i},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=2).default;function n(e){if(s[e])return s[e].exports;var t=s[e]={i:e,l:!1,exports:{}};return i[e].call(t.exports,t,t.exports,n),t.l=!0,t.exports}var i,s;});var __pika_web_default_export_for_treeshaking__ = exports.SlimSelect;
1
+ var exports = {};
2
+ !function (e, t) {
3
+ "object" == typeof exports && "object" == typeof module ? module.exports = t() : "function" == typeof define && define.amd ? define([], t) : "object" == typeof exports ? exports.SlimSelect = t() : e.SlimSelect = t();
4
+ }(window, function () {
5
+ return n = {}, s.m = i = [function (e, t, i) {
6
+
7
+ function n(e, t) {
8
+ t = t || {
9
+ bubbles: !1,
10
+ cancelable: !1,
11
+ detail: void 0
12
+ };
13
+ var i = document.createEvent("CustomEvent");
14
+ return i.initCustomEvent(e, t.bubbles, t.cancelable, t.detail), i;
15
+ }
16
+ t.__esModule = !0, t.kebabCase = t.highlight = t.isValueInArrayOfObjects = t.debounce = t.putContent = t.ensureElementInView = t.hasClassInTree = void 0, t.hasClassInTree = function (e, t) {
17
+ function n(e, t) {
18
+ return t && e && e.classList && e.classList.contains(t) ? e : null;
19
+ }
20
+ return n(e, t) || function e(t, i) {
21
+ return t && t !== document ? n(t, i) ? t : e(t.parentNode, i) : null;
22
+ }(e, t);
23
+ }, t.ensureElementInView = function (e, t) {
24
+ var i = e.scrollTop + e.offsetTop,
25
+ n = i + e.clientHeight,
26
+ s = t.offsetTop,
27
+ t = s + t.clientHeight;
28
+ s < i ? e.scrollTop -= i - s : n < t && (e.scrollTop += t - n);
29
+ }, t.putContent = function (e, t, i) {
30
+ var n = e.offsetHeight,
31
+ s = e.getBoundingClientRect(),
32
+ e = i ? s.top : s.top - n,
33
+ n = i ? s.bottom : s.bottom + n;
34
+ return e <= 0 ? "below" : n >= window.innerHeight ? "above" : i ? t : "below";
35
+ }, t.debounce = function (s, a, o) {
36
+ var l;
37
+ return void 0 === a && (a = 100), void 0 === o && (o = !1), function () {
38
+ for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
39
+ var i = self,
40
+ n = o && !l;
41
+ clearTimeout(l), l = setTimeout(function () {
42
+ l = null, o || s.apply(i, e);
43
+ }, a), n && s.apply(i, e);
44
+ };
45
+ }, t.isValueInArrayOfObjects = function (e, t, i) {
46
+ if (!Array.isArray(e)) return e[t] === i;
47
+ for (var n = 0, s = e; n < s.length; n++) {
48
+ var a = s[n];
49
+ if (a && a[t] && a[t] === i) return !0;
50
+ }
51
+ return !1;
52
+ }, t.highlight = function (e, t, i) {
53
+ var n = e,
54
+ s = new RegExp("(" + t.trim() + ")(?![^<]*>[^<>]*</)", "i");
55
+ if (!e.match(s)) return e;
56
+ var a = e.match(s).index,
57
+ t = a + e.match(s)[0].toString().length,
58
+ t = e.substring(a, t);
59
+ return n = n.replace(s, '<mark class="'.concat(i, '">').concat(t, "</mark>"));
60
+ }, t.kebabCase = function (e) {
61
+ var t = e.replace(/[A-Z\u00C0-\u00D6\u00D8-\u00DE]/g, function (e) {
62
+ return "-" + e.toLowerCase();
63
+ });
64
+ return e[0] === e[0].toUpperCase() ? t.substring(1) : t;
65
+ }, "function" != typeof (t = window).CustomEvent && (n.prototype = t.Event.prototype, t.CustomEvent = n);
66
+ }, function (e, t, i) {
67
+
68
+ t.__esModule = !0, t.validateOption = t.validateData = t.Data = void 0;
69
+ var n = (s.prototype.newOption = function (e) {
70
+ return {
71
+ id: e.id || String(Math.floor(1e8 * Math.random())),
72
+ value: e.value || "",
73
+ text: e.text || "",
74
+ innerHTML: e.innerHTML || "",
75
+ selected: e.selected || !1,
76
+ display: void 0 === e.display || e.display,
77
+ disabled: e.disabled || !1,
78
+ placeholder: e.placeholder || !1,
79
+ class: e.class || void 0,
80
+ data: e.data || {},
81
+ mandatory: e.mandatory || !1
82
+ };
83
+ }, s.prototype.add = function (e) {
84
+ this.data.push({
85
+ id: String(Math.floor(1e8 * Math.random())),
86
+ value: e.value,
87
+ text: e.text,
88
+ innerHTML: "",
89
+ selected: !1,
90
+ display: !0,
91
+ disabled: !1,
92
+ placeholder: !1,
93
+ class: void 0,
94
+ mandatory: e.mandatory,
95
+ data: {}
96
+ });
97
+ }, s.prototype.parseSelectData = function () {
98
+ this.data = [];
99
+ for (var e = 0, t = this.main.select.element.childNodes; e < t.length; e++) {
100
+ var i = t[e];
101
+ if ("OPTGROUP" === i.nodeName) {
102
+ for (var n = {
103
+ label: i.label,
104
+ options: []
105
+ }, s = 0, a = i.childNodes; s < a.length; s++) {
106
+ var o,
107
+ l = a[s];
108
+ "OPTION" === l.nodeName && (o = this.pullOptionData(l), n.options.push(o), o.placeholder && "" !== o.text.trim() && (this.main.config.placeholderText = o.text));
109
+ }
110
+ this.data.push(n);
111
+ } else "OPTION" === i.nodeName && (o = this.pullOptionData(i), this.data.push(o), o.placeholder && "" !== o.text.trim() && (this.main.config.placeholderText = o.text));
112
+ }
113
+ }, s.prototype.pullOptionData = function (e) {
114
+ return {
115
+ id: !!e.dataset && e.dataset.id || String(Math.floor(1e8 * Math.random())),
116
+ value: e.value,
117
+ text: e.text,
118
+ innerHTML: e.innerHTML,
119
+ selected: e.selected,
120
+ disabled: e.disabled,
121
+ placeholder: "true" === e.dataset.placeholder,
122
+ class: e.className,
123
+ style: e.style.cssText,
124
+ data: e.dataset,
125
+ mandatory: !!e.dataset && "true" === e.dataset.mandatory
126
+ };
127
+ }, s.prototype.setSelectedFromSelect = function () {
128
+ if (this.main.config.isMultiple) {
129
+ for (var e = [], t = 0, i = this.main.select.element.options; t < i.length; t++) {
130
+ var n = i[t];
131
+ !n.selected || (n = this.getObjectFromData(n.value, "value")) && n.id && e.push(n.id);
132
+ }
133
+ this.setSelected(e, "id");
134
+ } else {
135
+ var s = this.main.select.element;
136
+ -1 !== s.selectedIndex && (s = s.options[s.selectedIndex].value, this.setSelected(s, "value"));
137
+ }
138
+ }, s.prototype.setSelected = function (e, t) {
139
+ void 0 === t && (t = "id");
140
+ for (var i = 0, n = this.data; i < n.length; i++) {
141
+ var s = n[i];
142
+ if (s.hasOwnProperty("label")) {
143
+ if (s.hasOwnProperty("options")) {
144
+ var a = s.options;
145
+ if (a) for (var o = 0, l = a; o < l.length; o++) {
146
+ var r = l[o];
147
+ r.placeholder || (r.selected = this.shouldBeSelected(r, e, t));
148
+ }
149
+ }
150
+ } else s.selected = this.shouldBeSelected(s, e, t);
151
+ }
152
+ }, s.prototype.shouldBeSelected = function (e, t, i) {
153
+ if (void 0 === i && (i = "id"), Array.isArray(t)) for (var n = 0, s = t; n < s.length; n++) {
154
+ var a = s[n];
155
+ if (i in e && String(e[i]) === String(a)) return !0;
156
+ } else if (i in e && String(e[i]) === String(t)) return !0;
157
+ return !1;
158
+ }, s.prototype.getSelected = function () {
159
+ for (var e = {
160
+ text: "",
161
+ placeholder: this.main.config.placeholderText
162
+ }, t = [], i = 0, n = this.data; i < n.length; i++) {
163
+ var s = n[i];
164
+ if (s.hasOwnProperty("label")) {
165
+ if (s.hasOwnProperty("options")) {
166
+ var a = s.options;
167
+ if (a) for (var o = 0, l = a; o < l.length; o++) {
168
+ var r = l[o];
169
+ r.selected && (this.main.config.isMultiple ? t.push(r) : e = r);
170
+ }
171
+ }
172
+ } else s.selected && (this.main.config.isMultiple ? t.push(s) : e = s);
173
+ }
174
+ return this.main.config.isMultiple ? t : e;
175
+ }, s.prototype.addToSelected = function (e, t) {
176
+ if (void 0 === t && (t = "id"), this.main.config.isMultiple) {
177
+ var i = [],
178
+ n = this.getSelected();
179
+ if (Array.isArray(n)) for (var s = 0, a = n; s < a.length; s++) {
180
+ var o = a[s];
181
+ i.push(o[t]);
182
+ }
183
+ i.push(e), this.setSelected(i, t);
184
+ }
185
+ }, s.prototype.removeFromSelected = function (e, t) {
186
+ if (void 0 === t && (t = "id"), this.main.config.isMultiple) {
187
+ for (var i = [], n = 0, s = this.getSelected(); n < s.length; n++) {
188
+ var a = s[n];
189
+ String(a[t]) !== String(e) && i.push(a[t]);
190
+ }
191
+ this.setSelected(i, t);
192
+ }
193
+ }, s.prototype.onDataChange = function () {
194
+ this.main.onChange && this.isOnChangeEnabled && this.main.onChange(JSON.parse(JSON.stringify(this.getSelected())));
195
+ }, s.prototype.getObjectFromData = function (e, t) {
196
+ void 0 === t && (t = "id");
197
+ for (var i = 0, n = this.data; i < n.length; i++) {
198
+ var s = n[i];
199
+ if (t in s && String(s[t]) === String(e)) return s;
200
+ if (s.hasOwnProperty("options")) if (s.options) for (var a = 0, o = s.options; a < o.length; a++) {
201
+ var l = o[a];
202
+ if (String(l[t]) === String(e)) return l;
203
+ }
204
+ }
205
+ return null;
206
+ }, s.prototype.search = function (n) {
207
+ var s, e;
208
+ "" !== (this.searchValue = n).trim() ? (s = this.main.config.searchFilter, e = this.data.slice(0), n = n.trim(), e = e.map(function (e) {
209
+ if (e.hasOwnProperty("options")) {
210
+ var t = e,
211
+ i = [];
212
+ if (0 !== (i = t.options ? t.options.filter(function (e) {
213
+ return s(e, n);
214
+ }) : i).length) {
215
+ t = Object.assign({}, t);
216
+ return t.options = i, t;
217
+ }
218
+ }
219
+ if (e.hasOwnProperty("text") && s(e, n)) return e;
220
+ return null;
221
+ }), this.filtered = e.filter(function (e) {
222
+ return e;
223
+ })) : this.filtered = null;
224
+ }, s);
225
+ function s(e) {
226
+ this.contentOpen = !1, this.contentPosition = "below", this.isOnChangeEnabled = !0, this.main = e.main, this.searchValue = "", this.data = [], this.filtered = null, this.parseSelectData(), this.setSelectedFromSelect();
227
+ }
228
+ function r(e) {
229
+ return void 0 !== e.text || (console.error("Data object option must have at least have a text value. Check object: " + JSON.stringify(e)), !1);
230
+ }
231
+ t.Data = n, t.validateData = function (e) {
232
+ if (!e) return console.error("Data must be an array of objects"), !1;
233
+ for (var t = 0, i = 0, n = e; i < n.length; i++) {
234
+ var s = n[i];
235
+ if (s.hasOwnProperty("label")) {
236
+ if (s.hasOwnProperty("options")) {
237
+ var a = s.options;
238
+ if (a) for (var o = 0, l = a; o < l.length; o++) r(l[o]) || t++;
239
+ }
240
+ } else r(s) || t++;
241
+ }
242
+ return 0 === t;
243
+ }, t.validateOption = r;
244
+ }, function (e, t, i) {
245
+
246
+ t.__esModule = !0;
247
+ var n = i(3),
248
+ s = i(4),
249
+ a = i(5),
250
+ r = i(1),
251
+ o = i(0),
252
+ i = (l.prototype.validate = function (e) {
253
+ e = "string" == typeof e.select ? document.querySelector(e.select) : e.select;
254
+ if (!e) throw new Error("Could not find select element");
255
+ if ("SELECT" !== e.tagName) throw new Error("Element isnt of type select");
256
+ return e;
257
+ }, l.prototype.selected = function () {
258
+ if (this.config.isMultiple) {
259
+ for (var e = [], t = 0, i = s = this.data.getSelected(); t < i.length; t++) {
260
+ var n = i[t];
261
+ e.push(n.value);
262
+ }
263
+ return e;
264
+ }
265
+ var s;
266
+ return (s = this.data.getSelected()) ? s.value : "";
267
+ }, l.prototype.set = function (e, t, i, n) {
268
+ void 0 === t && (t = "value"), void 0 === i && (i = !0), this.config.isMultiple && !Array.isArray(e) ? this.data.addToSelected(e, t) : this.data.setSelected(e, t), this.select.setValue(), this.data.onDataChange(), this.render(), (i = this.config.hideSelectedOption && this.config.isMultiple && this.data.getSelected().length === this.data.data.length ? !0 : i) && this.close();
269
+ }, l.prototype.setSelected = function (e, t, i, n) {
270
+ this.set(e, t = void 0 === t ? "value" : t, i = void 0 === i ? !0 : i, n = void 0 === n ? !0 : n);
271
+ }, l.prototype.setData = function (e) {
272
+ if ((0, r.validateData)(e)) {
273
+ for (var t = JSON.parse(JSON.stringify(e)), i = this.data.getSelected(), n = 0; n < t.length; n++) t[n].value || t[n].placeholder || (t[n].value = t[n].text);
274
+ if (this.config.isAjax && i) if (this.config.isMultiple) for (var s = 0, a = i.reverse(); s < a.length; s++) {
275
+ var o = a[s];
276
+ t.unshift(o);
277
+ } else {
278
+ t.unshift(i);
279
+ for (n = 0; n < t.length; n++) t[n].placeholder || t[n].value !== i.value || t[n].text !== i.text || t.splice(n, 1);
280
+ for (var l = !1, n = 0; n < t.length; n++) t[n].placeholder && (l = !0);
281
+ l || t.unshift({
282
+ text: "",
283
+ placeholder: !0
284
+ });
285
+ }
286
+ this.select.create(t), this.data.parseSelectData(), this.data.setSelectedFromSelect();
287
+ } else console.error("Validation problem on: #" + this.select.element.id);
288
+ }, l.prototype.addData = function (e) {
289
+ (0, r.validateData)([e]) ? (this.data.add(this.data.newOption(e)), this.select.create(this.data.data), this.data.parseSelectData(), this.data.setSelectedFromSelect(), this.render()) : console.error("Validation problem on: #" + this.select.element.id);
290
+ }, l.prototype.open = function () {
291
+ var e,
292
+ t = this;
293
+ this.config.isEnabled && (this.data.contentOpen || this.config.hideSelectedOption && this.config.isMultiple && this.data.getSelected().length === this.data.data.length || (this.beforeOpen && this.beforeOpen(), this.config.isMultiple && this.slim.multiSelected ? this.slim.multiSelected.plus.classList.add("ss-cross") : this.slim.singleSelected && (this.slim.singleSelected.arrowIcon.arrow.classList.remove("arrow-down"), this.slim.singleSelected.arrowIcon.arrow.classList.add("arrow-up")), this.slim[this.config.isMultiple ? "multiSelected" : "singleSelected"].container.classList.add("above" === this.data.contentPosition ? this.config.openAbove : this.config.openBelow), this.config.addToBody && (e = this.slim.container.getBoundingClientRect(), this.slim.content.style.top = e.top + e.height + window.scrollY + "px", this.slim.content.style.left = e.left + window.scrollX + "px", this.slim.content.style.width = e.width + "px"), this.slim.content.classList.add(this.config.open), "up" === this.config.showContent.toLowerCase() || "down" !== this.config.showContent.toLowerCase() && "above" === (0, o.putContent)(this.slim.content, this.data.contentPosition, this.data.contentOpen) ? this.moveContentAbove() : this.moveContentBelow(), this.config.isMultiple || (e = this.data.getSelected()) && (e = e.id, (e = this.slim.list.querySelector('[data-id="' + e + '"]')) && (0, o.ensureElementInView)(this.slim.list, e)), setTimeout(function () {
294
+ t.data.contentOpen = !0, t.config.searchFocus && t.slim.search.input.focus(), t.afterOpen && t.afterOpen();
295
+ }, this.config.timeoutDelay)));
296
+ }, l.prototype.close = function () {
297
+ var e = this;
298
+ this.data.contentOpen && (this.beforeClose && this.beforeClose(), this.config.isMultiple && this.slim.multiSelected ? (this.slim.multiSelected.container.classList.remove(this.config.openAbove), this.slim.multiSelected.container.classList.remove(this.config.openBelow), this.slim.multiSelected.plus.classList.remove("ss-cross")) : this.slim.singleSelected && (this.slim.singleSelected.container.classList.remove(this.config.openAbove), this.slim.singleSelected.container.classList.remove(this.config.openBelow), this.slim.singleSelected.arrowIcon.arrow.classList.add("arrow-down"), this.slim.singleSelected.arrowIcon.arrow.classList.remove("arrow-up")), this.slim.content.classList.remove(this.config.open), this.data.contentOpen = !1, this.search(""), setTimeout(function () {
299
+ e.slim.content.removeAttribute("style"), e.data.contentPosition = "below", e.config.isMultiple && e.slim.multiSelected ? (e.slim.multiSelected.container.classList.remove(e.config.openAbove), e.slim.multiSelected.container.classList.remove(e.config.openBelow)) : e.slim.singleSelected && (e.slim.singleSelected.container.classList.remove(e.config.openAbove), e.slim.singleSelected.container.classList.remove(e.config.openBelow)), e.slim.search.input.blur(), e.afterClose && e.afterClose();
300
+ }, this.config.timeoutDelay));
301
+ }, l.prototype.moveContentAbove = function () {
302
+ var e = 0;
303
+ this.config.isMultiple && this.slim.multiSelected ? e = this.slim.multiSelected.container.offsetHeight : this.slim.singleSelected && (e = this.slim.singleSelected.container.offsetHeight);
304
+ var t = e + this.slim.content.offsetHeight - 1;
305
+ this.slim.content.style.margin = "-" + t + "px 0 0 0", this.slim.content.style.height = t - e + 1 + "px", this.slim.content.style.transformOrigin = "center bottom", this.data.contentPosition = "above", this.config.isMultiple && this.slim.multiSelected ? (this.slim.multiSelected.container.classList.remove(this.config.openBelow), this.slim.multiSelected.container.classList.add(this.config.openAbove)) : this.slim.singleSelected && (this.slim.singleSelected.container.classList.remove(this.config.openBelow), this.slim.singleSelected.container.classList.add(this.config.openAbove));
306
+ }, l.prototype.moveContentBelow = function () {
307
+ this.data.contentPosition = "below", this.config.isMultiple && this.slim.multiSelected ? (this.slim.multiSelected.container.classList.remove(this.config.openAbove), this.slim.multiSelected.container.classList.add(this.config.openBelow)) : this.slim.singleSelected && (this.slim.singleSelected.container.classList.remove(this.config.openAbove), this.slim.singleSelected.container.classList.add(this.config.openBelow));
308
+ }, l.prototype.enable = function () {
309
+ this.config.isEnabled = !0, this.config.isMultiple && this.slim.multiSelected ? this.slim.multiSelected.container.classList.remove(this.config.disabled) : this.slim.singleSelected && this.slim.singleSelected.container.classList.remove(this.config.disabled), this.select.triggerMutationObserver = !1, this.select.element.disabled = !1, this.slim.search.input.disabled = !1, this.select.triggerMutationObserver = !0;
310
+ }, l.prototype.disable = function () {
311
+ this.config.isEnabled = !1, this.config.isMultiple && this.slim.multiSelected ? this.slim.multiSelected.container.classList.add(this.config.disabled) : this.slim.singleSelected && this.slim.singleSelected.container.classList.add(this.config.disabled), this.select.triggerMutationObserver = !1, this.select.element.disabled = !0, this.slim.search.input.disabled = !0, this.select.triggerMutationObserver = !0;
312
+ }, l.prototype.search = function (t) {
313
+ var i;
314
+ this.data.searchValue !== t && (this.slim.search.input.value = t, this.config.isAjax ? ((i = this).config.isSearching = !0, this.render(), this.ajax && this.ajax(t, function (e) {
315
+ i.config.isSearching = !1, Array.isArray(e) ? (e.unshift({
316
+ text: "",
317
+ placeholder: !0
318
+ }), i.setData(e), i.data.search(t), i.render()) : "string" == typeof e ? i.slim.options(e) : i.render();
319
+ })) : (this.data.search(t), this.render()));
320
+ }, l.prototype.setSearchText = function (e) {
321
+ this.config.searchText = e;
322
+ }, l.prototype.render = function () {
323
+ this.config.isMultiple ? this.slim.values() : (this.slim.placeholder(), this.slim.deselect()), this.slim.options();
324
+ }, l.prototype.destroy = function (e) {
325
+ var t = (e = void 0 === e ? null : e) ? document.querySelector("." + e + ".ss-main") : this.slim.container,
326
+ i = e ? document.querySelector("[data-ssid=".concat(e, "]")) : this.select.element;
327
+ t && i && (document.removeEventListener("click", this.documentClick), "auto" === this.config.showContent && window.removeEventListener("scroll", this.windowScroll, !1), i.style.display = "", delete i.dataset.ssid, i.slim = null, t.parentElement && t.parentElement.removeChild(t), !this.config.addToBody || (e = e ? document.querySelector("." + e + ".ss-content") : this.slim.content) && document.body.removeChild(e));
328
+ }, l);
329
+ function l(e) {
330
+ var t = this;
331
+ this.ajax = null, this.addable = null, this.beforeOnChange = null, this.onChange = null, this.beforeOpen = null, this.afterOpen = null, this.beforeClose = null, this.afterClose = null, this.windowScroll = (0, o.debounce)(function (e) {
332
+ t.data.contentOpen && ("above" === (0, o.putContent)(t.slim.content, t.data.contentPosition, t.data.contentOpen) ? t.moveContentAbove() : t.moveContentBelow());
333
+ }), this.documentClick = function (e) {
334
+ e.target && !(0, o.hasClassInTree)(e.target, t.config.id) && t.close();
335
+ };
336
+ var i = this.validate(e);
337
+ i.dataset.ssid && this.destroy(i.dataset.ssid), e.ajax && (this.ajax = e.ajax), e.addable && (this.addable = e.addable), this.config = new n.Config({
338
+ select: i,
339
+ isAjax: !!e.ajax,
340
+ showSearch: e.showSearch,
341
+ searchPlaceholder: e.searchPlaceholder,
342
+ searchText: e.searchText,
343
+ searchingText: e.searchingText,
344
+ searchFocus: e.searchFocus,
345
+ searchHighlight: e.searchHighlight,
346
+ searchFilter: e.searchFilter,
347
+ closeOnSelect: e.closeOnSelect,
348
+ showContent: e.showContent,
349
+ placeholderText: e.placeholder,
350
+ allowDeselect: e.allowDeselect,
351
+ allowDeselectOption: e.allowDeselectOption,
352
+ hideSelectedOption: e.hideSelectedOption,
353
+ deselectLabel: e.deselectLabel,
354
+ isEnabled: e.isEnabled,
355
+ valuesUseText: e.valuesUseText,
356
+ showOptionTooltips: e.showOptionTooltips,
357
+ selectByGroup: e.selectByGroup,
358
+ limit: e.limit,
359
+ timeoutDelay: e.timeoutDelay,
360
+ addToBody: e.addToBody
361
+ }), this.select = new s.Select({
362
+ select: i,
363
+ main: this
364
+ }), this.data = new r.Data({
365
+ main: this
366
+ }), this.slim = new a.Slim({
367
+ main: this
368
+ }), this.select.element.parentNode && this.select.element.parentNode.insertBefore(this.slim.container, this.select.element.nextSibling), e.data ? this.setData(e.data) : this.render(), document.addEventListener("click", this.documentClick), "auto" === this.config.showContent && window.addEventListener("scroll", this.windowScroll, !1), e.beforeOnChange && (this.beforeOnChange = e.beforeOnChange), e.onChange && (this.onChange = e.onChange), e.beforeOpen && (this.beforeOpen = e.beforeOpen), e.afterOpen && (this.afterOpen = e.afterOpen), e.beforeClose && (this.beforeClose = e.beforeClose), e.afterClose && (this.afterClose = e.afterClose), this.config.isEnabled || this.disable();
369
+ }
370
+ t.default = i;
371
+ }, function (e, t, i) {
372
+
373
+ t.__esModule = !0, t.Config = void 0;
374
+ var n = (s.prototype.searchFilter = function (e, t) {
375
+ return -1 !== e.text.toLowerCase().indexOf(t.toLowerCase());
376
+ }, s);
377
+ function s(e) {
378
+ this.id = "", this.isMultiple = !1, this.isAjax = !1, this.isSearching = !1, this.showSearch = !0, this.searchFocus = !0, this.searchHighlight = !1, this.closeOnSelect = !0, this.showContent = "auto", this.searchPlaceholder = "Search", this.searchText = "No Results", this.searchingText = "Searching...", this.placeholderText = "Select Value", this.allowDeselect = !1, this.allowDeselectOption = !1, this.hideSelectedOption = !1, this.deselectLabel = "x", this.isEnabled = !0, this.valuesUseText = !1, this.showOptionTooltips = !1, this.selectByGroup = !1, this.limit = 0, this.timeoutDelay = 200, this.addToBody = !1, this.main = "ss-main", this.singleSelected = "ss-single-selected", this.arrow = "ss-arrow", this.multiSelected = "ss-multi-selected", this.add = "ss-add", this.plus = "ss-plus", this.values = "ss-values", this.value = "ss-value", this.valueText = "ss-value-text", this.valueDelete = "ss-value-delete", this.content = "ss-content", this.open = "ss-open", this.openAbove = "ss-open-above", this.openBelow = "ss-open-below", this.search = "ss-search", this.searchHighlighter = "ss-search-highlight", this.addable = "ss-addable", this.list = "ss-list", this.optgroup = "ss-optgroup", this.optgroupLabel = "ss-optgroup-label", this.optgroupLabelSelectable = "ss-optgroup-label-selectable", this.option = "ss-option", this.optionSelected = "ss-option-selected", this.highlighted = "ss-highlighted", this.disabled = "ss-disabled", this.hide = "ss-hide", this.id = "ss-" + Math.floor(1e5 * Math.random()), this.style = e.select.style.cssText, this.class = e.select.className.split(" "), this.isMultiple = e.select.multiple, this.isAjax = e.isAjax, this.showSearch = !1 !== e.showSearch, this.searchFocus = !1 !== e.searchFocus, this.searchHighlight = !0 === e.searchHighlight, this.closeOnSelect = !1 !== e.closeOnSelect, e.showContent && (this.showContent = e.showContent), this.isEnabled = !1 !== e.isEnabled, e.searchPlaceholder && (this.searchPlaceholder = e.searchPlaceholder), e.searchText && (this.searchText = e.searchText), e.searchingText && (this.searchingText = e.searchingText), e.placeholderText && (this.placeholderText = e.placeholderText), this.allowDeselect = !0 === e.allowDeselect, this.allowDeselectOption = !0 === e.allowDeselectOption, this.hideSelectedOption = !0 === e.hideSelectedOption, e.deselectLabel && (this.deselectLabel = e.deselectLabel), e.valuesUseText && (this.valuesUseText = e.valuesUseText), e.showOptionTooltips && (this.showOptionTooltips = e.showOptionTooltips), e.selectByGroup && (this.selectByGroup = e.selectByGroup), e.limit && (this.limit = e.limit), e.searchFilter && (this.searchFilter = e.searchFilter), null != e.timeoutDelay && (this.timeoutDelay = e.timeoutDelay), this.addToBody = !0 === e.addToBody;
379
+ }
380
+ t.Config = n;
381
+ }, function (e, t, i) {
382
+
383
+ t.__esModule = !0, t.Select = void 0;
384
+ var n = i(0),
385
+ i = (s.prototype.setValue = function () {
386
+ if (this.main.data.getSelected()) {
387
+ if (this.main.config.isMultiple) for (var e = this.main.data.getSelected(), t = 0, i = this.element.options; t < i.length; t++) {
388
+ var n = i[t];
389
+ n.selected = !1;
390
+ for (var s = 0, a = e; s < a.length; s++) a[s].value === n.value && (n.selected = !0);
391
+ } else {
392
+ e = this.main.data.getSelected();
393
+ this.element.value = e ? e.value : "";
394
+ }
395
+ this.main.data.isOnChangeEnabled = !1, this.element.dispatchEvent(new CustomEvent("change", {
396
+ bubbles: !0
397
+ })), this.main.data.isOnChangeEnabled = !0;
398
+ }
399
+ }, s.prototype.addAttributes = function () {
400
+ this.element.tabIndex = -1, this.element.style.display = "none", this.element.dataset.ssid = this.main.config.id, this.element.setAttribute("aria-hidden", "true");
401
+ }, s.prototype.addEventListeners = function () {
402
+ var t = this;
403
+ this.element.addEventListener("change", function (e) {
404
+ t.main.data.setSelectedFromSelect(), t.main.render();
405
+ });
406
+ }, s.prototype.addMutationObserver = function () {
407
+ var t = this;
408
+ this.main.config.isAjax || (this.mutationObserver = new MutationObserver(function (e) {
409
+ t.triggerMutationObserver && (t.main.data.parseSelectData(), t.main.data.setSelectedFromSelect(), t.main.render(), e.forEach(function (e) {
410
+ "class" === e.attributeName && t.main.slim.updateContainerDivClass(t.main.slim.container);
411
+ }));
412
+ }), this.observeMutationObserver());
413
+ }, s.prototype.observeMutationObserver = function () {
414
+ this.mutationObserver && this.mutationObserver.observe(this.element, {
415
+ attributes: !0,
416
+ childList: !0,
417
+ characterData: !0
418
+ });
419
+ }, s.prototype.disconnectMutationObserver = function () {
420
+ this.mutationObserver && this.mutationObserver.disconnect();
421
+ }, s.prototype.create = function (e) {
422
+ this.element.innerHTML = "";
423
+ for (var t = 0, i = e; t < i.length; t++) {
424
+ var n = i[t];
425
+ if (n.hasOwnProperty("options")) {
426
+ var s = n,
427
+ a = document.createElement("optgroup");
428
+ if (a.label = s.label, s.options) for (var o = 0, l = s.options; o < l.length; o++) {
429
+ var r = l[o];
430
+ a.appendChild(this.createOption(r));
431
+ }
432
+ this.element.appendChild(a);
433
+ } else this.element.appendChild(this.createOption(n));
434
+ }
435
+ }, s.prototype.createOption = function (t) {
436
+ var i = document.createElement("option");
437
+ return i.value = "" !== t.value ? t.value : t.text, i.innerHTML = t.innerHTML || t.text, t.selected && (i.selected = t.selected), !1 === t.display && (i.style.display = "none"), t.disabled && (i.disabled = !0), t.placeholder && i.setAttribute("data-placeholder", "true"), t.mandatory && i.setAttribute("data-mandatory", "true"), t.class && t.class.split(" ").forEach(function (e) {
438
+ i.classList.add(e);
439
+ }), t.data && "object" == typeof t.data && Object.keys(t.data).forEach(function (e) {
440
+ i.setAttribute("data-" + (0, n.kebabCase)(e), t.data[e]);
441
+ }), i;
442
+ }, s);
443
+ function s(e) {
444
+ this.triggerMutationObserver = !0, this.element = e.select, this.main = e.main, this.element.disabled && (this.main.config.isEnabled = !1), this.addAttributes(), this.addEventListeners(), this.mutationObserver = null, this.addMutationObserver(), this.element.slim = e.main;
445
+ }
446
+ t.Select = i;
447
+ }, function (e, t, i) {
448
+
449
+ t.__esModule = !0, t.Slim = void 0;
450
+ var n = i(0),
451
+ o = i(1),
452
+ i = (s.prototype.containerDiv = function () {
453
+ var e = document.createElement("div");
454
+ return e.style.cssText = this.main.config.style, this.updateContainerDivClass(e), e;
455
+ }, s.prototype.updateContainerDivClass = function (e) {
456
+ this.main.config.class = this.main.select.element.className.split(" "), e.className = "", e.classList.add(this.main.config.id), e.classList.add(this.main.config.main);
457
+ for (var t = 0, i = this.main.config.class; t < i.length; t++) {
458
+ var n = i[t];
459
+ "" !== n.trim() && e.classList.add(n);
460
+ }
461
+ }, s.prototype.singleSelectedDiv = function () {
462
+ var t = this,
463
+ e = document.createElement("div");
464
+ e.classList.add(this.main.config.singleSelected);
465
+ var i = document.createElement("span");
466
+ i.classList.add("placeholder"), e.appendChild(i);
467
+ var n = document.createElement("span");
468
+ n.innerHTML = this.main.config.deselectLabel, n.classList.add("ss-deselect"), n.onclick = function (e) {
469
+ e.stopPropagation(), t.main.config.isEnabled && t.main.set("");
470
+ }, e.appendChild(n);
471
+ var s = document.createElement("span");
472
+ s.classList.add(this.main.config.arrow);
473
+ var a = document.createElement("span");
474
+ return a.classList.add("arrow-down"), s.appendChild(a), e.appendChild(s), e.onclick = function () {
475
+ t.main.config.isEnabled && (t.main.data.contentOpen ? t.main.close() : t.main.open());
476
+ }, {
477
+ container: e,
478
+ placeholder: i,
479
+ deselect: n,
480
+ arrowIcon: {
481
+ container: s,
482
+ arrow: a
483
+ }
484
+ };
485
+ }, s.prototype.placeholder = function () {
486
+ var e,
487
+ t = this.main.data.getSelected();
488
+ null === t || t && t.placeholder ? ((e = document.createElement("span")).classList.add(this.main.config.disabled), e.innerHTML = this.main.config.placeholderText, this.singleSelected && (this.singleSelected.placeholder.innerHTML = e.outerHTML)) : (e = "", t && (e = t.innerHTML && !0 !== this.main.config.valuesUseText ? t.innerHTML : t.text), this.singleSelected && (this.singleSelected.placeholder.innerHTML = t ? e : ""));
489
+ }, s.prototype.deselect = function () {
490
+ this.singleSelected && (!this.main.config.allowDeselect || "" === this.main.selected() ? this.singleSelected.deselect.classList.add("ss-hide") : this.singleSelected.deselect.classList.remove("ss-hide"));
491
+ }, s.prototype.multiSelectedDiv = function () {
492
+ var t = this,
493
+ e = document.createElement("div");
494
+ e.classList.add(this.main.config.multiSelected);
495
+ var i = document.createElement("div");
496
+ i.classList.add(this.main.config.values), e.appendChild(i);
497
+ var n = document.createElement("div");
498
+ n.classList.add(this.main.config.add);
499
+ var s = document.createElement("span");
500
+ return s.classList.add(this.main.config.plus), s.onclick = function (e) {
501
+ t.main.data.contentOpen && (t.main.close(), e.stopPropagation());
502
+ }, n.appendChild(s), e.appendChild(n), e.onclick = function (e) {
503
+ t.main.config.isEnabled && (e.target.classList.contains(t.main.config.valueDelete) || (t.main.data.contentOpen ? t.main.close() : t.main.open()));
504
+ }, {
505
+ container: e,
506
+ values: i,
507
+ add: n,
508
+ plus: s
509
+ };
510
+ }, s.prototype.values = function () {
511
+ if (this.multiSelected) {
512
+ for (var e = this.multiSelected.values.childNodes, t = this.main.data.getSelected(), i = [], n = 0, s = e; n < s.length; n++) {
513
+ for (var a = s[n], o = !0, l = 0, r = t; l < r.length; l++) {
514
+ var c = r[l];
515
+ String(c.id) === String(a.dataset.id) && (o = !1);
516
+ }
517
+ o && i.push(a);
518
+ }
519
+ for (var d = 0, h = i; d < h.length; d++) {
520
+ var u = h[d];
521
+ u.classList.add("ss-out"), this.multiSelected.values.removeChild(u);
522
+ }
523
+ for (var p, e = this.multiSelected.values.childNodes, c = 0; c < t.length; c++) {
524
+ o = !1;
525
+ for (var m = 0, f = e; m < f.length; m++) {
526
+ a = f[m];
527
+ String(t[c].id) === String(a.dataset.id) && (o = !0);
528
+ }
529
+ o || (0 !== e.length && HTMLElement.prototype.insertAdjacentElement ? 0 === c ? this.multiSelected.values.insertBefore(this.valueDiv(t[c]), e[c]) : e[c - 1].insertAdjacentElement("afterend", this.valueDiv(t[c])) : this.multiSelected.values.appendChild(this.valueDiv(t[c])));
530
+ }
531
+ 0 === t.length && ((p = document.createElement("span")).classList.add(this.main.config.disabled), p.innerHTML = this.main.config.placeholderText, this.multiSelected.values.innerHTML = p.outerHTML);
532
+ }
533
+ }, s.prototype.valueDiv = function (s) {
534
+ var a = this,
535
+ e = document.createElement("div");
536
+ e.classList.add(this.main.config.value), e.dataset.id = s.id;
537
+ var t = document.createElement("span");
538
+ return t.classList.add(this.main.config.valueText), t.innerHTML = s.innerHTML && !0 !== this.main.config.valuesUseText ? s.innerHTML : s.text, e.appendChild(t), s.mandatory || ((t = document.createElement("span")).classList.add(this.main.config.valueDelete), t.innerHTML = this.main.config.deselectLabel, t.onclick = function (e) {
539
+ e.preventDefault(), e.stopPropagation();
540
+ var t = !1;
541
+ if (a.main.beforeOnChange || (t = !0), a.main.beforeOnChange) {
542
+ for (var e = a.main.data.getSelected(), i = JSON.parse(JSON.stringify(e)), n = 0; n < i.length; n++) i[n].id === s.id && i.splice(n, 1);
543
+ !1 !== a.main.beforeOnChange(i) && (t = !0);
544
+ }
545
+ t && (a.main.data.removeFromSelected(s.id, "id"), a.main.render(), a.main.select.setValue(), a.main.data.onDataChange());
546
+ }, e.appendChild(t)), e;
547
+ }, s.prototype.contentDiv = function () {
548
+ var e = document.createElement("div");
549
+ return e.classList.add(this.main.config.content), e;
550
+ }, s.prototype.searchDiv = function () {
551
+ var n = this,
552
+ e = document.createElement("div"),
553
+ s = document.createElement("input"),
554
+ a = document.createElement("div");
555
+ e.classList.add(this.main.config.search);
556
+ var t = {
557
+ container: e,
558
+ input: s
559
+ };
560
+ return this.main.config.showSearch || (e.classList.add(this.main.config.hide), s.readOnly = !0), s.type = "search", s.placeholder = this.main.config.searchPlaceholder, s.tabIndex = 0, s.setAttribute("aria-label", this.main.config.searchPlaceholder), s.setAttribute("autocapitalize", "off"), s.setAttribute("autocomplete", "off"), s.setAttribute("autocorrect", "off"), s.onclick = function (e) {
561
+ setTimeout(function () {
562
+ "" === e.target.value && n.main.search("");
563
+ }, 10);
564
+ }, s.onkeydown = function (e) {
565
+ "ArrowUp" === e.key ? (n.main.open(), n.highlightUp(), e.preventDefault()) : "ArrowDown" === e.key ? (n.main.open(), n.highlightDown(), e.preventDefault()) : "Tab" === e.key ? n.main.data.contentOpen ? n.main.close() : setTimeout(function () {
566
+ n.main.close();
567
+ }, n.main.config.timeoutDelay) : "Enter" === e.key && e.preventDefault();
568
+ }, s.onkeyup = function (e) {
569
+ var t = e.target;
570
+ if ("Enter" === e.key) {
571
+ if (n.main.addable && e.ctrlKey) return a.click(), e.preventDefault(), void e.stopPropagation();
572
+ var i = n.list.querySelector("." + n.main.config.highlighted);
573
+ i && i.click();
574
+ } else "ArrowUp" === e.key || "ArrowDown" === e.key || ("Escape" === e.key ? n.main.close() : n.main.config.showSearch && n.main.data.contentOpen ? n.main.search(t.value) : s.value = "");
575
+ e.preventDefault(), e.stopPropagation();
576
+ }, s.onfocus = function () {
577
+ n.main.open();
578
+ }, e.appendChild(s), this.main.addable && (a.classList.add(this.main.config.addable), a.innerHTML = "+", a.onclick = function (e) {
579
+ var t;
580
+ n.main.addable && (e.preventDefault(), e.stopPropagation(), "" !== (e = n.search.input.value).trim() ? (e = n.main.addable(e), t = "", e && ("object" == typeof e ? (0, o.validateOption)(e) && (n.main.addData(e), t = e.value || e.text) : (n.main.addData(n.main.data.newOption({
581
+ text: e,
582
+ value: e
583
+ })), t = e), n.main.search(""), setTimeout(function () {
584
+ n.main.set(t, "value", !1, !1);
585
+ }, 100), n.main.config.closeOnSelect && setTimeout(function () {
586
+ n.main.close();
587
+ }, 100))) : n.search.input.focus());
588
+ }, e.appendChild(a), t.addable = a), t;
589
+ }, s.prototype.highlightUp = function () {
590
+ var e = this.list.querySelector("." + this.main.config.highlighted),
591
+ t = null;
592
+ if (e) for (t = e.previousSibling; null !== t && t.classList.contains(this.main.config.disabled);) t = t.previousSibling;else var i = this.list.querySelectorAll("." + this.main.config.option + ":not(." + this.main.config.disabled + ")"),
593
+ t = i[i.length - 1];
594
+ null !== (t = t && t.classList.contains(this.main.config.optgroupLabel) ? null : t) || (i = e.parentNode).classList.contains(this.main.config.optgroup) && (!i.previousSibling || (i = i.previousSibling.querySelectorAll("." + this.main.config.option + ":not(." + this.main.config.disabled + ")")).length && (t = i[i.length - 1])), t && (e && e.classList.remove(this.main.config.highlighted), t.classList.add(this.main.config.highlighted), (0, n.ensureElementInView)(this.list, t));
595
+ }, s.prototype.highlightDown = function () {
596
+ var e,
597
+ t = this.list.querySelector("." + this.main.config.highlighted),
598
+ i = null;
599
+ if (t) for (i = t.nextSibling; null !== i && i.classList.contains(this.main.config.disabled);) i = i.nextSibling;else i = this.list.querySelector("." + this.main.config.option + ":not(." + this.main.config.disabled + ")");
600
+ null !== i || null === t || (e = t.parentNode).classList.contains(this.main.config.optgroup) && e.nextSibling && (i = e.nextSibling.querySelector("." + this.main.config.option + ":not(." + this.main.config.disabled + ")")), i && (t && t.classList.remove(this.main.config.highlighted), i.classList.add(this.main.config.highlighted), (0, n.ensureElementInView)(this.list, i));
601
+ }, s.prototype.listDiv = function () {
602
+ var e = document.createElement("div");
603
+ return e.classList.add(this.main.config.list), e.setAttribute("role", "listbox"), e;
604
+ }, s.prototype.options = function (e) {
605
+ void 0 === e && (e = "");
606
+ var t = this.main.data.filtered || this.main.data.data;
607
+ if ((this.list.innerHTML = "") !== e) return (i = document.createElement("div")).classList.add(this.main.config.option), i.classList.add(this.main.config.disabled), i.innerHTML = e, void this.list.appendChild(i);
608
+ if (this.main.config.isAjax && this.main.config.isSearching) return (i = document.createElement("div")).classList.add(this.main.config.option), i.classList.add(this.main.config.disabled), i.innerHTML = this.main.config.searchingText, void this.list.appendChild(i);
609
+ if (0 === t.length) {
610
+ var i = document.createElement("div");
611
+ return i.classList.add(this.main.config.option), i.classList.add(this.main.config.disabled), i.innerHTML = this.main.config.searchText, void this.list.appendChild(i);
612
+ }
613
+ for (var r = this, n = 0, s = t; n < s.length; n++) !function (e) {
614
+ if (e.hasOwnProperty("label")) {
615
+ var t = e,
616
+ s = document.createElement("div");
617
+ s.classList.add(r.main.config.optgroup);
618
+ var i = document.createElement("div");
619
+ i.classList.add(r.main.config.optgroupLabel), r.main.config.selectByGroup && r.main.config.isMultiple && i.classList.add(r.main.config.optgroupLabelSelectable), i.innerHTML = t.label, s.appendChild(i);
620
+ t = t.options;
621
+ if (t) {
622
+ for (var a, n = 0, o = t; n < o.length; n++) {
623
+ var l = o[n];
624
+ s.appendChild(r.option(l));
625
+ }
626
+ r.main.config.selectByGroup && r.main.config.isMultiple && (a = r, i.addEventListener("click", function (e) {
627
+ e.preventDefault(), e.stopPropagation();
628
+ for (var t = 0, i = s.children; t < i.length; t++) {
629
+ var n = i[t];
630
+ -1 !== n.className.indexOf(a.main.config.option) && n.click();
631
+ }
632
+ }));
633
+ }
634
+ r.list.appendChild(s);
635
+ } else r.list.appendChild(r.option(e));
636
+ }(s[n]);
637
+ }, s.prototype.option = function (o) {
638
+ if (o.placeholder) {
639
+ var e = document.createElement("div");
640
+ return e.classList.add(this.main.config.option), e.classList.add(this.main.config.hide), e;
641
+ }
642
+ var t = document.createElement("div");
643
+ t.classList.add(this.main.config.option), t.setAttribute("role", "option"), o.class && o.class.split(" ").forEach(function (e) {
644
+ t.classList.add(e);
645
+ }), o.style && (t.style.cssText = o.style);
646
+ var l = this.main.data.getSelected();
647
+ t.dataset.id = o.id, this.main.config.searchHighlight && this.main.slim && o.innerHTML && "" !== this.main.slim.search.input.value.trim() ? t.innerHTML = (0, n.highlight)(o.innerHTML, this.main.slim.search.input.value, this.main.config.searchHighlighter) : o.innerHTML && (t.innerHTML = o.innerHTML), this.main.config.showOptionTooltips && t.textContent && t.setAttribute("title", t.textContent);
648
+ var r = this;
649
+ t.addEventListener("click", function (e) {
650
+ e.preventDefault(), e.stopPropagation();
651
+ var t = this.dataset.id;
652
+ if (!0 === o.selected && r.main.config.allowDeselectOption) {
653
+ var i = !1;
654
+ if (r.main.beforeOnChange && r.main.config.isMultiple || (i = !0), r.main.beforeOnChange && r.main.config.isMultiple) {
655
+ for (var n = r.main.data.getSelected(), s = JSON.parse(JSON.stringify(n)), a = 0; a < s.length; a++) s[a].id === t && s.splice(a, 1);
656
+ !1 !== r.main.beforeOnChange(s) && (i = !0);
657
+ }
658
+ i && (r.main.config.isMultiple ? (r.main.data.removeFromSelected(t, "id"), r.main.render(), r.main.select.setValue(), r.main.data.onDataChange()) : r.main.set(""));
659
+ } else o.disabled || o.selected || r.main.config.limit && Array.isArray(l) && r.main.config.limit <= l.length || (r.main.beforeOnChange ? (n = void 0, (i = JSON.parse(JSON.stringify(r.main.data.getObjectFromData(t)))).selected = !0, r.main.config.isMultiple ? (n = JSON.parse(JSON.stringify(l))).push(i) : n = JSON.parse(JSON.stringify(i)), !1 !== r.main.beforeOnChange(n) && r.main.set(t, "id", r.main.config.closeOnSelect)) : r.main.set(t, "id", r.main.config.closeOnSelect));
660
+ });
661
+ e = l && (0, n.isValueInArrayOfObjects)(l, "id", o.id);
662
+ return (o.disabled || e) && (t.onclick = null, r.main.config.allowDeselectOption || t.classList.add(this.main.config.disabled), r.main.config.hideSelectedOption && t.classList.add(this.main.config.hide)), e ? t.classList.add(this.main.config.optionSelected) : t.classList.remove(this.main.config.optionSelected), t;
663
+ }, s);
664
+ function s(e) {
665
+ this.main = e.main, this.container = this.containerDiv(), this.content = this.contentDiv(), this.search = this.searchDiv(), this.list = this.listDiv(), this.options(), this.singleSelected = null, this.multiSelected = null, this.main.config.isMultiple ? (this.multiSelected = this.multiSelectedDiv(), this.multiSelected && this.container.appendChild(this.multiSelected.container)) : (this.singleSelected = this.singleSelectedDiv(), this.container.appendChild(this.singleSelected.container)), this.main.config.addToBody ? (this.content.classList.add(this.main.config.id), document.body.appendChild(this.content)) : this.container.appendChild(this.content), this.content.appendChild(this.search.container), this.content.appendChild(this.list);
666
+ }
667
+ t.Slim = i;
668
+ }], s.c = n, s.d = function (e, t, i) {
669
+ s.o(e, t) || Object.defineProperty(e, t, {
670
+ enumerable: !0,
671
+ get: i
672
+ });
673
+ }, s.r = function (e) {
674
+ "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {
675
+ value: "Module"
676
+ }), Object.defineProperty(e, "__esModule", {
677
+ value: !0
678
+ });
679
+ }, s.t = function (t, e) {
680
+ if (1 & e && (t = s(t)), 8 & e) return t;
681
+ if (4 & e && "object" == typeof t && t && t.__esModule) return t;
682
+ var i = Object.create(null);
683
+ if (s.r(i), Object.defineProperty(i, "default", {
684
+ enumerable: !0,
685
+ value: t
686
+ }), 2 & e && "string" != typeof t) for (var n in t) s.d(i, n, function (e) {
687
+ return t[e];
688
+ }.bind(null, n));
689
+ return i;
690
+ }, s.n = function (e) {
691
+ var t = e && e.__esModule ? function () {
692
+ return e.default;
693
+ } : function () {
694
+ return e;
695
+ };
696
+ return s.d(t, "a", t), t;
697
+ }, s.o = function (e, t) {
698
+ return Object.prototype.hasOwnProperty.call(e, t);
699
+ }, s.p = "", s(s.s = 2).default;
700
+ function s(e) {
701
+ if (n[e]) return n[e].exports;
702
+ var t = n[e] = {
703
+ i: e,
704
+ l: !1,
705
+ exports: {}
706
+ };
707
+ return i[e].call(t.exports, t, t.exports, s), t.l = !0, t.exports;
708
+ }
709
+ var i, n;
710
+ });
711
+ var __pika_web_default_export_for_treeshaking__ = exports.SlimSelect;
2
712
 
3
713
  export default __pika_web_default_export_for_treeshaking__;
4
714
  //# sourceMappingURL=slim-select.js.map