@ukic/web-components 2.1.0-beta.0 → 2.1.0-beta.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (591) hide show
  1. package/dist/cjs/core.cjs.js +2 -2
  2. package/dist/cjs/core.cjs.js.map +1 -1
  3. package/dist/cjs/{helpers-d0eeccf0.js → helpers-8bc3b6d2.js} +83 -38
  4. package/dist/cjs/helpers-8bc3b6d2.js.map +1 -0
  5. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  6. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-back-to-top.cjs.entry.js +19 -9
  8. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-breadcrumb.cjs.entry.js +2 -2
  12. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-button_3.cjs.entry.js +59 -18
  14. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  15. package/dist/cjs/ic-card.cjs.entry.js +16 -3
  16. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-checkbox-group.cjs.entry.js +1 -1
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-checkbox.cjs.entry.js +5 -4
  20. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-classification-banner.cjs.entry.js +1 -1
  22. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-data-entity.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  26. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  30. package/dist/cjs/ic-footer-link.cjs.entry.js +2 -2
  31. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-footer.cjs.entry.js +2 -2
  33. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  35. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +6 -5
  37. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
  39. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-link.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  43. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-navigation-group.cjs.entry.js +1 -1
  45. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  47. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-navigation-menu.cjs.entry.js +1 -1
  49. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-page-header.cjs.entry.js +1 -1
  51. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
  53. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-radio-option.cjs.entry.js +2 -3
  55. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-search-bar.cjs.entry.js +17 -3
  57. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  59. package/dist/cjs/ic-select.cjs.entry.js +2 -7
  60. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  61. package/dist/cjs/ic-side-navigation.cjs.entry.js +9 -5
  62. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  63. package/dist/cjs/ic-skeleton.cjs.entry.js +1 -1
  64. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  65. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
  66. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  67. package/dist/cjs/ic-step.cjs.entry.js +1 -9
  68. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-stepper.cjs.entry.js +1 -1
  70. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  71. package/dist/cjs/ic-switch.cjs.entry.js +2 -2
  72. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  73. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-tab-group.cjs.entry.js +1 -1
  75. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-tab-panel.cjs.entry.js +0 -4
  77. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-tab.cjs.entry.js +1 -5
  79. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-text-field.cjs.entry.js +2 -2
  81. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-theme.cjs.entry.js +19 -11
  83. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-top-navigation.cjs.entry.js +2 -2
  85. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  87. package/dist/cjs/index-3ef30d9d.js.map +1 -1
  88. package/dist/cjs/loader.cjs.js +2 -2
  89. package/dist/cjs/loader.cjs.js.map +1 -1
  90. package/dist/cjs/types-3eb02246.js.map +1 -1
  91. package/dist/collection/collection-manifest.json +2 -2
  92. package/dist/collection/components/ic-alert/ic-alert.css +10 -4
  93. package/dist/collection/components/ic-alert/ic-alert.js +7 -7
  94. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  95. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +6 -0
  96. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +17 -7
  97. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  98. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +6 -0
  99. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +4 -4
  100. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  101. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +2 -2
  102. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  103. package/dist/collection/components/ic-button/ic-button.css +11 -0
  104. package/dist/collection/components/ic-button/ic-button.js +11 -11
  105. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  106. package/dist/collection/components/ic-card/ic-card.css +5 -0
  107. package/dist/collection/components/ic-card/ic-card.js +31 -10
  108. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  109. package/dist/collection/components/ic-checkbox/ic-checkbox.css +38 -1
  110. package/dist/collection/components/ic-checkbox/ic-checkbox.js +12 -11
  111. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  112. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +9 -9
  113. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  114. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +6 -0
  115. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +5 -5
  116. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  117. package/dist/collection/components/ic-data-entity/ic-data-entity.css +6 -0
  118. package/dist/collection/components/ic-data-entity/ic-data-entity.js +2 -2
  119. package/dist/collection/components/ic-data-entity/ic-data-entity.js.map +1 -1
  120. package/dist/collection/components/ic-data-row/ic-data-row.css +7 -1
  121. package/dist/collection/components/ic-data-row/ic-data-row.js +3 -3
  122. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  123. package/dist/collection/components/ic-footer/ic-footer.css +6 -0
  124. package/dist/collection/components/ic-footer/ic-footer.js +10 -10
  125. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  126. package/dist/collection/components/ic-footer-link/ic-footer-link.css +14 -1
  127. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +1 -1
  128. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  129. package/dist/collection/components/ic-hero/ic-hero.js +9 -9
  130. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  131. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +18 -4
  132. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +8 -8
  133. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  134. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  135. package/dist/collection/components/ic-input-container/ic-input-container.js.map +1 -1
  136. package/dist/collection/components/ic-input-label/ic-input-label.js +8 -8
  137. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  138. package/dist/collection/components/ic-input-validation/ic-input-validation.js +5 -5
  139. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  140. package/dist/collection/components/ic-link/ic-link.js +6 -6
  141. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  142. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +56 -101
  143. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +58 -15
  144. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  145. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.types.js.map +1 -1
  146. package/dist/collection/components/ic-menu/ic-menu.css +8 -1
  147. package/dist/collection/components/ic-menu/ic-menu.js +13 -12
  148. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  149. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +4 -4
  150. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  151. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +2 -2
  152. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  153. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +6 -6
  154. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  155. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +2 -2
  156. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  157. package/dist/collection/components/ic-page-header/ic-page-header.css +1 -0
  158. package/dist/collection/components/ic-page-header/ic-page-header.js +8 -8
  159. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  160. package/dist/collection/components/ic-radio-group/ic-radio-group.js +9 -9
  161. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  162. package/dist/collection/components/ic-radio-option/ic-radio-option.css +29 -10
  163. package/dist/collection/components/ic-radio-option/ic-radio-option.js +8 -23
  164. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  165. package/dist/collection/components/ic-search-bar/ic-search-bar.js +40 -25
  166. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  167. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  168. package/dist/collection/components/ic-section-container/ic-section-container.js.map +1 -1
  169. package/dist/collection/components/ic-select/ic-select.js +19 -24
  170. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  171. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +15 -12
  172. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +19 -15
  173. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  174. package/dist/collection/components/ic-skeleton/ic-skeleton.css +8 -0
  175. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  176. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  177. package/dist/collection/components/ic-status-tag/ic-status-tag.css +8 -0
  178. package/dist/collection/components/ic-status-tag/ic-status-tag.js +1 -1
  179. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  180. package/dist/collection/components/ic-step/ic-step.css +36 -1
  181. package/dist/collection/components/ic-step/ic-step.js +9 -16
  182. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  183. package/dist/collection/components/ic-stepper/ic-stepper.js +1 -1
  184. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  185. package/dist/collection/components/ic-switch/ic-switch.css +30 -0
  186. package/dist/collection/components/ic-switch/ic-switch.js +7 -7
  187. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  188. package/dist/collection/components/ic-tab/ic-tab.css +11 -1
  189. package/dist/collection/components/ic-tab/ic-tab.js +7 -11
  190. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  191. package/dist/collection/components/ic-tab-context/ic-tab-context.js +3 -3
  192. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  193. package/dist/collection/components/ic-tab-group/ic-tab-group.js +4 -4
  194. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  195. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +4 -8
  196. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  197. package/dist/collection/components/ic-text-field/ic-text-field.css +11 -0
  198. package/dist/collection/components/ic-text-field/ic-text-field.js +26 -26
  199. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  200. package/dist/collection/components/ic-theme/ic-theme.js +22 -12
  201. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  202. package/dist/collection/components/ic-tooltip/ic-tooltip.css +6 -0
  203. package/dist/collection/components/ic-tooltip/ic-tooltip.js +3 -1
  204. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  205. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +91 -78
  206. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +6 -6
  207. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  208. package/dist/collection/components/ic-typography/ic-typography.js +1 -1
  209. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  210. package/dist/collection/testspec.setup.js.map +1 -1
  211. package/dist/collection/utils/constants.js +9 -0
  212. package/dist/collection/utils/constants.js.map +1 -1
  213. package/dist/collection/utils/helpers.js +68 -35
  214. package/dist/collection/utils/helpers.js.map +1 -1
  215. package/dist/collection/utils/types.js.map +1 -1
  216. package/dist/components/helpers.js +78 -36
  217. package/dist/components/helpers.js.map +1 -1
  218. package/dist/components/ic-alert.js +1 -1
  219. package/dist/components/ic-alert.js.map +1 -1
  220. package/dist/components/ic-back-to-top.js +18 -8
  221. package/dist/components/ic-back-to-top.js.map +1 -1
  222. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  223. package/dist/components/ic-breadcrumb2.js +1 -1
  224. package/dist/components/ic-breadcrumb2.js.map +1 -1
  225. package/dist/components/ic-button2.js +3 -3
  226. package/dist/components/ic-button2.js.map +1 -1
  227. package/dist/components/ic-card.js +19 -4
  228. package/dist/components/ic-card.js.map +1 -1
  229. package/dist/components/ic-checkbox-group.js +1 -1
  230. package/dist/components/ic-checkbox-group.js.map +1 -1
  231. package/dist/components/ic-checkbox.js +5 -4
  232. package/dist/components/ic-checkbox.js.map +1 -1
  233. package/dist/components/ic-classification-banner.js +1 -1
  234. package/dist/components/ic-classification-banner.js.map +1 -1
  235. package/dist/components/ic-data-entity.js +1 -1
  236. package/dist/components/ic-data-entity.js.map +1 -1
  237. package/dist/components/ic-data-row.js +1 -1
  238. package/dist/components/ic-data-row.js.map +1 -1
  239. package/dist/components/ic-divider2.js +1 -1
  240. package/dist/components/ic-footer-link-group.js +1 -1
  241. package/dist/components/ic-footer-link-group.js.map +1 -1
  242. package/dist/components/ic-footer-link.js +2 -2
  243. package/dist/components/ic-footer-link.js.map +1 -1
  244. package/dist/components/ic-footer.js +2 -2
  245. package/dist/components/ic-footer.js.map +1 -1
  246. package/dist/components/ic-hero.js +1 -1
  247. package/dist/components/ic-hero.js.map +1 -1
  248. package/dist/components/ic-input-component-container2.js +1 -1
  249. package/dist/components/ic-input-component-container2.js.map +1 -1
  250. package/dist/components/ic-input-container2.js.map +1 -1
  251. package/dist/components/ic-input-label2.js +1 -1
  252. package/dist/components/ic-input-label2.js.map +1 -1
  253. package/dist/components/ic-input-validation2.js +1 -1
  254. package/dist/components/ic-input-validation2.js.map +1 -1
  255. package/dist/components/ic-link2.js +1 -1
  256. package/dist/components/ic-link2.js.map +1 -1
  257. package/dist/components/ic-loading-indicator2.js +55 -14
  258. package/dist/components/ic-loading-indicator2.js.map +1 -1
  259. package/dist/components/ic-menu2.js +4 -3
  260. package/dist/components/ic-menu2.js.map +1 -1
  261. package/dist/components/ic-navigation-button.js +1 -1
  262. package/dist/components/ic-navigation-button.js.map +1 -1
  263. package/dist/components/ic-navigation-group.js +1 -1
  264. package/dist/components/ic-navigation-group.js.map +1 -1
  265. package/dist/components/ic-navigation-item.js +1 -1
  266. package/dist/components/ic-navigation-item.js.map +1 -1
  267. package/dist/components/ic-navigation-menu2.js +1 -1
  268. package/dist/components/ic-navigation-menu2.js.map +1 -1
  269. package/dist/components/ic-page-header.js.map +1 -1
  270. package/dist/components/ic-radio-group.js +1 -1
  271. package/dist/components/ic-radio-group.js.map +1 -1
  272. package/dist/components/ic-radio-option.js +2 -3
  273. package/dist/components/ic-radio-option.js.map +1 -1
  274. package/dist/components/ic-search-bar.js +18 -3
  275. package/dist/components/ic-search-bar.js.map +1 -1
  276. package/dist/components/ic-section-container2.js.map +1 -1
  277. package/dist/components/ic-select.js +2 -7
  278. package/dist/components/ic-select.js.map +1 -1
  279. package/dist/components/ic-side-navigation.js +9 -5
  280. package/dist/components/ic-side-navigation.js.map +1 -1
  281. package/dist/components/ic-skeleton.js +1 -1
  282. package/dist/components/ic-skeleton.js.map +1 -1
  283. package/dist/components/ic-status-tag.js +1 -1
  284. package/dist/components/ic-status-tag.js.map +1 -1
  285. package/dist/components/ic-step.js +1 -8
  286. package/dist/components/ic-step.js.map +1 -1
  287. package/dist/components/ic-stepper.js.map +1 -1
  288. package/dist/components/ic-switch.js +2 -2
  289. package/dist/components/ic-switch.js.map +1 -1
  290. package/dist/components/ic-tab-context.js.map +1 -1
  291. package/dist/components/ic-tab-group.js +1 -1
  292. package/dist/components/ic-tab-group.js.map +1 -1
  293. package/dist/components/ic-tab-panel.js +0 -4
  294. package/dist/components/ic-tab-panel.js.map +1 -1
  295. package/dist/components/ic-tab.js +1 -5
  296. package/dist/components/ic-tab.js.map +1 -1
  297. package/dist/components/ic-text-field2.js +2 -2
  298. package/dist/components/ic-text-field2.js.map +1 -1
  299. package/dist/components/ic-theme.js +19 -11
  300. package/dist/components/ic-theme.js.map +1 -1
  301. package/dist/components/ic-tooltip2.js +4 -2
  302. package/dist/components/ic-tooltip2.js.map +1 -1
  303. package/dist/components/ic-top-navigation.js +2 -2
  304. package/dist/components/ic-top-navigation.js.map +1 -1
  305. package/dist/components/ic-typography2.js.map +1 -1
  306. package/dist/components/types.js.map +1 -1
  307. package/dist/core/core.css +11 -11
  308. package/dist/core/core.esm.js +1 -1
  309. package/dist/core/core.esm.js.map +1 -1
  310. package/dist/core/p-001651fc.entry.js +2 -0
  311. package/dist/core/p-001651fc.entry.js.map +1 -0
  312. package/dist/core/{p-9c1f2861.entry.js → p-0118400b.entry.js} +2 -2
  313. package/dist/core/p-0118400b.entry.js.map +1 -0
  314. package/dist/core/{p-972f4e69.entry.js → p-07cd789d.entry.js} +2 -2
  315. package/dist/core/{p-972f4e69.entry.js.map → p-07cd789d.entry.js.map} +1 -1
  316. package/dist/core/{p-48029498.entry.js → p-0b125f26.entry.js} +2 -2
  317. package/dist/core/p-0b125f26.entry.js.map +1 -0
  318. package/dist/core/{p-3c6defd7.entry.js → p-10da19d2.entry.js} +2 -2
  319. package/dist/core/p-10da19d2.entry.js.map +1 -0
  320. package/dist/core/p-23831891.js +2 -0
  321. package/dist/core/p-23831891.js.map +1 -0
  322. package/dist/core/p-272c7abd.entry.js +2 -0
  323. package/dist/core/p-272c7abd.entry.js.map +1 -0
  324. package/dist/core/p-2b5c9143.entry.js +2 -0
  325. package/dist/core/p-2b5c9143.entry.js.map +1 -0
  326. package/dist/core/p-2e9f3011.entry.js +2 -0
  327. package/dist/core/p-2e9f3011.entry.js.map +1 -0
  328. package/dist/core/{p-ee3a9fd0.entry.js → p-2f114521.entry.js} +2 -2
  329. package/dist/core/p-2f114521.entry.js.map +1 -0
  330. package/dist/core/{p-54b77947.entry.js → p-31a8595f.entry.js} +2 -2
  331. package/dist/core/{p-54b77947.entry.js.map → p-31a8595f.entry.js.map} +0 -0
  332. package/dist/core/{p-a9237c61.entry.js → p-347ec49e.entry.js} +2 -2
  333. package/dist/core/{p-a9237c61.entry.js.map → p-347ec49e.entry.js.map} +1 -1
  334. package/dist/core/p-39ae284e.entry.js +2 -0
  335. package/dist/core/p-39ae284e.entry.js.map +1 -0
  336. package/dist/core/p-4c72f3a9.entry.js +2 -0
  337. package/dist/core/p-4c72f3a9.entry.js.map +1 -0
  338. package/dist/core/{p-bf4ddf33.entry.js → p-558552f8.entry.js} +2 -2
  339. package/dist/core/p-558552f8.entry.js.map +1 -0
  340. package/dist/core/{p-2177dae2.entry.js → p-5831bb8e.entry.js} +2 -2
  341. package/dist/core/p-5831bb8e.entry.js.map +1 -0
  342. package/dist/core/{p-af6a41bd.entry.js → p-5e261268.entry.js} +2 -2
  343. package/dist/core/{p-af6a41bd.entry.js.map → p-5e261268.entry.js.map} +1 -1
  344. package/dist/core/p-60ffb73e.entry.js +2 -0
  345. package/dist/core/p-60ffb73e.entry.js.map +1 -0
  346. package/dist/core/p-69650186.entry.js +2 -0
  347. package/dist/core/p-69650186.entry.js.map +1 -0
  348. package/dist/core/{p-12e113bf.entry.js → p-6b34d98f.entry.js} +2 -2
  349. package/dist/core/{p-12e113bf.entry.js.map → p-6b34d98f.entry.js.map} +1 -1
  350. package/dist/core/p-6be5e06b.entry.js.map +1 -1
  351. package/dist/core/p-6d0eaaeb.entry.js.map +1 -1
  352. package/dist/core/p-6f57b13c.js.map +1 -1
  353. package/dist/core/{p-a183353c.entry.js → p-6f6bd657.entry.js} +2 -2
  354. package/dist/core/p-6f6bd657.entry.js.map +1 -0
  355. package/dist/core/{p-6009c5bc.entry.js → p-6fba90ee.entry.js} +2 -2
  356. package/dist/core/p-6fba90ee.entry.js.map +1 -0
  357. package/dist/core/p-7093d214.entry.js +2 -0
  358. package/dist/core/p-7093d214.entry.js.map +1 -0
  359. package/dist/core/p-7577c6a3.entry.js.map +1 -1
  360. package/dist/core/p-7b39977f.entry.js +2 -0
  361. package/dist/core/p-7b39977f.entry.js.map +1 -0
  362. package/dist/core/{p-c023c49c.entry.js → p-7f04e382.entry.js} +2 -2
  363. package/dist/core/p-7f04e382.entry.js.map +1 -0
  364. package/dist/core/p-7f632414.entry.js +2 -0
  365. package/dist/core/p-7f632414.entry.js.map +1 -0
  366. package/dist/core/p-88b15005.entry.js +2 -0
  367. package/dist/core/p-88b15005.entry.js.map +1 -0
  368. package/dist/core/{p-59041cfc.entry.js → p-898607d0.entry.js} +2 -2
  369. package/dist/core/p-898607d0.entry.js.map +1 -0
  370. package/dist/core/{p-037273aa.entry.js → p-9cd04875.entry.js} +2 -2
  371. package/dist/core/p-9cd04875.entry.js.map +1 -0
  372. package/dist/core/{p-0992a2ee.entry.js → p-a2d3e955.entry.js} +2 -2
  373. package/dist/core/p-a2d3e955.entry.js.map +1 -0
  374. package/dist/core/{p-17d0d631.entry.js → p-ac43322e.entry.js} +2 -2
  375. package/dist/core/p-ac43322e.entry.js.map +1 -0
  376. package/dist/core/{p-1b619302.entry.js → p-b3dec76d.entry.js} +2 -2
  377. package/dist/core/{p-1b619302.entry.js.map → p-b3dec76d.entry.js.map} +1 -1
  378. package/dist/core/{p-0d63bfe4.entry.js → p-c4d3c18c.entry.js} +2 -2
  379. package/dist/core/p-c4d3c18c.entry.js.map +1 -0
  380. package/dist/core/{p-9a3d6bca.entry.js → p-c6dd4f47.entry.js} +2 -2
  381. package/dist/core/p-c6dd4f47.entry.js.map +1 -0
  382. package/dist/core/p-cadb531f.entry.js +2 -0
  383. package/dist/core/p-cadb531f.entry.js.map +1 -0
  384. package/dist/core/p-cc83692e.entry.js +2 -0
  385. package/dist/core/{p-d38168f0.entry.js.map → p-cc83692e.entry.js.map} +1 -1
  386. package/dist/core/p-cf5e8a55.entry.js +2 -0
  387. package/dist/core/p-cf5e8a55.entry.js.map +1 -0
  388. package/dist/core/{p-9db8edb7.entry.js → p-dd3c3e3c.entry.js} +2 -2
  389. package/dist/core/p-dd3c3e3c.entry.js.map +1 -0
  390. package/dist/core/p-e4551421.entry.js +2 -0
  391. package/dist/core/p-e4551421.entry.js.map +1 -0
  392. package/dist/core/{p-eb33ece2.entry.js → p-e93e9aa3.entry.js} +2 -2
  393. package/dist/core/p-e93e9aa3.entry.js.map +1 -0
  394. package/dist/core/{p-378a7270.entry.js → p-ecfb2e6b.entry.js} +2 -2
  395. package/dist/core/{p-378a7270.entry.js.map → p-ecfb2e6b.entry.js.map} +1 -1
  396. package/dist/core/p-f9370be6.js.map +1 -1
  397. package/dist/esm/core.js +2 -2
  398. package/dist/esm/core.js.map +1 -1
  399. package/dist/esm/{helpers-e090fe7e.js → helpers-3d41833c.js} +79 -37
  400. package/dist/esm/helpers-3d41833c.js.map +1 -0
  401. package/dist/esm/ic-alert.entry.js +2 -2
  402. package/dist/esm/ic-alert.entry.js.map +1 -1
  403. package/dist/esm/ic-back-to-top.entry.js +19 -9
  404. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  405. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  406. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  407. package/dist/esm/ic-breadcrumb.entry.js +2 -2
  408. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  409. package/dist/esm/ic-button_3.entry.js +59 -18
  410. package/dist/esm/ic-button_3.entry.js.map +1 -1
  411. package/dist/esm/ic-card.entry.js +16 -3
  412. package/dist/esm/ic-card.entry.js.map +1 -1
  413. package/dist/esm/ic-checkbox-group.entry.js +1 -1
  414. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  415. package/dist/esm/ic-checkbox.entry.js +5 -4
  416. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  417. package/dist/esm/ic-classification-banner.entry.js +1 -1
  418. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  419. package/dist/esm/ic-data-entity.entry.js +1 -1
  420. package/dist/esm/ic-data-entity.entry.js.map +1 -1
  421. package/dist/esm/ic-data-row.entry.js +2 -2
  422. package/dist/esm/ic-data-row.entry.js.map +1 -1
  423. package/dist/esm/ic-divider.entry.js +1 -1
  424. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  425. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  426. package/dist/esm/ic-footer-link.entry.js +2 -2
  427. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  428. package/dist/esm/ic-footer.entry.js +2 -2
  429. package/dist/esm/ic-footer.entry.js.map +1 -1
  430. package/dist/esm/ic-hero.entry.js +1 -1
  431. package/dist/esm/ic-hero.entry.js.map +1 -1
  432. package/dist/esm/ic-input-component-container_3.entry.js +6 -5
  433. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  434. package/dist/esm/ic-input-label_2.entry.js +1 -1
  435. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  436. package/dist/esm/ic-link.entry.js +1 -1
  437. package/dist/esm/ic-link.entry.js.map +1 -1
  438. package/dist/esm/ic-navigation-button.entry.js +1 -1
  439. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  440. package/dist/esm/ic-navigation-group.entry.js +1 -1
  441. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  442. package/dist/esm/ic-navigation-item.entry.js +1 -1
  443. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  444. package/dist/esm/ic-navigation-menu.entry.js +1 -1
  445. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  446. package/dist/esm/ic-page-header.entry.js +1 -1
  447. package/dist/esm/ic-page-header.entry.js.map +1 -1
  448. package/dist/esm/ic-radio-group.entry.js +1 -1
  449. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  450. package/dist/esm/ic-radio-option.entry.js +2 -3
  451. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  452. package/dist/esm/ic-search-bar.entry.js +17 -3
  453. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  454. package/dist/esm/ic-section-container.entry.js.map +1 -1
  455. package/dist/esm/ic-select.entry.js +2 -7
  456. package/dist/esm/ic-select.entry.js.map +1 -1
  457. package/dist/esm/ic-side-navigation.entry.js +9 -5
  458. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  459. package/dist/esm/ic-skeleton.entry.js +1 -1
  460. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  461. package/dist/esm/ic-status-tag.entry.js +2 -2
  462. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  463. package/dist/esm/ic-step.entry.js +1 -9
  464. package/dist/esm/ic-step.entry.js.map +1 -1
  465. package/dist/esm/ic-stepper.entry.js +1 -1
  466. package/dist/esm/ic-stepper.entry.js.map +1 -1
  467. package/dist/esm/ic-switch.entry.js +2 -2
  468. package/dist/esm/ic-switch.entry.js.map +1 -1
  469. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  470. package/dist/esm/ic-tab-group.entry.js +1 -1
  471. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  472. package/dist/esm/ic-tab-panel.entry.js +0 -4
  473. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  474. package/dist/esm/ic-tab.entry.js +1 -5
  475. package/dist/esm/ic-tab.entry.js.map +1 -1
  476. package/dist/esm/ic-text-field.entry.js +2 -2
  477. package/dist/esm/ic-text-field.entry.js.map +1 -1
  478. package/dist/esm/ic-theme.entry.js +19 -11
  479. package/dist/esm/ic-theme.entry.js.map +1 -1
  480. package/dist/esm/ic-top-navigation.entry.js +2 -2
  481. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  482. package/dist/esm/ic-typography.entry.js.map +1 -1
  483. package/dist/esm/index-1500de1f.js.map +1 -1
  484. package/dist/esm/loader.js +2 -2
  485. package/dist/esm/loader.js.map +1 -1
  486. package/dist/esm/types-dd515332.js.map +1 -1
  487. package/dist/types/components/ic-alert/ic-alert.d.ts +7 -7
  488. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +1 -0
  489. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +5 -5
  490. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +2 -2
  491. package/dist/types/components/ic-button/ic-button.d.ts +10 -10
  492. package/dist/types/components/ic-card/ic-card.d.ts +12 -8
  493. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +9 -9
  494. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +9 -9
  495. package/dist/types/components/ic-classification-banner/ic-classification-banner.d.ts +5 -5
  496. package/dist/types/components/ic-data-entity/ic-data-entity.d.ts +2 -2
  497. package/dist/types/components/ic-data-row/ic-data-row.d.ts +3 -3
  498. package/dist/types/components/ic-footer/ic-footer.d.ts +10 -10
  499. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +1 -1
  500. package/dist/types/components/ic-hero/ic-hero.d.ts +9 -9
  501. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +8 -8
  502. package/dist/types/components/ic-input-container/ic-input-container.d.ts +2 -2
  503. package/dist/types/components/ic-input-label/ic-input-label.d.ts +8 -8
  504. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +5 -5
  505. package/dist/types/components/ic-link/ic-link.d.ts +6 -6
  506. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +11 -4
  507. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +5 -0
  508. package/dist/types/components/ic-menu/ic-menu.d.ts +10 -10
  509. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +5 -5
  510. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +2 -2
  511. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +6 -6
  512. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +2 -2
  513. package/dist/types/components/ic-page-header/ic-page-header.d.ts +10 -8
  514. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +10 -10
  515. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +10 -12
  516. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +26 -23
  517. package/dist/types/components/ic-section-container/ic-section-container.d.ts +2 -2
  518. package/dist/types/components/ic-select/ic-select.d.ts +18 -18
  519. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +12 -12
  520. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +2 -2
  521. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +1 -1
  522. package/dist/types/components/ic-step/ic-step.d.ts +7 -8
  523. package/dist/types/components/ic-stepper/ic-stepper.d.ts +1 -1
  524. package/dist/types/components/ic-switch/ic-switch.d.ts +7 -7
  525. package/dist/types/components/ic-tab/ic-tab.d.ts +6 -7
  526. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +3 -3
  527. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +4 -4
  528. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +3 -4
  529. package/dist/types/components/ic-text-field/ic-text-field.d.ts +30 -30
  530. package/dist/types/components/ic-theme/ic-theme.d.ts +3 -2
  531. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +6 -6
  532. package/dist/types/components/ic-typography/ic-typography.d.ts +1 -1
  533. package/dist/types/components.d.ts +507 -511
  534. package/dist/types/utils/constants.d.ts +2 -0
  535. package/dist/types/utils/helpers.d.ts +15 -3
  536. package/dist/types/utils/types.d.ts +3 -0
  537. package/hydrate/index.d.ts +1 -1
  538. package/hydrate/index.js +257 -137
  539. package/package.json +8 -5
  540. package/dist/cjs/helpers-d0eeccf0.js.map +0 -1
  541. package/dist/core/p-037273aa.entry.js.map +0 -1
  542. package/dist/core/p-0992a2ee.entry.js.map +0 -1
  543. package/dist/core/p-0d63bfe4.entry.js.map +0 -1
  544. package/dist/core/p-155114db.entry.js +0 -2
  545. package/dist/core/p-155114db.entry.js.map +0 -1
  546. package/dist/core/p-17d0d631.entry.js.map +0 -1
  547. package/dist/core/p-2177dae2.entry.js.map +0 -1
  548. package/dist/core/p-3c6defd7.entry.js.map +0 -1
  549. package/dist/core/p-40d3fd89.entry.js +0 -2
  550. package/dist/core/p-40d3fd89.entry.js.map +0 -1
  551. package/dist/core/p-48029498.entry.js.map +0 -1
  552. package/dist/core/p-50a0f1a0.entry.js +0 -2
  553. package/dist/core/p-50a0f1a0.entry.js.map +0 -1
  554. package/dist/core/p-59041cfc.entry.js.map +0 -1
  555. package/dist/core/p-5977c1e0.entry.js +0 -2
  556. package/dist/core/p-5977c1e0.entry.js.map +0 -1
  557. package/dist/core/p-6009c5bc.entry.js.map +0 -1
  558. package/dist/core/p-8054c2c0.entry.js +0 -2
  559. package/dist/core/p-8054c2c0.entry.js.map +0 -1
  560. package/dist/core/p-89d46b9b.entry.js +0 -2
  561. package/dist/core/p-89d46b9b.entry.js.map +0 -1
  562. package/dist/core/p-9a3d6bca.entry.js.map +0 -1
  563. package/dist/core/p-9c1f2861.entry.js.map +0 -1
  564. package/dist/core/p-9db8edb7.entry.js.map +0 -1
  565. package/dist/core/p-9e1f450f.entry.js +0 -2
  566. package/dist/core/p-9e1f450f.entry.js.map +0 -1
  567. package/dist/core/p-a183353c.entry.js.map +0 -1
  568. package/dist/core/p-a6715f61.entry.js +0 -2
  569. package/dist/core/p-a6715f61.entry.js.map +0 -1
  570. package/dist/core/p-aad5da60.entry.js +0 -2
  571. package/dist/core/p-aad5da60.entry.js.map +0 -1
  572. package/dist/core/p-bf4ddf33.entry.js.map +0 -1
  573. package/dist/core/p-bfa9392f.entry.js +0 -2
  574. package/dist/core/p-bfa9392f.entry.js.map +0 -1
  575. package/dist/core/p-c023c49c.entry.js.map +0 -1
  576. package/dist/core/p-c96adfd7.entry.js +0 -2
  577. package/dist/core/p-c96adfd7.entry.js.map +0 -1
  578. package/dist/core/p-d38168f0.entry.js +0 -2
  579. package/dist/core/p-d61c2983.entry.js +0 -2
  580. package/dist/core/p-d61c2983.entry.js.map +0 -1
  581. package/dist/core/p-db6566c0.entry.js +0 -2
  582. package/dist/core/p-db6566c0.entry.js.map +0 -1
  583. package/dist/core/p-eb33ece2.entry.js.map +0 -1
  584. package/dist/core/p-ee3a9fd0.entry.js.map +0 -1
  585. package/dist/core/p-ef59f111.entry.js +0 -2
  586. package/dist/core/p-ef59f111.entry.js.map +0 -1
  587. package/dist/core/p-f228c232.js +0 -2
  588. package/dist/core/p-f228c232.js.map +0 -1
  589. package/dist/core/p-fce4b26b.entry.js +0 -2
  590. package/dist/core/p-fce4b26b.entry.js.map +0 -1
  591. package/dist/esm/helpers-e090fe7e.js.map +0 -1
