@ukic/canary-web-components 3.0.0-canary.16 → 3.0.0-canary.18

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (617) hide show
  1. package/README.md +19 -0
  2. package/dist/cjs/core.cjs.js +1 -1
  3. package/dist/cjs/{helpers-d01564f7.js → helpers-6f33d131.js} +31 -33
  4. package/dist/cjs/helpers-6f33d131.js.map +1 -0
  5. package/dist/cjs/{helpers-199b92d5.js → helpers-f4e7322b.js} +36 -73
  6. package/dist/cjs/helpers-f4e7322b.js.map +1 -0
  7. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  8. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-alert.cjs.entry.js +63 -36
  12. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-back-to-top.cjs.entry.js +4 -4
  14. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-badge.cjs.entry.js +41 -17
  16. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +56 -76
  18. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-breadcrumb.cjs.entry.js +32 -51
  20. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-button_3.cjs.entry.js +135 -131
  22. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-card-horizontal.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-card-vertical.cjs.entry.js +6 -6
  25. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-checkbox-group.cjs.entry.js +9 -10
  27. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-checkbox_3.cjs.entry.js +38 -37
  29. package/dist/cjs/ic-checkbox_3.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-chip.cjs.entry.js +26 -38
  31. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-classification-banner.cjs.entry.js +2 -2
  33. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  35. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-data-row.cjs.entry.js +3 -3
  37. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-data-table-title-bar.cjs.entry.js +1 -1
  39. package/dist/cjs/ic-data-table.cjs.entry.js +15 -19
  40. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-date-input.cjs.entry.js +1 -1
  42. package/dist/cjs/ic-date-picker.cjs.entry.js +1 -1
  43. package/dist/cjs/ic-dialog.cjs.entry.js +3 -3
  44. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-divider.cjs.entry.js +2 -2
  46. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
  48. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-footer-link.cjs.entry.js +3 -3
  50. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-footer.cjs.entry.js +4 -4
  52. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-hero.cjs.entry.js +5 -5
  54. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +6 -6
  56. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +9 -9
  58. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-input-label_2.cjs.entry.js +8 -8
  60. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-link.cjs.entry.js +21 -3
  62. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  64. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-menu-item.cjs.entry.js +5 -5
  66. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-navigation-button.cjs.entry.js +3 -3
  68. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-navigation-group.cjs.entry.js +3 -3
  70. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-navigation-item.cjs.entry.js +12 -7
  72. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
  74. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-page-header.cjs.entry.js +7 -7
  76. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-pagination_4.cjs.entry.js +83 -83
  78. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-popover-menu.cjs.entry.js +8 -7
  80. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-radio-group.cjs.entry.js +5 -5
  82. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-radio-option.cjs.entry.js +6 -6
  84. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-search-bar.cjs.entry.js +112 -135
  86. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  88. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-side-navigation.cjs.entry.js +6 -6
  90. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  92. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-skip-link.cjs.entry.js +10 -3
  94. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
  96. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-step.cjs.entry.js +15 -15
  98. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
  100. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-switch.cjs.entry.js +6 -6
  102. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  104. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  106. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  108. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-tab.cjs.entry.js +3 -3
  110. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-theme.cjs.entry.js +4 -2
  112. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  113. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  114. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  115. package/dist/cjs/ic-toast.cjs.entry.js +4 -4
  116. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  117. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +3 -3
  118. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  119. package/dist/cjs/ic-toggle-button.cjs.entry.js +4 -4
  120. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  121. package/dist/cjs/ic-top-navigation.cjs.entry.js +5 -5
  122. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  123. package/dist/cjs/ic-tree-item.cjs.entry.js +8 -3
  124. package/dist/cjs/ic-tree-item.cjs.entry.js.map +1 -1
  125. package/dist/cjs/ic-tree-view.cjs.entry.js +7 -6
  126. package/dist/cjs/ic-tree-view.cjs.entry.js.map +1 -1
  127. package/dist/cjs/ic-typography.cjs.entry.js +4 -4
  128. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  129. package/dist/cjs/loader.cjs.js +1 -1
  130. package/dist/collection/components/ic-data-table/ic-data-table.js +14 -18
  131. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  132. package/dist/collection/components/ic-data-table/story-data.js +8 -7
  133. package/dist/collection/components/ic-data-table/story-data.js.map +1 -1
  134. package/dist/collection/components/ic-tree-item/ic-tree-item.js +23 -2
  135. package/dist/collection/components/ic-tree-item/ic-tree-item.js.map +1 -1
  136. package/dist/collection/components/ic-tree-view/ic-tree-view.js +6 -5
  137. package/dist/collection/components/ic-tree-view/ic-tree-view.js.map +1 -1
  138. package/dist/collection/components/ic-tree-view/ic-tree-view.stories.js +13 -1
  139. package/dist/collection/components/ic-tree-view/ic-tree-view.stories.js.map +1 -1
  140. package/dist/collection/utils/constants.js +40 -1
  141. package/dist/collection/utils/constants.js.map +1 -1
  142. package/dist/collection/utils/helpers.js +177 -135
  143. package/dist/collection/utils/helpers.js.map +1 -1
  144. package/dist/collection/utils/types.js.map +1 -1
  145. package/dist/components/helpers.js +36 -73
  146. package/dist/components/helpers.js.map +1 -1
  147. package/dist/components/helpers2.js +30 -32
  148. package/dist/components/helpers2.js.map +1 -1
  149. package/dist/components/ic-accordion-group.js.map +1 -1
  150. package/dist/components/ic-accordion.js.map +1 -1
  151. package/dist/components/ic-alert.js +66 -37
  152. package/dist/components/ic-alert.js.map +1 -1
  153. package/dist/components/ic-back-to-top.js +3 -3
  154. package/dist/components/ic-back-to-top.js.map +1 -1
  155. package/dist/components/ic-badge.js +40 -16
  156. package/dist/components/ic-badge.js.map +1 -1
  157. package/dist/components/ic-breadcrumb-group.js +57 -78
  158. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  159. package/dist/components/ic-breadcrumb2.js +32 -51
  160. package/dist/components/ic-breadcrumb2.js.map +1 -1
  161. package/dist/components/ic-button2.js +105 -126
  162. package/dist/components/ic-button2.js.map +1 -1
  163. package/dist/components/ic-card-vertical.js +5 -5
  164. package/dist/components/ic-card-vertical.js.map +1 -1
  165. package/dist/components/ic-checkbox-group.js +9 -10
  166. package/dist/components/ic-checkbox-group.js.map +1 -1
  167. package/dist/components/ic-checkbox2.js +37 -36
  168. package/dist/components/ic-checkbox2.js.map +1 -1
  169. package/dist/components/ic-chip.js +28 -40
  170. package/dist/components/ic-chip.js.map +1 -1
  171. package/dist/components/ic-classification-banner.js +2 -2
  172. package/dist/components/ic-classification-banner.js.map +1 -1
  173. package/dist/components/ic-data-list.js +2 -2
  174. package/dist/components/ic-data-list.js.map +1 -1
  175. package/dist/components/ic-data-row.js +3 -3
  176. package/dist/components/ic-data-row.js.map +1 -1
  177. package/dist/components/ic-data-table.js +14 -18
  178. package/dist/components/ic-data-table.js.map +1 -1
  179. package/dist/components/ic-dialog.js +2 -2
  180. package/dist/components/ic-dialog.js.map +1 -1
  181. package/dist/components/ic-divider2.js +2 -2
  182. package/dist/components/ic-divider2.js.map +1 -1
  183. package/dist/components/ic-empty-state2.js +2 -2
  184. package/dist/components/ic-empty-state2.js.map +1 -1
  185. package/dist/components/ic-footer-link-group.js +1 -1
  186. package/dist/components/ic-footer-link-group.js.map +1 -1
  187. package/dist/components/ic-footer-link.js +2 -2
  188. package/dist/components/ic-footer-link.js.map +1 -1
  189. package/dist/components/ic-footer.js +4 -4
  190. package/dist/components/ic-footer.js.map +1 -1
  191. package/dist/components/ic-hero.js +5 -5
  192. package/dist/components/ic-hero.js.map +1 -1
  193. package/dist/components/ic-horizontal-scroll2.js +6 -6
  194. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  195. package/dist/components/ic-input-component-container2.js +4 -4
  196. package/dist/components/ic-input-component-container2.js.map +1 -1
  197. package/dist/components/ic-input-container2.js +2 -2
  198. package/dist/components/ic-input-container2.js.map +1 -1
  199. package/dist/components/ic-input-label2.js +5 -5
  200. package/dist/components/ic-input-label2.js.map +1 -1
  201. package/dist/components/ic-input-validation2.js +4 -4
  202. package/dist/components/ic-input-validation2.js.map +1 -1
  203. package/dist/components/ic-link2.js +23 -3
  204. package/dist/components/ic-link2.js.map +1 -1
  205. package/dist/components/ic-loading-indicator2.js +3 -3
  206. package/dist/components/ic-loading-indicator2.js.map +1 -1
  207. package/dist/components/ic-menu-group.js +1 -1
  208. package/dist/components/ic-menu-group.js.map +1 -1
  209. package/dist/components/ic-menu-item2.js +4 -4
  210. package/dist/components/ic-menu-item2.js.map +1 -1
  211. package/dist/components/ic-menu2.js +4 -4
  212. package/dist/components/ic-menu2.js.map +1 -1
  213. package/dist/components/ic-navigation-button.js +2 -2
  214. package/dist/components/ic-navigation-button.js.map +1 -1
  215. package/dist/components/ic-navigation-group.js +3 -3
  216. package/dist/components/ic-navigation-group.js.map +1 -1
  217. package/dist/components/ic-navigation-item.js +12 -7
  218. package/dist/components/ic-navigation-item.js.map +1 -1
  219. package/dist/components/ic-navigation-menu2.js +5 -5
  220. package/dist/components/ic-navigation-menu2.js.map +1 -1
  221. package/dist/components/ic-page-header.js +6 -6
  222. package/dist/components/ic-page-header.js.map +1 -1
  223. package/dist/components/ic-pagination-item2.js +2 -2
  224. package/dist/components/ic-pagination-item2.js.map +1 -1
  225. package/dist/components/ic-pagination2.js +4 -4
  226. package/dist/components/ic-pagination2.js.map +1 -1
  227. package/dist/components/ic-popover-menu.js +7 -6
  228. package/dist/components/ic-popover-menu.js.map +1 -1
  229. package/dist/components/ic-radio-group.js +5 -5
  230. package/dist/components/ic-radio-group.js.map +1 -1
  231. package/dist/components/ic-radio-option.js +6 -6
  232. package/dist/components/ic-radio-option.js.map +1 -1
  233. package/dist/components/ic-search-bar.js +112 -135
  234. package/dist/components/ic-search-bar.js.map +1 -1
  235. package/dist/components/ic-section-container2.js +2 -2
  236. package/dist/components/ic-section-container2.js.map +1 -1
  237. package/dist/components/ic-select2.js +47 -50
  238. package/dist/components/ic-select2.js.map +1 -1
  239. package/dist/components/ic-side-navigation.js +6 -6
  240. package/dist/components/ic-side-navigation.js.map +1 -1
  241. package/dist/components/ic-skeleton.js +2 -2
  242. package/dist/components/ic-skeleton.js.map +1 -1
  243. package/dist/components/ic-skip-link.js +12 -4
  244. package/dist/components/ic-skip-link.js.map +1 -1
  245. package/dist/components/ic-status-tag.js +2 -2
  246. package/dist/components/ic-status-tag.js.map +1 -1
  247. package/dist/components/ic-step.js +14 -14
  248. package/dist/components/ic-step.js.map +1 -1
  249. package/dist/components/ic-stepper.js +3 -3
  250. package/dist/components/ic-stepper.js.map +1 -1
  251. package/dist/components/ic-switch.js +6 -6
  252. package/dist/components/ic-switch.js.map +1 -1
  253. package/dist/components/ic-tab-context.js +1 -1
  254. package/dist/components/ic-tab-context.js.map +1 -1
  255. package/dist/components/ic-tab-group.js +2 -2
  256. package/dist/components/ic-tab-group.js.map +1 -1
  257. package/dist/components/ic-tab-panel.js +2 -2
  258. package/dist/components/ic-tab-panel.js.map +1 -1
  259. package/dist/components/ic-tab.js +2 -2
  260. package/dist/components/ic-tab.js.map +1 -1
  261. package/dist/components/ic-text-field2.js +32 -29
  262. package/dist/components/ic-text-field2.js.map +1 -1
  263. package/dist/components/ic-theme.js +3 -1
  264. package/dist/components/ic-theme.js.map +1 -1
  265. package/dist/components/ic-toast-region.js +1 -1
  266. package/dist/components/ic-toast-region.js.map +1 -1
  267. package/dist/components/ic-toast.js +4 -4
  268. package/dist/components/ic-toast.js.map +1 -1
  269. package/dist/components/ic-toggle-button-group.js +2 -2
  270. package/dist/components/ic-toggle-button-group.js.map +1 -1
  271. package/dist/components/ic-toggle-button.js +3 -3
  272. package/dist/components/ic-toggle-button.js.map +1 -1
  273. package/dist/components/ic-tooltip2.js +30 -2
  274. package/dist/components/ic-tooltip2.js.map +1 -1
  275. package/dist/components/ic-top-navigation.js +5 -5
  276. package/dist/components/ic-top-navigation.js.map +1 -1
  277. package/dist/components/ic-tree-item.js +8 -2
  278. package/dist/components/ic-tree-item.js.map +1 -1
  279. package/dist/components/ic-tree-view.js +6 -5
  280. package/dist/components/ic-tree-view.js.map +1 -1
  281. package/dist/components/ic-typography2.js +3 -3
  282. package/dist/components/ic-typography2.js.map +1 -1
  283. package/dist/core/core.css +160 -110
  284. package/dist/core/core.esm.js +1 -1
  285. package/dist/core/core.esm.js.map +1 -1
  286. package/dist/core/p-09f54ca3.entry.js +2 -0
  287. package/dist/core/p-09f54ca3.entry.js.map +1 -0
  288. package/dist/core/{p-f5e9c8c8.entry.js → p-0a0b25c5.entry.js} +2 -2
  289. package/dist/core/{p-a2fcea60.entry.js → p-0e3a62cc.entry.js} +2 -2
  290. package/dist/core/p-10703715.entry.js +2 -0
  291. package/dist/core/p-10703715.entry.js.map +1 -0
  292. package/dist/core/{p-643a94c2.entry.js → p-1aed572a.entry.js} +2 -2
  293. package/dist/core/{p-643a94c2.entry.js.map → p-1aed572a.entry.js.map} +1 -1
  294. package/dist/core/{p-37df68fe.entry.js → p-1be17f22.entry.js} +2 -2
  295. package/dist/core/{p-37df68fe.entry.js.map → p-1be17f22.entry.js.map} +1 -1
  296. package/dist/core/p-1fd22368.entry.js +2 -0
  297. package/dist/core/{p-ca5d3a21.entry.js.map → p-1fd22368.entry.js.map} +1 -1
  298. package/dist/core/{p-214a48c6.entry.js → p-266686d0.entry.js} +2 -2
  299. package/dist/core/p-266686d0.entry.js.map +1 -0
  300. package/dist/core/{p-2d9c36a6.entry.js → p-33f4abc9.entry.js} +2 -2
  301. package/dist/core/p-33f4abc9.entry.js.map +1 -0
  302. package/dist/core/p-3800cda8.entry.js +2 -0
  303. package/dist/core/p-3800cda8.entry.js.map +1 -0
  304. package/dist/core/{p-336be00c.entry.js → p-45f32fea.entry.js} +2 -2
  305. package/dist/core/p-45f32fea.entry.js.map +1 -0
  306. package/dist/core/{p-fa02a267.entry.js → p-4b6818d9.entry.js} +2 -2
  307. package/dist/core/{p-fa02a267.entry.js.map → p-4b6818d9.entry.js.map} +1 -1
  308. package/dist/core/{p-3ee70c45.entry.js → p-5744b8b3.entry.js} +2 -2
  309. package/dist/core/{p-3ee70c45.entry.js.map → p-5744b8b3.entry.js.map} +1 -1
  310. package/dist/core/{p-f2beca5c.entry.js → p-59bc9fe7.entry.js} +2 -2
  311. package/dist/core/{p-f2beca5c.entry.js.map → p-59bc9fe7.entry.js.map} +1 -1
  312. package/dist/core/{p-858dd362.entry.js → p-5c363e21.entry.js} +2 -2
  313. package/dist/core/p-671acf27.entry.js +2 -0
  314. package/dist/core/p-671acf27.entry.js.map +1 -0
  315. package/dist/core/p-6724039c.entry.js +2 -0
  316. package/dist/core/p-6724039c.entry.js.map +1 -0
  317. package/dist/core/{p-65ddc948.entry.js → p-6e0f4278.entry.js} +2 -2
  318. package/dist/core/p-6e0f4278.entry.js.map +1 -0
  319. package/dist/core/{p-8856dff4.entry.js → p-72c117b6.entry.js} +2 -2
  320. package/dist/core/{p-8856dff4.entry.js.map → p-72c117b6.entry.js.map} +1 -1
  321. package/dist/core/{p-91b8ee39.entry.js → p-7c096c5e.entry.js} +2 -2
  322. package/dist/core/{p-91b8ee39.entry.js.map → p-7c096c5e.entry.js.map} +1 -1
  323. package/dist/core/p-824cbf95.entry.js +2 -0
  324. package/dist/core/p-824cbf95.entry.js.map +1 -0
  325. package/dist/core/p-84daed4d.entry.js +2 -0
  326. package/dist/core/p-84daed4d.entry.js.map +1 -0
  327. package/dist/core/p-8ae0fd6f.entry.js +2 -0
  328. package/dist/core/p-8ae0fd6f.entry.js.map +1 -0
  329. package/dist/core/p-8b5022bc.entry.js +2 -0
  330. package/dist/core/p-8b5022bc.entry.js.map +1 -0
  331. package/dist/core/p-92a969b3.entry.js +2 -0
  332. package/dist/core/p-92a969b3.entry.js.map +1 -0
  333. package/dist/core/{p-a12dd148.entry.js → p-93e154e0.entry.js} +2 -2
  334. package/dist/core/{p-a12dd148.entry.js.map → p-93e154e0.entry.js.map} +1 -1
  335. package/dist/core/p-954959d4.entry.js +2 -0
  336. package/dist/core/p-954959d4.entry.js.map +1 -0
  337. package/dist/core/{p-7b13ccd0.entry.js → p-95868542.entry.js} +2 -2
  338. package/dist/core/{p-7b13ccd0.entry.js.map → p-95868542.entry.js.map} +1 -1
  339. package/dist/core/p-9882c572.entry.js +2 -0
  340. package/dist/core/p-9882c572.entry.js.map +1 -0
  341. package/dist/core/p-9918c411.entry.js +2 -0
  342. package/dist/core/p-9918c411.entry.js.map +1 -0
  343. package/dist/core/{p-110486f0.entry.js → p-9ca147f3.entry.js} +2 -2
  344. package/dist/core/{p-110486f0.entry.js.map → p-9ca147f3.entry.js.map} +1 -1
  345. package/dist/core/{p-5ec11974.entry.js → p-a054bb1b.entry.js} +2 -2
  346. package/dist/core/{p-5ec11974.entry.js.map → p-a054bb1b.entry.js.map} +1 -1
  347. package/dist/core/p-aa83f828.entry.js +2 -0
  348. package/dist/core/p-aa83f828.entry.js.map +1 -0
  349. package/dist/core/{p-9bf0ce9e.entry.js → p-ad390076.entry.js} +2 -2
  350. package/dist/core/{p-9bf0ce9e.entry.js.map → p-ad390076.entry.js.map} +1 -1
  351. package/dist/core/p-ad45f8f8.entry.js +2 -0
  352. package/dist/core/p-ad45f8f8.entry.js.map +1 -0
  353. package/dist/core/{p-bb9142fe.entry.js → p-af1d6e41.entry.js} +2 -2
  354. package/dist/core/{p-cd0dbcea.entry.js → p-b7d117e8.entry.js} +2 -2
  355. package/dist/core/{p-cd0dbcea.entry.js.map → p-b7d117e8.entry.js.map} +1 -1
  356. package/dist/core/{p-1b31a720.entry.js → p-b92e5fb3.entry.js} +2 -2
  357. package/dist/core/{p-1b31a720.entry.js.map → p-b92e5fb3.entry.js.map} +1 -1
  358. package/dist/core/{p-701696aa.entry.js → p-b9459ba2.entry.js} +2 -2
  359. package/dist/core/{p-701696aa.entry.js.map → p-b9459ba2.entry.js.map} +1 -1
  360. package/dist/core/p-b947e4ff.entry.js +2 -0
  361. package/dist/core/p-b947e4ff.entry.js.map +1 -0
  362. package/dist/core/{p-50f4d151.entry.js → p-bc2ca778.entry.js} +2 -2
  363. package/dist/core/{p-50f4d151.entry.js.map → p-bc2ca778.entry.js.map} +1 -1
  364. package/dist/core/{p-19c4cc6c.entry.js → p-bff6fef6.entry.js} +2 -2
  365. package/dist/core/{p-19c4cc6c.entry.js.map → p-bff6fef6.entry.js.map} +1 -1
  366. package/dist/core/p-c472cb32.entry.js +2 -0
  367. package/dist/core/p-c472cb32.entry.js.map +1 -0
  368. package/dist/core/p-cd770df5.entry.js +2 -0
  369. package/dist/core/{p-48465394.entry.js.map → p-cd770df5.entry.js.map} +1 -1
  370. package/dist/core/p-d328f6fc.entry.js +2 -0
  371. package/dist/core/p-d328f6fc.entry.js.map +1 -0
  372. package/dist/core/p-d3d48548.entry.js +2 -0
  373. package/dist/core/p-d3d48548.entry.js.map +1 -0
  374. package/dist/core/{p-071f4748.entry.js → p-df88ff5b.entry.js} +2 -2
  375. package/dist/core/{p-071f4748.entry.js.map → p-df88ff5b.entry.js.map} +1 -1
  376. package/dist/core/p-e38b20bf.entry.js +2 -0
  377. package/dist/core/p-e38b20bf.entry.js.map +1 -0
  378. package/dist/core/{p-ed416362.entry.js → p-e64e27be.entry.js} +2 -2
  379. package/dist/core/{p-ed416362.entry.js.map → p-e64e27be.entry.js.map} +1 -1
  380. package/dist/core/{p-8402fcf7.entry.js → p-e7c00131.entry.js} +2 -2
  381. package/dist/core/p-e7c00131.entry.js.map +1 -0
  382. package/dist/core/{p-5bd43e19.entry.js → p-e9683f52.entry.js} +2 -2
  383. package/dist/core/{p-5bd43e19.entry.js.map → p-e9683f52.entry.js.map} +1 -1
  384. package/dist/core/{p-b88ae211.entry.js → p-ead9900a.entry.js} +2 -2
  385. package/dist/core/{p-b88ae211.entry.js.map → p-ead9900a.entry.js.map} +1 -1
  386. package/dist/core/p-eb74cab5.entry.js +2 -0
  387. package/dist/core/p-eb74cab5.entry.js.map +1 -0
  388. package/dist/core/{p-944ea274.entry.js → p-eb88b348.entry.js} +2 -2
  389. package/dist/core/{p-944ea274.entry.js.map → p-eb88b348.entry.js.map} +1 -1
  390. package/dist/core/p-eca2fea1.js +2 -0
  391. package/dist/core/p-eca2fea1.js.map +1 -0
  392. package/dist/core/p-ed542433.js +2 -0
  393. package/dist/core/p-ed542433.js.map +1 -0
  394. package/dist/core/p-edeb3823.entry.js +2 -0
  395. package/dist/core/p-edeb3823.entry.js.map +1 -0
  396. package/dist/core/{p-91d5efc0.entry.js → p-ef07630d.entry.js} +2 -2
  397. package/dist/core/{p-91d5efc0.entry.js.map → p-ef07630d.entry.js.map} +1 -1
  398. package/dist/core/p-f6141c29.entry.js +2 -0
  399. package/dist/core/p-f6141c29.entry.js.map +1 -0
  400. package/dist/core/{p-b006976c.entry.js → p-f6eaec92.entry.js} +2 -2
  401. package/dist/core/p-f6eaec92.entry.js.map +1 -0
  402. package/dist/core/{p-c3f26b24.entry.js → p-f9a16fa8.entry.js} +2 -2
  403. package/dist/core/{p-c3f26b24.entry.js.map → p-f9a16fa8.entry.js.map} +1 -1
  404. package/dist/core/{p-2c7e9e71.entry.js → p-fb1fce87.entry.js} +2 -2
  405. package/dist/core/{p-2c7e9e71.entry.js.map → p-fb1fce87.entry.js.map} +1 -1
  406. package/dist/core/{p-520dce89.entry.js → p-fb8214a9.entry.js} +2 -2
  407. package/dist/core/p-fb8214a9.entry.js.map +1 -0
  408. package/dist/core/{p-6cfd6b56.entry.js → p-fb8d27fa.entry.js} +2 -2
  409. package/dist/core/{p-6cfd6b56.entry.js.map → p-fb8d27fa.entry.js.map} +1 -1
  410. package/dist/core/{p-123bd8ce.entry.js → p-fbcc2a11.entry.js} +2 -2
  411. package/dist/core/p-fbcc2a11.entry.js.map +1 -0
  412. package/dist/esm/core.js +1 -1
  413. package/dist/esm/{helpers-ddc2008a.js → helpers-0bb68835.js} +31 -33
  414. package/dist/esm/helpers-0bb68835.js.map +1 -0
  415. package/dist/esm/{helpers-9fe45194.js → helpers-fc03923c.js} +37 -74
  416. package/dist/esm/helpers-fc03923c.js.map +1 -0
  417. package/dist/esm/ic-accordion-group.entry.js +1 -1
  418. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  419. package/dist/esm/ic-accordion.entry.js +1 -1
  420. package/dist/esm/ic-accordion.entry.js.map +1 -1
  421. package/dist/esm/ic-alert.entry.js +63 -36
  422. package/dist/esm/ic-alert.entry.js.map +1 -1
  423. package/dist/esm/ic-back-to-top.entry.js +4 -4
  424. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  425. package/dist/esm/ic-badge.entry.js +41 -17
  426. package/dist/esm/ic-badge.entry.js.map +1 -1
  427. package/dist/esm/ic-breadcrumb-group.entry.js +56 -76
  428. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  429. package/dist/esm/ic-breadcrumb.entry.js +32 -51
  430. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  431. package/dist/esm/ic-button_3.entry.js +136 -132
  432. package/dist/esm/ic-button_3.entry.js.map +1 -1
  433. package/dist/esm/ic-card-horizontal.entry.js +1 -1
  434. package/dist/esm/ic-card-vertical.entry.js +6 -6
  435. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  436. package/dist/esm/ic-checkbox-group.entry.js +9 -10
  437. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  438. package/dist/esm/ic-checkbox_3.entry.js +38 -37
  439. package/dist/esm/ic-checkbox_3.entry.js.map +1 -1
  440. package/dist/esm/ic-chip.entry.js +26 -38
  441. package/dist/esm/ic-chip.entry.js.map +1 -1
  442. package/dist/esm/ic-classification-banner.entry.js +2 -2
  443. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  444. package/dist/esm/ic-data-list.entry.js +2 -2
  445. package/dist/esm/ic-data-list.entry.js.map +1 -1
  446. package/dist/esm/ic-data-row.entry.js +3 -3
  447. package/dist/esm/ic-data-row.entry.js.map +1 -1
  448. package/dist/esm/ic-data-table-title-bar.entry.js +1 -1
  449. package/dist/esm/ic-data-table.entry.js +15 -19
  450. package/dist/esm/ic-data-table.entry.js.map +1 -1
  451. package/dist/esm/ic-date-input.entry.js +1 -1
  452. package/dist/esm/ic-date-picker.entry.js +1 -1
  453. package/dist/esm/ic-dialog.entry.js +3 -3
  454. package/dist/esm/ic-dialog.entry.js.map +1 -1
  455. package/dist/esm/ic-divider.entry.js +2 -2
  456. package/dist/esm/ic-divider.entry.js.map +1 -1
  457. package/dist/esm/ic-footer-link-group.entry.js +2 -2
  458. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  459. package/dist/esm/ic-footer-link.entry.js +3 -3
  460. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  461. package/dist/esm/ic-footer.entry.js +4 -4
  462. package/dist/esm/ic-footer.entry.js.map +1 -1
  463. package/dist/esm/ic-hero.entry.js +5 -5
  464. package/dist/esm/ic-hero.entry.js.map +1 -1
  465. package/dist/esm/ic-horizontal-scroll.entry.js +6 -6
  466. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  467. package/dist/esm/ic-input-component-container_3.entry.js +9 -9
  468. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  469. package/dist/esm/ic-input-label_2.entry.js +8 -8
  470. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  471. package/dist/esm/ic-link.entry.js +21 -3
  472. package/dist/esm/ic-link.entry.js.map +1 -1
  473. package/dist/esm/ic-menu-group.entry.js +2 -2
  474. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  475. package/dist/esm/ic-menu-item.entry.js +5 -5
  476. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  477. package/dist/esm/ic-navigation-button.entry.js +3 -3
  478. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  479. package/dist/esm/ic-navigation-group.entry.js +3 -3
  480. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  481. package/dist/esm/ic-navigation-item.entry.js +12 -7
  482. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  483. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  484. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  485. package/dist/esm/ic-page-header.entry.js +7 -7
  486. package/dist/esm/ic-page-header.entry.js.map +1 -1
  487. package/dist/esm/ic-pagination_4.entry.js +83 -83
  488. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  489. package/dist/esm/ic-popover-menu.entry.js +8 -7
  490. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  491. package/dist/esm/ic-radio-group.entry.js +5 -5
  492. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  493. package/dist/esm/ic-radio-option.entry.js +6 -6
  494. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  495. package/dist/esm/ic-search-bar.entry.js +112 -135
  496. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  497. package/dist/esm/ic-section-container.entry.js +2 -2
  498. package/dist/esm/ic-section-container.entry.js.map +1 -1
  499. package/dist/esm/ic-side-navigation.entry.js +6 -6
  500. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  501. package/dist/esm/ic-skeleton.entry.js +2 -2
  502. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  503. package/dist/esm/ic-skip-link.entry.js +10 -3
  504. package/dist/esm/ic-skip-link.entry.js.map +1 -1
  505. package/dist/esm/ic-status-tag.entry.js +3 -3
  506. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  507. package/dist/esm/ic-step.entry.js +15 -15
  508. package/dist/esm/ic-step.entry.js.map +1 -1
  509. package/dist/esm/ic-stepper.entry.js +3 -3
  510. package/dist/esm/ic-stepper.entry.js.map +1 -1
  511. package/dist/esm/ic-switch.entry.js +6 -6
  512. package/dist/esm/ic-switch.entry.js.map +1 -1
  513. package/dist/esm/ic-tab-context.entry.js +1 -1
  514. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  515. package/dist/esm/ic-tab-group.entry.js +3 -3
  516. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  517. package/dist/esm/ic-tab-panel.entry.js +2 -2
  518. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  519. package/dist/esm/ic-tab.entry.js +3 -3
  520. package/dist/esm/ic-tab.entry.js.map +1 -1
  521. package/dist/esm/ic-theme.entry.js +4 -2
  522. package/dist/esm/ic-theme.entry.js.map +1 -1
  523. package/dist/esm/ic-toast-region.entry.js +1 -1
  524. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  525. package/dist/esm/ic-toast.entry.js +4 -4
  526. package/dist/esm/ic-toast.entry.js.map +1 -1
  527. package/dist/esm/ic-toggle-button-group.entry.js +3 -3
  528. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  529. package/dist/esm/ic-toggle-button.entry.js +4 -4
  530. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  531. package/dist/esm/ic-top-navigation.entry.js +5 -5
  532. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  533. package/dist/esm/ic-tree-item.entry.js +8 -3
  534. package/dist/esm/ic-tree-item.entry.js.map +1 -1
  535. package/dist/esm/ic-tree-view.entry.js +7 -6
  536. package/dist/esm/ic-tree-view.entry.js.map +1 -1
  537. package/dist/esm/ic-typography.entry.js +4 -4
  538. package/dist/esm/ic-typography.entry.js.map +1 -1
  539. package/dist/esm/loader.js +1 -1
  540. package/dist/types/components/ic-data-table/ic-data-table.d.ts +0 -1
  541. package/dist/types/components/ic-data-table/story-data.d.ts +4 -4
  542. package/dist/types/components/ic-tree-item/ic-tree-item.d.ts +7 -0
  543. package/dist/types/components.d.ts +5 -0
  544. package/dist/types/utils/constants.d.ts +1 -0
  545. package/dist/types/utils/helpers.d.ts +72 -46
  546. package/dist/types/utils/types.d.ts +32 -7
  547. package/hydrate/index.js +872 -895
  548. package/hydrate/index.mjs +872 -895
  549. package/package.json +4 -4
  550. package/dist/cjs/helpers-199b92d5.js.map +0 -1
  551. package/dist/cjs/helpers-d01564f7.js.map +0 -1
  552. package/dist/core/p-09e8b002.entry.js +0 -2
  553. package/dist/core/p-09e8b002.entry.js.map +0 -1
  554. package/dist/core/p-123bd8ce.entry.js.map +0 -1
  555. package/dist/core/p-12d4803e.entry.js +0 -2
  556. package/dist/core/p-12d4803e.entry.js.map +0 -1
  557. package/dist/core/p-19ecd2a6.entry.js +0 -2
  558. package/dist/core/p-19ecd2a6.entry.js.map +0 -1
  559. package/dist/core/p-1bfead5b.entry.js +0 -2
  560. package/dist/core/p-1bfead5b.entry.js.map +0 -1
  561. package/dist/core/p-214a48c6.entry.js.map +0 -1
  562. package/dist/core/p-236dc1a6.entry.js +0 -2
  563. package/dist/core/p-236dc1a6.entry.js.map +0 -1
  564. package/dist/core/p-2d9c36a6.entry.js.map +0 -1
  565. package/dist/core/p-336be00c.entry.js.map +0 -1
  566. package/dist/core/p-38f612b0.entry.js +0 -2
  567. package/dist/core/p-38f612b0.entry.js.map +0 -1
  568. package/dist/core/p-3cf6ca89.entry.js +0 -2
  569. package/dist/core/p-3cf6ca89.entry.js.map +0 -1
  570. package/dist/core/p-46f64dc5.entry.js +0 -2
  571. package/dist/core/p-46f64dc5.entry.js.map +0 -1
  572. package/dist/core/p-48465394.entry.js +0 -2
  573. package/dist/core/p-520dce89.entry.js.map +0 -1
  574. package/dist/core/p-65ddc948.entry.js.map +0 -1
  575. package/dist/core/p-69f6db9f.entry.js +0 -2
  576. package/dist/core/p-69f6db9f.entry.js.map +0 -1
  577. package/dist/core/p-7d054704.js +0 -2
  578. package/dist/core/p-7d054704.js.map +0 -1
  579. package/dist/core/p-8402fcf7.entry.js.map +0 -1
  580. package/dist/core/p-87c92ab1.entry.js +0 -2
  581. package/dist/core/p-87c92ab1.entry.js.map +0 -1
  582. package/dist/core/p-951669ca.entry.js +0 -2
  583. package/dist/core/p-951669ca.entry.js.map +0 -1
  584. package/dist/core/p-9e5e6070.entry.js +0 -2
  585. package/dist/core/p-9e5e6070.entry.js.map +0 -1
  586. package/dist/core/p-a6031c41.entry.js +0 -2
  587. package/dist/core/p-a6031c41.entry.js.map +0 -1
  588. package/dist/core/p-b006976c.entry.js.map +0 -1
  589. package/dist/core/p-b17f6b1d.entry.js +0 -2
  590. package/dist/core/p-b17f6b1d.entry.js.map +0 -1
  591. package/dist/core/p-b334a20d.entry.js +0 -2
  592. package/dist/core/p-b334a20d.entry.js.map +0 -1
  593. package/dist/core/p-b603b9ef.entry.js +0 -2
  594. package/dist/core/p-b603b9ef.entry.js.map +0 -1
  595. package/dist/core/p-b953b22f.entry.js +0 -2
  596. package/dist/core/p-b953b22f.entry.js.map +0 -1
  597. package/dist/core/p-b9e73154.js +0 -2
  598. package/dist/core/p-b9e73154.js.map +0 -1
  599. package/dist/core/p-c1dbb35b.entry.js +0 -2
  600. package/dist/core/p-c1dbb35b.entry.js.map +0 -1
  601. package/dist/core/p-c1f653d4.entry.js +0 -2
  602. package/dist/core/p-c1f653d4.entry.js.map +0 -1
  603. package/dist/core/p-ca5d3a21.entry.js +0 -2
  604. package/dist/core/p-cda2a461.entry.js +0 -2
  605. package/dist/core/p-cda2a461.entry.js.map +0 -1
  606. package/dist/core/p-f3bb5006.entry.js +0 -2
  607. package/dist/core/p-f3bb5006.entry.js.map +0 -1
  608. package/dist/core/p-fa18f9c6.entry.js +0 -2
  609. package/dist/core/p-fa18f9c6.entry.js.map +0 -1
  610. package/dist/core/p-fb01a001.entry.js +0 -2
  611. package/dist/core/p-fb01a001.entry.js.map +0 -1
  612. package/dist/esm/helpers-9fe45194.js.map +0 -1
  613. package/dist/esm/helpers-ddc2008a.js.map +0 -1
  614. /package/dist/core/{p-f5e9c8c8.entry.js.map → p-0a0b25c5.entry.js.map} +0 -0
  615. /package/dist/core/{p-a2fcea60.entry.js.map → p-0e3a62cc.entry.js.map} +0 -0
  616. /package/dist/core/{p-858dd362.entry.js.map → p-5c363e21.entry.js.map} +0 -0
  617. /package/dist/core/{p-bb9142fe.entry.js.map → p-af1d6e41.entry.js.map} +0 -0
