@ukic/canary-web-components 2.0.0-canary.31 → 2.0.0-canary.33

Sign up to get free protection for your applications and to get access to all the features.
Files changed (482) hide show
  1. package/README.md +6 -2
  2. package/dist/cjs/core.cjs.js +1 -1
  3. package/dist/cjs/{helpers-52ab3835.js → helpers-951fb33a.js} +25 -3
  4. package/dist/cjs/helpers-951fb33a.js.map +1 -0
  5. package/dist/cjs/{helpers-093368be.js → helpers-eabe59b6.js} +17 -1
  6. package/dist/cjs/helpers-eabe59b6.js.map +1 -0
  7. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  8. package/dist/cjs/ic-accordion.cjs.entry.js +8 -1
  9. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-alert.cjs.entry.js +2 -9
  11. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  13. package/dist/cjs/ic-badge.cjs.entry.js +1 -1
  14. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  15. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  16. package/dist/cjs/ic-button_3.cjs.entry.js +1 -1
  17. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-card-horizontal.cjs.entry.js +8 -9
  19. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-card.cjs.entry.js +18 -19
  21. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-checkbox-group.cjs.entry.js +5 -1
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-checkbox.cjs.entry.js +5 -1
  25. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-chip.cjs.entry.js +9 -4
  27. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-data-table.cjs.entry.js +238 -78
  31. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-date-input.cjs.entry.js +6 -1
  33. package/dist/cjs/ic-date-input.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-date-picker.cjs.entry.js +6 -1
  35. package/dist/cjs/ic-date-picker.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  37. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  38. package/dist/cjs/ic-empty-state_2.cjs.entry.js +48 -21
  39. package/dist/cjs/ic-empty-state_2.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  42. package/dist/cjs/ic-footer.cjs.entry.js +18 -7
  43. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-hero.cjs.entry.js +2 -9
  45. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
  47. package/dist/cjs/ic-input-component-container_4.cjs.entry.js +12 -10
  48. package/dist/cjs/ic-input-component-container_4.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  50. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  51. package/dist/cjs/ic-menu-item.cjs.entry.js +7 -1
  52. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-menu-with-multi.cjs.entry.js +1 -1
  54. package/dist/cjs/ic-menu.cjs.entry.js +2 -2
  55. package/dist/cjs/ic-menu.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  57. package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
  58. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  59. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  60. package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
  61. package/dist/cjs/ic-pagination_4.cjs.entry.js +24 -7
  62. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-popover-menu.cjs.entry.js +1 -1
  64. package/dist/cjs/ic-radio-group.cjs.entry.js +2 -1
  65. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-radio-option.cjs.entry.js +5 -1
  67. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-search-bar.cjs.entry.js +5 -1
  69. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-select-with-multi.cjs.entry.js +1 -1
  71. package/dist/cjs/ic-side-navigation.cjs.entry.js +1 -1
  72. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
  73. package/dist/cjs/ic-step.cjs.entry.js +1 -1
  74. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  75. package/dist/cjs/ic-switch.cjs.entry.js +6 -2
  76. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  78. package/dist/cjs/ic-tab.cjs.entry.js +5 -2
  79. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  81. package/dist/cjs/ic-toast.cjs.entry.js +1 -1
  82. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +17 -0
  83. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-toggle-button.cjs.entry.js +9 -2
  85. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-top-navigation.cjs.entry.js +2 -2
  87. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-tree-item.cjs.entry.js +9 -9
  89. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-tree-view.cjs.entry.js +2 -9
  91. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  93. package/dist/cjs/loader.cjs.js +1 -1
  94. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +12 -10
  95. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -1
  96. package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js +10 -0
  97. package/dist/collection/components/ic-card-horizontal/test/basic/ic-card-horizontal.spec.js.map +1 -1
  98. package/dist/collection/components/ic-data-table/ic-data-table.css +82 -2
  99. package/dist/collection/components/ic-data-table/ic-data-table.js +273 -80
  100. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  101. package/dist/collection/components/ic-data-table/ic-data-table.types.js.map +1 -1
  102. package/dist/collection/components/ic-data-table/story-data.js +249 -8
  103. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  104. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +64 -1
  105. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
  106. package/dist/collection/components/ic-date-input/ic-date-input.js +8 -1
  107. package/dist/collection/components/ic-date-input/ic-date-input.js.map +1 -1
  108. package/dist/collection/components/ic-date-picker/ic-date-picker.js +8 -1
  109. package/dist/collection/components/ic-date-picker/ic-date-picker.js.map +1 -1
  110. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +66 -7
  111. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  112. package/dist/collection/components/ic-tree-item/ic-tree-item.js +12 -10
  113. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
  114. package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js +3 -0
  115. package/dist/collection/components/ic-tree-item/test/basic/ic-tree-item.spec.js.map +1 -1
  116. package/dist/collection/components/ic-tree-view/ic-tree-view.js +3 -10
  117. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
  118. package/dist/collection/utils/helpers.js +12 -1
  119. package/dist/collection/utils/helpers.js.map +1 -1
  120. package/dist/collection/utils/types.js.map +1 -1
  121. package/dist/components/helpers.js +16 -1
  122. package/dist/components/helpers.js.map +1 -1
  123. package/dist/components/helpers2.js +22 -2
  124. package/dist/components/helpers2.js.map +1 -1
  125. package/dist/components/ic-accordion.js +9 -1
  126. package/dist/components/ic-accordion.js.map +1 -1
  127. package/dist/components/ic-alert2.js +3 -10
  128. package/dist/components/ic-alert2.js.map +1 -1
  129. package/dist/components/ic-button2.js.map +1 -1
  130. package/dist/components/ic-card-horizontal.js +12 -11
  131. package/dist/components/ic-card-horizontal.js.map +1 -1
  132. package/dist/components/ic-card.js +22 -21
  133. package/dist/components/ic-card.js.map +1 -1
  134. package/dist/components/ic-checkbox-group.js +5 -0
  135. package/dist/components/ic-checkbox-group.js.map +1 -1
  136. package/dist/components/ic-checkbox.js +5 -0
  137. package/dist/components/ic-checkbox.js.map +1 -1
  138. package/dist/components/ic-chip.js +11 -4
  139. package/dist/components/ic-chip.js.map +1 -1
  140. package/dist/components/ic-data-table.js +239 -78
  141. package/dist/components/ic-data-table.js.map +1 -1
  142. package/dist/components/ic-date-input2.js +7 -1
  143. package/dist/components/ic-date-input2.js.map +1 -1
  144. package/dist/components/ic-date-picker.js +7 -1
  145. package/dist/components/ic-date-picker.js.map +1 -1
  146. package/dist/components/ic-empty-state2.js +3 -13
  147. package/dist/components/ic-empty-state2.js.map +1 -1
  148. package/dist/components/ic-footer.js +18 -7
  149. package/dist/components/ic-footer.js.map +1 -1
  150. package/dist/components/ic-hero.js +3 -10
  151. package/dist/components/ic-hero.js.map +1 -1
  152. package/dist/components/ic-horizontal-scroll2.js +1 -1
  153. package/dist/components/ic-input-component-container2.js +15 -11
  154. package/dist/components/ic-input-component-container2.js.map +1 -1
  155. package/dist/components/ic-menu-item2.js +9 -1
  156. package/dist/components/ic-menu-item2.js.map +1 -1
  157. package/dist/components/ic-menu2.js +1 -1
  158. package/dist/components/ic-menu2.js.map +1 -1
  159. package/dist/components/ic-menu3.js +1 -1
  160. package/dist/components/ic-navigation-group.js +1 -1
  161. package/dist/components/ic-navigation-item.js +1 -1
  162. package/dist/components/ic-navigation-menu2.js +1 -1
  163. package/dist/components/ic-pagination-bar2.js +50 -10
  164. package/dist/components/ic-pagination-bar2.js.map +1 -1
  165. package/dist/components/ic-pagination-item2.js +6 -1
  166. package/dist/components/ic-pagination-item2.js.map +1 -1
  167. package/dist/components/ic-pagination2.js +5 -0
  168. package/dist/components/ic-pagination2.js.map +1 -1
  169. package/dist/components/ic-popover-menu.js +1 -1
  170. package/dist/components/ic-radio-group.js +1 -0
  171. package/dist/components/ic-radio-group.js.map +1 -1
  172. package/dist/components/ic-radio-option.js +6 -1
  173. package/dist/components/ic-radio-option.js.map +1 -1
  174. package/dist/components/ic-search-bar.js +6 -1
  175. package/dist/components/ic-search-bar.js.map +1 -1
  176. package/dist/components/ic-select-with-multi.js +1 -1
  177. package/dist/components/ic-select2.js +6 -1
  178. package/dist/components/ic-select2.js.map +1 -1
  179. package/dist/components/ic-side-navigation.js +1 -1
  180. package/dist/components/ic-stepper.js +1 -1
  181. package/dist/components/ic-switch.js +8 -3
  182. package/dist/components/ic-switch.js.map +1 -1
  183. package/dist/components/ic-tab.js +5 -2
  184. package/dist/components/ic-tab.js.map +1 -1
  185. package/dist/components/ic-text-field2.js +13 -7
  186. package/dist/components/ic-text-field2.js.map +1 -1
  187. package/dist/components/ic-theme.js +1 -1
  188. package/dist/components/ic-toast.js +1 -1
  189. package/dist/components/ic-toggle-button-group.js +21 -1
  190. package/dist/components/ic-toggle-button-group.js.map +1 -1
  191. package/dist/components/ic-toggle-button.js +12 -2
  192. package/dist/components/ic-toggle-button.js.map +1 -1
  193. package/dist/components/ic-top-navigation.js +2 -2
  194. package/dist/components/ic-top-navigation.js.map +1 -1
  195. package/dist/components/ic-tree-item.js +11 -10
  196. package/dist/components/ic-tree-item.js.map +1 -1
  197. package/dist/components/ic-tree-view.js +3 -10
  198. package/dist/components/ic-tree-view.js.map +1 -1
  199. package/dist/core/core.esm.js +1 -1
  200. package/dist/core/core.esm.js.map +1 -1
  201. package/dist/core/{p-56e19b01.entry.js → p-0229eb46.entry.js} +2 -2
  202. package/dist/core/{p-e210f51a.entry.js → p-03a99326.entry.js} +2 -2
  203. package/dist/core/p-03a99326.entry.js.map +1 -0
  204. package/dist/core/{p-8d276e8f.entry.js → p-03d83d2c.entry.js} +2 -2
  205. package/dist/core/{p-438abe40.entry.js → p-05f900e5.entry.js} +2 -2
  206. package/dist/core/p-05f900e5.entry.js.map +1 -0
  207. package/dist/core/{p-924548ec.entry.js → p-0c7d30f5.entry.js} +2 -2
  208. package/dist/core/{p-f4e57aaf.entry.js → p-124279fa.entry.js} +2 -2
  209. package/dist/core/p-12a5b481.entry.js +2 -0
  210. package/dist/core/p-12a5b481.entry.js.map +1 -0
  211. package/dist/core/{p-521abb6e.entry.js → p-26aeefc3.entry.js} +2 -2
  212. package/dist/core/p-26aeefc3.entry.js.map +1 -0
  213. package/dist/core/{p-de630a67.entry.js → p-29a040ef.entry.js} +2 -2
  214. package/dist/core/{p-2f7e6e38.entry.js → p-2b61d283.entry.js} +2 -2
  215. package/dist/core/{p-0a01a7ae.entry.js → p-3156304b.entry.js} +2 -2
  216. package/dist/core/{p-6398a726.entry.js → p-3169d95e.entry.js} +2 -2
  217. package/dist/core/{p-0180e00a.entry.js → p-34de5ffb.entry.js} +2 -2
  218. package/dist/core/{p-969cadfa.entry.js → p-382b88b2.entry.js} +2 -2
  219. package/dist/core/p-382b88b2.entry.js.map +1 -0
  220. package/dist/core/{p-c8141cac.entry.js → p-3a2523df.entry.js} +2 -2
  221. package/dist/core/{p-789ae7f5.entry.js → p-3b1c88ad.entry.js} +2 -2
  222. package/dist/core/p-3bbc3db1.entry.js +2 -0
  223. package/dist/core/p-3bbc3db1.entry.js.map +1 -0
  224. package/dist/core/p-3e7b08c7.entry.js +2 -0
  225. package/dist/core/p-3e7b08c7.entry.js.map +1 -0
  226. package/dist/core/p-4084bce2.entry.js +2 -0
  227. package/dist/core/p-4084bce2.entry.js.map +1 -0
  228. package/dist/core/p-48618a18.entry.js +2 -0
  229. package/dist/core/p-48618a18.entry.js.map +1 -0
  230. package/dist/core/p-4960c603.entry.js +2 -0
  231. package/dist/core/p-4960c603.entry.js.map +1 -0
  232. package/dist/core/{p-6fb3d61e.entry.js → p-4f118361.entry.js} +2 -2
  233. package/dist/core/p-5f149106.entry.js +2 -0
  234. package/dist/core/{p-ad1e70c9.entry.js.map → p-5f149106.entry.js.map} +1 -1
  235. package/dist/core/{p-f10f7f37.entry.js → p-5f71f24c.entry.js} +2 -2
  236. package/dist/core/p-5f71f24c.entry.js.map +1 -0
  237. package/dist/core/{p-74abc3bb.entry.js → p-61ca218b.entry.js} +2 -2
  238. package/dist/core/{p-9922cd00.entry.js → p-7565b23c.entry.js} +2 -2
  239. package/dist/core/p-758f03e8.entry.js +2 -0
  240. package/dist/core/p-758f03e8.entry.js.map +1 -0
  241. package/dist/core/{p-486a6957.entry.js → p-7bba4c47.entry.js} +2 -2
  242. package/dist/core/p-844fb240.entry.js +2 -0
  243. package/dist/core/p-844fb240.entry.js.map +1 -0
  244. package/dist/core/p-8ab58daa.js +2 -0
  245. package/dist/core/p-8ab58daa.js.map +1 -0
  246. package/dist/core/{p-2d063032.entry.js → p-8c2c86b5.entry.js} +2 -2
  247. package/dist/core/{p-9b70d4f8.entry.js → p-8ef60479.entry.js} +2 -2
  248. package/dist/core/p-938a0ccc.entry.js +2 -0
  249. package/dist/core/p-938a0ccc.entry.js.map +1 -0
  250. package/dist/core/{p-ca8ddad0.entry.js → p-95871655.entry.js} +2 -2
  251. package/dist/core/p-95871655.entry.js.map +1 -0
  252. package/dist/core/p-9adb2a49.entry.js +2 -0
  253. package/dist/core/p-9adb2a49.entry.js.map +1 -0
  254. package/dist/core/p-9c9147fa.entry.js +2 -0
  255. package/dist/core/p-9c9147fa.entry.js.map +1 -0
  256. package/dist/core/p-9f157649.entry.js +2 -0
  257. package/dist/core/p-9f157649.entry.js.map +1 -0
  258. package/dist/core/{p-418a84d4.entry.js → p-a3d903e4.entry.js} +2 -2
  259. package/dist/core/{p-5348af01.entry.js → p-a4088bd7.entry.js} +2 -2
  260. package/dist/core/{p-b53455c3.entry.js → p-a6fb5fe3.entry.js} +2 -2
  261. package/dist/core/{p-5e967ea4.entry.js → p-aabb04c8.entry.js} +2 -2
  262. package/dist/core/{p-3a59391f.entry.js → p-b02ad2c4.entry.js} +2 -2
  263. package/dist/core/{p-77696f7d.entry.js → p-ba353ac3.entry.js} +2 -2
  264. package/dist/core/p-ba353ac3.entry.js.map +1 -0
  265. package/dist/core/{p-ccf72538.entry.js → p-bc24c004.entry.js} +2 -2
  266. package/dist/core/{p-a7331e7c.entry.js → p-c0242c21.entry.js} +2 -2
  267. package/dist/core/{p-21d0dea6.entry.js → p-c1b268fd.entry.js} +2 -2
  268. package/dist/core/{p-99185fd5.entry.js → p-d062a801.entry.js} +2 -2
  269. package/dist/core/p-d062a801.entry.js.map +1 -0
  270. package/dist/core/{p-a72af8db.entry.js → p-d171c71d.entry.js} +2 -2
  271. package/dist/core/p-d1e0479c.entry.js +2 -0
  272. package/dist/core/p-d1e0479c.entry.js.map +1 -0
  273. package/dist/core/{p-9e5c8813.entry.js → p-d2260763.entry.js} +2 -2
  274. package/dist/core/p-d2260763.entry.js.map +1 -0
  275. package/dist/core/p-d8988d8c.entry.js +2 -0
  276. package/dist/core/p-d8988d8c.entry.js.map +1 -0
  277. package/dist/core/p-da506987.js +2 -0
  278. package/dist/core/p-da506987.js.map +1 -0
  279. package/dist/core/p-dd550e9b.entry.js +2 -0
  280. package/dist/core/p-dd550e9b.entry.js.map +1 -0
  281. package/dist/core/p-deedc7d3.entry.js +2 -0
  282. package/dist/core/p-deedc7d3.entry.js.map +1 -0
  283. package/dist/core/p-e447ed5c.entry.js +2 -0
  284. package/dist/core/p-e447ed5c.entry.js.map +1 -0
  285. package/dist/core/p-e7439c1e.entry.js +2 -0
  286. package/dist/core/p-e7439c1e.entry.js.map +1 -0
  287. package/dist/core/p-e7b913e5.entry.js +2 -0
  288. package/dist/core/p-e7b913e5.entry.js.map +1 -0
  289. package/dist/core/{p-67ae9d37.entry.js → p-e85505ec.entry.js} +2 -2
  290. package/dist/core/{p-673a4a62.entry.js → p-f237940d.entry.js} +2 -2
  291. package/dist/core/{p-648fb902.entry.js → p-f4b76daa.entry.js} +2 -2
  292. package/dist/esm/core.js +1 -1
  293. package/dist/esm/{helpers-886489d5.js → helpers-031e266e.js} +17 -2
  294. package/dist/esm/helpers-031e266e.js.map +1 -0
  295. package/dist/esm/{helpers-147b5b73.js → helpers-948df101.js} +23 -3
  296. package/dist/esm/helpers-948df101.js.map +1 -0
  297. package/dist/esm/ic-accordion-group.entry.js +1 -1
  298. package/dist/esm/ic-accordion.entry.js +8 -1
  299. package/dist/esm/ic-accordion.entry.js.map +1 -1
  300. package/dist/esm/ic-alert.entry.js +3 -10
  301. package/dist/esm/ic-alert.entry.js.map +1 -1
  302. package/dist/esm/ic-back-to-top.entry.js +1 -1
  303. package/dist/esm/ic-badge.entry.js +1 -1
  304. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  305. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  306. package/dist/esm/ic-button_3.entry.js +1 -1
  307. package/dist/esm/ic-button_3.entry.js.map +1 -1
  308. package/dist/esm/ic-card-horizontal.entry.js +9 -10
  309. package/dist/esm/ic-card-horizontal.entry.js.map +1 -1
  310. package/dist/esm/ic-card.entry.js +19 -20
  311. package/dist/esm/ic-card.entry.js.map +1 -1
  312. package/dist/esm/ic-checkbox-group.entry.js +5 -1
  313. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  314. package/dist/esm/ic-checkbox.entry.js +5 -1
  315. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  316. package/dist/esm/ic-chip.entry.js +9 -4
  317. package/dist/esm/ic-chip.entry.js.map +1 -1
  318. package/dist/esm/ic-data-row.entry.js +1 -1
  319. package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
  320. package/dist/esm/ic-data-table.entry.js +238 -78
  321. package/dist/esm/ic-data-table.entry.js.map +1 -1
  322. package/dist/esm/ic-date-input.entry.js +6 -1
  323. package/dist/esm/ic-date-input.entry.js.map +1 -1
  324. package/dist/esm/ic-date-picker.entry.js +6 -1
  325. package/dist/esm/ic-date-picker.entry.js.map +1 -1
  326. package/dist/esm/ic-dialog.entry.js +1 -1
  327. package/dist/esm/ic-divider.entry.js +1 -1
  328. package/dist/esm/ic-empty-state_2.entry.js +49 -22
  329. package/dist/esm/ic-empty-state_2.entry.js.map +1 -1
  330. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  331. package/dist/esm/ic-footer-link.entry.js +1 -1
  332. package/dist/esm/ic-footer.entry.js +18 -7
  333. package/dist/esm/ic-footer.entry.js.map +1 -1
  334. package/dist/esm/ic-hero.entry.js +3 -10
  335. package/dist/esm/ic-hero.entry.js.map +1 -1
  336. package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
  337. package/dist/esm/ic-input-component-container_4.entry.js +13 -11
  338. package/dist/esm/ic-input-component-container_4.entry.js.map +1 -1
  339. package/dist/esm/ic-link.entry.js +1 -1
  340. package/dist/esm/ic-menu-group.entry.js +1 -1
  341. package/dist/esm/ic-menu-item.entry.js +7 -1
  342. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  343. package/dist/esm/ic-menu-with-multi.entry.js +1 -1
  344. package/dist/esm/ic-menu.entry.js +2 -2
  345. package/dist/esm/ic-menu.entry.js.map +1 -1
  346. package/dist/esm/ic-navigation-button.entry.js +1 -1
  347. package/dist/esm/ic-navigation-group.entry.js +1 -1
  348. package/dist/esm/ic-navigation-item.entry.js +1 -1
  349. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  350. package/dist/esm/ic-page-header.entry.js +1 -1
  351. package/dist/esm/ic-pagination_4.entry.js +24 -7
  352. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  353. package/dist/esm/ic-popover-menu.entry.js +1 -1
  354. package/dist/esm/ic-radio-group.entry.js +2 -1
  355. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  356. package/dist/esm/ic-radio-option.entry.js +5 -1
  357. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  358. package/dist/esm/ic-search-bar.entry.js +5 -1
  359. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  360. package/dist/esm/ic-select-with-multi.entry.js +1 -1
  361. package/dist/esm/ic-side-navigation.entry.js +1 -1
  362. package/dist/esm/ic-status-tag.entry.js +1 -1
  363. package/dist/esm/ic-step.entry.js +1 -1
  364. package/dist/esm/ic-stepper.entry.js +1 -1
  365. package/dist/esm/ic-switch.entry.js +6 -2
  366. package/dist/esm/ic-switch.entry.js.map +1 -1
  367. package/dist/esm/ic-tab-group.entry.js +1 -1
  368. package/dist/esm/ic-tab.entry.js +5 -2
  369. package/dist/esm/ic-tab.entry.js.map +1 -1
  370. package/dist/esm/ic-theme.entry.js +1 -1
  371. package/dist/esm/ic-toast.entry.js +1 -1
  372. package/dist/esm/ic-toggle-button-group.entry.js +17 -0
  373. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  374. package/dist/esm/ic-toggle-button.entry.js +9 -2
  375. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  376. package/dist/esm/ic-top-navigation.entry.js +2 -2
  377. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  378. package/dist/esm/ic-tree-item.entry.js +10 -10
  379. package/dist/esm/ic-tree-item.entry.js.map +1 -1
  380. package/dist/esm/ic-tree-view.entry.js +3 -10
  381. package/dist/esm/ic-tree-view.entry.js.map +1 -1
  382. package/dist/esm/ic-typography.entry.js +1 -1
  383. package/dist/esm/loader.js +1 -1
  384. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +1 -1
  385. package/dist/types/components/ic-data-table/ic-data-table.d.ts +23 -0
  386. package/dist/types/components/ic-data-table/ic-data-table.types.d.ts +12 -0
  387. package/dist/types/components/ic-data-table/story-data.d.ts +141 -4
  388. package/dist/types/components/ic-date-input/ic-date-input.d.ts +1 -0
  389. package/dist/types/components/ic-date-picker/ic-date-picker.d.ts +1 -0
  390. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +8 -0
  391. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +2 -1
  392. package/dist/types/components/ic-tree-view/ic-tree-view.d.ts +0 -1
  393. package/dist/types/components.d.ts +23 -0
  394. package/dist/types/utils/helpers.d.ts +3 -1
  395. package/dist/types/utils/types.d.ts +1 -0
  396. package/hydrate/index.js +497 -180
  397. package/package.json +3 -10
  398. package/dist/cjs/helpers-093368be.js.map +0 -1
  399. package/dist/cjs/helpers-52ab3835.js.map +0 -1
  400. package/dist/core/p-01bc462e.entry.js +0 -2
  401. package/dist/core/p-01bc462e.entry.js.map +0 -1
  402. package/dist/core/p-0fc36045.entry.js +0 -2
  403. package/dist/core/p-0fc36045.entry.js.map +0 -1
  404. package/dist/core/p-15edd1aa.entry.js +0 -2
  405. package/dist/core/p-15edd1aa.entry.js.map +0 -1
  406. package/dist/core/p-16a48a63.entry.js +0 -2
  407. package/dist/core/p-16a48a63.entry.js.map +0 -1
  408. package/dist/core/p-1c25353c.entry.js +0 -2
  409. package/dist/core/p-1c25353c.entry.js.map +0 -1
  410. package/dist/core/p-213a9f8f.entry.js +0 -2
  411. package/dist/core/p-213a9f8f.entry.js.map +0 -1
  412. package/dist/core/p-383ba7e8.entry.js +0 -2
  413. package/dist/core/p-383ba7e8.entry.js.map +0 -1
  414. package/dist/core/p-41916ef7.entry.js +0 -2
  415. package/dist/core/p-41916ef7.entry.js.map +0 -1
  416. package/dist/core/p-438abe40.entry.js.map +0 -1
  417. package/dist/core/p-43a2cad3.entry.js +0 -2
  418. package/dist/core/p-43a2cad3.entry.js.map +0 -1
  419. package/dist/core/p-4aa6b8a4.entry.js +0 -2
  420. package/dist/core/p-4aa6b8a4.entry.js.map +0 -1
  421. package/dist/core/p-521abb6e.entry.js.map +0 -1
  422. package/dist/core/p-5334bc96.entry.js +0 -2
  423. package/dist/core/p-5334bc96.entry.js.map +0 -1
  424. package/dist/core/p-72446de0.entry.js +0 -2
  425. package/dist/core/p-72446de0.entry.js.map +0 -1
  426. package/dist/core/p-77696f7d.entry.js.map +0 -1
  427. package/dist/core/p-7e5da5eb.entry.js +0 -2
  428. package/dist/core/p-7e5da5eb.entry.js.map +0 -1
  429. package/dist/core/p-7eb980aa.entry.js +0 -2
  430. package/dist/core/p-7eb980aa.entry.js.map +0 -1
  431. package/dist/core/p-8128572e.js +0 -2
  432. package/dist/core/p-8128572e.js.map +0 -1
  433. package/dist/core/p-969cadfa.entry.js.map +0 -1
  434. package/dist/core/p-97f141a6.entry.js +0 -2
  435. package/dist/core/p-97f141a6.entry.js.map +0 -1
  436. package/dist/core/p-99185fd5.entry.js.map +0 -1
  437. package/dist/core/p-9e5c8813.entry.js.map +0 -1
  438. package/dist/core/p-ad1e70c9.entry.js +0 -2
  439. package/dist/core/p-af3d4eba.entry.js +0 -2
  440. package/dist/core/p-af3d4eba.entry.js.map +0 -1
  441. package/dist/core/p-b9d9273f.js +0 -2
  442. package/dist/core/p-b9d9273f.js.map +0 -1
  443. package/dist/core/p-ca8ddad0.entry.js.map +0 -1
  444. package/dist/core/p-cb3afdbf.entry.js +0 -2
  445. package/dist/core/p-cb3afdbf.entry.js.map +0 -1
  446. package/dist/core/p-d56593cc.entry.js +0 -2
  447. package/dist/core/p-d56593cc.entry.js.map +0 -1
  448. package/dist/core/p-db1887ee.entry.js +0 -2
  449. package/dist/core/p-db1887ee.entry.js.map +0 -1
  450. package/dist/core/p-e210f51a.entry.js.map +0 -1
  451. package/dist/core/p-f10f7f37.entry.js.map +0 -1
  452. package/dist/esm/helpers-147b5b73.js.map +0 -1
  453. package/dist/esm/helpers-886489d5.js.map +0 -1
  454. /package/dist/core/{p-56e19b01.entry.js.map → p-0229eb46.entry.js.map} +0 -0
  455. /package/dist/core/{p-8d276e8f.entry.js.map → p-03d83d2c.entry.js.map} +0 -0
  456. /package/dist/core/{p-924548ec.entry.js.map → p-0c7d30f5.entry.js.map} +0 -0
  457. /package/dist/core/{p-f4e57aaf.entry.js.map → p-124279fa.entry.js.map} +0 -0
  458. /package/dist/core/{p-de630a67.entry.js.map → p-29a040ef.entry.js.map} +0 -0
  459. /package/dist/core/{p-2f7e6e38.entry.js.map → p-2b61d283.entry.js.map} +0 -0
  460. /package/dist/core/{p-0a01a7ae.entry.js.map → p-3156304b.entry.js.map} +0 -0
  461. /package/dist/core/{p-6398a726.entry.js.map → p-3169d95e.entry.js.map} +0 -0
  462. /package/dist/core/{p-0180e00a.entry.js.map → p-34de5ffb.entry.js.map} +0 -0
  463. /package/dist/core/{p-c8141cac.entry.js.map → p-3a2523df.entry.js.map} +0 -0
  464. /package/dist/core/{p-789ae7f5.entry.js.map → p-3b1c88ad.entry.js.map} +0 -0
  465. /package/dist/core/{p-6fb3d61e.entry.js.map → p-4f118361.entry.js.map} +0 -0
  466. /package/dist/core/{p-74abc3bb.entry.js.map → p-61ca218b.entry.js.map} +0 -0
  467. /package/dist/core/{p-9922cd00.entry.js.map → p-7565b23c.entry.js.map} +0 -0
  468. /package/dist/core/{p-486a6957.entry.js.map → p-7bba4c47.entry.js.map} +0 -0
  469. /package/dist/core/{p-2d063032.entry.js.map → p-8c2c86b5.entry.js.map} +0 -0
  470. /package/dist/core/{p-9b70d4f8.entry.js.map → p-8ef60479.entry.js.map} +0 -0
  471. /package/dist/core/{p-418a84d4.entry.js.map → p-a3d903e4.entry.js.map} +0 -0
  472. /package/dist/core/{p-5348af01.entry.js.map → p-a4088bd7.entry.js.map} +0 -0
  473. /package/dist/core/{p-b53455c3.entry.js.map → p-a6fb5fe3.entry.js.map} +0 -0
  474. /package/dist/core/{p-5e967ea4.entry.js.map → p-aabb04c8.entry.js.map} +0 -0
  475. /package/dist/core/{p-3a59391f.entry.js.map → p-b02ad2c4.entry.js.map} +0 -0
  476. /package/dist/core/{p-ccf72538.entry.js.map → p-bc24c004.entry.js.map} +0 -0
  477. /package/dist/core/{p-a7331e7c.entry.js.map → p-c0242c21.entry.js.map} +0 -0
  478. /package/dist/core/{p-21d0dea6.entry.js.map → p-c1b268fd.entry.js.map} +0 -0
  479. /package/dist/core/{p-a72af8db.entry.js.map → p-d171c71d.entry.js.map} +0 -0
  480. /package/dist/core/{p-67ae9d37.entry.js.map → p-e85505ec.entry.js.map} +0 -0
  481. /package/dist/core/{p-673a4a62.entry.js.map → p-f237940d.entry.js.map} +0 -0
  482. /package/dist/core/{p-648fb902.entry.js.map → p-f4b76daa.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["icSwitchCss","inputIds","Switch","constructor","hostRef","this","inputId","handleChange","checkedState","icChange","emit","checked","value","onFocus","icFocus","onBlur","icBlur","handleFormReset","initiallyChecked","disabled","helperText","hideLabel","label","undefined","name","showState","size","small","checkedChangeHandler","disconnectedCallback","removeFormResetListener","el","componentWillLoad","addFormResetListener","removeDisabledFalse","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","setFocus","shadowRoot","querySelector","focus","render","renderHiddenInput","describedBy","getInputDescribedByText","h","Host","class","htmlFor","for","readonly","role","type","id","onChange","focusable","viewBox","xmlns","x1","y1","x2","y2","fill","cx","cy","r","variant","delegatesFocus"],"sources":["../web-components/dist/collection/components/ic-switch/ic-switch.css?tag=ic-switch&encapsulation=shadow","../web-components/dist/collection/components/ic-switch/ic-switch.js"],"sourcesContent":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n display: inline-block;\n}\n\ninput {\n overflow: hidden;\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n}\n\n.ic-switch-container {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--ic-space-xxs);\n cursor: pointer;\n}\n\n.ic-switch-label {\n margin-left: var(--ic-space-xxs);\n margin-bottom: var(--ic-space-sm);\n}\n\n.ic-switch-label-small {\n margin-bottom: 0.625rem;\n}\n\n.ic-switch-toggle {\n display: flex;\n align-items: center;\n justify-content: space-around;\n width: 4rem;\n height: var(--ic-space-xl);\n position: relative;\n border-radius: 100vw;\n background-color: var(--ic-architectural-200);\n border: var(--ic-border-width) solid var(--ic-architectural-700);\n box-sizing: border-box;\n transition: var(--ic-transition-duration-fast);\n}\n\n.ic-switch-line-break {\n flex: 1 0 100%;\n}\n\n.ic-switch-checked-status {\n padding-left: var(--ic-space-xxs);\n width: var(--ic-space-lg);\n}\n\n.ic-switch-toggle::before {\n content: \"\";\n width: 1.333rem;\n height: 1.333rem;\n border-radius: 50%;\n position: absolute;\n z-index: 2;\n top: 50%;\n left: 0.333rem;\n transform: translate(0, -50%);\n background-color: var(--ic-architectural-700);\n transition: var(--ic-transition-duration-slow);\n}\n\n.ic-switch-icon {\n display: inline-block;\n vertical-align: middle;\n width: 0.625rem;\n height: 0.625rem;\n}\n\n.ic-switch-icon-circle,\n.ic-switch-icon-line {\n stroke-width: 1;\n}\n\n.ic-switch-icon-circle {\n stroke: var(--ic-architectural-700);\n}\n\n.ic-switch-icon-line {\n stroke: var(--ic-architectural-white);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .ic-switch-toggle::before {\n transition-duration: 0ms;\n }\n}\n\n.ic-switch-input:checked + .ic-switch-toggle {\n background-color: var(--ic-action-default);\n border: none;\n}\n\n.ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(var(--ic-space-xl), -50%);\n background-color: var(--ic-architectural-white);\n}\n\n.ic-switch-input:not([disabled]) + .ic-switch-toggle:hover::before {\n box-shadow: 0 0 0 0.75rem var(--ic-action-dark-bg-hover);\n}\n\n.ic-switch-input:not([disabled]) + .ic-switch-toggle:active::before {\n box-shadow: 0 0 0 0.75rem var(--ic-action-dark-bg-active);\n}\n\n.ic-switch-input:not([disabled]):checked + .ic-switch-toggle:hover::before {\n box-shadow: 0 0 0 0.75rem var(--ic-action-default-bg-hover);\n}\n\n.ic-switch-input:not([disabled]):checked + .ic-switch-toggle:active::before {\n box-shadow: 0 0 0 0.75rem var(--ic-action-default-bg-active);\n}\n\n.ic-switch-input:focus:not([disabled]) + .ic-switch-toggle,\n.ic-switch-input:focus-visible:not([disabled]) + .ic-switch-toggle {\n box-shadow: var(--ic-border-focus);\n}\n\n.ic-switch-disabled {\n cursor: default;\n}\n\n.ic-switch-disabled .ic-switch-icon-circle {\n stroke: var(--ic-architectural-300);\n}\n\n.ic-switch-disabled .ic-switch-icon-line {\n stroke: var(--ic-action-default-bg-active);\n}\n\n.ic-switch-input:disabled + .ic-switch-toggle {\n background-color: var(--ic-architectural-80);\n border: var(--ic-border-disabled);\n}\n\n.ic-switch-input:disabled ~ .ic-switch-checked-status {\n color: var(--ic-architectural-300);\n}\n\n.ic-switch-input:disabled + .ic-switch-toggle::before {\n background-color: var(--ic-architectural-300);\n}\n\n.ic-switch-input:disabled:checked + .ic-switch-toggle {\n background-color: var(--ic-status-info-light);\n border: var(--ic-border-width) dashed #98c9f5;\n}\n\n.ic-switch-input:disabled:checked + .ic-switch-toggle::before {\n background-color: var(--ic-architectural-white);\n}\n\n.ic-switch-small {\n gap: var(--ic-space-xxxs);\n}\n\n.ic-switch-small .ic-switch-checked-status {\n padding-left: 0.375rem;\n}\n\n.ic-switch-small .ic-switch-toggle {\n width: var(--ic-space-xxl);\n height: var(--ic-space-lg);\n}\n\n.ic-switch-small .ic-switch-toggle::before {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n left: var(--ic-space-xxs);\n}\n\n.ic-switch-small .ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(var(--ic-space-lg), -50%);\n}\n\n::slotted(*) {\n margin-left: var(--ic-space-sm);\n}\n\n::slotted(svg) {\n fill: currentcolor;\n}\n\n@media (forced-colors: active) {\n .ic-switch-toggle::before,\n .ic-switch-input:checked + .ic-switch-toggle {\n border: var(--ic-hc-border);\n }\n\n .ic-switch-input:focus + .ic-switch-toggle {\n border-color: highlight;\n outline: 0.125rem solid highlight;\n }\n\n .ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(calc(var(--ic-space-xl) - 0.125rem), -50%);\n }\n\n .ic-switch-input:disabled + .ic-switch-toggle,\n .ic-switch-input:disabled:checked + .ic-switch-toggle,\n .ic-switch-input:disabled + .ic-switch-toggle::before {\n border-color: GrayText;\n }\n\n .ic-switch-input:disabled ~ .ic-switch-checked-status {\n color: GrayText;\n }\n\n .ic-switch-disabled .ic-switch-icon-circle,\n .ic-switch-disabled .ic-switch-icon-line {\n stroke: GrayText;\n }\n}\n\n/* Add back in after storybook has the `color-scheme: light dark` code */\n\n/* @media (prefers-color-scheme: dark) and (not (forced-colors: active)) {\n .ic-switch-label .ic-typography-label,\n ic-input-label .helpertext,\n .ic-switch-checked-status {\n color: var(--ic-architectural-white);\n }\n} */\n","import { Host, h, } from \"@stencil/core\";\nimport { getInputDescribedByText, onComponentRequiredPropUndefined, renderHiddenInput, addFormResetListener, removeFormResetListener, removeDisabledFalse, } from \"../../utils/helpers\";\nlet inputIds = 0;\n/**\n * @slot right-adornment - Content is placed to the right of switch before state label.\n */\nexport class Switch {\n constructor() {\n this.inputId = `ic-switch-input-${inputIds++}`;\n this.handleChange = () => {\n this.checkedState = !this.checkedState;\n this.icChange.emit({\n checked: this.checkedState,\n value: this.value,\n });\n };\n this.onFocus = () => {\n this.icFocus.emit();\n };\n this.onBlur = () => {\n this.icBlur.emit();\n };\n this.handleFormReset = () => {\n this.checkedState = this.initiallyChecked;\n };\n this.checkedState = false;\n this.initiallyChecked = this.checked;\n this.checked = false;\n this.disabled = false;\n this.helperText = \"\";\n this.hideLabel = false;\n this.label = undefined;\n this.name = this.inputId;\n this.showState = false;\n this.size = \"default\";\n this.small = false;\n this.value = \"on\";\n }\n checkedChangeHandler() {\n this.checkedState = this.checked;\n }\n disconnectedCallback() {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n componentWillLoad() {\n this.checkedState = this.checked;\n addFormResetListener(this.el, this.handleFormReset);\n removeDisabledFalse(this.disabled, this.el);\n }\n componentDidLoad() {\n onComponentRequiredPropUndefined([{ prop: this.label, propName: \"label\" }], \"Switch\");\n }\n /**\n * Sets focus on the switch.\n */\n async setFocus() {\n if (this.el.shadowRoot.querySelector(\"input\")) {\n this.el.shadowRoot.querySelector(\"input\").focus();\n }\n }\n render() {\n const { label, checkedState, small, size, disabled, name, showState, value, hideLabel, helperText, inputId, } = this;\n renderHiddenInput(true, this.el, name, checkedState ? value : \"\", disabled);\n const describedBy = getInputDescribedByText(inputId, helperText !== \"\", false);\n return (h(Host, null, h(\"label\", { class: {\n [\"ic-switch-container\"]: true,\n [\"ic-switch-disabled\"]: disabled,\n [\"ic-switch-small\"]: small || size === \"small\",\n }, htmlFor: inputId }, !hideLabel && (h(\"ic-input-label\", { for: inputId, label: label, helperText: helperText, readonly: true, disabled: disabled, class: {\n [\"ic-switch-label\"]: true,\n [\"ic-switch-label-small\"]: small || size === \"small\",\n } })), !hideLabel && h(\"span\", { class: \"ic-switch-line-break\" }), h(\"input\", { checked: checkedState, disabled: disabled, \"aria-label\": label, \"aria-checked\": checkedState ? \"true\" : \"false\", \"aria-describedby\": describedBy, role: \"switch\", class: \"ic-switch-input\", type: \"checkbox\", name: \"toggle\", id: inputId, onFocus: this.onFocus, onBlur: this.onBlur, onChange: this.handleChange }), h(\"span\", { class: \"ic-switch-toggle\" }, h(\"svg\", { class: \"ic-switch-icon\", \"aria-hidden\": \"true\", focusable: \"false\", viewBox: \"0 0 10 10\", xmlns: \"http://www.w3.org/2000/svg\" }, h(\"line\", { class: \"ic-switch-icon-line\", x1: \"9\", y1: small || size === \"small\" ? \"2\" : \"1\", x2: \"9\", y2: small || size === \"small\" ? \"8\" : \"9\" })), h(\"svg\", { class: \"ic-switch-icon\", \"aria-hidden\": \"true\", focusable: \"false\", viewBox: \"0 0 10 10\", xmlns: \"http://www.w3.org/2000/svg\" }, h(\"circle\", { class: \"ic-switch-icon-circle\", fill: \"none\", cx: \"5\", cy: \"5\", r: small || size === \"small\" ? \"3.335\" : \"4.445\" }))), h(\"slot\", { name: \"right-adornment\" }), showState && (h(\"ic-typography\", { \"aria-hidden\": \"true\", variant: \"label\", class: \"ic-switch-checked-status\" }, checkedState ? \"On\" : \"Off\")))));\n }\n static get is() { return \"ic-switch\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ic-switch.css\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ic-switch.css\"]\n };\n }\n static get properties() {\n return {\n \"checked\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the switch will display as checked.\"\n },\n \"attribute\": \"checked\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the disabled state will be set.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"helperText\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The helper text that will be displayed for additional field guidance.\"\n },\n \"attribute\": \"helper-text\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"\\\"\"\n },\n \"hideLabel\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the label will be hidden and the required label value will be applied as an aria-label.\"\n },\n \"attribute\": \"hide-label\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": true,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The aria-label applied to the switch when no visual 'name' is provided.\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"name\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The name of the control, which is submitted with the form data.\"\n },\n \"attribute\": \"name\",\n \"reflect\": false,\n \"defaultValue\": \"this.inputId\"\n },\n \"showState\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If `true`, the switch will render the On/Off state text.\"\n },\n \"attribute\": \"show-state\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"size\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IcSizesNoLarge\",\n \"resolved\": \"\\\"default\\\" | \\\"small\\\"\",\n \"references\": {\n \"IcSizesNoLarge\": {\n \"location\": \"import\",\n \"path\": \"../../utils/types\",\n \"id\": \"src/utils/types.ts::IcSizesNoLarge\"\n }\n }\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The size of the switch component.\"\n },\n \"attribute\": \"size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"default\\\"\"\n },\n \"small\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [{\n \"name\": \"deprecated\",\n \"text\": \"This prop should not be used anymore. Set prop `size` to \\\"small\\\" instead.\"\n }],\n \"text\": \"\"\n },\n \"attribute\": \"small\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"value\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string | null\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The value of the toggle does not mean if it's checked or not, use the `checked`\\nproperty for that.\\n\\nThe value of a toggle is analogous to the value of a `<input type=\\\"checkbox\\\">`,\\nit's only used when the toggle participates in a native `<form>`.\"\n },\n \"attribute\": \"value\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"on\\\"\"\n }\n };\n }\n static get states() {\n return {\n \"checkedState\": {},\n \"initiallyChecked\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"icBlur\",\n \"name\": \"icBlur\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the toggle loses focus.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }, {\n \"method\": \"icChange\",\n \"name\": \"icChange\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the value property has changed.\"\n },\n \"complexType\": {\n \"original\": \"IcSwitchChangeEventDetail\",\n \"resolved\": \"IcSwitchChangeEventDetail\",\n \"references\": {\n \"IcSwitchChangeEventDetail\": {\n \"location\": \"import\",\n \"path\": \"./ic-switch.types\",\n \"id\": \"src/components/ic-switch/ic-switch.types.ts::IcSwitchChangeEventDetail\"\n }\n }\n }\n }, {\n \"method\": \"icFocus\",\n \"name\": \"icFocus\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the toggle has focus.\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\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 switch.\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"checked\",\n \"methodName\": \"checkedChangeHandler\"\n }];\n }\n}\n//# sourceMappingURL=ic-switch.js.map\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as s,H as e,g as h}from"./p-8455d1bb.js";import{m as a,n,q as l,t as o,u as r,r as c,v as d,o as u,w as p,x as f,y as b,I as v,z as m,A as g,B as w}from"./p-b9d9273f.js";const x=`<svg viewBox="0 0 24 24" xmlns="http://www.w3.org/2000/svg">\n<path d="M7 9.5L12 14.5L17 9.5H7Z" fill="currentColor" />\n</svg>\n`;const y=`<svg width="16" height="16" viewBox="0 0 16 16" xmlns="http://www.w3.org/2000/svg">\n<path d="M12.6666 4.27334L11.7266 3.33334L7.99998 7.06001L4.27331 3.33334L3.33331 4.27334L7.05998 8.00001L3.33331 11.7267L4.27331 12.6667L7.99998 8.94001L11.7266 12.6667L12.6666 11.7267L8.93998 8.00001L12.6666 4.27334Z" fill="currentColor" />\n</svg>\n`;const k='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;position:relative;--menu-max-height:100px}:host(.full-width){width:100%}ic-input-component-container:hover{--border-color:var(--ic-action-dark-hover)}ic-input-component-container:active{--border-color:var(--ic-action-dark-active);color:var(--ic-action-dark-active)}ic-input-component-container.menu-open{--border-color:var(--ic-architectural-400);color:var(--ic-action-dark)}ic-input-validation .status-icon,ic-input-validation .statustext{visibility:visible}ic-input-validation.menu-open .status-icon,ic-input-validation.menu-open .statustext{visibility:hidden;transition:visibility 0s}ic-input-label{margin-bottom:var(--ic-space-xs) !important}select{border:0;border-radius:var(--ic-border-radius);background-color:var(--ic-architectural-white);color:var(--ic-color-primary-text);line-height:1.5rem;letter-spacing:0.005rem;width:100%;height:100%;padding-left:0.375rem;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-repeat:no-repeat;background-position:right 0.375rem center;background-image:url("data:image/svg+xml;utf8,<svg fill=\'black\' height=\'24\' viewBox=\'0 0 24 24\' width=\'24\' xmlns=\'http://www.w3.org/2000/svg\'><path d=\'M7 10l5 5 5-5z\'/><path d=\'M0 0h24v24H0z\' fill=\'none\'/></svg>")}select option,.select-option-selected{color:var(--ic-color-primary-text)}select:disabled{color:var(--ic-architectural-200);background-image:url("data:image/svg+xml;utf8,<svg fill=\'grey\' height=\'24\' viewBox=\'0 0 24 24\' width=\'24\' xmlns=\'http://www.w3.org/2000/svg\'><path d=\'M7 10l5 5 5-5z\'/><path d=\'M0 0h24v24H0z\' fill=\'none\'/></svg>")}select:focus{border:0;outline:0}select:not([disabled]){cursor:pointer}.select-container{width:100%;display:flex;align-items:center;position:relative}.select-input{width:100%;height:100%;padding:0 0.375rem;display:flex;cursor:pointer;align-items:center;justify-content:space-between;background:none;border:none}.select-input:focus{outline:var(--ic-hc-focus-outline)}:host(:not(.disabled)) ic-input-component-container:hover .select-input{background-color:var(--ic-architectural-white)}.select-input[disabled]{pointer-events:none}:host(.searchable) .select-input{cursor:auto}.select-input.with-clear-button{padding-right:0}.value-text{max-width:calc(100% - (var(--ic-space-lg) + var(--ic-space-xxs)));box-sizing:border-box}.value-text.with-clear-button{padding-right:calc(var(--ic-space-xl) + var(--ic-space-xs))}.value-text p{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;margin-bottom:0 !important}.searchable-select-container{align-items:center;display:flex;width:100%;position:relative}.expand-icon{height:var(--ic-space-lg);padding-left:var(--ic-space-xxs);color:var(--ic-action-dark)}.expand-icon>svg{display:inline-block;width:var(--ic-space-lg);height:var(--ic-space-lg)}:host(.disabled) .expand-icon,:host(.disabled) .expand-icon>svg>path{color:var(--ic-architectural-200)}:host(.searchable) .expand-icon{padding-left:0;height:2.25rem}:host(.searchable) .expand-icon>svg{height:2.25rem;padding:0 0.375rem}:host(.searchable:not(.disabled)) .expand-icon>svg{cursor:pointer}.expand-icon-open{color:var(--ic-action-dark)}.expand-icon-open,:host(.searchable) .expand-icon-open{transform:rotateX(180deg)}:host(.disabled) .value-text,.placeholder{color:var(--ic-color-tertiary-text)}.select-input-end{display:flex;align-items:center}.clear-button-container{display:flex}.divider{width:var(--ic-space-1px);background-color:var(--ic-architectural-400);margin:var(--ic-space-xxs) 0;border-radius:var(--ic-space-1px);height:var(--ic-space-lg)}:host(.small) .divider{height:var(--ic-space-md)}:host(.large) .divider{height:var(--ic-space-xl)}.clear-button{position:absolute;right:calc(var(--ic-space-xl) + var(--ic-space-xxs));border-radius:var(--ic-border-radius);transition:box-shadow var(--ic-easing-transition),\n border-radius var(--ic-easing-transition)}.clear-button:focus{background-color:var(--ic-focus-blue);box-shadow:inset 0 0 0 0.125rem var(--ic-focus-glow);border-radius:0.25rem}.clear-button:focus *{fill:white}.clear-button.searchable{position:static}.searchable-select-results-status,.multi-select-selected-count{border:0;clip:rect(0, 0, 0, 0, 0);height:var(--ic-space-1px);overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:var(--ic-space-1px)}';let z=0;const L=class{constructor(s){t(this,s);this.icBlur=i(this,"icBlur",7);this.icChange=i(this,"icChange",7);this.icClear=i(this,"icClear",7);this.icFocus=i(this,"icFocus",7);this.icInput=i(this,"icInput",7);this.icOptionSelect=i(this,"icOptionSelect",7);this.icOptionDeselect=i(this,"icOptionDeselect",7);this.icRetryLoad=i(this,"icRetryLoad",7);this.hasSetDefaultValue=false;this.inheritedAttributes={};this.initialOptionsEmpty=false;this.inputId=`ic-select-input-${z++}`;this.menuId=`${this.inputId}-menu`;this.searchableMenuItemSelected=false;this.ungroupedOptions=[];this.handleRetry=t=>{var i;if(t.detail.keyPressed)(i=this.searchableSelectElement)===null||i===void 0?void 0:i.focus();this.blurredBecauseButtonPressed=true;this.retryButtonClick=true;this.hasSetDefaultValue=true;this.icRetryLoad.emit({value:this.hiddenInputValue})};this.emitIcChange=t=>{if(!this.searchable){if(this.multiple&&!Array.isArray(t)&&t!==null){this.handleMultipleSelectChange(t)}else{this.value=t}}clearTimeout(this.debounceIcChange);this.debounceIcChange=window.setTimeout((()=>{const i=this.multiple?this.value:t;this.icChange.emit({value:i})}),this.currDebounce)};this.emitImmediateIcChange=t=>{this.value=t;clearTimeout(this.debounceIcChange);this.icChange.emit({value:t})};this.deduplicateOptions=t=>{const i=[];const s=[];let e;t.forEach((t=>{if(t.children){e=[];t.children.forEach((t=>{if(i.includes(t.value)){console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${t.value}) which has been removed.`)}else{i.push(t.value);e.push(t)}}));const h=Object.assign(Object.assign({},t),{children:e});s.push(h)}else{if(i.includes(t.value)){console.warn(`ic-select with label ${this.label} was populated with duplicate option (value: ${t.value}) which has been removed.`)}else{i.push(t.value);s.push(t)}}}));return s};this.setOptionsValuesFromLabels=()=>{if(this.options.length>0&&this.options.map){this.options.map((t=>{if(!t.value){t.value=t.label}}))}};this.setUngroupedOptions=t=>{this.ungroupedOptions=t.detail.options};this.setTextColor=()=>{if(this.nativeSelectElement.selectedIndex===0){this.nativeSelectElement.className="placeholder"}else{this.nativeSelectElement.className="select-option-selected"}};this.setMenuChange=t=>{if(this.open!==t){this.open=t}};this.getLabelFromValue=t=>a(t,this.uniqueOptions);this.getMultipleOptionsString=t=>{const i=t===null||t===void 0?void 0:t.map((t=>this.getLabelFromValue(t)));return i===null||i===void 0?void 0:i.join(", ")};this.getFilteredChildMenuOptions=t=>{let i=t.children;if(this.searchable){i=n(t.children,this.includeDescriptionsInSearch,this.searchableSelectInputValue,this.searchMatchPosition)}else{i=n(t.children,false,this.pressedCharacters,"start")}const s=Object.assign({},t);s.children=i;return s};this.getValueSortedByOptions=t=>{const i=t;const s=this.ungroupedOptions.map((t=>t.value));i.sort(((t,i)=>s.indexOf(t)-s.indexOf(i)));return i};this.handleNativeSelectChange=()=>{this.icOptionSelect.emit({value:this.nativeSelectElement.value});this.emitImmediateIcChange(this.nativeSelectElement.value);this.setTextColor()};this.handleCustomSelectChange=t=>{var i;const s=t.detail.value;if(this.searchable&&t.detail.label===this.emptyOptionListText){this.searchableSelectElement.focus();return}if(this.searchable){this.value=s;this.searchableMenuItemSelected=true;if(this.value===this.currValue){this.searchableSelectInputValue=this.getLabelFromValue(this.value)}this.inputValueToFilter=null;this.hiddenInputValue=this.getValueFromLabel(this.searchableSelectInputValue)}if(this.multiple&&((i=this.value)===null||i===void 0?void 0:i.includes(s))){this.icOptionDeselect.emit({value:s})}else{this.icOptionSelect.emit({value:s})}this.ariaActiveDescendant=t.detail.optionId;this.emitIcChange(s)};this.handleMultipleSelectChange=t=>{if(this.value){let i=this.value.slice();if(this.value.includes(t)){const s=i.indexOf(t);i.splice(s,1)}else{i.push(t);i=this.getValueSortedByOptions(i)}this.value=i.length===0?null:i}else{const i=[];i.push(t);this.value=i}};this.handleSelectAllChange=t=>{const i=t.detail.select;const s=this.ungroupedOptions.filter((t=>!t.disabled));const e=s.map((t=>t.value));let h;if(i){let t;if(this.value){t=e.filter((t=>this.value&&!this.value.includes(t)))}else{t=e}t.forEach((t=>this.icOptionSelect.emit({value:t})));h=e}else{this.value.forEach((t=>this.icOptionDeselect.emit({value:t})));h=null}this.emitIcChange(h)};this.handleMenuChange=t=>{this.open=t.detail.open;this.pressedCharacters="";this.searchable&&this.handleFocusIndicatorDisplay()};this.handleMenuKeyPress=t=>{t.cancelBubble=true;if(!this.multiple){this.handleCharacterKeyDown(t.detail.key)}};this.handleFocusIndicatorDisplay=()=>{const t=this.el.shadowRoot.querySelector(".focus-indicator");if(this.open){t.classList.add("focus-indicator-enabled")}else{t.classList.remove("focus-indicator-enabled")}};this.handleMouseDown=t=>{if(!this.open){t.preventDefault()}};this.isExternalFiltering=()=>this.searchable&&this.disableFilter;this.handleClick=t=>{var i;if(!this.open){if(this.isExternalFiltering()){this.menu.options=this.filteredOptions}else if(!this.hasTimedOut&&!this.loading&&!((i=this.noOptions)===null||i===void 0?void 0:i.length)&&(!this.searchable||this.searchableMenuItemSelected)){this.noOptions=null;this.menu.options=this.uniqueOptions}}if(t.detail!==0){this.menu.handleClickOpen()}};this.handleExpandIconMouseDown=t=>{if(!this.disabled){t.preventDefault();this.searchableSelectElement.focus();this.handleClick(t)}};this.handleClear=t=>{t.stopPropagation();this.hasTimedOut=false;clearTimeout(this.timeoutTimer);this.noOptions=null;this.emitImmediateIcChange(null);this.icClear.emit();if(this.searchable){this.searchableSelectElement.value=null;this.searchableSelectInputValue=null;this.filteredOptions=this.uniqueOptions;this.hiddenInputValue=null;this.searchableSelectElement.focus()}else{this.customSelectElement.focus()}};this.handleCharacterKeyDown=t=>{if(this.open&&t===" "&&this.pressedCharacters.length===0&&!this.hasTimedOut&&!this.loading){this.setMenuChange(false)}if(t.length===1&&!this.searchable){window.clearTimeout(this.characterKeyPressTimer);this.characterKeyPressTimer=window.setTimeout((()=>this.pressedCharacters=""),1e3);if(!(t===" "&&!this.pressedCharacters)){this.pressedCharacters+=t;this.handleFilter();if(!this.noOptions){this.emitImmediateIcChange(this.filteredOptions[0].value)}}}else{this.pressedCharacters=""}};this.handleNativeSelectKeyDown=t=>{if(t.key!=="Escape"&&t.key!=="Tab"||this.open){t.cancelBubble=true}this.handleCharacterKeyDown(t.key)};this.handleKeyDown=t=>{if(t.key!=="Escape"&&t.key!=="Tab"||this.open){t.cancelBubble=true}const i=t.key==="ArrowDown"||t.key==="ArrowUp";if(!this.open){if(this.isExternalFiltering()&&(t.key==="Enter"||i)){this.menu.options=this.filteredOptions}else{if(!this.hasTimedOut){this.noOptions=null;this.menu.options=this.uniqueOptions}}}if(this.open&&t.key==="Enter"){this.setMenuChange(false)}else{if(!(i&&this.noOptions!==null)){if(!(t.key===" "&&this.pressedCharacters.length>0)){this.menu.handleKeyboardOpen(t)}if(!this.multiple){this.handleCharacterKeyDown(t.key)}}}};this.handleClearButtonFocus=()=>{this.clearButtonFocused=true};this.handleClearButtonBlur=t=>{var i;const s=(i=this.menu)===null||i===void 0?void 0:i.querySelector("#retry-button");if(!(this.searchableSelectElement&&t.relatedTarget===this.searchableSelectElement)&&!(s&&t.relatedTarget===s)){this.setMenuChange(false);this.handleFocusIndicatorDisplay()}this.clearButtonFocused=false};this.handleFilter=()=>{var t;const i=this.deduplicateOptions(this.searchable?[...this.uniqueOptions]:this.ungroupedOptions);let s=false;let e=[];i.map((t=>{if(t.children)s=true}));let h;if(this.searchable){h=n(i,this.includeDescriptionsInSearch,this.inputValueToFilter,this.searchMatchPosition);this.searchableMenuItemSelected=false}else{h=n(i,false,this.pressedCharacters,"start")}if(!s&&((t=h[0])===null||t===void 0?void 0:t.label)!==this.emptyOptionListText){e=h}else if(s){i.map((t=>{if(this.includeGroupTitlesInSearch){if(h.indexOf(t)!==-1){e.push(t)}else{e.push(this.getFilteredChildMenuOptions(t))}}else{e.push(this.getFilteredChildMenuOptions(t))}}))}let a=false;if(s){a=true;e.map((t=>{if(t.children.length>0){a=false}}))}if(e.length>0&&!a){this.noOptions=null;this.filteredOptions=e}else{this.noOptions=[{label:this.emptyOptionListText,value:""}];this.filteredOptions=this.noOptions}};this.triggerLoading=()=>{this.hasTimedOut=false;this.noOptions=[{label:this.loadingLabel,value:"",loading:true}];if(this.filteredOptions!==this.noOptions&&this.searchable){this.filteredOptions=this.noOptions}else if(this.uniqueOptions!==this.noOptions&&!this.searchable){this.uniqueOptions=this.noOptions}if(this.timeout){this.timeoutTimer=window.setTimeout((()=>{this.loading=false;this.hasTimedOut=true;this.noOptions=[{label:this.loadingErrorLabel,value:"",timedOut:true}];this.filteredOptions=this.noOptions;if(!this.searchable)this.uniqueOptions=this.noOptions}),this.timeout)}};this.getValueFromLabel=t=>{var i;return(i=this.uniqueOptions.find((i=>i.label===t)))===null||i===void 0?void 0:i.value};this.handleSearchableSelectInput=t=>{this.searchableSelectInputValue=t.target.value;this.icInput.emit({value:this.searchableSelectInputValue});this.emitIcChange(this.searchableSelectInputValue);this.hiddenInputValue=this.searchableSelectInputValue;this.inputValueToFilter=this.searchableSelectInputValue;this.setMenuChange(true);if(!this.disableFilter){this.handleFilter();this.debounceAriaLiveUpdate()}};this.updateSearchableSelectResultAriaLive=()=>{const t=this.el.shadowRoot.querySelector(".searchable-select-results-status");if(t){if(this.noOptions!==null){t.innerText=this.emptyOptionListText}else{t.innerText=""}}};this.updateMultiSelectedCountAriaLive=()=>{var t;const i=this.el.shadowRoot.querySelector(".multi-select-selected-count");const s=`${(t=this.currValue)===null||t===void 0?void 0:t.length} of ${l(this.options)} selected`;if(i&&i.innerText!==s){i.innerText=s}};this.getDefaultValue=t=>this.getLabelFromValue(t)||t||null;this.setDefaultValue=()=>{if(!this.hasSetDefaultValue&&this.currValue){this.searchableSelectInputValue=this.searchable&&this.getDefaultValue(this.currValue);this.initialValue=this.currValue;this.hasSetDefaultValue=true}};this.onFocus=()=>{this.icFocus.emit()};this.onBlur=t=>{var i;const s=t.relatedTarget;if(s!==null&&s.tagName==="UL"&&s.className.includes("menu")){return}const e=(i=this.menu)===null||i===void 0?void 0:i.querySelector("#retry-button");const h=this.searchable&&t.relatedTarget!==this.menu&&!Array.from(this.menu.querySelectorAll("[role='option']")).includes(t.relatedTarget)&&!(this.clearButton&&t.relatedTarget===this.clearButton)&&!(e&&t.relatedTarget===e);if(h){if(!this.retryButtonClick){this.setMenuChange(false)}this.handleFocusIndicatorDisplay()}this.retryButtonClick=false;this.icBlur.emit()};this.onTimeoutBlur=t=>{if(t.detail.ev.relatedTarget!==this.searchableSelectElement&&!this.blurredBecauseButtonPressed){this.setMenuChange(false);this.handleFocusIndicatorDisplay();this.icBlur.emit()}this.blurredBecauseButtonPressed=false};this.handleFormReset=()=>{this.value=this.initialValue;if(this.searchable){this.searchableSelectInputValue=this.getDefaultValue(this.value);this.hiddenInputValue=this.value}};this.ariaActiveDescendant=undefined;this.clearButtonFocused=false;this.debounceIcChange=undefined;this.hiddenInputValue=undefined;this.noOptions=null;this.open=false;this.pressedCharacters="";this.searchableSelectInputValue=null;this.charactersUntilSuggestions=0;this.disabled=false;this.disableFilter=false;this.emptyOptionListText="No results found";this.form=undefined;this.formaction=undefined;this.formenctype=undefined;this.formmethod=undefined;this.formnovalidate=undefined;this.formtarget=undefined;this.fullWidth=false;this.helperText="";this.hideLabel=false;this.includeDescriptionsInSearch=false;this.includeGroupTitlesInSearch=false;this.label=undefined;this.loadingErrorLabel="Loading Error";this.loadingLabel="Loading...";this.multiple=false;this.name=this.inputId;this.placeholder="Select an option";this.readonly=false;this.required=false;this.searchable=false;this.searchMatchPosition="anywhere";this.selectOnEnter=false;this.showClearButton=false;this.size="default";this.small=false;this.timeout=undefined;this.validationStatus="";this.validationText="";this.loading=false;this.options=[];this.filteredOptions=this.options;this.uniqueOptions=this.options;this.debounce=0;this.currDebounce=this.debounce;this.value=undefined;this.initialValue=this.value;this.inputValueToFilter=this.value;this.currValue=this.value}loadingHandler(t){t&&this.triggerLoading()}watchOptionsHandler(){if(!this.hasTimedOut&&this.options!==this.noOptions){this.loading=false;clearTimeout(this.timeoutTimer);if(this.isExternalFiltering()){if(this.options.length>0){this.setOptionsValuesFromLabels();this.noOptions=null;this.uniqueOptions=this.deduplicateOptions(this.options);this.filteredOptions=this.uniqueOptions}else{this.noOptions=[{label:this.emptyOptionListText,value:""}];this.uniqueOptions=this.noOptions;this.filteredOptions=this.noOptions}this.updateSearchableSelectResultAriaLive();this.setDefaultValue()}else{this.setOptionsValuesFromLabels();this.uniqueOptions=this.deduplicateOptions(this.options);this.filteredOptions=this.uniqueOptions;if(this.initialOptionsEmpty){this.setDefaultValue();this.initialOptionsEmpty=false}}}else{if(!this.searchable)this.options=this.noOptions}}debounceChangedHandler(t){this.updateOnChangeDebounce(t)}valueChangedHandler(){if(this.value!==this.currValue){if(this.value&&this.multiple){this.currValue=this.getValueSortedByOptions(this.value);this.updateMultiSelectedCountAriaLive()}else{this.currValue=this.value}}if(this.searchable){this.searchableSelectInputValue=this.getLabelFromValue(this.currValue)||this.currValue}}disconnectedCallback(){o(this.el,this.handleFormReset)}componentWillLoad(){this.inheritedAttributes=r(this.el,[...g,"tabindex","title"]);c(this.disabled,this.el);this.setOptionsValuesFromLabels();d(this.el,this.handleFormReset);if(!this.options.length){this.initialOptionsEmpty=true;this.noOptions=[{label:this.emptyOptionListText,value:""}];this.uniqueOptions=this.noOptions;this.filteredOptions=this.noOptions}else{this.setDefaultValue();this.uniqueOptions=this.deduplicateOptions(this.options)}}componentDidLoad(){u([{prop:this.label,propName:"label"}],"Select");if(this.loading){this.triggerLoading()}this.hiddenInputValue=this.searchable&&this.currValue}componentDidRender(){if(this.nativeSelectElement&&!this.disabled){this.setTextColor()}}async setFocus(){if(this.nativeSelectElement){this.nativeSelectElement.focus()}else if(this.customSelectElement){this.customSelectElement.focus()}else if(this.searchableSelectElement){this.searchableSelectElement.focus()}}updateOnChangeDebounce(t){if(this.currDebounce!==t){this.currDebounce=t}}debounceAriaLiveUpdate(){clearTimeout(this.debounceAria);window.setTimeout((()=>{this.updateSearchableSelectResultAriaLive()}),800)}render(){const{size:t,small:i,disabled:h,fullWidth:a,helperText:n,hideLabel:o,label:r,menuId:c,multiple:d,name:u,options:g,placeholder:k,readonly:z,required:L,searchable:C,showClearButton:M,validationStatus:T,validationText:B,currValue:H}=this;p(true,this.el,u,this.searchable?this.hiddenInputValue:H,h);const O=T===w.Error?"true":"false";const $=f(this.inputId,n!=="",m(this.validationStatus,this.disabled)).trim();const D=`${H===null||H===void 0?void 0:H.length} of ${l(this.options)} selected`;return s(e,{class:{disabled:h,searchable:C,small:i,[t]:t!=="default","full-width":a},onBlur:this.onBlur},s("ic-input-container",{readonly:z},!o&&s("ic-input-label",{for:this.inputId,label:r,helperText:n,required:L,disabled:h,readonly:z}),s("ic-input-component-container",{ref:t=>this.anchorEl=t,class:{"menu-open":this.open},small:i,size:t,fullWidth:a,disabled:h,readonly:z,validationStatus:T},z?s("ic-typography",null,s("p",null,d?this.getMultipleOptionsString(H):this.getLabelFromValue(H))):b()&&!d?s("select",Object.assign({ref:t=>this.nativeSelectElement=t,disabled:h,onChange:this.handleNativeSelectChange,required:L,id:this.inputId,"aria-label":r,"aria-describedby":$,"aria-invalid":O,onBlur:this.onBlur,onFocus:this.onFocus,onKeyDown:this.handleNativeSelectKeyDown,form:this.form},this.inheritedAttributes),s("option",{value:"",selected:true,disabled:!M},k),g.map((t=>{if(t.children){return s("optgroup",{label:t.label},t.children.map((t=>s("option",{value:t.value,disabled:t.disabled,selected:t.value===H},t.label))))}else{return s("option",{value:t.value,disabled:t.disabled,selected:t.value===H},t.label)}}))):C?s("div",{class:"searchable-select-container"},s("input",{class:{"select-input":true,"with-clear-button":!!this.searchableSelectInputValue},role:"combobox",autocomplete:"off","aria-label":r,"aria-describedby":$,"aria-activedescendant":this.ariaActiveDescendant,"aria-autocomplete":"list","aria-expanded":this.open?"true":"false","aria-invalid":O,"aria-required":L?"true":"false","aria-controls":c,ref:t=>this.searchableSelectElement=t,id:this.inputId,value:this.searchableSelectInputValue,placeholder:k,disabled:h,onInput:this.handleSearchableSelectInput,onClick:this.handleClick,onKeyDown:this.handleKeyDown,onFocus:this.onFocus,onBlur:this.onBlur,form:this.form,formaction:this.formaction,formenctype:this.formenctype,formmethod:this.formmethod,formnovalidate:this.formnovalidate,formtarget:this.formtarget}),this.searchableSelectInputValue&&(M||C)&&s("div",{class:"clear-button-container"},s("ic-button",{id:"clear-button",ref:t=>this.clearButton=t,"aria-label":this.searchableSelectInputValue&&H===null?"Clear input":"Clear selection",class:"clear-button",innerHTML:y,onClick:this.handleClear,onFocus:this.handleClearButtonFocus,onBlur:this.handleClearButtonBlur,size:t,variant:"icon",appearance:this.clearButtonFocused?v.Light:v.Dark}),s("div",{class:"divider"})),s("span",{onMouseDown:this.handleExpandIconMouseDown,class:{"expand-icon":true,"expand-icon-open":this.open},innerHTML:x,"aria-hidden":"true"}),s("div",{"aria-live":"polite",role:"status",class:"searchable-select-results-status"})):s("div",{class:"select-container"},s("button",{class:"select-input",ref:t=>this.customSelectElement=t,id:this.inputId,"aria-label":`${r}, ${(d&&H?`${D}, ${this.getMultipleOptionsString(H)}`:this.getLabelFromValue(H))||k}${L?", required":""}`,"aria-describedby":$,"aria-invalid":O,"aria-haspopup":"listbox","aria-expanded":this.open?"true":"false","aria-owns":c,"aria-controls":c,disabled:h,onBlur:this.onBlur,onFocus:this.onFocus,onClick:this.handleClick,onMouseDown:this.handleMouseDown,onKeyDown:this.handleKeyDown},s("ic-typography",{variant:"body",class:{"value-text":true,"with-clear-button":H&&M,placeholder:!this.value||d&&this.value.length<1}},s("p",null,(d?this.getMultipleOptionsString(H):this.getLabelFromValue(H))||k)),s("div",{class:"select-input-end"},H&&M&&s("div",{class:"divider"}),s("span",{class:{"expand-icon":true,"expand-icon-open":this.open},innerHTML:x,"aria-hidden":"true"}))),H&&M&&s("ic-button",{id:"clear-button","aria-label":"Clear selection",class:"clear-button",innerHTML:y,onClick:this.handleClear,onFocus:this.handleClearButtonFocus,onBlur:this.handleClearButtonBlur,size:t,variant:"icon",appearance:this.clearButtonFocused?v.Light:v.Dark}))),(!b()||d)&&s("ic-menu-with-multi",{class:{"no-results":this.loading||this.hasTimedOut||this.noOptions!==null&&this.noOptions[0]&&this.noOptions[0].label===this.emptyOptionListText},ref:t=>this.menu=t,inputEl:C?this.searchableSelectElement:this.customSelectElement,inputLabel:r,anchorEl:this.anchorEl,small:i,size:t,menuId:c,open:this.open,options:C?this.filteredOptions:this.uniqueOptions,value:d?H:H,fullWidth:a,selectOnEnter:this.selectOnEnter,onMenuStateChange:this.handleMenuChange,onMenuOptionSelect:this.handleCustomSelectChange,onMenuOptionSelectAll:this.handleSelectAllChange,onMenuKeyPress:this.handleMenuKeyPress,onUngroupedOptionsSet:this.setUngroupedOptions,onRetryButtonClicked:this.handleRetry,parentEl:this.el,onTimeoutBlur:this.onTimeoutBlur,activationType:this.searchable||d||this.selectOnEnter?"manual":"automatic",closeOnSelect:!d}),this.multiple&&s("div",{"aria-live":"polite",role:"status",class:"multi-select-selected-count"}),m(this.validationStatus,this.disabled)&&s("ic-input-validation",{class:{"menu-open":this.open},ariaLiveMode:"polite",status:T,message:B,for:this.inputId})))}static get delegatesFocus(){return true}get el(){return h(this)}static get watchers(){return{loading:["loadingHandler"],options:["watchOptionsHandler"],debounce:["debounceChangedHandler"],value:["valueChangedHandler"]}}};L.style=k;export{L as ic_select_with_multi};
2
- //# sourceMappingURL=p-ad1e70c9.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as i,f as e,h as t,H as s,g as a}from"./p-8455d1bb.js";import{c as r,C as c,i as h}from"./p-b9d9273f.js";const n=':host{display:block;width:var(--tree-view-width, 100%)}:host .heading-area-container{border-bottom:var(--ic-border-default);display:flex;align-items:center;min-height:calc(\n var(--ic-space-xl) + var(--ic-space-xs) - var(--ic-space-1px)\n );padding:0 var(--ic-space-xs)}:host(.ic-tree-view-small) .heading-area-container{min-height:calc(var(--ic-space-xl) - var(--ic-space-1px))}:host(.ic-tree-view-large) .heading-area-container{min-height:calc(var(--ic-space-xxl) - var(--ic-space-1px))}:host(.ic-tree-view-truncate) .heading-area-container{height:calc(var(--ic-space-xl) + var(--ic-space-xs) - var(--ic-space-1px))}:host(.ic-tree-view-truncate.ic-tree-view-small) .heading-area-container{height:calc(var(--ic-space-xl) - var(--ic-space-1px))}:host(.ic-tree-view-truncate.ic-tree-view-large) .heading-area-container{height:calc(var(--ic-space-xxl) - var(--ic-space-1px))}:host(.ic-tree-view-light) .heading-area-container{color:var(--ic-architectural-white);fill:var(--ic-architectural-white)}.icon-container{width:var(--ic-space-lg);height:var(--ic-space-lg);margin:0 var(--ic-space-xs) 0 0}:host(.ic-tree-view-small) .icon-container{margin:0 var(--ic-space-xxs) 0 0}.ic-text-overflow{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ic-tooltip-overflow{overflow:hidden}@media (forced-colors: active){::slotted([slot="icon"]){fill:currentcolor}}';let o=0;const l=class{constructor(t){i(this,t);this.treeViewId=`ic-tree-view-${o++}`;this.treeItemTag="IC-TREE-ITEM";this.hostMutationObserver=null;this.handleKeyDown=i=>{var e;const t=this.treeItems.indexOf(this.treeItems.filter((i=>i===document.activeElement))[0]);const s=(e=this.treeItems[t])===null||e===void 0?void 0:e.expanded;switch(i.key){case"ArrowDown":this.treeItems[this.getNextItemToSelect(t,true)].setFocus();if(t!==this.treeItems.length-1){i.preventDefault()}break;case"ArrowUp":this.treeItems[this.getNextItemToSelect(t,false)].setFocus();if(t!==0){i.preventDefault()}break;case"ArrowRight":if(this.treeItems[t].isParent&&!s){this.treeItems[t].expanded=true;this.treeItems[t].hasParentExpanded=true;this.treeItems[t].updateAriaLabel()}else if(this.treeItems[t].isParent&&s){this.treeItems[t].children[0].setFocus()}i.preventDefault();break;case"ArrowLeft":if(this.treeItems[t].isParent&&s){this.treeItems[t].expanded=false;this.treeItems[t].hasParentExpanded=false;this.treeItems[t].updateAriaLabel()}else if(this.treeItems[t].parentElement.tagName===this.treeItemTag){this.treeItems[t].parentElement.setFocus()}i.preventDefault();break}};this.getNextItemToSelect=(i,e)=>{const t=this.treeItems.length-1;if(i<1){i=0}let s=e?i+1:i-1;if(s<0){s=0}else if(s>t){s=t}const a=t+1;let r=0;while(r<a){if(s<0||s>t){return i}if(!this.treeItems[s].disabled&&(this.treeItems[s].parentElement.tagName!==this.treeItemTag||this.treeItems[s].parentElement.expanded)){return s}if(s===t&&this.treeItems[s].disabled){return i}s=e?s+1:s-1;r++}return i};this.linkTreeItems=()=>{this.treeItems.forEach((i=>{i.setAttribute("context-id",this.treeViewId)}))};this.setTreeItems=()=>{this.treeItems=this.getAllTreeItems(this.el);this.linkTreeItems()};this.addSlotChangeListener=()=>{this.el.addEventListener("slotchange",this.setTreeItems)};this.truncateTreeViewHeading=()=>{const i=this.el.shadowRoot.querySelector(".tree-view-header");const e=i===null||i===void 0?void 0:i.closest("ic-tooltip");const t=this.el.shadowRoot.querySelector(".heading-area-container");if((i===null||i===void 0?void 0:i.scrollHeight)>(t===null||t===void 0?void 0:t.clientHeight)){i.classList.add("ic-text-overflow");if(!e){const e=document.createElement("ic-tooltip");e.setAttribute("target",this.el.id);e.setAttribute("label",i.textContent);e.classList.add("ic-tooltip-overflow");e.setAttribute("placement","right");t.appendChild(e);e.appendChild(i)}}};this.hostMutationCallback=i=>{if(i.some((({type:i,addedNodes:e,removedNodes:t})=>i==="childList"?r(e,t,"icon"):false))){e(this)}};this.isHeadingDefined=()=>c(this.heading)&&this.heading!==null;this.hasHeadingAreaContent=()=>h(this.el,"heading")||this.isHeadingDefined()||h(this.el,"icon");this.treeItems=undefined;this.appearance="dark";this.heading="";this.size="default";this.truncateHeading=false;this.truncateTreeItems=false}watchAppearanceHandler(){this.treeItems.forEach((i=>{i.appearance=this.appearance}))}watchSizeHandler(){this.treeItems.forEach((i=>{i.size=this.size}))}watchTruncateTreeItemsHandler(){this.treeItems.forEach((i=>{if(i.truncateTreeItem===undefined){i.truncateTreeItem=this.truncateTreeItems}}))}disconnectedCallback(){var i,e;(i=this.el)===null||i===void 0?void 0:i.removeEventListener("slotchange",this.setTreeItems);(e=this.hostMutationObserver)===null||e===void 0?void 0:e.disconnect()}componentDidLoad(){this.setTreeItems();this.watchAppearanceHandler();this.watchSizeHandler();this.watchTruncateTreeItemsHandler();setTimeout((()=>{this.truncateHeading&&this.truncateTreeViewHeading()}),100);this.addSlotChangeListener();this.hostMutationObserver=new MutationObserver(this.hostMutationCallback);this.hostMutationObserver.observe(this.el,{childList:true})}handleTreeItemSelected(i){this.treeItems.forEach((e=>{if(e.selected&&e.id!==i.detail.id){e.selected=false}}))}getAllTreeItems(i){const e=[];const t=i=>{Array.from(i.children).forEach((i=>{if(i.tagName===this.treeItemTag){e.push(i)}t(i)}))};t(i);return e}render(){const{appearance:i,heading:e,size:a}=this;return t(s,{"context-id":this.treeViewId,class:{[`ic-tree-view-${i}`]:true,[`ic-tree-view-${a}`]:a!=="default","ic-tree-view-truncate":this.truncateHeading},onKeyDown:this.handleKeyDown,"aria-label":this.isHeadingDefined()?e:null},this.hasHeadingAreaContent()&&t("div",{class:"heading-area-container"},h(this.el,"icon")&&t("div",{class:"icon-container"},t("slot",{name:"icon"})),t("ic-typography",{variant:"subtitle-large",class:"tree-view-header"},h(this.el,"heading")?t("slot",{name:"heading"}):e)),t("slot",null))}get el(){return a(this)}static get watchers(){return{appearance:["watchAppearanceHandler"],size:["watchSizeHandler"],truncateTreeItems:["watchTruncateTreeItemsHandler"]}}};l.style=n;export{l as ic_tree_view};
2
- //# sourceMappingURL=p-af3d4eba.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icTreeViewCss","treeViewIds","TreeView","this","treeViewId","treeItemTag","hostMutationObserver","handleKeyDown","event","focussedChild","treeItems","indexOf","filter","el","document","activeElement","expanded","_a","key","getNextItemToSelect","setFocus","length","preventDefault","isParent","hasParentExpanded","updateAriaLabel","children","parentElement","tagName","currentItem","movingDown","numItems","nextItem","maxAttempts","attempts","disabled","linkTreeItems","forEach","treeItem","setAttribute","setTreeItems","getAllTreeItems","addSlotChangeListener","addEventListener","truncateTreeViewHeading","typographyEl","shadowRoot","querySelector","tooltip","closest","headingContainer","scrollHeight","clientHeight","classList","add","tooltipEl","createElement","id","textContent","appendChild","hostMutationCallback","mutationList","some","type","addedNodes","removedNodes","checkSlotInChildMutations","forceUpdate","isHeadingDefined","isPropDefined","heading","hasHeadingAreaContent","isSlotUsed","watchAppearanceHandler","appearance","watchSizeHandler","size","watchTruncateTreeItemsHandler","truncateTreeItem","undefined","truncateTreeItems","disconnectedCallback","removeEventListener","_b","disconnect","componentDidLoad","setTimeout","truncateHeading","MutationObserver","observe","childList","handleTreeItemSelected","selected","detail","element","collectTreeItems","Array","from","child","push","render","h","Host","class","onKeyDown","name","variant"],"sources":["src/components/ic-tree-view/ic-tree-view.css?tag=ic-tree-view&encapsulation=shadow","src/components/ic-tree-view/ic-tree-view.tsx"],"sourcesContent":["/**\n* @prop --tree-view-width: Width of the tree view\n*/\n\n:host {\n display: block;\n width: var(--tree-view-width, 100%);\n}\n\n:host .heading-area-container {\n border-bottom: var(--ic-border-default);\n display: flex;\n align-items: center;\n min-height: calc(\n var(--ic-space-xl) + var(--ic-space-xs) - var(--ic-space-1px)\n );\n padding: 0 var(--ic-space-xs);\n}\n\n:host(.ic-tree-view-small) .heading-area-container {\n min-height: calc(var(--ic-space-xl) - var(--ic-space-1px));\n}\n\n:host(.ic-tree-view-large) .heading-area-container {\n min-height: calc(var(--ic-space-xxl) - var(--ic-space-1px));\n}\n\n:host(.ic-tree-view-truncate) .heading-area-container {\n height: calc(var(--ic-space-xl) + var(--ic-space-xs) - var(--ic-space-1px));\n}\n\n:host(.ic-tree-view-truncate.ic-tree-view-small) .heading-area-container {\n height: calc(var(--ic-space-xl) - var(--ic-space-1px));\n}\n\n:host(.ic-tree-view-truncate.ic-tree-view-large) .heading-area-container {\n height: calc(var(--ic-space-xxl) - var(--ic-space-1px));\n}\n\n:host(.ic-tree-view-light) .heading-area-container {\n color: var(--ic-architectural-white);\n fill: var(--ic-architectural-white);\n}\n\n.icon-container {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n margin: 0 var(--ic-space-xs) 0 0;\n}\n\n:host(.ic-tree-view-small) .icon-container {\n margin: 0 var(--ic-space-xxs) 0 0;\n}\n\n.ic-text-overflow {\n white-space: nowrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n.ic-tooltip-overflow {\n overflow: hidden;\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n ::slotted([slot=\"icon\"]) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n h,\n Prop,\n Element,\n Host,\n Watch,\n State,\n Listen,\n forceUpdate,\n} from \"@stencil/core\";\nimport { IcSizes, IcThemeForegroundNoDefault } from \"../../utils/types\";\nimport {\n isPropDefined,\n isSlotUsed,\n checkSlotInChildMutations,\n} from \"../../utils/helpers\";\n\nlet treeViewIds = 0;\n\n/**\n * @slot heading - Content is set as the tree view heading.\n * @slot icon - Content is placed to the left of the heading.\n */\n\n@Component({\n tag: \"ic-tree-view\",\n styleUrl: \"ic-tree-view.css\",\n shadow: true,\n})\nexport class TreeView {\n private treeViewId = `ic-tree-view-${treeViewIds++}`;\n private treeItemTag = \"IC-TREE-ITEM\";\n private hostMutationObserver: MutationObserver = null;\n\n @Element() el: HTMLIcTreeViewElement;\n\n @State() treeItems: HTMLIcTreeItemElement[];\n\n /**\n * The appearance of the tree view, e.g. dark, or light.\n */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n @Watch(\"appearance\")\n watchAppearanceHandler() {\n this.treeItems.forEach((treeItem) => {\n treeItem.appearance = this.appearance;\n });\n }\n\n /**\n * The heading of the tree view.\n */\n @Prop() heading?: string = \"\";\n\n /**\n * The size of the tree view.\n */\n @Prop() size?: IcSizes = \"default\";\n @Watch(\"size\")\n watchSizeHandler() {\n this.treeItems.forEach((treeItem) => {\n treeItem.size = this.size;\n });\n }\n\n /**\n * If `true`, the tree view heading will be truncated instead of text wrapping.\n */\n @Prop() truncateHeading?: boolean = false;\n\n /**\n * If `true`, tree items will be truncated, unless they are individually overridden.\n */\n @Prop() truncateTreeItems?: boolean = false;\n @Watch(\"truncateTreeItems\")\n watchTruncateTreeItemsHandler() {\n this.treeItems.forEach((treeItem) => {\n if (treeItem.truncateTreeItem === undefined) {\n treeItem.truncateTreeItem = this.truncateTreeItems;\n }\n });\n }\n\n disconnectedCallback(): void {\n this.el?.removeEventListener(\"slotchange\", this.setTreeItems);\n\n this.hostMutationObserver?.disconnect();\n }\n\n componentDidLoad(): void {\n this.setTreeItems();\n\n this.watchAppearanceHandler();\n this.watchSizeHandler();\n this.watchTruncateTreeItemsHandler();\n setTimeout(() => {\n this.truncateHeading && this.truncateTreeViewHeading();\n }, 100);\n\n this.addSlotChangeListener();\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n @Listen(\"icTreeItemSelected\")\n handleTreeItemSelected(event: CustomEvent): void {\n this.treeItems.forEach((treeItem) => {\n if (treeItem.selected && treeItem.id !== event.detail.id) {\n treeItem.selected = false;\n }\n });\n }\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n const focussedChild = this.treeItems.indexOf(\n this.treeItems.filter((el) => el === document.activeElement)[0]\n );\n const expanded = this.treeItems[focussedChild]?.expanded;\n switch (event.key) {\n case \"ArrowDown\":\n this.treeItems[\n this.getNextItemToSelect(focussedChild, true)\n ].setFocus();\n if (focussedChild !== this.treeItems.length - 1) {\n event.preventDefault();\n }\n break;\n case \"ArrowUp\":\n this.treeItems[\n this.getNextItemToSelect(focussedChild, false)\n ].setFocus();\n if (focussedChild !== 0) {\n event.preventDefault();\n }\n break;\n case \"ArrowRight\":\n if (this.treeItems[focussedChild].isParent && !expanded) {\n this.treeItems[focussedChild].expanded = true;\n this.treeItems[focussedChild].hasParentExpanded = true;\n this.treeItems[focussedChild].updateAriaLabel();\n } else if (this.treeItems[focussedChild].isParent && expanded) {\n (\n this.treeItems[focussedChild].children[0] as HTMLIcTreeItemElement\n ).setFocus();\n }\n event.preventDefault();\n break;\n case \"ArrowLeft\":\n if (this.treeItems[focussedChild].isParent && expanded) {\n this.treeItems[focussedChild].expanded = false;\n this.treeItems[focussedChild].hasParentExpanded = false;\n this.treeItems[focussedChild].updateAriaLabel();\n } else if (\n this.treeItems[focussedChild].parentElement.tagName ===\n this.treeItemTag\n ) {\n (\n this.treeItems[focussedChild].parentElement as HTMLIcTreeItemElement\n ).setFocus();\n }\n event.preventDefault();\n break;\n }\n };\n\n private getNextItemToSelect = (\n currentItem: number,\n movingDown: boolean\n ): number => {\n const numItems = this.treeItems.length - 1;\n\n if (currentItem < 1) {\n currentItem = 0;\n }\n\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n if (nextItem < 0) {\n nextItem = 0;\n } else if (nextItem > numItems) {\n nextItem = numItems;\n }\n\n const maxAttempts = numItems + 1;\n let attempts = 0;\n\n while (attempts < maxAttempts) {\n if (nextItem < 0 || nextItem > numItems) {\n return currentItem;\n }\n\n if (\n !this.treeItems[nextItem].disabled &&\n (this.treeItems[nextItem].parentElement.tagName !== this.treeItemTag ||\n (this.treeItems[nextItem].parentElement as HTMLIcTreeItemElement)\n .expanded)\n ) {\n return nextItem;\n }\n\n if (nextItem === numItems && this.treeItems[nextItem].disabled) {\n return currentItem;\n }\n\n nextItem = movingDown ? nextItem + 1 : nextItem - 1;\n attempts++;\n }\n\n return currentItem;\n };\n\n private linkTreeItems = () => {\n this.treeItems.forEach((treeItem) => {\n treeItem.setAttribute(\"context-id\", this.treeViewId);\n });\n };\n\n private setTreeItems = () => {\n this.treeItems = this.getAllTreeItems(this.el as HTMLElement);\n\n this.linkTreeItems();\n };\n\n private getAllTreeItems(element: HTMLElement): HTMLIcTreeItemElement[] {\n const treeItems: HTMLIcTreeItemElement[] = [];\n\n const collectTreeItems = (el: HTMLElement) => {\n Array.from(el.children).forEach((child) => {\n if (child.tagName === this.treeItemTag) {\n treeItems.push(child as HTMLIcTreeItemElement);\n }\n\n collectTreeItems(child as HTMLElement);\n });\n };\n\n collectTreeItems(element);\n return treeItems;\n }\n\n private addSlotChangeListener = () => {\n this.el.addEventListener(\"slotchange\", this.setTreeItems);\n };\n\n private truncateTreeViewHeading = () => {\n const typographyEl: HTMLIcTypographyElement =\n this.el.shadowRoot.querySelector(\".tree-view-header\");\n const tooltip = typographyEl?.closest(\"ic-tooltip\");\n const headingContainer: HTMLElement = this.el.shadowRoot.querySelector(\n \".heading-area-container\"\n );\n\n if (typographyEl?.scrollHeight > headingContainer?.clientHeight) {\n typographyEl.classList.add(\"ic-text-overflow\");\n\n if (!tooltip) {\n const tooltipEl = document.createElement(\"ic-tooltip\");\n tooltipEl.setAttribute(\"target\", this.el.id);\n tooltipEl.setAttribute(\"label\", typographyEl.textContent);\n tooltipEl.classList.add(\"ic-tooltip-overflow\");\n tooltipEl.setAttribute(\"placement\", \"right\");\n headingContainer.appendChild(tooltipEl);\n tooltipEl.appendChild(typographyEl);\n }\n }\n };\n\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n if (\n mutationList.some(({ type, addedNodes, removedNodes }) =>\n type === \"childList\"\n ? checkSlotInChildMutations(addedNodes, removedNodes, \"icon\")\n : false\n )\n ) {\n forceUpdate(this);\n }\n };\n\n private isHeadingDefined = () =>\n isPropDefined(this.heading) && this.heading !== null;\n\n private hasHeadingAreaContent = (): boolean => {\n return (\n isSlotUsed(this.el, \"heading\") ||\n this.isHeadingDefined() ||\n isSlotUsed(this.el, \"icon\")\n );\n };\n\n render() {\n const { appearance, heading, size } = this;\n\n return (\n <Host\n context-id={this.treeViewId}\n class={{\n [`ic-tree-view-${appearance}`]: true,\n [`ic-tree-view-${size}`]: size !== \"default\",\n \"ic-tree-view-truncate\": this.truncateHeading,\n }}\n onKeyDown={this.handleKeyDown}\n aria-label={this.isHeadingDefined() ? heading : null}\n >\n {this.hasHeadingAreaContent() && (\n <div class=\"heading-area-container\">\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon-container\">\n <slot name=\"icon\" />\n </div>\n )}\n <ic-typography variant=\"subtitle-large\" class=\"tree-view-header\">\n {isSlotUsed(this.el, \"heading\") ? (\n <slot name=\"heading\" />\n ) : (\n heading\n )}\n </ic-typography>\n </div>\n )}\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- const n=["aria-atomic","aria-autocomplete","aria-busy","aria-controls","aria-current","aria-describedby","aria-description","aria-details","aria-disabled","aria-dropeffect","aria-errormessage","aria-expanded","aria-flowto","aria-grabbed","aria-haspopup","aria-hidden","aria-invalid","aria-keyshortcuts","aria-label","aria-labelledby","aria-live","aria-owns","aria-relevant","aria-roledescription"];const t=["ic-hero","ic-top-navigation","ic-footer","ic-side-navigation","ic-alert"];const e=["ic-alert"];const a={"ic-alert":["ic-link"]};var o;(function(n){n["Warning"]="warning";n["Error"]="error";n["Success"]="success"})(o||(o={}));var r;(function(n){n["Default"]="default";n["Dark"]="dark";n["Light"]="light"})(r||(r={}));var s;(function(n){n[n["January"]=0]="January";n[n["February"]=1]="February";n[n["March"]=2]="March";n[n["April"]=3]="April";n[n["May"]=4]="May";n[n["June"]=5]="June";n[n["July"]=6]="July";n[n["August"]=7]="August";n[n["September"]=8]="September";n[n["October"]=9]="October";n[n["November"]=10]="November";n[n["December"]=11]="December"})(s||(s={}));var i;(function(n){n[n["Sun"]=0]="Sun";n[n["Mon"]=1]="Mon";n[n["Tue"]=2]="Tue";n[n["Wed"]=3]="Wed";n[n["Thu"]=4]="Thu";n[n["Fri"]=5]="Fri";n[n["Sat"]=6]="Sat"})(i||(i={}));var c;(function(n){n[n["Sunday"]=0]="Sunday";n[n["Monday"]=1]="Monday";n[n["Tuesday"]=2]="Tuesday";n[n["Wednesday"]=3]="Wednesday";n[n["Thursday"]=4]="Thursday";n[n["Friday"]=5]="Friday";n[n["Saturday"]=6]="Saturday"})(c||(c={}));var u;(function(n){n[n["Sunday"]=0]="Sunday";n[n["Monday"]=1]="Monday";n[n["Tuesday"]=2]="Tuesday";n[n["Wednesday"]=3]="Wednesday";n[n["Thursday"]=4]="Thursday";n[n["Friday"]=5]="Friday";n[n["Saturday"]=6]="Saturday"})(u||(u={}));const l=n=>{const t=[];Object.values(n).forEach((n=>{if(isNaN(Number(n))){const e=n;t.push(e)}}));return t};const d=(n,t=[])=>{const e={};t.forEach((t=>{if(n.hasAttribute(t)){const a=n.getAttribute(t);if(a!==null){e[t]=n.getAttribute(t)}n.removeAttribute(t)}}));return e};const f=(n,t)=>{let e;return(...a)=>{const o=t();clearTimeout(e);e=setTimeout(n,o,...a)}};const p=(n,t,e,a,o)=>{if(e!==undefined&&(n||N(t))){const n=t.querySelectorAll("input.ic-input");const r=Array.from(n);const s=r.filter((n=>t===n.parentElement));let i=s[0];if(i===null||i===undefined){i=t.ownerDocument.createElement("input");i.type="hidden";i.classList.add("ic-input");t.appendChild(i)}i.disabled=o;i.name=e;if(a instanceof Date){i.value=a?a.toISOString():null}else{i.value=a||""}}};const b=(n,o=null)=>{var s;const i=n.parentElement||n.getRootNode().host.parentElement;const c=i.closest(t.join(","));if(c!==null){const t=c.tagName.toLowerCase();const i=n.tagName.toLowerCase();if((s=a[t])===null||s===void 0?void 0:s.includes(i)){return r.Default}else if(o!==null&&!e.includes(t)){return o}else if(c.classList.contains(r.Dark)){return r.Dark}return r.Light}return r.Default};const y=n=>n?n.trim().length===0:true;const v=n=>n!==undefined?n:null;const m=n=>getComputedStyle(document.documentElement).getPropertyValue(n);const h=n=>{const t=n.firstElementChild;if(t!==null){const e=t.assignedElements?t.assignedElements():t.childNodes;return e.length?e:n.tagName?[n]:null}else{return n===null?null:[n]}};({XS:Number(m("--ic-breakpoint-xs").replace("px","")),S:Number(m("--ic-breakpoint-sm").replace("px","")),M:Number(m("--ic-breakpoint-md").replace("px","")),L:Number(m("--ic-breakpoint-lg").replace("px","")),XL:Number(m("--ic-breakpoint-xl").replace("px","")),UNDEFINED:1200});const x=(n,t)=>Array.from(n.children).some((n=>n.getAttribute("slot")===t));const N=n=>!!n.shadowRoot&&!!n.attachShadow;const g=n=>n+"-helper-text";const w=n=>n+"-validation-text";const S=(n,t,e)=>`${t?g(n):""} ${e?w(n):""}`.trim();const k=()=>"maxTouchPoints"in navigator?navigator.maxTouchPoints>0:false;const T=(n,t,e="value",a="label")=>{const o=[];if(t.length>0&&t.map){t.map((n=>{if(n.children){n.children.map((n=>o.push(n)))}else{o.push(n)}}));const r=o.find((t=>t[e]===n));if(r!==undefined)return r[a]}return undefined};const M=(n,t,e,a,o="label")=>n.filter((n=>{var r;const s=n[o].toLowerCase();const i=(r=n.description)===null||r===void 0?void 0:r.toLowerCase();const c=e.toLowerCase();return a==="anywhere"?t?s.includes(c)||(i===null||i===void 0?void 0:i.includes(c)):s.includes(c):t?s.startsWith(c)||(i===null||i===void 0?void 0:i.startsWith(c)):s.startsWith(c)}));const $=n=>{const t=[];if(n.length>0&&n.map){n.map((n=>{if(n.children){n.children.map((n=>t.push(n)))}else{t.push(n)}}))}return t.length};const A=(n,t=16)=>`${1/t*parseInt(n)}rem`;const F=n=>/^-?\d+$/.test(n);const D=(n,t)=>n!==""&&!t;const O=(n,t)=>{for(let e=0;e<n.length;e++){const{prop:a,propName:o}=n[e];if(a===null||a===undefined){console.error(`No ${o} specified for ${t} component - prop '${o}' (web components) / '${j(o)}' (react) required`)}}};const j=n=>{n=n.toLowerCase();const t=n.split("-");let e=t[0];for(let n=1;n<t.length;n++){e+=t[n].substring(0,1).toUpperCase()+t[n].substring(1)}return e};const C=n=>{if(typeof window!=="undefined"&&typeof window.ResizeObserver!=="undefined"){n()}};const E=n=>n.closest("FORM");const I=(n,t)=>{const e=E(n);if(e!==null){e.addEventListener("reset",t)}};const J=(n,t)=>{const e=E(n);if(e!==null){e.removeEventListener("reset",t)}};const W=(n,t)=>{if(!n){t.removeAttribute("disabled")}};const q=()=>window.navigator.userAgent.toUpperCase().indexOf("MAC")>=0;const L=n=>n.charAt(0).toUpperCase()+n.slice(1);const X=(n,t,e)=>{const a=n=>Array.from(n).some((n=>n.slot===e));return a(n)||a(t)};const z=(n,t,e)=>{const a={};const o=t.map((n=>n.index));const r=Object.keys(n);const s=Object.values(n);const i=r.length+o.length;for(let n=0,c=0;n<i;n++){if(o.includes(n)){a[t[o.indexOf(n)].key]=e;continue}a[r[c]]=s[c];c++}return a};export{n as A,o as B,v as C,F as D,L as E,q as F,r as I,y as a,z as b,X as c,f as d,h as e,C as f,b as g,c as h,x as i,s as j,u as k,i as l,T as m,M as n,O as o,A as p,$ as q,W as r,l as s,J as t,d as u,I as v,p as w,S as x,k as y,D as z};
2
- //# sourceMappingURL=p-b9d9273f.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["IC_INHERITED_ARIA","IC_BLOCK_COLOR_COMPONENTS","IC_FIXED_COLOR_COMPONENTS","IC_BLOCK_COLOR_EXCEPTIONS","IcInformationStatus","IcThemeForegroundEnum","IcDateInputMonths","IcShortDayNames","IcDayNames","IcWeekDays","stringEnumToArray","theEnum","arr","Object","values","forEach","val","isNaN","Number","str","push","inheritAttributes","element","attributes","attributeObject","attr","hasAttribute","value","getAttribute","removeAttribute","dynamicDebounce","func","getDelay","timer","args","delay","clearTimeout","setTimeout","renderHiddenInput","always","container","name","disabled","undefined","hasShadowDom","inputs","querySelectorAll","inputEls","Array","from","filtered","filter","el","parentElement","input","ownerDocument","createElement","type","classList","add","appendChild","Date","toISOString","getThemeFromContext","themeFromEvent","getRootNode","host","blockColorParent","closest","join","parentTag","tagName","toLowerCase","currentTag","_a","includes","Default","contains","Dark","Light","isEmptyString","trim","length","isPropDefined","prop","getCssProperty","cssVar","getComputedStyle","document","documentElement","getPropertyValue","getSlotElements","slot","slotContent","firstElementChild","elements","assignedElements","childNodes","XS","replace","S","M","L","XL","UNDEFINED","isSlotUsed","slotName","children","some","child","shadowRoot","attachShadow","getInputHelperTextID","id","getInputValidationTextID","getInputDescribedByText","inputId","helperText","validationText","isMobileOrTablet","navigator","maxTouchPoints","getLabelFromValue","options","valueField","labelField","ungroupedOptions","map","option","matchingValue","find","getFilteredMenuOptions","includeDescriptions","searchString","position","label","description","lowerSearchString","startsWith","getOptionsWithoutGroupTitlesCount","optionsWithoutGroupTitles","pxToRem","px","base","parseInt","isNumeric","test","hasValidationStatus","status","onComponentRequiredPropUndefined","props","component","i","propName","console","error","kebabToCamelCase","kebabCase","individualWords","split","camelCase","substring","toUpperCase","checkResizeObserver","callbackFn","window","ResizeObserver","getForm","addFormResetListener","form","addEventListener","removeFormResetListener","removeEventListener","removeDisabledFalse","isMacDevice","userAgent","indexOf","capitalize","text","charAt","slice","checkSlotInChildMutations","addedNodes","removedNodes","hasSlot","nodeList","node","addDataToPosition","dataObject","newKeys","newValue","newData","newIndexes","key","index","keys","numberOfKeys","j"],"sources":["src/utils/constants.ts","src/utils/types.ts","src/utils/helpers.ts"],"sourcesContent":["import errorIcon from \"../assets/error-icon.svg\";\nimport infoIcon from \"../assets/info-icon.svg\";\nimport neutralIcon from \"../assets/neutral-icon.svg\";\nimport successIcon from \"../assets/success-icon.svg\";\nimport warningIcon from \"../assets/warning-icon.svg\";\n\n// Global status icons\nexport const VARIANT_ICONS = {\n neutral: {\n icon: neutralIcon,\n ariaLabel: \"Neutral\",\n },\n info: {\n icon: infoIcon,\n ariaLabel: \"For your information\",\n },\n warning: {\n icon: warningIcon,\n ariaLabel: \"Warning\",\n },\n error: {\n icon: errorIcon,\n ariaLabel: \"Error\",\n },\n success: {\n icon: successIcon,\n ariaLabel: \"Success\",\n },\n};\n\n// Global ARIA attributes\nexport const IC_INHERITED_ARIA = [\n \"aria-atomic\",\n \"aria-autocomplete\",\n \"aria-busy\",\n \"aria-controls\",\n \"aria-current\",\n \"aria-describedby\",\n \"aria-description\",\n \"aria-details\",\n \"aria-disabled\",\n \"aria-dropeffect\",\n \"aria-errormessage\",\n \"aria-expanded\",\n \"aria-flowto\",\n \"aria-grabbed\",\n \"aria-haspopup\",\n \"aria-hidden\",\n \"aria-invalid\",\n \"aria-keyshortcuts\",\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-live\",\n \"aria-owns\",\n \"aria-relevant\",\n \"aria-roledescription\",\n];\n\nexport const IC_DEVICE_SIZES = {\n XS: 576,\n S: 768,\n M: 992,\n L: 1200,\n XL: 99999,\n};\n\nexport const IC_BLOCK_COLOR_COMPONENTS = [\n \"ic-hero\",\n \"ic-top-navigation\",\n \"ic-footer\",\n \"ic-side-navigation\",\n \"ic-alert\",\n];\n\nexport const IC_FIXED_COLOR_COMPONENTS = [\"ic-alert\"];\n\nexport interface IcColorExceptions {\n [details: string]: string[];\n}\n\nexport const IC_BLOCK_COLOR_EXCEPTIONS: IcColorExceptions = {\n \"ic-alert\": [\"ic-link\"],\n};\n\n/* Range within which the chosen theme colour would not have a sufficient brightness difference with either of the black or white foreground colours\n * The brightness difference must be greater than 125 to provide good colour visibility\n * Calculated by:\n * - Using the brightness formula for both colours: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding 125 to the brightness of the black foreground colour - RGB(11, 12, 12)\n * - Subtracting 125 from the brightness of the white foreground colour - RGB(255, 255, 255)\n */\nexport const BLACK_MIN_COLOR_BRIGHTNESS = 136.701;\nexport const WHITE_MAX_COLOR_BRIGHTNESS = 130;\n","import {\n IcPaginationLabelTypes,\n IcPaginationTypes,\n IcPaginationAlignmentOptions,\n} from \"../components\";\n\nexport type IcFocusableComponents =\n | HTMLIcBreadcrumbElement\n | HTMLIcButtonElement\n | HTMLIcCardElement\n | HTMLIcCheckboxElement\n | HTMLIcChipElement\n | HTMLIcLinkElement\n | HTMLIcNavigationButtonElement\n | HTMLIcNavigationGroupElement\n | HTMLIcNavigationItemElement\n | HTMLIcRadioOptionElement\n | HTMLIcSearchBarElement\n | HTMLIcSelectElement\n | HTMLIcSwitchElement\n | HTMLIcTabElement\n | HTMLIcTextFieldElement;\n\nexport type IcStatusVariants =\n | \"neutral\"\n | \"info\"\n | \"warning\"\n | \"error\"\n | \"success\";\n\nexport enum IcInformationStatus {\n Warning = \"warning\",\n Error = \"error\",\n Success = \"success\",\n}\n\nexport type IcSizes = \"default\" | \"large\" | \"small\";\n\nexport type IcSizesNoLarge = \"default\" | \"small\";\n\nexport type IcInformationStatusOrEmpty = \"warning\" | \"error\" | \"success\" | \"\";\n\nexport type IcNavType = \"side\" | \"top\" | \"page-header\";\n\n// From: https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete\nexport type IcAutocompleteTypes =\n | \"on\"\n | \"off\"\n | \"name\"\n | \"honorific-prefix\"\n | \"given-name\"\n | \"additional-name\"\n | \"family-name\"\n | \"honorific-suffix\"\n | \"nickname\"\n | \"email\"\n | \"username\"\n | \"new-password\"\n | \"current-password\"\n | \"one-time-code\"\n | \"organization-title\"\n | \"organization\"\n | \"street-address\"\n | \"address-line1\"\n | \"address-line2\"\n | \"address-line3\"\n | \"address-level4\"\n | \"address-level3\"\n | \"address-level2\"\n | \"address-level1\"\n | \"country\"\n | \"country-name\"\n | \"postal-code\"\n | \"cc-name\"\n | \"cc-given-name\"\n | \"cc-additional-name\"\n | \"cc-family-name\"\n | \"cc-family-name\"\n | \"cc-number\"\n | \"cc-exp\"\n | \"cc-exp-month\"\n | \"cc-exp-year\"\n | \"cc-csc\"\n | \"cc-type\"\n | \"transaction-currency\"\n | \"transaction-amount\"\n | \"language\"\n | \"bday\"\n | \"bday-day\"\n | \"bday-month\"\n | \"bday-year\"\n | \"sex\"\n | \"tel\"\n | \"tel-country-code\"\n | \"tel-national\"\n | \"tel-area-code\"\n | \"tel-local\"\n | \"tel-extension\"\n | \"impp\"\n | \"url\"\n | \"photo\";\n\nexport type IcAlignment = \"left\" | \"center\" | \"full-width\";\n\nexport enum IcThemeForegroundEnum {\n Default = \"default\",\n Dark = \"dark\",\n Light = \"light\",\n}\n\nexport type IcThemeForeground = \"default\" | \"dark\" | \"light\";\n\nexport type IcThemeForegroundNoDefault = \"dark\" | \"light\";\n\nexport type IcTheme = {\n mode: IcThemeForeground;\n color: IcColorRGB;\n};\n\nexport type IcAdditionalFieldTypes = \"static\" | \"dynamic\";\n\nexport type IcColorRGB = {\n r: number;\n g: number;\n b: number;\n};\n\nexport type IcColorRGBA = IcColorRGB & {\n a: number;\n};\n\nexport type IcActivationTypes = \"automatic\" | \"manual\";\n\nexport type IcAutocorrectStates = \"on\" | \"off\";\n\nexport type IcNavParentDetails = {\n navType: IcNavType | \"\";\n parent: HTMLElement;\n};\n\nexport type IcTypographyVariants =\n | \"h1\"\n | \"h2\"\n | \"h3\"\n | \"h4\"\n | \"subtitle-large\"\n | \"subtitle-small\"\n | \"body\"\n | \"label\"\n | \"label-uppercase\"\n | \"caption\"\n | \"caption-uppercase\"\n | \"code-large\"\n | \"code-small\"\n | \"code-extra-small\"\n | \"badge\"\n | \"badge-small\";\n\n/**\n * @interface IcMenuOption\n * @field {string} A label field to options. Defaults to \"label\", but can have any custom name.\n * @field {string} A value field to options. Defaults to \"value\", but can have any custom name.\n */\nexport interface IcMenuOption {\n description?: string;\n disabled?: boolean;\n recommended?: boolean;\n children?: IcMenuOption[];\n loading?: boolean;\n timedOut?: boolean;\n [key: string]: any;\n element?: {\n component: any;\n ariaLabel: string;\n };\n icon?: any;\n}\n\nexport type IcSearchMatchPositions = \"start\" | \"anywhere\";\n\nexport interface IcPaginationBarOptions {\n itemsPerPageOptions?: { label: string; value: string }[];\n rangeLabelType?: IcPaginationLabelTypes;\n type?: IcPaginationTypes;\n showItemsPerPageControl?: boolean;\n showGoToPageControl?: boolean;\n alignment?: IcPaginationAlignmentOptions;\n appearance?: IcThemeForeground;\n itemLabel?: string;\n pageLabel?: string;\n hideRangeLabel?: boolean;\n hideAllFromItemsPerPage?: boolean;\n}\n\nexport type IcCallbackFunctionNoReturn = (...args: unknown[]) => void;\n\nexport type IcDateFormat = \"DD/MM/YYYY\" | \"MM/DD/YYYY\" | \"YYYY/MM/DD\";\n\nexport enum IcDateInputMonths {\n \"January\",\n \"February\",\n \"March\",\n \"April\",\n \"May\",\n \"June\",\n \"July\",\n \"August\",\n \"September\",\n \"October\",\n \"November\",\n \"December\",\n}\n\nexport enum IcShortDayNames {\n \"Sun\",\n \"Mon\",\n \"Tue\",\n \"Wed\",\n \"Thu\",\n \"Fri\",\n \"Sat\",\n}\n\nexport enum IcDayNames {\n \"Sunday\",\n \"Monday\",\n \"Tuesday\",\n \"Wednesday\",\n \"Thursday\",\n \"Friday\",\n \"Saturday\",\n}\n\nexport enum IcWeekDays {\n Sunday = 0,\n Monday = 1,\n Tuesday = 2,\n Wednesday = 3,\n Thursday = 4,\n Friday = 5,\n Saturday = 6,\n}\n\nexport interface IcValueEventDetail {\n value: string | string[];\n keyPressed?: string;\n}\n","/**\n * To investigate:\n * IcColorRGBA works via @ukic/web-components but IcThemeForeground does not even though they are exported\n * from @ukic/web-components in the same file. Why?\n */\nimport {\n IcCallbackFunctionNoReturn,\n IcInformationStatusOrEmpty,\n IcNavParentDetails,\n IcPropObject,\n IcSearchMatchPositions,\n IcColorRGBA,\n} from \"@ukic/web-components\";\nimport {\n IC_BLOCK_COLOR_COMPONENTS,\n IC_BLOCK_COLOR_EXCEPTIONS,\n IC_FIXED_COLOR_COMPONENTS,\n} from \"./constants\"; // Using @ukic/web-components/dist/types/utils/constants does not work so duplicated constants into canary package\nimport {\n IcMenuOption,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"./types\"; // Using @ukic/web-components/dist/types/utils/types does not work so duplicated constants into canary package\nimport { EventEmitter } from \"@stencil/core\";\nimport { IcDataTableDataType } from \"../interface\";\n\nconst DARK_MODE_THRESHOLD = 133.3505;\n\n/**\n * converts an enum of strings into an array of strings\n */\nexport const stringEnumToArray = (\n theEnum: Record<string, string | number>\n): string[] => {\n const arr: string[] = [];\n Object.values(theEnum).forEach((val) => {\n if (isNaN(Number(val))) {\n const str = val as string;\n arr.push(str);\n }\n });\n return arr;\n};\n\n/**\n * Used to inherit global attributes set on the host. Called in componentWillLoad and assigned\n * to a variable that is later used in the render function.\n *\n * This does not need to be reactive as changing attributes on the host element\n * does not trigger a re-render.\n */\nexport const inheritAttributes = (\n element: HTMLElement,\n attributes: string[] = []\n): { [key: string]: unknown } => {\n const attributeObject: { [key: string]: unknown } = {};\n\n attributes.forEach((attr) => {\n if (element.hasAttribute(attr)) {\n const value = element.getAttribute(attr);\n if (value !== null) {\n attributeObject[attr] = element.getAttribute(attr);\n }\n element.removeAttribute(attr);\n }\n });\n\n return attributeObject;\n};\n\nexport const debounceEvent = (\n event: EventEmitter,\n wait: number\n): EventEmitter => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const original = (event as any)._original || event;\n return {\n _original: event,\n emit: debounce(original.emit.bind(original), wait),\n } as EventEmitter;\n};\n\nexport const debounce = (\n func: (...args: unknown[]) => void,\n wait = 0\n): unknown => {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: unknown[]) => {\n clearTimeout(timer);\n timer = setTimeout(func, wait, ...args);\n };\n};\n\nexport const dynamicDebounce = (\n func: (...args: unknown[]) => void,\n getDelay: () => number\n): unknown => {\n let timer: ReturnType<typeof setTimeout>;\n return (...args: unknown[]) => {\n const delay = getDelay();\n clearTimeout(timer);\n timer = setTimeout(func, delay, ...args);\n };\n};\n\n/**\n * This method is used to add a hidden input to a host element that contains\n * a Shadow DOM. It does not add the input inside of the Shadow root which\n * allows it to be picked up inside of forms. It should contain the same\n * values as the host element.\n *\n * @param always Add a hidden input even if the container does not use Shadow\n * @param container The element where the input will be added\n * @param name The name of the input\n * @param value The value of the input\n * @param disabled If true, the input is disabled\n */\nexport const renderHiddenInput = (\n always: boolean,\n container: HTMLElement,\n name: string,\n value: string | Date | undefined | null,\n disabled: boolean\n): void => {\n if (name !== undefined && (always || hasShadowDom(container))) {\n const inputs = container.querySelectorAll(\"input.ic-input\");\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n\n let input = filtered[0] as HTMLInputElement;\n if (input === null || input === undefined) {\n input = container.ownerDocument.createElement(\"input\");\n input.type = \"hidden\";\n input.classList.add(\"ic-input\");\n container.appendChild(input);\n }\n input.disabled = disabled;\n input.name = name;\n\n if (value instanceof Date) {\n input.value = value ? value.toISOString() : null;\n } else {\n input.value = value || \"\";\n }\n }\n};\n\nexport const removeHiddenInput = (container: HTMLElement): void => {\n const inputs = container.querySelectorAll(\"input.ic-input\");\n const inputEls = Array.from(inputs);\n const filtered = inputEls.filter((el) => container === el.parentElement);\n const input = filtered[0] as HTMLInputElement;\n input?.remove();\n};\n\n/**\n * This method helps to understand the context in which a component exists,\n * to assist with choosing appropriate foreground colours to use. For example,\n * this method will help you use the 'white' version of a button if it's within\n * a block colour element using white foreground text.\n *\n * This only works for components/elements passed via <slot> and not if they\n * are part of an IC component.\n *\n * \"\"\n * @returns IcThemeForeground depending on the context\n */\nexport const getThemeFromContext = (\n el: Element,\n themeFromEvent: IcThemeForeground = null\n): IcThemeForeground => {\n const parentElement =\n el.parentElement || (<ShadowRoot>el.getRootNode()).host.parentElement;\n const blockColorParent = parentElement.closest(\n IC_BLOCK_COLOR_COMPONENTS.join(\",\")\n );\n\n // If within a block color component\n if (blockColorParent !== null) {\n const parentTag = blockColorParent.tagName.toLowerCase();\n const currentTag = el.tagName.toLowerCase();\n\n if (IC_BLOCK_COLOR_EXCEPTIONS[parentTag]?.includes(currentTag)) {\n return IcThemeForegroundEnum.Default;\n } else if (\n themeFromEvent !== null &&\n !IC_FIXED_COLOR_COMPONENTS.includes(parentTag)\n ) {\n return themeFromEvent;\n } else if (\n blockColorParent.classList.contains(IcThemeForegroundEnum.Dark)\n ) {\n return IcThemeForegroundEnum.Dark;\n }\n\n return IcThemeForegroundEnum.Light;\n }\n\n return IcThemeForegroundEnum.Default;\n};\n\n/**\n * Will create a button within the lightDOM which interacts with the parent form.\n * This is required as buttons within the shadowDOM will not invoke a submit or reset\n *\n * @param form - parent form element which contains shadowDom button\n * @param button - shadowDOM button\n */\nexport const handleHiddenFormButtonClick = (\n form: HTMLFormElement,\n button: HTMLIcButtonElement | HTMLButtonElement\n): void => {\n const hiddenFormButton = document.createElement(\"button\");\n\n hiddenFormButton.setAttribute(\"type\", button.type);\n hiddenFormButton.style.display = \"none\";\n\n form.appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n};\n\nexport const isEmptyString = (value: string): boolean =>\n value ? value.trim().length === 0 : true;\n\n// A helper function that checks if a prop has been defined\nexport const isPropDefined = (prop: string): string | null =>\n prop !== undefined ? prop : null;\n\nexport const deviceSizeMatches = (size: number): boolean =>\n window.matchMedia(`(max-width: ${size}px)`).matches;\n\nexport const getCurrentDeviceSize = (): number => {\n if (deviceSizeMatches(DEVICE_SIZES.S)) {\n return DEVICE_SIZES.S;\n }\n if (deviceSizeMatches(DEVICE_SIZES.M)) {\n return DEVICE_SIZES.M;\n }\n if (deviceSizeMatches(DEVICE_SIZES.L)) {\n return DEVICE_SIZES.L;\n }\n if (deviceSizeMatches(DEVICE_SIZES.XL)) {\n return DEVICE_SIZES.XL;\n }\n //fallback needed as all of above get initialised to 0 in jest tests\n return DEVICE_SIZES.UNDEFINED;\n};\n\nexport const getCssProperty = (cssVar: string): string =>\n getComputedStyle(document.documentElement).getPropertyValue(cssVar);\n\n/**\n * Returns the brightness of the theme colour, calculated by using the theme RGB CSS values by:\n * - Multiplying each RGB value by a set number: https://www.w3.org/TR/AERT/#color-contrast\n * - Adding them together and dividing by 1000\n * This is a similar calculation to its CSS counterpart: \"--ic-theme-text\"\n * @returns number representing the brightness of the theme colour\n */\nexport const getThemeColorBrightness = (): number => {\n const themeRed = getCssProperty(\"--ic-theme-primary-r\");\n const themeGreen = getCssProperty(\"--ic-theme-primary-g\");\n const themeBlue = getCssProperty(\"--ic-theme-primary-b\");\n return (\n (parseInt(themeRed) * 299 +\n parseInt(themeGreen) * 587 +\n parseInt(themeBlue) * 114) /\n 1000\n );\n};\n\n/**\n * Returns if dark or light foreground colors should be used for color contrast reasons\n * @returns \"dark\" or \"light\"\n */\nexport const getThemeForegroundColor = (): IcThemeForeground =>\n getThemeColorBrightness() > DARK_MODE_THRESHOLD\n ? IcThemeForegroundEnum.Dark\n : IcThemeForegroundEnum.Light;\n\nexport const getSlot = (element: HTMLElement, name: string): Element | null => {\n if (element && element.querySelector) {\n return element.querySelector(`[slot=\"${name}\"]`);\n }\n return null;\n};\n\nexport const slotHasContent = (element: HTMLElement, name: string): boolean =>\n getSlot(element, name) !== null;\n\nexport const getSlotContent = (\n element: HTMLElement,\n name: string\n): Element[] | NodeListOf<ChildNode> | null => {\n const slot = getSlot(element, name);\n if (slot) {\n return getSlotElements(slot);\n }\n\n return null;\n};\n\nexport const getSlotElements = (\n slot: Element\n): NodeListOf<ChildNode> | Element[] => {\n const slotContent = slot.firstElementChild as HTMLSlotElement;\n\n if (slotContent !== null) {\n const elements = slotContent.assignedElements\n ? slotContent.assignedElements()\n : slotContent.childNodes;\n return elements.length ? elements : slot.tagName ? [slot] : null;\n } else {\n //check for single element\n return slot === null ? null : [slot];\n }\n};\n\nexport const getNavItemParentDetails = (\n el: HTMLElement\n): IcNavParentDetails => {\n let navType: IcNavParentDetails = { navType: \"\", parent: null };\n switch (getParentElementType(el)) {\n case \"IC-NAVIGATION-GROUP\":\n navType = getNavItemParentDetails(el.parentElement);\n break;\n case \"IC-TOP-NAVIGATION\":\n navType = { navType: \"top\", parent: getParentElement(el) };\n break;\n case \"IC-SIDE-NAVIGATION\":\n navType = { navType: \"side\", parent: getParentElement(el) };\n break;\n case \"IC-PAGE-HEADER\":\n navType = { navType: \"page-header\", parent: null };\n break;\n }\n return navType;\n};\n\nexport const DEVICE_SIZES = {\n XS: Number(getCssProperty(\"--ic-breakpoint-xs\").replace(\"px\", \"\")), // 0\n S: Number(getCssProperty(\"--ic-breakpoint-sm\").replace(\"px\", \"\")), // 576\n M: Number(getCssProperty(\"--ic-breakpoint-md\").replace(\"px\", \"\")), // 768\n L: Number(getCssProperty(\"--ic-breakpoint-lg\").replace(\"px\", \"\")), // 992\n XL: Number(getCssProperty(\"--ic-breakpoint-xl\").replace(\"px\", \"\")), // 1200\n UNDEFINED: 1200,\n};\n\nexport const isSlotUsed = (element: HTMLElement, slotName: string): boolean =>\n Array.from(element.children).some(\n (child) => child.getAttribute(\"slot\") === slotName\n );\n\n// added as a common method to allow detection of gatsby hydration issue, where (camelCase) props are initially undefined & then update\n// with a value. Allows a callback function to be executed when this is the case\nexport const onComponentPropUndefinedChange = (\n oldValue: string | undefined,\n newValue: string | undefined,\n callback: IcCallbackFunctionNoReturn\n): void => {\n if (oldValue === undefined && newValue !== oldValue) {\n callback();\n }\n};\n\nexport const hasShadowDom = (el: HTMLElement): boolean =>\n !!el.shadowRoot && !!el.attachShadow;\n\nexport const getInputHelperTextID = (id: string): string => id + \"-helper-text\";\n\nexport const getInputValidationTextID = (id: string): string =>\n id + \"-validation-text\";\n\nexport const getInputDescribedByText = (\n inputId: string,\n helperText: boolean,\n validationText: boolean\n): string =>\n `${helperText ? getInputHelperTextID(inputId) : \"\"} ${\n validationText ? getInputValidationTextID(inputId) : \"\"\n }`.trim();\n\nexport const isMobileOrTablet = (): boolean =>\n \"maxTouchPoints\" in navigator ? navigator.maxTouchPoints > 0 : false;\n\n/**\n * Extracts the label using the value from an object. Requires the object to have a label and value property.\n * @param value - value from object\n * @param options - list of menu items\n * @returns - label corresponding to value\n */\nexport const getLabelFromValue = (\n value: string,\n options: IcMenuOption[],\n valueField = \"value\",\n labelField = \"label\"\n): string | undefined => {\n const ungroupedOptions: IcMenuOption[] = [];\n if (options.length > 0 && options.map) {\n options.map((option) => {\n if (option.children) {\n option.children.map((option: IcMenuOption) =>\n ungroupedOptions.push(option)\n );\n } else {\n ungroupedOptions.push(option);\n }\n });\n const matchingValue = ungroupedOptions.find(\n (option) => option[valueField] === value\n );\n if (matchingValue !== undefined) return matchingValue[labelField];\n }\n\n return undefined;\n};\n\n/**\n * Filters the options based on the search string.\n * @param options - array of options\n * @param includeDescriptions - determines whether option descriptions are included when filtering options\n * @param searchString - string used to filter the options\n * @param position - whether the search string matches the start of or anywhere in the options\n * @returns filtered array of options\n */\nexport const getFilteredMenuOptions = (\n options: IcMenuOption[],\n includeDescriptions: boolean,\n searchString: string,\n position: IcSearchMatchPositions,\n labelField = \"label\"\n): IcMenuOption[] =>\n options.filter((option) => {\n const label: string = option[labelField].toLowerCase();\n const description = option.description?.toLowerCase();\n const lowerSearchString = searchString.toLowerCase();\n\n return position === \"anywhere\"\n ? includeDescriptions\n ? label.includes(lowerSearchString) ||\n description?.includes(lowerSearchString)\n : label.includes(lowerSearchString)\n : includeDescriptions\n ? label.startsWith(lowerSearchString) ||\n description?.startsWith(lowerSearchString)\n : label.startsWith(lowerSearchString);\n });\n\n/**\n * Gets count of options where only group title \"parent\" options have been removed.\n * Disabled options are included in the count.\n * @param options - array of options\n * @returns number of options not including group titles\n */\nexport const getOptionsWithoutGroupTitlesCount = (\n options: IcMenuOption[]\n): number => {\n const optionsWithoutGroupTitles: IcMenuOption[] = [];\n\n if (options.length > 0 && options.map) {\n options.map((option) => {\n if (option.children) {\n option.children.map((option) => optionsWithoutGroupTitles.push(option));\n } else {\n optionsWithoutGroupTitles.push(option);\n }\n });\n }\n\n return optionsWithoutGroupTitles.length;\n};\n\nconst hex2dec = function (v: string) {\n return parseInt(v, 16);\n};\n\nexport const hexToRgba = (hex: string): IcColorRGBA => {\n let c;\n if (hex.length === 4) {\n c = hex.replace(\"#\", \"\").split(\"\");\n return {\n r: hex2dec(c[0] + c[0]),\n g: hex2dec(c[1] + c[1]),\n b: hex2dec(c[2] + c[2]),\n a: 1,\n };\n } else {\n return {\n r: hex2dec(hex.slice(1, 3)),\n g: hex2dec(hex.slice(3, 5)),\n b: hex2dec(hex.slice(5)),\n a: 1,\n };\n }\n};\n\nexport const rgbaStrToObj = (rgbaStr: string): IcColorRGBA => {\n const fourthChar = rgbaStr.slice(3, 4);\n let colorRGBA: IcColorRGBA;\n if (fourthChar.toLowerCase() === \"a\") {\n colorRGBA = { r: null, g: null, b: null, a: null };\n const rgba = rgbaStr\n .substring(5, rgbaStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\");\n colorRGBA.r = Number(rgba[0]);\n colorRGBA.g = Number(rgba[1]);\n colorRGBA.b = Number(rgba[2]);\n colorRGBA.a = Number(rgba[3]);\n } else {\n colorRGBA = { r: null, g: null, b: null, a: 1 };\n const rgb = rgbaStr\n .substring(4, rgbaStr.length - 1)\n .replace(/ /g, \"\")\n .split(\",\");\n colorRGBA.r = Number(rgb[0]);\n colorRGBA.g = Number(rgb[1]);\n colorRGBA.b = Number(rgb[2]);\n }\n\n return colorRGBA;\n};\n\nexport const elementOverflowsX = (element: HTMLElement): boolean =>\n element.scrollWidth > element.clientWidth;\n\n/**\n *\n * @param child - The child element\n * @returns string\n */\nexport const getParentElementType = (child: HTMLElement): string =>\n child.parentElement.tagName;\n\nexport const getParentElement = (child: HTMLElement): HTMLElement =>\n child.parentElement;\n\nexport const hasClassificationBanner = (): boolean =>\n !!document.querySelector(\"ic-classification-banner:not([inline='true'])\");\n\nexport const pxToRem = (px: string, base = 16): string =>\n `${(1 / base) * parseInt(px)}rem`;\n\nexport const isNumeric = (value: string): boolean => {\n return /^-?\\d+$/.test(value);\n};\n\nexport const hasValidationStatus = (\n status: IcInformationStatusOrEmpty,\n disabled: boolean\n): boolean => {\n return status !== \"\" && !disabled;\n};\n\nexport const onComponentRequiredPropUndefined = (\n props: IcPropObject[],\n component: string\n): void => {\n for (let i = 0; i < props.length; i++) {\n const { prop, propName } = props[i];\n if (prop === null || prop === undefined) {\n console.error(\n `No ${propName} specified for ${component} component - prop '${propName}' (web components) / '${kebabToCamelCase(\n propName\n )}' (react) required`\n );\n }\n }\n};\n\nexport const kebabToCamelCase = (kebabCase: string): string => {\n kebabCase = kebabCase.toLowerCase();\n const individualWords: string[] = kebabCase.split(\"-\");\n let camelCase = individualWords[0];\n for (let i = 1; i < individualWords.length; i++) {\n camelCase +=\n individualWords[i].substring(0, 1).toUpperCase() +\n individualWords[i].substring(1);\n }\n return camelCase;\n};\n\nexport const checkResizeObserver = (\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n if (\n typeof window !== \"undefined\" &&\n typeof window.ResizeObserver !== \"undefined\"\n ) {\n callbackFn();\n }\n};\n\nexport const getForm = (el: HTMLElement): HTMLFormElement => el.closest(\"FORM\");\n\nexport const addFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n const form = getForm(el);\n if (form !== null) {\n form.addEventListener(\"reset\", callbackFn);\n }\n};\n\nexport const removeFormResetListener = (\n el: HTMLElement,\n callbackFn: IcCallbackFunctionNoReturn\n): void => {\n const form = getForm(el);\n if (form !== null) {\n form.removeEventListener(\"reset\", callbackFn);\n }\n};\n\nexport const removeDisabledFalse = (\n disabled: boolean,\n element: HTMLElement\n): void => {\n if (!disabled) {\n element.removeAttribute(\"disabled\");\n }\n};\n\nexport const isMacDevice = (): boolean => {\n return window.navigator.userAgent.toUpperCase().indexOf(\"MAC\") >= 0;\n};\n\nexport async function waitForHydration(): Promise<boolean> {\n const elements = document.getElementsByTagName(\"*\");\n\n for (let i = 0; i < elements.length; i++) {\n if (elements[i].tagName.startsWith(\"IC-\")) {\n if (elements[i].classList.contains(\"hydrated\")) {\n return true;\n }\n } else {\n return false;\n }\n }\n\n return false;\n}\n\nexport const capitalize = (text: string): string => {\n return text.charAt(0).toUpperCase() + text.slice(1);\n};\n\nexport const checkSlotInChildMutations = (\n addedNodes: NodeList,\n removedNodes: NodeList,\n slotName: string\n): boolean => {\n const hasSlot = (nodeList: NodeList) =>\n Array.from(nodeList).some((node) => (node as Element).slot === slotName);\n return hasSlot(addedNodes) || hasSlot(removedNodes);\n};\n\nexport const addDataToPosition = (\n dataObject: IcDataTableDataType,\n newKeys: { key: string; index: number }[],\n newValue: unknown\n): IcDataTableDataType => {\n const newData: IcDataTableDataType = {};\n const newIndexes = newKeys.map((key) => key.index);\n\n const keys = Object.keys(dataObject);\n const values = Object.values(dataObject);\n const numberOfKeys = keys.length + newIndexes.length;\n\n for (let i = 0, j = 0; i < numberOfKeys; i++) {\n if (newIndexes.includes(i)) {\n newData[newKeys[newIndexes.indexOf(i)].key] = newValue;\n continue;\n }\n newData[keys[j]] = values[j];\n j++;\n }\n return newData;\n};\n"],"mappings":"MA+BaA,EAAoB,CAC/B,cACA,oBACA,YACA,gBACA,eACA,mBACA,mBACA,eACA,gBACA,kBACA,oBACA,gBACA,cACA,eACA,gBACA,cACA,eACA,oBACA,aACA,kBACA,YACA,YACA,gBACA,wBAWK,MAAMC,EAA4B,CACvC,UACA,oBACA,YACA,qBACA,YAGK,MAAMC,EAA4B,CAAC,YAMnC,MAAMC,EAA+C,CAC1D,WAAY,CAAC,Y,ICnDHC,GAAZ,SAAYA,GACVA,EAAA,qBACAA,EAAA,iBACAA,EAAA,oBACD,EAJD,CAAYA,MAAmB,K,IA0EnBC,GAAZ,SAAYA,GACVA,EAAA,qBACAA,EAAA,eACAA,EAAA,gBACD,EAJD,CAAYA,MAAqB,K,IA8FrBC,GAAZ,SAAYA,GACVA,IAAA,wBACAA,IAAA,0BACAA,IAAA,oBACAA,IAAA,oBACAA,IAAA,gBACAA,IAAA,kBACAA,IAAA,kBACAA,IAAA,sBACAA,IAAA,4BACAA,IAAA,wBACAA,IAAA,2BACAA,IAAA,0BACD,EAbD,CAAYA,MAAiB,K,IAejBC,GAAZ,SAAYA,GACVA,IAAA,gBACAA,IAAA,gBACAA,IAAA,gBACAA,IAAA,gBACAA,IAAA,gBACAA,IAAA,gBACAA,IAAA,eACD,EARD,CAAYA,MAAe,K,IAUfC,GAAZ,SAAYA,GACVA,IAAA,sBACAA,IAAA,sBACAA,IAAA,wBACAA,IAAA,4BACAA,IAAA,0BACAA,IAAA,sBACAA,IAAA,yBACD,EARD,CAAYA,MAAU,K,IAUVC,GAAZ,SAAYA,GACVA,IAAA,sBACAA,IAAA,sBACAA,IAAA,wBACAA,IAAA,4BACAA,IAAA,0BACAA,IAAA,sBACAA,IAAA,yBACD,EARD,CAAYA,MAAU,K,MC1MTC,EACXC,IAEA,MAAMC,EAAgB,GACtBC,OAAOC,OAAOH,GAASI,SAASC,IAC9B,GAAIC,MAAMC,OAAOF,IAAO,CACtB,MAAMG,EAAMH,EACZJ,EAAIQ,KAAKD,E,KAGb,OAAOP,CAAG,E,MAUCS,EAAoB,CAC/BC,EACAC,EAAuB,MAEvB,MAAMC,EAA8C,GAEpDD,EAAWR,SAASU,IAClB,GAAIH,EAAQI,aAAaD,GAAO,CAC9B,MAAME,EAAQL,EAAQM,aAAaH,GACnC,GAAIE,IAAU,KAAM,CAClBH,EAAgBC,GAAQH,EAAQM,aAAaH,E,CAE/CH,EAAQO,gBAAgBJ,E,KAI5B,OAAOD,CAAe,E,MA0BXM,EAAkB,CAC7BC,EACAC,KAEA,IAAIC,EACJ,MAAO,IAAIC,KACT,MAAMC,EAAQH,IACdI,aAAaH,GACbA,EAAQI,WAAWN,EAAMI,KAAUD,EAAK,CACzC,E,MAeUI,EAAoB,CAC/BC,EACAC,EACAC,EACAd,EACAe,KAEA,GAAID,IAASE,YAAcJ,GAAUK,EAAaJ,IAAa,CAC7D,MAAMK,EAASL,EAAUM,iBAAiB,kBAC1C,MAAMC,EAAWC,MAAMC,KAAKJ,GAC5B,MAAMK,EAAWH,EAASI,QAAQC,GAAOZ,IAAcY,EAAGC,gBAE1D,IAAIC,EAAQJ,EAAS,GACrB,GAAII,IAAU,MAAQA,IAAUX,UAAW,CACzCW,EAAQd,EAAUe,cAAcC,cAAc,SAC9CF,EAAMG,KAAO,SACbH,EAAMI,UAAUC,IAAI,YACpBnB,EAAUoB,YAAYN,E,CAExBA,EAAMZ,SAAWA,EACjBY,EAAMb,KAAOA,EAEb,GAAId,aAAiBkC,KAAM,CACzBP,EAAM3B,MAAQA,EAAQA,EAAMmC,cAAgB,I,KACvC,CACLR,EAAM3B,MAAQA,GAAS,E,UAyBhBoC,EAAsB,CACjCX,EACAY,EAAoC,Q,MAEpC,MAAMX,EACJD,EAAGC,eAA8BD,EAAGa,cAAeC,KAAKb,cAC1D,MAAMc,EAAmBd,EAAce,QACrCnE,EAA0BoE,KAAK,MAIjC,GAAIF,IAAqB,KAAM,CAC7B,MAAMG,EAAYH,EAAiBI,QAAQC,cAC3C,MAAMC,EAAarB,EAAGmB,QAAQC,cAE9B,IAAIE,EAAAvE,EAA0BmE,MAAU,MAAAI,SAAA,SAAAA,EAAEC,SAASF,GAAa,CAC9D,OAAOpE,EAAsBuE,O,MACxB,GACLZ,IAAmB,OAClB9D,EAA0ByE,SAASL,GACpC,CACA,OAAON,C,MACF,GACLG,EAAiBT,UAAUmB,SAASxE,EAAsByE,MAC1D,CACA,OAAOzE,EAAsByE,I,CAG/B,OAAOzE,EAAsB0E,K,CAG/B,OAAO1E,EAAsBuE,OAAO,E,MAyBzBI,EAAiBrD,GAC5BA,EAAQA,EAAMsD,OAAOC,SAAW,EAAI,K,MAGzBC,EAAiBC,GAC5BA,IAASzC,UAAYyC,EAAO,KAsBvB,MAAMC,EAAkBC,GAC7BC,iBAAiBC,SAASC,iBAAiBC,iBAAiBJ,G,MAoDjDK,EACXC,IAEA,MAAMC,EAAcD,EAAKE,kBAEzB,GAAID,IAAgB,KAAM,CACxB,MAAME,EAAWF,EAAYG,iBACzBH,EAAYG,mBACZH,EAAYI,WAChB,OAAOF,EAASb,OAASa,EAAWH,EAAKrB,QAAU,CAACqB,GAAQ,I,KACvD,CAEL,OAAOA,IAAS,KAAO,KAAO,CAACA,E,KA0BjCM,GAAIhF,OAAOmE,EAAe,sBAAsBc,QAAQ,KAAM,KAC9DC,EAAGlF,OAAOmE,EAAe,sBAAsBc,QAAQ,KAAM,KAC7DE,EAAGnF,OAAOmE,EAAe,sBAAsBc,QAAQ,KAAM,KAC7DG,EAAGpF,OAAOmE,EAAe,sBAAsBc,QAAQ,KAAM,KAC7DI,GAAIrF,OAAOmE,EAAe,sBAAsBc,QAAQ,KAAM,KAC9DK,UAAW,O,MAGAC,EAAa,CAACnF,EAAsBoF,IAC/C1D,MAAMC,KAAK3B,EAAQqF,UAAUC,MAC1BC,GAAUA,EAAMjF,aAAa,UAAY8E,IAevC,MAAM9D,EAAgBQ,KACzBA,EAAG0D,cAAgB1D,EAAG2D,aAEnB,MAAMC,EAAwBC,GAAuBA,EAAK,eAE1D,MAAMC,EAA4BD,GACvCA,EAAK,mB,MAEME,EAA0B,CACrCC,EACAC,EACAC,IAEA,GAAGD,EAAaL,EAAqBI,GAAW,MAC9CE,EAAiBJ,EAAyBE,GAAW,KACpDnC,O,MAEQsC,EAAmB,IAC9B,mBAAoBC,UAAYA,UAAUC,eAAiB,EAAI,M,MAQpDC,EAAoB,CAC/B/F,EACAgG,EACAC,EAAa,QACbC,EAAa,WAEb,MAAMC,EAAmC,GACzC,GAAIH,EAAQzC,OAAS,GAAKyC,EAAQI,IAAK,CACrCJ,EAAQI,KAAKC,IACX,GAAIA,EAAOrB,SAAU,CACnBqB,EAAOrB,SAASoB,KAAKC,GACnBF,EAAiB1G,KAAK4G,I,KAEnB,CACLF,EAAiB1G,KAAK4G,E,KAG1B,MAAMC,EAAgBH,EAAiBI,MACpCF,GAAWA,EAAOJ,KAAgBjG,IAErC,GAAIsG,IAAkBtF,UAAW,OAAOsF,EAAcJ,E,CAGxD,OAAOlF,SAAS,E,MAWLwF,EAAyB,CACpCR,EACAS,EACAC,EACAC,EACAT,EAAa,UAEbF,EAAQxE,QAAQ6E,I,MACd,MAAMO,EAAgBP,EAAOH,GAAYrD,cACzC,MAAMgE,GAAc9D,EAAAsD,EAAOQ,eAAW,MAAA9D,SAAA,SAAAA,EAAEF,cACxC,MAAMiE,EAAoBJ,EAAa7D,cAEvC,OAAO8D,IAAa,WAChBF,EACEG,EAAM5D,SAAS8D,KACfD,IAAW,MAAXA,SAAW,SAAXA,EAAa7D,SAAS8D,IACtBF,EAAM5D,SAAS8D,GACjBL,EACAG,EAAMG,WAAWD,KACjBD,IAAW,MAAXA,SAAW,SAAXA,EAAaE,WAAWD,IACxBF,EAAMG,WAAWD,EAAkB,I,MAS9BE,EACXhB,IAEA,MAAMiB,EAA4C,GAElD,GAAIjB,EAAQzC,OAAS,GAAKyC,EAAQI,IAAK,CACrCJ,EAAQI,KAAKC,IACX,GAAIA,EAAOrB,SAAU,CACnBqB,EAAOrB,SAASoB,KAAKC,GAAWY,EAA0BxH,KAAK4G,I,KAC1D,CACLY,EAA0BxH,KAAK4G,E,KAKrC,OAAOY,EAA0B1D,MAAM,E,MAuE5B2D,EAAU,CAACC,EAAYC,EAAO,KACzC,GAAI,EAAIA,EAAQC,SAASF,Q,MAEdG,EAAatH,GACjB,UAAUuH,KAAKvH,G,MAGXwH,EAAsB,CACjCC,EACA1G,IAEO0G,IAAW,KAAO1G,E,MAGd2G,EAAmC,CAC9CC,EACAC,KAEA,IAAK,IAAIC,EAAI,EAAGA,EAAIF,EAAMpE,OAAQsE,IAAK,CACrC,MAAMpE,KAAEA,EAAIqE,SAAEA,GAAaH,EAAME,GACjC,GAAIpE,IAAS,MAAQA,IAASzC,UAAW,CACvC+G,QAAQC,MACN,MAAMF,mBAA0BF,uBAA+BE,0BAAiCG,EAC9FH,uB,IAOH,MAAMG,EAAoBC,IAC/BA,EAAYA,EAAUrF,cACtB,MAAMsF,EAA4BD,EAAUE,MAAM,KAClD,IAAIC,EAAYF,EAAgB,GAChC,IAAK,IAAIN,EAAI,EAAGA,EAAIM,EAAgB5E,OAAQsE,IAAK,CAC/CQ,GACEF,EAAgBN,GAAGS,UAAU,EAAG,GAAGC,cACnCJ,EAAgBN,GAAGS,UAAU,E,CAEjC,OAAOD,CAAS,E,MAGLG,EACXC,IAEA,UACSC,SAAW,oBACXA,OAAOC,iBAAmB,YACjC,CACAF,G,GAIG,MAAMG,EAAWnH,GAAqCA,EAAGgB,QAAQ,Q,MAE3DoG,EAAuB,CAClCpH,EACAgH,KAEA,MAAMK,EAAOF,EAAQnH,GACrB,GAAIqH,IAAS,KAAM,CACjBA,EAAKC,iBAAiB,QAASN,E,SAItBO,EAA0B,CACrCvH,EACAgH,KAEA,MAAMK,EAAOF,EAAQnH,GACrB,GAAIqH,IAAS,KAAM,CACjBA,EAAKG,oBAAoB,QAASR,E,SAIzBS,EAAsB,CACjCnI,EACApB,KAEA,IAAKoB,EAAU,CACbpB,EAAQO,gBAAgB,W,SAIfiJ,EAAc,IAClBT,OAAO7C,UAAUuD,UAAUb,cAAcc,QAAQ,QAAU,E,MAmBvDC,EAAcC,GAClBA,EAAKC,OAAO,GAAGjB,cAAgBgB,EAAKE,MAAM,G,MAGtCC,EAA4B,CACvCC,EACAC,EACA7E,KAEA,MAAM8E,EAAWC,GACfzI,MAAMC,KAAKwI,GAAU7E,MAAM8E,GAAUA,EAAiB9F,OAASc,IACjE,OAAO8E,EAAQF,IAAeE,EAAQD,EAAa,E,MAGxCI,EAAoB,CAC/BC,EACAC,EACAC,KAEA,MAAMC,EAA+B,GACrC,MAAMC,EAAaH,EAAQ9D,KAAKkE,GAAQA,EAAIC,QAE5C,MAAMC,EAAOtL,OAAOsL,KAAKP,GACzB,MAAM9K,EAASD,OAAOC,OAAO8K,GAC7B,MAAMQ,EAAeD,EAAKjH,OAAS8G,EAAW9G,OAE9C,IAAK,IAAIsE,EAAI,EAAG6C,EAAI,EAAG7C,EAAI4C,EAAc5C,IAAK,CAC5C,GAAIwC,EAAWrH,SAAS6E,GAAI,CAC1BuC,EAAQF,EAAQG,EAAWhB,QAAQxB,IAAIyC,KAAOH,EAC9C,Q,CAEFC,EAAQI,EAAKE,IAAMvL,EAAOuL,GAC1BA,G,CAEF,OAAON,CAAO,S"}