@ukic/web-components 3.20.0 → 3.22.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 (642) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-3a796e7a.js → helpers-81cd6930.js} +3 -16
  3. package/dist/cjs/helpers-81cd6930.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 +17 -10
  6. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-action-chip.cjs.entry.js +7 -3
  8. package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -2
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-badge.cjs.entry.js +2 -2
  13. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -2
  15. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  17. package/dist/cjs/ic-button_3.cjs.entry.js +7 -7
  18. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-card-horizontal.cjs.entry.js +174 -0
  20. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -0
  21. package/dist/cjs/ic-card-vertical.cjs.entry.js +2 -2
  22. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js +3 -3
  24. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-checkbox.cjs.entry.js +6 -6
  26. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-chip.cjs.entry.js +7 -3
  28. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-classification-banner.cjs.entry.js +13 -5
  30. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  32. package/dist/cjs/ic-data-row.cjs.entry.js +3 -3
  33. package/dist/cjs/ic-dialog.cjs.entry.js +2 -2
  34. package/dist/cjs/ic-divider.cjs.entry.js +17 -8
  35. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-empty-state.cjs.entry.js +3 -3
  37. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  38. package/dist/cjs/ic-footer-link.cjs.entry.js +4 -4
  39. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-hero.cjs.entry.js +5 -5
  42. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +7 -7
  43. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +218 -86
  45. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-input-label_2.cjs.entry.js +17 -12
  47. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +2 -2
  49. package/dist/cjs/ic-layout-grid.cjs.entry.js +2 -2
  50. package/dist/cjs/ic-link.cjs.entry.js +3 -3
  51. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  53. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  54. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  55. package/dist/cjs/ic-navigation-group.cjs.entry.js +3 -3
  56. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-navigation-item.cjs.entry.js +7 -5
  58. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
  60. package/dist/cjs/ic-page-header.cjs.entry.js +8 -8
  61. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-pagination-bar.cjs.entry.js +389 -0
  63. package/dist/cjs/ic-pagination-bar.cjs.entry.js.map +1 -0
  64. package/dist/cjs/ic-pagination-item.cjs.entry.js +3 -3
  65. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-pagination_3.cjs.entry.js +1412 -0
  67. package/dist/cjs/ic-pagination_3.cjs.entry.js.map +1 -0
  68. package/dist/cjs/ic-popover-menu.cjs.entry.js +5 -5
  69. package/dist/cjs/ic-radio-group.cjs.entry.js +5 -5
  70. package/dist/cjs/ic-radio-option.cjs.entry.js +6 -6
  71. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-search-bar.cjs.entry.js +12 -12
  73. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  75. package/dist/cjs/ic-side-navigation.cjs.entry.js +30 -15
  76. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  78. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  79. package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
  80. package/dist/cjs/ic-step.cjs.entry.js +14 -14
  81. package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
  82. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-switch.cjs.entry.js +6 -6
  84. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -2
  86. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  88. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  89. package/dist/cjs/ic-tab.cjs.entry.js +2 -2
  90. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  92. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  93. package/dist/cjs/ic-toast.cjs.entry.js +8 -7
  94. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +4 -4
  96. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-toggle-button.cjs.entry.js +3 -3
  98. package/dist/cjs/ic-top-navigation.cjs.entry.js +2 -2
  99. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-typography.cjs.entry.js +2 -2
  101. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  102. package/dist/cjs/index-d337cd8a.js +16 -16
  103. package/dist/cjs/loader.cjs.js +1 -1
  104. package/dist/collection/collection-manifest.json +3 -1
  105. package/dist/collection/components/ic-accordion/ic-accordion.css +6 -0
  106. package/dist/collection/components/ic-accordion/ic-accordion.js +15 -8
  107. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  108. package/dist/collection/components/ic-action-chip/ic-action-chip.css +15 -2
  109. package/dist/collection/components/ic-action-chip/ic-action-chip.js +5 -1
  110. package/dist/collection/components/ic-action-chip/ic-action-chip.js.map +1 -1
  111. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +7 -0
  112. package/dist/collection/components/ic-badge/ic-badge.css +6 -0
  113. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.css +8 -0
  114. package/dist/collection/components/ic-button/ic-button.css +7 -0
  115. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +728 -0
  116. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +512 -0
  117. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -0
  118. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.stories.js +876 -0
  119. package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +7 -0
  120. package/dist/collection/components/ic-card-vertical/ic-card-vertical.stories.js +1 -1
  121. package/dist/collection/components/ic-checkbox/ic-checkbox.css +7 -5
  122. package/dist/collection/components/ic-checkbox/ic-checkbox.js +4 -5
  123. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  124. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +3 -3
  125. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  126. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +35 -0
  127. package/dist/collection/components/ic-chip/ic-chip.css +15 -3
  128. package/dist/collection/components/ic-chip/ic-chip.js +5 -1
  129. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  130. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +33 -5
  131. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  132. package/dist/collection/components/ic-classification-banner/ic-classification-banner.stories.js +32 -0
  133. package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
  134. package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
  135. package/dist/collection/components/ic-dialog/ic-dialog.js +1 -1
  136. package/dist/collection/components/ic-divider/ic-divider.js +16 -7
  137. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  138. package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
  139. package/dist/collection/components/ic-footer-link/ic-footer-link.css +6 -0
  140. package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
  141. package/dist/collection/components/ic-hero/ic-hero.js +4 -4
  142. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +6 -0
  143. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
  144. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +7 -0
  145. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
  146. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  147. package/dist/collection/components/ic-input-label/ic-input-label.js +16 -8
  148. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  149. package/dist/collection/components/ic-input-validation/ic-input-validation.js +3 -3
  150. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js +2 -2
  151. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js +2 -2
  152. package/dist/collection/components/ic-link/ic-link.css +7 -0
  153. package/dist/collection/components/ic-link/ic-link.js +1 -1
  154. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +5 -5
  155. package/dist/collection/components/ic-menu/ic-menu.css +12 -1
  156. package/dist/collection/components/ic-menu/ic-menu.js +184 -53
  157. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  158. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  159. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +9 -0
  160. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
  161. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +41 -0
  162. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +5 -3
  163. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  164. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  165. package/dist/collection/components/ic-page-header/ic-page-header.css +1 -2
  166. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  167. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  168. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.css +104 -0
  169. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +895 -0
  170. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -0
  171. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js +215 -0
  172. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js +2 -0
  173. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js.map +1 -0
  174. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +6 -0
  175. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  176. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -4
  177. package/dist/collection/components/ic-radio-group/ic-radio-group.js +4 -4
  178. package/dist/collection/components/ic-radio-option/ic-radio-option.css +6 -0
  179. package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
  180. package/dist/collection/components/ic-search-bar/ic-search-bar.css +6 -0
  181. package/dist/collection/components/ic-search-bar/ic-search-bar.js +10 -11
  182. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  183. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  184. package/dist/collection/components/ic-select/ic-select.css +9 -2
  185. package/dist/collection/components/ic-select/ic-select.js +414 -589
  186. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  187. package/dist/collection/components/ic-select/ic-select.types.js +2 -0
  188. package/dist/collection/components/ic-select/ic-select.types.js.map +1 -0
  189. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +26 -21
  190. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +46 -21
  191. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +29 -14
  192. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  193. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  194. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  195. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  196. package/dist/collection/components/ic-step/ic-step.js +13 -13
  197. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  198. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  199. package/dist/collection/components/ic-switch/ic-switch.css +7 -0
  200. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  201. package/dist/collection/components/ic-tab/ic-tab.css +6 -0
  202. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -2
  203. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  204. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  205. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  206. package/dist/collection/components/ic-text-field/ic-text-field.js +5 -5
  207. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  208. package/dist/collection/components/ic-toast/ic-toast.js +7 -6
  209. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  210. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  211. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
  212. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.css +6 -0
  213. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
  214. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +8 -4
  215. package/dist/collection/components/ic-top-navigation/ic-top-navigation.stories.js +100 -0
  216. package/dist/collection/components/ic-typography/ic-typography.css +6 -0
  217. package/dist/collection/utils/helpers.js +2 -15
  218. package/dist/collection/utils/helpers.js.map +1 -1
  219. package/dist/collection/utils/types.js.map +1 -1
  220. package/dist/components/helpers.js +3 -16
  221. package/dist/components/helpers.js.map +1 -1
  222. package/dist/components/ic-accordion.js +16 -9
  223. package/dist/components/ic-accordion.js.map +1 -1
  224. package/dist/components/ic-action-chip.js +6 -2
  225. package/dist/components/ic-action-chip.js.map +1 -1
  226. package/dist/components/ic-back-to-top.js +1 -1
  227. package/dist/components/ic-back-to-top.js.map +1 -1
  228. package/dist/components/ic-badge.js +1 -1
  229. package/dist/components/ic-badge.js.map +1 -1
  230. package/dist/components/ic-breadcrumb-group.js +1 -1
  231. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  232. package/dist/components/ic-button2.js +1 -1
  233. package/dist/components/ic-button2.js.map +1 -1
  234. package/dist/components/ic-card-horizontal.d.ts +11 -0
  235. package/dist/components/ic-card-horizontal.js +214 -0
  236. package/dist/components/ic-card-horizontal.js.map +1 -0
  237. package/dist/components/ic-card-vertical.js +1 -1
  238. package/dist/components/ic-card-vertical.js.map +1 -1
  239. package/dist/components/ic-checkbox-group.js +2 -2
  240. package/dist/components/ic-checkbox-group.js.map +1 -1
  241. package/dist/components/ic-checkbox.js +5 -5
  242. package/dist/components/ic-checkbox.js.map +1 -1
  243. package/dist/components/ic-chip.js +6 -2
  244. package/dist/components/ic-chip.js.map +1 -1
  245. package/dist/components/ic-classification-banner.js +14 -5
  246. package/dist/components/ic-classification-banner.js.map +1 -1
  247. package/dist/components/ic-data-list.js +2 -2
  248. package/dist/components/ic-data-row.js +2 -2
  249. package/dist/components/ic-dialog.js +1 -1
  250. package/dist/components/ic-divider2.js +17 -8
  251. package/dist/components/ic-divider2.js.map +1 -1
  252. package/dist/components/ic-empty-state.js +2 -2
  253. package/dist/components/ic-footer-link.js +3 -3
  254. package/dist/components/ic-footer-link.js.map +1 -1
  255. package/dist/components/ic-hero.js +4 -4
  256. package/dist/components/ic-horizontal-scroll2.js +6 -6
  257. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  258. package/dist/components/ic-input-component-container2.js +4 -4
  259. package/dist/components/ic-input-component-container2.js.map +1 -1
  260. package/dist/components/ic-input-container2.js +2 -2
  261. package/dist/components/ic-input-label2.js +13 -8
  262. package/dist/components/ic-input-label2.js.map +1 -1
  263. package/dist/components/ic-input-validation2.js +3 -3
  264. package/dist/components/ic-layout-grid-item.js +2 -2
  265. package/dist/components/ic-layout-grid.js +2 -2
  266. package/dist/components/ic-link2.js +2 -2
  267. package/dist/components/ic-link2.js.map +1 -1
  268. package/dist/components/ic-loading-indicator2.js +5 -5
  269. package/dist/components/ic-menu-group.js +1 -1
  270. package/dist/components/ic-menu2.js +213 -79
  271. package/dist/components/ic-menu2.js.map +1 -1
  272. package/dist/components/ic-navigation-group.js +2 -2
  273. package/dist/components/ic-navigation-group.js.map +1 -1
  274. package/dist/components/ic-navigation-item.js +6 -4
  275. package/dist/components/ic-navigation-item.js.map +1 -1
  276. package/dist/components/ic-navigation-menu2.js +4 -4
  277. package/dist/components/ic-page-header.js +7 -7
  278. package/dist/components/ic-page-header.js.map +1 -1
  279. package/dist/components/ic-pagination-bar.d.ts +11 -0
  280. package/dist/components/ic-pagination-bar.js +523 -0
  281. package/dist/components/ic-pagination-bar.js.map +1 -0
  282. package/dist/components/ic-pagination-item2.js +2 -2
  283. package/dist/components/ic-pagination-item2.js.map +1 -1
  284. package/dist/components/ic-pagination.js +1 -375
  285. package/dist/components/ic-pagination.js.map +1 -1
  286. package/dist/{esm/ic-pagination.entry.js → components/ic-pagination2.js} +86 -15
  287. package/dist/components/ic-pagination2.js.map +1 -0
  288. package/dist/components/ic-popover-menu.js +4 -4
  289. package/dist/components/ic-popover-menu.js.map +1 -1
  290. package/dist/components/ic-radio-group.js +4 -4
  291. package/dist/components/ic-radio-option.js +5 -5
  292. package/dist/components/ic-radio-option.js.map +1 -1
  293. package/dist/components/ic-search-bar.js +12 -12
  294. package/dist/components/ic-search-bar.js.map +1 -1
  295. package/dist/components/ic-section-container2.js +2 -2
  296. package/dist/components/ic-select.js +1 -994
  297. package/dist/components/ic-select.js.map +1 -1
  298. package/dist/components/ic-select2.js +804 -0
  299. package/dist/components/ic-select2.js.map +1 -0
  300. package/dist/components/ic-side-navigation.js +30 -15
  301. package/dist/components/ic-side-navigation.js.map +1 -1
  302. package/dist/components/ic-skeleton.js +2 -2
  303. package/dist/components/ic-skip-link.js +2 -2
  304. package/dist/components/ic-status-tag.js +2 -2
  305. package/dist/components/ic-step.js +13 -13
  306. package/dist/components/ic-stepper.js +2 -2
  307. package/dist/components/ic-stepper.js.map +1 -1
  308. package/dist/components/ic-switch.js +5 -5
  309. package/dist/components/ic-switch.js.map +1 -1
  310. package/dist/components/ic-tab-context.js +1 -2
  311. package/dist/components/ic-tab-context.js.map +1 -1
  312. package/dist/components/ic-tab-group.js +2 -2
  313. package/dist/components/ic-tab-panel.js +2 -2
  314. package/dist/components/ic-tab-panel.js.map +1 -1
  315. package/dist/components/ic-tab.js +1 -1
  316. package/dist/components/ic-tab.js.map +1 -1
  317. package/dist/components/ic-text-field.js +1 -528
  318. package/dist/components/ic-text-field.js.map +1 -1
  319. package/dist/{esm/ic-text-field.entry.js → components/ic-text-field2.js} +119 -16
  320. package/dist/components/ic-text-field2.js.map +1 -0
  321. package/dist/components/ic-theme.js +1 -1
  322. package/dist/components/ic-toast-region.js +1 -1
  323. package/dist/components/ic-toast.js +7 -6
  324. package/dist/components/ic-toast.js.map +1 -1
  325. package/dist/components/ic-toggle-button-group.js +3 -3
  326. package/dist/components/ic-toggle-button-group.js.map +1 -1
  327. package/dist/components/ic-toggle-button.js +2 -2
  328. package/dist/components/ic-top-navigation.js +1 -1
  329. package/dist/components/ic-top-navigation.js.map +1 -1
  330. package/dist/components/ic-typography2.js +1 -1
  331. package/dist/components/ic-typography2.js.map +1 -1
  332. package/dist/core/core.esm.js +1 -1
  333. package/dist/core/core.esm.js.map +1 -1
  334. package/dist/core/p-05fd2707.entry.js +2 -0
  335. package/dist/core/p-05fd2707.entry.js.map +1 -0
  336. package/dist/core/{p-ba4abeac.entry.js → p-09505807.entry.js} +2 -2
  337. package/dist/core/{p-8f45f956.entry.js → p-09caf7ed.entry.js} +2 -2
  338. package/dist/core/p-09caf7ed.entry.js.map +1 -0
  339. package/dist/core/{p-8b1567c9.entry.js → p-0b728f50.entry.js} +2 -2
  340. package/dist/core/p-0b728f50.entry.js.map +1 -0
  341. package/dist/core/p-0fb7f915.entry.js +2 -0
  342. package/dist/core/p-0fb7f915.entry.js.map +1 -0
  343. package/dist/core/p-1b81ec88.entry.js +2 -0
  344. package/dist/core/p-1b81ec88.entry.js.map +1 -0
  345. package/dist/core/{p-3582c7df.entry.js → p-2691cc80.entry.js} +2 -2
  346. package/dist/core/p-2691cc80.entry.js.map +1 -0
  347. package/dist/core/{p-fe0153ec.entry.js → p-2a124daf.entry.js} +2 -2
  348. package/dist/core/{p-f5fd4a76.entry.js → p-2b87c592.entry.js} +2 -2
  349. package/dist/core/p-2b87c592.entry.js.map +1 -0
  350. package/dist/core/{p-c7f8547d.entry.js → p-2bd80913.entry.js} +2 -2
  351. package/dist/core/p-2bd80913.entry.js.map +1 -0
  352. package/dist/core/{p-aed1c7e7.entry.js → p-347cc084.entry.js} +2 -2
  353. package/dist/core/p-393af2bc.entry.js +2 -0
  354. package/dist/core/p-393af2bc.entry.js.map +1 -0
  355. package/dist/core/{p-b5e39585.entry.js → p-3aed13ba.entry.js} +2 -2
  356. package/dist/core/{p-276a6c8f.entry.js → p-46fd555f.entry.js} +2 -2
  357. package/dist/core/p-48a628f0.entry.js +2 -0
  358. package/dist/core/{p-23dc27a8.entry.js.map → p-48a628f0.entry.js.map} +1 -1
  359. package/dist/core/p-4f56acff.entry.js +2 -0
  360. package/dist/core/p-4f56acff.entry.js.map +1 -0
  361. package/dist/core/{p-86989873.entry.js → p-506d428a.entry.js} +2 -2
  362. package/dist/core/p-506d428a.entry.js.map +1 -0
  363. package/dist/core/p-50dca790.entry.js +2 -0
  364. package/dist/core/p-50dca790.entry.js.map +1 -0
  365. package/dist/core/p-53ab3c0f.entry.js +2 -0
  366. package/dist/core/p-53ab3c0f.entry.js.map +1 -0
  367. package/dist/core/{p-889bb8db.entry.js → p-56de4f4b.entry.js} +2 -2
  368. package/dist/core/p-5900cb65.entry.js +2 -0
  369. package/dist/core/p-5900cb65.entry.js.map +1 -0
  370. package/dist/core/{p-608b4912.entry.js → p-5976de6e.entry.js} +2 -2
  371. package/dist/core/{p-cf056074.entry.js → p-61d79fc6.entry.js} +2 -2
  372. package/dist/core/{p-cf056074.entry.js.map → p-61d79fc6.entry.js.map} +1 -1
  373. package/dist/core/{p-45076d7e.entry.js → p-659d048d.entry.js} +2 -2
  374. package/dist/core/{p-1edf2689.entry.js → p-67de1290.entry.js} +2 -2
  375. package/dist/core/p-6b4ec95f.entry.js +3 -0
  376. package/dist/core/p-6b4ec95f.entry.js.map +1 -0
  377. package/dist/core/{p-f700b759.entry.js → p-73043f57.entry.js} +2 -2
  378. package/dist/core/{p-7b8e5926.entry.js → p-735d3096.entry.js} +2 -2
  379. package/dist/core/{p-0301d1c8.entry.js → p-7b538fd1.entry.js} +2 -2
  380. package/dist/core/{p-cdbbcef4.entry.js → p-80d85403.entry.js} +2 -2
  381. package/dist/core/p-80d85403.entry.js.map +1 -0
  382. package/dist/core/{p-09c31ac6.entry.js → p-83578f1d.entry.js} +2 -2
  383. package/dist/core/{p-09c31ac6.entry.js.map → p-83578f1d.entry.js.map} +1 -1
  384. package/dist/core/{p-b8c0c142.entry.js → p-880f7548.entry.js} +2 -2
  385. package/dist/core/p-880f7548.entry.js.map +1 -0
  386. package/dist/core/{p-0d711c6a.entry.js → p-8a833e82.entry.js} +2 -2
  387. package/dist/core/{p-c16e982c.entry.js → p-90678e67.entry.js} +2 -2
  388. package/dist/core/{p-93e1ba0a.entry.js → p-9502fb86.entry.js} +2 -2
  389. package/dist/core/{p-6740c915.entry.js → p-99433296.entry.js} +2 -2
  390. package/dist/core/p-99433296.entry.js.map +1 -0
  391. package/dist/core/{p-76e8df31.entry.js → p-9c2b2cb9.entry.js} +2 -2
  392. package/dist/core/{p-949d08d3.entry.js → p-9cb83a2e.entry.js} +2 -2
  393. package/dist/core/{p-d2d17d6d.entry.js → p-a08d6b46.entry.js} +2 -2
  394. package/dist/core/p-a08d6b46.entry.js.map +1 -0
  395. package/dist/core/p-a321feee.entry.js +2 -0
  396. package/dist/core/p-a321feee.entry.js.map +1 -0
  397. package/dist/core/{p-45c553db.entry.js → p-a780a34b.entry.js} +2 -2
  398. package/dist/core/{p-90814d32.entry.js → p-aad03a3c.entry.js} +2 -2
  399. package/dist/core/{p-ec14c783.entry.js → p-aaf4e367.entry.js} +2 -2
  400. package/dist/core/{p-8c00614c.entry.js → p-b52c44eb.entry.js} +2 -2
  401. package/dist/core/{p-0722d7b6.entry.js → p-b777f0a1.entry.js} +2 -2
  402. package/dist/core/p-b777f0a1.entry.js.map +1 -0
  403. package/dist/core/p-b77b1e1f.js +2 -0
  404. package/dist/core/p-b77b1e1f.js.map +1 -0
  405. package/dist/core/p-b997ad5e.entry.js +2 -0
  406. package/dist/core/p-b997ad5e.entry.js.map +1 -0
  407. package/dist/core/{p-a0af1b0a.entry.js → p-bb7652cd.entry.js} +2 -2
  408. package/dist/core/{p-1d8559f0.entry.js → p-c156e6e9.entry.js} +2 -2
  409. package/dist/core/{p-e1814e7e.entry.js → p-cad23b7d.entry.js} +2 -2
  410. package/dist/core/{p-6aa8d3ce.entry.js → p-cbca04bb.entry.js} +2 -2
  411. package/dist/core/p-cbca04bb.entry.js.map +1 -0
  412. package/dist/core/{p-e176881a.entry.js → p-cc64e5ef.entry.js} +2 -2
  413. package/dist/core/{p-d478d13e.entry.js → p-cfbacca1.entry.js} +2 -2
  414. package/dist/core/p-cfbacca1.entry.js.map +1 -0
  415. package/dist/core/{p-ebc47282.entry.js → p-daec7e69.entry.js} +2 -2
  416. package/dist/core/{p-5ac3adb9.entry.js → p-e7767c0d.entry.js} +2 -2
  417. package/dist/core/p-e7767c0d.entry.js.map +1 -0
  418. package/dist/core/p-e938eb31.entry.js +2 -0
  419. package/dist/core/p-e938eb31.entry.js.map +1 -0
  420. package/dist/core/{p-81f60443.entry.js → p-ea7a3d30.entry.js} +2 -2
  421. package/dist/core/p-ea7a3d30.entry.js.map +1 -0
  422. package/dist/core/{p-ad5aca6f.entry.js → p-ea890d3d.entry.js} +2 -2
  423. package/dist/core/{p-880afd4b.entry.js → p-ebd688b9.entry.js} +2 -2
  424. package/dist/core/p-ebd688b9.entry.js.map +1 -0
  425. package/dist/core/p-ef70ea50.entry.js +2 -0
  426. package/dist/core/p-ef70ea50.entry.js.map +1 -0
  427. package/dist/core/{p-1fc4b88f.entry.js → p-f64996f1.entry.js} +2 -2
  428. package/dist/core/p-f64996f1.entry.js.map +1 -0
  429. package/dist/core/{p-0f998905.entry.js → p-f661ba76.entry.js} +2 -2
  430. package/dist/core/p-f661ba76.entry.js.map +1 -0
  431. package/dist/core/{p-4e43b272.entry.js → p-f84ac9c6.entry.js} +2 -2
  432. package/dist/core/{p-df029b1b.entry.js → p-fb9376f0.entry.js} +2 -2
  433. package/dist/core/p-fb9376f0.entry.js.map +1 -0
  434. package/dist/esm/core.js +1 -1
  435. package/dist/esm/{helpers-0f85537f.js → helpers-66681c73.js} +4 -17
  436. package/dist/esm/helpers-66681c73.js.map +1 -0
  437. package/dist/esm/ic-accordion-group.entry.js +1 -1
  438. package/dist/esm/ic-accordion.entry.js +17 -10
  439. package/dist/esm/ic-accordion.entry.js.map +1 -1
  440. package/dist/esm/ic-action-chip.entry.js +7 -3
  441. package/dist/esm/ic-action-chip.entry.js.map +1 -1
  442. package/dist/esm/ic-alert.entry.js +1 -1
  443. package/dist/esm/ic-back-to-top.entry.js +2 -2
  444. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  445. package/dist/esm/ic-badge.entry.js +2 -2
  446. package/dist/esm/ic-badge.entry.js.map +1 -1
  447. package/dist/esm/ic-breadcrumb-group.entry.js +2 -2
  448. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  449. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  450. package/dist/esm/ic-button_3.entry.js +7 -7
  451. package/dist/esm/ic-button_3.entry.js.map +1 -1
  452. package/dist/esm/ic-card-horizontal.entry.js +170 -0
  453. package/dist/esm/ic-card-horizontal.entry.js.map +1 -0
  454. package/dist/esm/ic-card-vertical.entry.js +2 -2
  455. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  456. package/dist/esm/ic-checkbox-group.entry.js +3 -3
  457. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  458. package/dist/esm/ic-checkbox.entry.js +6 -6
  459. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  460. package/dist/esm/ic-chip.entry.js +7 -3
  461. package/dist/esm/ic-chip.entry.js.map +1 -1
  462. package/dist/esm/ic-classification-banner.entry.js +13 -5
  463. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  464. package/dist/esm/ic-data-list.entry.js +2 -2
  465. package/dist/esm/ic-data-row.entry.js +3 -3
  466. package/dist/esm/ic-dialog.entry.js +2 -2
  467. package/dist/esm/ic-divider.entry.js +17 -8
  468. package/dist/esm/ic-divider.entry.js.map +1 -1
  469. package/dist/esm/ic-empty-state.entry.js +3 -3
  470. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  471. package/dist/esm/ic-footer-link.entry.js +4 -4
  472. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  473. package/dist/esm/ic-footer.entry.js +1 -1
  474. package/dist/esm/ic-hero.entry.js +5 -5
  475. package/dist/esm/ic-horizontal-scroll.entry.js +7 -7
  476. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  477. package/dist/esm/ic-input-component-container_3.entry.js +218 -86
  478. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  479. package/dist/esm/ic-input-label_2.entry.js +17 -12
  480. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  481. package/dist/esm/ic-layout-grid-item.entry.js +2 -2
  482. package/dist/esm/ic-layout-grid.entry.js +2 -2
  483. package/dist/esm/ic-link.entry.js +3 -3
  484. package/dist/esm/ic-link.entry.js.map +1 -1
  485. package/dist/esm/ic-menu-group.entry.js +2 -2
  486. package/dist/esm/ic-menu-item.entry.js +1 -1
  487. package/dist/esm/ic-navigation-button.entry.js +1 -1
  488. package/dist/esm/ic-navigation-group.entry.js +3 -3
  489. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  490. package/dist/esm/ic-navigation-item.entry.js +7 -5
  491. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  492. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  493. package/dist/esm/ic-page-header.entry.js +8 -8
  494. package/dist/esm/ic-page-header.entry.js.map +1 -1
  495. package/dist/esm/ic-pagination-bar.entry.js +385 -0
  496. package/dist/esm/ic-pagination-bar.entry.js.map +1 -0
  497. package/dist/esm/ic-pagination-item.entry.js +3 -3
  498. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  499. package/dist/esm/ic-pagination_3.entry.js +1406 -0
  500. package/dist/esm/ic-pagination_3.entry.js.map +1 -0
  501. package/dist/esm/ic-popover-menu.entry.js +5 -5
  502. package/dist/esm/ic-radio-group.entry.js +5 -5
  503. package/dist/esm/ic-radio-option.entry.js +6 -6
  504. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  505. package/dist/esm/ic-search-bar.entry.js +12 -12
  506. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  507. package/dist/esm/ic-section-container.entry.js +2 -2
  508. package/dist/esm/ic-side-navigation.entry.js +30 -15
  509. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  510. package/dist/esm/ic-skeleton.entry.js +2 -2
  511. package/dist/esm/ic-skip-link.entry.js +2 -2
  512. package/dist/esm/ic-status-tag.entry.js +3 -3
  513. package/dist/esm/ic-step.entry.js +14 -14
  514. package/dist/esm/ic-stepper.entry.js +3 -3
  515. package/dist/esm/ic-stepper.entry.js.map +1 -1
  516. package/dist/esm/ic-switch.entry.js +6 -6
  517. package/dist/esm/ic-switch.entry.js.map +1 -1
  518. package/dist/esm/ic-tab-context.entry.js +1 -2
  519. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  520. package/dist/esm/ic-tab-group.entry.js +3 -3
  521. package/dist/esm/ic-tab-panel.entry.js +2 -2
  522. package/dist/esm/ic-tab.entry.js +2 -2
  523. package/dist/esm/ic-tab.entry.js.map +1 -1
  524. package/dist/esm/ic-theme.entry.js +2 -2
  525. package/dist/esm/ic-toast-region.entry.js +1 -1
  526. package/dist/esm/ic-toast.entry.js +8 -7
  527. package/dist/esm/ic-toast.entry.js.map +1 -1
  528. package/dist/esm/ic-toggle-button-group.entry.js +4 -4
  529. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  530. package/dist/esm/ic-toggle-button.entry.js +3 -3
  531. package/dist/esm/ic-top-navigation.entry.js +2 -2
  532. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  533. package/dist/esm/ic-typography.entry.js +2 -2
  534. package/dist/esm/ic-typography.entry.js.map +1 -1
  535. package/dist/esm/index-a7a720e7.js +16 -16
  536. package/dist/esm/loader.js +1 -1
  537. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +89 -0
  538. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +1 -0
  539. package/dist/types/components/ic-classification-banner/ic-classification-banner.d.ts +4 -0
  540. package/dist/types/components/ic-divider/ic-divider.d.ts +2 -0
  541. package/dist/types/components/ic-input-label/ic-input-label.d.ts +4 -1
  542. package/dist/types/components/ic-menu/ic-menu.d.ts +11 -1
  543. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +162 -0
  544. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.types.d.ts +8 -0
  545. package/dist/types/components/ic-select/ic-select.d.ts +53 -80
  546. package/dist/types/components/ic-select/ic-select.types.d.ts +43 -0
  547. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +3 -2
  548. package/dist/types/components.d.ts +357 -7
  549. package/dist/types/utils/helpers.d.ts +2 -4
  550. package/dist/types/utils/types.d.ts +1 -0
  551. package/hydrate/index.js +1504 -900
  552. package/hydrate/index.mjs +1504 -900
  553. package/package.json +2 -2
  554. package/vscode-data.json +248 -0
  555. package/dist/cjs/helpers-3a796e7a.js.map +0 -1
  556. package/dist/cjs/ic-pagination.cjs.entry.js +0 -312
  557. package/dist/cjs/ic-pagination.cjs.entry.js.map +0 -1
  558. package/dist/cjs/ic-select.cjs.entry.js +0 -879
  559. package/dist/cjs/ic-select.cjs.entry.js.map +0 -1
  560. package/dist/cjs/ic-text-field.cjs.entry.js +0 -433
  561. package/dist/cjs/ic-text-field.cjs.entry.js.map +0 -1
  562. package/dist/core/p-0722d7b6.entry.js.map +0 -1
  563. package/dist/core/p-0f6fd5d3.entry.js +0 -2
  564. package/dist/core/p-0f6fd5d3.entry.js.map +0 -1
  565. package/dist/core/p-0f998905.entry.js.map +0 -1
  566. package/dist/core/p-107281c4.entry.js +0 -2
  567. package/dist/core/p-107281c4.entry.js.map +0 -1
  568. package/dist/core/p-1fc4b88f.entry.js.map +0 -1
  569. package/dist/core/p-23dc27a8.entry.js +0 -2
  570. package/dist/core/p-3582c7df.entry.js.map +0 -1
  571. package/dist/core/p-3c7e90a7.entry.js +0 -2
  572. package/dist/core/p-3c7e90a7.entry.js.map +0 -1
  573. package/dist/core/p-57ce68e5.entry.js +0 -2
  574. package/dist/core/p-57ce68e5.entry.js.map +0 -1
  575. package/dist/core/p-5ac3adb9.entry.js.map +0 -1
  576. package/dist/core/p-656a9127.entry.js +0 -2
  577. package/dist/core/p-656a9127.entry.js.map +0 -1
  578. package/dist/core/p-6740c915.entry.js.map +0 -1
  579. package/dist/core/p-6aa8d3ce.entry.js.map +0 -1
  580. package/dist/core/p-72344764.entry.js +0 -2
  581. package/dist/core/p-72344764.entry.js.map +0 -1
  582. package/dist/core/p-7c38dd1f.entry.js +0 -2
  583. package/dist/core/p-7c38dd1f.entry.js.map +0 -1
  584. package/dist/core/p-81f60443.entry.js.map +0 -1
  585. package/dist/core/p-840c647f.entry.js +0 -2
  586. package/dist/core/p-840c647f.entry.js.map +0 -1
  587. package/dist/core/p-86989873.entry.js.map +0 -1
  588. package/dist/core/p-880afd4b.entry.js.map +0 -1
  589. package/dist/core/p-8b1567c9.entry.js.map +0 -1
  590. package/dist/core/p-8f45f956.entry.js.map +0 -1
  591. package/dist/core/p-9b60ca02.entry.js +0 -2
  592. package/dist/core/p-9b60ca02.entry.js.map +0 -1
  593. package/dist/core/p-a16415e4.entry.js +0 -3
  594. package/dist/core/p-a16415e4.entry.js.map +0 -1
  595. package/dist/core/p-b22fc28d.entry.js +0 -2
  596. package/dist/core/p-b22fc28d.entry.js.map +0 -1
  597. package/dist/core/p-b8c0c142.entry.js.map +0 -1
  598. package/dist/core/p-c3f5907e.entry.js +0 -2
  599. package/dist/core/p-c3f5907e.entry.js.map +0 -1
  600. package/dist/core/p-c7f8547d.entry.js.map +0 -1
  601. package/dist/core/p-cdbbcef4.entry.js.map +0 -1
  602. package/dist/core/p-d2d17d6d.entry.js.map +0 -1
  603. package/dist/core/p-d478d13e.entry.js.map +0 -1
  604. package/dist/core/p-dbc8bf0c.js +0 -2
  605. package/dist/core/p-dbc8bf0c.js.map +0 -1
  606. package/dist/core/p-df029b1b.entry.js.map +0 -1
  607. package/dist/core/p-f5fd4a76.entry.js.map +0 -1
  608. package/dist/core/p-fdb587ab.entry.js +0 -2
  609. package/dist/core/p-fdb587ab.entry.js.map +0 -1
  610. package/dist/esm/helpers-0f85537f.js.map +0 -1
  611. package/dist/esm/ic-pagination.entry.js.map +0 -1
  612. package/dist/esm/ic-select.entry.js +0 -875
  613. package/dist/esm/ic-select.entry.js.map +0 -1
  614. package/dist/esm/ic-text-field.entry.js.map +0 -1
  615. /package/dist/core/{p-ba4abeac.entry.js.map → p-09505807.entry.js.map} +0 -0
  616. /package/dist/core/{p-fe0153ec.entry.js.map → p-2a124daf.entry.js.map} +0 -0
  617. /package/dist/core/{p-aed1c7e7.entry.js.map → p-347cc084.entry.js.map} +0 -0
  618. /package/dist/core/{p-b5e39585.entry.js.map → p-3aed13ba.entry.js.map} +0 -0
  619. /package/dist/core/{p-276a6c8f.entry.js.map → p-46fd555f.entry.js.map} +0 -0
  620. /package/dist/core/{p-889bb8db.entry.js.map → p-56de4f4b.entry.js.map} +0 -0
  621. /package/dist/core/{p-608b4912.entry.js.map → p-5976de6e.entry.js.map} +0 -0
  622. /package/dist/core/{p-45076d7e.entry.js.map → p-659d048d.entry.js.map} +0 -0
  623. /package/dist/core/{p-1edf2689.entry.js.map → p-67de1290.entry.js.map} +0 -0
  624. /package/dist/core/{p-f700b759.entry.js.map → p-73043f57.entry.js.map} +0 -0
  625. /package/dist/core/{p-7b8e5926.entry.js.map → p-735d3096.entry.js.map} +0 -0
  626. /package/dist/core/{p-0301d1c8.entry.js.map → p-7b538fd1.entry.js.map} +0 -0
  627. /package/dist/core/{p-0d711c6a.entry.js.map → p-8a833e82.entry.js.map} +0 -0
  628. /package/dist/core/{p-c16e982c.entry.js.map → p-90678e67.entry.js.map} +0 -0
  629. /package/dist/core/{p-93e1ba0a.entry.js.map → p-9502fb86.entry.js.map} +0 -0
  630. /package/dist/core/{p-76e8df31.entry.js.map → p-9c2b2cb9.entry.js.map} +0 -0
  631. /package/dist/core/{p-949d08d3.entry.js.map → p-9cb83a2e.entry.js.map} +0 -0
  632. /package/dist/core/{p-45c553db.entry.js.map → p-a780a34b.entry.js.map} +0 -0
  633. /package/dist/core/{p-90814d32.entry.js.map → p-aad03a3c.entry.js.map} +0 -0
  634. /package/dist/core/{p-ec14c783.entry.js.map → p-aaf4e367.entry.js.map} +0 -0
  635. /package/dist/core/{p-8c00614c.entry.js.map → p-b52c44eb.entry.js.map} +0 -0
  636. /package/dist/core/{p-a0af1b0a.entry.js.map → p-bb7652cd.entry.js.map} +0 -0
  637. /package/dist/core/{p-1d8559f0.entry.js.map → p-c156e6e9.entry.js.map} +0 -0
  638. /package/dist/core/{p-e1814e7e.entry.js.map → p-cad23b7d.entry.js.map} +0 -0
  639. /package/dist/core/{p-e176881a.entry.js.map → p-cc64e5ef.entry.js.map} +0 -0
  640. /package/dist/core/{p-ebc47282.entry.js.map → p-daec7e69.entry.js.map} +0 -0
  641. /package/dist/core/{p-ad5aca6f.entry.js.map → p-ea890d3d.entry.js.map} +0 -0
  642. /package/dist/core/{p-4e43b272.entry.js.map → p-f84ac9c6.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["icButtonCss","IcButtonStyle0","buttonIds","Button","constructor","hostRef","this","buttonIdNum","hasTooltip","inheritedAttributes","describedbyEl","mutationObserver","hostMutationObserver","ariaLabel","title","accept","disabled","disableTooltip","download","dropdown","dropdownExpanded","fileUpload","fileInputName","fullWidth","loading","monochrome","multiple","size","theme","tooltipFixedPositioning","tooltipPlacement","transparentBackground","type","variant","getSlottedIcon","position","el","querySelector","handleClick","hasRouterSlot","form","closest","document","handleHiddenFormButtonClick","handleKeyDown","ev","key","closeButtonTooltip","onFocus","icFocus","emit","onBlur","icBlur","updateAriaDescribedbyClone","describedbyNode","wrapper","_a","shadowRoot","_b","appendChild","Object","assign","createElement","id","className","firstChild","remove","mutationCallback","cloneNode","hostMutationCallback","mutationList","forceComponentUpdate","forEach","attributeName","attribute","getAttribute","IC_INHERITED_ARIA","includes","forceUpdate","setHasTooltip","isIconVariant","startsWith","arrangeRouterItem","setStyles","element","styles","entries","value","style","setProperty","routerSlot","icTypography","gap","icon","iconSlot","iconWrapper","fill","display","marginPlacement","append","badge","label","textContent","trim","watchDescribedbyNodeHandler","watchDisabledHandler","removeDisabledFalse","watchVariantHandler","newVariant","disconnectedCallback","disconnect","componentWillUpdate","getBoundingClientRect","width","componentWillLoad","inheritAttributes","restInheritedAttributes","__rest","setAttribute","describedById","componentDidLoad","updateTheme","MutationObserver","observe","characterData","childList","subtree","attributes","componentWillRender","iconEl","handleHostClick","event","renderFileHiddenInput","icFileSelection","selectedFiles","stopImmediatePropagation","brandChangeHandler","detail","mode","setFocus","buttonEl","focus","tooltip","isTooltipVisible","displayTooltip","preventDefault","foregroundColor","getBrandFromContext","IcBrandForegroundEnum","Default","Light","Dark","render","ariaControlsId","ariaOwnsId","formaction","formenctype","formmethod","formnovalidate","formtarget","href","hreflang","referrerpolicy","rel","target","TagType","buttonAttrs","buttonId","undefined","describedby","hasLeftIcon","hasRightIcon","ButtonContent","h","name","class","tabindex","ref","part","Fragment","innerHTML","arrowDropdown","Host","background","isSlotUsed","onClick","onKeyDown","placement","fixedPositioning","silent","icLoadingIndicatorCss","IcLoadingIndicatorStyle0","LOADING_INDICATOR_WIDTHS","large","medium","small","LoadingIndicator","labelList","circularDiameter","circularLineWidth","circularDimensions","x","y","r","clipInnerElement","internalType","description","labelDuration","max","min","getLabel","labelIndex","Promise","interval","setInterval","length","indicatorLabel","getLabelVariant","calculateWidth","outerElement","offsetWidth","window","getComputedStyle","match","parseFloat","parentWidth","_c","parentElement","calculateProportion","progress","minProgress","Math","setLinearDeterminateWidth","innerElement","proportion","classList","add","setInternalType","updateLabel","setCircleDimensions","nextRadius","dashArray","PI","dashOffset","watchPropHandler","handleProgressChange","handleIconSize","setIndicatorDimensions","diameter","clearInterval","innerLabel","role","viewBox","cx","cy","icTooltipCss","IcTooltipStyle0","Tooltip","delayedHideEvents","instantHideEvents","mouseOverTool","persistTooltip","showEvents","disableHover","disableClick","popperProps","show","toolTip","containerContentArea","popperInstance","createPopper","strategy","modifiers","options","offset","arrow","scroll","resize","boundary","padding","console","warn","hide","removeAttribute","destroy","checkCloseTooltip","setTimeout","mouseEnterTooltip","mouseLeaveTooltip","manageEventListeners","action","method","updateTooltipEvents","watchDisableClickHandler","watchDisableHoverHandler","watchLabelHandler","hasAttribute","update","setExternalPopperProps","props","container","getRootNode","host","onComponentRequiredPropUndefined","prop","propName","componentDidRender","typographyEl","maxLines","resolve","isSafari"],"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:not(.ic-button-disabled)) ::slotted(svg) {\n color: var(--ic-button-primary-icon);\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 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);\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(--ic-button-secondary-background) !important;\n}\n\n:host(.ic-button-variant-secondary.background) .button:hover,\n:host(.ic-button-variant-icon-secondary.background) .button:hover {\n background-image: 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-image: 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-image: 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-image: 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(--ic-button-secondary-background-monochrome);\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(--ic-button-secondary-background-monochrome) !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-image: 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-image: 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-image: 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-image: 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 - non-transparent background */\n\n:host(.ic-button-variant-tertiary.background) .button,\n:host(.ic-button-variant-icon-tertiary.background) .button {\n background-color: var(--ic-button-tertiary-background);\n}\n\n:host(.ic-button-variant-tertiary.background) ::slotted(a),\n:host(.ic-button-variant-icon-tertiary.background) ::slotted(a) {\n background-color: var(--ic-button-tertiary-background) !important;\n}\n\n:host(.ic-button-variant-tertiary.background) .button:hover,\n:host(.ic-button-variant-icon-tertiary.background) .button:hover {\n background-image: var(--ic-button-tertiary-background-non-transparent-hover);\n}\n\n:host(.ic-button-variant-tertiary.background) ::slotted(a:hover),\n:host(.ic-button-variant-icon-tertiary.background) ::slotted(a:hover) {\n background-image: var(\n --ic-button-tertiary-background-non-transparent-hover\n ) !important;\n}\n\n:host(.ic-button-variant-tertiary.background) .button:active,\n:host(.ic-button-variant-icon-tertiary.background) .button:active {\n background-image: var(--ic-button-tertiary-background-non-transparent-active);\n}\n\n:host(.ic-button-variant-tertiary.background) ::slotted(a:active),\n:host(.ic-button-variant-icon-tertiary.background) ::slotted(a:active) {\n background-image: var(\n --ic-button-tertiary-background-non-transparent-active\n ) !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/* Tertiary - non-transparent background - monochrome */\n\n:host(.ic-button-variant-tertiary.background.monochrome) .button,\n:host(.ic-button-variant-icon-tertiary.background.monochrome) .button {\n background-color: var(--ic-button-tertiary-background-monochrome);\n}\n\n:host(.ic-button-variant-tertiary.background.monochrome) ::slotted(a),\n:host(.ic-button-variant-icon-tertiary.background.monochrome) ::slotted(a) {\n background-color: var(--ic-button-tertiary-background-monochrome) !important;\n}\n\n:host(.ic-button-variant-tertiary.background.monochrome) .button:hover,\n:host(.ic-button-variant-icon-tertiary.background.monochrome) .button:hover {\n background-image: var(\n --ic-button-tertiary-background-non-transparent-monochrome-hover\n );\n}\n\n:host(.ic-button-variant-tertiary.background.monochrome) ::slotted(a:hover),\n:host(.ic-button-variant-icon-tertiary.background.monochrome)\n ::slotted(a:hover) {\n background-image: var(\n --ic-button-tertiary-background-non-transparent-monochrome-hover\n ) !important;\n}\n\n:host(.ic-button-variant-tertiary.background.monochrome) .button:active,\n:host(.ic-button-variant-icon-tertiary.background.monochrome) .button:active {\n background-image: var(\n --ic-button-tertiary-background-non-transparent-monochrome-active\n );\n}\n\n:host(.ic-button-variant-tertiary.background.monochrome) ::slotted(a:active),\n:host(.ic-button-variant-icon-tertiary.background.monochrome)\n ::slotted(a:active) {\n background-image: var(\n --ic-button-tertiary-background-non-transparent-monochrome-active\n ) !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 color: var(--ic-button-primary-icon);\n}\n\n:host(.ic-button-variant-icon-primary.monochrome) .button,\n:host(.ic-button-variant-primary.monochrome:not(.ic-button-disabled))\n ::slotted(svg) {\n color: var(--ic-button-primary-icon-monochrome);\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 margin: 0;\n pointer-events: none;\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 margin: 0;\n pointer-events: none;\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 margin: 0;\n pointer-events: none;\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 margin: 0;\n pointer-events: none;\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\n.loading-indicator-icon-button {\n --circular-diameter: var(--ic-space-md);\n}\n\n:host(.ic-button-size-small) .loading-indicator-icon-button {\n --circular-diameter: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n}\n\n:host(.ic-button-size-large) .loading-indicator-icon-button {\n --circular-diameter: calc(var(--ic-space-sm) + var(--ic-space-xs));\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 color: var(--ic-atoms-input-clear-button);\n margin: 0 var(--ic-space-xxs);\n}\n\n:host(.clear-button) .button:focus,\n:host(.calendar-button) .button:focus,\n:host(.clock-button) .button:focus {\n box-shadow: none;\n}\n\n:host(.clear-button) .button,\n:host(.clear-button) ::slotted(a) {\n background-color: inherit;\n color: var(--ic-atoms-input-clear-button);\n}\n\n:host(.clear-button) .button:hover,\n:host(.clear-button) ::slotted(a:hover) {\n color: var(--ic-atoms-input-clear-button);\n}\n\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(.clear-button) .button:not(:active):focus ::slotted(svg) {\n color: white !important;\n background-color: inherit;\n }\n\n :host(.ic-button-variant-primary:not(.ic-button-disabled)) ::slotted(svg) {\n color: currentcolor !important;\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 Fragment,\n} from \"@stencil/core\";\n\nimport {\n getBrandFromContext,\n handleHiddenFormButtonClick,\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 IcIconPlacementOptions,\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 = false;\n private id: string | null;\n private inheritedAttributes: { [k: string]: string } = {};\n private describedbyEl: HTMLElement | null = null;\n private describedById?: string;\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 = \"\";\n @State() describedbyNode: Node | null;\n @Watch(\"describedbyNode\")\n watchDescribedbyNodeHandler(): void {\n this.updateAriaDescribedbyClone();\n }\n @State() title = \"\";\n\n /**\n * If `fileUpload` is set to `true`, this is the accepted list of file types.\n */\n @Prop() accept = \"*\";\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 = 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 = 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 = 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 = false;\n\n /**\n * If `true`, when the button is clicked the native file explorer will be launched.\n */\n @Prop() fileUpload = false;\n\n /**\n * The name of the control for the file input, which is submitted with the form data.\n */\n @Prop() fileInputName = `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 = 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 = false;\n\n /**\n * If `true`, the button will display as monochromatic in either `light` or `dark` theme.\n */\n @Prop({ mutable: true }) monochrome = false;\n\n /**\n * If `fileUpload` is set to `true`, this boolean determines whether multiple files are accepted.\n */\n @Prop() multiple = 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 * Setting to `true` can help in situations where tooltip content is clipped by a parent element.\n */\n @Prop() tooltipFixedPositioning: boolean = false;\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 & tertiary variants of button will have a transparent background when not hovered, pressed or loading.\n */\n @Prop() transparentBackground = 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({ mutable: true }) variant: IcButtonVariants = \"primary\";\n @Watch(\"variant\")\n watchVariantHandler(newVariant: IcButtonVariants): void {\n if (newVariant === \"icon\") this.variant = \"icon-tertiary\";\n }\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 this.mutationObserver?.disconnect();\n this.hostMutationObserver?.disconnect();\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) {\n this.describedById = describedById;\n const el = document.querySelector<HTMLElement>(`#${describedById}`);\n if (el) {\n this.describedbyEl = el;\n this.describedbyNode = el.cloneNode(true);\n }\n }\n }\n\n if (this.variant === \"icon\") {\n this.variant = \"icon-tertiary\";\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 if (this.hasRouterSlot()) this.arrangeRouterItem();\n }\n\n this.updateAriaDescribedbyClone();\n }\n\n componentWillRender(): void {\n const iconEl = this.getSlottedIcon(\"left\") || this.getSlottedIcon(\"right\");\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.disabled,\n this.accept,\n this.fileInputName,\n this.selectedFiles\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) {\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 getSlottedIcon = (position: IcIconPlacementOptions) =>\n this.el.querySelector(`[slot=\"${position}-icon\"]`);\n\n private hasRouterSlot() {\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 = () => {\n if (\n (this.el.type === \"submit\" || this.el.type === \"reset\") &&\n !this.hasRouterSlot() &&\n (this.form || !!this.el.closest(\"FORM\"))\n ) {\n const form = this.form\n ? document.querySelector<HTMLFormElement>(`form[id=${this.form}]`)\n : this.el.closest<HTMLFormElement>(\"FORM\");\n\n handleHiddenFormButtonClick(form, this.el);\n }\n };\n\n private handleKeyDown = (ev: KeyboardEvent) => {\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) {\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 /**\n * Creates/updates clone of aria-describedby element node tree in shadow dom\n * Required due to ids being scoped to the shadow dom\n */\n private updateAriaDescribedbyClone = () => {\n if (this.describedbyNode) {\n const wrapper = this.el.shadowRoot?.querySelector(\"#describedby-wrapper\");\n if (!wrapper) {\n this.el.shadowRoot?.appendChild(\n Object.assign(document.createElement(\"div\"), {\n id: \"describedby-wrapper\",\n className: \"ic-button-describedby\",\n })\n );\n }\n\n while (wrapper?.firstChild) wrapper.firstChild.remove();\n wrapper?.appendChild(this.describedbyNode);\n }\n };\n\n /**\n * Triggered when light dom aria-describedby element updates\n */\n private mutationCallback = () => {\n if (this.describedbyEl)\n this.describedbyNode = this.describedbyEl?.cloneNode(true);\n };\n\n /**\n * Triggered when attributes of host element change\n * @param mutationList the list of changes made to the host element\n */\n private hostMutationCallback = (mutationList: MutationRecord[]) => {\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 = () => {\n this.hasTooltip =\n !this.disableTooltip && (!!this.title || !!this.isIconVariant());\n };\n\n private isIconVariant = () => this.variant.startsWith(\"icon\");\n\n private arrangeRouterItem = () => {\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\n if (this.routerSlot) {\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 const icon = this.routerSlot.querySelector(\"svg\");\n const iconSlot = icon?.getAttribute(\"slot\");\n const iconWrapper = document.createElement(\"div\");\n\n if (icon) {\n setStyles(icon, {\n fill: \"currentcolor\",\n });\n\n if (iconSlot === \"top-icon\") {\n setStyles(this.routerSlot, {\n display: \"flex\",\n \"flex-direction\": \"column\",\n \"--height\": \"fit-content\",\n });\n } else if (iconSlot) {\n const marginPlacement = iconSlot === \"left-icon\" ? \"right\" : \"left\";\n setStyles(iconWrapper, {\n [`margin-${marginPlacement}`]: \"var(--ic-space-xs)\",\n });\n }\n\n iconWrapper.append(icon);\n }\n\n const badge = this.routerSlot.querySelector(\"ic-badge\");\n const label = this.routerSlot.textContent?.trim();\n\n if (badge) iconWrapper.append(badge);\n if (label) icTypography.textContent = label;\n\n this.routerSlot.textContent = \"\";\n\n if (iconSlot === \"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 {\n ariaControlsId,\n ariaLabel,\n ariaOwnsId,\n buttonIdNum,\n describedById,\n disabled,\n download,\n dropdown,\n dropdownExpanded,\n form,\n formaction,\n formenctype,\n formmethod,\n formnovalidate,\n formtarget,\n fullWidth,\n handleClick,\n handleKeyDown,\n hasTooltip,\n href,\n hreflang,\n id,\n inheritedAttributes,\n isIconVariant,\n loading,\n monochrome,\n onBlur,\n onFocus,\n referrerpolicy,\n rel,\n size,\n target,\n theme,\n title,\n tooltipFixedPositioning,\n tooltipPlacement,\n transparentBackground,\n type,\n variant,\n } = this;\n\n const TagType = href ? \"a\" : \"button\";\n const buttonAttrs =\n TagType === \"button\"\n ? {\n type,\n disabled,\n form,\n formaction,\n formenctype,\n formmethod,\n formnovalidate,\n formtarget,\n }\n : {\n download: download !== false ? download : null,\n href,\n rel,\n target,\n referrerpolicy,\n hreflang,\n };\n\n const buttonId = hasTooltip\n ? `ic-button-with-tooltip-${id || buttonIdNum}`\n : undefined;\n\n const describedby = !hasTooltip ? describedById : `ic-tooltip-${buttonId}`;\n\n const hasLeftIcon = !!this.getSlottedIcon(\"left\");\n const hasRightIcon = !!this.getSlottedIcon(\"right\");\n\n const ButtonContent = () =>\n this.hasRouterSlot() ? (\n <slot name=\"router-item\"></slot>\n ) : (\n <TagType\n class=\"button\"\n tabindex={0}\n aria-disabled={loading || disabled ? \"true\" : null}\n aria-label={loading ? \"Loading\" : ariaLabel}\n aria-expanded={dropdown && `${dropdownExpanded}`}\n {...buttonAttrs}\n {...inheritedAttributes}\n onFocus={onFocus}\n onBlur={onBlur}\n ref={(el) => (this.buttonEl = el)}\n aria-describedby={describedby}\n part=\"button\"\n >\n {loading ? (\n <div class=\"loading-container\">\n <ic-loading-indicator\n type={isIconVariant() ? \"circular\" : \"linear\"}\n class={{ \"loading-indicator-icon-button\": isIconVariant() }}\n monochrome={monochrome}\n theme={theme}\n ></ic-loading-indicator>\n </div>\n ) : (\n <Fragment>\n {(hasLeftIcon ||\n (!!this.getSlottedIcon(\"top\") && !hasRightIcon)) && (\n <div class=\"icon-container\">\n <slot name={`${hasLeftIcon ? \"left\" : \"top\"}-icon`} />\n </div>\n )}\n <slot />\n {!dropdown\n ? hasRightIcon && (\n <div class={{ \"icon-container\": true, \"right-icon\": true }}>\n <slot name=\"right-icon\" />\n </div>\n )\n : variant !== \"icon\" &&\n variant !== \"destructive\" && (\n <span\n class={\n dropdownExpanded\n ? \"dropdown-expanded\"\n : \"arrow-dropdown\"\n }\n innerHTML={arrowDropdown}\n />\n )}\n </Fragment>\n )}\n </TagType>\n );\n\n return (\n <Host\n class={{\n \"ic-button-disabled\": disabled && !loading,\n \"ic-button-full-width\": fullWidth,\n \"ic-button-loading\": loading,\n [`ic-button-size-${size}`]: true,\n [`ic-button-variant-${variant}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n background:\n (variant === \"secondary\" || variant === \"tertiary\") &&\n !transparentBackground &&\n !disabled,\n \"dropdown-no-icon\":\n dropdown &&\n !isSlotUsed(this.el, \"icon\") &&\n !isSlotUsed(this.el, \"left-icon\"),\n monochrome,\n \"top-icon\": isSlotUsed(this.el, \"top-icon\"),\n \"with-badge\": isSlotUsed(this.el, \"badge\"),\n }}\n onClick={handleClick}\n onKeyDown={handleKeyDown}\n aria-owns={ariaOwnsId}\n aria-controls={ariaControlsId}\n aria-expanded={dropdown && `${dropdownExpanded}`}\n >\n {hasTooltip && (\n <ic-tooltip\n id={describedby}\n label={title || ariaLabel}\n target={buttonId}\n placement={tooltipPlacement}\n fixedPositioning={tooltipFixedPositioning}\n silent={isIconVariant() && !!ariaLabel}\n >\n <ButtonContent />\n </ic-tooltip>\n )}\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n {!hasTooltip && <ButtonContent />}\n </Host>\n );\n }\n}\n","@import \"../../global/normalize.css\";\n\n:host {\n /**\n * @prop --circular-diameter: Diameter of the circular-indicator in px, rem or %\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(.ic-loading-indicator-size-small) {\n --circular-diameter: 2.5rem;\n --linear-line-height: var(--ic-space-xxs);\n}\n\n:host(.ic-loading-indicator-size-medium) {\n --circular-diameter: 5rem;\n}\n\n:host(.ic-loading-indicator-size-large) {\n --circular-diameter: 7.5rem;\n}\n\n:host(.ic-loading-indicator-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-circular-outer[aria-valuenow=\"0\"] .ic-loading-circular-inner,\n.ic-loading-linear-outer[aria-valuenow=\"0\"] .ic-loading-linear-inner {\n --inner-color: var(--outer-color);\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.inner-label {\n height: 100%;\n display: grid;\n}\n\n.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 } from \"../../utils/types\";\n\nconst LOADING_INDICATOR_WIDTHS = {\n large: 120,\n medium: 80,\n small: 40,\n icon: 20,\n};\n\n@Component({\n tag: \"ic-loading-indicator\",\n styleUrl: \"ic-loading-indicator.css\",\n shadow: true,\n})\nexport class LoadingIndicator {\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 = 0;\n @State() circularLineWidth = 0;\n @State() circularDimensions: IcLoadingCircleXYR = {\n x: 0,\n y: 0,\n r: 0,\n };\n @State() indicatorLabel?: string;\n @State() clipInnerElement = false;\n @State() internalType: IcLoadingTypes = \"circular\";\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 = \"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 = 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 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 @Watch(\"label\")\n watchPropHandler(): void {\n this.updateLabel();\n }\n\n /**\n * The time in milliseconds before the label changes.\n */\n @Prop() labelDuration = 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 = 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 = 0;\n\n /**\n * If `true`, the element will display as black and white.\n */\n @Prop() monochrome = false;\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 @Watch(\"max\")\n @Watch(\"min\")\n @Watch(\"progress\")\n handleProgressChange(): void {\n if (this.internalType === \"linear\") {\n this.setLinearDeterminateWidth();\n } else {\n this.setCircleDimensions();\n }\n }\n\n /**\n * The size of the loading indicator.\n */\n @Prop({ reflect: true }) size: IcLoadingSizes = \"medium\";\n @Watch(\"size\")\n handleIconSize(): void {\n this.setIndicatorDimensions();\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 /**\n * The type of indicator, either linear or circular. When size is set to 'icon' the type will be set to circular.\n */\n @Prop({ reflect: true }) type: IcLoadingTypes = \"circular\";\n @Watch(\"type\")\n setIndicatorDimensions(): void {\n this.setInternalType();\n if (this.internalType === \"circular\") {\n // Sets the circular indicator line width - accounting for the circle size being altered using the CSS custom property\n const diameter = this.calculateWidth();\n if (this.outerElement && diameter !== this.circularDiameter) {\n this.circularLineWidth = diameter * 0.1;\n this.circularDiameter = diameter;\n this.outerElement.style.setProperty(\n \"--circular-line-width\",\n `${this.circularLineWidth}px`\n );\n }\n this.setCircleDimensions();\n } else {\n this.setLinearDeterminateWidth();\n }\n }\n\n disconnectedCallback(): void {\n clearInterval(this.interval);\n }\n\n componentWillLoad(): void {\n this.updateLabel();\n this.el.setAttribute(\"exportparts\", \"ic-loading-container\");\n }\n\n componentDidLoad(): void {\n this.setIndicatorDimensions();\n }\n\n private getLabel = (labelIndex: number) =>\n new Promise(() => {\n this.interval = setInterval(() => {\n if (labelIndex < this.labelList.length - 1) {\n labelIndex++;\n } else {\n labelIndex = 0;\n }\n this.indicatorLabel = this.labelList[labelIndex];\n }, this.labelDuration);\n });\n\n private getLabelVariant = () => {\n const width = this.internalType === \"circular\" ? this.calculateWidth() : 0;\n\n if (this.size === \"small\" || (width && width < 60)) {\n return \"label\";\n } else if (this.size === \"large\" || width >= 120) {\n return \"h2\";\n }\n return \"h4\";\n };\n\n private calculateWidth = () => {\n if (this.outerElement?.offsetWidth) return this.outerElement.offsetWidth;\n\n if (this.outerElement) {\n const { width } = window.getComputedStyle(this.outerElement);\n\n if (width) {\n // Regex to check the units of the css string\n if (width.match(/\\D+$/)?.[0] !== \"%\") return parseFloat(width);\n\n const parentWidth = this.outerElement.parentElement?.offsetWidth;\n if (parentWidth) return parentWidth * (parseFloat(width) / 100);\n }\n }\n\n return LOADING_INDICATOR_WIDTHS[this.size];\n };\n\n private calculateProportion = (progress: number) => {\n const minProgress = Math.min(this.max, Math.max(this.min, progress));\n return (minProgress - this.min) / (this.max - this.min);\n };\n\n private setLinearDeterminateWidth = () => {\n // Ensure progress cannot be out of bounds\n if (!this.innerElement || !this.progress) return;\n\n const proportion = this.calculateProportion(this.progress);\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 private setInternalType = () => {\n this.internalType = this.type;\n if (this.type == \"linear\") {\n this.internalType = this.size == \"icon\" ? \"circular\" : \"linear\";\n }\n };\n\n private updateLabel = () => {\n if (!this.label) return;\n\n if (typeof this.label === \"string\") {\n this.indicatorLabel = this.label;\n } else {\n this.labelList = this.label;\n this.indicatorLabel = this.labelList[0];\n if (this.labelList.length > 1) {\n this.getLabel(0);\n }\n }\n };\n\n private setCircleDimensions = () => {\n if (this.circularDiameter <= 0) return;\n\n const r = this.circularDiameter / 2;\n const nextRadius = r - this.circularLineWidth / 2;\n const dashArray = 2 * Math.PI * nextRadius;\n\n this.circularDimensions = {\n x: r,\n y: r,\n r: nextRadius,\n dashArray: `${dashArray}px`,\n dashOffset: this.progress\n ? `${(-1 - this.calculateProportion(this.progress)) * dashArray}px`\n : undefined,\n };\n };\n\n render() {\n const {\n circularDiameter,\n circularDimensions: { x, y, r, dashArray, dashOffset },\n description,\n fullWidth,\n indicatorLabel,\n innerLabel,\n internalType,\n label,\n max,\n min,\n monochrome,\n progress,\n size,\n theme,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n \"ic-loading-indicator-full-width\": fullWidth,\n \"ic-loading-indicator-label\": !!label,\n \"ic-loading-indicator-monochrome\": monochrome,\n [`ic-loading-indicator-size-${size}`]: true,\n }}\n >\n <div class=\"ic-loading-container\" part=\"ic-loading-container\">\n <div\n ref={(el) => (this.outerElement = el)}\n class={{\n [`ic-loading-${internalType}-outer`]: true,\n [progress === undefined ? \"indeterminate\" : \"determinate\"]: true,\n }}\n role=\"progressbar\"\n aria-labelledby={label && size !== \"icon\" && \"ic-loading-label\"}\n aria-label={description}\n aria-valuenow={progress}\n aria-valuemin={min}\n aria-valuemax={max}\n >\n <div\n ref={(el) => (this.innerElement = el)}\n class={{\n [`ic-loading-${internalType}-inner`]: true,\n \"inner-label\": !!innerLabel,\n }}\n >\n {innerLabel && size === \"small\" && (\n <ic-typography variant=\"subtitle-small\" class=\"inner-text\">\n {innerLabel}\n </ic-typography>\n )}\n {internalType === \"circular\" && (\n <svg\n class=\"ic-loading-circular-svg\"\n viewBox={`0 0 ${circularDiameter} ${circularDiameter}`}\n >\n <circle cx={x} cy={y} r={r}></circle>\n <circle\n style={{\n \"--circular-steps-max\": progress ? `${max}` : undefined,\n \"--progress-value\":\n progress !== undefined ? `${progress}` : undefined,\n \"--stroke-dasharray\": dashArray,\n \"--stroke-dashoffset\": dashOffset,\n }}\n cx={x}\n cy={y}\n r={r}\n ></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=\"alert\"\n variant={this.getLabelVariant()}\n >\n <p>{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(.ic-tooltip-in-container) {\n display: inline-block;\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 {\n isSafari,\n onComponentRequiredPropUndefined,\n} 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 containerContentArea: HTMLDivElement | null;\n private instantHideEvents = [\"focusout\"];\n private mouseOverTool: boolean = false;\n private persistTooltip = false;\n private popperInstance: Instance;\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 * Setting to `true` can help in situations where tooltip content is clipped by a parent element.\n */\n @Prop() fixedPositioning: boolean = false;\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() 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 @Watch(\"label\")\n watchLabelHandler(): void {\n if (this.toolTip?.hasAttribute(\"data-show\") && this.popperInstance) {\n this.popperInstance.update();\n }\n }\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 // Display tooltips correctly within drawer and dialog components\n let container: HTMLElement | null;\n\n if ((this.el.getRootNode() as ShadowRoot).host) {\n container = (this.el.getRootNode() as ShadowRoot).host.closest(\n \"ic-dialog, ic-drawer\"\n );\n } else {\n container = this.el.closest(\"ic-dialog, ic-drawer\");\n }\n this.containerContentArea =\n container?.shadowRoot?.querySelector(\".content-area\") ?? 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 show = () => {\n if (this.label) {\n this.toolTip.setAttribute(\"data-show\", \"\");\n\n if (this.containerContentArea) {\n this.el.classList.add(\"ic-tooltip-in-container\");\n }\n\n this.popperInstance = createPopper(this.el, this.toolTip, {\n strategy: this.fixedPositioning ? \"fixed\" : \"absolute\",\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 ...(this.containerContentArea\n ? [\n {\n name: \"preventOverflow\",\n options: {\n boundary: this.containerContentArea,\n padding: 8,\n },\n },\n {\n name: \"flip\",\n options: {\n boundary: this.containerContentArea,\n },\n },\n ]\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 if (this.toolTip !== undefined) {\n this.toolTip.removeAttribute(\"data-show\");\n this.persistTooltip = false;\n }\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 aria-label={isSafari && label} // accessible name needs to be in light dom to be announced by VoiceOver. Replace in v4 as aria-label on element with no role is not well-supported\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 +0,0 @@
1
- {"version":3,"names":["icCheckboxCss","IcCheckboxStyle0","Checkbox","constructor","hostRef","this","additionalFieldDisplay","checked","initiallyChecked","disabled","dynamicText","hideLabel","indeterminate","displayIndeterminate","nativeIndeterminateBehaviour","theme","value","handleClick","icCheck","emit","handleFormReset","watchDisabledHandler","removeDisabledFalse","el","watchIndeterminateHandler","componentWillLoad","addFormResetListener","parentElement","tagName","name","label","size","groupLabel","componentDidLoad","hasLabelSlot","arrangeLabel","onComponentRequiredPropUndefined","prop","propName","componentDidRender","querySelectorAll","forEach","textfield","setAttribute","additionalFieldContainer","style","display","disconnectedCallback","removeFormResetListener","setFocus","_a","checkboxEl","focus","getCheckboxGroupId","replace","labelSlot","querySelector","textContent","trim","render","form","inputId","isDynamicAdditionalField","renderHiddenInput","removeHiddenInput","LabelContent","h","class","variant","htmlFor","Host","key","viewBox","xmlns","d","role","checkbox","ref","type","id","onClick","undefined","isSlotUsed"],"sources":["src/components/ic-checkbox/ic-checkbox.css?tag=ic-checkbox&encapsulation=shadow","src/components/ic-checkbox/ic-checkbox.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host(.ic-checkbox-disabled) {\n pointer-events: none;\n}\n\n.container {\n display: flex;\n width: fit-content;\n padding: var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);\n margin-bottom: var(--ic-space-xxs);\n align-items: center;\n}\n\n:host(.ic-data-table-checkbox) .container {\n padding: 0;\n margin-bottom: 0;\n}\n\n:host(.ic-checkbox-small) .container {\n margin-bottom: var(--ic-space-xxxs);\n}\n\n.checkbox {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n display: block;\n position: relative;\n top: 0;\n left: 0;\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n background-color: var(--ic-checkbox-background-unselected);\n border: var(--ic-border-width) solid var(--ic-checkbox-border-unselected);\n border-radius: var(--ic-border-radius);\n outline: none;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n flex-shrink: 0;\n}\n\n:host .container svg {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.ic-checkbox-small) .checkbox,\n:host(.ic-checkbox-small) .container svg {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n}\n\n:host(.ic-checkbox-large) .checkbox,\n:host(.ic-checkbox-large) .container svg {\n width: var(--ic-space-xl);\n height: var(--ic-space-xl);\n}\n\n.checkbox:checked {\n background-color: var(--ic-checkbox-background-selected);\n border: var(--ic-border-width) solid var(--ic-checkbox-background-selected);\n transition: var(--ic-easing-transition-slow);\n}\n\n.checkbox:checked:disabled {\n background-color: var(--ic-checkbox-background-selected-disabled);\n border: var(--ic-border-width) solid\n var(--ic-checkbox-background-selected-disabled);\n}\n\n.checkbox:indeterminate,\n.checkbox.indeterminate:checked {\n background-color: var(--ic-checkbox-background-indeterminate);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate);\n}\n\n.checkbox:indeterminate:disabled,\n.checkbox.indeterminate:checked:disabled {\n background-color: var(--ic-checkbox-background-indeterminate-disabled);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate-disabled);\n}\n\n.checkbox:checked:hover {\n background-color: var(--ic-checkbox-background-selected-hover);\n}\n\n.checkbox:indeterminate:hover,\n.checkbox.indeterminate:checked:hover {\n background-color: var(--ic-checkbox-background-indeterminate-hover);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate-hover);\n}\n\n.checkbox:checked:active {\n background-color: var(--ic-checkbox-background-selected-pressed);\n}\n\n.checkbox:indeterminate:active,\n.checkbox.indeterminate:checked:active {\n background-color: var(--ic-checkbox-background-indeterminate-pressed);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate-pressed);\n}\n\n.checkbox:hover {\n box-shadow: 0 0 0 0.25rem var(--ic-checkbox-action-background-hover);\n border: var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-hover);\n}\n\n.checkbox:active {\n box-shadow: 0 0 0 0.25rem var(--ic-checkbox-action-background-pressed);\n border: var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-pressed);\n}\n\n.checkbox:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.checkbox:disabled {\n border: var(--ic-border-width) dashed\n var(--ic-checkbox-border-unselected-disabled);\n}\n\n.checkbox-label {\n --ic-typography-color: var(--ic-checkbox-text);\n}\n\n.checkbox-label > label {\n padding-left: var(--ic-space-sm);\n display: inline-block;\n}\n\n::slotted([slot=\"label\"]) {\n padding-left: var(--ic-space-sm) !important;\n color: var(--ic-checkbox-text);\n}\n\n:host(.ic-checkbox-disabled) .checkbox-label {\n color: var(--ic-checkbox-text-disabled);\n\n --ic-typography-color: var(--ic-checkbox-text-disabled);\n}\n\n:host(.ic-checkbox-disabled) ::slotted([slot=\"label\"]) {\n color: var(--ic-checkbox-text-disabled);\n\n --ic-typography-color: var(--ic-checkbox-text-disabled);\n}\n\n.checkbox-label:hover {\n cursor: pointer;\n}\n\n.checkmark {\n position: relative;\n right: calc(-1 * var(--ic-space-lg));\n margin-left: calc(-1 * var(--ic-space-lg));\n fill: var(--ic-checkbox-icon-pressed);\n z-index: 1;\n background-color: transparent;\n pointer-events: none;\n flex-shrink: 0;\n}\n\n:host(.ic-checkbox-small) .checkmark {\n margin-left: calc(-1 * var(--ic-space-md));\n right: calc(-1 * var(--ic-space-md));\n}\n\n:host(.ic-checkbox-large) .checkmark {\n margin-left: calc(-1 * var(--ic-space-xl));\n right: calc(-1 * var(--ic-space-xl));\n}\n\n.indeterminate-symbol {\n position: relative;\n width: 0.875rem;\n height: var(--ic-space-xxxs);\n right: -1.188rem;\n margin-left: -0.875rem;\n z-index: 1;\n background-color: var(--ic-checkbox-icon-indeterminate);\n pointer-events: none;\n flex-shrink: 0;\n}\n\n:host(.ic-checkbox-small) .indeterminate-symbol {\n width: 0.6rem;\n right: -0.8rem;\n margin-left: -0.6rem;\n}\n\n:host(.ic-checkbox-large) .indeterminate-symbol {\n width: 1.25rem;\n right: -1.625rem;\n margin-left: -1.25rem;\n}\n\n.additional-field-wrapper {\n margin-left: calc(var(--ic-space-md) + var(--ic-space-lg));\n margin-top: calc(var(--ic-space-sm) / 2);\n}\n\n.branch-corner {\n height: var(--ic-space-md);\n width: var(--ic-space-xl);\n border-radius: 0 0 0 0.188rem;\n border-bottom: 0.125rem solid var(--ic-checkbox-required-bar);\n border-left: 0.125rem solid var(--ic-checkbox-required-bar);\n}\n\n.dynamic-container {\n display: flex;\n position: relative;\n margin: var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);\n gap: var(--ic-space-xs);\n}\n\n.dynamic-text {\n color: var(--ic-checkbox-required-text);\n\n --ic-typography-color: var(--ic-checkbox-required-text);\n\n margin-top: calc(var(--ic-space-sm) / 2);\n margin-bottom: var(--ic-space-xs);\n border-radius: 2%;\n}\n\n.dynamic-field-container {\n flex: 100%;\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n@media (max-width: 576px) {\n ::slotted(*) {\n --input-width: 100%;\n }\n\n .dynamic-field-container {\n flex: initial;\n }\n}\n\n@media (forced-colors: active) {\n /* Styles here only apply to Forced Colors Mode */\n .checkbox {\n appearance: revert;\n transition: none;\n }\n\n .checkbox:checked {\n transition: none;\n }\n\n .checkbox:focus-visible {\n outline: 0.125rem solid highlight;\n }\n\n .checkbox:disabled:not(:checked) {\n appearance: none;\n border-color: GrayText;\n }\n\n .checkmark {\n fill: none;\n }\n\n .indeterminate-symbol {\n display: none;\n }\n}\n\n/* Right to left */\n.checkmark:dir(rtl) {\n right: 0;\n}\n\n.checkbox-label:dir(rtl) {\n padding-right: var(--ic-space-sm);\n padding-left: 0;\n}\n\n.indeterminate-symbol:dir(rtl) {\n right: 0.288rem;\n}\n\n.branch-corner:dir(rtl) {\n border-radius: 0 0 0.188rem;\n border-right: 0.125rem solid var(--ic-action-default);\n border-left: none;\n}\n\n.dynamic-container:dir(rtl) {\n margin: var(--ic-space-xxxs) var(--ic-space-sm) var(--ic-space-xxs) 0;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport {\n IcAdditionalFieldTypes,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n removeHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\n\n/**\n * @slot additional-field - Content to be displayed alongside a checkbox.\n * @slot label - Label for the checkbox.\n */\n@Component({\n tag: \"ic-checkbox\",\n styleUrl: \"ic-checkbox.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Checkbox {\n private additionalFieldContainer?: HTMLDivElement;\n private checkboxEl?: HTMLInputElement;\n private labelSlot: HTMLElement | null;\n\n @Element() el: HTMLIcCheckboxElement;\n\n /**\n * The style of additionalField that will be displayed if used.\n */\n @Prop({ reflect: true }) additionalFieldDisplay: IcAdditionalFieldTypes =\n \"static\";\n\n /**\n * If `true`, the checkbox will be set to the checked state. This is only the initial state and will be updated to unchecked if the checkbox is clicked.\n */\n @Prop({ reflect: true, mutable: true }) checked = false;\n @State() initiallyChecked = this.checked;\n\n /**\n * If `true`, the checkbox will be set to the disabled state.\n */\n @Prop() disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The text to be displayed when dynamic.\n */\n\n @Prop() dynamicText = \"This selection requires additional answers\";\n\n /**\n * The <form> element to associate the checkbox with.\n */\n @Prop() form?: string;\n\n /**\n * The group label for the checkbox.\n */\n @Prop({ mutable: true }) groupLabel?: string;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel = false;\n\n /**\n * If `true`, the indeterminate state will be displayed when checked.\n */\n @Prop() indeterminate = false;\n @State() displayIndeterminate = this.indeterminate;\n @Watch(\"indeterminate\")\n watchIndeterminateHandler(): void {\n this.displayIndeterminate =\n this.indeterminate && (this.nativeIndeterminateBehaviour || this.checked);\n }\n\n /**\n * The label for the checkbox.\n */\n @Prop() label!: string;\n\n /**\n * The name for the checkbox. If not set when used in a checkbox group, the name will be based on the group name.\n */\n @Prop({ mutable: true }) name?: string;\n\n /**\n * If `true`, the checkbox will behave like a native checkbox where the `indeterminate` prop sets the indeterminate visual styling, independent of the `checked` state.\n */\n @Prop() nativeIndeterminateBehaviour = false;\n\n /**\n * The size of the checkbox to be displayed. This does not affect the font size of the label. If a checkbox is contained in a checkbox group, this will override the size set on checkbox group.\n */\n @Prop({ mutable: true }) size?: IcSizes;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * The value for the checkbox.\n */\n @Prop() value = \"\";\n\n /**\n * Emitted when a checkbox has been checked.\n */\n @Event() icCheck: EventEmitter<void>;\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n\n addFormResetListener(this.el, this.handleFormReset);\n\n const { parentElement } = this.el;\n if (parentElement?.tagName === \"IC-CHECKBOX-GROUP\") {\n const { name, label, size } = parentElement as HTMLIcCheckboxGroupElement;\n\n if (!this.name) this.name = name;\n if (!this.size) this.size = size;\n this.groupLabel = label;\n }\n }\n\n componentDidLoad(): void {\n if (this.hasLabelSlot()) {\n this.arrangeLabel();\n } else {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Checkbox\"\n );\n }\n }\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n this.el\n .querySelectorAll(\"ic-text-field\")\n .forEach((textfield) =>\n textfield.setAttribute(\"disabled\", `${!this.checked}`)\n );\n } else if (this.additionalFieldContainer) {\n this.additionalFieldContainer.style.display = !this.checked\n ? \"none\"\n : \"flex\";\n }\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n /**\n * Sets focus on the checkbox.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.checkboxEl?.focus();\n }\n\n private getCheckboxGroupId() {\n return `ic-checkbox-${this.label}-${this.groupLabel}`.replace(/ /g, \"-\");\n }\n\n private hasLabelSlot() {\n this.labelSlot = this.el.querySelector('[slot=\"label\"]');\n return !!this.labelSlot;\n }\n\n private arrangeLabel() {\n if (this.labelSlot) {\n this.label = this.labelSlot.textContent?.trim() || \"\";\n this.labelSlot.setAttribute(\"for\", this.getCheckboxGroupId());\n if (this.disabled) {\n this.labelSlot.setAttribute(\"aria-disabled\", \"true\");\n }\n }\n }\n\n private handleClick = () => {\n this.checked = !this.checked;\n this.displayIndeterminate =\n !this.nativeIndeterminateBehaviour && this.indeterminate && this.checked;\n this.icCheck.emit();\n };\n\n private handleFormReset = (): void => {\n this.checked = this.initiallyChecked;\n };\n\n render() {\n const {\n additionalFieldDisplay,\n checked,\n disabled,\n displayIndeterminate,\n dynamicText,\n el,\n form,\n handleClick,\n hideLabel,\n label,\n name,\n size,\n theme,\n value,\n } = this;\n\n const inputId = this.getCheckboxGroupId();\n\n const isDynamicAdditionalField = additionalFieldDisplay === \"dynamic\";\n\n checked\n ? renderHiddenInput(el, value, name, disabled)\n : removeHiddenInput(el);\n\n const LabelContent = () =>\n this.hasLabelSlot() ? (\n <slot name=\"label\"></slot>\n ) : (\n <ic-typography class=\"checkbox-label\" variant=\"body\">\n <label htmlFor={inputId}>{label}</label>\n </ic-typography>\n );\n\n return (\n <Host\n class={{\n \"ic-checkbox-disabled\": disabled,\n [`ic-checkbox-${size}`]: !!size,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div class=\"container\">\n {displayIndeterminate ? (\n <div class=\"indeterminate-symbol\" />\n ) : (\n checked && (\n <svg\n class=\"checkmark\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n >\n <title>checkmark icon</title>\n <path d=\"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z\" />\n </svg>\n )\n )}\n <input\n role=\"checkbox\"\n class={{\n checkbox: true,\n checked,\n indeterminate: displayIndeterminate,\n }}\n ref={(el) => (this.checkboxEl = el)}\n type=\"checkbox\"\n name={name}\n id={inputId}\n value={value}\n disabled={disabled}\n checked={checked}\n indeterminate={displayIndeterminate}\n onClick={handleClick}\n form={form}\n aria-label={hideLabel || this.hasLabelSlot() ? label : undefined}\n ></input>\n {!hideLabel && <LabelContent />}\n </div>\n <span\n id={`${inputId}-additional-field-description`}\n role=\"alert\"\n class=\"sr-only\"\n >\n {isDynamicAdditionalField && checked ? dynamicText : \"\"}\n </span>\n {isSlotUsed(el, \"additional-field\") && (\n <div\n class=\"dynamic-container\"\n ref={(el) => (this.additionalFieldContainer = el)}\n >\n {isDynamicAdditionalField && <div class=\"branch-corner\"></div>}\n <div class=\"dynamic-field-container\">\n {isDynamicAdditionalField && (\n <ic-typography variant=\"caption\">\n <p class=\"dynamic-text\">\n {isDynamicAdditionalField && checked ? dynamicText : \"\"}\n </p>\n </ic-typography>\n )}\n <div\n class={{\n \"additional-field-wrapper\": !isDynamicAdditionalField,\n }}\n >\n <slot name=\"additional-field\"></slot>\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +0,0 @@
1
- import{r as i,c as t,h as a,H as e,g as s}from"./p-8e4e97b4.js";import{c as o}from"./p-f074ef5b.js";import{C as n}from"./p-3b185c32.js";import{C as d,f as l,D as r,g as p,i as c,P as h,h as v,o as g,y as m,I as b,e as u}from"./p-dbc8bf0c.js";import"./p-6215e2ae.js";const f=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="currentColor">\n <path d="M0 0h24v24H0V0z" fill="none" />\n <path d="M3 18h18v-2H3v2zm0-5h18v-2H3v2zm0-7v2h18V6H3z" />\n <title>menu icon</title>\n</svg>\n`;const y=':host{display:block;--ic-typography-color:currentcolor;--side-navigation-position:fixed;--side-navigation-position-left:0;--side-navigation-position-top:var(--ic-space-xxl);--side-navigation-height:var(--ic-space-xxl);--sm-side-navigation-top-bar-height:3.5rem;--sm-side-navigation-collapsed-labels-width:6rem;--sm-side-navigation-expand-transition-duration:var(\n --ic-transition-duration-slow\n );--side-navigation-width:20rem;--sm-side-navigation-bottom-bar-height:3.5rem;--keyline-lighten:var(--ic-space-1px) solid var(--ic-side-navigation-keyline);--keyline-darken:var(--ic-space-1px) solid var(--ic-state-layer-darken-20);--ic-button-secondary-text-monochrome:var(--ic-brand-text-color);--ic-button-secondary-border-monochrome:var(--ic-brand-text-color);z-index:var(--ic-z-index-side-navigation)}:host>*{box-sizing:border-box}.side-navigation{display:flex;flex-direction:column;width:var(--side-navigation-width);color:var(--ic-side-navigation-text);position:var(--side-navigation-position);top:var(--side-navigation-position-top);left:calc(var(--side-navigation-width) * -1);bottom:0;background-color:var(--ic-side-navigation-background);z-index:var(--ic-z-index-side-navigation)}:host(.ic-side-navigation-inline) .side-navigation{position:absolute;height:100%}:host(.anchor-right) .side-navigation{right:calc(var(--side-navigation-width) * -1)}.classification-spacing{margin-bottom:var(--ic-space-lg)}.navigation-list{padding:0;margin:0;list-style:none}.side-navigation-inner{background-color:var(--ic-side-navigation-background);display:flex;flex-direction:column;flex:1 1 4rem;overflow:auto}:host(.ic-side-navigation-inline) .side-navigation-inner{flex:1}:host(.xs-menu-open) .side-navigation{transition:left var(--ic-easing-transition-slow);left:0}:host(:has(.xs-menu-open,.xs-menu-close)) ::slotted(ic-navigation-item){--navigation-item-side-nav-right:var(--ic-space-xl)}:host(.xs-menu-close) .side-navigation{left:calc(var(--side-navigation-width) * -1);transition:left var(--ic-easing-transition-slow)}:host(.xs-menu-close) .side-navigation>*{visibility:hidden}:host(.anchor-right.xs-menu-open) .side-navigation{right:0;left:auto}:host(.anchor-right.xs-menu-close) .side-navigation{right:calc(var(--side-navigation-width) * -1);left:auto;transition:right var(--ic-easing-transition-slow)}.bottom-wrapper{border-top:var(--keyline-lighten);bottom:0;left:0;z-index:2;background-color:var(--ic-side-navigation-background);display:flex;flex-direction:column}:host(.ic-side-navigation-inline) .bottom-wrapper{position:sticky}:host(.ic-side-navigation-dark) .bottom-wrapper{border-top:var(--keyline-darken)}.top-bar{display:flex;flex-direction:row;align-items:center;min-height:var(--side-navigation-height);padding:var(--ic-space-xs);box-sizing:border-box;background-color:var(--ic-side-navigation-background);position:fixed;top:0;left:0;right:0;border-bottom:var(--keyline-lighten);box-shadow:var(--ic-elevation-overlay);z-index:2;overflow:hidden;visibility:visible}:host(.ic-side-navigation-inline) .top-bar{position:absolute}:host(.ic-side-navigation-dark) .top-bar{border-bottom:var(--keyline-darken)}.top-bar.dark a:focus{box-shadow:var(--ic-border-focus)}.app-title-wrapper{display:flex;margin-left:var(--ic-space-xs);border-left:var(--keyline-lighten);padding-left:var(--ic-space-xxs);color:var(--ic-side-navigation-text);align-items:center}:host(.ic-side-navigation-dark) .app-title-wrapper{border-left:var(--keyline-darken)}.app-title-wrapper ic-typography h1{margin:0}@media screen and (min-width: 340px){.app-title-wrapper ic-typography{margin-left:var(--ic-space-xs)}}:host .title-link{display:flex;align-items:center;transition:box-shadow var(--ic-easing-transition-fast),\n background-color var(--ic-easing-transition-fast);text-decoration:none;padding:var(--ic-space-xxs);color:var(--ic-side-navigation-text)}:host .title-link:visited,:host .title-link:active{color:var(--ic-side-navigation-text)}slot[name="app-title"]::slotted(a),slot[name="app-icon"]::slotted(a){color:var(--ic-side-navigation-text);outline:none;text-decoration:none;display:flex}slot[name="app-title"]::slotted(ic-typography),slot[name="app-title"]::slotted(a){margin-left:var(--ic-space-xs) !important}slot[name="app-title"]::slotted(a){font:var(--ic-font-subtitle-small)}@media screen and (min-width: 577px){:host(.sm-collapsed) slot[name="app-title"]::slotted(ic-typography),:host(.sm-collapsed) slot[name="app-title"]::slotted(a){position:absolute;left:-9999px;opacity:0;transition:opacity var(--ic-easing-transition-slow)}:host(.sm-collapsed) slot[name="app-title"]:dir(rtl)::slotted(ic-typography),:host(.sm-collapsed) slot[name="app-title"]:dir(rtl)::slotted(a){right:-9999px}:host(.sm-expanded) slot[name="app-title"]::slotted(a){font:var(--ic-font-h3) !important;font-weight:var(--ic-font-weight-semibold) !important;margin-left:var(--ic-space-xs) !important}}:host .title-link:hover{border-radius:var(--ic-border-radius);background-color:var(--ic-side-navigation-hover)}:host .title-link:active{background-color:var(--ic-side-navigation-pressed)}:host .title-link:focus,:host .title-link:focus-within{border-radius:var(--ic-border-radius);box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline);background-color:transparent}:host .title-link ic-typography{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.app-title-wrapper ::slotted(svg){fill:var(--ic-side-navigation-text)}.app-icon-container{display:none}.button-label{display:flex;align-items:center}.mobile-top-bar-menu-icon{display:flex}.menu-button{width:6.5rem}.app-status-wrapper{inset:0 var(--ic-space-sm) 0 3.5rem;width:auto;display:flex;gap:var(--ic-space-xs);padding:var(--ic-space-sm) 0;justify-content:flex-end;align-items:flex-end;pointer-events:none;height:-moz-fit-content;height:fit-content;margin:0 var(--ic-space-xs)}.app-status-wrapper .app-version{display:flex;overflow-wrap:break-word;padding-bottom:var(--ic-space-xxs)}.app-status-wrapper .app-status{display:flex;border-radius:1rem;background-color:var(--ic-side-navigation-text);color:var(--ic-side-navigation-status-tag-text);padding:var(--ic-space-xxs) var(--ic-space-lg);min-width:1rem}.app-status-wrapper .app-status-text{overflow-wrap:break-word}:host(.ic-side-navigation-dark) .app-status-wrapper .app-status{--ic-typography-color:var(--ic-architectural-white)}.navigation-landmark-title{position:absolute;width:var(--ic-space-1px);height:var(--ic-space-1px);padding:0;margin:calc(-1 * var(--ic-space-1px));overflow:hidden}::slotted(ic-navigation-group){--navigation-group-height:2.75rem;--navigation-group-justify-content:space-between;--navigation-group-hover:var(--ic-side-navigation-hover);--navigation-group-text-hover:var(--ic-side-navigation-text);--navigation-item-child-height:3.5rem;--navigation-item-child-active:var(--ic-action-dark-bg-pressed);--navigation-item-child-color:var(--ic-side-navigation-text);--navigation-group-expand-toggle-padding:0.25rem}::slotted(ic-navigation-item),::slotted(ic-navigation-group){--navigation-item-justify-content:flex-start;--navigation-item-min-height:56px;--navigation-item-height:auto}.bottom-side-nav{position:relative;align-content:flex-end;min-height:var(--sm-side-navigation-top-bar-height)}.bottom-side-nav ic-divider{position:absolute;top:0}.primary-navigation{flex:1;display:flex;flex-direction:column;overflow-y:auto;scrollbar-width:none}.primary-navigation::-webkit-scrollbar{display:none}.primary-navigation,.secondary-navigation{overflow-x:hidden}.bottom-side-nav .menu-expand-button{position:absolute;display:none}.menu-visibility-visible{visibility:visible;width:100%}.app-title-show{min-width:15.5rem}:host(.side-display){display:flex;flex-direction:column;height:100vh;position:var(--side-navigation-position);left:0;top:0;bottom:0}:host(.side-display) .app-icon-container{height:40px;display:flex;align-items:center}:host(.side-display) .top-bar{--side-navigation-height:var(--sm-side-navigation-top-bar-height);position:relative;padding:0;box-shadow:none}:host(.ic-side-navigation-inline.side-display) .top-bar{position:sticky}:host(.anchor-right.side-display) .top-bar{box-shadow:0.188rem 0.188rem 0.5rem rgb(0 0 0 / 20%)}:host(.anchor-right.side-display) .bottom-wrapper{box-shadow:0.188rem -0.188rem 0.5rem rgb(0 0 0 / 20%)}:host(.side-display) .side-navigation,:host(.side-display) .top-bar{width:var(--sm-side-navigation-top-bar-height)}:host(.sm-collapsed.side-display){width:var(--sm-side-navigation-top-bar-height);transition:width var(--ic-easing-transition-slow)}:host(.sm-collapsed.collapsed-labels.side-display){width:var(--sm-side-navigation-collapsed-labels-width)}:host(.sm-expanded.side-display){width:var(--side-navigation-width);transition:width var(--ic-easing-transition-slow);box-shadow:var(--ic-elevation-overlay)}:host(.side-display) .side-navigation{--side-navigation-position-top:0;flex:1;position:relative;top:auto;left:auto;bottom:auto}:host(.ic-side-navigation-inline.side-display) .side-navigation{position:relative}:host(.anchor-right.side-display) .side-navigation{left:auto;right:0}:host(.side-display) .app-title-wrapper{margin-left:0;border-left:none;padding:var(--ic-space-xs) var(--ic-space-sm)}:host(.side-display) .app-title-wrapper ::slotted(svg){height:var(--ic-space-lg);width:var(--ic-space-lg)}:host(.side-display) .app-title-wrapper ic-typography{font-weight:var(--ic-font-weight-semibold)}:host(.sm-collapsed.side-display) .app-title-wrapper ic-typography{position:absolute;left:-9999px;opacity:0;transition:opacity var(--ic-easing-transition-slow)}:host(.sm-collapsed.side-display) .app-title-wrapper ic-typography:dir(rtl){right:-9999px}:host(.sm-expanded.side-display) ic-typography{position:relative;left:0}:host(.sm-expanded.side-display) :is(.side-navigation,.top-bar){width:var(--side-navigation-width);transition:width var(--ic-easing-transition-slow)}:host(.sm-collapsed.side-display) :is(.side-navigation,.top-bar){width:var(--sm-side-navigation-top-bar-height);transition:width var(--ic-easing-transition-slow)}:host(.anchor-right.sm-expanded.side-display) :is(.side-navigation,.top-bar){left:auto;right:0}:host(.side-display) .app-status-wrapper,:host(.sm-collapsed.side-display) .app-status-wrapper{display:none;margin-left:0}:host(.sm-expanded.side-display) .app-status-wrapper{display:flex;max-width:16rem;margin-right:calc(var(--ic-space-xxxs) + var(--ic-space-xs))}:host(.side-display) .bottom-side-nav{justify-items:flex-end;align-items:flex-end;justify-content:flex-end;display:flex;outline:none}:host(.side-display) .bottom-side-nav .menu-expand-button{padding-left:var(--ic-space-md);height:var(--sm-side-navigation-top-bar-height);width:100%;color:var(--ic-side-navigation-text);background-color:transparent;outline:var(--ic-hc-focus-outline);border:none;cursor:pointer;display:flex;transition:var(--ic-easing-transition-fast)}:host(.sm-expanded.side-display) .bottom-side-nav .menu-expand-button{height:100%}:host(.side-display) .bottom-side-nav .menu-expand-button svg{justify-items:flex-start;align-self:center;display:inline-block;width:var(--ic-space-lg);height:var(--ic-space-lg)}:host(.side-display) .bottom-side-nav .menu-expand-button:hover{background-color:var(--ic-side-navigation-hover)}:host(.side-display) .bottom-side-nav .menu-expand-button:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);background-color:transparent}:host(.sm-collapsed.side-display) .bottom-side-nav .menu-expand-button svg{transform:scaleX(1);transition:transform var(--ic-easing-transition-slow)}:host(.sm-expanded.side-display) .bottom-side-nav .menu-expand-button svg{transform:scaleX(-1);transition:transform var(--ic-easing-transition-slow);align-self:flex-end;margin-bottom:0.875rem}:host(.anchor-right.sm-collapsed.side-display) .bottom-side-nav .menu-expand-button svg{transform:scaleX(-1)}:host(.anchor-right.sm-expanded.side-display) .bottom-side-nav .menu-expand-button svg{transform:scaleX(1)}:host(.sm-collapsed.side-display) ::slotted(ic-navigation-item){--navigation-item-label-opacity:1}:host(.sm-collapsed.side-display) ::slotted(ic-navigation-item),:host(.sm-collapsed.side-display) ::slotted(ic-navigation-group){--navigation-item-label-opacity:0;--navigation-item-min-height:3.5rem;--navigation-item-height:3.5rem}:host(.sm-expanded.side-display) ::slotted(ic-navigation-item),:host(.sm-expanded.side-display) ::slotted(ic-navigation-group){--navigation-item-label-opacity:1;--navigation-item-height:auto;--navigation-item-min-height:3.5rem;--navigation-item-width:20rem;--navigation-item-side-nav-right:var(--ic-space-xl);--navigation-group-width:20rem}:host(.sm-collapsed.side-display) ::slotted(ic-navigation-group){--navigation-group-title-position:absolute;--navigation-group-title-position-left:-9999px;--navigation-group-title-opacity:none}:host(.sm-expanded.side-display) ::slotted(ic-navigation-group){--navigation-group-title-position:relative;--navigation-group-title-position-left:0;--navigation-group-expand-toggle-padding:0.25rem;--navigation-group-title-opacity:flex}:host(.sm-collapsed.collapsed-labels.side-display) .side-navigation,:host(.sm-collapsed.collapsed-labels.side-display) .top-bar{width:var(--sm-side-navigation-collapsed-labels-width)}:host(.sm-collapsed.collapsed-labels.side-display) .menu-expand-button{padding:0}:host(.sm-collapsed.collapsed-labels.side-display) .app-title-wrapper{width:100%;justify-content:center}:host(.sm-collapsed.collapsed-labels.side-display) ::slotted(ic-navigation-group){--navigation-group-justify-content:center;--navigation-item-label-opacity:1;--navigation-group-item-min-width:100%;--navigation-group-expand-toggle-padding:1rem}:host(.collapsed-labels.side-display) .bottom-side-nav .menu-expand-button{justify-content:center}:host(.side-display) .collapsed-icon-labels-start{visibility:hidden;opacity:0}:host(.side-display) .collapsed-icon-labels-end{visibility:visible;opacity:1;transition:visibility 0s, opacity var(--ic-easing-transition-slow)}@media screen and (max-width: 419px){.top-bar{height:var(--side-navigation-height)}}@media screen and (max-width: 319px){.side-navigation{width:100%}}@media screen and (min-width: 340px){.app-icon-container{display:flex}}@media screen and (min-width: 993px){:host(.side-display){position:sticky;left:auto;top:0;bottom:0}:host(.sm-expanded.side-display){box-shadow:none}}@media (forced-colors: active){.side-navigation,.top-bar{border-right:var(--ic-border-hc)}.menu-expand-button{color:Highlight !important}slot[name="app-icon"]::slotted(svg){fill:currentcolor}}';const x=y;const w=class{constructor(e){i(this,e);this.icSideNavExpanded=t(this,"icSideNavExpanded",7);this.ANIMATION_DURATION=parseInt(d("--ic-transition-duration-slow"))||0;this.IC_NAVIGATION_ITEM="ic-navigation-item";this.resizeObserver=null;this.COLLAPSED_ICON_LABELS_END="collapsed-icon-labels-end";this.COLLAPSED_ICON_LABELS_START="collapsed-icon-labels-start";this.deviceSize=l();this.deviceSizeAppTitle=r.S;this.foregroundColor=p();this.hasSecondaryNavigation=false;this.menuExpanded=false;this.menuOpen=false;this.closeOnNavItemClick=false;this.collapsedIconLabels=false;this.disableAutoParentStyling=false;this.disableTopBarBehaviour=false;this.expanded=false;this.href="/";this.inline=false;this.shortAppTitle="";this.static=false;this.emitSideNavigationExpanded=i=>{this.icSideNavExpanded.emit({sideNavExpanded:i.sideNavExpanded,sideNavMobile:!!i.sideNavMobile})};this.toggleMenu=()=>{this.menuOpen=!this.menuOpen;this.setMobileMenuAriaAttributes(this.menuOpen);this.arrangeSlottedNavigationItem(this.menuOpen);this.setToggleMenuFlyoutMenuVisibility(this.menuOpen);this.emitSideNavigationExpanded({sideNavExpanded:this.menuOpen,sideNavMobile:true})};this.setToggleMenuFlyoutMenuVisibility=i=>{var t;const a=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector("#side-navigation");const e=a.querySelector(".side-navigation-inner");const s=a.querySelector(".bottom-wrapper");const o="menu-visibility-visible";if(i){s.classList.add(o);e.classList.add(o)}else{setTimeout((()=>{e.classList.remove(o);s.classList.remove(o)}),this.ANIMATION_DURATION)}};this.setMobileMenuAriaAttributes=i=>{if(this.menuButton){this.menuButton.setAttribute("aria-expanded",`${i}`);this.menuButton.setAttribute("aria-label",`${i?"Close":"Open"} navigation menu`)}};this.setAndRemoveNoWrapAfterMenuExpanded=()=>{var i;const t=((i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector(".title-link ic-typography"))||this.el.querySelector("[slot='app-title']");t===null||t===void 0?void 0:t.classList.add("ic-typography-no-wrap");setTimeout((()=>{t===null||t===void 0?void 0:t.classList.remove("ic-typography-no-wrap")}),this.ANIMATION_DURATION)};this.toggleMenuExpanded=i=>{var t,a,e,s;this.menuExpanded=i;if(this.menuExpanded){this.setAndRemoveNoWrapAfterMenuExpanded();(a=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(".app-title-inner-wrapper"))===null||a===void 0?void 0:a.classList.add("app-title-show")}else{this.el.style.setProperty("--navigation-item-width","320px");(s=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(".app-title-inner-wrapper"))===null||s===void 0?void 0:s.classList.remove("app-title-show");this.el.addEventListener("transitionend",(i=>{if(i.propertyName==="width"){this.el.style.setProperty("--navigation-item-width",null)}}))}this.arrangeSlottedNavigationItem(this.menuExpanded);this.displayTooltipWithExpandedLongLabel(this.menuExpanded);if(this.collapsedIconLabels){this.animateCollapsedIconLabels()}this.setExpandedButtonHeight();this.emitSideNavigationExpanded({sideNavExpanded:this.menuExpanded})};this.arrangeSlottedNavigationItem=i=>{const t=this.el.querySelectorAll("ic-navigation-item");t.forEach((t=>{var a;const e=c(t,"navigation-item");const s=t.children[0]&&!t.children[0].getAttribute("slot");if(e||s){let s;if(e){s=t.querySelector("[slot='navigation-item']")}else{s=t.children[0]}const o=document.createElement("div");const n=s===null||s===void 0?void 0:s.querySelector("svg");const d=s===null||s===void 0?void 0:s.querySelector("ic-badge");const l=(a=t.textContent)===null||a===void 0?void 0:a.trim();const r=document.createElement("ic-typography");r.classList.add("ic-typography-label","hydrated","navigation-item-side-nav-slotted-text");o.style.position="relative";o.style.height="var(--ic-space-lg)";n&&o.append(n);d&&o.append(d);if(l){r.textContent=l}if(s){s.textContent="";s.append(o);s.append(r)}if(this.collapsedIconLabels){this.styleSlottedCollapsedIconLabels(!!i,r)}else{this.styleSlottedIconLabels(!!i,r)}}}))};this.styleSlottedCollapsedIconLabels=(i,t)=>{if(i){t.style.marginTop="0";t.style.whiteSpace="nowrap";t.style.overflow="hidden";t.style.textOverflow="ellipsis"}else{t.style.marginTop="10px";t.style.whiteSpace="nowrap";t.style.overflow="hidden";t.style.textOverflow="ellipsis"}};this.setExpandedButtonHeight=()=>{var i;const t=(i=this.el.shadowRoot)===null||i===void 0?void 0:i.querySelector("#side-navigation > .bottom-wrapper > .bottom-side-nav > .app-status-wrapper");if(t.offsetHeight!==0){this.el.style.setProperty("--sm-side-navigation-bottom-bar-height",`${t.offsetHeight}px`)}};this.styleSlottedIconLabels=(i,t)=>{if(i){t.style.opacity="1";t.style.visibility="visible";t.style.transition="visibility 0s, opacity var(--ic-easing-transition-slow)"}else{t.style.opacity="0";t.style.visibility="hidden";t.style.transition="visibility 0s, opacity var(--ic-easing-transition-slow)"}};this.transitionHandler=i=>{var t,a;const e=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(".primary-navigation");const s=(a=this.el.shadowRoot)===null||a===void 0?void 0:a.querySelector(".bottom-wrapper > .secondary-navigation");const o=i==="start"?this.COLLAPSED_ICON_LABELS_END:this.COLLAPSED_ICON_LABELS_START;const n=i==="start"?this.COLLAPSED_ICON_LABELS_START:this.COLLAPSED_ICON_LABELS_END;if(e){e.classList.remove(o);e.classList.add(n)}if(s){s.classList.remove(o);s.classList.add(n)}};this.transitionEndHandler=()=>{this.transitionHandler("end")};this.animateCollapsedIconLabels=()=>{this.transitionHandler("start");this.transitionEndHandler();this.el.addEventListener("transitionend",this.transitionEndHandler)};this.paddingIconWidth=i=>{const t=i[0].shadowRoot&&(i[0].shadowRoot.querySelector("ic-tooltip a")||i[0].shadowRoot.querySelector("ic-tooltip div"))||i[0].querySelector("a")||i[0].querySelector("div");const a=i[0].querySelector("svg");if(t&&a){const i={gap:window.getComputedStyle(t).gap,iconWidth:window.getComputedStyle(a).width,paddingLeft:window.getComputedStyle(t).paddingLeft};return Object.values(i).reduce(((i,t)=>i+=parseInt(t)),0)}return 0};this.displayTooltipWithExpandedLongLabel=i=>{let t;if(i){t=setTimeout((()=>{const i=this.el.clientWidth;const t=Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));const a=t.length?this.paddingIconWidth(t):0;t.forEach((t=>{var e,s;const o=((e=t.shadowRoot&&t.shadowRoot.querySelector("ic-tooltip .link ic-typography.ic-typography-label"))===null||e===void 0?void 0:e.scrollWidth)||((s=t.querySelector("ic-typography.ic-typography-label"))===null||s===void 0?void 0:s.scrollWidth);if(o&&o>i-a){t.setAttribute("display-navigation-tooltip","true")}}))}),this.ANIMATION_DURATION)}else{clearTimeout(t);const i=Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));i.forEach((i=>{i.setAttribute("display-navigation-tooltip","false")}))}};this.setMenuExpanded=i=>{this.menuExpanded=i};this.handleNavItemClicked=()=>{if(!this.menuOpen&&this.deviceSize>r.S&&this.menuExpanded){setTimeout((()=>{this.toggleMenuExpanded(false)}),0)}};this.setParentPaddingTop=i=>{var t;(t=this.el.parentElement)===null||t===void 0?void 0:t.style.setProperty("padding-top",i)};this.setParentPaddingLeft=i=>{var t;(t=this.el.parentElement)===null||t===void 0?void 0:t.style.setProperty("padding-left",i)};this.renderAppTitle=i=>{const t=this.deviceSize<=r.S&&!h(this.shortAppTitle);return a("ic-typography",{variant:t||i?"subtitle-small":"h3","aria-label":t?`${this.appTitle} (${this.shortAppTitle})`:undefined},a("h1",null,t?this.shortAppTitle:this.appTitle))};this.resizeObserverCallback=i=>{var t,a,e,s;this.deviceSize=i;const o=i===r.S&&!this.disableTopBarBehaviour;if(!this.disableAutoParentStyling){const i=(a=(t=this.el.shadowRoot)===null||t===void 0?void 0:t.querySelector(".top-bar"))===null||a===void 0?void 0:a.scrollHeight;this.setParentPaddingTop(o?`${i}px`:"0");if(o)this.setParentPaddingLeft("0");if(o&&this.inline){(e=this.el.parentElement)===null||e===void 0?void 0:e.style.setProperty("height",`calc(100% - ${i}px)`)}else if(!o){(s=this.el.parentElement)===null||s===void 0?void 0:s.style.setProperty("height","100%")}}const n=i>r.S||this.disableTopBarBehaviour;if(!this.disableAutoParentStyling){const t=`calc(var(--ic-space-xxl) ${this.collapsedIconLabels?"* 2":"+ var(--ic-space-xs)"})`;if(i>r.L){this.setParentPaddingTop("0");this.setParentPaddingLeft("0")}else if(n&&i<=r.M&&this.static){this.setParentPaddingLeft(t)}else if(n&&i<=r.L){this.setParentPaddingLeft(this.static&&this.menuExpanded?"calc(var(--ic-space-xl) * 10)":t)}}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{const i=l();this.deviceSizeAppTitle=i;this.resizeObserverCallback(i)}));this.resizeObserver.observe(document.body,{box:"content-box"})};this.setCollapsedIconLabels=()=>{const i=Array.from(this.el.querySelectorAll(this.IC_NAVIGATION_ITEM));i.forEach((i=>{i.setAttribute("collapsed-icon-label","true")}))};this.styleSlottedCollapsedIconLabel=()=>{const i=Array.from(this.el.querySelectorAll(".navigation-item-side-nav-slotted-text"));i.forEach((i=>{var t,a;if((a=(t=i.parentElement)===null||t===void 0?void 0:t.parentElement)===null||a===void 0?void 0:a.classList.contains("navigation-item-side-nav-collapsed-with-label")){i.style.whiteSpace="nowrap";i.style.overflow="hidden";i.style.textOverflow="ellipsis";i.style.marginTop="10px"}}))};this.renderTopBar=({isSDevice:i,foregroundColor:t,menuOpen:e,href:s,isAppNameSubtitleVariant:n})=>{const d=this.appTitle!==""&&u(this.appTitle);const l=c(this.el,"app-title")?"div":"a";const r=l=="a"&&{href:s};return a("div",{class:{"top-bar":true,[this.foregroundColor]:true}},i&&a("nav",{"aria-labelledby":"menu-navigation-toggle-button-landmark","aria-hidden":"false"},a("ic-button",{"aria-label":"Open navigation menu",class:"menu-button",id:"menu-button",variant:"secondary",size:"small","full-width":"true",theme:t=="default"||t=="light"?"light":"dark",monochrome:true,onClick:this.toggleMenu,ariaOwnsId:"side-navigation","aria-haspopup":"true","aria-expanded":"false",ref:i=>this.menuButton=i},a("span",{class:"mobile-top-bar-menu-icon",slot:"left-icon",innerHTML:e?o:f}),e?"Close":"Menu"),a("span",{id:"menu-navigation-toggle-button-landmark",class:"navigation-landmark-title","aria-hidden":"true"},"Navigation menu toggle button")),a("div",{class:"app-title-wrapper"},(d||c(this.el,"app-title"))&&a(l,Object.assign({},r,{class:"title-link"}),a("div",{class:"app-icon-container","aria-hidden":"true"},a("slot",{name:"app-icon"})),a("div",{class:"app-title-inner-wrapper"},c(this.el,"app-title")?a("slot",{name:"app-title"}):this.renderAppTitle(n)))))}}watchExpandedHandler(){this.toggleMenuExpanded(this.expanded)}componentWillLoad(){this.setMenuExpanded(this.expanded);if(this.collapsedIconLabels){this.setCollapsedIconLabels()}this.hasSecondaryNavigation=c(this.el,"secondary-navigation")}componentDidLoad(){this.emitSideNavigationExpanded({sideNavExpanded:this.menuExpanded,sideNavMobile:this.deviceSize===r.S&&!this.disableTopBarBehaviour});v(this.runResizeObserver);this.styleSlottedCollapsedIconLabel();this.arrangeSlottedNavigationItem(this.menuExpanded);this.displayTooltipWithExpandedLongLabel(this.menuExpanded);this.setExpandedButtonHeight();if(this.closeOnNavItemClick){this.el.addEventListener("navItemClicked",this.handleNavItemClicked)}!c(this.el,"app-title")&&g([{prop:this.appTitle,propName:"app-title"}],"Side Navigation")}disconnectedCallback(){var i;if(this.resizeObserver!==null){this.resizeObserver.disconnect()}(i=this.el)===null||i===void 0?void 0:i.removeEventListener("transitionend",this.transitionEndHandler);if(this.closeOnNavItemClick){this.el.removeEventListener("navItemClicked",this.handleNavItemClicked)}}brandChangeHandler({detail:i}){this.foregroundColor=i.mode}render(){const{appTitle:i,menuOpen:t,foregroundColor:s,menuExpanded:o,href:d,status:l,version:p,collapsedIconLabels:h,inline:v}=this;const g=!this.disableTopBarBehaviour&&this.deviceSize===r.S;const u=this.disableTopBarBehaviour&&this.deviceSize===r.S;const f=this.deviceSize===r.M;const y=this.deviceSize>=r.L;const x=this.deviceSizeAppTitle===r.S;const w=f||u||y&&!this.static;const k={isSDevice:g,foregroundColor:s,menuOpen:t,href:d,isAppNameSubtitleVariant:x,appTitle:i||""};return a(e,{key:"2ca241755bb10821d8557f559592d4dd0760b887",class:{"xs-menu-open":t&&g,"xs-menu-close":!t&&g,"sm-collapsed":!g&&!o,"sm-expanded":!g&&o,"side-display":this.deviceSize>r.S||!!this.disableTopBarBehaviour,[`ic-side-navigation-${b.Dark}`]:s===b.Dark,["collapsed-labels"]:!g&&!o&&!!h,["ic-side-navigation-inline"]:!!v}},g&&this.renderTopBar(Object.assign({},k)),a("div",{key:"aa5762da7c66f9017e74d98b9d036cb14c69ec19",class:"side-navigation",id:"side-navigation"},!g&&this.renderTopBar(Object.assign({},k)),a("div",{key:"df39cd75e1e5386c9b199966244b420e0ef0d448",class:"side-navigation-inner"},c(this.el,"primary-navigation")&&a("nav",{key:"8f5a9af9ec882ed1e313ce9273db4d6ab477a990",class:"primary-navigation","aria-labelledby":"primary-navigation-landmark"},a("span",{key:"a91c060ed0c0294e6fdc99c995430058b753e4cd","aria-hidden":"true",class:"navigation-landmark-title",id:"primary-navigation-landmark"},"Primary"),a("ul",{key:"060f365653046b8088c9161231c4001d39643e29",class:"navigation-list"},a("slot",{key:"b761659a332a7734c798ba61dee24ca7754cf96b",name:"primary-navigation"})))),a("div",{key:"a5be3e27f68f9314e107babba3e1b61e3dba27b4",class:{["bottom-wrapper"]:true,["classification-spacing"]:m()}},c(this.el,"secondary-navigation")&&a("nav",{key:"eb981c93add2bce4f244cef2072ddbe9004920da",class:"secondary-navigation","aria-labelledby":"secondary-navigation-landmark"},a("span",{key:"14093650feb9f7836d21e5e9c23025f161aa0a03","aria-hidden":"true",class:"navigation-landmark-title",id:"secondary-navigation-landmark"},"Secondary"),a("ul",{key:"2fc5d7119e42ad1a699c19f401542441f3c38101",class:"navigation-list"},a("slot",{key:"de673e94462c14ea82eef271b1094d53b60fb3c0",name:"secondary-navigation"}))),a("div",{key:"8c187281a890650aa75aba49154e1bd64e37df00",class:"bottom-side-nav"},this.hasSecondaryNavigation&&a("ic-divider",{key:"ec8d437485b0554ceaeaee4fd6eb7f8215c1f2c4"}),w&&a("button",{key:"44733bc053b72179fe49c1a3156ed1a6d389ea35",class:"menu-expand-button",innerHTML:n,onClick:()=>this.toggleMenuExpanded(!this.menuExpanded),"aria-label":`${o?"Collapse":"Expand"} side navigation`}),a("div",{key:"0c46f90bab1c162677caf7f3a1e2e97b83f4b21f",class:"app-status-wrapper"},l&&a("div",{key:"0ff477aa184a44aacf5c04d4a6a635ec133722be",class:{["app-status"]:true}},a("ic-typography",{key:"5fe36c925f766f7db841f70ed9bcefeea1b7346e","aria-label":"app tag",variant:"label-uppercase",class:"app-status-text"},l)),p&&a("ic-typography",{key:"01e44f6858a26def4f6ae9996990e5d8f4d584b6",variant:"label",class:"app-version","aria-label":"app version"},p))))))}get el(){return s(this)}static get watchers(){return{expanded:["watchExpandedHandler"]}}};w.style=x;export{w as ic_side_navigation};
2
- //# sourceMappingURL=p-9b60ca02.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icSideNavigationCss","IcSideNavigationStyle0","SideNavigation","constructor","hostRef","this","ANIMATION_DURATION","parseInt","getCssProperty","IC_NAVIGATION_ITEM","resizeObserver","COLLAPSED_ICON_LABELS_END","COLLAPSED_ICON_LABELS_START","deviceSize","getCurrentDeviceSize","deviceSizeAppTitle","DEVICE_SIZES","S","foregroundColor","getBrandForegroundAppearance","hasSecondaryNavigation","menuExpanded","menuOpen","closeOnNavItemClick","collapsedIconLabels","disableAutoParentStyling","disableTopBarBehaviour","expanded","href","inline","shortAppTitle","static","emitSideNavigationExpanded","objDetails","icSideNavExpanded","emit","sideNavExpanded","sideNavMobile","toggleMenu","setMobileMenuAriaAttributes","arrangeSlottedNavigationItem","setToggleMenuFlyoutMenuVisibility","sideNav","_a","el","shadowRoot","querySelector","sideNavInner","bottomWrapper","menuVisibilityVisible","classList","add","setTimeout","remove","menuButton","setAttribute","setAndRemoveNoWrapAfterMenuExpanded","appTitle","toggleMenuExpanded","_b","style","setProperty","_d","_c","addEventListener","e","propertyName","displayTooltipWithExpandedLongLabel","animateCollapsedIconLabels","setExpandedButtonHeight","navItems","querySelectorAll","forEach","navItem","isNamedSlot","isSlotUsed","isUnnamedSlot","children","getAttribute","navItemSlot","iconWrapper","document","createElement","icon","badge","label","textContent","trim","icTypography","position","height","append","styleSlottedCollapsedIconLabels","styleSlottedIconLabels","marginTop","whiteSpace","overflow","textOverflow","appStatusWrapper","offsetHeight","opacity","visibility","transition","transitionHandler","type","primaryNavigationWrapper","secondaryNavigationWrapper","classToRemove","classToAdd","transitionEndHandler","paddingIconWidth","navItemLink","navItemSVG","navStyles","gap","window","getComputedStyle","iconWidth","width","paddingLeft","Object","values","reduce","prev","curr","timer","sideNavWidth","clientWidth","navigationItems","Array","from","paddingIconDelta","length","navigationItem","icTypographyScrollWidth","scrollWidth","clearTimeout","setMenuExpanded","handleNavItemClicked","setParentPaddingTop","value","parentElement","setParentPaddingLeft","renderAppTitle","isAppNameSubtitleVariant","displayShortAppTitle","isEmptyString","h","variant","undefined","resizeObserverCallback","currSize","isSDeviceEnableTop","topBarHeight","scrollHeight","notSmallDisableTop","L","M","runResizeObserver","ResizeObserver","observe","body","box","setCollapsedIconLabels","styleSlottedCollapsedIconLabel","dynamicSlottedIcTypographyComps","contains","renderTopBar","isSDevice","hasTitle","isPropDefined","Component","attrs","class","id","size","theme","monochrome","onClick","ariaOwnsId","ref","slot","innerHTML","closeIcon","menuIcon","assign","name","watchExpandedHandler","componentWillLoad","componentDidLoad","checkResizeObserver","onComponentRequiredPropUndefined","prop","propName","disconnectedCallback","disconnect","removeEventListener","brandChangeHandler","detail","mode","render","status","version","isSDeviceDisableTop","isMdDevice","isLgDevice","displayExpandBtn","topBarProps","Host","key","IcBrandForegroundEnum","Dark","hasClassificationBanner","chevronIcon"],"sources":["src/components/ic-side-navigation/ic-side-navigation.css?tag=ic-side-navigation&encapsulation=shadow","src/components/ic-side-navigation/ic-side-navigation.tsx"],"sourcesContent":["/**\n * @prop --ic-z-index-side-navigation: z-index of side navigation panel\n */\n\n:host {\n display: block;\n\n --ic-typography-color: currentcolor;\n --side-navigation-position: fixed;\n --side-navigation-position-left: 0;\n --side-navigation-position-top: var(--ic-space-xxl);\n --side-navigation-height: var(--ic-space-xxl);\n --sm-side-navigation-top-bar-height: 3.5rem;\n --sm-side-navigation-collapsed-labels-width: 6rem;\n --sm-side-navigation-expand-transition-duration: var(\n --ic-transition-duration-slow\n );\n --side-navigation-width: 20rem;\n --sm-side-navigation-bottom-bar-height: 3.5rem;\n --keyline-lighten: var(--ic-space-1px) solid var(--ic-side-navigation-keyline);\n --keyline-darken: var(--ic-space-1px) solid var(--ic-state-layer-darken-20);\n --ic-button-secondary-text-monochrome: var(--ic-brand-text-color);\n --ic-button-secondary-border-monochrome: var(--ic-brand-text-color);\n\n z-index: var(--ic-z-index-side-navigation);\n}\n\n:host > * {\n box-sizing: border-box;\n}\n\n.side-navigation {\n display: flex;\n flex-direction: column;\n width: var(--side-navigation-width);\n color: var(--ic-side-navigation-text);\n position: var(--side-navigation-position);\n top: var(--side-navigation-position-top);\n left: calc(var(--side-navigation-width) * -1);\n bottom: 0;\n background-color: var(--ic-side-navigation-background);\n z-index: var(--ic-z-index-side-navigation);\n}\n\n:host(.ic-side-navigation-inline) .side-navigation {\n position: absolute;\n height: 100%;\n}\n\n:host(.anchor-right) .side-navigation {\n right: calc(var(--side-navigation-width) * -1);\n}\n\n.classification-spacing {\n margin-bottom: var(--ic-space-lg);\n}\n\n.navigation-list {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n\n.side-navigation-inner {\n background-color: var(--ic-side-navigation-background);\n display: flex;\n flex-direction: column;\n flex: 1 1 4rem;\n overflow: auto;\n}\n\n:host(.ic-side-navigation-inline) .side-navigation-inner {\n flex: 1;\n}\n\n:host(.xs-menu-open) .side-navigation {\n transition: left var(--ic-easing-transition-slow);\n left: 0;\n}\n\n:host(:has(.xs-menu-open, .xs-menu-close)) ::slotted(ic-navigation-item) {\n --navigation-item-side-nav-right: var(--ic-space-xl);\n}\n\n:host(.xs-menu-close) .side-navigation {\n left: calc(var(--side-navigation-width) * -1);\n transition: left var(--ic-easing-transition-slow);\n}\n\n:host(.xs-menu-close) .side-navigation > * {\n visibility: hidden;\n}\n\n:host(.anchor-right.xs-menu-open) .side-navigation {\n right: 0;\n left: auto;\n}\n\n:host(.anchor-right.xs-menu-close) .side-navigation {\n right: calc(var(--side-navigation-width) * -1);\n left: auto;\n transition: right var(--ic-easing-transition-slow);\n}\n\n.bottom-wrapper {\n border-top: var(--keyline-lighten);\n bottom: 0;\n left: 0;\n z-index: 2;\n background-color: var(--ic-side-navigation-background);\n display: flex;\n flex-direction: column;\n}\n\n:host(.ic-side-navigation-inline) .bottom-wrapper {\n position: sticky;\n}\n\n:host(.ic-side-navigation-dark) .bottom-wrapper {\n border-top: var(--keyline-darken);\n}\n\n/* Mobile Top Bar */\n\n.top-bar {\n display: flex;\n flex-direction: row;\n align-items: center;\n min-height: var(--side-navigation-height);\n padding: var(--ic-space-xs);\n box-sizing: border-box;\n background-color: var(--ic-side-navigation-background);\n position: fixed;\n top: 0;\n left: 0;\n right: 0;\n border-bottom: var(--keyline-lighten);\n box-shadow: var(--ic-elevation-overlay);\n z-index: 2;\n overflow: hidden;\n visibility: visible;\n}\n\n:host(.ic-side-navigation-inline) .top-bar {\n position: absolute;\n}\n\n:host(.ic-side-navigation-dark) .top-bar {\n border-bottom: var(--keyline-darken);\n}\n\n.top-bar.dark a:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.app-title-wrapper {\n display: flex;\n margin-left: var(--ic-space-xs);\n border-left: var(--keyline-lighten);\n padding-left: var(--ic-space-xxs);\n color: var(--ic-side-navigation-text);\n align-items: center;\n}\n\n:host(.ic-side-navigation-dark) .app-title-wrapper {\n border-left: var(--keyline-darken);\n}\n\n.app-title-wrapper ic-typography h1 {\n margin: 0;\n}\n\n@media screen and (min-width: 340px) {\n .app-title-wrapper ic-typography {\n margin-left: var(--ic-space-xs);\n }\n}\n\n:host .title-link {\n display: flex;\n align-items: center;\n transition: box-shadow var(--ic-easing-transition-fast),\n background-color var(--ic-easing-transition-fast);\n text-decoration: none;\n padding: var(--ic-space-xxs);\n color: var(--ic-side-navigation-text);\n}\n\n:host .title-link:visited,\n:host .title-link:active {\n color: var(--ic-side-navigation-text);\n}\n\nslot[name=\"app-title\"]::slotted(a),\nslot[name=\"app-icon\"]::slotted(a) {\n color: var(--ic-side-navigation-text);\n outline: none;\n text-decoration: none;\n display: flex;\n}\n\nslot[name=\"app-title\"]::slotted(ic-typography),\nslot[name=\"app-title\"]::slotted(a) {\n margin-left: var(--ic-space-xs) !important;\n}\n\nslot[name=\"app-title\"]::slotted(a) {\n font: var(--ic-font-subtitle-small);\n}\n\n@media screen and (min-width: 577px) {\n :host(.sm-collapsed) slot[name=\"app-title\"]::slotted(ic-typography),\n :host(.sm-collapsed) slot[name=\"app-title\"]::slotted(a) {\n position: absolute;\n left: -9999px;\n opacity: 0;\n transition: opacity var(--ic-easing-transition-slow);\n }\n\n :host(.sm-collapsed) slot[name=\"app-title\"]:dir(rtl)::slotted(ic-typography),\n :host(.sm-collapsed) slot[name=\"app-title\"]:dir(rtl)::slotted(a) {\n right: -9999px;\n }\n\n :host(.sm-expanded) slot[name=\"app-title\"]::slotted(a) {\n font: var(--ic-font-h3) !important;\n font-weight: var(--ic-font-weight-semibold) !important;\n margin-left: var(--ic-space-xs) !important;\n }\n}\n\n:host .title-link:hover {\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-side-navigation-hover);\n}\n\n:host .title-link:active {\n background-color: var(--ic-side-navigation-pressed);\n}\n\n:host .title-link:focus,\n:host .title-link:focus-within {\n border-radius: var(--ic-border-radius);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n background-color: transparent;\n}\n\n:host .title-link ic-typography {\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n}\n\n.app-title-wrapper ::slotted(svg) {\n fill: var(--ic-side-navigation-text);\n}\n\n.app-icon-container {\n display: none;\n}\n\n.button-label {\n display: flex;\n align-items: center;\n}\n\n.mobile-top-bar-menu-icon {\n display: flex;\n}\n\n.menu-button {\n width: 6.5rem;\n}\n\n.app-status-wrapper {\n inset: 0 var(--ic-space-sm) 0 3.5rem;\n width: auto;\n display: flex;\n gap: var(--ic-space-xs);\n padding: var(--ic-space-sm) 0;\n justify-content: flex-end;\n align-items: flex-end;\n pointer-events: none;\n height: fit-content;\n margin: 0 var(--ic-space-xs);\n}\n\n.app-status-wrapper .app-version {\n display: flex;\n overflow-wrap: break-word;\n padding-bottom: var(--ic-space-xxs);\n}\n\n.app-status-wrapper .app-status {\n display: flex;\n border-radius: 1rem;\n background-color: var(--ic-side-navigation-text);\n color: var(--ic-side-navigation-status-tag-text);\n padding: var(--ic-space-xxs) var(--ic-space-lg);\n min-width: 1rem;\n}\n\n.app-status-wrapper .app-status-text {\n overflow-wrap: break-word;\n}\n\n:host(.ic-side-navigation-dark) .app-status-wrapper .app-status {\n --ic-typography-color: var(--ic-architectural-white);\n}\n\n.navigation-landmark-title {\n position: absolute;\n width: var(--ic-space-1px);\n height: var(--ic-space-1px);\n padding: 0;\n margin: calc(-1 * var(--ic-space-1px));\n overflow: hidden;\n}\n\n/* Navigation Group */\n\n::slotted(ic-navigation-group) {\n --navigation-group-height: 2.75rem;\n --navigation-group-justify-content: space-between;\n --navigation-group-hover: var(--ic-side-navigation-hover);\n --navigation-group-text-hover: var(--ic-side-navigation-text);\n --navigation-item-child-height: 3.5rem;\n --navigation-item-child-active: var(--ic-action-dark-bg-pressed);\n --navigation-item-child-color: var(--ic-side-navigation-text);\n --navigation-group-expand-toggle-padding: 0.25rem;\n}\n\n/* Navigation Items */\n\n::slotted(ic-navigation-item),\n::slotted(ic-navigation-group) {\n --navigation-item-justify-content: flex-start;\n --navigation-item-min-height: 56px;\n --navigation-item-height: auto;\n}\n\n/* Toggle Chevron */\n\n.bottom-side-nav {\n position: relative;\n align-content: flex-end;\n min-height: var(--sm-side-navigation-top-bar-height);\n}\n\n.bottom-side-nav ic-divider {\n position: absolute;\n top: 0;\n}\n\n.primary-navigation {\n flex: 1;\n display: flex;\n flex-direction: column;\n overflow-y: auto;\n\n /* Hide scrollbar when required but keep functionality */\n scrollbar-width: none;\n}\n\n.primary-navigation::-webkit-scrollbar {\n display: none;\n}\n\n.primary-navigation,\n.secondary-navigation {\n overflow-x: hidden;\n}\n\n.bottom-side-nav .menu-expand-button {\n position: absolute;\n display: none;\n}\n\n.menu-visibility-visible {\n visibility: visible;\n width: 100%;\n}\n\n.app-title-show {\n min-width: 15.5rem;\n}\n\n:host(.side-display) {\n display: flex;\n flex-direction: column;\n height: 100vh;\n position: var(--side-navigation-position);\n left: 0;\n top: 0;\n bottom: 0;\n}\n\n:host(.side-display) .app-icon-container {\n height: 40px;\n display: flex;\n align-items: center;\n}\n\n:host(.side-display) .top-bar {\n --side-navigation-height: var(--sm-side-navigation-top-bar-height);\n\n position: relative;\n padding: 0;\n box-shadow: none;\n}\n\n:host(.ic-side-navigation-inline.side-display) .top-bar {\n position: sticky;\n}\n\n:host(.anchor-right.side-display) .top-bar {\n box-shadow: 0.188rem 0.188rem 0.5rem rgb(0 0 0 / 20%);\n}\n\n:host(.anchor-right.side-display) .bottom-wrapper {\n box-shadow: 0.188rem -0.188rem 0.5rem rgb(0 0 0 / 20%);\n}\n\n:host(.side-display) .side-navigation,\n:host(.side-display) .top-bar {\n width: var(--sm-side-navigation-top-bar-height);\n}\n\n:host(.sm-collapsed.side-display) {\n width: var(--sm-side-navigation-top-bar-height);\n transition: width var(--ic-easing-transition-slow);\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) {\n width: var(--sm-side-navigation-collapsed-labels-width);\n}\n\n:host(.sm-expanded.side-display) {\n width: var(--side-navigation-width);\n transition: width var(--ic-easing-transition-slow);\n box-shadow: var(--ic-elevation-overlay);\n}\n\n:host(.side-display) .side-navigation {\n --side-navigation-position-top: 0;\n\n flex: 1;\n position: relative;\n top: auto;\n left: auto;\n bottom: auto;\n}\n\n:host(.ic-side-navigation-inline.side-display) .side-navigation {\n position: relative;\n}\n\n:host(.anchor-right.side-display) .side-navigation {\n left: auto;\n right: 0;\n}\n\n:host(.side-display) .app-title-wrapper {\n margin-left: 0;\n border-left: none;\n padding: var(--ic-space-xs) var(--ic-space-sm);\n}\n\n:host(.side-display) .app-title-wrapper ::slotted(svg) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host(.side-display) .app-title-wrapper ic-typography {\n font-weight: var(--ic-font-weight-semibold);\n}\n\n:host(.sm-collapsed.side-display) .app-title-wrapper ic-typography {\n position: absolute;\n left: -9999px;\n opacity: 0;\n transition: opacity var(--ic-easing-transition-slow);\n}\n\n:host(.sm-collapsed.side-display) .app-title-wrapper ic-typography:dir(rtl) {\n right: -9999px;\n}\n\n:host(.sm-expanded.side-display) ic-typography {\n position: relative;\n left: 0;\n}\n\n:host(.sm-expanded.side-display) :is(.side-navigation, .top-bar) {\n width: var(--side-navigation-width);\n transition: width var(--ic-easing-transition-slow);\n}\n\n:host(.sm-collapsed.side-display) :is(.side-navigation, .top-bar) {\n width: var(--sm-side-navigation-top-bar-height);\n transition: width var(--ic-easing-transition-slow);\n}\n\n:host(.anchor-right.sm-expanded.side-display) :is(.side-navigation, .top-bar) {\n left: auto;\n right: 0;\n}\n\n:host(.side-display) .app-status-wrapper,\n:host(.sm-collapsed.side-display) .app-status-wrapper {\n display: none;\n margin-left: 0;\n}\n\n:host(.sm-expanded.side-display) .app-status-wrapper {\n display: flex;\n max-width: 16rem;\n margin-right: calc(var(--ic-space-xxxs) + var(--ic-space-xs));\n}\n\n:host(.side-display) .bottom-side-nav {\n justify-items: flex-end;\n align-items: flex-end;\n justify-content: flex-end;\n display: flex;\n outline: none;\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button {\n padding-left: var(--ic-space-md);\n height: var(--sm-side-navigation-top-bar-height);\n width: 100%;\n color: var(--ic-side-navigation-text);\n background-color: transparent;\n outline: var(--ic-hc-focus-outline);\n border: none;\n cursor: pointer;\n display: flex;\n transition: var(--ic-easing-transition-fast);\n}\n\n:host(.sm-expanded.side-display) .bottom-side-nav .menu-expand-button {\n height: 100%;\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button svg {\n justify-items: flex-start;\n align-self: center;\n display: inline-block;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button:hover {\n background-color: var(--ic-side-navigation-hover);\n}\n\n:host(.side-display) .bottom-side-nav .menu-expand-button:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n background-color: transparent;\n}\n\n:host(.sm-collapsed.side-display) .bottom-side-nav .menu-expand-button svg {\n transform: scaleX(1);\n transition: transform var(--ic-easing-transition-slow);\n}\n\n:host(.sm-expanded.side-display) .bottom-side-nav .menu-expand-button svg {\n transform: scaleX(-1);\n transition: transform var(--ic-easing-transition-slow);\n align-self: flex-end;\n margin-bottom: 0.875rem;\n}\n\n:host(.anchor-right.sm-collapsed.side-display)\n .bottom-side-nav\n .menu-expand-button\n svg {\n transform: scaleX(-1);\n}\n\n:host(.anchor-right.sm-expanded.side-display)\n .bottom-side-nav\n .menu-expand-button\n svg {\n transform: scaleX(1);\n}\n\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-item) {\n --navigation-item-label-opacity: 1;\n}\n\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-item),\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-group) {\n --navigation-item-label-opacity: 0;\n --navigation-item-min-height: 3.5rem;\n --navigation-item-height: 3.5rem;\n}\n\n:host(.sm-expanded.side-display) ::slotted(ic-navigation-item),\n:host(.sm-expanded.side-display) ::slotted(ic-navigation-group) {\n --navigation-item-label-opacity: 1;\n --navigation-item-height: auto;\n --navigation-item-min-height: 3.5rem;\n --navigation-item-width: 20rem;\n --navigation-item-side-nav-right: var(--ic-space-xl);\n --navigation-group-width: 20rem;\n}\n\n:host(.sm-collapsed.side-display) ::slotted(ic-navigation-group) {\n --navigation-group-title-position: absolute;\n --navigation-group-title-position-left: -9999px;\n --navigation-group-title-opacity: none;\n}\n\n:host(.sm-expanded.side-display) ::slotted(ic-navigation-group) {\n --navigation-group-title-position: relative;\n --navigation-group-title-position-left: 0;\n --navigation-group-expand-toggle-padding: 0.25rem;\n --navigation-group-title-opacity: flex;\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) .side-navigation,\n:host(.sm-collapsed.collapsed-labels.side-display) .top-bar {\n width: var(--sm-side-navigation-collapsed-labels-width);\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) .menu-expand-button {\n padding: 0;\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display) .app-title-wrapper {\n width: 100%;\n justify-content: center;\n}\n\n:host(.sm-collapsed.collapsed-labels.side-display)\n ::slotted(ic-navigation-group) {\n --navigation-group-justify-content: center;\n --navigation-item-label-opacity: 1;\n --navigation-group-item-min-width: 100%;\n --navigation-group-expand-toggle-padding: 1rem;\n}\n\n:host(.collapsed-labels.side-display) .bottom-side-nav .menu-expand-button {\n justify-content: center;\n}\n\n:host(.side-display) .collapsed-icon-labels-start {\n visibility: hidden;\n opacity: 0;\n}\n\n:host(.side-display) .collapsed-icon-labels-end {\n visibility: visible;\n opacity: 1;\n transition: visibility 0s, opacity var(--ic-easing-transition-slow);\n}\n\n/* Media Queries */\n\n@media screen and (max-width: 419px) {\n .top-bar {\n height: var(--side-navigation-height);\n }\n}\n\n@media screen and (max-width: 319px) {\n .side-navigation {\n width: 100%;\n }\n}\n\n@media screen and (min-width: 340px) {\n .app-icon-container {\n display: flex;\n }\n}\n\n@media screen and (min-width: 993px) {\n :host(.side-display) {\n position: sticky;\n left: auto;\n top: 0;\n bottom: 0;\n }\n\n :host(.sm-expanded.side-display) {\n box-shadow: none;\n }\n}\n\n@media (forced-colors: active) {\n .side-navigation,\n .top-bar {\n border-right: var(--ic-border-hc);\n }\n\n .menu-expand-button {\n color: Highlight !important;\n }\n\n slot[name=\"app-icon\"]::slotted(svg) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Listen,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\n\nimport menuIcon from \"../../assets/hamburger-menu-icon.svg\";\nimport closeIcon from \"../../assets/close-icon.svg\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport {\n getCurrentDeviceSize,\n DEVICE_SIZES,\n checkResizeObserver,\n isSlotUsed,\n getBrandForegroundAppearance,\n getCssProperty,\n hasClassificationBanner,\n onComponentRequiredPropUndefined,\n isEmptyString,\n isPropDefined,\n} from \"../../utils/helpers\";\nimport {\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\n} from \"../../utils/types\";\nimport { IcTopBar, IcExpandedDetail } from \"./ic-side-navigation.types\";\n\n/**\n * @slot app-icon - Content will be rendered adjacent to the app title at the very top of the side navigation.\n * @slot app-title - Handle routing by nesting a route in the app title.\n * @slot primary-navigation - Content will be rendered at the top of the side navigation.\n * @slot secondary-navigation - Content will be rendered at the bottom of the side navigation.\n */\n\n@Component({\n tag: \"ic-side-navigation\",\n styleUrl: \"ic-side-navigation.css\",\n shadow: true,\n})\nexport class SideNavigation {\n private ANIMATION_DURATION =\n parseInt(getCssProperty(\"--ic-transition-duration-slow\")) || 0;\n private IC_NAVIGATION_ITEM: string = \"ic-navigation-item\";\n private resizeObserver: ResizeObserver | null = null;\n private COLLAPSED_ICON_LABELS_END = \"collapsed-icon-labels-end\";\n private COLLAPSED_ICON_LABELS_START = \"collapsed-icon-labels-start\";\n private menuButton?: HTMLIcButtonElement;\n\n @Element() el: HTMLIcSideNavigationElement;\n\n @State() deviceSize: number = getCurrentDeviceSize();\n @State() deviceSizeAppTitle: number = DEVICE_SIZES.S;\n @State() foregroundColor: IcBrandForeground = getBrandForegroundAppearance();\n @State() hasSecondaryNavigation: boolean = false;\n @State() menuExpanded: boolean = false;\n @State() menuOpen: boolean = false;\n\n /**\n * The app title to be displayed. This is required, unless a slotted app title link is used.\n */\n @Prop() appTitle?: string;\n\n /**\n * If `true`, the side navigation will close when a navigation item is clicked. This behaviour is only applicable on larger device sizes.\n */\n @Prop() closeOnNavItemClick?: boolean = false;\n\n /**\n * If `true`, the icon and label will appear when side navigation is collapsed.\n */\n @Prop() collapsedIconLabels?: boolean = false;\n\n /**\n * If `true`, automatic parent wrapper styling will be disabled.\n */\n @Prop() disableAutoParentStyling?: boolean = false;\n\n /**\n * If `true`, the side navigation will not display as a top bar on small devices.\n */\n @Prop() disableTopBarBehaviour?: boolean = false;\n\n /**\n * If `true`, the side navigation will display in an expanded state.\n */\n @Prop() expanded?: boolean = false;\n\n @Watch(\"expanded\")\n watchExpandedHandler(): void {\n this.toggleMenuExpanded(this.expanded!);\n }\n\n /**\n * The URL that the app title link points to.\n */\n @Prop() href?: string = \"/\";\n\n /**\n * @internal If `true`, side navigation will be contained by its parent element.\n */\n @Prop() inline?: boolean = false;\n\n /**\n * The short title of the app to be displayed at small screen sizes in place of the app title.\n */\n @Prop() shortAppTitle?: string = \"\";\n\n /**\n * If `true`, the menu expand button will be removed (PLEASE NOTE: This takes effect on screen sizes 992px and above).\n */\n @Prop() static?: boolean = false;\n\n /**\n * The status of the app to be displayed.\n */\n @Prop() status?: string;\n\n /**\n * The version of the app to be displayed.\n */\n @Prop() version?: string;\n\n /**\n * Emitted when the side navigation is collapsed and expanded.\n */\n @Event() icSideNavExpanded: EventEmitter<IcExpandedDetail>;\n\n componentWillLoad(): void {\n this.setMenuExpanded(this.expanded!);\n\n if (this.collapsedIconLabels) {\n this.setCollapsedIconLabels();\n }\n\n this.hasSecondaryNavigation = isSlotUsed(this.el, \"secondary-navigation\");\n }\n\n componentDidLoad(): void {\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuExpanded,\n sideNavMobile:\n this.deviceSize === DEVICE_SIZES.S && !this.disableTopBarBehaviour,\n });\n\n checkResizeObserver(this.runResizeObserver);\n this.styleSlottedCollapsedIconLabel();\n this.arrangeSlottedNavigationItem(this.menuExpanded);\n this.displayTooltipWithExpandedLongLabel(this.menuExpanded);\n\n this.setExpandedButtonHeight();\n\n if (this.closeOnNavItemClick) {\n this.el.addEventListener(\n \"navItemClicked\",\n this.handleNavItemClicked as EventListener\n );\n }\n\n !isSlotUsed(this.el, \"app-title\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.appTitle, propName: \"app-title\" }],\n \"Side Navigation\"\n );\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== null) {\n this.resizeObserver.disconnect();\n }\n\n this.el?.removeEventListener(\"transitionend\", this.transitionEndHandler);\n\n if (this.closeOnNavItemClick) {\n this.el.removeEventListener(\n \"navItemClicked\",\n this.handleNavItemClicked as EventListener\n );\n }\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler({ detail }: CustomEvent<IcBrand>): void {\n this.foregroundColor = detail.mode;\n }\n\n private emitSideNavigationExpanded = (objDetails: {\n sideNavExpanded: boolean;\n sideNavMobile?: boolean;\n }): void => {\n this.icSideNavExpanded.emit({\n sideNavExpanded: objDetails.sideNavExpanded,\n sideNavMobile: !!objDetails.sideNavMobile,\n });\n };\n\n private toggleMenu = (): void => {\n this.menuOpen = !this.menuOpen;\n this.setMobileMenuAriaAttributes(this.menuOpen);\n\n this.arrangeSlottedNavigationItem(this.menuOpen);\n\n this.setToggleMenuFlyoutMenuVisibility(this.menuOpen);\n\n this.emitSideNavigationExpanded({\n sideNavExpanded: this.menuOpen,\n sideNavMobile: true,\n });\n };\n\n private setToggleMenuFlyoutMenuVisibility = (menuOpen: boolean) => {\n const sideNav = this.el.shadowRoot?.querySelector(\n \"#side-navigation\"\n ) as HTMLDivElement;\n const sideNavInner = sideNav.querySelector(\n \".side-navigation-inner\"\n ) as HTMLElement;\n const bottomWrapper = sideNav.querySelector(\n \".bottom-wrapper\"\n ) as HTMLElement;\n\n const menuVisibilityVisible = \"menu-visibility-visible\";\n\n if (menuOpen) {\n bottomWrapper.classList.add(menuVisibilityVisible);\n sideNavInner.classList.add(menuVisibilityVisible);\n } else {\n setTimeout(() => {\n sideNavInner.classList.remove(menuVisibilityVisible);\n bottomWrapper.classList.remove(menuVisibilityVisible);\n }, this.ANIMATION_DURATION);\n }\n };\n\n private setMobileMenuAriaAttributes = (menuOpen: boolean) => {\n if (this.menuButton) {\n this.menuButton.setAttribute(\"aria-expanded\", `${menuOpen}`);\n this.menuButton.setAttribute(\n \"aria-label\",\n `${menuOpen ? \"Close\" : \"Open\"} navigation menu`\n );\n }\n };\n\n private setAndRemoveNoWrapAfterMenuExpanded = () => {\n const appTitle =\n this.el.shadowRoot?.querySelector(\".title-link ic-typography\") ||\n this.el.querySelector(\"[slot='app-title']\");\n\n appTitle?.classList.add(\"ic-typography-no-wrap\");\n\n setTimeout(() => {\n appTitle?.classList.remove(\"ic-typography-no-wrap\");\n }, this.ANIMATION_DURATION);\n };\n\n private toggleMenuExpanded = (expanded: boolean): void => {\n this.menuExpanded = expanded;\n\n if (this.menuExpanded) {\n this.setAndRemoveNoWrapAfterMenuExpanded();\n this.el.shadowRoot\n ?.querySelector(\".app-title-inner-wrapper\")\n ?.classList.add(\"app-title-show\");\n } else {\n this.el.style.setProperty(\"--navigation-item-width\", \"320px\");\n this.el.shadowRoot\n ?.querySelector(\".app-title-inner-wrapper\")\n ?.classList.remove(\"app-title-show\");\n\n this.el.addEventListener(\"transitionend\", (e) => {\n if (e.propertyName === \"width\") {\n this.el.style.setProperty(\"--navigation-item-width\", null);\n }\n });\n }\n\n this.arrangeSlottedNavigationItem(this.menuExpanded);\n\n this.displayTooltipWithExpandedLongLabel(this.menuExpanded);\n\n if (this.collapsedIconLabels) {\n this.animateCollapsedIconLabels();\n }\n\n this.setExpandedButtonHeight();\n this.emitSideNavigationExpanded({ sideNavExpanded: this.menuExpanded });\n };\n\n /**\n * In order to style nested slotted elements (e.g. using React Router components), this method\n * rearranges the a tag and labels and adds inline styling expand/collapsed animations as external CSS classes are not\n * do not take affect.\n * @param menuExpanded boolean - true or false depending on side navigation state\n */\n private arrangeSlottedNavigationItem = (menuExpanded?: boolean) => {\n const navItems = this.el.querySelectorAll(\"ic-navigation-item\");\n navItems.forEach((navItem) => {\n const isNamedSlot = isSlotUsed(navItem, \"navigation-item\");\n const isUnnamedSlot =\n navItem.children[0] && !navItem.children[0].getAttribute(\"slot\");\n if (isNamedSlot || isUnnamedSlot) {\n let navItemSlot;\n if (isNamedSlot) {\n navItemSlot = navItem.querySelector(\"[slot='navigation-item']\");\n } else {\n navItemSlot = navItem.children[0];\n }\n const iconWrapper = document.createElement(\"div\");\n const icon = navItemSlot?.querySelector(\"svg\");\n const badge = navItemSlot?.querySelector(\"ic-badge\");\n const label = navItem.textContent?.trim();\n const icTypography = document.createElement(\"ic-typography\");\n icTypography.classList.add(\n \"ic-typography-label\",\n \"hydrated\",\n \"navigation-item-side-nav-slotted-text\"\n );\n\n iconWrapper.style.position = \"relative\";\n iconWrapper.style.height = \"var(--ic-space-lg)\";\n\n icon && iconWrapper.append(icon);\n badge && iconWrapper.append(badge);\n\n if (label) {\n icTypography.textContent = label;\n }\n\n if (navItemSlot) {\n navItemSlot.textContent = \"\";\n navItemSlot.append(iconWrapper);\n navItemSlot.append(icTypography);\n }\n\n if (this.collapsedIconLabels) {\n this.styleSlottedCollapsedIconLabels(!!menuExpanded, icTypography);\n } else {\n this.styleSlottedIconLabels(!!menuExpanded, icTypography);\n }\n }\n });\n };\n\n private styleSlottedCollapsedIconLabels = (\n menuExpanded: boolean,\n icTypography: HTMLIcTypographyElement\n ) => {\n if (menuExpanded) {\n icTypography.style.marginTop = \"0\";\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n } else {\n icTypography.style.marginTop = \"10px\";\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n }\n };\n\n private setExpandedButtonHeight = () => {\n const appStatusWrapper = this.el.shadowRoot?.querySelector(\n \"#side-navigation > .bottom-wrapper > .bottom-side-nav > .app-status-wrapper\"\n ) as HTMLDivElement;\n\n if (appStatusWrapper.offsetHeight !== 0) {\n this.el.style.setProperty(\n \"--sm-side-navigation-bottom-bar-height\",\n `${appStatusWrapper.offsetHeight}px`\n );\n }\n };\n\n private styleSlottedIconLabels = (\n menuExpanded: boolean,\n icTypography: HTMLSpanElement\n ) => {\n if (menuExpanded) {\n icTypography.style.opacity = \"1\";\n icTypography.style.visibility = \"visible\";\n icTypography.style.transition =\n \"visibility 0s, opacity var(--ic-easing-transition-slow)\";\n } else {\n icTypography.style.opacity = \"0\";\n icTypography.style.visibility = \"hidden\";\n icTypography.style.transition =\n \"visibility 0s, opacity var(--ic-easing-transition-slow)\";\n }\n };\n\n private transitionHandler = (type: string) => {\n const primaryNavigationWrapper = this.el.shadowRoot?.querySelector(\n \".primary-navigation\"\n );\n\n const secondaryNavigationWrapper = this.el.shadowRoot?.querySelector(\n \".bottom-wrapper > .secondary-navigation\"\n );\n\n const classToRemove =\n type === \"start\"\n ? this.COLLAPSED_ICON_LABELS_END\n : this.COLLAPSED_ICON_LABELS_START;\n\n const classToAdd =\n type === \"start\"\n ? this.COLLAPSED_ICON_LABELS_START\n : this.COLLAPSED_ICON_LABELS_END;\n\n if (primaryNavigationWrapper) {\n primaryNavigationWrapper.classList.remove(classToRemove);\n primaryNavigationWrapper.classList.add(classToAdd);\n }\n\n if (secondaryNavigationWrapper) {\n secondaryNavigationWrapper.classList.remove(classToRemove);\n secondaryNavigationWrapper.classList.add(classToAdd);\n }\n };\n\n private transitionEndHandler = () => {\n this.transitionHandler(\"end\");\n };\n\n private animateCollapsedIconLabels = () => {\n this.transitionHandler(\"start\");\n this.transitionEndHandler();\n\n this.el.addEventListener(\"transitionend\", this.transitionEndHandler);\n };\n\n private paddingIconWidth = (\n navItems: HTMLIcNavigationItemElement[]\n ): number => {\n const navItemLink =\n (navItems[0].shadowRoot &&\n (navItems[0].shadowRoot.querySelector(\"ic-tooltip a\") ||\n navItems[0].shadowRoot.querySelector(\"ic-tooltip div\"))) ||\n navItems[0].querySelector(\"a\") ||\n navItems[0].querySelector(\"div\");\n const navItemSVG = navItems[0].querySelector(\"svg\");\n\n if (navItemLink && navItemSVG) {\n const navStyles = {\n gap: window.getComputedStyle(navItemLink).gap,\n iconWidth: window.getComputedStyle(navItemSVG).width,\n paddingLeft: window.getComputedStyle(navItemLink).paddingLeft,\n };\n\n return Object.values(navStyles).reduce((prev, curr) => {\n return (prev += parseInt(curr));\n }, 0);\n }\n\n return 0;\n };\n\n private displayTooltipWithExpandedLongLabel = (menuExpanded: boolean) => {\n let timer;\n\n if (menuExpanded) {\n timer = setTimeout(() => {\n const sideNavWidth = this.el.clientWidth;\n\n const navigationItems: HTMLIcNavigationItemElement[] = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n\n const paddingIconDelta = navigationItems.length\n ? this.paddingIconWidth(navigationItems)\n : 0;\n\n navigationItems.forEach(\n (navigationItem: HTMLIcNavigationItemElement) => {\n const icTypographyScrollWidth =\n (\n navigationItem.shadowRoot &&\n navigationItem.shadowRoot.querySelector(\n \"ic-tooltip .link ic-typography.ic-typography-label\"\n )\n )?.scrollWidth ||\n navigationItem.querySelector(\"ic-typography.ic-typography-label\")\n ?.scrollWidth;\n\n if (\n icTypographyScrollWidth &&\n icTypographyScrollWidth > sideNavWidth - paddingIconDelta\n ) {\n navigationItem.setAttribute(\"display-navigation-tooltip\", \"true\");\n }\n }\n );\n }, this.ANIMATION_DURATION);\n } else {\n clearTimeout(timer);\n\n const navigationItems: HTMLIcNavigationItemElement[] = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n navigationItems.forEach((navigationItem: HTMLIcNavigationItemElement) => {\n navigationItem.setAttribute(\"display-navigation-tooltip\", \"false\");\n });\n }\n };\n\n private setMenuExpanded = (expanded: boolean): void => {\n this.menuExpanded = expanded;\n };\n\n private handleNavItemClicked = () => {\n if (\n !this.menuOpen &&\n this.deviceSize > DEVICE_SIZES.S &&\n this.menuExpanded\n ) {\n setTimeout(() => {\n this.toggleMenuExpanded(false);\n }, 0);\n }\n };\n\n /**\n * As the mobile top bar is fixed, a padding top is required\n * to push main content down the height of the mobile top bar\n * @param value - padding-top css value\n */\n private setParentPaddingTop = (value: string) => {\n this.el.parentElement?.style.setProperty(\"padding-top\", value);\n };\n\n private setParentPaddingLeft = (value: string) => {\n this.el.parentElement?.style.setProperty(\"padding-left\", value);\n };\n\n private renderAppTitle = (isAppNameSubtitleVariant: boolean) => {\n const displayShortAppTitle =\n this.deviceSize <= DEVICE_SIZES.S && !isEmptyString(this.shortAppTitle);\n return (\n <ic-typography\n variant={\n displayShortAppTitle || isAppNameSubtitleVariant\n ? \"subtitle-small\"\n : \"h3\"\n }\n aria-label={\n displayShortAppTitle\n ? `${this.appTitle} (${this.shortAppTitle})`\n : undefined\n }\n >\n <h1>{displayShortAppTitle ? this.shortAppTitle : this.appTitle}</h1>\n </ic-typography>\n );\n };\n\n private resizeObserverCallback = (currSize: number) => {\n this.deviceSize = currSize;\n\n const isSDeviceEnableTop =\n currSize === DEVICE_SIZES.S && !this.disableTopBarBehaviour;\n\n if (!this.disableAutoParentStyling) {\n const topBarHeight =\n this.el.shadowRoot?.querySelector(\".top-bar\")?.scrollHeight;\n this.setParentPaddingTop(isSDeviceEnableTop ? `${topBarHeight}px` : \"0\");\n if (isSDeviceEnableTop) this.setParentPaddingLeft(\"0\");\n if (isSDeviceEnableTop && this.inline) {\n this.el.parentElement?.style.setProperty(\n \"height\",\n `calc(100% - ${topBarHeight}px)`\n );\n } else if (!isSDeviceEnableTop) {\n this.el.parentElement?.style.setProperty(\"height\", \"100%\");\n }\n }\n\n const notSmallDisableTop =\n currSize > DEVICE_SIZES.S || this.disableTopBarBehaviour;\n\n if (!this.disableAutoParentStyling) {\n const paddingLeft = `calc(var(--ic-space-xxl) ${\n this.collapsedIconLabels ? \"* 2\" : \"+ var(--ic-space-xs)\"\n })`;\n\n if (currSize > DEVICE_SIZES.L) {\n this.setParentPaddingTop(\"0\");\n this.setParentPaddingLeft(\"0\");\n } else if (\n notSmallDisableTop &&\n currSize <= DEVICE_SIZES.M &&\n this.static\n ) {\n this.setParentPaddingLeft(paddingLeft);\n } else if (notSmallDisableTop && currSize <= DEVICE_SIZES.L) {\n this.setParentPaddingLeft(\n this.static && this.menuExpanded\n ? \"calc(var(--ic-space-xl) * 10)\"\n : paddingLeft\n );\n }\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n const currSize = getCurrentDeviceSize();\n this.deviceSizeAppTitle = currSize;\n this.resizeObserverCallback(currSize);\n });\n\n this.resizeObserver.observe(document.body, { box: \"content-box\" });\n };\n\n private setCollapsedIconLabels = () => {\n const navigationItems: HTMLIcNavigationItemElement[] = Array.from(\n this.el.querySelectorAll(this.IC_NAVIGATION_ITEM)\n );\n navigationItems.forEach((navigationItem: HTMLIcNavigationItemElement) => {\n navigationItem.setAttribute(\"collapsed-icon-label\", \"true\");\n });\n };\n\n private styleSlottedCollapsedIconLabel = () => {\n const dynamicSlottedIcTypographyComps: HTMLIcTypographyElement[] =\n Array.from(\n this.el.querySelectorAll(\".navigation-item-side-nav-slotted-text\")\n );\n\n dynamicSlottedIcTypographyComps.forEach((icTypography) => {\n if (\n icTypography.parentElement?.parentElement?.classList.contains(\n \"navigation-item-side-nav-collapsed-with-label\"\n )\n ) {\n icTypography.style.whiteSpace = \"nowrap\";\n icTypography.style.overflow = \"hidden\";\n icTypography.style.textOverflow = \"ellipsis\";\n icTypography.style.marginTop = \"10px\";\n }\n });\n };\n\n private renderTopBar = ({\n isSDevice,\n foregroundColor,\n menuOpen,\n href,\n isAppNameSubtitleVariant,\n }: IcTopBar) => {\n const hasTitle = this.appTitle !== \"\" && isPropDefined(this.appTitle);\n\n const Component = isSlotUsed(this.el, \"app-title\") ? \"div\" : \"a\";\n\n const attrs = Component == \"a\" && {\n href: href,\n };\n\n return (\n <div\n class={{\n \"top-bar\": true,\n [this.foregroundColor]: true,\n }}\n >\n {isSDevice && (\n <nav\n aria-labelledby=\"menu-navigation-toggle-button-landmark\"\n aria-hidden=\"false\"\n >\n <ic-button\n aria-label=\"Open navigation menu\"\n class=\"menu-button\"\n id=\"menu-button\"\n variant=\"secondary\"\n size=\"small\"\n full-width=\"true\"\n theme={\n foregroundColor == \"default\" || foregroundColor == \"light\"\n ? \"light\"\n : \"dark\"\n }\n monochrome\n onClick={this.toggleMenu}\n ariaOwnsId=\"side-navigation\"\n aria-haspopup=\"true\"\n aria-expanded=\"false\"\n ref={(el) => (this.menuButton = el)}\n >\n <span\n class=\"mobile-top-bar-menu-icon\"\n slot=\"left-icon\"\n innerHTML={menuOpen ? closeIcon : menuIcon}\n ></span>\n {menuOpen ? \"Close\" : \"Menu\"}\n </ic-button>\n <span\n id=\"menu-navigation-toggle-button-landmark\"\n class=\"navigation-landmark-title\"\n aria-hidden=\"true\"\n >\n Navigation menu toggle button\n </span>\n </nav>\n )}\n <div class=\"app-title-wrapper\">\n {(hasTitle || isSlotUsed(this.el, \"app-title\")) && (\n <Component {...attrs} class=\"title-link\">\n <div class=\"app-icon-container\" aria-hidden=\"true\">\n <slot name=\"app-icon\"></slot>\n </div>\n <div class=\"app-title-inner-wrapper\">\n {isSlotUsed(this.el, \"app-title\") ? (\n <slot name=\"app-title\"></slot>\n ) : (\n this.renderAppTitle(isAppNameSubtitleVariant)\n )}\n </div>\n </Component>\n )}\n </div>\n </div>\n );\n };\n\n render() {\n const {\n appTitle,\n menuOpen,\n foregroundColor,\n menuExpanded,\n href,\n status,\n version,\n collapsedIconLabels,\n inline,\n } = this;\n\n const isSDevice =\n !this.disableTopBarBehaviour && this.deviceSize === DEVICE_SIZES.S;\n const isSDeviceDisableTop =\n this.disableTopBarBehaviour && this.deviceSize === DEVICE_SIZES.S;\n const isMdDevice = this.deviceSize === DEVICE_SIZES.M;\n const isLgDevice = this.deviceSize >= DEVICE_SIZES.L;\n const isAppNameSubtitleVariant = this.deviceSizeAppTitle === DEVICE_SIZES.S;\n const displayExpandBtn =\n isMdDevice || isSDeviceDisableTop || (isLgDevice && !this.static);\n\n const topBarProps: IcTopBar = {\n isSDevice,\n foregroundColor,\n menuOpen,\n href: href!,\n isAppNameSubtitleVariant,\n appTitle: appTitle || \"\",\n };\n\n return (\n <Host\n class={{\n \"xs-menu-open\": menuOpen && isSDevice,\n \"xs-menu-close\": !menuOpen && isSDevice,\n \"sm-collapsed\": !isSDevice && !menuExpanded,\n \"sm-expanded\": !isSDevice && menuExpanded,\n \"side-display\":\n this.deviceSize > DEVICE_SIZES.S || !!this.disableTopBarBehaviour,\n [`ic-side-navigation-${IcBrandForegroundEnum.Dark}`]:\n foregroundColor === IcBrandForegroundEnum.Dark,\n [\"collapsed-labels\"]:\n !isSDevice && !menuExpanded && !!collapsedIconLabels,\n [\"ic-side-navigation-inline\"]: !!inline,\n }}\n >\n {isSDevice && this.renderTopBar({ ...topBarProps })}\n <div class=\"side-navigation\" id=\"side-navigation\">\n {!isSDevice && this.renderTopBar({ ...topBarProps })}\n <div class=\"side-navigation-inner\">\n {isSlotUsed(this.el, \"primary-navigation\") && (\n <nav\n class=\"primary-navigation\"\n aria-labelledby=\"primary-navigation-landmark\"\n >\n <span\n aria-hidden=\"true\"\n class=\"navigation-landmark-title\"\n id=\"primary-navigation-landmark\"\n >\n Primary\n </span>\n <ul class=\"navigation-list\">\n <slot name=\"primary-navigation\"></slot>\n </ul>\n </nav>\n )}\n </div>\n <div\n class={{\n [\"bottom-wrapper\"]: true,\n [\"classification-spacing\"]: hasClassificationBanner(),\n }}\n >\n {isSlotUsed(this.el, \"secondary-navigation\") && (\n <nav\n class=\"secondary-navigation\"\n aria-labelledby=\"secondary-navigation-landmark\"\n >\n <span\n aria-hidden=\"true\"\n class=\"navigation-landmark-title\"\n id=\"secondary-navigation-landmark\"\n >\n Secondary\n </span>\n <ul class=\"navigation-list\">\n <slot name=\"secondary-navigation\"></slot>\n </ul>\n </nav>\n )}\n <div class=\"bottom-side-nav\">\n {this.hasSecondaryNavigation && <ic-divider></ic-divider>}\n {displayExpandBtn && (\n <button\n class=\"menu-expand-button\"\n innerHTML={chevronIcon}\n onClick={() => this.toggleMenuExpanded(!this.menuExpanded)}\n aria-label={`${\n menuExpanded ? \"Collapse\" : \"Expand\"\n } side navigation`}\n ></button>\n )}\n <div class=\"app-status-wrapper\">\n {status && (\n <div\n class={{\n [\"app-status\"]: true,\n }}\n >\n <ic-typography\n aria-label=\"app tag\"\n variant=\"label-uppercase\"\n class=\"app-status-text\"\n >\n {status}\n </ic-typography>\n </div>\n )}\n {version && (\n <ic-typography\n variant=\"label\"\n class=\"app-version\"\n aria-label=\"app version\"\n >\n {version}\n </ic-typography>\n )}\n </div>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}