@ukic/web-components 3.8.0 → 3.9.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 (479) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-8217daf4.js → helpers-a0e78e2e.js} +31 -7
  3. package/dist/cjs/helpers-a0e78e2e.js.map +1 -0
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
  6. package/dist/cjs/ic-action-chip.cjs.entry.js +2 -2
  7. package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  9. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-badge.cjs.entry.js +2 -2
  12. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  14. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  15. package/dist/cjs/ic-button_3.cjs.entry.js +25 -20
  16. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-card-vertical.cjs.entry.js +1 -1
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js +1 -1
  19. package/dist/cjs/ic-checkbox.cjs.entry.js +2 -2
  20. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-chip.cjs.entry.js +2 -2
  22. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-data-list.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  26. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  31. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  33. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  34. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
  35. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +4 -4
  36. package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
  37. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +70 -0
  38. package/dist/cjs/ic-layout-grid-item.cjs.entry.js.map +1 -0
  39. package/dist/cjs/ic-layout-grid.cjs.entry.js +156 -0
  40. package/dist/cjs/ic-layout-grid.cjs.entry.js.map +1 -0
  41. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  42. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  43. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  44. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  45. package/dist/cjs/ic-navigation-group.cjs.entry.js +3 -3
  46. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  48. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
  49. package/dist/cjs/ic-page-header.cjs.entry.js +7 -7
  50. package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
  51. package/dist/cjs/ic-pagination.cjs.entry.js +5 -5
  52. package/dist/cjs/ic-popover-menu.cjs.entry.js +10 -6
  53. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
  55. package/dist/cjs/ic-radio-option.cjs.entry.js +1 -1
  56. package/dist/cjs/ic-search-bar.cjs.entry.js +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-side-navigation.cjs.entry.js +5 -5
  60. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  61. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  62. package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
  63. package/dist/cjs/ic-step.cjs.entry.js +14 -14
  64. package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
  65. package/dist/cjs/ic-switch.cjs.entry.js +5 -5
  66. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  67. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  68. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  69. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  70. package/dist/cjs/ic-text-field.cjs.entry.js +1 -1
  71. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  72. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  73. package/dist/cjs/ic-toast.cjs.entry.js +5 -5
  74. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +3 -3
  76. package/dist/cjs/ic-toggle-button.cjs.entry.js +3 -3
  77. package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
  78. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  79. package/dist/cjs/index-d337cd8a.js +8 -0
  80. package/dist/cjs/loader.cjs.js +1 -1
  81. package/dist/collection/assets/ai-icon.svg +11 -0
  82. package/dist/collection/collection-manifest.json +2 -0
  83. package/dist/collection/components/ic-action-chip/ic-action-chip.css +3 -3
  84. package/dist/collection/components/ic-alert/ic-alert.css +13 -0
  85. package/dist/collection/components/ic-alert/ic-alert.js +1 -1
  86. package/dist/collection/components/ic-alert/ic-alert.stories.js +7 -2
  87. package/dist/collection/components/ic-badge/ic-badge.css +4 -0
  88. package/dist/collection/components/ic-badge/ic-badge.js +1 -1
  89. package/dist/collection/components/ic-badge/ic-badge.stories.js +98 -0
  90. package/dist/collection/components/ic-button/ic-button.js +33 -12
  91. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  92. package/dist/collection/components/ic-button/ic-button.stories.js +181 -2
  93. package/dist/collection/components/ic-checkbox/ic-checkbox.css +1 -0
  94. package/dist/collection/components/ic-chip/ic-chip.css +3 -3
  95. package/dist/collection/components/ic-data-list/ic-data-list.css +5 -0
  96. package/dist/collection/components/ic-data-list/ic-data-list.stories.js +50 -0
  97. package/dist/collection/components/ic-data-row/ic-data-row.css +3 -1
  98. package/dist/collection/components/ic-layout-grid/ic-layout-grid.css +540 -0
  99. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js +377 -0
  100. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js.map +1 -0
  101. package/dist/collection/components/ic-layout-grid/ic-layout-grid.stories.js +429 -0
  102. package/dist/collection/components/ic-layout-grid/ic-layout-grid.types.js +2 -0
  103. package/dist/collection/components/ic-layout-grid/ic-layout-grid.types.js.map +1 -0
  104. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.css +12 -0
  105. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js +182 -0
  106. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js.map +1 -0
  107. package/dist/collection/components/ic-link/ic-link.js +1 -1
  108. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +5 -5
  109. package/dist/collection/components/ic-menu/ic-menu.js +3 -3
  110. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  111. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +2 -0
  112. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
  113. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  114. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  115. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  116. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  117. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +29 -5
  118. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  119. package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +94 -0
  120. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  121. package/dist/collection/components/ic-select/ic-select.js +6 -6
  122. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +4 -4
  123. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  124. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  125. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  126. package/dist/collection/components/ic-step/ic-step.js +13 -13
  127. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  128. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  129. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
  130. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  131. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  132. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  133. package/dist/collection/components/ic-toast/ic-toast.css +8 -0
  134. package/dist/collection/components/ic-toast/ic-toast.js +4 -4
  135. package/dist/collection/components/ic-toast/ic-toast.stories.js +2 -2
  136. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  137. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
  138. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
  139. package/dist/collection/components/ic-tooltip/ic-tooltip.js +27 -3
  140. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  141. package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +38 -0
  142. package/dist/collection/utils/constants.js +5 -0
  143. package/dist/collection/utils/constants.js.map +1 -1
  144. package/dist/collection/utils/helpers.js +14 -6
  145. package/dist/collection/utils/helpers.js.map +1 -1
  146. package/dist/collection/utils/types.js.map +1 -1
  147. package/dist/components/helpers.js +31 -7
  148. package/dist/components/helpers.js.map +1 -1
  149. package/dist/components/ic-action-chip.js +1 -1
  150. package/dist/components/ic-action-chip.js.map +1 -1
  151. package/dist/components/ic-alert.js +1 -1
  152. package/dist/components/ic-alert.js.map +1 -1
  153. package/dist/components/ic-back-to-top.js +1 -1
  154. package/dist/components/ic-back-to-top.js.map +1 -1
  155. package/dist/components/ic-badge.js +2 -2
  156. package/dist/components/ic-badge.js.map +1 -1
  157. package/dist/components/ic-breadcrumb-group.js +1 -1
  158. package/dist/components/ic-breadcrumb2.js +1 -1
  159. package/dist/components/ic-button2.js +14 -12
  160. package/dist/components/ic-button2.js.map +1 -1
  161. package/dist/components/ic-checkbox-group.js +1 -1
  162. package/dist/components/ic-checkbox.js +2 -2
  163. package/dist/components/ic-checkbox.js.map +1 -1
  164. package/dist/components/ic-chip.js +2 -2
  165. package/dist/components/ic-chip.js.map +1 -1
  166. package/dist/components/ic-data-list.js +1 -1
  167. package/dist/components/ic-data-list.js.map +1 -1
  168. package/dist/components/ic-data-row.js +2 -2
  169. package/dist/components/ic-data-row.js.map +1 -1
  170. package/dist/components/ic-dialog.js +1 -1
  171. package/dist/components/ic-divider2.js +1 -1
  172. package/dist/components/ic-footer-link-group.js +1 -1
  173. package/dist/components/ic-footer-link.js +1 -1
  174. package/dist/components/ic-footer.js +1 -1
  175. package/dist/components/ic-hero.js +1 -1
  176. package/dist/components/ic-horizontal-scroll2.js +1 -1
  177. package/dist/components/ic-input-component-container2.js +1 -1
  178. package/dist/components/ic-input-label2.js +1 -1
  179. package/dist/components/ic-input-validation2.js +1 -1
  180. package/dist/components/ic-layout-grid-item.d.ts +11 -0
  181. package/dist/components/ic-layout-grid-item.js +95 -0
  182. package/dist/components/ic-layout-grid-item.js.map +1 -0
  183. package/dist/components/ic-layout-grid.d.ts +11 -0
  184. package/dist/components/ic-layout-grid.js +188 -0
  185. package/dist/components/ic-layout-grid.js.map +1 -0
  186. package/dist/components/ic-link2.js +1 -1
  187. package/dist/components/ic-loading-indicator2.js +5 -5
  188. package/dist/components/ic-menu-group.js +2 -2
  189. package/dist/components/ic-menu-item2.js +1 -1
  190. package/dist/components/ic-menu2.js +4 -4
  191. package/dist/components/ic-navigation-button.js +1 -1
  192. package/dist/components/ic-navigation-group.js +3 -3
  193. package/dist/components/ic-navigation-group.js.map +1 -1
  194. package/dist/components/ic-navigation-item.js +1 -1
  195. package/dist/components/ic-navigation-menu2.js +5 -5
  196. package/dist/components/ic-page-header.js +7 -7
  197. package/dist/components/ic-pagination-item2.js +2 -2
  198. package/dist/components/ic-pagination.js +4 -4
  199. package/dist/components/ic-pagination.js.map +1 -1
  200. package/dist/components/ic-popover-menu.js +11 -6
  201. package/dist/components/ic-popover-menu.js.map +1 -1
  202. package/dist/components/ic-radio-group.js +1 -1
  203. package/dist/components/ic-radio-option.js +1 -1
  204. package/dist/components/ic-radio-option.js.map +1 -1
  205. package/dist/components/ic-search-bar.js +1 -1
  206. package/dist/components/ic-section-container2.js +2 -2
  207. package/dist/components/ic-select.js +7 -7
  208. package/dist/components/ic-side-navigation.js +5 -5
  209. package/dist/components/ic-skeleton.js +2 -2
  210. package/dist/components/ic-skip-link.js +2 -2
  211. package/dist/components/ic-status-tag.js +2 -2
  212. package/dist/components/ic-status-tag.js.map +1 -1
  213. package/dist/components/ic-step.js +14 -14
  214. package/dist/components/ic-stepper.js +2 -2
  215. package/dist/components/ic-switch.js +5 -5
  216. package/dist/components/ic-tab-context.js +1 -1
  217. package/dist/components/ic-tab-group.js +2 -2
  218. package/dist/components/ic-tab-panel.js +2 -2
  219. package/dist/components/ic-tab.js.map +1 -1
  220. package/dist/components/ic-text-field.js +1 -1
  221. package/dist/components/ic-theme.js +2 -2
  222. package/dist/components/ic-toast-region.js +1 -1
  223. package/dist/components/ic-toast.js +5 -5
  224. package/dist/components/ic-toast.js.map +1 -1
  225. package/dist/components/ic-toggle-button-group.js +2 -2
  226. package/dist/components/ic-toggle-button.js +2 -2
  227. package/dist/components/ic-tooltip2.js +8 -3
  228. package/dist/components/ic-tooltip2.js.map +1 -1
  229. package/dist/components/ic-top-navigation.js +1 -1
  230. package/dist/core/core.css +12 -12
  231. package/dist/core/core.esm.js +1 -1
  232. package/dist/core/core.esm.js.map +1 -1
  233. package/dist/core/p-0d680d19.entry.js +2 -0
  234. package/dist/core/p-0d680d19.entry.js.map +1 -0
  235. package/dist/core/{p-ef357622.entry.js → p-15dbccc2.entry.js} +2 -2
  236. package/dist/core/{p-bf5653c0.entry.js → p-19cf2327.entry.js} +2 -2
  237. package/dist/core/p-1d37ac1c.entry.js +2 -0
  238. package/dist/core/p-1d37ac1c.entry.js.map +1 -0
  239. package/dist/core/{p-19680887.entry.js → p-1e2f40b0.entry.js} +2 -2
  240. package/dist/core/{p-fc933fc3.entry.js → p-21cf2beb.entry.js} +2 -2
  241. package/dist/core/p-25007ec9.js +2 -0
  242. package/dist/core/p-25007ec9.js.map +1 -0
  243. package/dist/core/{p-de43d375.entry.js → p-287e5c17.entry.js} +2 -2
  244. package/dist/core/{p-3f9ff1cb.entry.js → p-28efe829.entry.js} +2 -2
  245. package/dist/core/{p-c63ae7d0.entry.js → p-2f4f392f.entry.js} +2 -2
  246. package/dist/core/{p-d2f1beb6.entry.js → p-313a8a2f.entry.js} +2 -2
  247. package/dist/core/{p-7cd6487e.entry.js → p-317e005f.entry.js} +2 -2
  248. package/dist/core/{p-0c095f5b.entry.js → p-3dc54847.entry.js} +2 -2
  249. package/dist/core/{p-2394346c.entry.js → p-3e5d7a3d.entry.js} +2 -2
  250. package/dist/core/p-41ef74a7.entry.js +2 -0
  251. package/dist/core/p-41ef74a7.entry.js.map +1 -0
  252. package/dist/core/{p-9e177686.entry.js → p-41f92698.entry.js} +2 -2
  253. package/dist/core/p-43324339.entry.js +2 -0
  254. package/dist/core/p-43324339.entry.js.map +1 -0
  255. package/dist/core/{p-f34eee68.entry.js → p-45dd12ee.entry.js} +2 -2
  256. package/dist/core/{p-0a8140ef.entry.js → p-493eaabb.entry.js} +2 -2
  257. package/dist/core/{p-c9c6d63b.entry.js → p-4ca782eb.entry.js} +2 -2
  258. package/dist/core/{p-8557fa1e.entry.js → p-4d1a3036.entry.js} +2 -2
  259. package/dist/core/p-52748d5c.entry.js +2 -0
  260. package/dist/core/p-52748d5c.entry.js.map +1 -0
  261. package/dist/core/p-595a4d06.entry.js +2 -0
  262. package/dist/core/p-595a4d06.entry.js.map +1 -0
  263. package/dist/core/{p-57644340.entry.js → p-5daa7915.entry.js} +2 -2
  264. package/dist/core/{p-88b516d6.entry.js → p-5f68f62b.entry.js} +2 -2
  265. package/dist/core/{p-d47acbd4.entry.js → p-5fbc8e62.entry.js} +2 -2
  266. package/dist/core/p-6014ab64.entry.js +2 -0
  267. package/dist/core/{p-3aa7f724.entry.js → p-661ae402.entry.js} +2 -2
  268. package/dist/core/{p-998dfae0.entry.js → p-6a576a8b.entry.js} +2 -2
  269. package/dist/core/{p-b3ac38c5.entry.js → p-6e8ef73c.entry.js} +2 -2
  270. package/dist/core/{p-fbaf0301.entry.js → p-6ed0ac48.entry.js} +2 -2
  271. package/dist/core/p-711bfeed.entry.js +2 -0
  272. package/dist/core/p-711bfeed.entry.js.map +1 -0
  273. package/dist/core/{p-60ff225d.entry.js → p-72a9909c.entry.js} +2 -2
  274. package/dist/core/{p-f643ae2b.entry.js → p-742a9181.entry.js} +2 -2
  275. package/dist/core/{p-b94d404b.entry.js → p-7cd4f6a6.entry.js} +2 -2
  276. package/dist/core/{p-a082d978.entry.js → p-8a4b12e4.entry.js} +2 -2
  277. package/dist/core/{p-48db785a.entry.js → p-8b5022bc.entry.js} +2 -2
  278. package/dist/core/{p-d1b7b839.entry.js → p-9323c234.entry.js} +2 -2
  279. package/dist/core/{p-0eaa2904.entry.js → p-948f89a0.entry.js} +2 -2
  280. package/dist/core/p-97b93ddf.entry.js +2 -0
  281. package/dist/core/p-97b93ddf.entry.js.map +1 -0
  282. package/dist/core/{p-9f792a31.entry.js → p-999f0a5d.entry.js} +2 -2
  283. package/dist/core/p-999f0a5d.entry.js.map +1 -0
  284. package/dist/core/{p-04c36b23.entry.js → p-9c013333.entry.js} +2 -2
  285. package/dist/core/{p-3eef02dd.entry.js → p-9eeb5e85.entry.js} +2 -2
  286. package/dist/core/{p-682a9365.entry.js → p-9f36791b.entry.js} +2 -2
  287. package/dist/core/{p-9d78ef89.entry.js → p-a602a8e1.entry.js} +2 -2
  288. package/dist/core/{p-51bff253.entry.js → p-a77364f5.entry.js} +2 -2
  289. package/dist/core/{p-1829c1a9.entry.js → p-af9c391d.entry.js} +2 -2
  290. package/dist/core/{p-2c2c752d.entry.js → p-b0d488d0.entry.js} +2 -2
  291. package/dist/core/{p-1f913ba3.entry.js → p-b25d33d8.entry.js} +2 -2
  292. package/dist/core/{p-fee854f5.entry.js → p-b52000d9.entry.js} +2 -2
  293. package/dist/core/{p-4345907a.entry.js → p-cbe0d1bb.entry.js} +2 -2
  294. package/dist/core/p-ceea1712.entry.js +2 -0
  295. package/dist/core/p-ceea1712.entry.js.map +1 -0
  296. package/dist/core/p-cf631191.entry.js +2 -0
  297. package/dist/core/{p-ee6caf27.entry.js → p-df88ff5b.entry.js} +2 -2
  298. package/dist/core/{p-918af357.entry.js → p-e652ab09.entry.js} +2 -2
  299. package/dist/core/{p-4c336217.entry.js → p-e876e47c.entry.js} +2 -2
  300. package/dist/core/p-ea061ccf.entry.js +2 -0
  301. package/dist/core/p-ea061ccf.entry.js.map +1 -0
  302. package/dist/core/{p-b3d3ee50.entry.js → p-ea778379.entry.js} +2 -2
  303. package/dist/core/{p-f46fd0e7.entry.js → p-ef4b5469.entry.js} +2 -2
  304. package/dist/core/{p-fd421f11.entry.js → p-f309d3af.entry.js} +2 -2
  305. package/dist/core/{p-32c030b1.entry.js → p-f6a02202.entry.js} +2 -2
  306. package/dist/core/p-fc3b1155.entry.js +2 -0
  307. package/dist/core/p-fc3b1155.entry.js.map +1 -0
  308. package/dist/core/p-ffac41d6.entry.js +2 -0
  309. package/dist/core/p-ffac41d6.entry.js.map +1 -0
  310. package/dist/esm/core.js +1 -1
  311. package/dist/esm/{helpers-2e75abf4.js → helpers-56631aa0.js} +31 -7
  312. package/dist/esm/helpers-56631aa0.js.map +1 -0
  313. package/dist/esm/ic-accordion-group.entry.js +1 -1
  314. package/dist/esm/ic-accordion.entry.js +1 -1
  315. package/dist/esm/ic-action-chip.entry.js +2 -2
  316. package/dist/esm/ic-action-chip.entry.js.map +1 -1
  317. package/dist/esm/ic-alert.entry.js +2 -2
  318. package/dist/esm/ic-alert.entry.js.map +1 -1
  319. package/dist/esm/ic-back-to-top.entry.js +1 -1
  320. package/dist/esm/ic-badge.entry.js +2 -2
  321. package/dist/esm/ic-badge.entry.js.map +1 -1
  322. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  323. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  324. package/dist/esm/ic-button_3.entry.js +25 -20
  325. package/dist/esm/ic-button_3.entry.js.map +1 -1
  326. package/dist/esm/ic-card-vertical.entry.js +1 -1
  327. package/dist/esm/ic-checkbox-group.entry.js +1 -1
  328. package/dist/esm/ic-checkbox.entry.js +2 -2
  329. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  330. package/dist/esm/ic-chip.entry.js +2 -2
  331. package/dist/esm/ic-chip.entry.js.map +1 -1
  332. package/dist/esm/ic-data-list.entry.js +1 -1
  333. package/dist/esm/ic-data-list.entry.js.map +1 -1
  334. package/dist/esm/ic-data-row.entry.js +2 -2
  335. package/dist/esm/ic-data-row.entry.js.map +1 -1
  336. package/dist/esm/ic-dialog.entry.js +1 -1
  337. package/dist/esm/ic-divider.entry.js +1 -1
  338. package/dist/esm/ic-empty-state.entry.js +1 -1
  339. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  340. package/dist/esm/ic-footer-link.entry.js +1 -1
  341. package/dist/esm/ic-footer.entry.js +1 -1
  342. package/dist/esm/ic-hero.entry.js +1 -1
  343. package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
  344. package/dist/esm/ic-input-component-container_3.entry.js +4 -4
  345. package/dist/esm/ic-input-label_2.entry.js +1 -1
  346. package/dist/esm/ic-layout-grid-item.entry.js +66 -0
  347. package/dist/esm/ic-layout-grid-item.entry.js.map +1 -0
  348. package/dist/esm/ic-layout-grid.entry.js +152 -0
  349. package/dist/esm/ic-layout-grid.entry.js.map +1 -0
  350. package/dist/esm/ic-link.entry.js +2 -2
  351. package/dist/esm/ic-menu-group.entry.js +2 -2
  352. package/dist/esm/ic-menu-item.entry.js +1 -1
  353. package/dist/esm/ic-navigation-button.entry.js +1 -1
  354. package/dist/esm/ic-navigation-group.entry.js +3 -3
  355. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  356. package/dist/esm/ic-navigation-item.entry.js +1 -1
  357. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  358. package/dist/esm/ic-page-header.entry.js +7 -7
  359. package/dist/esm/ic-pagination-item.entry.js +2 -2
  360. package/dist/esm/ic-pagination.entry.js +5 -5
  361. package/dist/esm/ic-popover-menu.entry.js +10 -6
  362. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  363. package/dist/esm/ic-radio-group.entry.js +1 -1
  364. package/dist/esm/ic-radio-option.entry.js +1 -1
  365. package/dist/esm/ic-search-bar.entry.js +1 -1
  366. package/dist/esm/ic-section-container.entry.js +2 -2
  367. package/dist/esm/ic-select.entry.js +7 -7
  368. package/dist/esm/ic-side-navigation.entry.js +5 -5
  369. package/dist/esm/ic-skeleton.entry.js +2 -2
  370. package/dist/esm/ic-skip-link.entry.js +2 -2
  371. package/dist/esm/ic-status-tag.entry.js +3 -3
  372. package/dist/esm/ic-step.entry.js +14 -14
  373. package/dist/esm/ic-stepper.entry.js +3 -3
  374. package/dist/esm/ic-switch.entry.js +5 -5
  375. package/dist/esm/ic-tab-context.entry.js +1 -1
  376. package/dist/esm/ic-tab-group.entry.js +3 -3
  377. package/dist/esm/ic-tab-panel.entry.js +2 -2
  378. package/dist/esm/ic-tab.entry.js +1 -1
  379. package/dist/esm/ic-text-field.entry.js +1 -1
  380. package/dist/esm/ic-theme.entry.js +2 -2
  381. package/dist/esm/ic-toast-region.entry.js +1 -1
  382. package/dist/esm/ic-toast.entry.js +5 -5
  383. package/dist/esm/ic-toast.entry.js.map +1 -1
  384. package/dist/esm/ic-toggle-button-group.entry.js +3 -3
  385. package/dist/esm/ic-toggle-button.entry.js +3 -3
  386. package/dist/esm/ic-top-navigation.entry.js +1 -1
  387. package/dist/esm/ic-typography.entry.js +1 -1
  388. package/dist/esm/index-a7a720e7.js +8 -0
  389. package/dist/esm/loader.js +1 -1
  390. package/dist/types/components/ic-button/ic-button.d.ts +4 -0
  391. package/dist/types/components/ic-layout-grid/ic-layout-grid.d.ts +56 -0
  392. package/dist/types/components/ic-layout-grid/ic-layout-grid.types.d.ts +8 -0
  393. package/dist/types/components/ic-layout-grid-item/ic-layout-grid-item.d.ts +29 -0
  394. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +4 -0
  395. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +4 -0
  396. package/dist/types/components.d.ts +164 -0
  397. package/dist/types/utils/constants.d.ts +4 -0
  398. package/dist/types/utils/helpers.d.ts +3 -3
  399. package/dist/types/utils/types.d.ts +1 -1
  400. package/hydrate/index.js +389 -111
  401. package/hydrate/index.mjs +389 -111
  402. package/package.json +2 -2
  403. package/vscode-data.json +114 -0
  404. package/dist/cjs/helpers-8217daf4.js.map +0 -1
  405. package/dist/core/p-03a2fa83.entry.js +0 -2
  406. package/dist/core/p-03a2fa83.entry.js.map +0 -1
  407. package/dist/core/p-280e7874.entry.js +0 -2
  408. package/dist/core/p-280e7874.entry.js.map +0 -1
  409. package/dist/core/p-46a0a40b.entry.js +0 -2
  410. package/dist/core/p-46a0a40b.entry.js.map +0 -1
  411. package/dist/core/p-68f55187.entry.js +0 -2
  412. package/dist/core/p-68f55187.entry.js.map +0 -1
  413. package/dist/core/p-69aad690.entry.js +0 -2
  414. package/dist/core/p-69aad690.entry.js.map +0 -1
  415. package/dist/core/p-750d5536.entry.js +0 -2
  416. package/dist/core/p-750d5536.entry.js.map +0 -1
  417. package/dist/core/p-7ac5a271.entry.js +0 -2
  418. package/dist/core/p-7ac5a271.entry.js.map +0 -1
  419. package/dist/core/p-874f7e8d.entry.js +0 -2
  420. package/dist/core/p-874f7e8d.entry.js.map +0 -1
  421. package/dist/core/p-903f9c7f.entry.js +0 -2
  422. package/dist/core/p-903f9c7f.entry.js.map +0 -1
  423. package/dist/core/p-9f792a31.entry.js.map +0 -1
  424. package/dist/core/p-9f8acb5f.js +0 -2
  425. package/dist/core/p-9f8acb5f.js.map +0 -1
  426. package/dist/core/p-b5c72b06.entry.js +0 -2
  427. package/dist/core/p-b5c72b06.entry.js.map +0 -1
  428. package/dist/core/p-e0485462.entry.js +0 -2
  429. package/dist/core/p-e9b6b600.entry.js +0 -2
  430. package/dist/esm/helpers-2e75abf4.js.map +0 -1
  431. /package/dist/core/{p-ef357622.entry.js.map → p-15dbccc2.entry.js.map} +0 -0
  432. /package/dist/core/{p-bf5653c0.entry.js.map → p-19cf2327.entry.js.map} +0 -0
  433. /package/dist/core/{p-19680887.entry.js.map → p-1e2f40b0.entry.js.map} +0 -0
  434. /package/dist/core/{p-fc933fc3.entry.js.map → p-21cf2beb.entry.js.map} +0 -0
  435. /package/dist/core/{p-de43d375.entry.js.map → p-287e5c17.entry.js.map} +0 -0
  436. /package/dist/core/{p-3f9ff1cb.entry.js.map → p-28efe829.entry.js.map} +0 -0
  437. /package/dist/core/{p-c63ae7d0.entry.js.map → p-2f4f392f.entry.js.map} +0 -0
  438. /package/dist/core/{p-d2f1beb6.entry.js.map → p-313a8a2f.entry.js.map} +0 -0
  439. /package/dist/core/{p-7cd6487e.entry.js.map → p-317e005f.entry.js.map} +0 -0
  440. /package/dist/core/{p-0c095f5b.entry.js.map → p-3dc54847.entry.js.map} +0 -0
  441. /package/dist/core/{p-2394346c.entry.js.map → p-3e5d7a3d.entry.js.map} +0 -0
  442. /package/dist/core/{p-9e177686.entry.js.map → p-41f92698.entry.js.map} +0 -0
  443. /package/dist/core/{p-f34eee68.entry.js.map → p-45dd12ee.entry.js.map} +0 -0
  444. /package/dist/core/{p-0a8140ef.entry.js.map → p-493eaabb.entry.js.map} +0 -0
  445. /package/dist/core/{p-c9c6d63b.entry.js.map → p-4ca782eb.entry.js.map} +0 -0
  446. /package/dist/core/{p-8557fa1e.entry.js.map → p-4d1a3036.entry.js.map} +0 -0
  447. /package/dist/core/{p-57644340.entry.js.map → p-5daa7915.entry.js.map} +0 -0
  448. /package/dist/core/{p-88b516d6.entry.js.map → p-5f68f62b.entry.js.map} +0 -0
  449. /package/dist/core/{p-d47acbd4.entry.js.map → p-5fbc8e62.entry.js.map} +0 -0
  450. /package/dist/core/{p-e9b6b600.entry.js.map → p-6014ab64.entry.js.map} +0 -0
  451. /package/dist/core/{p-3aa7f724.entry.js.map → p-661ae402.entry.js.map} +0 -0
  452. /package/dist/core/{p-998dfae0.entry.js.map → p-6a576a8b.entry.js.map} +0 -0
  453. /package/dist/core/{p-b3ac38c5.entry.js.map → p-6e8ef73c.entry.js.map} +0 -0
  454. /package/dist/core/{p-fbaf0301.entry.js.map → p-6ed0ac48.entry.js.map} +0 -0
  455. /package/dist/core/{p-60ff225d.entry.js.map → p-72a9909c.entry.js.map} +0 -0
  456. /package/dist/core/{p-f643ae2b.entry.js.map → p-742a9181.entry.js.map} +0 -0
  457. /package/dist/core/{p-b94d404b.entry.js.map → p-7cd4f6a6.entry.js.map} +0 -0
  458. /package/dist/core/{p-a082d978.entry.js.map → p-8a4b12e4.entry.js.map} +0 -0
  459. /package/dist/core/{p-48db785a.entry.js.map → p-8b5022bc.entry.js.map} +0 -0
  460. /package/dist/core/{p-d1b7b839.entry.js.map → p-9323c234.entry.js.map} +0 -0
  461. /package/dist/core/{p-0eaa2904.entry.js.map → p-948f89a0.entry.js.map} +0 -0
  462. /package/dist/core/{p-04c36b23.entry.js.map → p-9c013333.entry.js.map} +0 -0
  463. /package/dist/core/{p-3eef02dd.entry.js.map → p-9eeb5e85.entry.js.map} +0 -0
  464. /package/dist/core/{p-682a9365.entry.js.map → p-9f36791b.entry.js.map} +0 -0
  465. /package/dist/core/{p-9d78ef89.entry.js.map → p-a602a8e1.entry.js.map} +0 -0
  466. /package/dist/core/{p-51bff253.entry.js.map → p-a77364f5.entry.js.map} +0 -0
  467. /package/dist/core/{p-1829c1a9.entry.js.map → p-af9c391d.entry.js.map} +0 -0
  468. /package/dist/core/{p-2c2c752d.entry.js.map → p-b0d488d0.entry.js.map} +0 -0
  469. /package/dist/core/{p-1f913ba3.entry.js.map → p-b25d33d8.entry.js.map} +0 -0
  470. /package/dist/core/{p-fee854f5.entry.js.map → p-b52000d9.entry.js.map} +0 -0
  471. /package/dist/core/{p-4345907a.entry.js.map → p-cbe0d1bb.entry.js.map} +0 -0
  472. /package/dist/core/{p-e0485462.entry.js.map → p-cf631191.entry.js.map} +0 -0
  473. /package/dist/core/{p-ee6caf27.entry.js.map → p-df88ff5b.entry.js.map} +0 -0
  474. /package/dist/core/{p-918af357.entry.js.map → p-e652ab09.entry.js.map} +0 -0
  475. /package/dist/core/{p-4c336217.entry.js.map → p-e876e47c.entry.js.map} +0 -0
  476. /package/dist/core/{p-b3d3ee50.entry.js.map → p-ea778379.entry.js.map} +0 -0
  477. /package/dist/core/{p-f46fd0e7.entry.js.map → p-ef4b5469.entry.js.map} +0 -0
  478. /package/dist/core/{p-fd421f11.entry.js.map → p-f309d3af.entry.js.map} +0 -0
  479. /package/dist/core/{p-32c030b1.entry.js.map → p-f6a02202.entry.js.map} +0 -0
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-d337cd8a.js');
6
- const helpers = require('./helpers-8217daf4.js');
6
+ const helpers = require('./helpers-a0e78e2e.js');
7
7
  const checkIcon = require('./check-icon-7225d79b.js');
