@ukic/web-components 2.35.2 → 3.0.0-alpha.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1059) hide show
  1. package/README.md +0 -4
  2. package/dist/cjs/core.cjs.js +1 -1
  3. package/dist/cjs/{helpers-6f6991cb.js → helpers-eca4c27e.js} +70 -26
  4. package/dist/cjs/helpers-eca4c27e.js.map +1 -0
  5. package/dist/cjs/ic-accordion-group.cjs.entry.js +14 -15
  6. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-accordion.cjs.entry.js +7 -8
  8. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-alert.cjs.entry.js +8 -9
  10. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js +15 -16
  12. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-badge.cjs.entry.js +22 -51
  14. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +26 -14
  16. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-breadcrumb.cjs.entry.js +53 -8
  18. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-button_3.cjs.entry.js +59 -53
  20. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-card-vertical.cjs.entry.js +150 -0
  22. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -0
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js +21 -10
  24. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-checkbox.cjs.entry.js +8 -16
  26. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-chip.cjs.entry.js +22 -23
  28. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-classification-banner.cjs.entry.js +2 -2
  30. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-data-list.cjs.entry.js +32 -0
  32. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -0
  33. package/dist/cjs/ic-data-row.cjs.entry.js +12 -12
  34. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-dialog.cjs.entry.js +14 -105
  36. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-divider.cjs.entry.js +73 -10
  38. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-empty-state.cjs.entry.js +9 -8
  40. package/dist/cjs/ic-empty-state.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-footer-link-group.cjs.entry.js +12 -14
  42. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-footer-link.cjs.entry.js +11 -12
  44. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-footer.cjs.entry.js +11 -13
  46. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-hero.cjs.entry.js +12 -15
  48. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  49. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +15 -9
  50. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +478 -201
  52. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  53. package/dist/cjs/ic-input-label_2.cjs.entry.js +26 -31
  54. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-link.cjs.entry.js +22 -15
  56. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -3
  58. package/dist/cjs/ic-menu-group.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-menu-item.cjs.entry.js +12 -13
  60. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-navigation-button.cjs.entry.js +12 -10
  62. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-navigation-group.cjs.entry.js +14 -14
  64. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-navigation-item.cjs.entry.js +11 -10
  66. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
  68. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-page-header.cjs.entry.js +10 -10
  70. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-pagination-item.cjs.entry.js +8 -12
  72. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-pagination.cjs.entry.js +51 -46
  74. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-popover-menu.cjs.entry.js +23 -4
  76. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-radio-group.cjs.entry.js +32 -18
  78. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-radio-option.cjs.entry.js +34 -40
  80. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-search-bar.cjs.entry.js +56 -57
  82. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-select.cjs.entry.js +194 -81
  84. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-side-navigation.cjs.entry.js +19 -22
  86. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-skeleton.cjs.entry.js +5 -6
  88. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  89. package/dist/cjs/ic-status-tag.cjs.entry.js +8 -16
  90. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-step.cjs.entry.js +41 -46
  92. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  93. package/dist/cjs/ic-stepper.cjs.entry.js +27 -18
  94. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-switch.cjs.entry.js +17 -18
  96. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-tab-context.cjs.entry.js +34 -28
  98. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  99. package/dist/cjs/ic-tab-group.cjs.entry.js +9 -11
  100. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  101. package/dist/cjs/ic-tab-panel.cjs.entry.js +12 -11
  102. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  103. package/dist/cjs/ic-tab.cjs.entry.js +10 -9
  104. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  105. package/dist/cjs/ic-text-field.cjs.entry.js +86 -77
  106. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  107. package/dist/cjs/ic-theme.cjs.entry.js +45 -22
  108. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  109. package/dist/cjs/ic-toast-region.cjs.entry.js +0 -7
  110. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -1
  111. package/dist/cjs/ic-toast.cjs.entry.js +83 -36
  112. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  113. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +63 -30
  114. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  115. package/dist/cjs/ic-toggle-button.cjs.entry.js +64 -33
  116. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  117. package/dist/cjs/ic-top-navigation.cjs.entry.js +17 -12
  118. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  119. package/dist/cjs/ic-typography.cjs.entry.js +9 -8
  120. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  121. package/dist/cjs/index-f982899d.js +16 -16
  122. package/dist/cjs/loader.cjs.js +1 -1
  123. package/dist/collection/ag-theme-icds.css +32 -31
  124. package/dist/collection/collection-manifest.json +4 -4
  125. package/dist/collection/components/ic-accordion/ic-accordion.css +23 -19
  126. package/dist/collection/components/ic-accordion/ic-accordion.js +31 -34
  127. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  128. package/dist/collection/components/ic-accordion/ic-accordion.stories.js +52 -76
  129. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +3 -3
  130. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +1 -1
  131. package/dist/collection/components/ic-accordion-group/ic-accordion-group.css +5 -11
  132. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +27 -27
  133. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  134. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +9 -9
  135. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +1 -1
  136. package/dist/collection/components/ic-alert/ic-alert.css +34 -18
  137. package/dist/collection/components/ic-alert/ic-alert.js +49 -42
  138. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  139. package/dist/collection/components/ic-alert/ic-alert.stories.js +30 -16
  140. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js +1 -1
  141. package/dist/collection/components/ic-alert/test/basic/ic-alert.spec.js.map +1 -1
  142. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +22 -59
  143. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +38 -14
  144. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  145. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +23 -10
  146. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +1 -1
  147. package/dist/collection/components/ic-badge/ic-badge.css +65 -41
  148. package/dist/collection/components/ic-badge/ic-badge.js +51 -99
  149. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  150. package/dist/collection/components/ic-badge/ic-badge.stories.js +50 -40
  151. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js +40 -50
  152. package/dist/collection/components/ic-badge/test/basic/ic-badge.spec.js.map +1 -1
  153. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +20 -10
  154. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +104 -34
  155. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  156. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +48 -4
  157. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +1 -1
  158. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.css +7 -5
  159. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +66 -33
  160. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  161. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.stories.js +60 -200
  162. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js +3 -3
  163. package/dist/collection/components/ic-breadcrumb-group/test/basic/ic-breadcrumb-group.spec.js.map +1 -1
  164. package/dist/collection/components/ic-button/ic-button.css +730 -432
  165. package/dist/collection/components/ic-button/ic-button.js +72 -59
  166. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  167. package/dist/collection/components/ic-button/ic-button.stories.js +1246 -1256
  168. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js +9 -9
  169. package/dist/collection/components/ic-button/test/basic/ic-button.spec.js.map +1 -1
  170. package/dist/collection/components/{ic-card/ic-card.css → ic-card-vertical/ic-card-vertical.css} +99 -109
  171. package/dist/collection/components/{ic-card/ic-card.js → ic-card-vertical/ic-card-vertical.js} +65 -39
  172. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js.map +1 -0
  173. package/dist/collection/components/{ic-card/ic-card.stories.js → ic-card-vertical/ic-card-vertical.stories.js} +61 -45
  174. package/dist/collection/components/{ic-card/test/basic/ic-card.spec.js → ic-card-vertical/test/basic/ic-card-vertical.spec.js} +43 -43
  175. package/dist/collection/components/ic-card-vertical/test/basic/ic-card-vertical.spec.js.map +1 -0
  176. package/dist/collection/components/ic-checkbox/ic-checkbox.css +54 -45
  177. package/dist/collection/components/ic-checkbox/ic-checkbox.js +22 -128
  178. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  179. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +19 -4
  180. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +38 -21
  181. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  182. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +18 -6
  183. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +2 -2
  184. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -1
  185. package/dist/collection/components/ic-chip/ic-chip.css +66 -53
  186. package/dist/collection/components/ic-chip/ic-chip.js +44 -68
  187. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  188. package/dist/collection/components/ic-chip/ic-chip.stories.js +713 -403
  189. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js +16 -0
  190. package/dist/collection/components/ic-chip/test/basic/ic-chip.spec.js.map +1 -1
  191. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +17 -11
  192. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +1 -1
  193. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  194. package/dist/collection/components/{ic-data-entity/ic-data-entity.css → ic-data-list/ic-data-list.css} +7 -3
  195. package/dist/collection/components/{ic-data-entity/ic-data-entity.js → ic-data-list/ic-data-list.js} +33 -27
  196. package/dist/collection/components/ic-data-list/ic-data-list.js.map +1 -0
  197. package/dist/collection/components/{ic-data-entity/ic-data-entity.stories.js → ic-data-list/ic-data-list.stories.js} +59 -53
  198. package/dist/collection/components/{ic-data-entity/test/basic/ic-data-entity.spec.js → ic-data-list/test/basic/ic-data-list.spec.js} +32 -32
  199. package/dist/collection/components/ic-data-list/test/basic/ic-data-list.spec.js.map +1 -0
  200. package/dist/collection/components/ic-data-row/ic-data-row.css +6 -3
  201. package/dist/collection/components/ic-data-row/ic-data-row.js +28 -24
  202. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  203. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js +4 -4
  204. package/dist/collection/components/ic-data-row/test/basic/ic-data-row.spec.js.map +1 -1
  205. package/dist/collection/components/ic-dialog/ic-dialog.css +19 -15
  206. package/dist/collection/components/ic-dialog/ic-dialog.js +28 -212
  207. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  208. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +19 -225
  209. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +5 -228
  210. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -1
  211. package/dist/collection/components/ic-divider/ic-divider.css +295 -4
  212. package/dist/collection/components/ic-divider/ic-divider.js +239 -12
  213. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  214. package/dist/collection/components/ic-divider/ic-divider.stories.js +394 -0
  215. package/dist/collection/components/ic-divider/ic-divider.types.js +2 -0
  216. package/dist/collection/components/ic-divider/ic-divider.types.js.map +1 -0
  217. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js +90 -5
  218. package/dist/collection/components/ic-divider/test/basic/ic-divider.spec.js.map +1 -1
  219. package/dist/collection/components/ic-empty-state/ic-empty-state.css +21 -6
  220. package/dist/collection/components/ic-empty-state/ic-empty-state.js +35 -9
  221. package/dist/collection/components/ic-empty-state/ic-empty-state.js.map +1 -1
  222. package/dist/collection/components/ic-empty-state/ic-empty-state.stories.js +13 -6
  223. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js +101 -0
  224. package/dist/collection/components/ic-empty-state/test/basic/ic-empty-state.spec.js.map +1 -0
  225. package/dist/collection/components/ic-footer/ic-footer.css +30 -22
  226. package/dist/collection/components/ic-footer/ic-footer.js +13 -14
  227. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  228. package/dist/collection/components/ic-footer/ic-footer.stories.js +23 -22
  229. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js +3 -3
  230. package/dist/collection/components/ic-footer/test/basic/ic-footer.spec.js.map +1 -1
  231. package/dist/collection/components/ic-footer-link/ic-footer-link.css +49 -100
  232. package/dist/collection/components/ic-footer-link/ic-footer-link.js +12 -12
  233. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  234. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js +1 -1
  235. package/dist/collection/components/ic-footer-link/test/basic/ic-footer-link.spec.js.map +1 -1
  236. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +19 -27
  237. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +15 -16
  238. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  239. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js +8 -8
  240. package/dist/collection/components/ic-footer-link-group/test/basic/ic-footer-link-group.spec.js.map +1 -1
  241. package/dist/collection/components/ic-hero/ic-hero.css +38 -23
  242. package/dist/collection/components/ic-hero/ic-hero.js +18 -41
  243. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  244. package/dist/collection/components/ic-hero/ic-hero.stories.js +65 -106
  245. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +8 -8
  246. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +1 -1
  247. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +7 -11
  248. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +65 -10
  249. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  250. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js +43 -0
  251. package/dist/collection/components/ic-horizontal-scroll/test/basic/ic-horizontal-scroll.spec.js.map +1 -1
  252. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +70 -42
  253. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +12 -87
  254. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  255. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +10 -10
  256. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +1 -1
  257. package/dist/collection/components/ic-input-label/ic-input-label.css +19 -21
  258. package/dist/collection/components/ic-input-label/ic-input-label.js +52 -74
  259. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  260. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +14 -58
  261. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +1 -1
  262. package/dist/collection/components/ic-input-validation/ic-input-validation.css +13 -4
  263. package/dist/collection/components/ic-input-validation/ic-input-validation.js +7 -7
  264. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  265. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js +4 -4
  266. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +1 -1
  267. package/dist/collection/components/ic-link/ic-link.css +77 -45
  268. package/dist/collection/components/ic-link/ic-link.js +64 -58
  269. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  270. package/dist/collection/components/ic-link/ic-link.stories.js +16 -45
  271. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +19 -114
  272. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +1 -1
  273. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +24 -16
  274. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +73 -50
  275. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  276. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.stories.js +84 -36
  277. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.types.js.map +1 -1
  278. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js +3 -2
  279. package/dist/collection/components/ic-loading-indicator/test/basic/ic-loading-indicator.spec.js.map +1 -1
  280. package/dist/collection/components/ic-menu/ic-menu.css +119 -30
  281. package/dist/collection/components/ic-menu/ic-menu.js +525 -228
  282. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  283. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +382 -34
  284. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
  285. package/dist/collection/components/ic-menu-group/ic-menu-group.css +3 -2
  286. package/dist/collection/components/ic-menu-item/ic-menu-item.css +63 -44
  287. package/dist/collection/components/ic-menu-item/ic-menu-item.js +30 -30
  288. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  289. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js +2 -2
  290. package/dist/collection/components/ic-menu-item/test/basic/ic-menu-item.spec.js.map +1 -1
  291. package/dist/collection/components/ic-navigation-button/ic-navigation-button.css +14 -0
  292. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +38 -11
  293. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  294. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +3 -3
  295. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +1 -1
  296. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +28 -21
  297. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +39 -14
  298. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  299. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js +3 -3
  300. package/dist/collection/components/ic-navigation-group/test/basic/ic-navigation-group.spec.js.map +1 -1
  301. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +33 -29
  302. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +36 -10
  303. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  304. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +3 -3
  305. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +1 -1
  306. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +13 -5
  307. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +27 -2
  308. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  309. package/dist/collection/components/ic-page-header/ic-page-header.css +4 -3
  310. package/dist/collection/components/ic-page-header/ic-page-header.js +34 -30
  311. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  312. package/dist/collection/components/ic-page-header/ic-page-header.stories.js +306 -40
  313. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js +15 -15
  314. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +1 -1
  315. package/dist/collection/components/ic-pagination/ic-pagination.css +15 -0
  316. package/dist/collection/components/ic-pagination/ic-pagination.js +97 -73
  317. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  318. package/dist/collection/components/ic-pagination/ic-pagination.stories.js +69 -30
  319. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +27 -27
  320. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -1
  321. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +36 -13
  322. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +48 -33
  323. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  324. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +10 -6
  325. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +45 -1
  326. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  327. package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +34 -16
  328. package/dist/collection/components/ic-radio-group/ic-radio-group.css +21 -5
  329. package/dist/collection/components/ic-radio-group/ic-radio-group.js +58 -38
  330. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  331. package/dist/collection/components/ic-radio-group/ic-radio-group.stories.js +21 -28
  332. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js +3 -3
  333. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.spec.js.map +1 -1
  334. package/dist/collection/components/ic-radio-option/ic-radio-option.css +40 -30
  335. package/dist/collection/components/ic-radio-option/ic-radio-option.js +58 -148
  336. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  337. package/dist/collection/components/ic-search-bar/ic-search-bar.css +115 -16
  338. package/dist/collection/components/ic-search-bar/ic-search-bar.js +112 -129
  339. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  340. package/dist/collection/components/ic-search-bar/ic-search-bar.stories.js +21 -19
  341. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js +78 -112
  342. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.spec.js.map +1 -1
  343. package/dist/collection/components/ic-select/ic-select.css +103 -63
  344. package/dist/collection/components/ic-select/ic-select.js +269 -220
  345. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  346. package/dist/collection/components/ic-select/ic-select_(multi).stories.js +892 -0
  347. package/dist/collection/components/ic-select/{ic-select-searchable.stories.js → ic-select_(searchable).stories.js} +21 -9
  348. package/dist/collection/components/ic-select/{ic-select-single.stories.js → ic-select_(single).stories.js} +14 -4
  349. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js +230 -7
  350. package/dist/collection/components/ic-select/test/basic/ic-select.spec.js.map +1 -1
  351. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +60 -43
  352. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +22 -24
  353. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  354. package/dist/collection/components/ic-side-navigation/ic-side-navigation.stories.js +11 -11
  355. package/dist/collection/components/ic-side-navigation/ic-side-navigation.types.js.map +1 -1
  356. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +3 -110
  357. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +1 -1
  358. package/dist/collection/components/ic-skeleton/ic-skeleton.css +5 -28
  359. package/dist/collection/components/ic-skeleton/ic-skeleton.js +17 -33
  360. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  361. package/dist/collection/components/ic-skeleton/ic-skeleton.stories.js +11 -9
  362. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js +1 -1
  363. package/dist/collection/components/ic-skeleton/test/basic/ic-skeleton.spec.js.map +1 -1
  364. package/dist/collection/components/ic-status-tag/ic-status-tag.css +20 -17
  365. package/dist/collection/components/ic-status-tag/ic-status-tag.js +44 -62
  366. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  367. package/dist/collection/components/ic-status-tag/ic-status-tag.stories.js +41 -6
  368. package/dist/collection/components/ic-status-tag/ic-status-tag.types.js.map +1 -1
  369. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js +15 -32
  370. package/dist/collection/components/ic-status-tag/test/basic/ic-status-tag.spec.js.map +1 -1
  371. package/dist/collection/components/ic-step/ic-step.css +97 -128
  372. package/dist/collection/components/ic-step/ic-step.js +77 -54
  373. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  374. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js +30 -30
  375. package/dist/collection/components/ic-step/test/basic/ic-step.spec.js.map +1 -1
  376. package/dist/collection/components/ic-stepper/ic-stepper.css +4 -4
  377. package/dist/collection/components/ic-stepper/ic-stepper.js +51 -33
  378. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  379. package/dist/collection/components/ic-stepper/ic-stepper.stories.js +103 -153
  380. package/dist/collection/components/ic-stepper/test/basic/ic-stepper-test-examples.js +37 -37
  381. package/dist/collection/components/ic-stepper/test/basic/ic-stepper-test-examples.js.map +1 -1
  382. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js +237 -237
  383. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.spec.js.map +1 -1
  384. package/dist/collection/components/ic-switch/ic-switch.css +26 -49
  385. package/dist/collection/components/ic-switch/ic-switch.js +33 -48
  386. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  387. package/dist/collection/components/ic-switch/ic-switch.stories.js +20 -42
  388. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js +1 -15
  389. package/dist/collection/components/ic-switch/test/basic/ic-switch.spec.js.map +1 -1
  390. package/dist/collection/components/ic-tab/ic-tab.css +47 -21
  391. package/dist/collection/components/ic-tab/ic-tab.js +56 -34
  392. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  393. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js +2 -2
  394. package/dist/collection/components/ic-tab/test/basic/ic-tab.spec.js.map +1 -1
  395. package/dist/collection/components/ic-tab-context/ic-tab-context.js +79 -76
  396. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  397. package/dist/collection/components/ic-tab-context/ic-tabs.stories.js +11 -83
  398. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js +3 -3
  399. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.spec.js.map +1 -1
  400. package/dist/collection/components/ic-tab-group/ic-tab-group.css +15 -8
  401. package/dist/collection/components/ic-tab-group/ic-tab-group.js +52 -54
  402. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  403. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +2 -2
  404. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +91 -30
  405. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  406. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js +50 -0
  407. package/dist/collection/components/ic-tab-panel/test/basic/ic-tab-panel.spec.js.map +1 -0
  408. package/dist/collection/components/ic-text-field/ic-text-field.css +71 -13
  409. package/dist/collection/components/ic-text-field/ic-text-field.js +122 -128
  410. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  411. package/dist/collection/components/ic-text-field/ic-text-field.stories.js +36 -257
  412. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +59 -26
  413. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
  414. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +59 -58
  415. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +1 -1
  416. package/dist/collection/components/ic-theme/ic-theme.js +81 -33
  417. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  418. package/dist/collection/components/ic-theme/ic-theme.stories.js +271 -8
  419. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +7 -7
  420. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +1 -1
  421. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js +24 -22
  422. package/dist/collection/components/ic-theme/test/basic/ic-theme.spec.js.map +1 -1
  423. package/dist/collection/components/ic-toast/ic-toast.css +40 -17
  424. package/dist/collection/components/ic-toast/ic-toast.js +83 -33
  425. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  426. package/dist/collection/components/ic-toast/ic-toast.stories.js +1 -18
  427. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js +55 -19
  428. package/dist/collection/components/ic-toast/test/basic/ic-toast.spec.js.map +1 -1
  429. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -43
  430. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -1
  431. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js +0 -20
  432. package/dist/collection/components/ic-toast-region/test/basic/ic-toast-region.spec.js.map +1 -1
  433. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +217 -79
  434. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +126 -69
  435. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js.map +1 -1
  436. package/dist/collection/components/ic-toggle-button/ic-toggle-button.stories.js +16 -126
  437. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js +4 -4
  438. package/dist/collection/components/ic-toggle-button/test/basic/ic-toggle-button.spec.js.map +1 -1
  439. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.css +29 -19
  440. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +116 -52
  441. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js.map +1 -1
  442. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.stories.js +140 -165
  443. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.types.js.map +1 -1
  444. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +121 -39
  445. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +1 -1
  446. package/dist/collection/components/ic-tooltip/ic-tooltip.css +14 -5
  447. package/dist/collection/components/ic-tooltip/ic-tooltip.js +30 -2
  448. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  449. package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +10 -0
  450. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js +14 -0
  451. package/dist/collection/components/ic-tooltip/test/basic/ic-tooltip.spec.js.map +1 -1
  452. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +46 -20
  453. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +44 -14
  454. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  455. package/dist/collection/components/ic-top-navigation/ic-top-navigation.stories.js +28 -13
  456. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +3 -3
  457. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +1 -1
  458. package/dist/collection/components/ic-typography/ic-typography.css +16 -12
  459. package/dist/collection/components/ic-typography/ic-typography.js +31 -5
  460. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  461. package/dist/collection/components/ic-typography/ic-typography.stories.js +10 -0
  462. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js +14 -0
  463. package/dist/collection/components/ic-typography/test/basic/ic-typography.spec.js.map +1 -1
  464. package/dist/collection/patterns/z-index.stories.js +2 -2
  465. package/dist/collection/utils/constants.js +1 -1
  466. package/dist/collection/utils/constants.js.map +1 -1
  467. package/dist/collection/utils/helpers.js +49 -19
  468. package/dist/collection/utils/helpers.js.map +1 -1
  469. package/dist/collection/utils/types.js +6 -6
  470. package/dist/collection/utils/types.js.map +1 -1
  471. package/dist/components/helpers.js +64 -21
  472. package/dist/components/helpers.js.map +1 -1
  473. package/dist/components/ic-accordion-group.js +16 -16
  474. package/dist/components/ic-accordion-group.js.map +1 -1
  475. package/dist/components/ic-accordion.js +7 -7
  476. package/dist/components/ic-accordion.js.map +1 -1
  477. package/dist/components/ic-alert.js +128 -1
  478. package/dist/components/ic-alert.js.map +1 -1
  479. package/dist/components/ic-back-to-top.js +29 -16
  480. package/dist/components/ic-back-to-top.js.map +1 -1
  481. package/dist/components/ic-badge.js +25 -54
  482. package/dist/components/ic-badge.js.map +1 -1
  483. package/dist/components/ic-breadcrumb-group.js +31 -16
  484. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  485. package/dist/components/ic-breadcrumb2.js +57 -8
  486. package/dist/components/ic-breadcrumb2.js.map +1 -1
  487. package/dist/components/ic-button2.js +29 -33
  488. package/dist/components/ic-button2.js.map +1 -1
  489. package/dist/components/{ic-data-entity.d.ts → ic-card-vertical.d.ts} +4 -4
  490. package/dist/components/ic-card-vertical.js +198 -0
  491. package/dist/components/ic-card-vertical.js.map +1 -0
  492. package/dist/components/ic-checkbox-group.js +24 -11
  493. package/dist/components/ic-checkbox-group.js.map +1 -1
  494. package/dist/components/ic-checkbox.js +9 -21
  495. package/dist/components/ic-checkbox.js.map +1 -1
  496. package/dist/components/ic-chip.js +24 -23
  497. package/dist/components/ic-chip.js.map +1 -1
  498. package/dist/components/ic-classification-banner.js +2 -2
  499. package/dist/components/ic-classification-banner.js.map +1 -1
  500. package/dist/components/{ic-card.d.ts → ic-data-list.d.ts} +4 -4
  501. package/dist/components/ic-data-list.js +56 -0
  502. package/dist/components/ic-data-list.js.map +1 -0
  503. package/dist/components/ic-data-row.js +14 -13
  504. package/dist/components/ic-data-row.js.map +1 -1
  505. package/dist/components/ic-dialog.js +17 -119
  506. package/dist/components/ic-dialog.js.map +1 -1
  507. package/dist/components/ic-divider2.js +89 -13
  508. package/dist/components/ic-divider2.js.map +1 -1
  509. package/dist/components/ic-empty-state.js +11 -8
  510. package/dist/components/ic-empty-state.js.map +1 -1
  511. package/dist/components/ic-footer-link-group.js +14 -15
  512. package/dist/components/ic-footer-link-group.js.map +1 -1
  513. package/dist/components/ic-footer-link.js +19 -13
  514. package/dist/components/ic-footer-link.js.map +1 -1
  515. package/dist/components/ic-footer.js +12 -14
  516. package/dist/components/ic-footer.js.map +1 -1
  517. package/dist/components/ic-hero.js +13 -17
  518. package/dist/components/ic-hero.js.map +1 -1
  519. package/dist/components/ic-horizontal-scroll2.js +17 -9
  520. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  521. package/dist/components/ic-input-component-container2.js +12 -31
  522. package/dist/components/ic-input-component-container2.js.map +1 -1
  523. package/dist/components/ic-input-label2.js +18 -23
  524. package/dist/components/ic-input-label2.js.map +1 -1
  525. package/dist/components/ic-input-validation2.js +9 -10
  526. package/dist/components/ic-input-validation2.js.map +1 -1
  527. package/dist/components/ic-link2.js +25 -18
  528. package/dist/components/ic-link2.js.map +1 -1
  529. package/dist/components/ic-loading-indicator2.js +29 -23
  530. package/dist/components/ic-loading-indicator2.js.map +1 -1
  531. package/dist/components/ic-menu-group.js +2 -2
  532. package/dist/components/ic-menu-group.js.map +1 -1
  533. package/dist/components/ic-menu-item2.js +14 -14
  534. package/dist/components/ic-menu-item2.js.map +1 -1
  535. package/dist/components/ic-menu2.js +473 -180
  536. package/dist/components/ic-menu2.js.map +1 -1
  537. package/dist/components/ic-navigation-button.js +14 -11
  538. package/dist/components/ic-navigation-button.js.map +1 -1
  539. package/dist/components/ic-navigation-group.js +16 -14
  540. package/dist/components/ic-navigation-group.js.map +1 -1
  541. package/dist/components/ic-navigation-item.js +13 -10
  542. package/dist/components/ic-navigation-item.js.map +1 -1
  543. package/dist/components/ic-navigation-menu2.js +6 -4
  544. package/dist/components/ic-navigation-menu2.js.map +1 -1
  545. package/dist/components/ic-page-header.js +11 -10
  546. package/dist/components/ic-page-header.js.map +1 -1
  547. package/dist/components/ic-pagination-item2.js +10 -12
  548. package/dist/components/ic-pagination-item2.js.map +1 -1
  549. package/dist/components/ic-pagination.js +56 -49
  550. package/dist/components/ic-pagination.js.map +1 -1
  551. package/dist/components/ic-popover-menu.js +24 -3
  552. package/dist/components/ic-popover-menu.js.map +1 -1
  553. package/dist/components/ic-radio-group.js +35 -19
  554. package/dist/components/ic-radio-group.js.map +1 -1
  555. package/dist/components/ic-radio-option.js +37 -47
  556. package/dist/components/ic-radio-option.js.map +1 -1
  557. package/dist/components/ic-search-bar.js +73 -85
  558. package/dist/components/ic-search-bar.js.map +1 -1
  559. package/dist/components/ic-select.js +197 -89
  560. package/dist/components/ic-select.js.map +1 -1
  561. package/dist/components/ic-side-navigation.js +20 -23
  562. package/dist/components/ic-side-navigation.js.map +1 -1
  563. package/dist/components/ic-skeleton.js +6 -8
  564. package/dist/components/ic-skeleton.js.map +1 -1
  565. package/dist/components/ic-status-tag.js +9 -16
  566. package/dist/components/ic-status-tag.js.map +1 -1
  567. package/dist/components/ic-step.js +48 -51
  568. package/dist/components/ic-step.js.map +1 -1
  569. package/dist/components/ic-stepper.js +29 -18
  570. package/dist/components/ic-stepper.js.map +1 -1
  571. package/dist/components/ic-switch.js +18 -19
  572. package/dist/components/ic-switch.js.map +1 -1
  573. package/dist/components/ic-tab-context.js +39 -31
  574. package/dist/components/ic-tab-context.js.map +1 -1
  575. package/dist/components/ic-tab-group.js +11 -13
  576. package/dist/components/ic-tab-group.js.map +1 -1
  577. package/dist/components/ic-tab-panel.js +17 -13
  578. package/dist/components/ic-tab-panel.js.map +1 -1
  579. package/dist/components/ic-tab.js +11 -9
  580. package/dist/components/ic-tab.js.map +1 -1
  581. package/dist/components/ic-text-field.js +371 -1
  582. package/dist/components/ic-text-field.js.map +1 -1
  583. package/dist/components/ic-theme.js +51 -25
  584. package/dist/components/ic-theme.js.map +1 -1
  585. package/dist/components/ic-toast-region.js +1 -9
  586. package/dist/components/ic-toast-region.js.map +1 -1
  587. package/dist/components/ic-toast.js +86 -37
  588. package/dist/components/ic-toast.js.map +1 -1
  589. package/dist/components/ic-toggle-button-group.js +71 -30
  590. package/dist/components/ic-toggle-button-group.js.map +1 -1
  591. package/dist/components/ic-toggle-button.js +73 -40
  592. package/dist/components/ic-toggle-button.js.map +1 -1
  593. package/dist/components/ic-tooltip2.js +8 -3
  594. package/dist/components/ic-tooltip2.js.map +1 -1
  595. package/dist/components/ic-top-navigation.js +19 -13
  596. package/dist/components/ic-top-navigation.js.map +1 -1
  597. package/dist/components/ic-typography2.js +9 -6
  598. package/dist/components/ic-typography2.js.map +1 -1
  599. package/dist/core/ag-theme-icds.css +32 -31
  600. package/dist/core/core.css +1606 -64
  601. package/dist/core/core.esm.js +1 -1
  602. package/dist/core/core.esm.js.map +1 -1
  603. package/dist/core/p-0cb72d37.entry.js +2 -0
  604. package/dist/core/p-0cb72d37.entry.js.map +1 -0
  605. package/dist/core/p-1223d0e9.entry.js +2 -0
  606. package/dist/core/p-1223d0e9.entry.js.map +1 -0
  607. package/dist/core/p-190c3474.entry.js +2 -0
  608. package/dist/core/p-190c3474.entry.js.map +1 -0
  609. package/dist/core/p-199b9196.entry.js +2 -0
  610. package/dist/core/p-199b9196.entry.js.map +1 -0
  611. package/dist/core/p-1bf956cb.entry.js +2 -0
  612. package/dist/core/p-1bf956cb.entry.js.map +1 -0
  613. package/dist/core/p-20ac0d2a.entry.js +2 -0
  614. package/dist/core/p-20ac0d2a.entry.js.map +1 -0
  615. package/dist/core/p-2197e83e.entry.js +2 -0
  616. package/dist/core/p-2197e83e.entry.js.map +1 -0
  617. package/dist/core/p-243ad74c.entry.js +2 -0
  618. package/dist/core/p-243ad74c.entry.js.map +1 -0
  619. package/dist/core/p-24a34d72.entry.js +2 -0
  620. package/dist/core/p-24a34d72.entry.js.map +1 -0
  621. package/dist/core/{p-7438ab1f.entry.js → p-26bc7c62.entry.js} +2 -2
  622. package/dist/core/p-26bc7c62.entry.js.map +1 -0
  623. package/dist/core/{p-3eda4e14.entry.js → p-27274ca8.entry.js} +2 -2
  624. package/dist/core/p-27274ca8.entry.js.map +1 -0
  625. package/dist/core/p-29afeb33.entry.js +2 -0
  626. package/dist/core/p-29afeb33.entry.js.map +1 -0
  627. package/dist/core/p-2cc0d6b9.entry.js +2 -0
  628. package/dist/core/p-2cc0d6b9.entry.js.map +1 -0
  629. package/dist/core/p-31c84a47.entry.js +2 -0
  630. package/dist/core/p-31c84a47.entry.js.map +1 -0
  631. package/dist/core/p-33b44dc1.entry.js +2 -0
  632. package/dist/core/p-33b44dc1.entry.js.map +1 -0
  633. package/dist/core/p-36ac5305.entry.js +2 -0
  634. package/dist/core/p-36ac5305.entry.js.map +1 -0
  635. package/dist/core/{p-3969d3c0.entry.js → p-3ea4a005.entry.js} +2 -2
  636. package/dist/core/p-3ea4a005.entry.js.map +1 -0
  637. package/dist/core/p-404b482e.entry.js +2 -0
  638. package/dist/core/p-404b482e.entry.js.map +1 -0
  639. package/dist/core/p-419d3378.entry.js +2 -0
  640. package/dist/core/p-419d3378.entry.js.map +1 -0
  641. package/dist/core/p-47038ea3.entry.js +2 -0
  642. package/dist/core/p-47038ea3.entry.js.map +1 -0
  643. package/dist/core/p-490bf0ee.entry.js +2 -0
  644. package/dist/core/p-490bf0ee.entry.js.map +1 -0
  645. package/dist/core/p-4e6e34fe.entry.js +2 -0
  646. package/dist/core/p-4e6e34fe.entry.js.map +1 -0
  647. package/dist/core/p-4fce49bd.entry.js +2 -0
  648. package/dist/core/p-4fce49bd.entry.js.map +1 -0
  649. package/dist/core/p-50b04d0f.entry.js +2 -0
  650. package/dist/core/p-50b04d0f.entry.js.map +1 -0
  651. package/dist/core/p-5b42dbef.entry.js +2 -0
  652. package/dist/core/p-5b42dbef.entry.js.map +1 -0
  653. package/dist/core/p-5be2c26a.entry.js +2 -0
  654. package/dist/core/p-5be2c26a.entry.js.map +1 -0
  655. package/dist/core/p-5d5345a4.entry.js +2 -0
  656. package/dist/core/p-5d5345a4.entry.js.map +1 -0
  657. package/dist/core/p-5dcc0489.entry.js +2 -0
  658. package/dist/core/p-5dcc0489.entry.js.map +1 -0
  659. package/dist/core/p-5f6d6b3f.entry.js +2 -0
  660. package/dist/core/p-5f6d6b3f.entry.js.map +1 -0
  661. package/dist/core/p-5f74782e.entry.js +2 -0
  662. package/dist/core/p-5f74782e.entry.js.map +1 -0
  663. package/dist/core/p-641e244d.entry.js +2 -0
  664. package/dist/core/p-641e244d.entry.js.map +1 -0
  665. package/dist/core/p-6c1cf351.entry.js +2 -0
  666. package/dist/core/p-6c1cf351.entry.js.map +1 -0
  667. package/dist/core/p-6e630778.entry.js +2 -0
  668. package/dist/core/p-6e630778.entry.js.map +1 -0
  669. package/dist/core/p-7c8cd719.entry.js +2 -0
  670. package/dist/core/p-7c8cd719.entry.js.map +1 -0
  671. package/dist/core/p-7c94e055.entry.js +2 -0
  672. package/dist/core/p-7c94e055.entry.js.map +1 -0
  673. package/dist/core/p-7fa74998.entry.js +2 -0
  674. package/dist/core/p-7fa74998.entry.js.map +1 -0
  675. package/dist/core/p-7ff4632d.entry.js +2 -0
  676. package/dist/core/p-7ff4632d.entry.js.map +1 -0
  677. package/dist/core/p-84c3a870.entry.js +2 -0
  678. package/dist/core/p-84c3a870.entry.js.map +1 -0
  679. package/dist/core/p-8624bb98.entry.js +2 -0
  680. package/dist/core/p-8624bb98.entry.js.map +1 -0
  681. package/dist/core/p-87aa30b4.entry.js +2 -0
  682. package/dist/core/p-87aa30b4.entry.js.map +1 -0
  683. package/dist/core/p-932f3e3c.js +2 -0
  684. package/dist/core/p-932f3e3c.js.map +1 -0
  685. package/dist/core/{p-6fae7e1f.entry.js → p-96b4ca6e.entry.js} +2 -2
  686. package/dist/core/p-96b4ca6e.entry.js.map +1 -0
  687. package/dist/core/p-9ad4bbf4.entry.js +2 -0
  688. package/dist/core/p-9ad4bbf4.entry.js.map +1 -0
  689. package/dist/core/p-9cfd6855.entry.js +2 -0
  690. package/dist/core/p-9cfd6855.entry.js.map +1 -0
  691. package/dist/core/p-a38f5453.entry.js +2 -0
  692. package/dist/core/p-a38f5453.entry.js.map +1 -0
  693. package/dist/core/p-af934e73.entry.js +2 -0
  694. package/dist/core/p-af934e73.entry.js.map +1 -0
  695. package/dist/core/p-b9941d97.entry.js +2 -0
  696. package/dist/core/p-b9941d97.entry.js.map +1 -0
  697. package/dist/core/p-cf0176be.entry.js +2 -0
  698. package/dist/core/p-cf0176be.entry.js.map +1 -0
  699. package/dist/core/p-cf5d88a9.entry.js +2 -0
  700. package/dist/core/p-cf5d88a9.entry.js.map +1 -0
  701. package/dist/core/p-d21d8014.entry.js +2 -0
  702. package/dist/core/p-d21d8014.entry.js.map +1 -0
  703. package/dist/core/p-df957570.entry.js +2 -0
  704. package/dist/core/p-df957570.entry.js.map +1 -0
  705. package/dist/core/p-e0730a5d.entry.js +2 -0
  706. package/dist/core/p-e0730a5d.entry.js.map +1 -0
  707. package/dist/core/p-e1f8d915.entry.js +2 -0
  708. package/dist/core/p-e1f8d915.entry.js.map +1 -0
  709. package/dist/core/p-e4cb5585.entry.js +2 -0
  710. package/dist/core/p-e4cb5585.entry.js.map +1 -0
  711. package/dist/core/p-f073fc69.entry.js +2 -0
  712. package/dist/core/p-f073fc69.entry.js.map +1 -0
  713. package/dist/core/p-f2d9eefe.entry.js +2 -0
  714. package/dist/core/p-f2d9eefe.entry.js.map +1 -0
  715. package/dist/core/p-f7872eef.entry.js +2 -0
  716. package/dist/core/p-f7872eef.entry.js.map +1 -0
  717. package/dist/core/{p-9df32798.entry.js → p-f9dceda0.entry.js} +2 -2
  718. package/dist/core/p-f9dceda0.entry.js.map +1 -0
  719. package/dist/core/p-fac53f92.entry.js +2 -0
  720. package/dist/core/p-fac53f92.entry.js.map +1 -0
  721. package/dist/esm/core.js +1 -1
  722. package/dist/esm/{helpers-003f27c9.js → helpers-2624c32c.js} +65 -22
  723. package/dist/esm/helpers-2624c32c.js.map +1 -0
  724. package/dist/esm/ic-accordion-group.entry.js +14 -15
  725. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  726. package/dist/esm/ic-accordion.entry.js +7 -8
  727. package/dist/esm/ic-accordion.entry.js.map +1 -1
  728. package/dist/esm/ic-alert.entry.js +8 -9
  729. package/dist/esm/ic-alert.entry.js.map +1 -1
  730. package/dist/esm/ic-back-to-top.entry.js +16 -17
  731. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  732. package/dist/esm/ic-badge.entry.js +22 -51
  733. package/dist/esm/ic-badge.entry.js.map +1 -1
  734. package/dist/esm/ic-breadcrumb-group.entry.js +26 -14
  735. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  736. package/dist/esm/ic-breadcrumb.entry.js +53 -8
  737. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  738. package/dist/esm/ic-button_3.entry.js +59 -53
  739. package/dist/esm/ic-button_3.entry.js.map +1 -1
  740. package/dist/esm/ic-card-vertical.entry.js +146 -0
  741. package/dist/esm/ic-card-vertical.entry.js.map +1 -0
  742. package/dist/esm/ic-checkbox-group.entry.js +21 -10
  743. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  744. package/dist/esm/ic-checkbox.entry.js +8 -16
  745. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  746. package/dist/esm/ic-chip.entry.js +23 -24
  747. package/dist/esm/ic-chip.entry.js.map +1 -1
  748. package/dist/esm/ic-classification-banner.entry.js +2 -2
  749. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  750. package/dist/esm/ic-data-list.entry.js +28 -0
  751. package/dist/esm/ic-data-list.entry.js.map +1 -0
  752. package/dist/esm/ic-data-row.entry.js +12 -12
  753. package/dist/esm/ic-data-row.entry.js.map +1 -1
  754. package/dist/esm/ic-dialog.entry.js +14 -105
  755. package/dist/esm/ic-dialog.entry.js.map +1 -1
  756. package/dist/esm/ic-divider.entry.js +74 -11
  757. package/dist/esm/ic-divider.entry.js.map +1 -1
  758. package/dist/esm/ic-empty-state.entry.js +9 -8
  759. package/dist/esm/ic-empty-state.entry.js.map +1 -1
  760. package/dist/esm/ic-footer-link-group.entry.js +12 -14
  761. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  762. package/dist/esm/ic-footer-link.entry.js +11 -12
  763. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  764. package/dist/esm/ic-footer.entry.js +11 -13
  765. package/dist/esm/ic-footer.entry.js.map +1 -1
  766. package/dist/esm/ic-hero.entry.js +12 -15
  767. package/dist/esm/ic-hero.entry.js.map +1 -1
  768. package/dist/esm/ic-horizontal-scroll.entry.js +15 -9
  769. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  770. package/dist/esm/ic-input-component-container_3.entry.js +478 -201
  771. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  772. package/dist/esm/ic-input-label_2.entry.js +23 -28
  773. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  774. package/dist/esm/ic-link.entry.js +22 -15
  775. package/dist/esm/ic-link.entry.js.map +1 -1
  776. package/dist/esm/ic-menu-group.entry.js +2 -3
  777. package/dist/esm/ic-menu-group.entry.js.map +1 -1
  778. package/dist/esm/ic-menu-item.entry.js +12 -13
  779. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  780. package/dist/esm/ic-navigation-button.entry.js +12 -10
  781. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  782. package/dist/esm/ic-navigation-group.entry.js +14 -14
  783. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  784. package/dist/esm/ic-navigation-item.entry.js +11 -10
  785. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  786. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  787. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  788. package/dist/esm/ic-page-header.entry.js +10 -10
  789. package/dist/esm/ic-page-header.entry.js.map +1 -1
  790. package/dist/esm/ic-pagination-item.entry.js +8 -12
  791. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  792. package/dist/esm/ic-pagination.entry.js +51 -46
  793. package/dist/esm/ic-pagination.entry.js.map +1 -1
  794. package/dist/esm/ic-popover-menu.entry.js +23 -4
  795. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  796. package/dist/esm/ic-radio-group.entry.js +32 -18
  797. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  798. package/dist/esm/ic-radio-option.entry.js +34 -40
  799. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  800. package/dist/esm/ic-search-bar.entry.js +56 -57
  801. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  802. package/dist/esm/ic-select.entry.js +193 -80
  803. package/dist/esm/ic-select.entry.js.map +1 -1
  804. package/dist/esm/ic-side-navigation.entry.js +19 -22
  805. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  806. package/dist/esm/ic-skeleton.entry.js +5 -6
  807. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  808. package/dist/esm/ic-status-tag.entry.js +8 -16
  809. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  810. package/dist/esm/ic-step.entry.js +41 -46
  811. package/dist/esm/ic-step.entry.js.map +1 -1
  812. package/dist/esm/ic-stepper.entry.js +27 -18
  813. package/dist/esm/ic-stepper.entry.js.map +1 -1
  814. package/dist/esm/ic-switch.entry.js +17 -18
  815. package/dist/esm/ic-switch.entry.js.map +1 -1
  816. package/dist/esm/ic-tab-context.entry.js +34 -28
  817. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  818. package/dist/esm/ic-tab-group.entry.js +9 -11
  819. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  820. package/dist/esm/ic-tab-panel.entry.js +12 -11
  821. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  822. package/dist/esm/ic-tab.entry.js +10 -9
  823. package/dist/esm/ic-tab.entry.js.map +1 -1
  824. package/dist/esm/ic-text-field.entry.js +81 -72
  825. package/dist/esm/ic-text-field.entry.js.map +1 -1
  826. package/dist/esm/ic-theme.entry.js +45 -22
  827. package/dist/esm/ic-theme.entry.js.map +1 -1
  828. package/dist/esm/ic-toast-region.entry.js +0 -7
  829. package/dist/esm/ic-toast-region.entry.js.map +1 -1
  830. package/dist/esm/ic-toast.entry.js +83 -36
  831. package/dist/esm/ic-toast.entry.js.map +1 -1
  832. package/dist/esm/ic-toggle-button-group.entry.js +63 -30
  833. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  834. package/dist/esm/ic-toggle-button.entry.js +65 -34
  835. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  836. package/dist/esm/ic-top-navigation.entry.js +17 -12
  837. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  838. package/dist/esm/ic-typography.entry.js +9 -8
  839. package/dist/esm/ic-typography.entry.js.map +1 -1
  840. package/dist/esm/index-d1d2c456.js +16 -16
  841. package/dist/esm/loader.js +1 -1
  842. package/dist/types/components/ic-accordion/ic-accordion.d.ts +5 -5
  843. package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +6 -6
  844. package/dist/types/components/ic-alert/ic-alert.d.ts +9 -9
  845. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +5 -1
  846. package/dist/types/components/ic-badge/ic-badge.d.ts +8 -15
  847. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +17 -5
  848. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +13 -7
  849. package/dist/types/components/ic-button/ic-button.d.ts +10 -7
  850. package/dist/types/components/{ic-card/ic-card.d.ts → ic-card-vertical/ic-card-vertical.d.ts} +10 -6
  851. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +3 -27
  852. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +5 -3
  853. package/dist/types/components/ic-chip/ic-chip.d.ts +8 -11
  854. package/dist/types/components/ic-data-list/ic-data-list.d.ts +20 -0
  855. package/dist/types/components/ic-data-row/ic-data-row.d.ts +4 -4
  856. package/dist/types/components/ic-dialog/ic-dialog.d.ts +5 -37
  857. package/dist/types/components/ic-divider/ic-divider.d.ts +33 -3
  858. package/dist/types/components/ic-divider/ic-divider.types.d.ts +3 -0
  859. package/dist/types/components/ic-empty-state/ic-empty-state.d.ts +6 -2
  860. package/dist/types/components/ic-footer/ic-footer.d.ts +3 -3
  861. package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +3 -3
  862. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +4 -3
  863. package/dist/types/components/ic-hero/ic-hero.d.ts +5 -9
  864. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +8 -2
  865. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +0 -12
  866. package/dist/types/components/ic-input-label/ic-input-label.d.ts +8 -12
  867. package/dist/types/components/ic-link/ic-link.d.ts +10 -10
  868. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +12 -8
  869. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +1 -1
  870. package/dist/types/components/ic-menu/ic-menu.d.ts +49 -20
  871. package/dist/types/components/ic-menu-item/ic-menu-item.d.ts +5 -5
  872. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +7 -3
  873. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +7 -3
  874. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +7 -3
  875. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +5 -0
  876. package/dist/types/components/ic-page-header/ic-page-header.d.ts +5 -5
  877. package/dist/types/components/ic-pagination/ic-pagination.d.ts +13 -9
  878. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +9 -5
  879. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +5 -0
  880. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +7 -6
  881. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +8 -27
  882. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +17 -18
  883. package/dist/types/components/ic-select/ic-select.d.ts +36 -47
  884. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +4 -4
  885. package/dist/types/components/ic-side-navigation/ic-side-navigation.types.d.ts +2 -2
  886. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +3 -6
  887. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +9 -10
  888. package/dist/types/components/ic-status-tag/ic-status-tag.types.d.ts +0 -1
  889. package/dist/types/components/ic-step/ic-step.d.ts +11 -6
  890. package/dist/types/components/ic-stepper/ic-stepper.d.ts +6 -4
  891. package/dist/types/components/ic-stepper/test/basic/ic-stepper-test-examples.d.ts +4 -4
  892. package/dist/types/components/ic-switch/ic-switch.d.ts +4 -8
  893. package/dist/types/components/ic-tab/ic-tab.d.ts +5 -3
  894. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +11 -11
  895. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +5 -10
  896. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +13 -7
  897. package/dist/types/components/ic-text-field/ic-text-field.d.ts +15 -19
  898. package/dist/types/components/ic-theme/ic-theme.d.ts +15 -8
  899. package/dist/types/components/ic-toast/ic-toast.d.ts +8 -1
  900. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +0 -5
  901. package/dist/types/components/ic-toggle-button/ic-toggle-button.d.ts +11 -10
  902. package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.d.ts +15 -5
  903. package/dist/types/components/ic-toggle-button-group/ic-toggle-button-group.types.d.ts +1 -1
  904. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +5 -0
  905. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +8 -4
  906. package/dist/types/components/ic-typography/ic-typography.d.ts +5 -1
  907. package/dist/types/components.d.ts +647 -662
  908. package/dist/types/utils/helpers.d.ts +16 -8
  909. package/dist/types/utils/types.d.ts +11 -9
  910. package/hydrate/index.js +2155 -1491
  911. package/package.json +13 -12
  912. package/vscode-data.json +827 -467
  913. package/dist/cjs/helpers-6f6991cb.js.map +0 -1
  914. package/dist/cjs/ic-card.cjs.entry.js +0 -149
  915. package/dist/cjs/ic-card.cjs.entry.js.map +0 -1
  916. package/dist/cjs/ic-data-entity.cjs.entry.js +0 -29
  917. package/dist/cjs/ic-data-entity.cjs.entry.js.map +0 -1
  918. package/dist/cjs/types-dc22e301.js +0 -16
  919. package/dist/cjs/types-dc22e301.js.map +0 -1
  920. package/dist/collection/components/ic-card/ic-card.js.map +0 -1
  921. package/dist/collection/components/ic-card/test/basic/ic-card.spec.js.map +0 -1
  922. package/dist/collection/components/ic-chip/ic-chip.types.js +0 -2
  923. package/dist/collection/components/ic-chip/ic-chip.types.js.map +0 -1
  924. package/dist/collection/components/ic-data-entity/ic-data-entity.js.map +0 -1
  925. package/dist/collection/components/ic-data-entity/test/basic/ic-data-entity.spec.js.map +0 -1
  926. package/dist/components/ic-alert2.js +0 -132
  927. package/dist/components/ic-alert2.js.map +0 -1
  928. package/dist/components/ic-card.js +0 -196
  929. package/dist/components/ic-card.js.map +0 -1
  930. package/dist/components/ic-data-entity.js +0 -53
  931. package/dist/components/ic-data-entity.js.map +0 -1
  932. package/dist/components/ic-text-field2.js +0 -368
  933. package/dist/components/ic-text-field2.js.map +0 -1
  934. package/dist/components/types.js +0 -16
  935. package/dist/components/types.js.map +0 -1
  936. package/dist/core/p-08478a4c.entry.js +0 -2
  937. package/dist/core/p-08478a4c.entry.js.map +0 -1
  938. package/dist/core/p-12bac804.entry.js +0 -2
  939. package/dist/core/p-12bac804.entry.js.map +0 -1
  940. package/dist/core/p-13b2c3a2.entry.js +0 -2
  941. package/dist/core/p-13b2c3a2.entry.js.map +0 -1
  942. package/dist/core/p-168a7440.entry.js +0 -2
  943. package/dist/core/p-168a7440.entry.js.map +0 -1
  944. package/dist/core/p-193fc7d0.entry.js +0 -2
  945. package/dist/core/p-193fc7d0.entry.js.map +0 -1
  946. package/dist/core/p-1e4690f8.entry.js +0 -2
  947. package/dist/core/p-1e4690f8.entry.js.map +0 -1
  948. package/dist/core/p-1f6d36d5.entry.js +0 -2
  949. package/dist/core/p-1f6d36d5.entry.js.map +0 -1
  950. package/dist/core/p-26b7b18f.js +0 -2
  951. package/dist/core/p-26b7b18f.js.map +0 -1
  952. package/dist/core/p-2a11be1e.entry.js +0 -2
  953. package/dist/core/p-2a11be1e.entry.js.map +0 -1
  954. package/dist/core/p-3969d3c0.entry.js.map +0 -1
  955. package/dist/core/p-3ba915a5.entry.js +0 -2
  956. package/dist/core/p-3ba915a5.entry.js.map +0 -1
  957. package/dist/core/p-3e8023ff.entry.js +0 -2
  958. package/dist/core/p-3e8023ff.entry.js.map +0 -1
  959. package/dist/core/p-3eda4e14.entry.js.map +0 -1
  960. package/dist/core/p-4c6dc1b2.entry.js +0 -2
  961. package/dist/core/p-4c6dc1b2.entry.js.map +0 -1
  962. package/dist/core/p-51407872.entry.js +0 -2
  963. package/dist/core/p-51407872.entry.js.map +0 -1
  964. package/dist/core/p-597c221c.entry.js +0 -2
  965. package/dist/core/p-597c221c.entry.js.map +0 -1
  966. package/dist/core/p-65dc77ba.entry.js +0 -2
  967. package/dist/core/p-65dc77ba.entry.js.map +0 -1
  968. package/dist/core/p-6beed7db.entry.js +0 -2
  969. package/dist/core/p-6beed7db.entry.js.map +0 -1
  970. package/dist/core/p-6d8dc552.entry.js +0 -2
  971. package/dist/core/p-6d8dc552.entry.js.map +0 -1
  972. package/dist/core/p-6fae7e1f.entry.js.map +0 -1
  973. package/dist/core/p-72f292f2.entry.js +0 -2
  974. package/dist/core/p-72f292f2.entry.js.map +0 -1
  975. package/dist/core/p-7438ab1f.entry.js.map +0 -1
  976. package/dist/core/p-78f16b1a.entry.js +0 -2
  977. package/dist/core/p-78f16b1a.entry.js.map +0 -1
  978. package/dist/core/p-7b3a4b3f.entry.js +0 -2
  979. package/dist/core/p-7b3a4b3f.entry.js.map +0 -1
  980. package/dist/core/p-7f1594d9.entry.js +0 -2
  981. package/dist/core/p-7f1594d9.entry.js.map +0 -1
  982. package/dist/core/p-8dd2d3df.entry.js +0 -2
  983. package/dist/core/p-8dd2d3df.entry.js.map +0 -1
  984. package/dist/core/p-90433147.entry.js +0 -2
  985. package/dist/core/p-90433147.entry.js.map +0 -1
  986. package/dist/core/p-915e5888.entry.js +0 -2
  987. package/dist/core/p-915e5888.entry.js.map +0 -1
  988. package/dist/core/p-91fab13d.entry.js +0 -2
  989. package/dist/core/p-91fab13d.entry.js.map +0 -1
  990. package/dist/core/p-96e79d69.entry.js +0 -2
  991. package/dist/core/p-96e79d69.entry.js.map +0 -1
  992. package/dist/core/p-9a6790d8.entry.js +0 -2
  993. package/dist/core/p-9a6790d8.entry.js.map +0 -1
  994. package/dist/core/p-9df32798.entry.js.map +0 -1
  995. package/dist/core/p-9ef08234.entry.js +0 -2
  996. package/dist/core/p-9ef08234.entry.js.map +0 -1
  997. package/dist/core/p-a020afbd.entry.js +0 -2
  998. package/dist/core/p-a020afbd.entry.js.map +0 -1
  999. package/dist/core/p-a141ea39.entry.js +0 -2
  1000. package/dist/core/p-a141ea39.entry.js.map +0 -1
  1001. package/dist/core/p-a32016ff.entry.js +0 -2
  1002. package/dist/core/p-a32016ff.entry.js.map +0 -1
  1003. package/dist/core/p-a438656d.entry.js +0 -2
  1004. package/dist/core/p-a438656d.entry.js.map +0 -1
  1005. package/dist/core/p-a9cea205.entry.js +0 -2
  1006. package/dist/core/p-a9cea205.entry.js.map +0 -1
  1007. package/dist/core/p-b21d5f94.entry.js +0 -2
  1008. package/dist/core/p-b21d5f94.entry.js.map +0 -1
  1009. package/dist/core/p-b262eaff.entry.js +0 -2
  1010. package/dist/core/p-b262eaff.entry.js.map +0 -1
  1011. package/dist/core/p-b60912a7.entry.js +0 -2
  1012. package/dist/core/p-b60912a7.entry.js.map +0 -1
  1013. package/dist/core/p-b62735aa.entry.js +0 -2
  1014. package/dist/core/p-b62735aa.entry.js.map +0 -1
  1015. package/dist/core/p-ba06cc95.entry.js +0 -2
  1016. package/dist/core/p-ba06cc95.entry.js.map +0 -1
  1017. package/dist/core/p-ba884064.entry.js +0 -2
  1018. package/dist/core/p-ba884064.entry.js.map +0 -1
  1019. package/dist/core/p-bdaff5c9.entry.js +0 -2
  1020. package/dist/core/p-bdaff5c9.entry.js.map +0 -1
  1021. package/dist/core/p-bfaa257c.entry.js +0 -2
  1022. package/dist/core/p-bfaa257c.entry.js.map +0 -1
  1023. package/dist/core/p-c05474f3.entry.js +0 -2
  1024. package/dist/core/p-c05474f3.entry.js.map +0 -1
  1025. package/dist/core/p-c939d07d.entry.js +0 -2
  1026. package/dist/core/p-c939d07d.entry.js.map +0 -1
  1027. package/dist/core/p-d0299926.entry.js +0 -2
  1028. package/dist/core/p-d0299926.entry.js.map +0 -1
  1029. package/dist/core/p-d3344518.entry.js +0 -2
  1030. package/dist/core/p-d3344518.entry.js.map +0 -1
  1031. package/dist/core/p-d375858e.entry.js +0 -2
  1032. package/dist/core/p-d375858e.entry.js.map +0 -1
  1033. package/dist/core/p-d41c847e.js +0 -2
  1034. package/dist/core/p-d41c847e.js.map +0 -1
  1035. package/dist/core/p-e1ab5945.entry.js +0 -2
  1036. package/dist/core/p-e1ab5945.entry.js.map +0 -1
  1037. package/dist/core/p-e668390c.entry.js +0 -2
  1038. package/dist/core/p-e668390c.entry.js.map +0 -1
  1039. package/dist/core/p-eae017ce.entry.js +0 -2
  1040. package/dist/core/p-eae017ce.entry.js.map +0 -1
  1041. package/dist/core/p-ee6aa6a1.entry.js +0 -2
  1042. package/dist/core/p-ee6aa6a1.entry.js.map +0 -1
  1043. package/dist/core/p-f3599009.entry.js +0 -2
  1044. package/dist/core/p-f3599009.entry.js.map +0 -1
  1045. package/dist/core/p-f39741be.entry.js +0 -2
  1046. package/dist/core/p-f39741be.entry.js.map +0 -1
  1047. package/dist/core/p-f404b35e.entry.js +0 -2
  1048. package/dist/core/p-f404b35e.entry.js.map +0 -1
  1049. package/dist/core/p-f4382f1f.entry.js +0 -2
  1050. package/dist/core/p-f4382f1f.entry.js.map +0 -1
  1051. package/dist/esm/helpers-003f27c9.js.map +0 -1
  1052. package/dist/esm/ic-card.entry.js +0 -145
  1053. package/dist/esm/ic-card.entry.js.map +0 -1
  1054. package/dist/esm/ic-data-entity.entry.js +0 -25
  1055. package/dist/esm/ic-data-entity.entry.js.map +0 -1
  1056. package/dist/esm/types-6f6b41a5.js +0 -16
  1057. package/dist/esm/types-6f6b41a5.js.map +0 -1
  1058. package/dist/types/components/ic-chip/ic-chip.types.d.ts +0 -1
  1059. package/dist/types/components/ic-data-entity/ic-data-entity.d.ts +0 -20
