@siemens/ix 2.4.1 → 2.5.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 (830) hide show
  1. package/components/a11y.js +1 -1
  2. package/components/a11y.js.map +1 -1
  3. package/components/application-header.js +37 -7
  4. package/components/application-header.js.map +1 -1
  5. package/components/card-accordion.js +1 -1
  6. package/components/card-accordion.js.map +1 -1
  7. package/components/card-content.js +1 -1
  8. package/components/card-title.js +1 -1
  9. package/components/card.js +3 -3
  10. package/components/card.js.map +1 -1
  11. package/components/col.js.map +1 -1
  12. package/components/context.js +1 -1
  13. package/components/context.js.map +1 -1
  14. package/components/divider.js +1 -1
  15. package/components/dropdown-controller.js +140 -0
  16. package/components/dropdown-controller.js.map +1 -0
  17. package/components/dropdown-item.js +4 -4
  18. package/components/dropdown-item.js.map +1 -1
  19. package/components/dropdown.js +5 -141
  20. package/components/dropdown.js.map +1 -1
  21. package/components/filter-chip.js +1 -1
  22. package/components/floating-ui.dom.esm.js +533 -60
  23. package/components/floating-ui.dom.esm.js.map +1 -1
  24. package/components/group-context-menu.js +1 -1
  25. package/components/group-context-menu.js.map +1 -1
  26. package/components/group-item.js +2 -2
  27. package/components/index.js +1 -0
  28. package/components/index.js.map +1 -1
  29. package/components/ix-action-card.js +1 -1
  30. package/components/ix-action-card.js.map +1 -1
  31. package/components/ix-application-sidebar.js +1 -1
  32. package/components/ix-application-switch-modal.js +1 -1
  33. package/components/ix-application.js +2 -2
  34. package/components/ix-application.js.map +1 -1
  35. package/components/ix-basic-navigation.js +2 -2
  36. package/components/ix-basic-navigation.js.map +1 -1
  37. package/components/ix-blind.js.map +1 -1
  38. package/components/ix-breadcrumb.js +2 -2
  39. package/components/ix-card-list.js +6 -6
  40. package/components/ix-card-list.js.map +1 -1
  41. package/components/ix-category-filter.js +8 -4
  42. package/components/ix-category-filter.js.map +1 -1
  43. package/components/ix-chip.js +4 -4
  44. package/components/ix-chip.js.map +1 -1
  45. package/components/ix-content.js +3 -3
  46. package/components/ix-css-grid-item.js +1 -1
  47. package/components/ix-drawer.js +2 -2
  48. package/components/ix-dropdown-header.js +1 -1
  49. package/components/ix-dropdown-quick-actions.js +1 -1
  50. package/components/ix-event-list-item.js +4 -4
  51. package/components/ix-event-list.js +2 -2
  52. package/components/ix-expanding-search.js +4 -4
  53. package/components/ix-flip-tile-content.js +1 -1
  54. package/components/ix-flip-tile.js +4 -4
  55. package/components/ix-form-field.js +1 -1
  56. package/components/ix-group.js +58 -38
  57. package/components/ix-group.js.map +1 -1
  58. package/components/ix-icon-toggle-button.js +1 -1
  59. package/components/ix-input-group.js +1 -1
  60. package/components/ix-key-value-list.js +1 -1
  61. package/components/ix-kpi.js +3 -3
  62. package/components/ix-kpi.js.map +1 -1
  63. package/components/ix-link-button.js +3 -3
  64. package/components/ix-map-navigation.js +3 -3
  65. package/components/ix-map-navigation.js.map +1 -1
  66. package/components/ix-menu-about-item.js +1 -1
  67. package/components/ix-menu-about-news.js +4 -4
  68. package/components/ix-menu-avatar.js +2 -2
  69. package/components/ix-menu-category.js +5 -5
  70. package/components/ix-menu-settings-item.js +1 -1
  71. package/components/ix-menu.js +12 -12
  72. package/components/ix-menu.js.map +1 -1
  73. package/components/ix-message-bar.js +1 -1
  74. package/components/ix-modal-example.js +1 -1
  75. package/components/ix-modal-footer.js +2 -2
  76. package/components/ix-modal-footer.js.map +1 -1
  77. package/components/ix-modal-loading.js +1 -1
  78. package/components/ix-modal.js +1 -1
  79. package/components/ix-modal.js.map +1 -1
  80. package/components/ix-pagination.js +2 -2
  81. package/components/ix-pane-layout.js +1 -1
  82. package/components/ix-pane.js.map +1 -1
  83. package/components/ix-pill.js +4 -4
  84. package/components/ix-pill.js.map +1 -1
  85. package/components/ix-playground-internal.js +1 -1
  86. package/components/ix-playground-internal.js.map +1 -1
  87. package/components/ix-push-card.js +1 -1
  88. package/components/ix-push-card.js.map +1 -1
  89. package/components/ix-split-button-item.js +1 -1
  90. package/components/ix-tile.js +4 -4
  91. package/components/ix-tile.js.map +1 -1
  92. package/components/ix-toast-container.js.map +1 -1
  93. package/components/ix-toggle-button.js +2 -2
  94. package/components/ix-toggle.js +2 -2
  95. package/components/ix-tree.js +21 -7
  96. package/components/ix-tree.js.map +1 -1
  97. package/components/ix-upload.js +3 -3
  98. package/components/ix-upload.js.map +1 -1
  99. package/components/ix-validation-tooltip.js +2 -2
  100. package/components/ix-workflow-step.js +3 -3
  101. package/components/ix-workflow-step.js.map +1 -1
  102. package/components/ix-workflow-steps.js +1 -1
  103. package/components/ix-workflow-steps.js.map +1 -1
  104. package/components/layout-grid.js +2 -2
  105. package/components/layout-grid.js.map +1 -1
  106. package/components/listener.js +1 -1
  107. package/components/listener.js.map +1 -1
  108. package/components/logical-filter-operator.js +1 -1
  109. package/components/logical-filter-operator.js.map +1 -1
  110. package/components/map-navigation-overlay.js +2 -2
  111. package/components/menu-avatar-item.js +1 -1
  112. package/components/menu-expand-icon.js +1 -1
  113. package/components/menu-expand-icon.js.map +1 -1
  114. package/components/menu-item.js +14 -14
  115. package/components/menu-item.js.map +1 -1
  116. package/components/modal-content.js +1 -1
  117. package/components/modal-content.js.map +1 -1
  118. package/components/modal-header.js +1 -1
  119. package/components/modal-header.js.map +1 -1
  120. package/components/row.js +1 -1
  121. package/components/row.js.map +1 -1
  122. package/components/select-item.js +1 -1
  123. package/components/select.js +27 -30
  124. package/components/select.js.map +1 -1
  125. package/components/shadow-dom.js +1 -1
  126. package/components/shadow-dom.js.map +1 -1
  127. package/components/spinner.js +1 -1
  128. package/components/tabs.js +2 -2
  129. package/components/tabs.js.map +1 -1
  130. package/components/toast.js +2 -2
  131. package/components/toast.js.map +1 -1
  132. package/components/tooltip.js +22 -20
  133. package/components/tooltip.js.map +1 -1
  134. package/components/tree-item.js +8 -8
  135. package/components/tree-item.js.map +1 -1
  136. package/dist/cjs/{a11y-d3ce56d1.js → a11y-eba397e8.js} +2 -2
  137. package/dist/cjs/{a11y-d3ce56d1.js.map → a11y-eba397e8.js.map} +1 -1
  138. package/dist/cjs/{context-98f4a0b3.js → context-938f7470.js} +2 -2
  139. package/dist/cjs/{context-98f4a0b3.js.map → context-938f7470.js.map} +1 -1
  140. package/dist/cjs/dropdown-controller-5ef3d018.js +144 -0
  141. package/dist/cjs/dropdown-controller-5ef3d018.js.map +1 -0
  142. package/dist/cjs/{floating-ui.dom.esm-94b4d17c.js → floating-ui.dom.esm-9dde6cd6.js} +534 -60
  143. package/dist/cjs/floating-ui.dom.esm-9dde6cd6.js.map +1 -0
  144. package/dist/cjs/index.cjs.js +3 -2
  145. package/dist/cjs/index.cjs.js.map +1 -1
  146. package/dist/cjs/ix-action-card.cjs.entry.js +1 -1
  147. package/dist/cjs/ix-action-card.cjs.entry.js.map +1 -1
  148. package/dist/cjs/ix-application-header.cjs.entry.js +34 -8
  149. package/dist/cjs/ix-application-header.cjs.entry.js.map +1 -1
  150. package/dist/cjs/ix-application-sidebar.cjs.entry.js +1 -1
  151. package/dist/cjs/ix-application-switch-modal.cjs.entry.js +1 -1
  152. package/dist/cjs/ix-application.cjs.entry.js +4 -4
  153. package/dist/cjs/ix-application.cjs.entry.js.map +1 -1
  154. package/dist/cjs/ix-avatar_2.cjs.entry.js +2 -2
  155. package/dist/cjs/ix-basic-navigation.cjs.entry.js +3 -3
  156. package/dist/cjs/ix-basic-navigation.cjs.entry.js.map +1 -1
  157. package/dist/cjs/ix-blind.cjs.entry.js +1 -1
  158. package/dist/cjs/ix-blind.cjs.entry.js.map +1 -1
  159. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +1 -1
  160. package/dist/cjs/ix-breadcrumb.cjs.entry.js +3 -3
  161. package/dist/cjs/ix-card-accordion_2.cjs.entry.js +2 -2
  162. package/dist/cjs/ix-card-accordion_2.cjs.entry.js.map +1 -1
  163. package/dist/cjs/ix-card-list.cjs.entry.js +6 -6
  164. package/dist/cjs/ix-card-list.cjs.entry.js.map +1 -1
  165. package/dist/cjs/ix-card_2.cjs.entry.js +4 -4
  166. package/dist/cjs/ix-card_2.cjs.entry.js.map +1 -1
  167. package/dist/cjs/ix-category-filter.cjs.entry.js +9 -5
  168. package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
  169. package/dist/cjs/ix-chip.cjs.entry.js +4 -4
  170. package/dist/cjs/ix-chip.cjs.entry.js.map +1 -1
  171. package/dist/cjs/ix-col_4.cjs.entry.js +4 -4
  172. package/dist/cjs/ix-col_4.cjs.entry.js.map +1 -1
  173. package/dist/cjs/ix-content.cjs.entry.js +4 -4
  174. package/dist/cjs/ix-css-grid-item.cjs.entry.js +1 -1
  175. package/dist/cjs/ix-divider.cjs.entry.js +1 -1
  176. package/dist/cjs/ix-drawer.cjs.entry.js +2 -2
  177. package/dist/cjs/ix-dropdown-header.cjs.entry.js +1 -1
  178. package/dist/cjs/ix-dropdown-item.cjs.entry.js +4 -4
  179. package/dist/cjs/ix-dropdown-item.cjs.entry.js.map +1 -1
  180. package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +1 -1
  181. package/dist/cjs/ix-dropdown.cjs.entry.js +18 -154
  182. package/dist/cjs/ix-dropdown.cjs.entry.js.map +1 -1
  183. package/dist/cjs/ix-event-list-item.cjs.entry.js +5 -5
  184. package/dist/cjs/ix-event-list.cjs.entry.js +2 -2
  185. package/dist/cjs/ix-expanding-search.cjs.entry.js +4 -4
  186. package/dist/cjs/ix-filter-chip_2.cjs.entry.js +2 -2
  187. package/dist/cjs/ix-flip-tile-content.cjs.entry.js +1 -1
  188. package/dist/cjs/ix-flip-tile.cjs.entry.js +4 -4
  189. package/dist/cjs/ix-form-field.cjs.entry.js +1 -1
  190. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +4 -4
  191. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js.map +1 -1
  192. package/dist/cjs/ix-group.cjs.entry.js +57 -39
  193. package/dist/cjs/ix-group.cjs.entry.js.map +1 -1
  194. package/dist/cjs/ix-icon-button_2.cjs.entry.js +2 -2
  195. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +2 -2
  196. package/dist/cjs/ix-input-group.cjs.entry.js +2 -2
  197. package/dist/cjs/ix-key-value-list.cjs.entry.js +1 -1
  198. package/dist/cjs/ix-kpi.cjs.entry.js +3 -3
  199. package/dist/cjs/ix-kpi.cjs.entry.js.map +1 -1
  200. package/dist/cjs/ix-link-button.cjs.entry.js +3 -3
  201. package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js +2 -2
  202. package/dist/cjs/ix-map-navigation.cjs.entry.js +4 -4
  203. package/dist/cjs/ix-map-navigation.cjs.entry.js.map +1 -1
  204. package/dist/cjs/ix-menu-about-item.cjs.entry.js +1 -1
  205. package/dist/cjs/ix-menu-about-news.cjs.entry.js +4 -4
  206. package/dist/cjs/ix-menu-avatar.cjs.entry.js +3 -3
  207. package/dist/cjs/ix-menu-category.cjs.entry.js +6 -6
  208. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +2 -2
  209. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js.map +1 -1
  210. package/dist/cjs/ix-menu-item.cjs.entry.js +13 -13
  211. package/dist/cjs/ix-menu-item.cjs.entry.js.map +1 -1
  212. package/dist/cjs/ix-menu-settings-item.cjs.entry.js +1 -1
  213. package/dist/cjs/ix-menu.cjs.entry.js +13 -13
  214. package/dist/cjs/ix-menu.cjs.entry.js.map +1 -1
  215. package/dist/cjs/ix-message-bar.cjs.entry.js +1 -1
  216. package/dist/cjs/ix-modal-content_2.cjs.entry.js +3 -3
  217. package/dist/cjs/ix-modal-content_2.cjs.entry.js.map +1 -1
  218. package/dist/cjs/ix-modal-example.cjs.entry.js +1 -1
  219. package/dist/cjs/ix-modal-footer.cjs.entry.js +2 -2
  220. package/dist/cjs/ix-modal-footer.cjs.entry.js.map +1 -1
  221. package/dist/cjs/ix-modal-loading.cjs.entry.js +1 -1
  222. package/dist/cjs/ix-modal.cjs.entry.js +3 -3
  223. package/dist/cjs/ix-modal.cjs.entry.js.map +1 -1
  224. package/dist/cjs/ix-pagination.cjs.entry.js +3 -3
  225. package/dist/cjs/ix-pane-layout.cjs.entry.js +1 -1
  226. package/dist/cjs/ix-pane.cjs.entry.js.map +1 -1
  227. package/dist/cjs/ix-pill.cjs.entry.js +4 -4
  228. package/dist/cjs/ix-pill.cjs.entry.js.map +1 -1
  229. package/dist/cjs/ix-playground-internal.cjs.entry.js +1 -1
  230. package/dist/cjs/ix-playground-internal.cjs.entry.js.map +1 -1
  231. package/dist/cjs/ix-push-card.cjs.entry.js +1 -1
  232. package/dist/cjs/ix-push-card.cjs.entry.js.map +1 -1
  233. package/dist/cjs/ix-select.cjs.entry.js +28 -31
  234. package/dist/cjs/ix-select.cjs.entry.js.map +1 -1
  235. package/dist/cjs/ix-slider.cjs.entry.js +2 -2
  236. package/dist/cjs/ix-split-button-item.cjs.entry.js +1 -1
  237. package/dist/cjs/ix-tab-item_2.cjs.entry.js +2 -2
  238. package/dist/cjs/ix-tab-item_2.cjs.entry.js.map +1 -1
  239. package/dist/cjs/ix-tile.cjs.entry.js +4 -4
  240. package/dist/cjs/ix-tile.cjs.entry.js.map +1 -1
  241. package/dist/cjs/ix-toast-container.cjs.entry.js.map +1 -1
  242. package/dist/cjs/ix-toast.cjs.entry.js +2 -2
  243. package/dist/cjs/ix-toast.cjs.entry.js.map +1 -1
  244. package/dist/cjs/ix-toggle-button.cjs.entry.js +3 -3
  245. package/dist/cjs/ix-toggle.cjs.entry.js +3 -3
  246. package/dist/cjs/ix-tooltip.cjs.entry.js +23 -21
  247. package/dist/cjs/ix-tooltip.cjs.entry.js.map +1 -1
  248. package/dist/cjs/ix-tree-item.cjs.entry.js +8 -8
  249. package/dist/cjs/ix-tree-item.cjs.entry.js.map +1 -1
  250. package/dist/cjs/ix-tree.cjs.entry.js +21 -7
  251. package/dist/cjs/ix-tree.cjs.entry.js.map +1 -1
  252. package/dist/cjs/ix-upload.cjs.entry.js +3 -3
  253. package/dist/cjs/ix-upload.cjs.entry.js.map +1 -1
  254. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +3 -3
  255. package/dist/cjs/ix-workflow-step.cjs.entry.js +3 -3
  256. package/dist/cjs/ix-workflow-step.cjs.entry.js.map +1 -1
  257. package/dist/cjs/ix-workflow-steps.cjs.entry.js +1 -1
  258. package/dist/cjs/ix-workflow-steps.cjs.entry.js.map +1 -1
  259. package/dist/cjs/{listener-bc3e7c0c.js → listener-a124ed49.js} +2 -2
  260. package/dist/cjs/{listener-bc3e7c0c.js.map → listener-a124ed49.js.map} +1 -1
  261. package/dist/cjs/loader.cjs.js +1 -1
  262. package/dist/cjs/{logical-filter-operator-5564322e.js → logical-filter-operator-4917393f.js} +2 -2
  263. package/dist/cjs/{logical-filter-operator-5564322e.js.map → logical-filter-operator-4917393f.js.map} +1 -1
  264. package/dist/cjs/{shadow-dom-73f9d553.js → shadow-dom-454acc38.js} +2 -2
  265. package/dist/cjs/{shadow-dom-73f9d553.js.map → shadow-dom-454acc38.js.map} +1 -1
  266. package/dist/cjs/siemens-ix.cjs.js +1 -1
  267. package/dist/collection/components/action-card/action-card.js +6 -3
  268. package/dist/collection/components/action-card/action-card.js.map +1 -1
  269. package/dist/collection/components/application/application.css +26 -6
  270. package/dist/collection/components/application/application.js +1 -1
  271. package/dist/collection/components/application/application.js.map +1 -1
  272. package/dist/collection/components/application-header/application-header.css +9 -7
  273. package/dist/collection/components/application-header/application-header.js +77 -5
  274. package/dist/collection/components/application-header/application-header.js.map +1 -1
  275. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js +1 -1
  276. package/dist/collection/components/application-sidebar/application-sidebar.js +1 -1
  277. package/dist/collection/components/basic-navigation/basic-navigation.js +7 -4
  278. package/dist/collection/components/basic-navigation/basic-navigation.js.map +1 -1
  279. package/dist/collection/components/blind/blind.css +1 -1
  280. package/dist/collection/components/blind/blind.js +2 -2
  281. package/dist/collection/components/blind/blind.js.map +1 -1
  282. package/dist/collection/components/blind/test/blind.ct.js +1 -1
  283. package/dist/collection/components/blind/test/blind.ct.js.map +1 -1
  284. package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
  285. package/dist/collection/components/card/card.css +3 -3
  286. package/dist/collection/components/card/card.js +7 -4
  287. package/dist/collection/components/card/card.js.map +1 -1
  288. package/dist/collection/components/card-accordion/card-accordion.css +4 -4
  289. package/dist/collection/components/card-content/card-content.js +1 -1
  290. package/dist/collection/components/card-list/card-list.css +6 -0
  291. package/dist/collection/components/card-list/card-list.js +5 -5
  292. package/dist/collection/components/card-list/card-list.js.map +1 -1
  293. package/dist/collection/components/card-title/card-title.js +1 -1
  294. package/dist/collection/components/category-filter/category-filter.js +18 -13
  295. package/dist/collection/components/category-filter/category-filter.js.map +1 -1
  296. package/dist/collection/components/category-filter/logical-filter-operator.js +1 -1
  297. package/dist/collection/components/category-filter/logical-filter-operator.js.map +1 -1
  298. package/dist/collection/components/category-filter/test/category-filter.ct.js +52 -0
  299. package/dist/collection/components/category-filter/test/category-filter.ct.js.map +1 -0
  300. package/dist/collection/components/chip/chip.css +2 -2
  301. package/dist/collection/components/chip/chip.js +5 -5
  302. package/dist/collection/components/chip/chip.js.map +1 -1
  303. package/dist/collection/components/col/col.css +1 -1
  304. package/dist/collection/components/col/col.js +1 -1
  305. package/dist/collection/components/col/col.js.map +1 -1
  306. package/dist/collection/components/content/content.js +3 -3
  307. package/dist/collection/components/css-grid/css-grid-item.js +1 -1
  308. package/dist/collection/components/divider/divider.js +1 -1
  309. package/dist/collection/components/drawer/drawer.js +2 -2
  310. package/dist/collection/components/dropdown/dropdown.js +2 -2
  311. package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
  312. package/dist/collection/components/dropdown-item/dropdown-item.css +3 -3
  313. package/dist/collection/components/dropdown-item/dropdown-item.js +5 -5
  314. package/dist/collection/components/dropdown-item/dropdown-item.js.map +1 -1
  315. package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js +1 -1
  316. package/dist/collection/components/event-list/event-list.js +2 -2
  317. package/dist/collection/components/event-list-item/event-list-item.js +4 -4
  318. package/dist/collection/components/expanding-search/expanding-search.js +4 -4
  319. package/dist/collection/components/filter-chip/filter-chip.js +1 -1
  320. package/dist/collection/components/flip-tile/flip-tile.js +4 -4
  321. package/dist/collection/components/flip-tile-content/flip-tile-content.js +1 -1
  322. package/dist/collection/components/form-field/form-field.js +1 -1
  323. package/dist/collection/components/grid/layout-grid.css +1 -1
  324. package/dist/collection/components/grid/layout-grid.js +3 -3
  325. package/dist/collection/components/grid/layout-grid.js.map +1 -1
  326. package/dist/collection/components/group/group-context-menu.css +1 -1
  327. package/dist/collection/components/group/group-context-menu.js +2 -2
  328. package/dist/collection/components/group/group-context-menu.js.map +1 -1
  329. package/dist/collection/components/group/group.css +3 -2
  330. package/dist/collection/components/group/group.js +68 -38
  331. package/dist/collection/components/group/group.js.map +1 -1
  332. package/dist/collection/components/group/test/group.ct.js +34 -4
  333. package/dist/collection/components/group/test/group.ct.js.map +1 -1
  334. package/dist/collection/components/group-item/group-item.js +2 -2
  335. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +1 -1
  336. package/dist/collection/components/input-group/input-group.js +1 -1
  337. package/dist/collection/components/key-value-list/key-value-list.js +1 -1
  338. package/dist/collection/components/kpi/kpi.css +1 -1
  339. package/dist/collection/components/kpi/kpi.js +4 -4
  340. package/dist/collection/components/kpi/kpi.js.map +1 -1
  341. package/dist/collection/components/link-button/link-button.js +3 -3
  342. package/dist/collection/components/map-navigation/map-navigation.css +3 -3
  343. package/dist/collection/components/map-navigation/map-navigation.js +2 -2
  344. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +2 -2
  345. package/dist/collection/components/menu/menu-expand-icon.css +1 -1
  346. package/dist/collection/components/menu/menu-expand-icon.js +3 -3
  347. package/dist/collection/components/menu/menu-expand-icon.js.map +1 -1
  348. package/dist/collection/components/menu/menu.css +4 -3
  349. package/dist/collection/components/menu/menu.js +12 -12
  350. package/dist/collection/components/menu/menu.js.map +1 -1
  351. package/dist/collection/components/menu/test/menu.ct.js +1 -1
  352. package/dist/collection/components/menu/test/menu.ct.js.map +1 -1
  353. package/dist/collection/components/menu-about-item/menu-about-item.js +1 -1
  354. package/dist/collection/components/menu-about-news/menu-about-news.js +4 -4
  355. package/dist/collection/components/menu-avatar/menu-avatar.js +2 -2
  356. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +1 -1
  357. package/dist/collection/components/menu-category/menu-category.js +5 -5
  358. package/dist/collection/components/menu-item/menu-item.js +24 -21
  359. package/dist/collection/components/menu-item/menu-item.js.map +1 -1
  360. package/dist/collection/components/menu-settings-item/menu-settings-item.js +1 -1
  361. package/dist/collection/components/message-bar/message-bar.js +1 -1
  362. package/dist/collection/components/modal/modal.css +18 -8
  363. package/dist/collection/components/modal/modal.js +1 -1
  364. package/dist/collection/components/modal/modal.js.map +1 -1
  365. package/dist/collection/components/modal/test/modal.ct.js +1 -1
  366. package/dist/collection/components/modal/test/modal.ct.js.map +1 -1
  367. package/dist/collection/components/modal-content/modal-content.css +1 -1
  368. package/dist/collection/components/modal-content/modal-content.js +1 -1
  369. package/dist/collection/components/modal-footer/modal-footer.css +1 -0
  370. package/dist/collection/components/modal-footer/modal-footer.js +1 -1
  371. package/dist/collection/components/modal-header/modal-header.js +2 -2
  372. package/dist/collection/components/modal-header/modal-header.js.map +1 -1
  373. package/dist/collection/components/modal-loading/modal-loading.js +1 -1
  374. package/dist/collection/components/pagination/pagination.js +2 -2
  375. package/dist/collection/components/pane/pane.css +1 -1
  376. package/dist/collection/components/pane/pane.js +1 -1
  377. package/dist/collection/components/pane/pane.js.map +1 -1
  378. package/dist/collection/components/pane/test/panes.ct.js +1 -1
  379. package/dist/collection/components/pane/test/panes.ct.js.map +1 -1
  380. package/dist/collection/components/pane-layout/pane-layout.js +1 -1
  381. package/dist/collection/components/pill/pill.css +2 -2
  382. package/dist/collection/components/pill/pill.js +5 -5
  383. package/dist/collection/components/pill/pill.js.map +1 -1
  384. package/dist/collection/components/playground/example-modal.js +1 -1
  385. package/dist/collection/components/playground/playground.js +2 -2
  386. package/dist/collection/components/playground/playground.js.map +1 -1
  387. package/dist/collection/components/push-card/push-card.js +9 -6
  388. package/dist/collection/components/push-card/push-card.js.map +1 -1
  389. package/dist/collection/components/row/row.css +1 -1
  390. package/dist/collection/components/row/row.js +2 -2
  391. package/dist/collection/components/row/row.js.map +1 -1
  392. package/dist/collection/components/select/select.js +27 -30
  393. package/dist/collection/components/select/select.js.map +1 -1
  394. package/dist/collection/components/select/test/select.ct.js +44 -0
  395. package/dist/collection/components/select/test/select.ct.js.map +1 -1
  396. package/dist/collection/components/select-item/select-item.js +1 -1
  397. package/dist/collection/components/spinner/spinner.js +1 -1
  398. package/dist/collection/components/split-button-item/split-button-item.js +1 -1
  399. package/dist/collection/components/tabs/tabs.css +1 -1
  400. package/dist/collection/components/tabs/tabs.js +3 -3
  401. package/dist/collection/components/tabs/tabs.js.map +1 -1
  402. package/dist/collection/components/tile/tile.css +1 -1
  403. package/dist/collection/components/tile/tile.js +5 -5
  404. package/dist/collection/components/tile/tile.js.map +1 -1
  405. package/dist/collection/components/toast/styles/toast-container.css +1 -1
  406. package/dist/collection/components/toast/toast-container.js +1 -1
  407. package/dist/collection/components/toast/toast-container.js.map +1 -1
  408. package/dist/collection/components/toast/toast-utils.js.map +1 -1
  409. package/dist/collection/components/toast/toast.css +1 -1
  410. package/dist/collection/components/toast/toast.js +3 -3
  411. package/dist/collection/components/toast/toast.js.map +1 -1
  412. package/dist/collection/components/toggle/toggle.js +2 -2
  413. package/dist/collection/components/toggle-button/toggle-button.js +2 -2
  414. package/dist/collection/components/tooltip/tooltip.css +15 -5
  415. package/dist/collection/components/tooltip/tooltip.js +22 -20
  416. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  417. package/dist/collection/components/tree/test/tree.ct.js +37 -1
  418. package/dist/collection/components/tree/test/tree.ct.js.map +1 -1
  419. package/dist/collection/components/tree/tree-model.js.map +1 -1
  420. package/dist/collection/components/tree/tree.css +1 -1
  421. package/dist/collection/components/tree/tree.js +26 -11
  422. package/dist/collection/components/tree/tree.js.map +1 -1
  423. package/dist/collection/components/tree-item/tree-item.css +9 -0
  424. package/dist/collection/components/tree-item/tree-item.js +13 -12
  425. package/dist/collection/components/tree-item/tree-item.js.map +1 -1
  426. package/dist/collection/components/upload/upload.js +4 -4
  427. package/dist/collection/components/upload/upload.js.map +1 -1
  428. package/dist/collection/components/utils/condition-checks.js +1 -1
  429. package/dist/collection/components/utils/condition-checks.js.map +1 -1
  430. package/dist/collection/components/utils/context.js +1 -1
  431. package/dist/collection/components/utils/context.js.map +1 -1
  432. package/dist/collection/components/utils/listener.js +1 -1
  433. package/dist/collection/components/utils/listener.js.map +1 -1
  434. package/dist/collection/components/utils/notification-color.js.map +1 -1
  435. package/dist/collection/components/utils/shadow-dom.js +1 -1
  436. package/dist/collection/components/utils/shadow-dom.js.map +1 -1
  437. package/dist/collection/components/validation-tooltip/validation-tooltip.js +2 -2
  438. package/dist/collection/components/workflow-step/workflow-step.css +1 -1
  439. package/dist/collection/components/workflow-step/workflow-step.js +4 -4
  440. package/dist/collection/components/workflow-step/workflow-step.js.map +1 -1
  441. package/dist/collection/components/workflow-steps/test/workflow-steps.ct.js +2 -2
  442. package/dist/collection/components/workflow-steps/test/workflow-steps.ct.js.map +1 -1
  443. package/dist/collection/components/workflow-steps/workflow-steps.css +1 -1
  444. package/dist/collection/components/workflow-steps/workflow-steps.js +2 -2
  445. package/dist/collection/components/workflow-steps/workflow-steps.js.map +1 -1
  446. package/dist/collection/index.js +1 -0
  447. package/dist/collection/index.js.map +1 -1
  448. package/dist/collection/tests/application-header/application-header.e2e.js +9 -0
  449. package/dist/collection/tests/application-header/application-header.e2e.js.map +1 -1
  450. package/dist/collection/tests/card-list/card-list.e2e.js +7 -1
  451. package/dist/collection/tests/card-list/card-list.e2e.js.map +1 -1
  452. package/dist/collection/tests/dropdown/dropdown.e2e.js +6 -0
  453. package/dist/collection/tests/dropdown/dropdown.e2e.js.map +1 -1
  454. package/dist/collection/tests/group/group.e2e.js +12 -3
  455. package/dist/collection/tests/group/group.e2e.js.map +1 -1
  456. package/dist/collection/tests/tooltip/tooltip.e2e.js +22 -0
  457. package/dist/collection/tests/tooltip/tooltip.e2e.js.map +1 -1
  458. package/dist/collection/tests/tree/tree.e2e.js +12 -0
  459. package/dist/collection/tests/tree/tree.e2e.js.map +1 -1
  460. package/dist/esm/{a11y-d5444a76.js → a11y-2e34777f.js} +2 -2
  461. package/dist/esm/{a11y-d5444a76.js.map → a11y-2e34777f.js.map} +1 -1
  462. package/dist/esm/{context-c9078420.js → context-82a1ccf8.js} +2 -2
  463. package/dist/esm/{context-c9078420.js.map → context-82a1ccf8.js.map} +1 -1
  464. package/dist/esm/dropdown-controller-95bd6750.js +140 -0
  465. package/dist/esm/dropdown-controller-95bd6750.js.map +1 -0
  466. package/dist/esm/{floating-ui.dom.esm-6e7c098f.js → floating-ui.dom.esm-d4ad786a.js} +534 -61
  467. package/dist/esm/floating-ui.dom.esm-d4ad786a.js.map +1 -0
  468. package/dist/esm/index.js +2 -2
  469. package/dist/esm/index.js.map +1 -1
  470. package/dist/esm/ix-action-card.entry.js +1 -1
  471. package/dist/esm/ix-action-card.entry.js.map +1 -1
  472. package/dist/esm/ix-application-header.entry.js +35 -9
  473. package/dist/esm/ix-application-header.entry.js.map +1 -1
  474. package/dist/esm/ix-application-sidebar.entry.js +1 -1
  475. package/dist/esm/ix-application-switch-modal.entry.js +1 -1
  476. package/dist/esm/ix-application.entry.js +4 -4
  477. package/dist/esm/ix-application.entry.js.map +1 -1
  478. package/dist/esm/ix-avatar_2.entry.js +2 -2
  479. package/dist/esm/ix-basic-navigation.entry.js +3 -3
  480. package/dist/esm/ix-basic-navigation.entry.js.map +1 -1
  481. package/dist/esm/ix-blind.entry.js +1 -1
  482. package/dist/esm/ix-blind.entry.js.map +1 -1
  483. package/dist/esm/ix-breadcrumb-item.entry.js +1 -1
  484. package/dist/esm/ix-breadcrumb.entry.js +3 -3
  485. package/dist/esm/ix-card-accordion_2.entry.js +2 -2
  486. package/dist/esm/ix-card-accordion_2.entry.js.map +1 -1
  487. package/dist/esm/ix-card-list.entry.js +6 -6
  488. package/dist/esm/ix-card-list.entry.js.map +1 -1
  489. package/dist/esm/ix-card_2.entry.js +4 -4
  490. package/dist/esm/ix-card_2.entry.js.map +1 -1
  491. package/dist/esm/ix-category-filter.entry.js +9 -5
  492. package/dist/esm/ix-category-filter.entry.js.map +1 -1
  493. package/dist/esm/ix-chip.entry.js +4 -4
  494. package/dist/esm/ix-chip.entry.js.map +1 -1
  495. package/dist/esm/ix-col_4.entry.js +4 -4
  496. package/dist/esm/ix-col_4.entry.js.map +1 -1
  497. package/dist/esm/ix-content.entry.js +4 -4
  498. package/dist/esm/ix-css-grid-item.entry.js +1 -1
  499. package/dist/esm/ix-divider.entry.js +1 -1
  500. package/dist/esm/ix-drawer.entry.js +2 -2
  501. package/dist/esm/ix-dropdown-header.entry.js +1 -1
  502. package/dist/esm/ix-dropdown-item.entry.js +4 -4
  503. package/dist/esm/ix-dropdown-item.entry.js.map +1 -1
  504. package/dist/esm/ix-dropdown-quick-actions.entry.js +1 -1
  505. package/dist/esm/ix-dropdown.entry.js +4 -140
  506. package/dist/esm/ix-dropdown.entry.js.map +1 -1
  507. package/dist/esm/ix-event-list-item.entry.js +5 -5
  508. package/dist/esm/ix-event-list.entry.js +2 -2
  509. package/dist/esm/ix-expanding-search.entry.js +4 -4
  510. package/dist/esm/ix-filter-chip_2.entry.js +2 -2
  511. package/dist/esm/ix-flip-tile-content.entry.js +1 -1
  512. package/dist/esm/ix-flip-tile.entry.js +4 -4
  513. package/dist/esm/ix-form-field.entry.js +1 -1
  514. package/dist/esm/ix-group-context-menu_2.entry.js +4 -4
  515. package/dist/esm/ix-group-context-menu_2.entry.js.map +1 -1
  516. package/dist/esm/ix-group.entry.js +57 -39
  517. package/dist/esm/ix-group.entry.js.map +1 -1
  518. package/dist/esm/ix-icon-button_2.entry.js +2 -2
  519. package/dist/esm/ix-icon-toggle-button.entry.js +2 -2
  520. package/dist/esm/ix-input-group.entry.js +2 -2
  521. package/dist/esm/ix-key-value-list.entry.js +1 -1
  522. package/dist/esm/ix-kpi.entry.js +3 -3
  523. package/dist/esm/ix-kpi.entry.js.map +1 -1
  524. package/dist/esm/ix-link-button.entry.js +3 -3
  525. package/dist/esm/ix-map-navigation-overlay.entry.js +2 -2
  526. package/dist/esm/ix-map-navigation.entry.js +4 -4
  527. package/dist/esm/ix-map-navigation.entry.js.map +1 -1
  528. package/dist/esm/ix-menu-about-item.entry.js +1 -1
  529. package/dist/esm/ix-menu-about-news.entry.js +4 -4
  530. package/dist/esm/ix-menu-avatar.entry.js +3 -3
  531. package/dist/esm/ix-menu-category.entry.js +6 -6
  532. package/dist/esm/ix-menu-expand-icon.entry.js +2 -2
  533. package/dist/esm/ix-menu-expand-icon.entry.js.map +1 -1
  534. package/dist/esm/ix-menu-item.entry.js +14 -14
  535. package/dist/esm/ix-menu-item.entry.js.map +1 -1
  536. package/dist/esm/ix-menu-settings-item.entry.js +1 -1
  537. package/dist/esm/ix-menu.entry.js +13 -13
  538. package/dist/esm/ix-menu.entry.js.map +1 -1
  539. package/dist/esm/ix-message-bar.entry.js +1 -1
  540. package/dist/esm/ix-modal-content_2.entry.js +3 -3
  541. package/dist/esm/ix-modal-content_2.entry.js.map +1 -1
  542. package/dist/esm/ix-modal-example.entry.js +1 -1
  543. package/dist/esm/ix-modal-footer.entry.js +2 -2
  544. package/dist/esm/ix-modal-footer.entry.js.map +1 -1
  545. package/dist/esm/ix-modal-loading.entry.js +1 -1
  546. package/dist/esm/ix-modal.entry.js +3 -3
  547. package/dist/esm/ix-modal.entry.js.map +1 -1
  548. package/dist/esm/ix-pagination.entry.js +3 -3
  549. package/dist/esm/ix-pane-layout.entry.js +1 -1
  550. package/dist/esm/ix-pane.entry.js.map +1 -1
  551. package/dist/esm/ix-pill.entry.js +4 -4
  552. package/dist/esm/ix-pill.entry.js.map +1 -1
  553. package/dist/esm/ix-playground-internal.entry.js +1 -1
  554. package/dist/esm/ix-playground-internal.entry.js.map +1 -1
  555. package/dist/esm/ix-push-card.entry.js +1 -1
  556. package/dist/esm/ix-push-card.entry.js.map +1 -1
  557. package/dist/esm/ix-select.entry.js +28 -31
  558. package/dist/esm/ix-select.entry.js.map +1 -1
  559. package/dist/esm/ix-slider.entry.js +2 -2
  560. package/dist/esm/ix-split-button-item.entry.js +1 -1
  561. package/dist/esm/ix-tab-item_2.entry.js +2 -2
  562. package/dist/esm/ix-tab-item_2.entry.js.map +1 -1
  563. package/dist/esm/ix-tile.entry.js +4 -4
  564. package/dist/esm/ix-tile.entry.js.map +1 -1
  565. package/dist/esm/ix-toast-container.entry.js.map +1 -1
  566. package/dist/esm/ix-toast.entry.js +2 -2
  567. package/dist/esm/ix-toast.entry.js.map +1 -1
  568. package/dist/esm/ix-toggle-button.entry.js +3 -3
  569. package/dist/esm/ix-toggle.entry.js +3 -3
  570. package/dist/esm/ix-tooltip.entry.js +23 -21
  571. package/dist/esm/ix-tooltip.entry.js.map +1 -1
  572. package/dist/esm/ix-tree-item.entry.js +8 -8
  573. package/dist/esm/ix-tree-item.entry.js.map +1 -1
  574. package/dist/esm/ix-tree.entry.js +21 -7
  575. package/dist/esm/ix-tree.entry.js.map +1 -1
  576. package/dist/esm/ix-upload.entry.js +3 -3
  577. package/dist/esm/ix-upload.entry.js.map +1 -1
  578. package/dist/esm/ix-validation-tooltip.entry.js +3 -3
  579. package/dist/esm/ix-workflow-step.entry.js +3 -3
  580. package/dist/esm/ix-workflow-step.entry.js.map +1 -1
  581. package/dist/esm/ix-workflow-steps.entry.js +1 -1
  582. package/dist/esm/ix-workflow-steps.entry.js.map +1 -1
  583. package/dist/esm/{listener-4f3baab5.js → listener-2c562054.js} +2 -2
  584. package/dist/esm/{listener-4f3baab5.js.map → listener-2c562054.js.map} +1 -1
  585. package/dist/esm/loader.js +1 -1
  586. package/dist/esm/{logical-filter-operator-f6701df5.js → logical-filter-operator-d793d1c3.js} +2 -2
  587. package/dist/esm/{logical-filter-operator-f6701df5.js.map → logical-filter-operator-d793d1c3.js.map} +1 -1
  588. package/dist/esm/{shadow-dom-60e9243d.js → shadow-dom-cc0bc152.js} +2 -2
  589. package/dist/esm/{shadow-dom-60e9243d.js.map → shadow-dom-cc0bc152.js.map} +1 -1
  590. package/dist/esm/siemens-ix.js +1 -1
  591. package/dist/siemens-ix/index.esm.js +1 -1
  592. package/dist/siemens-ix/index.esm.js.map +1 -1
  593. package/dist/siemens-ix/p-04af3853.entry.js +2 -0
  594. package/dist/siemens-ix/{p-4df0cdd7.entry.js → p-04ec538b.entry.js} +2 -2
  595. package/dist/siemens-ix/{p-68644ee1.entry.js → p-05dc6b2d.entry.js} +2 -2
  596. package/dist/siemens-ix/{p-68644ee1.entry.js.map → p-05dc6b2d.entry.js.map} +1 -1
  597. package/dist/siemens-ix/{p-af099ca4.entry.js → p-0632731e.entry.js} +2 -2
  598. package/dist/siemens-ix/{p-6af4415c.entry.js → p-085d5ec2.entry.js} +2 -2
  599. package/dist/siemens-ix/{p-6af4415c.entry.js.map → p-085d5ec2.entry.js.map} +1 -1
  600. package/dist/siemens-ix/{p-0d2a6886.entry.js → p-091b036d.entry.js} +2 -2
  601. package/dist/siemens-ix/{p-453fa360.entry.js → p-0ef97555.entry.js} +2 -2
  602. package/dist/siemens-ix/{p-453fa360.entry.js.map → p-0ef97555.entry.js.map} +1 -1
  603. package/dist/siemens-ix/{p-2946fd70.entry.js → p-0fafba48.entry.js} +2 -2
  604. package/dist/siemens-ix/{p-7076210b.entry.js → p-1483f65d.entry.js} +2 -2
  605. package/dist/siemens-ix/{p-4f8ac3bf.js → p-157b1b28.js} +1 -1
  606. package/dist/siemens-ix/{p-4f8ac3bf.js.map → p-157b1b28.js.map} +1 -1
  607. package/dist/siemens-ix/p-15f44099.entry.js +2 -0
  608. package/dist/siemens-ix/{p-87e692d9.entry.js.map → p-15f44099.entry.js.map} +1 -1
  609. package/dist/siemens-ix/{p-2908cacd.entry.js → p-17a8aab2.entry.js} +2 -2
  610. package/dist/siemens-ix/{p-2908cacd.entry.js.map → p-17a8aab2.entry.js.map} +1 -1
  611. package/dist/siemens-ix/{p-c1968b80.entry.js → p-1bd98772.entry.js} +2 -2
  612. package/dist/siemens-ix/p-1c3a0b1f.js +2 -0
  613. package/dist/siemens-ix/p-1c3a0b1f.js.map +1 -0
  614. package/dist/siemens-ix/{p-8629db91.entry.js → p-25f1749c.entry.js} +2 -2
  615. package/dist/siemens-ix/{p-5696bb62.entry.js → p-306269ae.entry.js} +2 -2
  616. package/dist/siemens-ix/{p-dde7eb80.entry.js → p-33a7a26d.entry.js} +2 -2
  617. package/dist/siemens-ix/{p-dde7eb80.entry.js.map → p-33a7a26d.entry.js.map} +1 -1
  618. package/dist/siemens-ix/{p-712e0ee0.js → p-345e1c73.js} +1 -1
  619. package/dist/siemens-ix/{p-712e0ee0.js.map → p-345e1c73.js.map} +1 -1
  620. package/dist/siemens-ix/p-35fff1e6.entry.js +2 -0
  621. package/dist/siemens-ix/{p-9ebc4fc3.entry.js → p-37229f30.entry.js} +2 -2
  622. package/dist/siemens-ix/{p-9ebc4fc3.entry.js.map → p-37229f30.entry.js.map} +1 -1
  623. package/dist/siemens-ix/p-3dc1294b.entry.js +2 -0
  624. package/dist/siemens-ix/{p-e9a3f58a.entry.js.map → p-3dc1294b.entry.js.map} +1 -1
  625. package/dist/siemens-ix/p-3f59a3c3.entry.js +2 -0
  626. package/dist/siemens-ix/p-3f59a3c3.entry.js.map +1 -0
  627. package/dist/siemens-ix/p-411f51c5.entry.js +2 -0
  628. package/dist/siemens-ix/{p-f78246bd.entry.js → p-44a27b29.entry.js} +2 -2
  629. package/dist/siemens-ix/{p-d03df401.entry.js → p-49d3fc15.entry.js} +2 -2
  630. package/dist/siemens-ix/{p-25ee1b62.js → p-4ac31849.js} +1 -1
  631. package/dist/siemens-ix/{p-25ee1b62.js.map → p-4ac31849.js.map} +1 -1
  632. package/dist/siemens-ix/{p-dbe8f5e6.entry.js → p-4e547dd3.entry.js} +2 -2
  633. package/dist/siemens-ix/{p-dbe8f5e6.entry.js.map → p-4e547dd3.entry.js.map} +1 -1
  634. package/dist/siemens-ix/p-5099c070.entry.js +2 -0
  635. package/dist/siemens-ix/p-5099c070.entry.js.map +1 -0
  636. package/dist/siemens-ix/{p-fc5814df.entry.js → p-5351225b.entry.js} +2 -2
  637. package/dist/siemens-ix/p-5351225b.entry.js.map +1 -0
  638. package/dist/siemens-ix/p-5aa0b93c.entry.js.map +1 -1
  639. package/dist/siemens-ix/{p-113cc793.entry.js → p-5af99eaa.entry.js} +2 -2
  640. package/dist/siemens-ix/{p-e30ed20a.entry.js → p-62b089b6.entry.js} +2 -2
  641. package/dist/siemens-ix/{p-e30ed20a.entry.js.map → p-62b089b6.entry.js.map} +1 -1
  642. package/dist/siemens-ix/p-63f0755e.entry.js +2 -0
  643. package/dist/siemens-ix/{p-14a41c8c.entry.js → p-6618b2db.entry.js} +2 -2
  644. package/dist/siemens-ix/{p-0653a145.entry.js → p-67f44540.entry.js} +2 -2
  645. package/dist/siemens-ix/{p-15b3c17e.entry.js → p-6e4c9e3d.entry.js} +2 -2
  646. package/dist/siemens-ix/{p-15b3c17e.entry.js.map → p-6e4c9e3d.entry.js.map} +1 -1
  647. package/dist/siemens-ix/p-7402f42a.entry.js +2 -0
  648. package/dist/siemens-ix/p-7402f42a.entry.js.map +1 -0
  649. package/dist/siemens-ix/{p-53352bfb.entry.js → p-77273517.entry.js} +2 -2
  650. package/dist/siemens-ix/{p-882a0233.entry.js → p-78ac2ff1.entry.js} +2 -2
  651. package/dist/siemens-ix/p-7947ef3d.entry.js +2 -0
  652. package/dist/siemens-ix/{p-fb47546b.entry.js → p-7c2f34f0.entry.js} +2 -2
  653. package/dist/siemens-ix/p-82d33168.entry.js +2 -0
  654. package/dist/siemens-ix/p-82f9d976.entry.js +2 -0
  655. package/dist/siemens-ix/p-82f9d976.entry.js.map +1 -0
  656. package/dist/siemens-ix/{p-85423643.entry.js → p-86bbc005.entry.js} +2 -2
  657. package/dist/siemens-ix/p-86bbc005.entry.js.map +1 -0
  658. package/dist/siemens-ix/p-86fd5922.entry.js +2 -0
  659. package/dist/siemens-ix/p-86fd5922.entry.js.map +1 -0
  660. package/dist/siemens-ix/p-89e48bea.entry.js +2 -0
  661. package/dist/siemens-ix/p-89e48bea.entry.js.map +1 -0
  662. package/dist/siemens-ix/{p-052340f9.entry.js → p-8acc09aa.entry.js} +2 -2
  663. package/dist/siemens-ix/{p-6fd7ecd0.entry.js → p-9079f6c8.entry.js} +2 -2
  664. package/dist/siemens-ix/p-928209e1.entry.js +2 -0
  665. package/dist/siemens-ix/p-928209e1.entry.js.map +1 -0
  666. package/dist/siemens-ix/{p-e8d3cf35.entry.js → p-958c5970.entry.js} +2 -2
  667. package/dist/siemens-ix/{p-e8d3cf35.entry.js.map → p-958c5970.entry.js.map} +1 -1
  668. package/dist/siemens-ix/{p-16b923e9.entry.js → p-9bdda7ff.entry.js} +2 -2
  669. package/dist/siemens-ix/p-a08efce0.entry.js +2 -0
  670. package/dist/siemens-ix/p-a08efce0.entry.js.map +1 -0
  671. package/dist/siemens-ix/p-a4755205.entry.js +2 -0
  672. package/dist/siemens-ix/p-a4755205.entry.js.map +1 -0
  673. package/dist/siemens-ix/{p-2c4c03d4.entry.js → p-aa814811.entry.js} +2 -2
  674. package/dist/siemens-ix/{p-7c36d3fa.js → p-accec846.js} +1 -1
  675. package/dist/siemens-ix/{p-7c36d3fa.js.map → p-accec846.js.map} +1 -1
  676. package/dist/siemens-ix/{p-8d599677.entry.js → p-adee6045.entry.js} +2 -2
  677. package/dist/siemens-ix/{p-8d599677.entry.js.map → p-adee6045.entry.js.map} +1 -1
  678. package/dist/siemens-ix/{p-d95cbd1f.entry.js → p-ae31be0d.entry.js} +2 -2
  679. package/dist/siemens-ix/{p-d95cbd1f.entry.js.map → p-ae31be0d.entry.js.map} +1 -1
  680. package/dist/siemens-ix/{p-feac09bc.entry.js → p-ba24e694.entry.js} +2 -2
  681. package/dist/siemens-ix/p-ba6e955a.js +2 -0
  682. package/dist/siemens-ix/p-ba6e955a.js.map +1 -0
  683. package/dist/siemens-ix/p-c022d6cc.entry.js +2 -0
  684. package/dist/siemens-ix/{p-eb6268a6.entry.js.map → p-c022d6cc.entry.js.map} +1 -1
  685. package/dist/siemens-ix/p-c05a98c8.entry.js +2 -0
  686. package/dist/siemens-ix/{p-71315e2e.entry.js → p-c072ddb5.entry.js} +2 -2
  687. package/dist/siemens-ix/p-c1fe9f3d.entry.js +2 -0
  688. package/dist/siemens-ix/p-c1fe9f3d.entry.js.map +1 -0
  689. package/dist/siemens-ix/p-c33cee36.entry.js.map +1 -1
  690. package/dist/siemens-ix/{p-0b4e398e.entry.js → p-c62966f8.entry.js} +2 -2
  691. package/dist/siemens-ix/{p-0b4e398e.entry.js.map → p-c62966f8.entry.js.map} +1 -1
  692. package/dist/siemens-ix/p-c7280736.entry.js +2 -0
  693. package/dist/siemens-ix/{p-0f7ef743.entry.js.map → p-c7280736.entry.js.map} +1 -1
  694. package/dist/siemens-ix/{p-8d0758c1.entry.js → p-c7e58e9e.entry.js} +2 -2
  695. package/dist/siemens-ix/{p-4430117a.entry.js → p-c81c4b9d.entry.js} +2 -2
  696. package/dist/siemens-ix/{p-d950c3a8.entry.js → p-cc65617d.entry.js} +2 -2
  697. package/dist/siemens-ix/{p-1a122c76.entry.js → p-d300b332.entry.js} +2 -2
  698. package/dist/siemens-ix/p-d6fc0727.entry.js +2 -0
  699. package/dist/siemens-ix/p-d6fc0727.entry.js.map +1 -0
  700. package/dist/siemens-ix/p-df370362.entry.js +2 -0
  701. package/dist/siemens-ix/p-df370362.entry.js.map +1 -0
  702. package/dist/siemens-ix/{p-5f25e7fd.entry.js → p-e0d03d67.entry.js} +2 -2
  703. package/dist/siemens-ix/{p-5f25e7fd.entry.js.map → p-e0d03d67.entry.js.map} +1 -1
  704. package/dist/siemens-ix/{p-ff1ac5b3.entry.js → p-e14384df.entry.js} +2 -2
  705. package/dist/siemens-ix/{p-fb2b78f7.entry.js → p-e35805d0.entry.js} +2 -2
  706. package/dist/siemens-ix/p-e35805d0.entry.js.map +1 -0
  707. package/dist/siemens-ix/{p-0c8a98cd.js → p-e948bcb0.js} +1 -1
  708. package/dist/siemens-ix/{p-0c8a98cd.js.map → p-e948bcb0.js.map} +1 -1
  709. package/dist/siemens-ix/{p-5b135f6b.entry.js → p-e95a5a97.entry.js} +2 -2
  710. package/dist/siemens-ix/{p-5b135f6b.entry.js.map → p-e95a5a97.entry.js.map} +1 -1
  711. package/dist/siemens-ix/p-ed7e76a3.entry.js +2 -0
  712. package/dist/siemens-ix/p-ed7e76a3.entry.js.map +1 -0
  713. package/dist/siemens-ix/{p-bea7c748.entry.js → p-ee96d1eb.entry.js} +2 -2
  714. package/dist/siemens-ix/p-f001ecc1.entry.js +2 -0
  715. package/dist/siemens-ix/p-f001ecc1.entry.js.map +1 -0
  716. package/dist/siemens-ix/p-f06b21f9.entry.js +2 -0
  717. package/dist/siemens-ix/p-f06b21f9.entry.js.map +1 -0
  718. package/dist/siemens-ix/{p-bc2c74c5.entry.js → p-fd5bee44.entry.js} +2 -2
  719. package/dist/siemens-ix/p-fefd5743.entry.js +2 -0
  720. package/dist/siemens-ix/p-fefd5743.entry.js.map +1 -0
  721. package/dist/siemens-ix/{p-dcb3e5be.entry.js → p-ffa856df.entry.js} +2 -2
  722. package/dist/siemens-ix/siemens-ix-core.css +1 -1
  723. package/dist/siemens-ix/siemens-ix.css +5 -1
  724. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  725. package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
  726. package/dist/types/components/action-card/action-card.d.ts +1 -0
  727. package/dist/types/components/application-header/application-header.d.ts +18 -0
  728. package/dist/types/components/basic-navigation/basic-navigation.d.ts +2 -1
  729. package/dist/types/components/card/card.d.ts +2 -1
  730. package/dist/types/components/category-filter/category-filter.d.ts +9 -9
  731. package/dist/types/components/category-filter/test/category-filter.ct.d.ts +1 -0
  732. package/dist/types/components/dropdown-item/dropdown-item.d.ts +2 -2
  733. package/dist/types/components/group/group.d.ts +4 -2
  734. package/dist/types/components/menu-item/menu-item.d.ts +6 -5
  735. package/dist/types/components/push-card/push-card.d.ts +4 -3
  736. package/dist/types/components/tooltip/tooltip.d.ts +2 -3
  737. package/dist/types/components/tree/tree.d.ts +1 -1
  738. package/dist/types/components/tree-item/tree-item.d.ts +3 -3
  739. package/dist/types/components.d.ts +67 -29
  740. package/dist/types/index.d.ts +1 -0
  741. package/hydrate/index.js +872 -338
  742. package/package.json +3 -2
  743. package/scss/_core.scss +5 -0
  744. package/dist/cjs/floating-ui.dom.esm-94b4d17c.js.map +0 -1
  745. package/dist/esm/floating-ui.dom.esm-6e7c098f.js.map +0 -1
  746. package/dist/siemens-ix/p-0b4e3779.entry.js +0 -2
  747. package/dist/siemens-ix/p-0b4e3779.entry.js.map +0 -1
  748. package/dist/siemens-ix/p-0f7ef743.entry.js +0 -2
  749. package/dist/siemens-ix/p-1cff59db.entry.js +0 -2
  750. package/dist/siemens-ix/p-1cff59db.entry.js.map +0 -1
  751. package/dist/siemens-ix/p-1f4b8463.entry.js +0 -2
  752. package/dist/siemens-ix/p-1f4b8463.entry.js.map +0 -1
  753. package/dist/siemens-ix/p-2ec7f841.entry.js +0 -2
  754. package/dist/siemens-ix/p-2ec7f841.entry.js.map +0 -1
  755. package/dist/siemens-ix/p-309ac3ad.entry.js +0 -2
  756. package/dist/siemens-ix/p-309ac3ad.entry.js.map +0 -1
  757. package/dist/siemens-ix/p-32375ddb.entry.js +0 -2
  758. package/dist/siemens-ix/p-427676f4.entry.js +0 -2
  759. package/dist/siemens-ix/p-427676f4.entry.js.map +0 -1
  760. package/dist/siemens-ix/p-44db3646.entry.js +0 -2
  761. package/dist/siemens-ix/p-4b3facea.entry.js +0 -2
  762. package/dist/siemens-ix/p-4b3facea.entry.js.map +0 -1
  763. package/dist/siemens-ix/p-52857629.entry.js +0 -2
  764. package/dist/siemens-ix/p-52857629.entry.js.map +0 -1
  765. package/dist/siemens-ix/p-6227e62b.entry.js +0 -2
  766. package/dist/siemens-ix/p-6227e62b.entry.js.map +0 -1
  767. package/dist/siemens-ix/p-7bfd6cd2.entry.js +0 -2
  768. package/dist/siemens-ix/p-7bfd6cd2.entry.js.map +0 -1
  769. package/dist/siemens-ix/p-7faa148f.entry.js +0 -2
  770. package/dist/siemens-ix/p-85423643.entry.js.map +0 -1
  771. package/dist/siemens-ix/p-87e692d9.entry.js +0 -2
  772. package/dist/siemens-ix/p-92a18c10.entry.js +0 -2
  773. package/dist/siemens-ix/p-a0a44a2b.entry.js +0 -2
  774. package/dist/siemens-ix/p-a0a44a2b.entry.js.map +0 -1
  775. package/dist/siemens-ix/p-b3b23af7.entry.js +0 -2
  776. package/dist/siemens-ix/p-b3f35666.js +0 -2
  777. package/dist/siemens-ix/p-b3f35666.js.map +0 -1
  778. package/dist/siemens-ix/p-c1222581.entry.js +0 -2
  779. package/dist/siemens-ix/p-d331216f.entry.js +0 -2
  780. package/dist/siemens-ix/p-d331216f.entry.js.map +0 -1
  781. package/dist/siemens-ix/p-d8790ff5.entry.js +0 -2
  782. package/dist/siemens-ix/p-d8790ff5.entry.js.map +0 -1
  783. package/dist/siemens-ix/p-d998415f.entry.js +0 -2
  784. package/dist/siemens-ix/p-d998415f.entry.js.map +0 -1
  785. package/dist/siemens-ix/p-e9a3f58a.entry.js +0 -2
  786. package/dist/siemens-ix/p-eb6268a6.entry.js +0 -2
  787. package/dist/siemens-ix/p-ebb277f0.entry.js +0 -2
  788. package/dist/siemens-ix/p-ebb277f0.entry.js.map +0 -1
  789. package/dist/siemens-ix/p-f318140c.entry.js +0 -2
  790. package/dist/siemens-ix/p-f318140c.entry.js.map +0 -1
  791. package/dist/siemens-ix/p-fb2b78f7.entry.js.map +0 -1
  792. package/dist/siemens-ix/p-fb4c79c6.entry.js +0 -2
  793. package/dist/siemens-ix/p-fc5814df.entry.js.map +0 -1
  794. /package/dist/siemens-ix/{p-fb4c79c6.entry.js.map → p-04af3853.entry.js.map} +0 -0
  795. /package/dist/siemens-ix/{p-4df0cdd7.entry.js.map → p-04ec538b.entry.js.map} +0 -0
  796. /package/dist/siemens-ix/{p-af099ca4.entry.js.map → p-0632731e.entry.js.map} +0 -0
  797. /package/dist/siemens-ix/{p-0d2a6886.entry.js.map → p-091b036d.entry.js.map} +0 -0
  798. /package/dist/siemens-ix/{p-2946fd70.entry.js.map → p-0fafba48.entry.js.map} +0 -0
  799. /package/dist/siemens-ix/{p-7076210b.entry.js.map → p-1483f65d.entry.js.map} +0 -0
  800. /package/dist/siemens-ix/{p-c1968b80.entry.js.map → p-1bd98772.entry.js.map} +0 -0
  801. /package/dist/siemens-ix/{p-8629db91.entry.js.map → p-25f1749c.entry.js.map} +0 -0
  802. /package/dist/siemens-ix/{p-5696bb62.entry.js.map → p-306269ae.entry.js.map} +0 -0
  803. /package/dist/siemens-ix/{p-b3b23af7.entry.js.map → p-35fff1e6.entry.js.map} +0 -0
  804. /package/dist/siemens-ix/{p-92a18c10.entry.js.map → p-411f51c5.entry.js.map} +0 -0
  805. /package/dist/siemens-ix/{p-f78246bd.entry.js.map → p-44a27b29.entry.js.map} +0 -0
  806. /package/dist/siemens-ix/{p-d03df401.entry.js.map → p-49d3fc15.entry.js.map} +0 -0
  807. /package/dist/siemens-ix/{p-113cc793.entry.js.map → p-5af99eaa.entry.js.map} +0 -0
  808. /package/dist/siemens-ix/{p-c1222581.entry.js.map → p-63f0755e.entry.js.map} +0 -0
  809. /package/dist/siemens-ix/{p-14a41c8c.entry.js.map → p-6618b2db.entry.js.map} +0 -0
  810. /package/dist/siemens-ix/{p-0653a145.entry.js.map → p-67f44540.entry.js.map} +0 -0
  811. /package/dist/siemens-ix/{p-53352bfb.entry.js.map → p-77273517.entry.js.map} +0 -0
  812. /package/dist/siemens-ix/{p-882a0233.entry.js.map → p-78ac2ff1.entry.js.map} +0 -0
  813. /package/dist/siemens-ix/{p-32375ddb.entry.js.map → p-7947ef3d.entry.js.map} +0 -0
  814. /package/dist/siemens-ix/{p-fb47546b.entry.js.map → p-7c2f34f0.entry.js.map} +0 -0
  815. /package/dist/siemens-ix/{p-7faa148f.entry.js.map → p-82d33168.entry.js.map} +0 -0
  816. /package/dist/siemens-ix/{p-052340f9.entry.js.map → p-8acc09aa.entry.js.map} +0 -0
  817. /package/dist/siemens-ix/{p-6fd7ecd0.entry.js.map → p-9079f6c8.entry.js.map} +0 -0
  818. /package/dist/siemens-ix/{p-16b923e9.entry.js.map → p-9bdda7ff.entry.js.map} +0 -0
  819. /package/dist/siemens-ix/{p-2c4c03d4.entry.js.map → p-aa814811.entry.js.map} +0 -0
  820. /package/dist/siemens-ix/{p-feac09bc.entry.js.map → p-ba24e694.entry.js.map} +0 -0
  821. /package/dist/siemens-ix/{p-44db3646.entry.js.map → p-c05a98c8.entry.js.map} +0 -0
  822. /package/dist/siemens-ix/{p-71315e2e.entry.js.map → p-c072ddb5.entry.js.map} +0 -0
  823. /package/dist/siemens-ix/{p-8d0758c1.entry.js.map → p-c7e58e9e.entry.js.map} +0 -0
  824. /package/dist/siemens-ix/{p-4430117a.entry.js.map → p-c81c4b9d.entry.js.map} +0 -0
  825. /package/dist/siemens-ix/{p-d950c3a8.entry.js.map → p-cc65617d.entry.js.map} +0 -0
  826. /package/dist/siemens-ix/{p-1a122c76.entry.js.map → p-d300b332.entry.js.map} +0 -0
  827. /package/dist/siemens-ix/{p-ff1ac5b3.entry.js.map → p-e14384df.entry.js.map} +0 -0
  828. /package/dist/siemens-ix/{p-bea7c748.entry.js.map → p-ee96d1eb.entry.js.map} +0 -0
  829. /package/dist/siemens-ix/{p-bc2c74c5.entry.js.map → p-fd5bee44.entry.js.map} +0 -0
  830. /package/dist/siemens-ix/{p-dcb3e5be.entry.js.map → p-ffa856df.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["min","Math","max","round","floor","createCoords","v","x","y","oppositeSideMap","left","right","bottom","top","oppositeAlignmentMap","start","end","clamp","value","evaluate","param","getSide","placement","split","getAlignment","getOppositeAxis","axis","getAxisLength","getSideAxis","includes","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","length","mainAlignmentSide","reference","floating","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","replace","getSideList","side","isStart","lr","rl","tb","bt","getOppositeAxisPlacements","flipAlignment","direction","list","map","concat","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","width","height","computeCoordsFromPlacement","_ref","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","computePosition","async","config","strategy","middleware","platform","validMiddleware","filter","Boolean","isRTL","getElementRects","statefulPlacement","middlewareData","resetCount","i","name","fn","nextX","nextY","data","reset","initialPlacement","elements","detectOverflow","state","options","_await$platform$isEle","boundary","rootBoundary","elementContext","altBoundary","paddingObject","altContext","element","clippingClientRect","getClippingRect","isElement","contextElement","getDocumentElement","offsetParent","getOffsetParent","offsetScale","getScale","elementClientRect","convertOffsetParentRelativeRectToViewportRelativeRect","arrow","arrowDimensions","getDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","offset","shouldAddOffset","alignmentOffset","centerOffset","flip","_middlewareData$arrow","_middlewareData$flip","mainAxis","checkMainAxis","crossAxis","checkCrossAxis","fallbackPlacements","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","detectOverflowOptions","isBasePlacement","push","placements","overflow","overflows","overflowsData","sides","every","_middlewareData$flip2","_overflowsData$filter","nextIndex","index","nextPlacement","resetPlacement","d","sort","a","b","_overflowsData$map$so","reduce","acc","getBoundingRect","minX","minY","maxX","maxY","getRectsByLine","sortedRects","slice","groups","prevRect","inline","nativeClientRects","Array","from","getClientRects","clientRects","fallback","getBoundingClientRect","find","firstRect","lastRect","isTop","isLeftSide","maxRight","minLeft","measureRects","resetRects","convertValueToCoords","mainAxisMulti","crossAxisMulti","rawValue","diffCoords","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","getNodeName","node","isNode","nodeName","toLowerCase","getWindow","_node$ownerDocument","ownerDocument","defaultView","window","document","documentElement","Node","Element","isHTMLElement","HTMLElement","isShadowRoot","ShadowRoot","isOverflowElement","overflowX","overflowY","display","getComputedStyle","test","isTableElement","isContainingBlock","webkit","isWebKit","css","transform","perspective","containerType","backdropFilter","some","willChange","contain","getContainingBlock","currentNode","getParentNode","isLastTraversableNode","CSS","supports","getNodeScroll","scrollLeft","scrollTop","pageXOffset","pageYOffset","result","assignedSlot","parentNode","host","getNearestOverflowAncestor","body","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","visualViewport","frameElement","getCssDimensions","parseFloat","hasOffset","offsetWidth","offsetHeight","shouldFallback","$","unwrapElement","domElement","Number","isFinite","noOffsets","getVisualOffsets","offsetLeft","offsetTop","shouldAddVisualOffsets","isFixed","floatingOffsetParent","includeScale","isFixedStrategy","clientRect","scale","visualOffsets","offsetWin","currentIFrame","iframeScale","iframeRect","clientLeft","paddingLeft","clientTop","paddingTop","isOffsetParentAnElement","scroll","offsets","offsetRect","getWindowScrollBarX","getDocumentRect","html","scrollWidth","clientWidth","scrollHeight","clientHeight","getViewportRect","visualViewportBased","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","position","getClippingElementAncestors","cache","cachedResult","get","el","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","shouldDropCurrentNode","ancestor","set","elementClippingAncestors","this","_c","clippingAncestors","firstClippingAncestor","clippingRect","accRect","getRectRelativeToOffsetParent","getTrueOffsetParent","polyfill","getOffsetParentFn","getDimensionsFn","observeMove","onMove","io","timeoutId","root","cleanup","clearTimeout","disconnect","refresh","skip","threshold","insetTop","insetRight","insetBottom","insetLeft","rootMargin","isFirstUpdate","handleObserve","entries","ratio","intersectionRatio","setTimeout","IntersectionObserver","e","observe","autoUpdate","update","ancestorScroll","ancestorResize","elementResize","ResizeObserver","layoutShift","animationFrame","referenceEl","ancestors","forEach","addEventListener","passive","cleanupIo","reobserveFrame","resizeObserver","firstEntry","target","unobserve","cancelAnimationFrame","requestAnimationFrame","frameId","prevRefRect","frameLoop","nextRefRect","removeEventListener","Map","mergedOptions","platformWithCache","computePosition$1"],"sources":["../../node_modules/.pnpm/@floating-ui+utils@0.1.6/node_modules/@floating-ui/utils/dist/floating-ui.utils.esm.js","../../node_modules/.pnpm/@floating-ui+core@1.5.0/node_modules/@floating-ui/core/dist/floating-ui.core.esm.js","../../node_modules/.pnpm/@floating-ui+utils@0.1.6/node_modules/@floating-ui/utils/dom/dist/floating-ui.utils.dom.esm.js","../../node_modules/.pnpm/@floating-ui+dom@1.5.3/node_modules/@floating-ui/dom/dist/floating-ui.dom.esm.js"],"sourcesContent":["const sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nfunction getSideAxis(placement) {\n return ['top', 'bottom'].includes(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nfunction getSideList(side, isStart, rtl) {\n const lr = ['left', 'right'];\n const rl = ['right', 'left'];\n const tb = ['top', 'bottom'];\n const bt = ['bottom', 'top'];\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rl : lr;\n return isStart ? lr : rl;\n case 'left':\n case 'right':\n return isStart ? tb : bt;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n return {\n ...rect,\n top: rect.y,\n left: rect.x,\n right: rect.x + rect.width,\n bottom: rect.y + rect.height\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a reference element when it is given a certain positioning strategy.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n continue;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n ...rects.floating,\n x,\n y\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center != offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n if (!specifiedFallbackPlacements && fallbackAxisSideDirection !== 'none') {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$map$so;\n const placement = (_overflowsData$map$so = overflowsData.map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$map$so[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: 0,\n crossAxis: 0,\n alignmentAxis: null,\n ...rawValue\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n const {\n x,\n y\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: diffCoords\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = ['top', 'left'].includes(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const overflowAvailableHeight = height - overflow[heightSide];\n const overflowAvailableWidth = width - overflow[widthSide];\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if (isYAxis) {\n const maximumClippingWidth = width - overflow.left - overflow.right;\n availableWidth = alignment || noShift ? min(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;\n } else {\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n availableHeight = alignment || noShift ? min(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null ? void 0 : (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n // Browsers without `ShadowRoot` support.\n if (typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);\n}\nfunction isTableElement(element) {\n return ['table', 'td', 'th'].includes(getNodeName(element));\n}\nfunction isContainingBlock(element) {\n const webkit = isWebKit();\n const css = getComputedStyle(element);\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else {\n currentNode = getParentNode(currentNode);\n }\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nfunction isLastTraversableNode(node) {\n return ['html', 'body', '#document'].includes(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.pageXOffset,\n scrollTop: element.pageYOffset\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isWebKit };\n","import { rectToClientRect, computePosition as computePosition$1 } from '@floating-ui/core';\nexport { arrow, autoPlacement, detectOverflow, flip, hide, inline, limitShift, offset, shift, size } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle, isHTMLElement, isElement, getWindow, isWebKit, getDocumentElement, getNodeName, isOverflowElement, getNodeScroll, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentIFrame = win.frameElement;\n while (currentIFrame && offsetParent && offsetWin !== win) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentIFrame = getWindow(currentIFrame).frameElement;\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n if (offsetParent === documentElement) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\nfunction getWindowScrollBarX(element) {\n // If <html> has a CSS width greater than the viewport, then this will be\n // incorrect for RTL.\n return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n ...clippingAncestor,\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n return getCssDimensions(element);\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n }\n return {\n x: rect.left + scroll.scrollLeft - offsets.x,\n y: rect.top + scroll.scrollTop - offsets.y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n return element.offsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const window = getWindow(element);\n if (!isHTMLElement(element)) {\n return window;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {\n return window;\n }\n return offsetParent || getContainingBlock(element) || window;\n}\n\nconst getElementRects = async function (_ref) {\n let {\n reference,\n floating,\n strategy\n } = _ref;\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n return {\n reference: getRectRelativeToOffsetParent(reference, await getOffsetParentFn(floating), strategy),\n floating: {\n x: 0,\n y: 0,\n ...(await getDimensionsFn(floating))\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n clearTimeout(timeoutId);\n io && io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const {\n left,\n top,\n width,\n height\n } = element.getBoundingClientRect();\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 100);\n } else {\n refresh(false, ratio);\n }\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n resizeObserver && resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo && cleanupIo();\n resizeObserver && resizeObserver.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a reference element when it is given a certain CSS positioning\n * strategy.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { autoUpdate, computePosition, platform };\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as e,c as a,h as t,H as s}from"./p-f87cd962.js";const c=":host{display:block}";const b=c;const n=class{constructor(t){e(this,t);this.labelChange=a(this,"labelChange",7);this.label=undefined}watchLabel(e,a){this.labelChange.emit({name:"ix-menu-about-item",oldLabel:a,newLabel:e})}render(){return t(s,{key:"8f4b3c1bc410eaf0fde9247cd99c18bba78fc628"},t("slot",{key:"86fee42e74eb5ed0511c2fa3ae62efa57817fffa"}))}static get watchers(){return{label:["watchLabel"]}}};n.style=b;export{n as ix_menu_about_item};
2
- //# sourceMappingURL=p-c1222581.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as e,c as t,h as o,H as r,g as i}from"./p-f87cd962.js";import{c as d}from"./p-e898862b.js";import{h as s}from"./p-712e0ee0.js";const a=":host{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;flex-direction:column;position:relative;max-width:19.75rem;border-color:var(--theme-group-item--border-color)}:host .group-header{height:4rem;min-height:4rem;max-height:4rem;border-radius:var(--theme-group--border-radius) var(--theme-group--border-radius) 0 0;display:flex;background-color:var(--theme-group-item--background);color:var(--theme-group-header--color);cursor:pointer}:host .group-header:not(.disabled):not(:disabled){cursor:pointer}:host .group-header:not(.disabled):not(:disabled):hover{background-color:var(--theme-group-item--background--hover)}:host .group-header:not(.disabled):not(:disabled):hover.selected{background-color:var(--theme-group-item--background--selected)}:host .group-header:not(.disabled):not(:disabled){cursor:pointer}:host .group-header:not(.disabled):not(:disabled):active,:host .group-header:not(.disabled):not(:disabled).active{background-color:var(--theme-group-item--background--active)}:host .group-header:not(.disabled):not(:disabled):active.selected,:host .group-header:not(.disabled):not(:disabled).active.selected{background-color:var(--theme-group-item--background--selected)}:host .group-header:not(.disabled):not(:disabled):focus-visible{border:1px solid var(--theme-color-focus-bdr);border-radius:var(--theme-default-border-radius) var(--theme-default-border-radius) 0px 0px;outline:none}:host .group-header.selected{background-color:var(--theme-group-item--background--selected)}:host .group-header.selected .group-header-selection-indicator{background-color:var(--theme-group-item-indicator--background--selected)}:host .group-header .group-header-selection-indicator{background-color:var(--theme-color-input--focus)}:host .group-header .group-header-selection-indicator.group-header-selection-indicator-item-selected{background-color:var(--theme-group-item-indicator--background--selected)}:host .group-header-clickable{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;width:100%;min-width:0}:host .group-header-selection-indicator{width:0.25rem;border-top-left-radius:var(--theme-group--border-radius)}:host .group-header-content{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:flex;flex-direction:row;justify-content:space-between;min-width:0;flex-grow:1;flex-basis:0;padding:0.5rem;padding-left:0}:host .group-header-content .group-header-props-container{width:100%}:host .group-header-content .group-header-title{display:flex;align-items:center;font-size:1rem;font-weight:700;height:1.5rem}:host .group-header-content .group-header-title>*{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;padding-right:0}:host .group-header-content .group-subheader{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;height:1.25rem;font-size:0.875rem;color:var(--theme-group-subheader--color)}:host .expand-icon{padding:0.125rem 0.437rem;color:var(--theme-color-std-text)}:host .btn-expand-header{margin:0.5rem;margin-inline-end:0.25rem;min-width:1.5rem}:host .group-content{display:flex;flex-direction:column;gap:1px;margin-top:1px}:host .footer{visibility:collapse;height:auto;min-height:0}:host .footer-visible{visibility:visible}:host .hidden{display:none}";const h=a;const n=class{constructor(o){e(this,o);this.selectGroup=t(this,"selectGroup",7);this.selectItem=t(this,"selectItem",7);this.collapsedChanged=t(this,"collapsedChanged",7);this.observer=null;this.suppressHeaderSelection=false;this.header=undefined;this.subHeader=undefined;this.collapsed=true;this.selected=false;this.index=undefined;this.expandOnHeaderClick=false;this.itemSelected=false;this.slotSize=this.groupItems.length;this.footerVisible=false;this.showExpandCollapsedIcon=false}get dropdownItems(){return Array.from(this.hostElement.querySelectorAll("ix-group-dropdown-item"))}get groupItems(){return Array.from(this.hostElement.querySelectorAll("ix-group-item:not(.footer)"))}get groupContent(){var e;return(e=this.hostElement.shadowRoot)===null||e===void 0?void 0:e.querySelector(".group-content")}onExpandClick(e){this.collapsed=!this.collapsed;this.collapsedChanged.emit(this.collapsed);e.stopPropagation()}onHeaderClick(e){this.setGroupSelection(!this.selected);if(this.suppressHeaderSelection){this.onExpandClick(e)}}onItemClick(e){const t=e===this.index?undefined:e;this.selectItem.emit(t);this.index=t;if(this.index!==undefined&&this.index>=0){this.itemSelected=true}else this.itemSelected=false;this.setGroupSelection(false)}setGroupSelection(e){if(!this.suppressHeaderSelection){this.selected=e;this.selectGroup.emit(this.selected)}}onSlotChange(){var e;const t=(e=this.hostElement.shadowRoot)===null||e===void 0?void 0:e.querySelector('slot[name="footer"]');if(t){this.footerVisible=s(t)}}componentWillRender(){this.groupItems.forEach(((e,t)=>{if(this.selected===true){e.selected=false;this.index=undefined;this.itemSelected=false;return}e.selected=t===this.index;e.index=t}))}componentDidLoad(){var e;this.observer=d((()=>{this.slotSize=this.groupItems.length}));if(!this.groupContent){return}this.observer.observe(this.groupContent,{childList:true});(e=this.groupContent)===null||e===void 0?void 0:e.addEventListener("selectedChanged",(e=>{if(e.detail.suppressSelection){e.stopPropagation();return}this.onItemClick(e.detail.index)}))}disconnectedCallback(){if(this.observer){this.observer.disconnect()}}render(){return o(r,{key:"8153fe3f0c5fd78f733287dacb9fb5cfd23e624c"},o("div",{key:"109139ea65795878ffd08e539ef5a59ade8c05ba",class:{"group-header":true,expand:!this.collapsed,selected:this.selected},tabindex:"0"},o("div",{key:"262c00872bbfb8958de008e6a5d9f847a6121777",class:"group-header-clickable",onClick:e=>this.onHeaderClick(e)},o("div",{key:"c64dc6333e5b8cd876d5dac4ed294885fa9d97db",class:{"group-header-selection-indicator":true,"group-header-selection-indicator-item-selected":this.itemSelected}}),o("div",{key:"b295acc0552867f1d97803cf7ffa2fcdafe30931",class:"btn-expand-header"},o("ix-icon",{key:"d0b798aa02a970d77d1636ff38677f2b5777dc0b","data-testid":"expand-collapsed-icon",class:{hidden:!this.showExpandCollapsedIcon},name:this.collapsed?"chevron-right-small":"chevron-down-small",onClick:e=>this.onExpandClick(e)})),o("div",{key:"fa7a41f9e379ec4972d1c3db364f0ab82e57a0b5",class:"group-header-content"},this.header?o("div",{class:"group-header-props-container"},o("div",{class:"group-header-title"},o("span",{title:this.header},this.header)),o("div",{class:"group-subheader",title:this.subHeader},this.subHeader)):null,o("slot",{key:"4caba82a4558a06a999723d52dd05ed1c19c772b",name:"header"}))),o("ix-group-context-menu",{key:"ca29c2ff305e9a0ba11299771cdb27c509cf887c"},o("slot",{key:"dfd21416520cac904b790be7fceb0f02f8ef630d",name:"dropdown"}))),o("div",{key:"07470786706f46bd197ea7ff9ce6b0b97d8b114a",class:{"group-content":true}},o("div",{key:"f9ec75f57035ff5583dd728d34907139f7d787f5",style:{display:this.collapsed?"none":"contents"}},o("slot",{key:"bc86c0d2b2cc896e350c61aeb98896979ffb3647",onSlotchange:()=>{var e;const t=(e=this.hostElement.shadowRoot)===null||e===void 0?void 0:e.querySelector("slot:not([name])");this.showExpandCollapsedIcon=s(t)}}),o("ix-group-item",{key:"ad82143a05418d19517e06205452ed1db0367258",suppressSelection:true,focusable:false,class:{footer:true,"footer-visible":this.footerVisible}},o("slot",{key:"e4aec4e664f7f4479e9be7d90bec9ea19c1b8677",name:"footer",onSlotchange:()=>this.onSlotChange()})))))}get hostElement(){return i(this)}};n.style=h;export{n as ix_group};
2
- //# sourceMappingURL=p-d331216f.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["groupCss","IxGroupStyle0","Group","this","observer","groupItems","length","dropdownItems","Array","from","hostElement","querySelectorAll","groupContent","_a","shadowRoot","querySelector","onExpandClick","event","collapsed","collapsedChanged","emit","stopPropagation","onHeaderClick","setGroupSelection","selected","suppressHeaderSelection","onItemClick","index","newIndex","undefined","selectItem","itemSelected","selection","selectGroup","onSlotChange","slot","footerVisible","hasSlottedElements","componentWillRender","forEach","item","componentDidLoad","createMutationObserver","slotSize","observe","childList","addEventListener","evt","detail","suppressSelection","disconnectedCallback","disconnect","render","h","Host","key","class","expand","tabindex","onClick","e","hidden","showExpandCollapsedIcon","name","header","title","subHeader","style","display","onSlotchange","focusable","footer"],"sources":["src/components/group/group.scss?tag=ix-group&encapsulation=shadow","src/components/group/group.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n@import 'common-variables';\n@import 'legacy/mixins/fonts';\n@import 'mixins/hover';\n@import 'mixins/text-truncation';\n\n:host {\n @include ellipsis;\n\n display: flex;\n flex-direction: column;\n position: relative;\n max-width: 19.75rem;\n border-color: var(--theme-group-item--border-color);\n\n .group-header {\n height: 4rem;\n min-height: 4rem;\n max-height: 4rem;\n border-radius: var(--theme-group--border-radius)\n var(--theme-group--border-radius) 0 0;\n display: flex;\n background-color: var(--theme-group-item--background);\n color: var(--theme-group-header--color);\n\n cursor: pointer;\n\n @include hover {\n background-color: var(--theme-group-item--background--hover);\n\n &.selected {\n background-color: var(--theme-group-item--background--selected);\n }\n }\n\n @include active {\n background-color: var(--theme-group-item--background--active);\n\n &.selected {\n background-color: var(--theme-group-item--background--selected);\n }\n }\n\n @include focus-visible {\n border: 1px solid var(--theme-color-focus-bdr);\n border-radius: var(--theme-default-border-radius)\n var(--theme-default-border-radius) 0px 0px;\n outline: none;\n }\n\n &.selected {\n background-color: var(--theme-group-item--background--selected);\n\n .group-header-selection-indicator {\n background-color: var(\n --theme-group-item-indicator--background--selected\n );\n }\n }\n\n .group-header-selection-indicator {\n background-color: var(--theme-color-input--focus);\n\n &.group-header-selection-indicator-item-selected {\n background-color: var(\n --theme-group-item-indicator--background--selected\n );\n }\n }\n }\n\n .group-header-clickable {\n @include ellipsis;\n\n display: flex;\n width: 100%;\n min-width: 0;\n }\n\n .group-header-selection-indicator {\n width: $tiny-space;\n border-top-left-radius: var(--theme-group--border-radius);\n }\n\n .group-header-content {\n @include ellipsis;\n\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n min-width: 0;\n flex-grow: 1;\n flex-basis: 0;\n padding: 0.5rem;\n padding-left: 0;\n\n .group-header-props-container {\n width: 100%;\n }\n\n .group-header-title {\n display: flex;\n align-items: center;\n font-size: 1rem;\n font-weight: $font-weight-bold;\n height: 1.5rem;\n\n & > * {\n @include ellipsis;\n\n min-width: 0;\n padding-right: 0;\n }\n }\n\n .group-subheader {\n @include ellipsis();\n\n height: 1.25rem;\n font-size: 0.875rem;\n color: var(--theme-group-subheader--color);\n }\n }\n\n .expand-icon {\n padding: 0.125rem 0.437rem;\n color: var(--theme-color-std-text);\n }\n\n .btn-expand-header {\n margin: $small-space;\n margin-inline-end: $tiny-space;\n min-width: 1.5rem;\n }\n\n .group-content {\n display: flex;\n flex-direction: column;\n gap: 1px;\n margin-top: 1px;\n }\n\n .footer {\n visibility: collapse;\n height: auto;\n min-height: 0;\n }\n\n .footer-visible {\n visibility: visible;\n }\n\n .hidden {\n display: none;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Prop,\n State,\n} from '@stencil/core';\nimport { createMutationObserver } from '../utils/mutation-observer';\nimport { hasSlottedElements } from '../utils/shadow-dom';\n\n@Component({\n tag: 'ix-group',\n styleUrl: 'group.scss',\n shadow: true,\n})\nexport class Group {\n @Element() hostElement!: HTMLIxGroupElement;\n\n /**\n * Prevent header from being selectable\n */\n @Prop() suppressHeaderSelection = false;\n\n /**\n * Group header\n */\n @Prop() header?: string;\n\n /**\n * Group header subtitle\n */\n @Prop() subHeader?: string;\n\n /**\n * Whether the group is collapsed or expanded. Defaults to true.\n */\n @Prop({ mutable: true, reflect: true }) collapsed = true;\n\n /**\n * Whether the group is selected.\n */\n @Prop({ mutable: true, reflect: true }) selected = false;\n\n /**\n * The index of the selected group entry.\n * If undefined no group item is selected.\n */\n @Prop({ mutable: true, reflect: true }) index?: number;\n\n /**\n * Expand the group if the header is clicked\n */\n @Prop() expandOnHeaderClick = false;\n\n /**\n * Emits when whole group gets selected.\n */\n @Event() selectGroup!: EventEmitter<boolean>;\n\n /**\n * Emits when group item gets selected.\n */\n @Event() selectItem!: EventEmitter<number>;\n\n /**\n * Group collapsed\n */\n @Event() collapsedChanged!: EventEmitter<boolean>;\n\n @State() itemSelected = false;\n @State() slotSize = this.groupItems.length;\n @State() footerVisible = false;\n\n @State() showExpandCollapsedIcon = false;\n\n private observer: MutationObserver = null!;\n\n get dropdownItems() {\n return Array.from(\n this.hostElement.querySelectorAll('ix-group-dropdown-item')\n );\n }\n\n get groupItems(): Array<HTMLIxGroupItemElement> {\n return Array.from(\n this.hostElement.querySelectorAll('ix-group-item:not(.footer)')\n );\n }\n\n get groupContent() {\n return this.hostElement.shadowRoot?.querySelector('.group-content');\n }\n\n private onExpandClick(event: Event) {\n this.collapsed = !this.collapsed;\n\n this.collapsedChanged.emit(this.collapsed);\n event.stopPropagation();\n }\n\n private onHeaderClick(event: Event) {\n this.setGroupSelection(!this.selected);\n\n if (this.suppressHeaderSelection) {\n this.onExpandClick(event);\n }\n }\n\n private onItemClick(index?: number) {\n const newIndex = index === this.index ? undefined : index;\n this.selectItem.emit(newIndex);\n\n this.index = newIndex;\n\n if (this.index !== undefined && this.index >= 0) {\n this.itemSelected = true;\n } else this.itemSelected = false;\n\n this.setGroupSelection(false);\n }\n\n private setGroupSelection(selection: boolean) {\n if (!this.suppressHeaderSelection) {\n this.selected = selection;\n this.selectGroup.emit(this.selected);\n }\n }\n\n private onSlotChange() {\n const slot = this.hostElement.shadowRoot?.querySelector(\n 'slot[name=\"footer\"]'\n );\n\n if (slot) {\n this.footerVisible = hasSlottedElements(slot);\n }\n }\n\n componentWillRender() {\n this.groupItems.forEach((item, index) => {\n if (this.selected === true) {\n item.selected = false;\n this.index = undefined;\n this.itemSelected = false;\n return;\n }\n item.selected = index === this.index;\n item.index = index;\n });\n }\n\n componentDidLoad() {\n this.observer = createMutationObserver(() => {\n this.slotSize = this.groupItems.length;\n });\n\n if (!this.groupContent) {\n return;\n }\n\n this.observer.observe(this.groupContent, {\n childList: true,\n });\n\n this.groupContent?.addEventListener(\n 'selectedChanged',\n (evt: CustomEvent<HTMLIxGroupItemElement>) => {\n if (evt.detail.suppressSelection) {\n evt.stopPropagation();\n return;\n }\n\n this.onItemClick(evt.detail.index);\n }\n );\n }\n\n disconnectedCallback() {\n if (this.observer) {\n this.observer.disconnect();\n }\n }\n\n render() {\n return (\n <Host>\n <div\n class={{\n 'group-header': true,\n expand: !this.collapsed,\n selected: this.selected,\n }}\n tabindex=\"0\"\n >\n <div\n class=\"group-header-clickable\"\n onClick={(e) => this.onHeaderClick(e)}\n >\n <div\n class={{\n 'group-header-selection-indicator': true,\n 'group-header-selection-indicator-item-selected':\n this.itemSelected,\n }}\n ></div>\n <div class=\"btn-expand-header\">\n <ix-icon\n data-testid=\"expand-collapsed-icon\"\n class={{\n hidden: !this.showExpandCollapsedIcon,\n }}\n name={\n this.collapsed ? 'chevron-right-small' : 'chevron-down-small'\n }\n onClick={(e) => this.onExpandClick(e)}\n ></ix-icon>\n </div>\n\n <div class=\"group-header-content\">\n {this.header ? (\n <div class=\"group-header-props-container\">\n <div class=\"group-header-title\">\n <span title={this.header}>{this.header}</span>\n </div>\n <div class=\"group-subheader\" title={this.subHeader}>\n {this.subHeader}\n </div>\n </div>\n ) : null}\n <slot name=\"header\"></slot>\n </div>\n </div>\n <ix-group-context-menu>\n <slot name=\"dropdown\"></slot>\n </ix-group-context-menu>\n </div>\n <div\n class={{\n 'group-content': true,\n }}\n >\n <div\n style={{\n display: this.collapsed ? 'none' : 'contents',\n }}\n >\n <slot\n onSlotchange={() => {\n const slot =\n this.hostElement.shadowRoot?.querySelector(\n 'slot:not([name])'\n );\n this.showExpandCollapsedIcon = hasSlottedElements(slot);\n }}\n ></slot>\n <ix-group-item\n suppressSelection={true}\n focusable={false}\n class={{\n footer: true,\n 'footer-visible': this.footerVisible,\n }}\n >\n <slot\n name=\"footer\"\n onSlotchange={() => this.onSlotChange()}\n ></slot>\n </ix-group-item>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as t,h as e,H as i,g as s}from"./p-f87cd962.js";import{c as o,s as r,o as n,b as a,f as c,a as l}from"./p-b3f35666.js";import{O as h}from"./p-0c8a98cd.js";class d{constructor(){this.overlays=new Set}connected(t){this.overlays.add(t)}disconnected(t){this.overlays.delete(t)}present(t){if(t.willPresent&&!t.willPresent()){return}this.dismissOthers(t);t.present()}dismiss(t){if(t.willDismiss&&!t.willDismiss()){return}t.dismiss()}dismissOthers(t){this.overlays.forEach((e=>{if(e!==t){this.dismiss(e)}}))}}class f extends d{}const u=new f;const p=':host{display:inline-block;position:fixed;left:0px;top:0px;z-index:var(--theme-z-index-tooltip);max-width:18.25rem;opacity:0;visibility:collapse !important;overflow-wrap:break-word;border-radius:0.25rem;background-color:var(--theme-tootlip--background);padding:0.375rem 0.75rem 0.375rem 0.875rem;box-shadow:var(--theme-shadow-4)}:host .tooltip-title{display:flex;align-items:center}:host .tooltip-title ::slotted(ix-icon){margin-right:0.35rem}:host(.visible){opacity:1;visibility:visible !important}:host(.visible) .arrow,:host(.visible) .arrow::before{position:absolute;width:12px;height:12px;background:inherit}:host(.visible) .arrow{visibility:hidden}:host(.visible) .arrow::before{visibility:visible;content:"";transform:rotate(45deg);background-color:var(--theme-tootlip--background)}';const m=p;var b=undefined&&undefined.__decorate||function(t,e,i,s){var o=arguments.length,r=o<3?e:s===null?s=Object.getOwnPropertyDescriptor(e,i):s,n;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")r=Reflect.decorate(t,e,i,s);else for(var a=t.length-1;a>=0;a--)if(n=t[a])r=(o<3?n(r):o>3?n(e,i,r):n(e,i))||r;return o>3&&r&&Object.defineProperty(e,i,r),r};const y=t=>t!=null?`${t}px`:"";const v=class{constructor(e){t(this,e);this.for=undefined;this.titleContent=undefined;this.interactive=false;this.placement="top";this.showDelay=0;this.hideDelay=50;this.animationFrame=false;this.visible=false}get arrowElement(){return this.hostElement.shadowRoot.querySelector(".arrow")}destroyAutoUpdate(){if(this.disposeAutoUpdate!==undefined){this.disposeAutoUpdate()}}async showTooltip(t){clearTimeout(this.hideTooltipTimeout);await this.applyTooltipPosition(t);this.showTooltipTimeout=setTimeout((()=>{u.present(this);this.applyTooltipPosition(t)}),this.showDelay)}async hideTooltip(){clearTimeout(this.showTooltipTimeout);let t=50;if(this.interactive&&this.hideDelay===t){t=150}this.hideTooltipTimeout=setTimeout((()=>{u.dismiss(this)}),t);this.destroyAutoUpdate()}computeArrowPosition({placement:t,middlewareData:e}){let{x:i,y:s}=e.arrow;if(t.startsWith("top")){return{left:y(i),top:y(s)}}if(t.startsWith("right")){return{left:y(-6),top:y(s)}}if(t.startsWith("bottom")){return{left:y(i),top:y(-6)}}if(t.startsWith("left")){return{right:y(-6),top:y(s)}}}async computeTooltipPosition(t){return o(t,this.hostElement,{strategy:"fixed",placement:this.placement,middleware:[r(),n(12),a({element:this.arrowElement}),c({fallbackStrategy:"initialPlacement",padding:10})]})}applyTooltipArrowPosition(t){const e=this.computeArrowPosition(t);Object.assign(this.arrowElement.style,e)}async applyTooltipPosition(t){if(!t){return}return new Promise((e=>{this.destroyAutoUpdate();this.disposeAutoUpdate=l(t,this.hostElement,(async()=>{setTimeout((async()=>{const i=await this.computeTooltipPosition(t);if(i.middlewareData.arrow){this.applyTooltipArrowPosition(i)}const{x:s,y:o}=i;Object.assign(this.hostElement.style,{left:s!==null?`${s}px`:"",top:o!==null?`${o}px`:""});e(i)}))}),{ancestorResize:true,ancestorScroll:true,elementResize:true,animationFrame:this.animationFrame})}))}clearHideTimeout(){if(this.interactive){clearTimeout(this.hideTooltipTimeout)}}async queryAnchorElements(){if(typeof this.for==="string"){return Promise.resolve(Array.from(document.querySelectorAll(this.for)))}if(this.for instanceof HTMLElement){return Promise.resolve([this.for])}if(this.for instanceof Promise){const t=await this.for;return[t]}}async registerTriggerListener(){const t=await this.queryAnchorElements();if(this.disposeListener){this.disposeListener()}if(!t){return}t.forEach((t=>{const e=()=>{this.showTooltip(t)};const i=()=>{this.hideTooltip()};const s=()=>{if(this.showTooltipTimeout!==undefined){clearTimeout(this.showTooltipTimeout)}e()};const o=()=>{this.hideTooltip()};t.addEventListener("mouseenter",e);t.addEventListener("mouseleave",i);t.addEventListener("focusin",s);t.addEventListener("focusout",o);this.disposeListener=()=>{t.removeEventListener("mouseenter",e);t.removeEventListener("mouseleave",i);t.removeEventListener("focusin",s);t.removeEventListener("focusout",o)}}))}registerTooltipListener(){const{hostElement:t}=this;t.addEventListener("mouseenter",(()=>this.clearHideTimeout()));t.addEventListener("focusin",(()=>this.clearHideTimeout()));t.addEventListener("mouseleave",(()=>this.hideTooltip()));t.addEventListener("focusout",(()=>this.hideTooltip()))}async onKeydown(t){if(t.code==="Escape"){this.hideTooltip()}}componentWillLoad(){this.registerTriggerListener()}componentDidLoad(){this.observer=new MutationObserver((()=>{this.registerTriggerListener()}));this.observer.observe(document.body,{attributes:true,attributeFilter:["data-ix-tooltip"],childList:true,subtree:true});this.registerTooltipListener()}connectedCallback(){u.connected(this)}disconnectedCallback(){var t;(t=this.observer)===null||t===void 0?void 0:t.disconnect();this.destroyAutoUpdate();u.disconnected(this)}isPresent(){return this.visible}present(){this.visible=true}dismiss(){this.visible=false}render(){return e(i,{key:"5d57bd50e4b54e59eef7e0ec463cf9cadba6ddc4",class:{visible:this.visible},role:"tooltip"},e("div",{key:"004a422b325b2c26639e479f3bc6a832277c38db",class:"tooltip-title"},e("slot",{key:"dfb6ebe4022d3835b11d7237438358e8dd27191d",name:"title-icon"}),e("ix-typography",{key:"e4230c3e9c28f53d217e8653fd972749af995dde",variant:"default-title"},this.titleContent,e("slot",{key:"bfd75a3ae808f03a552271a9f10c896de28072e2",name:"title-content"}))),e("div",{key:"b8c20ae1bb16343dca997ecb2ef744d8b18b6ede",class:"tooltip-content"},e("slot",{key:"cb15413ddd0b35a6ceb5dd95beebc855131fb998"})),e("div",{key:"91e9df64725d3ce40f280640374f0e95f89cf67b",class:"arrow"}))}get hostElement(){return s(this)}};b([h("keydown",(t=>t.visible))],v.prototype,"onKeydown",null);v.style=m;export{v as ix_tooltip};
2
- //# sourceMappingURL=p-d8790ff5.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["OverlayController","constructor","this","overlays","Set","connected","instance","add","disconnected","delete","present","willPresent","dismissOthers","dismiss","willDismiss","forEach","overlay","TooltipController","tooltipController","tooltipCss","IxTooltipStyle0","numberToPixel","value","Tooltip","arrowElement","hostElement","shadowRoot","querySelector","destroyAutoUpdate","disposeAutoUpdate","undefined","showTooltip","anchorElement","clearTimeout","hideTooltipTimeout","applyTooltipPosition","showTooltipTimeout","setTimeout","showDelay","hideTooltip","hideDelay","interactive","computeArrowPosition","placement","middlewareData","x","y","arrow","startsWith","left","top","right","computeTooltipPosition","target","computePosition","strategy","middleware","shift","offset","element","flip","fallbackStrategy","padding","applyTooltipArrowPosition","computeResponse","arrowPosition","Object","assign","style","Promise","resolve","autoUpdate","async","ancestorResize","ancestorScroll","elementResize","animationFrame","clearHideTimeout","queryAnchorElements","for","Array","from","document","querySelectorAll","HTMLElement","registerTriggerListener","triggerElementList","disposeListener","onMouseEnter","onMouseLeave","onFocusIn","onFocusOut","addEventListener","removeEventListener","registerTooltipListener","onKeydown","event","code","componentWillLoad","componentDidLoad","observer","MutationObserver","observe","body","attributes","attributeFilter","childList","subtree","connectedCallback","disconnectedCallback","_a","disconnect","isPresent","visible","render","h","Host","key","class","role","name","variant","titleContent","__decorate","OnListener","self"],"sources":["src/components/utils/overlay.ts","src/components/tooltip/tooltip-controller.ts","src/components/tooltip/tooltip.scss?tag=ix-tooltip&encapsulation=shadow","src/components/tooltip/tooltip.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport { IxComponent } from '../utils/internal';\n\nexport interface IxOverlayComponent extends IxComponent {\n isPresent(): boolean;\n\n willPresent?(): boolean;\n willDismiss?(): boolean;\n\n present(): void;\n dismiss(): void;\n}\n\nexport class OverlayController {\n overlays: Set<IxOverlayComponent> = new Set();\n\n connected(instance: IxOverlayComponent): void {\n this.overlays.add(instance);\n }\n\n disconnected(instance: IxOverlayComponent): void {\n this.overlays.delete(instance);\n }\n\n present(instance: IxOverlayComponent): void {\n if (instance.willPresent && !instance.willPresent()) {\n return;\n }\n this.dismissOthers(instance);\n instance.present();\n }\n\n dismiss(instance: IxOverlayComponent): void {\n if (instance.willDismiss && !instance.willDismiss()) {\n return;\n }\n instance.dismiss();\n }\n\n private dismissOthers(instance: IxOverlayComponent): void {\n this.overlays.forEach((overlay) => {\n if (overlay !== instance) {\n this.dismiss(overlay);\n }\n });\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport { OverlayController } from '../utils/overlay';\n\nclass TooltipController extends OverlayController {}\n\nexport const tooltipController = new TooltipController();\n",":host {\n display: inline-block;\n position: fixed;\n left: 0px;\n top: 0px;\n z-index: var(--theme-z-index-tooltip);\n\n max-width: 18.25rem;\n\n opacity: 0;\n visibility: collapse !important;\n overflow-wrap: break-word;\n\n border-radius: 0.25rem;\n background-color: var(--theme-tootlip--background);\n padding: 0.375rem 0.75rem 0.375rem 0.875rem;\n\n box-shadow: var(--theme-shadow-4);\n\n .tooltip-title {\n display: flex;\n align-items: center;\n\n ::slotted(ix-icon) {\n margin-right: 0.35rem;\n }\n }\n}\n\n:host(.visible) {\n opacity: 1;\n visibility: visible !important;\n}\n\n:host(.visible) {\n .arrow,\n .arrow::before {\n position: absolute;\n width: 12px;\n height: 12px;\n background: inherit;\n }\n\n .arrow {\n visibility: hidden;\n }\n\n .arrow::before {\n visibility: visible;\n content: '';\n transform: rotate(45deg);\n background-color: var(--theme-tootlip--background);\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport {\n arrow,\n autoUpdate,\n computePosition,\n ComputePositionReturn,\n flip,\n offset,\n shift,\n} from '@floating-ui/dom';\nimport {\n Component,\n Element,\n h,\n Host,\n Method,\n Prop,\n State,\n} from '@stencil/core';\nimport { OnListener } from '../utils/listener';\nimport { tooltipController } from './tooltip-controller';\nimport { IxOverlayComponent } from '../utils/overlay';\n\ntype ArrowPosition = {\n top?: string;\n left?: string;\n right?: string;\n};\n\nconst numberToPixel = (value: number) => (value != null ? `${value}px` : '');\n\n/**\n * @slot title-icon - Icon of tooltip title\n * @slot title-content - Content of tooltip title\n *\n * @since 1.4.0\n */\n@Component({\n tag: 'ix-tooltip',\n styleUrl: 'tooltip.scss',\n shadow: true,\n})\nexport class Tooltip implements IxOverlayComponent {\n /**\n * CSS selector for hover trigger element e.g. `for=\"[data-my-custom-select]\"`\n */\n @Prop() for?: string | HTMLElement | Promise<HTMLElement>;\n\n /**\n * Title of the tooltip\n */\n @Prop() titleContent?: string;\n\n /**\n * Define if the user can access the tooltip via mouse.\n */\n @Prop() interactive = false;\n\n /**\n * Initial placement of the tooltip. If the placement don\"t have enough space,\n * the tooltip will placed on another location.\n *\n * @since 1.5.0\n */\n @Prop() placement: 'top' | 'right' | 'bottom' | 'left' = 'top';\n\n /** @internal */\n @Prop() showDelay = 0;\n\n /** @internal */\n @Prop() hideDelay = 50;\n\n /** @internal */\n @Prop() animationFrame = false;\n\n @State() visible = false;\n\n @Element() hostElement!: HTMLIxTooltipElement;\n\n private observer?: MutationObserver;\n private hideTooltipTimeout?: NodeJS.Timeout;\n private showTooltipTimeout?: NodeJS.Timeout;\n private disposeAutoUpdate?: () => void;\n private disposeListener?: () => void;\n\n private get arrowElement(): HTMLElement {\n return this.hostElement.shadowRoot.querySelector('.arrow');\n }\n\n private destroyAutoUpdate() {\n if (this.disposeAutoUpdate !== undefined) {\n this.disposeAutoUpdate();\n }\n }\n\n /** @internal */\n @Method()\n async showTooltip(anchorElement: Element) {\n clearTimeout(this.hideTooltipTimeout);\n await this.applyTooltipPosition(anchorElement);\n\n this.showTooltipTimeout = setTimeout(() => {\n tooltipController.present(this);\n // Need to compute and apply tooltip position after initial render,\n // because arrow has no valid bounding rect before that\n this.applyTooltipPosition(anchorElement);\n }, this.showDelay);\n }\n\n /** @internal */\n @Method()\n async hideTooltip() {\n clearTimeout(this.showTooltipTimeout);\n let hideDelay = 50;\n\n if (this.interactive && this.hideDelay === hideDelay) {\n hideDelay = 150;\n }\n\n this.hideTooltipTimeout = setTimeout(() => {\n tooltipController.dismiss(this);\n }, hideDelay);\n this.destroyAutoUpdate();\n }\n\n private computeArrowPosition({\n placement,\n middlewareData,\n }: ComputePositionReturn): ArrowPosition {\n let { x, y } = middlewareData.arrow;\n\n if (placement.startsWith('top')) {\n return {\n left: numberToPixel(x),\n top: numberToPixel(y),\n };\n }\n\n if (placement.startsWith('right')) {\n return {\n left: numberToPixel(-6),\n top: numberToPixel(y),\n };\n }\n\n if (placement.startsWith('bottom')) {\n return {\n left: numberToPixel(x),\n top: numberToPixel(-6),\n };\n }\n\n if (placement.startsWith('left')) {\n return {\n right: numberToPixel(-6),\n top: numberToPixel(y),\n };\n }\n }\n\n private async computeTooltipPosition(target: Element) {\n return computePosition(target, this.hostElement, {\n strategy: 'fixed',\n placement: this.placement,\n middleware: [\n shift(),\n offset(12),\n arrow({\n element: this.arrowElement,\n }),\n flip({\n fallbackStrategy: 'initialPlacement',\n padding: 10,\n }),\n ],\n });\n }\n\n private applyTooltipArrowPosition(computeResponse: ComputePositionReturn) {\n const arrowPosition = this.computeArrowPosition(computeResponse);\n Object.assign(this.arrowElement.style, arrowPosition);\n }\n\n private async applyTooltipPosition(target: Element) {\n if (!target) {\n return;\n }\n\n return new Promise<ComputePositionReturn>((resolve) => {\n this.destroyAutoUpdate();\n this.disposeAutoUpdate = autoUpdate(\n target,\n this.hostElement,\n async () => {\n setTimeout(async () => {\n const computeResponse = await this.computeTooltipPosition(target);\n\n if (computeResponse.middlewareData.arrow) {\n this.applyTooltipArrowPosition(computeResponse);\n }\n\n const { x, y } = computeResponse;\n Object.assign(this.hostElement.style, {\n left: x !== null ? `${x}px` : '',\n top: y !== null ? `${y}px` : '',\n });\n\n resolve(computeResponse);\n });\n },\n {\n ancestorResize: true,\n ancestorScroll: true,\n elementResize: true,\n animationFrame: this.animationFrame,\n }\n );\n });\n }\n\n private clearHideTimeout() {\n if (this.interactive) {\n clearTimeout(this.hideTooltipTimeout);\n }\n }\n\n private async queryAnchorElements(): Promise<Array<HTMLElement> | undefined> {\n if (typeof this.for === 'string') {\n return Promise.resolve(Array.from(document.querySelectorAll(this.for)));\n }\n\n if (this.for instanceof HTMLElement) {\n return Promise.resolve([this.for]);\n }\n\n if (this.for instanceof Promise) {\n const element = await this.for;\n return [element];\n }\n }\n\n private async registerTriggerListener() {\n const triggerElementList = await this.queryAnchorElements();\n\n if (this.disposeListener) {\n this.disposeListener();\n }\n\n if (!triggerElementList) {\n return;\n }\n\n triggerElementList.forEach((element) => {\n const onMouseEnter = () => {\n this.showTooltip(element);\n };\n\n const onMouseLeave = () => {\n this.hideTooltip();\n };\n\n const onFocusIn = () => {\n if (this.showTooltipTimeout !== undefined) {\n clearTimeout(this.showTooltipTimeout);\n }\n\n onMouseEnter();\n };\n\n const onFocusOut = () => {\n this.hideTooltip();\n };\n\n element.addEventListener('mouseenter', onMouseEnter);\n element.addEventListener('mouseleave', onMouseLeave);\n element.addEventListener('focusin', onFocusIn);\n element.addEventListener('focusout', onFocusOut);\n\n this.disposeListener = () => {\n element.removeEventListener('mouseenter', onMouseEnter);\n element.removeEventListener('mouseleave', onMouseLeave);\n element.removeEventListener('focusin', onFocusIn);\n element.removeEventListener('focusout', onFocusOut);\n };\n });\n }\n\n private registerTooltipListener() {\n const { hostElement } = this;\n hostElement.addEventListener('mouseenter', () => this.clearHideTimeout());\n hostElement.addEventListener('focusin', () => this.clearHideTimeout());\n\n hostElement.addEventListener('mouseleave', () => this.hideTooltip());\n hostElement.addEventListener('focusout', () => this.hideTooltip());\n }\n\n @OnListener<Tooltip>('keydown', (self) => self.visible)\n async onKeydown(event: KeyboardEvent) {\n if (event.code === 'Escape') {\n this.hideTooltip();\n }\n }\n\n componentWillLoad() {\n this.registerTriggerListener();\n }\n\n componentDidLoad() {\n this.observer = new MutationObserver(() => {\n this.registerTriggerListener();\n });\n\n this.observer.observe(document.body, {\n attributes: true,\n attributeFilter: ['data-ix-tooltip'],\n childList: true,\n subtree: true,\n });\n\n this.registerTooltipListener();\n }\n\n connectedCallback() {\n tooltipController.connected(this);\n }\n\n disconnectedCallback() {\n this.observer?.disconnect();\n this.destroyAutoUpdate();\n tooltipController.disconnected(this);\n }\n\n isPresent(): boolean {\n return this.visible;\n }\n\n present(): void {\n this.visible = true;\n }\n\n dismiss(): void {\n this.visible = false;\n }\n\n render() {\n return (\n <Host\n class={{\n visible: this.visible,\n }}\n role=\"tooltip\"\n >\n <div class={'tooltip-title'}>\n <slot name=\"title-icon\"></slot>\n <ix-typography variant=\"default-title\">\n {this.titleContent}\n <slot name=\"title-content\"></slot>\n </ix-typography>\n </div>\n <div class={'tooltip-content'}>\n <slot></slot>\n </div>\n <div class=\"arrow\"></div>\n </Host>\n );\n }\n}\n"],"mappings":"0KAoBaA,EAAb,WAAAC,GACEC,KAAAC,SAAoC,IAAIC,G,CAExC,SAAAC,CAAUC,GACRJ,KAAKC,SAASI,IAAID,E,CAGpB,YAAAE,CAAaF,GACXJ,KAAKC,SAASM,OAAOH,E,CAGvB,OAAAI,CAAQJ,GACN,GAAIA,EAASK,cAAgBL,EAASK,cAAe,CACnD,M,CAEFT,KAAKU,cAAcN,GACnBA,EAASI,S,CAGX,OAAAG,CAAQP,GACN,GAAIA,EAASQ,cAAgBR,EAASQ,cAAe,CACnD,M,CAEFR,EAASO,S,CAGH,aAAAD,CAAcN,GACpBJ,KAAKC,SAASY,SAASC,IACrB,GAAIA,IAAYV,EAAU,CACxBJ,KAAKW,QAAQG,E,MCtCrB,MAAMC,UAA0BjB,GAEzB,MAAMkB,EAAoB,IAAID,ECbrC,MAAME,EAAa,wxBACnB,MAAAC,EAAeD,E,2WCmCf,MAAME,EAAiBC,GAAmBA,GAAS,KAAO,GAAGA,MAAY,G,MAa5DC,EAAO,M,yFAcI,M,eAQmC,M,eAGrC,E,eAGA,G,oBAGK,M,aAEN,K,CAUnB,gBAAYC,GACV,OAAOtB,KAAKuB,YAAYC,WAAWC,cAAc,S,CAG3C,iBAAAC,GACN,GAAI1B,KAAK2B,oBAAsBC,UAAW,CACxC5B,KAAK2B,mB,EAMT,iBAAME,CAAYC,GAChBC,aAAa/B,KAAKgC,0BACZhC,KAAKiC,qBAAqBH,GAEhC9B,KAAKkC,mBAAqBC,YAAW,KACnCnB,EAAkBR,QAAQR,MAG1BA,KAAKiC,qBAAqBH,EAAc,GACvC9B,KAAKoC,U,CAKV,iBAAMC,GACJN,aAAa/B,KAAKkC,oBAClB,IAAII,EAAY,GAEhB,GAAItC,KAAKuC,aAAevC,KAAKsC,YAAcA,EAAW,CACpDA,EAAY,G,CAGdtC,KAAKgC,mBAAqBG,YAAW,KACnCnB,EAAkBL,QAAQX,KAAK,GAC9BsC,GACHtC,KAAK0B,mB,CAGC,oBAAAc,EAAqBC,UAC3BA,EAASC,eACTA,IAEA,IAAIC,EAAEA,EAACC,EAAEA,GAAMF,EAAeG,MAE9B,GAAIJ,EAAUK,WAAW,OAAQ,CAC/B,MAAO,CACLC,KAAM5B,EAAcwB,GACpBK,IAAK7B,EAAcyB,G,CAIvB,GAAIH,EAAUK,WAAW,SAAU,CACjC,MAAO,CACLC,KAAM5B,GAAe,GACrB6B,IAAK7B,EAAcyB,G,CAIvB,GAAIH,EAAUK,WAAW,UAAW,CAClC,MAAO,CACLC,KAAM5B,EAAcwB,GACpBK,IAAK7B,GAAe,G,CAIxB,GAAIsB,EAAUK,WAAW,QAAS,CAChC,MAAO,CACLG,MAAO9B,GAAe,GACtB6B,IAAK7B,EAAcyB,G,EAKjB,4BAAMM,CAAuBC,GACnC,OAAOC,EAAgBD,EAAQnD,KAAKuB,YAAa,CAC/C8B,SAAU,QACVZ,UAAWzC,KAAKyC,UAChBa,WAAY,CACVC,IACAC,EAAO,IACPX,EAAM,CACJY,QAASzD,KAAKsB,eAEhBoC,EAAK,CACHC,iBAAkB,mBAClBC,QAAS,O,CAMT,yBAAAC,CAA0BC,GAChC,MAAMC,EAAgB/D,KAAKwC,qBAAqBsB,GAChDE,OAAOC,OAAOjE,KAAKsB,aAAa4C,MAAOH,E,CAGjC,0BAAM9B,CAAqBkB,GACjC,IAAKA,EAAQ,CACX,M,CAGF,OAAO,IAAIgB,SAAgCC,IACzCpE,KAAK0B,oBACL1B,KAAK2B,kBAAoB0C,EACvBlB,EACAnD,KAAKuB,aACL+C,UACEnC,YAAWmC,UACT,MAAMR,QAAwB9D,KAAKkD,uBAAuBC,GAE1D,GAAIW,EAAgBpB,eAAeG,MAAO,CACxC7C,KAAK6D,0BAA0BC,E,CAGjC,MAAMnB,EAAEA,EAACC,EAAEA,GAAMkB,EACjBE,OAAOC,OAAOjE,KAAKuB,YAAY2C,MAAO,CACpCnB,KAAMJ,IAAM,KAAO,GAAGA,MAAQ,GAC9BK,IAAKJ,IAAM,KAAO,GAAGA,MAAQ,KAG/BwB,EAAQN,EAAgB,GACxB,GAEJ,CACES,eAAgB,KAChBC,eAAgB,KAChBC,cAAe,KACfC,eAAgB1E,KAAK0E,gBAExB,G,CAIG,gBAAAC,GACN,GAAI3E,KAAKuC,YAAa,CACpBR,aAAa/B,KAAKgC,mB,EAId,yBAAM4C,GACZ,UAAW5E,KAAK6E,MAAQ,SAAU,CAChC,OAAOV,QAAQC,QAAQU,MAAMC,KAAKC,SAASC,iBAAiBjF,KAAK6E,M,CAGnE,GAAI7E,KAAK6E,eAAeK,YAAa,CACnC,OAAOf,QAAQC,QAAQ,CAACpE,KAAK6E,K,CAG/B,GAAI7E,KAAK6E,eAAeV,QAAS,CAC/B,MAAMV,QAAgBzD,KAAK6E,IAC3B,MAAO,CAACpB,E,EAIJ,6BAAM0B,GACZ,MAAMC,QAA2BpF,KAAK4E,sBAEtC,GAAI5E,KAAKqF,gBAAiB,CACxBrF,KAAKqF,iB,CAGP,IAAKD,EAAoB,CACvB,M,CAGFA,EAAmBvE,SAAS4C,IAC1B,MAAM6B,EAAe,KACnBtF,KAAK6B,YAAY4B,EAAQ,EAG3B,MAAM8B,EAAe,KACnBvF,KAAKqC,aAAa,EAGpB,MAAMmD,EAAY,KAChB,GAAIxF,KAAKkC,qBAAuBN,UAAW,CACzCG,aAAa/B,KAAKkC,mB,CAGpBoD,GAAc,EAGhB,MAAMG,EAAa,KACjBzF,KAAKqC,aAAa,EAGpBoB,EAAQiC,iBAAiB,aAAcJ,GACvC7B,EAAQiC,iBAAiB,aAAcH,GACvC9B,EAAQiC,iBAAiB,UAAWF,GACpC/B,EAAQiC,iBAAiB,WAAYD,GAErCzF,KAAKqF,gBAAkB,KACrB5B,EAAQkC,oBAAoB,aAAcL,GAC1C7B,EAAQkC,oBAAoB,aAAcJ,GAC1C9B,EAAQkC,oBAAoB,UAAWH,GACvC/B,EAAQkC,oBAAoB,WAAYF,EAAW,CACpD,G,CAIG,uBAAAG,GACN,MAAMrE,YAAEA,GAAgBvB,KACxBuB,EAAYmE,iBAAiB,cAAc,IAAM1F,KAAK2E,qBACtDpD,EAAYmE,iBAAiB,WAAW,IAAM1F,KAAK2E,qBAEnDpD,EAAYmE,iBAAiB,cAAc,IAAM1F,KAAKqC,gBACtDd,EAAYmE,iBAAiB,YAAY,IAAM1F,KAAKqC,e,CAItD,eAAMwD,CAAUC,GACd,GAAIA,EAAMC,OAAS,SAAU,CAC3B/F,KAAKqC,a,EAIT,iBAAA2D,GACEhG,KAAKmF,yB,CAGP,gBAAAc,GACEjG,KAAKkG,SAAW,IAAIC,kBAAiB,KACnCnG,KAAKmF,yBAAyB,IAGhCnF,KAAKkG,SAASE,QAAQpB,SAASqB,KAAM,CACnCC,WAAY,KACZC,gBAAiB,CAAC,mBAClBC,UAAW,KACXC,QAAS,OAGXzG,KAAK4F,yB,CAGP,iBAAAc,GACE1F,EAAkBb,UAAUH,K,CAG9B,oBAAA2G,G,OACEC,EAAA5G,KAAKkG,YAAQ,MAAAU,SAAA,SAAAA,EAAEC,aACf7G,KAAK0B,oBACLV,EAAkBV,aAAaN,K,CAGjC,SAAA8G,GACE,OAAO9G,KAAK+G,O,CAGd,OAAAvG,GACER,KAAK+G,QAAU,I,CAGjB,OAAApG,GACEX,KAAK+G,QAAU,K,CAGjB,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACLL,QAAS/G,KAAK+G,SAEhBM,KAAK,WAELJ,EAAA,OAAAE,IAAA,2CAAKC,MAAO,iBACVH,EAAA,QAAAE,IAAA,2CAAMG,KAAK,eACXL,EAAA,iBAAAE,IAAA,2CAAeI,QAAQ,iBACpBvH,KAAKwH,aACNP,EAAA,QAAAE,IAAA,2CAAMG,KAAK,oBAGfL,EAAA,OAAAE,IAAA,2CAAKC,MAAO,mBACVH,EAAA,QAAAE,IAAA,8CAEFF,EAAA,OAAAE,IAAA,2CAAKC,MAAM,U,oCAjEXK,EAAA,CADLC,EAAoB,WAAYC,GAASA,EAAKZ,W"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as i,H as o,g as s}from"./p-f87cd962.js";import{a}from"./p-71206084.js";import{b as l,a as r}from"./p-4f8ac3bf.js";import{A as n}from"./p-46a6cd9d.js";import{O as d}from"./p-0c8a98cd.js";function h(t,e,i=3e3){return new Promise(((o,s)=>{const a=Date.now();const l=()=>{const r=e.querySelector(t);if(r){o(r)}else{if(Date.now()-a<i){setTimeout(l)}else{s()}}};l()}))}const c="::backdrop{--ix-dialog-backdrop:var(--theme-color-lightbox, #0000008c)}:focus-visible{outline:none !important}:host{display:none}:host dialog{margin:0;padding:1rem;left:50%}:host dialog::backdrop{-webkit-backdrop-filter:blur(2.7182817459px);backdrop-filter:blur(2.7182817459px)}:host .modal{display:flex;flex-direction:column;position:relative;border:none;border-radius:var(--theme-default-border-radius);background:var(--theme-modal--background);box-shadow:var(--theme-shadow-4);color:var(--theme-color-std-text);overflow:visible;max-height:80vh;pointer-events:all}:host .modal-size-360{width:22.5rem}:host .modal-size-480{width:30rem}:host .modal-size-600{width:37.5rem}:host .modal-size-720{width:45rem}:host .modal-size-840{width:52.5rem}:host .modal-size-full-width{width:95%}:host .modal-size-full-screen{left:0 !important;top:0 !important;transform:none !important;width:calc(100% - 28px);min-width:calc(100% - 28px);max-width:calc(100% - 28px);height:calc(100% - 28px);min-height:calc(100% - 28px);max-height:calc(100% - 28px)}:host .dialog-backdrop{display:block;position:fixed;width:100vw;height:100vh;top:0;left:0;pointer-events:none}:host ::slotted(ix-modal-footer){margin-top:auto}:host(.visible){display:block}:host(.align-center) dialog{margin:0;left:50%;top:50%}:host(.no-backdrop) dialog::backdrop{background-color:transparent !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important}:host(.with-icon) ::slotted(ix-modal-footer),:host(.with-icon) ::slotted(ix-modal-content){margin-left:2.5rem}";const m=c;var f=undefined&&undefined.__decorate||function(t,e,i,o){var s=arguments.length,a=s<3?e:o===null?o=Object.getOwnPropertyDescriptor(e,i):o,l;if(typeof Reflect==="object"&&typeof Reflect.decorate==="function")a=Reflect.decorate(t,e,i,o);else for(var r=t.length-1;r>=0;r--)if(l=t[r])a=(s<3?l(a):s>3?l(e,i,a):l(e,i))||a;return s>3&&a&&Object.defineProperty(e,i,a),a};const p=class{constructor(i){t(this,i);this.dialogClose=e(this,"dialogClose",7);this.dialogDismiss=e(this,"dialogDismiss",7);this.ariaAttributes={};this.size="360";this.animation=true;this.backdrop=true;this.closeOnBackdropClick=false;this.beforeDismiss=undefined;this.centered=false;this.keyboard=true;this.closeOnEscape=true;this.modalVisible=false}onKey(t){if(t.key==="Escape"){t.preventDefault()}}get dialog(){return this.hostElement.shadowRoot.querySelector("dialog")}slideInModal(){const t=this.animation?n.mediumTime:0;let e=this.centered?"-50%":40;a({targets:this.dialog,duration:t,opacity:[0,1],translateY:[0,e],translateX:["-50%","-50%"],easing:"easeOutSine"})}slideOutModal(t){const e=this.animation?n.mediumTime:0;let i=this.centered?"-50%":40;a({targets:this.dialog,duration:e,opacity:[1,0],translateY:[i,0],translateX:["-50%","-50%"],easing:"easeInSine",complete:()=>{if(t){t()}}})}onModalClick(t){if(t.target!==this.dialog){return}const e=this.dialog.getBoundingClientRect();const i=e.top<=t.clientY&&t.clientY<=e.top+e.height&&e.left<=t.clientX&&t.clientX<=e.left+e.width;if(!i&&this.closeOnBackdropClick){this.dismissModal()}}async showModal(){try{const t=await h("dialog",this.hostElement.shadowRoot);this.modalVisible=true;t.showModal()}catch(t){console.error("HTMLDialogElement not existing")}}async dismissModal(t){let e=true;if(this.beforeDismiss!==undefined){e=await this.beforeDismiss(t)}if(!e){return}this.slideOutModal((()=>{this.modalVisible=false;this.dialog.close(JSON.stringify({type:"dismiss",reason:t},null,2));this.dialogDismiss.emit(t)}))}async closeModal(t){this.slideOutModal((()=>{this.dialog.close(JSON.stringify({type:"close",reason:t},null,2));this.dialogClose.emit(t)}))}componentDidLoad(){this.slideInModal()}componentWillLoad(){this.ariaAttributes=l(this.hostElement)}render(){return i(o,{key:"e7e27615541ea127c4d9608a71f447f169cde5d3",class:{visible:this.modalVisible,"no-backdrop":this.backdrop===false,"align-center":this.centered}},i("div",{key:"3a4e1950295bec70cfdf1a332a9e9e4ab3186472",class:"dialog-backdrop"},i("dialog",{key:"4455ba17c66dc4d03a792a9aeea11d1380c31674","aria-modal":r(true),"aria-describedby":this.ariaAttributes["aria-describedby"],"aria-labelledby":this.ariaAttributes["aria-labelledby"],class:{modal:true,[`modal-size-${this.size}`]:true},onClose:()=>this.dismissModal(),onClick:t=>this.onModalClick(t),onCancel:t=>{t.preventDefault();this.dismissModal()}},i("slot",{key:"383eae1fa01e4159ca2d512f477532f51c56664a"}))))}get hostElement(){return s(this)}};f([d("keydown",(t=>!t.closeOnEscape||!t.keyboard))],p.prototype,"onKey",null);p.style=m;export{p as ix_modal};
2
- //# sourceMappingURL=p-d998415f.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["waitForElement","selector","doc","timeout","Promise","resolve","reject","startTime","Date","now","checkIfElementExist","dialog","querySelector","setTimeout","modalCss","IxModalStyle0","Modal","this","ariaAttributes","onKey","e","key","preventDefault","hostElement","shadowRoot","slideInModal","duration","animation","Animation","mediumTime","transformY","centered","anime","targets","opacity","translateY","translateX","easing","slideOutModal","completeCallback","complete","onModalClick","event","target","rect","getBoundingClientRect","isClickOutside","top","clientY","height","left","clientX","width","closeOnBackdropClick","dismissModal","showModal","modalVisible","console","error","reason","allowDismiss","beforeDismiss","undefined","close","JSON","stringify","type","dialogDismiss","emit","closeModal","dialogClose","componentDidLoad","componentWillLoad","a11yHostAttributes","render","h","Host","class","visible","backdrop","a11yBoolean","modal","size","onClose","onClick","onCancel","__decorate","OnListener","self","closeOnEscape","keyboard"],"sources":["src/components/utils/waitForElement.ts","src/components/modal/modal.scss?tag=ix-modal&encapsulation=shadow","src/components/modal/modal.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2024 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nexport function waitForElement<R extends HTMLElement>(\n selector: string,\n doc: any,\n timeout = 3000\n): Promise<R> {\n return new Promise<R>((resolve, reject) => {\n const startTime = Date.now();\n\n const checkIfElementExist = () => {\n const dialog = doc.querySelector(selector) satisfies R;\n\n if (dialog) {\n resolve(dialog);\n } else {\n if (Date.now() - startTime < timeout) {\n setTimeout(checkIfElementExist);\n } else {\n reject();\n }\n }\n };\n\n checkIfElementExist();\n });\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n::backdrop {\n --ix-dialog-backdrop: var(--theme-color-lightbox, #0000008c);\n}\n\n:focus-visible {\n outline: none !important;\n}\n\n:host {\n display: none;\n\n dialog {\n margin: 0;\n padding: 1rem;\n left: 50%;\n }\n\n dialog::backdrop {\n backdrop-filter: blur(2.7182817459106445px);\n }\n\n .modal {\n display: flex;\n flex-direction: column;\n position: relative;\n border: none;\n border-radius: var(--theme-default-border-radius);\n background: var(--theme-modal--background);\n box-shadow: var(--theme-shadow-4);\n color: var(--theme-color-std-text);\n overflow: visible;\n max-height: 80vh;\n pointer-events: all;\n }\n\n .modal-size-360 {\n width: 22.5rem;\n }\n\n .modal-size-480 {\n width: 30rem;\n }\n\n .modal-size-600 {\n width: 37.5rem;\n }\n\n .modal-size-720 {\n width: 45rem;\n }\n\n .modal-size-840 {\n width: 52.5rem;\n }\n\n .modal-size-full-width {\n width: 95%;\n }\n\n .modal-size-full-screen {\n left: 0 !important;\n top: 0 !important;\n transform: none !important;\n\n width: calc(100% - 28px);\n min-width: calc(100% - 28px);\n max-width: calc(100% - 28px);\n\n height: calc(100% - 28px);\n min-height: calc(100% - 28px);\n max-height: calc(100% - 28px);\n }\n\n .dialog-backdrop {\n display: block;\n position: fixed;\n width: 100vw;\n height: 100vh;\n top: 0;\n left: 0;\n\n pointer-events: none;\n }\n\n ::slotted(ix-modal-footer) {\n margin-top: auto;\n }\n}\n\n:host(.visible) {\n display: block;\n}\n\n:host(.align-center) {\n dialog {\n margin: 0;\n left: 50%;\n top: 50%;\n }\n}\n\n:host(.no-backdrop) {\n dialog::backdrop {\n background-color: transparent !important;\n backdrop-filter: none !important;\n }\n}\n\n:host(.with-icon) {\n ::slotted(ix-modal-footer),\n ::slotted(ix-modal-content) {\n margin-left: 2.5rem;\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n h,\n Host,\n Method,\n Prop,\n State,\n} from '@stencil/core';\nimport anime from 'animejs';\nimport { A11yAttributes, a11yBoolean, a11yHostAttributes } from '../utils/a11y';\nimport Animation from '../utils/animation';\nimport { OnListener } from '../utils/listener';\nimport { waitForElement } from '../utils/waitForElement';\n\nexport type IxModalFixedSize = '360' | '480' | '600' | '720' | '840';\nexport type IxModalDynamicSize = 'full-width' | 'full-screen';\nexport type IxModalSize = IxModalFixedSize | IxModalDynamicSize;\n\n@Component({\n tag: 'ix-modal',\n styleUrl: 'modal.scss',\n shadow: true,\n})\nexport class Modal {\n private ariaAttributes: A11yAttributes = {};\n\n @Element() hostElement!: HTMLIxModalElement;\n\n /**\n * Modal size\n *\n * @since 2.0.0\n */\n @Prop() size: IxModalSize = '360';\n\n /**\n * Should the modal be animated\n */\n @Prop() animation = true;\n\n /**\n * Show a backdrop behind the modal dialog\n */\n @Prop() backdrop = true;\n\n /**\n * Dismiss modal on backdrop click\n *\n * @since 2.0.0\n */\n @Prop() closeOnBackdropClick = false;\n\n /**\n * Is called before the modal is dismissed.\n *\n * - Return `true` to proceed in dismissing the modal\n * - Return `false` to abort in dismissing the modal\n */\n @Prop() beforeDismiss: (reason?: any) => boolean | Promise<boolean>;\n\n /**\n * Centered modal\n */\n @Prop() centered = false;\n\n /**\n * Use ESC to dismiss the modal\n * @deprecated - Use closeOnEscape instead\n */\n @Prop() keyboard = true;\n\n /**\n * If set to true the modal can be closed by pressing the Escape key\n */\n @Prop() closeOnEscape = true;\n\n /**\n * Dialog close\n */\n @Event() dialogClose: EventEmitter;\n\n /**\n * Dialog cancel\n */\n @Event() dialogDismiss: EventEmitter;\n\n @State() modalVisible = false;\n\n @OnListener<Modal>('keydown', (self) => !self.closeOnEscape || !self.keyboard)\n onKey(e: KeyboardEvent) {\n if (e.key === 'Escape') {\n e.preventDefault();\n }\n }\n\n get dialog() {\n return this.hostElement.shadowRoot.querySelector('dialog');\n }\n\n private slideInModal() {\n const duration = this.animation ? Animation.mediumTime : 0;\n\n let transformY = this.centered ? '-50%' : 40;\n\n anime({\n targets: this.dialog,\n duration,\n opacity: [0, 1],\n translateY: [0, transformY],\n translateX: ['-50%', '-50%'],\n easing: 'easeOutSine',\n });\n }\n\n private slideOutModal(completeCallback: Function) {\n const duration = this.animation ? Animation.mediumTime : 0;\n\n let transformY = this.centered ? '-50%' : 40;\n\n anime({\n targets: this.dialog,\n duration,\n opacity: [1, 0],\n translateY: [transformY, 0],\n translateX: ['-50%', '-50%'],\n easing: 'easeInSine',\n complete: () => {\n if (completeCallback) {\n completeCallback();\n }\n },\n });\n }\n\n private onModalClick(event: MouseEvent) {\n if (event.target !== this.dialog) {\n return;\n }\n\n const rect = this.dialog.getBoundingClientRect();\n const isClickOutside =\n rect.top <= event.clientY &&\n event.clientY <= rect.top + rect.height &&\n rect.left <= event.clientX &&\n event.clientX <= rect.left + rect.width;\n\n if (!isClickOutside && this.closeOnBackdropClick) {\n this.dismissModal();\n }\n }\n\n /**\n * Show the dialog\n */\n @Method()\n async showModal() {\n try {\n const dialog = await waitForElement<HTMLDialogElement>(\n 'dialog',\n this.hostElement.shadowRoot\n );\n this.modalVisible = true;\n dialog.showModal();\n } catch (e) {\n console.error('HTMLDialogElement not existing');\n }\n }\n\n /**\n * Dismiss the dialog\n */\n @Method()\n async dismissModal<T = any>(reason?: T) {\n let allowDismiss = true;\n\n if (this.beforeDismiss !== undefined) {\n allowDismiss = await this.beforeDismiss(reason);\n }\n if (!allowDismiss) {\n return;\n }\n\n this.slideOutModal(() => {\n this.modalVisible = false;\n this.dialog.close(\n JSON.stringify(\n {\n type: 'dismiss',\n reason,\n },\n null,\n 2\n )\n );\n\n this.dialogDismiss.emit(reason);\n });\n }\n\n /**\n * Close the dialog\n */\n @Method()\n async closeModal<T = any>(reason: T) {\n this.slideOutModal(() => {\n this.dialog.close(\n JSON.stringify(\n {\n type: 'close',\n reason,\n },\n null,\n 2\n )\n );\n\n this.dialogClose.emit(reason);\n });\n }\n\n componentDidLoad() {\n this.slideInModal();\n }\n\n componentWillLoad() {\n this.ariaAttributes = a11yHostAttributes(this.hostElement);\n }\n\n render() {\n return (\n <Host\n class={{\n visible: this.modalVisible,\n 'no-backdrop': this.backdrop === false,\n 'align-center': this.centered,\n }}\n >\n <div class=\"dialog-backdrop\">\n <dialog\n aria-modal={a11yBoolean(true)}\n aria-describedby={this.ariaAttributes['aria-describedby']}\n aria-labelledby={this.ariaAttributes['aria-labelledby']}\n class={{\n modal: true,\n [`modal-size-${this.size}`]: true,\n }}\n onClose={() => this.dismissModal()}\n onClick={(event) => this.onModalClick(event)}\n onCancel={(e) => {\n e.preventDefault();\n this.dismissModal();\n }}\n >\n <slot></slot>\n </dialog>\n </div>\n </Host>\n );\n }\n}\n"],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import{r as e,c as t,h as i,H as s,g as o}from"./p-f87cd962.js";import{a}from"./p-71206084.js";import{c as r}from"./p-7c36d3fa.js";import{c as n}from"./p-e898862b.js";import"./p-c4749812.js";function h(e,t,{debounceTimeEnter:i,debounceTimeLeave:s}={debounceTimeEnter:0,debounceTimeLeave:500}){let o;let a;return{onEnter:()=>{clearTimeout(a);o=setTimeout((()=>{e()}),i)},onLeave:()=>{clearTimeout(o);a=setTimeout((()=>{t()}),s)}}}const c=":host{display:flex;flex-direction:column;position:relative}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .category{display:flex;position:relative;align-items:center;width:100%;height:100%}:host .category-text{width:100%;padding-right:0.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}:host .category-chevron{margin-left:auto;margin-right:0;transition:var(--theme-default-time) transform ease-in-out}:host .category-chevron--open{transform:rotate(-180deg)}:host .menu-items{overflow:hidden;max-height:0;transition:var(--theme-default-time) max-height ease-in-out}:host .menu-items--expanded{max-height:999999999px;padding:0.25rem 0 0.25rem 1.625rem}:host .menu-items--collapsed{display:none}:host .category-dropdown ::slotted(ix-menu-item){--ix-menu-item-height:2.5rem}:host .category-dropdown-header{pointer-events:none;padding-left:0.125rem;min-width:256px}:host ::slotted(ix-menu-item){--ix-menu-item-height:2.5rem}:host(.expanded){background-color:var(--theme-color-ghost--active)}:host ::slotted(a[href]){text-decoration:none !important}";const d=c;const l=40;const m=150;const u=class{constructor(i){e(this,i);this.closeOtherCategories=t(this,"closeOtherCategories",7);this.enterLeaveDebounce=h((()=>{this.onPointerEnter()}),(()=>{this.onPointerLeave()}));this.label=undefined;this.icon=undefined;this.notifications=undefined;this.menuExpand=false;this.showItems=false;this.showDropdown=false;this.nestedItems=[]}isNestedItemActive(){return this.getNestedItems().some((e=>e.active))}getNestedItems(){return Array.from(this.hostElement.querySelectorAll(":scope ix-menu-item"))}getNestedItemsHeight(){const e=this.getNestedItems();return e.length*l}onExpandCategory(e){if(e){this.animateFadeIn()}else{this.animateFadeOut()}}animateFadeOut(){const e=25;a({targets:this.menuItemsContainer,duration:m,easing:"easeInSine",opacity:[1,0],maxHeight:[this.getNestedItemsHeight()+l,0],complete:()=>{setTimeout((()=>{this.showItems=false;this.showDropdown=false}),m+e)}})}animateFadeIn(){a({targets:this.menuItemsContainer,duration:m,easing:"easeInSine",opacity:[0,1],maxHeight:[0,this.getNestedItemsHeight()+l],begin:()=>{this.showItems=true;this.showDropdown=false}})}onPointerEnter(){if(this.ixMenu.expand){return}this.closeOtherCategories.emit();this.showDropdown=true}onPointerLeave(){this.showDropdown=false}onCategoryClick(e){e.stopPropagation();if(this.ixMenu.expand){e===null||e===void 0?void 0:e.stopPropagation();this.onExpandCategory(!this.showItems);return}}onNestedItemsChanged(){this.nestedItems=this.getNestedItems()}isCategoryItemListVisible(){return this.menuExpand&&(this.showItems||this.isNestedItemActive())}componentWillLoad(){const e=r(this.hostElement);if(!e){throw Error("ix-menu-category can only be used as a child of ix-menu")}this.ixMenu=e;this.menuExpand=this.ixMenu.expand;this.showItems=this.isCategoryItemListVisible()}componentDidLoad(){this.observer=n((()=>this.onNestedItemsChanged()));this.observer.observe(this.hostElement,{attributes:true,childList:true,subtree:true});requestAnimationFrame((()=>{this.onNestedItemsChanged()}));this.ixMenu.addEventListener("expandChange",(({detail:e})=>{this.menuExpand=e;if(!e){this.clearMenuItemStyles()}this.showItems=this.isCategoryItemListVisible()}))}clearMenuItemStyles(){this.menuItemsContainer.style.removeProperty("max-height");this.menuItemsContainer.style.removeProperty("opacity")}disconnectedCallback(){if(this.observer){this.observer.disconnect()}}render(){return i(s,{key:"1c9a80de76eb1a08932e4065a5247312c175c44a",class:{expanded:this.showItems},onPointerEnter:()=>{this.enterLeaveDebounce.onEnter()},onPointerLeave:e=>{if(e.pointerType==="touch"){return}this.enterLeaveDebounce.onLeave()}},i("ix-menu-item",{key:"4916e3fb2ef1c00ccf6a90366fb8e5ca1c7e4025",class:"category-parent",active:this.isNestedItemActive(),notifications:this.notifications,icon:this.icon,onClick:e=>this.onCategoryClick(e),onFocus:()=>this.onPointerEnter(),isCategory:true},i("div",{key:"1a27c0a36105ac449880ea3925e07d55d7a01f83",class:"category"},i("div",{key:"7aec0b9d401d6167451907cb44a5b643ef07ac4b",class:"category-text"},this.label),i("ix-icon",{key:"7e638930a4c9219cd7c86a9492ae5c0d336393c3",name:"chevron-down-small",class:{"category-chevron":true,"category-chevron--open":this.showItems}}))),i("div",{key:"609ce8e3554a871899c5c6c2cd2fad40224b59a8",ref:e=>this.menuItemsContainer=e,class:{"menu-items":true,"menu-items--expanded":this.showItems,"menu-items--collapsed":!this.showItems}},this.showItems?i("slot",null):null),i("ix-dropdown",{key:"1299830caade30d34fcfa03522546fe1a4b54296",closeBehavior:"both",show:this.showDropdown,onShowChanged:({detail:e})=>{this.showDropdown=e},class:"category-dropdown",anchor:this.hostElement,placement:"right-start",offset:{mainAxis:3},onClick:e=>{if(e.target instanceof HTMLElement){if(e.target.tagName==="IX-MENU-ITEM"){this.showDropdown=false}else{e.preventDefault()}}}},i("ix-dropdown-item",{key:"0a2f3039f44c9b545d29aef0ed3600188edbbaf2",class:"category-dropdown-header"},i("ix-typography",{key:"841736401537eb57c8446a9e86282d4f5eda900d",variant:"default-title-single",color:"std"},this.label)),i("ix-divider",{key:"5bb1e9beec4f9fca106ccf24266bf16216dba34b"}),i("slot",{key:"8b0c28b1f92c96f93187373e2bef4bfe88156bfe"})))}get hostElement(){return o(this)}};u.style=d;export{u as ix_menu_category};
2
- //# sourceMappingURL=p-e9a3f58a.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r as t,c as e,h as i,f as s,H as r,g as o}from"./p-f87cd962.js";import{b as a,a as h}from"./p-4f8ac3bf.js";import{c}from"./p-e898862b.js";const n=":host{display:flex;justify-content:flex-start;height:2.5rem;align-items:center;background-color:transparent;overflow:hidden}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .previous-button{width:3rem;min-width:0px}:host .crumb-dropdown{overflow:visible}:host .remove-anchor::after{display:none}:host .more-text{display:flex}:host .more-text .more-text-ellipsis{width:1rem;display:inline-block;font-weight:700}:host .more-text ix-icon{padding-top:2px}:host nav,:host ol,:host .crumb-items{display:contents}";const l=n;let d=0;const b=(t="breadcrumb-")=>`${t}-${d++}`;const m=class{constructor(i){t(this,i);this.itemClick=e(this,"itemClick",7);this.nextClick=e(this,"nextClick",7);this.previousButtonId=b();this.previousDropdownId=b();this.visibleItemCount=9;this.nextItems=[];this.ghost=true;this.ariaLabelPreviousButton="previous";this.previousButtonRef=undefined;this.nextButtonRef=undefined;this.items=[];this.isPreviousDropdownExpanded=false}onNextItemsChange(){this.onChildMutation()}onItemClick(t){this.itemClick.emit(t)}componentDidLoad(){this.mutationObserver=c((()=>this.onChildMutation()));this.mutationObserver.observe(this.hostElement,{subtree:true,childList:true})}componentWillLoad(){this.onChildMutation()}disconnectedCallback(){var t;(t=this.mutationObserver)===null||t===void 0?void 0:t.disconnect()}async onChildMutation(){const t=this.getItems();t.forEach(((e,i)=>{const s=this.nextItems.length!==0&&t.length-1===i;e.ghost=this.ghost;e.showChevron=t.length-1!==i||s;e.isDropdownTrigger=s;if(s){this.nextButtonRef=e}if(t.length<this.visibleItemCount){return}e.visible=i>=t.length-this.visibleItemCount}));this.items=t}getItems(){return Array.from(this.hostElement.querySelectorAll("ix-breadcrumb-item"))}render(){var t,e,o,c;const n=a(this.hostElement);return i(r,{key:"6fd820850cf0fce9b8f4e6d16587ad3458062c48"},i("ix-dropdown",{key:"46a3b21d0be6c27f8cc5050b5cb420ce1d55c046",id:this.previousDropdownId,"aria-label":this.ariaLabelPreviousButton,trigger:((t=this.items)===null||t===void 0?void 0:t.length)>this.visibleItemCount?this.previousButtonRef:null,onShowChanged:({detail:t})=>{this.isPreviousDropdownExpanded=t;const e=this.hostElement.shadowRoot.getElementById(this.previousButtonId);if(e){s(this.hostElement.shadowRoot.getElementById(this.previousButtonId))}}},this.items.slice(0,this.items.length-this.visibleItemCount).map((t=>{var e;const s=(e=t.label)!==null&&e!==void 0?e:t.innerText;return i("ix-dropdown-item",{label:s,onClick:()=>{this.onItemClick(s)},onItemClick:t=>t.stopPropagation()})}))),((e=this.items)===null||e===void 0?void 0:e.length)>this.visibleItemCount?i("ix-breadcrumb-item",{id:this.previousButtonId,ref:t=>this.previousButtonRef=t,label:"...",tabIndex:1,onItemClick:t=>t.stopPropagation(),"aria-describedby":this.previousDropdownId,"aria-controls":this.previousDropdownId,"aria-expanded":h(this.isPreviousDropdownExpanded),class:"previous-button"}):null,i("nav",{key:"d4ea11b5d3417f434ef2485075cb08c66fe7169e",class:"crumb-items","aria-label":(o=n["aria-label"])!==null&&o!==void 0?o:"breadcrumbs"},i("ol",{key:"97fa52f7ddf3fc18ad7a90b8f28cf561d238146f"},i("slot",{key:"33b1ce72c69620d9bd7b702c7bf5540c081c687d"}))),i("ix-dropdown",{key:"e635c5495fdfd8e21f6e233d3ca6b5c444e099dc",trigger:this.nextButtonRef},(c=this.nextItems)===null||c===void 0?void 0:c.map((t=>i("ix-dropdown-item",{label:t,onClick:e=>{this.nextClick.emit({event:e,item:t})},onItemClick:t=>t.stopPropagation()})))))}get hostElement(){return o(this)}static get watchers(){return{nextItems:["onNextItemsChange"]}}};m.style=l;export{m as ix_breadcrumb};
2
- //# sourceMappingURL=p-eb6268a6.entry.js.map
@@ -1,2 +0,0 @@
1
- import{r,h as o,H as a,g as c}from"./p-f87cd962.js";const e=":host{display:flex;position:relative;flex-direction:column;align-items:flex-start;align-self:flex-start;overflow:hidden;width:20rem;border:1px solid var(--ix-card-border-color, var(--theme-color-soft-bdr));border-radius:var(--theme-default-border-radius)}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .card-content{display:block;position:relative;flex-shrink:0;flex-grow:1;width:100%;height:calc(100% - 2rem);background-color:var(--ix-card-background, transparent);border-top-left-radius:var(--theme-default-border-radius);border-top-right-radius:var(--theme-default-border-radius)}:host .card-footer{display:flex;position:relative;width:100%}:host(.card-insight){--ix-card-background:transparent;--ix-card-border-color:var(--theme-color-soft-bdr)}:host(.card-notification){--ix-card-background:var(--theme-color-component-1)}:host(.card-alarm){--ix-card-background:var(--theme-color-alarm);color:var(--theme-color-alarm--contrast)}:host(.card-critical){--ix-card-background:var(--theme-color-critical);color:var(--theme-color-critical--contrast)}:host(.card-warning){--ix-card-background:var(--theme-color-warning);color:var(--theme-color-warning--contrast)}:host(.card-success){--ix-card-background:var(--theme-color-success);color:var(--theme-color-success--contrast)}:host(.card-info){--ix-card-background:var(--theme-color-info);color:var(--theme-color-info--contrast)}:host(.card-neutral){--ix-card-background:var(--theme-color-neutral);color:var(--theme-color-neutral--contrast)}:host(.card-primary){--ix-card-background:var(--theme-color-primary);color:var(--theme-color-neutral--contrast)}:host(:not(.card-insight)){--ix-card-border-color:transparent}:host(.card-insight:hover){--ix-card-background:var(--theme-color-ghost--hover)}:host(.card-notification:hover){--ix-card-background:var(--theme-color-component-1--hover)}:host(.card-alarm:hover){--ix-card-background:var(--theme-color-alarm--hover)}:host(.card-critical:hover){--ix-card-background:var(--theme-color-critical--hover)}:host(.card-warning:hover){--ix-card-background:var(--theme-color-warning--hover)}:host(.card-success:hover){--ix-card-background:var(--theme-color-success--hover)}:host(.card-info:hover){--ix-card-background:var(--theme-color-info--hover)}:host(.card-neutral:hover){--ix-card-background:var(--theme-color-neutral--hover)}:host(.card-primary:hover){--ix-card-background:var(--theme-color-primary--hover)}:host(.card-insight:active){--ix-card-background:var(--theme-color-ghost--active)}:host(.card-notification:active){--ix-card-background:var(--theme-color-component-1--active)}:host(.card-alarm:active){--ix-card-background:var(--theme-color-alarm--active)}:host(.card-critical:active){--ix-card-background:var(--theme-color-critical--active)}:host(.card-warning:active){--ix-card-background:var(--theme-color-warning--active)}:host(.card-success:active){--ix-card-background:var(--theme-color-success--active)}:host(.card-info:active){--ix-card-background:var(--theme-color-info--active)}:host(.card-neutral:active){--ix-card-background:var(--theme-color-neutral--active)}:host(.card-primary:active){--ix-card-background:var(--theme-color-primary--active)}:host(.selected){--ix-card-border-color:var(--theme-color-dynamic)}:host(.selected.card-insight){--ix-card-background:var(--theme-color-ghost--selected)}:host(.selected.card-notification){--ix-card-background:var(--theme-color-ghost--selected)}:host(.selected.card-alarm){--ix-card-background:var(--theme-color-alarm--active)}:host(.selected.card-critical){--ix-card-background:var(--theme-color-critical--active)}:host(.selected.card-warning){--ix-card-background:var(--theme-color-warning--active)}:host(.selected.card-success){--ix-card-background:var(--theme-color-success--active)}:host(.selected.card-info){--ix-card-background:var(--theme-color-info--active)}:host(.selected.card-neutral){--ix-card-background:var(--theme-color-neutral--active)}:host(.selected.card-primary){--ix-card-background:var(--theme-color-primary--active)}";const t=e;const d=class{constructor(o){r(this,o);this.variant="insight";this.selected=undefined}render(){return o(a,{key:"f91df8c114ec01e95ae0eba29c8acf3cacbdec25",class:{selected:this.selected,[`card-${this.variant}`]:true}},o("div",{key:"24c775b7ae7b2940df9e101b702b91a17a0f6749",class:"card-content"},o("slot",{key:"57bfc8eb49985aae6aff8ea277475b2012ac8ba2"})),o("div",{key:"8eac7eefd8020827e0ebf38be231de2c7b934797",class:"card-footer"},o("slot",{key:"207dc0b0ce6279ecb9dfda76e3d03a145a5ff168",name:"card-accordion"})))}get hostElement(){return c(this)}};d.style=t;const i=":host{display:flex;position:relative;flex-direction:column;align-items:flex-start;gap:0.5rem;padding:1rem;height:100%}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}";const s=i;const l=class{constructor(o){r(this,o)}render(){return o(a,{key:"17ef18ecf4efe031b707524053d81f91db482696"},o("slot",{key:"5e91dbb38a4bcc64e36c7bbacb1e2de92f877559"}))}};l.style=s;export{d as ix_card,l as ix_card_content};
2
- //# sourceMappingURL=p-ebb277f0.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["cardCss","IxCardStyle0","Card","render","h","Host","key","class","selected","this","variant","name","cardContentCss","IxCardContentStyle0","CardContent"],"sources":["src/components/card/card.scss?tag=ix-card&encapsulation=shadow","src/components/card/card.tsx","src/components/card-content/card-content.scss?tag=ix-card-content&encapsulation=shadow","src/components/card-content/card-content.tsx"],"sourcesContent":["/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n display: flex;\n position: relative;\n flex-direction: column;\n align-items: flex-start;\n align-self: flex-start;\n overflow: hidden;\n\n width: 20rem;\n\n border: 1px solid var(--ix-card-border-color, var(--theme-color-soft-bdr));\n border-radius: var(--theme-default-border-radius);\n\n .card-content {\n display: block;\n position: relative;\n flex-shrink: 0;\n flex-grow: 1;\n width: 100%;\n height: calc(100% - 2rem);\n background-color: var(--ix-card-background, transparent);\n border-top-left-radius: var(--theme-default-border-radius);\n border-top-right-radius: var(--theme-default-border-radius);\n }\n\n .card-footer {\n display: flex;\n position: relative;\n width: 100%;\n }\n}\n\n:host(.card-insight) {\n --ix-card-background: transparent;\n --ix-card-border-color: var(--theme-color-soft-bdr);\n}\n\n:host(.card-notification) {\n --ix-card-background: var(--theme-color-component-1);\n}\n\n:host(.card-alarm) {\n --ix-card-background: var(--theme-color-alarm);\n color: var(--theme-color-alarm--contrast);\n}\n\n:host(.card-critical) {\n --ix-card-background: var(--theme-color-critical);\n color: var(--theme-color-critical--contrast);\n}\n\n:host(.card-warning) {\n --ix-card-background: var(--theme-color-warning);\n color: var(--theme-color-warning--contrast);\n}\n\n:host(.card-success) {\n --ix-card-background: var(--theme-color-success);\n color: var(--theme-color-success--contrast);\n}\n\n:host(.card-info) {\n --ix-card-background: var(--theme-color-info);\n color: var(--theme-color-info--contrast);\n}\n\n:host(.card-neutral) {\n --ix-card-background: var(--theme-color-neutral);\n color: var(--theme-color-neutral--contrast);\n}\n\n:host(.card-primary) {\n --ix-card-background: var(--theme-color-primary);\n color: var(--theme-color-neutral--contrast);\n}\n\n:host(:not(.card-insight)) {\n --ix-card-border-color: transparent;\n}\n\n// ### Hover ###\n\n:host(.card-insight:hover) {\n --ix-card-background: var(--theme-color-ghost--hover);\n}\n\n:host(.card-notification:hover) {\n --ix-card-background: var(--theme-color-component-1--hover);\n}\n\n:host(.card-alarm:hover) {\n --ix-card-background: var(--theme-color-alarm--hover);\n}\n\n:host(.card-critical:hover) {\n --ix-card-background: var(--theme-color-critical--hover);\n}\n\n:host(.card-warning:hover) {\n --ix-card-background: var(--theme-color-warning--hover);\n}\n\n:host(.card-success:hover) {\n --ix-card-background: var(--theme-color-success--hover);\n}\n\n:host(.card-info:hover) {\n --ix-card-background: var(--theme-color-info--hover);\n}\n\n:host(.card-neutral:hover) {\n --ix-card-background: var(--theme-color-neutral--hover);\n}\n\n:host(.card-primary:hover) {\n --ix-card-background: var(--theme-color-primary--hover);\n}\n\n// ### Active ###\n\n:host(.card-insight:active) {\n --ix-card-background: var(--theme-color-ghost--active);\n}\n\n:host(.card-notification:active) {\n --ix-card-background: var(--theme-color-component-1--active);\n}\n\n:host(.card-alarm:active) {\n --ix-card-background: var(--theme-color-alarm--active);\n}\n\n:host(.card-critical:active) {\n --ix-card-background: var(--theme-color-critical--active);\n}\n\n:host(.card-warning:active) {\n --ix-card-background: var(--theme-color-warning--active);\n}\n\n:host(.card-success:active) {\n --ix-card-background: var(--theme-color-success--active);\n}\n\n:host(.card-info:active) {\n --ix-card-background: var(--theme-color-info--active);\n}\n\n:host(.card-neutral:active) {\n --ix-card-background: var(--theme-color-neutral--active);\n}\n\n:host(.card-primary:active) {\n --ix-card-background: var(--theme-color-primary--active);\n}\n\n// ### Selected ###\n\n:host(.selected) {\n --ix-card-border-color: var(--theme-color-dynamic);\n}\n\n:host(.selected.card-insight) {\n --ix-card-background: var(--theme-color-ghost--selected);\n}\n\n:host(.selected.card-notification) {\n --ix-card-background: var(--theme-color-ghost--selected);\n}\n\n:host(.selected.card-alarm) {\n --ix-card-background: var(--theme-color-alarm--active);\n}\n\n:host(.selected.card-critical) {\n --ix-card-background: var(--theme-color-critical--active);\n}\n\n:host(.selected.card-warning) {\n --ix-card-background: var(--theme-color-warning--active);\n}\n\n:host(.selected.card-success) {\n --ix-card-background: var(--theme-color-success--active);\n}\n\n:host(.selected.card-info) {\n --ix-card-background: var(--theme-color-info--active);\n}\n\n:host(.selected.card-neutral) {\n --ix-card-background: var(--theme-color-neutral--active);\n}\n\n:host(.selected.card-primary) {\n --ix-card-background: var(--theme-color-primary--active);\n}\n","import { Component, Element, h, Host, Prop } from '@stencil/core';\n\nexport type CardVariant =\n | 'insight'\n | 'notification'\n | 'alarm'\n | 'critical'\n | 'warning'\n | 'info'\n | 'neutral'\n | 'success'\n | 'primary';\n\n/**\n * @since 1.6.0\n */\n@Component({\n tag: 'ix-card',\n styleUrl: 'card.scss',\n shadow: true,\n})\nexport class Card {\n @Element() hostElement: HTMLIxCardElement;\n\n /**\n * Card variant\n */\n @Prop() variant: CardVariant = 'insight';\n\n /**\n * @since 2.1.0\n */\n @Prop() selected: boolean;\n\n render() {\n return (\n <Host\n class={{\n selected: this.selected,\n [`card-${this.variant}`]: true,\n }}\n >\n <div class=\"card-content\">\n <slot></slot>\n </div>\n <div class=\"card-footer\">\n <slot name=\"card-accordion\"></slot>\n </div>\n </Host>\n );\n }\n}\n","/*\n * SPDX-FileCopyrightText: 2023 Siemens AG\n *\n * SPDX-License-Identifier: MIT\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n@import 'mixins/shadow-dom/component';\n\n:host {\n @include ix-component;\n\n display: flex;\n position: relative;\n flex-direction: column;\n align-items: flex-start;\n gap: 0.5rem;\n padding: 1rem;\n height: 100%;\n}\n","import { Component, h, Host } from '@stencil/core';\n\n/**\n * @since 1.6.0\n */\n@Component({\n tag: 'ix-card-content',\n styleUrl: 'card-content.scss',\n shadow: true,\n})\nexport class CardContent {\n render() {\n return (\n <Host>\n <slot></slot>\n </Host>\n );\n }\n}\n"],"mappings":"oDAAA,MAAMA,EAAU,ymJAChB,MAAAC,EAAeD,E,MCoBFE,EAAI,M,sCAMgB,U,wBAO/B,MAAAC,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,2CACHC,MAAO,CACLC,SAAUC,KAAKD,SACf,CAAC,QAAQC,KAAKC,WAAY,OAG5BN,EAAA,OAAAE,IAAA,2CAAKC,MAAM,gBACTH,EAAA,QAAAE,IAAA,8CAEFF,EAAA,OAAAE,IAAA,2CAAKC,MAAM,eACTH,EAAA,QAAAE,IAAA,2CAAMK,KAAK,oB,8CC9CrB,MAAMC,EAAiB,i3BACvB,MAAAC,EAAeD,E,MCSFE,EAAW,M,yBACtB,MAAAX,GACE,OACEC,EAACC,EAAI,CAAAC,IAAA,4CACHF,EAAA,QAAAE,IAAA,6C"}
@@ -1,2 +0,0 @@
1
- import{r as t,c as i,h as s,H as e,g as r}from"./p-f87cd962.js";import{f as h,i as o,s as n,o as a,a as d,c}from"./p-b3f35666.js";import{A as l}from"./p-c09553f3.js";function u(t){return t&&t.getDropdownItemElement!==undefined&&typeof t.getDropdownItemElement==="function"}class f{constructor(){this.dropdowns=new Map;this.submenuIds={};this.isWindowListenerActive=false}connected(t){if(!this.isWindowListenerActive){this.addOverlayListeners()}this.dropdowns.set(t.getId(),t);if(t.discoverAllSubmenus){this.discoverSubmenus()}}disconnected(t){this.dropdowns.delete(t.getId())}discoverSubmenus(){this.dropdowns.forEach((t=>{t.discoverSubmenu()}))}present(t){if(!t.isPresent()&&t.willPresent()){this.submenuIds[t.getId()]=t.getAssignedSubmenuIds();t.present()}}dismissChildren(t){const i=this.submenuIds[t]||[];for(const t of i){this.dismiss(this.dropdowns.get(t))}}dismiss(t){if(t.isPresent()&&t.willDismiss()){this.dismissChildren(t.getId());t.dismiss();delete this.submenuIds[t.getId()]}}dismissAll(t=[],i=false){this.dropdowns.forEach((s=>{const e=s.closeBehavior==="inside"||s.closeBehavior===false;const r=t.includes(s.getId());const h=this.buildComposedPath(s.getId(),new Set);if(t.length>0&&i){let i=false;t.forEach((t=>{if(h.has(t)){i=true;return}}));if(!i){return}}if(!r&&e){return}this.dismiss(s)}))}dismissOthers(t){let i=this.buildComposedPath(t,new Set);i.add(t);this.dropdowns.forEach((t=>{if(t.closeBehavior!=="inside"&&t.closeBehavior!==false&&!i.has(t.getId())){this.dismiss(t)}}))}pathIncludesTrigger(t){for(let i of t){if(i instanceof HTMLElement){if(i.hasAttribute("data-ix-dropdown-trigger")){return i}}}return}pathIncludesDropdown(t){return!!t.find((t=>t.tagName==="IX-DROPDOWN"))}buildComposedPath(t,i){if(this.submenuIds[t]){i.add(t)}for(const s of Object.keys(this.submenuIds)){if(this.submenuIds[s].includes(t)){this.buildComposedPath(s,i).forEach((t=>i.add(t)))}}return i}addOverlayListeners(){this.isWindowListenerActive=true;window.addEventListener("click",(t=>{const i=this.pathIncludesTrigger(t.composedPath());const s=this.pathIncludesDropdown(t.composedPath());if(!i&&!s){this.dismissAll()}}));window.addEventListener("keydown",(t=>{if(t.key==="Escape"){this.dismissAll([...this.dropdowns.keys()])}}))}}const b=(t,i,s)=>{t.addEventListener(i,s);return()=>{t.removeEventListener(i,s)}};const m=new f;const w=":host{background-color:var(--theme-color-2);border-radius:var(--theme-default-border-radius);min-width:0px;z-index:var(--theme-z-index-dropdown);box-shadow:var(--theme-shadow-4);padding:0.25rem 0px}:host *,:host *::after,:host *::before{box-sizing:border-box}:host ::-webkit-scrollbar-button{display:none}@-moz-document url-prefix(){:host *{scrollbar-color:var(--theme-scrollbar-thumb--background) var(--theme-scrollbar-track--background);scrollbar-width:thin}}:host ::-webkit-scrollbar{width:0.5rem;height:0.5rem}:host ::-webkit-scrollbar-track{border-radius:5px;background:var(--theme-scrollbar-track--background)}:host ::-webkit-scrollbar-track:hover{background:var(--theme-scrollbar-track--background--hover)}:host ::-webkit-scrollbar-thumb{border-radius:5px;background:var(--theme-scrollbar-thumb--background)}:host ::-webkit-scrollbar-thumb:hover{background:var(--theme-scrollbar-thumb--background--hover)}:host ::-webkit-scrollbar-corner{display:none}:host .dropdown-header{display:flex;align-items:center;height:2.5rem;color:var(--theme-menu-header--color);padding:0 1rem}:host(.overflow){max-height:50vh;overflow-y:auto}:host(:not(.show)){display:none}";const p=w;let g=0;const v=class{constructor(s){t(this,s);this.showChanged=i(this,"showChanged",7);this.autoUpdateCleanup=null;this.localUId=`dropdown-${g++}`;this.assignedSubmenu=[];this.focusDropdownItemBind=this.focusDropdownItem.bind(this);this.itemObserver=new MutationObserver((()=>{this.arrowFocusController.items=this.dropdownItems}));this.suppressAutomaticPlacement=false;this.show=false;this.trigger=undefined;this.anchor=undefined;this.closeBehavior="both";this.placement="bottom-start";this.positioningStrategy="fixed";this.header=undefined;this.offset=undefined;this.overwriteDropdownStyle=undefined;this.discoverAllSubmenus=false;this.ignoreRelatedSubmenu=false}connectedCallback(){m.connected(this);if(this.trigger!=undefined){this.registerListener(this.trigger)}}cacheSubmenuId(t){t.stopImmediatePropagation();t.preventDefault();const{detail:i}=t;if(this.assignedSubmenu.indexOf(i)===-1){this.assignedSubmenu.push(i)}}disconnectedCallback(){m.dismiss(this);m.disconnected(this);if(this.disposeClickListener){this.disposeClickListener()}if(this.disposeKeyListener){this.disposeKeyListener()}if(this.autoUpdateCleanup){this.autoUpdateCleanup()}}getAssignedSubmenuIds(){return this.assignedSubmenu}isPresent(){return this.show}present(){this.show=true}dismiss(){this.show=false}getId(){return this.localUId}willDismiss(){const{defaultPrevented:t}=this.showChanged.emit(false);return!t}willPresent(){const{defaultPrevented:t}=this.showChanged.emit(true);return!t}get dropdownItems(){return Array.from(this.hostElement.querySelectorAll("ix-dropdown-item"))}get slotElement(){return this.hostElement.shadowRoot.querySelector("slot")}addEventListenersFor(){var t,i,s;(t=this.disposeClickListener)===null||t===void 0?void 0:t.call(this);(i=this.disposeKeyListener)===null||i===void 0?void 0:i.call(this);const e=()=>{if(!this.isPresent()){m.present(this)}else{m.dismiss(this)}m.dismissOthers(this.getId())};this.disposeClickListener=b(this.triggerElement,"click",(t=>{if(!t.defaultPrevented){e()}}));(s=this.triggerElement)===null||s===void 0?void 0:s.setAttribute("data-ix-dropdown-trigger",this.localUId)}async discoverSubmenu(){var t;(t=this.triggerElement)===null||t===void 0?void 0:t.dispatchEvent(new CustomEvent("ix-assign-sub-menu",{bubbles:true,composed:true,cancelable:true,detail:this.localUId}))}registerKeyListener(){if(!this.triggerElement){return}this.disposeKeyListener=b(this.triggerElement,"keydown",(t=>{if(t.key!=="ArrowDown"){return}if(document.activeElement!==this.triggerElement){return}m.present(this);setTimeout((()=>{this.focusDropdownItem(0)}))}))}async registerListener(t){this.triggerElement=await this.resolveElement(t);if(this.triggerElement){this.addEventListenersFor();this.discoverSubmenu()}}async resolveElement(t){const i=await this.findElement(t);return this.checkForSubmenuAnchor(i)}async checkForSubmenuAnchor(t){if(!t){return null}if(u(t)){const i=await t.getDropdownItemElement();i.isSubMenu=true;this.hostElement.style.zIndex=`var(--theme-z-index-dropdown)`}if(t.tagName==="IX-DROPDOWN-ITEM"){t.isSubMenu=true;this.hostElement.style.zIndex=`var(--theme-z-index-dropdown)`}return t}findElement(t){if(t instanceof Promise){return t}if(typeof t==="object"){return Promise.resolve(t)}if(typeof t!="string"){return}const i=`#${t}`;return new Promise((t=>{if(document.querySelector(i)){return t(document.querySelector(i))}const s=new MutationObserver((()=>{if(document.querySelector(i)){t(document.querySelector(i));s.disconnect()}}));s.observe(document.body,{childList:true,subtree:true})}))}async changedShow(t){var i,s;if(t){this.anchorElement=await(this.anchor?this.resolveElement(this.anchor):this.resolveElement(this.trigger));if(this.anchorElement){this.applyDropdownPosition()}this.arrowFocusController=new l(this.dropdownItems,this.dropdownRef,this.focusDropdownItemBind);this.itemObserver.observe(this.dropdownRef,{childList:true,subtree:true});this.registerKeyListener()}else{this.destroyAutoUpdate();(i=this.arrowFocusController)===null||i===void 0?void 0:i.disconnect();this.itemObserver.disconnect();(s=this.disposeKeyListener)===null||s===void 0?void 0:s.call(this)}}changedTrigger(t){this.registerListener(t)}destroyAutoUpdate(){if(this.autoUpdateCleanup){this.autoUpdateCleanup();this.autoUpdateCleanup=null}}isAnchorSubmenu(){var t;if(!u(this.anchorElement)){return!!((t=this.anchorElement)===null||t===void 0?void 0:t.closest("ix-dropdown-item"))}return true}async applyDropdownPosition(){if(!this.show){return}if(!this.anchorElement){return}if(!this.dropdownRef){return}const t=this.isAnchorSubmenu();let i={strategy:this.positioningStrategy,middleware:[]};if(!this.suppressAutomaticPlacement){i.middleware.push(h({fallbackStrategy:"initialPlacement"}))}i.placement=t?"right-start":this.placement;i.middleware=[...i.middleware,o(),n()];if(this.offset){i.middleware.push(a(this.offset))}this.destroyAutoUpdate();this.autoUpdateCleanup=d(this.anchorElement,this.dropdownRef,(async()=>{const t=await c(this.anchorElement,this.dropdownRef,i);Object.assign(this.dropdownRef.style,{top:"0",left:"0",transform:`translate(${Math.round(t.x)}px,${Math.round(t.y)}px)`});if(this.overwriteDropdownStyle){const t=await this.overwriteDropdownStyle({dropdownRef:this.dropdownRef,triggerRef:this.triggerElement});Object.assign(this.dropdownRef.style,t)}}),{ancestorResize:true,ancestorScroll:true,elementResize:true})}focusDropdownItem(t){requestAnimationFrame((()=>{var i;(i=this.dropdownItems[t])===null||i===void 0?void 0:i.shadowRoot.querySelector("button").focus()}))}async componentDidLoad(){this.changedTrigger(this.trigger)}async componentDidRender(){await this.applyDropdownPosition();this.anchorElement=await(this.anchor?this.resolveElement(this.anchor):this.resolveElement(this.trigger))}isTriggerElement(t){const i=!!t.hasAttribute("data-ix-dropdown-trigger");return i}onDropdownClick(t){const i=m.pathIncludesTrigger(t.composedPath());if(i){if(i!==this.triggerElement){t.preventDefault()}if(this.isTriggerElement(i)){if(this.closeBehavior==="outside"){t.preventDefault()}return}}if(!t.defaultPrevented&&(this.closeBehavior==="inside"||this.closeBehavior==="both")){m.dismissAll([this.getId()],this.ignoreRelatedSubmenu);return}m.dismissOthers(this.getId())}async updatePosition(){this.applyDropdownPosition()}render(){return s(e,{key:"1b165268d8ee5fa5f18bca276b0541da36bd3130","data-ix-dropdown":this.localUId,ref:t=>this.dropdownRef=t,class:{"dropdown-menu":true,show:this.show,overflow:true},style:{margin:"0",minWidth:"0px",position:this.positioningStrategy},role:"list",onClick:t=>this.onDropdownClick(t)},s("div",{key:"cdecec289e6c242a31b6160e93cb63b80bf5e535",style:{display:"contents"}},this.header&&s("div",{key:"27b86587be67c8086480ecec8059f8d6ae8aa5b7",class:"dropdown-header"},this.header),this.show&&s("slot",{key:"32d6960a187e91492e24fa7ee0d9407df1209829"})))}get hostElement(){return r(this)}static get watchers(){return{show:["changedShow"],trigger:["changedTrigger"]}}};v.style=p;export{v as ix_dropdown};
2
- //# sourceMappingURL=p-f318140c.entry.js.map