@ukic/web-components 3.26.0 → 3.28.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 (482) hide show
  1. package/components/OpenInNew.js +5 -0
  2. package/components/OpenInNew.js.map +1 -0
  3. package/components/check-icon.js +8 -0
  4. package/components/check-icon.js.map +1 -0
  5. package/components/chevron-icon.js +8 -0
  6. package/components/chevron-icon.js.map +1 -0
  7. package/{dist/esm/close-icon-539ec8d1.js → components/close-icon.js} +2 -3
  8. package/components/close-icon.js.map +1 -0
  9. package/components/constants.js +184 -0
  10. package/components/constants.js.map +1 -0
  11. package/components/custom-elements.d.ts +2 -0
  12. package/components/helpers.js +547 -0
  13. package/components/helpers.js.map +1 -0
  14. package/components/ic-accordion-group.d.ts +11 -0
  15. package/components/ic-accordion-group.js +191 -0
  16. package/components/ic-accordion-group.js.map +1 -0
  17. package/components/ic-accordion.d.ts +11 -0
  18. package/components/ic-accordion.js +188 -0
  19. package/components/ic-accordion.js.map +1 -0
  20. package/components/ic-action-chip.d.ts +11 -0
  21. package/components/ic-action-chip.js +164 -0
  22. package/components/ic-action-chip.js.map +1 -0
  23. package/components/ic-alert.d.ts +11 -0
  24. package/components/ic-alert.js +193 -0
  25. package/components/ic-alert.js.map +1 -0
  26. package/components/ic-back-to-top.d.ts +11 -0
  27. package/components/ic-back-to-top.js +216 -0
  28. package/components/ic-back-to-top.js.map +1 -0
  29. package/components/ic-badge.d.ts +11 -0
  30. package/components/ic-badge.js +222 -0
  31. package/components/ic-badge.js.map +1 -0
  32. package/components/ic-breadcrumb-group.d.ts +11 -0
  33. package/components/ic-breadcrumb-group.js +278 -0
  34. package/components/ic-breadcrumb-group.js.map +1 -0
  35. package/components/ic-breadcrumb.d.ts +11 -0
  36. package/components/ic-breadcrumb.js +8 -0
  37. package/components/ic-breadcrumb.js.map +1 -0
  38. package/components/ic-breadcrumb2.js +145 -0
  39. package/components/ic-breadcrumb2.js.map +1 -0
  40. package/components/ic-button.d.ts +11 -0
  41. package/components/ic-button.js +8 -0
  42. package/components/ic-button.js.map +1 -0
  43. package/components/ic-button2.js +509 -0
  44. package/components/ic-button2.js.map +1 -0
  45. package/components/ic-card-horizontal.d.ts +11 -0
  46. package/components/ic-card-horizontal.js +214 -0
  47. package/components/ic-card-horizontal.js.map +1 -0
  48. package/components/ic-card-vertical.d.ts +11 -0
  49. package/components/ic-card-vertical.js +219 -0
  50. package/components/ic-card-vertical.js.map +1 -0
  51. package/components/ic-checkbox-group.d.ts +11 -0
  52. package/components/ic-checkbox-group.js +198 -0
  53. package/components/ic-checkbox-group.js.map +1 -0
  54. package/components/ic-checkbox.d.ts +11 -0
  55. package/components/ic-checkbox.js +202 -0
  56. package/components/ic-checkbox.js.map +1 -0
  57. package/components/ic-chip.d.ts +11 -0
  58. package/components/ic-chip.js +183 -0
  59. package/components/ic-chip.js.map +1 -0
  60. package/components/ic-classification-banner.d.ts +11 -0
  61. package/components/ic-classification-banner.js +102 -0
  62. package/components/ic-classification-banner.js.map +1 -0
  63. package/components/ic-data-list.d.ts +11 -0
  64. package/components/ic-data-list.js +63 -0
  65. package/components/ic-data-list.js.map +1 -0
  66. package/components/ic-data-row.d.ts +11 -0
  67. package/components/ic-data-row.js +115 -0
  68. package/components/ic-data-row.js.map +1 -0
  69. package/components/ic-dialog.d.ts +11 -0
  70. package/components/ic-dialog.js +366 -0
  71. package/components/ic-dialog.js.map +1 -0
  72. package/components/ic-divider.d.ts +11 -0
  73. package/components/ic-divider.js +8 -0
  74. package/components/ic-divider.js.map +1 -0
  75. package/components/ic-divider2.js +148 -0
  76. package/components/ic-divider2.js.map +1 -0
  77. package/components/ic-empty-state.d.ts +11 -0
  78. package/components/ic-empty-state.js +82 -0
  79. package/components/ic-empty-state.js.map +1 -0
  80. package/components/ic-footer-link-group.d.ts +11 -0
  81. package/components/ic-footer-link-group.js +101 -0
  82. package/components/ic-footer-link-group.js.map +1 -0
  83. package/components/ic-footer-link.d.ts +11 -0
  84. package/components/ic-footer-link.js +95 -0
  85. package/components/ic-footer-link.js.map +1 -0
  86. package/components/ic-footer.d.ts +11 -0
  87. package/components/ic-footer.js +156 -0
  88. package/components/ic-footer.js.map +1 -0
  89. package/components/ic-hero.d.ts +11 -0
  90. package/components/ic-hero.js +145 -0
  91. package/components/ic-hero.js.map +1 -0
  92. package/components/ic-horizontal-scroll.d.ts +11 -0
  93. package/components/ic-horizontal-scroll.js +8 -0
  94. package/components/ic-horizontal-scroll.js.map +1 -0
  95. package/components/ic-horizontal-scroll2.js +240 -0
  96. package/components/ic-horizontal-scroll2.js.map +1 -0
  97. package/components/ic-input-component-container.d.ts +11 -0
  98. package/components/ic-input-component-container.js +8 -0
  99. package/components/ic-input-component-container.js.map +1 -0
  100. package/components/ic-input-component-container2.js +95 -0
  101. package/components/ic-input-component-container2.js.map +1 -0
  102. package/components/ic-input-container.d.ts +11 -0
  103. package/components/ic-input-container.js +8 -0
  104. package/components/ic-input-container.js.map +1 -0
  105. package/components/ic-input-container2.js +47 -0
  106. package/components/ic-input-container2.js.map +1 -0
  107. package/components/ic-input-label.d.ts +11 -0
  108. package/components/ic-input-label.js +8 -0
  109. package/components/ic-input-label.js.map +1 -0
  110. package/components/ic-input-label2.js +121 -0
  111. package/components/ic-input-label2.js.map +1 -0
  112. package/components/ic-input-validation.d.ts +11 -0
  113. package/components/ic-input-validation.js +8 -0
  114. package/components/ic-input-validation.js.map +1 -0
  115. package/components/ic-input-validation2.js +90 -0
  116. package/components/ic-input-validation2.js.map +1 -0
  117. package/components/ic-layout-grid-item.d.ts +11 -0
  118. package/components/ic-layout-grid-item.js +95 -0
  119. package/components/ic-layout-grid-item.js.map +1 -0
  120. package/components/ic-layout-grid.d.ts +11 -0
  121. package/components/ic-layout-grid.js +188 -0
  122. package/components/ic-layout-grid.js.map +1 -0
  123. package/components/ic-link.d.ts +11 -0
  124. package/components/ic-link.js +8 -0
  125. package/components/ic-link.js.map +1 -0
  126. package/components/ic-link2.js +135 -0
  127. package/components/ic-link2.js.map +1 -0
  128. package/components/ic-loading-indicator.d.ts +11 -0
  129. package/components/ic-loading-indicator.js +8 -0
  130. package/components/ic-loading-indicator.js.map +1 -0
  131. package/components/ic-loading-indicator2.js +278 -0
  132. package/components/ic-loading-indicator2.js.map +1 -0
  133. package/components/ic-menu-group.d.ts +11 -0
  134. package/components/ic-menu-group.js +47 -0
  135. package/components/ic-menu-group.js.map +1 -0
  136. package/components/ic-menu-item.d.ts +11 -0
  137. package/components/ic-menu-item.js +8 -0
  138. package/components/ic-menu-item.js.map +1 -0
  139. package/components/ic-menu-item2.js +171 -0
  140. package/components/ic-menu-item2.js.map +1 -0
  141. package/components/ic-menu.d.ts +11 -0
  142. package/components/ic-menu.js +8 -0
  143. package/components/ic-menu.js.map +1 -0
  144. package/components/ic-menu2.js +2590 -0
  145. package/components/ic-menu2.js.map +1 -0
  146. package/components/ic-navigation-button.d.ts +11 -0
  147. package/components/ic-navigation-button.js +175 -0
  148. package/components/ic-navigation-button.js.map +1 -0
  149. package/components/ic-navigation-group.d.ts +11 -0
  150. package/components/ic-navigation-group.js +326 -0
  151. package/components/ic-navigation-group.js.map +1 -0
  152. package/components/ic-navigation-item.d.ts +11 -0
  153. package/components/ic-navigation-item.js +294 -0
  154. package/components/ic-navigation-item.js.map +1 -0
  155. package/components/ic-navigation-menu.d.ts +11 -0
  156. package/components/ic-navigation-menu.js +8 -0
  157. package/components/ic-navigation-menu.js.map +1 -0
  158. package/components/ic-navigation-menu2.js +188 -0
  159. package/components/ic-navigation-menu2.js.map +1 -0
  160. package/components/ic-page-header.d.ts +11 -0
  161. package/components/ic-page-header.js +196 -0
  162. package/components/ic-page-header.js.map +1 -0
  163. package/components/ic-pagination-bar.d.ts +11 -0
  164. package/components/ic-pagination-bar.js +523 -0
  165. package/components/ic-pagination-bar.js.map +1 -0
  166. package/components/ic-pagination-item.d.ts +11 -0
  167. package/components/ic-pagination-item.js +8 -0
  168. package/components/ic-pagination-item.js.map +1 -0
  169. package/components/ic-pagination-item2.js +107 -0
  170. package/components/ic-pagination-item2.js.map +1 -0
  171. package/components/ic-pagination.d.ts +11 -0
  172. package/components/ic-pagination.js +8 -0
  173. package/components/ic-pagination.js.map +1 -0
  174. package/components/ic-pagination2.js +383 -0
  175. package/components/ic-pagination2.js.map +1 -0
  176. package/components/ic-popover-menu.d.ts +11 -0
  177. package/components/ic-popover-menu.js +391 -0
  178. package/components/ic-popover-menu.js.map +1 -0
  179. package/components/ic-radio-group.d.ts +11 -0
  180. package/components/ic-radio-group.js +317 -0
  181. package/components/ic-radio-group.js.map +1 -0
  182. package/components/ic-radio-option.d.ts +11 -0
  183. package/components/ic-radio-option.js +211 -0
  184. package/components/ic-radio-option.js.map +1 -0
  185. package/components/ic-search-bar.d.ts +11 -0
  186. package/components/ic-search-bar.js +715 -0
  187. package/components/ic-search-bar.js.map +1 -0
  188. package/components/ic-section-container.d.ts +11 -0
  189. package/components/ic-section-container.js +8 -0
  190. package/components/ic-section-container.js.map +1 -0
  191. package/components/ic-section-container2.js +50 -0
  192. package/components/ic-section-container2.js.map +1 -0
  193. package/components/ic-select.d.ts +11 -0
  194. package/components/ic-select.js +8 -0
  195. package/components/ic-select.js.map +1 -0
  196. package/components/ic-select2.js +806 -0
  197. package/components/ic-select2.js.map +1 -0
  198. package/components/ic-side-navigation.d.ts +11 -0
  199. package/components/ic-side-navigation.js +568 -0
  200. package/components/ic-side-navigation.js.map +1 -0
  201. package/components/ic-skeleton.d.ts +11 -0
  202. package/components/ic-skeleton.js +81 -0
  203. package/components/ic-skeleton.js.map +1 -0
  204. package/components/ic-skip-link.d.ts +11 -0
  205. package/components/ic-skip-link.js +91 -0
  206. package/components/ic-skip-link.js.map +1 -0
  207. package/components/ic-status-tag.d.ts +11 -0
  208. package/components/ic-status-tag.js +85 -0
  209. package/components/ic-status-tag.js.map +1 -0
  210. package/components/ic-step.d.ts +11 -0
  211. package/components/ic-step.js +200 -0
  212. package/components/ic-step.js.map +1 -0
  213. package/components/ic-stepper.d.ts +11 -0
  214. package/components/ic-stepper.js +340 -0
  215. package/components/ic-stepper.js.map +1 -0
  216. package/components/ic-switch.d.ts +11 -0
  217. package/components/ic-switch.js +164 -0
  218. package/components/ic-switch.js.map +1 -0
  219. package/components/ic-tab-context.d.ts +11 -0
  220. package/components/ic-tab-context.js +275 -0
  221. package/components/ic-tab-context.js.map +1 -0
  222. package/components/ic-tab-group.d.ts +11 -0
  223. package/components/ic-tab-group.js +89 -0
  224. package/components/ic-tab-group.js.map +1 -0
  225. package/components/ic-tab-panel.d.ts +11 -0
  226. package/components/ic-tab-panel.js +63 -0
  227. package/components/ic-tab-panel.js.map +1 -0
  228. package/components/ic-tab.d.ts +11 -0
  229. package/components/ic-tab.js +143 -0
  230. package/components/ic-tab.js.map +1 -0
  231. package/components/ic-text-field.d.ts +11 -0
  232. package/components/ic-text-field.js +8 -0
  233. package/components/ic-text-field.js.map +1 -0
  234. package/components/ic-text-field2.js +532 -0
  235. package/components/ic-text-field2.js.map +1 -0
  236. package/components/ic-theme.d.ts +11 -0
  237. package/components/ic-theme.js +105 -0
  238. package/components/ic-theme.js.map +1 -0
  239. package/components/ic-toast-region.d.ts +11 -0
  240. package/components/ic-toast-region.js +76 -0
  241. package/components/ic-toast-region.js.map +1 -0
  242. package/components/ic-toast.d.ts +11 -0
  243. package/components/ic-toast.js +295 -0
  244. package/components/ic-toast.js.map +1 -0
  245. package/components/ic-toggle-button-group.d.ts +11 -0
  246. package/components/ic-toggle-button-group.js +323 -0
  247. package/components/ic-toggle-button-group.js.map +1 -0
  248. package/components/ic-toggle-button.d.ts +11 -0
  249. package/components/ic-toggle-button.js +235 -0
  250. package/components/ic-toggle-button.js.map +1 -0
  251. package/components/ic-tooltip.d.ts +11 -0
  252. package/components/ic-tooltip.js +8 -0
  253. package/components/ic-tooltip.js.map +1 -0
  254. package/components/ic-tooltip2.js +2078 -0
  255. package/components/ic-tooltip2.js.map +1 -0
  256. package/components/ic-top-navigation.d.ts +11 -0
  257. package/components/ic-top-navigation.js +320 -0
  258. package/components/ic-top-navigation.js.map +1 -0
  259. package/components/ic-typography.d.ts +11 -0
  260. package/components/ic-typography.js +8 -0
  261. package/components/ic-typography.js.map +1 -0
  262. package/components/ic-typography2.js +228 -0
  263. package/components/ic-typography2.js.map +1 -0
  264. package/components/index.d.ts +33 -0
  265. package/components/index.js +4 -0
  266. package/components/index.js.map +1 -0
  267. package/components/package.json +9 -0
  268. package/dist/cjs/{close-icon-7f6ef8e4.js → close-icon-30d8bb41.js} +2 -3
  269. package/dist/cjs/close-icon-30d8bb41.js.map +1 -0
  270. package/dist/cjs/ic-alert.cjs.entry.js +1 -1
  271. package/dist/cjs/ic-button_3.cjs.entry.js.map +1 -1
  272. package/dist/cjs/ic-data-list.cjs.entry.js +1 -1
  273. package/dist/cjs/ic-data-list.cjs.entry.js.map +1 -1
  274. package/dist/cjs/ic-data-row.cjs.entry.js +1 -1
  275. package/dist/cjs/ic-data-row.cjs.entry.js.map +1 -1
  276. package/dist/cjs/ic-dialog.cjs.entry.js +1 -1
  277. package/dist/cjs/ic-input-component-container_3.cjs.entry.js +63 -37
  278. package/dist/cjs/ic-input-component-container_3.cjs.entry.js.map +1 -1
  279. package/dist/cjs/ic-pagination-item.cjs.entry.js +1 -1
  280. package/dist/cjs/ic-pagination-item.cjs.entry.js.map +1 -1
  281. package/dist/cjs/ic-pagination_3.cjs.entry.js +29 -25
  282. package/dist/cjs/ic-pagination_3.cjs.entry.js.map +1 -1
  283. package/dist/cjs/ic-popover-menu.cjs.entry.js +33 -11
  284. package/dist/cjs/ic-popover-menu.cjs.entry.js.map +1 -1
  285. package/dist/cjs/ic-search-bar.cjs.entry.js +2 -6
  286. package/dist/cjs/ic-search-bar.cjs.entry.js.map +1 -1
  287. package/dist/cjs/ic-section-container.cjs.entry.js +2 -2
  288. package/dist/cjs/ic-side-navigation.cjs.entry.js +1 -1
  289. package/dist/cjs/ic-skeleton.cjs.entry.js +2 -2
  290. package/dist/cjs/ic-skip-link.cjs.entry.js +2 -2
  291. package/dist/cjs/ic-status-tag.cjs.entry.js +2 -2
  292. package/dist/cjs/ic-step.cjs.entry.js +13 -13
  293. package/dist/cjs/ic-stepper.cjs.entry.js +2 -2
  294. package/dist/cjs/ic-switch.cjs.entry.js +4 -4
  295. package/dist/cjs/ic-tab-context.cjs.entry.js +1 -1
  296. package/dist/cjs/ic-tab-group.cjs.entry.js +2 -2
  297. package/dist/cjs/ic-tab-panel.cjs.entry.js +2 -2
  298. package/dist/cjs/ic-theme.cjs.entry.js +1 -1
  299. package/dist/cjs/ic-toast-region.cjs.entry.js +1 -1
  300. package/dist/cjs/ic-toast.cjs.entry.js +6 -6
  301. package/dist/cjs/ic-toggle-button-group.cjs.entry.js +2 -2
  302. package/dist/cjs/ic-toggle-button.cjs.entry.js +2 -2
  303. package/dist/collection/assets/close-icon.svg +1 -2
  304. package/dist/collection/components/ic-data-list/ic-data-list.css +4 -0
  305. package/dist/collection/components/ic-data-row/ic-data-row.css +1 -1
  306. package/dist/collection/components/ic-menu/ic-menu.css +19 -0
  307. package/dist/collection/components/ic-menu/ic-menu.js +62 -36
  308. package/dist/collection/components/ic-menu/ic-menu.js.map +1 -1
  309. package/dist/collection/components/ic-menu/ic-menu.types.js.map +1 -1
  310. package/dist/collection/components/ic-pagination/ic-pagination.js +12 -8
  311. package/dist/collection/components/ic-pagination/ic-pagination.js.map +1 -1
  312. package/dist/collection/components/ic-pagination-item/ic-pagination-item.css +2 -1
  313. package/dist/collection/components/ic-popover-menu/ic-popover-menu.css +4 -4
  314. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js +36 -11
  315. package/dist/collection/components/ic-popover-menu/ic-popover-menu.js.map +1 -1
  316. package/dist/collection/components/ic-popover-menu/ic-popover-menu.stories.js +72 -0
  317. package/dist/collection/components/ic-search-bar/ic-search-bar.js +1 -1
  318. package/dist/collection/components/ic-search-bar/ic-search-bar.js.map +1 -1
  319. package/dist/collection/components/ic-section-container/ic-section-container.js +2 -2
  320. package/dist/collection/components/ic-select/ic-select.js +17 -17
  321. package/dist/collection/components/ic-select/ic-select.js.map +1 -1
  322. package/dist/collection/components/ic-select/ic-select_(single).stories.js +54 -0
  323. package/dist/collection/components/ic-skeleton/ic-skeleton.js +2 -2
  324. package/dist/collection/components/ic-skip-link/ic-skip-link.js +2 -2
  325. package/dist/collection/components/ic-status-tag/ic-status-tag.js +2 -2
  326. package/dist/collection/components/ic-step/ic-step.js +13 -13
  327. package/dist/collection/components/ic-stepper/ic-stepper.js +2 -2
  328. package/dist/collection/components/ic-switch/ic-switch.js +4 -4
  329. package/dist/collection/components/ic-tab-context/ic-tab-context.js +1 -1
  330. package/dist/collection/components/ic-tab-group/ic-tab-group.js +2 -2
  331. package/dist/collection/components/ic-tab-panel/ic-tab-panel.js +2 -2
  332. package/dist/collection/components/ic-theme/ic-theme.js +1 -1
  333. package/dist/collection/components/ic-toast/ic-toast.js +5 -5
  334. package/dist/collection/components/ic-toast-region/ic-toast-region.js +1 -1
  335. package/dist/collection/components/ic-toggle-button/ic-toggle-button.js +2 -2
  336. package/dist/collection/components/ic-toggle-button-group/ic-toggle-button-group.js +2 -2
  337. package/dist/components/close-icon.js +1 -2
  338. package/dist/components/close-icon.js.map +1 -1
  339. package/dist/components/ic-data-list.js +1 -1
  340. package/dist/components/ic-data-list.js.map +1 -1
  341. package/dist/components/ic-data-row.js +1 -1
  342. package/dist/components/ic-data-row.js.map +1 -1
  343. package/dist/components/ic-menu2.js +63 -37
  344. package/dist/components/ic-menu2.js.map +1 -1
  345. package/dist/components/ic-page-header.js.map +1 -1
  346. package/dist/components/ic-pagination-bar.js.map +1 -1
  347. package/dist/components/ic-pagination-item2.js +1 -1
  348. package/dist/components/ic-pagination-item2.js.map +1 -1
  349. package/dist/components/ic-pagination2.js +12 -8
  350. package/dist/components/ic-pagination2.js.map +1 -1
  351. package/dist/components/ic-popover-menu.js +34 -12
  352. package/dist/components/ic-popover-menu.js.map +1 -1
  353. package/dist/components/ic-radio-group.js.map +1 -1
  354. package/dist/components/ic-radio-option.js.map +1 -1
  355. package/dist/components/ic-search-bar.js +2 -6
  356. package/dist/components/ic-search-bar.js.map +1 -1
  357. package/dist/components/ic-section-container2.js +2 -2
  358. package/dist/components/ic-select2.js +17 -17
  359. package/dist/components/ic-select2.js.map +1 -1
  360. package/dist/components/ic-side-navigation.js.map +1 -1
  361. package/dist/components/ic-skeleton.js +2 -2
  362. package/dist/components/ic-skip-link.js +2 -2
  363. package/dist/components/ic-status-tag.js +2 -2
  364. package/dist/components/ic-step.js +13 -13
  365. package/dist/components/ic-stepper.js +2 -2
  366. package/dist/components/ic-switch.js +4 -4
  367. package/dist/components/ic-tab-context.js +1 -1
  368. package/dist/components/ic-tab-group.js +2 -2
  369. package/dist/components/ic-tab-panel.js +2 -2
  370. package/dist/components/ic-theme.js +1 -1
  371. package/dist/components/ic-toast-region.js +1 -1
  372. package/dist/components/ic-toast.js +5 -5
  373. package/dist/components/ic-toggle-button-group.js +2 -2
  374. package/dist/components/ic-toggle-button.js +2 -2
  375. package/dist/core/core.esm.js +1 -1
  376. package/dist/core/{p-23fb87be.entry.js → p-0558baed.entry.js} +2 -2
  377. package/dist/core/{p-a0c54a50.entry.js → p-0740be66.entry.js} +2 -2
  378. package/dist/core/{p-d0dd9f2c.entry.js → p-0cd21e04.entry.js} +2 -2
  379. package/dist/core/p-0cd21e04.entry.js.map +1 -0
  380. package/dist/core/{p-bb52e752.entry.js → p-1043f3dd.entry.js} +2 -2
  381. package/dist/core/{p-74a3a450.entry.js → p-1843357b.entry.js} +2 -2
  382. package/dist/core/{p-b58fb588.entry.js → p-2251df98.entry.js} +2 -2
  383. package/dist/core/{p-cf87b6db.entry.js → p-2bb815ef.entry.js} +2 -2
  384. package/dist/core/p-308be45e.entry.js +2 -0
  385. package/dist/core/p-308be45e.entry.js.map +1 -0
  386. package/dist/core/p-4b61e92e.entry.js +2 -0
  387. package/dist/core/{p-99b20121.entry.js.map → p-4b61e92e.entry.js.map} +1 -1
  388. package/dist/core/p-56ab6fb7.entry.js +2 -0
  389. package/dist/core/p-56ab6fb7.entry.js.map +1 -0
  390. package/dist/core/{p-fd9ea62a.entry.js → p-75f91c8c.entry.js} +2 -2
  391. package/dist/core/p-77f011e7.entry.js +2 -0
  392. package/dist/core/p-77f011e7.entry.js.map +1 -0
  393. package/dist/core/{p-70ca7796.entry.js → p-85db7e71.entry.js} +2 -2
  394. package/dist/core/{p-ab104baa.entry.js → p-987b08f9.entry.js} +2 -2
  395. package/dist/core/p-98dee727.entry.js.map +1 -1
  396. package/dist/core/{p-85ac0d78.entry.js → p-9b144bed.entry.js} +2 -2
  397. package/dist/core/{p-d1220d2a.entry.js → p-a8d98164.entry.js} +2 -2
  398. package/dist/core/{p-a7c263bd.entry.js → p-ba8799ea.entry.js} +2 -2
  399. package/dist/core/p-ba8799ea.entry.js.map +1 -0
  400. package/dist/core/{p-85232cec.entry.js → p-bf06d022.entry.js} +2 -2
  401. package/dist/core/{p-c41fd2cf.entry.js → p-c0f6f568.entry.js} +2 -2
  402. package/dist/core/p-c391e323.js +2 -0
  403. package/dist/core/{p-271ee0bc.entry.js → p-c75c316b.entry.js} +2 -2
  404. package/dist/core/{p-970e190c.entry.js → p-e0b52a71.entry.js} +2 -2
  405. package/dist/core/{p-3da9774b.entry.js → p-ef91cf17.entry.js} +2 -2
  406. package/dist/core/{p-d7c6fc8d.entry.js → p-f8e5d8f8.entry.js} +2 -2
  407. package/dist/core/{p-6b5edd6b.entry.js → p-f9daecc7.entry.js} +2 -2
  408. package/dist/core/{p-171a19bf.entry.js → p-fdc4376e.entry.js} +2 -2
  409. package/dist/core/p-fdc4376e.entry.js.map +1 -0
  410. package/dist/esm/close-icon-0db44bf2.js +9 -0
  411. package/dist/esm/close-icon-0db44bf2.js.map +1 -0
  412. package/dist/esm/ic-alert.entry.js +1 -1
  413. package/dist/esm/ic-button_3.entry.js.map +1 -1
  414. package/dist/esm/ic-data-list.entry.js +1 -1
  415. package/dist/esm/ic-data-list.entry.js.map +1 -1
  416. package/dist/esm/ic-data-row.entry.js +1 -1
  417. package/dist/esm/ic-data-row.entry.js.map +1 -1
  418. package/dist/esm/ic-dialog.entry.js +1 -1
  419. package/dist/esm/ic-input-component-container_3.entry.js +63 -37
  420. package/dist/esm/ic-input-component-container_3.entry.js.map +1 -1
  421. package/dist/esm/ic-pagination-item.entry.js +1 -1
  422. package/dist/esm/ic-pagination-item.entry.js.map +1 -1
  423. package/dist/esm/ic-pagination_3.entry.js +29 -25
  424. package/dist/esm/ic-pagination_3.entry.js.map +1 -1
  425. package/dist/esm/ic-popover-menu.entry.js +34 -12
  426. package/dist/esm/ic-popover-menu.entry.js.map +1 -1
  427. package/dist/esm/ic-search-bar.entry.js +2 -6
  428. package/dist/esm/ic-search-bar.entry.js.map +1 -1
  429. package/dist/esm/ic-section-container.entry.js +2 -2
  430. package/dist/esm/ic-side-navigation.entry.js +1 -1
  431. package/dist/esm/ic-skeleton.entry.js +2 -2
  432. package/dist/esm/ic-skip-link.entry.js +2 -2
  433. package/dist/esm/ic-status-tag.entry.js +2 -2
  434. package/dist/esm/ic-step.entry.js +13 -13
  435. package/dist/esm/ic-stepper.entry.js +2 -2
  436. package/dist/esm/ic-switch.entry.js +4 -4
  437. package/dist/esm/ic-tab-context.entry.js +1 -1
  438. package/dist/esm/ic-tab-group.entry.js +2 -2
  439. package/dist/esm/ic-tab-panel.entry.js +2 -2
  440. package/dist/esm/ic-theme.entry.js +1 -1
  441. package/dist/esm/ic-toast-region.entry.js +1 -1
  442. package/dist/esm/ic-toast.entry.js +6 -6
  443. package/dist/esm/ic-toggle-button-group.entry.js +2 -2
  444. package/dist/esm/ic-toggle-button.entry.js +2 -2
  445. package/dist/types/components/ic-menu/ic-menu.types.d.ts +1 -0
  446. package/dist/types/components/ic-popover-menu/ic-popover-menu.d.ts +4 -0
  447. package/hydrate/index.js +176 -127
  448. package/hydrate/index.mjs +176 -127
  449. package/package.json +10 -9
  450. package/dist/cjs/close-icon-7f6ef8e4.js.map +0 -1
  451. package/dist/collection/assets/clear-icon.svg +0 -3
  452. package/dist/core/p-023cf5d9.entry.js +0 -2
  453. package/dist/core/p-023cf5d9.entry.js.map +0 -1
  454. package/dist/core/p-171a19bf.entry.js.map +0 -1
  455. package/dist/core/p-2424f82f.entry.js +0 -2
  456. package/dist/core/p-2424f82f.entry.js.map +0 -1
  457. package/dist/core/p-343670b4.entry.js +0 -2
  458. package/dist/core/p-343670b4.entry.js.map +0 -1
  459. package/dist/core/p-99b20121.entry.js +0 -2
  460. package/dist/core/p-a7c263bd.entry.js.map +0 -1
  461. package/dist/core/p-d0dd9f2c.entry.js.map +0 -1
  462. package/dist/core/p-f074ef5b.js +0 -2
  463. package/dist/esm/close-icon-539ec8d1.js.map +0 -1
  464. /package/dist/core/{p-23fb87be.entry.js.map → p-0558baed.entry.js.map} +0 -0
  465. /package/dist/core/{p-a0c54a50.entry.js.map → p-0740be66.entry.js.map} +0 -0
  466. /package/dist/core/{p-bb52e752.entry.js.map → p-1043f3dd.entry.js.map} +0 -0
  467. /package/dist/core/{p-74a3a450.entry.js.map → p-1843357b.entry.js.map} +0 -0
  468. /package/dist/core/{p-b58fb588.entry.js.map → p-2251df98.entry.js.map} +0 -0
  469. /package/dist/core/{p-cf87b6db.entry.js.map → p-2bb815ef.entry.js.map} +0 -0
  470. /package/dist/core/{p-fd9ea62a.entry.js.map → p-75f91c8c.entry.js.map} +0 -0
  471. /package/dist/core/{p-70ca7796.entry.js.map → p-85db7e71.entry.js.map} +0 -0
  472. /package/dist/core/{p-ab104baa.entry.js.map → p-987b08f9.entry.js.map} +0 -0
  473. /package/dist/core/{p-85ac0d78.entry.js.map → p-9b144bed.entry.js.map} +0 -0
  474. /package/dist/core/{p-d1220d2a.entry.js.map → p-a8d98164.entry.js.map} +0 -0
  475. /package/dist/core/{p-85232cec.entry.js.map → p-bf06d022.entry.js.map} +0 -0
  476. /package/dist/core/{p-c41fd2cf.entry.js.map → p-c0f6f568.entry.js.map} +0 -0
  477. /package/dist/core/{p-f074ef5b.js.map → p-c391e323.js.map} +0 -0
  478. /package/dist/core/{p-271ee0bc.entry.js.map → p-c75c316b.entry.js.map} +0 -0
  479. /package/dist/core/{p-970e190c.entry.js.map → p-e0b52a71.entry.js.map} +0 -0
  480. /package/dist/core/{p-3da9774b.entry.js.map → p-ef91cf17.entry.js.map} +0 -0
  481. /package/dist/core/{p-d7c6fc8d.entry.js.map → p-f8e5d8f8.entry.js.map} +0 -0
  482. /package/dist/core/{p-6b5edd6b.entry.js.map → p-f9daecc7.entry.js.map} +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ukic/web-components",
