@ukic/web-components 3.0.0-alpha.5 → 3.0.0-alpha.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (596) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-529aaa3a.js → helpers-dd569d97.js} +33 -29
  3. package/dist/cjs/helpers-dd569d97.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 +8 -1
  6. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  8. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-badge.cjs.entry.js +2 -2
  11. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  13. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  14. package/dist/cjs/ic-button_3.cjs.entry.js +10 -7
  15. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-card-vertical.cjs.entry.js +15 -6
  17. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js +5 -1
  19. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-checkbox.cjs.entry.js +5 -1
  21. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-chip.cjs.entry.js +9 -4
  23. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  25. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  26. package/dist/cjs/ic-divider.cjs.entry.js +3 -3
  27. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-footer-link-group.cjs.entry.js +4 -5
  30. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-footer-link.cjs.entry.js +4 -5
  32. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  33. package/dist/cjs/ic-footer.cjs.entry.js +7 -8
  34. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-hero.cjs.entry.js +6 -7
  36. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +3 -3
  38. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +13 -4
  40. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
  42. package/dist/cjs/ic-link.cjs.entry.js +9 -6
  43. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  45. package/dist/cjs/ic-menu-item.cjs.entry.js +7 -1
  46. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-navigation-button.cjs.entry.js +6 -7
  48. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-navigation-group.cjs.entry.js +5 -6
  50. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-navigation-item.cjs.entry.js +4 -4
  52. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  54. package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
  55. package/dist/cjs/ic-pagination-item.cjs.entry.js +5 -1
  56. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-pagination.cjs.entry.js +5 -1
  58. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-popover-menu.cjs.entry.js +1 -1
  60. package/dist/cjs/ic-radio-group.cjs.entry.js +9 -1
  61. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-radio-option.cjs.entry.js +5 -1
  63. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-search-bar.cjs.entry.js +7 -3
  65. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-select.cjs.entry.js +9 -3
  67. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-side-navigation.cjs.entry.js +5 -5
  69. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
  71. package/dist/cjs/ic-step.cjs.entry.js +1 -1
  72. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  73. package/dist/cjs/ic-switch.cjs.entry.js +6 -2
  74. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  76. package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
  77. package/dist/cjs/ic-tab.cjs.entry.js +5 -2
  78. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-text-field.cjs.entry.js +20 -5
  80. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-theme.cjs.entry.js +20 -20
  82. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-toast.cjs.entry.js +1 -1
  84. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +3 -0
  85. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-toggle-button.cjs.entry.js +7 -1
  87. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-top-navigation.cjs.entry.js +10 -6
  89. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  91. package/dist/cjs/loader.cjs.js +1 -1
  92. package/dist/collection/components/ic-accordion/ic-accordion.js +10 -1
  93. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  94. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +3 -0
  95. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +1 -1
  96. package/dist/collection/components/ic-alert/ic-alert.js +2 -2
  97. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  98. package/dist/collection/components/ic-badge/ic-badge.js +2 -2
  99. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  100. package/dist/collection/components/ic-button/ic-button.css +40 -0
  101. package/dist/collection/components/ic-button/ic-button.js +12 -9
  102. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  103. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +7 -7
  104. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -1
  105. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +21 -9
  106. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js.map +1 -1
  107. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js +10 -0
  108. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js.map +1 -1
  109. package/dist/collection/components/ic-checkbox/ic-checkbox.js +6 -0
  110. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  111. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +6 -0
  112. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  113. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +3 -0
  114. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -1
  115. package/dist/collection/components/ic-chip/ic-chip.js +27 -2
  116. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  117. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +3 -0
  118. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +1 -1
  119. package/dist/collection/components/ic-divider/ic-divider.js +8 -8
  120. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  121. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +4 -4
  122. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +1 -1
  123. package/dist/collection/components/ic-footer/ic-footer.css +2 -2
  124. package/dist/collection/components/ic-footer/ic-footer.js +9 -10
  125. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  126. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +2 -2
  127. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +1 -1
  128. package/dist/collection/components/ic-footer-link/ic-footer-link.js +6 -7
  129. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  130. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +1 -1
  131. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +1 -1
  132. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +6 -7
  133. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  134. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +1 -1
  135. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +1 -1
  136. package/dist/collection/components/ic-hero/ic-hero.css +3 -3
  137. package/dist/collection/components/ic-hero/ic-hero.js +8 -9
  138. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  139. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +2 -2
  140. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +1 -1
  141. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +6 -6
  142. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  143. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +15 -3
  144. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  145. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +9 -0
  146. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +1 -1
  147. package/dist/collection/components/ic-link/ic-link.js +12 -9
  148. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  149. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +5 -5
  150. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +1 -1
  151. package/dist/collection/components/ic-menu/ic-menu.js +4 -4
  152. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  153. package/dist/collection/components/ic-menu-item/ic-menu-item.js +9 -0
  154. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  155. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +13 -0
  156. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +1 -1
  157. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +9 -10
  158. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  159. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +2 -2
  160. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +1 -1
  161. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +1 -1
  162. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +6 -7
  163. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  164. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +3 -3
  165. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +1 -1
  166. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +9 -9
  167. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +5 -5
  168. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  169. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +3 -3
  170. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +1 -1
  171. package/dist/collection/components/ic-pagination/ic-pagination.js +6 -0
  172. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  173. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +10 -0
  174. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -1
  175. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +6 -0
  176. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  177. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js +3 -0
  178. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js.map +1 -1
  179. package/dist/collection/components/ic-radio-group/ic-radio-group.js +8 -0
  180. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  181. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +6 -0
  182. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -1
  183. package/dist/collection/components/ic-radio-option/ic-radio-option.js +6 -0
  184. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  185. package/dist/collection/components/ic-search-bar/ic-search-bar.js +8 -2
  186. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  187. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +4 -1
  188. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +1 -1
  189. package/dist/collection/components/ic-select/ic-select.js +10 -2
  190. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  191. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +10 -0
  192. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  193. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +2 -2
  194. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +7 -7
  195. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  196. package/dist/collection/components/ic-side-navigation/ic-side-navigation.types.js.map +1 -1
  197. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +3 -3
  198. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +1 -1
  199. package/dist/collection/components/ic-switch/ic-switch.js +6 -0
  200. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  201. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +3 -0
  202. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +1 -1
  203. package/dist/collection/components/ic-tab/ic-tab.js +6 -0
  204. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  205. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +16 -0
  206. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +1 -1
  207. package/dist/collection/components/ic-text-field/ic-text-field.js +24 -12
  208. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  209. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +26 -12
  210. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
  211. package/dist/collection/components/ic-theme/ic-theme.js +31 -31
  212. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  213. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +7 -7
  214. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +1 -1
  215. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +11 -11
  216. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +1 -1
  217. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +9 -0
  218. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  219. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js +10 -0
  220. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js.map +1 -1
  221. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +3 -0
  222. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  223. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +104 -0
  224. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +1 -1
  225. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +2 -2
  226. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +12 -8
  227. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  228. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +3 -3
  229. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +1 -1
  230. package/dist/collection/utils/helpers.js +24 -20
  231. package/dist/collection/utils/helpers.js.map +1 -1
  232. package/dist/collection/utils/types.js +6 -6
  233. package/dist/collection/utils/types.js.map +1 -1
  234. package/dist/components/helpers.js +30 -26
  235. package/dist/components/helpers.js.map +1 -1
  236. package/dist/components/ic-accordion.js +9 -1
  237. package/dist/components/ic-accordion.js.map +1 -1
  238. package/dist/components/ic-alert.js +2 -2
  239. package/dist/components/ic-alert.js.map +1 -1
  240. package/dist/components/ic-badge.js +2 -2
  241. package/dist/components/ic-badge.js.map +1 -1
  242. package/dist/components/ic-button2.js +11 -8
  243. package/dist/components/ic-button2.js.map +1 -1
  244. package/dist/components/ic-card-vertical.js +18 -7
  245. package/dist/components/ic-card-vertical.js.map +1 -1
  246. package/dist/components/ic-checkbox-group.js +5 -0
  247. package/dist/components/ic-checkbox-group.js.map +1 -1
  248. package/dist/components/ic-checkbox.js +5 -0
  249. package/dist/components/ic-checkbox.js.map +1 -1
  250. package/dist/components/ic-chip.js +11 -4
  251. package/dist/components/ic-chip.js.map +1 -1
  252. package/dist/components/ic-divider2.js +4 -4
  253. package/dist/components/ic-divider2.js.map +1 -1
  254. package/dist/components/ic-footer-link-group.js +5 -6
  255. package/dist/components/ic-footer-link-group.js.map +1 -1
  256. package/dist/components/ic-footer-link.js +5 -6
  257. package/dist/components/ic-footer-link.js.map +1 -1
  258. package/dist/components/ic-footer.js +8 -9
  259. package/dist/components/ic-footer.js.map +1 -1
  260. package/dist/components/ic-hero.js +7 -8
  261. package/dist/components/ic-hero.js.map +1 -1
  262. package/dist/components/ic-horizontal-scroll2.js +3 -3
  263. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  264. package/dist/components/ic-input-component-container2.js +13 -2
  265. package/dist/components/ic-input-component-container2.js.map +1 -1
  266. package/dist/components/ic-link2.js +10 -7
  267. package/dist/components/ic-link2.js.map +1 -1
  268. package/dist/components/ic-menu-item2.js +9 -1
  269. package/dist/components/ic-menu-item2.js.map +1 -1
  270. package/dist/components/ic-menu2.js +3 -3
  271. package/dist/components/ic-menu2.js.map +1 -1
  272. package/dist/components/ic-navigation-button.js +7 -8
  273. package/dist/components/ic-navigation-button.js.map +1 -1
  274. package/dist/components/ic-navigation-group.js +6 -7
  275. package/dist/components/ic-navigation-group.js.map +1 -1
  276. package/dist/components/ic-navigation-item.js +5 -5
  277. package/dist/components/ic-navigation-item.js.map +1 -1
  278. package/dist/components/ic-pagination-item2.js +6 -1
  279. package/dist/components/ic-pagination-item2.js.map +1 -1
  280. package/dist/components/ic-pagination.js +5 -0
  281. package/dist/components/ic-pagination.js.map +1 -1
  282. package/dist/components/ic-radio-group.js +8 -0
  283. package/dist/components/ic-radio-group.js.map +1 -1
  284. package/dist/components/ic-radio-option.js +6 -1
  285. package/dist/components/ic-radio-option.js.map +1 -1
  286. package/dist/components/ic-search-bar.js +8 -3
  287. package/dist/components/ic-search-bar.js.map +1 -1
  288. package/dist/components/ic-select.js +10 -3
  289. package/dist/components/ic-select.js.map +1 -1
  290. package/dist/components/ic-side-navigation.js +6 -6
  291. package/dist/components/ic-side-navigation.js.map +1 -1
  292. package/dist/components/ic-switch.js +8 -3
  293. package/dist/components/ic-switch.js.map +1 -1
  294. package/dist/components/ic-tab.js +5 -2
  295. package/dist/components/ic-tab.js.map +1 -1
  296. package/dist/components/ic-text-field2.js +22 -6
  297. package/dist/components/ic-text-field2.js.map +1 -1
  298. package/dist/components/ic-theme.js +22 -22
  299. package/dist/components/ic-theme.js.map +1 -1
  300. package/dist/components/ic-toggle-button-group.js +3 -0
  301. package/dist/components/ic-toggle-button-group.js.map +1 -1
  302. package/dist/components/ic-toggle-button.js +9 -1
  303. package/dist/components/ic-toggle-button.js.map +1 -1
  304. package/dist/components/ic-top-navigation.js +11 -7
  305. package/dist/components/ic-top-navigation.js.map +1 -1
  306. package/dist/core/core.css +63 -43
  307. package/dist/core/core.esm.js +1 -1
  308. package/dist/core/core.esm.js.map +1 -1
  309. package/dist/core/{p-60d458e5.entry.js → p-07cd8a50.entry.js} +2 -2
  310. package/dist/core/p-07cd8a50.entry.js.map +1 -0
  311. package/dist/core/p-0821fc5b.entry.js +2 -0
  312. package/dist/core/p-0821fc5b.entry.js.map +1 -0
  313. package/dist/core/p-0b8c3770.entry.js +2 -0
  314. package/dist/core/p-0b8c3770.entry.js.map +1 -0
  315. package/dist/core/{p-97e8246c.entry.js → p-0d505c1f.entry.js} +2 -2
  316. package/dist/core/{p-e107f362.entry.js → p-1234f7a5.entry.js} +2 -2
  317. package/dist/core/{p-78f46cf8.entry.js → p-193582d4.entry.js} +2 -2
  318. package/dist/core/{p-7cba80ac.entry.js → p-225384ab.entry.js} +2 -2
  319. package/dist/core/p-225384ab.entry.js.map +1 -0
  320. package/dist/core/{p-88810080.entry.js → p-3420a999.entry.js} +2 -2
  321. package/dist/core/p-3420a999.entry.js.map +1 -0
  322. package/dist/core/{p-4fea4610.entry.js → p-3994d86d.entry.js} +2 -2
  323. package/dist/core/p-3994d86d.entry.js.map +1 -0
  324. package/dist/core/p-3bfc4a52.entry.js +2 -0
  325. package/dist/core/p-3bfc4a52.entry.js.map +1 -0
  326. package/dist/core/p-3cfef37a.entry.js +2 -0
  327. package/dist/core/p-3cfef37a.entry.js.map +1 -0
  328. package/dist/core/{p-ba37e169.entry.js → p-406e58af.entry.js} +2 -2
  329. package/dist/core/p-406e58af.entry.js.map +1 -0
  330. package/dist/core/{p-f99576e0.js → p-48e98730.js} +2 -2
  331. package/dist/core/p-48e98730.js.map +1 -0
  332. package/dist/core/{p-48463a79.entry.js → p-4af52174.entry.js} +2 -2
  333. package/dist/core/p-4af52174.entry.js.map +1 -0
  334. package/dist/core/{p-15fd6539.entry.js → p-4dc48606.entry.js} +2 -2
  335. package/dist/core/{p-c563d479.entry.js → p-4f72a02a.entry.js} +2 -2
  336. package/dist/core/p-4f72a02a.entry.js.map +1 -0
  337. package/dist/core/{p-c43d676b.entry.js → p-518ea375.entry.js} +2 -2
  338. package/dist/core/{p-3a4000d8.entry.js → p-520c6089.entry.js} +2 -2
  339. package/dist/core/p-580b1593.entry.js +2 -0
  340. package/dist/core/p-580b1593.entry.js.map +1 -0
  341. package/dist/core/{p-79c132e3.entry.js → p-59800237.entry.js} +2 -2
  342. package/dist/core/p-59800237.entry.js.map +1 -0
  343. package/dist/core/{p-f580f0ce.entry.js → p-5ba8e679.entry.js} +2 -2
  344. package/dist/core/p-5ba8e679.entry.js.map +1 -0
  345. package/dist/core/p-5d417fc0.entry.js +2 -0
  346. package/dist/core/p-5d417fc0.entry.js.map +1 -0
  347. package/dist/core/{p-c5d3c71e.entry.js → p-5d653608.entry.js} +2 -2
  348. package/dist/core/{p-c82240b7.entry.js → p-61510f00.entry.js} +2 -2
  349. package/dist/core/p-6159b077.entry.js +2 -0
  350. package/dist/core/p-6159b077.entry.js.map +1 -0
  351. package/dist/core/{p-6bb3ef22.entry.js → p-6859019c.entry.js} +2 -2
  352. package/dist/core/p-6859019c.entry.js.map +1 -0
  353. package/dist/core/{p-c4f32f77.entry.js → p-705db6a5.entry.js} +2 -2
  354. package/dist/core/{p-c4f32f77.entry.js.map → p-705db6a5.entry.js.map} +1 -1
  355. package/dist/core/{p-cdbc3414.entry.js → p-7124b387.entry.js} +2 -2
  356. package/dist/core/p-810744b5.entry.js +2 -0
  357. package/dist/core/p-810744b5.entry.js.map +1 -0
  358. package/dist/core/p-810f5a2d.entry.js +2 -0
  359. package/dist/core/p-810f5a2d.entry.js.map +1 -0
  360. package/dist/core/{p-85be0268.entry.js → p-8a2670c1.entry.js} +2 -2
  361. package/dist/core/p-8a2670c1.entry.js.map +1 -0
  362. package/dist/core/{p-03dc6b93.entry.js → p-91c1327d.entry.js} +2 -2
  363. package/dist/core/{p-a91b0212.entry.js → p-98dbbb34.entry.js} +2 -2
  364. package/dist/core/{p-85d33e38.entry.js → p-9c1d4f72.entry.js} +2 -2
  365. package/dist/core/p-9c1d4f72.entry.js.map +1 -0
  366. package/dist/core/{p-f069f50e.entry.js → p-a23c515d.entry.js} +2 -2
  367. package/dist/core/p-a24bcf5f.entry.js +2 -0
  368. package/dist/core/p-a24bcf5f.entry.js.map +1 -0
  369. package/dist/core/p-aefebee9.entry.js +2 -0
  370. package/dist/core/p-aefebee9.entry.js.map +1 -0
  371. package/dist/core/{p-2223c7ee.entry.js → p-b27dfa1b.entry.js} +2 -2
  372. package/dist/core/{p-685d6aa9.entry.js → p-b2a41070.entry.js} +2 -2
  373. package/dist/core/{p-d987bdc0.entry.js → p-b51e378c.entry.js} +2 -2
  374. package/dist/core/p-b51e378c.entry.js.map +1 -0
  375. package/dist/core/{p-b06939fa.entry.js → p-b5439baa.entry.js} +2 -2
  376. package/dist/core/p-b9aa801f.entry.js +2 -0
  377. package/dist/core/p-b9aa801f.entry.js.map +1 -0
  378. package/dist/core/{p-12f72d83.entry.js → p-bc7b8a1e.entry.js} +2 -2
  379. package/dist/core/{p-c7e01fcd.entry.js → p-c2b359d9.entry.js} +2 -2
  380. package/dist/core/p-c2b359d9.entry.js.map +1 -0
  381. package/dist/core/{p-ec097c1f.entry.js → p-c67f7603.entry.js} +2 -2
  382. package/dist/core/p-c6e91e13.entry.js +2 -0
  383. package/dist/core/p-c6e91e13.entry.js.map +1 -0
  384. package/dist/core/{p-98816f52.entry.js → p-c83e933c.entry.js} +2 -2
  385. package/dist/core/{p-0aec7fab.entry.js → p-ca27ab19.entry.js} +2 -2
  386. package/dist/core/{p-0aec7fab.entry.js.map → p-ca27ab19.entry.js.map} +1 -1
  387. package/dist/core/p-cfe32b37.entry.js +2 -0
  388. package/dist/core/p-cfe32b37.entry.js.map +1 -0
  389. package/dist/core/{p-175baf98.entry.js → p-d2909711.entry.js} +2 -2
  390. package/dist/core/p-da85eaf6.entry.js +2 -0
  391. package/dist/core/p-da85eaf6.entry.js.map +1 -0
  392. package/dist/core/p-dcb2073d.entry.js +2 -0
  393. package/dist/core/p-dcb2073d.entry.js.map +1 -0
  394. package/dist/core/{p-d3263ed9.entry.js → p-ded2dbed.entry.js} +2 -2
  395. package/dist/core/p-ded2dbed.entry.js.map +1 -0
  396. package/dist/core/{p-81f80487.entry.js → p-f42c0469.entry.js} +2 -2
  397. package/dist/core/p-f42c0469.entry.js.map +1 -0
  398. package/dist/esm/core.js +1 -1
  399. package/dist/esm/{helpers-7bf8c67f.js → helpers-e594bfc6.js} +31 -27
  400. package/dist/esm/helpers-e594bfc6.js.map +1 -0
  401. package/dist/esm/ic-accordion-group.entry.js +1 -1
  402. package/dist/esm/ic-accordion.entry.js +8 -1
  403. package/dist/esm/ic-accordion.entry.js.map +1 -1
  404. package/dist/esm/ic-alert.entry.js +2 -2
  405. package/dist/esm/ic-alert.entry.js.map +1 -1
  406. package/dist/esm/ic-back-to-top.entry.js +1 -1
  407. package/dist/esm/ic-badge.entry.js +2 -2
  408. package/dist/esm/ic-badge.entry.js.map +1 -1
  409. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  410. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  411. package/dist/esm/ic-button_3.entry.js +10 -7
  412. package/dist/esm/ic-button_3.entry.js.map +1 -1
  413. package/dist/esm/ic-card-vertical.entry.js +15 -6
  414. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  415. package/dist/esm/ic-checkbox-group.entry.js +5 -1
  416. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  417. package/dist/esm/ic-checkbox.entry.js +5 -1
  418. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  419. package/dist/esm/ic-chip.entry.js +9 -4
  420. package/dist/esm/ic-chip.entry.js.map +1 -1
  421. package/dist/esm/ic-data-row.entry.js +1 -1
  422. package/dist/esm/ic-dialog.entry.js +1 -1
  423. package/dist/esm/ic-divider.entry.js +3 -3
  424. package/dist/esm/ic-divider.entry.js.map +1 -1
  425. package/dist/esm/ic-empty-state.entry.js +1 -1
  426. package/dist/esm/ic-footer-link-group.entry.js +4 -5
  427. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  428. package/dist/esm/ic-footer-link.entry.js +4 -5
  429. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  430. package/dist/esm/ic-footer.entry.js +7 -8
  431. package/dist/esm/ic-footer.entry.js.map +1 -1
  432. package/dist/esm/ic-hero.entry.js +6 -7
  433. package/dist/esm/ic-hero.entry.js.map +1 -1
  434. package/dist/esm/ic-horizontal-scroll.entry.js +3 -3
  435. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  436. package/dist/esm/ic-input-component-container_3.entry.js +13 -4
  437. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  438. package/dist/esm/ic-input-label_2.entry.js +1 -1
  439. package/dist/esm/ic-link.entry.js +9 -6
  440. package/dist/esm/ic-link.entry.js.map +1 -1
  441. package/dist/esm/ic-menu-group.entry.js +1 -1
  442. package/dist/esm/ic-menu-item.entry.js +7 -1
  443. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  444. package/dist/esm/ic-navigation-button.entry.js +6 -7
  445. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  446. package/dist/esm/ic-navigation-group.entry.js +5 -6
  447. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  448. package/dist/esm/ic-navigation-item.entry.js +4 -4
  449. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  450. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  451. package/dist/esm/ic-page-header.entry.js +1 -1
  452. package/dist/esm/ic-pagination-item.entry.js +5 -1
  453. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  454. package/dist/esm/ic-pagination.entry.js +5 -1
  455. package/dist/esm/ic-pagination.entry.js.map +1 -1
  456. package/dist/esm/ic-popover-menu.entry.js +1 -1
  457. package/dist/esm/ic-radio-group.entry.js +9 -1
  458. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  459. package/dist/esm/ic-radio-option.entry.js +5 -1
  460. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  461. package/dist/esm/ic-search-bar.entry.js +7 -3
  462. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  463. package/dist/esm/ic-select.entry.js +9 -3
  464. package/dist/esm/ic-select.entry.js.map +1 -1
  465. package/dist/esm/ic-side-navigation.entry.js +5 -5
  466. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  467. package/dist/esm/ic-status-tag.entry.js +1 -1
  468. package/dist/esm/ic-step.entry.js +1 -1
  469. package/dist/esm/ic-stepper.entry.js +1 -1
  470. package/dist/esm/ic-switch.entry.js +6 -2
  471. package/dist/esm/ic-switch.entry.js.map +1 -1
  472. package/dist/esm/ic-tab-group.entry.js +1 -1
  473. package/dist/esm/ic-tab-panel.entry.js +1 -1
  474. package/dist/esm/ic-tab.entry.js +5 -2
  475. package/dist/esm/ic-tab.entry.js.map +1 -1
  476. package/dist/esm/ic-text-field.entry.js +20 -5
  477. package/dist/esm/ic-text-field.entry.js.map +1 -1
  478. package/dist/esm/ic-theme.entry.js +20 -20
  479. package/dist/esm/ic-theme.entry.js.map +1 -1
  480. package/dist/esm/ic-toast.entry.js +1 -1
  481. package/dist/esm/ic-toggle-button-group.entry.js +3 -0
  482. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  483. package/dist/esm/ic-toggle-button.entry.js +7 -1
  484. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  485. package/dist/esm/ic-top-navigation.entry.js +10 -6
  486. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  487. package/dist/esm/ic-typography.entry.js +1 -1
  488. package/dist/esm/loader.js +1 -1
  489. package/dist/types/components/ic-accordion/ic-accordion.d.ts +2 -0
  490. package/dist/types/components/ic-button/ic-button.d.ts +2 -2
  491. package/dist/types/components/ic-card-vertical/ic-card-vertical.d.ts +3 -2
  492. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +1 -0
  493. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +1 -0
  494. package/dist/types/components/ic-chip/ic-chip.d.ts +5 -0
  495. package/dist/types/components/ic-divider/ic-divider.d.ts +4 -4
  496. package/dist/types/components/ic-footer/ic-footer.d.ts +3 -3
  497. package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +3 -3
  498. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +3 -3
  499. package/dist/types/components/ic-hero/ic-hero.d.ts +3 -3
  500. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +2 -2
  501. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +2 -0
  502. package/dist/types/components/ic-link/ic-link.d.ts +2 -2
  503. package/dist/types/components/ic-menu/ic-menu.d.ts +1 -1
  504. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +1 -0
  505. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +3 -3
  506. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +3 -3
  507. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +3 -3
  508. package/dist/types/components/ic-pagination/ic-pagination.d.ts +1 -0
  509. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +1 -0
  510. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +1 -0
  511. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +1 -0
  512. package/dist/types/components/ic-select/ic-select.d.ts +1 -0
  513. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +3 -3
  514. package/dist/types/components/ic-side-navigation/ic-side-navigation.types.d.ts +2 -2
  515. package/dist/types/components/ic-switch/ic-switch.d.ts +1 -0
  516. package/dist/types/components/ic-tab/ic-tab.d.ts +1 -0
  517. package/dist/types/components/ic-text-field/ic-text-field.d.ts +5 -2
  518. package/dist/types/components/ic-theme/ic-theme.d.ts +8 -8
  519. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +1 -0
  520. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +3 -3
  521. package/dist/types/components.d.ts +28 -20
  522. package/dist/types/utils/helpers.d.ts +12 -8
  523. package/dist/types/utils/types.d.ts +5 -5
  524. package/hydrate/index.js +255 -142
  525. package/package.json +4 -2
  526. package/vscode-data.json +10 -6
  527. package/dist/cjs/helpers-529aaa3a.js.map +0 -1
  528. package/dist/core/p-04339c98.entry.js +0 -2
  529. package/dist/core/p-04339c98.entry.js.map +0 -1
  530. package/dist/core/p-0cef50b7.entry.js +0 -2
  531. package/dist/core/p-0cef50b7.entry.js.map +0 -1
  532. package/dist/core/p-274b1ed7.entry.js +0 -2
  533. package/dist/core/p-274b1ed7.entry.js.map +0 -1
  534. package/dist/core/p-2a300ec7.entry.js +0 -2
  535. package/dist/core/p-2a300ec7.entry.js.map +0 -1
  536. package/dist/core/p-303307bb.entry.js +0 -2
  537. package/dist/core/p-303307bb.entry.js.map +0 -1
  538. package/dist/core/p-3317f083.entry.js +0 -2
  539. package/dist/core/p-3317f083.entry.js.map +0 -1
  540. package/dist/core/p-35bd9d76.entry.js +0 -2
  541. package/dist/core/p-35bd9d76.entry.js.map +0 -1
  542. package/dist/core/p-36f4e0bd.entry.js +0 -2
  543. package/dist/core/p-36f4e0bd.entry.js.map +0 -1
  544. package/dist/core/p-48463a79.entry.js.map +0 -1
  545. package/dist/core/p-4fea4610.entry.js.map +0 -1
  546. package/dist/core/p-60d458e5.entry.js.map +0 -1
  547. package/dist/core/p-6bb3ef22.entry.js.map +0 -1
  548. package/dist/core/p-6cb1f1da.entry.js +0 -2
  549. package/dist/core/p-6cb1f1da.entry.js.map +0 -1
  550. package/dist/core/p-79c132e3.entry.js.map +0 -1
  551. package/dist/core/p-7cba80ac.entry.js.map +0 -1
  552. package/dist/core/p-81f80487.entry.js.map +0 -1
  553. package/dist/core/p-85be0268.entry.js.map +0 -1
  554. package/dist/core/p-85d33e38.entry.js.map +0 -1
  555. package/dist/core/p-88810080.entry.js.map +0 -1
  556. package/dist/core/p-a01841e2.entry.js +0 -2
  557. package/dist/core/p-a01841e2.entry.js.map +0 -1
  558. package/dist/core/p-a6be333f.entry.js +0 -2
  559. package/dist/core/p-a6be333f.entry.js.map +0 -1
  560. package/dist/core/p-ae42affc.entry.js +0 -2
  561. package/dist/core/p-ae42affc.entry.js.map +0 -1
  562. package/dist/core/p-ba37e169.entry.js.map +0 -1
  563. package/dist/core/p-ba55afea.entry.js +0 -2
  564. package/dist/core/p-ba55afea.entry.js.map +0 -1
  565. package/dist/core/p-bbd2febe.entry.js +0 -2
  566. package/dist/core/p-bbd2febe.entry.js.map +0 -1
  567. package/dist/core/p-c0d5043e.entry.js +0 -2
  568. package/dist/core/p-c0d5043e.entry.js.map +0 -1
  569. package/dist/core/p-c563d479.entry.js.map +0 -1
  570. package/dist/core/p-c7e01fcd.entry.js.map +0 -1
  571. package/dist/core/p-d3263ed9.entry.js.map +0 -1
  572. package/dist/core/p-d43e0f4b.entry.js +0 -2
  573. package/dist/core/p-d43e0f4b.entry.js.map +0 -1
  574. package/dist/core/p-d987bdc0.entry.js.map +0 -1
  575. package/dist/core/p-f580f0ce.entry.js.map +0 -1
  576. package/dist/core/p-f99576e0.js.map +0 -1
  577. package/dist/esm/helpers-7bf8c67f.js.map +0 -1
  578. /package/dist/core/{p-97e8246c.entry.js.map → p-0d505c1f.entry.js.map} +0 -0
  579. /package/dist/core/{p-e107f362.entry.js.map → p-1234f7a5.entry.js.map} +0 -0
  580. /package/dist/core/{p-78f46cf8.entry.js.map → p-193582d4.entry.js.map} +0 -0
  581. /package/dist/core/{p-15fd6539.entry.js.map → p-4dc48606.entry.js.map} +0 -0
  582. /package/dist/core/{p-c43d676b.entry.js.map → p-518ea375.entry.js.map} +0 -0
  583. /package/dist/core/{p-3a4000d8.entry.js.map → p-520c6089.entry.js.map} +0 -0
  584. /package/dist/core/{p-c5d3c71e.entry.js.map → p-5d653608.entry.js.map} +0 -0
  585. /package/dist/core/{p-c82240b7.entry.js.map → p-61510f00.entry.js.map} +0 -0
  586. /package/dist/core/{p-cdbc3414.entry.js.map → p-7124b387.entry.js.map} +0 -0
  587. /package/dist/core/{p-03dc6b93.entry.js.map → p-91c1327d.entry.js.map} +0 -0
  588. /package/dist/core/{p-a91b0212.entry.js.map → p-98dbbb34.entry.js.map} +0 -0
  589. /package/dist/core/{p-f069f50e.entry.js.map → p-a23c515d.entry.js.map} +0 -0
  590. /package/dist/core/{p-2223c7ee.entry.js.map → p-b27dfa1b.entry.js.map} +0 -0
  591. /package/dist/core/{p-685d6aa9.entry.js.map → p-b2a41070.entry.js.map} +0 -0
  592. /package/dist/core/{p-b06939fa.entry.js.map → p-b5439baa.entry.js.map} +0 -0
  593. /package/dist/core/{p-12f72d83.entry.js.map → p-bc7b8a1e.entry.js.map} +0 -0
  594. /package/dist/core/{p-ec097c1f.entry.js.map → p-c67f7603.entry.js.map} +0 -0
  595. /package/dist/core/{p-98816f52.entry.js.map → p-c83e933c.entry.js.map} +0 -0
  596. /package/dist/core/{p-175baf98.entry.js.map → p-d2909711.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icButtonCss","buttonIds","Button","this","buttonIdNum","hasTooltip","inheritedAttributes","describedbyEl","describedById","mutationObserver","hostMutationObserver","handleClick","el","type","hasRouterSlot","closest","hiddenFormButton","document","createElement","setAttribute","style","display","appendChild","click","remove","handleKeyDown","ev","key","closeButtonTooltip","onFocus","icFocus","emit","onBlur","icBlur","mutationCallback","describedByContent","innerText","hostMutationCallback","mutationList","forceComponentUpdate","forEach","attributeName","attribute","getAttribute","title","ariaLabel","IC_INHERITED_ARIA","includes","forceUpdate","setHasTooltip","disableTooltip","isIconVariant","variant","startsWith","watchDisabledHandler","removeDisabledFalse","disabled","disconnectedCallback","undefined","disconnect","componentWillUpdate","loading","setProperty","getBoundingClientRect","width","componentWillLoad","_a","inheritAttributes","restInheritedAttributes","__rest","id","parentElement","querySelector","componentDidLoad","updateTheme","MutationObserver","observe","characterData","childList","subtree","attributes","componentWillRender","iconEl","hasIconSlot","handleHostClick","event","fileUpload","renderFileHiddenInput","icFileSelection","multiple","fileInputName","selectedFiles","accept","stopImmediatePropagation","dropdown","dropdownExpanded","brandChangeHandler","detail","mode","setFocus","buttonEl","focus","tooltip","shadowRoot","isTooltipVisible","displayTooltip","preventDefault","position","selectorPrefix","routerSlot","textContent","foregroundColor","getBrandFromContext","IcBrandForegroundEnum","Default","theme","Light","Dark","monochrome","render","TagType","href","buttonAttrs","form","formaction","formenctype","formmethod","formnovalidate","formtarget","download","rel","target","referrerpolicy","hreflang","describedby","buttonId","ButtonContent","h","Object","assign","class","ref","part","name","innerHTML","arrowDropdown","Host","size","fullWidth","isSlotUsed","transparentBackground","onClick","onKeyDown","ariaOwnsId","ariaControlsId","label","placement","tooltipPlacement","silent","icLoadingIndicatorCss","LoadingIndicator","updateCircularProgressMeter","indeterminate","circularMeter","String","progress","getLabel","labelIndex","setLabel","Promise","interval","setInterval","labelList","length","labelDuration","getLabelVariant","outerElement","offsetWidth","setCircleLineWidth","compactStepCircularLineWidth","classList","contains","toastDismissTimerCircularLineWidth","circularLineWidth","circularDiameter","setLinearDeterminateWidth","innerElement","Math","min","max","proportion","clipInnerElement","add","calcOuterClass","cls","updateLabel","indicatorLabel","setCircleXY","r","x","y","nextRadius","setDashSteps","radius","dashArray","PI","watchPropHandler","watchProgressHandler","clearInterval","Number","componentDidUpdate","description","innerLabel","role","viewBox","cx","cy","icTooltipCss","Tooltip","delayedHideEvents","dialogOverflow","instantHideEvents","mouseOverTool","persistTooltip","onDialog","showEvents","disableHover","disableClick","getTooltipTranslate","dialogEl","child","children","tooltipX","tooltipY","left","bottom","top","right","height","toolTip","show","icDialogEl","popperInstance","createPopper","modifiers","options","offset","element","arrow","scroll","resize","popperProps","console","warn","hide","removeAttribute","destroy","checkCloseTooltip","setTimeout","mouseEnterTooltip","mouseLeaveTooltip","manageEventListeners","action","method","setExternalPopperProps","props","onComponentRequiredPropUndefined","prop","propName","componentDidRender","typographyEl","maxLines","resolve","hasAttribute"],"sources":["src/components/ic-button/ic-button.css?tag=ic-button&encapsulation=shadow","src/components/ic-button/ic-button.tsx","src/components/ic-loading-indicator/ic-loading-indicator.css?tag=ic-loading-indicator&encapsulation=shadow","src/components/ic-loading-indicator/ic-loading-indicator.tsx","src/components/ic-tooltip/ic-tooltip.css?tag=ic-tooltip&encapsulation=shadow","src/components/ic-tooltip/ic-tooltip.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n* @prop --min-width: Minimum width of the button.\n* @prop --height: The height of the button.\n*/\n\n:host {\n display: inline-block;\n position: relative;\n\n --icon-width: 100%;\n --icon-height: 100%;\n}\n\n.button,\n::slotted(a) {\n font-family: var(--ic-font-body-family);\n text-decoration: none;\n font-weight: 600;\n font-size: 0.875rem;\n transition: var(--ic-easing-transition-fast);\n border-radius: var(--ic-border-radius);\n min-width: var(--min-width, 6.25rem);\n display: inline-flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n background: none;\n border: none;\n box-sizing: border-box;\n white-space: nowrap;\n vertical-align: middle;\n}\n\n:host(.with-badge) .button {\n border-radius: 0.2188rem;\n}\n\n.button:hover,\n::slotted(a:hover) {\n cursor: pointer;\n}\n\n.button:focus,\n::slotted(a:focus) {\n box-shadow: var(--ic-border-focus);\n}\n\n.button:focus-visible,\n::slotted(a:focus-visible) {\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(.ic-button-disabled),\n:host(.ic-button-disabled) .button,\n:host(.ic-button-disabled) ::slotted(a),\n:host(.ic-button-loading),\n:host(.ic-button-loading) .button {\n pointer-events: none;\n}\n\n:host(.top-icon) .button {\n flex-direction: column;\n\n --height: fit-content;\n}\n\n:host(.top-icon) .button .icon-container {\n margin-right: 0;\n}\n\n/* Variants */\n\n/* Primary */\n\n:host(.ic-button-variant-primary) .button,\n:host(.ic-button-variant-icon-primary) .button {\n color: var(--ic-button-primary-text);\n background-color: var(--ic-button-primary-background);\n}\n\n:host(.ic-button-variant-primary) ::slotted(a),\n:host(.ic-button-variant-icon-primary) ::slotted(a) {\n color: var(--ic-button-primary-text);\n background-color: var(--ic-button-primary-background) !important;\n}\n\n:host(.ic-button-variant-primary) .button:hover,\n:host(.ic-button-variant-icon-primary) .button:hover {\n background-color: var(--ic-button-primary-background-hover);\n}\n\n:host(.ic-button-variant-primary) ::slotted(a:hover),\n:host(.ic-button-variant-icon-primary) ::slotted(a:hover) {\n background-color: var(--ic-button-primary-background-hover) !important;\n}\n\n:host(.ic-button-variant-primary.ic-button-loading) .button,\n:host(.ic-button-variant-primary) .button:active,\n:host(.ic-button-variant-icon-primary.ic-button-loading) .button,\n:host(.ic-button-variant-icon-primary) .button:active {\n color: var(--ic-button-primary-text);\n background-color: var(--ic-button-primary-background-pressed);\n --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 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 --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\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 --button-loading-inner-color: var(--ic-button-secondary-text-pressed-active);\n --button-loading-outer-color: var(--ic-button-secondary-background-pressed);\n}\n\n:host(.ic-button-variant-secondary.ic-button-disabled) .button,\n:host(.ic-button-variant-icon-secondary.ic-button-disabled) .button {\n border-color: var(--ic-button-secondary-border-disabled);\n color: var(--ic-button-secondary-text-disabled);\n background: none;\n}\n\n:host(.ic-button-variant-secondary.ic-button-disabled) ::slotted(a),\n:host(.ic-button-variant-icon-secondary.ic-button-disabled) ::slotted(a) {\n background: none !important;\n}\n\n/* Secondary - non-transparent background */\n\n:host(.ic-button-variant-secondary.background) .button,\n:host(.ic-button-variant-icon-secondary.background) .button {\n background-color: var(--ic-button-secondary-background-non-transparent);\n}\n\n:host(.ic-button-variant-secondary.background) ::slotted(a),\n:host(.ic-button-variant-icon-secondary.background) ::slotted(a) {\n background-color: var(\n --ic-button-secondary-background-non-transparent\n ) !important;\n}\n\n:host(.ic-button-variant-secondary.background.ic-button-disabled) .button,\n:host(.ic-button-variant-icon-secondary.background.ic-button-disabled) .button {\n background-color: var(\n --ic-button-secondary-background-non-transparent-disabled\n );\n}\n\n:host(.ic-button-variant-secondary.background.ic-button-disabled) ::slotted(a),\n:host(.ic-button-variant-icon-secondary.background.ic-button-disabled)\n ::slotted(a) {\n background-color: var(\n --ic-button-secondary-background-non-transparent-disabled\n ) !important;\n}\n\n:host(.ic-button-variant-secondary.background) .button:hover,\n:host(.ic-button-variant-icon-secondary.background) .button:hover {\n background-color: var(--ic-button-secondary-background-non-transparent-hover);\n}\n\n:host(.ic-button-variant-secondary.background) ::slotted(a:hover),\n:host(.ic-button-variant-icon-secondary.background) ::slotted(a:hover) {\n background-color: var(\n --ic-button-secondary-background-non-transparent-hover\n ) !important;\n}\n\n:host(.ic-button-variant-secondary.background) .button:active,\n:host(.ic-button-variant-icon-secondary.background) .button:active {\n background-color: var(\n --ic-button-secondary-background-non-transparent-active\n );\n}\n\n:host(.ic-button-variant-secondary.background) ::slotted(a:active),\n:host(.ic-button-variant-icon-secondary.background) ::slotted(a:active) {\n background-color: var(\n --ic-button-secondary-background-non-transparent-active\n ) !important;\n}\n\n/* Secondary - monochrome */\n\n:host(.ic-button-variant-secondary.monochrome) .button,\n:host(.ic-button-variant-icon-secondary.monochrome) .button {\n background-color: none;\n border: var(--ic-border-width) solid\n var(--ic-button-secondary-border-monochrome);\n color: var(--ic-button-secondary-text-monochrome);\n}\n\n:host(.ic-button-variant-secondary.monochrome) ::slotted(a),\n:host(.ic-button-variant-icon-secondary.monochrome) ::slotted(a) {\n background-color: none !important;\n}\n\n:host(.ic-button-variant-secondary.monochrome) .button:hover,\n:host(.ic-button-variant-icon-secondary.monochrome) .button:hover {\n background-color: var(--ic-button-secondary-background-hover-monochrome);\n border-color: var(--ic-button-secondary-border-hover-monochrome);\n color: var(--ic-button-secondary-text-hover-monochrome);\n}\n\n:host(.ic-button-variant-secondary.monochrome) ::slotted(a:hover),\n:host(.ic-button-variant-icon-secondary.monochrome) ::slotted(a:hover) {\n background-color: var(\n --ic-button-secondary-background-hover-monochrome\n ) !important;\n}\n\n:host(.ic-button-variant-secondary.monochrome) .button:active,\n:host(.ic-button-variant-icon-secondary.monochrome) .button:active {\n background-color: var(--ic-button-secondary-background-pressed-monochrome);\n border-color: var(--ic-button-secondary-border-pressed-monochrome);\n color: var(--ic-button-secondary-text-pressed-monochrome);\n}\n\n:host(.ic-button-variant-secondary.monochrome) ::slotted(a:active),\n:host(.ic-button-variant-icon-secondary.monochrome) ::slotted(a:active) {\n background-color: var(\n --ic-button-secondary-background-pressed-monochrome\n ) !important;\n}\n\n:host(.ic-button-variant-secondary.ic-button-loading.monochrome) .button,\n:host(.ic-button-variant-icon-secondary.ic-button-loading.monochrome) .button {\n background-color: var(\n --ic-button-secondary-background-pressed-monochrome\n ) !important;\n border-color: var(--ic-button-secondary-border-pressed-monochrome);\n color: var(--ic-button-secondary-text-pressed-monochrome);\n --button-loading-inner-color: var(\n --ic-button-secondary-text-pressed-monochrome\n );\n --button-loading-outer-color: var(\n --ic-button-secondary-background-pressed-monochrome\n );\n}\n\n:host(.ic-button-variant-secondary.ic-button-disabled.monochrome) .button,\n:host(.ic-button-variant-icon-secondary.ic-button-disabled.monochrome) .button {\n background: none;\n border-color: var(--ic-button-secondary-border-disabled-monochrome);\n color: var(--ic-button-secondary-text-disabled-monochrome);\n}\n\n:host(.ic-button-variant-secondary.ic-button-disabled.monochrome) ::slotted(a),\n:host(.ic-button-variant-icon-secondary.ic-button-disabled.monochrome)\n ::slotted(a) {\n background: none !important;\n}\n\n/* Secondary - non-transparent background - monochrome */\n\n:host(.ic-button-variant-secondary.background.monochrome) .button,\n:host(.ic-button-variant-icon-secondary.background.monochrome) .button {\n background-color: var(\n --ic-button-secondary-background-non-transparent-monochrome\n );\n color: var(--ic-button-primary-text);\n}\n\n:host(.ic-button-variant-secondary.background.monochrome) ::slotted(a),\n:host(.ic-button-variant-icon-secondary.background.monochrome) ::slotted(a) {\n background-color: var(\n --ic-button-secondary-background-non-transparent-monochrome\n ) !important;\n}\n\n:host(.ic-button-variant-secondary.background.monochrome.ic-button-disabled)\n .button,\n:host(\n .ic-button-variant-icon-secondary.background.monochrome.ic-button-disabled\n )\n .button {\n background-color: var(\n --ic-button-secondary-background-non-transparent-monochrome-disabled\n );\n color: var(--ic-button-secondary-text-disabled-monochrome);\n}\n\n:host(.ic-button-variant-secondary.background.monochrome.ic-button-disabled)\n ::slotted(a),\n:host(\n .ic-button-variant-icon-secondary.background.monochrome.ic-button-disabled\n )\n ::slotted(a) {\n background-color: var(\n --ic-button-secondary-background-non-transparent-monochrome-disabled\n ) !important;\n}\n\n:host(.ic-button-variant-secondary.background.monochrome) .button:hover,\n:host(.ic-button-variant-icon-secondary.background.monochrome) .button:hover {\n background-color: var(\n --ic-button-secondary-background-non-transparent-monochrome-hover\n );\n}\n\n:host(.ic-button-variant-secondary.background.monochrome) ::slotted(a:hover),\n:host(.ic-button-variant-icon-secondary.background.monochrome)\n ::slotted(a:hover) {\n background-color: var(\n --ic-button-secondary-background-non-transparent-monochrome-hover\n ) !important;\n}\n\n:host(.ic-button-variant-secondary.background.monochrome) .button:active,\n:host(.ic-button-variant-icon-secondary.background.monochrome) .button:active {\n background-color: var(\n --ic-button-secondary-background-non-transparent-monochrome-active\n );\n}\n\n:host(.ic-button-variant-secondary.background.monochrome) ::slotted(a:active),\n:host(.ic-button-variant-icon-secondary.background.monochrome)\n ::slotted(a:active) {\n background-color: var(\n --ic-button-secondary-background-non-transparent-monochrome-active\n ) !important;\n}\n\n/* Tertiary */\n\n:host(.ic-button-variant-tertiary) .button,\n:host(.ic-button-variant-icon-tertiary) .button,\n:host(.ic-button-variant-tertiary) ::slotted(a),\n:host(.ic-button-variant-icon-tertiary) ::slotted(a) {\n color: var(--ic-button-tertiary-text-active);\n}\n\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 --button-loading-inner-color: var(--ic-button-tertiary-text-pressed-active);\n --button-loading-outer-color: var(--ic-button-tertiary-background-pressed);\n}\n\n:host(.ic-button-variant-tertiary) ::slotted(a:active),\n:host(.ic-button-variant-icon-tertiary) ::slotted(a:active) {\n background-color: var(\n --ic-button-tertiary-background-pressed-active\n ) !important;\n}\n\n:host(.ic-button-variant-tertiary.ic-button-disabled) .button,\n:host(.ic-button-variant-icon-tertiary.ic-button-disabled) .button {\n color: var(--ic-button-tertiary-text-disabled);\n background: none;\n}\n\n:host(.ic-button-variant-tertiary.ic-button-disabled) ::slotted(a),\n:host(.ic-button-variant-icon-tertiary.ic-button-disabled) ::slotted(a) {\n background: none !important;\n}\n\n/* Tertiary - monochrome */\n\n:host(.ic-button-variant-tertiary.monochrome) .button,\n:host(.ic-button-variant-tertiary.monochrome) ::slotted(a),\n:host(.ic-button-variant-icon-tertiary.monochrome) .button,\n:host(.ic-button-variant-icon-tertiary.monochrome) ::slotted(a) {\n color: var(--ic-button-tertiary-text-monochrome);\n}\n\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 --button-loading-inner-color: var(\n --ic-button-tertiary-text-pressed-monochrome\n );\n --button-loading-outer-color: var(\n --ic-button-tertiary-background-pressed-monochrome\n );\n}\n\n:host(.ic-button-variant-tertiary.monochrome) ::slotted(a:active),\n:host(.ic-button-variant-icon-tertiary.monochrome) ::slotted(a:active) {\n background-color: var(\n --ic-button-tertiary-background-pressed-monochrome\n ) !important;\n}\n\n:host(.ic-button-variant-tertiary.ic-button-disabled.monochrome) .button,\n:host(.ic-button-variant-icon-tertiary.ic-button-disabled.monochrome) .button {\n color: var(--ic-button-tertiary-text-disabled-monochrome);\n background: none;\n}\n\n:host(.ic-button-variant-tertiary.ic-button-disabled.monochrome) ::slotted(a),\n:host(.ic-button-variant-icon-tertiary.ic-button-disabled.monochrome)\n ::slotted(a) {\n background: none !important;\n}\n\n/* Destructive */\n\n:host(.ic-button-variant-destructive) .button,\n:host(.ic-button-variant-icon-destructive) .button {\n color: var(--ic-button-destructive-text);\n background-color: var(--ic-button-destructive-background);\n text-transform: uppercase;\n}\n\n:host(.ic-button-variant-destructive) ::slotted(a),\n:host(.ic-button-variant-icon-destructive) ::slotted(a) {\n color: var(--ic-button-destructive-text) !important;\n 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 --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 margin: var(--ic-space-1px) 0;\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 margin: var(--ic-space-1px) 0;\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-acti);\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-acti) !important;\n}\n\n:host(.ic-button-variant-icon.ic-button-disabled) .button {\n color: var(--ic-architectural-300);\n background: none;\n}\n\n:host(.ic-button-variant-icon.ic-button-disabled) ::slotted(a) {\n color: var(--ic-architectural-300);\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 margin: var(--ic-space-1px) 0;\n}\n\n:host(.ic-button-variant-icon-primary) .icon-container {\n width: var(--ic-space-lg) !important;\n height: var(--ic-space-lg) !important;\n}\n\n:host(.ic-button-variant-icon.monochrome) ::slotted(a),\n:host(.ic-button-variant-icon.monochrome) ::slotted(svg) {\n color: var(--ic-button-icon-monochrome);\n}\n\n/* Icon-secondary */\n\n:host(.ic-button-variant-icon-secondary) .button,\n:host(.ic-button-variant-icon-secondary) ::slotted(a) {\n min-width: 0;\n gap: var(--ic-space-xs);\n margin: var(--ic-space-1px) 0;\n}\n\n:host(.ic-button-variant-icon-secondary) .icon-container {\n width: var(--ic-space-lg) !important;\n height: var(--ic-space-lg) !important;\n}\n\n/* Icon-tertiary */\n\n:host(.ic-button-variant-icon-tertiary) .button,\n:host(.ic-button-variant-icon-tertiary) ::slotted(a) {\n min-width: 0;\n gap: var(--ic-space-xs);\n margin: var(--ic-space-1px) 0;\n}\n\n:host(.ic-button-variant-icon-tertiary) .icon-container {\n width: var(--ic-space-lg) !important;\n height: var(--ic-space-lg) !important;\n}\n\n/* Icon-destructive */\n\n:host(.ic-button-variant-icon-destructive) .button,\n:host(.ic-button-variant-icon-destructive) ::slotted(a) {\n min-width: 0;\n gap: var(--ic-space-xs);\n margin: var(--ic-space-1px) 0;\n}\n\n:host(.ic-button-variant-icon-destructive) .icon-container {\n width: var(--ic-space-lg) !important;\n height: var(--ic-space-lg) !important;\n}\n\n/* Sizing */\n\n:host(.ic-button-size-medium) .button {\n height: var(--height, 2.5rem);\n padding: var(--ic-space-xs) var(--ic-space-md);\n}\n\n:host(.ic-button-size-medium) ::slotted(a) {\n height: var(--height, 2.5rem) !important;\n padding: var(--ic-space-xs) var(--ic-space-md) !important;\n}\n\n:host(.ic-button-size-small) .button {\n height: var(--height, var(--ic-space-xl));\n padding: var(--ic-space-xxs) var(--ic-space-md);\n}\n\n:host(.ic-button-size-small) ::slotted(a) {\n height: var(--height, var(--ic-space-xl)) !important;\n padding: var(--ic-space-xxs) var(--ic-space-md) !important;\n}\n\n:host(.ic-button-size-large) .button {\n height: var(--height, var(--ic-space-xxl));\n padding: var(--ic-space-sm) var(--ic-space-md);\n}\n\n:host(.ic-button-size-large) ::slotted(a) {\n height: var(--height, var(--ic-space-xxl)) !important;\n padding: var(--ic-space-sm) var(--ic-space-md) !important;\n}\n\n:host(.ic-button-size-medium.ic-button-variant-icon) .button,\n:host(.ic-button-size-medium.ic-button-variant-icon-primary) .button,\n:host(.ic-button-size-medium.ic-button-variant-icon-secondary) .button,\n:host(.ic-button-size-medium.ic-button-variant-icon-tertiary) .button,\n:host(.ic-button-size-medium.ic-button-variant-icon-destructive) .button {\n height: var(--height, var(--ic-space-xl));\n width: var(--ic-space-xl);\n padding: 0.375rem;\n}\n\n:host(.ic-button-size-medium.ic-button-variant-icon-primary) ::slotted(a),\n:host(.ic-button-size-medium.ic-button-variant-icon-secondary) ::slotted(a),\n:host(.ic-button-size-medium.ic-button-variant-icon-tertiary) ::slotted(a),\n:host(.ic-button-size-medium.ic-button-variant-icon-destructive) ::slotted(a) {\n height: var(--height, var(--ic-space-xl)) !important;\n width: var(--ic-space-xl) !important;\n padding: 0.375rem !important;\n}\n\n:host(.ic-button-size-small.ic-button-variant-icon) .button,\n:host(.ic-button-size-small.ic-button-variant-icon-primary) .button,\n:host(.ic-button-size-small.ic-button-variant-icon-secondary) .button,\n:host(.ic-button-size-small.ic-button-variant-icon-tertiary) .button,\n:host(.ic-button-size-small.ic-button-variant-icon-destructive) .button {\n height: var(--height, var(--ic-space-lg));\n width: var(--ic-space-lg);\n padding: var(--ic-space-xxs);\n}\n\n:host(.ic-button-size-small.ic-button-variant-icon-primary) ::slotted(a),\n:host(.ic-button-size-small.ic-button-variant-icon-secondary) ::slotted(a),\n:host(.ic-button-size-small.ic-button-variant-icon-tertiary) ::slotted(a),\n:host(.ic-button-size-small.ic-button-variant-icon-destructive) ::slotted(a),\n:host(.ic-button-size-small.ic-button-variant-icon) ::slotted(a) {\n height: var(--height, var(--ic-space-lg)) !important;\n width: var(--ic-space-lg) !important;\n padding: var(--ic-space-xxs) !important;\n}\n\n:host(.ic-button-size-large.ic-button-variant-icon) .button,\n:host(.ic-button-size-large.ic-button-variant-icon-primary) .button,\n:host(.ic-button-size-large.ic-button-variant-icon-secondary) .button,\n:host(.ic-button-size-large.ic-button-variant-icon-tertiary) .button,\n:host(.ic-button-size-large.ic-button-variant-icon-destructive) .button {\n height: var(--height, 2.5rem);\n width: 2.5rem;\n padding: var(--ic-space-xs);\n}\n\n:host(.ic-button-size-large.ic-button-variant-icon-destructive) .button,\n:host(.ic-button-size-large.ic-button-variant-icon-primary) ::slotted(a),\n:host(.ic-button-size-large.ic-button-variant-icon-secondary) ::slotted(a),\n:host(.ic-button-size-large.ic-button-variant-icon-tertiary) ::slotted(a),\n:host(.ic-button-size-large.ic-button-variant-icon-destructive) ::slotted(a),\n:host(.ic-button-size-large.ic-button-variant-icon) ::slotted(a) {\n height: var(--height, 2.5rem) !important;\n width: 2.5rem !important;\n padding: var(--ic-space-xs) !important;\n}\n\n/* Width */\n:host(.ic-button-full-width),\n:host(.ic-button-full-width) .button {\n width: 100%;\n}\n\n:host(.ic-button-full-width) ::slotted(a) {\n width: 100% !important;\n}\n\n/* Loading */\n\ndiv.loading-container {\n position: relative;\n align-items: center;\n width: 100%;\n}\n\nic-loading-indicator {\n --inner-color: var(--button-loading-inner-color);\n --outer-color: var(--button-loading-outer-color), transparent;\n}\n\n@keyframes loading-animation {\n 0% {\n width: 0%;\n left: 0%;\n }\n\n 25% {\n width: 0%;\n left: 0%;\n opacity: 0;\n }\n\n 50% {\n width: 100%;\n left: 0%;\n opacity: 1;\n }\n\n 75% {\n width: 0%;\n left: 100%;\n }\n\n 100% {\n width: 0%;\n left: 100%;\n opacity: 0;\n }\n}\n\n/* Icons */\n\ndiv.icon-container {\n box-sizing: border-box;\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n display: flex;\n justify-content: center;\n align-items: center;\n margin-right: var(--ic-space-xs);\n}\n\ndiv.right-icon {\n margin-right: auto;\n margin-left: var(--ic-space-xs);\n}\n\n:host(.ic-button-full-width) .right-icon {\n margin-right: var(--ic-space-xs);\n}\n\n::slotted(:not(ic-badge)) {\n width: var(--icon-width) !important;\n height: var(--icon-height) !important;\n fill: currentcolor !important;\n pointer-events: none;\n}\n\n:host(.ic-button-variant-icon) .button .icon-container {\n margin: 0;\n pointer-events: none;\n}\n\n/** SEARCH **/\n\n:host(.search-submit-button) ::slotted(svg) {\n --icon-height: 1.25rem;\n --icon-width: 1.25rem;\n\n color: var(--ic-atoms-input-search-button);\n}\n\n:host(.search-submit-button-small) ::slotted(svg) {\n --icon-height: 1rem;\n --icon-width: 1rem;\n\n color: var(--ic-atoms-input-search-button);\n}\n\n:host(.search-submit-button) .button:focus {\n box-shadow: none;\n}\n\n:host(.search-submit-button) .button:not(:active):focus {\n box-shadow: none;\n background-color: var(--ic-action-default-bg-hover);\n}\n\n:host(.search-submit-button) .button:not(:active):focus ::slotted(svg) {\n color: var(--ic-button-primary-text);\n}\n\n:host(.search-submit-button) {\n display: flex;\n align-items: center;\n margin: 0 var(--ic-space-xxs);\n}\n\n/** CLEAR & DISMISS **/\n\n:host(.ic-button-variant-icon) .button,\n:host(.ic-button-variant-icon) ::slotted(a) {\n background-color: inherit;\n min-width: 0;\n gap: var(--ic-space-xs);\n margin: var(--ic-space-1px) 0;\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(.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 margin: var(--ic-space-1px) 0;\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-architectural-300);\n background: none;\n}\n\n:host(.clear-button) {\n margin: 0 var(--ic-space-xxs);\n}\n\n:host(.clear-button) .button:focus,\n:host(.calendar-button) .button:focus {\n box-shadow: none;\n}\n\n:host(.dismiss-icon) .button,\n:host(.clear-button) .button,\n:host(.dismiss-icon) ::slotted(a),\n:host(.clear-button) ::slotted(a) {\n background-color: inherit;\n color: var(--ic-atoms-input-clear-button);\n}\n\n:host(.dismiss-icon) .button:hover,\n:host(.clear-button) .button:hover,\n:host(.dismiss-icon) ::slotted(a:hover),\n:host(.clear-button) ::slotted(a:hover) {\n color: var(--ic-atoms-input-clear-button);\n}\n\n:host(.dismiss-icon),\n:host(.clear-button) {\n color: var(--ic-atoms-input-clear-button);\n margin: 0 var(--ic-space-xxs);\n}\n\n:host(.dismiss-icon) .button:focus,\n:host(.clear-button) .button:focus,\n:host(.calendar-button) .button:focus {\n box-shadow: none;\n}\n\n:host(.dismiss-icon) .button:not(:active):focus ::slotted(svg),\n:host(.clear-button) .button:not(:active):focus ::slotted(svg) {\n background-color: var(--ic-atoms-input-clear-button-focus-inner);\n color: var(--ic-button-primary-text);\n /* 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 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-light) {\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(--ic-action-dark-hover);\n --ic-button-secondary-text-pressed-monochrome: var(--ic-action-dark-pressed);\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-dark) {\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(--ic-action-light-hover);\n --ic-button-secondary-text-pressed-monochrome: var(--ic-action-light-pressed);\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 .search-submit-button ::slotted(a),\n .ic-button-variant-icon ::slotted(a),\n .clear-button ::slotted(a),\n .search-submit-button ::slotted(svg),\n .ic-button-variant-icon ::slotted(svg),\n .clear-button ::slotted(svg) {\n color: HighlightText;\n }\n\n :host(.ic-button-variant-icon.monochrome) ::slotted(a),\n :host(.ic-button-variant-icon.monochrome) ::slotted(svg) {\n color: white;\n }\n\n :host(.dismiss-icon) .button:not(:active):focus ::slotted(svg),\n :host(.clear-button) .button:not(:active):focus ::slotted(svg) {\n color: white !important;\n background-color: inherit;\n }\n}\n\n/** Pagination **/\n\n:host(.flip) ::slotted(svg) {\n transform: scaleX(-1);\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Method,\n Prop,\n State,\n forceUpdate,\n h,\n Watch,\n} from \"@stencil/core\";\n\nimport {\n getBrandFromContext,\n inheritAttributes,\n isSlotUsed,\n removeDisabledFalse,\n renderFileHiddenInput,\n} from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcButtonTypes,\n IcButtonVariants,\n IcButtonTooltipPlacement,\n} from \"./ic-button.types\";\nimport {\n IcSizes,\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcThemeMode,\n} from \"../../utils/types\";\nimport arrowDropdown from \"../../assets/arrow-dropdown.svg\";\n\nlet buttonIds = 0;\n\n/**\n * @slot left-icon - Content will be placed to the left of the button label.\n * @slot right-icon - Content will be placed to the right of the button label.\n * @slot top-icon - Content will be placed above the button label.\n * @slot badge - Badge component overlaying the top right of the button.\n * @slot router-item - Handle routing by nesting your routes in this slot. Setting loading to true will have no impact on this slot.\n */\n@Component({\n tag: \"ic-button\",\n styleUrl: \"ic-button.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Button {\n private buttonEl: HTMLElement;\n private buttonIdNum = buttonIds++;\n private hasTooltip: boolean = false;\n private id: string;\n private inheritedAttributes: { [k: string]: string } = {};\n private describedbyEl: HTMLElement = null;\n private describedById: string = null;\n private mutationObserver: MutationObserver = null;\n private hostMutationObserver: MutationObserver = null;\n private routerSlot: HTMLElement;\n\n @Element() el: HTMLIcButtonElement;\n\n @State() ariaLabel: string = null;\n @State() describedByContent: string = null;\n @State() title: string = null;\n\n /**\n * If `fileUpload` is set to `true`, this is the accepted list of file types.\n */\n @Prop() accept?: string = \"*\";\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaControlsId: string | boolean;\n\n /**\n * @internal Used to identify any related child component\n */\n @Prop() ariaOwnsId: string | boolean;\n\n /**\n * If `true`, the button will be in disabled state.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the ic-tooltip which is shown for icon variant will be disabled. Title or aria-label must be set if this prop is not applied.\n */\n @Prop() disableTooltip?: boolean = false;\n\n /**\n * If `true`, the user can save the linked URL instead of navigating to it.\n */\n @Prop() download?: string | boolean = false;\n\n /**\n * If `true`, the button will show a dropdown icon.\n */\n @Prop() dropdown?: boolean = false;\n\n /**\n * If `true`, the aria-expanded value will be set to true. This is only applied if the dropdown prop is also true.\n */\n @Prop({ mutable: true, reflect: true }) dropdownExpanded?: boolean = false;\n\n /**\n * If `true`, when the button is clicked the native file explorer will be launched.\n */\n @Prop() fileUpload?: boolean = false;\n\n /**\n * The name of the control for the file input, which is submitted with the form data.\n */\n @Prop() fileInputName: string = `ic-button-file-upload-input-${buttonIds++}`;\n\n /**\n * The <form> element to associate the button with.\n */\n @Prop() form?: string;\n\n /**\n * The URL that processes the information submitted by the button. It overrides the action attribute of the button's form owner. Does nothing if there is no form owner.\n */\n @Prop() formaction?: string;\n\n /**\n * The way the submitted form data is encoded.\n */\n @Prop() formenctype?: string;\n\n /**\n * The HTTP method used to submit the form.\n */\n @Prop() formmethod?: string;\n\n /**\n * If `true`, the form will not be validated when submitted.\n */\n @Prop() formnovalidate?: boolean;\n\n /**\n * The place to display the response from submitting the form. It overrides the target attribute of the button's form owner.\n */\n @Prop() formtarget?: string;\n\n /**\n * If `true`, the button will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * The URL that the link points to. This will render the button as an \"a\" tag.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n\n /**\n * If `true`, the button will be in loading state.\n */\n @Prop() loading?: boolean = false;\n\n /**\n * If `true`, the button will display as monochromatic in either `light` or `dark` theme.\n */\n @Prop({ mutable: true }) monochrome?: boolean = false;\n\n /**\n * If `fileUpload` is set to `true`, this boolean determines whether multiple files are accepted.\n */\n @Prop() multiple?: boolean = false;\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The list of the files that have been selected by a user.\n */\n @Prop() selectedFiles: FileList;\n\n /**\n * The size of the button to be displayed.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop({ mutable: true }) theme?: IcThemeMode = \"inherit\";\n\n /**\n * The position of the tooltip in relation to the button.\n */\n @Prop() tooltipPlacement?: IcButtonTooltipPlacement = \"bottom\";\n\n /**\n * If `true`, the secondary variant of button will have a transparent background rather than white.\n */\n @Prop() transparentBackground?: boolean = true;\n\n /**\n * The type of the button.\n */\n @Prop() type?: IcButtonTypes = \"button\";\n\n /**\n * The variant of the button to be displayed.\n */\n @Prop() variant?: IcButtonVariants = \"primary\";\n\n /**\n * Emitted when button has blur\n */\n @Event() icBlur!: EventEmitter<void>;\n\n /**\n * If `fileUpload` is set to `true`, this will be emitted when a file is selected in the native explorer.\n */\n @Event() icFileSelection!: EventEmitter<FileList>;\n\n /**\n * Emitted when button has focus\n */\n @Event() icFocus!: EventEmitter<void>;\n\n disconnectedCallback(): void {\n if (this.mutationObserver !== null && this.mutationObserver !== undefined) {\n this.mutationObserver.disconnect();\n }\n if (\n this.hostMutationObserver !== null &&\n this.hostMutationObserver !== undefined\n ) {\n this.hostMutationObserver.disconnect();\n }\n }\n\n componentWillUpdate(): void {\n if (this.loading) {\n this.el.style.setProperty(\n \"--min-width\",\n `${this.el.getBoundingClientRect().width}px`\n );\n }\n this.setHasTooltip();\n }\n\n componentWillLoad(): void {\n const {\n title,\n \"aria-label\": ariaLabel,\n ...restInheritedAttributes\n } = inheritAttributes(this.el, [...IC_INHERITED_ARIA, \"title\"]);\n\n this.title = title;\n this.ariaLabel = ariaLabel;\n this.inheritedAttributes = restInheritedAttributes;\n\n removeDisabledFalse(this.disabled, this.el);\n\n this.el.setAttribute(\"exportparts\", \"button\");\n\n this.id = this.el.id || null;\n this.setHasTooltip();\n\n if (!this.hasTooltip) {\n const describedById = this.inheritedAttributes[\"aria-describedby\"];\n if (describedById !== undefined) {\n this.describedById = describedById;\n const el = this.el.parentElement.querySelector<HTMLElement>(\n `#${describedById}`\n );\n if (el) {\n this.describedByContent = el.innerText;\n this.describedbyEl = el;\n }\n }\n }\n }\n\n componentDidLoad(): void {\n this.updateTheme();\n\n if (typeof MutationObserver !== \"undefined\") {\n if (this.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 }\n\n componentWillRender(): void {\n const iconEl = this.hasIconSlot(\"left\")\n ? this.el.querySelector(`[slot=\"left-icon\"]`)\n : this.hasIconSlot(\"right\")\n ? this.el.querySelector(`[slot=\"right-icon\"]`)\n : null;\n iconEl?.setAttribute(\"viewBox\", \"0 0 24 24\");\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (!this.hasRouterSlot()) {\n if (this.fileUpload) {\n renderFileHiddenInput(\n this.icFileSelection,\n this.el,\n this.multiple,\n this.fileInputName,\n this.selectedFiles,\n this.disabled,\n this.accept\n );\n }\n if (this.disabled || this.loading) {\n event.stopImmediatePropagation();\n }\n if (this.dropdown) {\n this.dropdownExpanded = !this.dropdownExpanded;\n }\n }\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler({ detail }: CustomEvent<IcBrand>): void {\n this.updateTheme(detail.mode);\n }\n\n /**\n * Sets focus on the native `button`.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.buttonEl?.focus();\n }\n\n private async closeButtonTooltip(ev: KeyboardEvent): Promise<void> {\n const tooltip = this.el.shadowRoot.querySelector(\"ic-tooltip\");\n if (await tooltip.isTooltipVisible()) {\n tooltip.displayTooltip(false);\n ev.preventDefault();\n ev.stopImmediatePropagation();\n }\n }\n\n private hasIconSlot(position?: \"left\" | \"right\" | \"top\"): boolean {\n const selectorPrefix = position ? `${position}-` : \"\";\n return this.el.querySelector(`[slot=\"${selectorPrefix}icon\"]`) !== null;\n }\n\n private hasRouterSlot(): boolean {\n this.routerSlot = this.el.querySelector('[slot=\"router-item\"]');\n if (this.routerSlot) {\n this.routerSlot.ariaLabel = this.routerSlot.textContent;\n }\n return !!this.routerSlot;\n }\n\n private handleClick = (): void => {\n if (\n (this.el.type === \"submit\" || this.el.type === \"reset\") &&\n !this.hasRouterSlot() &&\n !!this.el.closest(\"FORM\")\n ) {\n const hiddenFormButton = document.createElement(\"button\");\n\n hiddenFormButton.setAttribute(\"type\", this.el.type);\n hiddenFormButton.style.display = \"none\";\n\n this.el.closest(\"FORM\").appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n }\n };\n\n private handleKeyDown = (ev: KeyboardEvent): void => {\n if (ev.key === \"Escape\" && this.hasTooltip) {\n this.closeButtonTooltip(ev);\n }\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = () => {\n this.icBlur.emit();\n };\n\n private updateTheme(mode: IcBrandForeground = null): void {\n const foregroundColor = getBrandFromContext(this.el, mode);\n if (foregroundColor !== IcBrandForegroundEnum.Default) {\n this.theme =\n foregroundColor === IcBrandForegroundEnum.Light\n ? IcBrandForegroundEnum.Dark\n : IcBrandForegroundEnum.Light;\n this.monochrome = true;\n }\n }\n\n // triggered when text content of sibling element in light DOM changes\n private mutationCallback = (): void => {\n this.describedByContent = this.describedbyEl.innerText;\n };\n\n // triggered when attributes of host element change\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n let forceComponentUpdate = false;\n mutationList.forEach(({ attributeName }) => {\n const attribute = this.el.getAttribute(attributeName);\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 if (forceComponentUpdate) {\n forceUpdate(this);\n }\n };\n\n private setHasTooltip = (): void => {\n this.hasTooltip =\n !this.disableTooltip && (!!this.title || this.isIconVariant());\n };\n\n private isIconVariant = (): boolean => {\n return this.variant.startsWith(\"icon\");\n };\n\n render() {\n const TagType = (this.href && \"a\") || \"button\";\n const { title, ariaLabel, inheritedAttributes } = this;\n const buttonAttrs =\n TagType === \"button\"\n ? {\n type: this.type,\n disabled: this.disabled,\n form: this.form,\n formaction: this.formaction,\n formenctype: this.formenctype,\n formmethod: this.formmethod,\n formnovalidate: this.formnovalidate,\n formtarget: this.formtarget,\n }\n : {\n download: this.download !== false ? this.download : null,\n href: this.href,\n rel: this.rel,\n target: this.target,\n referrerpolicy: this.referrerpolicy,\n hreflang: this.hreflang,\n };\n\n let describedby: string = null;\n let buttonId: string = null;\n if (this.hasTooltip) {\n buttonId =\n this.id !== null\n ? `ic-button-with-tooltip-${this.id}`\n : `ic-button-with-tooltip-${this.buttonIdNum}`;\n describedby =\n this.variant === \"icon\" && !!ariaLabel\n ? null\n : `ic-tooltip-${buttonId}`;\n } else {\n describedby = this.describedById;\n }\n\n const ButtonContent = () => {\n return (\n <TagType\n class=\"button\"\n aria-disabled={this.loading || this.disabled ? \"true\" : null}\n aria-label={this.loading ? \"Loading\" : ariaLabel}\n aria-expanded={this.dropdown && `${this.dropdownExpanded}`}\n {...buttonAttrs}\n {...inheritedAttributes}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n ref={(el) => (this.buttonEl = el)}\n aria-describedby={describedby}\n part=\"button\"\n >\n {this.hasIconSlot(\"left\") && !this.loading && (\n <div class=\"icon-container\">\n <slot name=\"left-icon\" />\n </div>\n )}\n {this.hasIconSlot(\"top\") &&\n !this.hasIconSlot(\"left\") &&\n !this.hasIconSlot(\"right\") &&\n !this.loading && (\n <div class=\"icon-container\">\n <slot name=\"top-icon\" />\n </div>\n )}\n {this.loading ? (\n <div class=\"loading-container\">\n <ic-loading-indicator\n type=\"linear\"\n monochrome={this.monochrome}\n theme={this.theme}\n ></ic-loading-indicator>\n </div>\n ) : (\n <slot />\n )}\n {this.hasIconSlot(\"right\") && !this.loading && !this.dropdown && (\n <div class={{ \"icon-container\": true, \"right-icon\": true }}>\n <slot name=\"right-icon\" />\n </div>\n )}\n {this.dropdown &&\n !this.loading &&\n this.variant !== \"icon\" &&\n this.variant !== \"destructive\" && (\n <span\n class={{\n [\"arrow-dropdown\"]: !this.dropdownExpanded,\n [\"dropdown-expanded\"]: this.dropdownExpanded,\n }}\n innerHTML={arrowDropdown}\n />\n )}\n </TagType>\n );\n };\n\n return (\n <Host\n class={{\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n [`monochrome`]: this.monochrome,\n [\"ic-button-disabled\"]: this.disabled && !this.loading,\n [`ic-button-variant-${this.variant}`]: true,\n [`ic-button-size-${this.size}`]: true,\n [\"ic-button-loading\"]: this.loading,\n [\"ic-button-full-width\"]: this.fullWidth,\n [\"with-badge\"]: isSlotUsed(this.el, \"badge\"),\n [\"dropdown-no-icon\"]:\n this.dropdown &&\n !isSlotUsed(this.el, \"icon\") &&\n !isSlotUsed(this.el, \"left-icon\"),\n [\"top-icon\"]: isSlotUsed(this.el, \"top-icon\"),\n [\"background\"]:\n this.variant === \"secondary\" &&\n !this.transparentBackground &&\n this.theme === \"light\",\n }}\n onClick={this.handleClick}\n onKeyDown={this.handleKeyDown}\n aria-owns={this.ariaOwnsId}\n aria-controls={this.ariaControlsId}\n aria-expanded={this.dropdown && `${this.dropdownExpanded}`}\n >\n {this.hasTooltip && (\n <ic-tooltip\n id={describedby}\n label={title || ariaLabel}\n target={buttonId}\n placement={this.tooltipPlacement}\n silent={this.isIconVariant() && !!ariaLabel}\n >\n {this.hasRouterSlot() ? (\n <slot name=\"router-item\"></slot>\n ) : (\n <ButtonContent />\n )}\n </ic-tooltip>\n )}\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n {!this.hasTooltip &&\n (this.hasRouterSlot() ? (\n <slot name=\"router-item\"></slot>\n ) : (\n <ButtonContent />\n ))}\n {this.describedByContent && (\n <span id={describedby} class=\"ic-button-describedby\">\n {this.describedByContent}\n </span>\n )}\n </Host>\n );\n }\n}\n","@import \"../../global/normalize.css\";\n\n:host {\n /**\n * @prop --circular-diameter: Diameter of the circular-indicator\n */\n\n display: block;\n\n --linear-border-radius: 0.25rem;\n --inner-color: var(--ic-loading-indicator-inner-color);\n --outer-color: var(--ic-loading-indicator-outer-color);\n --label-color: var(--ic-loading-indicator-label-color);\n --margin: none;\n --linear-line-height: var(--ic-space-xs);\n}\n\n:host(.ic-loading-indicator-monochrome) {\n --inner-color: var(--ic-loading-indicator-inner-color-monochrome);\n --outer-color: var(--ic-loading-indicator-outer-color-monochrome);\n --label-color: var(--ic-loading-indicator-label-color-monochrome);\n}\n\n.ic-loading-container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n align-items: center;\n}\n\n:host([size=\"small\"]) {\n --circular-diameter: 2.5rem;\n --linear-line-height: var(--ic-space-xxs);\n}\n\n:host([size=\"medium\"]) {\n --circular-diameter: 5rem;\n}\n\n:host([size=\"large\"]) {\n --circular-diameter: 7.5rem;\n}\n\n:host([size=\"icon\"]) {\n display: inline-block;\n\n --margin: var(--ic-space-xxxs);\n --circular-diameter: 1.25rem;\n}\n\n:host(.ic-loading-indicator-label) {\n --margin: 0 0 var(--ic-space-xs) 0;\n}\n\n.ic-loading-label {\n --ic-typography-color: var(--label-color);\n\n margin-left: var(--label-margin-left);\n}\n\n.ic-loading-circular-outer {\n height: var(--circular-diameter);\n width: var(--circular-diameter);\n}\n\n.ic-loading-circular-outer.indeterminate {\n animation: circular-animation 1s linear;\n animation-iteration-count: infinite;\n}\n\n@keyframes circular-animation {\n 100% {\n transform: rotate(360deg);\n }\n}\n\n.ic-loading-circular-outer,\n.ic-loading-linear-outer {\n margin: var(--margin);\n}\n\n.ic-loading-linear-outer {\n background-color: var(--outer-color);\n height: var(--linear-line-height);\n width: 100%;\n border-radius: var(--linear-border-radius);\n overflow: hidden;\n}\n\n.ic-loading-linear-inner {\n position: relative;\n height: 100%;\n background-color: var(--inner-color);\n border-radius: var(--linear-border-radius);\n}\n\n.indeterminate > .ic-loading-linear-inner {\n animation: linear-animation 2s infinite;\n}\n\n.determinate > .ic-loading-linear-inner {\n transition: width 0.5s;\n width: var(--linear-width);\n}\n\n:host(.ic-loading-indicator-full-width) {\n --linear-border-radius: none;\n}\n\n@keyframes linear-animation {\n 0% {\n width: 0%;\n left: -1%;\n }\n\n 25% {\n width: 0%;\n left: -1%;\n }\n\n 50% {\n width: 101%;\n left: -1%;\n }\n\n 75% {\n width: 0%;\n left: 101%;\n }\n\n 100% {\n width: 0%;\n left: 101%;\n }\n}\n\n.ic-loading-circular-svg {\n position: relative;\n width: 100%;\n height: 100%;\n transform: rotate(-90deg);\n}\n\n.ic-loading-circular-svg circle {\n width: 100%;\n height: 100%;\n fill: none;\n stroke: var(--compact-step-outer-color, var(--outer-color));\n stroke-width: var(--circular-line-width);\n stroke-linecap: round;\n}\n\n/* --stroke-dash-array calculated via dashArray method */\n.ic-loading-circular-svg circle:nth-child(2) {\n --circular-indeterminate: calc(\n (0.25 * var(--stroke-dasharray)) - var(--stroke-dasharray)\n );\n\n stroke-dasharray: var(--stroke-dasharray), var(--stroke-dasharray);\n stroke-dashoffset: var(--stroke-dashoffset, var(--circular-indeterminate));\n stroke: var(--compact-step-inner-color, var(--inner-color));\n}\n\n:host(.inner-label) .ic-loading-circular-inner {\n height: 100%;\n display: grid;\n}\n\n:host(.inner-label) .ic-loading-circular-svg,\n.inner-text {\n grid-column: 1;\n grid-row: 1;\n}\n\n/** ic-stepper **/\n:host(.not-required.compact-step-progress-indicator)\n .ic-loading-circular-svg\n circle:nth-child(2) {\n stroke: var(--ic-architectural-300);\n}\n\n.inner-text {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--ic-space-lg);\n height: inherit;\n overflow: hidden;\n margin: auto;\n\n --ic-typography-color: var(\n --ic-step-indicator-text-current,\n var(--ic-status-info-default)\n );\n}\n\n:host(.not-required.compact-step-progress-indicator) .inner-text {\n --ic-typography-color: var(--ic-step-indicator-text-disabled);\n}\n\n:host(.ic-loading-indicator-light.not-required.compact-step-progress-indicator)\n .inner-text {\n --ic-typography-color: var(--ic-architectural-400);\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n .indeterminate > .ic-loading-circular-inner {\n forced-color-adjust: none;\n }\n\n .ic-loading-linear-outer {\n border: var(--ic-border-hc);\n }\n\n .ic-loading-linear-inner {\n background-color: canvastext;\n }\n\n .ic-loading-circular-svg circle {\n stroke: Background;\n }\n\n .ic-loading-circular-svg circle:nth-child(2) {\n stroke: canvastext;\n }\n\n :host(.not-required.compact-step-progress-indicator)\n .ic-loading-circular-svg\n circle:nth-child(2) {\n stroke: GrayText;\n }\n}\n","import { Component, Element, h, Host, Prop, State, Watch } from \"@stencil/core\";\nimport {\n IcLoadingCircleXYR,\n IcLoadingSizes,\n IcLoadingTypes,\n} from \"./ic-loading-indicator.types\";\nimport { IcThemeMode } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-loading-indicator\",\n styleUrl: \"ic-loading-indicator.css\",\n shadow: true,\n})\nexport class LoadingIndicator {\n private circularMeter: SVGCircleElement;\n private innerElement?: HTMLDivElement;\n private interval: ReturnType<typeof setInterval>;\n private labelList: string[];\n private outerElement?: HTMLDivElement;\n\n @Element() el: HTMLIcLoadingIndicatorElement;\n\n @State() circularDiameter: number;\n @State() circularLineWidth: number;\n @State() indeterminate: boolean;\n @State() indicatorLabel: string;\n @State() clipInnerElement: boolean = false;\n\n /**\n * The description that will be set as the aria-label of the loading indicator when not using a visible label.\n */\n @Prop() description?: string = \"Loading\";\n\n /**\n * If `true`, when linear, the full-width variant (i.e. without a border radius) will be displayed.\n */\n @Prop({ reflect: true }) fullWidth?: boolean = false;\n\n /**\n * @internal The step number of a compact step, managed by ic-step.\n */\n @Prop() innerLabel?: number;\n\n /**\n * The time in milliseconds before the label changes.\n */\n @Prop() labelDuration?: number = 8000;\n\n /**\n * The maximum value that the progress value can take.\n * Used to calculate the proportional width of the progress bar.\n */\n @Prop() max?: number = 100;\n\n /**\n * The minimum value that the progress value can take.\n * Used to calculate the proportional width of the progress bar.\n */\n @Prop() min?: number = 0;\n\n /**\n * If `true`, the element will display as black and white.\n */\n @Prop() monochrome?: boolean = false;\n\n /**\n * The size of the loading indicator.\n */\n @Prop({ reflect: true }) size?: IcLoadingSizes = \"medium\";\n\n /**\n * The type of indicator, either linear or circular.\n */\n @Prop({ reflect: true }) type?: IcLoadingTypes = \"circular\";\n\n /**\n * The label to be displayed beneath the loading indicator.\n * Display a changing label by supplying an array of messages.\n */\n @Prop() label?: string | string[];\n\n @Watch(\"label\")\n watchPropHandler(): void {\n this.updateLabel();\n }\n\n /**\n * The current amount of progress made.\n * If not provided, component acts as an indeterminate loading indicator.\n */\n @Prop() progress?: number;\n\n @Watch(\"progress\")\n watchProgressHandler(): void {\n if (this.type === \"circular\") {\n this.updateCircularProgressMeter();\n }\n }\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n disconnectedCallback(): void {\n clearInterval(this.interval);\n }\n\n componentWillLoad(): void {\n this.indeterminate = this.progress === undefined;\n this.updateLabel();\n this.el.setAttribute(\"exportparts\", \"ic-loading-container\");\n }\n\n componentDidLoad(): void {\n if (this.type === \"circular\") {\n this.setCircleLineWidth();\n this.circularMeter = this.el.shadowRoot.querySelector(\n \".ic-loading-circular-svg circle:nth-child(2)\"\n );\n this.updateCircularProgressMeter();\n }\n\n if (Number(this.progress) >= 0 && this.type === \"linear\") {\n this.setLinearDeterminateWidth();\n }\n }\n\n componentWillUpdate(): void {\n this.indeterminate = this.progress === undefined;\n }\n\n componentDidUpdate(): void {\n if (Number(this.progress) >= 0 && this.type === \"linear\") {\n this.setLinearDeterminateWidth();\n }\n }\n\n private updateCircularProgressMeter = () => {\n if (!this.indeterminate) {\n this.circularMeter.style.setProperty(\n \"--progress-value\",\n String(this.progress)\n );\n }\n };\n\n private getLabel = (\n labelIndex: number,\n setLabel: (label: string) => void\n ) => {\n return new Promise(() => {\n this.interval = setInterval(() => {\n if (labelIndex < this.labelList.length - 1) {\n labelIndex++;\n } else {\n labelIndex = 0;\n }\n setLabel(this.labelList[labelIndex]);\n }, this.labelDuration);\n });\n };\n\n private getLabelVariant = () => {\n let variant: \"label\" | \"h4\" | \"h2\" = \"h4\";\n const width = this.outerElement?.offsetWidth;\n if (this.size === \"small\" || (this.type === \"circular\" && width < 60)) {\n variant = \"label\";\n } else if (\n this.size === \"large\" ||\n (this.type === \"circular\" && width >= 120)\n ) {\n variant = \"h2\";\n }\n return variant;\n };\n\n // Sets the circular indicator line width - accounting for the circle size being altered using the CSS custom property\n private setCircleLineWidth = () => {\n const { offsetWidth: width } = this.outerElement;\n\n const compactStepCircularLineWidth = this.el.classList.contains(\n \"compact-step-progress-indicator\"\n )\n ? 40\n : 0;\n const toastDismissTimerCircularLineWidth = this.el.classList.contains(\n \"toast-dismiss-timer\"\n )\n ? 20\n : 0;\n\n if (\n width ||\n compactStepCircularLineWidth ||\n toastDismissTimerCircularLineWidth\n ) {\n this.circularLineWidth =\n (compactStepCircularLineWidth ||\n toastDismissTimerCircularLineWidth ||\n width) * 0.1;\n this.circularDiameter =\n compactStepCircularLineWidth ||\n toastDismissTimerCircularLineWidth ||\n width;\n this.outerElement.style.setProperty(\n \"--circular-line-width\",\n `${this.circularLineWidth}px`\n );\n }\n };\n\n private setLinearDeterminateWidth = () => {\n if (!this.innerElement) return;\n // Ensure progress cannot be out of bounds\n\n const progress = Math.min(this.max, Math.max(this.min, this.progress));\n const proportion = (progress - this.min) / (this.max - this.min);\n this.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 calcOuterClass = (): string => {\n let cls = `ic-loading-${this.type}-outer`;\n cls += this.indeterminate ? \" indeterminate\" : \" determinate\";\n return cls;\n };\n\n private updateLabel = (): void => {\n if (this.label !== undefined) {\n if (typeof this.label === \"string\") {\n this.indicatorLabel = this.label;\n } else {\n this.labelList = this.label;\n const labelIndex = 0;\n this.indicatorLabel = this.labelList[labelIndex];\n if (this.labelList.length > 1) {\n this.getLabel(labelIndex, (label) => {\n this.indicatorLabel = label;\n });\n }\n }\n }\n };\n\n private setCircleXY = (): IcLoadingCircleXYR => {\n if (this.circularDiameter > 0) {\n const r = this.circularDiameter / 2;\n const x = r;\n const y = r;\n const nextRadius = r - this.circularLineWidth / 2;\n this.setDashSteps(nextRadius);\n\n return { x, y, r: nextRadius };\n }\n return { x: 0, y: 0, r: 0 };\n };\n\n private setDashSteps = (radius: number) => {\n const dashArray = 2 * Math.PI * radius;\n const progress = Math.min(Math.max(this.progress, this.min), this.max);\n const proportion = -1 - (progress - this.min) / (this.max - this.min);\n\n this.circularMeter.style.setProperty(\n \"--stroke-dasharray\",\n `${dashArray}px`\n );\n\n if (!this.indeterminate) {\n this.circularMeter.style.setProperty(\n \"--circular-steps-max\",\n String(this.max)\n );\n this.circularMeter.style.setProperty(\n \"--stroke-dashoffset\",\n `${proportion * dashArray}px`\n );\n }\n };\n\n render() {\n const {\n theme,\n label,\n description,\n size,\n fullWidth,\n innerLabel,\n monochrome,\n } = this;\n const { x, y, r } = this.setCircleXY();\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n \"ic-loading-indicator-label\": !!label,\n \"ic-loading-indicator-full-width\": fullWidth,\n \"inner-label\": !!innerLabel,\n \"ic-loading-indicator-monochrome\": monochrome,\n }}\n >\n <div class=\"ic-loading-container\" part=\"ic-loading-container\">\n <div\n ref={(el) => (this.outerElement = el as HTMLDivElement)}\n class={this.calcOuterClass()}\n role=\"progressbar\"\n aria-labelledby={\n this.label && this.size !== \"icon\" && \"ic-loading-label\"\n }\n aria-label={description}\n aria-valuenow={this.progress}\n aria-valuemin={this.min}\n aria-valuemax={this.max}\n >\n <div\n ref={(el) => (this.innerElement = el as HTMLDivElement)}\n class={`ic-loading-${this.type}-inner`}\n >\n {this.innerLabel &&\n this.innerLabel !== undefined &&\n this.size === \"small\" && (\n <ic-typography variant=\"subtitle-small\" class=\"inner-text\">\n {this.innerLabel}\n </ic-typography>\n )}\n {this.type === \"circular\" && (\n <svg\n class=\"ic-loading-circular-svg\"\n viewBox={`0 0 ${this.circularDiameter || 0} ${\n this.circularDiameter || 0\n }`}\n >\n <circle cx={`${x}`} cy={`${y}`} r={`${r}`}></circle>\n <circle cx={`${x}`} cy={`${y}`} r={`${r}`}></circle>\n </svg>\n )}\n </div>\n </div>\n {label && size !== \"icon\" && (\n <ic-typography\n id=\"ic-loading-label\"\n class=\"ic-loading-label\"\n role=\"status\"\n variant={this.getLabelVariant()}\n >\n <p>{this.indicatorLabel}</p>\n </ic-typography>\n )}\n </div>\n </Host>\n );\n }\n}\n","@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-tooltip: z-index of tooltip\n */\n\n:host(.ic-tooltip) {\n width: max-content;\n height: max-content;\n\n --ic-tooltip-background: var(--ic-color-background-primary-dark);\n --ic-tooltip-text: var(--ic-color-text-primary-dark);\n --ic-tooltip-border: var(--ic-color-border-neutral-grey-light);\n}\n\n:host(.ic-tooltip) .ic-tooltip-container {\n background-color: var(--ic-tooltip-background);\n text-align: center;\n padding: var(--ic-space-xxxs) var(--ic-space-xs);\n border-radius: var(--ic-border-radius);\n border: var(--ic-border-width) solid var(--ic-tooltip-border);\n position: absolute;\n max-width: 20rem;\n display: none;\n z-index: var(--ic-z-index-tooltip);\n box-shadow: var(--ic-elevation-overlay);\n width: max-content;\n}\n\n:host(.ic-tooltip) ic-typography {\n --ic-typography-color: var(--ic-tooltip-text);\n}\n\n:host(.tooltip-navigation-item:not(.tooltip-navigation-item-side-nav-collapsed))\n .ic-tooltip-container,\n:host(.tooltip-disabled) .ic-tooltip-container {\n display: none !important;\n}\n\n:host(.tooltip-long-label-navigation-item-side-nav-expanded)\n .ic-tooltip-container[data-show] {\n display: block !important;\n}\n\n:host(.ic-tooltip) .ic-tooltip-arrow,\n:host(.ic-tooltip) .ic-tooltip-arrow::before {\n position: absolute;\n background: inherit;\n}\n\n:host(.ic-tooltip) .ic-tooltip-arrow {\n visibility: hidden;\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n}\n\n:host(.ic-tooltip) .ic-tooltip-arrow::before {\n visibility: visible;\n content: \"\";\n border: var(--ic-border-width) solid var(--ic-tooltip-border);\n width: 100%;\n height: 100%;\n}\n\n:host(.ic-tooltip) .ic-tooltip-container[data-show] {\n display: block;\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"top\"]\n > .ic-tooltip-arrow {\n height: var(--ic-space-xxxs);\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"top\"]\n > .ic-tooltip-arrow::before {\n border-radius: 0 0 var(--ic-border-radius) var(--ic-border-radius);\n left: 0;\n top: var(--ic-space-xxxs);\n border-top: 0;\n transform: translateX(var(--tooltip-arrow-translate));\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"bottom\"]\n > .ic-tooltip-arrow {\n top: calc(-1 * var(--ic-space-xxs));\n height: var(--ic-space-xxxs);\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"bottom\"]\n > .ic-tooltip-arrow::before {\n border-radius: var(--ic-border-radius) var(--ic-border-radius) 0 0;\n left: 0;\n top: var(--ic-space-1px);\n border-bottom: 0;\n transform: translateX(var(--tooltip-arrow-translate));\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"left\"]\n > .ic-tooltip-arrow {\n width: var(--ic-space-xxxs);\n right: calc(-1 * var(--ic-space-1px));\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"left\"]\n > .ic-tooltip-arrow::before {\n border-radius: 0 var(--ic-border-radius) var(--ic-border-radius) 0;\n border-left: 0;\n top: calc(-1 * var(--ic-space-1px));\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"right\"]\n > .ic-tooltip-arrow {\n width: var(--ic-space-xxxs);\n left: calc(-1 * var(--ic-space-xxs));\n}\n\n:host(.ic-tooltip)\n .ic-tooltip-container[data-popper-placement^=\"right\"]\n > .ic-tooltip-arrow::before {\n border-radius: var(--ic-border-radius) 0 0 var(--ic-border-radius);\n border-right: 0;\n top: calc(-1 * var(--ic-space-1px));\n}\n\n:host(.on-dialog) .ic-tooltip-container {\n transform: translate(\n var(--tooltip-translate-x),\n var(--tooltip-translate-y)\n ) !important;\n}\n\n@media screen and (max-width: 576px) {\n :host(.ic-tooltip) .ic-tooltip-container {\n max-width: 18.875rem;\n }\n}\n\n@media (forced-colors: active) {\n :host(.ic-tooltip) .ic-tooltip-container,\n :host(.ic-tooltip) .ic-tooltip-arrow::before {\n border: var(--ic-border-hc);\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n Method,\n State,\n} from \"@stencil/core\";\nimport { Instance, Options, createPopper } from \"@popperjs/core\";\nimport { IcTooltipPlacements } from \"./ic-tooltip.types\";\nimport { onComponentRequiredPropUndefined } from \"../../utils/helpers\";\nimport { IcThemeMode } from \"../../utils/types\";\n\n@Component({\n tag: \"ic-tooltip\",\n styleUrl: \"ic-tooltip.css\",\n shadow: true,\n})\nexport class Tooltip {\n private arrow: HTMLDivElement;\n private delayedHideEvents = [\"mouseleave\"];\n private dialogOverflow = false;\n private icDialogEl: HTMLIcDialogElement;\n private instantHideEvents = [\"focusout\"];\n private mouseOverTool: boolean = false;\n private persistTooltip = false;\n private popperInstance: Instance;\n private onDialog: boolean = false;\n private showEvents = [\n !this.disableHover && \"mouseenter\",\n !this.disableHover && \"focusin\",\n !this.disableClick && \"click\",\n ];\n private toolTip: HTMLDivElement;\n\n @Element() el: HTMLIcTooltipElement;\n\n /**\n * @internal If `true`, the tooltip will not be displayed on click, it will require hover or using the display method.\n */\n @Prop() disableClick?: boolean = false;\n\n /**\n * If `true`, the tooltip will not be displayed on hover, it will require a click.\n */\n @Prop() disableHover?: 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({ mutable: true }) placement?: IcTooltipPlacements = \"bottom\";\n\n /**\n * @internal Sets the tooltip to aria-hidden, when used as part of components that are already announced.\n */\n @Prop() silent?: boolean = false;\n\n /**\n * The ID of the element the tooltip is describing - for when aria-labelledby or aria-describedby is used.\n */\n @Prop({ reflect: true }) target?: string;\n\n /**\n * Sets the tooltip to the dark or light theme colors. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The text to display on the tooltip.\n */\n @Prop() label!: string;\n\n @State() popperProps: Partial<Options> = {};\n\n /**\n * @internal This method allows props to be added to the PopperJS createPopper instance outside of tooltip\n * @param props object - createPopper props set externally\n */\n @Method()\n async setExternalPopperProps<T extends Partial<Options>>(props: T) {\n this.popperProps = props;\n }\n\n disconnectedCallback(): void {\n this.manageEventListeners(\"remove\");\n if (this.popperInstance !== undefined) {\n this.popperInstance.destroy();\n }\n }\n\n componentDidLoad(): void {\n this.manageEventListeners(\"add\");\n\n this.icDialogEl = this.el.closest(\"ic-dialog\");\n this.dialogOverflow =\n this.icDialogEl?.getAttribute(\"data-overflow\") === \"true\";\n\n this.onDialog = this.icDialogEl !== null;\n\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Tooltip\"\n );\n }\n\n componentDidRender(): void {\n const typographyEl = this.el.shadowRoot.querySelector(\n \".ic-tooltip-container > ic-typography\"\n );\n this.maxLines > 0 &&\n typographyEl.setAttribute(\n \"style\",\n `--truncation-max-lines: ${this.maxLines}`\n );\n }\n /**\n * Method to programmatically show/hide the tooltip without needing to interact with an anchor element\n * @param show Whether to show or hide the tooltip\n * @param persistTooltip Whether the tooltip should stay on the screen when actions are performed that would previously dismiss the tooltip, such as on hover\n */\n @Method()\n async displayTooltip(show: boolean, persistTooltip?: boolean): Promise<void> {\n this.persistTooltip = persistTooltip;\n show ? this.show() : this.hide();\n }\n\n /**\n * @internal Method to return if tooltip is currently visible.\n */\n @Method()\n async isTooltipVisible(): Promise<boolean> {\n return Promise.resolve(this.toolTip.hasAttribute(\"data-show\"));\n }\n\n private getTooltipTranslate = (dialogEl: DOMRect) => {\n const child = this.el.children[0].getBoundingClientRect();\n let tooltipX;\n let tooltipY;\n switch (this.placement) {\n case \"bottom\":\n tooltipX = child.left - dialogEl.left - 0.5 * child.width;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"bottom-start\":\n tooltipX = child.left - dialogEl.left;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"bottom-end\":\n tooltipX = child.right - dialogEl.right;\n tooltipY = child.bottom - dialogEl.top;\n break;\n case \"top\":\n tooltipX = child.left - dialogEl.left - 0.5 * child.width;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"top-start\":\n tooltipX = child.left - dialogEl.left;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"top-end\":\n tooltipX = child.right - dialogEl.right;\n tooltipY = child.top - dialogEl.bottom;\n break;\n case \"left\":\n case \"left-start\":\n tooltipX = child.right - dialogEl.right - child.width;\n tooltipY = child.bottom - dialogEl.top - child.height;\n break;\n case \"left-end\":\n tooltipX = child.right - dialogEl.right - child.width;\n tooltipY = child.top - dialogEl.bottom + child.height;\n break;\n case \"right\":\n case \"right-start\":\n tooltipX = child.left - dialogEl.left + child.width;\n tooltipY = child.bottom - dialogEl.top - child.height;\n break;\n case \"right-end\":\n tooltipX = child.left - dialogEl.left + child.width;\n tooltipY = child.top - dialogEl.bottom + child.height;\n break;\n }\n if (this.dialogOverflow && tooltipX < 0) {\n if (this.placement.includes(\"top\") || this.placement.includes(\"bottom\")) {\n this.toolTip.style.setProperty(\n \"--tooltip-arrow-translate\",\n `${tooltipX}px`\n );\n tooltipX = child.left - dialogEl.left;\n }\n if (this.placement.includes(\"left\")) {\n this.placement = \"right\";\n tooltipX = child.left - dialogEl.left + child.width;\n }\n }\n\n this.toolTip.style.setProperty(\"--tooltip-translate-x\", `${tooltipX}px`);\n this.toolTip.style.setProperty(\"--tooltip-translate-y\", `${tooltipY}px`);\n };\n\n private show = () => {\n if (this.label) {\n this.toolTip.setAttribute(\"data-show\", \"\");\n\n if (this.onDialog) {\n this.el.classList.add(\"on-dialog\");\n const dialogEl = this.icDialogEl.shadowRoot\n .querySelector(\"dialog\")\n .getBoundingClientRect();\n\n this.getTooltipTranslate(dialogEl);\n }\n\n this.popperInstance = createPopper(this.el, this.toolTip, {\n placement: this.placement,\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 10],\n },\n },\n {\n name: \"arrow\",\n options: {\n element: this.arrow,\n },\n },\n {\n name: \"eventListeners\",\n options: { scroll: false, resize: false },\n },\n ],\n ...this.popperProps,\n });\n } else {\n console.warn(`Tooltip can't display without prop 'label' set`);\n }\n };\n\n private hide = () => {\n this.toolTip.removeAttribute(\"data-show\");\n this.persistTooltip = false;\n if (this.popperInstance !== undefined) {\n this.popperInstance.destroy();\n }\n };\n\n private checkCloseTooltip = () => {\n setTimeout(() => {\n if (!this.mouseOverTool && !this.persistTooltip) {\n this.hide();\n }\n }, 100);\n };\n\n private mouseEnterTooltip = () => {\n this.mouseOverTool = true;\n };\n\n private mouseLeaveTooltip = () => {\n this.mouseOverTool = false;\n this.checkCloseTooltip();\n };\n\n private handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === \"Escape\" && !this.persistTooltip) {\n this.hide();\n }\n };\n\n private manageEventListeners = (action: \"add\" | \"remove\") => {\n const method =\n action === \"add\" ? \"addEventListener\" : \"removeEventListener\";\n\n this.showEvents.forEach((event) => {\n this.el[method](event, this.show);\n if (this.toolTip !== undefined) {\n this.toolTip[method](event, this.mouseEnterTooltip);\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);\n };\n\n render() {\n const { label, maxLines, silent, theme } = this;\n return (\n <Host\n class={{\n \"ic-tooltip\": true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div\n ref={(el) => (this.toolTip = el as HTMLDivElement)}\n role=\"tooltip\"\n class=\"ic-tooltip-container\"\n aria-hidden={`${silent}`}\n >\n <ic-typography maxLines={maxLines} variant=\"caption\">\n {label}\n </ic-typography>\n <div\n ref={(el) => (this.arrow = el as HTMLDivElement)}\n class=\"ic-tooltip-arrow\"\n ></div>\n </div>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"2WAAA,MAAMA,EAAc,47jC,8WCqCpB,IAAIC,EAAY,E,MAgBHC,EAAM,M,0IAETC,KAAAC,YAAcH,IACdE,KAAAE,WAAsB,MAEtBF,KAAAG,oBAA+C,GAC/CH,KAAAI,cAA6B,KAC7BJ,KAAAK,cAAwB,KACxBL,KAAAM,iBAAqC,KACrCN,KAAAO,qBAAyC,KA4UzCP,KAAAQ,YAAc,KACpB,IACGR,KAAKS,GAAGC,OAAS,UAAYV,KAAKS,GAAGC,OAAS,WAC9CV,KAAKW,mBACJX,KAAKS,GAAGG,QAAQ,QAClB,CACA,MAAMC,EAAmBC,SAASC,cAAc,UAEhDF,EAAiBG,aAAa,OAAQhB,KAAKS,GAAGC,MAC9CG,EAAiBI,MAAMC,QAAU,OAEjClB,KAAKS,GAAGG,QAAQ,QAAQO,YAAYN,GAEpCA,EAAiBO,QACjBP,EAAiBQ,Q,GAIbrB,KAAAsB,cAAiBC,IACvB,GAAIA,EAAGC,MAAQ,UAAYxB,KAAKE,WAAY,CAC1CF,KAAKyB,mBAAmBF,E,GAIpBvB,KAAA0B,QAAU,KAChB1B,KAAK2B,QAAQC,MAAM,EAGb5B,KAAA6B,OAAS,KACf7B,KAAK8B,OAAOF,MAAM,EAeZ5B,KAAA+B,iBAAmB,KACzB/B,KAAKgC,mBAAqBhC,KAAKI,cAAc6B,SAAS,EAIhDjC,KAAAkC,qBAAwBC,IAC9B,IAAIC,EAAuB,MAC3BD,EAAaE,SAAQ,EAAGC,oBACtB,MAAMC,EAAYvC,KAAKS,GAAG+B,aAAaF,GACvC,GAAIA,IAAkB,QAAStC,KAAKyC,MAAQF,OACvC,GAAID,IAAkB,aAActC,KAAK0C,UAAYH,EAE1D,GAAII,EAAkBC,SAASN,GAAgB,CAC7CtC,KAAKG,oBAAoBmC,GAAiBC,EAC1CH,EAAuB,I,KAG3B,GAAIA,EAAsB,CACxBS,EAAY7C,K,GAIRA,KAAA8C,cAAgB,KACtB9C,KAAKE,YACFF,KAAK+C,mBAAqB/C,KAAKyC,OAASzC,KAAKgD,gBAAgB,EAG1DhD,KAAAgD,cAAgB,IACfhD,KAAKiD,QAAQC,WAAW,Q,eA/YJ,K,wBACS,K,WACb,K,YAKC,I,sEAeG,M,oBASM,M,cAKG,M,cAKT,M,sBAKwC,M,gBAKtC,M,mBAKC,+BAA+BpD,M,0KAmCjC,M,yDAeF,M,gBAKoB,M,cAKnB,M,wFAoBJ,S,iCAUsB,U,sBAKO,S,2BAKZ,K,UAKX,S,aAKM,S,CA9IrC,oBAAAqD,GACEC,EAAoBpD,KAAKqD,SAAUrD,KAAKS,G,CA8J1C,oBAAA6C,GACE,GAAItD,KAAKM,mBAAqB,MAAQN,KAAKM,mBAAqBiD,UAAW,CACzEvD,KAAKM,iBAAiBkD,Y,CAExB,GACExD,KAAKO,uBAAyB,MAC9BP,KAAKO,uBAAyBgD,UAC9B,CACAvD,KAAKO,qBAAqBiD,Y,EAI9B,mBAAAC,GACE,GAAIzD,KAAK0D,QAAS,CAChB1D,KAAKS,GAAGQ,MAAM0C,YACZ,cACA,GAAG3D,KAAKS,GAAGmD,wBAAwBC,U,CAGvC7D,KAAK8C,e,CAGP,iBAAAgB,GACE,MAAMC,EAIFC,EAAkBhE,KAAKS,GAAI,IAAIkC,EAAmB,WAJhDF,MACJA,EACA,aAAcC,GAASqB,EACpBE,EAAuBC,EAAAH,EAHtB,wBAMN/D,KAAKyC,MAAQA,EACbzC,KAAK0C,UAAYA,EACjB1C,KAAKG,oBAAsB8D,EAE3Bb,EAAoBpD,KAAKqD,SAAUrD,KAAKS,IAExCT,KAAKS,GAAGO,aAAa,cAAe,UAEpChB,KAAKmE,GAAKnE,KAAKS,GAAG0D,IAAM,KACxBnE,KAAK8C,gBAEL,IAAK9C,KAAKE,WAAY,CACpB,MAAMG,EAAgBL,KAAKG,oBAAoB,oBAC/C,GAAIE,IAAkBkD,UAAW,CAC/BvD,KAAKK,cAAgBA,EACrB,MAAMI,EAAKT,KAAKS,GAAG2D,cAAcC,cAC/B,IAAIhE,KAEN,GAAII,EAAI,CACNT,KAAKgC,mBAAqBvB,EAAGwB,UAC7BjC,KAAKI,cAAgBK,C,IAM7B,gBAAA6D,GACEtE,KAAKuE,cAEL,UAAWC,mBAAqB,YAAa,CAC3C,GAAIxE,KAAKK,cAAe,CACtBL,KAAKM,iBAAmB,IAAIkE,iBAAiBxE,KAAK+B,kBAClD/B,KAAKM,iBAAiBmE,QAAQzE,KAAKI,cAAe,CAChDsE,cAAe,KACfC,UAAW,KACXC,QAAS,M,CAIb5E,KAAKO,qBAAuB,IAAIiE,iBAC9BxE,KAAKkC,sBAEPlC,KAAKO,qBAAqBkE,QAAQzE,KAAKS,GAAI,CACzCoE,WAAY,M,EAKlB,mBAAAC,GACE,MAAMC,EAAS/E,KAAKgF,YAAY,QAC5BhF,KAAKS,GAAG4D,cAAc,sBACtBrE,KAAKgF,YAAY,SACjBhF,KAAKS,GAAG4D,cAAc,uBACtB,KACJU,IAAM,MAANA,SAAM,SAANA,EAAQ/D,aAAa,UAAW,Y,CAIlC,eAAAiE,CAAgBC,GACd,IAAKlF,KAAKW,gBAAiB,CACzB,GAAIX,KAAKmF,WAAY,CACnBC,EACEpF,KAAKqF,gBACLrF,KAAKS,GACLT,KAAKsF,SACLtF,KAAKuF,cACLvF,KAAKwF,cACLxF,KAAKqD,SACLrD,KAAKyF,O,CAGT,GAAIzF,KAAKqD,UAAYrD,KAAK0D,QAAS,CACjCwB,EAAMQ,0B,CAER,GAAI1F,KAAK2F,SAAU,CACjB3F,KAAK4F,kBAAoB5F,KAAK4F,gB,GAMpC,kBAAAC,EAAmBC,OAAEA,IACnB9F,KAAKuE,YAAYuB,EAAOC,K,CAO1B,cAAMC,G,OACJjC,EAAA/D,KAAKiG,YAAQ,MAAAlC,SAAA,SAAAA,EAAEmC,O,CAGT,wBAAMzE,CAAmBF,GAC/B,MAAM4E,EAAUnG,KAAKS,GAAG2F,WAAW/B,cAAc,cACjD,SAAU8B,EAAQE,mBAAoB,CACpCF,EAAQG,eAAe,OACvB/E,EAAGgF,iBACHhF,EAAGmE,0B,EAIC,WAAAV,CAAYwB,GAClB,MAAMC,EAAiBD,EAAW,GAAGA,KAAc,GACnD,OAAOxG,KAAKS,GAAG4D,cAAc,UAAUoC,aAA4B,I,CAG7D,aAAA9F,GACNX,KAAK0G,WAAa1G,KAAKS,GAAG4D,cAAc,wBACxC,GAAIrE,KAAK0G,WAAY,CACnB1G,KAAK0G,WAAWhE,UAAY1C,KAAK0G,WAAWC,W,CAE9C,QAAS3G,KAAK0G,U,CAmCR,WAAAnC,CAAYwB,EAA0B,MAC5C,MAAMa,EAAkBC,EAAoB7G,KAAKS,GAAIsF,GACrD,GAAIa,IAAoBE,EAAsBC,QAAS,CACrD/G,KAAKgH,MACHJ,IAAoBE,EAAsBG,MACtCH,EAAsBI,KACtBJ,EAAsBG,MAC5BjH,KAAKmH,WAAa,I,EAoCtB,MAAAC,GACE,MAAMC,EAAWrH,KAAKsH,MAAQ,KAAQ,SACtC,MAAM7E,MAAEA,EAAKC,UAAEA,EAASvC,oBAAEA,GAAwBH,KAClD,MAAMuH,EACJF,IAAY,SACR,CACE3G,KAAMV,KAAKU,KACX2C,SAAUrD,KAAKqD,SACfmE,KAAMxH,KAAKwH,KACXC,WAAYzH,KAAKyH,WACjBC,YAAa1H,KAAK0H,YAClBC,WAAY3H,KAAK2H,WACjBC,eAAgB5H,KAAK4H,eACrBC,WAAY7H,KAAK6H,YAEnB,CACEC,SAAU9H,KAAK8H,WAAa,MAAQ9H,KAAK8H,SAAW,KACpDR,KAAMtH,KAAKsH,KACXS,IAAK/H,KAAK+H,IACVC,OAAQhI,KAAKgI,OACbC,eAAgBjI,KAAKiI,eACrBC,SAAUlI,KAAKkI,UAGvB,IAAIC,EAAsB,KAC1B,IAAIC,EAAmB,KACvB,GAAIpI,KAAKE,WAAY,CACnBkI,EACEpI,KAAKmE,KAAO,KACR,0BAA0BnE,KAAKmE,KAC/B,0BAA0BnE,KAAKC,cACrCkI,EACEnI,KAAKiD,UAAY,UAAYP,EACzB,KACA,cAAc0F,G,KACf,CACLD,EAAcnI,KAAKK,a,CAGrB,MAAMgI,EAAgB,IAElBC,EAACjB,EAAOkB,OAAAC,OAAA,CACNC,MAAM,SAAQ,gBACCzI,KAAK0D,SAAW1D,KAAKqD,SAAW,OAAS,KAAI,aAChDrD,KAAK0D,QAAU,UAAYhB,EAAS,gBACjC1C,KAAK2F,UAAY,GAAG3F,KAAK4F,oBACpC2B,EACApH,EAAmB,CACvBuB,QAAS1B,KAAK0B,QACdG,OAAQ7B,KAAK6B,OACb6G,IAAMjI,GAAQT,KAAKiG,SAAWxF,EAAG,mBACf0H,EAClBQ,KAAK,WAEJ3I,KAAKgF,YAAY,UAAYhF,KAAK0D,SACjC4E,EAAA,OAAKG,MAAM,kBACTH,EAAA,QAAMM,KAAK,eAGd5I,KAAKgF,YAAY,SACfhF,KAAKgF,YAAY,UACjBhF,KAAKgF,YAAY,WACjBhF,KAAK0D,SACJ4E,EAAA,OAAKG,MAAM,kBACTH,EAAA,QAAMM,KAAK,cAGhB5I,KAAK0D,QACJ4E,EAAA,OAAKG,MAAM,qBACTH,EAAA,wBACE5H,KAAK,SACLyG,WAAYnH,KAAKmH,WACjBH,MAAOhH,KAAKgH,SAIhBsB,EAAA,aAEDtI,KAAKgF,YAAY,WAAahF,KAAK0D,UAAY1D,KAAK2F,UACnD2C,EAAA,OAAKG,MAAO,CAAE,iBAAkB,KAAM,aAAc,OAClDH,EAAA,QAAMM,KAAK,gBAGd5I,KAAK2F,WACH3F,KAAK0D,SACN1D,KAAKiD,UAAY,QACjBjD,KAAKiD,UAAY,eACfqF,EAAA,QACEG,MAAO,CACL,CAAC,mBAAoBzI,KAAK4F,iBAC1B,CAAC,qBAAsB5F,KAAK4F,kBAE9BiD,UAAWC,KAOvB,OACER,EAACS,EAAI,CACHN,MAAO,CACL,CAAC,YAAYzI,KAAKgH,SAAUhH,KAAKgH,QAAU,UAC3C,CAAC,cAAehH,KAAKmH,WACrB,CAAC,sBAAuBnH,KAAKqD,WAAarD,KAAK0D,QAC/C,CAAC,qBAAqB1D,KAAKiD,WAAY,KACvC,CAAC,kBAAkBjD,KAAKgJ,QAAS,KACjC,CAAC,qBAAsBhJ,KAAK0D,QAC5B,CAAC,wBAAyB1D,KAAKiJ,UAC/B,CAAC,cAAeC,EAAWlJ,KAAKS,GAAI,SACpC,CAAC,oBACCT,KAAK2F,WACJuD,EAAWlJ,KAAKS,GAAI,UACpByI,EAAWlJ,KAAKS,GAAI,aACvB,CAAC,YAAayI,EAAWlJ,KAAKS,GAAI,YAClC,CAAC,cACCT,KAAKiD,UAAY,cAChBjD,KAAKmJ,uBACNnJ,KAAKgH,QAAU,SAEnBoC,QAASpJ,KAAKQ,YACd6I,UAAWrJ,KAAKsB,cAAa,YAClBtB,KAAKsJ,WAAU,gBACXtJ,KAAKuJ,eAAc,gBACnBvJ,KAAK2F,UAAY,GAAG3F,KAAK4F,oBAEvC5F,KAAKE,YACJoI,EAAA,cACEnE,GAAIgE,EACJqB,MAAO/G,GAASC,EAChBsF,OAAQI,EACRqB,UAAWzJ,KAAK0J,iBAChBC,OAAQ3J,KAAKgD,mBAAqBN,GAEjC1C,KAAKW,gBACJ2H,EAAA,QAAMM,KAAK,gBAEXN,EAACD,EAAa,OAInBa,EAAWlJ,KAAKS,GAAI,UAAY6H,EAAA,QAAMM,KAAK,WAC1C5I,KAAKE,aACJF,KAAKW,gBACJ2H,EAAA,QAAMM,KAAK,gBAEXN,EAACD,EAAa,OAEjBrI,KAAKgC,oBACJsG,EAAA,QAAMnE,GAAIgE,EAAaM,MAAM,yBAC1BzI,KAAKgC,oB,6IC3mBlB,MAAM4H,EAAwB,2qM,MCajBC,EAAgB,M,yBA6HnB7J,KAAA8J,4BAA8B,KACpC,IAAK9J,KAAK+J,cAAe,CACvB/J,KAAKgK,cAAc/I,MAAM0C,YACvB,mBACAsG,OAAOjK,KAAKkK,U,GAKVlK,KAAAmK,SAAW,CACjBC,EACAC,IAEO,IAAIC,SAAQ,KACjBtK,KAAKuK,SAAWC,aAAY,KAC1B,GAAIJ,EAAapK,KAAKyK,UAAUC,OAAS,EAAG,CAC1CN,G,KACK,CACLA,EAAa,C,CAEfC,EAASrK,KAAKyK,UAAUL,GAAY,GACnCpK,KAAK2K,cAAc,IAIlB3K,KAAA4K,gBAAkB,K,MACxB,IAAI3H,EAAiC,KACrC,MAAMY,GAAQE,EAAA/D,KAAK6K,gBAAY,MAAA9G,SAAA,SAAAA,EAAE+G,YACjC,GAAI9K,KAAKgJ,OAAS,SAAYhJ,KAAKU,OAAS,YAAcmD,EAAQ,GAAK,CACrEZ,EAAU,O,MACL,GACLjD,KAAKgJ,OAAS,SACbhJ,KAAKU,OAAS,YAAcmD,GAAS,IACtC,CACAZ,EAAU,I,CAEZ,OAAOA,CAAO,EAIRjD,KAAA+K,mBAAqB,KAC3B,MAAQD,YAAajH,GAAU7D,KAAK6K,aAEpC,MAAMG,EAA+BhL,KAAKS,GAAGwK,UAAUC,SACrD,mCAEE,GACA,EACJ,MAAMC,EAAqCnL,KAAKS,GAAGwK,UAAUC,SAC3D,uBAEE,GACA,EAEJ,GACErH,GACAmH,GACAG,EACA,CACAnL,KAAKoL,mBACFJ,GACCG,GACAtH,GAAS,GACb7D,KAAKqL,iBACHL,GACAG,GACAtH,EACF7D,KAAK6K,aAAa5J,MAAM0C,YACtB,wBACA,GAAG3D,KAAKoL,sB,GAKNpL,KAAAsL,0BAA4B,KAClC,IAAKtL,KAAKuL,aAAc,OAGxB,MAAMrB,EAAWsB,KAAKC,IAAIzL,KAAK0L,IAAKF,KAAKE,IAAI1L,KAAKyL,IAAKzL,KAAKkK,WAC5D,MAAMyB,GAAczB,EAAWlK,KAAKyL,MAAQzL,KAAK0L,IAAM1L,KAAKyL,KAC5DzL,KAAK4L,iBAAmBD,EAAa,GACrC,GAAI3L,KAAK4L,iBAAkB,CACzB5L,KAAKuL,aAAaN,UAAU5J,OAAO,O,KAC9B,CACLrB,KAAKuL,aAAaN,UAAUY,IAAI,O,CAElC7L,KAAKuL,aAAatK,MAAM0C,YACtB,iBACA,GAAGgI,EAAa,OACjB,EAGK3L,KAAA8L,eAAiB,KACvB,IAAIC,EAAM,cAAc/L,KAAKU,aAC7BqL,GAAO/L,KAAK+J,cAAgB,iBAAmB,eAC/C,OAAOgC,CAAG,EAGJ/L,KAAAgM,YAAc,KACpB,GAAIhM,KAAKwJ,QAAUjG,UAAW,CAC5B,UAAWvD,KAAKwJ,QAAU,SAAU,CAClCxJ,KAAKiM,eAAiBjM,KAAKwJ,K,KACtB,CACLxJ,KAAKyK,UAAYzK,KAAKwJ,MACtB,MAAMY,EAAa,EACnBpK,KAAKiM,eAAiBjM,KAAKyK,UAAUL,GACrC,GAAIpK,KAAKyK,UAAUC,OAAS,EAAG,CAC7B1K,KAAKmK,SAASC,GAAaZ,IACzBxJ,KAAKiM,eAAiBzC,CAAK,G,KAO7BxJ,KAAAkM,YAAc,KACpB,GAAIlM,KAAKqL,iBAAmB,EAAG,CAC7B,MAAMc,EAAInM,KAAKqL,iBAAmB,EAClC,MAAMe,EAAID,EACV,MAAME,EAAIF,EACV,MAAMG,EAAaH,EAAInM,KAAKoL,kBAAoB,EAChDpL,KAAKuM,aAAaD,GAElB,MAAO,CAAEF,IAAGC,IAAGF,EAAGG,E,CAEpB,MAAO,CAAEF,EAAG,EAAGC,EAAG,EAAGF,EAAG,EAAG,EAGrBnM,KAAAuM,aAAgBC,IACtB,MAAMC,EAAY,EAAIjB,KAAKkB,GAAKF,EAChC,MAAMtC,EAAWsB,KAAKC,IAAID,KAAKE,IAAI1L,KAAKkK,SAAUlK,KAAKyL,KAAMzL,KAAK0L,KAClE,MAAMC,GAAc,GAAKzB,EAAWlK,KAAKyL,MAAQzL,KAAK0L,IAAM1L,KAAKyL,KAEjEzL,KAAKgK,cAAc/I,MAAM0C,YACvB,qBACA,GAAG8I,OAGL,IAAKzM,KAAK+J,cAAe,CACvB/J,KAAKgK,cAAc/I,MAAM0C,YACvB,uBACAsG,OAAOjK,KAAK0L,MAEd1L,KAAKgK,cAAc/I,MAAM0C,YACvB,sBACA,GAAGgI,EAAac,M,qJAjQe,M,iBAKN,U,eAKgB,M,6CAUd,I,SAMV,I,SAMA,E,gBAKQ,M,UAKkB,S,UAKA,W,wDA6BpB,S,CApB7B,gBAAAE,GACE3M,KAAKgM,a,CAUP,oBAAAY,GACE,GAAI5M,KAAKU,OAAS,WAAY,CAC5BV,KAAK8J,6B,EAST,oBAAAxG,GACEuJ,cAAc7M,KAAKuK,S,CAGrB,iBAAAzG,GACE9D,KAAK+J,cAAgB/J,KAAKkK,WAAa3G,UACvCvD,KAAKgM,cACLhM,KAAKS,GAAGO,aAAa,cAAe,uB,CAGtC,gBAAAsD,GACE,GAAItE,KAAKU,OAAS,WAAY,CAC5BV,KAAK+K,qBACL/K,KAAKgK,cAAgBhK,KAAKS,GAAG2F,WAAW/B,cACtC,gDAEFrE,KAAK8J,6B,CAGP,GAAIgD,OAAO9M,KAAKkK,WAAa,GAAKlK,KAAKU,OAAS,SAAU,CACxDV,KAAKsL,2B,EAIT,mBAAA7H,GACEzD,KAAK+J,cAAgB/J,KAAKkK,WAAa3G,S,CAGzC,kBAAAwJ,GACE,GAAID,OAAO9M,KAAKkK,WAAa,GAAKlK,KAAKU,OAAS,SAAU,CACxDV,KAAKsL,2B,EA0JT,MAAAlE,GACE,MAAMJ,MACJA,EAAKwC,MACLA,EAAKwD,YACLA,EAAWhE,KACXA,EAAIC,UACJA,EAASgE,WACTA,EAAU9F,WACVA,GACEnH,KACJ,MAAMoM,EAAEA,EAACC,EAAEA,EAACF,EAAEA,GAAMnM,KAAKkM,cAEzB,OACE5D,EAACS,EAAI,CACHN,MAAO,CACL,CAAC,YAAYzB,KAAUA,IAAU,UACjC,+BAAgCwC,EAChC,kCAAmCP,EACnC,gBAAiBgE,EACjB,kCAAmC9F,IAGrCmB,EAAA,OAAKG,MAAM,uBAAuBE,KAAK,wBACrCL,EAAA,OACEI,IAAMjI,GAAQT,KAAK6K,aAAepK,EAClCgI,MAAOzI,KAAK8L,iBACZoB,KAAK,cAAa,kBAEhBlN,KAAKwJ,OAASxJ,KAAKgJ,OAAS,QAAU,mBAAkB,aAE9CgE,EAAW,gBACRhN,KAAKkK,SAAQ,gBACblK,KAAKyL,IAAG,gBACRzL,KAAK0L,KAEpBpD,EAAA,OACEI,IAAMjI,GAAQT,KAAKuL,aAAe9K,EAClCgI,MAAO,cAAczI,KAAKU,cAEzBV,KAAKiN,YACJjN,KAAKiN,aAAe1J,WACpBvD,KAAKgJ,OAAS,SACZV,EAAA,iBAAerF,QAAQ,iBAAiBwF,MAAM,cAC3CzI,KAAKiN,YAGXjN,KAAKU,OAAS,YACb4H,EAAA,OACEG,MAAM,0BACN0E,QAAS,OAAOnN,KAAKqL,kBAAoB,KACvCrL,KAAKqL,kBAAoB,KAG3B/C,EAAA,UAAQ8E,GAAI,GAAGhB,IAAKiB,GAAI,GAAGhB,IAAKF,EAAG,GAAGA,MACtC7D,EAAA,UAAQ8E,GAAI,GAAGhB,IAAKiB,GAAI,GAAGhB,IAAKF,EAAG,GAAGA,SAK7C3C,GAASR,IAAS,QACjBV,EAAA,iBACEnE,GAAG,mBACHsE,MAAM,mBACNyE,KAAK,SACLjK,QAASjD,KAAK4K,mBAEdtC,EAAA,SAAItI,KAAKiM,kB,gIClWvB,MAAMqB,EAAe,gtL,MCmBRC,EAAO,M,yBAEVvN,KAAAwN,kBAAoB,CAAC,cACrBxN,KAAAyN,eAAiB,MAEjBzN,KAAA0N,kBAAoB,CAAC,YACrB1N,KAAA2N,cAAyB,MACzB3N,KAAA4N,eAAiB,MAEjB5N,KAAA6N,SAAoB,MACpB7N,KAAA8N,WAAa,EAClB9N,KAAK+N,cAAgB,cACrB/N,KAAK+N,cAAgB,WACrB/N,KAAKgO,cAAgB,SA4GhBhO,KAAAiO,oBAAuBC,IAC7B,MAAMC,EAAQnO,KAAKS,GAAG2N,SAAS,GAAGxK,wBAClC,IAAIyK,EACJ,IAAIC,EACJ,OAAQtO,KAAKyJ,WACX,IAAK,SACH4E,EAAWF,EAAMI,KAAOL,EAASK,KAAO,GAAMJ,EAAMtK,MACpDyK,EAAWH,EAAMK,OAASN,EAASO,IACnC,MACF,IAAK,eACHJ,EAAWF,EAAMI,KAAOL,EAASK,KACjCD,EAAWH,EAAMK,OAASN,EAASO,IACnC,MACF,IAAK,aACHJ,EAAWF,EAAMO,MAAQR,EAASQ,MAClCJ,EAAWH,EAAMK,OAASN,EAASO,IACnC,MACF,IAAK,MACHJ,EAAWF,EAAMI,KAAOL,EAASK,KAAO,GAAMJ,EAAMtK,MACpDyK,EAAWH,EAAMM,IAAMP,EAASM,OAChC,MACF,IAAK,YACHH,EAAWF,EAAMI,KAAOL,EAASK,KACjCD,EAAWH,EAAMM,IAAMP,EAASM,OAChC,MACF,IAAK,UACHH,EAAWF,EAAMO,MAAQR,EAASQ,MAClCJ,EAAWH,EAAMM,IAAMP,EAASM,OAChC,MACF,IAAK,OACL,IAAK,aACHH,EAAWF,EAAMO,MAAQR,EAASQ,MAAQP,EAAMtK,MAChDyK,EAAWH,EAAMK,OAASN,EAASO,IAAMN,EAAMQ,OAC/C,MACF,IAAK,WACHN,EAAWF,EAAMO,MAAQR,EAASQ,MAAQP,EAAMtK,MAChDyK,EAAWH,EAAMM,IAAMP,EAASM,OAASL,EAAMQ,OAC/C,MACF,IAAK,QACL,IAAK,cACHN,EAAWF,EAAMI,KAAOL,EAASK,KAAOJ,EAAMtK,MAC9CyK,EAAWH,EAAMK,OAASN,EAASO,IAAMN,EAAMQ,OAC/C,MACF,IAAK,YACHN,EAAWF,EAAMI,KAAOL,EAASK,KAAOJ,EAAMtK,MAC9CyK,EAAWH,EAAMM,IAAMP,EAASM,OAASL,EAAMQ,OAC/C,MAEJ,GAAI3O,KAAKyN,gBAAkBY,EAAW,EAAG,CACvC,GAAIrO,KAAKyJ,UAAU7G,SAAS,QAAU5C,KAAKyJ,UAAU7G,SAAS,UAAW,CACvE5C,KAAK4O,QAAQ3N,MAAM0C,YACjB,4BACA,GAAG0K,OAELA,EAAWF,EAAMI,KAAOL,EAASK,I,CAEnC,GAAIvO,KAAKyJ,UAAU7G,SAAS,QAAS,CACnC5C,KAAKyJ,UAAY,QACjB4E,EAAWF,EAAMI,KAAOL,EAASK,KAAOJ,EAAMtK,K,EAIlD7D,KAAK4O,QAAQ3N,MAAM0C,YAAY,wBAAyB,GAAG0K,OAC3DrO,KAAK4O,QAAQ3N,MAAM0C,YAAY,wBAAyB,GAAG2K,MAAa,EAGlEtO,KAAA6O,KAAO,KACb,GAAI7O,KAAKwJ,MAAO,CACdxJ,KAAK4O,QAAQ5N,aAAa,YAAa,IAEvC,GAAIhB,KAAK6N,SAAU,CACjB7N,KAAKS,GAAGwK,UAAUY,IAAI,aACtB,MAAMqC,EAAWlO,KAAK8O,WAAW1I,WAC9B/B,cAAc,UACdT,wBAEH5D,KAAKiO,oBAAoBC,E,CAG3BlO,KAAK+O,eAAiBC,EAAahP,KAAKS,GAAIT,KAAK4O,QAAOrG,OAAAC,OAAA,CACtDiB,UAAWzJ,KAAKyJ,UAChBwF,UAAW,CACT,CACErG,KAAM,SACNsG,QAAS,CACPC,OAAQ,CAAC,EAAG,MAGhB,CACEvG,KAAM,QACNsG,QAAS,CACPE,QAASpP,KAAKqP,QAGlB,CACEzG,KAAM,iBACNsG,QAAS,CAAEI,OAAQ,MAAOC,OAAQ,UAGnCvP,KAAKwP,a,KAEL,CACLC,QAAQC,KAAK,iD,GAIT1P,KAAA2P,KAAO,KACb3P,KAAK4O,QAAQgB,gBAAgB,aAC7B5P,KAAK4N,eAAiB,MACtB,GAAI5N,KAAK+O,iBAAmBxL,UAAW,CACrCvD,KAAK+O,eAAec,S,GAIhB7P,KAAA8P,kBAAoB,KAC1BC,YAAW,KACT,IAAK/P,KAAK2N,gBAAkB3N,KAAK4N,eAAgB,CAC/C5N,KAAK2P,M,IAEN,IAAI,EAGD3P,KAAAgQ,kBAAoB,KAC1BhQ,KAAK2N,cAAgB,IAAI,EAGnB3N,KAAAiQ,kBAAoB,KAC1BjQ,KAAK2N,cAAgB,MACrB3N,KAAK8P,mBAAmB,EAGlB9P,KAAAsB,cAAiB4D,IACvB,GAAIA,EAAM1D,MAAQ,WAAaxB,KAAK4N,eAAgB,CAClD5N,KAAK2P,M,GAID3P,KAAAkQ,qBAAwBC,IAC9B,MAAMC,EACJD,IAAW,MAAQ,mBAAqB,sBAE1CnQ,KAAK8N,WAAWzL,SAAS6C,IACvBlF,KAAKS,GAAG2P,GAAQlL,EAAOlF,KAAK6O,MAC5B,GAAI7O,KAAK4O,UAAYrL,UAAW,CAC9BvD,KAAK4O,QAAQwB,GAAQlL,EAAOlF,KAAKgQ,kB,KAIrC,IAAKhQ,KAAK4N,eAAgB,CACxB5N,KAAK0N,kBAAkBrL,SAAS6C,IAC9BlF,KAAKS,GAAG2P,GAAQlL,EAAOlF,KAAK2P,KAAK,G,CAIrC3P,KAAKwN,kBAAkBnL,SAAS6C,IAC9BlF,KAAKS,GAAG2P,GAAQlL,EAAOlF,KAAK8P,mBAC5B,GAAI9P,KAAK4O,UAAYrL,UAAW,CAC9BvD,KAAK4O,QAAQwB,GAAQlL,EAAOlF,KAAKiQ,kB,KAIrCnP,SAASsP,GAAQ,UAAWpQ,KAAKsB,cAAc,E,kBApQhB,M,kBAKA,M,uCAU0B,S,YAKhC,M,iCAUG,U,sCAOW,E,CAOzC,4BAAM+O,CAAmDC,GACvDtQ,KAAKwP,YAAcc,C,CAGrB,oBAAAhN,GACEtD,KAAKkQ,qBAAqB,UAC1B,GAAIlQ,KAAK+O,iBAAmBxL,UAAW,CACrCvD,KAAK+O,eAAec,S,EAIxB,gBAAAvL,G,MACEtE,KAAKkQ,qBAAqB,OAE1BlQ,KAAK8O,WAAa9O,KAAKS,GAAGG,QAAQ,aAClCZ,KAAKyN,iBACH1J,EAAA/D,KAAK8O,cAAU,MAAA/K,SAAA,SAAAA,EAAEvB,aAAa,oBAAqB,OAErDxC,KAAK6N,SAAW7N,KAAK8O,aAAe,KAEpCyB,EACE,CAAC,CAAEC,KAAMxQ,KAAKwJ,MAAOiH,SAAU,UAC/B,U,CAIJ,kBAAAC,GACE,MAAMC,EAAe3Q,KAAKS,GAAG2F,WAAW/B,cACtC,yCAEFrE,KAAK4Q,SAAW,GACdD,EAAa3P,aACX,QACA,2BAA2BhB,KAAK4Q,W,CAStC,oBAAMtK,CAAeuI,EAAejB,GAClC5N,KAAK4N,eAAiBA,EACtBiB,EAAO7O,KAAK6O,OAAS7O,KAAK2P,M,CAO5B,sBAAMtJ,GACJ,OAAOiE,QAAQuG,QAAQ7Q,KAAK4O,QAAQkC,aAAa,a,CAuKnD,MAAA1J,GACE,MAAMoC,MAAEA,EAAKoH,SAAEA,EAAQjH,OAAEA,EAAM3C,MAAEA,GAAUhH,KAC3C,OACEsI,EAACS,EAAI,CACHN,MAAO,CACL,aAAc,KACd,CAAC,YAAYzB,KAAUA,IAAU,YAGnCsB,EAAA,OACEI,IAAMjI,GAAQT,KAAK4O,QAAUnO,EAC7ByM,KAAK,UACLzE,MAAM,uBAAsB,cACf,GAAGkB,KAEhBrB,EAAA,iBAAesI,SAAUA,EAAU3N,QAAQ,WACxCuG,GAEHlB,EAAA,OACEI,IAAMjI,GAAQT,KAAKqP,MAAQ5O,EAC3BgI,MAAM,sBAGVH,EAAA,a"}
@@ -1,2 +1,2 @@
1
- import{r as e,c as i,h as c,H as t,g as a}from"./p-6b5e91e2.js";import{r as o,j as r,a as n,k as s,d,l,m as h,i as b}from"./p-f99576e0.js";const m='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host(.ic-checkbox-disabled){pointer-events:none}.container{display:flex;width:-moz-fit-content;width:fit-content;padding:var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);margin-bottom:var(--ic-space-xxs);align-items:center}:host(.ic-checkbox-small) .container{margin-bottom:var(--ic-space-xxxs)}.checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;position:relative;top:0;left:0;height:var(--ic-space-lg);width:var(--ic-space-lg);background-color:var(--ic-checkbox-background-unselected);border:var(--ic-border-width) solid var(--ic-checkbox-border-unselected);border-radius:var(--ic-border-radius);outline:none;cursor:pointer;transition:var(--ic-easing-transition-fast);flex-shrink:0}:host .container svg{width:var(--ic-space-lg);height:var(--ic-space-lg)}:host(.ic-checkbox-small) .checkbox,:host(.ic-checkbox-small) .container svg{width:var(--ic-space-md);height:var(--ic-space-md)}:host(.ic-checkbox-large) .checkbox,:host(.ic-checkbox-large) .container svg{width:var(--ic-space-xl);height:var(--ic-space-xl)}.checkbox:checked{background-color:var(--ic-checkbox-background-selected);border:var(--ic-border-width) solid var(--ic-checkbox-background-selected);transition:var(--ic-easing-transition-slow)}.checkbox:checked:disabled{background-color:var(--ic-checkbox-background-selected-disabled);border:var(--ic-border-width) solid\n var(--ic-checkbox-background-selected-disabled)}.checkbox:indeterminate,.checkbox.indeterminate:checked{background-color:var(--ic-checkbox-background-indeterminate);border:0.125rem solid var(--ic-checkbox-background-indeterminate)}.checkbox:indeterminate:disabled,.checkbox.indeterminate:checked:disabled{background-color:var(--ic-checkbox-background-indeterminate-disabled);border:0.125rem solid var(--ic-checkbox-background-indeterminate-disabled)}.checkbox:checked:hover{background-color:var(--ic-checkbox-background-selected-hover)}.checkbox:indeterminate:hover,.checkbox.indeterminate:checked:hover{background-color:var(--ic-checkbox-background-indeterminate-hover);border:0.125rem solid var(--ic-checkbox-background-indeterminate-hover)}.checkbox:checked:active{background-color:var(--ic-checkbox-background-selected-pressed)}.checkbox:indeterminate:active,.checkbox.indeterminate:checked:active{background-color:var(--ic-checkbox-background-indeterminate-pressed);border:0.125rem solid var(--ic-checkbox-background-indeterminate-pressed)}.checkbox:hover{box-shadow:0 0 0 0.25rem var(--ic-checkbox-action-background-hover);border:var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-hover)}.checkbox:active{box-shadow:0 0 0 0.25rem var(--ic-checkbox-action-background-pressed);border:var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-pressed)}.checkbox:focus{box-shadow:var(--ic-border-focus)}.checkbox:disabled{border:var(--ic-border-width) dashed\n var(--ic-checkbox-border-unselected-disabled)}.checkbox-label{padding-left:var(--ic-space-sm);color:var(--ic-checkbox-text);--ic-typography-color:var(--ic-checkbox-text)}:host(.ic-checkbox-disabled) .checkbox-label{color:var(--ic-checkbox-text-disabled);--ic-typography-color:var(--ic-checkbox-text-disabled)}.checkbox-label:hover{cursor:pointer}.checkmark{position:relative;right:calc(-1 * var(--ic-space-lg));margin-left:calc(-1 * var(--ic-space-lg));fill:var(--ic-checkbox-icon-pressed);z-index:1;background-color:transparent;pointer-events:none;flex-shrink:0}:host(.ic-checkbox-small) .checkmark{margin-left:calc(-1 * var(--ic-space-md));right:calc(-1 * var(--ic-space-md))}:host(.ic-checkbox-large) .checkmark{margin-left:calc(-1 * var(--ic-space-xl));right:calc(-1 * var(--ic-space-xl))}.indeterminate-symbol{position:relative;width:0.875rem;height:var(--ic-space-xxxs);right:-1.188rem;margin-left:-0.875rem;z-index:1;background-color:var(--ic-checkbox-icon-indeterminate);pointer-events:none;flex-shrink:0}:host(.ic-checkbox-small) .indeterminate-symbol{width:0.6rem;right:-0.8rem;margin-left:-0.6rem}:host(.ic-checkbox-large) .indeterminate-symbol{width:1.25rem;right:-1.625rem;margin-left:-1.25rem}.additional-field-wrapper{margin-left:calc(var(--ic-space-md) + var(--ic-space-lg));margin-top:calc(var(--ic-space-sm) / 2)}.branch-corner{height:var(--ic-space-md);width:var(--ic-space-xl);border-radius:0 0 0 0.188rem;border-bottom:0.125rem solid var(--ic-checkbox-required-bar);border-left:0.125rem solid var(--ic-checkbox-required-bar)}.dynamic-container{display:flex;position:relative;margin:var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);gap:var(--ic-space-xs)}.dynamic-text{color:var(--ic-checkbox-required-text);--ic-typography-color:var(--ic-checkbox-required-text);margin-top:calc(var(--ic-space-sm) / 2);margin-bottom:var(--ic-space-xs);border-radius:2%}@media (max-width: 576px){::slotted(ic-text-field){--input-width:100%}}@media (forced-colors: active){.checkbox{-webkit-appearance:revert;-moz-appearance:revert;appearance:revert;transition:none}.checkbox:checked{transition:none}.checkbox:focus-visible{outline:0.125rem solid highlight}.checkbox:disabled:not(:checked){-webkit-appearance:none;-moz-appearance:none;appearance:none;border-color:GrayText}.checkmark{fill:none}.indeterminate-symbol{display:none}}';const p=class{constructor(c){e(this,c);this.icCheck=i(this,"icCheck",7);this.handleClick=()=>{this.checked=!this.checked;this.displayIndeterminate=this.nativeIndeterminateBehaviour?false:this.indeterminate&&this.checked;this.icCheck.emit()};this.handleFormReset=()=>{this.checked=this.initiallyChecked};this.additionalFieldDisplay="static";this.checked=false;this.initiallyChecked=this.checked;this.disabled=false;this.dynamicText="This selection requires additional answers";this.form=undefined;this.groupLabel=undefined;this.indeterminate=false;this.displayIndeterminate=this.indeterminate;this.label=undefined;this.name=undefined;this.nativeIndeterminateBehaviour=false;this.size=undefined;this.theme="inherit";this.value=undefined;this.hideLabel=false}watchIndeterminateHandler(){this.displayIndeterminate=this.nativeIndeterminateBehaviour?this.indeterminate:this.indeterminate&&this.checked}componentWillLoad(){o(this.disabled,this.el);r(this.el,this.handleFormReset);const e=this.el.parentElement;if(e){if(!this.name)this.name=e.name;this.groupLabel=e.label}}componentDidLoad(){n([{prop:this.label,propName:"label"},{prop:this.value,propName:"value"}],"Checkbox")}componentDidRender(){if(this.additionalFieldDisplay==="static"){const e=this.el.querySelector("ic-text-field");if(!this.checked){e===null||e===void 0?void 0:e.setAttribute("disabled","")}else{e===null||e===void 0?void 0:e.removeAttribute("disabled")}}else if(this.additionalFieldContainer){this.additionalFieldContainer.style.display=!this.checked?"none":"flex"}}disconnectedCallback(){s(this.el,this.handleFormReset)}async setFocus(){var e;(e=this.el.shadowRoot.querySelector(".checkbox"))===null||e===void 0?void 0:e.focus()}render(){const{additionalFieldDisplay:e,checked:i,disabled:a,dynamicText:o,el:r,form:n,displayIndeterminate:s,groupLabel:m,label:p,name:k,size:x,value:u,theme:v}=this;const g=`ic-checkbox-${d(p)||u}-${m}`.replace(/ /g,"-");const f=r.parentElement.size;i?l(true,r,k,i&&u,a):h(r);return c(t,{class:{"ic-checkbox-disabled":a,[`ic-checkbox-${x||f}`]:true,[`ic-theme-${v}`]:v!=="inherit"}},c("div",{class:"container"},s&&c("div",{class:"indeterminate-symbol"}),!s&&i&&c("svg",{class:"checkmark",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","fill-rule":"evenodd","clip-rule":"evenodd"},c("title",null,"checkmark icon"),c("path",{d:"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z"})),c("input",{role:"checkbox",class:{checkbox:true,checked:i,indeterminate:s},type:"checkbox",name:k,id:g,value:u,disabled:a?true:null,checked:i,indeterminate:s,onClick:this.handleClick,form:n,"aria-label":this.hideLabel?this.label:undefined}),!this.hideLabel&&c("ic-typography",{class:"checkbox-label",variant:"body"},c("label",{htmlFor:g},p))),b(r,"additional-field")&&c("div",{class:"dynamic-container",ref:e=>this.additionalFieldContainer=e},e==="dynamic"&&c("div",{class:"branch-corner"}),c("div",null,e==="dynamic"&&c("ic-typography",{variant:"caption"},c("p",{class:"dynamic-text","aria-live":"polite"},o)),c("div",{class:{"additional-field-wrapper":e==="static"}},c("slot",{name:"additional-field"})))))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{indeterminate:["watchIndeterminateHandler"]}}};p.style=m;export{p as ic_checkbox};
2
- //# sourceMappingURL=p-d3263ed9.entry.js.map
1
+ import{r as e,c as i,h as c,H as t,g as a}from"./p-6b5e91e2.js";import{r as o,j as r,a as n,k as s,d,l,m as h,i as b}from"./p-48e98730.js";const m='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host(.ic-checkbox-disabled){pointer-events:none}.container{display:flex;width:-moz-fit-content;width:fit-content;padding:var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);margin-bottom:var(--ic-space-xxs);align-items:center}:host(.ic-checkbox-small) .container{margin-bottom:var(--ic-space-xxxs)}.checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;position:relative;top:0;left:0;height:var(--ic-space-lg);width:var(--ic-space-lg);background-color:var(--ic-checkbox-background-unselected);border:var(--ic-border-width) solid var(--ic-checkbox-border-unselected);border-radius:var(--ic-border-radius);outline:none;cursor:pointer;transition:var(--ic-easing-transition-fast);flex-shrink:0}:host .container svg{width:var(--ic-space-lg);height:var(--ic-space-lg)}:host(.ic-checkbox-small) .checkbox,:host(.ic-checkbox-small) .container svg{width:var(--ic-space-md);height:var(--ic-space-md)}:host(.ic-checkbox-large) .checkbox,:host(.ic-checkbox-large) .container svg{width:var(--ic-space-xl);height:var(--ic-space-xl)}.checkbox:checked{background-color:var(--ic-checkbox-background-selected);border:var(--ic-border-width) solid var(--ic-checkbox-background-selected);transition:var(--ic-easing-transition-slow)}.checkbox:checked:disabled{background-color:var(--ic-checkbox-background-selected-disabled);border:var(--ic-border-width) solid\n var(--ic-checkbox-background-selected-disabled)}.checkbox:indeterminate,.checkbox.indeterminate:checked{background-color:var(--ic-checkbox-background-indeterminate);border:0.125rem solid var(--ic-checkbox-background-indeterminate)}.checkbox:indeterminate:disabled,.checkbox.indeterminate:checked:disabled{background-color:var(--ic-checkbox-background-indeterminate-disabled);border:0.125rem solid var(--ic-checkbox-background-indeterminate-disabled)}.checkbox:checked:hover{background-color:var(--ic-checkbox-background-selected-hover)}.checkbox:indeterminate:hover,.checkbox.indeterminate:checked:hover{background-color:var(--ic-checkbox-background-indeterminate-hover);border:0.125rem solid var(--ic-checkbox-background-indeterminate-hover)}.checkbox:checked:active{background-color:var(--ic-checkbox-background-selected-pressed)}.checkbox:indeterminate:active,.checkbox.indeterminate:checked:active{background-color:var(--ic-checkbox-background-indeterminate-pressed);border:0.125rem solid var(--ic-checkbox-background-indeterminate-pressed)}.checkbox:hover{box-shadow:0 0 0 0.25rem var(--ic-checkbox-action-background-hover);border:var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-hover)}.checkbox:active{box-shadow:0 0 0 0.25rem var(--ic-checkbox-action-background-pressed);border:var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-pressed)}.checkbox:focus{box-shadow:var(--ic-border-focus)}.checkbox:disabled{border:var(--ic-border-width) dashed\n var(--ic-checkbox-border-unselected-disabled)}.checkbox-label{padding-left:var(--ic-space-sm);color:var(--ic-checkbox-text);--ic-typography-color:var(--ic-checkbox-text)}:host(.ic-checkbox-disabled) .checkbox-label{color:var(--ic-checkbox-text-disabled);--ic-typography-color:var(--ic-checkbox-text-disabled)}.checkbox-label:hover{cursor:pointer}.checkmark{position:relative;right:calc(-1 * var(--ic-space-lg));margin-left:calc(-1 * var(--ic-space-lg));fill:var(--ic-checkbox-icon-pressed);z-index:1;background-color:transparent;pointer-events:none;flex-shrink:0}:host(.ic-checkbox-small) .checkmark{margin-left:calc(-1 * var(--ic-space-md));right:calc(-1 * var(--ic-space-md))}:host(.ic-checkbox-large) .checkmark{margin-left:calc(-1 * var(--ic-space-xl));right:calc(-1 * var(--ic-space-xl))}.indeterminate-symbol{position:relative;width:0.875rem;height:var(--ic-space-xxxs);right:-1.188rem;margin-left:-0.875rem;z-index:1;background-color:var(--ic-checkbox-icon-indeterminate);pointer-events:none;flex-shrink:0}:host(.ic-checkbox-small) .indeterminate-symbol{width:0.6rem;right:-0.8rem;margin-left:-0.6rem}:host(.ic-checkbox-large) .indeterminate-symbol{width:1.25rem;right:-1.625rem;margin-left:-1.25rem}.additional-field-wrapper{margin-left:calc(var(--ic-space-md) + var(--ic-space-lg));margin-top:calc(var(--ic-space-sm) / 2)}.branch-corner{height:var(--ic-space-md);width:var(--ic-space-xl);border-radius:0 0 0 0.188rem;border-bottom:0.125rem solid var(--ic-checkbox-required-bar);border-left:0.125rem solid var(--ic-checkbox-required-bar)}.dynamic-container{display:flex;position:relative;margin:var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);gap:var(--ic-space-xs)}.dynamic-text{color:var(--ic-checkbox-required-text);--ic-typography-color:var(--ic-checkbox-required-text);margin-top:calc(var(--ic-space-sm) / 2);margin-bottom:var(--ic-space-xs);border-radius:2%}@media (max-width: 576px){::slotted(ic-text-field){--input-width:100%}}@media (forced-colors: active){.checkbox{-webkit-appearance:revert;-moz-appearance:revert;appearance:revert;transition:none}.checkbox:checked{transition:none}.checkbox:focus-visible{outline:0.125rem solid highlight}.checkbox:disabled:not(:checked){-webkit-appearance:none;-moz-appearance:none;appearance:none;border-color:GrayText}.checkmark{fill:none}.indeterminate-symbol{display:none}}';const p=class{constructor(c){e(this,c);this.icCheck=i(this,"icCheck",7);this.handleClick=()=>{this.checked=!this.checked;this.displayIndeterminate=this.nativeIndeterminateBehaviour?false:this.indeterminate&&this.checked;this.icCheck.emit()};this.handleFormReset=()=>{this.checked=this.initiallyChecked};this.additionalFieldDisplay="static";this.checked=false;this.initiallyChecked=this.checked;this.disabled=false;this.dynamicText="This selection requires additional answers";this.form=undefined;this.groupLabel=undefined;this.indeterminate=false;this.displayIndeterminate=this.indeterminate;this.label=undefined;this.name=undefined;this.nativeIndeterminateBehaviour=false;this.size=undefined;this.theme="inherit";this.value=undefined;this.hideLabel=false}watchDisabledHandler(){o(this.disabled,this.el)}watchIndeterminateHandler(){this.displayIndeterminate=this.nativeIndeterminateBehaviour?this.indeterminate:this.indeterminate&&this.checked}componentWillLoad(){o(this.disabled,this.el);r(this.el,this.handleFormReset);const e=this.el.parentElement;if(e){if(!this.name)this.name=e.name;this.groupLabel=e.label}}componentDidLoad(){n([{prop:this.label,propName:"label"},{prop:this.value,propName:"value"}],"Checkbox")}componentDidRender(){if(this.additionalFieldDisplay==="static"){const e=this.el.querySelector("ic-text-field");if(!this.checked){e===null||e===void 0?void 0:e.setAttribute("disabled","")}else{e===null||e===void 0?void 0:e.removeAttribute("disabled")}}else if(this.additionalFieldContainer){this.additionalFieldContainer.style.display=!this.checked?"none":"flex"}}disconnectedCallback(){s(this.el,this.handleFormReset)}async setFocus(){var e;(e=this.el.shadowRoot.querySelector(".checkbox"))===null||e===void 0?void 0:e.focus()}render(){const{additionalFieldDisplay:e,checked:i,disabled:a,dynamicText:o,el:r,form:n,displayIndeterminate:s,groupLabel:m,label:p,name:k,size:x,value:u,theme:v}=this;const g=`ic-checkbox-${d(p)||u}-${m}`.replace(/ /g,"-");const f=r.parentElement.size;i?l(true,r,k,i&&u,a):h(r);return c(t,{class:{"ic-checkbox-disabled":a,[`ic-checkbox-${x||f}`]:true,[`ic-theme-${v}`]:v!=="inherit"}},c("div",{class:"container"},s&&c("div",{class:"indeterminate-symbol"}),!s&&i&&c("svg",{class:"checkmark",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg","fill-rule":"evenodd","clip-rule":"evenodd"},c("title",null,"checkmark icon"),c("path",{d:"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z"})),c("input",{role:"checkbox",class:{checkbox:true,checked:i,indeterminate:s},type:"checkbox",name:k,id:g,value:u,disabled:a?true:null,checked:i,indeterminate:s,onClick:this.handleClick,form:n,"aria-label":this.hideLabel?this.label:undefined}),!this.hideLabel&&c("ic-typography",{class:"checkbox-label",variant:"body"},c("label",{htmlFor:g},p))),b(r,"additional-field")&&c("div",{class:"dynamic-container",ref:e=>this.additionalFieldContainer=e},e==="dynamic"&&c("div",{class:"branch-corner"}),c("div",null,e==="dynamic"&&c("ic-typography",{variant:"caption"},c("p",{class:"dynamic-text","aria-live":"polite"},o)),c("div",{class:{"additional-field-wrapper":e==="static"}},c("slot",{name:"additional-field"})))))}static get delegatesFocus(){return true}get el(){return a(this)}static get watchers(){return{disabled:["watchDisabledHandler"],indeterminate:["watchIndeterminateHandler"]}}};p.style=m;export{p as ic_checkbox};
2
+ //# sourceMappingURL=p-ded2dbed.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icCheckboxCss","Checkbox","this","handleClick","checked","displayIndeterminate","nativeIndeterminateBehaviour","indeterminate","icCheck","emit","handleFormReset","initiallyChecked","watchDisabledHandler","removeDisabledFalse","disabled","el","watchIndeterminateHandler","componentWillLoad","addFormResetListener","checkboxGroup","parentElement","name","groupLabel","label","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","value","componentDidRender","additionalFieldDisplay","textfield","querySelector","setAttribute","removeAttribute","additionalFieldContainer","style","display","disconnectedCallback","removeFormResetListener","setFocus","_a","shadowRoot","focus","render","dynamicText","form","size","theme","id","isPropDefined","replace","parentElementSize","renderHiddenInput","removeHiddenInput","h","Host","class","viewBox","xmlns","d","role","checkbox","type","onClick","hideLabel","undefined","variant","htmlFor","isSlotUsed","ref"],"sources":["src/components/ic-checkbox/ic-checkbox.css?tag=ic-checkbox&encapsulation=shadow","src/components/ic-checkbox/ic-checkbox.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host(.ic-checkbox-disabled) {\n pointer-events: none;\n}\n\n.container {\n display: flex;\n width: fit-content;\n padding: var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);\n margin-bottom: var(--ic-space-xxs);\n align-items: center;\n}\n\n:host(.ic-checkbox-small) .container {\n margin-bottom: var(--ic-space-xxxs);\n}\n\n.checkbox {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n display: block;\n position: relative;\n top: 0;\n left: 0;\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n background-color: var(--ic-checkbox-background-unselected);\n border: var(--ic-border-width) solid var(--ic-checkbox-border-unselected);\n border-radius: var(--ic-border-radius);\n outline: none;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n flex-shrink: 0;\n}\n\n:host .container svg {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.ic-checkbox-small) .checkbox,\n:host(.ic-checkbox-small) .container svg {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n}\n\n:host(.ic-checkbox-large) .checkbox,\n:host(.ic-checkbox-large) .container svg {\n width: var(--ic-space-xl);\n height: var(--ic-space-xl);\n}\n\n.checkbox:checked {\n background-color: var(--ic-checkbox-background-selected);\n border: var(--ic-border-width) solid var(--ic-checkbox-background-selected);\n transition: var(--ic-easing-transition-slow);\n}\n\n.checkbox:checked:disabled {\n background-color: var(--ic-checkbox-background-selected-disabled);\n border: var(--ic-border-width) solid\n var(--ic-checkbox-background-selected-disabled);\n}\n\n.checkbox:indeterminate,\n.checkbox.indeterminate:checked {\n background-color: var(--ic-checkbox-background-indeterminate);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate);\n}\n\n.checkbox:indeterminate:disabled,\n.checkbox.indeterminate:checked:disabled {\n background-color: var(--ic-checkbox-background-indeterminate-disabled);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate-disabled);\n}\n\n.checkbox:checked:hover {\n background-color: var(--ic-checkbox-background-selected-hover);\n}\n\n.checkbox:indeterminate:hover,\n.checkbox.indeterminate:checked:hover {\n background-color: var(--ic-checkbox-background-indeterminate-hover);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate-hover);\n}\n\n.checkbox:checked:active {\n background-color: var(--ic-checkbox-background-selected-pressed);\n}\n\n.checkbox:indeterminate:active,\n.checkbox.indeterminate:checked:active {\n background-color: var(--ic-checkbox-background-indeterminate-pressed);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate-pressed);\n}\n\n.checkbox:hover {\n box-shadow: 0 0 0 0.25rem var(--ic-checkbox-action-background-hover);\n border: var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-hover);\n}\n\n.checkbox:active {\n box-shadow: 0 0 0 0.25rem var(--ic-checkbox-action-background-pressed);\n border: var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-pressed);\n}\n\n.checkbox:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.checkbox:disabled {\n border: var(--ic-border-width) dashed\n var(--ic-checkbox-border-unselected-disabled);\n}\n\n.checkbox-label {\n padding-left: var(--ic-space-sm);\n color: var(--ic-checkbox-text);\n --ic-typography-color: var(--ic-checkbox-text);\n}\n\n:host(.ic-checkbox-disabled) .checkbox-label {\n color: var(--ic-checkbox-text-disabled);\n --ic-typography-color: var(--ic-checkbox-text-disabled);\n}\n\n.checkbox-label:hover {\n cursor: pointer;\n}\n\n.checkmark {\n position: relative;\n right: calc(-1 * var(--ic-space-lg));\n margin-left: calc(-1 * var(--ic-space-lg));\n fill: var(--ic-checkbox-icon-pressed);\n z-index: 1;\n background-color: transparent;\n pointer-events: none;\n flex-shrink: 0;\n}\n\n:host(.ic-checkbox-small) .checkmark {\n margin-left: calc(-1 * var(--ic-space-md));\n right: calc(-1 * var(--ic-space-md));\n}\n\n:host(.ic-checkbox-large) .checkmark {\n margin-left: calc(-1 * var(--ic-space-xl));\n right: calc(-1 * var(--ic-space-xl));\n}\n\n.indeterminate-symbol {\n position: relative;\n width: 0.875rem;\n height: var(--ic-space-xxxs);\n right: -1.188rem;\n margin-left: -0.875rem;\n z-index: 1;\n background-color: var(--ic-checkbox-icon-indeterminate);\n pointer-events: none;\n flex-shrink: 0;\n}\n\n:host(.ic-checkbox-small) .indeterminate-symbol {\n width: 0.6rem;\n right: -0.8rem;\n margin-left: -0.6rem;\n}\n\n:host(.ic-checkbox-large) .indeterminate-symbol {\n width: 1.25rem;\n right: -1.625rem;\n margin-left: -1.25rem;\n}\n\n.additional-field-wrapper {\n margin-left: calc(var(--ic-space-md) + var(--ic-space-lg));\n margin-top: calc(var(--ic-space-sm) / 2);\n}\n\n.branch-corner {\n height: var(--ic-space-md);\n width: var(--ic-space-xl);\n border-radius: 0 0 0 0.188rem;\n border-bottom: 0.125rem solid var(--ic-checkbox-required-bar);\n border-left: 0.125rem solid var(--ic-checkbox-required-bar);\n}\n\n.dynamic-container {\n display: flex;\n position: relative;\n margin: var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);\n gap: var(--ic-space-xs);\n}\n\n.dynamic-text {\n color: var(--ic-checkbox-required-text);\n\n --ic-typography-color: var(--ic-checkbox-required-text);\n\n margin-top: calc(var(--ic-space-sm) / 2);\n margin-bottom: var(--ic-space-xs);\n border-radius: 2%;\n}\n\n@media (max-width: 576px) {\n ::slotted(ic-text-field) {\n --input-width: 100%;\n }\n}\n\n@media (forced-colors: active) {\n /* Styles here only apply to Forced Colors Mode */\n .checkbox {\n appearance: revert;\n transition: none;\n }\n\n .checkbox:checked {\n transition: none;\n }\n\n .checkbox:focus-visible {\n outline: 0.125rem solid highlight;\n }\n\n .checkbox:disabled:not(:checked) {\n appearance: none;\n border-color: GrayText;\n }\n\n .checkmark {\n fill: none;\n }\n\n .indeterminate-symbol {\n display: none;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport {\n IcAdditionalFieldTypes,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n removeHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n isPropDefined,\n} from \"../../utils/helpers\";\n\n/**\n * @slot additional-field - Content to be displayed alongside a checkbox.\n */\n@Component({\n tag: \"ic-checkbox\",\n styleUrl: \"ic-checkbox.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Checkbox {\n private additionalFieldContainer: HTMLDivElement;\n\n @Element() el: HTMLIcCheckboxElement;\n\n /**\n * The style of additionalField that will be displayed if used.\n */\n @Prop({ reflect: true }) additionalFieldDisplay: IcAdditionalFieldTypes =\n \"static\";\n\n /**\n * If `true`, the checkbox will be set to the checked state. This is only the initial state and will be updated to unchecked if the checkbox is clicked.\n */\n @Prop({ reflect: true, mutable: true }) checked?: boolean = false;\n @State() initiallyChecked = this.checked;\n\n /**\n * If `true`, the checkbox will be set to the disabled state.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The text to be displayed when dynamic.\n */\n\n @Prop() dynamicText: string = \"This selection requires additional answers\";\n\n /**\n * The <form> element to associate the checkbox with.\n */\n @Prop() form?: string;\n\n /**\n * The group label for the checkbox.\n */\n @Prop({ mutable: true }) groupLabel: string;\n\n /**\n * If `true`, the indeterminate state will be displayed when checked.\n */\n @Prop() indeterminate: boolean = false;\n @State() displayIndeterminate = this.indeterminate;\n\n @Watch(\"indeterminate\")\n watchIndeterminateHandler(): void {\n this.displayIndeterminate = this.nativeIndeterminateBehaviour\n ? this.indeterminate\n : this.indeterminate && this.checked;\n }\n\n /**\n * The label for the checkbox.\n */\n @Prop() label!: string;\n\n /**\n * The name for the checkbox. If not set when used in a checkbox group, the name will be based on the group name.\n */\n @Prop({ mutable: true }) name: string;\n\n /**\n * If `true`, the checkbox will behave like a native checkbox where the `indeterminate` prop sets the indeterminate visual styling, independent of the `checked` state.\n */\n @Prop() nativeIndeterminateBehaviour: boolean = false;\n\n /**\n * The size of the checkbox to be displayed. This does not affect the font size of the label. If a checkbox is contained in a checkbox group, this will override the size set on checkbox group.\n */\n @Prop() size?: IcSizes;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The value for the checkbox.\n */\n @Prop() value!: string;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel = false;\n\n /**\n * Emitted when a checkbox has been checked.\n */\n @Event() icCheck: EventEmitter<void>;\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n\n addFormResetListener(this.el, this.handleFormReset);\n\n const checkboxGroup = this.el.parentElement as HTMLIcCheckboxGroupElement;\n if (checkboxGroup) {\n if (!this.name) this.name = checkboxGroup.name;\n this.groupLabel = checkboxGroup.label;\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.value, propName: \"value\" },\n ],\n \"Checkbox\"\n );\n }\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n const textfield = this.el.querySelector(\"ic-text-field\");\n if (!this.checked) {\n textfield?.setAttribute(\"disabled\", \"\");\n } else {\n textfield?.removeAttribute(\"disabled\");\n }\n } else if (this.additionalFieldContainer) {\n this.additionalFieldContainer.style.display = !this.checked\n ? \"none\"\n : \"flex\";\n }\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n /**\n * Sets focus on the checkbox.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.el.shadowRoot.querySelector<HTMLElement>(\".checkbox\")?.focus();\n }\n\n private handleClick = () => {\n this.checked = !this.checked;\n this.displayIndeterminate = this.nativeIndeterminateBehaviour\n ? false\n : this.indeterminate && this.checked;\n this.icCheck.emit();\n };\n\n private handleFormReset = (): void => {\n this.checked = this.initiallyChecked;\n };\n\n render() {\n const {\n additionalFieldDisplay,\n checked,\n disabled,\n dynamicText,\n el,\n form,\n displayIndeterminate,\n groupLabel,\n label,\n name,\n size,\n value,\n theme,\n } = this;\n\n const id = `ic-checkbox-${\n isPropDefined(label) || value\n }-${groupLabel}`.replace(/ /g, \"-\");\n\n const parentElementSize = (el.parentElement as HTMLIcCheckboxGroupElement)\n .size;\n\n checked\n ? renderHiddenInput(true, el, name, checked && value, disabled)\n : removeHiddenInput(el);\n\n return (\n <Host\n class={{\n \"ic-checkbox-disabled\": disabled,\n [`ic-checkbox-${size || parentElementSize}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div class=\"container\">\n {displayIndeterminate && <div class=\"indeterminate-symbol\" />}\n {!displayIndeterminate && checked && (\n <svg\n class=\"checkmark\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n >\n <title>checkmark icon</title>\n <path d=\"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z\" />\n </svg>\n )}\n <input\n role=\"checkbox\"\n class={{\n checkbox: true,\n checked,\n indeterminate: displayIndeterminate,\n }}\n type=\"checkbox\"\n name={name}\n id={id}\n value={value}\n disabled={disabled ? true : null}\n checked={checked}\n indeterminate={displayIndeterminate}\n onClick={this.handleClick}\n form={form}\n aria-label={this.hideLabel ? this.label : undefined}\n ></input>\n {!this.hideLabel && (\n <ic-typography class=\"checkbox-label\" variant=\"body\">\n <label htmlFor={id}>{label}</label>\n </ic-typography>\n )}\n </div>\n {isSlotUsed(el, \"additional-field\") && (\n <div\n class=\"dynamic-container\"\n ref={(el) => (this.additionalFieldContainer = el)}\n >\n {additionalFieldDisplay === \"dynamic\" && (\n <div class=\"branch-corner\"></div>\n )}\n <div>\n {additionalFieldDisplay === \"dynamic\" && (\n <ic-typography variant=\"caption\">\n <p class=\"dynamic-text\" aria-live=\"polite\">\n {dynamicText}\n </p>\n </ic-typography>\n )}\n <div\n class={{\n \"additional-field-wrapper\":\n additionalFieldDisplay === \"static\",\n }}\n >\n <slot name=\"additional-field\"></slot>\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{r as a,h as i,H as c,g as t}from"./p-6b5e91e2.js";import{b as e,g as s,d as r,a as o}from"./p-f99576e0.js";const d="@media (prefers-reduced-motion: no-preference){:host(.ic-badge-show){animation:expand var(--ic-transition-duration-slow)}:host(.ic-badge-hide){animation:shrink var(--ic-transition-duration-slow)}}:host{display:flex;height:var(--ic-space-md);min-width:var(--ic-space-md);width:-moz-fit-content;width:fit-content;border-radius:calc(2 * var(--ic-space-xxl));position:absolute}:host ic-typography{--ic-typography-color:var(--ic-badge-text)}:host(.ic-badge-neutral){background-color:var(--ic-badge-dark) !important}:host(.ic-badge-light) ic-typography{--ic-typography-color:var(--ic-badge-text-monochrome)}:host(.ic-badge-light) ::slotted(*){fill:var(--ic-badge-icon-monochrome)}:host(.ic-badge-info){background-color:var(--ic-badge-info) !important}:host(.ic-badge-light){background-color:var(--ic-badge-light) !important}:host(.ic-badge-warning){background-color:var(--ic-badge-warning) !important}:host(.ic-badge-warning) ic-typography{--ic-typography-color:var(--ic-badge-warning-text)}:host(.ic-badge-warning) ::slotted(*){fill:var(--ic-badge-warning-icon)}:host(.ic-badge-error){background-color:var(--ic-badge-error) !important}:host(.ic-badge-success){background-color:var(--ic-badge-success) !important}:host(.ic-badge-small){height:var(--ic-space-sm);min-width:var(--ic-space-sm)}:host(.ic-badge-large){height:calc(var(--ic-space-md) + var(--ic-space-xxs));min-width:calc(var(--ic-space-md) + var(--ic-space-xxs))}:host(.ic-badge-dot.ic-badge-medium){height:var(--ic-space-xs);width:var(--ic-space-xs);min-width:var(--ic-space-xs)}:host(.ic-badge-dot.ic-badge-small){height:calc(var(--ic-space-xxs) + var(--ic-space-xxxs));width:calc(var(--ic-space-xxs) + var(--ic-space-xxxs));min-width:calc(var(--ic-space-xxs) + var(--ic-space-xxxs))}:host(.ic-badge-dot.ic-badge-large){height:var(--ic-space-sm);width:var(--ic-space-sm);min-width:var(--ic-space-sm)}:host ::slotted(*){fill:var(--ic-badge-icon)}:host(.ic-badge-foreground-dark) ::slotted(*){fill:var(--ic-color-text-primary-light)}:host(.ic-badge-foreground-light) ::slotted(*){fill:white}:host(.ic-badge-foreground-dark) ic-typography{--ic-typography-color:var(--ic-color-text-primary-light)}:host(.ic-badge-foreground-light) ic-typography{--ic-typography-color:var(--ic-color-primary-text-dark)}:host(.ic-badge-text) ic-typography{align-self:center;padding:0 calc((var(--ic-space-xs) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px)}:host(.ic-badge-text.ic-badge-small) ic-typography{padding:0 0.2132rem}:host(.ic-badge-text.ic-badge-large) ic-typography{padding:0 calc((var(--ic-space-sm) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px)}:host(.ic-badge-icon) ::slotted(svg){width:var(--ic-space-sm);height:var(--ic-space-sm);padding:var(--ic-space-xxxs)}:host(.ic-badge-icon.ic-badge-small) ::slotted(svg){width:var(--ic-space-xs);height:var(--ic-space-xs)}:host(.ic-badge-icon.ic-badge-large) ::slotted(svg){width:calc(var(--ic-space-sm) + var(--ic-space-xxxs));height:calc(var(--ic-space-sm) + var(--ic-space-xxxs));padding:calc(var(--ic-space-xxxs) + var(--ic-space-1px))}:host(.ic-badge-far){top:calc(-1 * var(--ic-space-xs));right:calc(-1 * var(--ic-space-xs))}:host(.ic-badge-far.ic-badge-small),:host(.ic-badge-dot.ic-badge-far.ic-badge-large){top:calc(-1 * var(--ic-space-xxs));right:calc(-1 * var(--ic-space-xxs))}:host(.ic-badge-dot.ic-badge-far),:host(.ic-badge-dot.ic-badge-far.ic-badge-small){top:calc(-1 * var(--ic-space-xxxs));right:calc(-1 * var(--ic-space-xxxs))}:host(.ic-badge-near){top:calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));right:calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)))}:host(.ic-badge-dot.ic-badge-near){top:calc(-1 * var(--ic-space-1px));right:calc(-1 * var(--ic-space-1px))}:host(.ic-badge-inline){position:static}:host(.ic-badge-hide){visibility:hidden !important;transition:visibility var(--ic-transition-duration-slow)}.sr-only{position:absolute;left:-9999px}@keyframes expand{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes shrink{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}";const h=class{constructor(i){a(this,i);this.ariaLabel=null;this.setBadgeColour=()=>{const a=e(this.customColor);if(a){const{r:i,g:c,b:t,a:e}=a;this.el.style.backgroundColor=`rgba(${i}, ${c}, ${t}, ${e})`;this.foregroundColour=s((i*299+c*587+t*114)/1e3)}};this.getLabel=()=>this.maxNumber&&Number(this.label)>this.maxNumber?`${this.maxNumber}+`:this.label;this.setAccessibleLabel=()=>{const a=this.el.parentElement;const i=this.isAccessibleLabelDefined()?this.accessibleLabel:this.label||"with badge being displayed";if(a){const{tagName:c}=a;if(c!=="IC-CARD"&&(c!=="IC-TAB"||c==="IC-TAB"&&this.parentAriaLabel)){const c=this.parentAriaLabel?`${this.parentAriaLabel} ,`:"";a.ariaLabel=this.visible?`${c} ${i}`:undefined}else{this.ariaLabel=`, ${i}`}}};this.isAccessibleLabelDefined=()=>r(this.accessibleLabel)&&this.accessibleLabel!==null;this.accessibleLabel=undefined;this.customColor=null;this.maxNumber=undefined;this.position="far";this.size="medium";this.label=undefined;this.theme="inherit";this.type="text";this.variant="neutral";this.visible=true}accessibleLabelHandler(){this.setAccessibleLabel()}customColorHandler(){this.variant==="custom"&&this.setBadgeColour()}variantHandler(){if(this.variant==="custom"){this.setBadgeColour()}}visibleHandler(){this.setAccessibleLabel()}componentWillLoad(){var a;this.variant==="custom"&&this.setBadgeColour();const i=(a=this.el.parentElement)===null||a===void 0?void 0:a.ariaLabel;if(i)this.parentAriaLabel=i;this.setAccessibleLabel()}componentDidLoad(){this.type==="text"&&o([{prop:this.label,propName:"label"}],"Badge")}render(){const{ariaLabel:a,el:t,foregroundColour:e,getLabel:s,position:r,size:o,label:d,type:h,variant:l,visible:g,theme:n}=this;return i(c,{class:{[`ic-badge-${r}`]:true,[`ic-badge-${o}`]:true,[`ic-badge-${l}`]:true,[`ic-badge-${h}`]:true,[`ic-badge-foreground-${e}`]:e!==null&&l==="custom",[`${g?"ic-badge-show":"ic-badge-hide"}`]:true,[`ic-theme-${n}`]:n!=="inherit"},id:t.id||null,"aria-label":a,role:"status"},h==="icon"&&i("slot",{name:"badge-icon"}),h==="text"&&d&&i("ic-typography",{variant:o==="small"?"badge-small":"badge"},s()),h==="dot"&&i("span",{class:"sr-only"},"badge"))}static get delegatesFocus(){return true}get el(){return t(this)}static get watchers(){return{accessibleLabel:["accessibleLabelHandler"],customColor:["customColorHandler"],variant:["variantHandler"],visible:["visibleHandler"]}}};h.style=d;export{h as ic_badge};
2
- //# sourceMappingURL=p-81f80487.entry.js.map
1
+ import{r as a,h as i,H as c,g as t}from"./p-6b5e91e2.js";import{b as e,g as s,d as r,a as o}from"./p-48e98730.js";const d="@media (prefers-reduced-motion: no-preference){:host(.ic-badge-show){animation:expand var(--ic-transition-duration-slow)}:host(.ic-badge-hide){animation:shrink var(--ic-transition-duration-slow)}}:host{display:flex;height:var(--ic-space-md);min-width:var(--ic-space-md);width:-moz-fit-content;width:fit-content;border-radius:calc(2 * var(--ic-space-xxl));position:absolute}:host ic-typography{--ic-typography-color:var(--ic-badge-text)}:host(.ic-badge-neutral){background-color:var(--ic-badge-dark) !important}:host(.ic-badge-light) ic-typography{--ic-typography-color:var(--ic-badge-text-monochrome)}:host(.ic-badge-light) ::slotted(*){fill:var(--ic-badge-icon-monochrome)}:host(.ic-badge-info){background-color:var(--ic-badge-info) !important}:host(.ic-badge-light){background-color:var(--ic-badge-light) !important}:host(.ic-badge-warning){background-color:var(--ic-badge-warning) !important}:host(.ic-badge-warning) ic-typography{--ic-typography-color:var(--ic-badge-warning-text)}:host(.ic-badge-warning) ::slotted(*){fill:var(--ic-badge-warning-icon)}:host(.ic-badge-error){background-color:var(--ic-badge-error) !important}:host(.ic-badge-success){background-color:var(--ic-badge-success) !important}:host(.ic-badge-small){height:var(--ic-space-sm);min-width:var(--ic-space-sm)}:host(.ic-badge-large){height:calc(var(--ic-space-md) + var(--ic-space-xxs));min-width:calc(var(--ic-space-md) + var(--ic-space-xxs))}:host(.ic-badge-dot.ic-badge-medium){height:var(--ic-space-xs);width:var(--ic-space-xs);min-width:var(--ic-space-xs)}:host(.ic-badge-dot.ic-badge-small){height:calc(var(--ic-space-xxs) + var(--ic-space-xxxs));width:calc(var(--ic-space-xxs) + var(--ic-space-xxxs));min-width:calc(var(--ic-space-xxs) + var(--ic-space-xxxs))}:host(.ic-badge-dot.ic-badge-large){height:var(--ic-space-sm);width:var(--ic-space-sm);min-width:var(--ic-space-sm)}:host ::slotted(*){fill:var(--ic-badge-icon)}:host(.ic-badge-foreground-dark) ::slotted(*){fill:var(--ic-color-text-primary-light)}:host(.ic-badge-foreground-light) ::slotted(*){fill:white}:host(.ic-badge-foreground-dark) ic-typography{--ic-typography-color:var(--ic-color-text-primary-light)}:host(.ic-badge-foreground-light) ic-typography{--ic-typography-color:var(--ic-color-primary-text-dark)}:host(.ic-badge-text) ic-typography{align-self:center;padding:0 calc((var(--ic-space-xs) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px)}:host(.ic-badge-text.ic-badge-small) ic-typography{padding:0 0.2132rem}:host(.ic-badge-text.ic-badge-large) ic-typography{padding:0 calc((var(--ic-space-sm) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px)}:host(.ic-badge-icon) ::slotted(svg){width:var(--ic-space-sm);height:var(--ic-space-sm);padding:var(--ic-space-xxxs)}:host(.ic-badge-icon.ic-badge-small) ::slotted(svg){width:var(--ic-space-xs);height:var(--ic-space-xs)}:host(.ic-badge-icon.ic-badge-large) ::slotted(svg){width:calc(var(--ic-space-sm) + var(--ic-space-xxxs));height:calc(var(--ic-space-sm) + var(--ic-space-xxxs));padding:calc(var(--ic-space-xxxs) + var(--ic-space-1px))}:host(.ic-badge-far){top:calc(-1 * var(--ic-space-xs));right:calc(-1 * var(--ic-space-xs))}:host(.ic-badge-far.ic-badge-small),:host(.ic-badge-dot.ic-badge-far.ic-badge-large){top:calc(-1 * var(--ic-space-xxs));right:calc(-1 * var(--ic-space-xxs))}:host(.ic-badge-dot.ic-badge-far),:host(.ic-badge-dot.ic-badge-far.ic-badge-small){top:calc(-1 * var(--ic-space-xxxs));right:calc(-1 * var(--ic-space-xxxs))}:host(.ic-badge-near){top:calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));right:calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)))}:host(.ic-badge-dot.ic-badge-near){top:calc(-1 * var(--ic-space-1px));right:calc(-1 * var(--ic-space-1px))}:host(.ic-badge-inline){position:static}:host(.ic-badge-hide){visibility:hidden !important;transition:visibility var(--ic-transition-duration-slow)}.sr-only{position:absolute;left:-9999px}@keyframes expand{from{opacity:0;transform:scale(0)}to{opacity:1;transform:scale(1)}}@keyframes shrink{from{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(0)}}";const h=class{constructor(i){a(this,i);this.ariaLabel=null;this.setBadgeColour=()=>{const a=e(this.customColor);if(a){const{r:i,g:c,b:t,a:e}=a;this.el.style.backgroundColor=`rgba(${i}, ${c}, ${t}, ${e})`;this.foregroundColour=s((i*299+c*587+t*114)/1e3)}};this.getLabel=()=>this.maxNumber&&Number(this.label)>this.maxNumber?`${this.maxNumber}+`:this.label;this.setAccessibleLabel=()=>{const a=this.el.parentElement;const i=this.isAccessibleLabelDefined()?this.accessibleLabel:this.label||"with badge being displayed";if(a){const{tagName:c}=a;if(c!=="IC-CARD"&&(c!=="IC-TAB"||c==="IC-TAB"&&this.parentAriaLabel)){const c=this.parentAriaLabel?`${this.parentAriaLabel} ,`:"";a.ariaLabel=this.visible?`${c} ${i}`:undefined}else{this.ariaLabel=`, ${i}`}}};this.isAccessibleLabelDefined=()=>r(this.accessibleLabel)&&this.accessibleLabel!==null;this.accessibleLabel=undefined;this.customColor=null;this.maxNumber=undefined;this.position="far";this.size="medium";this.label=undefined;this.theme="inherit";this.type="text";this.variant="neutral";this.visible=true}accessibleLabelHandler(){this.setAccessibleLabel()}customColorHandler(){this.variant==="custom"&&this.setBadgeColour()}variantHandler(){if(this.variant==="custom"){this.setBadgeColour()}}visibleHandler(){this.setAccessibleLabel()}componentWillLoad(){var a;this.variant==="custom"&&this.setBadgeColour();const i=(a=this.el.parentElement)===null||a===void 0?void 0:a.ariaLabel;if(i)this.parentAriaLabel=i;this.setAccessibleLabel()}componentDidLoad(){this.type==="text"&&o([{prop:this.label,propName:"label"}],"Badge")}render(){const{ariaLabel:a,el:t,foregroundColour:e,getLabel:s,position:r,size:o,label:d,type:h,variant:l,visible:g,theme:n}=this;return i(c,{class:{[`ic-badge-${r}`]:true,[`ic-badge-${o}`]:true,[`ic-badge-${l}`]:true,[`ic-badge-${h}`]:true,[`ic-badge-foreground-${e}`]:e!==null&&l==="custom",[`${g?"ic-badge-show":"ic-badge-hide"}`]:true,[`ic-theme-${n}`]:n!=="inherit"},id:t.id||null,"aria-label":a,role:"status"},h==="icon"&&i("slot",{name:"badge-icon"}),h==="text"&&d&&i("ic-typography",{variant:o==="small"?"badge-small":"badge"},s()),h==="dot"&&i("span",{class:"sr-only"},"badge"))}static get delegatesFocus(){return true}get el(){return t(this)}static get watchers(){return{accessibleLabel:["accessibleLabelHandler"],customColor:["customColorHandler"],variant:["variantHandler"],visible:["visibleHandler"]}}};h.style=d;export{h as ic_badge};
2
+ //# sourceMappingURL=p-f42c0469.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icBadgeCss","Badge","this","ariaLabel","setBadgeColour","colorRGBA","convertToRGBA","customColor","r","g","b","a","el","style","backgroundColor","foregroundColour","getBrandForegroundAppearance","getLabel","maxNumber","Number","label","setAccessibleLabel","parentEl","parentElement","defaultAriaLabel","isAccessibleLabelDefined","accessibleLabel","tagName","parentAriaLabel","ariaLabelPrefix","visible","undefined","isPropDefined","accessibleLabelHandler","customColorHandler","variant","variantHandler","visibleHandler","componentWillLoad","_a","componentDidLoad","type","onComponentRequiredPropUndefined","prop","propName","render","position","size","theme","h","Host","class","id","role","name"],"sources":["src/components/ic-badge/ic-badge.css?tag=ic-badge&encapsulation=shadow","src/components/ic-badge/ic-badge.tsx"],"sourcesContent":["@media (prefers-reduced-motion: no-preference) {\n :host(.ic-badge-show) {\n animation: expand var(--ic-transition-duration-slow);\n }\n\n :host(.ic-badge-hide) {\n animation: shrink var(--ic-transition-duration-slow);\n }\n}\n\n:host {\n display: flex;\n height: var(--ic-space-md);\n min-width: var(--ic-space-md);\n width: fit-content;\n border-radius: calc(2 * var(--ic-space-xxl));\n position: absolute;\n}\n\n:host ic-typography {\n --ic-typography-color: var(--ic-badge-text);\n}\n\n:host(.ic-badge-neutral) {\n background-color: var(--ic-badge-dark) !important;\n}\n\n:host(.ic-badge-light) ic-typography {\n --ic-typography-color: var(--ic-badge-text-monochrome);\n}\n\n:host(.ic-badge-light) ::slotted(*) {\n fill: var(--ic-badge-icon-monochrome);\n}\n\n:host(.ic-badge-info) {\n background-color: var(--ic-badge-info) !important;\n}\n\n:host(.ic-badge-light) {\n background-color: var(--ic-badge-light) !important;\n}\n\n:host(.ic-badge-warning) {\n background-color: var(--ic-badge-warning) !important;\n}\n\n:host(.ic-badge-warning) ic-typography {\n --ic-typography-color: var(--ic-badge-warning-text);\n}\n\n:host(.ic-badge-warning) ::slotted(*) {\n fill: var(--ic-badge-warning-icon);\n}\n\n:host(.ic-badge-error) {\n background-color: var(--ic-badge-error) !important;\n}\n\n:host(.ic-badge-success) {\n background-color: var(--ic-badge-success) !important;\n}\n\n:host(.ic-badge-small) {\n height: var(--ic-space-sm);\n min-width: var(--ic-space-sm);\n}\n\n:host(.ic-badge-large) {\n height: calc(var(--ic-space-md) + var(--ic-space-xxs));\n min-width: calc(var(--ic-space-md) + var(--ic-space-xxs));\n}\n\n:host(.ic-badge-dot.ic-badge-medium) {\n height: var(--ic-space-xs);\n width: var(--ic-space-xs);\n min-width: var(--ic-space-xs);\n}\n\n:host(.ic-badge-dot.ic-badge-small) {\n height: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n width: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n min-width: calc(var(--ic-space-xxs) + var(--ic-space-xxxs));\n}\n\n:host(.ic-badge-dot.ic-badge-large) {\n height: var(--ic-space-sm);\n width: var(--ic-space-sm);\n min-width: var(--ic-space-sm);\n}\n\n:host ::slotted(*) {\n fill: var(--ic-badge-icon);\n}\n\n:host(.ic-badge-foreground-dark) ::slotted(*) {\n fill: var(--ic-color-text-primary-light);\n}\n\n:host(.ic-badge-foreground-light) ::slotted(*) {\n fill: white;\n}\n\n:host(.ic-badge-foreground-dark) ic-typography {\n --ic-typography-color: var(--ic-color-text-primary-light);\n}\n\n:host(.ic-badge-foreground-light) ic-typography {\n --ic-typography-color: var(--ic-color-primary-text-dark);\n}\n\n:host(.ic-badge-text) ic-typography {\n align-self: center;\n padding: 0 calc((var(--ic-space-xs) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px);\n}\n\n:host(.ic-badge-text.ic-badge-small) ic-typography {\n padding: 0 0.2132rem;\n}\n\n:host(.ic-badge-text.ic-badge-large) ic-typography {\n padding: 0 calc((var(--ic-space-sm) + var(--ic-space-1px)) / 2)\n var(--ic-space-1px);\n}\n\n:host(.ic-badge-icon) ::slotted(svg) {\n width: var(--ic-space-sm);\n height: var(--ic-space-sm);\n padding: var(--ic-space-xxxs);\n}\n\n:host(.ic-badge-icon.ic-badge-small) ::slotted(svg) {\n width: var(--ic-space-xs);\n height: var(--ic-space-xs);\n}\n\n:host(.ic-badge-icon.ic-badge-large) ::slotted(svg) {\n width: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n height: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n padding: calc(var(--ic-space-xxxs) + var(--ic-space-1px));\n}\n\n:host(.ic-badge-far) {\n top: calc(-1 * var(--ic-space-xs));\n right: calc(-1 * var(--ic-space-xs));\n}\n\n:host(.ic-badge-far.ic-badge-small),\n:host(.ic-badge-dot.ic-badge-far.ic-badge-large) {\n top: calc(-1 * var(--ic-space-xxs));\n right: calc(-1 * var(--ic-space-xxs));\n}\n\n:host(.ic-badge-dot.ic-badge-far),\n:host(.ic-badge-dot.ic-badge-far.ic-badge-small) {\n top: calc(-1 * var(--ic-space-xxxs));\n right: calc(-1 * var(--ic-space-xxxs));\n}\n\n:host(.ic-badge-near) {\n top: calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));\n right: calc(-1 * calc(var(--ic-space-xxs) + var(--ic-space-1px)));\n}\n\n:host(.ic-badge-dot.ic-badge-near) {\n top: calc(-1 * var(--ic-space-1px));\n right: calc(-1 * var(--ic-space-1px));\n}\n\n:host(.ic-badge-inline) {\n position: static;\n}\n\n:host(.ic-badge-hide) {\n visibility: hidden !important;\n transition: visibility var(--ic-transition-duration-slow);\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n@keyframes expand {\n from {\n opacity: 0;\n transform: scale(0);\n }\n\n to {\n opacity: 1;\n transform: scale(1);\n }\n}\n\n@keyframes shrink {\n from {\n opacity: 1;\n transform: scale(1);\n }\n\n to {\n opacity: 0;\n transform: scale(0);\n }\n}\n","import { Component, Element, Host, Prop, Watch, h } from \"@stencil/core\";\nimport {\n IcBadgePositions,\n IcBadgeTypes,\n IcBadgeVariants,\n} from \"./ic-badge.types\";\nimport {\n IcSizes,\n IcBrandForeground,\n IcColor,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n convertToRGBA,\n getBrandForegroundAppearance,\n isPropDefined,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\n\n/**\n * @slot badge-icon - Icon will be rendered inside the badge if type is set to icon.\n */\n@Component({\n tag: \"ic-badge\",\n styleUrl: \"ic-badge.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Badge {\n private ariaLabel: string = null;\n private foregroundColour: IcBrandForeground;\n private parentAriaLabel: string;\n\n @Element() el: HTMLIcBadgeElement;\n\n /**\n * The accessible label of the badge component to provide context for screen reader users.\n */\n @Prop() accessibleLabel?: string;\n\n @Watch(\"accessibleLabel\")\n accessibleLabelHandler(): void {\n this.setAccessibleLabel();\n }\n\n /**\n * The custom badge colour. This will only style the badge component if variant=\"custom\".\n * Can be a hex value e.g. \"#ff0000\", RGB e.g. \"rgb(255, 0, 0)\", or RGBA e.g. \"rgba(255, 0, 0, 1)\".\n */\n @Prop() customColor?: IcColor = null;\n\n @Watch(\"customColor\")\n customColorHandler(): void {\n this.variant === \"custom\" && this.setBadgeColour();\n }\n\n /**\n * The maximum number shown on the badge appended with a +.\n * This will only be displayed if type=\"text\" and label is not empty.\n */\n @Prop() maxNumber?: number;\n\n /**\n * The positioning of the badge in reference to the parent element.\n */\n @Prop() position?: IcBadgePositions = \"far\";\n\n /**\n * The size of the badge to be displayed.\n */\n @Prop() size?: IcSizes = \"medium\";\n\n /**\n * The text displayed in the badge. This will only be displayed if type=\"text\".\n */\n @Prop() label?: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The type of badge to be displayed.\n */\n @Prop() type?: IcBadgeTypes = \"text\";\n\n /**\n * The variant of the badge to be displayed.\n */\n @Prop() variant?: IcBadgeVariants = \"neutral\";\n\n @Watch(\"variant\")\n variantHandler(): void {\n if (this.variant === \"custom\") {\n this.setBadgeColour();\n }\n }\n\n /**\n * If `true`, the badge will be displayed.\n */\n @Prop() visible: boolean = true;\n\n @Watch(\"visible\")\n visibleHandler(): void {\n this.setAccessibleLabel();\n }\n\n componentWillLoad(): void {\n this.variant === \"custom\" && this.setBadgeColour();\n\n const ariaLabel = this.el.parentElement?.ariaLabel;\n if (ariaLabel) this.parentAriaLabel = ariaLabel;\n this.setAccessibleLabel();\n }\n\n componentDidLoad(): void {\n this.type === \"text\" &&\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Badge\"\n );\n }\n\n private setBadgeColour = () => {\n const colorRGBA = convertToRGBA(this.customColor);\n\n if (colorRGBA) {\n const { r, g, b, a } = colorRGBA;\n this.el.style.backgroundColor = `rgba(${r}, ${g}, ${b}, ${a})`;\n this.foregroundColour = getBrandForegroundAppearance(\n (r * 299 + g * 587 + b * 114) / 1000\n );\n }\n };\n\n private getLabel = () =>\n this.maxNumber && Number(this.label) > this.maxNumber\n ? `${this.maxNumber}+`\n : this.label;\n\n // Set aria-label on badge and / or parent element\n // Aria-describedby seems to not work, probably due to shadow DOM\n private setAccessibleLabel = () => {\n const parentEl = this.el.parentElement;\n const defaultAriaLabel = this.isAccessibleLabelDefined()\n ? this.accessibleLabel\n : this.label || \"with badge being displayed\";\n\n if (parentEl) {\n const { tagName } = parentEl;\n if (\n tagName !== \"IC-CARD\" &&\n (tagName !== \"IC-TAB\" || (tagName === \"IC-TAB\" && this.parentAriaLabel))\n ) {\n const ariaLabelPrefix = this.parentAriaLabel\n ? `${this.parentAriaLabel} ,`\n : \"\";\n parentEl.ariaLabel = this.visible\n ? `${ariaLabelPrefix} ${defaultAriaLabel}`\n : undefined;\n } else {\n this.ariaLabel = `, ${defaultAriaLabel}`;\n }\n }\n };\n\n private isAccessibleLabelDefined = () =>\n isPropDefined(this.accessibleLabel) && this.accessibleLabel !== null;\n\n render() {\n const {\n ariaLabel,\n el,\n foregroundColour,\n getLabel,\n position,\n size,\n label,\n type,\n variant,\n visible,\n theme,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-badge-${position}`]: true,\n [`ic-badge-${size}`]: true,\n [`ic-badge-${variant}`]: true,\n [`ic-badge-${type}`]: true,\n [`ic-badge-foreground-${foregroundColour}`]:\n foregroundColour !== null && variant === \"custom\",\n [`${visible ? \"ic-badge-show\" : \"ic-badge-hide\"}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n id={el.id || null}\n aria-label={ariaLabel}\n role=\"status\"\n >\n {type === \"icon\" && <slot name=\"badge-icon\"></slot>}\n {type === \"text\" && label && (\n <ic-typography variant={size === \"small\" ? \"badge-small\" : \"badge\"}>\n {getLabel()}\n </ic-typography>\n )}\n {type === \"dot\" && <span class=\"sr-only\">badge</span>}\n </Host>\n );\n }\n}\n"],"mappings":"kHAAA,MAAMA,EAAa,o+H,MC6BNC,EAAK,M,yBACRC,KAAAC,UAAoB,KAgGpBD,KAAAE,eAAiB,KACvB,MAAMC,EAAYC,EAAcJ,KAAKK,aAErC,GAAIF,EAAW,CACb,MAAMG,EAAEA,EAACC,EAAEA,EAACC,EAAEA,EAACC,EAAEA,GAAMN,EACvBH,KAAKU,GAAGC,MAAMC,gBAAkB,QAAQN,MAAMC,MAAMC,MAAMC,KAC1DT,KAAKa,iBAAmBC,GACrBR,EAAI,IAAMC,EAAI,IAAMC,EAAI,KAAO,I,GAK9BR,KAAAe,SAAW,IACjBf,KAAKgB,WAAaC,OAAOjB,KAAKkB,OAASlB,KAAKgB,UACxC,GAAGhB,KAAKgB,aACRhB,KAAKkB,MAIHlB,KAAAmB,mBAAqB,KAC3B,MAAMC,EAAWpB,KAAKU,GAAGW,cACzB,MAAMC,EAAmBtB,KAAKuB,2BAC1BvB,KAAKwB,gBACLxB,KAAKkB,OAAS,6BAElB,GAAIE,EAAU,CACZ,MAAMK,QAAEA,GAAYL,EACpB,GACEK,IAAY,YACXA,IAAY,UAAaA,IAAY,UAAYzB,KAAK0B,iBACvD,CACA,MAAMC,EAAkB3B,KAAK0B,gBACzB,GAAG1B,KAAK0B,oBACR,GACJN,EAASnB,UAAYD,KAAK4B,QACtB,GAAGD,KAAmBL,IACtBO,S,KACC,CACL7B,KAAKC,UAAY,KAAKqB,G,IAKpBtB,KAAAuB,yBAA2B,IACjCO,EAAc9B,KAAKwB,kBAAoBxB,KAAKwB,kBAAoB,K,gDAxHlC,K,uCAgBM,M,UAKb,S,gCAUK,U,UAKA,O,aAKM,U,aAYT,I,CA7D3B,sBAAAO,GACE/B,KAAKmB,oB,CAUP,kBAAAa,GACEhC,KAAKiC,UAAY,UAAYjC,KAAKE,gB,CAwCpC,cAAAgC,GACE,GAAIlC,KAAKiC,UAAY,SAAU,CAC7BjC,KAAKE,gB,EAUT,cAAAiC,GACEnC,KAAKmB,oB,CAGP,iBAAAiB,G,MACEpC,KAAKiC,UAAY,UAAYjC,KAAKE,iBAElC,MAAMD,GAAYoC,EAAArC,KAAKU,GAAGW,iBAAa,MAAAgB,SAAA,SAAAA,EAAEpC,UACzC,GAAIA,EAAWD,KAAK0B,gBAAkBzB,EACtCD,KAAKmB,oB,CAGP,gBAAAmB,GACEtC,KAAKuC,OAAS,QACZC,EACE,CAAC,CAAEC,KAAMzC,KAAKkB,MAAOwB,SAAU,UAC/B,Q,CAkDN,MAAAC,GACE,MAAM1C,UACJA,EAASS,GACTA,EAAEG,iBACFA,EAAgBE,SAChBA,EAAQ6B,SACRA,EAAQC,KACRA,EAAI3B,MACJA,EAAKqB,KACLA,EAAIN,QACJA,EAAOL,QACPA,EAAOkB,MACPA,GACE9C,KAEJ,OACE+C,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,YAAYL,KAAa,KAC1B,CAAC,YAAYC,KAAS,KACtB,CAAC,YAAYZ,KAAY,KACzB,CAAC,YAAYM,KAAS,KACtB,CAAC,uBAAuB1B,KACtBA,IAAqB,MAAQoB,IAAY,SAC3C,CAAC,GAAGL,EAAU,gBAAkB,mBAAoB,KACpD,CAAC,YAAYkB,KAAUA,IAAU,WAEnCI,GAAIxC,EAAGwC,IAAM,KAAI,aACLjD,EACZkD,KAAK,UAEJZ,IAAS,QAAUQ,EAAA,QAAMK,KAAK,eAC9Bb,IAAS,QAAUrB,GAClB6B,EAAA,iBAAed,QAASY,IAAS,QAAU,cAAgB,SACxD9B,KAGJwB,IAAS,OAASQ,EAAA,QAAME,MAAM,WAAS,S"}