@ukic/web-components 3.20.0 → 3.21.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (511) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/helpers-3a796e7a.js.map +1 -1
  3. package/dist/cjs/ic-accordion.cjs.entry.js +16 -9
  4. package/dist/cjs/ic-accordion.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  6. package/dist/cjs/ic-back-to-top.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ic-badge.cjs.entry.js +1 -1
  8. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  10. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js.map +1 -1
  11. package/dist/cjs/ic-button_3.cjs.entry.js +6 -6
  12. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-card-horizontal.cjs.entry.js +174 -0
  14. package/dist/cjs/ic-card-horizontal.cjs.entry.js.map +1 -0
  15. package/dist/cjs/ic-card-vertical.cjs.entry.js +1 -1
  16. package/dist/cjs/ic-card-vertical.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-checkbox-group.cjs.entry.js +2 -2
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js.map +1 -1
  19. package/dist/cjs/ic-checkbox.cjs.entry.js +5 -5
  20. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-data-list.cjs.entry.js +2 -2
  22. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  23. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-divider.cjs.entry.js +16 -7
  25. package/dist/cjs/ic-divider.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-empty-state.cjs.entry.js +2 -2
  27. package/dist/cjs/ic-footer-link.cjs.entry.js +3 -3
  28. package/dist/cjs/ic-footer-link.cjs.entry.js.map +1 -1
  29. package/dist/cjs/ic-hero.cjs.entry.js +4 -4
  30. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +6 -6
  31. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js.map +1 -1
  32. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +10 -10
  33. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  34. package/dist/cjs/ic-input-label_2.cjs.entry.js +16 -11
  35. package/dist/cjs/ic-input-label_2.cjs.entry.js.map +1 -1
  36. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +2 -2
  37. package/dist/cjs/ic-layout-grid.cjs.entry.js +2 -2
  38. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  39. package/dist/cjs/ic-link.cjs.entry.js.map +1 -1
  40. package/dist/cjs/ic-menu-group.cjs.entry.js +1 -1
  41. package/dist/cjs/ic-navigation-group.cjs.entry.js +2 -2
  42. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  43. package/dist/cjs/ic-navigation-item.cjs.entry.js +6 -4
  44. package/dist/cjs/ic-navigation-item.cjs.entry.js.map +1 -1
  45. package/dist/cjs/ic-navigation-menu.cjs.entry.js +4 -4
  46. package/dist/cjs/ic-page-header.cjs.entry.js +7 -7
  47. package/dist/cjs/ic-page-header.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
  49. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  50. package/dist/cjs/ic-pagination.cjs.entry.js +4 -4
  51. package/dist/cjs/ic-popover-menu.cjs.entry.js +4 -4
  52. package/dist/cjs/ic-radio-group.cjs.entry.js +4 -4
  53. package/dist/cjs/ic-radio-option.cjs.entry.js +5 -5
  54. package/dist/cjs/ic-radio-option.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-search-bar.cjs.entry.js +10 -10
  56. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  57. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  58. package/dist/cjs/ic-select.cjs.entry.js +7 -7
  59. package/dist/cjs/ic-select.cjs.entry.js.map +1 -1
  60. package/dist/cjs/ic-side-navigation.cjs.entry.js +16 -10
  61. package/dist/cjs/ic-side-navigation.cjs.entry.js.map +1 -1
  62. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  63. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  64. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
  65. package/dist/cjs/ic-step.cjs.entry.js +13 -13
  66. package/dist/cjs/ic-stepper.cjs.entry.js +2 -2
  67. package/dist/cjs/ic-switch.cjs.entry.js +5 -5
  68. package/dist/cjs/ic-switch.cjs.entry.js.map +1 -1
  69. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  70. package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
  71. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  72. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  73. package/dist/cjs/ic-tab.cjs.entry.js.map +1 -1
  74. package/dist/cjs/ic-text-field.cjs.entry.js +5 -5
  75. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  76. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  77. package/dist/cjs/ic-toast.cjs.entry.js +5 -5
  78. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +3 -3
  79. package/dist/cjs/ic-toggle-button-group.cjs.entry.js.map +1 -1
  80. package/dist/cjs/ic-toggle-button.cjs.entry.js +2 -2
  81. package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
  82. package/dist/cjs/ic-top-navigation.cjs.entry.js.map +1 -1
  83. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  84. package/dist/cjs/ic-typography.cjs.entry.js.map +1 -1
  85. package/dist/cjs/index-d337cd8a.js +4 -0
  86. package/dist/cjs/loader.cjs.js +1 -1
  87. package/dist/collection/collection-manifest.json +1 -0
  88. package/dist/collection/components/ic-accordion/ic-accordion.css +6 -0
  89. package/dist/collection/components/ic-accordion/ic-accordion.js +15 -8
  90. package/dist/collection/components/ic-accordion/ic-accordion.js.map +1 -1
  91. package/dist/collection/components/ic-back-to-top/ic-back-to-top.css +7 -0
  92. package/dist/collection/components/ic-badge/ic-badge.css +6 -0
  93. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.css +8 -0
  94. package/dist/collection/components/ic-button/ic-button.css +7 -0
  95. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.css +728 -0
  96. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js +512 -0
  97. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.js.map +1 -0
  98. package/dist/collection/components/ic-card-horizontal/ic-card-horizontal.stories.js +876 -0
  99. package/dist/collection/components/ic-card-vertical/ic-card-vertical.css +7 -0
  100. package/dist/collection/components/ic-card-vertical/ic-card-vertical.stories.js +1 -1
  101. package/dist/collection/components/ic-checkbox/ic-checkbox.css +7 -5
  102. package/dist/collection/components/ic-checkbox/ic-checkbox.js +4 -4
  103. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +3 -3
  104. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js.map +1 -1
  105. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.stories.js +35 -0
  106. package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
  107. package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
  108. package/dist/collection/components/ic-dialog/ic-dialog.js +1 -1
  109. package/dist/collection/components/ic-divider/ic-divider.js +16 -7
  110. package/dist/collection/components/ic-divider/ic-divider.js.map +1 -1
  111. package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
  112. package/dist/collection/components/ic-footer-link/ic-footer-link.css +6 -0
  113. package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
  114. package/dist/collection/components/ic-hero/ic-hero.js +4 -4
  115. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.css +6 -0
  116. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
  117. package/dist/collection/components/ic-input-component-container/ic-input-component-container.css +7 -0
  118. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
  119. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  120. package/dist/collection/components/ic-input-label/ic-input-label.js +16 -8
  121. package/dist/collection/components/ic-input-label/ic-input-label.js.map +1 -1
  122. package/dist/collection/components/ic-input-validation/ic-input-validation.js +3 -3
  123. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js +2 -2
  124. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js +2 -2
  125. package/dist/collection/components/ic-link/ic-link.css +7 -0
  126. package/dist/collection/components/ic-link/ic-link.js +1 -1
  127. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +5 -5
  128. package/dist/collection/components/ic-menu/ic-menu.css +6 -0
  129. package/dist/collection/components/ic-menu/ic-menu.js +3 -3
  130. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  131. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +9 -0
  132. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
  133. package/dist/collection/components/ic-navigation-item/ic-navigation-item.css +41 -0
  134. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +5 -3
  135. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js.map +1 -1
  136. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  137. package/dist/collection/components/ic-page-header/ic-page-header.css +1 -2
  138. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  139. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  140. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +6 -0
  141. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  142. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +4 -4
  143. package/dist/collection/components/ic-radio-group/ic-radio-group.js +4 -4
  144. package/dist/collection/components/ic-radio-option/ic-radio-option.css +6 -0
  145. package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
  146. package/dist/collection/components/ic-search-bar/ic-search-bar.css +6 -0
  147. package/dist/collection/components/ic-search-bar/ic-search-bar.js +9 -9
  148. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  149. package/dist/collection/components/ic-select/ic-select.css +8 -0
  150. package/dist/collection/components/ic-select/ic-select.js +6 -6
  151. package/dist/collection/components/ic-side-navigation/ic-side-navigation.css +46 -21
  152. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +15 -9
  153. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js.map +1 -1
  154. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  155. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  156. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  157. package/dist/collection/components/ic-step/ic-step.js +13 -13
  158. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  159. package/dist/collection/components/ic-switch/ic-switch.css +7 -0
  160. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  161. package/dist/collection/components/ic-tab/ic-tab.css +6 -0
  162. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
  163. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  164. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  165. package/dist/collection/components/ic-text-field/ic-text-field.js +5 -5
  166. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  167. package/dist/collection/components/ic-toast/ic-toast.js +5 -5
  168. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  169. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
  170. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.css +6 -0
  171. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
  172. package/dist/collection/components/ic-top-navigation/ic-top-navigation.css +8 -4
  173. package/dist/collection/components/ic-top-navigation/ic-top-navigation.stories.js +100 -0
  174. package/dist/collection/components/ic-typography/ic-typography.css +6 -0
  175. package/dist/collection/utils/types.js.map +1 -1
  176. package/dist/components/helpers.js.map +1 -1
  177. package/dist/components/ic-accordion.js +16 -9
  178. package/dist/components/ic-accordion.js.map +1 -1
  179. package/dist/components/ic-back-to-top.js +1 -1
  180. package/dist/components/ic-back-to-top.js.map +1 -1
  181. package/dist/components/ic-badge.js +1 -1
  182. package/dist/components/ic-badge.js.map +1 -1
  183. package/dist/components/ic-breadcrumb-group.js +1 -1
  184. package/dist/components/ic-breadcrumb-group.js.map +1 -1
  185. package/dist/components/ic-button2.js +1 -1
  186. package/dist/components/ic-button2.js.map +1 -1
  187. package/dist/components/ic-card-horizontal.d.ts +11 -0
  188. package/dist/components/ic-card-horizontal.js +214 -0
  189. package/dist/components/ic-card-horizontal.js.map +1 -0
  190. package/dist/components/ic-card-vertical.js +1 -1
  191. package/dist/components/ic-card-vertical.js.map +1 -1
  192. package/dist/components/ic-checkbox-group.js +2 -2
  193. package/dist/components/ic-checkbox-group.js.map +1 -1
  194. package/dist/components/ic-checkbox.js +5 -5
  195. package/dist/components/ic-checkbox.js.map +1 -1
  196. package/dist/components/ic-classification-banner.js.map +1 -1
  197. package/dist/components/ic-data-list.js +2 -2
  198. package/dist/components/ic-data-row.js +2 -2
  199. package/dist/components/ic-dialog.js +1 -1
  200. package/dist/components/ic-divider2.js +17 -8
  201. package/dist/components/ic-divider2.js.map +1 -1
  202. package/dist/components/ic-empty-state.js +2 -2
  203. package/dist/components/ic-footer-link.js +3 -3
  204. package/dist/components/ic-footer-link.js.map +1 -1
  205. package/dist/components/ic-hero.js +4 -4
  206. package/dist/components/ic-horizontal-scroll2.js +6 -6
  207. package/dist/components/ic-horizontal-scroll2.js.map +1 -1
  208. package/dist/components/ic-input-component-container2.js +4 -4
  209. package/dist/components/ic-input-component-container2.js.map +1 -1
  210. package/dist/components/ic-input-container2.js +2 -2
  211. package/dist/components/ic-input-label2.js +13 -8
  212. package/dist/components/ic-input-label2.js.map +1 -1
  213. package/dist/components/ic-input-validation2.js +3 -3
  214. package/dist/components/ic-layout-grid-item.js +2 -2
  215. package/dist/components/ic-layout-grid.js +2 -2
  216. package/dist/components/ic-link2.js +2 -2
  217. package/dist/components/ic-link2.js.map +1 -1
  218. package/dist/components/ic-loading-indicator2.js +5 -5
  219. package/dist/components/ic-menu-group.js +1 -1
  220. package/dist/components/ic-menu2.js +4 -4
  221. package/dist/components/ic-menu2.js.map +1 -1
  222. package/dist/components/ic-navigation-group.js +2 -2
  223. package/dist/components/ic-navigation-group.js.map +1 -1
  224. package/dist/components/ic-navigation-item.js +6 -4
  225. package/dist/components/ic-navigation-item.js.map +1 -1
  226. package/dist/components/ic-navigation-menu2.js +4 -4
  227. package/dist/components/ic-page-header.js +7 -7
  228. package/dist/components/ic-page-header.js.map +1 -1
  229. package/dist/components/ic-pagination-item2.js +2 -2
  230. package/dist/components/ic-pagination-item2.js.map +1 -1
  231. package/dist/components/ic-pagination.js +4 -4
  232. package/dist/components/ic-pagination.js.map +1 -1
  233. package/dist/components/ic-popover-menu.js +4 -4
  234. package/dist/components/ic-radio-group.js +4 -4
  235. package/dist/components/ic-radio-group.js.map +1 -1
  236. package/dist/components/ic-radio-option.js +5 -5
  237. package/dist/components/ic-radio-option.js.map +1 -1
  238. package/dist/components/ic-search-bar.js +10 -10
  239. package/dist/components/ic-search-bar.js.map +1 -1
  240. package/dist/components/ic-section-container2.js +2 -2
  241. package/dist/components/ic-select.js +7 -7
  242. package/dist/components/ic-select.js.map +1 -1
  243. package/dist/components/ic-side-navigation.js +16 -10
  244. package/dist/components/ic-side-navigation.js.map +1 -1
  245. package/dist/components/ic-skeleton.js +2 -2
  246. package/dist/components/ic-skip-link.js +2 -2
  247. package/dist/components/ic-status-tag.js +2 -2
  248. package/dist/components/ic-step.js +13 -13
  249. package/dist/components/ic-stepper.js +2 -2
  250. package/dist/components/ic-switch.js +5 -5
  251. package/dist/components/ic-switch.js.map +1 -1
  252. package/dist/components/ic-tab-context.js +1 -1
  253. package/dist/components/ic-tab-group.js +2 -2
  254. package/dist/components/ic-tab-panel.js +2 -2
  255. package/dist/components/ic-tab.js +1 -1
  256. package/dist/components/ic-tab.js.map +1 -1
  257. package/dist/components/ic-text-field.js +5 -5
  258. package/dist/components/ic-theme.js +1 -1
  259. package/dist/components/ic-toast-region.js +1 -1
  260. package/dist/components/ic-toast.js +5 -5
  261. package/dist/components/ic-toggle-button-group.js +3 -3
  262. package/dist/components/ic-toggle-button-group.js.map +1 -1
  263. package/dist/components/ic-toggle-button.js +2 -2
  264. package/dist/components/ic-top-navigation.js +1 -1
  265. package/dist/components/ic-top-navigation.js.map +1 -1
  266. package/dist/components/ic-typography2.js +1 -1
  267. package/dist/components/ic-typography2.js.map +1 -1
  268. package/dist/core/core.esm.js +1 -1
  269. package/dist/core/core.esm.js.map +1 -1
  270. package/dist/core/{p-f5fd4a76.entry.js → p-04c77b2d.entry.js} +2 -2
  271. package/dist/core/p-04c77b2d.entry.js.map +1 -0
  272. package/dist/core/{p-0301d1c8.entry.js → p-07075461.entry.js} +2 -2
  273. package/dist/core/p-0a24c536.entry.js +2 -0
  274. package/dist/core/p-0a24c536.entry.js.map +1 -0
  275. package/dist/core/{p-c16e982c.entry.js → p-0aba9e31.entry.js} +2 -2
  276. package/dist/core/{p-45076d7e.entry.js → p-0d7fd892.entry.js} +2 -2
  277. package/dist/core/{p-ebc47282.entry.js → p-0da2caa2.entry.js} +2 -2
  278. package/dist/core/{p-5ac3adb9.entry.js → p-1590fd69.entry.js} +2 -2
  279. package/dist/core/p-1590fd69.entry.js.map +1 -0
  280. package/dist/core/{p-45c553db.entry.js → p-208f470f.entry.js} +2 -2
  281. package/dist/core/p-29b61bb5.entry.js +3 -0
  282. package/dist/core/p-29b61bb5.entry.js.map +1 -0
  283. package/dist/core/{p-cf056074.entry.js → p-2af89564.entry.js} +2 -2
  284. package/dist/core/{p-6740c915.entry.js → p-2ca7f050.entry.js} +2 -2
  285. package/dist/core/{p-86989873.entry.js → p-3021290f.entry.js} +2 -2
  286. package/dist/core/p-3021290f.entry.js.map +1 -0
  287. package/dist/core/{p-90814d32.entry.js → p-387b7bca.entry.js} +2 -2
  288. package/dist/core/p-41a5da12.entry.js +2 -0
  289. package/dist/core/p-41a5da12.entry.js.map +1 -0
  290. package/dist/core/p-43cc0f1d.entry.js +2 -0
  291. package/dist/core/{p-23dc27a8.entry.js.map → p-43cc0f1d.entry.js.map} +1 -1
  292. package/dist/core/{p-c7f8547d.entry.js → p-4aa56990.entry.js} +2 -2
  293. package/dist/core/p-4aa56990.entry.js.map +1 -0
  294. package/dist/core/p-4aadabc8.entry.js +2 -0
  295. package/dist/core/p-4aadabc8.entry.js.map +1 -0
  296. package/dist/core/{p-8c00614c.entry.js → p-707ae6e9.entry.js} +2 -2
  297. package/dist/core/{p-0722d7b6.entry.js → p-716e7eaf.entry.js} +2 -2
  298. package/dist/core/p-716e7eaf.entry.js.map +1 -0
  299. package/dist/core/p-780babc0.entry.js +2 -0
  300. package/dist/core/p-780babc0.entry.js.map +1 -0
  301. package/dist/core/{p-608b4912.entry.js → p-78a54069.entry.js} +2 -2
  302. package/dist/core/{p-0d711c6a.entry.js → p-79949920.entry.js} +2 -2
  303. package/dist/core/{p-09c31ac6.entry.js → p-7f279c8a.entry.js} +2 -2
  304. package/dist/core/{p-656a9127.entry.js → p-808e1ef5.entry.js} +2 -2
  305. package/dist/core/{p-d478d13e.entry.js → p-812c5e61.entry.js} +2 -2
  306. package/dist/core/p-812c5e61.entry.js.map +1 -0
  307. package/dist/core/{p-ba4abeac.entry.js → p-85e15d01.entry.js} +2 -2
  308. package/dist/core/{p-276a6c8f.entry.js → p-8da90b72.entry.js} +2 -2
  309. package/dist/core/p-8fe4e0ad.entry.js +2 -0
  310. package/dist/core/p-8fe4e0ad.entry.js.map +1 -0
  311. package/dist/core/{p-8b1567c9.entry.js → p-9057a186.entry.js} +2 -2
  312. package/dist/core/p-9057a186.entry.js.map +1 -0
  313. package/dist/core/{p-fe0153ec.entry.js → p-94916588.entry.js} +2 -2
  314. package/dist/core/{p-8f45f956.entry.js → p-96bc7d24.entry.js} +2 -2
  315. package/dist/core/p-96bc7d24.entry.js.map +1 -0
  316. package/dist/core/{p-e176881a.entry.js → p-99687bce.entry.js} +2 -2
  317. package/dist/core/{p-3582c7df.entry.js → p-99951365.entry.js} +2 -2
  318. package/dist/core/p-99951365.entry.js.map +1 -0
  319. package/dist/core/p-9a4e067f.entry.js +2 -0
  320. package/dist/core/p-9a4e067f.entry.js.map +1 -0
  321. package/dist/core/{p-4e43b272.entry.js → p-a03bb31c.entry.js} +2 -2
  322. package/dist/core/p-a1b2f483.entry.js +2 -0
  323. package/dist/core/p-a1b2f483.entry.js.map +1 -0
  324. package/dist/core/{p-b5e39585.entry.js → p-a3dea729.entry.js} +2 -2
  325. package/dist/core/p-a674b13b.entry.js +2 -0
  326. package/dist/core/p-a674b13b.entry.js.map +1 -0
  327. package/dist/core/{p-93e1ba0a.entry.js → p-a851eb65.entry.js} +2 -2
  328. package/dist/core/p-b4e322fe.entry.js +2 -0
  329. package/dist/core/p-b4e322fe.entry.js.map +1 -0
  330. package/dist/core/{p-1d8559f0.entry.js → p-c156e6e9.entry.js} +2 -2
  331. package/dist/core/p-c5b9519d.entry.js +2 -0
  332. package/dist/core/p-c5b9519d.entry.js.map +1 -0
  333. package/dist/core/{p-e1814e7e.entry.js → p-cad23b7d.entry.js} +2 -2
  334. package/dist/core/{p-cdbbcef4.entry.js → p-cfd43558.entry.js} +2 -2
  335. package/dist/core/p-cfd43558.entry.js.map +1 -0
  336. package/dist/core/{p-107281c4.entry.js → p-d1730d4d.entry.js} +2 -2
  337. package/dist/core/{p-1fc4b88f.entry.js → p-d25d0aad.entry.js} +2 -2
  338. package/dist/core/p-d25d0aad.entry.js.map +1 -0
  339. package/dist/core/{p-0f998905.entry.js → p-db17a793.entry.js} +2 -2
  340. package/dist/core/p-db17a793.entry.js.map +1 -0
  341. package/dist/core/p-dbc8bf0c.js.map +1 -1
  342. package/dist/core/{p-81f60443.entry.js → p-dce11b9d.entry.js} +2 -2
  343. package/dist/core/p-dce11b9d.entry.js.map +1 -0
  344. package/dist/core/{p-6aa8d3ce.entry.js → p-ded4cd76.entry.js} +2 -2
  345. package/dist/core/p-ded4cd76.entry.js.map +1 -0
  346. package/dist/core/{p-ad5aca6f.entry.js → p-ea890d3d.entry.js} +2 -2
  347. package/dist/core/{p-d2d17d6d.entry.js → p-f0ecb80b.entry.js} +2 -2
  348. package/dist/core/p-f0ecb80b.entry.js.map +1 -0
  349. package/dist/core/{p-df029b1b.entry.js → p-f3406b42.entry.js} +2 -2
  350. package/dist/core/p-f3406b42.entry.js.map +1 -0
  351. package/dist/core/{p-76e8df31.entry.js → p-f6de08fb.entry.js} +2 -2
  352. package/dist/core/{p-889bb8db.entry.js → p-feef7c2c.entry.js} +2 -2
  353. package/dist/esm/core.js +1 -1
  354. package/dist/esm/helpers-0f85537f.js.map +1 -1
  355. package/dist/esm/ic-accordion.entry.js +16 -9
  356. package/dist/esm/ic-accordion.entry.js.map +1 -1
  357. package/dist/esm/ic-back-to-top.entry.js +1 -1
  358. package/dist/esm/ic-back-to-top.entry.js.map +1 -1
  359. package/dist/esm/ic-badge.entry.js +1 -1
  360. package/dist/esm/ic-badge.entry.js.map +1 -1
  361. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  362. package/dist/esm/ic-breadcrumb-group.entry.js.map +1 -1
  363. package/dist/esm/ic-button_3.entry.js +6 -6
  364. package/dist/esm/ic-button_3.entry.js.map +1 -1
  365. package/dist/esm/ic-card-horizontal.entry.js +170 -0
  366. package/dist/esm/ic-card-horizontal.entry.js.map +1 -0
  367. package/dist/esm/ic-card-vertical.entry.js +1 -1
  368. package/dist/esm/ic-card-vertical.entry.js.map +1 -1
  369. package/dist/esm/ic-checkbox-group.entry.js +2 -2
  370. package/dist/esm/ic-checkbox-group.entry.js.map +1 -1
  371. package/dist/esm/ic-checkbox.entry.js +5 -5
  372. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  373. package/dist/esm/ic-data-list.entry.js +2 -2
  374. package/dist/esm/ic-data-row.entry.js +2 -2
  375. package/dist/esm/ic-dialog.entry.js +1 -1
  376. package/dist/esm/ic-divider.entry.js +16 -7
  377. package/dist/esm/ic-divider.entry.js.map +1 -1
  378. package/dist/esm/ic-empty-state.entry.js +2 -2
  379. package/dist/esm/ic-footer-link.entry.js +3 -3
  380. package/dist/esm/ic-footer-link.entry.js.map +1 -1
  381. package/dist/esm/ic-hero.entry.js +4 -4
  382. package/dist/esm/ic-horizontal-scroll.entry.js +6 -6
  383. package/dist/esm/ic-horizontal-scroll.entry.js.map +1 -1
  384. package/dist/esm/ic-input-component-container_3.entry.js +10 -10
  385. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  386. package/dist/esm/ic-input-label_2.entry.js +16 -11
  387. package/dist/esm/ic-input-label_2.entry.js.map +1 -1
  388. package/dist/esm/ic-layout-grid-item.entry.js +2 -2
  389. package/dist/esm/ic-layout-grid.entry.js +2 -2
  390. package/dist/esm/ic-link.entry.js +2 -2
  391. package/dist/esm/ic-link.entry.js.map +1 -1
  392. package/dist/esm/ic-menu-group.entry.js +1 -1
  393. package/dist/esm/ic-navigation-group.entry.js +2 -2
  394. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  395. package/dist/esm/ic-navigation-item.entry.js +6 -4
  396. package/dist/esm/ic-navigation-item.entry.js.map +1 -1
  397. package/dist/esm/ic-navigation-menu.entry.js +4 -4
  398. package/dist/esm/ic-page-header.entry.js +7 -7
  399. package/dist/esm/ic-page-header.entry.js.map +1 -1
  400. package/dist/esm/ic-pagination-item.entry.js +2 -2
  401. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  402. package/dist/esm/ic-pagination.entry.js +4 -4
  403. package/dist/esm/ic-popover-menu.entry.js +4 -4
  404. package/dist/esm/ic-radio-group.entry.js +4 -4
  405. package/dist/esm/ic-radio-option.entry.js +5 -5
  406. package/dist/esm/ic-radio-option.entry.js.map +1 -1
  407. package/dist/esm/ic-search-bar.entry.js +10 -10
  408. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  409. package/dist/esm/ic-section-container.entry.js +2 -2
  410. package/dist/esm/ic-select.entry.js +7 -7
  411. package/dist/esm/ic-select.entry.js.map +1 -1
  412. package/dist/esm/ic-side-navigation.entry.js +16 -10
  413. package/dist/esm/ic-side-navigation.entry.js.map +1 -1
  414. package/dist/esm/ic-skeleton.entry.js +2 -2
  415. package/dist/esm/ic-skip-link.entry.js +2 -2
  416. package/dist/esm/ic-status-tag.entry.js +2 -2
  417. package/dist/esm/ic-step.entry.js +13 -13
  418. package/dist/esm/ic-stepper.entry.js +2 -2
  419. package/dist/esm/ic-switch.entry.js +5 -5
  420. package/dist/esm/ic-switch.entry.js.map +1 -1
  421. package/dist/esm/ic-tab-context.entry.js +1 -1
  422. package/dist/esm/ic-tab-group.entry.js +2 -2
  423. package/dist/esm/ic-tab-panel.entry.js +2 -2
  424. package/dist/esm/ic-tab.entry.js +1 -1
  425. package/dist/esm/ic-tab.entry.js.map +1 -1
  426. package/dist/esm/ic-text-field.entry.js +5 -5
  427. package/dist/esm/ic-theme.entry.js +1 -1
  428. package/dist/esm/ic-toast-region.entry.js +1 -1
  429. package/dist/esm/ic-toast.entry.js +5 -5
  430. package/dist/esm/ic-toggle-button-group.entry.js +3 -3
  431. package/dist/esm/ic-toggle-button-group.entry.js.map +1 -1
  432. package/dist/esm/ic-toggle-button.entry.js +2 -2
  433. package/dist/esm/ic-top-navigation.entry.js +1 -1
  434. package/dist/esm/ic-top-navigation.entry.js.map +1 -1
  435. package/dist/esm/ic-typography.entry.js +1 -1
  436. package/dist/esm/ic-typography.entry.js.map +1 -1
  437. package/dist/esm/index-a7a720e7.js +4 -0
  438. package/dist/esm/loader.js +1 -1
  439. package/dist/types/components/ic-card-horizontal/ic-card-horizontal.d.ts +89 -0
  440. package/dist/types/components/ic-checkbox-group/ic-checkbox-group.d.ts +1 -0
  441. package/dist/types/components/ic-divider/ic-divider.d.ts +2 -0
  442. package/dist/types/components/ic-input-label/ic-input-label.d.ts +4 -1
  443. package/dist/types/components.d.ts +123 -2
  444. package/dist/types/utils/types.d.ts +1 -0
  445. package/hydrate/index.js +432 -198
  446. package/hydrate/index.mjs +432 -198
  447. package/package.json +2 -2
  448. package/vscode-data.json +117 -0
  449. package/dist/core/p-0722d7b6.entry.js.map +0 -1
  450. package/dist/core/p-0f6fd5d3.entry.js +0 -2
  451. package/dist/core/p-0f6fd5d3.entry.js.map +0 -1
  452. package/dist/core/p-0f998905.entry.js.map +0 -1
  453. package/dist/core/p-1fc4b88f.entry.js.map +0 -1
  454. package/dist/core/p-23dc27a8.entry.js +0 -2
  455. package/dist/core/p-3582c7df.entry.js.map +0 -1
  456. package/dist/core/p-3c7e90a7.entry.js +0 -2
  457. package/dist/core/p-3c7e90a7.entry.js.map +0 -1
  458. package/dist/core/p-57ce68e5.entry.js +0 -2
  459. package/dist/core/p-57ce68e5.entry.js.map +0 -1
  460. package/dist/core/p-5ac3adb9.entry.js.map +0 -1
  461. package/dist/core/p-6aa8d3ce.entry.js.map +0 -1
  462. package/dist/core/p-72344764.entry.js +0 -2
  463. package/dist/core/p-72344764.entry.js.map +0 -1
  464. package/dist/core/p-7c38dd1f.entry.js +0 -2
  465. package/dist/core/p-7c38dd1f.entry.js.map +0 -1
  466. package/dist/core/p-81f60443.entry.js.map +0 -1
  467. package/dist/core/p-840c647f.entry.js +0 -2
  468. package/dist/core/p-840c647f.entry.js.map +0 -1
  469. package/dist/core/p-86989873.entry.js.map +0 -1
  470. package/dist/core/p-8b1567c9.entry.js.map +0 -1
  471. package/dist/core/p-8f45f956.entry.js.map +0 -1
  472. package/dist/core/p-9b60ca02.entry.js +0 -2
  473. package/dist/core/p-9b60ca02.entry.js.map +0 -1
  474. package/dist/core/p-a16415e4.entry.js +0 -3
  475. package/dist/core/p-a16415e4.entry.js.map +0 -1
  476. package/dist/core/p-b22fc28d.entry.js +0 -2
  477. package/dist/core/p-b22fc28d.entry.js.map +0 -1
  478. package/dist/core/p-c3f5907e.entry.js +0 -2
  479. package/dist/core/p-c3f5907e.entry.js.map +0 -1
  480. package/dist/core/p-c7f8547d.entry.js.map +0 -1
  481. package/dist/core/p-cdbbcef4.entry.js.map +0 -1
  482. package/dist/core/p-d2d17d6d.entry.js.map +0 -1
  483. package/dist/core/p-d478d13e.entry.js.map +0 -1
  484. package/dist/core/p-df029b1b.entry.js.map +0 -1
  485. package/dist/core/p-f5fd4a76.entry.js.map +0 -1
  486. /package/dist/core/{p-0301d1c8.entry.js.map → p-07075461.entry.js.map} +0 -0
  487. /package/dist/core/{p-c16e982c.entry.js.map → p-0aba9e31.entry.js.map} +0 -0
  488. /package/dist/core/{p-45076d7e.entry.js.map → p-0d7fd892.entry.js.map} +0 -0
  489. /package/dist/core/{p-ebc47282.entry.js.map → p-0da2caa2.entry.js.map} +0 -0
  490. /package/dist/core/{p-45c553db.entry.js.map → p-208f470f.entry.js.map} +0 -0
  491. /package/dist/core/{p-cf056074.entry.js.map → p-2af89564.entry.js.map} +0 -0
  492. /package/dist/core/{p-6740c915.entry.js.map → p-2ca7f050.entry.js.map} +0 -0
  493. /package/dist/core/{p-90814d32.entry.js.map → p-387b7bca.entry.js.map} +0 -0
  494. /package/dist/core/{p-8c00614c.entry.js.map → p-707ae6e9.entry.js.map} +0 -0
  495. /package/dist/core/{p-608b4912.entry.js.map → p-78a54069.entry.js.map} +0 -0
  496. /package/dist/core/{p-0d711c6a.entry.js.map → p-79949920.entry.js.map} +0 -0
  497. /package/dist/core/{p-09c31ac6.entry.js.map → p-7f279c8a.entry.js.map} +0 -0
  498. /package/dist/core/{p-656a9127.entry.js.map → p-808e1ef5.entry.js.map} +0 -0
  499. /package/dist/core/{p-ba4abeac.entry.js.map → p-85e15d01.entry.js.map} +0 -0
  500. /package/dist/core/{p-276a6c8f.entry.js.map → p-8da90b72.entry.js.map} +0 -0
  501. /package/dist/core/{p-fe0153ec.entry.js.map → p-94916588.entry.js.map} +0 -0
  502. /package/dist/core/{p-e176881a.entry.js.map → p-99687bce.entry.js.map} +0 -0
  503. /package/dist/core/{p-4e43b272.entry.js.map → p-a03bb31c.entry.js.map} +0 -0
  504. /package/dist/core/{p-b5e39585.entry.js.map → p-a3dea729.entry.js.map} +0 -0
  505. /package/dist/core/{p-93e1ba0a.entry.js.map → p-a851eb65.entry.js.map} +0 -0
  506. /package/dist/core/{p-1d8559f0.entry.js.map → p-c156e6e9.entry.js.map} +0 -0
  507. /package/dist/core/{p-e1814e7e.entry.js.map → p-cad23b7d.entry.js.map} +0 -0
  508. /package/dist/core/{p-107281c4.entry.js.map → p-d1730d4d.entry.js.map} +0 -0
  509. /package/dist/core/{p-ad5aca6f.entry.js.map → p-ea890d3d.entry.js.map} +0 -0
  510. /package/dist/core/{p-76e8df31.entry.js.map → p-f6de08fb.entry.js.map} +0 -0
  511. /package/dist/core/{p-889bb8db.entry.js.map → p-feef7c2c.entry.js.map} +0 -0
