@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,5 +1,13 @@
1
1
  'use strict';
2
2
 
3
+ /**
4
+ * Custom positioning reference element.
5
+ * @see https://floating-ui.com/docs/virtual-elements
6
+ */
7
+
8
+ const sides = ['top', 'right', 'bottom', 'left'];
9
+ const alignments = ['start', 'end'];
10
+ const placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + "-" + alignments[0], side + "-" + alignments[1]), []);
3
11
  const min = Math.min;
4
12
  const max = Math.max;
5
13
  const round = Math.round;
@@ -111,12 +119,21 @@ function getPaddingObject(padding) {
111
119
  };
112
120
  }
113
121
  function rectToClientRect(rect) {
122
+ const {
123
+ x,
124
+ y,
125
+ width,
126
+ height
127
+ } = rect;
114
128
  return {
115
- ...rect,
116
- top: rect.y,
117
- left: rect.x,
118
- right: rect.x + rect.width,
119
- bottom: rect.y + rect.height
129
+ width,
130
+ height,
131
+ top: y,
132
+ left: x,
133
+ right: x + width,
134
+ bottom: y + height,
135
+ x,
136
+ y
120
137
  };
121
138
  }
122
139
 
@@ -178,7 +195,7 @@ function computeCoordsFromPlacement(_ref, placement, rtl) {
178
195
 
179
196
  /**
180
197
  * Computes the `x` and `y` coordinates that will place the floating element
181
- * next to a reference element when it is given a certain positioning strategy.
198
+ * next to a given reference element.
182
199
  *
183
200
  * This export does not have any `platform` interface logic. You will need to
184
201
  * write one for the platform you are using Floating UI with.
@@ -256,7 +273,6 @@ const computePosition$1 = async (reference, floating, config) => {
256
273
  } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));
257
274
  }
258
275
  i = -1;
259
- continue;
260
276
  }
261
277
  }
262
278
  return {
@@ -306,9 +322,10 @@ async function detectOverflow(state, options) {
306
322
  strategy
307
323
  }));
308
324
  const rect = elementContext === 'floating' ? {
309
- ...rects.floating,
310
325
  x,
311
- y
326
+ y,
327
+ width: rects.floating.width,
328
+ height: rects.floating.height
312
329
  } : rects.reference;
313
330
  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
314
331
  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {
@@ -319,6 +336,7 @@ async function detectOverflow(state, options) {
319
336
  y: 1
320
337
  };
321
338
  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({
339
+ elements,
322
340
  rect,
323
341
  offsetParent,
324
342
  strategy
@@ -336,7 +354,7 @@ async function detectOverflow(state, options) {
336
354
  * appears centered to the reference element.
337
355
  * @see https://floating-ui.com/docs/arrow
338
356
  */
339
- const arrow = options => ({
357
+ const arrow$1 = options => ({
340
358
  name: 'arrow',
341
359
  options,
342
360
  async fn(state) {
@@ -397,7 +415,7 @@ const arrow = options => ({
397
415
  // to point to nothing for an aligned placement, adjust the offset of the
398
416
  // floating element itself. To ensure `shift()` continues to take action,
399
417
  // a single reset is performed when this is true.
400
- const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center != offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
418
+ const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
401
419
  const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;
402
420
  return {
403
421
  [axis]: coords[axis] + alignmentOffset,
@@ -413,13 +431,116 @@ const arrow = options => ({
413
431
  }
414
432
  });
415
433
 
434
+ function getPlacementList(alignment, autoAlignment, allowedPlacements) {
435
+ const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);
436
+ return allowedPlacementsSortedByAlignment.filter(placement => {
437
+ if (alignment) {
438
+ return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);
439
+ }
440
+ return true;
441
+ });
442
+ }
443
+ /**
444
+ * Optimizes the visibility of the floating element by choosing the placement
445
+ * that has the most space available automatically, without needing to specify a
446
+ * preferred placement. Alternative to `flip`.
447
+ * @see https://floating-ui.com/docs/autoPlacement
448
+ */
449
+ const autoPlacement = function (options) {
450
+ if (options === void 0) {
451
+ options = {};
452
+ }
453
+ return {
454
+ name: 'autoPlacement',
455
+ options,
456
+ async fn(state) {
457
+ var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;
458
+ const {
459
+ rects,
460
+ middlewareData,
461
+ placement,
462
+ platform,
463
+ elements
464
+ } = state;
465
+ const {
466
+ crossAxis = false,
467
+ alignment,
468
+ allowedPlacements = placements,
469
+ autoAlignment = true,
470
+ ...detectOverflowOptions
471
+ } = evaluate(options, state);
472
+ const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;
473
+ const overflow = await detectOverflow(state, detectOverflowOptions);
474
+ const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;
475
+ const currentPlacement = placements$1[currentIndex];
476
+ if (currentPlacement == null) {
477
+ return {};
478
+ }
479
+ const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));
480
+
481
+ // Make `computeCoords` start from the right place.
482
+ if (placement !== currentPlacement) {
483
+ return {
484
+ reset: {
485
+ placement: placements$1[0]
486
+ }
487
+ };
488
+ }
489
+ const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];
490
+ const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {
491
+ placement: currentPlacement,
492
+ overflows: currentOverflows
493
+ }];
494
+ const nextPlacement = placements$1[currentIndex + 1];
495
+
496
+ // There are more placements to check.
497
+ if (nextPlacement) {
498
+ return {
499
+ data: {
500
+ index: currentIndex + 1,
501
+ overflows: allOverflows
502
+ },
503
+ reset: {
504
+ placement: nextPlacement
505
+ }
506
+ };
507
+ }
508
+ const placementsSortedByMostSpace = allOverflows.map(d => {
509
+ const alignment = getAlignment(d.placement);
510
+ return [d.placement, alignment && crossAxis ?
511
+ // Check along the mainAxis and main crossAxis side.
512
+ d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :
513
+ // Check only the mainAxis.
514
+ d.overflows[0], d.overflows];
515
+ }).sort((a, b) => a[1] - b[1]);
516
+ const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,
517
+ // Aligned placements should not check their opposite crossAxis
518
+ // side.
519
+ getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));
520
+ const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];
521
+ if (resetPlacement !== placement) {
522
+ return {
523
+ data: {
524
+ index: currentIndex + 1,
525
+ overflows: allOverflows
526
+ },
527
+ reset: {
528
+ placement: resetPlacement
529
+ }
530
+ };
531
+ }
532
+ return {};
533
+ }
534
+ };
535
+ };
536
+
416
537
  /**
417
538
  * Optimizes the visibility of the floating element by flipping the `placement`
418
539
  * in order to keep it in view when the preferred placement(s) will overflow the
419
540
  * clipping boundary. Alternative to `autoPlacement`.
420
541
  * @see https://floating-ui.com/docs/flip
421
542
  */
