@ukic/web-components 2.19.0 → 2.21.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (590) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-88e018cf.js → helpers-466a551d.js} +59 -99
  3. package/dist/cjs/helpers-466a551d.js.map +1 -0
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js +3 -1
  5. package/dist/cjs/ic-accordion-group.cjs.entry.js.map +1 -1
  6. package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
  7. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  8. package/dist/cjs/ic-back-to-top.cjs.entry.js +15 -9
  9. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-badge.cjs.entry.js +55 -77
  11. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +3 -1
  13. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  15. package/dist/cjs/ic-button_3.cjs.entry.js +14 -14
  16. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-card.cjs.entry.js +1 -1
  18. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-checkbox-group.cjs.entry.js +23 -16
  20. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-checkbox.cjs.entry.js +33 -31
  22. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-chip.cjs.entry.js +21 -31
  24. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  26. package/dist/cjs/ic-dialog.cjs.entry.js +4 -2
  27. package/dist/cjs/ic-dialog.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-footer-link-group.cjs.entry.js +2 -2
  31. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  33. package/dist/cjs/ic-footer.cjs.entry.js +2 -2
  34. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  35. package/dist/cjs/ic-hero.cjs.entry.js +3 -2
  36. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  37. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +2 -3
  38. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  39. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +5 -5
  40. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  41. package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
  42. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  43. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  45. package/dist/cjs/ic-menu-item.cjs.entry.js +4 -10
  46. package/dist/cjs/ic-menu-item.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  48. package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
  49. package/dist/cjs/ic-navigation-item.cjs.entry.js +2 -2
  50. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  51. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  52. package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
  53. package/dist/cjs/ic-pagination-item.cjs.entry.js +18 -9
  54. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-pagination.cjs.entry.js +21 -9
  56. package/dist/cjs/ic-pagination.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-popover-menu.cjs.entry.js +13 -18
  58. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-radio-group.cjs.entry.js +12 -16
  60. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-radio-option.cjs.entry.js +37 -37
  62. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-search-bar.cjs.entry.js +1 -1
  64. package/dist/cjs/ic-select.cjs.entry.js +10 -6
  65. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-side-navigation.cjs.entry.js +1 -1
  67. package/dist/cjs/ic-skeleton.cjs.entry.js +16 -35
  68. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-status-tag.cjs.entry.js +1 -1
  70. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-step.cjs.entry.js +1 -1
  72. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  73. package/dist/cjs/ic-switch.cjs.entry.js +2 -2
  74. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  76. package/dist/cjs/ic-tab-panel.cjs.entry.js +1 -1
  77. package/dist/cjs/ic-tab.cjs.entry.js +2 -2
  78. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  79. package/dist/cjs/ic-text-field.cjs.entry.js +8 -8
  80. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  81. package/dist/cjs/ic-theme.cjs.entry.js +13 -15
  82. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-toast.cjs.entry.js +1 -1
  84. package/dist/cjs/ic-toggle-button.cjs.entry.js +2 -2
  85. package/dist/cjs/ic-toggle-button.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-top-navigation.cjs.entry.js +15 -24
  87. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-typography.cjs.entry.js +2 -2
  89. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  90. package/dist/cjs/loader.cjs.js +1 -1
  91. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js +1 -1
  92. package/dist/collection/components/ic-accordion/test/basic/ic-accordion.spec.js.map +1 -1
  93. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js +5 -1
  94. package/dist/collection/components/ic-accordion-group/ic-accordion-group.js.map +1 -1
  95. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js +5 -5
  96. package/dist/collection/components/ic-accordion-group/test/basic/ic-accordion-group.spec.js.map +1 -1
  97. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +7 -4
  98. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +37 -7
  99. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  100. package/dist/collection/components/ic-back-to-top/ic-back-to-top.types.js +2 -0
  101. package/dist/collection/components/ic-back-to-top/ic-back-to-top.types.js.map +1 -0
  102. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js +9 -0
  103. package/dist/collection/components/ic-back-to-top/test/basic/ic-back-to-top.spec.js.map +1 -1
  104. package/dist/collection/components/ic-badge/ic-badge.js +64 -78
  105. package/dist/collection/components/ic-badge/ic-badge.js.map +1 -1
  106. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js +4 -4
  107. package/dist/collection/components/ic-breadcrumb/test/basic/ic-breadcrumb.spec.js.map +1 -1
  108. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +2 -0
  109. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  110. package/dist/collection/components/ic-button/ic-button.css +289 -11
  111. package/dist/collection/components/ic-button/ic-button.js +11 -11
  112. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  113. package/dist/collection/components/ic-button/ic-button.types.js.map +1 -1
  114. package/dist/collection/components/ic-card/ic-card.css +8 -0
  115. package/dist/collection/components/ic-checkbox/ic-checkbox.css +1 -1
  116. package/dist/collection/components/ic-checkbox/ic-checkbox.js +31 -29
  117. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  118. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +27 -15
  119. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  120. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js +12 -0
  121. package/dist/collection/components/ic-checkbox-group/test/basic/ic-checkbox-group.spec.js.map +1 -1
  122. package/dist/collection/components/ic-chip/ic-chip.css +5 -1
  123. package/dist/collection/components/ic-chip/ic-chip.js +20 -30
  124. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  125. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js +5 -5
  126. package/dist/collection/components/ic-classification-banner/test/basic/ic-classification-banner.spec.js.map +1 -1
  127. package/dist/collection/components/ic-dialog/ic-dialog.css +11 -8
  128. package/dist/collection/components/ic-dialog/ic-dialog.js +4 -2
  129. package/dist/collection/components/ic-dialog/ic-dialog.js.map +1 -1
  130. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js +2 -2
  131. package/dist/collection/components/ic-dialog/test/basic/ic-dialog.spec.js.map +1 -1
  132. package/dist/collection/components/ic-footer/ic-footer.js +1 -1
  133. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  134. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +1 -1
  135. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  136. package/dist/collection/components/ic-hero/ic-hero.js +4 -3
  137. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  138. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js +1 -1
  139. package/dist/collection/components/ic-hero/test/basic/ic-hero.spec.js.map +1 -1
  140. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +1 -2
  141. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -1
  142. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +2 -2
  143. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  144. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js +9 -9
  145. package/dist/collection/components/ic-input-component-container/test/basic/ic-input-component-container.spec.js.map +1 -1
  146. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js +3 -3
  147. package/dist/collection/components/ic-input-container/test/basic/ic-input-container.spec.js.map +1 -1
  148. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js +6 -6
  149. package/dist/collection/components/ic-input-label/test/basic/ic-input-label.spec.js.map +1 -1
  150. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js +5 -5
  151. package/dist/collection/components/ic-input-validation/test/basic/ic-input-validation.spec.js.map +1 -1
  152. package/dist/collection/components/ic-link/ic-link.css +1 -1
  153. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js +1 -1
  154. package/dist/collection/components/ic-link/test/basic/ic-link.spec.js.map +1 -1
  155. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +0 -1
  156. package/dist/collection/components/ic-menu/ic-menu.js +3 -3
  157. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  158. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js +41 -41
  159. package/dist/collection/components/ic-menu/test/basic/ic-menu.spec.js.map +1 -1
  160. package/dist/collection/components/ic-menu-item/ic-menu-item.js +4 -10
  161. package/dist/collection/components/ic-menu-item/ic-menu-item.js.map +1 -1
  162. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js +5 -5
  163. package/dist/collection/components/ic-navigation-button/test/basic/ic-navigation-button.spec.js.map +1 -1
  164. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +6 -0
  165. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js +3 -3
  166. package/dist/collection/components/ic-navigation-item/test/basic/ic-navigation-item.spec.js.map +1 -1
  167. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.e2e.js +1 -1
  168. package/dist/collection/components/ic-navigation-menu/test/basic/ic-navigation-menu.e2e.js.map +1 -1
  169. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js +1 -1
  170. package/dist/collection/components/ic-page-header/test/basic/ic-page-header.spec.js.map +1 -1
  171. package/dist/collection/components/ic-pagination/ic-pagination.js +26 -8
  172. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  173. package/dist/collection/components/ic-pagination/ic-pagination.types.js.map +1 -1
  174. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js +44 -0
  175. package/dist/collection/components/ic-pagination/test/basic/ic-pagination.spec.js.map +1 -1
  176. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +5 -1
  177. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +27 -44
  178. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js.map +1 -1
  179. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js +76 -0
  180. package/dist/collection/components/ic-pagination-item/test/basic/ic-pagination-item.spec.js.map +1 -0
  181. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +12 -17
  182. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  183. package/dist/collection/components/ic-radio-group/ic-radio-group.js +11 -15
  184. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  185. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js +17 -17
  186. package/dist/collection/components/ic-radio-group/test/basic/ic-radio-group.e2e.js.map +1 -1
  187. package/dist/collection/components/ic-radio-option/ic-radio-option.js +37 -37
  188. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  189. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js +5 -5
  190. package/dist/collection/components/ic-search-bar/test/basic/ic-search-bar.e2e.js.map +1 -1
  191. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js +4 -4
  192. package/dist/collection/components/ic-section-container/test/basic/ic-section-container.spec.js.map +1 -1
  193. package/dist/collection/components/ic-select/ic-select.js +9 -5
  194. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  195. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js +11 -11
  196. package/dist/collection/components/ic-side-navigation/test/basic/ic-side-navigation.spec.js.map +1 -1
  197. package/dist/collection/components/ic-skeleton/ic-skeleton.js +16 -43
  198. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  199. package/dist/collection/components/ic-status-tag/ic-status-tag.js +1 -1
  200. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  201. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js +1 -1
  202. package/dist/collection/components/ic-stepper/test/basic/ic-stepper.e2e.js.map +1 -1
  203. package/dist/collection/components/ic-switch/ic-switch.css +11 -3
  204. package/dist/collection/components/ic-tab/ic-tab.css +17 -5
  205. package/dist/collection/components/ic-text-field/ic-text-field.css +1 -0
  206. package/dist/collection/components/ic-text-field/ic-text-field.js +6 -6
  207. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  208. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js +0 -1
  209. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.input.spec.js.map +1 -1
  210. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js +15 -15
  211. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.textarea.spec.js.map +1 -1
  212. package/dist/collection/components/ic-theme/ic-theme.js +21 -17
  213. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  214. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js +1 -1
  215. package/dist/collection/components/ic-theme/test/basic/ic-theme.e2e.js.map +1 -1
  216. package/dist/collection/components/ic-toggle-button/ic-toggle-button.css +21 -0
  217. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js +7 -7
  218. package/dist/collection/components/ic-toggle-button-group/test/ic-toggle-button-group.spec.js.map +1 -1
  219. package/dist/collection/components/ic-tooltip/ic-tooltip.css +7 -0
  220. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +15 -24
  221. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  222. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js +14 -14
  223. package/dist/collection/components/ic-top-navigation/test/basic/ic-top-navigation.spec.js.map +1 -1
  224. package/dist/collection/components/ic-typography/ic-typography.css +11 -2
  225. package/dist/collection/utils/helpers.js +58 -102
  226. package/dist/collection/utils/helpers.js.map +1 -1
  227. package/dist/components/helpers.js +57 -97
  228. package/dist/components/helpers.js.map +1 -1
  229. package/dist/components/ic-accordion-group.js +2 -1
  230. package/dist/components/ic-accordion-group.js.map +1 -1
  231. package/dist/components/ic-back-to-top.js +22 -9
  232. package/dist/components/ic-back-to-top.js.map +1 -1
  233. package/dist/components/ic-badge.js +59 -77
  234. package/dist/components/ic-badge.js.map +1 -1
  235. package/dist/components/ic-breadcrumb-group.js +2 -0
  236. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  237. package/dist/components/ic-button2.js +11 -11
  238. package/dist/components/ic-button2.js.map +1 -1
  239. package/dist/components/ic-card.js.map +1 -1
  240. package/dist/components/ic-checkbox-group.js +26 -16
  241. package/dist/components/ic-checkbox-group.js.map +1 -1
  242. package/dist/components/ic-checkbox.js +33 -31
  243. package/dist/components/ic-checkbox.js.map +1 -1
  244. package/dist/components/ic-chip.js +21 -31
  245. package/dist/components/ic-chip.js.map +1 -1
  246. package/dist/components/ic-dialog.js +4 -2
  247. package/dist/components/ic-dialog.js.map +1 -1
  248. package/dist/components/ic-divider2.js +1 -1
  249. package/dist/components/ic-footer-link-group.js +2 -2
  250. package/dist/components/ic-footer-link-group.js.map +1 -1
  251. package/dist/components/ic-footer-link.js +1 -1
  252. package/dist/components/ic-footer.js +2 -2
  253. package/dist/components/ic-footer.js.map +1 -1
  254. package/dist/components/ic-hero.js +3 -2
  255. package/dist/components/ic-hero.js.map +1 -1
  256. package/dist/components/ic-horizontal-scroll2.js +2 -3
  257. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  258. package/dist/components/ic-input-component-container2.js +2 -2
  259. package/dist/components/ic-input-component-container2.js.map +1 -1
  260. package/dist/components/ic-link2.js +1 -1
  261. package/dist/components/ic-link2.js.map +1 -1
  262. package/dist/components/ic-loading-indicator2.js +1 -1
  263. package/dist/components/ic-loading-indicator2.js.map +1 -1
  264. package/dist/components/ic-menu-item2.js +4 -10
  265. package/dist/components/ic-menu-item2.js.map +1 -1
  266. package/dist/components/ic-menu2.js +3 -3
  267. package/dist/components/ic-menu2.js.map +1 -1
  268. package/dist/components/ic-navigation-button.js +1 -1
  269. package/dist/components/ic-navigation-group.js +1 -1
  270. package/dist/components/ic-navigation-item.js +2 -2
  271. package/dist/components/ic-navigation-item.js.map +1 -1
  272. package/dist/components/ic-navigation-menu2.js +1 -1
  273. package/dist/components/ic-pagination-item2.js +22 -12
  274. package/dist/components/ic-pagination-item2.js.map +1 -1
  275. package/dist/components/ic-pagination.js +23 -8
  276. package/dist/components/ic-pagination.js.map +1 -1
  277. package/dist/components/ic-popover-menu.js +13 -18
  278. package/dist/components/ic-popover-menu.js.map +1 -1
  279. package/dist/components/ic-radio-group.js +11 -15
  280. package/dist/components/ic-radio-group.js.map +1 -1
  281. package/dist/components/ic-radio-option.js +37 -37
  282. package/dist/components/ic-radio-option.js.map +1 -1
  283. package/dist/components/ic-select.js +9 -5
  284. package/dist/components/ic-select.js.map +1 -1
  285. package/dist/components/ic-side-navigation.js +1 -1
  286. package/dist/components/ic-skeleton.js +17 -40
  287. package/dist/components/ic-skeleton.js.map +1 -1
  288. package/dist/components/ic-status-tag.js.map +1 -1
  289. package/dist/components/ic-switch.js +1 -1
  290. package/dist/components/ic-switch.js.map +1 -1
  291. package/dist/components/ic-tab.js +1 -1
  292. package/dist/components/ic-tab.js.map +1 -1
  293. package/dist/components/ic-text-field2.js +7 -7
  294. package/dist/components/ic-text-field2.js.map +1 -1
  295. package/dist/components/ic-theme.js +13 -15
  296. package/dist/components/ic-theme.js.map +1 -1
  297. package/dist/components/ic-toast.js +1 -1
  298. package/dist/components/ic-toggle-button.js +1 -1
  299. package/dist/components/ic-toggle-button.js.map +1 -1
  300. package/dist/components/ic-tooltip2.js +1 -1
  301. package/dist/components/ic-tooltip2.js.map +1 -1
  302. package/dist/components/ic-top-navigation.js +15 -24
  303. package/dist/components/ic-top-navigation.js.map +1 -1
  304. package/dist/components/ic-typography2.js +1 -1
  305. package/dist/components/ic-typography2.js.map +1 -1
  306. package/dist/core/core.css +2 -2
  307. package/dist/core/core.esm.js +1 -1
  308. package/dist/core/core.esm.js.map +1 -1
  309. package/dist/core/p-063587c6.js +2 -0
  310. package/dist/core/p-063587c6.js.map +1 -0
  311. package/dist/core/{p-346578e4.entry.js → p-099efe2a.entry.js} +2 -2
  312. package/dist/core/p-0a6fbf35.entry.js +2 -0
  313. package/dist/core/p-0a6fbf35.entry.js.map +1 -0
  314. package/dist/core/{p-051583a5.entry.js → p-10dba909.entry.js} +2 -2
  315. package/dist/core/p-10dba909.entry.js.map +1 -0
  316. package/dist/core/p-14dd5b2b.entry.js +2 -0
  317. package/dist/core/p-14dd5b2b.entry.js.map +1 -0
  318. package/dist/core/{p-ba1c3cf7.entry.js → p-1624f4de.entry.js} +2 -2
  319. package/dist/core/{p-1b1270a1.entry.js → p-227a3f22.entry.js} +2 -2
  320. package/dist/core/p-227a3f22.entry.js.map +1 -0
  321. package/dist/core/{p-04cc2b25.entry.js → p-25606a38.entry.js} +2 -2
  322. package/dist/core/{p-328bc6a2.entry.js → p-25edb082.entry.js} +2 -2
  323. package/dist/core/p-25edb082.entry.js.map +1 -0
  324. package/dist/core/{p-4f3fe190.entry.js → p-2965644e.entry.js} +2 -2
  325. package/dist/core/{p-bceaf300.entry.js → p-34d719f8.entry.js} +2 -2
  326. package/dist/core/p-34d719f8.entry.js.map +1 -0
  327. package/dist/core/{p-3f53446c.entry.js → p-35856434.entry.js} +2 -2
  328. package/dist/core/{p-7b720034.entry.js → p-3eda4e14.entry.js} +2 -2
  329. package/dist/core/p-3eda4e14.entry.js.map +1 -0
  330. package/dist/core/{p-6f9dcfb5.entry.js → p-40c508c8.entry.js} +2 -2
  331. package/dist/core/{p-6f9dcfb5.entry.js.map → p-40c508c8.entry.js.map} +1 -1
  332. package/dist/core/p-426a5500.entry.js +2 -0
  333. package/dist/core/p-426a5500.entry.js.map +1 -0
  334. package/dist/core/p-4522e5c0.entry.js +2 -0
  335. package/dist/core/p-4522e5c0.entry.js.map +1 -0
  336. package/dist/core/{p-d7f4779d.entry.js → p-459355ef.entry.js} +2 -2
  337. package/dist/core/p-49cdaddc.entry.js +2 -0
  338. package/dist/core/p-49cdaddc.entry.js.map +1 -0
  339. package/dist/core/{p-f50a57f3.entry.js → p-4a0acd0f.entry.js} +2 -2
  340. package/dist/core/{p-f50a57f3.entry.js.map → p-4a0acd0f.entry.js.map} +1 -1
  341. package/dist/core/{p-32e2ae6f.entry.js → p-4e3a03cb.entry.js} +2 -2
  342. package/dist/core/{p-c919c571.entry.js → p-521cc9c6.entry.js} +2 -2
  343. package/dist/core/{p-c3acbefe.entry.js → p-56b709a1.entry.js} +2 -2
  344. package/dist/core/{p-c3acbefe.entry.js.map → p-56b709a1.entry.js.map} +1 -1
  345. package/dist/core/{p-2f91e86a.entry.js → p-687af4e5.entry.js} +2 -2
  346. package/dist/core/{p-8e37e832.entry.js → p-7dbd0a9f.entry.js} +2 -2
  347. package/dist/core/p-8a0d4ea2.entry.js +2 -0
  348. package/dist/core/p-8a0d4ea2.entry.js.map +1 -0
  349. package/dist/core/p-8bb09d94.entry.js +2 -0
  350. package/dist/core/p-8bb09d94.entry.js.map +1 -0
  351. package/dist/core/{p-e5957ce0.entry.js → p-8e3cc8e9.entry.js} +2 -2
  352. package/dist/core/{p-e68485ee.entry.js → p-8ec2105c.entry.js} +2 -2
  353. package/dist/core/p-8ec2105c.entry.js.map +1 -0
  354. package/dist/core/{p-adf468f4.entry.js → p-94c512d4.entry.js} +2 -2
  355. package/dist/core/p-94c512d4.entry.js.map +1 -0
  356. package/dist/core/p-9e4b8aeb.entry.js +2 -0
  357. package/dist/core/p-9e4b8aeb.entry.js.map +1 -0
  358. package/dist/core/{p-692ccc73.entry.js → p-a049705a.entry.js} +2 -2
  359. package/dist/core/p-a049705a.entry.js.map +1 -0
  360. package/dist/core/{p-731515cf.entry.js → p-a541cf18.entry.js} +2 -2
  361. package/dist/core/{p-52a4c223.entry.js → p-ad6176a2.entry.js} +2 -2
  362. package/dist/core/p-ad932b00.entry.js +2 -0
  363. package/dist/core/p-ad932b00.entry.js.map +1 -0
  364. package/dist/core/{p-5481b048.entry.js → p-adecaedd.entry.js} +2 -2
  365. package/dist/core/{p-2d4e7985.entry.js → p-af5e3bab.entry.js} +2 -2
  366. package/dist/core/p-af5e3bab.entry.js.map +1 -0
  367. package/dist/core/{p-8ed04819.entry.js → p-b6be866c.entry.js} +2 -2
  368. package/dist/core/p-b6be866c.entry.js.map +1 -0
  369. package/dist/core/p-b8d68163.entry.js +2 -0
  370. package/dist/core/p-b8d68163.entry.js.map +1 -0
  371. package/dist/core/{p-8153def1.entry.js → p-c199045d.entry.js} +2 -2
  372. package/dist/core/{p-1197f0d4.entry.js → p-c649689e.entry.js} +2 -2
  373. package/dist/core/{p-1197f0d4.entry.js.map → p-c649689e.entry.js.map} +1 -1
  374. package/dist/core/p-cbba9c7c.entry.js +2 -0
  375. package/dist/core/p-cbba9c7c.entry.js.map +1 -0
  376. package/dist/core/{p-1a6fab3e.entry.js → p-cc9e5b0e.entry.js} +2 -2
  377. package/dist/core/{p-03796d51.entry.js → p-ce4e0e38.entry.js} +2 -2
  378. package/dist/core/p-d3f10067.entry.js +2 -0
  379. package/dist/core/p-d3f10067.entry.js.map +1 -0
  380. package/dist/core/p-dae27567.entry.js +2 -0
  381. package/dist/core/p-dae27567.entry.js.map +1 -0
  382. package/dist/core/{p-a13236ef.entry.js → p-de40b0b1.entry.js} +2 -2
  383. package/dist/core/p-de40b0b1.entry.js.map +1 -0
  384. package/dist/core/{p-af5eacc1.entry.js → p-e5d5b07e.entry.js} +2 -2
  385. package/dist/core/{p-b451f27c.entry.js → p-e70c6b33.entry.js} +2 -2
  386. package/dist/core/{p-8b65be1e.entry.js → p-e776f72a.entry.js} +2 -2
  387. package/dist/core/p-e9ec912f.entry.js +2 -0
  388. package/dist/core/p-e9ec912f.entry.js.map +1 -0
  389. package/dist/core/p-ec77a078.entry.js +2 -0
  390. package/dist/core/p-ec77a078.entry.js.map +1 -0
  391. package/dist/core/{p-2b326b17.entry.js → p-f706798e.entry.js} +2 -2
  392. package/dist/core/{p-2b326b17.entry.js.map → p-f706798e.entry.js.map} +1 -1
  393. package/dist/core/{p-1c3b619f.entry.js → p-fd6f0ef0.entry.js} +2 -2
  394. package/dist/core/p-fd6f0ef0.entry.js.map +1 -0
  395. package/dist/core/{p-ba40f44a.entry.js → p-fe702898.entry.js} +2 -2
  396. package/dist/core/p-fe702898.entry.js.map +1 -0
  397. package/dist/esm/core.js +1 -1
  398. package/dist/esm/{helpers-24ba0b83.js → helpers-c28c228a.js} +58 -98
  399. package/dist/esm/helpers-c28c228a.js.map +1 -0
  400. package/dist/esm/ic-accordion-group.entry.js +3 -1
  401. package/dist/esm/ic-accordion-group.entry.js.map +1 -1
  402. package/dist/esm/ic-accordion.entry.js +1 -1
  403. package/dist/esm/ic-alert.entry.js +1 -1
  404. package/dist/esm/ic-back-to-top.entry.js +15 -9
  405. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  406. package/dist/esm/ic-badge.entry.js +55 -77
  407. package/dist/esm/ic-badge.entry.js.map +1 -1
  408. package/dist/esm/ic-breadcrumb-group.entry.js +3 -1
  409. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  410. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  411. package/dist/esm/ic-button_3.entry.js +14 -14
  412. package/dist/esm/ic-button_3.entry.js.map +1 -1
  413. package/dist/esm/ic-card.entry.js +1 -1
  414. package/dist/esm/ic-card.entry.js.map +1 -1
  415. package/dist/esm/ic-checkbox-group.entry.js +23 -16
  416. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  417. package/dist/esm/ic-checkbox.entry.js +33 -31
  418. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  419. package/dist/esm/ic-chip.entry.js +21 -31
  420. package/dist/esm/ic-chip.entry.js.map +1 -1
  421. package/dist/esm/ic-data-row.entry.js +1 -1
  422. package/dist/esm/ic-dialog.entry.js +4 -2
  423. package/dist/esm/ic-dialog.entry.js.map +1 -1
  424. package/dist/esm/ic-divider.entry.js +1 -1
  425. package/dist/esm/ic-empty-state.entry.js +1 -1
  426. package/dist/esm/ic-footer-link-group.entry.js +2 -2
  427. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  428. package/dist/esm/ic-footer-link.entry.js +1 -1
  429. package/dist/esm/ic-footer.entry.js +2 -2
  430. package/dist/esm/ic-footer.entry.js.map +1 -1
  431. package/dist/esm/ic-hero.entry.js +3 -2
  432. package/dist/esm/ic-hero.entry.js.map +1 -1
  433. package/dist/esm/ic-horizontal-scroll.entry.js +2 -3
  434. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  435. package/dist/esm/ic-input-component-container_3.entry.js +5 -5
  436. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  437. package/dist/esm/ic-input-label_2.entry.js +1 -1
  438. package/dist/esm/ic-link.entry.js +2 -2
  439. package/dist/esm/ic-link.entry.js.map +1 -1
  440. package/dist/esm/ic-menu-group.entry.js +1 -1
  441. package/dist/esm/ic-menu-item.entry.js +4 -10
  442. package/dist/esm/ic-menu-item.entry.js.map +1 -1
  443. package/dist/esm/ic-navigation-button.entry.js +1 -1
  444. package/dist/esm/ic-navigation-group.entry.js +1 -1
  445. package/dist/esm/ic-navigation-item.entry.js +2 -2
  446. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  447. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  448. package/dist/esm/ic-page-header.entry.js +1 -1
  449. package/dist/esm/ic-pagination-item.entry.js +18 -9
  450. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  451. package/dist/esm/ic-pagination.entry.js +21 -9
  452. package/dist/esm/ic-pagination.entry.js.map +1 -1
  453. package/dist/esm/ic-popover-menu.entry.js +13 -18
  454. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  455. package/dist/esm/ic-radio-group.entry.js +12 -16
  456. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  457. package/dist/esm/ic-radio-option.entry.js +37 -37
  458. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  459. package/dist/esm/ic-search-bar.entry.js +1 -1
  460. package/dist/esm/ic-select.entry.js +10 -6
  461. package/dist/esm/ic-select.entry.js.map +1 -1
  462. package/dist/esm/ic-side-navigation.entry.js +1 -1
  463. package/dist/esm/ic-skeleton.entry.js +16 -35
  464. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  465. package/dist/esm/ic-status-tag.entry.js +1 -1
  466. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  467. package/dist/esm/ic-step.entry.js +1 -1
  468. package/dist/esm/ic-stepper.entry.js +1 -1
  469. package/dist/esm/ic-switch.entry.js +2 -2
  470. package/dist/esm/ic-switch.entry.js.map +1 -1
  471. package/dist/esm/ic-tab-group.entry.js +1 -1
  472. package/dist/esm/ic-tab-panel.entry.js +1 -1
  473. package/dist/esm/ic-tab.entry.js +2 -2
  474. package/dist/esm/ic-tab.entry.js.map +1 -1
  475. package/dist/esm/ic-text-field.entry.js +8 -8
  476. package/dist/esm/ic-text-field.entry.js.map +1 -1
  477. package/dist/esm/ic-theme.entry.js +13 -15
  478. package/dist/esm/ic-theme.entry.js.map +1 -1
  479. package/dist/esm/ic-toast.entry.js +1 -1
  480. package/dist/esm/ic-toggle-button.entry.js +2 -2
  481. package/dist/esm/ic-toggle-button.entry.js.map +1 -1
  482. package/dist/esm/ic-top-navigation.entry.js +15 -24
  483. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  484. package/dist/esm/ic-typography.entry.js +2 -2
  485. package/dist/esm/ic-typography.entry.js.map +1 -1
  486. package/dist/esm/loader.js +1 -1
  487. package/dist/types/components/ic-accordion-group/ic-accordion-group.d.ts +3 -0
  488. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +6 -0
  489. package/dist/types/components/ic-back-to-top/ic-back-to-top.types.d.ts +1 -0
  490. package/dist/types/components/ic-badge/ic-badge.d.ts +6 -0
  491. package/dist/types/components/ic-button/ic-button.d.ts +1 -1
  492. package/dist/types/components/ic-button/ic-button.types.d.ts +1 -1
  493. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +0 -1
  494. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +2 -1
  495. package/dist/types/components/ic-chip/ic-chip.d.ts +1 -1
  496. package/dist/types/components/ic-pagination/ic-pagination.d.ts +3 -0
  497. package/dist/types/components/ic-pagination/ic-pagination.types.d.ts +2 -0
  498. package/dist/types/components/ic-pagination-item/ic-pagination-item.d.ts +2 -8
  499. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +4 -1
  500. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +1 -1
  501. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +1 -0
  502. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +0 -5
  503. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +1 -0
  504. package/dist/types/components/ic-text-field/ic-text-field.d.ts +0 -1
  505. package/dist/types/components/ic-theme/ic-theme.d.ts +2 -3
  506. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +2 -1
  507. package/dist/types/components.d.ts +16 -22
  508. package/dist/types/utils/helpers.d.ts +7 -13
  509. package/hydrate/index.js +398 -472
  510. package/package.json +2 -2
  511. package/vscode-data.json +25 -9
  512. package/dist/cjs/helpers-88e018cf.js.map +0 -1
  513. package/dist/collection/components/ic-tab/test/basic/ic-tab.e2e.js +0 -32
  514. package/dist/collection/components/ic-tab/test/basic/ic-tab.e2e.js.map +0 -1
  515. package/dist/collection/components/ic-tab-context/test/a11y/ic-tab-context.test.a11y.js +0 -19
  516. package/dist/collection/components/ic-tab-context/test/a11y/ic-tab-context.test.a11y.js.map +0 -1
  517. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js +0 -354
  518. package/dist/collection/components/ic-tab-context/test/basic/ic-tab-context.e2e.js.map +0 -1
  519. package/dist/collection/components/ic-text-field/test/a11y/ic-text-field.test.a11y.js +0 -33
  520. package/dist/collection/components/ic-text-field/test/a11y/ic-text-field.test.a11y.js.map +0 -1
  521. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.e2e.js +0 -110
  522. package/dist/collection/components/ic-text-field/test/basic/ic-text-field.e2e.js.map +0 -1
  523. package/dist/core/p-00c21dd7.entry.js +0 -2
  524. package/dist/core/p-00c21dd7.entry.js.map +0 -1
  525. package/dist/core/p-02ad4585.entry.js +0 -2
  526. package/dist/core/p-02ad4585.entry.js.map +0 -1
  527. package/dist/core/p-051583a5.entry.js.map +0 -1
  528. package/dist/core/p-078f7f23.entry.js +0 -2
  529. package/dist/core/p-078f7f23.entry.js.map +0 -1
  530. package/dist/core/p-0c097626.entry.js +0 -2
  531. package/dist/core/p-0c097626.entry.js.map +0 -1
  532. package/dist/core/p-1b1270a1.entry.js.map +0 -1
  533. package/dist/core/p-1c3b619f.entry.js.map +0 -1
  534. package/dist/core/p-24bed047.entry.js +0 -2
  535. package/dist/core/p-24bed047.entry.js.map +0 -1
  536. package/dist/core/p-2d4e7985.entry.js.map +0 -1
  537. package/dist/core/p-328bc6a2.entry.js.map +0 -1
  538. package/dist/core/p-44ea7a6d.entry.js +0 -2
  539. package/dist/core/p-44ea7a6d.entry.js.map +0 -1
  540. package/dist/core/p-498273cb.entry.js +0 -2
  541. package/dist/core/p-498273cb.entry.js.map +0 -1
  542. package/dist/core/p-692ccc73.entry.js.map +0 -1
  543. package/dist/core/p-74f9082d.entry.js +0 -2
  544. package/dist/core/p-74f9082d.entry.js.map +0 -1
  545. package/dist/core/p-7b720034.entry.js.map +0 -1
  546. package/dist/core/p-8bc2a670.entry.js +0 -2
  547. package/dist/core/p-8bc2a670.entry.js.map +0 -1
  548. package/dist/core/p-8ed04819.entry.js.map +0 -1
  549. package/dist/core/p-8fe2b073.entry.js +0 -2
  550. package/dist/core/p-8fe2b073.entry.js.map +0 -1
  551. package/dist/core/p-9f29ab99.entry.js +0 -2
  552. package/dist/core/p-9f29ab99.entry.js.map +0 -1
  553. package/dist/core/p-a13236ef.entry.js.map +0 -1
  554. package/dist/core/p-adf468f4.entry.js.map +0 -1
  555. package/dist/core/p-ba40f44a.entry.js.map +0 -1
  556. package/dist/core/p-bceaf300.entry.js.map +0 -1
  557. package/dist/core/p-d19d157d.entry.js +0 -2
  558. package/dist/core/p-d19d157d.entry.js.map +0 -1
  559. package/dist/core/p-e4d0d1fb.js +0 -2
  560. package/dist/core/p-e4d0d1fb.js.map +0 -1
  561. package/dist/core/p-e68485ee.entry.js.map +0 -1
  562. package/dist/core/p-e8e0fa96.entry.js +0 -2
  563. package/dist/core/p-e8e0fa96.entry.js.map +0 -1
  564. package/dist/core/p-f8df0716.entry.js +0 -2
  565. package/dist/core/p-f8df0716.entry.js.map +0 -1
  566. package/dist/core/p-fd737b7e.entry.js +0 -2
  567. package/dist/core/p-fd737b7e.entry.js.map +0 -1
  568. package/dist/esm/helpers-24ba0b83.js.map +0 -1
  569. package/dist/types/components/ic-tab-context/test/a11y/ic-tab-context.test.a11y.d.ts +0 -1
  570. package/dist/types/components/ic-text-field/test/a11y/ic-text-field.test.a11y.d.ts +0 -1
  571. /package/dist/core/{p-346578e4.entry.js.map → p-099efe2a.entry.js.map} +0 -0
  572. /package/dist/core/{p-ba1c3cf7.entry.js.map → p-1624f4de.entry.js.map} +0 -0
  573. /package/dist/core/{p-04cc2b25.entry.js.map → p-25606a38.entry.js.map} +0 -0
  574. /package/dist/core/{p-4f3fe190.entry.js.map → p-2965644e.entry.js.map} +0 -0
  575. /package/dist/core/{p-3f53446c.entry.js.map → p-35856434.entry.js.map} +0 -0
  576. /package/dist/core/{p-d7f4779d.entry.js.map → p-459355ef.entry.js.map} +0 -0
  577. /package/dist/core/{p-32e2ae6f.entry.js.map → p-4e3a03cb.entry.js.map} +0 -0
  578. /package/dist/core/{p-c919c571.entry.js.map → p-521cc9c6.entry.js.map} +0 -0
  579. /package/dist/core/{p-2f91e86a.entry.js.map → p-687af4e5.entry.js.map} +0 -0
  580. /package/dist/core/{p-8e37e832.entry.js.map → p-7dbd0a9f.entry.js.map} +0 -0
  581. /package/dist/core/{p-e5957ce0.entry.js.map → p-8e3cc8e9.entry.js.map} +0 -0
  582. /package/dist/core/{p-731515cf.entry.js.map → p-a541cf18.entry.js.map} +0 -0
  583. /package/dist/core/{p-52a4c223.entry.js.map → p-ad6176a2.entry.js.map} +0 -0
  584. /package/dist/core/{p-5481b048.entry.js.map → p-adecaedd.entry.js.map} +0 -0
  585. /package/dist/core/{p-8153def1.entry.js.map → p-c199045d.entry.js.map} +0 -0
  586. /package/dist/core/{p-1a6fab3e.entry.js.map → p-cc9e5b0e.entry.js.map} +0 -0
  587. /package/dist/core/{p-03796d51.entry.js.map → p-ce4e0e38.entry.js.map} +0 -0
  588. /package/dist/core/{p-af5eacc1.entry.js.map → p-e5d5b07e.entry.js.map} +0 -0
  589. /package/dist/core/{p-b451f27c.entry.js.map → p-e70c6b33.entry.js.map} +0 -0
  590. /package/dist/core/{p-8b65be1e.entry.js.map → p-e776f72a.entry.js.map} +0 -0
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f982899d.js');
6
- const helpers = require('./helpers-88e018cf.js');
6
+ const helpers = require('./helpers-466a551d.js');
7
7
  require('./types-dc22e301.js');
