@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
@@ -1 +1 @@
1
- {"file":"ic-classification-banner.js","mappings":";;;AAAA,MAAM,yBAAyB,GAAG,ijHAAijH,CAAC;AACplH,qCAAe,yBAAyB;;ACExC,MAAM,kBAAkB,GAAG;IACzB,OAAO,EAAE,4BAA4B;IACrC,QAAQ,EAAE,UAAU;IACpB,oBAAoB,EAAE,oBAAoB;IAC1C,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,YAAY;CAC3B,CAAC;MAOW,oBAAoB;IALjC;;;;;;;QASU,wBAAmB,GAAY,EAAE,CAAC;;;;QAIlC,mBAAc,GAA0B,SAAS,CAAC;;;;QAIlD,YAAO,GAAY,IAAI,CAAC;;;;QAIxB,WAAM,GAAa,KAAK,CAAC;;;;QAIzB,SAAI,GAAa,KAAK,CAAC;KAyChC;IAvCC,MAAM;QACJ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;;QAG9B,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAC5D,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB;YAAE,mBAAmB,GAAG,EAAE,CAAC;QACnD,IACE,CAAC,cAAc;aACd,cAAc,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;YAEvD,cAAc,GAAG,SAAS,CAAC;QAE7B,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,EAAE,CAAC,iCAAiC,GAAG,CAAC,CAAC,MAAM,EAAE,IAC5D,6EACa,oBAAoB,EAC/B,KAAK,EAAE;gBACL,CAAC,uBAAuB,GAAG,IAAI;gBAC/B,CAAC,GAAG,cAAc,EAAE,GAAG,cAAc;aACtC,IAEA,cAAc,KAAK,SAAS,IAC3B,YAAM,KAAK,EAAC,WAAW,+CACmB,GAAG,CACtC,IACL,IAAI,EACR,sEAAe,OAAO,EAAC,mBAAmB,IACvC,cAAc,KAAK,SAAS;cACzB,kBAAkB,CAAC,cAAc,CAAC;cAClC,GAAG,IAAI,GAAG,OAAO,GAAG,EAAE;iBACrB,OAAO;iBACP,kBAAkB,CAAC,cAAc,CAAC;iBAClC,mBAAmB,EAAE,CACZ,CACT,CACJ,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/ic-classification-banner/ic-classification-banner.css?tag=ic-classification-banner&encapsulation=shadow","src/components/ic-classification-banner/ic-classification-banner.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-classification-banner: z-index of classification banner\n */\n\n:host {\n position: fixed;\n left: 0;\n bottom: 0;\n width: 100%;\n height: var(--ic-space-lg);\n z-index: var(--ic-z-index-classification-banner);\n\n --ic-typography-color: currentcolor;\n}\n\n:host(.ic-classification-banner-inline) {\n position: static;\n left: auto;\n bottom: auto;\n}\n\n.classification-banner {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n padding: var(--ic-space-xxxs) var(--ic-space-md);\n}\n\n.default {\n background-color: var(--ic-classification-banner-not-set);\n color: var(--ic-classification-banner-text-inverted);\n}\n\n.official {\n background-color: var(--ic-classification-banner-official);\n color: var(--ic-classification-banner-text-inverted);\n}\n\n.official-sensitive {\n background-color: var(--ic-classification-banner-official-sensitive);\n color: var(--ic-classification-banner-text-inverted);\n}\n\n.secret {\n background-color: var(--ic-classification-banner-secret);\n color: var(--ic-classification-banner-text);\n}\n\n.top-secret {\n background-color: var(--ic-classification-banner-top-secret);\n color: var(--ic-classification-banner-text-inverted);\n}\n\n.offscreen {\n position: absolute;\n left: -9999px;\n background-color: #fff;\n color: #000;\n text-transform: none;\n}\n\n.offscreen:dir(rtl) {\n right: -9999px;\n}\n\n@media (forced-colors: active) {\n .classification-banner {\n border: var(--ic-border-hc);\n }\n}\n","import { Component, Prop, h, Host } from \"@stencil/core\";\nimport { IcProtectiveMarkings } from \"./ic-classification-banner.types\";\n\nconst classificationText = {\n default: \"protective marking not set\",\n official: \"official\",\n \"official-sensitive\": \"official-sensitive\",\n secret: \"secret\",\n \"top-secret\": \"top secret\",\n};\n\n@Component({\n tag: \"ic-classification-banner\",\n styleUrl: \"ic-classification-banner.css\",\n shadow: true,\n})\nexport class ClassificationBanner {\n /**\n * The additional information that will be displayed after the classification.\n */\n @Prop() additionalSelectors?: string = \"\";\n /**\n * The classification level to be displayed - also determines the banner and text colour.\n */\n @Prop() classification?: IcProtectiveMarkings = \"default\";\n /**\n * The optional text that will be displayed before classification to specify relevant country/countries.\n */\n @Prop() country?: string = \"uk\";\n /**\n * If `true`, the banner will appear inline with the page, instead of sticking to the bottom of the page.\n */\n @Prop() inline?: boolean = false;\n /**\n * If `true`, \"Up to\" will be displayed before the classification and country.\n */\n @Prop() upTo?: boolean = false;\n\n render() {\n const { inline, upTo } = this;\n\n // In case of unrecognized props, fallback to default\n let { country, additionalSelectors, classification } = this;\n if (!country) country = \"\";\n if (!additionalSelectors) additionalSelectors = \"\";\n if (\n !classification ||\n (classification && !classificationText[classification])\n )\n classification = \"default\";\n\n return (\n <Host class={{ [\"ic-classification-banner-inline\"]: !!inline }}>\n <banner\n aria-label=\"Protective marking\"\n class={{\n [\"classification-banner\"]: true,\n [`${classification}`]: classification,\n }}\n >\n {classification !== \"default\" ? (\n <span class=\"offscreen\">\n The protective marking of this page is:{\" \"}\n </span>\n ) : null}\n <ic-typography variant=\"caption-uppercase\">\n {classification === \"default\"\n ? classificationText[classification]\n : `${upTo ? \"up to\" : \"\"} \n ${country} \n ${classificationText[classification]} \n ${additionalSelectors}`}\n </ic-typography>\n </banner>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-classification-banner.js","mappings":";;;AAAA,MAAM,yBAAyB,GAAG,ijHAAijH,CAAC;AACplH,qCAAe,yBAAyB;;ACExC,MAAM,kBAAkB,GAAG;IACzB,OAAO,EAAE,4BAA4B;IACrC,QAAQ,EAAE,UAAU;IACpB,oBAAoB,EAAE,oBAAoB;IAC1C,MAAM,EAAE,QAAQ;IAChB,YAAY,EAAE,YAAY;CAC3B,CAAC;MAOW,oBAAoB;IALjC;;;;;;;QASU,wBAAmB,GAAY,EAAE,CAAC;;;;QAIlC,mBAAc,GAA0B,SAAS,CAAC;;;;QAIlD,YAAO,GAAY,IAAI,CAAC;;;;QAIxB,WAAM,GAAa,KAAK,CAAC;;;;QAIzB,SAAI,GAAa,KAAK,CAAC;KAyChC;IAvCC,MAAM;QACJ,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;;QAG9B,IAAI,EAAE,OAAO,EAAE,mBAAmB,EAAE,cAAc,EAAE,GAAG,IAAI,CAAC;QAC5D,IAAI,CAAC,OAAO;YAAE,OAAO,GAAG,EAAE,CAAC;QAC3B,IAAI,CAAC,mBAAmB;YAAE,mBAAmB,GAAG,EAAE,CAAC;QACnD,IACE,CAAC,cAAc;aACd,cAAc,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;YAEvD,cAAc,GAAG,SAAS,CAAC;QAE7B,QACE,EAAC,IAAI,qDAAC,KAAK,EAAE,EAAE,CAAC,iCAAiC,GAAG,CAAC,CAAC,MAAM,EAAE,IAC5D,6EACa,oBAAoB,EAC/B,KAAK,EAAE;gBACL,CAAC,uBAAuB,GAAG,IAAI;gBAC/B,CAAC,GAAG,cAAc,EAAE,GAAG,cAAc;aACtC,IAEA,cAAc,KAAK,SAAS,IAC3B,YAAM,KAAK,EAAC,WAAW,+CACmB,GAAG,CACtC,IACL,IAAI,EACR,sEAAe,OAAO,EAAC,mBAAmB,IACvC,cAAc,KAAK,SAAS;cACzB,kBAAkB,CAAC,cAAc,CAAC;cAClC,GAAG,IAAI,GAAG,OAAO,GAAG,EAAE;iBACrB,OAAO;iBACP,kBAAkB,CAAC,cAAc,CAAC;iBAClC,mBAAmB,EAAE,CACZ,CACT,CACJ,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/ic-classification-banner/ic-classification-banner.css?tag=ic-classification-banner&encapsulation=shadow","src/components/ic-classification-banner/ic-classification-banner.tsx"],"sourcesContent":["/*! 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/**\n * @prop --ic-z-index-classification-banner: z-index of classification banner\n */\n\n:host {\n position: fixed;\n left: 0;\n bottom: 0;\n width: 100%;\n height: var(--ic-space-lg);\n z-index: var(--ic-z-index-classification-banner);\n\n --ic-typography-color: currentcolor;\n}\n\n:host(.ic-classification-banner-inline) {\n position: static;\n left: auto;\n bottom: auto;\n}\n\n.classification-banner {\n display: flex;\n flex-direction: row;\n justify-content: center;\n align-items: center;\n padding: var(--ic-space-xxxs) var(--ic-space-md);\n}\n\n.default {\n background-color: var(--ic-classification-banner-not-set);\n color: var(--ic-classification-banner-text-inverted);\n}\n\n.official {\n background-color: var(--ic-classification-banner-official);\n color: var(--ic-classification-banner-text-inverted);\n}\n\n.official-sensitive {\n background-color: var(--ic-classification-banner-official-sensitive);\n color: var(--ic-classification-banner-text-inverted);\n}\n\n.secret {\n background-color: var(--ic-classification-banner-secret);\n color: var(--ic-classification-banner-text);\n}\n\n.top-secret {\n background-color: var(--ic-classification-banner-top-secret);\n color: var(--ic-classification-banner-text-inverted);\n}\n\n.offscreen {\n position: absolute;\n left: -9999px;\n background-color: #fff;\n color: #000;\n text-transform: none;\n}\n\n.offscreen:dir(rtl) {\n right: -9999px;\n}\n\n@media (forced-colors: active) {\n .classification-banner {\n border: var(--ic-border-hc);\n }\n}\n","import { Component, Prop, h, Host } from \"@stencil/core\";\nimport { IcProtectiveMarkings } from \"./ic-classification-banner.types\";\n\nconst classificationText = {\n default: \"protective marking not set\",\n official: \"official\",\n \"official-sensitive\": \"official-sensitive\",\n secret: \"secret\",\n \"top-secret\": \"top secret\",\n};\n\n@Component({\n tag: \"ic-classification-banner\",\n styleUrl: \"ic-classification-banner.css\",\n shadow: true,\n})\nexport class ClassificationBanner {\n /**\n * The additional information that will be displayed after the classification.\n */\n @Prop() additionalSelectors?: string = \"\";\n /**\n * The classification level to be displayed - also determines the banner and text colour.\n */\n @Prop() classification?: IcProtectiveMarkings = \"default\";\n /**\n * The optional text that will be displayed before classification to specify relevant country/countries.\n */\n @Prop() country?: string = \"uk\";\n /**\n * If `true`, the banner will appear inline with the page, instead of sticking to the bottom of the page.\n */\n @Prop() inline?: boolean = false;\n /**\n * If `true`, \"Up to\" will be displayed before the classification and country.\n */\n @Prop() upTo?: boolean = false;\n\n render() {\n const { inline, upTo } = this;\n\n // In case of unrecognized props, fallback to default\n let { country, additionalSelectors, classification } = this;\n if (!country) country = \"\";\n if (!additionalSelectors) additionalSelectors = \"\";\n if (\n !classification ||\n (classification && !classificationText[classification])\n )\n classification = \"default\";\n\n return (\n <Host class={{ [\"ic-classification-banner-inline\"]: !!inline }}>\n <banner\n aria-label=\"Protective marking\"\n class={{\n [\"classification-banner\"]: true,\n [`${classification}`]: classification,\n }}\n >\n {classification !== \"default\" ? (\n <span class=\"offscreen\">\n The protective marking of this page is:{\" \"}\n </span>\n ) : null}\n <ic-typography variant=\"caption-uppercase\">\n {classification === \"default\"\n ? classificationText[classification]\n : `${upTo ? \"up to\" : \"\"} \n ${country} \n ${classificationText[classification]} \n ${additionalSelectors}`}\n </ic-typography>\n </banner>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -24,10 +24,10 @@ const DataList = /*@__PURE__*/ proxyCustomElement(class DataList extends HTMLEle
24
24
  Array.from(el.children).forEach((child) => child.setAttribute("size", "small"));
25
25
  }
26
26
  const hasHeading = heading || el.querySelector('[slot="heading"]');
27
- return (h(Host, { key: '1c611db796f79fc54af3a89e4b7ed0439e09f8ce', class: {
27
+ return (h(Host, { key: '57df6c957322ddb4cdda3901c64e919656abf92e', class: {
28
28
  "ic-data-list-small": size === "small",
29
29
  [`ic-theme-${theme}`]: theme !== "inherit",
30
- } }, h("div", { key: '5936cad1baba390f150bb72a2ef5b0ee7eaf5750', class: "heading", id: "data-list-heading" }, h("slot", { key: '2d0080f2848355022ea118f8ef2f78cafb584bf3', name: "heading" }, h("ic-typography", { key: 'dee1629146c3e50998552ae3c814eee17bc196c5', variant: "h3" }, heading))), h("div", { key: 'bb1c6bf91cfcd71205acd3d15b504057d3fd566f', class: { divider: true, "divider-no-heading": !hasHeading } }), h("ul", { key: '838380d006c00c28fb309aef1f57ab3bd8534102', "aria-labelledby": "data-list-heading", class: "rows" }, h("slot", { key: '6f84ce3a6716791113f5288a17c3a9a2416552d9' }))));
30
+ } }, h("div", { key: '273e0ce2fcde309669514b332964e129d1ef42a6', class: "heading", id: "data-list-heading" }, h("slot", { key: '1be24c7150c268064207cf58f083ab9bd8cb27c7', name: "heading" }, h("ic-typography", { key: '30858cd0d5c66204a030449c5b8212c1c41d1838', variant: "h3" }, heading))), h("div", { key: '2f13fa15abc8053f312ff21454b6a89d15b4eabd', class: { divider: true, "divider-no-heading": !hasHeading } }), h("ul", { key: '582dd8f21ce4e3a9dd845aa46294ebe2c5163d01', "aria-labelledby": "data-list-heading", class: "rows" }, h("slot", { key: '42b137d71f0c9e3f836f1efdde58f62d90b080a4' }))));
31
31
  }
32
32
  get el() { return this; }
33
33
  static get style() { return IcDataListStyle0; }
@@ -71,12 +71,12 @@ const DataRow = /*@__PURE__*/ proxyCustomElement(class DataRow extends HTMLEleme
71
71
  }
72
72
  render() {
73
73
  const { el, listSize, hasEndComponent, label, renderCellContent, size, theme, value, } = this;
74
- return (h(Host, { key: '720dc55ba7e1000ce6837a15d9d7accc726cc1ff', class: {
74
+ return (h(Host, { key: 'd5c6ff5a373e32e4e310dd0ddb6bbcfea0f2704a', class: {
75
75
  ["ic-data-row-small"]: size === "small",
76
76
  ["breakpoint-medium"]: listSize === "m",
77
77
  ["breakpoint-xs"]: listSize === "xs",
78
78
  [`ic-theme-${theme}`]: theme !== "inherit",
79
- }, role: "listitem" }, h("div", { key: '28e63fbb09ad16bcc6843a85047635e91006a220', class: "data" }, h("div", { key: '698f607af4b50db1bc837d83df0f46ee9cc4201f', class: "text-cells" }, (isSlotUsed(el, "label") || label) && renderCellContent("label"), (isSlotUsed(el, "value") || value) && renderCellContent("value")), hasEndComponent && (h("div", { key: '1febd59bc77239e0cedcc64953c0a5d2b4bbba6d', class: "end-component" }, h("slot", { key: 'dfa67b2ff598520d1b3f47a1479e4448aa84986f', name: "end-component" })))), h("div", { key: '989733a9cf32e8d452c4c2d4ae24844c7d38ece2', class: "divider" })));
79
+ }, role: "listitem" }, h("div", { key: 'b2867cd3b8a493ec7e4f4cff48849d94560c1fdc', class: "data" }, h("div", { key: 'd3fd667e4612907b81081ddae99c3228e2dbb954', class: "text-cells" }, (isSlotUsed(el, "label") || label) && renderCellContent("label"), (isSlotUsed(el, "value") || value) && renderCellContent("value")), hasEndComponent && (h("div", { key: 'dbbb33f8a2726f801dc72ca1f11544073ba8bc69', class: "end-component" }, h("slot", { key: 'fd4b247214447bac2a7a5bc9385a8f91cb44436f', name: "end-component" })))), h("div", { key: '8e19fde06b9fa34a3295e37fe726f163593f6674', class: "divider" })));
80
80
  }
81
81
  get el() { return this; }
82
82
  static get style() { return IcDataRowStyle0; }
