@ukic/web-components 3.7.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 (533) 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 +116 -0
  7. package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -0
  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 +4 -4
  11. package/dist/cjs/ic-badge.cjs.entry.js +4 -4
  12. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +3 -3
  14. package/dist/cjs/ic-breadcrumb.cjs.entry.js +3 -3
  15. package/dist/cjs/ic-button_3.cjs.entry.js +56 -96
  16. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-card-vertical.cjs.entry.js +5 -5
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js +3 -3
  19. package/dist/cjs/ic-checkbox.cjs.entry.js +6 -6
  20. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-chip.cjs.entry.js +13 -5
  22. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-classification-banner.cjs.entry.js +2 -2
  24. package/dist/cjs/ic-data-list.cjs.entry.js +3 -3
  25. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  26. package/dist/cjs/ic-data-row.cjs.entry.js +4 -4
  27. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  28. package/dist/cjs/ic-dialog.cjs.entry.js +2 -2
  29. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-empty-state.cjs.entry.js +3 -3
  31. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-footer-link.cjs.entry.js +3 -3
  33. package/dist/cjs/ic-footer.cjs.entry.js +4 -4
  34. package/dist/cjs/ic-hero.cjs.entry.js +5 -5
  35. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +6 -6
  36. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +9 -9
  37. package/dist/cjs/ic-input-label_2.cjs.entry.js +6 -6
  38. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +70 -0
  39. package/dist/cjs/ic-layout-grid-item.cjs.entry.js.map +1 -0
  40. package/dist/cjs/ic-layout-grid.cjs.entry.js +156 -0
  41. package/dist/cjs/ic-layout-grid.cjs.entry.js.map +1 -0
  42. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  43. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  44. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  45. package/dist/cjs/ic-navigation-button.cjs.entry.js +3 -3
  46. package/dist/cjs/ic-navigation-group.cjs.entry.js +3 -3
  47. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  48. package/dist/cjs/ic-navigation-item.cjs.entry.js +3 -3
  49. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
  50. package/dist/cjs/ic-page-header.cjs.entry.js +7 -7
  51. package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
  52. package/dist/cjs/ic-pagination.cjs.entry.js +5 -5
  53. package/dist/cjs/ic-popover-menu.cjs.entry.js +10 -6
  54. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  55. package/dist/cjs/ic-radio-group.cjs.entry.js +5 -5
  56. package/dist/cjs/ic-radio-option.cjs.entry.js +5 -5
  57. package/dist/cjs/ic-search-bar.cjs.entry.js +10 -10
  58. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  59. package/dist/cjs/ic-select.cjs.entry.js +7 -7
  60. package/dist/cjs/ic-side-navigation.cjs.entry.js +5 -5
  61. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  62. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  63. package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
  64. package/dist/cjs/ic-step.cjs.entry.js +14 -14
  65. package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
  66. package/dist/cjs/ic-switch.cjs.entry.js +5 -5
  67. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  68. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  69. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  70. package/dist/cjs/ic-tab.cjs.entry.js +3 -3
  71. package/dist/cjs/ic-text-field.cjs.entry.js +7 -7
  72. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  73. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  74. package/dist/cjs/ic-toast.cjs.entry.js +5 -5
  75. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  76. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +3 -3
  77. package/dist/cjs/ic-toggle-button.cjs.entry.js +3 -3
  78. package/dist/cjs/ic-top-navigation.cjs.entry.js +5 -5
  79. package/dist/cjs/ic-typography.cjs.entry.js +3 -3
  80. package/dist/cjs/index-d337cd8a.js +12 -0
  81. package/dist/cjs/loader.cjs.js +1 -1
  82. package/dist/collection/assets/ai-icon.svg +11 -0
  83. package/dist/collection/collection-manifest.json +3 -0
  84. package/dist/collection/components/ic-action-chip/ic-action-chip.css +644 -0
  85. package/dist/collection/components/ic-action-chip/ic-action-chip.js +564 -0
  86. package/dist/collection/components/ic-action-chip/ic-action-chip.js.map +1 -0
  87. package/dist/collection/components/ic-action-chip/ic-action-chip.stories.js +386 -0
  88. package/dist/collection/components/ic-alert/ic-alert.css +13 -0
  89. package/dist/collection/components/ic-alert/ic-alert.js +1 -1
  90. package/dist/collection/components/ic-alert/ic-alert.stories.js +7 -2
  91. package/dist/collection/components/ic-back-to-top/ic-back-to-top.js +3 -3
  92. package/dist/collection/components/ic-badge/ic-badge.css +4 -0
  93. package/dist/collection/components/ic-badge/ic-badge.js +3 -3
  94. package/dist/collection/components/ic-badge/ic-badge.stories.js +98 -0
  95. package/dist/collection/components/ic-breadcrumb/ic-breadcrumb.js +2 -2
  96. package/dist/collection/components/ic-breadcrumb-group/ic-breadcrumb-group.js +2 -2
  97. package/dist/collection/components/ic-button/ic-button.css +3 -11
  98. package/dist/collection/components/ic-button/ic-button.js +33 -12
  99. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  100. package/dist/collection/components/ic-button/ic-button.stories.js +181 -2
  101. package/dist/collection/components/ic-card-vertical/ic-card-vertical.js +4 -4
  102. package/dist/collection/components/ic-checkbox/ic-checkbox.css +1 -0
  103. package/dist/collection/components/ic-checkbox/ic-checkbox.js +4 -4
  104. package/dist/collection/components/ic-checkbox-group/ic-checkbox-group.js +2 -2
  105. package/dist/collection/components/ic-chip/ic-chip.css +3 -3
  106. package/dist/collection/components/ic-chip/ic-chip.js +12 -4
  107. package/dist/collection/components/ic-chip/ic-chip.js.map +1 -1
  108. package/dist/collection/components/ic-classification-banner/ic-classification-banner.js +2 -2
  109. package/dist/collection/components/ic-data-list/ic-data-list.css +5 -0
  110. package/dist/collection/components/ic-data-list/ic-data-list.js +2 -2
  111. package/dist/collection/components/ic-data-list/ic-data-list.stories.js +50 -0
  112. package/dist/collection/components/ic-data-row/ic-data-row.css +3 -1
  113. package/dist/collection/components/ic-data-row/ic-data-row.js +2 -2
  114. package/dist/collection/components/ic-dialog/ic-dialog.js +1 -1
  115. package/dist/collection/components/ic-dialog/ic-dialog.stories.js +31 -4
  116. package/dist/collection/components/ic-empty-state/ic-empty-state.js +2 -2
  117. package/dist/collection/components/ic-footer/ic-footer.js +3 -3
  118. package/dist/collection/components/ic-footer-link/ic-footer-link.js +2 -2
  119. package/dist/collection/components/ic-hero/ic-hero.js +4 -4
  120. package/dist/collection/components/ic-horizontal-scroll/ic-horizontal-scroll.js +5 -5
  121. package/dist/collection/components/ic-input-component-container/ic-input-component-container.js +3 -3
  122. package/dist/collection/components/ic-input-container/ic-input-container.js +2 -2
  123. package/dist/collection/components/ic-input-label/ic-input-label.js +2 -2
  124. package/dist/collection/components/ic-input-validation/ic-input-validation.js +3 -3
  125. package/dist/collection/components/ic-layout-grid/ic-layout-grid.css +540 -0
  126. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js +377 -0
  127. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js.map +1 -0
  128. package/dist/collection/components/ic-layout-grid/ic-layout-grid.stories.js +429 -0
  129. package/dist/collection/components/ic-layout-grid/ic-layout-grid.types.js +2 -0
  130. package/dist/collection/components/ic-layout-grid/ic-layout-grid.types.js.map +1 -0
  131. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.css +12 -0
  132. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js +182 -0
  133. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js.map +1 -0
  134. package/dist/collection/components/ic-link/ic-link.js +1 -1
  135. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +5 -5
  136. package/dist/collection/components/ic-menu/ic-menu.js +3 -3
  137. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  138. package/dist/collection/components/ic-navigation-button/ic-navigation-button.js +2 -2
  139. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +2 -0
  140. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
  141. package/dist/collection/components/ic-navigation-item/ic-navigation-item.js +2 -2
  142. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  143. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  144. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  145. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  146. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +29 -5
  147. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  148. package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +94 -0
  149. package/dist/collection/components/ic-radio-group/ic-radio-group.js +4 -4
  150. package/dist/collection/components/ic-radio-option/ic-radio-option.js +4 -4
  151. package/dist/collection/components/ic-search-bar/ic-search-bar.js +9 -9
  152. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  153. package/dist/collection/components/ic-select/ic-select.js +6 -6
  154. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +4 -4
  155. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  156. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  157. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  158. package/dist/collection/components/ic-step/ic-step.js +13 -13
  159. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  160. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  161. package/dist/collection/components/ic-tab/ic-tab.js +2 -2
  162. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
  163. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  164. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  165. package/dist/collection/components/ic-text-field/ic-text-field.js +6 -6
  166. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  167. package/dist/collection/components/ic-toast/ic-toast.css +8 -0
  168. package/dist/collection/components/ic-toast/ic-toast.js +4 -4
  169. package/dist/collection/components/ic-toast/ic-toast.stories.js +2 -2
  170. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  171. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
  172. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
  173. package/dist/collection/components/ic-tooltip/ic-tooltip.css +2 -5
  174. package/dist/collection/components/ic-tooltip/ic-tooltip.js +57 -78
  175. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  176. package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +38 -0
  177. package/dist/collection/components/ic-top-navigation/ic-top-navigation.js +4 -4
  178. package/dist/collection/components/ic-typography/ic-typography.js +2 -2
  179. package/dist/collection/utils/constants.js +5 -0
  180. package/dist/collection/utils/constants.js.map +1 -1
  181. package/dist/collection/utils/helpers.js +14 -6
  182. package/dist/collection/utils/helpers.js.map +1 -1
  183. package/dist/collection/utils/types.js.map +1 -1
  184. package/dist/components/helpers.js +31 -7
  185. package/dist/components/helpers.js.map +1 -1
  186. package/dist/components/ic-action-chip.d.ts +11 -0
  187. package/dist/components/ic-action-chip.js +160 -0
  188. package/dist/components/ic-action-chip.js.map +1 -0
  189. package/dist/components/ic-alert.js +1 -1
  190. package/dist/components/ic-alert.js.map +1 -1
  191. package/dist/components/ic-back-to-top.js +4 -4
  192. package/dist/components/ic-back-to-top.js.map +1 -1
  193. package/dist/components/ic-badge.js +4 -4
  194. package/dist/components/ic-badge.js.map +1 -1
  195. package/dist/components/ic-breadcrumb-group.js +3 -3
  196. package/dist/components/ic-breadcrumb2.js +3 -3
  197. package/dist/components/ic-button2.js +15 -13
  198. package/dist/components/ic-button2.js.map +1 -1
  199. package/dist/components/ic-card-vertical.js +4 -4
  200. package/dist/components/ic-checkbox-group.js +3 -3
  201. package/dist/components/ic-checkbox.js +6 -6
  202. package/dist/components/ic-checkbox.js.map +1 -1
  203. package/dist/components/ic-chip.js +13 -5
  204. package/dist/components/ic-chip.js.map +1 -1
  205. package/dist/components/ic-classification-banner.js +2 -2
  206. package/dist/components/ic-data-list.js +3 -3
  207. package/dist/components/ic-data-list.js.map +1 -1
  208. package/dist/components/ic-data-row.js +4 -4
  209. package/dist/components/ic-data-row.js.map +1 -1
  210. package/dist/components/ic-dialog.js +2 -2
  211. package/dist/components/ic-divider2.js +1 -1
  212. package/dist/components/ic-empty-state.js +2 -2
  213. package/dist/components/ic-footer-link-group.js +1 -1
  214. package/dist/components/ic-footer-link.js +3 -3
  215. package/dist/components/ic-footer.js +4 -4
  216. package/dist/components/ic-hero.js +5 -5
  217. package/dist/components/ic-horizontal-scroll2.js +6 -6
  218. package/dist/components/ic-input-component-container2.js +4 -4
  219. package/dist/components/ic-input-container2.js +2 -2
  220. package/dist/components/ic-input-label2.js +3 -3
  221. package/dist/components/ic-input-validation2.js +4 -4
  222. package/dist/components/ic-layout-grid-item.d.ts +11 -0
  223. package/dist/components/ic-layout-grid-item.js +95 -0
  224. package/dist/components/ic-layout-grid-item.js.map +1 -0
  225. package/dist/components/ic-layout-grid.d.ts +11 -0
  226. package/dist/components/ic-layout-grid.js +188 -0
  227. package/dist/components/ic-layout-grid.js.map +1 -0
  228. package/dist/components/ic-link2.js +1 -1
  229. package/dist/components/ic-loading-indicator2.js +5 -5
  230. package/dist/components/ic-menu-group.js +2 -2
  231. package/dist/components/ic-menu-item2.js +1 -1
  232. package/dist/components/ic-menu2.js +4 -4
  233. package/dist/components/ic-navigation-button.js +3 -3
  234. package/dist/components/ic-navigation-group.js +3 -3
  235. package/dist/components/ic-navigation-group.js.map +1 -1
  236. package/dist/components/ic-navigation-item.js +3 -3
  237. package/dist/components/ic-navigation-menu2.js +5 -5
  238. package/dist/components/ic-page-header.js +7 -7
  239. package/dist/components/ic-pagination-item2.js +2 -2
  240. package/dist/components/ic-pagination.js +4 -4
  241. package/dist/components/ic-pagination.js.map +1 -1
  242. package/dist/components/ic-popover-menu.js +11 -6
  243. package/dist/components/ic-popover-menu.js.map +1 -1
  244. package/dist/components/ic-radio-group.js +5 -5
  245. package/dist/components/ic-radio-group.js.map +1 -1
  246. package/dist/components/ic-radio-option.js +5 -5
  247. package/dist/components/ic-radio-option.js.map +1 -1
  248. package/dist/components/ic-search-bar.js +10 -10
  249. package/dist/components/ic-section-container2.js +2 -2
  250. package/dist/components/ic-select.js +7 -7
  251. package/dist/components/ic-side-navigation.js +5 -5
  252. package/dist/components/ic-skeleton.js +2 -2
  253. package/dist/components/ic-skip-link.js +2 -2
  254. package/dist/components/ic-status-tag.js +2 -2
  255. package/dist/components/ic-status-tag.js.map +1 -1
  256. package/dist/components/ic-step.js +14 -14
  257. package/dist/components/ic-stepper.js +2 -2
  258. package/dist/components/ic-switch.js +5 -5
  259. package/dist/components/ic-tab-context.js +1 -1
  260. package/dist/components/ic-tab-group.js +2 -2
  261. package/dist/components/ic-tab-panel.js +2 -2
  262. package/dist/components/ic-tab.js +2 -2
  263. package/dist/components/ic-tab.js.map +1 -1
  264. package/dist/components/ic-text-field.js +7 -7
  265. package/dist/components/ic-theme.js +2 -2
  266. package/dist/components/ic-toast-region.js +1 -1
  267. package/dist/components/ic-toast.js +5 -5
  268. package/dist/components/ic-toast.js.map +1 -1
  269. package/dist/components/ic-toggle-button-group.js +2 -2
  270. package/dist/components/ic-toggle-button.js +2 -2
  271. package/dist/components/ic-tooltip2.js +39 -79
  272. package/dist/components/ic-tooltip2.js.map +1 -1
  273. package/dist/components/ic-top-navigation.js +5 -5
  274. package/dist/components/ic-typography2.js +2 -2
  275. package/dist/core/core.css +236 -16
  276. package/dist/core/core.esm.js +1 -1
  277. package/dist/core/core.esm.js.map +1 -1
  278. package/dist/core/p-0d680d19.entry.js +2 -0
  279. package/dist/core/p-0d680d19.entry.js.map +1 -0
  280. package/dist/core/{p-06e80441.entry.js → p-15dbccc2.entry.js} +2 -2
  281. package/dist/core/{p-91f6884a.entry.js → p-19cf2327.entry.js} +2 -2
  282. package/dist/core/{p-4b6818d9.entry.js → p-1cc402b8.entry.js} +2 -2
  283. package/dist/core/p-1d37ac1c.entry.js +2 -0
  284. package/dist/core/p-1d37ac1c.entry.js.map +1 -0
  285. package/dist/core/{p-182b7037.entry.js → p-1e2f40b0.entry.js} +2 -2
  286. package/dist/core/{p-9d5e4b62.entry.js → p-21cf2beb.entry.js} +2 -2
  287. package/dist/core/p-25007ec9.js +2 -0
  288. package/dist/core/p-25007ec9.js.map +1 -0
  289. package/dist/core/{p-fc5661ac.entry.js → p-287e5c17.entry.js} +2 -2
  290. package/dist/core/{p-543b90c5.entry.js → p-28efe829.entry.js} +2 -2
  291. package/dist/core/{p-fb6e6ac4.entry.js → p-2f4f392f.entry.js} +2 -2
  292. package/dist/core/{p-4301e11e.entry.js → p-313a8a2f.entry.js} +2 -2
  293. package/dist/core/p-317e005f.entry.js +2 -0
  294. package/dist/core/{p-ff47772c.entry.js.map → p-317e005f.entry.js.map} +1 -1
  295. package/dist/core/{p-f4ee5fbb.entry.js → p-3dc54847.entry.js} +2 -2
  296. package/dist/core/{p-0549305b.entry.js → p-3e5d7a3d.entry.js} +2 -2
  297. package/dist/core/p-41ef74a7.entry.js +2 -0
  298. package/dist/core/p-41ef74a7.entry.js.map +1 -0
  299. package/dist/core/{p-ae2ea264.entry.js → p-41f92698.entry.js} +2 -2
  300. package/dist/core/p-43324339.entry.js +2 -0
  301. package/dist/core/p-43324339.entry.js.map +1 -0
  302. package/dist/core/{p-9e051db4.entry.js → p-45dd12ee.entry.js} +2 -2
  303. package/dist/core/{p-018eaee0.entry.js → p-493eaabb.entry.js} +2 -2
  304. package/dist/core/{p-a591ef38.entry.js → p-4ca782eb.entry.js} +2 -2
  305. package/dist/core/{p-056be0df.entry.js → p-4d1a3036.entry.js} +2 -2
  306. package/dist/core/p-52748d5c.entry.js +2 -0
  307. package/dist/core/p-52748d5c.entry.js.map +1 -0
  308. package/dist/core/p-595a4d06.entry.js +2 -0
  309. package/dist/core/p-595a4d06.entry.js.map +1 -0
  310. package/dist/core/p-5daa7915.entry.js +2 -0
  311. package/dist/core/{p-02132a4c.entry.js.map → p-5daa7915.entry.js.map} +1 -1
  312. package/dist/core/{p-421b5f2d.entry.js → p-5f68f62b.entry.js} +2 -2
  313. package/dist/core/{p-d281c3cf.entry.js → p-5fbc8e62.entry.js} +2 -2
  314. package/dist/core/{p-06b0d0f6.entry.js → p-6014ab64.entry.js} +2 -2
  315. package/dist/core/{p-afde0edc.entry.js → p-661ae402.entry.js} +2 -2
  316. package/dist/core/{p-a2ae5d9e.entry.js → p-6a576a8b.entry.js} +2 -2
  317. package/dist/core/{p-b1b27b7e.entry.js → p-6e8ef73c.entry.js} +2 -2
  318. package/dist/core/p-6ed0ac48.entry.js +2 -0
  319. package/dist/core/{p-3194e46c.entry.js.map → p-6ed0ac48.entry.js.map} +1 -1
  320. package/dist/core/p-711bfeed.entry.js +2 -0
  321. package/dist/core/p-711bfeed.entry.js.map +1 -0
  322. package/dist/core/{p-2ec0d11c.entry.js → p-72a9909c.entry.js} +2 -2
  323. package/dist/core/{p-f9491692.entry.js → p-742a9181.entry.js} +2 -2
  324. package/dist/core/p-7cd4f6a6.entry.js +2 -0
  325. package/dist/core/{p-773ded36.entry.js.map → p-7cd4f6a6.entry.js.map} +1 -1
  326. package/dist/core/{p-152ddde9.entry.js → p-8a4b12e4.entry.js} +2 -2
  327. package/dist/core/{p-3448c713.entry.js → p-8b5022bc.entry.js} +2 -2
  328. package/dist/core/{p-ce916f35.entry.js → p-9323c234.entry.js} +2 -2
  329. package/dist/core/{p-50d13439.entry.js → p-948f89a0.entry.js} +2 -2
  330. package/dist/core/p-97b93ddf.entry.js +2 -0
  331. package/dist/core/p-97b93ddf.entry.js.map +1 -0
  332. package/dist/core/{p-0f86ea09.entry.js → p-999f0a5d.entry.js} +2 -2
  333. package/dist/core/p-999f0a5d.entry.js.map +1 -0
  334. package/dist/core/{p-ba89fa16.entry.js → p-9c013333.entry.js} +2 -2
  335. package/dist/core/{p-b83cca09.entry.js → p-9eeb5e85.entry.js} +2 -2
  336. package/dist/core/{p-0179fbd3.entry.js → p-9f36791b.entry.js} +2 -2
  337. package/dist/core/{p-8a5b0fb0.entry.js → p-a602a8e1.entry.js} +2 -2
  338. package/dist/core/{p-98869fe7.entry.js → p-a77364f5.entry.js} +2 -2
  339. package/dist/core/{p-6b52e47f.entry.js → p-af9c391d.entry.js} +2 -2
  340. package/dist/core/{p-77750efc.entry.js → p-b0d488d0.entry.js} +2 -2
  341. package/dist/core/p-b25d33d8.entry.js +2 -0
  342. package/dist/core/{p-627f7172.entry.js.map → p-b25d33d8.entry.js.map} +1 -1
  343. package/dist/core/{p-cd8dab55.entry.js → p-b52000d9.entry.js} +2 -2
  344. package/dist/core/p-cbe0d1bb.entry.js +2 -0
  345. package/dist/core/{p-ec1657fc.entry.js.map → p-cbe0d1bb.entry.js.map} +1 -1
  346. package/dist/core/p-ceea1712.entry.js +2 -0
  347. package/dist/core/p-ceea1712.entry.js.map +1 -0
  348. package/dist/core/p-cf631191.entry.js +2 -0
  349. package/dist/core/{p-6dd73165.entry.js → p-df88ff5b.entry.js} +2 -2
  350. package/dist/core/{p-bb21268f.entry.js → p-e652ab09.entry.js} +2 -2
  351. package/dist/core/{p-29468171.entry.js → p-e876e47c.entry.js} +2 -2
  352. package/dist/core/p-ea061ccf.entry.js +2 -0
  353. package/dist/core/p-ea061ccf.entry.js.map +1 -0
  354. package/dist/core/{p-ab1103e1.entry.js → p-ea778379.entry.js} +2 -2
  355. package/dist/core/{p-948086f4.entry.js → p-ef4b5469.entry.js} +2 -2
  356. package/dist/core/p-f309d3af.entry.js +2 -0
  357. package/dist/core/{p-554c555f.entry.js.map → p-f309d3af.entry.js.map} +1 -1
  358. package/dist/core/{p-9ed5f11d.entry.js → p-f6a02202.entry.js} +2 -2
  359. package/dist/core/p-fc3b1155.entry.js +2 -0
  360. package/dist/core/p-fc3b1155.entry.js.map +1 -0
  361. package/dist/core/p-ffac41d6.entry.js +2 -0
  362. package/dist/core/p-ffac41d6.entry.js.map +1 -0
  363. package/dist/esm/core.js +1 -1
  364. package/dist/esm/{helpers-f5ff3b42.js → helpers-56631aa0.js} +32 -8
  365. package/dist/esm/helpers-56631aa0.js.map +1 -0
  366. package/dist/esm/ic-accordion-group.entry.js +1 -1
  367. package/dist/esm/ic-accordion.entry.js +1 -1
  368. package/dist/esm/ic-action-chip.entry.js +112 -0
  369. package/dist/esm/ic-action-chip.entry.js.map +1 -0
  370. package/dist/esm/ic-alert.entry.js +2 -2
  371. package/dist/esm/ic-alert.entry.js.map +1 -1
  372. package/dist/esm/ic-back-to-top.entry.js +4 -4
  373. package/dist/esm/ic-badge.entry.js +4 -4
  374. package/dist/esm/ic-badge.entry.js.map +1 -1
  375. package/dist/esm/ic-breadcrumb-group.entry.js +3 -3
  376. package/dist/esm/ic-breadcrumb.entry.js +3 -3
  377. package/dist/esm/ic-button_3.entry.js +56 -96
  378. package/dist/esm/ic-button_3.entry.js.map +1 -1
  379. package/dist/esm/ic-card-vertical.entry.js +5 -5
  380. package/dist/esm/ic-checkbox-group.entry.js +3 -3
  381. package/dist/esm/ic-checkbox.entry.js +6 -6
  382. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  383. package/dist/esm/ic-chip.entry.js +13 -5
  384. package/dist/esm/ic-chip.entry.js.map +1 -1
  385. package/dist/esm/ic-classification-banner.entry.js +2 -2
  386. package/dist/esm/ic-data-list.entry.js +3 -3
  387. package/dist/esm/ic-data-list.entry.js.map +1 -1
  388. package/dist/esm/ic-data-row.entry.js +4 -4
  389. package/dist/esm/ic-data-row.entry.js.map +1 -1
  390. package/dist/esm/ic-dialog.entry.js +2 -2
  391. package/dist/esm/ic-divider.entry.js +1 -1
  392. package/dist/esm/ic-empty-state.entry.js +3 -3
  393. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  394. package/dist/esm/ic-footer-link.entry.js +3 -3
  395. package/dist/esm/ic-footer.entry.js +4 -4
  396. package/dist/esm/ic-hero.entry.js +5 -5
  397. package/dist/esm/ic-horizontal-scroll.entry.js +6 -6
  398. package/dist/esm/ic-input-component-container_3.entry.js +9 -9
  399. package/dist/esm/ic-input-label_2.entry.js +6 -6
  400. package/dist/esm/ic-layout-grid-item.entry.js +66 -0
  401. package/dist/esm/ic-layout-grid-item.entry.js.map +1 -0
  402. package/dist/esm/ic-layout-grid.entry.js +152 -0
  403. package/dist/esm/ic-layout-grid.entry.js.map +1 -0
  404. package/dist/esm/ic-link.entry.js +2 -2
  405. package/dist/esm/ic-menu-group.entry.js +2 -2
  406. package/dist/esm/ic-menu-item.entry.js +1 -1
  407. package/dist/esm/ic-navigation-button.entry.js +3 -3
  408. package/dist/esm/ic-navigation-group.entry.js +3 -3
  409. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  410. package/dist/esm/ic-navigation-item.entry.js +3 -3
  411. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  412. package/dist/esm/ic-page-header.entry.js +7 -7
  413. package/dist/esm/ic-pagination-item.entry.js +2 -2
  414. package/dist/esm/ic-pagination.entry.js +5 -5
  415. package/dist/esm/ic-popover-menu.entry.js +10 -6
  416. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  417. package/dist/esm/ic-radio-group.entry.js +5 -5
  418. package/dist/esm/ic-radio-option.entry.js +5 -5
  419. package/dist/esm/ic-search-bar.entry.js +10 -10
  420. package/dist/esm/ic-section-container.entry.js +2 -2
  421. package/dist/esm/ic-select.entry.js +7 -7
  422. package/dist/esm/ic-side-navigation.entry.js +5 -5
  423. package/dist/esm/ic-skeleton.entry.js +2 -2
  424. package/dist/esm/ic-skip-link.entry.js +2 -2
  425. package/dist/esm/ic-status-tag.entry.js +3 -3
  426. package/dist/esm/ic-step.entry.js +14 -14
  427. package/dist/esm/ic-stepper.entry.js +3 -3
  428. package/dist/esm/ic-switch.entry.js +5 -5
  429. package/dist/esm/ic-tab-context.entry.js +1 -1
  430. package/dist/esm/ic-tab-group.entry.js +3 -3
  431. package/dist/esm/ic-tab-panel.entry.js +2 -2
  432. package/dist/esm/ic-tab.entry.js +3 -3
  433. package/dist/esm/ic-text-field.entry.js +7 -7
  434. package/dist/esm/ic-theme.entry.js +2 -2
  435. package/dist/esm/ic-toast-region.entry.js +1 -1
  436. package/dist/esm/ic-toast.entry.js +5 -5
  437. package/dist/esm/ic-toast.entry.js.map +1 -1
  438. package/dist/esm/ic-toggle-button-group.entry.js +3 -3
  439. package/dist/esm/ic-toggle-button.entry.js +3 -3
  440. package/dist/esm/ic-top-navigation.entry.js +5 -5
  441. package/dist/esm/ic-typography.entry.js +3 -3
  442. package/dist/esm/index-a7a720e7.js +12 -0
  443. package/dist/esm/loader.js +1 -1
  444. package/dist/types/components/ic-action-chip/ic-action-chip.d.ts +100 -0
  445. package/dist/types/components/ic-button/ic-button.d.ts +4 -0
  446. package/dist/types/components/ic-chip/ic-chip.d.ts +2 -0
  447. package/dist/types/components/ic-layout-grid/ic-layout-grid.d.ts +56 -0
  448. package/dist/types/components/ic-layout-grid/ic-layout-grid.types.d.ts +8 -0
  449. package/dist/types/components/ic-layout-grid-item/ic-layout-grid-item.d.ts +29 -0
  450. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +4 -0
  451. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +5 -4
  452. package/dist/types/components.d.ts +343 -2
  453. package/dist/types/utils/constants.d.ts +4 -0
  454. package/dist/types/utils/helpers.d.ts +3 -3
  455. package/dist/types/utils/types.d.ts +1 -1
  456. package/hydrate/index.js +659 -278
  457. package/hydrate/index.mjs +659 -278
  458. package/package.json +2 -2
  459. package/vscode-data.json +270 -0
  460. package/dist/cjs/helpers-8217daf4.js.map +0 -1
  461. package/dist/core/p-02132a4c.entry.js +0 -2
  462. package/dist/core/p-08567369.entry.js +0 -2
  463. package/dist/core/p-08567369.entry.js.map +0 -1
  464. package/dist/core/p-0f86ea09.entry.js.map +0 -1
  465. package/dist/core/p-3194e46c.entry.js +0 -2
  466. package/dist/core/p-43b98687.entry.js +0 -2
  467. package/dist/core/p-43b98687.entry.js.map +0 -1
  468. package/dist/core/p-4b8bfb59.entry.js +0 -2
  469. package/dist/core/p-4b8bfb59.entry.js.map +0 -1
  470. package/dist/core/p-4cd83bfe.entry.js +0 -2
  471. package/dist/core/p-4cd83bfe.entry.js.map +0 -1
  472. package/dist/core/p-554c555f.entry.js +0 -2
  473. package/dist/core/p-5fb58cc8.entry.js +0 -2
  474. package/dist/core/p-5fb58cc8.entry.js.map +0 -1
  475. package/dist/core/p-627f7172.entry.js +0 -2
  476. package/dist/core/p-70abcb2b.js +0 -2
  477. package/dist/core/p-70abcb2b.js.map +0 -1
  478. package/dist/core/p-773ded36.entry.js +0 -2
  479. package/dist/core/p-7cada631.entry.js +0 -2
  480. package/dist/core/p-7cada631.entry.js.map +0 -1
  481. package/dist/core/p-939adcae.entry.js +0 -2
  482. package/dist/core/p-939adcae.entry.js.map +0 -1
  483. package/dist/core/p-97f67617.entry.js +0 -2
  484. package/dist/core/p-97f67617.entry.js.map +0 -1
  485. package/dist/core/p-c100724d.entry.js +0 -2
  486. package/dist/core/p-d85b438a.entry.js +0 -2
  487. package/dist/core/p-d85b438a.entry.js.map +0 -1
  488. package/dist/core/p-ec1657fc.entry.js +0 -2
  489. package/dist/core/p-ff47772c.entry.js +0 -2
  490. package/dist/esm/helpers-f5ff3b42.js.map +0 -1
  491. /package/dist/core/{p-06e80441.entry.js.map → p-15dbccc2.entry.js.map} +0 -0
  492. /package/dist/core/{p-91f6884a.entry.js.map → p-19cf2327.entry.js.map} +0 -0
  493. /package/dist/core/{p-4b6818d9.entry.js.map → p-1cc402b8.entry.js.map} +0 -0
  494. /package/dist/core/{p-182b7037.entry.js.map → p-1e2f40b0.entry.js.map} +0 -0
  495. /package/dist/core/{p-9d5e4b62.entry.js.map → p-21cf2beb.entry.js.map} +0 -0
  496. /package/dist/core/{p-fc5661ac.entry.js.map → p-287e5c17.entry.js.map} +0 -0
  497. /package/dist/core/{p-543b90c5.entry.js.map → p-28efe829.entry.js.map} +0 -0
  498. /package/dist/core/{p-fb6e6ac4.entry.js.map → p-2f4f392f.entry.js.map} +0 -0
  499. /package/dist/core/{p-4301e11e.entry.js.map → p-313a8a2f.entry.js.map} +0 -0
  500. /package/dist/core/{p-f4ee5fbb.entry.js.map → p-3dc54847.entry.js.map} +0 -0
  501. /package/dist/core/{p-0549305b.entry.js.map → p-3e5d7a3d.entry.js.map} +0 -0
  502. /package/dist/core/{p-ae2ea264.entry.js.map → p-41f92698.entry.js.map} +0 -0
  503. /package/dist/core/{p-9e051db4.entry.js.map → p-45dd12ee.entry.js.map} +0 -0
  504. /package/dist/core/{p-018eaee0.entry.js.map → p-493eaabb.entry.js.map} +0 -0
  505. /package/dist/core/{p-a591ef38.entry.js.map → p-4ca782eb.entry.js.map} +0 -0
  506. /package/dist/core/{p-056be0df.entry.js.map → p-4d1a3036.entry.js.map} +0 -0
  507. /package/dist/core/{p-421b5f2d.entry.js.map → p-5f68f62b.entry.js.map} +0 -0
  508. /package/dist/core/{p-d281c3cf.entry.js.map → p-5fbc8e62.entry.js.map} +0 -0
  509. /package/dist/core/{p-06b0d0f6.entry.js.map → p-6014ab64.entry.js.map} +0 -0
  510. /package/dist/core/{p-afde0edc.entry.js.map → p-661ae402.entry.js.map} +0 -0
  511. /package/dist/core/{p-a2ae5d9e.entry.js.map → p-6a576a8b.entry.js.map} +0 -0
  512. /package/dist/core/{p-b1b27b7e.entry.js.map → p-6e8ef73c.entry.js.map} +0 -0
  513. /package/dist/core/{p-2ec0d11c.entry.js.map → p-72a9909c.entry.js.map} +0 -0
  514. /package/dist/core/{p-f9491692.entry.js.map → p-742a9181.entry.js.map} +0 -0
  515. /package/dist/core/{p-152ddde9.entry.js.map → p-8a4b12e4.entry.js.map} +0 -0
  516. /package/dist/core/{p-3448c713.entry.js.map → p-8b5022bc.entry.js.map} +0 -0
  517. /package/dist/core/{p-ce916f35.entry.js.map → p-9323c234.entry.js.map} +0 -0
  518. /package/dist/core/{p-50d13439.entry.js.map → p-948f89a0.entry.js.map} +0 -0
  519. /package/dist/core/{p-ba89fa16.entry.js.map → p-9c013333.entry.js.map} +0 -0
  520. /package/dist/core/{p-b83cca09.entry.js.map → p-9eeb5e85.entry.js.map} +0 -0
  521. /package/dist/core/{p-0179fbd3.entry.js.map → p-9f36791b.entry.js.map} +0 -0
  522. /package/dist/core/{p-8a5b0fb0.entry.js.map → p-a602a8e1.entry.js.map} +0 -0
  523. /package/dist/core/{p-98869fe7.entry.js.map → p-a77364f5.entry.js.map} +0 -0
  524. /package/dist/core/{p-6b52e47f.entry.js.map → p-af9c391d.entry.js.map} +0 -0
  525. /package/dist/core/{p-77750efc.entry.js.map → p-b0d488d0.entry.js.map} +0 -0
  526. /package/dist/core/{p-cd8dab55.entry.js.map → p-b52000d9.entry.js.map} +0 -0
  527. /package/dist/core/{p-c100724d.entry.js.map → p-cf631191.entry.js.map} +0 -0
  528. /package/dist/core/{p-6dd73165.entry.js.map → p-df88ff5b.entry.js.map} +0 -0
  529. /package/dist/core/{p-bb21268f.entry.js.map → p-e652ab09.entry.js.map} +0 -0
  530. /package/dist/core/{p-29468171.entry.js.map → p-e876e47c.entry.js.map} +0 -0
  531. /package/dist/core/{p-ab1103e1.entry.js.map → p-ea778379.entry.js.map} +0 -0
  532. /package/dist/core/{p-948086f4.entry.js.map → p-ef4b5469.entry.js.map} +0 -0
  533. /package/dist/core/{p-9ed5f11d.entry.js.map → p-f6a02202.entry.js.map} +0 -0