3
- "version": "3.26.0",
3
+ "version": "3.28.0",
4
4
  "description": "A web component UI library compiled with StencilJS",
5
5
  "bugs": {
6
6
  "url": "https://github.com/mi6/ic-ui-kit",
@@ -20,6 +20,7 @@
20
20
  "dist/",
21
21
  "loader/",
22
22
  "hydrate/",
23
+ "components/",
23
24
  "vscode-data.json"
24
25
  ],
25
26
  "scripts": {
@@ -54,12 +55,13 @@
54
55
  "@jest/types": "^29.6.3",
55
56
  "@mdx-js/react": "^1.6.22",
56
57
  "@open-wc/testing-helpers": "^2.0.2",
58
+ "@stencil/angular-output-target": "^1.1.1",
57
59
  "@stencil/postcss": "^2.1.0",
58
60
  "@stencil/react-output-target": "^0.5.3",
59
- "@storybook/addon-a11y": "10.1.11",
60
- "@storybook/addon-docs": "10.1.11",
61
- "@storybook/addon-links": "10.1.11",
62
- "@storybook/web-components-vite": "10.1.11",
61
+ "@storybook/addon-a11y": "^10.2.10",
62
+ "@storybook/addon-docs": "^10.2.10",
63
+ "@storybook/addon-links": "^10.2.10",
64
+ "@storybook/web-components-vite": "^10.2.10",
63
65
  "@types/autoprefixer": "^10.2.0",
64
66
  "@types/jest": "^29.5.14",
65
67
  "@types/jest-axe": "^3.5.9",
@@ -67,7 +69,7 @@
67
69
  "@types/react-dom": "^17.0.11",
68
70
  "autoprefixer": "^10.4.2",
69
71
  "babel-loader": "^8.2.3",
70
- "concurrently": "^9.2.1",
72
+ "concurrently": "^10.0.3",
71
73
  "css-loader": "^7.1.2",
72
74
  "jest": "^29.7.0",
73
75
  "jest-axe": "^10.0.0",
@@ -79,7 +81,7 @@
79
81
  "react": "^17.0.0",
80
82
  "react-dom": "^17.0.0",
81
83
  "stencil-inline-svg": "^1.1.0",
82
- "storybook": "10.1.11",
84
+ "storybook": "^10.2.10",
83
85
  "style-loader": "^4.0.0",
84
86
  "ts-jest": "^29.4.9"
85
87
  },