@@ -279,7 +279,7 @@ const Dialog = /*@__PURE__*/ proxyCustomElement(class Dialog extends HTMLElement
279
279
  }
280
280
  render() {
281
281
  const { dialogRendered, disableHeightConstraint, fadeIn, theme, size } = this;
282
- return (h(Host, { key: '97f96f655d95bb7192eb44e850f495ed133e7d73', class: {
282
+ return (h(Host, { key: '015eecd542dfaaaa9a8060961fd4dc2740675b9d', class: {
283
283
  "ic-dialog-hidden": !dialogRendered,
284
284
  "ic-dialog-fade-in": fadeIn,
285
285
  "disable-height-constraint": !!disableHeightConstraint,
@@ -1,5 +1,5 @@
1
1
  import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal/client';
2
- import { l as getBrandForegroundAppearance, B as slotHasContent, H as isEmptyString, m as isPropDefined } from './helpers.js';
2
+ import { l as getBrandForegroundAppearance, m as isPropDefined, B as slotHasContent, H as isEmptyString } from './helpers.js';
3
3
  import { d as defineCustomElement$1 } from './ic-typography2.js';
4
4
 
5
5
  const icDividerCss = ".ic-divider-horizontal.sc-ic-divider-h{display:flex;width:var(--ic-divider-horizontal-width, 100%);align-items:center;-moz-column-gap:var(--ic-space-xxs);column-gap:var(--ic-space-xxs)}hr.sc-ic-divider{padding:0;margin:0;border:none;border-bottom:solid var(--ic-space-1px) var(--ic-divider-background);width:inherit}.ic-divider-horizontal.sc-ic-divider-h::before,.ic-divider-horizontal.sc-ic-divider-h::after{border-left:none !important}.ic-divider-horizontal.ic-divider-label-right.sc-ic-divider-h::before,.ic-divider-horizontal.ic-divider-label-center.sc-ic-divider-h::before,.ic-divider-horizontal.ic-divider-label-left.sc-ic-divider-h::after,.ic-divider-horizontal.ic-divider-label-center.sc-ic-divider-h::after{content:\"\";border:none;width:100%}.ic-divider-vertical.sc-ic-divider-h{display:flex;flex-direction:column;height:var(--ic-divider-vertical-height, inherit);width:-moz-max-content;width:max-content;align-items:center;-moz-column-gap:var(--ic-space-xxs);column-gap:var(--ic-space-xxs);border:none}.ic-divider-vertical.sc-ic-divider-h div.vertical-divider.sc-ic-divider{display:flex;height:inherit}.ic-divider-vertical.ic-divider-label-bottom.sc-ic-divider-h::before,.ic-divider-vertical.ic-divider-label-center.sc-ic-divider-h::before,.ic-divider-vertical.ic-divider-label-top.sc-ic-divider-h::after,.ic-divider-vertical.ic-divider-label-center.sc-ic-divider-h::after{content:\"\";height:100%}hr.sc-ic-divider,.ic-divider-horizontal.ic-divider-label-right.sc-ic-divider-h::before,.ic-divider-horizontal.ic-divider-label-center.sc-ic-divider-h::before,.ic-divider-horizontal.ic-divider-label-left.sc-ic-divider-h::after,.ic-divider-horizontal.ic-divider-label-center.sc-ic-divider-h::after{border-bottom:solid var(--ic-space-1px) var(--ic-divider-background)}.ic-divider-monochrome.sc-ic-divider-h hr.sc-ic-divider,.ic-divider-monochrome.ic-divider-horizontal.ic-divider-label-right.sc-ic-divider-h::before,.ic-divider-monochrome.ic-divider-horizontal.ic-divider-label-center.sc-ic-divider-h::before,.ic-divider-monochrome.ic-divider-horizontal.ic-divider-label-left.sc-ic-divider-h::after,.ic-divider-monochrome.ic-divider-horizontal.ic-divider-label-center.sc-ic-divider-h::after{border-bottom-color:var(--ic-divider-background-monochrome)}.sc-ic-divider-h div.vertical-divider.sc-ic-divider,.ic-divider-vertical.ic-divider-label-bottom.sc-ic-divider-h::before,.ic-divider-vertical.ic-divider-label-center.sc-ic-divider-h::before,.ic-divider-vertical.ic-divider-label-top.sc-ic-divider-h::after,.ic-divider-vertical.ic-divider-label-center.sc-ic-divider-h::after{border-left:solid var(--ic-space-1px) var(--ic-divider-background)}.ic-divider-monochrome.sc-ic-divider-h div.vertical-divider.sc-ic-divider,.ic-divider-monochrome.ic-divider-vertical.ic-divider-label-bottom.sc-ic-divider-h::before,.ic-divider-monochrome.ic-divider-vertical.ic-divider-label-center.sc-ic-divider-h::before,.ic-divider-monochrome.ic-divider-vertical.ic-divider-label-top.sc-ic-divider-h::after,.ic-divider-monochrome.ic-divider-vertical.ic-divider-label-center.sc-ic-divider-h::after{border-left-color:var(--ic-divider-background-monochrome)}.ic-side-navigation-keyline.ic-theme-dark.sc-ic-divider-h{--ic-side-navigation-keyline:var(--ic-state-layer-lighten-20)}.ic-side-navigation-keyline.ic-theme-light.sc-ic-divider-h{--ic-side-navigation-keyline:var(--ic-state-layer-darken-20)}.ic-side-navigation-keyline.ic-theme-dark.sc-ic-divider-h hr.sc-ic-divider,.ic-side-navigation-keyline.ic-theme-dark.ic-divider-horizontal.ic-divider-label-right.sc-ic-divider-h::before,.ic-side-navigation-keyline.ic-theme-dark.ic-divider-horizontal.ic-divider-label-center.sc-ic-divider-h::before,.ic-side-navigation-keyline.ic-theme-dark.ic-divider-horizontal.ic-divider-label-left.sc-ic-divider-h::after,.ic-side-navigation-keyline.ic-theme-dark.ic-divider-horizontal.ic-divider-label-center.sc-ic-divider-h::after{border-bottom-color:var(--ic-side-navigation-keyline)}.ic-side-navigation-keyline.ic-theme-dark.sc-ic-divider-h div.vertical-divider.sc-ic-divider,.ic-side-navigation-keyline.ic-theme-dark.ic-divider-vertical.ic-divider-label-bottom.sc-ic-divider-h::before,.ic-side-navigation-keyline.ic-theme-dark.ic-divider-vertical.ic-divider-label-center.sc-ic-divider-h::before,.ic-side-navigation-keyline.ic-theme-dark.ic-divider-vertical.ic-divider-label-top.sc-ic-divider-h::after,.ic-side-navigation-keyline.ic-theme-dark.ic-divider-vertical.ic-divider-label-center.sc-ic-divider-h::after{border-left-color:var(--ic-side-navigation-keyline)}.ic-side-navigation-keyline.ic-theme-light.sc-ic-divider-h hr.sc-ic-divider,.ic-side-navigation-keyline.ic-theme-light.ic-divider-horizontal.ic-divider-label-right.sc-ic-divider-h::before,.ic-side-navigation-keyline.ic-theme-light.ic-divider-horizontal.ic-divider-label-center.sc-ic-divider-h::before,.ic-side-navigation-keyline.ic-theme-light.ic-divider-horizontal.ic-divider-label-left.sc-ic-divider-h::after,.ic-side-navigation-keyline.ic-theme-light.ic-divider-horizontal.ic-divider-label-center.sc-ic-divider-h::after{border-bottom-color:var(--ic-side-navigation-keyline)}.ic-side-navigation-keyline.ic-theme-light.sc-ic-divider-h div.vertical-divider.sc-ic-divider,.ic-side-navigation-keyline.ic-theme-light.ic-divider-vertical.ic-divider-label-bottom.sc-ic-divider-h::before,.ic-side-navigation-keyline.ic-theme-light.ic-divider-vertical.ic-divider-label-center.sc-ic-divider-h::before,.ic-side-navigation-keyline.ic-theme-light.ic-divider-vertical.ic-divider-label-top.sc-ic-divider-h::after,.ic-side-navigation-keyline.ic-theme-light.ic-divider-vertical.ic-divider-label-center.sc-ic-divider-h::after{border-left-color:var(--ic-divider-background-monochrome)}.ic-divider-very-thick.sc-ic-divider-h hr.sc-ic-divider,.ic-divider-very-thick.ic-divider-label-right.sc-ic-divider-h::before,.ic-divider-very-thick.ic-divider-label-center.sc-ic-divider-h::before,.ic-divider-very-thick.ic-divider-label-left.sc-ic-divider-h::after,.ic-divider-very-thick.ic-divider-label-center.sc-ic-divider-h::after{border-bottom-width:var(--ic-space-xs)}.ic-divider-very-thick.sc-ic-divider-h .vertical-divider.sc-ic-divider,.ic-divider-very-thick.ic-divider-label-bottom.sc-ic-divider-h::before,.ic-divider-very-thick.ic-divider-label-center.sc-ic-divider-h::before,.ic-divider-very-thick.ic-divider-label-top.sc-ic-divider-h::after,.ic-divider-very-thick.ic-divider-label-center.sc-ic-divider-h::after{border-left-width:var(--ic-space-xs)}.ic-divider-thick.sc-ic-divider-h hr.sc-ic-divider,.ic-divider-thick.ic-divider-label-right.sc-ic-divider-h::before,.ic-divider-thick.ic-divider-label-center.sc-ic-divider-h::before,.ic-divider-thick.ic-divider-label-left.sc-ic-divider-h::after,.ic-divider-thick.ic-divider-label-center.sc-ic-divider-h::after{border-bottom-width:var(--ic-space-xxs)}.ic-divider-thick.sc-ic-divider-h .vertical-divider.sc-ic-divider,.ic-divider-thick.ic-divider-label-bottom.sc-ic-divider-h::before,.ic-divider-thick.ic-divider-label-center.sc-ic-divider-h::before,.ic-divider-thick.ic-divider-label-top.sc-ic-divider-h::after,.ic-divider-thick.ic-divider-label-center.sc-ic-divider-h::after{border-left-width:var(--ic-space-xxs)}.ic-divider-medium.sc-ic-divider-h hr.sc-ic-divider,.ic-divider-medium.ic-divider-label-right.sc-ic-divider-h::before,.ic-divider-medium.ic-divider-label-center.sc-ic-divider-h::before,.ic-divider-medium.ic-divider-label-left.sc-ic-divider-h::after,.ic-divider-medium.ic-divider-label-center.sc-ic-divider-h::after{border-bottom-width:var(--ic-space-xxxs)}.ic-divider-medium.sc-ic-divider-h .vertical-divider.sc-ic-divider,.ic-divider-medium.ic-divider-label-bottom.sc-ic-divider-h::before,.ic-divider-medium.ic-divider-label-center.sc-ic-divider-h::before,.ic-divider-medium.ic-divider-label-top.sc-ic-divider-h::after,.ic-divider-medium.ic-divider-label-center.sc-ic-divider-h::after{border-left-width:var(--ic-space-xxxs)}.ic-divider-thin.sc-ic-divider-h hr.sc-ic-divider,.ic-divider-thin.ic-divider-label-right.sc-ic-divider-h::before,.ic-divider-thin.ic-divider-label-center.sc-ic-divider-h::before,.ic-divider-thin.ic-divider-label-left.sc-ic-divider-h::after,.ic-divider-thin.ic-divider-label-center.sc-ic-divider-h::after{border-bottom-width:var(--ic-space-1px)}.ic-divider-thin.sc-ic-divider-h .vertical-divider.sc-ic-divider,.ic-divider-thin.ic-divider-label-bottom.sc-ic-divider-h::before,.ic-divider-thin.ic-divider-vertical.ic-divider-label-center.sc-ic-divider-h::before,.ic-divider-thin.ic-divider-label-top.sc-ic-divider-h::after,.ic-divider-thin.ic-divider-vertical.ic-divider-label-center.sc-ic-divider-h::after{border-left-width:var(--ic-space-1px)}.ic-divider-dashed.sc-ic-divider-h hr.sc-ic-divider,.ic-divider-dashed.ic-divider-label-right.sc-ic-divider-h::before,.ic-divider-dashed.ic-divider-label-center.sc-ic-divider-h::before,.ic-divider-dashed.ic-divider-label-left.sc-ic-divider-h::after,.ic-divider-dashed.ic-divider-label-center.sc-ic-divider-h::after{border-bottom-style:dashed}.ic-divider-dashed.sc-ic-divider-h .vertical-divider.sc-ic-divider,.ic-divider-dashed.ic-divider-label-bottom.sc-ic-divider-h::before,.ic-divider-dashed.ic-divider-label-center.sc-ic-divider-h::before,.ic-divider-dashed.ic-divider-label-top.sc-ic-divider-h::after,.ic-divider-dashed.ic-divider-label-center.sc-ic-divider-h::after{border-left-style:dashed}.sc-ic-divider-h .ic-divider-label.sc-ic-divider{text-wrap:wrap;text-align:left;width:-moz-max-content;width:max-content;max-width:var(--ic-divider-label-width, max(20rem, 60%))}.ic-divider-horizontal.ic-divider-label-center.sc-ic-divider-h .ic-divider-label.sc-ic-divider{text-align:center}.ic-divider-vertical.sc-ic-divider-h .ic-divider-label.sc-ic-divider{text-align:center;max-width:var(--ic-divider-label-width, 20rem)}.sc-ic-divider-h .ic-divider-label-container.sc-ic-divider{width:-moz-max-content;width:max-content;max-width:var(--ic-divider-label-width, max(20rem, 60%))}.ic-divider-vertical.sc-ic-divider-h .ic-divider-label-container.sc-ic-divider{max-width:var(--ic-divider-label-width, 20rem)}.sc-ic-divider-h .ic-divider-label.sc-ic-divider p.sc-ic-divider{width:-moz-max-content;width:max-content;max-width:100%}.sc-ic-divider-h .ic-divider-label.sc-ic-divider,.sc-ic-divider-h.sc-ic-divider-s>*,.sc-ic-divider-h .sc-ic-divider-s>*{color:var(--ic-divider-label)}.ic-divider-monochrome.sc-ic-divider-h .ic-divider-label.sc-ic-divider,.sc-ic-divider-h.ic-divider-monochrome.sc-ic-divider-s>*,.sc-ic-divider-h.ic-divider-monochrome .sc-ic-divider-s>*{color:var(--ic-divider-label-monochrome)}@media (forced-colors: active){hr.sc-ic-divider,.ic-divider-horizontal.ic-divider-label-right.sc-ic-divider-h::before,.ic-divider-horizontal.ic-divider-label-center.sc-ic-divider-h::before,.ic-divider-horizontal.ic-divider-label-left.sc-ic-divider-h::after,.ic-divider-horizontal.ic-divider-label-center.sc-ic-divider-h::after{border-bottom-color:transparent}.sc-ic-divider-h div.vertical-divider.sc-ic-divider,.ic-divider-vertical.ic-divider-label-bottom.sc-ic-divider-h::before,.ic-divider-vertical.ic-divider-label-center.sc-ic-divider-h::before,.ic-divider-vertical.ic-divider-label-top.sc-ic-divider-h::after,.ic-divider-vertical.ic-divider-label-center.sc-ic-divider-h::after{border-left-color:transparent}}";
@@ -9,6 +9,7 @@ const Divider = /*@__PURE__*/ proxyCustomElement(class Divider extends HTMLEleme
9
9
  constructor() {
10
10
  super();
11
11
  this.__registerHost();
12
+ this.isSlottedInSideNav = false;
12
13
  this.foregroundColor = getBrandForegroundAppearance();
13
14
  /**
14
15
  * The line style of the divider.
@@ -32,6 +33,16 @@ const Divider = /*@__PURE__*/ proxyCustomElement(class Divider extends HTMLEleme
32
33
  * The thickness of the divider.
33
34
  */
34
35
  this.weight = "thin";
36
+ this.getHostAttributes = (renderLabel) => this.isSlottedInSideNav
37
+ ? {
38
+ "aria-hidden": "true", // Prevent divider being included in screen reader count of items in side navigation
39
+ role: "listitem",
40
+ }
41
+ : (this.orientation === "vertical" ||
42
+ (renderLabel && !!isPropDefined(this.labelPlacement))) && {
43
+ "aria-orientation": this.orientation,
44
+ role: "separator",
45
+ };
35
46
  }
36
47
  brandChangeHandler(ev) {
37
48
  this.foregroundColor = ev.detail.mode;
@@ -42,8 +53,7 @@ const Divider = /*@__PURE__*/ proxyCustomElement(class Divider extends HTMLEleme
42
53
  if (parentEl) {
43
54
  const isBottomSideNav = parentEl.classList.contains("bottom-side-nav");
44
55
  const isBottomWrapper = (_a = parentEl.parentElement) === null || _a === void 0 ? void 0 : _a.classList.contains("bottom-wrapper");
45
- if (parentEl.tagName === "IC-SIDE-NAVIGATION" ||
46
- (isBottomSideNav && isBottomWrapper)) {
56
+ if (this.isSlottedInSideNav || (isBottomSideNav && isBottomWrapper)) {
47
57
  this.el.classList.add("ic-side-navigation-keyline");
48
58
  if (this.foregroundColor === "light") {
49
59
  this.theme = "dark";
@@ -55,6 +65,9 @@ const Divider = /*@__PURE__*/ proxyCustomElement(class Divider extends HTMLEleme
55
65
  }
56
66
  }
57
67
  componentWillRender() {
68
+ var _a;
69
+ this.isSlottedInSideNav =
70
+ ((_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.tagName) === "IC-SIDE-NAVIGATION";
58
71
  this.updateMonochromeState();
59
72
  }
60
73
  render() {
@@ -95,11 +108,7 @@ const Divider = /*@__PURE__*/ proxyCustomElement(class Divider extends HTMLEleme
95
108
  [`ic-divider-${weight}`]: true,
96
109
  [`ic-divider-${borderStyle}`]: true,
97
110
  [`ic-divider-label-${labelPlacement}`]: slotHasContent(this.el, "label") || !isEmptyString(label),
98
- } }, ((orientation === "vertical" ||
99
- (!!renderLabel() && !!isPropDefined(labelPlacement))) && {
100
- "aria-orientation": orientation,
101
- role: "separator",
102
- })), orientation === "horizontal" &&
111
+ } }, this.getHostAttributes(!!renderLabel())), orientation === "horizontal" &&
103
112
  (!renderLabel() || !isPropDefined(labelPlacement)) && h("hr", null), !!isPropDefined(labelPlacement) && !!renderLabel() && renderLabel(), orientation === "vertical" &&
104
113
  (!renderLabel() || !isPropDefined(labelPlacement)) && (h("div", { class: "vertical-divider" }))));
105
114
  }
@@ -1 +1 @@
1
- {"file":"ic-divider2.js","mappings":"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","names":[],"sources":["src/components/ic-divider/ic-divider.css?tag=ic-divider&encapsulation=scoped","src/components/ic-divider/ic-divider.tsx"],"sourcesContent":["/**\n * @prop --ic-divider-vertical-height: The height of a vertical divider. The default value is `inherit`. \n */\n\n/**\n * @prop --ic-divider-horizontal-width: The width of a horizontal divider. The default value is `inherit`.\n */\n\n/**\n * @prop --ic-divider-label-width: The max-width of the divider label. When orientation is set to `horizontal`, the default value is `max(20rem, 60%)`. When orientation is set to `vertical`, the default value is `20 rem`.\n */\n\n/* IC-DIVIDER COLORS */\n\n/**\n * @internal @prop --ic-divider-background\n */\n\n/**\n * @internal @prop --ic-divider-background-monochrome\n */\n\n/**\n * @internal @prop --ic-divider-label\n */\n\n/**\n * @internal @prop --ic-divider-label-monochrome\n */\n\n/* Horizontal Divider */\n:host(.ic-divider-horizontal) {\n display: flex;\n width: var(--ic-divider-horizontal-width, 100%);\n align-items: center;\n column-gap: var(--ic-space-xxs);\n}\n\nhr {\n padding: 0;\n margin: 0;\n border: none;\n border-bottom: solid var(--ic-space-1px) var(--ic-divider-background);\n width: inherit;\n}\n\n:host(.ic-divider-horizontal)::before,\n:host(.ic-divider-horizontal)::after {\n border-left: none !important;\n}\n\n:host(.ic-divider-horizontal.ic-divider-label-right)::before,\n:host(.ic-divider-horizontal.ic-divider-label-center)::before,\n:host(.ic-divider-horizontal.ic-divider-label-left)::after,\n:host(.ic-divider-horizontal.ic-divider-label-center)::after {\n content: \"\";\n border: none;\n width: 100%;\n}\n\n/* Vertical Divider */\n:host(.ic-divider-vertical) {\n display: flex;\n flex-direction: column;\n height: var(--ic-divider-vertical-height, inherit);\n width: max-content;\n align-items: center;\n column-gap: var(--ic-space-xxs);\n border: none;\n}\n\n:host(.ic-divider-vertical) div.vertical-divider {\n display: flex;\n height: inherit;\n}\n\n:host(.ic-divider-vertical.ic-divider-label-bottom)::before,\n:host(.ic-divider-vertical.ic-divider-label-center)::before,\n:host(.ic-divider-vertical.ic-divider-label-top)::after,\n:host(.ic-divider-vertical.ic-divider-label-center)::after {\n content: \"\";\n height: 100%;\n}\n\n/* Theme */\nhr,\n:host(.ic-divider-horizontal.ic-divider-label-right)::before,\n:host(.ic-divider-horizontal.ic-divider-label-center)::before,\n:host(.ic-divider-horizontal.ic-divider-label-left)::after,\n:host(.ic-divider-horizontal.ic-divider-label-center)::after {\n border-bottom: solid var(--ic-space-1px) var(--ic-divider-background);\n}\n\n:host(.ic-divider-monochrome) hr,\n:host(.ic-divider-monochrome.ic-divider-horizontal.ic-divider-label-right)::before,\n:host(.ic-divider-monochrome.ic-divider-horizontal.ic-divider-label-center)::before,\n:host(.ic-divider-monochrome.ic-divider-horizontal.ic-divider-label-left)::after,\n:host(.ic-divider-monochrome.ic-divider-horizontal.ic-divider-label-center)::after {\n border-bottom-color: var(--ic-divider-background-monochrome);\n}\n\n:host() div.vertical-divider,\n:host(.ic-divider-vertical.ic-divider-label-bottom)::before,\n:host(.ic-divider-vertical.ic-divider-label-center)::before,\n:host(.ic-divider-vertical.ic-divider-label-top)::after,\n:host(.ic-divider-vertical.ic-divider-label-center)::after {\n border-left: solid var(--ic-space-1px) var(--ic-divider-background);\n}\n\n:host(.ic-divider-monochrome) div.vertical-divider,\n:host(.ic-divider-monochrome.ic-divider-vertical.ic-divider-label-bottom)::before,\n:host(.ic-divider-monochrome.ic-divider-vertical.ic-divider-label-center)::before,\n:host(.ic-divider-monochrome.ic-divider-vertical.ic-divider-label-top)::after,\n:host(.ic-divider-monochrome.ic-divider-vertical.ic-divider-label-center)::after {\n border-left-color: var(--ic-divider-background-monochrome);\n}\n\n/* Divider in ic-side-navigation */\n:host(.ic-side-navigation-keyline.ic-theme-dark) {\n --ic-side-navigation-keyline: var(--ic-state-layer-lighten-20);\n}\n\n:host(.ic-side-navigation-keyline.ic-theme-light) {\n --ic-side-navigation-keyline: var(--ic-state-layer-darken-20);\n}\n\n:host(.ic-side-navigation-keyline.ic-theme-dark) hr,\n:host(.ic-side-navigation-keyline.ic-theme-dark.ic-divider-horizontal.ic-divider-label-right)::before,\n:host(.ic-side-navigation-keyline.ic-theme-dark.ic-divider-horizontal.ic-divider-label-center)::before,\n:host(.ic-side-navigation-keyline.ic-theme-dark.ic-divider-horizontal.ic-divider-label-left)::after,\n:host(.ic-side-navigation-keyline.ic-theme-dark.ic-divider-horizontal.ic-divider-label-center)::after {\n border-bottom-color: var(--ic-side-navigation-keyline);\n}\n\n:host(.ic-side-navigation-keyline.ic-theme-dark) div.vertical-divider,\n:host(.ic-side-navigation-keyline.ic-theme-dark.ic-divider-vertical.ic-divider-label-bottom)::before,\n:host(.ic-side-navigation-keyline.ic-theme-dark.ic-divider-vertical.ic-divider-label-center)::before,\n:host(.ic-side-navigation-keyline.ic-theme-dark.ic-divider-vertical.ic-divider-label-top)::after,\n:host(.ic-side-navigation-keyline.ic-theme-dark.ic-divider-vertical.ic-divider-label-center)::after {\n border-left-color: var(--ic-side-navigation-keyline);\n}\n\n:host(.ic-side-navigation-keyline.ic-theme-light) hr,\n:host(.ic-side-navigation-keyline.ic-theme-light.ic-divider-horizontal.ic-divider-label-right)::before,\n:host(.ic-side-navigation-keyline.ic-theme-light.ic-divider-horizontal.ic-divider-label-center)::before,\n:host(.ic-side-navigation-keyline.ic-theme-light.ic-divider-horizontal.ic-divider-label-left)::after,\n:host(.ic-side-navigation-keyline.ic-theme-light.ic-divider-horizontal.ic-divider-label-center)::after {\n border-bottom-color: var(--ic-side-navigation-keyline);\n}\n\n:host(.ic-side-navigation-keyline.ic-theme-light) div.vertical-divider,\n:host(.ic-side-navigation-keyline.ic-theme-light.ic-divider-vertical.ic-divider-label-bottom)::before,\n:host(.ic-side-navigation-keyline.ic-theme-light.ic-divider-vertical.ic-divider-label-center)::before,\n:host(.ic-side-navigation-keyline.ic-theme-light.ic-divider-vertical.ic-divider-label-top)::after,\n:host(.ic-side-navigation-keyline.ic-theme-light.ic-divider-vertical.ic-divider-label-center)::after {\n border-left-color: var(--ic-divider-background-monochrome);\n}\n\n/* Weight */\n:host(.ic-divider-very-thick) hr,\n:host(.ic-divider-very-thick.ic-divider-label-right)::before,\n:host(.ic-divider-very-thick.ic-divider-label-center)::before,\n:host(.ic-divider-very-thick.ic-divider-label-left)::after,\n:host(.ic-divider-very-thick.ic-divider-label-center)::after {\n border-bottom-width: var(--ic-space-xs);\n}\n\n:host(.ic-divider-very-thick) .vertical-divider,\n:host(.ic-divider-very-thick.ic-divider-label-bottom)::before,\n:host(.ic-divider-very-thick.ic-divider-label-center)::before,\n:host(.ic-divider-very-thick.ic-divider-label-top)::after,\n:host(.ic-divider-very-thick.ic-divider-label-center)::after {\n border-left-width: var(--ic-space-xs);\n}\n\n:host(.ic-divider-thick) hr,\n:host(.ic-divider-thick.ic-divider-label-right)::before,\n:host(.ic-divider-thick.ic-divider-label-center)::before,\n:host(.ic-divider-thick.ic-divider-label-left)::after,\n:host(.ic-divider-thick.ic-divider-label-center)::after {\n border-bottom-width: var(--ic-space-xxs);\n}\n\n:host(.ic-divider-thick) .vertical-divider,\n:host(.ic-divider-thick.ic-divider-label-bottom)::before,\n:host(.ic-divider-thick.ic-divider-label-center)::before,\n:host(.ic-divider-thick.ic-divider-label-top)::after,\n:host(.ic-divider-thick.ic-divider-label-center)::after {\n border-left-width: var(--ic-space-xxs);\n}\n\n:host(.ic-divider-medium) hr,\n:host(.ic-divider-medium.ic-divider-label-right)::before,\n:host(.ic-divider-medium.ic-divider-label-center)::before,\n:host(.ic-divider-medium.ic-divider-label-left)::after,\n:host(.ic-divider-medium.ic-divider-label-center)::after {\n border-bottom-width: var(--ic-space-xxxs);\n}\n\n:host(.ic-divider-medium) .vertical-divider,\n:host(.ic-divider-medium.ic-divider-label-bottom)::before,\n:host(.ic-divider-medium.ic-divider-label-center)::before,\n:host(.ic-divider-medium.ic-divider-label-top)::after,\n:host(.ic-divider-medium.ic-divider-label-center)::after {\n border-left-width: var(--ic-space-xxxs);\n}\n\n:host(.ic-divider-thin) hr,\n:host(.ic-divider-thin.ic-divider-label-right)::before,\n:host(.ic-divider-thin.ic-divider-label-center)::before,\n:host(.ic-divider-thin.ic-divider-label-left)::after,\n:host(.ic-divider-thin.ic-divider-label-center)::after {\n border-bottom-width: var(--ic-space-1px);\n}\n\n:host(.ic-divider-thin) .vertical-divider,\n:host(.ic-divider-thin.ic-divider-label-bottom)::before,\n:host(.ic-divider-thin.ic-divider-vertical.ic-divider-label-center)::before,\n:host(.ic-divider-thin.ic-divider-label-top)::after,\n:host(.ic-divider-thin.ic-divider-vertical.ic-divider-label-center)::after {\n border-left-width: var(--ic-space-1px);\n}\n\n/* Border styling */\n:host(.ic-divider-dashed) hr,\n:host(.ic-divider-dashed.ic-divider-label-right)::before,\n:host(.ic-divider-dashed.ic-divider-label-center)::before,\n:host(.ic-divider-dashed.ic-divider-label-left)::after,\n:host(.ic-divider-dashed.ic-divider-label-center)::after {\n border-bottom-style: dashed;\n}\n\n:host(.ic-divider-dashed) .vertical-divider,\n:host(.ic-divider-dashed.ic-divider-label-bottom)::before,\n:host(.ic-divider-dashed.ic-divider-label-center)::before,\n:host(.ic-divider-dashed.ic-divider-label-top)::after,\n:host(.ic-divider-dashed.ic-divider-label-center)::after {\n border-left-style: dashed;\n}\n\n/* Label styling */\n:host() .ic-divider-label {\n text-wrap: wrap;\n text-align: left;\n width: max-content;\n max-width: var(--ic-divider-label-width, max(20rem, 60%));\n}\n\n:host(.ic-divider-horizontal.ic-divider-label-center) .ic-divider-label {\n text-align: center;\n}\n\n:host(.ic-divider-vertical) .ic-divider-label {\n text-align: center;\n max-width: var(--ic-divider-label-width, 20rem);\n}\n\n:host() .ic-divider-label-container {\n width: max-content;\n max-width: var(--ic-divider-label-width, max(20rem, 60%));\n}\n\n:host(.ic-divider-vertical) .ic-divider-label-container {\n max-width: var(--ic-divider-label-width, 20rem);\n}\n\n:host() .ic-divider-label p {\n width: max-content;\n max-width: 100%;\n}\n\n:host() .ic-divider-label,\n:host() ::slotted(*) {\n color: var(--ic-divider-label);\n}\n\n:host(.ic-divider-monochrome) .ic-divider-label,\n:host(.ic-divider-monochrome) ::slotted(*) {\n color: var(--ic-divider-label-monochrome);\n}\n\n/* High contrast */\n@media (forced-colors: active) {\n hr,\n :host(.ic-divider-horizontal.ic-divider-label-right)::before,\n :host(.ic-divider-horizontal.ic-divider-label-center)::before,\n :host(.ic-divider-horizontal.ic-divider-label-left)::after,\n :host(.ic-divider-horizontal.ic-divider-label-center)::after {\n border-bottom-color: transparent;\n }\n\n :host() div.vertical-divider,\n :host(.ic-divider-vertical.ic-divider-label-bottom)::before,\n :host(.ic-divider-vertical.ic-divider-label-center)::before,\n :host(.ic-divider-vertical.ic-divider-label-top)::after,\n :host(.ic-divider-vertical.ic-divider-label-center)::after {\n border-left-color: transparent;\n }\n}\n","import {\n h,\n Component,\n Host,\n Listen,\n State,\n Prop,\n Element,\n} from \"@stencil/core\";\n\nimport {\n getBrandForegroundAppearance,\n isPropDefined,\n slotHasContent,\n isEmptyString,\n} from \"../../utils/helpers\";\n\nimport {\n IcBrand,\n IcOrientation,\n IcBrandForeground,\n IcThemeMode,\n} from \"../../utils/types\";\n\nimport {\n IcDividerLabelPlacement,\n IcDividerStyles,\n IcDividerWeights,\n} from \"./ic-divider.types\";\n\n@Component({\n tag: \"ic-divider\",\n styleUrl: \"ic-divider.css\",\n scoped: true,\n})\nexport class Divider {\n @Element() el: HTMLIcDividerElement;\n\n @State() foregroundColor: IcBrandForeground = getBrandForegroundAppearance();\n\n /**\n * The line style of the divider.\n */\n @Prop() borderStyle?: IcDividerStyles = \"solid\";\n\n /**\n * The label for the divider. The label placement will need to be set for the label to be displayed correctly.\n */\n @Prop() label?: string;\n\n /**\n * The position the label is placed on the divider. `Left` and `right` placement is only applicable when orientation is set to `horizontal`. `Top` and `bottom` placement is only applicable when orientation is set to `vertical`. `Center` placement is applicable for both orientations.\n */\n @Prop() labelPlacement?: IcDividerLabelPlacement = \"center\";\n\n /** If `true`, the divider will be displayed in a grey colour. */\n @Prop() monochrome?: boolean = false;\n\n /**\n * The orientation of the divider.\n */\n @Prop() orientation?: IcOrientation = \"horizontal\";\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 | IcBrandForeground = \"inherit\";\n\n /**\n * The thickness of the divider.\n */\n @Prop() weight?: IcDividerWeights = \"thin\";\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.foregroundColor = ev.detail.mode;\n }\n\n private updateMonochromeState(): void {\n const parentEl = this.el.parentElement;\n if (parentEl) {\n const isBottomSideNav = parentEl.classList.contains(\"bottom-side-nav\");\n const isBottomWrapper =\n parentEl.parentElement?.classList.contains(\"bottom-wrapper\");\n\n if (\n parentEl.tagName === \"IC-SIDE-NAVIGATION\" ||\n (isBottomSideNav && isBottomWrapper)\n ) {\n this.el.classList.add(\"ic-side-navigation-keyline\");\n if (this.foregroundColor === \"light\") {\n this.theme = \"dark\";\n } else {\n this.theme = \"light\";\n }\n }\n }\n }\n\n componentWillRender(): void {\n this.updateMonochromeState();\n }\n\n render() {\n const {\n borderStyle,\n label,\n labelPlacement,\n monochrome,\n orientation,\n weight,\n } = this;\n\n const { theme } = this;\n\n const invalidPropCombination = (\n placement: IcDividerLabelPlacement\n ): void => {\n console.error(\n `${\n placement.charAt(0).toUpperCase() + placement.slice(1)\n } label placement is not applicable for a ${orientation} ic-divider (web-components) / IcDivider (react)`\n );\n };\n\n if (\n ((labelPlacement === \"left\" || labelPlacement === \"right\") &&\n orientation === \"vertical\") ||\n ((labelPlacement === \"top\" || labelPlacement === \"bottom\") &&\n orientation === \"horizontal\")\n ) {\n invalidPropCombination(labelPlacement);\n }\n\n const getTypographyVariant = (weight: string) => {\n switch (weight) {\n case \"very-thick\":\n return \"h4\";\n case \"thick\":\n return \"subtitle-large\";\n default:\n return \"label\";\n }\n };\n\n const renderLabel = () => {\n if (slotHasContent(this.el, \"label\")) {\n return (\n <div class=\"ic-divider-label-container\">\n <slot name=\"label\"></slot>\n </div>\n );\n } else if (isPropDefined(label)) {\n return (\n <ic-typography\n class=\"ic-divider-label\"\n variant={getTypographyVariant(weight!)}\n >\n <p>{label}</p>\n </ic-typography>\n );\n }\n return null;\n };\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [`ic-divider-monochrome`]: !!monochrome,\n [`ic-divider-${orientation}`]: true,\n [`ic-divider-${weight}`]: true,\n [`ic-divider-${borderStyle}`]: true,\n [`ic-divider-label-${labelPlacement}`]:\n slotHasContent(this.el, \"label\") || !isEmptyString(label),\n }}\n {...((orientation === \"vertical\" ||\n (!!renderLabel() && !!isPropDefined(labelPlacement))) && {\n \"aria-orientation\": orientation,\n role: \"separator\",\n })}\n >\n {orientation === \"horizontal\" &&\n (!renderLabel() || !isPropDefined(labelPlacement)) && <hr />}\n {!!isPropDefined(labelPlacement) && !!renderLabel() && renderLabel()}\n {orientation === \"vertical\" &&\n (!renderLabel() || !isPropDefined(labelPlacement)) && (\n <div class=\"vertical-divider\"></div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-divider2.js","mappings":"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","names":[],"sources":["src/components/ic-divider/ic-divider.css?tag=ic-divider&encapsulation=scoped","src/components/ic-divider/ic-divider.tsx"],"sourcesContent":["/**\n * @prop --ic-divider-vertical-height: The height of a vertical divider. The default value is `inherit`. \n */\n\n/**\n * @prop --ic-divider-horizontal-width: The width of a horizontal divider. The default value is `inherit`.\n */\n\n/**\n * @prop --ic-divider-label-width: The max-width of the divider label. When orientation is set to `horizontal`, the default value is `max(20rem, 60%)`. When orientation is set to `vertical`, the default value is `20 rem`.\n */\n\n/* IC-DIVIDER COLORS */\n\n/**\n * @internal @prop --ic-divider-background\n */\n\n/**\n * @internal @prop --ic-divider-background-monochrome\n */\n\n/**\n * @internal @prop --ic-divider-label\n */\n\n/**\n * @internal @prop --ic-divider-label-monochrome\n */\n\n/* Horizontal Divider */\n:host(.ic-divider-horizontal) {\n display: flex;\n width: var(--ic-divider-horizontal-width, 100%);\n align-items: center;\n column-gap: var(--ic-space-xxs);\n}\n\nhr {\n padding: 0;\n margin: 0;\n border: none;\n border-bottom: solid var(--ic-space-1px) var(--ic-divider-background);\n width: inherit;\n}\n\n:host(.ic-divider-horizontal)::before,\n:host(.ic-divider-horizontal)::after {\n border-left: none !important;\n}\n\n:host(.ic-divider-horizontal.ic-divider-label-right)::before,\n:host(.ic-divider-horizontal.ic-divider-label-center)::before,\n:host(.ic-divider-horizontal.ic-divider-label-left)::after,\n:host(.ic-divider-horizontal.ic-divider-label-center)::after {\n content: \"\";\n border: none;\n width: 100%;\n}\n\n/* Vertical Divider */\n:host(.ic-divider-vertical) {\n display: flex;\n flex-direction: column;\n height: var(--ic-divider-vertical-height, inherit);\n width: max-content;\n align-items: center;\n column-gap: var(--ic-space-xxs);\n border: none;\n}\n\n:host(.ic-divider-vertical) div.vertical-divider {\n display: flex;\n height: inherit;\n}\n\n:host(.ic-divider-vertical.ic-divider-label-bottom)::before,\n:host(.ic-divider-vertical.ic-divider-label-center)::before,\n:host(.ic-divider-vertical.ic-divider-label-top)::after,\n:host(.ic-divider-vertical.ic-divider-label-center)::after {\n content: \"\";\n height: 100%;\n}\n\n/* Theme */\nhr,\n:host(.ic-divider-horizontal.ic-divider-label-right)::before,\n:host(.ic-divider-horizontal.ic-divider-label-center)::before,\n:host(.ic-divider-horizontal.ic-divider-label-left)::after,\n:host(.ic-divider-horizontal.ic-divider-label-center)::after {\n border-bottom: solid var(--ic-space-1px) var(--ic-divider-background);\n}\n\n:host(.ic-divider-monochrome) hr,\n:host(.ic-divider-monochrome.ic-divider-horizontal.ic-divider-label-right)::before,\n:host(.ic-divider-monochrome.ic-divider-horizontal.ic-divider-label-center)::before,\n:host(.ic-divider-monochrome.ic-divider-horizontal.ic-divider-label-left)::after,\n:host(.ic-divider-monochrome.ic-divider-horizontal.ic-divider-label-center)::after {\n border-bottom-color: var(--ic-divider-background-monochrome);\n}\n\n:host() div.vertical-divider,\n:host(.ic-divider-vertical.ic-divider-label-bottom)::before,\n:host(.ic-divider-vertical.ic-divider-label-center)::before,\n:host(.ic-divider-vertical.ic-divider-label-top)::after,\n:host(.ic-divider-vertical.ic-divider-label-center)::after {\n border-left: solid var(--ic-space-1px) var(--ic-divider-background);\n}\n\n:host(.ic-divider-monochrome) div.vertical-divider,\n:host(.ic-divider-monochrome.ic-divider-vertical.ic-divider-label-bottom)::before,\n:host(.ic-divider-monochrome.ic-divider-vertical.ic-divider-label-center)::before,\n:host(.ic-divider-monochrome.ic-divider-vertical.ic-divider-label-top)::after,\n:host(.ic-divider-monochrome.ic-divider-vertical.ic-divider-label-center)::after {\n border-left-color: var(--ic-divider-background-monochrome);\n}\n\n/* Divider in ic-side-navigation */\n:host(.ic-side-navigation-keyline.ic-theme-dark) {\n --ic-side-navigation-keyline: var(--ic-state-layer-lighten-20);\n}\n\n:host(.ic-side-navigation-keyline.ic-theme-light) {\n --ic-side-navigation-keyline: var(--ic-state-layer-darken-20);\n}\n\n:host(.ic-side-navigation-keyline.ic-theme-dark) hr,\n:host(.ic-side-navigation-keyline.ic-theme-dark.ic-divider-horizontal.ic-divider-label-right)::before,\n:host(.ic-side-navigation-keyline.ic-theme-dark.ic-divider-horizontal.ic-divider-label-center)::before,\n:host(.ic-side-navigation-keyline.ic-theme-dark.ic-divider-horizontal.ic-divider-label-left)::after,\n:host(.ic-side-navigation-keyline.ic-theme-dark.ic-divider-horizontal.ic-divider-label-center)::after {\n border-bottom-color: var(--ic-side-navigation-keyline);\n}\n\n:host(.ic-side-navigation-keyline.ic-theme-dark) div.vertical-divider,\n:host(.ic-side-navigation-keyline.ic-theme-dark.ic-divider-vertical.ic-divider-label-bottom)::before,\n:host(.ic-side-navigation-keyline.ic-theme-dark.ic-divider-vertical.ic-divider-label-center)::before,\n:host(.ic-side-navigation-keyline.ic-theme-dark.ic-divider-vertical.ic-divider-label-top)::after,\n:host(.ic-side-navigation-keyline.ic-theme-dark.ic-divider-vertical.ic-divider-label-center)::after {\n border-left-color: var(--ic-side-navigation-keyline);\n}\n\n:host(.ic-side-navigation-keyline.ic-theme-light) hr,\n:host(.ic-side-navigation-keyline.ic-theme-light.ic-divider-horizontal.ic-divider-label-right)::before,\n:host(.ic-side-navigation-keyline.ic-theme-light.ic-divider-horizontal.ic-divider-label-center)::before,\n:host(.ic-side-navigation-keyline.ic-theme-light.ic-divider-horizontal.ic-divider-label-left)::after,\n:host(.ic-side-navigation-keyline.ic-theme-light.ic-divider-horizontal.ic-divider-label-center)::after {\n border-bottom-color: var(--ic-side-navigation-keyline);\n}\n\n:host(.ic-side-navigation-keyline.ic-theme-light) div.vertical-divider,\n:host(.ic-side-navigation-keyline.ic-theme-light.ic-divider-vertical.ic-divider-label-bottom)::before,\n:host(.ic-side-navigation-keyline.ic-theme-light.ic-divider-vertical.ic-divider-label-center)::before,\n:host(.ic-side-navigation-keyline.ic-theme-light.ic-divider-vertical.ic-divider-label-top)::after,\n:host(.ic-side-navigation-keyline.ic-theme-light.ic-divider-vertical.ic-divider-label-center)::after {\n border-left-color: var(--ic-divider-background-monochrome);\n}\n\n/* Weight */\n:host(.ic-divider-very-thick) hr,\n:host(.ic-divider-very-thick.ic-divider-label-right)::before,\n:host(.ic-divider-very-thick.ic-divider-label-center)::before,\n:host(.ic-divider-very-thick.ic-divider-label-left)::after,\n:host(.ic-divider-very-thick.ic-divider-label-center)::after {\n border-bottom-width: var(--ic-space-xs);\n}\n\n:host(.ic-divider-very-thick) .vertical-divider,\n:host(.ic-divider-very-thick.ic-divider-label-bottom)::before,\n:host(.ic-divider-very-thick.ic-divider-label-center)::before,\n:host(.ic-divider-very-thick.ic-divider-label-top)::after,\n:host(.ic-divider-very-thick.ic-divider-label-center)::after {\n border-left-width: var(--ic-space-xs);\n}\n\n:host(.ic-divider-thick) hr,\n:host(.ic-divider-thick.ic-divider-label-right)::before,\n:host(.ic-divider-thick.ic-divider-label-center)::before,\n:host(.ic-divider-thick.ic-divider-label-left)::after,\n:host(.ic-divider-thick.ic-divider-label-center)::after {\n border-bottom-width: var(--ic-space-xxs);\n}\n\n:host(.ic-divider-thick) .vertical-divider,\n:host(.ic-divider-thick.ic-divider-label-bottom)::before,\n:host(.ic-divider-thick.ic-divider-label-center)::before,\n:host(.ic-divider-thick.ic-divider-label-top)::after,\n:host(.ic-divider-thick.ic-divider-label-center)::after {\n border-left-width: var(--ic-space-xxs);\n}\n\n:host(.ic-divider-medium) hr,\n:host(.ic-divider-medium.ic-divider-label-right)::before,\n:host(.ic-divider-medium.ic-divider-label-center)::before,\n:host(.ic-divider-medium.ic-divider-label-left)::after,\n:host(.ic-divider-medium.ic-divider-label-center)::after {\n border-bottom-width: var(--ic-space-xxxs);\n}\n\n:host(.ic-divider-medium) .vertical-divider,\n:host(.ic-divider-medium.ic-divider-label-bottom)::before,\n:host(.ic-divider-medium.ic-divider-label-center)::before,\n:host(.ic-divider-medium.ic-divider-label-top)::after,\n:host(.ic-divider-medium.ic-divider-label-center)::after {\n border-left-width: var(--ic-space-xxxs);\n}\n\n:host(.ic-divider-thin) hr,\n:host(.ic-divider-thin.ic-divider-label-right)::before,\n:host(.ic-divider-thin.ic-divider-label-center)::before,\n:host(.ic-divider-thin.ic-divider-label-left)::after,\n:host(.ic-divider-thin.ic-divider-label-center)::after {\n border-bottom-width: var(--ic-space-1px);\n}\n\n:host(.ic-divider-thin) .vertical-divider,\n:host(.ic-divider-thin.ic-divider-label-bottom)::before,\n:host(.ic-divider-thin.ic-divider-vertical.ic-divider-label-center)::before,\n:host(.ic-divider-thin.ic-divider-label-top)::after,\n:host(.ic-divider-thin.ic-divider-vertical.ic-divider-label-center)::after {\n border-left-width: var(--ic-space-1px);\n}\n\n/* Border styling */\n:host(.ic-divider-dashed) hr,\n:host(.ic-divider-dashed.ic-divider-label-right)::before,\n:host(.ic-divider-dashed.ic-divider-label-center)::before,\n:host(.ic-divider-dashed.ic-divider-label-left)::after,\n:host(.ic-divider-dashed.ic-divider-label-center)::after {\n border-bottom-style: dashed;\n}\n\n:host(.ic-divider-dashed) .vertical-divider,\n:host(.ic-divider-dashed.ic-divider-label-bottom)::before,\n:host(.ic-divider-dashed.ic-divider-label-center)::before,\n:host(.ic-divider-dashed.ic-divider-label-top)::after,\n:host(.ic-divider-dashed.ic-divider-label-center)::after {\n border-left-style: dashed;\n}\n\n/* Label styling */\n:host() .ic-divider-label {\n text-wrap: wrap;\n text-align: left;\n width: max-content;\n max-width: var(--ic-divider-label-width, max(20rem, 60%));\n}\n\n:host(.ic-divider-horizontal.ic-divider-label-center) .ic-divider-label {\n text-align: center;\n}\n\n:host(.ic-divider-vertical) .ic-divider-label {\n text-align: center;\n max-width: var(--ic-divider-label-width, 20rem);\n}\n\n:host() .ic-divider-label-container {\n width: max-content;\n max-width: var(--ic-divider-label-width, max(20rem, 60%));\n}\n\n:host(.ic-divider-vertical) .ic-divider-label-container {\n max-width: var(--ic-divider-label-width, 20rem);\n}\n\n:host() .ic-divider-label p {\n width: max-content;\n max-width: 100%;\n}\n\n:host() .ic-divider-label,\n:host() ::slotted(*) {\n color: var(--ic-divider-label);\n}\n\n:host(.ic-divider-monochrome) .ic-divider-label,\n:host(.ic-divider-monochrome) ::slotted(*) {\n color: var(--ic-divider-label-monochrome);\n}\n\n/* High contrast */\n@media (forced-colors: active) {\n hr,\n :host(.ic-divider-horizontal.ic-divider-label-right)::before,\n :host(.ic-divider-horizontal.ic-divider-label-center)::before,\n :host(.ic-divider-horizontal.ic-divider-label-left)::after,\n :host(.ic-divider-horizontal.ic-divider-label-center)::after {\n border-bottom-color: transparent;\n }\n\n :host() div.vertical-divider,\n :host(.ic-divider-vertical.ic-divider-label-bottom)::before,\n :host(.ic-divider-vertical.ic-divider-label-center)::before,\n :host(.ic-divider-vertical.ic-divider-label-top)::after,\n :host(.ic-divider-vertical.ic-divider-label-center)::after {\n border-left-color: transparent;\n }\n}\n","import {\n h,\n Component,\n Host,\n Listen,\n State,\n Prop,\n Element,\n} from \"@stencil/core\";\n\nimport {\n getBrandForegroundAppearance,\n isPropDefined,\n slotHasContent,\n isEmptyString,\n} from \"../../utils/helpers\";\n\nimport {\n IcBrand,\n IcOrientation,\n IcBrandForeground,\n IcThemeMode,\n} from \"../../utils/types\";\n\nimport {\n IcDividerLabelPlacement,\n IcDividerStyles,\n IcDividerWeights,\n} from \"./ic-divider.types\";\n\n@Component({\n tag: \"ic-divider\",\n styleUrl: \"ic-divider.css\",\n scoped: true,\n})\nexport class Divider {\n private isSlottedInSideNav = false;\n\n @Element() el: HTMLIcDividerElement;\n\n @State() foregroundColor: IcBrandForeground = getBrandForegroundAppearance();\n\n /**\n * The line style of the divider.\n */\n @Prop() borderStyle?: IcDividerStyles = \"solid\";\n\n /**\n * The label for the divider. The label placement will need to be set for the label to be displayed correctly.\n */\n @Prop() label?: string;\n\n /**\n * The position the label is placed on the divider. `Left` and `right` placement is only applicable when orientation is set to `horizontal`. `Top` and `bottom` placement is only applicable when orientation is set to `vertical`. `Center` placement is applicable for both orientations.\n */\n @Prop() labelPlacement?: IcDividerLabelPlacement = \"center\";\n\n /** If `true`, the divider will be displayed in a grey colour. */\n @Prop() monochrome?: boolean = false;\n\n /**\n * The orientation of the divider.\n */\n @Prop() orientation?: IcOrientation = \"horizontal\";\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 | IcBrandForeground = \"inherit\";\n\n /**\n * The thickness of the divider.\n */\n @Prop() weight?: IcDividerWeights = \"thin\";\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.foregroundColor = ev.detail.mode;\n }\n\n private getHostAttributes = (renderLabel: boolean) =>\n this.isSlottedInSideNav\n ? {\n \"aria-hidden\": \"true\", // Prevent divider being included in screen reader count of items in side navigation\n role: \"listitem\",\n }\n : (this.orientation === \"vertical\" ||\n (renderLabel && !!isPropDefined(this.labelPlacement))) && {\n \"aria-orientation\": this.orientation,\n role: \"separator\",\n };\n\n private updateMonochromeState(): void {\n const parentEl = this.el.parentElement;\n if (parentEl) {\n const isBottomSideNav = parentEl.classList.contains(\"bottom-side-nav\");\n const isBottomWrapper =\n parentEl.parentElement?.classList.contains(\"bottom-wrapper\");\n\n if (this.isSlottedInSideNav || (isBottomSideNav && isBottomWrapper)) {\n this.el.classList.add(\"ic-side-navigation-keyline\");\n if (this.foregroundColor === \"light\") {\n this.theme = \"dark\";\n } else {\n this.theme = \"light\";\n }\n }\n }\n }\n\n componentWillRender(): void {\n this.isSlottedInSideNav =\n this.el.parentElement?.tagName === \"IC-SIDE-NAVIGATION\";\n this.updateMonochromeState();\n }\n\n render() {\n const {\n borderStyle,\n label,\n labelPlacement,\n monochrome,\n orientation,\n weight,\n } = this;\n\n const { theme } = this;\n\n const invalidPropCombination = (\n placement: IcDividerLabelPlacement\n ): void => {\n console.error(\n `${\n placement.charAt(0).toUpperCase() + placement.slice(1)\n } label placement is not applicable for a ${orientation} ic-divider (web-components) / IcDivider (react)`\n );\n };\n\n if (\n ((labelPlacement === \"left\" || labelPlacement === \"right\") &&\n orientation === \"vertical\") ||\n ((labelPlacement === \"top\" || labelPlacement === \"bottom\") &&\n orientation === \"horizontal\")\n ) {\n invalidPropCombination(labelPlacement);\n }\n\n const getTypographyVariant = (weight: string) => {\n switch (weight) {\n case \"very-thick\":\n return \"h4\";\n case \"thick\":\n return \"subtitle-large\";\n default:\n return \"label\";\n }\n };\n\n const renderLabel = () => {\n if (slotHasContent(this.el, \"label\")) {\n return (\n <div class=\"ic-divider-label-container\">\n <slot name=\"label\"></slot>\n </div>\n );\n } else if (isPropDefined(label)) {\n return (\n <ic-typography\n class=\"ic-divider-label\"\n variant={getTypographyVariant(weight!)}\n >\n <p>{label}</p>\n </ic-typography>\n );\n }\n return null;\n };\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [`ic-divider-monochrome`]: !!monochrome,\n [`ic-divider-${orientation}`]: true,\n [`ic-divider-${weight}`]: true,\n [`ic-divider-${borderStyle}`]: true,\n [`ic-divider-label-${labelPlacement}`]:\n slotHasContent(this.el, \"label\") || !isEmptyString(label),\n }}\n {...this.getHostAttributes(!!renderLabel())}\n >\n {orientation === \"horizontal\" &&\n (!renderLabel() || !isPropDefined(labelPlacement)) && <hr />}\n {!!isPropDefined(labelPlacement) && !!renderLabel() && renderLabel()}\n {orientation === \"vertical\" &&\n (!renderLabel() || !isPropDefined(labelPlacement)) && (\n <div class=\"vertical-divider\"></div>\n )}\n </Host>\n );\n }\n}\n"],"version":3}
@@ -38,11 +38,11 @@ const EmptyState = /*@__PURE__*/ proxyCustomElement(class EmptyState extends HTM
38
38
  }
39
39
  render() {
40
40
  const { aligned, body, maxLines, heading, imageSize, subheading, theme } = this;
41
- return (h(Host, { key: '16659f35d2b14d9a5e32fe6c61619fbafdf58f53', class: {
41
+ return (h(Host, { key: '60295d4ae9099c9e9adf17a6d1b1cb94a061ce1f', class: {
42
42
  [`ic-empty-state-${aligned}`]: true,
43
43
  [`image-${imageSize}`]: isSlotUsed(this.el, "image"),
44
44
  [`ic-theme-${theme}`]: theme !== "inherit",
45
- } }, isSlotUsed(this.el, "image") && h("slot", { key: 'ccc8a2daf0041d9dd5e611d3b60c96820271745b', name: "image" }), h("div", { key: 'ab68dff198b63394d890399ec53b9befbb70f222' }, h("slot", { key: 'fe99ebbfe6b9c899d4b1fb5737df268e0bc38bb4', name: "heading" }, h("ic-typography", { key: 'eea6eb657e09159b27935e16864961b95387a3d6', variant: "h4", class: "empty-state-heading" }, heading)), h("slot", { key: 'ca04ac75d72fc5864ed7821bf9d16c8999eac3aa', name: "subheading" }, h("ic-typography", { key: '257a4f73c4fb3577e4c1653607a492b4f4d18470', variant: "subtitle-small", class: "empty-state-subheading" }, subheading)), h("slot", { key: 'f0efda6128d1b5a5f2b280faf23940b0832e3121', name: "body" }, h("ic-typography", { key: '128849e7a458b1ff7b51079eeb9f6967df88cef1', maxLines: maxLines, class: "empty-state-body" }, body))), isSlotUsed(this.el, "actions") && (h("div", { key: '22cf30fd1f3636fb3344689c4435b59d4148bb5f', class: "action-area" }, h("slot", { key: 'c4e187603beb9b2291c9e038202ff651d4decfff', name: "actions" })))));
45
+ } }, isSlotUsed(this.el, "image") && h("slot", { key: 'a0ccf1c16408f306d5a1abc34a8b5540be75b986', name: "image" }), h("div", { key: 'd1f6a21c75513a3a2f8fdcba4f0a671013709651' }, h("slot", { key: '60cc4c4434d29d12f771e65bba5ff09918c904d3', name: "heading" }, h("ic-typography", { key: '6ef2441bed80f38f27b8005c89eeec7de0691587', variant: "h4", class: "empty-state-heading" }, heading)), h("slot", { key: 'dae616cdcebd5dacee04547d42b2f77203d5c48a', name: "subheading" }, h("ic-typography", { key: '6946d005ecc441b3fee96309fb1c479470c192de', variant: "subtitle-small", class: "empty-state-subheading" }, subheading)), h("slot", { key: '0ab7b57d4f33e7aad6fca48c8036846e7360aad8', name: "body" }, h("ic-typography", { key: 'ea367e9f5b6d353714d8d05576abffecc63bea2d', maxLines: maxLines, class: "empty-state-body" }, body))), isSlotUsed(this.el, "actions") && (h("div", { key: '997a125c580c0dfa6e2191df40745145168ce705', class: "action-area" }, h("slot", { key: '34c38c474a502720b659f4b2775869773cfe1f10', name: "actions" })))));
46
46
  }
47
47
  get el() { return this; }
48
48
  static get style() { return IcEmptyStateStyle0; }
@@ -2,7 +2,7 @@ import { proxyCustomElement, HTMLElement, h, Host } from '@stencil/core/internal
2
2
  import { D as DEVICE_SIZES, l as getBrandForegroundAppearance } from './helpers.js';
3
3
  import { d as defineCustomElement$2 } from './ic-link2.js';
4
4
 
5
- const icFooterLinkCss = "/*! 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(.footer-link-ungrouped-sparse){--footer-link-margin-left:0;--footer-link-margin-right:2.5rem;--footer-link-margin-bottom:0}:host(.footer-link-ungrouped-small){--footer-link-margin-left:0;--footer-link-margin-right:0;--footer-link-margin-bottom:var(--ic-space-md)}:host(.footer-link-grouped-sparse){--footer-link-margin-left:0;--footer-link-margin-right:0;--footer-link-margin-bottom:var(--ic-space-md)}:host(.footer-link-grouped-small){--footer-link-margin-left:var(--ic-space-md);--footer-link-margin-right:0;--footer-link-margin-bottom:var(--ic-space-md)}:host(.footer-link){margin-left:var(--footer-link-margin-left);margin-right:var(--footer-link-margin-right);margin-bottom:var(--footer-link-margin-bottom)}.ic-link-open-in-new-icon{vertical-align:middle;margin-left:var(--ic-space-xxs)}.ic-link>.ic-link-open-in-new-icon{fill:var(--ic-color-hyperlink-default)}.ic-link-open-in-new-icon>svg{width:var(--ic-space-md);height:var(--ic-space-md);fill:currentcolor}.ic-link:visited>.ic-link-open-in-new-icon{fill:var(--ic-color-hyperlink-visited)}.ic-link.light:visited>.ic-link-open-in-new-icon{fill:var(--ic-color-hyperlink-contrast-visited)}:host(.breadcrumb-link) .ic-link{display:var(--breadcrumb-link-display);align-items:var(--breadcrumb-link-align-items);gap:var(--breadcrumb-link-gap)}:host(.breadcrumb-link) .ic-link ::slotted(.back-icon){height:var(--ic-space-lg);width:var(--ic-space-lg)}:host(.breadcrumb-link.current-page) a,:host(.breadcrumb-link.current-page) ::slotted(a){font-weight:normal;color:inherit;text-decoration:none;display:flex;align-items:center}:host(.breadcrumb-link.current-page) .ic-link,:host(.breadcrumb-link.current-page) ::slotted(a:focus){outline:var(--ic-hc-focus-outline);text-decoration:none}:host(.breadcrumb-link.current-page) .ic-link:visited{color:var(--ic-color-text-primary)}:host(.footer-link-light) ::part(link),:host(.footer-link-dark) ::part(link){color:var(--ic-footer-link)}:host(.footer-link-light) ::slotted(svg),:host(.footer-link-dark) ::slotted(svg){fill:var(--ic-footer-logo)}:host(.footer-logo-link){transition:var(--ic-easing-transition-fast)}:host(.footer-logo-link:hover){background-color:var(--ic-footer-hover)}:host(.footer-logo-link:active){background-color:var(--ic-footer-pressed)}:host(.footer-logo-link:focus){box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline)}@media (forced-colors: active){:host(.footer-link-light) ::slotted(svg),:host(.footer-link-dark) ::slotted(svg){fill:currentcolor}}";
5
+ const icFooterLinkCss = "/*! 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(.footer-link-ungrouped-sparse){--footer-link-margin-left:0;--footer-link-margin-right:2.5rem;--footer-link-margin-bottom:0}:host(.footer-link-ungrouped-small){--footer-link-margin-left:0;--footer-link-margin-right:0;--footer-link-margin-bottom:var(--ic-space-md)}:host(.footer-link-grouped-sparse){--footer-link-margin-left:0;--footer-link-margin-right:0;--footer-link-margin-bottom:var(--ic-space-md)}:host(.footer-link-grouped-small){--footer-link-margin-left:var(--ic-space-md);--footer-link-margin-right:0;--footer-link-margin-bottom:var(--ic-space-md)}:host(.footer-link){margin-left:var(--footer-link-margin-left);margin-right:var(--footer-link-margin-right);margin-bottom:var(--footer-link-margin-bottom)}.ic-link-open-in-new-icon{vertical-align:middle;margin-left:var(--ic-space-xxs)}.ic-link>.ic-link-open-in-new-icon{fill:var(--ic-color-hyperlink-default)}.ic-link-open-in-new-icon>svg{width:var(--ic-space-md);height:var(--ic-space-md);fill:currentcolor}.ic-link:visited>.ic-link-open-in-new-icon{fill:var(--ic-color-hyperlink-visited)}.ic-link.light:visited>.ic-link-open-in-new-icon{fill:var(--ic-color-hyperlink-contrast-visited)}:host(.breadcrumb-link) .ic-link{display:var(--breadcrumb-link-display);align-items:var(--breadcrumb-link-align-items);gap:var(--breadcrumb-link-gap)}:host(.breadcrumb-link) .ic-link ::slotted(.back-icon){height:var(--ic-space-lg);width:var(--ic-space-lg)}:host(.breadcrumb-link.current-page) a,:host(.breadcrumb-link.current-page) ::slotted(a){font-weight:normal;color:inherit;text-decoration:none;display:flex;align-items:center}:host(.breadcrumb-link.current-page) .ic-link,:host(.breadcrumb-link.current-page) ::slotted(a:focus){outline:var(--ic-hc-focus-outline);text-decoration:none}:host(.breadcrumb-link.current-page) .ic-link:visited{color:var(--ic-color-text-primary)}:host(.footer-link-light) ::part(link),:host(.footer-link-dark) ::part(link){color:var(--ic-footer-link)}:host(.footer-link-light) ::slotted(svg),:host(.footer-link-dark) ::slotted(svg){fill:var(--ic-footer-logo)}:host(.footer-logo-link){transition:var(--ic-easing-transition-fast)}:host(.footer-logo-link:hover){background-color:var(--ic-footer-hover)}:host(.footer-logo-link:active){background-color:var(--ic-footer-pressed)}:host(.footer-logo-link:focus){box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline)}@media (forced-colors: active){:host(.footer-link-light) ::slotted(svg),:host(.footer-link-dark) ::slotted(svg){fill:currentcolor}}@media (prefers-reduced-motion: reduce){:host(.footer-logo-link){transition:none}}";
6
6
  const IcFooterLinkStyle0 = icFooterLinkCss;
7
7
 
8
8
  const FooterLink = /*@__PURE__*/ proxyCustomElement(class FooterLink extends HTMLElement {
@@ -47,12 +47,12 @@ const FooterLink = /*@__PURE__*/ proxyCustomElement(class FooterLink extends HTM
47
47
  const { footerConfig, href, hreflang, referrerpolicy, rel, target, download, } = this;
48
48
  const { small, grouped } = footerConfig;
49
49
  const isLogoLink = !!this.el.closest("div[slot='logo']");
50
- return (h(Host, { key: 'b093247260ef7378ef3aa666029e463641eb20c0', class: {
50
+ return (h(Host, { key: '7488851004e3af24c0b0e1d9f9ccaf0d55ae5990', class: {
51
51
  "footer-link": true,
52
52
  [`footer-link-${grouped ? "grouped" : "ungrouped"}-${small ? "small" : "sparse"}`]: true,
53
53
  [`footer-link-${this.foregroundColor}`]: true,
54
54
  "footer-logo-link": isLogoLink,
55
- }, role: "listitem" }, h("ic-link", { key: '79ac221357a96ca920f68609bb390a30f53be256', class: "footer-link", href: href, hreflang: hreflang, referrerpolicy: referrerpolicy, rel: rel, download: download !== false ? download : undefined, target: target }, h("slot", { key: '06182bca4f4268ca01466a411a8de43671fbea24' }))));
55
+ }, role: "listitem" }, h("ic-link", { key: 'e388559e01bc73c013b7493dd2c315f730beb4b8', class: "footer-link", href: href, hreflang: hreflang, referrerpolicy: referrerpolicy, rel: rel, download: download !== false ? download : undefined, target: target }, h("slot", { key: '013a86414ccca833cd52a4164c93bdf9ef040a4f' }))));
56
56
  }
57
57
  static get delegatesFocus() { return true; }
58
58
  get el() { return this; }
@@ -1 +1 @@
1
- {"file":"ic-footer-link.js","mappings":";;;;AAAA,MAAM,eAAe,GAAG,61JAA61J,CAAC;AACt3J,2BAAe,eAAe;;MCuBjB,UAAU;IAPvB;;;;QAUW,eAAU,GAAW,YAAY,CAAC,EAAE,CAAC;QACrC,iBAAY,GAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC9D,oBAAe,GAAsB,4BAA4B,EAAE,CAAC;;;;QAKrE,aAAQ,GAAsB,KAAK,CAAC;KAgG7C;IArEC,iBAAiB;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC/C;IAGD,mBAAmB;QACjB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC/C;IAGD,wBAAwB,CAAC,EAAwB;QAC/C,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;KACvC;IAEO,WAAW,CAAC,CAAc;QAChC,IAAI,CAAC,CAAC,aAAa,KAAK,IAAI,EAAE;YAC5B,IAAI,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBACnD,OAAO;oBACL,KAAK,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC;oBAC5D,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC;iBACjE,CAAC;aACH;iBAAM;gBACL,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;aAC1C;SACF;aAAM;YACL,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;SACzC;KACF;IAED,MAAM;QACJ,MAAM,EACJ,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,GAAG,EACH,MAAM,EACN,QAAQ,GACT,GAAG,IAAI,CAAC;QACT,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;QAExC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAEzD,QACE,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,aAAa,EAAE,IAAI;gBACnB,CAAC,eAAe,OAAO,GAAG,SAAS,GAAG,WAAW,IAC/C,KAAK,GAAG,OAAO,GAAG,QACpB,EAAE,GAAG,IAAI;gBACT,CAAC,eAAe,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI;gBAC7C,kBAAkB,EAAE,UAAU;aAC/B,EACD,IAAI,EAAC,UAAU,IAEf,gEACE,KAAK,EAAC,aAAa,EACnB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,KAAK,KAAK,GAAG,QAAQ,GAAG,SAAS,EACnD,MAAM,EAAE,MAAM,IAEd,8DAAQ,CACA,CACL,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/ic-footer-link/ic-footer-link.css?tag=ic-footer-link&encapsulation=shadow","src/components/ic-footer-link/ic-footer-link.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host(.footer-link-ungrouped-sparse) {\n --footer-link-margin-left: 0;\n --footer-link-margin-right: 2.5rem;\n --footer-link-margin-bottom: 0;\n}\n\n:host(.footer-link-ungrouped-small) {\n --footer-link-margin-left: 0;\n --footer-link-margin-right: 0;\n --footer-link-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-grouped-sparse) {\n --footer-link-margin-left: 0;\n --footer-link-margin-right: 0;\n --footer-link-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-grouped-small) {\n --footer-link-margin-left: var(--ic-space-md);\n --footer-link-margin-right: 0;\n --footer-link-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link) {\n margin-left: var(--footer-link-margin-left);\n margin-right: var(--footer-link-margin-right);\n margin-bottom: var(--footer-link-margin-bottom);\n}\n\n.ic-link-open-in-new-icon {\n vertical-align: middle;\n margin-left: var(--ic-space-xxs);\n}\n\n.ic-link > .ic-link-open-in-new-icon {\n fill: var(--ic-color-hyperlink-default);\n}\n\n.ic-link-open-in-new-icon > svg {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n fill: currentcolor;\n}\n\n.ic-link:visited > .ic-link-open-in-new-icon {\n fill: var(--ic-color-hyperlink-visited);\n}\n\n.ic-link.light:visited > .ic-link-open-in-new-icon {\n fill: var(--ic-color-hyperlink-contrast-visited);\n}\n\n:host(.breadcrumb-link) .ic-link {\n display: var(--breadcrumb-link-display);\n align-items: var(--breadcrumb-link-align-items);\n gap: var(--breadcrumb-link-gap);\n}\n\n:host(.breadcrumb-link) .ic-link ::slotted(.back-icon) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host(.breadcrumb-link.current-page) a,\n:host(.breadcrumb-link.current-page) ::slotted(a) {\n font-weight: normal;\n color: inherit;\n text-decoration: none;\n display: flex;\n align-items: center;\n}\n\n:host(.breadcrumb-link.current-page) .ic-link,\n:host(.breadcrumb-link.current-page) ::slotted(a:focus) {\n outline: var(--ic-hc-focus-outline);\n text-decoration: none;\n}\n\n:host(.breadcrumb-link.current-page) .ic-link:visited {\n color: var(--ic-color-text-primary);\n}\n\n:host(.footer-link-light) ::part(link),\n:host(.footer-link-dark) ::part(link) {\n color: var(--ic-footer-link);\n}\n\n:host(.footer-link-light) ::slotted(svg),\n:host(.footer-link-dark) ::slotted(svg) {\n fill: var(--ic-footer-logo);\n}\n\n:host(.footer-logo-link) {\n transition: var(--ic-easing-transition-fast);\n}\n\n:host(.footer-logo-link:hover) {\n background-color: var(--ic-footer-hover);\n}\n\n:host(.footer-logo-link:active) {\n background-color: var(--ic-footer-pressed);\n}\n\n:host(.footer-logo-link:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n}\n\n@media (forced-colors: active) {\n :host(.footer-link-light) ::slotted(svg),\n :host(.footer-link-dark) ::slotted(svg) {\n fill: currentcolor;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Listen,\n Prop,\n h,\n State,\n} from \"@stencil/core\";\nimport {\n DEVICE_SIZES,\n getBrandForegroundAppearance,\n} from \"../../utils/helpers\";\nimport { IcBrand, IcBrandForeground } from \"../../utils/types\";\n\ntype FooterConfig = { small: boolean; grouped: boolean };\n\n@Component({\n tag: \"ic-footer-link\",\n styleUrl: \"ic-footer-link.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class FooterLink {\n @Element() el: HTMLIcFooterLinkElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() footerConfig: FooterConfig = { small: false, grouped: false };\n @State() foregroundColor: IcBrandForeground = getBrandForegroundAppearance();\n\n /**\n * If `true`, the user can save the linked URL instead of navigating to it.\n */\n @Prop() download?: string | boolean = false;\n\n /**\n * The URL that the link points to.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: 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 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 componentWillLoad(): void {\n this.footerConfig = this.inferConfig(this.el);\n }\n\n @Listen(\"footerResized\", { target: \"document\" })\n footerResizeHandler(): void {\n this.footerConfig = this.inferConfig(this.el);\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n footerBrandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.foregroundColor = ev.detail.mode;\n }\n\n private inferConfig(e: HTMLElement): FooterConfig {\n if (e.parentElement !== null) {\n if (e.parentElement.classList.contains(\"ic-footer\")) {\n return {\n small: e.parentElement.classList.contains(\"ic-footer-small\"),\n grouped: e.parentElement.classList.contains(\"ic-footer-grouped\"),\n };\n } else {\n return this.inferConfig(e.parentElement);\n }\n } else {\n return { small: false, grouped: false };\n }\n }\n\n render() {\n const {\n footerConfig,\n href,\n hreflang,\n referrerpolicy,\n rel,\n target,\n download,\n } = this;\n const { small, grouped } = footerConfig;\n\n const isLogoLink = !!this.el.closest(\"div[slot='logo']\");\n\n return (\n <Host\n class={{\n \"footer-link\": true,\n [`footer-link-${grouped ? \"grouped\" : \"ungrouped\"}-${\n small ? \"small\" : \"sparse\"\n }`]: true,\n [`footer-link-${this.foregroundColor}`]: true,\n \"footer-logo-link\": isLogoLink,\n }}\n role=\"listitem\"\n >\n <ic-link\n class=\"footer-link\"\n href={href}\n hreflang={hreflang}\n referrerpolicy={referrerpolicy}\n rel={rel}\n download={download !== false ? download : undefined}\n target={target}\n >\n <slot />\n </ic-link>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-footer-link.js","mappings":";;;;AAAA,MAAM,eAAe,GAAG,+6JAA+6J,CAAC;AACx8J,2BAAe,eAAe;;MCuBjB,UAAU;IAPvB;;;;QAUW,eAAU,GAAW,YAAY,CAAC,EAAE,CAAC;QACrC,iBAAY,GAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC9D,oBAAe,GAAsB,4BAA4B,EAAE,CAAC;;;;QAKrE,aAAQ,GAAsB,KAAK,CAAC;KAgG7C;IArEC,iBAAiB;QACf,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC/C;IAGD,mBAAmB;QACjB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;KAC/C;IAGD,wBAAwB,CAAC,EAAwB;QAC/C,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC;KACvC;IAEO,WAAW,CAAC,CAAc;QAChC,IAAI,CAAC,CAAC,aAAa,KAAK,IAAI,EAAE;YAC5B,IAAI,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE;gBACnD,OAAO;oBACL,KAAK,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,iBAAiB,CAAC;oBAC5D,OAAO,EAAE,CAAC,CAAC,aAAa,CAAC,SAAS,CAAC,QAAQ,CAAC,mBAAmB,CAAC;iBACjE,CAAC;aACH;iBAAM;gBACL,OAAO,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC;aAC1C;SACF;aAAM;YACL,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;SACzC;KACF;IAED,MAAM;QACJ,MAAM,EACJ,YAAY,EACZ,IAAI,EACJ,QAAQ,EACR,cAAc,EACd,GAAG,EACH,MAAM,EACN,QAAQ,GACT,GAAG,IAAI,CAAC;QACT,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;QAExC,MAAM,UAAU,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;QAEzD,QACE,EAAC,IAAI,qDACH,KAAK,EAAE;gBACL,aAAa,EAAE,IAAI;gBACnB,CAAC,eAAe,OAAO,GAAG,SAAS,GAAG,WAAW,IAC/C,KAAK,GAAG,OAAO,GAAG,QACpB,EAAE,GAAG,IAAI;gBACT,CAAC,eAAe,IAAI,CAAC,eAAe,EAAE,GAAG,IAAI;gBAC7C,kBAAkB,EAAE,UAAU;aAC/B,EACD,IAAI,EAAC,UAAU,IAEf,gEACE,KAAK,EAAC,aAAa,EACnB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,QAAQ,EAClB,cAAc,EAAE,cAAc,EAC9B,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,QAAQ,KAAK,KAAK,GAAG,QAAQ,GAAG,SAAS,EACnD,MAAM,EAAE,MAAM,IAEd,8DAAQ,CACA,CACL,EACP;KACH;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","names":[],"sources":["src/components/ic-footer-link/ic-footer-link.css?tag=ic-footer-link&encapsulation=shadow","src/components/ic-footer-link/ic-footer-link.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host(.footer-link-ungrouped-sparse) {\n --footer-link-margin-left: 0;\n --footer-link-margin-right: 2.5rem;\n --footer-link-margin-bottom: 0;\n}\n\n:host(.footer-link-ungrouped-small) {\n --footer-link-margin-left: 0;\n --footer-link-margin-right: 0;\n --footer-link-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-grouped-sparse) {\n --footer-link-margin-left: 0;\n --footer-link-margin-right: 0;\n --footer-link-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link-grouped-small) {\n --footer-link-margin-left: var(--ic-space-md);\n --footer-link-margin-right: 0;\n --footer-link-margin-bottom: var(--ic-space-md);\n}\n\n:host(.footer-link) {\n margin-left: var(--footer-link-margin-left);\n margin-right: var(--footer-link-margin-right);\n margin-bottom: var(--footer-link-margin-bottom);\n}\n\n.ic-link-open-in-new-icon {\n vertical-align: middle;\n margin-left: var(--ic-space-xxs);\n}\n\n.ic-link > .ic-link-open-in-new-icon {\n fill: var(--ic-color-hyperlink-default);\n}\n\n.ic-link-open-in-new-icon > svg {\n width: var(--ic-space-md);\n height: var(--ic-space-md);\n fill: currentcolor;\n}\n\n.ic-link:visited > .ic-link-open-in-new-icon {\n fill: var(--ic-color-hyperlink-visited);\n}\n\n.ic-link.light:visited > .ic-link-open-in-new-icon {\n fill: var(--ic-color-hyperlink-contrast-visited);\n}\n\n:host(.breadcrumb-link) .ic-link {\n display: var(--breadcrumb-link-display);\n align-items: var(--breadcrumb-link-align-items);\n gap: var(--breadcrumb-link-gap);\n}\n\n:host(.breadcrumb-link) .ic-link ::slotted(.back-icon) {\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host(.breadcrumb-link.current-page) a,\n:host(.breadcrumb-link.current-page) ::slotted(a) {\n font-weight: normal;\n color: inherit;\n text-decoration: none;\n display: flex;\n align-items: center;\n}\n\n:host(.breadcrumb-link.current-page) .ic-link,\n:host(.breadcrumb-link.current-page) ::slotted(a:focus) {\n outline: var(--ic-hc-focus-outline);\n text-decoration: none;\n}\n\n:host(.breadcrumb-link.current-page) .ic-link:visited {\n color: var(--ic-color-text-primary);\n}\n\n:host(.footer-link-light) ::part(link),\n:host(.footer-link-dark) ::part(link) {\n color: var(--ic-footer-link);\n}\n\n:host(.footer-link-light) ::slotted(svg),\n:host(.footer-link-dark) ::slotted(svg) {\n fill: var(--ic-footer-logo);\n}\n\n:host(.footer-logo-link) {\n transition: var(--ic-easing-transition-fast);\n}\n\n:host(.footer-logo-link:hover) {\n background-color: var(--ic-footer-hover);\n}\n\n:host(.footer-logo-link:active) {\n background-color: var(--ic-footer-pressed);\n}\n\n:host(.footer-logo-link:focus) {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n}\n\n@media (forced-colors: active) {\n :host(.footer-link-light) ::slotted(svg),\n :host(.footer-link-dark) ::slotted(svg) {\n fill: currentcolor;\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n :host(.footer-logo-link) {\n transition: none;\n }\n}\n","import {\n Component,\n Element,\n Host,\n Listen,\n Prop,\n h,\n State,\n} from \"@stencil/core\";\nimport {\n DEVICE_SIZES,\n getBrandForegroundAppearance,\n} from \"../../utils/helpers\";\nimport { IcBrand, IcBrandForeground } from \"../../utils/types\";\n\ntype FooterConfig = { small: boolean; grouped: boolean };\n\n@Component({\n tag: \"ic-footer-link\",\n styleUrl: \"ic-footer-link.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class FooterLink {\n @Element() el: HTMLIcFooterLinkElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() footerConfig: FooterConfig = { small: false, grouped: false };\n @State() foregroundColor: IcBrandForeground = getBrandForegroundAppearance();\n\n /**\n * If `true`, the user can save the linked URL instead of navigating to it.\n */\n @Prop() download?: string | boolean = false;\n\n /**\n * The URL that the link points to.\n */\n @Prop() href?: string;\n\n /**\n * The human language of the linked URL.\n */\n @Prop() hreflang?: 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 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 componentWillLoad(): void {\n this.footerConfig = this.inferConfig(this.el);\n }\n\n @Listen(\"footerResized\", { target: \"document\" })\n footerResizeHandler(): void {\n this.footerConfig = this.inferConfig(this.el);\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n footerBrandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.foregroundColor = ev.detail.mode;\n }\n\n private inferConfig(e: HTMLElement): FooterConfig {\n if (e.parentElement !== null) {\n if (e.parentElement.classList.contains(\"ic-footer\")) {\n return {\n small: e.parentElement.classList.contains(\"ic-footer-small\"),\n grouped: e.parentElement.classList.contains(\"ic-footer-grouped\"),\n };\n } else {\n return this.inferConfig(e.parentElement);\n }\n } else {\n return { small: false, grouped: false };\n }\n }\n\n render() {\n const {\n footerConfig,\n href,\n hreflang,\n referrerpolicy,\n rel,\n target,\n download,\n } = this;\n const { small, grouped } = footerConfig;\n\n const isLogoLink = !!this.el.closest(\"div[slot='logo']\");\n\n return (\n <Host\n class={{\n \"footer-link\": true,\n [`footer-link-${grouped ? \"grouped\" : \"ungrouped\"}-${\n small ? \"small\" : \"sparse\"\n }`]: true,\n [`footer-link-${this.foregroundColor}`]: true,\n \"footer-logo-link\": isLogoLink,\n }}\n role=\"listitem\"\n >\n <ic-link\n class=\"footer-link\"\n href={href}\n hreflang={hreflang}\n referrerpolicy={referrerpolicy}\n rel={rel}\n download={download !== false ? download : undefined}\n target={target}\n >\n <slot />\n </ic-link>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -80,7 +80,7 @@ const Hero = /*@__PURE__*/ proxyCustomElement(class Hero extends HTMLElement {
80
80
  "background-position": scrollFactor,
81
81
  };
82
82
  }
83
- return (h(Host, { key: 'fdbc239703d4121db55ebf918378cd363253529f', class: {
83
+ return (h(Host, { key: 'd7b8be369996272dd365fb416a1134e288dfe6cd', class: {
84
84
  [`ic-hero-${IcBrandForegroundEnum.Dark}`]: foregroundColor === IcBrandForegroundEnum.Dark,
85
85
  ["has-background-image"]: backgroundImage !== undefined,
86
86
  ["has-right-content"]: this.rightContent,
@@ -88,12 +88,12 @@ const Hero = /*@__PURE__*/ proxyCustomElement(class Hero extends HTMLElement {
88
88
  ["secondary-heading"]: !!secondaryHeading,
89
89
  [`ic-hero-content-aligned-${contentAligned}`]: contentAligned !== undefined,
90
90
  [`ic-theme-${theme}`]: theme !== "inherit",
91
- }, style: style }, h("ic-section-container", { key: '31bb8c8c2a656e502f2d636382e5c52135d4ea0f', aligned: aligned, fullHeight: true, class: "section-container" }, h("div", { key: '890e74b018f5a906a6e07d86beb3ebe2730ea01b', class: {
91
+ }, style: style }, h("ic-section-container", { key: 'a5a8585b31aba9f1434ffaf6aa1145d7853ea4b6', aligned: aligned, fullHeight: true, class: "section-container" }, h("div", { key: '1830e42eb85d545b947dfe6ebc6b0d462e48397e', class: {
92
92
  ["left-container"]: true,
93
93
  ["left-container-full-width"]: this.leftContentFullWidth,
94
- } }, h("div", { key: 'd67d033a9eb735b1f0710e3812f80173bd963c61', class: "heading" }, h("slot", { key: '154e08b9f3193d86dcf3aa9a94d742194f98d979', name: "heading" }, h("ic-typography", { key: '3e0e811d78b19009cc3ec19458e38455d1e93f75', variant: size === "small" ? "h2" : "h1", class: {
94
+ } }, h("div", { key: '4e2d3d2c1c694f6b330f2555388e9ed4abf4a907', class: "heading" }, h("slot", { key: 'ec340ba480f0fd881279225b160a8e6de2a4184a', name: "heading" }, h("ic-typography", { key: 'fb49e9dd42f753dc4c4e610da1e0fa76df9cf055', variant: size === "small" ? "h2" : "h1", class: {
95
95
  ["heading-bottom-spacing"]: size !== "small",
96
- } }, h("h2", { key: 'f0183d996aac2f70dca05b71be894b9529d7ec8b' }, heading)))), h("div", { key: 'dd5f0787458bf168c231906d7a9394df0fc0189b', class: "subheading" }, h("slot", { key: '16ddacec5c6d34aef1d34e998d9ab314ff8ee38c', name: "subheading" }, h("ic-typography", { key: '3d58628932a1c75cff267f60a9330aa85401ee73', variant: "body" }, subheading))), h("div", { key: 'b2bf9a217cbde760f04d90d6976489bc143bd2e5', class: "interaction-container" }, h("slot", { key: '8e42a9799b7c9bf632265d23e4ac3c6a4fd33e6f', name: "interaction" }))), (isPropDefined(secondaryHeading) || this.rightContent) && (h("div", { key: '7ed3fd485177546e131e4a87b7a9458c1d1f6207', class: "right-container" }, h("slot", { key: 'e97a8345e4dc3f25262c3cee033881a005b1a364', name: "secondary" }, secondaryHeading && (h("div", { key: 'd2b2a14a8847284bedbd67ca5bbc8fe822dbc38c', class: "secondary-container" }, h("div", { key: '8ebe7863cc432fb082c083d9904bf14d859c5d44', class: "secondary-heading" }, h("ic-typography", { key: '16b926e7b38f87d945a770196350d2f5877db451', variant: "h4" }, h("h3", { key: 'a196ab6f8ca699e7e8a7e1fa557afd79c859d043' }, secondaryHeading))), h("div", { key: '532c8888092e849194a6d4b31145807b3afbd240', class: "secondary-subheading" }, h("ic-typography", { key: '2852a039483f536e41719ae9f3c35179c4ec0ec2', variant: "subtitle-small" }, secondarySubheading))))))))));
96
+ } }, h("h2", { key: '822a6963c3c2aab17d3a42ff2257e4635414f5d8' }, heading)))), h("div", { key: '5e3fa3963bd1a2b18c929e897832968810b25b63', class: "subheading" }, h("slot", { key: '04071839319227b3c6e726562f08a2b860c31f4a', name: "subheading" }, h("ic-typography", { key: '096dd77e50768edee7017d79b620773a7260643c', variant: "body" }, subheading))), h("div", { key: '3e4a3f2afe811228a507dd3edd64f0f7f14c9c44', class: "interaction-container" }, h("slot", { key: 'ce0694893cd12d0da5a4db36cca1e8c4ffadd6b2', name: "interaction" }))), (isPropDefined(secondaryHeading) || this.rightContent) && (h("div", { key: '23a775df706d7464e40d86c3f79564b2cf4c8028', class: "right-container" }, h("slot", { key: 'f331ac3773afff23990f257c4999cb23957f0a95', name: "secondary" }, secondaryHeading && (h("div", { key: '12c5630d51d9f16ec5bd0b03f0de821ce8648e26', class: "secondary-container" }, h("div", { key: '0dff38bdf87ccd660f5292b41b29f2b0c681b39d', class: "secondary-heading" }, h("ic-typography", { key: '035a480675ce2779e4c4d5a97cfeace5de1b132a', variant: "h4" }, h("h3", { key: '0bb8cfd2b3c27206ec7e866b02018ec0c2810386' }, secondaryHeading))), h("div", { key: 'c55e6e2669c922a7c5a45d0c5fc225dbcade1e77', class: "secondary-subheading" }, h("ic-typography", { key: '52a346be44dec236bd0dcf815ccb41212684fb49', variant: "subtitle-small" }, secondarySubheading))))))))));
97
97
  }
98
98
  get el() { return this; }
99
99
  static get style() { return IcHeroStyle0; }
@@ -13,7 +13,7 @@ const RightArrow = `<svg xmlns="http://www.w3.org/2000/svg" width="20" height="2
13
13
  <path d="M8.08748 5L6.91248 6.175L10.7291 10L6.91248 13.825L8.08748 15L13.0875 10L8.08748 5Z"/>
14
14
  </svg>`;
15
15
 
16
- const icHorizontalScrollCss = "/*! 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{--border-bottom-color:var(--ic-architectural-300);--splitter-color:var(--ic-architectural-100);display:flex;max-width:100%}:host(.ic-horizontal-scroll-light){--splitter-color:var(--ic-color-keyline-lighten)}:host(.ic-horizontal-scroll-light) ic-button>svg{color:var(--ic-color-text-action-monochrome-dark)}:host(.ic-horizontal-scroll-dark){--splitter-color:var(--ic-color-keyline-darken)}:host(.ic-horizontal-scroll-dark) ic-button>svg{color:var(--ic-color-text-action-monochrome-light)}::slotted(*){overflow-x:scroll;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;margin:calc(var(--ic-space-xs) * -1) !important;padding:var(--ic-space-xs) !important}:host(.ic-horizontal-scroll-visible) ::slotted(*){margin:calc(var(--ic-space-xs) * -1) 0 !important;padding:var(--ic-space-xs) !important}.tabs-container::-webkit-scrollbar{display:none}.scroll-container-left,.scroll-container-right{display:flex}.scroll-container-left{margin-left:var(--ic-space-xxs)}.scroll-container-right{margin-right:var(--ic-space-xxs)}.hidden{display:none}.scroll-arrow{margin:var(--ic-space-xxs) 0}.disabled .ic-tooltip-container{display:none !important}.scroll-splitter-left,.scroll-splitter-right{display:flex;height:var(--ic-space-lg);width:var(--ic-space-1px);margin-top:var(--ic-space-xs);border-radius:var(--ic-space-1px);background-color:var(--splitter-color)}.scroll-splitter-left{margin-left:calc(var(--ic-space-xxs) - var(--ic-space-1px))}.scroll-splitter-right{margin-right:calc(var(--ic-space-xxs) - var(--ic-space-1px))}.disabled .scroll-splitter-left,.disabled .scroll-splitter-right{background-color:transparent}:host(.ic-horizontal-scroll-dark) .disabled ic-button>svg,:host(.ic-horizontal-scroll-light) .disabled ic-button>svg{color:var(--splitter-color) !important}";
16
+ const icHorizontalScrollCss = "/*! 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{--border-bottom-color:var(--ic-architectural-300);--splitter-color:var(--ic-architectural-100);display:flex;max-width:100%}:host(.ic-horizontal-scroll-light){--splitter-color:var(--ic-color-keyline-lighten)}:host(.ic-horizontal-scroll-light) ic-button>svg{color:var(--ic-color-text-action-monochrome-dark)}:host(.ic-horizontal-scroll-dark){--splitter-color:var(--ic-color-keyline-darken)}:host(.ic-horizontal-scroll-dark) ic-button>svg{color:var(--ic-color-text-action-monochrome-light)}::slotted(*){overflow-x:scroll;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;margin:calc(var(--ic-space-xs) * -1) !important;padding:var(--ic-space-xs) !important}:host(.ic-horizontal-scroll-visible) ::slotted(*){margin:calc(var(--ic-space-xs) * -1) 0 !important;padding:var(--ic-space-xs) !important}.tabs-container::-webkit-scrollbar{display:none}.scroll-container-left,.scroll-container-right{display:flex}.scroll-container-left{margin-left:var(--ic-space-xxs)}.scroll-container-right{margin-right:var(--ic-space-xxs)}.hidden{display:none}.scroll-arrow{margin:var(--ic-space-xxs) 0}.disabled .ic-tooltip-container{display:none !important}.scroll-splitter-left,.scroll-splitter-right{display:flex;height:var(--ic-space-lg);width:var(--ic-space-1px);margin-top:var(--ic-space-xs);border-radius:var(--ic-space-1px);background-color:var(--splitter-color)}.scroll-splitter-left{margin-left:calc(var(--ic-space-xxs) - var(--ic-space-1px))}.scroll-splitter-right{margin-right:calc(var(--ic-space-xxs) - var(--ic-space-1px))}.disabled .scroll-splitter-left,.disabled .scroll-splitter-right{background-color:transparent}:host(.ic-horizontal-scroll-dark) .disabled ic-button>svg,:host(.ic-horizontal-scroll-light) .disabled ic-button>svg{color:var(--splitter-color) !important}@media (prefers-reduced-motion: reduce){::slotted(*){scroll-behavior:auto}}";
17
17
  const IcHorizontalScrollStyle0 = icHorizontalScrollCss;
18
18
 
19
19
  const SCROLL_DELAY_MS = 200;
@@ -170,22 +170,22 @@ const HorizontalScroll = /*@__PURE__*/ proxyCustomElement(class HorizontalScroll
170
170
  }
171
171
  render() {
172
172
  const { firstItemVisible, lastItemVisible, itemOverflow } = this;
173
- return (h(Host, { key: '329d00bc4e7ebfab434cb41dd32e919820c5adb5', class: {
173
+ return (h(Host, { key: 'be750f303ae10eced67f4683d262c765a2317bb2', class: {
174
174
  ["ic-horizontal-scroll-visible"]: itemOverflow,
175
175
  ["ic-horizontal-scroll-dark"]: this.appearance === IcBrandForegroundEnum.Dark,
176
176
  ["ic-horizontal-scroll-light"]: this.appearance === IcBrandForegroundEnum.Light,
177
177
  [`ic-theme-${this.theme}`]: this.theme !== "inherit",
178
- } }, h("div", { key: 'ed231bf1fcd68399e29e790026b377bf8f96a14e', "aria-hidden": "true", class: {
178
+ } }, h("div", { key: '666121449513dc99dc038c434ab259bb891351da', "aria-hidden": "true", class: {
179
179
  ["scroll-container-left"]: true,
180
180
  ["hidden"]: !itemOverflow,
181
181
  ["disabled"]: firstItemVisible,
182
- }, role: "tab" }, h("ic-button", { key: 'c34f45cb44e242939985f792a21e482a11078fba', class: "scroll-arrow", variant: "icon-tertiary", "aria-label": "Scroll left", theme: this.theme === "light" || this.theme === "inherit"
182
+ }, role: "tab" }, h("ic-button", { key: '09646f50ff3f0ef162a85b8a5899338c70cf12f0', class: "scroll-arrow", variant: "icon-tertiary", "aria-label": "Scroll left", theme: this.theme === "light" || this.theme === "inherit"
183
183
  ? "dark"
184
- : "light", monochrome: this.monochrome, innerHTML: LeftArrow, disabled: firstItemVisible, tabindex: "-1", onClick: this.scrollLeft, onMouseDown: this.leftArrowMouseDownHandler }), h("span", { key: 'c5b52e4cfa655f8dc499e69da531870f4e4fe216', class: "scroll-splitter-left" })), h("slot", { key: '8478dc63668ed2e842182c47e9a3b27b77ac642f' }), h("div", { key: 'b9b0e21e69a40f7afda403db3db8b983257240c0', "aria-hidden": "true", class: {
184
+ : "light", monochrome: this.monochrome, innerHTML: LeftArrow, disabled: firstItemVisible, tabindex: "-1", onClick: this.scrollLeft, onMouseDown: this.leftArrowMouseDownHandler }), h("span", { key: 'b046b20bca53065b37ed041d5b3e5f318219f4e3', class: "scroll-splitter-left" })), h("slot", { key: '446617c76787df8a0721f99f50f603705ebca615' }), h("div", { key: '495869a8eaaaedd153fdd65f09bdf4f6dba1648d', "aria-hidden": "true", class: {
185
185
  ["scroll-container-right"]: true,
186
186
  ["hidden"]: !itemOverflow,
187
187
  ["disabled"]: lastItemVisible,
188
- }, role: "tab" }, h("span", { key: '909936dddf54502bb1bdc3fdfdf36d59b5582238', class: "scroll-splitter-right" }), h("ic-button", { key: '4e9093a9da1b3e387933dfc2495f1279bb7ad180', class: "scroll-arrow", variant: "icon-tertiary", "aria-label": "Scroll right", theme: this.theme === "light" || this.theme === "inherit"
188
+ }, role: "tab" }, h("span", { key: '7983e2a0990b8882417e3cfa29852ae0e1c7bf97', class: "scroll-splitter-right" }), h("ic-button", { key: '2c8391e482559ae4de573f73cb0147c9f27e4f2f', class: "scroll-arrow", variant: "icon-tertiary", "aria-label": "Scroll right", theme: this.theme === "light" || this.theme === "inherit"
189
189
  ? "dark"
190
190
  : "light", monochrome: this.monochrome, innerHTML: RightArrow, disabled: lastItemVisible, tabindex: "-1", onClick: this.scrollRight, onMouseDown: this.rightArrowMouseDownHandler }))));
191
191
  }
@@ -1 +1 @@
1
- {"file":"ic-horizontal-scroll2.js","mappings":"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","names":[],"sources":["src/components/ic-horizontal-scroll/ic-horizontal-scroll.css?tag=ic-horizontal-scroll&encapsulation=shadow","src/components/ic-horizontal-scroll/ic-horizontal-scroll.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n --border-bottom-color: var(--ic-architectural-300);\n --splitter-color: var(--ic-architectural-100);\n\n display: flex;\n max-width: 100%;\n}\n\n:host(.ic-horizontal-scroll-light) {\n --splitter-color: var(--ic-color-keyline-lighten);\n}\n\n:host(.ic-horizontal-scroll-light) ic-button > svg {\n color: var(--ic-color-text-action-monochrome-dark);\n}\n\n:host(.ic-horizontal-scroll-dark) {\n --splitter-color: var(--ic-color-keyline-darken);\n}\n\n:host(.ic-horizontal-scroll-dark) ic-button > svg {\n color: var(--ic-color-text-action-monochrome-light);\n}\n\n/* Slotted items container element */\n::slotted(*) {\n overflow-x: scroll;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n -ms-overflow-style: none;\n margin: calc(var(--ic-space-xs) * -1) !important;\n padding: var(--ic-space-xs) !important;\n}\n\n:host(.ic-horizontal-scroll-visible) ::slotted(*) {\n margin: calc(var(--ic-space-xs) * -1) 0 !important;\n padding: var(--ic-space-xs) !important;\n}\n\n.tabs-container::-webkit-scrollbar {\n display: none;\n}\n\n.scroll-container-left,\n.scroll-container-right {\n display: flex;\n}\n\n.scroll-container-left {\n margin-left: var(--ic-space-xxs);\n}\n\n.scroll-container-right {\n margin-right: var(--ic-space-xxs);\n}\n\n.hidden {\n display: none;\n}\n\n.scroll-arrow {\n margin: var(--ic-space-xxs) 0;\n}\n\n.disabled .ic-tooltip-container {\n display: none !important;\n}\n\n.scroll-splitter-left,\n.scroll-splitter-right {\n display: flex;\n height: var(--ic-space-lg);\n width: var(--ic-space-1px);\n margin-top: var(--ic-space-xs);\n border-radius: var(--ic-space-1px);\n background-color: var(--splitter-color);\n}\n\n.scroll-splitter-left {\n margin-left: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.scroll-splitter-right {\n margin-right: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.disabled .scroll-splitter-left,\n.disabled .scroll-splitter-right {\n background-color: transparent;\n}\n\n:host(.ic-horizontal-scroll-dark) .disabled ic-button > svg,\n:host(.ic-horizontal-scroll-light) .disabled ic-button > svg {\n color: var(--splitter-color) !important;\n}\n","import {\n Component,\n Element,\n h,\n Host,\n State,\n Method,\n Prop,\n} from \"@stencil/core\";\n\nimport LeftArrow from \"./assets/left-arrow.svg\";\nimport RightArrow from \"./assets/right-arrow.svg\";\nimport { getSlotElements } from \"../../utils/helpers\";\n\nimport { checkResizeObserver, elementOverflowsX } from \"../../utils/helpers\";\nimport {\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcThemeMode,\n} from \"../../utils/types\";\n\nconst SCROLL_DELAY_MS = 200;\n\n@Component({\n tag: \"ic-horizontal-scroll\",\n styleUrl: \"./ic-horizontal-scroll.css\",\n shadow: true,\n})\nexport class HorizontalScroll {\n private buttonStateSet: boolean = false;\n private isScrolling: number;\n private itemOffsets: number[];\n private items: HTMLElement[];\n private itemsContainerEl: HTMLElement;\n private resizeObserver: ResizeObserver;\n private scrollDelay: number;\n\n @Element() el: HTMLIcHorizontalScrollElement;\n\n @State() firstItemVisible: boolean = true;\n @State() itemOverflow: boolean = false;\n @State() lastItemVisible: boolean = false;\n\n /**\n * The appearance of the horizontal scroll, e.g. dark, light or the default.\n */\n @Prop() appearance?: IcBrandForeground = \"default\";\n\n /** @internal Determines whether black variant of the tabs should be displayed. */\n @Prop() monochrome?: boolean = false;\n\n /**\n * @internal Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * @internal The name of the event that triggers focus handler logic.\n */\n @Prop() focusTrigger?: string = \"focus\";\n\n componentWillLoad(): void {\n this.itemsContainerEl = this.el.children[0] as HTMLElement;\n this.itemsContainerEl.addEventListener(\"scroll\", this.scrollHandler);\n this.items = getSlotElements(this.itemsContainerEl) as HTMLElement[];\n this.items.forEach((item) => {\n if (item.addEventListener) {\n item.addEventListener(\n this.focusTrigger as keyof HTMLElementEventMap,\n this.focusHandler\n );\n }\n });\n }\n\n componentDidLoad(): void {\n let runningTotal = 0;\n this.itemOffsets = this.items.map((item) => {\n runningTotal += item.offsetWidth;\n return runningTotal;\n });\n\n checkResizeObserver(this.runResizeObserver);\n\n // Add event listener to scroll containers as mouse events are not fired on disabled elements (ic-button's <button>)\n // 'mouseleave' needed in case the user moves their mouse while holding the arrow buttons\n // - 'mouseup' otherwise not detected and scrolling not stopped\n const scrollArrows = Array.from(\n this.el.shadowRoot?.querySelectorAll(\"div\") || []\n ) as HTMLElement[];\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) =>\n arrow.addEventListener(event, this.arrowMouseUpHandler)\n );\n });\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== undefined) {\n this.resizeObserver.disconnect();\n }\n\n const scrollArrows = Array.from(\n this.el.shadowRoot?.querySelectorAll(\"div\") || []\n ) as HTMLElement[];\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) =>\n arrow.removeEventListener(event, this.arrowMouseUpHandler)\n );\n });\n\n this.items?.forEach((item) => {\n if (item.removeEventListener) {\n item.removeEventListener(\n this.focusTrigger as keyof HTMLElementEventMap,\n this.focusHandler\n );\n }\n });\n\n this.itemsContainerEl?.removeEventListener(\"scroll\", this.scrollHandler);\n }\n\n /**\n * @internal if side scrolling enabled, scrolls the specified item into view.\n */\n @Method()\n async scrollItemIntoView(itemPosition: number): Promise<void> {\n this.firstItemVisible = itemPosition <= 0;\n const newScrollPos =\n itemPosition <= 0 ? 0 : this.itemOffsets[itemPosition - 1];\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + newScrollPos >=\n this.itemsContainerEl.scrollWidth;\n this.buttonStateSet = true;\n this.itemsContainerEl.scrollLeft = newScrollPos;\n }\n\n private focusHandler = (event: Event) => {\n this.itemFocusHandler(\n Array.from(this.items).indexOf(event.target as HTMLElement)\n );\n };\n\n private itemFocusHandler(itemPosition: number): void {\n if (this.itemOverflow) {\n this.scrollItemIntoView(itemPosition);\n }\n }\n\n private resizeObserverCallback = () => {\n if (this.el.clientWidth >= this.itemsContainerEl.scrollWidth) {\n this.itemOverflow = false;\n } else {\n this.itemOverflow = elementOverflowsX(this.itemsContainerEl);\n }\n\n if (this.itemOverflow) {\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + this.itemsContainerEl.scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.itemsContainerEl);\n };\n\n private scrollLeft = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() - 1);\n };\n\n private scrollRight = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() + 1);\n };\n\n private longScrollRight = () => {\n this.scrollRight();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private longScrollLeft = () => {\n this.scrollLeft();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private leftArrowMouseDownHandler = (e: MouseEvent) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private rightArrowMouseDownHandler = (e: MouseEvent) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private arrowMouseUpHandler = () => {\n window.clearTimeout(this.scrollDelay);\n };\n\n private getCurrentLeftItem = (): number => {\n const index = this.itemOffsets.findIndex(\n (el) => el > Math.round(this.itemsContainerEl.scrollLeft)\n );\n return index < 0 ? 0 : index;\n };\n\n private scrollHandler = () => {\n window.clearTimeout(this.isScrolling);\n // Set a timeout to run after scrolling ends\n this.isScrolling = window.setTimeout(this.scrollStopped, 50);\n };\n\n private scrollStopped = () => {\n // If scrollItemIntoView has been called, the button states will already be set\n // Can't just handle it here as it causes strange jumping behaviour in positioning\n const scrollLeft = Math.round(this.itemsContainerEl.scrollLeft);\n if (this.buttonStateSet === false) {\n this.firstItemVisible = scrollLeft === 0;\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n this.buttonStateSet = false;\n };\n\n render() {\n const { firstItemVisible, lastItemVisible, itemOverflow } = this;\n\n return (\n <Host\n class={{\n [\"ic-horizontal-scroll-visible\"]: itemOverflow,\n [\"ic-horizontal-scroll-dark\"]:\n this.appearance === IcBrandForegroundEnum.Dark,\n [\"ic-horizontal-scroll-light\"]:\n this.appearance === IcBrandForegroundEnum.Light,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n >\n <div\n aria-hidden=\"true\"\n class={{\n [\"scroll-container-left\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: firstItemVisible,\n }}\n role=\"tab\"\n >\n <ic-button\n class=\"scroll-arrow\"\n variant=\"icon-tertiary\"\n aria-label=\"Scroll left\"\n theme={\n this.theme === \"light\" || this.theme === \"inherit\"\n ? \"dark\"\n : \"light\"\n }\n monochrome={this.monochrome}\n innerHTML={LeftArrow}\n disabled={firstItemVisible}\n tabindex=\"-1\"\n onClick={this.scrollLeft}\n onMouseDown={this.leftArrowMouseDownHandler}\n ></ic-button>\n <span class=\"scroll-splitter-left\"></span>\n </div>\n <slot></slot>\n <div\n aria-hidden=\"true\"\n class={{\n [\"scroll-container-right\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: lastItemVisible,\n }}\n role=\"tab\"\n >\n <span class=\"scroll-splitter-right\"></span>\n <ic-button\n class=\"scroll-arrow\"\n variant=\"icon-tertiary\"\n aria-label=\"Scroll right\"\n theme={\n this.theme === \"light\" || this.theme === \"inherit\"\n ? \"dark\"\n : \"light\"\n }\n monochrome={this.monochrome}\n innerHTML={RightArrow}\n disabled={lastItemVisible}\n tabindex=\"-1\"\n onClick={this.scrollRight}\n onMouseDown={this.rightArrowMouseDownHandler}\n ></ic-button>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-horizontal-scroll2.js","mappings":"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","names":[],"sources":["src/components/ic-horizontal-scroll/ic-horizontal-scroll.css?tag=ic-horizontal-scroll&encapsulation=shadow","src/components/ic-horizontal-scroll/ic-horizontal-scroll.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n --border-bottom-color: var(--ic-architectural-300);\n --splitter-color: var(--ic-architectural-100);\n\n display: flex;\n max-width: 100%;\n}\n\n:host(.ic-horizontal-scroll-light) {\n --splitter-color: var(--ic-color-keyline-lighten);\n}\n\n:host(.ic-horizontal-scroll-light) ic-button > svg {\n color: var(--ic-color-text-action-monochrome-dark);\n}\n\n:host(.ic-horizontal-scroll-dark) {\n --splitter-color: var(--ic-color-keyline-darken);\n}\n\n:host(.ic-horizontal-scroll-dark) ic-button > svg {\n color: var(--ic-color-text-action-monochrome-light);\n}\n\n/* Slotted items container element */\n::slotted(*) {\n overflow-x: scroll;\n overflow-y: hidden;\n scroll-behavior: smooth;\n scrollbar-width: none;\n -ms-overflow-style: none;\n margin: calc(var(--ic-space-xs) * -1) !important;\n padding: var(--ic-space-xs) !important;\n}\n\n:host(.ic-horizontal-scroll-visible) ::slotted(*) {\n margin: calc(var(--ic-space-xs) * -1) 0 !important;\n padding: var(--ic-space-xs) !important;\n}\n\n.tabs-container::-webkit-scrollbar {\n display: none;\n}\n\n.scroll-container-left,\n.scroll-container-right {\n display: flex;\n}\n\n.scroll-container-left {\n margin-left: var(--ic-space-xxs);\n}\n\n.scroll-container-right {\n margin-right: var(--ic-space-xxs);\n}\n\n.hidden {\n display: none;\n}\n\n.scroll-arrow {\n margin: var(--ic-space-xxs) 0;\n}\n\n.disabled .ic-tooltip-container {\n display: none !important;\n}\n\n.scroll-splitter-left,\n.scroll-splitter-right {\n display: flex;\n height: var(--ic-space-lg);\n width: var(--ic-space-1px);\n margin-top: var(--ic-space-xs);\n border-radius: var(--ic-space-1px);\n background-color: var(--splitter-color);\n}\n\n.scroll-splitter-left {\n margin-left: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.scroll-splitter-right {\n margin-right: calc(var(--ic-space-xxs) - var(--ic-space-1px));\n}\n\n.disabled .scroll-splitter-left,\n.disabled .scroll-splitter-right {\n background-color: transparent;\n}\n\n:host(.ic-horizontal-scroll-dark) .disabled ic-button > svg,\n:host(.ic-horizontal-scroll-light) .disabled ic-button > svg {\n color: var(--splitter-color) !important;\n}\n\n@media (prefers-reduced-motion: reduce) {\n ::slotted(*) {\n scroll-behavior: auto;\n }\n}\n","import {\n Component,\n Element,\n h,\n Host,\n State,\n Method,\n Prop,\n} from \"@stencil/core\";\n\nimport LeftArrow from \"./assets/left-arrow.svg\";\nimport RightArrow from \"./assets/right-arrow.svg\";\nimport { getSlotElements } from \"../../utils/helpers\";\n\nimport { checkResizeObserver, elementOverflowsX } from \"../../utils/helpers\";\nimport {\n IcBrandForeground,\n IcBrandForegroundEnum,\n IcThemeMode,\n} from \"../../utils/types\";\n\nconst SCROLL_DELAY_MS = 200;\n\n@Component({\n tag: \"ic-horizontal-scroll\",\n styleUrl: \"./ic-horizontal-scroll.css\",\n shadow: true,\n})\nexport class HorizontalScroll {\n private buttonStateSet: boolean = false;\n private isScrolling: number;\n private itemOffsets: number[];\n private items: HTMLElement[];\n private itemsContainerEl: HTMLElement;\n private resizeObserver: ResizeObserver;\n private scrollDelay: number;\n\n @Element() el: HTMLIcHorizontalScrollElement;\n\n @State() firstItemVisible: boolean = true;\n @State() itemOverflow: boolean = false;\n @State() lastItemVisible: boolean = false;\n\n /**\n * The appearance of the horizontal scroll, e.g. dark, light or the default.\n */\n @Prop() appearance?: IcBrandForeground = \"default\";\n\n /** @internal Determines whether black variant of the tabs should be displayed. */\n @Prop() monochrome?: boolean = false;\n\n /**\n * @internal Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * @internal The name of the event that triggers focus handler logic.\n */\n @Prop() focusTrigger?: string = \"focus\";\n\n componentWillLoad(): void {\n this.itemsContainerEl = this.el.children[0] as HTMLElement;\n this.itemsContainerEl.addEventListener(\"scroll\", this.scrollHandler);\n this.items = getSlotElements(this.itemsContainerEl) as HTMLElement[];\n this.items.forEach((item) => {\n if (item.addEventListener) {\n item.addEventListener(\n this.focusTrigger as keyof HTMLElementEventMap,\n this.focusHandler\n );\n }\n });\n }\n\n componentDidLoad(): void {\n let runningTotal = 0;\n this.itemOffsets = this.items.map((item) => {\n runningTotal += item.offsetWidth;\n return runningTotal;\n });\n\n checkResizeObserver(this.runResizeObserver);\n\n // Add event listener to scroll containers as mouse events are not fired on disabled elements (ic-button's <button>)\n // 'mouseleave' needed in case the user moves their mouse while holding the arrow buttons\n // - 'mouseup' otherwise not detected and scrolling not stopped\n const scrollArrows = Array.from(\n this.el.shadowRoot?.querySelectorAll(\"div\") || []\n ) as HTMLElement[];\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) =>\n arrow.addEventListener(event, this.arrowMouseUpHandler)\n );\n });\n }\n\n disconnectedCallback(): void {\n if (this.resizeObserver !== undefined) {\n this.resizeObserver.disconnect();\n }\n\n const scrollArrows = Array.from(\n this.el.shadowRoot?.querySelectorAll(\"div\") || []\n ) as HTMLElement[];\n [\"mouseup\", \"mouseleave\"].forEach((event) => {\n scrollArrows.forEach((arrow) =>\n arrow.removeEventListener(event, this.arrowMouseUpHandler)\n );\n });\n\n this.items?.forEach((item) => {\n if (item.removeEventListener) {\n item.removeEventListener(\n this.focusTrigger as keyof HTMLElementEventMap,\n this.focusHandler\n );\n }\n });\n\n this.itemsContainerEl?.removeEventListener(\"scroll\", this.scrollHandler);\n }\n\n /**\n * @internal if side scrolling enabled, scrolls the specified item into view.\n */\n @Method()\n async scrollItemIntoView(itemPosition: number): Promise<void> {\n this.firstItemVisible = itemPosition <= 0;\n const newScrollPos =\n itemPosition <= 0 ? 0 : this.itemOffsets[itemPosition - 1];\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + newScrollPos >=\n this.itemsContainerEl.scrollWidth;\n this.buttonStateSet = true;\n this.itemsContainerEl.scrollLeft = newScrollPos;\n }\n\n private focusHandler = (event: Event) => {\n this.itemFocusHandler(\n Array.from(this.items).indexOf(event.target as HTMLElement)\n );\n };\n\n private itemFocusHandler(itemPosition: number): void {\n if (this.itemOverflow) {\n this.scrollItemIntoView(itemPosition);\n }\n }\n\n private resizeObserverCallback = () => {\n if (this.el.clientWidth >= this.itemsContainerEl.scrollWidth) {\n this.itemOverflow = false;\n } else {\n this.itemOverflow = elementOverflowsX(this.itemsContainerEl);\n }\n\n if (this.itemOverflow) {\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + this.itemsContainerEl.scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n };\n\n private runResizeObserver = () => {\n this.resizeObserver = new ResizeObserver(() => {\n this.resizeObserverCallback();\n });\n this.resizeObserver.observe(this.itemsContainerEl);\n };\n\n private scrollLeft = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() - 1);\n };\n\n private scrollRight = () => {\n this.scrollItemIntoView(this.getCurrentLeftItem() + 1);\n };\n\n private longScrollRight = () => {\n this.scrollRight();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private longScrollLeft = () => {\n this.scrollLeft();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private leftArrowMouseDownHandler = (e: MouseEvent) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollLeft, SCROLL_DELAY_MS);\n };\n\n private rightArrowMouseDownHandler = (e: MouseEvent) => {\n e.preventDefault();\n this.scrollDelay = window.setTimeout(this.longScrollRight, SCROLL_DELAY_MS);\n };\n\n private arrowMouseUpHandler = () => {\n window.clearTimeout(this.scrollDelay);\n };\n\n private getCurrentLeftItem = (): number => {\n const index = this.itemOffsets.findIndex(\n (el) => el > Math.round(this.itemsContainerEl.scrollLeft)\n );\n return index < 0 ? 0 : index;\n };\n\n private scrollHandler = () => {\n window.clearTimeout(this.isScrolling);\n // Set a timeout to run after scrolling ends\n this.isScrolling = window.setTimeout(this.scrollStopped, 50);\n };\n\n private scrollStopped = () => {\n // If scrollItemIntoView has been called, the button states will already be set\n // Can't just handle it here as it causes strange jumping behaviour in positioning\n const scrollLeft = Math.round(this.itemsContainerEl.scrollLeft);\n if (this.buttonStateSet === false) {\n this.firstItemVisible = scrollLeft === 0;\n this.lastItemVisible =\n this.itemsContainerEl.offsetWidth + scrollLeft >=\n this.itemsContainerEl.scrollWidth;\n }\n this.buttonStateSet = false;\n };\n\n render() {\n const { firstItemVisible, lastItemVisible, itemOverflow } = this;\n\n return (\n <Host\n class={{\n [\"ic-horizontal-scroll-visible\"]: itemOverflow,\n [\"ic-horizontal-scroll-dark\"]:\n this.appearance === IcBrandForegroundEnum.Dark,\n [\"ic-horizontal-scroll-light\"]:\n this.appearance === IcBrandForegroundEnum.Light,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n >\n <div\n aria-hidden=\"true\"\n class={{\n [\"scroll-container-left\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: firstItemVisible,\n }}\n role=\"tab\"\n >\n <ic-button\n class=\"scroll-arrow\"\n variant=\"icon-tertiary\"\n aria-label=\"Scroll left\"\n theme={\n this.theme === \"light\" || this.theme === \"inherit\"\n ? \"dark\"\n : \"light\"\n }\n monochrome={this.monochrome}\n innerHTML={LeftArrow}\n disabled={firstItemVisible}\n tabindex=\"-1\"\n onClick={this.scrollLeft}\n onMouseDown={this.leftArrowMouseDownHandler}\n ></ic-button>\n <span class=\"scroll-splitter-left\"></span>\n </div>\n <slot></slot>\n <div\n aria-hidden=\"true\"\n class={{\n [\"scroll-container-right\"]: true,\n [\"hidden\"]: !itemOverflow,\n [\"disabled\"]: lastItemVisible,\n }}\n role=\"tab\"\n >\n <span class=\"scroll-splitter-right\"></span>\n <ic-button\n class=\"scroll-arrow\"\n variant=\"icon-tertiary\"\n aria-label=\"Scroll right\"\n theme={\n this.theme === \"light\" || this.theme === \"inherit\"\n ? \"dark\"\n : \"light\"\n }\n monochrome={this.monochrome}\n innerHTML={RightArrow}\n disabled={lastItemVisible}\n tabindex=\"-1\"\n onClick={this.scrollRight}\n onMouseDown={this.rightArrowMouseDownHandler}\n ></ic-button>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}