@@ -1,2 +1,2 @@
1
- import{r as i,h as s,H as t,g as e}from"./p-8e4e97b4.js";import{D as h,e as a,f as l}from"./p-70abcb2b.js";const c=":host{display:block}:host ol{display:flex;list-style-type:none;align-items:center;flex-wrap:wrap;padding:0;margin:0}:host(.ic-breadcrumb-group-back) ol ::slotted(ic-breadcrumb){display:none}:host(.ic-breadcrumb-group-back) ol ::slotted(ic-breadcrumb.show){display:flex}:host(.ic-breadcrumb-group-collapsed) ol ::slotted(ic-breadcrumb.hide){display:none;opacity:0;visibility:hidden}:host(.ic-breadcrumb-group-collapsed) ol ::slotted(ic-breadcrumb.visuallyhidden){display:block;opacity:0;transition:all var(--ic-easing-transition-slow)}:host(.ic-breadcrumb-group-collapsed) ol ::slotted(ic-breadcrumb.fade){opacity:1}";const r=c;const d=class{constructor(s){i(this,s);this.ADD_CLASS_DELAY=50;this.IC_BREADCRUMB="ic-breadcrumb";this.SHOW_BACK_ICON="show-back-icon";this.collapsedBreadcrumbs=[];this.resizeObserver=null;this.lastParentBreadcrumb=null;this.deviceSize=h.XL;this.backBreadcrumbOnly=false;this.collapsed=false;this.monochrome=false;this.theme="inherit";this.setBreadcrumbTheme=()=>{Array.from(this.el.querySelectorAll(this.IC_BREADCRUMB)).forEach((i=>{i.theme=this.theme}))};this.setBreadcrumbMonochrome=()=>{Array.from(this.el.querySelectorAll(this.IC_BREADCRUMB)).forEach((i=>{i.monochrome=this.monochrome}))};this.setBackBreadcrumb=()=>{if(this.backBreadcrumbOnly){this.setLastParentCollapsedBackBreadcrumb()}else{this.revertLastParentCollapsedBreadcrumb()}};this.setBackBreadcrumbAttr=()=>{if(this.lastParentBreadcrumb){this.lastParentBreadcrumb.classList.add("show");this.lastParentBreadcrumb.setAttribute(this.SHOW_BACK_ICON,"true")}};this.getLastParentBreadcrumb=()=>{const i=this.el.querySelectorAll(this.IC_BREADCRUMB);return i.length>1?i[i.length-2]:null};this.setCollapsed=()=>{var i,s;this.collapsedBreadcrumbs.forEach((i=>{i.classList.remove("visuallyhidden");i.classList.remove("fade")}));if(this.collapsed){this.renderCollapsedBreadcrumb();const s=Array.from(this.el.querySelectorAll(this.IC_BREADCRUMB));this.collapsedBreadcrumbs=s.splice(1,s.length-2).filter((i=>!i.classList.contains("collapsed-breadcrumb-wrapper")));if(!this.backBreadcrumbOnly){this.collapsedBreadcrumbs.forEach((i=>i.classList.add("hide")))}if(this.collapsedBreadcrumbWrapper){(i=s[0])===null||i===void 0?void 0:i.insertAdjacentElement("afterend",this.collapsedBreadcrumbWrapper)}}else{(s=this.collapsedBreadcrumbWrapper)===null||s===void 0?void 0:s.remove()}};this.clickHandler=()=>{var i;(i=this.collapsedBreadcrumbWrapper)===null||i===void 0?void 0:i.remove();this.collapsedBreadcrumbs.forEach((i=>{i.classList.add("visuallyhidden");i.classList.remove("hide");setTimeout((()=>{i.classList.add("fade")}),this.ADD_CLASS_DELAY);i.addEventListener("transitionend",this.transitionendHandler)}));this.collapsed=false;this.collapsedBreadcrumbs[0].setFocus()};this.renderCollapsedBreadcrumb=()=>{if(this.collapsedBreadcrumbEl===undefined){this.collapsedBreadcrumbWrapper=document.createElement("ic-breadcrumb");this.collapsedBreadcrumbWrapper.classList.add("collapsed-breadcrumb-wrapper");this.collapsedBreadcrumbEl=document.createElement("button");const i=document.createElement("span");i.id="collapsed-button-label";i.innerText="Collapsed breadcrumbs";i.className="hide";this.collapsedBreadcrumbEl.setAttribute("aria-labelledby",i.id);const s=document.createElement("span");s.id="collapsed-button-described";s.innerText="Select to view collapsed breadcrumbs";s.className="hide";this.collapsedBreadcrumbEl.setAttribute("aria-describedby",s.id);this.collapsedBreadcrumbEl.id="collapsed-ellipsis";this.collapsedBreadcrumbEl.innerText="...";this.collapsedBreadcrumbEl.classList.add("collapsed-breadcrumb");this.collapsedBreadcrumbEl.addEventListener("click",this.clickHandler);this.collapsedBreadcrumbWrapper.append(s);this.collapsedBreadcrumbWrapper.append(i);this.collapsedBreadcrumbWrapper.append(this.collapsedBreadcrumbEl)}};this.transitionendHandler=i=>{if(i.propertyName==="opacity"){i.target.classList.remove("visuallyhidden")}};this.setLastParentCollapsedBackBreadcrumb=()=>{this.lastParentBreadcrumb=this.getLastParentBreadcrumb();this.setBackBreadcrumbAttr();if(this.lastParentBreadcrumb){this.lastParentBreadcrumb.classList.remove("hide");this.lastParentBreadcrumb.classList.add("show")}};this.revertLastParentCollapsedBreadcrumb=()=>{if(this.lastParentBreadcrumb){this.lastParentBreadcrumb.setAttribute(this.SHOW_BACK_ICON,"false");if(this.collapsed){this.lastParentBreadcrumb.classList.add("hide")}}};this.resizeObserverCallback=i=>{if(i!==this.deviceSize){this.deviceSize=i;const s=this.deviceSize<=h.S;this.el.setAttribute("back-breadcrumb-only",`${s}`);if(s){if(this.collapsed){this.setLastParentCollapsedBackBreadcrumb()}else{this.setBackBreadcrumb()}}else{const i=Array.from(this.el.querySelectorAll(this.IC_BREADCRUMB));if(this.collapsed&&i.length>2){this.revertLastParentCollapsedBreadcrumb();this.setCollapsed()}else{i.forEach((i=>{i.setAttribute(this.SHOW_BACK_ICON,"false")}))}}}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{this.resizeObserverCallback(a())}));this.resizeObserver.observe(this.el)}}watchBackBreadcrumbHandler(){this.setBackBreadcrumb()}watchCollapsedHandler(){this.setCollapsed()}watchMonochromeHandler(){this.setBreadcrumbMonochrome()}watchThemeHandler(){this.setBreadcrumbTheme()}componentWillLoad(){this.setBreadcrumbTheme();this.setBreadcrumbMonochrome();if(this.backBreadcrumbOnly){this.setBackBreadcrumb()}else{l(this.runResizeObserver)}if(this.collapsed&&this.el.querySelectorAll(this.IC_BREADCRUMB).length>2){if(a()===h.S){this.setLastParentCollapsedBackBreadcrumb()}else{this.setCollapsed()}}this.lastParentBreadcrumb=this.getLastParentBreadcrumb()}disconnectedCallback(){var i,s;(i=this.lastParentBreadcrumb)===null||i===void 0?void 0:i.removeEventListener("transitionend",this.transitionendHandler);(s=this.collapsedBreadcrumbEl)===null||s===void 0?void 0:s.removeEventListener("click",this.clickHandler)}render(){const{backBreadcrumbOnly:i,collapsed:e,theme:h}=this;return s(t,{key:"c39081da4595fa3f6fca4325df9ecc8775201ecc",class:{"ic-breadcrumb-group-back":i,"ic-breadcrumb-group-collapsed":e,[`ic-theme-${h}`]:h!=="inherit"}},s("nav",{key:"dffbf2a1a5e324c45e1d902f05eeef3e316c917a","aria-label":"breadcrumbs"},s("ol",{key:"29e18e2d0dfde13eeeec0dd2266b73e11a9b4a84"},s("slot",{key:"d6eb3a931fb3a7a8de0104960cfad4e54d6eeeaf"}))))}get el(){return e(this)}static get watchers(){return{backBreadcrumbOnly:["watchBackBreadcrumbHandler"],collapsed:["watchCollapsedHandler"],monochrome:["watchMonochromeHandler"],theme:["watchThemeHandler"]}}};d.style=r;export{d as ic_breadcrumb_group};
2
- //# sourceMappingURL=p-4301e11e.entry.js.map
1
+ import{r as i,h as s,H as t,g as e}from"./p-8e4e97b4.js";import{D as h,f as a,h as l}from"./p-25007ec9.js";const c=":host{display:block}:host ol{display:flex;list-style-type:none;align-items:center;flex-wrap:wrap;padding:0;margin:0}:host(.ic-breadcrumb-group-back) ol ::slotted(ic-breadcrumb){display:none}:host(.ic-breadcrumb-group-back) ol ::slotted(ic-breadcrumb.show){display:flex}:host(.ic-breadcrumb-group-collapsed) ol ::slotted(ic-breadcrumb.hide){display:none;opacity:0;visibility:hidden}:host(.ic-breadcrumb-group-collapsed) ol ::slotted(ic-breadcrumb.visuallyhidden){display:block;opacity:0;transition:all var(--ic-easing-transition-slow)}:host(.ic-breadcrumb-group-collapsed) ol ::slotted(ic-breadcrumb.fade){opacity:1}";const r=c;const d=class{constructor(s){i(this,s);this.ADD_CLASS_DELAY=50;this.IC_BREADCRUMB="ic-breadcrumb";this.SHOW_BACK_ICON="show-back-icon";this.collapsedBreadcrumbs=[];this.resizeObserver=null;this.lastParentBreadcrumb=null;this.deviceSize=h.XL;this.backBreadcrumbOnly=false;this.collapsed=false;this.monochrome=false;this.theme="inherit";this.setBreadcrumbTheme=()=>{Array.from(this.el.querySelectorAll(this.IC_BREADCRUMB)).forEach((i=>{i.theme=this.theme}))};this.setBreadcrumbMonochrome=()=>{Array.from(this.el.querySelectorAll(this.IC_BREADCRUMB)).forEach((i=>{i.monochrome=this.monochrome}))};this.setBackBreadcrumb=()=>{if(this.backBreadcrumbOnly){this.setLastParentCollapsedBackBreadcrumb()}else{this.revertLastParentCollapsedBreadcrumb()}};this.setBackBreadcrumbAttr=()=>{if(this.lastParentBreadcrumb){this.lastParentBreadcrumb.classList.add("show");this.lastParentBreadcrumb.setAttribute(this.SHOW_BACK_ICON,"true")}};this.getLastParentBreadcrumb=()=>{const i=this.el.querySelectorAll(this.IC_BREADCRUMB);return i.length>1?i[i.length-2]:null};this.setCollapsed=()=>{var i,s;this.collapsedBreadcrumbs.forEach((i=>{i.classList.remove("visuallyhidden");i.classList.remove("fade")}));if(this.collapsed){this.renderCollapsedBreadcrumb();const s=Array.from(this.el.querySelectorAll(this.IC_BREADCRUMB));this.collapsedBreadcrumbs=s.splice(1,s.length-2).filter((i=>!i.classList.contains("collapsed-breadcrumb-wrapper")));if(!this.backBreadcrumbOnly){this.collapsedBreadcrumbs.forEach((i=>i.classList.add("hide")))}if(this.collapsedBreadcrumbWrapper){(i=s[0])===null||i===void 0?void 0:i.insertAdjacentElement("afterend",this.collapsedBreadcrumbWrapper)}}else{(s=this.collapsedBreadcrumbWrapper)===null||s===void 0?void 0:s.remove()}};this.clickHandler=()=>{var i;(i=this.collapsedBreadcrumbWrapper)===null||i===void 0?void 0:i.remove();this.collapsedBreadcrumbs.forEach((i=>{i.classList.add("visuallyhidden");i.classList.remove("hide");setTimeout((()=>{i.classList.add("fade")}),this.ADD_CLASS_DELAY);i.addEventListener("transitionend",this.transitionendHandler)}));this.collapsed=false;this.collapsedBreadcrumbs[0].setFocus()};this.renderCollapsedBreadcrumb=()=>{if(this.collapsedBreadcrumbEl===undefined){this.collapsedBreadcrumbWrapper=document.createElement("ic-breadcrumb");this.collapsedBreadcrumbWrapper.classList.add("collapsed-breadcrumb-wrapper");this.collapsedBreadcrumbEl=document.createElement("button");const i=document.createElement("span");i.id="collapsed-button-label";i.innerText="Collapsed breadcrumbs";i.className="hide";this.collapsedBreadcrumbEl.setAttribute("aria-labelledby",i.id);const s=document.createElement("span");s.id="collapsed-button-described";s.innerText="Select to view collapsed breadcrumbs";s.className="hide";this.collapsedBreadcrumbEl.setAttribute("aria-describedby",s.id);this.collapsedBreadcrumbEl.id="collapsed-ellipsis";this.collapsedBreadcrumbEl.innerText="...";this.collapsedBreadcrumbEl.classList.add("collapsed-breadcrumb");this.collapsedBreadcrumbEl.addEventListener("click",this.clickHandler);this.collapsedBreadcrumbWrapper.append(s);this.collapsedBreadcrumbWrapper.append(i);this.collapsedBreadcrumbWrapper.append(this.collapsedBreadcrumbEl)}};this.transitionendHandler=i=>{if(i.propertyName==="opacity"){i.target.classList.remove("visuallyhidden")}};this.setLastParentCollapsedBackBreadcrumb=()=>{this.lastParentBreadcrumb=this.getLastParentBreadcrumb();this.setBackBreadcrumbAttr();if(this.lastParentBreadcrumb){this.lastParentBreadcrumb.classList.remove("hide");this.lastParentBreadcrumb.classList.add("show")}};this.revertLastParentCollapsedBreadcrumb=()=>{if(this.lastParentBreadcrumb){this.lastParentBreadcrumb.setAttribute(this.SHOW_BACK_ICON,"false");if(this.collapsed){this.lastParentBreadcrumb.classList.add("hide")}}};this.resizeObserverCallback=i=>{if(i!==this.deviceSize){this.deviceSize=i;const s=this.deviceSize<=h.S;this.el.setAttribute("back-breadcrumb-only",`${s}`);if(s){if(this.collapsed){this.setLastParentCollapsedBackBreadcrumb()}else{this.setBackBreadcrumb()}}else{const i=Array.from(this.el.querySelectorAll(this.IC_BREADCRUMB));if(this.collapsed&&i.length>2){this.revertLastParentCollapsedBreadcrumb();this.setCollapsed()}else{i.forEach((i=>{i.setAttribute(this.SHOW_BACK_ICON,"false")}))}}}};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{this.resizeObserverCallback(a())}));this.resizeObserver.observe(this.el)}}watchBackBreadcrumbHandler(){this.setBackBreadcrumb()}watchCollapsedHandler(){this.setCollapsed()}watchMonochromeHandler(){this.setBreadcrumbMonochrome()}watchThemeHandler(){this.setBreadcrumbTheme()}componentWillLoad(){this.setBreadcrumbTheme();this.setBreadcrumbMonochrome();if(this.backBreadcrumbOnly){this.setBackBreadcrumb()}else{l(this.runResizeObserver)}if(this.collapsed&&this.el.querySelectorAll(this.IC_BREADCRUMB).length>2){if(a()===h.S){this.setLastParentCollapsedBackBreadcrumb()}else{this.setCollapsed()}}this.lastParentBreadcrumb=this.getLastParentBreadcrumb()}disconnectedCallback(){var i,s;(i=this.lastParentBreadcrumb)===null||i===void 0?void 0:i.removeEventListener("transitionend",this.transitionendHandler);(s=this.collapsedBreadcrumbEl)===null||s===void 0?void 0:s.removeEventListener("click",this.clickHandler)}render(){const{backBreadcrumbOnly:i,collapsed:e,theme:h}=this;return s(t,{key:"e9547e6fce74b57f2a3d7904bdca580c59abf881",class:{"ic-breadcrumb-group-back":i,"ic-breadcrumb-group-collapsed":e,[`ic-theme-${h}`]:h!=="inherit"}},s("nav",{key:"56fd90771323680169a7e2ff757c534f499bda48","aria-label":"breadcrumbs"},s("ol",{key:"2817e0c715c94937436a41222f86a0e5e6b9cc92"},s("slot",{key:"137e284689752e6256c39ecc19988aafd3e49942"}))))}get el(){return e(this)}static get watchers(){return{backBreadcrumbOnly:["watchBackBreadcrumbHandler"],collapsed:["watchCollapsedHandler"],monochrome:["watchMonochromeHandler"],theme:["watchThemeHandler"]}}};d.style=r;export{d as ic_breadcrumb_group};
2
+ //# sourceMappingURL=p-313a8a2f.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as t,c as i,h as e,H as s,g as a}from"./p-8e4e97b4.js";import{r as n,o}from"./p-25007ec9.js";const h=`<svg width="8" height="10" viewBox="0 0 8 10" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M2.08748 0L0.912476 1.175L4.72914 5L0.912476 8.825L2.08748 10L7.08748 5L2.08748 0Z" fill="currentColor"/>\n</svg>\n`;const r=`<svg width="12" height="10" viewBox="0 0 12 10" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M11.1709 8.825L7.34589 5L11.1709 1.175L9.99589 0L4.99589 5L9.99589 10L11.1709 8.825ZM0.829224 0H2.49589V10H0.829224V0Z" fill="currentColour"/>\n</svg>`;const l='/*! 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{box-sizing:border-box;width:100%;display:flex;justify-content:center}nav{width:100%;display:flex;flex-flow:row wrap;justify-content:flex-start;align-items:center}ic-button{cursor:pointer}ic-button.next-previous{--icon-width:var(--ic-space-xs);--icon-height:calc(var(--ic-space-xs) + var(--ic-space-xxxs));padding:0 var(--ic-space-xxs) 0 var(--ic-space-xxxs)}ic-button.first-last{--icon-width:calc(var(--ic-space-sm) + var(--ic-space-xxxs));--icon-height:calc(var(--ic-space-xs) + var(--ic-space-xxxs))}ic-button.first-last::part(button),ic-button.next-previous::part(button){color:var(--ic-pagination-chevron)}:host(.ic-pagination-monochrome) ic-button.first-last::part(button),:host(.ic-pagination-monochrome) ic-button.next-previous::part(button){color:var(--ic-pagination-chevron-monochrome)}ic-button.ic-button-disabled.first-last::part(button),ic-button.ic-button-disabled.next-previous::part(button),:host(.ic-pagination-monochrome) ic-button.ic-button-disabled.first-last::part(button),:host(.ic-pagination-monochrome) ic-button.ic-button-disabled.next-previous::part(button){color:var(--ic-pagination-chevron-disabled)}.disabled{color:var(--ic-color-text-disabled-mid);pointer-events:none;cursor:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.hide-current-page{display:none}.sr-only{position:absolute;left:-9999px}.sr-only:dir(rtl){right:-9999px}';const c=l;const d=class{constructor(s){t(this,s);this.icPageChange=i(this,"icPageChange",7);this.endEllipsis=false;this.endItems=[];this.midItems=[];this.startEllipsis=false;this.startItems=[];this.adjacentPageCount=1;this.boundaryPageCount=1;this.defaultPage=1;this.disabled=false;this.hideCurrentPage=false;this.hideFirstAndLastPageButton=false;this.label="Page";this.monochrome=false;this.theme="inherit";this.type="simple";this.currentPage=this.defaultPage;this.handleClickFirst=()=>{this.currentPage=1;this.icPageChange.emit({value:this.currentPage})};this.handleClickPrevious=()=>{this.currentPage--;this.icPageChange.emit({value:this.currentPage})};this.handleClickNext=()=>{this.currentPage++;this.icPageChange.emit({value:this.currentPage})};this.handleClickLast=()=>{this.currentPage=this.pages;this.icPageChange.emit({value:this.currentPage})};this.firstButton=()=>e("ic-button",{id:"first-page-button","aria-label":"Go to first page",theme:this.theme,onClick:this.handleClickFirst,class:"page-button first-last",disabled:this.currentPage===1||this.disabled,variant:"icon-tertiary",monochrome:this.theme=="light"||this.theme=="dark",innerHTML:r});this.previousButton=()=>e("ic-button",{id:"previous-page-button","aria-label":"Go to previous page",theme:this.theme,onClick:this.handleClickPrevious,class:"page-button next-previous flip",disabled:this.currentPage===1||this.disabled,variant:"icon-tertiary",monochrome:this.theme=="light"||this.theme=="dark",innerHTML:h});this.nextButton=()=>e("ic-button",{id:"next-page-button","aria-label":"Go to next page",theme:this.theme,onClick:this.handleClickNext,class:"page-button next-previous",disabled:this.currentPage===this.pages||this.disabled,variant:"icon-tertiary",monochrome:this.theme=="light"||this.theme=="dark",innerHTML:h});this.lastButton=()=>e("ic-button",{id:"last-page-button","aria-label":"Go to last page",theme:this.theme,onClick:this.handleClickLast,class:"page-button first-last flip",disabled:this.currentPage===this.pages||this.disabled,variant:"icon-tertiary",monochrome:this.theme=="light"||this.theme=="dark",innerHTML:r});this.renderStartEllipsis=()=>e("ic-pagination-item",{theme:this.theme,monochrome:this.monochrome,type:"ellipsis",id:"start-ellipsis",disabled:this.disabled});this.renderEndEllipsis=()=>e("ic-pagination-item",{theme:this.theme,monochrome:this.monochrome,type:"ellipsis",id:"end-ellipsis",disabled:this.disabled});this.renderStartItems=()=>this.startItems.map((t=>e("ic-pagination-item",{theme:this.theme,monochrome:this.monochrome,selected:t===this.currentPage,id:`pagination-item-${t}`,type:"page",page:t,disabled:this.disabled})));this.renderEndItems=()=>this.endItems.map((t=>e("ic-pagination-item",{theme:this.theme,monochrome:this.monochrome,selected:t===this.currentPage,id:`pagination-item-${t}`,type:"page",page:t,disabled:this.disabled})));this.renderMiddleItems=()=>this.midItems.map((t=>e("ic-pagination-item",{theme:this.theme,monochrome:this.monochrome,selected:t===this.currentPage,id:`pagination-item-${t}`,type:"page",page:t,disabled:this.disabled})))}watchAdjacentPageCountHandler(){if(this.adjacentPageCount>2){this.adjacentPageCount=2}}watchBoundaryPageCountHandler(){if(this.boundaryPageCount>2){this.boundaryPageCount=2}}watchDisabledHandler(){n(this.disabled,this.el)}watchNumberPagesHandler(){this.watchPageChangeHandler()}watchTypeHandler(){this.watchPageChangeHandler()}watchPageChangeHandler(){if(this.type==="simple"){return}this.startEllipsis=false;this.endEllipsis=false;this.startItems=[];this.endItems=[];this.midItems=[];const t=[];let i=0;const e=[];let s=this.pages;const a=[];let n;let o;let h=false;let r=false;if(this.pages<=this.boundaryPageCount*2+this.adjacentPageCount*2+3){this.startEllipsis=false;this.endEllipsis=false;for(let i=1;i<=this.pages;i++){t.push(i)}this.startItems=t;return}i=this.boundaryPageCount===0?1:this.boundaryPageCount;s=this.boundaryPageCount===0?this.pages:this.pages-this.boundaryPageCount+1;if(this.currentPage<=this.adjacentPageCount+this.boundaryPageCount+2){h=false;r=true;let t=2*this.adjacentPageCount+1;if(this.boundaryPageCount===0){t--}n=i+1;o=n+t}else{h=true;if(this.currentPage>this.pages-(this.adjacentPageCount+this.boundaryPageCount+2)){let t=2*this.adjacentPageCount+1;if(this.boundaryPageCount===0){t--}o=this.boundaryPageCount===0?this.pages-1:this.pages-this.boundaryPageCount;n=o-t}else{r=true;n=this.currentPage-this.adjacentPageCount;o=this.currentPage+this.adjacentPageCount}}if(this.boundaryPageCount>0||this.boundaryPageCount===0&&h===false){for(let e=1;e<=i;e++){t.push(e)}}if(this.boundaryPageCount>0||this.boundaryPageCount===0&&r===false){for(let t=s;t<=this.pages;t++){e.push(t)}}for(let t=n;t<=o;t++){a.push(t)}this.startEllipsis=h;this.endEllipsis=r;this.startItems=t;this.endItems=e;this.midItems=a}componentWillLoad(){this.watchPageChangeHandler();this.watchBoundaryPageCountHandler();this.watchAdjacentPageCountHandler();n(this.disabled,this.el)}componentDidLoad(){o([{prop:this.pages,propName:"pages"}],"Pagination")}paginationItemClickHandler(t){const i=t.detail.page;this.currentPage=i;this.icPageChange.emit({value:this.currentPage})}async setCurrentPage(t){if(typeof t==="number"&&t>0&&t<=this.pages){this.currentPage=t}else{console.error("Current page must be a number greater than zero but less than or equal to the total number of pages")}}render(){const{type:t,currentPage:i,hideCurrentPage:a,disabled:n,hideFirstAndLastPageButton:o,label:h,theme:r,monochrome:l}=this;return e(s,{key:"2acdd8b04920cef0c72fc4651292abc9bd69ec1e",class:{[`ic-theme-${r}`]:r!=="inherit",["ic-pagination-monochrome"]:!!l}},t==="simple"&&e("nav",{key:"b63e353f7fe95cf279ae4ed80431a4c7dab237ef",class:{["disabled"]:!!n},role:"navigation","aria-label":"Pagination Navigation"},o?null:this.firstButton(),this.previousButton(),e("ic-pagination-item",{key:"6399e68f44cd106050e227c0492cea207911193f",theme:this.theme,monochrome:this.monochrome,type:"simple-current",page:i,label:h,class:{["hide-current-page"]:!!a},disabled:n}),this.nextButton(),o?null:this.lastButton()),t==="complex"&&e("nav",{key:"c7dba8035b72f606bc69ae9daac63f150671a309",class:{["disabled"]:!!n},role:"navigation","aria-label":"Pagination Navigation"},o?null:this.firstButton(),this.previousButton(),this.renderStartItems(),this.startEllipsis&&this.renderStartEllipsis(),this.renderMiddleItems(),this.endEllipsis&&this.renderEndEllipsis(),this.renderEndItems(),this.nextButton(),o?null:this.lastButton()),t==="complex"&&e("span",{key:"a7f3861bf255d89f193da8e630865c972e319a71",class:"sr-only","aria-live":"polite"},"Page ",this.currentPage))}get el(){return a(this)}static get watchers(){return{adjacentPageCount:["watchAdjacentPageCountHandler"],boundaryPageCount:["watchBoundaryPageCountHandler"],disabled:["watchDisabledHandler"],pages:["watchNumberPagesHandler"],type:["watchTypeHandler"],currentPage:["watchPageChangeHandler"]}}};d.style=c;export{d as ic_pagination};
2
+ //# sourceMappingURL=p-317e005f.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["icPaginationCss","IcPaginationStyle0","Pagination","constructor","hostRef","this","endEllipsis","endItems","midItems","startEllipsis","startItems","adjacentPageCount","boundaryPageCount","defaultPage","disabled","hideCurrentPage","hideFirstAndLastPageButton","label","monochrome","theme","type","currentPage","handleClickFirst","icPageChange","emit","value","handleClickPrevious","handleClickNext","handleClickLast","pages","firstButton","h","id","onClick","class","variant","innerHTML","paginationFirstLast","previousButton","paginationNextPrevious","nextButton","lastButton","renderStartEllipsis","renderEndEllipsis","renderStartItems","map","page","selected","renderEndItems","renderMiddleItems","watchAdjacentPageCountHandler","watchBoundaryPageCountHandler","watchDisabledHandler","removeDisabledFalse","el","watchNumberPagesHandler","watchPageChangeHandler","watchTypeHandler","startItemCount","endStart","midStart","midEnd","i","push","numItems","componentWillLoad","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","paginationItemClickHandler","ev","detail","setCurrentPage","console","error","render","Host","key","role"],"sources":["src/components/ic-pagination/ic-pagination.css?tag=ic-pagination&encapsulation=shadow","src/components/ic-pagination/ic-pagination.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n justify-content: center;\n}\n\nnav {\n width: 100%;\n display: flex;\n flex-flow: row wrap;\n justify-content: flex-start;\n align-items: center;\n}\n\nic-button {\n cursor: pointer;\n}\n\nic-button.next-previous {\n --icon-width: var(--ic-space-xs);\n --icon-height: calc(var(--ic-space-xs) + var(--ic-space-xxxs));\n\n padding: 0 var(--ic-space-xxs) 0 var(--ic-space-xxxs);\n}\n\nic-button.first-last {\n --icon-width: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n --icon-height: calc(var(--ic-space-xs) + var(--ic-space-xxxs));\n}\n\nic-button.first-last::part(button),\nic-button.next-previous::part(button) {\n color: var(--ic-pagination-chevron);\n}\n\n:host(.ic-pagination-monochrome) ic-button.first-last::part(button),\n:host(.ic-pagination-monochrome) ic-button.next-previous::part(button) {\n color: var(--ic-pagination-chevron-monochrome);\n}\n\nic-button.ic-button-disabled.first-last::part(button),\nic-button.ic-button-disabled.next-previous::part(button),\n:host(.ic-pagination-monochrome)\n ic-button.ic-button-disabled.first-last::part(button),\n:host(.ic-pagination-monochrome)\n ic-button.ic-button-disabled.next-previous::part(button) {\n color: var(--ic-pagination-chevron-disabled);\n}\n\n.disabled {\n color: var(--ic-color-text-disabled-mid);\n pointer-events: none;\n cursor: none;\n user-select: none;\n}\n\n.hide-current-page {\n display: none;\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n.sr-only:dir(rtl) {\n right: -9999px;\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n Listen,\n State,\n Watch,\n Event,\n EventEmitter,\n Method,\n} from \"@stencil/core\";\nimport paginationNextPrevious from \"../../assets/pagination-next-previous.svg\";\nimport paginationFirstLast from \"../../assets/pagination-first-last.svg\";\nimport { IcThemeMode } from \"../../utils/types\";\nimport { IcPaginationTypes, IcChangeEventDetail } from \"./ic-pagination.types\";\nimport {\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-pagination\",\n styleUrl: \"ic-pagination.css\",\n shadow: true,\n})\nexport class Pagination {\n @Element() el: HTMLIcPaginationElement;\n\n @State() endEllipsis: boolean = false;\n @State() endItems: number[] = [];\n @State() midItems: number[] = [];\n @State() startEllipsis: boolean = false;\n @State() startItems: number[] = [];\n\n /**\n * The number of pages displayed adjacent to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.\n */\n @Prop({ mutable: true }) adjacentPageCount?: number = 1;\n\n @Watch(\"adjacentPageCount\")\n watchAdjacentPageCountHandler(): void {\n if (this.adjacentPageCount! > 2) {\n this.adjacentPageCount = 2;\n }\n }\n\n /**\n * The number of pages displayed as boundary items to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.\n */\n @Prop({ mutable: true }) boundaryPageCount?: number = 1;\n\n @Watch(\"boundaryPageCount\")\n watchBoundaryPageCountHandler(): void {\n if (this.boundaryPageCount! > 2) {\n this.boundaryPageCount = 2;\n }\n }\n\n /**\n * The default page to display.\n */\n @Prop() defaultPage?: number = 1;\n\n /**\n * If `true`, the pagination will not allow interaction.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the current page of the simple pagination will not be displayed.\n */\n @Prop() hideCurrentPage?: boolean = false;\n\n /**\n * If `true`, the first and last page buttons will not be displayed.\n */\n @Prop() hideFirstAndLastPageButton?: boolean = false;\n\n /**\n * The label for the pagination item (applicable when simple pagination is being used).\n */\n @Prop() label?: string = \"Page\";\n\n /**\n * If `true`, the pagination will display as black in the light theme, and white in dark theme.\n */\n @Prop() monochrome?: boolean = false;\n\n /**\n * The total number of pages.\n */\n @Prop() pages!: number;\n\n @Watch(\"pages\")\n watchNumberPagesHandler(): void {\n this.watchPageChangeHandler();\n }\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The type of pagination to be used.\n */\n @Prop() type?: IcPaginationTypes = \"simple\";\n\n @Watch(\"type\")\n watchTypeHandler(): void {\n this.watchPageChangeHandler();\n }\n\n /**\n * The current page displayed by the pagination.\n */\n @Prop({ mutable: true }) currentPage?: number = this.defaultPage;\n\n @Watch(\"currentPage\")\n watchPageChangeHandler(): void {\n if (this.type === \"simple\") {\n return;\n }\n\n this.startEllipsis = false;\n this.endEllipsis = false;\n this.startItems = [];\n this.endItems = [];\n this.midItems = [];\n\n const startItems = [];\n let startItemCount = 0;\n const endItems = [];\n let endStart = this.pages;\n const midItems = [];\n let midStart;\n let midEnd;\n let startEllipsis = false;\n let endEllipsis = false;\n\n if (\n this.pages <=\n this.boundaryPageCount! * 2 + this.adjacentPageCount! * 2 + 3\n ) {\n this.startEllipsis = false;\n this.endEllipsis = false;\n for (let i = 1; i <= this.pages; i++) {\n startItems.push(i);\n }\n this.startItems = startItems;\n return;\n }\n\n startItemCount = this.boundaryPageCount === 0 ? 1 : this.boundaryPageCount!;\n endStart =\n this.boundaryPageCount === 0\n ? this.pages\n : this.pages - this.boundaryPageCount! + 1;\n\n if (\n this.currentPage! <=\n this.adjacentPageCount! + this.boundaryPageCount! + 2\n ) {\n startEllipsis = false;\n endEllipsis = true;\n\n let numItems = 2 * this.adjacentPageCount! + 1;\n if (this.boundaryPageCount === 0) {\n numItems--;\n }\n midStart = startItemCount + 1;\n midEnd = midStart + numItems;\n } else {\n startEllipsis = true;\n if (\n this.currentPage! >\n this.pages - (this.adjacentPageCount! + this.boundaryPageCount! + 2)\n ) {\n let numItems = 2 * this.adjacentPageCount! + 1;\n if (this.boundaryPageCount === 0) {\n numItems--;\n }\n midEnd =\n this.boundaryPageCount === 0\n ? this.pages - 1\n : this.pages - this.boundaryPageCount!;\n midStart = midEnd - numItems;\n } else {\n endEllipsis = true;\n midStart = this.currentPage! - this.adjacentPageCount!;\n midEnd = this.currentPage! + this.adjacentPageCount!;\n }\n }\n\n //create array of start items\n if (\n this.boundaryPageCount! > 0 ||\n (this.boundaryPageCount === 0 && startEllipsis === false)\n ) {\n for (let i = 1; i <= startItemCount; i++) {\n startItems.push(i);\n }\n }\n\n //create array of end items\n if (\n this.boundaryPageCount! > 0 ||\n (this.boundaryPageCount === 0 && endEllipsis === false)\n ) {\n for (let i = endStart; i <= this.pages; i++) {\n endItems.push(i);\n }\n }\n\n //create array of mid items\n for (let i = midStart; i <= midEnd; i++) {\n midItems.push(i);\n }\n\n this.startEllipsis = startEllipsis;\n this.endEllipsis = endEllipsis;\n this.startItems = startItems;\n this.endItems = endItems;\n this.midItems = midItems;\n }\n\n /**\n * Emitted when a page is selected.\n */\n @Event() icPageChange: EventEmitter<IcChangeEventDetail>;\n\n componentWillLoad(): void {\n this.watchPageChangeHandler();\n this.watchBoundaryPageCountHandler();\n this.watchAdjacentPageCountHandler();\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.pages, propName: \"pages\" }],\n \"Pagination\"\n );\n }\n\n @Listen(\"paginationItemClick\")\n paginationItemClickHandler(ev: CustomEvent): void {\n const page = ev.detail.page;\n this.currentPage = page;\n this.icPageChange.emit({ value: this.currentPage! });\n }\n\n /**\n * Sets the currently displayed page.\n * @param {number} page The page number to set as the current page\n */\n @Method()\n async setCurrentPage(page: number): Promise<void> {\n if (typeof page === \"number\" && page > 0 && page <= this.pages) {\n this.currentPage = page;\n } else {\n console.error(\n \"Current page must be a number greater than zero but less than or equal to the total number of pages\"\n );\n }\n }\n\n private handleClickFirst = () => {\n this.currentPage = 1;\n this.icPageChange.emit({ value: this.currentPage });\n };\n\n private handleClickPrevious = (): void => {\n this.currentPage!--;\n this.icPageChange.emit({ value: this.currentPage! });\n };\n\n private handleClickNext = (): void => {\n this.currentPage!++;\n this.icPageChange.emit({ value: this.currentPage! });\n };\n\n private handleClickLast = (): void => {\n this.currentPage = this.pages;\n this.icPageChange.emit({ value: this.currentPage });\n };\n\n // button rendering abstracted from component render methods for clarity\n private firstButton = () => {\n return (\n <ic-button\n id=\"first-page-button\"\n aria-label=\"Go to first page\"\n theme={this.theme}\n onClick={this.handleClickFirst}\n class=\"page-button first-last\"\n disabled={this.currentPage === 1 || this.disabled}\n variant=\"icon-tertiary\"\n monochrome={this.theme == \"light\" || this.theme == \"dark\"}\n innerHTML={paginationFirstLast}\n />\n );\n };\n\n private previousButton = () => {\n return (\n <ic-button\n id=\"previous-page-button\"\n aria-label=\"Go to previous page\"\n theme={this.theme}\n onClick={this.handleClickPrevious}\n class=\"page-button next-previous flip\"\n disabled={this.currentPage === 1 || this.disabled}\n variant=\"icon-tertiary\"\n monochrome={this.theme == \"light\" || this.theme == \"dark\"}\n innerHTML={paginationNextPrevious}\n />\n );\n };\n\n private nextButton = () => {\n return (\n <ic-button\n id=\"next-page-button\"\n aria-label=\"Go to next page\"\n theme={this.theme}\n onClick={this.handleClickNext}\n class=\"page-button next-previous\"\n disabled={this.currentPage === this.pages || this.disabled}\n variant=\"icon-tertiary\"\n monochrome={this.theme == \"light\" || this.theme == \"dark\"}\n innerHTML={paginationNextPrevious}\n />\n );\n };\n\n private lastButton = () => {\n return (\n <ic-button\n id=\"last-page-button\"\n aria-label=\"Go to last page\"\n theme={this.theme}\n onClick={this.handleClickLast}\n class=\"page-button first-last flip\"\n disabled={this.currentPage === this.pages || this.disabled}\n variant=\"icon-tertiary\"\n monochrome={this.theme == \"light\" || this.theme == \"dark\"}\n innerHTML={paginationFirstLast}\n />\n );\n };\n\n private renderStartEllipsis = () => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n type=\"ellipsis\"\n id=\"start-ellipsis\"\n disabled={this.disabled}\n />\n );\n };\n\n private renderEndEllipsis = () => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n type=\"ellipsis\"\n id=\"end-ellipsis\"\n disabled={this.disabled}\n />\n );\n };\n\n private renderStartItems = () => {\n return this.startItems.map((page: number) => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n selected={page === this.currentPage}\n id={`pagination-item-${page}`}\n type=\"page\"\n page={page}\n disabled={this.disabled}\n />\n );\n });\n };\n\n private renderEndItems = () => {\n return this.endItems.map((page: number) => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n selected={page === this.currentPage}\n id={`pagination-item-${page}`}\n type=\"page\"\n page={page}\n disabled={this.disabled}\n />\n );\n });\n };\n\n private renderMiddleItems = () => {\n return this.midItems.map((page: number) => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n selected={page === this.currentPage}\n id={`pagination-item-${page}`}\n type=\"page\"\n page={page}\n disabled={this.disabled}\n />\n );\n });\n };\n\n render() {\n const {\n type,\n currentPage,\n hideCurrentPage,\n disabled,\n hideFirstAndLastPageButton,\n label,\n theme,\n monochrome,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [\"ic-pagination-monochrome\"]: !!monochrome,\n }}\n >\n {type === \"simple\" && (\n <nav\n class={{\n [\"disabled\"]: !!disabled,\n }}\n role=\"navigation\"\n aria-label=\"Pagination Navigation\"\n >\n {hideFirstAndLastPageButton ? null : this.firstButton()}\n {this.previousButton()}\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n type=\"simple-current\"\n page={currentPage}\n label={label}\n class={{ [\"hide-current-page\"]: !!hideCurrentPage }}\n disabled={disabled}\n />\n {this.nextButton()}\n {hideFirstAndLastPageButton ? null : this.lastButton()}\n </nav>\n )}\n {type === \"complex\" && (\n <nav\n class={{\n [\"disabled\"]: !!disabled,\n }}\n role=\"navigation\"\n aria-label=\"Pagination Navigation\"\n >\n {hideFirstAndLastPageButton ? null : this.firstButton()}\n {this.previousButton()}\n {this.renderStartItems()}\n {this.startEllipsis && this.renderStartEllipsis()}\n {this.renderMiddleItems()}\n {this.endEllipsis && this.renderEndEllipsis()}\n {this.renderEndItems()}\n {this.nextButton()}\n {hideFirstAndLastPageButton ? null : this.lastButton()}\n </nav>\n )}\n {type === \"complex\" && (\n <span class=\"sr-only\" aria-live=\"polite\">\n Page {this.currentPage}\n </span>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["icPaginationCss","IcPaginationStyle0","Pagination","constructor","hostRef","this","endEllipsis","endItems","midItems","startEllipsis","startItems","adjacentPageCount","boundaryPageCount","defaultPage","disabled","hideCurrentPage","hideFirstAndLastPageButton","label","monochrome","theme","type","currentPage","handleClickFirst","icPageChange","emit","value","handleClickPrevious","handleClickNext","handleClickLast","pages","firstButton","h","id","onClick","class","variant","innerHTML","paginationFirstLast","previousButton","paginationNextPrevious","nextButton","lastButton","renderStartEllipsis","renderEndEllipsis","renderStartItems","map","page","selected","renderEndItems","renderMiddleItems","watchAdjacentPageCountHandler","watchBoundaryPageCountHandler","watchDisabledHandler","removeDisabledFalse","el","watchNumberPagesHandler","watchPageChangeHandler","watchTypeHandler","startItemCount","endStart","midStart","midEnd","i","push","numItems","componentWillLoad","componentDidLoad","onComponentRequiredPropUndefined","prop","propName","paginationItemClickHandler","ev","detail","setCurrentPage","console","error","render","Host","key","role"],"sources":["src/components/ic-pagination/ic-pagination.css?tag=ic-pagination&encapsulation=shadow","src/components/ic-pagination/ic-pagination.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n:host {\n box-sizing: border-box;\n width: 100%;\n display: flex;\n justify-content: center;\n}\n\nnav {\n width: 100%;\n display: flex;\n flex-flow: row wrap;\n justify-content: flex-start;\n align-items: center;\n}\n\nic-button {\n cursor: pointer;\n}\n\nic-button.next-previous {\n --icon-width: var(--ic-space-xs);\n --icon-height: calc(var(--ic-space-xs) + var(--ic-space-xxxs));\n\n padding: 0 var(--ic-space-xxs) 0 var(--ic-space-xxxs);\n}\n\nic-button.first-last {\n --icon-width: calc(var(--ic-space-sm) + var(--ic-space-xxxs));\n --icon-height: calc(var(--ic-space-xs) + var(--ic-space-xxxs));\n}\n\nic-button.first-last::part(button),\nic-button.next-previous::part(button) {\n color: var(--ic-pagination-chevron);\n}\n\n:host(.ic-pagination-monochrome) ic-button.first-last::part(button),\n:host(.ic-pagination-monochrome) ic-button.next-previous::part(button) {\n color: var(--ic-pagination-chevron-monochrome);\n}\n\nic-button.ic-button-disabled.first-last::part(button),\nic-button.ic-button-disabled.next-previous::part(button),\n:host(.ic-pagination-monochrome)\n ic-button.ic-button-disabled.first-last::part(button),\n:host(.ic-pagination-monochrome)\n ic-button.ic-button-disabled.next-previous::part(button) {\n color: var(--ic-pagination-chevron-disabled);\n}\n\n.disabled {\n color: var(--ic-color-text-disabled-mid);\n pointer-events: none;\n cursor: none;\n user-select: none;\n}\n\n.hide-current-page {\n display: none;\n}\n\n.sr-only {\n position: absolute;\n left: -9999px;\n}\n\n.sr-only:dir(rtl) {\n right: -9999px;\n}\n","import {\n Component,\n Element,\n Host,\n Prop,\n h,\n Listen,\n State,\n Watch,\n Event,\n EventEmitter,\n Method,\n} from \"@stencil/core\";\nimport paginationNextPrevious from \"../../assets/pagination-next-previous.svg\";\nimport paginationFirstLast from \"../../assets/pagination-first-last.svg\";\nimport { IcThemeMode } from \"../../utils/types\";\nimport { IcPaginationTypes, IcChangeEventDetail } from \"./ic-pagination.types\";\nimport {\n onComponentRequiredPropUndefined,\n removeDisabledFalse,\n} from \"../../utils/helpers\";\n\n@Component({\n tag: \"ic-pagination\",\n styleUrl: \"ic-pagination.css\",\n shadow: true,\n})\nexport class Pagination {\n @Element() el: HTMLIcPaginationElement;\n\n @State() endEllipsis: boolean = false;\n @State() endItems: number[] = [];\n @State() midItems: number[] = [];\n @State() startEllipsis: boolean = false;\n @State() startItems: number[] = [];\n\n /**\n * The number of pages displayed adjacent to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.\n */\n @Prop({ mutable: true }) adjacentPageCount?: number = 1;\n\n @Watch(\"adjacentPageCount\")\n watchAdjacentPageCountHandler(): void {\n if (this.adjacentPageCount! > 2) {\n this.adjacentPageCount = 2;\n }\n }\n\n /**\n * The number of pages displayed as boundary items to the current page when using 'complex' type pagination. Accepted values are 0, 1 & 2.\n */\n @Prop({ mutable: true }) boundaryPageCount?: number = 1;\n\n @Watch(\"boundaryPageCount\")\n watchBoundaryPageCountHandler(): void {\n if (this.boundaryPageCount! > 2) {\n this.boundaryPageCount = 2;\n }\n }\n\n /**\n * The default page to display.\n */\n @Prop() defaultPage?: number = 1;\n\n /**\n * If `true`, the pagination will not allow interaction.\n */\n @Prop() disabled?: boolean = false;\n @Watch(\"disabled\")\n watchDisabledHandler(): void {\n removeDisabledFalse(this.disabled, this.el);\n }\n\n /**\n * If `true`, the current page of the simple pagination will not be displayed.\n */\n @Prop() hideCurrentPage?: boolean = false;\n\n /**\n * If `true`, the first and last page buttons will not be displayed.\n */\n @Prop() hideFirstAndLastPageButton?: boolean = false;\n\n /**\n * The label for the pagination item (applicable when simple pagination is being used).\n */\n @Prop() label?: string = \"Page\";\n\n /**\n * If `true`, the pagination will display as black in the light theme, and white in dark theme.\n */\n @Prop() monochrome?: boolean = false;\n\n /**\n * The total number of pages.\n */\n @Prop() pages!: number;\n\n @Watch(\"pages\")\n watchNumberPagesHandler(): void {\n this.watchPageChangeHandler();\n }\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * The type of pagination to be used.\n */\n @Prop() type?: IcPaginationTypes = \"simple\";\n\n @Watch(\"type\")\n watchTypeHandler(): void {\n this.watchPageChangeHandler();\n }\n\n /**\n * The current page displayed by the pagination.\n */\n @Prop({ mutable: true }) currentPage?: number = this.defaultPage;\n\n @Watch(\"currentPage\")\n watchPageChangeHandler(): void {\n if (this.type === \"simple\") {\n return;\n }\n\n this.startEllipsis = false;\n this.endEllipsis = false;\n this.startItems = [];\n this.endItems = [];\n this.midItems = [];\n\n const startItems = [];\n let startItemCount = 0;\n const endItems = [];\n let endStart = this.pages;\n const midItems = [];\n let midStart;\n let midEnd;\n let startEllipsis = false;\n let endEllipsis = false;\n\n if (\n this.pages <=\n this.boundaryPageCount! * 2 + this.adjacentPageCount! * 2 + 3\n ) {\n this.startEllipsis = false;\n this.endEllipsis = false;\n for (let i = 1; i <= this.pages; i++) {\n startItems.push(i);\n }\n this.startItems = startItems;\n return;\n }\n\n startItemCount = this.boundaryPageCount === 0 ? 1 : this.boundaryPageCount!;\n endStart =\n this.boundaryPageCount === 0\n ? this.pages\n : this.pages - this.boundaryPageCount! + 1;\n\n if (\n this.currentPage! <=\n this.adjacentPageCount! + this.boundaryPageCount! + 2\n ) {\n startEllipsis = false;\n endEllipsis = true;\n\n let numItems = 2 * this.adjacentPageCount! + 1;\n if (this.boundaryPageCount === 0) {\n numItems--;\n }\n midStart = startItemCount + 1;\n midEnd = midStart + numItems;\n } else {\n startEllipsis = true;\n if (\n this.currentPage! >\n this.pages - (this.adjacentPageCount! + this.boundaryPageCount! + 2)\n ) {\n let numItems = 2 * this.adjacentPageCount! + 1;\n if (this.boundaryPageCount === 0) {\n numItems--;\n }\n midEnd =\n this.boundaryPageCount === 0\n ? this.pages - 1\n : this.pages - this.boundaryPageCount!;\n midStart = midEnd - numItems;\n } else {\n endEllipsis = true;\n midStart = this.currentPage! - this.adjacentPageCount!;\n midEnd = this.currentPage! + this.adjacentPageCount!;\n }\n }\n\n //create array of start items\n if (\n this.boundaryPageCount! > 0 ||\n (this.boundaryPageCount === 0 && startEllipsis === false)\n ) {\n for (let i = 1; i <= startItemCount; i++) {\n startItems.push(i);\n }\n }\n\n //create array of end items\n if (\n this.boundaryPageCount! > 0 ||\n (this.boundaryPageCount === 0 && endEllipsis === false)\n ) {\n for (let i = endStart; i <= this.pages; i++) {\n endItems.push(i);\n }\n }\n\n //create array of mid items\n for (let i = midStart; i <= midEnd; i++) {\n midItems.push(i);\n }\n\n this.startEllipsis = startEllipsis;\n this.endEllipsis = endEllipsis;\n this.startItems = startItems;\n this.endItems = endItems;\n this.midItems = midItems;\n }\n\n /**\n * Emitted when a page is selected.\n */\n @Event() icPageChange: EventEmitter<IcChangeEventDetail>;\n\n componentWillLoad(): void {\n this.watchPageChangeHandler();\n this.watchBoundaryPageCountHandler();\n this.watchAdjacentPageCountHandler();\n removeDisabledFalse(this.disabled, this.el);\n }\n\n componentDidLoad(): void {\n onComponentRequiredPropUndefined(\n [{ prop: this.pages, propName: \"pages\" }],\n \"Pagination\"\n );\n }\n\n @Listen(\"paginationItemClick\")\n paginationItemClickHandler(ev: CustomEvent): void {\n const page = ev.detail.page;\n this.currentPage = page;\n this.icPageChange.emit({ value: this.currentPage! });\n }\n\n /**\n * Sets the currently displayed page.\n * @param {number} page The page number to set as the current page\n */\n @Method()\n async setCurrentPage(page: number): Promise<void> {\n if (typeof page === \"number\" && page > 0 && page <= this.pages) {\n this.currentPage = page;\n } else {\n console.error(\n \"Current page must be a number greater than zero but less than or equal to the total number of pages\"\n );\n }\n }\n\n private handleClickFirst = () => {\n this.currentPage = 1;\n this.icPageChange.emit({ value: this.currentPage });\n };\n\n private handleClickPrevious = (): void => {\n this.currentPage!--;\n this.icPageChange.emit({ value: this.currentPage! });\n };\n\n private handleClickNext = (): void => {\n this.currentPage!++;\n this.icPageChange.emit({ value: this.currentPage! });\n };\n\n private handleClickLast = (): void => {\n this.currentPage = this.pages;\n this.icPageChange.emit({ value: this.currentPage });\n };\n\n // button rendering abstracted from component render methods for clarity\n private firstButton = () => {\n return (\n <ic-button\n id=\"first-page-button\"\n aria-label=\"Go to first page\"\n theme={this.theme}\n onClick={this.handleClickFirst}\n class=\"page-button first-last\"\n disabled={this.currentPage === 1 || this.disabled}\n variant=\"icon-tertiary\"\n monochrome={this.theme == \"light\" || this.theme == \"dark\"}\n innerHTML={paginationFirstLast}\n />\n );\n };\n\n private previousButton = () => {\n return (\n <ic-button\n id=\"previous-page-button\"\n aria-label=\"Go to previous page\"\n theme={this.theme}\n onClick={this.handleClickPrevious}\n class=\"page-button next-previous flip\"\n disabled={this.currentPage === 1 || this.disabled}\n variant=\"icon-tertiary\"\n monochrome={this.theme == \"light\" || this.theme == \"dark\"}\n innerHTML={paginationNextPrevious}\n />\n );\n };\n\n private nextButton = () => {\n return (\n <ic-button\n id=\"next-page-button\"\n aria-label=\"Go to next page\"\n theme={this.theme}\n onClick={this.handleClickNext}\n class=\"page-button next-previous\"\n disabled={this.currentPage === this.pages || this.disabled}\n variant=\"icon-tertiary\"\n monochrome={this.theme == \"light\" || this.theme == \"dark\"}\n innerHTML={paginationNextPrevious}\n />\n );\n };\n\n private lastButton = () => {\n return (\n <ic-button\n id=\"last-page-button\"\n aria-label=\"Go to last page\"\n theme={this.theme}\n onClick={this.handleClickLast}\n class=\"page-button first-last flip\"\n disabled={this.currentPage === this.pages || this.disabled}\n variant=\"icon-tertiary\"\n monochrome={this.theme == \"light\" || this.theme == \"dark\"}\n innerHTML={paginationFirstLast}\n />\n );\n };\n\n private renderStartEllipsis = () => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n type=\"ellipsis\"\n id=\"start-ellipsis\"\n disabled={this.disabled}\n />\n );\n };\n\n private renderEndEllipsis = () => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n type=\"ellipsis\"\n id=\"end-ellipsis\"\n disabled={this.disabled}\n />\n );\n };\n\n private renderStartItems = () => {\n return this.startItems.map((page: number) => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n selected={page === this.currentPage}\n id={`pagination-item-${page}`}\n type=\"page\"\n page={page}\n disabled={this.disabled}\n />\n );\n });\n };\n\n private renderEndItems = () => {\n return this.endItems.map((page: number) => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n selected={page === this.currentPage}\n id={`pagination-item-${page}`}\n type=\"page\"\n page={page}\n disabled={this.disabled}\n />\n );\n });\n };\n\n private renderMiddleItems = () => {\n return this.midItems.map((page: number) => {\n return (\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n selected={page === this.currentPage}\n id={`pagination-item-${page}`}\n type=\"page\"\n page={page}\n disabled={this.disabled}\n />\n );\n });\n };\n\n render() {\n const {\n type,\n currentPage,\n hideCurrentPage,\n disabled,\n hideFirstAndLastPageButton,\n label,\n theme,\n monochrome,\n } = this;\n\n return (\n <Host\n class={{\n [`ic-theme-${theme}`]: theme !== \"inherit\",\n [\"ic-pagination-monochrome\"]: !!monochrome,\n }}\n >\n {type === \"simple\" && (\n <nav\n class={{\n [\"disabled\"]: !!disabled,\n }}\n role=\"navigation\"\n aria-label=\"Pagination Navigation\"\n >\n {hideFirstAndLastPageButton ? null : this.firstButton()}\n {this.previousButton()}\n <ic-pagination-item\n theme={this.theme}\n monochrome={this.monochrome}\n type=\"simple-current\"\n page={currentPage}\n label={label}\n class={{ [\"hide-current-page\"]: !!hideCurrentPage }}\n disabled={disabled}\n />\n {this.nextButton()}\n {hideFirstAndLastPageButton ? null : this.lastButton()}\n </nav>\n )}\n {type === \"complex\" && (\n <nav\n class={{\n [\"disabled\"]: !!disabled,\n }}\n role=\"navigation\"\n aria-label=\"Pagination Navigation\"\n >\n {hideFirstAndLastPageButton ? null : this.firstButton()}\n {this.previousButton()}\n {this.renderStartItems()}\n {this.startEllipsis && this.renderStartEllipsis()}\n {this.renderMiddleItems()}\n {this.endEllipsis && this.renderEndEllipsis()}\n {this.renderEndItems()}\n {this.nextButton()}\n {hideFirstAndLastPageButton ? null : this.lastButton()}\n </nav>\n )}\n {type === \"complex\" && (\n <span class=\"sr-only\" aria-live=\"polite\">\n Page {this.currentPage}\n </span>\n )}\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as e,h as r,H as i,g as t}from"./p-8e4e97b4.js";import{C as c}from"./p-3b185c32.js";import{u as a,i as o}from"./p-70abcb2b.js";const s=`<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z" fill="currentColor"/>\n</svg>\n`;const n=':host{display:block;margin:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0}:host .breadcrumb{display:flex;align-items:center;white-space:nowrap;gap:var(--ic-space-xs);min-height:var(--ic-space-lg)}:host .chevron{width:var(--ic-space-lg);height:var(--ic-space-lg)}:host .chevron svg,:host(.ic-breadcrumb-monochrome) .chevron svg{color:var(--ic-breadcrumb-icon-chevron)}:host(:first-child) .chevron{display:none}.back-icon svg{color:var(--ic-breadcrumb-icon)}:host(.ic-breadcrumb-monochrome) .back-icon svg{color:var(--ic-breadcrumb-icon-monochrome)}:host(.ic-breadcrumb-back){display:flex;align-items:center}:host(.ic-breadcrumb-back) .chevron{display:none}ic-link{--breadcrumb-link-display:inline-flex;--breadcrumb-link-align-items:center;--breadcrumb-link-gap:var(--ic-space-xs)}:host([aria-current="page"]){cursor:text}:host([aria-current="page"]) .current-page-container{display:flex;align-items:center;gap:var(--ic-space-xs);color:var(--ic-breadcrumb-text)}:host([aria-current="page"].ic-breadcrumb-monochrome) .current-page-container{color:var(--ic-breadcrumb-text-monochrome)}:host([aria-current="page"]) slot{pointer-events:none}:host(.collapsed-breadcrumb-wrapper){margin-right:var(--ic-space-xs) !important;display:flex;align-items:center;gap:var(--ic-space-xs)}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb){border:none;background-color:transparent;color:var(--ic-color-hyperlink-default);text-decoration:underline;font-weight:var(--ic-font-weight-bold);cursor:pointer}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus){outline:var(--ic-hc-focus-outline);border-bottom:0.25rem solid !important;margin-bottom:-0.25rem !important;text-decoration:none}.hide,:host(.collapsed-breadcrumb-wrapper) ::slotted(.hide){display:none}.slotted-link-container{gap:var(--ic-space-xs);display:flex}.slotted-link-container .back-icon{width:1.5rem;height:1.5rem}.slotted-link-container .link-wrapper{line-height:1.5rem}@media (forced-colors: active){.back-icon svg{color:currentcolor}}@supports (text-underline-offset: 25%){ic-link{--breadcrumb-link-display:flex}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus){text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%;border-bottom:0 !important;margin-bottom:0 !important}}';const l=n;const d=class{constructor(i){e(this,i);this.HREF_ATTR="href";this.linkSlotContent=null;this.slottedLinkEl=null;this.slottedLinkHref=null;this.current=false;this.monochrome=false;this.showBackIcon=false;this.theme="inherit";this.updatedSlottedLinkFocus=()=>{var e,r;if(this.linkSlotContent){this.linkSlotContent.tabIndex=this.current?-1:0}if(this.current){(e=this.slottedLinkEl)===null||e===void 0?void 0:e.removeAttribute(this.HREF_ATTR)}else if(this.slottedLinkHref){(r=this.slottedLinkEl)===null||r===void 0?void 0:r.setAttribute(this.HREF_ATTR,this.slottedLinkHref)}};this.getSlottedLinkEl=()=>{if(!this.linkSlotContent)return null;return this.linkSlotContent.hasAttribute(this.HREF_ATTR)?this.linkSlotContent:this.linkSlotContent.querySelector("[href]")};this.renderBackIcon=()=>r("div",{class:"back-icon",innerHTML:s})}watchCurrentHandler(){this.updatedSlottedLinkFocus();this.el.ariaCurrent=this.current?"page":null}componentDidLoad(){var e,r;const i=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(".link-wrapper");if(i){const e=a(i);if(e){this.linkSlotContent=e[0];this.slottedLinkEl=this.getSlottedLinkEl();this.slottedLinkHref=((r=this.slottedLinkEl)===null||r===void 0?void 0:r.getAttribute("href"))||null}this.updatedSlottedLinkFocus()}}componentWillRender(){const e=this.el.querySelector("ic-link");if(e){const r="current-page";e.classList.remove(r);if(this.current&&!e.classList.contains(r)){e.classList.add("breadcrumb-link",r)}}}async setFocus(){var e,r;(r=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector("ic-link"))===null||r===void 0?void 0:r.focus()}render(){const{current:e,href:t,monochrome:a,pageTitle:s,showBackIcon:n,theme:l}=this;const d=`${s===null||s===void 0?void 0:s.toLowerCase().replace(" ","-")}-describedby`;return r(i,{key:"55dd358ca0c5d865a9fdd17809b6d7f3ac12a966",class:{"ic-breadcrumb-back":n,"ic-breadcrumb-monochrome":a,[`ic-theme-${l}`]:l!=="inherit"},"aria-current":e&&"page",role:"listitem"},r("div",{key:"768e4c78b20b1ad9b0100ff2a36ce512db5d7c1c",class:"breadcrumb"},r("span",{key:"930d48bd5661f977f0ce2edcc4ea3ce02c1e282a",innerHTML:c,class:"chevron","aria-hidden":"true"}),n&&r("span",{key:"0b932408b17ef65e2e25b6b4e124e2a4941d8eae",id:d,class:"hide"},`Back to ${s}`),!t?r("div",{class:"slotted-link-container"},n&&this.renderBackIcon(),r("span",{class:"link-wrapper"},r("slot",null))):e?r("span",{class:"current-page-container"},o(this.el,"icon")&&r("slot",{name:"icon"}),s):r("ic-link",{theme:l,monochrome:a,href:t,class:"breadcrumb-link","aria-describedby":n&&d},n&&this.renderBackIcon(),o(this.el,"icon")&&r("slot",{name:"icon"}),s)))}static get delegatesFocus(){return true}get el(){return t(this)}static get watchers(){return{current:["watchCurrentHandler"]}}};d.style=l;export{d as ic_breadcrumb};
2
- //# sourceMappingURL=p-f4ee5fbb.entry.js.map
1
+ import{r as e,h as r,H as i,g as t}from"./p-8e4e97b4.js";import{C as c}from"./p-3b185c32.js";import{u as a,i as o}from"./p-25007ec9.js";const s=`<svg viewBox="0 0 24 24" fill="none" xmlns="http://www.w3.org/2000/svg">\n<path d="M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z" fill="currentColor"/>\n</svg>\n`;const n=':host{display:block;margin:var(--ic-space-xs) var(--ic-space-xs) var(--ic-space-xs) 0}:host .breadcrumb{display:flex;align-items:center;white-space:nowrap;gap:var(--ic-space-xs);min-height:var(--ic-space-lg)}:host .chevron{width:var(--ic-space-lg);height:var(--ic-space-lg)}:host .chevron svg,:host(.ic-breadcrumb-monochrome) .chevron svg{color:var(--ic-breadcrumb-icon-chevron)}:host(:first-child) .chevron{display:none}.back-icon svg{color:var(--ic-breadcrumb-icon)}:host(.ic-breadcrumb-monochrome) .back-icon svg{color:var(--ic-breadcrumb-icon-monochrome)}:host(.ic-breadcrumb-back){display:flex;align-items:center}:host(.ic-breadcrumb-back) .chevron{display:none}ic-link{--breadcrumb-link-display:inline-flex;--breadcrumb-link-align-items:center;--breadcrumb-link-gap:var(--ic-space-xs)}:host([aria-current="page"]){cursor:text}:host([aria-current="page"]) .current-page-container{display:flex;align-items:center;gap:var(--ic-space-xs);color:var(--ic-breadcrumb-text)}:host([aria-current="page"].ic-breadcrumb-monochrome) .current-page-container{color:var(--ic-breadcrumb-text-monochrome)}:host([aria-current="page"]) slot{pointer-events:none}:host(.collapsed-breadcrumb-wrapper){margin-right:var(--ic-space-xs) !important;display:flex;align-items:center;gap:var(--ic-space-xs)}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb){border:none;background-color:transparent;color:var(--ic-color-hyperlink-default);text-decoration:underline;font-weight:var(--ic-font-weight-bold);cursor:pointer}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus){outline:var(--ic-hc-focus-outline);border-bottom:0.25rem solid !important;margin-bottom:-0.25rem !important;text-decoration:none}.hide,:host(.collapsed-breadcrumb-wrapper) ::slotted(.hide){display:none}.slotted-link-container{gap:var(--ic-space-xs);display:flex}.slotted-link-container .back-icon{width:1.5rem;height:1.5rem}.slotted-link-container .link-wrapper{line-height:1.5rem}@media (forced-colors: active){.back-icon svg{color:currentcolor}}@supports (text-underline-offset: 25%){ic-link{--breadcrumb-link-display:flex}:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:hover),:host(.collapsed-breadcrumb-wrapper) ::slotted(.collapsed-breadcrumb:focus){text-decoration-line:underline;text-decoration-thickness:25%;text-underline-offset:25%;border-bottom:0 !important;margin-bottom:0 !important}}';const l=n;const d=class{constructor(i){e(this,i);this.HREF_ATTR="href";this.linkSlotContent=null;this.slottedLinkEl=null;this.slottedLinkHref=null;this.current=false;this.monochrome=false;this.showBackIcon=false;this.theme="inherit";this.updatedSlottedLinkFocus=()=>{var e,r;if(this.linkSlotContent){this.linkSlotContent.tabIndex=this.current?-1:0}if(this.current){(e=this.slottedLinkEl)===null||e===void 0?void 0:e.removeAttribute(this.HREF_ATTR)}else if(this.slottedLinkHref){(r=this.slottedLinkEl)===null||r===void 0?void 0:r.setAttribute(this.HREF_ATTR,this.slottedLinkHref)}};this.getSlottedLinkEl=()=>{if(!this.linkSlotContent)return null;return this.linkSlotContent.hasAttribute(this.HREF_ATTR)?this.linkSlotContent:this.linkSlotContent.querySelector("[href]")};this.renderBackIcon=()=>r("div",{class:"back-icon",innerHTML:s})}watchCurrentHandler(){this.updatedSlottedLinkFocus();this.el.ariaCurrent=this.current?"page":null}componentDidLoad(){var e,r;const i=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(".link-wrapper");if(i){const e=a(i);if(e){this.linkSlotContent=e[0];this.slottedLinkEl=this.getSlottedLinkEl();this.slottedLinkHref=((r=this.slottedLinkEl)===null||r===void 0?void 0:r.getAttribute("href"))||null}this.updatedSlottedLinkFocus()}}componentWillRender(){const e=this.el.querySelector("ic-link");if(e){const r="current-page";e.classList.remove(r);if(this.current&&!e.classList.contains(r)){e.classList.add("breadcrumb-link",r)}}}async setFocus(){var e,r;(r=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector("ic-link"))===null||r===void 0?void 0:r.focus()}render(){const{current:e,href:t,monochrome:a,pageTitle:s,showBackIcon:n,theme:l}=this;const d=`${s===null||s===void 0?void 0:s.toLowerCase().replace(" ","-")}-describedby`;return r(i,{key:"2c1131138a8be3af8ee344e0fbff5594fbcc2d77",class:{"ic-breadcrumb-back":n,"ic-breadcrumb-monochrome":a,[`ic-theme-${l}`]:l!=="inherit"},"aria-current":e&&"page",role:"listitem"},r("div",{key:"ee77a3aeced7063c4dbab6e1641daf11242d63ca",class:"breadcrumb"},r("span",{key:"1c2dc66e95e0676a381ab25769aa1b735ee5b9c5",innerHTML:c,class:"chevron","aria-hidden":"true"}),n&&r("span",{key:"3857c2967dd82b45a2400107e50d6f03bc65cdde",id:d,class:"hide"},`Back to ${s}`),!t?r("div",{class:"slotted-link-container"},n&&this.renderBackIcon(),r("span",{class:"link-wrapper"},r("slot",null))):e?r("span",{class:"current-page-container"},o(this.el,"icon")&&r("slot",{name:"icon"}),s):r("ic-link",{theme:l,monochrome:a,href:t,class:"breadcrumb-link","aria-describedby":n&&d},n&&this.renderBackIcon(),o(this.el,"icon")&&r("slot",{name:"icon"}),s)))}static get delegatesFocus(){return true}get el(){return t(this)}static get watchers(){return{current:["watchCurrentHandler"]}}};d.style=l;export{d as ic_breadcrumb};
2
+ //# sourceMappingURL=p-3dc54847.entry.js.map
@@ -1,2 +1,2 @@
1
- import{r as i,h as t,H as s,g as e}from"./p-8e4e97b4.js";import{p as h,f as l}from"./p-70abcb2b.js";const a=":host{display:flex;width:100%}.step-item-list{display:flex;margin:0;padding:0}:host(.ic-stepper-default:not(.ic-stepper-aligned-left)) .step-item-list{flex:auto}:host(.ic-stepper-compact) ul ::slotted(ic-step){display:none}:host(.ic-stepper-compact) ul ::slotted(ic-step.show){display:flex}:host(.ic-stepper-compact) ul ::slotted(ic-step.hide){display:none;opacity:0;visibility:hidden}";const o=a;const n=class{constructor(t){i(this,t);var s;this.resizeObserver=null;this.visuallyHidden="visually-hidden";this.alignedFullWidth=true;this.autoSetStepTitles=true;this.lastStepWidth=0;this.noOfResizes=0;this.stepperWidth=(s=document.querySelector("ic-stepper"))===null||s===void 0?void 0:s.getBoundingClientRect().width;this.stepTypes=[];this.variantOverride=this.variant!=="compact";this.aligned="full-width";this.connectorWidth=100;this.hideStepInfo=false;this.theme="inherit";this.variant="default";this.getChildren=()=>{this.steps=Array.from(this.el.querySelectorAll("ic-step"));this.stepsWithStepTitles=Array.from(this.el.querySelectorAll("ic-step[heading]"))};this.checkStepTitles=()=>{if(this.stepsWithStepTitles.length<this.steps.length&&this.variantOverride&&this.variant==="compact"){this.noOfResizes=this.noOfResizes+1;if(this.noOfResizes===1){console.error(`The prop 'heading' is required for all steps of the Stepper component (compact variant)`)}}};this.setStepTypes=()=>{this.getChildren();this.stepTypes=[];for(let i=0;i<this.steps.length;i++){this.stepTypes.push("active")}};this.setStepperWidth=()=>{this.alignedFullWidth=this.variant==="default"&&this.aligned==="full-width";const i=this.steps[this.steps.length-1];i.style.maxWidth="none";if(this.alignedFullWidth){this.stepperWidth=this.el.offsetWidth;i.style.maxWidth=h(`${this.stepperWidth/this.steps.length}px`);this.lastStepWidth=i.offsetWidth}};this.initialiseStepStates=()=>{this.steps.forEach(((i,t)=>{var s,e,l;i.variant=this.variant;i.stepNum=t+1;i.lastStep=t===this.steps.length-1;i.lastStepNum=this.steps.length;if(i.type!=="current"){i.current=false;this.stepTypes[t]=i.type}else{i.current=true}const a=i.shadowRoot&&i.shadowRoot.querySelector(".step > .heading-area");if(this.stepsWithStepTitles.length==0&&this.variantOverride){if(this.variant==="compact"){this.autoSetStepTitles=true;if(this.autoSetStepTitles){i.heading="Step "+i.stepNum;a&&((s=a===null||a===void 0?void 0:a.querySelector(".heading"))===null||s===void 0?void 0:s.setAttribute("aria-hidden","true"))}}if(this.variant==="default"){this.autoSetStepTitles=false;if(!this.autoSetStepTitles){i.heading=undefined;a&&((e=a===null||a===void 0?void 0:a.querySelector(".heading"))===null||e===void 0?void 0:e.removeAttribute("aria-hidden"))}}}if(this.variant==="compact"){if(i.current===true||i.type==="current"){i.classList.remove("hide");i.classList.add("show")}else if(i.classList.contains("show")){i.classList.remove("show");i.classList.add("hide")}if(!i.lastStep){i.nextStepHeading=this.steps[t+1].heading;i.progress=i.stepNum/this.steps.length*100}else if(i.lastStep&&this.stepTypes[t]!=="completed"){i.progress=95}else{i.progress=100}if(this.hideStepInfo&&a!==null){a.classList.remove(this.visuallyHidden)}i.compactStepStyling=this.stepTypes[t]}if(this.variant==="default"){if(!i.lastStep){if(this.alignedFullWidth&&this.stepperWidth!==undefined){i.style.width=h(`${(this.stepperWidth-this.lastStepWidth)/(this.steps.length-1)}px`);i.style.minWidth=h("148px")}}else if(i.lastStep){i.classList.add("last-step");if(this.alignedFullWidth){i.style.maxWidth=`${this.lastStepWidth}px`}else if(this.connectorWidth){i.style.maxWidth=this.connectorWidth>100?h(`${this.connectorWidth+48}px`):h("148px")}}if(this.aligned==="left"&&this.connectorWidth){i.style.width=this.connectorWidth>100?h(`${this.connectorWidth+48}px`):h("148px");const t=(l=i.shadowRoot)===null||l===void 0?void 0:l.querySelector(".step > .step-top > .step-connect");if(t){t.style.width=this.connectorWidth>100?h(`${this.connectorWidth}px`):h("100px")}}if(this.hideStepInfo&&a!==null){a.classList.add(this.visuallyHidden)}}}))};this.setHideStepInfo=()=>{this.steps.forEach((i=>{var t,s,e;const h=(t=i.shadowRoot)===null||t===void 0?void 0:t.querySelector(".step > .heading-area");if(h){if(this.hideStepInfo){(s=h.classList)===null||s===void 0?void 0:s.add(this.visuallyHidden)}else{(e=h.classList)===null||e===void 0?void 0:e.remove(this.visuallyHidden)}}}))};this.overrideVariant=()=>{if(this.variantOverride){let i=148*this.steps.length;if(this.aligned==="left"&&this.connectorWidth&&this.connectorWidth>100){i=(this.connectorWidth+48)*this.steps.length}if(this.el.clientWidth<i){this.variant="compact"}else{this.variant="default"}}};this.resizeObserverCallback=()=>{this.getChildren();this.checkStepTitles();this.overrideVariant();this.setStepperWidth();this.initialiseStepStates();this.handleThemeChange()};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{this.resizeObserverCallback()}));this.resizeObserver.observe(this.el)}}handleThemeChange(){this.getChildren();this.steps.forEach((i=>{i.theme=this.theme}))}handlePropChange(){this.setHideStepInfo();this.getChildren()}disconnectedCallback(){if(this.resizeObserver!==null){this.resizeObserver.disconnect()}}componentWillLoad(){this.setStepTypes();this.handleThemeChange();if(this.variant==="compact"){this.variantOverride=false}}componentWillRender(){this.initialiseStepStates()}componentDidLoad(){l(this.runResizeObserver)}render(){return t(s,{key:"82128e652194f8c19692211d4170bab0651112c6",class:{[`ic-stepper-${this.variant}`]:true,["ic-stepper-aligned-left"]:this.variant==="default"&&this.aligned==="left",[`ic-theme-${this.theme}`]:this.theme!=="inherit"}},t("ul",{key:"887be84fa976e8aae0bc1fd659781f4650543725",class:"step-item-list"},t("slot",{key:"09dfecb16ef10d0920e0b781befed025e16af13c"})))}get el(){return e(this)}static get watchers(){return{theme:["handleThemeChange"],hideStepInfo:["handlePropChange"],variant:["handlePropChange"]}}};n.style=o;export{n as ic_stepper};
2
- //# sourceMappingURL=p-0549305b.entry.js.map
1
+ import{r as i,h as t,H as s,g as e}from"./p-8e4e97b4.js";import{p as h,h as l}from"./p-25007ec9.js";const a=":host{display:flex;width:100%}.step-item-list{display:flex;margin:0;padding:0}:host(.ic-stepper-default:not(.ic-stepper-aligned-left)) .step-item-list{flex:auto}:host(.ic-stepper-compact) ul ::slotted(ic-step){display:none}:host(.ic-stepper-compact) ul ::slotted(ic-step.show){display:flex}:host(.ic-stepper-compact) ul ::slotted(ic-step.hide){display:none;opacity:0;visibility:hidden}";const d=a;const o=class{constructor(t){i(this,t);var s;this.resizeObserver=null;this.visuallyHidden="visually-hidden";this.alignedFullWidth=true;this.autoSetStepTitles=true;this.lastStepWidth=0;this.noOfResizes=0;this.stepperWidth=(s=document.querySelector("ic-stepper"))===null||s===void 0?void 0:s.getBoundingClientRect().width;this.stepTypes=[];this.variantOverride=this.variant!=="compact";this.aligned="full-width";this.connectorWidth=100;this.hideStepInfo=false;this.theme="inherit";this.variant="default";this.getChildren=()=>{this.steps=Array.from(this.el.querySelectorAll("ic-step"));this.stepsWithStepTitles=Array.from(this.el.querySelectorAll("ic-step[heading]"))};this.checkStepTitles=()=>{if(this.stepsWithStepTitles.length<this.steps.length&&this.variantOverride&&this.variant==="compact"){this.noOfResizes=this.noOfResizes+1;if(this.noOfResizes===1){console.error(`The prop 'heading' is required for all steps of the Stepper component (compact variant)`)}}};this.setStepTypes=()=>{this.getChildren();this.stepTypes=[];for(let i=0;i<this.steps.length;i++){this.stepTypes.push("active")}};this.setStepperWidth=()=>{this.alignedFullWidth=this.variant==="default"&&this.aligned==="full-width";const i=this.steps[this.steps.length-1];i.style.maxWidth="none";if(this.alignedFullWidth){this.stepperWidth=this.el.offsetWidth;i.style.maxWidth=h(`${this.stepperWidth/this.steps.length}px`);this.lastStepWidth=i.offsetWidth}};this.initialiseStepStates=()=>{this.steps.forEach(((i,t)=>{var s,e,l;i.variant=this.variant;i.stepNum=t+1;i.lastStep=t===this.steps.length-1;i.lastStepNum=this.steps.length;if(i.type!=="current"){i.current=false;this.stepTypes[t]=i.type}else{i.current=true}const a=i.shadowRoot&&i.shadowRoot.querySelector(".step > .heading-area");if(this.stepsWithStepTitles.length==0&&this.variantOverride){if(this.variant==="compact"){this.autoSetStepTitles=true;if(this.autoSetStepTitles){i.heading="Step "+i.stepNum;a&&((s=a===null||a===void 0?void 0:a.querySelector(".heading"))===null||s===void 0?void 0:s.setAttribute("aria-hidden","true"))}}if(this.variant==="default"){this.autoSetStepTitles=false;if(!this.autoSetStepTitles){i.heading=undefined;a&&((e=a===null||a===void 0?void 0:a.querySelector(".heading"))===null||e===void 0?void 0:e.removeAttribute("aria-hidden"))}}}if(this.variant==="compact"){if(i.current===true||i.type==="current"){i.classList.remove("hide");i.classList.add("show")}else if(i.classList.contains("show")){i.classList.remove("show");i.classList.add("hide")}if(!i.lastStep){i.nextStepHeading=this.steps[t+1].heading;i.progress=i.stepNum/this.steps.length*100}else if(i.lastStep&&this.stepTypes[t]!=="completed"){i.progress=95}else{i.progress=100}if(this.hideStepInfo&&a!==null){a.classList.remove(this.visuallyHidden)}i.compactStepStyling=this.stepTypes[t]}if(this.variant==="default"){if(!i.lastStep){if(this.alignedFullWidth&&this.stepperWidth!==undefined){i.style.width=h(`${(this.stepperWidth-this.lastStepWidth)/(this.steps.length-1)}px`);i.style.minWidth=h("148px")}}else if(i.lastStep){i.classList.add("last-step");if(this.alignedFullWidth){i.style.maxWidth=`${this.lastStepWidth}px`}else if(this.connectorWidth){i.style.maxWidth=this.connectorWidth>100?h(`${this.connectorWidth+48}px`):h("148px")}}if(this.aligned==="left"&&this.connectorWidth){i.style.width=this.connectorWidth>100?h(`${this.connectorWidth+48}px`):h("148px");const t=(l=i.shadowRoot)===null||l===void 0?void 0:l.querySelector(".step > .step-top > .step-connect");if(t){t.style.width=this.connectorWidth>100?h(`${this.connectorWidth}px`):h("100px")}}if(this.hideStepInfo&&a!==null){a.classList.add(this.visuallyHidden)}}}))};this.setHideStepInfo=()=>{this.steps.forEach((i=>{var t,s,e;const h=(t=i.shadowRoot)===null||t===void 0?void 0:t.querySelector(".step > .heading-area");if(h){if(this.hideStepInfo){(s=h.classList)===null||s===void 0?void 0:s.add(this.visuallyHidden)}else{(e=h.classList)===null||e===void 0?void 0:e.remove(this.visuallyHidden)}}}))};this.overrideVariant=()=>{if(this.variantOverride){let i=148*this.steps.length;if(this.aligned==="left"&&this.connectorWidth&&this.connectorWidth>100){i=(this.connectorWidth+48)*this.steps.length}if(this.el.clientWidth<i){this.variant="compact"}else{this.variant="default"}}};this.resizeObserverCallback=()=>{this.getChildren();this.checkStepTitles();this.overrideVariant();this.setStepperWidth();this.initialiseStepStates();this.handleThemeChange()};this.runResizeObserver=()=>{this.resizeObserver=new ResizeObserver((()=>{this.resizeObserverCallback()}));this.resizeObserver.observe(this.el)}}handleThemeChange(){this.getChildren();this.steps.forEach((i=>{i.theme=this.theme}))}handlePropChange(){this.setHideStepInfo();this.getChildren()}disconnectedCallback(){if(this.resizeObserver!==null){this.resizeObserver.disconnect()}}componentWillLoad(){this.setStepTypes();this.handleThemeChange();if(this.variant==="compact"){this.variantOverride=false}}componentWillRender(){this.initialiseStepStates()}componentDidLoad(){l(this.runResizeObserver)}render(){return t(s,{key:"a4b87028ee91e542fd7d2b66689e8fabe33a9358",class:{[`ic-stepper-${this.variant}`]:true,["ic-stepper-aligned-left"]:this.variant==="default"&&this.aligned==="left",[`ic-theme-${this.theme}`]:this.theme!=="inherit"}},t("ul",{key:"65236609f6b2109bba5bbb88d084f9fd4e88d48a",class:"step-item-list"},t("slot",{key:"2b542740488d922dca26cabda564db76de1ffd82"})))}get el(){return e(this)}static get watchers(){return{theme:["handleThemeChange"],hideStepInfo:["handlePropChange"],variant:["handlePropChange"]}}};o.style=d;export{o as ic_stepper};
2
+ //# sourceMappingURL=p-3e5d7a3d.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as i,c as t,h as e,H as o,g as n}from"./p-8e4e97b4.js";import{D as a,g as s,f as r,A as d}from"./p-25007ec9.js";import{C as h}from"./p-3b185c32.js";const c='/*! 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)}';const u=c;const p="ic-navigation-item";const l=100;const g="IC-NAVIGATION-GROUP";const v=class{constructor(o){i(this,o);this.navigationGroupOpened=t(this,"navigationGroupOpened",7);this.navigationGroupExpanded=t(this,"navigationGroupExpanded",7);this.allGroupedNavigationItemHeights="";this.collapsedNavItemsHeight=null;this.expandedNavItemsHeight=null;this.mouseGate=false;this.deviceSize=a.XL;this.dropdownOpen=false;this.focusStyle=s();this.inTopNavSideMenu=false;this.isSideNavExpanded=false;this.expandable=false;this.expanded=true;this.theme="inherit";this.sideNavExpandHandler=i=>{this.isSideNavExpanded=i.detail.sideNavExpanded;if(!this.linkWrapper||!this.expanded)return;const t=this.isSideNavExpanded?this.expandedNavItemsHeight:this.collapsedNavItemsHeight;if(t){this.setGroupedLinksElementHeight(t)}else{setTimeout((()=>{if(this.isSideNavExpanded){this.expandedNavItemsHeight=this.allGroupedNavigationItemHeights}else{this.collapsedNavItemsHeight=this.allGroupedNavigationItemHeights}this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights)}),l)}};this.topNavResizedHandler=({detail:{size:i}})=>{var t;if(i===this.deviceSize)return;this.deviceSize=i;this.inTopNavSideMenu=i<=(((t=this.parentEl)===null||t===void 0?void 0:t.customMobileBreakpoint)||a.L)};this.toggleExpanded=()=>{this.expanded=!this.expanded;if(!this.linkWrapper)return;this.setGroupedLinksElementHeight(!this.expanded?"0":this.isSideNavExpanded?this.expandedNavItemsHeight:this.collapsedNavItemsHeight);this.el.querySelectorAll(p).forEach((i=>{var t;const e=((t=i.shadowRoot)===null||t===void 0?void 0:t.querySelector("a"))||i.querySelector("a");e===null||e===void 0?void 0:e.setAttribute("tabindex",this.expanded?"0":"-1")}))};this.handleClick=i=>{if(this.navigationType==="top"&&i.detail){this.toggleDropdown()}else{this.toggleExpanded()}};this.handleBlur=i=>{if(!this.el.contains(i.relatedTarget)){this.hideDropdown()}};this.handleKeydown=i=>{const{key:t}=i;if(t!=="Enter"&&t!==" "&&t!=="Escape")return;switch(this.navigationType){case"top":if(t===" "||t==="Enter"){this.toggleDropdown()}else if(!this.inTopNavSideMenu){this.hideDropdown()}break;case"side":this.toggleExpanded();i.preventDefault();break;default:this.toggleExpanded();break}};this.handleMouseLeave=i=>{const t=i.relatedTarget;this.mouseGate=false;if(this.el.contains(t)||t===this.dropdown||this.el.contains(document.activeElement))return;if(document.activeElement!==this.el&&(t===null||t===void 0?void 0:t.nodeName)===g&&this.dropdownOpen){this.mouseGate=true;this.hideDropdown()}else{this.mouseGate=false;setTimeout((()=>{this.dropdownOpen?this.hideDropdown():null}),500)}};this.handleMouseEnter=i=>{const t=i.relatedTarget;document.addEventListener("keydown",this.handleKeydown);if((t===null||t===void 0?void 0:t.nodeName)===g&&this.mouseGate){this.showDropdown()}else if(!this.dropdownOpen&&!this.mouseGate){this.mouseGate=true;setTimeout((()=>{if(this.mouseGate)this.showDropdown()}),500)}};this.renderGroupTitleText=()=>e("ic-typography",{id:"nav-group-title",variant:this.navigationType==="side"?"caption":"label"},this.label);this.renderNavigationItems=()=>{if(this.dropdownOpen||this.inTopNavSideMenu&&!this.expandable){return e("div",{class:{[this.inTopNavSideMenu?"navigation-group-dropdown-side-menu":"navigation-group-dropdown"]:true,selected:this.dropdownOpen&&!this.inTopNavSideMenu},onMouseLeave:!this.inTopNavSideMenu?this.handleMouseLeave:undefined,ref:i=>this.dropdown=i},e("nav",{class:{"navigation-group-dropdown-items":!this.inTopNavSideMenu},"aria-labelledby":"nav-group-title"},e("ul",null,e("slot",null))))}if(this.navigationType!=="top"){return e("ul",{ref:i=>this.linkWrapper=i,class:"grouped-links-wrapper"},e("slot",null))}return null};this.setGroupedLinksElementHeight=i=>{var t;(t=this.linkWrapper)===null||t===void 0?void 0:t.style.setProperty("--navigation-child-items-height",i)}}disconnectedCallback(){var i,t;if(this.navigationType==="side"){(i=this.parentEl)===null||i===void 0?void 0:i.removeEventListener("icSideNavExpanded",this.sideNavExpandHandler)}else if(this.navigationType==="top"){(t=this.parentEl)===null||t===void 0?void 0:t.removeEventListener("icTopNavResized",this.topNavResizedHandler)}}componentWillLoad(){var i,t;this.deviceSize=r();const{navType:e,parent:o}=d(this.el);this.navigationType=e;this.parentEl=o;if(this.navigationType==="side"){(i=this.parentEl)===null||i===void 0?void 0:i.addEventListener("icSideNavExpanded",this.sideNavExpandHandler)}else if(this.navigationType==="top"){(t=this.parentEl)===null||t===void 0?void 0:t.addEventListener("icTopNavResized",this.topNavResizedHandler);if(this.deviceSize<=this.parentEl.customMobileBreakpoint)this.inTopNavSideMenu=true}}componentDidLoad(){this.allGroupedNavigationItemHeights=`${Array.from(this.el.querySelectorAll(p)).reduce(((i,{offsetHeight:t})=>i+t),0)}px`;setTimeout((()=>{if(!this.linkWrapper||!this.expanded)return;if(!this.isSideNavExpanded)this.collapsedNavItemsHeight=this.allGroupedNavigationItemHeights;else this.expandedNavItemsHeight=this.allGroupedNavigationItemHeights;this.setGroupedLinksElementHeight(this.allGroupedNavigationItemHeights)}),l)}childBlurHandler(){this.hideDropdown()}handleNavigationGroupOpened(i){if(i.detail.source!==this.el){this.hideDropdown()}}navItemClickHandler(){this.hideDropdown()}brandChangeHandler(i){this.focusStyle=i.detail.mode}async setFocus(){var i;(i=this.groupEl)===null||i===void 0?void 0:i.focus()}toggleDropdown(){this.dropdownOpen=!this.dropdownOpen;if(this.inTopNavSideMenu){this.navigationGroupExpanded.emit({expanded:this.dropdownOpen})}}showDropdown(){if(!this.dropdownOpen){this.navigationGroupOpened.emit({source:this.el});this.toggleDropdown()}}hideDropdown(){document.removeEventListener("keydown",this.handleKeydown);if(this.dropdownOpen){this.toggleDropdown()}}render(){const{dropdownOpen:i,expanded:t,inTopNavSideMenu:n,expandable:a,theme:s,isSideNavExpanded:r,focusStyle:d}=this;const c=i=>i?"expanded":"collapsed";const u={"navigation-group":true,[d]:!n,[`navigation-group-side-menu-${c(i)}`]:n&&a,selected:i&&!n};const p=this.navigationType==="side";const l=this.navigationType==="top";const g=!n&&l;const v=p&&t||l&&i;return e(o,{key:"70872453ddb1b66747a517e4757ef0d5fbb6337c",class:{"in-side-menu":n,"ic-navigation-group-expandable":a,"ic-navigation-group-side-nav":p,[`ic-navigation-group-${c(t)}`]:true,[`ic-theme-${s}`]:s!=="inherit"},role:"listitem"},a||g?e("button",{onMouseEnter:g?this.handleMouseEnter:undefined,onMouseLeave:l?this.handleMouseLeave:undefined,onBlur:this.handleBlur,onClick:this.handleClick,onKeyDown:this.handleKeydown,class:u,ref:i=>this.groupEl=i,"aria-expanded":`${v}`,"aria-haspopup":`${g}`},this.renderGroupTitleText(),p&&a&&e("div",{class:{"chevron-toggle-icon-wrapper":true,"chevron-toggle-icon-closed":!!t},innerHTML:h})):(!p||r)&&e("div",{class:u},this.renderGroupTitleText()),this.renderNavigationItems())}static get delegatesFocus(){return true}get el(){return n(this)}};v.style=u;export{v as ic_navigation_group};
2
+ //# sourceMappingURL=p-41ef74a7.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icNavigationGroupCss","IcNavigationGroupStyle0","IC_NAVIGATION_ITEM","DYNAMIC_GROUPED_LINKS_HEIGHT_MS","NODE_NAME","NavigationGroup","constructor","hostRef","this","allGroupedNavigationItemHeights","collapsedNavItemsHeight","expandedNavItemsHeight","mouseGate","deviceSize","DEVICE_SIZES","XL","dropdownOpen","focusStyle","getBrandForegroundAppearance","inTopNavSideMenu","isSideNavExpanded","expandable","expanded","theme","sideNavExpandHandler","event","detail","sideNavExpanded","linkWrapper","navItemsHeight","setGroupedLinksElementHeight","setTimeout","topNavResizedHandler","size","_a","parentEl","customMobileBreakpoint","L","toggleExpanded","el","querySelectorAll","forEach","navigationItem","navItem","shadowRoot","querySelector","setAttribute","handleClick","ev","navigationType","toggleDropdown","handleBlur","contains","relatedTarget","hideDropdown","handleKeydown","key","preventDefault","handleMouseLeave","relTarget","dropdown","document","activeElement","nodeName","handleMouseEnter","addEventListener","showDropdown","renderGroupTitleText","h","id","variant","label","renderNavigationItems","class","selected","onMouseLeave","undefined","ref","height","style","setProperty","disconnectedCallback","removeEventListener","_b","componentWillLoad","getCurrentDeviceSize","navType","parent","getNavItemParentDetails","componentDidLoad","Array","from","reduce","childrenHeights","offsetHeight","childBlurHandler","handleNavigationGroupOpened","source","navItemClickHandler","brandChangeHandler","mode","setFocus","groupEl","focus","navigationGroupExpanded","emit","navigationGroupOpened","render","getExpandedClassSuffix","prop","navGroupTitleClassNames","isSideNav","isTopNav","isTopNavDesktop","ariaExpanded","Host","role","onMouseEnter","onBlur","onClick","onKeyDown","innerHTML","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"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as o,c as t,h as r,H as e}from"./p-8e4e97b4.js";import{O as s,P as i,W as a,c as h,g as c}from"./p-70abcb2b.js";const n=class{constructor(r){o(this,r);this.brandChange=t(this,"brandChange",7);this.icThemeChange=t(this,"icThemeChange",7);this.themeClass="";this.brandColor=null;this.theme="light";this.darkModeChangeHandler=()=>{if(this.theme==="system"){this.themeClass=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"ic-theme-dark":"ic-theme-light"}else{this.themeClass=`ic-theme-${this.theme}`}this.icThemeChange.emit(this.theme)};this.checkBrandColorContrast=()=>{if(s()<i&&s()>a){console.warn(`The brand colour does not provide enough contrast with either of the ICDS black or white foreground colours. Consider choosing a colour with a different brightness to achieve sufficient colour contrast for good visibility. See https://www.w3.org/TR/AERT/#color-contrast for more information about colour contrast.`)}};this.setBrandColor=()=>{const o=this.brandColor?h(this.brandColor):null;if(o){const{r:t,g:r,b:e,a:s}=o;const{style:i}=document.documentElement;i.setProperty("--ic-brand-color-primary-r",`${t}`);i.setProperty("--ic-brand-color-primary-g",`${r}`);i.setProperty("--ic-brand-color-primary-b",`${e}`);i.setProperty("--ic-brand-color-primary-a",`${s}`);this.checkBrandColorContrast();this.brandChange.emit({mode:c(),color:o})}}}watchBrandColorPropHandler(){this.setBrandColor()}watchThemePropHandler(){this.darkModeChangeHandler()}componentWillLoad(){this.darkModeChangeHandler();this.setBrandColor();window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",this.darkModeChangeHandler)}render(){const{themeClass:o}=this;return r(e,{key:"b49257f527c4a26eca25d04500d822785cba320b",class:o},r("slot",{key:"09782aca70372e6897e9032b66a166335778a6fe"}))}static get watchers(){return{brandColor:["watchBrandColorPropHandler"],theme:["watchThemePropHandler"]}}};export{n as ic_theme};
2
- //# sourceMappingURL=p-ae2ea264.entry.js.map
1
+ import{r as o,c as t,h as r,H as e}from"./p-8e4e97b4.js";import{O as s,P as i,W as a,d as c,g as h}from"./p-25007ec9.js";const n=class{constructor(r){o(this,r);this.brandChange=t(this,"brandChange",7);this.icThemeChange=t(this,"icThemeChange",7);this.themeClass="";this.brandColor=null;this.theme="light";this.darkModeChangeHandler=()=>{if(this.theme==="system"){this.themeClass=window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"ic-theme-dark":"ic-theme-light"}else{this.themeClass=`ic-theme-${this.theme}`}this.icThemeChange.emit(this.theme)};this.checkBrandColorContrast=()=>{if(s()<i&&s()>a){console.warn(`The brand colour does not provide enough contrast with either of the ICDS black or white foreground colours. Consider choosing a colour with a different brightness to achieve sufficient colour contrast for good visibility. See https://www.w3.org/TR/AERT/#color-contrast for more information about colour contrast.`)}};this.setBrandColor=()=>{const o=this.brandColor?c(this.brandColor):null;if(o){const{r:t,g:r,b:e,a:s}=o;const{style:i}=document.documentElement;i.setProperty("--ic-brand-color-primary-r",`${t}`);i.setProperty("--ic-brand-color-primary-g",`${r}`);i.setProperty("--ic-brand-color-primary-b",`${e}`);i.setProperty("--ic-brand-color-primary-a",`${s}`);this.checkBrandColorContrast();this.brandChange.emit({mode:h(),color:o})}}}watchBrandColorPropHandler(){this.setBrandColor()}watchThemePropHandler(){this.darkModeChangeHandler()}componentWillLoad(){this.darkModeChangeHandler();this.setBrandColor();window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").addEventListener("change",this.darkModeChangeHandler)}render(){const{themeClass:o}=this;return r(e,{key:"ee89cdd36cb4cb7e0589dfea2dd5a60b5de40041",class:o},r("slot",{key:"e7803bf5fc0974bfcf9a2a52cb5870254453a1bd"}))}static get watchers(){return{brandColor:["watchBrandColorPropHandler"],theme:["watchThemePropHandler"]}}};export{n as ic_theme};
2
+ //# sourceMappingURL=p-41f92698.entry.js.map
@@ -0,0 +1,2 @@
1
+ import{r as e,c as t,h as i,H as o,g as s}from"./p-8e4e97b4.js";import{u as n,e as a}from"./p-25007ec9.js";import{c as r}from"./p-68a5aaff.js";const l='/*! 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}@media (prefers-reduced-motion: no-preference){:host .opening-from-parent{animation:slide-in var(--ic-transition-duration-slow) ease-in-out}:host .opening-from-child{animation:slide-out var(--ic-transition-duration-slow) ease-in-out}}:host{border-radius:var(--ic-border-radius);color:var(--ic-popover-nav-text);--ic-typography-color:var(--ic-popover-nav-text);position:relative;z-index:var(--ic-z-index-popover);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay);display:none}:host(.on-dialog){inset:auto !important}:host(.on-dialog-fix-translate){transform:translate(0, var(--ic-space-xs)) !important}:host(.on-dialog-translate-y){transform:translate(0, calc(-1 * var(--translate-y))) !important}.menu{border:var(--ic-border-default);border-color:var(--ic-popover-border);border-radius:var(--ic-border-radius);background-color:var(--ic-popover-background);visibility:hidden;height:0;display:flex;flex-direction:column}:host(:focus-within){box-shadow:var(--ic-border-focus)}.menu:focus-visible{outline:none}:host(.ic-popover-menu-open){display:block;min-width:calc(20rem - var(--ic-space-xl));width:var(--popover-width, 20rem);max-width:calc(100vw - var(--ic-space-xl))}:host(.ic-popover-menu-open) .menu{visibility:visible;height:-moz-fit-content;height:fit-content;max-height:var(--max-height, -moz-fit-content);max-height:var(--max-height, fit-content);overflow-y:auto;overflow-x:hidden}.parent-label{--ic-typography-color:var(--ic-popover-parent-label);margin:var(--ic-space-xs) var(--ic-space-xs) 0}@keyframes slide-in{from{opacity:0;transform:translateX(10rem)}to{opacity:1;transform:translateX(0)}}@keyframes slide-out{from{opacity:0;transform:translateX(-10rem)}to{opacity:1;transform:translateX(0)}}';const c=l;const h="div.menu-body";const d=class{constructor(i){e(this,i);this.icPopoverClosed=t(this,"icPopoverClosed",7);this.ARIA_LABEL="aria-label";this.popoverMenuEls=[];this.openingFromChild=false;this.openingFromParent=false;this.popperProps={};this.fixedPositioning=false;this.submenuLevel=1;this.theme="inherit";this.open=undefined;this.setButtonFocus=()=>{var e;(e=this.popoverMenuEls[this.currentFocus])===null||e===void 0?void 0:e.focus()};this.findAnchorEl=e=>{let t=null;if(!e){this.submenuId===undefined&&console.error("No anchor specified for popover component")}else{t=document.querySelector(e.indexOf("#")===0?e:"#"+e);if(t===null){console.error(`Popover anchor element '${e}' not found`)}}return t};this.isNotPopoverMenuEl=e=>{const{id:t,tagName:i}=e.target;return t!==this.anchor&&i!=="IC-MENU-ITEM"&&i!=="IC-MENU-GROUP"&&i!=="IC-POPOVER-MENU"};this.getNextItemToSelect=(e,t)=>{const i=this.popoverMenuEls.length-1;if(e<1){e=0}let o=t?e+1:e-1;if(o<0){o=i}else if(o>i){o=0}return o};this.addMenuItems=e=>{var t;for(let i=0;i<e.length;i++){const o=e[i];if(o.tagName==="IC-MENU-ITEM"){this.popoverMenuEls.push(o)}else if(o.tagName==="IC-MENU-GROUP"){const e=(t=o.shadowRoot)===null||t===void 0?void 0:t.querySelector(".menu-items-wrapper");if(e){const t=n(e);t&&this.addMenuItems(t)}}}};this.getMenuAriaLabel=()=>{const e=this.el.getAttribute(this.ARIA_LABEL);if(a(this.submenuId)){return`${e}, within nested level ${this.submenuLevel} ${this.parentLabel} submenu,`}else{return e}};this.handleBackButtonClick=()=>{var e;(e=this.parentPopover)===null||e===void 0?void 0:e.openFromChild();this.open=false};this.initPopperJS=()=>{if(this.anchorEl){this.popperInstance=r(this.anchorEl,this.el,Object.assign({strategy:this.fixedPositioning?"fixed":"absolute",placement:"bottom-start",modifiers:[{name:"offset",options:{offset:[0,4]}},{name:"flip",options:{fallbackPlacements:["top-start","top-end","bottom-end"],rootBoundary:"viewport"}}]},this.popperProps))}}}watchOpenHandler(){var e;const t=(e=this.el.parentElement)===null||e===void 0?void 0:e.querySelectorAll(`ic-popover-menu`);if(this.open){if(t.length>0){t.forEach((e=>{if(e!==this.el){e.open=false}}))}if(this.parentPopover!==undefined&&!this.popoverMenuEls.some((e=>e.id))){this.backButton&&this.popoverMenuEls.unshift(this.backButton)}this.currentFocus=0;setTimeout(this.setButtonFocus,50)}else if(this.popperInstance){if(t.length>0){t.forEach((e=>{if(e!==this.el){e.open=false}}))}this.popperInstance.destroy();this.popperInstance=null}}disconnectedCallback(){if(this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}}componentDidLoad(){var e;const t=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(h);if(t){const e=n(t);if(e!==null){this.addMenuItems(e)}}if(this.submenuId===undefined&&this.el.getAttribute(this.ARIA_LABEL)===null){console.error(`No aria-label specified for popover menu component - aria-label required`)}this.watchOpenHandler()}componentWillRender(){this.anchorEl=this.findAnchorEl(this.anchor)}componentDidRender(){if(this.open&&!this.popperInstance){this.initPopperJS()}}handleMenuItemClick(e){if(!e.detail.submenuTriggerFor&&e.detail.label!=="Back"){this.closeMenu(false,e.detail)}}handleSubmenuChange(e){const t=e.target;this.open=false;const i=document.querySelector(`ic-popover-menu[submenu-id=${t.submenuTriggerFor}]`);i.parentPopover=this.el;i.anchor=this.anchor;i.ariaLabel=this.el.getAttribute(this.ARIA_LABEL);i.openFromParent();i.submenuLevel=this.submenuLevel+1;i.parentLabel=t.label}handleClick(e){if(this.open&&this.isNotPopoverMenuEl(e)){this.closeMenu()}}handleKeyDown(e){switch(e.key){case"ArrowDown":case"ArrowUp":e.preventDefault();this.currentFocus=this.getNextItemToSelect(this.currentFocus,e.key==="ArrowDown");this.setButtonFocus();break;case"Home":this.currentFocus=0;this.setButtonFocus();break;case"End":this.currentFocus=this.popoverMenuEls.length-1;this.setButtonFocus();break;case"Escape":case"Tab":e.preventDefault();if(this.open){this.closeMenu(true);this.el.blur()}break}}async openFromChild(){this.open=true;this.openingFromChild=true;setTimeout((()=>this.openingFromChild=false),1e3)}async openFromParent(){this.open=true;this.openingFromParent=true;setTimeout((()=>this.openingFromParent=false),1e3)}async closeMenu(e=false,t){var i;this.open=false;if(this.parentPopover){this.parentPopover.closeMenu(e,t)}else{if(e){(i=this.anchorEl)===null||i===void 0?void 0:i.focus()}this.icPopoverClosed.emit(t)}}async setExternalPopperProps(e){this.popperProps=e}render(){return i(o,{key:"5ffa8a51af3508448af45892be2854e7caadfc1d",class:{["ic-popover-menu-open"]:!!this.open,[`ic-theme-${this.theme}`]:this.theme!=="inherit"}},i("div",{key:"c3160d601be3e64a081da71a369e5c91258000ae",id:this.parentPopover===undefined?`ic-popover-submenu-${this.submenuId}`:"",class:{menu:true}},i("span",{key:"ae7a23ecfc8d5bba00f00e921292d227be204de4",class:{"opening-from-parent":this.openingFromParent,"opening-from-child":this.openingFromChild}},a(this.submenuId)&&i("span",{key:"003ba26d863d718db5b8b6d2ff54710e02eb7677"},i("span",{key:"4db795ec37a6ac82956e483bb2bf5a73961377e5",role:"menu"},i("ic-menu-item",{key:"a102e3c94bb5ba26c8f37c1948230f5dd2bd2c5a",class:"ic-popover-submenu-back-button",ref:e=>this.backButton=e,label:"Back",onClick:this.handleBackButtonClick,id:`ic-popover-submenu-back-button-${this.submenuLevel}`},i("svg",{key:"e97bd20445b09d2ba20bfbf9a6808a9e925b1c39",slot:"icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:"submenu-back-icon"},i("path",{key:"1e8b35769c14f03ee11c26250f84d0dc23963dc0",d:"M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z",fill:"currentColor"})))),i("ic-typography",{key:"cfbbf43ec26066f7aa1879baf0ef4c8705248bcb",variant:"subtitle-small",class:"parent-label"},this.parentLabel)),i("div",{key:"54ac1fa4283a77f2678a21e2869be48db726aa09",class:"menu-body","aria-label":this.getMenuAriaLabel(),role:"menu"},i("slot",{key:"986dfbed5c2337812f4ac529910240cfc4ffe216"})))))}static get delegatesFocus(){return true}get el(){return s(this)}static get watchers(){return{open:["watchOpenHandler"]}}};d.style=c;export{d as ic_popover_menu};
2
+ //# sourceMappingURL=p-43324339.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["icPopoverMenuCss","IcPopoverMenuStyle0","MENU_SELECTOR","PopoverMenu","constructor","hostRef","this","ARIA_LABEL","popoverMenuEls","openingFromChild","openingFromParent","popperProps","fixedPositioning","submenuLevel","theme","open","undefined","setButtonFocus","_a","currentFocus","focus","findAnchorEl","anchor","anchorElement","submenuId","console","error","document","querySelector","indexOf","isNotPopoverMenuEl","ev","id","tagName","target","getNextItemToSelect","currentItem","movingDown","numButtons","length","nextItem","addMenuItems","elements","i","el","push","groupSlotWrapper","shadowRoot","menuGroupElements","getSlotElements","getMenuAriaLabel","ariaLabel","getAttribute","isPropDefined","parentLabel","handleBackButtonClick","parentPopover","openFromChild","initPopperJS","anchorEl","popperInstance","createPopper","Object","assign","strategy","placement","modifiers","name","options","offset","fallbackPlacements","rootBoundary","watchOpenHandler","popoverArr","parentElement","querySelectorAll","forEach","popover","some","menuItem","backButton","unshift","setTimeout","destroy","disconnectedCallback","componentDidLoad","slotWrapper","popoverMenuElements","componentWillRender","componentDidRender","handleMenuItemClick","detail","submenuTriggerFor","label","closeMenu","handleSubmenuChange","childEl","openFromParent","handleClick","handleKeyDown","key","preventDefault","blur","setFocusToAnchor","menuElement","icPopoverClosed","emit","setExternalPopperProps","props","render","h","Host","class","menu","role","ref","onClick","slot","viewBox","fill","xmlns","d","variant"],"sources":["src/components/ic-popover-menu/ic-popover-menu.css?tag=ic-popover-menu&encapsulation=shadow","src/components/ic-popover-menu/ic-popover-menu.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n* @prop --ic-z-index-popover: z-index of popover menu. \n* @prop --max-height: Maximum height of the popover menu.\n* @prop --popover-width: Default width of the popover menu.\n*/\n\n@media (prefers-reduced-motion: no-preference) {\n :host .opening-from-parent {\n animation: slide-in var(--ic-transition-duration-slow) ease-in-out;\n }\n\n :host .opening-from-child {\n animation: slide-out var(--ic-transition-duration-slow) ease-in-out;\n }\n}\n\n:host {\n border-radius: var(--ic-border-radius);\n color: var(--ic-popover-nav-text);\n\n --ic-typography-color: var(--ic-popover-nav-text);\n\n position: relative;\n z-index: var(--ic-z-index-popover);\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n display: none;\n}\n\n:host(.on-dialog) {\n inset: auto !important;\n}\n\n:host(.on-dialog-fix-translate) {\n transform: translate(0, var(--ic-space-xs)) !important;\n}\n\n:host(.on-dialog-translate-y) {\n transform: translate(0, calc(-1 * var(--translate-y))) !important;\n}\n\n.menu {\n border: var(--ic-border-default);\n border-color: var(--ic-popover-border);\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-popover-background);\n visibility: hidden;\n height: 0;\n display: flex;\n flex-direction: column;\n}\n\n:host(:focus-within) {\n box-shadow: var(--ic-border-focus);\n}\n\n.menu:focus-visible {\n outline: none;\n}\n\n:host(.ic-popover-menu-open) {\n display: block;\n min-width: calc(20rem - var(--ic-space-xl));\n width: var(--popover-width, 20rem);\n max-width: calc(100vw - var(--ic-space-xl));\n}\n\n:host(.ic-popover-menu-open) .menu {\n visibility: visible;\n height: fit-content;\n max-height: var(--max-height, fit-content);\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.parent-label {\n --ic-typography-color: var(--ic-popover-parent-label);\n\n margin: var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n@keyframes slide-in {\n from {\n opacity: 0;\n transform: translateX(10rem);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n@keyframes slide-out {\n from {\n opacity: 0;\n transform: translateX(-10rem);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n","import {\n Component,\n Element,\n Host,\n h,\n Prop,\n Listen,\n Watch,\n State,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\nimport { getSlotElements, isPropDefined } from \"../../utils/helpers\";\nimport {\n createPopper,\n Instance as PopperInstance,\n Options,\n} from \"@popperjs/core\";\nimport { IcThemeMode } from \"../../utils/types\";\n\nconst MENU_SELECTOR = \"div.menu-body\";\n\n@Component({\n tag: \"ic-popover-menu\",\n styleUrl: \"ic-popover-menu.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class PopoverMenu {\n private anchorEl: HTMLElement | null;\n private ARIA_LABEL: string = \"aria-label\";\n private backButton?: HTMLIcMenuItemElement;\n private currentFocus: number;\n private popoverMenuEls: HTMLIcMenuItemElement[] = [];\n private popperInstance: PopperInstance | null;\n\n @Element() el: HTMLIcPopoverMenuElement;\n\n @State() openingFromChild: boolean = false;\n @State() openingFromParent: boolean = false;\n @State() popperProps: Partial<Options> = {};\n\n /**\n * The ID of the element the popover menu will anchor itself to. This is required unless the popover is a submenu.\n */\n @Prop() anchor?: string;\n\n /**\n * Setting to `true` can help in situations where tooltip content is clipped by a parent element.\n */\n @Prop() fixedPositioning: boolean = false;\n\n /**\n * @internal The parent popover menu of a child popover menu.\n */\n @Prop() parentLabel?: string;\n\n /**\n * @internal The parent popover menu of a child popover menu.\n */\n @Prop() parentPopover?: HTMLIcPopoverMenuElement;\n\n /**\n * The unique identifier for a popover submenu.\n */\n @Prop() submenuId?: string;\n\n /**\n * @internal The level of menu being displayed.\n */\n @Prop() submenuLevel?: number = 1;\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 * If `true`, the popover menu will be displayed.\n */\n @Prop({ reflect: true, mutable: true }) open?: boolean | undefined =\n undefined;\n\n @Watch(\"open\")\n watchOpenHandler(): void {\n const popoverArr = this.el.parentElement?.querySelectorAll(\n `ic-popover-menu`\n ) as NodeListOf<HTMLIcPopoverMenuElement>;\n if (this.open) {\n if (popoverArr.length > 0) {\n popoverArr.forEach((popover) => {\n if (popover !== this.el) {\n popover.open = false;\n }\n });\n }\n if (\n this.parentPopover !== undefined &&\n !this.popoverMenuEls.some((menuItem) => menuItem.id)\n ) {\n this.backButton && this.popoverMenuEls.unshift(this.backButton);\n }\n\n this.currentFocus = 0;\n // Needed so that anchorEl isn't always focused\n setTimeout(this.setButtonFocus, 50);\n } else if (this.popperInstance) {\n if (popoverArr.length > 0) {\n popoverArr.forEach((popover) => {\n if (popover !== this.el) {\n popover.open = false;\n }\n });\n }\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n /**\n * Emitted when the popover menu is closed.\n */\n @Event() icPopoverClosed: EventEmitter<HTMLIcMenuItemElement>;\n\n disconnectedCallback(): void {\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n componentDidLoad(): void {\n const slotWrapper = this.el.shadowRoot?.querySelector(MENU_SELECTOR);\n if (slotWrapper) {\n const popoverMenuElements = getSlotElements(slotWrapper);\n\n if (popoverMenuElements !== null) {\n this.addMenuItems(popoverMenuElements);\n }\n }\n\n if (\n this.submenuId === undefined &&\n this.el.getAttribute(this.ARIA_LABEL) === null\n ) {\n console.error(\n `No aria-label specified for popover menu component - aria-label required`\n );\n }\n\n this.watchOpenHandler();\n }\n\n componentWillRender(): void {\n this.anchorEl = this.findAnchorEl(this.anchor);\n }\n\n componentDidRender(): void {\n if (this.open && !this.popperInstance) {\n this.initPopperJS();\n }\n }\n\n @Listen(\"handleMenuItemClick\")\n handleMenuItemClick(ev: CustomEvent<HTMLIcMenuItemElement>): void {\n if (!ev.detail.submenuTriggerFor && ev.detail.label !== \"Back\") {\n this.closeMenu(false, ev.detail);\n }\n }\n\n // This is listening for the event emitted when a menu item is acting as a trigger button\n @Listen(\"triggerPopoverMenuInstance\", { capture: true })\n handleSubmenuChange(ev: Event): void {\n // Finds the trigger menu item that has emitted the event\n const target = ev.target as HTMLIcMenuItemElement;\n this.open = false;\n\n // Find the popover menu that the menu item triggers (i.e. submenu-trigger-for === submenu-id).\n const childEl = document.querySelector(\n `ic-popover-menu[submenu-id=${target.submenuTriggerFor}]`\n ) as HTMLIcPopoverMenuElement;\n // Set the parent popover menu of the submenu and open the submenu\n childEl.parentPopover = this.el;\n childEl.anchor = this.anchor;\n childEl.ariaLabel = this.el.getAttribute(this.ARIA_LABEL);\n childEl.openFromParent();\n childEl.submenuLevel = this.submenuLevel! + 1;\n // Set the label in the submenu using the label of the menu item that has emitted the event\n childEl.parentLabel = target.label;\n }\n\n @Listen(\"click\", { target: \"document\" })\n handleClick(ev: Event): void {\n if (this.open && this.isNotPopoverMenuEl(ev)) {\n // If menu is open and the next click on the document is not a popover El, close the popover\n this.closeMenu();\n }\n }\n\n // Manages the keyboard navigation in the popover menu\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n switch (ev.key) {\n case \"ArrowDown\":\n case \"ArrowUp\":\n ev.preventDefault();\n this.currentFocus = this.getNextItemToSelect(\n this.currentFocus,\n ev.key === \"ArrowDown\"\n );\n this.setButtonFocus();\n break;\n case \"Home\":\n //Sets home focus as first element, or back button\n this.currentFocus = 0;\n this.setButtonFocus();\n break;\n case \"End\":\n //Sets end focus as last element\n this.currentFocus = this.popoverMenuEls.length - 1;\n this.setButtonFocus();\n break;\n case \"Escape\":\n case \"Tab\":\n ev.preventDefault();\n if (this.open) {\n this.closeMenu(true);\n this.el.blur();\n }\n break;\n }\n }\n\n /**\n * @internal Opens the menu from the child menu.\n */\n @Method()\n async openFromChild(): Promise<void> {\n this.open = true;\n this.openingFromChild = true;\n\n setTimeout(() => (this.openingFromChild = false), 1000);\n }\n\n /**\n * @internal Opens the menu from the parent menu.\n */\n @Method()\n async openFromParent(): Promise<void> {\n this.open = true;\n this.openingFromParent = true;\n\n setTimeout(() => (this.openingFromParent = false), 1000);\n }\n\n private setButtonFocus = () => {\n this.popoverMenuEls[this.currentFocus]?.focus();\n };\n\n // Checks that the popover menu has an anchor\n private findAnchorEl = (anchor: string | undefined): HTMLElement | null => {\n let anchorElement: HTMLElement | null = null;\n if (!anchor) {\n this.submenuId === undefined &&\n console.error(\"No anchor specified for popover component\");\n } else {\n anchorElement = document.querySelector(\n anchor.indexOf(\"#\") === 0 ? anchor : \"#\" + anchor\n );\n if (anchorElement === null) {\n console.error(`Popover anchor element '${anchor}' not found`);\n }\n }\n return anchorElement;\n };\n\n private isNotPopoverMenuEl = (ev: Event) => {\n const { id, tagName } = ev.target as HTMLElement;\n return (\n id !== this.anchor &&\n tagName !== \"IC-MENU-ITEM\" &&\n tagName !== \"IC-MENU-GROUP\" &&\n tagName !== \"IC-POPOVER-MENU\"\n );\n };\n\n /**\n * @internal Close the menu, emit icPopoverClosed of the root popover\n * @param setFocusToAnchor when true return focus to anchor element when menu is closed\n */\n @Method()\n async closeMenu(\n setFocusToAnchor = false,\n menuElement?: HTMLIcMenuItemElement\n ): Promise<void> {\n this.open = false;\n if (this.parentPopover) {\n this.parentPopover.closeMenu(setFocusToAnchor, menuElement);\n } else {\n if (setFocusToAnchor) {\n this.anchorEl?.focus();\n }\n this.icPopoverClosed.emit(menuElement);\n }\n }\n\n /**\n * @internal This method allows props to be added to the PopperJS createPopper instance outside of the popover menu\n * @param props object - createPopper props set externally\n */\n @Method()\n async setExternalPopperProps<T extends Partial<Options>>(props: T) {\n this.popperProps = props;\n }\n\n private getNextItemToSelect = (\n currentItem: number,\n movingDown: boolean\n ): number => {\n const numButtons = this.popoverMenuEls.length - 1;\n\n if (currentItem < 1) {\n currentItem = 0;\n }\n\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n\n // Check if wrap around necessary\n if (nextItem < 0) {\n nextItem = numButtons;\n } else if (nextItem > numButtons) {\n nextItem = 0;\n }\n\n return nextItem;\n };\n\n private addMenuItems = (elements: Element[] | NodeListOf<ChildNode>) => {\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i] as HTMLIcMenuItemElement;\n if (el.tagName === \"IC-MENU-ITEM\") {\n this.popoverMenuEls.push(el);\n } else if (el.tagName === \"IC-MENU-GROUP\") {\n const groupSlotWrapper = el.shadowRoot?.querySelector(\n \".menu-items-wrapper\"\n );\n if (groupSlotWrapper) {\n const menuGroupElements = getSlotElements(groupSlotWrapper);\n menuGroupElements && this.addMenuItems(menuGroupElements);\n }\n }\n }\n };\n\n private getMenuAriaLabel = (): string | null => {\n const ariaLabel = this.el.getAttribute(this.ARIA_LABEL);\n\n if (isPropDefined(this.submenuId)) {\n return `${ariaLabel}, within nested level ${this.submenuLevel} ${this.parentLabel} submenu,`;\n } else {\n return ariaLabel;\n }\n };\n\n private handleBackButtonClick = (): void => {\n this.parentPopover?.openFromChild();\n this.open = false;\n };\n\n private initPopperJS = () => {\n if (this.anchorEl) {\n this.popperInstance = createPopper(this.anchorEl, this.el, {\n strategy: this.fixedPositioning ? \"fixed\" : \"absolute\",\n placement: \"bottom-start\",\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 4],\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: [\"top-start\", \"top-end\", \"bottom-end\"],\n rootBoundary: \"viewport\",\n },\n },\n ],\n ...this.popperProps,\n });\n }\n };\n\n render() {\n return (\n <Host\n class={{\n [\"ic-popover-menu-open\"]: !!this.open,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n >\n <div\n id={\n this.parentPopover === undefined\n ? `ic-popover-submenu-${this.submenuId}`\n : \"\"\n }\n class={{\n menu: true,\n }}\n >\n <span\n class={{\n \"opening-from-parent\": this.openingFromParent,\n \"opening-from-child\": this.openingFromChild,\n }}\n >\n {isPropDefined(this.submenuId) && (\n <span>\n <span role=\"menu\">\n <ic-menu-item\n class=\"ic-popover-submenu-back-button\"\n ref={(el) => (this.backButton = el)}\n label=\"Back\"\n onClick={this.handleBackButtonClick}\n id={`ic-popover-submenu-back-button-${this.submenuLevel}`}\n >\n <svg\n slot=\"icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"submenu-back-icon\"\n >\n <path\n d=\"M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z\"\n fill=\"currentColor\"\n />\n </svg>\n </ic-menu-item>\n </span>\n <ic-typography variant=\"subtitle-small\" class=\"parent-label\">\n {this.parentLabel}\n </ic-typography>\n </span>\n )}\n <div\n class=\"menu-body\"\n aria-label={this.getMenuAriaLabel()}\n role=\"menu\"\n >\n <slot></slot>\n </div>\n </span>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,2 +1,2 @@
1
- import{r as t,c as i,h as s,g as h}from"./p-8e4e97b4.js";const e="context-id";const a=class{constructor(s){t(this,s);this.icTabSelect=i(this,"icTabSelect",3);this.newTabPanels=[];this.newTabs=[];this.activationType="automatic";this.contextId="default";this.monochrome=false;this.theme="inherit";this.linkTabs=()=>{this.tabs.forEach(((t,i)=>{const s=`ic-tab-${i}-context-${this.contextId}`;const h=`ic-tab-panel-${i}-context-${this.contextId}`;t.setAttribute("id",s);t.tabId=`ic-tab--${i}-context-${this.contextId}`;t.tabPosition=i;t.setAttribute("aria-controls",h);this.tabPanels[i].setAttribute("id",h);this.tabPanels[i].setAttribute("aria-labelledby",s);if(this.contextId){t.setAttribute(e,this.contextId);this.tabGroup&&this.tabGroup.setAttribute(e,this.contextId);this.tabPanels[i].setAttribute(e,this.contextId)}t.theme=this.theme;this.tabPanels[i].theme=this.theme;this.tabGroup&&(this.tabGroup.theme=this.theme)}))};this.getChildren=()=>{var t;this.tabGroup=this.el.querySelector("ic-tab-group");this.tabs=Array.from(((t=this.tabGroup)===null||t===void 0?void 0:t.querySelectorAll("ic-tab"))||[]);this.tabPanels=Array.from(this.el.children).filter((t=>t.tagName==="IC-TAB-PANEL"));this.enabledTabs=this.getEnabledTabs()};this.keydownHandler=t=>{const i=this.activationType==="manual";const s=this.enabledTabs.findIndex((t=>t.tabId===this.tabs[i?this.focusedTabIndex:this.selectedTab||0].tabId));const h=i?this.keyboardFocusTab:this.keyboardSelectTab;let e=true;switch(t.key){case"Home":h(0);break;case"End":h(this.enabledTabs.length-1);break;case"ArrowRight":h(s<this.enabledTabs.length-1?s+1:0);break;case"ArrowLeft":h((s>0?s:this.enabledTabs.length)-1);break;default:if(i&&(t.key==="Enter"||t.key===" ")){this.keyboardSelectTab(this.focusedTabIndex)}else{e=false}}if(e)t.preventDefault()};this.setInitialTab=()=>{if(this.selectedTabIndex!==undefined){this.selectedTab=this.selectedTabIndex;this.focusedTabIndex=this.selectedTabIndex}else{const t=this.tabs.findIndex((t=>t.tabId===this.enabledTabs[0].tabId));this.selectedTab=t;this.focusedTabIndex=t}};this.configureTabs=()=>{this.enabledTabs.forEach((t=>{t.selected=t.tabPosition===this.selectedTab}));this.tabPanels.forEach(((t,i)=>{t.active=i===this.selectedTab}))};this.getEnabledTabs=()=>Array.from(this.tabs).filter((t=>!t.disabled));this.keyboardSelectTab=t=>{var i,s;const h=this.tabs.findIndex((i=>i.tabId===this.enabledTabs[t].tabId));this.enabledTabs[t].focus();if(this.selectedTabIndex===undefined){this.selectedTab=h}else{this.icTabSelect.emit({tabIndex:h,tabLabel:((s=(i=this.el.querySelectorAll("ic-tab")[h])===null||i===void 0?void 0:i.textContent)===null||s===void 0?void 0:s.trim())||""})}};this.keyboardFocusTab=t=>{this.enabledTabs[t].focus();this.focusedTabIndex=this.tabs.findIndex((i=>i.tabId===this.enabledTabs[t].tabId))}}updateSelectedTab(t){this.selectedTab=t}watchMonochromeHandler(){this.tabs.forEach(((t,i)=>{t.monochrome=this.monochrome;this.tabPanels[i].monochrome=this.monochrome}));this.tabGroup&&(this.tabGroup.monochrome=this.monochrome)}watchThemeHandler(){this.tabs.forEach(((t,i)=>{t.theme=this.theme;this.tabPanels[i].theme=this.theme}));this.tabGroup&&(this.tabGroup.theme=this.theme)}componentDidLoad(){if(this.selectedTabIndex!==undefined){this.selectedTab=this.selectedTabIndex}this.getChildren();this.linkTabs();this.tabGroup&&this.tabGroup.addEventListener("keydown",this.keydownHandler);this.setInitialTab();this.configureTabs()}componentWillUpdate(){this.configureTabs()}disconnectedCallback(){var t;(t=this.tabGroup)===null||t===void 0?void 0:t.removeEventListener("keydown",this.keydownHandler)}tabClickHandler(t){var i,s;if(this.selectedTabIndex===undefined&&t.detail.contextId===this.contextId){this.selectedTab=t.detail.position}this.icTabSelect.emit({tabIndex:t.detail.position,tabLabel:((s=(i=this.el.querySelectorAll("ic-tab")[t.detail.position])===null||i===void 0?void 0:i.textContent)===null||s===void 0?void 0:s.trim())||""});t.stopImmediatePropagation()}tabCreatedHandler(t){if(this.tabs&&this.tabPanels){(t.detail.setFocus?this.newTabs:this.newTabPanels).push(t.detail);if(this.newTabs.length===this.newTabPanels.length){this.tabs.push(...this.newTabs);this.tabPanels.push(...this.newTabPanels);this.enabledTabs=this.getEnabledTabs();this.linkTabs();if(this.selectedTab&&(!this.tabs[this.selectedTab]||!this.tabPanels[this.selectedTab]))this.setInitialTab();this.configureTabs();this.newTabs=[];this.newTabPanels=[]}}}tabEnabledHandler(){this.enabledTabs=this.getEnabledTabs()}async tabRemovedHandler(t){this.getChildren();this.linkTabs();if(this.selectedTab&&this.tabs[this.selectedTab]&&this.tabPanels[this.selectedTab]){this.tabs[this.selectedTab].selected=true}else{this.setInitialTab()}if(t&&this.selectedTab){this.tabs[this.selectedTab].setFocus()}}render(){return s("slot",{key:"b2129a3c599ca4b97df30f14833761780c2c0940"})}get el(){return h(this)}static get watchers(){return{selectedTabIndex:["updateSelectedTab"],monochrome:["watchMonochromeHandler"],theme:["watchThemeHandler"]}}};export{a as ic_tab_context};
2
- //# sourceMappingURL=p-9e051db4.entry.js.map
1
+ import{r as t,c as i,h as s,g as h}from"./p-8e4e97b4.js";const e="context-id";const a=class{constructor(s){t(this,s);this.icTabSelect=i(this,"icTabSelect",3);this.newTabPanels=[];this.newTabs=[];this.activationType="automatic";this.contextId="default";this.monochrome=false;this.theme="inherit";this.linkTabs=()=>{this.tabs.forEach(((t,i)=>{const s=`ic-tab-${i}-context-${this.contextId}`;const h=`ic-tab-panel-${i}-context-${this.contextId}`;t.setAttribute("id",s);t.tabId=`ic-tab--${i}-context-${this.contextId}`;t.tabPosition=i;t.setAttribute("aria-controls",h);this.tabPanels[i].setAttribute("id",h);this.tabPanels[i].setAttribute("aria-labelledby",s);if(this.contextId){t.setAttribute(e,this.contextId);this.tabGroup&&this.tabGroup.setAttribute(e,this.contextId);this.tabPanels[i].setAttribute(e,this.contextId)}t.theme=this.theme;this.tabPanels[i].theme=this.theme;this.tabGroup&&(this.tabGroup.theme=this.theme)}))};this.getChildren=()=>{var t;this.tabGroup=this.el.querySelector("ic-tab-group");this.tabs=Array.from(((t=this.tabGroup)===null||t===void 0?void 0:t.querySelectorAll("ic-tab"))||[]);this.tabPanels=Array.from(this.el.children).filter((t=>t.tagName==="IC-TAB-PANEL"));this.enabledTabs=this.getEnabledTabs()};this.keydownHandler=t=>{const i=this.activationType==="manual";const s=this.enabledTabs.findIndex((t=>t.tabId===this.tabs[i?this.focusedTabIndex:this.selectedTab||0].tabId));const h=i?this.keyboardFocusTab:this.keyboardSelectTab;let e=true;switch(t.key){case"Home":h(0);break;case"End":h(this.enabledTabs.length-1);break;case"ArrowRight":h(s<this.enabledTabs.length-1?s+1:0);break;case"ArrowLeft":h((s>0?s:this.enabledTabs.length)-1);break;default:if(i&&(t.key==="Enter"||t.key===" ")){this.keyboardSelectTab(this.focusedTabIndex)}else{e=false}}if(e)t.preventDefault()};this.setInitialTab=()=>{if(this.selectedTabIndex!==undefined){this.selectedTab=this.selectedTabIndex;this.focusedTabIndex=this.selectedTabIndex}else{const t=this.tabs.findIndex((t=>t.tabId===this.enabledTabs[0].tabId));this.selectedTab=t;this.focusedTabIndex=t}};this.configureTabs=()=>{this.enabledTabs.forEach((t=>{t.selected=t.tabPosition===this.selectedTab}));this.tabPanels.forEach(((t,i)=>{t.active=i===this.selectedTab}))};this.getEnabledTabs=()=>Array.from(this.tabs).filter((t=>!t.disabled));this.keyboardSelectTab=t=>{var i,s;const h=this.tabs.findIndex((i=>i.tabId===this.enabledTabs[t].tabId));this.enabledTabs[t].focus();if(this.selectedTabIndex===undefined){this.selectedTab=h}else{this.icTabSelect.emit({tabIndex:h,tabLabel:((s=(i=this.el.querySelectorAll("ic-tab")[h])===null||i===void 0?void 0:i.textContent)===null||s===void 0?void 0:s.trim())||""})}};this.keyboardFocusTab=t=>{this.enabledTabs[t].focus();this.focusedTabIndex=this.tabs.findIndex((i=>i.tabId===this.enabledTabs[t].tabId))}}updateSelectedTab(t){this.selectedTab=t}watchMonochromeHandler(){this.tabs.forEach(((t,i)=>{t.monochrome=this.monochrome;this.tabPanels[i].monochrome=this.monochrome}));this.tabGroup&&(this.tabGroup.monochrome=this.monochrome)}watchThemeHandler(){this.tabs.forEach(((t,i)=>{t.theme=this.theme;this.tabPanels[i].theme=this.theme}));this.tabGroup&&(this.tabGroup.theme=this.theme)}componentDidLoad(){if(this.selectedTabIndex!==undefined){this.selectedTab=this.selectedTabIndex}this.getChildren();this.linkTabs();this.tabGroup&&this.tabGroup.addEventListener("keydown",this.keydownHandler);this.setInitialTab();this.configureTabs()}componentWillUpdate(){this.configureTabs()}disconnectedCallback(){var t;(t=this.tabGroup)===null||t===void 0?void 0:t.removeEventListener("keydown",this.keydownHandler)}tabClickHandler(t){var i,s;if(this.selectedTabIndex===undefined&&t.detail.contextId===this.contextId){this.selectedTab=t.detail.position}this.icTabSelect.emit({tabIndex:t.detail.position,tabLabel:((s=(i=this.el.querySelectorAll("ic-tab")[t.detail.position])===null||i===void 0?void 0:i.textContent)===null||s===void 0?void 0:s.trim())||""});t.stopImmediatePropagation()}tabCreatedHandler(t){if(this.tabs&&this.tabPanels){(t.detail.setFocus?this.newTabs:this.newTabPanels).push(t.detail);if(this.newTabs.length===this.newTabPanels.length){this.tabs.push(...this.newTabs);this.tabPanels.push(...this.newTabPanels);this.enabledTabs=this.getEnabledTabs();this.linkTabs();if(this.selectedTab&&(!this.tabs[this.selectedTab]||!this.tabPanels[this.selectedTab]))this.setInitialTab();this.configureTabs();this.newTabs=[];this.newTabPanels=[]}}}tabEnabledHandler(){this.enabledTabs=this.getEnabledTabs()}async tabRemovedHandler(t){this.getChildren();this.linkTabs();if(this.selectedTab&&this.tabs[this.selectedTab]&&this.tabPanels[this.selectedTab]){this.tabs[this.selectedTab].selected=true}else{this.setInitialTab()}if(t&&this.selectedTab){this.tabs[this.selectedTab].setFocus()}}render(){return s("slot",{key:"a0fd989c3705d70d9bc2d1746dcce7f3df79c0d0"})}get el(){return h(this)}static get watchers(){return{selectedTabIndex:["updateSelectedTab"],monochrome:["watchMonochromeHandler"],theme:["watchThemeHandler"]}}};export{a as ic_tab_context};
2
+ //# sourceMappingURL=p-45dd12ee.entry.js.map