8
8
  const popper = require('./popper-31badbf8.js');
9
9
 
@@ -1018,7 +1018,7 @@ const Menu = class {
1018
1018
  const { inputLabel, options, menuId, value, fullWidth, hasTimedOut, isLoading, size, open, inputEl, keyboardNav, parentEl, SEARCH_BAR_TAG, multiSelect, } = this;
1019
1019
  const selectAllButtonText = `${(value === null || value === void 0 ? void 0 : value.length) === this.ungroupedOptions.length ? "Clear" : "Select"} all`;
1020
1020
  const hasNoResults = this.host.classList.contains("no-results");
1021
- return (index.h(index.Host, { key: '637bd569f0d987aae612c73390344c46127170ad', class: {
1021
+ return (index.h(index.Host, { key: '61aef706407716bbd85f087d6baeac4e393f5bb5', class: {
1022
1022
  "ic-menu-full-width": !!fullWidth,
1023
1023
  "ic-menu-no-focus": ((inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) === "INPUT" &&
1024
1024
  (parentEl === null || parentEl === void 0 ? void 0 : parentEl.tagName) !== SEARCH_BAR_TAG) ||
@@ -1027,7 +1027,7 @@ const Menu = class {
1027
1027
  [`ic-menu-${size}`]: true,
1028
1028
  "ic-menu-open": open && options.length !== 0,
1029
1029
  "ic-menu-multiple": multiSelect,
1030
- } }, options.length !== 0 && (index.h("ul", { key: '3840de0e59bd4f2d87330cf23a6afe402870c848', id: menuId, class: "menu", role: "listbox", "aria-label": `${inputLabel} pop-up`, "aria-multiselectable": multiSelect ? "true" : "false", tabindex: open &&
1030
+ } }, options.length !== 0 && (index.h("ul", { key: '5800fadeb848cfad908cdbd2bb7bfd7ecba08811', id: menuId, class: "menu", role: "listbox", "aria-label": `${inputLabel} pop-up`, "aria-multiselectable": multiSelect ? "true" : "false", tabindex: open &&
1031
1031
  !keyboardNav &&
1032
1032
  ((inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) !== "INPUT" ||
1033
1033
  (parentEl === null || parentEl === void 0 ? void 0 : parentEl.tagName) === SEARCH_BAR_TAG)
@@ -1055,7 +1055,7 @@ const Menu = class {
1055
1055
  multiSelect &&
1056
1056
  !isLoading &&
1057
1057
  !hasTimedOut &&
1058
- !hasNoResults && (index.h("div", { key: '7c21b91f707319eac7433c9bf84b2e07117d4a5e', class: "option-bar" }, index.h("ic-typography", { key: 'ebf470f1196440dbb9b7d827833866604df1273c' }, index.h("p", { key: '796f1746246ee7867d6244c9ab824e5e483be7d0' }, `${value ? value.length : 0}/${helpers.getOptionsWithoutGroupTitlesCount(this.options)} selected`)), index.h("ic-button", { key: 'ab28ce082f7fd653fb10c7692161ad0c00653792', class: "select-all-button", "aria-label": `${selectAllButtonText} options for ${inputLabel}`, ref: (el) => (this.selectAllButton = el), variant: "tertiary", onClick: this.handleSelectAllClick, onMouseDown: this.handleSelectAllMouseDown, onBlur: this.handleSelectAllBlur, onFocus: this.handleSelectAllFocus, size: size === "small" ? "small" : "medium" }, selectAllButtonText)))));
1058
+ !hasNoResults && (index.h("div", { key: '3036b8e8b5727e354d45e9ae4a64a5e61b0caf59', class: "option-bar" }, index.h("ic-typography", { key: 'a797367880dd2a45638c65dcb353e6b4892e5db0' }, index.h("p", { key: 'ba309efe02198f93aa62329cf99d05e2e538434d' }, `${value ? value.length : 0}/${helpers.getOptionsWithoutGroupTitlesCount(this.options)} selected`)), index.h("ic-button", { key: '785eba9a6e82e745c7f4ccb054a1fbaf87df281e', class: "select-all-button", "aria-label": `${selectAllButtonText} options for ${inputLabel}`, ref: (el) => (this.selectAllButton = el), variant: "tertiary", onClick: this.handleSelectAllClick, onMouseDown: this.handleSelectAllMouseDown, onBlur: this.handleSelectAllBlur, onFocus: this.handleSelectAllFocus, size: size === "small" ? "small" : "medium" }, selectAllButtonText)))));
1059
1059
  }
1060
1060
  get host() { return index.getElement(this); }
1061
1061
  static get watchers() { return {
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-d337cd8a.js');
6
- const helpers = require('./helpers-8217daf4.js');
6
+ const helpers = require('./helpers-a0e78e2e.js');
7
7
 
8
8
  const icInputLabelCss = "ic-input-label{margin-bottom:var(--ic-space-xs);--ic-typography-color:var(\n --ic-input-label-text-color,\n var(--ic-color-text-primary)\n )}ic-input-label.with-helper{margin-bottom:0}ic-input-label.ic-input-label-readonly{--ic-typography-color:var(--ic-input-label-readonly-typography-color)}ic-input-label .helpertext,ic-input-label .helpertext ::slotted(*){margin-top:var(--ic-space-xxxs);padding-bottom:var(--ic-input-label-helpertext-padding, 0);--ic-typography-color:var(\n --ic-input-label-helper-text-color,\n var(--ic-color-text-secondary)\n )}ic-input-label .helpertext-normal{--ic-typography-color:var(\n --ic-input-label-helper-text-color,\n var(--ic-color-text-secondary)\n )}ic-input-label .helpertext-readonly{--ic-typography-color:var(--ic-input-label-readonly-helpertext-color)}ic-input-label .readonly-label{--ic-typography-color:var(--ic-input-label-readonly-label-color)}ic-input-label .error-label{--ic-typography-color:var(--ic-input-label-error-label-color)}";
9
9
  const IcInputLabelStyle0 = icInputLabelCss;
@@ -0,0 +1,70 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-d337cd8a.js');
6
+
7
+ const icLayoutGridItemCss = ":host{grid-column:var(--ic-grid-item-col-start, 1) / span\n var(--ic-grid-item-col-span, var(--ic-layout-grid-col-span, 1)) !important;grid-row:var(--ic-grid-item-row-start, 1) / span\n var(--ic-grid-item-row-span, var(--ic-layout-grid-row-span, 1)) !important}@media only screen and (max-width: 576px){:host(.ic-layout-grid-hide-in-mobile){display:none}}";
8
+ const IcLayoutGridItemStyle0 = icLayoutGridItemCss;
9
+
10
+ const LayoutGridItem = class {
11
+ constructor(hostRef) {
12
+ index.registerInstance(this, hostRef);
13
+ /**
14
+ * The number of columns the grid item should span.
15
+ */
16
+ this.colSpan = 1;
17
+ /**
18
+ * The column the grid item should start at.
19
+ */
20
+ this.colStart = 1;
21
+ /**
22
+ * If `true`, the grid item will be hidden on smaller screens.
23
+ */
24
+ this.hideInMobileMode = false;
25
+ /**
26
+ * The number of rows the grid item should span.
27
+ */
28
+ this.rowSpan = 1;
29
+ /**
30
+ * The row the grid item should start at.
31
+ */
32
+ this.rowStart = 1;
33
+ }
34
+ watchColSpan(newValue) {
35
+ this.el.style.setProperty("--ic-grid-item-col-span", `${newValue}`);
36
+ }
37
+ watchColStart(newValue) {
38
+ this.el.style.setProperty("--ic-grid-item-col-start", `${newValue}`);
39
+ }
40
+ watchRowSpan(newValue) {
41
+ this.el.style.setProperty("--ic-grid-item-row-span", `${newValue}`);
42
+ }
43
+ watchRowStart(newValue) {
44
+ this.el.style.setProperty("--ic-grid-item-row-start", `${newValue}`);
45
+ }
46
+ componentWillLoad() {
47
+ this.el.style.setProperty("--ic-grid-item-col-start", `${this.colStart}`);
48
+ this.el.style.setProperty("--ic-grid-item-col-span", `${this.colSpan}`);
49
+ this.el.style.setProperty("--ic-grid-item-row-start", `${this.rowStart}`);
50
+ this.el.style.setProperty("--ic-grid-item-row-span", `${this.rowSpan}`);
51
+ }
52
+ render() {
53
+ const { hideInMobileMode } = this;
54
+ return (index.h(index.Host, { key: '07cb3d39a4c3440a06df2f6c56ecdf3017e48f59', class: {
55
+ "ic-layout-grid-hide-in-mobile": !!hideInMobileMode,
56
+ } }, index.h("slot", { key: '53c7d5616494ad9fc7468d023b9a9ec520938916' })));
57
+ }
58
+ get el() { return index.getElement(this); }
59
+ static get watchers() { return {
60
+ "colSpan": ["watchColSpan"],
61
+ "colStart": ["watchColStart"],
62
+ "rowSpan": ["watchRowSpan"],
63
+ "rowStart": ["watchRowStart"]
64
+ }; }
65
+ };
66
+ LayoutGridItem.style = IcLayoutGridItemStyle0;
67
+
68
+ exports.ic_layout_grid_item = LayoutGridItem;
69
+
70
+ //# sourceMappingURL=ic-layout-grid-item.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"ic-layout-grid-item.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,mBAAmB,GAAG,2WAA2W,CAAC;AACxY,+BAAe,mBAAmB;;MCMrB,cAAc;IAL3B;;;;;QAWU,YAAO,GAAY,CAAC,CAAC;;;;QASrB,aAAQ,GAAY,CAAC,CAAC;;;;QAStB,qBAAgB,GAAa,KAAK,CAAC;;;;QAKnC,YAAO,GAAY,CAAC,CAAC;;;;QASrB,aAAQ,GAAY,CAAC,CAAC;KAyB/B;IAvDC,YAAY,CAAC,QAAgB;QAC3B,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,yBAAyB,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;KACrE;IAOD,aAAa,CAAC,QAAgB;QAC5B,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,0BAA0B,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;KACtE;IAYD,YAAY,CAAC,QAAgB;QAC3B,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,yBAAyB,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;KACrE;IAOD,aAAa,CAAC,QAAgB;QAC5B,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,0BAA0B,EAAE,GAAG,QAAQ,EAAE,CAAC,CAAC;KACtE;IAED,iBAAiB;QACf,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,0BAA0B,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,yBAAyB,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,0BAA0B,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,EAAE,CAAC,KAAK,CAAC,WAAW,CAAC,yBAAyB,EAAE,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,CAAC;KACzE;IAED,MAAM;QACJ,MAAM,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;QAClC,QACEA,QAACC,UAAI,qDACH,KAAK,EAAE;gBACL,+BAA+B,EAAE,CAAC,CAAC,gBAAgB;aACpD,IAEDD,oEAAa,CACR,EACP;KACH;;;;;;;;;;;;;","names":["h","Host"],"sources":["src/components/ic-layout-grid-item/ic-layout-grid-item.css?tag=ic-layout-grid-item&encapsulation=shadow","src/components/ic-layout-grid-item/ic-layout-grid-item.tsx"],"sourcesContent":[":host {\n grid-column: var(--ic-grid-item-col-start, 1) / span\n var(--ic-grid-item-col-span, var(--ic-layout-grid-col-span, 1)) !important;\n grid-row: var(--ic-grid-item-row-start, 1) / span\n var(--ic-grid-item-row-span, var(--ic-layout-grid-row-span, 1)) !important;\n}\n\n@media only screen and (max-width: 576px) {\n :host(.ic-layout-grid-hide-in-mobile) {\n display: none;\n }\n}\n","import { Component, Prop, Host, h, Element, Watch } from \"@stencil/core\";\n\n@Component({\n tag: \"ic-layout-grid-item\",\n styleUrl: \"ic-layout-grid-item.css\",\n shadow: true,\n})\nexport class LayoutGridItem {\n @Element() el: HTMLIcLayoutGridItemElement;\n\n /**\n * The number of columns the grid item should span.\n */\n @Prop() colSpan?: number = 1;\n @Watch(\"colSpan\")\n watchColSpan(newValue: number) {\n this.el.style.setProperty(\"--ic-grid-item-col-span\", `${newValue}`);\n }\n\n /**\n * The column the grid item should start at.\n */\n @Prop() colStart?: number = 1;\n @Watch(\"colStart\")\n watchColStart(newValue: number) {\n this.el.style.setProperty(\"--ic-grid-item-col-start\", `${newValue}`);\n }\n\n /**\n * If `true`, the grid item will be hidden on smaller screens.\n */\n @Prop() hideInMobileMode?: boolean = false;\n\n /**\n * The number of rows the grid item should span.\n */\n @Prop() rowSpan?: number = 1;\n @Watch(\"rowSpan\")\n watchRowSpan(newValue: number) {\n this.el.style.setProperty(\"--ic-grid-item-row-span\", `${newValue}`);\n }\n\n /**\n * The row the grid item should start at.\n */\n @Prop() rowStart?: number = 1;\n @Watch(\"rowStart\")\n watchRowStart(newValue: number) {\n this.el.style.setProperty(\"--ic-grid-item-row-start\", `${newValue}`);\n }\n\n componentWillLoad(): void {\n this.el.style.setProperty(\"--ic-grid-item-col-start\", `${this.colStart}`);\n this.el.style.setProperty(\"--ic-grid-item-col-span\", `${this.colSpan}`);\n this.el.style.setProperty(\"--ic-grid-item-row-start\", `${this.rowStart}`);\n this.el.style.setProperty(\"--ic-grid-item-row-span\", `${this.rowSpan}`);\n }\n\n render() {\n const { hideInMobileMode } = this;\n return (\n <Host\n class={{\n \"ic-layout-grid-hide-in-mobile\": !!hideInMobileMode,\n }}\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -0,0 +1,156 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-d337cd8a.js');
6
+
7
+ const icLayoutGridCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:grid;width:-moz-fit-content;width:fit-content;grid-template-columns:repeat(\n var(--ic-layout-grid-columns),\n var(--ic-layout-grid-col-width, 1fr)\n );grid-template-rows:repeat(var(--ic-layout-grid-rows), 1fr);gap:var(--ic-layout-grid-spacing);padding-top:var(--ic-layout-grid-margin);padding-bottom:var(--ic-layout-grid-margin)}:host ::slotted(*){grid-column:span var(--ic-layout-grid-col-span, 1);grid-row:span var(--ic-layout-grid-row-span, 1)}:host(.ic-layout-grid-aligned-center){margin-left:auto;margin-right:auto;padding-left:var(--ic-layout-grid-margin);padding-right:var(--ic-layout-grid-margin)}:host(.ic-layout-grid-aligned-left){margin-left:var(--ic-layout-grid-margin);margin-right:auto;padding-right:var(--ic-layout-grid-margin)}:host(.ic-layout-grid-aligned-full-width){margin-left:var(--ic-layout-grid-margin);margin-right:var(--ic-layout-grid-margin);width:calc(100% - (var(--ic-layout-grid-margin) * 2))}:host(.ic-layout-grid-no-vertical-padding){padding-top:0;padding-bottom:0}@media only screen and (max-width: 576px){:host{--ic-layout-grid-margin:var(--ic-space-xs);--ic-layout-grid-columns:var(--ic-layout-grid-columns-xs)}:host ::slotted(*){--ic-layout-grid-col-span:var(--ic-layout-grid-col-span-xs)}}@media only screen and (min-width: 577px){:host{--ic-layout-grid-margin:var(--ic-space-md);--ic-layout-grid-columns:var(--ic-layout-grid-columns-sm)}:host ::slotted(*){--ic-layout-grid-col-span:var(--ic-layout-grid-col-span-sm)}}@media only screen and (min-width: 769px){:host{--ic-layout-grid-margin:var(--ic-space-md);--ic-layout-grid-columns:var(--ic-layout-grid-columns-md)}:host ::slotted(*){--ic-layout-grid-col-span:var(--ic-layout-grid-col-span-md)}}@media only screen and (min-width: 993px){:host{--ic-layout-grid-margin:var(--ic-space-md);--ic-layout-grid-columns:var(--ic-layout-grid-columns-lg)}:host ::slotted(*){--ic-layout-grid-col-span:var(--ic-layout-grid-col-span-lg)}}@media only screen and (min-width: 1201px){:host{--ic-layout-grid-margin:var(--ic-space-lg);--ic-layout-grid-columns:var(--ic-layout-grid-columns-xl)}:host ::slotted(*){--ic-layout-grid-col-span:var(--ic-layout-grid-col-span-xl)}}";
8
+ const IcLayoutGridStyle0 = icLayoutGridCss;
9
+
10
+ const LayoutGrid = class {
11
+ constructor(hostRef) {
12
+ index.registerInstance(this, hostRef);
13
+ this.COL_WIDTH_CSS_PROP = "--ic-layout-grid-col-width";
14
+ /**
15
+ * The alignment of the grid.
16
+ */
17
+ this.aligned = "left";
18
+ /**
19
+ * The default column span for grid items.
20
+ */
21
+ this.defaultColSpan = 1;
22
+ /**
23
+ * The default column width for grid items.
24
+ * This is used when the grid type is set to "fixed".
25
+ */
26
+ this.defaultColWidth = "64px";
27
+ /**
28
+ * The default row span for grid items.
29
+ */
30
+ this.defaultRowSpan = 1;
31
+ /**
32
+ * If `true`, the standard vertical padding from the grid will be removed.
33
+ */
34
+ this.fullHeight = false;
35
+ /**
36
+ * The space between grid items, in multiples of the base spacing unit (`var(--ic-space-xs)`).
37
+ */
38
+ this.gridSpacing = 2;
39
+ /**
40
+ * The number of rows in the grid.
41
+ */
42
+ this.rows = 1;
43
+ /**
44
+ * The layout type of the grid.
45
+ */
46
+ this.type = "fixed";
47
+ this.getColumns = () => {
48
+ if (typeof this.columns === "number") {
49
+ this.el.style.setProperty("--ic-layout-grid-columns", this.columns.toString());
50
+ }
51
+ else if (typeof this.columns === "object") {
52
+ Object.entries(this.columns).forEach(([breakpoint, value]) => {
53
+ if (value !== undefined) {
54
+ this.el.style.setProperty(`--ic-layout-grid-columns-${breakpoint}`, value.toString());
55
+ }
56
+ });
57
+ }
58
+ };
59
+ this.getColSpan = () => {
60
+ if (this.defaultColSpan !== undefined) {
61
+ if (typeof this.defaultColSpan === "number") {
62
+ Array.from(this.el.children).forEach((child) => {
63
+ child.style.setProperty("--ic-layout-grid-col-span", `${this.defaultColSpan}`);
64
+ });
65
+ }
66
+ else if (typeof this.defaultColSpan === "object") {
67
+ Object.entries(this.defaultColSpan).forEach(([breakpoint, value]) => {
68
+ if (value !== undefined) {
69
+ this.el.style.setProperty(`--ic-layout-grid-col-span-${breakpoint}`, value.toString());
70
+ }
71
+ });
72
+ }
73
+ }
74
+ };
75
+ this.getGridSpacing = () => {
76
+ this.el.style.setProperty("--ic-layout-grid-spacing", `calc(var(--ic-space-xs) * ${this.gridSpacing})`);
77
+ };
78
+ }
79
+ watchColumns() {
80
+ this.getColumns();
81
+ }
82
+ watchDefaultColSpan() {
83
+ this.getColSpan();
84
+ }
85
+ watchDefaultColWidth(newValue) {
86
+ if (this.type === "fixed") {
87
+ this.el.style.setProperty(this.COL_WIDTH_CSS_PROP, newValue);
88
+ }
89
+ }
90
+ watchDefaultRowSpan(newValue) {
91
+ this.el.style.setProperty("--ic-layout-grid-row-span", `${newValue}`);
92
+ }
93
+ watchGridSpacing() {
94
+ this.getGridSpacing();
95
+ }
96
+ watchRows(newValue) {
97
+ this.el.style.setProperty("--ic-layout-grid-rows", `${newValue}`);
98
+ }
99
+ watchType(newValue) {
100
+ this.getColumns();
101
+ if (newValue === "fixed" && this.defaultColWidth) {
102
+ this.el.style.setProperty(this.COL_WIDTH_CSS_PROP, this.defaultColWidth);
103
+ }
104
+ else {
105
+ this.el.style.removeProperty(this.COL_WIDTH_CSS_PROP);
106
+ }
107
+ }
108
+ componentWillLoad() {
109
+ if (this.columns === undefined) {
110
+ if (this.type === "fixed") {
111
+ this.columns = 12;
112
+ }
113
+ else if (this.type === "fluid") {
114
+ this.columns = {
115
+ xs: 2,
116
+ sm: 4,
117
+ md: 8,
118
+ lg: 12,
119
+ xl: 12,
120
+ };
121
+ }
122
+ }
123
+ this.getColumns();
124
+ this.getColSpan();
125
+ this.getGridSpacing();
126
+ if (this.type === "fixed" && this.defaultColWidth) {
127
+ this.el.style.setProperty(this.COL_WIDTH_CSS_PROP, this.defaultColWidth);
128
+ }
129
+ if (this.rows) {
130
+ this.el.style.setProperty("--ic-layout-grid-rows", `${this.rows}`);
131
+ this.el.style.setProperty("--ic-layout-grid-row-span", `${this.defaultRowSpan}`);
132
+ }
133
+ }
134
+ render() {
135
+ const { aligned, fullHeight } = this;
136
+ return (index.h(index.Host, { key: '95699906353df84f439ec7c7ed628f4ba9c80b4e', class: {
137
+ [`ic-layout-grid-aligned-${aligned}`]: true,
138
+ ["ic-layout-grid-no-vertical-padding"]: !!fullHeight,
139
+ } }, index.h("slot", { key: '5642340495e02e53b2e7248e0f254b32b95b3b3f' })));
140
+ }
141
+ get el() { return index.getElement(this); }
142
+ static get watchers() { return {
143
+ "columns": ["watchColumns"],
144
+ "defaultColSpan": ["watchDefaultColSpan"],
145
+ "defaultColWidth": ["watchDefaultColWidth"],
146
+ "defaultRowSpan": ["watchDefaultRowSpan"],
147
+ "gridSpacing": ["watchGridSpacing"],
148
+ "rows": ["watchRows"],
149
+ "type": ["watchType"]
150
+ }; }
151
+ };
152
+ LayoutGrid.style = IcLayoutGridStyle0;
153
+
154
+ exports.ic_layout_grid = LayoutGrid;
155
+
156
+ //# sourceMappingURL=ic-layout-grid.cjs.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"ic-layout-grid.entry.cjs.js","mappings":"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","names":["h","Host"],"sources":["src/components/ic-layout-grid/ic-layout-grid.css?tag=ic-layout-grid&encapsulation=shadow","src/components/ic-layout-grid/ic-layout-grid.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n display: grid;\n width: fit-content;\n grid-template-columns: repeat(\n var(--ic-layout-grid-columns),\n var(--ic-layout-grid-col-width, 1fr)\n );\n grid-template-rows: repeat(var(--ic-layout-grid-rows), 1fr);\n gap: var(--ic-layout-grid-spacing);\n padding-top: var(--ic-layout-grid-margin);\n padding-bottom: var(--ic-layout-grid-margin);\n}\n\n:host ::slotted(*) {\n grid-column: span var(--ic-layout-grid-col-span, 1);\n grid-row: span var(--ic-layout-grid-row-span, 1);\n}\n\n:host(.ic-layout-grid-aligned-center) {\n margin-left: auto;\n margin-right: auto;\n padding-left: var(--ic-layout-grid-margin);\n padding-right: var(--ic-layout-grid-margin);\n}\n\n:host(.ic-layout-grid-aligned-left) {\n margin-left: var(--ic-layout-grid-margin);\n margin-right: auto;\n padding-right: var(--ic-layout-grid-margin);\n}\n\n:host(.ic-layout-grid-aligned-full-width) {\n margin-left: var(--ic-layout-grid-margin);\n margin-right: var(--ic-layout-grid-margin);\n width: calc(100% - (var(--ic-layout-grid-margin) * 2));\n}\n\n:host(.ic-layout-grid-no-vertical-padding) {\n padding-top: 0;\n padding-bottom: 0;\n}\n\n@media only screen and (max-width: 576px) {\n :host {\n --ic-layout-grid-margin: var(--ic-space-xs);\n --ic-layout-grid-columns: var(--ic-layout-grid-columns-xs);\n }\n\n :host ::slotted(*) {\n --ic-layout-grid-col-span: var(--ic-layout-grid-col-span-xs);\n }\n}\n\n@media only screen and (min-width: 577px) {\n :host {\n --ic-layout-grid-margin: var(--ic-space-md);\n --ic-layout-grid-columns: var(--ic-layout-grid-columns-sm);\n }\n\n :host ::slotted(*) {\n --ic-layout-grid-col-span: var(--ic-layout-grid-col-span-sm);\n }\n}\n\n@media only screen and (min-width: 769px) {\n :host {\n --ic-layout-grid-margin: var(--ic-space-md);\n --ic-layout-grid-columns: var(--ic-layout-grid-columns-md);\n }\n\n :host ::slotted(*) {\n --ic-layout-grid-col-span: var(--ic-layout-grid-col-span-md);\n }\n}\n\n@media only screen and (min-width: 993px) {\n :host {\n --ic-layout-grid-margin: var(--ic-space-md);\n --ic-layout-grid-columns: var(--ic-layout-grid-columns-lg);\n }\n\n :host ::slotted(*) {\n --ic-layout-grid-col-span: var(--ic-layout-grid-col-span-lg);\n }\n}\n\n@media only screen and (min-width: 1201px) {\n :host {\n --ic-layout-grid-margin: var(--ic-space-lg);\n --ic-layout-grid-columns: var(--ic-layout-grid-columns-xl);\n }\n\n :host ::slotted(*) {\n --ic-layout-grid-col-span: var(--ic-layout-grid-col-span-xl);\n }\n}\n","import { Component, Prop, Host, h, Element, Watch } from \"@stencil/core\";\nimport { IcAlignment } from \"../../utils/types\";\nimport { IcGridBreakpoints, IcGridType } from \"./ic-layout-grid.types\";\n\n@Component({\n tag: \"ic-layout-grid\",\n styleUrl: \"ic-layout-grid.css\",\n shadow: true,\n})\nexport class LayoutGrid {\n private COL_WIDTH_CSS_PROP = \"--ic-layout-grid-col-width\";\n\n @Element() el: HTMLIcLayoutGridElement;\n\n /**\n * The alignment of the grid.\n */\n @Prop() aligned?: IcAlignment = \"left\";\n\n /**\n * The number of columns in the grid.\n * This can be a number or an object specifying different values for each breakpoint.\n */\n @Prop() columns?: IcGridBreakpoints;\n @Watch(\"columns\")\n watchColumns() {\n this.getColumns();\n }\n\n /**\n * The default column span for grid items.\n */\n @Prop() defaultColSpan?: IcGridBreakpoints = 1;\n @Watch(\"defaultColSpan\")\n watchDefaultColSpan() {\n this.getColSpan();\n }\n\n /**\n * The default column width for grid items.\n * This is used when the grid type is set to \"fixed\".\n */\n @Prop() defaultColWidth?: string = \"64px\";\n @Watch(\"defaultColWidth\")\n watchDefaultColWidth(newValue: string) {\n if (this.type === \"fixed\") {\n this.el.style.setProperty(this.COL_WIDTH_CSS_PROP, newValue);\n }\n }\n\n /**\n * The default row span for grid items.\n */\n @Prop() defaultRowSpan?: number = 1;\n @Watch(\"defaultRowSpan\")\n watchDefaultRowSpan(newValue: number) {\n this.el.style.setProperty(\"--ic-layout-grid-row-span\", `${newValue}`);\n }\n\n /**\n * If `true`, the standard vertical padding from the grid will be removed.\n */\n @Prop() fullHeight?: boolean = false;\n\n /**\n * The space between grid items, in multiples of the base spacing unit (`var(--ic-space-xs)`).\n */\n @Prop() gridSpacing?: number = 2;\n @Watch(\"gridSpacing\")\n watchGridSpacing() {\n this.getGridSpacing();\n }\n\n /**\n * The number of rows in the grid.\n */\n @Prop() rows?: number = 1;\n @Watch(\"rows\")\n watchRows(newValue: number) {\n this.el.style.setProperty(\"--ic-layout-grid-rows\", `${newValue}`);\n }\n\n /**\n * The layout type of the grid.\n */\n @Prop() type: IcGridType = \"fixed\";\n @Watch(\"type\")\n watchType(newValue: IcGridType) {\n this.getColumns();\n if (newValue === \"fixed\" && this.defaultColWidth) {\n this.el.style.setProperty(this.COL_WIDTH_CSS_PROP, this.defaultColWidth);\n } else {\n this.el.style.removeProperty(this.COL_WIDTH_CSS_PROP);\n }\n }\n\n componentWillLoad(): void {\n if (this.columns === undefined) {\n if (this.type === \"fixed\") {\n this.columns = 12;\n } else if (this.type === \"fluid\") {\n this.columns = {\n xs: 2,\n sm: 4,\n md: 8,\n lg: 12,\n xl: 12,\n };\n }\n }\n this.getColumns();\n this.getColSpan();\n this.getGridSpacing();\n if (this.type === \"fixed\" && this.defaultColWidth) {\n this.el.style.setProperty(this.COL_WIDTH_CSS_PROP, this.defaultColWidth);\n }\n if (this.rows) {\n this.el.style.setProperty(\"--ic-layout-grid-rows\", `${this.rows}`);\n this.el.style.setProperty(\n \"--ic-layout-grid-row-span\",\n `${this.defaultRowSpan}`\n );\n }\n }\n\n private getColumns = () => {\n if (typeof this.columns === \"number\") {\n this.el.style.setProperty(\n \"--ic-layout-grid-columns\",\n this.columns.toString()\n );\n } else if (typeof this.columns === \"object\") {\n Object.entries(this.columns).forEach(([breakpoint, value]) => {\n if (value !== undefined) {\n this.el.style.setProperty(\n `--ic-layout-grid-columns-${breakpoint}`,\n value.toString()\n );\n }\n });\n }\n };\n\n private getColSpan = () => {\n if (this.defaultColSpan !== undefined) {\n if (typeof this.defaultColSpan === \"number\") {\n (Array.from(this.el.children) as HTMLElement[]).forEach((child) => {\n child.style.setProperty(\n \"--ic-layout-grid-col-span\",\n `${this.defaultColSpan}`\n );\n });\n } else if (typeof this.defaultColSpan === \"object\") {\n Object.entries(this.defaultColSpan).forEach(([breakpoint, value]) => {\n if (value !== undefined) {\n this.el.style.setProperty(\n `--ic-layout-grid-col-span-${breakpoint}`,\n value.toString()\n );\n }\n });\n }\n }\n };\n\n private getGridSpacing = () => {\n this.el.style.setProperty(\n \"--ic-layout-grid-spacing\",\n `calc(var(--ic-space-xs) * ${this.gridSpacing})`\n );\n };\n\n render() {\n const { aligned, fullHeight } = this;\n\n return (\n <Host\n class={{\n [`ic-layout-grid-aligned-${aligned}`]: true,\n [\"ic-layout-grid-no-vertical-padding\"]: !!fullHeight,\n }}\n >\n <slot></slot>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-d337cd8a.js');
6
6
  const OpenInNew = require('./OpenInNew-d5d30e77.js');
7
- const helpers = require('./helpers-8217daf4.js');
7
+ const helpers = require('./helpers-a0e78e2e.js');
8
8
 
9
9
  const icLinkCss = "/*! 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(.ic-link) .link,:host(.ic-link) ::slotted(a){color:var(--ic-link-text);text-decoration:underline;font-weight:var(--ic-font-weight-bold);transition:var(--ic-easing-transition-fast)}:host(.ic-link) .link:visited,:host(.ic-link) ::slotted(a:visited),:host(.ic-link) .link:visited:hover,:host(.ic-link) ::slotted(a:visited:hover),:host(.ic-link) .link:visited:active,:host(.ic-link) ::slotted(a:visited:active),:host(.ic-link) .link:visited:focus,:host(.ic-link) ::slotted(a:visited:focus){color:var(--ic-link-text-visited)}:host(.ic-link) .link:hover{color:var(--ic-link-text-hover)}:host(.ic-link) .link:active{color:var(--ic-link-text-pressed)}:host(.ic-link) .link:focus{color:var(--ic-link-text-focused)}:host(.ic-link-monochrome) .link:hover{color:var(--ic-link-text-hover-monochrome)}:host(.ic-link-monochrome) .link:active{color:var(--ic-link-text-pressed-monochrome)}:host(.ic-link-monochrome) .link:focus{color:var(--ic-link-text-focused-monochrome)}:host(.ic-link) .link:hover,:host(.ic-link) .link:focus,:host(.ic-link) ::slotted(a:hover),:host(.ic-link) ::slotted(a:focus){outline:none;border-bottom:0.25rem solid !important;margin-bottom:-0.25rem !important;text-decoration:none}@supports (text-underline-offset: 10%){:host(.ic-link) .link:hover,:host(.ic-link) .link:focus,:host(.ic-link) ::slotted(a:hover),:host(.ic-link) ::slotted(a:focus){text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:10%;border-bottom:0 !important;margin-bottom:0 !important}}:host(.ic-link) .link:active,:host(.ic-link) .link:focus:active,:host(.ic-link) .link:visited:active,:host(.ic-link) ::slotted(a:active),:host(.ic-link) ::slotted(a:focus:active),:host(.ic-link) ::slotted(a:visited:active){text-decoration:none}.ic-link-open-in-new-icon{vertical-align:middle;margin-left:var(--ic-space-xxs)}.ic-link-open-in-new-icon>svg{width:var(--ic-space-md);height:var(--ic-space-md);fill:var(--ic-link-icon-launch)}.link:visited>.ic-link-open-in-new-icon>svg{fill:var(--ic-link-icon-launch-visited)}:host(.ic-link-monochrome) .link,:host(.ic-link-monochrome) ::slotted(a){color:var(--ic-link-text-monochrome)}:host(.ic-link-monochrome) .link:visited,:host(.ic-link-monochrome) ::slotted(a:visited),:host(.ic-link-monochrome) .link:visited:hover,:host(.ic-link-monochrome) ::slotted(a:visited:hover),:host(.ic-link-monochrome) .link:visited:active,:host(.ic-link-monochrome) ::slotted(a:visited:active),:host(.ic-link-monochrome) .link:visited:focus,:host(.ic-link-monochrome) ::slotted(a:visited:focus){color:var(--ic-link-text-visited-monochrome)}:host(.ic-link-monochrome) .link>.ic-link-open-in-new-icon>svg{fill:var(--ic-link-icon-launch-monochrome)}:host(.ic-link-monochrome) .link:visited>.ic-link-open-in-new-icon>svg{fill:var(--ic-link-icon-launch-visited-monochrome)}:host(.breadcrumb-link) .link{display:var(--breadcrumb-link-display);align-items:var(--breadcrumb-link-align-items);gap:var(--breadcrumb-link-gap)}:host(.breadcrumb-link) .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) .link,:host(.breadcrumb-link.current-page) ::slotted(a:focus){outline:var(--ic-hc-focus-outline);text-decoration:none}:host(.breadcrumb-link.current-page) .link:visited{color:var(--ic-color-text-primary)}:host(.footer-link) ::slotted(a){color:var(--ic-footer-link) !important}:host(.footer-link) .ic-link-open-in-new-icon>svg{fill:var(--ic-footer-icon) !important}@media (forced-colors: active){:host(.ic-link) .ic-link-open-in-new-icon>svg{fill:currentcolor !important}}";
10
10
  const IcLinkStyle0 = icLinkCss;
@@ -95,7 +95,7 @@ const Link = class {
95
95
  }
96
96
  render() {
97
97
  const { download, href, hreflang, referrerpolicy, rel, target, monochrome, theme, } = this;
98
- return (index.h(index.Host, { key: 'bc07dfd2d7467391a9c121f1263df5d053f7a59c', class: {
98
+ return (index.h(index.Host, { key: '21143018ec29344c665ecc6ffdc7ca033eb6fd18', class: {
99
99
  ["ic-link"]: true,
100
100
  [`ic-theme-${theme}`]: theme !== "inherit",
101
101
  ["ic-link-monochrome"]: !!monochrome,
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-d337cd8a.js');
6
- const helpers = require('./helpers-8217daf4.js');
6
+ const helpers = require('./helpers-a0e78e2e.js');
7
7
 
8
8
  const icMenuGroupCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:flex;flex-direction:column}ic-typography{--ic-typography-color:var(--ic-popover-parent-label);margin:var(--ic-space-xs) var(--ic-space-xs) 0}ul{list-style-type:none;margin:0;padding:0}hr{display:flex;align-self:stretch;border:calc(var(--ic-space-xxxs) / 2) solid var(--ic-popover-border);margin:var(--ic-space-xxs) 0 calc(var(--ic-space-sm) / 4)}";
9
9
  const IcMenuGroupStyle0 = icMenuGroupCss;
@@ -14,7 +14,7 @@ const MenuGroup = class {
14
14
  }
15
15
  render() {
16
16
  const parentMenu = this.el.closest("ic-popover-menu");
17
- return (index.h(index.Host, { key: '4136f4cf036cf396b34c3c2000242aca5ca2eeff', role: "group", "aria-label": this.label !== null ? this.label : "" }, helpers.isPropDefined(this.label) && (index.h("ic-typography", { key: 'a0de968e792cfedeee7ddad9f4b43885241abce5', variant: "subtitle-small" }, this.label)), index.h("span", { key: 'e9720932e7fc8ec62b7de24fef73a58bdc4af7c1', class: "menu-items-wrapper" }, index.h("slot", { key: 'c5ba1104bbd9a8749aec9b78641a05159fb56b4b' })), this.el !== (parentMenu === null || parentMenu === void 0 ? void 0 : parentMenu.querySelector("ic-menu-group:last-child")) && (index.h("hr", { key: 'f8daab6f88da899054ace20e75e67f636d24c346' }))));
17
+ return (index.h(index.Host, { key: 'e80513cbfafcba84a75297272b402bfb60acdf80', role: "group", "aria-label": this.label !== null ? this.label : "" }, helpers.isPropDefined(this.label) && (index.h("ic-typography", { key: '726deba27f96a3bdb84856d851e484aab1be1301', variant: "subtitle-small" }, this.label)), index.h("span", { key: 'a383d9a234af9acceb9a746a891c290225dc8e37', class: "menu-items-wrapper" }, index.h("slot", { key: '60219f7f2cf0ee516c908a5ed3f45c0d27686293' })), this.el !== (parentMenu === null || parentMenu === void 0 ? void 0 : parentMenu.querySelector("ic-menu-group:last-child")) && (index.h("hr", { key: '85128f561dcc20d70937c690b9bfc56d34b698b8' }))));
18
18
  }
19
19
  get el() { return index.getElement(this); }
20
20
  };
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-d337cd8a.js');
6
- const helpers = require('./helpers-8217daf4.js');
6
+ const helpers = require('./helpers-a0e78e2e.js');
7
7
  const checkIcon = require('./check-icon-7225d79b.js');
8
8
  const chevronIcon = require('./chevron-icon-3bf07531.js');
9
9
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-d337cd8a.js');
6
- const helpers = require('./helpers-8217daf4.js');
6
+ const helpers = require('./helpers-a0e78e2e.js');
7
7
 
8
8
  const icNavigationButtonCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;margin-right:var(--ic-space-xs);list-style:none}:host(.in-side-menu){margin-right:0}:host::part(button){height:100%;min-height:2.5rem}:host(:not(.in-side-menu)) ::part(button):focus{box-shadow:var(--ic-border-focus-light)}:host(:not(.in-side-menu).dark) ::part(button):focus{box-shadow:var(--ic-border-focus-dark)}:host(.in-side-menu) ::part(button){color:var(--ic-top-navigation-icon-active)}:host(.in-side-menu) ::part(button):hover{color:var(--ic-top-navigation-icon-hover);background-color:var(--ic-top-navigation-icon-hover-background)}:host(.in-side-menu) ::part(button):active{color:var(--ic-top-navigation-icon-pressed);background-color:var(--ic-top-navigation-icon-pressed-background)}:host(.in-side-menu) ::slotted(ic-badge){margin-left:var(--ic-space-xs)}";
9
9
  const IcNavigationButtonStyle0 = icNavigationButtonCss;
@@ -3,10 +3,10 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-d337cd8a.js');
6
- const helpers = require('./helpers-8217daf4.js');
6
+ const helpers = require('./helpers-a0e78e2e.js');
7
7
  const chevronIcon = require('./chevron-icon-3bf07531.js');
8
8
 
9
- const icNavigationGroupCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;--ic-typography-color:currentcolor}:host(.in-side-menu){border-bottom:var(--ic-border-width) solid\n var(--ic-divider-background-monochrome);padding:var(--ic-space-md) 0}:host .navigation-group{height:100%;width:-moz-fit-content;width:fit-content;color:var(--ic-brand-text-color);display:flex;gap:var(--ic-space-xxs);align-items:center;justify-content:center;padding:0 var(--ic-space-md);transition:var(--ic-easing-transition-slow);position:relative;background:none;border:none;text-align:left;box-sizing:border-box}:host .navigation-group:hover,:host .navigation-group:active,:host .selected{background-color:var(--ic-architectural-20);color:var(--ic-color-text-primary-light);outline:none;cursor:pointer}:host(.in-side-menu) .navigation-group{min-height:2.5rem;width:100%;gap:1.25rem}:host(.in-side-menu) .navigation-group .ic-typography-label{width:100%}:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group,:host(.in-side-menu) .navigation-group-side-menu-collapsed,:host(.in-side-menu) .navigation-group-side-menu-expanded{color:var(--ic-top-navigation-nav-group-link);justify-content:flex-start;padding:var(--ic-space-xs) var(--ic-space-md)}:host(.in-side-menu) .navigation-group-side-menu-expanded{margin-bottom:var(--ic-space-xs)}:host(.in-side-menu) .navigation-group-side-menu-collapsed::after,:host(.in-side-menu) .navigation-group-side-menu-expanded::after{border-style:solid;border-width:0.125em 0.125em 0 0;content:\"\";display:inline-block;min-height:0.45em;position:relative;top:-0.1em;transform:rotate(135deg);vertical-align:top;min-width:0.45em}:host(.in-side-menu) .navigation-group-side-menu-expanded::after{top:0.15em;transform:rotate(-45deg)}:host(:not(.in-side-menu)) .navigation-group:focus{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline);z-index:var(--ic-z-index-navigation-item);transition:box-shadow var(--ic-easing-transition-fast)}:host(.in-side-menu) .navigation-group-side-menu-expanded:hover:not(:focus),:host(.in-side-menu) .navigation-group-side-menu-collapsed:hover:not(:focus){background-color:var(--ic-top-navigation-nav-group-hover);cursor:pointer}:host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),:host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus){background-color:var(--ic-top-navigation-nav-group-pressed)}:host(.in-side-menu) .navigation-group-side-menu-expanded:focus,:host(.in-side-menu) .navigation-group-side-menu-collapsed:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);outline:var(--ic-hc-focus-outline);background:none}:host .navigation-group-dropdown{background-color:var(--ic-top-navigation-menu-background);border-bottom:var(--ic-space-1px) solid var(--ic-top-navigation-menu-border);position:absolute;left:0;right:0;padding:var(--ic-space-xs) var(--ic-space-md);box-shadow:0 0.375rem 0.5rem -0.375rem rgba(0 0 0 / 20%);z-index:calc(var(--ic-z-index-navigation-item) - 1)}:host .navigation-group-dropdown-items-list{list-style:none;display:flex;flex-flow:column wrap;align-content:flex-start;padding-left:var(--ic-space-md);max-height:16.5rem}:host .chevron-toggle-icon-wrapper{display:flex;align-items:center}:host .chevron-toggle-icon-wrapper svg{transform:rotate(90deg);height:var(--ic-space-lg);width:var(--ic-space-lg)}:host .chevron-toggle-icon-closed svg{transform:rotate(-90deg)}:host(.ic-navigation-group-expanded) .grouped-links-wrapper{height:var(--navigation-child-items-height, auto) !important;transition:var(--ic-easing-transition-slow);overflow:hidden}:host(.ic-navigation-group-side-nav) .link,:host(.ic-navigation-group-side-nav) ::slotted(a){height:var(--navigation-child-items-height, auto)}:host(.ic-navigation-group-collapsed) .grouped-links-wrapper{height:0;transition:var(--ic-easing-transition-slow);overflow:hidden}:host(.ic-navigation-group-side-nav) .navigation-group{min-height:var(--navigation-group-height);min-width:100%;width:var(--navigation-group-width, auto);justify-content:var(--navigation-group-justify-content);padding:var(--ic-space-md) var(--navigation-group-expand-toggle-padding)\n var(--ic-space-xs) var(--ic-space-md)}:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable)) .navigation-group{padding-right:var(--ic-space-md)}:host(.ic-navigation-group-side-nav) .navigation-group:hover,:host(.ic-navigation-group-side-nav) .navigation-group:active,:host(.ic-navigation-group-side-nav) .selected{background-color:var(--navigation-group-hover);color:var(--navigation-group-text-hover)}:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable)) .navigation-group:hover,:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable)) .navigation-group:active,:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group:hover,:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group:active{background:none;cursor:auto}:host(.ic-navigation-group-side-nav) .navigation-group:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);background:none}:host(.ic-navigation-group-side-nav) .ic-typography-caption{position:var(--navigation-group-title-position);left:var(--navigation-group-title-position-left)}";
9
+ const icNavigationGroupCss = "/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type=\"button\"],[type=\"reset\"],[type=\"submit\"]{-webkit-appearance:button}button::-moz-focus-inner,[type=\"button\"]::-moz-focus-inner,[type=\"reset\"]::-moz-focus-inner,[type=\"submit\"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type=\"button\"]:-moz-focusring,[type=\"reset\"]:-moz-focusring,[type=\"submit\"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type=\"checkbox\"],[type=\"radio\"]{box-sizing:border-box;padding:0;}[type=\"number\"]::-webkit-inner-spin-button,[type=\"number\"]::-webkit-outer-spin-button{height:auto}[type=\"search\"]{-webkit-appearance:textfield;outline-offset:-2px;}[type=\"search\"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}:host{display:block;--ic-typography-color:currentcolor}:host(.in-side-menu){border-bottom:var(--ic-border-width) solid\n var(--ic-divider-background-monochrome);padding:var(--ic-space-md) 0}:host .navigation-group{height:100%;width:-moz-fit-content;width:fit-content;color:var(--ic-brand-text-color);display:flex;gap:var(--ic-space-xxs);align-items:center;justify-content:center;padding:0 var(--ic-space-md);transition:var(--ic-easing-transition-slow);position:relative;background:none;border:none;text-align:left;box-sizing:border-box}:host .navigation-group:hover,:host .navigation-group:active,:host .selected{background-color:var(--ic-architectural-20);color:var(--ic-color-text-primary-light);outline:none;cursor:pointer}:host(.in-side-menu) .navigation-group{min-height:2.5rem;width:100%;gap:1.25rem}:host(.in-side-menu) .navigation-group .ic-typography-label{width:100%}:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group,:host(.in-side-menu) .navigation-group-side-menu-collapsed,:host(.in-side-menu) .navigation-group-side-menu-expanded{color:var(--ic-top-navigation-nav-group-link);justify-content:flex-start;padding:var(--ic-space-xs) var(--ic-space-md)}:host(.in-side-menu) .navigation-group-side-menu-expanded{margin-bottom:var(--ic-space-xs)}:host(.in-side-menu) .navigation-group-side-menu-collapsed::after,:host(.in-side-menu) .navigation-group-side-menu-expanded::after{border-style:solid;border-width:0.125em 0.125em 0 0;content:\"\";display:inline-block;min-height:0.45em;position:relative;top:-0.1em;transform:rotate(135deg);vertical-align:top;min-width:0.45em}:host(.in-side-menu) .navigation-group-side-menu-expanded::after{top:0.15em;transform:rotate(-45deg)}:host(:not(.in-side-menu)) .navigation-group:focus{box-shadow:var(--ic-border-focus);border-radius:var(--ic-border-radius);outline:var(--ic-hc-focus-outline);z-index:var(--ic-z-index-navigation-item);transition:box-shadow var(--ic-easing-transition-fast)}:host(.in-side-menu) .navigation-group-side-menu-expanded:hover:not(:focus),:host(.in-side-menu) .navigation-group-side-menu-collapsed:hover:not(:focus){background-color:var(--ic-top-navigation-nav-group-hover);cursor:pointer}:host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),:host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus){background-color:var(--ic-top-navigation-nav-group-pressed)}:host(.in-side-menu) .navigation-group-side-menu-expanded:focus,:host(.in-side-menu) .navigation-group-side-menu-collapsed:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);outline:var(--ic-hc-focus-outline);background:none}:host .navigation-group-dropdown{background-color:var(--ic-top-navigation-menu-background);border-bottom:var(--ic-space-1px) solid var(--ic-top-navigation-menu-border);position:absolute;left:0;right:0;padding:var(--ic-space-xs) var(--ic-space-md);box-shadow:0 0.375rem 0.5rem -0.375rem rgba(0 0 0 / 20%);z-index:calc(var(--ic-z-index-navigation-item) - 1)}:host .navigation-group-dropdown-items-list{list-style:none;display:flex;flex-flow:column wrap;align-content:flex-start;padding-left:var(--ic-space-md);max-height:16.5rem}:host .chevron-toggle-icon-wrapper{display:flex;align-items:center}:host .chevron-toggle-icon-wrapper svg{transform:rotate(90deg);height:var(--ic-space-lg);width:var(--ic-space-lg)}:host .chevron-toggle-icon-closed svg{transform:rotate(-90deg)}:host(.ic-navigation-group-expanded) .grouped-links-wrapper{height:var(--navigation-child-items-height, auto) !important;transition:var(--ic-easing-transition-slow);overflow:hidden}:host(.ic-navigation-group-side-nav) .link,:host(.ic-navigation-group-side-nav) ::slotted(a){height:var(--navigation-child-items-height, auto)}:host(.ic-navigation-group-collapsed) .grouped-links-wrapper{height:0;transition:var(--ic-easing-transition-slow);overflow:hidden}:host(.ic-navigation-group-side-nav) .navigation-group{min-height:var(--navigation-group-height);height:-moz-fit-content;height:fit-content;min-width:100%;width:var(--navigation-group-width, auto);justify-content:var(--navigation-group-justify-content);padding:var(--ic-space-md) var(--navigation-group-expand-toggle-padding)\n var(--ic-space-xs) var(--ic-space-md)}:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable)) .navigation-group{padding-right:var(--ic-space-md)}:host(.ic-navigation-group-side-nav) .navigation-group:hover,:host(.ic-navigation-group-side-nav) .navigation-group:active,:host(.ic-navigation-group-side-nav) .selected{background-color:var(--navigation-group-hover);color:var(--navigation-group-text-hover)}:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable)) .navigation-group:hover,:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable)) .navigation-group:active,:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group:hover,:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group:active{background:none;cursor:auto}:host(.ic-navigation-group-side-nav) .navigation-group:focus{box-shadow:var(--ic-border-focus-inset);border-radius:var(--ic-border-radius-inset);background:none}:host(.ic-navigation-group-side-nav) .ic-typography-caption{position:var(--navigation-group-title-position);left:var(--navigation-group-title-position-left)}";
10
10
  const IcNavigationGroupStyle0 = icNavigationGroupCss;
11
11
 
12
12
  const IC_NAVIGATION_ITEM = "ic-navigation-item";
@@ -272,7 +272,7 @@ const NavigationGroup = class {
272
272
  const isTopNav = this.navigationType === "top";
273
273
  const isTopNavDesktop = !inTopNavSideMenu && isTopNav;
274
274
  const ariaExpanded = (isSideNav && expanded) || (isTopNav && dropdownOpen);
275
- return (index.h(index.Host, { key: 'c9fd5c0334c5a73ed68f4e6ad29fecaead553879', class: {
275
+ return (index.h(index.Host, { key: '70872453ddb1b66747a517e4757ef0d5fbb6337c', class: {
276
276
  "in-side-menu": inTopNavSideMenu,
277
277
  "ic-navigation-group-expandable": expandable,
278
278
  "ic-navigation-group-side-nav": isSideNav,
@@ -1 +1 @@
1
- {"file":"ic-navigation-group.entry.cjs.js","mappings":"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","names":["DEVICE_SIZES","getBrandForegroundAppearance","h","getCurrentDeviceSize","getNavItemParentDetails","Host","chevronIcon"],"sources":["src/components/ic-navigation-group/ic-navigation-group.css?tag=ic-navigation-group&encapsulation=shadow","src/components/ic-navigation-group/ic-navigation-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-navigation-item: z-index of navigation group item\n */\n\n:host {\n display: block;\n\n --ic-typography-color: currentcolor;\n}\n\n:host(.in-side-menu) {\n border-bottom: var(--ic-border-width) solid\n var(--ic-divider-background-monochrome);\n padding: var(--ic-space-md) 0;\n}\n\n:host .navigation-group {\n height: 100%;\n width: fit-content;\n color: var(--ic-brand-text-color);\n display: flex;\n gap: var(--ic-space-xxs);\n align-items: center;\n justify-content: center;\n padding: 0 var(--ic-space-md);\n transition: var(--ic-easing-transition-slow);\n position: relative;\n background: none;\n border: none;\n text-align: left;\n box-sizing: border-box;\n}\n\n:host .navigation-group:hover,\n:host .navigation-group:active,\n:host .selected {\n background-color: var(--ic-architectural-20);\n color: var(--ic-color-text-primary-light);\n outline: none;\n cursor: pointer;\n}\n\n:host(.in-side-menu) .navigation-group {\n min-height: 2.5rem;\n width: 100%;\n gap: 1.25rem;\n}\n\n:host(.in-side-menu) .navigation-group .ic-typography-label {\n width: 100%;\n}\n\n:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group,\n:host(.in-side-menu) .navigation-group-side-menu-collapsed,\n:host(.in-side-menu) .navigation-group-side-menu-expanded {\n color: var(--ic-top-navigation-nav-group-link);\n justify-content: flex-start;\n padding: var(--ic-space-xs) var(--ic-space-md);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded {\n margin-bottom: var(--ic-space-xs);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-collapsed::after,\n:host(.in-side-menu) .navigation-group-side-menu-expanded::after {\n border-style: solid;\n border-width: 0.125em 0.125em 0 0;\n content: \"\";\n display: inline-block;\n min-height: 0.45em;\n position: relative;\n top: -0.1em;\n transform: rotate(135deg);\n vertical-align: top;\n min-width: 0.45em;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded::after {\n top: 0.15em;\n transform: rotate(-45deg);\n}\n\n:host(:not(.in-side-menu)) .navigation-group:focus {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n z-index: var(--ic-z-index-navigation-item);\n transition: box-shadow var(--ic-easing-transition-fast);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:hover:not(:focus),\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:hover:not(:focus) {\n background-color: var(--ic-top-navigation-nav-group-hover);\n cursor: pointer;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus) {\n background-color: var(--ic-top-navigation-nav-group-pressed);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:focus,\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n outline: var(--ic-hc-focus-outline);\n background: none;\n}\n\n:host .navigation-group-dropdown {\n background-color: var(--ic-top-navigation-menu-background);\n border-bottom: var(--ic-space-1px) solid var(--ic-top-navigation-menu-border);\n position: absolute;\n left: 0;\n right: 0;\n padding: var(--ic-space-xs) var(--ic-space-md);\n box-shadow: 0 0.375rem 0.5rem -0.375rem rgba(0 0 0 / 20%);\n z-index: calc(var(--ic-z-index-navigation-item) - 1);\n}\n\n:host .navigation-group-dropdown-items-list {\n list-style: none;\n display: flex;\n flex-flow: column wrap;\n align-content: flex-start;\n padding-left: var(--ic-space-md);\n max-height: 16.5rem;\n}\n\n:host .chevron-toggle-icon-wrapper {\n display: flex;\n align-items: center;\n}\n\n:host .chevron-toggle-icon-wrapper svg {\n transform: rotate(90deg);\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host .chevron-toggle-icon-closed svg {\n transform: rotate(-90deg);\n}\n\n:host(.ic-navigation-group-expanded) .grouped-links-wrapper {\n height: var(--navigation-child-items-height, auto) !important;\n transition: var(--ic-easing-transition-slow);\n overflow: hidden;\n}\n\n:host(.ic-navigation-group-side-nav) .link,\n:host(.ic-navigation-group-side-nav) ::slotted(a) {\n height: var(--navigation-child-items-height, auto);\n}\n\n:host(.ic-navigation-group-collapsed) .grouped-links-wrapper {\n height: 0;\n transition: var(--ic-easing-transition-slow);\n overflow: hidden;\n}\n\n:host(.ic-navigation-group-side-nav) .navigation-group {\n min-height: var(--navigation-group-height);\n min-width: 100%;\n width: var(--navigation-group-width, auto);\n justify-content: var(--navigation-group-justify-content);\n padding: var(--ic-space-md) var(--navigation-group-expand-toggle-padding)\n var(--ic-space-xs) var(--ic-space-md);\n}\n\n:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable))\n .navigation-group {\n padding-right: var(--ic-space-md);\n}\n\n:host(.ic-navigation-group-side-nav) .navigation-group:hover,\n:host(.ic-navigation-group-side-nav) .navigation-group:active,\n:host(.ic-navigation-group-side-nav) .selected {\n background-color: var(--navigation-group-hover);\n color: var(--navigation-group-text-hover);\n}\n\n:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable))\n .navigation-group:hover,\n:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable))\n .navigation-group:active,\n:host(.in-side-menu:not(.ic-navigation-group-expandable))\n .navigation-group:hover,\n:host(.in-side-menu:not(.ic-navigation-group-expandable))\n .navigation-group:active {\n background: none;\n cursor: auto;\n}\n\n:host(.ic-navigation-group-side-nav) .navigation-group:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n background: none;\n}\n\n:host(.ic-navigation-group-side-nav) .ic-typography-caption {\n position: var(--navigation-group-title-position);\n left: var(--navigation-group-title-position-left);\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n State,\n Listen,\n h,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\n\nimport {\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getBrandForegroundAppearance,\n getNavItemParentDetails,\n} from \"../../utils/helpers\";\nimport {\n IcNavType,\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundNoDefault,\n IcThemeMode,\n} from \"../../utils/types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport {\n IcNavigationExpandEventDetail,\n IcNavigationOpenEventDetail,\n} from \"./ic-navigation-group.types\";\n\nconst IC_NAVIGATION_ITEM = \"ic-navigation-item\";\nconst DYNAMIC_GROUPED_LINKS_HEIGHT_MS = 100;\nconst NODE_NAME = \"IC-NAVIGATION-GROUP\";\n\n@Component({\n tag: \"ic-navigation-group\",\n styleUrl: \"ic-navigation-group.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class NavigationGroup {\n private allGroupedNavigationItemHeights = \"\";\n private collapsedNavItemsHeight: string | null = null;\n private dropdown?: HTMLElement;\n private expandedNavItemsHeight: string | null = null;\n private groupEl?: HTMLElement;\n private mouseGate = false;\n private linkWrapper?: HTMLUListElement;\n\n @Element() el: HTMLIcNavigationGroupElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() dropdownOpen = false;\n @State() focusStyle: IcBrandForegroundNoDefault | IcBrandForeground =\n getBrandForegroundAppearance();\n @State() inTopNavSideMenu = false;\n @State() navigationType: IcNavType | \"\";\n @State() parentEl: HTMLElement | null;\n @State() isSideNavExpanded = false;\n\n /**\n * If `true`, the group will be expandable when in an ic-side-navigation component, or, when in an ic-top-navigation component, in the side menu displayed at small screen sizes.\n */\n @Prop() expandable = false;\n\n /**\n * If `true`, the expandable group will be expanded by default when in an ic-side-navigation component. To enable this prop, `expandable` must also be set to `true`.\n */\n @Prop({ mutable: true }) expanded = true;\n\n /**\n * The label to display on the group.\n */\n @Prop() label!: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * @internal Emitted when a navigation group is opened - when within an ic-top-navigation at large screen sizes.\n */\n @Event() navigationGroupOpened: EventEmitter<IcNavigationOpenEventDetail>;\n\n /**\n * @internal Emitted when a navigation group is expanded - when within an ic-top-navigation at small screen sizes.\n */\n @Event() navigationGroupExpanded: EventEmitter<IcNavigationExpandEventDetail>;\n\n disconnectedCallback(): void {\n if (this.navigationType === \"side\") {\n this.parentEl?.removeEventListener(\n \"icSideNavExpanded\",\n this.sideNavExpandHandler as EventListener\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl?.removeEventListener(\n \"icTopNavResized\",\n this.topNavResizedHandler as EventListener\n );\n }\n }\n\n componentWillLoad(): void {\n this.deviceSize = getCurrentDeviceSize();\n const { navType, parent } = getNavItemParentDetails(this.el);\n this.navigationType = navType;\n this.parentEl = parent;\n\n if (this.navigationType === \"side\") {\n this.parentEl?.addEventListener(\n \"icSideNavExpanded\",\n this.sideNavExpandHandler as EventListener\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl?.addEventListener(\n \"icTopNavResized\",\n this.topNavResizedHandler as EventListener\n );\n if (\n this.deviceSize <=\n (this.parentEl as HTMLIcTopNavigationElement).customMobileBreakpoint\n )\n this.inTopNavSideMenu = true;\n }\n }\n\n componentDidLoad(): void {\n this.allGroupedNavigationItemHeights = `${Array.from(\n this.el.querySelectorAll(IC_NAVIGATION_ITEM)\n ).reduce(\n (childrenHeights, { offsetHeight }) => childrenHeights + offsetHeight,\n 0\n )}px`;\n\n /**\n * debounce is required as the incorrect height was retrieved instantly after\n * componentDidLoad is invoked.\n */\n setTimeout(() => {\n if (!this.linkWrapper || !this.expanded) return;\n\n if (!this.isSideNavExpanded)\n this.collapsedNavItemsHeight = this.allGroupedNavigationItemHeights;\n else this.expandedNavItemsHeight = this.allGroupedNavigationItemHeights;\n\n this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights);\n }, DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n\n @Listen(\"childBlur\")\n childBlurHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"navigationGroupOpened\", { target: \"document\" })\n handleNavigationGroupOpened(event: CustomEvent): void {\n if (event.detail.source !== this.el) {\n this.hideDropdown();\n }\n }\n\n @Listen(\"navItemClicked\")\n navItemClickHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.focusStyle = ev.detail.mode;\n }\n\n /**\n * Sets focus on the nav item.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.groupEl?.focus();\n }\n\n private sideNavExpandHandler = (event: CustomEvent) => {\n this.isSideNavExpanded = event.detail.sideNavExpanded;\n\n if (!this.linkWrapper || !this.expanded) return;\n\n const navItemsHeight = this.isSideNavExpanded\n ? this.expandedNavItemsHeight\n : this.collapsedNavItemsHeight;\n\n if (navItemsHeight) {\n this.setGroupedLinksElementHeight(navItemsHeight);\n } else {\n setTimeout(() => {\n if (this.isSideNavExpanded) {\n this.expandedNavItemsHeight = this.allGroupedNavigationItemHeights;\n } else {\n this.collapsedNavItemsHeight = this.allGroupedNavigationItemHeights;\n }\n\n this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights);\n }, DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n };\n\n private topNavResizedHandler = ({\n detail: { size },\n }: CustomEvent<{ size: number }>) => {\n if (size === this.deviceSize) return;\n\n this.deviceSize = size;\n this.inTopNavSideMenu =\n size <=\n ((this.parentEl as HTMLIcTopNavigationElement)?.customMobileBreakpoint ||\n DEVICE_SIZES.L);\n };\n\n private toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n if (this.inTopNavSideMenu) {\n this.navigationGroupExpanded.emit({ expanded: this.dropdownOpen });\n }\n }\n\n private toggleExpanded = () => {\n this.expanded = !this.expanded;\n if (!this.linkWrapper) return;\n\n this.setGroupedLinksElementHeight(\n !this.expanded\n ? \"0\"\n : this.isSideNavExpanded\n ? this.expandedNavItemsHeight\n : this.collapsedNavItemsHeight\n );\n\n this.el.querySelectorAll(IC_NAVIGATION_ITEM).forEach((navigationItem) => {\n const navItem =\n navigationItem.shadowRoot?.querySelector(\"a\") ||\n navigationItem.querySelector(\"a\");\n navItem?.setAttribute(\"tabindex\", this.expanded ? \"0\" : \"-1\");\n });\n };\n\n private showDropdown() {\n if (!this.dropdownOpen) {\n this.navigationGroupOpened.emit({\n source: this.el,\n });\n\n this.toggleDropdown();\n }\n }\n\n private hideDropdown() {\n document.removeEventListener(\"keydown\", this.handleKeydown);\n if (this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n\n private handleClick = (ev: MouseEvent) => {\n if (this.navigationType === \"top\" && ev.detail) {\n this.toggleDropdown();\n } else {\n this.toggleExpanded();\n }\n };\n\n private handleBlur = (ev: FocusEvent) => {\n if (!this.el.contains(ev.relatedTarget as HTMLElement)) {\n this.hideDropdown();\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n const { key } = ev;\n if (key !== \"Enter\" && key !== \" \" && key !== \"Escape\") return;\n\n switch (this.navigationType) {\n case \"top\":\n if (key === \" \" || key === \"Enter\") {\n this.toggleDropdown();\n } else if (!this.inTopNavSideMenu) {\n this.hideDropdown();\n }\n break;\n case \"side\":\n this.toggleExpanded();\n ev.preventDefault();\n break;\n default:\n this.toggleExpanded();\n break;\n }\n };\n\n private handleMouseLeave = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement;\n\n this.mouseGate = false;\n\n if (\n this.el.contains(relTarget) ||\n relTarget === this.dropdown ||\n this.el.contains(document.activeElement)\n )\n return;\n\n if (\n document.activeElement !== this.el &&\n relTarget?.nodeName === NODE_NAME &&\n this.dropdownOpen\n ) {\n this.mouseGate = true;\n this.hideDropdown();\n } else {\n this.mouseGate = false;\n setTimeout(() => {\n this.dropdownOpen ? this.hideDropdown() : null;\n }, 500);\n }\n };\n\n private handleMouseEnter = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement | null;\n document.addEventListener(\"keydown\", this.handleKeydown);\n\n if (relTarget?.nodeName === NODE_NAME && this.mouseGate) {\n this.showDropdown();\n } else if (!this.dropdownOpen && !this.mouseGate) {\n this.mouseGate = true;\n setTimeout(() => {\n if (this.mouseGate) this.showDropdown();\n }, 500);\n }\n };\n\n private renderGroupTitleText = () => (\n <ic-typography\n id=\"nav-group-title\"\n variant={this.navigationType === \"side\" ? \"caption\" : \"label\"}\n >\n {this.label}\n </ic-typography>\n );\n\n private renderNavigationItems = () => {\n if (this.dropdownOpen || (this.inTopNavSideMenu && !this.expandable)) {\n return (\n <div\n class={{\n [this.inTopNavSideMenu\n ? \"navigation-group-dropdown-side-menu\"\n : \"navigation-group-dropdown\"]: true,\n selected: this.dropdownOpen && !this.inTopNavSideMenu,\n }}\n onMouseLeave={\n !this.inTopNavSideMenu ? this.handleMouseLeave : undefined\n }\n ref={(el) => (this.dropdown = el)}\n >\n <nav\n class={{\n \"navigation-group-dropdown-items\": !this.inTopNavSideMenu,\n }}\n aria-labelledby=\"nav-group-title\"\n >\n <ul>\n <slot></slot>\n </ul>\n </nav>\n </div>\n );\n }\n\n if (this.navigationType !== \"top\") {\n return (\n <ul ref={(el) => (this.linkWrapper = el)} class=\"grouped-links-wrapper\">\n <slot></slot>\n </ul>\n );\n }\n\n return null;\n };\n\n private setGroupedLinksElementHeight = (height: string | null) => {\n this.linkWrapper?.style.setProperty(\n \"--navigation-child-items-height\",\n height\n );\n };\n\n render() {\n const {\n dropdownOpen,\n expanded,\n inTopNavSideMenu,\n expandable,\n theme,\n isSideNavExpanded,\n focusStyle,\n } = this;\n\n const getExpandedClassSuffix = (prop: boolean) =>\n prop ? \"expanded\" : \"collapsed\";\n\n const navGroupTitleClassNames = {\n \"navigation-group\": true,\n [focusStyle]: !inTopNavSideMenu,\n [`navigation-group-side-menu-${getExpandedClassSuffix(dropdownOpen)}`]:\n inTopNavSideMenu && expandable,\n selected: dropdownOpen && !inTopNavSideMenu,\n };\n\n const isSideNav = this.navigationType === \"side\";\n const isTopNav = this.navigationType === \"top\";\n const isTopNavDesktop = !inTopNavSideMenu && isTopNav;\n\n const ariaExpanded = (isSideNav && expanded) || (isTopNav && dropdownOpen);\n\n return (\n <Host\n class={{\n \"in-side-menu\": inTopNavSideMenu,\n \"ic-navigation-group-expandable\": expandable,\n \"ic-navigation-group-side-nav\": isSideNav,\n [`ic-navigation-group-${getExpandedClassSuffix(expanded)}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n role=\"listitem\"\n >\n {expandable || isTopNavDesktop ? (\n <button\n onMouseEnter={isTopNavDesktop ? this.handleMouseEnter : undefined}\n onMouseLeave={isTopNav ? this.handleMouseLeave : undefined}\n onBlur={this.handleBlur}\n onClick={this.handleClick}\n onKeyDown={this.handleKeydown}\n class={navGroupTitleClassNames}\n ref={(el) => (this.groupEl = el)}\n aria-expanded={`${ariaExpanded}`}\n aria-haspopup={`${isTopNavDesktop}`}\n >\n {this.renderGroupTitleText()}\n {isSideNav && expandable && (\n <div\n class={{\n \"chevron-toggle-icon-wrapper\": true,\n \"chevron-toggle-icon-closed\": !!expanded,\n }}\n innerHTML={chevronIcon}\n ></div>\n )}\n </button>\n ) : (\n (!isSideNav || isSideNavExpanded) && (\n <div class={navGroupTitleClassNames}>\n {this.renderGroupTitleText()}\n </div>\n )\n )}\n {this.renderNavigationItems()}\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"ic-navigation-group.entry.cjs.js","mappings":"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","names":["DEVICE_SIZES","getBrandForegroundAppearance","h","getCurrentDeviceSize","getNavItemParentDetails","Host","chevronIcon"],"sources":["src/components/ic-navigation-group/ic-navigation-group.css?tag=ic-navigation-group&encapsulation=shadow","src/components/ic-navigation-group/ic-navigation-group.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n * @prop --ic-z-index-navigation-item: z-index of navigation group item\n */\n\n:host {\n display: block;\n\n --ic-typography-color: currentcolor;\n}\n\n:host(.in-side-menu) {\n border-bottom: var(--ic-border-width) solid\n var(--ic-divider-background-monochrome);\n padding: var(--ic-space-md) 0;\n}\n\n:host .navigation-group {\n height: 100%;\n width: fit-content;\n color: var(--ic-brand-text-color);\n display: flex;\n gap: var(--ic-space-xxs);\n align-items: center;\n justify-content: center;\n padding: 0 var(--ic-space-md);\n transition: var(--ic-easing-transition-slow);\n position: relative;\n background: none;\n border: none;\n text-align: left;\n box-sizing: border-box;\n}\n\n:host .navigation-group:hover,\n:host .navigation-group:active,\n:host .selected {\n background-color: var(--ic-architectural-20);\n color: var(--ic-color-text-primary-light);\n outline: none;\n cursor: pointer;\n}\n\n:host(.in-side-menu) .navigation-group {\n min-height: 2.5rem;\n width: 100%;\n gap: 1.25rem;\n}\n\n:host(.in-side-menu) .navigation-group .ic-typography-label {\n width: 100%;\n}\n\n:host(.in-side-menu:not(.ic-navigation-group-expandable)) .navigation-group,\n:host(.in-side-menu) .navigation-group-side-menu-collapsed,\n:host(.in-side-menu) .navigation-group-side-menu-expanded {\n color: var(--ic-top-navigation-nav-group-link);\n justify-content: flex-start;\n padding: var(--ic-space-xs) var(--ic-space-md);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded {\n margin-bottom: var(--ic-space-xs);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-collapsed::after,\n:host(.in-side-menu) .navigation-group-side-menu-expanded::after {\n border-style: solid;\n border-width: 0.125em 0.125em 0 0;\n content: \"\";\n display: inline-block;\n min-height: 0.45em;\n position: relative;\n top: -0.1em;\n transform: rotate(135deg);\n vertical-align: top;\n min-width: 0.45em;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded::after {\n top: 0.15em;\n transform: rotate(-45deg);\n}\n\n:host(:not(.in-side-menu)) .navigation-group:focus {\n box-shadow: var(--ic-border-focus);\n border-radius: var(--ic-border-radius);\n outline: var(--ic-hc-focus-outline);\n z-index: var(--ic-z-index-navigation-item);\n transition: box-shadow var(--ic-easing-transition-fast);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:hover:not(:focus),\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:hover:not(:focus) {\n background-color: var(--ic-top-navigation-nav-group-hover);\n cursor: pointer;\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:active:not(:focus),\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:active:not(:focus) {\n background-color: var(--ic-top-navigation-nav-group-pressed);\n}\n\n:host(.in-side-menu) .navigation-group-side-menu-expanded:focus,\n:host(.in-side-menu) .navigation-group-side-menu-collapsed:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n outline: var(--ic-hc-focus-outline);\n background: none;\n}\n\n:host .navigation-group-dropdown {\n background-color: var(--ic-top-navigation-menu-background);\n border-bottom: var(--ic-space-1px) solid var(--ic-top-navigation-menu-border);\n position: absolute;\n left: 0;\n right: 0;\n padding: var(--ic-space-xs) var(--ic-space-md);\n box-shadow: 0 0.375rem 0.5rem -0.375rem rgba(0 0 0 / 20%);\n z-index: calc(var(--ic-z-index-navigation-item) - 1);\n}\n\n:host .navigation-group-dropdown-items-list {\n list-style: none;\n display: flex;\n flex-flow: column wrap;\n align-content: flex-start;\n padding-left: var(--ic-space-md);\n max-height: 16.5rem;\n}\n\n:host .chevron-toggle-icon-wrapper {\n display: flex;\n align-items: center;\n}\n\n:host .chevron-toggle-icon-wrapper svg {\n transform: rotate(90deg);\n height: var(--ic-space-lg);\n width: var(--ic-space-lg);\n}\n\n:host .chevron-toggle-icon-closed svg {\n transform: rotate(-90deg);\n}\n\n:host(.ic-navigation-group-expanded) .grouped-links-wrapper {\n height: var(--navigation-child-items-height, auto) !important;\n transition: var(--ic-easing-transition-slow);\n overflow: hidden;\n}\n\n:host(.ic-navigation-group-side-nav) .link,\n:host(.ic-navigation-group-side-nav) ::slotted(a) {\n height: var(--navigation-child-items-height, auto);\n}\n\n:host(.ic-navigation-group-collapsed) .grouped-links-wrapper {\n height: 0;\n transition: var(--ic-easing-transition-slow);\n overflow: hidden;\n}\n\n:host(.ic-navigation-group-side-nav) .navigation-group {\n min-height: var(--navigation-group-height);\n height: fit-content;\n min-width: 100%;\n width: var(--navigation-group-width, auto);\n justify-content: var(--navigation-group-justify-content);\n padding: var(--ic-space-md) var(--navigation-group-expand-toggle-padding)\n var(--ic-space-xs) var(--ic-space-md);\n}\n\n:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable))\n .navigation-group {\n padding-right: var(--ic-space-md);\n}\n\n:host(.ic-navigation-group-side-nav) .navigation-group:hover,\n:host(.ic-navigation-group-side-nav) .navigation-group:active,\n:host(.ic-navigation-group-side-nav) .selected {\n background-color: var(--navigation-group-hover);\n color: var(--navigation-group-text-hover);\n}\n\n:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable))\n .navigation-group:hover,\n:host(.ic-navigation-group-side-nav:not(.ic-navigation-group-expandable))\n .navigation-group:active,\n:host(.in-side-menu:not(.ic-navigation-group-expandable))\n .navigation-group:hover,\n:host(.in-side-menu:not(.ic-navigation-group-expandable))\n .navigation-group:active {\n background: none;\n cursor: auto;\n}\n\n:host(.ic-navigation-group-side-nav) .navigation-group:focus {\n box-shadow: var(--ic-border-focus-inset);\n border-radius: var(--ic-border-radius-inset);\n background: none;\n}\n\n:host(.ic-navigation-group-side-nav) .ic-typography-caption {\n position: var(--navigation-group-title-position);\n left: var(--navigation-group-title-position-left);\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n State,\n Listen,\n h,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\n\nimport {\n DEVICE_SIZES,\n getCurrentDeviceSize,\n getBrandForegroundAppearance,\n getNavItemParentDetails,\n} from \"../../utils/helpers\";\nimport {\n IcNavType,\n IcBrand,\n IcBrandForeground,\n IcBrandForegroundNoDefault,\n IcThemeMode,\n} from \"../../utils/types\";\n\nimport chevronIcon from \"../../assets/chevron-icon.svg\";\nimport {\n IcNavigationExpandEventDetail,\n IcNavigationOpenEventDetail,\n} from \"./ic-navigation-group.types\";\n\nconst IC_NAVIGATION_ITEM = \"ic-navigation-item\";\nconst DYNAMIC_GROUPED_LINKS_HEIGHT_MS = 100;\nconst NODE_NAME = \"IC-NAVIGATION-GROUP\";\n\n@Component({\n tag: \"ic-navigation-group\",\n styleUrl: \"ic-navigation-group.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class NavigationGroup {\n private allGroupedNavigationItemHeights = \"\";\n private collapsedNavItemsHeight: string | null = null;\n private dropdown?: HTMLElement;\n private expandedNavItemsHeight: string | null = null;\n private groupEl?: HTMLElement;\n private mouseGate = false;\n private linkWrapper?: HTMLUListElement;\n\n @Element() el: HTMLIcNavigationGroupElement;\n\n @State() deviceSize: number = DEVICE_SIZES.XL;\n @State() dropdownOpen = false;\n @State() focusStyle: IcBrandForegroundNoDefault | IcBrandForeground =\n getBrandForegroundAppearance();\n @State() inTopNavSideMenu = false;\n @State() navigationType: IcNavType | \"\";\n @State() parentEl: HTMLElement | null;\n @State() isSideNavExpanded = false;\n\n /**\n * If `true`, the group will be expandable when in an ic-side-navigation component, or, when in an ic-top-navigation component, in the side menu displayed at small screen sizes.\n */\n @Prop() expandable = false;\n\n /**\n * If `true`, the expandable group will be expanded by default when in an ic-side-navigation component. To enable this prop, `expandable` must also be set to `true`.\n */\n @Prop({ mutable: true }) expanded = true;\n\n /**\n * The label to display on the group.\n */\n @Prop() label!: string;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme: IcThemeMode = \"inherit\";\n\n /**\n * @internal Emitted when a navigation group is opened - when within an ic-top-navigation at large screen sizes.\n */\n @Event() navigationGroupOpened: EventEmitter<IcNavigationOpenEventDetail>;\n\n /**\n * @internal Emitted when a navigation group is expanded - when within an ic-top-navigation at small screen sizes.\n */\n @Event() navigationGroupExpanded: EventEmitter<IcNavigationExpandEventDetail>;\n\n disconnectedCallback(): void {\n if (this.navigationType === \"side\") {\n this.parentEl?.removeEventListener(\n \"icSideNavExpanded\",\n this.sideNavExpandHandler as EventListener\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl?.removeEventListener(\n \"icTopNavResized\",\n this.topNavResizedHandler as EventListener\n );\n }\n }\n\n componentWillLoad(): void {\n this.deviceSize = getCurrentDeviceSize();\n const { navType, parent } = getNavItemParentDetails(this.el);\n this.navigationType = navType;\n this.parentEl = parent;\n\n if (this.navigationType === \"side\") {\n this.parentEl?.addEventListener(\n \"icSideNavExpanded\",\n this.sideNavExpandHandler as EventListener\n );\n } else if (this.navigationType === \"top\") {\n this.parentEl?.addEventListener(\n \"icTopNavResized\",\n this.topNavResizedHandler as EventListener\n );\n if (\n this.deviceSize <=\n (this.parentEl as HTMLIcTopNavigationElement).customMobileBreakpoint\n )\n this.inTopNavSideMenu = true;\n }\n }\n\n componentDidLoad(): void {\n this.allGroupedNavigationItemHeights = `${Array.from(\n this.el.querySelectorAll(IC_NAVIGATION_ITEM)\n ).reduce(\n (childrenHeights, { offsetHeight }) => childrenHeights + offsetHeight,\n 0\n )}px`;\n\n /**\n * debounce is required as the incorrect height was retrieved instantly after\n * componentDidLoad is invoked.\n */\n setTimeout(() => {\n if (!this.linkWrapper || !this.expanded) return;\n\n if (!this.isSideNavExpanded)\n this.collapsedNavItemsHeight = this.allGroupedNavigationItemHeights;\n else this.expandedNavItemsHeight = this.allGroupedNavigationItemHeights;\n\n this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights);\n }, DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n\n @Listen(\"childBlur\")\n childBlurHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"navigationGroupOpened\", { target: \"document\" })\n handleNavigationGroupOpened(event: CustomEvent): void {\n if (event.detail.source !== this.el) {\n this.hideDropdown();\n }\n }\n\n @Listen(\"navItemClicked\")\n navItemClickHandler(): void {\n this.hideDropdown();\n }\n\n @Listen(\"brandChange\", { target: \"document\" })\n brandChangeHandler(ev: CustomEvent<IcBrand>): void {\n this.focusStyle = ev.detail.mode;\n }\n\n /**\n * Sets focus on the nav item.\n */\n @Method()\n async setFocus(): Promise<void> {\n this.groupEl?.focus();\n }\n\n private sideNavExpandHandler = (event: CustomEvent) => {\n this.isSideNavExpanded = event.detail.sideNavExpanded;\n\n if (!this.linkWrapper || !this.expanded) return;\n\n const navItemsHeight = this.isSideNavExpanded\n ? this.expandedNavItemsHeight\n : this.collapsedNavItemsHeight;\n\n if (navItemsHeight) {\n this.setGroupedLinksElementHeight(navItemsHeight);\n } else {\n setTimeout(() => {\n if (this.isSideNavExpanded) {\n this.expandedNavItemsHeight = this.allGroupedNavigationItemHeights;\n } else {\n this.collapsedNavItemsHeight = this.allGroupedNavigationItemHeights;\n }\n\n this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights);\n }, DYNAMIC_GROUPED_LINKS_HEIGHT_MS);\n }\n };\n\n private topNavResizedHandler = ({\n detail: { size },\n }: CustomEvent<{ size: number }>) => {\n if (size === this.deviceSize) return;\n\n this.deviceSize = size;\n this.inTopNavSideMenu =\n size <=\n ((this.parentEl as HTMLIcTopNavigationElement)?.customMobileBreakpoint ||\n DEVICE_SIZES.L);\n };\n\n private toggleDropdown() {\n this.dropdownOpen = !this.dropdownOpen;\n if (this.inTopNavSideMenu) {\n this.navigationGroupExpanded.emit({ expanded: this.dropdownOpen });\n }\n }\n\n private toggleExpanded = () => {\n this.expanded = !this.expanded;\n if (!this.linkWrapper) return;\n\n this.setGroupedLinksElementHeight(\n !this.expanded\n ? \"0\"\n : this.isSideNavExpanded\n ? this.expandedNavItemsHeight\n : this.collapsedNavItemsHeight\n );\n\n this.el.querySelectorAll(IC_NAVIGATION_ITEM).forEach((navigationItem) => {\n const navItem =\n navigationItem.shadowRoot?.querySelector(\"a\") ||\n navigationItem.querySelector(\"a\");\n navItem?.setAttribute(\"tabindex\", this.expanded ? \"0\" : \"-1\");\n });\n };\n\n private showDropdown() {\n if (!this.dropdownOpen) {\n this.navigationGroupOpened.emit({\n source: this.el,\n });\n\n this.toggleDropdown();\n }\n }\n\n private hideDropdown() {\n document.removeEventListener(\"keydown\", this.handleKeydown);\n if (this.dropdownOpen) {\n this.toggleDropdown();\n }\n }\n\n private handleClick = (ev: MouseEvent) => {\n if (this.navigationType === \"top\" && ev.detail) {\n this.toggleDropdown();\n } else {\n this.toggleExpanded();\n }\n };\n\n private handleBlur = (ev: FocusEvent) => {\n if (!this.el.contains(ev.relatedTarget as HTMLElement)) {\n this.hideDropdown();\n }\n };\n\n private handleKeydown = (ev: KeyboardEvent) => {\n const { key } = ev;\n if (key !== \"Enter\" && key !== \" \" && key !== \"Escape\") return;\n\n switch (this.navigationType) {\n case \"top\":\n if (key === \" \" || key === \"Enter\") {\n this.toggleDropdown();\n } else if (!this.inTopNavSideMenu) {\n this.hideDropdown();\n }\n break;\n case \"side\":\n this.toggleExpanded();\n ev.preventDefault();\n break;\n default:\n this.toggleExpanded();\n break;\n }\n };\n\n private handleMouseLeave = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement;\n\n this.mouseGate = false;\n\n if (\n this.el.contains(relTarget) ||\n relTarget === this.dropdown ||\n this.el.contains(document.activeElement)\n )\n return;\n\n if (\n document.activeElement !== this.el &&\n relTarget?.nodeName === NODE_NAME &&\n this.dropdownOpen\n ) {\n this.mouseGate = true;\n this.hideDropdown();\n } else {\n this.mouseGate = false;\n setTimeout(() => {\n this.dropdownOpen ? this.hideDropdown() : null;\n }, 500);\n }\n };\n\n private handleMouseEnter = (ev: MouseEvent) => {\n const relTarget = ev.relatedTarget as HTMLElement | null;\n document.addEventListener(\"keydown\", this.handleKeydown);\n\n if (relTarget?.nodeName === NODE_NAME && this.mouseGate) {\n this.showDropdown();\n } else if (!this.dropdownOpen && !this.mouseGate) {\n this.mouseGate = true;\n setTimeout(() => {\n if (this.mouseGate) this.showDropdown();\n }, 500);\n }\n };\n\n private renderGroupTitleText = () => (\n <ic-typography\n id=\"nav-group-title\"\n variant={this.navigationType === \"side\" ? \"caption\" : \"label\"}\n >\n {this.label}\n </ic-typography>\n );\n\n private renderNavigationItems = () => {\n if (this.dropdownOpen || (this.inTopNavSideMenu && !this.expandable)) {\n return (\n <div\n class={{\n [this.inTopNavSideMenu\n ? \"navigation-group-dropdown-side-menu\"\n : \"navigation-group-dropdown\"]: true,\n selected: this.dropdownOpen && !this.inTopNavSideMenu,\n }}\n onMouseLeave={\n !this.inTopNavSideMenu ? this.handleMouseLeave : undefined\n }\n ref={(el) => (this.dropdown = el)}\n >\n <nav\n class={{\n \"navigation-group-dropdown-items\": !this.inTopNavSideMenu,\n }}\n aria-labelledby=\"nav-group-title\"\n >\n <ul>\n <slot></slot>\n </ul>\n </nav>\n </div>\n );\n }\n\n if (this.navigationType !== \"top\") {\n return (\n <ul ref={(el) => (this.linkWrapper = el)} class=\"grouped-links-wrapper\">\n <slot></slot>\n </ul>\n );\n }\n\n return null;\n };\n\n private setGroupedLinksElementHeight = (height: string | null) => {\n this.linkWrapper?.style.setProperty(\n \"--navigation-child-items-height\",\n height\n );\n };\n\n render() {\n const {\n dropdownOpen,\n expanded,\n inTopNavSideMenu,\n expandable,\n theme,\n isSideNavExpanded,\n focusStyle,\n } = this;\n\n const getExpandedClassSuffix = (prop: boolean) =>\n prop ? \"expanded\" : \"collapsed\";\n\n const navGroupTitleClassNames = {\n \"navigation-group\": true,\n [focusStyle]: !inTopNavSideMenu,\n [`navigation-group-side-menu-${getExpandedClassSuffix(dropdownOpen)}`]:\n inTopNavSideMenu && expandable,\n selected: dropdownOpen && !inTopNavSideMenu,\n };\n\n const isSideNav = this.navigationType === \"side\";\n const isTopNav = this.navigationType === \"top\";\n const isTopNavDesktop = !inTopNavSideMenu && isTopNav;\n\n const ariaExpanded = (isSideNav && expanded) || (isTopNav && dropdownOpen);\n\n return (\n <Host\n class={{\n \"in-side-menu\": inTopNavSideMenu,\n \"ic-navigation-group-expandable\": expandable,\n \"ic-navigation-group-side-nav\": isSideNav,\n [`ic-navigation-group-${getExpandedClassSuffix(expanded)}`]: true,\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n }}\n role=\"listitem\"\n >\n {expandable || isTopNavDesktop ? (\n <button\n onMouseEnter={isTopNavDesktop ? this.handleMouseEnter : undefined}\n onMouseLeave={isTopNav ? this.handleMouseLeave : undefined}\n onBlur={this.handleBlur}\n onClick={this.handleClick}\n onKeyDown={this.handleKeydown}\n class={navGroupTitleClassNames}\n ref={(el) => (this.groupEl = el)}\n aria-expanded={`${ariaExpanded}`}\n aria-haspopup={`${isTopNavDesktop}`}\n >\n {this.renderGroupTitleText()}\n {isSideNav && expandable && (\n <div\n class={{\n \"chevron-toggle-icon-wrapper\": true,\n \"chevron-toggle-icon-closed\": !!expanded,\n }}\n innerHTML={chevronIcon}\n ></div>\n )}\n </button>\n ) : (\n (!isSideNav || isSideNavExpanded) && (\n <div class={navGroupTitleClassNames}>\n {this.renderGroupTitleText()}\n </div>\n )\n )}\n {this.renderNavigationItems()}\n </Host>\n );\n }\n}\n"],"version":3}