@@ -0,0 +1,174 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-d337cd8a.js');
6
+ const helpers = require('./helpers-3a796e7a.js');
7
+ require('./constants-4d389abc.js');
8
+
9
+ const icCardHorizontalCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:flex;--card-max-width:550px;--image-size:132px;--message-max-lines:2}.card.small{--card-max-width:360px;--image-size:calc(var(--ic-space-sm) * 10)}.card.small.spacious{--image-size:100px}.card.large{--card-max-width:1130px;--image-size:164px;--message-max-lines:3}.card.large .card-message{margin-top:var(--ic-space-md)}a{text-decoration:none !important;color:var(--ic-card-text-primary) !important}button{border:none;background-color:transparent;outline:var(--ic-hc-focus-outline);padding:0}.card,.card.clickable{display:flex;flex-direction:row;border:var(--ic-space-1px) solid var(--ic-card-border-primary);border-radius:var(--ic-border-radius);box-sizing:border-box;text-align:left;color:var(--ic-card-text-primary);transition:var(--ic-easing-transition-fast);position:relative;max-width:var(--card-max-width);height:-moz-fit-content;height:fit-content;width:var(--card-horizontal-width, -moz-fit-content);width:var(--card-horizontal-width, fit-content)}.dark.card,.dark.card.clickable{border:var(--ic-border-width) solid\n var(--ic-color-border-neutral-pressed-dark)}.card.clickable:hover{background-color:var(--ic-card-background-hover);border:var(--ic-space-1px) solid var(--ic-card-hover-border-color);cursor:pointer}.card.clickable:focus,.card.clickable.focussed{background-color:var(--ic-card-background-hover);box-shadow:var(--ic-border-focus);outline:var(--ic-hc-focus-outline);border:var(--ic-space-1px) solid var(--ic-card-pressed-border-color)}.card.clickable:active{background-color:var(--ic-card-background-pressed);box-shadow:var(--ic-border-focus)}.card.disabled{border:var(--ic-space-1px) dashed var(--ic-card-disabled-border-color)}.card-header{display:flex;align-items:center}.icon{display:flex;align-items:center;padding-right:var(--ic-space-xs)}.card ::slotted(svg){fill:var(--ic-card-icon)}.card.disabled ::slotted(svg){fill:var(--ic-card-icon-disabled)}.card.clickable .card-title{--ic-typography-color:var(--ic-card-clickable-text);color:var(--ic-card-clickable-text);text-decoration:underline;text-decoration-thickness:var(--ic-space-1px)}.card.clickable:hover .card-title,.card.clickable:focus .card-title,.card.clickable.focussed .card-title{display:inline-block;border-bottom:0.25rem solid !important;margin-bottom:-0.25rem !important;text-decoration:none}.card.clickable:active .card-title{text-decoration:none}.card.disabled .card-title{text-decoration:underline;text-decoration-thickness:var(--ic-space-1px);text-decoration-color:var(--ic-card-disabled-text);color:var(--ic-card-disabled-text);--ic-typography-color:var(--ic-card-disabled-text)}.card-message{margin-top:var(--ic-space-xs);align-items:left}.card.disabled .card-message,.card.disabled .subheading{--ic-typography-color:var(--ic-card-disabled-text)}.image{display:flex}.image ::slotted([slot=\"image-left\"]),.image ::slotted([slot=\"image-right\"]){height:var(--image-size);width:var(--image-size)}.image ::slotted([slot=\"image-left\"]){border-radius:var(--ic-space-1px) 0 0 var(--ic-space-1px)}.image ::slotted([slot=\"image-right\"]){border-radius:0 var(--ic-space-1px) var(--ic-space-1px) 0}.card-content{display:flex;flex-direction:column;padding:var(--ic-space-md)}.card .card-title ::slotted([slot=\"heading\"]),.card .card-title ic-typography p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:calc(var(--card-max-width) - var(--ic-space-xl))}.card.with-icon .card-title ::slotted([slot=\"heading\"]),.card.with-icon .card-title ic-typography p{max-width:calc(var(--card-max-width) - (2 * var(--ic-space-xl)))}.card.with-image .card-title ::slotted([slot=\"heading\"]),.card.with-image .card-title ic-typography p{max-width:calc(\n var(--card-max-width) - var(--image-size) - var(--ic-space-xl)\n )}.card.with-image.with-icon .card-title ::slotted([slot=\"heading\"]),.card.with-image.with-icon .card-title ic-typography p{max-width:calc(\n var(--card-max-width) - var(--image-size) - (2 * var(--ic-space-xl))\n )}.card .card-message ::slotted([slot=\"message\"]),.card .card-message ic-typography{display:-webkit-box;-webkit-box-orient:vertical;line-clamp:var(--message-max-lines, initial);-webkit-line-clamp:var(--message-max-lines, initial);overflow:hidden}.card.spacious{padding:var(--ic-space-md)}.card.spacious .card-content{padding:0}.card.spacious .card-content.left-image{padding:0 0 0 var(--ic-space-md)}.card.spacious .card-content.right-image{padding:0 var(--ic-space-md) 0 0}.card.spacious .image ::slotted([slot=\"image-left\"]),.card.spacious .image ::slotted([slot=\"image-right\"]){border-radius:var(--ic-border-radius)}.interaction-button{margin-left:auto}.adornment{margin-top:var(--ic-space-xxs)}.subheading{margin-top:var(--ic-space-xxs)}.card-title.with-interaction-button{margin-right:var(--ic-space-md)}::slotted(p),::slotted(h1),::slotted(h2),::slotted(h3),::slotted(h4),::slotted(h5),::slotted(h6){line-height:normal}@media (forced-colors: active){.card ::slotted(svg){fill:currentcolor}.card.disabled ::slotted(svg){fill:GrayText !important}.card.disabled{border-color:GrayText !important}.card.disabled .card-message,.card.disabled .card-title,.card.disabled .subheading{color:GrayText;--ic-typography-color:GrayText}}@media (prefers-reduced-motion: reduce){.card,.card.clickable{transition:none}}";
10
+ const IcCardHorizontalStyle0 = icCardHorizontalCss;
11
+
12
+ const CardHorizontal = class {
13
+ constructor(hostRef) {
14
+ index.registerInstance(this, hostRef);
15
+ this.hostMutationObserver = null;
16
+ this.IMAGE_LEFT = "image-left";
17
+ this.IMAGE_RIGHT = "image-right";
18
+ this.INTERACTION_BUTTON = "interaction-button";
19
+ this.appearance = "default";
20
+ this.isFocussed = false;
21
+ this.parentEl = null;
22
+ this.parentIsAnchorTag = false;
23
+ /**
24
+ * If `true`, the horizontal card will be a clickable variant, instead of static.
25
+ */
26
+ this.clickable = false;
27
+ /**
28
+ * The padding of the horizontal card.
29
+ */
30
+ this.density = "default";
31
+ /**
32
+ * If `true`, the horizontal card will be disabled if it is clickable.
33
+ */
34
+ this.disabled = false;
35
+ /**
36
+ * The human language of the linked URL.
37
+ */
38
+ this.hreflang = "";
39
+ /**
40
+ * The main body message of the horizontal card.
41
+ */
42
+ this.message = "";
43
+ /**
44
+ * The size of the horizontal card.
45
+ */
46
+ this.size = "medium";
47
+ /**
48
+ * Sets the theme color to the dark or light theme color. "inherit" will set the color based on the system settings or ic-theme component.
49
+ */
50
+ this.theme = "inherit";
51
+ this.parentFocussed = () => {
52
+ this.isFocussed = true;
53
+ };
54
+ this.parentBlurred = () => {
55
+ this.isFocussed = false;
56
+ };
57
+ }
58
+ watchDisabledHandler() {
59
+ helpers.removeDisabledFalse(this.disabled, this.el);
60
+ }
61
+ disconnectedCallback() {
62
+ var _a;
63
+ if (this.parentEl && this.parentIsAnchorTag) {
64
+ this.parentEl.removeEventListener("focus", this.parentFocussed);
65
+ this.parentEl.removeEventListener("blur", this.parentBlurred);
66
+ }
67
+ (_a = this.hostMutationObserver) === null || _a === void 0 ? void 0 : _a.disconnect();
68
+ }
69
+ componentWillLoad() {
70
+ var _a;
71
+ this.parentEl = this.el.parentElement;
72
+ if (((_a = this.parentEl) === null || _a === void 0 ? void 0 : _a.tagName) === "A") {
73
+ this.clickable = true;
74
+ this.parentIsAnchorTag = true;
75
+ this.parentEl.classList.add("ic-card-wrapper-link");
76
+ this.parentEl.addEventListener("focus", this.parentFocussed);
77
+ this.parentEl.addEventListener("blur", this.parentBlurred);
78
+ }
79
+ helpers.removeDisabledFalse(this.disabled, this.el);
80
+ }
81
+ componentDidLoad() {
82
+ !helpers.isSlotUsed(this.el, "heading") &&
83
+ helpers.onComponentRequiredPropUndefined([{ prop: this.heading, propName: "heading" }], "Card");
84
+ this.updateTheme();
85
+ this.hostMutationObserver = new MutationObserver((mutationList) => helpers.renderDynamicChildSlots(mutationList, [
86
+ "message",
87
+ "adornment",
88
+ this.IMAGE_LEFT,
89
+ this.IMAGE_RIGHT,
90
+ "icon",
91
+ this.INTERACTION_BUTTON,
92
+ "badge",
93
+ ], this));
94
+ this.hostMutationObserver.observe(this.el, {
95
+ childList: true,
96
+ });
97
+ }
98
+ handleHostClick(event) {
99
+ if (this.disabled) {
100
+ event.stopImmediatePropagation();
101
+ }
102
+ }
103
+ brandChangeHandler(ev) {
104
+ this.updateTheme(ev.detail.mode);
105
+ }
106
+ /**
107
+ * Sets focus on the card.
108
+ */
109
+ async setFocus() {
110
+ var _a, _b;
111
+ const linkElement = (_a = this.el.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector("a");
112
+ const buttonElement = (_b = this.el.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector("button");
113
+ if (linkElement) {
114
+ linkElement.focus();
115
+ }
116
+ else if (buttonElement) {
117
+ buttonElement.focus();
118
+ }
119
+ }
120
+ updateTheme(mode) {
121
+ const foregroundColor = helpers.getBrandFromContext(this.el, mode);
122
+ if (foregroundColor !== helpers.IcBrandForegroundEnum.Default) {
123
+ this.theme =
124
+ foregroundColor === helpers.IcBrandForegroundEnum.Light
125
+ ? helpers.IcBrandForegroundEnum.Dark
126
+ : helpers.IcBrandForegroundEnum.Light;
127
+ }
128
+ }
129
+ render() {
130
+ const { appearance, clickable, density, disabled, heading, message, href, hreflang, referrerpolicy, rel, target, parentIsAnchorTag, isFocussed, size, subheading, theme, } = this;
131
+ const Component = parentIsAnchorTag || !clickable
132
+ ? "div"
133
+ : href === undefined
134
+ ? "button"
135
+ : "a";
136
+ const attrs = Component == "a" && {
137
+ href: href,
138
+ hrefLang: hreflang,
139
+ referrerPolicy: referrerpolicy,
140
+ rel: rel,
141
+ target: target,
142
+ };
143
+ const hasLeftImage = helpers.isSlotUsed(this.el, this.IMAGE_LEFT);
144
+ const hasRightImage = helpers.isSlotUsed(this.el, this.IMAGE_RIGHT);
145
+ return (index.h(index.Host, { key: 'e94948456777f8a03f776cbc7bf10d0f31e407b5', class: { [`ic-theme-${theme}`]: theme !== "inherit" } }, index.h(Component, Object.assign({ key: 'c4cd208f2a916362cbc76ae53a2b89d6289d73d4', class: {
146
+ card: true,
147
+ clickable: clickable && !disabled,
148
+ disabled,
149
+ focussed: isFocussed,
150
+ dark: appearance === helpers.IcBrandForegroundEnum.Dark,
151
+ [`${size}`]: true,
152
+ "with-icon": helpers.isSlotUsed(this.el, "icon"),
153
+ "with-image": hasLeftImage || hasRightImage,
154
+ spacious: density === "spacious",
155
+ }, tabindex: clickable && !parentIsAnchorTag ? 0 : undefined, "aria-disabled": disabled ? "true" : undefined, disabled: disabled ? true : undefined }, attrs), hasLeftImage && (index.h("div", { key: '7fca22940ce374fd2526cf87c2406307af60d2a8', class: "image" }, index.h("slot", { key: 'd2d8f0bbff64728214f3d9b34d9cd12787117b1e', name: "image-left" }))), index.h("div", { key: 'fd8c49666e85b378689115f192d1fd1b1c208660', class: {
156
+ "card-content": true,
157
+ "left-image": hasLeftImage,
158
+ "right-image": hasRightImage,
159
+ } }, index.h("div", { key: 'd957ecf099197dce4cf1c7a1d0b49b8b18c43381', class: "card-header" }, helpers.isSlotUsed(this.el, "icon") && (index.h("div", { key: '9a1e9b16b3c05e3f7debe096f7d361f74c9f3773', class: "icon" }, index.h("slot", { key: 'f4f748f6c16e64c9f7dc6a9f12a3cdf6a13df5f3', name: "icon" }))), index.h("div", { key: 'd51c77d55483b238520213b215c0f148f358a3fe', class: {
160
+ "card-title": true,
161
+ "with-interaction-button": helpers.isSlotUsed(this.el, this.INTERACTION_BUTTON),
162
+ } }, index.h("slot", { key: '92286e31f16026ab813a693c8129c2375bcd0a6e', name: "heading" }, index.h("ic-typography", { key: '9ccea0ecffa2491d7f06a6508f6ce5f1c875388e', variant: "h4" }, index.h("p", { key: 'ab04f830aead42a625f4941f6a5f80ae5b6b51e4' }, heading)))), helpers.isSlotUsed(this.el, this.INTERACTION_BUTTON) && (index.h("div", { key: '28e9e15caf4e9da2e09e4d306b24ab578341cc4e', class: "interaction-button" }, index.h("slot", { key: 'f6bf46a34bf59e78515e7873ec7941e24a37194d', name: "interaction-button" })))), density === "spacious" &&
163
+ (subheading || helpers.isSlotUsed(this.el, "subheading")) && (index.h("div", { key: '320f6a9482bb438227df3a72300d346a1c9aff5d', class: "subheading" }, index.h("slot", { key: 'b84748dfe900f2ddd7abb4db04b36977c6611ce1', name: "subheading" }, index.h("ic-typography", { key: '6e880f31a9043fd346e494a2863a2a9f60ae0701', variant: "subtitle-small" }, subheading)))), density === "spacious" && helpers.isSlotUsed(this.el, "adornment") && (index.h("div", { key: 'f51f5bfec9ba2435cb1f9118ffc8b4eb2d2ce832', class: "adornment" }, index.h("slot", { key: 'c3fca6a207920e257e739cff8fced1df201b86ee', name: "adornment" }))), (message || helpers.isSlotUsed(this.el, "message")) && (index.h("div", { key: '55ba08a6ce0a802eac833d571f1eda05d85b3582', class: "card-message" }, message && (index.h("ic-typography", { key: '937da914727038fbc4ddf393beee5cd4a705f93a', variant: "body" }, message)), helpers.isSlotUsed(this.el, "message") && index.h("slot", { key: 'f544acd3bc7e80048d12738eae33affc088395b6', name: "message" })))), helpers.isSlotUsed(this.el, "badge") && index.h("slot", { key: '51d1a77e01fd8feb72822bdc9666a6a9990bc9fe', name: "badge" }), hasRightImage && (index.h("div", { key: '67d2d67a22ad2a7a67ec2080d87187cc9f149f1a', class: "image" }, index.h("slot", { key: 'd52fbbdf07e3ae17e5396b58b39c09d8c5072e65', name: "image-right" }))))));
164
+ }
165
+ get el() { return index.getElement(this); }
166
+ static get watchers() { return {
167
+ "disabled": ["watchDisabledHandler"]
168
+ }; }
169
+ };
170
+ CardHorizontal.style = IcCardHorizontalStyle0;
171
+
172
+ exports.ic_card_horizontal = CardHorizontal;
173
+
174
+ //# sourceMappingURL=ic-card-horizontal.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"ic-card-horizontal.entry.cjs.js","mappings":"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","names":["removeDisabledFalse","isSlotUsed","onComponentRequiredPropUndefined","renderDynamicChildSlots","getBrandFromContext","IcBrandForegroundEnum","h","Host"],"sources":["src/components/ic-card-horizontal/ic-card-horizontal.css?tag=ic-card-horizontal&encapsulation=shadow","src/components/ic-card-horizontal/ic-card-horizontal.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --card-horizontal-width: Width of the horizontal card\n */\n\n:host {\n display: flex;\n\n --card-max-width: 550px;\n --image-size: 132px;\n --message-max-lines: 2;\n}\n\n.card.small {\n --card-max-width: 360px;\n --image-size: calc(var(--ic-space-sm) * 10);\n}\n\n.card.small.spacious {\n --image-size: 100px;\n}\n\n.card.large {\n --card-max-width: 1130px;\n --image-size: 164px;\n --message-max-lines: 3;\n}\n\n.card.large .card-message {\n margin-top: var(--ic-space-md);\n}\n\na {\n text-decoration: none !important;\n color: var(--ic-card-text-primary) !important;\n}\n\nbutton {\n border: none;\n background-color: transparent;\n outline: var(--ic-hc-focus-outline);\n padding: 0;\n}\n\n.card,\n.card.clickable {\n display: flex;\n flex-direction: row;\n border: var(--ic-space-1px) solid var(--ic-card-border-primary);\n border-radius: var(--ic-border-radius);\n box-sizing: border-box;\n text-align: left;\n color: var(--ic-card-text-primary);\n transition: var(--ic-easing-transition-fast);\n position: relative;\n max-width: var(--card-max-width);\n height: fit-content;\n width: var(--card-horizontal-width, fit-content);\n}\n\n.dark.card,\n.dark.card.clickable {\n border: var(--ic-border-width) solid\n var(--ic-color-border-neutral-pressed-dark);\n}\n\n.card.clickable:hover {\n background-color: var(--ic-card-background-hover);\n border: var(--ic-space-1px) solid var(--ic-card-hover-border-color);\n cursor: pointer;\n}\n\n.card.clickable:focus,\n.card.clickable.focussed {\n background-color: var(--ic-card-background-hover);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n border: var(--ic-space-1px) solid var(--ic-card-pressed-border-color);\n}\n\n.card.clickable:active {\n background-color: var(--ic-card-background-pressed);\n box-shadow: var(--ic-border-focus);\n}\n\n.card.disabled {\n border: var(--ic-space-1px) dashed var(--ic-card-disabled-border-color);\n}\n\n.card-header {\n display: flex;\n align-items: center;\n}\n\n.icon {\n display: flex;\n align-items: center;\n padding-right: var(--ic-space-xs);\n}\n\n.card ::slotted(svg) {\n fill: var(--ic-card-icon);\n}\n\n.card.disabled ::slotted(svg) {\n fill: var(--ic-card-icon-disabled);\n}\n\n.card.clickable .card-title {\n --ic-typography-color: var(--ic-card-clickable-text);\n\n color: var(--ic-card-clickable-text);\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n}\n\n.card.clickable:hover .card-title,\n.card.clickable:focus .card-title,\n.card.clickable.focussed .card-title {\n display: inline-block;\n border-bottom: 0.25rem solid !important;\n margin-bottom: -0.25rem !important;\n text-decoration: none;\n}\n\n.card.clickable:active .card-title {\n text-decoration: none;\n}\n\n.card.disabled .card-title {\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n text-decoration-color: var(--ic-card-disabled-text);\n color: var(--ic-card-disabled-text);\n\n --ic-typography-color: var(--ic-card-disabled-text);\n}\n\n.card-message {\n margin-top: var(--ic-space-xs);\n align-items: left;\n}\n\n.card.disabled .card-message,\n.card.disabled .subheading {\n --ic-typography-color: var(--ic-card-disabled-text);\n}\n\n.image {\n display: flex;\n}\n\n.image ::slotted([slot=\"image-left\"]),\n.image ::slotted([slot=\"image-right\"]) {\n height: var(--image-size);\n width: var(--image-size);\n}\n\n.image ::slotted([slot=\"image-left\"]) {\n border-radius: var(--ic-space-1px) 0 0 var(--ic-space-1px);\n}\n\n.image ::slotted([slot=\"image-right\"]) {\n border-radius: 0 var(--ic-space-1px) var(--ic-space-1px) 0;\n}\n\n.card-content {\n display: flex;\n flex-direction: column;\n padding: var(--ic-space-md);\n}\n\n.card .card-title ::slotted([slot=\"heading\"]),\n.card .card-title ic-typography p {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n max-width: calc(var(--card-max-width) - var(--ic-space-xl));\n}\n\n.card.with-icon .card-title ::slotted([slot=\"heading\"]),\n.card.with-icon .card-title ic-typography p {\n max-width: calc(var(--card-max-width) - (2 * var(--ic-space-xl)));\n}\n\n.card.with-image .card-title ::slotted([slot=\"heading\"]),\n.card.with-image .card-title ic-typography p {\n max-width: calc(\n var(--card-max-width) - var(--image-size) - var(--ic-space-xl)\n );\n}\n\n.card.with-image.with-icon .card-title ::slotted([slot=\"heading\"]),\n.card.with-image.with-icon .card-title ic-typography p {\n max-width: calc(\n var(--card-max-width) - var(--image-size) - (2 * var(--ic-space-xl))\n );\n}\n\n.card .card-message ::slotted([slot=\"message\"]),\n.card .card-message ic-typography {\n display: -webkit-box;\n -webkit-box-orient: vertical;\n line-clamp: var(--message-max-lines, initial);\n -webkit-line-clamp: var(--message-max-lines, initial);\n overflow: hidden;\n}\n\n.card.spacious {\n padding: var(--ic-space-md);\n}\n\n.card.spacious .card-content {\n padding: 0;\n}\n\n.card.spacious .card-content.left-image {\n padding: 0 0 0 var(--ic-space-md);\n}\n\n.card.spacious .card-content.right-image {\n padding: 0 var(--ic-space-md) 0 0;\n}\n\n.card.spacious .image ::slotted([slot=\"image-left\"]),\n.card.spacious .image ::slotted([slot=\"image-right\"]) {\n border-radius: var(--ic-border-radius);\n}\n\n.interaction-button {\n margin-left: auto;\n}\n\n.adornment {\n margin-top: var(--ic-space-xxs);\n}\n\n.subheading {\n margin-top: var(--ic-space-xxs);\n}\n\n.card-title.with-interaction-button {\n margin-right: var(--ic-space-md);\n}\n\n::slotted(p),\n::slotted(h1),\n::slotted(h2),\n::slotted(h3),\n::slotted(h4),\n::slotted(h5),\n::slotted(h6) {\n line-height: normal;\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n .card ::slotted(svg) {\n fill: currentcolor;\n }\n\n .card.disabled ::slotted(svg) {\n fill: GrayText !important;\n }\n\n .card.disabled {\n border-color: GrayText !important;\n }\n\n .card.disabled .card-message,\n .card.disabled .card-title,\n .card.disabled .subheading {\n color: GrayText;\n\n --ic-typography-color: GrayText;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .card,\n .card.clickable {\n transition: none;\n }\n}\n","import {\n Component,\n Element,\n h,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n} from \"@stencil/core\";\nimport {\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcCardDensity,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport {\n getBrandFromContext,\n isSlotUsed,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n renderDynamicChildSlots,\n} from \"../../utils/helpers\";\n\n/**\n * @slot heading - Content will be placed at the top of the horizontal card to the right of the icon.\n * @slot message - Content will be placed in the main body of the horizontal card.\n * @slot subheading - Content will be placed below the card heading. Only for `density=\"spacious\"`.\n * @slot adornment - Content will be placed below the card subheading. Only for `density=\"spacious\"`.\n * @slot image-left - Content will be placed to the left of all other content.\n * @slot image-right - Content will be placed to the right of all other content.\n * @slot icon - Content will be placed to the left of the horizontal card heading.\n * @slot interaction-button - Content will be placed in the top right corner of the heading section.\n * @slot badge - Badge component overlaying the top right of the horizontal card.\n */\n@Component({\n tag: \"ic-card-horizontal\",\n styleUrl: \"ic-card-horizontal.css\",\n shadow: true,\n})\nexport class CardHorizontal {\n private hostMutationObserver: MutationObserver | null = null;\n private IMAGE_LEFT = \"image-left\";\n private IMAGE_RIGHT = \"image-right\";\n private INTERACTION_BUTTON = \"interaction-button\";\n\n @Element() el: HTMLIcCardHorizontalElement;\n\n @State() appearance?: IcBrandForeground = \"default\";\n @State() isFocussed: boolean = false;\n @State() parentEl: HTMLElement | null = null;\n @State() parentIsAnchorTag: boolean = false;\n\n /**\n * If `true`, the horizontal card will be a clickable variant, instead of static.\n */\n @Prop({ mutable: true }) clickable: boolean = false;\n\n /**\n * The padding of the horizontal card.\n */\n @Prop() density: IcCardDensity = \"default\";\n\n /**\n * If `true`, the horizontal card will be disabled if it is clickable.\n */\n @Prop() disabled: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The heading for the horizontal card. This is required, unless a slotted heading is used.\n */\n @Prop() heading?: string;\n\n /**\n * The URL that the clickable horizontal card link points to. If set, the clickable horizontal card will render as an \"a\" tag, otherwise it will render as a button.\n */\n @Prop() href?: string | undefined;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string = \"\";\n\n /**\n * The main body message of the horizontal card.\n */\n @Prop() message?: string = \"\";\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The size of the horizontal card.\n */\n @Prop() size: IcSizes = \"medium\";\n\n /**\n * The subheading for the card.\n */\n @Prop() subheading?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n disconnectedCallback(): void {\n if (this.parentEl && this.parentIsAnchorTag) {\n this.parentEl.removeEventListener(\"focus\", this.parentFocussed);\n this.parentEl.removeEventListener(\"blur\", this.parentBlurred);\n }\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.parentEl = this.el.parentElement;\n\n if (this.parentEl?.tagName === \"A\") {\n this.clickable = true;\n this.parentIsAnchorTag = true;\n this.parentEl.classList.add(\"ic-card-wrapper-link\");\n this.parentEl.addEventListener(\"focus\", this.parentFocussed);\n this.parentEl.addEventListener(\"blur\", this.parentBlurred);\n }\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Card\"\n );\n this.updateTheme();\n\n this.hostMutationObserver = new MutationObserver((mutationList) =>\n renderDynamicChildSlots(\n mutationList,\n [\n \"message\",\n \"adornment\",\n this.IMAGE_LEFT,\n this.IMAGE_RIGHT,\n \"icon\",\n this.INTERACTION_BUTTON,\n \"badge\",\n ],\n this\n )\n );\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled) {\n event.stopImmediatePropagation();\n }\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.updateTheme(ev.detail.mode);\n }\n\n /**\n * Sets focus on the card.\n */\n @Method()\n async setFocus(): Promise<void> {\n const linkElement = this.el.shadowRoot?.querySelector(\"a\");\n const buttonElement = this.el.shadowRoot?.querySelector(\"button\");\n if (linkElement) {\n linkElement.focus();\n } else if (buttonElement) {\n buttonElement.focus();\n }\n }\n\n private parentFocussed = (): void => {\n this.isFocussed = true;\n };\n\n private parentBlurred = (): void => {\n this.isFocussed = false;\n };\n\n private updateTheme(mode?: IcBrandForeground): void {\n const foregroundColor = getBrandFromContext(this.el, mode);\n\n if (foregroundColor !== IcBrandForegroundEnum.Default) {\n this.theme =\n foregroundColor === IcBrandForegroundEnum.Light\n ? IcBrandForegroundEnum.Dark\n : IcBrandForegroundEnum.Light;\n }\n }\n\n render() {\n const {\n appearance,\n clickable,\n density,\n disabled,\n heading,\n message,\n href,\n hreflang,\n referrerpolicy,\n rel,\n target,\n parentIsAnchorTag,\n isFocussed,\n size,\n subheading,\n theme,\n } = this;\n\n const Component =\n parentIsAnchorTag || !clickable\n ? \"div\"\n : href === undefined\n ? \"button\"\n : \"a\";\n\n const attrs = Component == \"a\" && {\n href: href,\n hrefLang: hreflang,\n referrerPolicy: referrerpolicy,\n rel: rel,\n target: target,\n };\n\n const hasLeftImage = isSlotUsed(this.el, this.IMAGE_LEFT);\n const hasRightImage = isSlotUsed(this.el, this.IMAGE_RIGHT);\n\n return (\n <Host class={{ [`ic-theme-${theme}`]: theme !== \"inherit\" }}>\n <Component\n class={{\n card: true,\n clickable: clickable && !disabled,\n disabled,\n focussed: isFocussed,\n dark: appearance === IcBrandForegroundEnum.Dark,\n [`${size}`]: true,\n \"with-icon\": isSlotUsed(this.el, \"icon\"),\n \"with-image\": hasLeftImage || hasRightImage,\n spacious: density === \"spacious\",\n }}\n tabindex={clickable && !parentIsAnchorTag ? 0 : undefined}\n aria-disabled={disabled ? \"true\" : undefined}\n disabled={disabled ? true : undefined}\n {...attrs}\n >\n {hasLeftImage && (\n <div class=\"image\">\n <slot name=\"image-left\"></slot>\n </div>\n )}\n <div\n class={{\n \"card-content\": true,\n \"left-image\": hasLeftImage,\n \"right-image\": hasRightImage,\n }}\n >\n <div class=\"card-header\">\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon\">\n <slot name=\"icon\" />\n </div>\n )}\n <div\n class={{\n \"card-title\": true,\n \"with-interaction-button\": isSlotUsed(\n this.el,\n this.INTERACTION_BUTTON\n ),\n }}\n >\n <slot name=\"heading\">\n <ic-typography variant=\"h4\">\n <p>{heading}</p>\n </ic-typography>\n </slot>\n </div>\n {isSlotUsed(this.el, this.INTERACTION_BUTTON) && (\n <div class=\"interaction-button\">\n <slot name=\"interaction-button\"></slot>\n </div>\n )}\n </div>\n {density === \"spacious\" &&\n (subheading || isSlotUsed(this.el, \"subheading\")) && (\n <div class=\"subheading\">\n <slot name=\"subheading\">\n <ic-typography variant=\"subtitle-small\">\n {subheading}\n </ic-typography>\n </slot>\n </div>\n )}\n {density === \"spacious\" && isSlotUsed(this.el, \"adornment\") && (\n <div class=\"adornment\">\n <slot name=\"adornment\"></slot>\n </div>\n )}\n {(message || isSlotUsed(this.el, \"message\")) && (\n <div class=\"card-message\">\n {message && (\n <ic-typography variant=\"body\">{message}</ic-typography>\n )}\n {isSlotUsed(this.el, \"message\") && <slot name=\"message\"></slot>}\n </div>\n )}\n </div>\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n {hasRightImage && (\n <div class=\"image\">\n <slot name=\"image-right\"></slot>\n </div>\n )}\n </Component>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -7,7 +7,7 @@ const helpers = require('./helpers-3a796e7a.js');
7
7
  const chevronIcon = require('./chevron-icon-3bf07531.js');
8
8
  require('./constants-4d389abc.js');
9
9
 
10
- const icCardVerticalCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n display: flex;\n}\n\na {\n text-decoration: none !important;\n color: var(--ic-card-text-primary) !important;\n}\n\na:visited {\n color: var(--ic-card-link-action-dark) !important;\n}\n\nbutton {\n border: none;\n background-color: transparent;\n outline: var(--ic-hc-focus-outline);\n}\n\n.card {\n display: flex;\n flex-direction: column;\n border: var(--ic-space-1px) solid var(--ic-card-border-primary);\n border-radius: var(--ic-border-radius);\n box-sizing: border-box;\n padding: var(--ic-space-md);\n text-align: left;\n color: var(--ic-card-text-primary);\n transition: var(--ic-easing-transition-fast);\n position: relative;\n width: inherit;\n min-width: -moz-fit-content;\n min-width: fit-content;\n height: -moz-fit-content;\n height: fit-content;\n min-height: 100%;\n\n ::slotted(svg) {\n fill: var(--ic-card-icon);\n }\n\n &.monochrome {\n border: var(--ic-border-width) solid var(--ic-card-border-monochrome);\n }\n\n &.fullwidth {\n width: 100%;\n }\n\n &.clickable {\n &:hover {\n background-color: var(--ic-card-background-hover);\n border: var(--ic-space-1px) solid var(--ic-card-hover-border-color);\n cursor: pointer;\n }\n\n &.focussed,\n &:focus {\n background-color: var(--ic-card-background-hover);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n border: var(--ic-space-1px) solid var(--ic-card-pressed-border-color);\n }\n\n &:active {\n background-color: var(--ic-card-background-pressed);\n box-shadow: var(--ic-border-focus);\n\n .card-title {\n text-decoration: none;\n }\n }\n\n .card-title {\n --ic-typography-color: var(--ic-card-clickable-text);\n\n color: var(--ic-card-clickable-text);\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n margin-bottom: var(--ic-space-xxs);\n }\n\n .interaction-button,\n .icon {\n margin-bottom: var(--ic-space-xxs);\n }\n }\n\n &.disabled {\n border: var(--ic-space-1px) dashed var(--ic-card-disabled-border-color);\n\n .card-message,\n .subheading,\n .card-title {\n --ic-typography-color: var(--ic-card-disabled-text);\n }\n\n .card-title {\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n text-decoration-color: var(--ic-card-disabled-text);\n color: var(--ic-card-disabled-text);\n }\n\n ::slotted(svg) {\n fill: var(--ic-card-icon-disabled);\n }\n }\n}\n\n.card-header {\n display: flex;\n align-items: center;\n}\n\n.icon {\n display: flex;\n align-items: center;\n padding-right: var(--ic-space-xs);\n}\n\n.card.clickable:hover .card-title,\n.card.clickable:focus .card-title,\n.card.clickable.focussed .card-title {\n display: inline-block;\n border-bottom: 0.25rem solid !important;\n margin-bottom: 0 !important;\n text-decoration: none;\n}\n\n@supports (text-underline-offset: 25%) {\n .card.clickable:hover .card-title,\n .card.clickable:focus .card-title,\n .card.clickable.focussed .card-title {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0.25rem !important;\n }\n}\n\n.subheading {\n margin-top: var(--ic-space-xxs);\n}\n\n.adornment {\n margin-top: var(--ic-space-xxs);\n}\n\n.card-message {\n margin-top: var(--ic-space-md);\n align-items: left;\n}\n\n.interaction-button {\n margin-left: auto;\n}\n\n.image-top {\n margin-bottom: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.image-mid {\n margin-top: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.interaction-area {\n display: flex;\n flex-grow: 1;\n gap: var(--ic-space-md);\n margin-top: var(--ic-space-md);\n align-items: flex-end;\n}\n\n.interaction-controls {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--ic-space-sm);\n}\n\n.toggle-button {\n width: 2.5rem;\n height: 2.5rem;\n padding: var(--ic-space-xs);\n margin: var(--ic-space-1px) 0;\n min-width: 0;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n border-radius: var(--ic-border-radius);\n display: inline-flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n background: none;\n border: none;\n box-sizing: border-box;\n white-space: nowrap;\n vertical-align: middle;\n\n &:hover {\n background-color: var(--ic-card-background-hover);\n }\n\n &:focus {\n box-shadow: var(--ic-border-focus);\n }\n\n &:active:not(:focus) {\n background-color: var(--ic-card-background-pressed);\n }\n\n svg {\n pointer-events: none;\n width: 100% !important;\n height: 100% !important;\n fill: currentcolor !important;\n }\n}\n\n#ic-tooltip-expand-button {\n margin-left: auto;\n position: relative;\n}\n\n.toggle-button-closed svg {\n transform: rotate(90deg);\n}\n\n.toggle-button-expanded svg {\n transform: rotate(-90deg);\n}\n\n.expanded-content {\n margin-top: var(--ic-space-md);\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n .card {\n ::slotted(svg) {\n fill: currentcolor;\n }\n\n &.disabled {\n border-color: GrayText !important;\n\n ::slotted(svg) {\n fill: GrayText !important;\n }\n\n .card-message,\n .subheading,\n .card-title {\n color: GrayText;\n\n --ic-typography-color: GrayText;\n }\n }\n }\n\n .toggle-button:focus,\n .toggle-button:hover {\n outline-color: Highlight;\n }\n}\n";
10
+ const icCardVerticalCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n\n/* Document\n ========================================================================== */\n\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\n\nhtml {\n line-height: 1.15; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n\n/**\n * Remove the margin in all browsers.\n */\n\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\n\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\n\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\n\nhr {\n box-sizing: content-box; /* 1 */\n height: 0; /* 1 */\n overflow: visible; /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\npre {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n\n/**\n * Remove the gray background on active links in IE 10.\n */\n\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\n\nabbr[title] {\n border-bottom: none; /* 1 */\n text-decoration: underline; /* 2 */\n -webkit-text-decoration: underline dotted;\n text-decoration: underline dotted; /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\n\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace; /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\n\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n\n/**\n * Remove the border on images inside links in IE 10.\n */\n\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-size: 100%; /* 1 */\n line-height: 1.15; /* 1 */\n margin: 0; /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\n\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\n\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\n\nbutton,\n[type=\"button\"],\n[type=\"reset\"],\n[type=\"submit\"] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\n\nbutton::-moz-focus-inner,\n[type=\"button\"]::-moz-focus-inner,\n[type=\"reset\"]::-moz-focus-inner,\n[type=\"submit\"]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\n\nbutton:-moz-focusring,\n[type=\"button\"]:-moz-focusring,\n[type=\"reset\"]:-moz-focusring,\n[type=\"submit\"]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\n\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\n\nlegend {\n box-sizing: border-box; /* 1 */\n color: inherit; /* 2 */\n display: table; /* 1 */\n max-width: 100%; /* 1 */\n padding: 0; /* 3 */\n white-space: normal; /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\n\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\n\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n\n[type=\"checkbox\"],\n[type=\"radio\"] {\n box-sizing: border-box; /* 1 */\n padding: 0; /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n\n[type=\"number\"]::-webkit-inner-spin-button,\n[type=\"number\"]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n\n[type=\"search\"] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n\n[type=\"search\"]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\n\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\n\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n\n/**\n * Add the correct display in IE 10+.\n */\n\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n\n[hidden] {\n display: none;\n}\n\nhtml,\nbody,\ndiv,\nspan,\napplet,\nobject,\niframe,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\np,\nblockquote,\npre,\na,\nabbr,\nacronym,\naddress,\nbig,\ncite,\ncode,\ndel,\ndfn,\nem,\nimg,\nins,\nkbd,\nq,\ns,\nsamp,\nsmall,\nstrike,\nstrong,\nsub,\nsup,\ntt,\nvar,\nb,\nu,\ni,\ncenter,\ndl,\ndt,\ndd,\nol,\nul,\nli,\nfieldset,\nform,\nlabel,\nlegend,\ntable,\ncaption,\ntbody,\ntfoot,\nthead,\ntr,\nth,\ntd,\narticle,\naside,\ncanvas,\ndetails,\nembed,\nfigure,\nfigcaption,\nfooter,\nheader,\nhgroup,\nmenu,\nnav,\noutput,\nruby,\nsection,\nsummary,\ntime,\nmark,\naudio,\nvideo {\n margin: 0;\n padding: 0;\n border: 0;\n font-size: 100%;\n font-style: inherit;\n vertical-align: baseline;\n}\n\n\n:host {\n display: flex;\n}\n\na {\n text-decoration: none !important;\n color: var(--ic-card-text-primary) !important;\n}\n\na:visited {\n color: var(--ic-card-link-action-dark) !important;\n}\n\nbutton {\n border: none;\n background-color: transparent;\n outline: var(--ic-hc-focus-outline);\n}\n\n.card {\n display: flex;\n flex-direction: column;\n border: var(--ic-space-1px) solid var(--ic-card-border-primary);\n border-radius: var(--ic-border-radius);\n box-sizing: border-box;\n padding: var(--ic-space-md);\n text-align: left;\n color: var(--ic-card-text-primary);\n transition: var(--ic-easing-transition-fast);\n position: relative;\n width: inherit;\n min-width: -moz-fit-content;\n min-width: fit-content;\n height: -moz-fit-content;\n height: fit-content;\n min-height: 100%;\n\n ::slotted(svg) {\n fill: var(--ic-card-icon);\n }\n\n &.monochrome {\n border: var(--ic-border-width) solid var(--ic-card-border-monochrome);\n }\n\n &.fullwidth {\n width: 100%;\n }\n\n &.clickable {\n &:hover {\n background-color: var(--ic-card-background-hover);\n border: var(--ic-space-1px) solid var(--ic-card-hover-border-color);\n cursor: pointer;\n }\n\n &.focussed,\n &:focus {\n background-color: var(--ic-card-background-hover);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n border: var(--ic-space-1px) solid var(--ic-card-pressed-border-color);\n }\n\n &:active {\n background-color: var(--ic-card-background-pressed);\n box-shadow: var(--ic-border-focus);\n\n .card-title {\n text-decoration: none;\n }\n }\n\n .card-title {\n --ic-typography-color: var(--ic-card-clickable-text);\n\n color: var(--ic-card-clickable-text);\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n margin-bottom: var(--ic-space-xxs);\n }\n\n .interaction-button,\n .icon {\n margin-bottom: var(--ic-space-xxs);\n }\n }\n\n &.disabled {\n border: var(--ic-space-1px) dashed var(--ic-card-disabled-border-color);\n\n .card-message,\n .subheading,\n .card-title {\n --ic-typography-color: var(--ic-card-disabled-text);\n }\n\n .card-title {\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n text-decoration-color: var(--ic-card-disabled-text);\n color: var(--ic-card-disabled-text);\n }\n\n ::slotted(svg) {\n fill: var(--ic-card-icon-disabled);\n }\n }\n}\n\n.card-header {\n display: flex;\n align-items: center;\n}\n\n.icon {\n display: flex;\n align-items: center;\n padding-right: var(--ic-space-xs);\n}\n\n.card.clickable:hover .card-title,\n.card.clickable:focus .card-title,\n.card.clickable.focussed .card-title {\n display: inline-block;\n border-bottom: 0.25rem solid !important;\n margin-bottom: 0 !important;\n text-decoration: none;\n}\n\n@supports (text-underline-offset: 25%) {\n .card.clickable:hover .card-title,\n .card.clickable:focus .card-title,\n .card.clickable.focussed .card-title {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0.25rem !important;\n }\n}\n\n.subheading {\n margin-top: var(--ic-space-xxs);\n}\n\n.adornment {\n margin-top: var(--ic-space-xxs);\n}\n\n.card-message {\n margin-top: var(--ic-space-md);\n align-items: left;\n}\n\n.interaction-button {\n margin-left: auto;\n}\n\n.image-top {\n margin-bottom: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.image-mid {\n margin-top: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.interaction-area {\n display: flex;\n flex-grow: 1;\n gap: var(--ic-space-md);\n margin-top: var(--ic-space-md);\n align-items: flex-end;\n}\n\n.interaction-controls {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--ic-space-sm);\n}\n\n.toggle-button {\n width: 2.5rem;\n height: 2.5rem;\n padding: var(--ic-space-xs);\n margin: var(--ic-space-1px) 0;\n min-width: 0;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n border-radius: var(--ic-border-radius);\n display: inline-flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n background: none;\n border: none;\n box-sizing: border-box;\n white-space: nowrap;\n vertical-align: middle;\n\n &:hover {\n background-color: var(--ic-card-background-hover);\n }\n\n &:focus {\n box-shadow: var(--ic-border-focus);\n }\n\n &:active:not(:focus) {\n background-color: var(--ic-card-background-pressed);\n }\n\n svg {\n pointer-events: none;\n width: 100% !important;\n height: 100% !important;\n fill: currentcolor !important;\n }\n}\n\n#ic-tooltip-expand-button {\n margin-left: auto;\n position: relative;\n}\n\n.toggle-button-closed svg {\n transform: rotate(90deg);\n}\n\n.toggle-button-expanded svg {\n transform: rotate(-90deg);\n}\n\n.expanded-content {\n margin-top: var(--ic-space-md);\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n .card {\n ::slotted(svg) {\n fill: currentcolor;\n }\n\n &.disabled {\n border-color: GrayText !important;\n\n ::slotted(svg) {\n fill: GrayText !important;\n }\n\n .card-message,\n .subheading,\n .card-title {\n color: GrayText;\n\n --ic-typography-color: GrayText;\n }\n }\n }\n\n .toggle-button:focus,\n .toggle-button:hover {\n outline-color: Highlight;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .card,\n .toggle-button {\n transition: none;\n }\n}\n";
11
11
  const IcCardVerticalStyle0 = icCardVerticalCss;
12
12
 
13
13
  const CardVertical = class {
@@ -1 +1 @@
1
- {"file":"ic-card-vertical.entry.cjs.js","mappings":"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","names":["removeDisabledFalse","isSlotUsed","onComponentRequiredPropUndefined","renderDynamicChildSlots","getBrandFromContext","IcBrandForegroundEnum","h","Host","chevronIcon"],"sources":["src/components/ic-card-vertical/ic-card-vertical.css?tag=ic-card-vertical&encapsulation=shadow","src/components/ic-card-vertical/ic-card-vertical.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: flex;\n}\n\na {\n text-decoration: none !important;\n color: var(--ic-card-text-primary) !important;\n}\n\na:visited {\n color: var(--ic-card-link-action-dark) !important;\n}\n\nbutton {\n border: none;\n background-color: transparent;\n outline: var(--ic-hc-focus-outline);\n}\n\n.card {\n display: flex;\n flex-direction: column;\n border: var(--ic-space-1px) solid var(--ic-card-border-primary);\n border-radius: var(--ic-border-radius);\n box-sizing: border-box;\n padding: var(--ic-space-md);\n text-align: left;\n color: var(--ic-card-text-primary);\n transition: var(--ic-easing-transition-fast);\n position: relative;\n width: inherit;\n min-width: fit-content;\n height: fit-content;\n min-height: 100%;\n\n ::slotted(svg) {\n fill: var(--ic-card-icon);\n }\n\n &.monochrome {\n border: var(--ic-border-width) solid var(--ic-card-border-monochrome);\n }\n\n &.fullwidth {\n width: 100%;\n }\n\n &.clickable {\n &:hover {\n background-color: var(--ic-card-background-hover);\n border: var(--ic-space-1px) solid var(--ic-card-hover-border-color);\n cursor: pointer;\n }\n\n &.focussed,\n &:focus {\n background-color: var(--ic-card-background-hover);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n border: var(--ic-space-1px) solid var(--ic-card-pressed-border-color);\n }\n\n &:active {\n background-color: var(--ic-card-background-pressed);\n box-shadow: var(--ic-border-focus);\n\n .card-title {\n text-decoration: none;\n }\n }\n\n .card-title {\n --ic-typography-color: var(--ic-card-clickable-text);\n\n color: var(--ic-card-clickable-text);\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n margin-bottom: var(--ic-space-xxs);\n }\n\n .interaction-button,\n .icon {\n margin-bottom: var(--ic-space-xxs);\n }\n }\n\n &.disabled {\n border: var(--ic-space-1px) dashed var(--ic-card-disabled-border-color);\n\n .card-message,\n .subheading,\n .card-title {\n --ic-typography-color: var(--ic-card-disabled-text);\n }\n\n .card-title {\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n text-decoration-color: var(--ic-card-disabled-text);\n color: var(--ic-card-disabled-text);\n }\n\n ::slotted(svg) {\n fill: var(--ic-card-icon-disabled);\n }\n }\n}\n\n.card-header {\n display: flex;\n align-items: center;\n}\n\n.icon {\n display: flex;\n align-items: center;\n padding-right: var(--ic-space-xs);\n}\n\n.card.clickable:hover .card-title,\n.card.clickable:focus .card-title,\n.card.clickable.focussed .card-title {\n display: inline-block;\n border-bottom: 0.25rem solid !important;\n margin-bottom: 0 !important;\n text-decoration: none;\n}\n\n@supports (text-underline-offset: 25%) {\n .card.clickable:hover .card-title,\n .card.clickable:focus .card-title,\n .card.clickable.focussed .card-title {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0.25rem !important;\n }\n}\n\n.subheading {\n margin-top: var(--ic-space-xxs);\n}\n\n.adornment {\n margin-top: var(--ic-space-xxs);\n}\n\n.card-message {\n margin-top: var(--ic-space-md);\n align-items: left;\n}\n\n.interaction-button {\n margin-left: auto;\n}\n\n.image-top {\n margin-bottom: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.image-mid {\n margin-top: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.interaction-area {\n display: flex;\n flex-grow: 1;\n gap: var(--ic-space-md);\n margin-top: var(--ic-space-md);\n align-items: flex-end;\n}\n\n.interaction-controls {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--ic-space-sm);\n}\n\n.toggle-button {\n width: 2.5rem;\n height: 2.5rem;\n padding: var(--ic-space-xs);\n margin: var(--ic-space-1px) 0;\n min-width: 0;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n border-radius: var(--ic-border-radius);\n display: inline-flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n background: none;\n border: none;\n box-sizing: border-box;\n white-space: nowrap;\n vertical-align: middle;\n\n &:hover {\n background-color: var(--ic-card-background-hover);\n }\n\n &:focus {\n box-shadow: var(--ic-border-focus);\n }\n\n &:active:not(:focus) {\n background-color: var(--ic-card-background-pressed);\n }\n\n svg {\n pointer-events: none;\n width: 100% !important;\n height: 100% !important;\n fill: currentcolor !important;\n }\n}\n\n#ic-tooltip-expand-button {\n margin-left: auto;\n position: relative;\n}\n\n.toggle-button-closed svg {\n transform: rotate(90deg);\n}\n\n.toggle-button-expanded svg {\n transform: rotate(-90deg);\n}\n\n.expanded-content {\n margin-top: var(--ic-space-md);\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n .card {\n ::slotted(svg) {\n fill: currentcolor;\n }\n\n &.disabled {\n border-color: GrayText !important;\n\n ::slotted(svg) {\n fill: GrayText !important;\n }\n\n .card-message,\n .subheading,\n .card-title {\n color: GrayText;\n\n --ic-typography-color: GrayText;\n }\n }\n }\n\n .toggle-button:focus,\n .toggle-button:hover {\n outline-color: Highlight;\n }\n}\n","import {\n Component,\n Element,\n Listen,\n Prop,\n State,\n h,\n Method,\n Host,\n Watch,\n} from \"@stencil/core\";\nimport {\n onComponentRequiredPropUndefined,\n isSlotUsed,\n getBrandFromContext,\n removeDisabledFalse,\n renderDynamicChildSlots,\n} from \"../../utils/helpers\";\nimport {\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcThemeMode,\n} from \"../../utils/types\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\n\n/**\n * @slot heading - Content will be placed at the top of the card to the right of the icon.\n * @slot message - Content will be placed in the main body of the card.\n * @slot subheading - Content will be placed below the card heading.\n * @slot adornment - Content will be placed below the card subheading.\n * @slot image-top - Content will be placed at the top of the card above all other content.\n * @slot image-mid - Content will be placed below the card heading section.\n * @slot icon - Content will be placed to the left of the card heading.\n * @slot interaction-button - Content will be placed in the top right corner of the heading section.\n * @slot interaction-controls - Content will be placed below the card message.\n * @slot expanded-content - Content will be placed below the interaction controls but will not initially be rendered.\n * @slot badge - Badge component overlaying the top right of the card.\n */\n@Component({\n tag: \"ic-card-vertical\",\n styleUrl: \"ic-card-vertical.css\",\n shadow: true,\n})\nexport class CardVertical {\n private hostMutationObserver: MutationObserver | null = null;\n\n @Element() el: HTMLIcCardVerticalElement;\n\n @State() areaExpanded: boolean = false;\n @State() isFocussed: boolean = false;\n @State() monochrome: boolean = false;\n @State() parentEl: HTMLElement | null = null;\n @State() parentIsAnchorTag: boolean = false;\n\n /**\n * If `true`, the card will be a clickable variant, instead of static.\n */\n @Prop({ mutable: true }) clickable?: boolean = false;\n\n /**\n * If `true`, the card will be disabled if it is clickable.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the card will have an expandable area and expansion toggle button.\n */\n @Prop() expandable?: boolean = false;\n\n /**\n * If `true`, the card will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * The heading for the card. This is required, unless a slotted heading is used.\n */\n @Prop() heading?: string;\n\n /**\n * The URL that the clickable card link points to. If set, the clickable card will render as an \"a\" tag, otherwise it will render as a button.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string = \"\";\n\n /**\n * The main body message of the card.\n */\n @Prop() message?: string = \"\";\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The subheading for the card.\n */\n @Prop() subheading?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop({ mutable: true }) theme?: IcThemeMode = \"inherit\";\n\n disconnectedCallback(): void {\n if (this.parentEl && this.parentIsAnchorTag) {\n this.parentEl.removeEventListener(\"focus\", this.parentFocussed);\n this.parentEl.removeEventListener(\"blur\", this.parentBlurred);\n }\n\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.parentEl = this.el.parentElement;\n\n if (this.parentEl?.tagName === \"A\") {\n this.clickable = true;\n this.parentIsAnchorTag = true;\n this.parentEl.classList.add(\"ic-card-wrapper-link\");\n this.parentEl.addEventListener(\"focus\", this.parentFocussed);\n this.parentEl.addEventListener(\"blur\", this.parentBlurred);\n }\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Card\"\n );\n this.updateTheme();\n\n this.hostMutationObserver = new MutationObserver((mutationList) =>\n renderDynamicChildSlots(\n mutationList,\n [\n \"message\",\n \"adornment\",\n \"expanded-content\",\n \"image-top\",\n \"image-mid\",\n \"icon\",\n \"interaction-button\",\n \"badge\",\n \"interaction-controls\",\n ],\n this\n )\n );\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled) {\n event.stopImmediatePropagation();\n }\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.updateTheme(ev.detail.mode);\n }\n\n /**\n * Sets focus on the card.\n */\n @Method()\n async setFocus(): Promise<void> {\n const shadowRoot = this.el.shadowRoot;\n\n if (shadowRoot) {\n if (shadowRoot.querySelector(\"a\")) {\n shadowRoot.querySelector(\"a\")?.focus();\n } else if (shadowRoot.querySelector(\"button\")) {\n shadowRoot.querySelector(\"button\")?.focus();\n }\n }\n }\n\n private parentFocussed = (): void => {\n this.isFocussed = true;\n };\n\n private parentBlurred = (): void => {\n this.isFocussed = false;\n };\n\n private updateTheme(mode: IcBrandForeground | null = null): void {\n const foregroundColor = getBrandFromContext(this.el, mode);\n\n if (foregroundColor !== IcBrandForegroundEnum.Default) {\n this.monochrome = true;\n this.theme =\n foregroundColor === IcBrandForegroundEnum.Light\n ? IcBrandForegroundEnum.Dark\n : IcBrandForegroundEnum.Light;\n }\n }\n\n private toggleExpanded = (): void => {\n this.areaExpanded = !this.areaExpanded;\n };\n\n render() {\n const {\n clickable,\n disabled,\n expandable,\n fullWidth,\n heading,\n isFocussed,\n message,\n monochrome,\n href,\n hreflang,\n parentIsAnchorTag,\n referrerpolicy,\n rel,\n subheading,\n target,\n theme,\n } = this;\n\n const Component =\n parentIsAnchorTag || !clickable\n ? \"div\"\n : href === undefined\n ? \"button\"\n : \"a\";\n\n const attrs = Component == \"a\" && {\n href: href,\n hrefLang: hreflang,\n referrerPolicy: referrerpolicy,\n rel: rel,\n target: target,\n };\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <Component\n class={{\n card: true,\n clickable: !!clickable && !disabled,\n disabled: !!disabled,\n fullwidth: !!fullWidth,\n focussed: isFocussed,\n monochrome: monochrome,\n }}\n tabindex={clickable && !parentIsAnchorTag ? 0 : undefined}\n aria-disabled={disabled ? \"true\" : null}\n disabled={disabled}\n {...attrs}\n >\n {isSlotUsed(this.el, \"image-top\") && (\n <div class=\"image-top\">\n <slot name=\"image-top\"></slot>\n </div>\n )}\n <div class=\"card-header\">\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon\">\n <slot name=\"icon\" />\n </div>\n )}\n <div class=\"card-title\">\n <slot name=\"heading\">\n <ic-typography variant=\"h4\">\n <p>{heading}</p>\n </ic-typography>\n </slot>\n </div>\n {isSlotUsed(this.el, \"interaction-button\") && (\n <div class=\"interaction-button\">\n <slot name=\"interaction-button\"></slot>\n </div>\n )}\n </div>\n {(subheading || isSlotUsed(this.el, \"subheading\")) && (\n <div class=\"subheading\">\n <slot name=\"subheading\">\n <ic-typography variant=\"subtitle-small\">\n {subheading}\n </ic-typography>\n </slot>\n </div>\n )}\n {isSlotUsed(this.el, \"adornment\") && (\n <div class=\"adornment\">\n <slot name=\"adornment\"></slot>\n </div>\n )}\n {isSlotUsed(this.el, \"image-mid\") && (\n <div class=\"image-mid\">\n <slot name=\"image-mid\"></slot>\n </div>\n )}\n {(message || isSlotUsed(this.el, \"message\")) && (\n <div class=\"card-message\">\n {message && (\n <ic-typography variant=\"body\">{message}</ic-typography>\n )}\n {isSlotUsed(this.el, \"message\") && <slot name=\"message\"></slot>}\n </div>\n )}\n {(isSlotUsed(this.el, \"interaction-controls\") || expandable) && (\n <div class=\"interaction-area\">\n <div class=\"interaction-controls\">\n <slot name=\"interaction-controls\"></slot>\n </div>\n {expandable && (\n <ic-tooltip\n id=\"ic-tooltip-expand-button\"\n label=\"Toggle expandable area\"\n silent\n >\n <button\n class={{\n \"toggle-button\": true,\n [`toggle-button-${\n this.areaExpanded ? \"expanded\" : \"closed\"\n }`]: true,\n }}\n aria-label=\"Toggle expandable area\"\n aria-expanded={`${this.areaExpanded}`}\n aria-controls={\n this.areaExpanded ? \"expanded-content-area\" : null\n }\n onClick={this.toggleExpanded}\n innerHTML={chevronIcon}\n ></button>\n </ic-tooltip>\n )}\n </div>\n )}\n {isSlotUsed(this.el, \"expanded-content\") && this.areaExpanded && (\n <div class=\"expanded-content\" id=\"expanded-content-area\">\n <slot name=\"expanded-content\"></slot>\n </div>\n )}\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n </Component>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-card-vertical.entry.cjs.js","mappings":"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","names":["removeDisabledFalse","isSlotUsed","onComponentRequiredPropUndefined","renderDynamicChildSlots","getBrandFromContext","IcBrandForegroundEnum","h","Host","chevronIcon"],"sources":["src/components/ic-card-vertical/ic-card-vertical.css?tag=ic-card-vertical&encapsulation=shadow","src/components/ic-card-vertical/ic-card-vertical.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: flex;\n}\n\na {\n text-decoration: none !important;\n color: var(--ic-card-text-primary) !important;\n}\n\na:visited {\n color: var(--ic-card-link-action-dark) !important;\n}\n\nbutton {\n border: none;\n background-color: transparent;\n outline: var(--ic-hc-focus-outline);\n}\n\n.card {\n display: flex;\n flex-direction: column;\n border: var(--ic-space-1px) solid var(--ic-card-border-primary);\n border-radius: var(--ic-border-radius);\n box-sizing: border-box;\n padding: var(--ic-space-md);\n text-align: left;\n color: var(--ic-card-text-primary);\n transition: var(--ic-easing-transition-fast);\n position: relative;\n width: inherit;\n min-width: fit-content;\n height: fit-content;\n min-height: 100%;\n\n ::slotted(svg) {\n fill: var(--ic-card-icon);\n }\n\n &.monochrome {\n border: var(--ic-border-width) solid var(--ic-card-border-monochrome);\n }\n\n &.fullwidth {\n width: 100%;\n }\n\n &.clickable {\n &:hover {\n background-color: var(--ic-card-background-hover);\n border: var(--ic-space-1px) solid var(--ic-card-hover-border-color);\n cursor: pointer;\n }\n\n &.focussed,\n &:focus {\n background-color: var(--ic-card-background-hover);\n box-shadow: var(--ic-border-focus);\n outline: var(--ic-hc-focus-outline);\n border: var(--ic-space-1px) solid var(--ic-card-pressed-border-color);\n }\n\n &:active {\n background-color: var(--ic-card-background-pressed);\n box-shadow: var(--ic-border-focus);\n\n .card-title {\n text-decoration: none;\n }\n }\n\n .card-title {\n --ic-typography-color: var(--ic-card-clickable-text);\n\n color: var(--ic-card-clickable-text);\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n margin-bottom: var(--ic-space-xxs);\n }\n\n .interaction-button,\n .icon {\n margin-bottom: var(--ic-space-xxs);\n }\n }\n\n &.disabled {\n border: var(--ic-space-1px) dashed var(--ic-card-disabled-border-color);\n\n .card-message,\n .subheading,\n .card-title {\n --ic-typography-color: var(--ic-card-disabled-text);\n }\n\n .card-title {\n text-decoration: underline;\n text-decoration-thickness: var(--ic-space-1px);\n text-decoration-color: var(--ic-card-disabled-text);\n color: var(--ic-card-disabled-text);\n }\n\n ::slotted(svg) {\n fill: var(--ic-card-icon-disabled);\n }\n }\n}\n\n.card-header {\n display: flex;\n align-items: center;\n}\n\n.icon {\n display: flex;\n align-items: center;\n padding-right: var(--ic-space-xs);\n}\n\n.card.clickable:hover .card-title,\n.card.clickable:focus .card-title,\n.card.clickable.focussed .card-title {\n display: inline-block;\n border-bottom: 0.25rem solid !important;\n margin-bottom: 0 !important;\n text-decoration: none;\n}\n\n@supports (text-underline-offset: 25%) {\n .card.clickable:hover .card-title,\n .card.clickable:focus .card-title,\n .card.clickable.focussed .card-title {\n text-decoration-line: underline;\n text-decoration-thickness: 25%;\n text-underline-offset: 25%;\n border-bottom: 0 !important;\n margin-bottom: 0.25rem !important;\n }\n}\n\n.subheading {\n margin-top: var(--ic-space-xxs);\n}\n\n.adornment {\n margin-top: var(--ic-space-xxs);\n}\n\n.card-message {\n margin-top: var(--ic-space-md);\n align-items: left;\n}\n\n.interaction-button {\n margin-left: auto;\n}\n\n.image-top {\n margin-bottom: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.image-mid {\n margin-top: var(--ic-space-md);\n display: flex;\n justify-content: center;\n}\n\n.interaction-area {\n display: flex;\n flex-grow: 1;\n gap: var(--ic-space-md);\n margin-top: var(--ic-space-md);\n align-items: flex-end;\n}\n\n.interaction-controls {\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n gap: var(--ic-space-sm);\n}\n\n.toggle-button {\n width: 2.5rem;\n height: 2.5rem;\n padding: var(--ic-space-xs);\n margin: var(--ic-space-1px) 0;\n min-width: 0;\n cursor: pointer;\n transition: var(--ic-easing-transition-fast);\n border-radius: var(--ic-border-radius);\n display: inline-flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n background: none;\n border: none;\n box-sizing: border-box;\n white-space: nowrap;\n vertical-align: middle;\n\n &:hover {\n background-color: var(--ic-card-background-hover);\n }\n\n &:focus {\n box-shadow: var(--ic-border-focus);\n }\n\n &:active:not(:focus) {\n background-color: var(--ic-card-background-pressed);\n }\n\n svg {\n pointer-events: none;\n width: 100% !important;\n height: 100% !important;\n fill: currentcolor !important;\n }\n}\n\n#ic-tooltip-expand-button {\n margin-left: auto;\n position: relative;\n}\n\n.toggle-button-closed svg {\n transform: rotate(90deg);\n}\n\n.toggle-button-expanded svg {\n transform: rotate(-90deg);\n}\n\n.expanded-content {\n margin-top: var(--ic-space-md);\n}\n\n/** High Contrast **/\n@media (forced-colors: active) {\n .card {\n ::slotted(svg) {\n fill: currentcolor;\n }\n\n &.disabled {\n border-color: GrayText !important;\n\n ::slotted(svg) {\n fill: GrayText !important;\n }\n\n .card-message,\n .subheading,\n .card-title {\n color: GrayText;\n\n --ic-typography-color: GrayText;\n }\n }\n }\n\n .toggle-button:focus,\n .toggle-button:hover {\n outline-color: Highlight;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .card,\n .toggle-button {\n transition: none;\n }\n}\n","import {\n Component,\n Element,\n Listen,\n Prop,\n State,\n h,\n Method,\n Host,\n Watch,\n} from \"@stencil/core\";\nimport {\n onComponentRequiredPropUndefined,\n isSlotUsed,\n getBrandFromContext,\n removeDisabledFalse,\n renderDynamicChildSlots,\n} from \"../../utils/helpers\";\nimport {\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcThemeMode,\n} from \"../../utils/types\";\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\n\n/**\n * @slot heading - Content will be placed at the top of the card to the right of the icon.\n * @slot message - Content will be placed in the main body of the card.\n * @slot subheading - Content will be placed below the card heading.\n * @slot adornment - Content will be placed below the card subheading.\n * @slot image-top - Content will be placed at the top of the card above all other content.\n * @slot image-mid - Content will be placed below the card heading section.\n * @slot icon - Content will be placed to the left of the card heading.\n * @slot interaction-button - Content will be placed in the top right corner of the heading section.\n * @slot interaction-controls - Content will be placed below the card message.\n * @slot expanded-content - Content will be placed below the interaction controls but will not initially be rendered.\n * @slot badge - Badge component overlaying the top right of the card.\n */\n@Component({\n tag: \"ic-card-vertical\",\n styleUrl: \"ic-card-vertical.css\",\n shadow: true,\n})\nexport class CardVertical {\n private hostMutationObserver: MutationObserver | null = null;\n\n @Element() el: HTMLIcCardVerticalElement;\n\n @State() areaExpanded: boolean = false;\n @State() isFocussed: boolean = false;\n @State() monochrome: boolean = false;\n @State() parentEl: HTMLElement | null = null;\n @State() parentIsAnchorTag: boolean = false;\n\n /**\n * If `true`, the card will be a clickable variant, instead of static.\n */\n @Prop({ mutable: true }) clickable?: boolean = false;\n\n /**\n * If `true`, the card will be disabled if it is clickable.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the card will have an expandable area and expansion toggle button.\n */\n @Prop() expandable?: boolean = false;\n\n /**\n * If `true`, the card will fill the width of the container.\n */\n @Prop() fullWidth?: boolean = false;\n\n /**\n * The heading for the card. This is required, unless a slotted heading is used.\n */\n @Prop() heading?: string;\n\n /**\n * The URL that the clickable card link points to. If set, the clickable card will render as an \"a\" tag, otherwise it will render as a button.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: string = \"\";\n\n /**\n * The main body message of the card.\n */\n @Prop() message?: string = \"\";\n\n /**\n * How much of the referrer to send when following the link.\n */\n @Prop() referrerpolicy?: ReferrerPolicy;\n\n /**\n * The relationship of the linked URL as space-separated link types.\n */\n @Prop() rel?: string;\n\n /**\n * The subheading for the card.\n */\n @Prop() subheading?: string;\n\n /**\n * The place to display the linked URL, as the name for a browsing context (a tab, window, or iframe).\n */\n @Prop() target?: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop({ mutable: true }) theme?: IcThemeMode = \"inherit\";\n\n disconnectedCallback(): void {\n if (this.parentEl && this.parentIsAnchorTag) {\n this.parentEl.removeEventListener(\"focus\", this.parentFocussed);\n this.parentEl.removeEventListener(\"blur\", this.parentBlurred);\n }\n\n this.hostMutationObserver?.disconnect();\n }\n\n componentWillLoad(): void {\n this.parentEl = this.el.parentElement;\n\n if (this.parentEl?.tagName === \"A\") {\n this.clickable = true;\n this.parentIsAnchorTag = true;\n this.parentEl.classList.add(\"ic-card-wrapper-link\");\n this.parentEl.addEventListener(\"focus\", this.parentFocussed);\n this.parentEl.addEventListener(\"blur\", this.parentBlurred);\n }\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n !isSlotUsed(this.el, \"heading\") &&\n onComponentRequiredPropUndefined(\n [{ prop: this.heading, propName: \"heading\" }],\n \"Card\"\n );\n this.updateTheme();\n\n this.hostMutationObserver = new MutationObserver((mutationList) =>\n renderDynamicChildSlots(\n mutationList,\n [\n \"message\",\n \"adornment\",\n \"expanded-content\",\n \"image-top\",\n \"image-mid\",\n \"icon\",\n \"interaction-button\",\n \"badge\",\n \"interaction-controls\",\n ],\n this\n )\n );\n this.hostMutationObserver.observe(this.el, {\n childList: true,\n });\n }\n\n @Listen(\"click\", { capture: true })\n handleHostClick(event: Event): void {\n if (this.disabled) {\n event.stopImmediatePropagation();\n }\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.updateTheme(ev.detail.mode);\n }\n\n /**\n * Sets focus on the card.\n */\n @Method()\n async setFocus(): Promise<void> {\n const shadowRoot = this.el.shadowRoot;\n\n if (shadowRoot) {\n if (shadowRoot.querySelector(\"a\")) {\n shadowRoot.querySelector(\"a\")?.focus();\n } else if (shadowRoot.querySelector(\"button\")) {\n shadowRoot.querySelector(\"button\")?.focus();\n }\n }\n }\n\n private parentFocussed = (): void => {\n this.isFocussed = true;\n };\n\n private parentBlurred = (): void => {\n this.isFocussed = false;\n };\n\n private updateTheme(mode: IcBrandForeground | null = null): void {\n const foregroundColor = getBrandFromContext(this.el, mode);\n\n if (foregroundColor !== IcBrandForegroundEnum.Default) {\n this.monochrome = true;\n this.theme =\n foregroundColor === IcBrandForegroundEnum.Light\n ? IcBrandForegroundEnum.Dark\n : IcBrandForegroundEnum.Light;\n }\n }\n\n private toggleExpanded = (): void => {\n this.areaExpanded = !this.areaExpanded;\n };\n\n render() {\n const {\n clickable,\n disabled,\n expandable,\n fullWidth,\n heading,\n isFocussed,\n message,\n monochrome,\n href,\n hreflang,\n parentIsAnchorTag,\n referrerpolicy,\n rel,\n subheading,\n target,\n theme,\n } = this;\n\n const Component =\n parentIsAnchorTag || !clickable\n ? \"div\"\n : href === undefined\n ? \"button\"\n : \"a\";\n\n const attrs = Component == \"a\" && {\n href: href,\n hrefLang: hreflang,\n referrerPolicy: referrerpolicy,\n rel: rel,\n target: target,\n };\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n <Component\n class={{\n card: true,\n clickable: !!clickable && !disabled,\n disabled: !!disabled,\n fullwidth: !!fullWidth,\n focussed: isFocussed,\n monochrome: monochrome,\n }}\n tabindex={clickable && !parentIsAnchorTag ? 0 : undefined}\n aria-disabled={disabled ? \"true\" : null}\n disabled={disabled}\n {...attrs}\n >\n {isSlotUsed(this.el, \"image-top\") && (\n <div class=\"image-top\">\n <slot name=\"image-top\"></slot>\n </div>\n )}\n <div class=\"card-header\">\n {isSlotUsed(this.el, \"icon\") && (\n <div class=\"icon\">\n <slot name=\"icon\" />\n </div>\n )}\n <div class=\"card-title\">\n <slot name=\"heading\">\n <ic-typography variant=\"h4\">\n <p>{heading}</p>\n </ic-typography>\n </slot>\n </div>\n {isSlotUsed(this.el, \"interaction-button\") && (\n <div class=\"interaction-button\">\n <slot name=\"interaction-button\"></slot>\n </div>\n )}\n </div>\n {(subheading || isSlotUsed(this.el, \"subheading\")) && (\n <div class=\"subheading\">\n <slot name=\"subheading\">\n <ic-typography variant=\"subtitle-small\">\n {subheading}\n </ic-typography>\n </slot>\n </div>\n )}\n {isSlotUsed(this.el, \"adornment\") && (\n <div class=\"adornment\">\n <slot name=\"adornment\"></slot>\n </div>\n )}\n {isSlotUsed(this.el, \"image-mid\") && (\n <div class=\"image-mid\">\n <slot name=\"image-mid\"></slot>\n </div>\n )}\n {(message || isSlotUsed(this.el, \"message\")) && (\n <div class=\"card-message\">\n {message && (\n <ic-typography variant=\"body\">{message}</ic-typography>\n )}\n {isSlotUsed(this.el, \"message\") && <slot name=\"message\"></slot>}\n </div>\n )}\n {(isSlotUsed(this.el, \"interaction-controls\") || expandable) && (\n <div class=\"interaction-area\">\n <div class=\"interaction-controls\">\n <slot name=\"interaction-controls\"></slot>\n </div>\n {expandable && (\n <ic-tooltip\n id=\"ic-tooltip-expand-button\"\n label=\"Toggle expandable area\"\n silent\n >\n <button\n class={{\n \"toggle-button\": true,\n [`toggle-button-${\n this.areaExpanded ? \"expanded\" : \"closed\"\n }`]: true,\n }}\n aria-label=\"Toggle expandable area\"\n aria-expanded={`${this.areaExpanded}`}\n aria-controls={\n this.areaExpanded ? \"expanded-content-area\" : null\n }\n onClick={this.toggleExpanded}\n innerHTML={chevronIcon}\n ></button>\n </ic-tooltip>\n )}\n </div>\n )}\n {isSlotUsed(this.el, \"expanded-content\") && this.areaExpanded && (\n <div class=\"expanded-content\" id=\"expanded-content-area\">\n <slot name=\"expanded-content\"></slot>\n </div>\n )}\n {isSlotUsed(this.el, \"badge\") && <slot name=\"badge\"></slot>}\n </Component>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -125,11 +125,11 @@ const CheckboxGroup = class {
125
125
  const describedBy = helpers.getInputDescribedByText(this.el, name, helperText !== "", validationStatus !== "");
126
126
  const renderSRText = validationStatus === "error" || required || hideLabel;
127
127
  const showValidation = helpers.hasValidationStatus(validationStatus, disabled);
128
- return (index.h(index.Host, { key: '862a97d086caec6a36b54a83d7dc73cab51ec26e', class: {
128
+ return (index.h(index.Host, { key: '710f409b81bb1cc6efa8c881216646cb653170bc', class: {
129
129
  "ic-checkbox-group-disabled": !!disabled,
130
130
  [`ic-checkbox-group-${size}`]: true,
131
131
  [`ic-theme-${theme}`]: theme !== "inherit",
132
- } }, renderSRText && (index.h("span", { key: '2099c60d533ff668ad2e3770bbe487182ba5c8c3', id: "screenReaderOnlyText", class: "screen-reader-only-text", "aria-hidden": "true" }, label, " ", validationStatus === "error" ? "invalid data " : null, " ", required ? "required" : null)), index.h("fieldset", { key: '43ab035620d2c0a7b9325b3441fa51e1dac77e3a', id: name, "aria-labelledby": `${renderSRText ? "screenReaderOnlyText" : ""} ${describedBy}`.trim(), disabled: disabled }, !hideLabel && (index.h("legend", { key: '3bff3341981e4f02aa73a21abee555be9f8aa863' }, index.h("ic-input-label", { key: '949a4b31d5021b96870fcf63c595d06b4a84baf5', class: { [`${validationStatus}`]: true }, label: label, helperText: helperText, required: required, disabled: disabled, useLabelTag: false }, index.h("slot", { key: '90ae6ee756ee2415828ac81ebcc5e84a80999c5d', name: "helper-text", slot: "helper-text" })))), index.h("div", { key: '7bf7695658a85157da695af6e8fb6a9b8be276e3', class: "checkboxes-container" }, index.h("slot", { key: '30d42a9d6cc00ac71280f88e462cb851d79ef61e' }))), index.h("ic-input-validation", { key: '44a98a0c788e457319d44421328fcb59ab8e9244', class: {
132
+ } }, renderSRText && (index.h("span", { key: 'f51c5a809b512cd8ed608ca46cb3b7e8da917dd9', id: "screenReaderOnlyText", class: "screen-reader-only-text", "aria-hidden": "true" }, label, " ", validationStatus === "error" ? "invalid data " : null, " ", required ? "required" : null)), index.h("fieldset", { key: '8107a3e6abf16406b201ae7fe5984cf65dc24e6a', id: name, "aria-labelledby": `${renderSRText ? "screenReaderOnlyText" : ""} ${describedBy}`.trim(), disabled: disabled }, !hideLabel && (index.h("legend", { key: '1f2d96c8b95e5d23d3d1503e16795141c00d10f2' }, index.h("ic-input-label", { key: '1d0b955aca0e814dda4536bd88c42602bea1ddd2', class: { [`${validationStatus}`]: true }, label: label, helperText: helperText, required: required, disabled: disabled, useLabelTag: false }, index.h("slot", { key: 'ebe59cbdf8de2d90ef6989354fbbf3ab7c63a275', name: "label", slot: "label" }), index.h("slot", { key: '425574841027cbf70673fc48ca1558257e8824ec', name: "helper-text", slot: "helper-text" })))), index.h("div", { key: 'a3df30cadd95a802d580e309f0f35397547023a8', class: "checkboxes-container" }, index.h("slot", { key: '46f74eb5f9241075b8f504de918af9a5644642fb' }))), index.h("ic-input-validation", { key: 'b800e52c3348e67ddbfbc8fc5ada934c1e1ace5b', class: {
133
133
  "show-validation": showValidation,
134
134
  }, for: name, ariaLiveMode: validationAriaLive, status: showValidation ? validationStatus : "", message: showValidation ? validationText : "" })));
135
135
  }
@@ -1 +1 @@
1
- {"file":"ic-checkbox-group.entry.cjs.js","mappings":"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","names":["removeDisabledFalse","onComponentRequiredPropUndefined","getInputDescribedByText","hasValidationStatus","h","Host"],"sources":["src/components/ic-checkbox-group/ic-checkbox-group.css?tag=ic-checkbox-group&encapsulation=shadow","src/components/ic-checkbox-group/ic-checkbox-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n\n --ic-input-label-text-color: var(--ic-checkbox-group-label);\n --ic-input-label-helper-text-color: var(--ic-checkbox-group-subtitle);\n --ic-input-validation-error: var(--ic-checkbox-state-icon-error);\n --ic-input-validation-status-text-color: var(--ic-checkbox-state-text);\n}\n\n:host(.ic-checkbox-group-disabled) {\n --ic-input-label-text-color: var(--ic-checkbox-group-label-disabled);\n --ic-input-label-helper-text-color: var(\n --ic-checkbox-group-subtitle-disabled\n );\n}\n\nic-input-label.error {\n color: var(--ic-checkbox-group-label-error);\n\n --ic-typography-color: var(--ic-checkbox-group-label-error);\n --ic-input-label-helper-text-color: var(--ic-checkbox-group-subtitle-error);\n}\n\nic-input-label:not(.with-helper) .ic-typography-label,\nic-input-label .helpertext {\n margin-bottom: var(--ic-space-sm);\n}\n\n:host(.ic-checkbox-group-small)\n ic-input-label:not(.with-helper)\n .ic-typography-label,\n:host(.ic-checkbox-group-small) ic-input-label .helpertext {\n margin-bottom: calc(var(--ic-space-sm) / 2);\n}\n\n:host(.ic-checkbox-group-large)\n ic-input-label:not(.with-helper)\n .ic-typography-label,\n:host(.ic-checkbox-group-large) ic-input-label .helpertext {\n margin-bottom: calc(var(--ic-space-sm) * 1.5);\n}\n\nic-input-label .helpertext {\n display: block;\n}\n\nic-input-validation.show-validation {\n margin-top: var(--ic-space-sm);\n}\n\n:host(.ic-checkbox-group-small) ic-input-validation.show-validation {\n margin-top: calc(var(--ic-space-sm) / 2);\n}\n\n:host(.ic-checkbox-group-large) ic-input-validation.show-validation {\n margin-top: calc(var(--ic-space-sm) * 1.5);\n}\n\n.checkboxes-container {\n margin-bottom: calc(-1 * var(--ic-space-xxs));\n}\n\n:host(.ic-checkbox-group-small) .checkboxes-container {\n margin-bottom: calc(-1 * var(--ic-space-xxxs));\n}\n\n.screen-reader-only-text {\n position: absolute;\n left: -9999px;\n background-color: #fff;\n color: #000;\n text-transform: none;\n}\n\n.screen-reader-only-text:dir(rtl) {\n right: -9999px;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Listen,\n Element,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n hasValidationStatus,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport {\n IcAriaLive,\n IcInformationStatusOrEmpty,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport { IcChangeEventDetail } from \"./ic-checkbox-group.types\";\n\nconst CHECKBOX_SELECTOR = \"ic-checkbox\";\n\n/**\n * @slot helper-text - Content is set as the helper text for the checkbox group.\n */\n@Component({\n tag: \"ic-checkbox-group\",\n styleUrl: \"ic-checkbox-group.css\",\n shadow: true,\n})\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport class CheckboxGroup {\n private checkboxes: HTMLIcCheckboxElement[];\n\n @Element() el: HTMLIcCheckboxGroupElement;\n\n /**\n * If `true`, the checkbox group will be set to the disabled state.\n */\n @Prop() disabled: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n this.checkboxes.forEach((checkbox) => {\n checkbox.disabled = this.disabled;\n });\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText: string = \"\";\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * The label for the checkbox group to be displayed.\n */\n @Prop() label!: string;\n\n /**\n * The name for the checkbox group to differentiate from other groups.\n */\n @Prop() name!: string;\n\n @Watch(\"label\")\n @Watch(\"name\")\n labelNameHandler(\n newValue: string,\n oldValue: string,\n propName: \"label\" | \"name\"\n ): void {\n Array.from(this.el.querySelectorAll(CHECKBOX_SELECTOR)).forEach(\n (checkbox) => {\n if (propName === \"label\") checkbox.groupLabel = newValue;\n else if (checkbox.name === oldValue) {\n // If the checkbox name has been set by the parent, then override it\n checkbox.name = newValue;\n }\n }\n );\n }\n\n /**\n * If `true`, the checkbox group will require a value.\n */\n @Prop() required: boolean = false;\n\n /**\n * The size of the checkboxes to be displayed. This does not affect the font size of the label.\n */\n @Prop() size: IcSizes = \"medium\";\n @Watch(\"size\")\n watchSizeHandler(): void {\n this.checkboxes.forEach((checkbox) => {\n checkbox.size = this.size;\n });\n }\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n @Watch(\"theme\")\n watchThemeHandler(newValue: IcThemeMode): void {\n Array.from(this.el.querySelectorAll(CHECKBOX_SELECTOR)).forEach(\n (checkbox) => {\n checkbox.theme = newValue;\n }\n );\n }\n\n /**\n * The value of the `aria-live` attribute on the validation message.\n */\n @Prop() validationAriaLive: IcAriaLive = \"polite\";\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message.\n */\n @Prop() validationText: string = \"\";\n\n /**\n * Emitted when a checkbox is checked.\n */\n @Event() icChange: EventEmitter<IcChangeEventDetail>;\n\n @Listen(\"icChange\")\n handleChange(ev: CustomEvent): void {\n //don't pass on the event if it has come from slotted text field\n //otherwise any icChange handler bound to the checkbox group will also run\n if ((ev.target as HTMLElement).tagName === \"IC-TEXT-FIELD\") {\n ev.stopImmediatePropagation();\n }\n }\n\n componentWillLoad(): void {\n this.setCheckboxProps();\n removeDisabledFalse(this.disabled, this.el);\n this.watchThemeHandler(this.theme);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.name, propName: \"name\" },\n ],\n \"Checkbox Group\"\n );\n }\n\n @Listen(\"icCheck\")\n selectHandler({ target }: CustomEvent): void {\n const checkedOptions = Array.from(\n this.el.querySelectorAll(CHECKBOX_SELECTOR)\n ).filter(({ checked, disabled }) => checked && !disabled);\n this.icChange.emit({\n value: checkedOptions.map(({ value }) => value),\n checkedOptions: checkedOptions.map((opt) => ({\n checkbox: opt,\n textFieldValue: opt.querySelector(\"ic-text-field\")?.value,\n })),\n selectedOption: target as HTMLIcCheckboxElement,\n });\n }\n\n private setCheckboxProps = () => {\n this.checkboxes = Array.from(this.el.querySelectorAll(CHECKBOX_SELECTOR));\n\n this.checkboxes.forEach((checkbox) => {\n if (!checkbox.disabled) {\n checkbox.disabled = this.disabled;\n }\n if (!checkbox.size) {\n checkbox.size = this.size;\n }\n });\n };\n\n render() {\n const {\n disabled,\n helperText,\n hideLabel,\n label,\n name,\n required,\n size,\n theme,\n validationAriaLive,\n validationStatus,\n validationText,\n } = this;\n\n const describedBy = getInputDescribedByText(\n this.el,\n name,\n helperText !== \"\",\n validationStatus !== \"\"\n );\n\n const renderSRText = validationStatus === \"error\" || required || hideLabel;\n\n const showValidation = hasValidationStatus(validationStatus, disabled);\n\n return (\n <Host\n class={{\n \"ic-checkbox-group-disabled\": !!disabled,\n [`ic-checkbox-group-${size}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n {renderSRText && (\n <span\n id=\"screenReaderOnlyText\"\n class=\"screen-reader-only-text\"\n aria-hidden=\"true\"\n >\n {label} {validationStatus === \"error\" ? \"invalid data \" : null}{\" \"}\n {required ? \"required\" : null}\n </span>\n )}\n <fieldset\n id={name}\n aria-labelledby={`${\n renderSRText ? \"screenReaderOnlyText\" : \"\"\n } ${describedBy}`.trim()}\n disabled={disabled}\n >\n {!hideLabel && (\n <legend>\n <ic-input-label\n class={{ [`${validationStatus}`]: true }}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabled}\n useLabelTag={false}\n >\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\n </ic-input-label>\n </legend>\n )}\n <div class=\"checkboxes-container\">\n <slot></slot>\n </div>\n </fieldset>\n <ic-input-validation\n class={{\n \"show-validation\": showValidation,\n }}\n for={name}\n ariaLiveMode={validationAriaLive}\n status={showValidation ? validationStatus : \"\"}\n message={showValidation ? validationText : \"\"}\n ></ic-input-validation>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-checkbox-group.entry.cjs.js","mappings":"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","names":["removeDisabledFalse","onComponentRequiredPropUndefined","getInputDescribedByText","hasValidationStatus","h","Host"],"sources":["src/components/ic-checkbox-group/ic-checkbox-group.css?tag=ic-checkbox-group&encapsulation=shadow","src/components/ic-checkbox-group/ic-checkbox-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: block;\n\n --ic-input-label-text-color: var(--ic-checkbox-group-label);\n --ic-input-label-helper-text-color: var(--ic-checkbox-group-subtitle);\n --ic-input-validation-error: var(--ic-checkbox-state-icon-error);\n --ic-input-validation-status-text-color: var(--ic-checkbox-state-text);\n}\n\n:host(.ic-checkbox-group-disabled) {\n --ic-input-label-text-color: var(--ic-checkbox-group-label-disabled);\n --ic-input-label-helper-text-color: var(\n --ic-checkbox-group-subtitle-disabled\n );\n}\n\nic-input-label.error {\n color: var(--ic-checkbox-group-label-error);\n\n --ic-typography-color: var(--ic-checkbox-group-label-error);\n --ic-input-label-helper-text-color: var(--ic-checkbox-group-subtitle-error);\n}\n\nic-input-label:not(.with-helper) .ic-typography-label,\nic-input-label .helpertext {\n margin-bottom: var(--ic-space-sm);\n}\n\n:host(.ic-checkbox-group-small)\n ic-input-label:not(.with-helper)\n .ic-typography-label,\n:host(.ic-checkbox-group-small) ic-input-label .helpertext {\n margin-bottom: calc(var(--ic-space-sm) / 2);\n}\n\n:host(.ic-checkbox-group-large)\n ic-input-label:not(.with-helper)\n .ic-typography-label,\n:host(.ic-checkbox-group-large) ic-input-label .helpertext {\n margin-bottom: calc(var(--ic-space-sm) * 1.5);\n}\n\nic-input-label .helpertext {\n display: block;\n}\n\nic-input-validation.show-validation {\n margin-top: var(--ic-space-sm);\n}\n\n:host(.ic-checkbox-group-small) ic-input-validation.show-validation {\n margin-top: calc(var(--ic-space-sm) / 2);\n}\n\n:host(.ic-checkbox-group-large) ic-input-validation.show-validation {\n margin-top: calc(var(--ic-space-sm) * 1.5);\n}\n\n.checkboxes-container {\n margin-bottom: calc(-1 * var(--ic-space-xxs));\n}\n\n:host(.ic-checkbox-group-small) .checkboxes-container {\n margin-bottom: calc(-1 * var(--ic-space-xxxs));\n}\n\n.screen-reader-only-text {\n position: absolute;\n left: -9999px;\n background-color: #fff;\n color: #000;\n text-transform: none;\n}\n\n.screen-reader-only-text:dir(rtl) {\n right: -9999px;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Listen,\n Element,\n Event,\n EventEmitter,\n Watch,\n} from \"@stencil/core\";\nimport {\n getInputDescribedByText,\n hasValidationStatus,\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\nimport {\n IcAriaLive,\n IcInformationStatusOrEmpty,\n IcSizes,\n IcThemeMode,\n} from \"../../utils/types\";\nimport { IcChangeEventDetail } from \"./ic-checkbox-group.types\";\n\nconst CHECKBOX_SELECTOR = \"ic-checkbox\";\n\n/**\n * @slot helper-text - Content is set as the helper text for the checkbox group.\n * @slot label - Content is placed as the label text.\n */\n@Component({\n tag: \"ic-checkbox-group\",\n styleUrl: \"ic-checkbox-group.css\",\n shadow: true,\n})\nexport class CheckboxGroup {\n private checkboxes: HTMLIcCheckboxElement[];\n\n @Element() el: HTMLIcCheckboxGroupElement;\n\n /**\n * If `true`, the checkbox group will be set to the disabled state.\n */\n @Prop() disabled: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n this.checkboxes.forEach((checkbox) => {\n checkbox.disabled = this.disabled;\n });\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * The helper text that will be displayed for additional field guidance.\n */\n @Prop() helperText: string = \"\";\n\n /**\n * If `true`, the label will be hidden and the required label value will be applied as an aria-label.\n */\n @Prop() hideLabel: boolean = false;\n\n /**\n * The label for the checkbox group to be displayed.\n */\n @Prop() label!: string;\n\n /**\n * The name for the checkbox group to differentiate from other groups.\n */\n @Prop() name!: string;\n\n @Watch(\"label\")\n @Watch(\"name\")\n labelNameHandler(\n newValue: string,\n oldValue: string,\n propName: \"label\" | \"name\"\n ): void {\n Array.from(this.el.querySelectorAll(CHECKBOX_SELECTOR)).forEach(\n (checkbox) => {\n if (propName === \"label\") checkbox.groupLabel = newValue;\n else if (checkbox.name === oldValue) {\n // If the checkbox name has been set by the parent, then override it\n checkbox.name = newValue;\n }\n }\n );\n }\n\n /**\n * If `true`, the checkbox group will require a value.\n */\n @Prop() required: boolean = false;\n\n /**\n * The size of the checkboxes to be displayed. This does not affect the font size of the label.\n */\n @Prop() size: IcSizes = \"medium\";\n @Watch(\"size\")\n watchSizeHandler(): void {\n this.checkboxes.forEach((checkbox) => {\n checkbox.size = this.size;\n });\n }\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n @Watch(\"theme\")\n watchThemeHandler(newValue: IcThemeMode): void {\n Array.from(this.el.querySelectorAll(CHECKBOX_SELECTOR)).forEach(\n (checkbox) => {\n checkbox.theme = newValue;\n }\n );\n }\n\n /**\n * The value of the `aria-live` attribute on the validation message.\n */\n @Prop() validationAriaLive: IcAriaLive = \"polite\";\n\n /**\n * The validation status - e.g. 'error' | 'warning' | 'success'.\n */\n @Prop() validationStatus: IcInformationStatusOrEmpty = \"\";\n\n /**\n * The text to display as the validation message.\n */\n @Prop() validationText: string = \"\";\n\n /**\n * Emitted when a checkbox is checked.\n */\n @Event() icChange: EventEmitter<IcChangeEventDetail>;\n\n @Listen(\"icChange\")\n handleChange(ev: CustomEvent): void {\n //don't pass on the event if it has come from slotted text field\n //otherwise any icChange handler bound to the checkbox group will also run\n if ((ev.target as HTMLElement).tagName === \"IC-TEXT-FIELD\") {\n ev.stopImmediatePropagation();\n }\n }\n\n componentWillLoad(): void {\n this.setCheckboxProps();\n removeDisabledFalse(this.disabled, this.el);\n this.watchThemeHandler(this.theme);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [\n { prop: this.label, propName: \"label\" },\n { prop: this.name, propName: \"name\" },\n ],\n \"Checkbox Group\"\n );\n }\n\n @Listen(\"icCheck\")\n selectHandler({ target }: CustomEvent): void {\n const checkedOptions = Array.from(\n this.el.querySelectorAll(CHECKBOX_SELECTOR)\n ).filter(({ checked, disabled }) => checked && !disabled);\n this.icChange.emit({\n value: checkedOptions.map(({ value }) => value),\n checkedOptions: checkedOptions.map((opt) => ({\n checkbox: opt,\n textFieldValue: opt.querySelector(\"ic-text-field\")?.value,\n })),\n selectedOption: target as HTMLIcCheckboxElement,\n });\n }\n\n private setCheckboxProps = () => {\n this.checkboxes = Array.from(this.el.querySelectorAll(CHECKBOX_SELECTOR));\n\n this.checkboxes.forEach((checkbox) => {\n if (!checkbox.disabled) {\n checkbox.disabled = this.disabled;\n }\n if (!checkbox.size) {\n checkbox.size = this.size;\n }\n });\n };\n\n render() {\n const {\n disabled,\n helperText,\n hideLabel,\n label,\n name,\n required,\n size,\n theme,\n validationAriaLive,\n validationStatus,\n validationText,\n } = this;\n\n const describedBy = getInputDescribedByText(\n this.el,\n name,\n helperText !== \"\",\n validationStatus !== \"\"\n );\n\n const renderSRText = validationStatus === \"error\" || required || hideLabel;\n\n const showValidation = hasValidationStatus(validationStatus, disabled);\n\n return (\n <Host\n class={{\n \"ic-checkbox-group-disabled\": !!disabled,\n [`ic-checkbox-group-${size}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n >\n {renderSRText && (\n <span\n id=\"screenReaderOnlyText\"\n class=\"screen-reader-only-text\"\n aria-hidden=\"true\"\n >\n {label} {validationStatus === \"error\" ? \"invalid data \" : null}{\" \"}\n {required ? \"required\" : null}\n </span>\n )}\n <fieldset\n id={name}\n aria-labelledby={`${\n renderSRText ? \"screenReaderOnlyText\" : \"\"\n } ${describedBy}`.trim()}\n disabled={disabled}\n >\n {!hideLabel && (\n <legend>\n <ic-input-label\n class={{ [`${validationStatus}`]: true }}\n label={label}\n helperText={helperText}\n required={required}\n disabled={disabled}\n useLabelTag={false}\n >\n <slot name=\"label\" slot=\"label\"></slot>\n <slot name=\"helper-text\" slot=\"helper-text\"></slot>\n </ic-input-label>\n </legend>\n )}\n <div class=\"checkboxes-container\">\n <slot></slot>\n </div>\n </fieldset>\n <ic-input-validation\n class={{\n \"show-validation\": showValidation,\n }}\n for={name}\n ariaLiveMode={validationAriaLive}\n status={showValidation ? validationStatus : \"\"}\n message={showValidation ? validationText : \"\"}\n ></ic-input-validation>\n </Host>\n );\n }\n}\n"],"version":3}