422
- const flip = function (options) {
543
+ const flip$1 = function (options) {
423
544
  if (options === void 0) {
424
545
  options = {};
425
546
  }
@@ -454,10 +575,12 @@ const flip = function (options) {
454
575
  return {};
455
576
  }
456
577
  const side = getSide(placement);
578
+ const initialSideAxis = getSideAxis(initialPlacement);
457
579
  const isBasePlacement = getSide(initialPlacement) === initialPlacement;
458
580
  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
459
581
  const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));
460
- if (!specifiedFallbackPlacements && fallbackAxisSideDirection !== 'none') {
582
+ const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';
583
+ if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {
461
584
  fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
462
585
  }
463
586
  const placements = [initialPlacement, ...fallbackPlacements];
@@ -503,8 +626,17 @@ const flip = function (options) {
503
626
  switch (fallbackStrategy) {
504
627
  case 'bestFit':
505
628
  {
506
- var _overflowsData$map$so;
507
- 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];
629
+ var _overflowsData$filter2;
630
+ const placement = (_overflowsData$filter2 = overflowsData.filter(d => {
631
+ if (hasFallbackAxisSideDirection) {
632
+ const currentSideAxis = getSideAxis(d.placement);
633
+ return currentSideAxis === initialSideAxis ||
634
+ // Create a bias to the `y` side axis due to horizontal
635
+ // reading directions favoring greater width.
636
+ currentSideAxis === 'y';
637
+ }
638
+ return true;
639
+ }).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$filter2[0];
508
640
  if (placement) {
509
641
  resetPlacement = placement;
510
642
  }
@@ -528,6 +660,75 @@ const flip = function (options) {
528
660
  };
529
661
  };
530
662
 
663
+ function getSideOffsets(overflow, rect) {
664
+ return {
665
+ top: overflow.top - rect.height,
666
+ right: overflow.right - rect.width,
667
+ bottom: overflow.bottom - rect.height,
668
+ left: overflow.left - rect.width
669
+ };
670
+ }
671
+ function isAnySideFullyClipped(overflow) {
672
+ return sides.some(side => overflow[side] >= 0);
673
+ }
674
+ /**
675
+ * Provides data to hide the floating element in applicable situations, such as
676
+ * when it is not in the same clipping context as the reference element.
677
+ * @see https://floating-ui.com/docs/hide
678
+ */
679
+ const hide$1 = function (options) {
680
+ if (options === void 0) {
681
+ options = {};
682
+ }
683
+ return {
684
+ name: 'hide',
685
+ options,
686
+ async fn(state) {
687
+ const {
688
+ rects
689
+ } = state;
690
+ const {
691
+ strategy = 'referenceHidden',
692
+ ...detectOverflowOptions
693
+ } = evaluate(options, state);
694
+ switch (strategy) {
695
+ case 'referenceHidden':
696
+ {
697
+ const overflow = await detectOverflow(state, {
698
+ ...detectOverflowOptions,
699
+ elementContext: 'reference'
700
+ });
701
+ const offsets = getSideOffsets(overflow, rects.reference);
702
+ return {
703
+ data: {
704
+ referenceHiddenOffsets: offsets,
705
+ referenceHidden: isAnySideFullyClipped(offsets)
706
+ }
707
+ };
708
+ }
709
+ case 'escaped':
710
+ {
711
+ const overflow = await detectOverflow(state, {
712
+ ...detectOverflowOptions,
713
+ altBoundary: true
714
+ });
715
+ const offsets = getSideOffsets(overflow, rects.floating);
716
+ return {
717
+ data: {
718
+ escapedOffsets: offsets,
719
+ escaped: isAnySideFullyClipped(offsets)
720
+ }
721
+ };
722
+ }
723
+ default:
724
+ {
725
+ return {};
726
+ }
727
+ }
728
+ }
729
+ };
730
+ };
731
+
531
732
  function getBoundingRect(rects) {
532
733
  const minX = min(...rects.map(rect => rect.left));
533
734
  const minY = min(...rects.map(rect => rect.top));
@@ -560,7 +761,7 @@ function getRectsByLine(rects) {
560
761
  * over multiple lines, such as hyperlinks or range selections.
561
762
  * @see https://floating-ui.com/docs/inline
562
763
  */
563
- const inline = function (options) {
764
+ const inline$1 = function (options) {
564
765
  if (options === void 0) {
565
766
  options = {};
566
767
  }
@@ -661,6 +862,7 @@ const inline = function (options) {
661
862
 
662
863
  // For type backwards-compatibility, the `OffsetOptions` type was also
663
864
  // Derivable.
865
+
664
866
  async function convertValueToCoords(state, options) {
665
867
  const {
666
868
  placement,
@@ -709,7 +911,7 @@ async function convertValueToCoords(state, options) {
709
911
  * object may be passed.
710
912
  * @see https://floating-ui.com/docs/offset
711
913
  */
712
- const offset = function (options) {
914
+ const offset$1 = function (options) {
713
915
  if (options === void 0) {
714
916
  options = 0;
715
917
  }
@@ -717,15 +919,27 @@ const offset = function (options) {
717
919
  name: 'offset',
718
920
  options,
719
921
  async fn(state) {
922
+ var _middlewareData$offse, _middlewareData$arrow;
720
923
  const {
721
924
  x,
722
- y
925
+ y,
926
+ placement,
927
+ middlewareData
723
928
  } = state;
724
929
  const diffCoords = await convertValueToCoords(state, options);
930
+
931
+ // If the placement is the same and the arrow caused an alignment offset
932
+ // then we don't need to change the positioning coordinates.
933
+ if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
934
+ return {};
935
+ }
725
936
  return {
726
937
  x: x + diffCoords.x,
727
938
  y: y + diffCoords.y,
728
- data: diffCoords
939
+ data: {
940
+ ...diffCoords,
941
+ placement
942
+ }
729
943
  };
730
944
  }
731
945
  };
@@ -736,7 +950,7 @@ const offset = function (options) {
736
950
  * keep it in view when it will overflow the clipping boundary.
737
951
  * @see https://floating-ui.com/docs/shift
738
952
  */
739
- const shift = function (options) {
953
+ const shift$1 = function (options) {
740
954
  if (options === void 0) {
741
955
  options = {};
742
956
  }
@@ -804,6 +1018,156 @@ const shift = function (options) {
804
1018
  }
805
1019
  };
806
1020
  };
1021
+ /**
1022
+ * Built-in `limiter` that will stop `shift()` at a certain point.
1023
+ */
1024
+ const limitShift = function (options) {
1025
+ if (options === void 0) {
1026
+ options = {};
1027
+ }
1028
+ return {
1029
+ options,
1030
+ fn(state) {
1031
+ const {
1032
+ x,
1033
+ y,
1034
+ placement,
1035
+ rects,
1036
+ middlewareData
1037
+ } = state;
1038
+ const {
1039
+ offset = 0,
1040
+ mainAxis: checkMainAxis = true,
1041
+ crossAxis: checkCrossAxis = true
1042
+ } = evaluate(options, state);
1043
+ const coords = {
1044
+ x,
1045
+ y
1046
+ };
1047
+ const crossAxis = getSideAxis(placement);
1048
+ const mainAxis = getOppositeAxis(crossAxis);
1049
+ let mainAxisCoord = coords[mainAxis];
1050
+ let crossAxisCoord = coords[crossAxis];
1051
+ const rawOffset = evaluate(offset, state);
1052
+ const computedOffset = typeof rawOffset === 'number' ? {
1053
+ mainAxis: rawOffset,
1054
+ crossAxis: 0
1055
+ } : {
1056
+ mainAxis: 0,
1057
+ crossAxis: 0,
1058
+ ...rawOffset
1059
+ };
1060
+ if (checkMainAxis) {
1061
+ const len = mainAxis === 'y' ? 'height' : 'width';
1062
+ const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;
1063
+ const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;
1064
+ if (mainAxisCoord < limitMin) {
1065
+ mainAxisCoord = limitMin;
1066
+ } else if (mainAxisCoord > limitMax) {
1067
+ mainAxisCoord = limitMax;
1068
+ }
1069
+ }
1070
+ if (checkCrossAxis) {
1071
+ var _middlewareData$offse, _middlewareData$offse2;
1072
+ const len = mainAxis === 'y' ? 'width' : 'height';
1073
+ const isOriginSide = ['top', 'left'].includes(getSide(placement));
1074
+ 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);
1075
+ 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);
1076
+ if (crossAxisCoord < limitMin) {
1077
+ crossAxisCoord = limitMin;
1078
+ } else if (crossAxisCoord > limitMax) {
1079
+ crossAxisCoord = limitMax;
1080
+ }
1081
+ }
1082
+ return {
1083
+ [mainAxis]: mainAxisCoord,
1084
+ [crossAxis]: crossAxisCoord
1085
+ };
1086
+ }
1087
+ };
1088
+ };
1089
+
1090
+ /**
1091
+ * Provides data that allows you to change the size of the floating element —
1092
+ * for instance, prevent it from overflowing the clipping boundary or match the
1093
+ * width of the reference element.
1094
+ * @see https://floating-ui.com/docs/size
1095
+ */
1096
+ const size = function (options) {
1097
+ if (options === void 0) {
1098
+ options = {};
1099
+ }
1100
+ return {
1101
+ name: 'size',
1102
+ options,
1103
+ async fn(state) {
1104
+ const {
1105
+ placement,
1106
+ rects,
1107
+ platform,
1108
+ elements
1109
+ } = state;
1110
+ const {
1111
+ apply = () => {},
1112
+ ...detectOverflowOptions
1113
+ } = evaluate(options, state);
1114
+ const overflow = await detectOverflow(state, detectOverflowOptions);
1115
+ const side = getSide(placement);
1116
+ const alignment = getAlignment(placement);
1117
+ const isYAxis = getSideAxis(placement) === 'y';
1118
+ const {
1119
+ width,
1120
+ height
1121
+ } = rects.floating;
1122
+ let heightSide;
1123
+ let widthSide;
1124
+ if (side === 'top' || side === 'bottom') {
1125
+ heightSide = side;
1126
+ widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';
1127
+ } else {
1128
+ widthSide = side;
1129
+ heightSide = alignment === 'end' ? 'top' : 'bottom';
1130
+ }
1131
+ const maximumClippingHeight = height - overflow.top - overflow.bottom;
1132
+ const maximumClippingWidth = width - overflow.left - overflow.right;
1133
+ const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
1134
+ const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
1135
+ const noShift = !state.middlewareData.shift;
1136
+ let availableHeight = overflowAvailableHeight;
1137
+ let availableWidth = overflowAvailableWidth;
1138
+ if (isYAxis) {
1139
+ availableWidth = alignment || noShift ? min(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;
1140
+ } else {
1141
+ availableHeight = alignment || noShift ? min(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight;
1142
+ }
1143
+ if (noShift && !alignment) {
1144
+ const xMin = max(overflow.left, 0);
1145
+ const xMax = max(overflow.right, 0);
1146
+ const yMin = max(overflow.top, 0);
1147
+ const yMax = max(overflow.bottom, 0);
1148
+ if (isYAxis) {
1149
+ availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));
1150
+ } else {
1151
+ availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));
1152
+ }
1153
+ }
1154
+ await apply({
1155
+ ...state,
1156
+ availableWidth,
1157
+ availableHeight
1158
+ });
1159
+ const nextDimensions = await platform.getDimensions(elements.floating);
1160
+ if (width !== nextDimensions.width || height !== nextDimensions.height) {
1161
+ return {
1162
+ reset: {
1163
+ rects: true
1164
+ }
1165
+ };
1166
+ }
1167
+ return {};
1168
+ }
1169
+ };
1170
+ };
807
1171
 
808
1172
  function getNodeName(node) {
809
1173
  if (isNode(node)) {
@@ -816,7 +1180,7 @@ function getNodeName(node) {
816
1180
  }
817
1181
  function getWindow(node) {
818
1182
  var _node$ownerDocument;
819
- return (node == null ? void 0 : (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
1183
+ return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
820
1184
  }
821
1185
  function getDocumentElement(node) {
822
1186
  var _ref;
@@ -850,9 +1214,18 @@ function isOverflowElement(element) {
850
1214
  function isTableElement(element) {
851
1215
  return ['table', 'td', 'th'].includes(getNodeName(element));
852
1216
  }
853
- function isContainingBlock(element) {
1217
+ function isTopLayer(element) {
1218
+ return [':popover-open', ':modal'].some(selector => {
1219
+ try {
1220
+ return element.matches(selector);
1221
+ } catch (e) {
1222
+ return false;
1223
+ }
1224
+ });
1225
+ }
1226
+ function isContainingBlock(elementOrCss) {
854
1227
  const webkit = isWebKit();
855
- const css = getComputedStyle(element);
1228
+ const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;
856
1229
 
857
1230
  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
858
1231
  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));
@@ -862,9 +1235,10 @@ function getContainingBlock(element) {
862
1235
  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
863
1236
  if (isContainingBlock(currentNode)) {
864
1237
  return currentNode;
865
- } else {
866
- currentNode = getParentNode(currentNode);
1238
+ } else if (isTopLayer(currentNode)) {
1239
+ return null;
867
1240
  }
1241
+ currentNode = getParentNode(currentNode);
868
1242
  }
869
1243
  return null;
870
1244
  }
@@ -886,8 +1260,8 @@ function getNodeScroll(element) {
886
1260
  };
887
1261
  }
888
1262
  return {
889
- scrollLeft: element.pageXOffset,
890
- scrollTop: element.pageYOffset
1263
+ scrollLeft: element.scrollX,
1264
+ scrollTop: element.scrollY
891
1265
  };
892
1266
  }
893
1267
  function getParentNode(node) {
@@ -927,10 +1301,14 @@ function getOverflowAncestors(node, list, traverseIframes) {
927
1301
  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
928
1302
  const win = getWindow(scrollableAncestor);
929
1303
  if (isBody) {
930
- return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []);
1304
+ const frameElement = getFrameElement(win);
1305
+ return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
931
1306
  }
932
1307
  return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
933
1308
  }
1309
+ function getFrameElement(win) {
1310
+ return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
1311
+ }
934
1312
 
935
1313
  function getCssDimensions(element) {
936
1314
  const css = getComputedStyle(element);
@@ -1033,8 +1411,9 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
1033
1411
  if (domElement) {
1034
1412
  const win = getWindow(domElement);
1035
1413
  const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
1036
- let currentIFrame = win.frameElement;
1037
- while (currentIFrame && offsetParent && offsetWin !== win) {
1414
+ let currentWin = win;
1415
+ let currentIFrame = getFrameElement(currentWin);
1416
+ while (currentIFrame && offsetParent && offsetWin !== currentWin) {
1038
1417
  const iframeScale = getScale(currentIFrame);
1039
1418
  const iframeRect = currentIFrame.getBoundingClientRect();
1040
1419
  const css = getComputedStyle(currentIFrame);
@@ -1046,7 +1425,8 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
1046
1425
  height *= iframeScale.y;
1047
1426
  x += left;
1048
1427
  y += top;
1049
- currentIFrame = getWindow(currentIFrame).frameElement;
1428
+ currentWin = getWindow(currentIFrame);
1429
+ currentIFrame = getFrameElement(currentWin);
1050
1430
  }
1051
1431
  }
1052
1432
  return rectToClientRect({
@@ -1059,13 +1439,15 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
1059
1439
 
1060
1440
  function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
1061
1441
  let {
1442
+ elements,
1062
1443
  rect,
1063
1444
  offsetParent,
1064
1445
  strategy
1065
1446
  } = _ref;
1066
- const isOffsetParentAnElement = isHTMLElement(offsetParent);
1447
+ const isFixed = strategy === 'fixed';
1067
1448
  const documentElement = getDocumentElement(offsetParent);
1068
- if (offsetParent === documentElement) {
1449
+ const topLayer = elements ? isTopLayer(elements.floating) : false;
1450
+ if (offsetParent === documentElement || topLayer && isFixed) {
1069
1451
  return rect;
1070
1452
  }
1071
1453
  let scroll = {
@@ -1074,7 +1456,8 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
1074
1456
  };
1075
1457
  let scale = createCoords(1);
1076
1458
  const offsets = createCoords(0);
1077
- if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {
1459
+ const isOffsetParentAnElement = isHTMLElement(offsetParent);
1460
+ if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
1078
1461
  if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
1079
1462
  scroll = getNodeScroll(offsetParent);
1080
1463
  }
@@ -1235,7 +1618,7 @@ function getClippingRect(_ref) {
1235
1618
  rootBoundary,
1236
1619
  strategy
1237
1620
  } = _ref;
1238
- const elementClippingAncestors = boundary === 'clippingAncestors' ? getClippingElementAncestors(element, this._c) : [].concat(boundary);
1621
+ const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
1239
1622
  const clippingAncestors = [...elementClippingAncestors, rootBoundary];
1240
1623
  const firstClippingAncestor = clippingAncestors[0];
1241
1624
  const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {
@@ -1255,7 +1638,14 @@ function getClippingRect(_ref) {
1255
1638
  }
1256
1639
 
1257
1640
  function getDimensions(element) {
1258
- return getCssDimensions(element);
1641
+ const {
1642
+ width,
1643
+ height
1644
+ } = getCssDimensions(element);
1645
+ return {
1646
+ width,
1647
+ height
1648
+ };
1259
1649
  }
1260
1650
 
1261
1651
  function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
@@ -1280,14 +1670,20 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
1280
1670
  offsets.x = getWindowScrollBarX(documentElement);
1281
1671
  }
1282
1672
  }
1673
+ const x = rect.left + scroll.scrollLeft - offsets.x;
1674
+ const y = rect.top + scroll.scrollTop - offsets.y;
1283
1675
  return {
1284
- x: rect.left + scroll.scrollLeft - offsets.x,
1285
- y: rect.top + scroll.scrollTop - offsets.y,
1676
+ x,
1677
+ y,
1286
1678
  width: rect.width,
1287
1679
  height: rect.height
1288
1680
  };
1289
1681
  }
1290
1682
 
1683
+ function isStaticPositioned(element) {
1684
+ return getComputedStyle(element).position === 'static';
1685
+ }
1686
+
1291
1687
  function getTrueOffsetParent(element, polyfill) {
1292
1688
  if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {
1293
1689
  return null;
@@ -1301,34 +1697,41 @@ function getTrueOffsetParent(element, polyfill) {
1301
1697
  // Gets the closest ancestor positioned element. Handles some edge cases,
1302
1698
  // such as table ancestors and cross browser bugs.
1303
1699
  function getOffsetParent(element, polyfill) {
1304
- const window = getWindow(element);
1700
+ const win = getWindow(element);
1701
+ if (isTopLayer(element)) {
1702
+ return win;
1703
+ }
1305
1704
  if (!isHTMLElement(element)) {
1306
- return window;
1705
+ let svgOffsetParent = getParentNode(element);
1706
+ while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {
1707
+ if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {
1708
+ return svgOffsetParent;
1709
+ }
1710
+ svgOffsetParent = getParentNode(svgOffsetParent);
1711
+ }
1712
+ return win;
1307
1713
  }
1308
1714
  let offsetParent = getTrueOffsetParent(element, polyfill);
1309
- while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {
1715
+ while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {
1310
1716
  offsetParent = getTrueOffsetParent(offsetParent, polyfill);
1311
1717
  }
1312
- if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {
1313
- return window;
1718
+ if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {
1719
+ return win;
1314
1720
  }
1315
- return offsetParent || getContainingBlock(element) || window;
1721
+ return offsetParent || getContainingBlock(element) || win;
1316
1722
  }
1317
1723
 
1318
- const getElementRects = async function (_ref) {
1319
- let {
1320
- reference,
1321
- floating,
1322
- strategy
1323
- } = _ref;
1724
+ const getElementRects = async function (data) {
1324
1725
  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
1325
1726
  const getDimensionsFn = this.getDimensions;
1727
+ const floatingDimensions = await getDimensionsFn(data.floating);
1326
1728
  return {
1327
- reference: getRectRelativeToOffsetParent(reference, await getOffsetParentFn(floating), strategy),
1729
+ reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),
1328
1730
  floating: {
1329
1731
  x: 0,
1330
1732
  y: 0,
1331
- ...(await getDimensionsFn(floating))
1733
+ width: floatingDimensions.width,
1734
+ height: floatingDimensions.height
1332
1735
  }
1333
1736
  };
1334
1737
  };
@@ -1356,8 +1759,9 @@ function observeMove(element, onMove) {
1356
1759
  let timeoutId;
1357
1760
  const root = getDocumentElement(element);
1358
1761
  function cleanup() {
1762
+ var _io;
1359
1763
  clearTimeout(timeoutId);
1360
- io && io.disconnect();
1764
+ (_io = io) == null || _io.disconnect();
1361
1765
  io = null;
1362
1766
  }
1363
1767
  function refresh(skip, threshold) {
@@ -1397,9 +1801,11 @@ function observeMove(element, onMove) {
1397
1801
  return refresh();
1398
1802
  }
1399
1803
  if (!ratio) {
1804
+ // If the reference is clipped, the ratio is 0. Throttle the refresh
1805
+ // to prevent an infinite loop of updates.
1400
1806
  timeoutId = setTimeout(() => {
1401
1807
  refresh(false, 1e-7);
1402
- }, 100);
1808
+ }, 1000);
1403
1809
  } else {
1404
1810
  refresh(false, ratio);
1405
1811
  }
@@ -1463,7 +1869,8 @@ function autoUpdate(reference, floating, update, options) {
1463
1869
  resizeObserver.unobserve(floating);
1464
1870
  cancelAnimationFrame(reobserveFrame);
1465
1871
  reobserveFrame = requestAnimationFrame(() => {
1466
- resizeObserver && resizeObserver.observe(floating);
1872
+ var _resizeObserver;
1873
+ (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);
1467
1874
  });
1468
1875
  }
1469
1876
  update();
@@ -1488,12 +1895,13 @@ function autoUpdate(reference, floating, update, options) {
1488
1895
  }
1489
1896
  update();
1490
1897
  return () => {
1898
+ var _resizeObserver2;
1491
1899
  ancestors.forEach(ancestor => {
1492
1900
  ancestorScroll && ancestor.removeEventListener('scroll', update);
1493
1901
  ancestorResize && ancestor.removeEventListener('resize', update);
1494
1902
  });
1495
- cleanupIo && cleanupIo();
1496
- resizeObserver && resizeObserver.disconnect();
1903
+ cleanupIo == null || cleanupIo();
1904
+ (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();
1497
1905
  resizeObserver = null;
1498
1906
  if (animationFrame) {
1499
1907
  cancelAnimationFrame(frameId);
@@ -1501,10 +1909,75 @@ function autoUpdate(reference, floating, update, options) {
1501
1909
  };
1502
1910
  }
1503
1911
 
1912
+ /**
1913
+ * Modifies the placement by translating the floating element along the
1914
+ * specified axes.
1915
+ * A number (shorthand for `mainAxis` or distance), or an axes configuration
1916
+ * object may be passed.
1917
+ * @see https://floating-ui.com/docs/offset
1918
+ */
1919
+ const offset = offset$1;
1920
+
1921
+ /**
1922
+ * Optimizes the visibility of the floating element by choosing the placement
1923
+ * that has the most space available automatically, without needing to specify a
1924
+ * preferred placement. Alternative to `flip`.
1925
+ * @see https://floating-ui.com/docs/autoPlacement
1926
+ */
1927
+ autoPlacement;
1928
+
1929
+ /**
1930
+ * Optimizes the visibility of the floating element by shifting it in order to
1931
+ * keep it in view when it will overflow the clipping boundary.
1932
+ * @see https://floating-ui.com/docs/shift
1933
+ */
1934
+ const shift = shift$1;
1935
+
1936
+ /**
1937
+ * Optimizes the visibility of the floating element by flipping the `placement`
1938
+ * in order to keep it in view when the preferred placement(s) will overflow the
1939
+ * clipping boundary. Alternative to `autoPlacement`.
1940
+ * @see https://floating-ui.com/docs/flip
1941
+ */
1942
+ const flip = flip$1;
1943
+
1944
+ /**
1945
+ * Provides data that allows you to change the size of the floating element —
1946
+ * for instance, prevent it from overflowing the clipping boundary or match the
1947
+ * width of the reference element.
1948
+ * @see https://floating-ui.com/docs/size
1949
+ */
1950
+ size;
1951
+
1952
+ /**
1953
+ * Provides data to hide the floating element in applicable situations, such as
1954
+ * when it is not in the same clipping context as the reference element.
1955
+ * @see https://floating-ui.com/docs/hide
1956
+ */
1957
+ const hide = hide$1;
1958
+
1959
+ /**
1960
+ * Provides data to position an inner element of the floating element so that it
1961
+ * appears centered to the reference element.
1962
+ * @see https://floating-ui.com/docs/arrow
1963
+ */
1964
+ const arrow = arrow$1;
1965
+
1966
+ /**
1967
+ * Provides improved positioning for inline reference elements that can span
1968
+ * over multiple lines, such as hyperlinks or range selections.
1969
+ * @see https://floating-ui.com/docs/inline
1970
+ */
1971
+ const inline = inline$1;
1972
+
1973
+ /**
1974
+ * Built-in `limiter` that will stop `shift()` at a certain point.
1975
+ */
1976
+ limitShift;
1977
+
1504
1978
  /**
1505
1979
  * Computes the `x` and `y` coordinates that will place the floating element
1506
- * next to a reference element when it is given a certain CSS positioning
1507
- * strategy.
1980
+ * next to a given reference element.
1508
1981
  */
1509
1982
  const computePosition = (reference, floating, options) => {
1510
1983
  // This caches the expensive `getClippingElementAncestors` function so that
@@ -1529,8 +2002,9 @@ exports.arrow = arrow;
1529
2002
  exports.autoUpdate = autoUpdate;
1530
2003
  exports.computePosition = computePosition;
1531
2004
  exports.flip = flip;
2005
+ exports.hide = hide;
1532
2006
  exports.inline = inline;
1533
2007
  exports.offset = offset;
1534
2008
  exports.shift = shift;
1535
2009
 
1536
- //# sourceMappingURL=floating-ui.dom.esm-94b4d17c.js.map
2010
+ //# sourceMappingURL=floating-ui.dom.esm-9dde6cd6.js.map