@siemens/ix 1.5.0-beta.1 → 1.5.0-beta.3

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 (276) hide show
  1. package/dist/cjs/index-478a4b66.js.map +1 -1
  2. package/dist/cjs/ix-blind.cjs.entry.js +24 -6
  3. package/dist/cjs/ix-blind.cjs.entry.js.map +1 -1
  4. package/dist/cjs/ix-breadcrumb_2.cjs.entry.js +6 -2
  5. package/dist/cjs/ix-breadcrumb_2.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ix-category-filter.cjs.entry.js +17 -3
  7. package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ix-date-picker_2.cjs.entry.js +3133 -3872
  9. package/dist/cjs/ix-date-picker_2.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ix-datetime-picker.cjs.entry.js +2 -2
  11. package/dist/cjs/ix-datetime-picker.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ix-dropdown_2.cjs.entry.js +4 -3
  13. package/dist/cjs/ix-dropdown_2.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ix-group_3.cjs.entry.js +33 -11
  15. package/dist/cjs/ix-group_3.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ix-modal_2.cjs.entry.js +17 -5
  17. package/dist/cjs/ix-modal_2.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ix-pagination.cjs.entry.js +17 -9
  19. package/dist/cjs/ix-pagination.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ix-select_2.cjs.entry.js +54 -35
  21. package/dist/cjs/ix-select_2.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ix-toggle.cjs.entry.js +1 -1
  23. package/dist/cjs/ix-toggle.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ix-tooltip.cjs.entry.js +34 -10
  25. package/dist/cjs/ix-tooltip.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ix-workflow-step_2.cjs.entry.js +51 -36
  27. package/dist/cjs/ix-workflow-step_2.cjs.entry.js.map +1 -1
  28. package/dist/cjs/loader.cjs.js +2 -2
  29. package/dist/cjs/loader.cjs.js.map +1 -1
  30. package/dist/cjs/siemens-ix.cjs.js +2 -2
  31. package/dist/cjs/siemens-ix.cjs.js.map +1 -1
  32. package/dist/collection/collection-manifest.json +1 -1
  33. package/dist/collection/components/blind/blind.css +10 -2
  34. package/dist/collection/components/blind/blind.js +12 -5
  35. package/dist/collection/components/blind/blind.js.map +1 -1
  36. package/dist/collection/components/breadcrumb/breadcrumb.css +2 -1
  37. package/dist/collection/components/breadcrumb/breadcrumb.js +5 -1
  38. package/dist/collection/components/breadcrumb/breadcrumb.js.map +1 -1
  39. package/dist/collection/components/category-filter/category-filter.js +17 -3
  40. package/dist/collection/components/category-filter/category-filter.js.map +1 -1
  41. package/dist/collection/components/date-picker/date-picker.css +3 -0
  42. package/dist/collection/components/date-picker/date-picker.js +64 -45
  43. package/dist/collection/components/date-picker/date-picker.js.map +1 -1
  44. package/dist/collection/components/datetime-picker/datetime-picker.css +6 -5
  45. package/dist/collection/components/datetime-picker/datetime-picker.js +1 -1
  46. package/dist/collection/components/datetime-picker/datetime-picker.js.map +1 -1
  47. package/dist/collection/components/dropdown/dropdown.js +2 -1
  48. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  49. package/dist/collection/components/dropdown-item/dropdown-item.css +0 -1
  50. package/dist/collection/components/dropdown-item/dropdown-item.js +1 -1
  51. package/dist/collection/components/dropdown-item/dropdown-item.js.map +1 -1
  52. package/dist/collection/components/group/group.css +21 -12
  53. package/dist/collection/components/group/group.js +34 -10
  54. package/dist/collection/components/group/group.js.map +1 -1
  55. package/dist/collection/components/group-item/group-item.css +8 -4
  56. package/dist/collection/components/modal/modal.js +6 -1
  57. package/dist/collection/components/modal/modal.js.map +1 -1
  58. package/dist/collection/components/modal-container/modal-container.js +11 -4
  59. package/dist/collection/components/modal-container/modal-container.js.map +1 -1
  60. package/dist/collection/components/pagination/pagination.css +1 -1
  61. package/dist/collection/components/pagination/pagination.js +17 -9
  62. package/dist/collection/components/pagination/pagination.js.map +1 -1
  63. package/dist/collection/components/select/select.css +4 -1
  64. package/dist/collection/components/select/select.js +96 -34
  65. package/dist/collection/components/select/select.js.map +1 -1
  66. package/dist/collection/components/select-item/select-item.css +0 -3
  67. package/dist/collection/components/select-item/select-item.js +1 -1
  68. package/dist/collection/components/select-item/select-item.js.map +1 -1
  69. package/dist/collection/components/toggle/toggle.css +7 -4
  70. package/dist/collection/components/tooltip/tooltip.js +55 -10
  71. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  72. package/dist/collection/components/utils/a11y.js +10 -0
  73. package/dist/collection/components/utils/a11y.js.map +1 -0
  74. package/dist/collection/components/workflow-step/workflow-step.css +6 -3
  75. package/dist/collection/components/workflow-step/workflow-step.js +45 -6
  76. package/dist/collection/components/workflow-step/workflow-step.js.map +1 -1
  77. package/dist/collection/components/workflow-steps/workflow-steps.css +0 -3
  78. package/dist/collection/components/workflow-steps/workflow-steps.js +48 -39
  79. package/dist/collection/components/workflow-steps/workflow-steps.js.map +1 -1
  80. package/dist/collection/tests/utils/test/page.js +29 -1
  81. package/dist/collection/tests/utils/test/page.js.map +1 -1
  82. package/dist/components/application-header.js +1 -1
  83. package/dist/components/burger-menu.js +1 -1
  84. package/dist/components/button.js +1 -1
  85. package/dist/components/date-picker.js +63 -44
  86. package/dist/components/date-picker.js.map +1 -1
  87. package/dist/components/date-time-card.js +1 -1
  88. package/dist/components/dropdown-item.js +3 -3
  89. package/dist/components/dropdown-item.js.map +1 -1
  90. package/dist/components/dropdown.js +3 -2
  91. package/dist/components/dropdown.js.map +1 -1
  92. package/dist/components/filter-chip.js +1 -1
  93. package/dist/components/group-context-menu.js +1 -1
  94. package/dist/components/group-item.js +2 -2
  95. package/dist/components/group-item.js.map +1 -1
  96. package/dist/components/icon-button.js +1 -1
  97. package/dist/components/icon.js +1 -1
  98. package/dist/components/index-button.js +1 -1
  99. package/dist/components/ix-animated-tab.js +1 -1
  100. package/dist/components/ix-animated-tabs.js +1 -1
  101. package/dist/components/ix-basic-navigation.js +1 -1
  102. package/dist/components/ix-blind.js +26 -7
  103. package/dist/components/ix-blind.js.map +1 -1
  104. package/dist/components/ix-breadcrumb-item.js +1 -1
  105. package/dist/components/ix-breadcrumb.js +7 -3
  106. package/dist/components/ix-breadcrumb.js.map +1 -1
  107. package/dist/components/ix-category-filter.js +18 -4
  108. package/dist/components/ix-category-filter.js.map +1 -1
  109. package/dist/components/ix-chip.js +1 -1
  110. package/dist/components/ix-counter-pill.js +1 -1
  111. package/dist/components/ix-datetime-picker.js +3 -3
  112. package/dist/components/ix-datetime-picker.js.map +1 -1
  113. package/dist/components/ix-divider.js +1 -1
  114. package/dist/components/ix-drawer.js +1 -1
  115. package/dist/components/ix-dropdown-button.js +1 -1
  116. package/dist/components/ix-dropdown-quick-actions.js +1 -1
  117. package/dist/components/ix-event-list-item.js +1 -1
  118. package/dist/components/ix-event-list.js +1 -1
  119. package/dist/components/ix-expanding-search.js +1 -1
  120. package/dist/components/ix-flip-tile-content.js +1 -1
  121. package/dist/components/ix-flip-tile.js +1 -1
  122. package/dist/components/ix-group-dropdown-item.js +1 -1
  123. package/dist/components/ix-group.js +36 -12
  124. package/dist/components/ix-group.js.map +1 -1
  125. package/dist/components/ix-input-group.js +1 -1
  126. package/dist/components/ix-kpi.js +1 -1
  127. package/dist/components/ix-map-navigation.js +1 -1
  128. package/dist/components/ix-menu-about-item.js +1 -1
  129. package/dist/components/ix-menu-about-news.js +1 -1
  130. package/dist/components/ix-menu-about.js +1 -1
  131. package/dist/components/ix-menu-avatar.js +1 -1
  132. package/dist/components/ix-menu-settings-item.js +1 -1
  133. package/dist/components/ix-menu-settings.js +1 -1
  134. package/dist/components/ix-menu.js +1 -1
  135. package/dist/components/ix-message-bar.js +1 -1
  136. package/dist/components/ix-modal-example.js +1 -1
  137. package/dist/components/ix-pagination.js +18 -10
  138. package/dist/components/ix-pagination.js.map +1 -1
  139. package/dist/components/ix-pill.js +1 -1
  140. package/dist/components/ix-split-button-item.js +1 -1
  141. package/dist/components/ix-split-button.js +1 -1
  142. package/dist/components/ix-tile.js +1 -1
  143. package/dist/components/ix-toast-container.js +1 -1
  144. package/dist/components/ix-toggle.js +2 -2
  145. package/dist/components/ix-toggle.js.map +1 -1
  146. package/dist/components/ix-tooltip.js +36 -11
  147. package/dist/components/ix-tooltip.js.map +1 -1
  148. package/dist/components/ix-tree.js +1 -1
  149. package/dist/components/ix-upload.js +1 -1
  150. package/dist/components/ix-validation-tooltip.js +1 -1
  151. package/dist/components/ix-workflow-step.js +10 -4
  152. package/dist/components/ix-workflow-step.js.map +1 -1
  153. package/dist/components/ix-workflow-steps.js +45 -36
  154. package/dist/components/ix-workflow-steps.js.map +1 -1
  155. package/dist/components/luxon.js +3077 -3835
  156. package/dist/components/luxon.js.map +1 -1
  157. package/dist/components/map-navigation-overlay.js +1 -1
  158. package/dist/components/menu-avatar-item.js +1 -1
  159. package/dist/components/menu-item.js +1 -1
  160. package/dist/components/modal-container.js +12 -5
  161. package/dist/components/modal-container.js.map +1 -1
  162. package/dist/components/modal.js +7 -2
  163. package/dist/components/modal.js.map +1 -1
  164. package/dist/components/my-component.js +1 -1
  165. package/dist/components/select-item.js +3 -3
  166. package/dist/components/select-item.js.map +1 -1
  167. package/dist/components/select.js +55 -34
  168. package/dist/components/select.js.map +1 -1
  169. package/dist/components/spinner.js +1 -1
  170. package/dist/components/tab-item.js +1 -1
  171. package/dist/components/tabs.js +1 -1
  172. package/dist/components/time-picker.js +1 -1
  173. package/dist/components/toast.js +1 -1
  174. package/dist/components/tree-item.js +1 -1
  175. package/dist/components/typography.js +1 -1
  176. package/dist/esm/index-3d163acd.js.map +1 -1
  177. package/dist/esm/ix-blind.entry.js +24 -6
  178. package/dist/esm/ix-blind.entry.js.map +1 -1
  179. package/dist/esm/ix-breadcrumb_2.entry.js +6 -2
  180. package/dist/esm/ix-breadcrumb_2.entry.js.map +1 -1
  181. package/dist/esm/ix-category-filter.entry.js +17 -3
  182. package/dist/esm/ix-category-filter.entry.js.map +1 -1
  183. package/dist/esm/ix-date-picker_2.entry.js +3133 -3872
  184. package/dist/esm/ix-date-picker_2.entry.js.map +1 -1
  185. package/dist/esm/ix-datetime-picker.entry.js +2 -2
  186. package/dist/esm/ix-datetime-picker.entry.js.map +1 -1
  187. package/dist/esm/ix-dropdown_2.entry.js +4 -3
  188. package/dist/esm/ix-dropdown_2.entry.js.map +1 -1
  189. package/dist/esm/ix-group_3.entry.js +33 -11
  190. package/dist/esm/ix-group_3.entry.js.map +1 -1
  191. package/dist/esm/ix-modal_2.entry.js +17 -5
  192. package/dist/esm/ix-modal_2.entry.js.map +1 -1
  193. package/dist/esm/ix-pagination.entry.js +18 -10
  194. package/dist/esm/ix-pagination.entry.js.map +1 -1
  195. package/dist/esm/ix-select_2.entry.js +54 -35
  196. package/dist/esm/ix-select_2.entry.js.map +1 -1
  197. package/dist/esm/ix-toggle.entry.js +1 -1
  198. package/dist/esm/ix-toggle.entry.js.map +1 -1
  199. package/dist/esm/ix-tooltip.entry.js +34 -10
  200. package/dist/esm/ix-tooltip.entry.js.map +1 -1
  201. package/dist/esm/ix-workflow-step_2.entry.js +52 -37
  202. package/dist/esm/ix-workflow-step_2.entry.js.map +1 -1
  203. package/dist/esm/loader.js +2 -2
  204. package/dist/esm/loader.js.map +1 -1
  205. package/dist/esm/siemens-ix.js +2 -2
  206. package/dist/esm/siemens-ix.js.map +1 -1
  207. package/dist/siemens-ix/{p-41f0a2b2.entry.js → p-2ea2fc07.entry.js} +2 -2
  208. package/dist/siemens-ix/{p-41f0a2b2.entry.js.map → p-2ea2fc07.entry.js.map} +1 -1
  209. package/dist/siemens-ix/p-33160fe4.entry.js +2 -0
  210. package/dist/siemens-ix/p-33160fe4.entry.js.map +1 -0
  211. package/dist/siemens-ix/p-4c8d5207.entry.js +2 -0
  212. package/dist/siemens-ix/p-4c8d5207.entry.js.map +1 -0
  213. package/dist/siemens-ix/p-53c69375.entry.js +2 -0
  214. package/dist/siemens-ix/p-53c69375.entry.js.map +1 -0
  215. package/dist/siemens-ix/p-626b3af5.entry.js +2 -0
  216. package/dist/siemens-ix/p-626b3af5.entry.js.map +1 -0
  217. package/dist/siemens-ix/p-663724a8.entry.js +2 -0
  218. package/dist/siemens-ix/p-663724a8.entry.js.map +1 -0
  219. package/dist/siemens-ix/p-78f2b858.entry.js +2 -0
  220. package/dist/siemens-ix/p-78f2b858.entry.js.map +1 -0
  221. package/dist/siemens-ix/p-7fb5fa79.entry.js +2 -0
  222. package/dist/siemens-ix/p-7fb5fa79.entry.js.map +1 -0
  223. package/dist/siemens-ix/p-8fcd6f85.js.map +1 -1
  224. package/dist/siemens-ix/p-b998abe4.entry.js +2 -0
  225. package/dist/siemens-ix/p-b998abe4.entry.js.map +1 -0
  226. package/dist/siemens-ix/{p-24d2d95e.entry.js → p-c9c9f2b5.entry.js} +2 -2
  227. package/dist/siemens-ix/p-c9c9f2b5.entry.js.map +1 -0
  228. package/dist/siemens-ix/p-caae2fa5.entry.js +2 -0
  229. package/dist/siemens-ix/p-caae2fa5.entry.js.map +1 -0
  230. package/dist/siemens-ix/p-dbcf33de.entry.js +2 -0
  231. package/dist/siemens-ix/p-dbcf33de.entry.js.map +1 -0
  232. package/dist/siemens-ix/{p-28f50519.entry.js → p-eb799bdd.entry.js} +2 -2
  233. package/dist/siemens-ix/p-eb799bdd.entry.js.map +1 -0
  234. package/dist/siemens-ix/siemens-ix.css +15 -0
  235. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  236. package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
  237. package/dist/types/components/blind/blind.d.ts +1 -0
  238. package/dist/types/components/category-filter/category-filter.d.ts +1 -0
  239. package/dist/types/components/date-picker/date-picker.d.ts +7 -6
  240. package/dist/types/components/group/group.d.ts +4 -0
  241. package/dist/types/components/modal/modal.d.ts +1 -0
  242. package/dist/types/components/modal-container/modal-container.d.ts +1 -0
  243. package/dist/types/components/pagination/pagination.d.ts +2 -0
  244. package/dist/types/components/select/select.d.ts +17 -1
  245. package/dist/types/components/time-picker/time-picker.d.ts +3 -3
  246. package/dist/types/components/tooltip/tooltip.d.ts +8 -0
  247. package/dist/types/components/utils/a11y.d.ts +1 -0
  248. package/dist/types/components/workflow-step/workflow-step.d.ts +9 -1
  249. package/dist/types/components/workflow-steps/workflow-steps.d.ts +6 -2
  250. package/dist/types/components.d.ts +49 -9
  251. package/dist/types/tests/utils/test/page.d.ts +5 -0
  252. package/loader/index.d.ts +1 -1
  253. package/package.json +7 -8
  254. package/scss/components/_forms.scss +6 -0
  255. package/dist/siemens-ix/p-01f9f803.entry.js +0 -2
  256. package/dist/siemens-ix/p-01f9f803.entry.js.map +0 -1
  257. package/dist/siemens-ix/p-030078b4.entry.js +0 -2
  258. package/dist/siemens-ix/p-030078b4.entry.js.map +0 -1
  259. package/dist/siemens-ix/p-1701b127.entry.js +0 -2
  260. package/dist/siemens-ix/p-1701b127.entry.js.map +0 -1
  261. package/dist/siemens-ix/p-24d2d95e.entry.js.map +0 -1
  262. package/dist/siemens-ix/p-28f50519.entry.js.map +0 -1
  263. package/dist/siemens-ix/p-446a0a3f.entry.js +0 -2
  264. package/dist/siemens-ix/p-446a0a3f.entry.js.map +0 -1
  265. package/dist/siemens-ix/p-58ef1328.entry.js +0 -2
  266. package/dist/siemens-ix/p-58ef1328.entry.js.map +0 -1
  267. package/dist/siemens-ix/p-6facc3cc.entry.js +0 -2
  268. package/dist/siemens-ix/p-6facc3cc.entry.js.map +0 -1
  269. package/dist/siemens-ix/p-73f7ef87.entry.js +0 -2
  270. package/dist/siemens-ix/p-73f7ef87.entry.js.map +0 -1
  271. package/dist/siemens-ix/p-a4178e26.entry.js +0 -2
  272. package/dist/siemens-ix/p-a4178e26.entry.js.map +0 -1
  273. package/dist/siemens-ix/p-a92126b5.entry.js +0 -2
  274. package/dist/siemens-ix/p-a92126b5.entry.js.map +0 -1
  275. package/dist/siemens-ix/p-b64e82ce.entry.js +0 -2
  276. package/dist/siemens-ix/p-b64e82ce.entry.js.map +0 -1
