@ukic/web-components 3.20.0 → 3.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (642) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-3a796e7a.js → helpers-81cd6930.js} +3 -16
  3. package/dist/cjs/helpers-81cd6930.js.map +1 -0
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-accordion.cjs.entry.js +17 -10
  6. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-action-chip.cjs.entry.js +7 -3
  8. package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-back-to-top.cjs.entry.js +2 -2
  11. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  12. package/dist/cjs/ic-badge.cjs.entry.js +2 -2
  13. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -2
  15. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  17. package/dist/cjs/ic-button_3.cjs.entry.js +7 -7
  18. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-card-horizontal.cjs.entry.js +174 -0
  20. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -0
  21. package/dist/cjs/ic-card-vertical.cjs.entry.js +2 -2
  22. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-checkbox-group.cjs.entry.js +3 -3
  24. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-checkbox.cjs.entry.js +6 -6
  26. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-chip.cjs.entry.js +7 -3
  28. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-classification-banner.cjs.entry.js +13 -5
  30. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  31. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  32. package/dist/cjs/ic-data-row.cjs.entry.js +3 -3
  33. package/dist/cjs/ic-dialog.cjs.entry.js +2 -2
  34. package/dist/cjs/ic-divider.cjs.entry.js +17 -8
  35. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-empty-state.cjs.entry.js +3 -3
  37. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  38. package/dist/cjs/ic-footer-link.cjs.entry.js +4 -4
  39. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-hero.cjs.entry.js +5 -5
  42. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +7 -7
  43. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +218 -86
  45. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-input-label_2.cjs.entry.js +17 -12
  47. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +2 -2
  49. package/dist/cjs/ic-layout-grid.cjs.entry.js +2 -2
  50. package/dist/cjs/ic-link.cjs.entry.js +3 -3
  51. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  53. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  54. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  55. package/dist/cjs/ic-navigation-group.cjs.entry.js +3 -3
  56. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-navigation-item.cjs.entry.js +7 -5
  58. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
  60. package/dist/cjs/ic-page-header.cjs.entry.js +8 -8
  61. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-pagination-bar.cjs.entry.js +389 -0
  63. package/dist/cjs/ic-pagination-bar.cjs.entry.js.map +1 -0
  64. package/dist/cjs/ic-pagination-item.cjs.entry.js +3 -3
  65. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-pagination_3.cjs.entry.js +1412 -0
  67. package/dist/cjs/ic-pagination_3.cjs.entry.js.map +1 -0
  68. package/dist/cjs/ic-popover-menu.cjs.entry.js +5 -5
  69. package/dist/cjs/ic-radio-group.cjs.entry.js +5 -5
  70. package/dist/cjs/ic-radio-option.cjs.entry.js +6 -6
  71. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-search-bar.cjs.entry.js +12 -12
  73. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  75. package/dist/cjs/ic-side-navigation.cjs.entry.js +30 -15
  76. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  77. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  78. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  79. package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
  80. package/dist/cjs/ic-step.cjs.entry.js +14 -14
  81. package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
  82. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-switch.cjs.entry.js +6 -6
  84. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  85. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -2
  86. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  87. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  88. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  89. package/dist/cjs/ic-tab.cjs.entry.js +2 -2
  90. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  91. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  92. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  93. package/dist/cjs/ic-toast.cjs.entry.js +8 -7
  94. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  95. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +4 -4
  96. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  97. package/dist/cjs/ic-toggle-button.cjs.entry.js +3 -3
  98. package/dist/cjs/ic-top-navigation.cjs.entry.js +2 -2
  99. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  100. package/dist/cjs/ic-typography.cjs.entry.js +2 -2
  101. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  102. package/dist/cjs/index-d337cd8a.js +16 -16
  103. package/dist/cjs/loader.cjs.js +1 -1
  104. package/dist/collection/collection-manifest.json +3 -1
  105. package/dist/collection/components/ic-accordion/ic-accordion.css +6 -0
  106. package/dist/collection/components/ic-accordion/ic-accordion.js +15 -8
  107. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  108. package/dist/collection/components/ic-action-chip/ic-action-chip.css +15 -2
  109. package/dist/collection/components/ic-action-chip/ic-action-chip.js +5 -1
  110. package/dist/collection/components/ic-action-chip/ic-action-chip.js.map +1 -1
  111. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +7 -0
  112. package/dist/collection/components/ic-badge/ic-badge.css +6 -0
  113. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.css +8 -0
  114. package/dist/collection/components/ic-button/ic-button.css +7 -0
  115. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +728 -0
  116. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +512 -0
  117. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -0
  118. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.stories.js +876 -0
  119. package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +7 -0
  120. package/dist/collection/components/ic-card-vertical/ic-card-vertical.stories.js +1 -1
  121. package/dist/collection/components/ic-checkbox/ic-checkbox.css +7 -5
  122. package/dist/collection/components/ic-checkbox/ic-checkbox.js +4 -5
  123. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  124. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +3 -3
  125. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  126. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +35 -0
  127. package/dist/collection/components/ic-chip/ic-chip.css +15 -3
  128. package/dist/collection/components/ic-chip/ic-chip.js +5 -1
  129. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  130. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +33 -5
  131. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  132. package/dist/collection/components/ic-classification-banner/ic-classification-banner.stories.js +32 -0
  133. package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
  134. package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
  135. package/dist/collection/components/ic-dialog/ic-dialog.js +1 -1
  136. package/dist/collection/components/ic-divider/ic-divider.js +16 -7
  137. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  138. package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
  139. package/dist/collection/components/ic-footer-link/ic-footer-link.css +6 -0
  140. package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
  141. package/dist/collection/components/ic-hero/ic-hero.js +4 -4
  142. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +6 -0
  143. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
  144. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +7 -0
  145. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
  146. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  147. package/dist/collection/components/ic-input-label/ic-input-label.js +16 -8
  148. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  149. package/dist/collection/components/ic-input-validation/ic-input-validation.js +3 -3
  150. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js +2 -2
  151. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js +2 -2
  152. package/dist/collection/components/ic-link/ic-link.css +7 -0
  153. package/dist/collection/components/ic-link/ic-link.js +1 -1
  154. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +5 -5
  155. package/dist/collection/components/ic-menu/ic-menu.css +12 -1
  156. package/dist/collection/components/ic-menu/ic-menu.js +184 -53
  157. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  158. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  159. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +9 -0
  160. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
  161. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +41 -0
  162. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +5 -3
  163. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  164. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  165. package/dist/collection/components/ic-page-header/ic-page-header.css +1 -2
  166. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  167. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  168. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.css +104 -0
  169. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js +895 -0
  170. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.js.map +1 -0
  171. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.stories.js +215 -0
  172. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js +2 -0
  173. package/dist/collection/components/ic-pagination-bar/ic-pagination-bar.types.js.map +1 -0
  174. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +6 -0
  175. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  176. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -4
  177. package/dist/collection/components/ic-radio-group/ic-radio-group.js +4 -4
  178. package/dist/collection/components/ic-radio-option/ic-radio-option.css +6 -0
  179. package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
  180. package/dist/collection/components/ic-search-bar/ic-search-bar.css +6 -0
  181. package/dist/collection/components/ic-search-bar/ic-search-bar.js +10 -11
  182. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  183. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  184. package/dist/collection/components/ic-select/ic-select.css +9 -2
  185. package/dist/collection/components/ic-select/ic-select.js +414 -589
  186. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  187. package/dist/collection/components/ic-select/ic-select.types.js +2 -0
  188. package/dist/collection/components/ic-select/ic-select.types.js.map +1 -0
  189. package/dist/collection/components/ic-select/ic-select_(searchable).stories.js +26 -21
  190. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +46 -21
  191. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +29 -14
  192. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  193. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  194. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  195. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  196. package/dist/collection/components/ic-step/ic-step.js +13 -13
  197. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  198. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  199. package/dist/collection/components/ic-switch/ic-switch.css +7 -0
  200. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  201. package/dist/collection/components/ic-tab/ic-tab.css +6 -0
  202. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -2
  203. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  204. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  205. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  206. package/dist/collection/components/ic-text-field/ic-text-field.js +5 -5
  207. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  208. package/dist/collection/components/ic-toast/ic-toast.js +7 -6
  209. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -1
  210. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  211. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
  212. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.css +6 -0
  213. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
  214. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +8 -4
  215. package/dist/collection/components/ic-top-navigation/ic-top-navigation.stories.js +100 -0
  216. package/dist/collection/components/ic-typography/ic-typography.css +6 -0
  217. package/dist/collection/utils/helpers.js +2 -15
  218. package/dist/collection/utils/helpers.js.map +1 -1
  219. package/dist/collection/utils/types.js.map +1 -1
  220. package/dist/components/helpers.js +3 -16
  221. package/dist/components/helpers.js.map +1 -1
  222. package/dist/components/ic-accordion.js +16 -9
  223. package/dist/components/ic-accordion.js.map +1 -1
  224. package/dist/components/ic-action-chip.js +6 -2
  225. package/dist/components/ic-action-chip.js.map +1 -1
  226. package/dist/components/ic-back-to-top.js +1 -1
  227. package/dist/components/ic-back-to-top.js.map +1 -1
  228. package/dist/components/ic-badge.js +1 -1
  229. package/dist/components/ic-badge.js.map +1 -1
  230. package/dist/components/ic-breadcrumb-group.js +1 -1
  231. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  232. package/dist/components/ic-button2.js +1 -1
  233. package/dist/components/ic-button2.js.map +1 -1
  234. package/dist/components/ic-card-horizontal.d.ts +11 -0
  235. package/dist/components/ic-card-horizontal.js +214 -0
  236. package/dist/components/ic-card-horizontal.js.map +1 -0
  237. package/dist/components/ic-card-vertical.js +1 -1
  238. package/dist/components/ic-card-vertical.js.map +1 -1
  239. package/dist/components/ic-checkbox-group.js +2 -2
  240. package/dist/components/ic-checkbox-group.js.map +1 -1
  241. package/dist/components/ic-checkbox.js +5 -5
  242. package/dist/components/ic-checkbox.js.map +1 -1
  243. package/dist/components/ic-chip.js +6 -2
  244. package/dist/components/ic-chip.js.map +1 -1
  245. package/dist/components/ic-classification-banner.js +14 -5
  246. package/dist/components/ic-classification-banner.js.map +1 -1
  247. package/dist/components/ic-data-list.js +2 -2
  248. package/dist/components/ic-data-row.js +2 -2
  249. package/dist/components/ic-dialog.js +1 -1
  250. package/dist/components/ic-divider2.js +17 -8
  251. package/dist/components/ic-divider2.js.map +1 -1
  252. package/dist/components/ic-empty-state.js +2 -2
  253. package/dist/components/ic-footer-link.js +3 -3
  254. package/dist/components/ic-footer-link.js.map +1 -1
  255. package/dist/components/ic-hero.js +4 -4
  256. package/dist/components/ic-horizontal-scroll2.js +6 -6
  257. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  258. package/dist/components/ic-input-component-container2.js +4 -4
  259. package/dist/components/ic-input-component-container2.js.map +1 -1
  260. package/dist/components/ic-input-container2.js +2 -2
  261. package/dist/components/ic-input-label2.js +13 -8
  262. package/dist/components/ic-input-label2.js.map +1 -1
  263. package/dist/components/ic-input-validation2.js +3 -3
  264. package/dist/components/ic-layout-grid-item.js +2 -2
  265. package/dist/components/ic-layout-grid.js +2 -2
  266. package/dist/components/ic-link2.js +2 -2
  267. package/dist/components/ic-link2.js.map +1 -1
  268. package/dist/components/ic-loading-indicator2.js +5 -5
  269. package/dist/components/ic-menu-group.js +1 -1
  270. package/dist/components/ic-menu2.js +213 -79
  271. package/dist/components/ic-menu2.js.map +1 -1
  272. package/dist/components/ic-navigation-group.js +2 -2
  273. package/dist/components/ic-navigation-group.js.map +1 -1
  274. package/dist/components/ic-navigation-item.js +6 -4
  275. package/dist/components/ic-navigation-item.js.map +1 -1
  276. package/dist/components/ic-navigation-menu2.js +4 -4
  277. package/dist/components/ic-page-header.js +7 -7
  278. package/dist/components/ic-page-header.js.map +1 -1
  279. package/dist/components/ic-pagination-bar.d.ts +11 -0
  280. package/dist/components/ic-pagination-bar.js +523 -0
  281. package/dist/components/ic-pagination-bar.js.map +1 -0
  282. package/dist/components/ic-pagination-item2.js +2 -2
  283. package/dist/components/ic-pagination-item2.js.map +1 -1
  284. package/dist/components/ic-pagination.js +1 -375
  285. package/dist/components/ic-pagination.js.map +1 -1
  286. package/dist/{esm/ic-pagination.entry.js → components/ic-pagination2.js} +86 -15
  287. package/dist/components/ic-pagination2.js.map +1 -0
  288. package/dist/components/ic-popover-menu.js +4 -4
  289. package/dist/components/ic-popover-menu.js.map +1 -1
  290. package/dist/components/ic-radio-group.js +4 -4
  291. package/dist/components/ic-radio-option.js +5 -5
  292. package/dist/components/ic-radio-option.js.map +1 -1
  293. package/dist/components/ic-search-bar.js +12 -12
  294. package/dist/components/ic-search-bar.js.map +1 -1
  295. package/dist/components/ic-section-container2.js +2 -2
  296. package/dist/components/ic-select.js +1 -994
  297. package/dist/components/ic-select.js.map +1 -1
  298. package/dist/components/ic-select2.js +804 -0
  299. package/dist/components/ic-select2.js.map +1 -0
  300. package/dist/components/ic-side-navigation.js +30 -15
  301. package/dist/components/ic-side-navigation.js.map +1 -1
  302. package/dist/components/ic-skeleton.js +2 -2
  303. package/dist/components/ic-skip-link.js +2 -2
  304. package/dist/components/ic-status-tag.js +2 -2
  305. package/dist/components/ic-step.js +13 -13
  306. package/dist/components/ic-stepper.js +2 -2
  307. package/dist/components/ic-stepper.js.map +1 -1
  308. package/dist/components/ic-switch.js +5 -5
  309. package/dist/components/ic-switch.js.map +1 -1
  310. package/dist/components/ic-tab-context.js +1 -2
  311. package/dist/components/ic-tab-context.js.map +1 -1
  312. package/dist/components/ic-tab-group.js +2 -2
  313. package/dist/components/ic-tab-panel.js +2 -2
  314. package/dist/components/ic-tab-panel.js.map +1 -1
  315. package/dist/components/ic-tab.js +1 -1
  316. package/dist/components/ic-tab.js.map +1 -1
  317. package/dist/components/ic-text-field.js +1 -528
  318. package/dist/components/ic-text-field.js.map +1 -1
  319. package/dist/{esm/ic-text-field.entry.js → components/ic-text-field2.js} +119 -16
  320. package/dist/components/ic-text-field2.js.map +1 -0
  321. package/dist/components/ic-theme.js +1 -1
  322. package/dist/components/ic-toast-region.js +1 -1
  323. package/dist/components/ic-toast.js +7 -6
  324. package/dist/components/ic-toast.js.map +1 -1
  325. package/dist/components/ic-toggle-button-group.js +3 -3
  326. package/dist/components/ic-toggle-button-group.js.map +1 -1
  327. package/dist/components/ic-toggle-button.js +2 -2
  328. package/dist/components/ic-top-navigation.js +1 -1
  329. package/dist/components/ic-top-navigation.js.map +1 -1
  330. package/dist/components/ic-typography2.js +1 -1
  331. package/dist/components/ic-typography2.js.map +1 -1
  332. package/dist/core/core.esm.js +1 -1
  333. package/dist/core/core.esm.js.map +1 -1
  334. package/dist/core/p-05fd2707.entry.js +2 -0
  335. package/dist/core/p-05fd2707.entry.js.map +1 -0
  336. package/dist/core/{p-ba4abeac.entry.js → p-09505807.entry.js} +2 -2
  337. package/dist/core/{p-8f45f956.entry.js → p-09caf7ed.entry.js} +2 -2
  338. package/dist/core/p-09caf7ed.entry.js.map +1 -0
  339. package/dist/core/{p-8b1567c9.entry.js → p-0b728f50.entry.js} +2 -2
  340. package/dist/core/p-0b728f50.entry.js.map +1 -0
  341. package/dist/core/p-0fb7f915.entry.js +2 -0
  342. package/dist/core/p-0fb7f915.entry.js.map +1 -0
  343. package/dist/core/p-1b81ec88.entry.js +2 -0
  344. package/dist/core/p-1b81ec88.entry.js.map +1 -0
  345. package/dist/core/{p-3582c7df.entry.js → p-2691cc80.entry.js} +2 -2
  346. package/dist/core/p-2691cc80.entry.js.map +1 -0
  347. package/dist/core/{p-fe0153ec.entry.js → p-2a124daf.entry.js} +2 -2
  348. package/dist/core/{p-f5fd4a76.entry.js → p-2b87c592.entry.js} +2 -2
  349. package/dist/core/p-2b87c592.entry.js.map +1 -0
  350. package/dist/core/{p-c7f8547d.entry.js → p-2bd80913.entry.js} +2 -2
  351. package/dist/core/p-2bd80913.entry.js.map +1 -0
  352. package/dist/core/{p-aed1c7e7.entry.js → p-347cc084.entry.js} +2 -2
  353. package/dist/core/p-393af2bc.entry.js +2 -0
  354. package/dist/core/p-393af2bc.entry.js.map +1 -0
  355. package/dist/core/{p-b5e39585.entry.js → p-3aed13ba.entry.js} +2 -2
  356. package/dist/core/{p-276a6c8f.entry.js → p-46fd555f.entry.js} +2 -2
  357. package/dist/core/p-48a628f0.entry.js +2 -0
  358. package/dist/core/{p-23dc27a8.entry.js.map → p-48a628f0.entry.js.map} +1 -1
  359. package/dist/core/p-4f56acff.entry.js +2 -0
  360. package/dist/core/p-4f56acff.entry.js.map +1 -0
  361. package/dist/core/{p-86989873.entry.js → p-506d428a.entry.js} +2 -2
  362. package/dist/core/p-506d428a.entry.js.map +1 -0
  363. package/dist/core/p-50dca790.entry.js +2 -0
  364. package/dist/core/p-50dca790.entry.js.map +1 -0
  365. package/dist/core/p-53ab3c0f.entry.js +2 -0
  366. package/dist/core/p-53ab3c0f.entry.js.map +1 -0
  367. package/dist/core/{p-889bb8db.entry.js → p-56de4f4b.entry.js} +2 -2
  368. package/dist/core/p-5900cb65.entry.js +2 -0
  369. package/dist/core/p-5900cb65.entry.js.map +1 -0
  370. package/dist/core/{p-608b4912.entry.js → p-5976de6e.entry.js} +2 -2
  371. package/dist/core/{p-cf056074.entry.js → p-61d79fc6.entry.js} +2 -2
  372. package/dist/core/{p-cf056074.entry.js.map → p-61d79fc6.entry.js.map} +1 -1
  373. package/dist/core/{p-45076d7e.entry.js → p-659d048d.entry.js} +2 -2
  374. package/dist/core/{p-1edf2689.entry.js → p-67de1290.entry.js} +2 -2
  375. package/dist/core/p-6b4ec95f.entry.js +3 -0
  376. package/dist/core/p-6b4ec95f.entry.js.map +1 -0
  377. package/dist/core/{p-f700b759.entry.js → p-73043f57.entry.js} +2 -2
  378. package/dist/core/{p-7b8e5926.entry.js → p-735d3096.entry.js} +2 -2
  379. package/dist/core/{p-0301d1c8.entry.js → p-7b538fd1.entry.js} +2 -2
  380. package/dist/core/{p-cdbbcef4.entry.js → p-80d85403.entry.js} +2 -2
  381. package/dist/core/p-80d85403.entry.js.map +1 -0
  382. package/dist/core/{p-09c31ac6.entry.js → p-83578f1d.entry.js} +2 -2
  383. package/dist/core/{p-09c31ac6.entry.js.map → p-83578f1d.entry.js.map} +1 -1
  384. package/dist/core/{p-b8c0c142.entry.js → p-880f7548.entry.js} +2 -2
  385. package/dist/core/p-880f7548.entry.js.map +1 -0
  386. package/dist/core/{p-0d711c6a.entry.js → p-8a833e82.entry.js} +2 -2
  387. package/dist/core/{p-c16e982c.entry.js → p-90678e67.entry.js} +2 -2
  388. package/dist/core/{p-93e1ba0a.entry.js → p-9502fb86.entry.js} +2 -2
  389. package/dist/core/{p-6740c915.entry.js → p-99433296.entry.js} +2 -2
  390. package/dist/core/p-99433296.entry.js.map +1 -0
  391. package/dist/core/{p-76e8df31.entry.js → p-9c2b2cb9.entry.js} +2 -2
  392. package/dist/core/{p-949d08d3.entry.js → p-9cb83a2e.entry.js} +2 -2
  393. package/dist/core/{p-d2d17d6d.entry.js → p-a08d6b46.entry.js} +2 -2
  394. package/dist/core/p-a08d6b46.entry.js.map +1 -0
  395. package/dist/core/p-a321feee.entry.js +2 -0
  396. package/dist/core/p-a321feee.entry.js.map +1 -0
  397. package/dist/core/{p-45c553db.entry.js → p-a780a34b.entry.js} +2 -2
  398. package/dist/core/{p-90814d32.entry.js → p-aad03a3c.entry.js} +2 -2
  399. package/dist/core/{p-ec14c783.entry.js → p-aaf4e367.entry.js} +2 -2
  400. package/dist/core/{p-8c00614c.entry.js → p-b52c44eb.entry.js} +2 -2
  401. package/dist/core/{p-0722d7b6.entry.js → p-b777f0a1.entry.js} +2 -2
  402. package/dist/core/p-b777f0a1.entry.js.map +1 -0
  403. package/dist/core/p-b77b1e1f.js +2 -0
  404. package/dist/core/p-b77b1e1f.js.map +1 -0
  405. package/dist/core/p-b997ad5e.entry.js +2 -0
  406. package/dist/core/p-b997ad5e.entry.js.map +1 -0
  407. package/dist/core/{p-a0af1b0a.entry.js → p-bb7652cd.entry.js} +2 -2
  408. package/dist/core/{p-1d8559f0.entry.js → p-c156e6e9.entry.js} +2 -2
  409. package/dist/core/{p-e1814e7e.entry.js → p-cad23b7d.entry.js} +2 -2
  410. package/dist/core/{p-6aa8d3ce.entry.js → p-cbca04bb.entry.js} +2 -2
  411. package/dist/core/p-cbca04bb.entry.js.map +1 -0
  412. package/dist/core/{p-e176881a.entry.js → p-cc64e5ef.entry.js} +2 -2
  413. package/dist/core/{p-d478d13e.entry.js → p-cfbacca1.entry.js} +2 -2
  414. package/dist/core/p-cfbacca1.entry.js.map +1 -0
  415. package/dist/core/{p-ebc47282.entry.js → p-daec7e69.entry.js} +2 -2
  416. package/dist/core/{p-5ac3adb9.entry.js → p-e7767c0d.entry.js} +2 -2
  417. package/dist/core/p-e7767c0d.entry.js.map +1 -0
  418. package/dist/core/p-e938eb31.entry.js +2 -0
  419. package/dist/core/p-e938eb31.entry.js.map +1 -0
  420. package/dist/core/{p-81f60443.entry.js → p-ea7a3d30.entry.js} +2 -2
  421. package/dist/core/p-ea7a3d30.entry.js.map +1 -0
  422. package/dist/core/{p-ad5aca6f.entry.js → p-ea890d3d.entry.js} +2 -2
  423. package/dist/core/{p-880afd4b.entry.js → p-ebd688b9.entry.js} +2 -2
  424. package/dist/core/p-ebd688b9.entry.js.map +1 -0
  425. package/dist/core/p-ef70ea50.entry.js +2 -0
  426. package/dist/core/p-ef70ea50.entry.js.map +1 -0
  427. package/dist/core/{p-1fc4b88f.entry.js → p-f64996f1.entry.js} +2 -2
  428. package/dist/core/p-f64996f1.entry.js.map +1 -0
  429. package/dist/core/{p-0f998905.entry.js → p-f661ba76.entry.js} +2 -2
  430. package/dist/core/p-f661ba76.entry.js.map +1 -0
  431. package/dist/core/{p-4e43b272.entry.js → p-f84ac9c6.entry.js} +2 -2
  432. package/dist/core/{p-df029b1b.entry.js → p-fb9376f0.entry.js} +2 -2
  433. package/dist/core/p-fb9376f0.entry.js.map +1 -0
  434. package/dist/esm/core.js +1 -1
  435. package/dist/esm/{helpers-0f85537f.js → helpers-66681c73.js} +4 -17
  436. package/dist/esm/helpers-66681c73.js.map +1 -0
  437. package/dist/esm/ic-accordion-group.entry.js +1 -1
  438. package/dist/esm/ic-accordion.entry.js +17 -10
  439. package/dist/esm/ic-accordion.entry.js.map +1 -1
  440. package/dist/esm/ic-action-chip.entry.js +7 -3
  441. package/dist/esm/ic-action-chip.entry.js.map +1 -1
  442. package/dist/esm/ic-alert.entry.js +1 -1
  443. package/dist/esm/ic-back-to-top.entry.js +2 -2
  444. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  445. package/dist/esm/ic-badge.entry.js +2 -2
  446. package/dist/esm/ic-badge.entry.js.map +1 -1
  447. package/dist/esm/ic-breadcrumb-group.entry.js +2 -2
  448. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  449. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  450. package/dist/esm/ic-button_3.entry.js +7 -7
  451. package/dist/esm/ic-button_3.entry.js.map +1 -1
  452. package/dist/esm/ic-card-horizontal.entry.js +170 -0
  453. package/dist/esm/ic-card-horizontal.entry.js.map +1 -0
  454. package/dist/esm/ic-card-vertical.entry.js +2 -2
  455. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  456. package/dist/esm/ic-checkbox-group.entry.js +3 -3
  457. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  458. package/dist/esm/ic-checkbox.entry.js +6 -6
  459. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  460. package/dist/esm/ic-chip.entry.js +7 -3
  461. package/dist/esm/ic-chip.entry.js.map +1 -1
  462. package/dist/esm/ic-classification-banner.entry.js +13 -5
  463. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  464. package/dist/esm/ic-data-list.entry.js +2 -2
  465. package/dist/esm/ic-data-row.entry.js +3 -3
  466. package/dist/esm/ic-dialog.entry.js +2 -2
  467. package/dist/esm/ic-divider.entry.js +17 -8
  468. package/dist/esm/ic-divider.entry.js.map +1 -1
  469. package/dist/esm/ic-empty-state.entry.js +3 -3
  470. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  471. package/dist/esm/ic-footer-link.entry.js +4 -4
  472. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  473. package/dist/esm/ic-footer.entry.js +1 -1
  474. package/dist/esm/ic-hero.entry.js +5 -5
  475. package/dist/esm/ic-horizontal-scroll.entry.js +7 -7
  476. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  477. package/dist/esm/ic-input-component-container_3.entry.js +218 -86
  478. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  479. package/dist/esm/ic-input-label_2.entry.js +17 -12
  480. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  481. package/dist/esm/ic-layout-grid-item.entry.js +2 -2
  482. package/dist/esm/ic-layout-grid.entry.js +2 -2
  483. package/dist/esm/ic-link.entry.js +3 -3
  484. package/dist/esm/ic-link.entry.js.map +1 -1
  485. package/dist/esm/ic-menu-group.entry.js +2 -2
  486. package/dist/esm/ic-menu-item.entry.js +1 -1
  487. package/dist/esm/ic-navigation-button.entry.js +1 -1
  488. package/dist/esm/ic-navigation-group.entry.js +3 -3
  489. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  490. package/dist/esm/ic-navigation-item.entry.js +7 -5
  491. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  492. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  493. package/dist/esm/ic-page-header.entry.js +8 -8
  494. package/dist/esm/ic-page-header.entry.js.map +1 -1
  495. package/dist/esm/ic-pagination-bar.entry.js +385 -0
  496. package/dist/esm/ic-pagination-bar.entry.js.map +1 -0
  497. package/dist/esm/ic-pagination-item.entry.js +3 -3
  498. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  499. package/dist/esm/ic-pagination_3.entry.js +1406 -0
  500. package/dist/esm/ic-pagination_3.entry.js.map +1 -0
  501. package/dist/esm/ic-popover-menu.entry.js +5 -5
  502. package/dist/esm/ic-radio-group.entry.js +5 -5
  503. package/dist/esm/ic-radio-option.entry.js +6 -6
  504. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  505. package/dist/esm/ic-search-bar.entry.js +12 -12
  506. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  507. package/dist/esm/ic-section-container.entry.js +2 -2
  508. package/dist/esm/ic-side-navigation.entry.js +30 -15
  509. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  510. package/dist/esm/ic-skeleton.entry.js +2 -2
  511. package/dist/esm/ic-skip-link.entry.js +2 -2
  512. package/dist/esm/ic-status-tag.entry.js +3 -3
  513. package/dist/esm/ic-step.entry.js +14 -14
  514. package/dist/esm/ic-stepper.entry.js +3 -3
  515. package/dist/esm/ic-stepper.entry.js.map +1 -1
  516. package/dist/esm/ic-switch.entry.js +6 -6
  517. package/dist/esm/ic-switch.entry.js.map +1 -1
  518. package/dist/esm/ic-tab-context.entry.js +1 -2
  519. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  520. package/dist/esm/ic-tab-group.entry.js +3 -3
  521. package/dist/esm/ic-tab-panel.entry.js +2 -2
  522. package/dist/esm/ic-tab.entry.js +2 -2
  523. package/dist/esm/ic-tab.entry.js.map +1 -1
  524. package/dist/esm/ic-theme.entry.js +2 -2
  525. package/dist/esm/ic-toast-region.entry.js +1 -1
  526. package/dist/esm/ic-toast.entry.js +8 -7
  527. package/dist/esm/ic-toast.entry.js.map +1 -1
  528. package/dist/esm/ic-toggle-button-group.entry.js +4 -4
  529. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  530. package/dist/esm/ic-toggle-button.entry.js +3 -3
  531. package/dist/esm/ic-top-navigation.entry.js +2 -2
  532. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  533. package/dist/esm/ic-typography.entry.js +2 -2
  534. package/dist/esm/ic-typography.entry.js.map +1 -1
  535. package/dist/esm/index-a7a720e7.js +16 -16
  536. package/dist/esm/loader.js +1 -1
  537. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +89 -0
  538. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +1 -0
  539. package/dist/types/components/ic-classification-banner/ic-classification-banner.d.ts +4 -0
  540. package/dist/types/components/ic-divider/ic-divider.d.ts +2 -0
  541. package/dist/types/components/ic-input-label/ic-input-label.d.ts +4 -1
  542. package/dist/types/components/ic-menu/ic-menu.d.ts +11 -1
  543. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.d.ts +162 -0
  544. package/dist/types/components/ic-pagination-bar/ic-pagination-bar.types.d.ts +8 -0
  545. package/dist/types/components/ic-select/ic-select.d.ts +53 -80
  546. package/dist/types/components/ic-select/ic-select.types.d.ts +43 -0
  547. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +3 -2
  548. package/dist/types/components.d.ts +357 -7
  549. package/dist/types/utils/helpers.d.ts +2 -4
  550. package/dist/types/utils/types.d.ts +1 -0
  551. package/hydrate/index.js +1504 -900
  552. package/hydrate/index.mjs +1504 -900
  553. package/package.json +2 -2
  554. package/vscode-data.json +248 -0
  555. package/dist/cjs/helpers-3a796e7a.js.map +0 -1
  556. package/dist/cjs/ic-pagination.cjs.entry.js +0 -312
  557. package/dist/cjs/ic-pagination.cjs.entry.js.map +0 -1
  558. package/dist/cjs/ic-select.cjs.entry.js +0 -879
  559. package/dist/cjs/ic-select.cjs.entry.js.map +0 -1
  560. package/dist/cjs/ic-text-field.cjs.entry.js +0 -433
  561. package/dist/cjs/ic-text-field.cjs.entry.js.map +0 -1
  562. package/dist/core/p-0722d7b6.entry.js.map +0 -1
  563. package/dist/core/p-0f6fd5d3.entry.js +0 -2
  564. package/dist/core/p-0f6fd5d3.entry.js.map +0 -1
  565. package/dist/core/p-0f998905.entry.js.map +0 -1
  566. package/dist/core/p-107281c4.entry.js +0 -2
  567. package/dist/core/p-107281c4.entry.js.map +0 -1
  568. package/dist/core/p-1fc4b88f.entry.js.map +0 -1
  569. package/dist/core/p-23dc27a8.entry.js +0 -2
  570. package/dist/core/p-3582c7df.entry.js.map +0 -1
  571. package/dist/core/p-3c7e90a7.entry.js +0 -2
  572. package/dist/core/p-3c7e90a7.entry.js.map +0 -1
  573. package/dist/core/p-57ce68e5.entry.js +0 -2
  574. package/dist/core/p-57ce68e5.entry.js.map +0 -1
  575. package/dist/core/p-5ac3adb9.entry.js.map +0 -1
  576. package/dist/core/p-656a9127.entry.js +0 -2
  577. package/dist/core/p-656a9127.entry.js.map +0 -1
  578. package/dist/core/p-6740c915.entry.js.map +0 -1
  579. package/dist/core/p-6aa8d3ce.entry.js.map +0 -1
  580. package/dist/core/p-72344764.entry.js +0 -2
  581. package/dist/core/p-72344764.entry.js.map +0 -1
  582. package/dist/core/p-7c38dd1f.entry.js +0 -2
  583. package/dist/core/p-7c38dd1f.entry.js.map +0 -1
  584. package/dist/core/p-81f60443.entry.js.map +0 -1
  585. package/dist/core/p-840c647f.entry.js +0 -2
  586. package/dist/core/p-840c647f.entry.js.map +0 -1
  587. package/dist/core/p-86989873.entry.js.map +0 -1
  588. package/dist/core/p-880afd4b.entry.js.map +0 -1
  589. package/dist/core/p-8b1567c9.entry.js.map +0 -1
  590. package/dist/core/p-8f45f956.entry.js.map +0 -1
  591. package/dist/core/p-9b60ca02.entry.js +0 -2
  592. package/dist/core/p-9b60ca02.entry.js.map +0 -1
  593. package/dist/core/p-a16415e4.entry.js +0 -3
  594. package/dist/core/p-a16415e4.entry.js.map +0 -1
  595. package/dist/core/p-b22fc28d.entry.js +0 -2
  596. package/dist/core/p-b22fc28d.entry.js.map +0 -1
  597. package/dist/core/p-b8c0c142.entry.js.map +0 -1
  598. package/dist/core/p-c3f5907e.entry.js +0 -2
  599. package/dist/core/p-c3f5907e.entry.js.map +0 -1
  600. package/dist/core/p-c7f8547d.entry.js.map +0 -1
  601. package/dist/core/p-cdbbcef4.entry.js.map +0 -1
  602. package/dist/core/p-d2d17d6d.entry.js.map +0 -1
  603. package/dist/core/p-d478d13e.entry.js.map +0 -1
  604. package/dist/core/p-dbc8bf0c.js +0 -2
  605. package/dist/core/p-dbc8bf0c.js.map +0 -1
  606. package/dist/core/p-df029b1b.entry.js.map +0 -1
  607. package/dist/core/p-f5fd4a76.entry.js.map +0 -1
  608. package/dist/core/p-fdb587ab.entry.js +0 -2
  609. package/dist/core/p-fdb587ab.entry.js.map +0 -1
  610. package/dist/esm/helpers-0f85537f.js.map +0 -1
  611. package/dist/esm/ic-pagination.entry.js.map +0 -1
  612. package/dist/esm/ic-select.entry.js +0 -875
  613. package/dist/esm/ic-select.entry.js.map +0 -1
  614. package/dist/esm/ic-text-field.entry.js.map +0 -1
  615. /package/dist/core/{p-ba4abeac.entry.js.map → p-09505807.entry.js.map} +0 -0
  616. /package/dist/core/{p-fe0153ec.entry.js.map → p-2a124daf.entry.js.map} +0 -0
  617. /package/dist/core/{p-aed1c7e7.entry.js.map → p-347cc084.entry.js.map} +0 -0
  618. /package/dist/core/{p-b5e39585.entry.js.map → p-3aed13ba.entry.js.map} +0 -0
  619. /package/dist/core/{p-276a6c8f.entry.js.map → p-46fd555f.entry.js.map} +0 -0
  620. /package/dist/core/{p-889bb8db.entry.js.map → p-56de4f4b.entry.js.map} +0 -0
  621. /package/dist/core/{p-608b4912.entry.js.map → p-5976de6e.entry.js.map} +0 -0
  622. /package/dist/core/{p-45076d7e.entry.js.map → p-659d048d.entry.js.map} +0 -0
  623. /package/dist/core/{p-1edf2689.entry.js.map → p-67de1290.entry.js.map} +0 -0
  624. /package/dist/core/{p-f700b759.entry.js.map → p-73043f57.entry.js.map} +0 -0
  625. /package/dist/core/{p-7b8e5926.entry.js.map → p-735d3096.entry.js.map} +0 -0
  626. /package/dist/core/{p-0301d1c8.entry.js.map → p-7b538fd1.entry.js.map} +0 -0
  627. /package/dist/core/{p-0d711c6a.entry.js.map → p-8a833e82.entry.js.map} +0 -0
  628. /package/dist/core/{p-c16e982c.entry.js.map → p-90678e67.entry.js.map} +0 -0
  629. /package/dist/core/{p-93e1ba0a.entry.js.map → p-9502fb86.entry.js.map} +0 -0
  630. /package/dist/core/{p-76e8df31.entry.js.map → p-9c2b2cb9.entry.js.map} +0 -0
  631. /package/dist/core/{p-949d08d3.entry.js.map → p-9cb83a2e.entry.js.map} +0 -0
  632. /package/dist/core/{p-45c553db.entry.js.map → p-a780a34b.entry.js.map} +0 -0
  633. /package/dist/core/{p-90814d32.entry.js.map → p-aad03a3c.entry.js.map} +0 -0
  634. /package/dist/core/{p-ec14c783.entry.js.map → p-aaf4e367.entry.js.map} +0 -0
  635. /package/dist/core/{p-8c00614c.entry.js.map → p-b52c44eb.entry.js.map} +0 -0
  636. /package/dist/core/{p-a0af1b0a.entry.js.map → p-bb7652cd.entry.js.map} +0 -0
  637. /package/dist/core/{p-1d8559f0.entry.js.map → p-c156e6e9.entry.js.map} +0 -0
  638. /package/dist/core/{p-e1814e7e.entry.js.map → p-cad23b7d.entry.js.map} +0 -0
  639. /package/dist/core/{p-e176881a.entry.js.map → p-cc64e5ef.entry.js.map} +0 -0
  640. /package/dist/core/{p-ebc47282.entry.js.map → p-daec7e69.entry.js.map} +0 -0
  641. /package/dist/core/{p-ad5aca6f.entry.js.map → p-ea890d3d.entry.js.map} +0 -0
  642. /package/dist/core/{p-4e43b272.entry.js.map → p-f84ac9c6.entry.js.map} +0 -0
