@ukic/canary-web-components 3.0.0-canary.32 → 3.0.0-canary.34

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 (414) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-6f4b406b.js → helpers-f81fed28.js} +37 -1
  3. package/dist/cjs/helpers-f81fed28.js.map +1 -0
  4. package/dist/cjs/ic-alert.cjs.entry.js +6 -2
  5. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-button_3.cjs.entry.js +28 -16
  7. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-calendar_2.cjs.entry.js +2 -2
  9. package/dist/cjs/ic-calendar_2.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-card-horizontal.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-checkbox-group.cjs.entry.js +23 -2
  12. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-checkbox_3.cjs.entry.js +11 -7
  14. package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  16. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +1 -1
  18. package/dist/cjs/ic-data-table.cjs.entry.js +11 -8
  19. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-date-picker.cjs.entry.js +1 -1
  21. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +3 -4
  22. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-menu.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-pagination_4.cjs.entry.js +8 -4
  26. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-skeleton.cjs.entry.js +20 -5
  28. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-step.cjs.entry.js +16 -14
  30. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-stepper.cjs.entry.js +24 -4
  32. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-switch.cjs.entry.js +4 -4
  34. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  36. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
  38. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  40. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-table-of-contents.cjs.entry.js +1 -1
  42. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  43. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-time-input.cjs.entry.js +402 -100
  45. package/dist/cjs/ic-time-input.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-time-selector.cjs.entry.js +722 -0
  47. package/dist/cjs/ic-time-selector.cjs.entry.js.map +1 -0
  48. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  49. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-toast.cjs.entry.js +5 -5
  51. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  52. package/dist/cjs/{ic-toggle-button.cjs.entry.js → ic-toggle-button_2.cjs.entry.js} +276 -3
  53. package/dist/cjs/ic-toggle-button_2.cjs.entry.js.map +1 -0
  54. package/dist/cjs/ic-tree-item.cjs.entry.js +3 -3
  55. package/dist/cjs/ic-tree-view.cjs.entry.js +4 -4
  56. package/dist/cjs/index-d337cd8a.js +8 -8
  57. package/dist/cjs/loader.cjs.js +1 -1
  58. package/dist/collection/collection-manifest.json +1 -0
  59. package/dist/collection/components/ic-calendar/ic-calendar.css +8 -6
  60. package/dist/collection/components/ic-calendar/ic-calendar.stories.js +13 -0
  61. package/dist/collection/components/ic-calendar/ic-calendar.stories.js.map +1 -1
  62. package/dist/collection/components/ic-data-table/ic-data-table.js +10 -7
  63. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  64. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +30 -6
  65. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  66. package/dist/collection/components/ic-time-input/ic-time-input.css +21 -3
  67. package/dist/collection/components/ic-time-input/ic-time-input.js +436 -108
  68. package/dist/collection/components/ic-time-input/ic-time-input.js.map +1 -1
  69. package/dist/collection/components/ic-time-input/ic-time-input.stories.js +62 -13
  70. package/dist/collection/components/ic-time-input/ic-time-input.stories.js.map +1 -1
  71. package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js +2 -0
  72. package/dist/collection/components/ic-time-input/test/helpers/ic-time-input.js.map +1 -1
  73. package/dist/collection/components/ic-time-selector/ic-time-selector.css +293 -0
  74. package/dist/collection/components/ic-time-selector/ic-time-selector.js +928 -0
  75. package/dist/collection/components/ic-time-selector/ic-time-selector.js.map +1 -0
  76. package/dist/collection/components/ic-time-selector/ic-time-selector.stories.js +192 -0
  77. package/dist/collection/components/ic-time-selector/ic-time-selector.stories.js.map +1 -0
  78. package/dist/collection/components/ic-time-selector/ic-time-selector.types.js +2 -0
  79. package/dist/collection/components/ic-time-selector/ic-time-selector.types.js.map +1 -0
  80. package/dist/collection/components/ic-tree-item/ic-tree-item.js +2 -2
  81. package/dist/collection/components/ic-tree-view/ic-tree-view.js +3 -3
  82. package/dist/collection/utils/helpers.js +35 -0
  83. package/dist/collection/utils/helpers.js.map +1 -1
  84. package/dist/collection/utils/types.js.map +1 -1
  85. package/dist/components/helpers2.js +36 -1
  86. package/dist/components/helpers2.js.map +1 -1
  87. package/dist/components/ic-alert.js +7 -2
  88. package/dist/components/ic-alert.js.map +1 -1
  89. package/dist/components/ic-button2.js +4 -4
  90. package/dist/components/ic-button2.js.map +1 -1
  91. package/dist/components/ic-calendar2.js +1 -1
  92. package/dist/components/ic-calendar2.js.map +1 -1
  93. package/dist/components/ic-checkbox-group.js +24 -2
  94. package/dist/components/ic-checkbox-group.js.map +1 -1
  95. package/dist/components/ic-data-row.js +1 -1
  96. package/dist/components/ic-data-row.js.map +1 -1
  97. package/dist/components/ic-data-table.js +10 -7
  98. package/dist/components/ic-data-table.js.map +1 -1
  99. package/dist/components/ic-input-validation2.js +4 -5
  100. package/dist/components/ic-input-validation2.js.map +1 -1
  101. package/dist/components/ic-loading-indicator2.js +27 -13
  102. package/dist/components/ic-loading-indicator2.js.map +1 -1
  103. package/dist/components/ic-menu2.js +1 -1
  104. package/dist/components/ic-menu2.js.map +1 -1
  105. package/dist/components/ic-pagination-bar2.js +11 -6
  106. package/dist/components/ic-pagination-bar2.js.map +1 -1
  107. package/dist/components/ic-pagination2.js +9 -4
  108. package/dist/components/ic-pagination2.js.map +1 -1
  109. package/dist/components/ic-skeleton.js +23 -6
  110. package/dist/components/ic-skeleton.js.map +1 -1
  111. package/dist/components/ic-step.js +17 -15
  112. package/dist/components/ic-step.js.map +1 -1
  113. package/dist/components/ic-stepper.js +24 -4
  114. package/dist/components/ic-stepper.js.map +1 -1
  115. package/dist/components/ic-switch.js +4 -4
  116. package/dist/components/ic-switch.js.map +1 -1
  117. package/dist/components/ic-tab-context.js +1 -1
  118. package/dist/components/ic-tab-context.js.map +1 -1
  119. package/dist/components/ic-tab-group.js +2 -2
  120. package/dist/components/ic-tab-group.js.map +1 -1
  121. package/dist/components/ic-tab-panel.js +2 -2
  122. package/dist/components/ic-tab-panel.js.map +1 -1
  123. package/dist/components/ic-theme.js +1 -1
  124. package/dist/components/ic-theme.js.map +1 -1
  125. package/dist/components/ic-time-input.js +432 -113
  126. package/dist/components/ic-time-input.js.map +1 -1
  127. package/dist/components/ic-time-selector.d.ts +11 -0
  128. package/dist/components/ic-time-selector.js +776 -0
  129. package/dist/components/ic-time-selector.js.map +1 -0
  130. package/dist/components/ic-toast-region.js +1 -1
  131. package/dist/components/ic-toast-region.js.map +1 -1
  132. package/dist/components/ic-toast.js +5 -5
  133. package/dist/components/ic-toast.js.map +1 -1
  134. package/dist/components/ic-toggle-button-group.js +1 -299
  135. package/dist/components/ic-toggle-button-group.js.map +1 -1
  136. package/dist/{esm/ic-toggle-button-group.entry.js → components/ic-toggle-button-group2.js} +70 -13
  137. package/dist/components/ic-toggle-button-group2.js.map +1 -0
  138. package/dist/components/ic-toggle-button.js +1 -228
  139. package/dist/components/ic-toggle-button.js.map +1 -1
  140. package/dist/{esm/ic-toggle-button.entry.js → components/ic-toggle-button2.js} +67 -12
  141. package/dist/components/ic-toggle-button2.js.map +1 -0
  142. package/dist/components/ic-tree-item.js +2 -2
  143. package/dist/components/ic-tree-view.js +4 -4
  144. package/dist/core/core.css +28 -6
  145. package/dist/core/core.esm.js +1 -1
  146. package/dist/core/core.esm.js.map +1 -1
  147. package/dist/core/{p-b80b08ae.entry.js → p-08f24329.entry.js} +2 -2
  148. package/dist/core/{p-96177a74.entry.js → p-0bca234b.entry.js} +2 -2
  149. package/dist/core/{p-96177a74.entry.js.map → p-0bca234b.entry.js.map} +1 -1
  150. package/dist/core/{p-615d474e.entry.js → p-14b8bf37.entry.js} +2 -2
  151. package/dist/core/{p-81f12581.entry.js → p-169ad948.entry.js} +2 -2
  152. package/dist/core/{p-5254a078.entry.js → p-1be17f22.entry.js} +2 -2
  153. package/dist/core/{p-5254a078.entry.js.map → p-1be17f22.entry.js.map} +1 -1
  154. package/dist/core/{p-847cbb16.entry.js → p-1d166343.entry.js} +2 -2
  155. package/dist/core/{p-15c05eb8.entry.js → p-1dbefb37.entry.js} +2 -2
  156. package/dist/core/p-1dbefb37.entry.js.map +1 -0
  157. package/dist/core/{p-b4bfaf8f.entry.js → p-201b41c7.entry.js} +2 -2
  158. package/dist/core/{p-24bac55f.entry.js → p-33509a89.entry.js} +2 -2
  159. package/dist/core/{p-e1920777.entry.js → p-3389625c.entry.js} +2 -2
  160. package/dist/core/{p-5a1cfb3c.entry.js → p-344752cb.entry.js} +2 -2
  161. package/dist/core/{p-6c238418.entry.js → p-348d7080.entry.js} +2 -2
  162. package/dist/core/{p-3ef2e98d.entry.js → p-39cdf5db.entry.js} +2 -2
  163. package/dist/core/{p-775b8dba.entry.js → p-409d03b2.entry.js} +2 -2
  164. package/dist/core/{p-775b8dba.entry.js.map → p-409d03b2.entry.js.map} +1 -1
  165. package/dist/core/p-492991ad.entry.js +2 -0
  166. package/dist/core/p-492991ad.entry.js.map +1 -0
  167. package/dist/core/{p-fd20470e.entry.js → p-496b314f.entry.js} +2 -2
  168. package/dist/core/{p-bd9a76d8.entry.js → p-508b6da3.entry.js} +2 -2
  169. package/dist/core/p-53dad961.entry.js +2 -0
  170. package/dist/core/p-53dad961.entry.js.map +1 -0
  171. package/dist/core/p-551a0fc1.entry.js +2 -0
  172. package/dist/core/p-551a0fc1.entry.js.map +1 -0
  173. package/dist/core/{p-f5cea10d.entry.js → p-5e6687a8.entry.js} +2 -2
  174. package/dist/core/{p-72171192.entry.js → p-60f4fe3a.entry.js} +2 -2
  175. package/dist/core/p-61c92598.entry.js +2 -0
  176. package/dist/core/p-61c92598.entry.js.map +1 -0
  177. package/dist/core/p-691dd972.entry.js +2 -0
  178. package/dist/core/p-691dd972.entry.js.map +1 -0
  179. package/dist/core/{p-c6c87e58.entry.js → p-6dfe0922.entry.js} +2 -2
  180. package/dist/core/{p-fd7f3b58.entry.js → p-770e92cd.entry.js} +2 -2
  181. package/dist/core/{p-7cf6b428.entry.js → p-79ead0e7.entry.js} +2 -2
  182. package/dist/core/{p-285892ef.entry.js → p-7b4b45cf.entry.js} +2 -2
  183. package/dist/core/p-7c4d6b13.entry.js +2 -0
  184. package/dist/core/p-7c4d6b13.entry.js.map +1 -0
  185. package/dist/core/{p-af821831.entry.js → p-7d878ad7.entry.js} +2 -2
  186. package/dist/core/p-7d878ad7.entry.js.map +1 -0
  187. package/dist/core/{p-afedcfdb.entry.js → p-7efdbab8.entry.js} +2 -2
  188. package/dist/core/p-829b34f9.js +2 -0
  189. package/dist/core/p-829b34f9.js.map +1 -0
  190. package/dist/core/{p-9a9605c3.entry.js → p-879c180d.entry.js} +2 -2
  191. package/dist/core/{p-444cd8d3.entry.js → p-8ab37b4d.entry.js} +2 -2
  192. package/dist/core/{p-31f3fb15.entry.js → p-8d42a6e5.entry.js} +2 -2
  193. package/dist/core/{p-31f3fb15.entry.js.map → p-8d42a6e5.entry.js.map} +1 -1
  194. package/dist/core/{p-c87cc0d1.entry.js → p-939025af.entry.js} +2 -2
  195. package/dist/core/{p-5a4344cb.entry.js → p-9dea5764.entry.js} +2 -2
  196. package/dist/core/{p-ffc1cea6.entry.js → p-a58cf6fd.entry.js} +2 -2
  197. package/dist/core/p-a58cf6fd.entry.js.map +1 -0
  198. package/dist/core/{p-53740194.entry.js → p-a8310dfd.entry.js} +2 -2
  199. package/dist/core/p-a8310dfd.entry.js.map +1 -0
  200. package/dist/core/{p-90611726.entry.js → p-a8a92e54.entry.js} +2 -2
  201. package/dist/core/{p-2646a629.entry.js → p-b76fdade.entry.js} +2 -2
  202. package/dist/core/{p-2646a629.entry.js.map → p-b76fdade.entry.js.map} +1 -1
  203. package/dist/core/{p-04cb17d7.entry.js → p-b9459ba2.entry.js} +2 -2
  204. package/dist/core/{p-04cb17d7.entry.js.map → p-b9459ba2.entry.js.map} +1 -1
  205. package/dist/core/p-bb3db366.entry.js +2 -0
  206. package/dist/core/p-bb3db366.entry.js.map +1 -0
  207. package/dist/core/p-bc6e5d64.entry.js +2 -0
  208. package/dist/core/p-bc6e5d64.entry.js.map +1 -0
  209. package/dist/core/{p-2188b483.entry.js → p-c0a7eed7.entry.js} +2 -2
  210. package/dist/core/{p-2bd2f38b.entry.js → p-c0b227d2.entry.js} +2 -2
  211. package/dist/core/{p-7a0f62c2.entry.js → p-c4b2774d.entry.js} +2 -2
  212. package/dist/core/{p-7026afad.entry.js → p-ca05573a.entry.js} +2 -2
  213. package/dist/core/{p-8c580d88.entry.js → p-d0607a70.entry.js} +2 -2
  214. package/dist/core/{p-adde6c66.entry.js → p-d376858f.entry.js} +2 -2
  215. package/dist/core/{p-adde6c66.entry.js.map → p-d376858f.entry.js.map} +1 -1
  216. package/dist/core/{p-e00e67ff.entry.js → p-dbd9a403.entry.js} +2 -2
  217. package/dist/core/{p-e00e67ff.entry.js.map → p-dbd9a403.entry.js.map} +1 -1
  218. package/dist/core/p-df064c8b.entry.js +2 -0
  219. package/dist/core/p-df064c8b.entry.js.map +1 -0
  220. package/dist/core/{p-e4ef4263.js → p-e519f607.js} +2 -2
  221. package/dist/core/{p-3f0bce15.entry.js → p-e5c6d01a.entry.js} +2 -2
  222. package/dist/core/{p-04a9f82f.entry.js → p-e8db8772.entry.js} +2 -2
  223. package/dist/core/{p-e4b82731.entry.js → p-ea04103e.entry.js} +2 -2
  224. package/dist/core/p-eac60693.entry.js +2 -0
  225. package/dist/core/p-eac60693.entry.js.map +1 -0
  226. package/dist/core/{p-8e592393.entry.js → p-ecc7fd71.entry.js} +2 -2
  227. package/dist/core/{p-6cfba272.entry.js → p-efe260f0.entry.js} +2 -2
  228. package/dist/core/{p-b6d6b26e.entry.js → p-f1b57f91.entry.js} +2 -2
  229. package/dist/core/{p-e4551a38.entry.js → p-f5dc04f7.entry.js} +2 -2
  230. package/dist/core/{p-25280383.entry.js → p-fb07921b.entry.js} +2 -2
  231. package/dist/core/p-fb07921b.entry.js.map +1 -0
  232. package/dist/core/{p-1900c7c7.entry.js → p-fd08156a.entry.js} +2 -2
  233. package/dist/core/{p-3594922d.entry.js → p-fe5b51bb.entry.js} +2 -2
  234. package/dist/core/{p-ef5b6622.entry.js → p-ff618439.entry.js} +2 -2
  235. package/dist/esm/core.js +1 -1
  236. package/dist/esm/{helpers-5419eb6c.js → helpers-063369f4.js} +2 -2
  237. package/dist/esm/{helpers-5419eb6c.js.map → helpers-063369f4.js.map} +1 -1
  238. package/dist/esm/{helpers-9f228880.js → helpers-a08b3f32.js} +37 -2
  239. package/dist/esm/helpers-a08b3f32.js.map +1 -0
  240. package/dist/esm/ic-accordion-group.entry.js +1 -1
  241. package/dist/esm/ic-accordion.entry.js +1 -1
  242. package/dist/esm/ic-action-chip.entry.js +1 -1
  243. package/dist/esm/ic-alert.entry.js +7 -3
  244. package/dist/esm/ic-alert.entry.js.map +1 -1
  245. package/dist/esm/ic-back-to-top.entry.js +1 -1
  246. package/dist/esm/ic-badge.entry.js +1 -1
  247. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  248. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  249. package/dist/esm/ic-button_3.entry.js +29 -17
  250. package/dist/esm/ic-button_3.entry.js.map +1 -1
  251. package/dist/esm/ic-calendar_2.entry.js +2 -2
  252. package/dist/esm/ic-calendar_2.entry.js.map +1 -1
  253. package/dist/esm/ic-card-horizontal.entry.js +1 -1
  254. package/dist/esm/ic-card-vertical.entry.js +1 -1
  255. package/dist/esm/ic-checkbox-group.entry.js +24 -3
  256. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  257. package/dist/esm/ic-checkbox_3.entry.js +12 -8
  258. package/dist/esm/ic-checkbox_3.entry.js.map +1 -1
  259. package/dist/esm/ic-chip.entry.js +1 -1
  260. package/dist/esm/ic-data-row.entry.js +2 -2
  261. package/dist/esm/ic-data-row.entry.js.map +1 -1
  262. package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
  263. package/dist/esm/ic-data-table.entry.js +11 -8
  264. package/dist/esm/ic-data-table.entry.js.map +1 -1
  265. package/dist/esm/ic-date-picker.entry.js +1 -1
  266. package/dist/esm/ic-dialog.entry.js +1 -1
  267. package/dist/esm/ic-divider.entry.js +1 -1
  268. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  269. package/dist/esm/ic-footer-link.entry.js +1 -1
  270. package/dist/esm/ic-footer.entry.js +1 -1
  271. package/dist/esm/ic-hero.entry.js +1 -1
  272. package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
  273. package/dist/esm/ic-input-component-container_4.entry.js +4 -5
  274. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
  275. package/dist/esm/ic-link.entry.js +1 -1
  276. package/dist/esm/ic-menu-group.entry.js +1 -1
  277. package/dist/esm/ic-menu-item.entry.js +1 -1
  278. package/dist/esm/ic-menu.entry.js +2 -2
  279. package/dist/esm/ic-menu.entry.js.map +1 -1
  280. package/dist/esm/ic-navigation-button.entry.js +1 -1
  281. package/dist/esm/ic-navigation-group.entry.js +1 -1
  282. package/dist/esm/ic-navigation-item.entry.js +1 -1
  283. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  284. package/dist/esm/ic-page-header.entry.js +1 -1
  285. package/dist/esm/ic-pagination_4.entry.js +9 -5
  286. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  287. package/dist/esm/ic-popover-menu.entry.js +1 -1
  288. package/dist/esm/ic-radio-group.entry.js +1 -1
  289. package/dist/esm/ic-radio-option.entry.js +1 -1
  290. package/dist/esm/ic-search-bar.entry.js +1 -1
  291. package/dist/esm/ic-side-navigation.entry.js +1 -1
  292. package/dist/esm/ic-skeleton.entry.js +20 -5
  293. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  294. package/dist/esm/ic-status-tag.entry.js +1 -1
  295. package/dist/esm/ic-step.entry.js +17 -15
  296. package/dist/esm/ic-step.entry.js.map +1 -1
  297. package/dist/esm/ic-stepper.entry.js +25 -5
  298. package/dist/esm/ic-stepper.entry.js.map +1 -1
  299. package/dist/esm/ic-switch.entry.js +5 -5
  300. package/dist/esm/ic-switch.entry.js.map +1 -1
  301. package/dist/esm/ic-tab-context.entry.js +1 -1
  302. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  303. package/dist/esm/ic-tab-group.entry.js +3 -3
  304. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  305. package/dist/esm/ic-tab-panel.entry.js +2 -2
  306. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  307. package/dist/esm/ic-tab.entry.js +1 -1
  308. package/dist/esm/ic-table-of-contents.entry.js +1 -1
  309. package/dist/esm/ic-theme.entry.js +2 -2
  310. package/dist/esm/ic-theme.entry.js.map +1 -1
  311. package/dist/esm/ic-time-input.entry.js +402 -100
  312. package/dist/esm/ic-time-input.entry.js.map +1 -1
  313. package/dist/esm/ic-time-selector.entry.js +718 -0
  314. package/dist/esm/ic-time-selector.entry.js.map +1 -0
  315. package/dist/esm/ic-toast-region.entry.js +1 -1
  316. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  317. package/dist/esm/ic-toast.entry.js +6 -6
  318. package/dist/esm/ic-toast.entry.js.map +1 -1
  319. package/dist/esm/ic-toggle-button_2.entry.js +449 -0
  320. package/dist/esm/ic-toggle-button_2.entry.js.map +1 -0
  321. package/dist/esm/ic-top-navigation.entry.js +1 -1
  322. package/dist/esm/ic-tree-item.entry.js +3 -3
  323. package/dist/esm/ic-tree-view.entry.js +4 -4
  324. package/dist/esm/ic-typography.entry.js +1 -1
  325. package/dist/esm/index-a7a720e7.js +8 -8
  326. package/dist/esm/loader.js +1 -1
  327. package/dist/types/components/ic-calendar/ic-calendar.stories.d.ts +20 -14
  328. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +4 -0
  329. package/dist/types/components/ic-time-input/ic-time-input.d.ts +27 -7
  330. package/dist/types/components/ic-time-input/ic-time-input.stories.d.ts +31 -7
  331. package/dist/types/components/ic-time-input/test/helpers/ic-time-input.d.ts +1 -0
  332. package/dist/types/components/ic-time-selector/ic-time-selector.d.ts +80 -0
  333. package/dist/types/components/ic-time-selector/ic-time-selector.stories.d.ts +134 -0
  334. package/dist/types/components/ic-time-selector/ic-time-selector.types.d.ts +1 -0
  335. package/dist/types/components.d.ts +137 -11
  336. package/dist/types/utils/helpers.d.ts +14 -0
  337. package/dist/types/utils/types.d.ts +2 -2
  338. package/hydrate/index.js +1384 -201
  339. package/hydrate/index.mjs +1384 -201
  340. package/package.json +30 -30
  341. package/dist/cjs/helpers-6f4b406b.js.map +0 -1
  342. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +0 -267
  343. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +0 -1
  344. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +0 -1
  345. package/dist/core/p-0043b019.entry.js +0 -2
  346. package/dist/core/p-0043b019.entry.js.map +0 -1
  347. package/dist/core/p-15c05eb8.entry.js.map +0 -1
  348. package/dist/core/p-25280383.entry.js.map +0 -1
  349. package/dist/core/p-2c86ce4b.entry.js +0 -2
  350. package/dist/core/p-2c86ce4b.entry.js.map +0 -1
  351. package/dist/core/p-3891ce53.entry.js +0 -2
  352. package/dist/core/p-3891ce53.entry.js.map +0 -1
  353. package/dist/core/p-4992e9ac.entry.js +0 -2
  354. package/dist/core/p-4992e9ac.entry.js.map +0 -1
  355. package/dist/core/p-53740194.entry.js.map +0 -1
  356. package/dist/core/p-5b32aaf3.entry.js +0 -2
  357. package/dist/core/p-5b32aaf3.entry.js.map +0 -1
  358. package/dist/core/p-80111272.entry.js +0 -2
  359. package/dist/core/p-80111272.entry.js.map +0 -1
  360. package/dist/core/p-9044539c.entry.js +0 -2
  361. package/dist/core/p-9044539c.entry.js.map +0 -1
  362. package/dist/core/p-9a95f428.entry.js +0 -2
  363. package/dist/core/p-9a95f428.entry.js.map +0 -1
  364. package/dist/core/p-af821831.entry.js.map +0 -1
  365. package/dist/core/p-ba75ed34.entry.js +0 -2
  366. package/dist/core/p-ba75ed34.entry.js.map +0 -1
  367. package/dist/core/p-c3eddb99.entry.js +0 -2
  368. package/dist/core/p-c3eddb99.entry.js.map +0 -1
  369. package/dist/core/p-f48ce5f6.js +0 -2
  370. package/dist/core/p-f48ce5f6.js.map +0 -1
  371. package/dist/core/p-ffc1cea6.entry.js.map +0 -1
  372. package/dist/esm/helpers-9f228880.js.map +0 -1
  373. package/dist/esm/ic-toggle-button-group.entry.js.map +0 -1
  374. package/dist/esm/ic-toggle-button.entry.js.map +0 -1
  375. /package/dist/core/{p-b80b08ae.entry.js.map → p-08f24329.entry.js.map} +0 -0
  376. /package/dist/core/{p-615d474e.entry.js.map → p-14b8bf37.entry.js.map} +0 -0
  377. /package/dist/core/{p-81f12581.entry.js.map → p-169ad948.entry.js.map} +0 -0
  378. /package/dist/core/{p-847cbb16.entry.js.map → p-1d166343.entry.js.map} +0 -0
  379. /package/dist/core/{p-b4bfaf8f.entry.js.map → p-201b41c7.entry.js.map} +0 -0
  380. /package/dist/core/{p-24bac55f.entry.js.map → p-33509a89.entry.js.map} +0 -0
  381. /package/dist/core/{p-e1920777.entry.js.map → p-3389625c.entry.js.map} +0 -0
  382. /package/dist/core/{p-5a1cfb3c.entry.js.map → p-344752cb.entry.js.map} +0 -0
  383. /package/dist/core/{p-6c238418.entry.js.map → p-348d7080.entry.js.map} +0 -0
  384. /package/dist/core/{p-3ef2e98d.entry.js.map → p-39cdf5db.entry.js.map} +0 -0
  385. /package/dist/core/{p-fd20470e.entry.js.map → p-496b314f.entry.js.map} +0 -0
  386. /package/dist/core/{p-bd9a76d8.entry.js.map → p-508b6da3.entry.js.map} +0 -0
  387. /package/dist/core/{p-f5cea10d.entry.js.map → p-5e6687a8.entry.js.map} +0 -0
  388. /package/dist/core/{p-72171192.entry.js.map → p-60f4fe3a.entry.js.map} +0 -0
  389. /package/dist/core/{p-c6c87e58.entry.js.map → p-6dfe0922.entry.js.map} +0 -0
  390. /package/dist/core/{p-fd7f3b58.entry.js.map → p-770e92cd.entry.js.map} +0 -0
  391. /package/dist/core/{p-7cf6b428.entry.js.map → p-79ead0e7.entry.js.map} +0 -0
  392. /package/dist/core/{p-285892ef.entry.js.map → p-7b4b45cf.entry.js.map} +0 -0
  393. /package/dist/core/{p-afedcfdb.entry.js.map → p-7efdbab8.entry.js.map} +0 -0
  394. /package/dist/core/{p-9a9605c3.entry.js.map → p-879c180d.entry.js.map} +0 -0
  395. /package/dist/core/{p-444cd8d3.entry.js.map → p-8ab37b4d.entry.js.map} +0 -0
  396. /package/dist/core/{p-c87cc0d1.entry.js.map → p-939025af.entry.js.map} +0 -0
  397. /package/dist/core/{p-5a4344cb.entry.js.map → p-9dea5764.entry.js.map} +0 -0
  398. /package/dist/core/{p-90611726.entry.js.map → p-a8a92e54.entry.js.map} +0 -0
  399. /package/dist/core/{p-2188b483.entry.js.map → p-c0a7eed7.entry.js.map} +0 -0
  400. /package/dist/core/{p-2bd2f38b.entry.js.map → p-c0b227d2.entry.js.map} +0 -0
  401. /package/dist/core/{p-7a0f62c2.entry.js.map → p-c4b2774d.entry.js.map} +0 -0
  402. /package/dist/core/{p-7026afad.entry.js.map → p-ca05573a.entry.js.map} +0 -0
  403. /package/dist/core/{p-8c580d88.entry.js.map → p-d0607a70.entry.js.map} +0 -0
  404. /package/dist/core/{p-e4ef4263.js.map → p-e519f607.js.map} +0 -0
  405. /package/dist/core/{p-3f0bce15.entry.js.map → p-e5c6d01a.entry.js.map} +0 -0
  406. /package/dist/core/{p-04a9f82f.entry.js.map → p-e8db8772.entry.js.map} +0 -0
  407. /package/dist/core/{p-e4b82731.entry.js.map → p-ea04103e.entry.js.map} +0 -0
  408. /package/dist/core/{p-8e592393.entry.js.map → p-ecc7fd71.entry.js.map} +0 -0
  409. /package/dist/core/{p-6cfba272.entry.js.map → p-efe260f0.entry.js.map} +0 -0
  410. /package/dist/core/{p-b6d6b26e.entry.js.map → p-f1b57f91.entry.js.map} +0 -0
  411. /package/dist/core/{p-e4551a38.entry.js.map → p-f5dc04f7.entry.js.map} +0 -0
  412. /package/dist/core/{p-1900c7c7.entry.js.map → p-fd08156a.entry.js.map} +0 -0
  413. /package/dist/core/{p-3594922d.entry.js.map → p-fe5b51bb.entry.js.map} +0 -0
  414. /package/dist/core/{p-ef5b6622.entry.js.map → p-ff618439.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["CONTEXT_ID_ATTR","TabContext","constructor","hostRef","this","newTabPanels","newTabs","activationType","contextId","monochrome","theme","linkTabs","tabs","forEach","tab","index","tabId","tabPanelId","setAttribute","tabPosition","tabPanels","tabGroup","getChildren","_a","el","querySelector","Array","from","querySelectorAll","children","filter","child","tagName","enabledTabs","getEnabledTabs","keydownHandler","event","isManual","enabledTabIndex","findIndex","focusedTabIndex","selectedTab","keyboardFunction","keyboardFocusTab","keyboardSelectTab","preventDefault","key","length","setInitialTab","selectedTabIndex","undefined","firstEnabledTabIndex","configureTabs","selected","tabPanel","active","disabled","_b","newIndex","focus","icTabSelect","emit","tabIndex","tabLabel","textContent","trim","updateSelectedTab","newValue","watchMonochromeHandler","watchThemeHandler","componentDidLoad","addEventListener","componentWillUpdate","disconnectedCallback","removeEventListener","tabClickHandler","detail","position","stopImmediatePropagation","tabCreatedHandler","ev","setFocus","push","tabEnabledHandler","tabRemovedHandler","hadFocus","render","h"],"sources":["../web-components/dist/collection/components/ic-tab-context/ic-tab-context.js"],"sourcesContent":["import { h, } from \"@stencil/core\";\nconst CONTEXT_ID_ATTR = \"context-id\";\nexport class TabContext {\n constructor() {\n this.newTabPanels = [];\n this.newTabs = [];\n /**\n * Determines whether tabs have to be manually activated (by pressing 'Enter' or 'Space') when they receive focus using keyboard navigation.\n */\n this.activationType = \"automatic\";\n /**\n * The unique context needed if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\n */\n this.contextId = \"default\";\n /**\n * If `true`, the tabs will display as black in the light theme.\n */\n this.monochrome = false;\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n this.theme = \"inherit\";\n /** Sets attributes to link tab-group, tabs and tab-panels */\n this.linkTabs = () => {\n this.tabs.forEach((tab, index) => {\n const tabId = `ic-tab-${index}-context-${this.contextId}`;\n const tabPanelId = `ic-tab-panel-${index}-context-${this.contextId}`;\n tab.setAttribute(\"id\", tabId);\n tab.tabId = `ic-tab--${index}-context-${this.contextId}`;\n tab.tabPosition = index;\n tab.setAttribute(\"aria-controls\", tabPanelId);\n this.tabPanels[index].setAttribute(\"id\", tabPanelId);\n this.tabPanels[index].setAttribute(\"aria-labelledby\", tabId);\n if (this.contextId) {\n tab.setAttribute(CONTEXT_ID_ATTR, this.contextId);\n this.tabGroup &&\n this.tabGroup.setAttribute(CONTEXT_ID_ATTR, this.contextId);\n this.tabPanels[index].setAttribute(CONTEXT_ID_ATTR, this.contextId);\n }\n tab.theme = this.theme;\n this.tabPanels[index].theme = this.theme;\n this.tabGroup && (this.tabGroup.theme = this.theme);\n });\n };\n /**\n * Gets tabs and tabpanels with the same context ID using querySelector to selector the children in relation to the host\n */\n this.getChildren = () => {\n var _a;\n this.tabGroup = this.el.querySelector(\"ic-tab-group\");\n this.tabs = Array.from(((_a = this.tabGroup) === null || _a === void 0 ? void 0 : _a.querySelectorAll(\"ic-tab\")) || []);\n this.tabPanels = Array.from(this.el.children).filter((child) => child.tagName === \"IC-TAB-PANEL\");\n this.enabledTabs = this.getEnabledTabs();\n };\n this.keydownHandler = (event) => {\n const isManual = this.activationType === \"manual\";\n const enabledTabIndex = this.enabledTabs.findIndex((tab) => tab.tabId ===\n this.tabs[isManual ? this.focusedTabIndex : this.selectedTab || 0].tabId);\n const keyboardFunction = isManual\n ? this.keyboardFocusTab\n : this.keyboardSelectTab;\n let preventDefault = true;\n switch (event.key) {\n case \"Home\":\n keyboardFunction(0);\n break;\n case \"End\":\n keyboardFunction(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n keyboardFunction(enabledTabIndex < this.enabledTabs.length - 1\n ? enabledTabIndex + 1\n : 0);\n break;\n case \"ArrowLeft\":\n keyboardFunction((enabledTabIndex > 0 ? enabledTabIndex : this.enabledTabs.length) - 1);\n break;\n default:\n if (isManual && (event.key === \"Enter\" || event.key === \" \")) {\n this.keyboardSelectTab(this.focusedTabIndex);\n }\n else {\n preventDefault = false;\n }\n }\n if (preventDefault)\n event.preventDefault();\n };\n /** Sets the tab that is selected on initial render */\n this.setInitialTab = () => {\n if (this.selectedTabIndex !== undefined) {\n this.selectedTab = this.selectedTabIndex;\n this.focusedTabIndex = this.selectedTabIndex;\n }\n else {\n const firstEnabledTabIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[0].tabId);\n this.selectedTab = firstEnabledTabIndex;\n this.focusedTabIndex = firstEnabledTabIndex;\n }\n };\n /** Passes the selected tab to the tab and tab panel components */\n this.configureTabs = () => {\n this.enabledTabs.forEach((tab) => {\n tab.selected = tab.tabPosition === this.selectedTab;\n });\n this.tabPanels.forEach((tabPanel, index) => {\n tabPanel.active = index === this.selectedTab;\n });\n };\n this.getEnabledTabs = () => Array.from(this.tabs).filter((child) => !child.disabled);\n /** Sets focus on tab and selects it */\n this.keyboardSelectTab = (enabledTabIndex) => {\n var _a, _b;\n const newIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId);\n this.enabledTabs[enabledTabIndex].focus();\n if (this.selectedTabIndex === undefined) {\n this.selectedTab = newIndex;\n }\n else {\n /* eslint-disable no-unexpected-multiline */\n this.icTabSelect.emit({\n tabIndex: newIndex,\n tabLabel: ((_b = (_a = this.el.querySelectorAll(\"ic-tab\")[newIndex]) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) ||\n \"\",\n });\n }\n };\n /** Sets focus on tab without selecting it (for manual activation) */\n this.keyboardFocusTab = (enabledTabIndex) => {\n this.enabledTabs[enabledTabIndex].focus();\n this.focusedTabIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId);\n };\n }\n updateSelectedTab(newValue) {\n this.selectedTab = newValue;\n }\n watchMonochromeHandler() {\n this.tabs.forEach((tab, index) => {\n tab.monochrome = this.monochrome;\n this.tabPanels[index].monochrome = this.monochrome;\n });\n this.tabGroup && (this.tabGroup.monochrome = this.monochrome);\n }\n watchThemeHandler() {\n this.tabs.forEach((tab, index) => {\n tab.theme = this.theme;\n this.tabPanels[index].theme = this.theme;\n });\n this.tabGroup && (this.tabGroup.theme = this.theme);\n }\n componentDidLoad() {\n if (this.selectedTabIndex !== undefined) {\n this.selectedTab = this.selectedTabIndex;\n }\n this.getChildren();\n this.linkTabs();\n this.tabGroup &&\n this.tabGroup.addEventListener(\"keydown\", this.keydownHandler);\n this.setInitialTab();\n this.configureTabs();\n }\n componentWillUpdate() {\n this.configureTabs();\n }\n disconnectedCallback() {\n var _a;\n (_a = this.tabGroup) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"keydown\", this.keydownHandler);\n }\n tabClickHandler(event) {\n var _a, _b;\n if (this.selectedTabIndex === undefined &&\n event.detail.contextId === this.contextId) {\n this.selectedTab = event.detail.position;\n }\n /* eslint-disable no-unexpected-multiline */\n this.icTabSelect.emit({\n tabIndex: event.detail.position,\n tabLabel: ((_b = (_a = this.el\n .querySelectorAll(\"ic-tab\")[event.detail.position]) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) || \"\",\n });\n /* eslint-enable no-unexpected-multiline */\n event.stopImmediatePropagation();\n }\n tabCreatedHandler(ev) {\n if (this.tabs && this.tabPanels) {\n (ev.detail.setFocus ? this.newTabs : this.newTabPanels).push(ev.detail);\n if (this.newTabs.length === this.newTabPanels.length) {\n this.tabs.push(...this.newTabs);\n this.tabPanels.push(...this.newTabPanels);\n this.enabledTabs = this.getEnabledTabs();\n this.linkTabs();\n if (this.selectedTab &&\n (!this.tabs[this.selectedTab] || !this.tabPanels[this.selectedTab]))\n this.setInitialTab();\n this.configureTabs();\n this.newTabs = [];\n this.newTabPanels = [];\n }\n }\n }\n tabEnabledHandler() {\n this.enabledTabs = this.getEnabledTabs();\n }\n /**\n * Sets focus on the tab context.\n */\n async setFocus() {\n if (this.selectedTab != null) {\n this.tabs[this.selectedTab].setFocus();\n }\n }\n /**\n * @internal Used to set tab/tab panel IDs when a tab/tab panel has been removed\n */\n async tabRemovedHandler(hadFocus) {\n this.getChildren();\n this.linkTabs();\n if (this.selectedTab &&\n this.tabs[this.selectedTab] &&\n this.tabPanels[this.selectedTab]) {\n this.tabs[this.selectedTab].selected = true;\n }\n else {\n this.setInitialTab();\n }\n if (hadFocus && this.selectedTab != null) {\n this.tabs[this.selectedTab].setFocus();\n }\n }\n render() {\n return h(\"slot\", { key: '10bbbe55408243a3a5665b6f079a2b88912abb61' });\n }\n static get is() { return \"ic-tab-context\"; }\n static get properties() {\n return {\n \"activationType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcActivationTypes\",\n \"resolved\": \"\\\"automatic\\\" | \\\"manual\\\" | undefined\",\n \"references\": {\n \"IcActivationTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcActivationTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Determines whether tabs have to be manually activated (by pressing 'Enter' or 'Space') when they receive focus using keyboard navigation.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"activation-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"automatic\\\"\"\n },\n \"contextId\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The unique context needed if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"context-id\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"selectedTabIndex\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The selected tab to be controlled by the user. Must be used alongside the icTabSelect event to manage tab selection.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"selected-tab-index\",\n \"reflect\": false\n },\n \"monochrome\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the tabs will display as black in the light theme.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"monochrome\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\" | undefined\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"selectedTab\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icTabSelect\",\n \"name\": \"icTabSelect\",\n \"bubbles\": false,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when a user selects a tab.\"\n },\n \"complexType\": {\n \"original\": \"IcTabSelectEventDetail\",\n \"resolved\": \"IcTabSelectEventDetail\",\n \"references\": {\n \"IcTabSelectEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../ic-tab/ic-tab.types\",\n \"id\": \"src/components/ic-tab/ic-tab.types.ts::IcTabSelectEventDetail\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets focus on the tab context.\",\n \"tags\": []\n }\n },\n \"tabRemovedHandler\": {\n \"complexType\": {\n \"signature\": \"(hadFocus?: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"hadFocus\",\n \"type\": \"boolean | undefined\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Used to set tab/tab panel IDs when a tab/tab panel has been removed\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"selectedTabIndex\",\n \"methodName\": \"updateSelectedTab\"\n }, {\n \"propName\": \"monochrome\",\n \"methodName\": \"watchMonochromeHandler\"\n }, {\n \"propName\": \"theme\",\n \"methodName\": \"watchThemeHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"tabClick\",\n \"method\": \"tabClickHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"tabCreated\",\n \"method\": \"tabCreatedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"tabPanelCreated\",\n \"method\": \"tabCreatedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"tabEnabled\",\n \"method\": \"tabEnabledHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-tab-context.js.map\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["CONTEXT_ID_ATTR","TabContext","constructor","hostRef","this","newTabPanels","newTabs","activationType","contextId","monochrome","theme","linkTabs","tabs","forEach","tab","index","tabId","tabPanelId","setAttribute","tabPosition","tabPanels","tabGroup","getChildren","_a","el","querySelector","Array","from","querySelectorAll","children","filter","child","tagName","enabledTabs","getEnabledTabs","keydownHandler","event","isManual","enabledTabIndex","findIndex","focusedTabIndex","selectedTab","keyboardFunction","keyboardFocusTab","keyboardSelectTab","preventDefault","key","length","setInitialTab","selectedTabIndex","undefined","firstEnabledTabIndex","configureTabs","selected","tabPanel","active","disabled","_b","newIndex","focus","icTabSelect","emit","tabIndex","tabLabel","textContent","trim","updateSelectedTab","newValue","watchMonochromeHandler","watchThemeHandler","componentDidLoad","addEventListener","componentWillUpdate","disconnectedCallback","removeEventListener","tabClickHandler","detail","position","stopImmediatePropagation","tabCreatedHandler","ev","setFocus","push","tabEnabledHandler","tabRemovedHandler","hadFocus","render","h"],"sources":["../web-components/dist/collection/components/ic-tab-context/ic-tab-context.js"],"sourcesContent":["import { h, } from \"@stencil/core\";\nconst CONTEXT_ID_ATTR = \"context-id\";\nexport class TabContext {\n constructor() {\n this.newTabPanels = [];\n this.newTabs = [];\n /**\n * Determines whether tabs have to be manually activated (by pressing 'Enter' or 'Space') when they receive focus using keyboard navigation.\n */\n this.activationType = \"automatic\";\n /**\n * The unique context needed if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\n */\n this.contextId = \"default\";\n /**\n * If `true`, the tabs will display as black in the light theme.\n */\n this.monochrome = false;\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n this.theme = \"inherit\";\n /** Sets attributes to link tab-group, tabs and tab-panels */\n this.linkTabs = () => {\n this.tabs.forEach((tab, index) => {\n const tabId = `ic-tab-${index}-context-${this.contextId}`;\n const tabPanelId = `ic-tab-panel-${index}-context-${this.contextId}`;\n tab.setAttribute(\"id\", tabId);\n tab.tabId = `ic-tab--${index}-context-${this.contextId}`;\n tab.tabPosition = index;\n tab.setAttribute(\"aria-controls\", tabPanelId);\n this.tabPanels[index].setAttribute(\"id\", tabPanelId);\n this.tabPanels[index].setAttribute(\"aria-labelledby\", tabId);\n if (this.contextId) {\n tab.setAttribute(CONTEXT_ID_ATTR, this.contextId);\n this.tabGroup &&\n this.tabGroup.setAttribute(CONTEXT_ID_ATTR, this.contextId);\n this.tabPanels[index].setAttribute(CONTEXT_ID_ATTR, this.contextId);\n }\n tab.theme = this.theme;\n this.tabPanels[index].theme = this.theme;\n this.tabGroup && (this.tabGroup.theme = this.theme);\n });\n };\n /**\n * Gets tabs and tabpanels with the same context ID using querySelector to selector the children in relation to the host\n */\n this.getChildren = () => {\n var _a;\n this.tabGroup = this.el.querySelector(\"ic-tab-group\");\n this.tabs = Array.from(((_a = this.tabGroup) === null || _a === void 0 ? void 0 : _a.querySelectorAll(\"ic-tab\")) || []);\n this.tabPanels = Array.from(this.el.children).filter((child) => child.tagName === \"IC-TAB-PANEL\");\n this.enabledTabs = this.getEnabledTabs();\n };\n this.keydownHandler = (event) => {\n const isManual = this.activationType === \"manual\";\n const enabledTabIndex = this.enabledTabs.findIndex((tab) => tab.tabId ===\n this.tabs[isManual ? this.focusedTabIndex : this.selectedTab || 0].tabId);\n const keyboardFunction = isManual\n ? this.keyboardFocusTab\n : this.keyboardSelectTab;\n let preventDefault = true;\n switch (event.key) {\n case \"Home\":\n keyboardFunction(0);\n break;\n case \"End\":\n keyboardFunction(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n keyboardFunction(enabledTabIndex < this.enabledTabs.length - 1\n ? enabledTabIndex + 1\n : 0);\n break;\n case \"ArrowLeft\":\n keyboardFunction((enabledTabIndex > 0 ? enabledTabIndex : this.enabledTabs.length) - 1);\n break;\n default:\n if (isManual && (event.key === \"Enter\" || event.key === \" \")) {\n this.keyboardSelectTab(this.focusedTabIndex);\n }\n else {\n preventDefault = false;\n }\n }\n if (preventDefault)\n event.preventDefault();\n };\n /** Sets the tab that is selected on initial render */\n this.setInitialTab = () => {\n if (this.selectedTabIndex !== undefined) {\n this.selectedTab = this.selectedTabIndex;\n this.focusedTabIndex = this.selectedTabIndex;\n }\n else {\n const firstEnabledTabIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[0].tabId);\n this.selectedTab = firstEnabledTabIndex;\n this.focusedTabIndex = firstEnabledTabIndex;\n }\n };\n /** Passes the selected tab to the tab and tab panel components */\n this.configureTabs = () => {\n this.enabledTabs.forEach((tab) => {\n tab.selected = tab.tabPosition === this.selectedTab;\n });\n this.tabPanels.forEach((tabPanel, index) => {\n tabPanel.active = index === this.selectedTab;\n });\n };\n this.getEnabledTabs = () => Array.from(this.tabs).filter((child) => !child.disabled);\n /** Sets focus on tab and selects it */\n this.keyboardSelectTab = (enabledTabIndex) => {\n var _a, _b;\n const newIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId);\n this.enabledTabs[enabledTabIndex].focus();\n if (this.selectedTabIndex === undefined) {\n this.selectedTab = newIndex;\n }\n else {\n /* eslint-disable no-unexpected-multiline */\n this.icTabSelect.emit({\n tabIndex: newIndex,\n tabLabel: ((_b = (_a = this.el.querySelectorAll(\"ic-tab\")[newIndex]) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) ||\n \"\",\n });\n }\n };\n /** Sets focus on tab without selecting it (for manual activation) */\n this.keyboardFocusTab = (enabledTabIndex) => {\n this.enabledTabs[enabledTabIndex].focus();\n this.focusedTabIndex = this.tabs.findIndex((tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId);\n };\n }\n updateSelectedTab(newValue) {\n this.selectedTab = newValue;\n }\n watchMonochromeHandler() {\n this.tabs.forEach((tab, index) => {\n tab.monochrome = this.monochrome;\n this.tabPanels[index].monochrome = this.monochrome;\n });\n this.tabGroup && (this.tabGroup.monochrome = this.monochrome);\n }\n watchThemeHandler() {\n this.tabs.forEach((tab, index) => {\n tab.theme = this.theme;\n this.tabPanels[index].theme = this.theme;\n });\n this.tabGroup && (this.tabGroup.theme = this.theme);\n }\n componentDidLoad() {\n if (this.selectedTabIndex !== undefined) {\n this.selectedTab = this.selectedTabIndex;\n }\n this.getChildren();\n this.linkTabs();\n this.tabGroup &&\n this.tabGroup.addEventListener(\"keydown\", this.keydownHandler);\n this.setInitialTab();\n this.configureTabs();\n }\n componentWillUpdate() {\n this.configureTabs();\n }\n disconnectedCallback() {\n var _a;\n (_a = this.tabGroup) === null || _a === void 0 ? void 0 : _a.removeEventListener(\"keydown\", this.keydownHandler);\n }\n tabClickHandler(event) {\n var _a, _b;\n if (this.selectedTabIndex === undefined &&\n event.detail.contextId === this.contextId) {\n this.selectedTab = event.detail.position;\n }\n /* eslint-disable no-unexpected-multiline */\n this.icTabSelect.emit({\n tabIndex: event.detail.position,\n tabLabel: ((_b = (_a = this.el\n .querySelectorAll(\"ic-tab\")[event.detail.position]) === null || _a === void 0 ? void 0 : _a.textContent) === null || _b === void 0 ? void 0 : _b.trim()) || \"\",\n });\n /* eslint-enable no-unexpected-multiline */\n event.stopImmediatePropagation();\n }\n tabCreatedHandler(ev) {\n if (this.tabs && this.tabPanels) {\n (ev.detail.setFocus ? this.newTabs : this.newTabPanels).push(ev.detail);\n if (this.newTabs.length === this.newTabPanels.length) {\n this.tabs.push(...this.newTabs);\n this.tabPanels.push(...this.newTabPanels);\n this.enabledTabs = this.getEnabledTabs();\n this.linkTabs();\n if (this.selectedTab &&\n (!this.tabs[this.selectedTab] || !this.tabPanels[this.selectedTab]))\n this.setInitialTab();\n this.configureTabs();\n this.newTabs = [];\n this.newTabPanels = [];\n }\n }\n }\n tabEnabledHandler() {\n this.enabledTabs = this.getEnabledTabs();\n }\n /**\n * Sets focus on the tab context.\n */\n async setFocus() {\n if (this.selectedTab != null) {\n this.tabs[this.selectedTab].setFocus();\n }\n }\n /**\n * @internal Used to set tab/tab panel IDs when a tab/tab panel has been removed\n */\n async tabRemovedHandler(hadFocus) {\n this.getChildren();\n this.linkTabs();\n if (this.selectedTab &&\n this.tabs[this.selectedTab] &&\n this.tabPanels[this.selectedTab]) {\n this.tabs[this.selectedTab].selected = true;\n }\n else {\n this.setInitialTab();\n }\n if (hadFocus && this.selectedTab != null) {\n this.tabs[this.selectedTab].setFocus();\n }\n }\n render() {\n return h(\"slot\", { key: 'f5ec87ebfe042f0ebc06c809601b7040c0979dc3' });\n }\n static get is() { return \"ic-tab-context\"; }\n static get properties() {\n return {\n \"activationType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcActivationTypes\",\n \"resolved\": \"\\\"automatic\\\" | \\\"manual\\\" | undefined\",\n \"references\": {\n \"IcActivationTypes\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcActivationTypes\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Determines whether tabs have to be manually activated (by pressing 'Enter' or 'Space') when they receive focus using keyboard navigation.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"activation-type\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"automatic\\\"\"\n },\n \"contextId\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The unique context needed if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"context-id\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"selectedTabIndex\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The selected tab to be controlled by the user. Must be used alongside the icTabSelect event to manage tab selection.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"selected-tab-index\",\n \"reflect\": false\n },\n \"monochrome\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean | undefined\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the tabs will display as black in the light theme.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"monochrome\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeMode\",\n \"resolved\": \"\\\"dark\\\" | \\\"inherit\\\" | \\\"light\\\" | undefined\",\n \"references\": {\n \"IcThemeMode\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeMode\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Sets the theme color to the dark or light theme color. \\\"inherit\\\" will set the color based on the system settings or ic-theme component.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"inherit\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"selectedTab\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icTabSelect\",\n \"name\": \"icTabSelect\",\n \"bubbles\": false,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when a user selects a tab.\"\n },\n \"complexType\": {\n \"original\": \"IcTabSelectEventDetail\",\n \"resolved\": \"IcTabSelectEventDetail\",\n \"references\": {\n \"IcTabSelectEventDetail\": {\n \"location\": \"import\",\n \"path\": \"../ic-tab/ic-tab.types\",\n \"id\": \"src/components/ic-tab/ic-tab.types.ts::IcTabSelectEventDetail\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\n \"setFocus\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"Sets focus on the tab context.\",\n \"tags\": []\n }\n },\n \"tabRemovedHandler\": {\n \"complexType\": {\n \"signature\": \"(hadFocus?: boolean) => Promise<void>\",\n \"parameters\": [{\n \"name\": \"hadFocus\",\n \"type\": \"boolean | undefined\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Used to set tab/tab panel IDs when a tab/tab panel has been removed\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"selectedTabIndex\",\n \"methodName\": \"updateSelectedTab\"\n }, {\n \"propName\": \"monochrome\",\n \"methodName\": \"watchMonochromeHandler\"\n }, {\n \"propName\": \"theme\",\n \"methodName\": \"watchThemeHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"tabClick\",\n \"method\": \"tabClickHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"tabCreated\",\n \"method\": \"tabCreatedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"tabPanelCreated\",\n \"method\": \"tabCreatedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"tabEnabled\",\n \"method\": \"tabEnabledHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ic-tab-context.js.map\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as o,c as t,h as r,H as e}from"./p-8e4e97b4.js";import{H as s,J as i,W as h,d as a,g as c}from"./p-e4ef4263.js";const n=class{constructor(r){o(this,r);this.brandChange=t(this,"brandChange",7);this.icThemeChange=t(this,"icThemeChange",7);this.themeClass="";this.brandColor=null;this.theme="light";this.darkModeChangeHandler=()=>{if(this.theme==="system"){this.themeClass=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"ic-theme-dark":"ic-theme-light"}else{this.themeClass=`ic-theme-${this.theme}`}this.icThemeChange.emit(this.theme)};this.checkBrandColorContrast=()=>{if(s()<i&&s()>h){console.warn(`The brand colour does not provide enough contrast with either of the ICDS black or white foreground colours. Consider choosing a colour with a different brightness to achieve sufficient colour contrast for good visibility. See https://www.w3.org/TR/AERT/#color-contrast for more information about colour contrast.`)}};this.setBrandColor=()=>{const o=this.brandColor?a(this.brandColor):null;if(o){const{r:t,g:r,b:e,a:s}=o;const{style:i}=document.documentElement;i.setProperty("--ic-brand-color-primary-r",`${t}`);i.setProperty("--ic-brand-color-primary-g",`${r}`);i.setProperty("--ic-brand-color-primary-b",`${e}`);i.setProperty("--ic-brand-color-primary-a",`${s}`);this.checkBrandColorContrast();this.brandChange.emit({mode:c(),color:o})}}}watchBrandColorPropHandler(){this.setBrandColor()}watchThemePropHandler(){this.darkModeChangeHandler()}componentWillLoad(){this.darkModeChangeHandler();this.setBrandColor();window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",this.darkModeChangeHandler)}render(){const{themeClass:o}=this;return r(e,{key:"603b695aae6f29ef4f3d89d4e1995221b3324753",class:o},r("slot",{key:"0b4c3bd3f4b078775ff13677feb3f0fbc080d810"}))}static get watchers(){return{brandColor:["watchBrandColorPropHandler"],theme:["watchThemePropHandler"]}}};export{n as ic_theme};
