@ukic/canary-web-components 2.0.0-canary.0 → 2.0.0-canary.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (736) hide show
  1. package/README.md +31 -12
  2. package/dist/cjs/{OpenInNew-f9958725.js → OpenInNew-d5d30e77.js} +1 -1
  3. package/dist/cjs/OpenInNew-d5d30e77.js.map +1 -0
  4. package/dist/cjs/{check-icon-b2f60716.js → check-icon-7225d79b.js} +1 -1
  5. package/dist/cjs/check-icon-7225d79b.js.map +1 -0
  6. package/dist/cjs/{chevron-icon-2bb3a907.js → chevron-icon-3bf07531.js} +1 -1
  7. package/dist/cjs/chevron-icon-3bf07531.js.map +1 -0
  8. package/dist/cjs/{close-icon-8ccb0163.js → close-icon-7f6ef8e4.js} +2 -2
  9. package/dist/cjs/close-icon-7f6ef8e4.js.map +1 -0
  10. package/dist/cjs/core.cjs.js +3 -6
  11. package/dist/cjs/core.cjs.js.map +1 -1
  12. package/dist/cjs/{helpers-3811d14b.js → helpers-d166f875.js} +27 -10
  13. package/dist/cjs/helpers-d166f875.js.map +1 -0
  14. package/dist/cjs/ic-alert.cjs.entry.js +4 -4
  15. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-back-to-top.cjs.entry.js +3 -3
  17. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +3 -3
  19. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-breadcrumb.cjs.entry.js +4 -4
  21. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-button_3.cjs.entry.js +228 -20
  23. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-card.cjs.entry.js +4 -4
  25. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-checkbox-group.cjs.entry.js +3 -3
  27. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-checkbox.cjs.entry.js +3 -3
  29. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-chip.cjs.entry.js +3 -3
  31. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  33. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-data-entity.cjs.entry.js +1 -1
  35. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-data-row.cjs.entry.js +3 -3
  37. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  38. package/dist/cjs/{ic-unstable-data-table.cjs.entry.js → ic-data-table.cjs.entry.js} +3 -3
  39. package/dist/cjs/ic-data-table.cjs.entry.js.map +1 -0
  40. package/dist/cjs/ic-dialog.cjs.entry.js +5 -5
  41. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-divider.cjs.entry.js +3 -3
  43. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-empty-state.cjs.entry.js +37 -0
  45. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -0
  46. package/dist/cjs/ic-footer-link-group.cjs.entry.js +3 -3
  47. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-footer-link.cjs.entry.js +4 -4
  49. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-footer.cjs.entry.js +7 -4
  51. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-hero.cjs.entry.js +3 -3
  53. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +3 -3
  55. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +43 -37
  57. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-input-label_2.cjs.entry.js +3 -3
  59. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-link.cjs.entry.js +4 -4
  61. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  63. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-menu-item.cjs.entry.js +5 -5
  65. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-navigation-button.cjs.entry.js +9 -5
  67. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-navigation-group.cjs.entry.js +5 -5
  69. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-navigation-item.cjs.entry.js +5 -5
  71. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-navigation-menu.cjs.entry.js +4 -4
  73. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-page-header.cjs.entry.js +3 -3
  75. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-pagination-bar.cjs.entry.js +3 -3
  77. package/dist/cjs/ic-pagination-bar.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-pagination_4.cjs.entry.js +71 -17
  79. package/dist/cjs/ic-pagination_4.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-popover-menu.cjs.entry.js +68 -16
  81. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-radio-group.cjs.entry.js +3 -3
  83. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-radio-option.cjs.entry.js +3 -3
  85. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-search-bar.cjs.entry.js +35 -19
  87. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-section-container.cjs.entry.js +1 -1
  89. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-side-navigation.cjs.entry.js +6 -6
  91. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-skeleton.cjs.entry.js +1 -1
  93. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
  95. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-step.cjs.entry.js +2 -2
  97. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
  99. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-switch.cjs.entry.js +3 -3
  101. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  102. package/dist/cjs/ic-tab-context.cjs.entry.js +2 -2
  103. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  105. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  106. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  107. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  108. package/dist/cjs/ic-tab.cjs.entry.js +3 -3
  109. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  110. package/dist/cjs/ic-theme.cjs.entry.js +3 -3
  111. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  112. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  113. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  114. package/dist/cjs/ic-toast.cjs.entry.js +4 -4
  115. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  116. package/dist/cjs/ic-top-navigation.cjs.entry.js +4 -4
  117. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  118. package/dist/cjs/ic-typography.cjs.entry.js +4 -4
  119. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  120. package/dist/cjs/{index-4f4d2b43.js → index-990b968b.js} +150 -44
  121. package/dist/cjs/index-990b968b.js.map +1 -0
  122. package/dist/cjs/loader.cjs.js +3 -12
  123. package/dist/cjs/loader.cjs.js.map +1 -1
  124. package/dist/cjs/{popper-d7adcfc6.js → popper-31badbf8.js} +1 -1
  125. package/dist/cjs/popper-31badbf8.js.map +1 -0
  126. package/dist/cjs/{types-3eb02246.js → types-7d67439f.js} +1 -1
  127. package/dist/cjs/types-7d67439f.js.map +1 -0
  128. package/dist/collection/assets/close-icon.svg +1 -1
  129. package/dist/collection/assets/hamburger-menu-icon.svg +1 -1
  130. package/dist/collection/collection-manifest.json +63 -62
  131. package/dist/collection/components/ic-alert/ic-alert.js +2 -1
  132. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  133. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +5 -1
  134. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  135. package/dist/collection/components/ic-button/ic-button.css +15 -7
  136. package/dist/collection/components/ic-button/ic-button.js +55 -13
  137. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  138. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +17 -2
  139. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -1
  140. package/dist/collection/components/ic-card/ic-card.js +4 -2
  141. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  142. package/dist/collection/components/ic-checkbox/ic-checkbox.js +8 -4
  143. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  144. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +6 -3
  145. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  146. package/dist/collection/components/ic-chip/ic-chip.js +6 -3
  147. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  148. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +2 -1
  149. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  150. package/dist/collection/components/ic-data-table/ic-data-table.js +13 -7
  151. package/dist/collection/components/ic-data-table/ic-data-table.js.map +1 -1
  152. package/dist/collection/components/ic-data-table/story-data.js +559 -0
  153. package/dist/collection/components/ic-data-table/story-data.js.map +1 -0
  154. package/dist/collection/components/ic-data-table/test/a11y/ic-data-table.test.a11y.js +3 -3
  155. package/dist/collection/components/ic-data-table/test/a11y/ic-data-table.test.a11y.js.map +1 -1
  156. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js +14 -14
  157. package/dist/collection/components/ic-data-table/test/basic/ic-data-table.spec.js.map +1 -1
  158. package/dist/collection/components/ic-dialog/ic-dialog.js +14 -5
  159. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  160. package/dist/collection/components/ic-empty-state/ic-empty-state.css +49 -0
  161. package/dist/collection/components/ic-empty-state/ic-empty-state.js +160 -0
  162. package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -0
  163. package/dist/collection/components/ic-empty-state/ic-empty-state.types.js +2 -0
  164. package/dist/collection/components/ic-empty-state/ic-empty-state.types.js.map +1 -0
  165. package/dist/collection/components/ic-empty-state/test/a11y/ic-empty-state.test.a11y.js +38 -0
  166. package/dist/collection/components/ic-empty-state/test/a11y/ic-empty-state.test.a11y.js.map +1 -0
  167. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js +86 -0
  168. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js.map +1 -0
  169. package/dist/collection/components/ic-footer/ic-footer.js +8 -3
  170. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  171. package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -1
  172. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  173. package/dist/collection/components/ic-hero/ic-hero.js +4 -2
  174. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  175. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +4 -2
  176. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  177. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +2 -1
  178. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  179. package/dist/collection/components/ic-input-validation/ic-input-validation.js +4 -2
  180. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  181. package/dist/collection/components/ic-link/ic-link.js +6 -3
  182. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  183. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +6 -3
  184. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  185. package/dist/collection/components/ic-menu/ic-menu.css +17 -0
  186. package/dist/collection/components/ic-menu/ic-menu.js +107 -48
  187. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  188. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +13 -2
  189. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
  190. package/dist/collection/components/ic-menu-item/ic-menu-item.js +4 -2
  191. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  192. package/dist/collection/components/ic-navigation-button/ic-navigation-button.css +1 -0
  193. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +9 -3
  194. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  195. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +1 -1
  196. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +1 -1
  197. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +2 -1
  198. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +2 -1
  199. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  200. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +4 -2
  201. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  202. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +2 -2
  203. package/dist/collection/components/ic-page-header/ic-page-header.js +2 -1
  204. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  205. package/dist/collection/components/ic-pagination/ic-pagination.js +8 -4
  206. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  207. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +8 -4
  208. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -1
  209. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +4 -2
  210. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  211. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +12 -0
  212. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +69 -14
  213. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  214. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js +14 -0
  215. package/dist/collection/components/ic-popover-menu/test/basic/ic-popover-menu.spec.js.map +1 -1
  216. package/dist/collection/components/ic-radio-group/ic-radio-group.js +6 -3
  217. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  218. package/dist/collection/components/ic-radio-option/ic-radio-option.js +8 -4
  219. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  220. package/dist/collection/components/ic-search-bar/ic-search-bar.js +100 -32
  221. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  222. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -1
  223. package/dist/collection/components/ic-section-container/ic-section-container.js.map +1 -1
  224. package/dist/collection/components/ic-select/ic-select.js +85 -22
  225. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  226. package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js +30 -0
  227. package/dist/collection/components/ic-select/test/basic/ic-select.e2e.js.map +1 -1
  228. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +51 -3
  229. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  230. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -1
  231. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  232. package/dist/collection/components/ic-status-tag/ic-status-tag.js +4 -2
  233. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  234. package/dist/collection/components/ic-step/ic-step.js +8 -4
  235. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  236. package/dist/collection/components/ic-stepper/ic-stepper.js +4 -2
  237. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  238. package/dist/collection/components/ic-switch/ic-switch.js +4 -2
  239. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  240. package/dist/collection/components/ic-tab/ic-tab.js +10 -5
  241. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  242. package/dist/collection/components/ic-tab-context/ic-tab-context.js +10 -5
  243. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  244. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -1
  245. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  246. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +4 -2
  247. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  248. package/dist/collection/components/ic-text-field/ic-text-field.js +26 -13
  249. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  250. package/dist/collection/components/ic-theme/ic-theme.js +2 -1
  251. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  252. package/dist/collection/components/ic-toast/ic-toast.js +8 -4
  253. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  254. package/dist/collection/components/ic-toast-region/ic-toast-region.js +4 -2
  255. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  256. package/dist/collection/components/ic-tooltip/ic-tooltip.css +9 -0
  257. package/dist/collection/components/ic-tooltip/ic-tooltip.js +191 -13
  258. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  259. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js +2 -0
  260. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.e2e.js.map +1 -1
  261. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +160 -1
  262. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +1 -1
  263. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +3 -2
  264. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  265. package/dist/collection/components/ic-typography/ic-typography.css +10 -10
  266. package/dist/collection/components/ic-typography/ic-typography.js +3 -2
  267. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  268. package/dist/collection/utils/helpers.js +25 -8
  269. package/dist/collection/utils/helpers.js.map +1 -1
  270. package/dist/collection/utils/types.js.map +1 -1
  271. package/dist/components/close-icon.js +1 -1
  272. package/dist/components/helpers.js +26 -9
  273. package/dist/components/helpers.js.map +1 -1
  274. package/dist/components/ic-alert2.js.map +1 -1
  275. package/dist/components/ic-back-to-top.js +2 -0
  276. package/dist/components/ic-back-to-top.js.map +1 -1
  277. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  278. package/dist/components/ic-breadcrumb2.js.map +1 -1
  279. package/dist/components/ic-button2.js +37 -5
  280. package/dist/components/ic-button2.js.map +1 -1
  281. package/dist/components/ic-card.js.map +1 -1
  282. package/dist/components/ic-checkbox-group.js.map +1 -1
  283. package/dist/components/ic-checkbox.js.map +1 -1
  284. package/dist/components/ic-chip.js.map +1 -1
  285. package/dist/components/ic-classification-banner.js.map +1 -1
  286. package/dist/components/ic-data-entity.js.map +1 -1
  287. package/dist/components/ic-data-row.js.map +1 -1
  288. package/dist/components/{ic-unstable-data-table.d.ts → ic-data-table.d.ts} +4 -4
  289. package/dist/components/{ic-unstable-data-table.js → ic-data-table.js} +6 -6
  290. package/dist/components/ic-data-table.js.map +1 -0
  291. package/dist/components/ic-dialog.js +4 -2
  292. package/dist/components/ic-dialog.js.map +1 -1
  293. package/dist/components/ic-divider2.js +1 -1
  294. package/dist/components/ic-divider2.js.map +1 -1
  295. package/dist/components/ic-empty-state.d.ts +11 -0
  296. package/dist/components/ic-empty-state.js +63 -0
  297. package/dist/components/ic-empty-state.js.map +1 -0
  298. package/dist/components/ic-footer-link-group.js +1 -1
  299. package/dist/components/ic-footer-link-group.js.map +1 -1
  300. package/dist/components/ic-footer-link.js +1 -1
  301. package/dist/components/ic-footer-link.js.map +1 -1
  302. package/dist/components/ic-footer.js +5 -2
  303. package/dist/components/ic-footer.js.map +1 -1
  304. package/dist/components/ic-hero.js +1 -1
  305. package/dist/components/ic-hero.js.map +1 -1
  306. package/dist/components/ic-horizontal-scroll2.js +1 -1
  307. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  308. package/dist/components/ic-input-component-container2.js.map +1 -1
  309. package/dist/components/ic-input-container2.js.map +1 -1
  310. package/dist/components/ic-input-label2.js.map +1 -1
  311. package/dist/components/ic-input-validation2.js.map +1 -1
  312. package/dist/components/ic-link2.js.map +1 -1
  313. package/dist/components/ic-loading-indicator2.js +3 -0
  314. package/dist/components/ic-loading-indicator2.js.map +1 -1
  315. package/dist/components/ic-menu-group.js.map +1 -1
  316. package/dist/components/ic-menu-item2.js +1 -1
  317. package/dist/components/ic-menu-item2.js.map +1 -1
  318. package/dist/components/ic-menu2.js +43 -32
  319. package/dist/components/ic-menu2.js.map +1 -1
  320. package/dist/components/ic-navigation-button.js +7 -3
  321. package/dist/components/ic-navigation-button.js.map +1 -1
  322. package/dist/components/ic-navigation-group.js +2 -2
  323. package/dist/components/ic-navigation-group.js.map +1 -1
  324. package/dist/components/ic-navigation-item.js +1 -1
  325. package/dist/components/ic-navigation-item.js.map +1 -1
  326. package/dist/components/ic-navigation-menu2.js +2 -2
  327. package/dist/components/ic-navigation-menu2.js.map +1 -1
  328. package/dist/components/ic-page-header.js.map +1 -1
  329. package/dist/components/ic-pagination-bar2.js.map +1 -1
  330. package/dist/components/ic-pagination-item2.js.map +1 -1
  331. package/dist/components/ic-pagination2.js +4 -1
  332. package/dist/components/ic-pagination2.js.map +1 -1
  333. package/dist/components/ic-popover-menu.js +68 -14
  334. package/dist/components/ic-popover-menu.js.map +1 -1
  335. package/dist/components/ic-radio-group.js.map +1 -1
  336. package/dist/components/ic-radio-option.js +4 -2
  337. package/dist/components/ic-radio-option.js.map +1 -1
  338. package/dist/components/ic-search-bar.js +41 -18
  339. package/dist/components/ic-search-bar.js.map +1 -1
  340. package/dist/components/ic-section-container2.js.map +1 -1
  341. package/dist/components/ic-select2.js +75 -15
  342. package/dist/components/ic-select2.js.map +1 -1
  343. package/dist/components/ic-side-navigation.js +2 -2
  344. package/dist/components/ic-side-navigation.js.map +1 -1
  345. package/dist/components/ic-skeleton.js.map +1 -1
  346. package/dist/components/ic-status-tag.js.map +1 -1
  347. package/dist/components/ic-step.js +2 -0
  348. package/dist/components/ic-step.js.map +1 -1
  349. package/dist/components/ic-stepper.js.map +1 -1
  350. package/dist/components/ic-switch.js.map +1 -1
  351. package/dist/components/ic-tab-context.js +3 -1
  352. package/dist/components/ic-tab-context.js.map +1 -1
  353. package/dist/components/ic-tab-group.js.map +1 -1
  354. package/dist/components/ic-tab-panel.js.map +1 -1
  355. package/dist/components/ic-tab.js +2 -0
  356. package/dist/components/ic-tab.js.map +1 -1
  357. package/dist/components/ic-text-field2.js +5 -2
  358. package/dist/components/ic-text-field2.js.map +1 -1
  359. package/dist/components/ic-theme.js +3 -1
  360. package/dist/components/ic-theme.js.map +1 -1
  361. package/dist/components/ic-toast-region.js.map +1 -1
  362. package/dist/components/ic-toast.js +1 -1
  363. package/dist/components/ic-toast.js.map +1 -1
  364. package/dist/components/ic-tooltip2.js +190 -12
  365. package/dist/components/ic-tooltip2.js.map +1 -1
  366. package/dist/components/ic-top-navigation.js +5 -3
  367. package/dist/components/ic-top-navigation.js.map +1 -1
  368. package/dist/components/ic-typography2.js +3 -1
  369. package/dist/components/ic-typography2.js.map +1 -1
  370. package/dist/components/index.d.ts +6 -0
  371. package/dist/components/index.js +1 -1
  372. package/dist/components/types.js.map +1 -1
  373. package/dist/core/core.css +10 -7
  374. package/dist/core/core.esm.js +1 -1
  375. package/dist/core/core.esm.js.map +1 -1
  376. package/dist/core/{p-df0b02b4.entry.js → p-00f7f8e8.entry.js} +2 -2
  377. package/dist/core/p-00f7f8e8.entry.js.map +1 -0
  378. package/dist/core/p-03935e89.js +3 -0
  379. package/dist/core/p-03935e89.js.map +1 -0
  380. package/dist/core/p-061283d4.entry.js +2 -0
  381. package/dist/core/p-061283d4.entry.js.map +1 -0
  382. package/dist/core/{p-4ddbc685.entry.js → p-0729b492.entry.js} +2 -2
  383. package/dist/core/p-0729b492.entry.js.map +1 -0
  384. package/dist/core/{p-cc15dfdc.entry.js → p-0929b7c4.entry.js} +2 -2
  385. package/dist/core/p-0929b7c4.entry.js.map +1 -0
  386. package/dist/core/p-0eba1ec4.entry.js +2 -0
  387. package/dist/core/p-0eba1ec4.entry.js.map +1 -0
  388. package/dist/core/{p-bdb10987.entry.js → p-12d99423.entry.js} +2 -2
  389. package/dist/core/p-12d99423.entry.js.map +1 -0
  390. package/dist/core/{p-0584ebc5.entry.js → p-151cef1f.entry.js} +2 -2
  391. package/dist/core/p-151cef1f.entry.js.map +1 -0
  392. package/dist/core/p-241baaac.entry.js +2 -0
  393. package/dist/core/p-241baaac.entry.js.map +1 -0
  394. package/dist/core/{p-7232b2f0.entry.js → p-2d1ba7d5.entry.js} +2 -2
  395. package/dist/core/p-2d1ba7d5.entry.js.map +1 -0
  396. package/dist/core/{p-7b475a6c.entry.js → p-2f737489.entry.js} +2 -2
  397. package/dist/core/p-2f737489.entry.js.map +1 -0
  398. package/dist/core/{p-b7d521e9.entry.js → p-385ae861.entry.js} +2 -2
  399. package/dist/core/p-385ae861.entry.js.map +1 -0
  400. package/dist/core/{p-06321d19.js → p-3b185c32.js} +1 -1
  401. package/dist/core/{p-7dda131b.entry.js → p-3c50e682.entry.js} +2 -2
  402. package/dist/core/p-3c50e682.entry.js.map +1 -0
  403. package/dist/core/{p-5d89cfab.entry.js → p-3c545222.entry.js} +2 -2
  404. package/dist/core/p-3c545222.entry.js.map +1 -0
  405. package/dist/core/{p-fef750a3.entry.js → p-3e3afba6.entry.js} +2 -2
  406. package/dist/core/p-3e3afba6.entry.js.map +1 -0
  407. package/dist/core/{p-f0fd1444.entry.js → p-4259972b.entry.js} +2 -2
  408. package/dist/core/p-4259972b.entry.js.map +1 -0
  409. package/dist/core/{p-8d4f7027.js → p-426ec638.js} +1 -1
  410. package/dist/core/{p-7adfd23a.entry.js → p-4ec6d80b.entry.js} +2 -2
  411. package/dist/core/p-4ec6d80b.entry.js.map +1 -0
  412. package/dist/core/{p-d77c0936.entry.js → p-517968cb.entry.js} +2 -2
  413. package/dist/core/p-517968cb.entry.js.map +1 -0
  414. package/dist/core/{p-b36723c5.entry.js → p-55127131.entry.js} +2 -2
  415. package/dist/core/p-55127131.entry.js.map +1 -0
  416. package/dist/core/{p-5f6b0c72.entry.js → p-5536d26c.entry.js} +2 -2
  417. package/dist/core/p-5536d26c.entry.js.map +1 -0
  418. package/dist/core/p-5b39831f.entry.js +2 -0
  419. package/dist/core/p-5b39831f.entry.js.map +1 -0
  420. package/dist/core/{p-6f57b13c.js → p-613aa265.js} +1 -1
  421. package/dist/core/p-613aa265.js.map +1 -0
  422. package/dist/core/{p-fdcf4f5d.entry.js → p-649442b9.entry.js} +2 -2
  423. package/dist/core/p-649442b9.entry.js.map +1 -0
  424. package/dist/core/{p-b6e9eab9.entry.js → p-65a1ff78.entry.js} +2 -2
  425. package/dist/core/p-65a1ff78.entry.js.map +1 -0
  426. package/dist/core/{p-f91432bf.entry.js → p-6622567a.entry.js} +2 -2
  427. package/dist/core/p-6622567a.entry.js.map +1 -0
  428. package/dist/core/p-689a5bb3.entry.js +2 -0
  429. package/dist/core/p-689a5bb3.entry.js.map +1 -0
  430. package/dist/core/{p-7c0dcd00.js → p-68a5aaff.js} +1 -1
  431. package/dist/core/p-68a5aaff.js.map +1 -0
  432. package/dist/core/p-6da62e08.entry.js +2 -0
  433. package/dist/core/p-6da62e08.entry.js.map +1 -0
  434. package/dist/core/{p-095d3352.entry.js → p-72815d65.entry.js} +2 -2
  435. package/dist/core/p-72815d65.entry.js.map +1 -0
  436. package/dist/core/{p-10fd8931.entry.js → p-7799016a.entry.js} +2 -2
  437. package/dist/core/p-7799016a.entry.js.map +1 -0
  438. package/dist/core/p-786020b0.entry.js +2 -0
  439. package/dist/core/p-786020b0.entry.js.map +1 -0
  440. package/dist/core/{p-4efac9a5.entry.js → p-892ddab1.entry.js} +2 -2
  441. package/dist/core/p-892ddab1.entry.js.map +1 -0
  442. package/dist/core/{p-3b686a68.entry.js → p-8a4c5eb8.entry.js} +2 -2
  443. package/dist/core/p-8a4c5eb8.entry.js.map +1 -0
  444. package/dist/core/{p-d0fccb05.entry.js → p-8d8ba4d7.entry.js} +2 -2
  445. package/dist/core/p-8d8ba4d7.entry.js.map +1 -0
  446. package/dist/core/{p-92a9c0f7.entry.js → p-90608dc5.entry.js} +2 -2
  447. package/dist/core/p-90608dc5.entry.js.map +1 -0
  448. package/dist/core/{p-1b5f5bf2.entry.js → p-932a1a61.entry.js} +2 -2
  449. package/dist/core/p-932a1a61.entry.js.map +1 -0
  450. package/dist/core/p-94f255ff.entry.js +2 -0
  451. package/dist/core/p-94f255ff.entry.js.map +1 -0
  452. package/dist/core/{p-d19b9d1b.entry.js → p-9c792bb9.entry.js} +2 -2
  453. package/dist/core/p-9c792bb9.entry.js.map +1 -0
  454. package/dist/core/{p-ed9bc07a.entry.js → p-a10968a4.entry.js} +2 -2
  455. package/dist/core/p-a10968a4.entry.js.map +1 -0
  456. package/dist/core/{p-11833706.entry.js → p-a471cf70.entry.js} +2 -2
  457. package/dist/core/p-a471cf70.entry.js.map +1 -0
  458. package/dist/core/{p-55278403.entry.js → p-a7c7d85a.entry.js} +2 -2
  459. package/dist/core/p-a7c7d85a.entry.js.map +1 -0
  460. package/dist/core/{p-57839a76.entry.js → p-b1568cf3.entry.js} +2 -2
  461. package/dist/core/p-b1568cf3.entry.js.map +1 -0
  462. package/dist/core/{p-7b1dea48.entry.js → p-b4d2d905.entry.js} +2 -2
  463. package/dist/core/p-b4d2d905.entry.js.map +1 -0
  464. package/dist/core/p-ba27b1e2.js +2 -0
  465. package/dist/core/p-ba27b1e2.js.map +1 -0
  466. package/dist/core/{p-e948ffe5.entry.js → p-ba3f9d1b.entry.js} +2 -2
  467. package/dist/core/p-ba3f9d1b.entry.js.map +1 -0
  468. package/dist/core/p-c2281c7d.entry.js +2 -0
  469. package/dist/core/p-c2281c7d.entry.js.map +1 -0
  470. package/dist/core/{p-8c7f4343.js → p-c2e091d7.js} +1 -1
  471. package/dist/core/{p-4208e336.entry.js → p-c95e4edb.entry.js} +2 -2
  472. package/dist/core/p-c95e4edb.entry.js.map +1 -0
  473. package/dist/core/p-cda2ecbb.entry.js +2 -0
  474. package/dist/core/p-cda2ecbb.entry.js.map +1 -0
  475. package/dist/core/{p-b9c3598b.entry.js → p-ced76d36.entry.js} +2 -2
  476. package/dist/core/p-ced76d36.entry.js.map +1 -0
  477. package/dist/core/{p-83adbb69.entry.js → p-dcfc7f79.entry.js} +2 -2
  478. package/dist/core/p-dcfc7f79.entry.js.map +1 -0
  479. package/dist/core/p-de37ac0e.entry.js +2 -0
  480. package/dist/core/p-de37ac0e.entry.js.map +1 -0
  481. package/dist/core/{p-019688bf.entry.js → p-e565964f.entry.js} +2 -2
  482. package/dist/core/p-e565964f.entry.js.map +1 -0
  483. package/dist/core/{p-2c6f2aad.entry.js → p-e6028d7a.entry.js} +2 -2
  484. package/dist/core/p-e6028d7a.entry.js.map +1 -0
  485. package/dist/core/{p-80c4fdfb.entry.js → p-ebd83ea6.entry.js} +2 -2
  486. package/dist/core/p-ebd83ea6.entry.js.map +1 -0
  487. package/dist/core/{p-ad3102a5.entry.js → p-ed35b2d0.entry.js} +2 -2
  488. package/dist/core/p-ed35b2d0.entry.js.map +1 -0
  489. package/dist/core/p-f074ef5b.js +2 -0
  490. package/dist/core/{p-5914df44.entry.js → p-f8d7bda8.entry.js} +2 -2
  491. package/dist/core/p-f8d7bda8.entry.js.map +1 -0
  492. package/dist/core/p-fd8780e2.entry.js +2 -0
  493. package/dist/core/p-fd8780e2.entry.js.map +1 -0
  494. package/dist/esm/{OpenInNew-67a881e0.js → OpenInNew-cdeed5ce.js} +1 -1
  495. package/dist/esm/OpenInNew-cdeed5ce.js.map +1 -0
  496. package/dist/esm/{check-icon-abb210ec.js → check-icon-4a9f8371.js} +1 -1
  497. package/dist/esm/check-icon-4a9f8371.js.map +1 -0
  498. package/dist/esm/{chevron-icon-7927f709.js → chevron-icon-589e3b46.js} +1 -1
  499. package/dist/esm/chevron-icon-589e3b46.js.map +1 -0
  500. package/dist/esm/{close-icon-2f02b42a.js → close-icon-539ec8d1.js} +2 -2
  501. package/dist/esm/close-icon-539ec8d1.js.map +1 -0
  502. package/dist/esm/core.js +4 -7
  503. package/dist/esm/core.js.map +1 -1
  504. package/dist/esm/{helpers-8617aaa0.js → helpers-10f9f399.js} +27 -10
  505. package/dist/esm/helpers-10f9f399.js.map +1 -0
  506. package/dist/esm/ic-alert.entry.js +4 -4
  507. package/dist/esm/ic-alert.entry.js.map +1 -1
  508. package/dist/esm/ic-back-to-top.entry.js +3 -3
  509. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  510. package/dist/esm/ic-breadcrumb-group.entry.js +3 -3
  511. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  512. package/dist/esm/ic-breadcrumb.entry.js +4 -4
  513. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  514. package/dist/esm/ic-button_3.entry.js +228 -20
  515. package/dist/esm/ic-button_3.entry.js.map +1 -1
  516. package/dist/esm/ic-card.entry.js +4 -4
  517. package/dist/esm/ic-card.entry.js.map +1 -1
  518. package/dist/esm/ic-checkbox-group.entry.js +3 -3
  519. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  520. package/dist/esm/ic-checkbox.entry.js +3 -3
  521. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  522. package/dist/esm/ic-chip.entry.js +3 -3
  523. package/dist/esm/ic-chip.entry.js.map +1 -1
  524. package/dist/esm/ic-classification-banner.entry.js +1 -1
  525. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  526. package/dist/esm/ic-data-entity.entry.js +1 -1
  527. package/dist/esm/ic-data-entity.entry.js.map +1 -1
  528. package/dist/esm/ic-data-row.entry.js +3 -3
  529. package/dist/esm/ic-data-row.entry.js.map +1 -1
  530. package/dist/esm/{ic-unstable-data-table.entry.js → ic-data-table.entry.js} +3 -3
  531. package/dist/esm/ic-data-table.entry.js.map +1 -0
  532. package/dist/esm/ic-dialog.entry.js +5 -5
  533. package/dist/esm/ic-dialog.entry.js.map +1 -1
  534. package/dist/esm/ic-divider.entry.js +3 -3
  535. package/dist/esm/ic-divider.entry.js.map +1 -1
  536. package/dist/esm/ic-empty-state.entry.js +33 -0
  537. package/dist/esm/ic-empty-state.entry.js.map +1 -0
  538. package/dist/esm/ic-footer-link-group.entry.js +3 -3
  539. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  540. package/dist/esm/ic-footer-link.entry.js +4 -4
  541. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  542. package/dist/esm/ic-footer.entry.js +7 -4
  543. package/dist/esm/ic-footer.entry.js.map +1 -1
  544. package/dist/esm/ic-hero.entry.js +3 -3
  545. package/dist/esm/ic-hero.entry.js.map +1 -1
  546. package/dist/esm/ic-horizontal-scroll.entry.js +3 -3
  547. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  548. package/dist/esm/ic-input-component-container_3.entry.js +43 -37
  549. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  550. package/dist/esm/ic-input-label_2.entry.js +3 -3
  551. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  552. package/dist/esm/ic-link.entry.js +4 -4
  553. package/dist/esm/ic-link.entry.js.map +1 -1
  554. package/dist/esm/ic-menu-group.entry.js +1 -1
  555. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  556. package/dist/esm/ic-menu-item.entry.js +5 -5
  557. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  558. package/dist/esm/ic-navigation-button.entry.js +9 -5
  559. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  560. package/dist/esm/ic-navigation-group.entry.js +5 -5
  561. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  562. package/dist/esm/ic-navigation-item.entry.js +5 -5
  563. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  564. package/dist/esm/ic-navigation-menu.entry.js +4 -4
  565. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  566. package/dist/esm/ic-page-header.entry.js +3 -3
  567. package/dist/esm/ic-page-header.entry.js.map +1 -1
  568. package/dist/esm/ic-pagination-bar.entry.js +3 -3
  569. package/dist/esm/ic-pagination-bar.entry.js.map +1 -1
  570. package/dist/esm/ic-pagination_4.entry.js +71 -17
  571. package/dist/esm/ic-pagination_4.entry.js.map +1 -1
  572. package/dist/esm/ic-popover-menu.entry.js +68 -16
  573. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  574. package/dist/esm/ic-radio-group.entry.js +3 -3
  575. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  576. package/dist/esm/ic-radio-option.entry.js +3 -3
  577. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  578. package/dist/esm/ic-search-bar.entry.js +35 -19
  579. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  580. package/dist/esm/ic-section-container.entry.js +1 -1
  581. package/dist/esm/ic-section-container.entry.js.map +1 -1
  582. package/dist/esm/ic-side-navigation.entry.js +6 -6
  583. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  584. package/dist/esm/ic-skeleton.entry.js +1 -1
  585. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  586. package/dist/esm/ic-status-tag.entry.js +3 -3
  587. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  588. package/dist/esm/ic-step.entry.js +2 -2
  589. package/dist/esm/ic-step.entry.js.map +1 -1
  590. package/dist/esm/ic-stepper.entry.js +3 -3
  591. package/dist/esm/ic-stepper.entry.js.map +1 -1
  592. package/dist/esm/ic-switch.entry.js +3 -3
  593. package/dist/esm/ic-switch.entry.js.map +1 -1
  594. package/dist/esm/ic-tab-context.entry.js +2 -2
  595. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  596. package/dist/esm/ic-tab-group.entry.js +3 -3
  597. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  598. package/dist/esm/ic-tab-panel.entry.js +2 -2
  599. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  600. package/dist/esm/ic-tab.entry.js +3 -3
  601. package/dist/esm/ic-tab.entry.js.map +1 -1
  602. package/dist/esm/ic-theme.entry.js +3 -3
  603. package/dist/esm/ic-theme.entry.js.map +1 -1
  604. package/dist/esm/ic-toast-region.entry.js +1 -1
  605. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  606. package/dist/esm/ic-toast.entry.js +4 -4
  607. package/dist/esm/ic-toast.entry.js.map +1 -1
  608. package/dist/esm/ic-top-navigation.entry.js +4 -4
  609. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  610. package/dist/esm/ic-typography.entry.js +4 -4
  611. package/dist/esm/ic-typography.entry.js.map +1 -1
  612. package/dist/esm/{index-36ab8165.js → index-5e4f5b3b.js} +150 -44
  613. package/dist/esm/index-5e4f5b3b.js.map +1 -0
  614. package/dist/esm/loader.js +4 -13
  615. package/dist/esm/loader.js.map +1 -1
  616. package/dist/esm/{popper-15e448b4.js → popper-0fbeff6d.js} +1 -1
  617. package/dist/esm/popper-0fbeff6d.js.map +1 -0
  618. package/dist/esm/{types-dd515332.js → types-b2398b37.js} +1 -1
  619. package/dist/esm/types-b2398b37.js.map +1 -0
  620. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +3 -3
  621. package/dist/types/components/ic-button/ic-button.d.ts +9 -1
  622. package/dist/types/components/ic-data-table/ic-data-table.d.ts +1 -1
  623. package/dist/types/components/ic-data-table/story-data.d.ts +105 -0
  624. package/dist/types/components/ic-dialog/ic-dialog.d.ts +5 -5
  625. package/dist/types/components/ic-empty-state/ic-empty-state.d.ts +35 -0
  626. package/dist/types/components/ic-empty-state/ic-empty-state.types.d.ts +1 -0
  627. package/dist/types/components/ic-empty-state/test/a11y/ic-empty-state.test.a11y.d.ts +1 -0
  628. package/dist/types/components/ic-menu/ic-menu.d.ts +8 -0
  629. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +1 -0
  630. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +3 -0
  631. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +8 -0
  632. package/dist/types/components/ic-select/ic-select.d.ts +14 -0
  633. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +10 -0
  634. package/dist/types/components/ic-typography/ic-typography.d.ts +2 -1
  635. package/dist/types/components.d.ts +230 -135
  636. package/dist/types/stencil-public-runtime.d.ts +17 -5
  637. package/dist/types/utils/helpers.d.ts +2 -2
  638. package/dist/types/utils/types.d.ts +11 -2
  639. package/hydrate/index.d.ts +6 -6
  640. package/hydrate/index.js +662 -218
  641. package/loader/index.d.ts +1 -1
  642. package/package.json +11 -9
  643. package/dist/cjs/OpenInNew-f9958725.js.map +0 -1
  644. package/dist/cjs/check-icon-b2f60716.js.map +0 -1
  645. package/dist/cjs/chevron-icon-2bb3a907.js.map +0 -1
  646. package/dist/cjs/close-icon-8ccb0163.js.map +0 -1
  647. package/dist/cjs/helpers-3811d14b.js.map +0 -1
  648. package/dist/cjs/ic-unstable-data-table.cjs.entry.js.map +0 -1
  649. package/dist/cjs/index-4f4d2b43.js.map +0 -1
  650. package/dist/cjs/popper-d7adcfc6.js.map +0 -1
  651. package/dist/cjs/types-3eb02246.js.map +0 -1
  652. package/dist/components/ic-unstable-data-table.js.map +0 -1
  653. package/dist/core/p-019688bf.entry.js.map +0 -1
  654. package/dist/core/p-0584ebc5.entry.js.map +0 -1
  655. package/dist/core/p-095d3352.entry.js.map +0 -1
  656. package/dist/core/p-10fd8931.entry.js.map +0 -1
  657. package/dist/core/p-11833706.entry.js.map +0 -1
  658. package/dist/core/p-1af8f256.js +0 -3
  659. package/dist/core/p-1af8f256.js.map +0 -1
  660. package/dist/core/p-1b5f5bf2.entry.js.map +0 -1
  661. package/dist/core/p-1e0eb83a.entry.js +0 -2
  662. package/dist/core/p-1e0eb83a.entry.js.map +0 -1
  663. package/dist/core/p-2138a75e.entry.js +0 -2
  664. package/dist/core/p-2138a75e.entry.js.map +0 -1
  665. package/dist/core/p-29d35210.entry.js +0 -2
  666. package/dist/core/p-29d35210.entry.js.map +0 -1
  667. package/dist/core/p-2c6f2aad.entry.js.map +0 -1
  668. package/dist/core/p-35b9f898.entry.js +0 -2
  669. package/dist/core/p-35b9f898.entry.js.map +0 -1
  670. package/dist/core/p-3b686a68.entry.js.map +0 -1
  671. package/dist/core/p-4208e336.entry.js.map +0 -1
  672. package/dist/core/p-44512ebe.js +0 -2
  673. package/dist/core/p-4ddbc685.entry.js.map +0 -1
  674. package/dist/core/p-4efac9a5.entry.js.map +0 -1
  675. package/dist/core/p-5278461f.entry.js +0 -2
  676. package/dist/core/p-5278461f.entry.js.map +0 -1
  677. package/dist/core/p-55278403.entry.js.map +0 -1
  678. package/dist/core/p-57839a76.entry.js.map +0 -1
  679. package/dist/core/p-5914df44.entry.js.map +0 -1
  680. package/dist/core/p-5d89cfab.entry.js.map +0 -1
  681. package/dist/core/p-5f6b0c72.entry.js.map +0 -1
  682. package/dist/core/p-633cb50b.entry.js +0 -2
  683. package/dist/core/p-633cb50b.entry.js.map +0 -1
  684. package/dist/core/p-6f57b13c.js.map +0 -1
  685. package/dist/core/p-7232b2f0.entry.js.map +0 -1
  686. package/dist/core/p-7adfd23a.entry.js.map +0 -1
  687. package/dist/core/p-7b1dea48.entry.js.map +0 -1
  688. package/dist/core/p-7b475a6c.entry.js.map +0 -1
  689. package/dist/core/p-7c0dcd00.js.map +0 -1
  690. package/dist/core/p-7dda131b.entry.js.map +0 -1
  691. package/dist/core/p-80c4fdfb.entry.js.map +0 -1
  692. package/dist/core/p-83adbb69.entry.js.map +0 -1
  693. package/dist/core/p-8ae9fdd1.entry.js +0 -2
  694. package/dist/core/p-8ae9fdd1.entry.js.map +0 -1
  695. package/dist/core/p-92a9c0f7.entry.js.map +0 -1
  696. package/dist/core/p-a3b86ed0.entry.js +0 -2
  697. package/dist/core/p-a3b86ed0.entry.js.map +0 -1
  698. package/dist/core/p-a9e4e5f8.entry.js +0 -2
  699. package/dist/core/p-a9e4e5f8.entry.js.map +0 -1
  700. package/dist/core/p-ad3102a5.entry.js.map +0 -1
  701. package/dist/core/p-b36723c5.entry.js.map +0 -1
  702. package/dist/core/p-b5c0b75c.js +0 -2
  703. package/dist/core/p-b5c0b75c.js.map +0 -1
  704. package/dist/core/p-b6e9eab9.entry.js.map +0 -1
  705. package/dist/core/p-b7d521e9.entry.js.map +0 -1
  706. package/dist/core/p-b9c3598b.entry.js.map +0 -1
  707. package/dist/core/p-bdb10987.entry.js.map +0 -1
  708. package/dist/core/p-c571e57c.entry.js +0 -2
  709. package/dist/core/p-c571e57c.entry.js.map +0 -1
  710. package/dist/core/p-cc15dfdc.entry.js.map +0 -1
  711. package/dist/core/p-cc2b961d.entry.js +0 -2
  712. package/dist/core/p-cc2b961d.entry.js.map +0 -1
  713. package/dist/core/p-d0fccb05.entry.js.map +0 -1
  714. package/dist/core/p-d19b9d1b.entry.js.map +0 -1
  715. package/dist/core/p-d77c0936.entry.js.map +0 -1
  716. package/dist/core/p-df0b02b4.entry.js.map +0 -1
  717. package/dist/core/p-e948ffe5.entry.js.map +0 -1
  718. package/dist/core/p-ed9bc07a.entry.js.map +0 -1
  719. package/dist/core/p-f0fd1444.entry.js.map +0 -1
  720. package/dist/core/p-f91432bf.entry.js.map +0 -1
  721. package/dist/core/p-fdcf4f5d.entry.js.map +0 -1
  722. package/dist/core/p-fef750a3.entry.js.map +0 -1
  723. package/dist/esm/OpenInNew-67a881e0.js.map +0 -1
  724. package/dist/esm/check-icon-abb210ec.js.map +0 -1
  725. package/dist/esm/chevron-icon-7927f709.js.map +0 -1
  726. package/dist/esm/close-icon-2f02b42a.js.map +0 -1
  727. package/dist/esm/helpers-8617aaa0.js.map +0 -1
  728. package/dist/esm/ic-unstable-data-table.entry.js.map +0 -1
  729. package/dist/esm/index-36ab8165.js.map +0 -1
  730. package/dist/esm/polyfills/css-shim.js +0 -1
  731. package/dist/esm/popper-15e448b4.js.map +0 -1
  732. package/dist/esm/types-dd515332.js.map +0 -1
  733. /package/dist/core/{p-06321d19.js.map → p-3b185c32.js.map} +0 -0
  734. /package/dist/core/{p-44512ebe.js.map → p-426ec638.js.map} +0 -0
  735. /package/dist/core/{p-8c7f4343.js.map → p-c2e091d7.js.map} +0 -0
  736. /package/dist/core/{p-8d4f7027.js.map → p-f074ef5b.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["icCheckboxCss","Checkbox","this","IC_TEXT_FIELD","eventHandler","event","stopImmediatePropagation","handleClick","checked","icCheck","emit","checkboxChecked","handleFormReset","initiallyChecked","componentWillLoad","removeDisabledFalse","disabled","host","addFormResetListener","_a","querySelector","addEventListener","componentDidLoad","onComponentRequiredPropUndefined","prop","label","propName","value","componentDidRender","additionalFieldDisplay","textfield","setAttribute","removeAttribute","additionalFieldContainer","style","display","disconnectedCallback","removeFormResetListener","removeEventListener","async","checkboxEl","shadowRoot","focus","render","id","undefined","groupLabel","replace","parentElementSize","parentElement","size","renderHiddenInput","name","removeHiddenInput","h","Host","class","small","indeterminate","width","height","viewBox","xmlns","d","role","type","onClick","variant","htmlFor","isSlotUsed","ref","el","dynamicText"],"sources":["./src/components/ic-checkbox/ic-checkbox.css?tag=ic-checkbox&encapsulation=shadow","./src/components/ic-checkbox/ic-checkbox.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host(.disabled) {\n color: var(--ic-architectural-200);\n pointer-events: none;\n}\n\n.container {\n display: flex;\n width: fit-content;\n padding: var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);\n margin-bottom: var(--ic-space-xxs);\n align-items: center;\n}\n\n:host(.small) .container {\n margin-bottom: var(--ic-space-xxxs);\n}\n\n.checkbox {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n display: block;\n position: relative;\n top: 0;\n left: 0;\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n background-color: transparent;\n border: var(--ic-space-1px) solid var(--ic-architectural-300);\n border-radius: var(--ic-border-radius);\n outline: none;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n flex-shrink: 0;\n}\n\n:host(.small) .checkbox,\n:host(.small) .container svg {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n}\n\n:host(.large) .checkbox,\n:host(.large) .container svg {\n width: var(--ic-space-xl);\n height: var(--ic-space-xl);\n}\n\n.checkbox:checked {\n background-color: var(--ic-action-default);\n border: var(--ic-space-1px) solid var(--ic-action-default);\n transition: var(--ic-easing-transition-slow);\n}\n\n.checkbox:checked:disabled {\n background-color: var(--ic-architectural-200);\n}\n\n.checkbox:indeterminate,\n.checkbox.indeterminate:checked {\n background-color: transparent;\n border: 0.125rem solid var(--ic-action-default);\n}\n\n.checkbox:checked:hover {\n background-color: var(--ic-action-default-hover);\n}\n\n.checkbox:indeterminate:hover,\n.checkbox.indeterminate:checked:hover {\n background-color: var(--ic-action-default-bg-hover);\n border: 0.125rem solid var(--ic-action-default-hover);\n}\n\n.checkbox:checked:active {\n background-color: var(--ic-action-default-active);\n}\n\n.checkbox:indeterminate:active,\n.checkbox.indeterminate:checked:active {\n background-color: var(--ic-action-default-bg-active);\n border: 0.125rem solid var(--ic-action-default-active);\n}\n\n.checkbox:hover {\n background-color: var(--ic-action-default-bg-hover);\n box-shadow: 0 0 0 0.25rem var(--ic-action-default-bg-hover);\n border: var(--ic-space-1px) solid var(--ic-action-default-hover);\n}\n\n.checkbox:active {\n background-color: var(--ic-action-default-bg-active);\n box-shadow: 0 0 0 0.25rem var(--ic-action-default-bg-active);\n border: var(--ic-space-1px) solid var(--ic-action-default-active);\n}\n\n.checkbox:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.checkbox:disabled {\n border: var(--ic-space-1px) dashed var(--ic-architectural-200);\n}\n\n.checkbox-label {\n padding-left: var(--ic-space-sm);\n}\n\n.checkbox-label:hover {\n cursor: pointer;\n}\n\n.checkmark {\n position: relative;\n right: calc(-1 * var(--ic-space-lg));\n margin-left: calc(-1 * var(--ic-space-lg));\n fill: white;\n z-index: 1;\n background-color: transparent;\n pointer-events: none;\n flex-shrink: 0;\n}\n\n:host(.small) .checkmark {\n margin-left: calc(-1 * var(--ic-space-md));\n right: calc(-1 * var(--ic-space-md));\n}\n\n:host(.large) .checkmark {\n margin-left: calc(-1 * var(--ic-space-xl));\n right: calc(-1 * var(--ic-space-xl));\n}\n\n.indeterminate-symbol {\n position: relative;\n width: 0.875rem;\n height: var(--ic-space-xxxs);\n right: -1.188rem;\n margin-left: -0.875rem;\n z-index: 1;\n background-color: var(--ic-action-default);\n pointer-events: none;\n flex-shrink: 0;\n}\n\n:host(.small) .indeterminate-symbol {\n width: 0.6rem;\n right: -0.8rem;\n margin-left: -0.6rem;\n}\n\n:host(.large) .indeterminate-symbol {\n width: 1.25rem;\n right: -1.625rem;\n margin-left: -1.25rem;\n}\n\n.container:hover .indeterminate-symbol {\n background-color: var(--ic-action-default-hover);\n}\n\n.container:active .indeterminate-symbol {\n background-color: var(--ic-action-default-active);\n}\n\n.additional-field-wrapper {\n margin-left: calc(var(--ic-space-md) + var(--ic-space-lg));\n margin-top: calc(var(--ic-space-sm) / 2);\n}\n\n.branch-corner {\n color: var(--ic-action-default);\n height: var(--ic-space-md);\n width: var(--ic-space-xl);\n border-radius: 0 0 0 0.188rem;\n border-bottom: 0.125rem solid var(--ic-action-default);\n border-left: 0.125rem solid var(--ic-action-default);\n}\n\n.dynamic-container {\n display: flex;\n position: relative;\n margin: var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);\n gap: var(--ic-space-xs);\n}\n\n.dynamic-text {\n color: var(--ic-action-default);\n margin-top: calc(var(--ic-space-sm) / 2);\n margin-bottom: var(--ic-space-xs);\n border-radius: 2%;\n}\n\n@media (max-width: 576px) {\n ::slotted(ic-text-field) {\n --input-width: 100%;\n }\n}\n\n@media (forced-colors: active) {\n /* Styles here only apply to Forced Colors Mode */\n .checkbox {\n appearance: revert;\n transition: none;\n }\n\n .checkbox:checked {\n transition: none;\n }\n\n .checkbox:focus-visible {\n outline: 0.125rem solid highlight;\n }\n\n .checkbox:disabled:not(:checked) {\n appearance: none;\n border-color: GrayText;\n }\n\n .checkmark {\n fill: none;\n }\n\n .indeterminate-symbol {\n display: none;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n} from \"@stencil/core\";\nimport { IcAdditionalFieldTypes, IcSizes } from \"../../utils/types\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n removeHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-checkbox\",\n styleUrl: \"ic-checkbox.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Checkbox {\n private additionalFieldContainer: HTMLDivElement;\n private IC_TEXT_FIELD: string = \"ic-text-field\";\n\n @Element() host: HTMLIcCheckboxElement;\n\n /**\n * The style of additionalField that will be displayed if used.\n */\n @Prop({ reflect: true }) additionalFieldDisplay: IcAdditionalFieldTypes =\n \"static\";\n\n /**\n * If `true`, the checkbox will be set to the checked state.\n */\n @Prop({ reflect: true, mutable: true }) checked?: boolean = false;\n @State() initiallyChecked = this.checked;\n\n /**\n * If `true`, the checkbox will be set to the disabled state.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * The text to be displayed when dynamic.\n */\n @Prop() dynamicText: string = \"This selection requires additional answers\";\n\n /**\n * The group label for the checkbox.\n */\n @Prop() groupLabel: string;\n\n /**\n * If `true`, the indeterminate state will be displayed when checked.\n */\n @Prop() indeterminate: boolean = false;\n\n /**\n * The label for the checkbox.\n */\n @Prop() label!: string;\n\n /**\n * The name for the checkbox. If not set when used in a checkbox group, the name will be based on the group name.\n */\n @Prop() name: string;\n\n /**\n * The size of the checkbox to be displayed. This does not affect the font size of the label. If a checkbox is contained in a checkbox group, this will override the size set on checkbox group.\n */\n @Prop() size?: IcSizes;\n\n /**\n * @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 for the checkbox.\n */\n @Prop() value!: string;\n\n /**\n * @deprecated This event should not be used anymore. Use icCheck instead.\n */\n @Event() checkboxChecked: EventEmitter<void>;\n\n /**\n * Emitted when a checkbox has been checked.\n */\n @Event() icCheck: EventEmitter<void>;\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.host);\n\n addFormResetListener(this.host, this.handleFormReset);\n this.host\n .querySelector(this.IC_TEXT_FIELD)\n ?.addEventListener(\"icChange\", this.eventHandler);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.value, propName: \"value\" },\n ],\n \"Checkbox\"\n );\n }\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n const textfield = this.host.querySelector(this.IC_TEXT_FIELD);\n if (!this.checked) {\n textfield && textfield.setAttribute(\"disabled\", \"\");\n } else {\n textfield && textfield.removeAttribute(\"disabled\");\n }\n } else {\n if (!this.checked) {\n this.additionalFieldContainer.style.display = \"none\";\n } else {\n this.additionalFieldContainer.style.display = \"flex\";\n }\n }\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.host, this.handleFormReset);\n this.host\n .querySelector(this.IC_TEXT_FIELD)\n ?.removeEventListener(\"icChange\", this.eventHandler);\n }\n\n /**\n * Sets focus on the checkbox.\n */\n @Method()\n async setFocus(): Promise<void> {\n const checkboxEl: HTMLElement =\n this.host.shadowRoot.querySelector(\".checkbox\");\n if (checkboxEl) {\n checkboxEl.focus();\n }\n }\n\n private eventHandler = (event: CustomEvent) => {\n event.stopImmediatePropagation();\n };\n\n private handleClick = () => {\n this.checked = !this.checked;\n this.icCheck.emit();\n this.checkboxChecked.emit();\n };\n\n private handleFormReset = (): void => {\n this.checked = this.initiallyChecked;\n };\n\n render() {\n let id = `ic-checkbox-${\n this.label !== undefined ? this.label : this.value\n }-${this.groupLabel}`;\n\n id = id.replace(/ /g, \"-\");\n\n const parentElementSize = (\n this.host.parentElement as HTMLIcCheckboxGroupElement\n ).size;\n\n this.checked\n ? renderHiddenInput(\n true,\n this.host,\n this.name,\n this.checked && this.value,\n this.disabled\n )\n : removeHiddenInput(this.host);\n\n return (\n <Host\n class={{\n [\"disabled\"]: this.disabled,\n [\"small\"]: this.small,\n [`${this.size || parentElementSize}`]: true,\n }}\n >\n <div class=\"container\">\n {this.checked && !this.indeterminate && (\n <svg\n class=\"checkmark\"\n width=\"1.5rem\"\n height=\"1.5rem\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n >\n <title>checkmark icon</title>\n <path d=\"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z\" />\n </svg>\n )}\n {this.checked && this.indeterminate && (\n <div class=\"indeterminate-symbol\" />\n )}\n <input\n role=\"checkbox\"\n class={{\n [\"checkbox\"]: true,\n [\"checked\"]: this.checked,\n [\"indeterminate\"]: this.indeterminate,\n }}\n type=\"checkbox\"\n name={this.name}\n id={id}\n value={this.value}\n disabled={this.disabled ? true : null}\n checked={this.checked}\n indeterminate={this.indeterminate}\n onClick={this.handleClick}\n ></input>\n <ic-typography class=\"checkbox-label\" variant=\"body\">\n <label htmlFor={id}>{this.label}</label>\n </ic-typography>\n </div>\n {isSlotUsed(this.host, \"additional-field\") && (\n <div\n class=\"dynamic-container\"\n ref={(el) => (this.additionalFieldContainer = el)}\n >\n {this.additionalFieldDisplay === \"dynamic\" && (\n <div class=\"branch-corner\"></div>\n )}\n <div>\n {this.additionalFieldDisplay === \"dynamic\" && (\n <ic-typography variant=\"caption\">\n <p class=\"dynamic-text\" aria-live=\"polite\">\n {this.dynamicText}\n </p>\n </ic-typography>\n )}\n <div\n class={{\n \"additional-field-wrapper\":\n this.additionalFieldDisplay === \"static\",\n }}\n >\n <slot name=\"additional-field\"></slot>\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["TabContext","this","newTabPanels","newTabs","linkTabs","tabs","forEach","tab","index","tabId","contextId","tabPanelId","shared","contextIdAttr","setAttribute","tabPosition","tabGroup","tabPanels","panelId","appearance","IcThemeForegroundEnum","Light","getChildren","host","querySelector","Array","from","querySelectorAll","children","filter","child","tagName","enabledTabs","getEnabledTabs","keydownHandler","event","activationType","handleKeyBoardNavAutomatic","handleKeyBoardNavManual","attatchEventListeners","addEventListener","setControlledMode","selectedTabIndex","undefined","controlledMode","selectedTab","setInitialTab","focusedTabIndex","firstEnabledTabIndex","findIndex","configureTabs","selected","tabPanel","disabled","getIndexOfEnabledTab","allTabsIndex","keyboardSelectTab","enabledTabIndex","newIndex","focus","icTabSelect","emit","tabIndex","tabSelect","keyboardFocusTab","key","preventDefault","length","updateSelectedTab","newValue","componentDidLoad","componentWillUpdate","disconnectedCallback","removeEventListener","tabClickHandler","detail","position","stopImmediatePropagation","tabCreatedHandler","ev","setFocus","push","tabEnabledHandler","async","hadFocus","render","h"],"sources":["./src/components/ic-tab-context/ic-tab-context.tsx"],"sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Listen,\n Prop,\n State,\n h,\n Watch,\n Method,\n} from \"@stencil/core\";\nimport {\n IcActivationTypes,\n IcThemeForegroundNoDefault,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\nimport {\n IcTabClickEventDetail,\n IcTabSelectEventDetail,\n} from \"../ic-tab/ic-tab.types\";\n\n@Component({\n tag: \"ic-tab-context\",\n})\nexport class TabContext {\n private controlledMode: boolean;\n private enabledTabs: HTMLIcTabElement[];\n private focusedTabIndex: number;\n private newTabPanels: HTMLIcTabPanelElement[] = [];\n private newTabs: HTMLIcTabElement[] = [];\n private tabs: HTMLIcTabElement[];\n private tabGroup: HTMLIcTabGroupElement;\n private tabPanels: HTMLIcTabPanelElement[];\n\n @Element() host: HTMLIcTabContextElement;\n\n @State() selectedTab: number | null;\n\n /**\n * Determines whether tabs have to be manually activated (by pressing 'Enter' or 'Space') when they receive focus using keyboard navigation.\n */\n @Prop() activationType?: IcActivationTypes = \"automatic\";\n\n /**\n * The appearance of the tab context, e.g dark, or light.\n */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n\n /**\n * The unique context needed if using multiple tabs inside one another i.e. rendering another set of tabs inside a tab panel.\n */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /**\n * The selected tab to be controlled by the user. Must be used alongside the icTabSelect event to manage tab selection.\n */\n @Prop() selectedTabIndex?: number;\n\n @Watch(\"selectedTabIndex\")\n updateSelectedTab(newValue: number): void {\n this.selectedTab = newValue;\n }\n\n /**\n * Emitted when a user selects a tab.\n */\n @Event({ bubbles: false }) icTabSelect: EventEmitter<IcTabSelectEventDetail>;\n\n /**\n * @deprecated This event should not be used anymore. Use icTabSelect instead.\n */\n @Event({ bubbles: false }) tabSelect: EventEmitter<IcTabSelectEventDetail>;\n\n componentDidLoad(): void {\n this.setControlledMode();\n this.getChildren();\n this.linkTabs();\n this.attatchEventListeners();\n this.setInitialTab();\n this.configureTabs();\n }\n\n componentWillUpdate(): void {\n this.configureTabs();\n }\n\n disconnectedCallback(): void {\n this.tabGroup.removeEventListener(\"keydown\", this.keydownHandler);\n }\n\n @Listen(\"tabClick\")\n tabClickHandler(event: CustomEvent<IcTabClickEventDetail>): void {\n if (\n this.selectedTabIndex === undefined &&\n event.detail.contextId === this.contextId\n ) {\n this.selectedTab = event.detail.position;\n }\n this.icTabSelect.emit({\n tabIndex: event.detail.position,\n });\n this.tabSelect.emit({\n tabIndex: event.detail.position,\n });\n event.stopImmediatePropagation();\n }\n\n @Listen(\"tabCreated\")\n @Listen(\"tabPanelCreated\")\n tabCreatedHandler(ev: CustomEvent): void {\n if (this.tabs && this.tabPanels) {\n (ev.detail.setFocus ? this.newTabs : this.newTabPanels).push(ev.detail);\n if (this.newTabs.length === this.newTabPanels.length) {\n this.tabs.push(...this.newTabs);\n this.tabPanels.push(...this.newTabPanels);\n this.enabledTabs = this.getEnabledTabs();\n this.linkTabs();\n this.newTabs = [];\n this.newTabPanels = [];\n }\n }\n }\n\n @Listen(\"tabEnabled\")\n tabEnabledHandler(): void {\n this.enabledTabs = this.getEnabledTabs();\n }\n\n /**\n * @internal Used to set tab/tab panel IDs when a tab/tab panel has been removed\n */\n @Method()\n async tabRemovedHandler(hadFocus?: boolean): Promise<void> {\n this.getChildren();\n this.enabledTabs = this.getEnabledTabs();\n this.linkTabs();\n if (this.tabs[this.selectedTab] && this.tabPanels[this.selectedTab]) {\n this.tabs[this.selectedTab].selected = true;\n this.tabPanels[this.selectedTab].selectedTab =\n this.tabs[this.selectedTab].tabId;\n } else {\n this.setInitialTab();\n }\n\n if (hadFocus) {\n this.tabs[this.selectedTab].setFocus();\n }\n }\n\n // Sets attributes to link tab-group, tabs and tab-panels\n private linkTabs = () => {\n this.tabs.forEach((tab, index) => {\n const tabId = `ic-tab-${index}-context-${this.contextId}`;\n const tabPanelId = `ic-tab-panel-${index}-context-${this.contextId}`;\n const shared = `ic-tab--${index}-context-${this.contextId}`;\n const contextIdAttr = \"context-id\";\n tab.setAttribute(\"id\", tabId);\n tab.tabId = shared;\n tab.tabPosition = index;\n tab.setAttribute(\"aria-controls\", tabPanelId);\n tab.setAttribute(contextIdAttr, this.contextId);\n this.tabGroup.setAttribute(contextIdAttr, this.contextId);\n this.tabPanels[index].setAttribute(\"id\", tabPanelId);\n this.tabPanels[index].panelId = shared;\n this.tabPanels[index].tabPosition = index;\n this.tabPanels[index].setAttribute(\"aria-labelledby\", tabId);\n this.tabPanels[index].setAttribute(contextIdAttr, this.contextId);\n\n if (this.appearance === IcThemeForegroundEnum.Light) {\n tab.appearance = this.appearance;\n this.tabPanels[index].appearance = this.appearance;\n }\n });\n\n if (this.appearance === IcThemeForegroundEnum.Light) {\n this.tabGroup.appearance = this.appearance;\n }\n };\n\n // Gets tabs and tabpanels with the same context ID\n // Using querySelector to selector the children in relation to the host\n private getChildren = (): void => {\n this.tabGroup = this.host.querySelector(\"ic-tab-group\");\n this.tabs = Array.from(this.tabGroup.querySelectorAll(\"ic-tab\"));\n this.tabPanels = Array.from(this.host.children).filter(\n (child) => child.tagName === \"IC-TAB-PANEL\"\n ) as HTMLIcTabPanelElement[];\n this.enabledTabs = this.getEnabledTabs();\n };\n\n private keydownHandler = (event: KeyboardEvent) => {\n if (this.activationType === \"automatic\") {\n this.handleKeyBoardNavAutomatic(event);\n } else {\n this.handleKeyBoardNavManual(event);\n }\n };\n\n // Determines how keyboard navigation is to be handled based on the activation type\n private attatchEventListeners = (): void => {\n this.tabGroup.addEventListener(\"keydown\", this.keydownHandler);\n };\n\n // Determines whether the selected tab is being controlled within the component\n // or by the user (via selectedTabIndex and onIcTabSelect)\n private setControlledMode = (): void => {\n if (this.selectedTabIndex !== undefined) {\n this.controlledMode = true;\n this.selectedTab = this.selectedTabIndex;\n }\n };\n\n // Sets the tab that is selected on initial render\n private setInitialTab = (): void => {\n if (this.controlledMode) {\n this.selectedTab = this.selectedTabIndex;\n this.focusedTabIndex = this.selectedTabIndex;\n } else {\n const firstEnabledTabIndex = this.tabs.findIndex(\n (tab) => tab.tabId === this.enabledTabs[0].tabId\n );\n this.selectedTab = firstEnabledTabIndex;\n this.focusedTabIndex = firstEnabledTabIndex;\n }\n };\n\n // Passes the selected tab to the tab and tab panel components\n private configureTabs = () => {\n this.enabledTabs.forEach((tab) => {\n tab.selected = tab.tabPosition === this.selectedTab;\n });\n this.tabPanels.forEach((tabPanel) => {\n tabPanel.selectedTab = this.tabs[this.selectedTab].tabId;\n });\n };\n\n private getEnabledTabs = () => {\n return Array.from(this.tabs).filter((child) => !child.disabled);\n };\n\n private getIndexOfEnabledTab = (allTabsIndex: number) => {\n return this.enabledTabs.findIndex(\n (tab) => tab.tabId === this.tabs[allTabsIndex].tabId\n );\n };\n\n // Sets focus on tab and selects it\n private keyboardSelectTab = (enabledTabIndex: number) => {\n const newIndex = this.tabs.findIndex(\n (tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId\n );\n this.enabledTabs[enabledTabIndex].focus();\n if (!this.controlledMode) {\n this.selectedTab = newIndex;\n } else {\n this.icTabSelect.emit({ tabIndex: newIndex });\n this.tabSelect.emit({ tabIndex: newIndex });\n }\n };\n\n // Sets focus on tab without selecting it (for manual activation)\n private keyboardFocusTab = (enabledTabIndex: number) => {\n const newIndex = this.tabs.findIndex(\n (tab) => tab.tabId === this.enabledTabs[enabledTabIndex].tabId\n );\n this.enabledTabs[enabledTabIndex].focus();\n this.focusedTabIndex = newIndex;\n };\n\n private handleKeyBoardNavAutomatic = (event: KeyboardEvent) => {\n const key = event.key;\n const enabledTabIndex = this.getIndexOfEnabledTab(this.selectedTab);\n let preventDefault = true;\n switch (key) {\n case \"Home\":\n this.keyboardSelectTab(0);\n break;\n case \"End\":\n this.keyboardSelectTab(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n if (enabledTabIndex < this.enabledTabs.length - 1) {\n this.keyboardSelectTab(enabledTabIndex + 1);\n } else {\n this.keyboardSelectTab(0);\n }\n break;\n case \"ArrowLeft\":\n if (enabledTabIndex > 0) {\n this.keyboardSelectTab(enabledTabIndex - 1);\n } else {\n this.keyboardSelectTab(this.enabledTabs.length - 1);\n }\n break;\n default:\n preventDefault = false;\n }\n if (preventDefault) event.preventDefault();\n };\n\n private handleKeyBoardNavManual = (event: KeyboardEvent) => {\n const key = event.key;\n const enabledTabIndex = this.getIndexOfEnabledTab(this.focusedTabIndex);\n let preventDefault = true;\n switch (key) {\n case \"Home\":\n this.keyboardFocusTab(0);\n break;\n case \"End\":\n this.keyboardFocusTab(this.enabledTabs.length - 1);\n break;\n case \"ArrowRight\":\n if (enabledTabIndex < this.enabledTabs.length - 1) {\n this.keyboardFocusTab(enabledTabIndex + 1);\n } else {\n this.keyboardFocusTab(0);\n }\n break;\n case \"ArrowLeft\":\n if (enabledTabIndex > 0) {\n this.keyboardFocusTab(enabledTabIndex - 1);\n } else {\n this.keyboardFocusTab(this.enabledTabs.length - 1);\n }\n break;\n case \"Enter\":\n this.keyboardSelectTab(this.focusedTabIndex);\n break;\n case \" \":\n this.keyboardSelectTab(this.focusedTabIndex);\n break;\n default:\n preventDefault = false;\n }\n if (preventDefault) event.preventDefault();\n };\n\n render() {\n return <slot></slot>;\n }\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icBreadcrumbGroupCss","BreadcrumbGroup","this","ADD_CLASS_DELAY","IC_BREADCRUMB","resizeObserver","SHOW_BACK_ICON","setBackBreadcrumb","backBreadcrumbOnly","setBackBreadcrumbAttr","lastParentBreadcrumb","classList","add","setAttribute","getLastParentBreadcrumb","allBreadcrumbs","Array","from","el","querySelectorAll","length","breadcrumbs","filter","breadcrumb","getAttribute","setDefaultBreadcrumbs","forEach","setCollapsed","collapsed","collapsedBreadcrumbs","splice","contains","firstBreadcrumb","insertAdjacentElement","collapsedBreadcrumbWrapper","clickHandler","handleHiddenCollapsedBreadcrumbs","renderCollapsedBreadcrumb","document","createElement","collapsedBreadcrumbEl","ariaLabel","id","innerText","className","ariaDescribed","addEventListener","append","remove","setTimeout","removeVisuallyHiddenClass","expandedBreadcrumbs","transitionendHandler","event","propertyName","target","setLastParentCollapsedBackBreadcrumb","revertLastParentCollapsedBreadcrumb","resizeObserverCallback","currSize","deviceSize","DEVICE_SIZES","S","runResizeObserver","ResizeObserver","getCurrentDeviceSize","observe","XL","componentWillLoad","checkResizeObserver","disconnectedCallback","removeEventListener","render","h","Host","class","back"],"sources":["./src/components/ic-breadcrumb-group/ic-breadcrumb-group.css?tag=ic-breadcrumb-group&encapsulation=shadow","./src/components/ic-breadcrumb-group/ic-breadcrumb-group.tsx"],"sourcesContent":[":host {\n display: block;\n}\n\n:host ol {\n display: flex;\n list-style-type: none;\n align-items: center;\n flex-wrap: wrap;\n padding: 0;\n margin: 0;\n}\n\n:host(.back) ol ::slotted(ic-breadcrumb) {\n display: none;\n}\n\n:host(.back) ol ::slotted(ic-breadcrumb.show) {\n display: flex;\n}\n\n:host(.collapsed) ol ::slotted(ic-breadcrumb.hide) {\n display: none;\n opacity: 0;\n visibility: hidden;\n}\n\n:host(.collapsed) ol ::slotted(ic-breadcrumb.visuallyhidden) {\n display: block;\n opacity: 0;\n transition: all var(--ic-easing-transition-slow);\n}\n\n:host(.collapsed) ol ::slotted(ic-breadcrumb.fade) {\n opacity: 1;\n}\n","import { Component, Host, h, Element, Prop, State } from \"@stencil/core\";\nimport {\n checkResizeObserver,\n DEVICE_SIZES,\n getCurrentDeviceSize,\n} from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-breadcrumb-group\",\n styleUrl: \"ic-breadcrumb-group.css\",\n shadow: true,\n})\n\n// Added ResizeObserver to find out width of breadcrumbs and parents. Use side navigation long title for ref.\nexport class BreadcrumbGroup {\n private ADD_CLASS_DELAY = 50;\n private breadcrumb: HTMLIcBreadcrumbElement;\n private breadcrumbs: HTMLIcBreadcrumbElement[];\n private collapsedBreadcrumbEl: HTMLButtonElement;\n private collapsedBreadcrumbs: HTMLIcBreadcrumbElement[];\n private collapsedBreadcrumbWrapper: HTMLIcBreadcrumbElement;\n private IC_BREADCRUMB: string = \"ic-breadcrumb\";\n private resizeObserver: ResizeObserver = null;\n private SHOW_BACK_ICON: string = \"show-back-icon\";\n\n @Element() el: HTMLIcBreadcrumbGroupElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() expandedBreadcrumbs: boolean = false;\n\n /**\n * If `true`, display only a single breadcrumb for the parent page with a back icon.\n */\n @Prop() backBreadcrumbOnly: boolean = false;\n /**\n * If `true`, all breadcrumbs between the first and last breadcrumb will be collapsed.\n */\n @Prop() collapsed: boolean = false;\n\n componentWillLoad(): void {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n\n if (this.backBreadcrumbOnly) {\n this.setBackBreadcrumb();\n } else {\n checkResizeObserver(this.runResizeObserver);\n }\n\n if (this.collapsed) {\n this.collapsedBreadcrumbWrapper = this.renderCollapsedBreadcrumb();\n\n if (allBreadcrumbs.length > 2) {\n if (getCurrentDeviceSize() === DEVICE_SIZES.S) {\n this.setLastParentCollapsedBackBreadcrumb();\n } else {\n this.setCollapsed();\n }\n }\n }\n }\n\n disconnectedCallback(): void {\n this.breadcrumb.removeEventListener(\n \"transitionend\",\n this.transitionendHandler\n );\n this.collapsedBreadcrumbEl.removeEventListener(\"click\", this.clickHandler);\n }\n\n private setBackBreadcrumb = () => {\n if (this.backBreadcrumbOnly) {\n this.setBackBreadcrumbAttr();\n }\n };\n\n private setBackBreadcrumbAttr = () => {\n if (this.lastParentBreadcrumb) {\n this.lastParentBreadcrumb.classList.add(\"show\");\n this.lastParentBreadcrumb.setAttribute(this.SHOW_BACK_ICON, \"true\");\n }\n };\n\n private getLastParentBreadcrumb = (): HTMLIcBreadcrumbElement | null => {\n const allBreadcrumbs: HTMLIcBreadcrumbElement[] = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n\n if (allBreadcrumbs.length === 1) {\n return null;\n }\n\n this.breadcrumbs = allBreadcrumbs.filter(\n (breadcrumb) => !breadcrumb.getAttribute(\"current\")\n );\n this.breadcrumb = this.breadcrumbs[this.breadcrumbs.length - 1];\n\n return this.breadcrumb;\n };\n\n private lastParentBreadcrumb = this.getLastParentBreadcrumb();\n\n private setDefaultBreadcrumbs = () => {\n const allBreadcrumbs = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n allBreadcrumbs.forEach((breadcrumb) => {\n breadcrumb.setAttribute(this.SHOW_BACK_ICON, \"false\");\n });\n };\n\n private setCollapsed = () => {\n if (this.collapsed) {\n const allBreadcrumbs: HTMLIcBreadcrumbElement[] = Array.from(\n this.el.querySelectorAll(this.IC_BREADCRUMB)\n );\n this.collapsedBreadcrumbs = allBreadcrumbs\n .splice(1, allBreadcrumbs.length - 2)\n .filter(\n (breadcrumb) =>\n !breadcrumb.classList.contains(\"collapsed-breadcrumb-wrapper\")\n );\n\n this.collapsedBreadcrumbs.forEach((breadcrumb) =>\n breadcrumb.classList.add(\"hide\")\n );\n\n const firstBreadcrumb = allBreadcrumbs[0];\n\n if (firstBreadcrumb) {\n firstBreadcrumb.insertAdjacentElement(\n \"afterend\",\n this.collapsedBreadcrumbWrapper\n );\n }\n }\n };\n\n private clickHandler = () => {\n this.handleHiddenCollapsedBreadcrumbs(this.collapsedBreadcrumbWrapper);\n };\n\n private renderCollapsedBreadcrumb = () => {\n this.collapsedBreadcrumbWrapper = document.createElement(\"ic-breadcrumb\");\n this.collapsedBreadcrumbWrapper.classList.add(\n \"collapsed-breadcrumb-wrapper\"\n );\n this.collapsedBreadcrumbEl = document.createElement(\"button\");\n\n const ariaLabel = document.createElement(\"span\");\n ariaLabel.id = \"collapsed-button-label\";\n ariaLabel.innerText = \"Collapsed breadcrumbs\";\n ariaLabel.className = \"hide\";\n this.collapsedBreadcrumbEl.setAttribute(\n \"aria-labelledby\",\n \"collapsed-button-label\"\n );\n\n const ariaDescribed = document.createElement(\"span\");\n ariaDescribed.id = \"collapsed-button-described\";\n ariaDescribed.innerText = \"Select to view collapsed breadcrumbs\";\n ariaDescribed.className = \"hide\";\n this.collapsedBreadcrumbEl.setAttribute(\n \"aria-describedby\",\n \"collapsed-button-described\"\n );\n\n this.collapsedBreadcrumbEl.id = \"collapsed-ellipsis\";\n this.collapsedBreadcrumbEl.innerText = \"...\";\n this.collapsedBreadcrumbEl.classList.add(\"collapsed-breadcrumb\");\n this.collapsedBreadcrumbEl.addEventListener(\"click\", this.clickHandler);\n\n this.collapsedBreadcrumbWrapper.append(ariaDescribed);\n this.collapsedBreadcrumbWrapper.append(ariaLabel);\n this.collapsedBreadcrumbWrapper.append(this.collapsedBreadcrumbEl);\n\n return this.collapsedBreadcrumbWrapper;\n };\n\n private handleHiddenCollapsedBreadcrumbs = (\n collapsedBreadcrumbWrapper: HTMLIcBreadcrumbElement\n ) => {\n collapsedBreadcrumbWrapper.remove();\n this.collapsedBreadcrumbs.forEach((breadcrumb) => {\n breadcrumb.classList.add(\"visuallyhidden\");\n breadcrumb.classList.remove(\"hide\");\n setTimeout(() => {\n breadcrumb.classList.add(\"fade\");\n }, this.ADD_CLASS_DELAY);\n\n this.removeVisuallyHiddenClass(breadcrumb);\n });\n this.expandedBreadcrumbs = true;\n };\n\n private transitionendHandler = (event: TransitionEvent) => {\n if (event.propertyName === \"opacity\") {\n (event.target as HTMLElement).classList.remove(\"visuallyhidden\");\n }\n };\n\n private removeVisuallyHiddenClass = (breadcrumb: HTMLIcBreadcrumbElement) => {\n breadcrumb.addEventListener(\"transitionend\", this.transitionendHandler);\n };\n\n private setLastParentCollapsedBackBreadcrumb = () => {\n this.setBackBreadcrumbAttr();\n this.lastParentBreadcrumb.classList.remove(\"hide\");\n };\n\n private revertLastParentCollapsedBreadcrumb = () => {\n this.lastParentBreadcrumb.setAttribute(this.SHOW_BACK_ICON, \"false\");\n };\n\n private resizeObserverCallback = (currSize: number) => {\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n\n if (this.deviceSize <= DEVICE_SIZES.S) {\n this.el.setAttribute(\"back-breadcrumb-only\", \"true\");\n if (this.collapsed) {\n this.setLastParentCollapsedBackBreadcrumb();\n } else {\n this.setBackBreadcrumb();\n }\n } else {\n this.el.setAttribute(\"back-breadcrumb-only\", \"false\");\n if (this.collapsed && this.breadcrumbs && this.breadcrumbs.length > 2) {\n this.revertLastParentCollapsedBreadcrumb();\n if (this.expandedBreadcrumbs) {\n this.setDefaultBreadcrumbs();\n } else {\n this.setCollapsed();\n }\n } else {\n this.setDefaultBreadcrumbs();\n }\n }\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = getCurrentDeviceSize();\n this.resizeObserverCallback(currSize);\n });\n\n this.resizeObserver.observe(this.el);\n };\n\n render() {\n return (\n <Host\n class={{\n back: this.backBreadcrumbOnly,\n collapsed: this.collapsed,\n }}\n >\n <nav aria-label=\"breadcrumbs\">\n <ol>\n <slot />\n </ol>\n </nav>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r,h as i,H as c}from"./p-1af8f256.js";import{l as e}from"./p-b5c0b75c.js";import{I as s}from"./p-6f57b13c.js";const a="hr.sc-ic-divider{padding:0;margin:0;border:none;height:var(--ic-space-1px);background-color:var(--ic-keyline-darken-rgb)}hr.light.sc-ic-divider{background-color:var(--ic-keyline-lighten-rgb)}";const o=class{constructor(i){r(this,i);this.foregroundColor=e()}themeChangeHandler(r){const i=r.detail;this.foregroundColor=i.mode}render(){return i(c,{"aria-hidden":"true"},i("hr",{class:{["light"]:this.foregroundColor===s.Light}}))}};o.style=a;export{o as ic_divider};
2
- //# sourceMappingURL=p-8ae9fdd1.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icDividerCss","Divider","getThemeForegroundColor","themeChangeHandler","ev","theme","detail","this","foregroundColor","mode","render","h","Host","class","IcThemeForegroundEnum","Light"],"sources":["./src/components/ic-divider/ic-divider.css?tag=ic-divider&encapsulation=scoped","./src/components/ic-divider/ic-divider.tsx"],"sourcesContent":["hr {\n padding: 0;\n margin: 0;\n border: none;\n height: var(--ic-space-1px);\n background-color: var(--ic-keyline-darken-rgb);\n}\n\nhr.light {\n background-color: var(--ic-keyline-lighten-rgb);\n}\n","import { h, Component, Host, Listen, State } from \"@stencil/core\";\n\nimport { getThemeForegroundColor } from \"../../utils/helpers\";\nimport {\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\n@Component({\n tag: \"ic-divider\",\n styleUrl: \"ic-divider.css\",\n scoped: true,\n})\nexport class Divider {\n @State() foregroundColor: IcThemeForeground = getThemeForegroundColor();\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.foregroundColor = theme.mode;\n }\n\n render() {\n return (\n <Host aria-hidden=\"true\">\n <hr\n class={{\n [\"light\"]: this.foregroundColor === IcThemeForegroundEnum.Light,\n }}\n />\n </Host>\n );\n }\n}\n"],"mappings":"qHAAA,MAAMA,EAAe,kM,MCcRC,EAAO,M,8CAC4BC,G,CAG9CC,mBAAmBC,GACjB,MAAMC,EAAiBD,EAAGE,OAC1BC,KAAKC,gBAAkBH,EAAMI,I,CAG/BC,SACE,OACEC,EAACC,EAAI,eAAa,QAChBD,EAAA,MACEE,MAAO,CACL,CAAC,SAAUN,KAAKC,kBAAoBM,EAAsBC,S"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icFooterCss","Footer","this","resizeObserverCallback","currSize","deviceSize","footerResized","emit","runResizeObserver","resizeObserver","ResizeObserver","getCurrentDeviceSize","observe","footerEl","IC_DEVICE_SIZES","XL","getThemeForegroundColor","disconnectedCallback","disconnect","componentWillLoad","componentDidLoad","checkResizeObserver","themeChangeHandler","ev","theme","detail","foregroundColor","mode","isSmall","bp","breakpoint","XS","S","M","L","render","aligned","caption","copyright","description","groupLinks","small","h","Host","class","footer","IcThemeForegroundEnum","Dark","Light","ref","fullHeight","variant","name","isSlotUsed","el","hasClassificationBanner"],"sources":["./src/components/ic-footer/ic-footer.css?tag=ic-footer&encapsulation=shadow","./src/components/ic-footer/ic-footer.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n\n --footer-compliance-padding: 1rem 0;\n}\n\n:host(.footer-sparse) {\n --footer-links-padding: 1.5rem 0;\n --footer-logo-margin-bottom: var(--ic-space-lg);\n --footer-link-inner-flex-direction: row;\n}\n\n:host(.footer-small) {\n --footer-links-padding: 0 0;\n --footer-logo-margin-bottom: var(--ic-space-md);\n --footer-link-inner-flex-direction: column;\n}\n\n:host(.footer-light) {\n --footer-theme-secondary: var(--ic-theme-secondary);\n --footer-theme-tertiary: var(--ic-theme-tertiary);\n --footer-keyline: var(--ic-keyline-lighten);\n}\n\n:host(.footer-dark) {\n --footer-theme-secondary: var(--ic-theme-secondary-light);\n --footer-theme-tertiary: var(--ic-theme-tertiary-light);\n --footer-keyline: var(--ic-keyline-darken);\n}\n\n:host(.footer-small.footer-ungrouped) {\n --footer-links-padding: var(--ic-space-md) 0 0 0;\n}\n\n/* Main inner footer element */\nfooter {\n display: flex;\n flex-direction: column;\n width: 100%;\n}\n\n/* Description */\n\n.footer-description {\n background-color: var(--footer-theme-secondary);\n color: var(--ic-theme-text);\n border-bottom: var(--footer-keyline);\n}\n\n.footer-description-inner {\n padding: 1rem 0;\n}\n\n/* Links */\n\n.footer-links {\n padding: var(--footer-links-padding);\n background-color: var(--footer-theme-secondary);\n color: var(--ic-theme-text);\n}\n\n.footer-links-inner {\n display: flex;\n flex-direction: var(--footer-link-inner-flex-direction);\n}\n\n/* Compliance */\n\n.footer-compliance {\n background-color: var(--footer-theme-tertiary);\n color: var(--ic-theme-text);\n}\n\n.footer-compliance-inner {\n padding: var(--footer-compliance-padding);\n}\n\n.footer-logo {\n margin-bottom: var(--footer-logo-margin-bottom);\n display: flex;\n gap: var(--ic-space-xxl);\n}\n\n.footer-logo > ::slotted() {\n margin-right: var(--ic-space-md);\n}\n\n.footer-caption {\n margin-bottom: var(--ic-space-md);\n}\n\n.classification-spacing {\n margin-bottom: var(--ic-space-lg);\n}\n\n@media (forced-colors: active) {\n footer {\n border-top: var(--ic-hc-border);\n }\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Prop,\n State,\n h,\n Host,\n Listen,\n} from \"@stencil/core\";\nimport { IC_DEVICE_SIZES } from \"../../utils/constants\";\nimport {\n getCurrentDeviceSize,\n getThemeForegroundColor,\n checkResizeObserver,\n hasClassificationBanner,\n isSlotUsed,\n} from \"../../utils/helpers\";\nimport {\n IcAlignment,\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport { IcFooterBreakpoints } from \"./ic-footer.types\";\n\n/**\n * @slot description - Content will be rendered at the top of the footer.\n * @slot link - Content will be rendered between description and logos.\n * @slot logo - Content will be rendered underneath footer links.\n * @slot caption - Content will be rendered above Crown Copyright.\n */\n\n@Component({\n tag: \"ic-footer\",\n styleUrl: \"ic-footer.css\",\n shadow: true,\n})\nexport class Footer {\n private footerEl: HTMLElement;\n private resizeObserver: ResizeObserver;\n\n @Element() el: HTMLIcFooterElement;\n\n @State() deviceSize: number = IC_DEVICE_SIZES.XL;\n @State() foregroundColor: IcThemeForeground = getThemeForegroundColor();\n\n /**\n * The alignment of the section containers used within the footer.\n */\n @Prop() aligned?: IcAlignment = \"left\";\n\n /**\n * The screen size breakpoint at which to switch to the small layout.\n */\n @Prop() breakpoint?: IcFooterBreakpoints = \"medium\";\n\n /**\n * The caption displayed at the bottom of the footer.\n */\n @Prop() caption: string;\n\n /**\n * If `true`, the footer will display the crown copyright at the bottom.\n */\n @Prop() copyright: boolean = true;\n\n /**\n * The description displayed at the top of the footer.\n */\n @Prop() description: string;\n\n /**\n * If `true`, the footer will be set up to handle link groups instead of standalone links.\n */\n @Prop() groupLinks?: boolean = false;\n\n /**\n * @internal Triggers on page resize and triggers style changes in footer links and link groups\n */\n @Event() footerResized: EventEmitter<void>;\n\n disconnectedCallback(): void {\n this.resizeObserver.disconnect();\n }\n\n componentWillLoad(): void {\n this.deviceSize = getCurrentDeviceSize();\n }\n\n componentDidLoad(): void {\n checkResizeObserver(this.runResizeObserver);\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.foregroundColor = theme.mode;\n }\n\n private isSmall() {\n const bp = this.breakpoint;\n\n return bp === \"extra small\"\n ? this.deviceSize < IC_DEVICE_SIZES.XS\n : bp === \"small\"\n ? this.deviceSize < IC_DEVICE_SIZES.S\n : bp === \"medium\"\n ? this.deviceSize < IC_DEVICE_SIZES.M\n : bp === \"large\"\n ? this.deviceSize < IC_DEVICE_SIZES.L\n : bp === \"extra large\"\n ? this.deviceSize < IC_DEVICE_SIZES.XL\n : false;\n }\n\n private resizeObserverCallback = (currSize: number) => {\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n }\n this.footerResized.emit();\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = getCurrentDeviceSize();\n this.resizeObserverCallback(currSize);\n });\n\n this.resizeObserver.observe(this.footerEl);\n };\n\n render() {\n const {\n aligned,\n caption,\n copyright,\n description,\n groupLinks,\n foregroundColor,\n } = this;\n const small = this.isSmall();\n\n return (\n <Host\n class={{\n footer: true,\n [`footer-${small ? \"small\" : \"sparse\"}`]: true,\n [`footer-${groupLinks ? \"grouped\" : \"ungrouped\"}`]: true,\n [`footer-${foregroundColor}`]: true,\n // Slots will be able to infer their own color\n [IcThemeForegroundEnum.Dark]:\n foregroundColor === IcThemeForegroundEnum.Dark,\n [IcThemeForegroundEnum.Light]:\n foregroundColor === IcThemeForegroundEnum.Light,\n }}\n >\n <footer ref={(footerEl) => (this.footerEl = footerEl)}>\n {/* Description */}\n <div class=\"footer-description\">\n <ic-section-container aligned={aligned} fullHeight={true}>\n <div class=\"footer-description-inner\">\n <ic-typography variant=\"body\">\n <slot name=\"description\">{description}</slot>\n </ic-typography>\n </div>\n </ic-section-container>\n </div>\n\n {/* Links */}\n {isSlotUsed(this.el, \"link\") && (\n <div class=\"footer-links\">\n {groupLinks && small ? (\n <div class=\"footer-links-inner\">\n <slot name=\"link\" />\n </div>\n ) : (\n <ic-section-container fullHeight aligned={aligned}>\n <div class=\"footer-links-inner\">\n <slot name=\"link\" />\n </div>\n </ic-section-container>\n )}\n </div>\n )}\n\n {/* Compliance (logo, caption, copyright) */}\n <div class=\"footer-compliance\">\n <ic-section-container aligned={aligned} fullHeight={true}>\n <div class=\"footer-compliance-inner\">\n {isSlotUsed(this.el, \"logo\") && (\n <div class=\"footer-logo\">\n {/* Logo */}\n <slot name=\"logo\" />\n </div>\n )}\n {(isSlotUsed(this.el, \"caption\") || caption) && (\n <div class=\"footer-caption\">\n <ic-typography\n variant={\n this.deviceSize <= IC_DEVICE_SIZES.M\n ? \"caption\"\n : \"body\"\n }\n >\n <slot name=\"caption\">{caption}</slot>\n </ic-typography>\n </div>\n )}\n {copyright && (\n <div\n class={{\n [\"footer-copyright\"]: true,\n [\"classification-spacing\"]: hasClassificationBanner(),\n }}\n >\n <ic-typography\n variant={\n this.deviceSize <= IC_DEVICE_SIZES.M\n ? \"caption-uppercase\"\n : \"label-uppercase\"\n }\n >\n &copy; Crown Copyright\n </ic-typography>\n </div>\n )}\n </div>\n </ic-section-container>\n </div>\n </footer>\n </Host>\n );\n }\n}\n"],"mappings":"2KAAA,MAAMA,EAAc,o/H,MCuCPC,EAAM,M,sEA8ETC,KAAAC,uBAA0BC,IAChC,GAAIA,IAAaF,KAAKG,WAAY,CAChCH,KAAKG,WAAaD,C,CAEpBF,KAAKI,cAAcC,MAAM,EAGnBL,KAAAM,kBAAoB,KAC1BN,KAAKO,eAAiB,IAAIC,gBAAe,KACvC,MAAMN,EAAWO,IACjBT,KAAKC,uBAAuBC,EAAS,IAGvCF,KAAKO,eAAeG,QAAQV,KAAKW,SAAS,E,gBArFdC,EAAgBC,G,qBACAC,I,aAKd,O,gBAKW,S,sCAUd,K,2CAUE,K,CAO/BC,uBACEf,KAAKO,eAAeS,Y,CAGtBC,oBACEjB,KAAKG,WAAaM,G,CAGpBS,mBACEC,EAAoBnB,KAAKM,kB,CAI3Bc,mBAAmBC,GACjB,MAAMC,EAAiBD,EAAGE,OAC1BvB,KAAKwB,gBAAkBF,EAAMG,I,CAGvBC,UACN,MAAMC,EAAK3B,KAAK4B,WAEhB,OAAOD,IAAO,cACV3B,KAAKG,WAAaS,EAAgBiB,GAClCF,IAAO,QACP3B,KAAKG,WAAaS,EAAgBkB,EAClCH,IAAO,SACP3B,KAAKG,WAAaS,EAAgBmB,EAClCJ,IAAO,QACP3B,KAAKG,WAAaS,EAAgBoB,EAClCL,IAAO,cACP3B,KAAKG,WAAaS,EAAgBC,GAClC,K,CAmBNoB,SACE,MAAMC,QACJA,EAAOC,QACPA,EAAOC,UACPA,EAASC,YACTA,EAAWC,WACXA,EAAUd,gBACVA,GACExB,KACJ,MAAMuC,EAAQvC,KAAK0B,UAEnB,OACEc,EAACC,EAAI,CACHC,MAAO,CACLC,OAAQ,KACR,CAAC,UAAUJ,EAAQ,QAAU,YAAa,KAC1C,CAAC,UAAUD,EAAa,UAAY,eAAgB,KACpD,CAAC,UAAUd,KAAoB,KAE/B,CAACoB,EAAsBC,MACrBrB,IAAoBoB,EAAsBC,KAC5C,CAACD,EAAsBE,OACrBtB,IAAoBoB,EAAsBE,QAG9CN,EAAA,UAAQO,IAAMpC,GAAcX,KAAKW,SAAWA,GAE1C6B,EAAA,OAAKE,MAAM,sBACTF,EAAA,wBAAsBN,QAASA,EAASc,WAAY,MAClDR,EAAA,OAAKE,MAAM,4BACTF,EAAA,iBAAeS,QAAQ,QACrBT,EAAA,QAAMU,KAAK,eAAeb,OAOjCc,EAAWnD,KAAKoD,GAAI,SACnBZ,EAAA,OAAKE,MAAM,gBACRJ,GAAcC,EACbC,EAAA,OAAKE,MAAM,sBACTF,EAAA,QAAMU,KAAK,UAGbV,EAAA,wBAAsBQ,WAAU,KAACd,QAASA,GACxCM,EAAA,OAAKE,MAAM,sBACTF,EAAA,QAAMU,KAAK,YAQrBV,EAAA,OAAKE,MAAM,qBACTF,EAAA,wBAAsBN,QAASA,EAASc,WAAY,MAClDR,EAAA,OAAKE,MAAM,2BACRS,EAAWnD,KAAKoD,GAAI,SACnBZ,EAAA,OAAKE,MAAM,eAETF,EAAA,QAAMU,KAAK,WAGbC,EAAWnD,KAAKoD,GAAI,YAAcjB,IAClCK,EAAA,OAAKE,MAAM,kBACTF,EAAA,iBACES,QACEjD,KAAKG,YAAcS,EAAgBmB,EAC/B,UACA,QAGNS,EAAA,QAAMU,KAAK,WAAWf,KAI3BC,GACCI,EAAA,OACEE,MAAO,CACL,CAAC,oBAAqB,KACtB,CAAC,0BAA2BW,MAG9Bb,EAAA,iBACES,QACEjD,KAAKG,YAAcS,EAAgBmB,EAC/B,oBACA,mBAAiB,0B"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as e,H as o,g as a}from"./p-1af8f256.js";import{n as r,r as n,b as s,i as c,p as l,a as d}from"./p-b5c0b75c.js";import{I as h}from"./p-6f57b13c.js";import{c as u}from"./p-7c0dcd00.js";const b='/*! 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:inline-block;--button-default:var(--ic-action-default);--button-default-hover:var(--ic-action-default-hover);--button-default-active:var(--ic-action-default-active);--button-default-background-hover:var(--ic-action-default-bg-hover);--button-default-background-active:var(--ic-action-default-bg-active);--icon-width:100%;--icon-height:100%}.button{font-family:var(--ic-font-body-family);text-decoration:none;font-weight:600;font-size:0.875rem;transition:var(--ic-easing-transition-fast);border-radius:var(--ic-border-radius);min-width:var(--min-width, 6.25rem);display:inline-flex;gap:var(--ic-space-xs);flex-direction:row;justify-content:center;align-items:center;background:none;border:none;box-sizing:border-box;white-space:nowrap;vertical-align:middle}:host(.with-badge) .button{border-radius:0.2188rem}.button:hover{cursor:pointer}.button:focus,:host .button:focus{box-shadow:var(--ic-border-focus)}:host(.light) .button:focus{box-shadow:var(--ic-border-focus)}.button:focus-visible{outline:var(--ic-hc-focus-outline)}:host(.dark) .button{--button-default:var(--ic-action-dark);--button-default-hover:var(--ic-action-dark);--button-default-active:var(--ic-action-dark);--button-default-background-hover:var(--ic-action-dark-bg-hover);--button-default-background-active:var(--ic-action-dark-bg-active)}:host(.light) .button{--button-default:var(--ic-action-light);--button-default-hover:var(--ic-action-light);--button-default-active:var(--ic-action-light);--button-default-background-hover:var(--ic-action-light-bg-hover);--button-default-background-active:var(--ic-action-light-bg-active)}:host(.button-variant-primary.light) .button{color:var(--ic-color-primary-text);--button-default-hover:var(--ic-action-light-hover);--button-default-active:var(--ic-action-light-active)}:host(.button-variant-primary.dark) .button{--button-default-hover:var(--ic-action-dark-hover);--button-default-active:var(--ic-action-dark-active)}:host(.disabled),:host(.disabled) .button,:host(.loading),:host(.loading) .button{pointer-events:none}:host(.loading-with-icon) .button{min-width:var(--min-width, 8.25rem)}:host(.button-variant-primary) .button{color:var(--ic-architectural-white);background-color:var(--button-default)}:host(.button-variant-primary) .button:hover:not(:focus){background-color:var(--button-default-hover)}:host(.button-variant-primary) .button:active:not(:focus),:host(.button-variant-primary.loading) .button{background-color:var(--button-default-active)}:host(.button-variant-primary.disabled) .button{background:var(--ic-architectural-200);color:var(--ic-architectural-300)}:host(.button-variant-primary.light.disabled) .button{background:var(--ic-architectural-600);color:var(--ic-architectural-500)}:host(.button-variant-secondary) .button{border:var(--ic-space-1px) solid var(--button-default);color:var(--button-default)}:host(.button-variant-secondary) .button:hover:not(:focus){background-color:var(--button-default-background-hover);border-color:var(--button-default-hover);color:var(--button-default-hover)}:host(.button-variant-secondary) .button:active:not(:focus){border-color:var(--button-default-active);background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-secondary.loading) .button{border-color:var(--button-default-active);background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-secondary.disabled) .button,:host(.button-variant-secondary.disabled) .button:hover,:host(.button-variant-secondary.disabled) .button:active{border-color:var(--ic-architectural-300);color:var(--ic-architectural-300);background:none}:host(.button-variant-secondary.light.disabled) .button,:host(.button-variant-secondary.light.disabled) .button:hover,:host(.button-variant-secondary.light.disabled) .button:active{border-color:var(--ic-architectural-500);color:var(--ic-architectural-500);background:none}:host(.button-variant-tertiary) .button{color:var(--button-default)}:host(.button-variant-tertiary) .button:hover:not(:focus){background-color:var(--button-default-background-hover);color:var(--button-default-hover)}:host(.button-variant-tertiary) .button:active:not(:focus),:host(.button-variant-tertiary.loading) .button{background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-tertiary.disabled) .button,:host(.button-variant-tertiary.disabled) .button:hover,:host(.button-variant-tertiary.disabled) .button:active{border-color:var(--ic-architectural-300);color:var(--ic-architectural-300);background:none}:host(.button-variant-tertiary.light.disabled) .button,:host(.button-variant-tertiary.light.disabled) .button:hover,:host(.button-variant-tertiary.light.disabled) .button:active{border-color:var(--ic-architectural-500);color:var(--ic-architectural-500);background:none}:host(.button-variant-icon) .button{color:var(--button-default);min-width:0}:host(.button-variant-icon) .button:hover:not(:focus){background-color:var(--button-default-background-hover);color:var(--button-default-hover)}:host(.button-variant-icon) .button:active:not(:focus),:host(.button-variant-icon.loading) .button{background-color:var(--button-default-background-active);color:var(--button-default-active)}:host(.button-variant-icon.disabled) .button,:host(.button-variant-icon.disabled) .button:hover,:host(.button-variant-icon.disabled) .button:active{color:var(--ic-architectural-300);background:none}:host(.button-variant-destructive) .button{color:var(--ic-architectural-white);background-color:var(--ic-action-destructive);text-transform:uppercase}:host(.button-variant-destructive) .button:hover:not(:focus){background-color:var(--ic-action-destructive-hover)}:host(.button-variant-destructive) .button:active:not(:focus),:host(.button-variant-destructive.loading) .button{background-color:var(--ic-action-destructive-active)}:host(.button-variant-destructive.disabled) .button{background:var(--ic-architectural-200);color:var(--ic-architectural-300)}:host(.button-size-default) .button{height:var(--height, 2.5rem);padding:var(--ic-space-xs) var(--ic-space-md)}:host(.button-size-small) .button{height:var(--height, var(--ic-space-xl));padding:var(--ic-space-xxs) var(--ic-space-md)}:host(.button-size-large) .button{height:var(--height, var(--ic-space-xxl));padding:var(--ic-space-sm) var(--ic-space-md)}:host(.button-size-default.button-variant-icon) .button{height:var(--height, var(--ic-space-xl));width:var(--ic-space-xl);padding:0.375rem}:host(.button-size-small.button-variant-icon) .button{height:var(--height, var(--ic-space-lg));width:var(--ic-space-lg);padding:var(--ic-space-xxs)}:host(.button-size-large.button-variant-icon) .button{height:var(--height, 2.5rem);width:2.5rem;padding:var(--ic-space-xs)}:host(.full-width),:host(.full-width) .button{width:100%}div.loading-container{position:relative;align-items:center;width:100%}ic-loading-indicator{--outer-color:transparent}@keyframes loading-animation{0%{width:0%;left:0%}25%{width:0%;left:0%;opacity:0}50%{width:100%;left:0%;opacity:1}75%{width:0%;left:100%}100%{width:0%;left:100%;opacity:0}}div.icon-container{box-sizing:border-box;width:var(--ic-space-lg);height:var(--ic-space-lg);display:flex;justify-content:center;align-items:center}::slotted(*){width:var(--icon-width) !important;height:var(--icon-height) !important;fill:currentcolor !important;pointer-events:none}:host(.button-variant-icon) .button .icon-container{margin:0;pointer-events:none}:host(.search-submit-button) ::slotted(svg){--icon-height:1.25rem;--icon-width:1.25rem}:host(.search-submit-button-small) ::slotted(svg){--icon-height:1rem;--icon-width:1rem}:host(.clear-button){margin:0 var(--ic-space-xxs)}:host(.clear-button) .button:focus{box-shadow:none}:host(.search-submit-button) .button:focus{box-shadow:none}:host(.search-submit-button) .button:not(:active):focus{box-shadow:none;background-color:var(--ic-action-default-bg-hover)}:host(.search-submit-button){display:flex;align-items:center;margin:0 var(--ic-space-xxs)}:host(.menu-close-button) ::slotted(svg){--icon-height:0.875rem;--icon-width:0.875rem}:host(.popout-menu-button) .button{justify-content:left;border-radius:0;white-space:pre-line;text-align:start}:host(.popout-menu-button) div.icon-container{flex:none}:host(.popout-menu-button) .button:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset)}.ic-button-describedby{display:none}:host .ic-tooltip{display:block}@media (forced-colors: active){.button{border:0.125rem solid transparent}}:host(.flip) ::slotted(svg){transform:scaleX(-1)}';var p=undefined&&undefined.__rest||function(t,i){var e={};for(var o in t)if(Object.prototype.hasOwnProperty.call(t,o)&&i.indexOf(o)<0)e[o]=t[o];if(t!=null&&typeof Object.getOwnPropertySymbols==="function")for(var a=0,o=Object.getOwnPropertySymbols(t);a<o.length;a++){if(i.indexOf(o[a])<0&&Object.prototype.propertyIsEnumerable.call(t,o[a]))e[o[a]]=t[o[a]]}return e};let v=0;const f=class{constructor(e){t(this,e);this.icBlur=i(this,"icBlur",7);this.icFocus=i(this,"icFocus",7);this.buttonIdNum=v++;this.hasTooltip=false;this.inheritedAttributes={};this.describedByEl=null;this.describedById=null;this.mutationObserver=null;this.handleClick=()=>{if((this.el.type==="submit"||this.el.type==="reset")&&!!this.el.closest("FORM")){this.handleHiddenFormButtonClick(this.el.closest("FORM"))}};this.onFocus=()=>{this.icFocus.emit()};this.onBlur=()=>{this.icBlur.emit()};this.mutationCallback=()=>{this.describedByContent=this.describedByEl.innerText};this.describedByContent=null;this.appearance="default";this.disabled=false;this.disableTooltip=false;this.download=false;this.form=undefined;this.formaction=undefined;this.formenctype=undefined;this.formmethod=undefined;this.formnovalidate=undefined;this.formtarget=undefined;this.fullWidth=false;this.href=undefined;this.hreflang=undefined;this.loading=false;this.referrerpolicy=undefined;this.rel=undefined;this.size="default";this.target=undefined;this.tooltipPlacement="bottom";this.type="button";this.variant="primary"}disconnectedCallback(){if(this.mutationObserver!==null&&this.mutationObserver!==undefined){this.mutationObserver.disconnect()}}componentWillLoad(){this.inheritedAttributes=r(this.el,[...l,"aria-expanded","title"]);n(this.disabled,this.el);this.el.setAttribute("exportparts","button");const t=this.el.id;this.id=t!==undefined?t:null;this.hasTooltip=this.variant==="icon"&&this.disableTooltip===false;if(!this.hasTooltip){const t=this.inheritedAttributes["aria-describedby"];if(t!==undefined){this.describedById=t;const i=this.el.parentElement.querySelector(`#${t}`);this.describedByContent=i.innerText;this.describedByEl=i}}}componentDidLoad(){this.updateTheme();if(this.describedById){this.mutationObserver=new MutationObserver(this.mutationCallback);this.mutationObserver.observe(this.describedByEl,{characterData:true,childList:true,subtree:true})}}handleHostClick(t){if(this.disabled||this.loading){t.stopImmediatePropagation()}}themeChangeHandler(t){const i=t.detail;this.updateTheme(i.mode)}async setFocus(){if(this.buttonEl){this.buttonEl.focus()}}async updateAriaLabel(t){if(this.hasTooltip){this.tooltipEl.label=t;this.buttonEl.removeAttribute("aria-label")}else{this.buttonEl.setAttribute("aria-label",t)}}hasIconSlot(){const t=this.el.querySelector(`[slot="icon"]`);return t!==null}handleHiddenFormButtonClick(t){const i=document.createElement("button");i.setAttribute("type",this.el.type);i.style.display="none";t.appendChild(i);i.click();i.remove()}updateTheme(t=null){const i=s(this.el,t||null);if(i!==h.Default){this.appearance=i}}render(){const t=this.href&&"a"||"button";const i=this.inheritedAttributes,{title:a,"aria-label":r}=i,n=p(i,["title","aria-label"]);const s=t==="button"?{type:this.type,disabled:this.disabled,form:this.form,formaction:this.formaction,formenctype:this.formenctype,formmethod:this.formmethod,formnovalidate:this.formnovalidate,formtarget:this.formtarget}:{download:this.download!==false?this.download:null,href:this.href,rel:this.rel,target:this.target,referrerpolicy:this.referrerpolicy,hreflang:this.hreflang};const l=a&&a;const d=this.hasTooltip?{}:{title:l};let u="";if(this.hasTooltip){if(l!==undefined){u=l}else if(r!==null){u=r}}let b=null;let v=null;if(this.hasTooltip){v=this.id!==null?`ic-button-with-tooltip-${this.id}`:`ic-button-with-tooltip-${this.buttonIdNum}`;b=`ic-tooltip-${v}`}else{b=this.describedById}const f=()=>e(t,Object.assign({class:"button","aria-disabled":this.loading||this.disabled?"true":null,"aria-label":this.loading?"Loading":r},s,n,d,{onFocus:this.onFocus,onBlur:this.onBlur,ref:t=>this.buttonEl=t,id:v,"aria-describedby":this.hasTooltip&&r?null:b,part:"button"}),this.hasIconSlot()&&!this.loading&&e("div",{class:"icon-container"},e("slot",{name:"icon"})),this.loading?e("div",{class:"loading-container"},e("ic-loading-indicator",{type:"linear",appearance:this.variant==="primary"||this.variant==="destructive"||this.appearance===h.Dark||this.appearance===h.Light?"light":"dark"})):e("slot",null));return e(o,{class:{["disabled"]:this.disabled&&!this.loading,[`button-variant-${this.variant}`]:true,[`button-size-${this.size}`]:true,["loading"]:this.loading,["loading-with-icon"]:this.loading&&this.hasIconSlot(),["dark"]:this.appearance===h.Dark,["light"]:this.appearance===h.Light,["full-width"]:this.fullWidth,["with-badge"]:c(this.el,"badge")},onClick:this.handleClick},this.hasTooltip&&e("ic-tooltip",{class:{["tooltip-disabled"]:this.disableTooltip},ref:t=>this.tooltipEl=t,label:u,target:v,placement:this.tooltipPlacement},e(f,null)),!this.hasTooltip&&e(f,null),this.describedByContent&&e("span",{id:b,class:"ic-button-describedby"},this.describedByContent))}static get delegatesFocus(){return true}get el(){return a(this)}};f.style=b;const m='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;--linear-border-radius:0.25rem;--inner-color:var(--ic-action-default);--outer-color:var(--ic-architectural-100);--label-color:var(--ic-color-primary-text);--margin:none;--linear-line-height:var(--ic-space-xs)}:host(.light){--inner-color:var(--ic-architectural-white);--outer-color:var(--ic-architectural-800);--label-color:var(--ic-architectural-white)}.ic-loading-container{display:flex;flex-direction:column;justify-content:center;align-items:center}:host([size="small"]){--circular-diameter:2.5rem;--linear-line-height:var(--ic-space-xxs)}:host([size="default"]){--circular-diameter:5rem}:host([size="large"]){--circular-diameter:7.5rem}:host([size="icon"]){display:inline-block;--margin:var(--ic-space-xxxs);--circular-diameter:1.25rem}:host(.label){--margin:0 0 var(--ic-space-xs) 0}.ic-loading-label{white-space:nowrap;color:var(--label-color);margin-left:var(--label-margin-left)}.ic-loading-circular-outer{height:var(--circular-diameter);width:var(--circular-diameter)}.ic-loading-circular-outer.indeterminate{animation:circular-animation 1s linear;animation-iteration-count:infinite}@keyframes circular-animation{100%{transform:rotate(360deg)}}.ic-loading-circular-outer,.ic-loading-linear-outer{margin:var(--margin)}.ic-loading-linear-outer{background-color:var(--outer-color);height:var(--linear-line-height);width:100%;border-radius:var(--linear-border-radius);overflow:hidden}.ic-loading-linear-inner{position:relative;height:100%;background-color:var(--inner-color);border-radius:var(--linear-border-radius)}.indeterminate>.ic-loading-linear-inner{animation:linear-animation 2s infinite}.determinate>.ic-loading-linear-inner{transition:width 0.5s;width:var(--linear-width)}:host(.full-width){--linear-border-radius:none}@keyframes linear-animation{0%{width:0%;left:-1%}25%{width:0%;left:-1%}50%{width:101%;left:-1%}75%{width:0%;left:101%}100%{width:0%;left:101%}}.ic-loading-circular-svg{position:relative;width:100%;height:100%;transform:rotate(-90deg)}.ic-loading-circular-svg circle{width:100%;height:100%;fill:none;stroke:var(--outer-color);stroke-width:var(--circular-line-width);stroke-linecap:round}.ic-loading-circular-svg circle:nth-child(2){--circular-indeterminate:calc(\n (0.25 * var(--stroke-dasharray)) - var(--stroke-dasharray)\n );stroke-dasharray:var(--stroke-dasharray), var(--stroke-dasharray);stroke-dashoffset:var(--stroke-dashoffset, var(--circular-indeterminate));stroke:var(--compact-step-inner-color, var(--inner-color))}:host(.inner-label) .ic-loading-circular-inner{display:grid}:host(.inner-label) .ic-loading-circular-svg,.inner-text{grid-column:1;grid-row:1}:host(.not-required.compact-step-progress-indicator) .ic-loading-circular-svg circle:nth-child(2){stroke:var(--ic-architectural-300)}.inner-text{display:flex;align-items:center;justify-content:center;width:var(--ic-space-lg);height:inherit;overflow:hidden;margin:auto;color:var(--ic-status-info)}:host(.not-required.compact-step-progress-indicator) .inner-text{color:var(--ic-color-tertiary-text)}@media (forced-colors: active){.indeterminate>.ic-loading-circular-inner{forced-color-adjust:none}.ic-loading-linear-outer{border:var(--ic-hc-border)}.ic-loading-linear-inner{background-color:canvastext}.ic-loading-circular-svg circle{stroke:Background}.ic-loading-circular-svg circle:nth-child(2){stroke:canvastext}:host(.not-required.compact-step-progress-indicator) .ic-loading-circular-svg circle:nth-child(2){stroke:GrayText}}';const g=class{constructor(i){t(this,i);this.updateCircularProgressMeter=()=>{if(!this.indeterminate){this.circularMeter.style.setProperty("--progress-value",String(this.progress))}};this.getLabel=(t,i)=>new Promise((()=>{this.interval=setInterval((()=>{if(t<this.labelList.length-1){t++}else{t=0}i(this.labelList[t])}),this.labelDuration)}));this.getLabelVariant=()=>{var t;let i="h4";const e=(t=this.outerElement)===null||t===void 0?void 0:t.offsetWidth;if(this.size==="small"||this.type==="circular"&&e<60){i="label"}else if(this.size==="large"||this.type==="circular"&&e>=120){i="h2"}return i};this.setCircleLineWidth=()=>{const{offsetWidth:t}=this.outerElement;const i=this.host.classList.contains("compact-step-progress-indicator")?40:0;const e=this.host.classList.contains("toast-dismiss-timer")?20:0;if(t||i||e){this.circularLineWidth=(i||e||t)*.1;this.circularDiameter=i||e||t;this.outerElement.style.setProperty("--circular-line-width",`${this.circularLineWidth}px`)}};this.setLinearDeterminateWidth=()=>{if(!this.innerElement)return;const t=Math.min(this.max,Math.max(this.min,this.progress));const i=(t-this.min)/(this.max-this.min);this.showSecond=i>.5;if(this.showSecond){this.innerElement.classList.remove("clip")}else{this.innerElement.classList.add("clip")}this.innerElement.style.setProperty("--linear-width",`${i*100}%`)};this.calcOuterClass=()=>{let t=`ic-loading-${this.type}-outer`;t+=this.indeterminate?" indeterminate":" determinate";return t};this.updateLabel=()=>{if(this.label!==undefined){this.labelList=this.label.split("/");const t=0;this.indicatorLabel=this.labelList[t];if(this.labelList.length>1){this.getLabel(t,(t=>{this.indicatorLabel=t}))}}};this.setCircleXY=()=>{if(this.circularDiameter>0){const t=this.circularDiameter/2;const i=t;const e=t;const o=t-this.circularLineWidth/2;this.setDashSteps(o);return{x:i,y:e,r:o}}return{x:0,y:0,r:0}};this.setDashSteps=t=>{const i=2*Math.PI*t;const e=Math.min(Math.max(this.progress,this.min),this.max);const o=-1-(e-this.min)/(this.max-this.min);this.circularMeter.style.setProperty("--stroke-dasharray",`${i}px`);if(!this.indeterminate){this.circularMeter.style.setProperty("--circular-steps-max",String(this.max));this.circularMeter.style.setProperty("--stroke-dashoffset",`${o*i}px`)}};this.circularDiameter=undefined;this.circularLineWidth=undefined;this.indeterminate=undefined;this.indicatorLabel=undefined;this.showSecond=false;this.appearance="dark";this.description="Loading";this.fullWidth=false;this.innerLabel=undefined;this.labelDuration=8e3;this.max=100;this.min=0;this.size="default";this.type="circular";this.label=undefined;this.progress=undefined}watchPropHandler(){this.updateLabel()}watchProgressHandler(){if(this.type==="circular"){this.updateCircularProgressMeter()}}disconnectedCallback(){clearInterval(this.interval)}componentWillLoad(){this.indeterminate=this.progress===undefined;this.updateLabel()}componentDidLoad(){if(this.type==="circular"){this.setCircleLineWidth();this.circularMeter=this.host.shadowRoot.querySelector(".ic-loading-circular-svg circle:nth-child(2)");this.updateCircularProgressMeter()}if(Number(this.progress)>=0&&this.type==="linear"){this.setLinearDeterminateWidth()}}componentWillUpdate(){this.indeterminate=this.progress===undefined}componentDidUpdate(){if(Number(this.progress)>=0&&this.type==="linear"){this.setLinearDeterminateWidth()}}render(){const{appearance:t,label:i,description:a,size:r,fullWidth:n,innerLabel:s}=this;const{x:c,y:l,r:d}=this.setCircleXY();return e(o,{class:{["light"]:t===h.Light,["label"]:!!i,["full-width"]:n,["inner-label"]:!!s}},e("div",{class:"ic-loading-container"},e("div",{ref:t=>this.outerElement=t,class:this.calcOuterClass(),role:"progressbar","aria-labelledby":this.label&&this.size!=="icon"&&"ic-loading-label","aria-label":a,"aria-valuenow":this.progress,"aria-valuemin":this.min,"aria-valuemax":this.max},e("div",{ref:t=>this.innerElement=t,class:`ic-loading-${this.type}-inner`},this.innerLabel&&this.innerLabel!==undefined&&this.size==="small"&&e("ic-typography",{variant:"subtitle-small",class:"inner-text"},this.innerLabel),this.type==="circular"&&e("svg",{class:"ic-loading-circular-svg",viewBox:`0 0 ${this.circularDiameter||0} ${this.circularDiameter||0}`},e("circle",{cx:`${c}`,cy:`${l}`,r:`${d}`}),e("circle",{cx:`${c}`,cy:`${l}`,r:`${d}`})))),i&&r!=="icon"&&e("ic-typography",{id:"ic-loading-label",class:"ic-loading-label",role:"status",variant:this.getLabelVariant()},e("p",null,this.indicatorLabel))))}get host(){return a(this)}static get watchers(){return{label:["watchPropHandler"],progress:["watchProgressHandler"]}}};g.style=m;const y='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host(.ic-tooltip) .ic-tooltip-container{background-color:var(--ic-architectural-800);color:#ffff;text-align:center;padding:var(--ic-space-xxxs) 0.625rem;border-radius:var(--ic-border-radius);border:var(--ic-space-1px) solid var(--ic-architectural-40);position:absolute;max-width:20rem;display:none;z-index:var(--ic-z-index-tooltip);box-shadow:var(--ic-elevation-overlay)}:host(.tooltip-navigation-item:not(.tooltip-navigation-item-side-nav-collapsed)) .ic-tooltip-container,:host(.tooltip-disabled) .ic-tooltip-container{display:none !important}:host(.tooltip-long-label-navigation-item-side-nav-expanded) .ic-tooltip-container[data-show]{display:block !important}:host(.ic-tooltip) .ic-tooltip-arrow,:host(.ic-tooltip) .ic-tooltip-arrow::before{position:absolute;background:inherit}:host(.ic-tooltip) .ic-tooltip-arrow{visibility:hidden;width:var(--ic-space-md);height:var(--ic-space-md)}:host(.ic-tooltip) .ic-tooltip-arrow::before{visibility:visible;content:"";border:var(--ic-space-1px) solid var(--ic-architectural-40);width:100%;height:100%}:host(.ic-tooltip) .ic-tooltip-container[data-show]{display:block}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="top"]>.ic-tooltip-arrow{height:var(--ic-space-xxxs)}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="top"]>.ic-tooltip-arrow::before{border-radius:0 0 var(--ic-border-radius) var(--ic-border-radius);left:0;top:var(--ic-space-xxxs);border-top:0}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="bottom"]>.ic-tooltip-arrow{top:calc(-1 * var(--ic-space-xxs));height:var(--ic-space-xxxs)}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="bottom"]>.ic-tooltip-arrow::before{border-radius:var(--ic-border-radius) var(--ic-border-radius) 0 0;left:0;top:var(--ic-space-1px);border-bottom:0}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="left"]>.ic-tooltip-arrow{width:var(--ic-space-xxxs);right:calc(-1 * var(--ic-space-1px))}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="left"]>.ic-tooltip-arrow::before{border-radius:0 var(--ic-border-radius) var(--ic-border-radius) 0;border-left:0;top:calc(-1 * var(--ic-space-1px))}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="right"]>.ic-tooltip-arrow{width:var(--ic-space-xxxs);left:calc(-1 * var(--ic-space-xxs))}:host(.ic-tooltip) .ic-tooltip-container[data-popper-placement^="right"]>.ic-tooltip-arrow::before{border-radius:var(--ic-border-radius) 0 0 var(--ic-border-radius);border-right:0;top:calc(-1 * var(--ic-space-1px))}@media (forced-colors: active){:host(.ic-tooltip) .ic-tooltip-container,:host(.ic-tooltip) .ic-tooltip-arrow::before{border:var(--ic-hc-border)}}';const x=class{constructor(i){t(this,i);this.delayedHideEvents=["mouseleave"];this.instantHideEvents=["focusout"];this.mouseOverTool=false;this.persistTooltip=false;this.screenReaderOnlyStyles={position:"absolute",left:"-10000px",top:"auto",width:"1px",height:"1px",overflow:"hidden"};this.showEvents=[!this.disableHover&&"mouseenter",!this.disableHover&&"focusin",!this.disableClick&&"click"];this.show=t=>{this.toolTip.setAttribute("data-show","");t.setOptions((t=>Object.assign(Object.assign({},t),{modifiers:[...t.modifiers,{name:"eventListeners",enabled:true}]})));t.update()};this.hide=t=>{this.toolTip.removeAttribute("data-show");t.setOptions((t=>Object.assign(Object.assign({},t),{modifiers:[...t.modifiers,{name:"eventListeners",enabled:false}]})));this.persistTooltip=false};this.checkCloseTooltip=t=>{setTimeout((()=>{if(!this.mouseOverTool&&!this.persistTooltip){this.hide(t)}}),100)};this.mouseEnterTooltip=()=>{this.mouseOverTool=true};this.mouseLeaveTooltip=t=>{this.mouseOverTool=false;this.checkCloseTooltip(t)};this.handleKeyDown=t=>{if(t==="Escape"&&!this.persistTooltip){this.hide(this.popperInstance)}};this.manageEventListeners=t=>{const i=t==="add"?"addEventListener":"removeEventListener";this.showEvents.forEach((t=>{this.el[i](t,(()=>this.show(this.popperInstance)));if(this.toolTip!==undefined){this.toolTip[i](t,(()=>this.mouseEnterTooltip()))}}));this.instantHideEvents.forEach((t=>{this.el[i](t,(()=>!this.persistTooltip&&this.hide(this.popperInstance)))}));this.delayedHideEvents.forEach((t=>{this.el[i](t,(()=>this.checkCloseTooltip(this.popperInstance)));if(this.toolTip!==undefined){this.toolTip[i](t,(()=>this.mouseLeaveTooltip(this.popperInstance)))}}));document[i]("keydown",(t=>this.handleKeyDown(t.key)))};this.disableClick=false;this.disableHover=false;this.placement="bottom";this.target=undefined;this.label=undefined}updateLabel(t){const i=this.el.previousElementSibling;if(i!==null){i.innerText=t}}disconnectedCallback(){this.manageEventListeners("remove");this.popperInstance.destroy()}componentDidLoad(){this.popperInstance=u(this.el,this.toolTip,{placement:this.placement,modifiers:[{name:"offset",options:{offset:[0,10]}},{name:"arrow",options:{element:this.arrow}},{name:"eventListeners",options:{scroll:false,resize:false}}]});this.manageEventListeners("add");d([{prop:this.label,propName:"label"}],"Tooltip");if(this.target!==undefined){const t=document.createElement("span");t.id=`ic-tooltip-${this.target}`;t.innerText=this.label;t.classList.add("ic-tooltip-label");Object.assign(t.style,this.screenReaderOnlyStyles);this.el.insertAdjacentElement("beforebegin",t)}}async displayTooltip(t,i){this.persistTooltip=i;t?this.show(this.popperInstance):this.hide(this.popperInstance)}render(){const{label:t}=this;return e(o,{class:{"ic-tooltip":true}},e("div",{ref:t=>this.toolTip=t,role:"tooltip",class:"ic-tooltip-container"},e("ic-typography",{variant:"caption"},t),e("div",{ref:t=>this.arrow=t,class:"ic-tooltip-arrow","data-popper-arrow":true})),e("slot",null))}get el(){return a(this)}static get watchers(){return{label:["updateLabel"]}}};x.style=y;export{f as ic_button,g as ic_loading_indicator,x as ic_tooltip};
2
- //# sourceMappingURL=p-a3b86ed0.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icButtonCss","buttonIds","Button","this","buttonIdNum","hasTooltip","inheritedAttributes","describedByEl","describedById","mutationObserver","handleClick","el","type","closest","handleHiddenFormButtonClick","onFocus","icFocus","emit","onBlur","icBlur","mutationCallback","describedByContent","innerText","disconnectedCallback","undefined","disconnect","componentWillLoad","inheritAttributes","IC_INHERITED_ARIA","removeDisabledFalse","disabled","setAttribute","id","variant","disableTooltip","parentElement","querySelector","componentDidLoad","updateTheme","MutationObserver","observe","characterData","childList","subtree","handleHostClick","event","loading","stopImmediatePropagation","themeChangeHandler","ev","theme","detail","mode","async","buttonEl","focus","newValue","tooltipEl","label","removeAttribute","hasIconSlot","iconEl","form","hiddenFormButton","document","createElement","style","display","appendChild","click","remove","newTheme","foregroundColor","getThemeFromContext","IcThemeForegroundEnum","Default","appearance","render","TagType","href","_a","title","ariaLabel","restInheritedAttributes","__rest","buttonAttrs","formaction","formenctype","formmethod","formnovalidate","formtarget","download","rel","target","referrerpolicy","hreflang","newTitle","titleAttr","tooltipText","describedBy","buttonId","ButtonContent","h","Object","assign","class","ref","part","name","Dark","Light","Host","size","fullWidth","isSlotUsed","onClick","placement","tooltipPlacement","icLoadingIndicatorCss","LoadingIndicator","updateCircularProgressMeter","indeterminate","circularMeter","setProperty","String","progress","getLabel","labelIndex","setLabel","Promise","interval","setInterval","labelList","length","labelDuration","getLabelVariant","width","outerElement","offsetWidth","setCircleLineWidth","compactStepCircularLineWidth","host","classList","contains","toastDismissTimerCircularLineWidth","circularLineWidth","circularDiameter","setLinearDeterminateWidth","innerElement","Math","min","max","proportion","showSecond","add","calcOuterClass","cls","updateLabel","split","indicatorLabel","setCircleXY","r","x","y","nextRadius","setDashSteps","radius","dashArray","PI","watchPropHandler","watchProgressHandler","clearInterval","shadowRoot","Number","componentWillUpdate","componentDidUpdate","description","innerLabel","role","viewBox","cx","cy","icTooltipCss","Tooltip","delayedHideEvents","instantHideEvents","mouseOverTool","persistTooltip","screenReaderOnlyStyles","position","left","top","height","overflow","showEvents","disableHover","disableClick","show","popper","toolTip","setOptions","options","modifiers","enabled","update","hide","checkCloseTooltip","setTimeout","mouseEnterTooltip","mouseLeaveTooltip","handleKeyDown","key","popperInstance","manageEventListeners","action","method","forEach","describedBySpan","previousElementSibling","destroy","createPopper","offset","element","arrow","scroll","resize","onComponentRequiredPropUndefined","prop","propName","ariaDescribedBy","insertAdjacentElement"],"sources":["./src/components/ic-button/ic-button.css?tag=ic-button&encapsulation=shadow","./src/components/ic-button/ic-button.tsx","./src/components/ic-loading-indicator/ic-loading-indicator.css?tag=ic-loading-indicator&encapsulation=shadow","./src/components/ic-loading-indicator/ic-loading-indicator.tsx","./src/components/ic-tooltip/ic-tooltip.css?tag=ic-tooltip&encapsulation=shadow","./src/components/ic-tooltip/ic-tooltip.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n* @prop --min-width: Minimum width of the button.\n* @prop --height: The height of the button.\n*/\n\n:host {\n display: inline-block;\n\n --button-default: var(--ic-action-default);\n --button-default-hover: var(--ic-action-default-hover);\n --button-default-active: var(--ic-action-default-active);\n --button-default-background-hover: var(--ic-action-default-bg-hover);\n --button-default-background-active: var(--ic-action-default-bg-active);\n --icon-width: 100%;\n --icon-height: 100%;\n}\n\n.button {\n font-family: var(--ic-font-body-family);\n text-decoration: none;\n font-weight: 600;\n font-size: 0.875rem;\n transition: var(--ic-easing-transition-fast);\n border-radius: var(--ic-border-radius);\n min-width: var(--min-width, 6.25rem);\n display: inline-flex;\n gap: var(--ic-space-xs);\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:host(.with-badge) .button {\n border-radius: 0.2188rem;\n}\n\n.button:hover {\n cursor: pointer;\n}\n\n.button:focus,\n:host .button:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n:host(.light) .button:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.button:focus-visible {\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.dark) .button {\n --button-default: var(--ic-action-dark);\n --button-default-hover: var(--ic-action-dark);\n --button-default-active: var(--ic-action-dark);\n --button-default-background-hover: var(--ic-action-dark-bg-hover);\n --button-default-background-active: var(--ic-action-dark-bg-active);\n}\n\n:host(.light) .button {\n --button-default: var(--ic-action-light);\n --button-default-hover: var(--ic-action-light);\n --button-default-active: var(--ic-action-light);\n --button-default-background-hover: var(--ic-action-light-bg-hover);\n --button-default-background-active: var(--ic-action-light-bg-active);\n}\n\n:host(.button-variant-primary.light) .button {\n color: var(--ic-color-primary-text);\n\n --button-default-hover: var(--ic-action-light-hover);\n --button-default-active: var(--ic-action-light-active);\n}\n\n:host(.button-variant-primary.dark) .button {\n --button-default-hover: var(--ic-action-dark-hover);\n --button-default-active: var(--ic-action-dark-active);\n}\n\n:host(.disabled),\n:host(.disabled) .button,\n:host(.loading),\n:host(.loading) .button {\n pointer-events: none;\n}\n\n:host(.loading-with-icon) .button {\n min-width: var(--min-width, 8.25rem);\n}\n\n/* Variants */\n\n/* Primary */\n\n:host(.button-variant-primary) .button {\n color: var(--ic-architectural-white);\n background-color: var(--button-default);\n}\n\n:host(.button-variant-primary) .button:hover:not(:focus) {\n background-color: var(--button-default-hover);\n}\n\n:host(.button-variant-primary) .button:active:not(:focus),\n:host(.button-variant-primary.loading) .button {\n background-color: var(--button-default-active);\n}\n\n:host(.button-variant-primary.disabled) .button {\n background: var(--ic-architectural-200);\n color: var(--ic-architectural-300);\n}\n\n:host(.button-variant-primary.light.disabled) .button {\n background: var(--ic-architectural-600);\n color: var(--ic-architectural-500);\n}\n\n/* Secondary */\n\n:host(.button-variant-secondary) .button {\n border: var(--ic-space-1px) solid var(--button-default);\n color: var(--button-default);\n}\n\n:host(.button-variant-secondary) .button:hover:not(:focus) {\n background-color: var(--button-default-background-hover);\n border-color: var(--button-default-hover);\n color: var(--button-default-hover);\n}\n\n:host(.button-variant-secondary) .button:active:not(:focus) {\n border-color: var(--button-default-active);\n background-color: var(--button-default-background-active);\n color: var(--button-default-active);\n}\n\n:host(.button-variant-secondary.loading) .button {\n border-color: var(--button-default-active);\n background-color: var(--button-default-background-active);\n color: var(--button-default-active);\n}\n\n:host(.button-variant-secondary.disabled) .button,\n:host(.button-variant-secondary.disabled) .button:hover,\n:host(.button-variant-secondary.disabled) .button:active {\n border-color: var(--ic-architectural-300);\n color: var(--ic-architectural-300);\n background: none;\n}\n\n:host(.button-variant-secondary.light.disabled) .button,\n:host(.button-variant-secondary.light.disabled) .button:hover,\n:host(.button-variant-secondary.light.disabled) .button:active {\n border-color: var(--ic-architectural-500);\n color: var(--ic-architectural-500);\n background: none;\n}\n\n/* Tertiary */\n\n:host(.button-variant-tertiary) .button {\n color: var(--button-default);\n}\n\n:host(.button-variant-tertiary) .button:hover:not(:focus) {\n background-color: var(--button-default-background-hover);\n color: var(--button-default-hover);\n}\n\n:host(.button-variant-tertiary) .button:active:not(:focus),\n:host(.button-variant-tertiary.loading) .button {\n background-color: var(--button-default-background-active);\n color: var(--button-default-active);\n}\n\n:host(.button-variant-tertiary.disabled) .button,\n:host(.button-variant-tertiary.disabled) .button:hover,\n:host(.button-variant-tertiary.disabled) .button:active {\n border-color: var(--ic-architectural-300);\n color: var(--ic-architectural-300);\n background: none;\n}\n\n:host(.button-variant-tertiary.light.disabled) .button,\n:host(.button-variant-tertiary.light.disabled) .button:hover,\n:host(.button-variant-tertiary.light.disabled) .button:active {\n border-color: var(--ic-architectural-500);\n color: var(--ic-architectural-500);\n background: none;\n}\n\n/* Icon */\n\n:host(.button-variant-icon) .button {\n color: var(--button-default);\n min-width: 0;\n}\n\n:host(.button-variant-icon) .button:hover:not(:focus) {\n background-color: var(--button-default-background-hover);\n color: var(--button-default-hover);\n}\n\n:host(.button-variant-icon) .button:active:not(:focus),\n:host(.button-variant-icon.loading) .button {\n background-color: var(--button-default-background-active);\n color: var(--button-default-active);\n}\n\n:host(.button-variant-icon.disabled) .button,\n:host(.button-variant-icon.disabled) .button:hover,\n:host(.button-variant-icon.disabled) .button:active {\n color: var(--ic-architectural-300);\n background: none;\n}\n\n/* Destructive */\n\n:host(.button-variant-destructive) .button {\n color: var(--ic-architectural-white);\n background-color: var(--ic-action-destructive);\n text-transform: uppercase;\n}\n\n:host(.button-variant-destructive) .button:hover:not(:focus) {\n background-color: var(--ic-action-destructive-hover);\n}\n\n:host(.button-variant-destructive) .button:active:not(:focus),\n:host(.button-variant-destructive.loading) .button {\n background-color: var(--ic-action-destructive-active);\n}\n\n:host(.button-variant-destructive.disabled) .button {\n background: var(--ic-architectural-200);\n color: var(--ic-architectural-300);\n}\n\n/* Sizing */\n\n:host(.button-size-default) .button {\n height: var(--height, 2.5rem);\n padding: var(--ic-space-xs) var(--ic-space-md);\n}\n\n:host(.button-size-small) .button {\n height: var(--height, var(--ic-space-xl));\n padding: var(--ic-space-xxs) var(--ic-space-md);\n}\n\n:host(.button-size-large) .button {\n height: var(--height, var(--ic-space-xxl));\n padding: var(--ic-space-sm) var(--ic-space-md);\n}\n\n:host(.button-size-default.button-variant-icon) .button {\n height: var(--height, var(--ic-space-xl));\n width: var(--ic-space-xl);\n padding: 0.375rem;\n}\n\n:host(.button-size-small.button-variant-icon) .button {\n height: var(--height, var(--ic-space-lg));\n width: var(--ic-space-lg);\n padding: var(--ic-space-xxs);\n}\n\n:host(.button-size-large.button-variant-icon) .button {\n height: var(--height, 2.5rem);\n width: 2.5rem;\n padding: var(--ic-space-xs);\n}\n\n/* Width */\n:host(.full-width),\n:host(.full-width) .button {\n width: 100%;\n}\n\n/* Loading */\n\ndiv.loading-container {\n position: relative;\n align-items: center;\n width: 100%;\n}\n\nic-loading-indicator {\n --outer-color: transparent;\n}\n\n@keyframes loading-animation {\n 0% {\n width: 0%;\n left: 0%;\n }\n\n 25% {\n width: 0%;\n left: 0%;\n opacity: 0;\n }\n\n 50% {\n width: 100%;\n left: 0%;\n opacity: 1;\n }\n\n 75% {\n width: 0%;\n left: 100%;\n }\n\n 100% {\n width: 0%;\n left: 100%;\n opacity: 0;\n }\n}\n\n/* Icons */\n\ndiv.icon-container {\n box-sizing: border-box;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n display: flex;\n justify-content: center;\n align-items: center;\n}\n\n::slotted(*) {\n width: var(--icon-width) !important;\n height: var(--icon-height) !important;\n fill: currentcolor !important;\n pointer-events: none;\n}\n\n:host(.button-variant-icon) .button .icon-container {\n margin: 0;\n pointer-events: none;\n}\n\n/** SEARCH **/\n\n:host(.search-submit-button) ::slotted(svg) {\n --icon-height: 1.25rem;\n --icon-width: 1.25rem;\n}\n\n:host(.search-submit-button-small) ::slotted(svg) {\n --icon-height: 1rem;\n --icon-width: 1rem;\n}\n\n:host(.clear-button) {\n margin: 0 var(--ic-space-xxs);\n}\n\n:host(.clear-button) .button:focus {\n box-shadow: none;\n}\n\n:host(.search-submit-button) .button:focus {\n box-shadow: none;\n}\n\n:host(.search-submit-button) .button:not(:active):focus {\n box-shadow: none;\n background-color: var(--ic-action-default-bg-hover);\n}\n\n:host(.search-submit-button) {\n display: flex;\n align-items: center;\n margin: 0 var(--ic-space-xxs);\n}\n\n:host(.menu-close-button) ::slotted(svg) {\n --icon-height: 0.875rem;\n --icon-width: 0.875rem;\n}\n\n:host(.popout-menu-button) .button {\n justify-content: left;\n border-radius: 0;\n white-space: pre-line;\n text-align: start;\n}\n\n:host(.popout-menu-button) div.icon-container {\n flex: none;\n}\n\n:host(.popout-menu-button) .button:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n}\n\n.ic-button-describedby {\n display: none;\n}\n\n:host .ic-tooltip {\n display: block;\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n .button {\n border: 0.125rem solid transparent;\n }\n}\n\n/** Pagination **/\n\n:host(.flip) ::slotted(svg) {\n transform: scaleX(-1);\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Method,\n Prop,\n State,\n h,\n} from \"@stencil/core\";\n\nimport {\n getThemeFromContext,\n inheritAttributes,\n isSlotUsed,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcButtonTypes,\n IcButtonVariants,\n IcButtonTooltipPlacement,\n} from \"./ic-button.types\";\nimport {\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n IcSizes,\n} from \"../../utils/types\";\n\nlet buttonIds = 0;\n\n/**\n * @slot icon - Content will be placed to the left of the button label.\n */\n@Component({\n tag: \"ic-button\",\n styleUrl: \"ic-button.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Button {\n private buttonEl: HTMLElement;\n private buttonIdNum = buttonIds++;\n private hasTooltip: boolean = false;\n private id: string;\n private inheritedAttributes: { [k: string]: unknown } = {};\n private tooltipEl: HTMLIcTooltipElement;\n private describedByEl: HTMLElement = null;\n private describedById: string = null;\n private mutationObserver: MutationObserver = null;\n\n @Element() el: HTMLIcButtonElement;\n\n @State() describedByContent: string = null;\n\n /**\n * The appearance of the button, e.g. dark, light, or the default.\n */\n @Prop({ mutable: true }) appearance?: IcThemeForeground = \"default\";\n\n /**\n * If `true`, the button will be in disabled state.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If `true`, the ic-tooltip which is shown for icon variant will be disabled. Title or aria-label must be set if this prop is not applied.\n */\n @Prop() disableTooltip?: boolean = false;\n\n /**\n * If `true`, the user can save the linked URL instead of navigating to it.\n */\n @Prop() download?: string | boolean = false;\n\n /**\n * The <form> element to associate the button with.\n */\n @Prop() form?: string;\n\n /**\n * The URL that processes the information submitted by the button. It overrides the action attribute of the button's form owner. Does nothing if there is no form owner.\n */\n @Prop() formaction?: string;\n\n /**\n * The way the submitted form data is encoded.\n */\n @Prop() formenctype?: string;\n\n /**\n * The HTTP method used to submit the form.\n */\n @Prop() formmethod?: string;\n\n /**\n * If `true`, the form will not be validated when submitted.\n */\n @Prop() formnovalidate?: boolean;\n\n /**\n * The place to display the response from submitting the form. It overrides the target attribute of the button's form owner.\n */\n @Prop() formtarget?: string;\n\n /**\n * If `true`, the button will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * The URL that the link points to. This will render the button as an \"a\" tag.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n\n /**\n * If `true`, the button will be in loading state.\n */\n @Prop() loading?: boolean = false;\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 size of the button to be displayed.\n */\n @Prop() size?: IcSizes = \"default\";\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 position of the tooltip in relation to the button.\n */\n @Prop() tooltipPlacement?: IcButtonTooltipPlacement = \"bottom\";\n\n /**\n * The type of the button.\n */\n @Prop() type?: IcButtonTypes = \"button\";\n\n /**\n * The variant of the button to be displayed.\n */\n @Prop() variant?: IcButtonVariants = \"primary\";\n\n /**\n * Emitted when button has blur\n */\n @Event() icBlur!: EventEmitter<void>;\n\n /**\n * Emitted when button has focus\n */\n @Event() icFocus!: EventEmitter<void>;\n\n disconnectedCallback(): void {\n if (this.mutationObserver !== null && this.mutationObserver !== undefined) {\n this.mutationObserver.disconnect();\n }\n }\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.el, [\n ...IC_INHERITED_ARIA,\n \"aria-expanded\",\n \"title\",\n ]);\n\n removeDisabledFalse(this.disabled, this.el);\n\n this.el.setAttribute(\"exportparts\", \"button\");\n\n const id = this.el.id;\n this.id = id !== undefined ? id : null;\n this.hasTooltip = this.variant === \"icon\" && this.disableTooltip === false;\n\n if (!this.hasTooltip) {\n const describedById = this.inheritedAttributes[\n \"aria-describedby\"\n ] as string;\n if (describedById !== undefined) {\n this.describedById = describedById;\n const el = this.el.parentElement.querySelector(\n `#${describedById}`\n ) as HTMLElement;\n this.describedByContent = el.innerText;\n this.describedByEl = el;\n }\n }\n }\n\n componentDidLoad(): void {\n this.updateTheme();\n\n if (this.describedById) {\n this.mutationObserver = new MutationObserver(this.mutationCallback);\n this.mutationObserver.observe(this.describedByEl, {\n characterData: true,\n childList: true,\n subtree: true,\n });\n }\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled || this.loading) {\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 native `button`.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.buttonEl) {\n this.buttonEl.focus();\n }\n }\n\n /**\n * @internal Updates tooltip/aria-label text - needed as can't watch an ARIA attribute change.\n */\n @Method()\n async updateAriaLabel(newValue: string): Promise<void> {\n if (this.hasTooltip) {\n this.tooltipEl.label = newValue;\n this.buttonEl.removeAttribute(\"aria-label\");\n } else {\n this.buttonEl.setAttribute(\"aria-label\", newValue);\n }\n }\n\n private hasIconSlot(): boolean {\n const iconEl = this.el.querySelector(`[slot=\"icon\"]`);\n return iconEl !== null;\n }\n\n private handleHiddenFormButtonClick(form: HTMLFormElement): void {\n const hiddenFormButton = document.createElement(\"button\");\n\n hiddenFormButton.setAttribute(\"type\", this.el.type);\n hiddenFormButton.style.display = \"none\";\n\n form.appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n }\n\n private handleClick = (): void => {\n if (\n (this.el.type === \"submit\" || this.el.type === \"reset\") &&\n !!this.el.closest(\"FORM\")\n ) {\n this.handleHiddenFormButtonClick(this.el.closest(\"FORM\"));\n }\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = () => {\n this.icBlur.emit();\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 // triggered when text content of sibling element in light DOM changes\n private mutationCallback = (): void => {\n this.describedByContent = this.describedByEl.innerText;\n };\n\n render() {\n const TagType = (this.href && \"a\") || \"button\";\n const {\n title,\n \"aria-label\": ariaLabel,\n ...restInheritedAttributes\n } = this.inheritedAttributes;\n const buttonAttrs =\n TagType === \"button\"\n ? {\n type: this.type,\n disabled: this.disabled,\n form: this.form,\n formaction: this.formaction,\n formenctype: this.formenctype,\n formmethod: this.formmethod,\n formnovalidate: this.formnovalidate,\n formtarget: this.formtarget,\n }\n : {\n download: this.download !== false ? this.download : null,\n href: this.href,\n rel: this.rel,\n target: this.target,\n referrerpolicy: this.referrerpolicy,\n hreflang: this.hreflang,\n };\n const newTitle = title && (title as string);\n const titleAttr = this.hasTooltip ? {} : { title: newTitle };\n let tooltipText = \"\";\n if (this.hasTooltip) {\n if (newTitle !== undefined) {\n tooltipText = newTitle;\n } else if (ariaLabel !== null) {\n tooltipText = ariaLabel as string;\n }\n }\n\n let describedBy: string = null;\n let buttonId: string = null;\n if (this.hasTooltip) {\n buttonId =\n this.id !== null\n ? `ic-button-with-tooltip-${this.id}`\n : `ic-button-with-tooltip-${this.buttonIdNum}`;\n describedBy = `ic-tooltip-${buttonId}`;\n } else {\n describedBy = this.describedById;\n }\n\n const ButtonContent = () => {\n return (\n <TagType\n class=\"button\"\n aria-disabled={this.loading || this.disabled ? \"true\" : null}\n aria-label={this.loading ? \"Loading\" : ariaLabel}\n {...buttonAttrs}\n {...restInheritedAttributes}\n {...titleAttr}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n ref={(el) => (this.buttonEl = el)}\n id={buttonId}\n aria-describedby={this.hasTooltip && ariaLabel ? null : describedBy}\n part=\"button\"\n >\n {this.hasIconSlot() && !this.loading && (\n <div class=\"icon-container\">\n <slot name=\"icon\" />\n </div>\n )}\n {this.loading ? (\n <div class=\"loading-container\">\n <ic-loading-indicator\n type=\"linear\"\n appearance={\n this.variant === \"primary\" ||\n this.variant === \"destructive\" ||\n this.appearance === IcThemeForegroundEnum.Dark ||\n this.appearance === IcThemeForegroundEnum.Light\n ? \"light\"\n : \"dark\"\n }\n ></ic-loading-indicator>\n </div>\n ) : (\n <slot />\n )}\n </TagType>\n );\n };\n\n return (\n <Host\n class={{\n [\"disabled\"]: this.disabled && !this.loading,\n [`button-variant-${this.variant}`]: true,\n [`button-size-${this.size}`]: true,\n [\"loading\"]: this.loading,\n [\"loading-with-icon\"]: this.loading && this.hasIconSlot(),\n [\"dark\"]: this.appearance === IcThemeForegroundEnum.Dark,\n [\"light\"]: this.appearance === IcThemeForegroundEnum.Light,\n [\"full-width\"]: this.fullWidth,\n [\"with-badge\"]: isSlotUsed(this.el, \"badge\"),\n }}\n onClick={this.handleClick}\n >\n {this.hasTooltip && (\n <ic-tooltip\n class={{ [\"tooltip-disabled\"]: this.disableTooltip }}\n ref={(el) => (this.tooltipEl = el)}\n label={tooltipText}\n target={buttonId}\n placement={this.tooltipPlacement}\n >\n <ButtonContent />\n </ic-tooltip>\n )}\n\n {!this.hasTooltip && <ButtonContent />}\n {this.describedByContent && (\n <span id={describedBy} class=\"ic-button-describedby\">\n {this.describedByContent}\n </span>\n )}\n </Host>\n );\n }\n}\n","@import \"../../global/normalize.css\";\n\n:host {\n /**\n * @prop --circular-diameter: Diameter of the circular-indicator\n */\n\n display: block;\n\n --linear-border-radius: 0.25rem;\n --inner-color: var(--ic-action-default);\n --outer-color: var(--ic-architectural-100);\n --label-color: var(--ic-color-primary-text);\n --margin: none;\n --linear-line-height: var(--ic-space-xs);\n}\n\n:host(.light) {\n --inner-color: var(--ic-architectural-white);\n --outer-color: var(--ic-architectural-800);\n --label-color: var(--ic-architectural-white);\n}\n\n.ic-loading-container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n:host([size=\"small\"]) {\n --circular-diameter: 2.5rem;\n --linear-line-height: var(--ic-space-xxs);\n}\n\n:host([size=\"default\"]) {\n --circular-diameter: 5rem;\n}\n\n:host([size=\"large\"]) {\n --circular-diameter: 7.5rem;\n}\n\n:host([size=\"icon\"]) {\n display: inline-block;\n\n --margin: var(--ic-space-xxxs);\n --circular-diameter: 1.25rem;\n}\n\n:host(.label) {\n --margin: 0 0 var(--ic-space-xs) 0;\n}\n\n.ic-loading-label {\n white-space: nowrap;\n color: var(--label-color);\n margin-left: var(--label-margin-left);\n}\n\n.ic-loading-circular-outer {\n height: var(--circular-diameter);\n width: var(--circular-diameter);\n}\n\n.ic-loading-circular-outer.indeterminate {\n animation: circular-animation 1s linear;\n animation-iteration-count: infinite;\n}\n\n@keyframes circular-animation {\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.ic-loading-circular-outer,\n.ic-loading-linear-outer {\n margin: var(--margin);\n}\n\n.ic-loading-linear-outer {\n background-color: var(--outer-color);\n height: var(--linear-line-height);\n width: 100%;\n border-radius: var(--linear-border-radius);\n overflow: hidden;\n}\n\n.ic-loading-linear-inner {\n position: relative;\n height: 100%;\n background-color: var(--inner-color);\n border-radius: var(--linear-border-radius);\n}\n\n.indeterminate > .ic-loading-linear-inner {\n animation: linear-animation 2s infinite;\n}\n\n.determinate > .ic-loading-linear-inner {\n transition: width 0.5s;\n width: var(--linear-width);\n}\n\n:host(.full-width) {\n --linear-border-radius: none;\n}\n\n@keyframes linear-animation {\n 0% {\n width: 0%;\n left: -1%;\n }\n\n 25% {\n width: 0%;\n left: -1%;\n }\n\n 50% {\n width: 101%;\n left: -1%;\n }\n\n 75% {\n width: 0%;\n left: 101%;\n }\n\n 100% {\n width: 0%;\n left: 101%;\n }\n}\n\n.ic-loading-circular-svg {\n position: relative;\n width: 100%;\n height: 100%;\n transform: rotate(-90deg);\n}\n\n.ic-loading-circular-svg circle {\n width: 100%;\n height: 100%;\n fill: none;\n stroke: var(--outer-color);\n stroke-width: var(--circular-line-width);\n stroke-linecap: round;\n}\n\n/* --stroke-dash-array calculated via dashArray method */\n.ic-loading-circular-svg circle:nth-child(2) {\n --circular-indeterminate: calc(\n (0.25 * var(--stroke-dasharray)) - var(--stroke-dasharray)\n );\n\n stroke-dasharray: var(--stroke-dasharray), var(--stroke-dasharray);\n stroke-dashoffset: var(--stroke-dashoffset, var(--circular-indeterminate));\n stroke: var(--compact-step-inner-color, var(--inner-color));\n}\n\n:host(.inner-label) .ic-loading-circular-inner {\n display: grid;\n}\n\n:host(.inner-label) .ic-loading-circular-svg,\n.inner-text {\n grid-column: 1;\n grid-row: 1;\n}\n\n:host(.not-required.compact-step-progress-indicator)\n .ic-loading-circular-svg\n circle:nth-child(2) {\n stroke: var(--ic-architectural-300);\n}\n\n.inner-text {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--ic-space-lg);\n height: inherit;\n overflow: hidden;\n margin: auto;\n color: var(--ic-status-info);\n}\n\n:host(.not-required.compact-step-progress-indicator) .inner-text {\n color: var(--ic-color-tertiary-text);\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n .indeterminate > .ic-loading-circular-inner {\n forced-color-adjust: none;\n }\n\n .ic-loading-linear-outer {\n border: var(--ic-hc-border);\n }\n\n .ic-loading-linear-inner {\n background-color: canvastext;\n }\n\n .ic-loading-circular-svg circle {\n stroke: Background;\n }\n\n .ic-loading-circular-svg circle:nth-child(2) {\n stroke: canvastext;\n }\n\n :host(.not-required.compact-step-progress-indicator)\n .ic-loading-circular-svg\n circle:nth-child(2) {\n stroke: GrayText;\n }\n}\n","import { Component, Element, h, Host, Prop, State, Watch } from \"@stencil/core\";\nimport {\n IcLoadingCircleXYR,\n IcLoadingSizes,\n IcLoadingTypes,\n} from \"./ic-loading-indicator.types\";\nimport {\n IcThemeForegroundEnum,\n IcThemeForegroundNoDefault,\n} from \"../../utils/types\";\n\n@Component({\n tag: \"ic-loading-indicator\",\n styleUrl: \"ic-loading-indicator.css\",\n shadow: true,\n})\nexport class LoadingIndicator {\n private circularMeter: SVGCircleElement;\n private innerElement?: HTMLDivElement;\n private interval: ReturnType<typeof setInterval>;\n private labelList: string[];\n private outerElement?: HTMLDivElement;\n\n @Element() host: HTMLIcLoadingIndicatorElement;\n\n @State() circularDiameter: number;\n @State() circularLineWidth: number;\n @State() indeterminate: boolean;\n @State() indicatorLabel: string;\n @State() showSecond: boolean = false;\n\n /**\n * The appearance of the loading indicator, e.g. dark or light.\n */\n @Prop() appearance?: IcThemeForegroundNoDefault = \"dark\";\n\n /**\n * The description that will be set as the aria-label of the loading indicator when not using a visible label.\n */\n @Prop() description?: string = \"Loading\";\n\n /**\n * If `true`, when linear, the full-width variant (i.e. without a border radius) will be displayed.\n */\n @Prop({ reflect: true }) fullWidth?: boolean = false;\n\n /**\n * @internal The step number of a compact step, managed by ic-step.\n */\n @Prop() innerLabel?: number;\n\n /**\n * The time in milliseconds before the label changes.\n */\n @Prop() labelDuration?: number = 8000;\n\n /**\n * The maximum value that the progress value can take.\n * Used to calculate the proportional width of the progress bar.\n */\n @Prop() max?: number = 100;\n\n /**\n * The minimum value that the progress value can take.\n * Used to calculate the proportional width of the progress bar.\n */\n @Prop() min?: number = 0;\n\n /**\n * The size of the loading indicator.\n */\n @Prop({ reflect: true }) size?: IcLoadingSizes = \"default\";\n\n /**\n * The type of indicator, either linear or circular.\n */\n @Prop({ reflect: true }) type?: IcLoadingTypes = \"circular\";\n\n /**\n * The label to be displayed beneath the loading indicator.\n * Display a changing label by separating multiple messages with forward slashes.\n */\n @Prop() label?: string;\n\n @Watch(\"label\")\n watchPropHandler(): void {\n this.updateLabel();\n }\n\n /**\n * The current amount of progress made.\n * If not provided, component acts as an indeterminate loading indicator.\n */\n @Prop() progress?: number;\n\n @Watch(\"progress\")\n watchProgressHandler(): void {\n if (this.type === \"circular\") {\n this.updateCircularProgressMeter();\n }\n }\n\n disconnectedCallback(): void {\n clearInterval(this.interval);\n }\n\n componentWillLoad(): void {\n this.indeterminate = this.progress === undefined;\n this.updateLabel();\n }\n\n componentDidLoad(): void {\n if (this.type === \"circular\") {\n this.setCircleLineWidth();\n this.circularMeter = this.host.shadowRoot.querySelector(\n \".ic-loading-circular-svg circle:nth-child(2)\"\n );\n this.updateCircularProgressMeter();\n }\n\n if (Number(this.progress) >= 0 && this.type === \"linear\") {\n this.setLinearDeterminateWidth();\n }\n }\n\n componentWillUpdate(): void {\n this.indeterminate = this.progress === undefined;\n }\n\n componentDidUpdate(): void {\n if (Number(this.progress) >= 0 && this.type === \"linear\") {\n this.setLinearDeterminateWidth();\n }\n }\n\n private updateCircularProgressMeter = () => {\n if (!this.indeterminate) {\n this.circularMeter.style.setProperty(\n \"--progress-value\",\n String(this.progress)\n );\n }\n };\n\n private getLabel = (\n labelIndex: number,\n setLabel: (label: string) => void\n ) => {\n return new Promise(() => {\n this.interval = setInterval(() => {\n if (labelIndex < this.labelList.length - 1) {\n labelIndex++;\n } else {\n labelIndex = 0;\n }\n setLabel(this.labelList[labelIndex]);\n }, this.labelDuration);\n });\n };\n\n private getLabelVariant = () => {\n let variant: \"label\" | \"h4\" | \"h2\" = \"h4\";\n const width = this.outerElement?.offsetWidth;\n if (this.size === \"small\" || (this.type === \"circular\" && width < 60)) {\n variant = \"label\";\n } else if (\n this.size === \"large\" ||\n (this.type === \"circular\" && width >= 120)\n ) {\n variant = \"h2\";\n }\n return variant;\n };\n\n // Sets the circular indicator line width - accounting for the circle size being altered using the CSS custom property\n private setCircleLineWidth = () => {\n const { offsetWidth: width } = this.outerElement;\n\n const compactStepCircularLineWidth = this.host.classList.contains(\n \"compact-step-progress-indicator\"\n )\n ? 40\n : 0;\n const toastDismissTimerCircularLineWidth = this.host.classList.contains(\n \"toast-dismiss-timer\"\n )\n ? 20\n : 0;\n\n if (\n width ||\n compactStepCircularLineWidth ||\n toastDismissTimerCircularLineWidth\n ) {\n this.circularLineWidth =\n (compactStepCircularLineWidth ||\n toastDismissTimerCircularLineWidth ||\n width) * 0.1;\n this.circularDiameter =\n compactStepCircularLineWidth ||\n toastDismissTimerCircularLineWidth ||\n width;\n this.outerElement.style.setProperty(\n \"--circular-line-width\",\n `${this.circularLineWidth}px`\n );\n }\n };\n\n private setLinearDeterminateWidth = () => {\n if (!this.innerElement) return;\n // Ensure progress cannot be out of bounds\n\n const progress = Math.min(this.max, Math.max(this.min, this.progress));\n const proportion = (progress - this.min) / (this.max - this.min);\n this.showSecond = proportion > 0.5;\n if (this.showSecond) {\n this.innerElement.classList.remove(\"clip\");\n } else {\n this.innerElement.classList.add(\"clip\");\n }\n this.innerElement.style.setProperty(\n \"--linear-width\",\n `${proportion * 100}%`\n );\n };\n\n private calcOuterClass = (): string => {\n let cls = `ic-loading-${this.type}-outer`;\n cls += this.indeterminate ? \" indeterminate\" : \" determinate\";\n return cls;\n };\n\n private updateLabel = (): void => {\n if (this.label !== undefined) {\n this.labelList = this.label.split(\"/\");\n const labelIndex = 0;\n this.indicatorLabel = this.labelList[labelIndex];\n if (this.labelList.length > 1) {\n this.getLabel(labelIndex, (label) => {\n this.indicatorLabel = label;\n });\n }\n }\n };\n\n private setCircleXY = (): IcLoadingCircleXYR => {\n if (this.circularDiameter > 0) {\n const r = this.circularDiameter / 2;\n const x = r;\n const y = r;\n const nextRadius = r - this.circularLineWidth / 2;\n this.setDashSteps(nextRadius);\n\n return { x, y, r: nextRadius };\n }\n return { x: 0, y: 0, r: 0 };\n };\n\n private setDashSteps = (radius: number) => {\n const dashArray = 2 * Math.PI * radius;\n const progress = Math.min(Math.max(this.progress, this.min), this.max);\n const proportion = -1 - (progress - this.min) / (this.max - this.min);\n\n this.circularMeter.style.setProperty(\n \"--stroke-dasharray\",\n `${dashArray}px`\n );\n\n if (!this.indeterminate) {\n this.circularMeter.style.setProperty(\n \"--circular-steps-max\",\n String(this.max)\n );\n this.circularMeter.style.setProperty(\n \"--stroke-dashoffset\",\n `${proportion * dashArray}px`\n );\n }\n };\n\n render() {\n const { appearance, label, description, size, fullWidth, innerLabel } =\n this;\n const { x, y, r } = this.setCircleXY();\n\n return (\n <Host\n class={{\n [\"light\"]: appearance === IcThemeForegroundEnum.Light,\n [\"label\"]: !!label,\n [\"full-width\"]: fullWidth,\n [\"inner-label\"]: !!innerLabel,\n }}\n >\n <div class=\"ic-loading-container\">\n <div\n ref={(el) => (this.outerElement = el as HTMLDivElement)}\n class={this.calcOuterClass()}\n role=\"progressbar\"\n aria-labelledby={\n this.label && this.size !== \"icon\" && \"ic-loading-label\"\n }\n aria-label={description}\n aria-valuenow={this.progress}\n aria-valuemin={this.min}\n aria-valuemax={this.max}\n >\n <div\n ref={(el) => (this.innerElement = el as HTMLDivElement)}\n class={`ic-loading-${this.type}-inner`}\n >\n {this.innerLabel &&\n this.innerLabel !== undefined &&\n this.size === \"small\" && (\n <ic-typography variant=\"subtitle-small\" class=\"inner-text\">\n {this.innerLabel}\n </ic-typography>\n )}\n {this.type === \"circular\" && (\n <svg\n class=\"ic-loading-circular-svg\"\n viewBox={`0 0 ${this.circularDiameter || 0} ${\n this.circularDiameter || 0\n }`}\n >\n <circle cx={`${x}`} cy={`${y}`} r={`${r}`}></circle>\n <circle cx={`${x}`} cy={`${y}`} r={`${r}`}></circle>\n </svg>\n )}\n </div>\n </div>\n {label && size !== \"icon\" && (\n <ic-typography\n id=\"ic-loading-label\"\n class=\"ic-loading-label\"\n role=\"status\"\n variant={this.getLabelVariant()}\n >\n <p>{this.indicatorLabel}</p>\n </ic-typography>\n )}\n </div>\n </Host>\n );\n }\n}\n","@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-tooltip: z-index of tooltip\n */\n\n:host(.ic-tooltip) .ic-tooltip-container {\n background-color: var(--ic-architectural-800);\n color: #ffff;\n text-align: center;\n padding: var(--ic-space-xxxs) 0.625rem;\n border-radius: var(--ic-border-radius);\n border: var(--ic-space-1px) solid var(--ic-architectural-40);\n position: absolute;\n max-width: 20rem;\n display: none;\n z-index: var(--ic-z-index-tooltip);\n box-shadow: var(--ic-elevation-overlay);\n}\n\n:host(.tooltip-navigation-item:not(.tooltip-navigation-item-side-nav-collapsed))\n .ic-tooltip-container,\n:host(.tooltip-disabled) .ic-tooltip-container {\n display: none !important;\n}\n\n:host(.tooltip-long-label-navigation-item-side-nav-expanded)\n .ic-tooltip-container[data-show] {\n display: block !important;\n}\n\n:host(.ic-tooltip) .ic-tooltip-arrow,\n:host(.ic-tooltip) .ic-tooltip-arrow::before {\n position: absolute;\n background: inherit;\n}\n\n:host(.ic-tooltip) .ic-tooltip-arrow {\n visibility: hidden;\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n}\n\n:host(.ic-tooltip) .ic-tooltip-arrow::before {\n visibility: visible;\n content: \"\";\n border: var(--ic-space-1px) solid var(--ic-architectural-40);\n width: 100%;\n height: 100%;\n}\n\n:host(.ic-tooltip) .ic-tooltip-container[data-show] {\n display: block;\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"top\"]\n > .ic-tooltip-arrow {\n height: var(--ic-space-xxxs);\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"top\"]\n > .ic-tooltip-arrow::before {\n border-radius: 0 0 var(--ic-border-radius) var(--ic-border-radius);\n left: 0;\n top: var(--ic-space-xxxs);\n border-top: 0;\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"bottom\"]\n > .ic-tooltip-arrow {\n top: calc(-1 * var(--ic-space-xxs));\n height: var(--ic-space-xxxs);\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"bottom\"]\n > .ic-tooltip-arrow::before {\n border-radius: var(--ic-border-radius) var(--ic-border-radius) 0 0;\n left: 0;\n top: var(--ic-space-1px);\n border-bottom: 0;\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"left\"]\n > .ic-tooltip-arrow {\n width: var(--ic-space-xxxs);\n right: calc(-1 * var(--ic-space-1px));\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"left\"]\n > .ic-tooltip-arrow::before {\n border-radius: 0 var(--ic-border-radius) var(--ic-border-radius) 0;\n border-left: 0;\n top: calc(-1 * var(--ic-space-1px));\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"right\"]\n > .ic-tooltip-arrow {\n width: var(--ic-space-xxxs);\n left: calc(-1 * var(--ic-space-xxs));\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"right\"]\n > .ic-tooltip-arrow::before {\n border-radius: var(--ic-border-radius) 0 0 var(--ic-border-radius);\n border-right: 0;\n top: calc(-1 * var(--ic-space-1px));\n}\n\n@media (forced-colors: active) {\n :host(.ic-tooltip) .ic-tooltip-container,\n :host(.ic-tooltip) .ic-tooltip-arrow::before {\n border: var(--ic-hc-border);\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n Watch,\n Method,\n} from \"@stencil/core\";\nimport { Instance, createPopper } from \"@popperjs/core\";\nimport { IcTooltipPlacements } from \"./ic-tooltip.types\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-tooltip\",\n styleUrl: \"ic-tooltip.css\",\n shadow: true,\n})\nexport class Tooltip {\n private arrow: HTMLDivElement;\n private delayedHideEvents = [\"mouseleave\"];\n private instantHideEvents = [\"focusout\"];\n private mouseOverTool: boolean = false;\n private persistTooltip = false;\n private popperInstance: Instance;\n private screenReaderOnlyStyles = {\n position: \"absolute\",\n left: \"-10000px\",\n top: \"auto\",\n width: \"1px\",\n height: \"1px\",\n overflow: \"hidden\",\n };\n private showEvents = [\n !this.disableHover && \"mouseenter\",\n !this.disableHover && \"focusin\",\n !this.disableClick && \"click\",\n ];\n private toolTip: HTMLDivElement;\n\n @Element() el: HTMLIcTooltipElement;\n\n /**\n * If `true`, the tooltip will not be displayed on click, it will require hover or using the display method.\n */\n @Prop() disableClick?: boolean = false;\n\n /**\n * If `true`, the tooltip will not be displayed on hover, it will require a click or using the display method.\n */\n @Prop() disableHover?: boolean = false;\n\n /**\n * The position of the tool-tip in relation to the parent element.\n */\n @Prop() placement?: IcTooltipPlacements = \"bottom\";\n\n /**\n * The ID of the element the tooltip is describing - for when aria-labelledby or aria-describedby is used.\n */\n @Prop({ reflect: true }) target?: string;\n\n /**\n * The text to display on the tooltip.\n */\n @Prop() label!: string;\n\n @Watch(\"label\")\n updateLabel(newValue: string): void {\n const describedBySpan = this.el.previousElementSibling as HTMLElement;\n if (describedBySpan !== null) {\n describedBySpan.innerText = newValue;\n }\n }\n\n disconnectedCallback(): void {\n this.manageEventListeners(\"remove\");\n this.popperInstance.destroy();\n }\n\n private show = (popper: Instance) => {\n this.toolTip.setAttribute(\"data-show\", \"\");\n popper.setOptions((options) => ({\n ...options,\n modifiers: [\n ...options.modifiers,\n { name: \"eventListeners\", enabled: true },\n ],\n }));\n popper.update();\n };\n\n private hide = (popper: Instance) => {\n this.toolTip.removeAttribute(\"data-show\");\n popper.setOptions((options) => ({\n ...options,\n modifiers: [\n ...options.modifiers,\n { name: \"eventListeners\", enabled: false },\n ],\n }));\n this.persistTooltip = false;\n };\n\n private checkCloseTooltip = (popper: Instance) => {\n setTimeout(() => {\n if (!this.mouseOverTool && !this.persistTooltip) {\n this.hide(popper);\n }\n }, 100);\n };\n\n private mouseEnterTooltip = () => {\n this.mouseOverTool = true;\n };\n\n private mouseLeaveTooltip = (popper: Instance) => {\n this.mouseOverTool = false;\n this.checkCloseTooltip(popper);\n };\n\n private handleKeyDown = (key: string) => {\n if (key === \"Escape\" && !this.persistTooltip) {\n this.hide(this.popperInstance);\n }\n };\n\n private manageEventListeners = (action: \"add\" | \"remove\") => {\n const method =\n action === \"add\" ? \"addEventListener\" : \"removeEventListener\";\n\n this.showEvents.forEach((event) => {\n this.el[method](event, () => this.show(this.popperInstance));\n if (this.toolTip !== undefined) {\n this.toolTip[method](event, () => this.mouseEnterTooltip());\n }\n });\n\n this.instantHideEvents.forEach((event) => {\n this.el[method](\n event,\n () => !this.persistTooltip && this.hide(this.popperInstance)\n );\n });\n\n this.delayedHideEvents.forEach((event) => {\n this.el[method](event, () => this.checkCloseTooltip(this.popperInstance));\n if (this.toolTip !== undefined) {\n this.toolTip[method](event, () =>\n this.mouseLeaveTooltip(this.popperInstance)\n );\n }\n });\n\n document[method](\"keydown\", (event: KeyboardEvent) =>\n this.handleKeyDown(event.key)\n );\n };\n\n componentDidLoad(): void {\n this.popperInstance = createPopper(this.el, this.toolTip, {\n placement: this.placement,\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 10],\n },\n },\n {\n name: \"arrow\",\n options: {\n element: this.arrow,\n },\n },\n {\n name: \"eventListeners\",\n options: { scroll: false, resize: false },\n },\n ],\n });\n\n this.manageEventListeners(\"add\");\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tooltip\"\n );\n\n if (this.target !== undefined) {\n const ariaDescribedBy = document.createElement(\"span\");\n ariaDescribedBy.id = `ic-tooltip-${this.target}`;\n ariaDescribedBy.innerText = this.label;\n ariaDescribedBy.classList.add(\"ic-tooltip-label\");\n Object.assign(ariaDescribedBy.style, this.screenReaderOnlyStyles);\n\n this.el.insertAdjacentElement(\"beforebegin\", ariaDescribedBy);\n }\n }\n\n /**\n * Method to programmatically show/hide the tooltip without needing to interact with an anchor element\n * @param show Whether to show or hide the tooltip\n * @param persistTooltip Whether the tooltip should stay on the screen when actions are performed that would previously dismiss the tooltip, such as on hover\n */\n @Method()\n async displayTooltip(show: boolean, persistTooltip?: boolean): Promise<void> {\n this.persistTooltip = persistTooltip;\n show ? this.show(this.popperInstance) : this.hide(this.popperInstance);\n }\n\n render() {\n const { label } = this;\n return (\n <Host class={{ \"ic-tooltip\": true }}>\n <div\n ref={(el) => (this.toolTip = el as HTMLDivElement)}\n role=\"tooltip\"\n class=\"ic-tooltip-container\"\n >\n <ic-typography variant=\"caption\">{label}</ic-typography>\n <div\n ref={(el) => (this.arrow = el as HTMLDivElement)}\n class=\"ic-tooltip-arrow\"\n data-popper-arrow\n ></div>\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as i,h as t,H as a,g as e}from"./p-1af8f256.js";import{c as s}from"./p-44512ebe.js";import{C as o}from"./p-06321d19.js";import{z as n,i as r,D as l,A as d,g as p,l as c,c as h,a as v,m as g}from"./p-b5c0b75c.js";import{I as m}from"./p-6f57b13c.js";const b=`<svg xmlns="http://www.w3.org/2000/svg" height="24px" viewBox="0 0 24 24" width="24px" fill="currentColor">\n <path d="M0 0h24v24H0V0z" fill="none" />\n <path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" />\n <title>menu icon</title>\n</svg>\n`;const u=':host{display:block;--side-navigation-position:fixed;--side-navigation-position-left:0;--side-navigation-position-top:var(--ic-space-xxl);--side-navigation-height:var(--ic-space-xxl);--sm-side-navigation-top-bar-height:3.5rem;--sm-side-navigation-collapsed-labels-width:6rem;--sm-side-navigation-expand-transition-duration:var(\n --ic-transition-duration-slow\n );--side-navigation-width:20rem;--sm-side-navigation-bottom-bar-height:3.5rem;z-index:var(--ic-z-index-side-navigation)}:host>*{box-sizing:border-box}.side-navigation{display:flex;flex-direction:column;width:var(--side-navigation-width);color:var(--ic-theme-text);position:var(--side-navigation-position);top:var(--side-navigation-position-top);left:calc(var(--side-navigation-width) * -1);bottom:0;background-color:var(--ic-theme-primary);z-index:var(--ic-z-index-side-navigation)}:host(.inline) .side-navigation{position:absolute;height:100%}:host(.anchor-right) .side-navigation{right:calc(var(--side-navigation-width) * -1)}.classification-spacing{margin-bottom:var(--ic-space-lg)}.navigation-list{padding:0;margin:0;list-style:none}.side-navigation-inner{background-color:var(--ic-theme-primary);display:flex;flex-direction:column;flex:1 1 0;overflow:auto}:host(.inline) .side-navigation-inner{flex:1}:host(.xs-menu-open) .side-navigation{transition:left var(--ic-easing-transition-slow);left:0}:host(.xs-menu-close) .side-navigation{left:calc(var(--side-navigation-width) * -1);transition:left var(--ic-easing-transition-slow)}:host(.xs-menu-close) .side-navigation>*{visibility:hidden}:host(.anchor-right.xs-menu-open) .side-navigation{right:0;left:auto}:host(.anchor-right.xs-menu-close) .side-navigation{right:calc(var(--side-navigation-width) * -1);left:auto;transition:right var(--ic-easing-transition-slow)}.bottom-wrapper{border-top:var(--ic-keyline-lighten);bottom:0;left:0;z-index:2;box-shadow:-0.188rem -0.188rem 0.5rem rgb(0 0 0 / 20%);background-color:var(--ic-theme-primary);display:flex;flex-direction:column}:host(.inline) .bottom-wrapper{position:sticky}:host(.dark) .bottom-wrapper{border-top:var(--ic-keyline-darken)}.top-bar{display:flex;flex-direction:row;align-items:center;min-height:var(--side-navigation-height);padding:var(--ic-space-xs);box-sizing:border-box;background-color:var(--ic-theme-primary);position:fixed;top:0;left:0;right:0;border-bottom:var(--ic-keyline-darken);box-shadow:var(--ic-elevation-overlay);z-index:2;overflow:hidden;visibility:visible}:host(.inline) .top-bar{position:absolute}.top-bar.dark a:focus{box-shadow:var(--ic-border-focus)}.top-bar.light{border-bottom:var(--ic-keyline-lighten)}.app-title-wrapper{display:flex;margin-left:var(--ic-space-xs);border-left:var(--ic-keyline-darken);padding-left:var(--ic-space-xxs);color:var(--ic-theme-text);align-items:center}.app-title-wrapper ic-typography h1{margin:0}@media screen and (min-width: 340px){.app-title-wrapper ic-typography{margin-left:var(--ic-space-xs)}}:host .title-link{display:flex;align-items:center;transition:box-shadow var(--ic-easing-transition-fast),\n background-color var(--ic-easing-transition-fast);text-decoration:none;padding:var(--ic-space-xxs);color:var(--ic-theme-text)}:host .title-link:visited,:host .title-link:active{color:var(--ic-theme-text)}slot[name="app-title"]::slotted(a),slot[name="app-icon"]::slotted(a){color:var(--ic-theme-text);outline:none;text-decoration:none}:host .title-link:hover{border-radius:var(--ic-border-radius);background-color:var(--ic-theme-hover)}:host .title-link:active{background-color:var(--ic-theme-active)}:host .title-link:focus,:host .title-link:focus-within{border-radius:var(--ic-border-radius);box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline);background-color:transparent}:host .title-link ic-typography{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.app-title-wrapper ::slotted(svg){fill:var(--ic-theme-text)}.app-icon-container{display:none}.button-label{display:flex;align-items:center}.mobile-top-bar-menu-icon{display:flex}.menu-button{width:6.5rem}.app-status-wrapper{inset:0 var(--ic-space-sm) 0 3.5rem;width:auto;display:flex;gap:var(--ic-space-xs);padding:var(--ic-space-sm) 0;justify-content:flex-end;align-items:flex-end;pointer-events:none;height:-moz-fit-content;height:fit-content;margin:0 var(--ic-space-xs)}.app-status-wrapper .app-version{display:flex;overflow-wrap:break-word;padding-bottom:var(--ic-space-xxs)}.app-status-wrapper .app-status{display:flex;border-radius:1rem;background-color:var(--ic-theme-text);color:var(--ic-color-primary-text);padding:var(--ic-space-xxs) var(--ic-space-lg);min-width:1rem}.app-status-wrapper .app-status-text{overflow-wrap:break-word}:host(.dark) .app-status-wrapper .app-status{color:var(--ic-color-white-text)}.navigation-landmark-title{position:absolute;width:var(--ic-space-1px);height:var(--ic-space-1px);padding:0;margin:calc(-1 * var(--ic-space-1px));overflow:hidden}::slotted(ic-navigation-group){--navigation-group-height:2.75rem;--navigation-group-width:100%;--navigation-group-justify-content:space-between;--navigation-group-hover:var(--ic-theme-hover);--navigation-group-text-hover:var(--ic-theme-text);--navigation-item-child-height:3.5rem;--navigation-item-child-active:var(--ic-action-dark-bg-active);--navigation-item-child-color:var(--ic-theme-text);--navigation-group-expand-toggle-padding:0.25rem}::slotted(ic-navigation-item),::slotted(ic-navigation-group){--navigation-item-height:3.5rem;--navigation-item-width:auto;--navigation-item-justify-content:flex-start}.bottom-side-nav{position:relative;align-content:flex-end;min-height:var(--sm-side-navigation-top-bar-height)}.bottom-side-nav ic-divider{position:absolute;top:0;width:100%}.primary-navigation{flex:1;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:none}.primary-navigation::-webkit-scrollbar{display:none}.primary-navigation,.secondary-navigation{overflow-x:hidden}.bottom-side-nav .menu-expand-button{position:absolute;display:none}.menu-visibility-visible{visibility:visible;width:100%}@media screen and (min-width: 340px){.app-icon-container{display:flex}}@media screen and (min-width: 577px){:host{display:flex;flex-direction:column;height:100vh;position:var(--side-navigation-position);left:0;top:0;bottom:0}.app-icon-container{padding:var(--ic-space-xxs) 0}.top-bar{--side-navigation-height:var(--sm-side-navigation-top-bar-height);position:relative;padding:0;box-shadow:-0.188rem 0.188rem 0.5rem rgb(0 0 0 / 20%)}:host(.inline) .top-bar{position:sticky}:host(.anchor-right) .top-bar{box-shadow:0.188rem 0.188rem 0.5rem rgb(0 0 0 / 20%)}:host(.anchor-right) .bottom-wrapper{box-shadow:0.188rem -0.188rem 0.5rem rgb(0 0 0 / 20%)}.side-navigation,.top-bar{width:var(--sm-side-navigation-top-bar-height)}:host(.sm-collapsed){width:var(--sm-side-navigation-top-bar-height);transition:width var(--ic-easing-transition-slow)}:host(.sm-collapsed.collapsed-labels){width:var(--sm-side-navigation-collapsed-labels-width)}:host(.sm-expanded){width:var(--side-navigation-width);transition:width var(--ic-easing-transition-slow);box-shadow:var(--ic-elevation-overlay)}.side-navigation{--side-navigation-position-top:0;flex:1;position:relative;top:auto;left:auto;bottom:auto}:host(.inline) .side-navigation{position:relative}:host(.anchor-right) .side-navigation{left:auto;right:0}.app-title-wrapper{margin-left:0;border-left:none;padding:var(--ic-space-sm)}.app-title-wrapper ::slotted(svg){height:var(--ic-space-lg);width:var(--ic-space-lg)}.app-title-wrapper ic-typography{margin:calc(-1 * 0.281rem) 0 calc(-1 * 0.281rem) var(--ic-space-md);font-weight:var(--ic-font-weight-semibold)}:host(.sm-collapsed) .app-title-wrapper ic-typography{position:absolute;left:-9999px;opacity:0;transition:opacity var(--ic-easing-transition-slow)}:host(.sm-expanded) ic-typography{position:relative;left:0}:host(.sm-expanded) :is(.side-navigation,.top-bar){width:var(--side-navigation-width);transition:width var(--ic-easing-transition-slow)}:host(.sm-collapsed) :is(.side-navigation,.top-bar){width:var(--sm-side-navigation-top-bar-height);transition:width var(--ic-easing-transition-slow)}:host(.anchor-right.sm-expanded) :is(.side-navigation,.top-bar){left:auto;right:0}.app-status-wrapper,:host(.sm-collapsed) .app-status-wrapper{display:none;margin-left:0}:host(.sm-expanded) .app-status-wrapper{display:flex;max-width:16rem;margin-right:calc(var(--ic-space-xxxs) + var(--ic-space-xs))}.bottom-side-nav{justify-items:flex-end;align-items:flex-end;justify-content:flex-end;display:flex}.bottom-side-nav .menu-expand-button{padding-left:var(--ic-space-md);height:var(--sm-side-navigation-top-bar-height);width:100%;color:var(--ic-theme-text);background-color:transparent;outline:var(--ic-hc-focus-outline);border:none;cursor:pointer;display:flex;transition:var(--ic-easing-transition-fast)}:host(.sm-expanded) .bottom-side-nav .menu-expand-button{height:100%}.bottom-side-nav .menu-expand-button svg{justify-items:flex-start;align-self:center;display:inline-block;width:var(--ic-space-lg);height:var(--ic-space-lg)}.bottom-side-nav .menu-expand-button:hover{background-color:var(--ic-theme-hover)}:host .bottom-side-nav{outline:none}:host .bottom-side-nav .menu-expand-button:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);background-color:transparent}:host(.sm-collapsed) .bottom-side-nav .menu-expand-button svg{transform:scaleX(1);transition:transform var(--ic-easing-transition-slow)}:host(.sm-expanded) .bottom-side-nav .menu-expand-button svg{transform:scaleX(-1);transition:transform var(--ic-easing-transition-slow);align-self:flex-end;margin-bottom:0.875rem}:host(.anchor-right.sm-collapsed) .bottom-side-nav .menu-expand-button svg{transform:scaleX(-1)}:host(.anchor-right.sm-expanded) .bottom-side-nav .menu-expand-button svg{transform:scaleX(1)}:host(.sm-collapsed) ::slotted(ic-navigation-item){--navigation-item-label-opacity:1}:host(.sm-collapsed) ::slotted(ic-navigation-item),:host(.sm-collapsed) ::slotted(ic-navigation-group){--navigation-item-label-opacity:0}:host(.sm-expanded) ::slotted(ic-navigation-item),:host(.sm-expanded) ::slotted(ic-navigation-group){--navigation-item-label-opacity:1}:host(.sm-collapsed) ::slotted(ic-navigation-group){--navigation-group-title-position:absolute;--navigation-group-title-position-left:-9999px;--navigation-group-title-opacity:none}:host(.sm-expanded) ::slotted(ic-navigation-group){--navigation-group-title-position:relative;--navigation-group-title-position-left:0;--navigation-group-expand-toggle-padding:0.25rem;--navigation-group-title-opacity:flex}:host(.sm-collapsed.collapsed-labels) .side-navigation,:host(.sm-collapsed.collapsed-labels) .top-bar{width:var(--sm-side-navigation-collapsed-labels-width)}:host(.sm-collapsed.collapsed-labels) .menu-expand-button{padding:0}:host(.sm-collapsed.collapsed-labels) .app-title-wrapper{width:100%;justify-content:center}:host(.sm-collapsed.collapsed-labels) ::slotted(ic-navigation-group){--navigation-group-justify-content:center;--navigation-item-label-opacity:1;--navigation-group-item-min-width:100%;--navigation-group-expand-toggle-padding:1rem}:host(.collapsed-labels) .bottom-side-nav .menu-expand-button{justify-content:center}:host .collapsed-icon-labels-start{visibility:hidden;opacity:0}:host .collapsed-icon-labels-end{visibility:visible;opacity:1;transition:visibility 0s, opacity var(--ic-easing-transition-slow)}}@media screen and (min-width: 993px){:host{position:sticky;left:auto;top:0;bottom:0}:host(.sm-expanded){box-shadow:none}}@media (forced-colors: active){.side-navigation,.top-bar{border-right:var(--ic-hc-border)}slot[name="app-icon"]::slotted(svg){fill:currentcolor}}';const x=class{constructor(a){i(this,a);this.ANIMATION_DURATION=parseInt(n("--ic-transition-duration-slow"))||0;this.IC_NAVIGATION_ITEM="ic-navigation-item";this.resizeObserver=null;this.COLLAPSED_ICON_LABELS_END="collapsed-icon-labels-end";this.COLLAPSED_ICON_LABELS_START="collapsed-icon-labels-start";this.emitSideNavigationExpanded=i=>{const t=new CustomEvent("sideNavExpanded",{detail:{sideNavExpanded:i.sideNavExpanded,sideNavMobile:i.sideNavMobile}});this.el.dispatchEvent(t)};this.toggleMenu=()=>{this.menuOpen=!this.menuOpen;this.setMobileMenuAriaAttributes(this.menuOpen);this.arrangeSlottedNavigationItem(this.menuOpen);this.setToggleMenuFlyoutMenuVisibility(this.menuOpen);this.emitSideNavigationExpanded({sideNavExpanded:this.menuOpen,sideNavMobile:true})};this.setToggleMenuFlyoutMenuVisibility=i=>{const t=this.el.shadowRoot.querySelector("#side-navigation");const a=t.querySelector(".side-navigation-inner");const e=t.querySelector(".bottom-wrapper");const s="menu-visibility-visible";if(i){e.classList.add(s);a.classList.add(s)}else{setTimeout((()=>{a.classList.remove(s);e.classList.remove(s)}),this.ANIMATION_DURATION)}};this.setMobileMenuAriaAttributes=i=>{const t=this.el.shadowRoot.querySelector("#menu-button").shadowRoot.querySelector("button");if(i){t.setAttribute("aria-expanded","true");t.setAttribute("aria-label","Close navigation menu")}else{t.setAttribute("aria-expanded","false");t.setAttribute("aria-label","Open navigation menu")}};this.setAndRemoveNoWrapAfterMenuExpanded=()=>{const i=this.el.shadowRoot.querySelector(".title-link ic-typography");i.classList.add("ic-typography-no-wrap");setTimeout((()=>{i.classList.remove("ic-typography-no-wrap")}),this.ANIMATION_DURATION)};this.toggleMenuExpanded=()=>{this.menuExpanded=!this.menuExpanded;if(this.menuExpanded){this.setAndRemoveNoWrapAfterMenuExpanded()}this.arrangeSlottedNavigationItem(this.menuExpanded);this.displayTooltipWithExpandedLongLabel(this.menuExpanded);if(this.collapsedIconLabels){this.animateCollapsedIconLabels()}this.setExpandedButtonHeight();this.emitSideNavigationExpanded({sideNavExpanded:this.menuExpanded})};this.arrangeSlottedNavigationItem=i=>{const t=this.el.querySelectorAll("ic-navigation-item");t.forEach((t=>{const a=r(t,"navigation-item");if(a){const a=t.querySelector("[slot='navigation-item']");const e=document.createElement("div");const s=a.querySelector("svg");const o=t.textContent.trim();const n=document.createElement("ic-typography");n.classList.add("ic-typography-label","hydrated","navigation-item-side-nav-slotted-text");e.style.height="var(--ic-space-lg)";e.append(s);a.textContent="";n.textContent=o;a.append(e);a.append(n);if(this.collapsedIconLabels){this.styleSlottedCollapsedIconLabels(i,n)}else{this.styleSlottedIconLabels(i,n)}}}))};this.styleSlottedCollapsedIconLabels=(i,t)=>{if(i){t.style.marginTop="0";t.style.whiteSpace="nowrap";t.style.overflow="hidden";t.style.textOverflow="ellipsis"}else{t.style.marginTop="10px";t.style.whiteSpace="nowrap";t.style.overflow="hidden";t.style.textOverflow="ellipsis"}};this.setExpandedButtonHeight=()=>{const i=this.el.shadowRoot.querySelector("#side-navigation > .bottom-wrapper > .bottom-side-nav > .app-status-wrapper");if(i.offsetHeight!==0){this.el.style.setProperty("--sm-side-navigation-bottom-bar-height",`${i.offsetHeight}px`)}};this.styleSlottedIconLabels=(i,t)=>{if(i){t.style.opacity="1";t.style.visibility="visible";t.style.transition="visibility 0s, opacity var(--ic-easing-transition-slow)"}else{t.style.opacity="0";t.style.visibility="hidden";t.style.transition="visibility 0s, opacity var(--ic-easing-transition-slow)"}};this.transitionHandler=i=>{const t=this.el.shadowRoot.querySelector(".primary-navigation");const a=this.el.shadowRoot.querySelector(".bottom-wrapper > .secondary-navigation");const e=i==="start"?this.COLLAPSED_ICON_LABELS_END:this.COLLAPSED_ICON_LABELS_START;const s=i==="start"?this.COLLAPSED_ICON_LABELS_START:this.COLLAPSED_ICON_LABELS_END;if(t){t.classList.remove(e);t.classList.add(s)}if(a){a.classList.remove(e);a.classList.add(s)}};this.transitionEndHandler=()=>{this.transitionHandler("end")};this.animateCollapsedIconLabels=()=>{this.transitionHandler("start");this.transitionEndHandler();this.el.addEventListener("transitionend",this.transitionEndHandler)};this.paddingIconWidth=i=>{const t=i[0].shadowRoot&&(i[0].shadowRoot.querySelector("ic-tooltip a")||i[0].shadowRoot.querySelector("ic-tooltip div"))||i[0].querySelector("a")||i[0].querySelector("div");const a=i[0].querySelector("svg");const e={gap:window.getComputedStyle(t).gap,iconWidth:window.getComputedStyle(a).width,paddingLeft:window.getComputedStyle(t).paddingLeft};return Object.values(e).reduce(((i,t)=>i+=parseInt(t)),0)};this.displayTooltipWithExpandedLongLabel=i=>{let t;if(i){t=setTimeout((()=>{const i=this.el.clientWidth;const t=Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));const a=t.length?this.paddingIconWidth(t):0;t.forEach((t=>{var e,s;const o=((e=t.shadowRoot&&t.shadowRoot.querySelector("ic-tooltip .link ic-typography.ic-typography-label"))===null||e===void 0?void 0:e.scrollWidth)||((s=t.querySelector("ic-typography.ic-typography-label"))===null||s===void 0?void 0:s.scrollWidth);if(o>i-a){t.setAttribute("display-navigation-tooltip","true")}}))}),this.ANIMATION_DURATION)}else{clearTimeout(t);const i=Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));i.forEach((i=>{i.setAttribute("display-navigation-tooltip","false")}))}};this.setMenuExpanded=i=>{this.menuExpanded=i};this.setParentPaddingTop=i=>{this.el.parentElement.style.setProperty("padding-top",i)};this.setParentPaddingLeft=i=>{this.el.parentElement.style.setProperty("padding-left",i)};this.renderAppTitle=i=>{const a=this.deviceSize<=l.S&&!d(this.shortAppTitle);return t("ic-typography",{variant:a||i?"subtitle-small":"h3","aria-label":a?`${this.appTitle} (${this.shortAppTitle})`:undefined},t("h1",null,a?this.shortAppTitle:this.appTitle))};this.resizeObserverCallback=i=>{this.deviceSize=i;if(i===l.S){if(!this.disableAutoParentStyling){const i=this.el.shadowRoot.querySelector(".top-bar").scrollHeight;this.setParentPaddingTop(`${i}px`);this.setParentPaddingLeft("0");if(this.inline){this.el.parentElement.style.setProperty("height",`calc(100% - ${i}px)`)}}this.emitSideNavigationExpanded({sideNavExpanded:this.menuExpanded,sideNavMobile:true})}else{if(!this.disableAutoParentStyling){this.setParentPaddingTop("0");this.el.parentElement.style.setProperty("height","100%")}this.emitSideNavigationExpanded({sideNavExpanded:this.menuExpanded,sideNavMobile:false})}let t;if(this.collapsedIconLabels){t="calc(var(--ic-space-xxl) * 2)"}else{t="calc(var(--ic-space-xxl) + var(--ic-space-xs))"}if(i>l.L){if(!this.disableAutoParentStyling){this.setParentPaddingTop("0");this.setParentPaddingLeft("0")}}else if(i>l.S&&i<=l.M&&this.static&&!this.disableAutoParentStyling){this.setParentPaddingLeft(t)}else if(i>l.S&&i<=l.L&&!this.disableAutoParentStyling){if(this.static&&this.menuExpanded){this.setParentPaddingLeft("calc(var(--ic-space-xl) * 10)")}else{this.setParentPaddingLeft(t)}}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{const i=p();this.deviceSizeAppTitle=i;this.resizeObserverCallback(i)}));this.resizeObserver.observe(document.body,{box:"content-box"})};this.setCollapsedIconLabels=()=>{const i=Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));i.forEach((i=>{i.setAttribute("collapsed-icon-label","true")}))};this.styleSlottedCollapsedIconLabel=()=>{const i=Array.from(this.el.querySelectorAll(".navigation-item-side-nav-slotted-text"));i.forEach((i=>{var t,a;if((a=(t=i===null||i===void 0?void 0:i.parentElement)===null||t===void 0?void 0:t.parentElement)===null||a===void 0?void 0:a.classList.contains("navigation-item-side-nav-collapsed-with-label")){i.style.whiteSpace="nowrap";i.style.overflow="hidden";i.style.textOverflow="ellipsis";i.style.marginTop="10px"}}))};this.renderTopBar=({isSDevice:i,foregroundColor:a,menuOpen:e,href:o,isAppNameSubtitleVariant:n})=>{const l=this.appTitle!==""&&this.appTitle!==undefined;const d=r(this.el,"app-title")?"div":"a";const p=d=="a"&&{href:o};return t("div",{class:{"top-bar":true,[this.foregroundColor]:true}},i&&t("nav",{"aria-labelledby":"menu-navigation-toggle-button-landmark","aria-hidden":"false"},t("ic-button",{"aria-label":"Open navigation menu",class:"menu-button",id:"menu-button",variant:"secondary",size:"small","full-width":"true",appearance:a,onClick:this.toggleMenu,"aria-owns":"side-navigation","aria-haspopup":"true","aria-expanded":"false"},t("span",{class:"mobile-top-bar-menu-icon",slot:"icon",innerHTML:e?s:b}),e?"Close":"Menu"),t("span",{id:"menu-navigation-toggle-button-landmark",class:"navigation-landmark-title","aria-hidden":"true"},"Navigation menu toggle button")),t("div",{class:"app-title-wrapper"},(l||r(this.el,"app-title"))&&t(d,Object.assign({},p,{class:"title-link"}),t("div",{class:"app-icon-container","aria-hidden":"true"},t("slot",{name:"app-icon"})),r(this.el,"app-title")?t("slot",{name:"app-title"}):this.renderAppTitle(n))))};this.deviceSize=l.XL;this.deviceSizeAppTitle=l.S;this.foregroundColor=c();this.hasSecondaryNavigation=false;this.menuExpanded=false;this.menuOpen=false;this.appTitle=undefined;this.collapsedIconLabels=false;this.disableAutoParentStyling=false;this.expanded=false;this.href="/";this.inline=false;this.shortAppTitle="";this.static=false;this.status=undefined;this.version=undefined}componentWillLoad(){if(this.expanded){this.setMenuExpanded(true)}else{this.setMenuExpanded(false)}if(this.collapsedIconLabels){this.setCollapsedIconLabels()}this.hasSecondaryNavigation=r(this.el,"secondary-navigation")}componentDidLoad(){this.emitSideNavigationExpanded({sideNavExpanded:this.menuExpanded,sideNavMobile:this.deviceSize===l.S});h(this.runResizeObserver);this.styleSlottedCollapsedIconLabel();this.arrangeSlottedNavigationItem(this.menuExpanded);this.displayTooltipWithExpandedLongLabel(this.menuExpanded);this.setExpandedButtonHeight();!r(this.el,"app-title")&&v([{prop:this.appTitle,propName:"app-title"}],"Side Navigation")}disconnectedCallback(){if(this.resizeObserver!==null){this.resizeObserver.disconnect()}this.el.removeEventListener("transitionend",this.transitionEndHandler)}themeChangeHandler(i){const t=i.detail;this.foregroundColor=t.mode}render(){const{appTitle:i,menuOpen:e,foregroundColor:s,menuExpanded:n,href:d,status:p,version:c,collapsedIconLabels:h,inline:v}=this;const b=this.deviceSize===l.S;const u=this.deviceSize===l.M;const x=this.deviceSize>=l.L;const f=this.deviceSizeAppTitle===l.S;const w=u||x&&!this.static;const y={isSDevice:b,foregroundColor:s,menuOpen:e,href:d,isAppNameSubtitleVariant:f,appTitle:i};return t(a,{class:{"xs-menu-open":e&&b,"xs-menu-close":!e&&b,"sm-collapsed":!b&&!n,"sm-expanded":!b&&n,[m.Dark]:s===m.Dark,["collapsed-labels"]:!b&&!n&&h,["inline"]:v}},b&&this.renderTopBar(Object.assign({},y)),t("div",{class:"side-navigation",id:"side-navigation"},!b&&this.renderTopBar(Object.assign({},y)),t("div",{class:"side-navigation-inner"},r(this.el,"primary-navigation")&&t("nav",{class:"primary-navigation","aria-labelledby":"primary-navigation-landmark"},t("span",{"aria-hidden":"true",class:"navigation-landmark-title",id:"primary-navigation-landmark"},"Primary"),t("ul",{class:"navigation-list"},t("slot",{name:"primary-navigation"})))),t("div",{class:{["bottom-wrapper"]:true,["classification-spacing"]:g()}},r(this.el,"secondary-navigation")&&t("nav",{class:"secondary-navigation","aria-labelledby":"secondary-navigation-landmark"},t("span",{"aria-hidden":"true",class:"navigation-landmark-title",id:"secondary-navigation-landmark"},"Secondary"),t("ul",{class:"navigation-list"},t("slot",{name:"secondary-navigation"}))),t("div",{class:"bottom-side-nav"},this.hasSecondaryNavigation&&t("ic-divider",null),w&&t("button",{class:"menu-expand-button",innerHTML:o,onClick:this.toggleMenuExpanded,"aria-label":`${n?"Collapse":"Expand"} side navigation`}),t("div",{class:"app-status-wrapper"},p!==""&&t("div",{class:{["app-status"]:true}},t("ic-typography",{"aria-label":"app tag",variant:"label-uppercase",class:"app-status-text"},p)),c!==""&&t("ic-typography",{variant:"label",class:"app-version","aria-label":"app version"},c))))))}get el(){return e(this)}};x.style=u;export{x as ic_side_navigation};
2
- //# sourceMappingURL=p-a9e4e5f8.entry.js.map