@ukic/web-components 2.25.1 → 3.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (887) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-4af10d35.js → helpers-94b33ab0.js} +3 -1
  3. package/dist/cjs/helpers-94b33ab0.js.map +1 -0
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js +8 -8
  5. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-accordion.cjs.entry.js +4 -4
  7. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-alert.cjs.entry.js +1 -3
  9. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-back-to-top.cjs.entry.js +12 -15
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-badge.cjs.entry.js +15 -27
  13. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +4 -4
  15. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-breadcrumb.cjs.entry.js +3 -3
  17. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-button_3.cjs.entry.js +27 -22
  19. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  20. package/dist/cjs/{ic-card.cjs.entry.js → ic-card-vertical.cjs.entry.js} +6 -6
  21. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -0
  22. package/dist/cjs/ic-checkbox-group.cjs.entry.js +6 -5
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-checkbox.cjs.entry.js +6 -15
  25. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-chip.cjs.entry.js +9 -10
  27. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-classification-banner.cjs.entry.js +2 -2
  29. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-data-list.cjs.entry.js +28 -0
  31. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -0
  32. package/dist/cjs/ic-data-row.cjs.entry.js +9 -10
  33. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-dialog.cjs.entry.js +12 -97
  35. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  37. package/dist/cjs/ic-empty-state.cjs.entry.js +6 -6
  38. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-footer-link-group.cjs.entry.js +9 -9
  40. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-footer-link.cjs.entry.js +6 -7
  42. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-footer.cjs.entry.js +8 -8
  44. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-hero.cjs.entry.js +8 -9
  46. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +5 -5
  48. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +18 -23
  50. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-input-label_2.cjs.entry.js +11 -12
  52. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-link.cjs.entry.js +6 -7
  54. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  56. package/dist/cjs/ic-menu-item.cjs.entry.js +3 -3
  57. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  59. package/dist/cjs/ic-navigation-group.cjs.entry.js +9 -9
  60. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-navigation-item.cjs.entry.js +5 -5
  62. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-navigation-menu.cjs.entry.js +2 -2
  64. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-page-header.cjs.entry.js +7 -8
  66. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-pagination-item.cjs.entry.js +1 -1
  68. package/dist/cjs/ic-pagination.cjs.entry.js +35 -33
  69. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-popover-menu.cjs.entry.js +3 -3
  71. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-radio-group.cjs.entry.js +40 -25
  73. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-radio-option.cjs.entry.js +5 -18
  75. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-search-bar.cjs.entry.js +18 -24
  77. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-select.cjs.entry.js +13 -21
  79. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-side-navigation.cjs.entry.js +7 -7
  81. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-skeleton.cjs.entry.js +4 -5
  83. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -11
  85. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-step.cjs.entry.js +40 -43
  87. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-stepper.cjs.entry.js +16 -16
  89. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-switch.cjs.entry.js +5 -6
  91. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-tab-context.cjs.entry.js +0 -11
  93. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-tab-group.cjs.entry.js +4 -5
  95. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -8
  97. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-tab.cjs.entry.js +4 -4
  99. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-text-field.cjs.entry.js +49 -49
  101. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  103. package/dist/cjs/ic-toast-region.cjs.entry.js +0 -7
  104. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ic-toast.cjs.entry.js +83 -35
  106. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +16 -16
  108. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-toggle-button.cjs.entry.js +13 -13
  110. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-top-navigation.cjs.entry.js +4 -4
  112. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  113. package/dist/cjs/ic-typography.cjs.entry.js +51 -16
  114. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  115. package/dist/cjs/index-f982899d.js +12 -12
  116. package/dist/cjs/loader.cjs.js +1 -1
  117. package/dist/cjs/types-dc22e301.js.map +1 -1
  118. package/dist/collection/collection-manifest.json +3 -3
  119. package/dist/collection/components/ic-accordion/ic-accordion.css +7 -7
  120. package/dist/collection/components/ic-accordion/ic-accordion.js +2 -2
  121. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  122. package/dist/collection/components/ic-accordion-group/ic-accordion-group.css +5 -5
  123. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +9 -9
  124. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  125. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +7 -7
  126. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +1 -1
  127. package/dist/collection/components/ic-alert/ic-alert.js +0 -19
  128. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  129. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +21 -61
  130. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +10 -13
  131. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  132. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +9 -10
  133. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +1 -1
  134. package/dist/collection/components/ic-badge/ic-badge.css +33 -33
  135. package/dist/collection/components/ic-badge/ic-badge.js +18 -74
  136. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  137. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +41 -43
  138. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +1 -1
  139. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +2 -2
  140. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +1 -1
  141. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  142. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.css +7 -5
  143. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +2 -2
  144. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  145. package/dist/collection/components/ic-button/ic-button.css +240 -214
  146. package/dist/collection/components/ic-button/ic-button.js +8 -9
  147. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  148. package/dist/collection/components/{ic-card/ic-card.js → ic-card-vertical/ic-card-vertical.js} +5 -5
  149. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js.map +1 -0
  150. package/dist/collection/components/{ic-card/test/basic/ic-card.spec.js → ic-card-vertical/test/basic/ic-card-vertical.spec.js} +41 -41
  151. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js.map +1 -0
  152. package/dist/collection/components/ic-checkbox/ic-checkbox.css +10 -10
  153. package/dist/collection/components/ic-checkbox/ic-checkbox.js +4 -136
  154. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  155. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +3 -3
  156. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +4 -24
  157. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  158. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +2 -2
  159. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -1
  160. package/dist/collection/components/ic-chip/ic-chip.css +1 -5
  161. package/dist/collection/components/ic-chip/ic-chip.js +8 -52
  162. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  163. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +15 -0
  164. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +1 -1
  165. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +1 -1
  166. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +1 -1
  167. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  168. package/dist/collection/components/{ic-data-entity/ic-data-entity.css → ic-data-list/ic-data-list.css} +2 -2
  169. package/dist/collection/components/{ic-data-entity/ic-data-entity.js → ic-data-list/ic-data-list.js} +11 -33
  170. package/dist/collection/components/ic-data-list/ic-data-list.js.map +1 -0
  171. package/dist/collection/components/{ic-data-entity/test/basic/ic-data-entity.spec.js → ic-data-list/test/basic/ic-data-list.spec.js} +32 -32
  172. package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js.map +1 -0
  173. package/dist/collection/components/ic-data-row/ic-data-row.css +1 -1
  174. package/dist/collection/components/ic-data-row/ic-data-row.js +8 -30
  175. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  176. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js +4 -4
  177. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js.map +1 -1
  178. package/dist/collection/components/ic-dialog/ic-dialog.css +3 -12
  179. package/dist/collection/components/ic-dialog/ic-dialog.js +11 -214
  180. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  181. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +3 -226
  182. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -1
  183. package/dist/collection/components/ic-empty-state/ic-empty-state.css +4 -4
  184. package/dist/collection/components/ic-empty-state/ic-empty-state.js +6 -6
  185. package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
  186. package/dist/collection/components/ic-footer/ic-footer.css +6 -6
  187. package/dist/collection/components/ic-footer/ic-footer.js +6 -6
  188. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  189. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +1 -1
  190. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +1 -1
  191. package/dist/collection/components/ic-footer-link/ic-footer-link.css +33 -107
  192. package/dist/collection/components/ic-footer-link/ic-footer-link.js +4 -5
  193. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  194. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +7 -7
  195. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +9 -9
  196. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  197. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +7 -7
  198. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +1 -1
  199. package/dist/collection/components/ic-hero/ic-hero.css +13 -13
  200. package/dist/collection/components/ic-hero/ic-hero.js +8 -30
  201. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  202. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +6 -6
  203. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +1 -1
  204. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +5 -5
  205. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +3 -3
  206. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  207. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +31 -26
  208. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +9 -54
  209. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  210. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +9 -9
  211. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +1 -1
  212. package/dist/collection/components/ic-input-label/ic-input-label.css +1 -1
  213. package/dist/collection/components/ic-input-label/ic-input-label.js +24 -46
  214. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  215. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +4 -4
  216. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +1 -1
  217. package/dist/collection/components/ic-input-validation/ic-input-validation.css +1 -1
  218. package/dist/collection/components/ic-input-validation/ic-input-validation.js +2 -2
  219. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  220. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js +4 -4
  221. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +1 -1
  222. package/dist/collection/components/ic-link/ic-link.css +31 -31
  223. package/dist/collection/components/ic-link/ic-link.js +4 -25
  224. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  225. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +18 -16
  226. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +1 -1
  227. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +5 -4
  228. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +7 -7
  229. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  230. package/dist/collection/components/ic-menu/ic-menu.css +8 -8
  231. package/dist/collection/components/ic-menu/ic-menu.js +6 -29
  232. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  233. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +1 -1
  234. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
  235. package/dist/collection/components/ic-menu-item/ic-menu-item.css +21 -21
  236. package/dist/collection/components/ic-menu-item/ic-menu-item.js +1 -1
  237. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  238. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +10 -10
  239. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +7 -7
  240. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  241. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +4 -4
  242. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  243. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +1 -1
  244. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  245. package/dist/collection/components/ic-page-header/ic-page-header.css +2 -2
  246. package/dist/collection/components/ic-page-header/ic-page-header.js +5 -27
  247. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  248. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js +15 -15
  249. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +1 -1
  250. package/dist/collection/components/ic-pagination/ic-pagination.css +5 -0
  251. package/dist/collection/components/ic-pagination/ic-pagination.js +39 -37
  252. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  253. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +26 -26
  254. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -1
  255. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +2 -2
  256. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +1 -1
  257. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  258. package/dist/collection/components/ic-radio-group/ic-radio-group.css +4 -4
  259. package/dist/collection/components/ic-radio-group/ic-radio-group.js +41 -45
  260. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  261. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js +14 -18
  262. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js.map +1 -1
  263. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +11 -2
  264. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -1
  265. package/dist/collection/components/ic-radio-option/ic-radio-option.css +4 -4
  266. package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -126
  267. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  268. package/dist/collection/components/ic-search-bar/ic-search-bar.css +6 -6
  269. package/dist/collection/components/ic-search-bar/ic-search-bar.js +29 -96
  270. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  271. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js +6 -6
  272. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +1 -1
  273. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +15 -15
  274. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +1 -1
  275. package/dist/collection/components/ic-select/ic-select.css +14 -12
  276. package/dist/collection/components/ic-select/ic-select.js +13 -148
  277. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  278. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +6 -6
  279. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  280. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +8 -8
  281. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +6 -6
  282. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  283. package/dist/collection/components/ic-skeleton/ic-skeleton.css +2 -2
  284. package/dist/collection/components/ic-skeleton/ic-skeleton.js +3 -25
  285. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  286. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js +1 -1
  287. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js.map +1 -1
  288. package/dist/collection/components/ic-status-tag/ic-status-tag.js +1 -57
  289. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  290. package/dist/collection/components/ic-status-tag/ic-status-tag.types.js.map +1 -1
  291. package/dist/collection/components/ic-step/ic-step.css +52 -52
  292. package/dist/collection/components/ic-step/ic-step.js +49 -52
  293. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  294. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js +30 -30
  295. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js.map +1 -1
  296. package/dist/collection/components/ic-stepper/ic-stepper.css +4 -4
  297. package/dist/collection/components/ic-stepper/ic-stepper.js +14 -14
  298. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  299. package/dist/collection/components/ic-stepper/test/basic/ic-stepper-test-examples.js +37 -37
  300. package/dist/collection/components/ic-stepper/test/basic/ic-stepper-test-examples.js.map +1 -1
  301. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +234 -234
  302. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +1 -1
  303. package/dist/collection/components/ic-switch/ic-switch.js +4 -26
  304. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  305. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +1 -1
  306. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +1 -1
  307. package/dist/collection/components/ic-tab/ic-tab.css +5 -5
  308. package/dist/collection/components/ic-tab/ic-tab.js +2 -2
  309. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  310. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +2 -2
  311. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +1 -1
  312. package/dist/collection/components/ic-tab-context/ic-tab-context.js +0 -34
  313. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  314. package/dist/collection/components/ic-tab-group/ic-tab-group.css +2 -2
  315. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -24
  316. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  317. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +0 -28
  318. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  319. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +3 -18
  320. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +1 -1
  321. package/dist/collection/components/ic-text-field/ic-text-field.css +8 -3
  322. package/dist/collection/components/ic-text-field/ic-text-field.js +67 -89
  323. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  324. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +26 -11
  325. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
  326. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +70 -39
  327. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +1 -1
  328. package/dist/collection/components/ic-toast/ic-toast.css +10 -3
  329. package/dist/collection/components/ic-toast/ic-toast.js +83 -32
  330. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  331. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +43 -7
  332. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +1 -1
  333. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -43
  334. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  335. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +0 -20
  336. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +1 -1
  337. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +50 -43
  338. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +13 -13
  339. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  340. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js +4 -4
  341. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js.map +1 -1
  342. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.css +11 -8
  343. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +15 -15
  344. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  345. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.types.js.map +1 -1
  346. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +19 -19
  347. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +1 -1
  348. package/dist/collection/components/ic-tooltip/ic-tooltip.js +56 -6
  349. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  350. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +4 -4
  351. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  352. package/dist/collection/components/ic-typography/ic-typography.css +13 -5
  353. package/dist/collection/components/ic-typography/ic-typography.js +152 -17
  354. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  355. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +55 -0
  356. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +1 -1
  357. package/dist/collection/utils/helpers.js +1 -0
  358. package/dist/collection/utils/helpers.js.map +1 -1
  359. package/dist/collection/utils/types.js.map +1 -1
  360. package/dist/components/helpers.js +2 -1
  361. package/dist/components/helpers.js.map +1 -1
  362. package/dist/components/ic-accordion-group.js +8 -8
  363. package/dist/components/ic-accordion-group.js.map +1 -1
  364. package/dist/components/ic-accordion.js +3 -3
  365. package/dist/components/ic-accordion.js.map +1 -1
  366. package/dist/components/ic-alert.js +127 -1
  367. package/dist/components/ic-alert.js.map +1 -1
  368. package/dist/components/ic-back-to-top.js +25 -16
  369. package/dist/components/ic-back-to-top.js.map +1 -1
  370. package/dist/components/ic-badge.js +17 -31
  371. package/dist/components/ic-badge.js.map +1 -1
  372. package/dist/components/ic-breadcrumb-group.js +4 -4
  373. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  374. package/dist/components/ic-breadcrumb2.js +3 -3
  375. package/dist/components/ic-breadcrumb2.js.map +1 -1
  376. package/dist/components/ic-button2.js +10 -10
  377. package/dist/components/ic-button2.js.map +1 -1
  378. package/dist/components/{ic-data-entity.d.ts → ic-card-vertical.d.ts} +4 -4
  379. package/dist/components/{ic-card.js → ic-card-vertical.js} +11 -11
  380. package/dist/components/ic-card-vertical.js.map +1 -0
  381. package/dist/components/ic-checkbox-group.js +6 -6
  382. package/dist/components/ic-checkbox-group.js.map +1 -1
  383. package/dist/components/ic-checkbox.js +6 -21
  384. package/dist/components/ic-checkbox.js.map +1 -1
  385. package/dist/components/ic-chip.js +9 -11
  386. package/dist/components/ic-chip.js.map +1 -1
  387. package/dist/components/ic-classification-banner.js +2 -2
  388. package/dist/components/ic-classification-banner.js.map +1 -1
  389. package/dist/components/{ic-card.d.ts → ic-data-list.d.ts} +4 -4
  390. package/dist/components/ic-data-list.js +51 -0
  391. package/dist/components/ic-data-list.js.map +1 -0
  392. package/dist/components/ic-data-row.js +10 -12
  393. package/dist/components/ic-data-row.js.map +1 -1
  394. package/dist/components/ic-dialog.js +14 -112
  395. package/dist/components/ic-dialog.js.map +1 -1
  396. package/dist/components/ic-divider2.js +1 -1
  397. package/dist/components/ic-empty-state.js +7 -7
  398. package/dist/components/ic-empty-state.js.map +1 -1
  399. package/dist/components/ic-footer-link-group.js +10 -10
  400. package/dist/components/ic-footer-link-group.js.map +1 -1
  401. package/dist/components/ic-footer-link.js +13 -8
  402. package/dist/components/ic-footer-link.js.map +1 -1
  403. package/dist/components/ic-footer.js +8 -8
  404. package/dist/components/ic-footer.js.map +1 -1
  405. package/dist/components/ic-hero.js +8 -10
  406. package/dist/components/ic-hero.js.map +1 -1
  407. package/dist/components/ic-horizontal-scroll2.js +5 -5
  408. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  409. package/dist/components/ic-input-component-container2.js +11 -16
  410. package/dist/components/ic-input-component-container2.js.map +1 -1
  411. package/dist/components/ic-input-label2.js +10 -12
  412. package/dist/components/ic-input-label2.js.map +1 -1
  413. package/dist/components/ic-input-validation2.js +4 -4
  414. package/dist/components/ic-input-validation2.js.map +1 -1
  415. package/dist/components/ic-link2.js +6 -8
  416. package/dist/components/ic-link2.js.map +1 -1
  417. package/dist/components/ic-loading-indicator2.js +9 -9
  418. package/dist/components/ic-loading-indicator2.js.map +1 -1
  419. package/dist/components/ic-menu-group.js +1 -1
  420. package/dist/components/ic-menu-item2.js +3 -3
  421. package/dist/components/ic-menu-item2.js.map +1 -1
  422. package/dist/components/ic-menu2.js +7 -10
  423. package/dist/components/ic-menu2.js.map +1 -1
  424. package/dist/components/ic-navigation-button.js +1 -1
  425. package/dist/components/ic-navigation-group.js +9 -9
  426. package/dist/components/ic-navigation-group.js.map +1 -1
  427. package/dist/components/ic-navigation-item.js +5 -5
  428. package/dist/components/ic-navigation-item.js.map +1 -1
  429. package/dist/components/ic-navigation-menu2.js +2 -2
  430. package/dist/components/ic-navigation-menu2.js.map +1 -1
  431. package/dist/components/ic-page-header.js +7 -9
  432. package/dist/components/ic-page-header.js.map +1 -1
  433. package/dist/components/ic-pagination-item2.js +1 -1
  434. package/dist/components/ic-pagination.js +38 -36
  435. package/dist/components/ic-pagination.js.map +1 -1
  436. package/dist/components/ic-popover-menu.js +3 -3
  437. package/dist/components/ic-popover-menu.js.map +1 -1
  438. package/dist/components/ic-radio-group.js +41 -26
  439. package/dist/components/ic-radio-group.js.map +1 -1
  440. package/dist/components/ic-radio-option.js +6 -25
  441. package/dist/components/ic-radio-option.js.map +1 -1
  442. package/dist/components/ic-search-bar.js +20 -27
  443. package/dist/components/ic-search-bar.js.map +1 -1
  444. package/dist/components/ic-select.js +14 -29
  445. package/dist/components/ic-select.js.map +1 -1
  446. package/dist/components/ic-side-navigation.js +7 -7
  447. package/dist/components/ic-side-navigation.js.map +1 -1
  448. package/dist/components/ic-skeleton.js +4 -6
  449. package/dist/components/ic-skeleton.js.map +1 -1
  450. package/dist/components/ic-status-tag.js +1 -12
  451. package/dist/components/ic-status-tag.js.map +1 -1
  452. package/dist/components/ic-step.js +46 -49
  453. package/dist/components/ic-step.js.map +1 -1
  454. package/dist/components/ic-stepper.js +16 -16
  455. package/dist/components/ic-stepper.js.map +1 -1
  456. package/dist/components/ic-switch.js +5 -7
  457. package/dist/components/ic-switch.js.map +1 -1
  458. package/dist/components/ic-tab-context.js +0 -11
  459. package/dist/components/ic-tab-context.js.map +1 -1
  460. package/dist/components/ic-tab-group.js +3 -5
  461. package/dist/components/ic-tab-group.js.map +1 -1
  462. package/dist/components/ic-tab-panel.js +1 -9
  463. package/dist/components/ic-tab-panel.js.map +1 -1
  464. package/dist/components/ic-tab.js +3 -3
  465. package/dist/components/ic-tab.js.map +1 -1
  466. package/dist/components/ic-text-field2.js +51 -53
  467. package/dist/components/ic-text-field2.js.map +1 -1
  468. package/dist/components/ic-theme.js +1 -1
  469. package/dist/components/ic-toast-region.js +1 -9
  470. package/dist/components/ic-toast-region.js.map +1 -1
  471. package/dist/components/ic-toast.js +86 -36
  472. package/dist/components/ic-toast.js.map +1 -1
  473. package/dist/components/ic-toggle-button-group.js +16 -16
  474. package/dist/components/ic-toggle-button-group.js.map +1 -1
  475. package/dist/components/ic-toggle-button.js +13 -13
  476. package/dist/components/ic-toggle-button.js.map +1 -1
  477. package/dist/components/ic-tooltip2.js +12 -5
  478. package/dist/components/ic-tooltip2.js.map +1 -1
  479. package/dist/components/ic-top-navigation.js +4 -4
  480. package/dist/components/ic-top-navigation.js.map +1 -1
  481. package/dist/components/ic-typography2.js +57 -19
  482. package/dist/components/ic-typography2.js.map +1 -1
  483. package/dist/components/types.js.map +1 -1
  484. package/dist/core/core.css +1 -1
  485. package/dist/core/core.esm.js +1 -1
  486. package/dist/core/core.esm.js.map +1 -1
  487. package/dist/core/{p-014342a2.entry.js → p-05d32a4f.entry.js} +2 -2
  488. package/dist/core/{p-1d9fceb1.entry.js → p-086a6d4f.entry.js} +2 -2
  489. package/dist/core/p-0a00a786.entry.js +2 -0
  490. package/dist/core/p-0a00a786.entry.js.map +1 -0
  491. package/dist/core/p-145fcef3.entry.js +2 -0
  492. package/dist/core/p-145fcef3.entry.js.map +1 -0
  493. package/dist/core/{p-eb1d00a7.entry.js → p-15367990.entry.js} +2 -2
  494. package/dist/core/p-15367990.entry.js.map +1 -0
  495. package/dist/core/p-1737bf2c.entry.js +2 -0
  496. package/dist/core/p-1737bf2c.entry.js.map +1 -0
  497. package/dist/core/p-1ace2b02.entry.js +2 -0
  498. package/dist/core/p-1ace2b02.entry.js.map +1 -0
  499. package/dist/core/p-1e371012.entry.js +2 -0
  500. package/dist/core/p-1e371012.entry.js.map +1 -0
  501. package/dist/core/p-1f227289.entry.js +2 -0
  502. package/dist/core/p-1f227289.entry.js.map +1 -0
  503. package/dist/core/p-24275b92.entry.js +2 -0
  504. package/dist/core/p-24275b92.entry.js.map +1 -0
  505. package/dist/core/p-26b7b18f.js.map +1 -1
  506. package/dist/core/p-29e6c33f.entry.js +2 -0
  507. package/dist/core/p-29e6c33f.entry.js.map +1 -0
  508. package/dist/core/{p-5bba7e31.entry.js → p-2a6f01ad.entry.js} +2 -2
  509. package/dist/core/{p-8ce2dfd4.entry.js → p-2f86c53b.entry.js} +2 -2
  510. package/dist/core/p-2f86c53b.entry.js.map +1 -0
  511. package/dist/core/p-319e40c0.entry.js +2 -0
  512. package/dist/core/p-319e40c0.entry.js.map +1 -0
  513. package/dist/core/p-346c6920.entry.js +2 -0
  514. package/dist/core/p-346c6920.entry.js.map +1 -0
  515. package/dist/core/p-4b1445b3.entry.js +2 -0
  516. package/dist/core/p-4b1445b3.entry.js.map +1 -0
  517. package/dist/core/p-4b621c67.entry.js +2 -0
  518. package/dist/core/p-4b621c67.entry.js.map +1 -0
  519. package/dist/core/p-4ca2b177.entry.js +2 -0
  520. package/dist/core/p-4ca2b177.entry.js.map +1 -0
  521. package/dist/core/{p-3eda4e14.entry.js → p-54238d16.entry.js} +2 -2
  522. package/dist/core/p-54238d16.entry.js.map +1 -0
  523. package/dist/core/{p-c1db024d.entry.js → p-5515ad19.entry.js} +2 -2
  524. package/dist/core/p-5515ad19.entry.js.map +1 -0
  525. package/dist/core/p-5c8081d6.entry.js +2 -0
  526. package/dist/core/p-5c8081d6.entry.js.map +1 -0
  527. package/dist/core/{p-a8aea311.entry.js → p-5f941f3a.entry.js} +2 -2
  528. package/dist/core/{p-a8aea311.entry.js.map → p-5f941f3a.entry.js.map} +1 -1
  529. package/dist/core/p-5fd293b3.entry.js +2 -0
  530. package/dist/core/p-5fd293b3.entry.js.map +1 -0
  531. package/dist/core/p-60721d95.entry.js +2 -0
  532. package/dist/core/p-60721d95.entry.js.map +1 -0
  533. package/dist/core/{p-d69f353b.entry.js → p-64a5a1d8.entry.js} +2 -2
  534. package/dist/core/p-64a5a1d8.entry.js.map +1 -0
  535. package/dist/core/p-65e36461.entry.js +2 -0
  536. package/dist/core/p-65e36461.entry.js.map +1 -0
  537. package/dist/core/{p-a9a2987c.entry.js → p-66363c7d.entry.js} +2 -2
  538. package/dist/core/p-66363c7d.entry.js.map +1 -0
  539. package/dist/core/p-69728d76.entry.js +2 -0
  540. package/dist/core/p-69728d76.entry.js.map +1 -0
  541. package/dist/core/p-6b328c76.entry.js +2 -0
  542. package/dist/core/p-6b328c76.entry.js.map +1 -0
  543. package/dist/core/p-6b5ddacd.entry.js +2 -0
  544. package/dist/core/p-6b5ddacd.entry.js.map +1 -0
  545. package/dist/core/{p-92b9b56a.entry.js → p-7b3d6577.entry.js} +2 -2
  546. package/dist/core/p-7b3d6577.entry.js.map +1 -0
  547. package/dist/core/p-7d45828d.entry.js +2 -0
  548. package/dist/core/p-7d45828d.entry.js.map +1 -0
  549. package/dist/core/p-893eca54.entry.js +2 -0
  550. package/dist/core/p-893eca54.entry.js.map +1 -0
  551. package/dist/core/p-8ee262a4.entry.js +2 -0
  552. package/dist/core/p-8ee262a4.entry.js.map +1 -0
  553. package/dist/core/p-8f93d92b.entry.js +2 -0
  554. package/dist/core/p-8f93d92b.entry.js.map +1 -0
  555. package/dist/core/p-90bb13d2.entry.js +2 -0
  556. package/dist/core/p-90bb13d2.entry.js.map +1 -0
  557. package/dist/core/p-9189a82d.entry.js +2 -0
  558. package/dist/core/p-9189a82d.entry.js.map +1 -0
  559. package/dist/core/p-9190a84d.entry.js +2 -0
  560. package/dist/core/p-9190a84d.entry.js.map +1 -0
  561. package/dist/core/{p-08781606.entry.js → p-93f50a1a.entry.js} +2 -2
  562. package/dist/core/p-93f50a1a.entry.js.map +1 -0
  563. package/dist/core/p-9474baf3.entry.js +2 -0
  564. package/dist/core/p-9474baf3.entry.js.map +1 -0
  565. package/dist/core/{p-967d5546.entry.js → p-9857f6b0.entry.js} +2 -2
  566. package/dist/core/{p-7438ab1f.entry.js → p-a0e4d6bd.entry.js} +2 -2
  567. package/dist/core/p-a0e4d6bd.entry.js.map +1 -0
  568. package/dist/core/p-a1b9a808.entry.js +2 -0
  569. package/dist/core/p-a1b9a808.entry.js.map +1 -0
  570. package/dist/core/p-a79bec03.entry.js +2 -0
  571. package/dist/core/p-a79bec03.entry.js.map +1 -0
  572. package/dist/core/p-a84a4675.entry.js +2 -0
  573. package/dist/core/p-a84a4675.entry.js.map +1 -0
  574. package/dist/core/p-a928c7b3.entry.js +2 -0
  575. package/dist/core/p-a928c7b3.entry.js.map +1 -0
  576. package/dist/core/{p-6fae7e1f.entry.js → p-bf89c86d.entry.js} +2 -2
  577. package/dist/core/p-bf89c86d.entry.js.map +1 -0
  578. package/dist/core/{p-36cd5d32.js → p-d0524c73.js} +2 -2
  579. package/dist/core/p-d0524c73.js.map +1 -0
  580. package/dist/core/p-d24410ca.entry.js +2 -0
  581. package/dist/core/p-d24410ca.entry.js.map +1 -0
  582. package/dist/core/p-d52ca420.entry.js +2 -0
  583. package/dist/core/p-d52ca420.entry.js.map +1 -0
  584. package/dist/core/p-d67a30ca.entry.js +2 -0
  585. package/dist/core/p-d67a30ca.entry.js.map +1 -0
  586. package/dist/core/{p-1ef00a47.entry.js → p-de27c59e.entry.js} +2 -2
  587. package/dist/core/p-de27c59e.entry.js.map +1 -0
  588. package/dist/core/p-dec339ba.entry.js +2 -0
  589. package/dist/core/p-dec339ba.entry.js.map +1 -0
  590. package/dist/core/p-e4335135.entry.js +2 -0
  591. package/dist/core/p-e4335135.entry.js.map +1 -0
  592. package/dist/core/p-e56a2a06.entry.js +2 -0
  593. package/dist/core/p-e56a2a06.entry.js.map +1 -0
  594. package/dist/core/p-e696dc2a.entry.js +2 -0
  595. package/dist/core/p-e696dc2a.entry.js.map +1 -0
  596. package/dist/core/{p-f13195ab.entry.js → p-f0501be1.entry.js} +2 -2
  597. package/dist/core/p-f0501be1.entry.js.map +1 -0
  598. package/dist/core/{p-3b41756e.entry.js → p-f50462df.entry.js} +2 -2
  599. package/dist/core/p-feb80f37.entry.js +2 -0
  600. package/dist/core/p-feb80f37.entry.js.map +1 -0
  601. package/dist/esm/core.js +1 -1
  602. package/dist/esm/{helpers-354dbb8d.js → helpers-35ac5e03.js} +3 -2
  603. package/dist/esm/helpers-35ac5e03.js.map +1 -0
  604. package/dist/esm/ic-accordion-group.entry.js +8 -8
  605. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  606. package/dist/esm/ic-accordion.entry.js +4 -4
  607. package/dist/esm/ic-accordion.entry.js.map +1 -1
  608. package/dist/esm/ic-alert.entry.js +1 -3
  609. package/dist/esm/ic-alert.entry.js.map +1 -1
  610. package/dist/esm/ic-back-to-top.entry.js +12 -15
  611. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  612. package/dist/esm/ic-badge.entry.js +15 -27
  613. package/dist/esm/ic-badge.entry.js.map +1 -1
  614. package/dist/esm/ic-breadcrumb-group.entry.js +4 -4
  615. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  616. package/dist/esm/ic-breadcrumb.entry.js +3 -3
  617. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  618. package/dist/esm/ic-button_3.entry.js +27 -22
  619. package/dist/esm/ic-button_3.entry.js.map +1 -1
  620. package/dist/esm/{ic-card.entry.js → ic-card-vertical.entry.js} +6 -6
  621. package/dist/esm/ic-card-vertical.entry.js.map +1 -0
  622. package/dist/esm/ic-checkbox-group.entry.js +6 -5
  623. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  624. package/dist/esm/ic-checkbox.entry.js +6 -15
  625. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  626. package/dist/esm/ic-chip.entry.js +9 -10
  627. package/dist/esm/ic-chip.entry.js.map +1 -1
  628. package/dist/esm/ic-classification-banner.entry.js +2 -2
  629. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  630. package/dist/esm/ic-data-list.entry.js +24 -0
  631. package/dist/esm/ic-data-list.entry.js.map +1 -0
  632. package/dist/esm/ic-data-row.entry.js +9 -10
  633. package/dist/esm/ic-data-row.entry.js.map +1 -1
  634. package/dist/esm/ic-dialog.entry.js +12 -97
  635. package/dist/esm/ic-dialog.entry.js.map +1 -1
  636. package/dist/esm/ic-divider.entry.js +1 -1
  637. package/dist/esm/ic-empty-state.entry.js +6 -6
  638. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  639. package/dist/esm/ic-footer-link-group.entry.js +9 -9
  640. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  641. package/dist/esm/ic-footer-link.entry.js +6 -7
  642. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  643. package/dist/esm/ic-footer.entry.js +8 -8
  644. package/dist/esm/ic-footer.entry.js.map +1 -1
  645. package/dist/esm/ic-hero.entry.js +8 -9
  646. package/dist/esm/ic-hero.entry.js.map +1 -1
  647. package/dist/esm/ic-horizontal-scroll.entry.js +5 -5
  648. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  649. package/dist/esm/ic-input-component-container_3.entry.js +18 -23
  650. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  651. package/dist/esm/ic-input-label_2.entry.js +11 -12
  652. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  653. package/dist/esm/ic-link.entry.js +6 -7
  654. package/dist/esm/ic-link.entry.js.map +1 -1
  655. package/dist/esm/ic-menu-group.entry.js +1 -1
  656. package/dist/esm/ic-menu-item.entry.js +3 -3
  657. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  658. package/dist/esm/ic-navigation-button.entry.js +1 -1
  659. package/dist/esm/ic-navigation-group.entry.js +9 -9
  660. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  661. package/dist/esm/ic-navigation-item.entry.js +5 -5
  662. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  663. package/dist/esm/ic-navigation-menu.entry.js +2 -2
  664. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  665. package/dist/esm/ic-page-header.entry.js +7 -8
  666. package/dist/esm/ic-page-header.entry.js.map +1 -1
  667. package/dist/esm/ic-pagination-item.entry.js +1 -1
  668. package/dist/esm/ic-pagination.entry.js +35 -33
  669. package/dist/esm/ic-pagination.entry.js.map +1 -1
  670. package/dist/esm/ic-popover-menu.entry.js +3 -3
  671. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  672. package/dist/esm/ic-radio-group.entry.js +40 -25
  673. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  674. package/dist/esm/ic-radio-option.entry.js +5 -18
  675. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  676. package/dist/esm/ic-search-bar.entry.js +18 -24
  677. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  678. package/dist/esm/ic-select.entry.js +13 -21
  679. package/dist/esm/ic-select.entry.js.map +1 -1
  680. package/dist/esm/ic-side-navigation.entry.js +7 -7
  681. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  682. package/dist/esm/ic-skeleton.entry.js +4 -5
  683. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  684. package/dist/esm/ic-status-tag.entry.js +2 -11
  685. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  686. package/dist/esm/ic-step.entry.js +40 -43
  687. package/dist/esm/ic-step.entry.js.map +1 -1
  688. package/dist/esm/ic-stepper.entry.js +16 -16
  689. package/dist/esm/ic-stepper.entry.js.map +1 -1
  690. package/dist/esm/ic-switch.entry.js +5 -6
  691. package/dist/esm/ic-switch.entry.js.map +1 -1
  692. package/dist/esm/ic-tab-context.entry.js +0 -11
  693. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  694. package/dist/esm/ic-tab-group.entry.js +4 -5
  695. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  696. package/dist/esm/ic-tab-panel.entry.js +1 -8
  697. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  698. package/dist/esm/ic-tab.entry.js +4 -4
  699. package/dist/esm/ic-tab.entry.js.map +1 -1
  700. package/dist/esm/ic-text-field.entry.js +49 -49
  701. package/dist/esm/ic-text-field.entry.js.map +1 -1
  702. package/dist/esm/ic-theme.entry.js +1 -1
  703. package/dist/esm/ic-toast-region.entry.js +0 -7
  704. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  705. package/dist/esm/ic-toast.entry.js +83 -35
  706. package/dist/esm/ic-toast.entry.js.map +1 -1
  707. package/dist/esm/ic-toggle-button-group.entry.js +16 -16
  708. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  709. package/dist/esm/ic-toggle-button.entry.js +13 -13
  710. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  711. package/dist/esm/ic-top-navigation.entry.js +4 -4
  712. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  713. package/dist/esm/ic-typography.entry.js +52 -17
  714. package/dist/esm/ic-typography.entry.js.map +1 -1
  715. package/dist/esm/index-d1d2c456.js +12 -12
  716. package/dist/esm/loader.js +1 -1
  717. package/dist/esm/types-6f6b41a5.js.map +1 -1
  718. package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +2 -2
  719. package/dist/types/components/ic-alert/ic-alert.d.ts +0 -4
  720. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +0 -1
  721. package/dist/types/components/ic-badge/ic-badge.d.ts +3 -11
  722. package/dist/types/components/ic-button/ic-button.d.ts +0 -1
  723. package/dist/types/components/{ic-card/ic-card.d.ts → ic-card-vertical/ic-card-vertical.d.ts} +2 -2
  724. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +0 -28
  725. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +0 -4
  726. package/dist/types/components/ic-chip/ic-chip.d.ts +2 -9
  727. package/dist/types/components/ic-data-list/ic-data-list.d.ts +16 -0
  728. package/dist/types/components/ic-data-row/ic-data-row.d.ts +1 -5
  729. package/dist/types/components/ic-dialog/ic-dialog.d.ts +1 -37
  730. package/dist/types/components/ic-empty-state/ic-empty-state.d.ts +1 -1
  731. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +1 -1
  732. package/dist/types/components/ic-hero/ic-hero.d.ts +2 -6
  733. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +0 -8
  734. package/dist/types/components/ic-input-label/ic-input-label.d.ts +4 -8
  735. package/dist/types/components/ic-link/ic-link.d.ts +0 -4
  736. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +1 -1
  737. package/dist/types/components/ic-menu/ic-menu.d.ts +0 -4
  738. package/dist/types/components/ic-page-header/ic-page-header.d.ts +0 -4
  739. package/dist/types/components/ic-pagination/ic-pagination.d.ts +4 -4
  740. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +4 -4
  741. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +0 -24
  742. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +3 -15
  743. package/dist/types/components/ic-select/ic-select.d.ts +1 -31
  744. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +1 -1
  745. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +0 -4
  746. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +1 -10
  747. package/dist/types/components/ic-status-tag/ic-status-tag.types.d.ts +0 -1
  748. package/dist/types/components/ic-step/ic-step.d.ts +6 -6
  749. package/dist/types/components/ic-stepper/test/basic/ic-stepper-test-examples.d.ts +4 -4
  750. package/dist/types/components/ic-switch/ic-switch.d.ts +0 -4
  751. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +0 -4
  752. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +0 -5
  753. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +0 -6
  754. package/dist/types/components/ic-text-field/ic-text-field.d.ts +7 -12
  755. package/dist/types/components/ic-toast/ic-toast.d.ts +8 -1
  756. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +0 -5
  757. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +1 -1
  758. package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.types.d.ts +1 -1
  759. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +7 -0
  760. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +1 -1
  761. package/dist/types/components/ic-typography/ic-typography.d.ts +23 -1
  762. package/dist/types/components.d.ts +144 -508
  763. package/dist/types/utils/helpers.d.ts +1 -0
  764. package/dist/types/utils/types.d.ts +1 -1
  765. package/hydrate/index.js +642 -768
  766. package/package.json +2 -2
  767. package/vscode-data.json +52 -245
  768. package/dist/cjs/helpers-4af10d35.js.map +0 -1
  769. package/dist/cjs/ic-card.cjs.entry.js.map +0 -1
  770. package/dist/cjs/ic-data-entity.cjs.entry.js +0 -29
  771. package/dist/cjs/ic-data-entity.cjs.entry.js.map +0 -1
  772. package/dist/collection/components/ic-card/ic-card.js.map +0 -1
  773. package/dist/collection/components/ic-card/test/basic/ic-card.spec.js.map +0 -1
  774. package/dist/collection/components/ic-chip/ic-chip.types.js +0 -2
  775. package/dist/collection/components/ic-chip/ic-chip.types.js.map +0 -1
  776. package/dist/collection/components/ic-data-entity/ic-data-entity.js.map +0 -1
  777. package/dist/collection/components/ic-data-entity/test/basic/ic-data-entity.spec.js.map +0 -1
  778. package/dist/components/ic-alert2.js +0 -133
  779. package/dist/components/ic-alert2.js.map +0 -1
  780. package/dist/components/ic-card.js.map +0 -1
  781. package/dist/components/ic-data-entity.js +0 -53
  782. package/dist/components/ic-data-entity.js.map +0 -1
  783. package/dist/core/p-03434b02.entry.js +0 -2
  784. package/dist/core/p-03434b02.entry.js.map +0 -1
  785. package/dist/core/p-038a2ea1.entry.js +0 -2
  786. package/dist/core/p-038a2ea1.entry.js.map +0 -1
  787. package/dist/core/p-08781606.entry.js.map +0 -1
  788. package/dist/core/p-0a2cdf34.entry.js +0 -2
  789. package/dist/core/p-0a2cdf34.entry.js.map +0 -1
  790. package/dist/core/p-1145e33c.entry.js +0 -2
  791. package/dist/core/p-1145e33c.entry.js.map +0 -1
  792. package/dist/core/p-13f2c9dc.entry.js +0 -2
  793. package/dist/core/p-13f2c9dc.entry.js.map +0 -1
  794. package/dist/core/p-14c47aed.entry.js +0 -2
  795. package/dist/core/p-14c47aed.entry.js.map +0 -1
  796. package/dist/core/p-15138df1.entry.js +0 -2
  797. package/dist/core/p-15138df1.entry.js.map +0 -1
  798. package/dist/core/p-191d2571.entry.js +0 -2
  799. package/dist/core/p-191d2571.entry.js.map +0 -1
  800. package/dist/core/p-1e33ac04.entry.js +0 -2
  801. package/dist/core/p-1e33ac04.entry.js.map +0 -1
  802. package/dist/core/p-1eb6fc19.entry.js +0 -2
  803. package/dist/core/p-1eb6fc19.entry.js.map +0 -1
  804. package/dist/core/p-1ef00a47.entry.js.map +0 -1
  805. package/dist/core/p-1f4698e7.entry.js +0 -2
  806. package/dist/core/p-1f4698e7.entry.js.map +0 -1
  807. package/dist/core/p-24e6c926.entry.js +0 -2
  808. package/dist/core/p-24e6c926.entry.js.map +0 -1
  809. package/dist/core/p-261debaf.entry.js +0 -2
  810. package/dist/core/p-261debaf.entry.js.map +0 -1
  811. package/dist/core/p-277c3199.entry.js +0 -2
  812. package/dist/core/p-277c3199.entry.js.map +0 -1
  813. package/dist/core/p-2bc8a51d.entry.js +0 -2
  814. package/dist/core/p-2bc8a51d.entry.js.map +0 -1
  815. package/dist/core/p-36cd5d32.js.map +0 -1
  816. package/dist/core/p-37d152b9.entry.js +0 -2
  817. package/dist/core/p-37d152b9.entry.js.map +0 -1
  818. package/dist/core/p-3eda4e14.entry.js.map +0 -1
  819. package/dist/core/p-41b93fc2.entry.js +0 -2
  820. package/dist/core/p-41b93fc2.entry.js.map +0 -1
  821. package/dist/core/p-4a64ec92.entry.js +0 -2
  822. package/dist/core/p-4a64ec92.entry.js.map +0 -1
  823. package/dist/core/p-4a9eecd7.entry.js +0 -2
  824. package/dist/core/p-4a9eecd7.entry.js.map +0 -1
  825. package/dist/core/p-4ad38ad7.entry.js +0 -2
  826. package/dist/core/p-4ad38ad7.entry.js.map +0 -1
  827. package/dist/core/p-4ecf210f.entry.js +0 -2
  828. package/dist/core/p-4ecf210f.entry.js.map +0 -1
  829. package/dist/core/p-5128fc04.entry.js +0 -2
  830. package/dist/core/p-5128fc04.entry.js.map +0 -1
  831. package/dist/core/p-59732bc5.entry.js +0 -2
  832. package/dist/core/p-59732bc5.entry.js.map +0 -1
  833. package/dist/core/p-6a4a0752.entry.js +0 -2
  834. package/dist/core/p-6a4a0752.entry.js.map +0 -1
  835. package/dist/core/p-6e36ff34.entry.js +0 -2
  836. package/dist/core/p-6e36ff34.entry.js.map +0 -1
  837. package/dist/core/p-6fae7e1f.entry.js.map +0 -1
  838. package/dist/core/p-70a7cfa5.entry.js +0 -2
  839. package/dist/core/p-70a7cfa5.entry.js.map +0 -1
  840. package/dist/core/p-7438ab1f.entry.js.map +0 -1
  841. package/dist/core/p-7e5936a3.entry.js +0 -2
  842. package/dist/core/p-7e5936a3.entry.js.map +0 -1
  843. package/dist/core/p-80b87940.entry.js +0 -2
  844. package/dist/core/p-80b87940.entry.js.map +0 -1
  845. package/dist/core/p-85f6a2ef.entry.js +0 -2
  846. package/dist/core/p-85f6a2ef.entry.js.map +0 -1
  847. package/dist/core/p-8ce2dfd4.entry.js.map +0 -1
  848. package/dist/core/p-92b9b56a.entry.js.map +0 -1
  849. package/dist/core/p-98708868.entry.js +0 -2
  850. package/dist/core/p-98708868.entry.js.map +0 -1
  851. package/dist/core/p-a332f7d8.entry.js +0 -2
  852. package/dist/core/p-a332f7d8.entry.js.map +0 -1
  853. package/dist/core/p-a646c117.entry.js +0 -2
  854. package/dist/core/p-a646c117.entry.js.map +0 -1
  855. package/dist/core/p-a9a2987c.entry.js.map +0 -1
  856. package/dist/core/p-b47021d8.entry.js +0 -2
  857. package/dist/core/p-b47021d8.entry.js.map +0 -1
  858. package/dist/core/p-bb2f2048.entry.js +0 -2
  859. package/dist/core/p-bb2f2048.entry.js.map +0 -1
  860. package/dist/core/p-c1db024d.entry.js.map +0 -1
  861. package/dist/core/p-cf3a721c.entry.js +0 -2
  862. package/dist/core/p-cf3a721c.entry.js.map +0 -1
  863. package/dist/core/p-d19d50b6.entry.js +0 -2
  864. package/dist/core/p-d19d50b6.entry.js.map +0 -1
  865. package/dist/core/p-d69f353b.entry.js.map +0 -1
  866. package/dist/core/p-e735d773.entry.js +0 -2
  867. package/dist/core/p-e735d773.entry.js.map +0 -1
  868. package/dist/core/p-e928928a.entry.js +0 -2
  869. package/dist/core/p-e928928a.entry.js.map +0 -1
  870. package/dist/core/p-ea61b524.entry.js +0 -2
  871. package/dist/core/p-ea61b524.entry.js.map +0 -1
  872. package/dist/core/p-eb1d00a7.entry.js.map +0 -1
  873. package/dist/core/p-f13195ab.entry.js.map +0 -1
  874. package/dist/core/p-f861a72a.entry.js +0 -2
  875. package/dist/core/p-f861a72a.entry.js.map +0 -1
  876. package/dist/esm/helpers-354dbb8d.js.map +0 -1
  877. package/dist/esm/ic-card.entry.js.map +0 -1
  878. package/dist/esm/ic-data-entity.entry.js +0 -25
  879. package/dist/esm/ic-data-entity.entry.js.map +0 -1
  880. package/dist/types/components/ic-chip/ic-chip.types.d.ts +0 -1
  881. package/dist/types/components/ic-data-entity/ic-data-entity.d.ts +0 -20
  882. /package/dist/collection/components/{ic-card/ic-card.css → ic-card-vertical/ic-card-vertical.css} +0 -0
  883. /package/dist/core/{p-014342a2.entry.js.map → p-05d32a4f.entry.js.map} +0 -0
  884. /package/dist/core/{p-1d9fceb1.entry.js.map → p-086a6d4f.entry.js.map} +0 -0
  885. /package/dist/core/{p-5bba7e31.entry.js.map → p-2a6f01ad.entry.js.map} +0 -0
  886. /package/dist/core/{p-967d5546.entry.js.map → p-9857f6b0.entry.js.map} +0 -0
  887. /package/dist/core/{p-3b41756e.entry.js.map → p-f50462df.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["icMenuItemCss","MenuItem","this","handleClick","e","isPropDefined","submenuTriggerFor","triggerPopoverMenuInstance","emit","variant","preventDefault","toggleChecked","handleMenuItemClick","label","hasSubMenu","el","getMenuItemAriaLabel","ariaLabel","description","keyboardShortcut","classList","contains","parentEl","parentElement","tagName","componentWillLoad","removeDisabledFalse","disabled","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","handleHostClick","stopImmediatePropagation","render","MenuItemInformation","h","class","Host","role","undefined","fullWidth","onClick","href","hreflang","target","rel","referrerpolicy","ariaControlsId","ariaOwnsId","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-color-primary-text);\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(.disabled) ::part(button) {\n color: var(--ic-architectural-200) !important;\n pointer-events: none;\n}\n\n:host(.disabled) .menu-item-label,\n:host(.disabled) .shortcut,\n:host(.disabled) .menu-item-description {\n color: var(--ic-architectural-200) !important;\n}\n\n:host([variant=\"destructive\"]) ::part(button) {\n color: var(--ic-action-destructive);\n}\n\n:host ::part(button):hover {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\n:host ::part(button):focus-visible,\n:host ::part(button):focus {\n color: var(--ic-color-white-text);\n background-color: var(--ic-focus-blue);\n box-shadow: none;\n}\n\n:host(.disabled) ::part(button):focus-visible,\n:host(.disabled) ::part(button):focus {\n color: var(--ic-theme-lighten-40) !important;\n}\n\n:host([variant=\"destructive\"]) ::part(button):focus-visible,\n:host([variant=\"destructive\"]) ::part(button):focus {\n background-color: var(--ic-action-destructive);\n}\n\nic-button:focus-within .menu-item-label,\nic-button:focus-within .shortcut,\nic-button:focus-within .menu-item-description {\n color: var(--ic-color-white-text);\n}\n\n:host(.disabled) ic-button:focus-within .focus-border {\n border-color: var(--ic-architectural-white);\n}\n\n:host(.disabled) ic-button:focus-within .menu-item-label,\n:host(.disabled) ic-button:focus-within .shortcut,\n:host(.disabled) ic-button:focus-within .menu-item-description {\n color: var(--ic-theme-lighten-40) !important;\n}\n\n:host ::part(button):active {\n background-color: var(--ic-action-dark-bg-active);\n color: var(--ic-color-primary-text) !important;\n}\n\n:host([variant=\"destructive\"]) ::part(button):active {\n background-color: var(--ic-action-dark-bg-active);\n color: var(--ic-action-destructive) !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 color: var(--ic-color-secondary-text);\n}\n\n.shortcut {\n color: var(--ic-color-tertiary-text);\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 color: var(--ic-color-primary-text);\n}\n\nic-button:active .menu-item-description {\n color: var(--ic-color-secondary-text);\n}\n\nic-button:active .shortcut {\n color: var(--ic-color-tertiary-text);\n}\n\n:host([variant=\"destructive\"]) ic-button:active .menu-item-label {\n color: var(--ic-action-destructive) !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(.disabled) ic-button:focus-within .focus-border {\n border-color: GrayText;\n }\n\n :host(.disabled) .menu-item-info,\n :host(.disabled) .menu-item-label,\n :host(.disabled) .shortcut,\n :host(.disabled) .menu-item-description,\n :host(.disabled) ic-button:focus-within .menu-item-info,\n :host(.disabled) ic-button:focus-within .menu-item-label,\n :host(.disabled) ic-button:focus-within .shortcut,\n :host(.disabled) ic-button:focus-within .menu-item-description {\n color: GrayText !important;\n }\n\n :host(.disabled) ::part(button):focus-visible,\n :host(.disabled) ::part(button):focus {\n outline-color: GrayText !important;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n State,\n Event,\n EventEmitter,\n Listen,\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 @State() toggleChecked: 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\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() keyboardShortcut?: 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<{\n label: string;\n hasSubMenu: 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.toggleChecked = !this.toggleChecked;\n }\n this.handleMenuItemClick.emit({\n label: this.label,\n hasSubMenu: !!this.el.submenuTriggerFor,\n });\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.keyboardShortcut)) {\n ariaLabel = `${ariaLabel}, ${this.keyboardShortcut}`;\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.keyboardShortcut && (\n <ic-typography variant=\"caption\" class=\"shortcut\">\n {this.keyboardShortcut}\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 [\"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\" ? this.toggleChecked : 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 ariaControlsId={\n isPropDefined(this.submenuTriggerFor)\n ? `ic-popover-submenu-${this.submenuTriggerFor}`\n : false\n }\n aria-haspopup={\n isPropDefined(this.submenuTriggerFor) ||\n this.el.classList.contains(\"ic-popover-submenu-back-button\")\n ? \"menu\"\n : false\n }\n ariaOwnsId={\n isPropDefined(this.submenuTriggerFor)\n ? `ic-popover-submenu-${this.submenuTriggerFor}`\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.toggleChecked,\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 +0,0 @@
1
- {"version":3,"names":["icSwitchCss","inputIds","Switch","this","inputId","handleChange","checkedState","icChange","emit","checked","value","onFocus","icFocus","onBlur","icBlur","handleFormReset","initiallyChecked","checkedChangeHandler","disconnectedCallback","removeFormResetListener","el","componentWillLoad","addFormResetListener","removeDisabledFalse","disabled","componentDidLoad","onComponentRequiredPropUndefined","prop","label","propName","setFocus","shadowRoot","querySelector","focus","render","small","size","name","showState","hideLabel","helperText","renderHiddenInput","describedBy","getInputDescribedByText","h","Host","class","htmlFor","for","readonly","role","type","id","onChange","focusable","viewBox","xmlns","x1","y1","x2","y2","fill","cx","cy","r","variant"],"sources":["src/components/ic-switch/ic-switch.css?tag=ic-switch&encapsulation=shadow","src/components/ic-switch/ic-switch.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: inline-block;\n}\n\ninput {\n overflow: hidden;\n appearance: none;\n}\n\n.ic-switch-container {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--ic-space-xxs);\n cursor: pointer;\n}\n\n.ic-switch-label {\n margin-left: var(--ic-space-xxs);\n margin-bottom: var(--ic-space-sm);\n}\n\n.ic-switch-label-small {\n margin-bottom: 0.625rem;\n}\n\n.ic-switch-toggle {\n display: flex;\n align-items: center;\n justify-content: space-around;\n width: 4rem;\n height: var(--ic-space-xl);\n position: relative;\n border-radius: 100vw;\n background-color: var(--ic-architectural-200);\n border: var(--ic-border-width) solid var(--ic-architectural-700);\n box-sizing: border-box;\n transition: var(--ic-transition-duration-fast);\n}\n\n.ic-switch-line-break {\n flex: 1 0 100%;\n}\n\n.ic-switch-checked-status {\n padding-left: var(--ic-space-xxs);\n width: var(--ic-space-lg);\n}\n\n.ic-switch-toggle::before {\n content: \"\";\n width: 1.333rem;\n height: 1.333rem;\n border-radius: 50%;\n position: absolute;\n z-index: 2;\n top: 50%;\n left: 0.333rem;\n transform: translate(0, -50%);\n background-color: var(--ic-architectural-700);\n transition: var(--ic-transition-duration-slow);\n}\n\n.ic-switch-icon {\n display: inline-block;\n vertical-align: middle;\n width: 0.625rem;\n height: 0.625rem;\n}\n\n.ic-switch-icon-circle,\n.ic-switch-icon-line {\n stroke-width: 1;\n}\n\n.ic-switch-icon-circle {\n stroke: var(--ic-architectural-700);\n}\n\n.ic-switch-icon-line {\n stroke: var(--ic-architectural-white);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .ic-switch-toggle::before {\n transition-duration: 0ms;\n }\n}\n\n.ic-switch-input:checked + .ic-switch-toggle {\n background-color: var(--ic-action-default);\n border: none;\n}\n\n.ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(var(--ic-space-xl), -50%);\n background-color: var(--ic-architectural-white);\n}\n\n.ic-switch-input:not([disabled]) + .ic-switch-toggle:hover::before {\n box-shadow: 0 0 0 0.75rem var(--ic-action-dark-bg-hover);\n}\n\n.ic-switch-input:not([disabled]) + .ic-switch-toggle:active::before {\n box-shadow: 0 0 0 0.75rem var(--ic-action-dark-bg-active);\n}\n\n.ic-switch-input:not([disabled]):checked + .ic-switch-toggle:hover::before {\n box-shadow: 0 0 0 0.75rem var(--ic-action-default-bg-hover);\n}\n\n.ic-switch-input:not([disabled]):checked + .ic-switch-toggle:active::before {\n box-shadow: 0 0 0 0.75rem var(--ic-action-default-bg-active);\n}\n\n.ic-switch-input:focus:not([disabled]) + .ic-switch-toggle,\n.ic-switch-input:focus-visible:not([disabled]) + .ic-switch-toggle {\n box-shadow: var(--ic-border-focus);\n}\n\n.ic-switch-disabled {\n cursor: default;\n}\n\n.ic-switch-disabled .ic-switch-icon-circle {\n stroke: var(--ic-architectural-300);\n}\n\n.ic-switch-disabled .ic-switch-icon-line {\n stroke: var(--ic-action-default-bg-active);\n}\n\n.ic-switch-input:disabled + .ic-switch-toggle {\n background-color: var(--ic-architectural-80);\n border: var(--ic-border-disabled);\n}\n\n.ic-switch-input:disabled ~ .ic-switch-checked-status {\n color: var(--ic-architectural-300);\n}\n\n.ic-switch-input:disabled + .ic-switch-toggle::before {\n background-color: var(--ic-architectural-300);\n}\n\n.ic-switch-input:disabled:checked + .ic-switch-toggle {\n background-color: var(--ic-status-info-light);\n border: var(--ic-border-width) dashed #98c9f5;\n}\n\n.ic-switch-input:disabled:checked + .ic-switch-toggle::before {\n background-color: var(--ic-architectural-white);\n}\n\n.ic-switch-small {\n gap: var(--ic-space-xxxs);\n}\n\n.ic-switch-small .ic-switch-checked-status {\n padding-left: 0.375rem;\n}\n\n.ic-switch-small .ic-switch-toggle {\n width: var(--ic-space-xxl);\n height: var(--ic-space-lg);\n}\n\n.ic-switch-small .ic-switch-toggle::before {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n left: var(--ic-space-xxs);\n}\n\n.ic-switch-small .ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(var(--ic-space-lg), -50%);\n}\n\n::slotted(*) {\n margin-left: var(--ic-space-sm);\n}\n\n::slotted(svg) {\n fill: currentcolor;\n}\n\n@media (forced-colors: active) {\n .ic-switch-toggle::before,\n .ic-switch-input:checked + .ic-switch-toggle {\n border: var(--ic-hc-border);\n }\n\n .ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(calc(var(--ic-space-xl) - 0.125rem), -50%);\n }\n\n .ic-switch-input:disabled + .ic-switch-toggle,\n .ic-switch-input:disabled:checked + .ic-switch-toggle,\n .ic-switch-input:disabled + .ic-switch-toggle::before {\n border-color: GrayText;\n }\n\n .ic-switch-input:disabled ~ .ic-switch-checked-status {\n color: GrayText;\n }\n\n .ic-switch-disabled .ic-switch-icon-circle,\n .ic-switch-disabled .ic-switch-icon-line {\n stroke: GrayText;\n }\n}\n\n/* Add back in after storybook has the `color-scheme: light dark` code */\n\n/* @media (prefers-color-scheme: dark) and (not (forced-colors: active)) {\n .ic-switch-label .ic-typography-label,\n ic-input-label .helpertext,\n .ic-switch-checked-status {\n color: var(--ic-architectural-white);\n }\n} */\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport { IcSwitchChangeEventDetail } from \"./ic-switch.types\";\nimport { IcSizesNoLarge } from \"../../utils/types\";\n\nlet inputIds = 0;\n\n/**\n * @slot right-adornment - Content is placed to the right of switch before state label.\n */\n@Component({\n tag: \"ic-switch\",\n styleUrl: \"ic-switch.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Switch {\n private inputId = `ic-switch-input-${inputIds++}`;\n\n @Element() el: HTMLIcSwitchElement;\n\n @State() checkedState: boolean = false;\n @State() initiallyChecked = this.checked;\n\n /**\n * If `true`, the switch will display as checked.\n */\n @Prop() checked?: boolean = false;\n\n @Watch(\"checked\")\n checkedChangeHandler(): void {\n this.checkedState = this.checked;\n }\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\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 aria-label applied to the switch when no visual 'name' is provided.\n */\n @Prop() label!: string;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n\n /**\n * If `true`, the switch will render the On/Off state text.\n */\n @Prop() showState?: boolean = false;\n\n /**\n * The size of the switch component.\n */\n @Prop() size?: IcSizesNoLarge = \"default\";\n\n /**\n * @deprecated This prop should not be used anymore. Set prop `size` to \"small\" instead.\n */\n @Prop() small?: boolean = false;\n\n /**\n * The value of the toggle does not mean if it's checked or not, use the `checked`\n * property for that.\n *\n * The value of a toggle is analogous to the value of a `<input type=\"checkbox\">`,\n * it's only used when the toggle participates in a native `<form>`.\n */\n @Prop() value?: string | null = \"on\";\n\n /**\n * Emitted when the toggle loses focus.\n */\n @Event() icBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the value property has changed.\n */\n @Event() icChange!: EventEmitter<IcSwitchChangeEventDetail>;\n\n /**\n * Emitted when the toggle has focus.\n */\n @Event() icFocus!: EventEmitter<void>;\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n componentWillLoad(): void {\n this.checkedState = this.checked;\n addFormResetListener(this.el, this.handleFormReset);\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Switch\"\n );\n }\n\n /**\n * Sets focus on the switch.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.el.shadowRoot.querySelector(\"input\")) {\n this.el.shadowRoot.querySelector(\"input\").focus();\n }\n }\n\n private handleChange = () => {\n this.checkedState = !this.checkedState;\n this.icChange.emit({\n checked: this.checkedState,\n value: this.value,\n });\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = () => {\n this.icBlur.emit();\n };\n\n private handleFormReset = (): void => {\n this.checkedState = this.initiallyChecked;\n };\n\n render() {\n const {\n label,\n checkedState,\n small,\n size,\n disabled,\n name,\n showState,\n value,\n hideLabel,\n helperText,\n inputId,\n } = this;\n\n renderHiddenInput(true, this.el, name, checkedState ? value : \"\", disabled);\n\n const describedBy = getInputDescribedByText(\n inputId,\n helperText !== \"\",\n false\n );\n\n return (\n <Host>\n <label\n class={{\n [\"ic-switch-container\"]: true,\n [\"ic-switch-disabled\"]: disabled,\n [\"ic-switch-small\"]: small || size === \"small\",\n }}\n htmlFor={inputId}\n >\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n readonly={true}\n disabled={disabled}\n class={{\n [\"ic-switch-label\"]: true,\n [\"ic-switch-label-small\"]: small || size === \"small\",\n }}\n ></ic-input-label>\n )}\n {!hideLabel && <span class=\"ic-switch-line-break\"></span>}\n <input\n checked={checkedState}\n disabled={disabled}\n aria-label={label}\n aria-checked={checkedState ? \"true\" : \"false\"}\n aria-describedby={describedBy}\n role=\"switch\"\n class=\"ic-switch-input\"\n type=\"checkbox\"\n name=\"toggle\"\n id={inputId}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onChange={this.handleChange}\n />\n <span class=\"ic-switch-toggle\">\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line\n class=\"ic-switch-icon-line\"\n x1=\"9\"\n y1={small || size === \"small\" ? \"2\" : \"1\"}\n x2=\"9\"\n y2={small || size === \"small\" ? \"8\" : \"9\"}\n />\n </svg>\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"ic-switch-icon-circle\"\n fill=\"none\"\n cx=\"5\"\n cy=\"5\"\n r={small || size === \"small\" ? \"3.335\" : \"4.445\"}\n />\n </svg>\n </span>\n <slot name=\"right-adornment\"></slot>\n {showState && (\n <ic-typography\n aria-hidden=\"true\"\n variant=\"label\"\n class=\"ic-switch-checked-status\"\n >\n {checkedState ? \"On\" : \"Off\"}\n </ic-typography>\n )}\n </label>\n </Host>\n );\n }\n}\n"],"mappings":"+JAAA,MAAMA,EAAc,u5MCuBpB,IAAIC,EAAW,E,MAYFC,EAAM,M,4HACTC,KAAAC,QAAU,mBAAmBH,MA4G7BE,KAAAE,aAAe,KACrBF,KAAKG,cAAgBH,KAAKG,aAC1BH,KAAKI,SAASC,KAAK,CACjBC,QAASN,KAAKG,aACdI,MAAOP,KAAKO,OACZ,EAGIP,KAAAQ,QAAU,KAChBR,KAAKS,QAAQJ,MAAM,EAGbL,KAAAU,OAAS,KACfV,KAAKW,OAAON,MAAM,EAGZL,KAAAY,gBAAkB,KACxBZ,KAAKG,aAAeH,KAAKa,gBAAgB,E,kBAzHV,M,sBACLb,KAAKM,Q,aAKL,M,cAUC,M,gBAKC,G,eAKA,M,+BAUNN,KAAKC,Q,eAKC,M,UAKE,U,WAKN,M,WASM,I,CAnDhC,oBAAAa,GACEd,KAAKG,aAAeH,KAAKM,O,CAmE3B,oBAAAS,GACEC,EAAwBhB,KAAKiB,GAAIjB,KAAKY,gB,CAGxC,iBAAAM,GACElB,KAAKG,aAAeH,KAAKM,QACzBa,EAAqBnB,KAAKiB,GAAIjB,KAAKY,iBACnCQ,EAAoBpB,KAAKqB,SAAUrB,KAAKiB,G,CAG1C,gBAAAK,GACEC,EACE,CAAC,CAAEC,KAAMxB,KAAKyB,MAAOC,SAAU,UAC/B,S,CAQJ,cAAMC,GACJ,GAAI3B,KAAKiB,GAAGW,WAAWC,cAAc,SAAU,CAC7C7B,KAAKiB,GAAGW,WAAWC,cAAc,SAASC,O,EAwB9C,MAAAC,GACE,MAAMN,MACJA,EAAKtB,aACLA,EAAY6B,MACZA,EAAKC,KACLA,EAAIZ,SACJA,EAAQa,KACRA,EAAIC,UACJA,EAAS5B,MACTA,EAAK6B,UACLA,EAASC,WACTA,EAAUpC,QACVA,GACED,KAEJsC,EAAkB,KAAMtC,KAAKiB,GAAIiB,EAAM/B,EAAeI,EAAQ,GAAIc,GAElE,MAAMkB,EAAcC,EAClBvC,EACAoC,IAAe,GACf,OAGF,OACEI,EAACC,EAAI,KACHD,EAAA,SACEE,MAAO,CACL,CAAC,uBAAwB,KACzB,CAAC,sBAAuBtB,EACxB,CAAC,mBAAoBW,GAASC,IAAS,SAEzCW,QAAS3C,IAEPmC,GACAK,EAAA,kBACEI,IAAK5C,EACLwB,MAAOA,EACPY,WAAYA,EACZS,SAAU,KACVzB,SAAUA,EACVsB,MAAO,CACL,CAAC,mBAAoB,KACrB,CAAC,yBAA0BX,GAASC,IAAS,YAIjDG,GAAaK,EAAA,QAAME,MAAM,yBAC3BF,EAAA,SACEnC,QAASH,EACTkB,SAAUA,EAAQ,aACNI,EAAK,eACHtB,EAAe,OAAS,QAAO,mBAC3BoC,EAClBQ,KAAK,SACLJ,MAAM,kBACNK,KAAK,WACLd,KAAK,SACLe,GAAIhD,EACJO,QAASR,KAAKQ,QACdE,OAAQV,KAAKU,OACbwC,SAAUlD,KAAKE,eAEjBuC,EAAA,QAAME,MAAM,oBACVF,EAAA,OACEE,MAAM,iBAAgB,cACV,OACZQ,UAAU,QACVC,QAAQ,YACRC,MAAM,8BAENZ,EAAA,QACEE,MAAM,sBACNW,GAAG,IACHC,GAAIvB,GAASC,IAAS,QAAU,IAAM,IACtCuB,GAAG,IACHC,GAAIzB,GAASC,IAAS,QAAU,IAAM,OAG1CQ,EAAA,OACEE,MAAM,iBAAgB,cACV,OACZQ,UAAU,QACVC,QAAQ,YACRC,MAAM,8BAENZ,EAAA,UACEE,MAAM,wBACNe,KAAK,OACLC,GAAG,IACHC,GAAG,IACHC,EAAG7B,GAASC,IAAS,QAAU,QAAU,YAI/CQ,EAAA,QAAMP,KAAK,oBACVC,GACCM,EAAA,+BACc,OACZqB,QAAQ,QACRnB,MAAM,4BAELxC,EAAe,KAAO,Q"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icNavigationGroupCss","NavigationGroup","this","allGroupedNavigationItems","DYNAMIC_GROUPED_LINKS_HEIGHT_MS","IC_NAVIGATION_ITEM","mouseGate","nodeName","GROUPED_LINKS_WRAPPER_CLASS","sideNavExpandHandler","event","isSideNavExpanded","detail","sideNavExpanded","linkWrapper","el","shadowRoot","querySelector","expanded","expandedNavItemsHeight","setGroupedLinksElementHeight","setTimeout","getNavigationChildItemsHeight","collapsedNavItemsHeight","topNavResizedHandler","size","deviceSize","inTopNavSideMenu","_a","parentEl","customMobileBreakpoint","DEVICE_SIZES","L","setGroupedNavItemTabIndex","tabIndexValue","querySelectorAll","forEach","navigationItem","navItem","setAttribute","toggleGroupedLinkWrapperHeight","wrapper","style","setProperty","toggleExpanded","handleClick","ev","navigationType","toggleDropdown","handleBlur","target","relatedTarget","contains","hideDropdown","handleTopNavKeydown","key","handleKeydown","preventDefault","handleMouseLeave","relTarget","dropdown","document","activeElement","dropdownOpen","handleMouseEnter","addEventListener","showDropdown","renderDropdownGroupedLinks","h","class","onMouseLeave","ref","renderGroupedLinks","navigationChildItemsHeight","offsetHeight","setInitialGroupedLinksWrapperHeight","renderNavigationItems","expandable","XL","getThemeForegroundColor","disconnectedCallback","removeEventListener","componentWillLoad","getCurrentDeviceSize","navType","parent","getNavItemParentDetails","componentDidLoad","Array","from","childBlurHandler","navItemClickHandler","themeChangeHandler","theme","focusStyle","mode","setFocus","groupEl","focus","groupedNavItemWrapper","height","render","label","Host","collapsed","role","onMouseEnter","tabindex","onBlur","onClick","onKeyDown","variant","innerHTML","chevronIcon"],"sources":["src/components/ic-navigation-group/ic-navigation-group.css?tag=ic-navigation-group&encapsulation=shadow","src/components/ic-navigation-group/ic-navigation-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-navigation-item: z-index of navigation group item\n */\n\n:host {\n display: block;\n}\n\n:host(.in-side-menu) {\n border-bottom: var(--ic-border-width) solid var(--ic-architectural-200);\n padding: var(--ic-space-md) 0;\n}\n\n:host .navigation-group {\n height: 100%;\n width: fit-content;\n color: var(--ic-theme-text);\n display: flex;\n align-items: center;\n justify-content: center;\n padding: 0 var(--ic-space-md);\n transition: var(--ic-easing-transition-slow);\n position: relative;\n background: none;\n border: none;\n white-space: nowrap;\n}\n\n:host(.in-side-menu) .navigation-group {\n height: 2.5rem;\n width: 100%;\n text-align: left;\n}\n\n:host(.in-side-menu) .navigation-group .ic-typography-label {\n width: 11.875rem;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu {\n color: var(--ic-action-default);\n justify-content: flex-start;\n padding: 0 var(--ic-space-md) 0 var(--ic-space-md);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-collapsed,\n:host(.in-side-menu) .navigation-group-side-menu-expanded {\n color: var(--ic-action-default);\n justify-content: flex-start;\n padding-left: var(--ic-space-md);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded {\n margin-bottom: var(--ic-space-xs);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-collapsed::after,\n:host(.in-side-menu) .navigation-group-side-menu-expanded::after {\n border-style: solid;\n border-width: 0.125em 0.125em 0 0;\n content: \"\";\n display: inline-block;\n height: 0.45em;\n left: 0.75em;\n position: relative;\n top: -0.1em;\n transform: rotate(135deg);\n vertical-align: top;\n width: 0.45em;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded::after {\n top: 0.15em;\n transform: rotate(-45deg);\n}\n\n:host .navigation-group:hover,\n:host .navigation-group:active,\n:host .selected {\n background-color: var(--ic-architectural-20);\n color: var(--ic-color-primary-text);\n outline: none;\n cursor: pointer;\n}\n\n:host(:not(.in-side-menu)) .navigation-group:focus {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n z-index: var(--ic-z-index-navigation-item);\n transition: box-shadow var(--ic-easing-transition-fast);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu:hover,\n:host(.in-side-menu) .navigation-group-side-menu:active,\n:host(.in-side-menu) .navigation-group-side-menu:focus {\n background-color: var(--ic-architectural-20);\n color: var(--ic-action-default);\n cursor: auto;\n box-shadow: none;\n outline: none;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu:focus {\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:hover:not(:focus),\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:hover:not(:focus) {\n background-color: var(--ic-action-dark-bg-hover);\n color: var(--ic-action-default);\n cursor: pointer;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus) {\n background-color: var(--ic-action-dark-bg-active);\n color: var(--ic-action-default);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:focus,\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:focus {\n color: var(--ic-action-default);\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host .navigation-group-dropdown {\n background-color: var(--ic-architectural-20);\n border-bottom: var(--ic-border-default);\n position: absolute;\n left: 0;\n right: 0;\n padding: var(--ic-space-xs) var(--ic-space-md);\n box-shadow: 0 0.375rem 0.5rem -0.375rem rgba(0 0 0 / 20%);\n z-index: calc(var(--ic-z-index-navigation-item) - 1);\n}\n\n:host .navigation-group-dropdown-items-list {\n list-style: none;\n display: flex;\n flex-flow: column wrap;\n align-content: flex-start;\n padding-left: var(--ic-space-md);\n max-height: 16.5rem;\n}\n\n:host .chevron-toggle-icon-wrapper {\n display: flex;\n align-items: center;\n}\n\n:host .chevron-toggle-icon-wrapper svg {\n transform: rotate(90deg);\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host .chevron-toggle-icon-closed svg {\n transform: rotate(-90deg);\n}\n\n:host(.expanded) .grouped-links-wrapper {\n height: var(--navigation-child-items-height, auto) !important;\n transition: var(--ic-easing-transition-slow);\n overflow: hidden;\n}\n\n:host(.navigation-group-side-nav) .link,\n:host(.navigation-group-side-nav) ::slotted(a) {\n height: var(--navigation-child-items-height, auto);\n}\n\n:host(.collapsed) .grouped-links-wrapper {\n height: 0;\n transition: var(--ic-easing-transition-slow);\n overflow: hidden;\n}\n\n:host(.navigation-group-side-nav) .navigation-group {\n height: var(--navigation-group-height);\n width: var(--navigation-group-width);\n justify-content: var(--navigation-group-justify-content);\n padding-right: var(--navigation-group-expand-toggle-padding);\n}\n\n:host(.navigation-group-side-nav) .navigation-group:hover,\n:host(.navigation-group-side-nav) .navigation-group:active,\n:host(.navigation-group-side-nav) .selected {\n background-color: var(--navigation-group-hover);\n color: var(--navigation-group-text-hover);\n}\n\n:host(.navigation-group-side-nav) .navigation-group:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n background: none;\n}\n\n:host(.navigation-group-side-nav) .ic-typography-caption {\n position: var(--navigation-group-title-position);\n left: var(--navigation-group-title-position-left);\n white-space: nowrap;\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n State,\n Listen,\n h,\n Method,\n} from \"@stencil/core\";\n\nimport {\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getThemeForegroundColor,\n getNavItemParentDetails,\n} from \"../../utils/helpers\";\nimport { IcNavType, IcTheme } from \"../../utils/types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\n@Component({\n tag: \"ic-navigation-group\",\n styleUrl: \"ic-navigation-group.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class NavigationGroup {\n private allGroupedNavigationItems: HTMLIcNavigationItemElement[] = [];\n private collapsedNavItemsHeight: string;\n private dropdown: HTMLElement;\n private DYNAMIC_GROUPED_LINKS_HEIGHT_MS = 100;\n private expandedNavItemsHeight: string;\n private groupEl: HTMLElement;\n private IC_NAVIGATION_ITEM = \"ic-navigation-item\";\n private isSideNavExpanded: boolean;\n private mouseGate: boolean = false;\n private nodeName = \"IC-NAVIGATION-GROUP\";\n private GROUPED_LINKS_WRAPPER_CLASS = \".grouped-links-wrapper\";\n\n @Element() el: HTMLIcNavigationGroupElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() dropdownOpen: boolean = false;\n @State() expanded: boolean = true;\n @State() focusStyle = getThemeForegroundColor();\n @State() inTopNavSideMenu: boolean = false;\n @State() navigationType: IcNavType | \"\";\n @State() parentEl: HTMLElement;\n\n /**\n * If `true`, the group will be expandable in the side menu.\n */\n @Prop() expandable: boolean = false;\n\n /**\n * The label to display on the group.\n */\n @Prop() label: string;\n\n disconnectedCallback(): void {\n if (this.navigationType === \"side\") {\n this.parentEl.removeEventListener(\n \"sideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl.removeEventListener(\n \"topNavResized\",\n this.topNavResizedHandler\n );\n }\n }\n\n componentWillLoad(): void {\n this.deviceSize = getCurrentDeviceSize();\n const { navType, parent } = getNavItemParentDetails(this.el);\n this.navigationType = navType;\n this.parentEl = parent;\n\n if (this.navigationType === \"side\") {\n this.parentEl.addEventListener(\n \"sideNavExpanded\",\n this.sideNavExpandHandler\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl.addEventListener(\n \"topNavResized\",\n this.topNavResizedHandler\n );\n if (\n this.deviceSize <=\n (this.parentEl as HTMLIcTopNavigationElement).customMobileBreakpoint\n )\n this.inTopNavSideMenu = true;\n }\n }\n\n componentDidLoad(): void {\n this.allGroupedNavigationItems = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n\n /**\n * debounce is required as the incorrect height was retrieved instantly after\n * componentDidLoad is invoked.\n */\n setTimeout(\n () => this.setInitialGroupedLinksWrapperHeight(),\n this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS\n );\n }\n\n @Listen(\"childBlur\")\n childBlurHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"navItemClicked\")\n navItemClickHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.focusStyle = theme.mode;\n }\n\n /**\n * Sets focus on the nav item.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.groupEl) {\n this.groupEl.focus();\n }\n }\n\n private sideNavExpandHandler = (event?: CustomEvent): void => {\n this.isSideNavExpanded = event.detail.sideNavExpanded;\n const linkWrapper = this.el.shadowRoot.querySelector(\n this.GROUPED_LINKS_WRAPPER_CLASS\n ) as HTMLElement;\n\n if (!linkWrapper) return;\n\n if (this.isSideNavExpanded) {\n if (this.expanded && this.expandedNavItemsHeight) {\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.expandedNavItemsHeight\n );\n } else if (this.expanded) {\n setTimeout(() => {\n this.expandedNavItemsHeight = this.getNavigationChildItemsHeight();\n\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.expandedNavItemsHeight\n );\n }, this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n } else {\n if (this.expanded && this.collapsedNavItemsHeight) {\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.collapsedNavItemsHeight\n );\n } else if (this.expanded) {\n setTimeout(() => {\n this.collapsedNavItemsHeight = this.getNavigationChildItemsHeight();\n\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.collapsedNavItemsHeight\n );\n }, this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\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 toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n }\n\n private setGroupedNavItemTabIndex = (tabIndexValue: string) => {\n this.el\n .querySelectorAll(this.IC_NAVIGATION_ITEM)\n .forEach((navigationItem) => {\n const navItem =\n navigationItem.shadowRoot.querySelector(\"a\") ||\n navigationItem.querySelector(\"a\");\n if (navItem) {\n navItem.setAttribute(\"tabindex\", tabIndexValue);\n }\n });\n };\n\n private toggleGroupedLinkWrapperHeight = (\n wrapper: HTMLElement,\n expanded: boolean\n ) => {\n if (!wrapper) return;\n\n if (expanded) {\n if (this.isSideNavExpanded) {\n this.setGroupedLinksElementHeight(wrapper, this.expandedNavItemsHeight);\n } else {\n this.setGroupedLinksElementHeight(\n wrapper,\n this.collapsedNavItemsHeight\n );\n }\n this.setGroupedNavItemTabIndex(\"0\");\n } else {\n wrapper.style.setProperty(\"--navigation-child-items-height\", \"0\");\n this.setGroupedNavItemTabIndex(\"-1\");\n }\n };\n\n private toggleExpanded = () => {\n this.expanded = !this.expanded;\n const linkWrapper = this.el.shadowRoot.querySelector(\n this.GROUPED_LINKS_WRAPPER_CLASS\n ) as HTMLElement;\n this.toggleGroupedLinkWrapperHeight(linkWrapper, this.expanded);\n };\n\n private showDropdown() {\n if (!this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n\n private hideDropdown() {\n document.removeEventListener(\"keydown\", this.handleKeydown);\n if (this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n\n private handleClick = (ev: MouseEvent) => {\n if (this.navigationType === \"top\" && ev.detail) {\n this.toggleDropdown();\n } else {\n this.toggleExpanded();\n }\n };\n\n private handleBlur = (ev: FocusEvent) => {\n const target = ev.relatedTarget as HTMLElement;\n if (!this.el.contains(target)) {\n this.hideDropdown();\n }\n };\n\n private handleTopNavKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \" \" || ev.key === \"Enter\") {\n this.toggleDropdown();\n } else if (!this.inTopNavSideMenu && ev.key === \"Escape\") {\n this.hideDropdown();\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \"Enter\" || ev.key === \" \" || ev.key === \"Escape\") {\n switch (this.navigationType) {\n case \"top\":\n this.handleTopNavKeydown(ev as KeyboardEvent);\n break;\n case \"side\":\n this.toggleExpanded();\n ev.preventDefault();\n break;\n default:\n this.toggleExpanded();\n break;\n }\n }\n };\n\n private handleMouseLeave = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement;\n\n this.mouseGate = false;\n\n if (\n !this.el.contains(relTarget) &&\n relTarget !== this.dropdown &&\n document.activeElement !== this.el &&\n !this.el.contains(document.activeElement) &&\n relTarget?.nodeName === this.nodeName &&\n this.dropdownOpen === true\n ) {\n this.mouseGate = true;\n this.hideDropdown();\n } else if (\n !this.el.contains(relTarget) &&\n relTarget !== this.dropdown &&\n !this.el.contains(document.activeElement)\n ) {\n this.mouseGate = false;\n setTimeout(() => {\n this.dropdownOpen ? this.hideDropdown() : null;\n }, 500);\n }\n };\n\n private handleMouseEnter = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement;\n document.addEventListener(\"keydown\", this.handleKeydown);\n\n if (relTarget?.nodeName === this.nodeName && this.mouseGate === true) {\n this.showDropdown();\n } else if (\n this.dropdownOpen === false &&\n relTarget !== null &&\n this.mouseGate === false\n ) {\n this.mouseGate = true;\n setTimeout(() => {\n this.mouseGate && this.showDropdown();\n }, 500);\n }\n };\n\n private renderDropdownGroupedLinks = (): HTMLDivElement => (\n <div\n class={{\n [\"navigation-group-dropdown\"]: !this.inTopNavSideMenu,\n [\"navigation-group-dropdown-side-menu\"]: this.inTopNavSideMenu,\n [\"selected\"]: this.dropdownOpen && !this.inTopNavSideMenu,\n }}\n onMouseLeave={!this.inTopNavSideMenu ? this.handleMouseLeave : null}\n ref={(el) => (this.dropdown = el)}\n >\n <nav\n class={{\n [\"navigation-group-dropdown-items\"]: !this.inTopNavSideMenu,\n }}\n >\n <ul>\n <slot></slot>\n </ul>\n </nav>\n </div>\n );\n\n private renderGroupedLinks = (): HTMLDivElement => (\n <ul class=\"grouped-links-wrapper\">\n <slot></slot>\n </ul>\n );\n\n /**\n * Gets the total height of navigation links to improve\n * smoothness of expand/collapse animations\n */\n private getNavigationChildItemsHeight = (): string => {\n let navigationChildItemsHeight = 0;\n this.allGroupedNavigationItems.forEach((navItem) => {\n navigationChildItemsHeight += navItem.offsetHeight;\n });\n\n return `${navigationChildItemsHeight}px`;\n };\n\n private setInitialGroupedLinksWrapperHeight = () => {\n const linkWrapper = this.el.shadowRoot.querySelector(\n this.GROUPED_LINKS_WRAPPER_CLASS\n ) as HTMLElement;\n\n if (!linkWrapper) return;\n\n if (\n !this.isSideNavExpanded &&\n !this.collapsedNavItemsHeight &&\n this.expanded\n ) {\n this.collapsedNavItemsHeight = this.getNavigationChildItemsHeight();\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.collapsedNavItemsHeight\n );\n }\n\n if (this.isSideNavExpanded && this.expanded) {\n this.expandedNavItemsHeight = this.getNavigationChildItemsHeight();\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.expandedNavItemsHeight\n );\n }\n };\n\n private renderNavigationItems = (): HTMLDivElement | null => {\n if (this.dropdownOpen || (this.inTopNavSideMenu && !this.expandable)) {\n return this.renderDropdownGroupedLinks();\n }\n\n if (this.navigationType !== \"top\") {\n return this.renderGroupedLinks();\n }\n\n return null;\n };\n\n private setGroupedLinksElementHeight(\n groupedNavItemWrapper: HTMLElement,\n height: string\n ) {\n groupedNavItemWrapper.style.setProperty(\n \"--navigation-child-items-height\",\n height\n );\n }\n\n render() {\n const { label, dropdownOpen, inTopNavSideMenu, expandable } = this;\n\n return (\n <Host\n class={{\n [\"in-side-menu\"]: inTopNavSideMenu,\n expanded: this.expanded,\n collapsed: !this.expanded,\n [\"navigation-group-side-nav\"]: this.navigationType === \"side\",\n }}\n role=\"listitem\"\n >\n <button\n onMouseEnter={\n !inTopNavSideMenu &&\n this.navigationType === \"top\" &&\n this.handleMouseEnter\n }\n onMouseLeave={this.navigationType === \"top\" && this.handleMouseLeave}\n tabindex={inTopNavSideMenu && !expandable ? \"-1\" : \"0\"}\n onBlur={this.handleBlur}\n onClick={expandable ? this.handleClick : null}\n onKeyDown={this.handleKeydown}\n class={{\n [\"navigation-group\"]: true,\n [this.focusStyle]: !inTopNavSideMenu,\n [\"navigation-group-side-menu\"]: inTopNavSideMenu && !expandable,\n [\"navigation-group-side-menu-collapsed\"]:\n inTopNavSideMenu && expandable && !dropdownOpen,\n [\"navigation-group-side-menu-expanded\"]:\n inTopNavSideMenu && expandable && dropdownOpen,\n [\"selected\"]: dropdownOpen && !inTopNavSideMenu,\n }}\n ref={(el) => (this.groupEl = el)}\n aria-expanded={`${dropdownOpen || this.expanded}`}\n aria-haspopup={`${\n !inTopNavSideMenu && this.navigationType === \"top\"\n }`}\n >\n <ic-typography\n variant={this.navigationType === \"side\" ? \"caption\" : \"label\"}\n >\n {label}\n </ic-typography>\n {this.navigationType === \"side\" && expandable && (\n <div\n class={{\n \"chevron-toggle-icon-wrapper\": true,\n \"chevron-toggle-icon-closed\": this.expanded,\n }}\n innerHTML={chevronIcon}\n ></div>\n )}\n </button>\n {this.renderNavigationItems()}\n </Host>\n );\n }\n}\n"],"mappings":"8KAAA,MAAMA,EAAuB,0uO,MC2BhBC,EAAe,M,yBAClBC,KAAAC,0BAA2D,GAG3DD,KAAAE,gCAAkC,IAGlCF,KAAAG,mBAAqB,qBAErBH,KAAAI,UAAqB,MACrBJ,KAAAK,SAAW,sBACXL,KAAAM,4BAA8B,yBAqG9BN,KAAAO,qBAAwBC,IAC9BR,KAAKS,kBAAoBD,EAAME,OAAOC,gBACtC,MAAMC,EAAcZ,KAAKa,GAAGC,WAAWC,cACrCf,KAAKM,6BAGP,IAAKM,EAAa,OAElB,GAAIZ,KAAKS,kBAAmB,CAC1B,GAAIT,KAAKgB,UAAYhB,KAAKiB,uBAAwB,CAChDjB,KAAKkB,6BACHN,EACAZ,KAAKiB,uB,MAEF,GAAIjB,KAAKgB,SAAU,CACxBG,YAAW,KACTnB,KAAKiB,uBAAyBjB,KAAKoB,gCAEnCpB,KAAKkB,6BACHN,EACAZ,KAAKiB,uBACN,GACAjB,KAAKE,gC,MAEL,CACL,GAAIF,KAAKgB,UAAYhB,KAAKqB,wBAAyB,CACjDrB,KAAKkB,6BACHN,EACAZ,KAAKqB,wB,MAEF,GAAIrB,KAAKgB,SAAU,CACxBG,YAAW,KACTnB,KAAKqB,wBAA0BrB,KAAKoB,gCAEpCpB,KAAKkB,6BACHN,EACAZ,KAAKqB,wBACN,GACArB,KAAKE,gC,IAKNF,KAAAsB,qBAAuB,EAC7BZ,a,MAEA,MAAMa,KAAEA,GAASb,EACjB,GAAIa,IAASvB,KAAKwB,WAAY,CAC5BxB,KAAKwB,WAAaD,EAClBvB,KAAKyB,iBACHF,MACCG,EAAC1B,KAAK2B,YAAuC,MAAAD,SAAA,SAAAA,EAC1CE,yBAA0BC,EAAaC,E,GAQzC9B,KAAA+B,0BAA6BC,IACnChC,KAAKa,GACFoB,iBAAiBjC,KAAKG,oBACtB+B,SAASC,IACR,MAAMC,EACJD,EAAerB,WAAWC,cAAc,MACxCoB,EAAepB,cAAc,KAC/B,GAAIqB,EAAS,CACXA,EAAQC,aAAa,WAAYL,E,IAEnC,EAGEhC,KAAAsC,+BAAiC,CACvCC,EACAvB,KAEA,IAAKuB,EAAS,OAEd,GAAIvB,EAAU,CACZ,GAAIhB,KAAKS,kBAAmB,CAC1BT,KAAKkB,6BAA6BqB,EAASvC,KAAKiB,uB,KAC3C,CACLjB,KAAKkB,6BACHqB,EACAvC,KAAKqB,wB,CAGTrB,KAAK+B,0BAA0B,I,KAC1B,CACLQ,EAAQC,MAAMC,YAAY,kCAAmC,KAC7DzC,KAAK+B,0BAA0B,K,GAI3B/B,KAAA0C,eAAiB,KACvB1C,KAAKgB,UAAYhB,KAAKgB,SACtB,MAAMJ,EAAcZ,KAAKa,GAAGC,WAAWC,cACrCf,KAAKM,6BAEPN,KAAKsC,+BAA+B1B,EAAaZ,KAAKgB,SAAS,EAgBzDhB,KAAA2C,YAAeC,IACrB,GAAI5C,KAAK6C,iBAAmB,OAASD,EAAGlC,OAAQ,CAC9CV,KAAK8C,gB,KACA,CACL9C,KAAK0C,gB,GAID1C,KAAA+C,WAAcH,IACpB,MAAMI,EAASJ,EAAGK,cAClB,IAAKjD,KAAKa,GAAGqC,SAASF,GAAS,CAC7BhD,KAAKmD,c,GAIDnD,KAAAoD,oBAAuBR,IAC7B,GAAIA,EAAGS,MAAQ,KAAOT,EAAGS,MAAQ,QAAS,CACxCrD,KAAK8C,gB,MACA,IAAK9C,KAAKyB,kBAAoBmB,EAAGS,MAAQ,SAAU,CACxDrD,KAAKmD,c,GAIDnD,KAAAsD,cAAiBV,IACvB,GAAIA,EAAGS,MAAQ,SAAWT,EAAGS,MAAQ,KAAOT,EAAGS,MAAQ,SAAU,CAC/D,OAAQrD,KAAK6C,gBACX,IAAK,MACH7C,KAAKoD,oBAAoBR,GACzB,MACF,IAAK,OACH5C,KAAK0C,iBACLE,EAAGW,iBACH,MACF,QACEvD,KAAK0C,iBACL,M,GAKA1C,KAAAwD,iBAAoBZ,IAC1B,MAAMa,EAAYb,EAAGK,cAErBjD,KAAKI,UAAY,MAEjB,IACGJ,KAAKa,GAAGqC,SAASO,IAClBA,IAAczD,KAAK0D,UACnBC,SAASC,gBAAkB5D,KAAKa,KAC/Bb,KAAKa,GAAGqC,SAASS,SAASC,iBAC3BH,IAAS,MAATA,SAAS,SAATA,EAAWpD,YAAaL,KAAKK,UAC7BL,KAAK6D,eAAiB,KACtB,CACA7D,KAAKI,UAAY,KACjBJ,KAAKmD,c,MACA,IACJnD,KAAKa,GAAGqC,SAASO,IAClBA,IAAczD,KAAK0D,WAClB1D,KAAKa,GAAGqC,SAASS,SAASC,eAC3B,CACA5D,KAAKI,UAAY,MACjBe,YAAW,KACTnB,KAAK6D,aAAe7D,KAAKmD,eAAiB,IAAI,GAC7C,I,GAICnD,KAAA8D,iBAAoBlB,IAC1B,MAAMa,EAAYb,EAAGK,cACrBU,SAASI,iBAAiB,UAAW/D,KAAKsD,eAE1C,IAAIG,IAAS,MAATA,SAAS,SAATA,EAAWpD,YAAaL,KAAKK,UAAYL,KAAKI,YAAc,KAAM,CACpEJ,KAAKgE,c,MACA,GACLhE,KAAK6D,eAAiB,OACtBJ,IAAc,MACdzD,KAAKI,YAAc,MACnB,CACAJ,KAAKI,UAAY,KACjBe,YAAW,KACTnB,KAAKI,WAAaJ,KAAKgE,cAAc,GACpC,I,GAIChE,KAAAiE,2BAA6B,IACnCC,EAAA,OACEC,MAAO,CACL,CAAC,8BAA+BnE,KAAKyB,iBACrC,CAAC,uCAAwCzB,KAAKyB,iBAC9C,CAAC,YAAazB,KAAK6D,eAAiB7D,KAAKyB,kBAE3C2C,cAAepE,KAAKyB,iBAAmBzB,KAAKwD,iBAAmB,KAC/Da,IAAMxD,GAAQb,KAAK0D,SAAW7C,GAE9BqD,EAAA,OACEC,MAAO,CACL,CAAC,oCAAqCnE,KAAKyB,mBAG7CyC,EAAA,UACEA,EAAA,gBAMAlE,KAAAsE,mBAAqB,IAC3BJ,EAAA,MAAIC,MAAM,yBACRD,EAAA,cAQIlE,KAAAoB,8BAAgC,KACtC,IAAImD,EAA6B,EACjCvE,KAAKC,0BAA0BiC,SAASE,IACtCmC,GAA8BnC,EAAQoC,YAAY,IAGpD,MAAO,GAAGD,KAA8B,EAGlCvE,KAAAyE,oCAAsC,KAC5C,MAAM7D,EAAcZ,KAAKa,GAAGC,WAAWC,cACrCf,KAAKM,6BAGP,IAAKM,EAAa,OAElB,IACGZ,KAAKS,oBACLT,KAAKqB,yBACNrB,KAAKgB,SACL,CACAhB,KAAKqB,wBAA0BrB,KAAKoB,gCACpCpB,KAAKkB,6BACHN,EACAZ,KAAKqB,wB,CAIT,GAAIrB,KAAKS,mBAAqBT,KAAKgB,SAAU,CAC3ChB,KAAKiB,uBAAyBjB,KAAKoB,gCACnCpB,KAAKkB,6BACHN,EACAZ,KAAKiB,uB,GAKHjB,KAAA0E,sBAAwB,KAC9B,GAAI1E,KAAK6D,cAAiB7D,KAAKyB,mBAAqBzB,KAAK2E,WAAa,CACpE,OAAO3E,KAAKiE,4B,CAGd,GAAIjE,KAAK6C,iBAAmB,MAAO,CACjC,OAAO7C,KAAKsE,oB,CAGd,OAAO,IAAI,E,gBAxXiBzC,EAAa+C,G,kBACV,M,cACJ,K,gBACPC,I,sBACe,M,sEAOP,M,qBAO9B,oBAAAC,GACE,GAAI9E,KAAK6C,iBAAmB,OAAQ,CAClC7C,KAAK2B,SAASoD,oBACZ,kBACA/E,KAAKO,qB,MAEF,GAAIP,KAAK6C,iBAAmB,MAAO,CACxC7C,KAAK2B,SAASoD,oBACZ,gBACA/E,KAAKsB,qB,EAKX,iBAAA0D,GACEhF,KAAKwB,WAAayD,IAClB,MAAMC,QAAEA,EAAOC,OAAEA,GAAWC,EAAwBpF,KAAKa,IACzDb,KAAK6C,eAAiBqC,EACtBlF,KAAK2B,SAAWwD,EAEhB,GAAInF,KAAK6C,iBAAmB,OAAQ,CAClC7C,KAAK2B,SAASoC,iBACZ,kBACA/D,KAAKO,qB,MAEF,GAAIP,KAAK6C,iBAAmB,MAAO,CACxC7C,KAAK2B,SAASoC,iBACZ,gBACA/D,KAAKsB,sBAEP,GACEtB,KAAKwB,YACJxB,KAAK2B,SAAwCC,uBAE9C5B,KAAKyB,iBAAmB,I,EAI9B,gBAAA4D,GACErF,KAAKC,0BAA4BqF,MAAMC,KACrCvF,KAAKa,GAAGoB,iBAAiBjC,KAAKG,qBAOhCgB,YACE,IAAMnB,KAAKyE,uCACXzE,KAAKE,gC,CAKT,gBAAAsF,GACExF,KAAKmD,c,CAIP,mBAAAsC,GACEzF,KAAKmD,c,CAIP,kBAAAuC,CAAmB9C,GACjB,MAAM+C,EAAiB/C,EAAGlC,OAC1BV,KAAK4F,WAAaD,EAAME,I,CAO1B,cAAMC,GACJ,GAAI9F,KAAK+F,QAAS,CAChB/F,KAAK+F,QAAQC,O,EA4DT,cAAAlD,GACN9C,KAAK6D,cAAgB7D,KAAK6D,Y,CA8CpB,YAAAG,GACN,IAAKhE,KAAK6D,aAAc,CACtB7D,KAAK8C,gB,EAID,YAAAK,GACNQ,SAASoB,oBAAoB,UAAW/E,KAAKsD,eAC7C,GAAItD,KAAK6D,aAAc,CACrB7D,KAAK8C,gB,EA0KD,4BAAA5B,CACN+E,EACAC,GAEAD,EAAsBzD,MAAMC,YAC1B,kCACAyD,E,CAIJ,MAAAC,GACE,MAAMC,MAAEA,EAAKvC,aAAEA,EAAYpC,iBAAEA,EAAgBkD,WAAEA,GAAe3E,KAE9D,OACEkE,EAACmC,EAAI,CACHlC,MAAO,CACL,CAAC,gBAAiB1C,EAClBT,SAAUhB,KAAKgB,SACfsF,WAAYtG,KAAKgB,SACjB,CAAC,6BAA8BhB,KAAK6C,iBAAmB,QAEzD0D,KAAK,YAELrC,EAAA,UACEsC,cACG/E,GACDzB,KAAK6C,iBAAmB,OACxB7C,KAAK8D,iBAEPM,aAAcpE,KAAK6C,iBAAmB,OAAS7C,KAAKwD,iBACpDiD,SAAUhF,IAAqBkD,EAAa,KAAO,IACnD+B,OAAQ1G,KAAK+C,WACb4D,QAAShC,EAAa3E,KAAK2C,YAAc,KACzCiE,UAAW5G,KAAKsD,cAChBa,MAAO,CACL,CAAC,oBAAqB,KACtB,CAACnE,KAAK4F,aAAcnE,EACpB,CAAC,8BAA+BA,IAAqBkD,EACrD,CAAC,wCACClD,GAAoBkD,IAAed,EACrC,CAAC,uCACCpC,GAAoBkD,GAAcd,EACpC,CAAC,YAAaA,IAAiBpC,GAEjC4C,IAAMxD,GAAQb,KAAK+F,QAAUlF,EAAG,gBACjB,GAAGgD,GAAgB7D,KAAKgB,WAAU,gBAClC,IACZS,GAAoBzB,KAAK6C,iBAAmB,SAG/CqB,EAAA,iBACE2C,QAAS7G,KAAK6C,iBAAmB,OAAS,UAAY,SAErDuD,GAEFpG,KAAK6C,iBAAmB,QAAU8B,GACjCT,EAAA,OACEC,MAAO,CACL,8BAA+B,KAC/B,6BAA8BnE,KAAKgB,UAErC8F,UAAWC,KAIhB/G,KAAK0E,wB"}
@@ -1,2 +0,0 @@
1
- import{r as t,h as e,H as i,g as o}from"./p-6b5e91e2.js";import{i as s}from"./p-36cd5d32.js";import"./p-26b7b18f.js";const n='/*! 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}.group-title-container{padding:var(--ic-space-xs);display:flex;justify-content:space-between;align-items:center}:host(.small) .group-title-container{padding:var(--ic-space-xxs) var(--ic-space-xs)}:host(.large) .group-title-container{padding:var(--ic-space-sm) var(--ic-space-xs)}:host(.light){color:var(--ic-color-white-text)}:host(.accordion-group.dark) ::slotted(ic-accordion){color:var(--ic-color-white-text)}';let a=0;const r=class{constructor(e){t(this,e);this.accordionGroupId=`ic-accordion-group-${a++}`;this.handleExpanded=()=>{if(this.areAllAccordionsOpen){this.expanded=false;this.accordions.forEach((t=>{t.expanded=this.expanded}))}else{this.expanded=true;this.accordions.forEach((t=>{t.expanded=this.expanded}))}this.setExpandedToAreAllAccordionsOpen()};this.linkAccordions=()=>{this.accordions.forEach((t=>{t.setAttribute("context-id",this.accordionGroupId)}))};this.setExpandedToAreAllAccordionsOpen=()=>{this.areAllAccordionsOpen=this.accordions.every((t=>!!t.expanded))};this.accordionOpenBtnText=()=>!this.areAllAccordionsOpen?"See all":"Hide all";this.accordions=undefined;this.areAllAccordionsOpen=undefined;this.accessibleButtonLabel="accordions";this.appearance="default";this.expanded=false;this.groupTitle="";this.singleExpansion=false;this.size="default"}watchAppearanceHandler(){this.accordions.forEach((t=>{t.appearance=this.appearance}))}watchExpandedHandler(){this.handleExpanded()}componentDidLoad(){const t=this.el.children;this.accordions=Array.from(t).filter((t=>t.tagName==="IC-ACCORDION"));this.linkAccordions();this.accordions.forEach((t=>{t.appearance=this.appearance}));this.accordions.forEach((t=>{t.size=this.size}));if(this.expanded){this.accordions.forEach((t=>{t.expanded=true}));this.setExpandedToAreAllAccordionsOpen()}else{this.setExpandedToAreAllAccordionsOpen();this.expanded=this.areAllAccordionsOpen}}handleAccordionClicked(t){if(!this.singleExpansion){this.setExpandedToAreAllAccordionsOpen()}else{this.accordions.forEach((e=>{if(e.expanded&&t.detail.id!==e.id){e.expanded=false}}))}}async setFocus(){const t=this.singleExpansion?this.accordions[0]:this.allButtonEl;t.setFocus()}render(){const{appearance:t,size:o,groupTitle:n,singleExpansion:a,accessibleButtonLabel:r}=this;return e(i,{"context-id":this.accordionGroupId,class:{[`${t}`]:true,[`${o}`]:true,["accordion-group"]:true}},e("div",{class:"group-title-container"},e("ic-typography",{variant:"h4"},e("h3",null,s(this.el,"group-title")?e("slot",{name:"group-title"}):n)),!a&&e("ic-button",{ref:t=>this.allButtonEl=t,appearance:t==="light"?"light":"default",onClick:this.handleExpanded,variant:"tertiary","aria-label":`${this.accordionOpenBtnText()} ${r}`},this.accordionOpenBtnText())),e("slot",null))}get el(){return o(this)}static get watchers(){return{appearance:["watchAppearanceHandler"],expanded:["watchExpandedHandler"]}}};r.style=n;export{r as ic_accordion_group};
2
- //# sourceMappingURL=p-98708868.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icAccordionGroupCss","accordionGroupIds","AccordionGroup","this","accordionGroupId","handleExpanded","areAllAccordionsOpen","expanded","accordions","forEach","acc","setExpandedToAreAllAccordionsOpen","linkAccordions","accordion","setAttribute","every","accordionOpenBtnText","watchAppearanceHandler","appearance","watchExpandedHandler","componentDidLoad","accordionDirectChildren","el","children","Array","from","filter","child","tagName","size","handleAccordionClicked","event","singleExpansion","detail","id","setFocus","focusEl","allButtonEl","render","groupTitle","accessibleButtonLabel","h","Host","class","variant","isSlotUsed","name","ref","onClick"],"sources":["src/components/ic-accordion-group/ic-accordion-group.css?tag=ic-accordion-group&encapsulation=shadow","src/components/ic-accordion-group/ic-accordion-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n.group-title-container {\n padding: var(--ic-space-xs);\n display: flex;\n justify-content: space-between;\n align-items: center;\n}\n\n:host(.small) .group-title-container {\n padding: var(--ic-space-xxs) var(--ic-space-xs);\n}\n\n:host(.large) .group-title-container {\n padding: var(--ic-space-sm) var(--ic-space-xs);\n}\n\n:host(.light) {\n color: var(--ic-color-white-text);\n}\n\n:host(.accordion-group.dark) ::slotted(ic-accordion) {\n color: var(--ic-color-white-text);\n}\n","import {\n Component,\n Element,\n h,\n Host,\n Listen,\n Prop,\n State,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport { IcThemeForeground, IcSizes } from \"../../utils/types\";\nimport { isSlotUsed } from \"../../utils/helpers\";\n\nlet accordionGroupIds = 0;\n\n/**\n * @slot group-title - Content is placed as the accordion group title.\n */\n@Component({\n tag: \"ic-accordion-group\",\n styleUrl: \"ic-accordion-group.css\",\n shadow: true,\n})\nexport class AccordionGroup {\n private accordionGroupId = `ic-accordion-group-${accordionGroupIds++}`;\n private allButtonEl: HTMLIcButtonElement;\n\n @Element() el: HTMLIcAccordionGroupElement;\n\n @State() accordions: HTMLIcAccordionElement[];\n\n @State() areAllAccordionsOpen: boolean;\n\n /**\n * The accessible button label to provide more context to the 'See all/Hide all' button for screen reader users.\n */\n @Prop() accessibleButtonLabel: string = \"accordions\";\n\n /**\n * The appearance of the accordion group, e.g dark, or light.\n */\n @Prop() appearance: IcThemeForeground = \"default\";\n @Watch(\"appearance\")\n watchAppearanceHandler() {\n this.accordions.forEach((acc) => {\n acc.appearance = this.appearance;\n });\n }\n\n /**\n * If `true`, the accordion will load in an expanded state.\n */\n @Prop({ mutable: true }) expanded: boolean = false;\n @Watch(\"expanded\")\n watchExpandedHandler() {\n this.handleExpanded();\n }\n\n /**\n * The header for the accordion group.\n */\n @Prop() groupTitle: string = \"\";\n\n /**\n * If `true`, only one accordion will open at a time.\n */\n @Prop() singleExpansion: boolean = false;\n\n /**\n * The size of the accordion.\n */\n @Prop() size?: IcSizes = \"default\";\n\n componentDidLoad(): void {\n const accordionDirectChildren = (this.el as HTMLElement).children;\n this.accordions = Array.from(accordionDirectChildren).filter(\n (child) => child.tagName === \"IC-ACCORDION\"\n ) as HTMLIcAccordionElement[];\n this.linkAccordions();\n this.accordions.forEach((acc) => {\n acc.appearance = this.appearance;\n });\n this.accordions.forEach((acc) => {\n acc.size = this.size;\n });\n if (this.expanded) {\n this.accordions.forEach((acc) => {\n acc.expanded = true;\n });\n this.setExpandedToAreAllAccordionsOpen();\n } else {\n this.setExpandedToAreAllAccordionsOpen();\n this.expanded = this.areAllAccordionsOpen;\n }\n }\n\n @Listen(\"accordionClicked\")\n handleAccordionClicked(event: CustomEvent): void {\n if (!this.singleExpansion) {\n // 'See all' should be visible until all accordions are open, then 'Hide all' should be visible\n this.setExpandedToAreAllAccordionsOpen();\n } else {\n this.accordions.forEach((acc) => {\n if (acc.expanded && event.detail.id !== acc.id) {\n acc.expanded = false;\n }\n });\n }\n }\n\n /**\n * Sets the focus on first focusable element in the accordion group. If the \"See/Hide all\" button is present, it will be focused.\n * Otherwise, the first accordion will be focused.\n */\n @Method()\n async setFocus(): Promise<void> {\n const focusEl = this.singleExpansion\n ? this.accordions[0]\n : this.allButtonEl;\n focusEl.setFocus();\n }\n\n private handleExpanded = () => {\n if (this.areAllAccordionsOpen) {\n this.expanded = false;\n this.accordions.forEach((acc) => {\n acc.expanded = this.expanded;\n });\n } else {\n this.expanded = true;\n this.accordions.forEach((acc) => {\n acc.expanded = this.expanded;\n });\n }\n this.setExpandedToAreAllAccordionsOpen();\n };\n\n private linkAccordions = () => {\n this.accordions.forEach((accordion) => {\n accordion.setAttribute(\"context-id\", this.accordionGroupId);\n });\n };\n\n private setExpandedToAreAllAccordionsOpen = () => {\n this.areAllAccordionsOpen = this.accordions.every(\n (accordion) => !!accordion.expanded\n );\n };\n\n private accordionOpenBtnText = () => {\n return !this.areAllAccordionsOpen ? \"See all\" : \"Hide all\";\n };\n\n render() {\n const {\n appearance,\n size,\n groupTitle,\n singleExpansion,\n accessibleButtonLabel,\n } = this;\n return (\n <Host\n context-id={this.accordionGroupId}\n class={{\n [`${appearance}`]: true,\n [`${size}`]: true,\n [\"accordion-group\"]: true,\n }}\n >\n <div class=\"group-title-container\">\n <ic-typography variant=\"h4\">\n <h3>\n {isSlotUsed(this.el, \"group-title\") ? (\n <slot name=\"group-title\" />\n ) : (\n groupTitle\n )}\n </h3>\n </ic-typography>\n {!singleExpansion && (\n <ic-button\n ref={(el) => (this.allButtonEl = el)}\n appearance={appearance === \"light\" ? \"light\" : \"default\"}\n onClick={this.handleExpanded}\n variant=\"tertiary\"\n aria-label={`${this.accordionOpenBtnText()} ${accessibleButtonLabel}`}\n >\n {this.accordionOpenBtnText()}\n </ic-button>\n )}\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"qHAAA,MAAMA,EAAsB,gwFCc5B,IAAIC,EAAoB,E,MAUXC,EAAc,M,yBACjBC,KAAAC,iBAAmB,sBAAsBH,MAkGzCE,KAAAE,eAAiB,KACvB,GAAIF,KAAKG,qBAAsB,CAC7BH,KAAKI,SAAW,MAChBJ,KAAKK,WAAWC,SAASC,IACvBA,EAAIH,SAAWJ,KAAKI,QAAQ,G,KAEzB,CACLJ,KAAKI,SAAW,KAChBJ,KAAKK,WAAWC,SAASC,IACvBA,EAAIH,SAAWJ,KAAKI,QAAQ,G,CAGhCJ,KAAKQ,mCAAmC,EAGlCR,KAAAS,eAAiB,KACvBT,KAAKK,WAAWC,SAASI,IACvBA,EAAUC,aAAa,aAAcX,KAAKC,iBAAiB,GAC3D,EAGID,KAAAQ,kCAAoC,KAC1CR,KAAKG,qBAAuBH,KAAKK,WAAWO,OACzCF,KAAgBA,EAAUN,UAC5B,EAGKJ,KAAAa,qBAAuB,KACrBb,KAAKG,qBAAuB,UAAY,W,yFAlHV,a,gBAKA,U,cAWK,M,gBAShB,G,qBAKM,M,UAKV,S,CA5BzB,sBAAAW,GACEd,KAAKK,WAAWC,SAASC,IACvBA,EAAIQ,WAAaf,KAAKe,UAAU,G,CASpC,oBAAAC,GACEhB,KAAKE,gB,CAkBP,gBAAAe,GACE,MAAMC,EAA2BlB,KAAKmB,GAAmBC,SACzDpB,KAAKK,WAAagB,MAAMC,KAAKJ,GAAyBK,QACnDC,GAAUA,EAAMC,UAAY,iBAE/BzB,KAAKS,iBACLT,KAAKK,WAAWC,SAASC,IACvBA,EAAIQ,WAAaf,KAAKe,UAAU,IAElCf,KAAKK,WAAWC,SAASC,IACvBA,EAAImB,KAAO1B,KAAK0B,IAAI,IAEtB,GAAI1B,KAAKI,SAAU,CACjBJ,KAAKK,WAAWC,SAASC,IACvBA,EAAIH,SAAW,IAAI,IAErBJ,KAAKQ,mC,KACA,CACLR,KAAKQ,oCACLR,KAAKI,SAAWJ,KAAKG,oB,EAKzB,sBAAAwB,CAAuBC,GACrB,IAAK5B,KAAK6B,gBAAiB,CAEzB7B,KAAKQ,mC,KACA,CACLR,KAAKK,WAAWC,SAASC,IACvB,GAAIA,EAAIH,UAAYwB,EAAME,OAAOC,KAAOxB,EAAIwB,GAAI,CAC9CxB,EAAIH,SAAW,K,MAWvB,cAAM4B,GACJ,MAAMC,EAAUjC,KAAK6B,gBACjB7B,KAAKK,WAAW,GAChBL,KAAKkC,YACTD,EAAQD,U,CAkCV,MAAAG,GACE,MAAMpB,WACJA,EAAUW,KACVA,EAAIU,WACJA,EAAUP,gBACVA,EAAeQ,sBACfA,GACErC,KACJ,OACEsC,EAACC,EAAI,cACSvC,KAAKC,iBACjBuC,MAAO,CACL,CAAC,GAAGzB,KAAe,KACnB,CAAC,GAAGW,KAAS,KACb,CAAC,mBAAoB,OAGvBY,EAAA,OAAKE,MAAM,yBACTF,EAAA,iBAAeG,QAAQ,MACrBH,EAAA,UACGI,EAAW1C,KAAKmB,GAAI,eACnBmB,EAAA,QAAMK,KAAK,gBAAgB,KAM/Bd,GACAS,EAAA,aACEM,IAAMzB,GAAQnB,KAAKkC,YAAcf,EACjCJ,WAAYA,IAAe,QAAU,QAAU,UAC/C8B,QAAS7C,KAAKE,eACduC,QAAQ,WAAU,aACN,GAAGzC,KAAKa,0BAA0BwB,KAE7CrC,KAAKa,yBAIZyB,EAAA,a"}
@@ -1,2 +0,0 @@
1
- import{r as t,h as r,H as o}from"./p-6b5e91e2.js";import{a}from"./p-36cd5d32.js";import{I as e}from"./p-26b7b18f.js";const i=":host{--border-bottom-color:var(--ic-architectural-300);display:block;margin-bottom:var(--ic-space-md);border-bottom:var(--ic-border-default)}:host(.inline){margin-bottom:0;border-bottom:none}.light{border-bottom:var(--ic-border-width) solid var(--ic-architectural-white)}.tabs-container{display:flex;flex-direction:row}.tabs-container::-webkit-scrollbar{display:none}";const s=class{constructor(r){t(this,r);this.appearance="dark";this.contextId="default";this.inline=false;this.label=undefined}componentDidLoad(){a([{prop:this.label,propName:"label"}],"Tab Group")}render(){const{appearance:t,label:a}=this;return r(o,{role:"tablist","aria-label":a,class:{["light"]:t===e.Light,["inline"]:this.inline}},r("ic-horizontal-scroll",{appearance:t===e.Dark?e.Default:t,"focus-trigger":"tabFocus"},r("div",{class:"tabs-container"},r("slot",null))))}static get delegatesFocus(){return true}};s.style=i;export{s as ic_tab_group};
2
- //# sourceMappingURL=p-a332f7d8.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icTabGroupCss","TabGroup","componentDidLoad","onComponentRequiredPropUndefined","prop","this","label","propName","render","appearance","h","Host","role","class","IcThemeForegroundEnum","Light","inline","Dark","Default"],"sources":["src/components/ic-tab-group/ic-tab-group.css?tag=ic-tab-group&encapsulation=shadow","src/components/ic-tab-group/ic-tab-group.tsx"],"sourcesContent":[":host {\n --border-bottom-color: var(--ic-architectural-300);\n\n display: block;\n margin-bottom: var(--ic-space-md);\n border-bottom: var(--ic-border-default);\n}\n\n:host(.inline) {\n margin-bottom: 0;\n border-bottom: none;\n}\n\n.light {\n border-bottom: var(--ic-border-width) solid var(--ic-architectural-white);\n}\n\n.tabs-container {\n display: flex;\n flex-direction: row;\n}\n\n.tabs-container::-webkit-scrollbar {\n display: none;\n}\n","import { Component, Host, Prop, h } from \"@stencil/core\";\n\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\nimport {\n IcThemeForegroundNoDefault,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\n@Component({\n tag: \"ic-tab-group\",\n styleUrl: \"ic-tab-group.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class TabGroup {\n /**\n * @internal The appearance of the tab group, e.g dark, or light.\n */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n\n /**\n * @deprecated This is no longer required.\n * The context id is passed down from `ic-tab-context`\n */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /**\n * If `true`, the tabs and tab panels will be positioned separately.\n */\n @Prop({ reflect: true }) inline?: boolean = false;\n\n /**\n * The label to describe the purpose of the set of tabs to screen reader users.\n */\n @Prop() label!: string;\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tab Group\"\n );\n }\n\n render() {\n const { appearance, label } = this;\n\n return (\n <Host\n role=\"tablist\"\n aria-label={label}\n class={{\n [\"light\"]: appearance === IcThemeForegroundEnum.Light,\n [\"inline\"]: this.inline,\n }}\n >\n <ic-horizontal-scroll\n appearance={\n appearance === IcThemeForegroundEnum.Dark\n ? IcThemeForegroundEnum.Default\n : appearance\n }\n focus-trigger=\"tabFocus\"\n >\n <div class=\"tabs-container\">\n <slot></slot>\n </div>\n </ic-horizontal-scroll>\n </Host>\n );\n }\n}\n"],"mappings":"qHAAA,MAAMA,EAAgB,mX,MCeTC,EAAQ,M,yCAI+B,O,eAMJ,U,YAKF,M,qBAO5C,gBAAAC,GACEC,EACE,CAAC,CAAEC,KAAMC,KAAKC,MAAOC,SAAU,UAC/B,Y,CAIJ,MAAAC,GACE,MAAMC,WAAEA,EAAUH,MAAEA,GAAUD,KAE9B,OACEK,EAACC,EAAI,CACHC,KAAK,UAAS,aACFN,EACZO,MAAO,CACL,CAAC,SAAUJ,IAAeK,EAAsBC,MAChD,CAAC,UAAWV,KAAKW,SAGnBN,EAAA,wBACED,WACEA,IAAeK,EAAsBG,KACjCH,EAAsBI,QACtBT,EAAU,gBAEF,YAEdC,EAAA,OAAKG,MAAM,kBACTH,EAAA,e"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,H as a,g as n}from"./p-6b5e91e2.js";import{I as o}from"./p-26b7b18f.js";import{i as s,K as r,e as l,D as c,b as h,o as d,f as p,a as m,F as u,d as b}from"./p-36cd5d32.js";const g='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;color:var(--ic-theme-text);width:100%;position:relative}:host .top-navigation{background-color:var(--ic-theme-primary);height:-moz-max-content;height:max-content}:host(.fullwidth-searchbar) slot[name="search"]::slotted(form){width:100%}:host .title-link{display:inline-flex;align-items:center;text-decoration:none;padding:var(--ic-space-xxs);transition:var(--ic-easing-transition-fast)}:host .title-link,:host .title-link:visited,:host .title-link:active,:host .title-link ::slotted(a),:host .title-link:visited ::slotted(a),:host .title-link:active ::slotted(a){color:var(--ic-theme-text);text-decoration:none;outline:none}:host .title-link:hover:not(:focus){background-color:var(--ic-theme-hover)}:host .title-link:active:not(:focus){background-color:var(--ic-theme-active)}:host .title-link:hover{border-radius:var(--ic-border-radius)}:host .title-link:focus,:host .title-link:focus-within{border-radius:var(--ic-border-radius);box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline)}:host .title-link ic-typography{font-weight:600}:host .nav-panel-container{border-top:var(--ic-keyline-lighten);padding:0 var(--ic-space-lg);margin-left:calc(-1 * var(--section-container-margin));margin-right:calc(-1 * var(--section-container-margin));display:flex}:host(.dark) .nav-panel-container{border-top:var(--ic-keyline-darken)}.top-panel-container{display:flex;padding-top:0.5rem;padding-bottom:0.5rem}.navigation-tabs{margin-top:calc(-1 * var(--ic-space-1px))}.app-details-container{display:flex;align-items:center;flex:1 1 auto;margin-right:var(--ic-space-md)}.app-icon-container{display:flex;padding-right:var(--ic-space-xs)}.icon-buttons-container{display:flex;margin-left:var(--ic-space-md)}.icon-buttons-container ::slotted(nav){display:flex}.title-wrap{overflow-wrap:break-word;word-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}:host .app-status{border-radius:var(--ic-space-md);background-color:var(--ic-architectural-white);color:var(--ic-color-primary-text);padding:var(--ic-space-xxs) var(--ic-space-lg);margin-left:var(--ic-space-md);flex:1 1 0;max-width:-moz-fit-content;max-width:fit-content}:host(.dark) .app-status{background-color:var(--ic-theme-text);color:var(--ic-color-white-text)}:host .app-version{border-radius:var(--ic-space-md);background-color:var(--ic-theme-active);padding:var(--ic-space-xxs) var(--ic-space-sm);margin-left:var(--ic-space-xs);flex:1 1 0;max-width:-moz-fit-content;max-width:fit-content}slot[name="app-icon"]::slotted(*){fill:var(--ic-theme-text);width:2em;height:2em}slot[name="toggle-icon"] svg{fill:var(--ic-theme-text)}.search-menu-container{justify-content:right;display:flex;align-items:center}.menu-button-container{margin-left:var(--ic-space-md)}.menu-button-container .navigation-landmark-button-text{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}.search-actions-container{display:flex}.menu-buttons-slot{display:flex;flex-direction:column}.navigation-landmark-text{position:absolute;width:var(--ic-space-1px);height:var(--ic-space-1px);padding:0;margin:calc(-1 * var(--ic-space-1px));overflow:hidden}.navigation-item-list{display:flex;list-style:none;height:2.75rem}.navigation-item-list::-webkit-scrollbar{display:none}:host ic-section-container{padding-bottom:0 !important;padding-top:0 !important}@media screen and (min-width: 993px){.app-details-container{margin-right:var(--ic-space-lg)}}@media screen and (max-width: 1200px){:host .nav-panel-container{padding:0 var(--ic-space-md)}}:host(.mobile-mode) .app-status,:host(.mobile-mode) .app-version{display:none}:host(.mobile-mode) .title-link{margin-right:var(--ic-space-xs)}:host(.mobile-mode) .search-menu-container{max-width:10rem}:host(.mobile-mode) .search-bar-container{display:flex;justify-content:center;align-items:center;border-top:var(--ic-keyline-darken);height:4rem;padding-left:var(--ic-space-md);padding-right:var(--ic-space-md);margin-left:calc(-1 * var(--section-container-margin));margin-right:calc(-1 * var(--section-container-margin))}@media screen and (max-width: 576px){:host .title-link{margin-right:var(--ic-space-xxxs);word-break:break-word;-webkit-hyphens:none;hyphens:none}.top-panel-container{min-height:2.5rem}.search-bar-container{margin-top:0;height:3.5rem;padding-left:var(--ic-space-xs);padding-right:var(--ic-space-xs)}.menu-button-container{margin-left:var(--ic-space-sm)}slot[name="app-icon"]::slotted(*){width:1.5em;height:1.5em}slot[name="toggle-icon"] svg{width:1.5em;height:1.5em}}@media (forced-colors: active){:host .top-navigation{border-bottom:var(--ic-hc-border)}.app-status,.app-version{border:var(--ic-hc-border)}slot[name="app-icon"]::slotted(*){fill:currentcolor}}';const v=class{constructor(e){t(this,e);this.icNavigationMenuClosed=i(this,"icNavigationMenuClosed",7);this.icNavigationMenuOpened=i(this,"icNavigationMenuOpened",7);this.topNavResized=i(this,"topNavResized",7);this.hasAppIcon=false;this.hasIconButtons=false;this.hasNavigation=false;this.hasSearchSlotContent=false;this.resizeObserver=null;this.searchBar=null;this.checkSlots=()=>{this.hasAppIcon=s(this.el,"app-icon");this.hasNavigation=s(this.el,"navigation");this.hasIconButtons=s(this.el,"buttons");this.hasSearchSlotContent=s(this.el,"search")};this.initialiseSearchBar=()=>{if(this.hasSearchSlotContent){const t=r(this.el,"search");if((t===null||t===void 0?void 0:t.tagName)==="IC-SEARCH-BAR"){this.searchBar=t}else if((t===null||t===void 0?void 0:t.tagName)==="FORM"){this.searchBar=t.querySelector("ic-search-bar")}if(this.searchBar!==null){this.searchBar.hideLabel=true}}};this.menuButtonClick=()=>{this.showNavMenu(true)};this.searchButtonMouseDownHandler=()=>{this.searchButtonClick=true};this.searchButtonClickHandler=()=>{this.toggleSearchBar();this.searchButtonClick=false};this.resizeObserverCallback=t=>{if(t!==this.deviceSize){this.deviceSize=t;if(t>this.customMobileBreakpoint){this.showNavMenu(false);if(this.mobileSearchBarVisible){this.toggleSearchBar()}}this.topNavResized.emit({size:t});if(this.searchBar&&document.activeElement===this.searchBar){this.searchBar.setAttribute("hidden","true");this.searchBar.removeAttribute("hidden");setTimeout((()=>{this.searchBar.focus()}),100)}}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{this.resizeObserverCallback(l())}));this.resizeObserver.observe(this.el)};this.deviceSize=c.XL;this.foregroundColor=h();this.hasFullWidthSearchBar=false;this.mobileSearchBarVisible=false;this.mobileSearchHiddenOnBlur=false;this.navMenuVisible=false;this.searchButtonClick=false;this.searchValue="";this.contentAligned="full-width";this.customMobileBreakpoint=c.L;this.href="/";this.inline=false;this.shortAppTitle="";this.status="";this.version="";this.appTitle=undefined}watchPropHandler(t,i){d(i,t,this.initialiseSearchBar)}disconnectedCallback(){var t;(t=this.resizeObserver)===null||t===void 0?void 0:t.disconnect()}componentWillLoad(){this.checkSlots();this.deviceSize=l();this.initialiseSearchBar()}componentDidLoad(){p(this.runResizeObserver);!s(this.el,"app-title")&&m([{prop:this.appTitle,propName:"app-title"}],"Top Navigation")}componentWillRender(){this.checkSlots()}navBarMenuCloseHandler(){this.showNavMenu(false);this.el.shadowRoot.querySelector("#menu-button").focus()}searchInputBlurHandler({detail:t}){if(t!==null){if(this.mobileSearchBarVisible&&!this.searchButtonClick){this.toggleSearchBar()}this.searchValue=t.value}}searchValueChangeHandler({detail:t}){this.searchValue=t.value}themeChangeHandler({detail:t}){this.foregroundColor=t.mode}toggleSearchBar(){this.mobileSearchBarVisible=!this.mobileSearchBarVisible;if(this.searchBar!==null){this.mobileSearchButtonEl.setAttribute("aria-label",`${this.mobileSearchBarVisible?"Hide":"Show"} search`);this.hasFullWidthSearchBar=this.mobileSearchBarVisible;this.searchBar.fullWidth=this.mobileSearchBarVisible;if(this.mobileSearchBarVisible){setTimeout((()=>{this.searchBar.focus()}),100)}}}showNavMenu(t){this.navMenuVisible=t;(t?this.icNavigationMenuOpened:this.icNavigationMenuClosed).emit();document.body.style.height=t?"100%":"auto";document.body.style.overflow=t?"hidden":"auto"}render(){const{appTitle:t,contentAligned:i,customMobileBreakpoint:n,deviceSize:r,el:l,foregroundColor:h,hasAppIcon:d,hasFullWidthSearchBar:p,hasIconButtons:m,hasNavigation:g,hasSearchSlotContent:v,href:f,inline:x,menuButtonClick:w,mobileSearchBarVisible:k,navMenuVisible:y,searchButtonClickHandler:z,searchButtonMouseDownHandler:H,shortAppTitle:M,status:C,version:B}=this;const S=C!=="";const j=B!=="";const T=g||m||S||j;const N=r<=c.S?"default":"large";const I=t!==""&&b(t);const R=r<=n;const V=R?r<=c.S?"subtitle-small":"h4":"h3";const $=`${k?"Hide":"Show"} search`;const A=r<=c.S?"small":"default";const O=s(l,"short-app-title");const D=s(l,"app-title");const L=D?"div":"a";const F=L=="a"&&{href:f};return e(a,{class:{"fullwidth-searchbar":p,"mobile-mode":R,[o.Dark]:h===o.Dark}},e("div",{class:"top-navigation"},e("ic-section-container",{aligned:i,"full-height":true},e("header",{role:"banner"},e("div",{class:"top-panel-container"},e("div",{class:"app-details-container"},(I||D)&&e(L,Object.assign({class:"title-link"},F),d&&e("div",{class:"app-icon-container"},e("slot",{name:"app-icon"})),r<=c.S&&(!u(M)||O)?e("ic-typography",{variant:"subtitle-small","aria-label":(!D||!O)&&`${t} (${M})`},e("h1",null,O?e("slot",{name:"short-app-title"}):M)):e("ic-typography",{variant:V},e("h1",{class:"title-wrap"},D?e("slot",{name:"app-title"}):t))),S&&e("div",{class:"app-status"},e("ic-typography",{"aria-label":"app tag",variant:"label-uppercase",class:"app-status-text"},C)),j&&e("div",{class:"app-version"},e("ic-typography",{variant:"label",class:"app-version-text","aria-label":"app version"},B))),(v||T)&&e("div",{class:"search-menu-container"},e("div",{class:"search-actions-container"},!R&&e("slot",{name:"search"}),v&&R&&e("ic-button",{id:"search-toggle-button",ref:t=>this.mobileSearchButtonEl=t,onMouseDown:H,variant:"icon",size:N,"aria-label":$,appearance:h,onClick:z},e("slot",{name:"toggle-icon"},e("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"#ffffff"},e("path",{d:"M0 0h24v24H0V0z",fill:"none"}),e("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})))),m&&!R&&e("div",{class:"icon-buttons-container"},e("slot",{name:"buttons"})),T&&R&&e("div",{class:"menu-button-container"},e("span",{id:"navigation-landmark-button-text",class:"navigation-landmark-button-text","aria-hidden":"true"},"Main navigation button"),e("nav",{"aria-labelledby":"navigation-landmark-button-text","aria-hidden":`${y}`},e("ic-button",{id:"menu-button",appearance:h,variant:"secondary","aria-expanded":"false","aria-haspopup":"true","aria-label":`Open ${g?"navigation":"app"} menu`,size:A,onClick:w},"Menu",e("svg",{xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#ffffff",slot:"icon"},e("path",{d:"M0 0h24v24H0V0z",fill:"none"}),e("path",{d:"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"})))))))),k&&e("div",{class:"search-bar-container"},e("slot",{name:"search"})),g&&!R&&e("div",{class:"navigation-tabs"},e("span",{id:"navigation-landmark-text",class:"navigation-landmark-text","aria-hidden":"true"},"Main pages"),e("nav",{"aria-labelledby":"navigation-landmark-text",class:"nav-panel-container"},e("ic-horizontal-scroll",{appearance:h},e("ul",{class:"navigation-item-list",tabindex:"-1"},e("slot",{name:"navigation"})))))))),y&&e("ic-navigation-menu",{version:B,status:C,class:{["inline"]:x}},m&&e("div",{class:"menu-buttons-slot",slot:"buttons"},e("slot",{name:"buttons"})),e("ul",{slot:"navigation"},e("slot",{name:"navigation"}))))}get el(){return n(this)}static get watchers(){return{appTitle:["watchPropHandler"]}}};v.style=g;export{v as ic_top_navigation};
2
- //# sourceMappingURL=p-a646c117.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icTopNavigationCss","TopNavigation","this","hasAppIcon","hasIconButtons","hasNavigation","hasSearchSlotContent","resizeObserver","searchBar","checkSlots","isSlotUsed","el","initialiseSearchBar","slot","getSlot","tagName","querySelector","hideLabel","menuButtonClick","showNavMenu","searchButtonMouseDownHandler","searchButtonClick","searchButtonClickHandler","toggleSearchBar","resizeObserverCallback","currSize","deviceSize","customMobileBreakpoint","mobileSearchBarVisible","topNavResized","emit","size","document","activeElement","setAttribute","removeAttribute","setTimeout","focus","runResizeObserver","ResizeObserver","getCurrentDeviceSize","observe","DEVICE_SIZES","XL","getThemeForegroundColor","L","watchPropHandler","newValue","oldValue","onComponentPropUndefinedChange","disconnectedCallback","_a","disconnect","componentWillLoad","componentDidLoad","checkResizeObserver","onComponentRequiredPropUndefined","prop","appTitle","propName","componentWillRender","navBarMenuCloseHandler","shadowRoot","searchInputBlurHandler","detail","searchValue","value","searchValueChangeHandler","themeChangeHandler","foregroundColor","mode","mobileSearchButtonEl","hasFullWidthSearchBar","fullWidth","show","navMenuVisible","icNavigationMenuOpened","icNavigationMenuClosed","body","style","height","overflow","render","contentAligned","href","inline","shortAppTitle","status","version","hasStatus","hasVersion","hasMenuContent","searchButtonSize","S","hasTitle","isPropDefined","overMobileBreakpoint","appTitleVariant","mobileSearchButtonTitle","menuSize","shortAppTitleSlot","hasAppTitleSlot","Component","attrs","h","Host","class","IcThemeForegroundEnum","Dark","aligned","role","Object","assign","name","isEmptyString","variant","id","ref","onMouseDown","appearance","onClick","xmlns","viewBox","fill","d","width","tabindex"],"sources":["src/components/ic-top-navigation/ic-top-navigation.css?tag=ic-top-navigation&encapsulation=shadow","src/components/ic-top-navigation/ic-top-navigation.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n color: var(--ic-theme-text);\n width: 100%;\n position: relative;\n}\n\n:host .top-navigation {\n background-color: var(--ic-theme-primary);\n height: max-content;\n}\n\n:host(.fullwidth-searchbar) slot[name=\"search\"]::slotted(form) {\n width: 100%;\n}\n\n:host .title-link {\n display: inline-flex;\n align-items: center;\n text-decoration: none;\n padding: var(--ic-space-xxs);\n transition: var(--ic-easing-transition-fast);\n}\n\n:host .title-link,\n:host .title-link:visited,\n:host .title-link:active,\n:host .title-link ::slotted(a),\n:host .title-link:visited ::slotted(a),\n:host .title-link:active ::slotted(a) {\n color: var(--ic-theme-text);\n text-decoration: none;\n outline: none;\n}\n\n:host .title-link:hover:not(:focus) {\n background-color: var(--ic-theme-hover);\n}\n\n:host .title-link:active:not(:focus) {\n background-color: var(--ic-theme-active);\n}\n\n:host .title-link:hover {\n border-radius: var(--ic-border-radius);\n}\n\n:host .title-link:focus,\n:host .title-link:focus-within {\n border-radius: var(--ic-border-radius);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host .title-link ic-typography {\n font-weight: 600;\n}\n\n:host .nav-panel-container {\n border-top: var(--ic-keyline-lighten);\n padding: 0 var(--ic-space-lg);\n margin-left: calc(-1 * var(--section-container-margin));\n margin-right: calc(-1 * var(--section-container-margin));\n display: flex;\n}\n\n:host(.dark) .nav-panel-container {\n border-top: var(--ic-keyline-darken);\n}\n\n.top-panel-container {\n display: flex;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navigation-tabs {\n margin-top: calc(-1 * var(--ic-space-1px));\n}\n\n.app-details-container {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n margin-right: var(--ic-space-md);\n}\n\n.app-icon-container {\n display: flex;\n padding-right: var(--ic-space-xs);\n}\n\n.icon-buttons-container {\n display: flex;\n margin-left: var(--ic-space-md);\n}\n\n.icon-buttons-container ::slotted(nav) {\n display: flex;\n}\n\n.title-wrap {\n overflow-wrap: break-word;\n word-wrap: break-word;\n -ms-word-break: break-all;\n word-break: break-word;\n hyphens: auto;\n}\n\n:host .app-status {\n border-radius: var(--ic-space-md);\n background-color: var(--ic-architectural-white);\n color: var(--ic-color-primary-text);\n padding: var(--ic-space-xxs) var(--ic-space-lg);\n margin-left: var(--ic-space-md);\n flex: 1 1 0;\n max-width: fit-content;\n}\n\n:host(.dark) .app-status {\n background-color: var(--ic-theme-text);\n color: var(--ic-color-white-text);\n}\n\n:host .app-version {\n border-radius: var(--ic-space-md);\n background-color: var(--ic-theme-active);\n padding: var(--ic-space-xxs) var(--ic-space-sm);\n margin-left: var(--ic-space-xs);\n flex: 1 1 0;\n max-width: fit-content;\n}\n\nslot[name=\"app-icon\"]::slotted(*) {\n fill: var(--ic-theme-text);\n width: 2em;\n height: 2em;\n}\n\nslot[name=\"toggle-icon\"] svg {\n fill: var(--ic-theme-text);\n}\n\n.search-menu-container {\n justify-content: right;\n display: flex;\n align-items: center;\n}\n\n.menu-button-container {\n margin-left: var(--ic-space-md);\n}\n\n.menu-button-container .navigation-landmark-button-text {\n position: absolute;\n left: -10000px;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n}\n\n.search-actions-container {\n display: flex;\n}\n\n.menu-buttons-slot {\n display: flex;\n flex-direction: column;\n}\n\n.navigation-landmark-text {\n position: absolute;\n width: var(--ic-space-1px);\n height: var(--ic-space-1px);\n padding: 0;\n margin: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n}\n\n.navigation-item-list {\n display: flex;\n list-style: none;\n height: 2.75rem;\n}\n\n.navigation-item-list::-webkit-scrollbar {\n display: none;\n}\n\n:host ic-section-container {\n padding-bottom: 0 !important;\n padding-top: 0 !important;\n}\n\n@media screen and (min-width: 993px) {\n .app-details-container {\n margin-right: var(--ic-space-lg);\n }\n}\n\n/* large */\n@media screen and (max-width: 1200px) {\n :host .nav-panel-container {\n padding: 0 var(--ic-space-md);\n }\n}\n\n/** Mobile styling **/\n:host(.mobile-mode) .app-status,\n:host(.mobile-mode) .app-version {\n display: none;\n}\n\n:host(.mobile-mode) .title-link {\n margin-right: var(--ic-space-xs);\n}\n\n:host(.mobile-mode) .search-menu-container {\n max-width: 10rem;\n}\n\n:host(.mobile-mode) .search-bar-container {\n display: flex;\n justify-content: center;\n align-items: center;\n border-top: var(--ic-keyline-darken);\n height: 4rem;\n padding-left: var(--ic-space-md);\n padding-right: var(--ic-space-md);\n margin-left: calc(-1 * var(--section-container-margin));\n margin-right: calc(-1 * var(--section-container-margin));\n}\n\n/* x small */\n@media screen and (max-width: 576px) {\n :host .title-link {\n margin-right: var(--ic-space-xxxs);\n word-break: break-word;\n hyphens: none;\n }\n\n .top-panel-container {\n min-height: 2.5rem;\n }\n\n .search-bar-container {\n margin-top: 0;\n height: 3.5rem;\n padding-left: var(--ic-space-xs);\n padding-right: var(--ic-space-xs);\n }\n\n .menu-button-container {\n margin-left: var(--ic-space-sm);\n }\n\n slot[name=\"app-icon\"]::slotted(*) {\n width: 1.5em;\n height: 1.5em;\n }\n\n slot[name=\"toggle-icon\"] svg {\n width: 1.5em;\n height: 1.5em;\n }\n}\n\n@media (forced-colors: active) {\n :host .top-navigation {\n border-bottom: var(--ic-hc-border);\n }\n\n .app-status,\n .app-version {\n border: var(--ic-hc-border);\n }\n\n slot[name=\"app-icon\"]::slotted(*) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n State,\n Listen,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\n\nimport {\n IcTypographyVariants,\n IcAlignment,\n IcThemeForeground,\n IcThemeForegroundEnum,\n IcTheme,\n IcDeviceSizes,\n IcValueEventDetail,\n} from \"../../utils/types\";\nimport {\n checkResizeObserver,\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getThemeForegroundColor,\n getSlot,\n onComponentPropUndefinedChange,\n onComponentRequiredPropUndefined,\n isSlotUsed,\n isEmptyString,\n isPropDefined,\n} from \"../../utils/helpers\";\nimport { IcSearchBarBlurEventDetail } from \"../ic-search-bar/ic-search-bar.types\";\n\n/**\n * @slot app-icon - Content will be rendered to left of app title. Anything that is slotted here will be hidden from screen readers.\n * @slot app-title - Handle routing by nesting a route in the app title.\n * @slot short-app-title - Handle routing by nesting a route in the short app title (to be displayed in place of app title on small screen sizes).\n * @slot search - Content will be rendered in search area to left of buttons.\n * @slot toggle-icon - Icon to be displayed on the button to toggle search slot content on smaller devices\n * @slot navigation - Content will be rendered in navigation panel.\n * @slot buttons - Content will be rendered to right of search bar.\n */\n@Component({\n tag: \"ic-top-navigation\",\n styleUrl: \"ic-top-navigation.css\",\n shadow: true,\n})\nexport class TopNavigation {\n private hasAppIcon: boolean = false;\n private hasIconButtons: boolean = false;\n private hasNavigation: boolean = false;\n private hasSearchSlotContent: boolean = false;\n private mobileSearchButtonEl: HTMLIcButtonElement;\n private resizeObserver: ResizeObserver = null;\n private searchBar: HTMLIcSearchBarElement = null;\n\n @Element() el: HTMLIcTopNavigationElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() foregroundColor: IcThemeForeground = getThemeForegroundColor();\n @State() hasFullWidthSearchBar: boolean = false;\n @State() mobileSearchBarVisible: boolean = false;\n @State() mobileSearchHiddenOnBlur: boolean = false;\n @State() navMenuVisible: boolean = false;\n @State() searchButtonClick: boolean = false;\n @State() searchValue: string = \"\";\n\n /**\n * The alignment of the top navigation content.\n */\n @Prop() contentAligned: IcAlignment = \"full-width\";\n /**\n * Can set a custom breakpoint for the top navigation to switch to mobile mode.\n * Must be one of our specified breakpoints in px: `0`, `576`, `768`, `992`, `1200`.\n */\n @Prop() customMobileBreakpoint: IcDeviceSizes = DEVICE_SIZES.L;\n /**\n * The URL to navigate to when the app title is clicked.\n */\n @Prop() href: string = \"/\";\n\n /**\n * If `true`, the flyout navigation menu on small devices will be contained by the parent element.\n */\n @Prop() inline: boolean = false;\n\n /**\n * The short title of the app to be displayed at small screen sizes in place of the app title.\n */\n @Prop() shortAppTitle: string = \"\";\n\n /**\n * The status info to be displayed.\n */\n @Prop() status: string = \"\";\n\n /**\n * The version info to be displayed.\n */\n @Prop() version: string = \"\";\n\n /**\n * The app title to be displayed. This is required, unless a slotted app title link is used.\n */\n @Prop() appTitle: string;\n\n @Watch(\"appTitle\")\n watchPropHandler(newValue: string, oldValue: string): void {\n //added for Gatsby rehydration issue where prop is initially undefined but then changes to actual value\n //this watch can be removed once Gatsby hydration issue is resolved\n onComponentPropUndefinedChange(\n oldValue,\n newValue,\n this.initialiseSearchBar\n );\n }\n\n /**\n * @internal - Emitted when the menu is closed.\n */\n @Event() icNavigationMenuClosed: EventEmitter<void>;\n\n /**\n * @internal - Emitted when the menu is opened.\n */\n @Event() icNavigationMenuOpened: EventEmitter<void>;\n\n /**\n * Emitted when the top navigation is resized.\n */\n @Event() topNavResized: EventEmitter<{ size: number }>;\n\n disconnectedCallback(): void {\n this.resizeObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.checkSlots();\n this.deviceSize = getCurrentDeviceSize();\n this.initialiseSearchBar();\n }\n\n componentDidLoad(): void {\n checkResizeObserver(this.runResizeObserver);\n !isSlotUsed(this.el, \"app-title\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.appTitle, propName: \"app-title\" }],\n \"Top Navigation\"\n );\n }\n\n componentWillRender(): void {\n this.checkSlots();\n }\n\n @Listen(\"icNavigationMenuClose\", {})\n navBarMenuCloseHandler(): void {\n this.showNavMenu(false);\n this.el.shadowRoot.querySelector<HTMLElement>(\"#menu-button\").focus();\n }\n\n @Listen(\"icSearchBarBlur\", {})\n searchInputBlurHandler({\n detail,\n }: CustomEvent<IcSearchBarBlurEventDetail>): void {\n if (detail !== null) {\n if (this.mobileSearchBarVisible && !this.searchButtonClick) {\n //don't hide if blur was triggered by click on search button - let the click handler toggle the state\n this.toggleSearchBar();\n }\n this.searchValue = detail.value;\n }\n }\n\n @Listen(\"icChange\", {})\n searchValueChangeHandler({ detail }: CustomEvent<IcValueEventDetail>): void {\n this.searchValue = detail.value;\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler({ detail }: CustomEvent<IcTheme>): void {\n this.foregroundColor = detail.mode;\n }\n\n private checkSlots = () => {\n this.hasAppIcon = isSlotUsed(this.el, \"app-icon\");\n this.hasNavigation = isSlotUsed(this.el, \"navigation\");\n this.hasIconButtons = isSlotUsed(this.el, \"buttons\");\n this.hasSearchSlotContent = isSlotUsed(this.el, \"search\");\n };\n\n private initialiseSearchBar = () => {\n if (this.hasSearchSlotContent) {\n const slot = getSlot(this.el, \"search\");\n if (slot?.tagName === \"IC-SEARCH-BAR\") {\n this.searchBar = slot as HTMLIcSearchBarElement;\n } else if (slot?.tagName === \"FORM\") {\n this.searchBar = slot.querySelector(\"ic-search-bar\");\n }\n\n if (this.searchBar !== null) {\n this.searchBar.hideLabel = true;\n }\n }\n };\n\n private toggleSearchBar(): void {\n this.mobileSearchBarVisible = !this.mobileSearchBarVisible;\n\n if (this.searchBar !== null) {\n this.mobileSearchButtonEl.setAttribute(\n \"aria-label\",\n `${this.mobileSearchBarVisible ? \"Hide\" : \"Show\"} search`\n );\n this.hasFullWidthSearchBar = this.mobileSearchBarVisible;\n this.searchBar.fullWidth = this.mobileSearchBarVisible;\n if (this.mobileSearchBarVisible) {\n setTimeout(() => {\n this.searchBar.focus();\n }, 100);\n }\n }\n }\n\n private menuButtonClick = () => {\n this.showNavMenu(true);\n };\n\n private showNavMenu(show: boolean): void {\n this.navMenuVisible = show;\n (show ? this.icNavigationMenuOpened : this.icNavigationMenuClosed).emit();\n document.body.style.height = show ? \"100%\" : \"auto\";\n document.body.style.overflow = show ? \"hidden\" : \"auto\";\n }\n\n private searchButtonMouseDownHandler = () => {\n this.searchButtonClick = true;\n };\n\n private searchButtonClickHandler = () => {\n this.toggleSearchBar();\n this.searchButtonClick = false;\n };\n\n private resizeObserverCallback = (currSize: number) => {\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n if (currSize > this.customMobileBreakpoint) {\n this.showNavMenu(false);\n if (this.mobileSearchBarVisible) {\n this.toggleSearchBar();\n }\n }\n this.topNavResized.emit({\n size: currSize,\n });\n if (this.searchBar && document.activeElement === this.searchBar) {\n this.searchBar.setAttribute(\"hidden\", \"true\");\n //remove attribute again as this trigger a redraw & applies css\n this.searchBar.removeAttribute(\"hidden\");\n setTimeout(() => {\n this.searchBar.focus();\n }, 100);\n }\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback(getCurrentDeviceSize());\n });\n\n this.resizeObserver.observe(this.el);\n };\n\n render() {\n const {\n appTitle,\n contentAligned,\n customMobileBreakpoint,\n deviceSize,\n el,\n foregroundColor,\n hasAppIcon,\n hasFullWidthSearchBar,\n hasIconButtons,\n hasNavigation,\n hasSearchSlotContent,\n href,\n inline,\n menuButtonClick,\n mobileSearchBarVisible,\n navMenuVisible,\n searchButtonClickHandler,\n searchButtonMouseDownHandler,\n shortAppTitle,\n status,\n version,\n } = this;\n\n const hasStatus = status !== \"\";\n const hasVersion = version !== \"\";\n const hasMenuContent =\n hasNavigation || hasIconButtons || hasStatus || hasVersion;\n\n const searchButtonSize = deviceSize <= DEVICE_SIZES.S ? \"default\" : \"large\";\n const hasTitle = appTitle !== \"\" && isPropDefined(appTitle);\n const overMobileBreakpoint = deviceSize <= customMobileBreakpoint;\n\n const appTitleVariant: IcTypographyVariants = overMobileBreakpoint\n ? deviceSize <= DEVICE_SIZES.S\n ? \"subtitle-small\"\n : \"h4\"\n : \"h3\";\n\n const mobileSearchButtonTitle = `${\n mobileSearchBarVisible ? \"Hide\" : \"Show\"\n } search`;\n const menuSize = deviceSize <= DEVICE_SIZES.S ? \"small\" : \"default\";\n\n const shortAppTitleSlot = isSlotUsed(el, \"short-app-title\");\n const hasAppTitleSlot = isSlotUsed(el, \"app-title\");\n const Component = hasAppTitleSlot ? \"div\" : \"a\";\n const attrs = Component == \"a\" && {\n href: href,\n };\n\n return (\n <Host\n class={{\n \"fullwidth-searchbar\": hasFullWidthSearchBar,\n \"mobile-mode\": overMobileBreakpoint,\n [IcThemeForegroundEnum.Dark]:\n foregroundColor === IcThemeForegroundEnum.Dark,\n }}\n >\n <div class=\"top-navigation\">\n <ic-section-container aligned={contentAligned} full-height>\n <header role=\"banner\">\n <div class=\"top-panel-container\">\n <div class=\"app-details-container\">\n {(hasTitle || hasAppTitleSlot) && (\n <Component class=\"title-link\" {...attrs}>\n {hasAppIcon && (\n <div class=\"app-icon-container\">\n <slot name=\"app-icon\" />\n </div>\n )}\n {deviceSize <= DEVICE_SIZES.S &&\n (!isEmptyString(shortAppTitle) || shortAppTitleSlot) ? (\n <ic-typography\n variant=\"subtitle-small\"\n aria-label={\n (!hasAppTitleSlot || !shortAppTitleSlot) &&\n `${appTitle} (${shortAppTitle})`\n }\n >\n <h1>\n {shortAppTitleSlot ? (\n <slot name=\"short-app-title\"></slot>\n ) : (\n shortAppTitle\n )}\n </h1>\n </ic-typography>\n ) : (\n <ic-typography variant={appTitleVariant}>\n <h1 class=\"title-wrap\">\n {hasAppTitleSlot ? (\n <slot name=\"app-title\"></slot>\n ) : (\n appTitle\n )}\n </h1>\n </ic-typography>\n )}\n </Component>\n )}\n {hasStatus && (\n <div class=\"app-status\">\n <ic-typography\n aria-label=\"app tag\"\n variant=\"label-uppercase\"\n class=\"app-status-text\"\n >\n {status}\n </ic-typography>\n </div>\n )}\n {hasVersion && (\n <div class=\"app-version\">\n <ic-typography\n variant=\"label\"\n class=\"app-version-text\"\n aria-label=\"app version\"\n >\n {version}\n </ic-typography>\n </div>\n )}\n </div>\n\n {(hasSearchSlotContent || hasMenuContent) && (\n <div class=\"search-menu-container\">\n <div class=\"search-actions-container\">\n {!overMobileBreakpoint && <slot name=\"search\"></slot>}\n\n {hasSearchSlotContent && overMobileBreakpoint && (\n <ic-button\n id=\"search-toggle-button\"\n ref={(el) => (this.mobileSearchButtonEl = el)}\n onMouseDown={searchButtonMouseDownHandler}\n variant=\"icon\"\n size={searchButtonSize}\n aria-label={mobileSearchButtonTitle}\n appearance={foregroundColor}\n onClick={searchButtonClickHandler}\n >\n <slot name=\"toggle-icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"#ffffff\"\n >\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\" />\n </svg>\n </slot>\n </ic-button>\n )}\n\n {hasIconButtons && !overMobileBreakpoint && (\n <div class=\"icon-buttons-container\">\n <slot name=\"buttons\"></slot>\n </div>\n )}\n {hasMenuContent && overMobileBreakpoint && (\n <div class=\"menu-button-container\">\n <span\n id=\"navigation-landmark-button-text\"\n class=\"navigation-landmark-button-text\"\n aria-hidden=\"true\"\n >\n Main navigation button\n </span>\n <nav\n aria-labelledby=\"navigation-landmark-button-text\"\n aria-hidden={`${navMenuVisible}`}\n >\n <ic-button\n id=\"menu-button\"\n appearance={foregroundColor}\n variant=\"secondary\"\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n aria-label={`Open ${\n hasNavigation ? \"navigation\" : \"app\"\n } menu`}\n size={menuSize}\n onClick={menuButtonClick}\n >\n Menu\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"#ffffff\"\n slot=\"icon\"\n >\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z\" />\n </svg>\n </ic-button>\n </nav>\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n\n {mobileSearchBarVisible && (\n <div class=\"search-bar-container\">\n <slot name=\"search\"></slot>\n </div>\n )}\n\n {hasNavigation && !overMobileBreakpoint && (\n <div class=\"navigation-tabs\">\n <span\n id=\"navigation-landmark-text\"\n class=\"navigation-landmark-text\"\n aria-hidden=\"true\"\n >\n Main pages\n </span>\n <nav\n aria-labelledby=\"navigation-landmark-text\"\n class=\"nav-panel-container\"\n >\n <ic-horizontal-scroll appearance={foregroundColor}>\n <ul class=\"navigation-item-list\" tabindex=\"-1\">\n <slot name=\"navigation\"></slot>\n </ul>\n </ic-horizontal-scroll>\n </nav>\n </div>\n )}\n </header>\n </ic-section-container>\n </div>\n {navMenuVisible && (\n <ic-navigation-menu\n version={version}\n status={status}\n class={{\n [\"inline\"]: inline,\n }}\n >\n {hasIconButtons && (\n <div class=\"menu-buttons-slot\" slot=\"buttons\">\n <slot name=\"buttons\"></slot>\n </div>\n )}\n <ul slot=\"navigation\">\n <slot name=\"navigation\"></slot>\n </ul>\n </ic-navigation-menu>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icTabPanelCss","TabPanel","connectedCallback","this","tabPanelCreated","emit","el","disconnectedCallback","tabContext","document","querySelector","contextId","tabRemovedHandler","render","panelId","selectedTab","appearance","h","Host","class","IcThemeForegroundEnum","Light","role","hidden","isPropDefined"],"sources":["src/components/ic-tab-panel/ic-tab-panel.css?tag=ic-tab-panel&encapsulation=shadow","src/components/ic-tab-panel/ic-tab-panel.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host:not[hidden] {\n display: block;\n}\n\n:host(.ic-tab-panel-light) {\n color: white;\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n h,\n} from \"@stencil/core\";\nimport {\n IcThemeForegroundEnum,\n IcThemeForegroundNoDefault,\n} from \"../../utils/types\";\nimport { isPropDefined } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-tab-panel\",\n styleUrl: \"ic-tab-panel.css\",\n shadow: true,\n})\nexport class TabPanel {\n @Element() el: HTMLIcTabPanelElement;\n\n /**\n * @internal The appearance of the tabs, e.g dark, or light.\n */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n\n /**\n * @deprecated This is no longer required.\n * The context id is passed down from `ic-tab-context`\n */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /**\n * @internal The shared ID that links the panel and tab.\n */\n @Prop({ reflect: true }) panelId?: string;\n\n /**\n * @internal The shared ID of the currently selected tab.\n */\n @Prop() selectedTab?: string;\n\n /**\n * @internal The position of the tab panel inside the tabs array in context.\n */\n @Prop({ reflect: true }) tabPosition?: number;\n\n /**\n * @internal Emitted when a tab panel is dynamically created.\n */\n @Event() tabPanelCreated: EventEmitter<HTMLIcTabPanelElement>;\n\n /**\n * @internal Emitted when a tab panel is unmounted.\n */\n @Event() tabPanelRemoved: EventEmitter<void>;\n\n connectedCallback(): void {\n this.tabPanelCreated.emit(this.el);\n }\n\n disconnectedCallback(): void {\n const tabContext = document.querySelector(\n `ic-tab-context[context-id=${this.contextId}]`\n ) as HTMLIcTabContextElement;\n if (tabContext) {\n tabContext.tabRemovedHandler();\n }\n }\n\n render() {\n const { panelId, selectedTab, appearance } = this;\n return (\n <Host\n class={{\n [\"ic-tab-panel-light\"]: appearance === IcThemeForegroundEnum.Light,\n }}\n role=\"tabpanel\"\n hidden={\n isPropDefined(panelId) && isPropDefined(selectedTab)\n ? !(panelId === selectedTab)\n : true\n }\n >\n <div>\n <slot></slot>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"wIAAA,MAAMA,EAAgB,26E,MCoBTC,EAAQ,M,2IAM+B,O,eAMJ,U,6EA2B9C,iBAAAC,GACEC,KAAKC,gBAAgBC,KAAKF,KAAKG,G,CAGjC,oBAAAC,GACE,MAAMC,EAAaC,SAASC,cAC1B,6BAA6BP,KAAKQ,cAEpC,GAAIH,EAAY,CACdA,EAAWI,mB,EAIf,MAAAC,GACE,MAAMC,QAAEA,EAAOC,YAAEA,EAAWC,WAAEA,GAAeb,KAC7C,OACEc,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,sBAAuBH,IAAeI,EAAsBC,OAE/DC,KAAK,WACLC,OACEC,EAAcV,IAAYU,EAAcT,KAClCD,IAAYC,GACd,MAGNE,EAAA,WACEA,EAAA,c"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as i,H as o,g as s}from"./p-6b5e91e2.js";const n='/*! 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}:root{display:block}:host{display:flex;flex-direction:row;width:-moz-fit-content;width:fit-content;min-width:-moz-min-content;min-width:min-content;border:var(--ic-border-width) solid var(--ic-action-default);border-radius:var(--ic-border-radius)}:host(.full-width){width:100%;max-width:100%}:host(.loading){min-width:-moz-max-content;min-width:max-content}:host(:focus){box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);transition:var(--ic-transition-duration-fast);outline:none}::slotted(ic-toggle-button){flex-grow:1;width:-moz-min-content;width:min-content;--toggle-button-border:none}::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-width) solid var(--ic-action-default)}:host(.disabled){border:var(--ic-border-disabled);pointer-events:none}:host(.disabled) ::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-disabled)}:host(.dark){border:var(--ic-border-width) solid var(--ic-action-dark)}:host(.dark) ::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-width) solid var(--ic-action-dark)}:host(.light) ::slotted(ic-toggle-button:not(:last-of-type)){border-right:var(--ic-border-width) solid var(--ic-action-light)}:host(.light){border:var(--ic-border-width) solid var(--ic-action-light)}';const r="IC-TOGGLE-BUTTON-GROUP";const a=class{constructor(i){t(this,i);this.icChange=e(this,"icChange",7);this.keyListener=t=>{this.lastKeyPressed={key:t.key,shift:t.shiftKey}};this.setSlottedAria=t=>{const e=t.shadowRoot.querySelector("ic-button").shadowRoot.querySelector("button");let i=e.getAttribute("aria-label");i+=", ";i+=this.accessibleLabel;e.setAttribute("aria-label",i)};this.handleHostFocus=t=>{if(this.loading||this.disabled){return null}const e=t.target;const i=t.relatedTarget;const o=Array.from(e.querySelectorAll("ic-toggle-button"));if((o.every((t=>!t.toggleChecked))||this.selectType!=="single")&&this.lastKeyPressed.shift===false||o.every((t=>!t.toggleChecked))&&this.lastKeyPressed.shift===true&&i.tagName==r){o[0].focus()}else if(this.lastKeyPressed.shift===false||this.lastKeyPressed.shift===true&&i.tagName==r){const t=o.filter((t=>t.toggleChecked));t[0].focus()}};this.handleKeyDown=t=>{const e=this.getAllToggleButtons();const i=e.indexOf(e.filter((t=>t===document.activeElement))[0]);switch(t.key){case"ArrowDown":case"ArrowRight":this.selectMethod==="auto"?this.proxySelectHandler(e[this.getNextItemToSelect(i,true)]):e[this.getNextItemToSelect(i,true)].focus();break;case"ArrowUp":case"ArrowLeft":this.selectMethod==="auto"?this.proxySelectHandler(e[this.getNextItemToSelect(i,false)]):e[this.getNextItemToSelect(i,false)].focus();break}};this.getNextItemToSelect=(t,e)=>{const i=this.getAllToggleButtons();const o=i.length-1;if(t<1){t=0}let s=e?t+1:t-1;if(s<0){s=o}else if(s>o){s=0}if(i[s].disabled){s=this.getNextItemToSelect(s,e)}return s};this.lastKeyPressed={key:null,shift:false};this.accessibleLabel="Toggle button group";this.appearance="default";this.disabled=false;this.fullWidth=false;this.iconPlacement=undefined;this.loading=false;this.selectMethod="manual";this.selectType="single";this.size="default";this.variant="default"}selectHandler(t,e){const i=this.getAllToggleButtons();let o=t.target;e&&e.focus();if(this.selectType==="single"){if(!o){o=e}i.forEach((t=>{if(t.id!==o.id&&t.toggleChecked){t.toggleChecked=false}}));this.icChange.emit({toggleChecked:t.detail.toggleChecked,selectedOption:o})}else{const t=this.getAllToggleButtons().filter((t=>t.toggleChecked&&!t.disabled));this.icChange.emit({toggleChecked:t.map((t=>t.toggleChecked)),toggledOptions:t.map((t=>({toggleButton:t}))),selectedOption:o})}}componentWillLoad(){this.selectType==="multi"&&(this.selectMethod="manual");document.addEventListener("keydown",this.keyListener)}componentDidLoad(){this.getAllToggleButtons().forEach(((t,e)=>{this.setSlottedAria(t);t.size=this.size;t.loading=this.loading;t.iconPlacement=this.iconPlacement;t.disabled?null:t.disabled=this.disabled;t.appearance=this.appearance;t.variant=this.variant;t.fullWidth=this.fullWidth;t.id=e.toString();t.tabIndex=-1;t.addEventListener("keydown",(t=>{this.handleKeyDown(t)}));t.classList.add("expand-toggle-group-child")}))}disconnectedCallback(){document.removeEventListener("keydown",this.keyListener)}proxySelectHandler(t){t.toggleChecked=true;const e=new CustomEvent("icToggleChecked",{detail:{toggleChecked:t.toggleChecked}});this.selectHandler(e,t)}getAllToggleButtons(){return Array.from(this.el.querySelectorAll("ic-toggle-button"))}render(){return i(o,{role:"group","aria-label":this.accessibleLabel,"aria-disabled":this.disabled?"true":"false",tabindex:0,class:{["full-width"]:this.fullWidth,["loading"]:this.loading,["disabled"]:this.disabled,[`${this.appearance}`]:true},onFocus:this.handleHostFocus},i("slot",null))}get el(){return s(this)}};a.style=n;export{a as ic_toggle_button_group};
2
- //# sourceMappingURL=p-b47021d8.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icToggleButtonGroupCss","TOGGLE_GROUP","ToggleButtonGroup","this","keyListener","ev","lastKeyPressed","key","shift","shiftKey","setSlottedAria","el","btn","shadowRoot","querySelector","aria","getAttribute","accessibleLabel","setAttribute","handleHostFocus","loading","disabled","target","relEl","relatedTarget","toggleButtons","Array","from","querySelectorAll","every","toggleChecked","selectType","tagName","focus","toggledButton","filter","handleKeyDown","event","toggleButtonOptions","getAllToggleButtons","focussedChild","indexOf","document","activeElement","selectMethod","proxySelectHandler","getNextItemToSelect","currentItem","movingDown","numToggles","length","nextItem","selectHandler","tabTarget","allToggles","clickedToggle","forEach","id","icChange","emit","detail","selectedOption","toggledOptions","map","opt","toggleButton","componentWillLoad","addEventListener","componentDidLoad","i","size","iconPlacement","appearance","variant","fullWidth","toString","tabIndex","classList","add","disconnectedCallback","removeEventListener","toggle","customEv","CustomEvent","render","h","Host","role","tabindex","class","onFocus"],"sources":["src/components/ic-toggle-button-group/ic-toggle-button-group.css?tag=ic-toggle-button-group&encapsulation=shadow","src/components/ic-toggle-button-group/ic-toggle-button-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/* PARENT HOST */\n\n:root {\n display: block;\n}\n\n:host {\n display: flex;\n flex-direction: row;\n width: fit-content;\n min-width: min-content;\n border: var(--ic-border-width) solid var(--ic-action-default);\n border-radius: var(--ic-border-radius);\n}\n\n:host(.full-width) {\n width: 100%;\n max-width: 100%;\n}\n\n:host(.loading) {\n min-width: max-content;\n}\n\n:host(:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n transition: var(--ic-transition-duration-fast);\n outline: none;\n}\n\n/* CHILDREN SLOTTED */\n\n::slotted(ic-toggle-button) {\n flex-grow: 1;\n width: min-content;\n\n --toggle-button-border: none;\n}\n\n::slotted(ic-toggle-button:not(:last-of-type)) {\n border-right: var(--ic-border-width) solid var(--ic-action-default);\n}\n\n/* DISABLED */\n:host(.disabled) {\n border: var(--ic-border-disabled);\n pointer-events: none;\n}\n\n:host(.disabled) ::slotted(ic-toggle-button:not(:last-of-type)) {\n border-right: var(--ic-border-disabled);\n}\n\n/* DARK */\n:host(.dark) {\n border: var(--ic-border-width) solid var(--ic-action-dark);\n}\n\n:host(.dark) ::slotted(ic-toggle-button:not(:last-of-type)) {\n border-right: var(--ic-border-width) solid var(--ic-action-dark);\n}\n\n/* LIGHT */\n:host(.light) ::slotted(ic-toggle-button:not(:last-of-type)) {\n border-right: var(--ic-border-width) solid var(--ic-action-light);\n}\n\n:host(.light) {\n border: var(--ic-border-width) solid var(--ic-action-light);\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Listen,\n Element,\n Event,\n EventEmitter,\n State,\n} from \"@stencil/core\";\nimport {\n IcSizes,\n IcThemeForeground,\n IcSelectTypes,\n IcSelectMethodTypes,\n} from \"../../utils/types\";\nimport { IcChangeEventDetail } from \"./ic-toggle-button-group.types\";\n\ninterface lastKey {\n key: string | null;\n shift: boolean;\n}\n\nconst TOGGLE_GROUP = \"IC-TOGGLE-BUTTON-GROUP\";\n\n@Component({\n tag: \"ic-toggle-button-group\",\n styleUrl: \"ic-toggle-button-group.css\",\n shadow: true,\n})\nexport class ToggleButtonGroup {\n @Element() el: HTMLIcToggleButtonGroupElement;\n\n @State() lastKeyPressed: lastKey = {\n key: null,\n shift: false,\n };\n\n /**\n * The accessible label of the toggle button group component to provide context for screen reader users.\n */\n @Prop() accessibleLabel?: string = \"Toggle button group\";\n\n /**\n * The appearance of the toggle button group, e.g dark, or light.\n */\n @Prop() appearance: IcThemeForeground = \"default\";\n\n /**\n * If `true`, the toggle button group will be set to the disabled state.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * If `true`, the toggle button group will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * The placement of the icons in relation to the toggle button labels.\n */\n @Prop() iconPlacement?: \"left\" | \"right\" | \"top\";\n\n /**\n * If `true`, the toggle button group will be in loading state.\n */\n @Prop() loading?: boolean = false;\n\n /**\n * If `auto`, controls are toggled automatically when navigated to. If `manual`, the controls must be actioned to change their toggled state. The value of this prop is ignored if `selectType` is set to`multi`.\n */\n @Prop({ mutable: true }) selectMethod?: IcSelectMethodTypes = \"manual\";\n\n /**\n * Sets whether single or multiple options can be toggled. If `multi`, then the `selectMethod` is always `manual`.\n */\n @Prop() selectType?: IcSelectTypes = \"single\";\n\n /**\n * The size of the toggle buttons to be displayed. This does not affect the font size of the accessible label.\n */\n @Prop() size?: IcSizes = \"default\";\n\n /**\n * The variant of the toggle button.\n */\n @Prop({ reflect: true }) variant: \"default\" | \"icon\" = \"default\";\n\n /**\n * Emitted when a toggle button is selected.\n */\n @Event() icChange: EventEmitter<IcChangeEventDetail>;\n\n @Listen(\"icToggleChecked\")\n selectHandler(ev: CustomEvent, tabTarget?: HTMLIcToggleButtonElement): void {\n const allToggles = this.getAllToggleButtons();\n let clickedToggle = ev.target as HTMLIcToggleButtonElement;\n // tabTarget used in proxySelectHandler\n tabTarget && tabTarget.focus();\n if (this.selectType === \"single\") {\n if (!clickedToggle) {\n clickedToggle = tabTarget;\n }\n allToggles.forEach((el) => {\n if (el.id !== clickedToggle.id && el.toggleChecked) {\n el.toggleChecked = false;\n }\n });\n\n this.icChange.emit({\n toggleChecked: ev.detail.toggleChecked,\n selectedOption: clickedToggle,\n });\n } else {\n const toggledOptions = this.getAllToggleButtons().filter(\n (el) => el.toggleChecked && !el.disabled\n );\n\n this.icChange.emit({\n toggleChecked: toggledOptions.map((opt) => opt.toggleChecked),\n toggledOptions: toggledOptions.map((opt) => ({\n toggleButton: opt,\n })),\n selectedOption: clickedToggle,\n });\n }\n }\n\n componentWillLoad(): void {\n this.selectType === \"multi\" && (this.selectMethod = \"manual\");\n this.selectMethod === \"auto\" && this.selectType === \"single\";\n document.addEventListener(\"keydown\", this.keyListener);\n }\n\n componentDidLoad(): void {\n this.getAllToggleButtons().forEach((el, i) => {\n this.setSlottedAria(el);\n el.size = this.size;\n el.loading = this.loading;\n el.iconPlacement = this.iconPlacement;\n el.disabled ? null : (el.disabled = this.disabled);\n el.appearance = this.appearance;\n el.variant = this.variant;\n el.fullWidth = this.fullWidth;\n el.id = i.toString();\n el.tabIndex = -1;\n el.addEventListener(\"keydown\", (ev) => {\n this.handleKeyDown(ev);\n });\n el.classList.add(\"expand-toggle-group-child\");\n });\n }\n\n disconnectedCallback(): void {\n document.removeEventListener(\"keydown\", this.keyListener);\n }\n\n private keyListener = (ev: KeyboardEvent) => {\n this.lastKeyPressed = {\n key: ev.key,\n shift: ev.shiftKey,\n };\n };\n\n private setSlottedAria = (el: HTMLIcToggleButtonElement) => {\n const btn = el.shadowRoot\n .querySelector(\"ic-button\")\n .shadowRoot.querySelector(\"button\") as HTMLButtonElement;\n let aria = btn.getAttribute(\"aria-label\");\n aria += \", \";\n aria += this.accessibleLabel;\n btn.setAttribute(\"aria-label\", aria);\n };\n\n private handleHostFocus = (ev: FocusEvent): void => {\n if (this.loading || this.disabled) {\n return null;\n }\n const el = ev.target as HTMLIcToggleButtonGroupElement;\n const relEl = ev.relatedTarget as HTMLIcToggleButtonElement;\n const toggleButtons = Array.from(el.querySelectorAll(\"ic-toggle-button\"));\n if (\n ((toggleButtons.every((el) => !el.toggleChecked) ||\n this.selectType !== \"single\") &&\n this.lastKeyPressed.shift === false) ||\n (toggleButtons.every((el) => !el.toggleChecked) &&\n this.lastKeyPressed.shift === true &&\n relEl.tagName == TOGGLE_GROUP)\n ) {\n toggleButtons[0].focus();\n } else if (\n this.lastKeyPressed.shift === false ||\n (this.lastKeyPressed.shift === true && relEl.tagName == TOGGLE_GROUP)\n ) {\n // if toggleChecked is true and selectMethod is \"single\", focus that toggle\n const toggledButton = toggleButtons.filter((el) => el.toggleChecked);\n toggledButton[0].focus();\n }\n };\n\n // trigger selectHandler when unable to add 'target'\n private proxySelectHandler(toggle: HTMLIcToggleButtonElement): void {\n toggle.toggleChecked = true;\n const customEv = new CustomEvent(\"icToggleChecked\", {\n detail: {\n toggleChecked: toggle.toggleChecked,\n },\n });\n this.selectHandler(customEv, toggle);\n }\n\n private handleKeyDown = (event: KeyboardEvent): void => {\n const toggleButtonOptions = this.getAllToggleButtons();\n const focussedChild = toggleButtonOptions.indexOf(\n toggleButtonOptions.filter((el) => el === document.activeElement)[0]\n );\n switch (event.key) {\n case \"ArrowDown\":\n case \"ArrowRight\":\n this.selectMethod === \"auto\"\n ? this.proxySelectHandler(\n toggleButtonOptions[this.getNextItemToSelect(focussedChild, true)]\n )\n : toggleButtonOptions[\n this.getNextItemToSelect(focussedChild, true)\n ].focus();\n break;\n case \"ArrowUp\":\n case \"ArrowLeft\":\n this.selectMethod === \"auto\"\n ? this.proxySelectHandler(\n toggleButtonOptions[\n this.getNextItemToSelect(focussedChild, false)\n ]\n )\n : toggleButtonOptions[\n this.getNextItemToSelect(focussedChild, false)\n ].focus();\n break;\n case \"Tab\":\n break;\n }\n };\n\n private getNextItemToSelect = (\n currentItem: number,\n movingDown: boolean\n ): number => {\n const toggleButtonOptions = this.getAllToggleButtons();\n const numToggles = toggleButtonOptions.length - 1;\n\n if (currentItem < 1) {\n currentItem = 0;\n }\n\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n if (nextItem < 0) {\n nextItem = numToggles;\n } else if (nextItem > numToggles) {\n nextItem = 0;\n }\n\n if (toggleButtonOptions[nextItem].disabled) {\n nextItem = this.getNextItemToSelect(nextItem, movingDown);\n }\n\n return nextItem;\n };\n\n private getAllToggleButtons(): HTMLIcToggleButtonElement[] {\n return Array.from(this.el.querySelectorAll(\"ic-toggle-button\"));\n }\n\n render() {\n return (\n <Host\n role=\"group\"\n aria-label={this.accessibleLabel}\n aria-disabled={this.disabled ? \"true\" : \"false\"}\n tabindex={0}\n class={{\n [\"full-width\"]: this.fullWidth,\n [\"loading\"]: this.loading,\n [\"disabled\"]: this.disabled,\n [`${this.appearance}`]: true,\n }}\n onFocus={this.handleHostFocus}\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"gEAAA,MAAMA,EAAyB,gnHCwB/B,MAAMC,EAAe,yB,MAORC,EAAiB,M,4DA+HpBC,KAAAC,YAAeC,IACrBF,KAAKG,eAAiB,CACpBC,IAAKF,EAAGE,IACRC,MAAOH,EAAGI,SACX,EAGKN,KAAAO,eAAkBC,IACxB,MAAMC,EAAMD,EAAGE,WACZC,cAAc,aACdD,WAAWC,cAAc,UAC5B,IAAIC,EAAOH,EAAII,aAAa,cAC5BD,GAAQ,KACRA,GAAQZ,KAAKc,gBACbL,EAAIM,aAAa,aAAcH,EAAK,EAG9BZ,KAAAgB,gBAAmBd,IACzB,GAAIF,KAAKiB,SAAWjB,KAAKkB,SAAU,CACjC,OAAO,I,CAET,MAAMV,EAAKN,EAAGiB,OACd,MAAMC,EAAQlB,EAAGmB,cACjB,MAAMC,EAAgBC,MAAMC,KAAKhB,EAAGiB,iBAAiB,qBACrD,IACIH,EAAcI,OAAOlB,IAAQA,EAAGmB,iBAChC3B,KAAK4B,aAAe,WACpB5B,KAAKG,eAAeE,QAAU,OAC/BiB,EAAcI,OAAOlB,IAAQA,EAAGmB,iBAC/B3B,KAAKG,eAAeE,QAAU,MAC9Be,EAAMS,SAAW/B,EACnB,CACAwB,EAAc,GAAGQ,O,MACZ,GACL9B,KAAKG,eAAeE,QAAU,OAC7BL,KAAKG,eAAeE,QAAU,MAAQe,EAAMS,SAAW/B,EACxD,CAEA,MAAMiC,EAAgBT,EAAcU,QAAQxB,GAAOA,EAAGmB,gBACtDI,EAAc,GAAGD,O,GAeb9B,KAAAiC,cAAiBC,IACvB,MAAMC,EAAsBnC,KAAKoC,sBACjC,MAAMC,EAAgBF,EAAoBG,QACxCH,EAAoBH,QAAQxB,GAAOA,IAAO+B,SAASC,gBAAe,IAEpE,OAAQN,EAAM9B,KACZ,IAAK,YACL,IAAK,aACHJ,KAAKyC,eAAiB,OAClBzC,KAAK0C,mBACHP,EAAoBnC,KAAK2C,oBAAoBN,EAAe,QAE9DF,EACEnC,KAAK2C,oBAAoBN,EAAe,OACxCP,QACN,MACF,IAAK,UACL,IAAK,YACH9B,KAAKyC,eAAiB,OAClBzC,KAAK0C,mBACHP,EACEnC,KAAK2C,oBAAoBN,EAAe,SAG5CF,EACEnC,KAAK2C,oBAAoBN,EAAe,QACxCP,QACN,M,EAME9B,KAAA2C,oBAAsB,CAC5BC,EACAC,KAEA,MAAMV,EAAsBnC,KAAKoC,sBACjC,MAAMU,EAAaX,EAAoBY,OAAS,EAEhD,GAAIH,EAAc,EAAG,CACnBA,EAAc,C,CAGhB,IAAII,EAAWH,EAAaD,EAAc,EAAIA,EAAc,EAC5D,GAAII,EAAW,EAAG,CAChBA,EAAWF,C,MACN,GAAIE,EAAWF,EAAY,CAChCE,EAAW,C,CAGb,GAAIb,EAAoBa,GAAU9B,SAAU,CAC1C8B,EAAWhD,KAAK2C,oBAAoBK,EAAUH,E,CAGhD,OAAOG,CAAQ,E,oBAzOkB,CACjC5C,IAAK,KACLC,MAAO,O,qBAM0B,sB,gBAKK,U,cAKZ,M,eAKE,M,0CAUF,M,kBAKkC,S,gBAKzB,S,UAKZ,U,aAK8B,S,CAQvD,aAAA4C,CAAc/C,EAAiBgD,GAC7B,MAAMC,EAAanD,KAAKoC,sBACxB,IAAIgB,EAAgBlD,EAAGiB,OAEvB+B,GAAaA,EAAUpB,QACvB,GAAI9B,KAAK4B,aAAe,SAAU,CAChC,IAAKwB,EAAe,CAClBA,EAAgBF,C,CAElBC,EAAWE,SAAS7C,IAClB,GAAIA,EAAG8C,KAAOF,EAAcE,IAAM9C,EAAGmB,cAAe,CAClDnB,EAAGmB,cAAgB,K,KAIvB3B,KAAKuD,SAASC,KAAK,CACjB7B,cAAezB,EAAGuD,OAAO9B,cACzB+B,eAAgBN,G,KAEb,CACL,MAAMO,EAAiB3D,KAAKoC,sBAAsBJ,QAC/CxB,GAAOA,EAAGmB,gBAAkBnB,EAAGU,WAGlClB,KAAKuD,SAASC,KAAK,CACjB7B,cAAegC,EAAeC,KAAKC,GAAQA,EAAIlC,gBAC/CgC,eAAgBA,EAAeC,KAAKC,IAAG,CACrCC,aAAcD,MAEhBH,eAAgBN,G,EAKtB,iBAAAW,GACE/D,KAAK4B,aAAe,UAAY5B,KAAKyC,aAAe,UAEpDF,SAASyB,iBAAiB,UAAWhE,KAAKC,Y,CAG5C,gBAAAgE,GACEjE,KAAKoC,sBAAsBiB,SAAQ,CAAC7C,EAAI0D,KACtClE,KAAKO,eAAeC,GACpBA,EAAG2D,KAAOnE,KAAKmE,KACf3D,EAAGS,QAAUjB,KAAKiB,QAClBT,EAAG4D,cAAgBpE,KAAKoE,cACxB5D,EAAGU,SAAW,KAAQV,EAAGU,SAAWlB,KAAKkB,SACzCV,EAAG6D,WAAarE,KAAKqE,WACrB7D,EAAG8D,QAAUtE,KAAKsE,QAClB9D,EAAG+D,UAAYvE,KAAKuE,UACpB/D,EAAG8C,GAAKY,EAAEM,WACVhE,EAAGiE,UAAY,EACfjE,EAAGwD,iBAAiB,WAAY9D,IAC9BF,KAAKiC,cAAc/B,EAAG,IAExBM,EAAGkE,UAAUC,IAAI,4BAA4B,G,CAIjD,oBAAAC,GACErC,SAASsC,oBAAoB,UAAW7E,KAAKC,Y,CA+CvC,kBAAAyC,CAAmBoC,GACzBA,EAAOnD,cAAgB,KACvB,MAAMoD,EAAW,IAAIC,YAAY,kBAAmB,CAClDvB,OAAQ,CACN9B,cAAemD,EAAOnD,iBAG1B3B,KAAKiD,cAAc8B,EAAUD,E,CA6DvB,mBAAA1C,GACN,OAAOb,MAAMC,KAAKxB,KAAKQ,GAAGiB,iBAAiB,oB,CAG7C,MAAAwD,GACE,OACEC,EAACC,EAAI,CACHC,KAAK,QAAO,aACApF,KAAKc,gBAAe,gBACjBd,KAAKkB,SAAW,OAAS,QACxCmE,SAAU,EACVC,MAAO,CACL,CAAC,cAAetF,KAAKuE,UACrB,CAAC,WAAYvE,KAAKiB,QAClB,CAAC,YAAajB,KAAKkB,SACnB,CAAC,GAAGlB,KAAKqE,cAAe,MAE1BkB,QAASvF,KAAKgB,iBAEdkE,EAAA,a"}
@@ -1,2 +0,0 @@
1
- import{r as o,h as t,H as e,g as r}from"./p-6b5e91e2.js";import{D as i,b as n,a as l}from"./p-36cd5d32.js";import"./p-26b7b18f.js";const s='/*! 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(.footer-link-group-sparse){--footer-link-group-margin-right:5.938rem;--footer-link-group-border-bottom:0 solid transparent;--footer-link-group-title-margin-top:0;--footer-link-group-title-margin-bottom:var(--ic-space-md)}:host(.footer-link-group-small){--footer-link-group-margin-right:0;--footer-link-group-title-margin-top:var(--ic-space-md);--footer-link-group-title-margin-bottom:var(--ic-space-md);--footer-link-group-links-padding-left:var(--ic-space-md);--footer-link-group-links-padding-bottom:var(--ic-space-md)}:host(.footer-link-group-light.footer-link-group-small){--footer-link-group-border-bottom:var(--ic-keyline-lighten)}:host(.footer-link-group-dark.footer-link-group-small){--footer-link-group-border-bottom:var(--ic-keyline-darken)}:host(.footer-link-group){margin-right:var(--footer-link-group-margin-right);border-bottom:var(--footer-link-group-border-bottom)}:host(.footer-link-group-small.footer-link-group-light:hover){background-color:var(--ic-action-light-bg-hover);cursor:pointer}:host(.footer-link-group-small.footer-link-group-dark:hover){background-color:var(--ic-action-dark-bg-hover);cursor:pointer}:host(.footer-link-group-sparse:focus){box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);outline:var(--ic-hc-focus-outline);z-index:1}:host(.footer-link-group-small:focus){box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);outline:var(--ic-hc-focus-outline);z-index:1}:host(.footer-link-group-small.footer-link-group-light:active){background-color:var(--ic-action-light-bg-active)}:host(.footer-link-group-small.footer-link-group-dark:active){background-color:var(--ic-action-dark-bg-active)}.footer-link-group-title{margin-top:var(--footer-link-group-title-margin-top);margin-bottom:var(--footer-link-group-title-margin-bottom);flex-grow:1}.footer-link-group-toggle{fill:white !important}.footer-link-group-links{display:flex;flex-direction:column}.footer-link-group-header{display:flex;align-items:center}';const a=class{constructor(t){o(this,t);this.handleKeydown=o=>{if(o.key===" "||o.key==="Enter"){this.toggleExpanded()}};this.toggleExpanded=()=>{this.expanded=!this.expanded};this.expanded=false;this.deviceSize=i.XL;this.dropdownIconStyle=n();this.small=false;this.groupTitle=undefined}componentWillLoad(){this.small=this.isSmall(this.el)}componentDidLoad(){l([{prop:this.groupTitle,propName:"group-title"}],"Footer Link Group")}footerResizeHandler(){this.small=this.isSmall(this.el)}footerThemeChangeHandler(o){const t=o.detail;this.dropdownIconStyle=t.mode}isSmall(o){if(o.parentElement!==null){if(o.parentElement.classList.contains("footer")){return o.parentElement.classList.contains("footer-small")}else{return this.isSmall(o.parentElement)}}else{return false}}render(){const{small:o,groupTitle:r}=this;return!o?t(e,{class:{["footer-link-group footer-link-group-sparse"]:true,[`footer-link-group-${this.dropdownIconStyle}`]:true},role:"listitem"},t("div",{class:"footer-link-group-title"},t("ic-typography",{variant:"subtitle-small"},r)),t("div",{class:"footer-link-group-links",role:"list"},t("slot",null))):t(e,{class:{["footer-link-group footer-link-group-small"]:true,[`footer-link-group-${this.dropdownIconStyle}`]:true},tabIndex:"1",onClick:this.toggleExpanded,onKeydown:this.handleKeydown,"aria-expanded":this.expanded},t("ic-section-container",{fullHeight:true},t("div",{class:"footer-link-group-header"},t("div",{class:"footer-link-group-title"},t("ic-typography",{variant:"label"},r)),this.expanded?t("svg",{class:"footer-link-group-toggle",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 1200 1200"},t("path",{fill:"currentColor",d:"M600.002 210.605L421.285 389.336L0 810.559l178.721 178.836l421.281-421.341l421.281 421.341L1200 810.559L778.733 389.336L600.002 210.605z"})):t("svg",{class:"footer-link-group-toggle",xmlns:"http://www.w3.org/2000/svg","aria-hidden":"true",role:"img",width:"1em",height:"1em",preserveAspectRatio:"xMidYMid meet",viewBox:"0 0 1200 1200"},t("g",{transform:"translate(0 1200) scale(1 -1)"},t("path",{fill:"currentColor",d:"M600.002 210.605L421.285 389.336L0 810.559l178.721 178.836l421.281-421.341l421.281 421.341L1200 810.559L778.733 389.336L600.002 210.605z"})))),this.expanded&&t("div",{class:"footer-link-group-links",role:"list"},t("slot",null))))}static get delegatesFocus(){return true}get el(){return r(this)}};a.style=s;export{a as ic_footer_link_group};
2
- //# sourceMappingURL=p-bb2f2048.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icFooterLinkGroupCss","FooterLinkGroup","this","handleKeydown","event","key","toggleExpanded","expanded","DEVICE_SIZES","XL","getThemeForegroundColor","componentWillLoad","small","isSmall","el","componentDidLoad","onComponentRequiredPropUndefined","prop","groupTitle","propName","footerResizeHandler","footerThemeChangeHandler","ev","theme","detail","dropdownIconStyle","mode","e","parentElement","classList","contains","render","h","Host","class","role","variant","tabIndex","onClick","onKeydown","fullHeight","xmlns","width","height","preserveAspectRatio","viewBox","fill","d","transform"],"sources":["src/components/ic-footer-link-group/ic-footer-link-group.css?tag=ic-footer-link-group&encapsulation=shadow","src/components/ic-footer-link-group/ic-footer-link-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host(.footer-link-group-sparse) {\n --footer-link-group-margin-right: 5.938rem;\n --footer-link-group-border-bottom: 0 solid transparent;\n --footer-link-group-title-margin-top: 0;\n --footer-link-group-title-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-group-small) {\n --footer-link-group-margin-right: 0;\n --footer-link-group-title-margin-top: var(--ic-space-md);\n --footer-link-group-title-margin-bottom: var(--ic-space-md);\n --footer-link-group-links-padding-left: var(--ic-space-md);\n --footer-link-group-links-padding-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-group-light.footer-link-group-small) {\n --footer-link-group-border-bottom: var(--ic-keyline-lighten);\n}\n\n:host(.footer-link-group-dark.footer-link-group-small) {\n --footer-link-group-border-bottom: var(--ic-keyline-darken);\n}\n\n:host(.footer-link-group) {\n margin-right: var(--footer-link-group-margin-right);\n border-bottom: var(--footer-link-group-border-bottom);\n}\n\n:host(.footer-link-group-small.footer-link-group-light:hover) {\n background-color: var(--ic-action-light-bg-hover);\n cursor: pointer;\n}\n\n:host(.footer-link-group-small.footer-link-group-dark:hover) {\n background-color: var(--ic-action-dark-bg-hover);\n cursor: pointer;\n}\n\n:host(.footer-link-group-sparse:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n outline: var(--ic-hc-focus-outline);\n z-index: 1;\n}\n\n:host(.footer-link-group-small:focus) {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n outline: var(--ic-hc-focus-outline);\n z-index: 1;\n}\n\n:host(.footer-link-group-small.footer-link-group-light:active) {\n background-color: var(--ic-action-light-bg-active);\n}\n\n:host(.footer-link-group-small.footer-link-group-dark:active) {\n background-color: var(--ic-action-dark-bg-active);\n}\n\n.footer-link-group-title {\n margin-top: var(--footer-link-group-title-margin-top);\n margin-bottom: var(--footer-link-group-title-margin-bottom);\n flex-grow: 1;\n}\n\n.footer-link-group-toggle {\n fill: white !important;\n}\n\n.footer-link-group-links {\n display: flex;\n flex-direction: column;\n}\n\n.footer-link-group-header {\n display: flex;\n align-items: center;\n}\n","import {\n Component,\n Host,\n Element,\n Listen,\n Prop,\n h,\n State,\n} from \"@stencil/core\";\nimport {\n DEVICE_SIZES,\n getThemeForegroundColor,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcTheme } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-footer-link-group\",\n styleUrl: \"ic-footer-link-group.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class FooterLinkGroup {\n @Element() el: HTMLIcFooterLinkGroupElement;\n\n @State() expanded: boolean = false;\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() dropdownIconStyle = getThemeForegroundColor();\n @State() small: boolean = false;\n\n /**\n * The title of the link group to be displayed.\n */\n @Prop() groupTitle!: string;\n\n componentWillLoad(): void {\n this.small = this.isSmall(this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.groupTitle, propName: \"group-title\" }],\n \"Footer Link Group\"\n );\n }\n\n @Listen(\"footerResized\", { target: \"document\" })\n footerResizeHandler(): void {\n this.small = this.isSmall(this.el);\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n footerThemeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.dropdownIconStyle = theme.mode;\n }\n\n private isSmall(e: HTMLElement): boolean {\n if (e.parentElement !== null) {\n if (e.parentElement.classList.contains(\"footer\")) {\n return e.parentElement.classList.contains(\"footer-small\");\n } else {\n return this.isSmall(e.parentElement);\n }\n } else {\n return false;\n }\n }\n\n private handleKeydown = (event: KeyboardEvent): void => {\n if (event.key === \" \" || event.key === \"Enter\") {\n this.toggleExpanded();\n }\n };\n\n private toggleExpanded = (): void => {\n this.expanded = !this.expanded;\n };\n\n render() {\n const { small, groupTitle } = this;\n\n return !small ? (\n <Host\n class={{\n [\"footer-link-group footer-link-group-sparse\"]: true,\n [`footer-link-group-${this.dropdownIconStyle}`]: true,\n }}\n role=\"listitem\"\n >\n <div class=\"footer-link-group-title\">\n <ic-typography variant=\"subtitle-small\">{groupTitle}</ic-typography>\n </div>\n <div class=\"footer-link-group-links\" role=\"list\">\n <slot />\n </div>\n </Host>\n ) : (\n <Host\n class={{\n [\"footer-link-group footer-link-group-small\"]: true,\n [`footer-link-group-${this.dropdownIconStyle}`]: true,\n }}\n tabIndex=\"1\"\n onClick={this.toggleExpanded}\n onKeydown={this.handleKeydown}\n aria-expanded={this.expanded}\n >\n <ic-section-container fullHeight={true}>\n <div class=\"footer-link-group-header\">\n <div class=\"footer-link-group-title\">\n <ic-typography variant=\"label\">{groupTitle}</ic-typography>\n </div>\n {this.expanded ? (\n <svg\n class=\"footer-link-group-toggle\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n role=\"img\"\n width=\"1em\"\n height=\"1em\"\n preserveAspectRatio=\"xMidYMid meet\"\n viewBox=\"0 0 1200 1200\"\n >\n <path\n fill=\"currentColor\"\n d=\"M600.002 210.605L421.285 389.336L0 810.559l178.721 178.836l421.281-421.341l421.281 421.341L1200 810.559L778.733 389.336L600.002 210.605z\"\n />\n </svg>\n ) : (\n <svg\n class=\"footer-link-group-toggle\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-hidden=\"true\"\n role=\"img\"\n width=\"1em\"\n height=\"1em\"\n preserveAspectRatio=\"xMidYMid meet\"\n viewBox=\"0 0 1200 1200\"\n >\n <g transform=\"translate(0 1200) scale(1 -1)\">\n <path\n fill=\"currentColor\"\n d=\"M600.002 210.605L421.285 389.336L0 810.559l178.721 178.836l421.281-421.341l421.281 421.341L1200 810.559L778.733 389.336L600.002 210.605z\"\n />\n </g>\n </svg>\n )}\n </div>\n {this.expanded && (\n <div class=\"footer-link-group-links\" role=\"list\">\n <slot />\n </div>\n )}\n </ic-section-container>\n </Host>\n );\n }\n}\n"],"mappings":"mIAAA,MAAMA,EAAuB,+zI,MCuBhBC,EAAe,M,yBA+ClBC,KAAAC,cAAiBC,IACvB,GAAIA,EAAMC,MAAQ,KAAOD,EAAMC,MAAQ,QAAS,CAC9CH,KAAKI,gB,GAIDJ,KAAAI,eAAiB,KACvBJ,KAAKK,UAAYL,KAAKK,QAAQ,E,cAnDH,M,gBACCC,EAAaC,G,uBACdC,I,WACH,M,0BAO1B,iBAAAC,GACET,KAAKU,MAAQV,KAAKW,QAAQX,KAAKY,G,CAGjC,gBAAAC,GACEC,EACE,CAAC,CAAEC,KAAMf,KAAKgB,WAAYC,SAAU,gBACpC,oB,CAKJ,mBAAAC,GACElB,KAAKU,MAAQV,KAAKW,QAAQX,KAAKY,G,CAIjC,wBAAAO,CAAyBC,GACvB,MAAMC,EAAiBD,EAAGE,OAC1BtB,KAAKuB,kBAAoBF,EAAMG,I,CAGzB,OAAAb,CAAQc,GACd,GAAIA,EAAEC,gBAAkB,KAAM,CAC5B,GAAID,EAAEC,cAAcC,UAAUC,SAAS,UAAW,CAChD,OAAOH,EAAEC,cAAcC,UAAUC,SAAS,e,KACrC,CACL,OAAO5B,KAAKW,QAAQc,EAAEC,c,MAEnB,CACL,OAAO,K,EAcX,MAAAG,GACE,MAAMnB,MAAEA,EAAKM,WAAEA,GAAehB,KAE9B,OAAQU,EACNoB,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,8CAA+C,KAChD,CAAC,qBAAqBhC,KAAKuB,qBAAsB,MAEnDU,KAAK,YAELH,EAAA,OAAKE,MAAM,2BACTF,EAAA,iBAAeI,QAAQ,kBAAkBlB,IAE3Cc,EAAA,OAAKE,MAAM,0BAA0BC,KAAK,QACxCH,EAAA,eAIJA,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,6CAA8C,KAC/C,CAAC,qBAAqBhC,KAAKuB,qBAAsB,MAEnDY,SAAS,IACTC,QAASpC,KAAKI,eACdiC,UAAWrC,KAAKC,cAAa,gBACdD,KAAKK,UAEpByB,EAAA,wBAAsBQ,WAAY,MAChCR,EAAA,OAAKE,MAAM,4BACTF,EAAA,OAAKE,MAAM,2BACTF,EAAA,iBAAeI,QAAQ,SAASlB,IAEjChB,KAAKK,SACJyB,EAAA,OACEE,MAAM,2BACNO,MAAM,6BAA4B,cACtB,OACZN,KAAK,MACLO,MAAM,MACNC,OAAO,MACPC,oBAAoB,gBACpBC,QAAQ,iBAERb,EAAA,QACEc,KAAK,eACLC,EAAE,8IAINf,EAAA,OACEE,MAAM,2BACNO,MAAM,6BAA4B,cACtB,OACZN,KAAK,MACLO,MAAM,MACNC,OAAO,MACPC,oBAAoB,gBACpBC,QAAQ,iBAERb,EAAA,KAAGgB,UAAU,iCACXhB,EAAA,QACEc,KAAK,eACLC,EAAE,gJAMX7C,KAAKK,UACJyB,EAAA,OAAKE,MAAM,0BAA0BC,KAAK,QACxCH,EAAA,e"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icCardCss","Card","this","hostMutationObserver","parentFocussed","isFocussed","parentBlurred","toggleExpanded","areaExpanded","hostMutationCallback","mutationList","some","type","addedNodes","removedNodes","checkSlotInChildMutations","forceUpdate","disconnectedCallback","parentIsAnchorTag","parentEl","removeEventListener","_a","disconnect","componentWillLoad","el","parentElement","tagName","clickable","classList","add","addEventListener","removeDisabledFalse","disabled","componentDidLoad","isSlotUsed","onComponentRequiredPropUndefined","prop","heading","propName","updateTheme","MutationObserver","observe","childList","handleHostClick","event","stopImmediatePropagation","themeChangeHandler","ev","theme","detail","mode","setFocus","shadowRoot","querySelector","focus","newTheme","foregroundColor","getThemeFromContext","IcThemeForegroundEnum","Default","appearance","render","expandable","message","href","hreflang","referrerpolicy","rel","subheading","target","fullWidth","Component","undefined","attrs","hrefLang","referrerPolicy","h","Object","assign","class","Dark","tabindex","name","variant","id","label","silent","onClick","innerHTML","chevronIcon"],"sources":["src/components/ic-card/ic-card.css?tag=ic-card&encapsulation=shadow","src/components/ic-card/ic-card.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: flex;\n}\n\na {\n text-decoration: none !important;\n color: var(--ic-architechtural-black) !important;\n}\n\nbutton {\n border: none;\n background-color: transparent;\n outline: var(--ic-hc-focus-outline);\n}\n\n.card,\n.card.clickable {\n display: flex;\n flex-direction: column;\n border: var(--ic-border-default);\n border-radius: var(--ic-border-radius);\n box-sizing: border-box;\n padding: var(--ic-space-md);\n text-align: left;\n color: var(--ic-architechtural-black);\n transition: var(--ic-easing-transition-fast);\n position: relative;\n width: inherit;\n min-width: fit-content;\n height: fit-content;\n min-height: 100%;\n}\n\n.dark.card,\n.dark.card.clickable {\n border: var(--ic-border-width) solid var(--ic-architectural-700);\n}\n\n.card.clickable:hover {\n background-color: var(--ic-action-default-bg-hover);\n border: var(--ic-border-hover);\n cursor: pointer;\n}\n\n.card.clickable:focus,\n.card.clickable.focussed {\n background-color: var(--ic-action-default-bg-hover);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n border: var(--ic-border-pressed);\n}\n\n.card.clickable:active {\n background-color: var(--ic-action-default-bg-active);\n box-shadow: var(--ic-border-focus);\n}\n\n.card.disabled {\n border: var(--ic-border-disabled);\n}\n\n.card.fullwidth {\n width: 100%;\n}\n\n.card-header {\n display: flex;\n align-items: center;\n}\n\n.icon {\n display: flex;\n align-items: center;\n padding-right: var(--ic-space-xs);\n}\n\n.card.disabled ::slotted(svg) {\n fill: var(--ic-color-tertiary-text);\n}\n\n.card.clickable .card-title {\n color: var(--ic-hyperlink);\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n}\n\n.card.clickable:hover .card-title,\n.card.clickable:focus .card-title,\n.card.clickable.focussed .card-title {\n display: inline-block;\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n}\n\n@supports (text-underline-offset: 25%) {\n .card.clickable:hover .card-title,\n .card.clickable:focus .card-title,\n .card.clickable.focussed .card-title {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0 !important;\n }\n}\n\n.card.clickable:active .card-title {\n text-decoration: none;\n}\n\n.card.disabled .card-title {\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n text-decoration-color: var(--ic-color-tertiary-text);\n color: var(--ic-color-tertiary-text);\n}\n\n.subheading {\n margin-top: var(--ic-space-xxs);\n}\n\n.adornment {\n margin-top: var(--ic-space-xxs);\n}\n\n.card-message {\n margin-top: var(--ic-space-md);\n align-items: left;\n}\n\n.card.disabled .card-message,\n.card.disabled .subheading {\n color: var(--ic-color-tertiary-text);\n}\n\n.interaction-button {\n margin-left: auto;\n}\n\n.image-top {\n margin-bottom: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.image-mid {\n margin-top: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.interaction-area {\n display: flex;\n flex-grow: 1;\n gap: var(--ic-space-md);\n margin-top: var(--ic-space-md);\n align-items: flex-end;\n}\n\n.interaction-controls {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--ic-space-sm);\n}\n\n.toggle-button {\n color: var(--ic-action-default);\n width: 2.5rem;\n height: 2.5rem;\n padding: var(--ic-space-xs);\n margin: var(--ic-space-1px) 0;\n min-width: 0;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n border-radius: var(--ic-border-radius);\n display: inline-flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n background: none;\n border: none;\n box-sizing: border-box;\n white-space: nowrap;\n vertical-align: middle;\n}\n\n#ic-tooltip-expand-button {\n margin-left: auto;\n position: relative;\n}\n\n.toggle-button:hover,\n.toggle-button:hover:focus {\n background-color: var(--ic-action-default-bg-hover);\n color: var(--ic-action-default-hover);\n}\n\n.toggle-button:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.toggle-button:active:not(:focus) {\n background-color: var(--ic-action-default-bg-active);\n color: var(--ic-action-default-active);\n}\n\n.toggle-button svg {\n pointer-events: none;\n width: 100% !important;\n height: 100% !important;\n fill: currentcolor !important;\n}\n\n.toggle-button-closed svg {\n transform: rotate(90deg);\n}\n\n.toggle-button-expanded svg {\n transform: rotate(-90deg);\n}\n\n.expanded-content {\n margin-top: var(--ic-space-md);\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n .card ::slotted(svg) {\n fill: currentcolor;\n }\n\n .card.disabled ::slotted(svg) {\n fill: GrayText !important;\n }\n\n .card.disabled {\n border-color: GrayText !important;\n }\n\n .card.disabled .card-message,\n .card.disabled .subheading,\n .card.disabled .card-title {\n color: GrayText;\n }\n}\n\n/* Add back in after storybook has the `color-scheme: light dark` code */\n\n/* @media (prefers-color-scheme: dark) and (not (forced-colors: active)) {\n ::slotted([slot=\"icon\"]) {\n fill: var(--ic-architectural-white);\n }\n} */\n","import {\n Component,\n Element,\n Listen,\n Prop,\n State,\n h,\n Method,\n forceUpdate,\n} from \"@stencil/core\";\nimport {\n onComponentRequiredPropUndefined,\n isSlotUsed,\n getThemeFromContext,\n removeDisabledFalse,\n checkSlotInChildMutations,\n} from \"../../utils/helpers\";\nimport {\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\n\n/**\n * @slot heading - Content will be placed at the top of the card to the right of the icon.\n * @slot message - Content will be placed in the main body of the card.\n * @slot subheading - Content will be placed below the card heading.\n * @slot adornment - Content will be placed below the card subheading.\n * @slot image-top - Content will be placed at the top of the card above all other content.\n * @slot image-mid - Content will be placed below the card heading section.\n * @slot icon - Content will be placed to the left of the card heading.\n * @slot interaction-button - Content will be placed in the top right corner of the heading section.\n * @slot interaction-controls - Content will be placed below the card message.\n * @slot expanded-content - Content will be placed below the interaction controls but will not initially be rendered.\n * @slot badge - Badge component overlaying the top right of the card.\n */\n@Component({\n tag: \"ic-card\",\n styleUrl: \"ic-card.css\",\n shadow: true,\n})\nexport class Card {\n private hostMutationObserver: MutationObserver = null;\n\n @Element() el: HTMLIcCardElement;\n\n @State() appearance?: IcThemeForeground = \"default\";\n @State() areaExpanded: boolean = false;\n @State() isFocussed: boolean = false;\n @State() parentEl: HTMLElement | null = null;\n @State() parentIsAnchorTag: boolean = false;\n\n /**\n * If `true`, the card will be a clickable variant, instead of static.\n */\n @Prop({ mutable: true }) clickable?: boolean = false;\n\n /**\n * If `true`, the card will be disabled if it is clickable.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If `true`, the card will have an expandable area and expansion toggle button.\n */\n @Prop() expandable?: boolean = false;\n\n /**\n * If `true`, the card will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * The heading for the card. This is required, unless a slotted heading is used.\n */\n @Prop() heading?: string;\n\n /**\n * The URL that the clickable card link points to. If set, the clickable card will render as an \"a\" tag, otherwise it will render as a button.\n */\n @Prop() href?: string | undefined;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string = \"\";\n\n /**\n * The main body message of the card.\n */\n @Prop() message?: string = \"\";\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The subheading for the card.\n */\n @Prop() subheading?: 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 disconnectedCallback(): void {\n if (this.parentIsAnchorTag) {\n this.parentEl.removeEventListener(\"focus\", this.parentFocussed);\n this.parentEl.removeEventListener(\"blur\", this.parentBlurred);\n }\n\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.parentEl = this.el.parentElement;\n\n if (this.parentEl.tagName === \"A\") {\n this.clickable = true;\n this.parentIsAnchorTag = true;\n this.parentEl.classList.add(\"ic-card-wrapper-link\");\n this.parentEl.addEventListener(\"focus\", this.parentFocussed);\n this.parentEl.addEventListener(\"blur\", this.parentBlurred);\n }\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Card\"\n );\n this.updateTheme();\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled) {\n event.stopImmediatePropagation();\n }\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.updateTheme(theme.mode);\n }\n\n /**\n * Sets focus on the card.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.el.shadowRoot.querySelector(\"a\")) {\n this.el.shadowRoot.querySelector(\"a\").focus();\n } else if (this.el.shadowRoot.querySelector(\"button\")) {\n this.el.shadowRoot.querySelector(\"button\").focus();\n }\n }\n\n private parentFocussed = (): void => {\n this.isFocussed = true;\n };\n\n private parentBlurred = (): void => {\n this.isFocussed = false;\n };\n\n private updateTheme(newTheme: IcThemeForeground = null): void {\n const foregroundColor = getThemeFromContext(this.el, newTheme || null);\n\n if (foregroundColor !== IcThemeForegroundEnum.Default) {\n this.appearance = foregroundColor;\n }\n }\n\n private toggleExpanded = (): void => {\n this.areaExpanded = !this.areaExpanded;\n };\n\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n if (\n mutationList.some(({ type, addedNodes, removedNodes }) =>\n type === \"childList\"\n ? checkSlotInChildMutations(addedNodes, removedNodes, [\n \"message\",\n \"adornment\",\n \"expanded-content\",\n \"image-top\",\n \"image-mid\",\n \"icon\",\n \"interaction-button\",\n \"badge\",\n \"interaction-controls\",\n ])\n : false\n )\n ) {\n forceUpdate(this);\n }\n };\n\n render() {\n const {\n clickable,\n disabled,\n expandable,\n heading,\n message,\n href,\n hreflang,\n referrerpolicy,\n rel,\n subheading,\n target,\n fullWidth,\n parentIsAnchorTag,\n isFocussed,\n } = this;\n\n const Component = parentIsAnchorTag\n ? \"div\"\n : clickable\n ? this.href === undefined\n ? \"button\"\n : \"a\"\n : \"div\";\n\n const attrs = Component == \"a\" && {\n href: href,\n hrefLang: hreflang,\n referrerPolicy: referrerpolicy,\n rel: rel,\n target: target,\n };\n\n return (\n <Component\n class={{\n [\"card\"]: true,\n [\"clickable\"]: clickable && !disabled,\n [\"disabled\"]: disabled,\n [\"fullwidth\"]: fullWidth,\n [\"focussed\"]: isFocussed,\n [\"dark\"]: this.appearance === IcThemeForegroundEnum.Dark,\n }}\n tabindex={clickable && !parentIsAnchorTag ? 0 : null}\n aria-disabled={disabled ? \"true\" : null}\n disabled={disabled ? true : null}\n {...attrs}\n >\n {isSlotUsed(this.el, \"image-top\") && (\n <div class=\"image-top\">\n <slot name=\"image-top\"></slot>\n </div>\n )}\n <div class=\"card-header\">\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon\">\n <slot name=\"icon\" />\n </div>\n )}\n <div class=\"card-title\">\n <slot name=\"heading\">\n <ic-typography variant=\"h4\">\n <p>{heading}</p>\n </ic-typography>\n </slot>\n </div>\n {isSlotUsed(this.el, \"interaction-button\") && (\n <div class=\"interaction-button\">\n <slot name=\"interaction-button\"></slot>\n </div>\n )}\n </div>\n {(subheading || isSlotUsed(this.el, \"subheading\")) && (\n <div class=\"subheading\">\n <slot name=\"subheading\">\n <ic-typography variant=\"subtitle-small\">\n {subheading}\n </ic-typography>\n </slot>\n </div>\n )}\n {isSlotUsed(this.el, \"adornment\") && (\n <div class=\"adornment\">\n <slot name=\"adornment\"></slot>\n </div>\n )}\n {isSlotUsed(this.el, \"image-mid\") && (\n <div class=\"image-mid\">\n <slot name=\"image-mid\"></slot>\n </div>\n )}\n {(message || isSlotUsed(this.el, \"message\")) && (\n <div\n class={{\n [\"card-message\"]: true,\n }}\n >\n {message && <ic-typography variant=\"body\">{message}</ic-typography>}\n {isSlotUsed(this.el, \"message\") && <slot name=\"message\"></slot>}\n </div>\n )}\n {(isSlotUsed(this.el, \"interaction-controls\") || expandable) && (\n <div class=\"interaction-area\">\n <div class=\"interaction-controls\">\n <slot name=\"interaction-controls\"></slot>\n </div>\n {expandable && (\n <ic-tooltip\n id=\"ic-tooltip-expand-button\"\n label=\"Toggle expandable area\"\n silent\n >\n <button\n class={{\n [\"toggle-button\"]: true,\n [`toggle-button-${\n this.areaExpanded ? \"expanded\" : \"closed\"\n }`]: true,\n }}\n aria-label=\"Toggle expandable area\"\n aria-expanded={`${this.areaExpanded}`}\n aria-controls={\n this.areaExpanded ? \"expanded-content-area\" : null\n }\n onClick={this.toggleExpanded}\n innerHTML={chevronIcon}\n ></button>\n </ic-tooltip>\n )}\n </div>\n )}\n {isSlotUsed(this.el, \"expanded-content\") && this.areaExpanded && (\n <div class=\"expanded-content\" id=\"expanded-content-area\">\n <slot name=\"expanded-content\"></slot>\n </div>\n )}\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n </Component>\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{P as o,z as r,f as a}from"./p-36cd5d32.js";import{I as n}from"./p-26b7b18f.js";const l=`<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 c=`<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 h='/*! 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(.light){--splitter-color:var(--ic-keyline-lighten-rgb)}:host(.dark){--splitter-color:var(--ic-keyline-darken-rgb)}::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(.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}.disabled ic-button>svg{color:var(--ic-keyline-darken-rgb)}:host(.dark) .disabled ic-button>svg,:host(.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.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}));a(this.runResizeObserver);const i=Array.from(this.el.shadowRoot.querySelectorAll("div"));["mouseup","mouseleave"].forEach((t=>{i.forEach((i=>i.addEventListener(t,this.arrowMouseUpHandler)))}))}disconnectedCallback(){if(this.resizeObserver!==undefined){this.resizeObserver.disconnect()}const t=Array.from(this.el.shadowRoot.querySelectorAll("div"));["mouseup","mouseleave"].forEach((i=>{t.forEach((t=>t.removeEventListener(i,this.arrowMouseUpHandler)))}));this.items.forEach((t=>{if(t.removeEventListener){t.removeEventListener(this.focusTrigger,this.focusHandler)}}));this.itemsContainerEl.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{appearance:t,firstItemVisible:s,lastItemVisible:o,itemOverflow:r}=this;return i(e,{class:{["visible"]:r,["dark"]:this.appearance===n.Dark,["light"]:this.appearance===n.Light}},i("div",{"aria-hidden":"true",class:{["scroll-container-left"]:true,["hidden"]:!r,["disabled"]:s},role:"tab"},i("ic-button",{class:"scroll-arrow",variant:"icon","aria-label":"Scroll left",appearance:t,innerHTML:l,disabled:s,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"]:!r,["disabled"]:o},role:"tab"},i("span",{class:"scroll-splitter-right"}),i("ic-button",{class:"scroll-arrow",variant:"icon","aria-label":"Scroll right",appearance:t,innerHTML:c,disabled:o,tabindex:"-1",onClick:this.scrollRight,onMouseDown:this.rightArrowMouseDownHandler})))}get el(){return s(this)}};p.style=h;export{p as ic_horizontal_scroll};
2
- //# sourceMappingURL=p-cf3a721c.entry.js.map