2
- //# sourceMappingURL=p-e00e67ff.entry.js.map
1
+ import{r as o,c as t,h as r,H as e}from"./p-8e4e97b4.js";import{H as s,J as i,W as a,d as h,g as c}from"./p-e519f607.js";const n=class{constructor(r){o(this,r);this.brandChange=t(this,"brandChange",7);this.icThemeChange=t(this,"icThemeChange",7);this.themeClass="";this.brandColor=null;this.theme="light";this.darkModeChangeHandler=()=>{if(this.theme==="system"){this.themeClass=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"ic-theme-dark":"ic-theme-light"}else{this.themeClass=`ic-theme-${this.theme}`}this.icThemeChange.emit(this.theme)};this.checkBrandColorContrast=()=>{if(s()<i&&s()>a){console.warn(`The brand colour does not provide enough contrast with either of the ICDS black or white foreground colours. Consider choosing a colour with a different brightness to achieve sufficient colour contrast for good visibility. See https://www.w3.org/TR/AERT/#color-contrast for more information about colour contrast.`)}};this.setBrandColor=()=>{const o=this.brandColor?h(this.brandColor):null;if(o){const{r:t,g:r,b:e,a:s}=o;const{style:i}=document.documentElement;i.setProperty("--ic-brand-color-primary-r",`${t}`);i.setProperty("--ic-brand-color-primary-g",`${r}`);i.setProperty("--ic-brand-color-primary-b",`${e}`);i.setProperty("--ic-brand-color-primary-a",`${s}`);this.checkBrandColorContrast();this.brandChange.emit({mode:c(),color:o})}}}watchBrandColorPropHandler(){this.setBrandColor()}watchThemePropHandler(){this.darkModeChangeHandler()}componentWillLoad(){this.darkModeChangeHandler();this.setBrandColor();window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",this.darkModeChangeHandler)}render(){const{themeClass:o}=this;return r(e,{key:"d994b33e982d89fdb62837456a5a1c90471d0a6a",class:o},r("slot",{key:"cc67f5ec282adfe4695a7ecf9134fba920a71a7e"}))}static get watchers(){return{brandColor:["watchBrandColorPropHandler"],theme:["watchThemePropHandler"]}}};export{n as ic_theme};
2
+ //# sourceMappingURL=p-dbd9a403.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["Theme","constructor","hostRef","this","themeClass","brandColor","theme","darkModeChangeHandler","window","matchMedia","matches","icThemeChange","emit","checkBrandColorContrast","getBrandColorBrightness","BLACK_MIN_COLOR_BRIGHTNESS","WHITE_MAX_COLOR_BRIGHTNESS","console","warn","setBrandColor","colorRGBA","convertToRGBA","r","g","b","a","style","document","documentElement","setProperty","brandChange","mode","getBrandForegroundAppearance","color","watchBrandColorPropHandler","watchThemePropHandler","componentWillLoad","addEventListener","render","h","Host","key","class"],"sources":["../web-components/dist/collection/components/ic-theme/ic-theme.js"],"sourcesContent":["import { Host, h, } from \"@stencil/core\";\nimport { convertToRGBA, getBrandForegroundAppearance, } from \"../../utils/helpers\";\nimport { getBrandColorBrightness } from \"../../utils/helpers\";\nimport { BLACK_MIN_COLOR_BRIGHTNESS, WHITE_MAX_COLOR_BRIGHTNESS, } from \"../../utils/constants\";\nexport class Theme {\n constructor() {\n this.themeClass = \"\";\n /**\n * The brand colour. Can be a hex value e.g. \"#ff0000\", RGB e.g. \"rgb(255, 0, 0)\", or RGBA e.g. \"rgba(255, 0, 0, 1)\".\n */\n this.brandColor = null;\n /**\n * The theme mode. Can be \"dark\", \"light\", or \"system\". \"system\" will use the device or browser settings.\n */\n this.theme = \"light\";\n this.darkModeChangeHandler = () => {\n if (this.theme === \"system\") {\n this.themeClass =\n window.matchMedia &&\n window.matchMedia(\"(prefers-color-scheme: dark)\").matches\n ? \"ic-theme-dark\"\n : \"ic-theme-light\";\n }\n else {\n this.themeClass = `ic-theme-${this.theme}`;\n }\n this.icThemeChange.emit(this.theme);\n };\n this.checkBrandColorContrast = () => {\n if (getBrandColorBrightness() < BLACK_MIN_COLOR_BRIGHTNESS &&\n getBrandColorBrightness() > WHITE_MAX_COLOR_BRIGHTNESS) {\n console.warn(`The brand colour does not provide enough contrast with either of the ICDS black or white foreground colours. Consider choosing a colour with a different brightness to achieve sufficient colour contrast for good visibility. See https://www.w3.org/TR/AERT/#color-contrast for more information about colour contrast.`);\n }\n };\n this.setBrandColor = () => {\n const colorRGBA = this.brandColor ? convertToRGBA(this.brandColor) : null;\n if (colorRGBA) {\n const { r, g, b, a } = colorRGBA;\n const { style } = document.documentElement;\n style.setProperty(\"--ic-brand-color-primary-r\", `${r}`);\n style.setProperty(\"--ic-brand-color-primary-g\", `${g}`);\n style.setProperty(\"--ic-brand-color-primary-b\", `${b}`);\n style.setProperty(\"--ic-brand-color-primary-a\", `${a}`);\n this.checkBrandColorContrast();\n this.brandChange.emit({\n mode: getBrandForegroundAppearance(),\n color: colorRGBA,\n });\n }\n };\n }\n watchBrandColorPropHandler() {\n this.setBrandColor();\n }\n watchThemePropHandler() {\n this.darkModeChangeHandler();\n }\n componentWillLoad() {\n this.darkModeChangeHandler();\n this.setBrandColor();\n window.matchMedia &&\n window\n .matchMedia(\"(prefers-color-scheme: dark)\")\n .addEventListener(\"change\", this.darkModeChangeHandler);\n }\n render() {\n const { themeClass } = this;\n return (h(Host, { key: '603b695aae6f29ef4f3d89d4e1995221b3324753', class: themeClass }, h(\"slot\", { key: '0b4c3bd3f4b078775ff13677feb3f0fbc080d810' })));\n }\n static get is() { return \"ic-theme\"; }\n static get properties() {\n return {\n \"brandColor\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcColor | null\",\n \"resolved\": \"`#${string}` | `rgb(${string})` | `rgba(${string})` | null | undefined\",\n \"references\": {\n \"IcColor\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcColor\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The brand colour. Can be a hex value e.g. \\\"#ff0000\\\", RGB e.g. \\\"rgb(255, 0, 0)\\\", or RGBA e.g. \\\"rgba(255, 0, 0, 1)\\\".\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"brand-color\",\n \"reflect\": false,\n \"defaultValue\": \"null\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeSettings\",\n \"resolved\": \"\\\"dark\\\" | \\\"light\\\" | \\\"system\\\" | undefined\",\n \"references\": {\n \"IcThemeSettings\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeSettings\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The theme mode. Can be \\\"dark\\\", \\\"light\\\", or \\\"system\\\". \\\"system\\\" will use the device or browser settings.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"light\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"themeClass\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"brandChange\",\n \"name\": \"brandChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when the brand color is changed.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcBrand\",\n \"resolved\": \"{ mode: IcBrandForeground; color: IcColorRGB; }\",\n \"references\": {\n \"IcBrand\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcBrand\"\n }\n }\n }\n }, {\n \"method\": \"icThemeChange\",\n \"name\": \"icThemeChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the theme is changed.\"\n },\n \"complexType\": {\n \"original\": \"IcThemeSettings\",\n \"resolved\": \"\\\"dark\\\" | \\\"light\\\" | \\\"system\\\"\",\n \"references\": {\n \"IcThemeSettings\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeSettings\"\n }\n }\n }\n }];\n }\n static get watchers() {\n return [{\n \"propName\": \"brandColor\",\n \"methodName\": \"watchBrandColorPropHandler\"\n }, {\n \"propName\": \"theme\",\n \"methodName\": \"watchThemePropHandler\"\n }];\n }\n}\n//# sourceMappingURL=ic-theme.js.map\n"],"mappings":"+HAIaA,EAAK,MACd,WAAAC,CAAAC,G,gGACIC,KAAKC,WAAa,GAIlBD,KAAKE,WAAa,KAIlBF,KAAKG,MAAQ,QACbH,KAAKI,sBAAwB,KACzB,GAAIJ,KAAKG,QAAU,SAAU,CACzBH,KAAKC,WACDI,OAAOC,YACHD,OAAOC,WAAW,gCAAgCC,QAChD,gBACA,gB,KAET,CACDP,KAAKC,WAAa,YAAYD,KAAKG,O,CAEvCH,KAAKQ,cAAcC,KAAKT,KAAKG,MAAM,EAEvCH,KAAKU,wBAA0B,KAC3B,GAAIC,IAA4BC,GAC5BD,IAA4BE,EAA4B,CACxDC,QAAQC,KAAK,4T,GAGrBf,KAAKgB,cAAgB,KACjB,MAAMC,EAAYjB,KAAKE,WAAagB,EAAclB,KAAKE,YAAc,KACrE,GAAIe,EAAW,CACX,MAAME,EAAEA,EAACC,EAAEA,EAACC,EAAEA,EAACC,EAAEA,GAAML,EACvB,MAAMM,MAAEA,GAAUC,SAASC,gBAC3BF,EAAMG,YAAY,6BAA8B,GAAGP,KACnDI,EAAMG,YAAY,6BAA8B,GAAGN,KACnDG,EAAMG,YAAY,6BAA8B,GAAGL,KACnDE,EAAMG,YAAY,6BAA8B,GAAGJ,KACnDtB,KAAKU,0BACLV,KAAK2B,YAAYlB,KAAK,CAClBmB,KAAMC,IACNC,MAAOb,G,GAKvB,0BAAAc,GACI/B,KAAKgB,e,CAET,qBAAAgB,GACIhC,KAAKI,uB,CAET,iBAAA6B,GACIjC,KAAKI,wBACLJ,KAAKgB,gBACLX,OAAOC,YACHD,OACKC,WAAW,gCACX4B,iBAAiB,SAAUlC,KAAKI,sB,CAE7C,MAAA+B,GACI,MAAMlC,WAAEA,GAAeD,KACvB,OAAQoC,EAAEC,EAAM,CAAEC,IAAK,2CAA4CC,MAAOtC,GAAcmC,EAAE,OAAQ,CAAEE,IAAK,6C","ignoreList":[]}
1
+ {"version":3,"names":["Theme","constructor","hostRef","this","themeClass","brandColor","theme","darkModeChangeHandler","window","matchMedia","matches","icThemeChange","emit","checkBrandColorContrast","getBrandColorBrightness","BLACK_MIN_COLOR_BRIGHTNESS","WHITE_MAX_COLOR_BRIGHTNESS","console","warn","setBrandColor","colorRGBA","convertToRGBA","r","g","b","a","style","document","documentElement","setProperty","brandChange","mode","getBrandForegroundAppearance","color","watchBrandColorPropHandler","watchThemePropHandler","componentWillLoad","addEventListener","render","h","Host","key","class"],"sources":["../web-components/dist/collection/components/ic-theme/ic-theme.js"],"sourcesContent":["import { Host, h, } from \"@stencil/core\";\nimport { convertToRGBA, getBrandForegroundAppearance, } from \"../../utils/helpers\";\nimport { getBrandColorBrightness } from \"../../utils/helpers\";\nimport { BLACK_MIN_COLOR_BRIGHTNESS, WHITE_MAX_COLOR_BRIGHTNESS, } from \"../../utils/constants\";\nexport class Theme {\n constructor() {\n this.themeClass = \"\";\n /**\n * The brand colour. Can be a hex value e.g. \"#ff0000\", RGB e.g. \"rgb(255, 0, 0)\", or RGBA e.g. \"rgba(255, 0, 0, 1)\".\n */\n this.brandColor = null;\n /**\n * The theme mode. Can be \"dark\", \"light\", or \"system\". \"system\" will use the device or browser settings.\n */\n this.theme = \"light\";\n this.darkModeChangeHandler = () => {\n if (this.theme === \"system\") {\n this.themeClass =\n window.matchMedia &&\n window.matchMedia(\"(prefers-color-scheme: dark)\").matches\n ? \"ic-theme-dark\"\n : \"ic-theme-light\";\n }\n else {\n this.themeClass = `ic-theme-${this.theme}`;\n }\n this.icThemeChange.emit(this.theme);\n };\n this.checkBrandColorContrast = () => {\n if (getBrandColorBrightness() < BLACK_MIN_COLOR_BRIGHTNESS &&\n getBrandColorBrightness() > WHITE_MAX_COLOR_BRIGHTNESS) {\n console.warn(`The brand colour does not provide enough contrast with either of the ICDS black or white foreground colours. Consider choosing a colour with a different brightness to achieve sufficient colour contrast for good visibility. See https://www.w3.org/TR/AERT/#color-contrast for more information about colour contrast.`);\n }\n };\n this.setBrandColor = () => {\n const colorRGBA = this.brandColor ? convertToRGBA(this.brandColor) : null;\n if (colorRGBA) {\n const { r, g, b, a } = colorRGBA;\n const { style } = document.documentElement;\n style.setProperty(\"--ic-brand-color-primary-r\", `${r}`);\n style.setProperty(\"--ic-brand-color-primary-g\", `${g}`);\n style.setProperty(\"--ic-brand-color-primary-b\", `${b}`);\n style.setProperty(\"--ic-brand-color-primary-a\", `${a}`);\n this.checkBrandColorContrast();\n this.brandChange.emit({\n mode: getBrandForegroundAppearance(),\n color: colorRGBA,\n });\n }\n };\n }\n watchBrandColorPropHandler() {\n this.setBrandColor();\n }\n watchThemePropHandler() {\n this.darkModeChangeHandler();\n }\n componentWillLoad() {\n this.darkModeChangeHandler();\n this.setBrandColor();\n window.matchMedia &&\n window\n .matchMedia(\"(prefers-color-scheme: dark)\")\n .addEventListener(\"change\", this.darkModeChangeHandler);\n }\n render() {\n const { themeClass } = this;\n return (h(Host, { key: 'd994b33e982d89fdb62837456a5a1c90471d0a6a', class: themeClass }, h(\"slot\", { key: 'cc67f5ec282adfe4695a7ecf9134fba920a71a7e' })));\n }\n static get is() { return \"ic-theme\"; }\n static get properties() {\n return {\n \"brandColor\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcColor | null\",\n \"resolved\": \"`#${string}` | `rgb(${string})` | `rgba(${string})` | null | undefined\",\n \"references\": {\n \"IcColor\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcColor\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The brand colour. Can be a hex value e.g. \\\"#ff0000\\\", RGB e.g. \\\"rgb(255, 0, 0)\\\", or RGBA e.g. \\\"rgba(255, 0, 0, 1)\\\".\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"brand-color\",\n \"reflect\": false,\n \"defaultValue\": \"null\"\n },\n \"theme\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcThemeSettings\",\n \"resolved\": \"\\\"dark\\\" | \\\"light\\\" | \\\"system\\\" | undefined\",\n \"references\": {\n \"IcThemeSettings\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeSettings\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The theme mode. Can be \\\"dark\\\", \\\"light\\\", or \\\"system\\\". \\\"system\\\" will use the device or browser settings.\"\n },\n \"getter\": false,\n \"setter\": false,\n \"attribute\": \"theme\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"light\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"themeClass\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"brandChange\",\n \"name\": \"brandChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"internal\",\n \"text\": \"Emitted when the brand color is changed.\"\n }],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"IcBrand\",\n \"resolved\": \"{ mode: IcBrandForeground; color: IcColorRGB; }\",\n \"references\": {\n \"IcBrand\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcBrand\"\n }\n }\n }\n }, {\n \"method\": \"icThemeChange\",\n \"name\": \"icThemeChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the theme is changed.\"\n },\n \"complexType\": {\n \"original\": \"IcThemeSettings\",\n \"resolved\": \"\\\"dark\\\" | \\\"light\\\" | \\\"system\\\"\",\n \"references\": {\n \"IcThemeSettings\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcThemeSettings\"\n }\n }\n }\n }];\n }\n static get watchers() {\n return [{\n \"propName\": \"brandColor\",\n \"methodName\": \"watchBrandColorPropHandler\"\n }, {\n \"propName\": \"theme\",\n \"methodName\": \"watchThemePropHandler\"\n }];\n }\n}\n//# sourceMappingURL=ic-theme.js.map\n"],"mappings":"+HAIaA,EAAK,MACd,WAAAC,CAAAC,G,gGACIC,KAAKC,WAAa,GAIlBD,KAAKE,WAAa,KAIlBF,KAAKG,MAAQ,QACbH,KAAKI,sBAAwB,KACzB,GAAIJ,KAAKG,QAAU,SAAU,CACzBH,KAAKC,WACDI,OAAOC,YACHD,OAAOC,WAAW,gCAAgCC,QAChD,gBACA,gB,KAET,CACDP,KAAKC,WAAa,YAAYD,KAAKG,O,CAEvCH,KAAKQ,cAAcC,KAAKT,KAAKG,MAAM,EAEvCH,KAAKU,wBAA0B,KAC3B,GAAIC,IAA4BC,GAC5BD,IAA4BE,EAA4B,CACxDC,QAAQC,KAAK,4T,GAGrBf,KAAKgB,cAAgB,KACjB,MAAMC,EAAYjB,KAAKE,WAAagB,EAAclB,KAAKE,YAAc,KACrE,GAAIe,EAAW,CACX,MAAME,EAAEA,EAACC,EAAEA,EAACC,EAAEA,EAACC,EAAEA,GAAML,EACvB,MAAMM,MAAEA,GAAUC,SAASC,gBAC3BF,EAAMG,YAAY,6BAA8B,GAAGP,KACnDI,EAAMG,YAAY,6BAA8B,GAAGN,KACnDG,EAAMG,YAAY,6BAA8B,GAAGL,KACnDE,EAAMG,YAAY,6BAA8B,GAAGJ,KACnDtB,KAAKU,0BACLV,KAAK2B,YAAYlB,KAAK,CAClBmB,KAAMC,IACNC,MAAOb,G,GAKvB,0BAAAc,GACI/B,KAAKgB,e,CAET,qBAAAgB,GACIhC,KAAKI,uB,CAET,iBAAA6B,GACIjC,KAAKI,wBACLJ,KAAKgB,gBACLX,OAAOC,YACHD,OACKC,WAAW,gCACX4B,iBAAiB,SAAUlC,KAAKI,sB,CAE7C,MAAA+B,GACI,MAAMlC,WAAEA,GAAeD,KACvB,OAAQoC,EAAEC,EAAM,CAAEC,IAAK,2CAA4CC,MAAOtC,GAAcmC,EAAE,OAAQ,CAAEE,IAAK,6C","ignoreList":[]}
@@ -0,0 +1,2 @@
1
+ import{r as i,c as t,h as s,F as e,H as n,g as c}from"./p-8e4e97b4.js";import{C as o}from"./p-0aa9ce8b.js";import{Y as a,Q as h,o as r,R as l}from"./p-e519f607.js";import{p as u}from"./p-349d91dc.js";import{c as m}from"./p-aae38bee.js";const d=i=>({CUSTOM_ELEMENT_HANDLING:{tagNameCheck:t=>i&&t.startsWith("ic-")||a.includes(t),attributeNameCheck:/.*/}});const p=i=>u.sanitize(i,d(true));const f=i=>u.sanitize(i,d(false));const b='html.sc-ic-menu{line-height:1.15;-webkit-text-size-adjust:100%}body.sc-ic-menu{margin:0}main.sc-ic-menu{display:block}h1.sc-ic-menu{font-size:2em;margin:0.67em 0}hr.sc-ic-menu{box-sizing:content-box;height:0;overflow:visible}pre.sc-ic-menu{font-family:monospace, monospace;font-size:1em}a.sc-ic-menu{background-color:transparent}abbr[title].sc-ic-menu{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b.sc-ic-menu,strong.sc-ic-menu{font-weight:bolder}code.sc-ic-menu,kbd.sc-ic-menu,samp.sc-ic-menu{font-family:monospace, monospace;font-size:1em}small.sc-ic-menu{font-size:80%}sub.sc-ic-menu,sup.sc-ic-menu{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub.sc-ic-menu{bottom:-0.25em}sup.sc-ic-menu{top:-0.5em}img.sc-ic-menu{border-style:none}button.sc-ic-menu,input.sc-ic-menu,optgroup.sc-ic-menu,select.sc-ic-menu,textarea.sc-ic-menu{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button.sc-ic-menu,input.sc-ic-menu{overflow:visible}button.sc-ic-menu,select.sc-ic-menu{text-transform:none}button.sc-ic-menu,[type="button"].sc-ic-menu,[type="reset"].sc-ic-menu,[type="submit"].sc-ic-menu{-webkit-appearance:button}button.sc-ic-menu::-moz-focus-inner,[type="button"].sc-ic-menu::-moz-focus-inner,[type="reset"].sc-ic-menu::-moz-focus-inner,[type="submit"].sc-ic-menu::-moz-focus-inner{border-style:none;padding:0}button.sc-ic-menu:-moz-focusring,[type="button"].sc-ic-menu:-moz-focusring,[type="reset"].sc-ic-menu:-moz-focusring,[type="submit"].sc-ic-menu:-moz-focusring{outline:1px dotted ButtonText}fieldset.sc-ic-menu{padding:0.35em 0.75em 0.625em}legend.sc-ic-menu{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress.sc-ic-menu{vertical-align:baseline}textarea.sc-ic-menu{overflow:auto}[type="checkbox"].sc-ic-menu,[type="radio"].sc-ic-menu{box-sizing:border-box;padding:0}[type="number"].sc-ic-menu::-webkit-inner-spin-button,[type="number"].sc-ic-menu::-webkit-outer-spin-button{height:auto}[type="search"].sc-ic-menu{-webkit-appearance:textfield;outline-offset:-2px}[type="search"].sc-ic-menu::-webkit-search-decoration{-webkit-appearance:none}.sc-ic-menu::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details.sc-ic-menu{display:block}summary.sc-ic-menu{display:list-item}template.sc-ic-menu{display:none}[hidden].sc-ic-menu{display:none}html.sc-ic-menu,body.sc-ic-menu,div.sc-ic-menu,span.sc-ic-menu,applet.sc-ic-menu,object.sc-ic-menu,iframe.sc-ic-menu,h1.sc-ic-menu,h2.sc-ic-menu,h3.sc-ic-menu,h4.sc-ic-menu,h5.sc-ic-menu,h6.sc-ic-menu,p.sc-ic-menu,blockquote.sc-ic-menu,pre.sc-ic-menu,a.sc-ic-menu,abbr.sc-ic-menu,acronym.sc-ic-menu,address.sc-ic-menu,big.sc-ic-menu,cite.sc-ic-menu,code.sc-ic-menu,del.sc-ic-menu,dfn.sc-ic-menu,em.sc-ic-menu,img.sc-ic-menu,ins.sc-ic-menu,kbd.sc-ic-menu,q.sc-ic-menu,s.sc-ic-menu,samp.sc-ic-menu,small.sc-ic-menu,strike.sc-ic-menu,strong.sc-ic-menu,sub.sc-ic-menu,sup.sc-ic-menu,tt.sc-ic-menu,var.sc-ic-menu,b.sc-ic-menu,u.sc-ic-menu,i.sc-ic-menu,center.sc-ic-menu,dl.sc-ic-menu,dt.sc-ic-menu,dd.sc-ic-menu,ol.sc-ic-menu,ul.sc-ic-menu,li.sc-ic-menu,fieldset.sc-ic-menu,form.sc-ic-menu,label.sc-ic-menu,legend.sc-ic-menu,table.sc-ic-menu,caption.sc-ic-menu,tbody.sc-ic-menu,tfoot.sc-ic-menu,thead.sc-ic-menu,tr.sc-ic-menu,th.sc-ic-menu,td.sc-ic-menu,article.sc-ic-menu,aside.sc-ic-menu,canvas.sc-ic-menu,details.sc-ic-menu,embed.sc-ic-menu,figure.sc-ic-menu,figcaption.sc-ic-menu,footer.sc-ic-menu,header.sc-ic-menu,hgroup.sc-ic-menu,menu.sc-ic-menu,nav.sc-ic-menu,output.sc-ic-menu,ruby.sc-ic-menu,section.sc-ic-menu,summary.sc-ic-menu,time.sc-ic-menu,mark.sc-ic-menu,audio.sc-ic-menu,video.sc-ic-menu{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}@media (prefers-reduced-motion: no-preference){.ic-menu-open.sc-ic-menu-h .menu.sc-ic-menu{transition:max-height var(--ic-transition-duration-slow)}}.sc-ic-menu-h{max-height:0;width:var(--menu-width, var(--input-width, 20rem));color:var(--menu-item-text-color, var(--ic-menu-list-option-text-color));--ic-typography-color:var(\n --menu-item-text-color,\n var(--ic-menu-list-option-text-color)\n );background-color:var(\n --menu-bg-color,\n var(--ic-menu-list-option-background-color)\n );position:relative;z-index:var(--ic-z-index-menu);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay);border-radius:var(--ic-border-radius)}.ic-menu-open.sc-ic-menu-h:not(.ic-menu-no-focus):focus-within{box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline)}.ic-select-select-all-focused.sc-ic-menu-h{box-shadow:var(--ic-elevation-overlay) !important}#retry-button.sc-ic-menu::part(button){height:var(--ic-space-lg)}.small.sc-ic-menu #retry-button.sc-ic-menu::part(button){height:var(--ic-space-md)}.on-dialog.sc-ic-menu-h{inset:auto !important}.menu.sc-ic-menu{text-decoration:none;list-style-type:none;border-radius:1px;background-color:var(\n --menu-bg-color,\n var(--ic-menu-list-option-background-color)\n );visibility:hidden;max-height:0;overflow-y:hidden}.menu.sc-ic-menu:has(+.option-bar).sc-ic-menu{border-radius:0 0 1px 1px}.menu-scroll.sc-ic-menu{overflow-y:auto}.menu.sc-ic-menu:focus-visible{outline:none}.ic-menu-open.sc-ic-menu-h{max-height:none;display:flex;flex-direction:column-reverse;border:var(--ic-border-width) solid\n var(--menu-border-color, var(--ic-menu-border-color));transition:box-shadow var(--ic-easing-transition-fast)}.ic-menu-open.sc-ic-menu-h .menu.sc-ic-menu{visibility:visible;max-height:calc(var(--ic-space-xl) * 10 + var(--ic-space-xxxs))}.ic-menu-open.sc-ic-menu-h .option-bar.sc-ic-menu{visibility:visible}.ic-menu-open.sc-ic-menu-h .select-all-button.sc-ic-menu{display:block}.ic-menu-full-width.sc-ic-menu-h{width:100%}.option.sc-ic-menu{padding:var(--ic-space-xs) calc(var(--ic-space-xs) - var(--ic-space-1px));cursor:pointer;display:flex;align-items:center;gap:var(--ic-space-xs)}.loading-option.sc-ic-menu p.sc-ic-menu{margin-bottom:0 !important}.option.sc-ic-menu:not(.loading-option){justify-content:space-between}.ic-menu-small.sc-ic-menu-h .option.sc-ic-menu{padding:var(--ic-space-xxs) calc(var(--ic-space-xs) - var(--ic-space-1px))}.ic-menu-large.sc-ic-menu-h .option.sc-ic-menu{padding:var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px))}.option.sc-ic-menu:last-child{border-radius:0 0 1px 1px}.sc-ic-menu:not(.menu:has(+.option-bar)).sc-ic-menu .option.sc-ic-menu:first-child{border-radius:1px 1px 0 0}.option.sc-ic-menu:not(.disabled-option):hover{background-color:var(--ic-menu-list-option-hover-background-color)}.option.sc-ic-menu:not(.disabled-option):active{background-color:var(--ic-menu-list-option-pressed-background-color)}.option.sc-ic-menu:focus-visible{outline:var(--ic-hc-focus-outline)}.option.sc-ic-menu:not(.disabled-option) .option-description.sc-ic-menu{--ic-typography-color:var(\n --menu-item-desc-text-color,\n var(--ic-menu-list-option-description-text-color)\n )}.option.sc-ic-menu .option-label.sc-ic-menu{display:flex;flex-direction:row;align-items:top}.option.sc-ic-menu .option-label.sc-ic-menu ic-typography.sc-ic-menu{max-width:100%;word-wrap:break-word}.option.sc-ic-menu .option-element.sc-ic-menu{margin-top:var(--ic-space-xxs)}.option.sc-ic-menu .option-icon.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);margin-top:var(--ic-space-xxs);margin-right:var(--ic-space-xxs)}.option-text-container.sc-ic-menu{pointer-events:none;width:100%}.option-text-container.show-check-icon.sc-ic-menu{flex-grow:1}.option.loading-option.sc-ic-menu .option-text-container.sc-ic-menu{margin-left:calc(var(--ic-space-xs) + var(--ic-space-xxxs));color:var(--ic-menu-loading-list-option-text-color);--ic-typography-color:var(--ic-menu-loading-list-option-text-color)}.error-icon-svg.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);fill:var(--ic-atoms-status-icon-error);align-self:center;display:flex;margin-right:calc(var(--ic-space-xxs) * 1.2)}.loading-error-info.sc-ic-menu{display:flex}.check-icon.sc-ic-menu{height:var(--ic-space-lg);min-width:var(--ic-space-lg);width:var(--ic-space-lg);pointer-events:none}.focused-option.sc-ic-menu .check-icon.sc-ic-menu *.sc-ic-menu{fill:currentcolor}.option-group-title.sc-ic-menu{padding:var(--ic-space-lg) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xs);--ic-typography-color:var(--ic-menu-option-group-label-text-color)}.ic-menu-small.sc-ic-menu-h .option-group-title.sc-ic-menu{padding:var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xxs)}.last-recommended-option.sc-ic-menu{border-bottom:var(--ic-menu-last-recommended-option-border)}.disabled-option.sc-ic-menu{color:var(--ic-atoms-list-option-text-disabled-light);--ic-typography-color:var(--ic-atoms-list-option-text-disabled-light);cursor:default;pointer-events:none}.focused-option.sc-ic-menu,.focused-option.sc-ic-menu .option-description.sc-ic-menu{background-color:var(--ic-color-focus-inner) !important;color:var(--ic-atoms-list-option-text-focused-light) !important;--ic-typography-color:var(\n --ic-atoms-list-option-text-focused-light\n ) !important}.no-results.sc-ic-menu-h li.sc-ic-menu{cursor:no-drop}.no-results.sc-ic-menu-h li.sc-ic-menu:hover{background-color:transparent}.option-bar.sc-ic-menu{padding:var(--ic-space-xxs) var(--ic-space-xs);display:flex;align-items:center;justify-content:space-between;background-color:var(--ic-menu-option-bar-background-color);visibility:hidden;border-bottom:var(--ic-border-width) solid\n var(--ic-menu-option-bar-divider-color);border-radius:1px 1px 0 0}.option-bar.sc-ic-menu p.sc-ic-menu{margin-bottom:0 !important}.ic-menu-large.sc-ic-menu-h .option-bar.sc-ic-menu{padding:var(--ic-space-xs)}.select-all-button.sc-ic-menu{display:none}.select-all-button.sc-ic-menu:focus{z-index:calc(var(--ic-z-index-menu) + 1)}@media (forced-colors: active){.focused-option.sc-ic-menu:focus{outline:none;border:0.125rem solid transparent}.disabled-option.sc-ic-menu{color:GrayText;--ic-typography-color:GrayText}}@media screen AND (max-width: 22rem){.sc-ic-menu-h{max-width:var(--menu-width, var(--input-width, 20rem));width:100%}}';const v=b;const g=class{constructor(n){i(this,n);this.icClear=t(this,"icClear",7);this.menuKeyPress=t(this,"menuKeyPress",7);this.menuOptionId=t(this,"menuOptionId",7);this.menuOptionSelect=t(this,"menuOptionSelect",7);this.menuOptionSelectAll=t(this,"menuOptionSelectAll",7);this.menuStateChange=t(this,"menuStateChange",7);this.retryButtonClicked=t(this,"retryButtonClicked",7);this.timeoutBlur=t(this,"timeoutBlur",7);this.ungroupedOptionsSet=t(this,"ungroupedOptionsSet",7);this.ACTIVE_DESCENDANT="aria-activedescendant";this.CLEAR_BUTTON_ID="clear-button";this.SEARCH_BAR_TAG="IC-SEARCH-BAR";this.disabledOptionSelected=false;this.hasPreviouslyBlurred=false;this.hasTimedOut=false;this.isLoading=false;this.lastOptionSelected=null;this.lastOptionFocused=null;this.multiOptionClicked=null;this.preventClickOpen=false;this.preventMenuFocus=false;this.shiftPressed=false;this.ungroupedOptions=[];this.focusFromSearchKeypress=false;this.initialOptionsListRender=false;this.keyboardNav=false;this.preventIncorrectTabOrder=false;this.popperProps={};this.activationType="automatic";this.autofocusOnSelected=true;this.closeOnSelect=true;this.fullWidth=false;this.labelField="label";this.multiSelect=false;this.searchableSelect=false;this.searchBar=false;this.searchMode="navigation";this.selectOnEnter=false;this.size="medium";this.valueField="value";this.handleClearListener=()=>{this.optionHighlighted=""};this.handleSubmitSearch=()=>{const i=this.options.findIndex((i=>i[this.valueField]===this.optionHighlighted));this.setInputValue(i)};this.handleMenuChange=(i,t)=>{var s;this.menuStateChange.emit({open:i,focusInput:t});if(!i){if(t!==false){(s=this.inputEl)===null||s===void 0?void 0:s.focus();this.preventClickOpen=false}if(this.multiSelect){this.optionHighlighted=undefined;this.multiOptionClicked=null}}};this.setNextOptionValue=i=>{if(this.ungroupedOptions[i+1]){this.menuOptionSelect.emit({value:this.ungroupedOptions[i+1][this.valueField],optionId:this.getOptionId(this.ungroupedOptions[i+1][this.valueField])})}else{this.menuOptionSelect.emit({value:this.ungroupedOptions[0][this.valueField],optionId:this.getOptionId(this.ungroupedOptions[0][this.valueField])})}};this.setPreviousOptionValue=i=>{if(this.ungroupedOptions[i-1]){this.menuOptionSelect.emit({value:this.ungroupedOptions[i-1][this.valueField],optionId:this.getOptionId(this.ungroupedOptions[i-1][this.valueField])})}else{this.menuOptionSelect.emit({value:this.ungroupedOptions[this.ungroupedOptions.length-1][this.valueField],optionId:this.getOptionId(this.ungroupedOptions[this.ungroupedOptions.length-1][this.valueField])})}};this.arrowBehaviour=i=>{i.preventDefault();this.handleMenuChange(true)};this.getMenuOptions=()=>this.searchBar?this.options:this.ungroupedOptions;this.setHighlightedOption=i=>{const t=this.getMenuOptions();t[i]&&!t[i].timedOut&&(this.optionHighlighted=t[i][this.valueField]||undefined)};this.autoSetInputValueKeyboardOpen=i=>{const t=this.ungroupedOptions.findIndex((i=>i[this.valueField]===this.value));this.keyboardNav=false;switch(i.key){case"ArrowDown":this.keyboardNav=true;this.arrowBehaviour(i);this.setNextOptionValue(t);break;case"ArrowUp":this.keyboardNav=true;this.arrowBehaviour(i);this.setPreviousOptionValue(t);break;case" ":case"Enter":if(i.target.id!==this.CLEAR_BUTTON_ID){this.handleMenuChange(true)}break}};this.selectHighlightedOption=(i,t)=>{if(!this.isLoading&&!this.hasTimedOut){this.keyboardNav=true}const s=this.searchBar||this.searchableSelect||this.open;if(s){if(t>=0){if(i[t]!==undefined){if(this.searchBar&&i[t].disabled===true){this.disabledOptionSelected=true}else{this.setInputValue(t)}}}else{this.setInputValue(t)}}else{this.handleMenuChange(true)}};this.isOptionSelected=i=>{const t=this.getMenuOptions();return this.value?this.value.includes(t[i][this.valueField]):false};this.deselectSelectedOptions=i=>{const t=this.getMenuOptions();if(this.value){const s=this.value.map((i=>t.findIndex((t=>t[this.valueField]===i))));s.forEach((t=>!i.includes(t)&&this.setInputValue(t)))}};this.manualSetInputValueKeyboardOpen=i=>{const t=this.getMenuOptions();const s=i.shiftKey||i.metaKey||i.ctrlKey;const e=this.getOptionHighlightedIndex();const n=t.findIndex((i=>i[this.valueField]===this.multiOptionClicked));const c=i=>{var t;return(t=Array.from(this.host.querySelectorAll("li"))[i])===null||t===void 0?void 0:t.id};if(i.key===" "&&this.multiSelect){this.handleOptionSelect(i,e)}else{switch(i.key){case"ArrowDown":this.keyboardNav=true;this.arrowBehaviour(i);if(this.multiOptionClicked){this.setHighlightedOption(n);this.multiOptionClicked=null}else{this.handleSingleShiftSelect(i,e,t);if(e<t.length-1){this.setHighlightedOption(e+1);this.menuOptionId.emit({optionId:c(e+1)});this.handleSingleShiftSelect(i,e+1,t)}else{this.setHighlightedOption(0);this.menuOptionId.emit({optionId:c(0)});this.handleSingleShiftSelect(i,0,t)}if(this.multiSelect&&this.shiftPressed){this.deselectSelectedOptions([e,this.getOptionHighlightedIndex()]);this.shiftPressed=false}}this.lastOptionFocused=this.getOptionHighlightedIndex();this.preventIncorrectTabOrder=false;this.focusFromSearchKeypress=false;break;case"ArrowUp":this.keyboardNav=true;this.arrowBehaviour(i);if(this.multiOptionClicked){this.setHighlightedOption(n);this.multiOptionClicked=null}else{this.handleSingleShiftSelect(i,e,t);if(e<=0||e>t.length+1){this.setHighlightedOption(t.length-1);this.menuOptionId.emit({optionId:c(t.length-1)});this.handleSingleShiftSelect(i,t.length-1,t)}else{this.setHighlightedOption(e-1);this.menuOptionId.emit({optionId:c(e-1)});this.handleSingleShiftSelect(i,e-1,t)}if(this.multiSelect&&this.shiftPressed){this.deselectSelectedOptions([e,this.getOptionHighlightedIndex()]);this.shiftPressed=false}}this.lastOptionFocused=this.getOptionHighlightedIndex();this.preventIncorrectTabOrder=false;this.focusFromSearchKeypress=false;break;case"Home":{const t=0;this.keyboardNav=true;i.preventDefault();this.arrowBehaviour(i);this.setHighlightedOption(t);this.menuOptionId.emit({optionId:c(t)});if(i.shiftKey&&i.ctrlKey){this.handleMultipleShiftSelect(t)}this.lastOptionFocused=t;this.lastOptionSelected=t;break}case"End":{const s=t.length-1;this.keyboardNav=true;i.preventDefault();this.arrowBehaviour(i);this.setHighlightedOption(s);this.menuOptionId.emit({optionId:c(s)});if(i.shiftKey&&i.ctrlKey){this.handleMultipleShiftSelect(s)}this.lastOptionFocused=s;this.lastOptionSelected=s;break}case" ":if(!s){this.keyboardNav=false}if(this.searchBar||this.searchableSelect){break}else{if(i.target.id!==this.CLEAR_BUTTON_ID){this.handleMenuChange(true)}}break;case"Enter":i.preventDefault();if(!s){this.keyboardNav=false}this.handleOptionSelect(i,e);break;case"Escape":if(this.open){i.stopImmediatePropagation()}this.handleMenuChange(false);this.menuOptionId.emit({optionId:undefined});break;case"a":if(h()&&i.metaKey||!h()&&i.ctrlKey){this.emitSelectAllEvents();this.lastOptionFocused=null;this.lastOptionSelected=null}break;case"Shift":case"Tab":if(i.key==="Shift"){this.shiftPressed=true}if(this.searchBar){this.keyboardNav=true}if(this.multiSelect){if(this.open&&!i.shiftKey&&this.selectAllButton){i.preventDefault();this.selectAllButton.focus();this.preventMenuFocus=true;this.preventClickOpen=true;this.optionHighlighted=undefined}}else{this.preventIncorrectTabOrder=true}break;default:if(!s){this.keyboardNav=false}this.focusOnSearchOrSelectInput(t,e)}}};this.setInputValue=i=>{const t=this.getMenuOptions();if(t[i]!==undefined){this.menuOptionSelect.emit({value:t[i][this.valueField]});if(this.closeOnSelect){this.optionHighlighted=undefined;this.menuOptionId.emit({optionId:undefined})}}if(this.closeOnSelect){if(!this.hasTimedOut){this.handleMenuChange(false)}else{this.parentEl.setFocus()}}};this.handleOptionClick=i=>{const{value:t,label:s}=i.target.dataset;if(this.multiSelect){const s=this.getMenuOptions();const e=s.findIndex((i=>i[this.valueField]===t));this.handleOptionSelect(i,e,true);this.multiOptionClicked=t||null}else{this.menuOptionSelect.emit({value:t,label:s});this.handleMenuChange(false)}this.optionHighlighted=undefined};this.handleRetry=()=>{this.retryButtonClicked.emit({value:this.value})};this.handleRetryKeyDown=i=>{if(i.key==="Enter"||i.key===" "){i.preventDefault();this.retryButtonClicked.emit({value:this.value,keyPressed:i.key})}};this.handleBlur=i=>{var t,s,e,n;if(i.relatedTarget!==this.inputEl){if(i.relatedTarget===this.selectAllButton){(t=this.menu)===null||t===void 0?void 0:t.removeAttribute(this.ACTIVE_DESCENDANT)}if(!(((s=this.menu)===null||s===void 0?void 0:s.contains(i.relatedTarget))||i.relatedTarget===this.selectAllButton)){this.handleMenuChange(false,this.hasPreviouslyBlurred);(e=this.menu)===null||e===void 0?void 0:e.removeAttribute(this.ACTIVE_DESCENDANT);this.lastOptionFocused=null;this.lastOptionSelected=null}}else{this.handleMenuChange(false);this.preventClickOpen=true;(n=this.menu)===null||n===void 0?void 0:n.removeAttribute(this.ACTIVE_DESCENDANT);this.lastOptionFocused=null;this.lastOptionSelected=null}if(!this.searchBar)this.hasPreviouslyBlurred=!!i.relatedTarget};this.handleMouseDown=i=>{i.preventDefault()};this.handleMenuKeyDown=i=>{if(this.activationType==="automatic"){this.autoSetValueOnMenuKeyDown(i)}else if(this.activationType==="manual"&&!this.searchBar){this.manualSetInputValueKeyboardOpen(i)}};this.handleMenuKeyUp=i=>{if(i.key==="Tab"&&i.shiftKey){this.preventClickOpen=false}if(i.key==="Enter"&&this.disabledOptionSelected){this.disabledOptionSelected=false;i.stopImmediatePropagation()}if(i.key==="Shift"){this.shiftPressed=false}};this.handleSelectAllClick=()=>{var i;this.keyboardNav=false;(i=this.menu)===null||i===void 0?void 0:i.focus();this.emitSelectAllEvents();this.lastOptionFocused=null;this.lastOptionSelected=null};this.handleSelectAllBlur=i=>{var t;this.host.classList.remove("ic-select-select-all-focused");if(!((t=this.menu)===null||t===void 0?void 0:t.contains(i.relatedTarget))){this.handleMenuChange(false,false)}};this.handleSelectAllFocus=()=>{this.host.classList.add("ic-select-select-all-focused");this.lastOptionFocused=null;this.lastOptionSelected=null};this.handleSelectAllMouseDown=i=>{i.preventDefault()};this.handleSingleShiftSelect=(i,t,s)=>{if(this.multiSelect&&i.shiftKey&&!this.isOptionSelected(t)){this.selectHighlightedOption(s,t);this.lastOptionSelected=t}};this.handleMultipleShiftSelect=(i,t=false,s=null)=>{this.shiftPressed=false;const e=s===null?this.getFirstOptionInSelection(t):s;if(e!==null){const t=[];if(e<i){for(let s=e;s<i+1;s++){t.push(s)}}else{for(let s=e;s>i-1;s--){t.push(s)}}t.forEach((i=>!this.isOptionSelected(i)&&this.setInputValue(i)));this.deselectSelectedOptions(t)}};this.handleOptionSelect=(i,t,s=false)=>{const e=this.getMenuOptions();const n=this.getFirstOptionInSelection(s);if(i.shiftKey&&n!==null){this.handleMultipleShiftSelect(t,s,n)}else{this.selectHighlightedOption(e,t)}this.lastOptionFocused=t;this.lastOptionSelected=t};this.getFirstOptionInSelection=i=>i&&this.lastOptionFocused!==null?this.lastOptionFocused:this.lastOptionSelected!==null?this.lastOptionSelected:null;this.emitSelectAllEvents=()=>{var i,t;this.menuOptionSelectAll.emit({select:!this.value||!(((i=this.value)===null||i===void 0?void 0:i.length)===this.ungroupedOptions.length)});if(((t=this.value)===null||t===void 0?void 0:t.length)===this.ungroupedOptions.length){this.icClear.emit()}};this.emitMenuKeyPress=(i,t)=>{this.menuKeyPress.emit({isNavKey:i,key:t})};this.autoSetValueOnMenuKeyDown=i=>{var t,s;i.cancelBubble=true;const e=this.ungroupedOptions.findIndex((i=>i[this.valueField]===this.value));const n=!!this.inputEl&&this.inputEl.tagName==="INPUT";this.keyboardNav=false;switch(i.key){case" ":i.preventDefault();break;case"ArrowUp":if(!this.hasTimedOut){i.preventDefault();this.setPreviousOptionValue(e);this.keyboardNav=true}break;case"ArrowDown":if(!this.hasTimedOut){i.preventDefault();this.setNextOptionValue(e);this.keyboardNav=true}break;case"Home":this.menuOptionSelect.emit({value:this.ungroupedOptions[0][this.valueField]});this.keyboardNav=true;break;case"End":this.menuOptionSelect.emit({value:this.ungroupedOptions[this.ungroupedOptions.length-1][this.valueField]});this.keyboardNav=true;break;case"Enter":!this.hasTimedOut&&this.handleMenuChange(false);break;case"Escape":this.handleMenuChange(false);break;case"Backspace":if(n){(t=this.inputEl)===null||t===void 0?void 0:t.focus()}break;case"Shift":break;default:if(n&&i.key!=="Tab"&&!this.hasTimedOut){(s=this.inputEl)===null||s===void 0?void 0:s.focus()}if(i.key.length===1){this.keyboardNav=true}break}this.emitMenuKeyPress(this.keyboardNav,i.key)};this.getOptionId=i=>`${this.menuId}-${i}`;this.getOptionAriaLabel=(i,t)=>{let s=i[this.labelField];if(i.description){s=`${s}, ${i.description}`}if(i.element){s=`${s}, ${i.element.ariaLabel}`}if(t){return`${s}, ${t[this.labelField]} group`}else{return s}};this.getSortedOptions=i=>{let t=[];if(i.sort){t=i.sort(((i,t)=>i.recommended&&!t.recommended?-1:0))}return t};this.getOptionHighlightedIndex=()=>{const i=this.getMenuOptions();return i.findIndex((i=>i[this.valueField]===this.optionHighlighted))};this.isManualMode=this.activationType==="manual";this.scrollToSelected=i=>{var t;const s=this.selectOnEnter?this.host.querySelector(`li[data-value="${this.optionHighlighted}"]`):i.querySelector(".option[aria-selected='true']");if(s){const e=s.offsetTop+s.offsetHeight;if(e>i.scrollTop+i.offsetHeight||e<i.scrollTop+i.offsetHeight){i.scrollTop=s.offsetTop}(t=this.menu)===null||t===void 0?void 0:t.setAttribute(this.ACTIVE_DESCENDANT,s.id);s.focus()}};this.loadUngroupedOptions=()=>{if(this.options.length>0&&this.options.map){this.options.map((i=>{if(i.children){i.children.map((i=>!i.disabled&&this.ungroupedOptions.push(i)))}else if(!i.disabled){this.ungroupedOptions.push(i)}}))}this.ungroupedOptions=this.getSortedOptions(this.ungroupedOptions);this.ungroupedOptionsSet.emit({options:this.ungroupedOptions})};this.setMenuScrollbar=()=>{var i;let t=0;this.host.querySelectorAll(".option, .option-group-title").forEach((i=>t+=i.clientHeight));if(t>=320){(i=this.menu)===null||i===void 0?void 0:i.classList.add("menu-scroll")}};this.handleTimeoutBlur=i=>{this.timeoutBlur.emit({ev:i})};this.optionContent=(i,t)=>{var n;const c=!!i[this.valueField]&&!!this.value&&t&&((n=this.parentEl)===null||n===void 0?void 0:n.tagName)!==this.SEARCH_BAR_TAG;return s(e,null,i.loading&&s("ic-loading-indicator",{size:"icon"}),s("div",{class:{"option-text-container":true,"show-check-icon":c}},(i.icon||!i.hideLabel)&&s("div",{class:"option-label"},i.icon&&s("div",{class:"option-icon",innerHTML:f(i.icon),"aria-hidden":"true"}),!i.hideLabel&&s("ic-typography",{variant:"body","aria-hidden":"true"},i[this.labelField])),i.description&&s("ic-typography",{id:`${this.getOptionId(i[this.valueField])}-description`,class:"option-description",variant:"caption","aria-hidden":"true"},s("p",null,i.description)),i.element&&s("div",{class:{"option-element":i.icon||!i.hideLabel||i.description},innerHTML:p(i.element.component),"aria-hidden":"true"})),c&&s("span",{class:"check-icon",innerHTML:o}))};this.displayOption=(i,t,n,c)=>{var o;const{open:a,keyboardNav:h,isManualMode:r,initialOptionsListRender:l,optionHighlighted:u,options:m}=this;return s("li",Object.assign({id:this.getOptionId(i[this.valueField]),class:{option:true,"focused-option":r?(h||l)&&i[this.valueField]===u:h&&t,"last-recommended-option":!!(i.recommended&&m[n+1]&&!m[n+1].recommended),"disabled-option":!!i.disabled,"loading-option":!!i.loading,timeout:!!i.timedOut},role:"option",tabindex:a&&(t||i[this.valueField]===u)&&h?"0":"-1","aria-label":this.getOptionAriaLabel(i,c),"aria-selected":t?"true":"false","aria-disabled":i.disabled?"true":"false",onClick:!i.timedOut&&!i.loading?this.handleOptionClick:undefined,onBlur:this.handleBlur,onMouseDown:this.handleMouseDown,"data-value":i[this.valueField],"data-label":i[this.labelField]},(o=i.htmlProps)!==null&&o!==void 0?o:{}),i.timedOut?s(e,null,s("div",{class:"loading-error-info"},s("svg",{class:"error-icon-svg",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"#000000"},s("title",null,"Error"),s("g",null,s("path",{d:"M8.77 3L3.5 8.27V15.73L8.77 21H16.23L21.5 15.73V8.27L16.23 3M8.91 7L12.5 10.59L16.09 7L17.5 8.41L13.91 12L17.5 15.59L16.09 17L12.5 13.41L8.91 17L7.5 15.59L11.09 12L7.5 8.41"}))),s("ic-typography",{variant:"label"},i[this.labelField])),s("ic-button",{size:"small",variant:"tertiary",onClick:this.handleRetry,onKeyDown:this.handleRetryKeyDown,onBlur:this.handleTimeoutBlur,id:"retry-button"},"Retry")):this.optionContent(i,t))}}watchOpenHandler(){if(!this.open&&this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}}watchOptionsHandler(i){this.hasTimedOut=i.some((i=>i.timedOut));this.isLoading=i.some((i=>i.loading));this.ungroupedOptions=[];this.loadUngroupedOptions()}connectedCallback(){if(this.searchBar){if(this.searchMode==="navigation")this.setHighlightedOption(0);this.initialOptionsListRender=true}}disconnectedCallback(){var i,t,s;(i=this.popperInstance)===null||i===void 0?void 0:i.destroy();(t=this.parentEl)===null||t===void 0?void 0:t.removeEventListener("icClear",this.handleClearListener);(s=this.parentEl)===null||s===void 0?void 0:s.removeEventListener("icSubmitSearch",this.handleSubmitSearch)}componentWillLoad(){var i,t,s,e;this.loadUngroupedOptions();(i=this.parentEl)===null||i===void 0?void 0:i.addEventListener("icClear",this.handleClearListener);(t=this.parentEl)===null||t===void 0?void 0:t.addEventListener("icSubmitSearch",this.handleSubmitSearch);this.hasTimedOut=(s=this.options)===null||s===void 0?void 0:s.some((i=>i.timedOut));this.isLoading=(e=this.options)===null||e===void 0?void 0:e.some((i=>i.loading))}componentDidLoad(){if(this.searchBar&&this.parentEl.disableAutoFiltering){this.focusFromSearchKeypress=true}r([{prop:this.open,propName:"open"},{prop:this.options,propName:"options"},{prop:this.menuId,propName:"menu-id"},{prop:this.inputLabel,propName:"input-label"}],"Menu")}componentDidUpdate(){const i=this.options.some((i=>i[this.valueField]===this.value));if(this.menu&&this.open&&this.options.length!==0&&!this.preventMenuFocus){if(this.value&&this.keyboardNav&&i&&this.autofocusOnSelected&&!this.searchableSelect){this.scrollToSelected(this.menu)}else if(this.selectOnEnter){this.menu.focus()}else if(!!this.optionHighlighted&&!this.focusFromSearchKeypress&&!this.preventIncorrectTabOrder){const i=this.host.querySelector(`li[data-value="${this.optionHighlighted}"]`);if(i){this.menu.setAttribute(this.ACTIVE_DESCENDANT,i.id);i.focus()}}else if(this.inputEl&&this.inputEl.tagName!=="INPUT"){this.menu.focus()}}if(this.menu&&this.open&&!this.value&&this.selectOnEnter){this.scrollToSelected(this.menu)}this.preventMenuFocus=false}componentDidRender(){if(this.open&&!this.popperInstance&&this.anchorEl){this.initPopperJs(this.anchorEl)}if(this.open&&!!this.options.length){this.setMenuScrollbar()}}async handleClickOpen(){if(!this.preventClickOpen){this.menuStateChange.emit({open:!this.open});this.keyboardNav=false}this.preventClickOpen=false}async handleKeyboardOpen(i){if(this.activationType==="automatic"){this.autoSetInputValueKeyboardOpen(i)}else{this.manualSetInputValueKeyboardOpen(i)}}async handleSetFirstOption(){this.setHighlightedOption(0)}async initPopperJs(i){this.popperInstance=m(i,this.host,Object.assign({placement:"bottom-start",modifiers:[{name:"offset",options:{offset:[0,7]}},{name:"flip",options:{fallbackPlacements:["top-start"],rootBoundary:"viewport"}}]},this.popperProps))}async setExternalPopperProps(i){this.popperProps=i}focusOnSearchOrSelectInput(i,t){if(!i[t])return;if(this.searchBar){this.parentEl.setFocus();if(this.searchMode==="navigation")this.setHighlightedOption(0)}if(this.searchableSelect){this.parentEl.setFocus()}this.focusFromSearchKeypress=true}render(){const{inputLabel:i,options:t,menuId:e,value:c,fullWidth:o,hasTimedOut:a,isLoading:h,size:r,open:u,inputEl:m,keyboardNav:d,parentEl:p,SEARCH_BAR_TAG:f,multiSelect:b}=this;const v=`${(c===null||c===void 0?void 0:c.length)===this.ungroupedOptions.length?"Clear":"Select"} all`;const g=this.host.classList.contains("no-results");return s(n,{key:"8dad972db607187821f9063a35f75768df5adcc1",class:{"ic-menu-full-width":!!o,"ic-menu-no-focus":(m===null||m===void 0?void 0:m.tagName)==="INPUT"&&(p===null||p===void 0?void 0:p.tagName)!==f||a||h,[`ic-menu-${r}`]:true,"ic-menu-open":u&&t.length!==0,"ic-menu-multiple":b}},t.length!==0&&s("ul",{key:"bbdb630e801155ddb22240206eac4f919807ec2d",id:e,class:"menu",role:"listbox","aria-label":`${i} pop-up`,"aria-multiselectable":b?"true":"false",tabindex:u&&!d&&((m===null||m===void 0?void 0:m.tagName)!=="INPUT"||(p===null||p===void 0?void 0:p.tagName)===f)?"0":"-1",ref:i=>this.menu=i,onKeyDown:this.handleMenuKeyDown,onKeyUp:this.handleMenuKeyUp,onBlur:this.handleBlur},this.getSortedOptions(t).map(((i,t)=>{if(i.children){if(i.children.length>0){return s("div",null,s("ic-typography",{class:"option-group-title",role:"presentation",variant:"subtitle-small"},s("p",null,i[this.labelField])),i.children.map((s=>s[this.labelField]&&this.displayOption(s,b?c===null||c===void 0?void 0:c.includes(s[this.valueField]):s[this.valueField]===c,t,i))))}else{return null}}else{return i[this.labelField]&&this.displayOption(i,b?c===null||c===void 0?void 0:c.includes(i[this.valueField]):i[this.valueField]===c,t)}}))),t.length!==0&&b&&!h&&!a&&!g&&s("div",{key:"2806fdd383f3450d651e681a0156c47cd98689c5",class:"option-bar"},s("ic-typography",{key:"dd2e0b74622eb359e4e53cc5c7b0f031ef577ca2"},s("p",{key:"f6132822d0bf66e869b4c2bceba7dfcf93e697be"},`${c?c.length:0}/${l(this.options)} selected`)),s("ic-button",{key:"e233f3ac017ce08d46d1973406a4bb99bcfa2cf6",class:"select-all-button","aria-label":`${v} options for ${i}`,ref:i=>this.selectAllButton=i,variant:"tertiary",onClick:this.handleSelectAllClick,onMouseDown:this.handleSelectAllMouseDown,onBlur:this.handleSelectAllBlur,onFocus:this.handleSelectAllFocus,size:r==="small"?"small":"medium"},v)))}get host(){return c(this)}static get watchers(){return{open:["watchOpenHandler"],options:["watchOptionsHandler"]}}};g.style=v;export{g as ic_menu};
2
+ //# sourceMappingURL=p-df064c8b.entry.js.map