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

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (826) hide show
  1. package/README.md +8 -0
  2. package/dist/cjs/OpenInNew-f9958725.js +7 -0
  3. package/dist/cjs/OpenInNew-f9958725.js.map +1 -0
  4. package/dist/cjs/{check-icon-999d9877.js → check-icon-b2f60716.js} +2 -2
  5. package/dist/cjs/check-icon-b2f60716.js.map +1 -0
  6. package/dist/cjs/{chevron-icon-d175fe66.js → chevron-icon-2645d6b0.js} +2 -2
  7. package/dist/cjs/chevron-icon-2645d6b0.js.map +1 -0
  8. package/dist/cjs/core.cjs.js +3 -3
  9. package/dist/cjs/core.cjs.js.map +1 -1
  10. package/dist/cjs/{helpers-d0eeccf0.js → helpers-6eb26e7a.js} +158 -40
  11. package/dist/cjs/helpers-6eb26e7a.js.map +1 -0
  12. package/dist/cjs/ic-alert.cjs.entry.js +6 -25
  13. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  14. package/dist/cjs/ic-back-to-top.cjs.entry.js +24 -12
  15. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  16. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +2 -2
  17. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  18. package/dist/cjs/ic-breadcrumb.cjs.entry.js +14 -5
  19. package/dist/cjs/ic-breadcrumb.cjs.entry.js.map +1 -1
  20. package/dist/cjs/ic-button_3.cjs.entry.js +86 -37
  21. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  22. package/dist/cjs/ic-card.cjs.entry.js +43 -6
  23. package/dist/cjs/ic-card.cjs.entry.js.map +1 -1
  24. package/dist/cjs/ic-checkbox-group.cjs.entry.js +4 -4
  25. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-checkbox.cjs.entry.js +19 -6
  27. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-chip.cjs.entry.js +77 -0
  29. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -0
  30. package/dist/cjs/ic-classification-banner.cjs.entry.js +3 -3
  31. package/dist/cjs/ic-classification-banner.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-data-entity.cjs.entry.js +2 -2
  33. package/dist/cjs/ic-data-entity.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-data-row.cjs.entry.js +14 -12
  35. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-divider.cjs.entry.js +3 -3
  37. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  38. package/dist/cjs/ic-footer-link-group.cjs.entry.js +4 -3
  39. package/dist/cjs/ic-footer-link-group.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-footer-link.cjs.entry.js +12 -5
  41. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  42. package/dist/cjs/ic-footer.cjs.entry.js +5 -5
  43. package/dist/cjs/ic-footer.cjs.entry.js.map +1 -1
  44. package/dist/cjs/ic-hero.cjs.entry.js +3 -3
  45. package/dist/cjs/ic-hero.cjs.entry.js.map +1 -1
  46. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +158 -0
  47. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -0
  48. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +71 -41
  49. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-input-label_2.cjs.entry.js +6 -8
  51. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  52. package/dist/cjs/ic-link.cjs.entry.js +14 -8
  53. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-navigation-button.cjs.entry.js +5 -4
  55. package/dist/cjs/ic-navigation-button.cjs.entry.js.map +1 -1
  56. package/dist/cjs/ic-navigation-group.cjs.entry.js +6 -5
  57. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  58. package/dist/cjs/ic-navigation-item.cjs.entry.js +18 -11
  59. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-navigation-menu.cjs.entry.js +8 -8
  61. package/dist/cjs/ic-navigation-menu.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-page-header.cjs.entry.js +5 -5
  63. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  64. package/dist/cjs/ic-radio-group.cjs.entry.js +13 -5
  65. package/dist/cjs/ic-radio-group.cjs.entry.js.map +1 -1
  66. package/dist/cjs/ic-radio-option.cjs.entry.js +24 -6
  67. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  68. package/dist/cjs/ic-search-bar.cjs.entry.js +53 -41
  69. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  70. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  71. package/dist/cjs/ic-section-container.cjs.entry.js.map +1 -1
  72. package/dist/cjs/ic-select.cjs.entry.js +206 -59
  73. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-side-navigation.cjs.entry.js +24 -12
  75. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  77. package/dist/cjs/ic-skeleton.cjs.entry.js.map +1 -1
  78. package/dist/cjs/ic-status-tag.cjs.entry.js +6 -5
  79. package/dist/cjs/ic-status-tag.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-step.cjs.entry.js +103 -23
  81. package/dist/cjs/ic-step.cjs.entry.js.map +1 -1
  82. package/dist/cjs/ic-stepper.cjs.entry.js +166 -42
  83. package/dist/cjs/ic-stepper.cjs.entry.js.map +1 -1
  84. package/dist/cjs/ic-switch.cjs.entry.js +12 -3
  85. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  86. package/dist/cjs/ic-tab-context.cjs.entry.js +7 -2
  87. package/dist/cjs/ic-tab-context.cjs.entry.js.map +1 -1
  88. package/dist/cjs/ic-tab-group.cjs.entry.js +9 -118
  89. package/dist/cjs/ic-tab-group.cjs.entry.js.map +1 -1
  90. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -6
  91. package/dist/cjs/ic-tab-panel.cjs.entry.js.map +1 -1
  92. package/dist/cjs/ic-tab.cjs.entry.js +10 -6
  93. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  94. package/dist/cjs/ic-text-field.cjs.entry.js +5 -5
  95. package/dist/cjs/ic-text-field.cjs.entry.js.map +1 -1
  96. package/dist/cjs/ic-theme.cjs.entry.js +21 -13
  97. package/dist/cjs/ic-theme.cjs.entry.js.map +1 -1
  98. package/dist/cjs/ic-toast-region.cjs.entry.js +48 -0
  99. package/dist/cjs/ic-toast-region.cjs.entry.js.map +1 -0
  100. package/dist/cjs/ic-toast.cjs.entry.js +165 -0
  101. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -0
  102. package/dist/cjs/ic-top-navigation.cjs.entry.js +15 -10
  103. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  104. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  105. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  106. package/dist/cjs/{index-3ef30d9d.js → index-f79a4e53.js} +21 -2
  107. package/dist/cjs/index-f79a4e53.js.map +1 -0
  108. package/dist/cjs/loader.cjs.js +3 -3
  109. package/dist/cjs/loader.cjs.js.map +1 -1
  110. package/dist/cjs/types-3eb02246.js.map +1 -1
  111. package/dist/collection/assets/back-icon.svg +1 -1
  112. package/dist/collection/assets/check-icon.svg +1 -1
  113. package/dist/collection/assets/chevron-icon.svg +1 -1
  114. package/dist/collection/assets/dismiss-icon.svg +3 -0
  115. package/dist/collection/assets/error-icon.svg +3 -3
  116. package/dist/collection/assets/info-icon.svg +3 -3
  117. package/dist/collection/assets/neutral-icon.svg +3 -3
  118. package/dist/collection/assets/success-icon.svg +3 -3
  119. package/dist/collection/assets/warning-icon-outline.svg +3 -0
  120. package/dist/collection/assets/warning-icon.svg +3 -3
  121. package/dist/collection/collection-manifest.json +6 -2
  122. package/dist/collection/components/ic-alert/ic-alert.css +23 -17
  123. package/dist/collection/components/ic-alert/ic-alert.js +32 -24
  124. package/dist/collection/components/ic-alert/ic-alert.js.map +1 -1
  125. package/dist/collection/components/ic-back-to-top/assets/ArrowUpward.svg +2 -2
  126. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +23 -7
  127. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +18 -7
  128. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js.map +1 -1
  129. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.css +6 -0
  130. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +33 -4
  131. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js.map +1 -1
  132. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +2 -2
  133. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js.map +1 -1
  134. package/dist/collection/components/ic-button/ic-button.css +26 -14
  135. package/dist/collection/components/ic-button/ic-button.js +17 -32
  136. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  137. package/dist/collection/components/ic-card/ic-card.css +66 -17
  138. package/dist/collection/components/ic-card/ic-card.js +123 -15
  139. package/dist/collection/components/ic-card/ic-card.js.map +1 -1
  140. package/dist/collection/components/ic-checkbox/ic-checkbox.css +65 -30
  141. package/dist/collection/components/ic-checkbox/ic-checkbox.js +66 -13
  142. package/dist/collection/components/ic-checkbox/ic-checkbox.js.map +1 -1
  143. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.css +18 -2
  144. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +11 -11
  145. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  146. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.test.a11y.js +1 -1
  147. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.test.a11y.js.map +1 -1
  148. package/dist/collection/components/ic-chip/ic-chip.css +596 -0
  149. package/dist/collection/components/ic-chip/ic-chip.js +247 -0
  150. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -0
  151. package/dist/collection/components/ic-chip/ic-chip.test.a11y.js +11 -0
  152. package/dist/collection/components/ic-chip/ic-chip.test.a11y.js.map +1 -0
  153. package/dist/collection/components/ic-chip/ic-chip.types.js +2 -0
  154. package/dist/collection/components/ic-chip/ic-chip.types.js.map +1 -0
  155. package/dist/collection/components/ic-classification-banner/ic-classification-banner.css +11 -1
  156. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +6 -6
  157. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js.map +1 -1
  158. package/dist/collection/components/ic-data-entity/ic-data-entity.css +7 -1
  159. package/dist/collection/components/ic-data-entity/ic-data-entity.js +2 -2
  160. package/dist/collection/components/ic-data-entity/ic-data-entity.js.map +1 -1
  161. package/dist/collection/components/ic-data-row/ic-data-row.css +26 -8
  162. package/dist/collection/components/ic-data-row/ic-data-row.js +14 -12
  163. package/dist/collection/components/ic-data-row/ic-data-row.js.map +1 -1
  164. package/dist/collection/components/ic-divider/ic-divider.css +1 -1
  165. package/dist/collection/components/ic-divider/ic-divider.js +1 -1
  166. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  167. package/dist/collection/components/ic-footer/ic-footer.css +10 -4
  168. package/dist/collection/components/ic-footer/ic-footer.js +19 -16
  169. package/dist/collection/components/ic-footer/ic-footer.js.map +1 -1
  170. package/dist/collection/components/ic-footer-link/ic-footer-link.css +35 -3
  171. package/dist/collection/components/ic-footer-link/ic-footer-link.js +101 -4
  172. package/dist/collection/components/ic-footer-link/ic-footer-link.js.map +1 -1
  173. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.css +1 -1
  174. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js +4 -3
  175. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.js.map +1 -1
  176. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.test.a11y.js +1 -1
  177. package/dist/collection/components/ic-footer-link-group/ic-footer-link-group.test.a11y.js.map +1 -1
  178. package/dist/collection/components/ic-hero/ic-hero.css +35 -30
  179. package/dist/collection/components/ic-hero/ic-hero.js +10 -10
  180. package/dist/collection/components/ic-hero/ic-hero.js.map +1 -1
  181. package/dist/collection/components/ic-horizontal-scroll/assets/left-arrow.svg +3 -0
  182. package/dist/collection/components/ic-horizontal-scroll/assets/right-arrow.svg +3 -0
  183. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +539 -0
  184. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +213 -0
  185. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js.map +1 -0
  186. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.test.a11y.js +34 -0
  187. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.test.a11y.js.map +1 -0
  188. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +31 -18
  189. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +8 -8
  190. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js.map +1 -1
  191. package/dist/collection/components/ic-input-container/ic-input-container.css +0 -1
  192. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  193. package/dist/collection/components/ic-input-container/ic-input-container.js.map +1 -1
  194. package/dist/collection/components/ic-input-label/ic-input-label.js +8 -8
  195. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  196. package/dist/collection/components/ic-input-validation/ic-input-validation.css +4 -5
  197. package/dist/collection/components/ic-input-validation/ic-input-validation.js +5 -5
  198. package/dist/collection/components/ic-input-validation/ic-input-validation.js.map +1 -1
  199. package/dist/collection/components/ic-link/ic-link.css +0 -9
  200. package/dist/collection/components/ic-link/ic-link.js +38 -11
  201. package/dist/collection/components/ic-link/ic-link.js.map +1 -1
  202. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.css +96 -105
  203. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +96 -16
  204. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js.map +1 -1
  205. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.types.js.map +1 -1
  206. package/dist/collection/components/ic-menu/ic-menu.css +26 -14
  207. package/dist/collection/components/ic-menu/ic-menu.js +135 -68
  208. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  209. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +9 -8
  210. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js.map +1 -1
  211. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +14 -7
  212. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +7 -6
  213. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js.map +1 -1
  214. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +68 -18
  215. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +113 -16
  216. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  217. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.css +15 -11
  218. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +8 -8
  219. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js.map +1 -1
  220. package/dist/collection/components/ic-page-header/ic-page-header.css +15 -5
  221. package/dist/collection/components/ic-page-header/ic-page-header.js +10 -10
  222. package/dist/collection/components/ic-page-header/ic-page-header.js.map +1 -1
  223. package/dist/collection/components/ic-radio-group/ic-radio-group.css +32 -0
  224. package/dist/collection/components/ic-radio-group/ic-radio-group.js +44 -13
  225. package/dist/collection/components/ic-radio-group/ic-radio-group.js.map +1 -1
  226. package/dist/collection/components/ic-radio-group/ic-radio-group.test.a11y.js +1 -1
  227. package/dist/collection/components/ic-radio-group/ic-radio-group.test.a11y.js.map +1 -1
  228. package/dist/collection/components/ic-radio-option/ic-radio-option.css +58 -49
  229. package/dist/collection/components/ic-radio-option/ic-radio-option.js +65 -19
  230. package/dist/collection/components/ic-radio-option/ic-radio-option.js.map +1 -1
  231. package/dist/collection/components/ic-search-bar/ic-search-bar.css +24 -18
  232. package/dist/collection/components/ic-search-bar/ic-search-bar.js +87 -82
  233. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  234. package/dist/collection/components/ic-section-container/ic-section-container.css +1 -0
  235. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  236. package/dist/collection/components/ic-section-container/ic-section-container.js.map +1 -1
  237. package/dist/collection/components/ic-select/assets/Expand.svg +1 -1
  238. package/dist/collection/components/ic-select/ic-select.css +35 -18
  239. package/dist/collection/components/ic-select/ic-select.js +320 -77
  240. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  241. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +57 -36
  242. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +39 -23
  243. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  244. package/dist/collection/components/ic-skeleton/ic-skeleton.css +8 -0
  245. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  246. package/dist/collection/components/ic-skeleton/ic-skeleton.js.map +1 -1
  247. package/dist/collection/components/ic-status-tag/ic-status-tag.css +15 -7
  248. package/dist/collection/components/ic-status-tag/ic-status-tag.js +22 -3
  249. package/dist/collection/components/ic-status-tag/ic-status-tag.js.map +1 -1
  250. package/dist/collection/components/ic-status-tag/ic-status-tag.test.a11y.js +1 -1
  251. package/dist/collection/components/ic-status-tag/ic-status-tag.test.a11y.js.map +1 -1
  252. package/dist/collection/components/ic-step/ic-step.css +157 -25
  253. package/dist/collection/components/ic-step/ic-step.js +270 -36
  254. package/dist/collection/components/ic-step/ic-step.js.map +1 -1
  255. package/dist/collection/components/ic-step/ic-step.types.js.map +1 -1
  256. package/dist/collection/components/ic-stepper/ic-stepper-test-examples.js +74 -0
  257. package/dist/collection/components/ic-stepper/ic-stepper-test-examples.js.map +1 -0
  258. package/dist/collection/components/ic-stepper/ic-stepper.css +15 -1
  259. package/dist/collection/components/ic-stepper/ic-stepper.js +210 -40
  260. package/dist/collection/components/ic-stepper/ic-stepper.js.map +1 -1
  261. package/dist/collection/components/ic-stepper/ic-stepper.test.a11y.js +13 -1
  262. package/dist/collection/components/ic-stepper/ic-stepper.test.a11y.js.map +1 -1
  263. package/dist/collection/components/ic-switch/ic-switch.css +48 -18
  264. package/dist/collection/components/ic-switch/ic-switch.js +36 -7
  265. package/dist/collection/components/ic-switch/ic-switch.js.map +1 -1
  266. package/dist/collection/components/ic-tab/ic-tab.css +12 -2
  267. package/dist/collection/components/ic-tab/ic-tab.js +39 -12
  268. package/dist/collection/components/ic-tab/ic-tab.js.map +1 -1
  269. package/dist/collection/components/ic-tab-context/ic-tab-context.js +31 -4
  270. package/dist/collection/components/ic-tab-context/ic-tab-context.js.map +1 -1
  271. package/dist/collection/components/ic-tab-context/ic-tab-context.test.a11y.js +1 -1
  272. package/dist/collection/components/ic-tab-context/ic-tab-context.test.a11y.js.map +1 -1
  273. package/dist/collection/components/ic-tab-group/ic-tab-group.css +6 -120
  274. package/dist/collection/components/ic-tab-group/ic-tab-group.js +12 -156
  275. package/dist/collection/components/ic-tab-group/ic-tab-group.js.map +1 -1
  276. package/dist/collection/components/ic-tab-panel/ic-tab-panel.css +4 -0
  277. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +4 -8
  278. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js.map +1 -1
  279. package/dist/collection/components/ic-text-field/ic-text-field.css +18 -7
  280. package/dist/collection/components/ic-text-field/ic-text-field.js +32 -32
  281. package/dist/collection/components/ic-text-field/ic-text-field.js.map +1 -1
  282. package/dist/collection/components/ic-theme/ic-theme.js +29 -16
  283. package/dist/collection/components/ic-theme/ic-theme.js.map +1 -1
  284. package/dist/collection/components/ic-toast/ic-toast.css +597 -0
  285. package/dist/collection/components/ic-toast/ic-toast.js +382 -0
  286. package/dist/collection/components/ic-toast/ic-toast.js.map +1 -0
  287. package/dist/collection/components/ic-toast/ic-toast.test.a11y.js +16 -0
  288. package/dist/collection/components/ic-toast/ic-toast.test.a11y.js.map +1 -0
  289. package/dist/collection/components/ic-toast/ic-toast.types.js +2 -0
  290. package/dist/collection/components/ic-toast/ic-toast.types.js.map +1 -0
  291. package/dist/collection/components/ic-toast-region/ic-toast-region.js +81 -0
  292. package/dist/collection/components/ic-toast-region/ic-toast-region.js.map +1 -0
  293. package/dist/collection/components/ic-tooltip/ic-tooltip.css +13 -9
  294. package/dist/collection/components/ic-tooltip/ic-tooltip.js +25 -2
  295. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  296. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +108 -113
  297. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +21 -15
  298. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js.map +1 -1
  299. package/dist/collection/components/ic-top-navigation/ic-top-navigation.test.a11y.js +1 -1
  300. package/dist/collection/components/ic-top-navigation/ic-top-navigation.test.a11y.js.map +1 -1
  301. package/dist/collection/components/ic-typography/ic-typography.js +1 -1
  302. package/dist/collection/components/ic-typography/ic-typography.js.map +1 -1
  303. package/dist/collection/normalize.css +440 -0
  304. package/dist/collection/testspec.setup.js +8 -0
  305. package/dist/collection/testspec.setup.js.map +1 -1
  306. package/dist/collection/utils/constants.js +37 -0
  307. package/dist/collection/utils/constants.js.map +1 -1
  308. package/dist/collection/utils/helpers.js +80 -38
  309. package/dist/collection/utils/helpers.js.map +1 -1
  310. package/dist/collection/utils/types.js.map +1 -1
  311. package/dist/components/OpenInNew.js +5 -0
  312. package/dist/components/OpenInNew.js.map +1 -0
  313. package/dist/components/check-icon.js +1 -1
  314. package/dist/components/chevron-icon.js +1 -1
  315. package/dist/components/helpers.js +147 -38
  316. package/dist/components/helpers.js.map +1 -1
  317. package/dist/components/ic-alert.js +6 -25
  318. package/dist/components/ic-alert.js.map +1 -1
  319. package/dist/components/ic-back-to-top.js +23 -11
  320. package/dist/components/ic-back-to-top.js.map +1 -1
  321. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  322. package/dist/components/ic-breadcrumb2.js +14 -4
  323. package/dist/components/ic-breadcrumb2.js.map +1 -1
  324. package/dist/components/ic-button2.js +9 -21
  325. package/dist/components/ic-button2.js.map +1 -1
  326. package/dist/components/ic-card.js +68 -7
  327. package/dist/components/ic-card.js.map +1 -1
  328. package/dist/components/ic-checkbox-group.js +4 -4
  329. package/dist/components/ic-checkbox-group.js.map +1 -1
  330. package/dist/components/ic-checkbox.js +21 -7
  331. package/dist/components/ic-checkbox.js.map +1 -1
  332. package/dist/components/ic-chip.d.ts +11 -0
  333. package/dist/components/ic-chip.js +111 -0
  334. package/dist/components/ic-chip.js.map +1 -0
  335. package/dist/components/ic-classification-banner.js +2 -2
  336. package/dist/components/ic-classification-banner.js.map +1 -1
  337. package/dist/components/ic-data-entity.js +1 -1
  338. package/dist/components/ic-data-entity.js.map +1 -1
  339. package/dist/components/ic-data-row.js +12 -10
  340. package/dist/components/ic-data-row.js.map +1 -1
  341. package/dist/components/ic-divider2.js +3 -3
  342. package/dist/components/ic-divider2.js.map +1 -1
  343. package/dist/components/ic-footer-link-group.js +5 -4
  344. package/dist/components/ic-footer-link-group.js.map +1 -1
  345. package/dist/components/ic-footer-link.js +18 -6
  346. package/dist/components/ic-footer-link.js.map +1 -1
  347. package/dist/components/ic-footer.js +5 -5
  348. package/dist/components/ic-footer.js.map +1 -1
  349. package/dist/components/ic-hero.js +3 -3
  350. package/dist/components/ic-hero.js.map +1 -1
  351. package/dist/components/ic-horizontal-scroll.d.ts +11 -0
  352. package/dist/components/ic-horizontal-scroll.js +8 -0
  353. package/dist/components/ic-horizontal-scroll.js.map +1 -0
  354. package/dist/components/ic-horizontal-scroll2.js +199 -0
  355. package/dist/components/ic-horizontal-scroll2.js.map +1 -0
  356. package/dist/components/ic-input-component-container2.js +2 -3
  357. package/dist/components/ic-input-component-container2.js.map +1 -1
  358. package/dist/components/ic-input-container2.js +1 -1
  359. package/dist/components/ic-input-container2.js.map +1 -1
  360. package/dist/components/ic-input-label2.js +1 -1
  361. package/dist/components/ic-input-label2.js.map +1 -1
  362. package/dist/components/ic-input-validation2.js +2 -4
  363. package/dist/components/ic-input-validation2.js.map +1 -1
  364. package/dist/components/ic-link2.js +16 -9
  365. package/dist/components/ic-link2.js.map +1 -1
  366. package/dist/components/ic-loading-indicator2.js +74 -15
  367. package/dist/components/ic-loading-indicator2.js.map +1 -1
  368. package/dist/components/ic-menu2.js +66 -35
  369. package/dist/components/ic-menu2.js.map +1 -1
  370. package/dist/components/ic-navigation-button.js +6 -5
  371. package/dist/components/ic-navigation-button.js.map +1 -1
  372. package/dist/components/ic-navigation-group.js +6 -5
  373. package/dist/components/ic-navigation-group.js.map +1 -1
  374. package/dist/components/ic-navigation-item.js +23 -11
  375. package/dist/components/ic-navigation-item.js.map +1 -1
  376. package/dist/components/ic-navigation-menu2.js +8 -8
  377. package/dist/components/ic-navigation-menu2.js.map +1 -1
  378. package/dist/components/ic-page-header.js +30 -6
  379. package/dist/components/ic-page-header.js.map +1 -1
  380. package/dist/components/ic-radio-group.js +14 -5
  381. package/dist/components/ic-radio-group.js.map +1 -1
  382. package/dist/components/ic-radio-option.js +26 -7
  383. package/dist/components/ic-radio-option.js.map +1 -1
  384. package/dist/components/ic-search-bar.js +56 -43
  385. package/dist/components/ic-search-bar.js.map +1 -1
  386. package/dist/components/ic-section-container2.js +1 -1
  387. package/dist/components/ic-section-container2.js.map +1 -1
  388. package/dist/components/ic-select.js +212 -59
  389. package/dist/components/ic-select.js.map +1 -1
  390. package/dist/components/ic-side-navigation.js +23 -11
  391. package/dist/components/ic-side-navigation.js.map +1 -1
  392. package/dist/components/ic-skeleton.js +1 -1
  393. package/dist/components/ic-skeleton.js.map +1 -1
  394. package/dist/components/ic-status-tag.js +6 -4
  395. package/dist/components/ic-status-tag.js.map +1 -1
  396. package/dist/components/ic-step.js +117 -23
  397. package/dist/components/ic-step.js.map +1 -1
  398. package/dist/components/ic-stepper.js +173 -42
  399. package/dist/components/ic-stepper.js.map +1 -1
  400. package/dist/components/ic-switch.js +14 -4
  401. package/dist/components/ic-switch.js.map +1 -1
  402. package/dist/components/ic-tab-context.js +6 -1
  403. package/dist/components/ic-tab-context.js.map +1 -1
  404. package/dist/components/ic-tab-group.js +30 -125
  405. package/dist/components/ic-tab-group.js.map +1 -1
  406. package/dist/components/ic-tab-panel.js +1 -5
  407. package/dist/components/ic-tab-panel.js.map +1 -1
  408. package/dist/components/ic-tab.js +11 -6
  409. package/dist/components/ic-tab.js.map +1 -1
  410. package/dist/components/ic-text-field2.js +6 -6
  411. package/dist/components/ic-text-field2.js.map +1 -1
  412. package/dist/components/ic-theme.js +20 -12
  413. package/dist/components/ic-theme.js.map +1 -1
  414. package/dist/components/ic-toast-region.d.ts +11 -0
  415. package/dist/components/ic-toast-region.js +63 -0
  416. package/dist/components/ic-toast-region.js.map +1 -0
  417. package/dist/components/ic-toast.d.ts +11 -0
  418. package/dist/components/ic-toast.js +214 -0
  419. package/dist/components/ic-toast.js.map +1 -0
  420. package/dist/components/ic-tooltip2.js +10 -4
  421. package/dist/components/ic-tooltip2.js.map +1 -1
  422. package/dist/components/ic-top-navigation.js +23 -12
  423. package/dist/components/ic-top-navigation.js.map +1 -1
  424. package/dist/components/ic-typography2.js.map +1 -1
  425. package/dist/components/index.d.ts +5 -1
  426. package/dist/components/index.js +4 -0
  427. package/dist/components/index.js.map +1 -1
  428. package/dist/components/types.js.map +1 -1
  429. package/dist/core/core.css +13 -13
  430. package/dist/core/core.esm.js +1 -1
  431. package/dist/core/core.esm.js.map +1 -1
  432. package/dist/core/normalize.css +440 -0
  433. package/dist/core/p-1724000c.js +2 -0
  434. package/dist/core/p-1724000c.js.map +1 -0
  435. package/dist/core/p-18ae4b6d.entry.js +2 -0
  436. package/dist/core/p-18ae4b6d.entry.js.map +1 -0
  437. package/dist/core/p-18bf3cb0.entry.js +2 -0
  438. package/dist/core/p-18bf3cb0.entry.js.map +1 -0
  439. package/dist/core/p-24240e11.js +2 -0
  440. package/dist/core/p-284970bc.entry.js +2 -0
  441. package/dist/core/p-284970bc.entry.js.map +1 -0
  442. package/dist/core/p-31a595c1.entry.js +2 -0
  443. package/dist/core/p-31a595c1.entry.js.map +1 -0
  444. package/dist/core/{p-972f4e69.entry.js → p-35a03442.entry.js} +2 -2
  445. package/dist/core/p-35a03442.entry.js.map +1 -0
  446. package/dist/core/p-360adc51.entry.js +2 -0
  447. package/dist/core/p-360adc51.entry.js.map +1 -0
  448. package/dist/core/p-3dda76db.entry.js +2 -0
  449. package/dist/core/p-3dda76db.entry.js.map +1 -0
  450. package/dist/core/p-41e239cb.entry.js +2 -0
  451. package/dist/core/p-41e239cb.entry.js.map +1 -0
  452. package/dist/core/p-44c9612c.entry.js +2 -0
  453. package/dist/core/p-44c9612c.entry.js.map +1 -0
  454. package/dist/core/p-4a73728b.entry.js +2 -0
  455. package/dist/core/p-4a73728b.entry.js.map +1 -0
  456. package/dist/core/p-521be4e2.entry.js +2 -0
  457. package/dist/core/p-521be4e2.entry.js.map +1 -0
  458. package/dist/core/{p-f9370be6.js → p-5450cebf.js} +3 -3
  459. package/dist/core/p-5450cebf.js.map +1 -0
  460. package/dist/core/p-5b083ce5.entry.js +2 -0
  461. package/dist/core/p-5b083ce5.entry.js.map +1 -0
  462. package/dist/core/p-62b3516e.entry.js +2 -0
  463. package/dist/core/p-62b3516e.entry.js.map +1 -0
  464. package/dist/core/{p-3c6defd7.entry.js → p-691ea0f2.entry.js} +2 -2
  465. package/dist/core/p-691ea0f2.entry.js.map +1 -0
  466. package/dist/core/p-6a397882.entry.js +2 -0
  467. package/dist/core/p-6a397882.entry.js.map +1 -0
  468. package/dist/core/p-6f57b13c.js.map +1 -1
  469. package/dist/core/p-7818d958.entry.js +2 -0
  470. package/dist/core/p-7818d958.entry.js.map +1 -0
  471. package/dist/core/p-7a0bf893.entry.js +2 -0
  472. package/dist/core/p-7a0bf893.entry.js.map +1 -0
  473. package/dist/core/p-7a9bc7f2.entry.js +2 -0
  474. package/dist/core/p-7a9bc7f2.entry.js.map +1 -0
  475. package/dist/core/{p-eb33ece2.entry.js → p-7fd50355.entry.js} +2 -2
  476. package/dist/core/p-7fd50355.entry.js.map +1 -0
  477. package/dist/core/p-897e967a.entry.js +2 -0
  478. package/dist/core/p-897e967a.entry.js.map +1 -0
  479. package/dist/core/p-8c7f4343.js +2 -0
  480. package/dist/core/p-8d4f7027.js +2 -0
  481. package/dist/core/p-8f1176c6.entry.js +2 -0
  482. package/dist/core/p-8f1176c6.entry.js.map +1 -0
  483. package/dist/core/{p-9c1f2861.entry.js → p-8ffa00c9.entry.js} +2 -2
  484. package/dist/core/p-8ffa00c9.entry.js.map +1 -0
  485. package/dist/core/p-91a8db51.entry.js +2 -0
  486. package/dist/core/p-91a8db51.entry.js.map +1 -0
  487. package/dist/core/p-a09d853e.entry.js +2 -0
  488. package/dist/core/p-a09d853e.entry.js.map +1 -0
  489. package/dist/core/p-a10da430.entry.js +2 -0
  490. package/dist/core/p-a10da430.entry.js.map +1 -0
  491. package/dist/core/p-a667e329.entry.js +2 -0
  492. package/dist/core/p-a667e329.entry.js.map +1 -0
  493. package/dist/core/{p-6be5e06b.entry.js → p-ad2477d8.entry.js} +2 -2
  494. package/dist/core/p-ad2477d8.entry.js.map +1 -0
  495. package/dist/core/p-b35ae170.entry.js +2 -0
  496. package/dist/core/p-b35ae170.entry.js.map +1 -0
  497. package/dist/core/p-b40bd77c.entry.js +2 -0
  498. package/dist/core/p-b40bd77c.entry.js.map +1 -0
  499. package/dist/core/p-b4234318.entry.js +2 -0
  500. package/dist/core/p-b4234318.entry.js.map +1 -0
  501. package/dist/core/{p-0d63bfe4.entry.js → p-ba8d6c23.entry.js} +2 -2
  502. package/dist/core/p-ba8d6c23.entry.js.map +1 -0
  503. package/dist/core/p-bd819f68.entry.js +2 -0
  504. package/dist/core/p-bd819f68.entry.js.map +1 -0
  505. package/dist/core/p-c4a7c734.entry.js +2 -0
  506. package/dist/core/p-c4a7c734.entry.js.map +1 -0
  507. package/dist/core/p-c72e4b75.entry.js +2 -0
  508. package/dist/core/p-c72e4b75.entry.js.map +1 -0
  509. package/dist/core/p-c7b86643.entry.js +2 -0
  510. package/dist/core/p-c7b86643.entry.js.map +1 -0
  511. package/dist/core/p-c7c5d2c5.entry.js +2 -0
  512. package/dist/core/p-c7c5d2c5.entry.js.map +1 -0
  513. package/dist/core/p-c8f07be6.entry.js +2 -0
  514. package/dist/core/p-c8f07be6.entry.js.map +1 -0
  515. package/dist/core/{p-6d0eaaeb.entry.js → p-c9068822.entry.js} +2 -2
  516. package/dist/core/{p-6d0eaaeb.entry.js.map → p-c9068822.entry.js.map} +1 -1
  517. package/dist/core/p-cccbf2bf.entry.js +2 -0
  518. package/dist/core/p-cccbf2bf.entry.js.map +1 -0
  519. package/dist/core/{p-0992a2ee.entry.js → p-d2508752.entry.js} +2 -2
  520. package/dist/core/p-d2508752.entry.js.map +1 -0
  521. package/dist/core/p-d37b9695.entry.js +2 -0
  522. package/dist/core/p-d37b9695.entry.js.map +1 -0
  523. package/dist/core/p-d86b0d0e.entry.js +2 -0
  524. package/dist/core/p-d86b0d0e.entry.js.map +1 -0
  525. package/dist/core/p-dea3d5f0.entry.js +2 -0
  526. package/dist/core/p-dea3d5f0.entry.js.map +1 -0
  527. package/dist/core/p-e0d88c31.entry.js +2 -0
  528. package/dist/core/p-e0d88c31.entry.js.map +1 -0
  529. package/dist/core/p-e9202767.entry.js +2 -0
  530. package/dist/core/p-e9202767.entry.js.map +1 -0
  531. package/dist/core/p-eba373bf.entry.js +2 -0
  532. package/dist/core/p-eba373bf.entry.js.map +1 -0
  533. package/dist/core/p-ed6cf9b9.entry.js +2 -0
  534. package/dist/core/p-ed6cf9b9.entry.js.map +1 -0
  535. package/dist/esm/OpenInNew-67a881e0.js +5 -0
  536. package/dist/esm/OpenInNew-67a881e0.js.map +1 -0
  537. package/dist/esm/{check-icon-53f1d9e5.js → check-icon-abb210ec.js} +2 -2
  538. package/dist/esm/check-icon-abb210ec.js.map +1 -0
  539. package/dist/esm/chevron-icon-98c98242.js +8 -0
  540. package/dist/esm/chevron-icon-98c98242.js.map +1 -0
  541. package/dist/esm/core.js +3 -3
  542. package/dist/esm/core.js.map +1 -1
  543. package/dist/esm/{helpers-e090fe7e.js → helpers-c332acf8.js} +148 -39
  544. package/dist/esm/helpers-c332acf8.js.map +1 -0
  545. package/dist/esm/ic-alert.entry.js +6 -25
  546. package/dist/esm/ic-alert.entry.js.map +1 -1
  547. package/dist/esm/ic-back-to-top.entry.js +24 -12
  548. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  549. package/dist/esm/ic-breadcrumb-group.entry.js +2 -2
  550. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  551. package/dist/esm/ic-breadcrumb.entry.js +14 -5
  552. package/dist/esm/ic-breadcrumb.entry.js.map +1 -1
  553. package/dist/esm/ic-button_3.entry.js +86 -37
  554. package/dist/esm/ic-button_3.entry.js.map +1 -1
  555. package/dist/esm/ic-card.entry.js +43 -6
  556. package/dist/esm/ic-card.entry.js.map +1 -1
  557. package/dist/esm/ic-checkbox-group.entry.js +4 -4
  558. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  559. package/dist/esm/ic-checkbox.entry.js +19 -6
  560. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  561. package/dist/esm/ic-chip.entry.js +73 -0
  562. package/dist/esm/ic-chip.entry.js.map +1 -0
  563. package/dist/esm/ic-classification-banner.entry.js +3 -3
  564. package/dist/esm/ic-classification-banner.entry.js.map +1 -1
  565. package/dist/esm/ic-data-entity.entry.js +2 -2
  566. package/dist/esm/ic-data-entity.entry.js.map +1 -1
  567. package/dist/esm/ic-data-row.entry.js +14 -12
  568. package/dist/esm/ic-data-row.entry.js.map +1 -1
  569. package/dist/esm/ic-divider.entry.js +3 -3
  570. package/dist/esm/ic-divider.entry.js.map +1 -1
  571. package/dist/esm/ic-footer-link-group.entry.js +4 -3
  572. package/dist/esm/ic-footer-link-group.entry.js.map +1 -1
  573. package/dist/esm/ic-footer-link.entry.js +12 -5
  574. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  575. package/dist/esm/ic-footer.entry.js +5 -5
  576. package/dist/esm/ic-footer.entry.js.map +1 -1
  577. package/dist/esm/ic-hero.entry.js +3 -3
  578. package/dist/esm/ic-hero.entry.js.map +1 -1
  579. package/dist/esm/ic-horizontal-scroll.entry.js +154 -0
  580. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -0
  581. package/dist/esm/ic-input-component-container_3.entry.js +70 -40
  582. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  583. package/dist/esm/ic-input-label_2.entry.js +3 -5
  584. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  585. package/dist/esm/ic-link.entry.js +13 -7
  586. package/dist/esm/ic-link.entry.js.map +1 -1
  587. package/dist/esm/ic-navigation-button.entry.js +5 -4
  588. package/dist/esm/ic-navigation-button.entry.js.map +1 -1
  589. package/dist/esm/ic-navigation-group.entry.js +6 -5
  590. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  591. package/dist/esm/ic-navigation-item.entry.js +18 -11
  592. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  593. package/dist/esm/ic-navigation-menu.entry.js +8 -8
  594. package/dist/esm/ic-navigation-menu.entry.js.map +1 -1
  595. package/dist/esm/ic-page-header.entry.js +5 -5
  596. package/dist/esm/ic-page-header.entry.js.map +1 -1
  597. package/dist/esm/ic-radio-group.entry.js +13 -5
  598. package/dist/esm/ic-radio-group.entry.js.map +1 -1
  599. package/dist/esm/ic-radio-option.entry.js +24 -6
  600. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  601. package/dist/esm/ic-search-bar.entry.js +53 -41
  602. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  603. package/dist/esm/ic-section-container.entry.js +2 -2
  604. package/dist/esm/ic-section-container.entry.js.map +1 -1
  605. package/dist/esm/ic-select.entry.js +206 -59
  606. package/dist/esm/ic-select.entry.js.map +1 -1
  607. package/dist/esm/ic-side-navigation.entry.js +24 -12
  608. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  609. package/dist/esm/ic-skeleton.entry.js +2 -2
  610. package/dist/esm/ic-skeleton.entry.js.map +1 -1
  611. package/dist/esm/ic-status-tag.entry.js +6 -5
  612. package/dist/esm/ic-status-tag.entry.js.map +1 -1
  613. package/dist/esm/ic-step.entry.js +103 -23
  614. package/dist/esm/ic-step.entry.js.map +1 -1
  615. package/dist/esm/ic-stepper.entry.js +166 -42
  616. package/dist/esm/ic-stepper.entry.js.map +1 -1
  617. package/dist/esm/ic-switch.entry.js +12 -3
  618. package/dist/esm/ic-switch.entry.js.map +1 -1
  619. package/dist/esm/ic-tab-context.entry.js +7 -2
  620. package/dist/esm/ic-tab-context.entry.js.map +1 -1
  621. package/dist/esm/ic-tab-group.entry.js +9 -118
  622. package/dist/esm/ic-tab-group.entry.js.map +1 -1
  623. package/dist/esm/ic-tab-panel.entry.js +2 -6
  624. package/dist/esm/ic-tab-panel.entry.js.map +1 -1
  625. package/dist/esm/ic-tab.entry.js +10 -6
  626. package/dist/esm/ic-tab.entry.js.map +1 -1
  627. package/dist/esm/ic-text-field.entry.js +5 -5
  628. package/dist/esm/ic-text-field.entry.js.map +1 -1
  629. package/dist/esm/ic-theme.entry.js +21 -13
  630. package/dist/esm/ic-theme.entry.js.map +1 -1
  631. package/dist/esm/ic-toast-region.entry.js +44 -0
  632. package/dist/esm/ic-toast-region.entry.js.map +1 -0
  633. package/dist/esm/ic-toast.entry.js +161 -0
  634. package/dist/esm/ic-toast.entry.js.map +1 -0
  635. package/dist/esm/ic-top-navigation.entry.js +15 -10
  636. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  637. package/dist/esm/ic-typography.entry.js +1 -1
  638. package/dist/esm/ic-typography.entry.js.map +1 -1
  639. package/dist/esm/{index-1500de1f.js → index-90721b3c.js} +21 -2
  640. package/dist/esm/index-90721b3c.js.map +1 -0
  641. package/dist/esm/loader.js +3 -3
  642. package/dist/esm/loader.js.map +1 -1
  643. package/dist/esm/types-dd515332.js.map +1 -1
  644. package/dist/types/components/ic-alert/ic-alert.d.ts +14 -10
  645. package/dist/types/components/ic-back-to-top/ic-back-to-top.d.ts +1 -0
  646. package/dist/types/components/ic-breadcrumb/ic-breadcrumb.d.ts +9 -5
  647. package/dist/types/components/ic-breadcrumb-group/ic-breadcrumb-group.d.ts +2 -2
  648. package/dist/types/components/ic-button/ic-button.d.ts +11 -14
  649. package/dist/types/components/ic-card/ic-card.d.ts +35 -10
  650. package/dist/types/components/ic-checkbox/ic-checkbox.d.ts +18 -10
  651. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +9 -9
  652. package/dist/types/components/ic-chip/ic-chip.d.ts +48 -0
  653. package/dist/types/components/ic-chip/ic-chip.test.a11y.d.ts +1 -0
  654. package/dist/types/components/ic-chip/ic-chip.types.d.ts +2 -0
  655. package/dist/types/components/ic-classification-banner/ic-classification-banner.d.ts +5 -5
  656. package/dist/types/components/ic-data-entity/ic-data-entity.d.ts +2 -2
  657. package/dist/types/components/ic-data-row/ic-data-row.d.ts +3 -3
  658. package/dist/types/components/ic-footer/ic-footer.d.ts +12 -12
  659. package/dist/types/components/ic-footer-link/ic-footer-link.d.ts +20 -0
  660. package/dist/types/components/ic-footer-link-group/ic-footer-link-group.d.ts +1 -1
  661. package/dist/types/components/ic-hero/ic-hero.d.ts +9 -9
  662. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.d.ts +39 -0
  663. package/dist/types/components/ic-horizontal-scroll/ic-horizontal-scroll.test.a11y.d.ts +1 -0
  664. package/dist/types/components/ic-input-component-container/ic-input-component-container.d.ts +8 -8
  665. package/dist/types/components/ic-input-container/ic-input-container.d.ts +2 -2
  666. package/dist/types/components/ic-input-label/ic-input-label.d.ts +8 -8
  667. package/dist/types/components/ic-input-validation/ic-input-validation.d.ts +5 -5
  668. package/dist/types/components/ic-link/ic-link.d.ts +10 -7
  669. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.d.ts +15 -4
  670. package/dist/types/components/ic-loading-indicator/ic-loading-indicator.types.d.ts +5 -0
  671. package/dist/types/components/ic-menu/ic-menu.d.ts +36 -18
  672. package/dist/types/components/ic-navigation-button/ic-navigation-button.d.ts +6 -6
  673. package/dist/types/components/ic-navigation-group/ic-navigation-group.d.ts +3 -3
  674. package/dist/types/components/ic-navigation-item/ic-navigation-item.d.ts +28 -8
  675. package/dist/types/components/ic-navigation-menu/ic-navigation-menu.d.ts +2 -2
  676. package/dist/types/components/ic-page-header/ic-page-header.d.ts +10 -8
  677. package/dist/types/components/ic-radio-group/ic-radio-group.d.ts +15 -11
  678. package/dist/types/components/ic-radio-option/ic-radio-option.d.ts +17 -11
  679. package/dist/types/components/ic-search-bar/ic-search-bar.d.ts +31 -30
  680. package/dist/types/components/ic-section-container/ic-section-container.d.ts +2 -2
  681. package/dist/types/components/ic-select/ic-select.d.ts +68 -23
  682. package/dist/types/components/ic-side-navigation/ic-side-navigation.d.ts +13 -12
  683. package/dist/types/components/ic-skeleton/ic-skeleton.d.ts +2 -2
  684. package/dist/types/components/ic-status-tag/ic-status-tag.d.ts +5 -1
  685. package/dist/types/components/ic-step/ic-step.d.ts +37 -9
  686. package/dist/types/components/ic-step/ic-step.types.d.ts +2 -0
  687. package/dist/types/components/ic-stepper/ic-stepper-test-examples.d.ts +4 -0
  688. package/dist/types/components/ic-stepper/ic-stepper.d.ts +23 -6
  689. package/dist/types/components/ic-switch/ic-switch.d.ts +11 -7
  690. package/dist/types/components/ic-tab/ic-tab.d.ts +10 -7
  691. package/dist/types/components/ic-tab-context/ic-tab-context.d.ts +8 -4
  692. package/dist/types/components/ic-tab-group/ic-tab-group.d.ts +5 -33
  693. package/dist/types/components/ic-tab-panel/ic-tab-panel.d.ts +3 -4
  694. package/dist/types/components/ic-text-field/ic-text-field.d.ts +31 -31
  695. package/dist/types/components/ic-theme/ic-theme.d.ts +5 -4
  696. package/dist/types/components/ic-toast/ic-toast.d.ts +66 -0
  697. package/dist/types/components/ic-toast/ic-toast.test.a11y.d.ts +1 -0
  698. package/dist/types/components/ic-toast/ic-toast.types.d.ts +1 -0
  699. package/dist/types/components/ic-toast-region/ic-toast-region.d.ts +12 -0
  700. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +4 -0
  701. package/dist/types/components/ic-top-navigation/ic-top-navigation.d.ts +7 -6
  702. package/dist/types/components/ic-typography/ic-typography.d.ts +1 -1
  703. package/dist/types/components.d.ts +937 -562
  704. package/dist/types/interface.d.ts +0 -1
  705. package/dist/types/testspec.setup.d.ts +1 -0
  706. package/dist/types/utils/constants.d.ts +24 -0
  707. package/dist/types/utils/helpers.d.ts +17 -3
  708. package/dist/types/utils/types.d.ts +6 -0
  709. package/hydrate/index.d.ts +1 -1
  710. package/hydrate/index.js +1768 -667
  711. package/package.json +9 -6
  712. package/dist/cjs/check-icon-999d9877.js.map +0 -1
  713. package/dist/cjs/chevron-icon-d175fe66.js.map +0 -1
  714. package/dist/cjs/error-icon-99504103.js +0 -18
  715. package/dist/cjs/error-icon-99504103.js.map +0 -1
  716. package/dist/cjs/helpers-d0eeccf0.js.map +0 -1
  717. package/dist/cjs/index-3ef30d9d.js.map +0 -1
  718. package/dist/cjs/success-icon-887b2097.js +0 -11
  719. package/dist/cjs/success-icon-887b2097.js.map +0 -1
  720. package/dist/collection/components/ic-alert/ic-alert.types.js +0 -2
  721. package/dist/collection/components/ic-alert/ic-alert.types.js.map +0 -1
  722. package/dist/collection/components/ic-tab-group/assets/left-arrow.svg +0 -3
  723. package/dist/collection/components/ic-tab-group/assets/right-arrow.svg +0 -3
  724. package/dist/components/error-icon.js +0 -15
  725. package/dist/components/error-icon.js.map +0 -1
  726. package/dist/components/success-icon.js +0 -9
  727. package/dist/components/success-icon.js.map +0 -1
  728. package/dist/core/p-037273aa.entry.js +0 -2
  729. package/dist/core/p-037273aa.entry.js.map +0 -1
  730. package/dist/core/p-0992a2ee.entry.js.map +0 -1
  731. package/dist/core/p-0d63bfe4.entry.js.map +0 -1
  732. package/dist/core/p-12e113bf.entry.js +0 -2
  733. package/dist/core/p-12e113bf.entry.js.map +0 -1
  734. package/dist/core/p-155114db.entry.js +0 -2
  735. package/dist/core/p-155114db.entry.js.map +0 -1
  736. package/dist/core/p-17d0d631.entry.js +0 -2
  737. package/dist/core/p-17d0d631.entry.js.map +0 -1
  738. package/dist/core/p-1b619302.entry.js +0 -2
  739. package/dist/core/p-1b619302.entry.js.map +0 -1
  740. package/dist/core/p-1e7b4310.js +0 -2
  741. package/dist/core/p-2177dae2.entry.js +0 -2
  742. package/dist/core/p-2177dae2.entry.js.map +0 -1
  743. package/dist/core/p-378a7270.entry.js +0 -2
  744. package/dist/core/p-378a7270.entry.js.map +0 -1
  745. package/dist/core/p-3c6defd7.entry.js.map +0 -1
  746. package/dist/core/p-40d3fd89.entry.js +0 -2
  747. package/dist/core/p-40d3fd89.entry.js.map +0 -1
  748. package/dist/core/p-48029498.entry.js +0 -2
  749. package/dist/core/p-48029498.entry.js.map +0 -1
  750. package/dist/core/p-50a0f1a0.entry.js +0 -2
  751. package/dist/core/p-50a0f1a0.entry.js.map +0 -1
  752. package/dist/core/p-54b77947.entry.js +0 -2
  753. package/dist/core/p-54b77947.entry.js.map +0 -1
  754. package/dist/core/p-59041cfc.entry.js +0 -2
  755. package/dist/core/p-59041cfc.entry.js.map +0 -1
  756. package/dist/core/p-5977c1e0.entry.js +0 -2
  757. package/dist/core/p-5977c1e0.entry.js.map +0 -1
  758. package/dist/core/p-6009c5bc.entry.js +0 -2
  759. package/dist/core/p-6009c5bc.entry.js.map +0 -1
  760. package/dist/core/p-6be5e06b.entry.js.map +0 -1
  761. package/dist/core/p-7577c6a3.entry.js +0 -2
  762. package/dist/core/p-7577c6a3.entry.js.map +0 -1
  763. package/dist/core/p-8054c2c0.entry.js +0 -2
  764. package/dist/core/p-8054c2c0.entry.js.map +0 -1
  765. package/dist/core/p-89d46b9b.entry.js +0 -2
  766. package/dist/core/p-89d46b9b.entry.js.map +0 -1
  767. package/dist/core/p-972f4e69.entry.js.map +0 -1
  768. package/dist/core/p-9a3d6bca.entry.js +0 -2
  769. package/dist/core/p-9a3d6bca.entry.js.map +0 -1
  770. package/dist/core/p-9c1f2861.entry.js.map +0 -1
  771. package/dist/core/p-9db8edb7.entry.js +0 -2
  772. package/dist/core/p-9db8edb7.entry.js.map +0 -1
  773. package/dist/core/p-9e1f450f.entry.js +0 -2
  774. package/dist/core/p-9e1f450f.entry.js.map +0 -1
  775. package/dist/core/p-a183353c.entry.js +0 -2
  776. package/dist/core/p-a183353c.entry.js.map +0 -1
  777. package/dist/core/p-a6715f61.entry.js +0 -2
  778. package/dist/core/p-a6715f61.entry.js.map +0 -1
  779. package/dist/core/p-a9237c61.entry.js +0 -2
  780. package/dist/core/p-a9237c61.entry.js.map +0 -1
  781. package/dist/core/p-aad5da60.entry.js +0 -2
  782. package/dist/core/p-aad5da60.entry.js.map +0 -1
  783. package/dist/core/p-ae6aa67f.js +0 -2
  784. package/dist/core/p-af6a41bd.entry.js +0 -2
  785. package/dist/core/p-af6a41bd.entry.js.map +0 -1
  786. package/dist/core/p-bf4ddf33.entry.js +0 -2
  787. package/dist/core/p-bf4ddf33.entry.js.map +0 -1
  788. package/dist/core/p-bf5717ca.js +0 -2
  789. package/dist/core/p-bfa9392f.entry.js +0 -2
  790. package/dist/core/p-bfa9392f.entry.js.map +0 -1
  791. package/dist/core/p-c023c49c.entry.js +0 -2
  792. package/dist/core/p-c023c49c.entry.js.map +0 -1
  793. package/dist/core/p-c96adfd7.entry.js +0 -2
  794. package/dist/core/p-c96adfd7.entry.js.map +0 -1
  795. package/dist/core/p-d38168f0.entry.js +0 -2
  796. package/dist/core/p-d38168f0.entry.js.map +0 -1
  797. package/dist/core/p-d61c2983.entry.js +0 -2
  798. package/dist/core/p-d61c2983.entry.js.map +0 -1
  799. package/dist/core/p-db6566c0.entry.js +0 -2
  800. package/dist/core/p-db6566c0.entry.js.map +0 -1
  801. package/dist/core/p-e28af65b.js +0 -2
  802. package/dist/core/p-e28af65b.js.map +0 -1
  803. package/dist/core/p-eb33ece2.entry.js.map +0 -1
  804. package/dist/core/p-ee3a9fd0.entry.js +0 -2
  805. package/dist/core/p-ee3a9fd0.entry.js.map +0 -1
  806. package/dist/core/p-ef59f111.entry.js +0 -2
  807. package/dist/core/p-ef59f111.entry.js.map +0 -1
  808. package/dist/core/p-f228c232.js +0 -2
  809. package/dist/core/p-f228c232.js.map +0 -1
  810. package/dist/core/p-f9370be6.js.map +0 -1
  811. package/dist/core/p-fce4b26b.entry.js +0 -2
  812. package/dist/core/p-fce4b26b.entry.js.map +0 -1
  813. package/dist/esm/check-icon-53f1d9e5.js.map +0 -1
  814. package/dist/esm/chevron-icon-5b38c60a.js +0 -8
  815. package/dist/esm/chevron-icon-5b38c60a.js.map +0 -1
  816. package/dist/esm/error-icon-6046a380.js +0 -15
  817. package/dist/esm/error-icon-6046a380.js.map +0 -1
  818. package/dist/esm/helpers-e090fe7e.js.map +0 -1
  819. package/dist/esm/index-1500de1f.js.map +0 -1
  820. package/dist/esm/success-icon-2f71b115.js +0 -9
  821. package/dist/esm/success-icon-2f71b115.js.map +0 -1
  822. package/dist/types/components/ic-alert/ic-alert.types.d.ts +0 -1
  823. /package/dist/collection/{components/ic-link/assets → assets}/OpenInNew.svg +0 -0
  824. /package/dist/core/{p-1e7b4310.js.map → p-24240e11.js.map} +0 -0
  825. /package/dist/core/{p-ae6aa67f.js.map → p-8c7f4343.js.map} +0 -0
  826. /package/dist/core/{p-bf5717ca.js.map → p-8d4f7027.js.map} +0 -0