@@ -5,7 +5,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
5
5
  const index = require('./index-478a4b66.js');
6
6
 
7
7
  /*
8
- Stencil Client Patch Browser v3.1.0 | MIT Licensed | https://stenciljs.com
8
+ Stencil Client Patch Browser v3.2.1 | MIT Licensed | https://stenciljs.com
9
9
  */
10
10
  const patchBrowser = () => {
11
11
  const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('siemens-ix.cjs.js', document.baseURI).href));
@@ -20,7 +20,7 @@ const patchBrowser = () => {
20
20
  };
21
21
 
22
22
  patchBrowser().then(options => {
23
- return index.bootstrapLazy(JSON.parse("[[\"ix-icon.cjs\",[[6,\"ix-icon\",{\"size\":[1],\"color\":[1],\"name\":[513]}]]],[\"ix-pagination.cjs\",[[2,\"ix-pagination\",{\"advanced\":[4],\"itemCount\":[2,\"item-count\"],\"showItemCount\":[4,\"show-item-count\"],\"count\":[2],\"selectedPage\":[1026,\"selected-page\"],\"i18nPage\":[1,\"i-1-8n-page\"],\"i18nOf\":[1,\"i-1-8n-of\"],\"i18nItems\":[1,\"i-1-8n-items\"]}]]],[\"ix-datetime-picker.cjs\",[[2,\"ix-datetime-picker\",{\"range\":[4],\"showHour\":[4,\"show-hour\"],\"showMinutes\":[4,\"show-minutes\"],\"showSeconds\":[4,\"show-seconds\"],\"minDate\":[1,\"min-date\"],\"maxDate\":[1,\"max-date\"],\"dateFormat\":[1,\"date-format\"],\"timeFormat\":[1,\"time-format\"],\"from\":[1],\"to\":[1],\"time\":[1],\"showTimeReference\":[8,\"show-time-reference\"],\"eventDelimiter\":[1,\"event-delimiter\"],\"timeReference\":[1,\"time-reference\"],\"textSelectDate\":[1,\"text-select-date\"]}]]],[\"ix-modal-example.cjs\",[[0,\"ix-modal-example\"]]],[\"ix-split-button_2.cjs\",[[6,\"ix-split-button\",{\"variant\":[1],\"outline\":[4],\"invisible\":[4],\"ghost\":[4],\"label\":[1],\"icon\":[1],\"splitIcon\":[1,\"split-icon\"],\"disabled\":[4],\"placement\":[1],\"toggle\":[32]}],[2,\"ix-split-button-item\",{\"icon\":[1],\"label\":[1]}]]],[\"ix-category-filter.cjs\",[[2,\"ix-category-filter\",{\"initialState\":[16],\"filterState\":[16],\"placeholder\":[1],\"categories\":[16],\"nonSelectableCategories\":[16],\"suggestions\":[16],\"icon\":[1],\"hideIcon\":[4,\"hide-icon\"],\"repeatCategories\":[4,\"repeat-categories\"],\"tmpDisableScrollIntoView\":[4,\"tmp-disable-scroll-into-view\"],\"labelCategories\":[1,\"label-categories\"],\"i18nPlainText\":[1,\"i-1-8n-plain-text\"],\"textInput\":[32],\"hasFocus\":[32],\"categoryLogicalOperator\":[32],\"inputValue\":[32],\"category\":[32],\"filterTokens\":[32]}]]],[\"ix-dropdown-button.cjs\",[[6,\"ix-dropdown-button\",{\"variant\":[1],\"outline\":[4],\"ghost\":[4],\"active\":[4],\"disabled\":[4],\"label\":[1],\"icon\":[1],\"dropdownAnchor\":[32]}]]],[\"ix-breadcrumb_2.cjs\",[[6,\"ix-breadcrumb\",{\"visibleItemCount\":[2,\"visible-item-count\"],\"nextItems\":[16],\"ghost\":[4],\"previousButtonRef\":[32],\"nextButtonRef\":[32],\"items\":[32]}],[6,\"ix-breadcrumb-item\",{\"label\":[1],\"icon\":[1]}]]],[\"ix-flip-tile_2.cjs\",[[6,\"ix-flip-tile\",{\"state\":[1],\"footer\":[1],\"height\":[8],\"width\":[8],\"index\":[32],\"isFlipAnimationActive\":[32]}],[1,\"ix-flip-tile-content\"]]],[\"ix-drawer.cjs\",[[6,\"ix-drawer\",{\"show\":[1028],\"closeOnClickOutside\":[4,\"close-on-click-outside\"],\"fullHeight\":[4,\"full-height\"],\"minWidth\":[2,\"min-width\"],\"maxWidth\":[2,\"max-width\"],\"width\":[8],\"toggleDrawer\":[64]}]]],[\"ix-expanding-search.cjs\",[[2,\"ix-expanding-search\",{\"icon\":[1],\"placeholder\":[1],\"value\":[1025],\"isFieldChanged\":[32],\"expanded\":[32],\"hasFocus\":[32]}]]],[\"ix-upload.cjs\",[[2,\"ix-upload\",{\"accept\":[1],\"multiple\":[4],\"multiline\":[4],\"disabled\":[4],\"state\":[1],\"selectFileText\":[1,\"select-file-text\"],\"loadingText\":[1,\"loading-text\"],\"uploadFailedText\":[1,\"upload-failed-text\"],\"uploadSuccessText\":[1,\"upload-success-text\"],\"i18nUploadFile\":[1,\"i-1-8n-upload-file\"],\"i18nUploadDisabled\":[1,\"i-1-8n-upload-disabled\"],\"isFileOver\":[32],\"setFilesToUpload\":[64]}]]],[\"ix-application-header.cjs\",[[1,\"ix-application-header\",{\"name\":[1],\"mode\":[32],\"menuExpanded\":[32]}]]],[\"ix-basic-navigation.cjs\",[[6,\"ix-basic-navigation\",{\"applicationName\":[1,\"application-name\"],\"hideHeader\":[4,\"hide-header\"],\"mode\":[32]}]]],[\"ix-message-bar.cjs\",[[6,\"ix-message-bar\",{\"type\":[1],\"dismissible\":[4],\"icon\":[32],\"color\":[32]}]]],[\"ix-animated-tab_2.cjs\",[[6,\"ix-animated-tabs\",{\"disableAnimations\":[4,\"disable-animations\"],\"selectedIndex\":[2,\"selected-index\"],\"tabPlacement\":[1,\"tab-placement\"],\"tabs\":[32],\"activeIndex\":[32]},[[1,\"mouseup\",\"onMouseDown\"]]],[6,\"ix-animated-tab\",{\"icon\":[1],\"count\":[514]}]]],[\"ix-workflow-step_2.cjs\",[[6,\"ix-workflow-step\",{\"vertical\":[4],\"disabled\":[4],\"status\":[1],\"clickable\":[4],\"selected\":[1028],\"position\":[1],\"iconName\":[32],\"iconColor\":[32]}],[6,\"ix-workflow-steps\",{\"vertical\":[4],\"linear\":[4],\"clickable\":[4],\"selectedIndex\":[2,\"selected-index\"]}]]],[\"ix-blind.cjs\",[[6,\"ix-blind\",{\"collapsed\":[1540],\"label\":[1],\"icon\":[1]}]]],[\"ix-chip.cjs\",[[6,\"ix-chip\",{\"variant\":[513],\"active\":[4],\"closable\":[4],\"icon\":[1],\"background\":[1],\"color\":[1],\"outline\":[4]}]]],[\"ix-kpi.cjs\",[[2,\"ix-kpi\",{\"label\":[1],\"value\":[8],\"unit\":[1],\"state\":[1],\"orientation\":[1]}]]],[\"ix-pill.cjs\",[[6,\"ix-pill\",{\"variant\":[513],\"outline\":[4],\"icon\":[1],\"background\":[1],\"color\":[1],\"alignLeft\":[4,\"align-left\"]}]]],[\"ix-tooltip.cjs\",[[1,\"ix-tooltip\",{\"for\":[1],\"titleContent\":[1,\"title-content\"],\"interactive\":[4],\"visible\":[32]}]]],[\"ix-event-list_2.cjs\",[[6,\"ix-event-list\",{\"itemHeight\":[8,\"item-height\"],\"compact\":[4],\"animated\":[4],\"chevron\":[4]}],[4,\"ix-event-list-item\",{\"color\":[1],\"selected\":[4],\"disabled\":[4],\"chevron\":[4],\"opacity\":[2]},[[1,\"click\",\"handleItemClick\"]]]]],[\"ix-counter-pill.cjs\",[[6,\"ix-counter-pill\",{\"variant\":[513],\"outline\":[4],\"background\":[1],\"color\":[1],\"alignLeft\":[4,\"align-left\"]}]]],[\"ix-divider.cjs\",[[1,\"ix-divider\"]]],[\"ix-dropdown-quick-actions.cjs\",[[1,\"ix-dropdown-quick-actions\"]]],[\"ix-input-group.cjs\",[[6,\"ix-input-group\"]]],[\"ix-tile.cjs\",[[6,\"ix-tile\",{\"size\":[1]}]]],[\"ix-toggle.cjs\",[[2,\"ix-toggle\",{\"checked\":[1540],\"disabled\":[4],\"indeterminate\":[4],\"color\":[1],\"textOn\":[1,\"text-on\"],\"textOff\":[1,\"text-off\"],\"textIndeterminate\":[1,\"text-indeterminate\"],\"hideText\":[4,\"hide-text\"]},[[8,\"keydown\",\"onKeyDown\"]]]]],[\"ix-validation-tooltip.cjs\",[[6,\"ix-validation-tooltip\",{\"message\":[1],\"placement\":[1],\"isInputValid\":[32],\"tooltipPosition\":[32],\"arrowPosition\":[32]}]]],[\"my-component.cjs\",[[2,\"my-component\"]]],[\"ix-group_3.cjs\",[[6,\"ix-group\",{\"suppressHeaderSelection\":[4,\"suppress-header-selection\"],\"header\":[1],\"subHeader\":[1,\"sub-header\"],\"collapsed\":[1540],\"selected\":[1540],\"index\":[1538],\"expandOnHeaderClick\":[4,\"expand-on-header-click\"],\"dropdownTriggerRef\":[32]},[[8,\"keydown\",\"onKeyDown\"]]],[6,\"ix-group-dropdown-item\",{\"label\":[1],\"icon\":[1]}],[6,\"ix-group-item\",{\"icon\":[1],\"text\":[1],\"secondaryText\":[1,\"secondary-text\"],\"suppressSelection\":[4,\"suppress-selection\"],\"selected\":[4],\"focusable\":[4],\"index\":[2]},[[1,\"click\",\"clickListen\"]]]]],[\"ix-map-navigation_2.cjs\",[[6,\"ix-map-navigation\",{\"applicationName\":[1,\"application-name\"],\"navigationTitle\":[1,\"navigation-title\"],\"hideContextMenu\":[4,\"hide-context-menu\"],\"isSidebarOpen\":[32],\"openOverlay\":[64],\"closeOverlay\":[64]}],[6,\"ix-map-navigation-overlay\",{\"name\":[1],\"icon\":[1],\"color\":[1]}]]],[\"ix-toast_2.cjs\",[[2,\"ix-toast-container\",{\"containerId\":[1,\"container-id\"],\"containerClass\":[1,\"container-class\"],\"position\":[1],\"showToast\":[64]}],[6,\"ix-toast\",{\"type\":[1],\"toastTitle\":[1,\"toast-title\"],\"autoCloseDelay\":[2,\"auto-close-delay\"],\"autoClose\":[4,\"auto-close\"],\"icon\":[1],\"iconColor\":[1,\"icon-color\"],\"progress\":[32],\"isRunning\":[32],\"touched\":[32]}]]],[\"ix-tree_2.cjs\",[[6,\"ix-tree\",{\"root\":[1],\"model\":[16],\"renderItem\":[16],\"context\":[1040]}],[6,\"ix-tree-item\",{\"text\":[1],\"hasChildren\":[4,\"has-children\"],\"context\":[16]}]]],[\"ix-group-context-menu.cjs\",[[6,\"ix-group-context-menu\",{\"showContextMenu\":[32]}]]],[\"ix-index-button.cjs\",[[6,\"ix-index-button\",{\"variant\":[1],\"selected\":[4]}]]],[\"ix-spinner.cjs\",[[2,\"ix-spinner\",{\"variant\":[1],\"size\":[1]}]]],[\"ix-typography.cjs\",[[1,\"ix-typography\",{\"variant\":[1]}]]],[\"ix-tabs.cjs\",[[4,\"ix-tabs\",{\"small\":[4],\"rounded\":[4],\"selected\":[1026],\"layout\":[1],\"placement\":[1],\"totalItems\":[32],\"currentScrollAmount\":[32],\"scrollAmount\":[32],\"styleNextArrow\":[32],\"stylePreviousArrow\":[32],\"scrollActionAmount\":[32]},[[9,\"resize\",\"onWindowResize\"]]]]],[\"ix-menu_9.cjs\",[[6,\"ix-menu-about\",{\"activeTabLabel\":[1025,\"active-tab-label\"],\"label\":[1],\"show\":[4],\"labels\":[32]}],[6,\"ix-menu-avatar\",{\"top\":[1],\"bottom\":[1],\"image\":[1],\"initials\":[1],\"i18nLogout\":[1,\"i-1-8n-logout\"]}],[6,\"ix-menu-settings\",{\"activeTabLabel\":[1025,\"active-tab-label\"],\"label\":[1],\"show\":[4]}],[4,\"ix-menu\",{\"showSettings\":[1028,\"show-settings\"],\"showAbout\":[1028,\"show-about\"],\"enableToggleTheme\":[4,\"enable-toggle-theme\"],\"enableSettings\":[4,\"enable-settings\"],\"enableMapExpand\":[4,\"enable-map-expand\"],\"applicationName\":[1,\"application-name\"],\"applicationDescription\":[1,\"application-description\"],\"maxVisibleMenuItems\":[2,\"max-visible-menu-items\"],\"i18nLegal\":[1,\"i-1-8n-legal\"],\"i18nSettings\":[1,\"i-1-8n-settings\"],\"i18nToggleTheme\":[1,\"i-1-8n-toggle-theme\"],\"i18nExpand\":[1,\"i-1-8n-expand\"],\"i18nCollapse\":[1,\"i-1-8n-collapse\"],\"i18nMore\":[1,\"i-1-8n-more\"],\"expand\":[1540],\"showMoreItems\":[32],\"visibleMenuItems\":[32],\"countMoreNotifications\":[32],\"mapExpand\":[32],\"activeTab\":[32],\"isMoreTabEmpty\":[32],\"mode\":[32],\"toggleMapExpand\":[64],\"toggleMenu\":[64],\"toggleSettings\":[64],\"toggleAbout\":[64]},[[9,\"resize\",\"onWindowResize\"]]],[6,\"ix-menu-about-news\",{\"show\":[1540],\"label\":[1],\"i18nShowMore\":[1,\"i-1-8n-show-more\"],\"aboutItemLabel\":[1,\"about-item-label\"],\"offsetBottom\":[2,\"offset-bottom\"],\"expanded\":[4]}],[6,\"ix-menu-about-item\",{\"label\":[513]}],[6,\"ix-menu-settings-item\",{\"label\":[1]}],[2,\"ix-menu-avatar-item\",{\"icon\":[1],\"label\":[1]}],[6,\"ix-menu-item\",{\"home\":[4],\"bottom\":[4],\"tabIcon\":[1,\"tab-icon\"],\"notifications\":[2],\"active\":[4],\"disabled\":[4],\"title\":[32]}]]],[\"ix-date-picker_2.cjs\",[[2,\"ix-date-picker\",{\"format\":[1],\"range\":[4],\"individual\":[4],\"corners\":[1],\"from\":[1],\"to\":[1],\"minDate\":[1,\"min-date\"],\"maxDate\":[1,\"max-date\"],\"eventDelimiter\":[1,\"event-delimiter\"],\"textSelectDate\":[1,\"text-select-date\"],\"yearValue\":[32],\"today\":[32],\"monthValue\":[32],\"calendar\":[32],\"years\":[32],\"tempYear\":[32],\"tempMonth\":[32],\"start\":[32],\"end\":[32],\"dropdownButtonRef\":[32],\"yearContainerRef\":[32],\"getCurrentDate\":[64]}],[2,\"ix-time-picker\",{\"format\":[1],\"corners\":[1],\"individual\":[4],\"showHour\":[4,\"show-hour\"],\"showMinutes\":[4,\"show-minutes\"],\"showSeconds\":[4,\"show-seconds\"],\"time\":[1],\"showTimeReference\":[1032,\"show-time-reference\"],\"timeReference\":[1,\"time-reference\"],\"textSelectTime\":[1,\"text-select-time\"],\"hourInputRef\":[32],\"minuteInputRef\":[32],\"secondInputRef\":[32],\"referenceInputRef\":[32],\"getCurrentTime\":[64]}]]],[\"ix-tab-item.cjs\",[[4,\"ix-tab-item\",{\"selected\":[4],\"disabled\":[4],\"small\":[4],\"icon\":[4],\"rounded\":[4],\"counter\":[2],\"layout\":[1],\"placement\":[1]}]]],[\"ix-modal_2.cjs\",[[2,\"ix-modal-container\",{\"showModal\":[64]}],[6,\"ix-modal\",{\"animation\":[4],\"ariaDescribedBy\":[1,\"aria-described-by\"],\"ariaLabelledBy\":[1,\"aria-labelled-by\"],\"backdrop\":[8],\"backdropClass\":[1,\"backdrop-class\"],\"beforeDismiss\":[16],\"centered\":[4],\"content\":[1],\"keyboard\":[4],\"icon\":[1],\"iconColor\":[1,\"icon-color\"],\"modalDialogClass\":[1,\"modal-dialog-class\"],\"scrollable\":[4],\"size\":[1],\"headerTitle\":[1,\"header-title\"],\"windowClass\":[1,\"window-class\"],\"dismiss\":[64],\"close\":[64]}]]],[\"ix-filter-chip.cjs\",[[6,\"ix-filter-chip\",{\"disabled\":[4]}]]],[\"ix-select_2.cjs\",[[6,\"ix-select\",{\"selectedIndices\":[1025,\"selected-indices\"],\"allowClear\":[4,\"allow-clear\"],\"mode\":[1],\"editable\":[4],\"disabled\":[4],\"readonly\":[4],\"i18nPlaceholder\":[1,\"i-1-8n-placeholder\"],\"i18nPlaceholderEditable\":[1,\"i-1-8n-placeholder-editable\"],\"i18nSelectListHeader\":[1,\"i-1-8n-select-list-header\"],\"dropdownShow\":[32],\"value\":[32],\"dropdownWrapperRef\":[32],\"dropdownAnchor\":[32],\"isDropdownEmpty\":[32],\"hasFocus\":[32],\"navigationItem\":[32],\"inputFilterText\":[32],\"inputValue\":[32]},[[0,\"itemClick\",\"onItemClicked\"],[0,\"ix-select-item:labelChange\",\"onLabelChange\"],[8,\"keydown\",\"onKeyDown\"]]],[2,\"ix-select-item\",{\"label\":[513],\"value\":[520],\"selected\":[4],\"hover\":[4],\"onItemClick\":[64]}]]],[\"ix-date-time-card.cjs\",[[6,\"ix-date-time-card\",{\"individual\":[4],\"corners\":[1]}]]],[\"ix-burger-menu.cjs\",[[1,\"ix-burger-menu\",{\"expanded\":[516]}]]],[\"ix-button.cjs\",[[6,\"ix-button\",{\"variant\":[1],\"outline\":[4],\"invisible\":[4],\"ghost\":[4],\"selected\":[4],\"disabled\":[516],\"type\":[1]}]]],[\"ix-dropdown_2.cjs\",[[6,\"ix-dropdown-item\",{\"label\":[1],\"icon\":[1],\"hover\":[4],\"disabled\":[4],\"checked\":[4],\"emitItemClick\":[64]}],[1,\"ix-dropdown\",{\"show\":[1540],\"trigger\":[1],\"anchor\":[1],\"closeBehavior\":[8,\"close-behavior\"],\"placement\":[1],\"positioningStrategy\":[1,\"positioning-strategy\"],\"adjustDropdownWidthToReferenceWith\":[4,\"adjust-dropdown-width-to-reference-with\"],\"adjustDropdownWidthToReferenceWidth\":[4,\"adjust-dropdown-width-to-reference-width\"],\"header\":[1],\"offset\":[16],\"triggerEvent\":[1,\"trigger-event\"],\"overwriteDropdownStyle\":[16],\"updatePosition\":[64]},[[8,\"click\",\"clickOutside\"]]]]],[\"ix-icon-button.cjs\",[[6,\"ix-icon-button\",{\"variant\":[1],\"outline\":[4],\"invisible\":[4],\"ghost\":[4],\"oval\":[4],\"icon\":[1],\"size\":[1],\"color\":[1],\"selected\":[4],\"disabled\":[4],\"type\":[1]}]]]]"), options);
23
+ return index.bootstrapLazy(JSON.parse("[[\"ix-icon.cjs\",[[6,\"ix-icon\",{\"size\":[1],\"color\":[1],\"name\":[513]}]]],[\"ix-pagination.cjs\",[[2,\"ix-pagination\",{\"advanced\":[4],\"itemCount\":[2,\"item-count\"],\"showItemCount\":[4,\"show-item-count\"],\"count\":[2],\"selectedPage\":[1026,\"selected-page\"],\"i18nPage\":[1,\"i-1-8n-page\"],\"i18nOf\":[1,\"i-1-8n-of\"],\"i18nItems\":[1,\"i-1-8n-items\"]}]]],[\"ix-datetime-picker.cjs\",[[2,\"ix-datetime-picker\",{\"range\":[4],\"showHour\":[4,\"show-hour\"],\"showMinutes\":[4,\"show-minutes\"],\"showSeconds\":[4,\"show-seconds\"],\"minDate\":[1,\"min-date\"],\"maxDate\":[1,\"max-date\"],\"dateFormat\":[1,\"date-format\"],\"timeFormat\":[1,\"time-format\"],\"from\":[1],\"to\":[1],\"time\":[1],\"showTimeReference\":[8,\"show-time-reference\"],\"eventDelimiter\":[1,\"event-delimiter\"],\"timeReference\":[1,\"time-reference\"],\"textSelectDate\":[1,\"text-select-date\"]}]]],[\"ix-modal-example.cjs\",[[0,\"ix-modal-example\"]]],[\"ix-split-button_2.cjs\",[[6,\"ix-split-button\",{\"variant\":[1],\"outline\":[4],\"invisible\":[4],\"ghost\":[4],\"label\":[1],\"icon\":[1],\"splitIcon\":[1,\"split-icon\"],\"disabled\":[4],\"placement\":[1],\"toggle\":[32]}],[2,\"ix-split-button-item\",{\"icon\":[1],\"label\":[1]}]]],[\"ix-category-filter.cjs\",[[2,\"ix-category-filter\",{\"initialState\":[16],\"filterState\":[16],\"placeholder\":[1],\"categories\":[16],\"nonSelectableCategories\":[16],\"suggestions\":[16],\"icon\":[1],\"hideIcon\":[4,\"hide-icon\"],\"repeatCategories\":[4,\"repeat-categories\"],\"tmpDisableScrollIntoView\":[4,\"tmp-disable-scroll-into-view\"],\"labelCategories\":[1,\"label-categories\"],\"i18nPlainText\":[1,\"i-1-8n-plain-text\"],\"textInput\":[32],\"hasFocus\":[32],\"categoryLogicalOperator\":[32],\"inputValue\":[32],\"category\":[32],\"filterTokens\":[32]}]]],[\"ix-dropdown-button.cjs\",[[6,\"ix-dropdown-button\",{\"variant\":[1],\"outline\":[4],\"ghost\":[4],\"active\":[4],\"disabled\":[4],\"label\":[1],\"icon\":[1],\"dropdownAnchor\":[32]}]]],[\"ix-breadcrumb_2.cjs\",[[6,\"ix-breadcrumb\",{\"visibleItemCount\":[2,\"visible-item-count\"],\"nextItems\":[16],\"ghost\":[4],\"previousButtonRef\":[32],\"nextButtonRef\":[32],\"items\":[32]}],[6,\"ix-breadcrumb-item\",{\"label\":[1],\"icon\":[1]}]]],[\"ix-flip-tile_2.cjs\",[[6,\"ix-flip-tile\",{\"state\":[1],\"footer\":[1],\"height\":[8],\"width\":[8],\"index\":[32],\"isFlipAnimationActive\":[32]}],[1,\"ix-flip-tile-content\"]]],[\"ix-drawer.cjs\",[[6,\"ix-drawer\",{\"show\":[1028],\"closeOnClickOutside\":[4,\"close-on-click-outside\"],\"fullHeight\":[4,\"full-height\"],\"minWidth\":[2,\"min-width\"],\"maxWidth\":[2,\"max-width\"],\"width\":[8],\"toggleDrawer\":[64]}]]],[\"ix-expanding-search.cjs\",[[2,\"ix-expanding-search\",{\"icon\":[1],\"placeholder\":[1],\"value\":[1025],\"isFieldChanged\":[32],\"expanded\":[32],\"hasFocus\":[32]}]]],[\"ix-upload.cjs\",[[2,\"ix-upload\",{\"accept\":[1],\"multiple\":[4],\"multiline\":[4],\"disabled\":[4],\"state\":[1],\"selectFileText\":[1,\"select-file-text\"],\"loadingText\":[1,\"loading-text\"],\"uploadFailedText\":[1,\"upload-failed-text\"],\"uploadSuccessText\":[1,\"upload-success-text\"],\"i18nUploadFile\":[1,\"i-1-8n-upload-file\"],\"i18nUploadDisabled\":[1,\"i-1-8n-upload-disabled\"],\"isFileOver\":[32],\"setFilesToUpload\":[64]}]]],[\"ix-application-header.cjs\",[[1,\"ix-application-header\",{\"name\":[1],\"mode\":[32],\"menuExpanded\":[32]}]]],[\"ix-basic-navigation.cjs\",[[6,\"ix-basic-navigation\",{\"applicationName\":[1,\"application-name\"],\"hideHeader\":[4,\"hide-header\"],\"mode\":[32]}]]],[\"ix-message-bar.cjs\",[[6,\"ix-message-bar\",{\"type\":[1],\"dismissible\":[4],\"icon\":[32],\"color\":[32]}]]],[\"ix-animated-tab_2.cjs\",[[6,\"ix-animated-tabs\",{\"disableAnimations\":[4,\"disable-animations\"],\"selectedIndex\":[2,\"selected-index\"],\"tabPlacement\":[1,\"tab-placement\"],\"tabs\":[32],\"activeIndex\":[32]},[[1,\"mouseup\",\"onMouseDown\"]]],[6,\"ix-animated-tab\",{\"icon\":[1],\"count\":[514]}]]],[\"ix-workflow-step_2.cjs\",[[6,\"ix-workflow-step\",{\"vertical\":[4],\"disabled\":[4],\"status\":[1],\"clickable\":[4],\"selected\":[1028],\"position\":[1],\"iconName\":[32],\"iconColor\":[32]},[[1,\"click\",\"clickFunction\"]]],[6,\"ix-workflow-steps\",{\"vertical\":[4],\"linear\":[4],\"clickable\":[4],\"selectedIndex\":[2,\"selected-index\"]}]]],[\"ix-blind.cjs\",[[6,\"ix-blind\",{\"collapsed\":[1540],\"label\":[1],\"icon\":[1]}]]],[\"ix-chip.cjs\",[[6,\"ix-chip\",{\"variant\":[513],\"active\":[4],\"closable\":[4],\"icon\":[1],\"background\":[1],\"color\":[1],\"outline\":[4]}]]],[\"ix-kpi.cjs\",[[2,\"ix-kpi\",{\"label\":[1],\"value\":[8],\"unit\":[1],\"state\":[1],\"orientation\":[1]}]]],[\"ix-pill.cjs\",[[6,\"ix-pill\",{\"variant\":[513],\"outline\":[4],\"icon\":[1],\"background\":[1],\"color\":[1],\"alignLeft\":[4,\"align-left\"]}]]],[\"ix-tooltip.cjs\",[[1,\"ix-tooltip\",{\"for\":[1],\"titleContent\":[1,\"title-content\"],\"interactive\":[4],\"placement\":[1],\"visible\":[32]}]]],[\"ix-event-list_2.cjs\",[[6,\"ix-event-list\",{\"itemHeight\":[8,\"item-height\"],\"compact\":[4],\"animated\":[4],\"chevron\":[4]}],[4,\"ix-event-list-item\",{\"color\":[1],\"selected\":[4],\"disabled\":[4],\"chevron\":[4],\"opacity\":[2]},[[1,\"click\",\"handleItemClick\"]]]]],[\"ix-counter-pill.cjs\",[[6,\"ix-counter-pill\",{\"variant\":[513],\"outline\":[4],\"background\":[1],\"color\":[1],\"alignLeft\":[4,\"align-left\"]}]]],[\"ix-divider.cjs\",[[1,\"ix-divider\"]]],[\"ix-dropdown-quick-actions.cjs\",[[1,\"ix-dropdown-quick-actions\"]]],[\"ix-input-group.cjs\",[[6,\"ix-input-group\"]]],[\"ix-tile.cjs\",[[6,\"ix-tile\",{\"size\":[1]}]]],[\"ix-toggle.cjs\",[[2,\"ix-toggle\",{\"checked\":[1540],\"disabled\":[4],\"indeterminate\":[4],\"color\":[1],\"textOn\":[1,\"text-on\"],\"textOff\":[1,\"text-off\"],\"textIndeterminate\":[1,\"text-indeterminate\"],\"hideText\":[4,\"hide-text\"]},[[8,\"keydown\",\"onKeyDown\"]]]]],[\"ix-validation-tooltip.cjs\",[[6,\"ix-validation-tooltip\",{\"message\":[1],\"placement\":[1],\"isInputValid\":[32],\"tooltipPosition\":[32],\"arrowPosition\":[32]}]]],[\"my-component.cjs\",[[2,\"my-component\"]]],[\"ix-group_3.cjs\",[[6,\"ix-group\",{\"suppressHeaderSelection\":[4,\"suppress-header-selection\"],\"header\":[1],\"subHeader\":[1,\"sub-header\"],\"collapsed\":[1540],\"selected\":[1540],\"index\":[1538],\"expandOnHeaderClick\":[4,\"expand-on-header-click\"],\"itemSelected\":[32],\"dropdownTriggerRef\":[32],\"slotSize\":[32]},[[8,\"keydown\",\"onKeyDown\"]]],[6,\"ix-group-dropdown-item\",{\"label\":[1],\"icon\":[1]}],[6,\"ix-group-item\",{\"icon\":[1],\"text\":[1],\"secondaryText\":[1,\"secondary-text\"],\"suppressSelection\":[4,\"suppress-selection\"],\"selected\":[4],\"focusable\":[4],\"index\":[2]},[[1,\"click\",\"clickListen\"]]]]],[\"ix-map-navigation_2.cjs\",[[6,\"ix-map-navigation\",{\"applicationName\":[1,\"application-name\"],\"navigationTitle\":[1,\"navigation-title\"],\"hideContextMenu\":[4,\"hide-context-menu\"],\"isSidebarOpen\":[32],\"openOverlay\":[64],\"closeOverlay\":[64]}],[6,\"ix-map-navigation-overlay\",{\"name\":[1],\"icon\":[1],\"color\":[1]}]]],[\"ix-toast_2.cjs\",[[2,\"ix-toast-container\",{\"containerId\":[1,\"container-id\"],\"containerClass\":[1,\"container-class\"],\"position\":[1],\"showToast\":[64]}],[6,\"ix-toast\",{\"type\":[1],\"toastTitle\":[1,\"toast-title\"],\"autoCloseDelay\":[2,\"auto-close-delay\"],\"autoClose\":[4,\"auto-close\"],\"icon\":[1],\"iconColor\":[1,\"icon-color\"],\"progress\":[32],\"isRunning\":[32],\"touched\":[32]}]]],[\"ix-tree_2.cjs\",[[6,\"ix-tree\",{\"root\":[1],\"model\":[16],\"renderItem\":[16],\"context\":[1040]}],[6,\"ix-tree-item\",{\"text\":[1],\"hasChildren\":[4,\"has-children\"],\"context\":[16]}]]],[\"ix-group-context-menu.cjs\",[[6,\"ix-group-context-menu\",{\"showContextMenu\":[32]}]]],[\"ix-index-button.cjs\",[[6,\"ix-index-button\",{\"variant\":[1],\"selected\":[4]}]]],[\"ix-spinner.cjs\",[[2,\"ix-spinner\",{\"variant\":[1],\"size\":[1]}]]],[\"ix-typography.cjs\",[[1,\"ix-typography\",{\"variant\":[1]}]]],[\"ix-tabs.cjs\",[[4,\"ix-tabs\",{\"small\":[4],\"rounded\":[4],\"selected\":[1026],\"layout\":[1],\"placement\":[1],\"totalItems\":[32],\"currentScrollAmount\":[32],\"scrollAmount\":[32],\"styleNextArrow\":[32],\"stylePreviousArrow\":[32],\"scrollActionAmount\":[32]},[[9,\"resize\",\"onWindowResize\"]]]]],[\"ix-menu_9.cjs\",[[6,\"ix-menu-about\",{\"activeTabLabel\":[1025,\"active-tab-label\"],\"label\":[1],\"show\":[4],\"labels\":[32]}],[6,\"ix-menu-avatar\",{\"top\":[1],\"bottom\":[1],\"image\":[1],\"initials\":[1],\"i18nLogout\":[1,\"i-1-8n-logout\"]}],[6,\"ix-menu-settings\",{\"activeTabLabel\":[1025,\"active-tab-label\"],\"label\":[1],\"show\":[4]}],[4,\"ix-menu\",{\"showSettings\":[1028,\"show-settings\"],\"showAbout\":[1028,\"show-about\"],\"enableToggleTheme\":[4,\"enable-toggle-theme\"],\"enableSettings\":[4,\"enable-settings\"],\"enableMapExpand\":[4,\"enable-map-expand\"],\"applicationName\":[1,\"application-name\"],\"applicationDescription\":[1,\"application-description\"],\"maxVisibleMenuItems\":[2,\"max-visible-menu-items\"],\"i18nLegal\":[1,\"i-1-8n-legal\"],\"i18nSettings\":[1,\"i-1-8n-settings\"],\"i18nToggleTheme\":[1,\"i-1-8n-toggle-theme\"],\"i18nExpand\":[1,\"i-1-8n-expand\"],\"i18nCollapse\":[1,\"i-1-8n-collapse\"],\"i18nMore\":[1,\"i-1-8n-more\"],\"expand\":[1540],\"showMoreItems\":[32],\"visibleMenuItems\":[32],\"countMoreNotifications\":[32],\"mapExpand\":[32],\"activeTab\":[32],\"isMoreTabEmpty\":[32],\"mode\":[32],\"toggleMapExpand\":[64],\"toggleMenu\":[64],\"toggleSettings\":[64],\"toggleAbout\":[64]},[[9,\"resize\",\"onWindowResize\"]]],[6,\"ix-menu-about-news\",{\"show\":[1540],\"label\":[1],\"i18nShowMore\":[1,\"i-1-8n-show-more\"],\"aboutItemLabel\":[1,\"about-item-label\"],\"offsetBottom\":[2,\"offset-bottom\"],\"expanded\":[4]}],[6,\"ix-menu-about-item\",{\"label\":[513]}],[6,\"ix-menu-settings-item\",{\"label\":[1]}],[2,\"ix-menu-avatar-item\",{\"icon\":[1],\"label\":[1]}],[6,\"ix-menu-item\",{\"home\":[4],\"bottom\":[4],\"tabIcon\":[1,\"tab-icon\"],\"notifications\":[2],\"active\":[4],\"disabled\":[4],\"title\":[32]}]]],[\"ix-date-picker_2.cjs\",[[2,\"ix-date-picker\",{\"format\":[1],\"range\":[4],\"individual\":[4],\"corners\":[1],\"from\":[1],\"to\":[1],\"minDate\":[1,\"min-date\"],\"maxDate\":[1,\"max-date\"],\"eventDelimiter\":[1,\"event-delimiter\"],\"textSelectDate\":[1,\"text-select-date\"],\"yearValue\":[32],\"today\":[32],\"monthValue\":[32],\"calendar\":[32],\"years\":[32],\"tempYear\":[32],\"tempMonth\":[32],\"start\":[32],\"end\":[32],\"dropdownButtonRef\":[32],\"yearContainerRef\":[32],\"getCurrentDate\":[64]}],[2,\"ix-time-picker\",{\"format\":[1],\"corners\":[1],\"individual\":[4],\"showHour\":[4,\"show-hour\"],\"showMinutes\":[4,\"show-minutes\"],\"showSeconds\":[4,\"show-seconds\"],\"time\":[1],\"showTimeReference\":[1032,\"show-time-reference\"],\"timeReference\":[1,\"time-reference\"],\"textSelectTime\":[1,\"text-select-time\"],\"hourInputRef\":[32],\"minuteInputRef\":[32],\"secondInputRef\":[32],\"referenceInputRef\":[32],\"getCurrentTime\":[64]}]]],[\"ix-tab-item.cjs\",[[4,\"ix-tab-item\",{\"selected\":[4],\"disabled\":[4],\"small\":[4],\"icon\":[4],\"rounded\":[4],\"counter\":[2],\"layout\":[1],\"placement\":[1]}]]],[\"ix-modal_2.cjs\",[[2,\"ix-modal-container\",{\"showModal\":[64]}],[6,\"ix-modal\",{\"animation\":[4],\"ariaDescribedBy\":[1,\"aria-described-by\"],\"ariaLabelledBy\":[1,\"aria-labelled-by\"],\"backdrop\":[8],\"backdropClass\":[1,\"backdrop-class\"],\"beforeDismiss\":[16],\"centered\":[4],\"content\":[1],\"keyboard\":[4],\"icon\":[1],\"iconColor\":[1,\"icon-color\"],\"modalDialogClass\":[1,\"modal-dialog-class\"],\"scrollable\":[4],\"size\":[1],\"headerTitle\":[1,\"header-title\"],\"windowClass\":[1,\"window-class\"],\"dismiss\":[64],\"close\":[64]}]]],[\"ix-filter-chip.cjs\",[[6,\"ix-filter-chip\",{\"disabled\":[4]}]]],[\"ix-select_2.cjs\",[[6,\"ix-select\",{\"selectedIndices\":[1025,\"selected-indices\"],\"allowClear\":[4,\"allow-clear\"],\"mode\":[1],\"editable\":[4],\"disabled\":[4],\"readonly\":[4],\"i18nPlaceholder\":[1,\"i-1-8n-placeholder\"],\"i18nPlaceholderEditable\":[1,\"i-1-8n-placeholder-editable\"],\"i18nSelectListHeader\":[1,\"i-1-8n-select-list-header\"],\"i18nNoMatches\":[1,\"i-1-8n-no-matches\"],\"hideListHeader\":[4,\"hide-list-header\"],\"dropdownShow\":[32],\"value\":[32],\"dropdownWrapperRef\":[32],\"dropdownAnchor\":[32],\"isDropdownEmpty\":[32],\"hasFocus\":[32],\"navigationItem\":[32],\"inputFilterText\":[32],\"inputValue\":[32]},[[0,\"itemClick\",\"onItemClicked\"],[0,\"ix-select-item:labelChange\",\"onLabelChange\"],[8,\"keydown\",\"onKeyDown\"]]],[2,\"ix-select-item\",{\"label\":[513],\"value\":[520],\"selected\":[4],\"hover\":[4],\"onItemClick\":[64]}]]],[\"ix-date-time-card.cjs\",[[6,\"ix-date-time-card\",{\"individual\":[4],\"corners\":[1]}]]],[\"ix-burger-menu.cjs\",[[1,\"ix-burger-menu\",{\"expanded\":[516]}]]],[\"ix-button.cjs\",[[6,\"ix-button\",{\"variant\":[1],\"outline\":[4],\"invisible\":[4],\"ghost\":[4],\"selected\":[4],\"disabled\":[516],\"type\":[1]}]]],[\"ix-dropdown_2.cjs\",[[6,\"ix-dropdown-item\",{\"label\":[1],\"icon\":[1],\"hover\":[4],\"disabled\":[4],\"checked\":[4],\"emitItemClick\":[64]}],[1,\"ix-dropdown\",{\"show\":[1540],\"trigger\":[1],\"anchor\":[1],\"closeBehavior\":[8,\"close-behavior\"],\"placement\":[1],\"positioningStrategy\":[1,\"positioning-strategy\"],\"adjustDropdownWidthToReferenceWith\":[4,\"adjust-dropdown-width-to-reference-with\"],\"adjustDropdownWidthToReferenceWidth\":[4,\"adjust-dropdown-width-to-reference-width\"],\"header\":[1],\"offset\":[16],\"triggerEvent\":[1,\"trigger-event\"],\"overwriteDropdownStyle\":[16],\"updatePosition\":[64]},[[8,\"click\",\"clickOutside\"]]]]],[\"ix-icon-button.cjs\",[[6,\"ix-icon-button\",{\"variant\":[1],\"outline\":[4],\"invisible\":[4],\"ghost\":[4],\"oval\":[4],\"icon\":[1],\"size\":[1],\"color\":[1],\"selected\":[4],\"disabled\":[4],\"type\":[1]}]]]]"), options);
24
24
  });
