@ukic/web-components 3.0.0-alpha.9 → 3.1.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 (1061) hide show
  1. package/README.md +2 -1
  2. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  3. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  4. package/dist/cjs/core.cjs.js +13 -11
  5. package/dist/cjs/core.cjs.js.map +1 -1
  6. package/dist/cjs/{helpers-eca4c27e.js → helpers-a0a128bd.js} +71 -26
  7. package/dist/cjs/helpers-a0a128bd.js.map +1 -0
  8. package/dist/cjs/ic-accordion-group.cjs.entry.js +31 -14
  9. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-accordion.cjs.entry.js +65 -42
  11. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-alert.cjs.entry.js +38 -17
  13. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-back-to-top.cjs.entry.js +29 -15
  15. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-badge.cjs.entry.js +60 -18
  17. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +53 -37
  19. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-breadcrumb.cjs.entry.js +38 -23
  21. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-button_3.cjs.entry.js +304 -144
  23. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-card-vertical.cjs.entry.js +54 -33
  25. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-checkbox-group.cjs.entry.js +33 -10
  27. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-checkbox.cjs.entry.js +49 -30
  29. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-chip.cjs.entry.js +45 -24
  31. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-classification-banner.cjs.entry.js +22 -6
  33. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-data-list.cjs.entry.js +11 -5
  35. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-data-row.cjs.entry.js +28 -18
  37. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-dialog.cjs.entry.js +164 -115
  39. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-divider.cjs.entry.js +35 -15
  41. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-empty-state.cjs.entry.js +19 -11
  43. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-footer-link-group.cjs.entry.js +8 -8
  45. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-footer-link.cjs.entry.js +12 -11
  47. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-footer.cjs.entry.js +32 -19
  49. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-hero.cjs.entry.js +29 -17
  51. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +32 -20
  53. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +126 -68
  55. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-input-label_2.cjs.entry.js +45 -17
  57. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-link.cjs.entry.js +29 -22
  59. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-menu-group.cjs.entry.js +5 -5
  61. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-menu-item.cjs.entry.js +21 -19
  63. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-navigation-button.cjs.entry.js +26 -20
  65. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-navigation-group.cjs.entry.js +63 -39
  67. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-navigation-item.cjs.entry.js +70 -49
  69. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-navigation-menu.cjs.entry.js +55 -33
  71. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-page-header.cjs.entry.js +49 -28
  73. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-pagination-item.cjs.entry.js +28 -15
  75. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-pagination.cjs.entry.js +61 -28
  77. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-popover-menu.cjs.entry.js +74 -42
  79. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-radio-group.cjs.entry.js +55 -29
  81. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-radio-option.cjs.entry.js +36 -24
  83. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-search-bar.cjs.entry.js +154 -64
  85. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-section-container.cjs.entry.js +12 -5
  87. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-select.cjs.entry.js +234 -137
  89. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-side-navigation.cjs.entry.js +107 -71
  91. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-skeleton.cjs.entry.js +11 -4
  93. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-skip-link.cjs.entry.js +55 -0
  95. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -0
  96. package/dist/cjs/ic-status-tag.cjs.entry.js +26 -7
  97. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-step.cjs.entry.js +35 -33
  99. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-stepper.cjs.entry.js +50 -35
  101. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-switch.cjs.entry.js +50 -22
  103. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-tab-context.cjs.entry.js +45 -26
  105. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ic-tab-group.cjs.entry.js +14 -9
  107. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ic-tab-panel.cjs.entry.js +16 -12
  109. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ic-tab.cjs.entry.js +22 -16
  111. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ic-text-field.cjs.entry.js +205 -76
  113. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ic-theme.cjs.entry.js +13 -7
  115. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  116. package/dist/cjs/ic-toast-region.cjs.entry.js +2 -3
  117. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  118. package/dist/cjs/ic-toast.cjs.entry.js +30 -22
  119. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  120. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +61 -29
  121. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  122. package/dist/cjs/ic-toggle-button.cjs.entry.js +82 -50
  123. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  124. package/dist/cjs/ic-top-navigation.cjs.entry.js +59 -34
  125. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  126. package/dist/cjs/ic-typography.cjs.entry.js +53 -27
  127. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  128. package/dist/cjs/index-d337cd8a.js +2611 -0
  129. package/dist/cjs/index-d337cd8a.js.map +1 -0
  130. package/dist/cjs/loader.cjs.js +5 -3
  131. package/dist/cjs/loader.cjs.js.map +1 -1
  132. package/dist/collection/collection-manifest.json +6 -5
  133. package/dist/collection/components/ic-accordion/ic-accordion.js +80 -46
  134. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  135. package/dist/collection/components/ic-accordion/ic-accordion.stories.js +611 -0
  136. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +49 -21
  137. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  138. package/dist/collection/components/ic-alert/ic-alert.css +1 -1
  139. package/dist/collection/components/ic-alert/ic-alert.js +58 -22
  140. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  141. package/dist/collection/components/ic-alert/ic-alert.stories.js +271 -0
  142. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +49 -18
  143. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +59 -14
  144. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  145. package/dist/collection/components/ic-back-to-top/ic-back-to-top.stories.js +216 -0
  146. package/dist/collection/components/ic-back-to-top/ic-back-to-top.types.js.map +1 -1
  147. package/dist/collection/components/ic-badge/ic-badge.css +4 -0
  148. package/dist/collection/components/ic-badge/ic-badge.js +104 -29
  149. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  150. package/dist/collection/components/ic-badge/ic-badge.stories.js +1092 -0
  151. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +14 -0
  152. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +51 -25
  153. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  154. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +63 -40
  155. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  156. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.stories.js +362 -0
  157. package/dist/collection/components/ic-button/ic-button.css +31 -27
  158. package/dist/collection/components/ic-button/ic-button.js +269 -98
  159. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  160. package/dist/collection/components/ic-button/ic-button.stories.js +2387 -0
  161. package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +6 -1
  162. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +88 -42
  163. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js.map +1 -1
  164. package/dist/collection/components/ic-card-vertical/ic-card-vertical.stories.js +1050 -0
  165. package/dist/collection/components/ic-checkbox/ic-checkbox.css +29 -0
  166. package/dist/collection/components/ic-checkbox/ic-checkbox.js +91 -45
  167. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  168. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +4 -0
  169. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +63 -21
  170. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  171. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +726 -0
  172. package/dist/collection/components/ic-chip/ic-chip.css +2 -2
  173. package/dist/collection/components/ic-chip/ic-chip.js +67 -30
  174. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  175. package/dist/collection/components/ic-chip/ic-chip.stories.js +980 -0
  176. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +4 -0
  177. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +33 -8
  178. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  179. package/dist/collection/components/ic-classification-banner/ic-classification-banner.stories.js +131 -0
  180. package/dist/collection/components/ic-data-list/ic-data-list.js +18 -7
  181. package/dist/collection/components/ic-data-list/ic-data-list.js.map +1 -1
  182. package/dist/collection/components/ic-data-list/ic-data-list.stories.js +493 -0
  183. package/dist/collection/components/ic-data-row/ic-data-row.js +38 -21
  184. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  185. package/dist/collection/components/ic-dialog/ic-dialog.css +0 -6
  186. package/dist/collection/components/ic-dialog/ic-dialog.js +218 -146
  187. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  188. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +1118 -0
  189. package/dist/collection/components/ic-divider/ic-divider.css +23 -69
  190. package/dist/collection/components/ic-divider/ic-divider.js +55 -22
  191. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  192. package/dist/collection/components/ic-divider/ic-divider.stories.js +394 -0
  193. package/dist/collection/components/ic-empty-state/ic-empty-state.css +15 -0
  194. package/dist/collection/components/ic-empty-state/ic-empty-state.js +58 -13
  195. package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
  196. package/dist/collection/components/ic-empty-state/ic-empty-state.stories.js +404 -0
  197. package/dist/collection/components/ic-footer/ic-footer.js +49 -25
  198. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  199. package/dist/collection/components/ic-footer/ic-footer.stories.js +384 -0
  200. package/dist/collection/components/ic-footer-link/ic-footer-link.css +18 -0
  201. package/dist/collection/components/ic-footer-link/ic-footer-link.js +26 -15
  202. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  203. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +6 -5
  204. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  205. package/dist/collection/components/ic-hero/ic-hero.css +1 -1
  206. package/dist/collection/components/ic-hero/ic-hero.js +54 -25
  207. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  208. package/dist/collection/components/ic-hero/ic-hero.stories.js +448 -0
  209. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +40 -21
  210. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  211. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +11 -1
  212. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +55 -20
  213. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  214. package/dist/collection/components/ic-input-container/ic-input-container.js +16 -6
  215. package/dist/collection/components/ic-input-container/ic-input-container.js.map +1 -1
  216. package/dist/collection/components/ic-input-label/ic-input-label.js +48 -11
  217. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  218. package/dist/collection/components/ic-input-validation/ic-input-validation.js +31 -14
  219. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  220. package/dist/collection/components/ic-link/ic-link.css +17 -8
  221. package/dist/collection/components/ic-link/ic-link.js +49 -28
  222. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  223. package/dist/collection/components/ic-link/ic-link.stories.js +85 -0
  224. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +124 -66
  225. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  226. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.stories.js +464 -0
  227. package/dist/collection/components/ic-menu/ic-menu.js +136 -74
  228. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  229. package/dist/collection/components/ic-menu/ic-menu.types.js.map +1 -1
  230. package/dist/collection/components/ic-menu-group/ic-menu-group.js +4 -5
  231. package/dist/collection/components/ic-menu-group/ic-menu-group.js.map +1 -1
  232. package/dist/collection/components/ic-menu-item/ic-menu-item.css +1 -0
  233. package/dist/collection/components/ic-menu-item/ic-menu-item.js +53 -28
  234. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  235. package/dist/collection/components/ic-navigation-button/ic-navigation-button.css +4 -0
  236. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +44 -23
  237. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  238. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +47 -49
  239. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +126 -41
  240. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  241. package/dist/collection/components/ic-navigation-group/ic-navigation-group.types.js +2 -0
  242. package/dist/collection/components/ic-navigation-group/ic-navigation-group.types.js.map +1 -0
  243. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +8 -37
  244. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +107 -63
  245. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  246. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +2 -2
  247. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +61 -34
  248. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  249. package/dist/collection/components/ic-page-header/ic-page-header.js +72 -34
  250. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  251. package/dist/collection/components/ic-page-header/ic-page-header.stories.js +823 -0
  252. package/dist/collection/components/ic-pagination/ic-pagination.css +10 -2
  253. package/dist/collection/components/ic-pagination/ic-pagination.js +100 -44
  254. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  255. package/dist/collection/components/ic-pagination/ic-pagination.stories.js +164 -0
  256. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +19 -3
  257. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +48 -22
  258. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  259. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +97 -52
  260. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  261. package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +573 -0
  262. package/dist/collection/components/ic-radio-group/ic-radio-group.js +90 -43
  263. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  264. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +474 -0
  265. package/dist/collection/components/ic-radio-option/ic-radio-option.css +20 -0
  266. package/dist/collection/components/ic-radio-option/ic-radio-option.js +64 -33
  267. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  268. package/dist/collection/components/ic-search-bar/ic-search-bar.css +6 -13
  269. package/dist/collection/components/ic-search-bar/ic-search-bar.js +252 -101
  270. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  271. package/dist/collection/components/ic-search-bar/ic-search-bar.stories.js +593 -0
  272. package/dist/collection/components/ic-search-bar/ic-search-bar.types.js.map +1 -1
  273. package/dist/collection/components/ic-section-container/ic-section-container.js +15 -5
  274. package/dist/collection/components/ic-section-container/ic-section-container.js.map +1 -1
  275. package/dist/collection/components/ic-section-container/ic-section-container.stories.js +62 -0
  276. package/dist/collection/components/ic-select/ic-select.css +12 -2
  277. package/dist/collection/components/ic-select/ic-select.js +333 -177
  278. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  279. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +892 -0
  280. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +965 -0
  281. package/dist/collection/components/ic-select/ic-select_(single).stories.js +790 -0
  282. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +11 -3
  283. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +146 -89
  284. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  285. package/dist/collection/components/ic-side-navigation/ic-side-navigation.stories.js +2547 -0
  286. package/dist/collection/components/ic-skeleton/ic-skeleton.js +14 -4
  287. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  288. package/dist/collection/components/ic-skeleton/ic-skeleton.stories.js +143 -0
  289. package/dist/collection/components/ic-skip-link/ic-skip-link.css +46 -0
  290. package/dist/collection/components/ic-skip-link/ic-skip-link.js +203 -0
  291. package/dist/collection/components/ic-skip-link/ic-skip-link.js.map +1 -0
  292. package/dist/collection/components/ic-skip-link/ic-skip-link.stories.js +504 -0
  293. package/dist/collection/components/ic-status-tag/ic-status-tag.css +2 -1
  294. package/dist/collection/components/ic-status-tag/ic-status-tag.js +41 -9
  295. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  296. package/dist/collection/components/ic-status-tag/ic-status-tag.stories.js +196 -0
  297. package/dist/collection/components/ic-step/ic-step.css +8 -31
  298. package/dist/collection/components/ic-step/ic-step.js +67 -40
  299. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  300. package/dist/collection/components/ic-stepper/ic-stepper.js +61 -37
  301. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  302. package/dist/collection/components/ic-stepper/ic-stepper.stories.js +281 -0
  303. package/dist/collection/components/ic-switch/ic-switch.js +72 -27
  304. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  305. package/dist/collection/components/ic-switch/ic-switch.stories.js +149 -0
  306. package/dist/collection/components/ic-tab/ic-tab.css +13 -3
  307. package/dist/collection/components/ic-tab/ic-tab.js +40 -21
  308. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  309. package/dist/collection/components/ic-tab-context/ic-tab-context.js +60 -31
  310. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  311. package/dist/collection/components/ic-tab-context/ic-tabs.stories.js +316 -0
  312. package/dist/collection/components/ic-tab-group/ic-tab-group.js +21 -9
  313. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  314. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +5 -1
  315. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +50 -14
  316. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  317. package/dist/collection/components/ic-text-field/ic-text-field.css +1 -0
  318. package/dist/collection/components/ic-text-field/ic-text-field.js +432 -148
  319. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  320. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +1048 -0
  321. package/dist/collection/components/ic-theme/ic-theme.js +19 -9
  322. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  323. package/dist/collection/components/ic-theme/ic-theme.stories.js +434 -0
  324. package/dist/collection/components/ic-toast/ic-toast.css +1 -1
  325. package/dist/collection/components/ic-toast/ic-toast.js +49 -28
  326. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  327. package/dist/collection/components/ic-toast/ic-toast.stories.js +396 -0
  328. package/dist/collection/components/ic-toast-region/ic-toast-region.js +6 -5
  329. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  330. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +8 -17
  331. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +116 -61
  332. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  333. package/dist/collection/components/ic-toggle-button/ic-toggle-button.stories.js +427 -0
  334. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +90 -35
  335. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  336. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.stories.js +585 -0
  337. package/dist/collection/components/ic-tooltip/ic-tooltip.js +67 -38
  338. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  339. package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +366 -0
  340. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +9 -5
  341. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +89 -47
  342. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  343. package/dist/collection/components/ic-top-navigation/ic-top-navigation.stories.js +1091 -0
  344. package/dist/collection/components/ic-typography/ic-typography.js +73 -32
  345. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  346. package/dist/collection/components/ic-typography/ic-typography.stories.js +447 -0
  347. package/dist/collection/patterns/top-nav-content-footer.stories.js +109 -0
  348. package/dist/collection/patterns/z-index.stories.js +474 -0
  349. package/dist/collection/utils/constants.js +39 -0
  350. package/dist/collection/utils/constants.js.map +1 -1
  351. package/dist/collection/utils/helpers.js +29 -24
  352. package/dist/collection/utils/helpers.js.map +1 -1
  353. package/dist/collection/utils/testa11y.helpers.js +2 -1
  354. package/dist/collection/utils/testa11y.helpers.js.map +1 -1
  355. package/dist/collection/utils/types.js.map +1 -1
  356. package/dist/components/helpers.js +69 -25
  357. package/dist/components/helpers.js.map +1 -1
  358. package/dist/components/ic-accordion-group.js +29 -12
  359. package/dist/components/ic-accordion-group.js.map +1 -1
  360. package/dist/components/ic-accordion.js +63 -40
  361. package/dist/components/ic-accordion.js.map +1 -1
  362. package/dist/components/ic-alert.js +36 -15
  363. package/dist/components/ic-alert.js.map +1 -1
  364. package/dist/components/ic-back-to-top.js +28 -13
  365. package/dist/components/ic-back-to-top.js.map +1 -1
  366. package/dist/components/ic-badge.js +60 -18
  367. package/dist/components/ic-badge.js.map +1 -1
  368. package/dist/components/ic-breadcrumb-group.js +51 -35
  369. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  370. package/dist/components/ic-breadcrumb2.js +36 -21
  371. package/dist/components/ic-breadcrumb2.js.map +1 -1
  372. package/dist/components/ic-button2.js +171 -63
  373. package/dist/components/ic-button2.js.map +1 -1
  374. package/dist/components/ic-card-vertical.js +52 -31
  375. package/dist/components/ic-card-vertical.js.map +1 -1
  376. package/dist/components/ic-checkbox-group.js +31 -8
  377. package/dist/components/ic-checkbox-group.js.map +1 -1
  378. package/dist/components/ic-checkbox.js +47 -28
  379. package/dist/components/ic-checkbox.js.map +1 -1
  380. package/dist/components/ic-chip.js +43 -22
  381. package/dist/components/ic-chip.js.map +1 -1
  382. package/dist/components/ic-classification-banner.js +21 -5
  383. package/dist/components/ic-classification-banner.js.map +1 -1
  384. package/dist/components/ic-data-list.js +10 -4
  385. package/dist/components/ic-data-list.js.map +1 -1
  386. package/dist/components/ic-data-row.js +27 -17
  387. package/dist/components/ic-data-row.js.map +1 -1
  388. package/dist/components/ic-dialog.js +165 -116
  389. package/dist/components/ic-dialog.js.map +1 -1
  390. package/dist/components/ic-divider2.js +33 -13
  391. package/dist/components/ic-divider2.js.map +1 -1
  392. package/dist/components/ic-empty-state.js +19 -10
  393. package/dist/components/ic-empty-state.js.map +1 -1
  394. package/dist/components/ic-footer-link-group.js +6 -6
  395. package/dist/components/ic-footer-link-group.js.map +1 -1
  396. package/dist/components/ic-footer-link.js +10 -9
  397. package/dist/components/ic-footer-link.js.map +1 -1
  398. package/dist/components/ic-footer.js +31 -18
  399. package/dist/components/ic-footer.js.map +1 -1
  400. package/dist/components/ic-hero.js +27 -15
  401. package/dist/components/ic-hero.js.map +1 -1
  402. package/dist/components/ic-horizontal-scroll2.js +30 -18
  403. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  404. package/dist/components/ic-input-component-container2.js +31 -9
  405. package/dist/components/ic-input-component-container2.js.map +1 -1
  406. package/dist/components/ic-input-container2.js +12 -5
  407. package/dist/components/ic-input-container2.js.map +1 -1
  408. package/dist/components/ic-input-label2.js +28 -8
  409. package/dist/components/ic-input-label2.js.map +1 -1
  410. package/dist/components/ic-input-validation2.js +15 -7
  411. package/dist/components/ic-input-validation2.js.map +1 -1
  412. package/dist/components/ic-link2.js +27 -20
  413. package/dist/components/ic-link2.js.map +1 -1
  414. package/dist/components/ic-loading-indicator2.js +89 -54
  415. package/dist/components/ic-loading-indicator2.js.map +1 -1
  416. package/dist/components/ic-menu-group.js +3 -3
  417. package/dist/components/ic-menu-group.js.map +1 -1
  418. package/dist/components/ic-menu-item2.js +19 -17
  419. package/dist/components/ic-menu-item2.js.map +1 -1
  420. package/dist/components/ic-menu2.js +81 -52
  421. package/dist/components/ic-menu2.js.map +1 -1
  422. package/dist/components/ic-navigation-button.js +24 -18
  423. package/dist/components/ic-navigation-button.js.map +1 -1
  424. package/dist/components/ic-navigation-group.js +64 -39
  425. package/dist/components/ic-navigation-group.js.map +1 -1
  426. package/dist/components/ic-navigation-item.js +69 -48
  427. package/dist/components/ic-navigation-item.js.map +1 -1
  428. package/dist/components/ic-navigation-menu2.js +54 -32
  429. package/dist/components/ic-navigation-menu2.js.map +1 -1
  430. package/dist/components/ic-page-header.js +48 -27
  431. package/dist/components/ic-page-header.js.map +1 -1
  432. package/dist/components/ic-pagination-item2.js +26 -13
  433. package/dist/components/ic-pagination-item2.js.map +1 -1
  434. package/dist/components/ic-pagination.js +59 -26
  435. package/dist/components/ic-pagination.js.map +1 -1
  436. package/dist/components/ic-popover-menu.js +72 -40
  437. package/dist/components/ic-popover-menu.js.map +1 -1
  438. package/dist/components/ic-radio-group.js +53 -27
  439. package/dist/components/ic-radio-group.js.map +1 -1
  440. package/dist/components/ic-radio-option.js +34 -22
  441. package/dist/components/ic-radio-option.js.map +1 -1
  442. package/dist/components/ic-search-bar.js +152 -62
  443. package/dist/components/ic-search-bar.js.map +1 -1
  444. package/dist/components/ic-section-container2.js +11 -4
  445. package/dist/components/ic-section-container2.js.map +1 -1
  446. package/dist/components/ic-select.js +232 -135
  447. package/dist/components/ic-select.js.map +1 -1
  448. package/dist/components/ic-side-navigation.js +106 -70
  449. package/dist/components/ic-side-navigation.js.map +1 -1
  450. package/dist/components/ic-skeleton.js +10 -3
  451. package/dist/components/ic-skeleton.js.map +1 -1
  452. package/dist/components/ic-skip-link.d.ts +11 -0
  453. package/dist/components/ic-skip-link.js +83 -0
  454. package/dist/components/ic-skip-link.js.map +1 -0
  455. package/dist/components/ic-status-tag.js +24 -5
  456. package/dist/components/ic-status-tag.js.map +1 -1
  457. package/dist/components/ic-step.js +33 -31
  458. package/dist/components/ic-step.js.map +1 -1
  459. package/dist/components/ic-stepper.js +48 -33
  460. package/dist/components/ic-stepper.js.map +1 -1
  461. package/dist/components/ic-switch.js +48 -20
  462. package/dist/components/ic-switch.js.map +1 -1
  463. package/dist/components/ic-tab-context.js +44 -25
  464. package/dist/components/ic-tab-context.js.map +1 -1
  465. package/dist/components/ic-tab-group.js +12 -7
  466. package/dist/components/ic-tab-group.js.map +1 -1
  467. package/dist/components/ic-tab-panel.js +16 -11
  468. package/dist/components/ic-tab-panel.js.map +1 -1
  469. package/dist/components/ic-tab.js +20 -14
  470. package/dist/components/ic-tab.js.map +1 -1
  471. package/dist/components/ic-text-field.js +208 -75
  472. package/dist/components/ic-text-field.js.map +1 -1
  473. package/dist/components/ic-theme.js +12 -6
  474. package/dist/components/ic-theme.js.map +1 -1
  475. package/dist/components/ic-toast-region.js +1 -2
  476. package/dist/components/ic-toast-region.js.map +1 -1
  477. package/dist/components/ic-toast.js +29 -21
  478. package/dist/components/ic-toast.js.map +1 -1
  479. package/dist/components/ic-toggle-button-group.js +59 -27
  480. package/dist/components/ic-toggle-button-group.js.map +1 -1
  481. package/dist/components/ic-toggle-button.js +81 -49
  482. package/dist/components/ic-toggle-button.js.map +1 -1
  483. package/dist/components/ic-tooltip2.js +42 -25
  484. package/dist/components/ic-tooltip2.js.map +1 -1
  485. package/dist/components/ic-top-navigation.js +58 -33
  486. package/dist/components/ic-top-navigation.js.map +1 -1
  487. package/dist/components/ic-typography2.js +51 -25
  488. package/dist/components/ic-typography2.js.map +1 -1
  489. package/dist/core/core.css +395 -264
  490. package/dist/core/core.esm.js +1 -1
  491. package/dist/core/core.esm.js.map +1 -1
  492. package/dist/core/index.esm.js.map +1 -1
  493. package/dist/core/p-06d97789.entry.js +2 -0
  494. package/dist/core/p-06d97789.entry.js.map +1 -0
  495. package/dist/core/{p-27274ca8.entry.js → p-071f4748.entry.js} +2 -2
  496. package/dist/core/p-071f4748.entry.js.map +1 -0
  497. package/dist/core/p-09070f61.entry.js +2 -0
  498. package/dist/core/p-09070f61.entry.js.map +1 -0
  499. package/dist/core/p-0c0ac69d.entry.js +2 -0
  500. package/dist/core/p-0c0ac69d.entry.js.map +1 -0
  501. package/dist/core/p-0d016565.entry.js +2 -0
  502. package/dist/core/p-0d016565.entry.js.map +1 -0
  503. package/dist/core/p-0e96d4d8.entry.js +2 -0
  504. package/dist/core/p-0e96d4d8.entry.js.map +1 -0
  505. package/dist/core/p-10cd26dc.entry.js +2 -0
  506. package/dist/core/p-10cd26dc.entry.js.map +1 -0
  507. package/dist/core/{p-a87d13b3.entry.js → p-110486f0.entry.js} +2 -2
  508. package/dist/core/p-110486f0.entry.js.map +1 -0
  509. package/dist/core/p-116ad73d.entry.js +2 -0
  510. package/dist/core/p-116ad73d.entry.js.map +1 -0
  511. package/dist/core/{p-8b554299.entry.js → p-1171a945.entry.js} +2 -2
  512. package/dist/core/p-1171a945.entry.js.map +1 -0
  513. package/dist/core/{p-0cb72d37.entry.js → p-17cf7b50.entry.js} +2 -2
  514. package/dist/core/p-17cf7b50.entry.js.map +1 -0
  515. package/dist/core/p-1ac08e6d.entry.js +2 -0
  516. package/dist/core/p-1ac08e6d.entry.js.map +1 -0
  517. package/dist/core/p-1f455336.entry.js +2 -0
  518. package/dist/core/p-1f455336.entry.js.map +1 -0
  519. package/dist/core/p-20c4d90b.entry.js +2 -0
  520. package/dist/core/p-20c4d90b.entry.js.map +1 -0
  521. package/dist/core/{p-641e244d.entry.js → p-2537f33e.entry.js} +2 -2
  522. package/dist/core/p-2537f33e.entry.js.map +1 -0
  523. package/dist/core/{p-87aa30b4.entry.js → p-264ce7a0.entry.js} +2 -2
  524. package/dist/core/p-264ce7a0.entry.js.map +1 -0
  525. package/dist/core/p-28656111.entry.js +2 -0
  526. package/dist/core/p-28656111.entry.js.map +1 -0
  527. package/dist/core/p-2b1a331b.entry.js +2 -0
  528. package/dist/core/p-2b1a331b.entry.js.map +1 -0
  529. package/dist/core/p-33243fff.entry.js +2 -0
  530. package/dist/core/p-33243fff.entry.js.map +1 -0
  531. package/dist/core/p-37df68fe.entry.js +2 -0
  532. package/dist/core/p-37df68fe.entry.js.map +1 -0
  533. package/dist/core/p-3b185c32.js.map +1 -1
  534. package/dist/core/p-426ec638.js.map +1 -1
  535. package/dist/core/{p-199b9196.entry.js → p-44e32417.entry.js} +2 -2
  536. package/dist/core/p-44e32417.entry.js.map +1 -0
  537. package/dist/core/{p-6e630778.entry.js → p-45595f98.entry.js} +2 -2
  538. package/dist/core/p-45595f98.entry.js.map +1 -0
  539. package/dist/core/p-49768069.entry.js +2 -0
  540. package/dist/core/p-49768069.entry.js.map +1 -0
  541. package/dist/core/p-4c68494c.entry.js +2 -0
  542. package/dist/core/p-4c68494c.entry.js.map +1 -0
  543. package/dist/core/{p-f37c6a76.entry.js → p-4f2a1950.entry.js} +2 -2
  544. package/dist/core/p-4f2a1950.entry.js.map +1 -0
  545. package/dist/core/p-50f4d151.entry.js +2 -0
  546. package/dist/core/p-50f4d151.entry.js.map +1 -0
  547. package/dist/core/p-55a37101.entry.js +2 -0
  548. package/dist/core/p-55a37101.entry.js.map +1 -0
  549. package/dist/core/{p-1223d0e9.entry.js → p-5c349c9d.entry.js} +2 -2
  550. package/dist/core/p-5c349c9d.entry.js.map +1 -0
  551. package/dist/core/p-5e1fd097.entry.js +2 -0
  552. package/dist/core/p-5e1fd097.entry.js.map +1 -0
  553. package/dist/core/p-68a5aaff.js.map +1 -1
  554. package/dist/core/p-69e4daec.entry.js +2 -0
  555. package/dist/core/p-69e4daec.entry.js.map +1 -0
  556. package/dist/core/p-701696aa.entry.js +2 -0
  557. package/dist/core/p-701696aa.entry.js.map +1 -0
  558. package/dist/core/{p-8452846e.entry.js → p-729745d3.entry.js} +2 -2
  559. package/dist/core/p-729745d3.entry.js.map +1 -0
  560. package/dist/core/{p-1bf956cb.entry.js → p-73fc198f.entry.js} +2 -2
  561. package/dist/core/p-73fc198f.entry.js.map +1 -0
  562. package/dist/core/p-74600ed8.entry.js +2 -0
  563. package/dist/core/p-74600ed8.entry.js.map +1 -0
  564. package/dist/core/p-78e7a859.entry.js +2 -0
  565. package/dist/core/p-78e7a859.entry.js.map +1 -0
  566. package/dist/core/{p-419d3378.entry.js → p-7e79bd0e.entry.js} +2 -2
  567. package/dist/core/p-7e79bd0e.entry.js.map +1 -0
  568. package/dist/core/p-7eaf8da8.entry.js +2 -0
  569. package/dist/core/p-7eaf8da8.entry.js.map +1 -0
  570. package/dist/core/p-811d447b.entry.js +2 -0
  571. package/dist/core/p-811d447b.entry.js.map +1 -0
  572. package/dist/core/p-85734ebf.entry.js +2 -0
  573. package/dist/core/p-85734ebf.entry.js.map +1 -0
  574. package/dist/core/p-85b7d931.entry.js +2 -0
  575. package/dist/core/p-85b7d931.entry.js.map +1 -0
  576. package/dist/core/{p-26bc7c62.entry.js → p-8856dff4.entry.js} +2 -2
  577. package/dist/core/p-8856dff4.entry.js.map +1 -0
  578. package/dist/core/p-8b268274.entry.js +2 -0
  579. package/dist/core/p-8b268274.entry.js.map +1 -0
  580. package/dist/core/p-8e4e97b4.js +3 -0
  581. package/dist/core/p-8e4e97b4.js.map +1 -0
  582. package/dist/core/p-972671ea.entry.js +2 -0
  583. package/dist/core/p-972671ea.entry.js.map +1 -0
  584. package/dist/core/{p-6c1cf351.entry.js → p-98328cb9.entry.js} +2 -2
  585. package/dist/core/p-98328cb9.entry.js.map +1 -0
  586. package/dist/core/{p-5be2c26a.entry.js → p-a103068b.entry.js} +2 -2
  587. package/dist/core/p-a103068b.entry.js.map +1 -0
  588. package/dist/core/{p-e4cb5585.entry.js → p-a20a7cd3.entry.js} +2 -2
  589. package/dist/core/p-a20a7cd3.entry.js.map +1 -0
  590. package/dist/core/p-a22658fb.entry.js +2 -0
  591. package/dist/core/p-a22658fb.entry.js.map +1 -0
  592. package/dist/core/{p-5dcc0489.entry.js → p-a55e7988.entry.js} +2 -2
  593. package/dist/core/p-a55e7988.entry.js.map +1 -0
  594. package/dist/core/{p-20ac0d2a.entry.js → p-a71055c9.entry.js} +2 -2
  595. package/dist/core/p-a71055c9.entry.js.map +1 -0
  596. package/dist/core/p-a794b724.entry.js +2 -0
  597. package/dist/core/p-a794b724.entry.js.map +1 -0
  598. package/dist/core/p-b21b4fea.entry.js +2 -0
  599. package/dist/core/p-b21b4fea.entry.js.map +1 -0
  600. package/dist/core/p-b953b22f.entry.js +2 -0
  601. package/dist/core/p-b953b22f.entry.js.map +1 -0
  602. package/dist/core/p-c2e091d7.js.map +1 -1
  603. package/dist/core/p-c9726fbd.entry.js +2 -0
  604. package/dist/core/p-c9726fbd.entry.js.map +1 -0
  605. package/dist/core/p-d981598e.entry.js +2 -0
  606. package/dist/core/p-d981598e.entry.js.map +1 -0
  607. package/dist/core/p-d9aec0dd.entry.js +2 -0
  608. package/dist/core/p-d9aec0dd.entry.js.map +1 -0
  609. package/dist/core/p-e1255160.js +2 -0
  610. package/dist/core/p-e1255160.js.map +1 -0
  611. package/dist/core/p-ed8957da.js +2 -0
  612. package/dist/core/p-ed8957da.js.map +1 -0
  613. package/dist/core/p-f074ef5b.js.map +1 -1
  614. package/dist/core/p-f3315216.entry.js +2 -0
  615. package/dist/core/p-f3315216.entry.js.map +1 -0
  616. package/dist/core/p-f34efc17.entry.js +2 -0
  617. package/dist/core/p-f34efc17.entry.js.map +1 -0
  618. package/dist/core/p-f43f411a.entry.js +2 -0
  619. package/dist/core/p-f43f411a.entry.js.map +1 -0
  620. package/dist/core/{p-96b4ca6e.entry.js → p-fa02a267.entry.js} +2 -2
  621. package/dist/core/p-fa02a267.entry.js.map +1 -0
  622. package/dist/core/p-ff995eb8.entry.js +2 -0
  623. package/dist/core/p-ff995eb8.entry.js.map +1 -0
  624. package/dist/esm/app-globals-0f993ce5.js +5 -0
  625. package/dist/esm/app-globals-0f993ce5.js.map +1 -0
  626. package/dist/esm/core.js +14 -12
  627. package/dist/esm/core.js.map +1 -1
  628. package/dist/esm/{helpers-2624c32c.js → helpers-dd035d0d.js} +71 -27
  629. package/dist/esm/helpers-dd035d0d.js.map +1 -0
  630. package/dist/esm/ic-accordion-group.entry.js +31 -14
  631. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  632. package/dist/esm/ic-accordion.entry.js +65 -42
  633. package/dist/esm/ic-accordion.entry.js.map +1 -1
  634. package/dist/esm/ic-alert.entry.js +38 -17
  635. package/dist/esm/ic-alert.entry.js.map +1 -1
  636. package/dist/esm/ic-back-to-top.entry.js +29 -15
  637. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  638. package/dist/esm/ic-badge.entry.js +60 -18
  639. package/dist/esm/ic-badge.entry.js.map +1 -1
  640. package/dist/esm/ic-breadcrumb-group.entry.js +53 -37
  641. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  642. package/dist/esm/ic-breadcrumb.entry.js +38 -23
  643. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  644. package/dist/esm/ic-button_3.entry.js +304 -144
  645. package/dist/esm/ic-button_3.entry.js.map +1 -1
  646. package/dist/esm/ic-card-vertical.entry.js +54 -33
  647. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  648. package/dist/esm/ic-checkbox-group.entry.js +33 -10
  649. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  650. package/dist/esm/ic-checkbox.entry.js +49 -30
  651. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  652. package/dist/esm/ic-chip.entry.js +45 -24
  653. package/dist/esm/ic-chip.entry.js.map +1 -1
  654. package/dist/esm/ic-classification-banner.entry.js +22 -6
  655. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  656. package/dist/esm/ic-data-list.entry.js +11 -5
  657. package/dist/esm/ic-data-list.entry.js.map +1 -1
  658. package/dist/esm/ic-data-row.entry.js +28 -18
  659. package/dist/esm/ic-data-row.entry.js.map +1 -1
  660. package/dist/esm/ic-dialog.entry.js +164 -115
  661. package/dist/esm/ic-dialog.entry.js.map +1 -1
  662. package/dist/esm/ic-divider.entry.js +35 -15
  663. package/dist/esm/ic-divider.entry.js.map +1 -1
  664. package/dist/esm/ic-empty-state.entry.js +19 -11
  665. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  666. package/dist/esm/ic-footer-link-group.entry.js +8 -8
  667. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  668. package/dist/esm/ic-footer-link.entry.js +12 -11
  669. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  670. package/dist/esm/ic-footer.entry.js +32 -19
  671. package/dist/esm/ic-footer.entry.js.map +1 -1
  672. package/dist/esm/ic-hero.entry.js +29 -17
  673. package/dist/esm/ic-hero.entry.js.map +1 -1
  674. package/dist/esm/ic-horizontal-scroll.entry.js +32 -20
  675. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  676. package/dist/esm/ic-input-component-container_3.entry.js +126 -68
  677. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  678. package/dist/esm/ic-input-label_2.entry.js +45 -17
  679. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  680. package/dist/esm/ic-link.entry.js +29 -22
  681. package/dist/esm/ic-link.entry.js.map +1 -1
  682. package/dist/esm/ic-menu-group.entry.js +5 -5
  683. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  684. package/dist/esm/ic-menu-item.entry.js +21 -19
  685. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  686. package/dist/esm/ic-navigation-button.entry.js +26 -20
  687. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  688. package/dist/esm/ic-navigation-group.entry.js +63 -39
  689. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  690. package/dist/esm/ic-navigation-item.entry.js +70 -49
  691. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  692. package/dist/esm/ic-navigation-menu.entry.js +55 -33
  693. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  694. package/dist/esm/ic-page-header.entry.js +49 -28
  695. package/dist/esm/ic-page-header.entry.js.map +1 -1
  696. package/dist/esm/ic-pagination-item.entry.js +28 -15
  697. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  698. package/dist/esm/ic-pagination.entry.js +61 -28
  699. package/dist/esm/ic-pagination.entry.js.map +1 -1
  700. package/dist/esm/ic-popover-menu.entry.js +74 -42
  701. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  702. package/dist/esm/ic-radio-group.entry.js +55 -29
  703. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  704. package/dist/esm/ic-radio-option.entry.js +36 -24
  705. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  706. package/dist/esm/ic-search-bar.entry.js +154 -64
  707. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  708. package/dist/esm/ic-section-container.entry.js +12 -5
  709. package/dist/esm/ic-section-container.entry.js.map +1 -1
  710. package/dist/esm/ic-select.entry.js +234 -137
  711. package/dist/esm/ic-select.entry.js.map +1 -1
  712. package/dist/esm/ic-side-navigation.entry.js +107 -71
  713. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  714. package/dist/esm/ic-skeleton.entry.js +11 -4
  715. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  716. package/dist/esm/ic-skip-link.entry.js +51 -0
  717. package/dist/esm/ic-skip-link.entry.js.map +1 -0
  718. package/dist/esm/ic-status-tag.entry.js +26 -7
  719. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  720. package/dist/esm/ic-step.entry.js +35 -33
  721. package/dist/esm/ic-step.entry.js.map +1 -1
  722. package/dist/esm/ic-stepper.entry.js +50 -35
  723. package/dist/esm/ic-stepper.entry.js.map +1 -1
  724. package/dist/esm/ic-switch.entry.js +50 -22
  725. package/dist/esm/ic-switch.entry.js.map +1 -1
  726. package/dist/esm/ic-tab-context.entry.js +45 -26
  727. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  728. package/dist/esm/ic-tab-group.entry.js +14 -9
  729. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  730. package/dist/esm/ic-tab-panel.entry.js +16 -12
  731. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  732. package/dist/esm/ic-tab.entry.js +22 -16
  733. package/dist/esm/ic-tab.entry.js.map +1 -1
  734. package/dist/esm/ic-text-field.entry.js +205 -76
  735. package/dist/esm/ic-text-field.entry.js.map +1 -1
  736. package/dist/esm/ic-theme.entry.js +13 -7
  737. package/dist/esm/ic-theme.entry.js.map +1 -1
  738. package/dist/esm/ic-toast-region.entry.js +2 -3
  739. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  740. package/dist/esm/ic-toast.entry.js +30 -22
  741. package/dist/esm/ic-toast.entry.js.map +1 -1
  742. package/dist/esm/ic-toggle-button-group.entry.js +61 -29
  743. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  744. package/dist/esm/ic-toggle-button.entry.js +82 -50
  745. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  746. package/dist/esm/ic-top-navigation.entry.js +59 -34
  747. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  748. package/dist/esm/ic-typography.entry.js +53 -27
  749. package/dist/esm/ic-typography.entry.js.map +1 -1
  750. package/dist/esm/index-a7a720e7.js +2580 -0
  751. package/dist/esm/index-a7a720e7.js.map +1 -0
  752. package/dist/esm/loader.js +6 -4
  753. package/dist/esm/loader.js.map +1 -1
  754. package/dist/types/components/ic-accordion/ic-accordion.d.ts +3 -3
  755. package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +5 -5
  756. package/dist/types/components/ic-alert/ic-alert.d.ts +1 -1
  757. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +6 -2
  758. package/dist/types/components/ic-back-to-top/ic-back-to-top.types.d.ts +1 -0
  759. package/dist/types/components/ic-badge/ic-badge.d.ts +6 -1
  760. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +2 -1
  761. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +2 -2
  762. package/dist/types/components/ic-button/ic-button.d.ts +7 -6
  763. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +10 -10
  764. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +7 -7
  765. package/dist/types/components/ic-data-list/ic-data-list.d.ts +1 -1
  766. package/dist/types/components/ic-data-row/ic-data-row.d.ts +2 -2
  767. package/dist/types/components/ic-dialog/ic-dialog.d.ts +15 -11
  768. package/dist/types/components/ic-divider/ic-divider.d.ts +3 -3
  769. package/dist/types/components/ic-empty-state/ic-empty-state.d.ts +5 -1
  770. package/dist/types/components/ic-footer/ic-footer.d.ts +4 -4
  771. package/dist/types/components/ic-hero/ic-hero.d.ts +3 -3
  772. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +6 -6
  773. package/dist/types/components/ic-input-label/ic-input-label.d.ts +2 -2
  774. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +4 -4
  775. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +2 -2
  776. package/dist/types/components/ic-menu/ic-menu.d.ts +10 -10
  777. package/dist/types/components/ic-menu/ic-menu.types.d.ts +1 -1
  778. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +2 -2
  779. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +1 -1
  780. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +18 -6
  781. package/dist/types/components/ic-navigation-group/ic-navigation-group.types.d.ts +6 -0
  782. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +8 -8
  783. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +5 -3
  784. package/dist/types/components/ic-pagination/ic-pagination.d.ts +9 -9
  785. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +4 -4
  786. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +4 -4
  787. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +9 -9
  788. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +6 -6
  789. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +12 -12
  790. package/dist/types/components/ic-search-bar/ic-search-bar.types.d.ts +1 -1
  791. package/dist/types/components/ic-select/ic-select.d.ts +20 -20
  792. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +12 -12
  793. package/dist/types/components/ic-skip-link/ic-skip-link.d.ts +33 -0
  794. package/dist/types/components/ic-stepper/ic-stepper.d.ts +1 -1
  795. package/dist/types/components/ic-switch/ic-switch.d.ts +1 -1
  796. package/dist/types/components/ic-tab/ic-tab.d.ts +2 -2
  797. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +7 -1
  798. package/dist/types/components/ic-text-field/ic-text-field.d.ts +51 -34
  799. package/dist/types/components/ic-theme/ic-theme.d.ts +2 -2
  800. package/dist/types/components/ic-toast/ic-toast.d.ts +3 -3
  801. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +1 -1
  802. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +3 -3
  803. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +1 -1
  804. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +9 -9
  805. package/dist/types/components/ic-typography/ic-typography.d.ts +1 -1
  806. package/dist/types/components.d.ts +358 -215
  807. package/dist/types/stencil-public-runtime.d.ts +9 -10
  808. package/dist/types/utils/constants.d.ts +1 -0
  809. package/dist/types/utils/helpers.d.ts +10 -10
  810. package/dist/types/utils/types.d.ts +8 -4
  811. package/hydrate/index.d.ts +53 -12
  812. package/hydrate/index.js +32726 -20605
  813. package/hydrate/index.mjs +34407 -0
  814. package/hydrate/package.json +7 -1
  815. package/loader/cdn.js +1 -3
  816. package/loader/index.cjs.js +1 -3
  817. package/loader/index.d.ts +3 -0
  818. package/loader/index.es2017.js +1 -3
  819. package/loader/index.js +1 -3
  820. package/package.json +19 -13
  821. package/vscode-data.json +109 -339
  822. package/dist/cjs/helpers-eca4c27e.js.map +0 -1
  823. package/dist/cjs/index-f982899d.js +0 -3047
  824. package/dist/cjs/index-f982899d.js.map +0 -1
  825. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +0 -349
  826. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +0 -1
  827. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +0 -129
  828. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +0 -1
  829. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +0 -329
  830. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +0 -1
  831. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +0 -145
  832. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +0 -1
  833. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +0 -256
  834. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +0 -1
  835. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +0 -162
  836. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +0 -1
  837. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js +0 -219
  838. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js.map +0 -1
  839. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +0 -332
  840. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +0 -1
  841. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js +0 -214
  842. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js.map +0 -1
  843. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +0 -284
  844. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +0 -1
  845. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +0 -188
  846. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +0 -1
  847. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js +0 -188
  848. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js.map +0 -1
  849. package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js +0 -161
  850. package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js.map +0 -1
  851. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js +0 -74
  852. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js.map +0 -1
  853. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +0 -448
  854. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +0 -1
  855. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +0 -109
  856. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +0 -1
  857. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +0 -181
  858. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +0 -1
  859. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +0 -46
  860. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +0 -1
  861. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +0 -66
  862. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +0 -1
  863. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +0 -109
  864. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +0 -1
  865. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js +0 -223
  866. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +0 -1
  867. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +0 -172
  868. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +0 -1
  869. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js +0 -38
  870. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js.map +0 -1
  871. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +0 -84
  872. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +0 -1
  873. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js +0 -89
  874. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +0 -1
  875. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +0 -120
  876. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +0 -1
  877. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js +0 -149
  878. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js.map +0 -1
  879. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +0 -1108
  880. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +0 -1
  881. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js +0 -94
  882. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js.map +0 -1
  883. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +0 -121
  884. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +0 -1
  885. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +0 -95
  886. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +0 -1
  887. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +0 -309
  888. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +0 -1
  889. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +0 -130
  890. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +0 -1
  891. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js +0 -176
  892. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js.map +0 -1
  893. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js +0 -291
  894. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +0 -1
  895. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +0 -390
  896. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +0 -1
  897. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js +0 -79
  898. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js.map +0 -1
  899. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js +0 -398
  900. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js.map +0 -1
  901. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +0 -389
  902. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +0 -1
  903. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +0 -553
  904. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +0 -1
  905. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js +0 -69
  906. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js.map +0 -1
  907. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +0 -1672
  908. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +0 -1
  909. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +0 -503
  910. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +0 -1
  911. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js +0 -89
  912. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js.map +0 -1
  913. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +0 -26
  914. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +0 -1
  915. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js +0 -176
  916. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js.map +0 -1
  917. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +0 -752
  918. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +0 -1
  919. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +0 -93
  920. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +0 -1
  921. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +0 -175
  922. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +0 -1
  923. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +0 -390
  924. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +0 -1
  925. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +0 -50
  926. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +0 -1
  927. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +0 -312
  928. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +0 -1
  929. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +0 -341
  930. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +0 -1
  931. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +0 -72
  932. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +0 -1
  933. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +0 -79
  934. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +0 -1
  935. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +0 -314
  936. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +0 -1
  937. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +0 -64
  938. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +0 -1
  939. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js +0 -126
  940. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js.map +0 -1
  941. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +0 -337
  942. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +0 -1
  943. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +0 -321
  944. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +0 -1
  945. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +0 -314
  946. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +0 -1
  947. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +0 -407
  948. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +0 -1
  949. package/dist/collection/testspec.setup.js +0 -77
  950. package/dist/collection/testspec.setup.js.map +0 -1
  951. package/dist/core/p-0cb72d37.entry.js.map +0 -1
  952. package/dist/core/p-1223d0e9.entry.js.map +0 -1
  953. package/dist/core/p-190c3474.entry.js +0 -2
  954. package/dist/core/p-190c3474.entry.js.map +0 -1
  955. package/dist/core/p-199b9196.entry.js.map +0 -1
  956. package/dist/core/p-1bf956cb.entry.js.map +0 -1
  957. package/dist/core/p-20ac0d2a.entry.js.map +0 -1
  958. package/dist/core/p-243ad74c.entry.js +0 -2
  959. package/dist/core/p-243ad74c.entry.js.map +0 -1
  960. package/dist/core/p-24a34d72.entry.js +0 -2
  961. package/dist/core/p-24a34d72.entry.js.map +0 -1
  962. package/dist/core/p-26bc7c62.entry.js.map +0 -1
  963. package/dist/core/p-27274ca8.entry.js.map +0 -1
  964. package/dist/core/p-29afeb33.entry.js +0 -2
  965. package/dist/core/p-29afeb33.entry.js.map +0 -1
  966. package/dist/core/p-2cc0d6b9.entry.js +0 -2
  967. package/dist/core/p-2cc0d6b9.entry.js.map +0 -1
  968. package/dist/core/p-31c84a47.entry.js +0 -2
  969. package/dist/core/p-31c84a47.entry.js.map +0 -1
  970. package/dist/core/p-36ac5305.entry.js +0 -2
  971. package/dist/core/p-36ac5305.entry.js.map +0 -1
  972. package/dist/core/p-3ea4a005.entry.js +0 -2
  973. package/dist/core/p-3ea4a005.entry.js.map +0 -1
  974. package/dist/core/p-404b482e.entry.js +0 -2
  975. package/dist/core/p-404b482e.entry.js.map +0 -1
  976. package/dist/core/p-419d3378.entry.js.map +0 -1
  977. package/dist/core/p-47038ea3.entry.js +0 -2
  978. package/dist/core/p-47038ea3.entry.js.map +0 -1
  979. package/dist/core/p-490bf0ee.entry.js +0 -2
  980. package/dist/core/p-490bf0ee.entry.js.map +0 -1
  981. package/dist/core/p-4e6e34fe.entry.js +0 -2
  982. package/dist/core/p-4e6e34fe.entry.js.map +0 -1
  983. package/dist/core/p-4fce49bd.entry.js +0 -2
  984. package/dist/core/p-4fce49bd.entry.js.map +0 -1
  985. package/dist/core/p-5b42dbef.entry.js +0 -2
  986. package/dist/core/p-5b42dbef.entry.js.map +0 -1
  987. package/dist/core/p-5be2c26a.entry.js.map +0 -1
  988. package/dist/core/p-5d5345a4.entry.js +0 -2
  989. package/dist/core/p-5d5345a4.entry.js.map +0 -1
  990. package/dist/core/p-5dcc0489.entry.js.map +0 -1
  991. package/dist/core/p-5f6d6b3f.entry.js +0 -2
  992. package/dist/core/p-5f6d6b3f.entry.js.map +0 -1
  993. package/dist/core/p-5f74782e.entry.js +0 -2
  994. package/dist/core/p-5f74782e.entry.js.map +0 -1
  995. package/dist/core/p-6227fff5.entry.js +0 -2
  996. package/dist/core/p-6227fff5.entry.js.map +0 -1
  997. package/dist/core/p-641e244d.entry.js.map +0 -1
  998. package/dist/core/p-6b5e91e2.js +0 -3
  999. package/dist/core/p-6b5e91e2.js.map +0 -1
  1000. package/dist/core/p-6c1cf351.entry.js.map +0 -1
  1001. package/dist/core/p-6e630778.entry.js.map +0 -1
  1002. package/dist/core/p-7c8cd719.entry.js +0 -2
  1003. package/dist/core/p-7c8cd719.entry.js.map +0 -1
  1004. package/dist/core/p-7fa74998.entry.js +0 -2
  1005. package/dist/core/p-7fa74998.entry.js.map +0 -1
  1006. package/dist/core/p-7ff4632d.entry.js +0 -2
  1007. package/dist/core/p-7ff4632d.entry.js.map +0 -1
  1008. package/dist/core/p-8452846e.entry.js.map +0 -1
  1009. package/dist/core/p-84c3a870.entry.js +0 -2
  1010. package/dist/core/p-84c3a870.entry.js.map +0 -1
  1011. package/dist/core/p-8624bb98.entry.js +0 -2
  1012. package/dist/core/p-8624bb98.entry.js.map +0 -1
  1013. package/dist/core/p-87aa30b4.entry.js.map +0 -1
  1014. package/dist/core/p-8b554299.entry.js.map +0 -1
  1015. package/dist/core/p-932f3e3c.js +0 -2
  1016. package/dist/core/p-932f3e3c.js.map +0 -1
  1017. package/dist/core/p-96b4ca6e.entry.js.map +0 -1
  1018. package/dist/core/p-9cfd6855.entry.js +0 -2
  1019. package/dist/core/p-9cfd6855.entry.js.map +0 -1
  1020. package/dist/core/p-a87d13b3.entry.js.map +0 -1
  1021. package/dist/core/p-abb383bd.entry.js +0 -2
  1022. package/dist/core/p-abb383bd.entry.js.map +0 -1
  1023. package/dist/core/p-af934e73.entry.js +0 -2
  1024. package/dist/core/p-af934e73.entry.js.map +0 -1
  1025. package/dist/core/p-b73b7139.entry.js +0 -2
  1026. package/dist/core/p-b73b7139.entry.js.map +0 -1
  1027. package/dist/core/p-b9941d97.entry.js +0 -2
  1028. package/dist/core/p-b9941d97.entry.js.map +0 -1
  1029. package/dist/core/p-c1e93306.entry.js +0 -2
  1030. package/dist/core/p-c1e93306.entry.js.map +0 -1
  1031. package/dist/core/p-d21d8014.entry.js +0 -2
  1032. package/dist/core/p-d21d8014.entry.js.map +0 -1
  1033. package/dist/core/p-df957570.entry.js +0 -2
  1034. package/dist/core/p-df957570.entry.js.map +0 -1
  1035. package/dist/core/p-e1f8d915.entry.js +0 -2
  1036. package/dist/core/p-e1f8d915.entry.js.map +0 -1
  1037. package/dist/core/p-e4cb5585.entry.js.map +0 -1
  1038. package/dist/core/p-f073fc69.entry.js +0 -2
  1039. package/dist/core/p-f073fc69.entry.js.map +0 -1
  1040. package/dist/core/p-f2d9eefe.entry.js +0 -2
  1041. package/dist/core/p-f2d9eefe.entry.js.map +0 -1
  1042. package/dist/core/p-f37c6a76.entry.js.map +0 -1
  1043. package/dist/core/p-f7872eef.entry.js +0 -2
  1044. package/dist/core/p-f7872eef.entry.js.map +0 -1
  1045. package/dist/core/p-f9dceda0.entry.js +0 -2
  1046. package/dist/core/p-f9dceda0.entry.js.map +0 -1
  1047. package/dist/core/p-fac53f92.entry.js +0 -2
  1048. package/dist/core/p-fac53f92.entry.js.map +0 -1
  1049. package/dist/core/p-fddcf298.entry.js +0 -2
  1050. package/dist/core/p-fddcf298.entry.js.map +0 -1
  1051. package/dist/core/p-ffc150c5.entry.js +0 -2
  1052. package/dist/core/p-ffc150c5.entry.js.map +0 -1
  1053. package/dist/esm/helpers-2624c32c.js.map +0 -1
  1054. package/dist/esm/index-d1d2c456.js +0 -3016
  1055. package/dist/esm/index-d1d2c456.js.map +0 -1
  1056. package/dist/esm/polyfills/core-js.js +0 -11
  1057. package/dist/esm/polyfills/dom.js +0 -79
  1058. package/dist/esm/polyfills/es5-html-element.js +0 -1
  1059. package/dist/esm/polyfills/index.js +0 -34
  1060. package/dist/esm/polyfills/system.js +0 -6
  1061. package/dist/types/testspec.setup.d.ts +0 -24