@@ -20,8 +20,6 @@ let buttonIds = 0;
20
20
  */
21
21
  export class Button {
22
22
  constructor() {
23
- // CalculatedWidth must have a default value, since width is only calculated once button is rendered (with text).
24
- this.calculatedWidth = 68;
25
23
  this.inheritedAttributes = {};
26
24
  this.hasTooltip = false;
27
25
  this.buttonIdNum = buttonIds++;
@@ -53,10 +51,6 @@ export class Button {
53
51
  this.tooltipPlacement = "bottom";
54
52
  this.appearance = "default";
55
53
  }
56
- calculateWidth() {
57
- // Assume even padding on left and right
58
- this.calculatedWidth = this.el.offsetWidth - 2 * this.el.offsetLeft;
59
- }
60
54
  handleHostClick(event) {
61
55
  if (this.disabled || this.loading) {
62
56
  event.stopImmediatePropagation();
@@ -67,7 +61,7 @@ export class Button {
67
61
  this.updateTheme(theme.mode);
68
62
  }
69
63
  /**
70
- * Sets focus on the native `button`
64
+ * Sets focus on the native `button`.
71
65
  */
72
66
  async setFocus() {
73
67
  if (this.buttonEl) {
@@ -75,7 +69,7 @@ export class Button {
75
69
  }
76
70
  }
77
71
  /**
78
- * @internal Updates tooltip/aria-label text - needed as can't watch an aria attribute change.
72
+ * @internal Updates tooltip/aria-label text - needed as can't watch an ARIA attribute change.
79
73
  */
80
74
  async updateAriaLabel(newValue) {
81
75
  if (this.hasTooltip) {
@@ -83,9 +77,6 @@ export class Button {
83
77
  this.buttonEl.setAttribute("aria-label", newValue);
84
78
  }
85
79
  }
86
- getLoadingBarWidth() {
87
- return { width: `${this.calculatedWidth.toString()}px` };
88
- }
89
80
  hasIconSlot() {
90
81
  const iconEl = this.el.querySelector(`[slot="icon"]`);
91
82
  if (iconEl != null) {
@@ -118,7 +109,6 @@ export class Button {
118
109
  this.hasTooltip = this.variant === "icon";
119
110
  }
120
111
  componentDidLoad() {
121
- this.calculateWidth();
122
112
  this.updateTheme();
123
113
  }
124
114
  render() {
@@ -155,7 +145,7 @@ export class Button {
155
145
  describedBy = `ic-tooltip-${buttonId}`;
156
146
  }
157
147
  const ButtonContent = () => {
158
- return (h(TagType, Object.assign({ class: "button", "aria-disabled": this.loading || this.disabled ? "true" : null, "aria-label": this.loading ? "Loading" : ariaLabel }, buttonAttrs, restInheritedAttributes, titleAttr, { onFocus: this.onFocus, onBlur: this.onBlur, ref: (el) => (this.buttonEl = el), id: buttonId, "aria-describedby": describedBy }), this.hasIconSlot() && !this.loading && (h("div", { class: "icon-container" }, h("slot", { name: "icon" }))), this.loading ? (h("div", { class: "loading-container", style: this.getLoadingBarWidth() }, h("ic-loading-indicator", { type: "linear", appearance: this.variant === "primary" ||
148
+ return (h(TagType, Object.assign({ class: "button", "aria-disabled": this.loading || this.disabled ? "true" : null, "aria-label": this.loading ? "Loading" : ariaLabel }, buttonAttrs, restInheritedAttributes, titleAttr, { onFocus: this.onFocus, onBlur: this.onBlur, ref: (el) => (this.buttonEl = el), id: buttonId, "aria-describedby": describedBy }), this.hasIconSlot() && !this.loading && (h("div", { class: "icon-container" }, h("slot", { name: "icon" }))), this.loading ? (h("div", { class: "loading-container" }, h("ic-loading-indicator", { type: "linear", appearance: this.variant === "primary" ||
159
149
  this.variant === "destructive" ||
160
150
  this.appearance === IcThemeForegroundEnum.Dark ||
161
151
  this.appearance === IcThemeForegroundEnum.Light
@@ -170,10 +160,11 @@ export class Button {
170
160
  ["dark"]: this.appearance === IcThemeForegroundEnum.Dark,
171
161
  ["light"]: this.appearance === IcThemeForegroundEnum.Light,
172
162
  ["full-width"]: this.fullWidth,
173
- }, onClick: this.handleClick }, this.hasTooltip && (h("ic-tooltip", { class: { ["tooltip-disabled-button"]: this.disableTooltip }, ref: (el) => (this.tooltipEl = el), label: tooltipText, target: buttonId, placement: this.tooltipPlacement }, h(ButtonContent, null))), !this.hasTooltip && h(ButtonContent, null)));
163
+ }, onClick: this.handleClick }, this.hasTooltip && (h("ic-tooltip", { class: { ["tooltip-disabled"]: this.disableTooltip }, ref: (el) => (this.tooltipEl = el), label: tooltipText, target: buttonId, placement: this.tooltipPlacement }, h(ButtonContent, null))), !this.hasTooltip && h(ButtonContent, null)));
174
164
  }
175
165
  static get is() { return "ic-button"; }
176
166
  static get encapsulation() { return "shadow"; }
167
+ static get delegatesFocus() { return true; }
177
168
  static get originalStyleUrls() {
178
169
  return {
179
170
  "$": ["ic-button.css"]
@@ -198,7 +189,7 @@ export class Button {
198
189
  "optional": true,
199
190
  "docs": {
200
191
  "tags": [],
201
- "text": "Determines whether the button should be in disabled state."
192
+ "text": "If `true`, the button will be in disabled state."
202
193
  },
203
194
  "attribute": "disabled",
204
195
  "reflect": false,
@@ -216,7 +207,7 @@ export class Button {
216
207
  "optional": true,
217
208
  "docs": {
218
209
  "tags": [],
219
- "text": "Determines whether the button should be in loading state."
210
+ "text": "If `true`, the button will be in loading state."
220
211
  },
221
212
  "attribute": "loading",
222
213
  "reflect": false,
@@ -274,7 +265,7 @@ export class Button {
274
265
  "optional": true,
275
266
  "docs": {
276
267
  "tags": [],
277
- "text": "Where to display the linked URL, as the name for a browsing context (a tab, window, or iframe)."
268
+ "text": "The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe)."
278
269
  },
279
270
  "attribute": "target",
280
271
  "reflect": false
@@ -308,7 +299,7 @@ export class Button {
308
299
  "optional": true,
309
300
  "docs": {
310
301
  "tags": [],
311
- "text": "Prompts the user to save the linked URL instead of navigating to it."
302
+ "text": "If `true`, the user can save the linked URL instead of navigating to it."
312
303
  },
313
304
  "attribute": "download",
314
305
  "reflect": false,
@@ -326,7 +317,7 @@ export class Button {
326
317
  "optional": true,
327
318
  "docs": {
328
319
  "tags": [],
329
- "text": "Hints at the human language of the linked URL."
320
+ "text": "The human language of the linked URL."
330
321
  },
331
322
  "attribute": "hreflang",
332
323
  "reflect": false
@@ -369,7 +360,7 @@ export class Button {
369
360
  "optional": true,
370
361
  "docs": {
371
362
  "tags": [],
372
- "text": "The button variant to be displayed."
363
+ "text": "The variant of the button to be displayed."
373
364
  },
374
365
  "attribute": "variant",
375
366
  "reflect": false,
@@ -410,7 +401,7 @@ export class Button {
410
401
  "optional": true,
411
402
  "docs": {
412
403
  "tags": [],
413
- "text": "Fill the width of the container if true."
404
+ "text": "If `true`, the button will fill the width of the container."
414
405
  },
415
406
  "attribute": "full-width",
416
407
  "reflect": false,
@@ -428,7 +419,7 @@ export class Button {
428
419
  "optional": true,
429
420
  "docs": {
430
421
  "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."
422
+ "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
423
  },
433
424
  "attribute": "disable-tooltip",
434
425
  "reflect": false,
@@ -474,7 +465,7 @@ export class Button {
474
465
  "optional": true,
475
466
  "docs": {
476
467
  "tags": [],
477
- "text": "Determines the whether the appearance of the button is dark, light, or the default."
468
+ "text": "The appearance of the button, e.g. dark, light, or the default."
478
469
  },
479
470
  "attribute": "appearance",
480
471
  "reflect": false,
@@ -529,7 +520,7 @@ export class Button {
529
520
  "return": "Promise<void>"
530
521
  },
531
522
  "docs": {
532
- "text": "Sets focus on the native `button`",
523
+ "text": "Sets focus on the native `button`.",
533
524
  "tags": []
534
525
  }
535
526
  },
@@ -551,19 +542,13 @@ export class Button {
551
542
  "text": "",
552
543
  "tags": [{
553
544
  "name": "internal",
554
- "text": "Updates tooltip/aria-label text - needed as can't watch an aria attribute change."
545
+ "text": "Updates tooltip/aria-label text - needed as can't watch an ARIA attribute change."
555
546
  }]
556
547
  }
557
548
  }
558
549
  };
559
550
  }
560
551
  static get elementRef() { return "el"; }
561
- static get watchers() {
562
- return [{
563
- "propName": "loading",
564
- "methodName": "calculateWidth"
565
- }];
566
- }
567
552
  static get listeners() {
568
553
  return [{
569
554
  "name": "click",
@@ -572,7 +557,7 @@ export class Button {
572
557
  "capture": true,
573
558
  "passive": false
574
559
  }, {
575
- "name": "icThemeChange",
560
+ "name": "themeChange",
576
561
  "method": "themeChangeHandler",
577
562
  "target": "document",
578
563
  "capture": false,
@@ -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 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: {\n delegatesFocus: true,\n },\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 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 @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled || this.loading) {\n event.stopImmediatePropagation();\n }\n }\n\n @Listen(\"themeChange\", { 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 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.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\">\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\"]: 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"]}
@@ -458,14 +458,20 @@ button {
458
458
 
459
459
  .card,
460
460
  .card.clickable {
461
- border: 1px solid var(--ic-architectural-300);
461
+ border: 0.063rem solid var(--ic-architectural-300);
462
462
  border-radius: var(--ic-border-radius);
463
+ box-sizing: border-box;
463
464
  padding: var(--ic-space-md);
464
465
  text-align: left;
465
466
  color: var(--ic-architechtural-black);
466
467
  transition: var(--ic-easing-transition-fast);
467
468
  }
468
469
 
470
+ .dark.card,
471
+ .dark.card.clickable {
472
+ border: 0.063rem solid var(--ic-architectural-700);
473
+ }
474
+
469
475
  .card.clickable:hover {
470
476
  background-color: var(--ic-action-default-bg-hover);
471
477
  border-color: var(--ic-action-default-hover);
@@ -488,7 +494,8 @@ button {
488
494
  border: var(--ic-border-disabled);
489
495
  }
490
496
 
491
- .card.fullwidth {
497
+ .card.fullwidth,
498
+ :host([full-width="true"]) {
492
499
  width: 100%;
493
500
  }
494
501
 
@@ -498,13 +505,11 @@ button {
498
505
  }
499
506
 
500
507
  .icon {
508
+ display: flex;
509
+ align-items: center;
501
510
  padding-right: var(--ic-space-xs);
502
511
  }
503
512
 
504
- .card.clickable ::slotted(svg) {
505
- fill: var(--ic-action-default);
506
- }
507
-
508
513
  .card.disabled ::slotted(svg) {
509
514
  fill: var(--ic-color-tertiary-text);
510
515
  }
@@ -512,35 +517,79 @@ button {
512
517
  .card.clickable .card-title {
513
518
  color: var(--ic-hyperlink);
514
519
  text-decoration: underline;
515
- text-decoration-thickness: 1px;
516
- }
517
-
518
- .card.clickable:hover .card-title {
519
- color: var(--ic-hyperlink-hover) !important;
520
- text-decoration: none;
520
+ text-decoration-thickness: 0.063rem;
521
521
  }
522
522
 
523
+ .card.clickable:hover .card-title,
523
524
  .card.clickable:focus .card-title,
524
525
  .card.clickable.focussed .card-title {
525
- color: var(--ic-hyperlink-hover);
526
+ text-decoration-thickness: 25%;
527
+ text-underline-offset: 25%;
526
528
  }
527
529
 
528
530
  .card.clickable:active .card-title {
529
- color: var(--ic-hyperlink-hover);
531
+ text-decoration: none;
530
532
  }
531
533
 
532
534
  .card.disabled .card-title {
533
535
  text-decoration: underline;
534
- text-decoration-thickness: 1px;
536
+ text-decoration-thickness: 0.063rem;
535
537
  text-decoration-color: var(--ic-color-tertiary-text);
536
538
  color: var(--ic-color-tertiary-text);
537
539
  }
538
540
 
539
- .card-message {
541
+ .subheading {
540
542
  margin-top: var(--ic-space-xxs);
543
+ }
544
+
545
+ .adornment {
546
+ margin-top: var(--ic-space-xxs);
547
+ }
548
+
549
+ .card-message {
550
+ margin-top: var(--ic-space-md);
541
551
  align-items: left;
542
552
  }
543
553
 
544
- .card.disabled .card-message {
554
+ .card.disabled .card-message,
555
+ .card.disabled .subheading {
545
556
  color: var(--ic-color-tertiary-text);
546
557
  }
558
+
559
+ .interaction-button {
560
+ margin-left: auto;
561
+ }
562
+
563
+ .image-top {
564
+ margin-bottom: var(--ic-space-md);
565
+ display: flex;
566
+ justify-content: center;
567
+ }
568
+
569
+ .image-mid {
570
+ margin-top: var(--ic-space-md);
571
+ display: flex;
572
+ justify-content: center;
573
+ }
574
+
575
+ .interaction-controls {
576
+ margin-top: var(--ic-space-md);
577
+ display: flex;
578
+ align-items: center;
579
+ }
580
+
581
+ .toggle-button {
582
+ margin-left: auto;
583
+ }
584
+
585
+ .toggle-button-closed svg {
586
+ transform: rotate(90deg);
587
+ }
588
+
589
+ .toggle-button-expanded svg {
590
+ transform: rotate(-90deg);
591
+ }
592
+
593
+ .expanded-content {
594
+ margin-top: var(--ic-space-md);
595
+ }
@@ -1,9 +1,18 @@
1
- import { h } from "@stencil/core";
2
- import { onComponentRequiredPropUndefined, isSlotUsed, } from "../../utils/helpers";
1
+ import { h, } from "@stencil/core";
2
+ import { onComponentRequiredPropUndefined, isSlotUsed, getThemeFromContext, } from "../../utils/helpers";
3
+ import { IcThemeForegroundEnum, } from "../../utils/types";
4
+ import chevronIcon from "../../assets/chevron-icon.svg";
3
5
  /**
4
- * @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.
6
7
  * @slot message - Content will be placed in the main body of the card.
8
+ * @slot subheading - Content will be placed below the card heading.
9
+ * @slot adornment - Content will be placed below the card subheading.
10
+ * @slot image-top - Content will be placed at the top of the card above all other content.
11
+ * @slot image-mid - Content will be placed below the card heading section.
12
+ * @slot icon - Content will be placed to the left of the card heading.
13
+ * @slot interaction-button - Content will be placed in the top right corner of the heading section.
14
+ * @slot interaction-controls - Content will be placed below the card message.
15
+ * @slot expanded-content - Content will be placed below the interaction controls but will not initially be rendered.
7
16
  */
8
17
  export class Card {
9
18
  constructor() {
@@ -13,6 +22,9 @@ export class Card {
13
22
  this.parentBlurred = () => {
14
23
  this.isFocussed = false;
15
24
  };
25
+ this.toggleExpanded = () => {
26
+ this.areaExpanded = !this.areaExpanded;
27
+ };
16
28
  this.clickable = false;
17
29
  this.href = undefined;
18
30
  this.hreflang = "";
@@ -20,18 +32,43 @@ export class Card {
20
32
  this.rel = undefined;
21
33
  this.target = undefined;
22
34
  this.heading = undefined;
35
+ this.subheading = undefined;
23
36
  this.message = "";
24
37
  this.disabled = false;
25
38
  this.fullWidth = false;
39
+ this.expandable = false;
26
40
  this.parentIsAnchorTag = false;
27
41
  this.isFocussed = false;
28
42
  this.parentEl = null;
43
+ this.appearance = "default";
44
+ this.areaExpanded = false;
45
+ }
46
+ /**
47
+ * Sets focus on the card.
48
+ */
49
+ async setFocus() {
50
+ if (this.el.shadowRoot.querySelector("a")) {
51
+ this.el.shadowRoot.querySelector("a").focus();
52
+ }
53
+ else if (this.el.shadowRoot.querySelector("button")) {
54
+ this.el.shadowRoot.querySelector("button").focus();
55
+ }
29
56
  }
30
57
  handleHostClick(event) {
31
58
  if (this.disabled) {
32
59
  event.stopImmediatePropagation();
33
60
  }
34
61
  }
62
+ themeChangeHandler(ev) {
63
+ const theme = ev.detail;
64
+ this.updateTheme(theme.mode);
65
+ }
66
+ updateTheme(newTheme = null) {
67
+ const foregroundColor = getThemeFromContext(this.el, newTheme || null);
68
+ if (foregroundColor !== IcThemeForegroundEnum.Default) {
69
+ this.appearance = foregroundColor;
70
+ }
71
+ }
35
72
  componentWillLoad() {
36
73
  this.parentEl = this.el.parentElement;
37
74
  if (this.parentEl.tagName === "A") {
@@ -50,9 +87,10 @@ export class Card {
50
87
  }
51
88
  componentDidLoad() {
52
89
  onComponentRequiredPropUndefined([{ prop: this.heading, propName: "heading" }], "Card");
90
+ this.updateTheme();
53
91
  }
54
92
  render() {
55
- const { clickable, disabled, heading, message, href, hreflang, referrerpolicy, rel, target, fullWidth, parentIsAnchorTag, isFocussed, } = this;
93
+ const { clickable, disabled, expandable, heading, message, href, hreflang, referrerpolicy, rel, subheading, target, fullWidth, parentIsAnchorTag, isFocussed, } = this;
56
94
  const Component = parentIsAnchorTag
57
95
  ? "div"
58
96
  : clickable
@@ -73,7 +111,14 @@ export class Card {
73
111
  ["disabled"]: disabled,
74
112
  ["fullwidth"]: fullWidth,
75
113
  ["focussed"]: isFocussed,
76
- }, 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))))));
114
+ ["dark"]: this.appearance === IcThemeForegroundEnum.Dark,
115
+ }, tabindex: clickable && !parentIsAnchorTag ? 0 : null, "aria-disabled": disabled ? "true" : null, disabled: disabled ? true : null }, attrs), isSlotUsed(this.el, "image-top") && (h("div", { class: "image-top" }, h("slot", { name: "image-top" }))), 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)))), isSlotUsed(this.el, "interaction-button") && (h("div", { class: "interaction-button" }, h("slot", { name: "interaction-button" })))), (subheading || isSlotUsed(this.el, "subheading")) && (h("div", { class: "subheading" }, h("slot", { name: "subheading" }, h("ic-typography", { variant: "subtitle-small" }, subheading)))), isSlotUsed(this.el, "adornment") && (h("div", { class: "adornment" }, h("slot", { name: "adornment" }))), isSlotUsed(this.el, "image-mid") && (h("div", { class: "image-mid" }, h("slot", { name: "image-mid" }))), (message || isSlotUsed(this.el, "message")) && (h("div", { class: {
116
+ ["card-message"]: true,
117
+ } }, h("slot", { name: "message" }, h("ic-typography", { variant: "body" }, message)))), (isSlotUsed(this.el, "interaction-controls") || expandable) && (h("div", { class: "interaction-controls" }, h("slot", { name: "interaction-controls" }), expandable && (h("ic-button", { class: {
118
+ ["toggle-button"]: true,
119
+ ["toggle-button-closed"]: !this.areaExpanded,
120
+ ["toggle-button-expanded"]: this.areaExpanded,
121
+ }, variant: "icon", disableTooltip: true, "aria-label": "Toggle expandable area", "aria-expanded": this.areaExpanded, "aria-controls": "expanded-content-area", onClick: this.toggleExpanded, innerHTML: chevronIcon })))), isSlotUsed(this.el, "expanded-content") && this.areaExpanded && (h("div", { class: "expanded-content", id: "expanded-content-area" }, h("slot", { name: "expanded-content" })))));
77
122
  }
78
123
  static get is() { return "ic-card"; }
79
124
  static get encapsulation() { return "shadow"; }
@@ -101,7 +146,7 @@ export class Card {
101
146
  "optional": true,
102
147
  "docs": {
103
148
  "tags": [],
104
- "text": "Set the variant to static or clickable"
149
+ "text": "If `true`, the card will be a clickable variant, instead of static."
105
150
  },
106
151
  "attribute": "clickable",
107
152
  "reflect": false,
@@ -119,7 +164,7 @@ export class Card {
119
164
  "optional": true,
120
165
  "docs": {
121
166
  "tags": [],
122
- "text": "URL for clickable cards"
167
+ "text": "The URL that the clickable card link points to. If set, the clickable card will render as an \"a\" tag, otherwise it will render as a button."
123
168
  },
124
169
  "attribute": "href",
125
170
  "reflect": false
@@ -136,7 +181,7 @@ export class Card {
136
181
  "optional": true,
137
182
  "docs": {
138
183
  "tags": [],
139
- "text": "Human readable explanation of the URL"
184
+ "text": "The human language of the linked URL."
140
185
  },
141
186
  "attribute": "hreflang",
142
187
  "reflect": false,
@@ -192,7 +237,7 @@ export class Card {
192
237
  "optional": true,
193
238
  "docs": {
194
239
  "tags": [],
195
- "text": "Where to display the linked URL, as the name for a browsing context (a tab, window, or iframe)."
240
+ "text": "The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe)."
196
241
  },
197
242
  "attribute": "target",
198
243
  "reflect": false
@@ -209,11 +254,28 @@ export class Card {
209
254
  "optional": false,
210
255
  "docs": {
211
256
  "tags": [],
212
- "text": "Title for the card"
257
+ "text": "The heading for the card."
213
258
  },
214
259
  "attribute": "heading",
215
260
  "reflect": false
216
261
  },
262
+ "subheading": {
263
+ "type": "string",
264
+ "mutable": false,
265
+ "complexType": {
266
+ "original": "string",
267
+ "resolved": "string",
268
+ "references": {}
269
+ },
270
+ "required": false,
271
+ "optional": true,
272
+ "docs": {
273
+ "tags": [],
274
+ "text": "The subheading for the card."
275
+ },
276
+ "attribute": "subheading",
277
+ "reflect": false
278
+ },
217
279
  "message": {
218
280
  "type": "string",
219
281
  "mutable": false,
@@ -226,7 +288,7 @@ export class Card {
226
288
  "optional": true,
227
289
  "docs": {
228
290
  "tags": [],
229
- "text": "Main body message of the card"
291
+ "text": "The main body message of the card."
230
292
  },
231
293
  "attribute": "message",
232
294
  "reflect": false,
@@ -244,7 +306,7 @@ export class Card {
244
306
  "optional": true,
245
307
  "docs": {
246
308
  "tags": [],
247
- "text": "Whether the card is disabled if it is clickable"
309
+ "text": "If `true`, the card will be disabled if it is clickable."
248
310
  },
249
311
  "attribute": "disabled",
250
312
  "reflect": false,
@@ -259,14 +321,32 @@ export class Card {
259
321
  "references": {}
260
322
  },
261
323
  "required": false,
262
- "optional": false,
324
+ "optional": true,
263
325
  "docs": {
264
326
  "tags": [],
265
- "text": "If true then fill width of container"
327
+ "text": "If `true`, the card will fill the width of the container."
266
328
  },
267
329
  "attribute": "full-width",
268
330
  "reflect": false,
269
331
  "defaultValue": "false"
332
+ },
333
+ "expandable": {
334
+ "type": "boolean",
335
+ "mutable": false,
336
+ "complexType": {
337
+ "original": "boolean",
338
+ "resolved": "boolean",
339
+ "references": {}
340
+ },
341
+ "required": false,
342
+ "optional": true,
343
+ "docs": {
344
+ "tags": [],
345
+ "text": "If `true`, the card will have an expandable area and expansion toggle button."
346
+ },
347
+ "attribute": "expandable",
348
+ "reflect": false,
349
+ "defaultValue": "false"
270
350
  }
271
351
  };
272
352
  }
@@ -274,7 +354,29 @@ export class Card {
274
354
  return {
275
355
  "parentIsAnchorTag": {},
276
356
  "isFocussed": {},
277
- "parentEl": {}
357
+ "parentEl": {},
358
+ "appearance": {},
359
+ "areaExpanded": {}
360
+ };
361
+ }
362
+ static get methods() {
363
+ return {
364
+ "setFocus": {
365
+ "complexType": {
366
+ "signature": "() => Promise<void>",
367
+ "parameters": [],
368
+ "references": {
369
+ "Promise": {
370
+ "location": "global"
371
+ }
372
+ },
373
+ "return": "Promise<void>"
374
+ },
375
+ "docs": {
376
+ "text": "Sets focus on the card.",
377
+ "tags": []
378
+ }
379
+ }
278
380
  };
279
381
  }
280
382
  static get elementRef() { return "el"; }
@@ -285,6 +387,12 @@ export class Card {
285
387
  "target": undefined,
286
388
  "capture": true,
287
389
  "passive": false
390
+ }, {
391
+ "name": "themeChange",
392
+ "method": "themeChangeHandler",
393
+ "target": "document",
394
+ "capture": false,
395
+ "passive": false
288
396
  }];
289
397
  }
290
398
  }