@ukic/web-components 3.8.0 → 3.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (479) hide show
  1. package/dist/cjs/core.cjs.js +1 -1
  2. package/dist/cjs/{helpers-8217daf4.js → helpers-a0e78e2e.js} +31 -7
  3. package/dist/cjs/helpers-a0e78e2e.js.map +1 -0
  4. package/dist/cjs/ic-accordion-group.cjs.entry.js +1 -1
  5. package/dist/cjs/ic-accordion.cjs.entry.js +1 -1
  6. package/dist/cjs/ic-action-chip.cjs.entry.js +2 -2
  7. package/dist/cjs/ic-action-chip.cjs.entry.js.map +1 -1
  8. package/dist/cjs/ic-alert.cjs.entry.js +2 -2
  9. package/dist/cjs/ic-alert.cjs.entry.js.map +1 -1
  10. package/dist/cjs/ic-back-to-top.cjs.entry.js +1 -1
  11. package/dist/cjs/ic-badge.cjs.entry.js +2 -2
  12. package/dist/cjs/ic-badge.cjs.entry.js.map +1 -1
  13. package/dist/cjs/ic-breadcrumb-group.cjs.entry.js +1 -1
  14. package/dist/cjs/ic-breadcrumb.cjs.entry.js +1 -1
  15. package/dist/cjs/ic-button_3.cjs.entry.js +25 -20
  16. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  17. package/dist/cjs/ic-card-vertical.cjs.entry.js +1 -1
  18. package/dist/cjs/ic-checkbox-group.cjs.entry.js +1 -1
  19. package/dist/cjs/ic-checkbox.cjs.entry.js +2 -2
  20. package/dist/cjs/ic-checkbox.cjs.entry.js.map +1 -1
  21. package/dist/cjs/ic-chip.cjs.entry.js +2 -2
  22. package/dist/cjs/ic-chip.cjs.entry.js.map +1 -1
  23. package/dist/cjs/ic-data-list.cjs.entry.js +1 -1
  24. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  25. package/dist/cjs/ic-data-row.cjs.entry.js +2 -2
  26. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  27. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  28. package/dist/cjs/ic-divider.cjs.entry.js +1 -1
  29. package/dist/cjs/ic-empty-state.cjs.entry.js +1 -1
  30. package/dist/cjs/ic-footer-link-group.cjs.entry.js +1 -1
  31. package/dist/cjs/ic-footer-link.cjs.entry.js +1 -1
  32. package/dist/cjs/ic-footer.cjs.entry.js +1 -1
  33. package/dist/cjs/ic-hero.cjs.entry.js +1 -1
  34. package/dist/cjs/ic-horizontal-scroll.cjs.entry.js +1 -1
  35. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +4 -4
  36. package/dist/cjs/ic-input-label_2.cjs.entry.js +1 -1
  37. package/dist/cjs/ic-layout-grid-item.cjs.entry.js +70 -0
  38. package/dist/cjs/ic-layout-grid-item.cjs.entry.js.map +1 -0
  39. package/dist/cjs/ic-layout-grid.cjs.entry.js +156 -0
  40. package/dist/cjs/ic-layout-grid.cjs.entry.js.map +1 -0
  41. package/dist/cjs/ic-link.cjs.entry.js +2 -2
  42. package/dist/cjs/ic-menu-group.cjs.entry.js +2 -2
  43. package/dist/cjs/ic-menu-item.cjs.entry.js +1 -1
  44. package/dist/cjs/ic-navigation-button.cjs.entry.js +1 -1
  45. package/dist/cjs/ic-navigation-group.cjs.entry.js +3 -3
  46. package/dist/cjs/ic-navigation-group.cjs.entry.js.map +1 -1
  47. package/dist/cjs/ic-navigation-item.cjs.entry.js +1 -1
  48. package/dist/cjs/ic-navigation-menu.cjs.entry.js +5 -5
  49. package/dist/cjs/ic-page-header.cjs.entry.js +7 -7
  50. package/dist/cjs/ic-pagination-item.cjs.entry.js +2 -2
  51. package/dist/cjs/ic-pagination.cjs.entry.js +5 -5
  52. package/dist/cjs/ic-popover-menu.cjs.entry.js +10 -6
  53. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  54. package/dist/cjs/ic-radio-group.cjs.entry.js +1 -1
  55. package/dist/cjs/ic-radio-option.cjs.entry.js +1 -1
  56. package/dist/cjs/ic-search-bar.cjs.entry.js +1 -1
  57. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  58. package/dist/cjs/ic-select.cjs.entry.js +7 -7
  59. package/dist/cjs/ic-side-navigation.cjs.entry.js +5 -5
  60. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  61. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  62. package/dist/cjs/ic-status-tag.cjs.entry.js +3 -3
  63. package/dist/cjs/ic-step.cjs.entry.js +14 -14
  64. package/dist/cjs/ic-stepper.cjs.entry.js +3 -3
  65. package/dist/cjs/ic-switch.cjs.entry.js +5 -5
  66. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  67. package/dist/cjs/ic-tab-group.cjs.entry.js +3 -3
  68. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  69. package/dist/cjs/ic-tab.cjs.entry.js +1 -1
  70. package/dist/cjs/ic-text-field.cjs.entry.js +1 -1
  71. package/dist/cjs/ic-theme.cjs.entry.js +2 -2
  72. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  73. package/dist/cjs/ic-toast.cjs.entry.js +5 -5
  74. package/dist/cjs/ic-toast.cjs.entry.js.map +1 -1
  75. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +3 -3
  76. package/dist/cjs/ic-toggle-button.cjs.entry.js +3 -3
  77. package/dist/cjs/ic-top-navigation.cjs.entry.js +1 -1
  78. package/dist/cjs/ic-typography.cjs.entry.js +1 -1
  79. package/dist/cjs/index-d337cd8a.js +8 -0
  80. package/dist/cjs/loader.cjs.js +1 -1
  81. package/dist/collection/assets/ai-icon.svg +11 -0
  82. package/dist/collection/collection-manifest.json +2 -0
  83. package/dist/collection/components/ic-action-chip/ic-action-chip.css +3 -3
  84. package/dist/collection/components/ic-alert/ic-alert.css +13 -0
  85. package/dist/collection/components/ic-alert/ic-alert.js +1 -1
  86. package/dist/collection/components/ic-alert/ic-alert.stories.js +7 -2
  87. package/dist/collection/components/ic-badge/ic-badge.css +4 -0
  88. package/dist/collection/components/ic-badge/ic-badge.js +1 -1
  89. package/dist/collection/components/ic-badge/ic-badge.stories.js +98 -0
  90. package/dist/collection/components/ic-button/ic-button.js +33 -12
  91. package/dist/collection/components/ic-button/ic-button.js.map +1 -1
  92. package/dist/collection/components/ic-button/ic-button.stories.js +181 -2
  93. package/dist/collection/components/ic-checkbox/ic-checkbox.css +1 -0
  94. package/dist/collection/components/ic-chip/ic-chip.css +3 -3
  95. package/dist/collection/components/ic-data-list/ic-data-list.css +5 -0
  96. package/dist/collection/components/ic-data-list/ic-data-list.stories.js +50 -0
  97. package/dist/collection/components/ic-data-row/ic-data-row.css +3 -1
  98. package/dist/collection/components/ic-layout-grid/ic-layout-grid.css +540 -0
  99. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js +377 -0
  100. package/dist/collection/components/ic-layout-grid/ic-layout-grid.js.map +1 -0
  101. package/dist/collection/components/ic-layout-grid/ic-layout-grid.stories.js +429 -0
  102. package/dist/collection/components/ic-layout-grid/ic-layout-grid.types.js +2 -0
  103. package/dist/collection/components/ic-layout-grid/ic-layout-grid.types.js.map +1 -0
  104. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.css +12 -0
  105. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js +182 -0
  106. package/dist/collection/components/ic-layout-grid-item/ic-layout-grid-item.js.map +1 -0
  107. package/dist/collection/components/ic-link/ic-link.js +1 -1
  108. package/dist/collection/components/ic-loading-indicator/ic-loading-indicator.js +5 -5
  109. package/dist/collection/components/ic-menu/ic-menu.js +3 -3
  110. package/dist/collection/components/ic-menu-group/ic-menu-group.js +1 -1
  111. package/dist/collection/components/ic-navigation-group/ic-navigation-group.css +2 -0
  112. package/dist/collection/components/ic-navigation-group/ic-navigation-group.js +1 -1
  113. package/dist/collection/components/ic-navigation-menu/ic-navigation-menu.js +4 -4
  114. package/dist/collection/components/ic-page-header/ic-page-header.js +6 -6
  115. package/dist/collection/components/ic-pagination/ic-pagination.js +4 -4
  116. package/dist/collection/components/ic-pagination-item/ic-pagination-item.js +1 -1
  117. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +29 -5
  118. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  119. package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +94 -0
  120. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  121. package/dist/collection/components/ic-select/ic-select.js +6 -6
  122. package/dist/collection/components/ic-side-navigation/ic-side-navigation.js +4 -4
  123. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  124. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  125. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  126. package/dist/collection/components/ic-step/ic-step.js +13 -13
  127. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  128. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  129. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
  130. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  131. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  132. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  133. package/dist/collection/components/ic-toast/ic-toast.css +8 -0
  134. package/dist/collection/components/ic-toast/ic-toast.js +4 -4
  135. package/dist/collection/components/ic-toast/ic-toast.stories.js +2 -2
  136. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  137. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
  138. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
  139. package/dist/collection/components/ic-tooltip/ic-tooltip.js +27 -3
  140. package/dist/collection/components/ic-tooltip/ic-tooltip.js.map +1 -1
  141. package/dist/collection/components/ic-tooltip/ic-tooltip.stories.js +38 -0
  142. package/dist/collection/utils/constants.js +5 -0
  143. package/dist/collection/utils/constants.js.map +1 -1
  144. package/dist/collection/utils/helpers.js +14 -6
  145. package/dist/collection/utils/helpers.js.map +1 -1
  146. package/dist/collection/utils/types.js.map +1 -1
  147. package/dist/components/helpers.js +31 -7
  148. package/dist/components/helpers.js.map +1 -1
  149. package/dist/components/ic-action-chip.js +1 -1
  150. package/dist/components/ic-action-chip.js.map +1 -1
  151. package/dist/components/ic-alert.js +1 -1
  152. package/dist/components/ic-alert.js.map +1 -1
  153. package/dist/components/ic-back-to-top.js +1 -1
  154. package/dist/components/ic-back-to-top.js.map +1 -1
  155. package/dist/components/ic-badge.js +2 -2
  156. package/dist/components/ic-badge.js.map +1 -1
  157. package/dist/components/ic-breadcrumb-group.js +1 -1
  158. package/dist/components/ic-breadcrumb2.js +1 -1
  159. package/dist/components/ic-button2.js +14 -12
  160. package/dist/components/ic-button2.js.map +1 -1
  161. package/dist/components/ic-checkbox-group.js +1 -1
  162. package/dist/components/ic-checkbox.js +2 -2
  163. package/dist/components/ic-checkbox.js.map +1 -1
  164. package/dist/components/ic-chip.js +2 -2
  165. package/dist/components/ic-chip.js.map +1 -1
  166. package/dist/components/ic-data-list.js +1 -1
  167. package/dist/components/ic-data-list.js.map +1 -1
  168. package/dist/components/ic-data-row.js +2 -2
  169. package/dist/components/ic-data-row.js.map +1 -1
  170. package/dist/components/ic-dialog.js +1 -1
  171. package/dist/components/ic-divider2.js +1 -1
  172. package/dist/components/ic-footer-link-group.js +1 -1
  173. package/dist/components/ic-footer-link.js +1 -1
  174. package/dist/components/ic-footer.js +1 -1
  175. package/dist/components/ic-hero.js +1 -1
  176. package/dist/components/ic-horizontal-scroll2.js +1 -1
  177. package/dist/components/ic-input-component-container2.js +1 -1
  178. package/dist/components/ic-input-label2.js +1 -1
  179. package/dist/components/ic-input-validation2.js +1 -1
  180. package/dist/components/ic-layout-grid-item.d.ts +11 -0
  181. package/dist/components/ic-layout-grid-item.js +95 -0
  182. package/dist/components/ic-layout-grid-item.js.map +1 -0
  183. package/dist/components/ic-layout-grid.d.ts +11 -0
  184. package/dist/components/ic-layout-grid.js +188 -0
  185. package/dist/components/ic-layout-grid.js.map +1 -0
  186. package/dist/components/ic-link2.js +1 -1
  187. package/dist/components/ic-loading-indicator2.js +5 -5
  188. package/dist/components/ic-menu-group.js +2 -2
  189. package/dist/components/ic-menu-item2.js +1 -1
  190. package/dist/components/ic-menu2.js +4 -4
  191. package/dist/components/ic-navigation-button.js +1 -1
  192. package/dist/components/ic-navigation-group.js +3 -3
  193. package/dist/components/ic-navigation-group.js.map +1 -1
  194. package/dist/components/ic-navigation-item.js +1 -1
  195. package/dist/components/ic-navigation-menu2.js +5 -5
  196. package/dist/components/ic-page-header.js +7 -7
  197. package/dist/components/ic-pagination-item2.js +2 -2
  198. package/dist/components/ic-pagination.js +4 -4
  199. package/dist/components/ic-pagination.js.map +1 -1
  200. package/dist/components/ic-popover-menu.js +11 -6
  201. package/dist/components/ic-popover-menu.js.map +1 -1
  202. package/dist/components/ic-radio-group.js +1 -1
  203. package/dist/components/ic-radio-option.js +1 -1
  204. package/dist/components/ic-radio-option.js.map +1 -1
  205. package/dist/components/ic-search-bar.js +1 -1
  206. package/dist/components/ic-section-container2.js +2 -2
  207. package/dist/components/ic-select.js +7 -7
  208. package/dist/components/ic-side-navigation.js +5 -5
  209. package/dist/components/ic-skeleton.js +2 -2
  210. package/dist/components/ic-skip-link.js +2 -2
  211. package/dist/components/ic-status-tag.js +2 -2
  212. package/dist/components/ic-status-tag.js.map +1 -1
  213. package/dist/components/ic-step.js +14 -14
  214. package/dist/components/ic-stepper.js +2 -2
  215. package/dist/components/ic-switch.js +5 -5
  216. package/dist/components/ic-tab-context.js +1 -1
  217. package/dist/components/ic-tab-group.js +2 -2
  218. package/dist/components/ic-tab-panel.js +2 -2
  219. package/dist/components/ic-tab.js.map +1 -1
  220. package/dist/components/ic-text-field.js +1 -1
  221. package/dist/components/ic-theme.js +2 -2
  222. package/dist/components/ic-toast-region.js +1 -1
  223. package/dist/components/ic-toast.js +5 -5
  224. package/dist/components/ic-toast.js.map +1 -1
  225. package/dist/components/ic-toggle-button-group.js +2 -2
  226. package/dist/components/ic-toggle-button.js +2 -2
  227. package/dist/components/ic-tooltip2.js +8 -3
  228. package/dist/components/ic-tooltip2.js.map +1 -1
  229. package/dist/components/ic-top-navigation.js +1 -1
  230. package/dist/core/core.css +12 -12
  231. package/dist/core/core.esm.js +1 -1
  232. package/dist/core/core.esm.js.map +1 -1
  233. package/dist/core/p-0d680d19.entry.js +2 -0
  234. package/dist/core/p-0d680d19.entry.js.map +1 -0
  235. package/dist/core/{p-ef357622.entry.js → p-15dbccc2.entry.js} +2 -2
  236. package/dist/core/{p-bf5653c0.entry.js → p-19cf2327.entry.js} +2 -2
  237. package/dist/core/p-1d37ac1c.entry.js +2 -0
  238. package/dist/core/p-1d37ac1c.entry.js.map +1 -0
  239. package/dist/core/{p-19680887.entry.js → p-1e2f40b0.entry.js} +2 -2
  240. package/dist/core/{p-fc933fc3.entry.js → p-21cf2beb.entry.js} +2 -2
  241. package/dist/core/p-25007ec9.js +2 -0
  242. package/dist/core/p-25007ec9.js.map +1 -0
  243. package/dist/core/{p-de43d375.entry.js → p-287e5c17.entry.js} +2 -2
  244. package/dist/core/{p-3f9ff1cb.entry.js → p-28efe829.entry.js} +2 -2
  245. package/dist/core/{p-c63ae7d0.entry.js → p-2f4f392f.entry.js} +2 -2
  246. package/dist/core/{p-d2f1beb6.entry.js → p-313a8a2f.entry.js} +2 -2
  247. package/dist/core/{p-7cd6487e.entry.js → p-317e005f.entry.js} +2 -2
  248. package/dist/core/{p-0c095f5b.entry.js → p-3dc54847.entry.js} +2 -2
  249. package/dist/core/{p-2394346c.entry.js → p-3e5d7a3d.entry.js} +2 -2
  250. package/dist/core/p-41ef74a7.entry.js +2 -0
  251. package/dist/core/p-41ef74a7.entry.js.map +1 -0
  252. package/dist/core/{p-9e177686.entry.js → p-41f92698.entry.js} +2 -2
  253. package/dist/core/p-43324339.entry.js +2 -0
  254. package/dist/core/p-43324339.entry.js.map +1 -0
  255. package/dist/core/{p-f34eee68.entry.js → p-45dd12ee.entry.js} +2 -2
  256. package/dist/core/{p-0a8140ef.entry.js → p-493eaabb.entry.js} +2 -2
  257. package/dist/core/{p-c9c6d63b.entry.js → p-4ca782eb.entry.js} +2 -2
  258. package/dist/core/{p-8557fa1e.entry.js → p-4d1a3036.entry.js} +2 -2
  259. package/dist/core/p-52748d5c.entry.js +2 -0
  260. package/dist/core/p-52748d5c.entry.js.map +1 -0
  261. package/dist/core/p-595a4d06.entry.js +2 -0
  262. package/dist/core/p-595a4d06.entry.js.map +1 -0
  263. package/dist/core/{p-57644340.entry.js → p-5daa7915.entry.js} +2 -2
  264. package/dist/core/{p-88b516d6.entry.js → p-5f68f62b.entry.js} +2 -2
  265. package/dist/core/{p-d47acbd4.entry.js → p-5fbc8e62.entry.js} +2 -2
  266. package/dist/core/p-6014ab64.entry.js +2 -0
  267. package/dist/core/{p-3aa7f724.entry.js → p-661ae402.entry.js} +2 -2
  268. package/dist/core/{p-998dfae0.entry.js → p-6a576a8b.entry.js} +2 -2
  269. package/dist/core/{p-b3ac38c5.entry.js → p-6e8ef73c.entry.js} +2 -2
  270. package/dist/core/{p-fbaf0301.entry.js → p-6ed0ac48.entry.js} +2 -2
  271. package/dist/core/p-711bfeed.entry.js +2 -0
  272. package/dist/core/p-711bfeed.entry.js.map +1 -0
  273. package/dist/core/{p-60ff225d.entry.js → p-72a9909c.entry.js} +2 -2
  274. package/dist/core/{p-f643ae2b.entry.js → p-742a9181.entry.js} +2 -2
  275. package/dist/core/{p-b94d404b.entry.js → p-7cd4f6a6.entry.js} +2 -2
  276. package/dist/core/{p-a082d978.entry.js → p-8a4b12e4.entry.js} +2 -2
  277. package/dist/core/{p-48db785a.entry.js → p-8b5022bc.entry.js} +2 -2
  278. package/dist/core/{p-d1b7b839.entry.js → p-9323c234.entry.js} +2 -2
  279. package/dist/core/{p-0eaa2904.entry.js → p-948f89a0.entry.js} +2 -2
  280. package/dist/core/p-97b93ddf.entry.js +2 -0
  281. package/dist/core/p-97b93ddf.entry.js.map +1 -0
  282. package/dist/core/{p-9f792a31.entry.js → p-999f0a5d.entry.js} +2 -2
  283. package/dist/core/p-999f0a5d.entry.js.map +1 -0
  284. package/dist/core/{p-04c36b23.entry.js → p-9c013333.entry.js} +2 -2
  285. package/dist/core/{p-3eef02dd.entry.js → p-9eeb5e85.entry.js} +2 -2
  286. package/dist/core/{p-682a9365.entry.js → p-9f36791b.entry.js} +2 -2
  287. package/dist/core/{p-9d78ef89.entry.js → p-a602a8e1.entry.js} +2 -2
  288. package/dist/core/{p-51bff253.entry.js → p-a77364f5.entry.js} +2 -2
  289. package/dist/core/{p-1829c1a9.entry.js → p-af9c391d.entry.js} +2 -2
  290. package/dist/core/{p-2c2c752d.entry.js → p-b0d488d0.entry.js} +2 -2
  291. package/dist/core/{p-1f913ba3.entry.js → p-b25d33d8.entry.js} +2 -2
  292. package/dist/core/{p-fee854f5.entry.js → p-b52000d9.entry.js} +2 -2
  293. package/dist/core/{p-4345907a.entry.js → p-cbe0d1bb.entry.js} +2 -2
  294. package/dist/core/p-ceea1712.entry.js +2 -0
  295. package/dist/core/p-ceea1712.entry.js.map +1 -0
  296. package/dist/core/p-cf631191.entry.js +2 -0
  297. package/dist/core/{p-ee6caf27.entry.js → p-df88ff5b.entry.js} +2 -2
  298. package/dist/core/{p-918af357.entry.js → p-e652ab09.entry.js} +2 -2
  299. package/dist/core/{p-4c336217.entry.js → p-e876e47c.entry.js} +2 -2
  300. package/dist/core/p-ea061ccf.entry.js +2 -0
  301. package/dist/core/p-ea061ccf.entry.js.map +1 -0
  302. package/dist/core/{p-b3d3ee50.entry.js → p-ea778379.entry.js} +2 -2
  303. package/dist/core/{p-f46fd0e7.entry.js → p-ef4b5469.entry.js} +2 -2
  304. package/dist/core/{p-fd421f11.entry.js → p-f309d3af.entry.js} +2 -2
  305. package/dist/core/{p-32c030b1.entry.js → p-f6a02202.entry.js} +2 -2
  306. package/dist/core/p-fc3b1155.entry.js +2 -0
  307. package/dist/core/p-fc3b1155.entry.js.map +1 -0
  308. package/dist/core/p-ffac41d6.entry.js +2 -0
  309. package/dist/core/p-ffac41d6.entry.js.map +1 -0
  310. package/dist/esm/core.js +1 -1
  311. package/dist/esm/{helpers-2e75abf4.js → helpers-56631aa0.js} +31 -7
  312. package/dist/esm/helpers-56631aa0.js.map +1 -0
  313. package/dist/esm/ic-accordion-group.entry.js +1 -1
  314. package/dist/esm/ic-accordion.entry.js +1 -1
  315. package/dist/esm/ic-action-chip.entry.js +2 -2
  316. package/dist/esm/ic-action-chip.entry.js.map +1 -1
  317. package/dist/esm/ic-alert.entry.js +2 -2
  318. package/dist/esm/ic-alert.entry.js.map +1 -1
  319. package/dist/esm/ic-back-to-top.entry.js +1 -1
  320. package/dist/esm/ic-badge.entry.js +2 -2
  321. package/dist/esm/ic-badge.entry.js.map +1 -1
  322. package/dist/esm/ic-breadcrumb-group.entry.js +1 -1
  323. package/dist/esm/ic-breadcrumb.entry.js +1 -1
  324. package/dist/esm/ic-button_3.entry.js +25 -20
  325. package/dist/esm/ic-button_3.entry.js.map +1 -1
  326. package/dist/esm/ic-card-vertical.entry.js +1 -1
  327. package/dist/esm/ic-checkbox-group.entry.js +1 -1
  328. package/dist/esm/ic-checkbox.entry.js +2 -2
  329. package/dist/esm/ic-checkbox.entry.js.map +1 -1
  330. package/dist/esm/ic-chip.entry.js +2 -2
  331. package/dist/esm/ic-chip.entry.js.map +1 -1
  332. package/dist/esm/ic-data-list.entry.js +1 -1
  333. package/dist/esm/ic-data-list.entry.js.map +1 -1
  334. package/dist/esm/ic-data-row.entry.js +2 -2
  335. package/dist/esm/ic-data-row.entry.js.map +1 -1
  336. package/dist/esm/ic-dialog.entry.js +1 -1
  337. package/dist/esm/ic-divider.entry.js +1 -1
  338. package/dist/esm/ic-empty-state.entry.js +1 -1
  339. package/dist/esm/ic-footer-link-group.entry.js +1 -1
  340. package/dist/esm/ic-footer-link.entry.js +1 -1
  341. package/dist/esm/ic-footer.entry.js +1 -1
  342. package/dist/esm/ic-hero.entry.js +1 -1
  343. package/dist/esm/ic-horizontal-scroll.entry.js +1 -1
  344. package/dist/esm/ic-input-component-container_3.entry.js +4 -4
  345. package/dist/esm/ic-input-label_2.entry.js +1 -1
  346. package/dist/esm/ic-layout-grid-item.entry.js +66 -0
  347. package/dist/esm/ic-layout-grid-item.entry.js.map +1 -0
  348. package/dist/esm/ic-layout-grid.entry.js +152 -0
  349. package/dist/esm/ic-layout-grid.entry.js.map +1 -0
  350. package/dist/esm/ic-link.entry.js +2 -2
  351. package/dist/esm/ic-menu-group.entry.js +2 -2
  352. package/dist/esm/ic-menu-item.entry.js +1 -1
  353. package/dist/esm/ic-navigation-button.entry.js +1 -1
  354. package/dist/esm/ic-navigation-group.entry.js +3 -3
  355. package/dist/esm/ic-navigation-group.entry.js.map +1 -1
  356. package/dist/esm/ic-navigation-item.entry.js +1 -1
  357. package/dist/esm/ic-navigation-menu.entry.js +5 -5
  358. package/dist/esm/ic-page-header.entry.js +7 -7
  359. package/dist/esm/ic-pagination-item.entry.js +2 -2
  360. package/dist/esm/ic-pagination.entry.js +5 -5
  361. package/dist/esm/ic-popover-menu.entry.js +10 -6
  362. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  363. package/dist/esm/ic-radio-group.entry.js +1 -1
  364. package/dist/esm/ic-radio-option.entry.js +1 -1
  365. package/dist/esm/ic-search-bar.entry.js +1 -1
  366. package/dist/esm/ic-section-container.entry.js +2 -2
  367. package/dist/esm/ic-select.entry.js +7 -7
  368. package/dist/esm/ic-side-navigation.entry.js +5 -5
  369. package/dist/esm/ic-skeleton.entry.js +2 -2
  370. package/dist/esm/ic-skip-link.entry.js +2 -2
  371. package/dist/esm/ic-status-tag.entry.js +3 -3
  372. package/dist/esm/ic-step.entry.js +14 -14
  373. package/dist/esm/ic-stepper.entry.js +3 -3
  374. package/dist/esm/ic-switch.entry.js +5 -5
  375. package/dist/esm/ic-tab-context.entry.js +1 -1
  376. package/dist/esm/ic-tab-group.entry.js +3 -3
  377. package/dist/esm/ic-tab-panel.entry.js +2 -2
  378. package/dist/esm/ic-tab.entry.js +1 -1
  379. package/dist/esm/ic-text-field.entry.js +1 -1
  380. package/dist/esm/ic-theme.entry.js +2 -2
  381. package/dist/esm/ic-toast-region.entry.js +1 -1
  382. package/dist/esm/ic-toast.entry.js +5 -5
  383. package/dist/esm/ic-toast.entry.js.map +1 -1
  384. package/dist/esm/ic-toggle-button-group.entry.js +3 -3
  385. package/dist/esm/ic-toggle-button.entry.js +3 -3
  386. package/dist/esm/ic-top-navigation.entry.js +1 -1
  387. package/dist/esm/ic-typography.entry.js +1 -1
  388. package/dist/esm/index-a7a720e7.js +8 -0
  389. package/dist/esm/loader.js +1 -1
  390. package/dist/types/components/ic-button/ic-button.d.ts +4 -0
  391. package/dist/types/components/ic-layout-grid/ic-layout-grid.d.ts +56 -0
  392. package/dist/types/components/ic-layout-grid/ic-layout-grid.types.d.ts +8 -0
  393. package/dist/types/components/ic-layout-grid-item/ic-layout-grid-item.d.ts +29 -0
  394. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +4 -0
  395. package/dist/types/components/ic-tooltip/ic-tooltip.d.ts +4 -0
  396. package/dist/types/components.d.ts +164 -0
  397. package/dist/types/utils/constants.d.ts +4 -0
  398. package/dist/types/utils/helpers.d.ts +3 -3
  399. package/dist/types/utils/types.d.ts +1 -1
  400. package/hydrate/index.js +389 -111
  401. package/hydrate/index.mjs +389 -111
  402. package/package.json +2 -2
  403. package/vscode-data.json +114 -0
  404. package/dist/cjs/helpers-8217daf4.js.map +0 -1
  405. package/dist/core/p-03a2fa83.entry.js +0 -2
  406. package/dist/core/p-03a2fa83.entry.js.map +0 -1
  407. package/dist/core/p-280e7874.entry.js +0 -2
  408. package/dist/core/p-280e7874.entry.js.map +0 -1
  409. package/dist/core/p-46a0a40b.entry.js +0 -2
  410. package/dist/core/p-46a0a40b.entry.js.map +0 -1
  411. package/dist/core/p-68f55187.entry.js +0 -2
  412. package/dist/core/p-68f55187.entry.js.map +0 -1
  413. package/dist/core/p-69aad690.entry.js +0 -2
  414. package/dist/core/p-69aad690.entry.js.map +0 -1
  415. package/dist/core/p-750d5536.entry.js +0 -2
  416. package/dist/core/p-750d5536.entry.js.map +0 -1
  417. package/dist/core/p-7ac5a271.entry.js +0 -2
  418. package/dist/core/p-7ac5a271.entry.js.map +0 -1
  419. package/dist/core/p-874f7e8d.entry.js +0 -2
  420. package/dist/core/p-874f7e8d.entry.js.map +0 -1
  421. package/dist/core/p-903f9c7f.entry.js +0 -2
  422. package/dist/core/p-903f9c7f.entry.js.map +0 -1
  423. package/dist/core/p-9f792a31.entry.js.map +0 -1
  424. package/dist/core/p-9f8acb5f.js +0 -2
  425. package/dist/core/p-9f8acb5f.js.map +0 -1
  426. package/dist/core/p-b5c72b06.entry.js +0 -2
  427. package/dist/core/p-b5c72b06.entry.js.map +0 -1
  428. package/dist/core/p-e0485462.entry.js +0 -2
  429. package/dist/core/p-e9b6b600.entry.js +0 -2
  430. package/dist/esm/helpers-2e75abf4.js.map +0 -1
  431. /package/dist/core/{p-ef357622.entry.js.map → p-15dbccc2.entry.js.map} +0 -0
  432. /package/dist/core/{p-bf5653c0.entry.js.map → p-19cf2327.entry.js.map} +0 -0
  433. /package/dist/core/{p-19680887.entry.js.map → p-1e2f40b0.entry.js.map} +0 -0
  434. /package/dist/core/{p-fc933fc3.entry.js.map → p-21cf2beb.entry.js.map} +0 -0
  435. /package/dist/core/{p-de43d375.entry.js.map → p-287e5c17.entry.js.map} +0 -0
  436. /package/dist/core/{p-3f9ff1cb.entry.js.map → p-28efe829.entry.js.map} +0 -0
  437. /package/dist/core/{p-c63ae7d0.entry.js.map → p-2f4f392f.entry.js.map} +0 -0
  438. /package/dist/core/{p-d2f1beb6.entry.js.map → p-313a8a2f.entry.js.map} +0 -0
  439. /package/dist/core/{p-7cd6487e.entry.js.map → p-317e005f.entry.js.map} +0 -0
  440. /package/dist/core/{p-0c095f5b.entry.js.map → p-3dc54847.entry.js.map} +0 -0
  441. /package/dist/core/{p-2394346c.entry.js.map → p-3e5d7a3d.entry.js.map} +0 -0
  442. /package/dist/core/{p-9e177686.entry.js.map → p-41f92698.entry.js.map} +0 -0
  443. /package/dist/core/{p-f34eee68.entry.js.map → p-45dd12ee.entry.js.map} +0 -0
  444. /package/dist/core/{p-0a8140ef.entry.js.map → p-493eaabb.entry.js.map} +0 -0
  445. /package/dist/core/{p-c9c6d63b.entry.js.map → p-4ca782eb.entry.js.map} +0 -0
  446. /package/dist/core/{p-8557fa1e.entry.js.map → p-4d1a3036.entry.js.map} +0 -0
  447. /package/dist/core/{p-57644340.entry.js.map → p-5daa7915.entry.js.map} +0 -0
  448. /package/dist/core/{p-88b516d6.entry.js.map → p-5f68f62b.entry.js.map} +0 -0
  449. /package/dist/core/{p-d47acbd4.entry.js.map → p-5fbc8e62.entry.js.map} +0 -0
  450. /package/dist/core/{p-e9b6b600.entry.js.map → p-6014ab64.entry.js.map} +0 -0
  451. /package/dist/core/{p-3aa7f724.entry.js.map → p-661ae402.entry.js.map} +0 -0
  452. /package/dist/core/{p-998dfae0.entry.js.map → p-6a576a8b.entry.js.map} +0 -0
  453. /package/dist/core/{p-b3ac38c5.entry.js.map → p-6e8ef73c.entry.js.map} +0 -0
  454. /package/dist/core/{p-fbaf0301.entry.js.map → p-6ed0ac48.entry.js.map} +0 -0
  455. /package/dist/core/{p-60ff225d.entry.js.map → p-72a9909c.entry.js.map} +0 -0
  456. /package/dist/core/{p-f643ae2b.entry.js.map → p-742a9181.entry.js.map} +0 -0
  457. /package/dist/core/{p-b94d404b.entry.js.map → p-7cd4f6a6.entry.js.map} +0 -0
  458. /package/dist/core/{p-a082d978.entry.js.map → p-8a4b12e4.entry.js.map} +0 -0
  459. /package/dist/core/{p-48db785a.entry.js.map → p-8b5022bc.entry.js.map} +0 -0
  460. /package/dist/core/{p-d1b7b839.entry.js.map → p-9323c234.entry.js.map} +0 -0
  461. /package/dist/core/{p-0eaa2904.entry.js.map → p-948f89a0.entry.js.map} +0 -0
  462. /package/dist/core/{p-04c36b23.entry.js.map → p-9c013333.entry.js.map} +0 -0
  463. /package/dist/core/{p-3eef02dd.entry.js.map → p-9eeb5e85.entry.js.map} +0 -0
  464. /package/dist/core/{p-682a9365.entry.js.map → p-9f36791b.entry.js.map} +0 -0
  465. /package/dist/core/{p-9d78ef89.entry.js.map → p-a602a8e1.entry.js.map} +0 -0
  466. /package/dist/core/{p-51bff253.entry.js.map → p-a77364f5.entry.js.map} +0 -0
  467. /package/dist/core/{p-1829c1a9.entry.js.map → p-af9c391d.entry.js.map} +0 -0
  468. /package/dist/core/{p-2c2c752d.entry.js.map → p-b0d488d0.entry.js.map} +0 -0
  469. /package/dist/core/{p-1f913ba3.entry.js.map → p-b25d33d8.entry.js.map} +0 -0
  470. /package/dist/core/{p-fee854f5.entry.js.map → p-b52000d9.entry.js.map} +0 -0
  471. /package/dist/core/{p-4345907a.entry.js.map → p-cbe0d1bb.entry.js.map} +0 -0
  472. /package/dist/core/{p-e0485462.entry.js.map → p-cf631191.entry.js.map} +0 -0
  473. /package/dist/core/{p-ee6caf27.entry.js.map → p-df88ff5b.entry.js.map} +0 -0
  474. /package/dist/core/{p-918af357.entry.js.map → p-e652ab09.entry.js.map} +0 -0
  475. /package/dist/core/{p-4c336217.entry.js.map → p-e876e47c.entry.js.map} +0 -0
  476. /package/dist/core/{p-b3d3ee50.entry.js.map → p-ea778379.entry.js.map} +0 -0
  477. /package/dist/core/{p-f46fd0e7.entry.js.map → p-ef4b5469.entry.js.map} +0 -0
  478. /package/dist/core/{p-fd421f11.entry.js.map → p-f309d3af.entry.js.map} +0 -0
  479. /package/dist/core/{p-32c030b1.entry.js.map → p-f6a02202.entry.js.map} +0 -0