@@ -69,7 +69,7 @@ export const IC_BLOCK_COLOR_COMPONENTS = [
69
69
  ];
70
70
  export const IC_FIXED_COLOR_COMPONENTS = ["ic-alert"];
71
71
  export const IC_BLOCK_COLOR_EXCEPTIONS = {
72
- "ic-alert": ["ic-link"],
72
+ "ic-alert": ["ic-link", "ic-button"],
73
73
  };
74
74
  /* Range within which the chosen theme colour would not have a sufficient brightness difference with either of the black or white foreground colours
75
75
  * The brightness difference must be greater than 125 to provide good colour visibility
@@ -80,4 +80,43 @@ export const IC_BLOCK_COLOR_EXCEPTIONS = {
80
80
  */
81
81
  export const BLACK_MIN_COLOR_BRIGHTNESS = 136.701;
82
82
  export const WHITE_MAX_COLOR_BRIGHTNESS = 130;
83
+ // Keyboard characters that do not affect the content of an input control when pressed
84
+ export const IGNORED_KEYBOARD_CHARACTERS = [
85
+ "Alt",
86
+ "AltGraph",
87
+ "ArrowDown",
88
+ "ArrowLeft",
89
+ "ArrowRight",
90
+ "ArrowUp",
91
+ "AudioVolumeDown",
92
+ "AudioVolumeMute",
93
+ "AudioVolumeUp",
94
+ "CapsLock",
95
+ "ContextMenu",
96
+ "Control",
97
+ "Delete",
98
+ "End",
99
+ "Enter",
100
+ "Escape",
101
+ "F1",
102
+ "F10",
103
+ "F11",
104
+ "F12",
105
+ "F2",
106
+ "F3",
107
+ "F4",
108
+ "F5",
109
+ "F6",
110
+ "F7",
111
+ "F8",
112
+ "F9",
113
+ "Home",
114
+ "Insert",
115
+ "Meta",
116
+ "NumLock",
117
+ "PageDown",
118
+ "PageUp",
119
+ "Shift",
120
+ "Tab",
121
+ ];
83
122
  //# sourceMappingURL=constants.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AAErD,sBAAsB;AACtB,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE;QACP,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,SAAS;KACrB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,sBAAsB;KAClC;IACD,OAAO,EAAE;QACP,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,SAAS;KACrB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,OAAO;KACnB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,SAAS;KACrB;CACF,CAAC;AAEF,yBAAyB;AACzB,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,eAAe;IACf,cAAc;IACd,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,mBAAmB;IACnB,eAAe;IACf,aAAa;IACb,cAAc;IACd,eAAe;IACf,aAAa;IACb,cAAc;IACd,mBAAmB;IACnB,YAAY;IACZ,iBAAiB;IACjB,WAAW;IACX,WAAW;IACX,eAAe;IACf,sBAAsB;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,EAAE,EAAE,GAAG;IACP,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,IAAI;IACP,EAAE,EAAE,KAAK;CACV,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,SAAS;IACT,mBAAmB;IACnB,WAAW;IACX,oBAAoB;IACpB,UAAU;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,UAAU,CAAC,CAAC;AAMtD,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,UAAU,EAAE,CAAC,SAAS,CAAC;CACxB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAClD,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC","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"]}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/utils/constants.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,0BAA0B,CAAC;AACjD,OAAO,QAAQ,MAAM,yBAAyB,CAAC;AAC/C,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AACrD,OAAO,WAAW,MAAM,4BAA4B,CAAC;AAErD,sBAAsB;AACtB,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,OAAO,EAAE;QACP,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,SAAS;KACrB;IACD,IAAI,EAAE;QACJ,IAAI,EAAE,QAAQ;QACd,SAAS,EAAE,sBAAsB;KAClC;IACD,OAAO,EAAE;QACP,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,SAAS;KACrB;IACD,KAAK,EAAE;QACL,IAAI,EAAE,SAAS;QACf,SAAS,EAAE,OAAO;KACnB;IACD,OAAO,EAAE;QACP,IAAI,EAAE,WAAW;QACjB,SAAS,EAAE,SAAS;KACrB;CACF,CAAC;AAEF,yBAAyB;AACzB,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,aAAa;IACb,mBAAmB;IACnB,WAAW;IACX,eAAe;IACf,cAAc;IACd,kBAAkB;IAClB,kBAAkB;IAClB,cAAc;IACd,eAAe;IACf,iBAAiB;IACjB,mBAAmB;IACnB,eAAe;IACf,aAAa;IACb,cAAc;IACd,eAAe;IACf,aAAa;IACb,cAAc;IACd,mBAAmB;IACnB,YAAY;IACZ,iBAAiB;IACjB,WAAW;IACX,WAAW;IACX,eAAe;IACf,sBAAsB;CACvB,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,EAAE,EAAE,GAAG;IACP,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,GAAG;IACN,CAAC,EAAE,IAAI;IACP,EAAE,EAAE,KAAK;CACV,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,SAAS;IACT,mBAAmB;IACnB,WAAW;IACX,oBAAoB;IACpB,UAAU;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,UAAU,CAAC,CAAC;AAMtD,MAAM,CAAC,MAAM,yBAAyB,GAAsB;IAC1D,UAAU,EAAE,CAAC,SAAS,EAAE,WAAW,CAAC;CACrC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,OAAO,CAAC;AAClD,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAG,CAAC;AAE9C,sFAAsF;AACtF,MAAM,CAAC,MAAM,2BAA2B,GAAG;IACzC,KAAK;IACL,UAAU;IACV,WAAW;IACX,WAAW;IACX,YAAY;IACZ,SAAS;IACT,iBAAiB;IACjB,iBAAiB;IACjB,eAAe;IACf,UAAU;IACV,aAAa;IACb,SAAS;IACT,QAAQ;IACR,KAAK;IACL,OAAO;IACP,QAAQ;IACR,IAAI;IACJ,KAAK;IACL,KAAK;IACL,KAAK;IACL,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,IAAI;IACJ,MAAM;IACN,QAAQ;IACR,MAAM;IACN,SAAS;IACT,UAAU;IACV,QAAQ;IACR,OAAO;IACP,KAAK;CACN,CAAC","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\", \"ic-button\"],\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\n// Keyboard characters that do not affect the content of an input control when pressed\nexport const IGNORED_KEYBOARD_CHARACTERS = [\n \"Alt\",\n \"AltGraph\",\n \"ArrowDown\",\n \"ArrowLeft\",\n \"ArrowRight\",\n \"ArrowUp\",\n \"AudioVolumeDown\",\n \"AudioVolumeMute\",\n \"AudioVolumeUp\",\n \"CapsLock\",\n \"ContextMenu\",\n \"Control\",\n \"Delete\",\n \"End\",\n \"Enter\",\n \"Escape\",\n \"F1\",\n \"F10\",\n \"F11\",\n \"F12\",\n \"F2\",\n \"F3\",\n \"F4\",\n \"F5\",\n \"F6\",\n \"F7\",\n \"F8\",\n \"F9\",\n \"Home\",\n \"Insert\",\n \"Meta\",\n \"NumLock\",\n \"PageDown\",\n \"PageUp\",\n \"Shift\",\n \"Tab\",\n];\n"]}
