@ukic/web-components 3.4.0 → 3.5.0

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 (477) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-fc4016d2.js → helpers-931fd72e.js} +30 -32
  3. package/dist/cjs/helpers-931fd72e.js.map +1 -0
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
  6. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  7. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  8. package/dist/cjs/ic-badge.cjs.entry.js +1 -1
  9. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-button_3.cjs.entry.js +135 -142
  12. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-card-vertical.cjs.entry.js +1 -1
  14. package/dist/cjs/ic-checkbox-group.cjs.entry.js +5 -5
  15. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-checkbox.cjs.entry.js +1 -1
  17. package/dist/cjs/ic-chip.cjs.entry.js +1 -1
  18. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  19. package/dist/cjs/ic-data-row.cjs.entry.js +3 -3
  20. package/dist/cjs/ic-dialog.cjs.entry.js +2 -2
  21. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-empty-state.cjs.entry.js +3 -3
  23. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-footer-link.cjs.entry.js +3 -3
  25. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  26. package/dist/cjs/ic-hero.cjs.entry.js +5 -5
  27. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +6 -6
  28. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +19 -14
  29. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-input-label_2.cjs.entry.js +36 -13
  31. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  33. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  34. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  35. package/dist/cjs/ic-navigation-button.cjs.entry.js +31 -39
  36. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-navigation-group.cjs.entry.js +7 -4
  38. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -2
  40. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
  42. package/dist/cjs/ic-page-header.cjs.entry.js +7 -7
  43. package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
  44. package/dist/cjs/ic-pagination.cjs.entry.js +5 -5
  45. package/dist/cjs/ic-popover-menu.cjs.entry.js +5 -5
  46. package/dist/cjs/ic-radio-group.cjs.entry.js +6 -6
  47. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-radio-option.cjs.entry.js +5 -5
  49. package/dist/cjs/ic-search-bar.cjs.entry.js +28 -12
  50. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  52. package/dist/cjs/ic-select.cjs.entry.js +8 -8
  53. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-side-navigation.cjs.entry.js +16 -17
  55. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  57. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  58. package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
  59. package/dist/cjs/ic-step.cjs.entry.js +14 -14
  60. package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
  61. package/dist/cjs/ic-switch.cjs.entry.js +6 -6
  62. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  64. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  65. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  66. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  67. package/dist/cjs/ic-text-field.cjs.entry.js +8 -8
  68. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  70. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  71. package/dist/cjs/ic-toast.cjs.entry.js +4 -4
  72. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +3 -3
  73. package/dist/cjs/ic-toggle-button.cjs.entry.js +3 -3
  74. package/dist/cjs/ic-top-navigation.cjs.entry.js +15 -9
  75. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-typography.cjs.entry.js +3 -3
  77. package/dist/cjs/loader.cjs.js +1 -1
  78. package/dist/collection/ag-theme-icds.css +24 -4
  79. package/dist/collection/components/ic-button/ic-button.js +3 -3
  80. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  81. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +10 -2
  82. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +6 -3
  83. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  84. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +22 -0
  85. package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
  86. package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
  87. package/dist/collection/components/ic-dialog/ic-dialog.js +1 -1
  88. package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
  89. package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
  90. package/dist/collection/components/ic-hero/ic-hero.js +4 -4
  91. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
  92. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
  93. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  94. package/dist/collection/components/ic-input-label/ic-input-label.css +2 -1
  95. package/dist/collection/components/ic-input-label/ic-input-label.js +31 -8
  96. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  97. package/dist/collection/components/ic-input-validation/ic-input-validation.js +3 -3
  98. package/dist/collection/components/ic-link/ic-link.js +1 -1
  99. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +3 -3
  100. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +210 -211
  101. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  102. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.stories.js +1 -1
  103. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.types.js.map +1 -1
  104. package/dist/collection/components/ic-menu/ic-menu.js +56 -10
  105. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  106. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  107. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +38 -47
  108. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  109. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +26 -4
  110. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  111. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +6 -4
  112. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  113. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  114. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  115. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  116. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -4
  117. package/dist/collection/components/ic-radio-group/ic-radio-group.css +10 -2
  118. package/dist/collection/components/ic-radio-group/ic-radio-group.js +7 -4
  119. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  120. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +22 -0
  121. package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
  122. package/dist/collection/components/ic-search-bar/ic-search-bar.js +53 -11
  123. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  124. package/dist/collection/components/ic-search-bar/ic-search-bar.stories.js +20 -10
  125. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  126. package/dist/collection/components/ic-select/ic-select.js +8 -7
  127. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  128. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +21 -13
  129. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +21 -13
  130. package/dist/collection/components/ic-select/ic-select_(single).stories.js +17 -9
  131. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +15 -16
  132. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  133. package/dist/collection/components/ic-side-navigation/ic-side-navigation.stories.js +143 -0
  134. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  135. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  136. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  137. package/dist/collection/components/ic-step/ic-step.js +13 -13
  138. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  139. package/dist/collection/components/ic-switch/ic-switch.css +1 -4
  140. package/dist/collection/components/ic-switch/ic-switch.js +5 -4
  141. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  142. package/dist/collection/components/ic-switch/ic-switch.stories.js +8 -1
  143. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
  144. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  145. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  146. package/dist/collection/components/ic-text-field/ic-text-field.js +8 -7
  147. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  148. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +12 -1
  149. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  150. package/dist/collection/components/ic-toast/ic-toast.js +3 -3
  151. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  152. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
  153. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
  154. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +1 -0
  155. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +13 -7
  156. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  157. package/dist/collection/components/ic-typography/ic-typography.js +2 -2
  158. package/dist/collection/utils/constants.js +1 -1
  159. package/dist/collection/utils/constants.js.map +1 -1
  160. package/dist/collection/utils/helpers.js +27 -30
  161. package/dist/collection/utils/helpers.js.map +1 -1
  162. package/dist/components/helpers.js +29 -32
  163. package/dist/components/helpers.js.map +1 -1
  164. package/dist/components/ic-button2.js +3 -3
  165. package/dist/components/ic-button2.js.map +1 -1
  166. package/dist/components/ic-checkbox-group.js +4 -4
  167. package/dist/components/ic-checkbox-group.js.map +1 -1
  168. package/dist/components/ic-data-list.js +2 -2
  169. package/dist/components/ic-data-row.js +2 -2
  170. package/dist/components/ic-dialog.js +1 -1
  171. package/dist/components/ic-empty-state.js +2 -2
  172. package/dist/components/ic-footer-link.js +2 -2
  173. package/dist/components/ic-hero.js +4 -4
  174. package/dist/components/ic-horizontal-scroll2.js +5 -5
  175. package/dist/components/ic-input-component-container2.js +3 -3
  176. package/dist/components/ic-input-container2.js +2 -2
  177. package/dist/components/ic-input-label2.js +33 -10
  178. package/dist/components/ic-input-label2.js.map +1 -1
  179. package/dist/components/ic-input-validation2.js +3 -3
  180. package/dist/components/ic-link2.js +1 -1
  181. package/dist/components/ic-loading-indicator2.js +139 -143
  182. package/dist/components/ic-loading-indicator2.js.map +1 -1
  183. package/dist/components/ic-menu-group.js +1 -1
  184. package/dist/components/ic-menu2.js +16 -9
  185. package/dist/components/ic-menu2.js.map +1 -1
  186. package/dist/components/ic-navigation-button.js +32 -41
  187. package/dist/components/ic-navigation-button.js.map +1 -1
  188. package/dist/components/ic-navigation-group.js +8 -5
  189. package/dist/components/ic-navigation-group.js.map +1 -1
  190. package/dist/components/ic-navigation-item.js +2 -2
  191. package/dist/components/ic-navigation-item.js.map +1 -1
  192. package/dist/components/ic-navigation-menu2.js +5 -5
  193. package/dist/components/ic-page-header.js +6 -6
  194. package/dist/components/ic-pagination-item2.js +2 -2
  195. package/dist/components/ic-pagination.js +4 -4
  196. package/dist/components/ic-popover-menu.js +4 -4
  197. package/dist/components/ic-radio-group.js +5 -5
  198. package/dist/components/ic-radio-group.js.map +1 -1
  199. package/dist/components/ic-radio-option.js +4 -4
  200. package/dist/components/ic-radio-option.js.map +1 -1
  201. package/dist/components/ic-search-bar.js +31 -12
  202. package/dist/components/ic-search-bar.js.map +1 -1
  203. package/dist/components/ic-section-container2.js +2 -2
  204. package/dist/components/ic-select.js +8 -8
  205. package/dist/components/ic-select.js.map +1 -1
  206. package/dist/components/ic-side-navigation.js +16 -17
  207. package/dist/components/ic-side-navigation.js.map +1 -1
  208. package/dist/components/ic-skeleton.js +2 -2
  209. package/dist/components/ic-skip-link.js +2 -2
  210. package/dist/components/ic-status-tag.js +2 -2
  211. package/dist/components/ic-step.js +13 -13
  212. package/dist/components/ic-stepper.js +2 -2
  213. package/dist/components/ic-switch.js +5 -5
  214. package/dist/components/ic-switch.js.map +1 -1
  215. package/dist/components/ic-tab-context.js +1 -1
  216. package/dist/components/ic-tab-group.js +2 -2
  217. package/dist/components/ic-tab-panel.js +2 -2
  218. package/dist/components/ic-tab-panel.js.map +1 -1
  219. package/dist/components/ic-text-field.js +8 -8
  220. package/dist/components/ic-text-field.js.map +1 -1
  221. package/dist/components/ic-theme.js +2 -2
  222. package/dist/components/ic-toast-region.js +1 -1
  223. package/dist/components/ic-toast.js +4 -4
  224. package/dist/components/ic-toggle-button-group.js +2 -2
  225. package/dist/components/ic-toggle-button.js +3 -3
  226. package/dist/components/ic-top-navigation.js +15 -9
  227. package/dist/components/ic-top-navigation.js.map +1 -1
  228. package/dist/components/ic-typography2.js +2 -2
  229. package/dist/core/ag-theme-icds.css +24 -4
  230. package/dist/core/core.css +29 -25
  231. package/dist/core/core.esm.js +1 -1
  232. package/dist/core/core.esm.js.map +1 -1
  233. package/dist/core/{p-7deaf128.entry.js → p-0f3a56bb.entry.js} +2 -2
  234. package/dist/core/p-0f3a56bb.entry.js.map +1 -0
  235. package/dist/core/{p-c5ffe2cf.entry.js → p-0f86ea09.entry.js} +2 -2
  236. package/dist/core/p-1228fd8c.entry.js +2 -0
  237. package/dist/core/{p-887e00bb.entry.js.map → p-1228fd8c.entry.js.map} +1 -1
  238. package/dist/core/{p-aad2abbf.entry.js → p-1286b234.entry.js} +2 -2
  239. package/dist/core/p-1286b234.entry.js.map +1 -0
  240. package/dist/core/{p-d82b27df.entry.js → p-13e65198.entry.js} +2 -2
  241. package/dist/core/{p-9a6dc8b1.entry.js → p-20a6dc40.entry.js} +2 -2
  242. package/dist/core/{p-4e48a671.entry.js → p-21ed856c.entry.js} +2 -2
  243. package/dist/core/{p-a140bcaa.entry.js → p-226406d6.entry.js} +2 -2
  244. package/dist/core/{p-7d2c07e2.entry.js → p-24bb2265.entry.js} +2 -2
  245. package/dist/core/{p-5eb2ac90.entry.js → p-2b342b23.entry.js} +2 -2
  246. package/dist/core/{p-8958c60f.entry.js → p-334672c1.entry.js} +2 -2
  247. package/dist/core/{p-dee21f6d.entry.js → p-3448c713.entry.js} +2 -2
  248. package/dist/core/{p-6cd0b010.entry.js → p-37900547.entry.js} +2 -2
  249. package/dist/core/{p-7d352865.entry.js → p-3abaa877.entry.js} +2 -2
  250. package/dist/core/p-3abaa877.entry.js.map +1 -0
  251. package/dist/core/{p-ef36181d.entry.js → p-3afc2870.entry.js} +2 -2
  252. package/dist/core/{p-aad10013.entry.js → p-3d7d2ff4.entry.js} +2 -2
  253. package/dist/core/p-41bb4db1.entry.js +2 -0
  254. package/dist/core/p-41bb4db1.entry.js.map +1 -0
  255. package/dist/core/{p-6eea869b.entry.js → p-44902a33.entry.js} +2 -2
  256. package/dist/core/{p-628c32b8.entry.js → p-476eac8c.entry.js} +2 -2
  257. package/dist/core/{p-56e0de32.entry.js → p-49ca3f54.entry.js} +2 -2
  258. package/dist/core/{p-56fb0298.entry.js → p-4dfc41e7.entry.js} +2 -2
  259. package/dist/core/{p-23536595.entry.js → p-5026eeaf.entry.js} +2 -2
  260. package/dist/core/{p-4a2acb2e.entry.js → p-54ea7120.entry.js} +2 -2
  261. package/dist/core/{p-a17499ff.entry.js → p-5b2bf9bb.entry.js} +2 -2
  262. package/dist/core/{p-ef4b752c.entry.js → p-5d9b23ce.entry.js} +2 -2
  263. package/dist/core/{p-4dc97b03.entry.js → p-5f9d1977.entry.js} +2 -2
  264. package/dist/core/p-5f9d1977.entry.js.map +1 -0
  265. package/dist/core/{p-e38fddbb.entry.js → p-6c10e1a2.entry.js} +2 -2
  266. package/dist/core/{p-51b49429.entry.js → p-6cb81f35.entry.js} +2 -2
  267. package/dist/core/{p-d4903dcd.entry.js → p-6dd73165.entry.js} +2 -2
  268. package/dist/core/{p-fc4f7180.entry.js → p-7ead8535.entry.js} +2 -2
  269. package/dist/core/{p-c8cf1ad5.entry.js → p-831e884c.entry.js} +2 -2
  270. package/dist/core/{p-fa38ad2e.entry.js → p-85f735ed.entry.js} +2 -2
  271. package/dist/core/p-89f493f3.entry.js +2 -0
  272. package/dist/core/p-89f493f3.entry.js.map +1 -0
  273. package/dist/core/{p-dfc8cba6.entry.js → p-8da025b5.entry.js} +2 -2
  274. package/dist/core/p-990c37aa.entry.js +2 -0
  275. package/dist/core/p-990c37aa.entry.js.map +1 -0
  276. package/dist/core/{p-803f2eb8.entry.js → p-9e039aba.entry.js} +2 -2
  277. package/dist/core/{p-3cb4ecef.entry.js → p-9e051db4.entry.js} +2 -2
  278. package/dist/core/{p-1d172032.entry.js → p-9edc5973.entry.js} +2 -2
  279. package/dist/core/{p-2c371198.entry.js → p-a14025cc.entry.js} +2 -2
  280. package/dist/core/p-a7286727.entry.js +2 -0
  281. package/dist/core/p-a7286727.entry.js.map +1 -0
  282. package/dist/core/{p-cfa9ed7d.entry.js → p-ab4e8b4a.entry.js} +2 -2
  283. package/dist/core/{p-dcce0dfd.entry.js → p-ab7a5536.entry.js} +2 -2
  284. package/dist/core/{p-26dfc4db.entry.js → p-ac73cfb8.entry.js} +2 -2
  285. package/dist/core/{p-1d254b71.entry.js → p-ad374f0b.entry.js} +2 -2
  286. package/dist/core/{p-513628ef.entry.js → p-b08bb522.entry.js} +2 -2
  287. package/dist/core/{p-e2629bfe.entry.js → p-b1b27b7e.entry.js} +2 -2
  288. package/dist/core/p-b40ecf16.js +2 -0
  289. package/dist/core/p-b40ecf16.js.map +1 -0
  290. package/dist/core/{p-5aec3757.entry.js → p-b59007a3.entry.js} +2 -2
  291. package/dist/core/{p-87fa5add.entry.js → p-b811c7a1.entry.js} +2 -2
  292. package/dist/core/p-b811c7a1.entry.js.map +1 -0
  293. package/dist/core/p-bae2df5e.entry.js +2 -0
  294. package/dist/core/p-bae2df5e.entry.js.map +1 -0
  295. package/dist/core/{p-d8ce39ac.entry.js → p-c8555360.entry.js} +2 -2
  296. package/dist/core/{p-60aad45d.entry.js → p-ced2e6ca.entry.js} +2 -2
  297. package/dist/core/{p-de1e04ac.entry.js → p-d281c3cf.entry.js} +2 -2
  298. package/dist/core/p-d32c377d.entry.js +2 -0
  299. package/dist/core/p-d32c377d.entry.js.map +1 -0
  300. package/dist/core/p-d4a77f80.entry.js +2 -0
  301. package/dist/core/p-d4a77f80.entry.js.map +1 -0
  302. package/dist/core/{p-9c47521d.entry.js → p-d7476f6d.entry.js} +2 -2
  303. package/dist/core/{p-8c77dd65.entry.js → p-e107d1dd.entry.js} +2 -2
  304. package/dist/core/p-e506ec91.entry.js +2 -0
  305. package/dist/core/p-e506ec91.entry.js.map +1 -0
  306. package/dist/core/{p-bf3b853e.entry.js → p-fc5661ac.entry.js} +2 -2
  307. package/dist/core/p-fca45edb.entry.js +2 -0
  308. package/dist/core/p-fca45edb.entry.js.map +1 -0
  309. package/dist/esm/core.js +1 -1
  310. package/dist/esm/{helpers-f2ffaa7c.js → helpers-91abc444.js} +30 -33
  311. package/dist/esm/helpers-91abc444.js.map +1 -0
  312. package/dist/esm/ic-accordion-group.entry.js +1 -1
  313. package/dist/esm/ic-accordion.entry.js +1 -1
  314. package/dist/esm/ic-alert.entry.js +1 -1
  315. package/dist/esm/ic-back-to-top.entry.js +1 -1
  316. package/dist/esm/ic-badge.entry.js +1 -1
  317. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  318. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  319. package/dist/esm/ic-button_3.entry.js +135 -142
  320. package/dist/esm/ic-button_3.entry.js.map +1 -1
  321. package/dist/esm/ic-card-vertical.entry.js +1 -1
  322. package/dist/esm/ic-checkbox-group.entry.js +5 -5
  323. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  324. package/dist/esm/ic-checkbox.entry.js +1 -1
  325. package/dist/esm/ic-chip.entry.js +1 -1
  326. package/dist/esm/ic-data-list.entry.js +2 -2
  327. package/dist/esm/ic-data-row.entry.js +3 -3
  328. package/dist/esm/ic-dialog.entry.js +2 -2
  329. package/dist/esm/ic-divider.entry.js +1 -1
  330. package/dist/esm/ic-empty-state.entry.js +3 -3
  331. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  332. package/dist/esm/ic-footer-link.entry.js +3 -3
  333. package/dist/esm/ic-footer.entry.js +1 -1
  334. package/dist/esm/ic-hero.entry.js +5 -5
  335. package/dist/esm/ic-horizontal-scroll.entry.js +6 -6
  336. package/dist/esm/ic-input-component-container_3.entry.js +19 -14
  337. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  338. package/dist/esm/ic-input-label_2.entry.js +36 -13
  339. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  340. package/dist/esm/ic-link.entry.js +2 -2
  341. package/dist/esm/ic-menu-group.entry.js +2 -2
  342. package/dist/esm/ic-menu-item.entry.js +1 -1
  343. package/dist/esm/ic-navigation-button.entry.js +31 -39
  344. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  345. package/dist/esm/ic-navigation-group.entry.js +7 -4
  346. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  347. package/dist/esm/ic-navigation-item.entry.js +2 -2
  348. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  349. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  350. package/dist/esm/ic-page-header.entry.js +7 -7
  351. package/dist/esm/ic-pagination-item.entry.js +2 -2
  352. package/dist/esm/ic-pagination.entry.js +5 -5
  353. package/dist/esm/ic-popover-menu.entry.js +5 -5
  354. package/dist/esm/ic-radio-group.entry.js +6 -6
  355. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  356. package/dist/esm/ic-radio-option.entry.js +5 -5
  357. package/dist/esm/ic-search-bar.entry.js +28 -12
  358. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  359. package/dist/esm/ic-section-container.entry.js +2 -2
  360. package/dist/esm/ic-select.entry.js +8 -8
  361. package/dist/esm/ic-select.entry.js.map +1 -1
  362. package/dist/esm/ic-side-navigation.entry.js +16 -17
  363. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  364. package/dist/esm/ic-skeleton.entry.js +2 -2
  365. package/dist/esm/ic-skip-link.entry.js +2 -2
  366. package/dist/esm/ic-status-tag.entry.js +3 -3
  367. package/dist/esm/ic-step.entry.js +14 -14
  368. package/dist/esm/ic-stepper.entry.js +3 -3
  369. package/dist/esm/ic-switch.entry.js +6 -6
  370. package/dist/esm/ic-switch.entry.js.map +1 -1
  371. package/dist/esm/ic-tab-context.entry.js +1 -1
  372. package/dist/esm/ic-tab-group.entry.js +3 -3
  373. package/dist/esm/ic-tab-panel.entry.js +2 -2
  374. package/dist/esm/ic-tab.entry.js +1 -1
  375. package/dist/esm/ic-text-field.entry.js +8 -8
  376. package/dist/esm/ic-text-field.entry.js.map +1 -1
  377. package/dist/esm/ic-theme.entry.js +2 -2
  378. package/dist/esm/ic-toast-region.entry.js +1 -1
  379. package/dist/esm/ic-toast.entry.js +4 -4
  380. package/dist/esm/ic-toggle-button-group.entry.js +3 -3
  381. package/dist/esm/ic-toggle-button.entry.js +3 -3
  382. package/dist/esm/ic-top-navigation.entry.js +15 -9
  383. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  384. package/dist/esm/ic-typography.entry.js +3 -3
  385. package/dist/esm/loader.js +1 -1
  386. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +3 -0
  387. package/dist/types/components/ic-input-label/ic-input-label.d.ts +2 -0
  388. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +28 -32
  389. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +2 -0
  390. package/dist/types/components/ic-menu/ic-menu.d.ts +7 -0
  391. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +8 -5
  392. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +4 -1
  393. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +3 -0
  394. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +11 -0
  395. package/dist/types/components/ic-select/ic-select.d.ts +1 -0
  396. package/dist/types/components/ic-switch/ic-switch.d.ts +1 -0
  397. package/dist/types/components/ic-text-field/ic-text-field.d.ts +1 -0
  398. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +1 -0
  399. package/dist/types/components.d.ts +33 -13
  400. package/dist/types/utils/constants.d.ts +1 -1
  401. package/dist/types/utils/helpers.d.ts +1 -1
  402. package/hydrate/index.js +445 -396
  403. package/hydrate/index.mjs +445 -396
  404. package/package.json +3 -5
  405. package/vscode-data.json +8 -0
  406. package/dist/cjs/helpers-fc4016d2.js.map +0 -1
  407. package/dist/core/p-0fb68b4f.entry.js +0 -2
  408. package/dist/core/p-0fb68b4f.entry.js.map +0 -1
  409. package/dist/core/p-15b7adaf.entry.js +0 -2
  410. package/dist/core/p-15b7adaf.entry.js.map +0 -1
  411. package/dist/core/p-3676ac4e.entry.js +0 -2
  412. package/dist/core/p-3676ac4e.entry.js.map +0 -1
  413. package/dist/core/p-432aeae0.entry.js +0 -2
  414. package/dist/core/p-432aeae0.entry.js.map +0 -1
  415. package/dist/core/p-4dc97b03.entry.js.map +0 -1
  416. package/dist/core/p-554845c4.entry.js +0 -2
  417. package/dist/core/p-554845c4.entry.js.map +0 -1
  418. package/dist/core/p-59b48450.entry.js +0 -2
  419. package/dist/core/p-59b48450.entry.js.map +0 -1
  420. package/dist/core/p-7d352865.entry.js.map +0 -1
  421. package/dist/core/p-7deaf128.entry.js.map +0 -1
  422. package/dist/core/p-8242c24f.js +0 -2
  423. package/dist/core/p-8242c24f.js.map +0 -1
  424. package/dist/core/p-87fa5add.entry.js.map +0 -1
  425. package/dist/core/p-887e00bb.entry.js +0 -2
  426. package/dist/core/p-aad2abbf.entry.js.map +0 -1
  427. package/dist/core/p-bdcc79dd.entry.js +0 -2
  428. package/dist/core/p-bdcc79dd.entry.js.map +0 -1
  429. package/dist/core/p-c59fd23e.entry.js +0 -2
  430. package/dist/core/p-c59fd23e.entry.js.map +0 -1
  431. package/dist/core/p-eca6e215.entry.js +0 -2
  432. package/dist/core/p-eca6e215.entry.js.map +0 -1
  433. package/dist/esm/helpers-f2ffaa7c.js.map +0 -1
  434. /package/dist/core/{p-c5ffe2cf.entry.js.map → p-0f86ea09.entry.js.map} +0 -0
  435. /package/dist/core/{p-d82b27df.entry.js.map → p-13e65198.entry.js.map} +0 -0
  436. /package/dist/core/{p-9a6dc8b1.entry.js.map → p-20a6dc40.entry.js.map} +0 -0
  437. /package/dist/core/{p-4e48a671.entry.js.map → p-21ed856c.entry.js.map} +0 -0
  438. /package/dist/core/{p-a140bcaa.entry.js.map → p-226406d6.entry.js.map} +0 -0
  439. /package/dist/core/{p-7d2c07e2.entry.js.map → p-24bb2265.entry.js.map} +0 -0
  440. /package/dist/core/{p-5eb2ac90.entry.js.map → p-2b342b23.entry.js.map} +0 -0
  441. /package/dist/core/{p-8958c60f.entry.js.map → p-334672c1.entry.js.map} +0 -0
  442. /package/dist/core/{p-dee21f6d.entry.js.map → p-3448c713.entry.js.map} +0 -0
  443. /package/dist/core/{p-6cd0b010.entry.js.map → p-37900547.entry.js.map} +0 -0
  444. /package/dist/core/{p-ef36181d.entry.js.map → p-3afc2870.entry.js.map} +0 -0
  445. /package/dist/core/{p-aad10013.entry.js.map → p-3d7d2ff4.entry.js.map} +0 -0
  446. /package/dist/core/{p-6eea869b.entry.js.map → p-44902a33.entry.js.map} +0 -0
  447. /package/dist/core/{p-628c32b8.entry.js.map → p-476eac8c.entry.js.map} +0 -0
  448. /package/dist/core/{p-56e0de32.entry.js.map → p-49ca3f54.entry.js.map} +0 -0
  449. /package/dist/core/{p-56fb0298.entry.js.map → p-4dfc41e7.entry.js.map} +0 -0
  450. /package/dist/core/{p-23536595.entry.js.map → p-5026eeaf.entry.js.map} +0 -0
  451. /package/dist/core/{p-4a2acb2e.entry.js.map → p-54ea7120.entry.js.map} +0 -0
  452. /package/dist/core/{p-a17499ff.entry.js.map → p-5b2bf9bb.entry.js.map} +0 -0
  453. /package/dist/core/{p-ef4b752c.entry.js.map → p-5d9b23ce.entry.js.map} +0 -0
  454. /package/dist/core/{p-e38fddbb.entry.js.map → p-6c10e1a2.entry.js.map} +0 -0
  455. /package/dist/core/{p-51b49429.entry.js.map → p-6cb81f35.entry.js.map} +0 -0
  456. /package/dist/core/{p-d4903dcd.entry.js.map → p-6dd73165.entry.js.map} +0 -0
  457. /package/dist/core/{p-fc4f7180.entry.js.map → p-7ead8535.entry.js.map} +0 -0
  458. /package/dist/core/{p-c8cf1ad5.entry.js.map → p-831e884c.entry.js.map} +0 -0
  459. /package/dist/core/{p-fa38ad2e.entry.js.map → p-85f735ed.entry.js.map} +0 -0
  460. /package/dist/core/{p-dfc8cba6.entry.js.map → p-8da025b5.entry.js.map} +0 -0
  461. /package/dist/core/{p-803f2eb8.entry.js.map → p-9e039aba.entry.js.map} +0 -0
  462. /package/dist/core/{p-3cb4ecef.entry.js.map → p-9e051db4.entry.js.map} +0 -0
  463. /package/dist/core/{p-1d172032.entry.js.map → p-9edc5973.entry.js.map} +0 -0
  464. /package/dist/core/{p-2c371198.entry.js.map → p-a14025cc.entry.js.map} +0 -0
  465. /package/dist/core/{p-cfa9ed7d.entry.js.map → p-ab4e8b4a.entry.js.map} +0 -0
  466. /package/dist/core/{p-dcce0dfd.entry.js.map → p-ab7a5536.entry.js.map} +0 -0
  467. /package/dist/core/{p-26dfc4db.entry.js.map → p-ac73cfb8.entry.js.map} +0 -0
  468. /package/dist/core/{p-1d254b71.entry.js.map → p-ad374f0b.entry.js.map} +0 -0
  469. /package/dist/core/{p-513628ef.entry.js.map → p-b08bb522.entry.js.map} +0 -0
  470. /package/dist/core/{p-e2629bfe.entry.js.map → p-b1b27b7e.entry.js.map} +0 -0
  471. /package/dist/core/{p-5aec3757.entry.js.map → p-b59007a3.entry.js.map} +0 -0
  472. /package/dist/core/{p-d8ce39ac.entry.js.map → p-c8555360.entry.js.map} +0 -0
  473. /package/dist/core/{p-60aad45d.entry.js.map → p-ced2e6ca.entry.js.map} +0 -0
  474. /package/dist/core/{p-de1e04ac.entry.js.map → p-d281c3cf.entry.js.map} +0 -0
  475. /package/dist/core/{p-9c47521d.entry.js.map → p-d7476f6d.entry.js.map} +0 -0
  476. /package/dist/core/{p-8c77dd65.entry.js.map → p-e107d1dd.entry.js.map} +0 -0
  477. /package/dist/core/{p-bf3b853e.entry.js.map → p-fc5661ac.entry.js.map} +0 -0
