@ukic/web-components 3.2.0 → 3.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (562) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-789082d4.js → helpers-fc4016d2.js} +21 -37
  3. package/dist/cjs/helpers-fc4016d2.js.map +1 -0
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-accordion.cjs.entry.js +10 -8
  6. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  8. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-badge.cjs.entry.js +4 -4
  11. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +56 -76
  13. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-breadcrumb.cjs.entry.js +32 -51
  15. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-button_3.cjs.entry.js +110 -131
  17. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-card-vertical.cjs.entry.js +6 -6
  19. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-checkbox-group.cjs.entry.js +9 -10
  21. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-checkbox.cjs.entry.js +37 -41
  23. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-chip.cjs.entry.js +26 -38
  25. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  27. package/dist/cjs/ic-data-row.cjs.entry.js +3 -3
  28. package/dist/cjs/ic-dialog.cjs.entry.js +2 -2
  29. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-empty-state.cjs.entry.js +3 -3
  31. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-footer-link.cjs.entry.js +3 -3
  33. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  34. package/dist/cjs/ic-hero.cjs.entry.js +7 -6
  35. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +6 -6
  37. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +23 -22
  38. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-input-label_2.cjs.entry.js +8 -8
  40. package/dist/cjs/ic-link.cjs.entry.js +12 -4
  41. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  43. package/dist/cjs/ic-menu-item.cjs.entry.js +5 -5
  44. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-navigation-button.cjs.entry.js +3 -3
  46. package/dist/cjs/ic-navigation-group.cjs.entry.js +116 -164
  47. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-navigation-item.cjs.entry.js +65 -62
  49. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
  51. package/dist/cjs/ic-page-header.cjs.entry.js +7 -7
  52. package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
  53. package/dist/cjs/ic-pagination.cjs.entry.js +5 -5
  54. package/dist/cjs/ic-popover-menu.cjs.entry.js +8 -7
  55. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-radio-group.cjs.entry.js +5 -5
  57. package/dist/cjs/ic-radio-option.cjs.entry.js +5 -5
  58. package/dist/cjs/ic-search-bar.cjs.entry.js +149 -154
  59. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  61. package/dist/cjs/ic-select.cjs.entry.js +142 -218
  62. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-side-navigation.cjs.entry.js +25 -6
  64. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  66. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  67. package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
  68. package/dist/cjs/ic-step.cjs.entry.js +14 -14
  69. package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
  70. package/dist/cjs/ic-switch.cjs.entry.js +6 -6
  71. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  73. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  74. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  75. package/dist/cjs/ic-tab.cjs.entry.js +3 -3
  76. package/dist/cjs/ic-text-field.cjs.entry.js +39 -31
  77. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  79. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  80. package/dist/cjs/ic-toast.cjs.entry.js +4 -4
  81. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +54 -68
  82. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-toggle-button.cjs.entry.js +62 -64
  84. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-top-navigation.cjs.entry.js +65 -63
  86. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-typography.cjs.entry.js +3 -3
  88. package/dist/cjs/loader.cjs.js +1 -1
  89. package/dist/collection/components/ic-accordion/ic-accordion.js +9 -7
  90. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  91. package/dist/collection/components/ic-accordion/ic-accordion.stories.js +1 -1
  92. package/dist/collection/components/ic-alert/ic-alert.css +4 -0
  93. package/dist/collection/components/ic-badge/ic-badge.css +1 -1
  94. package/dist/collection/components/ic-badge/ic-badge.js +2 -2
  95. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +40 -59
  96. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  97. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +65 -86
  98. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  99. package/dist/collection/components/ic-button/ic-button.css +105 -62
  100. package/dist/collection/components/ic-button/ic-button.js +141 -162
  101. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  102. package/dist/collection/components/ic-button/ic-button.stories.js +10 -2
  103. package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +3 -0
  104. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +4 -4
  105. package/dist/collection/components/ic-checkbox/ic-checkbox.css +9 -1
  106. package/dist/collection/components/ic-checkbox/ic-checkbox.js +73 -80
  107. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  108. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +24 -25
  109. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  110. package/dist/collection/components/ic-chip/ic-chip.css +9 -0
  111. package/dist/collection/components/ic-chip/ic-chip.js +66 -72
  112. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  113. package/dist/collection/components/ic-chip/ic-chip.stories.js +2 -1
  114. package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
  115. package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
  116. package/dist/collection/components/ic-dialog/ic-dialog.js +1 -1
  117. package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
  118. package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
  119. package/dist/collection/components/ic-hero/ic-hero.css +13 -4
  120. package/dist/collection/components/ic-hero/ic-hero.js +5 -4
  121. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  122. package/dist/collection/components/ic-hero/ic-hero.stories.js +1 -0
  123. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
  124. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
  125. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  126. package/dist/collection/components/ic-input-label/ic-input-label.js +4 -4
  127. package/dist/collection/components/ic-input-validation/ic-input-validation.js +3 -3
  128. package/dist/collection/components/ic-link/ic-link.js +12 -4
  129. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  130. package/dist/collection/components/ic-link/ic-link.stories.js +28 -5
  131. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +3 -3
  132. package/dist/collection/components/ic-menu/ic-menu.js +41 -40
  133. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  134. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  135. package/dist/collection/components/ic-menu-item/ic-menu-item.css +0 -5
  136. package/dist/collection/components/ic-menu-item/ic-menu-item.js +3 -3
  137. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  138. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +2 -2
  139. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +119 -167
  140. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  141. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +7 -13
  142. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +80 -74
  143. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  144. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  145. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  146. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  147. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  148. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +3 -5
  149. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +6 -5
  150. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  151. package/dist/collection/components/ic-radio-group/ic-radio-group.js +4 -4
  152. package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
  153. package/dist/collection/components/ic-search-bar/ic-search-bar.js +208 -211
  154. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  155. package/dist/collection/components/ic-search-bar/ic-search-bar.stories.js +9 -8
  156. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  157. package/dist/collection/components/ic-select/ic-select.js +196 -271
  158. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  159. package/dist/collection/components/ic-select/ic-select_(single).stories.js +30 -21
  160. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +1 -1
  161. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +43 -4
  162. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  163. package/dist/collection/components/ic-side-navigation/ic-side-navigation.stories.js +247 -0
  164. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  165. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  166. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  167. package/dist/collection/components/ic-step/ic-step.js +13 -13
  168. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  169. package/dist/collection/components/ic-switch/ic-switch.js +5 -5
  170. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  171. package/dist/collection/components/ic-tab/ic-tab.js +2 -2
  172. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
  173. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  174. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  175. package/dist/collection/components/ic-text-field/ic-text-field.js +124 -101
  176. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  177. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  178. package/dist/collection/components/ic-toast/ic-toast.js +3 -3
  179. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  180. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +40 -7
  181. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +80 -82
  182. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  183. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +79 -88
  184. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  185. package/dist/collection/components/ic-tooltip/ic-tooltip.js +2 -2
  186. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +81 -79
  187. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  188. package/dist/collection/components/ic-typography/ic-typography.js +2 -2
  189. package/dist/collection/utils/helpers.js +20 -36
  190. package/dist/collection/utils/helpers.js.map +1 -1
  191. package/dist/components/helpers.js +21 -37
  192. package/dist/components/helpers.js.map +1 -1
  193. package/dist/components/ic-accordion.js +9 -7
  194. package/dist/components/ic-accordion.js.map +1 -1
  195. package/dist/components/ic-alert.js +1 -1
  196. package/dist/components/ic-alert.js.map +1 -1
  197. package/dist/components/ic-badge.js +3 -3
  198. package/dist/components/ic-badge.js.map +1 -1
  199. package/dist/components/ic-breadcrumb-group.js +57 -78
  200. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  201. package/dist/components/ic-breadcrumb2.js +32 -51
  202. package/dist/components/ic-breadcrumb2.js.map +1 -1
  203. package/dist/components/ic-button2.js +105 -126
  204. package/dist/components/ic-button2.js.map +1 -1
  205. package/dist/components/ic-card-vertical.js +5 -5
  206. package/dist/components/ic-card-vertical.js.map +1 -1
  207. package/dist/components/ic-checkbox-group.js +8 -9
  208. package/dist/components/ic-checkbox-group.js.map +1 -1
  209. package/dist/components/ic-checkbox.js +39 -43
  210. package/dist/components/ic-checkbox.js.map +1 -1
  211. package/dist/components/ic-chip.js +28 -40
  212. package/dist/components/ic-chip.js.map +1 -1
  213. package/dist/components/ic-data-list.js +2 -2
  214. package/dist/components/ic-data-row.js +2 -2
  215. package/dist/components/ic-dialog.js +1 -1
  216. package/dist/components/ic-empty-state.js +2 -2
  217. package/dist/components/ic-footer-link.js +2 -2
  218. package/dist/components/ic-hero.js +6 -5
  219. package/dist/components/ic-hero.js.map +1 -1
  220. package/dist/components/ic-horizontal-scroll2.js +5 -5
  221. package/dist/components/ic-input-component-container2.js +3 -3
  222. package/dist/components/ic-input-container2.js +2 -2
  223. package/dist/components/ic-input-label2.js +4 -4
  224. package/dist/components/ic-input-validation2.js +3 -3
  225. package/dist/components/ic-link2.js +11 -3
  226. package/dist/components/ic-link2.js.map +1 -1
  227. package/dist/components/ic-loading-indicator2.js +3 -3
  228. package/dist/components/ic-menu-group.js +1 -1
  229. package/dist/components/ic-menu-item2.js +4 -4
  230. package/dist/components/ic-menu-item2.js.map +1 -1
  231. package/dist/components/ic-menu2.js +17 -16
  232. package/dist/components/ic-menu2.js.map +1 -1
  233. package/dist/components/ic-navigation-button.js +2 -2
  234. package/dist/components/ic-navigation-group.js +115 -163
  235. package/dist/components/ic-navigation-group.js.map +1 -1
  236. package/dist/components/ic-navigation-item.js +67 -62
  237. package/dist/components/ic-navigation-item.js.map +1 -1
  238. package/dist/components/ic-navigation-menu2.js +4 -4
  239. package/dist/components/ic-page-header.js +6 -6
  240. package/dist/components/ic-pagination-item2.js +1 -1
  241. package/dist/components/ic-pagination.js +4 -4
  242. package/dist/components/ic-popover-menu.js +7 -6
  243. package/dist/components/ic-popover-menu.js.map +1 -1
  244. package/dist/components/ic-radio-group.js +4 -4
  245. package/dist/components/ic-radio-group.js.map +1 -1
  246. package/dist/components/ic-radio-option.js +4 -4
  247. package/dist/components/ic-search-bar.js +150 -154
  248. package/dist/components/ic-search-bar.js.map +1 -1
  249. package/dist/components/ic-section-container2.js +2 -2
  250. package/dist/components/ic-select.js +141 -217
  251. package/dist/components/ic-select.js.map +1 -1
  252. package/dist/components/ic-side-navigation.js +25 -5
  253. package/dist/components/ic-side-navigation.js.map +1 -1
  254. package/dist/components/ic-skeleton.js +2 -2
  255. package/dist/components/ic-skip-link.js +2 -2
  256. package/dist/components/ic-status-tag.js +2 -2
  257. package/dist/components/ic-step.js +13 -13
  258. package/dist/components/ic-stepper.js +2 -2
  259. package/dist/components/ic-switch.js +5 -5
  260. package/dist/components/ic-switch.js.map +1 -1
  261. package/dist/components/ic-tab-context.js +1 -1
  262. package/dist/components/ic-tab-group.js +2 -2
  263. package/dist/components/ic-tab-panel.js +2 -2
  264. package/dist/components/ic-tab-panel.js.map +1 -1
  265. package/dist/components/ic-tab.js +2 -2
  266. package/dist/components/ic-text-field.js +40 -31
  267. package/dist/components/ic-text-field.js.map +1 -1
  268. package/dist/components/ic-theme.js +1 -1
  269. package/dist/components/ic-toast-region.js +1 -1
  270. package/dist/components/ic-toast.js +3 -3
  271. package/dist/components/ic-toggle-button-group.js +53 -67
  272. package/dist/components/ic-toggle-button-group.js.map +1 -1
  273. package/dist/components/ic-toggle-button.js +61 -63
  274. package/dist/components/ic-toggle-button.js.map +1 -1
  275. package/dist/components/ic-tooltip2.js +2 -2
  276. package/dist/components/ic-top-navigation.js +65 -63
  277. package/dist/components/ic-top-navigation.js.map +1 -1
  278. package/dist/components/ic-typography2.js +2 -2
  279. package/dist/core/core.css +159 -109
  280. package/dist/core/core.esm.js +1 -1
  281. package/dist/core/core.esm.js.map +1 -1
  282. package/dist/core/p-0fb68b4f.entry.js +2 -0
  283. package/dist/core/p-0fb68b4f.entry.js.map +1 -0
  284. package/dist/core/{p-bbe5596b.entry.js → p-15b7adaf.entry.js} +2 -2
  285. package/dist/core/{p-abaea607.entry.js → p-1d172032.entry.js} +2 -2
  286. package/dist/core/{p-fc50d582.entry.js → p-1d254b71.entry.js} +2 -2
  287. package/dist/core/p-1d254b71.entry.js.map +1 -0
  288. package/dist/core/{p-6de6b6b7.entry.js → p-23536595.entry.js} +2 -2
  289. package/dist/core/{p-81a12e36.entry.js → p-26dfc4db.entry.js} +2 -2
  290. package/dist/core/{p-81a12e36.entry.js.map → p-26dfc4db.entry.js.map} +1 -1
  291. package/dist/core/{p-f3c72ffb.entry.js → p-2c371198.entry.js} +2 -2
  292. package/dist/core/p-3676ac4e.entry.js +2 -0
  293. package/dist/core/p-3676ac4e.entry.js.map +1 -0
  294. package/dist/core/{p-f34eee68.entry.js → p-3cb4ecef.entry.js} +2 -2
  295. package/dist/core/{p-3eb7ef1d.entry.js → p-432aeae0.entry.js} +2 -2
  296. package/dist/core/p-4a2acb2e.entry.js +2 -0
  297. package/dist/core/p-4a2acb2e.entry.js.map +1 -0
  298. package/dist/core/p-4dc97b03.entry.js +2 -0
  299. package/dist/core/p-4dc97b03.entry.js.map +1 -0
  300. package/dist/core/p-4e48a671.entry.js +2 -0
  301. package/dist/core/p-4e48a671.entry.js.map +1 -0
  302. package/dist/core/p-513628ef.entry.js +2 -0
  303. package/dist/core/p-513628ef.entry.js.map +1 -0
  304. package/dist/core/{p-88924aef.entry.js → p-51b49429.entry.js} +2 -2
  305. package/dist/core/p-554845c4.entry.js +2 -0
  306. package/dist/core/p-554845c4.entry.js.map +1 -0
  307. package/dist/core/{p-7afc71d0.entry.js → p-56e0de32.entry.js} +2 -2
  308. package/dist/core/{p-7a0d238b.entry.js → p-56fb0298.entry.js} +2 -2
  309. package/dist/core/p-59b48450.entry.js +2 -0
  310. package/dist/core/p-59b48450.entry.js.map +1 -0
  311. package/dist/core/{p-fbde763c.entry.js → p-5aec3757.entry.js} +2 -2
  312. package/dist/core/{p-23d059ff.entry.js → p-5eb2ac90.entry.js} +2 -2
  313. package/dist/core/{p-c2ca6274.entry.js → p-60aad45d.entry.js} +2 -2
  314. package/dist/core/{p-33c86ba6.entry.js → p-628c32b8.entry.js} +2 -2
  315. package/dist/core/p-6cd0b010.entry.js +2 -0
  316. package/dist/core/p-6cd0b010.entry.js.map +1 -0
  317. package/dist/core/{p-7dfe0284.entry.js → p-6eea869b.entry.js} +2 -2
  318. package/dist/core/{p-0631c3ab.entry.js → p-7d2c07e2.entry.js} +2 -2
  319. package/dist/core/p-7d352865.entry.js +2 -0
  320. package/dist/core/p-7d352865.entry.js.map +1 -0
  321. package/dist/core/{p-959a9cdf.entry.js → p-7deaf128.entry.js} +2 -2
  322. package/dist/core/{p-959a9cdf.entry.js.map → p-7deaf128.entry.js.map} +1 -1
  323. package/dist/core/p-803f2eb8.entry.js +2 -0
  324. package/dist/core/p-803f2eb8.entry.js.map +1 -0
  325. package/dist/core/p-8242c24f.js +2 -0
  326. package/dist/core/p-8242c24f.js.map +1 -0
  327. package/dist/core/p-87fa5add.entry.js +2 -0
  328. package/dist/core/p-87fa5add.entry.js.map +1 -0
  329. package/dist/core/{p-3675c4b4.entry.js → p-887e00bb.entry.js} +2 -2
  330. package/dist/core/p-8958c60f.entry.js +2 -0
  331. package/dist/core/p-8958c60f.entry.js.map +1 -0
  332. package/dist/core/{p-45432bf5.entry.js → p-8c77dd65.entry.js} +2 -2
  333. package/dist/core/{p-e2f893f0.entry.js → p-9a6dc8b1.entry.js} +2 -2
  334. package/dist/core/p-9a6dc8b1.entry.js.map +1 -0
  335. package/dist/core/{p-acebb05c.entry.js → p-9c47521d.entry.js} +2 -2
  336. package/dist/core/p-a140bcaa.entry.js +2 -0
  337. package/dist/core/p-a17499ff.entry.js +2 -0
  338. package/dist/core/p-a17499ff.entry.js.map +1 -0
  339. package/dist/core/{p-005cd8a8.entry.js → p-aad10013.entry.js} +2 -2
  340. package/dist/core/p-aad2abbf.entry.js +2 -0
  341. package/dist/core/p-aad2abbf.entry.js.map +1 -0
  342. package/dist/core/p-bdcc79dd.entry.js +2 -0
  343. package/dist/core/p-bdcc79dd.entry.js.map +1 -0
  344. package/dist/core/{p-de43d375.entry.js → p-bf3b853e.entry.js} +2 -2
  345. package/dist/core/{p-e56d0db2.entry.js → p-c59fd23e.entry.js} +2 -2
  346. package/dist/core/{p-f815f8c9.entry.js → p-c5ffe2cf.entry.js} +2 -2
  347. package/dist/core/{p-5206a978.entry.js → p-c8cf1ad5.entry.js} +2 -2
  348. package/dist/core/p-cfa9ed7d.entry.js +2 -0
  349. package/dist/core/p-cfa9ed7d.entry.js.map +1 -0
  350. package/dist/core/{p-23ed8b99.entry.js → p-d4903dcd.entry.js} +2 -2
  351. package/dist/core/{p-1e4cdd2d.entry.js → p-d82b27df.entry.js} +2 -2
  352. package/dist/core/{p-7c0914e7.entry.js → p-d8ce39ac.entry.js} +2 -2
  353. package/dist/core/{p-70700c7a.entry.js → p-dcce0dfd.entry.js} +2 -2
  354. package/dist/core/{p-40f2f58e.entry.js → p-de1e04ac.entry.js} +2 -2
  355. package/dist/core/{p-4b601e06.entry.js → p-dee21f6d.entry.js} +2 -2
  356. package/dist/core/{p-4245a976.entry.js → p-dfc8cba6.entry.js} +2 -2
  357. package/dist/core/{p-b3ac38c5.entry.js → p-e2629bfe.entry.js} +2 -2
  358. package/dist/core/{p-3b5d3e24.entry.js → p-e38fddbb.entry.js} +2 -2
  359. package/dist/core/p-e38fddbb.entry.js.map +1 -0
  360. package/dist/core/p-eca6e215.entry.js +2 -0
  361. package/dist/core/p-eca6e215.entry.js.map +1 -0
  362. package/dist/core/{p-44e4e8c1.entry.js → p-ef36181d.entry.js} +2 -2
  363. package/dist/core/{p-ef09b450.entry.js → p-ef4b752c.entry.js} +2 -2
  364. package/dist/core/p-ef4b752c.entry.js.map +1 -0
  365. package/dist/core/{p-b3d6d5be.entry.js → p-fa38ad2e.entry.js} +2 -2
  366. package/dist/core/p-fc4f7180.entry.js +2 -0
  367. package/dist/core/p-fc4f7180.entry.js.map +1 -0
  368. package/dist/esm/core.js +1 -1
  369. package/dist/esm/{helpers-46a2d1fd.js → helpers-f2ffaa7c.js} +22 -38
  370. package/dist/esm/helpers-f2ffaa7c.js.map +1 -0
  371. package/dist/esm/ic-accordion-group.entry.js +1 -1
  372. package/dist/esm/ic-accordion.entry.js +10 -8
  373. package/dist/esm/ic-accordion.entry.js.map +1 -1
  374. package/dist/esm/ic-alert.entry.js +2 -2
  375. package/dist/esm/ic-alert.entry.js.map +1 -1
  376. package/dist/esm/ic-back-to-top.entry.js +1 -1
  377. package/dist/esm/ic-badge.entry.js +4 -4
  378. package/dist/esm/ic-badge.entry.js.map +1 -1
  379. package/dist/esm/ic-breadcrumb-group.entry.js +56 -76
  380. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  381. package/dist/esm/ic-breadcrumb.entry.js +32 -51
  382. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  383. package/dist/esm/ic-button_3.entry.js +111 -132
  384. package/dist/esm/ic-button_3.entry.js.map +1 -1
  385. package/dist/esm/ic-card-vertical.entry.js +6 -6
  386. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  387. package/dist/esm/ic-checkbox-group.entry.js +9 -10
  388. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  389. package/dist/esm/ic-checkbox.entry.js +37 -41
  390. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  391. package/dist/esm/ic-chip.entry.js +26 -38
  392. package/dist/esm/ic-chip.entry.js.map +1 -1
  393. package/dist/esm/ic-data-list.entry.js +2 -2
  394. package/dist/esm/ic-data-row.entry.js +3 -3
  395. package/dist/esm/ic-dialog.entry.js +2 -2
  396. package/dist/esm/ic-divider.entry.js +1 -1
  397. package/dist/esm/ic-empty-state.entry.js +3 -3
  398. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  399. package/dist/esm/ic-footer-link.entry.js +3 -3
  400. package/dist/esm/ic-footer.entry.js +1 -1
  401. package/dist/esm/ic-hero.entry.js +7 -6
  402. package/dist/esm/ic-hero.entry.js.map +1 -1
  403. package/dist/esm/ic-horizontal-scroll.entry.js +6 -6
  404. package/dist/esm/ic-input-component-container_3.entry.js +23 -22
  405. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  406. package/dist/esm/ic-input-label_2.entry.js +8 -8
  407. package/dist/esm/ic-link.entry.js +12 -4
  408. package/dist/esm/ic-link.entry.js.map +1 -1
  409. package/dist/esm/ic-menu-group.entry.js +2 -2
  410. package/dist/esm/ic-menu-item.entry.js +5 -5
  411. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  412. package/dist/esm/ic-navigation-button.entry.js +3 -3
  413. package/dist/esm/ic-navigation-group.entry.js +116 -164
  414. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  415. package/dist/esm/ic-navigation-item.entry.js +65 -62
  416. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  417. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  418. package/dist/esm/ic-page-header.entry.js +7 -7
  419. package/dist/esm/ic-pagination-item.entry.js +2 -2
  420. package/dist/esm/ic-pagination.entry.js +5 -5
  421. package/dist/esm/ic-popover-menu.entry.js +8 -7
  422. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  423. package/dist/esm/ic-radio-group.entry.js +5 -5
  424. package/dist/esm/ic-radio-option.entry.js +5 -5
  425. package/dist/esm/ic-search-bar.entry.js +149 -154
  426. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  427. package/dist/esm/ic-section-container.entry.js +2 -2
  428. package/dist/esm/ic-select.entry.js +142 -218
  429. package/dist/esm/ic-select.entry.js.map +1 -1
  430. package/dist/esm/ic-side-navigation.entry.js +25 -6
  431. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  432. package/dist/esm/ic-skeleton.entry.js +2 -2
  433. package/dist/esm/ic-skip-link.entry.js +2 -2
  434. package/dist/esm/ic-status-tag.entry.js +3 -3
  435. package/dist/esm/ic-step.entry.js +14 -14
  436. package/dist/esm/ic-stepper.entry.js +3 -3
  437. package/dist/esm/ic-switch.entry.js +6 -6
  438. package/dist/esm/ic-switch.entry.js.map +1 -1
  439. package/dist/esm/ic-tab-context.entry.js +1 -1
  440. package/dist/esm/ic-tab-group.entry.js +3 -3
  441. package/dist/esm/ic-tab-panel.entry.js +2 -2
  442. package/dist/esm/ic-tab.entry.js +3 -3
  443. package/dist/esm/ic-text-field.entry.js +39 -31
  444. package/dist/esm/ic-text-field.entry.js.map +1 -1
  445. package/dist/esm/ic-theme.entry.js +2 -2
  446. package/dist/esm/ic-toast-region.entry.js +1 -1
  447. package/dist/esm/ic-toast.entry.js +4 -4
  448. package/dist/esm/ic-toggle-button-group.entry.js +54 -68
  449. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  450. package/dist/esm/ic-toggle-button.entry.js +62 -64
  451. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  452. package/dist/esm/ic-top-navigation.entry.js +66 -64
  453. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  454. package/dist/esm/ic-typography.entry.js +3 -3
  455. package/dist/esm/loader.js +1 -1
  456. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +4 -6
  457. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +9 -15
  458. package/dist/types/components/ic-button/ic-button.d.ts +29 -22
  459. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +14 -13
  460. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +8 -9
  461. package/dist/types/components/ic-chip/ic-chip.d.ts +13 -15
  462. package/dist/types/components/ic-link/ic-link.d.ts +2 -1
  463. package/dist/types/components/ic-menu/ic-menu.d.ts +12 -12
  464. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +4 -18
  465. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +9 -7
  466. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +40 -40
  467. package/dist/types/components/ic-select/ic-select.d.ts +36 -38
  468. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +5 -0
  469. package/dist/types/components/ic-text-field/ic-text-field.d.ts +40 -34
  470. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +10 -11
  471. package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.d.ts +10 -12
  472. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +9 -8
  473. package/dist/types/components.d.ts +216 -203
  474. package/dist/types/utils/helpers.d.ts +8 -8
  475. package/hydrate/index.js +1158 -1350
  476. package/hydrate/index.mjs +1158 -1350
  477. package/package.json +2 -2
  478. package/vscode-data.json +172 -4
  479. package/dist/cjs/helpers-789082d4.js.map +0 -1
  480. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.types.js +0 -2
  481. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.types.js.map +0 -1
  482. package/dist/core/p-0a8b3967.entry.js +0 -2
  483. package/dist/core/p-0a8b3967.entry.js.map +0 -1
  484. package/dist/core/p-0b4350df.entry.js +0 -2
  485. package/dist/core/p-0b4350df.entry.js.map +0 -1
  486. package/dist/core/p-0e618fc5.entry.js +0 -2
  487. package/dist/core/p-0e618fc5.entry.js.map +0 -1
  488. package/dist/core/p-18ecba80.entry.js +0 -2
  489. package/dist/core/p-18ecba80.entry.js.map +0 -1
  490. package/dist/core/p-281ce313.js +0 -2
  491. package/dist/core/p-281ce313.js.map +0 -1
  492. package/dist/core/p-30abe545.entry.js +0 -2
  493. package/dist/core/p-30abe545.entry.js.map +0 -1
  494. package/dist/core/p-3132270d.entry.js +0 -2
  495. package/dist/core/p-3132270d.entry.js.map +0 -1
  496. package/dist/core/p-3b5d3e24.entry.js.map +0 -1
  497. package/dist/core/p-517d7afb.entry.js +0 -2
  498. package/dist/core/p-517d7afb.entry.js.map +0 -1
  499. package/dist/core/p-5d4b0480.entry.js +0 -2
  500. package/dist/core/p-5d4b0480.entry.js.map +0 -1
  501. package/dist/core/p-5e18b899.entry.js +0 -2
  502. package/dist/core/p-5e18b899.entry.js.map +0 -1
  503. package/dist/core/p-6337fe1f.entry.js +0 -2
  504. package/dist/core/p-6337fe1f.entry.js.map +0 -1
  505. package/dist/core/p-63fe83ad.entry.js +0 -2
  506. package/dist/core/p-63fe83ad.entry.js.map +0 -1
  507. package/dist/core/p-8ba129fc.entry.js +0 -2
  508. package/dist/core/p-8ba129fc.entry.js.map +0 -1
  509. package/dist/core/p-950db960.entry.js +0 -2
  510. package/dist/core/p-950db960.entry.js.map +0 -1
  511. package/dist/core/p-9ea9a4ce.entry.js +0 -2
  512. package/dist/core/p-9ea9a4ce.entry.js.map +0 -1
  513. package/dist/core/p-a9c96e3e.entry.js +0 -2
  514. package/dist/core/p-a9c96e3e.entry.js.map +0 -1
  515. package/dist/core/p-ac7db165.entry.js +0 -2
  516. package/dist/core/p-ac7db165.entry.js.map +0 -1
  517. package/dist/core/p-c04f36c5.entry.js +0 -2
  518. package/dist/core/p-c62318a8.entry.js +0 -2
  519. package/dist/core/p-c62318a8.entry.js.map +0 -1
  520. package/dist/core/p-e2f893f0.entry.js.map +0 -1
  521. package/dist/core/p-e586ae7b.entry.js +0 -2
  522. package/dist/core/p-e586ae7b.entry.js.map +0 -1
  523. package/dist/core/p-ef09b450.entry.js.map +0 -1
  524. package/dist/core/p-fc50d582.entry.js.map +0 -1
  525. package/dist/core/p-fe833509.entry.js +0 -2
  526. package/dist/core/p-fe833509.entry.js.map +0 -1
  527. package/dist/esm/helpers-46a2d1fd.js.map +0 -1
  528. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.types.d.ts +0 -1
  529. /package/dist/core/{p-bbe5596b.entry.js.map → p-15b7adaf.entry.js.map} +0 -0
  530. /package/dist/core/{p-abaea607.entry.js.map → p-1d172032.entry.js.map} +0 -0
  531. /package/dist/core/{p-6de6b6b7.entry.js.map → p-23536595.entry.js.map} +0 -0
  532. /package/dist/core/{p-f3c72ffb.entry.js.map → p-2c371198.entry.js.map} +0 -0
  533. /package/dist/core/{p-f34eee68.entry.js.map → p-3cb4ecef.entry.js.map} +0 -0
  534. /package/dist/core/{p-3eb7ef1d.entry.js.map → p-432aeae0.entry.js.map} +0 -0
  535. /package/dist/core/{p-88924aef.entry.js.map → p-51b49429.entry.js.map} +0 -0
  536. /package/dist/core/{p-7afc71d0.entry.js.map → p-56e0de32.entry.js.map} +0 -0
  537. /package/dist/core/{p-7a0d238b.entry.js.map → p-56fb0298.entry.js.map} +0 -0
  538. /package/dist/core/{p-fbde763c.entry.js.map → p-5aec3757.entry.js.map} +0 -0
  539. /package/dist/core/{p-23d059ff.entry.js.map → p-5eb2ac90.entry.js.map} +0 -0
  540. /package/dist/core/{p-c2ca6274.entry.js.map → p-60aad45d.entry.js.map} +0 -0
  541. /package/dist/core/{p-33c86ba6.entry.js.map → p-628c32b8.entry.js.map} +0 -0
  542. /package/dist/core/{p-7dfe0284.entry.js.map → p-6eea869b.entry.js.map} +0 -0
  543. /package/dist/core/{p-0631c3ab.entry.js.map → p-7d2c07e2.entry.js.map} +0 -0
  544. /package/dist/core/{p-3675c4b4.entry.js.map → p-887e00bb.entry.js.map} +0 -0
  545. /package/dist/core/{p-45432bf5.entry.js.map → p-8c77dd65.entry.js.map} +0 -0
  546. /package/dist/core/{p-acebb05c.entry.js.map → p-9c47521d.entry.js.map} +0 -0
  547. /package/dist/core/{p-c04f36c5.entry.js.map → p-a140bcaa.entry.js.map} +0 -0
  548. /package/dist/core/{p-005cd8a8.entry.js.map → p-aad10013.entry.js.map} +0 -0
  549. /package/dist/core/{p-de43d375.entry.js.map → p-bf3b853e.entry.js.map} +0 -0
  550. /package/dist/core/{p-e56d0db2.entry.js.map → p-c59fd23e.entry.js.map} +0 -0
  551. /package/dist/core/{p-f815f8c9.entry.js.map → p-c5ffe2cf.entry.js.map} +0 -0
  552. /package/dist/core/{p-5206a978.entry.js.map → p-c8cf1ad5.entry.js.map} +0 -0
  553. /package/dist/core/{p-23ed8b99.entry.js.map → p-d4903dcd.entry.js.map} +0 -0
  554. /package/dist/core/{p-1e4cdd2d.entry.js.map → p-d82b27df.entry.js.map} +0 -0
  555. /package/dist/core/{p-7c0914e7.entry.js.map → p-d8ce39ac.entry.js.map} +0 -0
  556. /package/dist/core/{p-70700c7a.entry.js.map → p-dcce0dfd.entry.js.map} +0 -0
  557. /package/dist/core/{p-40f2f58e.entry.js.map → p-de1e04ac.entry.js.map} +0 -0
  558. /package/dist/core/{p-4b601e06.entry.js.map → p-dee21f6d.entry.js.map} +0 -0
  559. /package/dist/core/{p-4245a976.entry.js.map → p-dfc8cba6.entry.js.map} +0 -0
  560. /package/dist/core/{p-b3ac38c5.entry.js.map → p-e2629bfe.entry.js.map} +0 -0
  561. /package/dist/core/{p-44e4e8c1.entry.js.map → p-ef36181d.entry.js.map} +0 -0
  562. /package/dist/core/{p-b3d6d5be.entry.js.map → p-fa38ad2e.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["icButtonCss","IcButtonStyle0","buttonIds","Button","constructor","hostRef","this","buttonIdNum","hasTooltip","inheritedAttributes","describedbyEl","describedById","mutationObserver","hostMutationObserver","ariaLabel","describedByContent","title","accept","disabled","disableTooltip","download","dropdown","dropdownExpanded","fileUpload","fileInputName","fullWidth","loading","monochrome","multiple","size","theme","tooltipPlacement","transparentBackground","type","variant","handleClick","el","hasRouterSlot","closest","hiddenFormButton","document","createElement","setAttribute","style","display","_a","appendChild","click","remove","handleKeyDown","ev","key","closeButtonTooltip","onFocus","icFocus","emit","onBlur","icBlur","mutationCallback","innerText","hostMutationCallback","mutationList","forceComponentUpdate","forEach","attributeName","attribute","getAttribute","IC_INHERITED_ARIA","includes","forceUpdate","setHasTooltip","isIconVariant","startsWith","arrangeRouterItem","setStyles","element","styles","Object","entries","value","setProperty","iconWrapper","icon","routerSlot","querySelector","badge","_b","label","_d","_c","textContent","trim","icTypography","gap","fill","append","watchDisabledHandler","removeDisabledFalse","disconnectedCallback","undefined","disconnect","componentWillUpdate","getBoundingClientRect","width","componentWillLoad","inheritAttributes","restInheritedAttributes","__rest","id","parentElement","componentDidLoad","updateTheme","MutationObserver","observe","characterData","childList","subtree","attributes","componentWillRender","iconEl","hasIconSlot","handleHostClick","event","renderFileHiddenInput","icFileSelection","selectedFiles","stopImmediatePropagation","brandChangeHandler","detail","mode","setFocus","buttonEl","focus","tooltip","shadowRoot","isTooltipVisible","displayTooltip","preventDefault","position","selectorPrefix","foregroundColor","getBrandFromContext","IcBrandForegroundEnum","Default","Light","Dark","render","TagType","href","buttonAttrs","form","formaction","formenctype","formmethod","formnovalidate","formtarget","rel","target","referrerpolicy","hreflang","describedby","buttonId","ButtonContent","h","assign","class","ref","part","name","innerHTML","arrowDropdown","Host","isSlotUsed","onClick","onKeyDown","ariaOwnsId","ariaControlsId","placement","silent","icLoadingIndicatorCss","IcLoadingIndicatorStyle0","LoadingIndicator","clipInnerElement","description","labelDuration","max","min","updateCircularProgressMeter","indeterminate","circularMeter","String","progress","getLabel","labelIndex","setLabel","Promise","interval","setInterval","labelList","length","getLabelVariant","outerElement","offsetWidth","setCircleLineWidth","compactStepCircularLineWidth","classList","contains","toastDismissTimerCircularLineWidth","circularLineWidth","circularDiameter","setLinearDeterminateWidth","innerElement","Math","proportion","add","calcOuterClass","cls","updateLabel","indicatorLabel","setCircleXY","r","x","y","nextRadius","setDashSteps","radius","dashArray","PI","watchPropHandler","watchProgressHandler","clearInterval","Number","componentDidUpdate","innerLabel","role","viewBox","cx","cy","icTooltipCss","IcTooltipStyle0","Tooltip","delayedHideEvents","dialogOverflow","instantHideEvents","mouseOverTool","persistTooltip","onDialog","showEvents","disableHover","disableClick","popperProps","getTooltipTranslate","dialogEl","child","children","tooltipX","tooltipY","left","bottom","top","right","height","toolTip","show","icDialogEl","popperInstance","createPopper","modifiers","options","offset","arrow","scroll","resize","console","warn","hide","removeAttribute","destroy","checkCloseTooltip","setTimeout","mouseEnterTooltip","mouseLeaveTooltip","manageEventListeners","action","method","updateTooltipEvents","watchDisableClickHandler","watchDisableHoverHandler","setExternalPopperProps","props","onComponentRequiredPropUndefined","prop","propName","componentDidRender","typographyEl","maxLines","resolve","hasAttribute"],"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":["/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\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 position: relative;\n\n --icon-width: 100%;\n --icon-height: 100%;\n}\n\n.button,\n::slotted(a) {\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 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::slotted(a:hover) {\n cursor: pointer;\n}\n\n.button:focus,\n::slotted(a:focus) {\n box-shadow: var(--ic-border-focus);\n}\n\n.button:focus-visible,\n::slotted(a:focus-visible) {\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.ic-button-disabled),\n:host(.ic-button-disabled) .button,\n:host(.ic-button-disabled) ::slotted(a),\n:host(.ic-button-loading),\n:host(.ic-button-loading) .button {\n pointer-events: none;\n}\n\n:host(.top-icon) .button {\n flex-direction: column;\n\n --height: fit-content;\n}\n\n:host(.top-icon) .button .icon-container {\n margin-right: 0;\n}\n\n/* Variants */\n\n/* Primary */\n\n:host(.ic-button-variant-primary) .button,\n:host(.ic-button-variant-icon-primary) .button {\n color: var(--ic-button-primary-text);\n background-color: var(--ic-button-primary-background);\n}\n\n:host(.ic-button-variant-primary) ::slotted(a),\n:host(.ic-button-variant-icon-primary) ::slotted(a) {\n --ic-typography-color: var(--ic-button-primary-text);\n\n color: var(--ic-button-primary-text);\n background-color: var(--ic-button-primary-background) !important;\n}\n\n:host(.ic-button-variant-primary) .button:hover,\n:host(.ic-button-variant-icon-primary) .button:hover {\n background-color: var(--ic-button-primary-background-hover);\n}\n\n:host(.ic-button-variant-primary) ::slotted(a:hover),\n:host(.ic-button-variant-icon-primary) ::slotted(a:hover) {\n background-color: var(--ic-button-primary-background-hover) !important;\n}\n\n:host(.ic-button-variant-primary.ic-button-loading) .button,\n:host(.ic-button-variant-primary) .button:active,\n:host(.ic-button-variant-icon-primary.ic-button-loading) .button,\n:host(.ic-button-variant-icon-primary) .button:active {\n color: var(--ic-button-primary-text);\n background-color: var(--ic-button-primary-background-pressed);\n\n --button-loading-inner-color: var(--ic-button-primary-text);\n --button-loading-outer-color: var(--ic-button-primary-background-pressed);\n}\n\n:host(.ic-button-variant-primary) ::slotted(a:active),\n:host(.ic-button-variant-icon-primary) ::slotted(a:active) {\n background-color: var(--ic-button-primary-background-pressed) !important;\n}\n\n:host(.ic-button-variant-primary.ic-button-disabled) .button,\n:host(.ic-button-variant-icon-primary.ic-button-disabled) .button {\n background: var(--ic-button-primary-background-disabled);\n color: var(--ic-button-primary-text-disabled);\n}\n\n:host(.ic-button-variant-primary.ic-button-disabled) ::slotted(a),\n:host(.ic-button-variant-icon-primary.ic-button-disabled) ::slotted(a) {\n background: var(--ic-button-primary-background-disabled) !important;\n\n --ic-typography-color: var(--ic-button-primary-text-disabled) !important;\n\n color: var(--ic-button-primary-text-disabled) !important;\n}\n\n/* Primary - monochrome */\n\n:host(.ic-button-variant-primary.monochrome) .button,\n:host(.ic-button-variant-icon-primary.monochrome) .button {\n color: var(--ic-button-primary-text-monochrome);\n background-color: var(--ic-button-primary-background-monochrome);\n}\n\n:host(.ic-button-variant-primary.monochrome) ::slotted(a),\n:host(.ic-button-variant-icon-primary.monochrome) ::slotted(a) {\n background-color: var(--ic-button-primary-background-monochrome) !important;\n}\n\n:host(.ic-button-variant-primary.monochrome) .button:hover,\n:host(.ic-button-variant-icon-primary.monochrome) .button:hover {\n background-color: var(--ic-button-primary-background-hover-monochrome);\n}\n\n:host(.ic-button-variant-primary.monochrome) ::slotted(a:hover),\n:host(.ic-button-variant-icon-primary.monochrome) ::slotted(a:hover) {\n background-color: var(\n --ic-button-primary-background-hover-monochrome\n ) !important;\n}\n\n:host(.ic-button-variant-primary.ic-button-loading.monochrome) .button,\n:host(.ic-button-variant-primary.monochrome) .button:active,\n:host(.ic-button-variant-icon-primary.ic-button-loading.monochrome) .button,\n:host(.ic-button-variant-icon-primary.monochrome) .button:active {\n background-color: var(--ic-button-primary-background-pressed-monochrome);\n\n --button-loading-inner-color: var(--ic-button-primary-text-monochrome);\n --button-loading-outer-color: var(--ic-button-primary-background-monochrome);\n}\n\n:host(.ic-button-variant-primary.monochrome) ::slotted(a:active),\n:host(.ic-button-variant-icon-primary.monochrome) ::slotted(a:active) {\n background-color: var(\n --ic-button-primary-background-pressed-monochrome\n ) !important;\n}\n\n:host(.ic-button-variant-primary.ic-button-disabled.monochrome) .button,\n:host(.ic-button-variant-icon-primary.ic-button-disabled.monochrome) .button {\n background-color: var(--ic-button-primary-background-disabled-monochrome);\n color: var(--ic-button-primary-text-disabled-monochrome);\n}\n\n:host(.ic-button-variant-primary.ic-button-disabled.monochrome) ::slotted(a),\n:host(.ic-button-variant-icon-primary.ic-button-disabled.monochrome)\n ::slotted(a) {\n background-color: var(\n --ic-button-primary-background-disabled-monochrome\n ) !important;\n}\n\n/* Secondary */\n\n:host(.ic-button-variant-secondary) .button,\n:host(.ic-button-variant-icon-secondary) .button {\n border: var(--ic-border-width) solid var(--ic-button-secondary-border);\n color: var(--ic-button-secondary-text);\n}\n\n:host(.ic-button-variant-secondary) ::slotted(a),\n:host(.ic-button-variant-icon-secondary) ::slotted(a) {\n border: var(--ic-border-width) solid var(--ic-button-secondary-border) !important;\n color: var(--ic-button-secondary-text) !important;\n\n --ic-typography-color: var(--ic-button-secondary-text) !important;\n}\n\n:host(.ic-button-variant-secondary) .button:hover,\n:host(.ic-button-variant-icon-secondary) .button:hover {\n background-color: var(--ic-button-secondary-background-hover-active);\n border-color: var(--ic-button-secondary-border-hover);\n color: var(--ic-button-secondary-text-hover-active);\n}\n\n:host(.ic-button-variant-secondary) ::slotted(a:hover),\n:host(.ic-button-variant-icon-secondary) ::slotted(a:hover) {\n background-color: var(\n --ic-button-secondary-background-hover-active\n ) !important;\n}\n\n:host(.ic-button-variant-secondary) .button:active,\n:host(.ic-button-variant-icon-secondary) .button:active {\n border-color: var(--ic-button-secondary-border-pressed);\n background-color: var(--ic-button-secondary-background-pressed-active);\n color: var(--ic-button-secondary-text-pressed-active);\n}\n\n:host(.ic-button-variant-secondary) ::slotted(a:active),\n:host(.ic-button-variant-icon-secondary) ::slotted(a:active) {\n background-color: var(\n --ic-button-secondary-background-pressed-active\n ) !important;\n}\n\n:host(.ic-button-variant-secondary.ic-button-loading) .button,\n:host(.ic-button-variant-icon-secondary.ic-button-loading) .button {\n border-color: var(--ic-button-secondary-border-pressed);\n background-color: var(\n --loading-button-background,\n var(--ic-button-secondary-background-pressed-active)\n ) !important;\n color: var(--ic-button-secondary-text-pressed-active);\n\n --button-loading-inner-color: var(--ic-button-secondary-border-pressed);\n --button-loading-outer-color: var(\n --ic-button-secondary-background-pressed-active\n );\n}\n\n:host(.ic-button-variant-secondary.ic-button-disabled) .button,\n:host(.ic-button-variant-icon-secondary.ic-button-disabled) .button {\n border-color: var(--ic-button-secondary-border-disabled);\n color: var(--ic-button-secondary-text-disabled);\n background: none;\n}\n\n:host(.ic-button-variant-secondary.ic-button-disabled) ::slotted(a),\n:host(.ic-button-variant-icon-secondary.ic-button-disabled) ::slotted(a) {\n background: none !important;\n}\n\n/* Secondary - non-transparent background */\n\n:host(.ic-button-variant-secondary.background) .button,\n:host(.ic-button-variant-icon-secondary.background) .button {\n background-color: var(--ic-button-secondary-background-non-transparent);\n}\n\n:host(.ic-button-variant-secondary.background) ::slotted(a),\n:host(.ic-button-variant-icon-secondary.background) ::slotted(a) {\n background-color: var(\n --ic-button-secondary-background-non-transparent\n ) !important;\n}\n\n:host(.ic-button-variant-secondary.background.ic-button-disabled) .button,\n:host(.ic-button-variant-icon-secondary.background.ic-button-disabled) .button {\n background-color: var(\n --ic-button-secondary-background-non-transparent-disabled\n );\n}\n\n:host(.ic-button-variant-secondary.background.ic-button-disabled) ::slotted(a),\n:host(.ic-button-variant-icon-secondary.background.ic-button-disabled)\n ::slotted(a) {\n background-color: var(\n --ic-button-secondary-background-non-transparent-disabled\n ) !important;\n}\n\n:host(.ic-button-variant-secondary.background) .button:hover,\n:host(.ic-button-variant-icon-secondary.background) .button:hover {\n background-color: var(--ic-button-secondary-background-non-transparent-hover);\n}\n\n:host(.ic-button-variant-secondary.background) ::slotted(a:hover),\n:host(.ic-button-variant-icon-secondary.background) ::slotted(a:hover) {\n background-color: var(\n --ic-button-secondary-background-non-transparent-hover\n ) !important;\n}\n\n:host(.ic-button-variant-secondary.background) .button:active,\n:host(.ic-button-variant-icon-secondary.background) .button:active {\n background-color: var(\n --ic-button-secondary-background-non-transparent-active\n );\n}\n\n:host(.ic-button-variant-secondary.background) ::slotted(a:active),\n:host(.ic-button-variant-icon-secondary.background) ::slotted(a:active) {\n background-color: var(\n --ic-button-secondary-background-non-transparent-active\n ) !important;\n}\n\n/* Secondary - monochrome */\n\n:host(.ic-button-variant-secondary.monochrome) .button,\n:host(.ic-button-variant-icon-secondary.monochrome) .button {\n background-color: none;\n border: var(--ic-border-width) solid\n var(--ic-button-secondary-border-monochrome);\n color: var(--ic-button-secondary-text-monochrome);\n}\n\n:host(.ic-button-variant-secondary.monochrome) ::slotted(a),\n:host(.ic-button-variant-icon-secondary.monochrome) ::slotted(a) {\n background-color: none !important;\n}\n\n:host(.ic-button-variant-secondary.monochrome) .button:hover,\n:host(.ic-button-variant-icon-secondary.monochrome) .button:hover {\n background-color: var(--ic-button-secondary-background-hover-monochrome);\n border-color: var(--ic-button-secondary-border-hover-monochrome);\n color: var(--ic-button-secondary-text-hover-monochrome);\n}\n\n:host(.ic-button-variant-secondary.monochrome) ::slotted(a:hover),\n:host(.ic-button-variant-icon-secondary.monochrome) ::slotted(a:hover) {\n background-color: var(\n --ic-button-secondary-background-hover-monochrome\n ) !important;\n}\n\n:host(.ic-button-variant-secondary.monochrome) .button:active,\n:host(.ic-button-variant-icon-secondary.monochrome) .button:active {\n background-color: var(--ic-button-secondary-background-pressed-monochrome);\n border-color: var(--ic-button-secondary-border-pressed-monochrome);\n color: var(--ic-button-secondary-text-pressed-monochrome);\n}\n\n:host(.ic-button-variant-secondary.monochrome) ::slotted(a:active),\n:host(.ic-button-variant-icon-secondary.monochrome) ::slotted(a:active) {\n background-color: var(\n --ic-button-secondary-background-pressed-monochrome\n ) !important;\n}\n\n:host(.ic-button-variant-secondary.ic-button-loading.monochrome) .button,\n:host(.ic-button-variant-icon-secondary.ic-button-loading.monochrome) .button {\n background-color: var(\n --ic-button-secondary-background-pressed-monochrome\n ) !important;\n border-color: var(--ic-button-secondary-border-pressed-monochrome);\n color: var(--ic-button-secondary-text-pressed-monochrome);\n\n --button-loading-inner-color: var(\n --ic-button-secondary-text-pressed-monochrome\n );\n --button-loading-outer-color: var(\n --ic-button-secondary-background-pressed-monochrome\n );\n}\n\n:host(.ic-button-variant-secondary.ic-button-disabled.monochrome) .button,\n:host(.ic-button-variant-icon-secondary.ic-button-disabled.monochrome) .button {\n background: none;\n border-color: var(--ic-button-secondary-border-disabled-monochrome);\n color: var(--ic-button-secondary-text-disabled-monochrome);\n}\n\n:host(.ic-button-variant-secondary.ic-button-disabled.monochrome) ::slotted(a),\n:host(.ic-button-variant-icon-secondary.ic-button-disabled.monochrome)\n ::slotted(a) {\n background: none !important;\n}\n\n/* Secondary - non-transparent background - monochrome */\n\n:host(.ic-button-variant-secondary.background.monochrome) .button,\n:host(.ic-button-variant-icon-secondary.background.monochrome) .button {\n background-color: var(\n --ic-button-secondary-background-non-transparent-monochrome\n );\n color: var(--ic-button-primary-text);\n}\n\n:host(.ic-button-variant-secondary.background.monochrome) ::slotted(a),\n:host(.ic-button-variant-icon-secondary.background.monochrome) ::slotted(a) {\n background-color: var(\n --ic-button-secondary-background-non-transparent-monochrome\n ) !important;\n}\n\n:host(.ic-button-variant-secondary.background.monochrome.ic-button-disabled)\n .button,\n:host(.ic-button-variant-icon-secondary.background.monochrome.ic-button-disabled)\n .button {\n background-color: var(\n --ic-button-secondary-background-non-transparent-monochrome-disabled\n );\n color: var(--ic-button-secondary-text-disabled-monochrome);\n}\n\n:host(.ic-button-variant-secondary.background.monochrome.ic-button-disabled)\n ::slotted(a),\n:host(.ic-button-variant-icon-secondary.background.monochrome.ic-button-disabled)\n ::slotted(a) {\n background-color: var(\n --ic-button-secondary-background-non-transparent-monochrome-disabled\n ) !important;\n}\n\n:host(.ic-button-variant-secondary.background.monochrome) .button:hover,\n:host(.ic-button-variant-icon-secondary.background.monochrome) .button:hover {\n background-color: var(\n --ic-button-secondary-background-non-transparent-monochrome-hover\n );\n}\n\n:host(.ic-button-variant-secondary.background.monochrome) ::slotted(a:hover),\n:host(.ic-button-variant-icon-secondary.background.monochrome)\n ::slotted(a:hover) {\n background-color: var(\n --ic-button-secondary-background-non-transparent-monochrome-hover\n ) !important;\n}\n\n:host(.ic-button-variant-secondary.background.monochrome) .button:active,\n:host(.ic-button-variant-icon-secondary.background.monochrome) .button:active {\n background-color: var(\n --ic-button-secondary-background-non-transparent-monochrome-active\n );\n}\n\n:host(.ic-button-variant-secondary.background.monochrome) ::slotted(a:active),\n:host(.ic-button-variant-icon-secondary.background.monochrome)\n ::slotted(a:active) {\n background-color: var(\n --ic-button-secondary-background-non-transparent-monochrome-active\n ) !important;\n}\n\n/* Tertiary */\n\n:host(.ic-button-variant-tertiary) .button,\n:host(.ic-button-variant-icon-tertiary) .button,\n:host(.ic-button-variant-tertiary) ::slotted(a),\n:host(.ic-button-variant-icon-tertiary) ::slotted(a) {\n color: var(--ic-button-tertiary-text-active);\n\n --ic-typography-color: var(--ic-button-tertiary-text-active);\n}\n\n:host(.ic-button-variant-tertiary) .button:hover,\n:host(.ic-button-variant-icon-tertiary) .button:hover {\n background-color: var(--ic-button-tertiary-background-hover-active);\n color: var(--ic-button-tertiary-text-hover-active);\n}\n\n:host(.ic-button-variant-tertiary) ::slotted(a:hover),\n:host(.ic-button-variant-icon-tertiary) ::slotted(a:hover) {\n background-color: var(\n --ic-button-tertiary-background-hover-active\n ) !important;\n}\n\n:host(.ic-button-variant-tertiary) .button:active,\n:host(.ic-button-variant-tertiary.ic-button-loading) .button,\n:host(.ic-button-variant-icon-tertiary) .button:active,\n:host(.ic-button-variant-icon-tertiary.ic-button-loading) .button {\n background-color: var(--ic-button-tertiary-background-pressed-active);\n color: var(--ic-button-tertiary-text-pressed-active);\n\n --button-loading-inner-color: var(--ic-button-tertiary-text-pressed-active);\n --button-loading-outer-color: var(--ic-button-tertiary-background-pressed);\n}\n\n:host(.ic-button-variant-tertiary) ::slotted(a:active),\n:host(.ic-button-variant-icon-tertiary) ::slotted(a:active) {\n background-color: var(\n --ic-button-tertiary-background-pressed-active\n ) !important;\n}\n\n:host(.ic-button-variant-tertiary.ic-button-disabled) .button,\n:host(.ic-button-variant-icon-tertiary.ic-button-disabled) .button {\n color: var(--ic-button-tertiary-text-disabled);\n background: none;\n}\n\n:host(.ic-button-variant-tertiary.ic-button-disabled) ::slotted(a),\n:host(.ic-button-variant-icon-tertiary.ic-button-disabled) ::slotted(a) {\n background: none !important;\n}\n\n/* Tertiary - monochrome */\n\n:host(.ic-button-variant-tertiary.monochrome) .button,\n:host(.ic-button-variant-tertiary.monochrome) ::slotted(a),\n:host(.ic-button-variant-icon-tertiary.monochrome) .button,\n:host(.ic-button-variant-icon-tertiary.monochrome) ::slotted(a) {\n color: var(--ic-button-tertiary-text-monochrome);\n\n --ic-typography-color: var(--ic-button-tertiary-text-monochrome);\n}\n\n:host(.ic-button-variant-tertiary.monochrome) .button:hover,\n:host(.ic-button-variant-icon-tertiary.monochrome) .button:hover {\n background-color: var(--ic-button-tertiary-background-hover-monochrome);\n color: var(--ic-button-tertiary-text-hover-monochrome);\n}\n\n:host(.ic-button-variant-tertiary.monochrome) ::slotted(a:hover),\n:host(.ic-button-variant-icon-tertiary.monochrome) ::slotted(a:hover) {\n background-color: var(\n --ic-button-tertiary-background-hover-monochrome\n ) !important;\n}\n\n:host(.ic-button-variant-tertiary.monochrome) .button:active,\n:host(.ic-button-variant-tertiary.ic-button-loading.monochrome) .button,\n:host(.ic-button-variant-icon-tertiary.monochrome) .button:active,\n:host(.ic-button-variant-icon-tertiary.ic-button-loading.monochrome) .button {\n background-color: var(--ic-button-tertiary-background-pressed-monochrome);\n color: var(--ic-button-tertiary-text-pressed-monochrome);\n\n --button-loading-inner-color: var(\n --ic-button-tertiary-text-pressed-monochrome\n );\n --button-loading-outer-color: var(\n --ic-button-tertiary-background-pressed-monochrome\n );\n}\n\n:host(.ic-button-variant-tertiary.monochrome) ::slotted(a:active),\n:host(.ic-button-variant-icon-tertiary.monochrome) ::slotted(a:active) {\n background-color: var(\n --ic-button-tertiary-background-pressed-monochrome\n ) !important;\n}\n\n:host(.ic-button-variant-tertiary.ic-button-disabled.monochrome) .button,\n:host(.ic-button-variant-icon-tertiary.ic-button-disabled.monochrome) .button {\n color: var(--ic-button-tertiary-text-disabled-monochrome);\n background: none;\n}\n\n:host(.ic-button-variant-tertiary.ic-button-disabled.monochrome) ::slotted(a),\n:host(.ic-button-variant-icon-tertiary.ic-button-disabled.monochrome)\n ::slotted(a) {\n background: none !important;\n}\n\n/* Destructive */\n\n:host(.ic-button-variant-destructive) .button,\n:host(.ic-button-variant-icon-destructive) .button {\n color: var(--ic-button-destructive-text);\n background-color: var(--ic-button-destructive-background);\n text-transform: uppercase;\n}\n\n:host(.ic-button-variant-destructive) ::slotted(a),\n:host(.ic-button-variant-icon-destructive) ::slotted(a) {\n color: var(--ic-button-destructive-text) !important;\n\n --ic-typography-color: var(--ic-button-destructive-text) !important;\n\n background-color: var(--ic-button-destructive-background) !important;\n text-transform: uppercase !important;\n}\n\n:host(.ic-button-variant-destructive) .button:hover,\n:host(.ic-button-variant-icon-destructive) .button:hover {\n background-color: var(--ic-button-destructive-background-hover);\n}\n\n:host(.ic-button-variant-destructive) ::slotted(a:hover),\n:host(.ic-button-variant-icon-destructive) ::slotted(a:hover) {\n background-color: var(--ic-button-destructive-background-hover) !important;\n}\n\n:host(.ic-button-variant-destructive) .button:active,\n:host(.ic-button-variant-destructive.ic-button-loading) .button,\n:host(.ic-button-variant-icon-destructive.ic-button-loading) .button {\n color: var(--ic-button-primary-text);\n background-color: var(--ic-button-destructive-background-pressed);\n\n --button-loading-inner-color: var(--ic-button-primary-text);\n --button-loading-outer-color: var(--ic-button-destructive-background-pressed);\n}\n\n:host(.ic-button-variant-destructive) ::slotted(a:active),\n:host(.ic-button-variant-icon-destructive) ::slotted(a:active) {\n background-color: var(--ic-button-destructive-background-pressed) !important;\n}\n\n:host(.ic-button-variant-destructive.ic-button-disabled) .button,\n:host(.ic-button-variant-icon-destructive.ic-button-disabled) .button {\n background-color: var(--ic-button-destructive-background-disabled);\n color: var(--ic-button-destructive-text-disabled);\n}\n\n:host(.ic-button-variant-destructive.ic-button-disabled) ::slotted(a),\n:host(.ic-button-variant-icon-destructive.ic-button-disabled) ::slotted(a) {\n background-color: var(--ic-button-destructive-background-disabled) !important;\n}\n\n/***********************\n Icon Variants\n ***********************/\n\n/* Icon */\n\n:host(.ic-button-variant-icon) .button {\n color: var(--ic-button-icon-color);\n background-color: var(--ic-button-icon-color-background);\n min-width: 0;\n gap: var(--ic-space-xs);\n}\n\n:host(.ic-button-variant-icon) ::slotted(a) {\n color: var(--ic-button-icon-color);\n background-color: var(--ic-button-icon-color-background) !important;\n min-width: 0;\n gap: var(--ic-space-xs);\n}\n\n:host(.ic-button-variant-icon) .icon-container {\n width: var(--ic-space-lg) !important;\n height: var(--ic-space-lg) !important;\n}\n\n:host(.ic-button-variant-icon) .button:hover {\n color: var(--ic-button-icon-color-hover);\n background-color: var(--ic-button-icon-color-background-hover);\n}\n\n:host(.ic-button-variant-icon) ::slotted(a:hover) {\n color: var(--ic-button-icon-color-hover);\n background-color: var(--ic-button-icon-color-background-hover) !important;\n}\n\n:host(.ic-button-variant-icon) .button:active:not(:focus),\n:host(.ic-button-variant-icon.ic-button-loading) .button {\n color: var(--ic-button-icon-color-active);\n background-color: var(--ic-button-icon-color-background-active);\n}\n\n:host(.ic-button-variant-icon) ::slotted(a:active:not(:focus)) {\n color: var(--ic-button-icon-color-active);\n background-color: var(--ic-button-icon-color-background-active) !important;\n}\n\n:host(.ic-button-variant-icon.ic-button-disabled) .button {\n color: var(--ic-color-icon-disabled-mid);\n background: none;\n}\n\n:host(.ic-button-variant-icon.ic-button-disabled) ::slotted(a) {\n color: var(--ic-color-icon-disabled-mid);\n background: none !important;\n}\n\n/* Icon-primary */\n\n:host(.ic-button-variant-icon-primary) .button,\n:host(.ic-button-variant-icon-primary) ::slotted(a) {\n min-width: 0;\n gap: var(--ic-space-xs);\n}\n\n:host(.ic-button-variant-icon-primary) .icon-container {\n width: var(--ic-space-lg) !important;\n height: var(--ic-space-lg) !important;\n}\n\n:host(.ic-button-variant-icon.monochrome) ::slotted(a),\n:host(.ic-button-variant-icon.monochrome) ::slotted(svg) {\n color: var(--ic-button-icon-monochrome);\n}\n\n/* Icon-secondary */\n\n:host(.ic-button-variant-icon-secondary) .button,\n:host(.ic-button-variant-icon-secondary) ::slotted(a) {\n min-width: 0;\n gap: var(--ic-space-xs);\n}\n\n:host(.ic-button-variant-icon-secondary) .icon-container {\n width: var(--ic-space-lg) !important;\n height: var(--ic-space-lg) !important;\n}\n\n/* Icon-tertiary */\n\n:host(.ic-button-variant-icon-tertiary) .button,\n:host(.ic-button-variant-icon-tertiary) ::slotted(a) {\n min-width: 0;\n gap: var(--ic-space-xs);\n}\n\n:host(.ic-button-variant-icon-tertiary) .icon-container {\n width: var(--ic-space-lg) !important;\n height: var(--ic-space-lg) !important;\n}\n\n/* Icon-destructive */\n\n:host(.ic-button-variant-icon-destructive) .button,\n:host(.ic-button-variant-icon-destructive) ::slotted(a) {\n min-width: 0;\n gap: var(--ic-space-xs);\n}\n\n:host(.ic-button-variant-icon-destructive) .icon-container {\n width: var(--ic-space-lg) !important;\n height: var(--ic-space-lg) !important;\n}\n\n/* Sizing */\n\n:host(.ic-button-size-medium) .button {\n height: var(--height, 2.5rem);\n padding: var(--ic-space-xs) var(--ic-space-md);\n}\n\n:host(.ic-button-size-medium) ::slotted(a) {\n height: var(--height, 2.5rem) !important;\n padding: var(--ic-space-xs) var(--ic-space-md) !important;\n}\n\n:host(.ic-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(.ic-button-size-small) ::slotted(a) {\n height: var(--height, var(--ic-space-xl)) !important;\n padding: var(--ic-space-xxs) var(--ic-space-md) !important;\n}\n\n:host(.ic-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(.ic-button-size-large) ::slotted(a) {\n height: var(--height, var(--ic-space-xxl)) !important;\n padding: var(--ic-space-sm) var(--ic-space-md) !important;\n}\n\n:host(.ic-button-size-medium.ic-button-variant-icon) .button,\n:host(.ic-button-size-medium.ic-button-variant-icon-primary) .button,\n:host(.ic-button-size-medium.ic-button-variant-icon-secondary) .button,\n:host(.ic-button-size-medium.ic-button-variant-icon-tertiary) .button,\n:host(.ic-button-size-medium.ic-button-variant-icon-destructive) .button {\n height: var(--height, var(--ic-space-xl));\n width: var(--ic-space-xl);\n padding: 0.375rem;\n}\n\n:host(.ic-button-size-medium.ic-button-variant-icon-primary) ::slotted(a),\n:host(.ic-button-size-medium.ic-button-variant-icon-secondary) ::slotted(a),\n:host(.ic-button-size-medium.ic-button-variant-icon-tertiary) ::slotted(a),\n:host(.ic-button-size-medium.ic-button-variant-icon-destructive) ::slotted(a) {\n height: var(--height, var(--ic-space-xl)) !important;\n width: var(--ic-space-xl) !important;\n padding: 0.375rem !important;\n}\n\n:host(.ic-button-size-small.ic-button-variant-icon) .button,\n:host(.ic-button-size-small.ic-button-variant-icon-primary) .button,\n:host(.ic-button-size-small.ic-button-variant-icon-secondary) .button,\n:host(.ic-button-size-small.ic-button-variant-icon-tertiary) .button,\n:host(.ic-button-size-small.ic-button-variant-icon-destructive) .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(.ic-button-size-small.ic-button-variant-icon-primary) ::slotted(a),\n:host(.ic-button-size-small.ic-button-variant-icon-secondary) ::slotted(a),\n:host(.ic-button-size-small.ic-button-variant-icon-tertiary) ::slotted(a),\n:host(.ic-button-size-small.ic-button-variant-icon-destructive) ::slotted(a),\n:host(.ic-button-size-small.ic-button-variant-icon) ::slotted(a) {\n height: var(--height, var(--ic-space-lg)) !important;\n width: var(--ic-space-lg) !important;\n padding: var(--ic-space-xxs) !important;\n}\n\n:host(.ic-button-size-large.ic-button-variant-icon) .button,\n:host(.ic-button-size-large.ic-button-variant-icon-primary) .button,\n:host(.ic-button-size-large.ic-button-variant-icon-secondary) .button,\n:host(.ic-button-size-large.ic-button-variant-icon-tertiary) .button,\n:host(.ic-button-size-large.ic-button-variant-icon-destructive) .button {\n height: var(--height, 2.5rem);\n width: 2.5rem;\n padding: var(--ic-space-xs);\n}\n\n:host(.ic-button-size-large.ic-button-variant-icon-destructive) .button,\n:host(.ic-button-size-large.ic-button-variant-icon-primary) ::slotted(a),\n:host(.ic-button-size-large.ic-button-variant-icon-secondary) ::slotted(a),\n:host(.ic-button-size-large.ic-button-variant-icon-tertiary) ::slotted(a),\n:host(.ic-button-size-large.ic-button-variant-icon-destructive) ::slotted(a),\n:host(.ic-button-size-large.ic-button-variant-icon) ::slotted(a) {\n height: var(--height, 2.5rem) !important;\n width: 2.5rem !important;\n padding: var(--ic-space-xs) !important;\n}\n\n/* Width */\n:host(.ic-button-full-width),\n:host(.ic-button-full-width) .button {\n width: 100%;\n}\n\n:host(.ic-button-full-width) ::slotted(a) {\n width: 100% !important;\n}\n\n/* Loading */\n\ndiv.loading-container {\n position: relative;\n align-items: center;\n width: 100%;\n}\n\nic-loading-indicator {\n --inner-color: var(--button-loading-inner-color);\n --outer-color: var(--button-loading-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 margin-right: var(--ic-space-xs);\n}\n\ndiv.right-icon {\n margin-right: auto;\n margin-left: var(--ic-space-xs);\n}\n\n:host(.ic-button-full-width) .right-icon {\n margin-right: var(--ic-space-xs);\n}\n\n::slotted(:not(ic-badge)) {\n width: var(--icon-width) !important;\n height: var(--icon-height) !important;\n fill: currentcolor !important;\n pointer-events: none;\n}\n\n:host(.ic-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 color: var(--ic-atoms-input-search-button);\n}\n\n:host(.search-submit-button-small) ::slotted(svg) {\n --icon-height: 1rem;\n --icon-width: 1rem;\n\n color: var(--ic-atoms-input-search-button);\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) .button:not(:active):focus ::slotted(svg) {\n color: var(--ic-button-primary-text);\n}\n\n:host(.search-submit-button) {\n display: flex;\n align-items: center;\n margin: 0 var(--ic-space-xxs);\n}\n\n/** CLEAR & DISMISS **/\n\n:host(.ic-button-variant-icon) .button,\n:host(.ic-button-variant-icon) ::slotted(a) {\n background-color: inherit;\n min-width: 0;\n gap: var(--ic-space-xs);\n}\n\n:host(.button-variant-icon) .button,\n:host(.button-variant-icon) ::slotted(a) {\n color: var(--button-default);\n min-width: 0;\n gap: var(--ic-space-xs);\n}\n\n:host(.button-variant-icon) .icon-container {\n width: var(--ic-space-lg) !important;\n height: var(--ic-space-lg) !important;\n}\n\n:host(.button-variant-icon) .button:hover,\n:host(.button-variant-icon) ::slotted(a:hover) {\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) ::slotted(a: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) ::slotted(a) {\n color: var(--ic-color-icon-disabled-mid);\n background: none;\n}\n\n:host(.clear-button) {\n margin: 0 var(--ic-space-xxs);\n}\n\n:host(.clear-button) .button:focus,\n:host(.calendar-button) .button:focus {\n box-shadow: none;\n}\n\n:host(.dismiss-icon) .button,\n:host(.clear-button) .button,\n:host(.dismiss-icon) ::slotted(a),\n:host(.clear-button) ::slotted(a) {\n background-color: inherit;\n color: var(--ic-atoms-input-clear-button);\n}\n\n:host(.dismiss-icon) .button:hover,\n:host(.clear-button) .button:hover,\n:host(.dismiss-icon) ::slotted(a:hover),\n:host(.clear-button) ::slotted(a:hover) {\n color: var(--ic-atoms-input-clear-button);\n}\n\n:host(.dismiss-icon),\n:host(.clear-button) {\n color: var(--ic-atoms-input-clear-button);\n margin: 0 var(--ic-space-xxs);\n}\n\n:host(.dismiss-icon) .button:focus,\n:host(.clear-button) .button:focus,\n:host(.calendar-button) .button:focus {\n box-shadow: none;\n}\n\n:host(.dismiss-icon) .button:not(:active):focus ::slotted(svg),\n:host(.clear-button) .button:not(:active):focus ::slotted(svg) {\n background-color: var(--ic-atoms-input-clear-button-focus-inner);\n color: var(--ic-button-primary-text);\n\n /* border: var(--ic-atoms-input-clear-button-focus-outer); */\n}\n\n:host(.menu-close-button) ::slotted(svg) {\n --icon-height: 0.875rem;\n --icon-width: 0.875rem;\n\n color: var(--ic-top-navigation-icon-active);\n}\n\n:host(.popout-menu-button) .button {\n height: var(--height);\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/** Dropdown **/\n\n:host .arrow-dropdown {\n margin-top: auto;\n}\n\n:host .dropdown-expanded {\n transform: rotate(180deg);\n margin-bottom: var(--ic-space-xxxs);\n}\n\n:host(.dropdown-no-icon) .button {\n padding-right: var(--ic-space-xs);\n}\n\n/** Slotted router item **/\n\nslot[name=\"router-item\"]::slotted(a) {\n pointer-events: all;\n}\n\n::slotted(a) {\n font-size: 0.875rem !important;\n border: none !important;\n vertical-align: middle !important;\n}\n\n/** menu button on top navigation\\side navigation \n * uses secondary monochrome tokens which are duplicated here to avoid multiple copies in each component\n */\n\n:host(#menu-button.ic-theme-dark) {\n --ic-button-secondary-background-hover-monochrome: var(\n --ic-action-dark-bg-hover\n );\n --ic-button-secondary-background-pressed-monochrome: var(\n --ic-action-dark-bg-pressed\n );\n --ic-button-secondary-text-hover-monochrome: var(\n --ic-action-monochrome-hover-dark\n );\n --ic-button-secondary-text-pressed-monochrome: var(\n --ic-action-monochrome-pressed-dark\n );\n --ic-button-secondary-border-hover-monochrome: var(\n --ic-color-border-neutral-hover-dark\n );\n --ic-button-secondary-border-pressed-monochrome: var(\n --ic-color-border-neutral-pressed-dark\n );\n}\n\n:host(#menu-button.ic-theme-light) {\n --ic-button-secondary-background-hover-monochrome: var(\n --ic-action-light-bg-hover\n );\n --ic-button-secondary-background-pressed-monochrome: var(\n --ic-action-light-bg-pressed\n );\n --ic-button-secondary-text-hover-monochrome: var(\n --ic-action-monochrome-hover\n );\n --ic-button-secondary-text-pressed-monochrome: var(\n --ic-action-monochrome-pressed\n );\n --ic-button-secondary-border-hover-monochrome: var(\n --ic-color-border-neutral-hover-light\n );\n --ic-button-secondary-border-pressed-monochrome: var(\n --ic-color-border-neutral-default\n );\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n .button,\n ::slotted(a) {\n border: 0.125rem solid transparent !important;\n }\n\n .search-submit-button ::slotted(a),\n .ic-button-variant-icon ::slotted(a),\n .clear-button ::slotted(a),\n .search-submit-button ::slotted(svg),\n .ic-button-variant-icon ::slotted(svg),\n .clear-button ::slotted(svg) {\n color: HighlightText;\n }\n\n :host(.ic-button-variant-icon.monochrome) ::slotted(a),\n :host(.ic-button-variant-icon.monochrome) ::slotted(svg) {\n color: white;\n }\n\n :host(.dismiss-icon) .button:not(:active):focus ::slotted(svg),\n :host(.clear-button) .button:not(:active):focus ::slotted(svg) {\n color: white !important;\n background-color: inherit;\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 forceUpdate,\n h,\n Watch,\n} from \"@stencil/core\";\n\nimport {\n getBrandFromContext,\n inheritAttributes,\n isSlotUsed,\n removeDisabledFalse,\n renderFileHiddenInput,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport { IcButtonTypes, IcButtonVariants } from \"./ic-button.types\";\nimport {\n IcSizes,\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcThemeMode,\n IcButtonTooltipPlacement,\n} from \"../../utils/types\";\nimport arrowDropdown from \"../../assets/arrow-dropdown.svg\";\n\nlet buttonIds = 0;\n\n/**\n * @slot left-icon - Content will be placed to the left of the button label.\n * @slot right-icon - Content will be placed to the right of the button label.\n * @slot top-icon - Content will be placed above the button label.\n * @slot badge - Badge component overlaying the top right of the button.\n * @slot router-item - Handle routing by nesting your routes in this slot. Setting loading to true will have no impact on this slot.\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 | null;\n private inheritedAttributes: { [k: string]: string } = {};\n private describedbyEl: HTMLElement | null = null;\n private describedById: string | null = null;\n private mutationObserver: MutationObserver | null = null;\n private hostMutationObserver: MutationObserver | null = null;\n private routerSlot: HTMLElement | null;\n\n @Element() el: HTMLIcButtonElement;\n\n @State() ariaLabel: string = \"\";\n @State() describedByContent: string | undefined = \"\";\n @State() title: string = \"\";\n\n /**\n * If `fileUpload` is set to `true`, this is the accepted list of file types.\n */\n @Prop() accept?: string = \"*\";\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaControlsId?: string | boolean;\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaOwnsId?: string | boolean;\n\n /**\n * If `true`, the button will be in disabled state.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * 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 * If `true`, the button will show a dropdown icon.\n */\n @Prop() dropdown?: boolean = false;\n\n /**\n * If `true`, the aria-expanded value will be set to true. This is only applied if the dropdown prop is also true.\n */\n @Prop({ mutable: true, reflect: true }) dropdownExpanded?: boolean = false;\n\n /**\n * If `true`, when the button is clicked the native file explorer will be launched.\n */\n @Prop() fileUpload?: boolean = false;\n\n /**\n * The name of the control for the file input, which is submitted with the form data.\n */\n @Prop() fileInputName?: string = `ic-button-file-upload-input-${buttonIds++}`;\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 * If `true`, the button will display as monochromatic in either `light` or `dark` theme.\n */\n @Prop({ mutable: true }) monochrome?: boolean = false;\n\n /**\n * If `fileUpload` is set to `true`, this boolean determines whether multiple files are accepted.\n */\n @Prop() multiple?: 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 list of the files that have been selected by a user.\n */\n @Prop() selectedFiles?: FileList;\n\n /**\n * The size of the button to be displayed.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop({ mutable: true }) theme?: IcThemeMode = \"inherit\";\n\n /**\n * The position of the tooltip in relation to the button.\n */\n @Prop() tooltipPlacement?: IcButtonTooltipPlacement = \"bottom\";\n\n /**\n * If `true`, the secondary variant of button will have a transparent background rather than white.\n */\n @Prop() transparentBackground?: boolean = true;\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 * If `fileUpload` is set to `true`, this will be emitted when a file is selected in the native explorer.\n */\n @Event() icFileSelection!: EventEmitter<FileList>;\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 if (\n this.hostMutationObserver !== null &&\n this.hostMutationObserver !== undefined\n ) {\n this.hostMutationObserver.disconnect();\n }\n }\n\n componentWillUpdate(): void {\n if (this.loading) {\n this.el.style.setProperty(\n \"--min-width\",\n `${this.el.getBoundingClientRect().width}px`\n );\n }\n this.setHasTooltip();\n }\n\n componentWillLoad(): void {\n const {\n title,\n \"aria-label\": ariaLabel,\n ...restInheritedAttributes\n } = inheritAttributes(this.el, [...IC_INHERITED_ARIA, \"title\"]);\n\n this.title = title;\n this.ariaLabel = ariaLabel;\n this.inheritedAttributes = restInheritedAttributes;\n\n removeDisabledFalse(this.disabled, this.el);\n\n this.el.setAttribute(\"exportparts\", \"button\");\n\n this.id = this.el.id || null;\n this.setHasTooltip();\n\n if (!this.hasTooltip) {\n const describedById = this.inheritedAttributes[\"aria-describedby\"];\n if (describedById !== undefined) {\n this.describedById = describedById;\n const el = this.el.parentElement?.querySelector<HTMLElement>(\n `#${describedById}`\n );\n if (el) {\n this.describedByContent = el.innerText;\n this.describedbyEl = el;\n }\n }\n }\n }\n\n componentDidLoad(): void {\n this.updateTheme();\n\n if (typeof MutationObserver !== \"undefined\") {\n if (this.describedbyEl && 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 this.hostMutationObserver = new MutationObserver(\n this.hostMutationCallback\n );\n this.hostMutationObserver.observe(this.el, {\n attributes: true,\n });\n\n this.hasRouterSlot() && this.arrangeRouterItem();\n }\n }\n\n componentWillRender(): void {\n const iconEl = this.hasIconSlot(\"left\")\n ? this.el.querySelector(`[slot=\"left-icon\"]`)\n : this.hasIconSlot(\"right\")\n ? this.el.querySelector(`[slot=\"right-icon\"]`)\n : null;\n iconEl?.setAttribute(\"viewBox\", \"0 0 24 24\");\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (!this.hasRouterSlot()) {\n if (this.fileUpload) {\n renderFileHiddenInput(\n this.icFileSelection,\n this.el,\n !!this.multiple,\n this.fileInputName!,\n this.selectedFiles,\n !!this.disabled,\n this.accept\n );\n }\n if (this.disabled || this.loading) {\n event.stopImmediatePropagation();\n }\n if (this.dropdown) {\n this.dropdownExpanded = !this.dropdownExpanded;\n }\n }\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler({ detail }: CustomEvent<IcBrand>): void {\n this.updateTheme(detail.mode);\n }\n\n /**\n * Sets focus on the native `button`.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.buttonEl?.focus();\n }\n\n private async closeButtonTooltip(ev: KeyboardEvent): Promise<void> {\n const tooltip = this.el.shadowRoot?.querySelector(\"ic-tooltip\");\n if (tooltip && (await tooltip.isTooltipVisible())) {\n tooltip.displayTooltip(false);\n ev.preventDefault();\n ev.stopImmediatePropagation();\n }\n }\n\n private hasIconSlot(position?: \"left\" | \"right\" | \"top\"): boolean {\n const selectorPrefix = position ? `${position}-` : \"\";\n return this.el.querySelector(`[slot=\"${selectorPrefix}icon\"]`) !== null;\n }\n\n private hasRouterSlot(): boolean {\n this.routerSlot = this.el.querySelector('[slot=\"router-item\"]');\n if (this.routerSlot) {\n this.routerSlot.ariaLabel = this.routerSlot.textContent;\n }\n return !!this.routerSlot;\n }\n\n private handleClick = (): void => {\n if (\n (this.el.type === \"submit\" || this.el.type === \"reset\") &&\n !this.hasRouterSlot() &&\n !!this.el.closest(\"FORM\")\n ) {\n const hiddenFormButton = document.createElement(\"button\");\n\n hiddenFormButton.setAttribute(\"type\", this.el.type);\n hiddenFormButton.style.display = \"none\";\n\n this.el.closest(\"FORM\")?.appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n }\n };\n\n private handleKeyDown = (ev: KeyboardEvent): void => {\n if (ev.key === \"Escape\" && this.hasTooltip) {\n this.closeButtonTooltip(ev);\n }\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = () => {\n this.icBlur.emit();\n };\n\n private updateTheme(mode: IcBrandForeground | null = null): void {\n const foregroundColor = getBrandFromContext(this.el, mode);\n if (foregroundColor !== IcBrandForegroundEnum.Default) {\n this.theme =\n foregroundColor === IcBrandForegroundEnum.Light\n ? IcBrandForegroundEnum.Dark\n : IcBrandForegroundEnum.Light;\n this.monochrome = true;\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 // triggered when attributes of host element change\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n let forceComponentUpdate = false;\n mutationList.forEach(({ attributeName }) => {\n if (attributeName) {\n const attribute = this.el.getAttribute(attributeName);\n if (attribute) {\n if (attributeName === \"title\") this.title = attribute;\n else if (attributeName === \"aria-label\") this.ariaLabel = attribute;\n\n if (IC_INHERITED_ARIA.includes(attributeName)) {\n this.inheritedAttributes[attributeName] = attribute;\n forceComponentUpdate = true;\n }\n }\n }\n });\n if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n private setHasTooltip = (): void => {\n this.hasTooltip =\n !this.disableTooltip && (!!this.title || !!this.isIconVariant());\n };\n\n private isIconVariant = (): boolean | undefined => {\n return this.variant?.startsWith(\"icon\");\n };\n\n private arrangeRouterItem = (): void => {\n const setStyles = (\n element: HTMLElement | SVGElement,\n styles: { [key: string]: string }\n ) => {\n Object.entries(styles).forEach(([key, value]) => {\n element.style.setProperty(key, value);\n });\n };\n const iconWrapper = document.createElement(\"div\");\n const icon = this.routerSlot?.querySelector(\"svg\");\n const badge = this.routerSlot?.querySelector(\"ic-badge\");\n const label = this.routerSlot?.textContent?.trim();\n const icTypography = document.createElement(\"ic-typography\");\n\n setStyles(icTypography, {\n \"font-family\": \"var(--ic-font-body-family)\",\n \"font-size\": \"0.875rem\",\n \"font-weight\": \"600\",\n });\n setStyles(this.routerSlot!, {\n gap: \"0\",\n });\n\n if (icon) {\n setStyles(icon, {\n fill: \"currentcolor\",\n });\n icon.getAttribute(\"slot\") === \"left-icon\" &&\n setStyles(iconWrapper, {\n \"margin-right\": \"var(--ic-space-xs)\",\n });\n icon.getAttribute(\"slot\") === \"right-icon\" &&\n setStyles(iconWrapper, {\n \"margin-left\": \"var(--ic-space-xs)\",\n });\n if (icon.getAttribute(\"slot\") === \"top-icon\") {\n setStyles(this.routerSlot!, {\n display: \"flex\",\n \"flex-direction\": \"column\",\n \"--height\": \"fit-content\",\n });\n }\n iconWrapper.append(icon);\n }\n\n badge && iconWrapper.append(badge);\n\n if (label) {\n icTypography.textContent = label;\n }\n\n if (this.routerSlot) {\n this.routerSlot.textContent = \"\";\n if (icon && icon.getAttribute(\"slot\") === \"right-icon\") {\n this.routerSlot.append(icTypography);\n this.routerSlot.append(iconWrapper);\n } else {\n this.routerSlot.append(iconWrapper);\n this.routerSlot.append(icTypography);\n }\n }\n };\n\n render() {\n const TagType = (this.href && \"a\") || \"button\";\n const { title, ariaLabel, inheritedAttributes } = this;\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\n let describedby: string | null = null;\n let buttonId: string | null = 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 =\n this.variant === \"icon\" && !!ariaLabel\n ? null\n : `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 aria-expanded={this.dropdown && `${this.dropdownExpanded}`}\n {...buttonAttrs}\n {...inheritedAttributes}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n ref={(el) => (this.buttonEl = el)}\n aria-describedby={describedby}\n part=\"button\"\n >\n {this.hasIconSlot(\"left\") && !this.loading && (\n <div class=\"icon-container\">\n <slot name=\"left-icon\" />\n </div>\n )}\n {this.hasIconSlot(\"top\") &&\n !this.hasIconSlot(\"left\") &&\n !this.hasIconSlot(\"right\") &&\n !this.loading && (\n <div class=\"icon-container\">\n <slot name=\"top-icon\" />\n </div>\n )}\n {this.loading ? (\n <div class=\"loading-container\">\n <ic-loading-indicator\n type=\"linear\"\n monochrome={this.monochrome}\n theme={this.theme}\n ></ic-loading-indicator>\n </div>\n ) : (\n <slot />\n )}\n {this.hasIconSlot(\"right\") && !this.loading && !this.dropdown && (\n <div class={{ \"icon-container\": true, \"right-icon\": true }}>\n <slot name=\"right-icon\" />\n </div>\n )}\n {this.dropdown &&\n !this.loading &&\n this.variant !== \"icon\" &&\n this.variant !== \"destructive\" && (\n <span\n class={{\n [\"arrow-dropdown\"]: !this.dropdownExpanded,\n [\"dropdown-expanded\"]: !!this.dropdownExpanded,\n }}\n innerHTML={arrowDropdown}\n />\n )}\n </TagType>\n );\n };\n\n return (\n <Host\n class={{\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n [`monochrome`]: !!this.monochrome,\n [\"ic-button-disabled\"]: !!this.disabled && !this.loading,\n [`ic-button-variant-${this.variant}`]: true,\n [`ic-button-size-${this.size}`]: true,\n [\"ic-button-loading\"]: !!this.loading,\n [\"ic-button-full-width\"]: !!this.fullWidth,\n [\"with-badge\"]: isSlotUsed(this.el, \"badge\"),\n [\"dropdown-no-icon\"]:\n !!this.dropdown &&\n !isSlotUsed(this.el, \"icon\") &&\n !isSlotUsed(this.el, \"left-icon\"),\n [\"top-icon\"]: isSlotUsed(this.el, \"top-icon\"),\n [\"background\"]:\n this.variant === \"secondary\" &&\n !this.transparentBackground &&\n this.theme === \"light\",\n }}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n aria-owns={this.ariaOwnsId}\n aria-controls={this.ariaControlsId}\n aria-expanded={this.dropdown && `${this.dropdownExpanded}`}\n >\n {this.hasTooltip && (\n <ic-tooltip\n id={describedby || undefined}\n label={title || ariaLabel}\n target={buttonId || undefined}\n placement={this.tooltipPlacement}\n silent={this.isIconVariant() && !!ariaLabel}\n >\n {this.hasRouterSlot() ? (\n <slot name=\"router-item\"></slot>\n ) : (\n <ButtonContent />\n )}\n </ic-tooltip>\n )}\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n {!this.hasTooltip &&\n (this.hasRouterSlot() ? (\n <slot name=\"router-item\"></slot>\n ) : (\n <ButtonContent />\n ))}\n {this.describedByContent && (\n <span id={describedby || undefined} 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-loading-indicator-inner-color);\n --outer-color: var(--ic-loading-indicator-outer-color);\n --label-color: var(--ic-loading-indicator-label-color);\n --margin: none;\n --linear-line-height: var(--ic-space-xs);\n}\n\n:host(.ic-loading-indicator-monochrome) {\n --inner-color: var(--ic-loading-indicator-inner-color-monochrome);\n --outer-color: var(--ic-loading-indicator-outer-color-monochrome);\n --label-color: var(--ic-loading-indicator-label-color-monochrome);\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=\"medium\"]) {\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(.ic-loading-indicator-label) {\n --margin: 0 0 var(--ic-space-xs) 0;\n}\n\n.ic-loading-label {\n --ic-typography-color: var(--label-color);\n\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(.ic-loading-indicator-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(--compact-step-outer-color, 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 height: 100%;\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/** ic-stepper **/\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\n --ic-typography-color: var(\n --ic-step-indicator-text-current,\n var(--ic-status-info-default)\n );\n}\n\n:host(.not-required.compact-step-progress-indicator) .inner-text {\n --ic-typography-color: var(--ic-step-indicator-text-disabled);\n}\n\n:host(.ic-loading-indicator-light.not-required.compact-step-progress-indicator)\n .inner-text {\n --ic-typography-color: var(--ic-architectural-400);\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-border-hc);\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 { IcThemeMode, IcTypographyVariants } 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 | null;\n private innerElement?: HTMLDivElement;\n private interval: ReturnType<typeof setInterval>;\n private labelList: string[];\n private outerElement?: HTMLDivElement;\n\n @Element() el: HTMLIcLoadingIndicatorElement;\n\n @State() circularDiameter: number;\n @State() circularLineWidth: number;\n @State() indeterminate: boolean;\n @State() indicatorLabel: string;\n @State() clipInnerElement: boolean = false;\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 * If `true`, the element will display as black and white.\n */\n @Prop() monochrome?: boolean = false;\n\n /**\n * The size of the loading indicator.\n */\n @Prop({ reflect: true }) size?: IcLoadingSizes = \"medium\";\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 supplying an array of messages.\n */\n @Prop() label?: string | 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 /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n disconnectedCallback(): void {\n clearInterval(this.interval);\n }\n\n componentWillLoad(): void {\n this.indeterminate = this.progress === undefined;\n this.updateLabel();\n this.el.setAttribute(\"exportparts\", \"ic-loading-container\");\n }\n\n componentDidLoad(): void {\n if (this.type === \"circular\") {\n this.setCircleLineWidth();\n this.circularMeter = this.el.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 && this.circularMeter) {\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 = (): IcTypographyVariants => {\n let variant: \"label\" | \"h4\" | \"h2\" = \"h4\";\n const width = this.outerElement?.offsetWidth;\n if (\n this.size === \"small\" ||\n (width && this.type === \"circular\" && width < 60)\n ) {\n variant = \"label\";\n } else if (\n this.size === \"large\" ||\n (width && 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 compactStepCircularLineWidth = this.el.classList.contains(\n \"compact-step-progress-indicator\"\n )\n ? 40\n : 0;\n const toastDismissTimerCircularLineWidth = this.el.classList.contains(\n \"toast-dismiss-timer\"\n )\n ? 20\n : 0;\n\n if (this.outerElement) {\n const { offsetWidth: width } = this.outerElement;\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\n private setLinearDeterminateWidth = () => {\n const max = this.max!;\n const min = this.min!;\n\n if (!this.innerElement) return;\n // Ensure progress cannot be out of bounds\n\n if (this.progress) {\n const progress = Math.min(max, Math.max(min, this.progress));\n const proportion = (progress - min) / (max - min);\n this.clipInnerElement = proportion > 0.5;\n if (this.clipInnerElement) {\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\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 if (typeof this.label === \"string\") {\n this.indicatorLabel = this.label;\n } else {\n this.labelList = this.label;\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\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\n if (this.circularMeter) {\n this.circularMeter.style.setProperty(\n \"--stroke-dasharray\",\n `${dashArray}px`\n );\n\n if (!this.indeterminate && this.progress) {\n const min = this.min!;\n const max = this.max!;\n const progress = Math.min(Math.max(this.progress, min), max);\n const proportion = -1 - (progress - min) / (max - min);\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\n render() {\n const {\n theme,\n label,\n description,\n size,\n fullWidth,\n innerLabel,\n monochrome,\n } = this;\n const { x, y, r } = this.setCircleXY();\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n \"ic-loading-indicator-label\": !!label,\n \"ic-loading-indicator-full-width\": !!fullWidth,\n \"inner-label\": !!innerLabel,\n \"ic-loading-indicator-monochrome\": !!monochrome,\n }}\n >\n <div class=\"ic-loading-container\" part=\"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) {\n width: max-content;\n height: max-content;\n\n --ic-tooltip-background: var(--ic-color-background-primary-dark);\n --ic-tooltip-text: var(--ic-color-text-primary-dark);\n --ic-tooltip-border: var(--ic-color-border-neutral-grey-light);\n}\n\n:host(.ic-tooltip) .ic-tooltip-container {\n background-color: var(--ic-tooltip-background);\n text-align: center;\n padding: var(--ic-space-xxxs) var(--ic-space-xs);\n border-radius: var(--ic-border-radius);\n border: var(--ic-border-width) solid var(--ic-tooltip-border);\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 width: max-content;\n}\n\n:host(.ic-tooltip) ic-typography {\n --ic-typography-color: var(--ic-tooltip-text);\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-border-width) solid var(--ic-tooltip-border);\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 transform: translateX(var(--tooltip-arrow-translate));\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 transform: translateX(var(--tooltip-arrow-translate));\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:host(.on-dialog) .ic-tooltip-container {\n transform: translate(\n var(--tooltip-translate-x),\n var(--tooltip-translate-y)\n ) !important;\n}\n\n@media screen and (max-width: 576px) {\n :host(.ic-tooltip) .ic-tooltip-container {\n max-width: 18.875rem;\n }\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-border-hc);\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n Method,\n State,\n Watch,\n} from \"@stencil/core\";\nimport { Instance, Options, createPopper } from \"@popperjs/core\";\nimport { IcTooltipPlacements } from \"./ic-tooltip.types\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\nimport { IcThemeMode } from \"../../utils/types\";\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 dialogOverflow = false;\n private icDialogEl: HTMLIcDialogElement | null;\n private instantHideEvents = [\"focusout\"];\n private mouseOverTool: boolean = false;\n private persistTooltip = false;\n private popperInstance: Instance;\n private onDialog: boolean = false;\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 @Watch(\"disableClick\")\n watchDisableClickHandler(): void {\n if (this.disableClick) {\n this.hide();\n }\n this.updateTooltipEvents();\n }\n\n /**\n * If `true`, the tooltip will not be displayed on hover, it will require a click.\n */\n @Prop() disableHover?: boolean = false;\n\n @Watch(\"disableHover\")\n watchDisableHoverHandler(): void {\n if (this.disableHover) {\n this.hide();\n }\n this.updateTooltipEvents();\n }\n\n /**\n * The number of lines to display before truncating the text.\n */\n @Prop() maxLines?: number;\n\n /**\n * The position of the tooltip in relation to the parent element.\n */\n @Prop({ mutable: true }) placement?: IcTooltipPlacements = \"bottom\";\n\n /**\n * @internal Sets the tooltip to aria-hidden, when used as part of components that are already announced.\n */\n @Prop() silent?: boolean = false;\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 * Sets the tooltip to the dark or light theme colors. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The text to display on the tooltip.\n */\n @Prop() label!: string;\n\n @State() popperProps: Partial<Options> = {};\n\n /**\n * @internal This method allows props to be added to the PopperJS createPopper instance outside of tooltip\n * @param props object - createPopper props set externally\n */\n @Method()\n async setExternalPopperProps<T extends Partial<Options>>(props: T) {\n this.popperProps = props;\n }\n\n disconnectedCallback(): void {\n this.manageEventListeners(\"remove\");\n if (this.popperInstance !== undefined) {\n this.popperInstance.destroy();\n }\n }\n\n componentDidLoad(): void {\n this.manageEventListeners(\"add\");\n\n this.icDialogEl = this.el.closest(\"ic-dialog\");\n this.dialogOverflow =\n this.icDialogEl?.getAttribute(\"data-overflow\") === \"true\";\n\n this.onDialog = this.icDialogEl !== null;\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tooltip\"\n );\n }\n\n componentDidRender(): void {\n const typographyEl = this.el.shadowRoot?.querySelector(\n \".ic-tooltip-container > ic-typography\"\n );\n this.maxLines &&\n this.maxLines > 0 &&\n typographyEl?.setAttribute(\n \"style\",\n `--truncation-max-lines: ${this.maxLines}`\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.hide();\n }\n\n /**\n * @internal Method to return if tooltip is currently visible.\n */\n @Method()\n async isTooltipVisible(): Promise<boolean> {\n return Promise.resolve(this.toolTip.hasAttribute(\"data-show\"));\n }\n\n private getTooltipTranslate = (dialogEl: DOMRect) => {\n const child = this.el.children[0].getBoundingClientRect();\n let tooltipX;\n let tooltipY;\n switch (this.placement) {\n case \"bottom\":\n tooltipX = child.left - dialogEl.left - 0.5 * child.width;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"bottom-start\":\n tooltipX = child.left - dialogEl.left;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"bottom-end\":\n tooltipX = child.right - dialogEl.right;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"top\":\n tooltipX = child.left - dialogEl.left - 0.5 * child.width;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"top-start\":\n tooltipX = child.left - dialogEl.left;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"top-end\":\n tooltipX = child.right - dialogEl.right;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"left\":\n case \"left-start\":\n tooltipX = child.right - dialogEl.right - child.width;\n tooltipY = child.bottom - dialogEl.top - child.height;\n break;\n case \"left-end\":\n tooltipX = child.right - dialogEl.right - child.width;\n tooltipY = child.top - dialogEl.bottom + child.height;\n break;\n case \"right\":\n case \"right-start\":\n tooltipX = child.left - dialogEl.left + child.width;\n tooltipY = child.bottom - dialogEl.top - child.height;\n break;\n case \"right-end\":\n tooltipX = child.left - dialogEl.left + child.width;\n tooltipY = child.top - dialogEl.bottom + child.height;\n break;\n }\n if (this.dialogOverflow && tooltipX && tooltipX < 0) {\n if (\n this.placement!.includes(\"top\") ||\n this.placement!.includes(\"bottom\")\n ) {\n this.toolTip.style.setProperty(\n \"--tooltip-arrow-translate\",\n `${tooltipX}px`\n );\n tooltipX = child.left - dialogEl.left;\n }\n if (this.placement!.includes(\"left\")) {\n this.placement = \"right\";\n tooltipX = child.left - dialogEl.left + child.width;\n }\n }\n\n this.toolTip.style.setProperty(\"--tooltip-translate-x\", `${tooltipX}px`);\n this.toolTip.style.setProperty(\"--tooltip-translate-y\", `${tooltipY}px`);\n };\n\n private show = () => {\n if (this.label) {\n this.toolTip.setAttribute(\"data-show\", \"\");\n\n if (this.onDialog) {\n this.el.classList.add(\"on-dialog\");\n const dialogEl = this.icDialogEl?.shadowRoot\n ?.querySelector(\"dialog\")\n ?.getBoundingClientRect();\n\n dialogEl && this.getTooltipTranslate(dialogEl);\n }\n\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 ...this.popperProps,\n });\n } else {\n console.warn(`Tooltip can't display without prop 'label' set`);\n }\n };\n\n private hide = () => {\n this.toolTip.removeAttribute(\"data-show\");\n this.persistTooltip = false;\n if (this.popperInstance !== undefined) {\n this.popperInstance.destroy();\n }\n };\n\n private checkCloseTooltip = () => {\n setTimeout(() => {\n if (!this.mouseOverTool && !this.persistTooltip) {\n this.hide();\n }\n }, 100);\n };\n\n private mouseEnterTooltip = () => {\n this.mouseOverTool = true;\n };\n\n private mouseLeaveTooltip = () => {\n this.mouseOverTool = false;\n this.checkCloseTooltip();\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\" && !this.persistTooltip) {\n this.hide();\n }\n };\n\n private manageEventListeners = (action: \"add\" | \"remove\") => {\n const method =\n action === \"add\" ? \"addEventListener\" : \"removeEventListener\";\n\n this.showEvents.forEach((event) => {\n if (event) {\n this.el[method](event, this.show);\n if (this.toolTip !== undefined) {\n this.toolTip[method](event, this.mouseEnterTooltip);\n }\n }\n });\n\n if (!this.persistTooltip) {\n this.instantHideEvents.forEach((event) => {\n this.el[method](event, this.hide);\n });\n }\n\n this.delayedHideEvents.forEach((event) => {\n this.el[method](event, this.checkCloseTooltip);\n if (this.toolTip !== undefined) {\n this.toolTip[method](event, this.mouseLeaveTooltip);\n }\n });\n\n document[method](\"keydown\", this.handleKeyDown as EventListener);\n };\n\n private updateTooltipEvents = () => {\n this.manageEventListeners(\"remove\");\n this.showEvents = [\n !this.disableHover && \"mouseenter\",\n !this.disableHover && \"focusin\",\n !this.disableClick && \"click\",\n ];\n this.manageEventListeners(\"add\");\n };\n\n render() {\n const { label, maxLines, silent, theme } = this;\n return (\n <Host\n class={{\n \"ic-tooltip\": true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div\n ref={(el) => (this.toolTip = el as HTMLDivElement)}\n role=\"tooltip\"\n class=\"ic-tooltip-container\"\n aria-hidden={`${silent}`}\n >\n <ic-typography maxLines={maxLines} variant=\"caption\">\n {label}\n </ic-typography>\n <div\n ref={(el) => (this.arrow = el as HTMLDivElement)}\n class=\"ic-tooltip-arrow\"\n ></div>\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as a,H as i,g as o}from"./p-8e4e97b4.js";import{D as n,g as s,i as r,P as c,e as l,o as d,f as h,b as p,L as b,I as m,d as f}from"./p-281ce313.js";const v='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;color:var(--ic-top-navigation-text);width:100%;position:relative;--ic-typography-color:var(--ic-top-navigation-text);--ic-button-secondary-text-monochrome:var(--ic-brand-text-color);--ic-button-secondary-border-monochrome:var(--ic-brand-text-color);--navigation-link-colour:var(--ic-top-navigation-text)}:host(.dark){color:var(--ic-color-text-primary-light);--ic-typography-color:var(--ic-color-text-primary-light);--ic-top-navigation-logo:var(--ic-color-icon-neutral);--ic-top-navigation-icon:var(--ic-color-icon-neutral);--ic-top-navigation-icon-and-label:var(--ic-color-text-primary-light);--ic-top-navigation-theme:var(--ic-color-icon-neutral);--ic-top-navigation-status-tag:var(--ic-color-background-primary-dark);--ic-top-navigation-status-tag-text:var(--ic-color-brand-text);--ic-top-navigation-status-tag-secondary:var(--ic-state-layer-darken-10);--ic-top-navigation-title-hover:var(--ic-action-dark-bg-hover);--ic-top-navigation-title-pressed:var(--ic-action-dark-bg-pressed);--navigation-link-colour:var(--ic-color-text-primary-light)}:host(.dark) ::slotted(ic-navigation-button){--ic-button-icon-monochrome:var(--ic-color-text-primary-light)}::slotted(ic-navigation-button){--ic-button-icon-monochrome:white}:host .top-navigation{background-color:var(--ic-top-navigation-background);height:-moz-max-content;height:max-content}:host(.fullwidth-searchbar) slot[name="search"]::slotted(form){width:100%}:host .title-link{display:inline-flex;align-items:center;text-decoration:none;padding:var(--ic-space-xxs);transition:var(--ic-easing-transition-fast)}:host .title-link,:host .title-link:visited,:host .title-link:active,:host .title-link ::slotted(a),:host .title-link:visited ::slotted(a),:host .title-link:active ::slotted(a){color:var(--ic-top-navigation-icon-and-label);text-decoration:none;outline:none}:host .title-link:hover:not(:focus){background-color:var(--ic-top-navigation-title-hover)}:host .title-link:active:not(:focus){background-color:var(--ic-top-navigation-title-pressed)}:host .title-link:hover{border-radius:var(--ic-border-radius)}:host .title-link:focus,:host .title-link:focus-within{border-radius:var(--ic-border-radius);box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline)}:host .title-link ic-typography{font-weight:600}:host .nav-panel-container{border-top:var(--ic-space-1px) solid var(--ic-top-navigation-keyline);padding:0 var(--ic-space-lg);margin-left:calc(-1 * var(--section-container-margin));margin-right:calc(-1 * var(--section-container-margin));display:flex}:host(.dark) .nav-panel-container{border-top:var(--ic-border-keyline-darken)}.top-panel-container{display:flex;padding-top:0.5rem;padding-bottom:0.5rem}.navigation-tabs{margin-top:calc(-1 * var(--ic-space-1px))}.app-details-container{display:flex;align-items:center;flex:1 1 auto;margin-right:var(--ic-space-md)}.app-icon-container{display:flex;padding-right:var(--ic-space-xs)}.icon-buttons-container{display:flex;margin-left:var(--ic-space-md)}.icon-buttons-container ::slotted(nav){display:flex}.title-wrap{overflow-wrap:break-word;word-wrap:break-word;-ms-word-break:break-all;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}:host .app-status{border-radius:var(--ic-space-md);background-color:var(--ic-top-navigation-status-tag);color:var(--ic-top-navigation-status-tag-text);--ic-typography-color:var(--ic-top-navigation-status-tag-text);padding:var(--ic-space-xxs) var(--ic-space-lg);margin-left:var(--ic-space-md);flex:1 1 0;max-width:-moz-fit-content;max-width:fit-content}:host .app-version{border-radius:var(--ic-space-md);background-color:var(--ic-top-navigation-status-tag-secondary);color:var(--ic-top-navigation-status-tag);padding:var(--ic-space-xxs) var(--ic-space-sm);margin-left:var(--ic-space-xs);flex:1 1 0;max-width:-moz-fit-content;max-width:fit-content}slot[name="app-icon"]::slotted(*){fill:var(--ic-top-navigation-logo);width:2em;height:2em}slot[name="toggle-icon"] svg{fill:var(--ic-top-navigation-icon)}.search-menu-container{justify-content:right;display:flex;align-items:center}.menu-button-container{margin-left:var(--ic-space-md)}.menu-button-container .navigation-landmark-button-text{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}.menu-button-container .navigation-landmark-button-text:dir(rtl){right:-9999px}.search-actions-container{display:flex}.menu-buttons-slot{display:flex;flex-direction:column}.navigation-landmark-text{position:absolute;width:var(--ic-space-1px);height:var(--ic-space-1px);padding:0;margin:calc(-1 * var(--ic-space-1px));overflow:hidden}.navigation-item-list{display:flex;list-style:none;height:2.75rem}.navigation-item-list::-webkit-scrollbar{display:none}:host ic-section-container{padding-bottom:0 !important;padding-top:0 !important}@media screen and (min-width: 993px){.app-details-container{margin-right:var(--ic-space-lg)}}@media screen and (max-width: 1200px){:host .nav-panel-container{padding:0 var(--ic-space-md)}}:host(.mobile-mode) .app-status,:host(.mobile-mode) .app-version{display:none}:host(.mobile-mode) .title-link{margin-right:var(--ic-space-xs)}:host(.mobile-mode) .search-menu-container{max-width:10rem}:host(.mobile-mode) .search-bar-container{display:flex;justify-content:center;align-items:center;border-top:var(--ic-border-keyline-darken);height:4rem;padding-left:var(--ic-space-md);padding-right:var(--ic-space-md);margin-left:calc(-1 * var(--section-container-margin));margin-right:calc(-1 * var(--section-container-margin))}@media screen and (max-width: 576px){:host .title-link{margin-right:var(--ic-space-xxxs);word-break:break-word;-webkit-hyphens:none;hyphens:none}.top-panel-container{min-height:2.5rem}.search-bar-container{margin-top:0;height:3.5rem;padding-left:var(--ic-space-xs);padding-right:var(--ic-space-xs)}.menu-button-container{margin-left:var(--ic-space-sm)}slot[name="app-icon"]::slotted(*){width:1.5em;height:1.5em}slot[name="toggle-icon"] svg{width:1.5em;height:1.5em}}@media (forced-colors: active){:host .top-navigation{border-bottom:var(--ic-border-hc)}.app-status,.app-version{border:var(--ic-border-hc)}slot[name="app-icon"]::slotted(*){fill:currentcolor}slot[name="toggle-icon"] svg{fill:currentcolor}}';const g=v;const u=class{constructor(a){t(this,a);this.icNavigationMenuClosed=e(this,"icNavigationMenuClosed",7);this.icNavigationMenuOpened=e(this,"icNavigationMenuOpened",7);this.icTopNavResized=e(this,"icTopNavResized",7);this.hasAppIcon=false;this.hasIconButtons=false;this.hasNavigation=false;this.hasSearchSlotContent=false;this.resizeObserver=null;this.searchBar=null;this.deviceSize=n.XL;this.foregroundColor=s();this.hasFullWidthSearchBar=false;this.mobileSearchBarVisible=false;this.mobileSearchHiddenOnBlur=false;this.navMenuVisible=false;this.searchButtonClick=false;this.searchValue="";this.contentAligned="full-width";this.customMobileBreakpoint=n.L;this.href="/";this.inline=false;this.shortAppTitle="";this.status="";this.theme="inherit";this.version="";this.checkSlots=()=>{this.hasAppIcon=r(this.el,"app-icon");this.hasNavigation=r(this.el,"navigation");this.hasIconButtons=r(this.el,"buttons");this.hasSearchSlotContent=r(this.el,"search")};this.initialiseSearchBar=()=>{if(this.hasSearchSlotContent){const t=c(this.el,"search");if((t===null||t===void 0?void 0:t.tagName)==="IC-SEARCH-BAR"){this.searchBar=t}else if((t===null||t===void 0?void 0:t.tagName)==="FORM"){this.searchBar=t.querySelector("ic-search-bar")}if(this.searchBar!==null){this.searchBar.hideLabel=true}}};this.menuButtonClick=()=>{this.showNavMenu(true)};this.searchButtonMouseDownHandler=()=>{this.searchButtonClick=true};this.searchButtonClickHandler=()=>{this.toggleSearchBar();this.searchButtonClick=false};this.resizeObserverCallback=t=>{if(t!==this.deviceSize){this.deviceSize=t;if(t>this.customMobileBreakpoint){this.showNavMenu(false);if(this.mobileSearchBarVisible){this.toggleSearchBar()}}this.icTopNavResized.emit({size:t});if(this.searchBar&&document.activeElement===this.searchBar){this.searchBar.setAttribute("hidden","true");this.searchBar.removeAttribute("hidden");setTimeout((()=>{var t;(t=this.searchBar)===null||t===void 0?void 0:t.focus()}),100)}}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{this.resizeObserverCallback(l())}));this.resizeObserver.observe(this.el)}}watchPropHandler(t,e){d(e,t,this.initialiseSearchBar)}disconnectedCallback(){var t;(t=this.resizeObserver)===null||t===void 0?void 0:t.disconnect()}componentWillLoad(){this.checkSlots();this.deviceSize=l();this.initialiseSearchBar()}componentDidLoad(){h(this.runResizeObserver);!r(this.el,"app-title")&&p([{prop:this.appTitle,propName:"app-title"}],"Top Navigation")}componentWillRender(){this.checkSlots()}navBarMenuCloseHandler(){var t,e;this.showNavMenu(false);(e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector("#menu-button"))===null||e===void 0?void 0:e.focus()}searchInputBlurHandler({detail:t}){if(t!==null){if(this.mobileSearchBarVisible&&!this.searchButtonClick){this.toggleSearchBar()}this.searchValue=t.value}}searchValueChangeHandler({detail:t}){this.searchValue=t.value}brandChangeHandler({detail:t}){this.foregroundColor=t.mode}toggleSearchBar(){var t;this.mobileSearchBarVisible=!this.mobileSearchBarVisible;if(this.searchBar!==null){(t=this.mobileSearchButtonEl)===null||t===void 0?void 0:t.setAttribute("aria-label",`${this.mobileSearchBarVisible?"Hide":"Show"} search`);this.hasFullWidthSearchBar=this.mobileSearchBarVisible;this.searchBar.fullWidth=this.mobileSearchBarVisible;if(this.mobileSearchBarVisible){setTimeout((()=>{var t;(t=this.searchBar)===null||t===void 0?void 0:t.focus()}),100)}}}showNavMenu(t){this.navMenuVisible=t;(t?this.icNavigationMenuOpened:this.icNavigationMenuClosed).emit();document.body.style.height=t?"100%":"auto";document.body.style.overflow=t?"hidden":"auto"}render(){const{appTitle:t,contentAligned:e,customMobileBreakpoint:o,deviceSize:s,el:c,foregroundColor:l,hasAppIcon:d,hasFullWidthSearchBar:h,hasIconButtons:p,hasNavigation:v,hasSearchSlotContent:g,href:u,inline:y,menuButtonClick:k,mobileSearchBarVisible:x,navMenuVisible:w,searchButtonClickHandler:z,searchButtonMouseDownHandler:H,shortAppTitle:M,status:C,version:B,theme:S}=this;const T=C!=="";const j=B!=="";const N=v||p||T||j;const $=s<=n.S?"medium":"large";const I=t!==""&&f(t);const R=s<=o;const V=R?s<=n.S?"subtitle-small":"h4":"h3";const A=`${x?"Hide":"Show"} search`;const L=s<=n.S?"small":"medium";const O=r(c,"short-app-title");const D=r(c,"app-title");const P=D?"div":"a";const W=P=="a"&&{href:u};return a(i,{key:"5c5bfc3ad297f7bd59b148652ccc478b896b6008",class:{"fullwidth-searchbar":h,"mobile-mode":R,[m.Dark]:l===m.Dark,[`ic-theme-${S}`]:S!=="inherit"}},a("div",{key:"7b20f493f5738050c11ad8447113b7322f46c3c4",class:"top-navigation"},a("ic-section-container",{key:"abce0c4c81da4ed68094058d623e8ed954224fa0",aligned:e,"full-height":true},a("header",{key:"30860fda7f50065dd28399e6630836a6ca66f9fa",role:"banner"},a("div",{key:"6341b2155fc652ae76ea2266612fa56add3b2a87",class:"top-panel-container"},a("div",{key:"70b84e9110139cdc1bccdc5fc79c60983966e7e2",class:"app-details-container"},(I||D)&&a(P,Object.assign({key:"b54b79365cfd322a778aa1de952eda4daee04520",class:"title-link"},W),d&&a("div",{key:"a390fa98b041b07a02a33cb787a0902ed369effa",class:"app-icon-container"},a("slot",{key:"c33e9295f6d196d8823b59f4def9779dbf8be3d9",name:"app-icon"})),s<=n.S&&(!b(M)||O)?a("ic-typography",{variant:"subtitle-small","aria-label":(!D||!O)&&`${t} (${M})`},a("h1",null,O?a("slot",{name:"short-app-title"}):M)):a("ic-typography",{variant:V},a("h1",{class:"title-wrap"},D?a("slot",{name:"app-title"}):t))),T&&a("div",{key:"f240cb39a4c6456695745f676d263fd5fc7c5b8c",class:"app-status"},a("ic-typography",{key:"f8ae131fb476805ec7e1cfe88c4fba9c7a436c10","aria-label":"app tag",variant:"label-uppercase",class:"app-status-text"},C)),j&&a("div",{key:"1cdf5652e0b56c70162a884f45e648fce2093ea5",class:"app-version"},a("ic-typography",{key:"2444bbf26e72433f1bd1cd4c3986de8cadea85b6",variant:"label",class:"app-version-text","aria-label":"app version"},B))),(g||N)&&a("div",{key:"54fac6a943b3701376fc3f7a308f2b6c586aa636",class:"search-menu-container"},a("div",{key:"5ef5f824b967f0b7f8802d2fdbd77056ae8f1129",class:"search-actions-container"},!R&&a("slot",{key:"16551964dd909010294a0e6a59763f95a5d0f728",name:"search"}),g&&R&&a("ic-button",{key:"c8a339bdb6389bd43e973c20707a13f7fa0a4e1e",id:"search-toggle-button",ref:t=>this.mobileSearchButtonEl=t,onMouseDown:H,variant:"icon-tertiary",monochrome:true,size:$,"aria-label":A,theme:l,onClick:z},a("slot",{key:"66f8326868c0cb23cd989df5de784f2eb2630319",name:"toggle-icon"},a("svg",{key:"2c4e0354d201371de737a0d3c72455e543b3205a",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"#ffffff"},a("path",{key:"e1adbe066080455b1b801c711b025318dab908eb",d:"M0 0h24v24H0V0z",fill:"none"}),a("path",{key:"dadeb94826ed263b91566b46cc753748351db453",d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z"})))),p&&!R&&a("div",{key:"36eedc891ad8653ffa1a812306e60f76c8e82ed8",class:"icon-buttons-container"},a("slot",{key:"1061472fc71131df7541a0654e4096ff39ad5e3d",name:"buttons"})),N&&R&&a("div",{key:"1b7503905b2528ca36e3f57b58c9e08958e1ab60",class:"menu-button-container"},a("span",{key:"93d4150b9660243082f5d1ebb40fe33450d7785b",id:"navigation-landmark-button-text",class:"navigation-landmark-button-text","aria-hidden":"true"},"Main navigation button"),a("nav",{key:"a356ce42d0d4865dfce33a49d768c73dcd824e3c","aria-labelledby":"navigation-landmark-button-text","aria-hidden":`${w}`},a("ic-button",{key:"d2f0fe6637e181fcfd2dbb5c33de93cdd2a1fb32",id:"menu-button",theme:l,variant:"secondary",monochrome:true,"aria-expanded":"false","aria-haspopup":"true","aria-label":`Open ${v?"navigation":"app"} menu`,size:L,onClick:k},"Menu",a("svg",{key:"cd8e405c4cd82075ec2f8b192f01a5f268ffd520",xmlns:"http://www.w3.org/2000/svg",height:"24px",viewBox:"0 0 24 24",width:"24px",fill:"#ffffff",slot:"left-icon"},a("path",{key:"1a91d6099a80507845ae6165931b457dcc416d6a",d:"M0 0h24v24H0V0z",fill:"none"}),a("path",{key:"87dc16c578d8c379a00766769dd0959a70855166",d:"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z"})))))))),x&&a("div",{key:"088982083ccb21a658b8ba378e532f280d6d563a",class:"search-bar-container"},a("slot",{key:"ad3e3c4c632d3e5431bcf6ebe954c45d3c7e6233",name:"search"})),v&&!R&&a("div",{key:"6aeb6f3e8bb5d1474c2c7ede10c49d44cec31545",class:"navigation-tabs"},a("span",{key:"8a965acd6056d216c9da63173012250fa72be222",id:"navigation-landmark-text",class:"navigation-landmark-text","aria-hidden":"true"},"Main pages"),a("nav",{key:"7b36045fbc1efc8d0f471a67cb8bccb6cdb7ca62","aria-labelledby":"navigation-landmark-text",class:"nav-panel-container"},a("ic-horizontal-scroll",{key:"ac328ac5ddd86614f3d727ddc236cbf6dee019b9",monochrome:true,appearance:l},a("ul",{key:"7324ed8f489a813b706e18e7db14d8f8201ee4fe",class:"navigation-item-list",tabindex:"-1"},a("slot",{key:"7266abcda953294233cc4c4525ba5c47f61a95bb",name:"navigation"})))))))),w&&a("ic-navigation-menu",{key:"0fff5404ab1ec895f011dc1643d0d2b51b5eac33",version:B,status:C,class:{["inline"]:!!y}},p&&a("div",{key:"a7b45891338fb80858cead62559e1de75505ec96",class:"menu-buttons-slot",slot:"buttons"},a("slot",{key:"09d6e44a68a6368ae5388a6101aedd75fcbecb2a",name:"buttons"})),a("ul",{key:"ff2e7168dacb64ede053528ce21c1211de506fd7",slot:"navigation"},a("slot",{key:"218681289b2170fd04553d1e4b8da7f1ae72b448",name:"navigation"}))))}get el(){return o(this)}static get watchers(){return{appTitle:["watchPropHandler"]}}};u.style=g;export{u as ic_top_navigation};
2
- //# sourceMappingURL=p-950db960.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icTopNavigationCss","IcTopNavigationStyle0","TopNavigation","constructor","hostRef","this","hasAppIcon","hasIconButtons","hasNavigation","hasSearchSlotContent","resizeObserver","searchBar","deviceSize","DEVICE_SIZES","XL","foregroundColor","getBrandForegroundAppearance","hasFullWidthSearchBar","mobileSearchBarVisible","mobileSearchHiddenOnBlur","navMenuVisible","searchButtonClick","searchValue","contentAligned","customMobileBreakpoint","L","href","inline","shortAppTitle","status","theme","version","checkSlots","isSlotUsed","el","initialiseSearchBar","slot","getSlot","tagName","querySelector","hideLabel","menuButtonClick","showNavMenu","searchButtonMouseDownHandler","searchButtonClickHandler","toggleSearchBar","resizeObserverCallback","currSize","icTopNavResized","emit","size","document","activeElement","setAttribute","removeAttribute","setTimeout","_a","focus","runResizeObserver","ResizeObserver","getCurrentDeviceSize","observe","watchPropHandler","newValue","oldValue","onComponentPropUndefinedChange","disconnectedCallback","disconnect","componentWillLoad","componentDidLoad","checkResizeObserver","onComponentRequiredPropUndefined","prop","appTitle","propName","componentWillRender","navBarMenuCloseHandler","_b","shadowRoot","searchInputBlurHandler","detail","value","searchValueChangeHandler","brandChangeHandler","mode","mobileSearchButtonEl","fullWidth","show","icNavigationMenuOpened","icNavigationMenuClosed","body","style","height","overflow","render","hasStatus","hasVersion","hasMenuContent","searchButtonSize","S","hasTitle","isPropDefined","overMobileBreakpoint","appTitleVariant","mobileSearchButtonTitle","menuSize","shortAppTitleSlot","hasAppTitleSlot","Component","attrs","h","Host","key","class","IcBrandForegroundEnum","Dark","aligned","role","Object","assign","name","isEmptyString","variant","id","ref","onMouseDown","monochrome","onClick","xmlns","viewBox","fill","d","width","appearance","tabindex"],"sources":["src/components/ic-top-navigation/ic-top-navigation.css?tag=ic-top-navigation&encapsulation=shadow","src/components/ic-top-navigation/ic-top-navigation.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n color: var(--ic-top-navigation-text);\n width: 100%;\n position: relative;\n\n --ic-typography-color: var(--ic-top-navigation-text);\n --ic-button-secondary-text-monochrome: var(--ic-brand-text-color);\n --ic-button-secondary-border-monochrome: var(--ic-brand-text-color);\n --navigation-link-colour: var(--ic-top-navigation-text);\n}\n\n:host(.dark) {\n color: var(--ic-color-text-primary-light);\n\n --ic-typography-color: var(--ic-color-text-primary-light);\n --ic-top-navigation-logo: var(--ic-color-icon-neutral);\n --ic-top-navigation-icon: var(--ic-color-icon-neutral);\n --ic-top-navigation-icon-and-label: var(--ic-color-text-primary-light);\n --ic-top-navigation-theme: var(--ic-color-icon-neutral);\n --ic-top-navigation-status-tag: var(--ic-color-background-primary-dark);\n --ic-top-navigation-status-tag-text: var(--ic-color-brand-text);\n --ic-top-navigation-status-tag-secondary: var(--ic-state-layer-darken-10);\n --ic-top-navigation-title-hover: var(--ic-action-dark-bg-hover);\n --ic-top-navigation-title-pressed: var(--ic-action-dark-bg-pressed);\n --navigation-link-colour: var(--ic-color-text-primary-light);\n}\n\n:host(.dark) ::slotted(ic-navigation-button) {\n --ic-button-icon-monochrome: var(--ic-color-text-primary-light);\n}\n\n::slotted(ic-navigation-button) {\n --ic-button-icon-monochrome: white;\n}\n\n:host .top-navigation {\n background-color: var(--ic-top-navigation-background);\n height: max-content;\n}\n\n:host(.fullwidth-searchbar) slot[name=\"search\"]::slotted(form) {\n width: 100%;\n}\n\n:host .title-link {\n display: inline-flex;\n align-items: center;\n text-decoration: none;\n padding: var(--ic-space-xxs);\n transition: var(--ic-easing-transition-fast);\n}\n\n:host .title-link,\n:host .title-link:visited,\n:host .title-link:active,\n:host .title-link ::slotted(a),\n:host .title-link:visited ::slotted(a),\n:host .title-link:active ::slotted(a) {\n color: var(--ic-top-navigation-icon-and-label);\n text-decoration: none;\n outline: none;\n}\n\n:host .title-link:hover:not(:focus) {\n background-color: var(--ic-top-navigation-title-hover);\n}\n\n:host .title-link:active:not(:focus) {\n background-color: var(--ic-top-navigation-title-pressed);\n}\n\n:host .title-link:hover {\n border-radius: var(--ic-border-radius);\n}\n\n:host .title-link:focus,\n:host .title-link:focus-within {\n border-radius: var(--ic-border-radius);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n}\n\n:host .title-link ic-typography {\n font-weight: 600;\n}\n\n:host .nav-panel-container {\n border-top: var(--ic-space-1px) solid var(--ic-top-navigation-keyline);\n padding: 0 var(--ic-space-lg);\n margin-left: calc(-1 * var(--section-container-margin));\n margin-right: calc(-1 * var(--section-container-margin));\n display: flex;\n}\n\n:host(.dark) .nav-panel-container {\n border-top: var(--ic-border-keyline-darken);\n}\n\n.top-panel-container {\n display: flex;\n padding-top: 0.5rem;\n padding-bottom: 0.5rem;\n}\n\n.navigation-tabs {\n margin-top: calc(-1 * var(--ic-space-1px));\n}\n\n.app-details-container {\n display: flex;\n align-items: center;\n flex: 1 1 auto;\n margin-right: var(--ic-space-md);\n}\n\n.app-icon-container {\n display: flex;\n padding-right: var(--ic-space-xs);\n}\n\n.icon-buttons-container {\n display: flex;\n margin-left: var(--ic-space-md);\n}\n\n.icon-buttons-container ::slotted(nav) {\n display: flex;\n}\n\n.title-wrap {\n overflow-wrap: break-word;\n word-wrap: break-word;\n -ms-word-break: break-all;\n word-break: break-word;\n hyphens: auto;\n}\n\n:host .app-status {\n border-radius: var(--ic-space-md);\n background-color: var(--ic-top-navigation-status-tag);\n color: var(--ic-top-navigation-status-tag-text);\n\n --ic-typography-color: var(--ic-top-navigation-status-tag-text);\n\n padding: var(--ic-space-xxs) var(--ic-space-lg);\n margin-left: var(--ic-space-md);\n flex: 1 1 0;\n max-width: fit-content;\n}\n\n:host .app-version {\n border-radius: var(--ic-space-md);\n background-color: var(--ic-top-navigation-status-tag-secondary);\n color: var(--ic-top-navigation-status-tag);\n padding: var(--ic-space-xxs) var(--ic-space-sm);\n margin-left: var(--ic-space-xs);\n flex: 1 1 0;\n max-width: fit-content;\n}\n\nslot[name=\"app-icon\"]::slotted(*) {\n fill: var(--ic-top-navigation-logo);\n width: 2em;\n height: 2em;\n}\n\nslot[name=\"toggle-icon\"] svg {\n fill: var(--ic-top-navigation-icon);\n}\n\n.search-menu-container {\n justify-content: right;\n display: flex;\n align-items: center;\n}\n\n.menu-button-container {\n margin-left: var(--ic-space-md);\n}\n\n.menu-button-container .navigation-landmark-button-text {\n position: absolute;\n left: -9999px;\n top: auto;\n width: 1px;\n height: 1px;\n overflow: hidden;\n}\n\n.menu-button-container .navigation-landmark-button-text:dir(rtl) {\n right: -9999px;\n}\n\n.search-actions-container {\n display: flex;\n}\n\n.menu-buttons-slot {\n display: flex;\n flex-direction: column;\n}\n\n.navigation-landmark-text {\n position: absolute;\n width: var(--ic-space-1px);\n height: var(--ic-space-1px);\n padding: 0;\n margin: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n}\n\n.navigation-item-list {\n display: flex;\n list-style: none;\n height: 2.75rem;\n}\n\n.navigation-item-list::-webkit-scrollbar {\n display: none;\n}\n\n:host ic-section-container {\n padding-bottom: 0 !important;\n padding-top: 0 !important;\n}\n\n@media screen and (min-width: 993px) {\n .app-details-container {\n margin-right: var(--ic-space-lg);\n }\n}\n\n/* large */\n@media screen and (max-width: 1200px) {\n :host .nav-panel-container {\n padding: 0 var(--ic-space-md);\n }\n}\n\n/** Mobile styling **/\n:host(.mobile-mode) .app-status,\n:host(.mobile-mode) .app-version {\n display: none;\n}\n\n:host(.mobile-mode) .title-link {\n margin-right: var(--ic-space-xs);\n}\n\n:host(.mobile-mode) .search-menu-container {\n max-width: 10rem;\n}\n\n:host(.mobile-mode) .search-bar-container {\n display: flex;\n justify-content: center;\n align-items: center;\n border-top: var(--ic-border-keyline-darken);\n height: 4rem;\n padding-left: var(--ic-space-md);\n padding-right: var(--ic-space-md);\n margin-left: calc(-1 * var(--section-container-margin));\n margin-right: calc(-1 * var(--section-container-margin));\n}\n\n/* x small */\n@media screen and (max-width: 576px) {\n :host .title-link {\n margin-right: var(--ic-space-xxxs);\n word-break: break-word;\n hyphens: none;\n }\n\n .top-panel-container {\n min-height: 2.5rem;\n }\n\n .search-bar-container {\n margin-top: 0;\n height: 3.5rem;\n padding-left: var(--ic-space-xs);\n padding-right: var(--ic-space-xs);\n }\n\n .menu-button-container {\n margin-left: var(--ic-space-sm);\n }\n\n slot[name=\"app-icon\"]::slotted(*) {\n width: 1.5em;\n height: 1.5em;\n }\n\n slot[name=\"toggle-icon\"] svg {\n width: 1.5em;\n height: 1.5em;\n }\n}\n\n@media (forced-colors: active) {\n :host .top-navigation {\n border-bottom: var(--ic-border-hc);\n }\n\n .app-status,\n .app-version {\n border: var(--ic-border-hc);\n }\n\n slot[name=\"app-icon\"]::slotted(*) {\n fill: currentcolor;\n }\n\n slot[name=\"toggle-icon\"] svg {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n State,\n Listen,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\n\nimport {\n IcTypographyVariants,\n IcAlignment,\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcBrand,\n IcDeviceSizes,\n IcValueEventDetail,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n checkResizeObserver,\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getBrandForegroundAppearance,\n getSlot,\n onComponentPropUndefinedChange,\n onComponentRequiredPropUndefined,\n isSlotUsed,\n isEmptyString,\n isPropDefined,\n} from \"../../utils/helpers\";\nimport { IcSearchBarBlurEventDetail } from \"../ic-search-bar/ic-search-bar.types\";\n\n/**\n * @slot app-icon - Content will be rendered to left of app title. Anything that is slotted here will be hidden from screen readers.\n * @slot app-title - Handle routing by nesting a route in the app title.\n * @slot short-app-title - Handle routing by nesting a route in the short app title (to be displayed in place of app title on small screen sizes).\n * @slot search - Content will be rendered in search area to left of buttons.\n * @slot toggle-icon - Icon to be displayed on the button to toggle search slot content on smaller devices\n * @slot navigation - Content will be rendered in navigation panel.\n * @slot buttons - Content will be rendered to right of search bar.\n */\n@Component({\n tag: \"ic-top-navigation\",\n styleUrl: \"ic-top-navigation.css\",\n shadow: true,\n})\nexport class TopNavigation {\n private hasAppIcon: boolean = false;\n private hasIconButtons: boolean = false;\n private hasNavigation: boolean = false;\n private hasSearchSlotContent: boolean = false;\n private mobileSearchButtonEl?: HTMLIcButtonElement;\n private resizeObserver: ResizeObserver | null = null;\n private searchBar: HTMLIcSearchBarElement | null = null;\n\n @Element() el: HTMLIcTopNavigationElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() foregroundColor: IcBrandForeground = getBrandForegroundAppearance();\n @State() hasFullWidthSearchBar: boolean = false;\n @State() mobileSearchBarVisible: boolean = false;\n @State() mobileSearchHiddenOnBlur: boolean = false;\n @State() navMenuVisible: boolean = false;\n @State() searchButtonClick: boolean = false;\n @State() searchValue: string = \"\";\n\n /**\n * The alignment of the top navigation content.\n */\n @Prop() contentAligned?: IcAlignment = \"full-width\";\n /**\n * Can set a custom breakpoint for the top navigation to switch to mobile mode.\n * Must be one of our specified breakpoints in px: `0`, `576`, `768`, `992`, `1200`.\n */\n @Prop() customMobileBreakpoint?: IcDeviceSizes = DEVICE_SIZES.L;\n /**\n * The URL to navigate to when the app title is clicked.\n */\n @Prop() href?: string = \"/\";\n\n /**\n * If `true`, the flyout navigation menu on small devices will be contained by the parent element.\n */\n @Prop() inline?: boolean = false;\n\n /**\n * The short title of the app to be displayed at small screen sizes in place of the app title.\n */\n @Prop() shortAppTitle?: string = \"\";\n\n /**\n * The status info to be displayed.\n */\n @Prop() status?: string = \"\";\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The version info to be displayed.\n */\n @Prop() version?: string = \"\";\n\n /**\n * The app title to be displayed. This is required, unless a slotted app title link is used.\n */\n @Prop() appTitle?: string;\n\n @Watch(\"appTitle\")\n watchPropHandler(newValue: string, oldValue: string): void {\n //added for Gatsby rehydration issue where prop is initially undefined but then changes to actual value\n //this watch can be removed once Gatsby hydration issue is resolved\n onComponentPropUndefinedChange(\n oldValue,\n newValue,\n this.initialiseSearchBar\n );\n }\n\n /**\n * @internal - Emitted when the menu is closed.\n */\n @Event() icNavigationMenuClosed: EventEmitter<void>;\n\n /**\n * @internal - Emitted when the menu is opened.\n */\n @Event() icNavigationMenuOpened: EventEmitter<void>;\n\n /**\n * Emitted when the top navigation is resized.\n */\n @Event() icTopNavResized: EventEmitter<{ size: number }>;\n\n disconnectedCallback(): void {\n this.resizeObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.checkSlots();\n this.deviceSize = getCurrentDeviceSize();\n this.initialiseSearchBar();\n }\n\n componentDidLoad(): void {\n checkResizeObserver(this.runResizeObserver);\n !isSlotUsed(this.el, \"app-title\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.appTitle, propName: \"app-title\" }],\n \"Top Navigation\"\n );\n }\n\n componentWillRender(): void {\n this.checkSlots();\n }\n\n @Listen(\"icNavigationMenuClose\", {})\n navBarMenuCloseHandler(): void {\n this.showNavMenu(false);\n this.el.shadowRoot?.querySelector<HTMLElement>(\"#menu-button\")?.focus();\n }\n\n @Listen(\"icSearchBarBlur\", {})\n searchInputBlurHandler({\n detail,\n }: CustomEvent<IcSearchBarBlurEventDetail>): void {\n if (detail !== null) {\n if (this.mobileSearchBarVisible && !this.searchButtonClick) {\n //don't hide if blur was triggered by click on search button - let the click handler toggle the state\n this.toggleSearchBar();\n }\n this.searchValue = detail.value as string;\n }\n }\n\n @Listen(\"icChange\", {})\n searchValueChangeHandler({ detail }: CustomEvent<IcValueEventDetail>): void {\n this.searchValue = detail.value as string;\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler({ detail }: CustomEvent<IcBrand>): void {\n this.foregroundColor = detail.mode;\n }\n\n private checkSlots = () => {\n this.hasAppIcon = isSlotUsed(this.el, \"app-icon\");\n this.hasNavigation = isSlotUsed(this.el, \"navigation\");\n this.hasIconButtons = isSlotUsed(this.el, \"buttons\");\n this.hasSearchSlotContent = isSlotUsed(this.el, \"search\");\n };\n\n private initialiseSearchBar = () => {\n if (this.hasSearchSlotContent) {\n const slot = getSlot(this.el, \"search\");\n if (slot?.tagName === \"IC-SEARCH-BAR\") {\n this.searchBar = slot as HTMLIcSearchBarElement;\n } else if (slot?.tagName === \"FORM\") {\n this.searchBar = slot.querySelector(\"ic-search-bar\");\n }\n\n if (this.searchBar !== null) {\n this.searchBar.hideLabel = true;\n }\n }\n };\n\n private toggleSearchBar(): void {\n this.mobileSearchBarVisible = !this.mobileSearchBarVisible;\n\n if (this.searchBar !== null) {\n this.mobileSearchButtonEl?.setAttribute(\n \"aria-label\",\n `${this.mobileSearchBarVisible ? \"Hide\" : \"Show\"} search`\n );\n this.hasFullWidthSearchBar = this.mobileSearchBarVisible;\n this.searchBar.fullWidth = this.mobileSearchBarVisible;\n if (this.mobileSearchBarVisible) {\n setTimeout(() => {\n this.searchBar?.focus();\n }, 100);\n }\n }\n }\n\n private menuButtonClick = () => {\n this.showNavMenu(true);\n };\n\n private showNavMenu(show: boolean): void {\n this.navMenuVisible = show;\n (show ? this.icNavigationMenuOpened : this.icNavigationMenuClosed).emit();\n document.body.style.height = show ? \"100%\" : \"auto\";\n document.body.style.overflow = show ? \"hidden\" : \"auto\";\n }\n\n private searchButtonMouseDownHandler = () => {\n this.searchButtonClick = true;\n };\n\n private searchButtonClickHandler = () => {\n this.toggleSearchBar();\n this.searchButtonClick = false;\n };\n\n private resizeObserverCallback = (currSize: number) => {\n if (currSize !== this.deviceSize) {\n this.deviceSize = currSize;\n if (currSize > this.customMobileBreakpoint!) {\n this.showNavMenu(false);\n if (this.mobileSearchBarVisible) {\n this.toggleSearchBar();\n }\n }\n this.icTopNavResized.emit({\n size: currSize,\n });\n if (this.searchBar && document.activeElement === this.searchBar) {\n this.searchBar.setAttribute(\"hidden\", \"true\");\n //remove attribute again as this trigger a redraw & applies css\n this.searchBar.removeAttribute(\"hidden\");\n setTimeout(() => {\n this.searchBar?.focus();\n }, 100);\n }\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback(getCurrentDeviceSize());\n });\n\n this.resizeObserver.observe(this.el);\n };\n\n render() {\n const {\n appTitle,\n contentAligned,\n customMobileBreakpoint,\n deviceSize,\n el,\n foregroundColor,\n hasAppIcon,\n hasFullWidthSearchBar,\n hasIconButtons,\n hasNavigation,\n hasSearchSlotContent,\n href,\n inline,\n menuButtonClick,\n mobileSearchBarVisible,\n navMenuVisible,\n searchButtonClickHandler,\n searchButtonMouseDownHandler,\n shortAppTitle,\n status,\n version,\n theme,\n } = this;\n\n const hasStatus = status !== \"\";\n const hasVersion = version !== \"\";\n const hasMenuContent =\n hasNavigation || hasIconButtons || hasStatus || hasVersion;\n\n const searchButtonSize = deviceSize <= DEVICE_SIZES.S ? \"medium\" : \"large\";\n const hasTitle = appTitle !== \"\" && isPropDefined(appTitle);\n const overMobileBreakpoint = deviceSize <= customMobileBreakpoint!;\n\n const appTitleVariant: IcTypographyVariants = overMobileBreakpoint\n ? deviceSize <= DEVICE_SIZES.S\n ? \"subtitle-small\"\n : \"h4\"\n : \"h3\";\n\n const mobileSearchButtonTitle = `${\n mobileSearchBarVisible ? \"Hide\" : \"Show\"\n } search`;\n const menuSize = deviceSize <= DEVICE_SIZES.S ? \"small\" : \"medium\";\n\n const shortAppTitleSlot = isSlotUsed(el, \"short-app-title\");\n const hasAppTitleSlot = isSlotUsed(el, \"app-title\");\n const Component = hasAppTitleSlot ? \"div\" : \"a\";\n const attrs = Component == \"a\" && {\n href: href,\n };\n\n return (\n <Host\n class={{\n \"fullwidth-searchbar\": hasFullWidthSearchBar,\n \"mobile-mode\": overMobileBreakpoint,\n [IcBrandForegroundEnum.Dark]:\n foregroundColor === IcBrandForegroundEnum.Dark,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div class=\"top-navigation\">\n <ic-section-container aligned={contentAligned} full-height>\n <header role=\"banner\">\n <div class=\"top-panel-container\">\n <div class=\"app-details-container\">\n {(hasTitle || hasAppTitleSlot) && (\n <Component class=\"title-link\" {...attrs}>\n {hasAppIcon && (\n <div class=\"app-icon-container\">\n <slot name=\"app-icon\" />\n </div>\n )}\n {deviceSize <= DEVICE_SIZES.S &&\n (!isEmptyString(shortAppTitle!) || shortAppTitleSlot) ? (\n <ic-typography\n variant=\"subtitle-small\"\n aria-label={\n (!hasAppTitleSlot || !shortAppTitleSlot) &&\n `${appTitle} (${shortAppTitle})`\n }\n >\n <h1>\n {shortAppTitleSlot ? (\n <slot name=\"short-app-title\"></slot>\n ) : (\n shortAppTitle\n )}\n </h1>\n </ic-typography>\n ) : (\n <ic-typography variant={appTitleVariant}>\n <h1 class=\"title-wrap\">\n {hasAppTitleSlot ? (\n <slot name=\"app-title\"></slot>\n ) : (\n appTitle\n )}\n </h1>\n </ic-typography>\n )}\n </Component>\n )}\n {hasStatus && (\n <div class=\"app-status\">\n <ic-typography\n aria-label=\"app tag\"\n variant=\"label-uppercase\"\n class=\"app-status-text\"\n >\n {status}\n </ic-typography>\n </div>\n )}\n {hasVersion && (\n <div class=\"app-version\">\n <ic-typography\n variant=\"label\"\n class=\"app-version-text\"\n aria-label=\"app version\"\n >\n {version}\n </ic-typography>\n </div>\n )}\n </div>\n\n {(hasSearchSlotContent || hasMenuContent) && (\n <div class=\"search-menu-container\">\n <div class=\"search-actions-container\">\n {!overMobileBreakpoint && <slot name=\"search\"></slot>}\n\n {hasSearchSlotContent && overMobileBreakpoint && (\n <ic-button\n id=\"search-toggle-button\"\n ref={(el) => (this.mobileSearchButtonEl = el)}\n onMouseDown={searchButtonMouseDownHandler}\n variant=\"icon-tertiary\"\n monochrome\n size={searchButtonSize}\n aria-label={mobileSearchButtonTitle}\n theme={foregroundColor as IcThemeMode}\n onClick={searchButtonClickHandler}\n >\n <slot name=\"toggle-icon\">\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n viewBox=\"0 0 24 24\"\n fill=\"#ffffff\"\n >\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14z\" />\n </svg>\n </slot>\n </ic-button>\n )}\n\n {hasIconButtons && !overMobileBreakpoint && (\n <div class=\"icon-buttons-container\">\n <slot name=\"buttons\"></slot>\n </div>\n )}\n {hasMenuContent && overMobileBreakpoint && (\n <div class=\"menu-button-container\">\n <span\n id=\"navigation-landmark-button-text\"\n class=\"navigation-landmark-button-text\"\n aria-hidden=\"true\"\n >\n Main navigation button\n </span>\n <nav\n aria-labelledby=\"navigation-landmark-button-text\"\n aria-hidden={`${navMenuVisible}`}\n >\n <ic-button\n id=\"menu-button\"\n theme={foregroundColor as IcThemeMode}\n variant=\"secondary\"\n monochrome\n aria-expanded=\"false\"\n aria-haspopup=\"true\"\n aria-label={`Open ${\n hasNavigation ? \"navigation\" : \"app\"\n } menu`}\n size={menuSize}\n onClick={menuButtonClick}\n >\n Menu\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n height=\"24px\"\n viewBox=\"0 0 24 24\"\n width=\"24px\"\n fill=\"#ffffff\"\n slot=\"left-icon\"\n >\n <path d=\"M0 0h24v24H0V0z\" fill=\"none\" />\n <path d=\"M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z\" />\n </svg>\n </ic-button>\n </nav>\n </div>\n )}\n </div>\n </div>\n )}\n </div>\n\n {mobileSearchBarVisible && (\n <div class=\"search-bar-container\">\n <slot name=\"search\"></slot>\n </div>\n )}\n\n {hasNavigation && !overMobileBreakpoint && (\n <div class=\"navigation-tabs\">\n <span\n id=\"navigation-landmark-text\"\n class=\"navigation-landmark-text\"\n aria-hidden=\"true\"\n >\n Main pages\n </span>\n <nav\n aria-labelledby=\"navigation-landmark-text\"\n class=\"nav-panel-container\"\n >\n <ic-horizontal-scroll\n monochrome\n appearance={foregroundColor}\n >\n <ul class=\"navigation-item-list\" tabindex=\"-1\">\n <slot name=\"navigation\"></slot>\n </ul>\n </ic-horizontal-scroll>\n </nav>\n </div>\n )}\n </header>\n </ic-section-container>\n </div>\n {navMenuVisible && (\n <ic-navigation-menu\n version={version}\n status={status}\n class={{\n [\"inline\"]: !!inline,\n }}\n >\n {hasIconButtons && (\n <div class=\"menu-buttons-slot\" slot=\"buttons\">\n <slot name=\"buttons\"></slot>\n </div>\n )}\n <ul slot=\"navigation\">\n <slot name=\"navigation\"></slot>\n </ul>\n </ic-navigation-menu>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as i,c as t,h as e,H as o,g as n}from"./p-8e4e97b4.js";import{D as s,g as a,e as r,z as h}from"./p-281ce313.js";import{C as d}from"./p-3b185c32.js";const c='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;--ic-typography-color:currentcolor}:host(.in-side-menu){border-bottom:var(--ic-border-width) solid\n var(--ic-divider-background-monochrome);padding:var(--ic-space-md) 0}:host .navigation-group{height:100%;width:-moz-fit-content;width:fit-content;color:var(--ic-brand-text-color);display:flex;gap:var(--ic-space-xxs);align-items:center;justify-content:center;padding:0 var(--ic-space-md);transition:var(--ic-easing-transition-slow);position:relative;background:none;border:none;text-align:left;box-sizing:border-box}:host .navigation-group:hover,:host .navigation-group:active,:host .selected{background-color:var(--ic-architectural-20);color:var(--ic-color-text-primary-light);outline:none;cursor:pointer}:host(.in-side-menu) .navigation-group{min-height:2.5rem;width:100%;gap:1.25rem}:host(.in-side-menu) .navigation-group .ic-typography-label{width:100%}:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group,:host(.in-side-menu) .navigation-group-side-menu-collapsed,:host(.in-side-menu) .navigation-group-side-menu-expanded{color:var(--ic-top-navigation-nav-group-link);justify-content:flex-start;padding:var(--ic-space-xs) var(--ic-space-md)}:host(.in-side-menu) .navigation-group-side-menu-expanded{margin-bottom:var(--ic-space-xs)}:host(.in-side-menu) .navigation-group-side-menu-collapsed::after,:host(.in-side-menu) .navigation-group-side-menu-expanded::after{border-style:solid;border-width:0.125em 0.125em 0 0;content:"";display:inline-block;min-height:0.45em;position:relative;top:-0.1em;transform:rotate(135deg);vertical-align:top;min-width:0.45em}:host(.in-side-menu) .navigation-group-side-menu-expanded::after{top:0.15em;transform:rotate(-45deg)}:host(:not(.in-side-menu)) .navigation-group:focus{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline);z-index:var(--ic-z-index-navigation-item);transition:box-shadow var(--ic-easing-transition-fast)}:host(.in-side-menu) .navigation-group-side-menu-expanded:hover:not(:focus),:host(.in-side-menu) .navigation-group-side-menu-collapsed:hover:not(:focus){background-color:var(--ic-top-navigation-nav-group-hover);cursor:pointer}:host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),:host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus){background-color:var(--ic-top-navigation-nav-group-pressed)}:host(.in-side-menu) .navigation-group-side-menu-expanded:focus,:host(.in-side-menu) .navigation-group-side-menu-collapsed:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);outline:var(--ic-hc-focus-outline);background:none}:host .navigation-group-dropdown{background-color:var(--ic-top-navigation-menu-background);border-bottom:var(--ic-space-1px) solid var(--ic-top-navigation-menu-border);position:absolute;left:0;right:0;padding:var(--ic-space-xs) var(--ic-space-md);box-shadow:0 0.375rem 0.5rem -0.375rem rgba(0 0 0 / 20%);z-index:calc(var(--ic-z-index-navigation-item) - 1)}:host .navigation-group-dropdown-items-list{list-style:none;display:flex;flex-flow:column wrap;align-content:flex-start;padding-left:var(--ic-space-md);max-height:16.5rem}:host .chevron-toggle-icon-wrapper{display:flex;align-items:center}:host .chevron-toggle-icon-wrapper svg{transform:rotate(90deg);height:var(--ic-space-lg);width:var(--ic-space-lg)}:host .chevron-toggle-icon-closed svg{transform:rotate(-90deg)}:host(.ic-navigation-group-expanded) .grouped-links-wrapper{height:var(--navigation-child-items-height, auto) !important;transition:var(--ic-easing-transition-slow);overflow:hidden}:host(.ic-navigation-group-side-nav) .link,:host(.ic-navigation-group-side-nav) ::slotted(a){height:var(--navigation-child-items-height, auto)}:host(.ic-navigation-group-collapsed) .grouped-links-wrapper{height:0;transition:var(--ic-easing-transition-slow);overflow:hidden}:host(.ic-navigation-group-side-nav) .navigation-group{min-height:var(--navigation-group-height);min-width:100%;width:var(--navigation-group-width, auto);justify-content:var(--navigation-group-justify-content);padding:var(--ic-space-md) var(--navigation-group-expand-toggle-padding)\n var(--ic-space-xs) var(--ic-space-md)}:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable)) .navigation-group{padding-right:var(--ic-space-md)}:host(.ic-navigation-group-side-nav) .navigation-group:hover,:host(.ic-navigation-group-side-nav) .navigation-group:active,:host(.ic-navigation-group-side-nav) .selected{background-color:var(--navigation-group-hover);color:var(--navigation-group-text-hover)}:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable)) .navigation-group:hover,:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable)) .navigation-group:active,:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group:hover,:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group:active{background:none;cursor:auto}:host(.ic-navigation-group-side-nav) .navigation-group:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);background:none}:host(.ic-navigation-group-side-nav) .ic-typography-caption{position:var(--navigation-group-title-position);left:var(--navigation-group-title-position-left)}';const p=c;const u=class{constructor(o){i(this,o);this.navigationGroupOpened=t(this,"navigationGroupOpened",7);this.navigationGroupExpanded=t(this,"navigationGroupExpanded",7);this.allGroupedNavigationItems=[];this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS=100;this.IC_NAVIGATION_ITEM="ic-navigation-item";this.mouseGate=false;this.nodeName="IC-NAVIGATION-GROUP";this.GROUPED_LINKS_WRAPPER_CLASS=".grouped-links-wrapper";this.deviceSize=s.XL;this.dropdownOpen=false;this.expanded=true;this.focusStyle=a();this.inTopNavSideMenu=false;this.expandable=false;this.theme="inherit";this.sideNavExpandHandler=i=>{var t;this.isSideNavExpanded=i.detail.sideNavExpanded;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(this.GROUPED_LINKS_WRAPPER_CLASS);if(!e)return;if(this.isSideNavExpanded){if(this.expanded&&this.expandedNavItemsHeight){this.setGroupedLinksElementHeight(e,this.expandedNavItemsHeight)}else if(this.expanded){setTimeout((()=>{this.expandedNavItemsHeight=this.getNavigationChildItemsHeight();this.setGroupedLinksElementHeight(e,this.expandedNavItemsHeight)}),this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS)}}else{if(this.expanded&&this.collapsedNavItemsHeight){this.setGroupedLinksElementHeight(e,this.collapsedNavItemsHeight)}else if(this.expanded){setTimeout((()=>{this.collapsedNavItemsHeight=this.getNavigationChildItemsHeight();this.setGroupedLinksElementHeight(e,this.collapsedNavItemsHeight)}),this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS)}}};this.topNavResizedHandler=({detail:i})=>{var t;const{size:e}=i;if(e!==this.deviceSize){this.deviceSize=e;this.inTopNavSideMenu=e<=(((t=this.parentEl)===null||t===void 0?void 0:t.customMobileBreakpoint)||s.L)}};this.setGroupedNavItemTabIndex=i=>{this.el.querySelectorAll(this.IC_NAVIGATION_ITEM).forEach((t=>{var e;const o=((e=t.shadowRoot)===null||e===void 0?void 0:e.querySelector("a"))||t.querySelector("a");if(o){o.setAttribute("tabindex",i)}}))};this.toggleGroupedLinkWrapperHeight=(i,t)=>{if(!i)return;if(t){if(this.isSideNavExpanded){this.setGroupedLinksElementHeight(i,this.expandedNavItemsHeight)}else{this.setGroupedLinksElementHeight(i,this.collapsedNavItemsHeight)}this.setGroupedNavItemTabIndex("0")}else{i.style.setProperty("--navigation-child-items-height","0");this.setGroupedNavItemTabIndex("-1")}};this.toggleExpanded=()=>{var i;this.expanded=!this.expanded;const t=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector(this.GROUPED_LINKS_WRAPPER_CLASS);this.toggleGroupedLinkWrapperHeight(t,this.expanded)};this.handleClick=i=>{if(this.navigationType==="top"&&i.detail){this.toggleDropdown()}else{this.toggleExpanded()}};this.handleBlur=i=>{const t=i.relatedTarget;if(!this.el.contains(t)){this.hideDropdown()}};this.handleTopNavKeydown=i=>{if(i.key===" "||i.key==="Enter"){this.toggleDropdown()}else if(!this.inTopNavSideMenu&&i.key==="Escape"){this.hideDropdown()}};this.handleKeydown=i=>{if(i.key==="Enter"||i.key===" "||i.key==="Escape"){switch(this.navigationType){case"top":this.handleTopNavKeydown(i);break;case"side":this.toggleExpanded();i.preventDefault();break;default:this.toggleExpanded();break}}};this.handleMouseLeave=i=>{const t=i.relatedTarget;this.mouseGate=false;if(!this.el.contains(t)&&t!==this.dropdown&&document.activeElement!==this.el&&!this.el.contains(document.activeElement)&&(t===null||t===void 0?void 0:t.nodeName)===this.nodeName&&this.dropdownOpen===true){this.mouseGate=true;this.hideDropdown()}else if(!this.el.contains(t)&&t!==this.dropdown&&!this.el.contains(document.activeElement)){this.mouseGate=false;setTimeout((()=>{this.dropdownOpen?this.hideDropdown():null}),500)}};this.handleMouseEnter=i=>{const t=i.relatedTarget;document.addEventListener("keydown",this.handleKeydown);if((t===null||t===void 0?void 0:t.nodeName)===this.nodeName&&this.mouseGate===true){this.showDropdown()}else if(this.dropdownOpen===false&&t!==null&&this.mouseGate===false){this.mouseGate=true;setTimeout((()=>{this.mouseGate&&this.showDropdown()}),500)}};this.renderDropdownGroupedLinks=()=>e("div",{class:{["navigation-group-dropdown"]:!this.inTopNavSideMenu,["navigation-group-dropdown-side-menu"]:this.inTopNavSideMenu,["selected"]:this.dropdownOpen&&!this.inTopNavSideMenu},onMouseLeave:!this.inTopNavSideMenu?this.handleMouseLeave:undefined,ref:i=>this.dropdown=i},e("nav",{class:{["navigation-group-dropdown-items"]:!this.inTopNavSideMenu},"aria-labelledby":"nav-group-title"},e("ul",null,e("slot",null))));this.renderGroupedLinks=()=>e("ul",{class:"grouped-links-wrapper"},e("slot",null));this.getNavigationChildItemsHeight=()=>{let i=0;this.allGroupedNavigationItems.forEach((t=>{i+=t.offsetHeight}));return`${i}px`};this.setInitialGroupedLinksWrapperHeight=()=>{var i;const t=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector(this.GROUPED_LINKS_WRAPPER_CLASS);if(!t)return;if(!this.isSideNavExpanded&&!this.collapsedNavItemsHeight&&this.expanded){this.collapsedNavItemsHeight=this.getNavigationChildItemsHeight();this.setGroupedLinksElementHeight(t,this.collapsedNavItemsHeight)}if(this.isSideNavExpanded&&this.expanded){this.expandedNavItemsHeight=this.getNavigationChildItemsHeight();this.setGroupedLinksElementHeight(t,this.expandedNavItemsHeight)}};this.renderGroupTitleText=()=>e("ic-typography",{id:"nav-group-title",variant:this.navigationType==="side"?"caption":"label"},this.label);this.renderNavigationItems=()=>{if(this.dropdownOpen||this.inTopNavSideMenu&&!this.expandable){return this.renderDropdownGroupedLinks()}if(this.navigationType!=="top"){return this.renderGroupedLinks()}return null}}disconnectedCallback(){var i,t;if(this.navigationType==="side"){(i=this.parentEl)===null||i===void 0?void 0:i.removeEventListener("icSideNavExpanded",this.sideNavExpandHandler)}else if(this.navigationType==="top"){(t=this.parentEl)===null||t===void 0?void 0:t.removeEventListener("icTopNavResized",this.topNavResizedHandler)}}componentWillLoad(){var i,t;this.deviceSize=r();const{navType:e,parent:o}=h(this.el);this.navigationType=e;this.parentEl=o;if(this.navigationType==="side"){(i=this.parentEl)===null||i===void 0?void 0:i.addEventListener("icSideNavExpanded",this.sideNavExpandHandler)}else if(this.navigationType==="top"){(t=this.parentEl)===null||t===void 0?void 0:t.addEventListener("icTopNavResized",this.topNavResizedHandler);if(this.deviceSize<=this.parentEl.customMobileBreakpoint)this.inTopNavSideMenu=true}}componentDidLoad(){this.allGroupedNavigationItems=Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));setTimeout((()=>this.setInitialGroupedLinksWrapperHeight()),this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS)}childBlurHandler(){this.hideDropdown()}handleNavigationGroupOpened(i){if(i.detail.source!==this.el){this.hideDropdown()}}navItemClickHandler(){this.hideDropdown()}brandChangeHandler(i){this.focusStyle=i.detail.mode}async setFocus(){if(this.groupEl){this.groupEl.focus()}}toggleDropdown(){this.dropdownOpen=!this.dropdownOpen;this.inTopNavSideMenu&&this.navigationGroupExpanded.emit({expanded:this.dropdownOpen})}showDropdown(){if(!this.dropdownOpen){this.navigationGroupOpened.emit({source:this.el});this.toggleDropdown()}}hideDropdown(){document.removeEventListener("keydown",this.handleKeydown);if(this.dropdownOpen){this.toggleDropdown()}}setGroupedLinksElementHeight(i,t){i.style.setProperty("--navigation-child-items-height",t)}render(){const{dropdownOpen:i,expanded:t,inTopNavSideMenu:n,expandable:s}=this;const a={["navigation-group"]:true,[this.focusStyle]:!n,["navigation-group-side-menu-collapsed"]:n&&!!s&&!i,["navigation-group-side-menu-expanded"]:n&&!!s&&i,["selected"]:i&&!n};const r=this.navigationType==="side";const h=this.navigationType==="top";const c=r&&t||h&&i;return e(o,{key:"adb77d5c28a33cdf4e6c65b12122a325cc8f57c5",class:{["in-side-menu"]:n,"ic-navigation-group-expanded":t,"ic-navigation-group-collapsed":!t,["ic-navigation-group-side-nav"]:r,[`ic-theme-${this.theme}`]:this.theme!=="inherit",["ic-navigation-group-expandable"]:!!s},role:"listitem"},this.expandable||!n&&h?e("button",{onMouseEnter:!n&&h?this.handleMouseEnter:undefined,onMouseLeave:h?this.handleMouseLeave:undefined,onBlur:this.handleBlur,onClick:this.handleClick,onKeyDown:this.handleKeydown,class:a,ref:i=>this.groupEl=i,"aria-expanded":`${c}`,"aria-haspopup":`${!n&&h}`},this.renderGroupTitleText(),r&&s&&e("div",{class:{"chevron-toggle-icon-wrapper":true,"chevron-toggle-icon-closed":t},innerHTML:d})):r&&!this.isSideNavExpanded?null:e("div",{class:a},this.renderGroupTitleText()),this.renderNavigationItems())}static get delegatesFocus(){return true}get el(){return n(this)}};u.style=p;export{u as ic_navigation_group};
2
- //# sourceMappingURL=p-9ea9a4ce.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icNavigationGroupCss","IcNavigationGroupStyle0","NavigationGroup","constructor","hostRef","this","allGroupedNavigationItems","DYNAMIC_GROUPED_LINKS_HEIGHT_MS","IC_NAVIGATION_ITEM","mouseGate","nodeName","GROUPED_LINKS_WRAPPER_CLASS","deviceSize","DEVICE_SIZES","XL","dropdownOpen","expanded","focusStyle","getBrandForegroundAppearance","inTopNavSideMenu","expandable","theme","sideNavExpandHandler","event","isSideNavExpanded","detail","sideNavExpanded","linkWrapper","_a","el","shadowRoot","querySelector","expandedNavItemsHeight","setGroupedLinksElementHeight","setTimeout","getNavigationChildItemsHeight","collapsedNavItemsHeight","topNavResizedHandler","size","parentEl","customMobileBreakpoint","L","setGroupedNavItemTabIndex","tabIndexValue","querySelectorAll","forEach","navigationItem","navItem","setAttribute","toggleGroupedLinkWrapperHeight","wrapper","style","setProperty","toggleExpanded","handleClick","ev","navigationType","toggleDropdown","handleBlur","target","relatedTarget","contains","hideDropdown","handleTopNavKeydown","key","handleKeydown","preventDefault","handleMouseLeave","relTarget","dropdown","document","activeElement","handleMouseEnter","addEventListener","showDropdown","renderDropdownGroupedLinks","h","class","onMouseLeave","undefined","ref","renderGroupedLinks","navigationChildItemsHeight","offsetHeight","setInitialGroupedLinksWrapperHeight","renderGroupTitleText","id","variant","label","renderNavigationItems","disconnectedCallback","removeEventListener","_b","componentWillLoad","getCurrentDeviceSize","navType","parent","getNavItemParentDetails","componentDidLoad","Array","from","childBlurHandler","handleNavigationGroupOpened","source","navItemClickHandler","brandChangeHandler","mode","setFocus","groupEl","focus","navigationGroupExpanded","emit","navigationGroupOpened","groupedNavItemWrapper","height","render","navGroupTitleClassNames","isSideNav","isTopNav","ariaExpanded","Host","role","onMouseEnter","onBlur","onClick","onKeyDown","innerHTML","chevronIcon"],"sources":["src/components/ic-navigation-group/ic-navigation-group.css?tag=ic-navigation-group&encapsulation=shadow","src/components/ic-navigation-group/ic-navigation-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-navigation-item: z-index of navigation group item\n */\n\n:host {\n display: block;\n\n --ic-typography-color: currentcolor;\n}\n\n:host(.in-side-menu) {\n border-bottom: var(--ic-border-width) solid\n var(--ic-divider-background-monochrome);\n padding: var(--ic-space-md) 0;\n}\n\n:host .navigation-group {\n height: 100%;\n width: fit-content;\n color: var(--ic-brand-text-color);\n display: flex;\n gap: var(--ic-space-xxs);\n align-items: center;\n justify-content: center;\n padding: 0 var(--ic-space-md);\n transition: var(--ic-easing-transition-slow);\n position: relative;\n background: none;\n border: none;\n text-align: left;\n box-sizing: border-box;\n}\n\n:host .navigation-group:hover,\n:host .navigation-group:active,\n:host .selected {\n background-color: var(--ic-architectural-20);\n color: var(--ic-color-text-primary-light);\n outline: none;\n cursor: pointer;\n}\n\n:host(.in-side-menu) .navigation-group {\n min-height: 2.5rem;\n width: 100%;\n gap: 1.25rem;\n}\n\n:host(.in-side-menu) .navigation-group .ic-typography-label {\n width: 100%;\n}\n\n:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group,\n:host(.in-side-menu) .navigation-group-side-menu-collapsed,\n:host(.in-side-menu) .navigation-group-side-menu-expanded {\n color: var(--ic-top-navigation-nav-group-link);\n justify-content: flex-start;\n padding: var(--ic-space-xs) var(--ic-space-md);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded {\n margin-bottom: var(--ic-space-xs);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-collapsed::after,\n:host(.in-side-menu) .navigation-group-side-menu-expanded::after {\n border-style: solid;\n border-width: 0.125em 0.125em 0 0;\n content: \"\";\n display: inline-block;\n min-height: 0.45em;\n position: relative;\n top: -0.1em;\n transform: rotate(135deg);\n vertical-align: top;\n min-width: 0.45em;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded::after {\n top: 0.15em;\n transform: rotate(-45deg);\n}\n\n:host(:not(.in-side-menu)) .navigation-group:focus {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n z-index: var(--ic-z-index-navigation-item);\n transition: box-shadow var(--ic-easing-transition-fast);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:hover:not(:focus),\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:hover:not(:focus) {\n background-color: var(--ic-top-navigation-nav-group-hover);\n cursor: pointer;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus) {\n background-color: var(--ic-top-navigation-nav-group-pressed);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:focus,\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n outline: var(--ic-hc-focus-outline);\n background: none;\n}\n\n:host .navigation-group-dropdown {\n background-color: var(--ic-top-navigation-menu-background);\n border-bottom: var(--ic-space-1px) solid var(--ic-top-navigation-menu-border);\n position: absolute;\n left: 0;\n right: 0;\n padding: var(--ic-space-xs) var(--ic-space-md);\n box-shadow: 0 0.375rem 0.5rem -0.375rem rgba(0 0 0 / 20%);\n z-index: calc(var(--ic-z-index-navigation-item) - 1);\n}\n\n:host .navigation-group-dropdown-items-list {\n list-style: none;\n display: flex;\n flex-flow: column wrap;\n align-content: flex-start;\n padding-left: var(--ic-space-md);\n max-height: 16.5rem;\n}\n\n:host .chevron-toggle-icon-wrapper {\n display: flex;\n align-items: center;\n}\n\n:host .chevron-toggle-icon-wrapper svg {\n transform: rotate(90deg);\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host .chevron-toggle-icon-closed svg {\n transform: rotate(-90deg);\n}\n\n:host(.ic-navigation-group-expanded) .grouped-links-wrapper {\n height: var(--navigation-child-items-height, auto) !important;\n transition: var(--ic-easing-transition-slow);\n overflow: hidden;\n}\n\n:host(.ic-navigation-group-side-nav) .link,\n:host(.ic-navigation-group-side-nav) ::slotted(a) {\n height: var(--navigation-child-items-height, auto);\n}\n\n:host(.ic-navigation-group-collapsed) .grouped-links-wrapper {\n height: 0;\n transition: var(--ic-easing-transition-slow);\n overflow: hidden;\n}\n\n:host(.ic-navigation-group-side-nav) .navigation-group {\n min-height: var(--navigation-group-height);\n min-width: 100%;\n width: var(--navigation-group-width, auto);\n justify-content: var(--navigation-group-justify-content);\n padding: var(--ic-space-md) var(--navigation-group-expand-toggle-padding)\n var(--ic-space-xs) var(--ic-space-md);\n}\n\n:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable))\n .navigation-group {\n padding-right: var(--ic-space-md);\n}\n\n:host(.ic-navigation-group-side-nav) .navigation-group:hover,\n:host(.ic-navigation-group-side-nav) .navigation-group:active,\n:host(.ic-navigation-group-side-nav) .selected {\n background-color: var(--navigation-group-hover);\n color: var(--navigation-group-text-hover);\n}\n\n:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable))\n .navigation-group:hover,\n:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable))\n .navigation-group:active,\n:host(.in-side-menu:not(.ic-navigation-group-expandable))\n .navigation-group:hover,\n:host(.in-side-menu:not(.ic-navigation-group-expandable))\n .navigation-group:active {\n background: none;\n cursor: auto;\n}\n\n:host(.ic-navigation-group-side-nav) .navigation-group:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n background: none;\n}\n\n:host(.ic-navigation-group-side-nav) .ic-typography-caption {\n position: var(--navigation-group-title-position);\n left: var(--navigation-group-title-position-left);\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n State,\n Listen,\n h,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\n\nimport {\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getBrandForegroundAppearance,\n getNavItemParentDetails,\n} from \"../../utils/helpers\";\nimport {\n IcNavType,\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundNoDefault,\n IcThemeMode,\n} from \"../../utils/types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport {\n IcNavigationExpandEventDetail,\n IcNavigationOpenEventDetail,\n} from \"./ic-navigation-group.types\";\n\n@Component({\n tag: \"ic-navigation-group\",\n styleUrl: \"ic-navigation-group.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class NavigationGroup {\n private allGroupedNavigationItems: HTMLIcNavigationItemElement[] = [];\n private collapsedNavItemsHeight: string;\n private dropdown?: HTMLElement;\n private DYNAMIC_GROUPED_LINKS_HEIGHT_MS = 100;\n private expandedNavItemsHeight: string;\n private groupEl?: HTMLElement;\n private IC_NAVIGATION_ITEM = \"ic-navigation-item\";\n private mouseGate: boolean = false;\n private nodeName = \"IC-NAVIGATION-GROUP\";\n private GROUPED_LINKS_WRAPPER_CLASS = \".grouped-links-wrapper\";\n\n @Element() el: HTMLIcNavigationGroupElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() dropdownOpen: boolean = false;\n @State() expanded: boolean = true;\n @State() focusStyle: IcBrandForegroundNoDefault | IcBrandForeground =\n getBrandForegroundAppearance();\n @State() inTopNavSideMenu: boolean = false;\n @State() navigationType: IcNavType | \"\";\n @State() parentEl: HTMLElement | null;\n @State() isSideNavExpanded: boolean;\n\n /**\n * If `true`, the group will be expandable when in an ic-side-navigation component, or, when in an ic-top-navigation component, in the side menu displayed at small screen sizes.\n */\n @Prop() expandable?: boolean = false;\n\n /**\n * The label to display on the group.\n */\n @Prop() label!: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * @internal Emitted when a navigation group is opened - when within an ic-top-navigation at large screen sizes.\n */\n @Event() navigationGroupOpened: EventEmitter<IcNavigationOpenEventDetail>;\n\n /**\n * @internal Emitted when a navigation group is expanded - when within an ic-top-navigation at small screen sizes.\n */\n @Event() navigationGroupExpanded: EventEmitter<IcNavigationExpandEventDetail>;\n\n disconnectedCallback(): void {\n if (this.navigationType === \"side\") {\n this.parentEl?.removeEventListener(\n \"icSideNavExpanded\",\n this.sideNavExpandHandler as EventListener\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl?.removeEventListener(\n \"icTopNavResized\",\n this.topNavResizedHandler as EventListener\n );\n }\n }\n\n componentWillLoad(): void {\n this.deviceSize = getCurrentDeviceSize();\n const { navType, parent } = getNavItemParentDetails(this.el);\n this.navigationType = navType;\n this.parentEl = parent;\n\n if (this.navigationType === \"side\") {\n this.parentEl?.addEventListener(\n \"icSideNavExpanded\",\n this.sideNavExpandHandler as EventListener\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl?.addEventListener(\n \"icTopNavResized\",\n this.topNavResizedHandler as EventListener\n );\n if (\n this.deviceSize <=\n (this.parentEl as HTMLIcTopNavigationElement).customMobileBreakpoint!\n )\n this.inTopNavSideMenu = true;\n }\n }\n\n componentDidLoad(): void {\n this.allGroupedNavigationItems = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n\n /**\n * debounce is required as the incorrect height was retrieved instantly after\n * componentDidLoad is invoked.\n */\n setTimeout(\n () => this.setInitialGroupedLinksWrapperHeight(),\n this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS\n );\n }\n\n @Listen(\"childBlur\")\n childBlurHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"navigationGroupOpened\", { target: \"document\" })\n handleNavigationGroupOpened(event: CustomEvent): void {\n if (event.detail.source !== this.el) {\n this.hideDropdown();\n }\n }\n\n @Listen(\"navItemClicked\")\n navItemClickHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.focusStyle = ev.detail.mode;\n }\n\n /**\n * Sets focus on the nav item.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.groupEl) {\n this.groupEl.focus();\n }\n }\n\n private sideNavExpandHandler = (event: CustomEvent): void => {\n this.isSideNavExpanded = event.detail.sideNavExpanded;\n const linkWrapper = this.el.shadowRoot?.querySelector(\n this.GROUPED_LINKS_WRAPPER_CLASS\n ) as HTMLElement;\n\n if (!linkWrapper) return;\n\n if (this.isSideNavExpanded) {\n if (this.expanded && this.expandedNavItemsHeight) {\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.expandedNavItemsHeight\n );\n } else if (this.expanded) {\n setTimeout(() => {\n this.expandedNavItemsHeight = this.getNavigationChildItemsHeight();\n\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.expandedNavItemsHeight\n );\n }, this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n } else {\n if (this.expanded && this.collapsedNavItemsHeight) {\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.collapsedNavItemsHeight\n );\n } else if (this.expanded) {\n setTimeout(() => {\n this.collapsedNavItemsHeight = this.getNavigationChildItemsHeight();\n\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.collapsedNavItemsHeight\n );\n }, this.DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n }\n };\n\n private topNavResizedHandler = ({\n detail,\n }: CustomEvent<{ size: number }>): void => {\n const { size } = detail;\n if (size !== this.deviceSize) {\n this.deviceSize = size;\n this.inTopNavSideMenu =\n size <=\n ((this.parentEl as HTMLIcTopNavigationElement)\n ?.customMobileBreakpoint || DEVICE_SIZES.L);\n }\n };\n\n private toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n this.inTopNavSideMenu &&\n this.navigationGroupExpanded.emit({ expanded: this.dropdownOpen });\n }\n\n private setGroupedNavItemTabIndex = (tabIndexValue: string) => {\n this.el\n .querySelectorAll(this.IC_NAVIGATION_ITEM)\n .forEach((navigationItem) => {\n const navItem =\n navigationItem.shadowRoot?.querySelector(\"a\") ||\n navigationItem.querySelector(\"a\");\n if (navItem) {\n navItem.setAttribute(\"tabindex\", tabIndexValue);\n }\n });\n };\n\n private toggleGroupedLinkWrapperHeight = (\n wrapper: HTMLElement,\n expanded: boolean\n ) => {\n if (!wrapper) return;\n\n if (expanded) {\n if (this.isSideNavExpanded) {\n this.setGroupedLinksElementHeight(wrapper, this.expandedNavItemsHeight);\n } else {\n this.setGroupedLinksElementHeight(\n wrapper,\n this.collapsedNavItemsHeight\n );\n }\n this.setGroupedNavItemTabIndex(\"0\");\n } else {\n wrapper.style.setProperty(\"--navigation-child-items-height\", \"0\");\n this.setGroupedNavItemTabIndex(\"-1\");\n }\n };\n\n private toggleExpanded = () => {\n this.expanded = !this.expanded;\n const linkWrapper = this.el.shadowRoot?.querySelector(\n this.GROUPED_LINKS_WRAPPER_CLASS\n ) as HTMLElement;\n this.toggleGroupedLinkWrapperHeight(linkWrapper, this.expanded);\n };\n\n private showDropdown() {\n if (!this.dropdownOpen) {\n this.navigationGroupOpened.emit({\n source: this.el,\n });\n\n this.toggleDropdown();\n }\n }\n\n private hideDropdown() {\n document.removeEventListener(\"keydown\", this.handleKeydown);\n if (this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n\n private handleClick = (ev: MouseEvent) => {\n if (this.navigationType === \"top\" && ev.detail) {\n this.toggleDropdown();\n } else {\n this.toggleExpanded();\n }\n };\n\n private handleBlur = (ev: FocusEvent) => {\n const target = ev.relatedTarget as HTMLElement;\n if (!this.el.contains(target)) {\n this.hideDropdown();\n }\n };\n\n private handleTopNavKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \" \" || ev.key === \"Enter\") {\n this.toggleDropdown();\n } else if (!this.inTopNavSideMenu && ev.key === \"Escape\") {\n this.hideDropdown();\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n if (ev.key === \"Enter\" || ev.key === \" \" || ev.key === \"Escape\") {\n switch (this.navigationType) {\n case \"top\":\n this.handleTopNavKeydown(ev as KeyboardEvent);\n break;\n case \"side\":\n this.toggleExpanded();\n ev.preventDefault();\n break;\n default:\n this.toggleExpanded();\n break;\n }\n }\n };\n\n private handleMouseLeave = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement;\n\n this.mouseGate = false;\n\n if (\n !this.el.contains(relTarget) &&\n relTarget !== this.dropdown &&\n document.activeElement !== this.el &&\n !this.el.contains(document.activeElement) &&\n relTarget?.nodeName === this.nodeName &&\n this.dropdownOpen === true\n ) {\n this.mouseGate = true;\n this.hideDropdown();\n } else if (\n !this.el.contains(relTarget) &&\n relTarget !== this.dropdown &&\n !this.el.contains(document.activeElement)\n ) {\n this.mouseGate = false;\n setTimeout(() => {\n this.dropdownOpen ? this.hideDropdown() : null;\n }, 500);\n }\n };\n\n private handleMouseEnter = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement;\n document.addEventListener(\"keydown\", this.handleKeydown);\n\n if (relTarget?.nodeName === this.nodeName && this.mouseGate === true) {\n this.showDropdown();\n } else if (\n this.dropdownOpen === false &&\n relTarget !== null &&\n this.mouseGate === false\n ) {\n this.mouseGate = true;\n setTimeout(() => {\n this.mouseGate && this.showDropdown();\n }, 500);\n }\n };\n\n private renderDropdownGroupedLinks = (): HTMLDivElement => (\n <div\n class={{\n [\"navigation-group-dropdown\"]: !this.inTopNavSideMenu,\n [\"navigation-group-dropdown-side-menu\"]: this.inTopNavSideMenu,\n [\"selected\"]: this.dropdownOpen && !this.inTopNavSideMenu,\n }}\n onMouseLeave={!this.inTopNavSideMenu ? this.handleMouseLeave : undefined}\n ref={(el) => (this.dropdown = el)}\n >\n <nav\n class={{\n [\"navigation-group-dropdown-items\"]: !this.inTopNavSideMenu,\n }}\n aria-labelledby=\"nav-group-title\"\n >\n <ul>\n <slot></slot>\n </ul>\n </nav>\n </div>\n );\n\n private renderGroupedLinks = (): HTMLDivElement => (\n <ul class=\"grouped-links-wrapper\">\n <slot></slot>\n </ul>\n );\n\n /**\n * Gets the total height of navigation links to improve\n * smoothness of expand/collapse animations\n */\n private getNavigationChildItemsHeight = (): string => {\n let navigationChildItemsHeight = 0;\n this.allGroupedNavigationItems.forEach((navItem) => {\n navigationChildItemsHeight += navItem.offsetHeight;\n });\n\n return `${navigationChildItemsHeight}px`;\n };\n\n private setInitialGroupedLinksWrapperHeight = () => {\n const linkWrapper = this.el.shadowRoot?.querySelector(\n this.GROUPED_LINKS_WRAPPER_CLASS\n ) as HTMLElement;\n\n if (!linkWrapper) return;\n\n if (\n !this.isSideNavExpanded &&\n !this.collapsedNavItemsHeight &&\n this.expanded\n ) {\n this.collapsedNavItemsHeight = this.getNavigationChildItemsHeight();\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.collapsedNavItemsHeight\n );\n }\n\n if (this.isSideNavExpanded && this.expanded) {\n this.expandedNavItemsHeight = this.getNavigationChildItemsHeight();\n this.setGroupedLinksElementHeight(\n linkWrapper,\n this.expandedNavItemsHeight\n );\n }\n };\n\n private renderGroupTitleText = (): HTMLIcTypographyElement => (\n <ic-typography\n id=\"nav-group-title\"\n variant={this.navigationType === \"side\" ? \"caption\" : \"label\"}\n >\n {this.label}\n </ic-typography>\n );\n\n private renderNavigationItems = (): HTMLDivElement | null => {\n if (this.dropdownOpen || (this.inTopNavSideMenu && !this.expandable)) {\n return this.renderDropdownGroupedLinks();\n }\n\n if (this.navigationType !== \"top\") {\n return this.renderGroupedLinks();\n }\n\n return null;\n };\n\n private setGroupedLinksElementHeight(\n groupedNavItemWrapper: HTMLElement,\n height: string\n ) {\n groupedNavItemWrapper.style.setProperty(\n \"--navigation-child-items-height\",\n height\n );\n }\n\n render() {\n const { dropdownOpen, expanded, inTopNavSideMenu, expandable } = this;\n\n const navGroupTitleClassNames = {\n [\"navigation-group\"]: true,\n [this.focusStyle]: !inTopNavSideMenu,\n [\"navigation-group-side-menu-collapsed\"]:\n inTopNavSideMenu && !!expandable && !dropdownOpen,\n [\"navigation-group-side-menu-expanded\"]:\n inTopNavSideMenu && !!expandable && dropdownOpen,\n [\"selected\"]: dropdownOpen && !inTopNavSideMenu,\n };\n\n const isSideNav = this.navigationType === \"side\";\n const isTopNav = this.navigationType === \"top\";\n\n const ariaExpanded = (isSideNav && expanded) || (isTopNav && dropdownOpen);\n\n return (\n <Host\n class={{\n [\"in-side-menu\"]: inTopNavSideMenu,\n \"ic-navigation-group-expanded\": expanded,\n \"ic-navigation-group-collapsed\": !expanded,\n [\"ic-navigation-group-side-nav\"]: isSideNav,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n [\"ic-navigation-group-expandable\"]: !!expandable,\n }}\n role=\"listitem\"\n >\n {this.expandable || (!inTopNavSideMenu && isTopNav) ? (\n <button\n onMouseEnter={\n !inTopNavSideMenu && isTopNav ? this.handleMouseEnter : undefined\n }\n onMouseLeave={isTopNav ? this.handleMouseLeave : undefined}\n onBlur={this.handleBlur}\n onClick={this.handleClick}\n onKeyDown={this.handleKeydown}\n class={navGroupTitleClassNames}\n ref={(el) => (this.groupEl = el)}\n aria-expanded={`${ariaExpanded}`}\n aria-haspopup={`${!inTopNavSideMenu && isTopNav}`}\n >\n {this.renderGroupTitleText()}\n {isSideNav && expandable && (\n <div\n class={{\n \"chevron-toggle-icon-wrapper\": true,\n \"chevron-toggle-icon-closed\": expanded,\n }}\n innerHTML={chevronIcon}\n ></div>\n )}\n </button>\n ) : isSideNav && !this.isSideNavExpanded ? null : (\n <div class={navGroupTitleClassNames}>\n {this.renderGroupTitleText()}\n </div>\n )}\n {this.renderNavigationItems()}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}