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

Sign up to get free protection for your applications and to get access to all the features.
Files changed (735) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-69219f14.js → helpers-dd569d97.js} +33 -28
  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 +4 -4
  8. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-back-to-top.cjs.entry.js +8 -5
  10. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-badge.cjs.entry.js +3 -3
  12. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +43 -20
  14. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  16. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-button_3.cjs.entry.js +18 -17
  18. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-card-vertical.cjs.entry.js +20 -10
  20. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-checkbox-group.cjs.entry.js +5 -1
  22. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-checkbox.cjs.entry.js +5 -1
  24. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-chip.cjs.entry.js +9 -4
  26. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-dialog.cjs.entry.js +2 -2
  29. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-divider.cjs.entry.js +3 -3
  31. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
  33. package/dist/cjs/ic-footer-link-group.cjs.entry.js +6 -7
  34. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-footer-link.cjs.entry.js +4 -5
  36. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-footer.cjs.entry.js +7 -8
  38. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-hero.cjs.entry.js +6 -7
  40. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +14 -7
  42. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +22 -25
  44. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-input-label_2.cjs.entry.js +21 -25
  46. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-link.cjs.entry.js +10 -12
  48. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  50. package/dist/cjs/ic-menu-item.cjs.entry.js +16 -9
  51. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-navigation-button.cjs.entry.js +11 -8
  53. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-navigation-group.cjs.entry.js +7 -6
  55. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-navigation-item.cjs.entry.js +31 -6
  57. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -4
  59. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-page-header.cjs.entry.js +5 -3
  61. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-pagination-item.cjs.entry.js +5 -1
  63. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-pagination.cjs.entry.js +9 -23
  65. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-popover-menu.cjs.entry.js +6 -6
  67. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-radio-group.cjs.entry.js +9 -1
  69. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-radio-option.cjs.entry.js +5 -1
  71. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-search-bar.cjs.entry.js +10 -6
  73. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-select.cjs.entry.js +18 -14
  75. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-side-navigation.cjs.entry.js +14 -10
  77. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-status-tag.cjs.entry.js +5 -4
  79. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-step.cjs.entry.js +1 -1
  81. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  82. package/dist/cjs/ic-switch.cjs.entry.js +7 -3
  83. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -19
  85. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
  87. package/dist/cjs/ic-tab.cjs.entry.js +5 -2
  88. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-text-field.cjs.entry.js +37 -19
  90. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-theme.cjs.entry.js +20 -20
  92. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-toast.cjs.entry.js +1 -1
  94. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +31 -4
  95. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-toggle-button.cjs.entry.js +15 -6
  97. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-top-navigation.cjs.entry.js +13 -7
  99. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-typography.cjs.entry.js +2 -2
  101. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  102. package/dist/cjs/loader.cjs.js +1 -1
  103. package/dist/collection/components/ic-accordion/ic-accordion.js +10 -1
  104. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  105. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +3 -0
  106. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +1 -1
  107. package/dist/collection/components/ic-alert/ic-alert.css +7 -1
  108. package/dist/collection/components/ic-alert/ic-alert.js +3 -3
  109. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  110. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +1 -1
  111. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +1 -1
  112. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +5 -2
  113. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +31 -4
  114. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  115. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +14 -0
  116. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +1 -1
  117. package/dist/collection/components/ic-badge/ic-badge.css +3 -3
  118. package/dist/collection/components/ic-badge/ic-badge.js +2 -2
  119. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  120. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +4 -7
  121. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +44 -19
  122. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  123. package/dist/collection/components/ic-button/ic-button.css +693 -416
  124. package/dist/collection/components/ic-button/ic-button.js +62 -43
  125. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  126. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +9 -9
  127. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -1
  128. package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +18 -18
  129. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +27 -14
  130. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js.map +1 -1
  131. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js +10 -0
  132. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js.map +1 -1
  133. package/dist/collection/components/ic-checkbox/ic-checkbox.js +6 -0
  134. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  135. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +6 -0
  136. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  137. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +3 -0
  138. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -1
  139. package/dist/collection/components/ic-chip/ic-chip.js +27 -2
  140. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  141. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +3 -0
  142. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +1 -1
  143. package/dist/collection/components/ic-dialog/ic-dialog.css +1 -1
  144. package/dist/collection/components/ic-divider/ic-divider.js +8 -8
  145. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  146. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +4 -4
  147. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +1 -1
  148. package/dist/collection/components/ic-footer/ic-footer.css +2 -2
  149. package/dist/collection/components/ic-footer/ic-footer.js +9 -10
  150. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  151. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +2 -2
  152. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +1 -1
  153. package/dist/collection/components/ic-footer-link/ic-footer-link.js +6 -7
  154. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  155. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +1 -1
  156. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +1 -1
  157. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +4 -0
  158. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +7 -8
  159. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  160. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +1 -1
  161. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +1 -1
  162. package/dist/collection/components/ic-hero/ic-hero.css +9 -9
  163. package/dist/collection/components/ic-hero/ic-hero.js +8 -9
  164. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  165. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +2 -2
  166. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +1 -1
  167. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +0 -4
  168. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +64 -9
  169. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  170. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js +43 -0
  171. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +1 -1
  172. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +38 -17
  173. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +22 -40
  174. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  175. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +9 -0
  176. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +1 -1
  177. package/dist/collection/components/ic-input-label/ic-input-label.css +6 -19
  178. package/dist/collection/components/ic-input-label/ic-input-label.js +11 -33
  179. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  180. package/dist/collection/components/ic-input-validation/ic-input-validation.css +9 -4
  181. package/dist/collection/components/ic-input-validation/ic-input-validation.js +7 -7
  182. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  183. package/dist/collection/components/ic-link/ic-link.css +0 -24
  184. package/dist/collection/components/ic-link/ic-link.js +14 -16
  185. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  186. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +3 -3
  187. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +1 -1
  188. package/dist/collection/components/ic-menu/ic-menu.css +31 -19
  189. package/dist/collection/components/ic-menu/ic-menu.js +4 -4
  190. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  191. package/dist/collection/components/ic-menu-item/ic-menu-item.js +57 -15
  192. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  193. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +14 -1
  194. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +1 -1
  195. package/dist/collection/components/ic-navigation-button/ic-navigation-button.css +14 -0
  196. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +37 -10
  197. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  198. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +3 -3
  199. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +1 -1
  200. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +14 -9
  201. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +32 -7
  202. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  203. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +3 -3
  204. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +1 -1
  205. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +28 -26
  206. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +56 -7
  207. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  208. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +3 -3
  209. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +1 -1
  210. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +9 -6
  211. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +27 -2
  212. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  213. package/dist/collection/components/ic-page-header/ic-page-header.css +2 -1
  214. package/dist/collection/components/ic-page-header/ic-page-header.js +27 -1
  215. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  216. package/dist/collection/components/ic-pagination/ic-pagination.js +10 -22
  217. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  218. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +10 -0
  219. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -1
  220. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +6 -0
  221. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  222. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js +3 -0
  223. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js.map +1 -1
  224. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +22 -9
  225. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  226. package/dist/collection/components/ic-radio-group/ic-radio-group.js +8 -0
  227. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  228. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +6 -0
  229. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -1
  230. package/dist/collection/components/ic-radio-option/ic-radio-option.js +6 -0
  231. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  232. package/dist/collection/components/ic-search-bar/ic-search-bar.css +3 -1
  233. package/dist/collection/components/ic-search-bar/ic-search-bar.js +10 -5
  234. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  235. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +4 -1
  236. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +1 -1
  237. package/dist/collection/components/ic-select/ic-select.css +49 -36
  238. package/dist/collection/components/ic-select/ic-select.js +44 -14
  239. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  240. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +10 -0
  241. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  242. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +48 -31
  243. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +16 -12
  244. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  245. package/dist/collection/components/ic-side-navigation/ic-side-navigation.types.js.map +1 -1
  246. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +6 -6
  247. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +1 -1
  248. package/dist/collection/components/ic-status-tag/ic-status-tag.css +5 -5
  249. package/dist/collection/components/ic-status-tag/ic-status-tag.js +21 -2
  250. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  251. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +15 -32
  252. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +1 -1
  253. package/dist/collection/components/ic-switch/ic-switch.css +3 -0
  254. package/dist/collection/components/ic-switch/ic-switch.js +6 -0
  255. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  256. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +3 -0
  257. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +1 -1
  258. package/dist/collection/components/ic-tab/ic-tab.js +6 -0
  259. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  260. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +16 -0
  261. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +1 -1
  262. package/dist/collection/components/ic-tab-group/ic-tab-group.css +8 -0
  263. package/dist/collection/components/ic-tab-group/ic-tab-group.js +1 -17
  264. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  265. package/dist/collection/components/ic-text-field/ic-text-field.css +60 -9
  266. package/dist/collection/components/ic-text-field/ic-text-field.js +64 -25
  267. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  268. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +26 -12
  269. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
  270. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +2 -2
  271. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +1 -1
  272. package/dist/collection/components/ic-theme/ic-theme.js +31 -31
  273. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  274. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +7 -7
  275. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +1 -1
  276. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +11 -11
  277. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +1 -1
  278. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +189 -54
  279. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +62 -32
  280. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  281. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js +10 -0
  282. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js.map +1 -1
  283. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.css +23 -16
  284. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +79 -27
  285. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  286. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +121 -0
  287. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +1 -1
  288. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +41 -17
  289. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +39 -9
  290. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  291. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +3 -3
  292. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +1 -1
  293. package/dist/collection/components/ic-typography/ic-typography.css +4 -6
  294. package/dist/collection/utils/helpers.js +24 -19
  295. package/dist/collection/utils/helpers.js.map +1 -1
  296. package/dist/collection/utils/types.js +6 -6
  297. package/dist/collection/utils/types.js.map +1 -1
  298. package/dist/components/helpers.js +30 -25
  299. package/dist/components/helpers.js.map +1 -1
  300. package/dist/components/ic-accordion.js +9 -1
  301. package/dist/components/ic-accordion.js.map +1 -1
  302. package/dist/components/ic-alert.js +4 -4
  303. package/dist/components/ic-alert.js.map +1 -1
  304. package/dist/components/ic-back-to-top.js +9 -5
  305. package/dist/components/ic-back-to-top.js.map +1 -1
  306. package/dist/components/ic-badge.js +3 -3
  307. package/dist/components/ic-badge.js.map +1 -1
  308. package/dist/components/ic-breadcrumb-group.js +43 -19
  309. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  310. package/dist/components/ic-breadcrumb2.js +1 -1
  311. package/dist/components/ic-breadcrumb2.js.map +1 -1
  312. package/dist/components/ic-button2.js +21 -19
  313. package/dist/components/ic-button2.js.map +1 -1
  314. package/dist/components/ic-card-vertical.js +25 -13
  315. package/dist/components/ic-card-vertical.js.map +1 -1
  316. package/dist/components/ic-checkbox-group.js +5 -0
  317. package/dist/components/ic-checkbox-group.js.map +1 -1
  318. package/dist/components/ic-checkbox.js +5 -0
  319. package/dist/components/ic-checkbox.js.map +1 -1
  320. package/dist/components/ic-chip.js +11 -4
  321. package/dist/components/ic-chip.js.map +1 -1
  322. package/dist/components/ic-dialog.js +1 -1
  323. package/dist/components/ic-dialog.js.map +1 -1
  324. package/dist/components/ic-divider2.js +4 -4
  325. package/dist/components/ic-divider2.js.map +1 -1
  326. package/dist/components/ic-footer-link-group.js +7 -8
  327. package/dist/components/ic-footer-link-group.js.map +1 -1
  328. package/dist/components/ic-footer-link.js +5 -6
  329. package/dist/components/ic-footer-link.js.map +1 -1
  330. package/dist/components/ic-footer.js +8 -9
  331. package/dist/components/ic-footer.js.map +1 -1
  332. package/dist/components/ic-hero.js +7 -8
  333. package/dist/components/ic-hero.js.map +1 -1
  334. package/dist/components/ic-horizontal-scroll2.js +16 -7
  335. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  336. package/dist/components/ic-input-component-container2.js +21 -23
  337. package/dist/components/ic-input-component-container2.js.map +1 -1
  338. package/dist/components/ic-input-label2.js +12 -17
  339. package/dist/components/ic-input-label2.js.map +1 -1
  340. package/dist/components/ic-input-validation2.js +8 -8
  341. package/dist/components/ic-input-validation2.js.map +1 -1
  342. package/dist/components/ic-link2.js +13 -15
  343. package/dist/components/ic-link2.js.map +1 -1
  344. package/dist/components/ic-menu-item2.js +20 -11
  345. package/dist/components/ic-menu-item2.js.map +1 -1
  346. package/dist/components/ic-menu2.js +4 -4
  347. package/dist/components/ic-menu2.js.map +1 -1
  348. package/dist/components/ic-navigation-button.js +13 -9
  349. package/dist/components/ic-navigation-button.js.map +1 -1
  350. package/dist/components/ic-navigation-group.js +9 -7
  351. package/dist/components/ic-navigation-group.js.map +1 -1
  352. package/dist/components/ic-navigation-item.js +33 -7
  353. package/dist/components/ic-navigation-item.js.map +1 -1
  354. package/dist/components/ic-navigation-menu2.js +6 -4
  355. package/dist/components/ic-navigation-menu2.js.map +1 -1
  356. package/dist/components/ic-page-header.js +5 -2
  357. package/dist/components/ic-page-header.js.map +1 -1
  358. package/dist/components/ic-pagination-item2.js +6 -1
  359. package/dist/components/ic-pagination-item2.js.map +1 -1
  360. package/dist/components/ic-pagination.js +9 -22
  361. package/dist/components/ic-pagination.js.map +1 -1
  362. package/dist/components/ic-popover-menu.js +5 -5
  363. package/dist/components/ic-popover-menu.js.map +1 -1
  364. package/dist/components/ic-radio-group.js +8 -0
  365. package/dist/components/ic-radio-group.js.map +1 -1
  366. package/dist/components/ic-radio-option.js +6 -1
  367. package/dist/components/ic-radio-option.js.map +1 -1
  368. package/dist/components/ic-search-bar.js +11 -6
  369. package/dist/components/ic-search-bar.js.map +1 -1
  370. package/dist/components/ic-select.js +20 -14
  371. package/dist/components/ic-select.js.map +1 -1
  372. package/dist/components/ic-side-navigation.js +15 -11
  373. package/dist/components/ic-side-navigation.js.map +1 -1
  374. package/dist/components/ic-status-tag.js +5 -3
  375. package/dist/components/ic-status-tag.js.map +1 -1
  376. package/dist/components/ic-switch.js +9 -4
  377. package/dist/components/ic-switch.js.map +1 -1
  378. package/dist/components/ic-tab-group.js +2 -18
  379. package/dist/components/ic-tab-group.js.map +1 -1
  380. package/dist/components/ic-tab.js +5 -2
  381. package/dist/components/ic-tab.js.map +1 -1
  382. package/dist/components/ic-text-field2.js +40 -20
  383. package/dist/components/ic-text-field2.js.map +1 -1
  384. package/dist/components/ic-theme.js +22 -22
  385. package/dist/components/ic-theme.js.map +1 -1
  386. package/dist/components/ic-toast.js +1 -1
  387. package/dist/components/ic-toggle-button-group.js +38 -6
  388. package/dist/components/ic-toggle-button-group.js.map +1 -1
  389. package/dist/components/ic-toggle-button.js +20 -8
  390. package/dist/components/ic-toggle-button.js.map +1 -1
  391. package/dist/components/ic-top-navigation.js +15 -8
  392. package/dist/components/ic-top-navigation.js.map +1 -1
  393. package/dist/components/ic-typography2.js +1 -1
  394. package/dist/components/ic-typography2.js.map +1 -1
  395. package/dist/core/core.css +899 -123
  396. package/dist/core/core.esm.js +1 -1
  397. package/dist/core/core.esm.js.map +1 -1
  398. package/dist/core/{p-2ef46ead.entry.js → p-07cd8a50.entry.js} +2 -2
  399. package/dist/core/p-07cd8a50.entry.js.map +1 -0
  400. package/dist/core/p-0821fc5b.entry.js +2 -0
  401. package/dist/core/p-0821fc5b.entry.js.map +1 -0
  402. package/dist/core/p-0b8c3770.entry.js +2 -0
  403. package/dist/core/p-0b8c3770.entry.js.map +1 -0
  404. package/dist/core/p-0d505c1f.entry.js +2 -0
  405. package/dist/core/p-0d505c1f.entry.js.map +1 -0
  406. package/dist/core/p-1234f7a5.entry.js +2 -0
  407. package/dist/core/p-1234f7a5.entry.js.map +1 -0
  408. package/dist/core/{p-c9cf932c.entry.js → p-193582d4.entry.js} +2 -2
  409. package/dist/core/p-193582d4.entry.js.map +1 -0
  410. package/dist/core/p-225384ab.entry.js +2 -0
  411. package/dist/core/p-225384ab.entry.js.map +1 -0
  412. package/dist/core/{p-d93bac01.entry.js → p-3420a999.entry.js} +2 -2
  413. package/dist/core/p-3420a999.entry.js.map +1 -0
  414. package/dist/core/{p-d4a83e25.entry.js → p-3994d86d.entry.js} +2 -2
  415. package/dist/core/p-3994d86d.entry.js.map +1 -0
  416. package/dist/core/p-3bfc4a52.entry.js +2 -0
  417. package/dist/core/p-3bfc4a52.entry.js.map +1 -0
  418. package/dist/core/p-3cfef37a.entry.js +2 -0
  419. package/dist/core/p-3cfef37a.entry.js.map +1 -0
  420. package/dist/core/{p-95f603dd.entry.js → p-406e58af.entry.js} +2 -2
  421. package/dist/core/p-406e58af.entry.js.map +1 -0
  422. package/dist/core/p-48e98730.js +2 -0
  423. package/dist/core/p-48e98730.js.map +1 -0
  424. package/dist/core/{p-5cd016e1.entry.js → p-4af52174.entry.js} +2 -2
  425. package/dist/core/p-4af52174.entry.js.map +1 -0
  426. package/dist/core/{p-f5b2b26d.entry.js → p-4dc48606.entry.js} +2 -2
  427. package/dist/core/{p-7bff1e96.entry.js → p-4f72a02a.entry.js} +2 -2
  428. package/dist/core/p-4f72a02a.entry.js.map +1 -0
  429. package/dist/core/p-518ea375.entry.js +2 -0
  430. package/dist/core/p-518ea375.entry.js.map +1 -0
  431. package/dist/core/p-520c6089.entry.js +2 -0
  432. package/dist/core/p-520c6089.entry.js.map +1 -0
  433. package/dist/core/p-580b1593.entry.js +2 -0
  434. package/dist/core/p-580b1593.entry.js.map +1 -0
  435. package/dist/core/p-59800237.entry.js +2 -0
  436. package/dist/core/p-59800237.entry.js.map +1 -0
  437. package/dist/core/{p-acbd15ab.entry.js → p-5ba8e679.entry.js} +2 -2
  438. package/dist/core/p-5ba8e679.entry.js.map +1 -0
  439. package/dist/core/p-5d417fc0.entry.js +2 -0
  440. package/dist/core/p-5d417fc0.entry.js.map +1 -0
  441. package/dist/core/{p-922984cb.entry.js → p-5d653608.entry.js} +2 -2
  442. package/dist/core/p-61510f00.entry.js +2 -0
  443. package/dist/core/p-61510f00.entry.js.map +1 -0
  444. package/dist/core/p-6159b077.entry.js +2 -0
  445. package/dist/core/p-6159b077.entry.js.map +1 -0
  446. package/dist/core/p-6859019c.entry.js +2 -0
  447. package/dist/core/p-6859019c.entry.js.map +1 -0
  448. package/dist/core/p-705db6a5.entry.js +2 -0
  449. package/dist/core/p-705db6a5.entry.js.map +1 -0
  450. package/dist/core/{p-7b35de65.entry.js → p-7124b387.entry.js} +2 -2
  451. package/dist/core/p-810744b5.entry.js +2 -0
  452. package/dist/core/p-810744b5.entry.js.map +1 -0
  453. package/dist/core/p-810f5a2d.entry.js +2 -0
  454. package/dist/core/p-810f5a2d.entry.js.map +1 -0
  455. package/dist/core/p-8a2670c1.entry.js +2 -0
  456. package/dist/core/p-8a2670c1.entry.js.map +1 -0
  457. package/dist/core/{p-29767574.entry.js → p-91c1327d.entry.js} +2 -2
  458. package/dist/core/p-98dbbb34.entry.js +2 -0
  459. package/dist/core/p-98dbbb34.entry.js.map +1 -0
  460. package/dist/core/p-9c1d4f72.entry.js +2 -0
  461. package/dist/core/p-9c1d4f72.entry.js.map +1 -0
  462. package/dist/core/{p-428f95f8.entry.js → p-a23c515d.entry.js} +2 -2
  463. package/dist/core/p-a23c515d.entry.js.map +1 -0
  464. package/dist/core/p-a24bcf5f.entry.js +2 -0
  465. package/dist/core/p-a24bcf5f.entry.js.map +1 -0
  466. package/dist/core/p-aefebee9.entry.js +2 -0
  467. package/dist/core/p-aefebee9.entry.js.map +1 -0
  468. package/dist/core/{p-806a0fab.entry.js → p-b27dfa1b.entry.js} +2 -2
  469. package/dist/core/{p-690c5e80.entry.js → p-b2a41070.entry.js} +2 -2
  470. package/dist/core/{p-ef78bebc.entry.js → p-b51e378c.entry.js} +2 -2
  471. package/dist/core/p-b51e378c.entry.js.map +1 -0
  472. package/dist/core/{p-a9341313.entry.js → p-b5439baa.entry.js} +2 -2
  473. package/dist/core/p-b9aa801f.entry.js +2 -0
  474. package/dist/core/p-b9aa801f.entry.js.map +1 -0
  475. package/dist/core/{p-4a3b1f06.entry.js → p-bc7b8a1e.entry.js} +2 -2
  476. package/dist/core/p-bc7b8a1e.entry.js.map +1 -0
  477. package/dist/core/{p-cedc375e.entry.js → p-c2b359d9.entry.js} +2 -2
  478. package/dist/core/p-c2b359d9.entry.js.map +1 -0
  479. package/dist/core/{p-ee6dd94c.entry.js → p-c67f7603.entry.js} +2 -2
  480. package/dist/core/p-c6e91e13.entry.js +2 -0
  481. package/dist/core/p-c6e91e13.entry.js.map +1 -0
  482. package/dist/core/p-c83e933c.entry.js +2 -0
  483. package/dist/core/p-c83e933c.entry.js.map +1 -0
  484. package/dist/core/p-ca27ab19.entry.js +2 -0
  485. package/dist/core/p-ca27ab19.entry.js.map +1 -0
  486. package/dist/core/p-cfe32b37.entry.js +2 -0
  487. package/dist/core/p-cfe32b37.entry.js.map +1 -0
  488. package/dist/core/p-d2909711.entry.js +2 -0
  489. package/dist/core/p-d2909711.entry.js.map +1 -0
  490. package/dist/core/p-da85eaf6.entry.js +2 -0
  491. package/dist/core/p-da85eaf6.entry.js.map +1 -0
  492. package/dist/core/p-dcb2073d.entry.js +2 -0
  493. package/dist/core/p-dcb2073d.entry.js.map +1 -0
  494. package/dist/core/{p-705eb610.entry.js → p-ded2dbed.entry.js} +2 -2
  495. package/dist/core/p-ded2dbed.entry.js.map +1 -0
  496. package/dist/core/p-f42c0469.entry.js +2 -0
  497. package/dist/core/p-f42c0469.entry.js.map +1 -0
  498. package/dist/esm/core.js +1 -1
  499. package/dist/esm/{helpers-e8797e8d.js → helpers-e594bfc6.js} +31 -26
  500. package/dist/esm/helpers-e594bfc6.js.map +1 -0
  501. package/dist/esm/ic-accordion-group.entry.js +1 -1
  502. package/dist/esm/ic-accordion.entry.js +8 -1
  503. package/dist/esm/ic-accordion.entry.js.map +1 -1
  504. package/dist/esm/ic-alert.entry.js +4 -4
  505. package/dist/esm/ic-alert.entry.js.map +1 -1
  506. package/dist/esm/ic-back-to-top.entry.js +9 -6
  507. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  508. package/dist/esm/ic-badge.entry.js +3 -3
  509. package/dist/esm/ic-badge.entry.js.map +1 -1
  510. package/dist/esm/ic-breadcrumb-group.entry.js +43 -20
  511. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  512. package/dist/esm/ic-breadcrumb.entry.js +2 -2
  513. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  514. package/dist/esm/ic-button_3.entry.js +18 -17
  515. package/dist/esm/ic-button_3.entry.js.map +1 -1
  516. package/dist/esm/ic-card-vertical.entry.js +20 -10
  517. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  518. package/dist/esm/ic-checkbox-group.entry.js +5 -1
  519. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  520. package/dist/esm/ic-checkbox.entry.js +5 -1
  521. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  522. package/dist/esm/ic-chip.entry.js +9 -4
  523. package/dist/esm/ic-chip.entry.js.map +1 -1
  524. package/dist/esm/ic-data-row.entry.js +1 -1
  525. package/dist/esm/ic-dialog.entry.js +2 -2
  526. package/dist/esm/ic-dialog.entry.js.map +1 -1
  527. package/dist/esm/ic-divider.entry.js +3 -3
  528. package/dist/esm/ic-divider.entry.js.map +1 -1
  529. package/dist/esm/ic-empty-state.entry.js +1 -1
  530. package/dist/esm/ic-footer-link-group.entry.js +6 -7
  531. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  532. package/dist/esm/ic-footer-link.entry.js +4 -5
  533. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  534. package/dist/esm/ic-footer.entry.js +7 -8
  535. package/dist/esm/ic-footer.entry.js.map +1 -1
  536. package/dist/esm/ic-hero.entry.js +6 -7
  537. package/dist/esm/ic-hero.entry.js.map +1 -1
  538. package/dist/esm/ic-horizontal-scroll.entry.js +14 -7
  539. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  540. package/dist/esm/ic-input-component-container_3.entry.js +22 -25
  541. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  542. package/dist/esm/ic-input-label_2.entry.js +21 -25
  543. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  544. package/dist/esm/ic-link.entry.js +10 -12
  545. package/dist/esm/ic-link.entry.js.map +1 -1
  546. package/dist/esm/ic-menu-group.entry.js +1 -1
  547. package/dist/esm/ic-menu-item.entry.js +16 -9
  548. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  549. package/dist/esm/ic-navigation-button.entry.js +11 -8
  550. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  551. package/dist/esm/ic-navigation-group.entry.js +7 -6
  552. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  553. package/dist/esm/ic-navigation-item.entry.js +31 -6
  554. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  555. package/dist/esm/ic-navigation-menu.entry.js +5 -4
  556. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  557. package/dist/esm/ic-page-header.entry.js +5 -3
  558. package/dist/esm/ic-page-header.entry.js.map +1 -1
  559. package/dist/esm/ic-pagination-item.entry.js +5 -1
  560. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  561. package/dist/esm/ic-pagination.entry.js +9 -23
  562. package/dist/esm/ic-pagination.entry.js.map +1 -1
  563. package/dist/esm/ic-popover-menu.entry.js +6 -6
  564. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  565. package/dist/esm/ic-radio-group.entry.js +9 -1
  566. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  567. package/dist/esm/ic-radio-option.entry.js +5 -1
  568. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  569. package/dist/esm/ic-search-bar.entry.js +10 -6
  570. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  571. package/dist/esm/ic-select.entry.js +18 -14
  572. package/dist/esm/ic-select.entry.js.map +1 -1
  573. package/dist/esm/ic-side-navigation.entry.js +14 -10
  574. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  575. package/dist/esm/ic-status-tag.entry.js +5 -4
  576. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  577. package/dist/esm/ic-step.entry.js +1 -1
  578. package/dist/esm/ic-stepper.entry.js +1 -1
  579. package/dist/esm/ic-switch.entry.js +7 -3
  580. package/dist/esm/ic-switch.entry.js.map +1 -1
  581. package/dist/esm/ic-tab-group.entry.js +3 -19
  582. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  583. package/dist/esm/ic-tab-panel.entry.js +1 -1
  584. package/dist/esm/ic-tab.entry.js +5 -2
  585. package/dist/esm/ic-tab.entry.js.map +1 -1
  586. package/dist/esm/ic-text-field.entry.js +37 -19
  587. package/dist/esm/ic-text-field.entry.js.map +1 -1
  588. package/dist/esm/ic-theme.entry.js +20 -20
  589. package/dist/esm/ic-theme.entry.js.map +1 -1
  590. package/dist/esm/ic-toast.entry.js +1 -1
  591. package/dist/esm/ic-toggle-button-group.entry.js +31 -4
  592. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  593. package/dist/esm/ic-toggle-button.entry.js +15 -6
  594. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  595. package/dist/esm/ic-top-navigation.entry.js +13 -7
  596. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  597. package/dist/esm/ic-typography.entry.js +2 -2
  598. package/dist/esm/ic-typography.entry.js.map +1 -1
  599. package/dist/esm/loader.js +1 -1
  600. package/dist/types/components/ic-accordion/ic-accordion.d.ts +2 -0
  601. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +5 -0
  602. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +1 -0
  603. package/dist/types/components/ic-button/ic-button.d.ts +10 -6
  604. package/dist/types/components/ic-card-vertical/ic-card-vertical.d.ts +4 -3
  605. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +1 -0
  606. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +1 -0
  607. package/dist/types/components/ic-chip/ic-chip.d.ts +5 -0
  608. package/dist/types/components/ic-divider/ic-divider.d.ts +4 -4
  609. package/dist/types/components/ic-footer/ic-footer.d.ts +3 -3
  610. package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +3 -3
  611. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +3 -3
  612. package/dist/types/components/ic-hero/ic-hero.d.ts +3 -3
  613. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +8 -2
  614. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +2 -4
  615. package/dist/types/components/ic-input-label/ic-input-label.d.ts +0 -4
  616. package/dist/types/components/ic-link/ic-link.d.ts +2 -2
  617. package/dist/types/components/ic-menu/ic-menu.d.ts +1 -1
  618. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +11 -4
  619. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +7 -3
  620. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +7 -3
  621. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +9 -3
  622. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +5 -0
  623. package/dist/types/components/ic-page-header/ic-page-header.d.ts +5 -1
  624. package/dist/types/components/ic-pagination/ic-pagination.d.ts +1 -4
  625. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +1 -0
  626. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +3 -6
  627. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +1 -0
  628. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +1 -0
  629. package/dist/types/components/ic-select/ic-select.d.ts +7 -2
  630. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +3 -3
  631. package/dist/types/components/ic-side-navigation/ic-side-navigation.types.d.ts +2 -2
  632. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +4 -0
  633. package/dist/types/components/ic-switch/ic-switch.d.ts +1 -0
  634. package/dist/types/components/ic-tab/ic-tab.d.ts +1 -0
  635. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +0 -4
  636. package/dist/types/components/ic-text-field/ic-text-field.d.ts +10 -3
  637. package/dist/types/components/ic-theme/ic-theme.d.ts +8 -8
  638. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +10 -5
  639. package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.d.ts +12 -5
  640. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +7 -3
  641. package/dist/types/components.d.ts +180 -68
  642. package/dist/types/utils/helpers.d.ts +12 -8
  643. package/dist/types/utils/types.d.ts +5 -5
  644. package/hydrate/index.js +536 -362
  645. package/package.json +4 -2
  646. package/vscode-data.json +211 -76
  647. package/dist/cjs/helpers-69219f14.js.map +0 -1
  648. package/dist/core/p-13d5875c.entry.js +0 -2
  649. package/dist/core/p-13d5875c.entry.js.map +0 -1
  650. package/dist/core/p-19872973.entry.js +0 -2
  651. package/dist/core/p-19872973.entry.js.map +0 -1
  652. package/dist/core/p-2140431c.entry.js +0 -2
  653. package/dist/core/p-2140431c.entry.js.map +0 -1
  654. package/dist/core/p-2e909738.entry.js +0 -2
  655. package/dist/core/p-2e909738.entry.js.map +0 -1
  656. package/dist/core/p-2eae9b27.entry.js +0 -2
  657. package/dist/core/p-2eae9b27.entry.js.map +0 -1
  658. package/dist/core/p-2ef46ead.entry.js.map +0 -1
  659. package/dist/core/p-37dea10d.entry.js +0 -2
  660. package/dist/core/p-37dea10d.entry.js.map +0 -1
  661. package/dist/core/p-3d9726a3.entry.js +0 -2
  662. package/dist/core/p-3d9726a3.entry.js.map +0 -1
  663. package/dist/core/p-428f95f8.entry.js.map +0 -1
  664. package/dist/core/p-4973c563.entry.js +0 -2
  665. package/dist/core/p-4973c563.entry.js.map +0 -1
  666. package/dist/core/p-4a3b1f06.entry.js.map +0 -1
  667. package/dist/core/p-5cd016e1.entry.js.map +0 -1
  668. package/dist/core/p-5ef8e106.entry.js +0 -2
  669. package/dist/core/p-5ef8e106.entry.js.map +0 -1
  670. package/dist/core/p-5f4a6555.entry.js +0 -2
  671. package/dist/core/p-5f4a6555.entry.js.map +0 -1
  672. package/dist/core/p-605c0c92.entry.js +0 -2
  673. package/dist/core/p-605c0c92.entry.js.map +0 -1
  674. package/dist/core/p-655a9e0f.entry.js +0 -2
  675. package/dist/core/p-655a9e0f.entry.js.map +0 -1
  676. package/dist/core/p-65a16de9.entry.js +0 -2
  677. package/dist/core/p-65a16de9.entry.js.map +0 -1
  678. package/dist/core/p-705eb610.entry.js.map +0 -1
  679. package/dist/core/p-76263187.entry.js +0 -2
  680. package/dist/core/p-76263187.entry.js.map +0 -1
  681. package/dist/core/p-78c1f1cc.entry.js +0 -2
  682. package/dist/core/p-78c1f1cc.entry.js.map +0 -1
  683. package/dist/core/p-79d0be03.entry.js +0 -2
  684. package/dist/core/p-79d0be03.entry.js.map +0 -1
  685. package/dist/core/p-7bff1e96.entry.js.map +0 -1
  686. package/dist/core/p-85173458.entry.js +0 -2
  687. package/dist/core/p-85173458.entry.js.map +0 -1
  688. package/dist/core/p-95f603dd.entry.js.map +0 -1
  689. package/dist/core/p-979c2792.entry.js +0 -2
  690. package/dist/core/p-979c2792.entry.js.map +0 -1
  691. package/dist/core/p-97fb2bdf.entry.js +0 -2
  692. package/dist/core/p-97fb2bdf.entry.js.map +0 -1
  693. package/dist/core/p-9ec7f96c.entry.js +0 -2
  694. package/dist/core/p-9ec7f96c.entry.js.map +0 -1
  695. package/dist/core/p-9fa93dfe.entry.js +0 -2
  696. package/dist/core/p-9fa93dfe.entry.js.map +0 -1
  697. package/dist/core/p-acbd15ab.entry.js.map +0 -1
  698. package/dist/core/p-ae0775aa.entry.js +0 -2
  699. package/dist/core/p-ae0775aa.entry.js.map +0 -1
  700. package/dist/core/p-b7eb8ef9.js +0 -2
  701. package/dist/core/p-b7eb8ef9.js.map +0 -1
  702. package/dist/core/p-ba6ecc15.entry.js +0 -2
  703. package/dist/core/p-ba6ecc15.entry.js.map +0 -1
  704. package/dist/core/p-bbeb03ef.entry.js +0 -2
  705. package/dist/core/p-bbeb03ef.entry.js.map +0 -1
  706. package/dist/core/p-c0fc3d02.entry.js +0 -2
  707. package/dist/core/p-c0fc3d02.entry.js.map +0 -1
  708. package/dist/core/p-c396bd4d.entry.js +0 -2
  709. package/dist/core/p-c396bd4d.entry.js.map +0 -1
  710. package/dist/core/p-c9cf932c.entry.js.map +0 -1
  711. package/dist/core/p-cedc375e.entry.js.map +0 -1
  712. package/dist/core/p-d4a83e25.entry.js.map +0 -1
  713. package/dist/core/p-d93bac01.entry.js.map +0 -1
  714. package/dist/core/p-eb3b4935.entry.js +0 -2
  715. package/dist/core/p-eb3b4935.entry.js.map +0 -1
  716. package/dist/core/p-ebafab37.entry.js +0 -2
  717. package/dist/core/p-ebafab37.entry.js.map +0 -1
  718. package/dist/core/p-ef78bebc.entry.js.map +0 -1
  719. package/dist/core/p-f0ae2b99.entry.js +0 -2
  720. package/dist/core/p-f0ae2b99.entry.js.map +0 -1
  721. package/dist/core/p-f24984c5.entry.js +0 -2
  722. package/dist/core/p-f24984c5.entry.js.map +0 -1
  723. package/dist/core/p-f71c00ce.entry.js +0 -2
  724. package/dist/core/p-f71c00ce.entry.js.map +0 -1
  725. package/dist/core/p-fdd0b732.entry.js +0 -2
  726. package/dist/core/p-fdd0b732.entry.js.map +0 -1
  727. package/dist/esm/helpers-e8797e8d.js.map +0 -1
  728. /package/dist/core/{p-f5b2b26d.entry.js.map → p-4dc48606.entry.js.map} +0 -0
  729. /package/dist/core/{p-922984cb.entry.js.map → p-5d653608.entry.js.map} +0 -0
  730. /package/dist/core/{p-7b35de65.entry.js.map → p-7124b387.entry.js.map} +0 -0
  731. /package/dist/core/{p-29767574.entry.js.map → p-91c1327d.entry.js.map} +0 -0
  732. /package/dist/core/{p-806a0fab.entry.js.map → p-b27dfa1b.entry.js.map} +0 -0
  733. /package/dist/core/{p-690c5e80.entry.js.map → p-b2a41070.entry.js.map} +0 -0
  734. /package/dist/core/{p-a9341313.entry.js.map → p-b5439baa.entry.js.map} +0 -0
  735. /package/dist/core/{p-ee6dd94c.entry.js.map → p-c67f7603.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["icSwitchCss","inputIds","Switch","this","inputId","handleChange","checkedState","icChange","emit","checked","value","onFocus","icFocus","onBlur","icBlur","handleFormReset","initiallyChecked","checkedChangeHandler","disconnectedCallback","removeFormResetListener","el","componentWillLoad","addFormResetListener","removeDisabledFalse","disabled","componentDidLoad","onComponentRequiredPropUndefined","prop","label","propName","setFocus","shadowRoot","querySelector","focus","render","size","name","showState","hideLabel","helperText","theme","renderHiddenInput","describedBy","getInputDescribedByText","h","Host","class","htmlFor","for","readonly","role","type","id","onChange","focusable","viewBox","xmlns","x1","y1","x2","y2","fill","cx","cy","r","variant"],"sources":["src/components/ic-switch/ic-switch.css?tag=ic-switch&encapsulation=shadow","src/components/ic-switch/ic-switch.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: inline-block;\n}\n\ninput {\n overflow: hidden;\n appearance: none;\n}\n\n.ic-switch-container {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: var(--ic-space-xxs);\n cursor: pointer;\n}\n\n.ic-switch-label {\n margin-left: var(--ic-space-xxs);\n margin-bottom: var(--ic-space-sm);\n}\n\n.ic-switch-label-small {\n margin-bottom: 0.625rem;\n}\n\n.ic-switch-toggle {\n display: flex;\n align-items: center;\n justify-content: space-around;\n width: 4rem;\n height: var(--ic-space-xl);\n position: relative;\n border-radius: 100vw;\n background-color: var(--ic-switch-unchecked-bg);\n border: var(--ic-border-width) solid var(--ic-switch-unchecked);\n box-sizing: border-box;\n transition: var(--ic-transition-duration-fast);\n}\n\n.ic-switch-line-break {\n flex: 1 0 100%;\n}\n\n.ic-switch-checked-status {\n padding-left: var(--ic-space-xxs);\n width: var(--ic-space-lg);\n color: var(--ic-switch-help-text);\n}\n\n.ic-switch-toggle::before {\n content: \"\";\n width: 1.333rem;\n height: 1.333rem;\n border-radius: 50%;\n position: absolute;\n z-index: 2;\n top: 50%;\n left: 0.333rem;\n transform: translate(0, -50%);\n background-color: var(--ic-switch-unchecked);\n transition: var(--ic-transition-duration-slow);\n}\n\n.ic-switch-icon {\n display: inline-block;\n vertical-align: middle;\n width: 0.625rem;\n height: 0.625rem;\n}\n\n.ic-switch-icon-circle,\n.ic-switch-icon-line {\n stroke-width: 1;\n}\n\n.ic-switch-icon-circle {\n stroke: var(--ic-switch-indicator-off);\n}\n\n.ic-switch-icon-line {\n stroke: var(--ic-switch-indicator-on);\n}\n\n@media (prefers-reduced-motion: reduce) {\n .ic-switch-toggle::before {\n transition-duration: 0ms;\n }\n}\n\n.ic-switch-input:checked + .ic-switch-toggle {\n background-color: var(--ic-switch-checked-bg);\n border: none;\n}\n\n.ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(var(--ic-space-xl), -50%);\n background-color: var(--ic-switch-checked);\n}\n\n.ic-switch-input:not([disabled]) + .ic-switch-toggle:hover::before {\n box-shadow: 0 0 0 0.75rem var(--ic-switch-unchecked-bg-hover);\n}\n\n.ic-switch-input:not([disabled]) + .ic-switch-toggle:active::before {\n box-shadow: 0 0 0 0.75rem var(--ic-switch-unchecked-bg-pressed);\n}\n\n.ic-switch-input:not([disabled]):checked + .ic-switch-toggle:hover::before {\n box-shadow: 0 0 0 0.75rem var(--ic-switch-checked-bg-hover);\n}\n\n.ic-switch-input:not([disabled]):checked + .ic-switch-toggle:active::before {\n box-shadow: 0 0 0 0.75rem var(--ic-switch-checked-bg-pressed);\n}\n\n.ic-switch-input:focus:not([disabled]) + .ic-switch-toggle,\n.ic-switch-input:focus-visible:not([disabled]) + .ic-switch-toggle {\n box-shadow: var(--ic-border-focus);\n}\n\n.ic-switch-disabled {\n cursor: default;\n}\n\n.ic-switch-disabled .ic-switch-icon-circle {\n stroke: var(--ic-switch-indicator-off-disabled);\n}\n\n.ic-switch-disabled .ic-switch-icon-line {\n stroke: var(--ic-switch-indicator-on-disabled);\n}\n\n.ic-switch-input:disabled + .ic-switch-toggle {\n background-color: var(--ic-switch-unchecked-bg-disabled);\n border: var(--ic-space-1px) dashed var(--ic-switch-unchecked-outline-disabled);\n}\n\n.ic-switch-input:disabled ~ .ic-switch-checked-status {\n color: var(--ic-architectural-300);\n}\n\n.ic-switch-input:disabled + .ic-switch-toggle::before {\n background-color: var(--ic-switch-unchecked-disabled);\n}\n\n.ic-switch-input:disabled:checked + .ic-switch-toggle {\n background-color: var(--ic-switch-checked-bg-disabled);\n border: var(--ic-border-width) dashed\n var(--ic-switch-checked-outline-disabled);\n}\n\n.ic-switch-input:disabled:checked + .ic-switch-toggle::before {\n background-color: var(--ic-switch-checked);\n}\n\n.ic-switch-small {\n gap: var(--ic-space-xxxs);\n}\n\n.ic-switch-small .ic-switch-checked-status {\n padding-left: 0.375rem;\n}\n\n.ic-switch-small .ic-switch-toggle {\n width: var(--ic-space-xxl);\n height: var(--ic-space-lg);\n}\n\n.ic-switch-small .ic-switch-toggle::before {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n left: var(--ic-space-xxs);\n}\n\n.ic-switch-small .ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(var(--ic-space-lg), -50%);\n}\n\n::slotted(*) {\n margin-left: var(--ic-space-sm);\n}\n\n::slotted(svg) {\n fill: var(--ic-switch-icon);\n}\n\n@media (forced-colors: active) {\n .ic-switch-toggle::before,\n .ic-switch-input:checked + .ic-switch-toggle {\n border: var(--ic-border-hc);\n }\n\n .ic-switch-input:focus + .ic-switch-toggle {\n border-color: highlight;\n outline: var(--ic-space-xxxs) solid highlight;\n }\n\n .ic-switch-input:checked + .ic-switch-toggle::before {\n transform: translate(calc(var(--ic-space-xl) - 0.125rem), -50%);\n }\n\n .ic-switch-input:disabled + .ic-switch-toggle,\n .ic-switch-input:disabled:checked + .ic-switch-toggle,\n .ic-switch-input:disabled + .ic-switch-toggle::before {\n border-color: GrayText;\n }\n\n .ic-switch-input:disabled ~ .ic-switch-checked-status {\n color: GrayText;\n }\n\n .ic-switch-disabled .ic-switch-icon-circle,\n .ic-switch-disabled .ic-switch-icon-line {\n stroke: GrayText;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport { IcSwitchChangeEventDetail } from \"./ic-switch.types\";\nimport { IcSizesNoLarge, IcThemeMode } from \"../../utils/types\";\n\nlet inputIds = 0;\n\n/**\n * @slot right-adornment - Content is placed to the right of switch before state label.\n */\n@Component({\n tag: \"ic-switch\",\n styleUrl: \"ic-switch.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Switch {\n private inputId = `ic-switch-input-${inputIds++}`;\n\n @Element() el: HTMLIcSwitchElement;\n\n @State() checkedState: boolean = false;\n @State() initiallyChecked = this.checked;\n\n /**\n * If `true`, the switch will display as checked.\n */\n @Prop() checked?: boolean = false;\n\n @Watch(\"checked\")\n checkedChangeHandler(): void {\n this.checkedState = this.checked;\n }\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText?: string = \"\";\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel?: boolean = false;\n\n /**\n * The aria-label applied to the switch when no visual 'name' is provided.\n */\n @Prop() label!: string;\n\n /**\n * The name of the control, which is submitted with the form data.\n */\n @Prop() name?: string = this.inputId;\n\n /**\n * If `true`, the switch will render the On/Off state text.\n */\n @Prop() showState?: boolean = false;\n\n /**\n * The size of the switch component.\n */\n @Prop() size?: IcSizesNoLarge = \"medium\";\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 of the toggle does not mean if it's checked or not, use the `checked`\n * property for that.\n *\n * The value of a toggle is analogous to the value of a `<input type=\"checkbox\">`,\n * it's only used when the toggle participates in a native `<form>`.\n */\n @Prop() value?: string | null = \"on\";\n\n /**\n * Emitted when the toggle loses focus.\n */\n @Event() icBlur!: EventEmitter<void>;\n\n /**\n * Emitted when the value property has changed.\n */\n @Event() icChange!: EventEmitter<IcSwitchChangeEventDetail>;\n\n /**\n * Emitted when the toggle has focus.\n */\n @Event() icFocus!: EventEmitter<void>;\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n componentWillLoad(): void {\n this.checkedState = this.checked;\n addFormResetListener(this.el, this.handleFormReset);\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Switch\"\n );\n }\n\n /**\n * Sets focus on the switch.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.el.shadowRoot.querySelector(\"input\")) {\n this.el.shadowRoot.querySelector(\"input\").focus();\n }\n }\n\n private handleChange = () => {\n this.checkedState = !this.checkedState;\n this.icChange.emit({\n checked: this.checkedState,\n value: this.value,\n });\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = () => {\n this.icBlur.emit();\n };\n\n private handleFormReset = (): void => {\n this.checkedState = this.initiallyChecked;\n };\n\n render() {\n const {\n label,\n checkedState,\n size,\n disabled,\n name,\n showState,\n value,\n hideLabel,\n helperText,\n inputId,\n theme,\n } = this;\n\n renderHiddenInput(true, this.el, name, checkedState ? value : \"\", disabled);\n\n const describedBy = getInputDescribedByText(\n inputId,\n helperText !== \"\",\n false\n );\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <label\n class={{\n [\"ic-switch-container\"]: true,\n [\"ic-switch-disabled\"]: disabled,\n [\"ic-switch-small\"]: size === \"small\",\n }}\n htmlFor={inputId}\n >\n {!hideLabel && (\n <ic-input-label\n for={inputId}\n label={label}\n helperText={helperText}\n readonly={true}\n disabled={disabled}\n class={{\n [\"ic-switch-label\"]: true,\n [\"ic-switch-label-small\"]: size === \"small\",\n }}\n ></ic-input-label>\n )}\n {!hideLabel && <span class=\"ic-switch-line-break\"></span>}\n <input\n checked={checkedState}\n disabled={disabled}\n aria-label={label}\n aria-checked={checkedState ? \"true\" : \"false\"}\n aria-describedby={describedBy}\n role=\"switch\"\n class=\"ic-switch-input\"\n type=\"checkbox\"\n name=\"toggle\"\n id={inputId}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n onChange={this.handleChange}\n />\n <span class=\"ic-switch-toggle\">\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <line\n class=\"ic-switch-icon-line\"\n x1=\"9\"\n y1={size === \"small\" ? \"2\" : \"1\"}\n x2=\"9\"\n y2={size === \"small\" ? \"8\" : \"9\"}\n />\n </svg>\n <svg\n class=\"ic-switch-icon\"\n aria-hidden=\"true\"\n focusable=\"false\"\n viewBox=\"0 0 10 10\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <circle\n class=\"ic-switch-icon-circle\"\n fill=\"none\"\n cx=\"5\"\n cy=\"5\"\n r={size === \"small\" ? \"3.335\" : \"4.445\"}\n />\n </svg>\n </span>\n <slot name=\"right-adornment\"></slot>\n {showState && (\n <ic-typography\n aria-hidden=\"true\"\n variant=\"label\"\n class=\"ic-switch-checked-status\"\n >\n {checkedState ? \"On\" : \"Off\"}\n </ic-typography>\n )}\n </label>\n </Host>\n );\n }\n}\n"],"mappings":"6HAAA,MAAMA,EAAc,urNCuBpB,IAAIC,EAAW,E,MAYFC,EAAM,M,4HACTC,KAAAC,QAAU,mBAAmBH,MA4G7BE,KAAAE,aAAe,KACrBF,KAAKG,cAAgBH,KAAKG,aAC1BH,KAAKI,SAASC,KAAK,CACjBC,QAASN,KAAKG,aACdI,MAAOP,KAAKO,OACZ,EAGIP,KAAAQ,QAAU,KAChBR,KAAKS,QAAQJ,MAAM,EAGbL,KAAAU,OAAS,KACfV,KAAKW,OAAON,MAAM,EAGZL,KAAAY,gBAAkB,KACxBZ,KAAKG,aAAeH,KAAKa,gBAAgB,E,kBAzHV,M,sBACLb,KAAKM,Q,aAKL,M,cAUC,M,gBAKC,G,eAKA,M,+BAUNN,KAAKC,Q,eAKC,M,UAKE,S,WAKF,U,WASE,I,CAnDhC,oBAAAa,GACEd,KAAKG,aAAeH,KAAKM,O,CAmE3B,oBAAAS,GACEC,EAAwBhB,KAAKiB,GAAIjB,KAAKY,gB,CAGxC,iBAAAM,GACElB,KAAKG,aAAeH,KAAKM,QACzBa,EAAqBnB,KAAKiB,GAAIjB,KAAKY,iBACnCQ,EAAoBpB,KAAKqB,SAAUrB,KAAKiB,G,CAG1C,gBAAAK,GACEC,EACE,CAAC,CAAEC,KAAMxB,KAAKyB,MAAOC,SAAU,UAC/B,S,CAQJ,cAAMC,GACJ,GAAI3B,KAAKiB,GAAGW,WAAWC,cAAc,SAAU,CAC7C7B,KAAKiB,GAAGW,WAAWC,cAAc,SAASC,O,EAwB9C,MAAAC,GACE,MAAMN,MACJA,EAAKtB,aACLA,EAAY6B,KACZA,EAAIX,SACJA,EAAQY,KACRA,EAAIC,UACJA,EAAS3B,MACTA,EAAK4B,UACLA,EAASC,WACTA,EAAUnC,QACVA,EAAOoC,MACPA,GACErC,KAEJsC,EAAkB,KAAMtC,KAAKiB,GAAIgB,EAAM9B,EAAeI,EAAQ,GAAIc,GAElE,MAAMkB,EAAcC,EAClBvC,EACAmC,IAAe,GACf,OAGF,OACEK,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,YAAYN,KAAUA,IAAU,YAGnCI,EAAA,SACEE,MAAO,CACL,CAAC,uBAAwB,KACzB,CAAC,sBAAuBtB,EACxB,CAAC,mBAAoBW,IAAS,SAEhCY,QAAS3C,IAEPkC,GACAM,EAAA,kBACEI,IAAK5C,EACLwB,MAAOA,EACPW,WAAYA,EACZU,SAAU,KACVzB,SAAUA,EACVsB,MAAO,CACL,CAAC,mBAAoB,KACrB,CAAC,yBAA0BX,IAAS,YAIxCG,GAAaM,EAAA,QAAME,MAAM,yBAC3BF,EAAA,SACEnC,QAASH,EACTkB,SAAUA,EAAQ,aACNI,EAAK,eACHtB,EAAe,OAAS,QAAO,mBAC3BoC,EAClBQ,KAAK,SACLJ,MAAM,kBACNK,KAAK,WACLf,KAAK,SACLgB,GAAIhD,EACJO,QAASR,KAAKQ,QACdE,OAAQV,KAAKU,OACbwC,SAAUlD,KAAKE,eAEjBuC,EAAA,QAAME,MAAM,oBACVF,EAAA,OACEE,MAAM,iBAAgB,cACV,OACZQ,UAAU,QACVC,QAAQ,YACRC,MAAM,8BAENZ,EAAA,QACEE,MAAM,sBACNW,GAAG,IACHC,GAAIvB,IAAS,QAAU,IAAM,IAC7BwB,GAAG,IACHC,GAAIzB,IAAS,QAAU,IAAM,OAGjCS,EAAA,OACEE,MAAM,iBAAgB,cACV,OACZQ,UAAU,QACVC,QAAQ,YACRC,MAAM,8BAENZ,EAAA,UACEE,MAAM,wBACNe,KAAK,OACLC,GAAG,IACHC,GAAG,IACHC,EAAG7B,IAAS,QAAU,QAAU,YAItCS,EAAA,QAAMR,KAAK,oBACVC,GACCO,EAAA,+BACc,OACZqB,QAAQ,QACRnB,MAAM,4BAELxC,EAAe,KAAO,Q"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icCheckboxGroupCss","CheckboxGroup","this","checkboxSelector","labelNameHandler","newValue","oldValue","propName","Array","from","el","querySelectorAll","forEach","checkbox","groupLabel","name","watchThemeHandler","theme","handleChange","ev","target","tagName","stopImmediatePropagation","componentWillLoad","removeDisabledFalse","disabled","componentDidLoad","onComponentRequiredPropUndefined","prop","label","selectHandler","checkedOptions","filter","checked","icChange","emit","value","map","opt","textFieldValue","_a","querySelector","selectedOption","render","helperText","hideLabel","required","size","validationStatus","validationText","describedBy","getInputDescribedByText","h","Host","class","id","trim","useLabelTag","hasValidationStatus","for","ariaLiveMode","status","message"],"sources":["src/components/ic-checkbox-group/ic-checkbox-group.css?tag=ic-checkbox-group&encapsulation=shadow","src/components/ic-checkbox-group/ic-checkbox-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n\n --ic-input-label-text-color: var(--ic-checkbox-group-label);\n --ic-input-label-helper-text-color: var(--ic-checkbox-group-subtitle);\n --ic-input-validation-error: var(--ic-checkbox-state-icon-error);\n --ic-input-validation-status-text-color: var(--ic-checkbox-state-text);\n}\n\n:host(.ic-checkbox-group-disabled) {\n --ic-input-label-text-color: var(--ic-checkbox-group-label-disabled);\n --ic-input-label-helper-text-color: var(\n --ic-checkbox-group-subtitle-disabled\n );\n}\n\nic-input-label.error {\n color: var(--ic-checkbox-group-label-error);\n\n --ic-typography-color: var(--ic-checkbox-group-label-error);\n --ic-input-label-helper-text-color: var(--ic-checkbox-group-subtitle-error);\n}\n\nic-input-label ic-typography {\n margin-bottom: var(--ic-space-sm);\n}\n\n:host(.ic-checkbox-group-small) ic-input-label ic-typography {\n margin-bottom: calc(var(--ic-space-sm) / 2);\n}\n\nic-input-validation {\n margin-top: var(--ic-space-sm);\n}\n\n:host(.ic-checkbox-group-small) ic-input-validation {\n margin-top: calc(var(--ic-space-sm) / 2);\n}\n\n.checkboxes-container {\n margin-bottom: calc(-1 * var(--ic-space-xxs));\n}\n\n:host(.ic-checkbox-group-small) .checkboxes-container {\n margin-bottom: calc(-1 * var(--ic-space-xxxs));\n}\n\n.screen-reader-only-text {\n position: absolute;\n left: -9999px;\n background-color: #fff;\n color: #000;\n text-transform: none;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Listen,\n Element,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n hasValidationStatus,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport {\n IcInformationStatusOrEmpty,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport { IcChangeEventDetail } from \"./ic-checkbox-group.types\";\n\n@Component({\n tag: \"ic-checkbox-group\",\n styleUrl: \"ic-checkbox-group.css\",\n shadow: true,\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class CheckboxGroup {\n private checkboxSelector: string = \"ic-checkbox\";\n @Element() el: HTMLIcCheckboxGroupElement;\n\n /**\n * If `true`, the checkbox group will be set to the disabled state.\n */\n @Prop() disabled: boolean = false;\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText: string = \"\";\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * The label for the checkbox group to be displayed.\n */\n @Prop() label!: string;\n\n /**\n * The name for the checkbox group to differentiate from other groups.\n */\n @Prop() name!: string;\n\n @Watch(\"label\")\n @Watch(\"name\")\n labelNameHandler(\n newValue: string,\n oldValue: string,\n propName: \"label\" | \"name\"\n ): void {\n Array.from(this.el.querySelectorAll(this.checkboxSelector)).forEach(\n (checkbox: HTMLIcCheckboxElement) => {\n if (propName === \"label\") checkbox.groupLabel = newValue;\n else if (checkbox.name === oldValue) {\n // If the checkbox name has been set by the parent, then override it\n checkbox.name = newValue;\n }\n }\n );\n }\n\n /**\n * If `true`, the checkbox group will require a value.\n */\n @Prop() required: boolean = false;\n\n /**\n * The size of the checkboxes to be displayed. This does not affect the font size of the label.\n */\n @Prop() size?: IcSizes = \"medium\";\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 @Watch(\"theme\")\n watchThemeHandler(newValue: IcThemeMode): void {\n Array.from(this.el.querySelectorAll(this.checkboxSelector)).forEach(\n (checkbox: HTMLIcCheckboxElement) => {\n checkbox.theme = newValue;\n }\n );\n }\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The validation text - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationText: string = \"\";\n\n /**\n * Emitted when a checkbox is checked.\n */\n @Event() icChange: EventEmitter<IcChangeEventDetail>;\n\n @Listen(\"icChange\")\n handleChange(ev: CustomEvent): void {\n //don't pass on the event if it has come from slotted text field\n //otherwise any icChange handler bound to the checkbox group will also run\n if ((ev.target as HTMLElement).tagName === \"IC-TEXT-FIELD\") {\n ev.stopImmediatePropagation();\n }\n }\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n this.watchThemeHandler(this.theme);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.name, propName: \"name\" },\n ],\n \"Checkbox Group\"\n );\n }\n\n @Listen(\"icCheck\")\n selectHandler({ target }: CustomEvent): void {\n const checkedOptions = Array.from(\n this.el.querySelectorAll(\"ic-checkbox\")\n ).filter(({ checked, disabled }) => checked && !disabled);\n this.icChange.emit({\n value: checkedOptions.map(({ value }) => value),\n checkedOptions: checkedOptions.map((opt) => ({\n checkbox: opt,\n textFieldValue: opt.querySelector(\"ic-text-field\")?.value,\n })),\n selectedOption: target as HTMLIcCheckboxElement,\n });\n }\n\n render() {\n const {\n disabled,\n helperText,\n hideLabel,\n label,\n name,\n required,\n size,\n theme,\n validationStatus,\n validationText,\n } = this;\n\n const describedBy = getInputDescribedByText(\n name,\n helperText !== \"\",\n validationStatus !== \"\"\n );\n\n return (\n <Host\n class={{\n [`ic-checkbox-group-${size}`]: true,\n [`ic-checkbox-group-disabled`]: disabled,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n {(validationStatus === \"error\" || required || hideLabel) && (\n <span\n id=\"screenReaderOnlyText\"\n class=\"screen-reader-only-text\"\n aria-hidden=\"true\"\n >\n {label} {validationStatus === \"error\" ? \"invalid data \" : null}{\" \"}\n {required ? \"required\" : null}\n </span>\n )}\n <fieldset\n id={name}\n aria-labelledby={`${\n validationStatus === \"error\" || required || hideLabel\n ? \"screenReaderOnlyText\"\n : \"\"\n } ${describedBy}`.trim()}\n disabled={disabled}\n >\n {!hideLabel && (\n <legend>\n <ic-input-label\n class={{ [`${validationStatus}`]: true }}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabled}\n useLabelTag={false}\n ></ic-input-label>\n </legend>\n )}\n <div class=\"checkboxes-container\">\n <slot></slot>\n </div>\n </fieldset>\n {hasValidationStatus(validationStatus, disabled) && (\n <ic-input-validation\n for={name}\n ariaLiveMode=\"polite\"\n status={validationStatus}\n message={validationText}\n ></ic-input-validation>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"oHAAA,MAAMA,EAAqB,2kH,MC8BdC,EAAa,M,4DAChBC,KAAAC,iBAA2B,c,cAMP,M,gBAKC,G,eAKA,M,uDAiCD,M,UAKH,S,WAKK,U,sBAayB,G,oBAKtB,E,CA/CjC,gBAAAC,CACEC,EACAC,EACAC,GAEAC,MAAMC,KAAKP,KAAKQ,GAAGC,iBAAiBT,KAAKC,mBAAmBS,SACzDC,IACC,GAAIN,IAAa,QAASM,EAASC,WAAaT,OAC3C,GAAIQ,EAASE,OAAST,EAAU,CAEnCO,EAASE,KAAOV,C,KAqBxB,iBAAAW,CAAkBX,GAChBG,MAAMC,KAAKP,KAAKQ,GAAGC,iBAAiBT,KAAKC,mBAAmBS,SACzDC,IACCA,EAASI,MAAQZ,CAAQ,G,CAqB/B,YAAAa,CAAaC,GAGX,GAAKA,EAAGC,OAAuBC,UAAY,gBAAiB,CAC1DF,EAAGG,0B,EAIP,iBAAAC,GACEC,EAAoBtB,KAAKuB,SAAUvB,KAAKQ,IACxCR,KAAKc,kBAAkBd,KAAKe,M,CAG9B,gBAAAS,GACEC,EACE,CACE,CAAEC,KAAM1B,KAAK2B,MAAOtB,SAAU,SAC9B,CAAEqB,KAAM1B,KAAKa,KAAMR,SAAU,SAE/B,iB,CAKJ,aAAAuB,EAAcV,OAAEA,IACd,MAAMW,EAAiBvB,MAAMC,KAC3BP,KAAKQ,GAAGC,iBAAiB,gBACzBqB,QAAO,EAAGC,UAASR,cAAeQ,IAAYR,IAChDvB,KAAKgC,SAASC,KAAK,CACjBC,MAAOL,EAAeM,KAAI,EAAGD,WAAYA,IACzCL,eAAgBA,EAAeM,KAAKC,I,MAAQ,OAC1CzB,SAAUyB,EACVC,gBAAgBC,EAAAF,EAAIG,cAAc,oBAAgB,MAAAD,SAAA,SAAAA,EAAEJ,MACrD,IACDM,eAAgBtB,G,CAIpB,MAAAuB,GACE,MAAMlB,SACJA,EAAQmB,WACRA,EAAUC,UACVA,EAAShB,MACTA,EAAKd,KACLA,EAAI+B,SACJA,EAAQC,KACRA,EAAI9B,MACJA,EAAK+B,iBACLA,EAAgBC,eAChBA,GACE/C,KAEJ,MAAMgD,EAAcC,EAClBpC,EACA6B,IAAe,GACfI,IAAqB,IAGvB,OACEI,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,qBAAqBP,KAAS,KAC/B,CAAC,8BAA+BtB,EAChC,CAAC,YAAYR,KAAUA,IAAU,aAGjC+B,IAAqB,SAAWF,GAAYD,IAC5CO,EAAA,QACEG,GAAG,uBACHD,MAAM,0BAAyB,cACnB,QAEXzB,EAAK,IAAGmB,IAAqB,QAAU,gBAAkB,KAAM,IAC/DF,EAAW,WAAa,MAG7BM,EAAA,YACEG,GAAIxC,EAAI,kBACS,GACfiC,IAAqB,SAAWF,GAAYD,EACxC,uBACA,MACFK,IAAcM,OAClB/B,SAAUA,IAERoB,GACAO,EAAA,cACEA,EAAA,kBACEE,MAAO,CAAE,CAAC,GAAGN,KAAqB,MAClCnB,MAAOA,EACPe,WAAYA,EACZE,SAAUA,EACVrB,SAAUA,EACVgC,YAAa,SAInBL,EAAA,OAAKE,MAAM,wBACTF,EAAA,eAGHM,EAAoBV,EAAkBvB,IACrC2B,EAAA,uBACEO,IAAK5C,EACL6C,aAAa,SACbC,OAAQb,EACRc,QAASb,I"}
@@ -1,2 +0,0 @@
1
- import{r as n,f as e,h as t,H as i,g as o}from"./p-6b5e91e2.js";import{c as a,r,i as s,a as c,h as d,I as l}from"./p-b7eb8ef9.js";import{C as h}from"./p-3b185c32.js";const b='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type="button"],\n[type="reset"],\n[type="submit"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type="button"]::-moz-focus-inner,\n[type="reset"]::-moz-focus-inner,\n[type="submit"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type="button"]:-moz-focusring,\n[type="reset"]:-moz-focusring,\n[type="submit"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type="checkbox"],\n[type="radio"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type="number"]::-webkit-inner-spin-button,\n[type="number"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type="search"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type="search"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n display: flex;\n}\n\na {\n text-decoration: none !important;\n color: var(--ic-card-text) !important;\n}\n\nbutton {\n border: none;\n background-color: transparent;\n outline: var(--ic-hc-focus-outline);\n}\n\n.card {\n display: flex;\n flex-direction: column;\n border: var(--ic-border-default);\n border-radius: var(--ic-border-radius);\n box-sizing: border-box;\n padding: var(--ic-space-md);\n text-align: left;\n color: var(--ic-card-text);\n transition: var(--ic-easing-transition-fast);\n position: relative;\n width: inherit;\n min-width: -moz-fit-content;\n min-width: fit-content;\n height: -moz-fit-content;\n height: fit-content;\n min-height: 100%;\n\n ::slotted(svg) {\n fill: var(--ic-card-text);\n }\n &.dark {\n border: var(--ic-border-width) solid\n var(--ic-color-border-neutral-pressed-dark);\n }\n &.fullwidth {\n width: 100%;\n }\n &.clickable {\n &:hover {\n background-color: var(--ic-card-clickable-focus-hover-bg);\n border: var(--ic-border-hover);\n cursor: pointer;\n }\n &.focussed,\n &:focus {\n background-color: var(--ic-card-clickable-focus-hover-bg);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n border: var(--ic-border-pressed-default);\n }\n &:active {\n background-color: var(--ic-card-clickable-active-bg);\n box-shadow: var(--ic-border-focus);\n\n .card-title {\n text-decoration: none;\n }\n }\n .card-title {\n --ic-typography-color: var(--ic-card-clickable-text);\n\n color: var(--ic-card-clickable-text);\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n }\n }\n &.disabled {\n border: var(--ic-border-disabled);\n\n .card-message,\n .subheading,\n .card-title {\n --ic-typography-color: var(--ic-card-disabled-text);\n }\n .card-title {\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n text-decoration-color: var(--ic-card-disabled-text);\n color: var(--ic-card-disabled-text);\n }\n ::slotted(svg) {\n fill: var(--ic-card-disabled-text);\n }\n }\n}\n\n.card-header {\n display: flex;\n align-items: center;\n}\n\n.icon {\n display: flex;\n align-items: center;\n padding-right: var(--ic-space-xs);\n}\n\n.card.clickable:hover .card-title,\n.card.clickable:focus .card-title,\n.card.clickable.focussed .card-title {\n display: inline-block;\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n}\n\n@supports (text-underline-offset: 25%) {\n .card.clickable:hover .card-title,\n .card.clickable:focus .card-title,\n .card.clickable.focussed .card-title {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0 !important;\n }\n}\n\n.subheading {\n margin-top: var(--ic-space-xxs);\n}\n\n.adornment {\n margin-top: var(--ic-space-xxs);\n}\n\n.card-message {\n margin-top: var(--ic-space-md);\n align-items: left;\n}\n\n.interaction-button {\n margin-left: auto;\n}\n\n.image-top {\n margin-bottom: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.image-mid {\n margin-top: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.interaction-area {\n display: flex;\n flex-grow: 1;\n gap: var(--ic-space-md);\n margin-top: var(--ic-space-md);\n align-items: flex-end;\n}\n\n.interaction-controls {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--ic-space-sm);\n}\n\n.toggle-button {\n color: var(--ic-card-toggle-button);\n width: 2.5rem;\n height: 2.5rem;\n padding: var(--ic-space-xs);\n margin: var(--ic-space-1px) 0;\n min-width: 0;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n border-radius: var(--ic-border-radius);\n display: inline-flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n background: none;\n border: none;\n box-sizing: border-box;\n white-space: nowrap;\n vertical-align: middle;\n\n &:hover {\n background-color: var(--ic-card-clickable-focus-hover-bg);\n color: var(--ic-card-toggle-button-focus-hover);\n }\n &:focus {\n box-shadow: var(--ic-border-focus);\n }\n &:active:not(:focus) {\n background-color: var(--ic-card-clickable-active-bg);\n color: var(--ic-card-toggle-button-active);\n }\n\n svg {\n pointer-events: none;\n width: 100% !important;\n height: 100% !important;\n fill: currentcolor !important;\n }\n}\n\n#ic-tooltip-expand-button {\n margin-left: auto;\n position: relative;\n}\n\n.toggle-button-closed svg {\n transform: rotate(90deg);\n}\n\n.toggle-button-expanded svg {\n transform: rotate(-90deg);\n}\n\n.expanded-content {\n margin-top: var(--ic-space-md);\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n .card {\n ::slotted(svg) {\n fill: currentcolor;\n }\n &.disabled {\n border-color: GrayText !important;\n\n ::slotted(svg) {\n fill: GrayText !important;\n }\n .card-message,\n .subheading,\n .card-title {\n color: GrayText;\n\n --ic-typography-color: GrayText;\n }\n }\n }\n}\n';const m=class{constructor(t){n(this,t);this.hostMutationObserver=null;this.parentFocussed=()=>{this.isFocussed=true};this.parentBlurred=()=>{this.isFocussed=false};this.toggleExpanded=()=>{this.areaExpanded=!this.areaExpanded};this.hostMutationCallback=n=>{if(n.some((({type:n,addedNodes:e,removedNodes:t})=>n==="childList"?a(e,t,["message","adornment","expanded-content","image-top","image-mid","icon","interaction-button","badge","interaction-controls"]):false))){e(this)}};this.appearance="default";this.areaExpanded=false;this.isFocussed=false;this.parentEl=null;this.parentIsAnchorTag=false;this.clickable=false;this.disabled=false;this.expandable=false;this.fullWidth=false;this.heading=undefined;this.href=undefined;this.hreflang="";this.message="";this.referrerpolicy=undefined;this.rel=undefined;this.subheading=undefined;this.target=undefined;this.theme="inherit"}disconnectedCallback(){var n;if(this.parentIsAnchorTag){this.parentEl.removeEventListener("focus",this.parentFocussed);this.parentEl.removeEventListener("blur",this.parentBlurred)}(n=this.hostMutationObserver)===null||n===void 0?void 0:n.disconnect()}componentWillLoad(){this.parentEl=this.el.parentElement;if(this.parentEl.tagName==="A"){this.clickable=true;this.parentIsAnchorTag=true;this.parentEl.classList.add("ic-card-wrapper-link");this.parentEl.addEventListener("focus",this.parentFocussed);this.parentEl.addEventListener("blur",this.parentBlurred)}r(this.disabled,this.el)}componentDidLoad(){!s(this.el,"heading")&&c([{prop:this.heading,propName:"heading"}],"Card");this.updateTheme();this.hostMutationObserver=new MutationObserver(this.hostMutationCallback);this.hostMutationObserver.observe(this.el,{childList:true})}handleHostClick(n){if(this.disabled){n.stopImmediatePropagation()}}themeChangeHandler(n){this.updateTheme(n.detail.mode)}async setFocus(){if(this.el.shadowRoot.querySelector("a")){this.el.shadowRoot.querySelector("a").focus()}else if(this.el.shadowRoot.querySelector("button")){this.el.shadowRoot.querySelector("button").focus()}}updateTheme(n=null){const e=d(this.el,n);if(e!==l.Default){this.appearance=e}}render(){const{appearance:n,clickable:e,disabled:o,expandable:a,fullWidth:r,heading:c,isFocussed:d,message:b,href:m,hreflang:p,parentIsAnchorTag:g,referrerpolicy:u,rel:f,subheading:v,target:x,theme:y}=this;const k=g||!e?"div":m===undefined?"button":"a";const w=k=="a"&&{href:m,hrefLang:p,referrerPolicy:u,rel:f,target:x};return t(i,{class:{[`ic-theme-${y}`]:y!=="inherit"}},t(k,Object.assign({class:{card:true,clickable:e&&!o,disabled:o,fullwidth:r,focussed:d,dark:n===l.Dark},tabindex:e&&!g?0:null,"aria-disabled":o?"true":null,disabled:o?true:null},w),s(this.el,"image-top")&&t("div",{class:"image-top"},t("slot",{name:"image-top"})),t("div",{class:"card-header"},s(this.el,"icon")&&t("div",{class:"icon"},t("slot",{name:"icon"})),t("div",{class:"card-title"},t("slot",{name:"heading"},t("ic-typography",{variant:"h4"},t("p",null,c)))),s(this.el,"interaction-button")&&t("div",{class:"interaction-button"},t("slot",{name:"interaction-button"}))),(v||s(this.el,"subheading"))&&t("div",{class:"subheading"},t("slot",{name:"subheading"},t("ic-typography",{variant:"subtitle-small"},v))),s(this.el,"adornment")&&t("div",{class:"adornment"},t("slot",{name:"adornment"})),s(this.el,"image-mid")&&t("div",{class:"image-mid"},t("slot",{name:"image-mid"})),(b||s(this.el,"message"))&&t("div",{class:"card-message"},b&&t("ic-typography",{variant:"body"},b),s(this.el,"message")&&t("slot",{name:"message"})),(s(this.el,"interaction-controls")||a)&&t("div",{class:"interaction-area"},t("div",{class:"interaction-controls"},t("slot",{name:"interaction-controls"})),a&&t("ic-tooltip",{id:"ic-tooltip-expand-button",label:"Toggle expandable area",silent:true},t("button",{class:{"toggle-button":true,[`toggle-button-${this.areaExpanded?"expanded":"closed"}`]:true},"aria-label":"Toggle expandable area","aria-expanded":`${this.areaExpanded}`,"aria-controls":this.areaExpanded?"expanded-content-area":null,onClick:this.toggleExpanded,innerHTML:h}))),s(this.el,"expanded-content")&&this.areaExpanded&&t("div",{class:"expanded-content",id:"expanded-content-area"},t("slot",{name:"expanded-content"})),s(this.el,"badge")&&t("slot",{name:"badge"})))}get el(){return o(this)}};m.style=b;export{m as ic_card_vertical};
2
- //# sourceMappingURL=p-85173458.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icCardVerticalCss","CardVertical","this","hostMutationObserver","parentFocussed","isFocussed","parentBlurred","toggleExpanded","areaExpanded","hostMutationCallback","mutationList","some","type","addedNodes","removedNodes","checkSlotInChildMutations","forceUpdate","disconnectedCallback","parentIsAnchorTag","parentEl","removeEventListener","_a","disconnect","componentWillLoad","el","parentElement","tagName","clickable","classList","add","addEventListener","removeDisabledFalse","disabled","componentDidLoad","isSlotUsed","onComponentRequiredPropUndefined","prop","heading","propName","updateTheme","MutationObserver","observe","childList","handleHostClick","event","stopImmediatePropagation","themeChangeHandler","ev","detail","mode","setFocus","shadowRoot","querySelector","focus","newTheme","foregroundColor","getThemeFromContext","IcThemeForegroundEnum","Default","appearance","render","expandable","fullWidth","message","href","hreflang","referrerpolicy","rel","subheading","target","theme","Component","undefined","attrs","hrefLang","referrerPolicy","h","Host","class","Object","assign","card","fullwidth","focussed","dark","Dark","tabindex","name","variant","id","label","silent","onClick","innerHTML","chevronIcon"],"sources":["src/components/ic-card-vertical/ic-card-vertical.css?tag=ic-card-vertical&encapsulation=shadow","src/components/ic-card-vertical/ic-card-vertical.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: flex;\n}\n\na {\n text-decoration: none !important;\n color: var(--ic-card-text) !important;\n}\n\nbutton {\n border: none;\n background-color: transparent;\n outline: var(--ic-hc-focus-outline);\n}\n\n.card {\n display: flex;\n flex-direction: column;\n border: var(--ic-border-default);\n border-radius: var(--ic-border-radius);\n box-sizing: border-box;\n padding: var(--ic-space-md);\n text-align: left;\n color: var(--ic-card-text);\n transition: var(--ic-easing-transition-fast);\n position: relative;\n width: inherit;\n min-width: fit-content;\n height: fit-content;\n min-height: 100%;\n\n ::slotted(svg) {\n fill: var(--ic-card-text);\n }\n &.dark {\n border: var(--ic-border-width) solid\n var(--ic-color-border-neutral-pressed-dark);\n }\n &.fullwidth {\n width: 100%;\n }\n &.clickable {\n &:hover {\n background-color: var(--ic-card-clickable-focus-hover-bg);\n border: var(--ic-border-hover);\n cursor: pointer;\n }\n &.focussed,\n &:focus {\n background-color: var(--ic-card-clickable-focus-hover-bg);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n border: var(--ic-border-pressed-default);\n }\n &:active {\n background-color: var(--ic-card-clickable-active-bg);\n box-shadow: var(--ic-border-focus);\n\n .card-title {\n text-decoration: none;\n }\n }\n .card-title {\n --ic-typography-color: var(--ic-card-clickable-text);\n\n color: var(--ic-card-clickable-text);\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n }\n }\n &.disabled {\n border: var(--ic-border-disabled);\n\n .card-message,\n .subheading,\n .card-title {\n --ic-typography-color: var(--ic-card-disabled-text);\n }\n .card-title {\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n text-decoration-color: var(--ic-card-disabled-text);\n color: var(--ic-card-disabled-text);\n }\n ::slotted(svg) {\n fill: var(--ic-card-disabled-text);\n }\n }\n}\n\n.card-header {\n display: flex;\n align-items: center;\n}\n\n.icon {\n display: flex;\n align-items: center;\n padding-right: var(--ic-space-xs);\n}\n\n.card.clickable:hover .card-title,\n.card.clickable:focus .card-title,\n.card.clickable.focussed .card-title {\n display: inline-block;\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n}\n\n@supports (text-underline-offset: 25%) {\n .card.clickable:hover .card-title,\n .card.clickable:focus .card-title,\n .card.clickable.focussed .card-title {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0 !important;\n }\n}\n\n.subheading {\n margin-top: var(--ic-space-xxs);\n}\n\n.adornment {\n margin-top: var(--ic-space-xxs);\n}\n\n.card-message {\n margin-top: var(--ic-space-md);\n align-items: left;\n}\n\n.interaction-button {\n margin-left: auto;\n}\n\n.image-top {\n margin-bottom: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.image-mid {\n margin-top: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.interaction-area {\n display: flex;\n flex-grow: 1;\n gap: var(--ic-space-md);\n margin-top: var(--ic-space-md);\n align-items: flex-end;\n}\n\n.interaction-controls {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--ic-space-sm);\n}\n\n.toggle-button {\n color: var(--ic-card-toggle-button);\n width: 2.5rem;\n height: 2.5rem;\n padding: var(--ic-space-xs);\n margin: var(--ic-space-1px) 0;\n min-width: 0;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n border-radius: var(--ic-border-radius);\n display: inline-flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n background: none;\n border: none;\n box-sizing: border-box;\n white-space: nowrap;\n vertical-align: middle;\n\n &:hover {\n background-color: var(--ic-card-clickable-focus-hover-bg);\n color: var(--ic-card-toggle-button-focus-hover);\n }\n &:focus {\n box-shadow: var(--ic-border-focus);\n }\n &:active:not(:focus) {\n background-color: var(--ic-card-clickable-active-bg);\n color: var(--ic-card-toggle-button-active);\n }\n\n svg {\n pointer-events: none;\n width: 100% !important;\n height: 100% !important;\n fill: currentcolor !important;\n }\n}\n\n#ic-tooltip-expand-button {\n margin-left: auto;\n position: relative;\n}\n\n.toggle-button-closed svg {\n transform: rotate(90deg);\n}\n\n.toggle-button-expanded svg {\n transform: rotate(-90deg);\n}\n\n.expanded-content {\n margin-top: var(--ic-space-md);\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n .card {\n ::slotted(svg) {\n fill: currentcolor;\n }\n &.disabled {\n border-color: GrayText !important;\n\n ::slotted(svg) {\n fill: GrayText !important;\n }\n .card-message,\n .subheading,\n .card-title {\n color: GrayText;\n\n --ic-typography-color: GrayText;\n }\n }\n }\n}\n","import {\n Component,\n Element,\n Listen,\n Prop,\n State,\n h,\n Method,\n forceUpdate,\n Host,\n} from \"@stencil/core\";\nimport {\n onComponentRequiredPropUndefined,\n isSlotUsed,\n getThemeFromContext,\n removeDisabledFalse,\n checkSlotInChildMutations,\n} from \"../../utils/helpers\";\nimport {\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n IcThemeMode,\n} from \"../../utils/types\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\n\n/**\n * @slot heading - Content will be placed at the top of the card to the right of the icon.\n * @slot message - Content will be placed in the main body of the card.\n * @slot subheading - Content will be placed below the card heading.\n * @slot adornment - Content will be placed below the card subheading.\n * @slot image-top - Content will be placed at the top of the card above all other content.\n * @slot image-mid - Content will be placed below the card heading section.\n * @slot icon - Content will be placed to the left of the card heading.\n * @slot interaction-button - Content will be placed in the top right corner of the heading section.\n * @slot interaction-controls - Content will be placed below the card message.\n * @slot expanded-content - Content will be placed below the interaction controls but will not initially be rendered.\n * @slot badge - Badge component overlaying the top right of the card.\n */\n@Component({\n tag: \"ic-card-vertical\",\n styleUrl: \"ic-card-vertical.css\",\n shadow: true,\n})\nexport class CardVertical {\n private hostMutationObserver: MutationObserver = null;\n\n @Element() el: HTMLIcCardVerticalElement;\n\n @State() appearance?: IcThemeForeground = \"default\";\n @State() areaExpanded: boolean = false;\n @State() isFocussed: boolean = false;\n @State() parentEl: HTMLElement | null = null;\n @State() parentIsAnchorTag: boolean = false;\n\n /**\n * If `true`, the card will be a clickable variant, instead of static.\n */\n @Prop({ mutable: true }) clickable?: boolean = false;\n\n /**\n * If `true`, the card will be disabled if it is clickable.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If `true`, the card will have an expandable area and expansion toggle button.\n */\n @Prop() expandable?: boolean = false;\n\n /**\n * If `true`, the card will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * The heading for the card. This is required, unless a slotted heading is used.\n */\n @Prop() heading?: string;\n\n /**\n * The URL that the clickable card link points to. If set, the clickable card will render as an \"a\" tag, otherwise it will render as a button.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string = \"\";\n\n /**\n * The main body message of the card.\n */\n @Prop() message?: string = \"\";\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The subheading for the card.\n */\n @Prop() subheading?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\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 if (this.parentIsAnchorTag) {\n this.parentEl.removeEventListener(\"focus\", this.parentFocussed);\n this.parentEl.removeEventListener(\"blur\", this.parentBlurred);\n }\n\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.parentEl = this.el.parentElement;\n\n if (this.parentEl.tagName === \"A\") {\n this.clickable = true;\n this.parentIsAnchorTag = true;\n this.parentEl.classList.add(\"ic-card-wrapper-link\");\n this.parentEl.addEventListener(\"focus\", this.parentFocussed);\n this.parentEl.addEventListener(\"blur\", this.parentBlurred);\n }\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Card\"\n );\n this.updateTheme();\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled) {\n event.stopImmediatePropagation();\n }\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent<IcTheme>): void {\n this.updateTheme(ev.detail.mode);\n }\n\n /**\n * Sets focus on the card.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.el.shadowRoot.querySelector(\"a\")) {\n this.el.shadowRoot.querySelector(\"a\").focus();\n } else if (this.el.shadowRoot.querySelector(\"button\")) {\n this.el.shadowRoot.querySelector(\"button\").focus();\n }\n }\n\n private parentFocussed = (): void => {\n this.isFocussed = true;\n };\n\n private parentBlurred = (): void => {\n this.isFocussed = false;\n };\n\n private updateTheme(newTheme: IcThemeForeground = null): void {\n const foregroundColor = getThemeFromContext(this.el, newTheme);\n\n if (foregroundColor !== IcThemeForegroundEnum.Default) {\n this.appearance = foregroundColor;\n }\n }\n\n private toggleExpanded = (): void => {\n this.areaExpanded = !this.areaExpanded;\n };\n\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n if (\n mutationList.some(({ type, addedNodes, removedNodes }) =>\n type === \"childList\"\n ? checkSlotInChildMutations(addedNodes, removedNodes, [\n \"message\",\n \"adornment\",\n \"expanded-content\",\n \"image-top\",\n \"image-mid\",\n \"icon\",\n \"interaction-button\",\n \"badge\",\n \"interaction-controls\",\n ])\n : false\n )\n ) {\n forceUpdate(this);\n }\n };\n\n render() {\n const {\n appearance,\n clickable,\n disabled,\n expandable,\n fullWidth,\n heading,\n isFocussed,\n message,\n href,\n hreflang,\n parentIsAnchorTag,\n referrerpolicy,\n rel,\n subheading,\n target,\n theme,\n } = this;\n\n const Component =\n parentIsAnchorTag || !clickable\n ? \"div\"\n : href === undefined\n ? \"button\"\n : \"a\";\n\n const attrs = Component == \"a\" && {\n href: href,\n hrefLang: hreflang,\n referrerPolicy: referrerpolicy,\n rel: rel,\n target: target,\n };\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <Component\n class={{\n card: true,\n clickable: clickable && !disabled,\n disabled,\n fullwidth: fullWidth,\n focussed: isFocussed,\n dark: appearance === IcThemeForegroundEnum.Dark,\n }}\n tabindex={clickable && !parentIsAnchorTag ? 0 : null}\n aria-disabled={disabled ? \"true\" : null}\n disabled={disabled ? true : null}\n {...attrs}\n >\n {isSlotUsed(this.el, \"image-top\") && (\n <div class=\"image-top\">\n <slot name=\"image-top\"></slot>\n </div>\n )}\n <div class=\"card-header\">\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon\">\n <slot name=\"icon\" />\n </div>\n )}\n <div class=\"card-title\">\n <slot name=\"heading\">\n <ic-typography variant=\"h4\">\n <p>{heading}</p>\n </ic-typography>\n </slot>\n </div>\n {isSlotUsed(this.el, \"interaction-button\") && (\n <div class=\"interaction-button\">\n <slot name=\"interaction-button\"></slot>\n </div>\n )}\n </div>\n {(subheading || isSlotUsed(this.el, \"subheading\")) && (\n <div class=\"subheading\">\n <slot name=\"subheading\">\n <ic-typography variant=\"subtitle-small\">\n {subheading}\n </ic-typography>\n </slot>\n </div>\n )}\n {isSlotUsed(this.el, \"adornment\") && (\n <div class=\"adornment\">\n <slot name=\"adornment\"></slot>\n </div>\n )}\n {isSlotUsed(this.el, \"image-mid\") && (\n <div class=\"image-mid\">\n <slot name=\"image-mid\"></slot>\n </div>\n )}\n {(message || isSlotUsed(this.el, \"message\")) && (\n <div class=\"card-message\">\n {message && (\n <ic-typography variant=\"body\">{message}</ic-typography>\n )}\n {isSlotUsed(this.el, \"message\") && <slot name=\"message\"></slot>}\n </div>\n )}\n {(isSlotUsed(this.el, \"interaction-controls\") || expandable) && (\n <div class=\"interaction-area\">\n <div class=\"interaction-controls\">\n <slot name=\"interaction-controls\"></slot>\n </div>\n {expandable && (\n <ic-tooltip\n id=\"ic-tooltip-expand-button\"\n label=\"Toggle expandable area\"\n silent\n >\n <button\n class={{\n \"toggle-button\": true,\n [`toggle-button-${\n this.areaExpanded ? \"expanded\" : \"closed\"\n }`]: true,\n }}\n aria-label=\"Toggle expandable area\"\n aria-expanded={`${this.areaExpanded}`}\n aria-controls={\n this.areaExpanded ? \"expanded-content-area\" : null\n }\n onClick={this.toggleExpanded}\n innerHTML={chevronIcon}\n ></button>\n </ic-tooltip>\n )}\n </div>\n )}\n {isSlotUsed(this.el, \"expanded-content\") && this.areaExpanded && (\n <div class=\"expanded-content\" id=\"expanded-content-area\">\n <slot name=\"expanded-content\"></slot>\n </div>\n )}\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n </Component>\n </Host>\n );\n }\n}\n"],"mappings":"sKAAA,MAAMA,EAAoB,m+Y,MC4CbC,EAAY,M,yBACfC,KAAAC,qBAAyC,KAuIzCD,KAAAE,eAAiB,KACvBF,KAAKG,WAAa,IAAI,EAGhBH,KAAAI,cAAgB,KACtBJ,KAAKG,WAAa,KAAK,EAWjBH,KAAAK,eAAiB,KACvBL,KAAKM,cAAgBN,KAAKM,YAAY,EAGhCN,KAAAO,qBAAwBC,IAC9B,GACEA,EAAaC,MAAK,EAAGC,OAAMC,aAAYC,kBACrCF,IAAS,YACLG,EAA0BF,EAAYC,EAAc,CAClD,UACA,YACA,mBACA,YACA,YACA,OACA,qBACA,QACA,yBAEF,QAEN,CACAE,EAAYd,K,mBAzK0B,U,kBACT,M,gBACF,M,cACS,K,uBACF,M,eAKS,M,cAKlB,M,gBAKE,M,eAKD,M,yDAeF,G,aAKD,G,4GAyBG,S,CAE9B,oBAAAe,G,MACE,GAAIf,KAAKgB,kBAAmB,CAC1BhB,KAAKiB,SAASC,oBAAoB,QAASlB,KAAKE,gBAChDF,KAAKiB,SAASC,oBAAoB,OAAQlB,KAAKI,c,EAGjDe,EAAAnB,KAAKC,wBAAoB,MAAAkB,SAAA,SAAAA,EAAEC,Y,CAG7B,iBAAAC,GACErB,KAAKiB,SAAWjB,KAAKsB,GAAGC,cAExB,GAAIvB,KAAKiB,SAASO,UAAY,IAAK,CACjCxB,KAAKyB,UAAY,KACjBzB,KAAKgB,kBAAoB,KACzBhB,KAAKiB,SAASS,UAAUC,IAAI,wBAC5B3B,KAAKiB,SAASW,iBAAiB,QAAS5B,KAAKE,gBAC7CF,KAAKiB,SAASW,iBAAiB,OAAQ5B,KAAKI,c,CAE9CyB,EAAoB7B,KAAK8B,SAAU9B,KAAKsB,G,CAG1C,gBAAAS,IACGC,EAAWhC,KAAKsB,GAAI,YACnBW,EACE,CAAC,CAAEC,KAAMlC,KAAKmC,QAASC,SAAU,YACjC,QAEJpC,KAAKqC,cAELrC,KAAKC,qBAAuB,IAAIqC,iBAAiBtC,KAAKO,sBACtDP,KAAKC,qBAAqBsC,QAAQvC,KAAKsB,GAAI,CACzCkB,UAAW,M,CAKf,eAAAC,CAAgBC,GACd,GAAI1C,KAAK8B,SAAU,CACjBY,EAAMC,0B,EAKV,kBAAAC,CAAmBC,GACjB7C,KAAKqC,YAAYQ,EAAGC,OAAOC,K,CAO7B,cAAMC,GACJ,GAAIhD,KAAKsB,GAAG2B,WAAWC,cAAc,KAAM,CACzClD,KAAKsB,GAAG2B,WAAWC,cAAc,KAAKC,O,MACjC,GAAInD,KAAKsB,GAAG2B,WAAWC,cAAc,UAAW,CACrDlD,KAAKsB,GAAG2B,WAAWC,cAAc,UAAUC,O,EAYvC,WAAAd,CAAYe,EAA8B,MAChD,MAAMC,EAAkBC,EAAoBtD,KAAKsB,GAAI8B,GAErD,GAAIC,IAAoBE,EAAsBC,QAAS,CACrDxD,KAAKyD,WAAaJ,C,EA8BtB,MAAAK,GACE,MAAMD,WACJA,EAAUhC,UACVA,EAASK,SACTA,EAAQ6B,WACRA,EAAUC,UACVA,EAASzB,QACTA,EAAOhC,WACPA,EAAU0D,QACVA,EAAOC,KACPA,EAAIC,SACJA,EAAQ/C,kBACRA,EAAiBgD,eACjBA,EAAcC,IACdA,EAAGC,WACHA,EAAUC,OACVA,EAAMC,MACNA,GACEpE,KAEJ,MAAMqE,EACJrD,IAAsBS,EAClB,MACAqC,IAASQ,UACT,SACA,IAEN,MAAMC,EAAQF,GAAa,KAAO,CAChCP,KAAMA,EACNU,SAAUT,EACVU,eAAgBT,EAChBC,IAAKA,EACLE,OAAQA,GAGV,OACEO,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,YAAYR,KAAUA,IAAU,YAGnCM,EAACL,EAASQ,OAAAC,OAAA,CACRF,MAAO,CACLG,KAAM,KACNtD,UAAWA,IAAcK,EACzBA,WACAkD,UAAWpB,EACXqB,SAAU9E,EACV+E,KAAMzB,IAAeF,EAAsB4B,MAE7CC,SAAU3D,IAAcT,EAAoB,EAAI,KAAI,gBACrCc,EAAW,OAAS,KACnCA,SAAUA,EAAW,KAAO,MACxByC,GAEHvC,EAAWhC,KAAKsB,GAAI,cACnBoD,EAAA,OAAKE,MAAM,aACTF,EAAA,QAAMW,KAAK,eAGfX,EAAA,OAAKE,MAAM,eACR5C,EAAWhC,KAAKsB,GAAI,SACnBoD,EAAA,OAAKE,MAAM,QACTF,EAAA,QAAMW,KAAK,UAGfX,EAAA,OAAKE,MAAM,cACTF,EAAA,QAAMW,KAAK,WACTX,EAAA,iBAAeY,QAAQ,MACrBZ,EAAA,SAAIvC,MAITH,EAAWhC,KAAKsB,GAAI,uBACnBoD,EAAA,OAAKE,MAAM,sBACTF,EAAA,QAAMW,KAAK,0BAIfnB,GAAclC,EAAWhC,KAAKsB,GAAI,gBAClCoD,EAAA,OAAKE,MAAM,cACTF,EAAA,QAAMW,KAAK,cACTX,EAAA,iBAAeY,QAAQ,kBACpBpB,KAKRlC,EAAWhC,KAAKsB,GAAI,cACnBoD,EAAA,OAAKE,MAAM,aACTF,EAAA,QAAMW,KAAK,eAGdrD,EAAWhC,KAAKsB,GAAI,cACnBoD,EAAA,OAAKE,MAAM,aACTF,EAAA,QAAMW,KAAK,gBAGbxB,GAAW7B,EAAWhC,KAAKsB,GAAI,aAC/BoD,EAAA,OAAKE,MAAM,gBACRf,GACCa,EAAA,iBAAeY,QAAQ,QAAQzB,GAEhC7B,EAAWhC,KAAKsB,GAAI,YAAcoD,EAAA,QAAMW,KAAK,cAGhDrD,EAAWhC,KAAKsB,GAAI,yBAA2BqC,IAC/Ce,EAAA,OAAKE,MAAM,oBACTF,EAAA,OAAKE,MAAM,wBACTF,EAAA,QAAMW,KAAK,0BAEZ1B,GACCe,EAAA,cACEa,GAAG,2BACHC,MAAM,yBACNC,OAAM,MAENf,EAAA,UACEE,MAAO,CACL,gBAAiB,KACjB,CAAC,iBACC5E,KAAKM,aAAe,WAAa,YAC9B,MACN,aACU,yBAAwB,gBACpB,GAAGN,KAAKM,eAAc,gBAEnCN,KAAKM,aAAe,wBAA0B,KAEhDoF,QAAS1F,KAAKK,eACdsF,UAAWC,MAMpB5D,EAAWhC,KAAKsB,GAAI,qBAAuBtB,KAAKM,cAC/CoE,EAAA,OAAKE,MAAM,mBAAmBW,GAAG,yBAC/Bb,EAAA,QAAMW,KAAK,sBAGdrD,EAAWhC,KAAKsB,GAAI,UAAYoD,EAAA,QAAMW,KAAK,W"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["icTabCss","Tab","this","focusFromClick","isInitialRender","handleClick","tabClick","emit","tabId","contextId","position","tabPosition","tabFocus","handleFocus","focusTabId","handleMouseDown","disabledWatchHandler","tabEnabled","connectedCallback","tabCreated","el","disconnectedCallback","_a","document","querySelector","tabRemovedHandler","componentWillLoad","removeDisabledFalse","disabled","componentDidUpdate","setFocus","focus","render","selected","theme","monochrome","h","Host","class","role","onClick","onFocus","onMouseDown","tabindex","isSlotUsed","name","variant"],"sources":["src/components/ic-tab/ic-tab.css?tag=ic-tab&encapsulation=shadow","src/components/ic-tab/ic-tab.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n --indicator-initial-color: rgba(23 89 188 / 0%);\n --focus-indicator: var(--ic-border-focus);\n\n display: flex;\n align-items: center;\n border-radius: 0;\n color: var(--ic-tab-label);\n\n --ic-typography-color: var(--ic-tab-label);\n\n height: 2.5rem;\n padding: 0 var(--ic-space-md);\n cursor: pointer;\n position: relative;\n border-bottom: var(--ic-space-xxs) solid var(--indicator-initial-color);\n gap: var(--ic-space-xs);\n transition: all var(--ic-easing-transition-fast);\n}\n\n::slotted([slot=\"icon\"]) {\n fill: var(--ic-tab-icon);\n}\n\n:host(:focus) {\n box-shadow: var(--focus-indicator);\n border-radius: var(--ic-border-radius);\n}\n\n:host(:focus-visible) {\n outline: var(--ic-hc-focus-outline);\n}\n\n:host(:hover) {\n background-color: var(--ic-tab-item-hover);\n}\n\n:host(:active) {\n background-color: var(--ic-tab-item-pressed);\n}\n\n:host(.ic-tab-selected) {\n border-bottom: var(--ic-space-xxs) solid var(--ic-tab-item);\n}\n\n:host(.ic-tab-disabled) {\n pointer-events: none;\n color: var(--ic-architectural-300);\n}\n\n:host(.ic-tab-disabled) ic-typography {\n color: var(--ic-architectural-300);\n\n --ic-typography-color: var(--ic-architectural-300);\n}\n\n:host(.ic-tab-monochrome) {\n color: var(--ic-tab-label-monochrome);\n}\n\n:host(.ic-tab-monochrome) ::slotted([slot=\"icon\"]) {\n fill: var(--ic-tab-icon-monochrome);\n}\n\n:host(.ic-tab-monochrome.ic-tab-selected) {\n border-bottom: var(--ic-space-xxs) solid var(--ic-tab-item-monochrome);\n}\n\n:host(.ic-tab-monochrome:hover) {\n background-color: var(--ic-tab-item-hover-monochrome);\n}\n\n:host(.ic-tab-monochrome:active) {\n background-color: var(--ic-tab-item-pressed-monochrome);\n}\n\n@media (prefers-reduced-motion: no-preference) {\n :host(.ic-tab-selected.with-transition) {\n transition: all var(--ic-easing-transition-slow),\n border-color var(--ic-transition-duration-slow);\n }\n}\n\n.ic-tab-label {\n pointer-events: none;\n text-wrap: nowrap;\n}\n\n::slotted(svg) {\n fill: currentcolor;\n}\n\n@media (forced-colors: active) {\n :host {\n border-bottom: var(--ic-space-xxs) solid canvas;\n }\n\n :host(.ic-tab-disabled) {\n color: GrayText;\n }\n\n :host(.ic-tab-disabled) ic-typography {\n color: GrayText;\n\n --ic-typography-color: GrayText;\n }\n}\n\n/* Add back in after storybook has the `color-scheme: light dark` code */\n\n/* @media (prefers-color-scheme: dark) and (not (forced-colors: active)) {\n :host(ic-tab) .ic-tab-label {\n color: var(--ic-architectural-white);\n }\n :host(ic-tab.ic-tab-disabled) .ic-tab-label {\n color: inherit;\n }\n} */\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Prop,\n h,\n Method,\n Watch,\n} from \"@stencil/core\";\n\nimport { IcTabClickEventDetail } from \"./ic-tab.types\";\nimport { IcThemeMode } from \"../../utils/types\";\nimport { isSlotUsed, removeDisabledFalse } from \"../../utils/helpers\";\n\n/**\n * @slot icon - Content will be rendered next to the tab label.\n * @slot badge - Badge component displayed inline with the tab.\n */\n@Component({\n tag: \"ic-tab\",\n styleUrl: \"ic-tab.css\",\n shadow: true,\n})\nexport class Tab {\n private focusFromClick: boolean = false;\n private focusTabId: string;\n private isInitialRender: boolean = true;\n\n @Element() el: HTMLIcTabElement;\n\n /** @internal The unique context needed if using multiple tabs inside one another i.e. rendering another tabs inside a tab panel. */\n @Prop({ reflect: true }) contextId?: string = \"default\";\n\n /**\n * If `true`, the disabled state will be set.\n */\n @Prop() disabled?: boolean = false;\n\n /** @internal Determines whether black variant of the tabs should be displayed. */\n @Prop() monochrome?: boolean = false;\n\n /** @internal If `true`, the tab will display with a selected indicator and tabIndex will be set. */\n @Prop({ reflect: true }) selected?: boolean = false;\n\n /** @internal The shared ID between panel and tab. */\n @Prop({ reflect: true }) tabId?: string;\n\n /** @internal The position of the tab inside the tabs array in context. */\n @Prop() tabPosition?: number;\n\n /** @internal Determines whether the light or dark variant of the tabs should be displayed. */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n @Watch(\"disabled\")\n disabledWatchHandler(): void {\n this.tabEnabled.emit();\n }\n\n /**\n * @internal Emitted when a tab is selected.\n */\n @Event() tabClick: EventEmitter<IcTabClickEventDetail>;\n\n /**\n * @internal Emitted when a tab is dynamically created.\n */\n @Event() tabCreated: EventEmitter<HTMLIcTabElement>;\n\n /**\n * @internal Emitted when a tab's disabled prop changes\n */\n @Event() tabEnabled: EventEmitter<void>;\n\n /**\n * @internal Emitted when a tab is focussed.\n */\n @Event() tabFocus: EventEmitter<IcTabClickEventDetail>;\n\n /**\n * @internal Emitted when a tab is unmounted.\n */\n @Event() tabRemoved: EventEmitter<void>;\n\n connectedCallback(): void {\n this.tabCreated.emit(this.el);\n }\n\n disconnectedCallback(): void {\n document\n .querySelector<HTMLIcTabContextElement>(\n `ic-tab-context[context-id=${this.contextId}]`\n )\n ?.tabRemovedHandler(!!this.focusTabId);\n }\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidUpdate(): void {\n this.isInitialRender = false;\n }\n\n /**\n * Sets focus on the tab.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.el) {\n this.el.focus();\n }\n }\n\n private handleClick = () => {\n this.tabClick.emit({\n tabId: this.tabId,\n contextId: this.contextId,\n position: this.tabPosition,\n });\n if (this.focusFromClick) {\n this.tabFocus.emit({\n tabId: this.tabId,\n contextId: this.contextId,\n position: this.tabPosition,\n });\n this.focusFromClick = false;\n }\n };\n\n private handleFocus = () => {\n if (!this.focusFromClick) {\n this.focusTabId = this.tabId;\n\n this.tabFocus.emit({\n tabId: this.tabId,\n contextId: this.contextId,\n position: this.tabPosition,\n });\n }\n };\n\n private handleMouseDown = () => {\n //set flag so that focus gets handled after click\n //there is a timing issue where a long click only causes focus to happen & not the click\n //the focus does need to be a separate event though to handle focus from keyboard\n this.focusFromClick = true;\n };\n\n render() {\n const {\n disabled,\n selected,\n theme,\n monochrome,\n handleClick,\n handleFocus,\n handleMouseDown,\n } = this;\n return (\n <Host\n class={{\n [\"with-transition\"]: !this.isInitialRender,\n [\"ic-tab-selected\"]: selected,\n [\"ic-tab-disabled\"]: disabled,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [\"ic-tab-monochrome\"]: monochrome,\n }}\n role=\"tab\"\n aria-selected={`${selected}`}\n onClick={handleClick}\n onFocus={handleFocus}\n onMouseDown={handleMouseDown}\n aria-disabled={`${disabled}`}\n tabindex={selected ? 0 : -1}\n >\n {isSlotUsed(this.el, \"icon\") && <slot name=\"icon\"></slot>}\n <ic-typography class=\"ic-tab-label\" variant=\"label\">\n <span>\n <slot></slot>\n </span>\n </ic-typography>\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n </Host>\n );\n }\n}\n"],"mappings":"2GAAA,MAAMA,EAAW,ovI,MCyBJC,EAAG,M,oNACNC,KAAAC,eAA0B,MAE1BD,KAAAE,gBAA2B,KAuF3BF,KAAAG,YAAc,KACpBH,KAAKI,SAASC,KAAK,CACjBC,MAAON,KAAKM,MACZC,UAAWP,KAAKO,UAChBC,SAAUR,KAAKS,cAEjB,GAAIT,KAAKC,eAAgB,CACvBD,KAAKU,SAASL,KAAK,CACjBC,MAAON,KAAKM,MACZC,UAAWP,KAAKO,UAChBC,SAAUR,KAAKS,cAEjBT,KAAKC,eAAiB,K,GAIlBD,KAAAW,YAAc,KACpB,IAAKX,KAAKC,eAAgB,CACxBD,KAAKY,WAAaZ,KAAKM,MAEvBN,KAAKU,SAASL,KAAK,CACjBC,MAAON,KAAKM,MACZC,UAAWP,KAAKO,UAChBC,SAAUR,KAAKS,a,GAKbT,KAAAa,gBAAkB,KAIxBb,KAAKC,eAAiB,IAAI,E,eAlHkB,U,cAKjB,M,gBAGE,M,cAGe,M,2DAShB,S,CAG9B,oBAAAa,GACEd,KAAKe,WAAWV,M,CA4BlB,iBAAAW,GACEhB,KAAKiB,WAAWZ,KAAKL,KAAKkB,G,CAG5B,oBAAAC,G,OACEC,EAAAC,SACGC,cACC,6BAA6BtB,KAAKO,iBACnC,MAAAa,SAAA,SAAAA,EACCG,oBAAoBvB,KAAKY,W,CAG/B,iBAAAY,GACEC,EAAoBzB,KAAK0B,SAAU1B,KAAKkB,G,CAG1C,kBAAAS,GACE3B,KAAKE,gBAAkB,K,CAOzB,cAAM0B,GACJ,GAAI5B,KAAKkB,GAAI,CACXlB,KAAKkB,GAAGW,O,EAuCZ,MAAAC,GACE,MAAMJ,SACJA,EAAQK,SACRA,EAAQC,MACRA,EAAKC,WACLA,EAAU9B,YACVA,EAAWQ,YACXA,EAAWE,gBACXA,GACEb,KACJ,OACEkC,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,oBAAqBpC,KAAKE,gBAC3B,CAAC,mBAAoB6B,EACrB,CAAC,mBAAoBL,EACrB,CAAC,YAAYM,KAAUA,IAAU,UACjC,CAAC,qBAAsBC,GAEzBI,KAAK,MAAK,gBACK,GAAGN,IAClBO,QAASnC,EACToC,QAAS5B,EACT6B,YAAa3B,EAAe,gBACb,GAAGa,IAClBe,SAAUV,EAAW,GAAK,GAEzBW,EAAW1C,KAAKkB,GAAI,SAAWgB,EAAA,QAAMS,KAAK,SAC3CT,EAAA,iBAAeE,MAAM,eAAeQ,QAAQ,SAC1CV,EAAA,YACEA,EAAA,eAGHQ,EAAW1C,KAAKkB,GAAI,UAAYgB,EAAA,QAAMS,KAAK,U"}
@@ -1,2 +0,0 @@
1
- import{r as e,f as t,h as i,H as n,g as o}from"./p-6b5e91e2.js";import{c as a,g as r,s,i as c,a as h,d,I as l}from"./p-b7eb8ef9.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{display:block;background-color:var(--ic-theme-tertiary);--hero-heading-bottom-margin:var(--ic-space-md)}:host(.ic-hero-dark){background-color:var(--ic-theme-secondary);--ic-hero-heading:var(--ic-color-text-primary-light);--ic-hero-body:var(--ic-color-text-primary-light);--ic-hero-secondary-heading:var(--ic-color-text-primary-light)}.heading{--ic-typography-color:var(--ic-hero-heading)}.subheading{--ic-typography-color:var(--ic-hero-body)}.secondary-container{--ic-typography-color:var(--ic-hero-secondary-heading)}:host(.has-background-image){background-repeat:no-repeat;background-position:right -6.25rem;background-size:auto calc(100% + 6.25rem);box-shadow:var(--ic-elevation-inset)}@media (prefers-reduced-motion){:host(.has-background-image){background-position:right -6.25rem !important}}ic-typography.heading-bottom-spacing{margin-bottom:var(--hero-heading-bottom-margin)}.section-container{display:flex;align-items:center;height:100%}.left-container{padding:var(--ic-space-xl) 0}.left-container:not(.left-container-full-width){flex-basis:50%}.left-container-full-width{width:100%}.right-container{flex-basis:50%}.interaction-container{display:flex;gap:var(--ic-space-md);margin-top:var(--ic-space-lg);flex-wrap:wrap}.secondary-container{display:flex;flex-direction:column;justify-content:center;border-left:var(--ic-space-xxxs) solid var(--ic-hero-keyline)}.secondary-subheading{margin-top:var(--ic-space-xxs)}:host([content-aligned="left"]) .left-container,:host([content-aligned="left"]) .interaction-container{justify-content:flex-start;text-align:left}:host([content-aligned="center"]) .left-container,:host([content-aligned="center"]) .interaction-container{justify-content:center;text-align:center}@media (min-width: 992px){.left-container-full-width{width:66.6%}}@media (min-width: 1044px){:host,.section-container{min-height:13rem}:host(.ic-hero-small),:host(.ic-hero-small) .section-container{min-height:10.813rem}.left-container:not(.left-container-full-width){flex-basis:66.6%}.left-container{min-height:9rem}.right-container{flex-basis:33.3%;margin-left:3.125rem}.secondary-container{min-height:9rem}.secondary-heading,.secondary-subheading{margin-left:3.938rem}}@media (min-width: 801px) and (max-width: 1043px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:16rem}:host(.ic-hero-small),:host(.ic-hero-small) .section-container{min-height:15rem}:host(.secondary-heading),:host(.secondary-heading) .section-container{min-height:14rem}.left-container{min-height:10rem}.secondary-container{min-height:10rem}.secondary-heading,.secondary-subheading{margin-left:5.922rem}.right-container{margin-left:3.125rem}}@media (min-width: 641px) and (max-width: 800px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:16rem}:host(.ic-hero-small),:host(.ic-hero-small) .section-container{min-height:15rem}:host(.secondary-heading),:host(.secondary-heading) .section-container{min-height:14rem}.left-container{min-height:10rem}.secondary-container{min-height:10rem}.secondary-heading,.secondary-subheading{margin-left:2.125rem}.right-container{margin-left:3.125rem}}@media (min-width: 481px) and (max-width: 640px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:13rem}:host(.ic-hero-small),:host(.ic-hero-small) .section-container{min-height:10.813rem}:host(.secondary-heading),:host(.secondary-heading) .section-container{min-height:17.5rem}:host(.secondary-heading) .section-container,:host(.ic-hero-small) .section-container,.section-container{flex-direction:column;align-items:flex-start}.left-container{height:-moz-fit-content;height:fit-content}.secondary-container{height:-moz-fit-content;height:fit-content;border:none}.right-container{margin-bottom:2.5rem}}@media (max-width: 480px){:host(.has-background-image){background-image:none !important}:host,.section-container{min-height:12rem}:host,.right-container{margin-bottom:var(--ic-space-md)}:host(.ic-hero-small),:host(.ic-hero-small) .section-container{min-height:10.813rem}:host(.secondary-heading),:host(.secondary-heading) .section-container{min-height:16.5rem}:host(.secondary-heading) .section-container,:host(.ic-hero-small) .section-container,.section-container{flex-direction:column;align-items:flex-start}.left-container{height:-moz-fit-content;height:fit-content}.secondary-container{height:-moz-fit-content;height:fit-content;border:none}}';const g=class{constructor(i){e(this,i);this.hostMutationObserver=null;this.hostMutationCallback=e=>{if(e.some((({type:e,addedNodes:t,removedNodes:i})=>e==="childList"?a(t,i,"secondary"):false))){t(this)}};this.foregroundColor=r();this.rightContent=false;this.leftContentFullWidth=!this.rightContent&&this.secondaryHeading===undefined;this.scrollFactor="right -100px";this.aligned="left";this.backgroundImage=undefined;this.contentAligned="left";this.disableBackgroundParallax=false;this.heading=undefined;this.secondaryHeading=undefined;this.secondarySubheading=undefined;this.size="medium";this.subheading=undefined}disconnectedCallback(){var e;(e=this.hostMutationObserver)===null||e===void 0?void 0:e.disconnect()}componentWillLoad(){this.rightContent=s(this.el,"secondary")}componentDidLoad(){!c(this.el,"heading")&&h([{prop:this.heading,propName:"heading"}],"Hero");this.hostMutationObserver=new MutationObserver(this.hostMutationCallback);this.hostMutationObserver.observe(this.el,{childList:true})}componentWillRender(){this.rightContent=s(this.el,"secondary")}themeChangeHandler(e){const t=e.detail;this.foregroundColor=t.mode}doScroll(){if(this.disableBackgroundParallax){return}const e=document.scrollingElement.scrollTop;const t=.4;const i=-100+e*t;this.scrollFactor="right "+i+"px"}render(){const{aligned:e,size:t,heading:o,subheading:a,secondaryHeading:r,secondarySubheading:s,foregroundColor:c,backgroundImage:h,scrollFactor:m}=this;let g={};if(d(h)){g={"background-image":"url("+h+")","background-position":m}}return i(n,{class:{[`ic-hero-${l.Dark}`]:c===l.Dark,["has-background-image"]:h!==undefined,["ic-hero-small"]:t==="small",["secondary-heading"]:!!r},style:g},i("ic-section-container",{aligned:e,fullHeight:true,class:"section-container"},i("div",{class:{["left-container"]:true,["left-container-full-width"]:this.leftContentFullWidth}},i("div",{class:"heading"},i("slot",{name:"heading"},i("ic-typography",{variant:t==="small"?"h2":"h1",class:{["heading-bottom-spacing"]:t!=="small"}},i("h2",null,o)))),i("div",{class:"subheading"},i("slot",{name:"subheading"},i("ic-typography",{variant:"body"},a))),i("div",{class:"interaction-container"},i("slot",{name:"interaction"}))),(d(r)||this.rightContent)&&i("div",{class:"right-container"},i("slot",{name:"secondary"},r&&i("div",{class:"secondary-container"},i("div",{class:"secondary-heading"},i("ic-typography",{variant:"h4"},i("h3",null,r))),i("div",{class:"secondary-subheading"},i("ic-typography",{variant:"subtitle-small"},s)))))))}get el(){return o(this)}};g.style=m;export{g as ic_hero};
2
- //# sourceMappingURL=p-979c2792.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icHeroCss","Hero","this","hostMutationObserver","hostMutationCallback","mutationList","some","type","addedNodes","removedNodes","checkSlotInChildMutations","forceUpdate","getThemeForegroundColor","rightContent","secondaryHeading","undefined","disconnectedCallback","_a","disconnect","componentWillLoad","slotHasContent","el","componentDidLoad","isSlotUsed","onComponentRequiredPropUndefined","prop","heading","propName","MutationObserver","observe","childList","componentWillRender","themeChangeHandler","ev","theme","detail","foregroundColor","mode","doScroll","disableBackgroundParallax","scrolltotop","document","scrollingElement","scrollTop","factor","y","scrollFactor","render","aligned","size","subheading","secondarySubheading","backgroundImage","style","isPropDefined","h","Host","class","IcThemeForegroundEnum","Dark","fullHeight","leftContentFullWidth","name","variant"],"sources":["src/components/ic-hero/ic-hero.css?tag=ic-hero&encapsulation=shadow","src/components/ic-hero/ic-hero.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n background-color: var(--ic-theme-tertiary);\n\n --hero-heading-bottom-margin: var(--ic-space-md);\n}\n\n:host(.ic-hero-dark) {\n background-color: var(--ic-theme-secondary);\n\n --ic-hero-heading: var(--ic-color-text-primary-light);\n --ic-hero-body: var(--ic-color-text-primary-light);\n --ic-hero-secondary-heading: var(--ic-color-text-primary-light);\n}\n\n.heading {\n --ic-typography-color: var(--ic-hero-heading);\n}\n\n.subheading {\n --ic-typography-color: var(--ic-hero-body);\n}\n\n.secondary-container {\n --ic-typography-color: var(--ic-hero-secondary-heading);\n}\n\n:host(.has-background-image) {\n background-repeat: no-repeat;\n background-position: right -6.25rem;\n background-size: auto calc(100% + 6.25rem);\n box-shadow: var(--ic-elevation-inset);\n}\n\n@media (prefers-reduced-motion) {\n :host(.has-background-image) {\n background-position: right -6.25rem !important;\n }\n}\n\nic-typography.heading-bottom-spacing {\n margin-bottom: var(--hero-heading-bottom-margin);\n}\n\n.section-container {\n display: flex;\n align-items: center;\n height: 100%;\n}\n\n.left-container {\n padding: var(--ic-space-xl) 0;\n}\n\n.left-container:not(.left-container-full-width) {\n flex-basis: 50%;\n}\n\n.left-container-full-width {\n width: 100%;\n}\n\n.right-container {\n flex-basis: 50%;\n}\n\n.interaction-container {\n display: flex;\n gap: var(--ic-space-md);\n margin-top: var(--ic-space-lg);\n flex-wrap: wrap;\n}\n\n.secondary-container {\n display: flex;\n flex-direction: column;\n justify-content: center;\n border-left: var(--ic-space-xxxs) solid var(--ic-hero-keyline);\n}\n\n.secondary-subheading {\n margin-top: var(--ic-space-xxs);\n}\n\n:host([content-aligned=\"left\"]) .left-container,\n:host([content-aligned=\"left\"]) .interaction-container {\n justify-content: flex-start;\n text-align: left;\n}\n\n:host([content-aligned=\"center\"]) .left-container,\n:host([content-aligned=\"center\"]) .interaction-container {\n justify-content: center;\n text-align: center;\n}\n\n@media (min-width: 992px) {\n .left-container-full-width {\n width: 66.6%;\n }\n}\n\n@media (min-width: 1044px) {\n :host,\n .section-container {\n min-height: 13rem;\n }\n\n :host(.ic-hero-small),\n :host(.ic-hero-small) .section-container {\n min-height: 10.813rem;\n }\n\n .left-container:not(.left-container-full-width) {\n flex-basis: 66.6%;\n }\n\n .left-container {\n min-height: 9rem;\n }\n\n .right-container {\n flex-basis: 33.3%;\n margin-left: 3.125rem;\n }\n\n .secondary-container {\n min-height: 9rem;\n }\n\n .secondary-heading,\n .secondary-subheading {\n margin-left: 3.938rem;\n }\n}\n\n@media (min-width: 801px) and (max-width: 1043px) {\n :host(.has-background-image) {\n background-image: none !important;\n }\n\n :host,\n .section-container {\n min-height: 16rem;\n }\n\n :host(.ic-hero-small),\n :host(.ic-hero-small) .section-container {\n min-height: 15rem;\n }\n\n :host(.secondary-heading),\n :host(.secondary-heading) .section-container {\n min-height: 14rem;\n }\n\n .left-container {\n min-height: 10rem;\n }\n\n .secondary-container {\n min-height: 10rem;\n }\n\n .secondary-heading,\n .secondary-subheading {\n margin-left: 5.922rem;\n }\n\n .right-container {\n margin-left: 3.125rem;\n }\n}\n\n@media (min-width: 641px) and (max-width: 800px) {\n :host(.has-background-image) {\n background-image: none !important;\n }\n\n :host,\n .section-container {\n min-height: 16rem;\n }\n\n :host(.ic-hero-small),\n :host(.ic-hero-small) .section-container {\n min-height: 15rem;\n }\n\n :host(.secondary-heading),\n :host(.secondary-heading) .section-container {\n min-height: 14rem;\n }\n\n .left-container {\n min-height: 10rem;\n }\n\n .secondary-container {\n min-height: 10rem;\n }\n\n .secondary-heading,\n .secondary-subheading {\n margin-left: 2.125rem;\n }\n\n .right-container {\n margin-left: 3.125rem;\n }\n}\n\n@media (min-width: 481px) and (max-width: 640px) {\n :host(.has-background-image) {\n background-image: none !important;\n }\n\n :host,\n .section-container {\n min-height: 13rem;\n }\n\n :host(.ic-hero-small),\n :host(.ic-hero-small) .section-container {\n min-height: 10.813rem;\n }\n\n :host(.secondary-heading),\n :host(.secondary-heading) .section-container {\n min-height: 17.5rem;\n }\n\n :host(.secondary-heading) .section-container,\n :host(.ic-hero-small) .section-container,\n .section-container {\n flex-direction: column;\n align-items: flex-start;\n }\n\n .left-container {\n height: fit-content;\n }\n\n .secondary-container {\n height: fit-content;\n border: none;\n }\n\n .right-container {\n margin-bottom: 2.5rem;\n }\n}\n\n@media (max-width: 480px) {\n :host(.has-background-image) {\n background-image: none !important;\n }\n\n :host,\n .section-container {\n min-height: 12rem;\n }\n\n :host,\n .right-container {\n margin-bottom: var(--ic-space-md);\n }\n\n :host(.ic-hero-small),\n :host(.ic-hero-small) .section-container {\n min-height: 10.813rem;\n }\n\n :host(.secondary-heading),\n :host(.secondary-heading) .section-container {\n min-height: 16.5rem;\n }\n\n :host(.secondary-heading) .section-container,\n :host(.ic-hero-small) .section-container,\n .section-container {\n flex-direction: column;\n align-items: flex-start;\n }\n\n .left-container {\n height: fit-content;\n }\n\n .secondary-container {\n height: fit-content;\n border: none;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n State,\n Listen,\n forceUpdate,\n} from \"@stencil/core\";\nimport {\n IcAlignment,\n IcSizesNoLarge,\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\nimport {\n slotHasContent,\n getThemeForegroundColor,\n onComponentRequiredPropUndefined,\n isPropDefined,\n isSlotUsed,\n checkSlotInChildMutations,\n} from \"../../utils/helpers\";\nimport { IcHeroContentAlignments } from \"./ic-hero.types\";\n\n/**\n * @slot heading - Content will be rendered in the title area, in place of the heading.\n * @slot subheading - Content will be rendered in the title area, in place of the subheading.\n * @slot interaction - Content will be rendered in the interaction area, adjacent to the title area.\n * @slot secondary - Content will be rendered in the secondary content area.\n */\n\n@Component({\n tag: \"ic-hero\",\n styleUrl: \"ic-hero.css\",\n shadow: true,\n})\nexport class Hero {\n private hostMutationObserver: MutationObserver = null;\n\n @Element() el: HTMLIcHeroElement;\n\n @State() foregroundColor: IcThemeForeground = getThemeForegroundColor();\n @State() rightContent: boolean = false;\n // set by above state\n @State() leftContentFullWidth: boolean =\n !this.rightContent && this.secondaryHeading === undefined;\n @State() scrollFactor: string = \"right -100px\";\n\n /**\n * The alignment of the hero.\n */\n @Prop() aligned: IcAlignment = \"left\";\n\n /**\n * The optional background image.\n */\n @Prop() backgroundImage?: string;\n\n /**\n * The alignment of the hero content.\n */\n @Prop() contentAligned: IcHeroContentAlignments = \"left\";\n\n /**\n * If `true`, the background image (if set) will not scroll using a parallax effect.\n */\n @Prop() disableBackgroundParallax?: boolean = false;\n\n /**\n * The heading of the hero. An <h2> level heading.\n */\n @Prop() heading: string;\n\n /**\n * The optional secondary heading, an <h3> level heading. Replaced by slotted right content.\n */\n @Prop() secondaryHeading?: string;\n\n /**\n * The optional secondary subheading, replaced by slotted right content.\n */\n @Prop() secondarySubheading?: string;\n\n /**\n * The size of the hero component.\n */\n @Prop() size?: IcSizesNoLarge = \"medium\";\n\n /**\n * The description for the hero.\n */\n @Prop() subheading?: string;\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.rightContent = slotHasContent(this.el, \"secondary\");\n }\n\n componentDidLoad(): void {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Hero\"\n );\n\n this.hostMutationObserver = new MutationObserver(this.hostMutationCallback);\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n componentWillRender(): void {\n this.rightContent = slotHasContent(this.el, \"secondary\");\n }\n\n @Listen(\"themeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.foregroundColor = theme.mode;\n }\n\n @Listen(\"scroll\", { target: \"document\" })\n doScroll(): void {\n if (this.disableBackgroundParallax) {\n return;\n }\n\n const scrolltotop = document.scrollingElement.scrollTop;\n const factor = 0.4;\n const y = -100 + scrolltotop * factor;\n this.scrollFactor = \"right \" + y + \"px\";\n }\n\n private hostMutationCallback = (mutationList: MutationRecord[]): void => {\n if (\n mutationList.some(({ type, addedNodes, removedNodes }) =>\n type === \"childList\"\n ? checkSlotInChildMutations(addedNodes, removedNodes, \"secondary\")\n : false\n )\n ) {\n forceUpdate(this);\n }\n };\n\n render() {\n const {\n aligned,\n size,\n heading,\n subheading,\n secondaryHeading,\n secondarySubheading,\n foregroundColor,\n backgroundImage,\n scrollFactor,\n } = this;\n\n let style = {};\n\n if (isPropDefined(backgroundImage)) {\n style = {\n \"background-image\": \"url(\" + backgroundImage + \")\",\n \"background-position\": scrollFactor,\n };\n }\n\n return (\n <Host\n class={{\n [`ic-hero-${IcThemeForegroundEnum.Dark}`]:\n foregroundColor === IcThemeForegroundEnum.Dark,\n [\"has-background-image\"]: backgroundImage !== undefined,\n [\"ic-hero-small\"]: size === \"small\",\n [\"secondary-heading\"]: !!secondaryHeading,\n }}\n style={style}\n >\n <ic-section-container\n aligned={aligned}\n fullHeight\n class=\"section-container\"\n >\n <div\n class={{\n [\"left-container\"]: true,\n [\"left-container-full-width\"]: this.leftContentFullWidth,\n }}\n >\n <div class=\"heading\">\n <slot name=\"heading\">\n <ic-typography\n variant={size === \"small\" ? \"h2\" : \"h1\"}\n class={{\n [\"heading-bottom-spacing\"]: size !== \"small\",\n }}\n >\n <h2>{heading}</h2>\n </ic-typography>\n </slot>\n </div>\n <div class=\"subheading\">\n <slot name=\"subheading\">\n <ic-typography variant=\"body\">{subheading}</ic-typography>\n </slot>\n </div>\n <div class=\"interaction-container\">\n <slot name=\"interaction\"></slot>\n </div>\n </div>\n {(isPropDefined(secondaryHeading) || this.rightContent) && (\n <div class=\"right-container\">\n <slot name=\"secondary\">\n {secondaryHeading && (\n <div class=\"secondary-container\">\n <div class=\"secondary-heading\">\n <ic-typography variant=\"h4\">\n <h3>{secondaryHeading}</h3>\n </ic-typography>\n </div>\n <div class=\"secondary-subheading\">\n <ic-typography variant=\"subtitle-small\">\n {secondarySubheading}\n </ic-typography>\n </div>\n </div>\n )}\n </slot>\n </div>\n )}\n </ic-section-container>\n </Host>\n );\n }\n}\n"],"mappings":"oIAAA,MAAMA,EAAY,guN,MCuCLC,EAAI,M,yBACPC,KAAAC,qBAAyC,KAmGzCD,KAAAE,qBAAwBC,IAC9B,GACEA,EAAaC,MAAK,EAAGC,OAAMC,aAAYC,kBACrCF,IAAS,YACLG,EAA0BF,EAAYC,EAAc,aACpD,QAEN,CACAE,EAAYT,K,wBAvG8BU,I,kBACb,M,2BAG9BV,KAAKW,cAAgBX,KAAKY,mBAAqBC,U,kBAClB,e,aAKD,O,mDAUmB,O,+BAKJ,M,oGAoBd,S,0BAOhC,oBAAAC,G,OACEC,EAAAf,KAAKC,wBAAoB,MAAAc,SAAA,SAAAA,EAAEC,Y,CAG7B,iBAAAC,GACEjB,KAAKW,aAAeO,EAAelB,KAAKmB,GAAI,Y,CAG9C,gBAAAC,IACGC,EAAWrB,KAAKmB,GAAI,YACnBG,EACE,CAAC,CAAEC,KAAMvB,KAAKwB,QAASC,SAAU,YACjC,QAGJzB,KAAKC,qBAAuB,IAAIyB,iBAAiB1B,KAAKE,sBACtDF,KAAKC,qBAAqB0B,QAAQ3B,KAAKmB,GAAI,CACzCS,UAAW,M,CAIf,mBAAAC,GACE7B,KAAKW,aAAeO,EAAelB,KAAKmB,GAAI,Y,CAI9C,kBAAAW,CAAmBC,GACjB,MAAMC,EAAiBD,EAAGE,OAC1BjC,KAAKkC,gBAAkBF,EAAMG,I,CAI/B,QAAAC,GACE,GAAIpC,KAAKqC,0BAA2B,CAClC,M,CAGF,MAAMC,EAAcC,SAASC,iBAAiBC,UAC9C,MAAMC,EAAS,GACf,MAAMC,GAAK,IAAML,EAAcI,EAC/B1C,KAAK4C,aAAe,SAAWD,EAAI,I,CAerC,MAAAE,GACE,MAAMC,QACJA,EAAOC,KACPA,EAAIvB,QACJA,EAAOwB,WACPA,EAAUpC,iBACVA,EAAgBqC,oBAChBA,EAAmBf,gBACnBA,EAAegB,gBACfA,EAAeN,aACfA,GACE5C,KAEJ,IAAImD,EAAQ,GAEZ,GAAIC,EAAcF,GAAkB,CAClCC,EAAQ,CACN,mBAAoB,OAASD,EAAkB,IAC/C,sBAAuBN,E,CAI3B,OACES,EAACC,EAAI,CACHC,MAAO,CACL,CAAC,WAAWC,EAAsBC,QAChCvB,IAAoBsB,EAAsBC,KAC5C,CAAC,wBAAyBP,IAAoBrC,UAC9C,CAAC,iBAAkBkC,IAAS,QAC5B,CAAC,uBAAwBnC,GAE3BuC,MAAOA,GAEPE,EAAA,wBACEP,QAASA,EACTY,WAAU,KACVH,MAAM,qBAENF,EAAA,OACEE,MAAO,CACL,CAAC,kBAAmB,KACpB,CAAC,6BAA8BvD,KAAK2D,uBAGtCN,EAAA,OAAKE,MAAM,WACTF,EAAA,QAAMO,KAAK,WACTP,EAAA,iBACEQ,QAASd,IAAS,QAAU,KAAO,KACnCQ,MAAO,CACL,CAAC,0BAA2BR,IAAS,UAGvCM,EAAA,UAAK7B,MAIX6B,EAAA,OAAKE,MAAM,cACTF,EAAA,QAAMO,KAAK,cACTP,EAAA,iBAAeQ,QAAQ,QAAQb,KAGnCK,EAAA,OAAKE,MAAM,yBACTF,EAAA,QAAMO,KAAK,mBAGbR,EAAcxC,IAAqBZ,KAAKW,eACxC0C,EAAA,OAAKE,MAAM,mBACTF,EAAA,QAAMO,KAAK,aACRhD,GACCyC,EAAA,OAAKE,MAAM,uBACTF,EAAA,OAAKE,MAAM,qBACTF,EAAA,iBAAeQ,QAAQ,MACrBR,EAAA,UAAKzC,KAGTyC,EAAA,OAAKE,MAAM,wBACTF,EAAA,iBAAeQ,QAAQ,kBACpBZ,Q"}
@@ -1,2 +0,0 @@
1
- import{r as t,h as e,g as i}from"./p-6b5e91e2.js";import{o,a as n}from"./p-b7eb8ef9.js";const s=`<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 16 16" aria-hidden="true">\n <path d="M0 8L1.41 9.41L7 3.83V16H9V3.83L14.58 9.42L16 8L8 0L0 8Z"/>\n</svg>\n`;const a='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;position:absolute;right:0}ic-button{height:2.5rem;align-items:center;background-color:var(--ic-architectural-white);border-radius:5rem;box-shadow:var(--ic-elevation-overlay);visibility:hidden;opacity:0;position:fixed;right:var(--ic-space-md);bottom:var(--ic-space-md);transition:visibility 0s linear var(--ic-transition-duration-slow),\n opacity var(--ic-transition-duration-slow);z-index:var(--ic-z-index-back-to-top)}ic-button::part(button){border-radius:5rem;border:var(--ic-border-width) solid var(--ic-action-default)}ic-button.show{visibility:visible;opacity:1;transition:visibility 0s linear 0s,\n opacity var(--ic-transition-duration-slow),\n box-shadow var(--ic-easing-transition-fast)}ic-button.by-footer{position:relative;right:var(--ic-space-md);bottom:3.5rem}ic-button.offset-banner{margin-bottom:var(--ic-space-lg)}.ic-back-to-top-icon{padding-top:var(--ic-space-xxs);padding-right:var(--ic-space-xs)}.ic-back-to-top-icon>svg{height:var(--ic-space-md);width:var(--ic-space-md)}.icon-only{width:2.5rem}.icon-only .ic-back-to-top-icon>svg{padding-left:calc(var(--ic-space-xs) - var(--ic-space-1px))}@media (forced-colors: active){.icon-only .ic-back-to-top-icon>svg{padding-left:calc(var(--ic-space-xs) - var(--ic-space-xxxs))}}';const r="Back to top";const c=class{constructor(e){t(this,e);this.topObserver=null;this.getObservedEl=()=>document.querySelector("#ic-back-to-top-target");this.setTargetElVisible=t=>{this.targetElVisible=t};this.setFooterVisible=t=>{this.checkForClassificationBanner();this.footerVisible=typeof window!=="undefined"&&window.scrollY===0?false:t};this.targetElObserverCallback=t=>{this.setTargetElVisible(t[0].isIntersecting)};this.footerObserverCallback=t=>{this.setFooterVisible(t[0].isIntersecting)};this.findTargetEl=t=>{let e=null;if(t===null||t===undefined){console.log("Error: No target ID specified for back to top component - defaulting to top of page")}else{e=document.querySelector(`${t.startsWith("#")?"":"#"}${t}`);if(e===null){console.log(`Error: Back to top target element '${t}' not found - defaulting to top of page`)}}return e};this.createTopObserver=t=>{this.targetEl=this.findTargetEl(t);let e;if(this.topObserver!==null){const t=this.getObservedEl();if(t!==null){this.topObserver.unobserve(t);t.remove()}}if(this.targetEl===null){e=document.body;this.targetEl=e.firstElementChild;this.isTargetElNull=true}else{e=this.targetEl.parentNode;this.isTargetElNull=false}const i=document.createElement("div");i.setAttribute("id","ic-back-to-top-target");i.setAttribute("tabindex","-1");e.insertBefore(i,this.targetEl);const o=getComputedStyle(this.targetEl).marginTop;this.topObserver=new IntersectionObserver(this.targetElObserverCallback,{threshold:[0],rootMargin:`${o} 0px 0px 0px`});this.topObserver.observe(i)};this.handleClick=()=>{if(this.isTargetElNull){window.scrollTo(0,0)}else{this.targetEl.scrollIntoView()}this.getObservedEl().focus()};this.checkForClassificationBanner=()=>{const t=document.querySelectorAll("ic-classification-banner:not([inline='true'])");this.bannerOffset=t.length>0};this.bannerOffset=false;this.footerVisible=false;this.targetElVisible=true;this.target=undefined;this.variant="default"}watchPropHandler(t,e){o(e,t,(()=>{this.createTopObserver(t)}))}componentWillLoad(){this.createTopObserver(this.target);this.checkForClassificationBanner();let t=document.querySelectorAll("ic-footer");if(t.length===0){t=document.querySelectorAll("footer")}if(t.length){const e=t[t.length-1];const i=this.bannerOffset?.15:0;const o=new IntersectionObserver(this.footerObserverCallback,{threshold:[i]});o.observe(e)}}componentDidLoad(){n([{prop:this.target,propName:"target"}],"Back to Top")}render(){const{variant:t,bannerOffset:i,targetElVisible:o,footerVisible:n}=this;const a=t==="icon"?"icon":"tertiary";const c=t==="icon"?"large":"medium";const l=t==="icon"?"":r;return e("ic-button",{"aria-label":r,variant:a,size:c,onClick:this.handleClick,class:{["offset-banner"]:i,["show"]:!o,["by-footer"]:n,["icon-only"]:t==="icon"}},e("span",{class:"ic-back-to-top-icon",innerHTML:s}),l)}static get delegatesFocus(){return true}get el(){return i(this)}static get watchers(){return{target:["watchPropHandler"]}}};c.style=a;export{c as ic_back_to_top};
2
- //# sourceMappingURL=p-97fb2bdf.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icBackToTopCss","backToTopLabel","BackToTop","this","topObserver","getObservedEl","document","querySelector","setTargetElVisible","visible","targetElVisible","setFooterVisible","checkForClassificationBanner","footerVisible","window","scrollY","targetElObserverCallback","entries","isIntersecting","footerObserverCallback","findTargetEl","target","targetElement","undefined","console","log","startsWith","createTopObserver","targetEl","objParent","observedEl","unobserve","remove","body","firstElementChild","isTargetElNull","parentNode","objBackToTopTargetEl","createElement","setAttribute","insertBefore","marginTop","getComputedStyle","IntersectionObserver","threshold","rootMargin","observe","handleClick","scrollTo","scrollIntoView","focus","banners","querySelectorAll","bannerOffset","length","watchPropHandler","newValue","oldValue","onComponentPropUndefinedChange","componentWillLoad","footers","footerEl","footerObserver","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","render","variant","btnVariant","size","label","h","onClick","class","innerHTML","ArrowUpward"],"sources":["src/components/ic-back-to-top/ic-back-to-top.css?tag=ic-back-to-top&encapsulation=shadow","src/components/ic-back-to-top/ic-back-to-top.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-back-to-top: z-index of back to top\n */\n\n:host {\n display: block;\n position: absolute;\n right: 0;\n}\n\nic-button {\n height: 2.5rem;\n align-items: center;\n background-color: var(--ic-architectural-white);\n border-radius: 5rem;\n box-shadow: var(--ic-elevation-overlay);\n visibility: hidden;\n opacity: 0;\n position: fixed;\n right: var(--ic-space-md);\n bottom: var(--ic-space-md);\n transition: visibility 0s linear var(--ic-transition-duration-slow),\n opacity var(--ic-transition-duration-slow);\n z-index: var(--ic-z-index-back-to-top);\n}\n\nic-button::part(button) {\n border-radius: 5rem;\n border: var(--ic-border-width) solid var(--ic-action-default);\n}\n\nic-button.show {\n visibility: visible;\n opacity: 1;\n transition: visibility 0s linear 0s,\n opacity var(--ic-transition-duration-slow),\n box-shadow var(--ic-easing-transition-fast);\n}\n\nic-button.by-footer {\n position: relative;\n right: var(--ic-space-md);\n bottom: 3.5rem;\n}\n\nic-button.offset-banner {\n margin-bottom: var(--ic-space-lg);\n}\n\n.ic-back-to-top-icon {\n padding-top: var(--ic-space-xxs);\n padding-right: var(--ic-space-xs);\n}\n\n.ic-back-to-top-icon > svg {\n height: var(--ic-space-md);\n width: var(--ic-space-md);\n}\n\n.icon-only {\n width: 2.5rem;\n}\n\n.icon-only .ic-back-to-top-icon > svg {\n padding-left: calc(var(--ic-space-xs) - var(--ic-space-1px));\n}\n\n@media (forced-colors: active) {\n .icon-only .ic-back-to-top-icon > svg {\n padding-left: calc(var(--ic-space-xs) - var(--ic-space-xxxs));\n }\n}\n","import { Component, h, Element, Prop, State, Watch } from \"@stencil/core\";\nimport ArrowUpward from \"./assets/ArrowUpward.svg\";\nimport {\n onComponentPropUndefinedChange,\n onComponentRequiredPropUndefined,\n} from \"../../utils/helpers\";\nimport { IcBackToTopVariants } from \"./ic-back-to-top.types\";\n\nconst backToTopLabel = \"Back to top\";\n\n@Component({\n tag: \"ic-back-to-top\",\n styleUrl: \"ic-back-to-top.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class BackToTop {\n private isTargetElNull: boolean;\n private targetEl: Element;\n private topObserver: IntersectionObserver = null;\n\n @Element() el: HTMLIcBackToTopElement;\n\n @State() bannerOffset: boolean = false;\n @State() footerVisible: boolean = false;\n @State() targetElVisible: boolean = true;\n\n /**\n * The ID of the element to jump back to when the link is clicked.\n */\n @Prop() target!: string;\n\n /**\n * The variant of the button to render\n */\n @Prop() variant: IcBackToTopVariants = \"default\";\n\n @Watch(\"target\")\n watchPropHandler(newValue: string, oldValue: string): void {\n //added for gatsby rehydration issue where prop is initially undefined but then changes to actual value\n onComponentPropUndefinedChange(oldValue, newValue, () => {\n this.createTopObserver(newValue);\n });\n }\n\n componentWillLoad(): void {\n this.createTopObserver(this.target);\n this.checkForClassificationBanner();\n\n //observer for when footer scrolls into view\n let footers = document.querySelectorAll(\n \"ic-footer\"\n ) as NodeListOf<HTMLElement>;\n if (footers.length === 0) {\n footers = document.querySelectorAll(\"footer\");\n }\n\n if (footers.length) {\n const footerEl = footers[footers.length - 1];\n const threshold = this.bannerOffset ? 0.15 : 0;\n const footerObserver = new IntersectionObserver(\n this.footerObserverCallback,\n { threshold: [threshold] }\n );\n footerObserver.observe(footerEl);\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.target, propName: \"target\" }],\n \"Back to Top\"\n );\n }\n\n private getObservedEl = () => {\n return document.querySelector(\"#ic-back-to-top-target\");\n };\n\n private setTargetElVisible = (visible: boolean) => {\n this.targetElVisible = visible;\n };\n\n private setFooterVisible = (visible: boolean) => {\n this.checkForClassificationBanner();\n this.footerVisible =\n typeof window !== \"undefined\" && window.scrollY === 0 ? false : visible;\n };\n\n private targetElObserverCallback = (entries: IntersectionObserverEntry[]) => {\n this.setTargetElVisible(entries[0].isIntersecting);\n };\n\n private footerObserverCallback = (entries: IntersectionObserverEntry[]) => {\n this.setFooterVisible(entries[0].isIntersecting);\n };\n\n private findTargetEl = (target: string): Element => {\n let targetElement: Element = null;\n if (target === null || target === undefined) {\n console.log(\n \"Error: No target ID specified for back to top component - defaulting to top of page\"\n );\n } else {\n targetElement = document.querySelector(\n `${target.startsWith(\"#\") ? \"\" : \"#\"}${target}`\n );\n if (targetElement === null) {\n console.log(\n `Error: Back to top target element '${target}' not found - defaulting to top of page`\n );\n }\n }\n return targetElement;\n };\n\n private createTopObserver = (target: string) => {\n this.targetEl = this.findTargetEl(target);\n let objParent: HTMLElement;\n\n //remove old element & observer\n if (this.topObserver !== null) {\n const observedEl = this.getObservedEl();\n if (observedEl !== null) {\n this.topObserver.unobserve(observedEl);\n observedEl.remove();\n }\n }\n\n if (this.targetEl === null) {\n objParent = document.body;\n this.targetEl = objParent.firstElementChild;\n this.isTargetElNull = true;\n } else {\n objParent = this.targetEl.parentNode as HTMLElement;\n this.isTargetElNull = false;\n }\n\n //insert a new 0px height element before specified target that can be used to determine when page is scrolled\n const objBackToTopTargetEl = document.createElement(\"div\");\n objBackToTopTargetEl.setAttribute(\"id\", \"ic-back-to-top-target\");\n objBackToTopTargetEl.setAttribute(\"tabindex\", \"-1\"); // Needed for virtual cursor behaviour to work\n objParent.insertBefore(objBackToTopTargetEl, this.targetEl);\n\n // resize observer needs to factor in any top margin on the target el\n const marginTop = getComputedStyle(this.targetEl).marginTop;\n this.topObserver = new IntersectionObserver(this.targetElObserverCallback, {\n threshold: [0],\n rootMargin: `${marginTop} 0px 0px 0px`,\n });\n this.topObserver.observe(objBackToTopTargetEl);\n };\n\n private handleClick = () => {\n if (this.isTargetElNull) {\n window.scrollTo(0, 0);\n } else {\n this.targetEl.scrollIntoView();\n }\n // Get virtual cursor to move\n (this.getObservedEl() as HTMLElement).focus();\n };\n\n private checkForClassificationBanner = () => {\n //adjust position for classification banner at bottom\n const banners = document.querySelectorAll(\n \"ic-classification-banner:not([inline='true'])\"\n );\n this.bannerOffset = banners.length > 0;\n };\n\n render() {\n const { variant, bannerOffset, targetElVisible, footerVisible } = this;\n const btnVariant = variant === \"icon\" ? \"icon\" : \"tertiary\";\n const size = variant === \"icon\" ? \"large\" : \"medium\";\n const label = variant === \"icon\" ? \"\" : backToTopLabel;\n\n return (\n <ic-button\n aria-label={backToTopLabel}\n variant={btnVariant}\n size={size}\n onClick={this.handleClick}\n class={{\n [\"offset-banner\"]: bannerOffset,\n [\"show\"]: !targetElVisible,\n [\"by-footer\"]: footerVisible,\n [\"icon-only\"]: variant === \"icon\",\n }}\n >\n <span class=\"ic-back-to-top-icon\" innerHTML={ArrowUpward} />\n {label}\n </ic-button>\n );\n }\n}\n"],"mappings":"sQAAA,MAAMA,EAAiB,ylHCQvB,MAAMC,EAAiB,c,MASVC,EAAS,M,yBAGZC,KAAAC,YAAoC,KAwDpCD,KAAAE,cAAgB,IACfC,SAASC,cAAc,0BAGxBJ,KAAAK,mBAAsBC,IAC5BN,KAAKO,gBAAkBD,CAAO,EAGxBN,KAAAQ,iBAAoBF,IAC1BN,KAAKS,+BACLT,KAAKU,qBACIC,SAAW,aAAeA,OAAOC,UAAY,EAAI,MAAQN,CAAO,EAGnEN,KAAAa,yBAA4BC,IAClCd,KAAKK,mBAAmBS,EAAQ,GAAGC,eAAe,EAG5Cf,KAAAgB,uBAA0BF,IAChCd,KAAKQ,iBAAiBM,EAAQ,GAAGC,eAAe,EAG1Cf,KAAAiB,aAAgBC,IACtB,IAAIC,EAAyB,KAC7B,GAAID,IAAW,MAAQA,IAAWE,UAAW,CAC3CC,QAAQC,IACN,sF,KAEG,CACLH,EAAgBhB,SAASC,cACvB,GAAGc,EAAOK,WAAW,KAAO,GAAK,MAAML,KAEzC,GAAIC,IAAkB,KAAM,CAC1BE,QAAQC,IACN,sCAAsCJ,2C,EAI5C,OAAOC,CAAa,EAGdnB,KAAAwB,kBAAqBN,IAC3BlB,KAAKyB,SAAWzB,KAAKiB,aAAaC,GAClC,IAAIQ,EAGJ,GAAI1B,KAAKC,cAAgB,KAAM,CAC7B,MAAM0B,EAAa3B,KAAKE,gBACxB,GAAIyB,IAAe,KAAM,CACvB3B,KAAKC,YAAY2B,UAAUD,GAC3BA,EAAWE,Q,EAIf,GAAI7B,KAAKyB,WAAa,KAAM,CAC1BC,EAAYvB,SAAS2B,KACrB9B,KAAKyB,SAAWC,EAAUK,kBAC1B/B,KAAKgC,eAAiB,I,KACjB,CACLN,EAAY1B,KAAKyB,SAASQ,WAC1BjC,KAAKgC,eAAiB,K,CAIxB,MAAME,EAAuB/B,SAASgC,cAAc,OACpDD,EAAqBE,aAAa,KAAM,yBACxCF,EAAqBE,aAAa,WAAY,MAC9CV,EAAUW,aAAaH,EAAsBlC,KAAKyB,UAGlD,MAAMa,EAAYC,iBAAiBvC,KAAKyB,UAAUa,UAClDtC,KAAKC,YAAc,IAAIuC,qBAAqBxC,KAAKa,yBAA0B,CACzE4B,UAAW,CAAC,GACZC,WAAY,GAAGJ,kBAEjBtC,KAAKC,YAAY0C,QAAQT,EAAqB,EAGxClC,KAAA4C,YAAc,KACpB,GAAI5C,KAAKgC,eAAgB,CACvBrB,OAAOkC,SAAS,EAAG,E,KACd,CACL7C,KAAKyB,SAASqB,gB,CAGf9C,KAAKE,gBAAgC6C,OAAO,EAGvC/C,KAAAS,6BAA+B,KAErC,MAAMuC,EAAU7C,SAAS8C,iBACvB,iDAEFjD,KAAKkD,aAAeF,EAAQG,OAAS,CAAC,E,kBAjJP,M,mBACC,M,qBACE,K,mCAUG,S,CAGvC,gBAAAC,CAAiBC,EAAkBC,GAEjCC,EAA+BD,EAAUD,GAAU,KACjDrD,KAAKwB,kBAAkB6B,EAAS,G,CAIpC,iBAAAG,GACExD,KAAKwB,kBAAkBxB,KAAKkB,QAC5BlB,KAAKS,+BAGL,IAAIgD,EAAUtD,SAAS8C,iBACrB,aAEF,GAAIQ,EAAQN,SAAW,EAAG,CACxBM,EAAUtD,SAAS8C,iBAAiB,S,CAGtC,GAAIQ,EAAQN,OAAQ,CAClB,MAAMO,EAAWD,EAAQA,EAAQN,OAAS,GAC1C,MAAMV,EAAYzC,KAAKkD,aAAe,IAAO,EAC7C,MAAMS,EAAiB,IAAInB,qBACzBxC,KAAKgB,uBACL,CAAEyB,UAAW,CAACA,KAEhBkB,EAAehB,QAAQe,E,EAI3B,gBAAAE,GACEC,EACE,CAAC,CAAEC,KAAM9D,KAAKkB,OAAQ6C,SAAU,WAChC,c,CAoGJ,MAAAC,GACE,MAAMC,QAAEA,EAAOf,aAAEA,EAAY3C,gBAAEA,EAAeG,cAAEA,GAAkBV,KAClE,MAAMkE,EAAaD,IAAY,OAAS,OAAS,WACjD,MAAME,EAAOF,IAAY,OAAS,QAAU,SAC5C,MAAMG,EAAQH,IAAY,OAAS,GAAKnE,EAExC,OACEuE,EAAA,0BACcvE,EACZmE,QAASC,EACTC,KAAMA,EACNG,QAAStE,KAAK4C,YACd2B,MAAO,CACL,CAAC,iBAAkBrB,EACnB,CAAC,SAAU3C,EACX,CAAC,aAAcG,EACf,CAAC,aAAcuD,IAAY,SAG7BI,EAAA,QAAME,MAAM,sBAAsBC,UAAWC,IAC5CL,E"}
@@ -1,2 +0,0 @@
1
- import{r as i,f as t,h as e,H as s,g as n,c,F as o}from"./p-6b5e91e2.js";import{c as r,s as a,F as h,Q as u,R as l,a as p,C as d}from"./p-b7eb8ef9.js";import{C as m}from"./p-c2e091d7.js";import{c as f}from"./p-68a5aaff.js";const b="ic-input-component-container{display:flex;border:var(--ic-border-width) solid\n var(--border-color, var(--ic-architectural-400));border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-slow);height:2.5rem;width:var(--input-width, 20rem);padding:var(--ic-space-1px);background-color:var(--input-bg-color, var(--ic-architectural-white));box-sizing:border-box;fill:var(--ic-architectural-400);outline:none}ic-input-component-container.ic-input-component-container-full-width{width:100%}ic-input-component-container.ic-input-component-container-disabled,ic-input-component-container.ic-input-component-container-disabled:hover{border:var(--ic-border-width) dashed\n var(--border-color-disabled, var(--ic-architectural-200))}ic-input-component-container.ic-input-component-container-readonly,ic-input-component-container.ic-input-component-container-readonly:hover{border:none;padding:0}ic-input-component-container.ic-input-component-container-error{border:var(--ic-border-error);padding:0}ic-input-component-container.ic-input-component-container-error:hover{border:var(--ic-border-error-hover)}ic-input-component-container.ic-input-component-container-error:focus-within{border:var(--ic-border-error-pressed)}ic-input-component-container.ic-input-component-container-warning{border:var(--ic-border-warning);padding:0}ic-input-component-container.ic-input-component-container-warning:hover{border:var(--ic-border-warning-hover)}ic-input-component-container.ic-input-component-container-warning:focus-within{border:var(--ic-border-warning-pressed)}ic-input-component-container.ic-input-component-container-success{border:var(--ic-border-success);padding:0}ic-input-component-container.ic-input-component-container-success:hover{border:var(--ic-border-success-hover)}ic-input-component-container.ic-input-component-container-success:focus-within{border:var(--ic-success-border-pressed)}ic-input-component-container.ic-input-component-container-small{height:var(--ic-space-xl)}ic-input-component-container.ic-input-component-container-large{height:var(--ic-space-xxl)}ic-input-component-container.ic-input-component-container-multiline{height:auto}ic-input-component-container .icon-container{margin-top:var(--ic-space-xxs);margin-left:0.438rem;display:flex;align-items:center}ic-input-component-container.ic-input-component-container-multiline .icon-container,ic-input-component-container.ic-input-component-container-multiline.ic-input-component-container-small .icon-container{margin-top:0.375rem;display:block}ic-input-component-container.ic-input-component-container-readonly .icon-container{margin-left:-0.313rem}ic-input-component-container.ic-input-component-container-disabled ::-moz-placeholder{display:none}ic-input-component-container.ic-input-component-container-disabled ::placeholder{display:none}ic-input-component-container .inline-success{margin:var(--ic-space-xs) 0.375rem;display:flex;align-items:center}ic-input-component-container.ic-input-component-container-dark:hover{--border-color:var(--ic-architectural-400)}ic-input-component-container .inline-success>svg{fill:var(--ic-status-success-default);height:1.25rem;width:1.25rem}ic-input-component-container:hover{border:var(--ic-border-hover);color:var(--ic-action-dark-hover)}ic-input-component-container:focus{border:var(--ic-border-pressed)}.focus-indicator{display:flex;width:100%;margin:-0.125rem;padding:0.125rem;border-radius:var(--ic-border-radius);transition:var(--ic-easing-transition-fast)}.focus-indicator:focus-within,.focus-indicator-enabled{box-shadow:var(--ic-border-focus)}.focus-indicator.ic-input-component-container-dark:focus-within{box-shadow:var(--ic-border-focus)}@media (forced-colors: active){ic-input-component-container,.focus-indicator{transition:none}ic-input-component-container:focus-within{border:var(--ic-border-width) solid Highlight;outline:0.125rem solid Highlight}ic-input-component-container.ic-input-component-container-disabled,ic-input-component-container.ic-input-component-container-disabled:hover{border:var(--ic-border-width) dashed GrayText}}";const v=class{constructor(e){i(this,e);this.hostMutationCallback=i=>{if(i.some((({type:i,addedNodes:t,removedNodes:e})=>i==="childList"?r(t,e,"left-icon"):false))){t(this)}};this.appearance="default";this.disabled=false;this.fullWidth=false;this.multiLine=false;this.readonly=false;this.size="medium";this.validationInline=false;this.validationStatus=""}componentDidLoad(){this.hostMutationObserver=new MutationObserver(this.hostMutationCallback);this.hostMutationObserver.observe(this.el,{childList:true})}render(){const{size:i,validationStatus:t,disabled:n,readonly:c,multiLine:o,fullWidth:r,appearance:l,validationInline:p}=this;const d=this.validationStatus!==""&&!this.disabled&&!this.readonly?true:false;return e(s,{class:{[`ic-input-component-container-${i}`]:true,[`ic-input-component-container-${t}`]:d,[`ic-input-component-container-disabled`]:n,[`ic-input-component-container-readonly`]:c,["ic-input-component-container-multiline"]:o,["ic-input-component-container-full-width"]:r,["ic-input-component-container-dark"]:l==="dark"},"aria-disabled":n&&`${n}`},e("div",{class:{"focus-indicator":true,dark:l==="dark"}},a(this.el,"left-icon")&&e("div",{class:{["icon-container"]:true}},e("slot",{name:"left-icon"})),e("slot",null),p&&t===h.Success&&e("span",{class:{["inline-success"]:true},innerHTML:u})))}get el(){return n(this)}};v.style=b;const g="ic-input-container .component-container{display:flex;flex-direction:column}";const x=class{constructor(t){i(this,t);this.disabled=false;this.readonly=false}render(){return e(s,null,e("div",{class:{["component-container"]:true,["disabled"]:this.disabled,["readonly"]:this.readonly}},e("slot",null)))}};x.style=g;const y='html.sc-ic-menu{line-height:1.15;-webkit-text-size-adjust:100%}body.sc-ic-menu{margin:0}main.sc-ic-menu{display:block}h1.sc-ic-menu{font-size:2em;margin:0.67em 0}hr.sc-ic-menu{box-sizing:content-box;height:0;overflow:visible}pre.sc-ic-menu{font-family:monospace, monospace;font-size:1em}a.sc-ic-menu{background-color:transparent}abbr[title].sc-ic-menu{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}b.sc-ic-menu,strong.sc-ic-menu{font-weight:bolder}code.sc-ic-menu,kbd.sc-ic-menu,samp.sc-ic-menu{font-family:monospace, monospace;font-size:1em}small.sc-ic-menu{font-size:80%}sub.sc-ic-menu,sup.sc-ic-menu{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub.sc-ic-menu{bottom:-0.25em}sup.sc-ic-menu{top:-0.5em}img.sc-ic-menu{border-style:none}button.sc-ic-menu,input.sc-ic-menu,optgroup.sc-ic-menu,select.sc-ic-menu,textarea.sc-ic-menu{font-family:inherit;font-size:100%;line-height:1.15;margin:0}button.sc-ic-menu,input.sc-ic-menu{overflow:visible}button.sc-ic-menu,select.sc-ic-menu{text-transform:none}button.sc-ic-menu,[type="button"].sc-ic-menu,[type="reset"].sc-ic-menu,[type="submit"].sc-ic-menu{-webkit-appearance:button}button.sc-ic-menu::-moz-focus-inner,[type="button"].sc-ic-menu::-moz-focus-inner,[type="reset"].sc-ic-menu::-moz-focus-inner,[type="submit"].sc-ic-menu::-moz-focus-inner{border-style:none;padding:0}button.sc-ic-menu:-moz-focusring,[type="button"].sc-ic-menu:-moz-focusring,[type="reset"].sc-ic-menu:-moz-focusring,[type="submit"].sc-ic-menu:-moz-focusring{outline:1px dotted ButtonText}fieldset.sc-ic-menu{padding:0.35em 0.75em 0.625em}legend.sc-ic-menu{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}progress.sc-ic-menu{vertical-align:baseline}textarea.sc-ic-menu{overflow:auto}[type="checkbox"].sc-ic-menu,[type="radio"].sc-ic-menu{box-sizing:border-box;padding:0}[type="number"].sc-ic-menu::-webkit-inner-spin-button,[type="number"].sc-ic-menu::-webkit-outer-spin-button{height:auto}[type="search"].sc-ic-menu{-webkit-appearance:textfield;outline-offset:-2px}[type="search"].sc-ic-menu::-webkit-search-decoration{-webkit-appearance:none}.sc-ic-menu::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}details.sc-ic-menu{display:block}summary.sc-ic-menu{display:list-item}template.sc-ic-menu{display:none}[hidden].sc-ic-menu{display:none}html.sc-ic-menu,body.sc-ic-menu,div.sc-ic-menu,span.sc-ic-menu,applet.sc-ic-menu,object.sc-ic-menu,iframe.sc-ic-menu,h1.sc-ic-menu,h2.sc-ic-menu,h3.sc-ic-menu,h4.sc-ic-menu,h5.sc-ic-menu,h6.sc-ic-menu,p.sc-ic-menu,blockquote.sc-ic-menu,pre.sc-ic-menu,a.sc-ic-menu,abbr.sc-ic-menu,acronym.sc-ic-menu,address.sc-ic-menu,big.sc-ic-menu,cite.sc-ic-menu,code.sc-ic-menu,del.sc-ic-menu,dfn.sc-ic-menu,em.sc-ic-menu,img.sc-ic-menu,ins.sc-ic-menu,kbd.sc-ic-menu,q.sc-ic-menu,s.sc-ic-menu,samp.sc-ic-menu,small.sc-ic-menu,strike.sc-ic-menu,strong.sc-ic-menu,sub.sc-ic-menu,sup.sc-ic-menu,tt.sc-ic-menu,var.sc-ic-menu,b.sc-ic-menu,u.sc-ic-menu,i.sc-ic-menu,center.sc-ic-menu,dl.sc-ic-menu,dt.sc-ic-menu,dd.sc-ic-menu,ol.sc-ic-menu,ul.sc-ic-menu,li.sc-ic-menu,fieldset.sc-ic-menu,form.sc-ic-menu,label.sc-ic-menu,legend.sc-ic-menu,table.sc-ic-menu,caption.sc-ic-menu,tbody.sc-ic-menu,tfoot.sc-ic-menu,thead.sc-ic-menu,tr.sc-ic-menu,th.sc-ic-menu,td.sc-ic-menu,article.sc-ic-menu,aside.sc-ic-menu,canvas.sc-ic-menu,details.sc-ic-menu,embed.sc-ic-menu,figure.sc-ic-menu,figcaption.sc-ic-menu,footer.sc-ic-menu,header.sc-ic-menu,hgroup.sc-ic-menu,menu.sc-ic-menu,nav.sc-ic-menu,output.sc-ic-menu,ruby.sc-ic-menu,section.sc-ic-menu,summary.sc-ic-menu,time.sc-ic-menu,mark.sc-ic-menu,audio.sc-ic-menu,video.sc-ic-menu{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}@media (prefers-reduced-motion: no-preference){.ic-menu-open.sc-ic-menu-h .menu.sc-ic-menu{transition:max-height var(--ic-transition-duration-slow)}}.sc-ic-menu-h{max-height:0;width:var(--menu-width, var(--input-width, 20rem));color:var(--menu-item-text-color, var(--ic-color-text-primary));--ic-typography-color:var(\n --menu-item-text-color,\n var(--ic-color-text-primary)\n );background-color:var(--menu-bg-color, var(--ic-architectural-white));position:relative;z-index:var(--ic-z-index-menu);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay);border-radius:var(--ic-border-radius)}.ic-menu-open.sc-ic-menu-h:not(.ic-menu-no-focus):focus-within{box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline)}.ic-select-select-all-focused.sc-ic-menu-h{box-shadow:var(--ic-elevation-overlay) !important}#retry-button.sc-ic-menu::part(button){height:var(--ic-space-lg)}.small.sc-ic-menu #retry-button.sc-ic-menu::part(button){height:var(--ic-space-md)}.on-dialog.sc-ic-menu-h{inset:auto !important}.menu.sc-ic-menu{text-decoration:none;list-style-type:none;border-radius:1px;background-color:var(--menu-bg-color, var(--ic-architectural-white));visibility:hidden;max-height:0;overflow-y:hidden}.menu.sc-ic-menu:has(+.option-bar).sc-ic-menu{border-radius:0 0 1px 1px}.menu-scroll.sc-ic-menu{overflow-y:auto}.menu.sc-ic-menu:focus-visible{outline:none}.ic-menu-open.sc-ic-menu-h{max-height:none;display:flex;flex-direction:column-reverse;border:var(--ic-border-width) solid\n var(--menu-border-color, var(--ic-architectural-400));transition:box-shadow var(--ic-easing-transition-fast)}.ic-menu-open.sc-ic-menu-h .menu.sc-ic-menu{visibility:visible;max-height:calc(var(--ic-space-xl) * 10 + var(--ic-space-xxxs))}.ic-menu-open.sc-ic-menu-h .option-bar.sc-ic-menu{visibility:visible}.ic-menu-open.sc-ic-menu-h .select-all-button.sc-ic-menu{display:block}.ic-menu-full-width.sc-ic-menu-h{width:100%}.option.sc-ic-menu{padding:var(--ic-space-xs) calc(var(--ic-space-xs) - var(--ic-space-1px));cursor:pointer;display:flex;align-items:center}.loading-option.sc-ic-menu p.sc-ic-menu{margin-bottom:0 !important}.option.sc-ic-menu:not(.loading-option){justify-content:space-between}.ic-menu-small.sc-ic-menu-h .option.sc-ic-menu{padding:var(--ic-space-xxs) calc(var(--ic-space-xs) - var(--ic-space-1px))}.ic-menu-large.sc-ic-menu-h .option.sc-ic-menu{padding:var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px))}.option.sc-ic-menu:last-child{border-radius:0 0 1px 1px}.sc-ic-menu:not(.menu:has(+.option-bar)).sc-ic-menu .option.sc-ic-menu:first-child{border-radius:1px 1px 0 0}.option.sc-ic-menu:not(.disabled-option):hover{background-color:var(--ic-action-dark-bg-hover)}.option.sc-ic-menu:not(.disabled-option):active{background-color:var(--ic-action-dark-bg-pressed)}.option.sc-ic-menu:focus-visible{outline:var(--ic-hc-focus-outline)}.option.sc-ic-menu:not(.disabled-option) .option-description.sc-ic-menu{--ic-typography-color:var(--ic-color-text-secondary)}.option.sc-ic-menu .option-label.sc-ic-menu{display:flex;flex-direction:row;align-items:top}.option.sc-ic-menu .option-label.sc-ic-menu ic-typography.sc-ic-menu{max-width:100%;word-wrap:break-word}.option.sc-ic-menu .option-element.sc-ic-menu{margin-top:var(--ic-space-xxs)}.option.sc-ic-menu .option-icon.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);margin-top:var(--ic-space-xxs);margin-right:var(--ic-space-xxxs)}.option-text-container.sc-ic-menu{pointer-events:none;width:100%}.option-text-container.show-check-icon.sc-ic-menu{width:calc(var(--ic-space-lg) * 10 + var(--ic-space-xl))}.option.loading-option.sc-ic-menu .option-text-container.sc-ic-menu{margin-left:calc(var(--ic-space-xs) + var(--ic-space-xxxs));color:var(--ic-color-text-secondary);--ic-typography-color:var(--ic-color-text-secondary)}.error-icon-svg.sc-ic-menu{height:var(--ic-space-md);width:var(--ic-space-md);fill:var(--ic-status-error-default);align-self:center;display:flex;margin-right:calc(var(--ic-space-xxs) * 1.2)}.loading-error-info.sc-ic-menu{display:flex}.check-icon.sc-ic-menu{height:var(--ic-space-lg);min-width:var(--ic-space-lg);width:var(--ic-space-lg);margin-left:var(--ic-space-xs);pointer-events:none}.focused-option.sc-ic-menu .check-icon.sc-ic-menu *.sc-ic-menu{fill:currentcolor}.option-group-title.sc-ic-menu{padding:var(--ic-space-lg) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xs);--ic-typography-color:var(--ic-color-text-tertiary)}.ic-menu-small.sc-ic-menu-h .option-group-title.sc-ic-menu{padding:var(--ic-space-sm) calc(var(--ic-space-xs) - var(--ic-space-1px))\n var(--ic-space-xxs)}.last-recommended-option.sc-ic-menu{border-bottom:var(--ic-border-default)}.disabled-option.sc-ic-menu{color:var(--ic-architectural-200);--ic-typography-color:var(--ic-architectural-200);cursor:default;pointer-events:none}.focused-option.sc-ic-menu,.focused-option.sc-ic-menu .option-description.sc-ic-menu{background-color:var(--ic-color-focus-inner) !important;color:var(--ic-architectural-white) !important;--ic-typography-color:var(--ic-architectural-white) !important}.no-results.sc-ic-menu-h li.sc-ic-menu{cursor:no-drop}.no-results.sc-ic-menu-h li.sc-ic-menu:hover{background-color:transparent}.option-bar.sc-ic-menu{padding:var(--ic-space-xxs) var(--ic-space-xs);display:flex;align-items:center;justify-content:space-between;background-color:var(--ic-architectural-40);visibility:hidden;border-bottom:var(--ic-border-width) solid var(--ic-architectural-400);border-radius:1px 1px 0 0}.option-bar.sc-ic-menu p.sc-ic-menu{margin-bottom:0 !important}.ic-menu-large.sc-ic-menu-h .option-bar.sc-ic-menu{padding:var(--ic-space-xs)}.select-all-button.sc-ic-menu{display:none}.select-all-button.sc-ic-menu:focus{z-index:calc(var(--ic-z-index-menu) + 1)}@media (forced-colors: active){.focused-option.sc-ic-menu:focus{outline:none;border:0.125rem solid transparent}}';const w=class{constructor(t){i(this,t);this.menuKeyPress=c(this,"menuKeyPress",7);this.menuOptionId=c(this,"menuOptionId",7);this.menuOptionSelect=c(this,"menuOptionSelect",7);this.menuOptionSelectAll=c(this,"menuOptionSelectAll",7);this.menuStateChange=c(this,"menuStateChange",7);this.retryButtonClicked=c(this,"retryButtonClicked",7);this.timeoutBlur=c(this,"timeoutBlur",7);this.ungroupedOptionsSet=c(this,"ungroupedOptionsSet",7);this.ACTIVE_DESCENDANT="aria-activedescendant";this.CLEAR_BUTTON_ID="clear-button";this.disabledOptionSelected=false;this.hasPreviouslyBlurred=false;this.hasTimedOut=false;this.isLoading=false;this.isMultiSelect=false;this.isSearchBar=false;this.isSearchableSelect=false;this.lastOptionSelected=null;this.lastOptionFocused=null;this.multiOptionClicked=null;this.preventClickOpen=false;this.preventMenuFocus=false;this.shiftPressed=false;this.ungroupedOptions=[];this.handleClearListener=()=>{this.optionHighlighted=""};this.handleSubmitSearch=()=>{const i=this.options.findIndex((i=>i[this.valueField]===this.optionHighlighted));this.setInputValue(i)};this.handleMenuChange=(i,t)=>{this.menuStateChange.emit({open:i,focusInput:t});if(!i){if(t!==false){this.inputEl.focus();this.preventClickOpen=false}if(this.isMultiSelect){this.optionHighlighted=undefined;this.multiOptionClicked=null}}};this.setNextOptionValue=i=>{if(this.ungroupedOptions[i+1]){this.menuOptionSelect.emit({value:this.ungroupedOptions[i+1][this.valueField],optionId:this.getOptionId(this.ungroupedOptions[i+1][this.valueField])})}else{this.menuOptionSelect.emit({value:this.ungroupedOptions[0][this.valueField],optionId:this.getOptionId(this.ungroupedOptions[0][this.valueField])})}};this.setPreviousOptionValue=i=>{if(this.ungroupedOptions[i-1]){this.menuOptionSelect.emit({value:this.ungroupedOptions[i-1][this.valueField],optionId:this.getOptionId(this.ungroupedOptions[i-1][this.valueField])})}else{this.menuOptionSelect.emit({value:this.ungroupedOptions[this.ungroupedOptions.length-1][this.valueField],optionId:this.getOptionId(this.ungroupedOptions[this.ungroupedOptions.length-1][this.valueField])})}};this.getParentEl=i=>{if(i.tagName==="IC-SEARCH-BAR"){this.isSearchBar=true}else if(i.tagName==="IC-SELECT"){if(i.getAttribute("searchable")!==null&&i.getAttribute("searchable")!==undefined){this.isSearchableSelect=true}else if(i.getAttribute("multiple")!==null&&i.getAttribute("multiple")!==undefined){this.isMultiSelect=true}}};this.arrowBehaviour=i=>{i.preventDefault();this.handleMenuChange(true)};this.getMenuOptions=()=>this.isSearchBar?this.options:this.ungroupedOptions;this.setHighlightedOption=i=>{const t=this.getMenuOptions();t[i]&&!t[i].timedOut&&(this.optionHighlighted=t[i][this.valueField]||undefined)};this.autoSetInputValueKeyboardOpen=i=>{const t=this.ungroupedOptions.findIndex((i=>i[this.valueField]===this.value));this.keyboardNav=false;switch(i.key){case"ArrowDown":this.keyboardNav=true;this.arrowBehaviour(i);this.setNextOptionValue(t);break;case"ArrowUp":this.keyboardNav=true;this.arrowBehaviour(i);this.setPreviousOptionValue(t);break;case" ":case"Enter":if(i.target.id!==this.CLEAR_BUTTON_ID){this.handleMenuChange(true)}break}};this.selectHighlightedOption=(i,t)=>{if(!this.isLoading&&!this.hasTimedOut){this.keyboardNav=true}const e=this.isSearchBar||this.isSearchableSelect||this.open;if(e){if(t>=0){if(i[t]!==undefined){if(this.isSearchBar&&i[t].disabled===true){this.disabledOptionSelected=true}else{this.setInputValue(t)}}}else{this.setInputValue(t)}}else{this.handleMenuChange(true)}};this.isOptionSelected=i=>{const t=this.getMenuOptions();return this.value?this.value.includes(t[i][this.valueField]):false};this.deselectSelectedOptions=i=>{const t=this.getMenuOptions();if(this.value){const e=this.value.map((i=>t.findIndex((t=>t[this.valueField]===i))));e.forEach((t=>!i.includes(t)&&this.setInputValue(t)))}};this.manualSetInputValueKeyboardOpen=i=>{const t=this.getMenuOptions();const e=i.shiftKey||i.metaKey||i.ctrlKey;const s=this.getOptionHighlightedIndex();const n=t.findIndex((i=>i[this.valueField]===this.multiOptionClicked));const c=i=>{var t;return(t=Array.from(this.host.querySelectorAll("li"))[i])===null||t===void 0?void 0:t.id};if(i.key===" "&&this.isMultiSelect){this.handleOptionSelect(i,s)}else{switch(i.key){case"ArrowDown":this.keyboardNav=true;this.arrowBehaviour(i);if(this.multiOptionClicked){this.setHighlightedOption(n);this.multiOptionClicked=null}else{this.handleSingleShiftSelect(i,s,t);if(s<t.length-1){this.setHighlightedOption(s+1);this.menuOptionId.emit({optionId:c(s+1)});this.handleSingleShiftSelect(i,s+1,t)}else{this.setHighlightedOption(0);this.menuOptionId.emit({optionId:c(0)});this.handleSingleShiftSelect(i,0,t)}if(this.isMultiSelect&&this.shiftPressed){this.deselectSelectedOptions([s,this.getOptionHighlightedIndex()]);this.shiftPressed=false}}this.lastOptionFocused=this.getOptionHighlightedIndex();this.preventIncorrectTabOrder=false;this.focusFromSearchKeypress=false;break;case"ArrowUp":this.keyboardNav=true;this.arrowBehaviour(i);if(this.multiOptionClicked){this.setHighlightedOption(n);this.multiOptionClicked=null}else{this.handleSingleShiftSelect(i,s,t);if(s<=0||s>t.length+1){this.setHighlightedOption(t.length-1);this.menuOptionId.emit({optionId:c(t.length-1)});this.handleSingleShiftSelect(i,t.length-1,t)}else{this.setHighlightedOption(s-1);this.menuOptionId.emit({optionId:c(s-1)});this.handleSingleShiftSelect(i,s-1,t)}if(this.isMultiSelect&&this.shiftPressed){this.deselectSelectedOptions([s,this.getOptionHighlightedIndex()]);this.shiftPressed=false}}this.lastOptionFocused=this.getOptionHighlightedIndex();this.preventIncorrectTabOrder=false;this.focusFromSearchKeypress=false;break;case"Home":{const t=0;this.keyboardNav=true;i.preventDefault();this.arrowBehaviour(i);this.setHighlightedOption(t);this.menuOptionId.emit({optionId:c(t)});if(i.shiftKey&&i.ctrlKey){this.handleMultipleShiftSelect(t)}this.lastOptionFocused=t;this.lastOptionSelected=t;break}case"End":{const e=t.length-1;this.keyboardNav=true;i.preventDefault();this.arrowBehaviour(i);this.setHighlightedOption(e);this.menuOptionId.emit({optionId:c(e)});if(i.shiftKey&&i.ctrlKey){this.handleMultipleShiftSelect(e)}this.lastOptionFocused=e;this.lastOptionSelected=e;break}case" ":if(!e){this.keyboardNav=false}if(this.isSearchBar||this.isSearchableSelect){break}else{if(i.target.id!==this.CLEAR_BUTTON_ID){this.handleMenuChange(true)}}break;case"Enter":i.preventDefault();if(!e){this.keyboardNav=false}this.handleOptionSelect(i,s);break;case"Escape":if(this.open){i.stopImmediatePropagation()}this.handleMenuChange(false);this.menuOptionId.emit({optionId:undefined});break;case"a":if(l()&&i.metaKey||!l()&&i.ctrlKey){this.emitSelectAll();this.lastOptionFocused=null;this.lastOptionSelected=null}break;case"Shift":case"Tab":if(i.key==="Shift"){this.shiftPressed=true}if(this.isSearchBar){this.keyboardNav=true}if(this.isMultiSelect){if(this.open&&!i.shiftKey&&this.selectAllButton){i.preventDefault();this.selectAllButton.focus();this.preventMenuFocus=true;this.preventClickOpen=true;this.optionHighlighted=undefined}}else{this.preventIncorrectTabOrder=true}break;default:if(!e){this.keyboardNav=false}this.focusOnSearchOrSelectInput(t,s)}}};this.setInputValue=i=>{const t=this.getMenuOptions();if(t[i]!==undefined){this.menuOptionSelect.emit({value:t[i][this.valueField]});if(this.closeOnSelect){this.optionHighlighted=undefined;this.menuOptionId.emit({optionId:undefined})}}if(this.closeOnSelect){if(!this.hasTimedOut){this.handleMenuChange(false)}else{this.parentEl.setFocus()}}};this.handleOptionClick=i=>{const{value:t,label:e}=i.target.dataset;if(this.isMultiSelect){const e=this.getMenuOptions();const s=e.findIndex((i=>i.value===t));this.handleOptionSelect(i,s,true);this.multiOptionClicked=t}else{this.menuOptionSelect.emit({value:t,label:e});this.handleMenuChange(false)}this.optionHighlighted=undefined};this.handleRetry=()=>{this.retryButtonClicked.emit({value:this.value})};this.handleRetryKeyDown=i=>{if(i.key==="Enter"||i.key===" "){i.preventDefault();this.retryButtonClicked.emit({value:this.value,keyPressed:i.key})}};this.handleBlur=i=>{if(i.relatedTarget!==this.inputEl){if(i.relatedTarget===this.selectAllButton){this.menu.removeAttribute(this.ACTIVE_DESCENDANT)}if(!(this.menu.contains(i.relatedTarget)||i.relatedTarget===this.selectAllButton)){this.handleMenuChange(false,this.hasPreviouslyBlurred);this.menu.removeAttribute(this.ACTIVE_DESCENDANT);this.lastOptionFocused=null;this.lastOptionSelected=null}}else{this.handleMenuChange(false);this.preventClickOpen=true;this.menu.removeAttribute(this.ACTIVE_DESCENDANT);this.lastOptionFocused=null;this.lastOptionSelected=null}if(!this.isSearchBar)this.hasPreviouslyBlurred=!!i.relatedTarget};this.handleMouseDown=i=>{i.preventDefault()};this.handleMenuKeyDown=i=>{if(this.activationType==="automatic"){this.autoSetValueOnMenuKeyDown(i)}else if(this.activationType==="manual"&&!this.isSearchBar){this.manualSetInputValueKeyboardOpen(i)}};this.handleMenuKeyUp=i=>{if(i.key==="Tab"&&i.shiftKey){this.preventClickOpen=false}if(i.key==="Enter"&&this.disabledOptionSelected){this.disabledOptionSelected=false;i.stopImmediatePropagation()}if(i.key==="Shift"){this.shiftPressed=false}};this.handleSelectAllClick=()=>{this.keyboardNav=false;this.menu.focus();this.emitSelectAll();this.lastOptionFocused=null;this.lastOptionSelected=null};this.handleSelectAllBlur=i=>{this.host.classList.remove("ic-select-select-all-focused");if(!this.menu.contains(i.relatedTarget)){this.handleMenuChange(false,false)}};this.handleSelectAllFocus=()=>{this.host.classList.add("ic-select-select-all-focused");this.lastOptionFocused=null;this.lastOptionSelected=null};this.handleSelectAllMouseDown=i=>{i.preventDefault()};this.handleSingleShiftSelect=(i,t,e)=>{if(this.isMultiSelect&&i.shiftKey&&!this.isOptionSelected(t)){this.selectHighlightedOption(e,t);this.lastOptionSelected=t}};this.handleMultipleShiftSelect=(i,t=false,e=null)=>{this.shiftPressed=false;const s=e===null?this.getFirstOptionInSelection(t):e;if(s!==null){const t=[];if(s<i){for(let e=s;e<i+1;e++){t.push(e)}}else{for(let e=s;e>i-1;e--){t.push(e)}}t.forEach((i=>!this.isOptionSelected(i)&&this.setInputValue(i)));this.deselectSelectedOptions(t)}};this.handleOptionSelect=(i,t,e=false)=>{const s=this.getMenuOptions();const n=this.getFirstOptionInSelection(e);if(i.shiftKey&&n!==null){this.handleMultipleShiftSelect(t,e,n)}else{this.selectHighlightedOption(s,t)}this.lastOptionFocused=t;this.lastOptionSelected=t};this.getFirstOptionInSelection=i=>i&&this.lastOptionFocused!==null?this.lastOptionFocused:this.lastOptionSelected!==null?this.lastOptionSelected:null;this.emitSelectAll=()=>{var i;this.menuOptionSelectAll.emit({select:!this.value||!(((i=this.value)===null||i===void 0?void 0:i.length)===this.ungroupedOptions.length)})};this.emitMenuKeyPress=(i,t)=>{this.menuKeyPress.emit({isNavKey:i,key:t})};this.autoSetValueOnMenuKeyDown=i=>{i.cancelBubble=true;const t=this.ungroupedOptions.findIndex((i=>i[this.valueField]===this.value));const e=this.inputEl.tagName==="INPUT";this.keyboardNav=false;switch(i.key){case" ":i.preventDefault();break;case"ArrowUp":if(!this.hasTimedOut){i.preventDefault();this.setPreviousOptionValue(t);this.keyboardNav=true}break;case"ArrowDown":if(!this.hasTimedOut){i.preventDefault();this.setNextOptionValue(t);this.keyboardNav=true}break;case"Home":this.menuOptionSelect.emit({value:this.ungroupedOptions[0][this.valueField]});this.keyboardNav=true;break;case"End":this.menuOptionSelect.emit({value:this.ungroupedOptions[this.ungroupedOptions.length-1][this.valueField]});this.keyboardNav=true;break;case"Enter":!this.hasTimedOut&&this.handleMenuChange(false);break;case"Escape":this.handleMenuChange(false);break;case"Backspace":if(e){this.inputEl.focus()}break;case"Shift":break;default:if(e&&i.key!=="Tab"&&!this.hasTimedOut){this.inputEl.focus()}if(i.key.length===1){this.keyboardNav=true}break}this.emitMenuKeyPress(this.keyboardNav,i.key)};this.getOptionId=i=>`${this.menuId}-${i}`;this.getOptionAriaLabel=(i,t)=>{let e=i[this.labelField];if(i.description){e=`${e}, ${i.description}`}if(i.element){e=`${e}, ${i.element.ariaLabel}`}if(t){return`${e}, ${t[this.labelField]} group`}else{return e}};this.getSortedOptions=i=>{let t=[];if(i.sort){t=i.sort(((i,t)=>i.recommended&&!t.recommended?-1:0))}return t};this.getOptionHighlightedIndex=()=>{const i=this.getMenuOptions();return i.findIndex((i=>i[this.valueField]===this.optionHighlighted))};this.isManualMode=this.activationType==="manual";this.scrollToSelected=i=>{const t=this.selectOnEnter?this.host.querySelector(`li[data-value="${this.optionHighlighted}"]`):i.querySelector(".option[aria-selected='true']");if(t){const e=t.offsetTop+t.offsetHeight;if(e>i.scrollTop+i.offsetHeight||e<i.scrollTop+i.offsetHeight){i.scrollTop=t.offsetTop}this.menu.setAttribute(this.ACTIVE_DESCENDANT,t.id);t.focus()}};this.loadUngroupedOptions=()=>{if(this.options.length>0&&this.options.map){this.options.map((i=>{if(i.children){i.children.map((i=>!i.disabled&&this.ungroupedOptions.push(i)))}else if(!i.disabled){this.ungroupedOptions.push(i)}}))}this.ungroupedOptions=this.getSortedOptions(this.ungroupedOptions);this.ungroupedOptionsSet.emit({options:this.ungroupedOptions})};this.setMenuScrollbar=()=>{let i=0;this.host.querySelectorAll(".option").forEach((t=>i+=t.clientHeight));if(i>=320){this.menu.classList.add("menu-scroll")}};this.handleTimeoutBlur=i=>{this.timeoutBlur.emit({ev:i})};this.optionContent=(i,t)=>{const s=!!i[this.valueField]&&!!this.value&&t&&this.parentEl.tagName!=="IC-SEARCH-BAR";return e(o,null,i.loading&&e("ic-loading-indicator",{size:"icon"}),e("div",{class:{"option-text-container":true,"show-check-icon":s}},e("div",{class:"option-label"},i.icon&&e("div",{class:"option-icon",innerHTML:i.icon,"aria-hidden":"true"}),e("ic-typography",{variant:"body","aria-hidden":"true"},i[this.labelField])),i.description&&e("ic-typography",{id:`${this.getOptionId(i[this.valueField])}-description`,class:"option-description",variant:"caption","aria-hidden":"true"},e("p",null,i.description)),i.element&&e("div",{class:"option-element",innerHTML:i.element.component,"aria-hidden":"true"})),s&&e("span",{class:"check-icon",innerHTML:m}))};this.displayOption=(i,t,s,n)=>{const{open:c,keyboardNav:r,isManualMode:a,initialOptionsListRender:h,optionHighlighted:u,options:l}=this;return e("li",{id:this.getOptionId(i[this.valueField]),class:{option:true,"focused-option":a?(r||h)&&i[this.valueField]===u:r&&t,"last-recommended-option":i.recommended&&l[s+1]&&!l[s+1].recommended,"disabled-option":i.disabled,"loading-option":i.loading,timeout:i.timedOut},role:"option",tabindex:c&&(t||i[this.valueField]===u)&&r?"0":"-1","aria-label":this.getOptionAriaLabel(i,n),"aria-selected":t?"true":"false","aria-disabled":i.disabled?"true":"false",onClick:!i.timedOut&&!i.loading&&this.handleOptionClick,onBlur:this.handleBlur,onMouseDown:this.handleMouseDown,"data-value":i[this.valueField],"data-label":i[this.labelField]},i.timedOut?e(o,null,e("div",{class:"loading-error-info"},e("svg",{class:"error-icon-svg","aria-labelledby":"error-title",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"#000000"},e("title",{id:"error-title"},"Error"),e("g",{id:"close-octagon"},e("path",{id:"Vector",d:"M8.77 3L3.5 8.27V15.73L8.77 21H16.23L21.5 15.73V8.27L16.23 3M8.91 7L12.5 10.59L16.09 7L17.5 8.41L13.91 12L17.5 15.59L16.09 17L12.5 13.41L8.91 17L7.5 15.59L11.09 12L7.5 8.41"}))),e("ic-typography",{variant:"label"},i[this.labelField])),e("ic-button",{size:"small",variant:"tertiary",onClick:this.handleRetry,onKeyDown:this.handleRetryKeyDown,onBlur:this.handleTimeoutBlur,id:"retry-button"},"Retry")):this.optionContent(i,t))};this.focusFromSearchKeypress=false;this.initialOptionsListRender=false;this.keyboardNav=false;this.optionHighlighted=undefined;this.preventIncorrectTabOrder=false;this.menuOptions=undefined;this.activationType="automatic";this.anchorEl=undefined;this.autoFocusOnSelected=true;this.closeOnSelect=true;this.fullWidth=false;this.inputEl=undefined;this.inputLabel=undefined;this.labelField="label";this.menuId=undefined;this.open=undefined;this.parentEl=undefined;this.searchMode="navigation";this.selectOnEnter=false;this.size="medium";this.options=undefined;this.value=undefined;this.valueField="value"}watchOpenHandler(){if(!this.open&&this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}}watchOptionsHandler(i){this.hasTimedOut=i.some((i=>i.timedOut));this.isLoading=i.some((i=>i.loading));this.ungroupedOptions=[];this.loadUngroupedOptions()}connectedCallback(){this.getParentEl(this.parentEl);if(this.isSearchBar){if(this.searchMode==="navigation")this.setHighlightedOption(0);this.initialOptionsListRender=true}}disconnectedCallback(){var i,t;if(this.popperInstance){this.popperInstance.destroy()}(i=this.parentEl)===null||i===void 0?void 0:i.removeEventListener("icClear",this.handleClearListener);(t=this.parentEl)===null||t===void 0?void 0:t.removeEventListener("icSubmitSearch",this.handleSubmitSearch)}componentWillLoad(){var i,t;this.loadUngroupedOptions();this.parentEl.addEventListener("icClear",this.handleClearListener);this.parentEl.addEventListener("icSubmitSearch",this.handleSubmitSearch);this.hasTimedOut=(i=this.options)===null||i===void 0?void 0:i.some((i=>i.timedOut));this.isLoading=(t=this.options)===null||t===void 0?void 0:t.some((i=>i.loading))}componentDidLoad(){if(this.isSearchBar&&this.parentEl.disableAutoFiltering){this.focusFromSearchKeypress=true}p([{prop:this.open,propName:"open"},{prop:this.options,propName:"options"},{prop:this.menuId,propName:"menu-id"},{prop:this.inputLabel,propName:"input-label"}],"Menu")}componentDidUpdate(){const i=this.options.some((i=>i[this.valueField]===this.value));if(this.open&&this.options.length!==0&&!this.preventMenuFocus){if(this.value&&this.keyboardNav&&i&&this.autoFocusOnSelected&&!this.isSearchableSelect){this.scrollToSelected(this.menu)}else if(this.selectOnEnter){this.menu.focus()}else if(!!this.optionHighlighted&&!this.focusFromSearchKeypress&&!this.preventIncorrectTabOrder){const i=this.host.querySelector(`li[data-value="${this.optionHighlighted}"]`);if(i){this.menu.setAttribute(this.ACTIVE_DESCENDANT,i.id);i.focus()}}else if(this.inputEl.tagName!=="IC-TEXT-FIELD"&&this.inputEl.tagName!=="INPUT"){this.menu.focus()}}if(this.open&&!this.value&&this.selectOnEnter){this.scrollToSelected(this.menu)}this.preventMenuFocus=false}componentDidRender(){if(this.open&&!this.popperInstance&&this.anchorEl){this.initPopperJs(this.anchorEl)}if(this.open&&!!this.options.length){this.setMenuScrollbar()}}async handleClickOpen(){if(!this.preventClickOpen){this.menuStateChange.emit({open:!this.open});this.keyboardNav=false}this.preventClickOpen=false}async handleKeyboardOpen(i){if(this.activationType==="automatic"){this.autoSetInputValueKeyboardOpen(i)}else{this.manualSetInputValueKeyboardOpen(i)}}async handleSetFirstOption(){this.setHighlightedOption(0)}async initPopperJs(i){this.popperInstance=f(i,this.host,{placement:"bottom-start",modifiers:[{name:"offset",options:{offset:[0,7]}},{name:"flip",options:{fallbackPlacements:["top-start"],rootBoundary:"viewport"}}]})}focusOnSearchOrSelectInput(i,t){if(!i[t])return;if(this.isSearchBar){this.parentEl.setFocus();if(this.searchMode==="navigation")this.setHighlightedOption(0)}if(this.isSearchableSelect){this.parentEl.setFocus()}this.focusFromSearchKeypress=true}render(){const{inputLabel:i,options:t,menuId:n,value:c,fullWidth:o,hasTimedOut:r,isLoading:a,size:h,open:u,inputEl:l,keyboardNav:p}=this;const m=`${(c===null||c===void 0?void 0:c.length)===this.ungroupedOptions.length?"Clear":"Select"} all`;const f=this.host.classList.contains("no-results");return e(s,{class:{"ic-menu-full-width":o,"ic-menu-no-focus":(l===null||l===void 0?void 0:l.tagName)==="INPUT"||r||a,[`ic-menu-${h}`]:true,"ic-menu-open":u&&t.length!==0,"ic-menu-multiple":this.isMultiSelect}},t.length!==0&&e("ul",{id:n,class:"menu",role:"listbox","aria-label":`${i} pop-up`,"aria-multiselectable":this.isMultiSelect?"true":"false",tabindex:u&&!p&&(l===null||l===void 0?void 0:l.tagName)!=="INPUT"?"0":"-1",ref:i=>this.menu=i,onKeyDown:this.handleMenuKeyDown,onKeyUp:this.handleMenuKeyUp,onBlur:this.handleBlur},this.getSortedOptions(t).map(((i,t)=>{if(i.children){if(i.children.length>0){return e("div",null,e("ic-typography",{class:"option-group-title",role:"presentation",variant:"subtitle-small"},e("p",null,i[this.labelField])),i.children.map((e=>e.label&&this.displayOption(e,this.isMultiSelect?c===null||c===void 0?void 0:c.includes(e[this.valueField]):e[this.valueField]===c,t,i))))}else{return null}}else{return i.label&&this.displayOption(i,this.isMultiSelect?c===null||c===void 0?void 0:c.includes(i[this.valueField]):i[this.valueField]===c,t)}}))),t.length!==0&&this.isMultiSelect&&!a&&!r&&!f&&e("div",{class:"option-bar"},e("ic-typography",null,e("p",null,`${c?c.length:0}/${d(this.options)} selected`)),e("ic-button",{class:"select-all-button","aria-label":`${m} options for ${i}`,ref:i=>this.selectAllButton=i,variant:"tertiary",onClick:this.handleSelectAllClick,onMouseDown:this.handleSelectAllMouseDown,onBlur:this.handleSelectAllBlur,onFocus:this.handleSelectAllFocus,size:h==="small"?"small":"medium"},m)))}get host(){return n(this)}static get watchers(){return{open:["watchOpenHandler"],options:["watchOptionsHandler"]}}};w.style=y;export{v as ic_input_component_container,x as ic_input_container,w as ic_menu};
2
- //# sourceMappingURL=p-9ec7f96c.entry.js.map