@@ -40,7 +40,7 @@ export class ToastRegion {
40
40
  }
41
41
  }
42
42
  render() {
43
- return h("slot", { key: '3ff4dd455989c1922414e4d4ed83d9b5472736bf' });
43
+ return h("slot", { key: '9a80027a3b497771ca83af4172fdccc2bfcc10f0' });
44
44
  }
45
45
  static get is() { return "ic-toast-region"; }
46
46
  static get properties() {
@@ -129,7 +129,7 @@ export class ToggleButton {
129
129
  render() {
130
130
  const { accessibleLabel, checked, disabled, fullWidth, iconPlacement, monochrome, label, loading, size, theme, tooltipPlacement, variant, } = this;
131
131
  const iconVariant = variant === "icon";
132
- return (h(Host, { key: 'e34299dc13ff4f36657b4fea7c88d5d478fa85c1', class: {
132
+ return (h(Host, { key: '64acdb10437030311b26805c7a5b4fb4e53a7641', class: {
133
133
  "ic-toggle-button-checked": checked,
134
134
  "ic-toggle-button-disabled": disabled,
135
135
  "ic-toggle-button-icon": iconVariant,
@@ -138,7 +138,7 @@ export class ToggleButton {
138
138
  "ic-toggle-button-full-width": fullWidth,
139
139
  [`ic-toggle-button-${size}`]: true,
140
140
  [`ic-theme-${theme}`]: theme !== "inherit",
141
- }, onFocus: this.handleFocus }, h("ic-button", { key: '9f6f52717db592139175316c88a781eaa98adb65', "aria-pressed": `${checked}`, variant: iconVariant ? "icon" : "secondary", onClick: this.handleClick, title: accessibleLabel, "aria-label": `${accessibleLabel ? accessibleLabel : label}, ${checked ? "ticked" : "unticked"}`, disabled: disabled, size: size, fullWidth: fullWidth, loading: loading, tooltipPlacement: tooltipPlacement }, !iconVariant && label, h("slot", { key: 'c180d619e44820ba7a0f597070f0cea2d26a4830' }), isSlotUsed(this.el, "icon") && (h("slot", { key: 'b2a2545a6b0ed44a7911da313306ed6de84c7862', name: "icon", slot: `${iconPlacement}-icon` })), isSlotUsed(this.el, "badge") && (h("slot", { key: 'c7de6d7eb51d0f444ede14995f708ffcd42174a1', name: "badge", slot: "badge" })))));
141
+ }, onFocus: this.handleFocus }, h("ic-button", { key: '7ec9db00accaa2e67f4797534f4ad2b304da6397', "aria-pressed": `${checked}`, variant: iconVariant ? "icon" : "secondary", onClick: this.handleClick, title: accessibleLabel, "aria-label": `${accessibleLabel ? accessibleLabel : label}, ${checked ? "ticked" : "unticked"}`, disabled: disabled, size: size, fullWidth: fullWidth, loading: loading, tooltipPlacement: tooltipPlacement }, !iconVariant && label, h("slot", { key: 'e84bac663f0dababe84c49180fbeabaaff23c24d' }), isSlotUsed(this.el, "icon") && (h("slot", { key: 'ee8b32317edb8d9f0dfcbdb0daa106a53bcf26d4', name: "icon", slot: `${iconPlacement}-icon` })), isSlotUsed(this.el, "badge") && (h("slot", { key: 'baa79552fb587d8f1167874dc55f47bbf9cf711b', name: "badge", slot: "badge" })))));
142
142
  }
143
143
  static get is() { return "ic-toggle-button"; }
144
144
  static get encapsulation() { return "shadow"; }
@@ -217,13 +217,13 @@ export class ToggleButtonGroup {
217
217
  }
218
218
  render() {
219
219
  const { accessibleLabel, disabled, fullWidth, loading, monochrome, theme } = this;
220
- return (h(Host, { key: '91a65da59d67e885a34b5d8c9390f6f419342125', role: "group", "aria-label": accessibleLabel, tabindex: 0, class: {
220
+ return (h(Host, { key: 'c82ba602f319c2074da44667618cc5d7b7c3499b', role: "group", "aria-label": accessibleLabel, tabindex: 0, class: {
221
221
  "ic-toggle-button-group-disabled": disabled,
222
222
  "ic-toggle-button-group-full-width": fullWidth,
223
223
  "ic-toggle-button-group-loading": loading,
224
224
  "ic-toggle-button-group-monochrome": monochrome,
225
225
  [`ic-theme-${theme}`]: theme !== "inherit",
226
- }, onFocus: this.handleHostFocus }, h("slot", { key: 'bbf0f773b7978915b5421b1962a3391323ee1d3a' })));
226
+ }, onFocus: this.handleHostFocus }, h("slot", { key: '98defd37fd3f5c87d4d0aceefd1b5ac0c5ad6123' })));
227
227
  }
228
228
  static get is() { return "ic-toggle-button-group"; }
229
229
  static get encapsulation() { return "shadow"; }
@@ -610,6 +610,7 @@ slot[name="app-icon"]::slotted(*) {
610
610
  fill: var(--ic-top-navigation-logo);
611
611
  width: 2em;
612
612
  height: 2em;
613
+ cursor: pointer;
613
614
  }
614
615
 
615
616
  slot[name="toggle-icon"] svg {
@@ -13,6 +13,7 @@ import { checkResizeObserver, DEVICE_SIZES, getCurrentDeviceSize, getBrandForegr
13
13
  export class TopNavigation {
14
14
  constructor() {
15
15
  this.hasAppIcon = false;
16
+ this.hasAppTitleSlot = false;
16
17
  this.hasIconButtons = false;
17
18
  this.hasNavigation = false;
18
19
  this.hasSearchSlotContent = false;
@@ -61,9 +62,15 @@ export class TopNavigation {
61
62
  this.version = "";
62
63
  this.checkSlots = () => {
63
64
  this.hasAppIcon = isSlotUsed(this.el, "app-icon");
65
+ this.hasAppTitleSlot = isSlotUsed(this.el, "app-title");
64
66
  this.hasNavigation = isSlotUsed(this.el, "navigation");
65
67
  this.hasIconButtons = isSlotUsed(this.el, "buttons");
66
68
  this.hasSearchSlotContent = isSlotUsed(this.el, "search");
69
+ if (this.hasAppIcon) {
70
+ const slottedAppIcon = this.el.querySelector('[slot="app-icon"]');
71
+ if (slottedAppIcon && slottedAppIcon.tagName === "A")
72
+ slottedAppIcon.tabIndex = -1;
73
+ }
67
74
  };
68
75
  this.initialiseSearchBar = () => {
69
76
  if (!this.hasSearchSlotContent)
@@ -156,7 +163,7 @@ export class TopNavigation {
156
163
  }
157
164
  componentDidLoad() {
158
165
  checkResizeObserver(this.runResizeObserver);
159
- if (!isSlotUsed(this.el, "app-title")) {
166
+ if (!this.hasAppTitleSlot) {
160
167
  onComponentRequiredPropUndefined([{ prop: this.appTitle, propName: "app-title" }], "Top Navigation");
161
168
  }
162
169
  }
@@ -184,7 +191,7 @@ export class TopNavigation {
184
191
  this.foregroundColor = detail.mode;
185
192
  }
186
193
  render() {
187
- const { appTitle, contentAligned, customMobileBreakpoint, deviceSize, el, foregroundColor, hasAppIcon, hasFullWidthSearchBar, hasIconButtons, hasNavigation, hasSearchSlotContent, href, inline, menuButtonClick, mobileSearchBarVisible, navMenuVisible, searchButtonClickHandler, searchButtonMouseDownHandler, shortAppTitle, status, version, theme, } = this;
194
+ const { appTitle, contentAligned, customMobileBreakpoint, deviceSize, el, foregroundColor, hasAppIcon, hasAppTitleSlot, hasFullWidthSearchBar, hasIconButtons, hasNavigation, hasSearchSlotContent, href, inline, menuButtonClick, mobileSearchBarVisible, navMenuVisible, searchButtonClickHandler, searchButtonMouseDownHandler, shortAppTitle, status, version, theme, } = this;
188
195
  const hasStatus = status !== "";
189
196
  const hasVersion = version !== "";
190
197
  const hasMenuContent = hasNavigation || hasIconButtons || hasStatus || hasVersion;
@@ -200,21 +207,20 @@ export class TopNavigation {
200
207
  const mobileSearchButtonTitle = `${mobileSearchBarVisible ? "Hide" : "Show"} search`;
201
208
  const menuSize = isSmallDeviceSize ? "small" : "medium";
202
209
  const shortAppTitleSlot = isSlotUsed(el, "short-app-title");
203
- const hasAppTitleSlot = isSlotUsed(el, "app-title");
204
210
  const Component = hasAppTitleSlot ? "div" : "a";
205
211
  const attrs = Component == "a" && {
206
212
  href: href,
207
213
  };
208
- return (h(Host, { key: '109a8d5b8745b485182a193c3f4929a7b01db39a', class: {
214
+ return (h(Host, { key: '04ae428a97e2c58967096b74d112eaff245f8dff', class: {
209
215
  "fullwidth-searchbar": hasFullWidthSearchBar,
210
216
  "mobile-mode": overMobileBreakpoint,
211
217
  [IcBrandForegroundEnum.Dark]: foregroundColor === IcBrandForegroundEnum.Dark,
212
218
  [`ic-theme-${theme}`]: theme !== "inherit",
213
- } }, h("div", { key: '4ed96db767e6c034003f84053651fe68396799c7', class: "top-navigation" }, h("ic-section-container", { key: '44ac38abd7935fe8feed493a1f1550fccc3c5535', aligned: contentAligned, "full-height": true }, h("header", { key: 'b5468dc9e39a3f45e857464179d3bb9f6ea15707', role: "banner" }, h("div", { key: '856acd47849f1621f800385e630cd9d045535ef0', class: "top-panel-container" }, h("div", { key: '0ac5b5c3313230a12f75b99531b6db5280f54729', class: "app-details-container" }, (hasTitle || hasAppTitleSlot) && (h(Component, Object.assign({ key: 'c27a485d2d304ea74edd37e30dfc013c7f42d1f6', class: "title-link" }, attrs), hasAppIcon && (h("div", { key: '18e1af273850b3174fdc3c2ac3b7cd1e51d27dc8', class: "app-icon-container" }, h("slot", { key: '98ff1d08d3cd6a0332c42f8c08d2e04897da1014', name: "app-icon" }))), isSmallDeviceSize &&
219
+ } }, h("div", { key: '567b43f0ff4239ec947520f1b3cfdca5f248a273', class: "top-navigation" }, h("ic-section-container", { key: 'de93c750d52edcafbf52b45f35adeb6547a68b7b', aligned: contentAligned, "full-height": true }, h("header", { key: '70f3227f015418d9fa82e64786a0b6c9543b3bee', role: "banner" }, h("div", { key: 'cd42a8c33f9baef9566f2fea19d3e9462f4e067a', class: "top-panel-container" }, h("div", { key: '192dbc95a46ffb8d06a7f55258e791a149003bd4', class: "app-details-container" }, (hasTitle || hasAppTitleSlot) && (h(Component, Object.assign({ key: '434d3d4de2d251752145200352425032692fc1cd', class: "title-link" }, attrs), hasAppIcon && (h("div", { key: '6f3d2089eb16b717946baa082706beb46f04657d', class: "app-icon-container" }, h("slot", { key: '0daa4b46d9e2d72aa1c68e62279e5a3389ec3ab2', name: "app-icon" }))), isSmallDeviceSize &&
214
220
  (!isEmptyString(shortAppTitle) || shortAppTitleSlot) ? (h("ic-typography", { variant: "subtitle-small", "aria-label": (!hasAppTitleSlot || !shortAppTitleSlot) &&
215
- `${appTitle} (${shortAppTitle})` }, h("h1", null, shortAppTitleSlot ? (h("slot", { name: "short-app-title" })) : (shortAppTitle)))) : (h("ic-typography", { variant: appTitleVariant }, h("h1", { class: "title-wrap" }, hasAppTitleSlot ? (h("slot", { name: "app-title" })) : (appTitle)))))), hasStatus && (h("div", { key: '6cb297d4f6942bb1a277c8ce7476e861d97c8443', class: "app-status" }, h("ic-typography", { key: 'df12aa96dbce804e3bf0241f68a93b2027667f65', "aria-label": "app tag", variant: "label-uppercase", class: "app-status-text" }, status))), hasVersion && (h("div", { key: '6312913ba6a1da16d992e225b1c2c81a9ef08e86', class: "app-version" }, h("ic-typography", { key: 'e1885cd980327cac6254860daeb80e3bf3b71b71', variant: "label", class: "app-version-text", "aria-label": "app version" }, version)))), (hasSearchSlotContent || hasMenuContent) && (h("div", { key: '227e6a17a7f8f353aac7c7fc684adef110387e12', class: "search-menu-container" }, h("div", { key: 'c61983790f01a2f4cccde572ccae52d598f2ef8f', class: "search-actions-container" }, !overMobileBreakpoint ? (h(Fragment, null, h("slot", { name: "search" }), hasIconButtons && (h("div", { class: "icon-buttons-container" }, h("slot", { name: "buttons" }))))) : (h(Fragment, null, hasSearchSlotContent && (h("ic-button", { id: "search-toggle-button", ref: (el) => (this.mobileSearchButtonEl = el), onMouseDown: searchButtonMouseDownHandler, variant: "icon-tertiary", monochrome: true, size: searchButtonSize, "aria-label": mobileSearchButtonTitle, theme: foregroundColor, onClick: searchButtonClickHandler }, h("slot", { name: "toggle-icon" }, h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#ffffff" }, h("path", { d: "M0 0h24v24H0V0z", fill: "none" }), h("path", { d: "M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" }))))), hasMenuContent && (h("div", { class: "menu-button-container" }, h("span", { id: "navigation-landmark-button-text", class: "navigation-landmark-button-text", "aria-hidden": "true" }, "Main navigation button"), h("nav", { "aria-labelledby": "navigation-landmark-button-text", "aria-hidden": `${navMenuVisible}` }, h("ic-button", { id: "menu-button", ref: (el) => (this.menuButtonEl = el), theme: foregroundColor, variant: "secondary", monochrome: true, "aria-expanded": "false", "aria-haspopup": "true", "aria-label": `Open ${hasNavigation ? "navigation" : "app"} menu`, size: menuSize, onClick: menuButtonClick }, "Menu", h("svg", { xmlns: "http://www.w3.org/2000/svg", height: "24px", viewBox: "0 0 24 24", width: "24px", fill: "#ffffff", slot: "left-icon" }, h("path", { d: "M0 0h24v24H0V0z", fill: "none" }), h("path", { d: "M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" })))))))))))), mobileSearchBarVisible && (h("div", { key: '151189b97bf2f3d25a492b94d18abbcdf75fecfe', class: "search-bar-container" }, h("slot", { key: 'e2cce191292a452cd262225cc37a7740a3062e27', name: "search" }))), hasNavigation && !overMobileBreakpoint && (h("div", { key: '276e4e02593c11acf3b9d6d3e9fa180d1a931638', class: "navigation-tabs" }, h("span", { key: '36300650d07526bc75fb99461c8749a12d08bfe1', id: "navigation-landmark-text", class: "navigation-landmark-text", "aria-hidden": "true" }, "Main pages"), h("nav", { key: '0f8c7ac61bb6bf1007f29a79759faaa4700b1d90', "aria-labelledby": "navigation-landmark-text", class: "nav-panel-container" }, h("ic-horizontal-scroll", { key: '35f848caea4ea1dd4acf40fb745c8c21e3527a1c', monochrome: true, appearance: foregroundColor }, h("ul", { key: 'e3258950c9a102ab131421f43c6c255a25a92b86', class: "navigation-item-list", tabindex: "-1" }, h("slot", { key: '47b7b95636042b538630b97a124420a1fc27c948', name: "navigation" }))))))))), navMenuVisible && (h("ic-navigation-menu", { key: '3882936269a606b370eb187404194be1add62dd5', version: version, status: status, class: {
221
+ `${appTitle} (${shortAppTitle})` }, h("h1", null, shortAppTitleSlot ? (h("slot", { name: "short-app-title" })) : (shortAppTitle)))) : (h("ic-typography", { variant: appTitleVariant }, h("h1", { class: "title-wrap" }, hasAppTitleSlot ? (h("slot", { name: "app-title" })) : (appTitle)))))), hasStatus && (h("div", { key: '83a440ebcedf586a87690b57ea9ecfce1495ceb7', class: "app-status" }, h("ic-typography", { key: '0889ee69e31b3665821b286915a43e253fd66c1a', "aria-label": "app tag", variant: "label-uppercase", class: "app-status-text" }, status))), hasVersion && (h("div", { key: '542d3f22383d5bac8eda47fcd47ef694f054929b', class: "app-version" }, h("ic-typography", { key: '0ed2b7209b4f03da9d462ac1406d3530696b702c', variant: "label", class: "app-version-text", "aria-label": "app version" }, version)))), (hasSearchSlotContent || hasMenuContent) && (h("div", { key: 'dbc3439b52e9d9257fc1c98ad50e25e92140ceca', class: "search-menu-container" }, h("div", { key: '3f5b5d05659459daab6d0bcbd69dd0ac70eae0f8', class: "search-actions-container" }, !overMobileBreakpoint ? (h(Fragment, null, h("slot", { name: "search" }), hasIconButtons && (h("div", { class: "icon-buttons-container" }, h("slot", { name: "buttons" }))))) : (h(Fragment, null, hasSearchSlotContent && (h("ic-button", { id: "search-toggle-button", ref: (el) => (this.mobileSearchButtonEl = el), onMouseDown: searchButtonMouseDownHandler, variant: "icon-tertiary", monochrome: true, size: searchButtonSize, "aria-label": mobileSearchButtonTitle, theme: foregroundColor, onClick: searchButtonClickHandler }, h("slot", { name: "toggle-icon" }, h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 24 24", fill: "#ffffff" }, h("path", { d: "M0 0h24v24H0V0z", fill: "none" }), h("path", { d: "M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z" }))))), hasMenuContent && (h("div", { class: "menu-button-container" }, h("span", { id: "navigation-landmark-button-text", class: "navigation-landmark-button-text", "aria-hidden": "true" }, "Main navigation button"), h("nav", { "aria-labelledby": "navigation-landmark-button-text", "aria-hidden": `${navMenuVisible}` }, h("ic-button", { id: "menu-button", ref: (el) => (this.menuButtonEl = el), theme: foregroundColor, variant: "secondary", monochrome: true, "aria-expanded": "false", "aria-haspopup": "true", "aria-label": `Open ${hasNavigation ? "navigation" : "app"} menu`, size: menuSize, onClick: menuButtonClick }, "Menu", h("svg", { xmlns: "http://www.w3.org/2000/svg", height: "24px", viewBox: "0 0 24 24", width: "24px", fill: "#ffffff", slot: "left-icon" }, h("path", { d: "M0 0h24v24H0V0z", fill: "none" }), h("path", { d: "M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" })))))))))))), mobileSearchBarVisible && (h("div", { key: 'b3f55a4e18ef3c55503b56447d5fbeb19e569a4f', class: "search-bar-container" }, h("slot", { key: '99ebca2aa04bf76d949384c517dc2012312dbd92', name: "search" }))), hasNavigation && !overMobileBreakpoint && (h("div", { key: '6113dfcd92cf06c1f9a533ec6c2f0af3d26abca7', class: "navigation-tabs" }, h("span", { key: 'fa638d34955dccbdb7a8f149e0a8e083e3df0f72', id: "navigation-landmark-text", class: "navigation-landmark-text", "aria-hidden": "true" }, "Main pages"), h("nav", { key: 'fc6e24c76b720a463e81dbbe00c91a065bb260ea', "aria-labelledby": "navigation-landmark-text", class: "nav-panel-container" }, h("ic-horizontal-scroll", { key: 'da133fd91d91ff172067fc9aad86651a4c3a2f95', monochrome: true, appearance: foregroundColor }, h("ul", { key: 'f48330caa3937f35f2f65a3fbad830bda2b5c342', class: "navigation-item-list", tabindex: "-1" }, h("slot", { key: '74eb909d405109d5387f42e00a633e8ed09ff6f6', name: "navigation" }))))))))), navMenuVisible && (h("ic-navigation-menu", { key: 'c77d988d1af3ac37eebb5d598b5f649f1d47c899', version: version, status: status, class: {
216
222
  inline,
217
- } }, hasIconButtons && (h("div", { key: '0de3827a70e0d7b3148148b89a36a98693883770', class: "menu-buttons-slot", slot: "buttons" }, h("slot", { key: 'a4a175ccfa0aa523fda4ce61d389175c40f75be0', name: "buttons" }))), h("ul", { key: 'c601f64f4e48c2cb197793d440fdac7d2dc08261', slot: "navigation" }, h("slot", { key: 'af85842692b892b7614fafff255c2c107a5bfdc9', name: "navigation" }))))));
223
+ } }, hasIconButtons && (h("div", { key: '77d9283a5fdffa724e13f667e9d09ae72f72329e', class: "menu-buttons-slot", slot: "buttons" }, h("slot", { key: '020b485ca53e55926b072738ab7dcb465f1efce5', name: "buttons" }))), h("ul", { key: '16101ca81c95d2de0d55c7a051ccffd5a987f5f8', slot: "navigation" }, h("slot", { key: '02bde8c67591e4c2c15d005252f1f7ae87cff61a', name: "navigation" }))))));
218
224
  }
219
225
  static get is() { return "ic-top-navigation"; }
220
226
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"ic-top-navigation.js","sourceRoot":"","sources":["../../../src/components/ic-top-navigation/ic-top-navigation.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n h,\n State,\n Listen,\n Event,\n EventEmitter,\n Watch,\n Fragment,\n} from \"@stencil/core\";\n\nimport {\n IcTypographyVariants,\n IcAlignment,\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcBrand,\n IcDeviceSizes,\n IcValueEventDetail,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n checkResizeObserver,\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getBrandForegroundAppearance,\n getSlot,\n onComponentPropUndefinedChange,\n onComponentRequiredPropUndefined,\n isSlotUsed,\n isEmptyString,\n isPropDefined,\n} from \"../../utils/helpers\";\nimport { IcSearchBarBlurEventDetail } from \"../ic-search-bar/ic-search-bar.types\";\n\n/**\n * @slot app-icon - Content will be rendered to left of app title. Anything that is slotted here will be hidden from screen readers.\n * @slot app-title - Handle routing by nesting a route in the app title.\n * @slot short-app-title - Handle routing by nesting a route in the short app title (to be displayed in place of app title on small screen sizes).\n * @slot search - Content will be rendered in search area to left of buttons.\n * @slot toggle-icon - Icon to be displayed on the button to toggle search slot content on smaller devices\n * @slot navigation - Content will be rendered in navigation panel.\n * @slot buttons - Content will be rendered to right of search bar.\n */\n@Component({\n tag: \"ic-top-navigation\",\n styleUrl: \"ic-top-navigation.css\",\n shadow: true,\n})\nexport class TopNavigation {\n private hasAppIcon = false;\n private hasIconButtons = false;\n private hasNavigation = false;\n private hasSearchSlotContent = false;\n private mobileSearchButtonEl?: HTMLIcButtonElement;\n private resizeObserver: ResizeObserver | null = null;\n private searchBar: HTMLIcSearchBarElement | null = null;\n private menuButtonEl?: HTMLIcButtonElement;\n\n @Element() el: HTMLIcTopNavigationElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() foregroundColor: IcBrandForeground = getBrandForegroundAppearance();\n @State() hasFullWidthSearchBar = false;\n @State() mobileSearchBarVisible = false;\n @State() mobileSearchHiddenOnBlur = false;\n @State() navMenuVisible = false;\n @State() searchButtonClick = false;\n @State() searchValue = \"\";\n\n /**\n * The alignment of the top navigation content.\n */\n @Prop() contentAligned: IcAlignment = \"full-width\";\n /**\n * Can set a custom breakpoint for the top navigation to switch to mobile mode.\n * Must be one of our specified breakpoints in px: `0`, `576`, `768`, `992`, `1200`.\n */\n @Prop() customMobileBreakpoint: IcDeviceSizes = DEVICE_SIZES.L;\n /**\n * The URL to navigate to when the app title is clicked.\n */\n @Prop() href = \"/\";\n\n /**\n * If `true`, the flyout navigation menu on small devices will be contained by the parent element.\n */\n @Prop() inline = false;\n\n /**\n * The short title of the app to be displayed at small screen sizes in place of the app title.\n */\n @Prop() shortAppTitle = \"\";\n\n /**\n * The status info to be displayed.\n */\n @Prop() status = \"\";\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * The version info to be displayed.\n */\n @Prop() version = \"\";\n\n /**\n * The app title to be displayed. This is required, unless a slotted app title link is used.\n */\n @Prop() appTitle?: string;\n @Watch(\"appTitle\")\n watchPropHandler(newValue: string, oldValue: string): void {\n //added for Gatsby rehydration issue where prop is initially undefined but then changes to actual value\n //this watch can be removed once Gatsby hydration issue is resolved\n onComponentPropUndefinedChange(\n oldValue,\n newValue,\n this.initialiseSearchBar\n );\n }\n\n /**\n * @internal - Emitted when the menu is closed.\n */\n @Event() icNavigationMenuClosed: EventEmitter<void>;\n\n /**\n * @internal - Emitted when the menu is opened.\n */\n @Event() icNavigationMenuOpened: EventEmitter<void>;\n\n /**\n * Emitted when the top navigation is resized.\n */\n @Event() icTopNavResized: EventEmitter<{ size: number }>;\n\n disconnectedCallback(): void {\n this.resizeObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.checkSlots();\n this.deviceSize = getCurrentDeviceSize();\n this.initialiseSearchBar();\n }\n\n componentDidLoad(): void {\n checkResizeObserver(this.runResizeObserver);\n if (!isSlotUsed(this.el, \"app-title\")) {\n onComponentRequiredPropUndefined(\n [{ prop: this.appTitle, propName: \"app-title\" }],\n \"Top Navigation\"\n );\n }\n }\n\n componentWillRender(): void {\n this.checkSlots();\n }\n\n @Listen(\"icNavigationMenuClose\", {})\n navBarMenuCloseHandler(): void {\n this.showNavMenu(false);\n this.menuButtonEl?.setFocus();\n }\n\n @Listen(\"icSearchBarBlur\", {})\n searchInputBlurHandler({\n detail,\n }: CustomEvent<IcSearchBarBlurEventDetail>): void {\n if (detail !== null) {\n if (this.mobileSearchBarVisible && !this.searchButtonClick) {\n //don't hide if blur was triggered by click on search button - let the click handler toggle the state\n this.toggleSearchBar();\n }\n this.searchValue = detail.value as string;\n }\n }\n\n @Listen(\"icChange\", {})\n searchValueChangeHandler({ detail }: CustomEvent<IcValueEventDetail>): void {\n this.searchValue = detail.value;\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler({ detail }: CustomEvent<IcBrand>): void {\n this.foregroundColor = detail.mode;\n }\n\n private checkSlots = () => {\n this.hasAppIcon = isSlotUsed(this.el, \"app-icon\");\n this.hasNavigation = isSlotUsed(this.el, \"navigation\");\n this.hasIconButtons = isSlotUsed(this.el, \"buttons\");\n this.hasSearchSlotContent = isSlotUsed(this.el, \"search\");\n };\n\n private initialiseSearchBar = () => {\n if (!this.hasSearchSlotContent) return;\n\n const slot = getSlot(this.el, \"search\");\n if (slot?.tagName === \"IC-SEARCH-BAR\") {\n this.searchBar = slot as HTMLIcSearchBarElement;\n } else if (slot?.tagName === \"FORM\") {\n this.searchBar = slot.querySelector(\"ic-search-bar\");\n }\n\n if (this.searchBar !== null) {\n this.searchBar.hideLabel = true;\n }\n };\n\n private toggleSearchBar = () => {\n this.mobileSearchBarVisible = !this.mobileSearchBarVisible;\n\n if (!this.searchBar) return;\n\n this.mobileSearchButtonEl?.setAttribute(\n \"aria-label\",\n `${this.mobileSearchBarVisible ? \"Hide\" : \"Show\"} search`\n );\n this.hasFullWidthSearchBar = this.mobileSearchBarVisible;\n this.searchBar.fullWidth = this.mobileSearchBarVisible;\n if (this.mobileSearchBarVisible) {\n setTimeout(() => {\n this.searchBar?.focus();\n }, 100);\n }\n };\n\n private menuButtonClick = () => {\n this.showNavMenu(true);\n };\n\n private showNavMenu = (show: boolean) => {\n this.navMenuVisible = show;\n (show ? this.icNavigationMenuOpened : this.icNavigationMenuClosed).emit();\n document.body.style.height = show ? \"100%\" : \"auto\";\n document.body.style.overflow = show ? \"hidden\" : \"auto\";\n };\n\n private searchButtonMouseDownHandler = () => {\n this.searchButtonClick = true;\n };\n\n private searchButtonClickHandler = () => {\n this.toggleSearchBar();\n this.searchButtonClick = false;\n };\n\n private resizeObserverCallback = (currSize: number) => {\n if (currSize === this.deviceSize) return;\n\n this.deviceSize = currSize;\n if (currSize > this.customMobileBreakpoint) {\n this.showNavMenu(false);\n if (this.mobileSearchBarVisible) {\n this.toggleSearchBar();\n }\n }\n this.icTopNavResized.emit({\n size: currSize,\n });\n if (this.searchBar && document.activeElement === this.searchBar) {\n this.searchBar.setAttribute(\"hidden\", \"true\");\n //remove attribute again as this trigger a redraw & applies css\n this.searchBar.removeAttribute(\"hidden\");\n setTimeout(() => {\n this.searchBar?.focus();\n }, 100);\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback(getCurrentDeviceSize());\n });\n\n this.resizeObserver.observe(this.el);\n };\n\n render() {\n const {\n appTitle,\n contentAligned,\n customMobileBreakpoint,\n deviceSize,\n el,\n foregroundColor,\n hasAppIcon,\n hasFullWidthSearchBar,\n hasIconButtons,\n hasNavigation,\n hasSearchSlotContent,\n href,\n inline,\n menuButtonClick,\n mobileSearchBarVisible,\n navMenuVisible,\n searchButtonClickHandler,\n searchButtonMouseDownHandler,\n shortAppTitle,\n status,\n version,\n theme,\n } = this;\n\n const hasStatus = status !== \"\";\n const hasVersion = version !== \"\";\n const hasMenuContent =\n hasNavigation || hasIconButtons || hasStatus || hasVersion;\n\n const isSmallDeviceSize = deviceSize <= DEVICE_SIZES.S;\n\n const searchButtonSize = isSmallDeviceSize ? \"medium\" : \"large\";\n const hasTitle = appTitle !== \"\" && isPropDefined(appTitle);\n const overMobileBreakpoint = deviceSize <= customMobileBreakpoint;\n\n const appTitleVariant: IcTypographyVariants = overMobileBreakpoint\n ? isSmallDeviceSize\n ? \"subtitle-small\"\n : \"h4\"\n : \"h3\";\n\n const mobileSearchButtonTitle = `${\n mobileSearchBarVisible ? \"Hide\" : \"Show\"\n } search`;\n const menuSize = isSmallDeviceSize ? \"small\" : \"medium\";\n\n const shortAppTitleSlot = isSlotUsed(el, \"short-app-title\");\n const hasAppTitleSlot = isSlotUsed(el, \"app-title\");\n const Component = hasAppTitleSlot ? \"div\" : \"a\";\n const attrs = Component == \"a\" && {\n href: href,\n };\n\n return (\n <Host\n class={{\n \"fullwidth-searchbar\": hasFullWidthSearchBar,\n \"mobile-mode\": overMobileBreakpoint,\n [IcBrandForegroundEnum.Dark]:\n foregroundColor === IcBrandForegroundEnum.Dark,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div class=\"top-navigation\">\n <ic-section-container aligned={contentAligned} full-height>\n <header role=\"banner\">\n <div class=\"top-panel-container\">\n <div class=\"app-details-container\">\n {(hasTitle || hasAppTitleSlot) && (\n <Component class=\"title-link\" {...attrs}>\n {hasAppIcon && (\n <div class=\"app-icon-container\">\n <slot name=\"app-icon\" />\n </div>\n )}\n {isSmallDeviceSize &&\n (!isEmptyString(shortAppTitle) || shortAppTitleSlot) ? (\n <ic-typography\n variant=\"subtitle-small\"\n aria-label={\n (!hasAppTitleSlot || !shortAppTitleSlot) &&\n `${appTitle} (${shortAppTitle})`\n }\n >\n <h1>\n {shortAppTitleSlot ? (\n <slot name=\"short-app-title\"></slot>\n ) : (\n shortAppTitle\n )}\n </h1>\n </ic-typography>\n ) : (\n <ic-typography variant={appTitleVariant}>\n <h1 class=\"title-wrap\">\n {hasAppTitleSlot ? (\n <slot name=\"app-title\"></slot>\n ) : (\n appTitle\n )}\n </h1>\n </ic-typography>\n )}\n </Component>\n )}\n {hasStatus && (\n <div class=\"app-status\">\n <ic-typography\n aria-label=\"app tag\"\n variant=\"label-uppercase\"\n class=\"app-status-text\"\n >\n {status}\n </ic-typography>\n </div>\n )}\n {hasVersion && (\n <div class=\"app-version\">\n <ic-typography\n variant=\"label\"\n class=\"app-version-text\"\n aria-label=\"app version\"\n >\n {version}\n </ic-typography>\n </div>\n )}\n </div>\n\n {(hasSearchSlotContent || hasMenuContent) && (\n <div class=\"search-menu-container\">\n <div class=\"search-actions-container\">\n {!overMobileBreakpoint ? (\n <Fragment>\n <slot name=\"search\"></slot>\n {hasIconButtons && (\n <div class=\"icon-buttons-container\">\n <slot name=\"buttons\"></slot>\n </div>\n )}\n </Fragment>\n ) : (\n <Fragment>\n {hasSearchSlotContent && (\n <ic-button\n id=\"search-toggle-button\"\n ref={(el) => (this.mobileSearchButtonEl = el)}\n onMouseDown={searchButtonMouseDownHandler}\n variant=\"icon-tertiary\"\n monochrome\n size={searchButtonSize}\n aria-label={mobileSearchButtonTitle}\n theme={foregroundColor as IcThemeMode}\n onClick={searchButtonClickHandler}\n >\n <slot name=\"toggle-icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"#ffffff\"\n >\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\" />\n </svg>\n </slot>\n </ic-button>\n )}\n {hasMenuContent && (\n <div class=\"menu-button-container\">\n <span\n id=\"navigation-landmark-button-text\"\n class=\"navigation-landmark-button-text\"\n aria-hidden=\"true\"\n >\n Main navigation button\n </span>\n <nav\n aria-labelledby=\"navigation-landmark-button-text\"\n aria-hidden={`${navMenuVisible}`}\n >\n <ic-button\n id=\"menu-button\"\n ref={(el) => (this.menuButtonEl = el)}\n theme={foregroundColor as IcThemeMode}\n variant=\"secondary\"\n monochrome\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n aria-label={`Open ${\n hasNavigation ? \"navigation\" : \"app\"\n } menu`}\n size={menuSize}\n onClick={menuButtonClick}\n >\n Menu\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"#ffffff\"\n slot=\"left-icon\"\n >\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z\" />\n </svg>\n </ic-button>\n </nav>\n </div>\n )}\n </Fragment>\n )}\n </div>\n </div>\n )}\n </div>\n\n {mobileSearchBarVisible && (\n <div class=\"search-bar-container\">\n <slot name=\"search\"></slot>\n </div>\n )}\n\n {hasNavigation && !overMobileBreakpoint && (\n <div class=\"navigation-tabs\">\n <span\n id=\"navigation-landmark-text\"\n class=\"navigation-landmark-text\"\n aria-hidden=\"true\"\n >\n Main pages\n </span>\n <nav\n aria-labelledby=\"navigation-landmark-text\"\n class=\"nav-panel-container\"\n >\n <ic-horizontal-scroll\n monochrome\n appearance={foregroundColor}\n >\n <ul class=\"navigation-item-list\" tabindex=\"-1\">\n <slot name=\"navigation\"></slot>\n </ul>\n </ic-horizontal-scroll>\n </nav>\n </div>\n )}\n </header>\n </ic-section-container>\n </div>\n {navMenuVisible && (\n <ic-navigation-menu\n version={version}\n status={status}\n class={{\n inline,\n }}\n >\n {hasIconButtons && (\n <div class=\"menu-buttons-slot\" slot=\"buttons\">\n <slot name=\"buttons\"></slot>\n </div>\n )}\n <ul slot=\"navigation\">\n <slot name=\"navigation\"></slot>\n </ul>\n </ic-navigation-menu>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-top-navigation.js","sourceRoot":"","sources":["../../../src/components/ic-top-navigation/ic-top-navigation.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Host,\n Prop,\n h,\n State,\n Listen,\n Event,\n EventEmitter,\n Watch,\n Fragment,\n} from \"@stencil/core\";\n\nimport {\n IcTypographyVariants,\n IcAlignment,\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcBrand,\n IcDeviceSizes,\n IcValueEventDetail,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n checkResizeObserver,\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getBrandForegroundAppearance,\n getSlot,\n onComponentPropUndefinedChange,\n onComponentRequiredPropUndefined,\n isSlotUsed,\n isEmptyString,\n isPropDefined,\n} from \"../../utils/helpers\";\nimport { IcSearchBarBlurEventDetail } from \"../ic-search-bar/ic-search-bar.types\";\n\n/**\n * @slot app-icon - Content will be rendered to left of app title. Anything that is slotted here will be hidden from screen readers.\n * @slot app-title - Handle routing by nesting a route in the app title.\n * @slot short-app-title - Handle routing by nesting a route in the short app title (to be displayed in place of app title on small screen sizes).\n * @slot search - Content will be rendered in search area to left of buttons.\n * @slot toggle-icon - Icon to be displayed on the button to toggle search slot content on smaller devices\n * @slot navigation - Content will be rendered in navigation panel.\n * @slot buttons - Content will be rendered to right of search bar.\n */\n@Component({\n tag: \"ic-top-navigation\",\n styleUrl: \"ic-top-navigation.css\",\n shadow: true,\n})\nexport class TopNavigation {\n private hasAppIcon = false;\n private hasAppTitleSlot = false;\n private hasIconButtons = false;\n private hasNavigation = false;\n private hasSearchSlotContent = false;\n private mobileSearchButtonEl?: HTMLIcButtonElement;\n private resizeObserver: ResizeObserver | null = null;\n private searchBar: HTMLIcSearchBarElement | null = null;\n private menuButtonEl?: HTMLIcButtonElement;\n\n @Element() el: HTMLIcTopNavigationElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() foregroundColor: IcBrandForeground = getBrandForegroundAppearance();\n @State() hasFullWidthSearchBar = false;\n @State() mobileSearchBarVisible = false;\n @State() mobileSearchHiddenOnBlur = false;\n @State() navMenuVisible = false;\n @State() searchButtonClick = false;\n @State() searchValue = \"\";\n\n /**\n * The alignment of the top navigation content.\n */\n @Prop() contentAligned: IcAlignment = \"full-width\";\n /**\n * Can set a custom breakpoint for the top navigation to switch to mobile mode.\n * Must be one of our specified breakpoints in px: `0`, `576`, `768`, `992`, `1200`.\n */\n @Prop() customMobileBreakpoint: IcDeviceSizes = DEVICE_SIZES.L;\n /**\n * The URL to navigate to when the app title is clicked.\n */\n @Prop() href = \"/\";\n\n /**\n * If `true`, the flyout navigation menu on small devices will be contained by the parent element.\n */\n @Prop() inline = false;\n\n /**\n * The short title of the app to be displayed at small screen sizes in place of the app title.\n */\n @Prop() shortAppTitle = \"\";\n\n /**\n * The status info to be displayed.\n */\n @Prop() status = \"\";\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * The version info to be displayed.\n */\n @Prop() version = \"\";\n\n /**\n * The app title to be displayed. This is required, unless a slotted app title link is used.\n */\n @Prop() appTitle?: string;\n @Watch(\"appTitle\")\n watchPropHandler(newValue: string, oldValue: string): void {\n //added for Gatsby rehydration issue where prop is initially undefined but then changes to actual value\n //this watch can be removed once Gatsby hydration issue is resolved\n onComponentPropUndefinedChange(\n oldValue,\n newValue,\n this.initialiseSearchBar\n );\n }\n\n /**\n * @internal - Emitted when the menu is closed.\n */\n @Event() icNavigationMenuClosed: EventEmitter<void>;\n\n /**\n * @internal - Emitted when the menu is opened.\n */\n @Event() icNavigationMenuOpened: EventEmitter<void>;\n\n /**\n * Emitted when the top navigation is resized.\n */\n @Event() icTopNavResized: EventEmitter<{ size: number }>;\n\n disconnectedCallback(): void {\n this.resizeObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.checkSlots();\n this.deviceSize = getCurrentDeviceSize();\n this.initialiseSearchBar();\n }\n\n componentDidLoad(): void {\n checkResizeObserver(this.runResizeObserver);\n if (!this.hasAppTitleSlot) {\n onComponentRequiredPropUndefined(\n [{ prop: this.appTitle, propName: \"app-title\" }],\n \"Top Navigation\"\n );\n }\n }\n\n componentWillRender(): void {\n this.checkSlots();\n }\n\n @Listen(\"icNavigationMenuClose\", {})\n navBarMenuCloseHandler(): void {\n this.showNavMenu(false);\n this.menuButtonEl?.setFocus();\n }\n\n @Listen(\"icSearchBarBlur\", {})\n searchInputBlurHandler({\n detail,\n }: CustomEvent<IcSearchBarBlurEventDetail>): void {\n if (detail !== null) {\n if (this.mobileSearchBarVisible && !this.searchButtonClick) {\n //don't hide if blur was triggered by click on search button - let the click handler toggle the state\n this.toggleSearchBar();\n }\n this.searchValue = detail.value as string;\n }\n }\n\n @Listen(\"icChange\", {})\n searchValueChangeHandler({ detail }: CustomEvent<IcValueEventDetail>): void {\n this.searchValue = detail.value;\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler({ detail }: CustomEvent<IcBrand>): void {\n this.foregroundColor = detail.mode;\n }\n\n private checkSlots = () => {\n this.hasAppIcon = isSlotUsed(this.el, \"app-icon\");\n this.hasAppTitleSlot = isSlotUsed(this.el, \"app-title\");\n this.hasNavigation = isSlotUsed(this.el, \"navigation\");\n this.hasIconButtons = isSlotUsed(this.el, \"buttons\");\n this.hasSearchSlotContent = isSlotUsed(this.el, \"search\");\n\n if (this.hasAppIcon) {\n const slottedAppIcon =\n this.el.querySelector<HTMLElement>('[slot=\"app-icon\"]');\n if (slottedAppIcon && slottedAppIcon.tagName === \"A\")\n slottedAppIcon.tabIndex = -1;\n }\n };\n\n private initialiseSearchBar = () => {\n if (!this.hasSearchSlotContent) return;\n\n const slot = getSlot(this.el, \"search\");\n if (slot?.tagName === \"IC-SEARCH-BAR\") {\n this.searchBar = slot as HTMLIcSearchBarElement;\n } else if (slot?.tagName === \"FORM\") {\n this.searchBar = slot.querySelector(\"ic-search-bar\");\n }\n\n if (this.searchBar !== null) {\n this.searchBar.hideLabel = true;\n }\n };\n\n private toggleSearchBar = () => {\n this.mobileSearchBarVisible = !this.mobileSearchBarVisible;\n\n if (!this.searchBar) return;\n\n this.mobileSearchButtonEl?.setAttribute(\n \"aria-label\",\n `${this.mobileSearchBarVisible ? \"Hide\" : \"Show\"} search`\n );\n this.hasFullWidthSearchBar = this.mobileSearchBarVisible;\n this.searchBar.fullWidth = this.mobileSearchBarVisible;\n if (this.mobileSearchBarVisible) {\n setTimeout(() => {\n this.searchBar?.focus();\n }, 100);\n }\n };\n\n private menuButtonClick = () => {\n this.showNavMenu(true);\n };\n\n private showNavMenu = (show: boolean) => {\n this.navMenuVisible = show;\n (show ? this.icNavigationMenuOpened : this.icNavigationMenuClosed).emit();\n document.body.style.height = show ? \"100%\" : \"auto\";\n document.body.style.overflow = show ? \"hidden\" : \"auto\";\n };\n\n private searchButtonMouseDownHandler = () => {\n this.searchButtonClick = true;\n };\n\n private searchButtonClickHandler = () => {\n this.toggleSearchBar();\n this.searchButtonClick = false;\n };\n\n private resizeObserverCallback = (currSize: number) => {\n if (currSize === this.deviceSize) return;\n\n this.deviceSize = currSize;\n if (currSize > this.customMobileBreakpoint) {\n this.showNavMenu(false);\n if (this.mobileSearchBarVisible) {\n this.toggleSearchBar();\n }\n }\n this.icTopNavResized.emit({\n size: currSize,\n });\n if (this.searchBar && document.activeElement === this.searchBar) {\n this.searchBar.setAttribute(\"hidden\", \"true\");\n //remove attribute again as this trigger a redraw & applies css\n this.searchBar.removeAttribute(\"hidden\");\n setTimeout(() => {\n this.searchBar?.focus();\n }, 100);\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback(getCurrentDeviceSize());\n });\n\n this.resizeObserver.observe(this.el);\n };\n\n render() {\n const {\n appTitle,\n contentAligned,\n customMobileBreakpoint,\n deviceSize,\n el,\n foregroundColor,\n hasAppIcon,\n hasAppTitleSlot,\n hasFullWidthSearchBar,\n hasIconButtons,\n hasNavigation,\n hasSearchSlotContent,\n href,\n inline,\n menuButtonClick,\n mobileSearchBarVisible,\n navMenuVisible,\n searchButtonClickHandler,\n searchButtonMouseDownHandler,\n shortAppTitle,\n status,\n version,\n theme,\n } = this;\n\n const hasStatus = status !== \"\";\n const hasVersion = version !== \"\";\n const hasMenuContent =\n hasNavigation || hasIconButtons || hasStatus || hasVersion;\n\n const isSmallDeviceSize = deviceSize <= DEVICE_SIZES.S;\n\n const searchButtonSize = isSmallDeviceSize ? \"medium\" : \"large\";\n const hasTitle = appTitle !== \"\" && isPropDefined(appTitle);\n const overMobileBreakpoint = deviceSize <= customMobileBreakpoint;\n\n const appTitleVariant: IcTypographyVariants = overMobileBreakpoint\n ? isSmallDeviceSize\n ? \"subtitle-small\"\n : \"h4\"\n : \"h3\";\n\n const mobileSearchButtonTitle = `${\n mobileSearchBarVisible ? \"Hide\" : \"Show\"\n } search`;\n const menuSize = isSmallDeviceSize ? \"small\" : \"medium\";\n\n const shortAppTitleSlot = isSlotUsed(el, \"short-app-title\");\n const Component = hasAppTitleSlot ? \"div\" : \"a\";\n const attrs = Component == \"a\" && {\n href: href,\n };\n\n return (\n <Host\n class={{\n \"fullwidth-searchbar\": hasFullWidthSearchBar,\n \"mobile-mode\": overMobileBreakpoint,\n [IcBrandForegroundEnum.Dark]:\n foregroundColor === IcBrandForegroundEnum.Dark,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div class=\"top-navigation\">\n <ic-section-container aligned={contentAligned} full-height>\n <header role=\"banner\">\n <div class=\"top-panel-container\">\n <div class=\"app-details-container\">\n {(hasTitle || hasAppTitleSlot) && (\n <Component class=\"title-link\" {...attrs}>\n {hasAppIcon && (\n <div class=\"app-icon-container\">\n <slot name=\"app-icon\" />\n </div>\n )}\n {isSmallDeviceSize &&\n (!isEmptyString(shortAppTitle) || shortAppTitleSlot) ? (\n <ic-typography\n variant=\"subtitle-small\"\n aria-label={\n (!hasAppTitleSlot || !shortAppTitleSlot) &&\n `${appTitle} (${shortAppTitle})`\n }\n >\n <h1>\n {shortAppTitleSlot ? (\n <slot name=\"short-app-title\"></slot>\n ) : (\n shortAppTitle\n )}\n </h1>\n </ic-typography>\n ) : (\n <ic-typography variant={appTitleVariant}>\n <h1 class=\"title-wrap\">\n {hasAppTitleSlot ? (\n <slot name=\"app-title\"></slot>\n ) : (\n appTitle\n )}\n </h1>\n </ic-typography>\n )}\n </Component>\n )}\n {hasStatus && (\n <div class=\"app-status\">\n <ic-typography\n aria-label=\"app tag\"\n variant=\"label-uppercase\"\n class=\"app-status-text\"\n >\n {status}\n </ic-typography>\n </div>\n )}\n {hasVersion && (\n <div class=\"app-version\">\n <ic-typography\n variant=\"label\"\n class=\"app-version-text\"\n aria-label=\"app version\"\n >\n {version}\n </ic-typography>\n </div>\n )}\n </div>\n\n {(hasSearchSlotContent || hasMenuContent) && (\n <div class=\"search-menu-container\">\n <div class=\"search-actions-container\">\n {!overMobileBreakpoint ? (\n <Fragment>\n <slot name=\"search\"></slot>\n {hasIconButtons && (\n <div class=\"icon-buttons-container\">\n <slot name=\"buttons\"></slot>\n </div>\n )}\n </Fragment>\n ) : (\n <Fragment>\n {hasSearchSlotContent && (\n <ic-button\n id=\"search-toggle-button\"\n ref={(el) => (this.mobileSearchButtonEl = el)}\n onMouseDown={searchButtonMouseDownHandler}\n variant=\"icon-tertiary\"\n monochrome\n size={searchButtonSize}\n aria-label={mobileSearchButtonTitle}\n theme={foregroundColor as IcThemeMode}\n onClick={searchButtonClickHandler}\n >\n <slot name=\"toggle-icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"#ffffff\"\n >\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\" />\n </svg>\n </slot>\n </ic-button>\n )}\n {hasMenuContent && (\n <div class=\"menu-button-container\">\n <span\n id=\"navigation-landmark-button-text\"\n class=\"navigation-landmark-button-text\"\n aria-hidden=\"true\"\n >\n Main navigation button\n </span>\n <nav\n aria-labelledby=\"navigation-landmark-button-text\"\n aria-hidden={`${navMenuVisible}`}\n >\n <ic-button\n id=\"menu-button\"\n ref={(el) => (this.menuButtonEl = el)}\n theme={foregroundColor as IcThemeMode}\n variant=\"secondary\"\n monochrome\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n aria-label={`Open ${\n hasNavigation ? \"navigation\" : \"app\"\n } menu`}\n size={menuSize}\n onClick={menuButtonClick}\n >\n Menu\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"#ffffff\"\n slot=\"left-icon\"\n >\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z\" />\n </svg>\n </ic-button>\n </nav>\n </div>\n )}\n </Fragment>\n )}\n </div>\n </div>\n )}\n </div>\n\n {mobileSearchBarVisible && (\n <div class=\"search-bar-container\">\n <slot name=\"search\"></slot>\n </div>\n )}\n\n {hasNavigation && !overMobileBreakpoint && (\n <div class=\"navigation-tabs\">\n <span\n id=\"navigation-landmark-text\"\n class=\"navigation-landmark-text\"\n aria-hidden=\"true\"\n >\n Main pages\n </span>\n <nav\n aria-labelledby=\"navigation-landmark-text\"\n class=\"nav-panel-container\"\n >\n <ic-horizontal-scroll\n monochrome\n appearance={foregroundColor}\n >\n <ul class=\"navigation-item-list\" tabindex=\"-1\">\n <slot name=\"navigation\"></slot>\n </ul>\n </ic-horizontal-scroll>\n </nav>\n </div>\n )}\n </header>\n </ic-section-container>\n </div>\n {navMenuVisible && (\n <ic-navigation-menu\n version={version}\n status={status}\n class={{\n inline,\n }}\n >\n {hasIconButtons && (\n <div class=\"menu-buttons-slot\" slot=\"buttons\">\n <slot name=\"buttons\"></slot>\n </div>\n )}\n <ul slot=\"navigation\">\n <slot name=\"navigation\"></slot>\n </ul>\n </ic-navigation-menu>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -163,7 +163,7 @@ export class Typography {
163
163
  render() {
164
164
  var _a, _b;
165
165
  const { variant, applyVerticalMargins, maxLines, truncated, expanded, strikethrough, underline, italic, bold, theme, } = this;
166
- return (h(Host, { key: '5cc23b5c8822124b4963df5c55094a3408cbb813', class: {
166
+ return (h(Host, { key: 'f3ae0024474b949d4cd79a2d626524a08f0a83f9', class: {
167
167
  [`ic-typography-${variant}`]: true,
168
168
  [`ic-typography-vertical-margins-${variant}`]: !!applyVerticalMargins,
169
169
  ["ic-typography-bold"]: !!bold,
@@ -176,7 +176,7 @@ export class Typography {
176
176
  ((_b = (_a = this.el.getRootNode()) === null || _a === void 0 ? void 0 : _a.host) === null || _b === void 0 ? void 0 : _b.tagName) ===
177
177
  "IC-TOOLTIP") &&
178
178
  maxLines &&
179
- maxLines > 0 ? (h("div", { class: "trunc-wrapper", ref: (el) => (this.truncWrapperEl = el) }, h("slot", null))) : (h("slot", null)), variant === "body" && maxLines && maxLines > 0 && truncated && (h("button", { key: '93e4f11420b64377f5fa5639bd8d7963c6191942', class: { "trunc-btn": true, focus: this.truncButtonFocussed }, onFocus: this.truncButtonFocus, onBlur: this.truncButtonBlur, onMouseDown: this.truncButtonFocusFromMouse, onClick: this.toggleExpanded }, expanded ? "See less" : "See more"))));
179
+ maxLines > 0 ? (h("div", { class: "trunc-wrapper", ref: (el) => (this.truncWrapperEl = el) }, h("slot", null))) : (h("slot", null)), variant === "body" && maxLines && maxLines > 0 && truncated && (h("button", { key: 'ab55fb9e3b5d0ed50a99d8f194fe0e9436de1613', class: { "trunc-btn": true, focus: this.truncButtonFocussed }, onFocus: this.truncButtonFocus, onBlur: this.truncButtonBlur, onMouseDown: this.truncButtonFocusFromMouse, onClick: this.toggleExpanded }, expanded ? "See less" : "See more"))));
180
180
  }
181
181
  static get is() { return "ic-typography"; }
182
182
  static get encapsulation() { return "shadow"; }
@@ -66,7 +66,7 @@ export const IC_BLOCK_COLOR_COMPONENTS = [
66
66
  "ic-footer",
67
67
  "ic-side-navigation",
68
68
  "ic-alert",
69
- ];
69
+ ].join(",");
70
70
  export const IC_FIXED_COLOR_COMPONENTS = ["ic-alert"];
71
71
  export const IC_BLOCK_COLOR_EXCEPTIONS = {
72
72
  "ic-alert": ["ic-link", "ic-button"],
@@ -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,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"]}
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,IAAI,CAAC,GAAG,CAAC,CAAC;AAEZ,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].join(\",\");\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"]}
@@ -121,7 +121,9 @@ export const removeHiddenInput = (container) => {
121
121
  export const hasShadowDom = (el) => !!el && !!el.shadowRoot && !!el.attachShadow;
122
122
  export const getInputHelperTextID = (id) => id + "-helper-text";
123
123
  export const getInputValidationTextID = (id) => id + "-validation-text";
124
- export const getInputDescribedByText = (inputId, helperText, validationText) => `${helperText ? getInputHelperTextID(inputId) : ""} ${validationText ? getInputValidationTextID(inputId) : ""}`.trim();
124
+ export const getInputDescribedByText = (el, inputId, helperText, validationText) => `${isSlotUsed(el, "helper-text") || helperText
125
+ ? getInputHelperTextID(inputId)
126
+ : ""} ${validationText ? getInputValidationTextID(inputId) : ""}`.trim();
125
127
  /**
126
128
  * This method helps to understand the context in which a component exists,
127
129
  * to assist with choosing appropriate foreground colours to use. For example,
@@ -137,25 +139,24 @@ export const getInputDescribedByText = (inputId, helperText, validationText) =>
137
139
  export const getBrandFromContext = (el, brandFromEvent = null) => {
138
140
  var _a;
139
141
  const parentElement = el.parentElement || el.getRootNode().host.parentElement;
140
- const blockColorParent = parentElement === null || parentElement === void 0 ? void 0 : parentElement.closest(IC_BLOCK_COLOR_COMPONENTS.join(","));
141
- // If within a block color component
142
- if (blockColorParent) {
143
- const parentTag = blockColorParent.tagName.toLowerCase();
144
- const currentTag = el.tagName.toLowerCase();
145
- if ((_a = IC_BLOCK_COLOR_EXCEPTIONS[parentTag]) === null || _a === void 0 ? void 0 : _a.includes(currentTag)) {
146
- return IcBrandForegroundEnum.Default;
147
- }
148
- else if (brandFromEvent !== null &&
149
- !IC_FIXED_COLOR_COMPONENTS.includes(parentTag)) {
150
- return brandFromEvent;
151
- }
152
- else if (blockColorParent.classList.contains(`${parentTag}-${IcBrandForegroundEnum.Dark}`) ||
153
- blockColorParent.classList.contains(IcBrandForegroundEnum.Dark)) {
154
- return IcBrandForegroundEnum.Dark;
155
- }
142
+ const blockColorParent = parentElement === null || parentElement === void 0 ? void 0 : parentElement.closest(IC_BLOCK_COLOR_COMPONENTS);
143
+ if (!blockColorParent)
144
+ return IcBrandForegroundEnum.Default;
145
+ const parentTag = blockColorParent.tagName.toLowerCase();
146
+ if ((_a = IC_BLOCK_COLOR_EXCEPTIONS[parentTag]) === null || _a === void 0 ? void 0 : _a.includes(el.tagName.toLowerCase())) {
147
+ return IcBrandForegroundEnum.Default;
148
+ }
149
+ else if (brandFromEvent !== null &&
150
+ !IC_FIXED_COLOR_COMPONENTS.includes(parentTag)) {
151
+ return brandFromEvent;
152
+ }
153
+ else if (blockColorParent.classList.contains(`${parentTag}-${IcBrandForegroundEnum.Dark}`) ||
154
+ blockColorParent.classList.contains(IcBrandForegroundEnum.Dark)) {
155
+ return IcBrandForegroundEnum.Dark;
156
+ }
157
+ else {
156
158
  return IcBrandForegroundEnum.Light;
157
159
  }
158
- return IcBrandForegroundEnum.Default;
159
160
  };
160
161
  /**
161
162
  * Checks if the current device is a mobile or tablet device.
@@ -173,12 +174,13 @@ export const isMobileOrTablet = () => "maxTouchPoints" in navigator && "userAgen
173
174
  * @param button - shadowDOM button
174
175
  */
175
176
  export const handleHiddenFormButtonClick = (form, button) => {
176
- const hiddenFormButton = document.createElement("button");
177
- button.type && hiddenFormButton.setAttribute("type", button.type);
177
+ var _a, _b;
178
+ const hiddenFormButton = (_a = document.querySelector("#hidden-form-button")) !== null && _a !== void 0 ? _a : document.createElement("button");
179
+ hiddenFormButton.setAttribute("type", (_b = button.type) !== null && _b !== void 0 ? _b : "button");
180
+ hiddenFormButton.id = "hidden-form-button";
178
181
  hiddenFormButton.style.display = "none";
179
182
  form.appendChild(hiddenFormButton);
180
183
  hiddenFormButton.click();
181
- hiddenFormButton.remove();
182
184
  };
183
185
  export const isEmptyString = (value) => !value || value.trim().length === 0;
184
186
  // A helper function that checks if a prop has been defined
@@ -274,15 +276,10 @@ export const getCssProperty = (cssVar) => getComputedStyle(document.documentElem
274
276
  * This is a similar calculation to its CSS counterpart: "--ic-brand-text-color"
275
277
  * @returns number representing the brightness of the theme colour
276
278
  */
277
- export const getBrandColorBrightness = () => {
278
- const themeRed = getCssProperty("--ic-brand-color-primary-r");
279
- const themeGreen = getCssProperty("--ic-brand-color-primary-g");
280
- const themeBlue = getCssProperty("--ic-brand-color-primary-b");
281
- return ((parseInt(themeRed) * 299 +
282
- parseInt(themeGreen) * 587 +
283
- parseInt(themeBlue) * 114) /
284
- 1000);
285
- };
279
+ export const getBrandColorBrightness = () => (parseInt(getCssProperty("--ic-brand-color-primary-r")) * 299 +
280
+ parseInt(getCssProperty("--ic-brand-color-primary-g")) * 587 +
281
+ parseInt(getCssProperty("--ic-brand-color-primary-b")) * 114) /
282
+ 1000;
286
283
  /**
287
284
  * Returns if dark or light foreground colors should be used for color contrast reasons
288
285
  * @returns "dark" or "light"