@@ -712,3 +712,10 @@ button {
712
712
  outline-color: Highlight;
713
713
  }
714
714
  }
715
+
716
+ @media (prefers-reduced-motion: reduce) {
717
+ .card,
718
+ .toggle-button {
719
+ transition: none;
720
+ }
721
+ }
@@ -21,7 +21,7 @@ const defaultArgs = {
21
21
  };
22
22
 
23
23
  export default {
24
- title: "Web Components/Card",
24
+ title: "Web Components/Card Vertical",
25
25
  component: "ic-card-vertical",
26
26
  };
27
27
 
@@ -694,11 +694,6 @@ video {
694
694
  -webkit-appearance: revert;
695
695
  -moz-appearance: revert;
696
696
  appearance: revert;
697
- transition: none;
698
- }
699
-
700
- .checkbox:checked {
701
- transition: none;
702
697
  }
703
698
 
704
699
  .checkbox:focus-visible {
@@ -744,3 +739,10 @@ video {
744
739
  .dynamic-container:dir(rtl) {
745
740
  margin: var(--ic-space-xxxs) var(--ic-space-sm) var(--ic-space-xxs) 0;
746
741
  }
742
+
743
+ @media (prefers-reduced-motion: reduce) {
744
+ .checkbox,
745
+ .checkbox:checked {
746
+ transition: none;
747
+ }
748
+ }
@@ -4,7 +4,6 @@ import { isSlotUsed, onComponentRequiredPropUndefined, renderHiddenInput, remove
4
4
  * @slot additional-field - Content to be displayed alongside a checkbox.
5
5
  * @slot label - Label for the checkbox.
6
6
  */
7
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
8
7
  export class Checkbox {
9
8
  constructor() {
10
9
  /**
@@ -130,17 +129,17 @@ export class Checkbox {
130
129
  ? renderHiddenInput(el, value, name, disabled)
131
130
  : removeHiddenInput(el);
132
131
  const LabelContent = () => this.hasLabelSlot() ? (h("slot", { name: "label" })) : (h("ic-typography", { class: "checkbox-label", variant: "body" }, h("label", { htmlFor: inputId }, label)));
133
- return (h(Host, { key: '7554612ca8fba3490ff568295eea1bfab40707a9', class: {
132
+ return (h(Host, { key: 'cbbef34df584e10e50b731c4ea44b4c5a5f29917', class: {
134
133
  "ic-checkbox-disabled": disabled,
135
134
  [`ic-checkbox-${size}`]: !!size,
136
135
  [`ic-theme-${theme}`]: theme !== "inherit",
137
- } }, h("div", { key: '858b6c8812f827d1805ae6aea8a02760ddaef38a', class: "container" }, displayIndeterminate ? (h("div", { class: "indeterminate-symbol" })) : (checked && (h("svg", { class: "checkmark", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", "fill-rule": "evenodd", "clip-rule": "evenodd" }, h("title", null, "checkmark icon"), 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" })))), h("input", { key: '1b2729f5f417f5fbea44639369b5ad23f7c937e8', role: "checkbox", class: {
136
+ } }, h("div", { key: 'b15e0cc68627b692ea251994d13c707a71935332', class: "container" }, displayIndeterminate ? (h("div", { class: "indeterminate-symbol" })) : (checked && (h("svg", { class: "checkmark", viewBox: "0 0 24 24", xmlns: "http://www.w3.org/2000/svg", "fill-rule": "evenodd", "clip-rule": "evenodd" }, h("title", null, "checkmark icon"), 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" })))), h("input", { key: '8443271bb0f24104dadfc95c0f0e97551f8f32fb', role: "checkbox", class: {
138
137
  checkbox: true,
139
138
  checked,
140
139
  indeterminate: displayIndeterminate,
141
- }, ref: (el) => (this.checkboxEl = el), type: "checkbox", name: name, id: inputId, value: value, disabled: disabled, checked: checked, indeterminate: displayIndeterminate, onClick: handleClick, form: form, "aria-label": hideLabel || this.hasLabelSlot() ? label : undefined }), !hideLabel && h(LabelContent, { key: '62bdb97c7d1dd473236dd5a9b294aaf1eb6e01c7' })), h("span", { key: '3d798c60b58dfcb3cf907569094e84a09e5e291c', id: `${inputId}-additional-field-description`, role: "alert", class: "sr-only" }, isDynamicAdditionalField && checked ? dynamicText : ""), isSlotUsed(el, "additional-field") && (h("div", { key: 'a8276e2dcd983bee6547ac802de050348263ca9b', class: "dynamic-container", ref: (el) => (this.additionalFieldContainer = el) }, isDynamicAdditionalField && h("div", { key: '9235762858b354b09bbdf956c5a2041041162f77', class: "branch-corner" }), h("div", { key: 'cb92bb94e296830a3132f752b0c7689671275383', class: "dynamic-field-container" }, isDynamicAdditionalField && (h("ic-typography", { key: '318cdd04a078d79aa98138a664e60ee308799f43', variant: "caption" }, h("p", { key: 'ce5182b3ca908fc98ca9303d014d0c05f0bf3c0b', class: "dynamic-text" }, isDynamicAdditionalField && checked ? dynamicText : ""))), h("div", { key: '352457e47762a12c320dc7df9635fa38bbc0d675', class: {
140
+ }, ref: (el) => (this.checkboxEl = el), type: "checkbox", name: name, id: inputId, value: value, disabled: disabled, checked: checked, indeterminate: displayIndeterminate, onClick: handleClick, form: form, "aria-label": hideLabel || this.hasLabelSlot() ? label : undefined }), !hideLabel && h(LabelContent, { key: '29c975e697e9b5e8f32c845111686e23ee4de32f' })), h("span", { key: '3901c6b2f84633d2cb0bf6602e1644760dfa78dd', id: `${inputId}-additional-field-description`, role: "alert", class: "sr-only" }, isDynamicAdditionalField && checked ? dynamicText : ""), isSlotUsed(el, "additional-field") && (h("div", { key: '68b7bbd59a084ff452924d0fb82446c0a5b46900', class: "dynamic-container", ref: (el) => (this.additionalFieldContainer = el) }, isDynamicAdditionalField && h("div", { key: '2095e98f6a8ae633892a83f8a8a9a37941186802', class: "branch-corner" }), h("div", { key: 'f92c2ff935d5d72a70bba8479bc7a2b27705da1d', class: "dynamic-field-container" }, isDynamicAdditionalField && (h("ic-typography", { key: '1e69f0fb80ad6f047bd2943b5b348bd539b567ce', variant: "caption" }, h("p", { key: '27f350e13e088275e340332570e3eee32c7ad1be', class: "dynamic-text" }, isDynamicAdditionalField && checked ? dynamicText : ""))), h("div", { key: '98795e79ffb9d719d9d1aae8931f67f8009c273f', class: {
142
141
  "additional-field-wrapper": !isDynamicAdditionalField,
143
- } }, h("slot", { key: '1d9225d692fbe869375109c97c9ec479be89e69f', name: "additional-field" })))))));
142
+ } }, h("slot", { key: '36a8e7ffaa67981e3054240dda02b04936280f91', name: "additional-field" })))))));
144
143
  }
145
144
  static get is() { return "ic-checkbox"; }
146
145
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"ic-checkbox.js","sourceRoot":"","sources":["../../../src/components/ic-checkbox/ic-checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport {\n IcAdditionalFieldTypes,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n removeHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\n\n/**\n * @slot additional-field - Content to be displayed alongside a checkbox.\n * @slot label - Label for the checkbox.\n */\n@Component({\n tag: \"ic-checkbox\",\n styleUrl: \"ic-checkbox.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class Checkbox {\n private additionalFieldContainer?: HTMLDivElement;\n private checkboxEl?: HTMLInputElement;\n private labelSlot: HTMLElement | null;\n\n @Element() el: HTMLIcCheckboxElement;\n\n /**\n * The style of additionalField that will be displayed if used.\n */\n @Prop({ reflect: true }) additionalFieldDisplay: IcAdditionalFieldTypes =\n \"static\";\n\n /**\n * If `true`, the checkbox will be set to the checked state. This is only the initial state and will be updated to unchecked if the checkbox is clicked.\n */\n @Prop({ reflect: true, mutable: true }) checked = false;\n @State() initiallyChecked = this.checked;\n\n /**\n * If `true`, the checkbox will be set to the disabled state.\n */\n @Prop() disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The text to be displayed when dynamic.\n */\n\n @Prop() dynamicText = \"This selection requires additional answers\";\n\n /**\n * The <form> element to associate the checkbox with.\n */\n @Prop() form?: string;\n\n /**\n * The group label for the checkbox.\n */\n @Prop({ mutable: true }) groupLabel?: string;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel = false;\n\n /**\n * If `true`, the indeterminate state will be displayed when checked.\n */\n @Prop() indeterminate = false;\n @State() displayIndeterminate = this.indeterminate;\n @Watch(\"indeterminate\")\n watchIndeterminateHandler(): void {\n this.displayIndeterminate =\n this.indeterminate && (this.nativeIndeterminateBehaviour || this.checked);\n }\n\n /**\n * The label for the checkbox.\n */\n @Prop() label!: string;\n\n /**\n * The name for the checkbox. If not set when used in a checkbox group, the name will be based on the group name.\n */\n @Prop({ mutable: true }) name?: string;\n\n /**\n * If `true`, the checkbox will behave like a native checkbox where the `indeterminate` prop sets the indeterminate visual styling, independent of the `checked` state.\n */\n @Prop() nativeIndeterminateBehaviour = false;\n\n /**\n * The size of the checkbox to be displayed. This does not affect the font size of the label. If a checkbox is contained in a checkbox group, this will override the size set on checkbox group.\n */\n @Prop({ mutable: true }) size?: IcSizes;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * The value for the checkbox.\n */\n @Prop() value = \"\";\n\n /**\n * Emitted when a checkbox has been checked.\n */\n @Event() icCheck: EventEmitter<void>;\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n\n addFormResetListener(this.el, this.handleFormReset);\n\n const { parentElement } = this.el;\n if (parentElement?.tagName === \"IC-CHECKBOX-GROUP\") {\n const { name, label, size } = parentElement as HTMLIcCheckboxGroupElement;\n\n if (!this.name) this.name = name;\n if (!this.size) this.size = size;\n this.groupLabel = label;\n }\n }\n\n componentDidLoad(): void {\n if (this.hasLabelSlot()) {\n this.arrangeLabel();\n } else {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Checkbox\"\n );\n }\n }\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n this.el\n .querySelectorAll(\"ic-text-field\")\n .forEach((textfield) =>\n textfield.setAttribute(\"disabled\", `${!this.checked}`)\n );\n } else if (this.additionalFieldContainer) {\n this.additionalFieldContainer.style.display = !this.checked\n ? \"none\"\n : \"flex\";\n }\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n /**\n * Sets focus on the checkbox.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.checkboxEl?.focus();\n }\n\n private getCheckboxGroupId() {\n return `ic-checkbox-${this.label}-${this.groupLabel}`.replace(/ /g, \"-\");\n }\n\n private hasLabelSlot() {\n this.labelSlot = this.el.querySelector('[slot=\"label\"]');\n return !!this.labelSlot;\n }\n\n private arrangeLabel() {\n if (this.labelSlot) {\n this.label = this.labelSlot.textContent?.trim() || \"\";\n this.labelSlot.setAttribute(\"for\", this.getCheckboxGroupId());\n if (this.disabled) {\n this.labelSlot.setAttribute(\"aria-disabled\", \"true\");\n }\n }\n }\n\n private handleClick = () => {\n this.checked = !this.checked;\n this.displayIndeterminate =\n !this.nativeIndeterminateBehaviour && this.indeterminate && this.checked;\n this.icCheck.emit();\n };\n\n private handleFormReset = (): void => {\n this.checked = this.initiallyChecked;\n };\n\n render() {\n const {\n additionalFieldDisplay,\n checked,\n disabled,\n displayIndeterminate,\n dynamicText,\n el,\n form,\n handleClick,\n hideLabel,\n label,\n name,\n size,\n theme,\n value,\n } = this;\n\n const inputId = this.getCheckboxGroupId();\n\n const isDynamicAdditionalField = additionalFieldDisplay === \"dynamic\";\n\n checked\n ? renderHiddenInput(el, value, name, disabled)\n : removeHiddenInput(el);\n\n const LabelContent = () =>\n this.hasLabelSlot() ? (\n <slot name=\"label\"></slot>\n ) : (\n <ic-typography class=\"checkbox-label\" variant=\"body\">\n <label htmlFor={inputId}>{label}</label>\n </ic-typography>\n );\n\n return (\n <Host\n class={{\n \"ic-checkbox-disabled\": disabled,\n [`ic-checkbox-${size}`]: !!size,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div class=\"container\">\n {displayIndeterminate ? (\n <div class=\"indeterminate-symbol\" />\n ) : (\n checked && (\n <svg\n class=\"checkmark\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n >\n <title>checkmark icon</title>\n <path d=\"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z\" />\n </svg>\n )\n )}\n <input\n role=\"checkbox\"\n class={{\n checkbox: true,\n checked,\n indeterminate: displayIndeterminate,\n }}\n ref={(el) => (this.checkboxEl = el)}\n type=\"checkbox\"\n name={name}\n id={inputId}\n value={value}\n disabled={disabled}\n checked={checked}\n indeterminate={displayIndeterminate}\n onClick={handleClick}\n form={form}\n aria-label={hideLabel || this.hasLabelSlot() ? label : undefined}\n ></input>\n {!hideLabel && <LabelContent />}\n </div>\n <span\n id={`${inputId}-additional-field-description`}\n role=\"alert\"\n class=\"sr-only\"\n >\n {isDynamicAdditionalField && checked ? dynamicText : \"\"}\n </span>\n {isSlotUsed(el, \"additional-field\") && (\n <div\n class=\"dynamic-container\"\n ref={(el) => (this.additionalFieldContainer = el)}\n >\n {isDynamicAdditionalField && <div class=\"branch-corner\"></div>}\n <div class=\"dynamic-field-container\">\n {isDynamicAdditionalField && (\n <ic-typography variant=\"caption\">\n <p class=\"dynamic-text\">\n {isDynamicAdditionalField && checked ? dynamicText : \"\"}\n </p>\n </ic-typography>\n )}\n <div\n class={{\n \"additional-field-wrapper\": !isDynamicAdditionalField,\n }}\n >\n <slot name=\"additional-field\"></slot>\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-checkbox.js","sourceRoot":"","sources":["../../../src/components/ic-checkbox/ic-checkbox.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Method,\n Watch,\n} from \"@stencil/core\";\nimport {\n IcAdditionalFieldTypes,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n removeHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\n\n/**\n * @slot additional-field - Content to be displayed alongside a checkbox.\n * @slot label - Label for the checkbox.\n */\n@Component({\n tag: \"ic-checkbox\",\n styleUrl: \"ic-checkbox.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class Checkbox {\n private additionalFieldContainer?: HTMLDivElement;\n private checkboxEl?: HTMLInputElement;\n private labelSlot: HTMLElement | null;\n\n @Element() el: HTMLIcCheckboxElement;\n\n /**\n * The style of additionalField that will be displayed if used.\n */\n @Prop({ reflect: true }) additionalFieldDisplay: IcAdditionalFieldTypes =\n \"static\";\n\n /**\n * If `true`, the checkbox will be set to the checked state. This is only the initial state and will be updated to unchecked if the checkbox is clicked.\n */\n @Prop({ reflect: true, mutable: true }) checked = false;\n @State() initiallyChecked = this.checked;\n\n /**\n * If `true`, the checkbox will be set to the disabled state.\n */\n @Prop() disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The text to be displayed when dynamic.\n */\n\n @Prop() dynamicText = \"This selection requires additional answers\";\n\n /**\n * The <form> element to associate the checkbox with.\n */\n @Prop() form?: string;\n\n /**\n * The group label for the checkbox.\n */\n @Prop({ mutable: true }) groupLabel?: string;\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel = false;\n\n /**\n * If `true`, the indeterminate state will be displayed when checked.\n */\n @Prop() indeterminate = false;\n @State() displayIndeterminate = this.indeterminate;\n @Watch(\"indeterminate\")\n watchIndeterminateHandler(): void {\n this.displayIndeterminate =\n this.indeterminate && (this.nativeIndeterminateBehaviour || this.checked);\n }\n\n /**\n * The label for the checkbox.\n */\n @Prop() label!: string;\n\n /**\n * The name for the checkbox. If not set when used in a checkbox group, the name will be based on the group name.\n */\n @Prop({ mutable: true }) name?: string;\n\n /**\n * If `true`, the checkbox will behave like a native checkbox where the `indeterminate` prop sets the indeterminate visual styling, independent of the `checked` state.\n */\n @Prop() nativeIndeterminateBehaviour = false;\n\n /**\n * The size of the checkbox to be displayed. This does not affect the font size of the label. If a checkbox is contained in a checkbox group, this will override the size set on checkbox group.\n */\n @Prop({ mutable: true }) size?: IcSizes;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * The value for the checkbox.\n */\n @Prop() value = \"\";\n\n /**\n * Emitted when a checkbox has been checked.\n */\n @Event() icCheck: EventEmitter<void>;\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n\n addFormResetListener(this.el, this.handleFormReset);\n\n const { parentElement } = this.el;\n if (parentElement?.tagName === \"IC-CHECKBOX-GROUP\") {\n const { name, label, size } = parentElement as HTMLIcCheckboxGroupElement;\n\n if (!this.name) this.name = name;\n if (!this.size) this.size = size;\n this.groupLabel = label;\n }\n }\n\n componentDidLoad(): void {\n if (this.hasLabelSlot()) {\n this.arrangeLabel();\n } else {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Checkbox\"\n );\n }\n }\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n this.el\n .querySelectorAll(\"ic-text-field\")\n .forEach((textfield) =>\n textfield.setAttribute(\"disabled\", `${!this.checked}`)\n );\n } else if (this.additionalFieldContainer) {\n this.additionalFieldContainer.style.display = !this.checked\n ? \"none\"\n : \"flex\";\n }\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.el, this.handleFormReset);\n }\n\n /**\n * Sets focus on the checkbox.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.checkboxEl?.focus();\n }\n\n private getCheckboxGroupId() {\n return `ic-checkbox-${this.label}-${this.groupLabel}`.replace(/ /g, \"-\");\n }\n\n private hasLabelSlot() {\n this.labelSlot = this.el.querySelector('[slot=\"label\"]');\n return !!this.labelSlot;\n }\n\n private arrangeLabel() {\n if (this.labelSlot) {\n this.label = this.labelSlot.textContent?.trim() || \"\";\n this.labelSlot.setAttribute(\"for\", this.getCheckboxGroupId());\n if (this.disabled) {\n this.labelSlot.setAttribute(\"aria-disabled\", \"true\");\n }\n }\n }\n\n private handleClick = () => {\n this.checked = !this.checked;\n this.displayIndeterminate =\n !this.nativeIndeterminateBehaviour && this.indeterminate && this.checked;\n this.icCheck.emit();\n };\n\n private handleFormReset = (): void => {\n this.checked = this.initiallyChecked;\n };\n\n render() {\n const {\n additionalFieldDisplay,\n checked,\n disabled,\n displayIndeterminate,\n dynamicText,\n el,\n form,\n handleClick,\n hideLabel,\n label,\n name,\n size,\n theme,\n value,\n } = this;\n\n const inputId = this.getCheckboxGroupId();\n\n const isDynamicAdditionalField = additionalFieldDisplay === \"dynamic\";\n\n checked\n ? renderHiddenInput(el, value, name, disabled)\n : removeHiddenInput(el);\n\n const LabelContent = () =>\n this.hasLabelSlot() ? (\n <slot name=\"label\"></slot>\n ) : (\n <ic-typography class=\"checkbox-label\" variant=\"body\">\n <label htmlFor={inputId}>{label}</label>\n </ic-typography>\n );\n\n return (\n <Host\n class={{\n \"ic-checkbox-disabled\": disabled,\n [`ic-checkbox-${size}`]: !!size,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <div class=\"container\">\n {displayIndeterminate ? (\n <div class=\"indeterminate-symbol\" />\n ) : (\n checked && (\n <svg\n class=\"checkmark\"\n viewBox=\"0 0 24 24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n >\n <title>checkmark icon</title>\n <path d=\"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z\" />\n </svg>\n )\n )}\n <input\n role=\"checkbox\"\n class={{\n checkbox: true,\n checked,\n indeterminate: displayIndeterminate,\n }}\n ref={(el) => (this.checkboxEl = el)}\n type=\"checkbox\"\n name={name}\n id={inputId}\n value={value}\n disabled={disabled}\n checked={checked}\n indeterminate={displayIndeterminate}\n onClick={handleClick}\n form={form}\n aria-label={hideLabel || this.hasLabelSlot() ? label : undefined}\n ></input>\n {!hideLabel && <LabelContent />}\n </div>\n <span\n id={`${inputId}-additional-field-description`}\n role=\"alert\"\n class=\"sr-only\"\n >\n {isDynamicAdditionalField && checked ? dynamicText : \"\"}\n </span>\n {isSlotUsed(el, \"additional-field\") && (\n <div\n class=\"dynamic-container\"\n ref={(el) => (this.additionalFieldContainer = el)}\n >\n {isDynamicAdditionalField && <div class=\"branch-corner\"></div>}\n <div class=\"dynamic-field-container\">\n {isDynamicAdditionalField && (\n <ic-typography variant=\"caption\">\n <p class=\"dynamic-text\">\n {isDynamicAdditionalField && checked ? dynamicText : \"\"}\n </p>\n </ic-typography>\n )}\n <div\n class={{\n \"additional-field-wrapper\": !isDynamicAdditionalField,\n }}\n >\n <slot name=\"additional-field\"></slot>\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -3,8 +3,8 @@ import { getInputDescribedByText, hasValidationStatus, onComponentRequiredPropUn
3
3
  const CHECKBOX_SELECTOR = "ic-checkbox";
4
4
  /**
5
5
  * @slot helper-text - Content is set as the helper text for the checkbox group.
6
+ * @slot label - Content is placed as the label text.
6
7
  */
7
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
8
8
  export class CheckboxGroup {
9
9
  constructor() {
10
10
  /**
@@ -118,11 +118,11 @@ export class CheckboxGroup {
118
118
  const describedBy = getInputDescribedByText(this.el, name, helperText !== "", validationStatus !== "");
119
119
  const renderSRText = validationStatus === "error" || required || hideLabel;
120
120
  const showValidation = hasValidationStatus(validationStatus, disabled);
121
- return (h(Host, { key: '862a97d086caec6a36b54a83d7dc73cab51ec26e', class: {
121
+ return (h(Host, { key: '710f409b81bb1cc6efa8c881216646cb653170bc', class: {
122
122
  "ic-checkbox-group-disabled": !!disabled,
123
123
  [`ic-checkbox-group-${size}`]: true,
124
124
  [`ic-theme-${theme}`]: theme !== "inherit",
125
- } }, renderSRText && (h("span", { key: '2099c60d533ff668ad2e3770bbe487182ba5c8c3', id: "screenReaderOnlyText", class: "screen-reader-only-text", "aria-hidden": "true" }, label, " ", validationStatus === "error" ? "invalid data " : null, " ", required ? "required" : null)), h("fieldset", { key: '43ab035620d2c0a7b9325b3441fa51e1dac77e3a', id: name, "aria-labelledby": `${renderSRText ? "screenReaderOnlyText" : ""} ${describedBy}`.trim(), disabled: disabled }, !hideLabel && (h("legend", { key: '3bff3341981e4f02aa73a21abee555be9f8aa863' }, h("ic-input-label", { key: '949a4b31d5021b96870fcf63c595d06b4a84baf5', class: { [`${validationStatus}`]: true }, label: label, helperText: helperText, required: required, disabled: disabled, useLabelTag: false }, h("slot", { key: '90ae6ee756ee2415828ac81ebcc5e84a80999c5d', name: "helper-text", slot: "helper-text" })))), h("div", { key: '7bf7695658a85157da695af6e8fb6a9b8be276e3', class: "checkboxes-container" }, h("slot", { key: '30d42a9d6cc00ac71280f88e462cb851d79ef61e' }))), h("ic-input-validation", { key: '44a98a0c788e457319d44421328fcb59ab8e9244', class: {
125
+ } }, renderSRText && (h("span", { key: 'f51c5a809b512cd8ed608ca46cb3b7e8da917dd9', id: "screenReaderOnlyText", class: "screen-reader-only-text", "aria-hidden": "true" }, label, " ", validationStatus === "error" ? "invalid data " : null, " ", required ? "required" : null)), h("fieldset", { key: '8107a3e6abf16406b201ae7fe5984cf65dc24e6a', id: name, "aria-labelledby": `${renderSRText ? "screenReaderOnlyText" : ""} ${describedBy}`.trim(), disabled: disabled }, !hideLabel && (h("legend", { key: '1f2d96c8b95e5d23d3d1503e16795141c00d10f2' }, h("ic-input-label", { key: '1d0b955aca0e814dda4536bd88c42602bea1ddd2', class: { [`${validationStatus}`]: true }, label: label, helperText: helperText, required: required, disabled: disabled, useLabelTag: false }, h("slot", { key: 'ebe59cbdf8de2d90ef6989354fbbf3ab7c63a275', name: "label", slot: "label" }), h("slot", { key: '425574841027cbf70673fc48ca1558257e8824ec', name: "helper-text", slot: "helper-text" })))), h("div", { key: 'a3df30cadd95a802d580e309f0f35397547023a8', class: "checkboxes-container" }, h("slot", { key: '46f74eb5f9241075b8f504de918af9a5644642fb' }))), h("ic-input-validation", { key: 'b800e52c3348e67ddbfbc8fc5ada934c1e1ace5b', class: {
126
126
  "show-validation": showValidation,
127
127
  }, for: name, ariaLiveMode: validationAriaLive, status: showValidation ? validationStatus : "", message: showValidation ? validationText : "" })));
128
128
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ic-checkbox-group.js","sourceRoot":"","sources":["../../../src/components/ic-checkbox-group/ic-checkbox-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Listen,\n Element,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n hasValidationStatus,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport {\n IcAriaLive,\n IcInformationStatusOrEmpty,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport { IcChangeEventDetail } from \"./ic-checkbox-group.types\";\n\nconst CHECKBOX_SELECTOR = \"ic-checkbox\";\n\n/**\n * @slot helper-text - Content is set as the helper text for the checkbox group.\n */\n@Component({\n tag: \"ic-checkbox-group\",\n styleUrl: \"ic-checkbox-group.css\",\n shadow: true,\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class CheckboxGroup {\n private checkboxes: HTMLIcCheckboxElement[];\n\n @Element() el: HTMLIcCheckboxGroupElement;\n\n /**\n * If `true`, the checkbox group will be set to the disabled state.\n */\n @Prop() disabled: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n this.checkboxes.forEach((checkbox) => {\n checkbox.disabled = this.disabled;\n });\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText: string = \"\";\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * The label for the checkbox group to be displayed.\n */\n @Prop() label!: string;\n\n /**\n * The name for the checkbox group to differentiate from other groups.\n */\n @Prop() name!: string;\n\n @Watch(\"label\")\n @Watch(\"name\")\n labelNameHandler(\n newValue: string,\n oldValue: string,\n propName: \"label\" | \"name\"\n ): void {\n Array.from(this.el.querySelectorAll(CHECKBOX_SELECTOR)).forEach(\n (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 /**\n * If `true`, the checkbox group will require a value.\n */\n @Prop() required: boolean = false;\n\n /**\n * The size of the checkboxes to be displayed. This does not affect the font size of the label.\n */\n @Prop() size: IcSizes = \"medium\";\n @Watch(\"size\")\n watchSizeHandler(): void {\n this.checkboxes.forEach((checkbox) => {\n checkbox.size = this.size;\n });\n }\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n @Watch(\"theme\")\n watchThemeHandler(newValue: IcThemeMode): void {\n Array.from(this.el.querySelectorAll(CHECKBOX_SELECTOR)).forEach(\n (checkbox) => {\n checkbox.theme = newValue;\n }\n );\n }\n\n /**\n * The value of the `aria-live` attribute on the validation message.\n */\n @Prop() validationAriaLive: IcAriaLive = \"polite\";\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message.\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 this.setCheckboxProps();\n removeDisabledFalse(this.disabled, this.el);\n this.watchThemeHandler(this.theme);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.name, propName: \"name\" },\n ],\n \"Checkbox Group\"\n );\n }\n\n @Listen(\"icCheck\")\n selectHandler({ target }: CustomEvent): void {\n const checkedOptions = Array.from(\n this.el.querySelectorAll(CHECKBOX_SELECTOR)\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 private setCheckboxProps = () => {\n this.checkboxes = Array.from(this.el.querySelectorAll(CHECKBOX_SELECTOR));\n\n this.checkboxes.forEach((checkbox) => {\n if (!checkbox.disabled) {\n checkbox.disabled = this.disabled;\n }\n if (!checkbox.size) {\n checkbox.size = this.size;\n }\n });\n };\n\n render() {\n const {\n disabled,\n helperText,\n hideLabel,\n label,\n name,\n required,\n size,\n theme,\n validationAriaLive,\n validationStatus,\n validationText,\n } = this;\n\n const describedBy = getInputDescribedByText(\n this.el,\n name,\n helperText !== \"\",\n validationStatus !== \"\"\n );\n\n const renderSRText = validationStatus === \"error\" || required || hideLabel;\n\n const showValidation = hasValidationStatus(validationStatus, disabled);\n\n return (\n <Host\n class={{\n \"ic-checkbox-group-disabled\": !!disabled,\n [`ic-checkbox-group-${size}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n {renderSRText && (\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 renderSRText ? \"screenReaderOnlyText\" : \"\"\n } ${describedBy}`.trim()}\n disabled={disabled}\n >\n {!hideLabel && (\n <legend>\n <ic-input-label\n class={{ [`${validationStatus}`]: true }}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabled}\n useLabelTag={false}\n >\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\n </ic-input-label>\n </legend>\n )}\n <div class=\"checkboxes-container\">\n <slot></slot>\n </div>\n </fieldset>\n <ic-input-validation\n class={{\n \"show-validation\": showValidation,\n }}\n for={name}\n ariaLiveMode={validationAriaLive}\n status={showValidation ? validationStatus : \"\"}\n message={showValidation ? validationText : \"\"}\n ></ic-input-validation>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-checkbox-group.js","sourceRoot":"","sources":["../../../src/components/ic-checkbox-group/ic-checkbox-group.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Host,\n h,\n Prop,\n Listen,\n Element,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n hasValidationStatus,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport {\n IcAriaLive,\n IcInformationStatusOrEmpty,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport { IcChangeEventDetail } from \"./ic-checkbox-group.types\";\n\nconst CHECKBOX_SELECTOR = \"ic-checkbox\";\n\n/**\n * @slot helper-text - Content is set as the helper text for the checkbox group.\n * @slot label - Content is placed as the label text.\n */\n@Component({\n tag: \"ic-checkbox-group\",\n styleUrl: \"ic-checkbox-group.css\",\n shadow: true,\n})\nexport class CheckboxGroup {\n private checkboxes: HTMLIcCheckboxElement[];\n\n @Element() el: HTMLIcCheckboxGroupElement;\n\n /**\n * If `true`, the checkbox group will be set to the disabled state.\n */\n @Prop() disabled: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n this.checkboxes.forEach((checkbox) => {\n checkbox.disabled = this.disabled;\n });\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText: string = \"\";\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * The label for the checkbox group to be displayed.\n */\n @Prop() label!: string;\n\n /**\n * The name for the checkbox group to differentiate from other groups.\n */\n @Prop() name!: string;\n\n @Watch(\"label\")\n @Watch(\"name\")\n labelNameHandler(\n newValue: string,\n oldValue: string,\n propName: \"label\" | \"name\"\n ): void {\n Array.from(this.el.querySelectorAll(CHECKBOX_SELECTOR)).forEach(\n (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 /**\n * If `true`, the checkbox group will require a value.\n */\n @Prop() required: boolean = false;\n\n /**\n * The size of the checkboxes to be displayed. This does not affect the font size of the label.\n */\n @Prop() size: IcSizes = \"medium\";\n @Watch(\"size\")\n watchSizeHandler(): void {\n this.checkboxes.forEach((checkbox) => {\n checkbox.size = this.size;\n });\n }\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n @Watch(\"theme\")\n watchThemeHandler(newValue: IcThemeMode): void {\n Array.from(this.el.querySelectorAll(CHECKBOX_SELECTOR)).forEach(\n (checkbox) => {\n checkbox.theme = newValue;\n }\n );\n }\n\n /**\n * The value of the `aria-live` attribute on the validation message.\n */\n @Prop() validationAriaLive: IcAriaLive = \"polite\";\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message.\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 this.setCheckboxProps();\n removeDisabledFalse(this.disabled, this.el);\n this.watchThemeHandler(this.theme);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.name, propName: \"name\" },\n ],\n \"Checkbox Group\"\n );\n }\n\n @Listen(\"icCheck\")\n selectHandler({ target }: CustomEvent): void {\n const checkedOptions = Array.from(\n this.el.querySelectorAll(CHECKBOX_SELECTOR)\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 private setCheckboxProps = () => {\n this.checkboxes = Array.from(this.el.querySelectorAll(CHECKBOX_SELECTOR));\n\n this.checkboxes.forEach((checkbox) => {\n if (!checkbox.disabled) {\n checkbox.disabled = this.disabled;\n }\n if (!checkbox.size) {\n checkbox.size = this.size;\n }\n });\n };\n\n render() {\n const {\n disabled,\n helperText,\n hideLabel,\n label,\n name,\n required,\n size,\n theme,\n validationAriaLive,\n validationStatus,\n validationText,\n } = this;\n\n const describedBy = getInputDescribedByText(\n this.el,\n name,\n helperText !== \"\",\n validationStatus !== \"\"\n );\n\n const renderSRText = validationStatus === \"error\" || required || hideLabel;\n\n const showValidation = hasValidationStatus(validationStatus, disabled);\n\n return (\n <Host\n class={{\n \"ic-checkbox-group-disabled\": !!disabled,\n [`ic-checkbox-group-${size}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n {renderSRText && (\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 renderSRText ? \"screenReaderOnlyText\" : \"\"\n } ${describedBy}`.trim()}\n disabled={disabled}\n >\n {!hideLabel && (\n <legend>\n <ic-input-label\n class={{ [`${validationStatus}`]: true }}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabled}\n useLabelTag={false}\n >\n <slot name=\"label\" slot=\"label\"></slot>\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\n </ic-input-label>\n </legend>\n )}\n <div class=\"checkboxes-container\">\n <slot></slot>\n </div>\n </fieldset>\n <ic-input-validation\n class={{\n \"show-validation\": showValidation,\n }}\n for={name}\n ariaLiveMode={validationAriaLive}\n status={showValidation ? validationStatus : \"\"}\n message={showValidation ? validationText : \"\"}\n ></ic-input-validation>\n </Host>\n );\n }\n}\n"]}
@@ -15,6 +15,7 @@ const defaultArgs = {
15
15
  hideGroupLabel: false,
16
16
  indeterminate: false,
17
17
  label: "Checkbox label",
18
+ name: "checkbox-group",
18
19
  nativeIndeterminateBehaviour: false,
19
20
  required: false,
20
21
  size: "medium",
@@ -368,6 +369,39 @@ export const HelperText = {
368
369
  name: "Helper text",
369
370
  };
370
371
 
372
+ export const SlottedGroupLabel = {
373
+ render: () => html`
374
+ <ic-checkbox-group
375
+ label="Coffee extras"
376
+ name="group1"
377
+ helper-text="Helper text provided by prop"
378
+ >
379
+ <ic-checkbox value="valueName1" label="Sugar"></ic-checkbox>
380
+ <ic-checkbox value="valueName2" label="Milk" checked></ic-checkbox>
381
+ <ic-checkbox value="valueName3" label="salt" Disabled></ic-checkbox>
382
+ </ic-checkbox-group>
383
+ <br />
384
+ <ic-checkbox-group label="More coffee extras" name="group2">
385
+ <ic-typography variant="caption" slot="label">
386
+ <span>
387
+ Slotted label with a
388
+ <ic-link href="#">helpful link to guidance</ic-link> and language tag
389
+ example <span lang="fr">exemple de texte en français</span>
390
+ </span>
391
+ </ic-typography>
392
+ <ic-checkbox value="valueName1" label="Shortbread"></ic-checkbox>
393
+ <ic-checkbox value="valueName2" label="Scone" checked></ic-checkbox>
394
+ <ic-checkbox
395
+ value="valueName3"
396
+ label="Ham Sandwich"
397
+ Disabled
398
+ ></ic-checkbox>
399
+ </ic-checkbox-group>
400
+ `,
401
+
402
+ name: "Slotted group label",
403
+ };
404
+
371
405
  export const Validation = {
372
406
  render: () => html`
373
407
  <ic-checkbox-group
@@ -861,6 +895,7 @@ export const Playground = {
861
895
  size=${args.size}
862
896
  helper-text=${args.helperText}
863
897
  hide-label=${args.hideGroupLabel}
898
+ name=${args.name}
864
899
  required=${args.required}
865
900
  validation-aria-live=${args.validationAriaLive}
866
901
  validation-status=${args.validationStatus === "no status"
@@ -487,16 +487,29 @@ video {
487
487
  }
488
488
 
489
489
  .chip.small {
490
- padding: var(--ic-space-1px) var(--ic-space-xxxs);
490
+ padding: var(--ic-space-xxxs) var(--ic-space-xs);
491
491
  border-radius: calc(var(--ic-space-md) - var(--ic-space-xxxs));
492
492
  }
493
493
 
494
+ .chip.medium {
495
+ padding: calc(var(--ic-space-xxs) - var(--ic-space-1px)) var(--ic-space-xs);
496
+ border-radius: var(--ic-space-md);
497
+ }
498
+
494
499
  .chip.large {
495
500
  padding: calc(var(--ic-space-xs) - var(--ic-space-1px)) var(--ic-space-xs);
496
501
  border-radius: calc(var(--ic-space-md) + var(--ic-space-xxs));
497
502
  }
498
503
 
499
- .label {
504
+ .label.small {
505
+ padding: 0 var(--ic-space-xxs);
506
+ }
507
+
508
+ .label.medium {
509
+ padding: 0 calc(var(--ic-space-xs) - var(--ic-space-xxxs));
510
+ }
511
+
512
+ .label.large {
500
513
  padding: 0 var(--ic-space-xs);
501
514
  }
502
515
 
@@ -596,7 +609,6 @@ ic-tooltip:focus-within {
596
609
 
597
610
  .icon,
598
611
  ic-tooltip {
599
- width: var(--ic-space-lg);
600
612
  height: var(--ic-space-lg);
601
613
  }
602
614
 
@@ -109,7 +109,11 @@ export class Chip {
109
109
  hovered,
110
110
  "non-transparent": variant === "outlined" && !transparentBackground,
111
111
  "full-width": fullWidth,
112
- } }, isSlotUsed(this.el, "icon") && (h("div", { key: '3d12f1e7c932cd91f0835f3fe7c76ec6784bc44f', class: "icon" }, h("slot", { key: '5307ba63af7c7342cf32072ccebf02788265e0f5', name: "icon" }))), h("ic-typography", { key: '71a528ad758c4a09dbe1bfa879f4ca0b4a9177b7', variant: "label", "apply-vertical-margins": false, class: { label: true, "in-ag-grid": isElInAGGrid(this.el) } }, h("span", { key: '85e3af35df8a3f2243bc0b36130a6238b6c6200d' }, label)), dismissible && (h("ic-tooltip", { key: '6d68a771210b186192f7f4486d578a1cb706dda9', label: dismissLabel, target: "dismiss-icon", class: { "tooltip-disabled": disabled } }, h("button", { key: '24917885cac2c78593cb721ce14254c20de85905', id: "dismiss-icon", class: "dismiss-icon", ref: (el) => (this.buttonEl = el), "aria-label": `${dismissLabel} ${ariaLabel}`, disabled: disabled, tabindex: disabled ? -1 : 0, onClick: this.dismissAction, onMouseEnter: this.mouseEnterHandler, onMouseLeave: this.mouseLeaveHandler, innerHTML: dismissIcon }))), isSlotUsed(this.el, "badge") && h("slot", { key: '4a2bf278717384d8d7a1c830788520a385feb638', name: "badge" }))), dismissible && (h("div", { key: '55bd826c4bd73c42d24a7a1aa1cdc52fd3a00d59', class: "sr-only", "aria-live": "polite" }, !visible ? `Dismissed ${ariaLabel}` : ""))));
112
+ } }, isSlotUsed(this.el, "icon") && (h("div", { key: '3d12f1e7c932cd91f0835f3fe7c76ec6784bc44f', class: "icon" }, h("slot", { key: '5307ba63af7c7342cf32072ccebf02788265e0f5', name: "icon" }))), h("ic-typography", { key: 'e30c971835f38594a238e36d849fd1625aeb4e38', variant: "label", "apply-vertical-margins": false, class: {
113
+ label: true,
114
+ [`${size}`]: true,
115
+ "in-ag-grid": isElInAGGrid(this.el),
116
+ } }, h("span", { key: '40f476a368fbb16cee45b53c7de24d85b94a21a7' }, label)), dismissible && (h("ic-tooltip", { key: 'd8ff86e2c616f8233104b364bb8f698473c3448a', label: dismissLabel, target: "dismiss-icon", class: { "tooltip-disabled": disabled } }, h("button", { key: '290db0fd020cc7114403e9c6145c1cc454537476', id: "dismiss-icon", class: "dismiss-icon", ref: (el) => (this.buttonEl = el), "aria-label": `${dismissLabel} ${ariaLabel}`, disabled: disabled, tabindex: disabled ? -1 : 0, onClick: this.dismissAction, onMouseEnter: this.mouseEnterHandler, onMouseLeave: this.mouseLeaveHandler, innerHTML: dismissIcon }))), isSlotUsed(this.el, "badge") && h("slot", { key: 'd4f25acf6b19a63c9683d6aac41a04319cbea203', name: "badge" }))), dismissible && (h("div", { key: '6f5d1ad6395e82d3ec7cd588aa3944922e7a13de', class: "sr-only", "aria-live": "polite" }, !visible ? `Dismissed ${ariaLabel}` : ""))));
113
117
  }
114
118
  static get is() { return "ic-chip"; }
115
119
  static get encapsulation() { return "shadow"; }
@@ -1 +1 @@
1
- {"version":3,"file":"ic-chip.js","sourceRoot":"","sources":["../../../src/components/ic-chip/ic-chip.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n h,\n Prop,\n State,\n Listen,\n Event,\n EventEmitter,\n Element,\n Method,\n Watch,\n Host,\n} from \"@stencil/core\";\nimport {\n onComponentRequiredPropUndefined,\n isSlotUsed,\n removeDisabledFalse,\n convertToRGBA,\n isElInAGGrid,\n getBrandForegroundAppearance,\n renderDynamicChildSlots,\n} from \"../../utils/helpers\";\nimport {\n IcBrandForegroundNoDefault,\n IcColor,\n IcEmphasisType,\n IcSizes,\n IcThemeMode,\n} 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 private buttonEl?: HTMLButtonElement;\n private hostMutationObserver?: MutationObserver;\n\n @Element() el: HTMLIcChipElement;\n\n @State() foregroundColor: IcBrandForegroundNoDefault | null = null;\n @State() hovered = false;\n @State() visible = true;\n\n /**\n * The custom chip colour. This will override the theme colour.\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;\n @Watch(\"customColor\")\n customColorHandler(): void {\n const colorRGBA = this.customColor && convertToRGBA(this.customColor);\n if (!colorRGBA) {\n this.foregroundColor = null;\n return;\n }\n\n const { r, g, b, a } = colorRGBA;\n this.foregroundColor = getBrandForegroundAppearance(\n (r * 299 + g * 587 + b * 114) / 1000\n );\n this.el.setAttribute(\n \"style\",\n `--chip-custom-color: rgba(${r}, ${g}, ${b}, ${a});`\n );\n }\n\n /**\n * If `true`, the chip will appear disabled.\n */\n @Prop() disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the chip will have a close button at the end to dismiss it.\n */\n @Prop() dismissible = false;\n\n /**\n * The text in the dismiss button tooltip and aria label. Makes the user aware of the action resulting from clicking the 'Dismiss chip' button.\n */\n @Prop() dismissLabel = \"Dismiss\";\n\n /**\n * Specify whether the chip fills the full width of the container.\n * If `true`, this overrides the --input-width CSS variable.\n */\n @Prop() fullWidth = 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 = \"medium\";\n /**\n * Sets the chip to the dark or light theme colors. \"inherit\" will set the color based on the system settings or ic-theme component.\n * Setting the \"customColor\" prop will override this.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * If `true`, the outlined variant of chip will have a transparent background rather than the theme defined color.\n */\n @Prop() transparentBackground = true;\n\n /**\n * The emphasis of the chip.\n */\n @Prop() variant: IcEmphasisType = \"filled\";\n\n /**\n * Is emitted when the user dismisses the chip.\n */\n @Event() icDismiss: EventEmitter<void>;\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n this.customColorHandler();\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Chip\"\n );\n\n this.hostMutationObserver = new MutationObserver((mutationList) =>\n renderDynamicChildSlots(mutationList, [\"icon\", \"badge\"], this)\n );\n this.hostMutationObserver.observe(this.el, {\n childList: true,\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.buttonEl?.focus();\n }\n\n private dismissAction = () => {\n this.icDismiss.emit();\n };\n\n private mouseEnterHandler = () => {\n this.hovered = true;\n };\n\n private mouseLeaveHandler = () => {\n this.hovered = false;\n };\n\n render() {\n const {\n label,\n variant,\n size,\n dismissible,\n visible,\n disabled,\n hovered,\n theme,\n foregroundColor,\n dismissLabel,\n transparentBackground,\n fullWidth,\n } = this;\n\n const ariaLabel = `${label} chip`;\n\n return (\n <Host\n class={{\n \"ic-chip-dismissed\": !visible,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [`ic-chip-${foregroundColor}-text`]:\n variant === \"filled\" && !!foregroundColor,\n \"ic-chip-full-width\": fullWidth,\n }}\n >\n {visible && (\n <div\n class={{\n chip: true,\n [`${variant}`]: true,\n [`${size}`]: true,\n disabled,\n dismissible,\n hovered,\n \"non-transparent\":\n variant === \"outlined\" && !transparentBackground,\n \"full-width\": fullWidth,\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: true, \"in-ag-grid\": isElInAGGrid(this.el) }}\n >\n <span>{label}</span>\n </ic-typography>\n {dismissible && (\n <ic-tooltip\n label={dismissLabel}\n target=\"dismiss-icon\"\n class={{ \"tooltip-disabled\": disabled }}\n >\n <button\n id=\"dismiss-icon\"\n class=\"dismiss-icon\"\n ref={(el) => (this.buttonEl = el)}\n aria-label={`${dismissLabel} ${ariaLabel}`}\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 {dismissible && (\n <div class=\"sr-only\" aria-live=\"polite\">\n {!visible ? `Dismissed ${ariaLabel}` : \"\"}\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-chip.js","sourceRoot":"","sources":["../../../src/components/ic-chip/ic-chip.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n h,\n Prop,\n State,\n Listen,\n Event,\n EventEmitter,\n Element,\n Method,\n Watch,\n Host,\n} from \"@stencil/core\";\nimport {\n onComponentRequiredPropUndefined,\n isSlotUsed,\n removeDisabledFalse,\n convertToRGBA,\n isElInAGGrid,\n getBrandForegroundAppearance,\n renderDynamicChildSlots,\n} from \"../../utils/helpers\";\nimport {\n IcBrandForegroundNoDefault,\n IcColor,\n IcEmphasisType,\n IcSizes,\n IcThemeMode,\n} 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 private buttonEl?: HTMLButtonElement;\n private hostMutationObserver?: MutationObserver;\n\n @Element() el: HTMLIcChipElement;\n\n @State() foregroundColor: IcBrandForegroundNoDefault | null = null;\n @State() hovered = false;\n @State() visible = true;\n\n /**\n * The custom chip colour. This will override the theme colour.\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;\n @Watch(\"customColor\")\n customColorHandler(): void {\n const colorRGBA = this.customColor && convertToRGBA(this.customColor);\n if (!colorRGBA) {\n this.foregroundColor = null;\n return;\n }\n\n const { r, g, b, a } = colorRGBA;\n this.foregroundColor = getBrandForegroundAppearance(\n (r * 299 + g * 587 + b * 114) / 1000\n );\n this.el.setAttribute(\n \"style\",\n `--chip-custom-color: rgba(${r}, ${g}, ${b}, ${a});`\n );\n }\n\n /**\n * If `true`, the chip will appear disabled.\n */\n @Prop() disabled = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the chip will have a close button at the end to dismiss it.\n */\n @Prop() dismissible = false;\n\n /**\n * The text in the dismiss button tooltip and aria label. Makes the user aware of the action resulting from clicking the 'Dismiss chip' button.\n */\n @Prop() dismissLabel = \"Dismiss\";\n\n /**\n * Specify whether the chip fills the full width of the container.\n * If `true`, this overrides the --input-width CSS variable.\n */\n @Prop() fullWidth = 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 = \"medium\";\n /**\n * Sets the chip to the dark or light theme colors. \"inherit\" will set the color based on the system settings or ic-theme component.\n * Setting the \"customColor\" prop will override this.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * If `true`, the outlined variant of chip will have a transparent background rather than the theme defined color.\n */\n @Prop() transparentBackground = true;\n\n /**\n * The emphasis of the chip.\n */\n @Prop() variant: IcEmphasisType = \"filled\";\n\n /**\n * Is emitted when the user dismisses the chip.\n */\n @Event() icDismiss: EventEmitter<void>;\n\n disconnectedCallback(): void {\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n removeDisabledFalse(this.disabled, this.el);\n this.customColorHandler();\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.label, propName: \"label\" }],\n \"Chip\"\n );\n\n this.hostMutationObserver = new MutationObserver((mutationList) =>\n renderDynamicChildSlots(mutationList, [\"icon\", \"badge\"], this)\n );\n this.hostMutationObserver.observe(this.el, {\n childList: true,\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.buttonEl?.focus();\n }\n\n private dismissAction = () => {\n this.icDismiss.emit();\n };\n\n private mouseEnterHandler = () => {\n this.hovered = true;\n };\n\n private mouseLeaveHandler = () => {\n this.hovered = false;\n };\n\n render() {\n const {\n label,\n variant,\n size,\n dismissible,\n visible,\n disabled,\n hovered,\n theme,\n foregroundColor,\n dismissLabel,\n transparentBackground,\n fullWidth,\n } = this;\n\n const ariaLabel = `${label} chip`;\n\n return (\n <Host\n class={{\n \"ic-chip-dismissed\": !visible,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [`ic-chip-${foregroundColor}-text`]:\n variant === \"filled\" && !!foregroundColor,\n \"ic-chip-full-width\": fullWidth,\n }}\n >\n {visible && (\n <div\n class={{\n chip: true,\n [`${variant}`]: true,\n [`${size}`]: true,\n disabled,\n dismissible,\n hovered,\n \"non-transparent\":\n variant === \"outlined\" && !transparentBackground,\n \"full-width\": fullWidth,\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={{\n label: true,\n [`${size}`]: true,\n \"in-ag-grid\": isElInAGGrid(this.el),\n }}\n >\n <span>{label}</span>\n </ic-typography>\n {dismissible && (\n <ic-tooltip\n label={dismissLabel}\n target=\"dismiss-icon\"\n class={{ \"tooltip-disabled\": disabled }}\n >\n <button\n id=\"dismiss-icon\"\n class=\"dismiss-icon\"\n ref={(el) => (this.buttonEl = el)}\n aria-label={`${dismissLabel} ${ariaLabel}`}\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 {dismissible && (\n <div class=\"sr-only\" aria-live=\"polite\">\n {!visible ? `Dismissed ${ariaLabel}` : \"\"}\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
@@ -20,6 +20,10 @@ export class ClassificationBanner {
20
20
  * The optional text that will be displayed before classification to specify relevant country/countries.
21
21
  */
22
22
  this.country = "uk";
23
+ /**
24
+ * The custom text that will appear on the banner. If set, the `additionalSelectors`, `country` and `upTo` props are ignored.
25
+ */
26
+ this.customClassificationText = "";
23
27
  /**
24
28
  * If `true`, the banner will appear inline with the page, instead of sticking to the bottom of the page.
25
29
  */
@@ -32,7 +36,7 @@ export class ClassificationBanner {
32
36
  render() {
33
37
  const { inline, upTo } = this;
34
38
  // In case of unrecognized props, fallback to default
35
- let { country, additionalSelectors, classification } = this;
39
+ let { country, additionalSelectors, classification, customClassificationText, } = this;
36
40
  if (!country)
37
41
  country = "";
38
42
  if (!additionalSelectors)
@@ -40,12 +44,16 @@ export class ClassificationBanner {
40
44
  if (!classification ||
41
45
  (classification && !classificationText[classification]))
42
46
  classification = "default";
43
- return (h(Host, { key: '4d06c781318ef854931702315e73054f65b85259', class: { ["ic-classification-banner-inline"]: !!inline } }, h("banner", { key: '251f6ced1270c823b1be9e39375139756adcd3e2', "aria-label": "Protective marking", class: {
47
+ if (!customClassificationText)
48
+ customClassificationText = "";
49
+ return (h(Host, { key: 'dbf7b4fe92229fd32723c06070338a3611939bd5', class: { ["ic-classification-banner-inline"]: !!inline } }, h("banner", { key: '23e95a6a2ca33447e1b64cda93690cf6781bd14f', "aria-label": "Protective marking", class: {
44
50
  ["classification-banner"]: true,
45
51
  [`${classification}`]: classification,
46
- } }, classification !== "default" ? (h("span", { class: "offscreen" }, "The protective marking of this page is:", " ")) : null, h("ic-typography", { key: '3fd3a609c017ed0b5b24296464bae43dcf8cba67', variant: "caption-uppercase" }, classification === "default"
47
- ? classificationText[classification]
48
- : `${upTo ? "up to" : ""}
52
+ } }, classification !== "default" ? (h("span", { class: "offscreen" }, "The protective marking of this page is:", " ")) : null, h("ic-typography", { key: 'ff41a45d594eeeffe2f078b3ae3a99792a6f38c3', variant: "caption-uppercase" }, customClassificationText !== ""
53
+ ? customClassificationText
54
+ : classification === "default"
55
+ ? classificationText[classification]
56
+ : `${upTo ? "up to" : ""}
49
57
  ${country}
50
58
  ${classificationText[classification]}
51
59
  ${additionalSelectors}`))));
@@ -130,6 +138,26 @@ export class ClassificationBanner {
130
138
  "reflect": false,
131
139
  "defaultValue": "\"uk\""
132
140
  },
141
+ "customClassificationText": {
142
+ "type": "string",
143
+ "mutable": false,
144
+ "complexType": {
145
+ "original": "string",
146
+ "resolved": "string | undefined",
147
+ "references": {}
148
+ },
149
+ "required": false,
150
+ "optional": true,
151
+ "docs": {
152
+ "tags": [],
153
+ "text": "The custom text that will appear on the banner. If set, the `additionalSelectors`, `country` and `upTo` props are ignored."
154
+ },
155
+ "getter": false,
156
+ "setter": false,
157
+ "attribute": "custom-classification-text",
158
+ "reflect": false,
159
+ "defaultValue": "\"\""
160
+ },
133
161
  "inline": {
134
162
  "type": "boolean",
135
163
  "mutable": false,
@@ -1 +1 @@
1
- {"version":3,"file":"ic-classification-banner.js","sourceRoot":"","sources":["../../../src/components/ic-classification-banner/ic-classification-banner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGzD,MAAM,kBAAkB,GAAG;IACzB,OAAO,EAAE,4BAA4B;IACrC,QAAQ,EAAE,UAAU;IACpB,oBAAoB,EAAE,oBAAoB;IAC1C,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,YAAY;CAC3B,CAAC;AAOF,MAAM,OAAO,oBAAoB;IALjC;QAME;;WAEG;QACK,wBAAmB,GAAY,EAAE,CAAC;QAC1C;;WAEG;QACK,mBAAc,GAA0B,SAAS,CAAC;QAC1D;;WAEG;QACK,YAAO,GAAY,IAAI,CAAC;QAChC;;WAEG;QACK,WAAM,GAAa,KAAK,CAAC;QACjC;;WAEG;QACK,SAAI,GAAa,KAAK,CAAC;KAyChC;IAvCC,MAAM;QACJ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAE9B,qDAAqD;QACrD,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAC5D,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB;YAAE,mBAAmB,GAAG,EAAE,CAAC;QACnD,IACE,CAAC,cAAc;YACf,CAAC,cAAc,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;YAEvD,cAAc,GAAG,SAAS,CAAC;QAE7B,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,EAAE,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;YAC5D,6EACa,oBAAoB,EAC/B,KAAK,EAAE;oBACL,CAAC,uBAAuB,CAAC,EAAE,IAAI;oBAC/B,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,cAAc;iBACtC;gBAEA,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,CAC9B,YAAM,KAAK,EAAC,WAAW;;oBACmB,GAAG,CACtC,CACR,CAAC,CAAC,CAAC,IAAI;gBACR,sEAAe,OAAO,EAAC,mBAAmB,IACvC,cAAc,KAAK,SAAS;oBAC3B,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC;oBACpC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;iBACrB,OAAO;iBACP,kBAAkB,CAAC,cAAc,CAAC;iBAClC,mBAAmB,EAAE,CACZ,CACT,CACJ,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Host } from \"@stencil/core\";\nimport { IcProtectiveMarkings } from \"./ic-classification-banner.types\";\n\nconst classificationText = {\n default: \"protective marking not set\",\n official: \"official\",\n \"official-sensitive\": \"official-sensitive\",\n secret: \"secret\",\n \"top-secret\": \"top secret\",\n};\n\n@Component({\n tag: \"ic-classification-banner\",\n styleUrl: \"ic-classification-banner.css\",\n shadow: true,\n})\nexport class ClassificationBanner {\n /**\n * The additional information that will be displayed after the classification.\n */\n @Prop() additionalSelectors?: string = \"\";\n /**\n * The classification level to be displayed - also determines the banner and text colour.\n */\n @Prop() classification?: IcProtectiveMarkings = \"default\";\n /**\n * The optional text that will be displayed before classification to specify relevant country/countries.\n */\n @Prop() country?: string = \"uk\";\n /**\n * If `true`, the banner will appear inline with the page, instead of sticking to the bottom of the page.\n */\n @Prop() inline?: boolean = false;\n /**\n * If `true`, \"Up to\" will be displayed before the classification and country.\n */\n @Prop() upTo?: boolean = false;\n\n render() {\n const { inline, upTo } = this;\n\n // In case of unrecognized props, fallback to default\n let { country, additionalSelectors, classification } = this;\n if (!country) country = \"\";\n if (!additionalSelectors) additionalSelectors = \"\";\n if (\n !classification ||\n (classification && !classificationText[classification])\n )\n classification = \"default\";\n\n return (\n <Host class={{ [\"ic-classification-banner-inline\"]: !!inline }}>\n <banner\n aria-label=\"Protective marking\"\n class={{\n [\"classification-banner\"]: true,\n [`${classification}`]: classification,\n }}\n >\n {classification !== \"default\" ? (\n <span class=\"offscreen\">\n The protective marking of this page is:{\" \"}\n </span>\n ) : null}\n <ic-typography variant=\"caption-uppercase\">\n {classification === \"default\"\n ? classificationText[classification]\n : `${upTo ? \"up to\" : \"\"} \n ${country} \n ${classificationText[classification]} \n ${additionalSelectors}`}\n </ic-typography>\n </banner>\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-classification-banner.js","sourceRoot":"","sources":["../../../src/components/ic-classification-banner/ic-classification-banner.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAGzD,MAAM,kBAAkB,GAAG;IACzB,OAAO,EAAE,4BAA4B;IACrC,QAAQ,EAAE,UAAU;IACpB,oBAAoB,EAAE,oBAAoB;IAC1C,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,YAAY;CAC3B,CAAC;AAOF,MAAM,OAAO,oBAAoB;IALjC;QAME;;WAEG;QACK,wBAAmB,GAAY,EAAE,CAAC;QAC1C;;WAEG;QACK,mBAAc,GAA0B,SAAS,CAAC;QAC1D;;WAEG;QACK,YAAO,GAAY,IAAI,CAAC;QAChC;;WAEG;QACK,6BAAwB,GAAY,EAAE,CAAC;QAC/C;;WAEG;QACK,WAAM,GAAa,KAAK,CAAC;QACjC;;WAEG;QACK,SAAI,GAAa,KAAK,CAAC;KAiDhC;IA/CC,MAAM;QACJ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;QAE9B,qDAAqD;QACrD,IAAI,EACF,OAAO,EACP,mBAAmB,EACnB,cAAc,EACd,wBAAwB,GACzB,GAAG,IAAI,CAAC;QACT,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB;YAAE,mBAAmB,GAAG,EAAE,CAAC;QACnD,IACE,CAAC,cAAc;YACf,CAAC,cAAc,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;YAEvD,cAAc,GAAG,SAAS,CAAC;QAC7B,IAAI,CAAC,wBAAwB;YAAE,wBAAwB,GAAG,EAAE,CAAC;QAE7D,OAAO,CACL,EAAC,IAAI,qDAAC,KAAK,EAAE,EAAE,CAAC,iCAAiC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE;YAC5D,6EACa,oBAAoB,EAC/B,KAAK,EAAE;oBACL,CAAC,uBAAuB,CAAC,EAAE,IAAI;oBAC/B,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,cAAc;iBACtC;gBAEA,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,CAC9B,YAAM,KAAK,EAAC,WAAW;;oBACmB,GAAG,CACtC,CACR,CAAC,CAAC,CAAC,IAAI;gBACR,sEAAe,OAAO,EAAC,mBAAmB,IACvC,wBAAwB,KAAK,EAAE;oBAC9B,CAAC,CAAC,wBAAwB;oBAC1B,CAAC,CAAC,cAAc,KAAK,SAAS;wBAC9B,CAAC,CAAC,kBAAkB,CAAC,cAAc,CAAC;wBACpC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE;iBACrB,OAAO;iBACP,kBAAkB,CAAC,cAAc,CAAC;iBAClC,mBAAmB,EAAE,CACZ,CACT,CACJ,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["import { Component, Prop, h, Host } from \"@stencil/core\";\nimport { IcProtectiveMarkings } from \"./ic-classification-banner.types\";\n\nconst classificationText = {\n default: \"protective marking not set\",\n official: \"official\",\n \"official-sensitive\": \"official-sensitive\",\n secret: \"secret\",\n \"top-secret\": \"top secret\",\n};\n\n@Component({\n tag: \"ic-classification-banner\",\n styleUrl: \"ic-classification-banner.css\",\n shadow: true,\n})\nexport class ClassificationBanner {\n /**\n * The additional information that will be displayed after the classification.\n */\n @Prop() additionalSelectors?: string = \"\";\n /**\n * The classification level to be displayed - also determines the banner and text colour.\n */\n @Prop() classification?: IcProtectiveMarkings = \"default\";\n /**\n * The optional text that will be displayed before classification to specify relevant country/countries.\n */\n @Prop() country?: string = \"uk\";\n /**\n * The custom text that will appear on the banner. If set, the `additionalSelectors`, `country` and `upTo` props are ignored.\n */\n @Prop() customClassificationText?: string = \"\";\n /**\n * If `true`, the banner will appear inline with the page, instead of sticking to the bottom of the page.\n */\n @Prop() inline?: boolean = false;\n /**\n * If `true`, \"Up to\" will be displayed before the classification and country.\n */\n @Prop() upTo?: boolean = false;\n\n render() {\n const { inline, upTo } = this;\n\n // In case of unrecognized props, fallback to default\n let {\n country,\n additionalSelectors,\n classification,\n customClassificationText,\n } = this;\n if (!country) country = \"\";\n if (!additionalSelectors) additionalSelectors = \"\";\n if (\n !classification ||\n (classification && !classificationText[classification])\n )\n classification = \"default\";\n if (!customClassificationText) customClassificationText = \"\";\n\n return (\n <Host class={{ [\"ic-classification-banner-inline\"]: !!inline }}>\n <banner\n aria-label=\"Protective marking\"\n class={{\n [\"classification-banner\"]: true,\n [`${classification}`]: classification,\n }}\n >\n {classification !== \"default\" ? (\n <span class=\"offscreen\">\n The protective marking of this page is:{\" \"}\n </span>\n ) : null}\n <ic-typography variant=\"caption-uppercase\">\n {customClassificationText !== \"\"\n ? customClassificationText\n : classification === \"default\"\n ? classificationText[classification]\n : `${upTo ? \"up to\" : \"\"} \n ${country} \n ${classificationText[classification]} \n ${additionalSelectors}`}\n </ic-typography>\n </banner>\n </Host>\n );\n }\n}\n"]}
@@ -4,6 +4,7 @@ const defaultArgs = {
4
4
  additionalSelectors: "",
5
5
  classification: "official",
6
6
  country: "uk",
7
+ customClassificationText: "",
7
8
  inline: true,
8
9
  upTo: false,
9
10
  };
@@ -99,6 +100,36 @@ export const AdditionalSelectors = {
99
100
  name: "Additional selectors",
100
101
  };
101
102
 
103
+ export const CustomClassificationStrings = {
104
+ render: () =>
105
+ html`<ic-classification-banner
106
+ inline="true"
107
+ custom-classification-text="Custom Unknown classification"
108
+ ></ic-classification-banner>
109
+ <ic-classification-banner
110
+ classification="official"
111
+ inline="true"
112
+ custom-classification-text="Custom Official classification"
113
+ ></ic-classification-banner>
114
+ <ic-classification-banner
115
+ classification="official-sensitive"
116
+ inline="true"
117
+ custom-classification-text="Custom Official-Sensitive classification"
118
+ ></ic-classification-banner>
119
+ <ic-classification-banner
120
+ classification="secret"
121
+ inline="true"
122
+ custom-classification-text="Custom Secret classification"
123
+ ></ic-classification-banner>
124
+ <ic-classification-banner
125
+ classification="top-secret"
126
+ inline="true"
127
+ custom-classification-text="Custom Top Secret classification"
128
+ ></ic-classification-banner>`,
129
+
130
+ name: "Custom Classifications",
131
+ };
132
+
102
133
  export const Playground = {
103
134
  render: (args) =>
104
135
  html`<ic-classification-banner
@@ -107,6 +138,7 @@ export const Playground = {
107
138
  up-to=${args.upTo}
108
139
  country=${args.country}
109
140
  additional-selectors=${args.additionalSelectors}
141
+ custom-classification-text=${args.customClassificationText}
110
142
  ></ic-classification-banner>`,
111
143
 
112
144
  args: defaultArgs,
@@ -19,10 +19,10 @@ export class DataList {
19
19
  Array.from(el.children).forEach((child) => child.setAttribute("size", "small"));
20
20
  }
21
21
  const hasHeading = heading || el.querySelector('[slot="heading"]');
22
- return (h(Host, { key: '1c611db796f79fc54af3a89e4b7ed0439e09f8ce', class: {
22
+ return (h(Host, { key: '57df6c957322ddb4cdda3901c64e919656abf92e', class: {
23
23
  "ic-data-list-small": size === "small",
24
24
  [`ic-theme-${theme}`]: theme !== "inherit",
25
- } }, h("div", { key: '5936cad1baba390f150bb72a2ef5b0ee7eaf5750', class: "heading", id: "data-list-heading" }, h("slot", { key: '2d0080f2848355022ea118f8ef2f78cafb584bf3', name: "heading" }, h("ic-typography", { key: 'dee1629146c3e50998552ae3c814eee17bc196c5', variant: "h3" }, heading))), h("div", { key: 'bb1c6bf91cfcd71205acd3d15b504057d3fd566f', class: { divider: true, "divider-no-heading": !hasHeading } }), h("ul", { key: '838380d006c00c28fb309aef1f57ab3bd8534102', "aria-labelledby": "data-list-heading", class: "rows" }, h("slot", { key: '6f84ce3a6716791113f5288a17c3a9a2416552d9' }))));
25
+ } }, h("div", { key: '273e0ce2fcde309669514b332964e129d1ef42a6', class: "heading", id: "data-list-heading" }, h("slot", { key: '1be24c7150c268064207cf58f083ab9bd8cb27c7', name: "heading" }, h("ic-typography", { key: '30858cd0d5c66204a030449c5b8212c1c41d1838', variant: "h3" }, heading))), h("div", { key: '2f13fa15abc8053f312ff21454b6a89d15b4eabd', class: { divider: true, "divider-no-heading": !hasHeading } }), h("ul", { key: '582dd8f21ce4e3a9dd845aa46294ebe2c5163d01', "aria-labelledby": "data-list-heading", class: "rows" }, h("slot", { key: '42b137d71f0c9e3f836f1efdde58f62d90b080a4' }))));
26
26
  }
27
27
  static get is() { return "ic-data-list"; }
28
28
  static get encapsulation() { return "shadow"; }
@@ -68,12 +68,12 @@ export class DataRow {
68
68
  }
69
69
  render() {
70
70
  const { el, listSize, hasEndComponent, label, renderCellContent, size, theme, value, } = this;
71
- return (h(Host, { key: '720dc55ba7e1000ce6837a15d9d7accc726cc1ff', class: {
71
+ return (h(Host, { key: 'd5c6ff5a373e32e4e310dd0ddb6bbcfea0f2704a', class: {
72
72
  ["ic-data-row-small"]: size === "small",
73
73
  ["breakpoint-medium"]: listSize === "m",
74
74
  ["breakpoint-xs"]: listSize === "xs",
75
75
  [`ic-theme-${theme}`]: theme !== "inherit",
76
- }, role: "listitem" }, h("div", { key: '28e63fbb09ad16bcc6843a85047635e91006a220', class: "data" }, h("div", { key: '698f607af4b50db1bc837d83df0f46ee9cc4201f', class: "text-cells" }, (isSlotUsed(el, "label") || label) && renderCellContent("label"), (isSlotUsed(el, "value") || value) && renderCellContent("value")), hasEndComponent && (h("div", { key: '1febd59bc77239e0cedcc64953c0a5d2b4bbba6d', class: "end-component" }, h("slot", { key: 'dfa67b2ff598520d1b3f47a1479e4448aa84986f', name: "end-component" })))), h("div", { key: '989733a9cf32e8d452c4c2d4ae24844c7d38ece2', class: "divider" })));
76
+ }, role: "listitem" }, h("div", { key: 'b2867cd3b8a493ec7e4f4cff48849d94560c1fdc', class: "data" }, h("div", { key: 'd3fd667e4612907b81081ddae99c3228e2dbb954', class: "text-cells" }, (isSlotUsed(el, "label") || label) && renderCellContent("label"), (isSlotUsed(el, "value") || value) && renderCellContent("value")), hasEndComponent && (h("div", { key: 'dbbb33f8a2726f801dc72ca1f11544073ba8bc69', class: "end-component" }, h("slot", { key: 'fd4b247214447bac2a7a5bc9385a8f91cb44436f', name: "end-component" })))), h("div", { key: '8e19fde06b9fa34a3295e37fe726f163593f6674', class: "divider" })));
77
77
  }
78
78
  static get is() { return "ic-data-row"; }
79
79
  static get encapsulation() { return "shadow"; }