8
8
 
9
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}";
@@ -23,6 +23,16 @@ const CheckboxGroup = class {
23
23
  this.validationStatus = "";
24
24
  this.validationText = "";
25
25
  }
26
+ labelNameHandler(newValue, oldValue, propName) {
27
+ Array.from(this.el.querySelectorAll("ic-checkbox")).forEach((checkbox) => {
28
+ if (propName === "label")
29
+ checkbox.groupLabel = newValue;
30
+ else if (checkbox.name === oldValue) {
31
+ // If the checkbox name has been set by the parent, then override it
32
+ checkbox.name = newValue;
33
+ }
34
+ });
35
+ }
26
36
  handleChange(ev) {
27
37
  //don't pass on the event if it has come from slotted text field
28
38
  //otherwise any icChange handler bound to the checkbox group will also run
@@ -34,20 +44,15 @@ const CheckboxGroup = class {
34
44
  helpers.removeDisabledFalse(this.disabled, this.el);
35
45
  }
36
46
  componentDidLoad() {
37
- Array.from(this.el.querySelectorAll("ic-checkbox")).forEach((checkbox) => {
38
- if (!checkbox.name)
39
- checkbox.name = this.name;
40
- checkbox.groupLabel = this.label;
41
- });
42
47
  helpers.onComponentRequiredPropUndefined([
43
48
  { prop: this.label, propName: "label" },
44
49
  { prop: this.name, propName: "name" },
45
50
  ], "Checkbox Group");
46
51
  }
47
- selectHandler(ev) {
48
- const checkedOptions = Array.from(this.el.querySelectorAll("ic-checkbox")).filter((checkbox) => checkbox.checked && !checkbox.disabled);
52
+ selectHandler({ target }) {
53
+ const checkedOptions = Array.from(this.el.querySelectorAll("ic-checkbox")).filter(({ checked, disabled }) => checked && !disabled);
49
54
  this.icChange.emit({
50
- value: checkedOptions.map((opt) => opt.value),
55
+ value: checkedOptions.map(({ value }) => value),
51
56
  checkedOptions: checkedOptions.map((opt) => {
52
57
  var _a;
53
58
  return ({
@@ -55,19 +60,21 @@ const CheckboxGroup = class {
55
60
  textFieldValue: (_a = opt.querySelector("ic-text-field")) === null || _a === void 0 ? void 0 : _a.value,
56
61
  });
57
62
  }),
58
- selectedOption: ev.target,
63
+ selectedOption: target,
59
64
  });
60
65
  }
61
66
  render() {
62
- const describedBy = helpers.getInputDescribedByText(this.name, this.helperText !== "", this.validationStatus !== "");
63
- const hadValidationStatus = helpers.hasValidationStatus(this.validationStatus, this.disabled);
64
- return (index.h(index.Host, { class: { ["small"]: this.small, [`${this.size}`]: true } }, (this.validationStatus === "error" ||
65
- this.required ||
66
- this.hideLabel) && (index.h("span", { id: "screenReaderOnlyText", class: "screen-reader-only-text", "aria-hidden": "true" }, this.label, " ", this.validationStatus === "error" ? "invalid data " : null, " ", this.required ? "required" : null)), index.h("fieldset", { id: this.name, "aria-labelledby": `${this.validationStatus === "error" || this.required || this.hideLabel
67
+ const { disabled, helperText, hideLabel, label, name, required, size, small, validationStatus, validationText, } = this;
68
+ const describedBy = helpers.getInputDescribedByText(name, helperText !== "", validationStatus !== "");
69
+ 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
67
70
  ? "screenReaderOnlyText"
68
- : ""} ${describedBy}`.trim(), disabled: this.disabled }, !this.hideLabel && (index.h("legend", null, index.h("ic-input-label", { class: { [`${this.validationStatus}`]: true }, label: this.label, helperText: this.helperText, required: this.required, disabled: this.disabled, for: this.name }))), index.h("div", { class: "checkboxes-container" }, index.h("slot", null))), hadValidationStatus && (index.h("ic-input-validation", { for: this.name, ariaLiveMode: "polite", status: this.validationStatus, message: this.validationText }))));
71
+ : ""} ${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 }))));
69
72
  }