@@ -1 +0,0 @@
1
- {"version":3,"names":["icTypographyCss","Typography","this","focusBtnFromKeyboard","inAGGrid","lastMarkerTop","lastWidth","resizeObserver","truncatedHeight","toggleExpanded","ev","stopPropagation","expanded","typographyTruncationExpandToggle","emit","typographyEl","el","checkMarkerPosition","elTop","markerTop","truncated","getElementTop","getClientRects","top","runResizeObserver","ResizeObserver","clearTimeout","resizeInterval","window","setTimeout","resizeObserverCallback","observe","truncWrapperEl","clientWidth","checkMaxLines","clientHeight","marker","truncButtonFocus","truncButtonFocussed","truncButtonBlur","truncButtonFocusFromMouse","watchExpandedHandler","setAttribute","maxLines","disconnectedCallback","disconnect","resetTruncation","removeAttribute","componentDidLoad","variant","_b","_a","getRootNode","host","tagName","document","createElement","style","visibility","appendChild","checkResizeObserver","componentWillRender","isElInAGGrid","height","numLines","Math","floor","setShowHideExpanded","render","applyVerticalMargins","strikethrough","underline","italic","bold","theme","h","Host","class","ref","focus","onFocus","onBlur","onMouseDown","onClick"],"sources":["src/components/ic-typography/ic-typography.css?tag=ic-typography&encapsulation=shadow","src/components/ic-typography/ic-typography.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n position: relative;\n color: var(--ic-typography-color, var(--ic-color-text-primary));\n}\n\n:host(.ic-typography-vertical-margins-h1) {\n margin: 0 0 var(--ic-space-xl);\n}\n\n:host(.ic-typography-vertical-margins-h2) {\n margin: var(--ic-space-xxl) 0 var(--ic-space-lg);\n}\n\n:host(.ic-typography-vertical-margins-h3) {\n margin: var(--ic-space-xl) 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-vertical-margins-h4) {\n margin: var(--ic-space-lg) 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-vertical-margins-subtitle-large),\n:host(.ic-typography-vertical-margins-subtitle-small),\n:host(.ic-typography-vertical-margins-body),\n:host(.ic-typography-vertical-margins-code-large),\n:host(.ic-typography-vertical-margins-code-small),\n:host(.ic-typography-vertical-margins-code-extra-small) {\n margin: 0 0 var(--ic-space-md);\n}\n\n:host(.ic-typography-vertical-margins-caption),\n:host(.ic-typography-vertical-margins-caption-uppercase) {\n margin: 0 0 var(--ic-space-xs);\n}\n\n:host(.ic-typography-vertical-margins-h2:first-child),\n:host(.ic-typography-vertical-margins-h3:first-child),\n:host(.ic-typography-vertical-margins-h4:first-child) {\n margin-top: 0;\n}\n\n:host(.ic-typography-h1) {\n font: var(--ic-font-h1) !important;\n}\n\n:host(.ic-typography-h2) {\n font: var(--ic-font-h2);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-h3) {\n font: var(--ic-font-h3);\n}\n\n:host(.ic-typography-h4) {\n font: var(--ic-font-h4);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-subtitle-large) {\n font: var(--ic-font-subtitle-large);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-subtitle-small) {\n font: var(--ic-font-subtitle-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt0015);\n}\n\n:host(.ic-typography-body) {\n font: var(--ic-font-body);\n letter-spacing: var(--ic-font-letter-spacing-0pt005);\n}\n\n:host(.ic-typography-caption) {\n font: var(--ic-font-caption);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-caption-uppercase) {\n font: var(--ic-font-caption);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n text-transform: uppercase;\n}\n\n:host(.ic-typography-label) {\n font: var(--ic-font-label);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-label-uppercase) {\n font: var(--ic-font-label);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n text-transform: uppercase;\n}\n\n:host(.ic-typography-code-large) {\n font: var(--ic-font-code-large);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-code-small) {\n font: var(--ic-font-code-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt005);\n}\n\n:host(.ic-typography-code-extra-small) {\n font: var(--ic-font-code-extra-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt025);\n}\n\n:host(.ic-typography-badge) {\n font: var(--ic-font-badge);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-badge-small) {\n font: var(--ic-font-badge-small);\n letter-spacing: var(--ic-font-letter-spacing-0pt0025);\n}\n\n:host(.ic-typography-no-wrap) {\n white-space: nowrap;\n}\n\n:host ::slotted(h1),\n:host ::slotted(h2),\n:host ::slotted(h3),\n:host ::slotted(h4),\n:host ::slotted(h5),\n:host ::slotted(h6),\n:host ::slotted(p),\n:host ::slotted(label) {\n font: inherit;\n letter-spacing: inherit;\n}\n\n.trunc-wrapper {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n line-clamp: var(--truncation-max-lines, initial);\n -webkit-line-clamp: var(--truncation-max-lines, initial);\n overflow: hidden;\n padding-right: var(--ellipsis-padding-right, 0);\n}\n\n.trunc-btn {\n border: none;\n background: none;\n padding: 0;\n color: var(--ic-color-text-primary);\n text-decoration: underline;\n font-weight: var(--ic-font-weight-bold);\n transition: var(--ic-easing-transition-fast);\n}\n\n.trunc-btn:hover,\n.trunc-btn.focus {\n outline: none;\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n cursor: pointer;\n}\n\n:host(.ic-typography-strikethrough) {\n text-decoration: line-through;\n}\n\n:host(.ic-typography-underline) {\n text-decoration: underline;\n}\n\n:host(.ic-typography-underline.ic-typography-strikethrough) {\n text-decoration: line-through underline;\n}\n\n:host(.ic-typography-italic) {\n font-style: italic !important;\n}\n\n:host(.ic-typography-bold) {\n font-weight: var(--ic-font-weight-bold);\n}\n\n:host(.ic-theme-dark),\n:host(.ic-theme-light) {\n --ic-typography-color: var(--ic-color-text-primary);\n}\n\n:host(.in-ag-grid),\n:host(.in-ag-grid) ::slotted(*) {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n@supports (text-underline-offset: 25%) {\n .trunc-btn:hover,\n .trunc-btn.focus {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0 !important;\n }\n}\n\n@media (prefers-color-scheme: dark) and (not (forced-colors: active)) {\n :host,\n .trunc-btn::not(ic-tooltip) {\n color: var(--ic-typography-color);\n }\n}\n","import {\n Component,\n Prop,\n h,\n Element,\n Host,\n State,\n Watch,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\n\nimport { IcTypographyVariants, IcThemeMode } from \"../../utils/types\";\nimport { checkResizeObserver, isElInAGGrid } from \"../../utils/helpers\";\n\n@Component({\n styleUrl: \"ic-typography.css\",\n tag: \"ic-typography\",\n shadow: true,\n})\nexport class Typography {\n private focusBtnFromKeyboard: boolean = true;\n private inAGGrid: boolean = false;\n private lastMarkerTop: number = 0;\n private lastWidth: number = 0;\n private marker: HTMLElement;\n private resizeInterval: number;\n private resizeObserver: ResizeObserver = null;\n private truncatedHeight: number = 0;\n private truncWrapperEl: Element;\n\n @Element() el: HTMLIcTypographyElement;\n\n @State() truncated: boolean = false;\n @State() truncButtonFocussed: boolean = false;\n\n /**\n * If `true`, appropriate top and bottom margins will be applied to the typography.\n */\n @Prop() applyVerticalMargins?: boolean = false;\n\n /**\n * If `true`, the typography will have a bold font weight.\n * Note: This will have no impact on variants that already use an equivalent or higher font weight (h1, h2, and subtitle-large).\n */\n @Prop() bold?: boolean = false;\n\n /**\n * If `true`, the typography will have an italic font style.\n */\n @Prop() italic?: boolean = false;\n\n /**\n * The number of lines to display before truncating the text, only used for the 'body' variant.\n */\n @Prop({ mutable: true }) maxLines?: number;\n\n /**\n * If `true`, the typography will have a line through it.\n */\n @Prop() strikethrough?: boolean = false;\n\n /**\n * Sets the text 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 * If `true`, the typography will have a line under it.\n */\n @Prop() underline?: boolean = false;\n\n /**\n * The ICDS typography style to use.\n */\n @Prop() variant?: IcTypographyVariants = \"body\";\n\n /**\n * @internal Emits and event when the typography truncation button has been clicked.\n */\n @Event() typographyTruncationExpandToggle: EventEmitter<{\n expanded: boolean;\n typographyEl: HTMLIcTypographyElement;\n }>;\n\n @State() expanded: boolean = false;\n\n @Watch(\"expanded\")\n watchExpandedHandler(): void {\n this.el.setAttribute(\n \"style\",\n `--truncation-max-lines: ${this.expanded ? \"initial\" : this.maxLines}`\n );\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n /**\n * @internal This is used by data table to remove all truncation in certain events\n */\n @Method()\n async resetTruncation() {\n if (this.truncated) {\n this.truncated = false;\n this.maxLines = 0;\n this.el.removeAttribute(\"max-lines\");\n this.expanded = false;\n this.el.removeAttribute(\"style\");\n }\n }\n\n componentDidLoad(): void {\n if (\n (this.variant === \"body\" ||\n (this.el.getRootNode() as ShadowRoot)?.host?.tagName ===\n \"IC-TOOLTIP\") &&\n this.maxLines > 0\n ) {\n const marker = document.createElement(\"span\");\n marker.style.visibility = \"hidden\";\n this.el.appendChild(marker);\n this.marker = marker;\n this.lastWidth = this.el.clientWidth;\n this.checkMaxLines(this.el.clientHeight);\n checkResizeObserver(this.runResizeObserver);\n }\n }\n\n componentWillRender(): void {\n if (isElInAGGrid(this.el)) {\n this.inAGGrid = true;\n }\n }\n\n private toggleExpanded = (ev: Event) => {\n ev.stopPropagation();\n\n this.expanded = !this.expanded;\n this.typographyTruncationExpandToggle.emit({\n expanded: this.expanded,\n typographyEl: this.el,\n });\n };\n\n /**\n * @internal This checks if the number of lines of text exceeds the maxLines prop. If so, set the line clamp CSS to the max lines\n * @param height - text container height\n */\n\n @Method()\n async checkMaxLines(height: number) {\n //24 is the height of a single line\n const numLines = Math.floor(height / 24);\n if (numLines > this.maxLines) {\n this.el.setAttribute(\"style\", `--truncation-max-lines: ${this.maxLines}`);\n this.truncatedHeight = this.el.clientHeight;\n this.truncated = true;\n }\n }\n\n /**\n * @internal This method makes it possible to set the expanded status of truncated text outside of ic-typography component\n */\n @Method()\n async setShowHideExpanded(expanded: boolean) {\n this.expanded = expanded;\n }\n\n private checkMarkerPosition = (elTop: number, markerTop: number) => {\n if (markerTop - elTop < this.truncatedHeight) {\n this.truncated = false;\n this.expanded = false;\n } else {\n this.truncated = true;\n }\n };\n\n private getElementTop = (el: HTMLElement) => {\n return el.getClientRects && el.getClientRects()[0]\n ? el.getClientRects()[0].top\n : 0;\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n clearTimeout(this.resizeInterval);\n this.resizeInterval = window.setTimeout(this.resizeObserverCallback, 50);\n });\n this.resizeObserver.observe(this.truncWrapperEl);\n };\n\n private resizeObserverCallback = () => {\n if (this.lastWidth === this.el.clientWidth) {\n return;\n }\n\n if (this.truncatedHeight === 0) {\n this.checkMaxLines(this.el.clientHeight);\n return;\n }\n\n const markerTop = this.getElementTop(this.marker);\n if (markerTop === this.lastMarkerTop) {\n return;\n }\n\n this.checkMarkerPosition(this.getElementTop(this.el), markerTop);\n this.lastMarkerTop = markerTop;\n this.lastWidth = this.el.clientWidth;\n };\n\n private truncButtonFocus = (): void => {\n if (this.focusBtnFromKeyboard) {\n this.truncButtonFocussed = true;\n }\n };\n\n private truncButtonBlur = (): void => {\n this.focusBtnFromKeyboard = true;\n this.truncButtonFocussed = false;\n };\n\n private truncButtonFocusFromMouse = (): void => {\n this.focusBtnFromKeyboard = false;\n };\n\n render() {\n const {\n variant,\n applyVerticalMargins,\n maxLines,\n truncated,\n expanded,\n strikethrough,\n underline,\n italic,\n bold,\n theme,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-typography-${variant}`]: true,\n [`ic-typography-vertical-margins-${variant}`]: applyVerticalMargins,\n [\"ic-typography-bold\"]: bold,\n [\"ic-typography-italic\"]: italic,\n [\"ic-typography-strikethrough\"]: strikethrough,\n [\"ic-typography-underline\"]: underline,\n [\"in-ag-grid\"]: this.inAGGrid,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n {(variant === \"body\" ||\n (this.el.getRootNode() as ShadowRoot)?.host?.tagName ===\n \"IC-TOOLTIP\") &&\n maxLines > 0 ? (\n <div class=\"trunc-wrapper\" ref={(el) => (this.truncWrapperEl = el)}>\n <slot />\n </div>\n ) : (\n <slot />\n )}\n {variant === \"body\" && maxLines > 0 && truncated && (\n <button\n class={{ \"trunc-btn\": true, focus: this.truncButtonFocussed }}\n onFocus={this.truncButtonFocus}\n onBlur={this.truncButtonBlur}\n onMouseDown={this.truncButtonFocusFromMouse}\n onClick={this.toggleExpanded}\n >\n {expanded ? \"See less\" : \"See more\"}\n </button>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icAccordionCss","accordionIds","Accordion","this","accordionId","CONTENT_VISIBILITY_PROPERTY","toggleExpanded","expanded","accordionClicked","emit","id","setAccordionAnimation","el","duration","property","delay","style","transitionDuration","transitionProperty","transitionDelay","setExpandedContentStyle","ev","expandedContent","propertyName","clientHeight","classList","add","height","hideExpandedContent","setProperty","animateExpandedContent","elementHeight","expandedContentEl","scrollHeight","addEventListener","e","remove","watchDisabledHandler","removeDisabledFalse","disabled","handleExpandedWatch","setFocus","accordionBtnHeading","focus","componentWillLoad","disconnectedCallback","removeEventListener","componentDidLoad","render","size","theme","h","Host","class","ref","tabindex","onClick","isSlotUsed","name","variant","innerHTML","chevronIcon","role","message"],"sources":["src/components/ic-accordion/ic-accordion.css?tag=ic-accordion&encapsulation=shadow","src/components/ic-accordion/ic-accordion.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n border-bottom: var(--ic-space-1px) solid var(--ic-accordion-divider);\n}\n\n:host .expand-chevron {\n color: var(--ic-accordion-chevron);\n}\n\n:host(.ic-accordion-disabled) .expand-chevron {\n color: var(--ic-accordion-chevron-disabled);\n}\n\n.section-button.small {\n padding: var(--ic-space-xxs) var(--ic-space-xs);\n}\n\n.section-button.large {\n padding: var(--ic-space-sm) var(--ic-space-xs);\n}\n\n:host(:first-of-type) {\n border-top: var(--ic-space-1px) solid var(--ic-accordion-divider);\n}\n\n:focus {\n outline: none;\n}\n\n.section-button {\n background-color: transparent;\n display: flex;\n align-items: center;\n width: 100%;\n padding: var(--ic-space-xs);\n font-weight: var(--ic-font-weight-bold);\n border: none;\n}\n\n.section-header {\n --ic-typography-color: var(--ic-accordion-heading-text);\n color: var(--ic-accordion-heading-text);\n text-align: left;\n flex: 1 0;\n}\n\n:host(.ic-accordion-disabled) .section-header {\n --ic-typography-color: var(--ic-accordion-heading-text-disabled);\n color: var(--ic-accordion-heading-text-disabled);\n}\n\nbutton:hover {\n background-color: var(--ic-accordion-background-hover);\n cursor: pointer;\n}\n\nbutton:active {\n background-color: var(--ic-accordion-background-pressed);\n}\n\nbutton:focus {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n transition: var(--ic-transition-duration-fast);\n}\n\nbutton:disabled {\n pointer-events: none;\n}\n\n.icon-container {\n margin: 0 var(--ic-space-xs) 0 0;\n display: flex;\n align-items: center;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n color: var(--ic-accordion-icon);\n}\n\n:host(.ic-accordion-disabled) .icon-container {\n color: var(--ic-accordion-icon-disabled);\n}\n\n::slotted(svg) {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n}\n\n.expand-chevron {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n margin-left: calc(var(--ic-space-xl) + var(--ic-space-xs));\n transform: rotate(90deg);\n justify-self: end;\n}\n\n.content-expanded-chevron {\n transform: rotate(-90deg);\n}\n\n.expanded-content {\n --ic-typography-color: var(--ic-accordion-body-text);\n color: var(--ic-accordion-body-text);\n height: 0;\n overflow: hidden;\n display: flex;\n flex-direction: column;\n visibility: var(--ic-expanded-content-visibility, hidden);\n}\n\n.expanded-content-inner {\n padding: var(--ic-space-xs);\n}\n\n.expanded-content-opened {\n overflow: visible;\n}\n\n@media (forced-colors: active) {\n button:focus {\n border: var(--ic-border-hc) !important;\n }\n}\n","import {\n Component,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n Host,\n Watch,\n Method,\n} from \"@stencil/core\";\nimport { isSlotUsed, removeDisabledFalse } from \"../../utils/helpers\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport { IcSizes, IcThemeMode } from \"../../utils/types\";\n\nlet accordionIds = 0;\n\n/**\n * @slot heading - Content is placed as the accordion heading.\n * @slot icon - Content is placed to the left of the heading.\n */\n\n@Component({\n tag: \"ic-accordion\",\n styleUrl: \"ic-accordion.css\",\n shadow: true,\n})\nexport class Accordion {\n private accordionId = `ic-accordion-${accordionIds++}`;\n private expandedContentEl: HTMLDivElement;\n private accordionBtnHeading: HTMLButtonElement;\n private CONTENT_VISIBILITY_PROPERTY = \"--ic-expanded-content-visibility\";\n\n @Element() el: HTMLIcAccordionElement;\n\n /**\n * If `true`, the accordion will be disabled.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the accordion appears expanded.\n */\n @Prop({ mutable: true }) expanded: boolean = false;\n\n /**\n * The section header outlining section content.\n */\n @Prop() heading?: string = \"\";\n\n /**\n * The main body message of the accordion.\n */\n @Prop() message?: string = \"\";\n\n /**\n * The size of the accordion.\n */\n @Prop() size?: IcSizes = \"medium\";\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 * @internal Emitted when accordion is clicked.\n */\n @Event() accordionClicked: EventEmitter<{ id: string }>;\n\n // Every time expanded is set via toggleExpanded or accordionGroup, animate to open or close\n @Watch(\"expanded\")\n handleExpandedWatch(): void {\n this.animateExpandedContent();\n }\n\n /**\n * Sets focus on accordion heading.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.accordionBtnHeading) {\n this.accordionBtnHeading.focus();\n }\n }\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n disconnectedCallback(): void {\n if (this.expandedContentEl) {\n this.expandedContentEl.removeEventListener(\n \"transitionend\",\n (e) => this.setExpandedContentStyle(e, this.expandedContentEl),\n true\n );\n this.expandedContentEl.removeEventListener(\n \"transitionend\",\n (e) => this.hideExpandedContent(e, this.expandedContentEl),\n true\n );\n }\n }\n\n componentDidLoad(): void {\n // So accordion opens by default if expanded set to true\n if (this.expanded) {\n this.expandedContentEl.style.height = \"auto\";\n this.expandedContentEl.style.setProperty(\n this.CONTENT_VISIBILITY_PROPERTY,\n \"visible\"\n );\n }\n }\n\n private toggleExpanded = (): void => {\n this.expanded = !this.expanded;\n this.accordionClicked.emit({ id: this.accordionId });\n };\n\n // Set accordion animation\n private setAccordionAnimation = (\n el: HTMLElement,\n duration: string,\n property: string,\n delay: string\n ) => {\n el.style.transitionDuration = `${duration}ms`;\n el.style.transitionProperty = property;\n el.style.transitionDelay = delay;\n };\n\n private setExpandedContentStyle = (\n ev: TransitionEvent,\n expandedContent: HTMLDivElement\n ) => {\n if (ev.propertyName === \"height\" && expandedContent.clientHeight > 0) {\n expandedContent.classList.add(\"expanded-content-opened\");\n expandedContent.style.height = \"auto\";\n }\n };\n\n private hideExpandedContent = (\n ev: TransitionEvent,\n expandedContent: HTMLDivElement\n ) => {\n if (ev.propertyName === \"height\" && expandedContent.clientHeight === 0) {\n expandedContent.style.setProperty(\n this.CONTENT_VISIBILITY_PROPERTY,\n \"hidden\"\n );\n }\n };\n\n private animateExpandedContent = () => {\n const elementHeight = this.expandedContentEl.scrollHeight;\n if (elementHeight > 0 && this.expanded) {\n this.expandedContentEl.style.setProperty(\n this.CONTENT_VISIBILITY_PROPERTY,\n \"visible\"\n );\n this.expandedContentEl.style.height = `${elementHeight}px`;\n this.setAccordionAnimation(\n this.expandedContentEl,\n \"300\",\n \"height\",\n \"ease-out\"\n );\n\n this.expandedContentEl.addEventListener(\n \"transitionend\",\n (e: TransitionEvent) => {\n this.setExpandedContentStyle(e, this.expandedContentEl);\n }\n );\n } else if (!this.expanded) {\n this.expandedContentEl.style.height = `${this.expandedContentEl.scrollHeight}px`;\n if (this.expandedContentEl.scrollHeight > 0 && !this.expanded) {\n this.expandedContentEl.style.height = \"0\";\n this.setAccordionAnimation(\n this.expandedContentEl,\n \"300\",\n \"height\",\n \"ease-in\"\n );\n this.expandedContentEl.classList.remove(\"expanded-content-opened\");\n }\n this.expandedContentEl.addEventListener(\"transitionend\", (e) => {\n this.hideExpandedContent(e, this.expandedContentEl);\n });\n }\n };\n\n render() {\n const { size, disabled, expanded, theme } = this;\n return (\n <Host\n id={this.accordionId}\n class={{\n [\"ic-accordion-disabled\"]: disabled,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n aria-disabled={disabled ? \"true\" : \"false\"}\n >\n <button\n ref={(el) => (this.accordionBtnHeading = el)}\n id={`${this.accordionId}-button`}\n disabled={disabled}\n tabindex={disabled ? -1 : 0}\n class={{\n [`${size}`]: true,\n [\"section-button\"]: true,\n [\"section-button-open\"]: expanded && !disabled,\n }}\n aria-expanded={`${expanded}`}\n aria-controls=\"expanded-content-area\"\n onClick={this.toggleExpanded}\n >\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon-container\">\n <slot name=\"icon\" />\n </div>\n )}\n <ic-typography variant=\"subtitle-large\" class=\"section-header\">\n {isSlotUsed(this.el, \"heading\") ? (\n <slot name=\"heading\" />\n ) : (\n this.heading\n )}\n </ic-typography>\n <span\n class={{\n [\"expand-chevron\"]: true,\n [\"content-expanded-chevron\"]: expanded && !disabled,\n }}\n aria-hidden=\"true\"\n innerHTML={chevronIcon}\n />\n </button>\n <div\n class={{\n [\"expanded-content\"]: true,\n }}\n aria-labelledby={`${this.accordionId}-button`}\n role=\"region\"\n aria-hidden={`${!expanded}`}\n id=\"expanded-content-area\"\n ref={(el) => (this.expandedContentEl = el)}\n >\n <div class=\"expanded-content-inner\">\n {this.message ? (\n <ic-typography variant=\"body\">{this.message}</ic-typography>\n ) : (\n <slot />\n )}\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as s,h as i,H as t,g as h}from"./p-6b5e91e2.js";import{D as e,e as a,f as r}from"./p-932f3e3c.js";const l=":host{display:block}:host ol{display:flex;list-style-type:none;align-items:center;flex-wrap:wrap;padding:0;margin:0}:host(.ic-breadcrumb-group-back) ol ::slotted(ic-breadcrumb){display:none}:host(.ic-breadcrumb-group-back) ol ::slotted(ic-breadcrumb.show){display:flex}:host(.ic-breadcrumb-group-collapsed) ol ::slotted(ic-breadcrumb.hide){display:none;opacity:0;visibility:hidden}:host(.ic-breadcrumb-group-collapsed) ol ::slotted(ic-breadcrumb.visuallyhidden){display:block;opacity:0;transition:all var(--ic-easing-transition-slow)}:host(.ic-breadcrumb-group-collapsed) ol ::slotted(ic-breadcrumb.fade){opacity:1}";const c=class{constructor(i){s(this,i);this.ADD_CLASS_DELAY=50;this.IC_BREADCRUMB="ic-breadcrumb";this.resizeObserver=null;this.SHOW_BACK_ICON="show-back-icon";this.setBreadcrumbTheme=()=>{const s=Array.from(this.el.querySelectorAll(this.IC_BREADCRUMB));s.forEach((s=>{s.theme=this.theme}))};this.setBreadcrumbMonochrome=()=>{const s=Array.from(this.el.querySelectorAll(this.IC_BREADCRUMB));s.forEach((s=>{s.monochrome=this.monochrome}))};this.setBackBreadcrumb=()=>{if(this.backBreadcrumbOnly){this.setLastParentCollapsedBackBreadcrumb()}else{this.revertLastParentCollapsedBreadcrumb()}};this.setBackBreadcrumbAttr=()=>{if(this.lastParentBreadcrumb){this.lastParentBreadcrumb.classList.add("show");this.lastParentBreadcrumb.setAttribute(this.SHOW_BACK_ICON,"true")}};this.getLastParentBreadcrumb=()=>{const s=Array.from(this.el.querySelectorAll(this.IC_BREADCRUMB));if(s.length===1){return null}this.breadcrumbs=s;this.breadcrumb=this.breadcrumbs[this.breadcrumbs.length-2];return this.breadcrumb};this.lastParentBreadcrumb=this.getLastParentBreadcrumb();this.setDefaultBreadcrumbs=()=>{const s=Array.from(this.el.querySelectorAll(this.IC_BREADCRUMB));s.forEach((s=>{s.setAttribute(this.SHOW_BACK_ICON,"false")}))};this.setCollapsed=()=>{const s=Array.from(this.el.querySelectorAll(this.IC_BREADCRUMB));const i=s[0];if(this.collapsedBreadcrumbs){this.collapsedBreadcrumbs.forEach((s=>{s.classList.remove("visuallyhidden");s.classList.remove("fade")}))}if(this.collapsed){this.renderCollapsedBreadcrumb();this.collapsedBreadcrumbs=s.splice(1,s.length-2).filter((s=>!s.classList.contains("collapsed-breadcrumb-wrapper")));if(!this.backBreadcrumbOnly){this.collapsedBreadcrumbs.forEach((s=>s.classList.add("hide")))}if(i){i.insertAdjacentElement("afterend",this.collapsedBreadcrumbWrapper)}}else{this.collapsedBreadcrumbWrapper.remove()}};this.clickHandler=()=>{this.handleHiddenCollapsedBreadcrumbs()};this.renderCollapsedBreadcrumb=()=>{this.collapsedBreadcrumbWrapper=document.createElement("ic-breadcrumb");this.collapsedBreadcrumbWrapper.classList.add("collapsed-breadcrumb-wrapper");this.collapsedBreadcrumbEl=document.createElement("button");const s=document.createElement("span");s.id="collapsed-button-label";s.innerText="Collapsed breadcrumbs";s.className="hide";this.collapsedBreadcrumbEl.setAttribute("aria-labelledby","collapsed-button-label");const i=document.createElement("span");i.id="collapsed-button-described";i.innerText="Select to view collapsed breadcrumbs";i.className="hide";this.collapsedBreadcrumbEl.setAttribute("aria-describedby","collapsed-button-described");this.collapsedBreadcrumbEl.id="collapsed-ellipsis";this.collapsedBreadcrumbEl.innerText="...";this.collapsedBreadcrumbEl.classList.add("collapsed-breadcrumb");this.collapsedBreadcrumbEl.addEventListener("click",this.clickHandler);this.collapsedBreadcrumbWrapper.append(i);this.collapsedBreadcrumbWrapper.append(s);this.collapsedBreadcrumbWrapper.append(this.collapsedBreadcrumbEl);return this.collapsedBreadcrumbWrapper};this.handleHiddenCollapsedBreadcrumbs=()=>{this.collapsedBreadcrumbWrapper.remove();this.collapsedBreadcrumbs.forEach((s=>{s.classList.add("visuallyhidden");s.classList.remove("hide");setTimeout((()=>{s.classList.add("fade")}),this.ADD_CLASS_DELAY);this.removeVisuallyHiddenClass(s)}));this.expandedBreadcrumbs=true;this.collapsedBreadcrumbs[0].setFocus()};this.transitionendHandler=s=>{if(s.propertyName==="opacity"){s.target.classList.remove("visuallyhidden")}};this.removeVisuallyHiddenClass=s=>{s.addEventListener("transitionend",this.transitionendHandler)};this.setLastParentCollapsedBackBreadcrumb=()=>{this.lastParentBreadcrumb=this.getLastParentBreadcrumb();this.setBackBreadcrumbAttr();if(this.lastParentBreadcrumb){this.lastParentBreadcrumb.classList.remove("hide");this.lastParentBreadcrumb.classList.add("show")}};this.revertLastParentCollapsedBreadcrumb=()=>{this.lastParentBreadcrumb.setAttribute(this.SHOW_BACK_ICON,"false");if(this.collapsed){this.lastParentBreadcrumb.classList.add("hide")}};this.resizeObserverCallback=s=>{if(s!==this.deviceSize){this.deviceSize=s;if(this.deviceSize<=e.S){this.el.setAttribute("back-breadcrumb-only","true");if(this.collapsed){this.setLastParentCollapsedBackBreadcrumb()}else{this.setBackBreadcrumb()}}else{this.el.setAttribute("back-breadcrumb-only","false");if(this.collapsed&&this.breadcrumbs&&this.breadcrumbs.length>2){this.revertLastParentCollapsedBreadcrumb();if(this.expandedBreadcrumbs){this.setDefaultBreadcrumbs()}else{this.setCollapsed()}}else{this.setDefaultBreadcrumbs()}}}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{const s=a();this.resizeObserverCallback(s)}));this.resizeObserver.observe(this.el)};this.deviceSize=e.XL;this.expandedBreadcrumbs=false;this.backBreadcrumbOnly=false;this.collapsed=false;this.monochrome=false;this.theme="inherit"}watchBackBreadcrumbHandler(){this.setBackBreadcrumb()}watchCollapsedHandler(){this.setCollapsed()}watchMonochromeHandler(){this.setBreadcrumbMonochrome()}watchThemeHandler(){this.setBreadcrumbTheme()}componentWillLoad(){const s=Array.from(this.el.querySelectorAll(this.IC_BREADCRUMB));this.setBreadcrumbTheme();this.setBreadcrumbMonochrome();if(this.backBreadcrumbOnly){this.setBackBreadcrumb()}else{r(this.runResizeObserver)}if(this.collapsed&&s.length>2){if(a()===e.S){this.setLastParentCollapsedBackBreadcrumb()}else{this.setCollapsed()}}}disconnectedCallback(){this.breadcrumb&&this.breadcrumb.removeEventListener("transitionend",this.transitionendHandler);this.collapsedBreadcrumbEl&&this.collapsedBreadcrumbEl.removeEventListener("click",this.clickHandler)}render(){return i(t,{class:{"ic-breadcrumb-group-back":this.backBreadcrumbOnly,"ic-breadcrumb-group-collapsed":this.collapsed,[`ic-theme-${this.theme}`]:this.theme!=="inherit"}},i("nav",{"aria-label":"breadcrumbs"},i("ol",null,i("slot",null))))}get el(){return h(this)}static get watchers(){return{backBreadcrumbOnly:["watchBackBreadcrumbHandler"],collapsed:["watchCollapsedHandler"],monochrome:["watchMonochromeHandler"],theme:["watchThemeHandler"]}}};c.style=l;export{c as ic_breadcrumb_group};
2
- //# sourceMappingURL=p-7c8cd719.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icBreadcrumbGroupCss","BreadcrumbGroup","this","ADD_CLASS_DELAY","IC_BREADCRUMB","resizeObserver","SHOW_BACK_ICON","setBreadcrumbTheme","allBreadcrumbs","Array","from","el","querySelectorAll","forEach","breadcrumb","theme","setBreadcrumbMonochrome","monochrome","setBackBreadcrumb","backBreadcrumbOnly","setLastParentCollapsedBackBreadcrumb","revertLastParentCollapsedBreadcrumb","setBackBreadcrumbAttr","lastParentBreadcrumb","classList","add","setAttribute","getLastParentBreadcrumb","length","breadcrumbs","setDefaultBreadcrumbs","setCollapsed","firstBreadcrumb","collapsedBreadcrumbs","remove","collapsed","renderCollapsedBreadcrumb","splice","filter","contains","insertAdjacentElement","collapsedBreadcrumbWrapper","clickHandler","handleHiddenCollapsedBreadcrumbs","document","createElement","collapsedBreadcrumbEl","ariaLabel","id","innerText","className","ariaDescribed","addEventListener","append","setTimeout","removeVisuallyHiddenClass","expandedBreadcrumbs","setFocus","transitionendHandler","event","propertyName","target","resizeObserverCallback","currSize","deviceSize","DEVICE_SIZES","S","runResizeObserver","ResizeObserver","getCurrentDeviceSize","observe","XL","watchBackBreadcrumbHandler","watchCollapsedHandler","watchMonochromeHandler","watchThemeHandler","componentWillLoad","checkResizeObserver","disconnectedCallback","removeEventListener","render","h","Host","class"],"sources":["src/components/ic-breadcrumb-group/ic-breadcrumb-group.css?tag=ic-breadcrumb-group&encapsulation=shadow","src/components/ic-breadcrumb-group/ic-breadcrumb-group.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n:host ol {\n display: flex;\n list-style-type: none;\n align-items: center;\n flex-wrap: wrap;\n padding: 0;\n margin: 0;\n}\n\n:host(.ic-breadcrumb-group-back) ol ::slotted(ic-breadcrumb) {\n display: none;\n}\n\n:host(.ic-breadcrumb-group-back) ol ::slotted(ic-breadcrumb.show) {\n display: flex;\n}\n\n:host(.ic-breadcrumb-group-collapsed) ol ::slotted(ic-breadcrumb.hide) {\n display: none;\n opacity: 0;\n visibility: hidden;\n}\n\n:host(.ic-breadcrumb-group-collapsed)\n ol\n ::slotted(ic-breadcrumb.visuallyhidden) {\n display: block;\n opacity: 0;\n transition: all var(--ic-easing-transition-slow);\n}\n\n:host(.ic-breadcrumb-group-collapsed) ol ::slotted(ic-breadcrumb.fade) {\n opacity: 1;\n}\n","import { Component, Host, h, Element, Prop, State, Watch } from \"@stencil/core\";\nimport {\n checkResizeObserver,\n DEVICE_SIZES,\n getCurrentDeviceSize,\n} from \"../../utils/helpers\";\nimport { IcThemeMode } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-breadcrumb-group\",\n styleUrl: \"ic-breadcrumb-group.css\",\n shadow: true,\n})\n\n// Added ResizeObserver to find out width of breadcrumbs and parents. Use side navigation long title for ref.\nexport class BreadcrumbGroup {\n private ADD_CLASS_DELAY = 50;\n private breadcrumb: HTMLIcBreadcrumbElement;\n private breadcrumbs: HTMLIcBreadcrumbElement[];\n private collapsedBreadcrumbEl: HTMLButtonElement;\n private collapsedBreadcrumbs: HTMLIcBreadcrumbElement[];\n private collapsedBreadcrumbWrapper: HTMLIcBreadcrumbElement;\n private IC_BREADCRUMB: string = \"ic-breadcrumb\";\n private resizeObserver: ResizeObserver = null;\n private SHOW_BACK_ICON: string = \"show-back-icon\";\n\n @Element() el: HTMLIcBreadcrumbGroupElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() expandedBreadcrumbs: boolean = false;\n\n /**\n * If `true`, display only a single breadcrumb for the parent page with a back icon.\n */\n @Prop() backBreadcrumbOnly: boolean = false;\n @Watch(\"backBreadcrumbOnly\")\n watchBackBreadcrumbHandler(): void {\n this.setBackBreadcrumb();\n }\n\n /**\n * If `true`, all breadcrumbs between the first and last breadcrumb will be collapsed.\n */\n @Prop() collapsed: boolean = false;\n @Watch(\"collapsed\")\n watchCollapsedHandler(): void {\n this.setCollapsed();\n }\n\n /**\n * If `true`, the breadcrumb group will display as black in the light theme, and white in the dark theme.\n */\n @Prop() monochrome?: boolean = false;\n @Watch(\"monochrome\")\n watchMonochromeHandler(): void {\n this.setBreadcrumbMonochrome();\n }\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 @Watch(\"theme\")\n watchThemeHandler(): void {\n this.setBreadcrumbTheme();\n }\n\n componentWillLoad(): void {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n\n this.setBreadcrumbTheme();\n this.setBreadcrumbMonochrome();\n\n if (this.backBreadcrumbOnly) {\n this.setBackBreadcrumb();\n } else {\n checkResizeObserver(this.runResizeObserver);\n }\n\n if (this.collapsed && allBreadcrumbs.length > 2) {\n if (getCurrentDeviceSize() === DEVICE_SIZES.S) {\n this.setLastParentCollapsedBackBreadcrumb();\n } else {\n this.setCollapsed();\n }\n }\n }\n\n disconnectedCallback(): void {\n this.breadcrumb &&\n this.breadcrumb.removeEventListener(\n \"transitionend\",\n this.transitionendHandler\n );\n\n this.collapsedBreadcrumbEl &&\n this.collapsedBreadcrumbEl.removeEventListener(\n \"click\",\n this.clickHandler\n );\n }\n\n private setBreadcrumbTheme = () => {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n\n allBreadcrumbs.forEach((breadcrumb: HTMLIcBreadcrumbElement) => {\n breadcrumb.theme = this.theme;\n });\n };\n\n private setBreadcrumbMonochrome = () => {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n\n allBreadcrumbs.forEach((breadcrumb: HTMLIcBreadcrumbElement) => {\n breadcrumb.monochrome = this.monochrome;\n });\n };\n\n private setBackBreadcrumb = () => {\n if (this.backBreadcrumbOnly) {\n this.setLastParentCollapsedBackBreadcrumb();\n } else {\n this.revertLastParentCollapsedBreadcrumb();\n }\n };\n\n private setBackBreadcrumbAttr = () => {\n if (this.lastParentBreadcrumb) {\n this.lastParentBreadcrumb.classList.add(\"show\");\n this.lastParentBreadcrumb.setAttribute(this.SHOW_BACK_ICON, \"true\");\n }\n };\n\n private getLastParentBreadcrumb = (): HTMLIcBreadcrumbElement | null => {\n const allBreadcrumbs: HTMLIcBreadcrumbElement[] = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n\n if (allBreadcrumbs.length === 1) {\n return null;\n }\n\n this.breadcrumbs = allBreadcrumbs;\n this.breadcrumb = this.breadcrumbs[this.breadcrumbs.length - 2];\n\n return this.breadcrumb;\n };\n\n private lastParentBreadcrumb = this.getLastParentBreadcrumb();\n\n private setDefaultBreadcrumbs = () => {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n allBreadcrumbs.forEach((breadcrumb) => {\n breadcrumb.setAttribute(this.SHOW_BACK_ICON, \"false\");\n });\n };\n\n private setCollapsed = () => {\n const allBreadcrumbs: HTMLIcBreadcrumbElement[] = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n const firstBreadcrumb = allBreadcrumbs[0];\n if (this.collapsedBreadcrumbs) {\n this.collapsedBreadcrumbs.forEach((breadcrumb) => {\n breadcrumb.classList.remove(\"visuallyhidden\");\n breadcrumb.classList.remove(\"fade\");\n });\n }\n\n if (this.collapsed) {\n this.renderCollapsedBreadcrumb();\n\n this.collapsedBreadcrumbs = allBreadcrumbs\n .splice(1, allBreadcrumbs.length - 2)\n .filter(\n (breadcrumb) =>\n !breadcrumb.classList.contains(\"collapsed-breadcrumb-wrapper\")\n );\n if (!this.backBreadcrumbOnly) {\n this.collapsedBreadcrumbs.forEach((breadcrumb) =>\n breadcrumb.classList.add(\"hide\")\n );\n }\n\n if (firstBreadcrumb) {\n firstBreadcrumb.insertAdjacentElement(\n \"afterend\",\n this.collapsedBreadcrumbWrapper\n );\n }\n } else {\n this.collapsedBreadcrumbWrapper.remove();\n }\n };\n\n private clickHandler = () => {\n this.handleHiddenCollapsedBreadcrumbs();\n };\n\n private renderCollapsedBreadcrumb = () => {\n this.collapsedBreadcrumbWrapper = document.createElement(\"ic-breadcrumb\");\n this.collapsedBreadcrumbWrapper.classList.add(\n \"collapsed-breadcrumb-wrapper\"\n );\n this.collapsedBreadcrumbEl = document.createElement(\"button\");\n\n const ariaLabel = document.createElement(\"span\");\n ariaLabel.id = \"collapsed-button-label\";\n ariaLabel.innerText = \"Collapsed breadcrumbs\";\n ariaLabel.className = \"hide\";\n this.collapsedBreadcrumbEl.setAttribute(\n \"aria-labelledby\",\n \"collapsed-button-label\"\n );\n\n const ariaDescribed = document.createElement(\"span\");\n ariaDescribed.id = \"collapsed-button-described\";\n ariaDescribed.innerText = \"Select to view collapsed breadcrumbs\";\n ariaDescribed.className = \"hide\";\n this.collapsedBreadcrumbEl.setAttribute(\n \"aria-describedby\",\n \"collapsed-button-described\"\n );\n\n this.collapsedBreadcrumbEl.id = \"collapsed-ellipsis\";\n this.collapsedBreadcrumbEl.innerText = \"...\";\n this.collapsedBreadcrumbEl.classList.add(\"collapsed-breadcrumb\");\n this.collapsedBreadcrumbEl.addEventListener(\"click\", this.clickHandler);\n\n this.collapsedBreadcrumbWrapper.append(ariaDescribed);\n this.collapsedBreadcrumbWrapper.append(ariaLabel);\n this.collapsedBreadcrumbWrapper.append(this.collapsedBreadcrumbEl);\n\n return this.collapsedBreadcrumbWrapper;\n };\n\n private handleHiddenCollapsedBreadcrumbs = () => {\n this.collapsedBreadcrumbWrapper.remove();\n this.collapsedBreadcrumbs.forEach((breadcrumb) => {\n breadcrumb.classList.add(\"visuallyhidden\");\n breadcrumb.classList.remove(\"hide\");\n setTimeout(() => {\n breadcrumb.classList.add(\"fade\");\n }, this.ADD_CLASS_DELAY);\n\n this.removeVisuallyHiddenClass(breadcrumb);\n });\n this.expandedBreadcrumbs = true;\n // Set focus to first unhidden breadcrumb\n this.collapsedBreadcrumbs[0].setFocus();\n };\n\n private transitionendHandler = (event: TransitionEvent) => {\n if (event.propertyName === \"opacity\") {\n (event.target as HTMLElement).classList.remove(\"visuallyhidden\");\n }\n };\n\n private removeVisuallyHiddenClass = (breadcrumb: HTMLIcBreadcrumbElement) => {\n breadcrumb.addEventListener(\"transitionend\", this.transitionendHandler);\n };\n\n private setLastParentCollapsedBackBreadcrumb = () => {\n this.lastParentBreadcrumb = this.getLastParentBreadcrumb();\n this.setBackBreadcrumbAttr();\n if (this.lastParentBreadcrumb) {\n this.lastParentBreadcrumb.classList.remove(\"hide\");\n this.lastParentBreadcrumb.classList.add(\"show\");\n }\n };\n\n private revertLastParentCollapsedBreadcrumb = () => {\n this.lastParentBreadcrumb.setAttribute(this.SHOW_BACK_ICON, \"false\");\n if (this.collapsed) {\n this.lastParentBreadcrumb.classList.add(\"hide\");\n }\n };\n\n private resizeObserverCallback = (currSize: number) => {\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n\n if (this.deviceSize <= DEVICE_SIZES.S) {\n this.el.setAttribute(\"back-breadcrumb-only\", \"true\");\n if (this.collapsed) {\n this.setLastParentCollapsedBackBreadcrumb();\n } else {\n this.setBackBreadcrumb();\n }\n } else {\n this.el.setAttribute(\"back-breadcrumb-only\", \"false\");\n if (this.collapsed && this.breadcrumbs && this.breadcrumbs.length > 2) {\n this.revertLastParentCollapsedBreadcrumb();\n if (this.expandedBreadcrumbs) {\n this.setDefaultBreadcrumbs();\n } else {\n this.setCollapsed();\n }\n } else {\n this.setDefaultBreadcrumbs();\n }\n }\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = getCurrentDeviceSize();\n this.resizeObserverCallback(currSize);\n });\n\n this.resizeObserver.observe(this.el);\n };\n\n render() {\n return (\n <Host\n class={{\n \"ic-breadcrumb-group-back\": this.backBreadcrumbOnly,\n \"ic-breadcrumb-group-collapsed\": this.collapsed,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n >\n <nav aria-label=\"breadcrumbs\">\n <ol>\n <slot />\n </ol>\n </nav>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as e,c as i,h as c,H as t,g as a}from"./p-6b5e91e2.js";import{r as o,j as r,b as n,k as s,d,l,m as h,i as b}from"./p-932f3e3c.js";const m='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host(.ic-checkbox-disabled){pointer-events:none}.container{display:flex;width:-moz-fit-content;width:fit-content;padding:var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);margin-bottom:var(--ic-space-xxs);align-items:center}:host(.ic-checkbox-small) .container{margin-bottom:var(--ic-space-xxxs)}.checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;position:relative;top:0;left:0;height:var(--ic-space-lg);width:var(--ic-space-lg);background-color:var(--ic-checkbox-background-unselected);border:var(--ic-border-width) solid var(--ic-checkbox-border-unselected);border-radius:var(--ic-border-radius);outline:none;cursor:pointer;transition:var(--ic-easing-transition-fast);flex-shrink:0}:host .container svg{width:var(--ic-space-lg);height:var(--ic-space-lg)}:host(.ic-checkbox-small) .checkbox,:host(.ic-checkbox-small) .container svg{width:var(--ic-space-md);height:var(--ic-space-md)}:host(.ic-checkbox-large) .checkbox,:host(.ic-checkbox-large) .container svg{width:var(--ic-space-xl);height:var(--ic-space-xl)}.checkbox:checked{background-color:var(--ic-checkbox-background-selected);border:var(--ic-border-width) solid var(--ic-checkbox-background-selected);transition:var(--ic-easing-transition-slow)}.checkbox:checked:disabled{background-color:var(--ic-checkbox-background-selected-disabled);border:var(--ic-border-width) solid\n var(--ic-checkbox-background-selected-disabled)}.checkbox:indeterminate,.checkbox.indeterminate:checked{background-color:var(--ic-checkbox-background-indeterminate);border:0.125rem solid var(--ic-checkbox-background-indeterminate)}.checkbox:indeterminate:disabled,.checkbox.indeterminate:checked:disabled{background-color:var(--ic-checkbox-background-indeterminate-disabled);border:0.125rem solid var(--ic-checkbox-background-indeterminate-disabled)}.checkbox:checked:hover{background-color:var(--ic-checkbox-background-selected-hover)}.checkbox:indeterminate:hover,.checkbox.indeterminate:checked:hover{background-color:var(--ic-checkbox-background-indeterminate-hover);border:0.125rem solid var(--ic-checkbox-background-indeterminate-hover)}.checkbox:checked:active{background-color:var(--ic-checkbox-background-selected-pressed)}.checkbox:indeterminate:active,.checkbox.indeterminate:checked:active{background-color:var(--ic-checkbox-background-indeterminate-pressed);border:0.125rem solid var(--ic-checkbox-background-indeterminate-pressed)}.checkbox:hover{box-shadow:0 0 0 0.25rem var(--ic-checkbox-action-background-hover);border:var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-hover)}.checkbox:active{box-shadow:0 0 0 0.25rem var(--ic-checkbox-action-background-pressed);border:var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-pressed)}.checkbox:focus{box-shadow:var(--ic-border-focus)}.checkbox:disabled{border:var(--ic-border-width) dashed\n var(--ic-checkbox-border-unselected-disabled)}.checkbox-label{padding-left:var(--ic-space-sm);color:var(--ic-checkbox-text);--ic-typography-color:var(--ic-checkbox-text)}:host(.ic-checkbox-disabled) .checkbox-label{color:var(--ic-checkbox-text-disabled);--ic-typography-color:var(--ic-checkbox-text-disabled)}.checkbox-label:hover{cursor:pointer}.checkmark{position:relative;right:calc(-1 * var(--ic-space-lg));margin-left:calc(-1 * var(--ic-space-lg));fill:var(--ic-checkbox-icon-pressed);z-index:1;background-color:transparent;pointer-events:none;flex-shrink:0}:host(.ic-checkbox-small) .checkmark{margin-left:calc(-1 * var(--ic-space-md));right:calc(-1 * var(--ic-space-md))}:host(.ic-checkbox-large) .checkmark{margin-left:calc(-1 * var(--ic-space-xl));right:calc(-1 * var(--ic-space-xl))}.indeterminate-symbol{position:relative;width:0.875rem;height:var(--ic-space-xxxs);right:-1.188rem;margin-left:-0.875rem;z-index:1;background-color:var(--ic-checkbox-icon-indeterminate);pointer-events:none;flex-shrink:0}:host(.ic-checkbox-small) .indeterminate-symbol{width:0.6rem;right:-0.8rem;margin-left:-0.6rem}:host(.ic-checkbox-large) .indeterminate-symbol{width:1.25rem;right:-1.625rem;margin-left:-1.25rem}.additional-field-wrapper{margin-left:calc(var(--ic-space-md) + var(--ic-space-lg));margin-top:calc(var(--ic-space-sm) / 2)}.branch-corner{height:var(--ic-space-md);width:var(--ic-space-xl);border-radius:0 0 0 0.188rem;border-bottom:0.125rem solid var(--ic-checkbox-required-bar);border-left:0.125rem solid var(--ic-checkbox-required-bar)}.dynamic-container{display:flex;position:relative;margin:var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);gap:var(--ic-space-xs)}.dynamic-text{color:var(--ic-checkbox-required-text);--ic-typography-color:var(--ic-checkbox-required-text);margin-top:calc(var(--ic-space-sm) / 2);margin-bottom:var(--ic-space-xs);border-radius:2%}@media (max-width: 576px){::slotted(ic-text-field){--input-width:100%}}@media (forced-colors: active){.checkbox{-webkit-appearance:revert;-moz-appearance:revert;appearance:revert;transition:none}.checkbox:checked{transition:none}.checkbox:focus-visible{outline:0.125rem solid highlight}.checkbox:disabled:not(:checked){-webkit-appearance:none;-moz-appearance:none;appearance:none;border-color:GrayText}.checkmark{fill:none}.indeterminate-symbol{display:none}}';const p=class{constructor(c){e(this,c);this.icCheck=i(this,"icCheck",7);this.handleClick=()=>{this.checked=!this.checked;this.displayIndeterminate=this.nativeIndeterminateBehaviour?false:this.indeterminate&&this.checked;this.icCheck.emit()};this.handleFormReset=()=>{this.checked=this.initiallyChecked};this.additionalFieldDisplay="static";this.checked=false;this.initiallyChecked=this.checked;this.disabled=false;this.dynamicText="This selection requires additional answers";this.form=undefined;this.groupLabel=undefined;this.indeterminate=false;this.displayIndeterminate=this.indeterminate;this.label=undefined;this.name=undefined;this.nativeIndeterminateBehaviour=false;this.size=undefined;this.theme="inherit";this.value=undefined;this.hideLabel=false}watchDisabledHandler(){o(this.disabled,this.el)}watchIndeterminateHandler(){this.displayIndeterminate=this.nativeIndeterminateBehaviour?this.indeterminate:this.indeterminate&&this.checked}componentWillLoad(){o(this.disabled,this.el);r(this.el,this.handleFormReset);const e=this.el.parentElement;if(e){if(!this.name)this.name=e.name;this.groupLabel=e.label}}componentDidLoad(){n([{prop:this.label,propName:"label"},{prop:this.value,propName:"value"}],"Checkbox")}componentDidRender(){if(this.additionalFieldDisplay==="static"){const e=this.el.querySelector("ic-text-field");if(!this.checked){e===null||e===void 0?void 0:e.setAttribute("disabled","")}else{e===null||e===void 0?void 0:e.removeAttribute("disabled")}}else if(this.additionalFieldContainer){this.additionalFieldContainer.style.display=!this.checked?"none":"flex"}}disconnectedCallback(){s(this.el,this.handleFormReset)}async setFocus(){var e;(e=this.el.shadowRoot.querySelector(".checkbox"))===null||e===void 0?void 0:e.focus()}render(){const{additionalFieldDisplay:e,checked:i,disabled:a,dynamicText:o,el:r,form:n,displayIndeterminate:s,groupLabel:m,label:p,name:k,size:x,value:u,theme:v}=this;const g=`ic-checkbox-${d(p)||u}-${m}`.replace(/ /g,"-");const f=r.parentElement.size;i?l(true,r,k,i&&u,a):h(r);return c(t,{class:{"ic-checkbox-disabled":a,[`ic-checkbox-${x||f}`]:true,[`ic-theme-${v}`]:v!=="inherit"}},c("div",{class:"container"},s&&c("div",{class:"indeterminate-symbol"}),!s&&i&&c("svg",{class:"checkmark",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","fill-rule":"evenodd","clip-rule":"evenodd"},c("title",null,"checkmark icon"),c("path",{d:"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z"})),c("input",{role:"checkbox",class:{checkbox:true,checked:i,indeterminate:s},type:"checkbox",name:k,id:g,value:u,disabled:a?true:null,checked:i,indeterminate:s,onClick:this.handleClick,form:n,"aria-label":this.hideLabel?this.label:undefined}),!this.hideLabel&&c("ic-typography",{class:"checkbox-label",variant:"body"},c("label",{htmlFor:g},p))),b(r,"additional-field")&&c("div",{class:"dynamic-container",ref:e=>this.additionalFieldContainer=e},e==="dynamic"&&c("div",{class:"branch-corner"}),c("div",null,e==="dynamic"&&c("ic-typography",{variant:"caption"},c("p",{class:"dynamic-text","aria-live":"polite"},o)),c("div",{class:{"additional-field-wrapper":e==="static"}},c("slot",{name:"additional-field"})))))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{disabled:["watchDisabledHandler"],indeterminate:["watchIndeterminateHandler"]}}};p.style=m;export{p as ic_checkbox};
2
- //# sourceMappingURL=p-7fa74998.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icCheckboxCss","Checkbox","this","handleClick","checked","displayIndeterminate","nativeIndeterminateBehaviour","indeterminate","icCheck","emit","handleFormReset","initiallyChecked","watchDisabledHandler","removeDisabledFalse","disabled","el","watchIndeterminateHandler","componentWillLoad","addFormResetListener","checkboxGroup","parentElement","name","groupLabel","label","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","value","componentDidRender","additionalFieldDisplay","textfield","querySelector","setAttribute","removeAttribute","additionalFieldContainer","style","display","disconnectedCallback","removeFormResetListener","setFocus","_a","shadowRoot","focus","render","dynamicText","form","size","theme","id","isPropDefined","replace","parentElementSize","renderHiddenInput","removeHiddenInput","h","Host","class","viewBox","xmlns","d","role","checkbox","type","onClick","hideLabel","undefined","variant","htmlFor","isSlotUsed","ref"],"sources":["src/components/ic-checkbox/ic-checkbox.css?tag=ic-checkbox&encapsulation=shadow","src/components/ic-checkbox/ic-checkbox.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host(.ic-checkbox-disabled) {\n pointer-events: none;\n}\n\n.container {\n display: flex;\n width: fit-content;\n padding: var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);\n margin-bottom: var(--ic-space-xxs);\n align-items: center;\n}\n\n:host(.ic-checkbox-small) .container {\n margin-bottom: var(--ic-space-xxxs);\n}\n\n.checkbox {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n display: block;\n position: relative;\n top: 0;\n left: 0;\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n background-color: var(--ic-checkbox-background-unselected);\n border: var(--ic-border-width) solid var(--ic-checkbox-border-unselected);\n border-radius: var(--ic-border-radius);\n outline: none;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n flex-shrink: 0;\n}\n\n:host .container svg {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.ic-checkbox-small) .checkbox,\n:host(.ic-checkbox-small) .container svg {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n}\n\n:host(.ic-checkbox-large) .checkbox,\n:host(.ic-checkbox-large) .container svg {\n width: var(--ic-space-xl);\n height: var(--ic-space-xl);\n}\n\n.checkbox:checked {\n background-color: var(--ic-checkbox-background-selected);\n border: var(--ic-border-width) solid var(--ic-checkbox-background-selected);\n transition: var(--ic-easing-transition-slow);\n}\n\n.checkbox:checked:disabled {\n background-color: var(--ic-checkbox-background-selected-disabled);\n border: var(--ic-border-width) solid\n var(--ic-checkbox-background-selected-disabled);\n}\n\n.checkbox:indeterminate,\n.checkbox.indeterminate:checked {\n background-color: var(--ic-checkbox-background-indeterminate);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate);\n}\n\n.checkbox:indeterminate:disabled,\n.checkbox.indeterminate:checked:disabled {\n background-color: var(--ic-checkbox-background-indeterminate-disabled);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate-disabled);\n}\n\n.checkbox:checked:hover {\n background-color: var(--ic-checkbox-background-selected-hover);\n}\n\n.checkbox:indeterminate:hover,\n.checkbox.indeterminate:checked:hover {\n background-color: var(--ic-checkbox-background-indeterminate-hover);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate-hover);\n}\n\n.checkbox:checked:active {\n background-color: var(--ic-checkbox-background-selected-pressed);\n}\n\n.checkbox:indeterminate:active,\n.checkbox.indeterminate:checked:active {\n background-color: var(--ic-checkbox-background-indeterminate-pressed);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate-pressed);\n}\n\n.checkbox:hover {\n box-shadow: 0 0 0 0.25rem var(--ic-checkbox-action-background-hover);\n border: var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-hover);\n}\n\n.checkbox:active {\n box-shadow: 0 0 0 0.25rem var(--ic-checkbox-action-background-pressed);\n border: var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-pressed);\n}\n\n.checkbox:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.checkbox:disabled {\n border: var(--ic-border-width) dashed\n var(--ic-checkbox-border-unselected-disabled);\n}\n\n.checkbox-label {\n padding-left: var(--ic-space-sm);\n color: var(--ic-checkbox-text);\n --ic-typography-color: var(--ic-checkbox-text);\n}\n\n:host(.ic-checkbox-disabled) .checkbox-label {\n color: var(--ic-checkbox-text-disabled);\n --ic-typography-color: var(--ic-checkbox-text-disabled);\n}\n\n.checkbox-label:hover {\n cursor: pointer;\n}\n\n.checkmark {\n position: relative;\n right: calc(-1 * var(--ic-space-lg));\n margin-left: calc(-1 * var(--ic-space-lg));\n fill: var(--ic-checkbox-icon-pressed);\n z-index: 1;\n background-color: transparent;\n pointer-events: none;\n flex-shrink: 0;\n}\n\n:host(.ic-checkbox-small) .checkmark {\n margin-left: calc(-1 * var(--ic-space-md));\n right: calc(-1 * var(--ic-space-md));\n}\n\n:host(.ic-checkbox-large) .checkmark {\n margin-left: calc(-1 * var(--ic-space-xl));\n right: calc(-1 * var(--ic-space-xl));\n}\n\n.indeterminate-symbol {\n position: relative;\n width: 0.875rem;\n height: var(--ic-space-xxxs);\n right: -1.188rem;\n margin-left: -0.875rem;\n z-index: 1;\n background-color: var(--ic-checkbox-icon-indeterminate);\n pointer-events: none;\n flex-shrink: 0;\n}\n\n:host(.ic-checkbox-small) .indeterminate-symbol {\n width: 0.6rem;\n right: -0.8rem;\n margin-left: -0.6rem;\n}\n\n:host(.ic-checkbox-large) .indeterminate-symbol {\n width: 1.25rem;\n right: -1.625rem;\n margin-left: -1.25rem;\n}\n\n.additional-field-wrapper {\n margin-left: calc(var(--ic-space-md) + var(--ic-space-lg));\n margin-top: calc(var(--ic-space-sm) / 2);\n}\n\n.branch-corner {\n height: var(--ic-space-md);\n width: var(--ic-space-xl);\n border-radius: 0 0 0 0.188rem;\n border-bottom: 0.125rem solid var(--ic-checkbox-required-bar);\n border-left: 0.125rem solid var(--ic-checkbox-required-bar);\n}\n\n.dynamic-container {\n display: flex;\n position: relative;\n margin: var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);\n gap: var(--ic-space-xs);\n}\n\n.dynamic-text {\n color: var(--ic-checkbox-required-text);\n\n --ic-typography-color: var(--ic-checkbox-required-text);\n\n margin-top: calc(var(--ic-space-sm) / 2);\n margin-bottom: var(--ic-space-xs);\n border-radius: 2%;\n}\n\n@media (max-width: 576px) {\n ::slotted(ic-text-field) {\n --input-width: 100%;\n }\n}\n\n@media (forced-colors: active) {\n /* Styles here only apply to Forced Colors Mode */\n .checkbox {\n appearance: revert;\n transition: none;\n }\n\n .checkbox:checked {\n transition: none;\n }\n\n .checkbox:focus-visible {\n outline: 0.125rem solid highlight;\n }\n\n .checkbox:disabled:not(:checked) {\n appearance: none;\n border-color: GrayText;\n }\n\n .checkmark {\n fill: none;\n }\n\n .indeterminate-symbol {\n display: none;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport {\n IcAdditionalFieldTypes,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n removeHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n isPropDefined,\n} from \"../../utils/helpers\";\n\n/**\n * @slot additional-field - Content to be displayed alongside a checkbox.\n */\n@Component({\n tag: \"ic-checkbox\",\n styleUrl: \"ic-checkbox.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Checkbox {\n private additionalFieldContainer: HTMLDivElement;\n\n @Element() el: HTMLIcCheckboxElement;\n\n /**\n * The style of additionalField that will be displayed if used.\n */\n @Prop({ reflect: true }) additionalFieldDisplay: IcAdditionalFieldTypes =\n \"static\";\n\n /**\n * If `true`, the checkbox will be set to the checked state. This is only the initial state and will be updated to unchecked if the checkbox is clicked.\n */\n @Prop({ reflect: true, mutable: true }) checked?: boolean = false;\n @State() initiallyChecked = this.checked;\n\n /**\n * If `true`, the checkbox will be set to the disabled state.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The text to be displayed when dynamic.\n */\n\n @Prop() dynamicText: string = \"This selection requires additional answers\";\n\n /**\n * The <form> element to associate the checkbox with.\n */\n @Prop() form?: string;\n\n /**\n * The group label for the checkbox.\n */\n @Prop({ mutable: true }) groupLabel: string;\n\n /**\n * If `true`, the indeterminate state will be displayed when checked.\n */\n @Prop() indeterminate: boolean = false;\n @State() displayIndeterminate = this.indeterminate;\n\n @Watch(\"indeterminate\")\n watchIndeterminateHandler(): void {\n this.displayIndeterminate = this.nativeIndeterminateBehaviour\n ? this.indeterminate\n : this.indeterminate && this.checked;\n }\n\n /**\n * The label for the checkbox.\n */\n @Prop() label!: string;\n\n /**\n * The name for the checkbox. If not set when used in a checkbox group, the name will be based on the group name.\n */\n @Prop({ mutable: true }) name: string;\n\n /**\n * If `true`, the checkbox will behave like a native checkbox where the `indeterminate` prop sets the indeterminate visual styling, independent of the `checked` state.\n */\n @Prop() nativeIndeterminateBehaviour: boolean = false;\n\n /**\n * The size of the checkbox to be displayed. This does not affect the font size of the label. If a checkbox is contained in a checkbox group, this will override the size set on checkbox group.\n */\n @Prop() size?: IcSizes;\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 value for the checkbox.\n */\n @Prop() value!: string;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel = false;\n\n /**\n * Emitted when a checkbox has been checked.\n */\n @Event() icCheck: EventEmitter<void>;\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n\n addFormResetListener(this.el, this.handleFormReset);\n\n const checkboxGroup = this.el.parentElement as HTMLIcCheckboxGroupElement;\n if (checkboxGroup) {\n if (!this.name) this.name = checkboxGroup.name;\n this.groupLabel = checkboxGroup.label;\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.value, propName: \"value\" },\n ],\n \"Checkbox\"\n );\n }\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n const textfield = this.el.querySelector(\"ic-text-field\");\n if (!this.checked) {\n textfield?.setAttribute(\"disabled\", \"\");\n } else {\n textfield?.removeAttribute(\"disabled\");\n }\n } else if (this.additionalFieldContainer) {\n this.additionalFieldContainer.style.display = !this.checked\n ? \"none\"\n : \"flex\";\n }\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n /**\n * Sets focus on the checkbox.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.el.shadowRoot.querySelector<HTMLElement>(\".checkbox\")?.focus();\n }\n\n private handleClick = () => {\n this.checked = !this.checked;\n this.displayIndeterminate = this.nativeIndeterminateBehaviour\n ? false\n : this.indeterminate && this.checked;\n this.icCheck.emit();\n };\n\n private handleFormReset = (): void => {\n this.checked = this.initiallyChecked;\n };\n\n render() {\n const {\n additionalFieldDisplay,\n checked,\n disabled,\n dynamicText,\n el,\n form,\n displayIndeterminate,\n groupLabel,\n label,\n name,\n size,\n value,\n theme,\n } = this;\n\n const id = `ic-checkbox-${\n isPropDefined(label) || value\n }-${groupLabel}`.replace(/ /g, \"-\");\n\n const parentElementSize = (el.parentElement as HTMLIcCheckboxGroupElement)\n .size;\n\n checked\n ? renderHiddenInput(true, el, name, checked && value, disabled)\n : removeHiddenInput(el);\n\n return (\n <Host\n class={{\n \"ic-checkbox-disabled\": disabled,\n [`ic-checkbox-${size || parentElementSize}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div class=\"container\">\n {displayIndeterminate && <div class=\"indeterminate-symbol\" />}\n {!displayIndeterminate && checked && (\n <svg\n class=\"checkmark\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n >\n <title>checkmark icon</title>\n <path d=\"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z\" />\n </svg>\n )}\n <input\n role=\"checkbox\"\n class={{\n checkbox: true,\n checked,\n indeterminate: displayIndeterminate,\n }}\n type=\"checkbox\"\n name={name}\n id={id}\n value={value}\n disabled={disabled ? true : null}\n checked={checked}\n indeterminate={displayIndeterminate}\n onClick={this.handleClick}\n form={form}\n aria-label={this.hideLabel ? this.label : undefined}\n ></input>\n {!this.hideLabel && (\n <ic-typography class=\"checkbox-label\" variant=\"body\">\n <label htmlFor={id}>{label}</label>\n </ic-typography>\n )}\n </div>\n {isSlotUsed(el, \"additional-field\") && (\n <div\n class=\"dynamic-container\"\n ref={(el) => (this.additionalFieldContainer = el)}\n >\n {additionalFieldDisplay === \"dynamic\" && (\n <div class=\"branch-corner\"></div>\n )}\n <div>\n {additionalFieldDisplay === \"dynamic\" && (\n <ic-typography variant=\"caption\">\n <p class=\"dynamic-text\" aria-live=\"polite\">\n {dynamicText}\n </p>\n </ic-typography>\n )}\n <div\n class={{\n \"additional-field-wrapper\":\n additionalFieldDisplay === \"static\",\n }}\n >\n <slot name=\"additional-field\"></slot>\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as i,c as t,h as a,H as s,g as e}from"./p-6b5e91e2.js";import{c as n}from"./p-f074ef5b.js";import{C as o}from"./p-3b185c32.js";import{y as r,D as l,i as d,K as p,e as c,g as h,f as v,b as g,u as m,I as b,d as u}from"./p-932f3e3c.js";const y=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">\n <path d="M0 0h24v24H0V0z" fill="none" />\n <path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" />\n <title>menu icon</title>\n</svg>\n`;const x=':host{display:block;--ic-typography-color:currentcolor;--side-navigation-position:fixed;--side-navigation-position-left:0;--side-navigation-position-top:var(--ic-space-xxl);--side-navigation-height:var(--ic-space-xxl);--sm-side-navigation-top-bar-height:3.5rem;--sm-side-navigation-collapsed-labels-width:6rem;--sm-side-navigation-expand-transition-duration:var(\n --ic-transition-duration-slow\n );--side-navigation-width:20rem;--sm-side-navigation-bottom-bar-height:3.5rem;--keyline-lighten:var(--ic-space-1px) solid var(--ic-side-navigation-keyline);--keyline-darken:var(--ic-space-1px) solid var(--ic-state-layer-darken-20);--ic-button-secondary-text-monochrome:var(--ic-brand-text-color);--ic-button-secondary-border-monochrome:var(--ic-brand-text-color);z-index:var(--ic-z-index-side-navigation)}:host>*{box-sizing:border-box}.side-navigation{display:flex;flex-direction:column;width:var(--side-navigation-width);color:var(--ic-side-navigation-text);position:var(--side-navigation-position);top:var(--side-navigation-position-top);left:calc(var(--side-navigation-width) * -1);bottom:0;background-color:var(--ic-side-navigation-background);z-index:var(--ic-z-index-side-navigation)}:host(.ic-side-navigation-inline) .side-navigation{position:absolute;height:100%}:host(.anchor-right) .side-navigation{right:calc(var(--side-navigation-width) * -1)}.classification-spacing{margin-bottom:var(--ic-space-lg)}.navigation-list{padding:0;margin:0;list-style:none}.side-navigation-inner{background-color:var(--ic-side-navigation-background);display:flex;flex-direction:column;flex:1 1 0;overflow:auto}:host(.ic-side-navigation-inline) .side-navigation-inner{flex:1}:host(.xs-menu-open) .side-navigation{transition:left var(--ic-easing-transition-slow);left:0}:host(:has(.xs-menu-open,.xs-menu-close)) ::slotted(ic-navigation-item){--navigation-item-side-nav-right:var(--ic-space-xl)}:host(.xs-menu-close) .side-navigation{left:calc(var(--side-navigation-width) * -1);transition:left var(--ic-easing-transition-slow)}:host(.xs-menu-close) .side-navigation>*{visibility:hidden}:host(.anchor-right.xs-menu-open) .side-navigation{right:0;left:auto}:host(.anchor-right.xs-menu-close) .side-navigation{right:calc(var(--side-navigation-width) * -1);left:auto;transition:right var(--ic-easing-transition-slow)}.bottom-wrapper{border-top:var(--keyline-lighten);bottom:0;left:0;z-index:2;box-shadow:-0.188rem -0.188rem 0.5rem rgb(0 0 0 / 20%);background-color:var(--ic-side-navigation-background);display:flex;flex-direction:column}:host(.ic-side-navigation-inline) .bottom-wrapper{position:sticky}:host(.ic-side-navigation-dark) .bottom-wrapper{border-top:var(--keyline-darken)}.top-bar{display:flex;flex-direction:row;align-items:center;min-height:var(--side-navigation-height);padding:var(--ic-space-xs);box-sizing:border-box;background-color:var(--ic-side-navigation-background);position:fixed;top:0;left:0;right:0;border-bottom:var(--keyline-lighten);box-shadow:var(--ic-elevation-overlay);z-index:2;overflow:hidden;visibility:visible}:host(.ic-side-navigation-inline) .top-bar{position:absolute}:host(.ic-side-navigation-dark) .top-bar{border-bottom:var(--keyline-darken)}.top-bar.dark a:focus{box-shadow:var(--ic-border-focus)}.app-title-wrapper{display:flex;margin-left:var(--ic-space-xs);border-left:var(--keyline-lighten);padding-left:var(--ic-space-xxs);color:var(--ic-side-navigation-text);align-items:center}:host(.ic-side-navigation-dark) .app-title-wrapper{border-left:var(--keyline-darken)}.app-title-wrapper ic-typography h1{margin:0}@media screen and (min-width: 340px){.app-title-wrapper ic-typography{margin-left:var(--ic-space-xs)}}:host .title-link{display:flex;align-items:center;transition:box-shadow var(--ic-easing-transition-fast),\n background-color var(--ic-easing-transition-fast);text-decoration:none;padding:var(--ic-space-xxs);color:var(--ic-side-navigation-text)}:host .title-link:visited,:host .title-link:active{color:var(--ic-side-navigation-text)}slot[name="app-title"]::slotted(a),slot[name="app-icon"]::slotted(a){color:var(--ic-side-navigation-text);outline:none;text-decoration:none;display:flex}slot[name="app-title"]::slotted(ic-typography),slot[name="app-title"]::slotted(a){margin-left:var(--ic-space-xs) !important}slot[name="app-title"]::slotted(a){font:var(--ic-font-subtitle-small)}@media screen and (min-width: 577px){:host(.sm-collapsed) slot[name="app-title"]::slotted(ic-typography),:host(.sm-collapsed) slot[name="app-title"]::slotted(a){position:absolute;left:-9999px;opacity:0;transition:opacity var(--ic-easing-transition-slow)}:host(.sm-expanded) slot[name="app-title"]::slotted(a){font:var(--ic-font-h3) !important;font-weight:var(--ic-font-weight-semibold) !important;margin-left:var(--ic-space-xs) !important}}:host .title-link:hover{border-radius:var(--ic-border-radius);background-color:var(--ic-side-navigation-hover)}:host .title-link:active{background-color:var(--ic-side-navigation-pressed)}:host .title-link:focus,:host .title-link:focus-within{border-radius:var(--ic-border-radius);box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline);background-color:transparent}:host .title-link ic-typography{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.app-title-wrapper ::slotted(svg){fill:var(--ic-side-navigation-text)}.app-icon-container{display:none}.button-label{display:flex;align-items:center}.mobile-top-bar-menu-icon{display:flex}.menu-button{width:6.5rem}.app-status-wrapper{inset:0 var(--ic-space-sm) 0 3.5rem;width:auto;display:flex;gap:var(--ic-space-xs);padding:var(--ic-space-sm) 0;justify-content:flex-end;align-items:flex-end;pointer-events:none;height:-moz-fit-content;height:fit-content;margin:0 var(--ic-space-xs)}.app-status-wrapper .app-version{display:flex;overflow-wrap:break-word;padding-bottom:var(--ic-space-xxs)}.app-status-wrapper .app-status{display:flex;border-radius:1rem;background-color:var(--ic-side-navigation-text);color:var(--ic-side-navigation-status-tag-text);padding:var(--ic-space-xxs) var(--ic-space-lg);min-width:1rem}.app-status-wrapper .app-status-text{overflow-wrap:break-word}:host(.ic-side-navigation-dark) .app-status-wrapper .app-status{--ic-typography-color:var(--ic-architectural-white)}.navigation-landmark-title{position:absolute;width:var(--ic-space-1px);height:var(--ic-space-1px);padding:0;margin:calc(-1 * var(--ic-space-1px));overflow:hidden}::slotted(ic-navigation-group){--navigation-group-height:2.75rem;--navigation-group-width:100%;--navigation-group-justify-content:space-between;--navigation-group-hover:var(--ic-side-navigation-hover);--navigation-group-text-hover:var(--ic-side-navigation-text);--navigation-item-child-height:3.5rem;--navigation-item-child-active:var(--ic-action-dark-bg-pressed);--navigation-item-child-color:var(--ic-side-navigation-text);--navigation-group-expand-toggle-padding:0.25rem}::slotted(ic-navigation-item),::slotted(ic-navigation-group){--navigation-item-justify-content:flex-start;--navigation-item-min-height:56px;--navigation-item-height:auto}.bottom-side-nav{position:relative;align-content:flex-end;min-height:var(--sm-side-navigation-top-bar-height)}.bottom-side-nav ic-divider{position:absolute;top:0}.primary-navigation{flex:1;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:none}.primary-navigation::-webkit-scrollbar{display:none}.primary-navigation,.secondary-navigation{overflow-x:hidden}.bottom-side-nav .menu-expand-button{position:absolute;display:none}.menu-visibility-visible{visibility:visible;width:100%}.app-title-show{min-width:15.5rem}:host(.side-display){display:flex;flex-direction:column;height:100vh;position:var(--side-navigation-position);left:0;top:0;bottom:0}:host(.side-display) .app-icon-container{height:40px;display:flex;align-items:center}:host(.side-display) .top-bar{--side-navigation-height:var(--sm-side-navigation-top-bar-height);position:relative;padding:0;box-shadow:-0.188rem 0.188rem 0.5rem rgb(0 0 0 / 20%)}:host(.ic-side-navigation-inline.side-display) .top-bar{position:sticky}:host(.anchor-right.side-display) .top-bar{box-shadow:0.188rem 0.188rem 0.5rem rgb(0 0 0 / 20%)}:host(.anchor-right.side-display) .bottom-wrapper{box-shadow:0.188rem -0.188rem 0.5rem rgb(0 0 0 / 20%)}:host(.side-display) .side-navigation,:host(.side-display) .top-bar{width:var(--sm-side-navigation-top-bar-height)}:host(.sm-collapsed.side-display){width:var(--sm-side-navigation-top-bar-height);transition:width var(--ic-easing-transition-slow)}:host(.sm-collapsed.collapsed-labels.side-display){width:var(--sm-side-navigation-collapsed-labels-width)}:host(.sm-expanded.side-display){width:var(--side-navigation-width);transition:width var(--ic-easing-transition-slow);box-shadow:var(--ic-elevation-overlay)}:host(.side-display) .side-navigation{--side-navigation-position-top:0;flex:1;position:relative;top:auto;left:auto;bottom:auto}:host(.ic-side-navigation-inline.side-display) .side-navigation{position:relative}:host(.anchor-right.side-display) .side-navigation{left:auto;right:0}:host(.side-display) .app-title-wrapper{margin-left:0;border-left:none;padding:var(--ic-space-xs) var(--ic-space-sm)}:host(.side-display) .app-title-wrapper ::slotted(svg){height:var(--ic-space-lg);width:var(--ic-space-lg)}:host(.side-display) .app-title-wrapper ic-typography{font-weight:var(--ic-font-weight-semibold)}:host(.sm-collapsed.side-display) .app-title-wrapper ic-typography{position:absolute;left:-9999px;opacity:0;transition:opacity var(--ic-easing-transition-slow)}:host(.sm-expanded.side-display) ic-typography{position:relative;left:0}:host(.sm-expanded.side-display) :is(.side-navigation,.top-bar){width:var(--side-navigation-width);transition:width var(--ic-easing-transition-slow)}:host(.sm-collapsed.side-display) :is(.side-navigation,.top-bar){width:var(--sm-side-navigation-top-bar-height);transition:width var(--ic-easing-transition-slow)}:host(.anchor-right.sm-expanded.side-display) :is(.side-navigation,.top-bar){left:auto;right:0}:host(.side-display) .app-status-wrapper,:host(.sm-collapsed.side-display) .app-status-wrapper{display:none;margin-left:0}:host(.sm-expanded.side-display) .app-status-wrapper{display:flex;max-width:16rem;margin-right:calc(var(--ic-space-xxxs) + var(--ic-space-xs))}:host(.side-display) .bottom-side-nav{justify-items:flex-end;align-items:flex-end;justify-content:flex-end;display:flex;outline:none}:host(.side-display) .bottom-side-nav .menu-expand-button{padding-left:var(--ic-space-md);height:var(--sm-side-navigation-top-bar-height);width:100%;color:var(--ic-side-navigation-text);background-color:transparent;outline:var(--ic-hc-focus-outline);border:none;cursor:pointer;display:flex;transition:var(--ic-easing-transition-fast)}:host(.sm-expanded.side-display) .bottom-side-nav .menu-expand-button{height:100%}:host(.side-display) .bottom-side-nav .menu-expand-button svg{justify-items:flex-start;align-self:center;display:inline-block;width:var(--ic-space-lg);height:var(--ic-space-lg)}:host(.side-display) .bottom-side-nav .menu-expand-button:hover{background-color:var(--ic-side-navigation-hover)}:host(.side-display) .bottom-side-nav .menu-expand-button:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);background-color:transparent}:host(.sm-collapsed.side-display) .bottom-side-nav .menu-expand-button svg{transform:scaleX(1);transition:transform var(--ic-easing-transition-slow)}:host(.sm-expanded.side-display) .bottom-side-nav .menu-expand-button svg{transform:scaleX(-1);transition:transform var(--ic-easing-transition-slow);align-self:flex-end;margin-bottom:0.875rem}:host(.anchor-right.sm-collapsed.side-display) .bottom-side-nav .menu-expand-button svg{transform:scaleX(-1)}:host(.anchor-right.sm-expanded.side-display) .bottom-side-nav .menu-expand-button svg{transform:scaleX(1)}:host(.sm-collapsed.side-display) ::slotted(ic-navigation-item){--navigation-item-label-opacity:1}:host(.sm-collapsed.side-display) ::slotted(ic-navigation-item),:host(.sm-collapsed.side-display) ::slotted(ic-navigation-group){--navigation-item-label-opacity:0;--navigation-item-min-height:3.5rem;--navigation-item-height:3.5rem}:host(.sm-expanded.side-display) ::slotted(ic-navigation-item),:host(.sm-expanded.side-display) ::slotted(ic-navigation-group){--navigation-item-label-opacity:1;--navigation-item-height:auto;--navigation-item-min-height:3.5rem;--navigation-item-width:20rem;--navigation-item-side-nav-right:var(--ic-space-xl)}:host(.sm-collapsed.side-display) ::slotted(ic-navigation-group){--navigation-group-title-position:absolute;--navigation-group-title-position-left:-9999px;--navigation-group-title-opacity:none}:host(.sm-expanded.side-display) ::slotted(ic-navigation-group){--navigation-group-title-position:relative;--navigation-group-title-position-left:0;--navigation-group-expand-toggle-padding:0.25rem;--navigation-group-title-opacity:flex}:host(.sm-collapsed.collapsed-labels.side-display) .side-navigation,:host(.sm-collapsed.collapsed-labels.side-display) .top-bar{width:var(--sm-side-navigation-collapsed-labels-width)}:host(.sm-collapsed.collapsed-labels.side-display) .menu-expand-button{padding:0}:host(.sm-collapsed.collapsed-labels.side-display) .app-title-wrapper{width:100%;justify-content:center}:host(.sm-collapsed.collapsed-labels.side-display) ::slotted(ic-navigation-group){--navigation-group-justify-content:center;--navigation-item-label-opacity:1;--navigation-group-item-min-width:100%;--navigation-group-expand-toggle-padding:1rem}:host(.collapsed-labels.side-display) .bottom-side-nav .menu-expand-button{justify-content:center}:host(.side-display) .collapsed-icon-labels-start{visibility:hidden;opacity:0}:host(.side-display) .collapsed-icon-labels-end{visibility:visible;opacity:1;transition:visibility 0s, opacity var(--ic-easing-transition-slow)}@media screen and (max-width: 419px){.top-bar{height:var(--side-navigation-height)}.side-navigation{width:100%}}@media screen and (min-width: 340px){.app-icon-container{display:flex}}@media screen and (min-width: 993px){:host(.side-display){position:sticky;left:auto;top:0;bottom:0}:host(.sm-expanded.side-display){box-shadow:none}}@media (forced-colors: active){.side-navigation,.top-bar{border-right:var(--ic-border-hc)}.menu-expand-button{color:Highlight !important}slot[name="app-icon"]::slotted(svg){fill:currentcolor}}';const f=class{constructor(s){i(this,s);this.icSideNavExpanded=t(this,"icSideNavExpanded",7);this.ANIMATION_DURATION=parseInt(r("--ic-transition-duration-slow"))||0;this.IC_NAVIGATION_ITEM="ic-navigation-item";this.resizeObserver=null;this.COLLAPSED_ICON_LABELS_END="collapsed-icon-labels-end";this.COLLAPSED_ICON_LABELS_START="collapsed-icon-labels-start";this.menuButton=null;this.emitSideNavigationExpanded=i=>{this.icSideNavExpanded.emit({sideNavExpanded:i.sideNavExpanded,sideNavMobile:i.sideNavMobile})};this.toggleMenu=()=>{this.menuOpen=!this.menuOpen;this.setMobileMenuAriaAttributes(this.menuOpen);this.arrangeSlottedNavigationItem(this.menuOpen);this.setToggleMenuFlyoutMenuVisibility(this.menuOpen);this.emitSideNavigationExpanded({sideNavExpanded:this.menuOpen,sideNavMobile:true})};this.setToggleMenuFlyoutMenuVisibility=i=>{const t=this.el.shadowRoot.querySelector("#side-navigation");const a=t.querySelector(".side-navigation-inner");const s=t.querySelector(".bottom-wrapper");const e="menu-visibility-visible";if(i){s.classList.add(e);a.classList.add(e)}else{setTimeout((()=>{a.classList.remove(e);s.classList.remove(e)}),this.ANIMATION_DURATION)}};this.setMobileMenuAriaAttributes=i=>{if(this.menuButton!==null){this.menuButton.setAttribute("aria-expanded",`${i}`);this.menuButton.setAttribute("aria-label",`${i?"Close":"Open"} navigation menu`)}};this.setAndRemoveNoWrapAfterMenuExpanded=()=>{const i=this.el.shadowRoot.querySelector(".title-link ic-typography")||this.el.querySelector("[slot='app-title']");i.classList.add("ic-typography-no-wrap");setTimeout((()=>{i.classList.remove("ic-typography-no-wrap")}),this.ANIMATION_DURATION)};this.toggleMenuExpanded=i=>{if(this.deviceSize>l.S){this.menuExpanded=i}if(this.menuExpanded){this.setAndRemoveNoWrapAfterMenuExpanded();this.el.shadowRoot.querySelector(".app-title-inner-wrapper").classList.add("app-title-show")}else{this.el.style.setProperty("--navigation-item-width","320px");this.el.shadowRoot.querySelector(".app-title-inner-wrapper").classList.remove("app-title-show");this.el.addEventListener("transitionend",(i=>{if(i.propertyName==="width"){this.el.style.setProperty("--navigation-item-width",null)}}))}this.arrangeSlottedNavigationItem(this.menuExpanded);this.displayTooltipWithExpandedLongLabel(this.menuExpanded);if(this.collapsedIconLabels){this.animateCollapsedIconLabels()}this.setExpandedButtonHeight();this.emitSideNavigationExpanded({sideNavExpanded:this.menuExpanded})};this.arrangeSlottedNavigationItem=i=>{const t=this.el.querySelectorAll("ic-navigation-item");t.forEach((t=>{const a=d(t,"navigation-item");const s=t.children[0]&&!t.children[0].getAttribute("slot");if(a||s){let s;if(a){s=t.querySelector("[slot='navigation-item']")}else{s=t.children[0]}const e=document.createElement("div");const n=s.querySelector("svg");const o=t.textContent.trim();const r=document.createElement("ic-typography");r.classList.add("ic-typography-label","hydrated","navigation-item-side-nav-slotted-text");e.style.height="var(--ic-space-lg)";e.append(n);s.textContent="";r.textContent=o;s.append(e);s.append(r);if(this.collapsedIconLabels){this.styleSlottedCollapsedIconLabels(i,r)}else{this.styleSlottedIconLabels(i,r)}}}))};this.styleSlottedCollapsedIconLabels=(i,t)=>{if(i){t.style.marginTop="0";t.style.whiteSpace="nowrap";t.style.overflow="hidden";t.style.textOverflow="ellipsis"}else{t.style.marginTop="10px";t.style.whiteSpace="nowrap";t.style.overflow="hidden";t.style.textOverflow="ellipsis"}};this.setExpandedButtonHeight=()=>{const i=this.el.shadowRoot.querySelector("#side-navigation > .bottom-wrapper > .bottom-side-nav > .app-status-wrapper");if(i.offsetHeight!==0){this.el.style.setProperty("--sm-side-navigation-bottom-bar-height",`${i.offsetHeight}px`)}};this.styleSlottedIconLabels=(i,t)=>{if(i){t.style.opacity="1";t.style.visibility="visible";t.style.transition="visibility 0s, opacity var(--ic-easing-transition-slow)"}else{t.style.opacity="0";t.style.visibility="hidden";t.style.transition="visibility 0s, opacity var(--ic-easing-transition-slow)"}};this.transitionHandler=i=>{const t=this.el.shadowRoot.querySelector(".primary-navigation");const a=this.el.shadowRoot.querySelector(".bottom-wrapper > .secondary-navigation");const s=i==="start"?this.COLLAPSED_ICON_LABELS_END:this.COLLAPSED_ICON_LABELS_START;const e=i==="start"?this.COLLAPSED_ICON_LABELS_START:this.COLLAPSED_ICON_LABELS_END;if(t){t.classList.remove(s);t.classList.add(e)}if(a){a.classList.remove(s);a.classList.add(e)}};this.transitionEndHandler=()=>{this.transitionHandler("end")};this.animateCollapsedIconLabels=()=>{this.transitionHandler("start");this.transitionEndHandler();this.el.addEventListener("transitionend",this.transitionEndHandler)};this.paddingIconWidth=i=>{const t=i[0].shadowRoot&&(i[0].shadowRoot.querySelector("ic-tooltip a")||i[0].shadowRoot.querySelector("ic-tooltip div"))||i[0].querySelector("a")||i[0].querySelector("div");const a=i[0].querySelector("svg");const s={gap:window.getComputedStyle(t).gap,iconWidth:window.getComputedStyle(a).width,paddingLeft:window.getComputedStyle(t).paddingLeft};return Object.values(s).reduce(((i,t)=>i+=parseInt(t)),0)};this.displayTooltipWithExpandedLongLabel=i=>{let t;if(i){t=setTimeout((()=>{const i=this.el.clientWidth;const t=Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));const a=t.length?this.paddingIconWidth(t):0;t.forEach((t=>{var s,e;const n=((s=t.shadowRoot&&t.shadowRoot.querySelector("ic-tooltip .link ic-typography.ic-typography-label"))===null||s===void 0?void 0:s.scrollWidth)||((e=t.querySelector("ic-typography.ic-typography-label"))===null||e===void 0?void 0:e.scrollWidth);if(n>i-a){t.setAttribute("display-navigation-tooltip","true")}}))}),this.ANIMATION_DURATION)}else{clearTimeout(t);const i=Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));i.forEach((i=>{i.setAttribute("display-navigation-tooltip","false")}))}};this.setMenuExpanded=i=>{this.menuExpanded=i};this.setParentPaddingTop=i=>{this.el.parentElement.style.setProperty("padding-top",i)};this.setParentPaddingLeft=i=>{this.el.parentElement.style.setProperty("padding-left",i)};this.renderAppTitle=i=>{const t=this.deviceSize<=l.S&&!p(this.shortAppTitle);return a("ic-typography",{variant:t||i?"subtitle-small":"h3","aria-label":t?`${this.appTitle} (${this.shortAppTitle})`:undefined},a("h1",null,t?this.shortAppTitle:this.appTitle))};this.resizeObserverCallback=i=>{var t;this.deviceSize=i;const a=i===l.S&&!this.disableTopBarBehaviour;if(!this.disableAutoParentStyling){const i=(t=this.el.shadowRoot.querySelector(".top-bar"))===null||t===void 0?void 0:t.scrollHeight;this.setParentPaddingTop(a?`${i}px`:"0");if(a)this.setParentPaddingLeft("0");if(a&&this.inline){this.el.parentElement.style.setProperty("height",`calc(100% - ${i}px)`)}else if(!a){this.el.parentElement.style.setProperty("height","100%")}}if(!this.disableAutoParentStyling){const t=`calc(var(--ic-space-xxl) ${this.collapsedIconLabels?"* 2":"+ var(--ic-space-xs)"})`;if(i>l.L){this.setParentPaddingTop("0");this.setParentPaddingLeft("0")}else if((i>l.S||this.disableTopBarBehaviour)&&i<=l.M&&this.static){this.setParentPaddingLeft(t)}else if((i>l.S||this.disableTopBarBehaviour)&&i<=l.L){this.setParentPaddingLeft(this.static&&this.menuExpanded?"calc(var(--ic-space-xl) * 10)":t)}}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{const i=c();this.deviceSizeAppTitle=i;this.resizeObserverCallback(i)}));this.resizeObserver.observe(document.body,{box:"content-box"})};this.setCollapsedIconLabels=()=>{const i=Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));i.forEach((i=>{i.setAttribute("collapsed-icon-label","true")}))};this.styleSlottedCollapsedIconLabel=()=>{const i=Array.from(this.el.querySelectorAll(".navigation-item-side-nav-slotted-text"));i.forEach((i=>{var t,a;if((a=(t=i===null||i===void 0?void 0:i.parentElement)===null||t===void 0?void 0:t.parentElement)===null||a===void 0?void 0:a.classList.contains("navigation-item-side-nav-collapsed-with-label")){i.style.whiteSpace="nowrap";i.style.overflow="hidden";i.style.textOverflow="ellipsis";i.style.marginTop="10px"}}))};this.renderTopBar=({isSDevice:i,foregroundColor:t,menuOpen:s,href:e,isAppNameSubtitleVariant:o})=>{const r=this.appTitle!==""&&u(this.appTitle);const l=d(this.el,"app-title")?"div":"a";const p=l=="a"&&{href:e};return a("div",{class:{"top-bar":true,[this.foregroundColor]:true}},i&&a("nav",{"aria-labelledby":"menu-navigation-toggle-button-landmark","aria-hidden":"false"},a("ic-button",{"aria-label":"Open navigation menu",class:"menu-button",id:"menu-button",variant:"secondary",size:"small","full-width":"true",theme:t=="default"||t=="light"?"light":"dark",monochrome:true,onClick:this.toggleMenu,ariaOwnsId:"side-navigation","aria-haspopup":"true","aria-expanded":"false",ref:i=>this.menuButton=i},a("span",{class:"mobile-top-bar-menu-icon",slot:"left-icon",innerHTML:s?n:y}),s?"Close":"Menu"),a("span",{id:"menu-navigation-toggle-button-landmark",class:"navigation-landmark-title","aria-hidden":"true"},"Navigation menu toggle button")),a("div",{class:"app-title-wrapper"},(r||d(this.el,"app-title"))&&a(l,Object.assign({},p,{class:"title-link"}),a("div",{class:"app-icon-container","aria-hidden":"true"},a("slot",{name:"app-icon"})),a("div",{class:"app-title-inner-wrapper"},d(this.el,"app-title")?a("slot",{name:"app-title"}):this.renderAppTitle(o)))))};this.deviceSize=c();this.deviceSizeAppTitle=l.S;this.foregroundColor=h();this.hasSecondaryNavigation=false;this.menuExpanded=false;this.menuOpen=false;this.appTitle=undefined;this.collapsedIconLabels=false;this.disableAutoParentStyling=false;this.disableTopBarBehaviour=false;this.expanded=false;this.href="/";this.inline=false;this.shortAppTitle="";this.static=false;this.status=undefined;this.version=undefined}watchExpandedHandler(){this.toggleMenuExpanded(this.expanded)}componentWillLoad(){this.setMenuExpanded(this.expanded);if(this.collapsedIconLabels){this.setCollapsedIconLabels()}this.hasSecondaryNavigation=d(this.el,"secondary-navigation")}componentDidLoad(){this.emitSideNavigationExpanded({sideNavExpanded:this.menuExpanded,sideNavMobile:this.deviceSize===l.S&&!this.disableTopBarBehaviour});v(this.runResizeObserver);this.styleSlottedCollapsedIconLabel();this.arrangeSlottedNavigationItem(this.menuExpanded);this.displayTooltipWithExpandedLongLabel(this.menuExpanded);this.setExpandedButtonHeight();!d(this.el,"app-title")&&g([{prop:this.appTitle,propName:"app-title"}],"Side Navigation")}disconnectedCallback(){var i;if(this.resizeObserver!==null){this.resizeObserver.disconnect()}(i=this.el)===null||i===void 0?void 0:i.removeEventListener("transitionend",this.transitionEndHandler)}brandChangeHandler({detail:i}){this.foregroundColor=i.mode}render(){const{appTitle:i,menuOpen:t,foregroundColor:e,menuExpanded:n,href:r,status:p,version:c,collapsedIconLabels:h,inline:v}=this;const g=!this.disableTopBarBehaviour&&this.deviceSize===l.S;const u=this.deviceSize===l.M;const y=this.deviceSize>=l.L;const x=this.deviceSizeAppTitle===l.S;const f=u||this.disableTopBarBehaviour||y&&!this.static;const w={isSDevice:g,foregroundColor:e,menuOpen:t,href:r,isAppNameSubtitleVariant:x,appTitle:i};return a(s,{class:{"xs-menu-open":t&&g,"xs-menu-close":!t&&g,"sm-collapsed":!g&&!n,"sm-expanded":!g&&n,"side-display":this.deviceSize>l.S||this.disableTopBarBehaviour,[`ic-side-navigation-${b.Dark}`]:e===b.Dark,["collapsed-labels"]:!g&&!n&&h,["ic-side-navigation-inline"]:v}},g&&this.renderTopBar(Object.assign({},w)),a("div",{class:"side-navigation",id:"side-navigation"},!g&&this.renderTopBar(Object.assign({},w)),a("div",{class:"side-navigation-inner"},d(this.el,"primary-navigation")&&a("nav",{class:"primary-navigation","aria-labelledby":"primary-navigation-landmark"},a("span",{"aria-hidden":"true",class:"navigation-landmark-title",id:"primary-navigation-landmark"},"Primary"),a("ul",{class:"navigation-list"},a("slot",{name:"primary-navigation"})))),a("div",{class:{["bottom-wrapper"]:true,["classification-spacing"]:m()}},d(this.el,"secondary-navigation")&&a("nav",{class:"secondary-navigation","aria-labelledby":"secondary-navigation-landmark"},a("span",{"aria-hidden":"true",class:"navigation-landmark-title",id:"secondary-navigation-landmark"},"Secondary"),a("ul",{class:"navigation-list"},a("slot",{name:"secondary-navigation"}))),a("div",{class:"bottom-side-nav"},this.hasSecondaryNavigation&&a("ic-divider",null),f&&a("button",{class:"menu-expand-button",innerHTML:o,onClick:()=>this.toggleMenuExpanded(!this.menuExpanded),"aria-label":`${n?"Collapse":"Expand"} side navigation`}),a("div",{class:"app-status-wrapper"},p!==""&&a("div",{class:{["app-status"]:true}},a("ic-typography",{"aria-label":"app tag",variant:"label-uppercase",class:"app-status-text"},p)),c!==""&&a("ic-typography",{variant:"label",class:"app-version","aria-label":"app version"},c))))))}get el(){return e(this)}static get watchers(){return{expanded:["watchExpandedHandler"]}}};f.style=x;export{f as ic_side_navigation};
2
- //# sourceMappingURL=p-7ff4632d.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icSideNavigationCss","SideNavigation","this","ANIMATION_DURATION","parseInt","getCssProperty","IC_NAVIGATION_ITEM","resizeObserver","COLLAPSED_ICON_LABELS_END","COLLAPSED_ICON_LABELS_START","menuButton","emitSideNavigationExpanded","objDetails","icSideNavExpanded","emit","sideNavExpanded","sideNavMobile","toggleMenu","menuOpen","setMobileMenuAriaAttributes","arrangeSlottedNavigationItem","setToggleMenuFlyoutMenuVisibility","sideNav","el","shadowRoot","querySelector","sideNavInner","bottomWrapper","menuVisibilityVisible","classList","add","setTimeout","remove","setAttribute","setAndRemoveNoWrapAfterMenuExpanded","appTitle","toggleMenuExpanded","expanded","deviceSize","DEVICE_SIZES","S","menuExpanded","style","setProperty","addEventListener","e","propertyName","displayTooltipWithExpandedLongLabel","collapsedIconLabels","animateCollapsedIconLabels","setExpandedButtonHeight","navItems","querySelectorAll","forEach","navItem","isNamedSlot","isSlotUsed","isUnnamedSlot","children","getAttribute","navItemSlot","iconWrapper","document","createElement","icon","label","textContent","trim","icTypography","height","append","styleSlottedCollapsedIconLabels","styleSlottedIconLabels","marginTop","whiteSpace","overflow","textOverflow","appStatusWrapper","offsetHeight","opacity","visibility","transition","transitionHandler","type","primaryNavigationWrapper","secondaryNavigationWrapper","classToRemove","classToAdd","transitionEndHandler","paddingIconWidth","navItemLink","navItemSVG","navStyles","gap","window","getComputedStyle","iconWidth","width","paddingLeft","Object","values","reduce","prev","curr","timer","sideNavWidth","clientWidth","navigationItems","Array","from","paddingIconDelta","length","navigationItem","icTypographyScrollWidth","_a","scrollWidth","_b","clearTimeout","setMenuExpanded","setParentPaddingTop","value","parentElement","setParentPaddingLeft","renderAppTitle","isAppNameSubtitleVariant","displayShortAppTitle","isEmptyString","shortAppTitle","h","variant","undefined","resizeObserverCallback","currSize","isSmallAndDisableTopBar","disableTopBarBehaviour","disableAutoParentStyling","topBarHeight","scrollHeight","inline","L","M","static","runResizeObserver","ResizeObserver","getCurrentDeviceSize","deviceSizeAppTitle","observe","body","box","setCollapsedIconLabels","styleSlottedCollapsedIconLabel","dynamicSlottedIcTypographyComps","contains","renderTopBar","isSDevice","foregroundColor","href","hasTitle","isPropDefined","Component","attrs","class","id","size","theme","monochrome","onClick","ariaOwnsId","ref","slot","innerHTML","closeIcon","menuIcon","assign","name","getBrandForegroundAppearance","watchExpandedHandler","componentWillLoad","hasSecondaryNavigation","componentDidLoad","checkResizeObserver","onComponentRequiredPropUndefined","prop","propName","disconnectedCallback","disconnect","removeEventListener","brandChangeHandler","detail","mode","render","status","version","isMdDevice","isLgDevice","displayExpandBtn","topBarProps","Host","IcBrandForegroundEnum","Dark","hasClassificationBanner","chevronIcon"],"sources":["src/components/ic-side-navigation/ic-side-navigation.css?tag=ic-side-navigation&encapsulation=shadow","src/components/ic-side-navigation/ic-side-navigation.tsx"],"sourcesContent":["/**\n * @prop --ic-z-index-side-navigation: z-index of side navigation panel\n */\n\n:host {\n display: block;\n\n --ic-typography-color: currentcolor;\n --side-navigation-position: fixed;\n --side-navigation-position-left: 0;\n --side-navigation-position-top: var(--ic-space-xxl);\n --side-navigation-height: var(--ic-space-xxl);\n --sm-side-navigation-top-bar-height: 3.5rem;\n --sm-side-navigation-collapsed-labels-width: 6rem;\n --sm-side-navigation-expand-transition-duration: var(\n --ic-transition-duration-slow\n );\n --side-navigation-width: 20rem;\n --sm-side-navigation-bottom-bar-height: 3.5rem;\n --keyline-lighten: var(--ic-space-1px) solid var(--ic-side-navigation-keyline);\n --keyline-darken: var(--ic-space-1px) solid var(--ic-state-layer-darken-20);\n\n --ic-button-secondary-text-monochrome: var(--ic-brand-text-color);\n --ic-button-secondary-border-monochrome: var(--ic-brand-text-color);\n z-index: var(--ic-z-index-side-navigation);\n}\n\n:host > * {\n box-sizing: border-box;\n}\n\n.side-navigation {\n display: flex;\n flex-direction: column;\n width: var(--side-navigation-width);\n color: var(--ic-side-navigation-text);\n position: var(--side-navigation-position);\n top: var(--side-navigation-position-top);\n left: calc(var(--side-navigation-width) * -1);\n bottom: 0;\n background-color: var(--ic-side-navigation-background);\n z-index: var(--ic-z-index-side-navigation);\n}\n\n:host(.ic-side-navigation-inline) .side-navigation {\n position: absolute;\n height: 100%;\n}\n\n:host(.anchor-right) .side-navigation {\n right: calc(var(--side-navigation-width) * -1);\n}\n\n.classification-spacing {\n margin-bottom: var(--ic-space-lg);\n}\n\n.navigation-list {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n\n.side-navigation-inner {\n background-color: var(--ic-side-navigation-background);\n display: flex;\n flex-direction: column;\n flex: 1 1 0;\n overflow: auto;\n}\n\n:host(.ic-side-navigation-inline) .side-navigation-inner {\n flex: 1;\n}\n\n:host(.xs-menu-open) .side-navigation {\n transition: left var(--ic-easing-transition-slow);\n left: 0;\n}\n\n:host(:has(.xs-menu-open, .xs-menu-close)) ::slotted(ic-navigation-item) {\n --navigation-item-side-nav-right: var(--ic-space-xl);\n}\n\n:host(.xs-menu-close) .side-navigation {\n left: calc(var(--side-navigation-width) * -1);\n transition: left var(--ic-easing-transition-slow);\n}\n\n:host(.xs-menu-close) .side-navigation > * {\n visibility: hidden;\n}\n\n:host(.anchor-right.xs-menu-open) .side-navigation {\n right: 0;\n left: auto;\n}\n\n:host(.anchor-right.xs-menu-close) .side-navigation {\n right: calc(var(--side-navigation-width) * -1);\n left: auto;\n transition: right var(--ic-easing-transition-slow);\n}\n\n.bottom-wrapper {\n border-top: var(--keyline-lighten);\n bottom: 0;\n left: 0;\n z-index: 2;\n box-shadow: -0.188rem -0.188rem 0.5rem rgb(0 0 0 / 20%);\n background-color: var(--ic-side-navigation-background);\n display: flex;\n flex-direction: column;\n}\n\n:host(.ic-side-navigation-inline) .bottom-wrapper {\n position: sticky;\n}\n\n:host(.ic-side-navigation-dark) .bottom-wrapper {\n border-top: var(--keyline-darken);\n}\n\n/* Mobile Top Bar */\n\n.top-bar {\n display: flex;\n flex-direction: row;\n align-items: center;\n min-height: var(--side-navigation-height);\n padding: var(--ic-space-xs);\n box-sizing: border-box;\n background-color: var(--ic-side-navigation-background);\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n border-bottom: var(--keyline-lighten);\n box-shadow: var(--ic-elevation-overlay);\n z-index: 2;\n overflow: hidden;\n visibility: visible;\n}\n\n:host(.ic-side-navigation-inline) .top-bar {\n position: absolute;\n}\n\n:host(.ic-side-navigation-dark) .top-bar {\n border-bottom: var(--keyline-darken);\n}\n\n.top-bar.dark a:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.app-title-wrapper {\n display: flex;\n margin-left: var(--ic-space-xs);\n border-left: var(--keyline-lighten);\n padding-left: var(--ic-space-xxs);\n color: var(--ic-side-navigation-text);\n align-items: center;\n}\n\n:host(.ic-side-navigation-dark) .app-title-wrapper {\n border-left: var(--keyline-darken);\n}\n\n.app-title-wrapper ic-typography h1 {\n margin: 0;\n}\n\n@media screen and (min-width: 340px) {\n .app-title-wrapper ic-typography {\n margin-left: var(--ic-space-xs);\n }\n}\n\n:host .title-link {\n display: flex;\n align-items: center;\n transition: box-shadow var(--ic-easing-transition-fast),\n background-color var(--ic-easing-transition-fast);\n text-decoration: none;\n padding: var(--ic-space-xxs);\n color: var(--ic-side-navigation-text);\n}\n\n:host .title-link:visited,\n:host .title-link:active {\n color: var(--ic-side-navigation-text);\n}\n\nslot[name=\"app-title\"]::slotted(a),\nslot[name=\"app-icon\"]::slotted(a) {\n color: var(--ic-side-navigation-text);\n outline: none;\n text-decoration: none;\n display: flex;\n}\n\nslot[name=\"app-title\"]::slotted(ic-typography),\nslot[name=\"app-title\"]::slotted(a) {\n margin-left: var(--ic-space-xs) !important;\n}\n\nslot[name=\"app-title\"]::slotted(a) {\n font: var(--ic-font-subtitle-small);\n}\n\n@media screen and (min-width: 577px) {\n :host(.sm-collapsed) slot[name=\"app-title\"]::slotted(ic-typography),\n :host(.sm-collapsed) slot[name=\"app-title\"]::slotted(a) {\n position: absolute;\n left: -9999px;\n opacity: 0;\n transition: opacity var(--ic-easing-transition-slow);\n }\n\n :host(.sm-expanded) slot[name=\"app-title\"]::slotted(a) {\n font: var(--ic-font-h3) !important;\n font-weight: var(--ic-font-weight-semibold) !important;\n margin-left: var(--ic-space-xs) !important;\n }\n}\n\n:host .title-link:hover {\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-side-navigation-hover);\n}\n\n:host .title-link:active {\n background-color: var(--ic-side-navigation-pressed);\n}\n\n:host .title-link:focus,\n:host .title-link:focus-within {\n border-radius: var(--ic-border-radius);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n background-color: transparent;\n}\n\n:host .title-link ic-typography {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.app-title-wrapper ::slotted(svg) {\n fill: var(--ic-side-navigation-text);\n}\n\n.app-icon-container {\n display: none;\n}\n\n.button-label {\n display: flex;\n align-items: center;\n}\n\n.mobile-top-bar-menu-icon {\n display: flex;\n}\n\n.menu-button {\n width: 6.5rem;\n}\n\n.app-status-wrapper {\n inset: 0 var(--ic-space-sm) 0 3.5rem;\n width: auto;\n display: flex;\n gap: var(--ic-space-xs);\n padding: var(--ic-space-sm) 0;\n justify-content: flex-end;\n align-items: flex-end;\n pointer-events: none;\n height: fit-content;\n margin: 0 var(--ic-space-xs);\n}\n\n.app-status-wrapper .app-version {\n display: flex;\n overflow-wrap: break-word;\n padding-bottom: var(--ic-space-xxs);\n}\n\n.app-status-wrapper .app-status {\n display: flex;\n border-radius: 1rem;\n background-color: var(--ic-side-navigation-text);\n color: var(--ic-side-navigation-status-tag-text);\n padding: var(--ic-space-xxs) var(--ic-space-lg);\n min-width: 1rem;\n}\n\n.app-status-wrapper .app-status-text {\n overflow-wrap: break-word;\n}\n\n:host(.ic-side-navigation-dark) .app-status-wrapper .app-status {\n --ic-typography-color: var(--ic-architectural-white);\n}\n\n.navigation-landmark-title {\n position: absolute;\n width: var(--ic-space-1px);\n height: var(--ic-space-1px);\n padding: 0;\n margin: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n}\n\n/* Navigation Group */\n\n::slotted(ic-navigation-group) {\n --navigation-group-height: 2.75rem;\n --navigation-group-width: 100%;\n --navigation-group-justify-content: space-between;\n --navigation-group-hover: var(--ic-side-navigation-hover);\n --navigation-group-text-hover: var(--ic-side-navigation-text);\n --navigation-item-child-height: 3.5rem;\n --navigation-item-child-active: var(--ic-action-dark-bg-pressed);\n --navigation-item-child-color: var(--ic-side-navigation-text);\n --navigation-group-expand-toggle-padding: 0.25rem;\n}\n\n/* Navigation Items */\n\n::slotted(ic-navigation-item),\n::slotted(ic-navigation-group) {\n --navigation-item-justify-content: flex-start;\n --navigation-item-min-height: 56px;\n --navigation-item-height: auto;\n}\n\n/* Toggle Chevron */\n\n.bottom-side-nav {\n position: relative;\n align-content: flex-end;\n min-height: var(--sm-side-navigation-top-bar-height);\n}\n\n.bottom-side-nav ic-divider {\n position: absolute;\n top: 0;\n}\n\n.primary-navigation {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n\n /* Hide scrollbar when required but keep functionality */\n scrollbar-width: none;\n}\n\n.primary-navigation::-webkit-scrollbar {\n display: none;\n}\n\n.primary-navigation,\n.secondary-navigation {\n overflow-x: hidden;\n}\n\n.bottom-side-nav .menu-expand-button {\n position: absolute;\n display: none;\n}\n\n.menu-visibility-visible {\n visibility: visible;\n width: 100%;\n}\n\n.app-title-show {\n min-width: 15.5rem;\n}\n\n:host(.side-display) {\n display: flex;\n flex-direction: column;\n height: 100vh;\n position: var(--side-navigation-position);\n left: 0;\n top: 0;\n bottom: 0;\n}\n\n:host(.side-display) .app-icon-container {\n height: 40px;\n display: flex;\n align-items: center;\n}\n\n:host(.side-display) .top-bar {\n --side-navigation-height: var(--sm-side-navigation-top-bar-height);\n\n position: relative;\n padding: 0;\n box-shadow: -0.188rem 0.188rem 0.5rem rgb(0 0 0 / 20%);\n}\n\n:host(.ic-side-navigation-inline.side-display) .top-bar {\n position: sticky;\n}\n\n:host(.anchor-right.side-display) .top-bar {\n box-shadow: 0.188rem 0.188rem 0.5rem rgb(0 0 0 / 20%);\n}\n\n:host(.anchor-right.side-display) .bottom-wrapper {\n box-shadow: 0.188rem -0.188rem 0.5rem rgb(0 0 0 / 20%);\n}\n\n:host(.side-display) .side-navigation,\n:host(.side-display) .top-bar {\n width: var(--sm-side-navigation-top-bar-height);\n}\n\n:host(.sm-collapsed.side-display) {\n width: var(--sm-side-navigation-top-bar-height);\n transition: width var(--ic-easing-transition-slow);\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) {\n width: var(--sm-side-navigation-collapsed-labels-width);\n}\n\n:host(.sm-expanded.side-display) {\n width: var(--side-navigation-width);\n transition: width var(--ic-easing-transition-slow);\n box-shadow: var(--ic-elevation-overlay);\n}\n\n:host(.side-display) .side-navigation {\n --side-navigation-position-top: 0;\n\n flex: 1;\n position: relative;\n top: auto;\n left: auto;\n bottom: auto;\n}\n\n:host(.ic-side-navigation-inline.side-display) .side-navigation {\n position: relative;\n}\n\n:host(.anchor-right.side-display) .side-navigation {\n left: auto;\n right: 0;\n}\n\n:host(.side-display) .app-title-wrapper {\n margin-left: 0;\n border-left: none;\n padding: var(--ic-space-xs) var(--ic-space-sm);\n}\n\n:host(.side-display) .app-title-wrapper ::slotted(svg) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host(.side-display) .app-title-wrapper ic-typography {\n font-weight: var(--ic-font-weight-semibold);\n}\n\n:host(.sm-collapsed.side-display) .app-title-wrapper ic-typography {\n position: absolute;\n left: -9999px;\n opacity: 0;\n transition: opacity var(--ic-easing-transition-slow);\n}\n\n:host(.sm-expanded.side-display) ic-typography {\n position: relative;\n left: 0;\n}\n\n:host(.sm-expanded.side-display) :is(.side-navigation, .top-bar) {\n width: var(--side-navigation-width);\n transition: width var(--ic-easing-transition-slow);\n}\n\n:host(.sm-collapsed.side-display) :is(.side-navigation, .top-bar) {\n width: var(--sm-side-navigation-top-bar-height);\n transition: width var(--ic-easing-transition-slow);\n}\n\n:host(.anchor-right.sm-expanded.side-display) :is(.side-navigation, .top-bar) {\n left: auto;\n right: 0;\n}\n\n:host(.side-display) .app-status-wrapper,\n:host(.sm-collapsed.side-display) .app-status-wrapper {\n display: none;\n margin-left: 0;\n}\n\n:host(.sm-expanded.side-display) .app-status-wrapper {\n display: flex;\n max-width: 16rem;\n margin-right: calc(var(--ic-space-xxxs) + var(--ic-space-xs));\n}\n\n:host(.side-display) .bottom-side-nav {\n justify-items: flex-end;\n align-items: flex-end;\n justify-content: flex-end;\n display: flex;\n outline: none;\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button {\n padding-left: var(--ic-space-md);\n height: var(--sm-side-navigation-top-bar-height);\n width: 100%;\n color: var(--ic-side-navigation-text);\n background-color: transparent;\n outline: var(--ic-hc-focus-outline);\n border: none;\n cursor: pointer;\n display: flex;\n transition: var(--ic-easing-transition-fast);\n}\n\n:host(.sm-expanded.side-display) .bottom-side-nav .menu-expand-button {\n height: 100%;\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button svg {\n justify-items: flex-start;\n align-self: center;\n display: inline-block;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button:hover {\n background-color: var(--ic-side-navigation-hover);\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n background-color: transparent;\n}\n\n:host(.sm-collapsed.side-display) .bottom-side-nav .menu-expand-button svg {\n transform: scaleX(1);\n transition: transform var(--ic-easing-transition-slow);\n}\n\n:host(.sm-expanded.side-display) .bottom-side-nav .menu-expand-button svg {\n transform: scaleX(-1);\n transition: transform var(--ic-easing-transition-slow);\n align-self: flex-end;\n margin-bottom: 0.875rem;\n}\n\n:host(.anchor-right.sm-collapsed.side-display)\n .bottom-side-nav\n .menu-expand-button\n svg {\n transform: scaleX(-1);\n}\n\n:host(.anchor-right.sm-expanded.side-display)\n .bottom-side-nav\n .menu-expand-button\n svg {\n transform: scaleX(1);\n}\n\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-item) {\n --navigation-item-label-opacity: 1;\n}\n\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-item),\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-group) {\n --navigation-item-label-opacity: 0;\n --navigation-item-min-height: 3.5rem;\n --navigation-item-height: 3.5rem;\n}\n\n:host(.sm-expanded.side-display) ::slotted(ic-navigation-item),\n:host(.sm-expanded.side-display) ::slotted(ic-navigation-group) {\n --navigation-item-label-opacity: 1;\n --navigation-item-height: auto;\n --navigation-item-min-height: 3.5rem;\n --navigation-item-width: 20rem;\n --navigation-item-side-nav-right: var(--ic-space-xl);\n}\n\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-group) {\n --navigation-group-title-position: absolute;\n --navigation-group-title-position-left: -9999px;\n --navigation-group-title-opacity: none;\n}\n\n:host(.sm-expanded.side-display) ::slotted(ic-navigation-group) {\n --navigation-group-title-position: relative;\n --navigation-group-title-position-left: 0;\n --navigation-group-expand-toggle-padding: 0.25rem;\n --navigation-group-title-opacity: flex;\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) .side-navigation,\n:host(.sm-collapsed.collapsed-labels.side-display) .top-bar {\n width: var(--sm-side-navigation-collapsed-labels-width);\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) .menu-expand-button {\n padding: 0;\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) .app-title-wrapper {\n width: 100%;\n justify-content: center;\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display)\n ::slotted(ic-navigation-group) {\n --navigation-group-justify-content: center;\n --navigation-item-label-opacity: 1;\n --navigation-group-item-min-width: 100%;\n --navigation-group-expand-toggle-padding: 1rem;\n}\n\n:host(.collapsed-labels.side-display) .bottom-side-nav .menu-expand-button {\n justify-content: center;\n}\n\n:host(.side-display) .collapsed-icon-labels-start {\n visibility: hidden;\n opacity: 0;\n}\n\n:host(.side-display) .collapsed-icon-labels-end {\n visibility: visible;\n opacity: 1;\n transition: visibility 0s, opacity var(--ic-easing-transition-slow);\n}\n\n/* Media Queries */\n\n@media screen and (max-width: 419px) {\n .top-bar {\n height: var(--side-navigation-height);\n }\n .side-navigation {\n width: 100%;\n }\n}\n\n@media screen and (min-width: 340px) {\n .app-icon-container {\n display: flex;\n }\n}\n\n@media screen and (min-width: 993px) {\n :host(.side-display) {\n position: sticky;\n left: auto;\n top: 0;\n bottom: 0;\n }\n\n :host(.sm-expanded.side-display) {\n box-shadow: none;\n }\n}\n\n@media (forced-colors: active) {\n .side-navigation,\n .top-bar {\n border-right: var(--ic-border-hc);\n }\n\n .menu-expand-button {\n color: Highlight !important;\n }\n\n slot[name=\"app-icon\"]::slotted(svg) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Listen,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\n\nimport menuIcon from \"../../assets/hamburger-menu-icon.svg\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport {\n getCurrentDeviceSize,\n DEVICE_SIZES,\n checkResizeObserver,\n isSlotUsed,\n getBrandForegroundAppearance,\n getCssProperty,\n hasClassificationBanner,\n onComponentRequiredPropUndefined,\n isEmptyString,\n isPropDefined,\n} from \"../../utils/helpers\";\nimport {\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\n} from \"../../utils/types\";\nimport { IcTopBar, IcExpandedDetail } from \"./ic-side-navigation.types\";\n\n/**\n * @slot app-icon - Content will be rendered adjacent to the app title at the very top of the side navigation.\n * @slot app-title - Handle routing by nesting a route in the app title.\n * @slot primary-navigation - Content will be rendered at the top of the side navigation.\n * @slot secondary-navigation - Content will be rendered at the bottom of the side navigation.\n */\n\n@Component({\n tag: \"ic-side-navigation\",\n styleUrl: \"ic-side-navigation.css\",\n shadow: true,\n})\nexport class SideNavigation {\n private ANIMATION_DURATION =\n parseInt(getCssProperty(\"--ic-transition-duration-slow\")) || 0;\n private IC_NAVIGATION_ITEM: string = \"ic-navigation-item\";\n private resizeObserver: ResizeObserver = null;\n private COLLAPSED_ICON_LABELS_END = \"collapsed-icon-labels-end\";\n private COLLAPSED_ICON_LABELS_START = \"collapsed-icon-labels-start\";\n private menuButton: HTMLIcButtonElement = null;\n\n @Element() el: HTMLIcSideNavigationElement;\n\n @State() deviceSize: number = getCurrentDeviceSize();\n @State() deviceSizeAppTitle: number = DEVICE_SIZES.S;\n @State() foregroundColor: IcBrandForeground = getBrandForegroundAppearance();\n @State() hasSecondaryNavigation: boolean = false;\n @State() menuExpanded: boolean = false;\n @State() menuOpen: boolean = false;\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\n /**\n * If `true`, the icon and label will appear when side navigation is collapsed.\n */\n @Prop() collapsedIconLabels: boolean = false;\n\n /**\n * If `true`, automatic parent wrapper styling will be disabled.\n */\n @Prop() disableAutoParentStyling: boolean = false;\n\n /**\n * If `true`, the side navigation will not display as a top bar on small devices.\n */\n @Prop() disableTopBarBehaviour: boolean = false;\n\n /**\n * If `true`, the side navigation will display in an expanded state.\n */\n @Prop() expanded: boolean = false;\n\n @Watch(\"expanded\")\n watchExpandedHandler(): void {\n this.toggleMenuExpanded(this.expanded);\n }\n\n /**\n * The URL that the app title link points to.\n */\n @Prop() href: string = \"/\";\n\n /**\n * @internal If `true`, side navigation will be contained by its parent element.\n */\n @Prop() inline: boolean = 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: string = \"\";\n\n /**\n * If `true`, the menu expand button will be removed (PLEASE NOTE: This takes effect on screen sizes 992px and above).\n */\n @Prop() static: boolean = false;\n\n /**\n * The status of the app to be displayed.\n */\n @Prop() status: string;\n\n /**\n * The version of the app to be displayed.\n */\n @Prop() version: string;\n\n /**\n * Emitted when the side navigation is collapsed and expanded.\n */\n @Event() icSideNavExpanded: EventEmitter<IcExpandedDetail>;\n\n componentWillLoad(): void {\n this.setMenuExpanded(this.expanded);\n\n if (this.collapsedIconLabels) {\n this.setCollapsedIconLabels();\n }\n\n this.hasSecondaryNavigation = isSlotUsed(this.el, \"secondary-navigation\");\n }\n\n componentDidLoad(): void {\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuExpanded,\n sideNavMobile:\n this.deviceSize === DEVICE_SIZES.S && !this.disableTopBarBehaviour,\n });\n\n checkResizeObserver(this.runResizeObserver);\n this.styleSlottedCollapsedIconLabel();\n this.arrangeSlottedNavigationItem(this.menuExpanded);\n this.displayTooltipWithExpandedLongLabel(this.menuExpanded);\n\n this.setExpandedButtonHeight();\n\n !isSlotUsed(this.el, \"app-title\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.appTitle, propName: \"app-title\" }],\n \"Side Navigation\"\n );\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n\n this.el?.removeEventListener(\"transitionend\", this.transitionEndHandler);\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler({ detail }: CustomEvent<IcBrand>): void {\n this.foregroundColor = detail.mode;\n }\n\n private emitSideNavigationExpanded = (objDetails: {\n sideNavExpanded: boolean;\n sideNavMobile?: boolean;\n }): void => {\n this.icSideNavExpanded.emit({\n sideNavExpanded: objDetails.sideNavExpanded,\n sideNavMobile: objDetails.sideNavMobile,\n });\n };\n\n private toggleMenu = (): void => {\n this.menuOpen = !this.menuOpen;\n this.setMobileMenuAriaAttributes(this.menuOpen);\n\n this.arrangeSlottedNavigationItem(this.menuOpen);\n\n this.setToggleMenuFlyoutMenuVisibility(this.menuOpen);\n\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuOpen,\n sideNavMobile: true,\n });\n };\n\n private setToggleMenuFlyoutMenuVisibility = (menuOpen: boolean) => {\n const sideNav = this.el.shadowRoot.querySelector(\n \"#side-navigation\"\n ) as HTMLDivElement;\n const sideNavInner = sideNav.querySelector(\n \".side-navigation-inner\"\n ) as HTMLElement;\n const bottomWrapper = sideNav.querySelector(\n \".bottom-wrapper\"\n ) as HTMLElement;\n\n const menuVisibilityVisible = \"menu-visibility-visible\";\n\n if (menuOpen) {\n bottomWrapper.classList.add(menuVisibilityVisible);\n sideNavInner.classList.add(menuVisibilityVisible);\n } else {\n setTimeout(() => {\n sideNavInner.classList.remove(menuVisibilityVisible);\n bottomWrapper.classList.remove(menuVisibilityVisible);\n }, this.ANIMATION_DURATION);\n }\n };\n\n private setMobileMenuAriaAttributes = (menuOpen: boolean) => {\n if (this.menuButton !== null) {\n this.menuButton.setAttribute(\"aria-expanded\", `${menuOpen}`);\n this.menuButton.setAttribute(\n \"aria-label\",\n `${menuOpen ? \"Close\" : \"Open\"} navigation menu`\n );\n }\n };\n\n private setAndRemoveNoWrapAfterMenuExpanded = () => {\n const appTitle =\n this.el.shadowRoot.querySelector(\".title-link ic-typography\") ||\n this.el.querySelector(\"[slot='app-title']\");\n\n appTitle.classList.add(\"ic-typography-no-wrap\");\n\n setTimeout(() => {\n appTitle.classList.remove(\"ic-typography-no-wrap\");\n }, this.ANIMATION_DURATION);\n };\n\n private toggleMenuExpanded = (expanded: boolean): void => {\n if (this.deviceSize > DEVICE_SIZES.S) {\n this.menuExpanded = expanded;\n }\n\n if (this.menuExpanded) {\n this.setAndRemoveNoWrapAfterMenuExpanded();\n this.el.shadowRoot\n .querySelector(\".app-title-inner-wrapper\")\n .classList.add(\"app-title-show\");\n } else {\n this.el.style.setProperty(\"--navigation-item-width\", \"320px\");\n this.el.shadowRoot\n .querySelector(\".app-title-inner-wrapper\")\n .classList.remove(\"app-title-show\");\n\n this.el.addEventListener(\"transitionend\", (e) => {\n if (e.propertyName === \"width\") {\n this.el.style.setProperty(\"--navigation-item-width\", null);\n }\n });\n }\n\n this.arrangeSlottedNavigationItem(this.menuExpanded);\n\n this.displayTooltipWithExpandedLongLabel(this.menuExpanded);\n\n if (this.collapsedIconLabels) {\n this.animateCollapsedIconLabels();\n }\n\n this.setExpandedButtonHeight();\n this.emitSideNavigationExpanded({ sideNavExpanded: this.menuExpanded });\n };\n\n /**\n * In order to style nested slotted elements (e.g. using React Router components), this method\n * rearranges the a tag and labels and adds inline styling expand/collapsed animations as external CSS classes are not\n * do not take affect.\n * @param menuExpanded boolean - true or false depending on side navigation state\n */\n private arrangeSlottedNavigationItem = (menuExpanded?: boolean) => {\n const navItems = this.el.querySelectorAll(\"ic-navigation-item\");\n navItems.forEach((navItem) => {\n const isNamedSlot = isSlotUsed(navItem, \"navigation-item\");\n const isUnnamedSlot =\n navItem.children[0] && !navItem.children[0].getAttribute(\"slot\");\n if (isNamedSlot || isUnnamedSlot) {\n let navItemSlot;\n if (isNamedSlot) {\n navItemSlot = navItem.querySelector(\"[slot='navigation-item']\");\n } else {\n navItemSlot = navItem.children[0];\n }\n const iconWrapper = document.createElement(\"div\");\n const icon = navItemSlot.querySelector(\"svg\");\n const label = navItem.textContent.trim();\n const icTypography = document.createElement(\"ic-typography\");\n icTypography.classList.add(\n \"ic-typography-label\",\n \"hydrated\",\n \"navigation-item-side-nav-slotted-text\"\n );\n\n iconWrapper.style.height = \"var(--ic-space-lg)\";\n iconWrapper.append(icon);\n\n navItemSlot.textContent = \"\";\n\n icTypography.textContent = label;\n\n navItemSlot.append(iconWrapper);\n navItemSlot.append(icTypography);\n\n if (this.collapsedIconLabels) {\n this.styleSlottedCollapsedIconLabels(menuExpanded, icTypography);\n } else {\n this.styleSlottedIconLabels(menuExpanded, icTypography);\n }\n }\n });\n };\n\n private styleSlottedCollapsedIconLabels = (\n menuExpanded: boolean,\n icTypography: HTMLIcTypographyElement\n ) => {\n if (menuExpanded) {\n icTypography.style.marginTop = \"0\";\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n } else {\n icTypography.style.marginTop = \"10px\";\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n }\n };\n\n private setExpandedButtonHeight = () => {\n const appStatusWrapper = this.el.shadowRoot.querySelector(\n \"#side-navigation > .bottom-wrapper > .bottom-side-nav > .app-status-wrapper\"\n ) as HTMLDivElement;\n\n if (appStatusWrapper.offsetHeight !== 0) {\n this.el.style.setProperty(\n \"--sm-side-navigation-bottom-bar-height\",\n `${appStatusWrapper.offsetHeight}px`\n );\n }\n };\n\n private styleSlottedIconLabels = (\n menuExpanded: boolean,\n icTypography: HTMLSpanElement\n ) => {\n if (menuExpanded) {\n icTypography.style.opacity = \"1\";\n icTypography.style.visibility = \"visible\";\n icTypography.style.transition =\n \"visibility 0s, opacity var(--ic-easing-transition-slow)\";\n } else {\n icTypography.style.opacity = \"0\";\n icTypography.style.visibility = \"hidden\";\n icTypography.style.transition =\n \"visibility 0s, opacity var(--ic-easing-transition-slow)\";\n }\n };\n\n private transitionHandler = (type: string) => {\n const primaryNavigationWrapper = this.el.shadowRoot.querySelector(\n \".primary-navigation\"\n );\n\n const secondaryNavigationWrapper = this.el.shadowRoot.querySelector(\n \".bottom-wrapper > .secondary-navigation\"\n );\n\n const classToRemove =\n type === \"start\"\n ? this.COLLAPSED_ICON_LABELS_END\n : this.COLLAPSED_ICON_LABELS_START;\n\n const classToAdd =\n type === \"start\"\n ? this.COLLAPSED_ICON_LABELS_START\n : this.COLLAPSED_ICON_LABELS_END;\n\n if (primaryNavigationWrapper) {\n primaryNavigationWrapper.classList.remove(classToRemove);\n primaryNavigationWrapper.classList.add(classToAdd);\n }\n\n if (secondaryNavigationWrapper) {\n secondaryNavigationWrapper.classList.remove(classToRemove);\n secondaryNavigationWrapper.classList.add(classToAdd);\n }\n };\n\n private transitionEndHandler = () => {\n this.transitionHandler(\"end\");\n };\n\n private animateCollapsedIconLabels = () => {\n this.transitionHandler(\"start\");\n this.transitionEndHandler();\n\n this.el.addEventListener(\"transitionend\", this.transitionEndHandler);\n };\n\n private paddingIconWidth = (\n navItems: HTMLIcNavigationItemElement[]\n ): number => {\n const navItemLink =\n (navItems[0].shadowRoot &&\n (navItems[0].shadowRoot.querySelector(\"ic-tooltip a\") ||\n navItems[0].shadowRoot.querySelector(\"ic-tooltip div\"))) ||\n navItems[0].querySelector(\"a\") ||\n navItems[0].querySelector(\"div\");\n const navItemSVG = navItems[0].querySelector(\"svg\");\n\n const navStyles = {\n gap: window.getComputedStyle(navItemLink).gap,\n iconWidth: window.getComputedStyle(navItemSVG).width,\n paddingLeft: window.getComputedStyle(navItemLink).paddingLeft,\n };\n\n return Object.values(navStyles).reduce((prev, curr) => {\n return (prev += parseInt(curr));\n }, 0);\n };\n\n private displayTooltipWithExpandedLongLabel = (menuExpanded: boolean) => {\n let timer;\n\n if (menuExpanded) {\n timer = setTimeout(() => {\n const sideNavWidth = this.el.clientWidth;\n\n const navigationItems: HTMLIcNavigationItemElement[] = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n\n const paddingIconDelta = navigationItems.length\n ? this.paddingIconWidth(navigationItems)\n : 0;\n\n navigationItems.forEach(\n (navigationItem: HTMLIcNavigationItemElement) => {\n const icTypographyScrollWidth =\n (\n navigationItem.shadowRoot &&\n navigationItem.shadowRoot.querySelector(\n \"ic-tooltip .link ic-typography.ic-typography-label\"\n )\n )?.scrollWidth ||\n navigationItem.querySelector(\"ic-typography.ic-typography-label\")\n ?.scrollWidth;\n\n if (icTypographyScrollWidth > sideNavWidth - paddingIconDelta) {\n navigationItem.setAttribute(\"display-navigation-tooltip\", \"true\");\n }\n }\n );\n }, this.ANIMATION_DURATION);\n } else {\n clearTimeout(timer);\n\n const navigationItems: HTMLIcNavigationItemElement[] = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n navigationItems.forEach((navigationItem: HTMLIcNavigationItemElement) => {\n navigationItem.setAttribute(\"display-navigation-tooltip\", \"false\");\n });\n }\n };\n\n private setMenuExpanded = (expanded: boolean): void => {\n this.menuExpanded = expanded;\n };\n\n /**\n * As the mobile top bar is fixed, a padding top is required\n * to push main content down the height of the mobile top bar\n * @param value - padding-top css value\n */\n private setParentPaddingTop = (value: string) => {\n this.el.parentElement.style.setProperty(\"padding-top\", value);\n };\n\n private setParentPaddingLeft = (value: string) => {\n this.el.parentElement.style.setProperty(\"padding-left\", value);\n };\n\n private renderAppTitle = (isAppNameSubtitleVariant: boolean) => {\n const displayShortAppTitle =\n this.deviceSize <= DEVICE_SIZES.S && !isEmptyString(this.shortAppTitle);\n return (\n <ic-typography\n variant={\n displayShortAppTitle || isAppNameSubtitleVariant\n ? \"subtitle-small\"\n : \"h3\"\n }\n aria-label={\n displayShortAppTitle\n ? `${this.appTitle} (${this.shortAppTitle})`\n : undefined\n }\n >\n <h1>{displayShortAppTitle ? this.shortAppTitle : this.appTitle}</h1>\n </ic-typography>\n );\n };\n\n private resizeObserverCallback = (currSize: number) => {\n this.deviceSize = currSize;\n\n const isSmallAndDisableTopBar =\n currSize === DEVICE_SIZES.S && !this.disableTopBarBehaviour;\n\n if (!this.disableAutoParentStyling) {\n const topBarHeight =\n this.el.shadowRoot.querySelector(\".top-bar\")?.scrollHeight;\n this.setParentPaddingTop(\n isSmallAndDisableTopBar ? `${topBarHeight}px` : \"0\"\n );\n if (isSmallAndDisableTopBar) this.setParentPaddingLeft(\"0\");\n if (isSmallAndDisableTopBar && this.inline) {\n this.el.parentElement.style.setProperty(\n \"height\",\n `calc(100% - ${topBarHeight}px)`\n );\n } else if (!isSmallAndDisableTopBar) {\n this.el.parentElement.style.setProperty(\"height\", \"100%\");\n }\n }\n\n if (!this.disableAutoParentStyling) {\n const paddingLeft = `calc(var(--ic-space-xxl) ${\n this.collapsedIconLabels ? \"* 2\" : \"+ var(--ic-space-xs)\"\n })`;\n\n if (currSize > DEVICE_SIZES.L) {\n this.setParentPaddingTop(\"0\");\n this.setParentPaddingLeft(\"0\");\n } else if (\n (currSize > DEVICE_SIZES.S || this.disableTopBarBehaviour) &&\n currSize <= DEVICE_SIZES.M &&\n this.static\n ) {\n this.setParentPaddingLeft(paddingLeft);\n } else if (\n (currSize > DEVICE_SIZES.S || this.disableTopBarBehaviour) &&\n currSize <= DEVICE_SIZES.L\n ) {\n this.setParentPaddingLeft(\n this.static && this.menuExpanded\n ? \"calc(var(--ic-space-xl) * 10)\"\n : paddingLeft\n );\n }\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = getCurrentDeviceSize();\n this.deviceSizeAppTitle = currSize;\n this.resizeObserverCallback(currSize);\n });\n\n this.resizeObserver.observe(document.body, { box: \"content-box\" });\n };\n\n private setCollapsedIconLabels = () => {\n const navigationItems: HTMLIcNavigationItemElement[] = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n navigationItems.forEach((navigationItem: HTMLIcNavigationItemElement) => {\n navigationItem.setAttribute(\"collapsed-icon-label\", \"true\");\n });\n };\n\n private styleSlottedCollapsedIconLabel = () => {\n const dynamicSlottedIcTypographyComps: HTMLIcTypographyElement[] =\n Array.from(\n this.el.querySelectorAll(\".navigation-item-side-nav-slotted-text\")\n );\n\n dynamicSlottedIcTypographyComps.forEach((icTypography) => {\n if (\n icTypography?.parentElement?.parentElement?.classList.contains(\n \"navigation-item-side-nav-collapsed-with-label\"\n )\n ) {\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n icTypography.style.marginTop = \"10px\";\n }\n });\n };\n\n private renderTopBar = ({\n isSDevice,\n foregroundColor,\n menuOpen,\n href,\n isAppNameSubtitleVariant,\n }: IcTopBar) => {\n const hasTitle = this.appTitle !== \"\" && isPropDefined(this.appTitle);\n\n const Component = isSlotUsed(this.el, \"app-title\") ? \"div\" : \"a\";\n\n const attrs = Component == \"a\" && {\n href: href,\n };\n\n return (\n <div\n class={{\n \"top-bar\": true,\n [this.foregroundColor]: true,\n }}\n >\n {isSDevice && (\n <nav\n aria-labelledby=\"menu-navigation-toggle-button-landmark\"\n aria-hidden=\"false\"\n >\n <ic-button\n aria-label=\"Open navigation menu\"\n class=\"menu-button\"\n id=\"menu-button\"\n variant=\"secondary\"\n size=\"small\"\n full-width=\"true\"\n theme={\n foregroundColor == \"default\" || foregroundColor == \"light\"\n ? \"light\"\n : \"dark\"\n }\n monochrome\n onClick={this.toggleMenu}\n ariaOwnsId=\"side-navigation\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n ref={(el) => (this.menuButton = el)}\n >\n <span\n class=\"mobile-top-bar-menu-icon\"\n slot=\"left-icon\"\n innerHTML={menuOpen ? closeIcon : menuIcon}\n ></span>\n {menuOpen ? \"Close\" : \"Menu\"}\n </ic-button>\n <span\n id=\"menu-navigation-toggle-button-landmark\"\n class=\"navigation-landmark-title\"\n aria-hidden=\"true\"\n >\n Navigation menu toggle button\n </span>\n </nav>\n )}\n <div class=\"app-title-wrapper\">\n {(hasTitle || isSlotUsed(this.el, \"app-title\")) && (\n <Component {...attrs} class=\"title-link\">\n <div class=\"app-icon-container\" aria-hidden=\"true\">\n <slot name=\"app-icon\"></slot>\n </div>\n <div class=\"app-title-inner-wrapper\">\n {isSlotUsed(this.el, \"app-title\") ? (\n <slot name=\"app-title\"></slot>\n ) : (\n this.renderAppTitle(isAppNameSubtitleVariant)\n )}\n </div>\n </Component>\n )}\n </div>\n </div>\n );\n };\n\n render() {\n const {\n appTitle,\n menuOpen,\n foregroundColor,\n menuExpanded,\n href,\n status,\n version,\n collapsedIconLabels,\n inline,\n } = this;\n\n const isSDevice =\n !this.disableTopBarBehaviour && this.deviceSize === DEVICE_SIZES.S;\n const isMdDevice = this.deviceSize === DEVICE_SIZES.M;\n const isLgDevice = this.deviceSize >= DEVICE_SIZES.L;\n const isAppNameSubtitleVariant = this.deviceSizeAppTitle === DEVICE_SIZES.S;\n const displayExpandBtn =\n isMdDevice || this.disableTopBarBehaviour || (isLgDevice && !this.static);\n\n const topBarProps: IcTopBar = {\n isSDevice,\n foregroundColor,\n menuOpen,\n href,\n isAppNameSubtitleVariant,\n appTitle,\n };\n\n return (\n <Host\n class={{\n \"xs-menu-open\": menuOpen && isSDevice,\n \"xs-menu-close\": !menuOpen && isSDevice,\n \"sm-collapsed\": !isSDevice && !menuExpanded,\n \"sm-expanded\": !isSDevice && menuExpanded,\n \"side-display\":\n this.deviceSize > DEVICE_SIZES.S || this.disableTopBarBehaviour,\n [`ic-side-navigation-${IcBrandForegroundEnum.Dark}`]:\n foregroundColor === IcBrandForegroundEnum.Dark,\n [\"collapsed-labels\"]:\n !isSDevice && !menuExpanded && collapsedIconLabels,\n [\"ic-side-navigation-inline\"]: inline,\n }}\n >\n {isSDevice && this.renderTopBar({ ...topBarProps })}\n <div class=\"side-navigation\" id=\"side-navigation\">\n {!isSDevice && this.renderTopBar({ ...topBarProps })}\n <div class=\"side-navigation-inner\">\n {isSlotUsed(this.el, \"primary-navigation\") && (\n <nav\n class=\"primary-navigation\"\n aria-labelledby=\"primary-navigation-landmark\"\n >\n <span\n aria-hidden=\"true\"\n class=\"navigation-landmark-title\"\n id=\"primary-navigation-landmark\"\n >\n Primary\n </span>\n <ul class=\"navigation-list\">\n <slot name=\"primary-navigation\"></slot>\n </ul>\n </nav>\n )}\n </div>\n <div\n class={{\n [\"bottom-wrapper\"]: true,\n [\"classification-spacing\"]: hasClassificationBanner(),\n }}\n >\n {isSlotUsed(this.el, \"secondary-navigation\") && (\n <nav\n class=\"secondary-navigation\"\n aria-labelledby=\"secondary-navigation-landmark\"\n >\n <span\n aria-hidden=\"true\"\n class=\"navigation-landmark-title\"\n id=\"secondary-navigation-landmark\"\n >\n Secondary\n </span>\n <ul class=\"navigation-list\">\n <slot name=\"secondary-navigation\"></slot>\n </ul>\n </nav>\n )}\n <div class=\"bottom-side-nav\">\n {this.hasSecondaryNavigation && <ic-divider></ic-divider>}\n {displayExpandBtn && (\n <button\n class=\"menu-expand-button\"\n innerHTML={chevronIcon}\n onClick={() => this.toggleMenuExpanded(!this.menuExpanded)}\n aria-label={`${\n menuExpanded ? \"Collapse\" : \"Expand\"\n } side navigation`}\n ></button>\n )}\n <div class=\"app-status-wrapper\">\n {status !== \"\" && (\n <div\n class={{\n [\"app-status\"]: true,\n }}\n >\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 {version !== \"\" && (\n <ic-typography\n variant=\"label\"\n class=\"app-version\"\n aria-label=\"app version\"\n >\n {version}\n </ic-typography>\n )}\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icNavigationButtonCss","MUTABLE_ATTRIBUTES","IC_INHERITED_ARIA","NavigationButton","this","inheritedAttributes","hostMutationObserver","hostMutationCallback","mutationList","forceComponentUpdate","forEach","attributeName","includes","el","getAttribute","forceUpdate","getBrandForegroundAppearance","componentWillLoad","inheritAttributes","componentDidLoad","onComponentRequiredPropUndefined","prop","label","propName","MutationObserver","observe","attributes","componentWillRender","iconEl","querySelector","setAttribute","disconnectedCallback","_a","disconnect","navBarMenuOpenHandler","mode","navBarMenuCloseHandler","brandChangeHandler","ev","initialAppearance","detail","setFocus","buttonEl","focus","render","href","target","rel","download","referrerpolicy","className","variant","appearance","size","fullWidth","disableTooltip","IcBrandForegroundEnum","Default","buttonProps","h","Host","class","theme","Object","assign","ref","monochrome","slot","name","isSlotUsed"],"sources":["src/components/ic-navigation-button/ic-navigation-button.css?tag=ic-navigation-button&encapsulation=shadow","src/components/ic-navigation-button/ic-navigation-button.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n margin-right: var(--ic-space-xs);\n list-style: none;\n}\n\n:host(.in-side-menu) {\n margin-right: 0;\n}\n\n:host::part(button) {\n height: 100%;\n min-height: 2.5rem;\n}\n\n:host(.in-side-menu) ::part(button) {\n color: var(--ic-top-navigation-icon-active);\n}\n\n:host(.in-side-menu) ::part(button):hover {\n color: var(--ic-top-navigation-icon-hover);\n background-color: var(--ic-top-navigation-icon-hover-background);\n}\n\n:host(.in-side-menu) ::part(button):active {\n color: var(--ic-top-navigation-icon-pressed);\n background-color: var(--ic-top-navigation-icon-pressed-background);\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n State,\n h,\n Listen,\n Method,\n forceUpdate,\n} from \"@stencil/core\";\n\nimport {\n getBrandForegroundAppearance,\n inheritAttributes,\n onComponentRequiredPropUndefined,\n isSlotUsed,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcBrandForegroundNoDefault,\n IcThemeMode,\n} from \"../../utils/types\";\nimport { IcNavButtonModes } from \"./ic-navigation-button.types\";\n\nconst MUTABLE_ATTRIBUTES = [...IC_INHERITED_ARIA, \"title\"];\n\n/**\n * @slot icon - Content will be placed to the left of the button label.\n * @slot badge - Badge component overlaying the top right of the button.\n */\n\n@Component({\n tag: \"ic-navigation-button\",\n styleUrl: \"ic-navigation-button.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class NavigationButton {\n private buttonEl: HTMLIcButtonElement;\n private inheritedAttributes: { [k: string]: string } = {};\n private hostMutationObserver: MutationObserver = null;\n\n @Element() el: HTMLIcNavigationButtonElement;\n\n @State() initialAppearance: IcBrandForegroundNoDefault | IcBrandForeground =\n getBrandForegroundAppearance();\n /**\n * The display mode.\n */\n @State() mode: IcNavButtonModes = \"navbar\";\n\n /**\n * If `true`, the user can save the linked URL instead of navigating to it.\n */\n @Prop() download?: string | boolean = false;\n\n /**\n * The URL that the link points to. This will render the button as an \"a\" tag.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n\n /**\n * The label info to display.\n */\n @Prop() label!: string;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\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 componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.el, MUTABLE_ATTRIBUTES);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Navigation Button\"\n );\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n });\n }\n\n componentWillRender(): void {\n const iconEl = this.el.querySelector(`[slot=\"icon\"]`);\n iconEl !== null && iconEl.setAttribute(\"viewBox\", \"0 0 24 24\");\n }\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n }\n\n @Listen(\"icNavigationMenuOpened\", { target: \"document\" })\n navBarMenuOpenHandler(): void {\n this.mode = \"menu\";\n }\n\n @Listen(\"icNavigationMenuClosed\", { target: \"document\" })\n navBarMenuCloseHandler(): void {\n this.mode = \"navbar\";\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.initialAppearance = ev.detail.mode;\n }\n\n /**\n * Sets focus on the native `button`.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.buttonEl) {\n this.buttonEl.focus();\n }\n }\n\n // triggered when attributes of host element change\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n let forceComponentUpdate = false;\n mutationList.forEach(({ attributeName }) => {\n if (MUTABLE_ATTRIBUTES.includes(attributeName)) {\n this.inheritedAttributes[attributeName] =\n this.el.getAttribute(attributeName);\n forceComponentUpdate = true;\n }\n });\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n render() {\n const { href, target, rel, download, referrerpolicy } = this;\n\n let label = \"\";\n let className = \"\";\n let variant: \"icon\" | \"tertiary\" = \"icon\";\n let appearance: IcBrandForeground | IcBrandForegroundEnum.Default =\n this.initialAppearance;\n let size: \"medium\" | \"large\" = \"large\";\n let fullWidth = false;\n let disableTooltip = false;\n\n if (this.mode === \"menu\") {\n label = this.label;\n variant = \"tertiary\";\n appearance = IcBrandForegroundEnum.Default;\n size = \"medium\";\n fullWidth = true;\n className = \"popout-menu-button\";\n disableTooltip = true;\n }\n\n const buttonProps = {\n variant,\n appearance,\n size,\n href,\n target,\n rel,\n download,\n referrerpolicy,\n fullWidth,\n disableTooltip,\n };\n\n return (\n <Host\n class={{\n [\"in-side-menu\"]: this.mode === \"menu\",\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n >\n <ic-button\n class={className}\n aria-label={variant == \"icon\" ? this.label : null}\n ref={(el) => (this.buttonEl = el)}\n {...buttonProps}\n {...this.inheritedAttributes}\n monochrome={this.mode !== \"menu\"}\n theme={getBrandForegroundAppearance() == \"light\" ? \"light\" : \"dark\"}\n >\n {label}\n <slot slot=\"left-icon\" name=\"icon\"></slot>\n {isSlotUsed(this.el, \"badge\") && variant === \"icon\" && (\n <slot name=\"badge\"></slot>\n )}\n </ic-button>\n </Host>\n );\n }\n}\n"],"mappings":"uIAAA,MAAMA,EAAwB,03FC4B9B,MAAMC,EAAqB,IAAIC,EAAmB,S,MAcrCC,EAAgB,M,yBAEnBC,KAAAC,oBAA+C,GAC/CD,KAAAE,qBAAyC,KAsGzCF,KAAAG,qBAAwBC,IAC9B,IAAIC,EAAuB,MAC3BD,EAAaE,SAAQ,EAAGC,oBACtB,GAAIV,EAAmBW,SAASD,GAAgB,CAC9CP,KAAKC,oBAAoBM,GACvBP,KAAKS,GAAGC,aAAaH,GACvBF,EAAuB,I,KAG3B,GAAIA,EAAsB,CACxBM,EAAYX,K,0BA3GdY,I,UAIgC,S,cAKI,M,mJAmCR,S,CAE9B,iBAAAC,GACEb,KAAKC,oBAAsBa,EAAkBd,KAAKS,GAAIZ,E,CAGxD,gBAAAkB,GACEC,EACE,CAAC,CAAEC,KAAMjB,KAAKkB,MAAOC,SAAU,UAC/B,qBAGFnB,KAAKE,qBAAuB,IAAIkB,iBAAiBpB,KAAKG,sBACtDH,KAAKE,qBAAqBmB,QAAQrB,KAAKS,GAAI,CACzCa,WAAY,M,CAIhB,mBAAAC,GACE,MAAMC,EAASxB,KAAKS,GAAGgB,cAAc,iBACrCD,IAAW,MAAQA,EAAOE,aAAa,UAAW,Y,CAGpD,oBAAAC,G,OACEC,EAAA5B,KAAKE,wBAAoB,MAAA0B,SAAA,SAAAA,EAAEC,Y,CAI7B,qBAAAC,GACE9B,KAAK+B,KAAO,M,CAId,sBAAAC,GACEhC,KAAK+B,KAAO,Q,CAId,kBAAAE,CAAmBC,GACjBlC,KAAKmC,kBAAoBD,EAAGE,OAAOL,I,CAOrC,cAAMM,GACJ,GAAIrC,KAAKsC,SAAU,CACjBtC,KAAKsC,SAASC,O,EAmBlB,MAAAC,GACE,MAAMC,KAAEA,EAAIC,OAAEA,EAAMC,IAAEA,EAAGC,SAAEA,EAAQC,eAAEA,GAAmB7C,KAExD,IAAIkB,EAAQ,GACZ,IAAI4B,EAAY,GAChB,IAAIC,EAA+B,OACnC,IAAIC,EACFhD,KAAKmC,kBACP,IAAIc,EAA2B,QAC/B,IAAIC,EAAY,MAChB,IAAIC,EAAiB,MAErB,GAAInD,KAAK+B,OAAS,OAAQ,CACxBb,EAAQlB,KAAKkB,MACb6B,EAAU,WACVC,EAAaI,EAAsBC,QACnCJ,EAAO,SACPC,EAAY,KACZJ,EAAY,qBACZK,EAAiB,I,CAGnB,MAAMG,EAAc,CAClBP,UACAC,aACAC,OACAR,OACAC,SACAC,MACAC,WACAC,iBACAK,YACAC,kBAGF,OACEI,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,gBAAiBzD,KAAK+B,OAAS,OAChC,CAAC,YAAY/B,KAAK0D,SAAU1D,KAAK0D,QAAU,YAG7CH,EAAA,YAAAI,OAAAC,OAAA,CACEH,MAAOX,EAAS,aACJC,GAAW,OAAS/C,KAAKkB,MAAQ,KAC7C2C,IAAMpD,GAAQT,KAAKsC,SAAW7B,GAC1B6C,EACAtD,KAAKC,oBAAmB,CAC5B6D,WAAY9D,KAAK+B,OAAS,OAC1B2B,MAAO9C,KAAkC,QAAU,QAAU,SAE5DM,EACDqC,EAAA,QAAMQ,KAAK,YAAYC,KAAK,SAC3BC,EAAWjE,KAAKS,GAAI,UAAYsC,IAAY,QAC3CQ,EAAA,QAAMS,KAAK,W"}
@@ -1,2 +0,0 @@
1
- import{r as i,h as t,H as e,g as o}from"./p-6b5e91e2.js";import{D as n,g as s,e as a,x as r}from"./p-932f3e3c.js";import{C as h}from"./p-3b185c32.js";const d='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;--ic-typography-color:currentcolor}:host(.in-side-menu){border-bottom:var(--ic-border-width) solid\n var(--ic-divider-background-monochrome);padding:var(--ic-space-md) 0}:host .navigation-group{height:100%;width:-moz-fit-content;width:fit-content;color:var(--ic-brand-text-color);display:flex;align-items:center;justify-content:center;padding:0 var(--ic-space-md) var(--ic-space-xxs);transition:var(--ic-easing-transition-slow);position:relative;background:none;border:none;white-space:nowrap}:host(.in-side-menu) .navigation-group{height:2.5rem;width:100%;text-align:left}:host(.in-side-menu) .navigation-group .ic-typography-label{width:11.875rem}:host(.in-side-menu) .navigation-group-side-menu{color:var(--ic-top-navigation-nav-group-link);justify-content:flex-start;padding:0 var(--ic-space-md) 0 var(--ic-space-md)}:host(.in-side-menu) .navigation-group-side-menu-collapsed,:host(.in-side-menu) .navigation-group-side-menu-expanded{color:var(--ic-top-navigation-nav-group-link);justify-content:flex-start;padding-left:var(--ic-space-md)}:host(.in-side-menu) .navigation-group-side-menu-expanded{margin-bottom:var(--ic-space-xs)}:host(.in-side-menu) .navigation-group-side-menu-collapsed::after,:host(.in-side-menu) .navigation-group-side-menu-expanded::after{border-style:solid;border-width:0.125em 0.125em 0 0;content:"";display:inline-block;height:0.45em;left:0.75em;position:relative;top:-0.1em;transform:rotate(135deg);vertical-align:top;width:0.45em}:host(.in-side-menu) .navigation-group-side-menu-expanded::after{top:0.15em;transform:rotate(-45deg)}:host .navigation-group:hover,:host .navigation-group:active,:host .selected{background-color:var(--ic-architectural-20);color:var(--ic-color-text-primary-light);outline:none;cursor:pointer}:host(:not(.in-side-menu)) .navigation-group:focus{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline);z-index:var(--ic-z-index-navigation-item);transition:box-shadow var(--ic-easing-transition-fast)}:host(.in-side-menu) .navigation-group-side-menu:hover,:host(.in-side-menu) .navigation-group-side-menu:focus{background-color:var(--ic-top-navigation-nav-group-hover);color:var(--ic-top-navigation-nav-group-link);cursor:auto;box-shadow:none;outline:none}:host(.in-side-menu) .navigation-group-side-menu:active{background-color:var(--ic-top-navigation-nav-group-pressed);color:var(--ic-top-navigation-nav-group-link)}:host(.in-side-menu) .navigation-group-side-menu:focus{outline:var(--ic-hc-focus-outline)}:host(.in-side-menu) .navigation-group-side-menu-expanded:hover:not(:focus),:host(.in-side-menu) .navigation-group-side-menu-collapsed:hover:not(:focus){background-color:var(--ic-action-dark-bg-hover);color:var(--ic-action-default);cursor:pointer}:host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),:host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus){background-color:var(--ic-action-dark-bg-pressed);color:var(--ic-action-default)}:host(.in-side-menu) .navigation-group-side-menu-expanded:focus,:host(.in-side-menu) .navigation-group-side-menu-collapsed:focus{color:var(--ic-action-default);box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);outline:var(--ic-hc-focus-outline)}:host .navigation-group-dropdown{background-color:var(--ic-top-navigation-menu-background);border-bottom:var(--ic-space-1px) solid var(--ic-top-navigation-menu-border);position:absolute;left:0;right:0;padding:var(--ic-space-xs) var(--ic-space-md);box-shadow:0 0.375rem 0.5rem -0.375rem rgba(0 0 0 / 20%);z-index:calc(var(--ic-z-index-navigation-item) - 1)}:host .navigation-group-dropdown-items-list{list-style:none;display:flex;flex-flow:column wrap;align-content:flex-start;padding-left:var(--ic-space-md);max-height:16.5rem}:host .chevron-toggle-icon-wrapper{display:flex;align-items:center}:host .chevron-toggle-icon-wrapper svg{transform:rotate(90deg);height:var(--ic-space-lg);width:var(--ic-space-lg)}:host .chevron-toggle-icon-closed svg{transform:rotate(-90deg)}:host(.ic-navigation-group-expanded) .grouped-links-wrapper{height:var(--navigation-child-items-height, auto) !important;transition:var(--ic-easing-transition-slow);overflow:hidden}:host(.ic-navigation-group-side-nav) .link,:host(.ic-navigation-group-side-nav) ::slotted(a){height:var(--navigation-child-items-height, auto)}:host(.ic-navigation-group-collapsed) .grouped-links-wrapper{height:0;transition:var(--ic-easing-transition-slow);overflow:hidden}:host(.ic-navigation-group-side-nav) .navigation-group{height:var(--navigation-group-height);width:var(--navigation-group-width);justify-content:var(--navigation-group-justify-content);padding-right:var(--navigation-group-expand-toggle-padding)}:host(.ic-navigation-group-side-nav) .navigation-group:hover,:host(.ic-navigation-group-side-nav) .navigation-group:active,:host(.ic-navigation-group-side-nav) .selected{background-color:var(--navigation-group-hover);color:var(--navigation-group-text-hover)}:host(.ic-navigation-group-side-nav) .navigation-group:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);background:none}:host(.ic-navigation-group-side-nav) .ic-typography-caption{position:var(--navigation-group-title-position);left:var(--navigation-group-title-position-left);white-space:nowrap}';const c=class{constructor(e){i(this,e);this.allGroupedNavigationItems=[];this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS=100;this.IC_NAVIGATION_ITEM="ic-navigation-item";this.mouseGate=false;this.nodeName="IC-NAVIGATION-GROUP";this.GROUPED_LINKS_WRAPPER_CLASS=".grouped-links-wrapper";this.sideNavExpandHandler=i=>{this.isSideNavExpanded=i.detail.sideNavExpanded;const t=this.el.shadowRoot.querySelector(this.GROUPED_LINKS_WRAPPER_CLASS);if(!t)return;if(this.isSideNavExpanded){if(this.expanded&&this.expandedNavItemsHeight){this.setGroupedLinksElementHeight(t,this.expandedNavItemsHeight)}else if(this.expanded){setTimeout((()=>{this.expandedNavItemsHeight=this.getNavigationChildItemsHeight();this.setGroupedLinksElementHeight(t,this.expandedNavItemsHeight)}),this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS)}}else{if(this.expanded&&this.collapsedNavItemsHeight){this.setGroupedLinksElementHeight(t,this.collapsedNavItemsHeight)}else if(this.expanded){setTimeout((()=>{this.collapsedNavItemsHeight=this.getNavigationChildItemsHeight();this.setGroupedLinksElementHeight(t,this.collapsedNavItemsHeight)}),this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS)}}};this.topNavResizedHandler=({detail:i})=>{var t;const{size:e}=i;if(e!==this.deviceSize){this.deviceSize=e;this.inTopNavSideMenu=e<=(((t=this.parentEl)===null||t===void 0?void 0:t.customMobileBreakpoint)||n.L)}};this.setGroupedNavItemTabIndex=i=>{this.el.querySelectorAll(this.IC_NAVIGATION_ITEM).forEach((t=>{const e=t.shadowRoot.querySelector("a")||t.querySelector("a");if(e){e.setAttribute("tabindex",i)}}))};this.toggleGroupedLinkWrapperHeight=(i,t)=>{if(!i)return;if(t){if(this.isSideNavExpanded){this.setGroupedLinksElementHeight(i,this.expandedNavItemsHeight)}else{this.setGroupedLinksElementHeight(i,this.collapsedNavItemsHeight)}this.setGroupedNavItemTabIndex("0")}else{i.style.setProperty("--navigation-child-items-height","0");this.setGroupedNavItemTabIndex("-1")}};this.toggleExpanded=()=>{this.expanded=!this.expanded;const i=this.el.shadowRoot.querySelector(this.GROUPED_LINKS_WRAPPER_CLASS);this.toggleGroupedLinkWrapperHeight(i,this.expanded)};this.handleClick=i=>{if(this.navigationType==="top"&&i.detail){this.toggleDropdown()}else{this.toggleExpanded()}};this.handleBlur=i=>{const t=i.relatedTarget;if(!this.el.contains(t)){this.hideDropdown()}};this.handleTopNavKeydown=i=>{if(i.key===" "||i.key==="Enter"){this.toggleDropdown()}else if(!this.inTopNavSideMenu&&i.key==="Escape"){this.hideDropdown()}};this.handleKeydown=i=>{if(i.key==="Enter"||i.key===" "||i.key==="Escape"){switch(this.navigationType){case"top":this.handleTopNavKeydown(i);break;case"side":this.toggleExpanded();i.preventDefault();break;default:this.toggleExpanded();break}}};this.handleMouseLeave=i=>{const t=i.relatedTarget;this.mouseGate=false;if(!this.el.contains(t)&&t!==this.dropdown&&document.activeElement!==this.el&&!this.el.contains(document.activeElement)&&(t===null||t===void 0?void 0:t.nodeName)===this.nodeName&&this.dropdownOpen===true){this.mouseGate=true;this.hideDropdown()}else if(!this.el.contains(t)&&t!==this.dropdown&&!this.el.contains(document.activeElement)){this.mouseGate=false;setTimeout((()=>{this.dropdownOpen?this.hideDropdown():null}),500)}};this.handleMouseEnter=i=>{const t=i.relatedTarget;document.addEventListener("keydown",this.handleKeydown);if((t===null||t===void 0?void 0:t.nodeName)===this.nodeName&&this.mouseGate===true){this.showDropdown()}else if(this.dropdownOpen===false&&t!==null&&this.mouseGate===false){this.mouseGate=true;setTimeout((()=>{this.mouseGate&&this.showDropdown()}),500)}};this.renderDropdownGroupedLinks=()=>t("div",{class:{["navigation-group-dropdown"]:!this.inTopNavSideMenu,["navigation-group-dropdown-side-menu"]:this.inTopNavSideMenu,["selected"]:this.dropdownOpen&&!this.inTopNavSideMenu},onMouseLeave:!this.inTopNavSideMenu?this.handleMouseLeave:null,ref:i=>this.dropdown=i},t("nav",{class:{["navigation-group-dropdown-items"]:!this.inTopNavSideMenu}},t("ul",null,t("slot",null))));this.renderGroupedLinks=()=>t("ul",{class:"grouped-links-wrapper"},t("slot",null));this.getNavigationChildItemsHeight=()=>{let i=0;this.allGroupedNavigationItems.forEach((t=>{i+=t.offsetHeight}));return`${i}px`};this.setInitialGroupedLinksWrapperHeight=()=>{const i=this.el.shadowRoot.querySelector(this.GROUPED_LINKS_WRAPPER_CLASS);if(!i)return;if(!this.isSideNavExpanded&&!this.collapsedNavItemsHeight&&this.expanded){this.collapsedNavItemsHeight=this.getNavigationChildItemsHeight();this.setGroupedLinksElementHeight(i,this.collapsedNavItemsHeight)}if(this.isSideNavExpanded&&this.expanded){this.expandedNavItemsHeight=this.getNavigationChildItemsHeight();this.setGroupedLinksElementHeight(i,this.expandedNavItemsHeight)}};this.renderNavigationItems=()=>{if(this.dropdownOpen||this.inTopNavSideMenu&&!this.expandable){return this.renderDropdownGroupedLinks()}if(this.navigationType!=="top"){return this.renderGroupedLinks()}return null};this.deviceSize=n.XL;this.dropdownOpen=false;this.expanded=true;this.focusStyle=s();this.inTopNavSideMenu=false;this.navigationType=undefined;this.parentEl=undefined;this.expandable=false;this.label=undefined;this.theme="inherit"}disconnectedCallback(){var i,t;if(this.navigationType==="side"){(i=this.parentEl)===null||i===void 0?void 0:i.removeEventListener("icSideNavExpanded",this.sideNavExpandHandler)}else if(this.navigationType==="top"){(t=this.parentEl)===null||t===void 0?void 0:t.removeEventListener("icTopNavResized",this.topNavResizedHandler)}}componentWillLoad(){this.deviceSize=a();const{navType:i,parent:t}=r(this.el);this.navigationType=i;this.parentEl=t;if(this.navigationType==="side"){this.parentEl.addEventListener("icSideNavExpanded",this.sideNavExpandHandler)}else if(this.navigationType==="top"){this.parentEl.addEventListener("icTopNavResized",this.topNavResizedHandler);if(this.deviceSize<=this.parentEl.customMobileBreakpoint)this.inTopNavSideMenu=true}}componentDidLoad(){this.allGroupedNavigationItems=Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));setTimeout((()=>this.setInitialGroupedLinksWrapperHeight()),this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS)}childBlurHandler(){this.hideDropdown()}navItemClickHandler(){this.hideDropdown()}brandChangeHandler(i){this.focusStyle=i.detail.mode}async setFocus(){if(this.groupEl){this.groupEl.focus()}}toggleDropdown(){this.dropdownOpen=!this.dropdownOpen}showDropdown(){if(!this.dropdownOpen){this.toggleDropdown()}}hideDropdown(){document.removeEventListener("keydown",this.handleKeydown);if(this.dropdownOpen){this.toggleDropdown()}}setGroupedLinksElementHeight(i,t){i.style.setProperty("--navigation-child-items-height",t)}render(){const{label:i,dropdownOpen:o,inTopNavSideMenu:n,expandable:s}=this;return t(e,{class:{["in-side-menu"]:n,"ic-navigation-group-expanded":this.expanded,"ic-navigation-group-collapsed":!this.expanded,["ic-navigation-group-side-nav"]:this.navigationType==="side",[`ic-theme-${this.theme}`]:this.theme!=="inherit"},role:"listitem"},t("button",{onMouseEnter:!n&&this.navigationType==="top"&&this.handleMouseEnter,onMouseLeave:this.navigationType==="top"&&this.handleMouseLeave,tabindex:n&&!s?"-1":"0",onBlur:this.handleBlur,onClick:s?this.handleClick:null,onKeyDown:this.handleKeydown,class:{["navigation-group"]:true,[this.focusStyle]:!n,["navigation-group-side-menu"]:n&&!s,["navigation-group-side-menu-collapsed"]:n&&s&&!o,["navigation-group-side-menu-expanded"]:n&&s&&o,["selected"]:o&&!n},ref:i=>this.groupEl=i,"aria-expanded":`${o||this.expanded}`,"aria-haspopup":`${!n&&this.navigationType==="top"}`},t("ic-typography",{variant:this.navigationType==="side"?"caption":"label"},i),this.navigationType==="side"&&s&&t("div",{class:{"chevron-toggle-icon-wrapper":true,"chevron-toggle-icon-closed":this.expanded},innerHTML:h})),this.renderNavigationItems())}static get delegatesFocus(){return true}get el(){return o(this)}};c.style=d;export{c as ic_navigation_group};
2
- //# sourceMappingURL=p-84c3a870.entry.js.map