solid-ui 2.4.24 → 2.4.25

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 (248) hide show
  1. package/LICENSE.md +0 -0
  2. package/README.md +0 -0
  3. package/dist/index.html +0 -0
  4. package/dist/main.js +50483 -50370
  5. package/dist/main.js.map +1 -1
  6. package/lib/acl/access-controller.d.ts +0 -0
  7. package/lib/acl/access-controller.d.ts.map +0 -0
  8. package/lib/acl/access-controller.js +90 -98
  9. package/lib/acl/access-controller.js.map +1 -1
  10. package/lib/acl/access-groups.d.ts +0 -0
  11. package/lib/acl/access-groups.d.ts.map +0 -0
  12. package/lib/acl/access-groups.js +82 -90
  13. package/lib/acl/access-groups.js.map +1 -1
  14. package/lib/acl/acl-control.d.ts +0 -0
  15. package/lib/acl/acl-control.d.ts.map +0 -0
  16. package/lib/acl/acl-control.js +50 -54
  17. package/lib/acl/acl-control.js.map +1 -1
  18. package/lib/acl/acl.d.ts +3 -3
  19. package/lib/acl/acl.d.ts.map +1 -1
  20. package/lib/acl/acl.js +13 -15
  21. package/lib/acl/acl.js.map +1 -1
  22. package/lib/acl/add-agent-buttons.d.ts +0 -0
  23. package/lib/acl/add-agent-buttons.d.ts.map +0 -0
  24. package/lib/acl/add-agent-buttons.js +142 -154
  25. package/lib/acl/add-agent-buttons.js.map +1 -1
  26. package/lib/acl/index.d.ts +0 -0
  27. package/lib/acl/index.d.ts.map +0 -0
  28. package/lib/acl/index.js +0 -0
  29. package/lib/acl/index.js.map +0 -0
  30. package/lib/acl/styles.d.ts +0 -0
  31. package/lib/acl/styles.d.ts.map +0 -0
  32. package/lib/acl/styles.js +0 -0
  33. package/lib/acl/styles.js.map +0 -0
  34. package/lib/acl/types.d.ts +6 -6
  35. package/lib/acl/types.d.ts.map +1 -1
  36. package/lib/acl/types.js +0 -0
  37. package/lib/acl/types.js.map +0 -0
  38. package/lib/chat/bookmarks.js +181 -191
  39. package/lib/chat/bookmarks.js.map +1 -1
  40. package/lib/chat/chatLogic.js +96 -104
  41. package/lib/chat/chatLogic.js.map +1 -1
  42. package/lib/chat/dateFolder.js +232 -224
  43. package/lib/chat/dateFolder.js.map +1 -1
  44. package/lib/chat/infinite.js +634 -658
  45. package/lib/chat/infinite.js.map +1 -1
  46. package/lib/chat/message.js +119 -131
  47. package/lib/chat/message.js.map +1 -1
  48. package/lib/chat/messageTools.js +106 -114
  49. package/lib/chat/messageTools.js.map +1 -1
  50. package/lib/chat/thread.js +16 -18
  51. package/lib/chat/thread.js.map +1 -1
  52. package/lib/create/create.d.ts +0 -0
  53. package/lib/create/create.d.ts.map +0 -0
  54. package/lib/create/create.js +0 -0
  55. package/lib/create/create.js.map +0 -0
  56. package/lib/create/index.d.ts +0 -0
  57. package/lib/create/index.d.ts.map +0 -0
  58. package/lib/create/index.js +0 -0
  59. package/lib/create/index.js.map +0 -0
  60. package/lib/create/types.d.ts +1 -1
  61. package/lib/create/types.d.ts.map +1 -1
  62. package/lib/create/types.js +0 -0
  63. package/lib/create/types.js.map +0 -0
  64. package/lib/debug.d.ts +0 -0
  65. package/lib/debug.d.ts.map +0 -0
  66. package/lib/debug.js +0 -0
  67. package/lib/debug.js.map +0 -0
  68. package/lib/folders.js +0 -0
  69. package/lib/folders.js.map +0 -0
  70. package/lib/footer/index.d.ts +1 -1
  71. package/lib/footer/index.d.ts.map +1 -1
  72. package/lib/footer/index.js +33 -37
  73. package/lib/footer/index.js.map +1 -1
  74. package/lib/footer/styleMap.d.ts +0 -0
  75. package/lib/footer/styleMap.d.ts.map +0 -0
  76. package/lib/footer/styleMap.js +0 -0
  77. package/lib/footer/styleMap.js.map +0 -0
  78. package/lib/header/empty-profile.d.ts +0 -0
  79. package/lib/header/empty-profile.d.ts.map +0 -0
  80. package/lib/header/empty-profile.js +0 -0
  81. package/lib/header/empty-profile.js.map +0 -0
  82. package/lib/header/index.d.ts +4 -4
  83. package/lib/header/index.d.ts.map +1 -1
  84. package/lib/header/index.js +126 -134
  85. package/lib/header/index.js.map +1 -1
  86. package/lib/header/styleMap.d.ts +0 -0
  87. package/lib/header/styleMap.d.ts.map +0 -0
  88. package/lib/header/styleMap.js +0 -0
  89. package/lib/header/styleMap.js.map +0 -0
  90. package/lib/iconBase.d.ts +0 -0
  91. package/lib/iconBase.d.ts.map +0 -0
  92. package/lib/iconBase.js +0 -0
  93. package/lib/iconBase.js.map +0 -0
  94. package/lib/icons/solid_logo.d.ts +0 -0
  95. package/lib/icons/solid_logo.d.ts.map +0 -0
  96. package/lib/icons/solid_logo.js +0 -0
  97. package/lib/icons/solid_logo.js.map +0 -0
  98. package/lib/index.d.ts +0 -0
  99. package/lib/index.d.ts.map +0 -0
  100. package/lib/index.js +0 -0
  101. package/lib/index.js.map +0 -0
  102. package/lib/jss/index.d.ts +0 -0
  103. package/lib/jss/index.d.ts.map +0 -0
  104. package/lib/jss/index.js +0 -0
  105. package/lib/jss/index.js.map +0 -0
  106. package/lib/log.d.ts +0 -0
  107. package/lib/log.d.ts.map +0 -0
  108. package/lib/log.js +0 -0
  109. package/lib/log.js.map +0 -0
  110. package/lib/login/login.d.ts +0 -0
  111. package/lib/login/login.d.ts.map +0 -0
  112. package/lib/login/login.js +470 -470
  113. package/lib/login/login.js.map +1 -1
  114. package/lib/matrix/index.d.ts +0 -0
  115. package/lib/matrix/index.d.ts.map +0 -0
  116. package/lib/matrix/index.js +0 -0
  117. package/lib/matrix/index.js.map +0 -0
  118. package/lib/matrix/matrix.d.ts +0 -0
  119. package/lib/matrix/matrix.d.ts.map +0 -0
  120. package/lib/matrix/matrix.js +0 -0
  121. package/lib/matrix/matrix.js.map +0 -0
  122. package/lib/matrix/types.d.ts +1 -1
  123. package/lib/matrix/types.d.ts.map +1 -1
  124. package/lib/matrix/types.js +0 -0
  125. package/lib/matrix/types.js.map +0 -0
  126. package/lib/media/index.d.ts +0 -0
  127. package/lib/media/index.d.ts.map +0 -0
  128. package/lib/media/index.js +0 -0
  129. package/lib/media/index.js.map +0 -0
  130. package/lib/media/media-capture.d.ts +0 -0
  131. package/lib/media/media-capture.d.ts.map +0 -0
  132. package/lib/media/media-capture.js +8 -10
  133. package/lib/media/media-capture.js.map +1 -1
  134. package/lib/messageArea.js +0 -0
  135. package/lib/messageArea.js.map +0 -0
  136. package/lib/noun_Camera_1618446_000000.js +0 -0
  137. package/lib/noun_Camera_1618446_000000.js.map +0 -0
  138. package/lib/ns.js +0 -0
  139. package/lib/ns.js.map +0 -0
  140. package/lib/pad.d.ts +1 -1
  141. package/lib/pad.d.ts.map +1 -1
  142. package/lib/pad.js +0 -0
  143. package/lib/pad.js.map +0 -0
  144. package/lib/participation.d.ts +1 -1
  145. package/lib/participation.d.ts.map +1 -1
  146. package/lib/participation.js +1 -1
  147. package/lib/participation.js.map +0 -0
  148. package/lib/preferences.js +0 -0
  149. package/lib/preferences.js.map +0 -0
  150. package/lib/signup/config-default.js +0 -0
  151. package/lib/signup/config-default.js.map +0 -0
  152. package/lib/signup/signup.js +0 -0
  153. package/lib/signup/signup.js.map +0 -0
  154. package/lib/stories/decorators.js +0 -0
  155. package/lib/stories/decorators.js.map +0 -0
  156. package/lib/style.js +0 -0
  157. package/lib/style.js.map +0 -0
  158. package/lib/style_multiSelect.js +0 -0
  159. package/lib/style_multiSelect.js.map +0 -0
  160. package/lib/table.js +0 -0
  161. package/lib/table.js.map +0 -0
  162. package/lib/tabs.d.ts +1 -1
  163. package/lib/tabs.d.ts.map +1 -1
  164. package/lib/tabs.js +0 -0
  165. package/lib/tabs.js.map +0 -0
  166. package/lib/typings.d.js +0 -0
  167. package/lib/typings.d.js.map +0 -0
  168. package/lib/utils/headerFooterHelpers.d.ts +1 -1
  169. package/lib/utils/headerFooterHelpers.d.ts.map +1 -1
  170. package/lib/utils/headerFooterHelpers.js +78 -80
  171. package/lib/utils/headerFooterHelpers.js.map +1 -1
  172. package/lib/utils/index.js +2 -6
  173. package/lib/utils/index.js.map +1 -1
  174. package/lib/utils/label.d.ts +0 -0
  175. package/lib/utils/label.d.ts.map +0 -0
  176. package/lib/utils/label.js +0 -0
  177. package/lib/utils/label.js.map +0 -0
  178. package/lib/versionInfo.d.ts +0 -0
  179. package/lib/versionInfo.d.ts.map +0 -0
  180. package/lib/versionInfo.js +13 -13
  181. package/lib/versionInfo.js.map +1 -1
  182. package/lib/widgets/buttons/iconLinks.d.ts +0 -0
  183. package/lib/widgets/buttons/iconLinks.d.ts.map +0 -0
  184. package/lib/widgets/buttons/iconLinks.js +0 -0
  185. package/lib/widgets/buttons/iconLinks.js.map +0 -0
  186. package/lib/widgets/buttons.d.ts +5 -5
  187. package/lib/widgets/buttons.d.ts.map +1 -1
  188. package/lib/widgets/buttons.js +0 -0
  189. package/lib/widgets/buttons.js.map +0 -0
  190. package/lib/widgets/dragAndDrop.js +0 -0
  191. package/lib/widgets/dragAndDrop.js.map +0 -0
  192. package/lib/widgets/error.d.ts +0 -0
  193. package/lib/widgets/error.d.ts.map +0 -0
  194. package/lib/widgets/error.js +0 -0
  195. package/lib/widgets/error.js.map +0 -0
  196. package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts +0 -0
  197. package/lib/widgets/forms/autocomplete/autocompleteBar.d.ts.map +0 -0
  198. package/lib/widgets/forms/autocomplete/autocompleteBar.js +217 -229
  199. package/lib/widgets/forms/autocomplete/autocompleteBar.js.map +1 -1
  200. package/lib/widgets/forms/autocomplete/autocompleteField.d.ts +0 -0
  201. package/lib/widgets/forms/autocomplete/autocompleteField.d.ts.map +0 -0
  202. package/lib/widgets/forms/autocomplete/autocompleteField.js +70 -74
  203. package/lib/widgets/forms/autocomplete/autocompleteField.js.map +1 -1
  204. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts +2 -2
  205. package/lib/widgets/forms/autocomplete/autocompletePicker.d.ts.map +1 -1
  206. package/lib/widgets/forms/autocomplete/autocompletePicker.js +363 -379
  207. package/lib/widgets/forms/autocomplete/autocompletePicker.js.map +1 -1
  208. package/lib/widgets/forms/autocomplete/language.d.ts +0 -0
  209. package/lib/widgets/forms/autocomplete/language.d.ts.map +0 -0
  210. package/lib/widgets/forms/autocomplete/language.js +79 -83
  211. package/lib/widgets/forms/autocomplete/language.js.map +1 -1
  212. package/lib/widgets/forms/autocomplete/publicData.d.ts +2 -2
  213. package/lib/widgets/forms/autocomplete/publicData.d.ts.map +1 -1
  214. package/lib/widgets/forms/autocomplete/publicData.js +263 -281
  215. package/lib/widgets/forms/autocomplete/publicData.js.map +1 -1
  216. package/lib/widgets/forms/basic.d.ts +0 -0
  217. package/lib/widgets/forms/basic.d.ts.map +0 -0
  218. package/lib/widgets/forms/basic.js +0 -0
  219. package/lib/widgets/forms/basic.js.map +0 -0
  220. package/lib/widgets/forms/comment.d.ts +0 -0
  221. package/lib/widgets/forms/comment.d.ts.map +0 -0
  222. package/lib/widgets/forms/comment.js +0 -0
  223. package/lib/widgets/forms/comment.js.map +0 -0
  224. package/lib/widgets/forms/fieldFunction.d.ts +1 -1
  225. package/lib/widgets/forms/fieldFunction.d.ts.map +1 -1
  226. package/lib/widgets/forms/fieldFunction.js +1 -3
  227. package/lib/widgets/forms/fieldFunction.js.map +1 -1
  228. package/lib/widgets/forms/fieldParams.d.ts +1 -1
  229. package/lib/widgets/forms/fieldParams.d.ts.map +1 -1
  230. package/lib/widgets/forms/fieldParams.js +0 -0
  231. package/lib/widgets/forms/fieldParams.js.map +0 -0
  232. package/lib/widgets/forms/formStyle.d.ts +0 -0
  233. package/lib/widgets/forms/formStyle.d.ts.map +0 -0
  234. package/lib/widgets/forms/formStyle.js +0 -0
  235. package/lib/widgets/forms/formStyle.js.map +0 -0
  236. package/lib/widgets/forms.js +197 -225
  237. package/lib/widgets/forms.js.map +1 -1
  238. package/lib/widgets/index.js +0 -0
  239. package/lib/widgets/index.js.map +0 -0
  240. package/lib/widgets/multiSelect.js +4 -4
  241. package/lib/widgets/multiSelect.js.map +1 -1
  242. package/lib/widgets/peoplePicker.js +0 -0
  243. package/lib/widgets/peoplePicker.js.map +0 -0
  244. package/lib/widgets/widgetHelpers.d.ts +0 -0
  245. package/lib/widgets/widgetHelpers.d.ts.map +0 -0
  246. package/lib/widgets/widgetHelpers.js +0 -0
  247. package/lib/widgets/widgetHelpers.js.map +0 -0
  248. package/package.json +34 -31