25
25
 
26
26
  exports.setNonce = index.setNonce;
@@ -1 +1 @@
1
- {"file":"siemens-ix.cjs.js","mappings":";;;;;;AAAA;AACA;AACA;AAiBA,MAAM,YAAY,GAAG,MAAM;AAkC3B,IAAI,MAAM,UAAU,GAAG,4MAAe,CAAC;AACvC,IAAI,MAAM,IAAI,GAAiE,EAAE,CAAC;AAgBlF;AACA,IAAI,IAAuB,UAAU,KAAK,EAAE,EAAE;AAC9C,QAAQ,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC;AAC1D;AACA;AACA,KAaK;AACL,IAAI,OAAOA,oBAAc,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;;ACtFD,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI;AAE/B,EAAE,OAAOC,mBAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC,CAAC;;;;","names":["promiseResolve","bootstrapLazy"],"sources":["../../node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v3.1.0 | MIT Licensed | https://stenciljs.com\n */\nimport { BUILD, NAMESPACE } from '@stencil/core/internal/app-data';\nimport { consoleDevInfo, plt, win, doc, promiseResolve, H } from '@stencil/core';\n/**\n * Helper method for querying a `meta` tag that contains a nonce value\n * out of a DOM's head.\n *\n * @param doc The DOM containing the `head` to query against\n * @returns The content of the meta tag representing the nonce value, or `undefined` if no tag\n * exists or the tag has no content.\n */\nfunction queryNonceMetaTagContent(doc) {\n var _a, _b, _c;\n return (_c = (_b = (_a = doc.head) === null || _a === void 0 ? void 0 : _a.querySelector('meta[name=\"csp-nonce\"]')) === null || _b === void 0 ? void 0 : _b.getAttribute('content')) !== null && _c !== void 0 ? _c : undefined;\n}\n// TODO(STENCIL-661): Remove code related to the dynamic import shim\nconst getDynamicImportFunction = (namespace) => `__sc_import_${namespace.replace(/\\s|-/g, '_')}`;\nconst patchBrowser = () => {\n // NOTE!! This fn cannot use async/await!\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo('Running in development mode.');\n }\n // TODO(STENCIL-659): Remove code implementing the CSS variable shim\n if (BUILD.cssVarShim) {\n // shim css vars\n // TODO(STENCIL-659): Remove code implementing the CSS variable shim\n plt.$cssShim$ = win.__cssshim;\n }\n if (BUILD.cloneNodeFix) {\n // opted-in to polyfill cloneNode() for slot polyfilled components\n patchCloneNodeFix(H.prototype);\n }\n if (BUILD.profile && !performance.mark) {\n // not all browsers support performance.mark/measure (Safari 10)\n // because the mark/measure APIs are designed to write entries to a buffer in the browser that does not exist,\n // simply stub the implementations out.\n // TODO(STENCIL-323): Remove this patch when support for older browsers is removed (breaking)\n // @ts-ignore\n performance.mark = performance.measure = () => {\n /*noop*/\n };\n performance.getEntriesByName = () => [];\n }\n // @ts-ignore\n const scriptElm = \n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n BUILD.scriptDataOpts || BUILD.safari10 || BUILD.dynamicImportShim\n ? Array.from(doc.querySelectorAll('script')).find((s) => new RegExp(`\\/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) ||\n s.getAttribute('data-stencil-namespace') === NAMESPACE)\n : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})['data-opts'] || {} : {};\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n if (BUILD.safari10 && 'onbeforeload' in scriptElm && !history.scrollRestoration /* IS_ESM_BUILD */) {\n // Safari < v11 support: This IF is true if it's Safari below v11.\n // This fn cannot use async/await since Safari didn't support it until v11,\n // however, Safari 10 did support modules. Safari 10 also didn't support \"nomodule\",\n // so both the ESM file and nomodule file would get downloaded. Only Safari\n // has 'onbeforeload' in the script, and \"history.scrollRestoration\" was added\n // to Safari in v11. Return a noop then() so the async/await ESM code doesn't continue.\n // IS_ESM_BUILD is replaced at build time so this check doesn't happen in systemjs builds.\n return {\n then() {\n /* promise noop */\n },\n };\n }\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n if (!BUILD.safari10 && importMeta !== '') {\n opts.resourcesUrl = new URL('.', importMeta).href;\n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n }\n else if (BUILD.dynamicImportShim || BUILD.safari10) {\n opts.resourcesUrl = new URL('.', new URL(scriptElm.getAttribute('data-resources-url') || scriptElm.src, win.location.href)).href;\n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n if (BUILD.dynamicImportShim) {\n patchDynamicImport(opts.resourcesUrl, scriptElm);\n }\n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n if (BUILD.dynamicImportShim && !win.customElements) {\n // module support, but no custom elements support (Old Edge)\n // @ts-ignore\n return import(/* webpackChunkName: \"polyfills-dom\" */ './dom.js').then(() => opts);\n }\n }\n return promiseResolve(opts);\n};\n// TODO(STENCIL-661): Remove code related to the dynamic import shim\nconst patchDynamicImport = (base, orgScriptElm) => {\n const importFunctionName = getDynamicImportFunction(NAMESPACE);\n try {\n // test if this browser supports dynamic imports\n // There is a caching issue in V8, that breaks using import() in Function\n // By generating a random string, we can workaround it\n // Check https://bugs.chromium.org/p/chromium/issues/detail?id=990810 for more info\n win[importFunctionName] = new Function('w', `return import(w);//${Math.random()}`);\n }\n catch (e) {\n // this shim is specifically for browsers that do support \"esm\" imports\n // however, they do NOT support \"dynamic\" imports\n // basically this code is for old Edge, v18 and below\n const moduleMap = new Map();\n win[importFunctionName] = (src) => {\n var _a;\n const url = new URL(src, base).href;\n let mod = moduleMap.get(url);\n if (!mod) {\n const script = doc.createElement('script');\n script.type = 'module';\n script.crossOrigin = orgScriptElm.crossOrigin;\n script.src = URL.createObjectURL(new Blob([`import * as m from '${url}'; window.${importFunctionName}.m = m;`], {\n type: 'application/javascript',\n }));\n // Apply CSP nonce to the script tag if it exists\n const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);\n if (nonce != null) {\n script.setAttribute('nonce', nonce);\n }\n mod = new Promise((resolve) => {\n script.onload = () => {\n resolve(win[importFunctionName].m);\n script.remove();\n };\n });\n moduleMap.set(url, mod);\n doc.head.appendChild(script);\n }\n return mod;\n };\n }\n};\nconst patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function (deep) {\n if (this.nodeName === 'TEMPLATE') {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n // Node.ATTRIBUTE_NODE === 2, and checking because IE11\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport { patchBrowser };\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(options => {\n globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"version":3}
1
+ {"file":"siemens-ix.cjs.js","mappings":";;;;;;AAAA;AACA;AACA;AAiBA,MAAM,YAAY,GAAG,MAAM;AAkC3B,IAAI,MAAM,UAAU,GAAG,4MAAe,CAAC;AACvC,IAAI,MAAM,IAAI,GAAiE,EAAE,CAAC;AAgBlF;AACA,IAAI,IAAuB,UAAU,KAAK,EAAE,EAAE;AAC9C,QAAQ,IAAI,CAAC,YAAY,GAAG,IAAI,GAAG,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC;AAC1D;AACA;AACA,KAaK;AACL,IAAI,OAAOA,oBAAc,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;;ACtFD,YAAY,EAAE,CAAC,IAAI,CAAC,OAAO,IAAI;AAE/B,EAAE,OAAOC,mBAAa,CAAC,4BAA4B,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC,CAAC;;;;","names":["promiseResolve","bootstrapLazy"],"sources":["../../node_modules/@stencil/core/internal/client/patch-browser.js","@lazy-browser-entrypoint?app-data=conditional"],"sourcesContent":["/*\n Stencil Client Patch Browser v3.2.1 | MIT Licensed | https://stenciljs.com\n */\nimport { BUILD, NAMESPACE } from '@stencil/core/internal/app-data';\nimport { consoleDevInfo, plt, win, doc, promiseResolve, H } from '@stencil/core';\n/**\n * Helper method for querying a `meta` tag that contains a nonce value\n * out of a DOM's head.\n *\n * @param doc The DOM containing the `head` to query against\n * @returns The content of the meta tag representing the nonce value, or `undefined` if no tag\n * exists or the tag has no content.\n */\nfunction queryNonceMetaTagContent(doc) {\n var _a, _b, _c;\n return (_c = (_b = (_a = doc.head) === null || _a === void 0 ? void 0 : _a.querySelector('meta[name=\"csp-nonce\"]')) === null || _b === void 0 ? void 0 : _b.getAttribute('content')) !== null && _c !== void 0 ? _c : undefined;\n}\n// TODO(STENCIL-661): Remove code related to the dynamic import shim\nconst getDynamicImportFunction = (namespace) => `__sc_import_${namespace.replace(/\\s|-/g, '_')}`;\nconst patchBrowser = () => {\n // NOTE!! This fn cannot use async/await!\n if (BUILD.isDev && !BUILD.isTesting) {\n consoleDevInfo('Running in development mode.');\n }\n // TODO(STENCIL-659): Remove code implementing the CSS variable shim\n if (BUILD.cssVarShim) {\n // shim css vars\n // TODO(STENCIL-659): Remove code implementing the CSS variable shim\n plt.$cssShim$ = win.__cssshim;\n }\n if (BUILD.cloneNodeFix) {\n // opted-in to polyfill cloneNode() for slot polyfilled components\n patchCloneNodeFix(H.prototype);\n }\n if (BUILD.profile && !performance.mark) {\n // not all browsers support performance.mark/measure (Safari 10)\n // because the mark/measure APIs are designed to write entries to a buffer in the browser that does not exist,\n // simply stub the implementations out.\n // TODO(STENCIL-323): Remove this patch when support for older browsers is removed (breaking)\n // @ts-ignore\n performance.mark = performance.measure = () => {\n /*noop*/\n };\n performance.getEntriesByName = () => [];\n }\n // @ts-ignore\n const scriptElm = \n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n BUILD.scriptDataOpts || BUILD.safari10 || BUILD.dynamicImportShim\n ? Array.from(doc.querySelectorAll('script')).find((s) => new RegExp(`\\/${NAMESPACE}(\\\\.esm)?\\\\.js($|\\\\?|#)`).test(s.src) ||\n s.getAttribute('data-stencil-namespace') === NAMESPACE)\n : null;\n const importMeta = import.meta.url;\n const opts = BUILD.scriptDataOpts ? (scriptElm || {})['data-opts'] || {} : {};\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n if (BUILD.safari10 && 'onbeforeload' in scriptElm && !history.scrollRestoration /* IS_ESM_BUILD */) {\n // Safari < v11 support: This IF is true if it's Safari below v11.\n // This fn cannot use async/await since Safari didn't support it until v11,\n // however, Safari 10 did support modules. Safari 10 also didn't support \"nomodule\",\n // so both the ESM file and nomodule file would get downloaded. Only Safari\n // has 'onbeforeload' in the script, and \"history.scrollRestoration\" was added\n // to Safari in v11. Return a noop then() so the async/await ESM code doesn't continue.\n // IS_ESM_BUILD is replaced at build time so this check doesn't happen in systemjs builds.\n return {\n then() {\n /* promise noop */\n },\n };\n }\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n if (!BUILD.safari10 && importMeta !== '') {\n opts.resourcesUrl = new URL('.', importMeta).href;\n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.\n }\n else if (BUILD.dynamicImportShim || BUILD.safari10) {\n opts.resourcesUrl = new URL('.', new URL(scriptElm.getAttribute('data-resources-url') || scriptElm.src, win.location.href)).href;\n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n if (BUILD.dynamicImportShim) {\n patchDynamicImport(opts.resourcesUrl, scriptElm);\n }\n // TODO(STENCIL-661): Remove code related to the dynamic import shim\n if (BUILD.dynamicImportShim && !win.customElements) {\n // module support, but no custom elements support (Old Edge)\n // @ts-ignore\n return import(/* webpackChunkName: \"polyfills-dom\" */ './dom.js').then(() => opts);\n }\n }\n return promiseResolve(opts);\n};\n// TODO(STENCIL-661): Remove code related to the dynamic import shim\nconst patchDynamicImport = (base, orgScriptElm) => {\n const importFunctionName = getDynamicImportFunction(NAMESPACE);\n try {\n // test if this browser supports dynamic imports\n // There is a caching issue in V8, that breaks using import() in Function\n // By generating a random string, we can workaround it\n // Check https://bugs.chromium.org/p/chromium/issues/detail?id=990810 for more info\n win[importFunctionName] = new Function('w', `return import(w);//${Math.random()}`);\n }\n catch (e) {\n // this shim is specifically for browsers that do support \"esm\" imports\n // however, they do NOT support \"dynamic\" imports\n // basically this code is for old Edge, v18 and below\n const moduleMap = new Map();\n win[importFunctionName] = (src) => {\n var _a;\n const url = new URL(src, base).href;\n let mod = moduleMap.get(url);\n if (!mod) {\n const script = doc.createElement('script');\n script.type = 'module';\n script.crossOrigin = orgScriptElm.crossOrigin;\n script.src = URL.createObjectURL(new Blob([`import * as m from '${url}'; window.${importFunctionName}.m = m;`], {\n type: 'application/javascript',\n }));\n // Apply CSP nonce to the script tag if it exists\n const nonce = (_a = plt.$nonce$) !== null && _a !== void 0 ? _a : queryNonceMetaTagContent(doc);\n if (nonce != null) {\n script.setAttribute('nonce', nonce);\n }\n mod = new Promise((resolve) => {\n script.onload = () => {\n resolve(win[importFunctionName].m);\n script.remove();\n };\n });\n moduleMap.set(url, mod);\n doc.head.appendChild(script);\n }\n return mod;\n };\n }\n};\nconst patchCloneNodeFix = (HTMLElementPrototype) => {\n const nativeCloneNodeFn = HTMLElementPrototype.cloneNode;\n HTMLElementPrototype.cloneNode = function (deep) {\n if (this.nodeName === 'TEMPLATE') {\n return nativeCloneNodeFn.call(this, deep);\n }\n const clonedNode = nativeCloneNodeFn.call(this, false);\n const srcChildNodes = this.childNodes;\n if (deep) {\n for (let i = 0; i < srcChildNodes.length; i++) {\n // Node.ATTRIBUTE_NODE === 2, and checking because IE11\n if (srcChildNodes[i].nodeType !== 2) {\n clonedNode.appendChild(srcChildNodes[i].cloneNode(true));\n }\n }\n }\n return clonedNode;\n };\n};\nexport { patchBrowser };\n","export { setNonce } from '@stencil/core';\nimport { bootstrapLazy } from '@stencil/core';\nimport { patchBrowser } from '@stencil/core/internal/client/patch-browser';\nimport { globalScripts } from '@stencil/core/internal/app-globals';\npatchBrowser().then(options => {\n globalScripts();\n return bootstrapLazy([/*!__STENCIL_LAZY_DATA__*/], options);\n});\n"],"version":3}
@@ -77,7 +77,7 @@
77
77
  ],
78
78
  "compiler": {
79
79
  "name": "@stencil/core",
80
- "version": "3.1.0",
80
+ "version": "3.2.1",
81
81
  "typescriptVersion": "4.9.5"
82
82
  },
83
83
  "collections": [],
@@ -51,6 +51,7 @@
51
51
  overflow: hidden;
52
52
  }