@@ -90,6 +92,5 @@
90
92
  "collection": "dist/collection/collection-manifest.json",
91
93
  "collection:main": "dist/collection/index.js",
92
94
  "es2015": "dist/esm/index.mjs",
93
- "es2017": "dist/esm/index.mjs",
94
- "gitHead": "4c27a0eb03169a660444539c4a824d23239683a0"
95
+ "es2017": "dist/esm/index.mjs"
95
96
  }
@@ -1 +0,0 @@
1
- {"file":"close-icon-7f6ef8e4.js","mappings":";;;;;;;;;;;","names":[],"sources":[],"sourcesContent":[],"version":3}
@@ -1,3 +0,0 @@
1
- <svg width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <path d="M15.8327 5.34199L14.6577 4.16699L9.99935 8.82533L5.34102 4.16699L4.16602 5.34199L8.82435 10.0003L4.16602 14.6587L5.34102 15.8337L9.99935 11.1753L14.6577 15.8337L15.8327 14.6587L11.1743 10.0003L15.8327 5.34199Z" fill="currentColor"/>
3
- </svg>
@@ -1,2 +0,0 @@
1
- import{r as e,c as t,h as i,H as o,g as s}from"./p-8e4e97b4.js";import{E as n,e as a}from"./p-eeb8d98a.js";import{c as r}from"./p-68a5aaff.js";import"./p-6215e2ae.js";const l='/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */html{line-height:1.15;-webkit-text-size-adjust:100%;}body{margin:0}main{display:block}h1{font-size:2em;margin:0.67em 0}hr{box-sizing:content-box;height:0;overflow:visible;}pre{font-family:monospace, monospace;font-size:1em;}a{background-color:transparent}abbr[title]{border-bottom:none;text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;}b,strong{font-weight:bolder}code,kbd,samp{font-family:monospace, monospace;font-size:1em;}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}button,input,optgroup,select,textarea{font-family:inherit;font-size:100%;line-height:1.15;margin:0;}button,input{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,[type="button"]::-moz-focus-inner,[type="reset"]::-moz-focus-inner,[type="submit"]::-moz-focus-inner{border-style:none;padding:0}button:-moz-focusring,[type="button"]:-moz-focusring,[type="reset"]:-moz-focusring,[type="submit"]:-moz-focusring{outline:1px dotted ButtonText}fieldset{padding:0.35em 0.75em 0.625em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal;}progress{vertical-align:baseline}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0;}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield;outline-offset:-2px;}[type="search"]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit;}details{display:block}summary{display:list-item}template{display:none}[hidden]{display:none}html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font-style:inherit;vertical-align:baseline}@media (prefers-reduced-motion: no-preference){:host .opening-from-parent{animation:slide-in var(--ic-transition-duration-slow) ease-in-out}:host .opening-from-child{animation:slide-out var(--ic-transition-duration-slow) ease-in-out}}:host{border-radius:var(--ic-border-radius);color:var(--ic-popover-nav-text);--ic-typography-color:var(--ic-popover-nav-text);position:relative;z-index:var(--ic-z-index-popover);box-sizing:border-box;box-shadow:var(--ic-elevation-overlay);display:none}:host(.on-dialog){inset:auto !important}:host(.on-dialog-fix-translate){transform:translate(0, var(--ic-space-xs)) !important}:host(.on-dialog-translate-y){transform:translate(0, calc(-1 * var(--translate-y))) !important}.menu{border:var(--ic-border-default);border-color:var(--ic-popover-border);border-radius:var(--ic-border-radius);background-color:var(--ic-popover-background);visibility:hidden;height:0;display:flex;flex-direction:column}:host(:focus-within){box-shadow:var(--ic-border-focus)}.menu:focus-visible{outline:none}:host(.ic-popover-menu-open){display:block;min-width:calc(20rem - var(--ic-space-xl));width:var(--popover-width, 20rem);max-width:calc(100vw - var(--ic-space-xl))}:host(.ic-popover-menu-open) .menu{visibility:visible;height:-moz-fit-content;height:fit-content;max-height:var(--max-height, -moz-fit-content);max-height:var(--max-height, fit-content);overflow-y:auto;overflow-x:hidden}.parent-label{--ic-typography-color:var(--ic-popover-parent-label);margin:var(--ic-space-xs) var(--ic-space-xs) 0}@keyframes slide-in{from{opacity:0;transform:translateX(10rem)}to{opacity:1;transform:translateX(0)}}@keyframes slide-out{from{opacity:0;transform:translateX(-10rem)}to{opacity:1;transform:translateX(0)}}';const c=l;const h="div.menu-body";const d=class{constructor(i){e(this,i);this.icPopoverClosed=t(this,"icPopoverClosed",7);this.ARIA_LABEL="aria-label";this.popoverMenuEls=[];this.openingFromChild=false;this.openingFromParent=false;this.popperProps={};this.fixedPositioning=false;this.submenuLevel=1;this.theme="inherit";this.open=undefined;this.setButtonFocus=()=>{var e;(e=this.popoverMenuEls[this.currentFocus])===null||e===void 0?void 0:e.focus()};this.findAnchorEl=e=>{let t=null;if(!e){this.submenuId===undefined&&console.error("No anchor specified for popover component")}else{t=document.querySelector(e.indexOf("#")===0?e:"#"+e);if(t===null){console.error(`Popover anchor element '${e}' not found`)}}return t};this.isNotPopoverMenuEl=e=>{const{id:t,tagName:i}=e.target;return t!==this.anchor&&i!=="IC-MENU-ITEM"&&i!=="IC-MENU-GROUP"&&i!=="IC-POPOVER-MENU"};this.getNextItemToSelect=(e,t)=>{const i=this.popoverMenuEls.length-1;if(e<1){e=0}let o=t?e+1:e-1;if(o<0){o=i}else if(o>i){o=0}return o};this.addMenuItems=e=>{var t;for(let i=0;i<e.length;i++){const o=e[i];if(o.tagName==="IC-MENU-ITEM"){this.popoverMenuEls.push(o)}else if(o.tagName==="IC-MENU-GROUP"){const e=(t=o.shadowRoot)===null||t===void 0?void 0:t.querySelector(".menu-items-wrapper");if(e){const t=n(e);t&&this.addMenuItems(t)}}}};this.getMenuAriaLabel=()=>{const e=this.el.getAttribute(this.ARIA_LABEL);if(a(this.submenuId)){return`${e}, within nested level ${this.submenuLevel} ${this.parentLabel} submenu,`}else{return e}};this.handleBackButtonClick=()=>{var e;(e=this.parentPopover)===null||e===void 0?void 0:e.openFromChild();this.open=false};this.initPopperJS=()=>{if(this.anchorEl){this.popperInstance=r(this.anchorEl,this.el,Object.assign({strategy:this.fixedPositioning?"fixed":"absolute",placement:"bottom-start",modifiers:[{name:"offset",options:{offset:[0,4]}},{name:"flip",options:{fallbackPlacements:["top-start","top-end","bottom-end"],rootBoundary:"viewport"}}]},this.popperProps))}}}watchOpenHandler(){var e;const t=(e=this.el.parentElement)===null||e===void 0?void 0:e.querySelectorAll(`ic-popover-menu`);if(this.open){if(t.length>0){t.forEach((e=>{if(e!==this.el){e.open=false}}))}if(this.parentPopover!==undefined&&!this.popoverMenuEls.some((e=>e.id))){this.backButton&&this.popoverMenuEls.unshift(this.backButton)}this.currentFocus=0;setTimeout(this.setButtonFocus,50)}else if(this.popperInstance){if(t.length>0){t.forEach((e=>{if(e!==this.el){e.open=false}}))}this.popperInstance.destroy();this.popperInstance=null}}disconnectedCallback(){if(this.popperInstance){this.popperInstance.destroy();this.popperInstance=null}}componentDidLoad(){var e;const t=(e=this.el.shadowRoot)===null||e===void 0?void 0:e.querySelector(h);if(t){const e=n(t);if(e!==null){this.addMenuItems(e)}}if(this.submenuId===undefined&&this.el.getAttribute(this.ARIA_LABEL)===null){console.error(`No aria-label specified for popover menu component - aria-label required`)}this.watchOpenHandler()}componentWillRender(){this.anchorEl=this.findAnchorEl(this.anchor)}componentDidRender(){if(this.open&&!this.popperInstance){this.initPopperJS()}}handleMenuItemClick(e){if(!e.detail.submenuTriggerFor&&e.detail.label!=="Back"){this.closeMenu(false,e.detail)}}handleSubmenuChange(e){const t=e.target;this.open=false;const i=document.querySelector(`ic-popover-menu[submenu-id=${t.submenuTriggerFor}]`);i.parentPopover=this.el;i.anchor=this.anchor;i.ariaLabel=this.el.getAttribute(this.ARIA_LABEL);i.openFromParent();i.submenuLevel=this.submenuLevel+1;i.parentLabel=t.label}handleClick(e){if(this.open&&this.isNotPopoverMenuEl(e)){this.closeMenu()}}handleKeyDown(e){switch(e.key){case"ArrowDown":case"ArrowUp":e.preventDefault();this.currentFocus=this.getNextItemToSelect(this.currentFocus,e.key==="ArrowDown");this.setButtonFocus();break;case"Home":this.currentFocus=0;this.setButtonFocus();break;case"End":this.currentFocus=this.popoverMenuEls.length-1;this.setButtonFocus();break;case"Escape":case"Tab":e.preventDefault();if(this.open){this.closeMenu(true);this.el.blur()}break}}async openFromChild(){this.open=true;this.openingFromChild=true;setTimeout((()=>this.openingFromChild=false),1e3)}async openFromParent(){this.open=true;this.openingFromParent=true;setTimeout((()=>this.openingFromParent=false),1e3)}async closeMenu(e=false,t){var i;this.open=false;if(this.parentPopover){this.parentPopover.closeMenu(e,t)}else{if(e){(i=this.anchorEl)===null||i===void 0?void 0:i.focus()}this.icPopoverClosed.emit(t)}}async setExternalPopperProps(e){this.popperProps=e}render(){return i(o,{key:"331cedc179eb4d558f29f7704df951210f43fa77",class:{["ic-popover-menu-open"]:!!this.open,[`ic-theme-${this.theme}`]:this.theme!=="inherit"}},i("div",{key:"4efbe811a462e960af2d7a5ab63d3df5f69209cb",id:this.parentPopover===undefined?`ic-popover-submenu-${this.submenuId}`:"",class:{menu:true}},i("span",{key:"25207afa860d6d4b897a8d7b7406d5a450652949",class:{"opening-from-parent":this.openingFromParent,"opening-from-child":this.openingFromChild}},a(this.submenuId)&&i("span",{key:"21bebc9796ecd62d6c0a51247f450eb0f61de6fb"},i("span",{key:"bf64a9672b93e4831bce7309514121108e79f26c",role:"menu"},i("ic-menu-item",{key:"a6bbb41562f8047a34e81f7afb72f6fdf7489b53",class:"ic-popover-submenu-back-button",ref:e=>this.backButton=e,label:"Back",onClick:this.handleBackButtonClick,id:`ic-popover-submenu-back-button-${this.submenuLevel}`},i("svg",{key:"a5267871273dfffa86198105d325adf3b62f2728",slot:"icon",viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",class:"submenu-back-icon"},i("path",{key:"cfba5502e9594fe2dc299d7e8922a39e64e6e282",d:"M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z",fill:"currentColor"})))),i("ic-typography",{key:"4c718558761258605c42ad71966c54cc09fc7bac",variant:"subtitle-small",class:"parent-label"},this.parentLabel)),i("div",{key:"8c127ed3e934a257795e0b3472c6d901e8e3fb62",class:"menu-body","aria-label":this.getMenuAriaLabel(),role:"menu"},i("slot",{key:"8f06fc83099461573082afc75d008e37ee84cf65"})))))}static get delegatesFocus(){return true}get el(){return s(this)}static get watchers(){return{open:["watchOpenHandler"]}}};d.style=c;export{d as ic_popover_menu};
2
- //# sourceMappingURL=p-023cf5d9.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["icPopoverMenuCss","IcPopoverMenuStyle0","MENU_SELECTOR","PopoverMenu","constructor","hostRef","this","ARIA_LABEL","popoverMenuEls","openingFromChild","openingFromParent","popperProps","fixedPositioning","submenuLevel","theme","open","undefined","setButtonFocus","_a","currentFocus","focus","findAnchorEl","anchor","anchorElement","submenuId","console","error","document","querySelector","indexOf","isNotPopoverMenuEl","ev","id","tagName","target","getNextItemToSelect","currentItem","movingDown","numButtons","length","nextItem","addMenuItems","elements","i","el","push","groupSlotWrapper","shadowRoot","menuGroupElements","getSlotElements","getMenuAriaLabel","ariaLabel","getAttribute","isPropDefined","parentLabel","handleBackButtonClick","parentPopover","openFromChild","initPopperJS","anchorEl","popperInstance","createPopper","Object","assign","strategy","placement","modifiers","name","options","offset","fallbackPlacements","rootBoundary","watchOpenHandler","popoverArr","parentElement","querySelectorAll","forEach","popover","some","menuItem","backButton","unshift","setTimeout","destroy","disconnectedCallback","componentDidLoad","slotWrapper","popoverMenuElements","componentWillRender","componentDidRender","handleMenuItemClick","detail","submenuTriggerFor","label","closeMenu","handleSubmenuChange","childEl","openFromParent","handleClick","handleKeyDown","key","preventDefault","blur","setFocusToAnchor","menuElement","icPopoverClosed","emit","setExternalPopperProps","props","render","h","Host","class","menu","role","ref","onClick","slot","viewBox","fill","xmlns","d","variant"],"sources":["src/components/ic-popover-menu/ic-popover-menu.css?tag=ic-popover-menu&encapsulation=shadow","src/components/ic-popover-menu/ic-popover-menu.tsx"],"sourcesContent":["@import \"../../global/normalize.css\";\n\n/**\n* @prop --ic-z-index-popover: z-index of popover menu. \n* @prop --max-height: Maximum height of the popover menu.\n* @prop --popover-width: Default width of the popover menu.\n*/\n\n@media (prefers-reduced-motion: no-preference) {\n :host .opening-from-parent {\n animation: slide-in var(--ic-transition-duration-slow) ease-in-out;\n }\n\n :host .opening-from-child {\n animation: slide-out var(--ic-transition-duration-slow) ease-in-out;\n }\n}\n\n:host {\n border-radius: var(--ic-border-radius);\n color: var(--ic-popover-nav-text);\n\n --ic-typography-color: var(--ic-popover-nav-text);\n\n position: relative;\n z-index: var(--ic-z-index-popover);\n box-sizing: border-box;\n box-shadow: var(--ic-elevation-overlay);\n display: none;\n}\n\n:host(.on-dialog) {\n inset: auto !important;\n}\n\n:host(.on-dialog-fix-translate) {\n transform: translate(0, var(--ic-space-xs)) !important;\n}\n\n:host(.on-dialog-translate-y) {\n transform: translate(0, calc(-1 * var(--translate-y))) !important;\n}\n\n.menu {\n border: var(--ic-border-default);\n border-color: var(--ic-popover-border);\n border-radius: var(--ic-border-radius);\n background-color: var(--ic-popover-background);\n visibility: hidden;\n height: 0;\n display: flex;\n flex-direction: column;\n}\n\n:host(:focus-within) {\n box-shadow: var(--ic-border-focus);\n}\n\n.menu:focus-visible {\n outline: none;\n}\n\n:host(.ic-popover-menu-open) {\n display: block;\n min-width: calc(20rem - var(--ic-space-xl));\n width: var(--popover-width, 20rem);\n max-width: calc(100vw - var(--ic-space-xl));\n}\n\n:host(.ic-popover-menu-open) .menu {\n visibility: visible;\n height: fit-content;\n max-height: var(--max-height, fit-content);\n overflow-y: auto;\n overflow-x: hidden;\n}\n\n.parent-label {\n --ic-typography-color: var(--ic-popover-parent-label);\n\n margin: var(--ic-space-xs) var(--ic-space-xs) 0;\n}\n\n@keyframes slide-in {\n from {\n opacity: 0;\n transform: translateX(10rem);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n\n@keyframes slide-out {\n from {\n opacity: 0;\n transform: translateX(-10rem);\n }\n\n to {\n opacity: 1;\n transform: translateX(0);\n }\n}\n","import {\n Component,\n Element,\n Host,\n h,\n Prop,\n Listen,\n Watch,\n State,\n Method,\n Event,\n EventEmitter,\n} from \"@stencil/core\";\nimport { getSlotElements, isPropDefined } from \"../../utils/helpers\";\nimport {\n createPopper,\n Instance as PopperInstance,\n Options,\n} from \"@popperjs/core\";\nimport { IcThemeMode } from \"../../utils/types\";\n\nconst MENU_SELECTOR = \"div.menu-body\";\n\n@Component({\n tag: \"ic-popover-menu\",\n styleUrl: \"ic-popover-menu.css\",\n shadow: {\n delegatesFocus: true,\n },\n})\nexport class PopoverMenu {\n private anchorEl: HTMLElement | null;\n private ARIA_LABEL: string = \"aria-label\";\n private backButton?: HTMLIcMenuItemElement;\n private currentFocus: number;\n private popoverMenuEls: HTMLIcMenuItemElement[] = [];\n private popperInstance: PopperInstance | null;\n\n @Element() el: HTMLIcPopoverMenuElement;\n\n @State() openingFromChild: boolean = false;\n @State() openingFromParent: boolean = false;\n @State() popperProps: Partial<Options> = {};\n\n /**\n * The ID of the element the popover menu will anchor itself to. This is required unless the popover is a submenu.\n */\n @Prop() anchor?: string;\n\n /**\n * Setting to `true` can help in situations where tooltip content is clipped by a parent element.\n */\n @Prop() fixedPositioning: boolean = false;\n\n /**\n * @internal The parent popover menu of a child popover menu.\n */\n @Prop() parentLabel?: string;\n\n /**\n * @internal The parent popover menu of a child popover menu.\n */\n @Prop() parentPopover?: HTMLIcPopoverMenuElement;\n\n /**\n * The unique identifier for a popover submenu.\n */\n @Prop() submenuId?: string;\n\n /**\n * @internal The level of menu being displayed.\n */\n @Prop() submenuLevel?: number = 1;\n\n /**\n * Sets the theme color to the dark or light theme color. \"inherit\" will set the color based on the system settings or ic-theme component.\n */\n @Prop() theme?: IcThemeMode = \"inherit\";\n\n /**\n * If `true`, the popover menu will be displayed.\n */\n @Prop({ reflect: true, mutable: true }) open?: boolean | undefined =\n undefined;\n\n @Watch(\"open\")\n watchOpenHandler(): void {\n const popoverArr = this.el.parentElement?.querySelectorAll(\n `ic-popover-menu`\n ) as NodeListOf<HTMLIcPopoverMenuElement>;\n if (this.open) {\n if (popoverArr.length > 0) {\n popoverArr.forEach((popover) => {\n if (popover !== this.el) {\n popover.open = false;\n }\n });\n }\n if (\n this.parentPopover !== undefined &&\n !this.popoverMenuEls.some((menuItem) => menuItem.id)\n ) {\n this.backButton && this.popoverMenuEls.unshift(this.backButton);\n }\n\n this.currentFocus = 0;\n // Needed so that anchorEl isn't always focused\n setTimeout(this.setButtonFocus, 50);\n } else if (this.popperInstance) {\n if (popoverArr.length > 0) {\n popoverArr.forEach((popover) => {\n if (popover !== this.el) {\n popover.open = false;\n }\n });\n }\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n /**\n * Emitted when the popover menu is closed.\n */\n @Event() icPopoverClosed: EventEmitter<HTMLIcMenuItemElement>;\n\n disconnectedCallback(): void {\n if (this.popperInstance) {\n this.popperInstance.destroy();\n this.popperInstance = null;\n }\n }\n\n componentDidLoad(): void {\n const slotWrapper = this.el.shadowRoot?.querySelector(MENU_SELECTOR);\n if (slotWrapper) {\n const popoverMenuElements = getSlotElements(slotWrapper);\n\n if (popoverMenuElements !== null) {\n this.addMenuItems(popoverMenuElements);\n }\n }\n\n if (\n this.submenuId === undefined &&\n this.el.getAttribute(this.ARIA_LABEL) === null\n ) {\n console.error(\n `No aria-label specified for popover menu component - aria-label required`\n );\n }\n\n this.watchOpenHandler();\n }\n\n componentWillRender(): void {\n this.anchorEl = this.findAnchorEl(this.anchor);\n }\n\n componentDidRender(): void {\n if (this.open && !this.popperInstance) {\n this.initPopperJS();\n }\n }\n\n @Listen(\"handleMenuItemClick\")\n handleMenuItemClick(ev: CustomEvent<HTMLIcMenuItemElement>): void {\n if (!ev.detail.submenuTriggerFor && ev.detail.label !== \"Back\") {\n this.closeMenu(false, ev.detail);\n }\n }\n\n // This is listening for the event emitted when a menu item is acting as a trigger button\n @Listen(\"triggerPopoverMenuInstance\", { capture: true })\n handleSubmenuChange(ev: Event): void {\n // Finds the trigger menu item that has emitted the event\n const target = ev.target as HTMLIcMenuItemElement;\n this.open = false;\n\n // Find the popover menu that the menu item triggers (i.e. submenu-trigger-for === submenu-id).\n const childEl = document.querySelector(\n `ic-popover-menu[submenu-id=${target.submenuTriggerFor}]`\n ) as HTMLIcPopoverMenuElement;\n // Set the parent popover menu of the submenu and open the submenu\n childEl.parentPopover = this.el;\n childEl.anchor = this.anchor;\n childEl.ariaLabel = this.el.getAttribute(this.ARIA_LABEL);\n childEl.openFromParent();\n childEl.submenuLevel = this.submenuLevel! + 1;\n // Set the label in the submenu using the label of the menu item that has emitted the event\n childEl.parentLabel = target.label;\n }\n\n @Listen(\"click\", { target: \"document\" })\n handleClick(ev: Event): void {\n if (this.open && this.isNotPopoverMenuEl(ev)) {\n // If menu is open and the next click on the document is not a popover El, close the popover\n this.closeMenu();\n }\n }\n\n // Manages the keyboard navigation in the popover menu\n @Listen(\"keydown\", {})\n handleKeyDown(ev: KeyboardEvent): void {\n switch (ev.key) {\n case \"ArrowDown\":\n case \"ArrowUp\":\n ev.preventDefault();\n this.currentFocus = this.getNextItemToSelect(\n this.currentFocus,\n ev.key === \"ArrowDown\"\n );\n this.setButtonFocus();\n break;\n case \"Home\":\n //Sets home focus as first element, or back button\n this.currentFocus = 0;\n this.setButtonFocus();\n break;\n case \"End\":\n //Sets end focus as last element\n this.currentFocus = this.popoverMenuEls.length - 1;\n this.setButtonFocus();\n break;\n case \"Escape\":\n case \"Tab\":\n ev.preventDefault();\n if (this.open) {\n this.closeMenu(true);\n this.el.blur();\n }\n break;\n }\n }\n\n /**\n * @internal Opens the menu from the child menu.\n */\n @Method()\n async openFromChild(): Promise<void> {\n this.open = true;\n this.openingFromChild = true;\n\n setTimeout(() => (this.openingFromChild = false), 1000);\n }\n\n /**\n * @internal Opens the menu from the parent menu.\n */\n @Method()\n async openFromParent(): Promise<void> {\n this.open = true;\n this.openingFromParent = true;\n\n setTimeout(() => (this.openingFromParent = false), 1000);\n }\n\n private setButtonFocus = () => {\n this.popoverMenuEls[this.currentFocus]?.focus();\n };\n\n // Checks that the popover menu has an anchor\n private findAnchorEl = (anchor: string | undefined): HTMLElement | null => {\n let anchorElement: HTMLElement | null = null;\n if (!anchor) {\n this.submenuId === undefined &&\n console.error(\"No anchor specified for popover component\");\n } else {\n anchorElement = document.querySelector(\n anchor.indexOf(\"#\") === 0 ? anchor : \"#\" + anchor\n );\n if (anchorElement === null) {\n console.error(`Popover anchor element '${anchor}' not found`);\n }\n }\n return anchorElement;\n };\n\n private isNotPopoverMenuEl = (ev: Event) => {\n const { id, tagName } = ev.target as HTMLElement;\n return (\n id !== this.anchor &&\n tagName !== \"IC-MENU-ITEM\" &&\n tagName !== \"IC-MENU-GROUP\" &&\n tagName !== \"IC-POPOVER-MENU\"\n );\n };\n\n /**\n * @internal Close the menu, emit icPopoverClosed of the root popover\n * @param setFocusToAnchor when true return focus to anchor element when menu is closed\n */\n @Method()\n async closeMenu(\n setFocusToAnchor = false,\n menuElement?: HTMLIcMenuItemElement\n ): Promise<void> {\n this.open = false;\n if (this.parentPopover) {\n this.parentPopover.closeMenu(setFocusToAnchor, menuElement);\n } else {\n if (setFocusToAnchor) {\n this.anchorEl?.focus();\n }\n this.icPopoverClosed.emit(menuElement);\n }\n }\n\n /**\n * @internal This method allows props to be added to the PopperJS createPopper instance outside of the popover menu\n * @param props object - createPopper props set externally\n */\n @Method()\n async setExternalPopperProps<T extends Partial<Options>>(props: T) {\n this.popperProps = props;\n }\n\n private getNextItemToSelect = (\n currentItem: number,\n movingDown: boolean\n ): number => {\n const numButtons = this.popoverMenuEls.length - 1;\n\n if (currentItem < 1) {\n currentItem = 0;\n }\n\n let nextItem = movingDown ? currentItem + 1 : currentItem - 1;\n\n // Check if wrap around necessary\n if (nextItem < 0) {\n nextItem = numButtons;\n } else if (nextItem > numButtons) {\n nextItem = 0;\n }\n\n return nextItem;\n };\n\n private addMenuItems = (elements: Element[] | NodeListOf<ChildNode>) => {\n for (let i = 0; i < elements.length; i++) {\n const el = elements[i] as HTMLIcMenuItemElement;\n if (el.tagName === \"IC-MENU-ITEM\") {\n this.popoverMenuEls.push(el);\n } else if (el.tagName === \"IC-MENU-GROUP\") {\n const groupSlotWrapper = el.shadowRoot?.querySelector(\n \".menu-items-wrapper\"\n );\n if (groupSlotWrapper) {\n const menuGroupElements = getSlotElements(groupSlotWrapper);\n menuGroupElements && this.addMenuItems(menuGroupElements);\n }\n }\n }\n };\n\n private getMenuAriaLabel = (): string | null => {\n const ariaLabel = this.el.getAttribute(this.ARIA_LABEL);\n\n if (isPropDefined(this.submenuId)) {\n return `${ariaLabel}, within nested level ${this.submenuLevel} ${this.parentLabel} submenu,`;\n } else {\n return ariaLabel;\n }\n };\n\n private handleBackButtonClick = (): void => {\n this.parentPopover?.openFromChild();\n this.open = false;\n };\n\n private initPopperJS = () => {\n if (this.anchorEl) {\n this.popperInstance = createPopper(this.anchorEl, this.el, {\n strategy: this.fixedPositioning ? \"fixed\" : \"absolute\",\n placement: \"bottom-start\",\n modifiers: [\n {\n name: \"offset\",\n options: {\n offset: [0, 4],\n },\n },\n {\n name: \"flip\",\n options: {\n fallbackPlacements: [\"top-start\", \"top-end\", \"bottom-end\"],\n rootBoundary: \"viewport\",\n },\n },\n ],\n ...this.popperProps,\n });\n }\n };\n\n render() {\n return (\n <Host\n class={{\n [\"ic-popover-menu-open\"]: !!this.open,\n [`ic-theme-${this.theme}`]: this.theme !== \"inherit\",\n }}\n >\n <div\n id={\n this.parentPopover === undefined\n ? `ic-popover-submenu-${this.submenuId}`\n : \"\"\n }\n class={{\n menu: true,\n }}\n >\n <span\n class={{\n \"opening-from-parent\": this.openingFromParent,\n \"opening-from-child\": this.openingFromChild,\n }}\n >\n {isPropDefined(this.submenuId) && (\n <span>\n <span role=\"menu\">\n <ic-menu-item\n class=\"ic-popover-submenu-back-button\"\n ref={(el) => (this.backButton = el)}\n label=\"Back\"\n onClick={this.handleBackButtonClick}\n id={`ic-popover-submenu-back-button-${this.submenuLevel}`}\n >\n <svg\n slot=\"icon\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n class=\"submenu-back-icon\"\n >\n <path\n d=\"M20 11H7.83L13.42 5.41L12 4L4 12L12 20L13.41 18.59L7.83 13H20V11Z\"\n fill=\"currentColor\"\n />\n </svg>\n </ic-menu-item>\n </span>\n <ic-typography variant=\"subtitle-small\" class=\"parent-label\">\n {this.parentLabel}\n </ic-typography>\n </span>\n )}\n <div\n class=\"menu-body\"\n aria-label={this.getMenuAriaLabel()}\n role=\"menu\"\n >\n <slot></slot>\n </div>\n </span>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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","ignoreList":[]}