File without changes
File without changes
@@ -167,7 +167,7 @@ var IconicMultiSelect = /*#__PURE__*/function () {
167
167
  key: "_clearSelection",
168
168
  value: function _clearSelection() {
169
169
  var _this2 = this;
170
- var _loop = function _loop(i) {
170
+ var _loop = function _loop() {
171
171
  var option = _this2._selectedOptions[i];
172
172
  var target = _this2._domElements.options.find(function (el) {
173
173
  return el.dataset.value === option.value;
@@ -177,7 +177,7 @@ var IconicMultiSelect = /*#__PURE__*/function () {
177
177
  _this2._removeOptionFromList(target.dataset.value);
178
178
  };
179
179
  for (var i = 0; i < this._selectedOptions.length; i++) {
180
- _loop(i);
180
+ _loop();
181
181
  }
182
182
  this._selectedOptions = [];
183
183
  this._handleClearSelectionBtn();
@@ -506,7 +506,7 @@ var IconicMultiSelect = /*#__PURE__*/function () {
506
506
  value: function _initSelectedList() {
507
507
  var _this5 = this;
508
508
  var hasItemsSelected = false;
509
- var _loop2 = function _loop2(i) {
509
+ var _loop2 = function _loop2() {
510
510
  var option = _this5._options[i];
511
511
  if (option.selected) {
512
512
  hasItemsSelected = true;
@@ -520,7 +520,7 @@ var IconicMultiSelect = /*#__PURE__*/function () {
520
520
  }
521
521
  };
522
522
  for (var i = 0; i < this._options.length; i++) {
523
- _loop2(i);
523
+ _loop2();
524
524
  }
525
525
  if (hasItemsSelected) {
526
526
  this._handleClearSelectionBtn();
@@ -1 +1 @@
1
- {"version":3,"file":"multiSelect.js","names":["IconicMultiSelect","data","itemTemplate","noData","noResults","placeholder","select","container","tagTemplate","textField","valueField","_data","_itemTemplate","_noData","_noResults","_placeholder","_select","_selectContainer","_tagTemplate","_textField","_valueField","nodeName","length","Error","_options","_getDataFromSettings","_getDataFromSelectTag","_renderMultiselect","_renderOptionsList","_domElements","clear","_multiselect","querySelector","input","optionsContainer","optionsContainerList","options","list","querySelectorAll","find","callbackFn","i","node","undefined","some","_enableEventListenners","_initSelectedList","callback","_event","option","index","html","style","multiselect__selected","value","_processTemplate","text","multiselect__remove_btn","_cross","insertAdjacentHTML","removeBtn","lastElementChild","addEventListener","target","el","dataset","_handleOption","_selectedOptions","classList","remove","setAttribute","multiselect__options","_removeOptionFromList","_handleClearSelectionBtn","_handlePlaceholder","_dispatchEvent","action","selection","_filterOptions","_removeAllArrowSelected","event","document","contains","_closeList","_clearSelection","add","multiselect__options_visible","e","_handleArrows","_handleBackspace","_handleEnter","isOpen","valueLowerCase","toLowerCase","textContent","substring","appendChild","parentNode","removeChild","hasResults","_showNoResults","result","characters","charactersLength","charAt","Math","floor","random","arr","item","push","selected","hasAttribute","isValueFieldValid","isTextFieldValid","keyCode","preventDefault","firstElementChild","multiselect__options_ul_li_arrow_selected","scrollIntoView","ArrowUp","Up","ArrowDown","Down","multiselect__options_ul_li","key","children","_scrollIntoView","lastSelectedOption","targetLastSelectedOption","display","dispatchEvent","splice","multiselect__options_selected","_addOptionToList","hasItemsSelected","template","processedTemplate","objAttr","match","map","replace","attr","className","optionDom","multiselect__options_ul","join","_showNoData","id","_generateId","createElement","multiselect__container","multiselect__wrapper","multiselect__input","multiselect__clear_btn","innerHTML","parent","child","rectParent","getBoundingClientRect","rectChild","top","bottom","offsetHeight","scrollTop","clientHeight","offsetTop","condition","multiselect__options_ul_p_multiselect__options_no_data","dom","multiselect__options_ul_p_multiselect__options_no_results"],"sources":["../../src/widgets/multiSelect.js"],"sourcesContent":["/*\n * IconicMultiSelect v0.7.0\n * Licence: MIT\n * (c) 2021 Sidney Wimart.\n * repo & configuration: https://github.com/sidneywm/iconic-multiselect\n */\n\n/**\n * @version IconicMultiSelect v0.7.0\n * @licence MIT\n */\nimport * as style from '../style_multiSelect'\n\nexport class IconicMultiSelect {\n _data\n _domElements\n _event = () => {}\n _itemTemplate\n _multiselect\n _noData\n _noResults\n _options = []\n _placeholder\n _select\n _selectContainer\n _selectedOptions = []\n _tagTemplate\n _textField\n _valueField\n _cross = `\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6.2253 4.81108C5.83477 4.42056 5.20161 4.42056 4.81108 4.81108C4.42056 5.20161 4.42056 5.83477 4.81108 6.2253L10.5858 12L4.81114 17.7747C4.42062 18.1652 4.42062 18.7984 4.81114 19.1889C5.20167 19.5794 5.83483 19.5794 6.22535 19.1889L12 13.4142L17.7747 19.1889C18.1652 19.5794 18.7984 19.5794 19.1889 19.1889C19.5794 18.7984 19.5794 18.1652 19.1889 17.7747L13.4142 12L19.189 6.2253C19.5795 5.83477 19.5795 5.20161 19.189 4.81108C18.7985 4.42056 18.1653 4.42056 17.7748 4.81108L12 10.5858L6.2253 4.81108Z\"\n fill=\"currentColor\"\n />\n </svg>\n `\n\n /**\n * Iconic Multiselect constructor.\n * @param { Object[] } data - Array of objects.\n * @param { string } noData - Defines the message when there is no data input.\n * @param { string } noResults - Defines the message when there is no result if options are filtered.\n * @param { string } placeholder - Defines the placeholder's text.\n * @param { string } select - DOM element to be selected. It must be a HTML Select tag - https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select\n * @param { string } textField - Field to select in the object for the text.\n * @param { string } valueField - Field to select in the object for the value.\n */\n constructor ({ data, itemTemplate, noData, noResults, placeholder, select, container, tagTemplate, textField, valueField }) {\n this._data = data ?? []\n this._itemTemplate = itemTemplate ?? null\n this._noData = noData ?? 'No data found.'\n this._noResults = noResults ?? 'No results found.'\n this._placeholder = placeholder ?? 'Select...'\n this._select = select\n // Timea added a container here\n this._selectContainer = container\n this._tagTemplate = tagTemplate ?? null\n this._textField = textField ?? null\n this._valueField = valueField ?? null\n }\n\n /**\n * Initialize the Iconic Multiselect component.\n * @public\n */\n init () {\n // Timea change to use this._select instead of this._selectContainer\n if (this._select && this._select.nodeName === 'SELECT') {\n if (this._itemTemplate && this._data.length === 0) { throw new Error('itemTemplate must be initialized with data from the component settings') }\n if (this._tagTemplate && this._data.length === 0) { throw new Error('tagTemplate must be initialized with data from the component settings') }\n\n this._options = this._data.length > 0 ? this._getDataFromSettings() : this._getDataFromSelectTag()\n\n this._renderMultiselect()\n this._renderOptionsList()\n\n this._domElements = {\n clear: this._multiselect.querySelector('.multiselect__clear-btn'),\n input: this._multiselect.querySelector('.multiselect__input'),\n optionsContainer: this._multiselect.querySelector('.multiselect__options'),\n optionsContainerList: this._multiselect.querySelector('.multiselect__options > ul'),\n options: {\n list: this._multiselect.querySelectorAll('.multiselect__options > ul > li'),\n find: function (callbackFn) {\n for (let i = 0; i < this.list.length; i++) {\n const node = this.list[i]\n if (callbackFn(node)) return node\n }\n return undefined\n },\n some: function (callbackFn) {\n for (let i = 0; i < this.list.length; i++) {\n const node = this.list[i]\n if (callbackFn(node, i)) return true\n }\n return false\n }\n }\n }\n\n this._enableEventListenners()\n this._initSelectedList()\n } else {\n throw new Error(`The selector '${this._select}' did not select any valid select tag.`)\n }\n }\n\n /**\n * Subscribes to the emitted events.\n * @param { Function } callback - Callback function which emits a custom event object.\n * @public\n */\n subscribe (callback) {\n if (typeof callback === 'function') {\n this._event = callback\n } else {\n throw new Error('parameter in the subscribe method is not a function')\n }\n }\n\n /**\n * Add an option to the selection list.\n * @param { Object: { text: string; value: string; }} option\n * @private\n */\n _addOptionToList (option, index) {\n const html = `<span class=\"multiselect__selected\" style=\"${style.multiselect__selected}\" data-value=\"${option.value}\">${\n this._tagTemplate ? this._processTemplate(this._tagTemplate, index) : option.text\n }<span class=\"multiselect__remove-btn\" style=\"${style.multiselect__remove_btn}\">${this._cross}</span></span>`\n\n this._domElements.input.insertAdjacentHTML('beforebegin', html)\n\n const { lastElementChild: removeBtn } = this._multiselect.querySelector(`span[data-value=\"${option.value}\"]`)\n removeBtn.addEventListener('click', () => {\n const target = this._domElements.options.find((el) => el.dataset.value === option.value)\n this._handleOption(target)\n })\n }\n\n /**\n * Clears all selected options.\n * @private\n */\n _clearSelection () {\n for (let i = 0; i < this._selectedOptions.length; i++) {\n const option = this._selectedOptions[i]\n const target = this._domElements.options.find((el) => el.dataset.value === option.value)\n target.classList.remove('multiselect__options--selected')\n target.setAttribute('style', style.multiselect__options)\n this._removeOptionFromList(target.dataset.value)\n }\n this._selectedOptions = []\n this._handleClearSelectionBtn()\n this._handlePlaceholder()\n this._dispatchEvent({\n action: 'CLEAR_ALL_OPTIONS',\n selection: this._selectedOptions\n })\n }\n\n /**\n * Close the options container.\n * @private\n */\n _closeList () {\n this._domElements.input.value = ''\n this._domElements.optionsContainer.classList.remove('visible')\n this._domElements.optionsContainer.setAttribute('style', style.multiselect__options)\n this._filterOptions('')\n this._removeAllArrowSelected()\n }\n\n /**\n * Dispatches new events.\n * @param { object : { action: string; selection: { option: string; text: string; }[]; value?: string; } } event\n * @private\n */\n _dispatchEvent (event) {\n this._event(event)\n }\n\n /**\n * Enables all main event listenners.\n * @private\n */\n _enableEventListenners () {\n document.addEventListener('mouseup', ({ target }) => {\n if (!this._multiselect.contains(target)) {\n this._filterOptions('')\n this._closeList()\n this._handlePlaceholder()\n }\n })\n\n this._domElements.clear.addEventListener('click', () => {\n this._clearSelection()\n })\n\n for (let i = 0; i < this._domElements.options.list.length; i++) {\n const option = this._domElements.options.list[i]\n option.addEventListener('click', ({ target }) => {\n this._handleOption(target)\n this._closeList()\n })\n }\n\n this._domElements.input.addEventListener('focus', () => {\n this._domElements.optionsContainer.classList.add('visible')\n this._domElements.optionsContainer.setAttribute('style', style.multiselect__options_visible)\n })\n\n this._domElements.input.addEventListener('input', ({ target: { value } }) => {\n if (this._domElements.options.list.length > 0) {\n this._filterOptions(value)\n }\n })\n\n this._domElements.input.addEventListener('keydown', (e) => {\n this._handleArrows(e)\n this._handleBackspace(e)\n this._handleEnter(e)\n })\n }\n\n /**\n * Filters user input.\n * @param { string } value\n * @private\n */\n _filterOptions (value) {\n const isOpen = this._domElements.optionsContainer.classList.contains('visible')\n const valueLowerCase = value.toLowerCase()\n\n if (!isOpen && value.length > 0) {\n this._domElements.optionsContainer.classList.add('visible')\n this._domElements.optionsContainer.setAttribute('style', style.multiselect__options_visible)\n }\n\n if (this._domElements.options.list.length > 0) {\n for (let i = 0; i < this._domElements.options.list.length; i++) {\n const el = this._domElements.options.list[i]\n const text = this._itemTemplate ? this._data[i][this._textField] : el.textContent\n\n if (text.toLowerCase().substring(0, valueLowerCase.length) === valueLowerCase) {\n this._domElements.optionsContainerList.appendChild(el)\n } else {\n el.parentNode && el.parentNode.removeChild(el)\n }\n }\n\n const hasResults = this._domElements.options.some(\n (el, index) =>\n (this._itemTemplate ? this._data[index][this._textField] : el.textContent)\n .toLowerCase()\n .substring(0, valueLowerCase.length) === valueLowerCase\n )\n this._showNoResults(!hasResults)\n }\n }\n\n _generateId (length) {\n let result = ''\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'\n const charactersLength = characters.length\n for (let i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength))\n }\n return result\n }\n\n /**\n * Gets data from select tag.\n * @private\n */\n _getDataFromSelectTag () {\n const arr = []\n const { options } = this._select\n for (let i = 0; i < options.length; i++) {\n const item = options[i]\n arr.push({\n text: item.text,\n value: item.value,\n selected: item.hasAttribute('selected')\n })\n }\n return arr\n }\n\n /**\n * Gets data from settings.\n * @private\n */\n _getDataFromSettings () {\n if (this._data.length > 0 && this._valueField && this._textField) {\n const isValueFieldValid = typeof this._valueField === 'string'\n const isTextFieldValid = typeof this._textField === 'string'\n const arr = []\n\n if (!isValueFieldValid || !isTextFieldValid) {\n throw new Error('textField and valueField must be of type string')\n }\n\n for (let i = 0; i < this._data.length; i++) {\n const item = this._data[i]\n arr.push({\n value: item[this._valueField],\n text: item[this._textField],\n selected: typeof item.selected === 'boolean' ? item.selected : false\n })\n }\n return arr\n } else {\n return null\n }\n }\n\n /**\n * Handles Arrow up & Down. Selection of an option is also possible with these keys.\n * @param { Event } event\n * @private\n */\n _handleArrows (event) {\n if (event.keyCode === 40 || event.keyCode === 38) {\n event.preventDefault()\n const isOpen = this._domElements.optionsContainer.classList.contains('visible')\n // An updated view of the container is needed because of the filtering option\n const optionsContainerList = this._multiselect.querySelector('.multiselect__options > ul')\n\n if (!isOpen) {\n this._domElements.optionsContainer.classList.add('visible')\n this._domElements.optionsContainer.setAttribute('style', style.multiselect__options_visible)\n optionsContainerList.firstElementChild.classList.add('arrow-selected')\n optionsContainerList.firstElementChild.setAttribute('style', style.multiselect__options_ul_li_arrow_selected)\n optionsContainerList.firstElementChild.scrollIntoView(false)\n } else {\n let selected = this._multiselect.querySelector('.multiselect__options ul li.arrow-selected')\n const action = {\n ArrowUp: 'previous',\n Up: 'previous',\n ArrowDown: 'next',\n Down: 'next'\n }\n\n if (!selected) {\n optionsContainerList.firstElementChild.classList.add('arrow-selected')\n optionsContainerList.firstElementChild.setAttribute('style', style.multiselect__options_ul_li_arrow_selected)\n optionsContainerList.firstElementChild.scrollIntoView(false)\n return\n }\n\n selected.classList.remove('arrow-selected')\n selected.setAttribute('style', style.multiselect__options_ul_li)\n\n selected = selected[action[event.key] + 'ElementSibling']\n\n // Go to start or end of the popup list\n if (!selected) {\n selected =\n optionsContainerList.children[action[event.key] === 'next' ? 0 : optionsContainerList.children.length - 1]\n selected.classList.add('arrow-selected')\n selected.setAttribute('style', style.multiselect__options_ul_li_arrow_selected)\n this._scrollIntoView(optionsContainerList, selected)\n return\n }\n\n selected.classList.add('arrow-selected')\n selected.setAttribute('style', style.multiselect__options_ul_li_arrow_selected)\n this._scrollIntoView(optionsContainerList, selected)\n }\n }\n }\n\n /**\n * Handles the backspace key event - Deletes the preceding option in the selection list.\n * @param { Event } e\n * @private\n */\n _handleBackspace (e) {\n if (e.keyCode === 8 && e.target.value === '') {\n const lastSelectedOption =\n this._selectedOptions.length > 0 ? this._selectedOptions[this._selectedOptions.length - 1] : null\n\n if (lastSelectedOption) {\n const targetLastSelectedOption = this._multiselect.querySelector(\n `li[data-value=\"${lastSelectedOption.value}\"]`\n )\n this._handleOption(targetLastSelectedOption)\n\n if (this._selectedOptions.length === 0) {\n this._domElements.optionsContainer.classList.remove('visible')\n this._domElements.optionsContainer.setAttribute('style', style.multiselect__options)\n }\n }\n }\n }\n\n /**\n * Shows clear selection button if some options are selected.\n * @private\n */\n _handleClearSelectionBtn () {\n if (this._selectedOptions.length > 0) {\n this._domElements.clear.style.display = 'flex'\n } else {\n this._domElements.clear.style.display = 'none'\n }\n }\n\n /**\n * Handles the enter key event.\n * @param { Event } event\n * @private\n */\n _handleEnter (event) {\n if (event.keyCode === 13) {\n const selected = this._multiselect.querySelector('.multiselect__options ul li.arrow-selected')\n if (selected) {\n this._handleOption(selected)\n this._closeList()\n }\n }\n }\n\n _handleOption (target, dispatchEvent = true) {\n // Remove\n for (let i = 0; i < this._selectedOptions.length; i++) {\n const el = this._selectedOptions[i]\n if (el.value === target.dataset.value) {\n target.classList.remove('multiselect__options--selected')\n target.setAttribute('style', style.multiselect__options)\n this._selectedOptions.splice(i, 1)\n this._removeOptionFromList(target.dataset.value)\n this._handleClearSelectionBtn()\n this._handlePlaceholder()\n\n return (\n dispatchEvent &&\n this._dispatchEvent({\n action: 'REMOVE_OPTION',\n value: target.dataset.value,\n selection: this._selectedOptions\n })\n )\n }\n }\n\n // Add\n for (let i = 0; i < this._options.length; i++) {\n const option = this._options[i]\n if (option.value === target.dataset.value) {\n target.classList.add('multiselect__options--selected')\n target.setAttribute('style', style.multiselect__options_selected)\n this._selectedOptions = [...this._selectedOptions, option]\n this._addOptionToList(option, i)\n this._handleClearSelectionBtn()\n this._handlePlaceholder()\n\n return (\n dispatchEvent &&\n this._dispatchEvent({\n action: 'ADD_OPTION',\n value: target.dataset.value,\n selection: this._selectedOptions\n })\n )\n }\n }\n }\n\n /**\n * Shows the placeholder if no options are selected.\n * @private\n */\n _handlePlaceholder () {\n this._domElements.input.placeholder = this._placeholder\n }\n\n _initSelectedList () {\n let hasItemsSelected = false\n\n for (let i = 0; i < this._options.length; i++) {\n const option = this._options[i]\n if (option.selected) {\n hasItemsSelected = true\n const target = this._domElements.options.find((el) => el.dataset.value === option.value)\n target.classList.add('multiselect__options--selected')\n target.setAttribute('style', style.multiselect__options_selected)\n this._selectedOptions = [...this._selectedOptions, option]\n this._addOptionToList(option, i)\n }\n }\n\n if (hasItemsSelected) { this._handleClearSelectionBtn() }\n this._handlePlaceholder()\n }\n\n /**\n * Process the custom template.\n * @param { string } template\n * @private\n */\n _processTemplate (template, index) {\n let processedTemplate = template\n const objAttr = template.match(/\\$\\{(\\w+)\\}/g).map((e) => e.replace(/\\$\\{|\\}/g, ''))\n\n for (let i = 0; i < objAttr.length; i++) {\n const attr = objAttr[i]\n // eslint-disable-next-line no-useless-escape\n processedTemplate = processedTemplate.replace(`\\$\\{${attr}\\}`, this._data[index][attr] ?? '')\n }\n\n return processedTemplate\n }\n\n _removeAllArrowSelected () {\n const className = 'arrow-selected'\n const target = this._domElements.options.find((el) => el.classList.contains(className))\n target && target.classList.remove(className) && target.setAttribute('style', style.multiselect__options_ul_li)\n }\n\n /**\n * Removes an option from the list.\n * @param { string } value\n * @private\n */\n _removeOptionFromList (value) {\n const optionDom = this._multiselect.querySelector(`span[data-value=\"${value}\"]`)\n optionDom && optionDom.parentNode && optionDom.parentNode.removeChild(optionDom)\n }\n\n /**\n * Renders the multiselect options list view.\n * @private\n */\n _renderOptionsList () {\n const html = `\n <div class=\"multiselect__options\" style=\"${style.multiselect__options}\">\n <ul style=\"${style.multiselect__options_ul}\">\n ${\n this._options.length > 0 && !this._itemTemplate\n ? this._options\n .map((option) => {\n return `\n <li data-value=\"${option.value}\" style=\"${style.multiselect__options_ul_li}\">${option.text}</li>\n `\n })\n .join('')\n : ''\n }\n\n ${\n this._options.length > 0 && this._itemTemplate\n ? this._options\n .map((option, index) => {\n return `\n <li data-value=\"${option.value}\" style=\"${style.multiselect__options_ul_li}\">${this._processTemplate(this._itemTemplate, index)}</li>\n `\n })\n .join('')\n : ''\n }\n ${this._showNoData(this._options.length === 0)}\n </ul>\n </div>\n `\n\n this._multiselect.insertAdjacentHTML('beforeend', html)\n }\n\n /**\n * Renders the multiselect view.\n * @private\n */\n _renderMultiselect () {\n this._select.style.display = 'none'\n const id = 'iconic-' + this._generateId(20)\n // Timea created dedicated div element because previous code was not rendering\n this._multiselect = document.createElement('div')\n this._multiselect.setAttribute('id', id)\n this._multiselect.setAttribute('class', 'multiselect__container')\n this._multiselect.setAttribute('style', style.multiselect__container)\n const html = `\n <div class=\"multiselect__wrapper\" style=\"${style.multiselect__wrapper}\">\n <input class=\"multiselect__input\" style=\"${style.multiselect__input}\" placeholder=\"${this._placeholder}\" />\n </div>\n <span style=\"display: none;\" class=\"multiselect__clear-btn\" style=\"${style.multiselect__clear_btn}\">${this._cross}</span>\n `\n this._multiselect.innerHTML = html\n this._selectContainer.appendChild(this._multiselect)\n }\n\n /**\n * ScrollIntoView - This small utility reproduces the behavior of .scrollIntoView({ block: \"nearest\", inline: \"nearest\" })\n * This is for IE compatibility without a need of a polyfill\n * @private\n */\n _scrollIntoView (parent, child) {\n const rectParent = parent.getBoundingClientRect()\n const rectChild = child.getBoundingClientRect()\n\n // Detect if not visible at top and then scroll to the top\n if (!(rectParent.top < rectChild.bottom - child.offsetHeight)) {\n parent.scrollTop = child.clientHeight + (child.offsetTop - child.offsetHeight)\n }\n\n // Detect if not visible at bottom and then scroll to the bottom\n if (!(rectParent.bottom > rectChild.top + child.offsetHeight)) {\n parent.scrollTop =\n child.clientHeight +\n (child.offsetTop - child.offsetHeight) -\n (parent.offsetHeight - (child.offsetHeight + (child.offsetHeight - child.clientHeight)))\n }\n }\n\n /**\n * Shows a no data message.\n * @param { boolean } condition\n * @private\n */\n _showNoData (condition) {\n return condition ? `<p class=\"multiselect__options--no-data\" style=\"${style.multiselect__options_ul_p_multiselect__options_no_data}\">${this._noData}</p>` : ''\n }\n\n /**\n * Shows a no results message.\n * @param { boolean } condition\n * @private\n */\n _showNoResults (condition) {\n const dom = this._multiselect.querySelector('.multiselect__options--no-results')\n if (condition) {\n const html = `<p class=\"multiselect__options--no-results\" style=\"${style.multiselect__options_ul_p_multiselect__options_no_results}\">${this._noResults}</p>`\n !dom && this._domElements.optionsContainerList.insertAdjacentHTML('beforeend', html)\n } else {\n dom && dom.parentNode && dom.parentNode.removeChild(dom)\n }\n }\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"multiSelect.js","names":["IconicMultiSelect","data","itemTemplate","noData","noResults","placeholder","select","container","tagTemplate","textField","valueField","_data","_itemTemplate","_noData","_noResults","_placeholder","_select","_selectContainer","_tagTemplate","_textField","_valueField","nodeName","length","Error","_options","_getDataFromSettings","_getDataFromSelectTag","_renderMultiselect","_renderOptionsList","_domElements","clear","_multiselect","querySelector","input","optionsContainer","optionsContainerList","options","list","querySelectorAll","find","callbackFn","i","node","undefined","some","_enableEventListenners","_initSelectedList","callback","_event","option","index","html","style","multiselect__selected","value","_processTemplate","text","multiselect__remove_btn","_cross","insertAdjacentHTML","removeBtn","lastElementChild","addEventListener","target","el","dataset","_handleOption","_selectedOptions","classList","remove","setAttribute","multiselect__options","_removeOptionFromList","_handleClearSelectionBtn","_handlePlaceholder","_dispatchEvent","action","selection","_filterOptions","_removeAllArrowSelected","event","document","contains","_closeList","_clearSelection","add","multiselect__options_visible","e","_handleArrows","_handleBackspace","_handleEnter","isOpen","valueLowerCase","toLowerCase","textContent","substring","appendChild","parentNode","removeChild","hasResults","_showNoResults","result","characters","charactersLength","charAt","Math","floor","random","arr","item","push","selected","hasAttribute","isValueFieldValid","isTextFieldValid","keyCode","preventDefault","firstElementChild","multiselect__options_ul_li_arrow_selected","scrollIntoView","ArrowUp","Up","ArrowDown","Down","multiselect__options_ul_li","key","children","_scrollIntoView","lastSelectedOption","targetLastSelectedOption","display","dispatchEvent","splice","multiselect__options_selected","_addOptionToList","hasItemsSelected","template","processedTemplate","objAttr","match","map","replace","attr","className","optionDom","multiselect__options_ul","join","_showNoData","id","_generateId","createElement","multiselect__container","multiselect__wrapper","multiselect__input","multiselect__clear_btn","innerHTML","parent","child","rectParent","getBoundingClientRect","rectChild","top","bottom","offsetHeight","scrollTop","clientHeight","offsetTop","condition","multiselect__options_ul_p_multiselect__options_no_data","dom","multiselect__options_ul_p_multiselect__options_no_results"],"sources":["../../src/widgets/multiSelect.js"],"sourcesContent":["/*\n * IconicMultiSelect v0.7.0\n * Licence: MIT\n * (c) 2021 Sidney Wimart.\n * repo & configuration: https://github.com/sidneywm/iconic-multiselect\n */\n\n/**\n * @version IconicMultiSelect v0.7.0\n * @licence MIT\n */\nimport * as style from '../style_multiSelect'\n\nexport class IconicMultiSelect {\n _data\n _domElements\n _event = () => {}\n _itemTemplate\n _multiselect\n _noData\n _noResults\n _options = []\n _placeholder\n _select\n _selectContainer\n _selectedOptions = []\n _tagTemplate\n _textField\n _valueField\n _cross = `\n <svg\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M6.2253 4.81108C5.83477 4.42056 5.20161 4.42056 4.81108 4.81108C4.42056 5.20161 4.42056 5.83477 4.81108 6.2253L10.5858 12L4.81114 17.7747C4.42062 18.1652 4.42062 18.7984 4.81114 19.1889C5.20167 19.5794 5.83483 19.5794 6.22535 19.1889L12 13.4142L17.7747 19.1889C18.1652 19.5794 18.7984 19.5794 19.1889 19.1889C19.5794 18.7984 19.5794 18.1652 19.1889 17.7747L13.4142 12L19.189 6.2253C19.5795 5.83477 19.5795 5.20161 19.189 4.81108C18.7985 4.42056 18.1653 4.42056 17.7748 4.81108L12 10.5858L6.2253 4.81108Z\"\n fill=\"currentColor\"\n />\n </svg>\n `\n\n /**\n * Iconic Multiselect constructor.\n * @param { Object[] } data - Array of objects.\n * @param { string } noData - Defines the message when there is no data input.\n * @param { string } noResults - Defines the message when there is no result if options are filtered.\n * @param { string } placeholder - Defines the placeholder's text.\n * @param { string } select - DOM element to be selected. It must be a HTML Select tag - https://developer.mozilla.org/en-US/docs/Web/HTML/Element/select\n * @param { string } textField - Field to select in the object for the text.\n * @param { string } valueField - Field to select in the object for the value.\n */\n constructor ({ data, itemTemplate, noData, noResults, placeholder, select, container, tagTemplate, textField, valueField }) {\n this._data = data ?? []\n this._itemTemplate = itemTemplate ?? null\n this._noData = noData ?? 'No data found.'\n this._noResults = noResults ?? 'No results found.'\n this._placeholder = placeholder ?? 'Select...'\n this._select = select\n // Timea added a container here\n this._selectContainer = container\n this._tagTemplate = tagTemplate ?? null\n this._textField = textField ?? null\n this._valueField = valueField ?? null\n }\n\n /**\n * Initialize the Iconic Multiselect component.\n * @public\n */\n init () {\n // Timea change to use this._select instead of this._selectContainer\n if (this._select && this._select.nodeName === 'SELECT') {\n if (this._itemTemplate && this._data.length === 0) { throw new Error('itemTemplate must be initialized with data from the component settings') }\n if (this._tagTemplate && this._data.length === 0) { throw new Error('tagTemplate must be initialized with data from the component settings') }\n\n this._options = this._data.length > 0 ? this._getDataFromSettings() : this._getDataFromSelectTag()\n\n this._renderMultiselect()\n this._renderOptionsList()\n\n this._domElements = {\n clear: this._multiselect.querySelector('.multiselect__clear-btn'),\n input: this._multiselect.querySelector('.multiselect__input'),\n optionsContainer: this._multiselect.querySelector('.multiselect__options'),\n optionsContainerList: this._multiselect.querySelector('.multiselect__options > ul'),\n options: {\n list: this._multiselect.querySelectorAll('.multiselect__options > ul > li'),\n find: function (callbackFn) {\n for (let i = 0; i < this.list.length; i++) {\n const node = this.list[i]\n if (callbackFn(node)) return node\n }\n return undefined\n },\n some: function (callbackFn) {\n for (let i = 0; i < this.list.length; i++) {\n const node = this.list[i]\n if (callbackFn(node, i)) return true\n }\n return false\n }\n }\n }\n\n this._enableEventListenners()\n this._initSelectedList()\n } else {\n throw new Error(`The selector '${this._select}' did not select any valid select tag.`)\n }\n }\n\n /**\n * Subscribes to the emitted events.\n * @param { Function } callback - Callback function which emits a custom event object.\n * @public\n */\n subscribe (callback) {\n if (typeof callback === 'function') {\n this._event = callback\n } else {\n throw new Error('parameter in the subscribe method is not a function')\n }\n }\n\n /**\n * Add an option to the selection list.\n * @param { Object: { text: string; value: string; }} option\n * @private\n */\n _addOptionToList (option, index) {\n const html = `<span class=\"multiselect__selected\" style=\"${style.multiselect__selected}\" data-value=\"${option.value}\">${\n this._tagTemplate ? this._processTemplate(this._tagTemplate, index) : option.text\n }<span class=\"multiselect__remove-btn\" style=\"${style.multiselect__remove_btn}\">${this._cross}</span></span>`\n\n this._domElements.input.insertAdjacentHTML('beforebegin', html)\n\n const { lastElementChild: removeBtn } = this._multiselect.querySelector(`span[data-value=\"${option.value}\"]`)\n removeBtn.addEventListener('click', () => {\n const target = this._domElements.options.find((el) => el.dataset.value === option.value)\n this._handleOption(target)\n })\n }\n\n /**\n * Clears all selected options.\n * @private\n */\n _clearSelection () {\n for (let i = 0; i < this._selectedOptions.length; i++) {\n const option = this._selectedOptions[i]\n const target = this._domElements.options.find((el) => el.dataset.value === option.value)\n target.classList.remove('multiselect__options--selected')\n target.setAttribute('style', style.multiselect__options)\n this._removeOptionFromList(target.dataset.value)\n }\n this._selectedOptions = []\n this._handleClearSelectionBtn()\n this._handlePlaceholder()\n this._dispatchEvent({\n action: 'CLEAR_ALL_OPTIONS',\n selection: this._selectedOptions\n })\n }\n\n /**\n * Close the options container.\n * @private\n */\n _closeList () {\n this._domElements.input.value = ''\n this._domElements.optionsContainer.classList.remove('visible')\n this._domElements.optionsContainer.setAttribute('style', style.multiselect__options)\n this._filterOptions('')\n this._removeAllArrowSelected()\n }\n\n /**\n * Dispatches new events.\n * @param { object : { action: string; selection: { option: string; text: string; }[]; value?: string; } } event\n * @private\n */\n _dispatchEvent (event) {\n this._event(event)\n }\n\n /**\n * Enables all main event listenners.\n * @private\n */\n _enableEventListenners () {\n document.addEventListener('mouseup', ({ target }) => {\n if (!this._multiselect.contains(target)) {\n this._filterOptions('')\n this._closeList()\n this._handlePlaceholder()\n }\n })\n\n this._domElements.clear.addEventListener('click', () => {\n this._clearSelection()\n })\n\n for (let i = 0; i < this._domElements.options.list.length; i++) {\n const option = this._domElements.options.list[i]\n option.addEventListener('click', ({ target }) => {\n this._handleOption(target)\n this._closeList()\n })\n }\n\n this._domElements.input.addEventListener('focus', () => {\n this._domElements.optionsContainer.classList.add('visible')\n this._domElements.optionsContainer.setAttribute('style', style.multiselect__options_visible)\n })\n\n this._domElements.input.addEventListener('input', ({ target: { value } }) => {\n if (this._domElements.options.list.length > 0) {\n this._filterOptions(value)\n }\n })\n\n this._domElements.input.addEventListener('keydown', (e) => {\n this._handleArrows(e)\n this._handleBackspace(e)\n this._handleEnter(e)\n })\n }\n\n /**\n * Filters user input.\n * @param { string } value\n * @private\n */\n _filterOptions (value) {\n const isOpen = this._domElements.optionsContainer.classList.contains('visible')\n const valueLowerCase = value.toLowerCase()\n\n if (!isOpen && value.length > 0) {\n this._domElements.optionsContainer.classList.add('visible')\n this._domElements.optionsContainer.setAttribute('style', style.multiselect__options_visible)\n }\n\n if (this._domElements.options.list.length > 0) {\n for (let i = 0; i < this._domElements.options.list.length; i++) {\n const el = this._domElements.options.list[i]\n const text = this._itemTemplate ? this._data[i][this._textField] : el.textContent\n\n if (text.toLowerCase().substring(0, valueLowerCase.length) === valueLowerCase) {\n this._domElements.optionsContainerList.appendChild(el)\n } else {\n el.parentNode && el.parentNode.removeChild(el)\n }\n }\n\n const hasResults = this._domElements.options.some(\n (el, index) =>\n (this._itemTemplate ? this._data[index][this._textField] : el.textContent)\n .toLowerCase()\n .substring(0, valueLowerCase.length) === valueLowerCase\n )\n this._showNoResults(!hasResults)\n }\n }\n\n _generateId (length) {\n let result = ''\n const characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'\n const charactersLength = characters.length\n for (let i = 0; i < length; i++) {\n result += characters.charAt(Math.floor(Math.random() * charactersLength))\n }\n return result\n }\n\n /**\n * Gets data from select tag.\n * @private\n */\n _getDataFromSelectTag () {\n const arr = []\n const { options } = this._select\n for (let i = 0; i < options.length; i++) {\n const item = options[i]\n arr.push({\n text: item.text,\n value: item.value,\n selected: item.hasAttribute('selected')\n })\n }\n return arr\n }\n\n /**\n * Gets data from settings.\n * @private\n */\n _getDataFromSettings () {\n if (this._data.length > 0 && this._valueField && this._textField) {\n const isValueFieldValid = typeof this._valueField === 'string'\n const isTextFieldValid = typeof this._textField === 'string'\n const arr = []\n\n if (!isValueFieldValid || !isTextFieldValid) {\n throw new Error('textField and valueField must be of type string')\n }\n\n for (let i = 0; i < this._data.length; i++) {\n const item = this._data[i]\n arr.push({\n value: item[this._valueField],\n text: item[this._textField],\n selected: typeof item.selected === 'boolean' ? item.selected : false\n })\n }\n return arr\n } else {\n return null\n }\n }\n\n /**\n * Handles Arrow up & Down. Selection of an option is also possible with these keys.\n * @param { Event } event\n * @private\n */\n _handleArrows (event) {\n if (event.keyCode === 40 || event.keyCode === 38) {\n event.preventDefault()\n const isOpen = this._domElements.optionsContainer.classList.contains('visible')\n // An updated view of the container is needed because of the filtering option\n const optionsContainerList = this._multiselect.querySelector('.multiselect__options > ul')\n\n if (!isOpen) {\n this._domElements.optionsContainer.classList.add('visible')\n this._domElements.optionsContainer.setAttribute('style', style.multiselect__options_visible)\n optionsContainerList.firstElementChild.classList.add('arrow-selected')\n optionsContainerList.firstElementChild.setAttribute('style', style.multiselect__options_ul_li_arrow_selected)\n optionsContainerList.firstElementChild.scrollIntoView(false)\n } else {\n let selected = this._multiselect.querySelector('.multiselect__options ul li.arrow-selected')\n const action = {\n ArrowUp: 'previous',\n Up: 'previous',\n ArrowDown: 'next',\n Down: 'next'\n }\n\n if (!selected) {\n optionsContainerList.firstElementChild.classList.add('arrow-selected')\n optionsContainerList.firstElementChild.setAttribute('style', style.multiselect__options_ul_li_arrow_selected)\n optionsContainerList.firstElementChild.scrollIntoView(false)\n return\n }\n\n selected.classList.remove('arrow-selected')\n selected.setAttribute('style', style.multiselect__options_ul_li)\n\n selected = selected[action[event.key] + 'ElementSibling']\n\n // Go to start or end of the popup list\n if (!selected) {\n selected =\n optionsContainerList.children[action[event.key] === 'next' ? 0 : optionsContainerList.children.length - 1]\n selected.classList.add('arrow-selected')\n selected.setAttribute('style', style.multiselect__options_ul_li_arrow_selected)\n this._scrollIntoView(optionsContainerList, selected)\n return\n }\n\n selected.classList.add('arrow-selected')\n selected.setAttribute('style', style.multiselect__options_ul_li_arrow_selected)\n this._scrollIntoView(optionsContainerList, selected)\n }\n }\n }\n\n /**\n * Handles the backspace key event - Deletes the preceding option in the selection list.\n * @param { Event } e\n * @private\n */\n _handleBackspace (e) {\n if (e.keyCode === 8 && e.target.value === '') {\n const lastSelectedOption =\n this._selectedOptions.length > 0 ? this._selectedOptions[this._selectedOptions.length - 1] : null\n\n if (lastSelectedOption) {\n const targetLastSelectedOption = this._multiselect.querySelector(\n `li[data-value=\"${lastSelectedOption.value}\"]`\n )\n this._handleOption(targetLastSelectedOption)\n\n if (this._selectedOptions.length === 0) {\n this._domElements.optionsContainer.classList.remove('visible')\n this._domElements.optionsContainer.setAttribute('style', style.multiselect__options)\n }\n }\n }\n }\n\n /**\n * Shows clear selection button if some options are selected.\n * @private\n */\n _handleClearSelectionBtn () {\n if (this._selectedOptions.length > 0) {\n this._domElements.clear.style.display = 'flex'\n } else {\n this._domElements.clear.style.display = 'none'\n }\n }\n\n /**\n * Handles the enter key event.\n * @param { Event } event\n * @private\n */\n _handleEnter (event) {\n if (event.keyCode === 13) {\n const selected = this._multiselect.querySelector('.multiselect__options ul li.arrow-selected')\n if (selected) {\n this._handleOption(selected)\n this._closeList()\n }\n }\n }\n\n _handleOption (target, dispatchEvent = true) {\n // Remove\n for (let i = 0; i < this._selectedOptions.length; i++) {\n const el = this._selectedOptions[i]\n if (el.value === target.dataset.value) {\n target.classList.remove('multiselect__options--selected')\n target.setAttribute('style', style.multiselect__options)\n this._selectedOptions.splice(i, 1)\n this._removeOptionFromList(target.dataset.value)\n this._handleClearSelectionBtn()\n this._handlePlaceholder()\n\n return (\n dispatchEvent &&\n this._dispatchEvent({\n action: 'REMOVE_OPTION',\n value: target.dataset.value,\n selection: this._selectedOptions\n })\n )\n }\n }\n\n // Add\n for (let i = 0; i < this._options.length; i++) {\n const option = this._options[i]\n if (option.value === target.dataset.value) {\n target.classList.add('multiselect__options--selected')\n target.setAttribute('style', style.multiselect__options_selected)\n this._selectedOptions = [...this._selectedOptions, option]\n this._addOptionToList(option, i)\n this._handleClearSelectionBtn()\n this._handlePlaceholder()\n\n return (\n dispatchEvent &&\n this._dispatchEvent({\n action: 'ADD_OPTION',\n value: target.dataset.value,\n selection: this._selectedOptions\n })\n )\n }\n }\n }\n\n /**\n * Shows the placeholder if no options are selected.\n * @private\n */\n _handlePlaceholder () {\n this._domElements.input.placeholder = this._placeholder\n }\n\n _initSelectedList () {\n let hasItemsSelected = false\n\n for (let i = 0; i < this._options.length; i++) {\n const option = this._options[i]\n if (option.selected) {\n hasItemsSelected = true\n const target = this._domElements.options.find((el) => el.dataset.value === option.value)\n target.classList.add('multiselect__options--selected')\n target.setAttribute('style', style.multiselect__options_selected)\n this._selectedOptions = [...this._selectedOptions, option]\n this._addOptionToList(option, i)\n }\n }\n\n if (hasItemsSelected) { this._handleClearSelectionBtn() }\n this._handlePlaceholder()\n }\n\n /**\n * Process the custom template.\n * @param { string } template\n * @private\n */\n _processTemplate (template, index) {\n let processedTemplate = template\n const objAttr = template.match(/\\$\\{(\\w+)\\}/g).map((e) => e.replace(/\\$\\{|\\}/g, ''))\n\n for (let i = 0; i < objAttr.length; i++) {\n const attr = objAttr[i]\n // eslint-disable-next-line no-useless-escape\n processedTemplate = processedTemplate.replace(`\\$\\{${attr}\\}`, this._data[index][attr] ?? '')\n }\n\n return processedTemplate\n }\n\n _removeAllArrowSelected () {\n const className = 'arrow-selected'\n const target = this._domElements.options.find((el) => el.classList.contains(className))\n target && target.classList.remove(className) && target.setAttribute('style', style.multiselect__options_ul_li)\n }\n\n /**\n * Removes an option from the list.\n * @param { string } value\n * @private\n */\n _removeOptionFromList (value) {\n const optionDom = this._multiselect.querySelector(`span[data-value=\"${value}\"]`)\n optionDom && optionDom.parentNode && optionDom.parentNode.removeChild(optionDom)\n }\n\n /**\n * Renders the multiselect options list view.\n * @private\n */\n _renderOptionsList () {\n const html = `\n <div class=\"multiselect__options\" style=\"${style.multiselect__options}\">\n <ul style=\"${style.multiselect__options_ul}\">\n ${\n this._options.length > 0 && !this._itemTemplate\n ? this._options\n .map((option) => {\n return `\n <li data-value=\"${option.value}\" style=\"${style.multiselect__options_ul_li}\">${option.text}</li>\n `\n })\n .join('')\n : ''\n }\n\n ${\n this._options.length > 0 && this._itemTemplate\n ? this._options\n .map((option, index) => {\n return `\n <li data-value=\"${option.value}\" style=\"${style.multiselect__options_ul_li}\">${this._processTemplate(this._itemTemplate, index)}</li>\n `\n })\n .join('')\n : ''\n }\n ${this._showNoData(this._options.length === 0)}\n </ul>\n </div>\n `\n\n this._multiselect.insertAdjacentHTML('beforeend', html)\n }\n\n /**\n * Renders the multiselect view.\n * @private\n */\n _renderMultiselect () {\n this._select.style.display = 'none'\n const id = 'iconic-' + this._generateId(20)\n // Timea created dedicated div element because previous code was not rendering\n this._multiselect = document.createElement('div')\n this._multiselect.setAttribute('id', id)\n this._multiselect.setAttribute('class', 'multiselect__container')\n this._multiselect.setAttribute('style', style.multiselect__container)\n const html = `\n <div class=\"multiselect__wrapper\" style=\"${style.multiselect__wrapper}\">\n <input class=\"multiselect__input\" style=\"${style.multiselect__input}\" placeholder=\"${this._placeholder}\" />\n </div>\n <span style=\"display: none;\" class=\"multiselect__clear-btn\" style=\"${style.multiselect__clear_btn}\">${this._cross}</span>\n `\n this._multiselect.innerHTML = html\n this._selectContainer.appendChild(this._multiselect)\n }\n\n /**\n * ScrollIntoView - This small utility reproduces the behavior of .scrollIntoView({ block: \"nearest\", inline: \"nearest\" })\n * This is for IE compatibility without a need of a polyfill\n * @private\n */\n _scrollIntoView (parent, child) {\n const rectParent = parent.getBoundingClientRect()\n const rectChild = child.getBoundingClientRect()\n\n // Detect if not visible at top and then scroll to the top\n if (!(rectParent.top < rectChild.bottom - child.offsetHeight)) {\n parent.scrollTop = child.clientHeight + (child.offsetTop - child.offsetHeight)\n }\n\n // Detect if not visible at bottom and then scroll to the bottom\n if (!(rectParent.bottom > rectChild.top + child.offsetHeight)) {\n parent.scrollTop =\n child.clientHeight +\n (child.offsetTop - child.offsetHeight) -\n (parent.offsetHeight - (child.offsetHeight + (child.offsetHeight - child.clientHeight)))\n }\n }\n\n /**\n * Shows a no data message.\n * @param { boolean } condition\n * @private\n */\n _showNoData (condition) {\n return condition ? `<p class=\"multiselect__options--no-data\" style=\"${style.multiselect__options_ul_p_multiselect__options_no_data}\">${this._noData}</p>` : ''\n }\n\n /**\n * Shows a no results message.\n * @param { boolean } condition\n * @private\n */\n _showNoResults (condition) {\n const dom = this._multiselect.querySelector('.multiselect__options--no-results')\n if (condition) {\n const html = `<p class=\"multiselect__options--no-results\" style=\"${style.multiselect__options_ul_p_multiselect__options_no_results}\">${this._noResults}</p>`\n !dom && this._domElements.optionsContainerList.insertAdjacentHTML('beforeend', html)\n } else {\n dom && dom.parentNode && dom.parentNode.removeChild(dom)\n }\n }\n}\n"],"mappings":";;;;;;;;;;;;AAWA;AAA6C;AAAA;AAX7C;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAHA,IAMaA,iBAAiB;EA+B5B;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,iCAA4H;IAAA,IAA7GC,IAAI,QAAJA,IAAI;MAAEC,YAAY,QAAZA,YAAY;MAAEC,MAAM,QAANA,MAAM;MAAEC,SAAS,QAATA,SAAS;MAAEC,WAAW,QAAXA,WAAW;MAAEC,MAAM,QAANA,MAAM;MAAEC,SAAS,QAATA,SAAS;MAAEC,WAAW,QAAXA,WAAW;MAAEC,SAAS,QAATA,SAAS;MAAEC,UAAU,QAAVA,UAAU;IAAA;IAAA;IAAA;IAAA,iDAtC/G,YAAM,CAAC,CAAC;IAAA;IAAA;IAAA;IAAA;IAAA,mDAKN,EAAE;IAAA;IAAA;IAAA;IAAA,2DAIM,EAAE;IAAA;IAAA;IAAA;IAAA;IA8BnB,IAAI,CAACC,KAAK,GAAGV,IAAI,aAAJA,IAAI,cAAJA,IAAI,GAAI,EAAE;IACvB,IAAI,CAACW,aAAa,GAAGV,YAAY,aAAZA,YAAY,cAAZA,YAAY,GAAI,IAAI;IACzC,IAAI,CAACW,OAAO,GAAGV,MAAM,aAANA,MAAM,cAANA,MAAM,GAAI,gBAAgB;IACzC,IAAI,CAACW,UAAU,GAAGV,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,mBAAmB;IAClD,IAAI,CAACW,YAAY,GAAGV,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAI,WAAW;IAC9C,IAAI,CAACW,OAAO,GAAGV,MAAM;IACrB;IACA,IAAI,CAACW,gBAAgB,GAAGV,SAAS;IACjC,IAAI,CAACW,YAAY,GAAGV,WAAW,aAAXA,WAAW,cAAXA,WAAW,GAAI,IAAI;IACvC,IAAI,CAACW,UAAU,GAAGV,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,IAAI;IACnC,IAAI,CAACW,WAAW,GAAGV,UAAU,aAAVA,UAAU,cAAVA,UAAU,GAAI,IAAI;EACvC;;EAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,gBAAQ;MACN;MACA,IAAI,IAAI,CAACM,OAAO,IAAI,IAAI,CAACA,OAAO,CAACK,QAAQ,KAAK,QAAQ,EAAE;QACtD,IAAI,IAAI,CAACT,aAAa,IAAI,IAAI,CAACD,KAAK,CAACW,MAAM,KAAK,CAAC,EAAE;UAAE,MAAM,IAAIC,KAAK,CAAC,wEAAwE,CAAC;QAAC;QAC/I,IAAI,IAAI,CAACL,YAAY,IAAI,IAAI,CAACP,KAAK,CAACW,MAAM,KAAK,CAAC,EAAE;UAAE,MAAM,IAAIC,KAAK,CAAC,uEAAuE,CAAC;QAAC;QAE7I,IAAI,CAACC,QAAQ,GAAG,IAAI,CAACb,KAAK,CAACW,MAAM,GAAG,CAAC,GAAG,IAAI,CAACG,oBAAoB,EAAE,GAAG,IAAI,CAACC,qBAAqB,EAAE;QAElG,IAAI,CAACC,kBAAkB,EAAE;QACzB,IAAI,CAACC,kBAAkB,EAAE;QAEzB,IAAI,CAACC,YAAY,GAAG;UAClBC,KAAK,EAAE,IAAI,CAACC,YAAY,CAACC,aAAa,CAAC,yBAAyB,CAAC;UACjEC,KAAK,EAAE,IAAI,CAACF,YAAY,CAACC,aAAa,CAAC,qBAAqB,CAAC;UAC7DE,gBAAgB,EAAE,IAAI,CAACH,YAAY,CAACC,aAAa,CAAC,uBAAuB,CAAC;UAC1EG,oBAAoB,EAAE,IAAI,CAACJ,YAAY,CAACC,aAAa,CAAC,4BAA4B,CAAC;UACnFI,OAAO,EAAE;YACPC,IAAI,EAAE,IAAI,CAACN,YAAY,CAACO,gBAAgB,CAAC,iCAAiC,CAAC;YAC3EC,IAAI,EAAE,cAAUC,UAAU,EAAE;cAC1B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAACJ,IAAI,CAACf,MAAM,EAAEmB,CAAC,EAAE,EAAE;gBACzC,IAAMC,IAAI,GAAG,IAAI,CAACL,IAAI,CAACI,CAAC,CAAC;gBACzB,IAAID,UAAU,CAACE,IAAI,CAAC,EAAE,OAAOA,IAAI;cACnC;cACA,OAAOC,SAAS;YAClB,CAAC;YACDC,IAAI,EAAE,cAAUJ,UAAU,EAAE;cAC1B,KAAK,IAAIC,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAACJ,IAAI,CAACf,MAAM,EAAEmB,CAAC,EAAE,EAAE;gBACzC,IAAMC,IAAI,GAAG,IAAI,CAACL,IAAI,CAACI,CAAC,CAAC;gBACzB,IAAID,UAAU,CAACE,IAAI,EAAED,CAAC,CAAC,EAAE,OAAO,IAAI;cACtC;cACA,OAAO,KAAK;YACd;UACF;QACF,CAAC;QAED,IAAI,CAACI,sBAAsB,EAAE;QAC7B,IAAI,CAACC,iBAAiB,EAAE;MAC1B,CAAC,MAAM;QACL,MAAM,IAAIvB,KAAK,yBAAkB,IAAI,CAACP,OAAO,4CAAyC;MACxF;IACF;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA,OAKA,mBAAW+B,QAAQ,EAAE;MACnB,IAAI,OAAOA,QAAQ,KAAK,UAAU,EAAE;QAClC,IAAI,CAACC,MAAM,GAAGD,QAAQ;MACxB,CAAC,MAAM;QACL,MAAM,IAAIxB,KAAK,CAAC,qDAAqD,CAAC;MACxE;IACF;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA,OAKA,0BAAkB0B,MAAM,EAAEC,KAAK,EAAE;MAAA;MAC/B,IAAMC,IAAI,2DAAiDC,KAAK,CAACC,qBAAqB,6BAAiBJ,MAAM,CAACK,KAAK,gBACjH,IAAI,CAACpC,YAAY,GAAG,IAAI,CAACqC,gBAAgB,CAAC,IAAI,CAACrC,YAAY,EAAEgC,KAAK,CAAC,GAAGD,MAAM,CAACO,IAAI,6DACnCJ,KAAK,CAACK,uBAAuB,gBAAK,IAAI,CAACC,MAAM,mBAAgB;MAE7G,IAAI,CAAC7B,YAAY,CAACI,KAAK,CAAC0B,kBAAkB,CAAC,aAAa,EAAER,IAAI,CAAC;MAE/D,4BAAwC,IAAI,CAACpB,YAAY,CAACC,aAAa,6BAAqBiB,MAAM,CAACK,KAAK,SAAK;QAAnFM,SAAS,yBAA3BC,gBAAgB;MACxBD,SAAS,CAACE,gBAAgB,CAAC,OAAO,EAAE,YAAM;QACxC,IAAMC,MAAM,GAAG,KAAI,CAAClC,YAAY,CAACO,OAAO,CAACG,IAAI,CAAC,UAACyB,EAAE;UAAA,OAAKA,EAAE,CAACC,OAAO,CAACX,KAAK,KAAKL,MAAM,CAACK,KAAK;QAAA,EAAC;QACxF,KAAI,CAACY,aAAa,CAACH,MAAM,CAAC;MAC5B,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,2BAAmB;MAAA;MAAA,6BACsC;QACrD,IAAMd,MAAM,GAAG,MAAI,CAACkB,gBAAgB,CAAC1B,CAAC,CAAC;QACvC,IAAMsB,MAAM,GAAG,MAAI,CAAClC,YAAY,CAACO,OAAO,CAACG,IAAI,CAAC,UAACyB,EAAE;UAAA,OAAKA,EAAE,CAACC,OAAO,CAACX,KAAK,KAAKL,MAAM,CAACK,KAAK;QAAA,EAAC;QACxFS,MAAM,CAACK,SAAS,CAACC,MAAM,CAAC,gCAAgC,CAAC;QACzDN,MAAM,CAACO,YAAY,CAAC,OAAO,EAAElB,KAAK,CAACmB,oBAAoB,CAAC;QACxD,MAAI,CAACC,qBAAqB,CAACT,MAAM,CAACE,OAAO,CAACX,KAAK,CAAC;MAClD,CAAC;MAND,KAAK,IAAIb,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAAC0B,gBAAgB,CAAC7C,MAAM,EAAEmB,CAAC,EAAE;QAAA;MAAA;MAOrD,IAAI,CAAC0B,gBAAgB,GAAG,EAAE;MAC1B,IAAI,CAACM,wBAAwB,EAAE;MAC/B,IAAI,CAACC,kBAAkB,EAAE;MACzB,IAAI,CAACC,cAAc,CAAC;QAClBC,MAAM,EAAE,mBAAmB;QAC3BC,SAAS,EAAE,IAAI,CAACV;MAClB,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,sBAAc;MACZ,IAAI,CAACtC,YAAY,CAACI,KAAK,CAACqB,KAAK,GAAG,EAAE;MAClC,IAAI,CAACzB,YAAY,CAACK,gBAAgB,CAACkC,SAAS,CAACC,MAAM,CAAC,SAAS,CAAC;MAC9D,IAAI,CAACxC,YAAY,CAACK,gBAAgB,CAACoC,YAAY,CAAC,OAAO,EAAElB,KAAK,CAACmB,oBAAoB,CAAC;MACpF,IAAI,CAACO,cAAc,CAAC,EAAE,CAAC;MACvB,IAAI,CAACC,uBAAuB,EAAE;IAChC;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA,OAKA,wBAAgBC,KAAK,EAAE;MACrB,IAAI,CAAChC,MAAM,CAACgC,KAAK,CAAC;IACpB;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,kCAA0B;MAAA;MACxBC,QAAQ,CAACnB,gBAAgB,CAAC,SAAS,EAAE,iBAAgB;QAAA,IAAbC,MAAM,SAANA,MAAM;QAC5C,IAAI,CAAC,MAAI,CAAChC,YAAY,CAACmD,QAAQ,CAACnB,MAAM,CAAC,EAAE;UACvC,MAAI,CAACe,cAAc,CAAC,EAAE,CAAC;UACvB,MAAI,CAACK,UAAU,EAAE;UACjB,MAAI,CAACT,kBAAkB,EAAE;QAC3B;MACF,CAAC,CAAC;MAEF,IAAI,CAAC7C,YAAY,CAACC,KAAK,CAACgC,gBAAgB,CAAC,OAAO,EAAE,YAAM;QACtD,MAAI,CAACsB,eAAe,EAAE;MACxB,CAAC,CAAC;MAEF,KAAK,IAAI3C,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAACZ,YAAY,CAACO,OAAO,CAACC,IAAI,CAACf,MAAM,EAAEmB,CAAC,EAAE,EAAE;QAC9D,IAAMQ,MAAM,GAAG,IAAI,CAACpB,YAAY,CAACO,OAAO,CAACC,IAAI,CAACI,CAAC,CAAC;QAChDQ,MAAM,CAACa,gBAAgB,CAAC,OAAO,EAAE,iBAAgB;UAAA,IAAbC,MAAM,SAANA,MAAM;UACxC,MAAI,CAACG,aAAa,CAACH,MAAM,CAAC;UAC1B,MAAI,CAACoB,UAAU,EAAE;QACnB,CAAC,CAAC;MACJ;MAEA,IAAI,CAACtD,YAAY,CAACI,KAAK,CAAC6B,gBAAgB,CAAC,OAAO,EAAE,YAAM;QACtD,MAAI,CAACjC,YAAY,CAACK,gBAAgB,CAACkC,SAAS,CAACiB,GAAG,CAAC,SAAS,CAAC;QAC3D,MAAI,CAACxD,YAAY,CAACK,gBAAgB,CAACoC,YAAY,CAAC,OAAO,EAAElB,KAAK,CAACkC,4BAA4B,CAAC;MAC9F,CAAC,CAAC;MAEF,IAAI,CAACzD,YAAY,CAACI,KAAK,CAAC6B,gBAAgB,CAAC,OAAO,EAAE,iBAA2B;QAAA,IAAdR,KAAK,SAAfS,MAAM,CAAIT,KAAK;QAClE,IAAI,MAAI,CAACzB,YAAY,CAACO,OAAO,CAACC,IAAI,CAACf,MAAM,GAAG,CAAC,EAAE;UAC7C,MAAI,CAACwD,cAAc,CAACxB,KAAK,CAAC;QAC5B;MACF,CAAC,CAAC;MAEF,IAAI,CAACzB,YAAY,CAACI,KAAK,CAAC6B,gBAAgB,CAAC,SAAS,EAAE,UAACyB,CAAC,EAAK;QACzD,MAAI,CAACC,aAAa,CAACD,CAAC,CAAC;QACrB,MAAI,CAACE,gBAAgB,CAACF,CAAC,CAAC;QACxB,MAAI,CAACG,YAAY,CAACH,CAAC,CAAC;MACtB,CAAC,CAAC;IACJ;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA,OAKA,wBAAgBjC,KAAK,EAAE;MAAA;MACrB,IAAMqC,MAAM,GAAG,IAAI,CAAC9D,YAAY,CAACK,gBAAgB,CAACkC,SAAS,CAACc,QAAQ,CAAC,SAAS,CAAC;MAC/E,IAAMU,cAAc,GAAGtC,KAAK,CAACuC,WAAW,EAAE;MAE1C,IAAI,CAACF,MAAM,IAAIrC,KAAK,CAAChC,MAAM,GAAG,CAAC,EAAE;QAC/B,IAAI,CAACO,YAAY,CAACK,gBAAgB,CAACkC,SAAS,CAACiB,GAAG,CAAC,SAAS,CAAC;QAC3D,IAAI,CAACxD,YAAY,CAACK,gBAAgB,CAACoC,YAAY,CAAC,OAAO,EAAElB,KAAK,CAACkC,4BAA4B,CAAC;MAC9F;MAEA,IAAI,IAAI,CAACzD,YAAY,CAACO,OAAO,CAACC,IAAI,CAACf,MAAM,GAAG,CAAC,EAAE;QAC7C,KAAK,IAAImB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAACZ,YAAY,CAACO,OAAO,CAACC,IAAI,CAACf,MAAM,EAAEmB,CAAC,EAAE,EAAE;UAC9D,IAAMuB,EAAE,GAAG,IAAI,CAACnC,YAAY,CAACO,OAAO,CAACC,IAAI,CAACI,CAAC,CAAC;UAC5C,IAAMe,IAAI,GAAG,IAAI,CAAC5C,aAAa,GAAG,IAAI,CAACD,KAAK,CAAC8B,CAAC,CAAC,CAAC,IAAI,CAACtB,UAAU,CAAC,GAAG6C,EAAE,CAAC8B,WAAW;UAEjF,IAAItC,IAAI,CAACqC,WAAW,EAAE,CAACE,SAAS,CAAC,CAAC,EAAEH,cAAc,CAACtE,MAAM,CAAC,KAAKsE,cAAc,EAAE;YAC7E,IAAI,CAAC/D,YAAY,CAACM,oBAAoB,CAAC6D,WAAW,CAAChC,EAAE,CAAC;UACxD,CAAC,MAAM;YACLA,EAAE,CAACiC,UAAU,IAAIjC,EAAE,CAACiC,UAAU,CAACC,WAAW,CAAClC,EAAE,CAAC;UAChD;QACF;QAEA,IAAMmC,UAAU,GAAG,IAAI,CAACtE,YAAY,CAACO,OAAO,CAACQ,IAAI,CAC/C,UAACoB,EAAE,EAAEd,KAAK;UAAA,OACR,CAAC,MAAI,CAACtC,aAAa,GAAG,MAAI,CAACD,KAAK,CAACuC,KAAK,CAAC,CAAC,MAAI,CAAC/B,UAAU,CAAC,GAAG6C,EAAE,CAAC8B,WAAW,EACtED,WAAW,EAAE,CACbE,SAAS,CAAC,CAAC,EAAEH,cAAc,CAACtE,MAAM,CAAC,KAAKsE,cAAc;QAAA,EAC5D;QACD,IAAI,CAACQ,cAAc,CAAC,CAACD,UAAU,CAAC;MAClC;IACF;EAAC;IAAA;IAAA,OAED,qBAAa7E,MAAM,EAAE;MACnB,IAAI+E,MAAM,GAAG,EAAE;MACf,IAAMC,UAAU,GAAG,gEAAgE;MACnF,IAAMC,gBAAgB,GAAGD,UAAU,CAAChF,MAAM;MAC1C,KAAK,IAAImB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGnB,MAAM,EAAEmB,CAAC,EAAE,EAAE;QAC/B4D,MAAM,IAAIC,UAAU,CAACE,MAAM,CAACC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,EAAE,GAAGJ,gBAAgB,CAAC,CAAC;MAC3E;MACA,OAAOF,MAAM;IACf;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,iCAAyB;MACvB,IAAMO,GAAG,GAAG,EAAE;MACd,IAAQxE,OAAO,GAAK,IAAI,CAACpB,OAAO,CAAxBoB,OAAO;MACf,KAAK,IAAIK,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGL,OAAO,CAACd,MAAM,EAAEmB,CAAC,EAAE,EAAE;QACvC,IAAMoE,IAAI,GAAGzE,OAAO,CAACK,CAAC,CAAC;QACvBmE,GAAG,CAACE,IAAI,CAAC;UACPtD,IAAI,EAAEqD,IAAI,CAACrD,IAAI;UACfF,KAAK,EAAEuD,IAAI,CAACvD,KAAK;UACjByD,QAAQ,EAAEF,IAAI,CAACG,YAAY,CAAC,UAAU;QACxC,CAAC,CAAC;MACJ;MACA,OAAOJ,GAAG;IACZ;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,gCAAwB;MACtB,IAAI,IAAI,CAACjG,KAAK,CAACW,MAAM,GAAG,CAAC,IAAI,IAAI,CAACF,WAAW,IAAI,IAAI,CAACD,UAAU,EAAE;QAChE,IAAM8F,iBAAiB,GAAG,OAAO,IAAI,CAAC7F,WAAW,KAAK,QAAQ;QAC9D,IAAM8F,gBAAgB,GAAG,OAAO,IAAI,CAAC/F,UAAU,KAAK,QAAQ;QAC5D,IAAMyF,GAAG,GAAG,EAAE;QAEd,IAAI,CAACK,iBAAiB,IAAI,CAACC,gBAAgB,EAAE;UAC3C,MAAM,IAAI3F,KAAK,CAAC,iDAAiD,CAAC;QACpE;QAEA,KAAK,IAAIkB,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAAC9B,KAAK,CAACW,MAAM,EAAEmB,CAAC,EAAE,EAAE;UAC1C,IAAMoE,IAAI,GAAG,IAAI,CAAClG,KAAK,CAAC8B,CAAC,CAAC;UAC1BmE,GAAG,CAACE,IAAI,CAAC;YACPxD,KAAK,EAAEuD,IAAI,CAAC,IAAI,CAACzF,WAAW,CAAC;YAC7BoC,IAAI,EAAEqD,IAAI,CAAC,IAAI,CAAC1F,UAAU,CAAC;YAC3B4F,QAAQ,EAAE,OAAOF,IAAI,CAACE,QAAQ,KAAK,SAAS,GAAGF,IAAI,CAACE,QAAQ,GAAG;UACjE,CAAC,CAAC;QACJ;QACA,OAAOH,GAAG;MACZ,CAAC,MAAM;QACL,OAAO,IAAI;MACb;IACF;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA,OAKA,uBAAe5B,KAAK,EAAE;MACpB,IAAIA,KAAK,CAACmC,OAAO,KAAK,EAAE,IAAInC,KAAK,CAACmC,OAAO,KAAK,EAAE,EAAE;QAChDnC,KAAK,CAACoC,cAAc,EAAE;QACtB,IAAMzB,MAAM,GAAG,IAAI,CAAC9D,YAAY,CAACK,gBAAgB,CAACkC,SAAS,CAACc,QAAQ,CAAC,SAAS,CAAC;QAC/E;QACA,IAAM/C,oBAAoB,GAAG,IAAI,CAACJ,YAAY,CAACC,aAAa,CAAC,4BAA4B,CAAC;QAE1F,IAAI,CAAC2D,MAAM,EAAE;UACX,IAAI,CAAC9D,YAAY,CAACK,gBAAgB,CAACkC,SAAS,CAACiB,GAAG,CAAC,SAAS,CAAC;UAC3D,IAAI,CAACxD,YAAY,CAACK,gBAAgB,CAACoC,YAAY,CAAC,OAAO,EAAElB,KAAK,CAACkC,4BAA4B,CAAC;UAC5FnD,oBAAoB,CAACkF,iBAAiB,CAACjD,SAAS,CAACiB,GAAG,CAAC,gBAAgB,CAAC;UACtElD,oBAAoB,CAACkF,iBAAiB,CAAC/C,YAAY,CAAC,OAAO,EAAElB,KAAK,CAACkE,yCAAyC,CAAC;UAC7GnF,oBAAoB,CAACkF,iBAAiB,CAACE,cAAc,CAAC,KAAK,CAAC;QAC9D,CAAC,MAAM;UACL,IAAIR,QAAQ,GAAG,IAAI,CAAChF,YAAY,CAACC,aAAa,CAAC,4CAA4C,CAAC;UAC5F,IAAM4C,MAAM,GAAG;YACb4C,OAAO,EAAE,UAAU;YACnBC,EAAE,EAAE,UAAU;YACdC,SAAS,EAAE,MAAM;YACjBC,IAAI,EAAE;UACR,CAAC;UAED,IAAI,CAACZ,QAAQ,EAAE;YACb5E,oBAAoB,CAACkF,iBAAiB,CAACjD,SAAS,CAACiB,GAAG,CAAC,gBAAgB,CAAC;YACtElD,oBAAoB,CAACkF,iBAAiB,CAAC/C,YAAY,CAAC,OAAO,EAAElB,KAAK,CAACkE,yCAAyC,CAAC;YAC7GnF,oBAAoB,CAACkF,iBAAiB,CAACE,cAAc,CAAC,KAAK,CAAC;YAC5D;UACF;UAEAR,QAAQ,CAAC3C,SAAS,CAACC,MAAM,CAAC,gBAAgB,CAAC;UAC3C0C,QAAQ,CAACzC,YAAY,CAAC,OAAO,EAAElB,KAAK,CAACwE,0BAA0B,CAAC;UAEhEb,QAAQ,GAAGA,QAAQ,CAACnC,MAAM,CAACI,KAAK,CAAC6C,GAAG,CAAC,GAAG,gBAAgB,CAAC;;UAEzD;UACA,IAAI,CAACd,QAAQ,EAAE;YACbA,QAAQ,GACR5E,oBAAoB,CAAC2F,QAAQ,CAAClD,MAAM,CAACI,KAAK,CAAC6C,GAAG,CAAC,KAAK,MAAM,GAAG,CAAC,GAAG1F,oBAAoB,CAAC2F,QAAQ,CAACxG,MAAM,GAAG,CAAC,CAAC;YAC1GyF,QAAQ,CAAC3C,SAAS,CAACiB,GAAG,CAAC,gBAAgB,CAAC;YACxC0B,QAAQ,CAACzC,YAAY,CAAC,OAAO,EAAElB,KAAK,CAACkE,yCAAyC,CAAC;YAC/E,IAAI,CAACS,eAAe,CAAC5F,oBAAoB,EAAE4E,QAAQ,CAAC;YACpD;UACF;UAEAA,QAAQ,CAAC3C,SAAS,CAACiB,GAAG,CAAC,gBAAgB,CAAC;UACxC0B,QAAQ,CAACzC,YAAY,CAAC,OAAO,EAAElB,KAAK,CAACkE,yCAAyC,CAAC;UAC/E,IAAI,CAACS,eAAe,CAAC5F,oBAAoB,EAAE4E,QAAQ,CAAC;QACtD;MACF;IACF;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA,OAKA,0BAAkBxB,CAAC,EAAE;MACnB,IAAIA,CAAC,CAAC4B,OAAO,KAAK,CAAC,IAAI5B,CAAC,CAACxB,MAAM,CAACT,KAAK,KAAK,EAAE,EAAE;QAC5C,IAAM0E,kBAAkB,GACtB,IAAI,CAAC7D,gBAAgB,CAAC7C,MAAM,GAAG,CAAC,GAAG,IAAI,CAAC6C,gBAAgB,CAAC,IAAI,CAACA,gBAAgB,CAAC7C,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI;QAEnG,IAAI0G,kBAAkB,EAAE;UACtB,IAAMC,wBAAwB,GAAG,IAAI,CAAClG,YAAY,CAACC,aAAa,2BAC5CgG,kBAAkB,CAAC1E,KAAK,SAC3C;UACD,IAAI,CAACY,aAAa,CAAC+D,wBAAwB,CAAC;UAE5C,IAAI,IAAI,CAAC9D,gBAAgB,CAAC7C,MAAM,KAAK,CAAC,EAAE;YACtC,IAAI,CAACO,YAAY,CAACK,gBAAgB,CAACkC,SAAS,CAACC,MAAM,CAAC,SAAS,CAAC;YAC9D,IAAI,CAACxC,YAAY,CAACK,gBAAgB,CAACoC,YAAY,CAAC,OAAO,EAAElB,KAAK,CAACmB,oBAAoB,CAAC;UACtF;QACF;MACF;IACF;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,oCAA4B;MAC1B,IAAI,IAAI,CAACJ,gBAAgB,CAAC7C,MAAM,GAAG,CAAC,EAAE;QACpC,IAAI,CAACO,YAAY,CAACC,KAAK,CAACsB,KAAK,CAAC8E,OAAO,GAAG,MAAM;MAChD,CAAC,MAAM;QACL,IAAI,CAACrG,YAAY,CAACC,KAAK,CAACsB,KAAK,CAAC8E,OAAO,GAAG,MAAM;MAChD;IACF;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA,OAKA,sBAAclD,KAAK,EAAE;MACnB,IAAIA,KAAK,CAACmC,OAAO,KAAK,EAAE,EAAE;QACxB,IAAMJ,QAAQ,GAAG,IAAI,CAAChF,YAAY,CAACC,aAAa,CAAC,4CAA4C,CAAC;QAC9F,IAAI+E,QAAQ,EAAE;UACZ,IAAI,CAAC7C,aAAa,CAAC6C,QAAQ,CAAC;UAC5B,IAAI,CAAC5B,UAAU,EAAE;QACnB;MACF;IACF;EAAC;IAAA;IAAA,OAED,uBAAepB,MAAM,EAAwB;MAAA,IAAtBoE,aAAa,uEAAG,IAAI;MACzC;MACA,KAAK,IAAI1F,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAAC0B,gBAAgB,CAAC7C,MAAM,EAAEmB,CAAC,EAAE,EAAE;QACrD,IAAMuB,EAAE,GAAG,IAAI,CAACG,gBAAgB,CAAC1B,CAAC,CAAC;QACnC,IAAIuB,EAAE,CAACV,KAAK,KAAKS,MAAM,CAACE,OAAO,CAACX,KAAK,EAAE;UACrCS,MAAM,CAACK,SAAS,CAACC,MAAM,CAAC,gCAAgC,CAAC;UACzDN,MAAM,CAACO,YAAY,CAAC,OAAO,EAAElB,KAAK,CAACmB,oBAAoB,CAAC;UACxD,IAAI,CAACJ,gBAAgB,CAACiE,MAAM,CAAC3F,CAAC,EAAE,CAAC,CAAC;UAClC,IAAI,CAAC+B,qBAAqB,CAACT,MAAM,CAACE,OAAO,CAACX,KAAK,CAAC;UAChD,IAAI,CAACmB,wBAAwB,EAAE;UAC/B,IAAI,CAACC,kBAAkB,EAAE;UAEzB,OACEyD,aAAa,IACb,IAAI,CAACxD,cAAc,CAAC;YAClBC,MAAM,EAAE,eAAe;YACvBtB,KAAK,EAAES,MAAM,CAACE,OAAO,CAACX,KAAK;YAC3BuB,SAAS,EAAE,IAAI,CAACV;UAClB,CAAC,CAAC;QAEN;MACF;;MAEA;MACA,KAAK,IAAI1B,EAAC,GAAG,CAAC,EAAEA,EAAC,GAAG,IAAI,CAACjB,QAAQ,CAACF,MAAM,EAAEmB,EAAC,EAAE,EAAE;QAC7C,IAAMQ,MAAM,GAAG,IAAI,CAACzB,QAAQ,CAACiB,EAAC,CAAC;QAC/B,IAAIQ,MAAM,CAACK,KAAK,KAAKS,MAAM,CAACE,OAAO,CAACX,KAAK,EAAE;UACzCS,MAAM,CAACK,SAAS,CAACiB,GAAG,CAAC,gCAAgC,CAAC;UACtDtB,MAAM,CAACO,YAAY,CAAC,OAAO,EAAElB,KAAK,CAACiF,6BAA6B,CAAC;UACjE,IAAI,CAAClE,gBAAgB,iDAAO,IAAI,CAACA,gBAAgB,IAAElB,MAAM,EAAC;UAC1D,IAAI,CAACqF,gBAAgB,CAACrF,MAAM,EAAER,EAAC,CAAC;UAChC,IAAI,CAACgC,wBAAwB,EAAE;UAC/B,IAAI,CAACC,kBAAkB,EAAE;UAEzB,OACEyD,aAAa,IACb,IAAI,CAACxD,cAAc,CAAC;YAClBC,MAAM,EAAE,YAAY;YACpBtB,KAAK,EAAES,MAAM,CAACE,OAAO,CAACX,KAAK;YAC3BuB,SAAS,EAAE,IAAI,CAACV;UAClB,CAAC,CAAC;QAEN;MACF;IACF;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,8BAAsB;MACpB,IAAI,CAACtC,YAAY,CAACI,KAAK,CAAC5B,WAAW,GAAG,IAAI,CAACU,YAAY;IACzD;EAAC;IAAA;IAAA,OAED,6BAAqB;MAAA;MACnB,IAAIwH,gBAAgB,GAAG,KAAK;MAAA,+BAEmB;QAC7C,IAAMtF,MAAM,GAAG,MAAI,CAACzB,QAAQ,CAACiB,CAAC,CAAC;QAC/B,IAAIQ,MAAM,CAAC8D,QAAQ,EAAE;UACnBwB,gBAAgB,GAAG,IAAI;UACvB,IAAMxE,MAAM,GAAG,MAAI,CAAClC,YAAY,CAACO,OAAO,CAACG,IAAI,CAAC,UAACyB,EAAE;YAAA,OAAKA,EAAE,CAACC,OAAO,CAACX,KAAK,KAAKL,MAAM,CAACK,KAAK;UAAA,EAAC;UACxFS,MAAM,CAACK,SAAS,CAACiB,GAAG,CAAC,gCAAgC,CAAC;UACtDtB,MAAM,CAACO,YAAY,CAAC,OAAO,EAAElB,KAAK,CAACiF,6BAA6B,CAAC;UACjE,MAAI,CAAClE,gBAAgB,iDAAO,MAAI,CAACA,gBAAgB,IAAElB,MAAM,EAAC;UAC1D,MAAI,CAACqF,gBAAgB,CAACrF,MAAM,EAAER,CAAC,CAAC;QAClC;MACF,CAAC;MAVD,KAAK,IAAIA,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG,IAAI,CAACjB,QAAQ,CAACF,MAAM,EAAEmB,CAAC,EAAE;QAAA;MAAA;MAY7C,IAAI8F,gBAAgB,EAAE;QAAE,IAAI,CAAC9D,wBAAwB,EAAE;MAAC;MACxD,IAAI,CAACC,kBAAkB,EAAE;IAC3B;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA,OAKA,0BAAkB8D,QAAQ,EAAEtF,KAAK,EAAE;MACjC,IAAIuF,iBAAiB,GAAGD,QAAQ;MAChC,IAAME,OAAO,GAAGF,QAAQ,CAACG,KAAK,CAAC,cAAc,CAAC,CAACC,GAAG,CAAC,UAACrD,CAAC;QAAA,OAAKA,CAAC,CAACsD,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;MAAA,EAAC;MAEpF,KAAK,IAAIpG,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGiG,OAAO,CAACpH,MAAM,EAAEmB,CAAC,EAAE,EAAE;QAAA;QACvC,IAAMqG,IAAI,GAAGJ,OAAO,CAACjG,CAAC,CAAC;QACvB;QACAgG,iBAAiB,GAAGA,iBAAiB,CAACI,OAAO,aAAQC,IAAI,iCAAM,IAAI,CAACnI,KAAK,CAACuC,KAAK,CAAC,CAAC4F,IAAI,CAAC,yEAAI,EAAE,CAAC;MAC/F;MAEA,OAAOL,iBAAiB;IAC1B;EAAC;IAAA;IAAA,OAED,mCAA2B;MACzB,IAAMM,SAAS,GAAG,gBAAgB;MAClC,IAAMhF,MAAM,GAAG,IAAI,CAAClC,YAAY,CAACO,OAAO,CAACG,IAAI,CAAC,UAACyB,EAAE;QAAA,OAAKA,EAAE,CAACI,SAAS,CAACc,QAAQ,CAAC6D,SAAS,CAAC;MAAA,EAAC;MACvFhF,MAAM,IAAIA,MAAM,CAACK,SAAS,CAACC,MAAM,CAAC0E,SAAS,CAAC,IAAIhF,MAAM,CAACO,YAAY,CAAC,OAAO,EAAElB,KAAK,CAACwE,0BAA0B,CAAC;IAChH;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA,OAKA,+BAAuBtE,KAAK,EAAE;MAC5B,IAAM0F,SAAS,GAAG,IAAI,CAACjH,YAAY,CAACC,aAAa,6BAAqBsB,KAAK,SAAK;MAChF0F,SAAS,IAAIA,SAAS,CAAC/C,UAAU,IAAI+C,SAAS,CAAC/C,UAAU,CAACC,WAAW,CAAC8C,SAAS,CAAC;IAClF;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,8BAAsB;MAAA;MACpB,IAAM7F,IAAI,mEACqCC,KAAK,CAACmB,oBAAoB,wCACtDnB,KAAK,CAAC6F,uBAAuB,4BAExC,IAAI,CAACzH,QAAQ,CAACF,MAAM,GAAG,CAAC,IAAI,CAAC,IAAI,CAACV,aAAa,GAC3C,IAAI,CAACY,QAAQ,CACVoH,GAAG,CAAC,UAAC3F,MAAM,EAAK;QACf,kDACYA,MAAM,CAACK,KAAK,wBAAYF,KAAK,CAACwE,0BAA0B,gBAAK3E,MAAM,CAACO,IAAI;MAEtF,CAAC,CAAC,CACD0F,IAAI,CAAC,EAAE,CAAC,GACX,EAAE,2BAIN,IAAI,CAAC1H,QAAQ,CAACF,MAAM,GAAG,CAAC,IAAI,IAAI,CAACV,aAAa,GAC1C,IAAI,CAACY,QAAQ,CACVoH,GAAG,CAAC,UAAC3F,MAAM,EAAEC,KAAK,EAAK;QACtB,kDACYD,MAAM,CAACK,KAAK,wBAAYF,KAAK,CAACwE,0BAA0B,gBAAK,MAAI,CAACrE,gBAAgB,CAAC,MAAI,CAAC3C,aAAa,EAAEsC,KAAK,CAAC;MAE3H,CAAC,CAAC,CACDgG,IAAI,CAAC,EAAE,CAAC,GACX,EAAE,yBAEN,IAAI,CAACC,WAAW,CAAC,IAAI,CAAC3H,QAAQ,CAACF,MAAM,KAAK,CAAC,CAAC,8CAGjD;MAEH,IAAI,CAACS,YAAY,CAAC4B,kBAAkB,CAAC,WAAW,EAAER,IAAI,CAAC;IACzD;;IAEA;AACF;AACA;AACA;EAHE;IAAA;IAAA,OAIA,8BAAsB;MACpB,IAAI,CAACnC,OAAO,CAACoC,KAAK,CAAC8E,OAAO,GAAG,MAAM;MACnC,IAAMkB,EAAE,GAAG,SAAS,GAAG,IAAI,CAACC,WAAW,CAAC,EAAE,CAAC;MAC3C;MACA,IAAI,CAACtH,YAAY,GAAGkD,QAAQ,CAACqE,aAAa,CAAC,KAAK,CAAC;MACjD,IAAI,CAACvH,YAAY,CAACuC,YAAY,CAAC,IAAI,EAAE8E,EAAE,CAAC;MACxC,IAAI,CAACrH,YAAY,CAACuC,YAAY,CAAC,OAAO,EAAE,wBAAwB,CAAC;MACjE,IAAI,CAACvC,YAAY,CAACuC,YAAY,CAAC,OAAO,EAAElB,KAAK,CAACmG,sBAAsB,CAAC;MACrE,IAAMpG,IAAI,mEACqCC,KAAK,CAACoG,oBAAoB,wEACxBpG,KAAK,CAACqG,kBAAkB,8BAAkB,IAAI,CAAC1I,YAAY,oHAEnCqC,KAAK,CAACsG,sBAAsB,gBAAK,IAAI,CAAChG,MAAM,kBACpH;MACD,IAAI,CAAC3B,YAAY,CAAC4H,SAAS,GAAGxG,IAAI;MAClC,IAAI,CAAClC,gBAAgB,CAAC+E,WAAW,CAAC,IAAI,CAACjE,YAAY,CAAC;IACtD;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA,OAKA,yBAAiB6H,MAAM,EAAEC,KAAK,EAAE;MAC9B,IAAMC,UAAU,GAAGF,MAAM,CAACG,qBAAqB,EAAE;MACjD,IAAMC,SAAS,GAAGH,KAAK,CAACE,qBAAqB,EAAE;;MAE/C;MACA,IAAI,EAAED,UAAU,CAACG,GAAG,GAAGD,SAAS,CAACE,MAAM,GAAGL,KAAK,CAACM,YAAY,CAAC,EAAE;QAC7DP,MAAM,CAACQ,SAAS,GAAGP,KAAK,CAACQ,YAAY,IAAIR,KAAK,CAACS,SAAS,GAAGT,KAAK,CAACM,YAAY,CAAC;MAChF;;MAEA;MACA,IAAI,EAAEL,UAAU,CAACI,MAAM,GAAGF,SAAS,CAACC,GAAG,GAAGJ,KAAK,CAACM,YAAY,CAAC,EAAE;QAC7DP,MAAM,CAACQ,SAAS,GACdP,KAAK,CAACQ,YAAY,IACjBR,KAAK,CAACS,SAAS,GAAGT,KAAK,CAACM,YAAY,CAAC,IACrCP,MAAM,CAACO,YAAY,IAAIN,KAAK,CAACM,YAAY,IAAIN,KAAK,CAACM,YAAY,GAAGN,KAAK,CAACQ,YAAY,CAAC,CAAC,CAAC;MAC5F;IACF;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA,OAKA,qBAAaE,SAAS,EAAE;MACtB,OAAOA,SAAS,gEAAsDnH,KAAK,CAACoH,sDAAsD,gBAAK,IAAI,CAAC3J,OAAO,YAAS,EAAE;IAChK;;IAEA;AACF;AACA;AACA;AACA;EAJE;IAAA;IAAA,OAKA,wBAAgB0J,SAAS,EAAE;MACzB,IAAME,GAAG,GAAG,IAAI,CAAC1I,YAAY,CAACC,aAAa,CAAC,mCAAmC,CAAC;MAChF,IAAIuI,SAAS,EAAE;QACb,IAAMpH,IAAI,mEAAyDC,KAAK,CAACsH,yDAAyD,gBAAK,IAAI,CAAC5J,UAAU,SAAM;QAC5J,CAAC2J,GAAG,IAAI,IAAI,CAAC5I,YAAY,CAACM,oBAAoB,CAACwB,kBAAkB,CAAC,WAAW,EAAER,IAAI,CAAC;MACtF,CAAC,MAAM;QACLsH,GAAG,IAAIA,GAAG,CAACxE,UAAU,IAAIwE,GAAG,CAACxE,UAAU,CAACC,WAAW,CAACuE,GAAG,CAAC;MAC1D;IACF;EAAC;EAAA;AAAA;AAAA"}
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "solid-ui",
3
- "version": "2.4.24",
3
+ "version": "2.4.25",
4
4
  "description": "UI library for writing Solid read-write-web applications",
5
5
  "main": "./lib/index.js",
6
6
  "types": "./lib/index.d.ts",
@@ -24,8 +24,8 @@
24
24
  "test:debug": "node --inspect-brk ./node_modules/jest/bin/jest.js --runInBand --watch",
25
25
  "test": "npm run build-version && npm run lint && npm run jest",
26
26
  "doc": "typedoc --out ./Documentation/api/ ./src/ --excludeInternal",
27
- "prepublishOnly": "npm test && npm run build",
28
- "postpublish": "git push origin main --follow-tags",
27
+ "ignore:prepublishOnly": "npm test && npm run build && npm run doc",
28
+ "ignore:postpublish": "git push origin main --follow-tags",
29
29
  "storybook": "start-storybook -p 6006",
30
30
  "build-storybook": "build-storybook --output-dir ./examples/storybook"
31
31
  },
@@ -54,50 +54,51 @@
54
54
  },
55
55
  "homepage": "https://github.com/solidos/solid-ui",
56
56
  "dependencies": {
57
+ "acorn": "^7.4.1",
57
58
  "escape-html": "^1.0.3",
58
- "eslint-plugin-n": "^15.5.1",
59
+ "eslint-plugin-n": "^15.6.1",
59
60
  "i": "^0.3.7",
60
61
  "jss": "^10.9.2",
61
62
  "jss-preset-default": "^10.9.2",
62
63
  "mime-types": "^2.1.35",
63
64
  "npm": "^8.19.3",
64
- "pane-registry": "^2.4.13",
65
- "rdflib": "^2.2.21",
66
- "solid-logic": "^2.0.1",
65
+ "pane-registry": "^2.4.18",
66
+ "rdflib": "^2.2.25",
67
+ "solid-logic": "^2.1.2",
67
68
  "solid-namespace": "^0.5.2",
68
69
  "uuid": "^8.3.2"
69
70
  },
70
71
  "devDependencies": {
71
- "@babel/cli": "^7.19.3",
72
- "@babel/core": "^7.20.2",
72
+ "@babel/cli": "^7.20.7",
73
+ "@babel/core": "^7.20.12",
73
74
  "@babel/plugin-proposal-class-properties": "^7.18.6",
74
- "@babel/plugin-proposal-optional-chaining": "^7.18.9",
75
- "@babel/plugin-transform-async-to-generator": "^7.18.6",
75
+ "@babel/plugin-proposal-optional-chaining": "^7.20.7",
76
+ "@babel/plugin-transform-async-to-generator": "^7.20.7",
76
77
  "@babel/plugin-transform-runtime": "^7.19.6",
77
78
  "@babel/preset-env": "^7.20.2",
78
79
  "@babel/preset-typescript": "^7.18.6",
79
- "@babel/runtime": "^7.20.1",
80
- "@mdx-js/react": "^2.1.5",
81
- "@storybook/addon-actions": "6.5.13",
82
- "@storybook/addon-docs": "6.5.13",
83
- "@storybook/addon-essentials": "6.5.13",
84
- "@storybook/addon-links": "^6.5.13",
85
- "@storybook/builder-webpack5": "^6.5.13",
86
- "@storybook/html": "^6.5.13",
87
- "@storybook/manager-webpack5": "^6.5.13",
88
- "@testing-library/dom": "^8.19.0",
80
+ "@babel/runtime": "^7.20.13",
81
+ "@mdx-js/react": "^2.2.1",
82
+ "@storybook/addon-actions": "6.5.16",
83
+ "@storybook/addon-docs": "6.5.16",
84
+ "@storybook/addon-essentials": "6.5.16",
85
+ "@storybook/addon-links": "^6.5.16",
86
+ "@storybook/builder-webpack5": "^6.5.16",
87
+ "@storybook/html": "^6.5.16",
88
+ "@storybook/manager-webpack5": "^6.5.16",
89
+ "@testing-library/dom": "^8.20.0",
89
90
  "@testing-library/user-event": "^13.5.0",
90
91
  "@types/jest": "^27.5.2",
91
92
  "@types/jsdom": "^16.2.15",
92
- "@types/node": "^17.0.45",
93
- "@types/react": "^17.0.52",
94
- "@typescript-eslint/eslint-plugin": "^5.43.0",
95
- "@typescript-eslint/parser": "^5.43.0",
93
+ "@types/node": "^18.11.18",
94
+ "@types/react": "^17.0.53",
95
+ "@typescript-eslint/eslint-plugin": "^5.50.0",
96
+ "@typescript-eslint/parser": "^5.50.0",
96
97
  "babel-loader": "^8.3.0",
97
- "eslint": "^8.27.0",
98
+ "eslint": "^8.33.0",
98
99
  "eslint-config-standard": "^17.0.0",
99
100
  "eslint-import-resolver-typescript": "^2.7.1",
100
- "eslint-plugin-import": "^2.26.0",
101
+ "eslint-plugin-import": "^2.27.5",
101
102
  "eslint-plugin-jest": "^26.9.0",
102
103
  "eslint-plugin-node": "^11.1.0",
103
104
  "eslint-plugin-promise": "^6.1.1",
@@ -106,17 +107,19 @@
106
107
  "jest": "^27.5.1",
107
108
  "jsdom": "^19.0.0",
108
109
  "lint-staged": "^12.5.0",
109
- "nock": "^13.2.9",
110
+ "nock": "^13.3.0",
110
111
  "react": "^17.0.2",
111
112
  "react-dom": "^17.0.2",
112
113
  "react-is": "^17.0.2",
113
- "test-usehooks-ts": "^3.0.0-beta",
114
114
  "ts-jest": "^27.1.5",
115
- "typedoc": "^0.23.21",
116
- "typescript": "^4.8.2",
115
+ "typedoc": "^0.23.24",
116
+ "typescript": "^4.9.5",
117
117
  "webpack": "^5.75.0",
118
118
  "webpack-cli": "^4.10.0"
119
119
  },
120
+ "optionalDependencies": {
121
+ "fsevents": "*"
122
+ },
120
123
  "husky": {
121
124
  "hooks": {
122
125
  "pre-commit": "lint-staged",