53
53
  :host .blind-header {
54
+ all: unset;
54
55
  overflow: hidden;
55
56
  text-overflow: ellipsis;
56
57
  white-space: nowrap;
@@ -60,7 +61,7 @@
60
61
  height: 3rem;
61
62
  border: solid var(--theme-blind--border-thickness) transparent;
62
63
  border-radius: var(--theme-blind--border-radius) var(--theme-blind--border-radius) 0 0;
63
- padding-right: 1rem;
64
+ padding-right: 0.5rem;
64
65
  transition: border-radius 150ms;
65
66
  cursor: pointer;
66
67
  z-index: 1;
@@ -79,9 +80,13 @@
79
80
  display: flex;
80
81
  align-items: center;
81
82
  flex-grow: 1;
83
+ height: 100%;
82
84
  }
83
85
  :host .blind-header .blind-header-title .blind-header-title-default,
84
86
  :host .blind-header .blind-header-title-basic .blind-header-title-default {
87
+ overflow: hidden;
88
+ text-overflow: ellipsis;
89
+ white-space: nowrap;
85
90
  -webkit-font-smoothing: antialiased;
86
91
  -moz-osx-font-smooting: grayscale;
87
92
  font-family: Siemens Sans, sans-serif;
@@ -89,6 +94,8 @@
89
94
  font-weight: 700;
90
95
  line-height: 1.5em;
91
96
  color: var(--theme-color-std-text);
97
+ -webkit-margin-end: 0.5rem;
98
+ margin-inline-end: 0.5rem;
92
99
  flex-grow: 1;
93
100
  }
