@ukic/web-components 3.0.0-alpha.11 → 3.0.0-alpha.13

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 (985) hide show
  1. package/dist/cjs/app-globals-3a1e7e63.js +7 -0
  2. package/dist/cjs/app-globals-3a1e7e63.js.map +1 -0
  3. package/dist/cjs/core.cjs.js +13 -11
  4. package/dist/cjs/core.cjs.js.map +1 -1
  5. package/dist/cjs/{helpers-eca4c27e.js → helpers-08a9ec1c.js} +31 -26
  6. package/dist/cjs/helpers-08a9ec1c.js.map +1 -0
  7. package/dist/cjs/ic-accordion-group.cjs.entry.js +31 -14
  8. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-accordion.cjs.entry.js +65 -42
  10. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-alert.cjs.entry.js +37 -16
  12. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-back-to-top.cjs.entry.js +29 -15
  14. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-badge.cjs.entry.js +41 -22
  16. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +53 -37
  18. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-breadcrumb.cjs.entry.js +35 -21
  20. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-button_3.cjs.entry.js +246 -144
  22. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-card-vertical.cjs.entry.js +53 -32
  24. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-checkbox-group.cjs.entry.js +32 -9
  26. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-checkbox.cjs.entry.js +48 -29
  28. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-chip.cjs.entry.js +44 -23
  30. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-classification-banner.cjs.entry.js +20 -4
  32. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-data-list.cjs.entry.js +11 -5
  34. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-data-row.cjs.entry.js +28 -18
  36. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-dialog.cjs.entry.js +141 -98
  38. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-divider.cjs.entry.js +35 -15
  40. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-empty-state.cjs.entry.js +15 -9
  42. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-footer-link-group.cjs.entry.js +8 -8
  44. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-footer-link.cjs.entry.js +9 -10
  46. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-footer.cjs.entry.js +32 -19
  48. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-hero.cjs.entry.js +29 -17
  50. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +32 -20
  52. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +126 -68
  54. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-input-label_2.cjs.entry.js +45 -17
  56. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-link.cjs.entry.js +28 -21
  58. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-menu-group.cjs.entry.js +5 -5
  60. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-menu-item.cjs.entry.js +20 -18
  62. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-navigation-button.cjs.entry.js +25 -19
  64. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-navigation-group.cjs.entry.js +45 -27
  66. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-navigation-item.cjs.entry.js +69 -48
  68. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-navigation-menu.cjs.entry.js +23 -15
  70. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-page-header.cjs.entry.js +45 -25
  72. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-pagination-item.cjs.entry.js +27 -14
  74. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-pagination.cjs.entry.js +60 -27
  76. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-popover-menu.cjs.entry.js +57 -42
  78. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-radio-group.cjs.entry.js +53 -28
  80. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-radio-option.cjs.entry.js +36 -24
  82. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-search-bar.cjs.entry.js +153 -63
  84. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-section-container.cjs.entry.js +12 -5
  86. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-select.cjs.entry.js +230 -136
  88. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-side-navigation.cjs.entry.js +104 -71
  90. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-skeleton.cjs.entry.js +11 -4
  92. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-skip-link.cjs.entry.js +54 -0
  94. package/dist/cjs/ic-skip-link.cjs.entry.js.map +1 -0
  95. package/dist/cjs/ic-status-tag.cjs.entry.js +25 -6
  96. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-step.cjs.entry.js +33 -32
  98. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-stepper.cjs.entry.js +50 -35
  100. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-switch.cjs.entry.js +50 -22
  102. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ic-tab-context.cjs.entry.js +45 -26
  104. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ic-tab-group.cjs.entry.js +14 -9
  106. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-tab-panel.cjs.entry.js +16 -12
  108. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-tab.cjs.entry.js +21 -15
  110. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-text-field.cjs.entry.js +175 -69
  112. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  113. package/dist/cjs/ic-theme.cjs.entry.js +13 -7
  114. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  115. package/dist/cjs/ic-toast-region.cjs.entry.js +2 -3
  116. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  117. package/dist/cjs/ic-toast.cjs.entry.js +29 -21
  118. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  119. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +61 -29
  120. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  121. package/dist/cjs/ic-toggle-button.cjs.entry.js +81 -48
  122. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  123. package/dist/cjs/ic-top-navigation.cjs.entry.js +60 -31
  124. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  125. package/dist/cjs/ic-typography.cjs.entry.js +53 -27
  126. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  127. package/dist/cjs/index-d337cd8a.js +2611 -0
  128. package/dist/cjs/index-d337cd8a.js.map +1 -0
  129. package/dist/cjs/loader.cjs.js +5 -3
  130. package/dist/cjs/loader.cjs.js.map +1 -1
  131. package/dist/collection/collection-manifest.json +5 -4
  132. package/dist/collection/components/ic-accordion/ic-accordion.js +80 -46
  133. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  134. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +49 -21
  135. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  136. package/dist/collection/components/ic-alert/ic-alert.js +58 -22
  137. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  138. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +49 -18
  139. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +59 -14
  140. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  141. package/dist/collection/components/ic-back-to-top/ic-back-to-top.stories.js +54 -0
  142. package/dist/collection/components/ic-back-to-top/ic-back-to-top.types.js.map +1 -1
  143. package/dist/collection/components/ic-badge/ic-badge.js +69 -32
  144. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  145. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +49 -24
  146. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  147. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +63 -40
  148. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  149. package/dist/collection/components/ic-button/ic-button.css +0 -8
  150. package/dist/collection/components/ic-button/ic-button.js +211 -98
  151. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  152. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +88 -42
  153. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js.map +1 -1
  154. package/dist/collection/components/ic-checkbox/ic-checkbox.js +91 -45
  155. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  156. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +62 -20
  157. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  158. package/dist/collection/components/ic-chip/ic-chip.js +67 -30
  159. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  160. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +32 -7
  161. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  162. package/dist/collection/components/ic-data-list/ic-data-list.js +18 -7
  163. package/dist/collection/components/ic-data-list/ic-data-list.js.map +1 -1
  164. package/dist/collection/components/ic-data-row/ic-data-row.js +38 -21
  165. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  166. package/dist/collection/components/ic-dialog/ic-dialog.js +176 -110
  167. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  168. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +100 -49
  169. package/dist/collection/components/ic-divider/ic-divider.js +55 -22
  170. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  171. package/dist/collection/components/ic-divider/ic-divider.stories.js +2 -2
  172. package/dist/collection/components/ic-empty-state/ic-empty-state.js +32 -13
  173. package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
  174. package/dist/collection/components/ic-footer/ic-footer.js +49 -25
  175. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  176. package/dist/collection/components/ic-footer-link/ic-footer-link.js +24 -15
  177. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  178. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +6 -5
  179. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  180. package/dist/collection/components/ic-hero/ic-hero.css +1 -1
  181. package/dist/collection/components/ic-hero/ic-hero.js +54 -25
  182. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  183. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +40 -21
  184. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  185. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +9 -0
  186. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +55 -20
  187. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  188. package/dist/collection/components/ic-input-container/ic-input-container.js +16 -6
  189. package/dist/collection/components/ic-input-container/ic-input-container.js.map +1 -1
  190. package/dist/collection/components/ic-input-label/ic-input-label.js +48 -11
  191. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  192. package/dist/collection/components/ic-input-validation/ic-input-validation.js +31 -14
  193. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  194. package/dist/collection/components/ic-link/ic-link.js +49 -28
  195. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  196. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +124 -66
  197. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  198. package/dist/collection/components/ic-menu/ic-menu.js +136 -74
  199. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  200. package/dist/collection/components/ic-menu/ic-menu.types.js.map +1 -1
  201. package/dist/collection/components/ic-menu-group/ic-menu-group.js +4 -5
  202. package/dist/collection/components/ic-menu-group/ic-menu-group.js.map +1 -1
  203. package/dist/collection/components/ic-menu-item/ic-menu-item.js +53 -28
  204. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  205. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +44 -23
  206. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  207. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +83 -28
  208. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  209. package/dist/collection/components/ic-navigation-group/ic-navigation-group.types.js +2 -0
  210. package/dist/collection/components/ic-navigation-group/ic-navigation-group.types.js.map +1 -0
  211. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +107 -63
  212. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  213. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +30 -17
  214. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  215. package/dist/collection/components/ic-page-header/ic-page-header.js +68 -31
  216. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  217. package/dist/collection/components/ic-pagination/ic-pagination.js +100 -44
  218. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  219. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +48 -22
  220. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  221. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +80 -52
  222. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  223. package/dist/collection/components/ic-radio-group/ic-radio-group.js +87 -41
  224. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  225. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +31 -0
  226. package/dist/collection/components/ic-radio-option/ic-radio-option.css +20 -0
  227. package/dist/collection/components/ic-radio-option/ic-radio-option.js +64 -33
  228. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  229. package/dist/collection/components/ic-search-bar/ic-search-bar.js +252 -101
  230. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  231. package/dist/collection/components/ic-search-bar/ic-search-bar.types.js.map +1 -1
  232. package/dist/collection/components/ic-section-container/ic-section-container.js +15 -5
  233. package/dist/collection/components/ic-section-container/ic-section-container.js.map +1 -1
  234. package/dist/collection/components/ic-select/ic-select.css +1 -1
  235. package/dist/collection/components/ic-select/ic-select.js +329 -176
  236. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  237. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +1 -2
  238. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +143 -89
  239. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  240. package/dist/collection/components/ic-skeleton/ic-skeleton.js +14 -4
  241. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  242. package/dist/collection/components/ic-skip-link/ic-skip-link.css +26 -0
  243. package/dist/collection/components/ic-skip-link/ic-skip-link.js +202 -0
  244. package/dist/collection/components/ic-skip-link/ic-skip-link.js.map +1 -0
  245. package/dist/collection/components/ic-skip-link/ic-skip-link.stories.js +160 -0
  246. package/dist/collection/components/ic-status-tag/ic-status-tag.js +41 -9
  247. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  248. package/dist/collection/components/ic-step/ic-step.js +66 -40
  249. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  250. package/dist/collection/components/ic-stepper/ic-stepper.js +61 -37
  251. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  252. package/dist/collection/components/ic-switch/ic-switch.js +72 -27
  253. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  254. package/dist/collection/components/ic-tab/ic-tab.js +40 -21
  255. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  256. package/dist/collection/components/ic-tab-context/ic-tab-context.js +60 -31
  257. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  258. package/dist/collection/components/ic-tab-group/ic-tab-group.js +21 -9
  259. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  260. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +5 -1
  261. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +50 -14
  262. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  263. package/dist/collection/components/ic-text-field/ic-text-field.js +321 -140
  264. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  265. package/dist/collection/components/ic-theme/ic-theme.js +19 -9
  266. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  267. package/dist/collection/components/ic-toast/ic-toast.js +49 -28
  268. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  269. package/dist/collection/components/ic-toast-region/ic-toast-region.js +6 -5
  270. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  271. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +116 -60
  272. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  273. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +90 -35
  274. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  275. package/dist/collection/components/ic-tooltip/ic-tooltip.js +65 -33
  276. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  277. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +91 -45
  278. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  279. package/dist/collection/components/ic-typography/ic-typography.js +73 -32
  280. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  281. package/dist/collection/utils/helpers.js +29 -24
  282. package/dist/collection/utils/helpers.js.map +1 -1
  283. package/dist/collection/utils/testa11y.helpers.js +2 -1
  284. package/dist/collection/utils/testa11y.helpers.js.map +1 -1
  285. package/dist/collection/utils/types.js.map +1 -1
  286. package/dist/components/helpers.js +29 -24
  287. package/dist/components/helpers.js.map +1 -1
  288. package/dist/components/ic-accordion-group.js +29 -12
  289. package/dist/components/ic-accordion-group.js.map +1 -1
  290. package/dist/components/ic-accordion.js +63 -40
  291. package/dist/components/ic-accordion.js.map +1 -1
  292. package/dist/components/ic-alert.js +35 -14
  293. package/dist/components/ic-alert.js.map +1 -1
  294. package/dist/components/ic-back-to-top.js +28 -13
  295. package/dist/components/ic-back-to-top.js.map +1 -1
  296. package/dist/components/ic-badge.js +39 -20
  297. package/dist/components/ic-badge.js.map +1 -1
  298. package/dist/components/ic-breadcrumb-group.js +51 -35
  299. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  300. package/dist/components/ic-breadcrumb2.js +33 -19
  301. package/dist/components/ic-breadcrumb2.js.map +1 -1
  302. package/dist/components/ic-button2.js +113 -63
  303. package/dist/components/ic-button2.js.map +1 -1
  304. package/dist/components/ic-card-vertical.js +51 -30
  305. package/dist/components/ic-card-vertical.js.map +1 -1
  306. package/dist/components/ic-checkbox-group.js +30 -7
  307. package/dist/components/ic-checkbox-group.js.map +1 -1
  308. package/dist/components/ic-checkbox.js +46 -27
  309. package/dist/components/ic-checkbox.js.map +1 -1
  310. package/dist/components/ic-chip.js +42 -21
  311. package/dist/components/ic-chip.js.map +1 -1
  312. package/dist/components/ic-classification-banner.js +19 -3
  313. package/dist/components/ic-classification-banner.js.map +1 -1
  314. package/dist/components/ic-data-list.js +10 -4
  315. package/dist/components/ic-data-list.js.map +1 -1
  316. package/dist/components/ic-data-row.js +27 -17
  317. package/dist/components/ic-data-row.js.map +1 -1
  318. package/dist/components/ic-dialog.js +139 -96
  319. package/dist/components/ic-dialog.js.map +1 -1
  320. package/dist/components/ic-divider2.js +33 -13
  321. package/dist/components/ic-divider2.js.map +1 -1
  322. package/dist/components/ic-empty-state.js +13 -7
  323. package/dist/components/ic-empty-state.js.map +1 -1
  324. package/dist/components/ic-footer-link-group.js +6 -6
  325. package/dist/components/ic-footer-link-group.js.map +1 -1
  326. package/dist/components/ic-footer-link.js +7 -8
  327. package/dist/components/ic-footer-link.js.map +1 -1
  328. package/dist/components/ic-footer.js +31 -18
  329. package/dist/components/ic-footer.js.map +1 -1
  330. package/dist/components/ic-hero.js +27 -15
  331. package/dist/components/ic-hero.js.map +1 -1
  332. package/dist/components/ic-horizontal-scroll2.js +30 -18
  333. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  334. package/dist/components/ic-input-component-container2.js +31 -9
  335. package/dist/components/ic-input-component-container2.js.map +1 -1
  336. package/dist/components/ic-input-container2.js +12 -5
  337. package/dist/components/ic-input-container2.js.map +1 -1
  338. package/dist/components/ic-input-label2.js +28 -8
  339. package/dist/components/ic-input-label2.js.map +1 -1
  340. package/dist/components/ic-input-validation2.js +15 -7
  341. package/dist/components/ic-input-validation2.js.map +1 -1
  342. package/dist/components/ic-link2.js +26 -19
  343. package/dist/components/ic-link2.js.map +1 -1
  344. package/dist/components/ic-loading-indicator2.js +89 -54
  345. package/dist/components/ic-loading-indicator2.js.map +1 -1
  346. package/dist/components/ic-menu-group.js +3 -3
  347. package/dist/components/ic-menu-group.js.map +1 -1
  348. package/dist/components/ic-menu-item2.js +18 -16
  349. package/dist/components/ic-menu-item2.js.map +1 -1
  350. package/dist/components/ic-menu2.js +81 -52
  351. package/dist/components/ic-menu2.js.map +1 -1
  352. package/dist/components/ic-navigation-button.js +23 -17
  353. package/dist/components/ic-navigation-button.js.map +1 -1
  354. package/dist/components/ic-navigation-group.js +45 -27
  355. package/dist/components/ic-navigation-group.js.map +1 -1
  356. package/dist/components/ic-navigation-item.js +68 -47
  357. package/dist/components/ic-navigation-item.js.map +1 -1
  358. package/dist/components/ic-navigation-menu2.js +21 -13
  359. package/dist/components/ic-navigation-menu2.js.map +1 -1
  360. package/dist/components/ic-page-header.js +44 -24
  361. package/dist/components/ic-page-header.js.map +1 -1
  362. package/dist/components/ic-pagination-item2.js +25 -12
  363. package/dist/components/ic-pagination-item2.js.map +1 -1
  364. package/dist/components/ic-pagination.js +58 -25
  365. package/dist/components/ic-pagination.js.map +1 -1
  366. package/dist/components/ic-popover-menu.js +55 -40
  367. package/dist/components/ic-popover-menu.js.map +1 -1
  368. package/dist/components/ic-radio-group.js +51 -26
  369. package/dist/components/ic-radio-group.js.map +1 -1
  370. package/dist/components/ic-radio-option.js +34 -22
  371. package/dist/components/ic-radio-option.js.map +1 -1
  372. package/dist/components/ic-search-bar.js +151 -61
  373. package/dist/components/ic-search-bar.js.map +1 -1
  374. package/dist/components/ic-section-container2.js +11 -4
  375. package/dist/components/ic-section-container2.js.map +1 -1
  376. package/dist/components/ic-select.js +228 -134
  377. package/dist/components/ic-select.js.map +1 -1
  378. package/dist/components/ic-side-navigation.js +103 -70
  379. package/dist/components/ic-side-navigation.js.map +1 -1
  380. package/dist/components/ic-skeleton.js +10 -3
  381. package/dist/components/ic-skeleton.js.map +1 -1
  382. package/dist/components/ic-skip-link.d.ts +11 -0
  383. package/dist/components/ic-skip-link.js +82 -0
  384. package/dist/components/ic-skip-link.js.map +1 -0
  385. package/dist/components/ic-status-tag.js +23 -4
  386. package/dist/components/ic-status-tag.js.map +1 -1
  387. package/dist/components/ic-step.js +31 -30
  388. package/dist/components/ic-step.js.map +1 -1
  389. package/dist/components/ic-stepper.js +48 -33
  390. package/dist/components/ic-stepper.js.map +1 -1
  391. package/dist/components/ic-switch.js +48 -20
  392. package/dist/components/ic-switch.js.map +1 -1
  393. package/dist/components/ic-tab-context.js +44 -25
  394. package/dist/components/ic-tab-context.js.map +1 -1
  395. package/dist/components/ic-tab-group.js +12 -7
  396. package/dist/components/ic-tab-group.js.map +1 -1
  397. package/dist/components/ic-tab-panel.js +16 -11
  398. package/dist/components/ic-tab-panel.js.map +1 -1
  399. package/dist/components/ic-tab.js +19 -13
  400. package/dist/components/ic-tab.js.map +1 -1
  401. package/dist/components/ic-text-field.js +173 -67
  402. package/dist/components/ic-text-field.js.map +1 -1
  403. package/dist/components/ic-theme.js +11 -5
  404. package/dist/components/ic-theme.js.map +1 -1
  405. package/dist/components/ic-toast-region.js +1 -2
  406. package/dist/components/ic-toast-region.js.map +1 -1
  407. package/dist/components/ic-toast.js +27 -19
  408. package/dist/components/ic-toast.js.map +1 -1
  409. package/dist/components/ic-toggle-button-group.js +59 -27
  410. package/dist/components/ic-toggle-button-group.js.map +1 -1
  411. package/dist/components/ic-toggle-button.js +79 -46
  412. package/dist/components/ic-toggle-button.js.map +1 -1
  413. package/dist/components/ic-tooltip2.js +42 -25
  414. package/dist/components/ic-tooltip2.js.map +1 -1
  415. package/dist/components/ic-top-navigation.js +59 -30
  416. package/dist/components/ic-top-navigation.js.map +1 -1
  417. package/dist/components/ic-typography2.js +51 -25
  418. package/dist/components/ic-typography2.js.map +1 -1
  419. package/dist/core/core.css +40 -29
  420. package/dist/core/core.esm.js +1 -1
  421. package/dist/core/core.esm.js.map +1 -1
  422. package/dist/core/index.esm.js.map +1 -1
  423. package/dist/core/p-052d1ff0.entry.js +2 -0
  424. package/dist/core/p-052d1ff0.entry.js.map +1 -0
  425. package/dist/core/p-08fbea60.entry.js +2 -0
  426. package/dist/core/p-08fbea60.entry.js.map +1 -0
  427. package/dist/core/p-0b757d78.entry.js +2 -0
  428. package/dist/core/p-0b757d78.entry.js.map +1 -0
  429. package/dist/core/p-0f34465d.entry.js +2 -0
  430. package/dist/core/p-0f34465d.entry.js.map +1 -0
  431. package/dist/core/p-111b3186.entry.js +2 -0
  432. package/dist/core/p-111b3186.entry.js.map +1 -0
  433. package/dist/core/p-144a31ec.entry.js +2 -0
  434. package/dist/core/p-144a31ec.entry.js.map +1 -0
  435. package/dist/core/{p-ca11666f.entry.js → p-180ea8ac.entry.js} +2 -2
  436. package/dist/core/p-180ea8ac.entry.js.map +1 -0
  437. package/dist/core/{p-39ab6387.entry.js → p-196e3d33.entry.js} +2 -2
  438. package/dist/core/p-196e3d33.entry.js.map +1 -0
  439. package/dist/core/{p-96b4ca6e.entry.js → p-1d6638c8.entry.js} +2 -2
  440. package/dist/core/p-1d6638c8.entry.js.map +1 -0
  441. package/dist/core/p-1d9a929b.entry.js +2 -0
  442. package/dist/core/p-1d9a929b.entry.js.map +1 -0
  443. package/dist/core/{p-27274ca8.entry.js → p-1fccec19.entry.js} +2 -2
  444. package/dist/core/p-1fccec19.entry.js.map +1 -0
  445. package/dist/core/p-269f841d.js +2 -0
  446. package/dist/core/p-269f841d.js.map +1 -0
  447. package/dist/core/{p-094f51b6.entry.js → p-27de359f.entry.js} +2 -2
  448. package/dist/core/p-27de359f.entry.js.map +1 -0
  449. package/dist/core/p-2cb55e86.entry.js +2 -0
  450. package/dist/core/p-2cb55e86.entry.js.map +1 -0
  451. package/dist/core/p-30a262d2.entry.js +2 -0
  452. package/dist/core/p-30a262d2.entry.js.map +1 -0
  453. package/dist/core/p-3b185c32.js.map +1 -1
  454. package/dist/core/{p-a178d53c.entry.js → p-40bc1f3e.entry.js} +2 -2
  455. package/dist/core/p-40bc1f3e.entry.js.map +1 -0
  456. package/dist/core/p-426ec638.js.map +1 -1
  457. package/dist/core/p-47b46637.entry.js +2 -0
  458. package/dist/core/p-47b46637.entry.js.map +1 -0
  459. package/dist/core/p-4a5ab31e.entry.js +2 -0
  460. package/dist/core/p-4a5ab31e.entry.js.map +1 -0
  461. package/dist/core/p-4e4014cd.entry.js +2 -0
  462. package/dist/core/p-4e4014cd.entry.js.map +1 -0
  463. package/dist/core/{p-25d3c3a6.entry.js → p-55eb89cc.entry.js} +2 -2
  464. package/dist/core/p-55eb89cc.entry.js.map +1 -0
  465. package/dist/core/p-59287779.entry.js +2 -0
  466. package/dist/core/p-59287779.entry.js.map +1 -0
  467. package/dist/core/p-59fc58e1.entry.js +2 -0
  468. package/dist/core/p-59fc58e1.entry.js.map +1 -0
  469. package/dist/core/p-5b7d8ee9.entry.js +2 -0
  470. package/dist/core/p-5b7d8ee9.entry.js.map +1 -0
  471. package/dist/core/{p-b404b307.entry.js → p-5fa5ba50.entry.js} +2 -2
  472. package/dist/core/p-5fa5ba50.entry.js.map +1 -0
  473. package/dist/core/p-68a5aaff.js.map +1 -1
  474. package/dist/core/{p-bbd4f487.entry.js → p-6c8e72b4.entry.js} +2 -2
  475. package/dist/core/p-6c8e72b4.entry.js.map +1 -0
  476. package/dist/core/p-6fdb8a79.entry.js +2 -0
  477. package/dist/core/p-6fdb8a79.entry.js.map +1 -0
  478. package/dist/core/{p-146b2788.entry.js → p-72140621.entry.js} +2 -2
  479. package/dist/core/p-72140621.entry.js.map +1 -0
  480. package/dist/core/p-76bdbc98.entry.js +2 -0
  481. package/dist/core/p-76bdbc98.entry.js.map +1 -0
  482. package/dist/core/{p-4cfe1dd8.entry.js → p-78c3ca49.entry.js} +2 -2
  483. package/dist/core/p-78c3ca49.entry.js.map +1 -0
  484. package/dist/core/p-78c51cba.entry.js +2 -0
  485. package/dist/core/p-78c51cba.entry.js.map +1 -0
  486. package/dist/core/{p-3d565739.entry.js → p-7ea79205.entry.js} +2 -2
  487. package/dist/core/p-7ea79205.entry.js.map +1 -0
  488. package/dist/core/p-8577de91.entry.js +2 -0
  489. package/dist/core/p-8577de91.entry.js.map +1 -0
  490. package/dist/core/{p-26bc7c62.entry.js → p-8856dff4.entry.js} +2 -2
  491. package/dist/core/p-8856dff4.entry.js.map +1 -0
  492. package/dist/core/p-8870d5d8.entry.js +2 -0
  493. package/dist/core/p-8870d5d8.entry.js.map +1 -0
  494. package/dist/core/{p-00587c99.entry.js → p-8b928cc9.entry.js} +2 -2
  495. package/dist/core/p-8b928cc9.entry.js.map +1 -0
  496. package/dist/core/p-8d1bee7a.entry.js +2 -0
  497. package/dist/core/p-8d1bee7a.entry.js.map +1 -0
  498. package/dist/core/p-8e4e97b4.js +3 -0
  499. package/dist/core/p-8e4e97b4.js.map +1 -0
  500. package/dist/core/p-8f319e1e.entry.js +2 -0
  501. package/dist/core/p-8f319e1e.entry.js.map +1 -0
  502. package/dist/core/p-90de3f5d.entry.js +2 -0
  503. package/dist/core/p-90de3f5d.entry.js.map +1 -0
  504. package/dist/core/p-912c8594.entry.js +2 -0
  505. package/dist/core/p-912c8594.entry.js.map +1 -0
  506. package/dist/core/{p-67b3cd55.entry.js → p-9206379d.entry.js} +2 -2
  507. package/dist/core/p-9206379d.entry.js.map +1 -0
  508. package/dist/core/p-94748b96.entry.js +2 -0
  509. package/dist/core/p-94748b96.entry.js.map +1 -0
  510. package/dist/core/p-98f906ba.entry.js +2 -0
  511. package/dist/core/p-98f906ba.entry.js.map +1 -0
  512. package/dist/core/{p-5b836707.entry.js → p-999102ee.entry.js} +2 -2
  513. package/dist/core/p-999102ee.entry.js.map +1 -0
  514. package/dist/core/p-9b741f96.entry.js +2 -0
  515. package/dist/core/p-9b741f96.entry.js.map +1 -0
  516. package/dist/core/p-9bcd2c77.entry.js +2 -0
  517. package/dist/core/p-9bcd2c77.entry.js.map +1 -0
  518. package/dist/core/p-9ee2fe04.entry.js +2 -0
  519. package/dist/core/p-9ee2fe04.entry.js.map +1 -0
  520. package/dist/core/{p-e2cf6e7e.entry.js → p-a56ec6d8.entry.js} +2 -2
  521. package/dist/core/p-a56ec6d8.entry.js.map +1 -0
  522. package/dist/core/p-abf767e3.entry.js +2 -0
  523. package/dist/core/p-abf767e3.entry.js.map +1 -0
  524. package/dist/core/p-b594bf26.entry.js +2 -0
  525. package/dist/core/p-b594bf26.entry.js.map +1 -0
  526. package/dist/core/{p-6e94c79c.entry.js → p-bd802c2f.entry.js} +2 -2
  527. package/dist/core/p-bd802c2f.entry.js.map +1 -0
  528. package/dist/core/p-bfee1e84.entry.js +2 -0
  529. package/dist/core/p-bfee1e84.entry.js.map +1 -0
  530. package/dist/core/{p-7f984e25.entry.js → p-c19cdc86.entry.js} +2 -2
  531. package/dist/core/p-c19cdc86.entry.js.map +1 -0
  532. package/dist/core/p-c2e091d7.js.map +1 -1
  533. package/dist/core/{p-73d6092d.entry.js → p-c3785d57.entry.js} +2 -2
  534. package/dist/core/p-c3785d57.entry.js.map +1 -0
  535. package/dist/core/{p-7b26ef60.entry.js → p-caa46d81.entry.js} +2 -2
  536. package/dist/core/p-caa46d81.entry.js.map +1 -0
  537. package/dist/core/p-ce0fb53a.entry.js +2 -0
  538. package/dist/core/p-ce0fb53a.entry.js.map +1 -0
  539. package/dist/core/p-de7542fa.entry.js +2 -0
  540. package/dist/core/p-de7542fa.entry.js.map +1 -0
  541. package/dist/core/{p-07aaf9c4.entry.js → p-df56bc50.entry.js} +2 -2
  542. package/dist/core/p-df56bc50.entry.js.map +1 -0
  543. package/dist/core/p-e1255160.js +2 -0
  544. package/dist/core/p-e1255160.js.map +1 -0
  545. package/dist/core/p-e25feba1.entry.js +2 -0
  546. package/dist/core/p-e25feba1.entry.js.map +1 -0
  547. package/dist/core/{p-c1db155d.entry.js → p-e30c6d79.entry.js} +2 -2
  548. package/dist/core/p-e30c6d79.entry.js.map +1 -0
  549. package/dist/core/p-f074ef5b.js.map +1 -1
  550. package/dist/core/{p-abdc2912.entry.js → p-f486d4f4.entry.js} +2 -2
  551. package/dist/core/p-f486d4f4.entry.js.map +1 -0
  552. package/dist/core/{p-a87d13b3.entry.js → p-fbce5f9a.entry.js} +2 -2
  553. package/dist/core/p-fbce5f9a.entry.js.map +1 -0
  554. package/dist/esm/app-globals-0f993ce5.js +5 -0
  555. package/dist/esm/app-globals-0f993ce5.js.map +1 -0
  556. package/dist/esm/core.js +14 -12
  557. package/dist/esm/core.js.map +1 -1
  558. package/dist/esm/{helpers-a72a277b.js → helpers-de6293bf.js} +31 -26
  559. package/dist/esm/helpers-de6293bf.js.map +1 -0
  560. package/dist/esm/ic-accordion-group.entry.js +31 -14
  561. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  562. package/dist/esm/ic-accordion.entry.js +65 -42
  563. package/dist/esm/ic-accordion.entry.js.map +1 -1
  564. package/dist/esm/ic-alert.entry.js +37 -16
  565. package/dist/esm/ic-alert.entry.js.map +1 -1
  566. package/dist/esm/ic-back-to-top.entry.js +29 -15
  567. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  568. package/dist/esm/ic-badge.entry.js +41 -22
  569. package/dist/esm/ic-badge.entry.js.map +1 -1
  570. package/dist/esm/ic-breadcrumb-group.entry.js +53 -37
  571. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  572. package/dist/esm/ic-breadcrumb.entry.js +35 -21
  573. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  574. package/dist/esm/ic-button_3.entry.js +246 -144
  575. package/dist/esm/ic-button_3.entry.js.map +1 -1
  576. package/dist/esm/ic-card-vertical.entry.js +53 -32
  577. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  578. package/dist/esm/ic-checkbox-group.entry.js +32 -9
  579. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  580. package/dist/esm/ic-checkbox.entry.js +48 -29
  581. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  582. package/dist/esm/ic-chip.entry.js +44 -23
  583. package/dist/esm/ic-chip.entry.js.map +1 -1
  584. package/dist/esm/ic-classification-banner.entry.js +20 -4
  585. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  586. package/dist/esm/ic-data-list.entry.js +11 -5
  587. package/dist/esm/ic-data-list.entry.js.map +1 -1
  588. package/dist/esm/ic-data-row.entry.js +28 -18
  589. package/dist/esm/ic-data-row.entry.js.map +1 -1
  590. package/dist/esm/ic-dialog.entry.js +141 -98
  591. package/dist/esm/ic-dialog.entry.js.map +1 -1
  592. package/dist/esm/ic-divider.entry.js +35 -15
  593. package/dist/esm/ic-divider.entry.js.map +1 -1
  594. package/dist/esm/ic-empty-state.entry.js +15 -9
  595. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  596. package/dist/esm/ic-footer-link-group.entry.js +8 -8
  597. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  598. package/dist/esm/ic-footer-link.entry.js +9 -10
  599. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  600. package/dist/esm/ic-footer.entry.js +32 -19
  601. package/dist/esm/ic-footer.entry.js.map +1 -1
  602. package/dist/esm/ic-hero.entry.js +29 -17
  603. package/dist/esm/ic-hero.entry.js.map +1 -1
  604. package/dist/esm/ic-horizontal-scroll.entry.js +32 -20
  605. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  606. package/dist/esm/ic-input-component-container_3.entry.js +126 -68
  607. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  608. package/dist/esm/ic-input-label_2.entry.js +45 -17
  609. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  610. package/dist/esm/ic-link.entry.js +28 -21
  611. package/dist/esm/ic-link.entry.js.map +1 -1
  612. package/dist/esm/ic-menu-group.entry.js +5 -5
  613. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  614. package/dist/esm/ic-menu-item.entry.js +20 -18
  615. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  616. package/dist/esm/ic-navigation-button.entry.js +25 -19
  617. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  618. package/dist/esm/ic-navigation-group.entry.js +45 -27
  619. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  620. package/dist/esm/ic-navigation-item.entry.js +69 -48
  621. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  622. package/dist/esm/ic-navigation-menu.entry.js +23 -15
  623. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  624. package/dist/esm/ic-page-header.entry.js +45 -25
  625. package/dist/esm/ic-page-header.entry.js.map +1 -1
  626. package/dist/esm/ic-pagination-item.entry.js +27 -14
  627. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  628. package/dist/esm/ic-pagination.entry.js +60 -27
  629. package/dist/esm/ic-pagination.entry.js.map +1 -1
  630. package/dist/esm/ic-popover-menu.entry.js +57 -42
  631. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  632. package/dist/esm/ic-radio-group.entry.js +53 -28
  633. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  634. package/dist/esm/ic-radio-option.entry.js +36 -24
  635. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  636. package/dist/esm/ic-search-bar.entry.js +153 -63
  637. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  638. package/dist/esm/ic-section-container.entry.js +12 -5
  639. package/dist/esm/ic-section-container.entry.js.map +1 -1
  640. package/dist/esm/ic-select.entry.js +230 -136
  641. package/dist/esm/ic-select.entry.js.map +1 -1
  642. package/dist/esm/ic-side-navigation.entry.js +104 -71
  643. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  644. package/dist/esm/ic-skeleton.entry.js +11 -4
  645. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  646. package/dist/esm/ic-skip-link.entry.js +50 -0
  647. package/dist/esm/ic-skip-link.entry.js.map +1 -0
  648. package/dist/esm/ic-status-tag.entry.js +25 -6
  649. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  650. package/dist/esm/ic-step.entry.js +33 -32
  651. package/dist/esm/ic-step.entry.js.map +1 -1
  652. package/dist/esm/ic-stepper.entry.js +50 -35
  653. package/dist/esm/ic-stepper.entry.js.map +1 -1
  654. package/dist/esm/ic-switch.entry.js +50 -22
  655. package/dist/esm/ic-switch.entry.js.map +1 -1
  656. package/dist/esm/ic-tab-context.entry.js +45 -26
  657. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  658. package/dist/esm/ic-tab-group.entry.js +14 -9
  659. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  660. package/dist/esm/ic-tab-panel.entry.js +16 -12
  661. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  662. package/dist/esm/ic-tab.entry.js +21 -15
  663. package/dist/esm/ic-tab.entry.js.map +1 -1
  664. package/dist/esm/ic-text-field.entry.js +175 -69
  665. package/dist/esm/ic-text-field.entry.js.map +1 -1
  666. package/dist/esm/ic-theme.entry.js +13 -7
  667. package/dist/esm/ic-theme.entry.js.map +1 -1
  668. package/dist/esm/ic-toast-region.entry.js +2 -3
  669. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  670. package/dist/esm/ic-toast.entry.js +29 -21
  671. package/dist/esm/ic-toast.entry.js.map +1 -1
  672. package/dist/esm/ic-toggle-button-group.entry.js +61 -29
  673. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  674. package/dist/esm/ic-toggle-button.entry.js +81 -48
  675. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  676. package/dist/esm/ic-top-navigation.entry.js +60 -31
  677. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  678. package/dist/esm/ic-typography.entry.js +53 -27
  679. package/dist/esm/ic-typography.entry.js.map +1 -1
  680. package/dist/esm/index-a7a720e7.js +2580 -0
  681. package/dist/esm/index-a7a720e7.js.map +1 -0
  682. package/dist/esm/loader.js +6 -4
  683. package/dist/esm/loader.js.map +1 -1
  684. package/dist/types/components/ic-accordion/ic-accordion.d.ts +3 -3
  685. package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +5 -5
  686. package/dist/types/components/ic-alert/ic-alert.d.ts +1 -1
  687. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +6 -2
  688. package/dist/types/components/ic-back-to-top/ic-back-to-top.types.d.ts +1 -0
  689. package/dist/types/components/ic-badge/ic-badge.d.ts +1 -1
  690. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +1 -1
  691. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +2 -2
  692. package/dist/types/components/ic-button/ic-button.d.ts +6 -6
  693. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +10 -10
  694. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +6 -6
  695. package/dist/types/components/ic-data-list/ic-data-list.d.ts +1 -1
  696. package/dist/types/components/ic-data-row/ic-data-row.d.ts +2 -2
  697. package/dist/types/components/ic-dialog/ic-dialog.d.ts +9 -6
  698. package/dist/types/components/ic-divider/ic-divider.d.ts +3 -3
  699. package/dist/types/components/ic-footer/ic-footer.d.ts +4 -4
  700. package/dist/types/components/ic-hero/ic-hero.d.ts +3 -3
  701. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +6 -6
  702. package/dist/types/components/ic-input-label/ic-input-label.d.ts +2 -2
  703. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +4 -4
  704. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +2 -2
  705. package/dist/types/components/ic-menu/ic-menu.d.ts +10 -10
  706. package/dist/types/components/ic-menu/ic-menu.types.d.ts +1 -1
  707. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +2 -2
  708. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +1 -1
  709. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +11 -4
  710. package/dist/types/components/ic-navigation-group/ic-navigation-group.types.d.ts +3 -0
  711. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +8 -8
  712. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +3 -3
  713. package/dist/types/components/ic-pagination/ic-pagination.d.ts +9 -9
  714. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +4 -4
  715. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +4 -4
  716. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +8 -8
  717. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +6 -6
  718. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +12 -12
  719. package/dist/types/components/ic-search-bar/ic-search-bar.types.d.ts +1 -1
  720. package/dist/types/components/ic-select/ic-select.d.ts +20 -20
  721. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +12 -12
  722. package/dist/types/components/ic-skip-link/ic-skip-link.d.ts +33 -0
  723. package/dist/types/components/ic-stepper/ic-stepper.d.ts +1 -1
  724. package/dist/types/components/ic-switch/ic-switch.d.ts +1 -1
  725. package/dist/types/components/ic-tab/ic-tab.d.ts +2 -2
  726. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +7 -1
  727. package/dist/types/components/ic-text-field/ic-text-field.d.ts +34 -33
  728. package/dist/types/components/ic-theme/ic-theme.d.ts +2 -2
  729. package/dist/types/components/ic-toast/ic-toast.d.ts +3 -3
  730. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +1 -1
  731. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +3 -3
  732. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +9 -9
  733. package/dist/types/components/ic-typography/ic-typography.d.ts +1 -1
  734. package/dist/types/components.d.ts +292 -197
  735. package/dist/types/stencil-public-runtime.d.ts +9 -10
  736. package/dist/types/utils/helpers.d.ts +10 -10
  737. package/dist/types/utils/types.d.ts +8 -4
  738. package/hydrate/index.d.ts +53 -12
  739. package/hydrate/index.js +32492 -20573
  740. package/hydrate/index.mjs +34265 -0
  741. package/hydrate/package.json +7 -1
  742. package/loader/cdn.js +1 -3
  743. package/loader/index.cjs.js +1 -3
  744. package/loader/index.d.ts +3 -0
  745. package/loader/index.es2017.js +1 -3
  746. package/loader/index.js +1 -3
  747. package/package.json +3 -3
  748. package/vscode-data.json +65 -330
  749. package/dist/cjs/helpers-eca4c27e.js.map +0 -1
  750. package/dist/cjs/index-f982899d.js +0 -3047
  751. package/dist/cjs/index-f982899d.js.map +0 -1
  752. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +0 -349
  753. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +0 -1
  754. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +0 -129
  755. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +0 -1
  756. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +0 -329
  757. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +0 -1
  758. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +0 -145
  759. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +0 -1
  760. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +0 -450
  761. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +0 -1
  762. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +0 -162
  763. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +0 -1
  764. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js +0 -219
  765. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js.map +0 -1
  766. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +0 -332
  767. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +0 -1
  768. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js +0 -214
  769. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js.map +0 -1
  770. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +0 -284
  771. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +0 -1
  772. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +0 -188
  773. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +0 -1
  774. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js +0 -188
  775. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js.map +0 -1
  776. package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js +0 -161
  777. package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js.map +0 -1
  778. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js +0 -74
  779. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js.map +0 -1
  780. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +0 -448
  781. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +0 -1
  782. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +0 -109
  783. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +0 -1
  784. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js +0 -101
  785. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js.map +0 -1
  786. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +0 -181
  787. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +0 -1
  788. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +0 -46
  789. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +0 -1
  790. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +0 -66
  791. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +0 -1
  792. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +0 -109
  793. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +0 -1
  794. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js +0 -223
  795. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +0 -1
  796. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +0 -172
  797. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +0 -1
  798. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js +0 -38
  799. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js.map +0 -1
  800. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +0 -84
  801. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +0 -1
  802. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js +0 -89
  803. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +0 -1
  804. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +0 -120
  805. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +0 -1
  806. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js +0 -149
  807. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js.map +0 -1
  808. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +0 -1108
  809. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +0 -1
  810. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js +0 -94
  811. package/dist/collection/components/ic-menu-group/test/basic/ic-menu-group.spec.js.map +0 -1
  812. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +0 -121
  813. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +0 -1
  814. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +0 -95
  815. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +0 -1
  816. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +0 -309
  817. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +0 -1
  818. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +0 -130
  819. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +0 -1
  820. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js +0 -176
  821. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.spec.js.map +0 -1
  822. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js +0 -291
  823. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +0 -1
  824. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +0 -390
  825. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +0 -1
  826. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js +0 -79
  827. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js.map +0 -1
  828. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js +0 -398
  829. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js.map +0 -1
  830. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +0 -389
  831. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +0 -1
  832. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +0 -553
  833. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +0 -1
  834. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js +0 -69
  835. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js.map +0 -1
  836. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +0 -1672
  837. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +0 -1
  838. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +0 -503
  839. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +0 -1
  840. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js +0 -89
  841. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js.map +0 -1
  842. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +0 -26
  843. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +0 -1
  844. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js +0 -176
  845. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js.map +0 -1
  846. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +0 -752
  847. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +0 -1
  848. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +0 -93
  849. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +0 -1
  850. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +0 -175
  851. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +0 -1
  852. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +0 -390
  853. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +0 -1
  854. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +0 -50
  855. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +0 -1
  856. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +0 -312
  857. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +0 -1
  858. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +0 -341
  859. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +0 -1
  860. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +0 -72
  861. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +0 -1
  862. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +0 -79
  863. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +0 -1
  864. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +0 -314
  865. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +0 -1
  866. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +0 -64
  867. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +0 -1
  868. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js +0 -126
  869. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js.map +0 -1
  870. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +0 -337
  871. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +0 -1
  872. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +0 -321
  873. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +0 -1
  874. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +0 -314
  875. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +0 -1
  876. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +0 -407
  877. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +0 -1
  878. package/dist/collection/testspec.setup.js +0 -77
  879. package/dist/collection/testspec.setup.js.map +0 -1
  880. package/dist/core/p-00587c99.entry.js.map +0 -1
  881. package/dist/core/p-07aaf9c4.entry.js.map +0 -1
  882. package/dist/core/p-094f51b6.entry.js.map +0 -1
  883. package/dist/core/p-146b2788.entry.js.map +0 -1
  884. package/dist/core/p-15082ea5.entry.js +0 -2
  885. package/dist/core/p-15082ea5.entry.js.map +0 -1
  886. package/dist/core/p-174de9d7.entry.js +0 -2
  887. package/dist/core/p-174de9d7.entry.js.map +0 -1
  888. package/dist/core/p-17f9921d.entry.js +0 -2
  889. package/dist/core/p-17f9921d.entry.js.map +0 -1
  890. package/dist/core/p-246ea059.entry.js +0 -2
  891. package/dist/core/p-246ea059.entry.js.map +0 -1
  892. package/dist/core/p-25d3c3a6.entry.js.map +0 -1
  893. package/dist/core/p-26bc7c62.entry.js.map +0 -1
  894. package/dist/core/p-27274ca8.entry.js.map +0 -1
  895. package/dist/core/p-39ab6387.entry.js.map +0 -1
  896. package/dist/core/p-3d565739.entry.js.map +0 -1
  897. package/dist/core/p-3ea4a005.entry.js +0 -2
  898. package/dist/core/p-3ea4a005.entry.js.map +0 -1
  899. package/dist/core/p-41b7c67c.entry.js +0 -2
  900. package/dist/core/p-41b7c67c.entry.js.map +0 -1
  901. package/dist/core/p-4572b2ba.entry.js +0 -2
  902. package/dist/core/p-4572b2ba.entry.js.map +0 -1
  903. package/dist/core/p-4cfe1dd8.entry.js.map +0 -1
  904. package/dist/core/p-5b836707.entry.js.map +0 -1
  905. package/dist/core/p-67b3cd55.entry.js.map +0 -1
  906. package/dist/core/p-67b8a829.entry.js +0 -2
  907. package/dist/core/p-67b8a829.entry.js.map +0 -1
  908. package/dist/core/p-6b5e91e2.js +0 -3
  909. package/dist/core/p-6b5e91e2.js.map +0 -1
  910. package/dist/core/p-6dfa5a4b.entry.js +0 -2
  911. package/dist/core/p-6dfa5a4b.entry.js.map +0 -1
  912. package/dist/core/p-6e94c79c.entry.js.map +0 -1
  913. package/dist/core/p-73d6092d.entry.js.map +0 -1
  914. package/dist/core/p-770c52a7.entry.js +0 -2
  915. package/dist/core/p-770c52a7.entry.js.map +0 -1
  916. package/dist/core/p-7b26ef60.entry.js.map +0 -1
  917. package/dist/core/p-7f984e25.entry.js.map +0 -1
  918. package/dist/core/p-86caada0.entry.js +0 -2
  919. package/dist/core/p-86caada0.entry.js.map +0 -1
  920. package/dist/core/p-8c03b8b5.entry.js +0 -2
  921. package/dist/core/p-8c03b8b5.entry.js.map +0 -1
  922. package/dist/core/p-8fdb9b16.entry.js +0 -2
  923. package/dist/core/p-8fdb9b16.entry.js.map +0 -1
  924. package/dist/core/p-91a221b5.entry.js +0 -2
  925. package/dist/core/p-91a221b5.entry.js.map +0 -1
  926. package/dist/core/p-96b4ca6e.entry.js.map +0 -1
  927. package/dist/core/p-9e0c2c19.entry.js +0 -2
  928. package/dist/core/p-9e0c2c19.entry.js.map +0 -1
  929. package/dist/core/p-9f569f90.entry.js +0 -2
  930. package/dist/core/p-9f569f90.entry.js.map +0 -1
  931. package/dist/core/p-a178d53c.entry.js.map +0 -1
  932. package/dist/core/p-a3b7a147.entry.js +0 -2
  933. package/dist/core/p-a3b7a147.entry.js.map +0 -1
  934. package/dist/core/p-a72685f6.entry.js +0 -2
  935. package/dist/core/p-a72685f6.entry.js.map +0 -1
  936. package/dist/core/p-a87d13b3.entry.js.map +0 -1
  937. package/dist/core/p-abdc2912.entry.js.map +0 -1
  938. package/dist/core/p-b260b967.entry.js +0 -2
  939. package/dist/core/p-b260b967.entry.js.map +0 -1
  940. package/dist/core/p-b404b307.entry.js.map +0 -1
  941. package/dist/core/p-b6ce9ca3.entry.js +0 -2
  942. package/dist/core/p-b6ce9ca3.entry.js.map +0 -1
  943. package/dist/core/p-b6e010f3.entry.js +0 -2
  944. package/dist/core/p-b6e010f3.entry.js.map +0 -1
  945. package/dist/core/p-bbd4f487.entry.js.map +0 -1
  946. package/dist/core/p-bd9f3961.entry.js +0 -2
  947. package/dist/core/p-bd9f3961.entry.js.map +0 -1
  948. package/dist/core/p-c1db155d.entry.js.map +0 -1
  949. package/dist/core/p-c7bcdb8e.entry.js +0 -2
  950. package/dist/core/p-c7bcdb8e.entry.js.map +0 -1
  951. package/dist/core/p-ca11666f.entry.js.map +0 -1
  952. package/dist/core/p-cda4aca9.js +0 -2
  953. package/dist/core/p-cda4aca9.js.map +0 -1
  954. package/dist/core/p-d0afa458.entry.js +0 -2
  955. package/dist/core/p-d0afa458.entry.js.map +0 -1
  956. package/dist/core/p-d8690838.entry.js +0 -2
  957. package/dist/core/p-d8690838.entry.js.map +0 -1
  958. package/dist/core/p-dededae6.entry.js +0 -2
  959. package/dist/core/p-dededae6.entry.js.map +0 -1
  960. package/dist/core/p-df957570.entry.js +0 -2
  961. package/dist/core/p-df957570.entry.js.map +0 -1
  962. package/dist/core/p-e2cf6e7e.entry.js.map +0 -1
  963. package/dist/core/p-e6189634.entry.js +0 -2
  964. package/dist/core/p-e6189634.entry.js.map +0 -1
  965. package/dist/core/p-e6dc3cd1.entry.js +0 -2
  966. package/dist/core/p-e6dc3cd1.entry.js.map +0 -1
  967. package/dist/core/p-e831277e.entry.js +0 -2
  968. package/dist/core/p-e831277e.entry.js.map +0 -1
  969. package/dist/core/p-eb7c589b.entry.js +0 -2
  970. package/dist/core/p-eb7c589b.entry.js.map +0 -1
  971. package/dist/core/p-f65179fe.entry.js +0 -2
  972. package/dist/core/p-f65179fe.entry.js.map +0 -1
  973. package/dist/core/p-fd60eef7.entry.js +0 -2
  974. package/dist/core/p-fd60eef7.entry.js.map +0 -1
  975. package/dist/core/p-fd9f3fd0.entry.js +0 -2
  976. package/dist/core/p-fd9f3fd0.entry.js.map +0 -1
  977. package/dist/esm/helpers-a72a277b.js.map +0 -1
  978. package/dist/esm/index-d1d2c456.js +0 -3016
  979. package/dist/esm/index-d1d2c456.js.map +0 -1
  980. package/dist/esm/polyfills/core-js.js +0 -11
  981. package/dist/esm/polyfills/dom.js +0 -79
  982. package/dist/esm/polyfills/es5-html-element.js +0 -1
  983. package/dist/esm/polyfills/index.js +0 -34
  984. package/dist/esm/polyfills/system.js +0 -6
  985. package/dist/types/testspec.setup.d.ts +0 -24