70
73
  get el() { return index.getElement(this); }
74
+ static get watchers() { return {
75
+ "label": ["labelNameHandler"],
76
+ "name": ["labelNameHandler"]
77
+ }; }
71
78
  };
72
79
  CheckboxGroup.style = icCheckboxGroupCss;
73
80
 
@@ -1 +1 @@
1
- {"file":"ic-checkbox-group.entry.cjs.js","mappings":"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","names":["removeDisabledFalse","onComponentRequiredPropUndefined","getInputDescribedByText","hasValidationStatus","h","Host"],"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} 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\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 /**\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 Array.from(this.el.querySelectorAll(\"ic-checkbox\")).forEach((checkbox) => {\n if (!checkbox.name) checkbox.name = this.name;\n checkbox.groupLabel = this.label;\n });\n\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(ev: CustomEvent): void {\n const checkedOptions = Array.from(\n this.el.querySelectorAll(\"ic-checkbox\")\n ).filter((checkbox) => checkbox.checked && !checkbox.disabled);\n this.icChange.emit({\n value: checkedOptions.map((opt) => opt.value),\n checkedOptions: checkedOptions.map((opt) => ({\n checkbox: opt,\n textFieldValue: opt.querySelector(\"ic-text-field\")?.value,\n })),\n selectedOption: ev.target as HTMLIcCheckboxElement,\n });\n }\n\n render() {\n const describedBy = getInputDescribedByText(\n this.name,\n this.helperText !== \"\",\n this.validationStatus !== \"\"\n );\n const hadValidationStatus = hasValidationStatus(\n this.validationStatus,\n this.disabled\n );\n\n return (\n <Host class={{ [\"small\"]: this.small, [`${this.size}`]: true }}>\n {(this.validationStatus === \"error\" ||\n this.required ||\n this.hideLabel) && (\n <span\n id=\"screenReaderOnlyText\"\n class=\"screen-reader-only-text\"\n aria-hidden=\"true\"\n >\n {this.label}{\" \"}\n {this.validationStatus === \"error\" ? \"invalid data \" : null}{\" \"}\n {this.required ? \"required\" : null}\n </span>\n )}\n <fieldset\n id={this.name}\n aria-labelledby={`${\n this.validationStatus === \"error\" || this.required || this.hideLabel\n ? \"screenReaderOnlyText\"\n : \"\"\n } ${describedBy}`.trim()}\n disabled={this.disabled}\n >\n {!this.hideLabel && (\n <legend>\n <ic-input-label\n class={{ [`${this.validationStatus}`]: true }}\n label={this.label}\n helperText={this.helperText}\n required={this.required}\n disabled={this.disabled}\n for={this.name}\n ></ic-input-label>\n </legend>\n )}\n <div class=\"checkboxes-container\">\n <slot></slot>\n </div>\n </fieldset>\n {hadValidationStatus && (\n <ic-input-validation\n for={this.name}\n ariaLiveMode=\"polite\"\n status={this.validationStatus}\n message={this.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\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\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}
@@ -3,17 +3,16 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f982899d.js');
6
- const helpers = require('./helpers-88e018cf.js');
6
+ const helpers = require('./helpers-466a551d.js');
7
7
  require('./types-dc22e301.js');
8
8
 
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-300);border-radius:var(--ic-border-radius);outline:none;cursor:pointer;transition:var(--ic-easing-transition-fast);flex-shrink:0}: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}}";
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(.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}}";
10
10
 