@@ -912,7 +912,7 @@ export class Menu {
912
912
  const { inputLabel, options, menuId, value, fullWidth, hasTimedOut, isLoading, size, open, inputEl, keyboardNav, parentEl, SEARCH_BAR_TAG, multiSelect, } = this;
913
913
  const selectAllButtonText = `${(value === null || value === void 0 ? void 0 : value.length) === this.ungroupedOptions.length ? "Clear" : "Select"} all`;
914
914
  const hasNoResults = this.host.classList.contains("no-results");
915
- return (h(Host, { key: '637bd569f0d987aae612c73390344c46127170ad', class: {
915
+ return (h(Host, { key: '61aef706407716bbd85f087d6baeac4e393f5bb5', class: {
916
916
  "ic-menu-full-width": !!fullWidth,
917
917
  "ic-menu-no-focus": ((inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) === "INPUT" &&
918
918
  (parentEl === null || parentEl === void 0 ? void 0 : parentEl.tagName) !== SEARCH_BAR_TAG) ||
@@ -921,7 +921,7 @@ export class Menu {
921
921
  [`ic-menu-${size}`]: true,
922
922
  "ic-menu-open": open && options.length !== 0,
923
923
  "ic-menu-multiple": multiSelect,
924
- } }, options.length !== 0 && (h("ul", { key: '3840de0e59bd4f2d87330cf23a6afe402870c848', id: menuId, class: "menu", role: "listbox", "aria-label": `${inputLabel} pop-up`, "aria-multiselectable": multiSelect ? "true" : "false", tabindex: open &&
924
+ } }, options.length !== 0 && (h("ul", { key: '5800fadeb848cfad908cdbd2bb7bfd7ecba08811', id: menuId, class: "menu", role: "listbox", "aria-label": `${inputLabel} pop-up`, "aria-multiselectable": multiSelect ? "true" : "false", tabindex: open &&
925
925
  !keyboardNav &&
926
926
  ((inputEl === null || inputEl === void 0 ? void 0 : inputEl.tagName) !== "INPUT" ||
927
927
  (parentEl === null || parentEl === void 0 ? void 0 : parentEl.tagName) === SEARCH_BAR_TAG)
@@ -949,7 +949,7 @@ export class Menu {
949
949
  multiSelect &&
950
950
  !isLoading &&
951
951
  !hasTimedOut &&
952
- !hasNoResults && (h("div", { key: '7c21b91f707319eac7433c9bf84b2e07117d4a5e', class: "option-bar" }, h("ic-typography", { key: 'ebf470f1196440dbb9b7d827833866604df1273c' }, h("p", { key: '796f1746246ee7867d6244c9ab824e5e483be7d0' }, `${value ? value.length : 0}/${getOptionsWithoutGroupTitlesCount(this.options)} selected`)), h("ic-button", { key: 'ab28ce082f7fd653fb10c7692161ad0c00653792', class: "select-all-button", "aria-label": `${selectAllButtonText} options for ${inputLabel}`, ref: (el) => (this.selectAllButton = el), variant: "tertiary", onClick: this.handleSelectAllClick, onMouseDown: this.handleSelectAllMouseDown, onBlur: this.handleSelectAllBlur, onFocus: this.handleSelectAllFocus, size: size === "small" ? "small" : "medium" }, selectAllButtonText)))));
952
+ !hasNoResults && (h("div", { key: '3036b8e8b5727e354d45e9ae4a64a5e61b0caf59', class: "option-bar" }, h("ic-typography", { key: 'a797367880dd2a45638c65dcb353e6b4892e5db0' }, h("p", { key: 'ba309efe02198f93aa62329cf99d05e2e538434d' }, `${value ? value.length : 0}/${getOptionsWithoutGroupTitlesCount(this.options)} selected`)), h("ic-button", { key: '785eba9a6e82e745c7f4ccb054a1fbaf87df281e', class: "select-all-button", "aria-label": `${selectAllButtonText} options for ${inputLabel}`, ref: (el) => (this.selectAllButton = el), variant: "tertiary", onClick: this.handleSelectAllClick, onMouseDown: this.handleSelectAllMouseDown, onBlur: this.handleSelectAllBlur, onFocus: this.handleSelectAllFocus, size: size === "small" ? "small" : "medium" }, selectAllButtonText)))));
953
953
  }
954
954
  static get is() { return "ic-menu"; }
955
955
  static get encapsulation() { return "scoped"; }
@@ -3,7 +3,7 @@ import { isPropDefined } from "../../utils/helpers";
3
3
  export class MenuGroup {
4
4
  render() {
5
5
  const parentMenu = this.el.closest("ic-popover-menu");
6
- return (h(Host, { key: '4136f4cf036cf396b34c3c2000242aca5ca2eeff', role: "group", "aria-label": this.label !== null ? this.label : "" }, isPropDefined(this.label) && (h("ic-typography", { key: 'a0de968e792cfedeee7ddad9f4b43885241abce5', variant: "subtitle-small" }, this.label)), h("span", { key: 'e9720932e7fc8ec62b7de24fef73a58bdc4af7c1', class: "menu-items-wrapper" }, h("slot", { key: 'c5ba1104bbd9a8749aec9b78641a05159fb56b4b' })), this.el !== (parentMenu === null || parentMenu === void 0 ? void 0 : parentMenu.querySelector("ic-menu-group:last-child")) && (h("hr", { key: 'f8daab6f88da899054ace20e75e67f636d24c346' }))));
6
+ return (h(Host, { key: 'e80513cbfafcba84a75297272b402bfb60acdf80', role: "group", "aria-label": this.label !== null ? this.label : "" }, isPropDefined(this.label) && (h("ic-typography", { key: '726deba27f96a3bdb84856d851e484aab1be1301', variant: "subtitle-small" }, this.label)), h("span", { key: 'a383d9a234af9acceb9a746a891c290225dc8e37', class: "menu-items-wrapper" }, h("slot", { key: '60219f7f2cf0ee516c908a5ed3f45c0d27686293' })), this.el !== (parentMenu === null || parentMenu === void 0 ? void 0 : parentMenu.querySelector("ic-menu-group:last-child")) && (h("hr", { key: '85128f561dcc20d70937c690b9bfc56d34b698b8' }))));
7
7
  }
8
8
  static get is() { return "ic-menu-group"; }
9
9
  static get encapsulation() { return "shadow"; }
@@ -606,6 +606,8 @@ video {
606
606
 
607
607
  :host(.ic-navigation-group-side-nav) .navigation-group {
608
608
  min-height: var(--navigation-group-height);
609
+ height: -moz-fit-content;
610
+ height: fit-content;
609
611
  min-width: 100%;
610
612
  width: var(--navigation-group-width, auto);
611
613
  justify-content: var(--navigation-group-justify-content);
@@ -261,7 +261,7 @@ export class NavigationGroup {
261
261
  const isTopNav = this.navigationType === "top";
262
262
  const isTopNavDesktop = !inTopNavSideMenu && isTopNav;
263
263
  const ariaExpanded = (isSideNav && expanded) || (isTopNav && dropdownOpen);
264
- return (h(Host, { key: 'c9fd5c0334c5a73ed68f4e6ad29fecaead553879', class: {
264
+ return (h(Host, { key: '70872453ddb1b66747a517e4757ef0d5fbb6337c', class: {
265
265
  "in-side-menu": inTopNavSideMenu,
266
266
  "ic-navigation-group-expandable": expandable,
267
267
  "ic-navigation-group-side-nav": isSideNav,
@@ -123,16 +123,16 @@ export class NavigationMenu {
123
123
  }
124
124
  }
125
125
  render() {
126
- return (h(Host, { key: '9bfabe90fd07c5e8a14a49ab4bb524bb9f806dfe', class: { [`ic-theme-${this.theme}`]: this.theme !== "inherit" } }, h("div", { key: 'b76961453827afb14dd44063e60ca9f7b8eb2f7c', class: "popout-modal", onClick: this.closeMenu }), h("div", { key: '999299a7dccb47e615a0161f8056b8849197bb19', class: "popout-menu", role: "dialog", "aria-modal": "true", "aria-label": `${this.hasNavigation ? "Navigation" : "App"} menu` }, h("span", { key: 'b48aae3ed8dfe11905660f3dbe6104b1f236989f', "aria-hidden": "true", id: "navigation-landmark-text", class: "navigation-landmark-text" }, "Main navigation"), h("nav", { key: '5a940ea5954ddb7291556c02d0bd18ba059b78c1', "aria-labelledby": "navigation-landmark-text", "aria-hidden": this.hasNavigation ? "false" : "true" }, h("div", { key: '850e5a96df80c52ae4940f02c87cac7901e78ac3', class: {
126
+ return (h(Host, { key: '559f8e30c0ea9585c1cd85db3fbb432f0afa6476', class: { [`ic-theme-${this.theme}`]: this.theme !== "inherit" } }, h("div", { key: 'acd727b39a74104530268e38ee3d7b89ac79e97d', class: "popout-modal", onClick: this.closeMenu }), h("div", { key: '8142144f62990711e407791838feedfb3f25a9d6', class: "popout-menu", role: "dialog", "aria-modal": "true", "aria-label": `${this.hasNavigation ? "Navigation" : "App"} menu` }, h("span", { key: '4c52bc614ede7b80e3cd233ed43f16e22701bcdb', "aria-hidden": "true", id: "navigation-landmark-text", class: "navigation-landmark-text" }, "Main navigation"), h("nav", { key: '90569f1809e977cda9f8c2695c1108d2d4976318', "aria-labelledby": "navigation-landmark-text", "aria-hidden": this.hasNavigation ? "false" : "true" }, h("div", { key: '503d419f95dadd93abdd2d54821f791bdf050b8d', class: {
127
127
  ["menu-close-button-container"]: true,
128
128
  ["nav-group-first"]: this.navGroupFirst,
129
- } }, h("ic-button", { key: '2b6f4da8f43779709841b4ae9031ddc69fb23ec7', ref: (el) => (this.closeButton = el), id: "menu-close-button", class: "menu-close-button", variant: "icon", size: "large", "aria-label": `Close ${this.hasNavigation ? "navigation" : "app"} menu`, onClick: this.closeMenu }, h("svg", { key: '79bff3984af1e147c29eabf9980b6ce069d9bfc8', width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '7651417208edb39d171ba5c12f54e459b1874cdd', d: "M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z" })))), this.hasNavigation && h("slot", { key: '67bb136c9b9495d0f6936c6fd9ba9ce10d2ac259', name: "navigation" })), this.hasButtons && (h("div", { key: 'c52e4bda9f81995710db38d6fcc732cb90084379', class: {
129
+ } }, h("ic-button", { key: '1120f293997c552117944e4361575605de0fcaf2', ref: (el) => (this.closeButton = el), id: "menu-close-button", class: "menu-close-button", variant: "icon", size: "large", "aria-label": `Close ${this.hasNavigation ? "navigation" : "app"} menu`, onClick: this.closeMenu }, h("svg", { key: '3dc7a4fcafd3e72c558bb3aa07e9051b992da933', width: "14", height: "14", viewBox: "0 0 14 14", fill: "none", xmlns: "http://www.w3.org/2000/svg" }, h("path", { key: '5ed28065cad4812472d9c036926b119ad625ad53', d: "M14 1.41L12.59 0L7 5.59L1.41 0L0 1.41L5.59 7L0 12.59L1.41 14L7 8.41L12.59 14L14 12.59L8.41 7L14 1.41Z" })))), this.hasNavigation && h("slot", { key: '07e9e48d1c18782dd993ded29fa10c110e33ac45', name: "navigation" })), this.hasButtons && (h("div", { key: 'c612c03b21a75159952df5fef4d8e4675016f08f', class: {
130
130
  ["menu-buttons-container"]: true,
131
131
  ["menu-buttons-container-nav-item-above"]: this.navItemAboveButtons,
132
- } }, h("slot", { key: '38a17cb7addc92a6b7efe4497e97e28161b968eb', name: "buttons" }))), (this.status !== "" || this.version !== "") && (h("div", { key: '2aa88c95fa491ca88b6c1479f8efedaf154cd705', class: {
132
+ } }, h("slot", { key: '131e946d6f9e945fe7b1cbd4fde77b98b9b70a0c', name: "buttons" }))), (this.status !== "" || this.version !== "") && (h("div", { key: '384bda4e21929e99d7fe5a00e4cfc24099c8e6a3', class: {
133
133
  ["menu-status-version-container"]: true,
134
134
  ["status-version-no-buttons"]: !this.hasButtons,
135
- } }, this.status !== "" && (h("div", { key: '8622760368a90bc0d23838ba68515f1fa0a5f58d', class: "menu-status" }, h("ic-typography", { key: '07bd54c4a3b95f4b582cc83959b42da930008f39', variant: "label-uppercase", "aria-label": "app tag", class: "menu-status-text" }, this.status))), this.version !== "" && (h("div", { key: '58bbb4b9eb1531132fabc526b0271ae16807e795', class: "menu-version" }, h("ic-typography", { key: '8dc5efdec4a21ffaad32e7542994a4bb40942108', variant: "label", class: "menu-version-text", "aria-label": "app version" }, this.version))))))));
135
+ } }, this.status !== "" && (h("div", { key: 'd24f9fd062b4bde97398c554e00d29a4b167cda7', class: "menu-status" }, h("ic-typography", { key: 'd4637e8dde7947670ad8fd74a459de41c5b7cbae', variant: "label-uppercase", "aria-label": "app tag", class: "menu-status-text" }, this.status))), this.version !== "" && (h("div", { key: '249add67c9c6edc58003c2359861f203e411bf64', class: "menu-version" }, h("ic-typography", { key: '3115e920fb4ce107b2d377eeefef649159a1f0f1', variant: "label", class: "menu-version-text", "aria-label": "app version" }, this.version))))))));
136
136
  }
137
137
  static get is() { return "ic-navigation-menu"; }
138
138
  static get encapsulation() { return "shadow"; }
@@ -111,19 +111,19 @@ export class PageHeader {
111
111
  const navAriaLabel = `${isSlotUsed(this.el, "heading")
112
112
  ? (_b = (_a = this.el.querySelector('[slot="heading"]')) === null || _a === void 0 ? void 0 : _a.textContent) !== null && _b !== void 0 ? _b : ""
113
113
  : heading !== null && heading !== void 0 ? heading : ""} page sections`;
114
- return (h(Host, { key: 'c8e370ff1598aa28712785d4b507bf5f025cebdb', class: {
114
+ return (h(Host, { key: '3f81ad49917a1bebdda22330e6f5330ddb8e4607', class: {
115
115
  ["ic-page-header-sticky"]: !!sticky,
116
116
  ["ic-page-header-sticky-desktop"]: !sticky && !!stickyDesktopOnly,
117
117
  [`ic-theme-${theme}`]: theme !== "inherit",
118
- }, "aria-label": this.el.ariaLabel || "page header" }, h("header", { key: 'f053e88d5e15efceffca136fd7ea40149128cd24', class: {
118
+ }, "aria-label": this.el.ariaLabel || "page header" }, h("header", { key: '4e676a6514eadeea3d5cae863e75af7ff3b94649', class: {
119
119
  ["border-bottom"]: !!border,
120
120
  ["tabs"]: isSlotUsed(this.el, "tabs"),
121
- }, role: "presentation" }, h("ic-section-container", { key: '01db3e4aab357dbb9c7f01f170606811466076ca', aligned: aligned, fullHeight: isSlotUsed(this.el, "tabs") }, isSlotUsed(this.el, "breadcrumbs") && (h("div", { key: '4b40dc91ec48350ed36dfc9a48c9602ba43f5373', class: "breadcrumb-area" }, h("slot", { key: 'caf027eadebbc1380c21749aca3ee0577f238c1a', name: "breadcrumbs" }))), h("div", { key: '9cc48ff862ec47b5c4f6e4339f3de5e01a095c5d', class: "main-content" }, h("div", { key: '2728890f07f94ce5a9281c4840b17bbf76fe4386', class: "title-area" }, h("div", { key: 'bbe4d03abb131d393eab89e60d3efc5b7c16e689', class: "header-content" }, h("slot", { key: '5cd6f3d2aff865e81b86e88cdb9c3bddafe8880d', name: "heading" }, h("ic-typography", { key: '134d8df0f315058110e52305aca1764da98f9727', variant: size === "small" ? "h4" : "h2", class: "heading" }, h("h2", { key: 'ab8b90eb1ed5c8c563fe911e6a19b47687e38bbb' }, heading))), h("slot", { key: '7d03675494aec7af35f8f1ce948399f9f254f163', name: "heading-adornment" })), h("div", { key: 'b34566b9c5c92fe9fdc66faecf607917a4aeed29', class: {
121
+ }, role: "presentation" }, h("ic-section-container", { key: 'f5c3eceb50af527dc0a6e9ae0a37f31a22334234', aligned: aligned, fullHeight: isSlotUsed(this.el, "tabs") }, isSlotUsed(this.el, "breadcrumbs") && (h("div", { key: 'e5c57032784f736af68fb587d49c2d91dd6dfe2f', class: "breadcrumb-area" }, h("slot", { key: 'ebd6a9ea582e9ab9352475fd93a1d01da8691ce5', name: "breadcrumbs" }))), h("div", { key: 'f017c563594f1cd82ae1f2dc56f1303933a358b7', class: "main-content" }, h("div", { key: '6e9fd38352c39faac30c7bc0b3d3bb1bf0541bde', class: "title-area" }, h("div", { key: '214882f62caa4ed6ff23f9f87414c82fa4f1ee7b', class: "header-content" }, h("slot", { key: 'fd99c8e27de2c92f4b8ba0c15c4daf681709531f', name: "heading" }, h("ic-typography", { key: 'd7230bbe28b9fb91f03e87fdaaf41b6deca5a542', variant: size === "small" ? "h4" : "h2", class: "heading" }, h("h2", { key: '63fe762aba268afa25aff458fc1e824272544f33' }, heading))), h("slot", { key: '2039cc87272f3ab1a479350223238e537b6ee2f4', name: "heading-adornment" })), h("div", { key: 'd1253c48dbd399c24a059e62f2545f477811e815', class: {
122
122
  ["subheading-content"]: !!subheading || isSlotUsed(this.el, "subheading"),
123
123
  ["small"]: size === "small",
124
- } }, h("slot", { key: '41d87736aa23ad7bc6ba47ff3a95a977807c68cf', name: "subheading" }, h("ic-typography", { key: '329f6d9840e4ed9109613c5f199d75340fd6fdc2', variant: "body" }, subheading)))), isSlotUsed(this.el, "actions") && (h("div", { key: '36e1ae6a57d69362c2c1bfd7237779ea388984b6', class: "action-area" }, h("slot", { key: 'e91d537a1ada1c2a7a239a28f698eabb46c2c0a7', name: "actions" }))), isSlotUsed(this.el, "input") && (h("div", { key: 'b1432a5a237e6a10a67cbe51c9cb657bb2674d5d', class: "input-area" }, h("slot", { key: '6896f964608a3a9f93719f1a508c7c411d7a2a05', name: "input" })))), (isSlotUsed(this.el, "stepper") ||
125
- isSlotUsed(this.el, "tabs")) && (h("div", { key: '186a79cb9e798376abe710d5ae90e9d0d2b1dfc7', class: "navigation-area" }, isSlotUsed(this.el, "stepper") &&
126
- !isSlotUsed(this.el, "tabs") && h("slot", { key: 'ee5c38d0953c558ef430f3de863edef69f33b025', name: "stepper" }), isSlotUsed(this.el, "tabs") && (h("nav", { key: '02fcd488fd3ef4e4562cae7827c1890d600474f3', "aria-label": navAriaLabel }, h("ic-horizontal-scroll", { key: '28660775ba31c4bcd7d589b9ed32b7fec75bff62' }, h("ul", { key: 'ed3332f75cf9c9c93b60db8696cb55847eba93cb', class: "tabs-slot" }, h("slot", { key: 'c34be8460a08d83074ace0d458c40fefffbe0807', name: "tabs" })))))))))));
124
+ } }, h("slot", { key: '656675e2ded3fdd2027b0215709cf6faaab7322c', name: "subheading" }, h("ic-typography", { key: 'fe3bb6b5feb0b725d77e6cf8f5edc212f4c4b506', variant: "body" }, subheading)))), isSlotUsed(this.el, "actions") && (h("div", { key: 'f4a2e70fd311c12810eabc05e3a865e4efbba6b8', class: "action-area" }, h("slot", { key: 'a89c115c6e17021786908022ffc58abe07a88343', name: "actions" }))), isSlotUsed(this.el, "input") && (h("div", { key: 'a26a7f73e3ee189f6bd9310339cda77cf128a309', class: "input-area" }, h("slot", { key: '245383298b97190b21f9723326ac34422bd197ac', name: "input" })))), (isSlotUsed(this.el, "stepper") ||
125
+ isSlotUsed(this.el, "tabs")) && (h("div", { key: 'c80f1d04a4300b4f80ff4e2dfa418f985a13e047', class: "navigation-area" }, isSlotUsed(this.el, "stepper") &&
126
+ !isSlotUsed(this.el, "tabs") && h("slot", { key: '5646084a82aefc58c4912f9b765149393973f8c0', name: "stepper" }), isSlotUsed(this.el, "tabs") && (h("nav", { key: 'd7cccfe9d053d1e6849d57665157c841f2434a36', "aria-label": navAriaLabel }, h("ic-horizontal-scroll", { key: '2ca15ea3dc35db5f9a9003cdbce55b113bae12c8' }, h("ul", { key: '3007121bcc05264e5df9986b5231693808b72368', class: "tabs-slot" }, h("slot", { key: 'd124be273a3cbc36154b2add48ea1c7a36d6e592', name: "tabs" })))))))))));
127
127
  }
128
128
  static get is() { return "ic-page-header"; }
129
129
  static get encapsulation() { return "shadow"; }
@@ -239,14 +239,14 @@ export class Pagination {
239
239
  }
240
240
  render() {
241
241
  const { type, currentPage, hideCurrentPage, disabled, hideFirstAndLastPageButton, label, theme, monochrome, } = this;
242
- return (h(Host, { key: '41c3da149fa9478f842f05931c9dbfaeed3b28c9', class: {
242
+ return (h(Host, { key: '2acdd8b04920cef0c72fc4651292abc9bd69ec1e', class: {
243
243
  [`ic-theme-${theme}`]: theme !== "inherit",
244
244
  ["ic-pagination-monochrome"]: !!monochrome,
245
- } }, type === "simple" && (h("nav", { key: '28dd37c1bfc70c1a46d5be79402a2f358f1dae8e', class: {
245
+ } }, type === "simple" && (h("nav", { key: 'b63e353f7fe95cf279ae4ed80431a4c7dab237ef', class: {
246
246
  ["disabled"]: !!disabled,
247
- }, role: "navigation", "aria-label": "Pagination Navigation" }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), h("ic-pagination-item", { key: 'fd8075b42813e6bb183a59a7d663410efbc032e4', theme: this.theme, monochrome: this.monochrome, type: "simple-current", page: currentPage, label: label, class: { ["hide-current-page"]: !!hideCurrentPage }, disabled: disabled }), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === "complex" && (h("nav", { key: 'e5cc07eeb2ab5daae6c093df1fb7bad7efee28b6', class: {
247
+ }, role: "navigation", "aria-label": "Pagination Navigation" }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), h("ic-pagination-item", { key: '6399e68f44cd106050e227c0492cea207911193f', theme: this.theme, monochrome: this.monochrome, type: "simple-current", page: currentPage, label: label, class: { ["hide-current-page"]: !!hideCurrentPage }, disabled: disabled }), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === "complex" && (h("nav", { key: 'c7dba8035b72f606bc69ae9daac63f150671a309', class: {
248
248
  ["disabled"]: !!disabled,
249
- }, role: "navigation", "aria-label": "Pagination Navigation" }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), this.renderStartItems(), this.startEllipsis && this.renderStartEllipsis(), this.renderMiddleItems(), this.endEllipsis && this.renderEndEllipsis(), this.renderEndItems(), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === "complex" && (h("span", { key: 'ef2236138709fd5e0ea462a8968c1394a2efba47', class: "sr-only", "aria-live": "polite" }, "Page ", this.currentPage))));
249
+ }, role: "navigation", "aria-label": "Pagination Navigation" }, hideFirstAndLastPageButton ? null : this.firstButton(), this.previousButton(), this.renderStartItems(), this.startEllipsis && this.renderStartEllipsis(), this.renderMiddleItems(), this.endEllipsis && this.renderEndEllipsis(), this.renderEndItems(), this.nextButton(), hideFirstAndLastPageButton ? null : this.lastButton())), type === "complex" && (h("span", { key: 'a7f3861bf255d89f193da8e630865c972e319a71', class: "sr-only", "aria-live": "polite" }, "Page ", this.currentPage))));
250
250
  }
251
251
  static get is() { return "ic-pagination"; }
252
252
  static get encapsulation() { return "shadow"; }
@@ -38,7 +38,7 @@ export class PaginationItem {
38
38
  }
39
39
  render() {
40
40
  const { page, selected, type, disabled, label, capitalizedLabel, monochrome, } = this;
41
- return (h("a", { key: '21415f5d398cf1bf2b727e3b32c8cd94f33b0966', class: { ["monochrome"]: !!monochrome } }, type === "ellipsis" ? (h("div", { class: {
41
+ return (h("a", { key: '9b34e182ea83cdb24f48997314fe5f456d37e5f8', class: { ["monochrome"]: !!monochrome } }, type === "ellipsis" ? (h("div", { class: {
42
42
  ["item-container"]: true,
43
43
  ["ellipsis"]: true,
44
44
  ["disabled"]: !!disabled,
@@ -9,6 +9,10 @@ export class PopoverMenu {
9
9
  this.openingFromChild = false;
10
10
  this.openingFromParent = false;
11
11
  this.popperProps = {};
12
+ /**
13
+ * Setting to `true` can help in situations where tooltip content is clipped by a parent element.
14
+ */
15
+ this.fixedPositioning = false;
12
16
  /**
13
17
  * @internal The level of menu being displayed.
14
18
  */
@@ -94,7 +98,7 @@ export class PopoverMenu {
94
98
  };
95
99
  this.initPopperJS = () => {
96
100
  if (this.anchorEl) {
97
- this.popperInstance = createPopper(this.anchorEl, this.el, Object.assign({ placement: "bottom-start", modifiers: [
101
+ this.popperInstance = createPopper(this.anchorEl, this.el, Object.assign({ strategy: this.fixedPositioning ? "fixed" : "absolute", placement: "bottom-start", modifiers: [
98
102
  {
99
103
  name: "offset",
100
104
  options: {
@@ -269,17 +273,17 @@ export class PopoverMenu {
269
273
  this.popperProps = props;
270
274
  }
271
275
  render() {
272
- return (h(Host, { key: 'bf477545827775810fff96aeaec431968ddc868b', class: {
276
+ return (h(Host, { key: '5ffa8a51af3508448af45892be2854e7caadfc1d', class: {
273
277
  ["ic-popover-menu-open"]: !!this.open,
274
278
  [`ic-theme-${this.theme}`]: this.theme !== "inherit",
275
- } }, h("div", { key: '8d806c10e5e2838f2c80bff8f6b3f2c0d5b5953a', id: this.parentPopover === undefined
279
+ } }, h("div", { key: 'c3160d601be3e64a081da71a369e5c91258000ae', id: this.parentPopover === undefined
276
280
  ? `ic-popover-submenu-${this.submenuId}`
277
281
  : "", class: {
278
282
  menu: true,
279
- } }, h("span", { key: 'db4ddaa0ec0d2e425e0b49214f40098242de2710', class: {
283
+ } }, h("span", { key: 'ae7a23ecfc8d5bba00f00e921292d227be204de4', class: {
280
284
  "opening-from-parent": this.openingFromParent,
281
285
  "opening-from-child": this.openingFromChild,
282
- } }, isPropDefined(this.submenuId) && (h("span", { key: 'c0caa5f7a151e1ec2b41a9f5cdb8675409c3b969' }, h("span", { key: 'ee3b377e7079ef95acdc5bfb3a0d3b7f83e27db2', role: "menu" }, h("ic-menu-item", { key: '5f232c237300e529a5d3bd9d18eee5625f1dc0cd', class: "ic-popover-submenu-back-button", ref: (el) => (this.backButton = el), label: "Back", onClick: this.handleBackButtonClick, id: `ic-popover-submenu-back-button-${this.submenuLevel}` }, h("svg", { key: 'a0618ef1598d66a8c6b14a0b7a608f0d11a84616', slot: "icon", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: "submenu-back-icon" }, h("path", { key: 'ccdcb5e5ad7593839b9ae54f86586719c1ceb4dc', d: "M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z", fill: "currentColor" })))), h("ic-typography", { key: 'd6d1fbcd077f474eef14ba4d77f5d2bc4f5e30dc', variant: "subtitle-small", class: "parent-label" }, this.parentLabel))), h("div", { key: '31727abcc337bbd7b242b3387f6bd260a3abadd4', class: "menu-body", "aria-label": this.getMenuAriaLabel(), role: "menu" }, h("slot", { key: '9cfdbe9c8a166d68ef1a00159c8b5b04fb1e29f7' }))))));
286
+ } }, isPropDefined(this.submenuId) && (h("span", { key: '003ba26d863d718db5b8b6d2ff54710e02eb7677' }, h("span", { key: '4db795ec37a6ac82956e483bb2bf5a73961377e5', role: "menu" }, h("ic-menu-item", { key: 'a102e3c94bb5ba26c8f37c1948230f5dd2bd2c5a', class: "ic-popover-submenu-back-button", ref: (el) => (this.backButton = el), label: "Back", onClick: this.handleBackButtonClick, id: `ic-popover-submenu-back-button-${this.submenuLevel}` }, h("svg", { key: 'e97bd20445b09d2ba20bfbf9a6808a9e925b1c39', slot: "icon", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", class: "submenu-back-icon" }, h("path", { key: '1e8b35769c14f03ee11c26250f84d0dc23963dc0', d: "M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z", fill: "currentColor" })))), h("ic-typography", { key: 'cfbbf43ec26066f7aa1879baf0ef4c8705248bcb', variant: "subtitle-small", class: "parent-label" }, this.parentLabel))), h("div", { key: '54ac1fa4283a77f2678a21e2869be48db726aa09', class: "menu-body", "aria-label": this.getMenuAriaLabel(), role: "menu" }, h("slot", { key: '986dfbed5c2337812f4ac529910240cfc4ffe216' }))))));
283
287
  }
284
288
  static get is() { return "ic-popover-menu"; }
285
289
  static get encapsulation() { return "shadow"; }
@@ -315,6 +319,26 @@ export class PopoverMenu {
315
319
  "attribute": "anchor",
316
320
  "reflect": false
317
321
  },
322
+ "fixedPositioning": {
323
+ "type": "boolean",
324
+ "mutable": false,
325
+ "complexType": {
326
+ "original": "boolean",
327
+ "resolved": "boolean",
328
+ "references": {}
329
+ },
330
+ "required": false,
331
+ "optional": false,
332
+ "docs": {
333
+ "tags": [],
334
+ "text": "Setting to `true` can help in situations where tooltip content is clipped by a parent element."
335
+ },
336
+ "getter": false,
337
+ "setter": false,
338
+ "attribute": "fixed-positioning",
339
+ "reflect": false,
340
+ "defaultValue": "false"
341
+ },
318
342
  "parentLabel": {
319
343
  "type": "string",
320
344
  "mutable": false,
@@ -1 +1 @@
1
- {"version":3,"file":"ic-popover-menu.js","sourceRoot":"","sources":["../../../src/components/ic-popover-menu/ic-popover-menu.tsx"],"names":[],"mappings":"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","sourcesContent":["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 * @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 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"]}
1
+ {"version":3,"file":"ic-popover-menu.js","sourceRoot":"","sources":["../../../src/components/ic-popover-menu/ic-popover-menu.tsx"],"names":[],"mappings":"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","sourcesContent":["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"]}
@@ -497,6 +497,100 @@ export const AutoOpening = {
497
497
  name: "Auto opening",
498
498
  };
499
499
 
500
+ export const PositioningStrategy = {
501
+ render: (args) => html`
502
+ <script>
503
+ var icPopovers = document.querySelectorAll("ic-popover-menu");
504
+ var icParentPopover = icPopovers[0];
505
+ var switchEl = document.querySelector("ic-switch");
506
+ switchEl.addEventListener("icChange", (ev) => {
507
+ icPopovers.forEach((popover) => {
508
+ popover.fixedPositioning = ev.detail.checked;
509
+ });
510
+ });
511
+ function buttonClick() {
512
+ icParentPopover.open = !icParentPopover.open;
513
+ }
514
+ icParentPopover.addEventListener("icPopoverClosed", handleClosed);
515
+ function handleClosed(event) {
516
+ console.log("icPopoverClosed: ", event);
517
+ }
518
+ </script>
519
+ <div style="display:flex; flex-direction:column; gap:var(--ic-space-xs)">
520
+ <ic-typography>
521
+ Toggle the fixed positioning switch and open the popover to see it take
522
+ effect
523
+ </ic-typography>
524
+ <div
525
+ style="display:flex; flex-direction:column; gap:var(--ic-space-xs); padding:var(--ic-space-md); border:1px solid var(--ic-color-text-primary); overflow:hidden; width:160px; position:relative"
526
+ >
527
+ <ic-button id="button-1" onclick="buttonClick()"
528
+ >Show/Hide popover</ic-button
529
+ >
530
+ <ic-popover-menu anchor="button-1" aria-label="popover">
531
+ <ic-menu-item label="Copy code" disabled="true"></ic-menu-item>
532
+ <ic-menu-group label="View">
533
+ <ic-menu-item
534
+ label="Zoom in"
535
+ keyboard-shortcut-label="Cmd+"
536
+ ></ic-menu-item>
537
+ <ic-menu-item
538
+ label="Zoom out"
539
+ keyboard-shortcut-label="Cmd-"
540
+ ></ic-menu-item>
541
+ </ic-menu-group>
542
+ <ic-menu-item
543
+ label="Actions"
544
+ submenu-trigger-for="abc"
545
+ ></ic-menu-item>
546
+ <ic-menu-item
547
+ label="Logout"
548
+ variant="destructive"
549
+ disabled="true"
550
+ ></ic-menu-item>
551
+ </ic-popover-menu>
552
+ <ic-popover-menu submenu-id="abc">
553
+ <ic-menu-item label="Edit"></ic-menu-item>
554
+ <ic-menu-item
555
+ label="Find"
556
+ submenu-trigger-for="abc123"
557
+ ></ic-menu-item>
558
+ <ic-menu-item label="Delete" variant="destructive"></ic-menu-item>
559
+ </ic-popover-menu>
560
+ <ic-popover-menu submenu-id="abc123">
561
+ <ic-menu-item
562
+ disabled="true"
563
+ label="Search the web"
564
+ description="This will search the web to find the thing you are looking for."
565
+ ></ic-menu-item>
566
+ <ic-menu-item label="Find..."></ic-menu-item>
567
+ <ic-menu-item label="Find icons">
568
+ <svg
569
+ slot="icon"
570
+ xmlns="http://www.w3.org/2000/svg"
571
+ height="24px"
572
+ viewBox="0 0 24 24"
573
+ width="24px"
574
+ >
575
+ <path d="M0 0h24v24H0V0z" fill="none" />
576
+ <path
577
+ d="M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4l-2.35 2.35z"
578
+ />
579
+ </svg>
580
+ </ic-menu-item>
581
+ <ic-menu-item
582
+ label="Show found results"
583
+ variant="toggle"
584
+ ></ic-menu-item>
585
+ </ic-popover-menu>
586
+ </div>
587
+ <ic-switch label="Fixed popover positioning"></ic-switch>
588
+ </div>
589
+ `,
590
+
591
+ name: "Positioning strategy",
592
+ };
593
+
500
594
  export const Playground = {
501
595
  render: (args) =>
502
596
  html`<div>
@@ -12,12 +12,12 @@ export class SectionContainer {
12
12
  }
13
13
  render() {
14
14
  const { aligned, fullHeight } = this;
15
- return (h(Host, { key: '353b38e749d03e4838d93d9b58f3bddc0980099f', class: {
15
+ return (h(Host, { key: '7e3838f9957b51b23ee95dac75e4180fcab480e3', class: {
16
16
  ["aligned-left"]: aligned === "left" || aligned === null,
17
17
  ["aligned-center"]: aligned === "center",
18
18
  ["aligned-full-width"]: aligned === "full-width",
19
19
  ["no-vertical-padding"]: !!fullHeight,
20
- } }, h("slot", { key: 'd79345e552288f52d7ad83d2bd0e2ceaae9b1570' })));
20
+ } }, h("slot", { key: 'aafd106b176cf123f56af5917ef6d04765d95538' })));
21
21
  }
22
22
  static get is() { return "ic-section-container"; }
23
23
  static get encapsulation() { return "shadow"; }
@@ -784,18 +784,18 @@ export class Select {
784
784
  (searchable
785
785
  ? !!searchableSelectInputValue
786
786
  : !!currValue && !loading && showClearButton);
787
- return (h(Host, { key: '17ddc749c9c786831031d470c5abdb1200293804', class: {
787
+ return (h(Host, { key: '7b99a667632c04cccbe465f90c4f5a9436ed04e2', class: {
788
788
  "ic-select-disabled": disabled,
789
789
  "ic-select-searchable": searchable,
790
790
  [`ic-select-${size}`]: size !== "medium",
791
791
  "ic-select-full-width": fullWidth,
792
792
  [`ic-theme-${theme}`]: theme !== "inherit",
793
- }, onBlur: this.onBlur }, h("ic-input-container", { key: 'dac29abdd5b97fa78df511481a08c1657b56744d', readonly: readonly }, !hideLabel && (h("ic-input-label", { key: '83f950a29ea0bea2a73494d033b433ab792621f6', for: inputId, label: label, helperText: helperText, required: required, disabled: disabled, readonly: readonly }, h("slot", { key: 'e0b1ba22f6b42a4b912d8b86ca87768301cdd6c6', name: "helper-text", slot: "helper-text" }))), h("ic-input-component-container", { key: '682ddb2e85e88bf60fab50faa8e0fdcd85ac1951', ref: (el) => (this.anchorEl = el), class: { "menu-open": open }, size: size, fullWidth: fullWidth, disabled: disabled, readonly: readonly, validationStatus: validationStatus }, isSlotUsed(this.el, "icon") &&
793
+ }, onBlur: this.onBlur }, h("ic-input-container", { key: 'be3746b8ac59d37562999157b5b70fbc5fb6cc18', readonly: readonly }, !hideLabel && (h("ic-input-label", { key: 'ccb2417565197ba5d71ce4ed25c2951a042bdcab', for: inputId, label: label, helperText: helperText, required: required, disabled: disabled, readonly: readonly }, h("slot", { key: 'eec64f5e410f4bbdfbea7afd23f8fd3bc4592429', name: "helper-text", slot: "helper-text" }))), h("ic-input-component-container", { key: '1b059596836c96987edadd6b0ec5a46c057e5fb6', ref: (el) => (this.anchorEl = el), class: { "menu-open": open }, size: size, fullWidth: fullWidth, disabled: disabled, readonly: readonly, validationStatus: validationStatus }, isSlotUsed(this.el, "icon") &&
794
794
  !disabled &&
795
- (!readonly || !!value) && (h("span", { key: '743293181707560cac9fa7037c1d8a95faacbba1', slot: "left-icon", class: {
795
+ (!readonly || !!value) && (h("span", { key: '594527db6666a07c89038b173b1abd7e4191efc5', slot: "left-icon", class: {
796
796
  readonly,
797
797
  "has-value": !!value,
798
- } }, h("slot", { key: '4925b524b62ce20585e1f7bc88fb9cc7cf543d12', name: "icon" }))), readonly ? (h("ic-typography", null, h("p", null, valueLabelString))) : isMobileOrTablet() && !multiple ? (h("select", Object.assign({ ref: (el) => (this.nativeSelectElement = el), disabled: disabled, onChange: this.handleNativeSelectChange, required: required, id: inputId, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.handleNativeSelectKeyDown, form: form }, inheritedAttributes), h("option", { value: "", selected: true, disabled: !showClearButton }, placeholder), options.map((option) => option.children ? (h("optgroup", { label: option.label }, option.children.map((child) => this.renderNativeOption(child)))) : (this.renderNativeOption(option))))) : searchable ? (h("div", { class: "searchable-select-container" }, h("input", { class: {
798
+ } }, h("slot", { key: '5b982f545b7a35f2a2b16ca15278de2c6decfd00', name: "icon" }))), readonly ? (h("ic-typography", null, h("p", null, valueLabelString))) : isMobileOrTablet() && !multiple ? (h("select", Object.assign({ ref: (el) => (this.nativeSelectElement = el), disabled: disabled, onChange: this.handleNativeSelectChange, required: required, id: inputId, "aria-label": label, "aria-describedby": describedBy, "aria-invalid": invalid, onBlur: this.onBlur, onFocus: this.onFocus, onKeyDown: this.handleNativeSelectKeyDown, form: form }, inheritedAttributes), h("option", { value: "", selected: true, disabled: !showClearButton }, placeholder), options.map((option) => option.children ? (h("optgroup", { label: option.label }, option.children.map((child) => this.renderNativeOption(child)))) : (this.renderNativeOption(option))))) : searchable ? (h("div", { class: "searchable-select-container" }, h("input", { class: {
799
799
  "select-input": true,
800
800
  "with-clear-button": !!searchableSelectInputValue,
801
801
  }, role: "combobox", autocomplete: "off", "aria-label": label, "aria-describedby": describedBy, "aria-activedescendant": ariaActiveDescendant, "aria-autocomplete": "list", "aria-expanded": `${open}`, "aria-invalid": invalid, "aria-required": `${required}`, "aria-controls": menuId, ref: (el) => (this.searchableSelectElement = el), id: inputId, value: searchableSelectInputValue || undefined, placeholder: placeholder, disabled: disabled, onInput: this.handleSearchableSelectInput, onClick: this.handleClick, onKeyDown: this.handleKeyDown, onFocus: this.onFocus, onBlur: this.onBlur, form: form }), isClearable && (h("div", { class: "clear-button-container" }, h("ic-button", { id: "clear-button", ref: (el) => (this.clearButton = el), "aria-label": searchableSelectInputValue &&
@@ -815,13 +815,13 @@ export class Select {
815
815
  } }, valueLabelString || placeholder), h("div", { class: "select-input-end" }, isClearable && h("div", { class: "divider" }), h("span", { class: {
816
816
  "expand-icon": true,
817
817
  "expand-icon-open": open,
818
- }, innerHTML: Expand, "aria-hidden": "true" }))), isClearable && (h("ic-button", { id: "clear-button", "aria-label": "Clear selection", class: "clear-button", innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: size, variant: "icon", theme: clearButtonFocused ? "light" : "dark" }))))), (!isMobileOrTablet() || multiple) && (h("ic-menu", { key: 'bff3cb65c73365cf55b3d00befdb2b0b35105219', class: {
818
+ }, innerHTML: Expand, "aria-hidden": "true" }))), isClearable && (h("ic-button", { id: "clear-button", "aria-label": "Clear selection", class: "clear-button", innerHTML: Clear, onClick: this.handleClear, onFocus: this.handleClearButtonFocus, onBlur: this.handleClearButtonBlur, size: size, variant: "icon", theme: clearButtonFocused ? "light" : "dark" }))))), (!isMobileOrTablet() || multiple) && (h("ic-menu", { key: '841eb3f04181992c0b00b033d19fe3650544c0ad', class: {
819
819
  "no-results": loading ||
820
820
  hasTimedOut ||
821
821
  ((_a = noOptions === null || noOptions === void 0 ? void 0 : noOptions[0]) === null || _a === void 0 ? void 0 : _a.label) === emptyOptionListText,
822
822
  }, ref: (el) => (this.menu = el), inputEl: searchable
823
823
  ? this.searchableSelectElement
824
- : this.customSelectElement, inputLabel: label, anchorEl: this.anchorEl, size: size, menuId: menuId, open: open, options: searchable ? filteredOptions : uniqueOptions, value: multiple ? currValue : currValue, fullWidth: fullWidth, selectOnEnter: selectOnEnter, onMenuStateChange: this.handleMenuChange, onMenuOptionSelect: this.handleCustomSelectChange, onMenuOptionSelectAll: this.handleSelectAllChange, onMenuKeyPress: this.handleMenuKeyPress, onUngroupedOptionsSet: this.setUngroupedOptions, onRetryButtonClicked: this.handleRetry, parentEl: this.el, onTimeoutBlur: this.onTimeoutBlur, activationType: searchable || multiple || selectOnEnter ? "manual" : "automatic", closeOnSelect: !multiple, multiSelect: multiple ? true : false, searchableSelect: searchable ? true : false })), multiple && (h("div", { key: 'c3a82cef8d2f90cc5b80ba435c63bf8b25aeaa4b', "aria-live": "polite", role: "status", class: "multi-select-selected-count" })), hasValidationStatus(validationStatus, disabled) && (h("ic-input-validation", { key: 'd5a812ebb98068eb82e642483002dfa652eb618c', class: { "menu-open": open }, ariaLiveMode: "polite", status: validationStatus, message: validationText, for: inputId })))));
824
+ : this.customSelectElement, inputLabel: label, anchorEl: this.anchorEl, size: size, menuId: menuId, open: open, options: searchable ? filteredOptions : uniqueOptions, value: multiple ? currValue : currValue, fullWidth: fullWidth, selectOnEnter: selectOnEnter, onMenuStateChange: this.handleMenuChange, onMenuOptionSelect: this.handleCustomSelectChange, onMenuOptionSelectAll: this.handleSelectAllChange, onMenuKeyPress: this.handleMenuKeyPress, onUngroupedOptionsSet: this.setUngroupedOptions, onRetryButtonClicked: this.handleRetry, parentEl: this.el, onTimeoutBlur: this.onTimeoutBlur, activationType: searchable || multiple || selectOnEnter ? "manual" : "automatic", closeOnSelect: !multiple, multiSelect: multiple ? true : false, searchableSelect: searchable ? true : false })), multiple && (h("div", { key: 'fecc09136ac127471d4f70ba69d3a26ba0a0a602', "aria-live": "polite", role: "status", class: "multi-select-selected-count" })), hasValidationStatus(validationStatus, disabled) && (h("ic-input-validation", { key: 'b03f8b488a2b31686e1fa7150c0a407c3533accf', class: { "menu-open": open }, ariaLiveMode: "polite", status: validationStatus, message: validationText, for: inputId })))));
825
825
  }
826
826
  static get is() { return "ic-select"; }
827
827
  static get encapsulation() { return "shadow"; }
@@ -451,7 +451,7 @@ export class SideNavigation {
451
451
  isAppNameSubtitleVariant,
452
452
  appTitle: appTitle || "",
453
453
  };
454
- return (h(Host, { key: '7c08948b0f483f08399d9a843cc372a6e1117cd9', class: {
454
+ return (h(Host, { key: '3a4a405aa30061588d0ac895db6e59f3c6b10636', class: {
455
455
  "xs-menu-open": menuOpen && isSDevice,
456
456
  "xs-menu-close": !menuOpen && isSDevice,
457
457
  "sm-collapsed": !isSDevice && !menuExpanded,
@@ -460,12 +460,12 @@ export class SideNavigation {
460
460
  [`ic-side-navigation-${IcBrandForegroundEnum.Dark}`]: foregroundColor === IcBrandForegroundEnum.Dark,
461
461
  ["collapsed-labels"]: !isSDevice && !menuExpanded && !!collapsedIconLabels,
462
462
  ["ic-side-navigation-inline"]: !!inline,
463
- } }, isSDevice && this.renderTopBar(Object.assign({}, topBarProps)), h("div", { key: '39c88b80293b80db40ed2687f8c7a2b73db108f3', class: "side-navigation", id: "side-navigation" }, !isSDevice && this.renderTopBar(Object.assign({}, topBarProps)), h("div", { key: 'bc088f01295f7f02fb8cdc42f5daf5c1e7134949', class: "side-navigation-inner" }, isSlotUsed(this.el, "primary-navigation") && (h("nav", { key: '9b9e561ef17bc3678f5bcec1fe164db88efe8961', class: "primary-navigation", "aria-labelledby": "primary-navigation-landmark" }, h("span", { key: '9eaf0d09e985d890b60a2b522d5df08918582236', "aria-hidden": "true", class: "navigation-landmark-title", id: "primary-navigation-landmark" }, "Primary"), h("ul", { key: '55a2cc5e38b2f304d430e943127bbcd52c418ccd', class: "navigation-list" }, h("slot", { key: 'dce3539aa12916535b689ce1a2c3daebf2dfd17f', name: "primary-navigation" }))))), h("div", { key: '2124eb9c5ff8290ca530a562f4acb3068fb0063c', class: {
463
+ } }, isSDevice && this.renderTopBar(Object.assign({}, topBarProps)), h("div", { key: '158fd91a6728e919125eef39fe46a03efe9b0728', class: "side-navigation", id: "side-navigation" }, !isSDevice && this.renderTopBar(Object.assign({}, topBarProps)), h("div", { key: 'd77452616f1f0bd6c49e0c0e28ea20474f70eadc', class: "side-navigation-inner" }, isSlotUsed(this.el, "primary-navigation") && (h("nav", { key: '4d8dc4620dbe4288f92ac43a341104b989a5b0c6', class: "primary-navigation", "aria-labelledby": "primary-navigation-landmark" }, h("span", { key: 'acd709a0b58914936c593e5ed82d045b01a19ef9', "aria-hidden": "true", class: "navigation-landmark-title", id: "primary-navigation-landmark" }, "Primary"), h("ul", { key: '6c754d54f09ad1b8264817d5c141fa9bdc63b7fd', class: "navigation-list" }, h("slot", { key: '7f5de9f4adae9d6e0f9a24c095aca5d64049a0b4', name: "primary-navigation" }))))), h("div", { key: 'e0e68cefffb5a521c0a051c4af87c28fae21f922', class: {
464
464
  ["bottom-wrapper"]: true,
465
465
  ["classification-spacing"]: hasClassificationBanner(),
466
- } }, isSlotUsed(this.el, "secondary-navigation") && (h("nav", { key: '4106c644d7a439ba2666b906ec7347d650b5b05c', class: "secondary-navigation", "aria-labelledby": "secondary-navigation-landmark" }, h("span", { key: 'f58a64351b6ba155aa5b00c81e54ddbdb8aed227', "aria-hidden": "true", class: "navigation-landmark-title", id: "secondary-navigation-landmark" }, "Secondary"), h("ul", { key: '4cb6c3a3945270f216e36a8647740cc1747165c4', class: "navigation-list" }, h("slot", { key: '2ccc8555d80f15fa9ee40a7a9d89e6c21c519699', name: "secondary-navigation" })))), h("div", { key: 'e36505c13b14e9eb766d52e50dfef11ad86cf9e0', class: "bottom-side-nav" }, this.hasSecondaryNavigation && h("ic-divider", { key: '824c6240652cd7166af42f2b0e08acdb63372b5e' }), displayExpandBtn && (h("button", { key: '67a081ab610c586abb4076a42b54f59d3965e4fc', class: "menu-expand-button", innerHTML: chevronIcon, onClick: () => this.toggleMenuExpanded(!this.menuExpanded), "aria-label": `${menuExpanded ? "Collapse" : "Expand"} side navigation` })), h("div", { key: '56ed2420285577e6a1010edfab4ae02445c135f8', class: "app-status-wrapper" }, status && (h("div", { key: '56317ca2ad0b3fc6a28662cbb37479e826bb02de', class: {
466
+ } }, isSlotUsed(this.el, "secondary-navigation") && (h("nav", { key: '2e72b5c8f510d5fb599c5805a37da30962246011', class: "secondary-navigation", "aria-labelledby": "secondary-navigation-landmark" }, h("span", { key: 'c661911fe2c13a2ddd477e69895ad3aa4f8d84b2', "aria-hidden": "true", class: "navigation-landmark-title", id: "secondary-navigation-landmark" }, "Secondary"), h("ul", { key: '0939467dc8307899228ed8391a055ace7fe3d7f6', class: "navigation-list" }, h("slot", { key: 'e9e954d9fd1f909e2ff2112b4b27f0755e237372', name: "secondary-navigation" })))), h("div", { key: 'e7de76b5fa8ba07f3d09faf9d551aea352a4a1eb', class: "bottom-side-nav" }, this.hasSecondaryNavigation && h("ic-divider", { key: '7031b8cd739921ebad638e6130b010b32aa8a14c' }), displayExpandBtn && (h("button", { key: '00aebdc20f176a5c850b5d133c2c240ba0e31574', class: "menu-expand-button", innerHTML: chevronIcon, onClick: () => this.toggleMenuExpanded(!this.menuExpanded), "aria-label": `${menuExpanded ? "Collapse" : "Expand"} side navigation` })), h("div", { key: '8e40643e70455334b03973942c86a3c7ecf84b63', class: "app-status-wrapper" }, status && (h("div", { key: '3634f6bd04cb1cd8c7b5b60b6635b2851209169c', class: {
467
467
  ["app-status"]: true,
468
- } }, h("ic-typography", { key: '067246de4696a3066f987ab17479c764caeaf53d', "aria-label": "app tag", variant: "label-uppercase", class: "app-status-text" }, status))), version && (h("ic-typography", { key: 'cfcdca99019a27e730c07668de597eeb328ab500', variant: "label", class: "app-version", "aria-label": "app version" }, version))))))));
468
+ } }, h("ic-typography", { key: 'b39a8f9fe15256bd4604e1edf4dba0f0ccead9a3', "aria-label": "app tag", variant: "label-uppercase", class: "app-status-text" }, status))), version && (h("ic-typography", { key: '8b5473fedef7d77f42cffd1471715518f2dfd43b', variant: "label", class: "app-version", "aria-label": "app version" }, version))))))));
469
469
  }
470
470
  static get is() { return "ic-side-navigation"; }
471
471
  static get encapsulation() { return "shadow"; }
@@ -23,11 +23,11 @@ export class Skeleton {
23
23
  width: el.style.width || (variant === "circle" ? "25px" : "260px"),
24
24
  }
25
25
  : undefined;
26
- return (h(Host, { key: '7bd82290ac75e45c80d5ca97a888a9513e18ba96', class: {
26
+ return (h(Host, { key: 'bc26af3bed291b88d9eba417aba8b1bd20d02071', class: {
27
27
  skeleton: true,
28
28
  "ic-skeleton-circle": variant === "circle",
29
29
  [`ic-theme-${theme}`]: theme !== "inherit",
30
- }, style: style, "aria-disabled": "true" }, h("slot", { key: 'f80d529ee6c23cf3d09b6593d4b6b8648e42e465' })));
30
+ }, style: style, "aria-disabled": "true" }, h("slot", { key: 'b7e19d9b7fc55069b1a5a3d82698378fb2a4fff4' })));
31
31
  }
32
32
  static get is() { return "ic-skeleton"; }
33
33
  static get encapsulation() { return "shadow"; }
@@ -35,9 +35,9 @@ export class SkipLink {
35
35
  }
36
36
  render() {
37
37
  const { fullWidth, inline, label, monochrome, target, theme, transparentBackground, } = this;
38
- return (h(Host, { key: '78f847910867f3dc91880c1f5a263a7784230d8b', class: {
38
+ return (h(Host, { key: 'a6229f2e79e16d35283ae63e617e5dbee39f1a31', class: {
39
39
  [`ic-theme-${theme}`]: theme !== "inherit",
40
- } }, h("ic-link", { key: '53567dbe0778b8720252ad8ae08a10815244415e', class: {
40
+ } }, h("ic-link", { key: 'f54ffd72b46d9124023ef6bfe0cf60f7b1091c25', class: {
41
41
  "display-top": !inline,
42
42
  "full-width": !!fullWidth,
43
43
  "show-background": !transparentBackground,