@@ -0,0 +1,150 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-f982899d.js');
6
+ const helpers = require('./helpers-eca4c27e.js');
7
+ const chevronIcon = require('./chevron-icon-3bf07531.js');
8
+
9
+ const icCardVerticalCss = "/*! 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-primary) !important;\n}\n\na:visited {\n color: var(--ic-card-link-action-dark) !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-space-1px) solid var(--ic-card-border-primary);\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-primary);\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-icon);\n }\n &.monochrome {\n border: var(--ic-border-width) solid var(--ic-card-border-monochrome);\n }\n &.fullwidth {\n width: 100%;\n }\n &.clickable {\n &:hover {\n background-color: var(--ic-card-background-hover);\n border: var(--ic-space-1px) solid var(--ic-card-hover-border-color);\n cursor: pointer;\n }\n &.focussed,\n &:focus {\n background-color: var(--ic-card-background-hover);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n border: var(--ic-space-1px) solid var(--ic-card-pressed-border-color);\n }\n &:active {\n background-color: var(--ic-card-background-pressed);\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-space-1px) dashed var(--ic-card-disabled-border-color);\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 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-background-hover);\n }\n &:focus {\n box-shadow: var(--ic-border-focus);\n }\n &:active:not(:focus) {\n background-color: var(--ic-card-background-pressed);\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";
10
+
11
+ const CardVertical = class {
12
+ constructor(hostRef) {
13
+ index.registerInstance(this, hostRef);
14
+ this.hostMutationObserver = null;
15
+ this.parentFocussed = () => {
16
+ this.isFocussed = true;
17
+ };
18
+ this.parentBlurred = () => {
19
+ this.isFocussed = false;
20
+ };
21
+ this.toggleExpanded = () => {
22
+ this.areaExpanded = !this.areaExpanded;
23
+ };
24
+ this.areaExpanded = false;
25
+ this.isFocussed = false;
26
+ this.monochrome = false;
27
+ this.parentEl = null;
28
+ this.parentIsAnchorTag = false;
29
+ this.clickable = false;
30
+ this.disabled = false;
31
+ this.expandable = false;
32
+ this.fullWidth = false;
33
+ this.heading = undefined;
34
+ this.href = undefined;
35
+ this.hreflang = "";
36
+ this.message = "";
37
+ this.referrerpolicy = undefined;
38
+ this.rel = undefined;
39
+ this.subheading = undefined;
40
+ this.target = undefined;
41
+ this.theme = "inherit";
42
+ }
43
+ watchDisabledHandler() {
44
+ helpers.removeDisabledFalse(this.disabled, this.el);
45
+ }
46
+ disconnectedCallback() {
47
+ var _a;
48
+ if (this.parentIsAnchorTag) {
49
+ this.parentEl.removeEventListener("focus", this.parentFocussed);
50
+ this.parentEl.removeEventListener("blur", this.parentBlurred);
51
+ }
52
+ (_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
53
+ }
54
+ componentWillLoad() {
55
+ this.parentEl = this.el.parentElement;
56
+ if (this.parentEl.tagName === "A") {
57
+ this.clickable = true;
58
+ this.parentIsAnchorTag = true;
59
+ this.parentEl.classList.add("ic-card-wrapper-link");
60
+ this.parentEl.addEventListener("focus", this.parentFocussed);
61
+ this.parentEl.addEventListener("blur", this.parentBlurred);
62
+ }
63
+ helpers.removeDisabledFalse(this.disabled, this.el);
64
+ }
65
+ componentDidLoad() {
66
+ !helpers.isSlotUsed(this.el, "heading") &&
67
+ helpers.onComponentRequiredPropUndefined([{ prop: this.heading, propName: "heading" }], "Card");
68
+ this.updateTheme();
69
+ this.hostMutationObserver = new MutationObserver((mutationList) => helpers.renderDynamicChildSlots(mutationList, [
70
+ "message",
71
+ "adornment",
72
+ "expanded-content",
73
+ "image-top",
74
+ "image-mid",
75
+ "icon",
76
+ "interaction-button",
77
+ "badge",
78
+ "interaction-controls",
79
+ ], this));
80
+ this.hostMutationObserver.observe(this.el, {
81
+ childList: true,
82
+ });
83
+ }
84
+ handleHostClick(event) {
85
+ if (this.disabled) {
86
+ event.stopImmediatePropagation();
87
+ }
88
+ }
89
+ brandChangeHandler(ev) {
90
+ this.updateTheme(ev.detail.mode);
91
+ }
92
+ /**
93
+ * Sets focus on the card.
94
+ */
95
+ async setFocus() {
96
+ if (this.el.shadowRoot.querySelector("a")) {
97
+ this.el.shadowRoot.querySelector("a").focus();
98
+ }
99
+ else if (this.el.shadowRoot.querySelector("button")) {
100
+ this.el.shadowRoot.querySelector("button").focus();
101
+ }
102
+ }
103
+ updateTheme(mode = null) {
104
+ const foregroundColor = helpers.getBrandFromContext(this.el, mode);
105
+ if (foregroundColor !== helpers.IcBrandForegroundEnum.Default) {
106
+ this.monochrome = true;
107
+ this.theme =
108
+ foregroundColor === helpers.IcBrandForegroundEnum.Light
109
+ ? helpers.IcBrandForegroundEnum.Dark
110
+ : helpers.IcBrandForegroundEnum.Light;
111
+ }
112
+ }
113
+ render() {
114
+ const { clickable, disabled, expandable, fullWidth, heading, isFocussed, message, monochrome, href, hreflang, parentIsAnchorTag, referrerpolicy, rel, subheading, target, theme, } = this;
115
+ const Component = parentIsAnchorTag || !clickable
116
+ ? "div"
117
+ : href === undefined
118
+ ? "button"
119
+ : "a";
120
+ const attrs = Component == "a" && {
121
+ href: href,
122
+ hrefLang: hreflang,
123
+ referrerPolicy: referrerpolicy,
124
+ rel: rel,
125
+ target: target,
126
+ };
127
+ return (index.h(index.Host, { class: {
128
+ [`ic-theme-${theme}`]: theme !== "inherit",
129
+ } }, index.h(Component, Object.assign({ class: {
130
+ card: true,
131
+ clickable: clickable && !disabled,
132
+ disabled,
133
+ fullwidth: fullWidth,
134
+ focussed: isFocussed,
135
+ monochrome: monochrome,
136
+ }, tabindex: clickable && !parentIsAnchorTag ? 0 : null, "aria-disabled": disabled ? "true" : null, disabled: disabled ? true : null }, attrs), helpers.isSlotUsed(this.el, "image-top") && (index.h("div", { class: "image-top" }, index.h("slot", { name: "image-top" }))), index.h("div", { class: "card-header" }, helpers.isSlotUsed(this.el, "icon") && (index.h("div", { class: "icon" }, index.h("slot", { name: "icon" }))), index.h("div", { class: "card-title" }, index.h("slot", { name: "heading" }, index.h("ic-typography", { variant: "h4" }, index.h("p", null, heading)))), helpers.isSlotUsed(this.el, "interaction-button") && (index.h("div", { class: "interaction-button" }, index.h("slot", { name: "interaction-button" })))), (subheading || helpers.isSlotUsed(this.el, "subheading")) && (index.h("div", { class: "subheading" }, index.h("slot", { name: "subheading" }, index.h("ic-typography", { variant: "subtitle-small" }, subheading)))), helpers.isSlotUsed(this.el, "adornment") && (index.h("div", { class: "adornment" }, index.h("slot", { name: "adornment" }))), helpers.isSlotUsed(this.el, "image-mid") && (index.h("div", { class: "image-mid" }, index.h("slot", { name: "image-mid" }))), (message || helpers.isSlotUsed(this.el, "message")) && (index.h("div", { class: "card-message" }, message && (index.h("ic-typography", { variant: "body" }, message)), helpers.isSlotUsed(this.el, "message") && index.h("slot", { name: "message" }))), (helpers.isSlotUsed(this.el, "interaction-controls") || expandable) && (index.h("div", { class: "interaction-area" }, index.h("div", { class: "interaction-controls" }, index.h("slot", { name: "interaction-controls" })), expandable && (index.h("ic-tooltip", { id: "ic-tooltip-expand-button", label: "Toggle expandable area", silent: true }, index.h("button", { class: {
137
+ "toggle-button": true,
138
+ [`toggle-button-${this.areaExpanded ? "expanded" : "closed"}`]: true,
139
+ }, "aria-label": "Toggle expandable area", "aria-expanded": `${this.areaExpanded}`, "aria-controls": this.areaExpanded ? "expanded-content-area" : null, onClick: this.toggleExpanded, innerHTML: chevronIcon.Chevron }))))), helpers.isSlotUsed(this.el, "expanded-content") && this.areaExpanded && (index.h("div", { class: "expanded-content", id: "expanded-content-area" }, index.h("slot", { name: "expanded-content" }))), helpers.isSlotUsed(this.el, "badge") && index.h("slot", { name: "badge" }))));
140
+ }
141
+ get el() { return index.getElement(this); }
142
+ static get watchers() { return {
143
+ "disabled": ["watchDisabledHandler"]
144
+ }; }
145
+ };
146
+ CardVertical.style = icCardVerticalCss;
147
+
148
+ exports.ic_card_vertical = CardVertical;
149
+
150
+ //# sourceMappingURL=ic-card-vertical.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"ic-card-vertical.entry.cjs.js","mappings":"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","names":["removeDisabledFalse","isSlotUsed","onComponentRequiredPropUndefined","renderDynamicChildSlots","getBrandFromContext","IcBrandForegroundEnum","h","Host","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-primary) !important;\n}\n\na:visited {\n color: var(--ic-card-link-action-dark) !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-space-1px) solid var(--ic-card-border-primary);\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-primary);\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-icon);\n }\n &.monochrome {\n border: var(--ic-border-width) solid var(--ic-card-border-monochrome);\n }\n &.fullwidth {\n width: 100%;\n }\n &.clickable {\n &:hover {\n background-color: var(--ic-card-background-hover);\n border: var(--ic-space-1px) solid var(--ic-card-hover-border-color);\n cursor: pointer;\n }\n &.focussed,\n &:focus {\n background-color: var(--ic-card-background-hover);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n border: var(--ic-space-1px) solid var(--ic-card-pressed-border-color);\n }\n &:active {\n background-color: var(--ic-card-background-pressed);\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-space-1px) dashed var(--ic-card-disabled-border-color);\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 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-background-hover);\n }\n &:focus {\n box-shadow: var(--ic-border-focus);\n }\n &:active:not(:focus) {\n background-color: var(--ic-card-background-pressed);\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 Host,\n Watch,\n} from \"@stencil/core\";\nimport {\n onComponentRequiredPropUndefined,\n isSlotUsed,\n getBrandFromContext,\n removeDisabledFalse,\n renderDynamicChildSlots,\n} from \"../../utils/helpers\";\nimport {\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\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() areaExpanded: boolean = false;\n @State() isFocussed: boolean = false;\n @State() monochrome: 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 @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\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({ mutable: true }) 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((mutationList) =>\n renderDynamicChildSlots(\n mutationList,\n [\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 this\n )\n );\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(\"brandChange\", { target: \"document\" })\n brandChangeHandler(ev: CustomEvent<IcBrand>): 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(mode: IcBrandForeground = null): void {\n const foregroundColor = getBrandFromContext(this.el, mode);\n\n if (foregroundColor !== IcBrandForegroundEnum.Default) {\n this.monochrome = true;\n this.theme =\n foregroundColor === IcBrandForegroundEnum.Light\n ? IcBrandForegroundEnum.Dark\n : IcBrandForegroundEnum.Light;\n }\n }\n\n private toggleExpanded = (): void => {\n this.areaExpanded = !this.areaExpanded;\n };\n\n render() {\n const {\n clickable,\n disabled,\n expandable,\n fullWidth,\n heading,\n isFocussed,\n message,\n monochrome,\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 monochrome: monochrome,\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"],"version":3}
@@ -3,23 +3,23 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f982899d.js');
6
- const helpers = require('./helpers-6f6991cb.js');
7
- require('./types-dc22e301.js');
6
+ const helpers = require('./helpers-eca4c27e.js');
8
7
 
9
- const icCheckboxGroupCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block}ic-input-label.error{color:var(--ic-status-error)}ic-input-label ic-typography{margin-bottom:var(--ic-space-sm)}:host(.small) ic-input-label ic-typography{margin-bottom:calc(var(--ic-space-sm) / 2)}ic-input-validation{margin-top:var(--ic-space-sm)}:host(.small) ic-input-validation{margin-top:calc(var(--ic-space-sm) / 2)}.checkboxes-container{margin-bottom:calc(-1 * var(--ic-space-xxs))}:host(.small) .checkboxes-container{margin-bottom:calc(-1 * var(--ic-space-xxxs))}.screen-reader-only-text{position:absolute;left:-9999px;background-color:#fff;color:#000;text-transform:none}";
8
+ const icCheckboxGroupCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;--ic-input-label-text-color:var(--ic-checkbox-group-label);--ic-input-label-helper-text-color:var(--ic-checkbox-group-subtitle);--ic-input-validation-error:var(--ic-checkbox-state-icon-error);--ic-input-validation-status-text-color:var(--ic-checkbox-state-text)}:host(.ic-checkbox-group-disabled){--ic-input-label-text-color:var(--ic-checkbox-group-label-disabled);--ic-input-label-helper-text-color:var(\n --ic-checkbox-group-subtitle-disabled\n )}ic-input-label.error{color:var(--ic-checkbox-group-label-error);--ic-typography-color:var(--ic-checkbox-group-label-error);--ic-input-label-helper-text-color:var(--ic-checkbox-group-subtitle-error)}ic-input-label ic-typography{margin-bottom:var(--ic-space-sm)}:host(.ic-checkbox-group-small) ic-input-label ic-typography{margin-bottom:calc(var(--ic-space-sm) / 2)}ic-input-validation{margin-top:var(--ic-space-sm)}:host(.ic-checkbox-group-small) ic-input-validation{margin-top:calc(var(--ic-space-sm) / 2)}.checkboxes-container{margin-bottom:calc(-1 * var(--ic-space-xxs))}:host(.ic-checkbox-group-small) .checkboxes-container{margin-bottom:calc(-1 * var(--ic-space-xxxs))}.screen-reader-only-text{position:absolute;left:-9999px;background-color:#fff;color:#000;text-transform:none}";
10
9
 
11
10
  const CheckboxGroup = class {
12
11
  constructor(hostRef) {
13
12
  index.registerInstance(this, hostRef);
14
13
  this.icChange = index.createEvent(this, "icChange", 7);
14
+ this.checkboxSelector = "ic-checkbox";
15
15
  this.disabled = false;
16
16
  this.helperText = "";
17
17
  this.hideLabel = false;
18
18
  this.label = undefined;
19
19
  this.name = undefined;
20
20
  this.required = false;
21
- this.size = "default";
22
- this.small = false;
21
+ this.size = "medium";
22
+ this.theme = "inherit";
23
23
  this.validationStatus = "";
24
24
  this.validationText = "";
25
25
  }
@@ -27,7 +27,7 @@ const CheckboxGroup = class {
27
27
  helpers.removeDisabledFalse(this.disabled, this.el);
28
28
  }
29
29
  labelNameHandler(newValue, oldValue, propName) {
30
- Array.from(this.el.querySelectorAll("ic-checkbox")).forEach((checkbox) => {
30
+ Array.from(this.el.querySelectorAll(this.checkboxSelector)).forEach((checkbox) => {
31
31
  if (propName === "label")
32
32
  checkbox.groupLabel = newValue;
33
33
  else if (checkbox.name === oldValue) {
@@ -36,6 +36,11 @@ const CheckboxGroup = class {
36
36
  }
37
37
  });
38
38
  }
39
+ watchThemeHandler(newValue) {
40
+ Array.from(this.el.querySelectorAll(this.checkboxSelector)).forEach((checkbox) => {
41
+ checkbox.theme = newValue;
42
+ });
43
+ }
39
44
  handleChange(ev) {
40
45
  //don't pass on the event if it has come from slotted text field
41
46
  //otherwise any icChange handler bound to the checkbox group will also run
@@ -45,6 +50,7 @@ const CheckboxGroup = class {
45
50
  }
46
51
  componentWillLoad() {
47
52
  helpers.removeDisabledFalse(this.disabled, this.el);
53
+ this.watchThemeHandler(this.theme);
48
54
  }
49
55
  componentDidLoad() {
50
56
  helpers.onComponentRequiredPropUndefined([
@@ -67,17 +73,22 @@ const CheckboxGroup = class {
67
73
  });
68
74
  }
69
75
  render() {
70
- const { disabled, helperText, hideLabel, label, name, required, size, small, validationStatus, validationText, } = this;
76
+ const { disabled, helperText, hideLabel, label, name, required, size, theme, validationStatus, validationText, } = this;
71
77
  const describedBy = helpers.getInputDescribedByText(name, helperText !== "", validationStatus !== "");
72
- return (index.h(index.Host, { class: { ["small"]: small, [`${size}`]: true } }, (validationStatus === "error" || required || hideLabel) && (index.h("span", { id: "screenReaderOnlyText", class: "screen-reader-only-text", "aria-hidden": "true" }, label, " ", validationStatus === "error" ? "invalid data " : null, " ", required ? "required" : null)), index.h("fieldset", { id: name, "aria-labelledby": `${validationStatus === "error" || required || hideLabel
78
+ return (index.h(index.Host, { class: {
79
+ [`ic-checkbox-group-${size}`]: true,
80
+ [`ic-checkbox-group-disabled`]: disabled,
81
+ [`ic-theme-${theme}`]: theme !== "inherit",
82
+ } }, (validationStatus === "error" || required || hideLabel) && (index.h("span", { id: "screenReaderOnlyText", class: "screen-reader-only-text", "aria-hidden": "true" }, label, " ", validationStatus === "error" ? "invalid data " : null, " ", required ? "required" : null)), index.h("fieldset", { id: name, "aria-labelledby": `${validationStatus === "error" || required || hideLabel
73
83
  ? "screenReaderOnlyText"
74
- : ""} ${describedBy}`.trim(), disabled: disabled }, !hideLabel && (index.h("legend", null, index.h("ic-input-label", { class: { [`${validationStatus}`]: true }, label: label, helperText: helperText, required: required, disabled: disabled, for: name }))), index.h("div", { class: "checkboxes-container" }, index.h("slot", null))), helpers.hasValidationStatus(validationStatus, disabled) && (index.h("ic-input-validation", { for: name, ariaLiveMode: "polite", status: validationStatus, message: validationText }))));
84
+ : ""} ${describedBy}`.trim(), disabled: disabled }, !hideLabel && (index.h("legend", null, index.h("ic-input-label", { class: { [`${validationStatus}`]: true }, label: label, helperText: helperText, required: required, disabled: disabled, useLabelTag: false }))), index.h("div", { class: "checkboxes-container" }, index.h("slot", null))), helpers.hasValidationStatus(validationStatus, disabled) && (index.h("ic-input-validation", { for: name, ariaLiveMode: "polite", status: validationStatus, message: validationText }))));
75
85
  }
76
86
  get el() { return index.getElement(this); }
77
87
  static get watchers() { return {
78
88
  "disabled": ["watchDisabledHandler"],
79
89
  "label": ["labelNameHandler"],
80
- "name": ["labelNameHandler"]
90
+ "name": ["labelNameHandler"],
91
+ "theme": ["watchThemeHandler"]
81
92
  }; }
82
93
  };
83
94
  CheckboxGroup.style = icCheckboxGroupCss;
@@ -1 +1 @@
1
- {"file":"ic-checkbox-group.entry.cjs.js","mappings":"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","names":["removeDisabledFalse","onComponentRequiredPropUndefined","getInputDescribedByText","h","Host","hasValidationStatus"],"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\nic-input-label.error {\n color: var(--ic-status-error);\n}\n\nic-input-label ic-typography {\n margin-bottom: var(--ic-space-sm);\n}\n\n:host(.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(.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(.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 { IcInformationStatusOrEmpty, IcSizes } 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 @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 @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\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(\"ic-checkbox\")).forEach((checkbox) => {\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 * 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 = \"default\";\n\n /**\n * @deprecated This prop should not be used anymore. Set prop `size` to \"small\" instead.\n */\n @Prop() small: boolean = false;\n\n /**\n * The 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 }\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 small,\n validationStatus,\n validationText,\n } = this;\n\n const describedBy = getInputDescribedByText(\n name,\n helperText !== \"\",\n validationStatus !== \"\"\n );\n\n return (\n <Host class={{ [\"small\"]: small, [`${size}`]: true }}>\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 for={name}\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"],"version":3}
1
+ {"file":"ic-checkbox-group.entry.cjs.js","mappings":"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","names":["removeDisabledFalse","onComponentRequiredPropUndefined","getInputDescribedByText","h","Host","hasValidationStatus"],"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 @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\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"],"version":3}
@@ -3,15 +3,13 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f982899d.js');
6
- const helpers = require('./helpers-6f6991cb.js');
7
- require('./types-dc22e301.js');
6
+ const helpers = require('./helpers-eca4c27e.js');
8
7
 
9
- const icCheckboxCss = "/*! 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(.disabled){color:var(--ic-architectural-200);pointer-events:none}.container{display:flex;width:-moz-fit-content;width:fit-content;padding:var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);margin-bottom:var(--ic-space-xxs);align-items:center}:host(.small) .container{margin-bottom:var(--ic-space-xxxs)}.checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;position:relative;top:0;left:0;height:var(--ic-space-lg);width:var(--ic-space-lg);background-color:var(--ic-architectural-white);border:var(--ic-border-width) solid var(--ic-architectural-400);border-radius:var(--ic-border-radius);outline:none;cursor:pointer;transition:var(--ic-easing-transition-fast);flex-shrink:0}:host .container svg{width:var(--ic-space-lg);height:var(--ic-space-lg)}:host(.small) .checkbox,:host(.small) .container svg{width:var(--ic-space-md);height:var(--ic-space-md)}:host(.large) .checkbox,:host(.large) .container svg{width:var(--ic-space-xl);height:var(--ic-space-xl)}.checkbox:checked{background-color:var(--ic-action-default);border:var(--ic-border-width) solid var(--ic-action-default);transition:var(--ic-easing-transition-slow)}.checkbox:checked:disabled{background-color:var(--ic-architectural-200)}.checkbox:indeterminate,.checkbox.indeterminate:checked{background-color:var(--ic-architectural-white);border:0.125rem solid var(--ic-action-default)}.checkbox:checked:hover{background-color:var(--ic-action-default-hover)}.checkbox:indeterminate:hover,.checkbox.indeterminate:checked:hover{background-color:var(--ic-action-default-bg-hover-no-alpha);border:0.125rem solid var(--ic-action-default-hover)}.checkbox:checked:active{background-color:var(--ic-action-default-active)}.checkbox:indeterminate:active,.checkbox.indeterminate:checked:active{background-color:var(--ic-action-default-bg-active-no-alpha);border:0.125rem solid var(--ic-action-default-active)}.checkbox:hover{background-color:var(--ic-action-default-bg-hover-no-alpha);box-shadow:0 0 0 0.25rem var(--ic-action-default-bg-hover);border:var(--ic-border-width) solid var(--ic-action-default-hover)}.checkbox:active{background-color:var(--ic-action-default-bg-active-no-alpha);box-shadow:0 0 0 0.25rem var(--ic-action-default-bg-active);border:var(--ic-border-width) solid var(--ic-action-default-active)}.checkbox:focus{box-shadow:var(--ic-border-focus)}.checkbox:disabled{border:var(--ic-border-width) dashed var(--ic-architectural-200)}.checkbox-label{padding-left:var(--ic-space-sm)}.checkbox-label:hover{cursor:pointer}.checkmark{position:relative;right:calc(-1 * var(--ic-space-lg));margin-left:calc(-1 * var(--ic-space-lg));fill:white;z-index:1;background-color:transparent;pointer-events:none;flex-shrink:0}:host(.small) .checkmark{margin-left:calc(-1 * var(--ic-space-md));right:calc(-1 * var(--ic-space-md))}:host(.large) .checkmark{margin-left:calc(-1 * var(--ic-space-xl));right:calc(-1 * var(--ic-space-xl))}.indeterminate-symbol{position:relative;width:0.875rem;height:var(--ic-space-xxxs);right:-1.188rem;margin-left:-0.875rem;z-index:1;background-color:var(--ic-action-default);pointer-events:none;flex-shrink:0}:host(.small) .indeterminate-symbol{width:0.6rem;right:-0.8rem;margin-left:-0.6rem}:host(.large) .indeterminate-symbol{width:1.25rem;right:-1.625rem;margin-left:-1.25rem}.container:hover .indeterminate-symbol{background-color:var(--ic-action-default-hover)}.container:active .indeterminate-symbol{background-color:var(--ic-action-default-active)}.additional-field-wrapper{margin-left:calc(var(--ic-space-md) + var(--ic-space-lg));margin-top:calc(var(--ic-space-sm) / 2)}.branch-corner{color:var(--ic-action-default);height:var(--ic-space-md);width:var(--ic-space-xl);border-radius:0 0 0 0.188rem;border-bottom:0.125rem solid var(--ic-action-default);border-left:0.125rem solid var(--ic-action-default)}.dynamic-container{display:flex;position:relative;margin:var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);gap:var(--ic-space-xs)}.dynamic-text{color:var(--ic-action-default);margin-top:calc(var(--ic-space-sm) / 2);margin-bottom:var(--ic-space-xs);border-radius:2%}@media (max-width: 576px){::slotted(ic-text-field){--input-width:100%}}@media (forced-colors: active){.checkbox{-webkit-appearance:revert;-moz-appearance:revert;appearance:revert;transition:none}.checkbox:checked{transition:none}.checkbox:focus-visible{outline:0.125rem solid highlight}.checkbox:disabled:not(:checked){-webkit-appearance:none;-moz-appearance:none;appearance:none;border-color:GrayText}.checkmark{fill:none}.indeterminate-symbol{display:none}}";
8
+ const icCheckboxCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host(.ic-checkbox-disabled){pointer-events:none}.container{display:flex;width:-moz-fit-content;width:fit-content;padding:var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);margin-bottom:var(--ic-space-xxs);align-items:center}:host(.ic-checkbox-small) .container{margin-bottom:var(--ic-space-xxxs)}.checkbox{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:block;position:relative;top:0;left:0;height:var(--ic-space-lg);width:var(--ic-space-lg);background-color:var(--ic-checkbox-background-unselected);border:var(--ic-border-width) solid var(--ic-checkbox-border-unselected);border-radius:var(--ic-border-radius);outline:none;cursor:pointer;transition:var(--ic-easing-transition-fast);flex-shrink:0}:host .container svg{width:var(--ic-space-lg);height:var(--ic-space-lg)}:host(.ic-checkbox-small) .checkbox,:host(.ic-checkbox-small) .container svg{width:var(--ic-space-md);height:var(--ic-space-md)}:host(.ic-checkbox-large) .checkbox,:host(.ic-checkbox-large) .container svg{width:var(--ic-space-xl);height:var(--ic-space-xl)}.checkbox:checked{background-color:var(--ic-checkbox-background-selected);border:var(--ic-border-width) solid var(--ic-checkbox-background-selected);transition:var(--ic-easing-transition-slow)}.checkbox:checked:disabled{background-color:var(--ic-checkbox-background-selected-disabled);border:var(--ic-border-width) solid\n var(--ic-checkbox-background-selected-disabled)}.checkbox:indeterminate,.checkbox.indeterminate:checked{background-color:var(--ic-checkbox-background-indeterminate);border:0.125rem solid var(--ic-checkbox-background-indeterminate)}.checkbox:indeterminate:disabled,.checkbox.indeterminate:checked:disabled{background-color:var(--ic-checkbox-background-indeterminate-disabled);border:0.125rem solid var(--ic-checkbox-background-indeterminate-disabled)}.checkbox:checked:hover{background-color:var(--ic-checkbox-background-selected-hover)}.checkbox:indeterminate:hover,.checkbox.indeterminate:checked:hover{background-color:var(--ic-checkbox-background-indeterminate-hover);border:0.125rem solid var(--ic-checkbox-background-indeterminate-hover)}.checkbox:checked:active{background-color:var(--ic-checkbox-background-selected-pressed)}.checkbox:indeterminate:active,.checkbox.indeterminate:checked:active{background-color:var(--ic-checkbox-background-indeterminate-pressed);border:0.125rem solid var(--ic-checkbox-background-indeterminate-pressed)}.checkbox:hover{box-shadow:0 0 0 0.25rem var(--ic-checkbox-action-background-hover);border:var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-hover)}.checkbox:active{box-shadow:0 0 0 0.25rem var(--ic-checkbox-action-background-pressed);border:var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-pressed)}.checkbox:focus{box-shadow:var(--ic-border-focus)}.checkbox:disabled{border:var(--ic-border-width) dashed\n var(--ic-checkbox-border-unselected-disabled)}.checkbox-label{padding-left:var(--ic-space-sm);color:var(--ic-checkbox-text);--ic-typography-color:var(--ic-checkbox-text)}:host(.ic-checkbox-disabled) .checkbox-label{color:var(--ic-checkbox-text-disabled);--ic-typography-color:var(--ic-checkbox-text-disabled)}.checkbox-label:hover{cursor:pointer}.checkmark{position:relative;right:calc(-1 * var(--ic-space-lg));margin-left:calc(-1 * var(--ic-space-lg));fill:var(--ic-checkbox-icon-pressed);z-index:1;background-color:transparent;pointer-events:none;flex-shrink:0}:host(.ic-checkbox-small) .checkmark{margin-left:calc(-1 * var(--ic-space-md));right:calc(-1 * var(--ic-space-md))}:host(.ic-checkbox-large) .checkmark{margin-left:calc(-1 * var(--ic-space-xl));right:calc(-1 * var(--ic-space-xl))}.indeterminate-symbol{position:relative;width:0.875rem;height:var(--ic-space-xxxs);right:-1.188rem;margin-left:-0.875rem;z-index:1;background-color:var(--ic-checkbox-icon-indeterminate);pointer-events:none;flex-shrink:0}:host(.ic-checkbox-small) .indeterminate-symbol{width:0.6rem;right:-0.8rem;margin-left:-0.6rem}:host(.ic-checkbox-large) .indeterminate-symbol{width:1.25rem;right:-1.625rem;margin-left:-1.25rem}.additional-field-wrapper{margin-left:calc(var(--ic-space-md) + var(--ic-space-lg));margin-top:calc(var(--ic-space-sm) / 2)}.branch-corner{height:var(--ic-space-md);width:var(--ic-space-xl);border-radius:0 0 0 0.188rem;border-bottom:0.125rem solid var(--ic-checkbox-required-bar);border-left:0.125rem solid var(--ic-checkbox-required-bar)}.dynamic-container{display:flex;position:relative;margin:var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);gap:var(--ic-space-xs)}.dynamic-text{color:var(--ic-checkbox-required-text);--ic-typography-color:var(--ic-checkbox-required-text);margin-top:calc(var(--ic-space-sm) / 2);margin-bottom:var(--ic-space-xs);border-radius:2%}@media (max-width: 576px){::slotted(ic-text-field){--input-width:100%}}@media (forced-colors: active){.checkbox{-webkit-appearance:revert;-moz-appearance:revert;appearance:revert;transition:none}.checkbox:checked{transition:none}.checkbox:focus-visible{outline:0.125rem solid highlight}.checkbox:disabled:not(:checked){-webkit-appearance:none;-moz-appearance:none;appearance:none;border-color:GrayText}.checkmark{fill:none}.indeterminate-symbol{display:none}}";
10
9
 