@@ -75,7 +75,7 @@ export class Button {
75
75
  }
76
76
  }
77
77
  /**
78
- * @internal Updates tooltip/aria-label text - needed as can't watch an aria attribute change.
78
+ * @internal Updates tooltip/aria-label text - needed as can't watch an ARIA attribute change.
79
79
  */
80
80
  async updateAriaLabel(newValue) {
81
81
  if (this.hasTooltip) {
@@ -198,7 +198,7 @@ export class Button {
198
198
  "optional": true,
199
199
  "docs": {
200
200
  "tags": [],
201
- "text": "Determines whether the button should be in disabled state."
201
+ "text": "If `true`, the button will be in disabled state."
202
202
  },
203
203
  "attribute": "disabled",
204
204
  "reflect": false,
@@ -216,7 +216,7 @@ export class Button {
216
216
  "optional": true,
217
217
  "docs": {
218
218
  "tags": [],
219
- "text": "Determines whether the button should be in loading state."
219
+ "text": "If `true`, the button will be in loading state."
220
220
  },
221
221
  "attribute": "loading",
222
222
  "reflect": false,
@@ -274,7 +274,7 @@ export class Button {
274
274
  "optional": true,
275
275
  "docs": {
276
276
  "tags": [],
277
- "text": "Where to display the linked URL, as the name for a browsing context (a tab, window, or iframe)."
277
+ "text": "The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe)."
278
278
  },
279
279
  "attribute": "target",
280
280
  "reflect": false
@@ -308,7 +308,7 @@ export class Button {
308
308
  "optional": true,
309
309
  "docs": {
310
310
  "tags": [],
311
- "text": "Prompts the user to save the linked URL instead of navigating to it."
311
+ "text": "If `true`, the user can save the linked URL instead of navigating to it."
312
312
  },
313
313
  "attribute": "download",
314
314
  "reflect": false,
@@ -326,7 +326,7 @@ export class Button {
326
326
  "optional": true,
327
327
  "docs": {
328
328
  "tags": [],
329
- "text": "Hints at the human language of the linked URL."
329
+ "text": "The human language of the linked URL."
330
330
  },
331
331
  "attribute": "hreflang",
332
332
  "reflect": false
@@ -369,7 +369,7 @@ export class Button {
369
369
  "optional": true,
370
370
  "docs": {
371
371
  "tags": [],
372
- "text": "The button variant to be displayed."
372
+ "text": "The variant of the button to be displayed."
373
373
  },
374
374
  "attribute": "variant",
375
375
  "reflect": false,
@@ -410,7 +410,7 @@ export class Button {
410
410
  "optional": true,
411
411
  "docs": {
412
412
  "tags": [],
413
- "text": "Fill the width of the container if true."
413
+ "text": "If `true`, the button will fill the width of the container."
414
414
  },
415
415
  "attribute": "full-width",
416
416
  "reflect": false,
@@ -428,7 +428,7 @@ export class Button {
428
428
  "optional": true,
429
429
  "docs": {
430
430
  "tags": [],
431
- "text": "Disable ic-tooltip which is shown for icon variant. Title or aria-label must be set if this prop is not applied."
431
+ "text": "If `true`, the ic-tooltip which is shown for icon variant will be disabled. Title or aria-label must be set if this prop is not applied."
432
432
  },
433
433
  "attribute": "disable-tooltip",
434
434
  "reflect": false,
@@ -474,7 +474,7 @@ export class Button {
474
474
  "optional": true,
475
475
  "docs": {
476
476
  "tags": [],
477
- "text": "Determines the whether the appearance of the button is dark, light, or the default."
477
+ "text": "The appearance of the button, e.g. dark, light, or the default."
478
478
  },
479
479
  "attribute": "appearance",
480
480
  "reflect": false,
@@ -551,7 +551,7 @@ export class Button {
551
551
  "text": "",
552
552
  "tags": [{
553
553
  "name": "internal",
554
- "text": "Updates tooltip/aria-label text - needed as can't watch an aria attribute change."
554
+ "text": "Updates tooltip/aria-label text - needed as can't watch an ARIA attribute change."
555
555
  }]
556
556
  }
557
557
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ic-button.js","sourceRoot":"","sources":["../../../src/components/ic-button/ic-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n h,\n} from \"@stencil/core\";\n\nimport { getThemeFromContext, inheritAttributes } from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcButtonSizes,\n IcButtonTypes,\n IcButtonVariants,\n IcButtonTooltipPlacement,\n} from \"./ic-button.types\";\nimport {\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\nlet buttonIds = 0;\n\n/**\n * @slot icon - Content will be placed to the left of the button label.\n */\n@Component({\n tag: \"ic-button\",\n styleUrl: \"ic-button.css\",\n shadow: true,\n})\nexport class Button {\n @Element() el: HTMLIcButtonElement;\n /**\n * Determines whether the button should be in disabled state.\n */\n @Prop() disabled?: boolean = false;\n /**\n * Determines whether the button should be in loading state.\n */\n @Prop() loading?: boolean = false;\n /**\n * The type of the button.\n */\n @Prop() type?: IcButtonTypes = \"button\";\n /**\n * The URL that the link points to. This will render the button as an \"a\" tag.\n */\n @Prop() href?: string;\n /**\n * Where to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n /**\n * Prompts the user to save the linked URL instead of navigating to it.\n */\n @Prop() download?: string | boolean = false;\n /**\n * Hints at the human language of the linked URL.\n */\n @Prop() hreflang?: string;\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n /**\n * The button variant to be displayed.\n */\n @Prop() variant?: IcButtonVariants = \"primary\";\n /**\n * The size of the button to be displayed.\n */\n @Prop() size?: IcButtonSizes = \"default\";\n /**\n * Fill the width of the container if true.\n */\n @Prop() fullWidth?: boolean = false;\n /**\n * Disable ic-tooltip which is shown for icon variant. Title or aria-label must be set if this prop is not applied.\n */\n @Prop() disableTooltip?: boolean = false;\n /**\n * The position of the tooltip in relation to the button.\n */\n @Prop() tooltipPlacement?: IcButtonTooltipPlacement = \"bottom\";\n /**\n * Determines the whether the appearance of the button is dark, light, or the default.\n */\n @Prop({ mutable: true }) appearance?: IcThemeForeground = \"default\";\n /**\n * Emitted when button has focus\n */\n @Event() icFocus!: EventEmitter<void>;\n /**\n * Emitted when button has blur\n */\n @Event() icBlur!: EventEmitter<void>;\n\n // CalculatedWidth must have a default value, since width is only calculated once button is rendered (with text).\n private calculatedWidth: number = 68;\n private inheritedAttributes: { [k: string]: unknown } = {};\n private buttonEl: HTMLElement;\n private hasTooltip: boolean = false;\n private buttonIdNum = buttonIds++;\n private tooltipEl: HTMLIcTooltipElement;\n private id: string;\n\n @Watch(\"loading\")\n calculateWidth(): void {\n // Assume even padding on left and right\n this.calculatedWidth = this.el.offsetWidth - 2 * this.el.offsetLeft;\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled || this.loading) {\n event.stopImmediatePropagation();\n }\n }\n\n @Listen(\"icThemeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.updateTheme(theme.mode);\n }\n\n /**\n * Sets focus on the native `button`\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.buttonEl) {\n this.buttonEl.focus();\n }\n }\n\n /**\n * @internal Updates tooltip/aria-label text - needed as can't watch an aria attribute change.\n */\n @Method()\n async updateAriaLabel(newValue: string): Promise<void> {\n if (this.hasTooltip) {\n this.tooltipEl.label = newValue;\n this.buttonEl.setAttribute(\"aria-label\", newValue);\n }\n }\n\n private getLoadingBarWidth(): { [key: string]: string } {\n return { width: `${this.calculatedWidth.toString()}px` };\n }\n\n private hasIconSlot(): boolean {\n const iconEl = this.el.querySelector(`[slot=\"icon\"]`);\n if (iconEl != null) {\n return true;\n }\n return false;\n }\n\n private handleHiddenFormButtonClick(form: HTMLFormElement): void {\n const hiddenFormButton = document.createElement(\"button\");\n\n hiddenFormButton.setAttribute(\"type\", this.el.type);\n hiddenFormButton.style.display = \"none\";\n\n form.appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n }\n\n private handleClick = (): void => {\n if (\n (this.el.type === \"submit\" || this.el.type === \"reset\") &&\n !!this.el.closest(\"FORM\")\n ) {\n this.handleHiddenFormButtonClick(this.el.closest(\"FORM\"));\n }\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = () => {\n this.icBlur.emit();\n };\n\n private updateTheme(newTheme: IcThemeForeground = null): void {\n const foregroundColor = getThemeFromContext(this.el, newTheme || null);\n\n if (foregroundColor !== IcThemeForegroundEnum.Default) {\n this.appearance = foregroundColor;\n }\n }\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.el, [\n ...IC_INHERITED_ARIA,\n \"aria-expanded\",\n \"title\",\n ]);\n\n const id = this.el.id;\n this.id = id !== undefined ? id : null;\n this.hasTooltip = this.variant === \"icon\";\n }\n\n componentDidLoad(): void {\n this.calculateWidth();\n this.updateTheme();\n }\n\n render() {\n const TagType = (this.href && \"a\") || \"button\";\n const {\n title,\n \"aria-label\": ariaLabel,\n ...restInheritedAttributes\n } = this.inheritedAttributes;\n const buttonAttrs =\n TagType === \"button\"\n ? { type: this.type, disabled: this.disabled }\n : {\n download: this.download !== false ? this.download : null,\n href: this.href,\n rel: this.rel,\n target: this.target,\n referrerpolicy: this.referrerpolicy,\n hreflang: this.hreflang,\n };\n const newTitle = title && (title as string);\n const titleAttr = this.hasTooltip ? {} : { title: newTitle };\n let tooltipText = \"\";\n if (this.hasTooltip) {\n if (newTitle !== undefined) {\n tooltipText = newTitle;\n } else if (ariaLabel !== null) {\n tooltipText = ariaLabel as string;\n }\n }\n\n let describedBy: string = null;\n let buttonId: string = null;\n if (this.hasTooltip) {\n buttonId =\n this.id !== null\n ? `ic-button-with-tooltip-${this.id}`\n : `ic-button-with-tooltip-${this.buttonIdNum}`;\n describedBy = `ic-tooltip-${buttonId}`;\n }\n\n const ButtonContent = () => {\n return (\n <TagType\n class=\"button\"\n aria-disabled={this.loading || this.disabled ? \"true\" : null}\n aria-label={this.loading ? \"Loading\" : ariaLabel}\n {...buttonAttrs}\n {...restInheritedAttributes}\n {...titleAttr}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n ref={(el) => (this.buttonEl = el)}\n id={buttonId}\n aria-describedby={describedBy}\n >\n {this.hasIconSlot() && !this.loading && (\n <div class=\"icon-container\">\n <slot name=\"icon\" />\n </div>\n )}\n {this.loading ? (\n <div class=\"loading-container\" style={this.getLoadingBarWidth()}>\n <ic-loading-indicator\n type=\"linear\"\n appearance={\n this.variant === \"primary\" ||\n this.variant === \"destructive\" ||\n this.appearance === IcThemeForegroundEnum.Dark ||\n this.appearance === IcThemeForegroundEnum.Light\n ? \"light\"\n : \"dark\"\n }\n ></ic-loading-indicator>\n </div>\n ) : (\n <slot />\n )}\n </TagType>\n );\n };\n\n return (\n <Host\n class={{\n [\"disabled\"]: this.disabled && !this.loading,\n [`button-variant-${this.variant}`]: true,\n [`button-size-${this.size}`]: true,\n [\"loading\"]: this.loading,\n [\"dark\"]: this.appearance === IcThemeForegroundEnum.Dark,\n [\"light\"]: this.appearance === IcThemeForegroundEnum.Light,\n [\"full-width\"]: this.fullWidth,\n }}\n onClick={this.handleClick}\n >\n {this.hasTooltip && (\n <ic-tooltip\n class={{ [\"tooltip-disabled-button\"]: this.disableTooltip }}\n ref={(el) => (this.tooltipEl = el)}\n label={tooltipText}\n target={buttonId}\n placement={this.tooltipPlacement}\n >\n <ButtonContent />\n </ic-tooltip>\n )}\n\n {!this.hasTooltip && <ButtonContent />}\n </Host>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-button.js","sourceRoot":"","sources":["../../../src/components/ic-button/ic-button.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Listen,\n Method,\n Prop,\n Watch,\n h,\n} from \"@stencil/core\";\n\nimport { getThemeFromContext, inheritAttributes } from \"../../utils/helpers\";\nimport { IC_INHERITED_ARIA } from \"../../utils/constants\";\nimport {\n IcButtonSizes,\n IcButtonTypes,\n IcButtonVariants,\n IcButtonTooltipPlacement,\n} from \"./ic-button.types\";\nimport {\n IcTheme,\n IcThemeForeground,\n IcThemeForegroundEnum,\n} from \"../../utils/types\";\n\nlet buttonIds = 0;\n\n/**\n * @slot icon - Content will be placed to the left of the button label.\n */\n@Component({\n tag: \"ic-button\",\n styleUrl: \"ic-button.css\",\n shadow: true,\n})\nexport class Button {\n @Element() el: HTMLIcButtonElement;\n /**\n * If `true`, the button will be in disabled state.\n */\n @Prop() disabled?: boolean = false;\n /**\n * If `true`, the button will be in loading state.\n */\n @Prop() loading?: boolean = false;\n /**\n * The type of the button.\n */\n @Prop() type?: IcButtonTypes = \"button\";\n /**\n * The URL that the link points to. This will render the button as an \"a\" tag.\n */\n @Prop() href?: string;\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n /**\n * If `true`, the user can save the linked URL instead of navigating to it.\n */\n @Prop() download?: string | boolean = false;\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string;\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n /**\n * The variant of the button to be displayed.\n */\n @Prop() variant?: IcButtonVariants = \"primary\";\n /**\n * The size of the button to be displayed.\n */\n @Prop() size?: IcButtonSizes = \"default\";\n /**\n * If `true`, the button will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n /**\n * If `true`, the ic-tooltip which is shown for icon variant will be disabled. Title or aria-label must be set if this prop is not applied.\n */\n @Prop() disableTooltip?: boolean = false;\n /**\n * The position of the tooltip in relation to the button.\n */\n @Prop() tooltipPlacement?: IcButtonTooltipPlacement = \"bottom\";\n /**\n * The appearance of the button, e.g. dark, light, or the default.\n */\n @Prop({ mutable: true }) appearance?: IcThemeForeground = \"default\";\n /**\n * Emitted when button has focus\n */\n @Event() icFocus!: EventEmitter<void>;\n /**\n * Emitted when button has blur\n */\n @Event() icBlur!: EventEmitter<void>;\n\n // CalculatedWidth must have a default value, since width is only calculated once button is rendered (with text).\n private calculatedWidth: number = 68;\n private inheritedAttributes: { [k: string]: unknown } = {};\n private buttonEl: HTMLElement;\n private hasTooltip: boolean = false;\n private buttonIdNum = buttonIds++;\n private tooltipEl: HTMLIcTooltipElement;\n private id: string;\n\n @Watch(\"loading\")\n calculateWidth(): void {\n // Assume even padding on left and right\n this.calculatedWidth = this.el.offsetWidth - 2 * this.el.offsetLeft;\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled || this.loading) {\n event.stopImmediatePropagation();\n }\n }\n\n @Listen(\"icThemeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.updateTheme(theme.mode);\n }\n\n /**\n * Sets focus on the native `button`\n */\n @Method()\n async setFocus(): Promise<void> {\n if (this.buttonEl) {\n this.buttonEl.focus();\n }\n }\n\n /**\n * @internal Updates tooltip/aria-label text - needed as can't watch an ARIA attribute change.\n */\n @Method()\n async updateAriaLabel(newValue: string): Promise<void> {\n if (this.hasTooltip) {\n this.tooltipEl.label = newValue;\n this.buttonEl.setAttribute(\"aria-label\", newValue);\n }\n }\n\n private getLoadingBarWidth(): { [key: string]: string } {\n return { width: `${this.calculatedWidth.toString()}px` };\n }\n\n private hasIconSlot(): boolean {\n const iconEl = this.el.querySelector(`[slot=\"icon\"]`);\n if (iconEl != null) {\n return true;\n }\n return false;\n }\n\n private handleHiddenFormButtonClick(form: HTMLFormElement): void {\n const hiddenFormButton = document.createElement(\"button\");\n\n hiddenFormButton.setAttribute(\"type\", this.el.type);\n hiddenFormButton.style.display = \"none\";\n\n form.appendChild(hiddenFormButton);\n\n hiddenFormButton.click();\n hiddenFormButton.remove();\n }\n\n private handleClick = (): void => {\n if (\n (this.el.type === \"submit\" || this.el.type === \"reset\") &&\n !!this.el.closest(\"FORM\")\n ) {\n this.handleHiddenFormButtonClick(this.el.closest(\"FORM\"));\n }\n };\n\n private onFocus = () => {\n this.icFocus.emit();\n };\n\n private onBlur = () => {\n this.icBlur.emit();\n };\n\n private updateTheme(newTheme: IcThemeForeground = null): void {\n const foregroundColor = getThemeFromContext(this.el, newTheme || null);\n\n if (foregroundColor !== IcThemeForegroundEnum.Default) {\n this.appearance = foregroundColor;\n }\n }\n\n componentWillLoad(): void {\n this.inheritedAttributes = inheritAttributes(this.el, [\n ...IC_INHERITED_ARIA,\n \"aria-expanded\",\n \"title\",\n ]);\n\n const id = this.el.id;\n this.id = id !== undefined ? id : null;\n this.hasTooltip = this.variant === \"icon\";\n }\n\n componentDidLoad(): void {\n this.calculateWidth();\n this.updateTheme();\n }\n\n render() {\n const TagType = (this.href && \"a\") || \"button\";\n const {\n title,\n \"aria-label\": ariaLabel,\n ...restInheritedAttributes\n } = this.inheritedAttributes;\n const buttonAttrs =\n TagType === \"button\"\n ? { type: this.type, disabled: this.disabled }\n : {\n download: this.download !== false ? this.download : null,\n href: this.href,\n rel: this.rel,\n target: this.target,\n referrerpolicy: this.referrerpolicy,\n hreflang: this.hreflang,\n };\n const newTitle = title && (title as string);\n const titleAttr = this.hasTooltip ? {} : { title: newTitle };\n let tooltipText = \"\";\n if (this.hasTooltip) {\n if (newTitle !== undefined) {\n tooltipText = newTitle;\n } else if (ariaLabel !== null) {\n tooltipText = ariaLabel as string;\n }\n }\n\n let describedBy: string = null;\n let buttonId: string = null;\n if (this.hasTooltip) {\n buttonId =\n this.id !== null\n ? `ic-button-with-tooltip-${this.id}`\n : `ic-button-with-tooltip-${this.buttonIdNum}`;\n describedBy = `ic-tooltip-${buttonId}`;\n }\n\n const ButtonContent = () => {\n return (\n <TagType\n class=\"button\"\n aria-disabled={this.loading || this.disabled ? \"true\" : null}\n aria-label={this.loading ? \"Loading\" : ariaLabel}\n {...buttonAttrs}\n {...restInheritedAttributes}\n {...titleAttr}\n onFocus={this.onFocus}\n onBlur={this.onBlur}\n ref={(el) => (this.buttonEl = el)}\n id={buttonId}\n aria-describedby={describedBy}\n >\n {this.hasIconSlot() && !this.loading && (\n <div class=\"icon-container\">\n <slot name=\"icon\" />\n </div>\n )}\n {this.loading ? (\n <div class=\"loading-container\" style={this.getLoadingBarWidth()}>\n <ic-loading-indicator\n type=\"linear\"\n appearance={\n this.variant === \"primary\" ||\n this.variant === \"destructive\" ||\n this.appearance === IcThemeForegroundEnum.Dark ||\n this.appearance === IcThemeForegroundEnum.Light\n ? \"light\"\n : \"dark\"\n }\n ></ic-loading-indicator>\n </div>\n ) : (\n <slot />\n )}\n </TagType>\n );\n };\n\n return (\n <Host\n class={{\n [\"disabled\"]: this.disabled && !this.loading,\n [`button-variant-${this.variant}`]: true,\n [`button-size-${this.size}`]: true,\n [\"loading\"]: this.loading,\n [\"dark\"]: this.appearance === IcThemeForegroundEnum.Dark,\n [\"light\"]: this.appearance === IcThemeForegroundEnum.Light,\n [\"full-width\"]: this.fullWidth,\n }}\n onClick={this.handleClick}\n >\n {this.hasTooltip && (\n <ic-tooltip\n class={{ [\"tooltip-disabled-button\"]: this.disableTooltip }}\n ref={(el) => (this.tooltipEl = el)}\n label={tooltipText}\n target={buttonId}\n placement={this.tooltipPlacement}\n >\n <ButtonContent />\n </ic-tooltip>\n )}\n\n {!this.hasTooltip && <ButtonContent />}\n </Host>\n );\n }\n}\n"]}
@@ -466,6 +466,11 @@ button {
466
466
  transition: var(--ic-easing-transition-fast);
467
467
  }
468
468
 
469
+ .dark.card,
470
+ .dark.card.clickable {
471
+ border: 1px solid var(--ic-architectural-700);
472
+ }
473
+
469
474
  .card.clickable:hover {
470
475
  background-color: var(--ic-action-default-bg-hover);
471
476
  border-color: var(--ic-action-default-hover);
@@ -1,5 +1,6 @@
1
1
  import { h } from "@stencil/core";
2
- import { onComponentRequiredPropUndefined, isSlotUsed, } from "../../utils/helpers";
2
+ import { onComponentRequiredPropUndefined, isSlotUsed, getThemeFromContext, } from "../../utils/helpers";
3
+ import { IcThemeForegroundEnum } from "../../utils/types";
3
4
  /**
4
5
  * @slot icon - Content will be placed to the left of the card title.
5
6
  * @slot heading - Content will be placed at the top of the card to the right of the icon.
@@ -26,12 +27,23 @@ export class Card {
26
27
  this.parentIsAnchorTag = false;
27
28
  this.isFocussed = false;
28
29
  this.parentEl = null;
30
+ this.appearance = "default";
29
31
  }
30
32
  handleHostClick(event) {
31
33
  if (this.disabled) {
32
34
  event.stopImmediatePropagation();
33
35
  }
34
36
  }
37
+ themeChangeHandler(ev) {
38
+ const theme = ev.detail;
39
+ this.updateTheme(theme.mode);
40
+ }
41
+ updateTheme(newTheme = null) {
42
+ const foregroundColor = getThemeFromContext(this.el, newTheme || null);
43
+ if (foregroundColor !== IcThemeForegroundEnum.Default) {
44
+ this.appearance = foregroundColor;
45
+ }
46
+ }
35
47
  componentWillLoad() {
36
48
  this.parentEl = this.el.parentElement;
37
49
  if (this.parentEl.tagName === "A") {
@@ -50,6 +62,7 @@ export class Card {
50
62
  }
51
63
  componentDidLoad() {
52
64
  onComponentRequiredPropUndefined([{ prop: this.heading, propName: "heading" }], "Card");
65
+ this.updateTheme();
53
66
  }
54
67
  render() {
55
68
  const { clickable, disabled, heading, message, href, hreflang, referrerpolicy, rel, target, fullWidth, parentIsAnchorTag, isFocussed, } = this;
@@ -73,6 +86,7 @@ export class Card {
73
86
  ["disabled"]: disabled,
74
87
  ["fullwidth"]: fullWidth,
75
88
  ["focussed"]: isFocussed,
89
+ ["dark"]: this.appearance === IcThemeForegroundEnum.Dark,
76
90
  }, tabindex: clickable && !parentIsAnchorTag ? 0 : null, "aria-disabled": disabled ? "true" : null, disabled: disabled ? true : null }, attrs), h("div", { class: "card-header" }, isSlotUsed(this.el, "icon") && (h("div", { class: "icon" }, h("slot", { name: "icon" }))), h("div", { class: "card-title" }, h("slot", { name: "heading" }, h("ic-typography", { variant: "h4" }, h("p", null, heading))))), (message || isSlotUsed(this.el, "message")) && (h("div", { class: "card-message" }, h("slot", { name: "message" }, h("ic-typography", { variant: "body" }, message))))));
77
91
  }
78
92
  static get is() { return "ic-card"; }
@@ -101,7 +115,7 @@ export class Card {
101
115
  "optional": true,
102
116
  "docs": {
103
117
  "tags": [],
104
- "text": "Set the variant to static or clickable"
118
+ "text": "If `true`, the card will be a clickable variant, instead of static."
105
119
  },
106
120
  "attribute": "clickable",
107
121
  "reflect": false,
@@ -119,7 +133,7 @@ export class Card {
119
133
  "optional": true,
120
134
  "docs": {
121
135
  "tags": [],
122
- "text": "URL for clickable cards"
136
+ "text": "The URL that the clickable card link points to."
123
137
  },
124
138
  "attribute": "href",
125
139
  "reflect": false
@@ -136,7 +150,7 @@ export class Card {
136
150
  "optional": true,
137
151
  "docs": {
138
152
  "tags": [],
139
- "text": "Human readable explanation of the URL"
153
+ "text": "The human language of the linked URL."
140
154
  },
141
155
  "attribute": "hreflang",
142
156
  "reflect": false,
@@ -192,7 +206,7 @@ export class Card {
192
206
  "optional": true,
193
207
  "docs": {
194
208
  "tags": [],
195
- "text": "Where to display the linked URL, as the name for a browsing context (a tab, window, or iframe)."
209
+ "text": "The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe)."
196
210
  },
197
211
  "attribute": "target",
198
212
  "reflect": false
@@ -209,7 +223,7 @@ export class Card {
209
223
  "optional": false,
210
224
  "docs": {
211
225
  "tags": [],
212
- "text": "Title for the card"
226
+ "text": "The title for the card."
213
227
  },
214
228
  "attribute": "heading",
215
229
  "reflect": false
@@ -226,7 +240,7 @@ export class Card {
226
240
  "optional": true,
227
241
  "docs": {
228
242
  "tags": [],
229
- "text": "Main body message of the card"
243
+ "text": "The main body message of the card."
230
244
  },
231
245
  "attribute": "message",
232
246
  "reflect": false,
@@ -244,7 +258,7 @@ export class Card {
244
258
  "optional": true,
245
259
  "docs": {
246
260
  "tags": [],
247
- "text": "Whether the card is disabled if it is clickable"
261
+ "text": "If `true`, the card will be disabled if it is clickable."
248
262
  },
249
263
  "attribute": "disabled",
250
264
  "reflect": false,
@@ -262,7 +276,7 @@ export class Card {
262
276
  "optional": false,
263
277
  "docs": {
264
278
  "tags": [],
265
- "text": "If true then fill width of container"
279
+ "text": "If `true`, the card will fill the width of the container."
266
280
  },
267
281
  "attribute": "full-width",
268
282
  "reflect": false,
@@ -274,7 +288,8 @@ export class Card {
274
288
  return {
275
289
  "parentIsAnchorTag": {},
276
290
  "isFocussed": {},
277
- "parentEl": {}
291
+ "parentEl": {},
292
+ "appearance": {}
278
293
  };
279
294
  }
280
295
  static get elementRef() { return "el"; }
@@ -285,6 +300,12 @@ export class Card {
285
300
  "target": undefined,
286
301
  "capture": true,
287
302
  "passive": false
303
+ }, {
304
+ "name": "icThemeChange",
305
+ "method": "themeChangeHandler",
306
+ "target": "document",
307
+ "capture": false,
308
+ "passive": false
288
309
  }];
289
310
  }
290
311
  }
@@ -1 +1 @@
1
- {"version":3,"file":"ic-card.js","sourceRoot":"","sources":["../../../src/components/ic-card/ic-card.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Listen, Prop, State, h } from \"@stencil/core\";\nimport {\n onComponentRequiredPropUndefined,\n isSlotUsed,\n} from \"../../utils/helpers\";\n\n/**\n * @slot icon - Content will be placed to the left of the card title.\n * @slot heading - Content will be placed at the top of the card to the right of the icon.\n * @slot message - Content will be placed in the main body of the card.\n */\n@Component({\n tag: \"ic-card\",\n styleUrl: \"ic-card.css\",\n shadow: true,\n})\nexport class Card {\n @Element() el: HTMLIcCardElement;\n\n /**\n * Set the variant to static or clickable\n */\n @Prop({ mutable: true }) clickable?: boolean = false;\n /**\n * URL for clickable cards\n */\n @Prop() href?: string | undefined;\n /**\n * Human readable explanation of the URL\n */\n @Prop() hreflang?: string = \"\";\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n /**\n * Where to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n /**\n * Title for the card\n */\n @Prop() heading!: string;\n /**\n * Main body message of the card\n */\n @Prop() message?: string = \"\";\n /**\n * Whether the card is disabled if it is clickable\n */\n @Prop() disabled?: boolean = false;\n /**\n * If true then fill width of container\n */\n @Prop() fullWidth: boolean = false;\n\n @State() parentIsAnchorTag: boolean = false;\n\n @State() isFocussed: boolean = false;\n\n @State() parentEl: HTMLElement | null = null;\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled) {\n event.stopImmediatePropagation();\n }\n }\n\n private parentFocussed = (): void => {\n this.isFocussed = true;\n };\n\n private parentBlurred = (): void => {\n this.isFocussed = false;\n };\n\n componentWillLoad(): void {\n this.parentEl = this.el.parentElement;\n\n if (this.parentEl.tagName === \"A\") {\n this.clickable = true;\n this.parentIsAnchorTag = true;\n this.parentEl.classList.add(\"ic-card-wrapper-link\");\n this.parentEl.addEventListener(\"focus\", this.parentFocussed);\n this.parentEl.addEventListener(\"blur\", this.parentBlurred);\n }\n }\n\n disconnectedCallback(): void {\n if (this.parentIsAnchorTag) {\n this.parentEl.removeEventListener(\"focus\", this.parentFocussed);\n this.parentEl.removeEventListener(\"blur\", this.parentBlurred);\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Card\"\n );\n }\n\n render() {\n const {\n clickable,\n disabled,\n heading,\n message,\n href,\n hreflang,\n referrerpolicy,\n rel,\n target,\n fullWidth,\n parentIsAnchorTag,\n isFocussed,\n } = this;\n\n const Component = parentIsAnchorTag\n ? \"div\"\n : clickable\n ? this.href === undefined\n ? \"button\"\n : \"a\"\n : \"div\";\n\n const attrs = Component == \"a\" && {\n href: href,\n hrefLang: hreflang,\n referrerPolicy: referrerpolicy,\n rel: rel,\n target: target,\n };\n\n return (\n <Component\n class={{\n [\"card\"]: true,\n [\"clickable\"]: clickable && !disabled,\n [\"disabled\"]: disabled,\n [\"fullwidth\"]: fullWidth,\n [\"focussed\"]: isFocussed,\n }}\n tabindex={clickable && !parentIsAnchorTag ? 0 : null}\n aria-disabled={disabled ? \"true\" : null}\n disabled={disabled ? true : null}\n {...attrs}\n >\n <div class=\"card-header\">\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon\">\n <slot name=\"icon\" />\n </div>\n )}\n <div class=\"card-title\">\n <slot name=\"heading\">\n <ic-typography variant=\"h4\">\n <p>{heading}</p>\n </ic-typography>\n </slot>\n </div>\n </div>\n {(message || isSlotUsed(this.el, \"message\")) && (\n <div class=\"card-message\">\n <slot name=\"message\">\n <ic-typography variant=\"body\">{message}</ic-typography>\n </slot>\n </div>\n )}\n </Component>\n );\n }\n}\n"]}
1
+ {"version":3,"file":"ic-card.js","sourceRoot":"","sources":["../../../src/components/ic-card/ic-card.tsx"],"names":[],"mappings":"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","sourcesContent":["import { Component, Element, Listen, Prop, State, h } from \"@stencil/core\";\nimport {\n onComponentRequiredPropUndefined,\n isSlotUsed,\n getThemeFromContext,\n} from \"../../utils/helpers\";\nimport { IcTheme, IcThemeForeground, IcThemeForegroundEnum } from \"../../utils/types\";\n\n/**\n * @slot icon - Content will be placed to the left of the card title.\n * @slot heading - Content will be placed at the top of the card to the right of the icon.\n * @slot message - Content will be placed in the main body of the card.\n */\n@Component({\n tag: \"ic-card\",\n styleUrl: \"ic-card.css\",\n shadow: true,\n})\nexport class Card {\n @Element() el: HTMLIcCardElement;\n\n /**\n * If `true`, the card will be a clickable variant, instead of static.\n */\n @Prop({ mutable: true }) clickable?: boolean = false;\n /**\n * The URL that the clickable card link points to.\n */\n @Prop() href?: string | undefined;\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string = \"\";\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n /**\n * The title for the card.\n */\n @Prop() heading!: string;\n /**\n * The main body message of the card.\n */\n @Prop() message?: string = \"\";\n /**\n * If `true`, the card will be disabled if it is clickable.\n */\n @Prop() disabled?: boolean = false;\n /**\n * If `true`, the card will fill the width of the container.\n */\n @Prop() fullWidth: boolean = false;\n\n @State() parentIsAnchorTag: boolean = false;\n\n @State() isFocussed: boolean = false;\n\n @State() parentEl: HTMLElement | null = null;\n\n @State() appearance?: IcThemeForeground = \"default\";\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled) {\n event.stopImmediatePropagation();\n }\n }\n\n @Listen(\"icThemeChange\", { target: \"document\" })\n themeChangeHandler(ev: CustomEvent): void {\n const theme: IcTheme = ev.detail;\n this.updateTheme(theme.mode);\n }\n\n private parentFocussed = (): void => {\n this.isFocussed = true;\n };\n\n private parentBlurred = (): void => {\n this.isFocussed = false;\n };\n\n private updateTheme(newTheme: IcThemeForeground = null): void {\n const foregroundColor = getThemeFromContext(this.el, newTheme || null);\n\n if (foregroundColor !== IcThemeForegroundEnum.Default) {\n this.appearance = foregroundColor;\n }\n }\n\n componentWillLoad(): void {\n this.parentEl = this.el.parentElement;\n\n if (this.parentEl.tagName === \"A\") {\n this.clickable = true;\n this.parentIsAnchorTag = true;\n this.parentEl.classList.add(\"ic-card-wrapper-link\");\n this.parentEl.addEventListener(\"focus\", this.parentFocussed);\n this.parentEl.addEventListener(\"blur\", this.parentBlurred);\n }\n }\n\n disconnectedCallback(): void {\n if (this.parentIsAnchorTag) {\n this.parentEl.removeEventListener(\"focus\", this.parentFocussed);\n this.parentEl.removeEventListener(\"blur\", this.parentBlurred);\n }\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Card\"\n );\n this.updateTheme();\n }\n\n render() {\n const {\n clickable,\n disabled,\n heading,\n message,\n href,\n hreflang,\n referrerpolicy,\n rel,\n target,\n fullWidth,\n parentIsAnchorTag,\n isFocussed,\n } = this;\n\n const Component = parentIsAnchorTag\n ? \"div\"\n : clickable\n ? this.href === undefined\n ? \"button\"\n : \"a\"\n : \"div\";\n\n const attrs = Component == \"a\" && {\n href: href,\n hrefLang: hreflang,\n referrerPolicy: referrerpolicy,\n rel: rel,\n target: target,\n };\n\n return (\n <Component\n class={{\n [\"card\"]: true,\n [\"clickable\"]: clickable && !disabled,\n [\"disabled\"]: disabled,\n [\"fullwidth\"]: fullWidth,\n [\"focussed\"]: isFocussed,\n [\"dark\"]: this.appearance === IcThemeForegroundEnum.Dark,\n }}\n tabindex={clickable && !parentIsAnchorTag ? 0 : null}\n aria-disabled={disabled ? \"true\" : null}\n disabled={disabled ? true : null}\n {...attrs}\n >\n <div class=\"card-header\">\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon\">\n <slot name=\"icon\" />\n </div>\n )}\n <div class=\"card-title\">\n <slot name=\"heading\">\n <ic-typography variant=\"h4\">\n <p>{heading}</p>\n </ic-typography>\n </slot>\n </div>\n </div>\n {(message || isSlotUsed(this.el, \"message\")) && (\n <div class=\"card-message\">\n <slot name=\"message\">\n <ic-typography variant=\"body\">{message}</ic-typography>\n </slot>\n </div>\n )}\n </Component>\n );\n }\n}\n"]}
@@ -461,6 +461,7 @@ video {
461
461
  .checkbox {
462
462
  -webkit-appearance: none;
463
463
  -moz-appearance: none;
464
+ appearance: none;
464
465
  display: block;
465
466
  position: relative;
466
467
  top: 0;
@@ -470,7 +471,7 @@ video {
470
471
  background-color: transparent;
471
472
  border: 1px solid var(--ic-architectural-300);
472
473
  border-radius: var(--ic-border-radius);
473
- outline: var(--ic-hc-focus-outline);
474
+ outline: none;
474
475
  cursor: pointer;
475
476
  transition: var(--ic-easing-transition-fast);
476
477
  }
@@ -485,6 +486,7 @@ video {
485
486
  background-color: var(--ic-architectural-200);
486
487
  }
487
488
 
489
+ .checkbox:indeterminate,
488
490
  .checkbox.indeterminate:checked {
489
491
  background-color: transparent;
490
492
  border: 2px solid var(--ic-action-default);
@@ -494,6 +496,7 @@ video {
494
496
  background-color: var(--ic-action-default-hover);
495
497
  }
496
498
 
499
+ .checkbox:indeterminate:hover,
497
500
  .checkbox.indeterminate:checked:hover {
498
501
  background-color: var(--ic-action-default-bg-hover);
499
502
  border: 2px solid var(--ic-action-default-hover);
@@ -503,6 +506,7 @@ video {
503
506
  background-color: var(--ic-action-default-active);
504
507
  }
505
508
 
509
+ .checkbox:indeterminate:active,
506
510
  .checkbox.indeterminate:checked:active {
507
511
  background-color: var(--ic-action-default-bg-active);
508
512
  border: 2px solid var(--ic-action-default-active);
@@ -601,3 +605,36 @@ video {
601
605
  --input-width: 100%;
602
606
  }
603
607
  }
608
+
609
+ @media (forced-colors: active) {
610
+ /* Styles here only apply to Forced Colors Mode */
611
+ .checkbox {
612
+ -webkit-appearance: revert;
613
+ -moz-appearance: revert;
614
+ appearance: revert;
615
+ transition: none;
616
+ }
617
+
618
+ .checkbox:checked {
619
+ transition: none;
620
+ }
621
+
622
+ .checkbox:focus-visible {
623
+ outline: 2px solid highlight;
624
+ }
625
+
626
+ .checkbox:disabled:not(:checked) {
627
+ -webkit-appearance: none;
628
+ -moz-appearance: none;
629
+ appearance: none;
630
+ border-color: GrayText;
631
+ }
632
+
633
+ .checkmark {
634
+ fill: none;
635
+ }
636
+
637
+ .indeterminate-symbol {
638
+ display: none;
639
+ }
640
+ }
@@ -52,7 +52,8 @@ export class Checkbox {
52
52
  removeFormResetListener(this.host, this.handleFormReset);
53
53
  }
54
54
  render() {
55
- const id = `ic-checkbox-${this.label !== undefined ? this.label : this.value}-${this.groupLabel}`;
55
+ let id = `ic-checkbox-${this.label !== undefined ? this.label : this.value}-${this.groupLabel}`;
56
+ id = id.replace(/ /g, "-");
56
57
  this.checked
57
58
  ? renderHiddenInput(true, this.host, this.name, this.checked && this.value, this.disabled)
58
59
  : removeHiddenInput(this.host);
@@ -60,7 +61,7 @@ export class Checkbox {
60
61
  ["checkbox"]: true,
61
62
  ["checked"]: this.checked,
62
63
  ["indeterminate"]: this.indeterminate,
63
- }, type: "checkbox", name: this.name, id: id, value: this.value, disabled: this.disabled ? true : null, checked: this.checked, onClick: this.handleClick }), h("ic-typography", { variant: "body" }, h("label", { class: "checkbox-label", htmlFor: id }, this.label))), isSlotUsed(this.host, "additional-field") && (h("div", { class: "dynamic-container", ref: (el) => (this.additionalFieldContainer = el) }, this.additionalFieldDisplay === "dynamic" && (h("div", { class: "branch-corner" })), h("div", null, this.additionalFieldDisplay === "dynamic" && (h("ic-typography", { variant: "caption" }, h("p", { class: "dynamic-text", "aria-live": "polite" }, this.dynamicText))), h("div", { class: {
64
+ }, type: "checkbox", name: this.name, id: id, value: this.value, disabled: this.disabled ? true : null, checked: this.checked, indeterminate: this.indeterminate, onClick: this.handleClick }), h("ic-typography", { variant: "body" }, h("label", { class: "checkbox-label", htmlFor: id }, this.label))), isSlotUsed(this.host, "additional-field") && (h("div", { class: "dynamic-container", ref: (el) => (this.additionalFieldContainer = el) }, this.additionalFieldDisplay === "dynamic" && (h("div", { class: "branch-corner" })), h("div", null, this.additionalFieldDisplay === "dynamic" && (h("ic-typography", { variant: "caption" }, h("p", { class: "dynamic-text", "aria-live": "polite" }, this.dynamicText))), h("div", { class: {
64
65
  "additional-field-wrapper": this.additionalFieldDisplay === "static",
65
66
  } }, h("slot", { name: "additional-field" })))))));
66
67
  }
@@ -90,7 +91,7 @@ export class Checkbox {
90
91
  "optional": true,
91
92
  "docs": {
92
93
  "tags": [],
93
- "text": "Set the checkbox to the checked state"
94
+ "text": "If `true`, the checkbox will be set to the checked state."
94
95
  },
95
96
  "attribute": "checked",
96
97
  "reflect": true,
@@ -108,7 +109,7 @@ export class Checkbox {
108
109
  "optional": true,
109
110
  "docs": {
110
111
  "tags": [],
111
- "text": "Set the checkbox to the disabled state"
112
+ "text": "If `true`, the checkbox will be set to the disabled state."
112
113
  },
113
114
  "attribute": "disabled",
114
115
  "reflect": false,
@@ -126,7 +127,7 @@ export class Checkbox {
126
127
  "optional": false,
127
128
  "docs": {
128
129
  "tags": [],
129
- "text": "Provide a label for the input"
130
+ "text": "The label for the checkbox."
130
131
  },
131
132
  "attribute": "label",
132
133
  "reflect": false
@@ -143,7 +144,7 @@ export class Checkbox {
143
144
  "optional": false,
144
145
  "docs": {
145
146
  "tags": [],
146
- "text": "Provide a value for the input"
147
+ "text": "The value for the checkbox."
147
148
  },
148
149
  "attribute": "value",
149
150
  "reflect": false
@@ -160,7 +161,7 @@ export class Checkbox {
160
161
  "optional": false,
161
162
  "docs": {
162
163
  "tags": [],
163
- "text": "Provide a name for the input"
164
+ "text": "The name for the checkbox. If not set when used in a checkbox group, the name will be based on the group name."
164
165
  },
165
166
  "attribute": "name",
166
167
  "reflect": false
@@ -177,7 +178,7 @@ export class Checkbox {
177
178
  "optional": false,
178
179
  "docs": {
179
180
  "tags": [],
180
- "text": "Provide a group label for the input"
181
+ "text": "The group label for the checkbox."
181
182
  },
182
183
  "attribute": "group-label",
183
184
  "reflect": false
@@ -194,7 +195,7 @@ export class Checkbox {
194
195
  "optional": false,
195
196
  "docs": {
196
197
  "tags": [],
197
- "text": "Provide a text prop for the dynamic text"
198
+ "text": "The text to be displayed when dynamic."
198
199
  },
199
200
  "attribute": "dynamic-text",
200
201
  "reflect": false,
@@ -217,7 +218,7 @@ export class Checkbox {
217
218
  "optional": false,
218
219
  "docs": {
219
220
  "tags": [],
220
- "text": "Set which style of additionalField will be displayed if used"
221
+ "text": "The style of additionalField that will be displayed if used."
221
222
  },
222
223
  "attribute": "additional-field-display",
223
224
  "reflect": true,
@@ -235,7 +236,7 @@ export class Checkbox {
235
236
  "optional": false,
236
237
  "docs": {
237
238
  "tags": [],
238
- "text": "Display the indeterminate state when checked"
239
+ "text": "If `true`, the indeterminate state will be displayed when checked."
239
240
  },
240
241
  "attribute": "indeterminate",
241
242
  "reflect": false,
@@ -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} from \"@stencil/core\";\nimport { IcAdditionalFieldTypes } from \"../../utils/types\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n removeHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n} from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-checkbox\",\n styleUrl: \"ic-checkbox.css\",\n shadow: true,\n})\nexport class Checkbox {\n /**\n * Set the checkbox to the checked state\n */\n @Prop({ reflect: true, mutable: true }) checked?: boolean = false;\n /**\n * Set the checkbox to the disabled state\n */\n @Prop() disabled?: boolean = false;\n /**\n * Provide a label for the input\n */\n @Prop() label!: string;\n /**\n * Provide a value for the input\n */\n @Prop() value!: string;\n /**\n * Provide a name for the input\n */\n @Prop() name: string;\n /**\n * Provide a group label for the input\n */\n @Prop() groupLabel: string;\n /**\n * Provide a text prop for the dynamic text\n */\n @Prop() dynamicText: string = \"This selection requires additional answers\";\n /**\n * Set which style of additionalField will be displayed if used\n */\n @Prop({ reflect: true }) additionalFieldDisplay: IcAdditionalFieldTypes =\n \"static\";\n /**\n * Display the indeterminate state when checked\n */\n @Prop() indeterminate: boolean = false;\n\n @State() initiallyChecked = this.checked;\n\n @Element() host: HTMLIcCheckboxElement;\n\n /**\n * Emitted when a checkbox has been checked\n */\n @Event() checkboxChecked: EventEmitter<void>;\n\n private additionalFieldContainer: HTMLDivElement;\n\n private handleClick = () => {\n this.checked = !this.checked;\n this.checkboxChecked.emit();\n };\n\n private handleFormReset = (): void => {\n this.checked = this.initiallyChecked;\n };\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n const textfield = this.host.querySelector(\"ic-text-field\");\n if (!this.checked) {\n textfield && textfield.setAttribute(\"disabled\", \"\");\n } else {\n textfield && textfield.removeAttribute(\"disabled\");\n }\n } else {\n if (!this.checked) {\n this.additionalFieldContainer.style.display = \"none\";\n } else {\n this.additionalFieldContainer.style.display = \"flex\";\n }\n }\n }\n\n componentWillLoad(): void {\n addFormResetListener(this.host, this.handleFormReset);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.value, propName: \"value\" },\n ],\n \"Checkbox\"\n );\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.host, this.handleFormReset);\n }\n\n render() {\n const id = `ic-checkbox-${\n this.label !== undefined ? this.label : this.value\n }-${this.groupLabel}`;\n\n this.checked\n ? renderHiddenInput(\n true,\n this.host,\n this.name,\n this.checked && this.value,\n this.disabled\n )\n : removeHiddenInput(this.host);\n\n return (\n <Host>\n <div class={{ [\"container\"]: true, [\"disabled\"]: this.disabled }}>\n {this.checked && !this.indeterminate && (\n <svg\n class=\"checkmark\"\n width=\"24\"\n height=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n >\n <title>checkmark icon</title>\n <path d=\"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z\" />\n </svg>\n )}\n {this.checked && this.indeterminate && (\n <div class=\"indeterminate-symbol\" />\n )}\n <input\n role=\"checkbox\"\n class={{\n [\"checkbox\"]: true,\n [\"checked\"]: this.checked,\n [\"indeterminate\"]: this.indeterminate,\n }}\n type=\"checkbox\"\n name={this.name}\n id={id}\n value={this.value}\n disabled={this.disabled ? true : null}\n checked={this.checked}\n onClick={this.handleClick}\n ></input>\n <ic-typography variant=\"body\">\n <label class=\"checkbox-label\" htmlFor={id}>\n {this.label}\n </label>\n </ic-typography>\n </div>\n {isSlotUsed(this.host, \"additional-field\") && (\n <div\n class=\"dynamic-container\"\n ref={(el) => (this.additionalFieldContainer = el)}\n >\n {this.additionalFieldDisplay === \"dynamic\" && (\n <div class=\"branch-corner\"></div>\n )}\n <div>\n {this.additionalFieldDisplay === \"dynamic\" && (\n <ic-typography variant=\"caption\">\n <p class=\"dynamic-text\" aria-live=\"polite\">\n {this.dynamicText}\n </p>\n </ic-typography>\n )}\n <div\n class={{\n \"additional-field-wrapper\":\n this.additionalFieldDisplay === \"static\",\n }}\n >\n <slot name=\"additional-field\"></slot>\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}
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} from \"@stencil/core\";\nimport { IcAdditionalFieldTypes } from \"../../utils/types\";\nimport {\n isSlotUsed,\n onComponentRequiredPropUndefined,\n renderHiddenInput,\n removeHiddenInput,\n addFormResetListener,\n removeFormResetListener,\n} from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-checkbox\",\n styleUrl: \"ic-checkbox.css\",\n shadow: true,\n})\nexport class Checkbox {\n /**\n * If `true`, the checkbox will be set to the checked state.\n */\n @Prop({ reflect: true, mutable: true }) checked?: boolean = false;\n /**\n * If `true`, the checkbox will be set to the disabled state.\n */\n @Prop() disabled?: boolean = false;\n /**\n * The label for the checkbox.\n */\n @Prop() label!: string;\n /**\n * The value for the checkbox.\n */\n @Prop() value!: string;\n /**\n * The name for the checkbox. If not set when used in a checkbox group, the name will be based on the group name.\n */\n @Prop() name: string;\n /**\n * The group label for the checkbox.\n */\n @Prop() groupLabel: string;\n /**\n * The text to be displayed when dynamic.\n */\n @Prop() dynamicText: string = \"This selection requires additional answers\";\n /**\n * The style of additionalField that will be displayed if used.\n */\n @Prop({ reflect: true }) additionalFieldDisplay: IcAdditionalFieldTypes =\n \"static\";\n /**\n * If `true`, the indeterminate state will be displayed when checked.\n */\n @Prop() indeterminate: boolean = false;\n\n @State() initiallyChecked = this.checked;\n\n @Element() host: HTMLIcCheckboxElement;\n\n /**\n * Emitted when a checkbox has been checked\n */\n @Event() checkboxChecked: EventEmitter<void>;\n\n private additionalFieldContainer: HTMLDivElement;\n\n private handleClick = () => {\n this.checked = !this.checked;\n this.checkboxChecked.emit();\n };\n\n private handleFormReset = (): void => {\n this.checked = this.initiallyChecked;\n };\n\n componentDidRender(): void {\n if (this.additionalFieldDisplay === \"static\") {\n const textfield = this.host.querySelector(\"ic-text-field\");\n if (!this.checked) {\n textfield && textfield.setAttribute(\"disabled\", \"\");\n } else {\n textfield && textfield.removeAttribute(\"disabled\");\n }\n } else {\n if (!this.checked) {\n this.additionalFieldContainer.style.display = \"none\";\n } else {\n this.additionalFieldContainer.style.display = \"flex\";\n }\n }\n }\n\n componentWillLoad(): void {\n addFormResetListener(this.host, this.handleFormReset);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.value, propName: \"value\" },\n ],\n \"Checkbox\"\n );\n }\n\n disconnectedCallback(): void {\n removeFormResetListener(this.host, this.handleFormReset);\n }\n\n render() {\n let id = `ic-checkbox-${\n this.label !== undefined ? this.label : this.value\n }-${this.groupLabel}`;\n\n id = id.replace(/ /g, \"-\");\n\n this.checked\n ? renderHiddenInput(\n true,\n this.host,\n this.name,\n this.checked && this.value,\n this.disabled\n )\n : removeHiddenInput(this.host);\n\n return (\n <Host>\n <div class={{ [\"container\"]: true, [\"disabled\"]: this.disabled }}>\n {this.checked && !this.indeterminate && (\n <svg\n class=\"checkmark\"\n width=\"24\"\n height=\"24\"\n xmlns=\"http://www.w3.org/2000/svg\"\n fill-rule=\"evenodd\"\n clip-rule=\"evenodd\"\n >\n <title>checkmark icon</title>\n <path d=\"M21 6.285l-11.16 12.733-6.84-6.018 1.319-1.49 5.341 4.686 9.865-11.196 1.475 1.285z\" />\n </svg>\n )}\n {this.checked && this.indeterminate && (\n <div class=\"indeterminate-symbol\" />\n )}\n <input\n role=\"checkbox\"\n class={{\n [\"checkbox\"]: true,\n [\"checked\"]: this.checked,\n [\"indeterminate\"]: this.indeterminate,\n }}\n type=\"checkbox\"\n name={this.name}\n id={id}\n value={this.value}\n disabled={this.disabled ? true : null}\n checked={this.checked}\n indeterminate={this.indeterminate}\n onClick={this.handleClick}\n ></input>\n <ic-typography variant=\"body\">\n <label class=\"checkbox-label\" htmlFor={id}>\n {this.label}\n </label>\n </ic-typography>\n </div>\n {isSlotUsed(this.host, \"additional-field\") && (\n <div\n class=\"dynamic-container\"\n ref={(el) => (this.additionalFieldContainer = el)}\n >\n {this.additionalFieldDisplay === \"dynamic\" && (\n <div class=\"branch-corner\"></div>\n )}\n <div>\n {this.additionalFieldDisplay === \"dynamic\" && (\n <ic-typography variant=\"caption\">\n <p class=\"dynamic-text\" aria-live=\"polite\">\n {this.dynamicText}\n </p>\n </ic-typography>\n )}\n <div\n class={{\n \"additional-field-wrapper\":\n this.additionalFieldDisplay === \"static\",\n }}\n >\n <slot name=\"additional-field\"></slot>\n </div>\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n"]}