@@ -7,6 +7,9 @@ import { forceUpdate } from "@stencil/core";
7
7
  import { IC_BLOCK_COLOR_COMPONENTS, IC_BLOCK_COLOR_EXCEPTIONS, IC_FIXED_COLOR_COMPONENTS, } from "./constants"; // Using @ukic/web-components/dist/types/utils/constants does not work so duplicated constants into canary package
8
8
  import { IcBrandForegroundEnum } from "./types"; // Using @ukic/web-components/dist/types/utils/types does not work so duplicated constants into canary package
9
9
  const DARK_MODE_THRESHOLD = 133.3505;
10
+ const ANYWHERE_SEARCH_POSITION = "anywhere";
11
+ const icInput = "ic-input";
12
+ const linkIcInput = "input.ic-input";
10
13
  /**
11
14
  * converts an enum of strings into an array of strings
12
15
  */
@@ -77,17 +80,17 @@ export const dynamicDebounce = (func, getDelay) => {
77
80
  */
78
81
  export const renderHiddenInput = (always, container, name, value, disabled) => {
79
82
  if (name !== undefined && (always || hasShadowDom(container))) {
80
- const inputs = container.querySelectorAll("input.ic-input");
83
+ const inputs = container.querySelectorAll(linkIcInput);
81
84
  const inputEls = Array.from(inputs);
82
85
  const filtered = inputEls.filter((el) => container === el.parentElement);
83
86
  let input = filtered[0];
84
87
  if (input === null || input === undefined) {
85
88
  input = container.ownerDocument.createElement("input");
86
89
  input.type = "hidden";
87
- input.classList.add("ic-input");
90
+ input.classList.add(icInput);
88
91
  container.appendChild(input);
89
92
  }
90
- input.disabled = disabled;
93
+ input.disabled = !!disabled;
91
94
  input.name = name;
92
95
  if (value instanceof Date) {
93
96
  input.value = value ? value.toISOString() : "";
@@ -97,6 +100,46 @@ export const renderHiddenInput = (always, container, name, value, disabled) => {
97
100
  }
98
101
  }
99
102
  };
103
+ /**
104
+ * This method is used to add a hidden file input to a host element that contains
105
+ * a Shadow DOM. It does not add the input inside of the Shadow root which
106
+ * allows it to be picked up inside of forms. It should contain the same
107
+ * values as the host element.
108
+ *
109
+ * @param event: The event that is emitted once a file is selected.
110
+ * @param container The element where the input will be added
111
+ * @param multiple If true, multiple files can be selected
112
+ * @param name The name of the input
113
+ * @param value The value of the input
114
+ * @param disabled If true, the input is disabled
115
+ * @param accept A string of the accepted files
116
+ */
117
+ export const renderFileHiddenInput = (event, container, multiple, name, value, disabled, accept) => {
118
+ if (name !== undefined && hasShadowDom(container)) {
119
+ const inputs = container.querySelectorAll(linkIcInput);
120
+ const inputEls = Array.from(inputs);
121
+ const filtered = inputEls.filter((el) => container === el.parentElement);
122
+ let input = filtered[0];
123
+ if (input === null || input === undefined) {
124
+ input = container.ownerDocument.createElement("input");
125
+ input.classList.add(icInput);
126
+ container.appendChild(input);
127
+ }
128
+ input.type = "file";
129
+ input.hidden = true;
130
+ input.multiple = multiple;
131
+ input.name = name;
132
+ input.disabled = disabled;
133
+ if (value)
134
+ input.files = value;
135
+ if (accept)
136
+ input.accept = accept;
137
+ input.onchange = () => {
138
+ event.emit(input.files);
139
+ };
140
+ input.click();
141
+ }
142
+ };
100
143
  export const removeHiddenInput = (container) => {
101
144
  const inputs = container.querySelectorAll("input.ic-input");
102
145
  const inputEls = Array.from(inputs);
@@ -104,6 +147,10 @@ export const removeHiddenInput = (container) => {
104
147
  const input = filtered[0];
105
148
  input === null || input === void 0 ? void 0 : input.remove();
106
149
  };
150
+ export const hasShadowDom = (el) => el ? !!el.shadowRoot && !!el.attachShadow : false;
151
+ export const getInputHelperTextID = (id) => id + "-helper-text";
152
+ export const getInputValidationTextID = (id) => id + "-validation-text";
153
+ export const getInputDescribedByText = (inputId, helperText, validationText) => `${helperText ? getInputHelperTextID(inputId) : ""} ${validationText ? getInputValidationTextID(inputId) : ""}`.trim();
107
154
  /**
108
155
  * This method helps to understand the context in which a component exists,
109
156
  * to assist with choosing appropriate foreground colours to use. For example,
@@ -122,7 +169,7 @@ export const getBrandFromContext = (el, brandFromEvent = null) => {
122
169
  const blockColorParent = parentElement === null || parentElement === void 0 ? void 0 : parentElement.closest(IC_BLOCK_COLOR_COMPONENTS.join(","));
123
170
  // If within a block color component
124
171
  if (blockColorParent) {
125
- const parentTag = blockColorParent === null || blockColorParent === void 0 ? void 0 : blockColorParent.tagName.toLowerCase();
172
+ const parentTag = blockColorParent.tagName.toLowerCase();
126
173
  const currentTag = el.tagName.toLowerCase();
127
174
  if ((_a = IC_BLOCK_COLOR_EXCEPTIONS[parentTag]) === null || _a === void 0 ? void 0 : _a.includes(currentTag)) {
128
175
  return IcBrandForegroundEnum.Default;
@@ -131,13 +178,22 @@ export const getBrandFromContext = (el, brandFromEvent = null) => {
131
178
  !IC_FIXED_COLOR_COMPONENTS.includes(parentTag)) {
132
179
  return brandFromEvent;
133
180
  }
134
- else if (blockColorParent.classList.contains(IcBrandForegroundEnum.Dark)) {
181
+ else if (blockColorParent.classList.contains(`${parentTag}-${IcBrandForegroundEnum.Dark}`) ||
182
+ blockColorParent.classList.contains(IcBrandForegroundEnum.Dark)) {
135
183
  return IcBrandForegroundEnum.Dark;
136
184
  }
137
185
  return IcBrandForegroundEnum.Light;
138
186
  }
139
187
  return IcBrandForegroundEnum.Default;
140
188
  };
189
+ /**
190
+ * Checks if the current device is a mobile or tablet device.
191
+ * @returns {boolean} Returns true if the device is a mobile or tablet device, otherwise returns false.
192
+ */
193
+ export const isMobileOrTablet = () => "maxTouchPoints" in navigator && "userAgent" in navigator
194
+ ? navigator.maxTouchPoints > 0 &&
195
+ /iPad|iPhone|iPod|Android|webOS|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent)
196
+ : false;
141
197
  /**
142
198
  * Will create a button within the lightDOM which interacts with the parent form.
143
199
  * This is required as buttons within the shadowDOM will not invoke a submit or reset
@@ -156,6 +212,72 @@ export const handleHiddenFormButtonClick = (form, button) => {
156
212
  export const isEmptyString = (value) => value ? value.trim().length === 0 : true;
157
213
  // A helper function that checks if a prop has been defined
158
214
  export const isPropDefined = (prop) => prop !== undefined ? prop : null;
215
+ /**
216
+ * Extracts the label using the value from an object. Requires the object to have a label and value property.
217
+ * @param value - value from object
218
+ * @param options - list of menu items
219
+ * @returns - label corresponding to value
220
+ */
221
+ export const getLabelFromValue = (value, options, valueField = "value", labelField = "label") => {
222
+ const ungroupedOptions = [];
223
+ if (options.length > 0 && options.map) {
224
+ options.map((option) => {
225
+ if (option.children) {
226
+ option.children.map((option) => ungroupedOptions.push(option));
227
+ }
228
+ else {
229
+ ungroupedOptions.push(option);
230
+ }
231
+ });
232
+ const matchingValue = ungroupedOptions.find((option) => option[valueField] === value);
233
+ if (matchingValue !== undefined)
234
+ return matchingValue[labelField];
235
+ }
236
+ return undefined;
237
+ };
238
+ /**
239
+ * Filters the options based on the search string.
240
+ * @param options - array of options
241
+ * @param includeDescriptions - determines whether option descriptions are included when filtering options
242
+ * @param searchString - string used to filter the options
243
+ * @param position - whether the search string matches the start of or anywhere in the options
244
+ * @returns filtered array of options
245
+ */
246
+ export const getFilteredMenuOptions = (options, includeDescriptions, searchString, position = ANYWHERE_SEARCH_POSITION, labelField = "label") => options.filter((option) => {
247
+ var _a;
248
+ const label = option[labelField].toLowerCase();
249
+ const description = (_a = option.description) === null || _a === void 0 ? void 0 : _a.toLowerCase();
250
+ const lowerSearchString = searchString.toLowerCase();
251
+ return position === ANYWHERE_SEARCH_POSITION
252
+ ? includeDescriptions
253
+ ? label.includes(lowerSearchString) ||
254
+ (description === null || description === void 0 ? void 0 : description.includes(lowerSearchString))
255
+ : label.includes(lowerSearchString)
256
+ : includeDescriptions
257
+ ? label.startsWith(lowerSearchString) ||
258
+ (description === null || description === void 0 ? void 0 : description.startsWith(lowerSearchString))
259
+ : label.startsWith(lowerSearchString);
260
+ });
261
+ /**
262
+ * Gets count of options where only group title "parent" options have been removed.
263
+ * Disabled options are included in the count.
264
+ * @param options - array of options
265
+ * @returns number of options not including group titles
266
+ */
267
+ export const getOptionsWithoutGroupTitlesCount = (options) => {
268
+ const optionsWithoutGroupTitles = [];
269
+ if (options.length > 0 && options.map) {
270
+ options.map((option) => {
271
+ if (option.children) {
272
+ option.children.map((option) => optionsWithoutGroupTitles.push(option));
273
+ }
274
+ else {
275
+ optionsWithoutGroupTitles.push(option);
276
+ }
277
+ });
278
+ }
279
+ return optionsWithoutGroupTitles.length;
280
+ };
159
281
  export const deviceSizeMatches = (size) => window.matchMedia(`(max-width: ${size}px)`).matches;
160
282
  export const getCurrentDeviceSize = () => {
161
283
  if (deviceSizeMatches(DEVICE_SIZES.S)) {
@@ -190,8 +312,9 @@ export const getBrandColorBrightness = () => {
190
312
  /**
191
313
  * Returns if dark or light foreground colors should be used for color contrast reasons
192
314
  * @returns "dark" or "light"
315
+ * @param brightness - Optional custom brightness value. Defaults to `getBrandColorBrightness`
193
316
  */
194
- export const getBrandForegroundAppearance = () => getBrandColorBrightness() > DARK_MODE_THRESHOLD
317
+ export const getBrandForegroundAppearance = (brightness = getBrandColorBrightness()) => brightness > DARK_MODE_THRESHOLD
195
318
  ? IcBrandForegroundEnum.Dark
196
319
  : IcBrandForegroundEnum.Light;
197
320
  export const getSlot = (element, name) => {
@@ -249,7 +372,8 @@ export const DEVICE_SIZES = {
249
372
  XL: Number(getCssProperty("--ic-breakpoint-xl").replace("px", "")), // 1200
250
373
  UNDEFINED: 1200,
251
374
  };
252
- export const isSlotUsed = (element, slotName) => Array.from(element.children).some((child) => child.getAttribute("slot") === slotName);
375
+ export const hasValidationStatus = (status, disabled) => !!status && !disabled;
376
+ export const isSlotUsed = ({ children }, slotName) => Array.from(children).some((child) => child.getAttribute("slot") === slotName);
253
377
  // added as a common method to allow detection of gatsby hydration issue, where (camelCase) props are initially undefined & then update
254
378
  // with a value. Allows a callback function to be executed when this is the case
255
379
  export const onComponentPropUndefinedChange = (oldValue, newValue, callback) => {
@@ -257,99 +381,38 @@ export const onComponentPropUndefinedChange = (oldValue, newValue, callback) =>
257
381
  callback();
258
382
  }
259
383
  };
260
- export const hasShadowDom = (el) => !!el.shadowRoot && !!el.attachShadow;
261
- export const getInputHelperTextID = (id) => id + "-helper-text";
262
- export const getInputValidationTextID = (id) => id + "-validation-text";
263
- export const getInputDescribedByText = (inputId, helperText, validationText) => `${helperText ? getInputHelperTextID(inputId) : ""} ${validationText ? getInputValidationTextID(inputId) : ""}`.trim();
264
- export const isMobileOrTablet = () => "maxTouchPoints" in navigator ? navigator.maxTouchPoints > 0 : false;
265
- /**
266
- * Extracts the label using the value from an object. Requires the object to have a label and value property.
267
- * @param value - value from object
268
- * @param options - list of menu items
269
- * @returns - label corresponding to value
270
- */
271
- export const getLabelFromValue = (value, options, valueField = "value", labelField = "label") => {
272
- const ungroupedOptions = [];
273
- if (options.length > 0 && options.map) {
274
- options.map((option) => {
275
- if (option.children) {
276
- option.children.map((option) => ungroupedOptions.push(option));
277
- }
278
- else {
279
- ungroupedOptions.push(option);
280
- }
281
- });
282
- const matchingValue = ungroupedOptions.find((option) => option[valueField] === value);
283
- if (matchingValue !== undefined)
284
- return matchingValue[labelField];
285
- }
286
- return undefined;
384
+ export const onComponentRequiredPropUndefined = (props, component) => {
385
+ props.forEach(({ prop, propName }) => {
386
+ if (prop === null || prop === undefined) {
387
+ console.error(`No ${propName} specified for ${component} component - prop '${propName}' (web components) / '${kebabToCamelCase(propName)}' (react) required`);
388
+ }
389
+ });
287
390
  };
288
- /**
289
- * Filters the options based on the search string.
290
- * @param options - array of options
291
- * @param includeDescriptions - determines whether option descriptions are included when filtering options
292
- * @param searchString - string used to filter the options
293
- * @param position - whether the search string matches the start of or anywhere in the options
294
- * @returns filtered array of options
295
- */
296
- export const getFilteredMenuOptions = (options, includeDescriptions, searchString, position, labelField = "label") => options.filter((option) => {
297
- var _a;
298
- const label = option[labelField].toLowerCase();
299
- const description = (_a = option.description) === null || _a === void 0 ? void 0 : _a.toLowerCase();
300
- const lowerSearchString = searchString.toLowerCase();
301
- return position === "anywhere"
302
- ? includeDescriptions
303
- ? label.includes(lowerSearchString) ||
304
- (description === null || description === void 0 ? void 0 : description.includes(lowerSearchString))
305
- : label.includes(lowerSearchString)
306
- : includeDescriptions
307
- ? label.startsWith(lowerSearchString) ||
308
- (description === null || description === void 0 ? void 0 : description.startsWith(lowerSearchString))
309
- : label.startsWith(lowerSearchString);
310
- });
311
- /**
312
- * Gets count of options where only group title "parent" options have been removed.
313
- * Disabled options are included in the count.
314
- * @param options - array of options
315
- * @returns number of options not including group titles
316
- */
317
- export const getOptionsWithoutGroupTitlesCount = (options) => {
318
- const optionsWithoutGroupTitles = [];
319
- if (options.length > 0 && options.map) {
320
- options.map((option) => {
321
- if (option.children) {
322
- option.children.map((option) => optionsWithoutGroupTitles.push(option));
323
- }
324
- else {
325
- optionsWithoutGroupTitles.push(option);
326
- }
327
- });
391
+ export const kebabToCamelCase = (kebabCase) => kebabCase
392
+ .toLowerCase()
393
+ .split("-")
394
+ .map((word, index) => index === 0
395
+ ? word
396
+ : `${word.substring(0, 1).toUpperCase()}${word.substring(1)}`)
397
+ .join("");
398
+ export const checkResizeObserver = (callbackFn) => {
399
+ if (typeof window !== "undefined" &&
400
+ typeof window.ResizeObserver !== "undefined") {
401
+ callbackFn();
328
402
  }
329
- return optionsWithoutGroupTitles.length;
330
- };
331
- const hex2dec = function (v) {
332
- return parseInt(v, 16);
333
403
  };
404
+ const hex2dec = (v) => parseInt(v, 16);
334
405
  export const hexToRgba = (hex) => {
335
- let c;
336
- if (hex.length === 4) {
337
- c = hex.replace("#", "").split("");
338
- return {
339
- r: hex2dec(c[0] + c[0]),
340
- g: hex2dec(c[1] + c[1]),
341
- b: hex2dec(c[2] + c[2]),
342
- a: 1,
343
- };
344
- }
345
- else {
346
- return {
347
- r: hex2dec(hex.slice(1, 3)),
348
- g: hex2dec(hex.slice(3, 5)),
349
- b: hex2dec(hex.slice(5)),
350
- a: 1,
351
- };
352
- }
406
+ const hexChars = hex
407
+ .replace("#", "")
408
+ .split("")
409
+ .map((char) => char.repeat(2));
410
+ return {
411
+ r: hex2dec(hex.length === 4 ? hexChars[0] : hex.slice(1, 3)),
412
+ g: hex2dec(hex.length === 4 ? hexChars[1] : hex.slice(3, 5)),
413
+ b: hex2dec(hex.length === 4 ? hexChars[2] : hex.slice(5)),
414
+ a: 1,
415
+ };
353
416
  };
354
417
  export const rgbaStrToObj = (rgbaStr) => {
355
418
  const isRGBA = rgbaStr.slice(3, 4).toLowerCase() === "a";
@@ -365,40 +428,8 @@ export const rgbaStrToObj = (rgbaStr) => {
365
428
  a: isRGBA ? rgbValues[3] : 1,
366
429
  };
367
430
  };
368
- export const elementOverflowsX = (element) => element.scrollWidth > element.clientWidth;
431
+ export const elementOverflowsX = ({ scrollWidth, clientWidth, }) => scrollWidth > clientWidth;
369
432
  export const hasClassificationBanner = () => !!document.querySelector("ic-classification-banner:not([inline='true'])");
370
- export const pxToRem = (px, base = 16) => `${(1 / base) * parseInt(px)}rem`;
371
- export const isNumeric = (value) => {
372
- return /^-?\d+$/.test(value);
373
- };
374
- export const hasValidationStatus = (status, disabled) => {
375
- return status !== "" && !disabled;
376
- };
377
- export const onComponentRequiredPropUndefined = (props, component) => {
378
- for (let i = 0; i < props.length; i++) {
379
- const { prop, propName } = props[i];
380
- if (prop === null || prop === undefined) {
381
- console.error(`No ${propName} specified for ${component} component - prop '${propName}' (web components) / '${kebabToCamelCase(propName)}' (react) required`);
382
- }
383
- }
384
- };
385
- export const kebabToCamelCase = (kebabCase) => {
386
- kebabCase = kebabCase.toLowerCase();
387
- const individualWords = kebabCase.split("-");
388
- let camelCase = individualWords[0];
389
- for (let i = 1; i < individualWords.length; i++) {
390
- camelCase +=
391
- individualWords[i].substring(0, 1).toUpperCase() +
392
- individualWords[i].substring(1);
393
- }
394
- return camelCase;
395
- };
396
- export const checkResizeObserver = (callbackFn) => {
397
- if (typeof window !== "undefined" &&
398
- typeof window.ResizeObserver !== "undefined") {
399
- callbackFn();
400
- }
401
- };
402
433
  export const addFormResetListener = (el, callbackFn) => {
403
434
  var _a;
404
435
  (_a = el.closest("FORM")) === null || _a === void 0 ? void 0 : _a.addEventListener("reset", callbackFn);
@@ -407,14 +438,18 @@ export const removeFormResetListener = (el, callbackFn) => {
407
438
  var _a;
408
439
  (_a = el.closest("FORM")) === null || _a === void 0 ? void 0 : _a.removeEventListener("reset", callbackFn);
409
440
  };
441
+ export const pxToRem = (px, base = 16) => `${(1 / base) * parseInt(px)}rem`;
442
+ /**
443
+ * Removes the disabled attribute from the provided element when its value is set to false.
444
+ * This effectively makes it null, to not confuse screen readers that cannot interpret the false value
445
+ */
410
446
  export const removeDisabledFalse = (disabled, element) => {
411
447
  if (!disabled) {
412
448
  element.removeAttribute("disabled");
413
449
  }
414
450
  };
415
- export const isMacDevice = () => {
416
- return window.navigator.userAgent.toUpperCase().indexOf("MAC") >= 0;
417
- };
451
+ export const isMacDevice = () => window.navigator.userAgent.toUpperCase().indexOf("MAC") >= 0;
452
+ export const isNumeric = (value) => /^-?\d+$/.test(value);
418
453
  export async function waitForHydration() {
419
454
  const elements = document.getElementsByTagName("*");
420
455
  for (let i = 0; i < elements.length; i++) {
@@ -429,15 +464,22 @@ export async function waitForHydration() {
429
464
  }
430
465
  return false;
431
466
  }
432
- export const capitalize = (text) => {
433
- return text.charAt(0).toUpperCase() + text.slice(1);
434
- };
467
+ export const convertToRGBA = (color) => {
468
+ const firstChar = color === null || color === void 0 ? void 0 : color.slice(0, 1).toLowerCase();
469
+ return firstChar === "#"
470
+ ? hexToRgba(color)
471
+ : firstChar === "r"
472
+ ? rgbaStrToObj(color)
473
+ : null;
474
+ };
475
+ export const capitalize = (text) => text.charAt(0).toUpperCase() + text.slice(1);
435
476
  export const checkSlotInChildMutations = (addedNodes, removedNodes, slotName) => {
436
477
  const hasSlot = (nodeList) => Array.from(nodeList).some((node) => Array.isArray(slotName)
437
478
  ? slotName.some((name) => node.slot === name)
438
479
  : node.slot === slotName);
439
480
  return hasSlot(addedNodes) || hasSlot(removedNodes);
440
481
  };
482
+ export const isElInAGGrid = (el) => !!el.closest(".ag-cell") && !!el.closest(".ag-root");
441
483
  export const addDataToPosition = (dataObject, newKeys, newValue) => {
442
484
  const newData = {};
443
485
  const newIndexes = newKeys.map((key) => key.index);