94
101
  :host .blind-header .blind-header-title-basic ix-icon {
@@ -114,7 +121,8 @@
114
121
  color: var(--theme-blind-header-icon-open--color--active);
115
122
  }
116
123
  :host .blind-header:not(.disabled):not(:disabled):focus-visible {
117
- border-color: var(--theme-focus--border-color);
124
+ border-color: var(--theme-color-focus-bdr);
125
+ outline: none;
118
126
  }
119
127
  :host .blind-header.closed {
120
128
  border-radius: var(--theme-blind--border-radius);
@@ -8,8 +8,15 @@
8
8
  */
9
9
  import { h, Host, } from '@stencil/core';
10
10
  import anime from 'animejs';
11
+ import { a11yBoolean } from '../utils/a11y';
12
+ let sequentialInstanceId = 0;
11
13
  export class Blind {
12
- constructor() { this.collapsed = false; this.label = undefined; this.icon = undefined; }
14
+ constructor() {
15
+ this.id = ++sequentialInstanceId;
16
+ this.collapsed = false;
17
+ this.label = undefined;
18
+ this.icon = undefined;
19
+ }
13
20
  onHeaderClick(e) {
14
21
  if (e.target.closest('.header-actions')) {
15
22
  return;
@@ -65,16 +72,16 @@ export class Blind {
65
72
  });
66
73
  }
67
74
  render() {
68
- return (h(Host, null, h("div", { class: {
75
+ return (h(Host, null, h("button", { class: {
69
76
  'blind-header': true,
70
77
  closed: this.collapsed,
71
- }, onClick: (e) => this.onHeaderClick(e) }, h("span", { ref: (ref) => (this.chevronRef = ref), class: {
78
+ }, type: "button", "aria-labelledby": `ix-blind-header-title-${this.id}`, "aria-controls": `ix-blind-content-section-${this.id}`, "aria-expanded": a11yBoolean(!this.collapsed), onClick: (e) => this.onHeaderClick(e) }, h("span", { class: {
72
79
  glyph: true,
73
80
  'glyph-chevron-right-small': true,
74
- } }), h("div", { class: "blind-header-title" }, this.label !== undefined ? (h("span", { class: "blind-header-title-basic" }, this.icon !== undefined ? (h("ix-icon", { name: this.icon })) : (''), h("span", { class: "blind-header-title-default" }, this.label), h("span", { class: "header-actions" }, h("slot", { name: "header-actions" })))) : (h("slot", { name: "custom-header" })))), h("div", { class: {
81
+ }, ref: (ref) => (this.chevronRef = ref) }), h("div", { class: "blind-header-title", id: `ix-blind-header-title-${this.id}` }, this.label !== undefined ? (h("span", { class: "blind-header-title-basic" }, this.icon !== undefined ? (h("ix-icon", { name: this.icon })) : (''), h("span", { class: "blind-header-title-default" }, this.label), h("span", { class: "header-actions" }, h("slot", { name: "header-actions" })))) : (h("slot", { name: "custom-header" })))), h("section", { id: `ix-blind-content-section-${this.id}`, "aria-labelledby": `ix-blind-header-title-${this.id}` }, h("div", { class: {
75
82
  'blind-content': true,
76
83
  hide: this.collapsed,
77
- } }, h("slot", null))));
84
+ } }, h("slot", null)))));
78
85
  }
79
86
  static get is() { return "ix-blind"; }
80
87
  static get encapsulation() { return "scoped"; }
@@ -1 +1 @@
1
- {"version":3,"file":"blind.js","sourceRoot":"","sources":["../../../src/components/blind/blind.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n Watch,\n} from '@stencil/core';\nimport anime from 'animejs';\n\n@Component({\n tag: 'ix-blind',\n styleUrl: 'blind.scss',\n scoped: true,\n})\nexport class Blind {\n /**\n * Collapsed state\n */\n @Prop({ mutable: true, reflect: true }) collapsed = false;\n\n /**\n * Label of blind\n */\n @Prop() label: string;\n\n /**\n * Optional icon to be displayed next to the header label\n * @since 1.5.0\n */\n @Prop() icon: string;\n\n /**\n * Collapsed state changed\n */\n @Event() collapsedChange: EventEmitter<boolean>;\n\n @Element() hostElement!: HTMLIxBlindElement;\n\n private chevronRef: HTMLElement;\n\n constructor() {}\n\n private onHeaderClick(e: Event) {\n if ((e.target as Element).closest('.header-actions')) {\n return;\n }\n\n e.preventDefault();\n e.stopImmediatePropagation();\n\n this.collapsed = !this.collapsed;\n this.collapsedChange.emit(this.collapsed);\n }\n\n componentDidLoad() {\n this.animateCollapse(this.collapsed);\n }\n\n get content() {\n return this.hostElement.querySelector('.blind-content');\n }\n\n @Watch('collapsed')\n animation(isCollapsed: boolean) {\n this.animateCollapse(isCollapsed);\n }\n\n private animateCollapse(isCollapsed: boolean) {\n if (isCollapsed) {\n this.rotateChevronRight();\n } else {\n this.rotateChevronDown();\n }\n }\n\n private rotateChevronDown() {\n anime({\n targets: this.chevronRef,\n duration: 150,\n easing: 'easeInOutSine',\n rotateZ: 90,\n });\n anime({\n targets: this.content,\n duration: 150,\n easing: 'easeInOutSine',\n opacity: 1,\n });\n }\n\n private rotateChevronRight() {\n anime({\n targets: this.chevronRef,\n duration: 150,\n easing: 'easeInOutSine',\n rotateZ: 0,\n });\n anime({\n targets: this.content,\n duration: 150,\n easing: 'easeInOutSine',\n opacity: 0,\n });\n }\n\n render() {\n return (\n <Host>\n <div\n class={{\n 'blind-header': true,\n closed: this.collapsed,\n }}\n onClick={(e) => this.onHeaderClick(e)}\n >\n <span\n ref={(ref) => (this.chevronRef = ref)}\n class={{\n glyph: true,\n 'glyph-chevron-right-small': true,\n }}\n ></span>\n <div class=\"blind-header-title\">\n {this.label !== undefined ? (\n <span class=\"blind-header-title-basic\">\n {this.icon !== undefined ? (\n <ix-icon name={this.icon}></ix-icon>\n ) : (\n ''\n )}\n <span class=\"blind-header-title-default\">{this.label}</span>\n <span class=\"header-actions\">\n <slot name=\"header-actions\"></slot>\n </span>\n </span>\n ) : (\n <slot name=\"custom-header\"></slot>\n )}\n </div>\n </div>\n <div\n class={{\n 'blind-content': true,\n hide: this.collapsed,\n }}\n >\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"blind.js","sourceRoot":"","sources":["../../../src/components/blind/blind.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n Watch,\n} from '@stencil/core';\nimport anime from 'animejs';\nimport { a11yBoolean } from '../utils/a11y';\n\nlet sequentialInstanceId = 0;\n@Component({\n tag: 'ix-blind',\n styleUrl: 'blind.scss',\n scoped: true,\n})\nexport class Blind {\n /**\n * Collapsed state\n */\n @Prop({ mutable: true, reflect: true }) collapsed = false;\n\n /**\n * Label of blind\n */\n @Prop() label: string;\n\n /**\n * Optional icon to be displayed next to the header label\n * @since 1.5.0\n */\n @Prop() icon: string;\n\n /**\n * Collapsed state changed\n */\n @Event() collapsedChange: EventEmitter<boolean>;\n\n @Element() hostElement!: HTMLIxBlindElement;\n\n private chevronRef: HTMLElement;\n private id = ++sequentialInstanceId;\n\n constructor() {}\n\n private onHeaderClick(e: Event) {\n if ((e.target as Element).closest('.header-actions')) {\n return;\n }\n\n e.preventDefault();\n e.stopImmediatePropagation();\n\n this.collapsed = !this.collapsed;\n this.collapsedChange.emit(this.collapsed);\n }\n\n componentDidLoad() {\n this.animateCollapse(this.collapsed);\n }\n\n get content() {\n return this.hostElement.querySelector('.blind-content');\n }\n\n @Watch('collapsed')\n animation(isCollapsed: boolean) {\n this.animateCollapse(isCollapsed);\n }\n\n private animateCollapse(isCollapsed: boolean) {\n if (isCollapsed) {\n this.rotateChevronRight();\n } else {\n this.rotateChevronDown();\n }\n }\n\n private rotateChevronDown() {\n anime({\n targets: this.chevronRef,\n duration: 150,\n easing: 'easeInOutSine',\n rotateZ: 90,\n });\n anime({\n targets: this.content,\n duration: 150,\n easing: 'easeInOutSine',\n opacity: 1,\n });\n }\n\n private rotateChevronRight() {\n anime({\n targets: this.chevronRef,\n duration: 150,\n easing: 'easeInOutSine',\n rotateZ: 0,\n });\n anime({\n targets: this.content,\n duration: 150,\n easing: 'easeInOutSine',\n opacity: 0,\n });\n }\n\n render() {\n return (\n <Host>\n <button\n class={{\n 'blind-header': true,\n closed: this.collapsed,\n }}\n type=\"button\"\n aria-labelledby={`ix-blind-header-title-${this.id}`}\n aria-controls={`ix-blind-content-section-${this.id}`}\n aria-expanded={a11yBoolean(!this.collapsed)}\n onClick={(e) => this.onHeaderClick(e)}\n >\n <span\n class={{\n glyph: true,\n 'glyph-chevron-right-small': true,\n }}\n ref={(ref) => (this.chevronRef = ref)}\n ></span>\n <div\n class=\"blind-header-title\"\n id={`ix-blind-header-title-${this.id}`}\n >\n {this.label !== undefined ? (\n <span class=\"blind-header-title-basic\">\n {this.icon !== undefined ? (\n <ix-icon name={this.icon}></ix-icon>\n ) : (\n ''\n )}\n <span class=\"blind-header-title-default\">{this.label}</span>\n <span class=\"header-actions\">\n <slot name=\"header-actions\"></slot>\n </span>\n </span>\n ) : (\n <slot name=\"custom-header\"></slot>\n )}\n </div>\n </button>\n <section\n id={`ix-blind-content-section-${this.id}`}\n aria-labelledby={`ix-blind-header-title-${this.id}`}\n >\n <div\n class={{\n 'blind-content': true,\n hide: this.collapsed,\n }}\n >\n <slot></slot>\n </div>\n </section>\n </Host>\n );\n }\n}\n"]}
@@ -88,7 +88,8 @@
88
88
  overflow: hidden;
89
89
  text-overflow: ellipsis;
90
90
  white-space: nowrap;
91
- display: block;
91
+ display: flex;
92
+ align-items: center;
92
93
  min-width: 0;
93
94
  font-weight: 700;
94
95
  }
@@ -110,7 +110,11 @@ export class Breadcrumb {
110
110
  btn: !this.ghost,
111
111
  last: isLastItem,
112
112
  'remove-hover': isLastItem,
113
- }, onClick: () => this.clickItem(item.label, last), "data-testid": "item" }, h("span", { class: "crumb-text remove-anchor" }, item.icon ? h("ix-icon", { name: item.icon, size: "16" }) : '', item.label), !isLastItem ? (h("span", { class: "glyph glyph-18 glyph-chevron-right-small text-default-text" })) : null));
113
+ }, onClick: () => this.clickItem(item.label, last), "data-testid": "item" }, h("span", { class: "crumb-text remove-anchor" }, item.icon ? h("ix-icon", { name: item.icon, size: "16" }) : '', h("span", { style: {
114
+ whiteSpace: 'nowrap',
115
+ overflow: 'hidden',
116
+ textOverflow: 'ellipsis',
117
+ } }, item.label)), !isLastItem ? (h("span", { class: "glyph glyph-18 glyph-chevron-right-small text-default-text" })) : null));
114
118
  });