11
11
  const Checkbox = class {
12
12
  constructor(hostRef) {
13
13
  index.registerInstance(this, hostRef);
14
14
  this.checkboxChecked = index.createEvent(this, "checkboxChecked", 7);
15
15
  this.icCheck = index.createEvent(this, "icCheck", 7);
16
- this.IC_TEXT_FIELD = "ic-text-field";
17
16
  this.handleClick = () => {
18
17
  this.checked = !this.checked;
19
18
  this.icCheck.emit();
@@ -44,6 +43,12 @@ const Checkbox = class {
44
43
  componentWillLoad() {
45
44
  helpers.removeDisabledFalse(this.disabled, this.el);
46
45
  helpers.addFormResetListener(this.el, this.handleFormReset);
46
+ const checkboxGroup = this.el.parentElement;
47
+ if (checkboxGroup) {
48
+ if (!this.name)
49
+ this.name = checkboxGroup.name;
50
+ this.groupLabel = checkboxGroup.label;
51
+ }
47
52
  }
48
53
  componentDidLoad() {
49
54
  helpers.onComponentRequiredPropUndefined([
@@ -53,21 +58,18 @@ const Checkbox = class {
53
58
  }
54
59
  componentDidRender() {
55
60
  if (this.additionalFieldDisplay === "static") {
56
- const textfield = this.el.querySelector(this.IC_TEXT_FIELD);
61
+ const textfield = this.el.querySelector("ic-text-field");
57
62
  if (!this.checked) {
58
- textfield && textfield.setAttribute("disabled", "");
63
+ textfield === null || textfield === void 0 ? void 0 : textfield.setAttribute("disabled", "");
59
64
  }
60
65
  else {
61
- textfield && textfield.removeAttribute("disabled");
66
+ textfield === null || textfield === void 0 ? void 0 : textfield.removeAttribute("disabled");
62
67
  }
63
68
  }
64
69
  else if (this.additionalFieldContainer) {
65
- if (!this.checked) {
66
- this.additionalFieldContainer.style.display = "none";
67
- }
68
- else {
69
- this.additionalFieldContainer.style.display = "flex";
70
- }
70
+ this.additionalFieldContainer.style.display = !this.checked
71
+ ? "none"
72
+ : "flex";
71
73
  }
72
74
  }
73
75
  disconnectedCallback() {
@@ -77,28 +79,28 @@ const Checkbox = class {
77
79
  * Sets focus on the checkbox.
78
80
  */
79
81
  async setFocus() {
80
- const checkboxEl = this.el.shadowRoot.querySelector(".checkbox");
81
- if (checkboxEl) {
82
- checkboxEl.focus();
83
- }
82
+ var _a;
83
+ (_a = this.el.shadowRoot.querySelector(".checkbox")) === null || _a === void 0 ? void 0 : _a.focus();
84
84
  }
85
85
  render() {
86
- let id = `ic-checkbox-${helpers.isPropDefined(this.label) ? this.label : this.value}-${this.groupLabel}`;
87
- id = id.replace(/ /g, "-");
88
- const parentElementSize = this.el.parentElement.size;
89
- this.checked
90
- ? helpers.renderHiddenInput(true, this.el, this.name, this.checked && this.value, this.disabled)
91
- : helpers.removeHiddenInput(this.el);
86
+ const { additionalFieldDisplay, checked, disabled, dynamicText, el, form, formaction, formenctype, formmethod, formnovalidate, formtarget, indeterminate, groupLabel, label, name, size, small, value, } = this;
87
+ const id = `ic-checkbox-${helpers.isPropDefined(label) || value}-${groupLabel}`.replace(/ /g, "-");
88
+ const parentElementSize = el.parentElement
89
+ .size;
90
+ checked
91
+ ? helpers.renderHiddenInput(true, el, name, checked && value, disabled)
92
+ : helpers.removeHiddenInput(el);
92
93
  return (index.h(index.Host, { class: {
93
- ["disabled"]: this.disabled,
94
- ["small"]: this.small,
95
- [`${this.size || parentElementSize}`]: true,
96
- } }, index.h("div", { class: "container" }, this.checked && !this.indeterminate && (index.h("svg", { class: "checkmark", width: "1.5rem", height: "1.5rem", 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" }))), this.checked && this.indeterminate && (index.h("div", { class: "indeterminate-symbol" })), index.h("input", { role: "checkbox", class: {
97
- ["checkbox"]: true,
98
- ["checked"]: this.checked,
99
- ["indeterminate"]: this.indeterminate,
100
- }, type: "checkbox", name: this.name, id: id, value: this.value, disabled: this.disabled ? true : null, checked: this.checked, indeterminate: this.indeterminate, onClick: this.handleClick, form: this.form, formaction: this.formaction, formenctype: this.formenctype, formmethod: this.formmethod, formnovalidate: this.formnovalidate, formtarget: this.formtarget }), index.h("ic-typography", { class: "checkbox-label", variant: "body" }, index.h("label", { htmlFor: id }, this.label))), helpers.isSlotUsed(this.el, "additional-field") && (index.h("div", { class: "dynamic-container", ref: (el) => (this.additionalFieldContainer = el) }, this.additionalFieldDisplay === "dynamic" && (index.h("div", { class: "branch-corner" })), index.h("div", null, this.additionalFieldDisplay === "dynamic" && (index.h("ic-typography", { variant: "caption" }, index.h("p", { class: "dynamic-text", "aria-live": "polite" }, this.dynamicText))), index.h("div", { class: {
101
- "additional-field-wrapper": this.additionalFieldDisplay === "static",
94
+ disabled,
95
+ small,
96
+ [`${size || parentElementSize}`]: true,
97
+ } }, index.h("div", { class: "container" }, checked &&
98
+ (!indeterminate ? (index.h("svg", { class: "checkmark", width: "1.5rem", height: "1.5rem", 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("div", { class: "indeterminate-symbol" }))), index.h("input", { role: "checkbox", class: {
99
+ checkbox: true,
100
+ checked,
101
+ indeterminate,
102
+ }, type: "checkbox", name: name, id: id, value: value, disabled: disabled ? true : null, checked: checked, indeterminate: indeterminate, onClick: this.handleClick, form: form, formaction: formaction, formenctype: formenctype, formmethod: formmethod, formnovalidate: formnovalidate, formtarget: formtarget }), 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: {
103
+ "additional-field-wrapper": additionalFieldDisplay === "static",
102
104
  } }, index.h("slot", { name: "additional-field" })))))));
103
105
  }
104
106
  static get delegatesFocus() { return true; }
@@ -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-300);\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(.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} 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 private IC_TEXT_FIELD: string = \"ic-text-field\";\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.\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\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() groupLabel: string;\n\n /**\n * If `true`, the indeterminate state will be displayed when checked.\n */\n @Prop() indeterminate: boolean = false;\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() name: string;\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 * @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\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(this.IC_TEXT_FIELD);\n if (!this.checked) {\n textfield && textfield.setAttribute(\"disabled\", \"\");\n } else {\n textfield && textfield.removeAttribute(\"disabled\");\n }\n } else if (this.additionalFieldContainer) {\n if (!this.checked) {\n this.additionalFieldContainer.style.display = \"none\";\n } else {\n this.additionalFieldContainer.style.display = \"flex\";\n }\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 const checkboxEl: HTMLElement =\n this.el.shadowRoot.querySelector(\".checkbox\");\n if (checkboxEl) {\n checkboxEl.focus();\n }\n }\n\n private handleClick = () => {\n this.checked = !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 let id = `ic-checkbox-${\n isPropDefined(this.label) ? this.label : this.value\n }-${this.groupLabel}`;\n\n id = id.replace(/ /g, \"-\");\n\n const parentElementSize = (\n this.el.parentElement as HTMLIcCheckboxGroupElement\n ).size;\n\n this.checked\n ? renderHiddenInput(\n true,\n this.el,\n this.name,\n this.checked && this.value,\n this.disabled\n )\n : removeHiddenInput(this.el);\n\n return (\n <Host\n class={{\n [\"disabled\"]: this.disabled,\n [\"small\"]: this.small,\n [`${this.size || parentElementSize}`]: true,\n }}\n >\n <div class=\"container\">\n {this.checked && !this.indeterminate && (\n <svg\n class=\"checkmark\"\n width=\"1.5rem\"\n height=\"1.5rem\"\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 {this.checked && this.indeterminate && (\n <div class=\"indeterminate-symbol\" />\n )}\n <input\n role=\"checkbox\"\n class={{\n [\"checkbox\"]: true,\n [\"checked\"]: this.checked,\n [\"indeterminate\"]: this.indeterminate,\n }}\n type=\"checkbox\"\n name={this.name}\n id={id}\n value={this.value}\n disabled={this.disabled ? true : null}\n checked={this.checked}\n indeterminate={this.indeterminate}\n onClick={this.handleClick}\n form={this.form}\n formaction={this.formaction}\n formenctype={this.formenctype}\n formmethod={this.formmethod}\n formnovalidate={this.formnovalidate}\n formtarget={this.formtarget}\n ></input>\n <ic-typography class=\"checkbox-label\" variant=\"body\">\n <label htmlFor={id}>{this.label}</label>\n </ic-typography>\n </div>\n {isSlotUsed(this.el, \"additional-field\") && (\n <div\n class=\"dynamic-container\"\n ref={(el) => (this.additionalFieldContainer = el)}\n >\n {this.additionalFieldDisplay === \"dynamic\" && (\n <div class=\"branch-corner\"></div>\n )}\n <div>\n {this.additionalFieldDisplay === \"dynamic\" && (\n <ic-typography variant=\"caption\">\n <p class=\"dynamic-text\" aria-live=\"polite\">\n {this.dynamicText}\n </p>\n </ic-typography>\n )}\n <div\n class={{\n \"additional-field-wrapper\":\n this.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(.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(.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} 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.\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\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() groupLabel: string;\n\n /**\n * If `true`, the indeterminate state will be displayed when checked.\n */\n @Prop() indeterminate: boolean = false;\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() name: string;\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 * @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.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 indeterminate,\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 {checked &&\n (!indeterminate ? (\n <svg\n class=\"checkmark\"\n width=\"1.5rem\"\n height=\"1.5rem\"\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 <div class=\"indeterminate-symbol\" />\n ))}\n <input\n role=\"checkbox\"\n class={{\n checkbox: true,\n checked,\n indeterminate,\n }}\n type=\"checkbox\"\n name={name}\n id={id}\n value={value}\n disabled={disabled ? true : null}\n checked={checked}\n indeterminate={indeterminate}\n onClick={this.handleClick}\n form={form}\n formaction={formaction}\n formenctype={formenctype}\n formmethod={formmethod}\n formnovalidate={formnovalidate}\n formtarget={formtarget}\n ></input>\n <ic-typography class=\"checkbox-label\" variant=\"body\">\n <label htmlFor={id}>{label}</label>\n </ic-typography>\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}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f982899d.js');
6
- const helpers = require('./helpers-88e018cf.js');
6
+ const helpers = require('./helpers-466a551d.js');
7
7
  require('./types-dc22e301.js');
8
8
 
9
9
  const dismissIcon = `<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
@@ -11,7 +11,7 @@ const dismissIcon = `<svg viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.o
11
11
  </svg>
12
12
  `;
13
13
 
14
- const icChipCss = "/*! 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:inline-block}.chip{display:flex;padding:var(--ic-space-xxs);font-size:0.875rem;border-radius:var(--ic-space-md);text-align:left;text-decoration:none;transition:var(--ic-easing-transition-fast);position:relative}.chip.small{padding:var(--ic-space-xxxs);border-radius:calc(var(--ic-space-md) - var(--ic-space-xxxs))}.chip.large{padding:var(--ic-space-xs);border-radius:calc(var(--ic-space-md) + var(--ic-space-xxs))}.label{padding:0 var(--ic-space-xs)}.chip.hovered:not(:focus-within){background-color:var(--ic-architectural-300)}.chip:focus-within{box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline);z-index:1}.chip.outline.hovered:not(:focus-within),.chip.outlined.hovered:not(:focus-within){background-color:var(--ic-action-dark-bg-hover)}ic-tooltip:focus-within{z-index:1}.filled{background-color:var(--chip-custom-color, var(--ic-architectural-200));color:var(--chip-custom-foreground-color, black);border:none}.filled.disabled{background-color:var(--ic-architectural-100)}.outline,.outlined{color:var(--ic-architectural-900);border:var(--ic-border-width) solid\n var(--chip-custom-color, var(--ic-architectural-900));padding:calc(var(--ic-space-xxs) - var(--ic-space-1px))}.outline.small,.outlined.small{padding:calc(var(--ic-space-xxxs) - var(--ic-space-1px))}.outline.large,.outlined.large{padding:calc(var(--ic-space-xs) - var(--ic-space-1px))}.outline.disabled,.outlined.disabled{border:var(--ic-border-disabled);background:none}.chip.disabled ic-typography{color:var(--ic-architectural-200)}.dismiss-icon{border:none;border-radius:50%;padding:0;background:none;cursor:pointer;margin:var(--ic-space-xxxs);height:calc(var(--ic-space-lg) - var(--ic-space-xxs));width:calc(var(--ic-space-lg) - var(--ic-space-xxs))}.dismiss-icon:focus{outline:var(--ic-hc-focus-outline)}.dismiss-icon[disabled]{pointer-events:none;color:var(--ic-architectural-200)}.icon{padding:var(--ic-space-xxxs);box-sizing:border-box}.icon,ic-tooltip{width:var(--ic-space-lg);height:var(--ic-space-lg)}.chip.disabled path,.chip.disabled ::slotted(svg){fill:var(--ic-architectural-200)}.chip.white-background{background-color:var(--ic-architectural-white)}.chip.white-background.hovered:not(:focus-within){background-color:var(--ic-action-dark-bg-hover-no-alpha) !important}@media (forced-colors: active){.chip{border:var(--ic-hc-border)}.filled.small{padding:calc(var(--ic-space-xxxs) - var(--ic-space-1px))}.filled{padding:calc(var(--ic-space-xxxs) + var(--ic-space-1px))}.filled.large{padding:calc(var(--ic-space-xs) - var(--ic-space-1px))}.chip.disabled{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-color:GrayText}.chip.disabled ic-typography{color:GrayText}.chip.disabled path,.chip.disabled ::slotted(svg){fill:GrayText}.chip:focus-within{outline:none;border-color:Highlight}}";
14
+ const icChipCss = "/*! 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:inline-block}.chip{display:flex;padding:var(--ic-space-xxs);font-size:0.875rem;border-radius:var(--ic-space-md);text-align:left;text-decoration:none;transition:var(--ic-easing-transition-fast);position:relative}.chip.small{padding:var(--ic-space-xxxs);border-radius:calc(var(--ic-space-md) - var(--ic-space-xxxs))}.chip.large{padding:var(--ic-space-xs);border-radius:calc(var(--ic-space-md) + var(--ic-space-xxs))}.label{padding:0 var(--ic-space-xs)}.chip.hovered:not(:focus-within){background-color:var(--ic-architectural-300)}.chip:focus-within{box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline);z-index:1}.chip.outline.hovered:not(:focus-within),.chip.outlined.hovered:not(:focus-within){background-color:var(--ic-action-dark-bg-hover)}ic-tooltip:focus-within{z-index:1}.filled{background-color:var(--chip-custom-color, var(--ic-architectural-200));color:var(--chip-custom-foreground-color, black);border:none}.filled.disabled{background-color:var(--ic-architectural-100)}.outline,.outlined{color:var(--ic-architectural-900);border:var(--ic-border-width) solid\n var(--chip-custom-color, var(--ic-architectural-900));padding:calc(var(--ic-space-xxs) - var(--ic-space-1px))}.outline.small,.outlined.small{padding:calc(var(--ic-space-xxxs) - var(--ic-space-1px))}.outline.large,.outlined.large{padding:calc(var(--ic-space-xs) - var(--ic-space-1px))}.outline.disabled,.outlined.disabled{border:var(--ic-border-disabled);background:none}.chip.disabled ic-typography{color:var(--ic-architectural-500)}.filled.disabled ic-typography{color:var(--ic-architectural-600)}.dismiss-icon{border:none;border-radius:50%;padding:0;background:none;cursor:pointer;margin:var(--ic-space-xxxs);height:calc(var(--ic-space-lg) - var(--ic-space-xxs));width:calc(var(--ic-space-lg) - var(--ic-space-xxs))}.dismiss-icon:focus{outline:var(--ic-hc-focus-outline)}.dismiss-icon[disabled]{pointer-events:none;color:var(--ic-architectural-200)}.icon{padding:var(--ic-space-xxxs);box-sizing:border-box}.icon,ic-tooltip{width:var(--ic-space-lg);height:var(--ic-space-lg)}.chip.disabled path,.chip.disabled ::slotted(svg){fill:var(--ic-architectural-200)}.chip.white-background{background-color:var(--ic-architectural-white)}.chip.white-background.hovered:not(:focus-within){background-color:var(--ic-action-dark-bg-hover-no-alpha) !important}@media (forced-colors: active){.chip{border:var(--ic-hc-border)}.filled.small{padding:calc(var(--ic-space-xxxs) - var(--ic-space-1px))}.filled{padding:calc(var(--ic-space-xxxs) + var(--ic-space-1px))}.filled.large{padding:calc(var(--ic-space-xs) - var(--ic-space-1px))}.chip.disabled{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-color:GrayText}.chip.disabled ic-typography{color:GrayText}.chip.disabled path,.chip.disabled ::slotted(svg){fill:GrayText}.chip:focus-within{outline:none;border-color:Highlight}}";
15
15
 
16
16
  const Chip = class {
17
17
  constructor(hostRef) {
@@ -23,23 +23,20 @@ const Chip = class {
23
23
  this.icDismiss.emit();
24
24
  };
25
25
  this.mouseEnterHandler = () => {
26
- this.isHovered = true;
26
+ this.hovered = true;
27
27
  };
28
28
  this.mouseLeaveHandler = () => {
29
- this.isHovered = false;
29
+ this.hovered = false;
30
30
  };
31
31
  this.setChipColour = () => {
32
- if (helpers.convertToRGBA(this.customColor) !== null) {
33
- const colorRGBA = helpers.convertToRGBA(this.customColor);
34
- const rgbaValue = `rgba(${colorRGBA.r.toString()}, ${colorRGBA.g.toString()}, ${colorRGBA.b.toString()}, ${colorRGBA.a.toString()})`;
35
- const brightness = (colorRGBA.r * 299 + colorRGBA.g * 587 + colorRGBA.b * 114) / 1000;
36
- const foregroundColour = brightness > 133.3505
37
- ? "var(--ic-architectural-black)"
38
- : "var(--ic-architectural-white)";
39
- this.el.setAttribute("style", `--chip-custom-color: ${rgbaValue}; --chip-custom-foreground-color: ${foregroundColour};`);
32
+ const colorRGBA = helpers.convertToRGBA(this.customColor);
33
+ if (colorRGBA) {
34
+ const { r, g, b, a } = colorRGBA;
35
+ const foregroundColour = (r * 299 + g * 587 + b * 114) / 1000 > 133.3505 ? "black" : "white";
36
+ this.el.setAttribute("style", `--chip-custom-color: rgba(${r}, ${g}, ${b}, ${a}); --chip-custom-foreground-color: var(--ic-architectural-${foregroundColour})`);
40
37
  }
41
38
  };
42
- this.isHovered = false;
39
+ this.hovered = false;
43
40
  this.visible = true;
44
41
  this.appearance = undefined;
45
42
  this.customColor = null;
@@ -51,13 +48,13 @@ const Chip = class {
51
48
  this.variant = "filled";
52
49
  }
53
50
  customColorHandler() {
54
- if (!this.dismissible && this.customColor !== null) {
51
+ if (!this.dismissible) {
55
52
  this.setChipColour();
56
53
  }
57
54
  }
58
55
  componentWillLoad() {
59
56
  helpers.removeDisabledFalse(this.disabled, this.el);
60
- if (!this.dismissible && this.customColor !== null) {
57
+ if (!this.dismissible) {
61
58
  this.setChipColour();
62
59
  }
63
60
  if (this.appearance === "outline") {
@@ -65,10 +62,6 @@ const Chip = class {
65
62
  }
66
63
  }
67
64
  componentDidLoad() {
68
- var _a;
69
- this.dismissible &&
70
- ((_a = this.el.shadowRoot
71
- .querySelector("span.ic-tooltip-label")) === null || _a === void 0 ? void 0 : _a.setAttribute("aria-hidden", "true"));
72
65
  helpers.onComponentRequiredPropUndefined([{ prop: this.label, propName: "label" }], "Chip");
73
66
  }
74
67
  handleClick() {
@@ -78,24 +71,21 @@ const Chip = class {
78
71
  * Sets focus on the chip.
79
72
  */
80
73
  async setFocus() {
81
- if (this.el.shadowRoot.querySelector("button")) {
82
- this.el.shadowRoot.querySelector("button").focus();
83
- }
74
+ var _a;
75
+ (_a = this.el.shadowRoot.querySelector("button")) === null || _a === void 0 ? void 0 : _a.focus();
84
76
  }
85
77
  render() {
86
- const { label, appearance, variant, size, dismissible, visible, disabled, isHovered, } = this;
78
+ const { label, appearance, variant, size, dismissible, visible, disabled, hovered, } = this;
87
79
  return (visible && (index.h("div", { class: {
88
- ["chip"]: true,
80
+ chip: true,
89
81
  [`${appearance}`]: appearance !== undefined,
90
82
  [`${variant}`]: true,
91
83
  [`${size}`]: true,
92
- ["disabled"]: disabled,
93
- ["dismissible"]: dismissible,
94
- ["hovered"]: isHovered,
95
- ["white-background"]: this.variant === "outlined" && !this.transparentBackground,
96
- } }, helpers.isSlotUsed(this.el, "icon") && (index.h("div", { class: "icon" }, index.h("slot", { name: "icon" }))), index.h("ic-typography", { variant: "label", "apply-vertical-margins": false, class: "label" }, index.h("span", null, label)), dismissible && (index.h("ic-tooltip", { label: "Dismiss", target: "dismiss-icon", class: { ["tooltip-disabled"]: disabled } }, index.h("button", { id: "dismiss-icon", class: {
97
- ["dismiss-icon"]: true,
98
- }, "aria-label": `Dismiss ${label} chip`, disabled: disabled, tabindex: disabled ? -1 : 0, onClick: this.dismissAction, onMouseEnter: this.mouseEnterHandler, onMouseLeave: this.mouseLeaveHandler, innerHTML: dismissIcon }))), helpers.isSlotUsed(this.el, "badge") && index.h("slot", { name: "badge" }))));
84
+ disabled,
85
+ dismissible,
86
+ hovered,
87
+ "white-background": this.variant === "outlined" && !this.transparentBackground,
88
+ } }, helpers.isSlotUsed(this.el, "icon") && (index.h("div", { class: "icon" }, index.h("slot", { name: "icon" }))), index.h("ic-typography", { variant: "label", "apply-vertical-margins": false, class: "label" }, index.h("span", null, label)), dismissible && (index.h("ic-tooltip", { label: "Dismiss", target: "dismiss-icon", class: { "tooltip-disabled": disabled } }, index.h("button", { id: "dismiss-icon", class: "dismiss-icon", "aria-label": `Dismiss ${label} chip`, disabled: disabled, tabindex: disabled ? -1 : 0, onClick: this.dismissAction, onMouseEnter: this.mouseEnterHandler, onMouseLeave: this.mouseLeaveHandler, innerHTML: dismissIcon }))), helpers.isSlotUsed(this.el, "badge") && index.h("slot", { name: "badge" }))));
99
89
  }
100
90
  static get delegatesFocus() { return true; }
101
91
  get el() { return index.getElement(this); }
@@ -1 +1 @@
1
- {"file":"ic-chip.entry.cjs.js","mappings":"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","names":["convertToRGBA","removeDisabledFalse","onComponentRequiredPropUndefined","h","isSlotUsed"],"sources":["src/components/ic-chip/ic-chip.css?tag=ic-chip&encapsulation=shadow","src/components/ic-chip/ic-chip.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: inline-block;\n}\n\n.chip {\n display: flex;\n padding: var(--ic-space-xxs);\n font-size: 0.875rem;\n border-radius: var(--ic-space-md);\n text-align: left;\n text-decoration: none;\n transition: var(--ic-easing-transition-fast);\n position: relative;\n}\n\n.chip.small {\n padding: var(--ic-space-xxxs);\n border-radius: calc(var(--ic-space-md) - var(--ic-space-xxxs));\n}\n\n.chip.large {\n padding: var(--ic-space-xs);\n border-radius: calc(var(--ic-space-md) + var(--ic-space-xxs));\n}\n\n.label {\n padding: 0 var(--ic-space-xs);\n}\n\n.chip.hovered:not(:focus-within) {\n background-color: var(--ic-architectural-300);\n}\n\n.chip:focus-within {\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n z-index: 1;\n}\n\n.chip.outline.hovered:not(:focus-within),\n.chip.outlined.hovered:not(:focus-within) {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\nic-tooltip:focus-within {\n z-index: 1;\n}\n\n.filled {\n background-color: var(--chip-custom-color, var(--ic-architectural-200));\n color: var(--chip-custom-foreground-color, black);\n border: none;\n}\n\n.filled.disabled {\n background-color: var(--ic-architectural-100);\n}\n\n.outline,\n.outlined {\n color: var(--ic-architectural-900);\n border: var(--ic-border-width) solid\n var(--chip-custom-color, var(--ic-architectural-900));\n padding: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.outline.small,\n.outlined.small {\n padding: calc(var(--ic-space-xxxs) - var(--ic-space-1px));\n}\n\n.outline.large,\n.outlined.large {\n padding: calc(var(--ic-space-xs) - var(--ic-space-1px));\n}\n\n.outline.disabled,\n.outlined.disabled {\n border: var(--ic-border-disabled);\n background: none;\n}\n\n.chip.disabled ic-typography {\n color: var(--ic-architectural-200);\n}\n\n.dismiss-icon {\n border: none;\n border-radius: 50%;\n padding: 0;\n background: none;\n cursor: pointer;\n margin: var(--ic-space-xxxs);\n height: calc(var(--ic-space-lg) - var(--ic-space-xxs));\n width: calc(var(--ic-space-lg) - var(--ic-space-xxs));\n}\n\n.dismiss-icon:focus {\n outline: var(--ic-hc-focus-outline);\n}\n\n.dismiss-icon[disabled] {\n pointer-events: none;\n color: var(--ic-architectural-200);\n}\n\n.icon {\n padding: var(--ic-space-xxxs);\n box-sizing: border-box;\n}\n\n.icon,\nic-tooltip {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n.chip.disabled path,\n.chip.disabled ::slotted(svg) {\n fill: var(--ic-architectural-200);\n}\n\n.chip.white-background {\n background-color: var(--ic-architectural-white);\n}\n\n.chip.white-background.hovered:not(:focus-within) {\n background-color: var(--ic-action-dark-bg-hover-no-alpha) !important;\n}\n\n@media (forced-colors: active) {\n .chip {\n border: var(--ic-hc-border);\n }\n\n .filled.small {\n padding: calc(var(--ic-space-xxxs) - var(--ic-space-1px));\n }\n\n .filled {\n padding: calc(var(--ic-space-xxxs) + var(--ic-space-1px));\n }\n\n .filled.large {\n padding: calc(var(--ic-space-xs) - var(--ic-space-1px));\n }\n\n .chip.disabled {\n appearance: none;\n border-color: GrayText;\n }\n\n .chip.disabled ic-typography {\n color: GrayText;\n }\n\n .chip.disabled path,\n .chip.disabled ::slotted(svg) {\n fill: GrayText;\n }\n\n .chip:focus-within {\n outline: none;\n border-color: Highlight;\n }\n}\n","import {\n Component,\n h,\n Prop,\n State,\n Listen,\n Event,\n EventEmitter,\n Element,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport {\n onComponentRequiredPropUndefined,\n isSlotUsed,\n removeDisabledFalse,\n convertToRGBA,\n} from \"../../utils/helpers\";\nimport { IcChipAppearance } from \"./ic-chip.types\";\nimport { IcColor, IcEmphasisType, IcSizes } from \"../../utils/types\";\nimport dismissIcon from \"../../assets/dismiss-icon.svg\";\n\n/**\n * @slot icon - Content will be rendered at the start of the chip.\n * @slot badge - Badge component overlaying the top right of the chip.\n */\n@Component({\n tag: \"ic-chip\",\n styleUrl: \"ic-chip.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Chip {\n @Element() el: HTMLIcChipElement;\n\n @State() isHovered: boolean = false;\n @State() visible: boolean = true;\n\n /**\n * @deprecated This prop should not be used anymore. Use variant prop instead.\n */\n @Prop() appearance?: IcChipAppearance;\n\n /**\n * The custom chip colour. This prop will be applied to the chip component if `dismissible` is set to `false`.\n * Can be a hex value e.g. \"#ff0000\", RGB e.g. \"rgb(255, 0, 0)\", or RGBA e.g. \"rgba(255, 0, 0, 1)\".\n */\n @Prop() customColor?: IcColor = null;\n\n @Watch(\"customColor\")\n customColorHandler(): void {\n if (!this.dismissible && this.customColor !== null) {\n this.setChipColour();\n }\n }\n\n /**\n * If `true`, the chip will appear disabled.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If `true`, the chip will have a close button at the end to dismiss it.\n */\n @Prop() dismissible?: boolean = false;\n\n /**\n * The text rendered within the chip.\n */\n @Prop() label!: string;\n\n /**\n * The size of the chip.\n */\n @Prop() size?: IcSizes = \"default\";\n\n /**\n * If `true`, the outlined variant of chip will have a transparent background rather than white.\n */\n @Prop() transparentBackground?: boolean = true;\n\n /**\n * The emphasis of the chip.\n */\n @Prop() variant?: IcEmphasisType = \"filled\";\n\n /**\n * @deprecated This event should not be used anymore. Use icDismiss instead.\n */\n @Event() dismiss: EventEmitter<void>;\n\n /**\n * Is emitted when the user dismisses the chip.\n */\n @Event() icDismiss: EventEmitter<void>;\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n\n if (!this.dismissible && this.customColor !== null) {\n this.setChipColour();\n }\n\n if (this.appearance === \"outline\") {\n this.variant = \"outlined\";\n }\n }\n\n componentDidLoad(): void {\n this.dismissible &&\n this.el.shadowRoot\n .querySelector(\"span.ic-tooltip-label\")\n ?.setAttribute(\"aria-hidden\", \"true\");\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Chip\"\n );\n }\n\n @Listen(\"icDismiss\", { capture: true })\n handleClick(): void {\n this.visible = !this.visible;\n }\n\n /**\n * Sets focus on the chip.\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.el.shadowRoot.querySelector(\"button\")) {\n this.el.shadowRoot.querySelector(\"button\").focus();\n }\n }\n\n private dismissAction = (): void => {\n this.dismiss.emit();\n this.icDismiss.emit();\n };\n\n private mouseEnterHandler = (): void => {\n this.isHovered = true;\n };\n\n private mouseLeaveHandler = (): void => {\n this.isHovered = false;\n };\n\n private setChipColour = () => {\n if (convertToRGBA(this.customColor) !== null) {\n const colorRGBA = convertToRGBA(this.customColor);\n const rgbaValue = `rgba(${colorRGBA.r.toString()}, ${colorRGBA.g.toString()}, ${colorRGBA.b.toString()}, ${colorRGBA.a.toString()})`;\n\n const brightness =\n (colorRGBA.r * 299 + colorRGBA.g * 587 + colorRGBA.b * 114) / 1000;\n const foregroundColour =\n brightness > 133.3505\n ? \"var(--ic-architectural-black)\"\n : \"var(--ic-architectural-white)\";\n\n this.el.setAttribute(\n \"style\",\n `--chip-custom-color: ${rgbaValue}; --chip-custom-foreground-color: ${foregroundColour};`\n );\n }\n };\n\n render() {\n const {\n label,\n appearance,\n variant,\n size,\n dismissible,\n visible,\n disabled,\n isHovered,\n } = this;\n\n return (\n visible && (\n <div\n class={{\n [\"chip\"]: true,\n [`${appearance}`]: appearance !== undefined,\n [`${variant}`]: true,\n [`${size}`]: true,\n [\"disabled\"]: disabled,\n [\"dismissible\"]: dismissible,\n [\"hovered\"]: isHovered,\n [\"white-background\"]:\n this.variant === \"outlined\" && !this.transparentBackground,\n }}\n >\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon\">\n <slot name=\"icon\" />\n </div>\n )}\n <ic-typography\n variant=\"label\"\n apply-vertical-margins={false}\n class=\"label\"\n >\n <span>{label}</span>\n </ic-typography>\n {dismissible && (\n <ic-tooltip\n label=\"Dismiss\"\n target=\"dismiss-icon\"\n class={{ [\"tooltip-disabled\"]: disabled }}\n >\n <button\n id=\"dismiss-icon\"\n class={{\n [\"dismiss-icon\"]: true,\n }}\n aria-label={`Dismiss ${label} chip`}\n disabled={disabled}\n tabindex={disabled ? -1 : 0}\n onClick={this.dismissAction}\n onMouseEnter={this.mouseEnterHandler}\n onMouseLeave={this.mouseLeaveHandler}\n innerHTML={dismissIcon}\n ></button>\n </ic-tooltip>\n )}\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n </div>\n )\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-chip.entry.cjs.js","mappings":"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","names":["convertToRGBA","removeDisabledFalse","onComponentRequiredPropUndefined","h","isSlotUsed"],"sources":["src/components/ic-chip/ic-chip.css?tag=ic-chip&encapsulation=shadow","src/components/ic-chip/ic-chip.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: inline-block;\n}\n\n.chip {\n display: flex;\n padding: var(--ic-space-xxs);\n font-size: 0.875rem;\n border-radius: var(--ic-space-md);\n text-align: left;\n text-decoration: none;\n transition: var(--ic-easing-transition-fast);\n position: relative;\n}\n\n.chip.small {\n padding: var(--ic-space-xxxs);\n border-radius: calc(var(--ic-space-md) - var(--ic-space-xxxs));\n}\n\n.chip.large {\n padding: var(--ic-space-xs);\n border-radius: calc(var(--ic-space-md) + var(--ic-space-xxs));\n}\n\n.label {\n padding: 0 var(--ic-space-xs);\n}\n\n.chip.hovered:not(:focus-within) {\n background-color: var(--ic-architectural-300);\n}\n\n.chip:focus-within {\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n z-index: 1;\n}\n\n.chip.outline.hovered:not(:focus-within),\n.chip.outlined.hovered:not(:focus-within) {\n background-color: var(--ic-action-dark-bg-hover);\n}\n\nic-tooltip:focus-within {\n z-index: 1;\n}\n\n.filled {\n background-color: var(--chip-custom-color, var(--ic-architectural-200));\n color: var(--chip-custom-foreground-color, black);\n border: none;\n}\n\n.filled.disabled {\n background-color: var(--ic-architectural-100);\n}\n\n.outline,\n.outlined {\n color: var(--ic-architectural-900);\n border: var(--ic-border-width) solid\n var(--chip-custom-color, var(--ic-architectural-900));\n padding: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.outline.small,\n.outlined.small {\n padding: calc(var(--ic-space-xxxs) - var(--ic-space-1px));\n}\n\n.outline.large,\n.outlined.large {\n padding: calc(var(--ic-space-xs) - var(--ic-space-1px));\n}\n\n.outline.disabled,\n.outlined.disabled {\n border: var(--ic-border-disabled);\n background: none;\n}\n\n.chip.disabled ic-typography {\n color: var(--ic-architectural-500);\n}\n\n.filled.disabled ic-typography {\n color: var(--ic-architectural-600);\n}\n\n.dismiss-icon {\n border: none;\n border-radius: 50%;\n padding: 0;\n background: none;\n cursor: pointer;\n margin: var(--ic-space-xxxs);\n height: calc(var(--ic-space-lg) - var(--ic-space-xxs));\n width: calc(var(--ic-space-lg) - var(--ic-space-xxs));\n}\n\n.dismiss-icon:focus {\n outline: var(--ic-hc-focus-outline);\n}\n\n.dismiss-icon[disabled] {\n pointer-events: none;\n color: var(--ic-architectural-200);\n}\n\n.icon {\n padding: var(--ic-space-xxxs);\n box-sizing: border-box;\n}\n\n.icon,\nic-tooltip {\n width: var(--ic-space-lg);\n height: var(--ic-space-lg);\n}\n\n.chip.disabled path,\n.chip.disabled ::slotted(svg) {\n fill: var(--ic-architectural-200);\n}\n\n.chip.white-background {\n background-color: var(--ic-architectural-white);\n}\n\n.chip.white-background.hovered:not(:focus-within) {\n background-color: var(--ic-action-dark-bg-hover-no-alpha) !important;\n}\n\n@media (forced-colors: active) {\n .chip {\n border: var(--ic-hc-border);\n }\n\n .filled.small {\n padding: calc(var(--ic-space-xxxs) - var(--ic-space-1px));\n }\n\n .filled {\n padding: calc(var(--ic-space-xxxs) + var(--ic-space-1px));\n }\n\n .filled.large {\n padding: calc(var(--ic-space-xs) - var(--ic-space-1px));\n }\n\n .chip.disabled {\n appearance: none;\n border-color: GrayText;\n }\n\n .chip.disabled ic-typography {\n color: GrayText;\n }\n\n .chip.disabled path,\n .chip.disabled ::slotted(svg) {\n fill: GrayText;\n }\n\n .chip:focus-within {\n outline: none;\n border-color: Highlight;\n }\n}\n","import {\n Component,\n h,\n Prop,\n State,\n Listen,\n Event,\n EventEmitter,\n Element,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport {\n onComponentRequiredPropUndefined,\n isSlotUsed,\n removeDisabledFalse,\n convertToRGBA,\n} from \"../../utils/helpers\";\nimport { IcChipAppearance } from \"./ic-chip.types\";\nimport { IcColor, IcEmphasisType, IcSizes } from \"../../utils/types\";\nimport dismissIcon from \"../../assets/dismiss-icon.svg\";\n\n/**\n * @slot icon - Content will be rendered at the start of the chip.\n * @slot badge - Badge component overlaying the top right of the chip.\n */\n@Component({\n tag: \"ic-chip\",\n styleUrl: \"ic-chip.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Chip {\n @Element() el: HTMLIcChipElement;\n\n @State() hovered: boolean = false;\n @State() visible: boolean = true;\n\n /**\n * @deprecated This prop should not be used anymore. Use variant prop instead.\n */\n @Prop() appearance?: IcChipAppearance;\n\n /**\n * The custom chip colour. This prop will be applied to the chip component if `dismissible` is set to `false`.\n * Can be a hex value e.g. \"#ff0000\", RGB e.g. \"rgb(255, 0, 0)\", or RGBA e.g. \"rgba(255, 0, 0, 1)\".\n */\n @Prop() customColor?: IcColor = null;\n\n @Watch(\"customColor\")\n customColorHandler(): void {\n if (!this.dismissible) {\n this.setChipColour();\n }\n }\n\n /**\n * If `true`, the chip will appear disabled.\n */\n @Prop() disabled?: boolean = false;\n\n /**\n * If `true`, the chip will have a close button at the end to dismiss it.\n */\n @Prop() dismissible?: boolean = false;\n\n /**\n * The text rendered within the chip.\n */\n @Prop() label!: string;\n\n /**\n * The size of the chip.\n */\n @Prop() size?: IcSizes = \"default\";\n\n /**\n * If `true`, the outlined variant of chip will have a transparent background rather than white.\n */\n @Prop() transparentBackground?: boolean = true;\n\n /**\n * The emphasis of the chip.\n */\n @Prop() variant?: IcEmphasisType = \"filled\";\n\n /**\n * @deprecated This event should not be used anymore. Use icDismiss instead.\n */\n @Event() dismiss: EventEmitter<void>;\n\n /**\n * Is emitted when the user dismisses the chip.\n */\n @Event() icDismiss: EventEmitter<void>;\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n\n if (!this.dismissible) {\n this.setChipColour();\n }\n\n if (this.appearance === \"outline\") {\n this.variant = \"outlined\";\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Chip\"\n );\n }\n\n @Listen(\"icDismiss\", { capture: true })\n handleClick(): void {\n this.visible = !this.visible;\n }\n\n /**\n * Sets focus on the chip.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.el.shadowRoot.querySelector(\"button\")?.focus();\n }\n\n private dismissAction = (): void => {\n this.dismiss.emit();\n this.icDismiss.emit();\n };\n\n private mouseEnterHandler = (): void => {\n this.hovered = true;\n };\n\n private mouseLeaveHandler = (): void => {\n this.hovered = false;\n };\n\n private setChipColour = () => {\n const colorRGBA = convertToRGBA(this.customColor);\n if (colorRGBA) {\n const { r, g, b, a } = colorRGBA;\n const foregroundColour =\n (r * 299 + g * 587 + b * 114) / 1000 > 133.3505 ? \"black\" : \"white\";\n this.el.setAttribute(\n \"style\",\n `--chip-custom-color: rgba(${r}, ${g}, ${b}, ${a}); --chip-custom-foreground-color: var(--ic-architectural-${foregroundColour})`\n );\n }\n };\n\n render() {\n const {\n label,\n appearance,\n variant,\n size,\n dismissible,\n visible,\n disabled,\n hovered,\n } = this;\n\n return (\n visible && (\n <div\n class={{\n chip: true,\n [`${appearance}`]: appearance !== undefined,\n [`${variant}`]: true,\n [`${size}`]: true,\n disabled,\n dismissible,\n hovered,\n \"white-background\":\n this.variant === \"outlined\" && !this.transparentBackground,\n }}\n >\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon\">\n <slot name=\"icon\" />\n </div>\n )}\n <ic-typography\n variant=\"label\"\n apply-vertical-margins={false}\n class=\"label\"\n >\n <span>{label}</span>\n </ic-typography>\n {dismissible && (\n <ic-tooltip\n label=\"Dismiss\"\n target=\"dismiss-icon\"\n class={{ \"tooltip-disabled\": disabled }}\n >\n <button\n id=\"dismiss-icon\"\n class=\"dismiss-icon\"\n aria-label={`Dismiss ${label} chip`}\n disabled={disabled}\n tabindex={disabled ? -1 : 0}\n onClick={this.dismissAction}\n onMouseEnter={this.mouseEnterHandler}\n onMouseLeave={this.mouseLeaveHandler}\n innerHTML={dismissIcon}\n ></button>\n </ic-tooltip>\n )}\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n </div>\n )\n );\n }\n}\n"],"version":3}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-f982899d.js');
6
- const helpers = require('./helpers-88e018cf.js');
6
+ const helpers = require('./helpers-466a551d.js');
7
7
  require('./types-dc22e301.js');
8
8
 
9
9
  const icDataRowCss = "/*! 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{position:relative;display:block}.data{display:flex;align-items:center}.text-cells{display:flex;flex-grow:1;min-width:0}.label{width:12.5rem;min-width:12.5rem;margin-right:var(--ic-space-md);color:var(--ic-color-tertiary-text)}.value{flex-grow:1}slot[name=\"value\"]::slotted(ic-text-field[readonly][hide-label]){margin-top:calc(var(--ic-space-xs) * -1)}slot[name=\"value\"]::slotted(ic-text-field[small][readonly][hide-label]){margin-top:calc(var(--ic-space-xxs) * -1)}slot[name=\"value\"]::slotted(ic-text-field[readonly][hide-label][rows]){margin-top:calc(var(--ic-space-xxs) * -1 - var(--ic-space-xxxs))}.end-component{width:-moz-fit-content;width:fit-content;margin-left:3.5rem}.divider{margin-top:var(--ic-space-md);height:var(--ic-border-width);background-color:var(--ic-architectural-300)}:host(.small) .divider{margin-top:var(--ic-space-xs)}:host(.breakpoint-medium) .label{width:10rem;min-width:10rem}:host(.breakpoint-xs) .text-cells{flex-direction:column}:host(.breakpoint-xs) .label{width:8rem;margin-bottom:var(--ic-space-xs)}:host(.breakpoint-xs) .value{max-width:95%}:host(.breakpoint-xs) .end-component{margin-left:0}@media (forced-colors: active){.divider{background-color:canvastext}}";