11
10
  const Checkbox = class {
12
11
  constructor(hostRef) {
13
12
  index.registerInstance(this, hostRef);
14
- this.checkboxChecked = index.createEvent(this, "checkboxChecked", 7);
15
13
  this.icCheck = index.createEvent(this, "icCheck", 7);
16
14
  this.handleClick = () => {
17
15
  this.checked = !this.checked;
@@ -19,7 +17,6 @@ const Checkbox = class {
19
17
  ? false
20
18
  : this.indeterminate && this.checked;
21
19
  this.icCheck.emit();
22
- this.checkboxChecked.emit();
23
20
  };
24
21
  this.handleFormReset = () => {
25
22
  this.checked = this.initiallyChecked;
@@ -30,11 +27,6 @@ const Checkbox = class {
30
27
  this.disabled = false;
31
28
  this.dynamicText = "This selection requires additional answers";
32
29
  this.form = undefined;
33
- this.formaction = undefined;
34
- this.formenctype = undefined;
35
- this.formmethod = undefined;
36
- this.formnovalidate = undefined;
37
- this.formtarget = undefined;
38
30
  this.groupLabel = undefined;
39
31
  this.indeterminate = false;
40
32
  this.displayIndeterminate = this.indeterminate;
@@ -42,7 +34,7 @@ const Checkbox = class {
42
34
  this.name = undefined;
43
35
  this.nativeIndeterminateBehaviour = false;
44
36
  this.size = undefined;
45
- this.small = false;
37
+ this.theme = "inherit";
46
38
  this.value = undefined;
47
39
  this.hideLabel = false;
48
40
  }
@@ -97,7 +89,7 @@ const Checkbox = class {
97
89
  (_a = this.el.shadowRoot.querySelector(".checkbox")) === null || _a === void 0 ? void 0 : _a.focus();
98
90
  }
99
91
  render() {
100
- const { additionalFieldDisplay, checked, disabled, dynamicText, el, form, formaction, formenctype, formmethod, formnovalidate, formtarget, displayIndeterminate, groupLabel, label, name, size, small, value, } = this;
92
+ const { additionalFieldDisplay, checked, disabled, dynamicText, el, form, displayIndeterminate, groupLabel, label, name, size, value, theme, } = this;
101
93
  const id = `ic-checkbox-${helpers.isPropDefined(label) || value}-${groupLabel}`.replace(/ /g, "-");
102
94
  const parentElementSize = el.parentElement
103
95
  .size;
@@ -105,14 +97,14 @@ const Checkbox = class {
105
97
  ? helpers.renderHiddenInput(true, el, name, checked && value, disabled)
106
98
  : helpers.removeHiddenInput(el);
107
99
  return (index.h(index.Host, { class: {
108
- disabled,
109
- small,
110
- [`${size || parentElementSize}`]: true,
100
+ "ic-checkbox-disabled": disabled,
101
+ [`ic-checkbox-${size || parentElementSize}`]: true,
102
+ [`ic-theme-${theme}`]: theme !== "inherit",
111
103
  } }, index.h("div", { class: "container" }, displayIndeterminate && index.h("div", { class: "indeterminate-symbol" }), !displayIndeterminate && checked && (index.h("svg", { class: "checkmark", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", "fill-rule": "evenodd", "clip-rule": "evenodd" }, index.h("title", null, "checkmark icon"), index.h("path", { d: "M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z" }))), index.h("input", { role: "checkbox", class: {
112
104
  checkbox: true,
113
105
  checked,
114
106
  indeterminate: displayIndeterminate,
115
- }, type: "checkbox", name: name, id: id, value: value, disabled: disabled ? true : null, checked: checked, indeterminate: displayIndeterminate, onClick: this.handleClick, form: form, formaction: formaction, formenctype: formenctype, formmethod: formmethod, formnovalidate: formnovalidate, formtarget: formtarget, "aria-label": this.hideLabel ? this.label : undefined }), !this.hideLabel && (index.h("ic-typography", { class: "checkbox-label", variant: "body" }, index.h("label", { htmlFor: id }, label)))), helpers.isSlotUsed(el, "additional-field") && (index.h("div", { class: "dynamic-container", ref: (el) => (this.additionalFieldContainer = el) }, additionalFieldDisplay === "dynamic" && (index.h("div", { class: "branch-corner" })), index.h("div", null, additionalFieldDisplay === "dynamic" && (index.h("ic-typography", { variant: "caption" }, index.h("p", { class: "dynamic-text", "aria-live": "polite" }, dynamicText))), index.h("div", { class: {
107
+ }, type: "checkbox", name: name, id: id, value: value, disabled: disabled ? true : null, checked: checked, indeterminate: displayIndeterminate, onClick: this.handleClick, form: form, "aria-label": this.hideLabel ? this.label : undefined }), !this.hideLabel && (index.h("ic-typography", { class: "checkbox-label", variant: "body" }, index.h("label", { htmlFor: id }, label)))), helpers.isSlotUsed(el, "additional-field") && (index.h("div", { class: "dynamic-container", ref: (el) => (this.additionalFieldContainer = el) }, additionalFieldDisplay === "dynamic" && (index.h("div", { class: "branch-corner" })), index.h("div", null, additionalFieldDisplay === "dynamic" && (index.h("ic-typography", { variant: "caption" }, index.h("p", { class: "dynamic-text", "aria-live": "polite" }, dynamicText))), index.h("div", { class: {
116
108
  "additional-field-wrapper": additionalFieldDisplay === "static",
117
109
  } }, index.h("slot", { name: "additional-field" })))))));
118
110
  }
@@ -1 +1 @@
1
- {"file":"ic-checkbox.entry.cjs.js","mappings":"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","names":["removeDisabledFalse","addFormResetListener","onComponentRequiredPropUndefined","removeFormResetListener","isPropDefined","renderHiddenInput","removeHiddenInput","h","Host","isSlotUsed"],"sources":["src/components/ic-checkbox/ic-checkbox.css?tag=ic-checkbox&encapsulation=shadow","src/components/ic-checkbox/ic-checkbox.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host(.disabled) {\n color: var(--ic-architectural-200);\n pointer-events: none;\n}\n\n.container {\n display: flex;\n width: fit-content;\n padding: var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);\n margin-bottom: var(--ic-space-xxs);\n align-items: center;\n}\n\n:host(.small) .container {\n margin-bottom: var(--ic-space-xxxs);\n}\n\n.checkbox {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n display: block;\n position: relative;\n top: 0;\n left: 0;\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n background-color: var(--ic-architectural-white);\n border: var(--ic-border-width) solid var(--ic-architectural-400);\n border-radius: var(--ic-border-radius);\n outline: none;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n flex-shrink: 0;\n}\n\n:host .container svg {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.small) .checkbox,\n:host(.small) .container svg {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n}\n\n:host(.large) .checkbox,\n:host(.large) .container svg {\n width: var(--ic-space-xl);\n height: var(--ic-space-xl);\n}\n\n.checkbox:checked {\n background-color: var(--ic-action-default);\n border: var(--ic-border-width) solid var(--ic-action-default);\n transition: var(--ic-easing-transition-slow);\n}\n\n.checkbox:checked:disabled {\n background-color: var(--ic-architectural-200);\n}\n\n.checkbox:indeterminate,\n.checkbox.indeterminate:checked {\n background-color: var(--ic-architectural-white);\n border: 0.125rem solid var(--ic-action-default);\n}\n\n.checkbox:checked:hover {\n background-color: var(--ic-action-default-hover);\n}\n\n.checkbox:indeterminate:hover,\n.checkbox.indeterminate:checked:hover {\n background-color: var(--ic-action-default-bg-hover-no-alpha);\n border: 0.125rem solid var(--ic-action-default-hover);\n}\n\n.checkbox:checked:active {\n background-color: var(--ic-action-default-active);\n}\n\n.checkbox:indeterminate:active,\n.checkbox.indeterminate:checked:active {\n background-color: var(--ic-action-default-bg-active-no-alpha);\n border: 0.125rem solid var(--ic-action-default-active);\n}\n\n.checkbox:hover {\n background-color: var(--ic-action-default-bg-hover-no-alpha);\n box-shadow: 0 0 0 0.25rem var(--ic-action-default-bg-hover);\n border: var(--ic-border-width) solid var(--ic-action-default-hover);\n}\n\n.checkbox:active {\n background-color: var(--ic-action-default-bg-active-no-alpha);\n box-shadow: 0 0 0 0.25rem var(--ic-action-default-bg-active);\n border: var(--ic-border-width) solid var(--ic-action-default-active);\n}\n\n.checkbox:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.checkbox:disabled {\n border: var(--ic-border-width) dashed var(--ic-architectural-200);\n}\n\n.checkbox-label {\n padding-left: var(--ic-space-sm);\n}\n\n.checkbox-label:hover {\n cursor: pointer;\n}\n\n.checkmark {\n position: relative;\n right: calc(-1 * var(--ic-space-lg));\n margin-left: calc(-1 * var(--ic-space-lg));\n fill: white;\n z-index: 1;\n background-color: transparent;\n pointer-events: none;\n flex-shrink: 0;\n}\n\n:host(.small) .checkmark {\n margin-left: calc(-1 * var(--ic-space-md));\n right: calc(-1 * var(--ic-space-md));\n}\n\n:host(.large) .checkmark {\n margin-left: calc(-1 * var(--ic-space-xl));\n right: calc(-1 * var(--ic-space-xl));\n}\n\n.indeterminate-symbol {\n position: relative;\n width: 0.875rem;\n height: var(--ic-space-xxxs);\n right: -1.188rem;\n margin-left: -0.875rem;\n z-index: 1;\n background-color: var(--ic-action-default);\n pointer-events: none;\n flex-shrink: 0;\n}\n\n:host(.small) .indeterminate-symbol {\n width: 0.6rem;\n right: -0.8rem;\n margin-left: -0.6rem;\n}\n\n:host(.large) .indeterminate-symbol {\n width: 1.25rem;\n right: -1.625rem;\n margin-left: -1.25rem;\n}\n\n.container:hover .indeterminate-symbol {\n background-color: var(--ic-action-default-hover);\n}\n\n.container:active .indeterminate-symbol {\n background-color: var(--ic-action-default-active);\n}\n\n.additional-field-wrapper {\n margin-left: calc(var(--ic-space-md) + var(--ic-space-lg));\n margin-top: calc(var(--ic-space-sm) / 2);\n}\n\n.branch-corner {\n color: var(--ic-action-default);\n height: var(--ic-space-md);\n width: var(--ic-space-xl);\n border-radius: 0 0 0 0.188rem;\n border-bottom: 0.125rem solid var(--ic-action-default);\n border-left: 0.125rem solid var(--ic-action-default);\n}\n\n.dynamic-container {\n display: flex;\n position: relative;\n margin: var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);\n gap: var(--ic-space-xs);\n}\n\n.dynamic-text {\n color: var(--ic-action-default);\n margin-top: calc(var(--ic-space-sm) / 2);\n margin-bottom: var(--ic-space-xs);\n border-radius: 2%;\n}\n\n@media (max-width: 576px) {\n ::slotted(ic-text-field) {\n --input-width: 100%;\n }\n}\n\n@media (forced-colors: active) {\n /* Styles here only apply to Forced Colors Mode */\n .checkbox {\n appearance: revert;\n transition: none;\n }\n\n .checkbox:checked {\n transition: none;\n }\n\n .checkbox:focus-visible {\n outline: 0.125rem solid highlight;\n }\n\n .checkbox:disabled:not(:checked) {\n appearance: none;\n border-color: GrayText;\n }\n\n .checkmark {\n fill: none;\n }\n\n .indeterminate-symbol {\n display: none;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport { IcAdditionalFieldTypes, IcSizes } from \"../../utils/types\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n removeHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n isPropDefined,\n} from \"../../utils/helpers\";\n\n/**\n * @slot additional-field - Content to be displayed alongside a checkbox.\n */\n@Component({\n tag: \"ic-checkbox\",\n styleUrl: \"ic-checkbox.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Checkbox {\n private additionalFieldContainer: HTMLDivElement;\n\n @Element() el: HTMLIcCheckboxElement;\n\n /**\n * The style of additionalField that will be displayed if used.\n */\n @Prop({ reflect: true }) additionalFieldDisplay: IcAdditionalFieldTypes =\n \"static\";\n\n /**\n * If `true`, the checkbox will be set to the checked state. This is only the initial state and will be updated to unchecked if the checkbox is clicked.\n */\n @Prop({ reflect: true, mutable: true }) checked?: boolean = false;\n @State() initiallyChecked = this.checked;\n\n /**\n * If `true`, the checkbox will be set to the disabled state.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The text to be displayed when dynamic.\n */\n\n @Prop() dynamicText: string = \"This selection requires additional answers\";\n\n /**\n * The <form> element to associate the checkbox with.\n */\n @Prop() form?: string;\n\n /**\n * The URL that processes the information submitted by the checkbox. It overrides the action attribute of the checkbox's form owner. Does nothing if there is no form owner.\n */\n @Prop() formaction?: string;\n\n /**\n * The way the submitted form data is encoded.\n */\n @Prop() formenctype?: string;\n\n /**\n * The HTTP method used to submit the form.\n */\n @Prop() formmethod?: string;\n\n /**\n * If `true`, the form will not be validated when submitted.\n */\n @Prop() formnovalidate?: boolean;\n\n /**\n * The place to display the response from submitting the form. It overrides the target attribute of the checkbox's form owner.\n */\n @Prop() formtarget?: string;\n\n /**\n * The group label for the checkbox.\n */\n @Prop({ mutable: true }) groupLabel: string;\n\n /**\n * If `true`, the indeterminate state will be displayed when checked.\n */\n @Prop() indeterminate: boolean = false;\n @State() displayIndeterminate = this.indeterminate;\n\n @Watch(\"indeterminate\")\n watchIndeterminateHandler(): void {\n this.displayIndeterminate = this.nativeIndeterminateBehaviour\n ? this.indeterminate\n : this.indeterminate && this.checked;\n }\n\n /**\n * The label for the checkbox.\n */\n @Prop() label!: string;\n\n /**\n * The name for the checkbox. If not set when used in a checkbox group, the name will be based on the group name.\n */\n @Prop({ mutable: true }) name: string;\n\n /**\n * If `true`, the checkbox will behave like a native checkbox where the `indeterminate` prop sets the indeterminate visual styling, independent of the `checked` state.\n */\n @Prop() nativeIndeterminateBehaviour: boolean = false;\n\n /**\n * The size of the checkbox to be displayed. This does not affect the font size of the label. If a checkbox is contained in a checkbox group, this will override the size set on checkbox group.\n */\n @Prop() size?: IcSizes;\n\n /**\n * @deprecated This prop should not be used anymore. Set prop `size` to \"small\" instead.\n */\n @Prop() small?: boolean = false;\n\n /**\n * The value for the checkbox.\n */\n @Prop() value!: string;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel = false;\n\n /**\n * @deprecated This event should not be used anymore. Use icCheck instead.\n */\n @Event() checkboxChecked: EventEmitter<void>;\n\n /**\n * Emitted when a checkbox has been checked.\n */\n @Event() icCheck: EventEmitter<void>;\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n\n addFormResetListener(this.el, this.handleFormReset);\n\n const checkboxGroup = this.el.parentElement as HTMLIcCheckboxGroupElement;\n if (checkboxGroup) {\n if (!this.name) this.name = checkboxGroup.name;\n this.groupLabel = checkboxGroup.label;\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.value, propName: \"value\" },\n ],\n \"Checkbox\"\n );\n }\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n const textfield = this.el.querySelector(\"ic-text-field\");\n if (!this.checked) {\n textfield?.setAttribute(\"disabled\", \"\");\n } else {\n textfield?.removeAttribute(\"disabled\");\n }\n } else if (this.additionalFieldContainer) {\n this.additionalFieldContainer.style.display = !this.checked\n ? \"none\"\n : \"flex\";\n }\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n /**\n * Sets focus on the checkbox.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.el.shadowRoot.querySelector<HTMLElement>(\".checkbox\")?.focus();\n }\n\n private handleClick = () => {\n this.checked = !this.checked;\n this.displayIndeterminate = this.nativeIndeterminateBehaviour\n ? false\n : this.indeterminate && this.checked;\n this.icCheck.emit();\n this.checkboxChecked.emit();\n };\n\n private handleFormReset = (): void => {\n this.checked = this.initiallyChecked;\n };\n\n render() {\n const {\n additionalFieldDisplay,\n checked,\n disabled,\n dynamicText,\n el,\n form,\n formaction,\n formenctype,\n formmethod,\n formnovalidate,\n formtarget,\n displayIndeterminate,\n groupLabel,\n label,\n name,\n size,\n small,\n value,\n } = this;\n\n const id = `ic-checkbox-${\n isPropDefined(label) || value\n }-${groupLabel}`.replace(/ /g, \"-\");\n\n const parentElementSize = (el.parentElement as HTMLIcCheckboxGroupElement)\n .size;\n\n checked\n ? renderHiddenInput(true, el, name, checked && value, disabled)\n : removeHiddenInput(el);\n\n return (\n <Host\n class={{\n disabled,\n small,\n [`${size || parentElementSize}`]: true,\n }}\n >\n <div class=\"container\">\n {displayIndeterminate && <div class=\"indeterminate-symbol\" />}\n {!displayIndeterminate && checked && (\n <svg\n class=\"checkmark\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n >\n <title>checkmark icon</title>\n <path d=\"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z\" />\n </svg>\n )}\n <input\n role=\"checkbox\"\n class={{\n checkbox: true,\n checked,\n indeterminate: displayIndeterminate,\n }}\n type=\"checkbox\"\n name={name}\n id={id}\n value={value}\n disabled={disabled ? true : null}\n checked={checked}\n indeterminate={displayIndeterminate}\n onClick={this.handleClick}\n form={form}\n formaction={formaction}\n formenctype={formenctype}\n formmethod={formmethod}\n formnovalidate={formnovalidate}\n formtarget={formtarget}\n aria-label={this.hideLabel ? this.label : undefined}\n ></input>\n {!this.hideLabel && (\n <ic-typography class=\"checkbox-label\" variant=\"body\">\n <label htmlFor={id}>{label}</label>\n </ic-typography>\n )}\n </div>\n {isSlotUsed(el, \"additional-field\") && (\n <div\n class=\"dynamic-container\"\n ref={(el) => (this.additionalFieldContainer = el)}\n >\n {additionalFieldDisplay === \"dynamic\" && (\n <div class=\"branch-corner\"></div>\n )}\n <div>\n {additionalFieldDisplay === \"dynamic\" && (\n <ic-typography variant=\"caption\">\n <p class=\"dynamic-text\" aria-live=\"polite\">\n {dynamicText}\n </p>\n </ic-typography>\n )}\n <div\n class={{\n \"additional-field-wrapper\":\n additionalFieldDisplay === \"static\",\n }}\n >\n <slot name=\"additional-field\"></slot>\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-checkbox.entry.cjs.js","mappings":"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","names":["removeDisabledFalse","addFormResetListener","onComponentRequiredPropUndefined","removeFormResetListener","isPropDefined","renderHiddenInput","removeHiddenInput","h","Host","isSlotUsed"],"sources":["src/components/ic-checkbox/ic-checkbox.css?tag=ic-checkbox&encapsulation=shadow","src/components/ic-checkbox/ic-checkbox.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host(.ic-checkbox-disabled) {\n pointer-events: none;\n}\n\n.container {\n display: flex;\n width: fit-content;\n padding: var(--ic-space-xxs) 0 var(--ic-space-xxs) var(--ic-space-xxs);\n margin-bottom: var(--ic-space-xxs);\n align-items: center;\n}\n\n:host(.ic-checkbox-small) .container {\n margin-bottom: var(--ic-space-xxxs);\n}\n\n.checkbox {\n -webkit-appearance: none;\n -moz-appearance: none;\n appearance: none;\n display: block;\n position: relative;\n top: 0;\n left: 0;\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n background-color: var(--ic-checkbox-background-unselected);\n border: var(--ic-border-width) solid var(--ic-checkbox-border-unselected);\n border-radius: var(--ic-border-radius);\n outline: none;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n flex-shrink: 0;\n}\n\n:host .container svg {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n:host(.ic-checkbox-small) .checkbox,\n:host(.ic-checkbox-small) .container svg {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n}\n\n:host(.ic-checkbox-large) .checkbox,\n:host(.ic-checkbox-large) .container svg {\n width: var(--ic-space-xl);\n height: var(--ic-space-xl);\n}\n\n.checkbox:checked {\n background-color: var(--ic-checkbox-background-selected);\n border: var(--ic-border-width) solid var(--ic-checkbox-background-selected);\n transition: var(--ic-easing-transition-slow);\n}\n\n.checkbox:checked:disabled {\n background-color: var(--ic-checkbox-background-selected-disabled);\n border: var(--ic-border-width) solid\n var(--ic-checkbox-background-selected-disabled);\n}\n\n.checkbox:indeterminate,\n.checkbox.indeterminate:checked {\n background-color: var(--ic-checkbox-background-indeterminate);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate);\n}\n\n.checkbox:indeterminate:disabled,\n.checkbox.indeterminate:checked:disabled {\n background-color: var(--ic-checkbox-background-indeterminate-disabled);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate-disabled);\n}\n\n.checkbox:checked:hover {\n background-color: var(--ic-checkbox-background-selected-hover);\n}\n\n.checkbox:indeterminate:hover,\n.checkbox.indeterminate:checked:hover {\n background-color: var(--ic-checkbox-background-indeterminate-hover);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate-hover);\n}\n\n.checkbox:checked:active {\n background-color: var(--ic-checkbox-background-selected-pressed);\n}\n\n.checkbox:indeterminate:active,\n.checkbox.indeterminate:checked:active {\n background-color: var(--ic-checkbox-background-indeterminate-pressed);\n border: 0.125rem solid var(--ic-checkbox-background-indeterminate-pressed);\n}\n\n.checkbox:hover {\n box-shadow: 0 0 0 0.25rem var(--ic-checkbox-action-background-hover);\n border: var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-hover);\n}\n\n.checkbox:active {\n box-shadow: 0 0 0 0.25rem var(--ic-checkbox-action-background-pressed);\n border: var(--ic-border-width) solid\n var(--ic-checkbox-border-unselected-pressed);\n}\n\n.checkbox:focus {\n box-shadow: var(--ic-border-focus);\n}\n\n.checkbox:disabled {\n border: var(--ic-border-width) dashed\n var(--ic-checkbox-border-unselected-disabled);\n}\n\n.checkbox-label {\n padding-left: var(--ic-space-sm);\n color: var(--ic-checkbox-text);\n --ic-typography-color: var(--ic-checkbox-text);\n}\n\n:host(.ic-checkbox-disabled) .checkbox-label {\n color: var(--ic-checkbox-text-disabled);\n --ic-typography-color: var(--ic-checkbox-text-disabled);\n}\n\n.checkbox-label:hover {\n cursor: pointer;\n}\n\n.checkmark {\n position: relative;\n right: calc(-1 * var(--ic-space-lg));\n margin-left: calc(-1 * var(--ic-space-lg));\n fill: var(--ic-checkbox-icon-pressed);\n z-index: 1;\n background-color: transparent;\n pointer-events: none;\n flex-shrink: 0;\n}\n\n:host(.ic-checkbox-small) .checkmark {\n margin-left: calc(-1 * var(--ic-space-md));\n right: calc(-1 * var(--ic-space-md));\n}\n\n:host(.ic-checkbox-large) .checkmark {\n margin-left: calc(-1 * var(--ic-space-xl));\n right: calc(-1 * var(--ic-space-xl));\n}\n\n.indeterminate-symbol {\n position: relative;\n width: 0.875rem;\n height: var(--ic-space-xxxs);\n right: -1.188rem;\n margin-left: -0.875rem;\n z-index: 1;\n background-color: var(--ic-checkbox-icon-indeterminate);\n pointer-events: none;\n flex-shrink: 0;\n}\n\n:host(.ic-checkbox-small) .indeterminate-symbol {\n width: 0.6rem;\n right: -0.8rem;\n margin-left: -0.6rem;\n}\n\n:host(.ic-checkbox-large) .indeterminate-symbol {\n width: 1.25rem;\n right: -1.625rem;\n margin-left: -1.25rem;\n}\n\n.additional-field-wrapper {\n margin-left: calc(var(--ic-space-md) + var(--ic-space-lg));\n margin-top: calc(var(--ic-space-sm) / 2);\n}\n\n.branch-corner {\n height: var(--ic-space-md);\n width: var(--ic-space-xl);\n border-radius: 0 0 0 0.188rem;\n border-bottom: 0.125rem solid var(--ic-checkbox-required-bar);\n border-left: 0.125rem solid var(--ic-checkbox-required-bar);\n}\n\n.dynamic-container {\n display: flex;\n position: relative;\n margin: var(--ic-space-xxxs) 0 var(--ic-space-xxs) var(--ic-space-md);\n gap: var(--ic-space-xs);\n}\n\n.dynamic-text {\n color: var(--ic-checkbox-required-text);\n\n --ic-typography-color: var(--ic-checkbox-required-text);\n\n margin-top: calc(var(--ic-space-sm) / 2);\n margin-bottom: var(--ic-space-xs);\n border-radius: 2%;\n}\n\n@media (max-width: 576px) {\n ::slotted(ic-text-field) {\n --input-width: 100%;\n }\n}\n\n@media (forced-colors: active) {\n /* Styles here only apply to Forced Colors Mode */\n .checkbox {\n appearance: revert;\n transition: none;\n }\n\n .checkbox:checked {\n transition: none;\n }\n\n .checkbox:focus-visible {\n outline: 0.125rem solid highlight;\n }\n\n .checkbox:disabled:not(:checked) {\n appearance: none;\n border-color: GrayText;\n }\n\n .checkmark {\n fill: none;\n }\n\n .indeterminate-symbol {\n display: none;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport {\n IcAdditionalFieldTypes,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n removeHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n isPropDefined,\n} from \"../../utils/helpers\";\n\n/**\n * @slot additional-field - Content to be displayed alongside a checkbox.\n */\n@Component({\n tag: \"ic-checkbox\",\n styleUrl: \"ic-checkbox.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Checkbox {\n private additionalFieldContainer: HTMLDivElement;\n\n @Element() el: HTMLIcCheckboxElement;\n\n /**\n * The style of additionalField that will be displayed if used.\n */\n @Prop({ reflect: true }) additionalFieldDisplay: IcAdditionalFieldTypes =\n \"static\";\n\n /**\n * If `true`, the checkbox will be set to the checked state. This is only the initial state and will be updated to unchecked if the checkbox is clicked.\n */\n @Prop({ reflect: true, mutable: true }) checked?: boolean = false;\n @State() initiallyChecked = this.checked;\n\n /**\n * If `true`, the checkbox will be set to the disabled state.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The text to be displayed when dynamic.\n */\n\n @Prop() dynamicText: string = \"This selection requires additional answers\";\n\n /**\n * The <form> element to associate the checkbox with.\n */\n @Prop() form?: string;\n\n /**\n * The group label for the checkbox.\n */\n @Prop({ mutable: true }) groupLabel: string;\n\n /**\n * If `true`, the indeterminate state will be displayed when checked.\n */\n @Prop() indeterminate: boolean = false;\n @State() displayIndeterminate = this.indeterminate;\n\n @Watch(\"indeterminate\")\n watchIndeterminateHandler(): void {\n this.displayIndeterminate = this.nativeIndeterminateBehaviour\n ? this.indeterminate\n : this.indeterminate && this.checked;\n }\n\n /**\n * The label for the checkbox.\n */\n @Prop() label!: string;\n\n /**\n * The name for the checkbox. If not set when used in a checkbox group, the name will be based on the group name.\n */\n @Prop({ mutable: true }) name: string;\n\n /**\n * If `true`, the checkbox will behave like a native checkbox where the `indeterminate` prop sets the indeterminate visual styling, independent of the `checked` state.\n */\n @Prop() nativeIndeterminateBehaviour: boolean = false;\n\n /**\n * The size of the checkbox to be displayed. This does not affect the font size of the label. If a checkbox is contained in a checkbox group, this will override the size set on checkbox group.\n */\n @Prop() size?: IcSizes;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The value for the checkbox.\n */\n @Prop() value!: string;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel = false;\n\n /**\n * Emitted when a checkbox has been checked.\n */\n @Event() icCheck: EventEmitter<void>;\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n\n addFormResetListener(this.el, this.handleFormReset);\n\n const checkboxGroup = this.el.parentElement as HTMLIcCheckboxGroupElement;\n if (checkboxGroup) {\n if (!this.name) this.name = checkboxGroup.name;\n this.groupLabel = checkboxGroup.label;\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.value, propName: \"value\" },\n ],\n \"Checkbox\"\n );\n }\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n const textfield = this.el.querySelector(\"ic-text-field\");\n if (!this.checked) {\n textfield?.setAttribute(\"disabled\", \"\");\n } else {\n textfield?.removeAttribute(\"disabled\");\n }\n } else if (this.additionalFieldContainer) {\n this.additionalFieldContainer.style.display = !this.checked\n ? \"none\"\n : \"flex\";\n }\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n /**\n * Sets focus on the checkbox.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.el.shadowRoot.querySelector<HTMLElement>(\".checkbox\")?.focus();\n }\n\n private handleClick = () => {\n this.checked = !this.checked;\n this.displayIndeterminate = this.nativeIndeterminateBehaviour\n ? false\n : this.indeterminate && this.checked;\n this.icCheck.emit();\n };\n\n private handleFormReset = (): void => {\n this.checked = this.initiallyChecked;\n };\n\n render() {\n const {\n additionalFieldDisplay,\n checked,\n disabled,\n dynamicText,\n el,\n form,\n displayIndeterminate,\n groupLabel,\n label,\n name,\n size,\n value,\n theme,\n } = this;\n\n const id = `ic-checkbox-${\n isPropDefined(label) || value\n }-${groupLabel}`.replace(/ /g, \"-\");\n\n const parentElementSize = (el.parentElement as HTMLIcCheckboxGroupElement)\n .size;\n\n checked\n ? renderHiddenInput(true, el, name, checked && value, disabled)\n : removeHiddenInput(el);\n\n return (\n <Host\n class={{\n \"ic-checkbox-disabled\": disabled,\n [`ic-checkbox-${size || parentElementSize}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div class=\"container\">\n {displayIndeterminate && <div class=\"indeterminate-symbol\" />}\n {!displayIndeterminate && checked && (\n <svg\n class=\"checkmark\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n >\n <title>checkmark icon</title>\n <path d=\"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z\" />\n </svg>\n )}\n <input\n role=\"checkbox\"\n class={{\n checkbox: true,\n checked,\n indeterminate: displayIndeterminate,\n }}\n type=\"checkbox\"\n name={name}\n id={id}\n value={value}\n disabled={disabled ? true : null}\n checked={checked}\n indeterminate={displayIndeterminate}\n onClick={this.handleClick}\n form={form}\n aria-label={this.hideLabel ? this.label : undefined}\n ></input>\n {!this.hideLabel && (\n <ic-typography class=\"checkbox-label\" variant=\"body\">\n <label htmlFor={id}>{label}</label>\n </ic-typography>\n )}\n </div>\n {isSlotUsed(el, \"additional-field\") && (\n <div\n class=\"dynamic-container\"\n ref={(el) => (this.additionalFieldContainer = el)}\n >\n {additionalFieldDisplay === \"dynamic\" && (\n <div class=\"branch-corner\"></div>\n )}\n <div>\n {additionalFieldDisplay === \"dynamic\" && (\n <ic-typography variant=\"caption\">\n <p class=\"dynamic-text\" aria-live=\"polite\">\n {dynamicText}\n </p>\n </ic-typography>\n )}\n <div\n class={{\n \"additional-field-wrapper\":\n additionalFieldDisplay === \"static\",\n }}\n >\n <slot name=\"additional-field\"></slot>\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}