@@ -1 +0,0 @@
1
- {"version":3,"names":["icFooterCss","Footer","this","resizeObserver","hostMutationObserver","resizeObserverCallback","currSize","deviceSize","footerResized","emit","runResizeObserver","ResizeObserver","getCurrentDeviceSize","observe","footerEl","IC_DEVICE_SIZES","XL","getBrandForegroundAppearance","disconnectedCallback","disconnect","_a","componentWillLoad","componentDidLoad","checkResizeObserver","MutationObserver","mutationList","renderDynamicChildSlots","el","childList","brandChangeHandler","ev","foregroundColor","detail","mode","isSmall","bp","breakpoint","XS","S","M","L","render","aligned","caption","copyright","description","groupLinks","small","showComplianceSection","isSlotUsed","h","Host","class","IcBrandForegroundEnum","Dark","Light","ref","fullHeight","variant","name","role","hasClassificationBanner"],"sources":["src/components/ic-footer/ic-footer.css?tag=ic-footer&encapsulation=shadow","src/components/ic-footer/ic-footer.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n\n --footer-compliance-padding: 1rem 0;\n}\n\n:host(.ic-footer-sparse) {\n --footer-links-padding: 1.5rem 0;\n --footer-logo-margin-bottom: calc(var(--ic-space-md) + var(--ic-space-xxs));\n --footer-link-inner-flex-direction: row;\n}\n\n:host(.ic-footer-small) {\n --footer-links-padding: 0 0;\n --footer-logo-margin-bottom: var(--ic-space-md);\n --footer-link-inner-flex-direction: column;\n}\n\n:host(.ic-footer-foreground-dark) {\n --ic-footer-background: var(--ic-brand-color-secondary-light);\n --ic-footer-bottom-background: var(--ic-brand-color-tertiary-light);\n --ic-footer-keyline: var(--ic-state-layer-darken-20);\n --ic-footer-text: var(--ic-color-text-primary-light);\n --ic-footer-link: var(--ic-color-text-primary-light);\n --ic-footer-icon: var(--ic-color-icon-neutral);\n --ic-footer-chevron-icon: var(--ic-color-icon-neutral);\n --ic-footer-logo: var(--ic-color-icon-neutral);\n --ic-footer-hover: var(--ic-architectural-700-state-layer-10);\n --ic-footer-pressed: var(--ic-architectural-700-state-layer-20);\n}\n\n:host(.ic-footer-small.ic-footer-ungrouped) {\n --footer-links-padding: var(--ic-space-md) 0 0 0;\n}\n\n/* Main inner footer element */\nfooter {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n/* Description */\n\n.footer-description {\n background-color: var(--ic-footer-background);\n color: var(--ic-footer-text);\n\n --ic-typography-color: var(--ic-footer-text);\n\n border-bottom: var(--ic-space-1px) solid var(--ic-footer-keyline);\n}\n\n.footer-description-inner {\n padding: 1rem 0;\n}\n\n/* Links */\n\n.footer-links {\n padding: var(--footer-links-padding);\n background-color: var(--ic-footer-background);\n color: var(--ic-footer-link);\n\n --ic-typography-color: var(--ic-footer-link);\n}\n\n.footer-links-inner {\n display: flex;\n flex-direction: var(--footer-link-inner-flex-direction);\n}\n\n/* Compliance */\n\n.footer-compliance {\n background-color: var(--ic-footer-bottom-background);\n color: var(--ic-footer-text);\n\n --ic-typography-color: var(--ic-footer-text);\n}\n\n.footer-compliance-inner {\n padding: var(--footer-compliance-padding);\n}\n\n.footer-logo {\n margin-bottom: var(--footer-logo-margin-bottom);\n display: flex;\n gap: var(--ic-space-xxl);\n}\n\n.footer-logo > ::slotted() {\n margin-right: var(--ic-space-md);\n}\n\n.footer-caption {\n margin-bottom: var(--ic-space-md);\n}\n\n.classification-spacing {\n margin-bottom: var(--ic-space-lg);\n}\n\n@media (forced-colors: active) {\n footer {\n border-top: var(--ic-border-hc);\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Listen,\n Prop,\n State,\n} from \"@stencil/core\";\nimport { IC_DEVICE_SIZES } from \"../../utils/constants\";\nimport {\n getCurrentDeviceSize,\n getBrandForegroundAppearance,\n checkResizeObserver,\n hasClassificationBanner,\n isSlotUsed,\n renderDynamicChildSlots,\n} from \"../../utils/helpers\";\nimport {\n IcAlignment,\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\n} from \"../../utils/types\";\nimport { IcFooterBreakpoints } from \"./ic-footer.types\";\n\n/**\n * @slot description - Content will be rendered at the top of the footer.\n * @slot link - Content will be rendered between description and logos.\n * @slot logo - Content will be rendered underneath footer links.\n * @slot caption - Content will be rendered above Crown Copyright.\n */\n\n@Component({\n tag: \"ic-footer\",\n styleUrl: \"ic-footer.css\",\n shadow: true,\n})\nexport class Footer {\n private footerEl: HTMLElement;\n private resizeObserver: ResizeObserver = null;\n private hostMutationObserver: MutationObserver = null;\n\n @Element() el: HTMLIcFooterElement;\n\n @State() deviceSize: number = IC_DEVICE_SIZES.XL;\n @State() foregroundColor: IcBrandForeground = getBrandForegroundAppearance();\n\n /**\n * The alignment of the section containers used within the footer.\n */\n @Prop() aligned?: IcAlignment = \"left\";\n\n /**\n * The screen size breakpoint at which to switch to the small layout.\n */\n @Prop() breakpoint?: IcFooterBreakpoints = \"medium\";\n\n /**\n * The caption displayed at the bottom of the footer.\n */\n @Prop() caption: string;\n\n /**\n * If `true`, the footer will display the crown copyright at the bottom.\n */\n @Prop() copyright: boolean = true;\n\n /**\n * The description displayed at the top of the footer.\n */\n @Prop() description: string;\n\n /**\n * If `true`, the footer will be set up to handle link groups instead of standalone links.\n */\n @Prop() groupLinks?: boolean = false;\n\n /**\n * @internal Triggers on page resize and triggers style changes in footer links and link groups\n */\n @Event() footerResized: EventEmitter<void>;\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.deviceSize = getCurrentDeviceSize();\n }\n\n componentDidLoad(): void {\n checkResizeObserver(this.runResizeObserver);\n\n this.hostMutationObserver = new MutationObserver((mutationList) => {\n return renderDynamicChildSlots(mutationList, \"link\", this);\n });\n\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.foregroundColor = ev.detail.mode;\n }\n\n private isSmall() {\n const bp = this.breakpoint;\n\n return bp === \"extra small\"\n ? this.deviceSize < IC_DEVICE_SIZES.XS\n : bp === \"small\"\n ? this.deviceSize < IC_DEVICE_SIZES.S\n : bp === \"medium\"\n ? this.deviceSize < IC_DEVICE_SIZES.M\n : bp === \"large\"\n ? this.deviceSize < IC_DEVICE_SIZES.L\n : bp === \"extra large\"\n ? this.deviceSize < IC_DEVICE_SIZES.XL\n : false;\n }\n\n private resizeObserverCallback = (currSize: number) => {\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n }\n this.footerResized.emit();\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.footerEl);\n };\n\n render() {\n const {\n aligned,\n caption,\n copyright,\n description,\n deviceSize,\n el,\n foregroundColor,\n groupLinks,\n } = this;\n const small = this.isSmall();\n\n const showComplianceSection =\n isSlotUsed(el, \"logo\") ||\n isSlotUsed(el, \"caption\") ||\n caption ||\n copyright;\n\n return (\n <Host\n class={{\n [\"ic-footer\"]: true,\n [`ic-footer-${small ? \"small\" : \"sparse\"}`]: true,\n [`ic-footer-${groupLinks ? \"grouped\" : \"ungrouped\"}`]: true,\n [`ic-footer-foreground-${foregroundColor}`]: true,\n // Slots will be able to infer their own color\n [`ic-footer-${IcBrandForegroundEnum.Dark}`]:\n foregroundColor === IcBrandForegroundEnum.Dark,\n [`ic-footer-${IcBrandForegroundEnum.Light}`]:\n foregroundColor === IcBrandForegroundEnum.Light,\n }}\n >\n <footer ref={(footerEl) => (this.footerEl = footerEl)}>\n {/* Description */}\n {(isSlotUsed(el, \"description\") || description) && (\n <div class=\"footer-description\">\n <ic-section-container aligned={aligned} fullHeight={true}>\n <div class=\"footer-description-inner\">\n <ic-typography variant=\"body\">\n <slot name=\"description\">{description}</slot>\n </ic-typography>\n </div>\n </ic-section-container>\n </div>\n )}\n\n {/* Links */}\n {isSlotUsed(el, \"link\") && (\n <div class=\"footer-links\">\n {groupLinks && small ? (\n <div class=\"footer-links-inner\" role=\"list\">\n <slot name=\"link\" />\n </div>\n ) : (\n <ic-section-container fullHeight aligned={aligned}>\n <div class=\"footer-links-inner\" role=\"list\">\n <slot name=\"link\" />\n </div>\n </ic-section-container>\n )}\n </div>\n )}\n\n {/* Compliance (logo, caption, copyright) */}\n {showComplianceSection && (\n <div class=\"footer-compliance\">\n <ic-section-container aligned={aligned} fullHeight={true}>\n <div class=\"footer-compliance-inner\">\n {isSlotUsed(el, \"logo\") && (\n <div class=\"footer-logo\">\n <slot name=\"logo\" />\n </div>\n )}\n {(isSlotUsed(el, \"caption\") || caption) && (\n <div class=\"footer-caption\">\n <ic-typography\n variant={\n deviceSize <= IC_DEVICE_SIZES.M ? \"caption\" : \"body\"\n }\n >\n <slot name=\"caption\">{caption}</slot>\n </ic-typography>\n </div>\n )}\n {copyright && (\n <div\n class={{\n [\"footer-copyright\"]: true,\n [\"classification-spacing\"]: hasClassificationBanner(),\n }}\n >\n <ic-typography\n variant={\n deviceSize <= IC_DEVICE_SIZES.M\n ? \"caption-uppercase\"\n : \"label-uppercase\"\n }\n >\n &copy; Crown Copyright\n </ic-typography>\n </div>\n )}\n </div>\n </ic-section-container>\n </div>\n )}\n </footer>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icNavigationItemCss","NavigationItem","this","isInitialRender","hostMutationObserver","ANIMATION_DURATION","parseInt","getCssProperty","ARIA_LABEL_STRING","displayDefaultNavigationItem","href","hreflang","target","rel","referrerpolicy","download","label","variant","isTopNavChild","inTopNavSideMenu","ChevronIconComponent","expandable","h","class","svg","innerHTML","chevronIcon","IconComponent","el","querySelector","name","isSlotUsed","referrerPolicy","ref","itemEl","part","ariaLabel","OpenInNew","tabindex","topNavResizedHandler","detail","size","deviceSize","_a","parentEl","customMobileBreakpoint","DEVICE_SIZES","L","sideNavExpandHandler","sideNavExpanded","sideNavMobile","isSideNavMobile","sideNavToggleTooltip","handleBlur","relatedTarget","tagName","childBlur","emit","handleClick","navItemClicked","hostMutationCallback","mutationList","forceComponentUpdate","forEach","attributeName","getAttribute","forceUpdate","generateTooltipLabel","navigationSlot","textContent","children","renderNavigationItemContent","showTooltip","tooltip","shadowRoot","collapsedClass","timer","displayTooltip","setTimeout","classList","add","clearTimeout","remove","XL","getBrandForegroundAppearance","disconnectedCallback","navigationType","removeEventListener","disconnect","componentWillLoad","navType","parent","getNavItemParentDetails","getCurrentDeviceSize","contains","_b","addEventListener","parentElement","trim","hasAttribute","componentDidLoad","MutationObserver","observe","attributes","componentDidUpdate","brandChangeHandler","focusStyle","mode","setFocus","focus","render","selected","Host","displayNavigationTooltip","collapsedIconLabel","theme","onBlur","onClick","role","placement"],"sources":["src/components/ic-navigation-item/ic-navigation-item.css?tag=ic-navigation-item&encapsulation=shadow","src/components/ic-navigation-item/ic-navigation-item.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-navigation-item: z-index of navigation item\n */\n\n:host {\n display: block;\n\n --navigation-link-colour: var(--ic-brand-text-color);\n}\n\n:host(:focus-within) {\n z-index: var(--ic-z-index-navigation-item);\n}\n\n/* chevron */\nsvg {\n width: var(--ic-space-xl);\n fill: var(--ic-brand-text-color);\n}\n\n.svg {\n margin-left: auto;\n}\n\n.chevron-container svg,\n.chevron-container .svg {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n.chevron-container {\n flex-grow: 1;\n}\n\n:host(.expandable.navigation-item) .link,\n:host(.expandable.navigation-item) ::slotted(a) {\n padding-right: 0;\n}\n\n:host(.navigation-item) .link,\n:host(.navigation-item) ::slotted(a) {\n height: calc(100% - var(--ic-space-xxs));\n width: fit-content;\n color: var(--navigation-link-colour);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 var(--ic-space-md) var(--ic-space-xxs);\n text-decoration: none;\n transition: var(--ic-easing-transition-fast);\n position: relative;\n white-space: nowrap;\n}\n\n:host(.navigation-item) ::slotted(a) {\n height: 100%;\n font: var(--ic-font-label) !important;\n letter-spacing: var(--ic-font-letter-spacing-0pt025) !important;\n padding: 0 var(--ic-space-md) !important;\n}\n\n:host(.navigation-item-selected) .link::after,\n:host(.navigation-item-selected) ::slotted(a.active)::after,\n:host(.navigation-item-top-nav) ::slotted(a.active)::after {\n content: \"\";\n height: 0.25rem;\n width: 100%;\n position: absolute;\n bottom: 0;\n background-color: var(--ic-top-navigation-theme);\n}\n\n:host(.navigation-item-selected.navigation-item-page-header)\n ::slotted(a.active)::after,\n:host(.navigation-item-selected.navigation-item-page-header) .link::after,\n:host(.navigation-item.navigation-item-page-header) ::slotted(a.active)::after,\n:host(.navigation-item-top-nav-child) ::slotted(a.active)::after {\n content: none;\n}\n\n:host(.navigation-item-side-menu-selected) .link,\n:host(.navigation-item-side-menu) ::slotted(a.active),\n:host(.navigation-item-top-nav-child) ::slotted(a.active) {\n box-shadow: none;\n}\n\n:host(.navigation-item) .link:hover:not(:focus) {\n background-color: var(--ic-brand-hover);\n cursor: pointer;\n}\n\n:host(.navigation-item:not(.navigation-item-page-header, .navigation-item-side-menu))\n ::slotted(a:hover:not(:focus)) {\n background-color: var(--ic-brand-hover) !important;\n}\n\n:host(.navigation-item:not(.navigation-item-top-nav-child, .navigation-item-side-menu, .navigation-item-top-nav-child-selected\n .navigation-item-side-menu-selected))\n .focus-indicator:focus-within {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n}\n\n:host(.navigation-item) .link:focus,\n:host(.navigation-item) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.navigation-item-selected) .link:focus,\n:host(.navigation-item) ::slotted(a.active:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.navigation-item) .link:active:not(:focus),\n:host(.navigation-item) ::slotted(a:active:not(:focus)) {\n background-color: var(--ic-brand-active);\n}\n\n:host(.navigation-item-side-menu) .link,\n:host(.navigation-item-side-menu) ::slotted(a) {\n min-height: 2.5rem;\n height: auto;\n width: 100%;\n box-sizing: border-box;\n color: var(--ic-top-navigation-nav-item);\n\n --ic-typography-color: var(--ic-top-navigation-nav-item);\n\n display: flex;\n align-items: center;\n justify-content: flex-start;\n text-decoration: none;\n text-wrap: wrap;\n white-space: normal;\n transition: box-shadow var(--ic-transition-duration-fast),\n border-radius var(--ic-transition-duration-fast);\n}\n\n:host(.navigation-item-side-menu) ::slotted(a) {\n font: var(--ic-font-body) !important;\n letter-spacing: var(--ic-font-letter-spacing-0pt005) !important;\n transition: box-shadow var(--ic-easing-transition-fast),\n background-color var(--ic-easing-transition-fast);\n}\n\n:host(.navigation-item-side-menu) .link:hover:not(:focus) {\n background-color: var(--ic-top-navigation-nav-item-hover);\n}\n\n:host(.navigation-item-side-menu) ::slotted(a:hover:not(:focus)) {\n background-color: var(--ic-top-navigation-nav-item-hover) !important;\n}\n\n:host(.navigation-item-side-menu) .focus-indicator:focus-within {\n box-shadow: none;\n}\n\n:host(.navigation-item-side-menu) .link:focus,\n:host(.navigation-item-side-menu) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus-inset) !important;\n width: auto;\n border-radius: var(--ic-border-radius-inset) !important;\n}\n\n:host(.navigation-item-side-menu-selected) .link,\n:host(.navigation-item-side-menu-selected) ::slotted(a) {\n transition: box-shadow var(--ic-easing-transition-slow),\n background-color var(--ic-easing-transition-slow);\n}\n\n:host(.navigation-item-side-menu-selected) .link:focus,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus),\n:host(.navigation-item-top-nav-child) ::slotted(a.active:focus) {\n margin-left: var(--ic-space-xs) !important;\n padding-left: var(--ic-space-xs) !important;\n}\n\n:host(.navigation-item-top-nav-child) .link,\n:host(.navigation-item-top-nav-child) ::slotted(a) {\n height: 2.5rem;\n width: fit-content;\n min-width: 9.063rem;\n color: var(--ic-top-navigation-nav-item);\n display: flex;\n align-items: center;\n justify-content: flex-start;\n padding: 0 var(--ic-space-md) !important;\n text-decoration: none;\n position: relative;\n transition: box-shadow var(--ic-transition-duration-fast),\n border-radius var(--ic-transition-duration-slow);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a) {\n font: var(--ic-font-body) !important;\n letter-spacing: var(--ic-font-letter-spacing-0pt005) !important;\n}\n\n:host(.navigation-item-top-nav-child) .link:hover:not(:focus) {\n background-color: var(--ic-top-navigation-nav-item-hover) !important;\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a:hover):not(:focus) {\n background-color: var(--ic-top-navigation-nav-item-hover) !important;\n}\n\n:host(.navigation-item-top-nav-child) .link:focus,\n:host(.navigation-item-top-nav-child) ::slotted(a:focus) {\n z-index: 1;\n outline: var(--ic-hc-focus-outline);\n border-radius: var(--ic-border-radius-inset);\n box-shadow: var(--ic-border-focus-inset);\n transition: border-radius 0s, box-shadow var(--ic-transition-duration-fast);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a.active:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n}\n\n:host(.navigation-item-side-menu) .link:active:not(:focus) {\n background-color: var(--ic-top-navigation-nav-item-pressed);\n}\n\n:host(.navigation-item-top-nav-child) .link:active:not(:focus),\n:host(.navigation-item-top-nav-child) ::slotted(a:active):not(:focus) {\n outline: var(--ic-hc-focus-outline);\n background-color: var(--ic-top-navigation-nav-item-pressed);\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a:active):not(:focus),\n:host(.navigation-item-side-menu) ::slotted(a:active):not(:focus) {\n background-color: var(--ic-top-navigation-nav-item-pressed) !important;\n}\n\n:host(.navigation-item-side-menu-selected) *,\n:host(.navigation-item-top-nav-child-selected) *,\n:host(.navigation-item-side-menu) ::slotted(a.active),\n:host(.navigation-item-top-nav-child) ::slotted(a.active) {\n font-weight: 700 !important;\n}\n\n:host(.navigation-item-top-nav-child) ::slotted(a.active)::before,\n:host(.navigation-item-top-nav-child-selected) .link::before,\n:host(.navigation-item-side-menu-selected) .link::before,\n:host(.navigation-item-side-menu) ::slotted(a.active)::before,\n:host(.navigation-item-side-menu-selected) .link:focus::before,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before {\n content: \"\";\n position: absolute;\n left: 0;\n width: var(--ic-space-xs);\n height: inherit;\n min-height: 2.5rem;\n background-color: var(--ic-top-navigation-nav-item-banner);\n transition: left 0s;\n}\n\n:host(.navigation-item-side-menu-selected) .link::before,\n:host(.navigation-item-side-menu-selected) .link:focus::before {\n margin-top: var(--ic-space-xxs);\n}\n\n:host(.navigation-item-top-nav-child-selected) .link:focus {\n margin-left: var(--ic-space-xs);\n margin-right: calc(-1 * var(--ic-space-xs));\n padding-left: var(--ic-space-xs) !important;\n}\n\n:host(.navigation-item-top-nav-child-selected) .link:focus::before {\n left: calc(-1 * var(--ic-space-xs));\n z-index: 1;\n}\n\n:host(.navigation-item-side-menu-selected) .link::before,\n:host(.navigation-item-side-menu) ::slotted(a.active)::before,\n:host(.navigation-item-side-menu-selected) .link:focus::before,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before {\n z-index: 1;\n}\n\n:host(.navigation-item-side-menu-selected) .link:focus::before,\n:host(.navigation-item-side-menu) ::slotted(a.active:focus)::before,\n:host(.navigation-item-top-nav-child) ::slotted(a.active:focus)::before {\n left: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.navigation-item-side-menu-selected) .link::after {\n display: none;\n}\n\n:host(.navigation-item-side-nav-collapsed) .link {\n height: 100%;\n}\n\n:host(.navigation-item-side-nav-collapsed) ::slotted(svg),\n:host(.navigation-item-side-nav-collapsed-with-label) ::slotted(svg) {\n margin: auto;\n pointer-events: none;\n}\n\n:host(.navigation-item-side-nav-collapsed) .icon,\n:host(.navigation-item-side-nav-collapsed-with-label) .icon,\n:host(.navigation-item-side-nav-collapsed-with-label) ic-typography {\n align-items: center;\n padding: 0;\n margin: auto 0;\n width: fit-content;\n pointer-events: none;\n}\n\n:host(.navigation-item-side-nav-collapsed-with-label) ic-typography {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n text-align: center;\n}\n\n:host(.navigation-item-side-nav-collapsed-with-label) .link,\n:host(.navigation-item-side-nav-collapsed-with-label) ::slotted(a) {\n display: flex;\n flex-direction: column;\n height: fit-content;\n padding: var(--ic-space-xs) !important;\n gap: var(--ic-space-xxs);\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n .link,\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n height: auto !important;\n gap: 0;\n width: auto;\n padding: var(--ic-space-xs) !important;\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n display: block;\n text-align: center;\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n .link\n ic-typography {\n opacity: 1;\n min-width: min-content;\n}\n\n:host(.navigation-item-side-nav-collapsed) svg,\n:host(.navigation-item-side-nav-collapsed-with-label) svg {\n display: none;\n}\n\n::slotted(svg) {\n fill: var(--ic-brand-text-color);\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n margin-left: var(--ic-space-md);\n}\n\n.icon {\n height: 1.5rem;\n width: var(--ic-space-xxl);\n margin-left: calc(-1 * var(--ic-space-md));\n flex: 0 1 0%;\n position: relative;\n}\n\n.icon > ::slotted(*) {\n margin-left: var(--ic-space-md) !important;\n}\n\n:host(.navigation-item-side-nav-collapsed) .icon > ::slotted(*) {\n margin: auto !important;\n}\n\n:host(.navigation-item-side-nav) .link,\n:host(.navigation-item-side-nav) ::slotted(a) {\n height: var(--navigation-item-height, 4rem);\n min-height: var(--navigation-item-min-height);\n width: var(--navigation-item-width, auto);\n justify-content: var(--navigation-item-justify-content);\n display: flex;\n gap: var(--ic-space-xs);\n box-sizing: border-box;\n color: var(--navigation-item-child-color) !important;\n text-decoration: none !important;\n white-space: nowrap;\n padding: 0 var(--ic-space-md);\n text-wrap: wrap;\n}\n\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) ::slotted(a) {\n height: var(--navigation-item-child-height);\n width: var(--navigation-group-width);\n color: var(--navigation-item-child-color) !important;\n display: flex;\n gap: 0.625rem;\n box-sizing: border-box;\n min-width: 0;\n transition: box-shadow var(--ic-easing-transition-fast);\n text-decoration: none !important;\n white-space: nowrap;\n}\n\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link:focus,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus-dark);\n}\n\n:host(.navigation-item-side-nav.navigation-item-side-menu) .link:active {\n background-color: var(--navigation-item-child-active);\n}\n\n:host(.navigation-item-side-nav.navigation-item-top-nav-child) .link:active,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n ::slotted(a:active) {\n background-color: var(--navigation-item-child-active);\n}\n\n:host(.navigation-item-side-nav) a.link ic-typography,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n a.link\n ic-typography,\n:host(.navigation-item-side-nav) div.link ic-typography,\n:host(.navigation-item-side-nav.navigation-item-top-nav-child)\n div.link\n ic-typography,\n.navigation-item-side-nav-slotted-text {\n opacity: var(--navigation-item-label-opacity);\n transition: opacity var(--ic-easing-transition-slow);\n white-space: wrap;\n text-overflow: ellipsis;\n overflow: hidden;\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link,\n:host(.navigation-item-side-nav.navigation-item) ::slotted(a.active) {\n box-shadow: inset 0.313rem 0 0 var(--ic-brand-text-color);\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link::before,\n:host(.navigation-item-side-nav) ::slotted(a.active)::before {\n content: \"\";\n display: block;\n position: absolute;\n inset: 0 0 0 0.313rem;\n border-radius: 0.688rem !important;\n transition: var(--ic-easing-transition-slow);\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link:focus::before,\n:host(.navigation-item-side-nav) ::slotted(a.active:focus)::before {\n box-shadow: var(--ic-border-focus-inset);\n}\n\n:host(:not(.navigation-item-side-nav-collapsed).navigation-item-side-nav.navigation-item-side-nav-collapsed-with-label)\n .link {\n opacity: var(--navigation-item-label-opacity);\n height: auto;\n}\n\n:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label)\n .link,\n:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n min-width: var(--navigation-group-item-min-width);\n padding: var(--ic-space-xs) !important;\n height: auto;\n gap: 0;\n}\n\n:host(.navigation-item-top-nav-child.navigation-item-side-nav-collapsed-with-label)\n ::slotted(a) {\n display: block;\n}\n\n:host(.navigation-item-side-nav.navigation-item-selected) .link::after,\n:host(.navigation-item-side-nav) ::slotted(a.active)::after {\n display: none;\n}\n\n:host(.navigation-item-side-nav.navigation-item) .link:focus,\n:host(.navigation-item-side-nav.navigation-item) ::slotted(a: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(.navigation-item-side-nav.navigation-item-selected) .link:focus,\n:host(.navigation-item-side-nav) ::slotted(a.active:focus) {\n margin: 0 auto;\n box-shadow: inset 0.313rem 0 0 var(--ic-brand-text-color);\n border-radius: 0;\n}\n\n:host(.navigation-item-side-nav.navigation-item) .link:hover:not(:focus) {\n background-color: var(--ic-brand-hover) !important;\n}\n\n:host(.navigation-item-page-header).link,\n:host(.navigation-item-page-header) a,\n:host(.navigation-item-page-header) ::slotted(a) {\n height: 2.5rem !important;\n color: var(--ic-color-text-primary) !important;\n transition: all var(--ic-easing-transition-fast) !important;\n box-shadow: rgba(23 89 188 / 0%) !important;\n}\n\n:host(.navigation-item-page-header.navigation-item-selected) .link::after,\n:host(.navigation-item-page-header) ::slotted(a.active)::after {\n content: \" \" !important;\n position: absolute;\n bottom: 0;\n left: 0;\n right: 0;\n height: var(--ic-space-xxs);\n background-color: var(--ic-action-default) !important;\n}\n\n:host(.navigation-item-page-header) .link:hover,\n:host(.navigation-item-page-header) ::slotted(.link:hover),\n:host(.navigation-item-page-header) ::slotted(a:hover),\n:host(.navigation-item-page-header) .link:hover:not(:focus) {\n background-color: var(--ic-action-default-bg-hover) !important;\n cursor: pointer;\n}\n\n:host(.navigation-item-page-header) .link:focus,\n:host(.navigation-item-page-header) ::slotted(a:focus) {\n box-shadow: var(--ic-border-focus);\n}\n\n:host(.navigation-item-page-header) .link:active,\n:host(.navigation-item-page-header) ::slotted(a:active) {\n background-color: var(--ic-action-default-bg-pressed) !important;\n}\n\n:host(.navigation-item-page-header.navigation-item-selected) .link:focus::after,\n:host(.navigation-item-page-header) ::slotted(a.active:focus)::after {\n border-bottom-left-radius: var(--ic-border-radius);\n border-bottom-right-radius: var(--ic-border-radius);\n}\n\n:host(.navigation-item-page-header.navigation-item-selected.with-transition)\n .link,\n:host(.navigation-item-page-header.navigation-item-selected.with-transition)\n ::slotted(a.active) {\n transition: all var(--ic-easing-transition-fast),\n border-color var(--ic-transition-duration-fast);\n}\n\n:host(.navigation-item-page-header) ::slotted(a.active)::before,\n:host(.navigation-item-page-header) ::slotted(a.active:focus)::before,\n:host(.navigation-item-page-header.navigation-item-selected)\n .link:focus::before {\n display: none;\n}\n\n.open-in-new-icon {\n flex: 1;\n}\n\n.open-in-new-icon svg {\n margin-top: var(--ic-space-xxs);\n padding-left: var(--ic-space-xxs);\n}\n\n:host(.navigation-item-side-nav) .open-in-new-icon {\n margin-left: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.navigation-item-top-nav) .open-in-new-icon svg,\n:host(.navigation-item-page-header) .open-in-new-icon svg,\n:host(.navigation-item-side-nav) .open-in-new-icon svg {\n height: 0.875rem;\n width: 0.875rem;\n}\n\n:host(.navigation-item-side-menu) .open-in-new-icon svg,\n:host(.navigation-item-top-nav-child) .open-in-new-icon svg {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n}\n\n:host(.navigation-item-page-header) .open-in-new-icon svg,\n:host(.navigation-item-top-nav-child) .open-in-new-icon svg,\n:host(.navigation-item-side-menu) .open-in-new-icon svg {\n fill: var(--ic-color-text-primary);\n}\n\n@media (forced-colors: active) {\n .open-in-new-icon svg {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n forceUpdate,\n Listen,\n Method,\n h,\n Host,\n Prop,\n State,\n} from \"@stencil/core\";\n\nimport {\n DEVICE_SIZES,\n getCssProperty,\n getCurrentDeviceSize,\n getBrandForegroundAppearance,\n getNavItemParentDetails,\n isSlotUsed,\n} from \"../../utils/helpers\";\nimport {\n IcNavType,\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundNoDefault,\n IcThemeMode,\n} from \"../../utils/types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\n\nimport OpenInNew from \"../../assets/OpenInNew.svg\";\nimport { IcExpandedDetail } from \"../ic-side-navigation/ic-side-navigation.types\";\n\n/**\n * @part link - The `<a>` within ic-navigation-item\n * @slot badge - Badge component overlaying the top right of the icon.\n * @slot icon - Content will be displayed to the left of the label for expanded navigation items, and in replacement of the label for collapsed navigation items.\n */\n\n@Component({\n tag: \"ic-navigation-item\",\n styleUrl: \"ic-navigation-item.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class NavigationItem {\n private navigationSlot: HTMLElement;\n private isInitialRender: boolean = true;\n private itemEl: HTMLElement;\n private hostMutationObserver: MutationObserver = null;\n private ANIMATION_DURATION =\n parseInt(getCssProperty(\"--ic-transition-duration-slow\")) || 0;\n private ARIA_LABEL_STRING = \"aria-label\";\n\n @Element() el: HTMLIcNavigationItemElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() focusStyle: IcBrandForegroundNoDefault | IcBrandForeground =\n getBrandForegroundAppearance();\n @State() inTopNavSideMenu: boolean = false;\n @State() isSideNavMobile: boolean = false;\n @State() isTopNavChild: boolean = false;\n @State() navigationType: IcNavType | \"\";\n @State() parentEl: HTMLElement;\n @State() sideNavExpanded: boolean = false;\n @State() ariaLabel: string = \"\";\n\n /**\n * @internal If `true`, the icon and label will be displayed when side navigation is collapsed.\n */\n @Prop() collapsedIconLabel: boolean = false;\n\n /**\n * @internal If `true`, the navigation item will be displayed within a tooltip.\n */\n @Prop() displayNavigationTooltip: boolean = false;\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 * @internal If `true`, the navigation item will be expandable.\n */\n @Prop() expandable: boolean = false;\n\n /**\n * The destination of the navigation item.\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 of the navigation item.\n */\n @Prop() label: string;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * If `true`, the navigation item will be set in a selected state.\n */\n @Prop() selected: boolean = false;\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 /**\n * @internal - Emitted when item loses focus.\n */\n @Event() childBlur: EventEmitter<void>;\n\n /**\n * @internal - Emitted when navigation item clicked.\n */\n @Event() navItemClicked: EventEmitter<void>;\n\n disconnectedCallback(): void {\n if (this.navigationType === \"side\") {\n this.parentEl.removeEventListener(\n \"icSideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl.removeEventListener(\n \"icTopNavResized\",\n this.topNavResizedHandler\n );\n }\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n const { navType, parent } = getNavItemParentDetails(this.el);\n this.navigationType = navType;\n this.parentEl = parent;\n this.deviceSize = getCurrentDeviceSize();\n\n this.sideNavExpanded =\n this.parentEl?.classList.contains(\"sm-expanded\") ||\n this.parentEl?.classList.contains(\"xs-menu-open\");\n\n if (this.navigationType === \"side\") {\n this.parentEl.addEventListener(\n \"icSideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl.addEventListener(\n \"icTopNavResized\",\n this.topNavResizedHandler\n );\n if (this.el.parentElement.tagName === \"IC-NAVIGATION-GROUP\")\n this.isTopNavChild = true;\n if (\n this.deviceSize <=\n (this.parentEl as HTMLIcTopNavigationElement).customMobileBreakpoint\n )\n this.inTopNavSideMenu = true;\n }\n\n this.navigationSlot = this.el.querySelector('[slot=\"navigation-item\"]');\n if (this.navigationSlot) {\n this.navigationSlot.ariaLabel = this.navigationSlot.textContent.trim();\n }\n\n if (this.el.hasAttribute(this.ARIA_LABEL_STRING)) {\n this.ariaLabel = this.el.getAttribute(this.ARIA_LABEL_STRING);\n }\n }\n\n componentDidLoad(): void {\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n });\n }\n\n componentDidUpdate(): void {\n this.isInitialRender = false;\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler({ detail }: CustomEvent<IcBrand>): void {\n this.focusStyle = detail.mode;\n }\n\n /**\n * Sets focus on the nav item.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.itemEl ? this.itemEl.focus() : this.el.querySelector(\"a\")?.focus();\n }\n\n private displayDefaultNavigationItem = (\n href: string,\n hreflang: string,\n target: string,\n rel: string,\n referrerpolicy: ReferrerPolicy,\n download: string | boolean,\n label: string\n ): HTMLElement => {\n const variant =\n this.isTopNavChild || this.inTopNavSideMenu ? \"body\" : \"label\";\n const ChevronIconComponent = this.expandable && (\n <div class={{ svg: true }} innerHTML={chevronIcon}></div>\n );\n const IconComponent = this.el.querySelector('[slot=\"icon\"]') && (\n <div class=\"icon\">\n <slot name=\"icon\"></slot>\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n </div>\n );\n\n if (href !== \"\") {\n return (\n <a\n href={href}\n target={target}\n rel={rel}\n hreflang={hreflang}\n referrerPolicy={referrerpolicy}\n download={download !== false ? download : null}\n class=\"link\"\n ref={(el) => (this.itemEl = el)}\n part=\"link\"\n aria-label={this.ariaLabel ? this.ariaLabel : null}\n >\n {IconComponent}\n\n <ic-typography variant={variant}>{label}</ic-typography>\n <div class=\"chevron-container\">{ChevronIconComponent}</div>\n {target === \"_blank\" && (\n <span class=\"open-in-new-icon\" innerHTML={OpenInNew} />\n )}\n </a>\n );\n }\n\n return (\n <div tabindex=\"0\" class=\"link\" ref={(el) => (this.itemEl = el)}>\n {IconComponent}\n <ic-typography variant={variant}>{label}</ic-typography>\n {ChevronIconComponent}\n </div>\n );\n };\n\n private topNavResizedHandler = ({\n detail,\n }: CustomEvent<{ size: number }>): void => {\n const { size } = detail;\n if (size !== this.deviceSize) {\n this.deviceSize = size;\n this.inTopNavSideMenu =\n size <=\n ((this.parentEl as HTMLIcTopNavigationElement)\n ?.customMobileBreakpoint || DEVICE_SIZES.L);\n }\n };\n\n private sideNavExpandHandler = ({\n detail,\n }: CustomEvent<IcExpandedDetail>): void => {\n const { sideNavExpanded, sideNavMobile } = detail;\n this.sideNavExpanded = sideNavExpanded;\n this.isSideNavMobile = sideNavMobile;\n this.sideNavToggleTooltip(!(sideNavExpanded || sideNavMobile));\n };\n\n private handleBlur = ({ relatedTarget }: FocusEvent) => {\n if (\n relatedTarget === null ||\n (relatedTarget as HTMLElement).tagName !== \"IC-NAVIGATION-ITEM\"\n ) {\n this.childBlur.emit();\n }\n };\n\n private handleClick = () => {\n this.navItemClicked.emit();\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 (attributeName === this.ARIA_LABEL_STRING) {\n this.ariaLabel = this.el.getAttribute(attributeName);\n forceComponentUpdate = true;\n }\n });\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n private generateTooltipLabel = () => {\n if (this.label) {\n return this.label;\n }\n\n if (this.navigationSlot) {\n return this.navigationSlot.textContent;\n }\n\n if (this.el.children[0]) {\n return this.el.children[0].textContent;\n }\n\n return \"\";\n };\n\n private renderNavigationItemContent = () => {\n if (this.label) {\n return this.displayDefaultNavigationItem(\n this.href,\n this.hreflang,\n this.target,\n this.rel,\n this.referrerpolicy,\n this.download,\n this.label\n );\n }\n\n if (this.navigationSlot) {\n return <slot name=\"navigation-item\"></slot>;\n }\n return <slot></slot>;\n };\n\n // Displays tooltip only once the collapsing animation is finished\n private sideNavToggleTooltip = (showTooltip: boolean) => {\n const tooltip = this.el.shadowRoot.querySelector(\"ic-tooltip\");\n const collapsedClass = \"tooltip-navigation-item-side-nav-collapsed\";\n let timer;\n\n if (tooltip) {\n if (showTooltip) {\n tooltip.displayTooltip(false); // Hides tooltip for when mouse is hovering over icon\n timer = setTimeout(() => {\n tooltip.classList.add(collapsedClass);\n }, this.ANIMATION_DURATION);\n } else {\n clearTimeout(timer);\n tooltip.classList.remove(collapsedClass);\n }\n }\n };\n\n render() {\n const { inTopNavSideMenu, isTopNavChild, selected } = this;\n\n return (\n <Host\n class={{\n [\"navigation-item\"]: true,\n [\"navigation-item-top-nav\"]:\n !inTopNavSideMenu && this.navigationType === \"top\",\n [\"navigation-item-top-nav-child-selected\"]:\n isTopNavChild && !inTopNavSideMenu && selected,\n [this.focusStyle]:\n (!inTopNavSideMenu && !isTopNavChild) ||\n (this.navigationType === \"side\" && isTopNavChild),\n [\"navigation-item-selected\"]: !isTopNavChild && selected,\n [\"navigation-item-side-menu\"]: inTopNavSideMenu,\n [\"navigation-item-side-menu-selected\"]: inTopNavSideMenu && selected,\n [\"navigation-item-top-nav-child\"]: isTopNavChild && !inTopNavSideMenu,\n [\"navigation-item-page-header\"]:\n this.navigationType === \"page-header\",\n [\"with-transition\"]: !this.isInitialRender,\n [\"navigation-item-side-nav\"]: this.navigationType === \"side\",\n [\"navigation-item-side-nav-collapsed\"]:\n (!this.sideNavExpanded || this.displayNavigationTooltip) &&\n this.navigationType === \"side\",\n [\"navigation-item-side-nav-collapsed-with-label\"]:\n !this.sideNavExpanded &&\n this.navigationType === \"side\" &&\n this.collapsedIconLabel &&\n !this.isSideNavMobile,\n [\"expandable\"]: this.expandable,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n onBlur={isTopNavChild && !inTopNavSideMenu ? this.handleBlur : null}\n onClick={this.handleClick}\n aria-current={selected ? \"page\" : null}\n role=\"listitem\"\n >\n {/* Tooltip enabled by applying navigation-item-side-nav-collapsed class to host */}\n <ic-tooltip\n label={this.generateTooltipLabel()}\n target=\"navigation-item\"\n placement=\"right\"\n class={{\n [\"tooltip-navigation-item\"]: true,\n [\"tooltip-navigation-item-side-nav-collapsed\"]:\n this.displayNavigationTooltip && this.navigationType === \"side\",\n [\"tooltip-long-label-navigation-item-side-nav-expanded\"]:\n this.el.hasAttribute(\"[display-navigation-tooltip = 'true']\"),\n }}\n >\n {this.renderNavigationItemContent()}\n </ic-tooltip>\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 e,c as t,h as i,H as o,g as n}from"./p-6b5e91e2.js";import{d as s,r,b as a,i as c}from"./p-cda4aca9.js";import{C as u}from"./p-c2e091d7.js";import{C as l}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}li{list-style:none;padding:0}:host ::part(button){color:var(--ic-popover-menu-item-check);padding:calc(var(--ic-space-xxxs) / 2);display:flex;align-items:flex-start;gap:var(--ic-space-xs);border-radius:0;min-height:2.5rem;height:auto}.focus-border{display:flex;align-items:flex-start;gap:var(--ic-space-xs);border-radius:var(--ic-border-radius);margin:calc(var(--ic-space-xxxs) / 2);padding:var(--ic-space-xxs);border:var(--ic-space-xxxs) dashed transparent;--icon-height:auto}:host(.ic-menu-item-disabled) ::part(button){color:var(--ic-popover-menu-item-check-disabled) !important;--ic-typography-color:var(--ic-popover-menu-item-check-disabled) !important;pointer-events:none}:host(.ic-menu-item-disabled) .menu-item-label,:host(.ic-menu-item-disabled) .shortcut,:host(.ic-menu-item-disabled) .menu-item-description{--ic-typography-color:var(--ic-popover-menu-item-label-disabled) !important}:host([variant="destructive"]) ::part(button){color:var(--ic-popover-menu-destructive-item-icon);--ic-typography-color:var(--ic-popover-menu-destructive-item-label)}:host ::part(button):hover{background-color:var(--ic-popover-background-hover)}:host ::part(button):focus-visible,:host ::part(button):focus{color:var(--ic-popover-menu-item-icon-focused);--ic-typography-color:purple;background-color:var(--ic-popover-background-focus);box-shadow:none}:host(.ic-menu-item-disabled) ::part(button):focus-visible,:host(.ic-menu-item-disabled) ::part(button):focus{color:var(--ic-popover-menu-item-icon-disabled) !important;--ic-typography-color:orange !important}:host([variant="destructive"]) ::part(button):focus-visible,:host([variant="destructive"]) ::part(button):focus{background-color:var(--ic-popover-destructive-background-focus)}ic-button:focus-within .menu-item-label,ic-button:focus-within .shortcut,ic-button:focus-within .menu-item-description{--ic-typography-color:var(--ic-popover-menu-item-label-focused)}:host(.ic-menu-item-disabled) ic-button:focus-within .focus-border{border-color:var(--ic-popover-menu-border)}:host(.ic-menu-item-disabled) ic-button:focus-within .menu-item-label,:host(.ic-menu-item-disabled) ic-button:focus-within .shortcut,:host(.ic-menu-item-disabled) ic-button:focus-within .menu-item-description{--ic-typography-color:var(--ic-popover-menu-item-label-disabled) !important}:host ::part(button):active{background-color:var(--ic-popover-background-pressed);color:var(--ic-popover-menu-item-label) !important;--ic-typography-color:var(--ic-popover-menu-item-label) !important}:host([variant="destructive"]) ::part(button):active{background-color:var(--ic-popover-background-pressed);color:var(--ic-popover-menu-destructive-item-label) !important;--ic-typography-color:var(\n --ic-popover-menu-destructive-item-label\n ) !important}.menu-item-info{display:flex;flex-direction:column;flex:1;align-items:baseline;white-space:pre-line;text-align:left}.menu-labels{display:flex;align-items:baseline;gap:var(--ic-space-xs)}.menu-item-description{--ic-typography-color:var(--ic-popover-menu-item-description)}.shortcut{--ic-typography-color:var(--ic-popover-menu-item-shortcut);display:flex;flex:min-content}:host([variant="destructive"]) .menu-item-label{text-transform:uppercase;font-weight:600;letter-spacing:0.025em}ic-button:active .menu-item-label{--ic-typography-color:var(--ic-popover-menu-item-label)}ic-button:active .menu-item-description{--ic-typography-color:var(--ic-popover-menu-item-description)}ic-button:active .shortcut{--ic-typography-color:var(--ic-popover-menu-item-shortcut)}:host([variant="destructive"]) ic-button:active .menu-item-label{--ic-typography-color:var(\n --ic-popover-menu-destructive-item-label\n ) !important}.icon,.check-icon,.submenu-icon,.icon ::slotted(svg),.check-icon svg,.submenu-icon svg{width:var(--ic-space-lg);height:var(--ic-space-lg)}.check-icon.hide{visibility:hidden}@media (forced-colors: active){:host ::part(button){border:canvas}:host ::part(button):focus-visible{outline:var(--ic-space-xxxs) solid transparent}.focus-border{border-color:canvas}:host(.ic-menu-item-disabled) ic-button:focus-within .focus-border{border-color:GrayText}:host(.ic-menu-item-disabled) .menu-item-info,:host(.ic-menu-item-disabled) .menu-item-label,:host(.ic-menu-item-disabled) .shortcut,:host(.ic-menu-item-disabled) .menu-item-description,:host(.ic-menu-item-disabled) ic-button:focus-within .menu-item-info,:host(.ic-menu-item-disabled) ic-button:focus-within .menu-item-label,:host(.ic-menu-item-disabled) ic-button:focus-within .shortcut,:host(.ic-menu-item-disabled) ic-button:focus-within .menu-item-description{--ic-typography-color:GrayText !important}:host(.ic-menu-item-disabled) ::part(button):focus-visible,:host(.ic-menu-item-disabled) ::part(button):focus{outline-color:GrayText !important}}';const p=class{constructor(i){e(this,i);this.childBlur=t(this,"childBlur",7);this.handleMenuItemClick=t(this,"handleMenuItemClick",7);this.icToggleChecked=t(this,"icToggleChecked",7);this.triggerPopoverMenuInstance=t(this,"triggerPopoverMenuInstance",7);this.handleClick=e=>{if(s(this.submenuTriggerFor)){this.triggerPopoverMenuInstance.emit()}else if(this.variant==="toggle"){e.preventDefault();this.checked=!this.checked;this.icToggleChecked.emit({checked:this.checked})}this.handleMenuItemClick.emit(this.el)};this.getMenuItemAriaLabel=()=>{let e=this.label;if(s(this.description)){e=`${e}, ${this.description}`}if(s(this.keyboardShortcutLabel)){e=`${e}, ${this.keyboardShortcutLabel}`}if(this.variant==="destructive"){e=`${e}, destructive`}if(s(this.submenuTriggerFor)){e=`${e}, triggers submenu`}if(this.el.classList.contains("ic-popover-submenu-back-button")){e="Go back to parent menu"}const t=this.el.parentElement;if(t.tagName==="IC-MENU-GROUP"&&t.label){return`${e}, ${t.label} menu group`}else{return e}};this.checked=false;this.description=undefined;this.disabled=false;this.href=undefined;this.hreflang=undefined;this.keyboardShortcutLabel=undefined;this.label=undefined;this.referrerpolicy=undefined;this.rel=undefined;this.submenuTriggerFor=undefined;this.target=undefined;this.variant="default"}watchDisabledHandler(){r(this.disabled,this.el)}componentWillLoad(){if(s(this.submenuTriggerFor)&&this.variant!=="default"){this.variant="default"}r(this.disabled,this.el)}componentDidLoad(){a([{prop:this.label,propName:"label"}],"Menu Item")}handleHostClick(e){if(this.disabled){e.stopImmediatePropagation()}}render(){const e=()=>i("div",{class:"menu-item-info"},i("div",{class:"menu-labels"},i("ic-typography",{class:"menu-item-label"},this.label),this.keyboardShortcutLabel&&i("ic-typography",{variant:"caption",class:"shortcut"},this.keyboardShortcutLabel)),this.description&&i("ic-typography",{class:"menu-item-description",variant:"caption"},this.description));return i(o,{class:{["ic-menu-item-disabled"]:this.disabled}},i("li",{role:this.variant==="toggle"?"menuitemcheckbox":"menuitem","aria-disabled":`${this.disabled}`,"aria-checked":this.variant==="toggle"?this.checked?"true":"false":undefined},i("ic-button",{fullWidth:true,variant:"tertiary",onClick:this.handleClick,href:s(this.href),hreflang:s(this.hreflang),target:s(this.target),rel:s(this.rel),referrerpolicy:this.referrerpolicy!==undefined?this.referrerpolicy:null,"aria-disabled":`${this.disabled}`,"aria-label":this.getMenuItemAriaLabel(),"aria-haspopup":s(this.submenuTriggerFor)||this.el.classList.contains("ic-popover-submenu-back-button")?"menu":false},i("div",{class:"focus-border"},c(this.el,"icon")&&i("span",{class:"icon"},i("slot",{name:"icon"})),i(e,null),this.variant==="toggle"&&i("span",{class:{["check-icon"]:true,["hide"]:!this.checked},"aria-hidden":"true",innerHTML:u}),s(this.submenuTriggerFor)&&i("span",{class:{["submenu-icon"]:true},"aria-hidden":"true",innerHTML:l})))))}static get delegatesFocus(){return true}get el(){return n(this)}static get watchers(){return{disabled:["watchDisabledHandler"]}}};p.style=d;export{p as ic_menu_item};
2
- //# sourceMappingURL=p-15082ea5.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icMenuItemCss","MenuItem","this","handleClick","e","isPropDefined","submenuTriggerFor","triggerPopoverMenuInstance","emit","variant","preventDefault","checked","icToggleChecked","handleMenuItemClick","el","getMenuItemAriaLabel","ariaLabel","label","description","keyboardShortcutLabel","classList","contains","parentEl","parentElement","tagName","watchDisabledHandler","removeDisabledFalse","disabled","componentWillLoad","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","handleHostClick","stopImmediatePropagation","render","MenuItemInformation","h","class","Host","role","undefined","fullWidth","onClick","href","hreflang","target","rel","referrerpolicy","isSlotUsed","name","innerHTML","Check","Chevron"],"sources":["src/components/ic-menu-item/ic-menu-item.css?tag=ic-menu-item&encapsulation=shadow","src/components/ic-menu-item/ic-menu-item.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\nli {\n list-style: none;\n padding: 0;\n}\n\n:host ::part(button) {\n color: var(--ic-popover-menu-item-check);\n padding: calc(var(--ic-space-xxxs) / 2);\n display: flex;\n align-items: flex-start;\n gap: var(--ic-space-xs);\n border-radius: 0;\n min-height: 2.5rem;\n height: auto;\n}\n\n.focus-border {\n display: flex;\n align-items: flex-start;\n gap: var(--ic-space-xs);\n border-radius: var(--ic-border-radius);\n margin: calc(var(--ic-space-xxxs) / 2);\n padding: var(--ic-space-xxs);\n border: var(--ic-space-xxxs) dashed transparent;\n\n --icon-height: auto;\n}\n\n:host(.ic-menu-item-disabled) ::part(button) {\n color: var(--ic-popover-menu-item-check-disabled) !important;\n\n --ic-typography-color: var(--ic-popover-menu-item-check-disabled) !important;\n\n pointer-events: none;\n}\n\n:host(.ic-menu-item-disabled) .menu-item-label,\n:host(.ic-menu-item-disabled) .shortcut,\n:host(.ic-menu-item-disabled) .menu-item-description {\n --ic-typography-color: var(--ic-popover-menu-item-label-disabled) !important;\n}\n\n:host([variant=\"destructive\"]) ::part(button) {\n color: var(--ic-popover-menu-destructive-item-icon);\n\n --ic-typography-color: var(--ic-popover-menu-destructive-item-label);\n}\n\n:host ::part(button):hover {\n background-color: var(--ic-popover-background-hover);\n}\n\n:host ::part(button):focus-visible,\n:host ::part(button):focus {\n color: var(--ic-popover-menu-item-icon-focused);\n\n --ic-typography-color: purple;\n\n background-color: var(--ic-popover-background-focus);\n box-shadow: none;\n}\n\n:host(.ic-menu-item-disabled) ::part(button):focus-visible,\n:host(.ic-menu-item-disabled) ::part(button):focus {\n color: var(--ic-popover-menu-item-icon-disabled) !important;\n\n --ic-typography-color: orange !important;\n}\n\n:host([variant=\"destructive\"]) ::part(button):focus-visible,\n:host([variant=\"destructive\"]) ::part(button):focus {\n background-color: var(--ic-popover-destructive-background-focus);\n}\n\nic-button:focus-within .menu-item-label,\nic-button:focus-within .shortcut,\nic-button:focus-within .menu-item-description {\n --ic-typography-color: var(--ic-popover-menu-item-label-focused);\n}\n\n:host(.ic-menu-item-disabled) ic-button:focus-within .focus-border {\n border-color: var(--ic-popover-menu-border);\n}\n\n:host(.ic-menu-item-disabled) ic-button:focus-within .menu-item-label,\n:host(.ic-menu-item-disabled) ic-button:focus-within .shortcut,\n:host(.ic-menu-item-disabled) ic-button:focus-within .menu-item-description {\n --ic-typography-color: var(--ic-popover-menu-item-label-disabled) !important;\n}\n\n:host ::part(button):active {\n background-color: var(--ic-popover-background-pressed);\n color: var(--ic-popover-menu-item-label) !important;\n\n --ic-typography-color: var(--ic-popover-menu-item-label) !important;\n}\n\n:host([variant=\"destructive\"]) ::part(button):active {\n background-color: var(--ic-popover-background-pressed);\n color: var(--ic-popover-menu-destructive-item-label) !important;\n\n --ic-typography-color: var(\n --ic-popover-menu-destructive-item-label\n ) !important;\n}\n\n.menu-item-info {\n display: flex;\n flex-direction: column;\n flex: 1;\n align-items: baseline;\n white-space: pre-line;\n text-align: left;\n}\n\n.menu-labels {\n display: flex;\n align-items: baseline;\n gap: var(--ic-space-xs);\n}\n\n.menu-item-description {\n --ic-typography-color: var(--ic-popover-menu-item-description);\n}\n\n.shortcut {\n --ic-typography-color: var(--ic-popover-menu-item-shortcut);\n\n display: flex;\n flex: min-content;\n}\n\n:host([variant=\"destructive\"]) .menu-item-label {\n text-transform: uppercase;\n font-weight: 600;\n letter-spacing: 0.025em;\n}\n\nic-button:active .menu-item-label {\n --ic-typography-color: var(--ic-popover-menu-item-label);\n}\n\nic-button:active .menu-item-description {\n --ic-typography-color: var(--ic-popover-menu-item-description);\n}\n\nic-button:active .shortcut {\n --ic-typography-color: var(--ic-popover-menu-item-shortcut);\n}\n\n:host([variant=\"destructive\"]) ic-button:active .menu-item-label {\n --ic-typography-color: var(\n --ic-popover-menu-destructive-item-label\n ) !important;\n}\n\n.icon,\n.check-icon,\n.submenu-icon,\n.icon ::slotted(svg),\n.check-icon svg,\n.submenu-icon svg {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n.check-icon.hide {\n visibility: hidden;\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n :host ::part(button) {\n border: canvas;\n }\n\n :host ::part(button):focus-visible {\n outline: var(--ic-space-xxxs) solid transparent;\n }\n\n .focus-border {\n border-color: canvas;\n }\n\n :host(.ic-menu-item-disabled) ic-button:focus-within .focus-border {\n border-color: GrayText;\n }\n\n :host(.ic-menu-item-disabled) .menu-item-info,\n :host(.ic-menu-item-disabled) .menu-item-label,\n :host(.ic-menu-item-disabled) .shortcut,\n :host(.ic-menu-item-disabled) .menu-item-description,\n :host(.ic-menu-item-disabled) ic-button:focus-within .menu-item-info,\n :host(.ic-menu-item-disabled) ic-button:focus-within .menu-item-label,\n :host(.ic-menu-item-disabled) ic-button:focus-within .shortcut,\n :host(.ic-menu-item-disabled) ic-button:focus-within .menu-item-description {\n --ic-typography-color: GrayText !important;\n }\n\n :host(.ic-menu-item-disabled) ::part(button):focus-visible,\n :host(.ic-menu-item-disabled) ::part(button):focus {\n outline-color: GrayText !important;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n Event,\n EventEmitter,\n Listen,\n Watch,\n} from \"@stencil/core\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n isPropDefined,\n} from \"../../utils/helpers\";\nimport { IcMenuItemVariants } from \"./ic-menu-item.types\";\nimport Check from \"../../assets/check-icon.svg\";\nimport Chevron from \"../../assets/chevron-icon.svg\";\n\n/**\n * @slot icon - Content will be placed to the left of the menu item label.\n */\n\n@Component({\n tag: \"ic-menu-item\",\n styleUrl: \"ic-menu-item.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class MenuItem {\n @Element() el: HTMLIcMenuItemElement;\n\n /**\n * If `true`, the menu item will be in a checked state. This is only applicable when variant is set to `toggle`.\n */\n @Prop({ mutable: true, reflect: true }) checked: boolean = false;\n\n /**\n * The description displayed in the menu item, below the label.\n */\n @Prop() description?: string;\n\n /**\n * If `true`, the menu item will be in 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 URL that the link points to. This will render the menu item 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 describing the keyboard shortcut for a menu item's action.\n */\n @Prop() keyboardShortcutLabel?: string;\n\n /**\n * The label to display in the menu item.\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 * This references the popover menu instance that the menu item is a trigger for. If this prop is set, then the variant will always be default.\n */\n @Prop() submenuTriggerFor?: 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 * The variant of the menu item.\n */\n @Prop({ mutable: true, reflect: true }) variant: IcMenuItemVariants =\n \"default\";\n\n /**\n * @internal Emitted when item loses focus.\n */\n @Event() childBlur: EventEmitter<void>;\n\n /**\n * @internal Emitted when the user clicks a menu item.\n */\n @Event() handleMenuItemClick: EventEmitter<HTMLIcMenuItemElement>;\n\n /**\n * Emitted when the user clicks a menu item that is set to the toggle variant.\n */\n @Event() icToggleChecked: EventEmitter<{\n checked: boolean;\n }>;\n\n /**\n * @internal Emitted when the user clicks a menu item that triggers a popover menu instance.\n */\n @Event() triggerPopoverMenuInstance: EventEmitter<void>;\n\n componentWillLoad(): void {\n // This ensures that trigger menu items are always set to the default variant\n if (isPropDefined(this.submenuTriggerFor) && this.variant !== \"default\") {\n this.variant = \"default\";\n }\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Menu Item\"\n );\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(e: Event): void {\n if (this.disabled) {\n e.stopImmediatePropagation();\n }\n }\n\n private handleClick = (e: Event): void => {\n if (isPropDefined(this.submenuTriggerFor)) {\n this.triggerPopoverMenuInstance.emit();\n } else if (this.variant === \"toggle\") {\n e.preventDefault();\n this.checked = !this.checked;\n this.icToggleChecked.emit({\n checked: this.checked,\n });\n }\n this.handleMenuItemClick.emit(this.el);\n };\n\n private getMenuItemAriaLabel = (): string => {\n let ariaLabel = this.label;\n\n if (isPropDefined(this.description)) {\n ariaLabel = `${ariaLabel}, ${this.description}`;\n }\n\n if (isPropDefined(this.keyboardShortcutLabel)) {\n ariaLabel = `${ariaLabel}, ${this.keyboardShortcutLabel}`;\n }\n\n if (this.variant === \"destructive\") {\n ariaLabel = `${ariaLabel}, destructive`;\n }\n\n if (isPropDefined(this.submenuTriggerFor)) {\n ariaLabel = `${ariaLabel}, triggers submenu`;\n }\n\n if (this.el.classList.contains(\"ic-popover-submenu-back-button\")) {\n ariaLabel = \"Go back to parent menu\";\n }\n const parentEl = this.el.parentElement;\n\n if (\n parentEl.tagName === \"IC-MENU-GROUP\" &&\n (parentEl as HTMLIcMenuGroupElement).label\n ) {\n return `${ariaLabel}, ${\n (parentEl as HTMLIcMenuGroupElement).label\n } menu group`;\n } else {\n return ariaLabel;\n }\n };\n\n render() {\n // A sub-component to layout the menu information correctly in ic-button\n const MenuItemInformation = () => {\n return (\n <div class=\"menu-item-info\">\n <div class=\"menu-labels\">\n <ic-typography class=\"menu-item-label\">{this.label}</ic-typography>\n {this.keyboardShortcutLabel && (\n <ic-typography variant=\"caption\" class=\"shortcut\">\n {this.keyboardShortcutLabel}\n </ic-typography>\n )}\n </div>\n {this.description && (\n <ic-typography class=\"menu-item-description\" variant=\"caption\">\n {this.description}\n </ic-typography>\n )}\n </div>\n );\n };\n\n return (\n <Host\n class={{\n [\"ic-menu-item-disabled\"]: this.disabled,\n }}\n >\n <li\n role={this.variant === \"toggle\" ? \"menuitemcheckbox\" : \"menuitem\"}\n aria-disabled={`${this.disabled}`}\n aria-checked={\n this.variant === \"toggle\"\n ? this.checked\n ? \"true\"\n : \"false\"\n : undefined\n }\n >\n <ic-button\n fullWidth\n variant=\"tertiary\"\n onClick={this.handleClick}\n href={isPropDefined(this.href)}\n hreflang={isPropDefined(this.hreflang)}\n target={isPropDefined(this.target)}\n rel={isPropDefined(this.rel)}\n referrerpolicy={\n this.referrerpolicy !== undefined ? this.referrerpolicy : null\n }\n aria-disabled={`${this.disabled}`}\n aria-label={this.getMenuItemAriaLabel()}\n aria-haspopup={\n isPropDefined(this.submenuTriggerFor) ||\n this.el.classList.contains(\"ic-popover-submenu-back-button\")\n ? \"menu\"\n : false\n }\n >\n <div class=\"focus-border\">\n {isSlotUsed(this.el, \"icon\") && (\n <span class=\"icon\">\n <slot name=\"icon\"></slot>\n </span>\n )}\n <MenuItemInformation />\n {this.variant === \"toggle\" && (\n <span\n class={{\n [\"check-icon\"]: true,\n [\"hide\"]: !this.checked,\n }}\n aria-hidden=\"true\"\n innerHTML={Check}\n />\n )}\n {isPropDefined(this.submenuTriggerFor) && (\n <span\n class={{ [\"submenu-icon\"]: true }}\n aria-hidden=\"true\"\n innerHTML={Chevron}\n />\n )}\n </div>\n </ic-button>\n </li>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as t,h as i,H as e,g as s}from"./p-6b5e91e2.js";import{U as o,t as r,f as l,I as a}from"./p-cda4aca9.js";const n=`<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">\n <path d="M13.0875 6.175L11.9125 5L6.91251 10L11.9125 15L13.0875 13.825L9.27084 10L13.0875 6.175Z"/>\n</svg>`;const h=`<svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 20 20" fill="none">\n <path d="M8.08748 5L6.91248 6.175L10.7291 10L6.91248 13.825L8.08748 15L13.0875 10L8.08748 5Z"/>\n</svg>`;const c='/*! 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{--border-bottom-color:var(--ic-architectural-300);--splitter-color:var(--ic-architectural-100);display:flex;max-width:100%}:host(.ic-horizontal-scroll-light){--splitter-color:var(--ic-color-keyline-lighten)}:host(.ic-horizontal-scroll-dark){--splitter-color:var(--ic-color-keyline-darken)}::slotted(*){overflow-x:scroll;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;margin:calc(var(--ic-space-xs) * -1) !important;padding:var(--ic-space-xs) !important}:host(.ic-horizontal-scroll-visible) ::slotted(*){margin:calc(var(--ic-space-xs) * -1) 0 !important;padding:var(--ic-space-xs) !important}.tabs-container::-webkit-scrollbar{display:none}.scroll-container-left,.scroll-container-right{display:flex}.scroll-container-left{margin-left:var(--ic-space-xxs)}.scroll-container-right{margin-right:var(--ic-space-xxs)}.hidden{display:none}.scroll-arrow{margin:var(--ic-space-xxs) 0}.disabled .ic-tooltip-container{display:none !important}.scroll-splitter-left,.scroll-splitter-right{display:flex;height:var(--ic-space-lg);width:var(--ic-space-1px);margin-top:var(--ic-space-xs);border-radius:var(--ic-space-1px);background-color:var(--splitter-color)}.scroll-splitter-left{margin-left:calc(var(--ic-space-xxs) - var(--ic-space-1px))}.scroll-splitter-right{margin-right:calc(var(--ic-space-xxs) - var(--ic-space-1px))}.disabled .scroll-splitter-left,.disabled .scroll-splitter-right{background-color:transparent}:host(.ic-horizontal-scroll-dark) .disabled ic-button>svg,:host(.ic-horizontal-scroll-light) .disabled ic-button>svg{color:var(--splitter-color) !important}';const d=200;const p=class{constructor(i){t(this,i);this.buttonStateSet=false;this.focusHandler=t=>{this.itemFocusHandler(Array.from(this.items).indexOf(t.target))};this.resizeObserverCallback=()=>{if(this.el.clientWidth>=this.itemsContainerEl.scrollWidth){this.itemOverflow=false}else{this.itemOverflow=o(this.itemsContainerEl)}if(this.itemOverflow){this.lastItemVisible=this.itemsContainerEl.offsetWidth+this.itemsContainerEl.scrollLeft>=this.itemsContainerEl.scrollWidth}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{this.resizeObserverCallback()}));this.resizeObserver.observe(this.itemsContainerEl)};this.scrollLeft=()=>{this.scrollItemIntoView(this.getCurrentLeftItem()-1)};this.scrollRight=()=>{this.scrollItemIntoView(this.getCurrentLeftItem()+1)};this.longScrollRight=()=>{this.scrollRight();this.scrollDelay=window.setTimeout(this.longScrollRight,d)};this.longScrollLeft=()=>{this.scrollLeft();this.scrollDelay=window.setTimeout(this.longScrollLeft,d)};this.leftArrowMouseDownHandler=t=>{t.preventDefault();this.scrollDelay=window.setTimeout(this.longScrollLeft,d)};this.rightArrowMouseDownHandler=t=>{t.preventDefault();this.scrollDelay=window.setTimeout(this.longScrollRight,d)};this.arrowMouseUpHandler=()=>{window.clearTimeout(this.scrollDelay)};this.getCurrentLeftItem=()=>{const t=this.itemOffsets.findIndex((t=>t>Math.round(this.itemsContainerEl.scrollLeft)));return t<0?0:t};this.scrollHandler=()=>{window.clearTimeout(this.isScrolling);this.isScrolling=window.setTimeout(this.scrollStopped,50)};this.scrollStopped=()=>{const t=Math.round(this.itemsContainerEl.scrollLeft);if(this.buttonStateSet===false){this.firstItemVisible=t===0;this.lastItemVisible=this.itemsContainerEl.offsetWidth+t>=this.itemsContainerEl.scrollWidth}this.buttonStateSet=false};this.firstItemVisible=true;this.itemOverflow=false;this.lastItemVisible=false;this.appearance="default";this.monochrome=false;this.theme="inherit";this.focusTrigger="focus"}componentWillLoad(){this.itemsContainerEl=this.el.children[0];this.itemsContainerEl.addEventListener("scroll",this.scrollHandler);this.items=r(this.itemsContainerEl);this.items.forEach((t=>{if(t.addEventListener){t.addEventListener(this.focusTrigger,this.focusHandler)}}))}componentDidLoad(){let t=0;this.itemOffsets=this.items.map((i=>{t+=i.offsetWidth;return t}));l(this.runResizeObserver);const i=Array.from(this.el.shadowRoot.querySelectorAll("div"));["mouseup","mouseleave"].forEach((t=>{i.forEach((i=>i.addEventListener(t,this.arrowMouseUpHandler)))}))}disconnectedCallback(){var t,i;if(this.resizeObserver!==undefined){this.resizeObserver.disconnect()}const e=Array.from(this.el.shadowRoot.querySelectorAll("div"));["mouseup","mouseleave"].forEach((t=>{e.forEach((i=>i.removeEventListener(t,this.arrowMouseUpHandler)))}));(t=this.items)===null||t===void 0?void 0:t.forEach((t=>{if(t.removeEventListener){t.removeEventListener(this.focusTrigger,this.focusHandler)}}));(i=this.itemsContainerEl)===null||i===void 0?void 0:i.removeEventListener("scroll",this.scrollHandler)}async scrollItemIntoView(t){this.firstItemVisible=t<=0;const i=t<=0?0:this.itemOffsets[t-1];this.lastItemVisible=this.itemsContainerEl.offsetWidth+i>=this.itemsContainerEl.scrollWidth;this.buttonStateSet=true;this.itemsContainerEl.scrollLeft=i}itemFocusHandler(t){if(this.itemOverflow){this.scrollItemIntoView(t)}}render(){const{firstItemVisible:t,lastItemVisible:s,itemOverflow:o}=this;return i(e,{class:{["ic-horizontal-scroll-visible"]:o,["ic-horizontal-scroll-dark"]:this.appearance===a.Dark,["ic-horizontal-scroll-light"]:this.appearance===a.Light,[`ic-theme-${this.theme}`]:this.theme!=="inherit"}},i("div",{"aria-hidden":"true",class:{["scroll-container-left"]:true,["hidden"]:!o,["disabled"]:t},role:"tab"},i("ic-button",{class:"scroll-arrow",variant:"icon-tertiary","aria-label":"Scroll left",theme:this.theme==="light"||this.theme==="inherit"?"dark":"light",monochrome:this.monochrome,innerHTML:n,disabled:t,tabindex:"-1",onClick:this.scrollLeft,onMouseDown:this.leftArrowMouseDownHandler}),i("span",{class:"scroll-splitter-left"})),i("slot",null),i("div",{"aria-hidden":"true",class:{["scroll-container-right"]:true,["hidden"]:!o,["disabled"]:s},role:"tab"},i("span",{class:"scroll-splitter-right"}),i("ic-button",{class:"scroll-arrow",variant:"icon-tertiary","aria-label":"Scroll right",theme:this.theme==="light"||this.theme==="inherit"?"dark":"light",monochrome:this.monochrome,innerHTML:h,disabled:s,tabindex:"-1",onClick:this.scrollRight,onMouseDown:this.rightArrowMouseDownHandler})))}get el(){return s(this)}};p.style=c;export{p as ic_horizontal_scroll};
2
- //# sourceMappingURL=p-174de9d7.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icHorizontalScrollCss","SCROLL_DELAY_MS","HorizontalScroll","this","buttonStateSet","focusHandler","event","itemFocusHandler","Array","from","items","indexOf","target","resizeObserverCallback","el","clientWidth","itemsContainerEl","scrollWidth","itemOverflow","elementOverflowsX","lastItemVisible","offsetWidth","scrollLeft","runResizeObserver","resizeObserver","ResizeObserver","observe","scrollItemIntoView","getCurrentLeftItem","scrollRight","longScrollRight","scrollDelay","window","setTimeout","longScrollLeft","leftArrowMouseDownHandler","e","preventDefault","rightArrowMouseDownHandler","arrowMouseUpHandler","clearTimeout","index","itemOffsets","findIndex","Math","round","scrollHandler","isScrolling","scrollStopped","firstItemVisible","componentWillLoad","children","addEventListener","getSlotElements","forEach","item","focusTrigger","componentDidLoad","runningTotal","map","checkResizeObserver","scrollArrows","shadowRoot","querySelectorAll","arrow","disconnectedCallback","undefined","disconnect","removeEventListener","_a","_b","itemPosition","newScrollPos","render","h","Host","class","appearance","IcBrandForegroundEnum","Dark","Light","theme","role","variant","monochrome","innerHTML","LeftArrow","disabled","tabindex","onClick","onMouseDown","RightArrow"],"sources":["src/components/ic-horizontal-scroll/ic-horizontal-scroll.css?tag=ic-horizontal-scroll&encapsulation=shadow","src/components/ic-horizontal-scroll/ic-horizontal-scroll.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n --border-bottom-color: var(--ic-architectural-300);\n --splitter-color: var(--ic-architectural-100);\n\n display: flex;\n max-width: 100%;\n}\n\n:host(.ic-horizontal-scroll-light) {\n --splitter-color: var(--ic-color-keyline-lighten);\n}\n\n:host(.ic-horizontal-scroll-dark) {\n --splitter-color: var(--ic-color-keyline-darken);\n}\n\n/* Slotted items container element */\n::slotted(*) {\n overflow-x: scroll;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n -ms-overflow-style: none;\n margin: calc(var(--ic-space-xs) * -1) !important;\n padding: var(--ic-space-xs) !important;\n}\n\n:host(.ic-horizontal-scroll-visible) ::slotted(*) {\n margin: calc(var(--ic-space-xs) * -1) 0 !important;\n padding: var(--ic-space-xs) !important;\n}\n\n.tabs-container::-webkit-scrollbar {\n display: none;\n}\n\n.scroll-container-left,\n.scroll-container-right {\n display: flex;\n}\n\n.scroll-container-left {\n margin-left: var(--ic-space-xxs);\n}\n\n.scroll-container-right {\n margin-right: var(--ic-space-xxs);\n}\n\n.hidden {\n display: none;\n}\n\n.scroll-arrow {\n margin: var(--ic-space-xxs) 0;\n}\n\n.disabled .ic-tooltip-container {\n display: none !important;\n}\n\n.scroll-splitter-left,\n.scroll-splitter-right {\n display: flex;\n height: var(--ic-space-lg);\n width: var(--ic-space-1px);\n margin-top: var(--ic-space-xs);\n border-radius: var(--ic-space-1px);\n background-color: var(--splitter-color);\n}\n\n.scroll-splitter-left {\n margin-left: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.scroll-splitter-right {\n margin-right: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.disabled .scroll-splitter-left,\n.disabled .scroll-splitter-right {\n background-color: transparent;\n}\n\n:host(.ic-horizontal-scroll-dark) .disabled ic-button > svg,\n:host(.ic-horizontal-scroll-light) .disabled ic-button > svg {\n color: var(--splitter-color) !important;\n}\n","import {\n Component,\n Element,\n h,\n Host,\n State,\n Method,\n Prop,\n} from \"@stencil/core\";\n\nimport LeftArrow from \"./assets/left-arrow.svg\";\nimport RightArrow from \"./assets/right-arrow.svg\";\nimport { getSlotElements } from \"../../utils/helpers\";\n\nimport { checkResizeObserver, elementOverflowsX } from \"../../utils/helpers\";\nimport {\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcThemeMode,\n} from \"../../utils/types\";\n\nconst SCROLL_DELAY_MS = 200;\n\n@Component({\n tag: \"ic-horizontal-scroll\",\n styleUrl: \"./ic-horizontal-scroll.css\",\n shadow: true,\n})\nexport class HorizontalScroll {\n private buttonStateSet: boolean = false;\n private isScrolling: number;\n private itemOffsets: number[];\n private items: HTMLElement[];\n private itemsContainerEl: HTMLElement;\n private resizeObserver: ResizeObserver;\n private scrollDelay: number;\n\n @Element() el: HTMLIcHorizontalScrollElement;\n\n @State() firstItemVisible: boolean = true;\n @State() itemOverflow: boolean = false;\n @State() lastItemVisible: boolean = false;\n\n /**\n * The appearance of the horizontal scroll, e.g. dark, light or the default.\n */\n @Prop() appearance?: IcBrandForeground = \"default\";\n\n /** @internal Determines whether black variant of the tabs should be displayed. */\n @Prop() monochrome?: boolean = false;\n\n /**\n * @internal 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 The name of the event that triggers focus handler logic.\n */\n @Prop() focusTrigger?: string = \"focus\";\n\n componentWillLoad(): void {\n this.itemsContainerEl = this.el.children[0] as HTMLElement;\n this.itemsContainerEl.addEventListener(\"scroll\", this.scrollHandler);\n this.items = getSlotElements(this.itemsContainerEl) as HTMLElement[];\n this.items.forEach((item) => {\n if (item.addEventListener) {\n item.addEventListener(this.focusTrigger, this.focusHandler);\n }\n });\n }\n\n componentDidLoad(): void {\n let runningTotal = 0;\n this.itemOffsets = this.items.map((item) => {\n runningTotal += item.offsetWidth;\n return runningTotal;\n });\n\n checkResizeObserver(this.runResizeObserver);\n\n // Add event listener to scroll containers as mouse events are not fired on disabled elements (ic-button's <button>)\n // 'mouseleave' needed in case the user moves their mouse while holding the arrow buttons\n // - 'mouseup' otherwise not detected and scrolling not stopped\n const scrollArrows = Array.from(\n this.el.shadowRoot.querySelectorAll(\"div\")\n ) as HTMLElement[];\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) =>\n arrow.addEventListener(event, this.arrowMouseUpHandler)\n );\n });\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== undefined) {\n this.resizeObserver.disconnect();\n }\n\n const scrollArrows = Array.from(\n this.el.shadowRoot.querySelectorAll(\"div\")\n ) as HTMLElement[];\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) =>\n arrow.removeEventListener(event, this.arrowMouseUpHandler)\n );\n });\n\n this.items?.forEach((item) => {\n if (item.removeEventListener) {\n item.removeEventListener(this.focusTrigger, this.focusHandler);\n }\n });\n\n this.itemsContainerEl?.removeEventListener(\"scroll\", this.scrollHandler);\n }\n\n /**\n * @internal if side scrolling enabled, scrolls the specified item into view.\n */\n @Method()\n async scrollItemIntoView(itemPosition: number): Promise<void> {\n this.firstItemVisible = itemPosition <= 0;\n const newScrollPos =\n itemPosition <= 0 ? 0 : this.itemOffsets[itemPosition - 1];\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + newScrollPos >=\n this.itemsContainerEl.scrollWidth;\n this.buttonStateSet = true;\n this.itemsContainerEl.scrollLeft = newScrollPos;\n }\n\n private focusHandler = (event: FocusEvent) => {\n this.itemFocusHandler(\n Array.from(this.items).indexOf(event.target as HTMLElement)\n );\n };\n\n private itemFocusHandler(itemPosition: number): void {\n if (this.itemOverflow) {\n this.scrollItemIntoView(itemPosition);\n }\n }\n\n private resizeObserverCallback = () => {\n if (this.el.clientWidth >= this.itemsContainerEl.scrollWidth) {\n this.itemOverflow = false;\n } else {\n this.itemOverflow = elementOverflowsX(this.itemsContainerEl);\n }\n\n if (this.itemOverflow) {\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + this.itemsContainerEl.scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.itemsContainerEl);\n };\n\n private scrollLeft = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() - 1);\n };\n\n private scrollRight = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() + 1);\n };\n\n private longScrollRight = () => {\n this.scrollRight();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private longScrollLeft = () => {\n this.scrollLeft();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private leftArrowMouseDownHandler = (e: MouseEvent) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private rightArrowMouseDownHandler = (e: MouseEvent) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private arrowMouseUpHandler = () => {\n window.clearTimeout(this.scrollDelay);\n };\n\n private getCurrentLeftItem = (): number => {\n const index = this.itemOffsets.findIndex(\n (el) => el > Math.round(this.itemsContainerEl.scrollLeft)\n );\n return index < 0 ? 0 : index;\n };\n\n private scrollHandler = () => {\n window.clearTimeout(this.isScrolling);\n // Set a timeout to run after scrolling ends\n this.isScrolling = window.setTimeout(this.scrollStopped, 50);\n };\n\n private scrollStopped = () => {\n // If scrollItemIntoView has been called, the button states will already be set\n // Can't just handle it here as it causes strange jumping behaviour in positioning\n const scrollLeft = Math.round(this.itemsContainerEl.scrollLeft);\n if (this.buttonStateSet === false) {\n this.firstItemVisible = scrollLeft === 0;\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n this.buttonStateSet = false;\n };\n\n render() {\n const { firstItemVisible, lastItemVisible, itemOverflow } = this;\n\n return (\n <Host\n class={{\n [\"ic-horizontal-scroll-visible\"]: itemOverflow,\n [\"ic-horizontal-scroll-dark\"]:\n this.appearance === IcBrandForegroundEnum.Dark,\n [\"ic-horizontal-scroll-light\"]:\n this.appearance === IcBrandForegroundEnum.Light,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n >\n <div\n aria-hidden=\"true\"\n class={{\n [\"scroll-container-left\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: firstItemVisible,\n }}\n role=\"tab\"\n >\n <ic-button\n class=\"scroll-arrow\"\n variant=\"icon-tertiary\"\n aria-label=\"Scroll left\"\n theme={\n this.theme === \"light\" || this.theme === \"inherit\"\n ? \"dark\"\n : \"light\"\n }\n monochrome={this.monochrome}\n innerHTML={LeftArrow}\n disabled={firstItemVisible}\n tabindex=\"-1\"\n onClick={this.scrollLeft}\n onMouseDown={this.leftArrowMouseDownHandler}\n ></ic-button>\n <span class=\"scroll-splitter-left\"></span>\n </div>\n <slot></slot>\n <div\n aria-hidden=\"true\"\n class={{\n [\"scroll-container-right\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: lastItemVisible,\n }}\n role=\"tab\"\n >\n <span class=\"scroll-splitter-right\"></span>\n <ic-button\n class=\"scroll-arrow\"\n variant=\"icon-tertiary\"\n aria-label=\"Scroll right\"\n theme={\n this.theme === \"light\" || this.theme === \"inherit\"\n ? \"dark\"\n : \"light\"\n }\n monochrome={this.monochrome}\n innerHTML={RightArrow}\n disabled={lastItemVisible}\n tabindex=\"-1\"\n onClick={this.scrollRight}\n onMouseDown={this.rightArrowMouseDownHandler}\n ></ic-button>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as o,c as r,h as t,H as s}from"./p-6b5e91e2.js";import{M as e,N as i,W as a,c,g as h}from"./p-cda4aca9.js";const n=class{constructor(t){o(this,t);this.brandChange=r(this,"brandChange",7);this.darkModeChangeHandler=()=>{if(this.theme==="system"){this.themeClass=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"ic-theme-dark":"ic-theme-light"}else{this.themeClass=`ic-theme-${this.theme}`}};this.checkBrandColorContrast=()=>{if(e()<i&&e()>a){console.warn(`The brand colour does not provide enough contrast with either of the ICDS black or white foreground colours. Consider choosing a colour with a different brightness to achieve sufficient colour contrast for good visibility. See https://www.w3.org/TR/AERT/#color-contrast for more information about colour contrast.`)}};this.setBrandColor=()=>{const o=c(this.brandColor);if(o){const{r,g:t,b:s,a:e}=o;const{style:i}=document.documentElement;i.setProperty("--ic-brand-color-primary-r",`${r}`);i.setProperty("--ic-brand-color-primary-g",`${t}`);i.setProperty("--ic-brand-color-primary-b",`${s}`);i.setProperty("--ic-brand-color-primary-a",`${e}`);this.checkBrandColorContrast();this.brandChange.emit({mode:h(),color:o})}};this.themeClass="";this.brandColor=null;this.theme="light"}watchBrandColorPropHandler(){this.setBrandColor()}watchThemePropHandler(){this.darkModeChangeHandler()}componentWillLoad(){this.darkModeChangeHandler();this.setBrandColor();window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",this.darkModeChangeHandler)}render(){const{themeClass:o}=this;return t(s,{class:o},t("slot",null))}static get watchers(){return{brandColor:["watchBrandColorPropHandler"],theme:["watchThemePropHandler"]}}};export{n as ic_theme};
2
- //# sourceMappingURL=p-17f9921d.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["Theme","this","darkModeChangeHandler","theme","themeClass","window","matchMedia","matches","checkBrandColorContrast","getBrandColorBrightness","BLACK_MIN_COLOR_BRIGHTNESS","WHITE_MAX_COLOR_BRIGHTNESS","console","warn","setBrandColor","colorRGBA","convertToRGBA","brandColor","r","g","b","a","style","document","documentElement","setProperty","brandChange","emit","mode","getBrandForegroundAppearance","color","watchBrandColorPropHandler","watchThemePropHandler","componentWillLoad","addEventListener","render","h","Host","class"],"sources":["src/components/ic-theme/ic-theme.tsx"],"sourcesContent":["import {\n Component,\n Host,\n Event,\n EventEmitter,\n h,\n Watch,\n Prop,\n State,\n} from \"@stencil/core\";\n\nimport { IcColor, IcBrand } from \"../../utils/types\";\nimport {\n convertToRGBA,\n getBrandForegroundAppearance,\n} from \"../../utils/helpers\";\nimport { getBrandColorBrightness } from \"../../utils/helpers\";\nimport {\n BLACK_MIN_COLOR_BRIGHTNESS,\n WHITE_MAX_COLOR_BRIGHTNESS,\n} from \"../../utils/constants\";\n\n@Component({\n tag: \"ic-theme\",\n})\nexport class Theme {\n @State() themeClass: string = \"\";\n\n /**\n * The brand colour. Can be a hex value e.g. \"#ff0000\", RGB e.g. \"rgb(255, 0, 0)\", or RGBA e.g. \"rgba(255, 0, 0, 1)\".\n */\n @Prop() brandColor?: IcColor = null;\n\n @Watch(\"brandColor\")\n watchBrandColorPropHandler(): void {\n this.setBrandColor();\n }\n\n /**\n * The theme mode. Can be \"dark\", \"light\", or \"system\". \"system\" will use the device or browser settings.\n */\n @Prop() theme: \"dark\" | \"light\" | \"system\" = \"light\";\n\n @Watch(\"theme\")\n watchThemePropHandler(): void {\n this.darkModeChangeHandler();\n }\n\n /**\n * @internal Emitted when the brand color is changed.\n */\n @Event() brandChange: EventEmitter<IcBrand>;\n\n componentWillLoad(): void {\n this.darkModeChangeHandler();\n this.setBrandColor();\n\n window.matchMedia &&\n window\n .matchMedia(\"(prefers-color-scheme: dark)\")\n .addEventListener(\"change\", this.darkModeChangeHandler);\n }\n\n private darkModeChangeHandler = (): void => {\n if (this.theme === \"system\") {\n this.themeClass =\n window.matchMedia &&\n window.matchMedia(\"(prefers-color-scheme: dark)\").matches\n ? \"ic-theme-dark\"\n : \"ic-theme-light\";\n } else {\n this.themeClass = `ic-theme-${this.theme}`;\n }\n };\n\n private checkBrandColorContrast = (): void => {\n if (\n getBrandColorBrightness() < BLACK_MIN_COLOR_BRIGHTNESS &&\n getBrandColorBrightness() > WHITE_MAX_COLOR_BRIGHTNESS\n ) {\n console.warn(\n `The brand colour does not provide enough contrast with either of the ICDS black or white foreground colours. Consider choosing a colour with a different brightness to achieve sufficient colour contrast for good visibility. See https://www.w3.org/TR/AERT/#color-contrast for more information about colour contrast.`\n );\n }\n };\n\n private setBrandColor = () => {\n const colorRGBA = convertToRGBA(this.brandColor);\n\n if (colorRGBA) {\n const { r, g, b, a } = colorRGBA;\n const { style } = document.documentElement;\n style.setProperty(\"--ic-brand-color-primary-r\", `${r}`);\n style.setProperty(\"--ic-brand-color-primary-g\", `${g}`);\n style.setProperty(\"--ic-brand-color-primary-b\", `${b}`);\n style.setProperty(\"--ic-brand-color-primary-a\", `${a}`);\n\n this.checkBrandColorContrast();\n\n this.brandChange.emit({\n mode: getBrandForegroundAppearance(),\n color: colorRGBA,\n });\n }\n };\n\n render() {\n const { themeClass } = this;\n\n return (\n <Host class={themeClass}>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"0HAyBaA,EAAK,M,kEAsCRC,KAAAC,sBAAwB,KAC9B,GAAID,KAAKE,QAAU,SAAU,CAC3BF,KAAKG,WACHC,OAAOC,YACPD,OAAOC,WAAW,gCAAgCC,QAC9C,gBACA,gB,KACD,CACLN,KAAKG,WAAa,YAAYH,KAAKE,O,GAI/BF,KAAAO,wBAA0B,KAChC,GACEC,IAA4BC,GAC5BD,IAA4BE,EAC5B,CACAC,QAAQC,KACN,4T,GAKEZ,KAAAa,cAAgB,KACtB,MAAMC,EAAYC,EAAcf,KAAKgB,YAErC,GAAIF,EAAW,CACb,MAAMG,EAAGC,EAAEA,EAACC,EAAEA,EAACC,EAAEA,GAAMN,EACvB,MAAMO,MAAEA,GAAUC,SAASC,gBAC3BF,EAAMG,YAAY,6BAA8B,GAAGP,KACnDI,EAAMG,YAAY,6BAA8B,GAAGN,KACnDG,EAAMG,YAAY,6BAA8B,GAAGL,KACnDE,EAAMG,YAAY,6BAA8B,GAAGJ,KAEnDpB,KAAKO,0BAELP,KAAKyB,YAAYC,KAAK,CACpBC,KAAMC,IACNC,MAAOf,G,mBA3EiB,G,gBAKC,K,WAUc,O,CAP7C,0BAAAgB,GACE9B,KAAKa,e,CASP,qBAAAkB,GACE/B,KAAKC,uB,CAQP,iBAAA+B,GACEhC,KAAKC,wBACLD,KAAKa,gBAELT,OAAOC,YACLD,OACGC,WAAW,gCACX4B,iBAAiB,SAAUjC,KAAKC,sB,CA8CvC,MAAAiC,GACE,MAAM/B,WAAEA,GAAeH,KAEvB,OACEmC,EAACC,EAAI,CAACC,MAAOlC,GACXgC,EAAA,a"}
@@ -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,j as o,b as n,k as s,d,l,m as h,i as b}from"./p-cda4aca9.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}}.checkmark:dir(rtl){right:0}.checkbox-label:dir(rtl){padding-right:var(--ic-space-sm);padding-left:0}.indeterminate-symbol:dir(rtl){right:0.288rem}.branch-corner:dir(rtl){border-radius:0 0 0.188rem 0;border-right:0.125rem solid var(--ic-action-default);border-left:none}.dynamic-container:dir(rtl){margin:var(--ic-space-xxxs) var(--ic-space-sm) var(--ic-space-xxs) 0}';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(){r(this.disabled,this.el)}watchIndeterminateHandler(){this.displayIndeterminate=this.nativeIndeterminateBehaviour?this.indeterminate:this.indeterminate&&this.checked}componentWillLoad(){r(this.disabled,this.el);o(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:r,el:o,form:n,displayIndeterminate:s,groupLabel:m,label:p,name:k,size:x,value:v,theme:u}=this;const g=`ic-checkbox-${d(p)||v}-${m}`.replace(/ /g,"-");const f=o.parentElement.size;i?l(true,o,k,i&&v,a):h(o);return c(t,{class:{"ic-checkbox-disabled":a,[`ic-checkbox-${x||f}`]:true,[`ic-theme-${u}`]:u!=="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:v,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(o,"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"},r)),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-246ea059.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\n/* Right to left */\n.checkmark:dir(rtl) {\n right: 0;\n}\n\n.checkbox-label:dir(rtl) {\n padding-right: var(--ic-space-sm);\n padding-left: 0;\n}\n\n.indeterminate-symbol:dir(rtl) {\n right: 0.288rem;\n}\n\n.branch-corner:dir(rtl) {\n border-radius: 0 0 0.188rem 0;\n border-right: 0.125rem solid var(--ic-action-default);\n border-left: none;\n}\n\n.dynamic-container:dir(rtl) {\n margin: var(--ic-space-xxxs) var(--ic-space-sm) var(--ic-space-xxs) 0;\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 +0,0 @@
1
- {"version":3,"names":["icPageHeaderCss","PageHeader","this","resizeObserver","resizeObserverCallback","reverseOrder","isSlotUsed","el","applyReverseOrder","runResizeObserver","ResizeObserver","observe","currSize","getCurrentDeviceSize","deviceSize","actionArea","shadowRoot","querySelector","actionHeights","i","actionContent","length","action","actionHeight","offsetHeight","undefined","push","max","Math","actionAreaHeight","appendActionContent","reverse","forEach","btn","append","areButtonsReversed","DEVICE_SIZES","S","XL","disconnectedCallback","disconnect","componentWillLoad","Array","from","querySelectorAll","componentDidLoad","checkResizeObserver","render","size","border","heading","subheading","aligned","sticky","stickyDesktopOnly","theme","navAriaLabel","h","Host","class","ariaLabel","role","fullHeight","name","variant"],"sources":["src/components/ic-page-header/ic-page-header.css?tag=ic-page-header&encapsulation=shadow","src/components/ic-page-header/ic-page-header.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-page-header: z-index of page-header\n */\n\n:host {\n display: block;\n z-index: var(--ic-z-index-page-header);\n}\n\n:host(.ic-page-header-sticky) {\n position: sticky;\n top: 0;\n box-shadow: var(--ic-elevation-overlay);\n z-index: var(--ic-z-index-sticky-page-header);\n}\n\nheader {\n background-color: var(--ic-page-header-background);\n}\n\nheader.border-bottom {\n border-bottom: var(--ic-border-default);\n border-bottom: var(--ic-space-1px) solid var(--ic-page-header-border);\n}\n\nheader.tabs {\n padding-top: var(--ic-space-md);\n}\n\n.breadcrumb-area {\n margin-bottom: var(--ic-space-md);\n}\n\n.main-content {\n display: grid;\n grid-template-columns: auto 1fr;\n grid-template-areas:\n \"title-area action-area\"\n \"input-area action-area\";\n column-gap: var(--ic-space-md);\n justify-content: space-between;\n width: 100%;\n}\n\n.title-area {\n display: flex;\n flex-direction: column;\n flex: 1;\n min-width: 19rem;\n grid-area: title-area;\n}\n\n.header-content {\n display: flex;\n align-items: center;\n width: 100%;\n flex-wrap: wrap;\n column-gap: var(--ic-space-md);\n}\n\n.heading {\n display: inline-block;\n overflow-wrap: break-word;\n hyphens: auto;\n}\n\n.subheading-content {\n margin-top: var(--ic-space-xs);\n}\n\n.subheading-content.small {\n margin-top: var(--ic-space-md);\n}\n\n.action-area {\n display: flex;\n gap: var(--ic-space-md);\n flex-flow: row wrap;\n justify-self: end;\n justify-content: flex-end;\n height: fit-content;\n grid-area: action-area;\n}\n\n.input-area,\n.navigation-area {\n margin-top: var(--ic-space-md);\n width: 100%;\n}\n\n.tabs-slot {\n display: flex;\n overflow-x: auto;\n padding: 0.5rem;\n margin: -0.5rem;\n}\n\n.tabs-slot::-webkit-scrollbar {\n display: none;\n}\n\n.input-area {\n grid-area: input-area;\n}\n\n@media screen and (max-width: 576px) {\n ::slotted(ic-text-field) {\n --input-width: 100%;\n\n max-width: 20rem;\n }\n\n .main-content {\n grid-template-areas:\n \"title-area\"\n \"action-area\"\n \"input-area\";\n justify-content: flex-start;\n }\n\n .title-area {\n min-width: 0;\n }\n\n .action-area {\n min-width: 100%;\n margin-top: var(--ic-space-md);\n justify-content: start;\n }\n}\n\n@media screen and (min-width: 992px) {\n :host(.ic-page-header-sticky-desktop) {\n position: sticky;\n top: 0;\n box-shadow: var(--ic-elevation-overlay);\n z-index: var(--ic-z-index-sticky-page-header);\n }\n}\n","import { Component, Host, h, Prop, Element, State } from \"@stencil/core\";\n\nimport { IcAlignment, IcSizesNoLarge, IcThemeMode } from \"../../utils/types\";\n\nimport {\n isSlotUsed,\n DEVICE_SIZES,\n getCurrentDeviceSize,\n checkResizeObserver,\n} from \"../../utils/helpers\";\n\n/**\n * @slot breadcrumbs - Content will be rendered in the breadcrumb area, above the title and action areas.\n * @slot heading - Content will be rendered in the title area, in place of the heading.\n * @slot subheading - Content will be rendered in the title area, in place of the subheading.\n * @slot heading-adornment - Content will be rendered in the title area, adjacent to the heading.\n * @slot actions - Content will be rendered in the action area, adjacent to the title area.\n * @slot input - Content will be rendered in the input area, below the title area and adjacent to the action area.\n * @slot stepper - Content will be rendered in the navigation area, below the title and action areas. Note: stepper slot cannot be used when the tabs slot is being used.\n * @slot tabs - Content will be rendered in the navigation area, below the title and action areas. Note: the stepper slot cannot be used when the tabs slot is being used.\n */\n\n@Component({\n tag: \"ic-page-header\",\n styleUrl: \"ic-page-header.css\",\n shadow: true,\n})\nexport class PageHeader {\n private resizeObserver: ResizeObserver = null;\n\n @Element() el: HTMLIcPageHeaderElement;\n\n @State() actionContent: Node[];\n @State() areButtonsReversed: boolean = false;\n @State() deviceSize: number = DEVICE_SIZES.XL;\n\n /**\n * The alignment of the page header.\n */\n @Prop() aligned?: IcAlignment = \"left\";\n\n /**\n * If `true`, a border will be displayed along the bottom of the page header.\n */\n @Prop() border?: boolean = true;\n\n /**\n * The title to render on the page header.\n */\n @Prop() heading?: string;\n\n /**\n * If `true`, the reading pattern and tab order will change in the action area for viewport widths of above 576px and when actions have not wrapped.\n */\n @Prop() reverseOrder?: boolean = false;\n\n /**\n * The size of the page header component.\n */\n @Prop() size?: IcSizesNoLarge = \"medium\";\n\n /**\n * If `true`, the page header will be sticky at all breakpoints.\n */\n @Prop() sticky?: boolean = false;\n\n /**\n * If `true`, the page header will only be sticky for viewport widths of 992px and above.\n */\n @Prop() stickyDesktopOnly?: boolean = false;\n\n /**\n * The subtitle to render on the page header.\n */\n @Prop() subheading?: 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 disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n }\n\n componentWillLoad(): void {\n this.actionContent = Array.from(\n this.el.querySelectorAll(`[slot=\"actions\"]`)\n );\n }\n\n componentDidLoad(): void {\n checkResizeObserver(this.runResizeObserver);\n }\n\n private resizeObserverCallback = () => {\n if (this.reverseOrder && isSlotUsed(this.el, \"actions\")) {\n this.applyReverseOrder();\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.el);\n };\n\n private applyReverseOrder = (): void => {\n const currSize = getCurrentDeviceSize();\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n }\n\n const actionArea = this.el.shadowRoot.querySelector(\n \"div.action-area\"\n ) as HTMLElement;\n const actionHeights: number[] = [];\n\n /* For each button in the actions slot, check the height of the button and push this number into the actionHeights array and then find the greatest number in this array (i.e. find the height of the tallest button) */\n for (let i = 0; i < this.actionContent.length; i++) {\n const action = this.actionContent[i] as HTMLElement;\n let actionHeight = action.offsetHeight;\n if (actionHeight === undefined) {\n actionHeight = 0;\n }\n actionHeights.push(actionHeight);\n }\n\n const max = Math.max(...actionHeights);\n\n /* The smallest breakpoint displays buttons in the same order the user has slotted them in. When the device size is larger than the small breakpoint then the order of the button reverses due to best practice for reading patterns. If the device size is larger than the small breakpoint and the buttons have started to wrap then they follow the order the user has slotted them in. This logic is programmed based on the height of the action-area div that wraps the actions slot. If the height of the action-area div is taller than the height of the tallest button, then it is assumed that the taller height is caused by the buttons wrapping */\n let actionAreaHeight = actionArea.offsetHeight;\n\n if (actionAreaHeight === undefined) {\n actionAreaHeight = 0;\n }\n\n const appendActionContent = () => {\n this.actionContent = this.actionContent.reverse();\n this.actionContent.forEach((btn: string | Node) => {\n this.el.append(btn);\n });\n this.areButtonsReversed = !this.areButtonsReversed;\n };\n\n if (\n (this.deviceSize > DEVICE_SIZES.S &&\n actionAreaHeight <= max &&\n !this.areButtonsReversed) ||\n (((this.deviceSize > DEVICE_SIZES.S && actionAreaHeight > max) ||\n this.deviceSize <= DEVICE_SIZES.S) &&\n this.areButtonsReversed)\n ) {\n appendActionContent();\n }\n };\n\n render() {\n const {\n size,\n border,\n heading,\n subheading,\n aligned,\n sticky,\n stickyDesktopOnly,\n theme,\n } = this;\n\n const navAriaLabel = heading\n ? `${heading} page sections`\n : \"navigation-landmark-page-header\";\n\n return (\n <Host\n class={{\n [\"ic-page-header-sticky\"]: sticky,\n [\"ic-page-header-sticky-desktop\"]: !sticky && stickyDesktopOnly,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n aria-label={this.el.ariaLabel || \"page header\"}\n >\n <header\n class={{\n [\"border-bottom\"]: border,\n [\"tabs\"]: isSlotUsed(this.el, \"tabs\"),\n }}\n role=\"presentation\"\n >\n <ic-section-container\n aligned={aligned}\n fullHeight={isSlotUsed(this.el, \"tabs\")}\n >\n {isSlotUsed(this.el, \"breadcrumbs\") && (\n <div class=\"breadcrumb-area\">\n <slot name=\"breadcrumbs\" />\n </div>\n )}\n <div class=\"main-content\">\n <div class=\"title-area\">\n <div class=\"header-content\">\n <slot name=\"heading\">\n <ic-typography\n variant={size === \"small\" ? \"h4\" : \"h2\"}\n class=\"heading\"\n >\n <h2>{heading}</h2>\n </ic-typography>\n </slot>\n <slot name=\"heading-adornment\" />\n </div>\n <div\n class={{\n [\"subheading-content\"]:\n !!subheading || isSlotUsed(this.el, \"subheading\"),\n [\"small\"]: size === \"small\",\n }}\n >\n <slot name=\"subheading\">\n <ic-typography variant=\"body\">{subheading}</ic-typography>\n </slot>\n </div>\n </div>\n {isSlotUsed(this.el, \"actions\") && (\n <div class=\"action-area\">\n <slot name=\"actions\" />\n </div>\n )}\n {isSlotUsed(this.el, \"input\") && (\n <div class=\"input-area\">\n <slot name=\"input\" />\n </div>\n )}\n </div>\n\n {(isSlotUsed(this.el, \"stepper\") ||\n isSlotUsed(this.el, \"tabs\")) && (\n <div class=\"navigation-area\">\n {isSlotUsed(this.el, \"stepper\") &&\n !isSlotUsed(this.el, \"tabs\") && <slot name=\"stepper\" />}\n {isSlotUsed(this.el, \"tabs\") && (\n <nav aria-label={navAriaLabel}>\n <ic-horizontal-scroll>\n <ul class=\"tabs-slot\">\n <slot name=\"tabs\" />\n </ul>\n </ic-horizontal-scroll>\n </nav>\n )}\n </div>\n )}\n </ic-section-container>\n </header>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icDataListCss","DataList","render","el","heading","size","theme","this","Array","from","children","forEach","child","setAttribute","h","Host","class","id","name","variant"],"sources":["src/components/ic-data-list/ic-data-list.css?tag=ic-data-list&encapsulation=shadow","src/components/ic-data-list/ic-data-list.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n}\n\n.heading {\n --ic-typography-color: var(--ic-data-list-text-heading);\n}\n\n.rows {\n display: flex;\n flex-direction: column;\n gap: var(--ic-space-md);\n}\n\n:host(.ic-data-list-small) .rows {\n gap: var(--ic-space-xs);\n}\n\n.divider {\n margin-top: var(--ic-space-lg);\n margin-bottom: var(--ic-space-md);\n height: var(--ic-border-width);\n background-color: var(--ic-data-list-keyline-heading);\n}\n\n:host(.ic-data-list-small) .divider {\n margin-top: var(--ic-space-sm);\n margin-bottom: var(--ic-space-xs);\n}\n\n@media (forced-colors: active) {\n .divider {\n background-color: canvastext;\n }\n}\n","import { Component, Element, Host, h, Prop } from \"@stencil/core\";\nimport { IcSizesNoLarge, IcThemeMode } from \"../../utils/types\";\n\n/**\n * @slot heading - Content will be placed at the top of the data list.\n */\n@Component({\n tag: \"ic-data-list\",\n styleUrl: \"ic-data-list.css\",\n shadow: true,\n})\nexport class DataList {\n @Element() el: HTMLIcDataListElement;\n\n /**\n * The title for the data list.\n */\n @Prop() heading: string;\n\n /**\n * The size of the data list component.\n */\n @Prop() size?: IcSizesNoLarge = \"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 render() {\n const { el, heading, size, theme } = this;\n\n if (size === \"small\") {\n Array.from(el.children).forEach((child) =>\n child.setAttribute(\"size\", \"small\")\n );\n }\n\n return (\n <Host\n class={{\n \"ic-data-list-small\": size === \"small\",\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div class=\"heading\" id=\"data-list-heading\">\n <slot name=\"heading\">\n <ic-typography variant=\"h3\">{heading}</ic-typography>\n </slot>\n </div>\n <div class=\"divider\" />\n <ul aria-labelledby=\"data-list-heading\" class=\"rows\">\n <slot></slot>\n </ul>\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAgB,m3F,MCWTC,EAAQ,M,0DAWa,S,WAKF,S,CAE9B,MAAAC,GACE,MAAMC,GAAEA,EAAEC,QAAEA,EAAOC,KAAEA,EAAIC,MAAEA,GAAUC,KAErC,GAAIF,IAAS,QAAS,CACpBG,MAAMC,KAAKN,EAAGO,UAAUC,SAASC,GAC/BA,EAAMC,aAAa,OAAQ,U,CAI/B,OACEC,EAACC,EAAI,CACHC,MAAO,CACL,qBAAsBX,IAAS,QAC/B,CAAC,YAAYC,KAAUA,IAAU,YAGnCQ,EAAA,OAAKE,MAAM,UAAUC,GAAG,qBACtBH,EAAA,QAAMI,KAAK,WACTJ,EAAA,iBAAeK,QAAQ,MAAMf,KAGjCU,EAAA,OAAKE,MAAM,YACXF,EAAA,wBAAoB,oBAAoBE,MAAM,QAC5CF,EAAA,c"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icSkeletonCss","DEFAULT_HEIGHTS","text","circle","rectangle","Skeleton","render","variant","theme","el","this","style","firstElementChild","height","width","undefined","h","Host","class","skeleton"],"sources":["src/components/ic-skeleton/ic-skeleton.css?tag=ic-skeleton&encapsulation=shadow","src/components/ic-skeleton/ic-skeleton.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n@keyframes loading {\n 0% {\n background-color: var(--ic-skeleton-background);\n }\n\n 50% {\n background-color: var(--ic-skeleton-background-secondary);\n }\n\n 100% {\n background-color: var(--ic-skeleton-background);\n }\n}\n\n:host(.skeleton) {\n background-color: var(--ic-skeleton-background);\n border-radius: var(--ic-border-radius);\n animation: loading 1200ms infinite;\n display: inline-block;\n}\n\n:host(.skeleton) > * {\n opacity: 0;\n visibility: hidden;\n}\n\n:host(.ic-skeleton-circle) {\n border-radius: 50%;\n}\n\n@media (forced-colors: active) {\n :host(.skeleton) {\n -ms-high-contrast-adjust: none;\n forced-color-adjust: none;\n background: currentcolor;\n }\n}\n","import { Component, Element, Host, Prop, h } from \"@stencil/core\";\nimport { IcSkeletonVariants } from \"./ic-skeleton.types\";\nimport { IcThemeMode } from \"../../utils/types\";\n\nconst DEFAULT_HEIGHTS = {\n text: \"1em\",\n circle: \"25px\",\n rectangle: \"93px\",\n};\n\n@Component({\n tag: \"ic-skeleton\",\n styleUrl: \"ic-skeleton.css\",\n shadow: true,\n})\nexport class Skeleton {\n @Element() el: HTMLIcSkeletonElement;\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 variant of the skeleton that will be displayed.\n */\n @Prop() variant?: IcSkeletonVariants = \"rectangle\";\n\n render() {\n const { variant, theme, el } = this;\n\n const style = !el.firstElementChild\n ? {\n height: el.style.height || DEFAULT_HEIGHTS[variant],\n width: el.style.width || (variant === \"circle\" ? \"25px\" : \"260px\"),\n }\n : undefined;\n\n return (\n <Host\n class={{\n skeleton: true,\n \"ic-skeleton-circle\": variant === \"circle\",\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n style={style}\n aria-disabled=\"true\"\n >\n <slot />\n </Host>\n );\n }\n}\n"],"mappings":"yDAAA,MAAMA,EAAgB,o5FCItB,MAAMC,EAAkB,CACtBC,KAAM,MACNC,OAAQ,OACRC,UAAW,Q,MAQAC,EAAQ,M,oCAMW,U,aAKS,W,CAEvC,MAAAC,GACE,MAAMC,QAAEA,EAAOC,MAAEA,EAAKC,GAAEA,GAAOC,KAE/B,MAAMC,GAASF,EAAGG,kBACd,CACEC,OAAQJ,EAAGE,MAAME,QAAUZ,EAAgBM,GAC3CO,MAAOL,EAAGE,MAAMG,QAAUP,IAAY,SAAW,OAAS,UAE5DQ,UAEJ,OACEC,EAACC,EAAI,CACHC,MAAO,CACLC,SAAU,KACV,qBAAsBZ,IAAY,SAClC,CAAC,YAAYC,KAAUA,IAAU,WAEnCG,MAAOA,EAAK,gBACE,QAEdK,EAAA,a"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icBadgeCss","NAVIGATION_BUTTON","TOP_NAVIGATION","Badge","this","ariaLabel","setBadgeColour","colorRGBA","convertToRGBA","customColor","r","g","b","a","el","style","backgroundColor","foregroundColour","getBrandForegroundAppearance","getLabel","maxNumber","Number","label","setAccessibleLabel","parentEl","parentElement","defaultAriaLabel","isAccessibleLabelDefined","accessibleLabel","tagName","parentAriaLabel","ariaLabelPrefix","visible","undefined","setPositionInTopNavigation","parentTopNavEl","classList","contains","position","isInTopNav","grandparentEl","isPropDefined","accessibleLabelHandler","customColorHandler","variant","variantHandler","visibleHandler","componentWillLoad","_a","componentDidLoad","type","onComponentRequiredPropUndefined","prop","propName","componentWillRender","navBarMenuOpenHandler","navBarMenuCloseHandler","render","size","theme","h","Host","class","id","role","name"],"sources":["src/components/ic-badge/ic-badge.css?tag=ic-badge&encapsulation=shadow","src/components/ic-badge/ic-badge.tsx"],"sourcesContent":["@media (prefers-reduced-motion: no-preference) {\n :host(.ic-badge-show) {\n animation: expand var(--ic-transition-duration-slow);\n }\n\n :host(.ic-badge-hide) {\n animation: shrink var(--ic-transition-duration-slow);\n }\n}\n\n:host {\n display: flex;\n height: var(--ic-space-md);\n min-width: var(--ic-space-md);\n width: fit-content;\n border-radius: calc(2 * var(--ic-space-xxl));\n position: absolute;\n}\n\n:host ic-typography {\n --ic-typography-color: var(--ic-badge-text);\n}\n\n:host(.ic-badge-neutral) {\n background-color: var(--ic-badge-dark) !important;\n}\n\n:host(.ic-badge-light) ic-typography {\n --ic-typography-color: var(--ic-badge-text-monochrome);\n}\n\n:host(.ic-badge-light) ::slotted(*) {\n fill: var(--ic-badge-icon-monochrome);\n}\n\n:host(.ic-badge-info) {\n background-color: var(--ic-badge-info) !important;\n}\n\n:host(.ic-badge-light) {\n background-color: var(--ic-badge-light) !important;\n}\n\n:host(.ic-badge-warning) {\n background-color: var(--ic-badge-warning) !important;\n}\n\n:host(.ic-badge-warning) ic-typography {\n --ic-typography-color: var(--ic-badge-warning-text);\n}\n\n:host(.ic-badge-warning) ::slotted(*) {\n fill: var(--ic-badge-warning-icon);\n}\n\n:host(.ic-badge-error) {\n background-color: var(--ic-badge-error) !important;\n}\n\n:host(.ic-badge-success) {\n background-color: var(--ic-badge-success) !important;\n}\n\n:host(.ic-badge-small) {\n height: var(--ic-space-sm);\n min-width: var(--ic-space-sm);\n}\n\n:host(.ic-badge-large) {\n height: calc(var(--ic-space-md) + var(--ic-space-xxs));\n min-width: calc(var(--ic-space-md) + var(--ic-space-xxs));\n}\n\n:host(.ic-badge-dot.ic-badge-medium) {\n height: var(--ic-space-xs);\n width: var(--ic-space-xs);\n min-width: var(--ic-space-xs);\n}\n\n:host(.ic-badge-dot.ic-badge-small) {\n height: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n width: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n min-width: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n}\n\n:host(.ic-badge-dot.ic-badge-large) {\n height: var(--ic-space-sm);\n width: var(--ic-space-sm);\n min-width: var(--ic-space-sm);\n}\n\n:host ::slotted(*) {\n fill: var(--ic-badge-icon);\n}\n\n:host(.ic-badge-foreground-dark) ::slotted(*) {\n fill: var(--ic-color-text-primary-light);\n}\n\n:host(.ic-badge-foreground-light) ::slotted(*) {\n fill: white;\n}\n\n:host(.ic-badge-foreground-dark) ic-typography {\n --ic-typography-color: var(--ic-color-text-primary-light);\n}\n\n:host(.ic-badge-foreground-light) ic-typography {\n --ic-typography-color: var(--ic-color-primary-text-dark);\n}\n\n:host(.ic-badge-text) ic-typography {\n align-self: center;\n padding: 0 calc((var(--ic-space-xs) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px);\n}\n\n:host(.ic-badge-text.ic-badge-small) ic-typography {\n padding: 0 0.2132rem;\n}\n\n:host(.ic-badge-text.ic-badge-large) ic-typography {\n padding: 0 calc((var(--ic-space-sm) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px);\n}\n\n:host(.ic-badge-icon) ::slotted(svg) {\n width: var(--ic-space-sm);\n height: var(--ic-space-sm);\n padding: var(--ic-space-xxxs);\n}\n\n:host(.ic-badge-icon.ic-badge-small) ::slotted(svg) {\n width: var(--ic-space-xs);\n height: var(--ic-space-xs);\n}\n\n:host(.ic-badge-icon.ic-badge-large) ::slotted(svg) {\n width: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n height: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n padding: calc(var(--ic-space-xxxs) + var(--ic-space-1px));\n}\n\n:host(.ic-badge-far) {\n top: calc(-1 * var(--ic-space-xs));\n right: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.ic-badge-far.ic-badge-small),\n:host(.ic-badge-dot.ic-badge-far.ic-badge-large) {\n top: calc(-1 * var(--ic-space-xxs));\n right: calc(-1 * var(--ic-space-xxs));\n}\n\n:host(.ic-badge-dot.ic-badge-far),\n:host(.ic-badge-dot.ic-badge-far.ic-badge-small) {\n top: calc(-1 * var(--ic-space-xxxs));\n right: calc(-1 * var(--ic-space-xxxs));\n}\n\n:host(.ic-badge-near) {\n top: calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));\n right: calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));\n}\n\n:host(.ic-badge-dot.ic-badge-near) {\n top: calc(-1 * var(--ic-space-1px));\n right: calc(-1 * var(--ic-space-1px));\n}\n\n:host(.ic-badge-inline) {\n position: static;\n}\n\n:host(.ic-badge-hide) {\n visibility: hidden !important;\n transition: visibility var(--ic-transition-duration-slow);\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n@keyframes expand {\n from {\n opacity: 0;\n transform: scale(0);\n }\n\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n@keyframes shrink {\n from {\n opacity: 1;\n transform: scale(1);\n }\n\n to {\n opacity: 0;\n transform: scale(0);\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n Watch,\n h,\n Listen,\n} from \"@stencil/core\";\nimport {\n IcBadgePositions,\n IcBadgeTypes,\n IcBadgeVariants,\n} from \"./ic-badge.types\";\nimport {\n IcSizes,\n IcBrandForeground,\n IcColor,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n convertToRGBA,\n getBrandForegroundAppearance,\n isPropDefined,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\n\nconst NAVIGATION_BUTTON = \"IC-NAVIGATION-BUTTON\";\nconst TOP_NAVIGATION = \"IC-TOP-NAVIGATION\";\n\n/**\n * @slot badge-icon - Icon will be rendered inside the badge if type is set to icon.\n */\n@Component({\n tag: \"ic-badge\",\n styleUrl: \"ic-badge.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Badge {\n private ariaLabel: string = null;\n private foregroundColour: IcBrandForeground;\n private parentAriaLabel: string;\n\n @Element() el: HTMLIcBadgeElement;\n\n /**\n * The accessible label of the badge component to provide context for screen reader users.\n */\n @Prop() accessibleLabel?: string;\n\n @Watch(\"accessibleLabel\")\n accessibleLabelHandler(): void {\n this.setAccessibleLabel();\n }\n\n /**\n * The custom badge colour. This will only style the badge component if variant=\"custom\".\n * Can be a hex value e.g. \"#ff0000\", RGB e.g. \"rgb(255, 0, 0)\", or RGBA e.g. \"rgba(255, 0, 0, 1)\".\n */\n @Prop() customColor?: IcColor = null;\n\n @Watch(\"customColor\")\n customColorHandler(): void {\n this.variant === \"custom\" && this.setBadgeColour();\n }\n\n /**\n * The maximum number shown on the badge appended with a +.\n * This will only be displayed if type=\"text\" and label is not empty.\n */\n @Prop() maxNumber?: number;\n\n /**\n * The positioning of the badge in reference to the parent element.\n */\n @Prop({ mutable: true }) position?: IcBadgePositions = \"far\";\n\n /**\n * The size of the badge to be displayed.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n /**\n * The text displayed in the badge. This will only be displayed if type=\"text\".\n */\n @Prop() label?: 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 /**\n * The type of badge to be displayed.\n */\n @Prop() type?: IcBadgeTypes = \"text\";\n\n /**\n * The variant of the badge to be displayed.\n */\n @Prop() variant?: IcBadgeVariants = \"neutral\";\n\n @Watch(\"variant\")\n variantHandler(): void {\n if (this.variant === \"custom\") {\n this.setBadgeColour();\n }\n }\n\n /**\n * If `true`, the badge will be displayed.\n */\n @Prop() visible: boolean = true;\n\n @Watch(\"visible\")\n visibleHandler(): void {\n this.setAccessibleLabel();\n }\n\n componentWillLoad(): void {\n this.variant === \"custom\" && this.setBadgeColour();\n\n const ariaLabel = this.el.parentElement?.ariaLabel;\n if (ariaLabel) this.parentAriaLabel = ariaLabel;\n this.setAccessibleLabel();\n }\n\n componentDidLoad(): void {\n this.type === \"text\" &&\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Badge\"\n );\n }\n\n componentWillRender(): void {\n this.isInTopNav() && this.setPositionInTopNavigation();\n }\n\n @Listen(\"icNavigationMenuOpened\", { target: \"document\" })\n navBarMenuOpenHandler(): void {\n this.isInTopNav() && (this.position = \"inline\");\n }\n\n @Listen(\"icNavigationMenuClosed\", { target: \"document\" })\n navBarMenuCloseHandler(): void {\n this.isInTopNav() && (this.position = \"near\");\n }\n\n private setBadgeColour = () => {\n const colorRGBA = convertToRGBA(this.customColor);\n\n if (colorRGBA) {\n const { r, g, b, a } = colorRGBA;\n this.el.style.backgroundColor = `rgba(${r}, ${g}, ${b}, ${a})`;\n this.foregroundColour = getBrandForegroundAppearance(\n (r * 299 + g * 587 + b * 114) / 1000\n );\n }\n };\n\n private getLabel = () =>\n this.maxNumber && Number(this.label) > this.maxNumber\n ? `${this.maxNumber}+`\n : this.label;\n\n // Set aria-label on badge and / or parent element\n // Aria-describedby seems to not work, probably due to shadow DOM\n private setAccessibleLabel = () => {\n const parentEl = this.el.parentElement;\n const defaultAriaLabel = this.isAccessibleLabelDefined()\n ? this.accessibleLabel\n : this.label || \"with badge being displayed\";\n\n if (parentEl) {\n const { tagName } = parentEl;\n if (\n tagName !== \"IC-CARD\" &&\n (tagName !== \"IC-TAB\" || (tagName === \"IC-TAB\" && this.parentAriaLabel))\n ) {\n const ariaLabelPrefix = this.parentAriaLabel\n ? `${this.parentAriaLabel} ,`\n : \"\";\n parentEl.ariaLabel = this.visible\n ? `${ariaLabelPrefix} ${defaultAriaLabel}`\n : undefined;\n } else {\n this.ariaLabel = `, ${defaultAriaLabel}`;\n }\n }\n };\n\n private setPositionInTopNavigation = () => {\n const parentTopNavEl = this.el.parentElement.parentElement;\n parentTopNavEl.classList.contains(\"mobile-mode\")\n ? (this.position = \"inline\")\n : (this.position = \"near\");\n };\n\n private isInTopNav = (): boolean => {\n const parentEl = this.el.parentElement;\n const grandparentEl = parentEl.parentElement;\n return (\n parentEl.tagName === NAVIGATION_BUTTON &&\n grandparentEl.tagName === TOP_NAVIGATION\n );\n };\n\n private isAccessibleLabelDefined = () =>\n isPropDefined(this.accessibleLabel) && this.accessibleLabel !== null;\n\n render() {\n const {\n ariaLabel,\n el,\n foregroundColour,\n getLabel,\n position,\n size,\n label,\n type,\n variant,\n visible,\n theme,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-badge-${position}`]: true,\n [`ic-badge-${size}`]: true,\n [`ic-badge-${variant}`]: true,\n [`ic-badge-${type}`]: true,\n [`ic-badge-foreground-${foregroundColour}`]:\n foregroundColour !== null && variant === \"custom\",\n [`${visible ? \"ic-badge-show\" : \"ic-badge-hide\"}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n id={el.id || null}\n aria-label={ariaLabel}\n role=\"status\"\n >\n {type === \"icon\" && <slot name=\"badge-icon\"></slot>}\n {type === \"text\" && label && (\n <ic-typography variant={size === \"small\" ? \"badge-small\" : \"badge\"}>\n {getLabel()}\n </ic-typography>\n )}\n {type === \"dot\" && <span class=\"sr-only\">badge</span>}\n </Host>\n );\n }\n}\n"],"mappings":"kHAAA,MAAMA,EAAa,o+HC2BnB,MAAMC,EAAoB,uBAC1B,MAAMC,EAAiB,oB,MAYVC,EAAK,M,yBACRC,KAAAC,UAAoB,KA8GpBD,KAAAE,eAAiB,KACvB,MAAMC,EAAYC,EAAcJ,KAAKK,aAErC,GAAIF,EAAW,CACb,MAAMG,EAAEA,EAACC,EAAEA,EAACC,EAAEA,EAACC,EAAEA,GAAMN,EACvBH,KAAKU,GAAGC,MAAMC,gBAAkB,QAAQN,MAAMC,MAAMC,MAAMC,KAC1DT,KAAKa,iBAAmBC,GACrBR,EAAI,IAAMC,EAAI,IAAMC,EAAI,KAAO,I,GAK9BR,KAAAe,SAAW,IACjBf,KAAKgB,WAAaC,OAAOjB,KAAKkB,OAASlB,KAAKgB,UACxC,GAAGhB,KAAKgB,aACRhB,KAAKkB,MAIHlB,KAAAmB,mBAAqB,KAC3B,MAAMC,EAAWpB,KAAKU,GAAGW,cACzB,MAAMC,EAAmBtB,KAAKuB,2BAC1BvB,KAAKwB,gBACLxB,KAAKkB,OAAS,6BAElB,GAAIE,EAAU,CACZ,MAAMK,QAAEA,GAAYL,EACpB,GACEK,IAAY,YACXA,IAAY,UAAaA,IAAY,UAAYzB,KAAK0B,iBACvD,CACA,MAAMC,EAAkB3B,KAAK0B,gBACzB,GAAG1B,KAAK0B,oBACR,GACJN,EAASnB,UAAYD,KAAK4B,QACtB,GAAGD,KAAmBL,IACtBO,S,KACC,CACL7B,KAAKC,UAAY,KAAKqB,G,IAKpBtB,KAAA8B,2BAA6B,KACnC,MAAMC,EAAiB/B,KAAKU,GAAGW,cAAcA,cAC7CU,EAAeC,UAAUC,SAAS,eAC7BjC,KAAKkC,SAAW,SAChBlC,KAAKkC,SAAW,MAAO,EAGtBlC,KAAAmC,WAAa,KACnB,MAAMf,EAAWpB,KAAKU,GAAGW,cACzB,MAAMe,EAAgBhB,EAASC,cAC/B,OACED,EAASK,UAAY5B,GACrBuC,EAAcX,UAAY3B,CAAc,EAIpCE,KAAAuB,yBAA2B,IACjCc,EAAcrC,KAAKwB,kBAAoBxB,KAAKwB,kBAAoB,K,gDAtJlC,K,uCAgBuB,M,UAK9B,S,gCAUK,U,UAKA,O,aAKM,U,aAYT,I,CA7D3B,sBAAAc,GACEtC,KAAKmB,oB,CAUP,kBAAAoB,GACEvC,KAAKwC,UAAY,UAAYxC,KAAKE,gB,CAwCpC,cAAAuC,GACE,GAAIzC,KAAKwC,UAAY,SAAU,CAC7BxC,KAAKE,gB,EAUT,cAAAwC,GACE1C,KAAKmB,oB,CAGP,iBAAAwB,G,MACE3C,KAAKwC,UAAY,UAAYxC,KAAKE,iBAElC,MAAMD,GAAY2C,EAAA5C,KAAKU,GAAGW,iBAAa,MAAAuB,SAAA,SAAAA,EAAE3C,UACzC,GAAIA,EAAWD,KAAK0B,gBAAkBzB,EACtCD,KAAKmB,oB,CAGP,gBAAA0B,GACE7C,KAAK8C,OAAS,QACZC,EACE,CAAC,CAAEC,KAAMhD,KAAKkB,MAAO+B,SAAU,UAC/B,Q,CAIN,mBAAAC,GACElD,KAAKmC,cAAgBnC,KAAK8B,4B,CAI5B,qBAAAqB,GACEnD,KAAKmC,eAAiBnC,KAAKkC,SAAW,S,CAIxC,sBAAAkB,GACEpD,KAAKmC,eAAiBnC,KAAKkC,SAAW,O,CAiExC,MAAAmB,GACE,MAAMpD,UACJA,EAASS,GACTA,EAAEG,iBACFA,EAAgBE,SAChBA,EAAQmB,SACRA,EAAQoB,KACRA,EAAIpC,MACJA,EAAK4B,KACLA,EAAIN,QACJA,EAAOZ,QACPA,EAAO2B,MACPA,GACEvD,KAEJ,OACEwD,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,YAAYxB,KAAa,KAC1B,CAAC,YAAYoB,KAAS,KACtB,CAAC,YAAYd,KAAY,KACzB,CAAC,YAAYM,KAAS,KACtB,CAAC,uBAAuBjC,KACtBA,IAAqB,MAAQ2B,IAAY,SAC3C,CAAC,GAAGZ,EAAU,gBAAkB,mBAAoB,KACpD,CAAC,YAAY2B,KAAUA,IAAU,WAEnCI,GAAIjD,EAAGiD,IAAM,KAAI,aACL1D,EACZ2D,KAAK,UAEJd,IAAS,QAAUU,EAAA,QAAMK,KAAK,eAC9Bf,IAAS,QAAU5B,GAClBsC,EAAA,iBAAehB,QAASc,IAAS,QAAU,cAAgB,SACxDvC,KAGJ+B,IAAS,OAASU,EAAA,QAAME,MAAM,WAAS,S"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icCheckboxGroupCss","CheckboxGroup","this","checkboxSelector","watchDisabledHandler","removeDisabledFalse","disabled","el","labelNameHandler","newValue","oldValue","propName","Array","from","querySelectorAll","forEach","checkbox","groupLabel","name","watchThemeHandler","theme","handleChange","ev","target","tagName","stopImmediatePropagation","componentWillLoad","componentDidLoad","onComponentRequiredPropUndefined","prop","label","selectHandler","checkedOptions","filter","checked","icChange","emit","value","map","opt","textFieldValue","_a","querySelector","selectedOption","render","helperText","hideLabel","required","size","validationStatus","validationText","describedBy","getInputDescribedByText","h","Host","class","id","trim","useLabelTag","hasValidationStatus","for","ariaLiveMode","status","message"],"sources":["src/components/ic-checkbox-group/ic-checkbox-group.css?tag=ic-checkbox-group&encapsulation=shadow","src/components/ic-checkbox-group/ic-checkbox-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n\n --ic-input-label-text-color: var(--ic-checkbox-group-label);\n --ic-input-label-helper-text-color: var(--ic-checkbox-group-subtitle);\n --ic-input-validation-error: var(--ic-checkbox-state-icon-error);\n --ic-input-validation-status-text-color: var(--ic-checkbox-state-text);\n}\n\n:host(.ic-checkbox-group-disabled) {\n --ic-input-label-text-color: var(--ic-checkbox-group-label-disabled);\n --ic-input-label-helper-text-color: var(\n --ic-checkbox-group-subtitle-disabled\n );\n}\n\nic-input-label.error {\n color: var(--ic-checkbox-group-label-error);\n\n --ic-typography-color: var(--ic-checkbox-group-label-error);\n --ic-input-label-helper-text-color: var(--ic-checkbox-group-subtitle-error);\n}\n\nic-input-label ic-typography {\n margin-bottom: var(--ic-space-sm);\n}\n\n:host(.ic-checkbox-group-small) ic-input-label ic-typography {\n margin-bottom: calc(var(--ic-space-sm) / 2);\n}\n\nic-input-validation {\n margin-top: var(--ic-space-sm);\n}\n\n:host(.ic-checkbox-group-small) ic-input-validation {\n margin-top: calc(var(--ic-space-sm) / 2);\n}\n\n.checkboxes-container {\n margin-bottom: calc(-1 * var(--ic-space-xxs));\n}\n\n:host(.ic-checkbox-group-small) .checkboxes-container {\n margin-bottom: calc(-1 * var(--ic-space-xxxs));\n}\n\n.screen-reader-only-text {\n position: absolute;\n left: -9999px;\n background-color: #fff;\n color: #000;\n text-transform: none;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Listen,\n Element,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n hasValidationStatus,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport {\n IcInformationStatusOrEmpty,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport { IcChangeEventDetail } from \"./ic-checkbox-group.types\";\n\n@Component({\n tag: \"ic-checkbox-group\",\n styleUrl: \"ic-checkbox-group.css\",\n shadow: true,\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class CheckboxGroup {\n private checkboxSelector: string = \"ic-checkbox\";\n @Element() el: HTMLIcCheckboxGroupElement;\n\n /**\n * If `true`, the checkbox group 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 helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText: 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: boolean = false;\n\n /**\n * The label for the checkbox group to be displayed.\n */\n @Prop() label!: string;\n\n /**\n * The name for the checkbox group to differentiate from other groups.\n */\n @Prop() name!: string;\n\n @Watch(\"label\")\n @Watch(\"name\")\n labelNameHandler(\n newValue: string,\n oldValue: string,\n propName: \"label\" | \"name\"\n ): void {\n Array.from(this.el.querySelectorAll(this.checkboxSelector)).forEach(\n (checkbox: HTMLIcCheckboxElement) => {\n if (propName === \"label\") checkbox.groupLabel = newValue;\n else if (checkbox.name === oldValue) {\n // If the checkbox name has been set by the parent, then override it\n checkbox.name = newValue;\n }\n }\n );\n }\n\n /**\n * If `true`, the checkbox group will require a value.\n */\n @Prop() required: boolean = false;\n\n /**\n * The size of the checkboxes to be displayed. This does not affect the font size of the label.\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 @Watch(\"theme\")\n watchThemeHandler(newValue: IcThemeMode): void {\n Array.from(this.el.querySelectorAll(this.checkboxSelector)).forEach(\n (checkbox: HTMLIcCheckboxElement) => {\n checkbox.theme = newValue;\n }\n );\n }\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The validation text - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationText: string = \"\";\n\n /**\n * Emitted when a checkbox is checked.\n */\n @Event() icChange: EventEmitter<IcChangeEventDetail>;\n\n @Listen(\"icChange\")\n handleChange(ev: CustomEvent): void {\n //don't pass on the event if it has come from slotted text field\n //otherwise any icChange handler bound to the checkbox group will also run\n if ((ev.target as HTMLElement).tagName === \"IC-TEXT-FIELD\") {\n ev.stopImmediatePropagation();\n }\n }\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n this.watchThemeHandler(this.theme);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.name, propName: \"name\" },\n ],\n \"Checkbox Group\"\n );\n }\n\n @Listen(\"icCheck\")\n selectHandler({ target }: CustomEvent): void {\n const checkedOptions = Array.from(\n this.el.querySelectorAll(\"ic-checkbox\")\n ).filter(({ checked, disabled }) => checked && !disabled);\n this.icChange.emit({\n value: checkedOptions.map(({ value }) => value),\n checkedOptions: checkedOptions.map((opt) => ({\n checkbox: opt,\n textFieldValue: opt.querySelector(\"ic-text-field\")?.value,\n })),\n selectedOption: target as HTMLIcCheckboxElement,\n });\n }\n\n render() {\n const {\n disabled,\n helperText,\n hideLabel,\n label,\n name,\n required,\n size,\n theme,\n validationStatus,\n validationText,\n } = this;\n\n const describedBy = getInputDescribedByText(\n name,\n helperText !== \"\",\n validationStatus !== \"\"\n );\n\n return (\n <Host\n class={{\n [`ic-checkbox-group-${size}`]: true,\n [`ic-checkbox-group-disabled`]: disabled,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n {(validationStatus === \"error\" || required || hideLabel) && (\n <span\n id=\"screenReaderOnlyText\"\n class=\"screen-reader-only-text\"\n aria-hidden=\"true\"\n >\n {label} {validationStatus === \"error\" ? \"invalid data \" : null}{\" \"}\n {required ? \"required\" : null}\n </span>\n )}\n <fieldset\n id={name}\n aria-labelledby={`${\n validationStatus === \"error\" || required || hideLabel\n ? \"screenReaderOnlyText\"\n : \"\"\n } ${describedBy}`.trim()}\n disabled={disabled}\n >\n {!hideLabel && (\n <legend>\n <ic-input-label\n class={{ [`${validationStatus}`]: true }}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabled}\n useLabelTag={false}\n ></ic-input-label>\n </legend>\n )}\n <div class=\"checkboxes-container\">\n <slot></slot>\n </div>\n </fieldset>\n {hasValidationStatus(validationStatus, disabled) && (\n <ic-input-validation\n for={name}\n ariaLiveMode=\"polite\"\n status={validationStatus}\n message={validationText}\n ></ic-input-validation>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"oHAAA,MAAMA,EAAqB,2kH,MC8BdC,EAAa,M,4DAChBC,KAAAC,iBAA2B,c,cAMP,M,gBASC,G,eAKA,M,uDAiCD,M,UAKH,S,WAKK,U,sBAayB,G,oBAKtB,E,CAzEjC,oBAAAC,GACEC,EAAoBH,KAAKI,SAAUJ,KAAKK,G,CAyB1C,gBAAAC,CACEC,EACAC,EACAC,GAEAC,MAAMC,KAAKX,KAAKK,GAAGO,iBAAiBZ,KAAKC,mBAAmBY,SACzDC,IACC,GAAIL,IAAa,QAASK,EAASC,WAAaR,OAC3C,GAAIO,EAASE,OAASR,EAAU,CAEnCM,EAASE,KAAOT,C,KAqBxB,iBAAAU,CAAkBV,GAChBG,MAAMC,KAAKX,KAAKK,GAAGO,iBAAiBZ,KAAKC,mBAAmBY,SACzDC,IACCA,EAASI,MAAQX,CAAQ,G,CAqB/B,YAAAY,CAAaC,GAGX,GAAKA,EAAGC,OAAuBC,UAAY,gBAAiB,CAC1DF,EAAGG,0B,EAIP,iBAAAC,GACErB,EAAoBH,KAAKI,SAAUJ,KAAKK,IACxCL,KAAKiB,kBAAkBjB,KAAKkB,M,CAG9B,gBAAAO,GACEC,EACE,CACE,CAAEC,KAAM3B,KAAK4B,MAAOnB,SAAU,SAC9B,CAAEkB,KAAM3B,KAAKgB,KAAMP,SAAU,SAE/B,iB,CAKJ,aAAAoB,EAAcR,OAAEA,IACd,MAAMS,EAAiBpB,MAAMC,KAC3BX,KAAKK,GAAGO,iBAAiB,gBACzBmB,QAAO,EAAGC,UAAS5B,cAAe4B,IAAY5B,IAChDJ,KAAKiC,SAASC,KAAK,CACjBC,MAAOL,EAAeM,KAAI,EAAGD,WAAYA,IACzCL,eAAgBA,EAAeM,KAAKC,I,MAAQ,OAC1CvB,SAAUuB,EACVC,gBAAgBC,EAAAF,EAAIG,cAAc,oBAAgB,MAAAD,SAAA,SAAAA,EAAEJ,MACrD,IACDM,eAAgBpB,G,CAIpB,MAAAqB,GACE,MAAMtC,SACJA,EAAQuC,WACRA,EAAUC,UACVA,EAAShB,MACTA,EAAKZ,KACLA,EAAI6B,SACJA,EAAQC,KACRA,EAAI5B,MACJA,EAAK6B,iBACLA,EAAgBC,eAChBA,GACEhD,KAEJ,MAAMiD,EAAcC,EAClBlC,EACA2B,IAAe,GACfI,IAAqB,IAGvB,OACEI,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,qBAAqBP,KAAS,KAC/B,CAAC,8BAA+B1C,EAChC,CAAC,YAAYc,KAAUA,IAAU,aAGjC6B,IAAqB,SAAWF,GAAYD,IAC5CO,EAAA,QACEG,GAAG,uBACHD,MAAM,0BAAyB,cACnB,QAEXzB,EAAK,IAAGmB,IAAqB,QAAU,gBAAkB,KAAM,IAC/DF,EAAW,WAAa,MAG7BM,EAAA,YACEG,GAAItC,EAAI,kBACS,GACf+B,IAAqB,SAAWF,GAAYD,EACxC,uBACA,MACFK,IAAcM,OAClBnD,SAAUA,IAERwC,GACAO,EAAA,cACEA,EAAA,kBACEE,MAAO,CAAE,CAAC,GAAGN,KAAqB,MAClCnB,MAAOA,EACPe,WAAYA,EACZE,SAAUA,EACVzC,SAAUA,EACVoD,YAAa,SAInBL,EAAA,OAAKE,MAAM,wBACTF,EAAA,eAGHM,EAAoBV,EAAkB3C,IACrC+C,EAAA,uBACEO,IAAK1C,EACL2C,aAAa,SACbC,OAAQb,EACRc,QAASb,I"}
@@ -1,2 +0,0 @@
1
- import{r as t,h as s,g as i}from"./p-6b5e91e2.js";const e=class{constructor(s){t(this,s);this.pendingVisibility=[];this.showToast=t=>{const s=Array.from(document.querySelectorAll("ic-toast")).filter((t=>window.getComputedStyle(t).display!=="none"));if(s.indexOf(t)===-1&&s.length<=0){t.setVisible().then((t=>this.previouslyFocused=t))}if(s.length>0)this.pendingVisibility.push(t)};this.openToast=undefined}watchOpenToastHandler(t){if(this.openToast!==undefined){this.showToast(t);this.openToast=undefined}}componentDidLoad(){if(this.openToast){this.showToast(this.openToast);this.openToast=undefined}}handleDismissedToast(){var t;if(this.pendingVisibility.length>0){this.pendingVisibility[0].setVisible().then((t=>this.previouslyFocused=t));this.pendingVisibility.shift()}else{if(this.previouslyFocused&&"setFocus"in this.previouslyFocused){this.previouslyFocused.setFocus()}else(t=this.previouslyFocused)===null||t===void 0?void 0:t.focus()}}render(){return s("slot",null)}get el(){return i(this)}static get watchers(){return{openToast:["watchOpenToastHandler"]}}};export{e as ic_toast_region};
2
- //# sourceMappingURL=p-3ea4a005.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["ToastRegion","this","pendingVisibility","showToast","toast","visibleToasts","Array","from","document","querySelectorAll","filter","el","window","getComputedStyle","display","indexOf","length","setVisible","then","res","previouslyFocused","push","watchOpenToastHandler","newValue","openToast","undefined","componentDidLoad","handleDismissedToast","shift","setFocus","_a","focus","render","h"],"sources":["src/components/ic-toast-region/ic-toast-region.tsx"],"sourcesContent":["import { Component, Element, h, Listen, Prop, Watch } from \"@stencil/core\";\nimport { IcFocusableComponents } from \"../../utils/types\";\n\n@Component({ tag: \"ic-toast-region\" })\nexport class ToastRegion {\n private pendingVisibility: HTMLIcToastElement[] = [];\n private previouslyFocused: HTMLElement;\n\n @Element() el: HTMLIcToastRegionElement;\n\n /**\n * The toast element to be displayed.\n */\n @Prop({ mutable: true }) openToast: HTMLIcToastElement;\n @Watch(\"openToast\")\n watchOpenToastHandler(newValue: HTMLIcToastElement): void {\n if (this.openToast !== undefined) {\n this.showToast(newValue);\n this.openToast = undefined;\n }\n }\n\n componentDidLoad(): void {\n if (this.openToast) {\n this.showToast(this.openToast);\n this.openToast = undefined;\n }\n }\n\n @Listen(\"icDismiss\", { capture: true })\n handleDismissedToast(): void {\n if (this.pendingVisibility.length > 0) {\n this.pendingVisibility[0]\n .setVisible()\n .then((res) => (this.previouslyFocused = res));\n this.pendingVisibility.shift();\n } else {\n if (this.previouslyFocused && \"setFocus\" in this.previouslyFocused) {\n (this.previouslyFocused as IcFocusableComponents).setFocus();\n } else this.previouslyFocused?.focus();\n }\n }\n\n private showToast = (toast: HTMLIcToastElement) => {\n const visibleToasts = Array.from(\n document.querySelectorAll(\"ic-toast\")\n ).filter((el) => window.getComputedStyle(el).display !== \"none\");\n if (visibleToasts.indexOf(toast) === -1 && visibleToasts.length <= 0) {\n toast.setVisible().then((res) => (this.previouslyFocused = res));\n }\n if (visibleToasts.length > 0) this.pendingVisibility.push(toast);\n };\n\n render() {\n return <slot></slot>;\n }\n}\n"],"mappings":"wDAIaA,EAAW,M,yBACdC,KAAAC,kBAA0C,GAsC1CD,KAAAE,UAAaC,IACnB,MAAMC,EAAgBC,MAAMC,KAC1BC,SAASC,iBAAiB,aAC1BC,QAAQC,GAAOC,OAAOC,iBAAiBF,GAAIG,UAAY,SACzD,GAAIT,EAAcU,QAAQX,MAAY,GAAKC,EAAcW,QAAU,EAAG,CACpEZ,EAAMa,aAAaC,MAAMC,GAASlB,KAAKmB,kBAAoBD,G,CAE7D,GAAId,EAAcW,OAAS,EAAGf,KAAKC,kBAAkBmB,KAAKjB,EAAM,E,yBAnClE,qBAAAkB,CAAsBC,GACpB,GAAItB,KAAKuB,YAAcC,UAAW,CAChCxB,KAAKE,UAAUoB,GACftB,KAAKuB,UAAYC,S,EAIrB,gBAAAC,GACE,GAAIzB,KAAKuB,UAAW,CAClBvB,KAAKE,UAAUF,KAAKuB,WACpBvB,KAAKuB,UAAYC,S,EAKrB,oBAAAE,G,MACE,GAAI1B,KAAKC,kBAAkBc,OAAS,EAAG,CACrCf,KAAKC,kBAAkB,GACpBe,aACAC,MAAMC,GAASlB,KAAKmB,kBAAoBD,IAC3ClB,KAAKC,kBAAkB0B,O,KAClB,CACL,GAAI3B,KAAKmB,mBAAqB,aAAcnB,KAAKmB,kBAAmB,CACjEnB,KAAKmB,kBAA4CS,U,MAC7CC,EAAA7B,KAAKmB,qBAAiB,MAAAU,SAAA,SAAAA,EAAEC,O,EAcnC,MAAAC,GACE,OAAOC,EAAA,Y"}