115
119
  }
116
120
  render() {
@@ -1 +1 @@
1
- {"version":3,"file":"breadcrumb.js","sourceRoot":"","sources":["../../../src/components/breadcrumb/breadcrumb.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n} from '@stencil/core';\nimport animejs from 'animejs';\nimport { createMutationObserver } from '../utils/mutation-observer';\n\n@Component({\n tag: 'ix-breadcrumb',\n styleUrl: 'breadcrumb.scss',\n scoped: true,\n})\nexport class Breadcrumb {\n /**\n * Excess items will get hidden inside of dropdown\n */\n @Prop() visibleItemCount = 9;\n\n /**\n * Items will be accessible through a dropdown\n */\n @Prop() nextItems: string[] = [];\n\n /**\n * Ghost breadcrumbs will not show solid backgrounds on individual crumbs unless there is a mouse event (e.g. hover)\n */\n @Prop() ghost = false;\n\n /**\n * Crumb item clicked event\n */\n @Event() itemClick: EventEmitter<string>;\n\n /**\n * Next item clicked event\n */\n @Event() nextClick: EventEmitter<{ event: UIEvent; item: string }>;\n\n @State() previousButtonRef: HTMLElement;\n\n @State() nextButtonRef: HTMLElement;\n\n @Element() hostElement: HTMLIxBreadcrumbElement;\n\n get breadcrumbItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-breadcrumb-item'));\n }\n\n get crumbItems() {\n return Array.from(this.hostElement.querySelectorAll('.crumb-items .crumb'));\n }\n\n @State() items: { label: string; icon?: string }[] = [];\n\n private mutationObserver: MutationObserver;\n\n private onItemClick(item: string) {\n this.itemClick.emit(item);\n }\n\n componentDidLoad() {\n this.mutationObserver = createMutationObserver(() => {\n const updatedItems = this.getItems();\n const update = () => {\n this.items = updatedItems;\n };\n\n if (updatedItems.length >= this.items.length) {\n update();\n } else if (updatedItems.length < this.items.length) {\n const last = this.crumbItems[this.crumbItems.length - 1] as HTMLElement;\n this.animationFadeOut(last, () => update());\n }\n });\n\n this.mutationObserver.observe(\n this.hostElement.querySelector('.crumb-items'),\n {\n subtree: true,\n childList: true,\n }\n );\n }\n\n componentWillLoad() {\n this.items = this.getItems();\n }\n\n private getItems() {\n return this.breadcrumbItems.map((item) => {\n return { label: item.label, icon: item.icon };\n });\n }\n\n disconnectedCallback() {\n this.mutationObserver?.disconnect();\n }\n\n private animationFadeOut(ref: HTMLElement, complete: () => void) {\n animejs({\n targets: ref,\n translateX: '-100%',\n duration: 150,\n opacity: [1, 0],\n easing: 'linear',\n complete: () => complete(),\n });\n }\n\n private animationFadeIn(ref: HTMLElement) {\n animejs({\n targets: ref,\n duration: 150,\n opacity: [0, 1],\n translateX: ['-100%', '0%'],\n easing: 'linear',\n });\n }\n\n private handleLastButtonRef(ref: HTMLDivElement, last: boolean) {\n if (last) {\n this.animationFadeIn(ref);\n }\n if (last && this.nextItems?.length) {\n this.nextButtonRef = ref;\n }\n }\n\n private sliceHiddenItems() {\n let sliceIndex = 0;\n\n if (this.items.length > this.visibleItemCount) {\n sliceIndex = this.items.length - this.visibleItemCount;\n }\n\n return this.items.slice(sliceIndex);\n }\n\n private clickItem(item: string, last: boolean) {\n if (!last) {\n this.onItemClick(item);\n }\n }\n\n private renderBreadcrumbItems() {\n return this.sliceHiddenItems().map((item, index, array) => {\n const last = index === array.length - 1;\n\n const isLastItem = last && !this.nextItems?.length;\n return (\n <div\n ref={(ref) => this.handleLastButtonRef(ref, last)}\n data-breadcrumb={index}\n class={{\n crumb: true,\n clickable: true,\n ghost: this.ghost,\n btn: !this.ghost,\n last: isLastItem,\n 'remove-hover': isLastItem,\n }}\n onClick={() => this.clickItem(item.label, last)}\n data-testid=\"item\"\n >\n <span class=\"crumb-text remove-anchor\">\n {item.icon ? <ix-icon name={item.icon} size=\"16\"></ix-icon> : ''}\n {item.label}\n </span>\n {!isLastItem ? (\n <span class=\"glyph glyph-18 glyph-chevron-right-small text-default-text\"></span>\n ) : null}\n </div>\n );\n });\n }\n\n render() {\n return (\n <Host>\n <ix-dropdown\n trigger={\n this.items?.length > this.visibleItemCount\n ? this.previousButtonRef\n : null\n }\n >\n {this.items\n .slice(0, this.items.length - this.visibleItemCount)\n .map((item) => (\n <ix-dropdown-item\n label={item.label}\n onClick={() => this.onItemClick(item.label)}\n ></ix-dropdown-item>\n ))}\n </ix-dropdown>\n {this.items?.length > this.visibleItemCount ? (\n <div\n class=\"crumb crumb-dropdown\"\n ref={(ref) => (this.previousButtonRef = ref)}\n >\n <span class=\"remove-anchor more-text\">\n <span class=\"more-text-ellipsis\">...</span>\n <span class=\"glyph glyph-16 glyph-chevron-right\"></span>\n </span>\n </div>\n ) : null}\n <div class=\"crumb-items\">\n {this.renderBreadcrumbItems()}\n <slot></slot>\n </div>\n <ix-dropdown trigger={this.nextButtonRef}>\n {this.nextItems?.map((item) => (\n <ix-dropdown-item\n label={item}\n onClick={(e) => {\n this.nextClick.emit({\n event: e,\n item,\n });\n }}\n ></ix-dropdown-item>\n ))}\n </ix-dropdown>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"breadcrumb.js","sourceRoot":"","sources":["../../../src/components/breadcrumb/breadcrumb.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n} from '@stencil/core';\nimport animejs from 'animejs';\nimport { createMutationObserver } from '../utils/mutation-observer';\n\n@Component({\n tag: 'ix-breadcrumb',\n styleUrl: 'breadcrumb.scss',\n scoped: true,\n})\nexport class Breadcrumb {\n /**\n * Excess items will get hidden inside of dropdown\n */\n @Prop() visibleItemCount = 9;\n\n /**\n * Items will be accessible through a dropdown\n */\n @Prop() nextItems: string[] = [];\n\n /**\n * Ghost breadcrumbs will not show solid backgrounds on individual crumbs unless there is a mouse event (e.g. hover)\n */\n @Prop() ghost = false;\n\n /**\n * Crumb item clicked event\n */\n @Event() itemClick: EventEmitter<string>;\n\n /**\n * Next item clicked event\n */\n @Event() nextClick: EventEmitter<{ event: UIEvent; item: string }>;\n\n @State() previousButtonRef: HTMLElement;\n\n @State() nextButtonRef: HTMLElement;\n\n @Element() hostElement: HTMLIxBreadcrumbElement;\n\n get breadcrumbItems() {\n return Array.from(this.hostElement.querySelectorAll('ix-breadcrumb-item'));\n }\n\n get crumbItems() {\n return Array.from(this.hostElement.querySelectorAll('.crumb-items .crumb'));\n }\n\n @State() items: { label: string; icon?: string }[] = [];\n\n private mutationObserver: MutationObserver;\n\n private onItemClick(item: string) {\n this.itemClick.emit(item);\n }\n\n componentDidLoad() {\n this.mutationObserver = createMutationObserver(() => {\n const updatedItems = this.getItems();\n const update = () => {\n this.items = updatedItems;\n };\n\n if (updatedItems.length >= this.items.length) {\n update();\n } else if (updatedItems.length < this.items.length) {\n const last = this.crumbItems[this.crumbItems.length - 1] as HTMLElement;\n this.animationFadeOut(last, () => update());\n }\n });\n\n this.mutationObserver.observe(\n this.hostElement.querySelector('.crumb-items'),\n {\n subtree: true,\n childList: true,\n }\n );\n }\n\n componentWillLoad() {\n this.items = this.getItems();\n }\n\n private getItems() {\n return this.breadcrumbItems.map((item) => {\n return { label: item.label, icon: item.icon };\n });\n }\n\n disconnectedCallback() {\n this.mutationObserver?.disconnect();\n }\n\n private animationFadeOut(ref: HTMLElement, complete: () => void) {\n animejs({\n targets: ref,\n translateX: '-100%',\n duration: 150,\n opacity: [1, 0],\n easing: 'linear',\n complete: () => complete(),\n });\n }\n\n private animationFadeIn(ref: HTMLElement) {\n animejs({\n targets: ref,\n duration: 150,\n opacity: [0, 1],\n translateX: ['-100%', '0%'],\n easing: 'linear',\n });\n }\n\n private handleLastButtonRef(ref: HTMLDivElement, last: boolean) {\n if (last) {\n this.animationFadeIn(ref);\n }\n if (last && this.nextItems?.length) {\n this.nextButtonRef = ref;\n }\n }\n\n private sliceHiddenItems() {\n let sliceIndex = 0;\n\n if (this.items.length > this.visibleItemCount) {\n sliceIndex = this.items.length - this.visibleItemCount;\n }\n\n return this.items.slice(sliceIndex);\n }\n\n private clickItem(item: string, last: boolean) {\n if (!last) {\n this.onItemClick(item);\n }\n }\n\n private renderBreadcrumbItems() {\n return this.sliceHiddenItems().map((item, index, array) => {\n const last = index === array.length - 1;\n\n const isLastItem = last && !this.nextItems?.length;\n return (\n <div\n ref={(ref) => this.handleLastButtonRef(ref, last)}\n data-breadcrumb={index}\n class={{\n crumb: true,\n clickable: true,\n ghost: this.ghost,\n btn: !this.ghost,\n last: isLastItem,\n 'remove-hover': isLastItem,\n }}\n onClick={() => this.clickItem(item.label, last)}\n data-testid=\"item\"\n >\n <span class=\"crumb-text remove-anchor\">\n {item.icon ? <ix-icon name={item.icon} size=\"16\"></ix-icon> : ''}\n <span\n style={{\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n }}\n >\n {item.label}\n </span>\n </span>\n {!isLastItem ? (\n <span class=\"glyph glyph-18 glyph-chevron-right-small text-default-text\"></span>\n ) : null}\n </div>\n );\n });\n }\n\n render() {\n return (\n <Host>\n <ix-dropdown\n trigger={\n this.items?.length > this.visibleItemCount\n ? this.previousButtonRef\n : null\n }\n >\n {this.items\n .slice(0, this.items.length - this.visibleItemCount)\n .map((item) => (\n <ix-dropdown-item\n label={item.label}\n onClick={() => this.onItemClick(item.label)}\n ></ix-dropdown-item>\n ))}\n </ix-dropdown>\n {this.items?.length > this.visibleItemCount ? (\n <div\n class=\"crumb crumb-dropdown\"\n ref={(ref) => (this.previousButtonRef = ref)}\n >\n <span class=\"remove-anchor more-text\">\n <span class=\"more-text-ellipsis\">...</span>\n <span class=\"glyph glyph-16 glyph-chevron-right\"></span>\n </span>\n </div>\n ) : null}\n <div class=\"crumb-items\">\n {this.renderBreadcrumbItems()}\n <slot></slot>\n </div>\n <ix-dropdown trigger={this.nextButtonRef}>\n {this.nextItems?.map((item) => (\n <ix-dropdown-item\n label={item}\n onClick={(e) => {\n this.nextClick.emit({\n event: e,\n item,\n });\n }}\n ></ix-dropdown-item>\n ))}\n </ix-dropdown>\n </Host>\n );\n }\n}\n"]}
@@ -175,7 +175,7 @@ export class CategoryFilter {
175
175
  if (newToken === '') {
176
176
  return;
177
177
  }
178
- if (this.filterTokens.find((value) => (value === null || value === void 0 ? void 0 : value.value) === newToken)) {
178
+ if (this.hasToken(newToken)) {
179
179
  return;
180
180
  }
181
181
  const pair = { id: category, value: newToken, operator };
@@ -224,9 +224,23 @@ export class CategoryFilter {
224
224
  const isCategoryAlreadySet = this.filterTokens.find((token) => token.id === value);
225
225
  return !isCategoryAlreadySet;
226
226
  }
227
+ hasToken(token) {
228
+ return this.filterTokens.some((filterToken) => {
229
+ const hasSameValue = filterToken.value === token;
230
+ if (!hasSameValue) {
231
+ return false;
232
+ }
233
+ if (this.category) {
234
+ return this.category === filterToken.id;
235
+ }
236
+ if (filterToken.id) {
237
+ return filterToken.id === this.ID_CUSTOM_FILTER_VALUE;
238
+ }
239
+ return hasSameValue;
240
+ });
241
+ }
227
242
  filterDuplicateTokens(value) {
228
- const isTokenAlreadySet = this.filterTokens.some((token) => token.value === value);
229
- return !isTokenAlreadySet;
243
+ return !this.hasToken(value);
230
244
  }
231
245
  filterByInput(value) {
232
246
  if (this.inputValue === undefined || this.inputValue === '') {
@@ -1 +1 @@
1
- {"version":3,"file":"category-filter.js","sourceRoot":"","sources":["../../../src/components/category-filter/category-filter.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { FilterState } from './filter-state';\nimport { InputState } from './input-state';\nimport { LogicalFilterOperator } from './logical-filter-operator';\n\n@Component({\n tag: 'ix-category-filter',\n styleUrl: 'category-filter.scss',\n scoped: true,\n})\nexport class CategoryFilter {\n private readonly ID_CUSTOM_FILTER_VALUE = 'CW_CUSTOM_FILTER_VALUE';\n\n @State() private textInput?: HTMLInputElement;\n private formElement?: HTMLFormElement;\n private isScrollStateDirty: boolean;\n\n @Element() hostElement: HTMLIxCategoryFilterElement;\n\n @State() hasFocus: boolean;\n @State() categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n @State() inputValue: string;\n @State() category: string;\n @State() filterTokens: Array<{\n id: string;\n value: string;\n operator: LogicalFilterOperator;\n }> = [];\n\n /**\n * When set this will initially populate the component with the provided search criteria.\n * This will trigger all input events accordingly.\n * @deprecated Will be removed with 2.0.0. Use the member filterState instead.\n */\n @Prop() initialState: FilterState;\n\n /**\n * A set of search criteria to populate the component with.\n */\n @Prop() filterState: FilterState;\n\n /**\n * Placeholder text to be displayed in an empty input field.\n */\n @Prop() placeholder: string;\n\n /**\n * Configuration object hash used to populate the dropwdown menu for typeahead and quick selection functionality.\n * Each ID maps to an object with a label and an array of options to select from.\n */\n @Prop() categories: {\n [id: string]: {\n label: string;\n options: string[];\n };\n };\n\n /**\n * In certain use cases some categories may not be available for selection anymore.\n * To allow proper display of set filters with these categories this ID to label mapping can be populated.\n *\n * Configuration object hash used to supply labels to the filter chips in the input field.\n * Each ID maps to a string representing the label to display.\n */\n @Prop() nonSelectableCategories?: {\n [id: string]: string;\n } = {};\n\n /**\n * A list of strings that will be supplied as typeahead suggestions not tied to any categories.\n */\n @Prop() suggestions: string[];\n\n /**\n * The icon next to the actual text input\n * Defaults to 'search'\n */\n @Prop() icon = 'search';\n\n /**\n * Allows to hide the icon inside the text input.\n * Defaults to false\n */\n @Prop() hideIcon: boolean;\n\n /**\n * If set to true allows that a single category can be set more than once.\n * An already set category will not appear in the category dropdown if set to false.\n *\n * Defaults to true\n */\n @Prop() repeatCategories = true;\n\n /**\n * @internal For debugging purposes only!\n */\n @Prop() tmpDisableScrollIntoView = true;\n\n /**\n * i18n\n */\n @Prop() labelCategories = 'Categories';\n\n /**\n * i18n\n */\n @Prop() i18nPlainText = 'Filter by text';\n\n /**\n * Event dispatched whenever the text input changes.\n */\n @Event() inputChanged: EventEmitter<InputState>;\n\n /**\n * Event dispatched whenever the filter state changes.\n */\n @Event() filterChanged: EventEmitter<FilterState>;\n\n @Watch('filterState')\n watchFilterState(newValue) {\n this.setFilterState(newValue);\n }\n\n componentDidLoad() {\n if (this.initialState !== undefined) {\n this.setFilterState(this.initialState);\n } else if (this.filterState !== undefined) {\n setTimeout(() => this.setFilterState(this.filterState));\n }\n\n this.hostElement?.addEventListener(\n 'keydown',\n this.handleFormElementKeyDown.bind(this)\n );\n\n this.formElement?.addEventListener('submit', (e) => e.preventDefault());\n\n if (this.textInput == null) {\n console.warn(\n 'ix-category-filter - unable to add event listeners to native input element'\n );\n return;\n }\n\n this.textInput.addEventListener('focusin', () => {\n this.hasFocus = true;\n });\n this.textInput.addEventListener('focusout', () => (this.hasFocus = false));\n this.textInput.addEventListener('input', () => {\n this.inputValue = this.textInput.value;\n const inputState = new InputState(this.inputValue, this.category);\n this.inputChanged.emit(inputState);\n });\n this.textInput.addEventListener(\n 'keydown',\n this.handleInputElementKeyDown.bind(this)\n );\n }\n\n private setFilterState(state: FilterState) {\n this.filterTokens = [];\n\n for (const token of state.tokens) {\n this.addToken(\n token,\n this.ID_CUSTOM_FILTER_VALUE,\n this.categoryLogicalOperator,\n false\n );\n }\n\n for (const category of state.categories) {\n this.addToken(category.value, category.id, category.operator, false);\n }\n\n this.emitFilterEvent();\n }\n\n private closeDropdown() {\n this.hostElement.querySelector('ix-dropdown').show = false;\n }\n\n private handleFormElementKeyDown(e: KeyboardEvent) {\n switch (e.code) {\n case 'Enter':\n case 'NumpadEnter':\n if (!document.activeElement.classList.contains('dropdown-item')) {\n return;\n }\n\n const token = document.activeElement.getAttribute('data-id');\n\n if (this.hasCategorySelection()) {\n if (this.category) {\n this.addToken(token, this.category);\n } else if (\n document.activeElement.classList.contains('category-item-id')\n ) {\n this.selectCategory(token);\n }\n } else {\n this.addToken(token);\n }\n\n e.preventDefault();\n break;\n\n case 'ArrowUp':\n this.focusPreviousItem();\n e.preventDefault();\n break;\n\n case 'ArrowDown':\n this.focusNextItem();\n e.preventDefault();\n break;\n\n case 'Escape':\n this.closeDropdown();\n break;\n }\n }\n\n private focusPreviousItem() {\n const sibling = document.activeElement.previousSibling;\n if (sibling instanceof HTMLElement) {\n sibling.focus();\n }\n }\n\n private focusNextItem() {\n const sibling = document.activeElement.nextSibling;\n if (sibling instanceof HTMLElement) {\n sibling.focus();\n }\n }\n\n private handleInputElementKeyDown(e: KeyboardEvent) {\n switch (e.code) {\n case 'ArrowDown':\n const selector = `.category-item-${this.category ? 'value' : 'id'}`;\n let item = this.hostElement.querySelector(selector);\n\n if (item instanceof HTMLElement) {\n item.focus();\n e.stopPropagation();\n } else if (this.suggestions?.length) {\n item = this.hostElement.querySelector('.category-item');\n if (item instanceof HTMLElement) {\n item.focus();\n e.stopPropagation();\n }\n }\n break;\n\n case 'Backspace':\n if (this.textInput.value !== '') {\n return;\n }\n\n if (this.category) {\n this.category = undefined;\n return;\n }\n\n const tokenCount = this.filterTokens.length;\n if (tokenCount > 0) {\n this.removeToken(tokenCount - 1);\n }\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.addToken(this.inputValue, this.category);\n e.preventDefault();\n break;\n }\n }\n\n private emitFilterEvent() {\n const tokens = this.filterTokens\n .filter((item) => item.id === this.ID_CUSTOM_FILTER_VALUE)\n .map((item) => item.value);\n const categories = this.filterTokens.filter(\n (item) => item.id !== this.ID_CUSTOM_FILTER_VALUE\n );\n const filterState: FilterState = {\n tokens,\n categories,\n };\n\n this.filterChanged.emit(filterState);\n }\n\n private addToken(\n token: string,\n category: string = this.ID_CUSTOM_FILTER_VALUE,\n operator = this.categoryLogicalOperator,\n emitEvent = true\n ) {\n if (token === undefined || token === null) {\n return;\n }\n\n const newToken = token.trim();\n\n if (newToken === '') {\n return;\n }\n\n if (this.filterTokens.find((value) => value?.value === newToken)) {\n return;\n }\n\n const pair = { id: category, value: newToken, operator };\n this.filterTokens = [...this.filterTokens, pair];\n this.textInput.value = '';\n this.inputValue = '';\n this.categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n\n if (this.category) {\n this.category = undefined;\n }\n\n this.isScrollStateDirty = true;\n\n this.textInput.focus();\n\n if (emitEvent) {\n this.emitFilterEvent();\n }\n\n this.closeDropdown();\n }\n\n private removeToken(index: number) {\n this.filterTokens = this.filterTokens.filter((_, i) => i !== index);\n this.emitFilterEvent();\n }\n\n private getCategoryIds() {\n const ids = [];\n for (const id in this.categories) {\n if (Object.prototype.hasOwnProperty.call(this.categories, id)) {\n ids.push(id);\n }\n }\n\n return ids;\n }\n\n private selectCategory(category: string) {\n this.category = category;\n this.textInput.value = '';\n this.inputValue = '';\n this.textInput.focus();\n }\n\n private resetFilter() {\n this.closeDropdown();\n this.filterTokens = [];\n this.emitFilterEvent();\n }\n\n private filterMultiples(value: string) {\n if (this.repeatCategories) {\n return true;\n }\n\n const isCategoryAlreadySet = this.filterTokens.find(\n (token) => token.id === value\n );\n\n return !isCategoryAlreadySet;\n }\n\n private filterDuplicateTokens(value: string) {\n const isTokenAlreadySet = this.filterTokens.some(\n (token) => token.value === value\n );\n return !isTokenAlreadySet;\n }\n\n private filterByInput(value: string) {\n if (this.inputValue === undefined || this.inputValue === '') {\n return true;\n }\n\n return value.toLowerCase().indexOf(this.inputValue.toLowerCase()) !== -1;\n }\n\n private toggleCategoryOperator() {\n switch (this.categoryLogicalOperator) {\n case LogicalFilterOperator.EQUAL:\n this.categoryLogicalOperator = LogicalFilterOperator.NOT_EQUAL;\n break;\n\n case LogicalFilterOperator.NOT_EQUAL:\n this.categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n break;\n }\n }\n\n private getFilterChipLabel(value: {\n id: string;\n value: string;\n operator: LogicalFilterOperator;\n }): string {\n if (value.id === this.ID_CUSTOM_FILTER_VALUE) {\n return value.value;\n }\n\n const operatorString =\n value.operator === LogicalFilterOperator.EQUAL ? '=' : '!=';\n const label =\n this.categories[value.id]?.label ??\n this.nonSelectableCategories[value.id] ??\n value.id;\n\n return `${label} ${operatorString} ${value.value}`;\n }\n\n private getFilteredSuggestions() {\n if (!this.suggestions?.length) {\n return [];\n }\n\n return this.suggestions\n ?.filter((value) => this.filterByInput(value))\n .filter((value) => this.filterDuplicateTokens(value));\n }\n\n private hasCategorySelection() {\n return this.categories !== undefined;\n }\n\n private displayDropdown() {\n if (this.hasCategorySelection()) {\n return true;\n }\n\n if (this.suggestions !== undefined) {\n return this.getFilteredSuggestions().length > 0;\n }\n\n return false;\n }\n\n private renderPlainSuggestions() {\n return (\n <div class=\"dropdown-item-container\">\n {this.getFilteredSuggestions().map((suggestion) => (\n <button\n class=\"dropdown-item\"\n data-id={suggestion}\n onClick={() => this.addToken(suggestion)}\n key={suggestion}\n title={suggestion}\n >\n {suggestion}\n </button>\n ))}\n </div>\n );\n }\n\n private renderCategoryValues() {\n return (\n <div class=\"dropdown-item-container\">\n <button\n class=\"btn btn-invisible-secondary btn-icon btn-toggle-operator\"\n onClick={() => this.toggleCategoryOperator()}\n tabindex=\"-1\"\n >\n {this.categoryLogicalOperator === LogicalFilterOperator.NOT_EQUAL\n ? '='\n : '!='}\n </button>\n <div class=\"dropdown-header\">\n {this.categories[this.category]?.label}\n </div>\n {this.categories[this.category]?.options\n .filter((value) => this.filterByInput(value))\n .filter((value) => this.filterDuplicateTokens(value))\n .map((id) => (\n <button\n class=\"dropdown-item category-item-value\"\n data-id={id}\n title={id}\n key={id}\n onClick={() => this.addToken(id, this.category)}\n >\n {`${\n this.categoryLogicalOperator === LogicalFilterOperator.EQUAL\n ? '='\n : '!='\n } ${id}`}\n </button>\n ))}\n </div>\n );\n }\n\n private renderDropdownContent() {\n if (this.hasCategorySelection()) {\n if (this.category) {\n return this.renderCategoryValues();\n } else {\n return this.renderCategorySelection();\n }\n } else return this.renderPlainSuggestions();\n }\n\n private renderCategorySelection() {\n return (\n <div class=\"dropdown-item-container\">\n {this.getCategoryIds()\n ?.filter((id) => this.filterByInput(this.categories[id].label))\n .filter((id) => this.filterMultiples(id))\n .map((id) => (\n <button\n class=\"dropdown-item category-item category-item-id\"\n data-id={id}\n title={this.categories[id].label}\n key={id}\n onClick={() => this.selectCategory(id)}\n tabindex=\"0\"\n >\n {this.categories[id]?.label}\n </button>\n ))}\n </div>\n );\n }\n\n private getDropdownHeader() {\n if (this.categories) {\n if (this.category) {\n return null;\n } else {\n return this.labelCategories;\n }\n }\n\n return this.i18nPlainText;\n }\n\n componentDidRender() {\n if (this.isScrollStateDirty) {\n if (!this.tmpDisableScrollIntoView) {\n this.textInput.scrollIntoView();\n }\n this.isScrollStateDirty = false;\n }\n }\n\n private getResetButton() {\n return (\n <ix-icon-button\n onClick={() => this.resetFilter()}\n class={{\n 'reset-button': true,\n 'hide-reset-button': !this.filterTokens.length && !this.category,\n }}\n variant=\"Primary\"\n ghost\n oval\n icon=\"clear\"\n size=\"16\"\n tabindex=\"1\"\n ></ix-icon-button>\n );\n }\n\n render() {\n return (\n <Host>\n <form ref={(el) => (this.formElement = el)}>\n <div\n class={{\n 'form-control': true,\n 'input-container': true,\n focus: this.hasFocus,\n 'no-icon': this.hideIcon,\n }}\n >\n <ix-icon\n class={{ 'd-none': this.hideIcon }}\n name={this.icon}\n size=\"16\"\n ></ix-icon>\n <div class=\"token-container\">\n <ul class=\"list-unstyled\">\n {this.filterTokens.map((value, index) => (\n <li\n key={value.toString()}\n class={{\n animate__animated: true,\n animate__fadein: true,\n }}\n >\n <ix-filter-chip\n onCloseClick={() => this.removeToken(index)}\n >\n {this.getFilterChipLabel(value)}\n </ix-filter-chip>\n </li>\n ))}\n {this.categories === undefined ? (\n ''\n ) : (\n <li\n class={{\n 'category-preview': true,\n 'd-none': !this.category,\n }}\n >\n {this.categories[this.category]?.label}\n </li>\n )}\n <input\n class={{\n 'text-input': true,\n 'hide-placeholder': this.category !== undefined,\n }}\n ref={(el) => (this.textInput = el)}\n type=\"text\"\n placeholder={this.placeholder}\n ></input>\n </ul>\n </div>\n {this.getResetButton()}\n </div>\n </form>\n\n <ix-dropdown\n closeBehavior=\"outside\"\n trigger={this.textInput}\n triggerEvent={['click', 'focus']}\n header={this.getDropdownHeader()}\n class={{ 'd-none': !this.displayDropdown() }}\n >\n {this.renderDropdownContent()}\n </ix-dropdown>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"category-filter.js","sourceRoot":"","sources":["../../../src/components/category-filter/category-filter.tsx"],"names":[],"mappings":"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","sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n Watch,\n} from '@stencil/core';\nimport { FilterState } from './filter-state';\nimport { InputState } from './input-state';\nimport { LogicalFilterOperator } from './logical-filter-operator';\n\n@Component({\n tag: 'ix-category-filter',\n styleUrl: 'category-filter.scss',\n scoped: true,\n})\nexport class CategoryFilter {\n private readonly ID_CUSTOM_FILTER_VALUE = 'CW_CUSTOM_FILTER_VALUE';\n\n @State() private textInput?: HTMLInputElement;\n private formElement?: HTMLFormElement;\n private isScrollStateDirty: boolean;\n\n @Element() hostElement: HTMLIxCategoryFilterElement;\n\n @State() hasFocus: boolean;\n @State() categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n @State() inputValue: string;\n @State() category: string;\n @State() filterTokens: Array<{\n id: string;\n value: string;\n operator: LogicalFilterOperator;\n }> = [];\n\n /**\n * When set this will initially populate the component with the provided search criteria.\n * This will trigger all input events accordingly.\n * @deprecated Will be removed with 2.0.0. Use the member filterState instead.\n */\n @Prop() initialState: FilterState;\n\n /**\n * A set of search criteria to populate the component with.\n */\n @Prop() filterState: FilterState;\n\n /**\n * Placeholder text to be displayed in an empty input field.\n */\n @Prop() placeholder: string;\n\n /**\n * Configuration object hash used to populate the dropwdown menu for typeahead and quick selection functionality.\n * Each ID maps to an object with a label and an array of options to select from.\n */\n @Prop() categories: {\n [id: string]: {\n label: string;\n options: string[];\n };\n };\n\n /**\n * In certain use cases some categories may not be available for selection anymore.\n * To allow proper display of set filters with these categories this ID to label mapping can be populated.\n *\n * Configuration object hash used to supply labels to the filter chips in the input field.\n * Each ID maps to a string representing the label to display.\n */\n @Prop() nonSelectableCategories?: {\n [id: string]: string;\n } = {};\n\n /**\n * A list of strings that will be supplied as typeahead suggestions not tied to any categories.\n */\n @Prop() suggestions: string[];\n\n /**\n * The icon next to the actual text input\n * Defaults to 'search'\n */\n @Prop() icon = 'search';\n\n /**\n * Allows to hide the icon inside the text input.\n * Defaults to false\n */\n @Prop() hideIcon: boolean;\n\n /**\n * If set to true allows that a single category can be set more than once.\n * An already set category will not appear in the category dropdown if set to false.\n *\n * Defaults to true\n */\n @Prop() repeatCategories = true;\n\n /**\n * @internal For debugging purposes only!\n */\n @Prop() tmpDisableScrollIntoView = true;\n\n /**\n * i18n\n */\n @Prop() labelCategories = 'Categories';\n\n /**\n * i18n\n */\n @Prop() i18nPlainText = 'Filter by text';\n\n /**\n * Event dispatched whenever the text input changes.\n */\n @Event() inputChanged: EventEmitter<InputState>;\n\n /**\n * Event dispatched whenever the filter state changes.\n */\n @Event() filterChanged: EventEmitter<FilterState>;\n\n @Watch('filterState')\n watchFilterState(newValue) {\n this.setFilterState(newValue);\n }\n\n componentDidLoad() {\n if (this.initialState !== undefined) {\n this.setFilterState(this.initialState);\n } else if (this.filterState !== undefined) {\n setTimeout(() => this.setFilterState(this.filterState));\n }\n\n this.hostElement?.addEventListener(\n 'keydown',\n this.handleFormElementKeyDown.bind(this)\n );\n\n this.formElement?.addEventListener('submit', (e) => e.preventDefault());\n\n if (this.textInput == null) {\n console.warn(\n 'ix-category-filter - unable to add event listeners to native input element'\n );\n return;\n }\n\n this.textInput.addEventListener('focusin', () => {\n this.hasFocus = true;\n });\n this.textInput.addEventListener('focusout', () => (this.hasFocus = false));\n this.textInput.addEventListener('input', () => {\n this.inputValue = this.textInput.value;\n const inputState = new InputState(this.inputValue, this.category);\n this.inputChanged.emit(inputState);\n });\n this.textInput.addEventListener(\n 'keydown',\n this.handleInputElementKeyDown.bind(this)\n );\n }\n\n private setFilterState(state: FilterState) {\n this.filterTokens = [];\n\n for (const token of state.tokens) {\n this.addToken(\n token,\n this.ID_CUSTOM_FILTER_VALUE,\n this.categoryLogicalOperator,\n false\n );\n }\n\n for (const category of state.categories) {\n this.addToken(category.value, category.id, category.operator, false);\n }\n\n this.emitFilterEvent();\n }\n\n private closeDropdown() {\n this.hostElement.querySelector('ix-dropdown').show = false;\n }\n\n private handleFormElementKeyDown(e: KeyboardEvent) {\n switch (e.code) {\n case 'Enter':\n case 'NumpadEnter':\n if (!document.activeElement.classList.contains('dropdown-item')) {\n return;\n }\n\n const token = document.activeElement.getAttribute('data-id');\n\n if (this.hasCategorySelection()) {\n if (this.category) {\n this.addToken(token, this.category);\n } else if (\n document.activeElement.classList.contains('category-item-id')\n ) {\n this.selectCategory(token);\n }\n } else {\n this.addToken(token);\n }\n\n e.preventDefault();\n break;\n\n case 'ArrowUp':\n this.focusPreviousItem();\n e.preventDefault();\n break;\n\n case 'ArrowDown':\n this.focusNextItem();\n e.preventDefault();\n break;\n\n case 'Escape':\n this.closeDropdown();\n break;\n }\n }\n\n private focusPreviousItem() {\n const sibling = document.activeElement.previousSibling;\n if (sibling instanceof HTMLElement) {\n sibling.focus();\n }\n }\n\n private focusNextItem() {\n const sibling = document.activeElement.nextSibling;\n if (sibling instanceof HTMLElement) {\n sibling.focus();\n }\n }\n\n private handleInputElementKeyDown(e: KeyboardEvent) {\n switch (e.code) {\n case 'ArrowDown':\n const selector = `.category-item-${this.category ? 'value' : 'id'}`;\n let item = this.hostElement.querySelector(selector);\n\n if (item instanceof HTMLElement) {\n item.focus();\n e.stopPropagation();\n } else if (this.suggestions?.length) {\n item = this.hostElement.querySelector('.category-item');\n if (item instanceof HTMLElement) {\n item.focus();\n e.stopPropagation();\n }\n }\n break;\n\n case 'Backspace':\n if (this.textInput.value !== '') {\n return;\n }\n\n if (this.category) {\n this.category = undefined;\n return;\n }\n\n const tokenCount = this.filterTokens.length;\n if (tokenCount > 0) {\n this.removeToken(tokenCount - 1);\n }\n break;\n\n case 'Enter':\n case 'NumpadEnter':\n this.addToken(this.inputValue, this.category);\n e.preventDefault();\n break;\n }\n }\n\n private emitFilterEvent() {\n const tokens = this.filterTokens\n .filter((item) => item.id === this.ID_CUSTOM_FILTER_VALUE)\n .map((item) => item.value);\n const categories = this.filterTokens.filter(\n (item) => item.id !== this.ID_CUSTOM_FILTER_VALUE\n );\n const filterState: FilterState = {\n tokens,\n categories,\n };\n\n this.filterChanged.emit(filterState);\n }\n\n private addToken(\n token: string,\n category: string = this.ID_CUSTOM_FILTER_VALUE,\n operator = this.categoryLogicalOperator,\n emitEvent = true\n ) {\n if (token === undefined || token === null) {\n return;\n }\n\n const newToken = token.trim();\n\n if (newToken === '') {\n return;\n }\n\n if (this.hasToken(newToken)) {\n return;\n }\n\n const pair = { id: category, value: newToken, operator };\n this.filterTokens = [...this.filterTokens, pair];\n this.textInput.value = '';\n this.inputValue = '';\n this.categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n\n if (this.category) {\n this.category = undefined;\n }\n\n this.isScrollStateDirty = true;\n\n this.textInput.focus();\n\n if (emitEvent) {\n this.emitFilterEvent();\n }\n\n this.closeDropdown();\n }\n\n private removeToken(index: number) {\n this.filterTokens = this.filterTokens.filter((_, i) => i !== index);\n this.emitFilterEvent();\n }\n\n private getCategoryIds() {\n const ids = [];\n for (const id in this.categories) {\n if (Object.prototype.hasOwnProperty.call(this.categories, id)) {\n ids.push(id);\n }\n }\n\n return ids;\n }\n\n private selectCategory(category: string) {\n this.category = category;\n this.textInput.value = '';\n this.inputValue = '';\n this.textInput.focus();\n }\n\n private resetFilter() {\n this.closeDropdown();\n this.filterTokens = [];\n this.emitFilterEvent();\n }\n\n private filterMultiples(value: string) {\n if (this.repeatCategories) {\n return true;\n }\n\n const isCategoryAlreadySet = this.filterTokens.find(\n (token) => token.id === value\n );\n\n return !isCategoryAlreadySet;\n }\n\n private hasToken(token: string) {\n return this.filterTokens.some((filterToken) => {\n const hasSameValue = filterToken.value === token;\n\n if (!hasSameValue) {\n return false;\n }\n\n if (this.category) {\n return this.category === filterToken.id;\n }\n\n if (filterToken.id) {\n return filterToken.id === this.ID_CUSTOM_FILTER_VALUE;\n }\n\n return hasSameValue;\n });\n }\n\n private filterDuplicateTokens(value: string) {\n return !this.hasToken(value);\n }\n\n private filterByInput(value: string) {\n if (this.inputValue === undefined || this.inputValue === '') {\n return true;\n }\n\n return value.toLowerCase().indexOf(this.inputValue.toLowerCase()) !== -1;\n }\n\n private toggleCategoryOperator() {\n switch (this.categoryLogicalOperator) {\n case LogicalFilterOperator.EQUAL:\n this.categoryLogicalOperator = LogicalFilterOperator.NOT_EQUAL;\n break;\n\n case LogicalFilterOperator.NOT_EQUAL:\n this.categoryLogicalOperator = LogicalFilterOperator.EQUAL;\n break;\n }\n }\n\n private getFilterChipLabel(value: {\n id: string;\n value: string;\n operator: LogicalFilterOperator;\n }): string {\n if (value.id === this.ID_CUSTOM_FILTER_VALUE) {\n return value.value;\n }\n\n const operatorString =\n value.operator === LogicalFilterOperator.EQUAL ? '=' : '!=';\n const label =\n this.categories[value.id]?.label ??\n this.nonSelectableCategories[value.id] ??\n value.id;\n\n return `${label} ${operatorString} ${value.value}`;\n }\n\n private getFilteredSuggestions() {\n if (!this.suggestions?.length) {\n return [];\n }\n\n return this.suggestions\n ?.filter((value) => this.filterByInput(value))\n .filter((value) => this.filterDuplicateTokens(value));\n }\n\n private hasCategorySelection() {\n return this.categories !== undefined;\n }\n\n private displayDropdown() {\n if (this.hasCategorySelection()) {\n return true;\n }\n\n if (this.suggestions !== undefined) {\n return this.getFilteredSuggestions().length > 0;\n }\n\n return false;\n }\n\n private renderPlainSuggestions() {\n return (\n <div class=\"dropdown-item-container\">\n {this.getFilteredSuggestions().map((suggestion) => (\n <button\n class=\"dropdown-item\"\n data-id={suggestion}\n onClick={() => this.addToken(suggestion)}\n key={suggestion}\n title={suggestion}\n >\n {suggestion}\n </button>\n ))}\n </div>\n );\n }\n\n private renderCategoryValues() {\n return (\n <div class=\"dropdown-item-container\">\n <button\n class=\"btn btn-invisible-secondary btn-icon btn-toggle-operator\"\n onClick={() => this.toggleCategoryOperator()}\n tabindex=\"-1\"\n >\n {this.categoryLogicalOperator === LogicalFilterOperator.NOT_EQUAL\n ? '='\n : '!='}\n </button>\n <div class=\"dropdown-header\">\n {this.categories[this.category]?.label}\n </div>\n {this.categories[this.category]?.options\n .filter((value) => this.filterByInput(value))\n .filter((value) => this.filterDuplicateTokens(value))\n .map((id) => (\n <button\n class=\"dropdown-item category-item-value\"\n data-id={id}\n title={id}\n key={id}\n onClick={() => this.addToken(id, this.category)}\n >\n {`${\n this.categoryLogicalOperator === LogicalFilterOperator.EQUAL\n ? '='\n : '!='\n } ${id}`}\n </button>\n ))}\n </div>\n );\n }\n\n private renderDropdownContent() {\n if (this.hasCategorySelection()) {\n if (this.category) {\n return this.renderCategoryValues();\n } else {\n return this.renderCategorySelection();\n }\n } else return this.renderPlainSuggestions();\n }\n\n private renderCategorySelection() {\n return (\n <div class=\"dropdown-item-container\">\n {this.getCategoryIds()\n ?.filter((id) => this.filterByInput(this.categories[id].label))\n .filter((id) => this.filterMultiples(id))\n .map((id) => (\n <button\n class=\"dropdown-item category-item category-item-id\"\n data-id={id}\n title={this.categories[id].label}\n key={id}\n onClick={() => this.selectCategory(id)}\n tabindex=\"0\"\n >\n {this.categories[id]?.label}\n </button>\n ))}\n </div>\n );\n }\n\n private getDropdownHeader() {\n if (this.categories) {\n if (this.category) {\n return null;\n } else {\n return this.labelCategories;\n }\n }\n\n return this.i18nPlainText;\n }\n\n componentDidRender() {\n if (this.isScrollStateDirty) {\n if (!this.tmpDisableScrollIntoView) {\n this.textInput.scrollIntoView();\n }\n this.isScrollStateDirty = false;\n }\n }\n\n private getResetButton() {\n return (\n <ix-icon-button\n onClick={() => this.resetFilter()}\n class={{\n 'reset-button': true,\n 'hide-reset-button': !this.filterTokens.length && !this.category,\n }}\n variant=\"Primary\"\n ghost\n oval\n icon=\"clear\"\n size=\"16\"\n tabindex=\"1\"\n ></ix-icon-button>\n );\n }\n\n render() {\n return (\n <Host>\n <form ref={(el) => (this.formElement = el)}>\n <div\n class={{\n 'form-control': true,\n 'input-container': true,\n focus: this.hasFocus,\n 'no-icon': this.hideIcon,\n }}\n >\n <ix-icon\n class={{ 'd-none': this.hideIcon }}\n name={this.icon}\n size=\"16\"\n ></ix-icon>\n <div class=\"token-container\">\n <ul class=\"list-unstyled\">\n {this.filterTokens.map((value, index) => (\n <li\n key={value.toString()}\n class={{\n animate__animated: true,\n animate__fadein: true,\n }}\n >\n <ix-filter-chip\n onCloseClick={() => this.removeToken(index)}\n >\n {this.getFilterChipLabel(value)}\n </ix-filter-chip>\n </li>\n ))}\n {this.categories === undefined ? (\n ''\n ) : (\n <li\n class={{\n 'category-preview': true,\n 'd-none': !this.category,\n }}\n >\n {this.categories[this.category]?.label}\n </li>\n )}\n <input\n class={{\n 'text-input': true,\n 'hide-placeholder': this.category !== undefined,\n }}\n ref={(el) => (this.textInput = el)}\n type=\"text\"\n placeholder={this.placeholder}\n ></input>\n </ul>\n </div>\n {this.getResetButton()}\n </div>\n </form>\n\n <ix-dropdown\n closeBehavior=\"outside\"\n trigger={this.textInput}\n triggerEvent={['click', 'focus']}\n header={this.getDropdownHeader()}\n class={{ 'd-none': !this.displayDropdown() }}\n >\n {this.renderDropdownContent()}\n </ix-dropdown>\n </Host>\n );\n }\n}\n"]}
@@ -18,6 +18,9 @@
18
18
  /* Font sizes */
19
19
  /* Line heights */
20
20
  /* Animation timings */
21
+ :host ix-date-time-card {
22
+ display: inline-block;
23
+ }
21
24
  :host .header {
22
25
  display: flex;
23
26
  align-items: center;