@siemens/ix 2.4.0 → 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 (892) hide show
  1. package/components/a11y.js +1 -1
  2. package/components/a11y.js.map +1 -1
  3. package/components/application-header.js +51 -15
  4. package/components/application-header.js.map +1 -1
  5. package/components/avatar.js +1 -1
  6. package/components/avatar.js.map +1 -1
  7. package/components/card-accordion.js +1 -1
  8. package/components/card-accordion.js.map +1 -1
  9. package/components/card-content.js +1 -1
  10. package/components/card-title.js +1 -1
  11. package/components/card.js +3 -3
  12. package/components/card.js.map +1 -1
  13. package/components/col.js.map +1 -1
  14. package/components/context.js +1 -1
  15. package/components/context.js.map +1 -1
  16. package/components/divider.js +1 -1
  17. package/components/dropdown-controller.js +140 -0
  18. package/components/dropdown-controller.js.map +1 -0
  19. package/components/dropdown-item.js +4 -4
  20. package/components/dropdown-item.js.map +1 -1
  21. package/components/dropdown.js +13 -145
  22. package/components/dropdown.js.map +1 -1
  23. package/components/filter-chip.js +1 -1
  24. package/components/floating-ui.dom.esm.js +533 -60
  25. package/components/floating-ui.dom.esm.js.map +1 -1
  26. package/components/group-context-menu.js +1 -1
  27. package/components/group-context-menu.js.map +1 -1
  28. package/components/group-item.js +4 -8
  29. package/components/group-item.js.map +1 -1
  30. package/components/index.js +1 -0
  31. package/components/index.js.map +1 -1
  32. package/components/ix-action-card.js +1 -1
  33. package/components/ix-action-card.js.map +1 -1
  34. package/components/ix-application-sidebar.js +1 -1
  35. package/components/ix-application-switch-modal.js +1 -1
  36. package/components/ix-application.js +2 -2
  37. package/components/ix-application.js.map +1 -1
  38. package/components/ix-basic-navigation.js +18 -12
  39. package/components/ix-basic-navigation.js.map +1 -1
  40. package/components/ix-blind.js.map +1 -1
  41. package/components/ix-breadcrumb.js +2 -2
  42. package/components/ix-card-list.js +6 -6
  43. package/components/ix-card-list.js.map +1 -1
  44. package/components/ix-category-filter.js +8 -4
  45. package/components/ix-category-filter.js.map +1 -1
  46. package/components/ix-chip.js +4 -4
  47. package/components/ix-chip.js.map +1 -1
  48. package/components/ix-content.js +3 -3
  49. package/components/ix-css-grid-item.js +1 -1
  50. package/components/ix-drawer.js +2 -2
  51. package/components/ix-dropdown-header.js +1 -1
  52. package/components/ix-dropdown-quick-actions.js +1 -1
  53. package/components/ix-event-list-item.js +4 -4
  54. package/components/ix-event-list.js +2 -2
  55. package/components/ix-expanding-search.js +4 -4
  56. package/components/ix-flip-tile-content.js +1 -1
  57. package/components/ix-flip-tile.js +4 -4
  58. package/components/ix-form-field.js +1 -1
  59. package/components/ix-group.js +69 -44
  60. package/components/ix-group.js.map +1 -1
  61. package/components/ix-icon-toggle-button.js +1 -1
  62. package/components/ix-input-group.js +1 -1
  63. package/components/ix-key-value-list.js +1 -1
  64. package/components/ix-kpi.js +3 -3
  65. package/components/ix-kpi.js.map +1 -1
  66. package/components/ix-link-button.js +3 -3
  67. package/components/ix-map-navigation.js +21 -15
  68. package/components/ix-map-navigation.js.map +1 -1
  69. package/components/ix-menu-about-item.js +1 -1
  70. package/components/ix-menu-about-news.js +4 -4
  71. package/components/ix-menu-avatar.js +2 -2
  72. package/components/ix-menu-category.js +5 -5
  73. package/components/ix-menu-settings-item.js +1 -1
  74. package/components/ix-menu.js +12 -12
  75. package/components/ix-menu.js.map +1 -1
  76. package/components/ix-message-bar.js +1 -1
  77. package/components/ix-modal-example.js +1 -1
  78. package/components/ix-modal-footer.js +2 -2
  79. package/components/ix-modal-footer.js.map +1 -1
  80. package/components/ix-modal-loading.js +1 -1
  81. package/components/ix-modal.js +1 -1
  82. package/components/ix-modal.js.map +1 -1
  83. package/components/ix-pagination.js +3 -3
  84. package/components/ix-pagination.js.map +1 -1
  85. package/components/ix-pane-layout.js +1 -1
  86. package/components/ix-pane.js.map +1 -1
  87. package/components/ix-pill.js +4 -4
  88. package/components/ix-pill.js.map +1 -1
  89. package/components/ix-playground-internal.js +1 -1
  90. package/components/ix-playground-internal.js.map +1 -1
  91. package/components/ix-push-card.js +1 -1
  92. package/components/ix-push-card.js.map +1 -1
  93. package/components/ix-slider.js +20 -13
  94. package/components/ix-slider.js.map +1 -1
  95. package/components/ix-split-button-item.js +1 -1
  96. package/components/ix-tile.js +4 -4
  97. package/components/ix-tile.js.map +1 -1
  98. package/components/ix-toast-container.js.map +1 -1
  99. package/components/ix-toggle-button.js +2 -2
  100. package/components/ix-toggle.js +2 -2
  101. package/components/ix-tree.js +21 -7
  102. package/components/ix-tree.js.map +1 -1
  103. package/components/ix-upload.js +3 -3
  104. package/components/ix-upload.js.map +1 -1
  105. package/components/ix-validation-tooltip.js +2 -2
  106. package/components/ix-workflow-step.js +3 -3
  107. package/components/ix-workflow-step.js.map +1 -1
  108. package/components/ix-workflow-steps.js +1 -1
  109. package/components/ix-workflow-steps.js.map +1 -1
  110. package/components/layout-grid.js +2 -2
  111. package/components/layout-grid.js.map +1 -1
  112. package/components/listener.js +1 -1
  113. package/components/listener.js.map +1 -1
  114. package/components/logical-filter-operator.js +1 -1
  115. package/components/logical-filter-operator.js.map +1 -1
  116. package/components/map-navigation-overlay.js +2 -2
  117. package/components/menu-avatar-item.js +1 -1
  118. package/components/menu-expand-icon.js +1 -1
  119. package/components/menu-expand-icon.js.map +1 -1
  120. package/components/menu-item.js +14 -14
  121. package/components/menu-item.js.map +1 -1
  122. package/components/modal-content.js +1 -1
  123. package/components/modal-content.js.map +1 -1
  124. package/components/modal-header.js +1 -1
  125. package/components/modal-header.js.map +1 -1
  126. package/components/row.js +1 -1
  127. package/components/row.js.map +1 -1
  128. package/components/select-item.js +1 -1
  129. package/components/select.js +27 -30
  130. package/components/select.js.map +1 -1
  131. package/components/service.js +2 -2
  132. package/components/service.js.map +1 -1
  133. package/components/shadow-dom.js +1 -1
  134. package/components/shadow-dom.js.map +1 -1
  135. package/components/spinner.js +1 -1
  136. package/components/tab-item.js +3 -3
  137. package/components/tab-item.js.map +1 -1
  138. package/components/tabs.js +77 -43
  139. package/components/tabs.js.map +1 -1
  140. package/components/toast.js +2 -2
  141. package/components/toast.js.map +1 -1
  142. package/components/tooltip.js +24 -22
  143. package/components/tooltip.js.map +1 -1
  144. package/components/tree-item.js +8 -8
  145. package/components/tree-item.js.map +1 -1
  146. package/dist/cjs/{a11y-d3ce56d1.js → a11y-eba397e8.js} +2 -2
  147. package/dist/cjs/{a11y-d3ce56d1.js.map → a11y-eba397e8.js.map} +1 -1
  148. package/dist/cjs/{context-98f4a0b3.js → context-938f7470.js} +2 -2
  149. package/dist/cjs/{context-98f4a0b3.js.map → context-938f7470.js.map} +1 -1
  150. package/dist/cjs/dropdown-controller-5ef3d018.js +144 -0
  151. package/dist/cjs/dropdown-controller-5ef3d018.js.map +1 -0
  152. package/dist/cjs/{floating-ui.dom.esm-94b4d17c.js → floating-ui.dom.esm-9dde6cd6.js} +534 -60
  153. package/dist/cjs/floating-ui.dom.esm-9dde6cd6.js.map +1 -0
  154. package/dist/cjs/index.cjs.js +3 -2
  155. package/dist/cjs/index.cjs.js.map +1 -1
  156. package/dist/cjs/ix-action-card.cjs.entry.js +1 -1
  157. package/dist/cjs/ix-action-card.cjs.entry.js.map +1 -1
  158. package/dist/cjs/ix-application-header.cjs.entry.js +35 -9
  159. package/dist/cjs/ix-application-header.cjs.entry.js.map +1 -1
  160. package/dist/cjs/ix-application-sidebar.cjs.entry.js +1 -1
  161. package/dist/cjs/ix-application-switch-modal.cjs.entry.js +1 -1
  162. package/dist/cjs/ix-application.cjs.entry.js +5 -5
  163. package/dist/cjs/ix-application.cjs.entry.js.map +1 -1
  164. package/dist/cjs/ix-avatar_2.cjs.entry.js +3 -3
  165. package/dist/cjs/ix-avatar_2.cjs.entry.js.map +1 -1
  166. package/dist/cjs/ix-basic-navigation.cjs.entry.js +4 -4
  167. package/dist/cjs/ix-basic-navigation.cjs.entry.js.map +1 -1
  168. package/dist/cjs/ix-blind.cjs.entry.js +1 -1
  169. package/dist/cjs/ix-blind.cjs.entry.js.map +1 -1
  170. package/dist/cjs/ix-breadcrumb-item.cjs.entry.js +1 -1
  171. package/dist/cjs/ix-breadcrumb.cjs.entry.js +3 -3
  172. package/dist/cjs/ix-card-accordion_2.cjs.entry.js +2 -2
  173. package/dist/cjs/ix-card-accordion_2.cjs.entry.js.map +1 -1
  174. package/dist/cjs/ix-card-list.cjs.entry.js +6 -6
  175. package/dist/cjs/ix-card-list.cjs.entry.js.map +1 -1
  176. package/dist/cjs/ix-card_2.cjs.entry.js +4 -4
  177. package/dist/cjs/ix-card_2.cjs.entry.js.map +1 -1
  178. package/dist/cjs/ix-category-filter.cjs.entry.js +9 -5
  179. package/dist/cjs/ix-category-filter.cjs.entry.js.map +1 -1
  180. package/dist/cjs/ix-chip.cjs.entry.js +4 -4
  181. package/dist/cjs/ix-chip.cjs.entry.js.map +1 -1
  182. package/dist/cjs/ix-col_4.cjs.entry.js +4 -4
  183. package/dist/cjs/ix-col_4.cjs.entry.js.map +1 -1
  184. package/dist/cjs/ix-content.cjs.entry.js +4 -4
  185. package/dist/cjs/ix-css-grid-item.cjs.entry.js +1 -1
  186. package/dist/cjs/ix-divider.cjs.entry.js +1 -1
  187. package/dist/cjs/ix-drawer.cjs.entry.js +2 -2
  188. package/dist/cjs/ix-dropdown-header.cjs.entry.js +1 -1
  189. package/dist/cjs/ix-dropdown-item.cjs.entry.js +4 -4
  190. package/dist/cjs/ix-dropdown-item.cjs.entry.js.map +1 -1
  191. package/dist/cjs/ix-dropdown-quick-actions.cjs.entry.js +1 -1
  192. package/dist/cjs/ix-dropdown.cjs.entry.js +26 -158
  193. package/dist/cjs/ix-dropdown.cjs.entry.js.map +1 -1
  194. package/dist/cjs/ix-event-list-item.cjs.entry.js +5 -5
  195. package/dist/cjs/ix-event-list.cjs.entry.js +2 -2
  196. package/dist/cjs/ix-expanding-search.cjs.entry.js +4 -4
  197. package/dist/cjs/ix-filter-chip_2.cjs.entry.js +2 -2
  198. package/dist/cjs/ix-flip-tile-content.cjs.entry.js +1 -1
  199. package/dist/cjs/ix-flip-tile.cjs.entry.js +4 -4
  200. package/dist/cjs/ix-form-field.cjs.entry.js +1 -1
  201. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js +6 -10
  202. package/dist/cjs/ix-group-context-menu_2.cjs.entry.js.map +1 -1
  203. package/dist/cjs/ix-group.cjs.entry.js +68 -44
  204. package/dist/cjs/ix-group.cjs.entry.js.map +1 -1
  205. package/dist/cjs/ix-icon-button_2.cjs.entry.js +2 -2
  206. package/dist/cjs/ix-icon-toggle-button.cjs.entry.js +2 -2
  207. package/dist/cjs/ix-input-group.cjs.entry.js +2 -2
  208. package/dist/cjs/ix-key-value-list.cjs.entry.js +1 -1
  209. package/dist/cjs/ix-kpi.cjs.entry.js +3 -3
  210. package/dist/cjs/ix-kpi.cjs.entry.js.map +1 -1
  211. package/dist/cjs/ix-link-button.cjs.entry.js +3 -3
  212. package/dist/cjs/ix-map-navigation-overlay.cjs.entry.js +2 -2
  213. package/dist/cjs/ix-map-navigation.cjs.entry.js +4 -4
  214. package/dist/cjs/ix-map-navigation.cjs.entry.js.map +1 -1
  215. package/dist/cjs/ix-menu-about-item.cjs.entry.js +1 -1
  216. package/dist/cjs/ix-menu-about-news.cjs.entry.js +4 -4
  217. package/dist/cjs/ix-menu-avatar.cjs.entry.js +3 -3
  218. package/dist/cjs/ix-menu-category.cjs.entry.js +6 -6
  219. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js +2 -2
  220. package/dist/cjs/ix-menu-expand-icon.cjs.entry.js.map +1 -1
  221. package/dist/cjs/ix-menu-item.cjs.entry.js +13 -13
  222. package/dist/cjs/ix-menu-item.cjs.entry.js.map +1 -1
  223. package/dist/cjs/ix-menu-settings-item.cjs.entry.js +1 -1
  224. package/dist/cjs/ix-menu.cjs.entry.js +14 -14
  225. package/dist/cjs/ix-menu.cjs.entry.js.map +1 -1
  226. package/dist/cjs/ix-message-bar.cjs.entry.js +1 -1
  227. package/dist/cjs/ix-modal-content_2.cjs.entry.js +3 -3
  228. package/dist/cjs/ix-modal-content_2.cjs.entry.js.map +1 -1
  229. package/dist/cjs/ix-modal-example.cjs.entry.js +1 -1
  230. package/dist/cjs/ix-modal-footer.cjs.entry.js +2 -2
  231. package/dist/cjs/ix-modal-footer.cjs.entry.js.map +1 -1
  232. package/dist/cjs/ix-modal-loading.cjs.entry.js +1 -1
  233. package/dist/cjs/ix-modal.cjs.entry.js +3 -3
  234. package/dist/cjs/ix-modal.cjs.entry.js.map +1 -1
  235. package/dist/cjs/ix-pagination.cjs.entry.js +4 -4
  236. package/dist/cjs/ix-pagination.cjs.entry.js.map +1 -1
  237. package/dist/cjs/ix-pane-layout.cjs.entry.js +2 -2
  238. package/dist/cjs/ix-pane.cjs.entry.js +1 -1
  239. package/dist/cjs/ix-pane.cjs.entry.js.map +1 -1
  240. package/dist/cjs/ix-pill.cjs.entry.js +4 -4
  241. package/dist/cjs/ix-pill.cjs.entry.js.map +1 -1
  242. package/dist/cjs/ix-playground-internal.cjs.entry.js +1 -1
  243. package/dist/cjs/ix-playground-internal.cjs.entry.js.map +1 -1
  244. package/dist/cjs/ix-push-card.cjs.entry.js +1 -1
  245. package/dist/cjs/ix-push-card.cjs.entry.js.map +1 -1
  246. package/dist/cjs/ix-select.cjs.entry.js +28 -31
  247. package/dist/cjs/ix-select.cjs.entry.js.map +1 -1
  248. package/dist/cjs/ix-slider.cjs.entry.js +22 -15
  249. package/dist/cjs/ix-slider.cjs.entry.js.map +1 -1
  250. package/dist/cjs/ix-split-button-item.cjs.entry.js +1 -1
  251. package/dist/cjs/ix-tab-item_2.cjs.entry.js +74 -44
  252. package/dist/cjs/ix-tab-item_2.cjs.entry.js.map +1 -1
  253. package/dist/cjs/ix-tile.cjs.entry.js +4 -4
  254. package/dist/cjs/ix-tile.cjs.entry.js.map +1 -1
  255. package/dist/cjs/ix-toast-container.cjs.entry.js.map +1 -1
  256. package/dist/cjs/ix-toast.cjs.entry.js +2 -2
  257. package/dist/cjs/ix-toast.cjs.entry.js.map +1 -1
  258. package/dist/cjs/ix-toggle-button.cjs.entry.js +3 -3
  259. package/dist/cjs/ix-toggle.cjs.entry.js +3 -3
  260. package/dist/cjs/ix-tooltip.cjs.entry.js +25 -23
  261. package/dist/cjs/ix-tooltip.cjs.entry.js.map +1 -1
  262. package/dist/cjs/ix-tree-item.cjs.entry.js +8 -8
  263. package/dist/cjs/ix-tree-item.cjs.entry.js.map +1 -1
  264. package/dist/cjs/ix-tree.cjs.entry.js +21 -7
  265. package/dist/cjs/ix-tree.cjs.entry.js.map +1 -1
  266. package/dist/cjs/ix-upload.cjs.entry.js +3 -3
  267. package/dist/cjs/ix-upload.cjs.entry.js.map +1 -1
  268. package/dist/cjs/ix-validation-tooltip.cjs.entry.js +3 -3
  269. package/dist/cjs/ix-workflow-step.cjs.entry.js +3 -3
  270. package/dist/cjs/ix-workflow-step.cjs.entry.js.map +1 -1
  271. package/dist/cjs/ix-workflow-steps.cjs.entry.js +1 -1
  272. package/dist/cjs/ix-workflow-steps.cjs.entry.js.map +1 -1
  273. package/dist/cjs/{listener-bc3e7c0c.js → listener-a124ed49.js} +2 -2
  274. package/dist/cjs/{listener-bc3e7c0c.js.map → listener-a124ed49.js.map} +1 -1
  275. package/dist/cjs/loader.cjs.js +1 -1
  276. package/dist/cjs/{logical-filter-operator-5564322e.js → logical-filter-operator-4917393f.js} +2 -2
  277. package/dist/cjs/{logical-filter-operator-5564322e.js.map → logical-filter-operator-4917393f.js.map} +1 -1
  278. package/dist/cjs/{service-a42add5f.js → service-39a8e5fe.js} +3 -3
  279. package/dist/cjs/service-39a8e5fe.js.map +1 -0
  280. package/dist/cjs/{shadow-dom-73f9d553.js → shadow-dom-454acc38.js} +2 -2
  281. package/dist/cjs/{shadow-dom-73f9d553.js.map → shadow-dom-454acc38.js.map} +1 -1
  282. package/dist/cjs/siemens-ix.cjs.js +1 -1
  283. package/dist/collection/components/action-card/action-card.js +6 -3
  284. package/dist/collection/components/action-card/action-card.js.map +1 -1
  285. package/dist/collection/components/application/application.css +26 -6
  286. package/dist/collection/components/application/application.js +1 -1
  287. package/dist/collection/components/application/application.js.map +1 -1
  288. package/dist/collection/components/application-header/application-header.css +9 -7
  289. package/dist/collection/components/application-header/application-header.js +78 -6
  290. package/dist/collection/components/application-header/application-header.js.map +1 -1
  291. package/dist/collection/components/application-header/application-switch-modal/application-switch-modal.js +1 -1
  292. package/dist/collection/components/application-sidebar/application-sidebar.js +1 -1
  293. package/dist/collection/components/avatar/avatar.css +42 -0
  294. package/dist/collection/components/basic-navigation/basic-navigation.js +7 -4
  295. package/dist/collection/components/basic-navigation/basic-navigation.js.map +1 -1
  296. package/dist/collection/components/blind/blind.css +1 -1
  297. package/dist/collection/components/blind/blind.js +2 -2
  298. package/dist/collection/components/blind/blind.js.map +1 -1
  299. package/dist/collection/components/blind/test/blind.ct.js +1 -1
  300. package/dist/collection/components/blind/test/blind.ct.js.map +1 -1
  301. package/dist/collection/components/breadcrumb/breadcrumb.js +2 -2
  302. package/dist/collection/components/card/card.css +3 -3
  303. package/dist/collection/components/card/card.js +7 -4
  304. package/dist/collection/components/card/card.js.map +1 -1
  305. package/dist/collection/components/card-accordion/card-accordion.css +4 -4
  306. package/dist/collection/components/card-content/card-content.js +1 -1
  307. package/dist/collection/components/card-list/card-list.css +6 -0
  308. package/dist/collection/components/card-list/card-list.js +5 -5
  309. package/dist/collection/components/card-list/card-list.js.map +1 -1
  310. package/dist/collection/components/card-title/card-title.js +1 -1
  311. package/dist/collection/components/category-filter/category-filter.js +18 -13
  312. package/dist/collection/components/category-filter/category-filter.js.map +1 -1
  313. package/dist/collection/components/category-filter/logical-filter-operator.js +1 -1
  314. package/dist/collection/components/category-filter/logical-filter-operator.js.map +1 -1
  315. package/dist/collection/components/category-filter/test/category-filter.ct.js +52 -0
  316. package/dist/collection/components/category-filter/test/category-filter.ct.js.map +1 -0
  317. package/dist/collection/components/chip/chip.css +2 -2
  318. package/dist/collection/components/chip/chip.js +5 -5
  319. package/dist/collection/components/chip/chip.js.map +1 -1
  320. package/dist/collection/components/col/col.css +1 -1
  321. package/dist/collection/components/col/col.js +1 -1
  322. package/dist/collection/components/col/col.js.map +1 -1
  323. package/dist/collection/components/content/content.js +3 -3
  324. package/dist/collection/components/css-grid/css-grid-item.js +1 -1
  325. package/dist/collection/components/divider/divider.js +1 -1
  326. package/dist/collection/components/drawer/drawer.js +2 -2
  327. package/dist/collection/components/dropdown/dropdown.js +10 -6
  328. package/dist/collection/components/dropdown/dropdown.js.map +1 -1
  329. package/dist/collection/components/dropdown-header/dropdown-header.js +1 -1
  330. package/dist/collection/components/dropdown-item/dropdown-item.css +3 -3
  331. package/dist/collection/components/dropdown-item/dropdown-item.js +5 -5
  332. package/dist/collection/components/dropdown-item/dropdown-item.js.map +1 -1
  333. package/dist/collection/components/dropdown-quick-actions/dropdown-quick-actions.js +1 -1
  334. package/dist/collection/components/event-list/event-list.js +2 -2
  335. package/dist/collection/components/event-list-item/event-list-item.js +4 -4
  336. package/dist/collection/components/expanding-search/expanding-search.js +4 -4
  337. package/dist/collection/components/filter-chip/filter-chip.js +1 -1
  338. package/dist/collection/components/flip-tile/flip-tile.js +4 -4
  339. package/dist/collection/components/flip-tile-content/flip-tile-content.js +1 -1
  340. package/dist/collection/components/form-field/form-field.js +1 -1
  341. package/dist/collection/components/grid/layout-grid.css +1 -1
  342. package/dist/collection/components/grid/layout-grid.js +3 -3
  343. package/dist/collection/components/grid/layout-grid.js.map +1 -1
  344. package/dist/collection/components/group/group-context-menu.css +1 -1
  345. package/dist/collection/components/group/group-context-menu.js +2 -2
  346. package/dist/collection/components/group/group-context-menu.js.map +1 -1
  347. package/dist/collection/components/group/group.css +3 -2
  348. package/dist/collection/components/group/group.js +84 -48
  349. package/dist/collection/components/group/group.js.map +1 -1
  350. package/dist/collection/components/group/test/group.ct.js +70 -2
  351. package/dist/collection/components/group/test/group.ct.js.map +1 -1
  352. package/dist/collection/components/group-item/group-item.css +0 -4
  353. package/dist/collection/components/group-item/group-item.js +9 -12
  354. package/dist/collection/components/group-item/group-item.js.map +1 -1
  355. package/dist/collection/components/icon-toggle-button/icon-toggle-button.js +1 -1
  356. package/dist/collection/components/input-group/input-group.js +1 -1
  357. package/dist/collection/components/key-value-list/key-value-list.js +1 -1
  358. package/dist/collection/components/kpi/kpi.css +1 -1
  359. package/dist/collection/components/kpi/kpi.js +4 -4
  360. package/dist/collection/components/kpi/kpi.js.map +1 -1
  361. package/dist/collection/components/link-button/link-button.js +3 -3
  362. package/dist/collection/components/map-navigation/map-navigation.css +3 -3
  363. package/dist/collection/components/map-navigation/map-navigation.js +2 -2
  364. package/dist/collection/components/map-navigation-overlay/map-navigation-overlay.js +2 -2
  365. package/dist/collection/components/menu/menu-expand-icon.css +1 -1
  366. package/dist/collection/components/menu/menu-expand-icon.js +3 -3
  367. package/dist/collection/components/menu/menu-expand-icon.js.map +1 -1
  368. package/dist/collection/components/menu/menu.css +4 -3
  369. package/dist/collection/components/menu/menu.js +12 -12
  370. package/dist/collection/components/menu/menu.js.map +1 -1
  371. package/dist/collection/components/menu/test/menu.ct.js +1 -1
  372. package/dist/collection/components/menu/test/menu.ct.js.map +1 -1
  373. package/dist/collection/components/menu-about-item/menu-about-item.js +1 -1
  374. package/dist/collection/components/menu-about-news/menu-about-news.js +4 -4
  375. package/dist/collection/components/menu-avatar/menu-avatar.js +2 -2
  376. package/dist/collection/components/menu-avatar-item/menu-avatar-item.js +1 -1
  377. package/dist/collection/components/menu-category/menu-category.js +5 -5
  378. package/dist/collection/components/menu-item/menu-item.js +24 -21
  379. package/dist/collection/components/menu-item/menu-item.js.map +1 -1
  380. package/dist/collection/components/menu-settings-item/menu-settings-item.js +1 -1
  381. package/dist/collection/components/message-bar/message-bar.js +1 -1
  382. package/dist/collection/components/modal/modal.css +18 -8
  383. package/dist/collection/components/modal/modal.js +1 -1
  384. package/dist/collection/components/modal/modal.js.map +1 -1
  385. package/dist/collection/components/modal/test/modal.ct.js +1 -1
  386. package/dist/collection/components/modal/test/modal.ct.js.map +1 -1
  387. package/dist/collection/components/modal-content/modal-content.css +1 -1
  388. package/dist/collection/components/modal-content/modal-content.js +1 -1
  389. package/dist/collection/components/modal-footer/modal-footer.css +1 -0
  390. package/dist/collection/components/modal-footer/modal-footer.js +1 -1
  391. package/dist/collection/components/modal-header/modal-header.js +2 -2
  392. package/dist/collection/components/modal-header/modal-header.js.map +1 -1
  393. package/dist/collection/components/modal-loading/modal-loading.js +1 -1
  394. package/dist/collection/components/pagination/pagination.js +5 -4
  395. package/dist/collection/components/pagination/pagination.js.map +1 -1
  396. package/dist/collection/components/pane/pane.css +1 -1
  397. package/dist/collection/components/pane/pane.js +1 -1
  398. package/dist/collection/components/pane/pane.js.map +1 -1
  399. package/dist/collection/components/pane/test/panes.ct.js +1 -1
  400. package/dist/collection/components/pane/test/panes.ct.js.map +1 -1
  401. package/dist/collection/components/pane-layout/pane-layout.js +1 -1
  402. package/dist/collection/components/pill/pill.css +2 -2
  403. package/dist/collection/components/pill/pill.js +5 -5
  404. package/dist/collection/components/pill/pill.js.map +1 -1
  405. package/dist/collection/components/playground/example-modal.js +1 -1
  406. package/dist/collection/components/playground/playground.js +2 -2
  407. package/dist/collection/components/playground/playground.js.map +1 -1
  408. package/dist/collection/components/push-card/push-card.js +9 -6
  409. package/dist/collection/components/push-card/push-card.js.map +1 -1
  410. package/dist/collection/components/row/row.css +1 -1
  411. package/dist/collection/components/row/row.js +2 -2
  412. package/dist/collection/components/row/row.js.map +1 -1
  413. package/dist/collection/components/select/select.js +27 -30
  414. package/dist/collection/components/select/select.js.map +1 -1
  415. package/dist/collection/components/select/test/select.ct.js +45 -1
  416. package/dist/collection/components/select/test/select.ct.js.map +1 -1
  417. package/dist/collection/components/select-item/select-item.js +1 -1
  418. package/dist/collection/components/slider/slider.css +1 -1
  419. package/dist/collection/components/slider/slider.js +23 -15
  420. package/dist/collection/components/slider/slider.js.map +1 -1
  421. package/dist/collection/components/slider/test/slider.ct.js +15 -6
  422. package/dist/collection/components/slider/test/slider.ct.js.map +1 -1
  423. package/dist/collection/components/spinner/spinner.js +1 -1
  424. package/dist/collection/components/split-button-item/split-button-item.js +1 -1
  425. package/dist/collection/components/tab-item/tab-item.js +4 -4
  426. package/dist/collection/components/tab-item/tab-item.js.map +1 -1
  427. package/dist/collection/components/tabs/tabs.css +1 -1
  428. package/dist/collection/components/tabs/tabs.js +78 -43
  429. package/dist/collection/components/tabs/tabs.js.map +1 -1
  430. package/dist/collection/components/tabs/test/tabs.ct.js +35 -9
  431. package/dist/collection/components/tabs/test/tabs.ct.js.map +1 -1
  432. package/dist/collection/components/tile/tile.css +1 -1
  433. package/dist/collection/components/tile/tile.js +5 -5
  434. package/dist/collection/components/tile/tile.js.map +1 -1
  435. package/dist/collection/components/toast/styles/toast-container.css +1 -1
  436. package/dist/collection/components/toast/toast-container.js +1 -1
  437. package/dist/collection/components/toast/toast-container.js.map +1 -1
  438. package/dist/collection/components/toast/toast-utils.js.map +1 -1
  439. package/dist/collection/components/toast/toast.css +1 -1
  440. package/dist/collection/components/toast/toast.js +3 -3
  441. package/dist/collection/components/toast/toast.js.map +1 -1
  442. package/dist/collection/components/toggle/toggle.js +2 -2
  443. package/dist/collection/components/toggle-button/toggle-button.js +2 -2
  444. package/dist/collection/components/tooltip/tooltip.css +15 -5
  445. package/dist/collection/components/tooltip/tooltip.js +33 -26
  446. package/dist/collection/components/tooltip/tooltip.js.map +1 -1
  447. package/dist/collection/components/tree/test/tree.ct.js +37 -1
  448. package/dist/collection/components/tree/test/tree.ct.js.map +1 -1
  449. package/dist/collection/components/tree/tree-model.js.map +1 -1
  450. package/dist/collection/components/tree/tree.css +1 -1
  451. package/dist/collection/components/tree/tree.js +26 -11
  452. package/dist/collection/components/tree/tree.js.map +1 -1
  453. package/dist/collection/components/tree-item/tree-item.css +9 -0
  454. package/dist/collection/components/tree-item/tree-item.js +13 -12
  455. package/dist/collection/components/tree-item/tree-item.js.map +1 -1
  456. package/dist/collection/components/upload/upload.js +4 -4
  457. package/dist/collection/components/upload/upload.js.map +1 -1
  458. package/dist/collection/components/utils/application-layout/service.js +2 -2
  459. package/dist/collection/components/utils/application-layout/service.js.map +1 -1
  460. package/dist/collection/components/utils/condition-checks.js +1 -1
  461. package/dist/collection/components/utils/condition-checks.js.map +1 -1
  462. package/dist/collection/components/utils/context.js +1 -1
  463. package/dist/collection/components/utils/context.js.map +1 -1
  464. package/dist/collection/components/utils/listener.js +1 -1
  465. package/dist/collection/components/utils/listener.js.map +1 -1
  466. package/dist/collection/components/utils/notification-color.js.map +1 -1
  467. package/dist/collection/components/utils/shadow-dom.js +1 -1
  468. package/dist/collection/components/utils/shadow-dom.js.map +1 -1
  469. package/dist/collection/components/validation-tooltip/validation-tooltip.js +2 -2
  470. package/dist/collection/components/workflow-step/workflow-step.css +1 -1
  471. package/dist/collection/components/workflow-step/workflow-step.js +4 -4
  472. package/dist/collection/components/workflow-step/workflow-step.js.map +1 -1
  473. package/dist/collection/components/workflow-steps/test/workflow-steps.ct.js +2 -2
  474. package/dist/collection/components/workflow-steps/test/workflow-steps.ct.js.map +1 -1
  475. package/dist/collection/components/workflow-steps/workflow-steps.css +1 -1
  476. package/dist/collection/components/workflow-steps/workflow-steps.js +2 -2
  477. package/dist/collection/components/workflow-steps/workflow-steps.js.map +1 -1
  478. package/dist/collection/index.js +1 -0
  479. package/dist/collection/index.js.map +1 -1
  480. package/dist/collection/tests/application-header/application-header.e2e.js +9 -0
  481. package/dist/collection/tests/application-header/application-header.e2e.js.map +1 -1
  482. package/dist/collection/tests/avatar/avatar.e2e.js +6 -0
  483. package/dist/collection/tests/avatar/avatar.e2e.js.map +1 -1
  484. package/dist/collection/tests/card-list/card-list.e2e.js +7 -1
  485. package/dist/collection/tests/card-list/card-list.e2e.js.map +1 -1
  486. package/dist/collection/tests/dropdown/dropdown.e2e.js +6 -0
  487. package/dist/collection/tests/dropdown/dropdown.e2e.js.map +1 -1
  488. package/dist/collection/tests/group/group.e2e.js +12 -3
  489. package/dist/collection/tests/group/group.e2e.js.map +1 -1
  490. package/dist/collection/tests/slider/slider.e2e.js +14 -0
  491. package/dist/collection/tests/slider/slider.e2e.js.map +1 -1
  492. package/dist/collection/tests/tabs/tabs.e2e.js +1 -1
  493. package/dist/collection/tests/tabs/tabs.e2e.js.map +1 -1
  494. package/dist/collection/tests/tooltip/tooltip.e2e.js +22 -0
  495. package/dist/collection/tests/tooltip/tooltip.e2e.js.map +1 -1
  496. package/dist/collection/tests/tree/tree.e2e.js +12 -0
  497. package/dist/collection/tests/tree/tree.e2e.js.map +1 -1
  498. package/dist/esm/{a11y-d5444a76.js → a11y-2e34777f.js} +2 -2
  499. package/dist/esm/{a11y-d5444a76.js.map → a11y-2e34777f.js.map} +1 -1
  500. package/dist/esm/{context-c9078420.js → context-82a1ccf8.js} +2 -2
  501. package/dist/esm/{context-c9078420.js.map → context-82a1ccf8.js.map} +1 -1
  502. package/dist/esm/dropdown-controller-95bd6750.js +140 -0
  503. package/dist/esm/dropdown-controller-95bd6750.js.map +1 -0
  504. package/dist/esm/{floating-ui.dom.esm-6e7c098f.js → floating-ui.dom.esm-d4ad786a.js} +534 -61
  505. package/dist/esm/floating-ui.dom.esm-d4ad786a.js.map +1 -0
  506. package/dist/esm/index.js +2 -2
  507. package/dist/esm/index.js.map +1 -1
  508. package/dist/esm/ix-action-card.entry.js +1 -1
  509. package/dist/esm/ix-action-card.entry.js.map +1 -1
  510. package/dist/esm/ix-application-header.entry.js +36 -10
  511. package/dist/esm/ix-application-header.entry.js.map +1 -1
  512. package/dist/esm/ix-application-sidebar.entry.js +1 -1
  513. package/dist/esm/ix-application-switch-modal.entry.js +1 -1
  514. package/dist/esm/ix-application.entry.js +5 -5
  515. package/dist/esm/ix-application.entry.js.map +1 -1
  516. package/dist/esm/ix-avatar_2.entry.js +3 -3
  517. package/dist/esm/ix-avatar_2.entry.js.map +1 -1
  518. package/dist/esm/ix-basic-navigation.entry.js +4 -4
  519. package/dist/esm/ix-basic-navigation.entry.js.map +1 -1
  520. package/dist/esm/ix-blind.entry.js +1 -1
  521. package/dist/esm/ix-blind.entry.js.map +1 -1
  522. package/dist/esm/ix-breadcrumb-item.entry.js +1 -1
  523. package/dist/esm/ix-breadcrumb.entry.js +3 -3
  524. package/dist/esm/ix-card-accordion_2.entry.js +2 -2
  525. package/dist/esm/ix-card-accordion_2.entry.js.map +1 -1
  526. package/dist/esm/ix-card-list.entry.js +6 -6
  527. package/dist/esm/ix-card-list.entry.js.map +1 -1
  528. package/dist/esm/ix-card_2.entry.js +4 -4
  529. package/dist/esm/ix-card_2.entry.js.map +1 -1
  530. package/dist/esm/ix-category-filter.entry.js +9 -5
  531. package/dist/esm/ix-category-filter.entry.js.map +1 -1
  532. package/dist/esm/ix-chip.entry.js +4 -4
  533. package/dist/esm/ix-chip.entry.js.map +1 -1
  534. package/dist/esm/ix-col_4.entry.js +4 -4
  535. package/dist/esm/ix-col_4.entry.js.map +1 -1
  536. package/dist/esm/ix-content.entry.js +4 -4
  537. package/dist/esm/ix-css-grid-item.entry.js +1 -1
  538. package/dist/esm/ix-divider.entry.js +1 -1
  539. package/dist/esm/ix-drawer.entry.js +2 -2
  540. package/dist/esm/ix-dropdown-header.entry.js +1 -1
  541. package/dist/esm/ix-dropdown-item.entry.js +4 -4
  542. package/dist/esm/ix-dropdown-item.entry.js.map +1 -1
  543. package/dist/esm/ix-dropdown-quick-actions.entry.js +1 -1
  544. package/dist/esm/ix-dropdown.entry.js +12 -144
  545. package/dist/esm/ix-dropdown.entry.js.map +1 -1
  546. package/dist/esm/ix-event-list-item.entry.js +5 -5
  547. package/dist/esm/ix-event-list.entry.js +2 -2
  548. package/dist/esm/ix-expanding-search.entry.js +4 -4
  549. package/dist/esm/ix-filter-chip_2.entry.js +2 -2
  550. package/dist/esm/ix-flip-tile-content.entry.js +1 -1
  551. package/dist/esm/ix-flip-tile.entry.js +4 -4
  552. package/dist/esm/ix-form-field.entry.js +1 -1
  553. package/dist/esm/ix-group-context-menu_2.entry.js +6 -10
  554. package/dist/esm/ix-group-context-menu_2.entry.js.map +1 -1
  555. package/dist/esm/ix-group.entry.js +68 -44
  556. package/dist/esm/ix-group.entry.js.map +1 -1
  557. package/dist/esm/ix-icon-button_2.entry.js +2 -2
  558. package/dist/esm/ix-icon-toggle-button.entry.js +2 -2
  559. package/dist/esm/ix-input-group.entry.js +2 -2
  560. package/dist/esm/ix-key-value-list.entry.js +1 -1
  561. package/dist/esm/ix-kpi.entry.js +3 -3
  562. package/dist/esm/ix-kpi.entry.js.map +1 -1
  563. package/dist/esm/ix-link-button.entry.js +3 -3
  564. package/dist/esm/ix-map-navigation-overlay.entry.js +2 -2
  565. package/dist/esm/ix-map-navigation.entry.js +4 -4
  566. package/dist/esm/ix-map-navigation.entry.js.map +1 -1
  567. package/dist/esm/ix-menu-about-item.entry.js +1 -1
  568. package/dist/esm/ix-menu-about-news.entry.js +4 -4
  569. package/dist/esm/ix-menu-avatar.entry.js +3 -3
  570. package/dist/esm/ix-menu-category.entry.js +6 -6
  571. package/dist/esm/ix-menu-expand-icon.entry.js +2 -2
  572. package/dist/esm/ix-menu-expand-icon.entry.js.map +1 -1
  573. package/dist/esm/ix-menu-item.entry.js +14 -14
  574. package/dist/esm/ix-menu-item.entry.js.map +1 -1
  575. package/dist/esm/ix-menu-settings-item.entry.js +1 -1
  576. package/dist/esm/ix-menu.entry.js +14 -14
  577. package/dist/esm/ix-menu.entry.js.map +1 -1
  578. package/dist/esm/ix-message-bar.entry.js +1 -1
  579. package/dist/esm/ix-modal-content_2.entry.js +3 -3
  580. package/dist/esm/ix-modal-content_2.entry.js.map +1 -1
  581. package/dist/esm/ix-modal-example.entry.js +1 -1
  582. package/dist/esm/ix-modal-footer.entry.js +2 -2
  583. package/dist/esm/ix-modal-footer.entry.js.map +1 -1
  584. package/dist/esm/ix-modal-loading.entry.js +1 -1
  585. package/dist/esm/ix-modal.entry.js +3 -3
  586. package/dist/esm/ix-modal.entry.js.map +1 -1
  587. package/dist/esm/ix-pagination.entry.js +4 -4
  588. package/dist/esm/ix-pagination.entry.js.map +1 -1
  589. package/dist/esm/ix-pane-layout.entry.js +2 -2
  590. package/dist/esm/ix-pane.entry.js +1 -1
  591. package/dist/esm/ix-pane.entry.js.map +1 -1
  592. package/dist/esm/ix-pill.entry.js +4 -4
  593. package/dist/esm/ix-pill.entry.js.map +1 -1
  594. package/dist/esm/ix-playground-internal.entry.js +1 -1
  595. package/dist/esm/ix-playground-internal.entry.js.map +1 -1
  596. package/dist/esm/ix-push-card.entry.js +1 -1
  597. package/dist/esm/ix-push-card.entry.js.map +1 -1
  598. package/dist/esm/ix-select.entry.js +28 -31
  599. package/dist/esm/ix-select.entry.js.map +1 -1
  600. package/dist/esm/ix-slider.entry.js +22 -15
  601. package/dist/esm/ix-slider.entry.js.map +1 -1
  602. package/dist/esm/ix-split-button-item.entry.js +1 -1
  603. package/dist/esm/ix-tab-item_2.entry.js +74 -44
  604. package/dist/esm/ix-tab-item_2.entry.js.map +1 -1
  605. package/dist/esm/ix-tile.entry.js +4 -4
  606. package/dist/esm/ix-tile.entry.js.map +1 -1
  607. package/dist/esm/ix-toast-container.entry.js.map +1 -1
  608. package/dist/esm/ix-toast.entry.js +2 -2
  609. package/dist/esm/ix-toast.entry.js.map +1 -1
  610. package/dist/esm/ix-toggle-button.entry.js +3 -3
  611. package/dist/esm/ix-toggle.entry.js +3 -3
  612. package/dist/esm/ix-tooltip.entry.js +25 -23
  613. package/dist/esm/ix-tooltip.entry.js.map +1 -1
  614. package/dist/esm/ix-tree-item.entry.js +8 -8
  615. package/dist/esm/ix-tree-item.entry.js.map +1 -1
  616. package/dist/esm/ix-tree.entry.js +21 -7
  617. package/dist/esm/ix-tree.entry.js.map +1 -1
  618. package/dist/esm/ix-upload.entry.js +3 -3
  619. package/dist/esm/ix-upload.entry.js.map +1 -1
  620. package/dist/esm/ix-validation-tooltip.entry.js +3 -3
  621. package/dist/esm/ix-workflow-step.entry.js +3 -3
  622. package/dist/esm/ix-workflow-step.entry.js.map +1 -1
  623. package/dist/esm/ix-workflow-steps.entry.js +1 -1
  624. package/dist/esm/ix-workflow-steps.entry.js.map +1 -1
  625. package/dist/esm/{listener-4f3baab5.js → listener-2c562054.js} +2 -2
  626. package/dist/esm/{listener-4f3baab5.js.map → listener-2c562054.js.map} +1 -1
  627. package/dist/esm/loader.js +1 -1
  628. package/dist/esm/{logical-filter-operator-f6701df5.js → logical-filter-operator-d793d1c3.js} +2 -2
  629. package/dist/esm/{logical-filter-operator-f6701df5.js.map → logical-filter-operator-d793d1c3.js.map} +1 -1
  630. package/dist/esm/{service-02cc9011.js → service-c7fc628b.js} +3 -3
  631. package/dist/esm/service-c7fc628b.js.map +1 -0
  632. package/dist/esm/{shadow-dom-60e9243d.js → shadow-dom-cc0bc152.js} +2 -2
  633. package/dist/esm/{shadow-dom-60e9243d.js.map → shadow-dom-cc0bc152.js.map} +1 -1
  634. package/dist/esm/siemens-ix.js +1 -1
  635. package/dist/siemens-ix/index.esm.js +1 -1
  636. package/dist/siemens-ix/index.esm.js.map +1 -1
  637. package/dist/siemens-ix/p-04af3853.entry.js +2 -0
  638. package/dist/siemens-ix/p-04ec538b.entry.js +2 -0
  639. package/dist/siemens-ix/p-04ec538b.entry.js.map +1 -0
  640. package/dist/siemens-ix/{p-68644ee1.entry.js → p-05dc6b2d.entry.js} +2 -2
  641. package/dist/siemens-ix/{p-68644ee1.entry.js.map → p-05dc6b2d.entry.js.map} +1 -1
  642. package/dist/siemens-ix/{p-af099ca4.entry.js → p-0632731e.entry.js} +2 -2
  643. package/dist/siemens-ix/{p-6af4415c.entry.js → p-085d5ec2.entry.js} +2 -2
  644. package/dist/siemens-ix/{p-6af4415c.entry.js.map → p-085d5ec2.entry.js.map} +1 -1
  645. package/dist/siemens-ix/{p-0d2a6886.entry.js → p-091b036d.entry.js} +2 -2
  646. package/dist/siemens-ix/{p-453fa360.entry.js → p-0ef97555.entry.js} +2 -2
  647. package/dist/siemens-ix/{p-453fa360.entry.js.map → p-0ef97555.entry.js.map} +1 -1
  648. package/dist/siemens-ix/{p-2946fd70.entry.js → p-0fafba48.entry.js} +2 -2
  649. package/dist/siemens-ix/{p-7076210b.entry.js → p-1483f65d.entry.js} +2 -2
  650. package/dist/siemens-ix/{p-4f8ac3bf.js → p-157b1b28.js} +1 -1
  651. package/dist/siemens-ix/{p-4f8ac3bf.js.map → p-157b1b28.js.map} +1 -1
  652. package/dist/siemens-ix/p-15f44099.entry.js +2 -0
  653. package/dist/siemens-ix/{p-87e692d9.entry.js.map → p-15f44099.entry.js.map} +1 -1
  654. package/dist/siemens-ix/{p-2908cacd.entry.js → p-17a8aab2.entry.js} +2 -2
  655. package/dist/siemens-ix/{p-2908cacd.entry.js.map → p-17a8aab2.entry.js.map} +1 -1
  656. package/dist/siemens-ix/{p-c1968b80.entry.js → p-1bd98772.entry.js} +2 -2
  657. package/dist/siemens-ix/p-1c3a0b1f.js +2 -0
  658. package/dist/siemens-ix/p-1c3a0b1f.js.map +1 -0
  659. package/dist/siemens-ix/{p-8629db91.entry.js → p-25f1749c.entry.js} +2 -2
  660. package/dist/siemens-ix/{p-5696bb62.entry.js → p-306269ae.entry.js} +2 -2
  661. package/dist/siemens-ix/{p-ae7a7af4.entry.js → p-33a7a26d.entry.js} +2 -2
  662. package/dist/siemens-ix/{p-ae7a7af4.entry.js.map → p-33a7a26d.entry.js.map} +1 -1
  663. package/dist/siemens-ix/{p-712e0ee0.js → p-345e1c73.js} +1 -1
  664. package/dist/siemens-ix/{p-712e0ee0.js.map → p-345e1c73.js.map} +1 -1
  665. package/dist/siemens-ix/p-35fff1e6.entry.js +2 -0
  666. package/dist/siemens-ix/{p-9ebc4fc3.entry.js → p-37229f30.entry.js} +2 -2
  667. package/dist/siemens-ix/{p-9ebc4fc3.entry.js.map → p-37229f30.entry.js.map} +1 -1
  668. package/dist/siemens-ix/p-3dc1294b.entry.js +2 -0
  669. package/dist/siemens-ix/{p-e9a3f58a.entry.js.map → p-3dc1294b.entry.js.map} +1 -1
  670. package/dist/siemens-ix/p-3f59a3c3.entry.js +2 -0
  671. package/dist/siemens-ix/p-3f59a3c3.entry.js.map +1 -0
  672. package/dist/siemens-ix/p-411f51c5.entry.js +2 -0
  673. package/dist/siemens-ix/{p-f78246bd.entry.js → p-44a27b29.entry.js} +2 -2
  674. package/dist/siemens-ix/{p-d03df401.entry.js → p-49d3fc15.entry.js} +2 -2
  675. package/dist/siemens-ix/{p-25ee1b62.js → p-4ac31849.js} +1 -1
  676. package/dist/siemens-ix/{p-25ee1b62.js.map → p-4ac31849.js.map} +1 -1
  677. package/dist/siemens-ix/{p-112069ca.entry.js → p-4e547dd3.entry.js} +2 -2
  678. package/dist/siemens-ix/p-4e547dd3.entry.js.map +1 -0
  679. package/dist/siemens-ix/p-5099c070.entry.js +2 -0
  680. package/dist/siemens-ix/p-5099c070.entry.js.map +1 -0
  681. package/dist/siemens-ix/{p-6b928634.entry.js → p-5351225b.entry.js} +2 -2
  682. package/dist/siemens-ix/p-5351225b.entry.js.map +1 -0
  683. package/dist/siemens-ix/p-5aa0b93c.entry.js.map +1 -1
  684. package/dist/siemens-ix/{p-113cc793.entry.js → p-5af99eaa.entry.js} +2 -2
  685. package/dist/siemens-ix/{p-e30ed20a.entry.js → p-62b089b6.entry.js} +2 -2
  686. package/dist/siemens-ix/{p-e30ed20a.entry.js.map → p-62b089b6.entry.js.map} +1 -1
  687. package/dist/siemens-ix/p-63f0755e.entry.js +2 -0
  688. package/dist/siemens-ix/{p-14a41c8c.entry.js → p-6618b2db.entry.js} +2 -2
  689. package/dist/siemens-ix/{p-0653a145.entry.js → p-67f44540.entry.js} +2 -2
  690. package/dist/siemens-ix/{p-15b3c17e.entry.js → p-6e4c9e3d.entry.js} +2 -2
  691. package/dist/siemens-ix/{p-15b3c17e.entry.js.map → p-6e4c9e3d.entry.js.map} +1 -1
  692. package/dist/siemens-ix/p-7402f42a.entry.js +2 -0
  693. package/dist/siemens-ix/p-7402f42a.entry.js.map +1 -0
  694. package/dist/siemens-ix/{p-53352bfb.entry.js → p-77273517.entry.js} +2 -2
  695. package/dist/siemens-ix/{p-882a0233.entry.js → p-78ac2ff1.entry.js} +2 -2
  696. package/dist/siemens-ix/p-7947ef3d.entry.js +2 -0
  697. package/dist/siemens-ix/{p-fb47546b.entry.js → p-7c2f34f0.entry.js} +2 -2
  698. package/dist/siemens-ix/p-82d33168.entry.js +2 -0
  699. package/dist/siemens-ix/p-82f9d976.entry.js +2 -0
  700. package/dist/siemens-ix/p-82f9d976.entry.js.map +1 -0
  701. package/dist/siemens-ix/{p-85423643.entry.js → p-86bbc005.entry.js} +2 -2
  702. package/dist/siemens-ix/p-86bbc005.entry.js.map +1 -0
  703. package/dist/siemens-ix/p-86fd5922.entry.js +2 -0
  704. package/dist/siemens-ix/p-86fd5922.entry.js.map +1 -0
  705. package/dist/siemens-ix/p-89e48bea.entry.js +2 -0
  706. package/dist/siemens-ix/p-89e48bea.entry.js.map +1 -0
  707. package/dist/siemens-ix/{p-052340f9.entry.js → p-8acc09aa.entry.js} +2 -2
  708. package/dist/siemens-ix/{p-6fd7ecd0.entry.js → p-9079f6c8.entry.js} +2 -2
  709. package/dist/siemens-ix/p-928209e1.entry.js +2 -0
  710. package/dist/siemens-ix/p-928209e1.entry.js.map +1 -0
  711. package/dist/siemens-ix/{p-e8d3cf35.entry.js → p-958c5970.entry.js} +2 -2
  712. package/dist/siemens-ix/{p-e8d3cf35.entry.js.map → p-958c5970.entry.js.map} +1 -1
  713. package/dist/siemens-ix/{p-16b923e9.entry.js → p-9bdda7ff.entry.js} +2 -2
  714. package/dist/siemens-ix/p-a08efce0.entry.js +2 -0
  715. package/dist/siemens-ix/p-a08efce0.entry.js.map +1 -0
  716. package/dist/siemens-ix/p-a4755205.entry.js +2 -0
  717. package/dist/siemens-ix/p-a4755205.entry.js.map +1 -0
  718. package/dist/siemens-ix/{p-2c4c03d4.entry.js → p-aa814811.entry.js} +2 -2
  719. package/dist/siemens-ix/{p-7c36d3fa.js → p-accec846.js} +1 -1
  720. package/dist/siemens-ix/{p-7c36d3fa.js.map → p-accec846.js.map} +1 -1
  721. package/dist/siemens-ix/{p-8d599677.entry.js → p-adee6045.entry.js} +2 -2
  722. package/dist/siemens-ix/{p-8d599677.entry.js.map → p-adee6045.entry.js.map} +1 -1
  723. package/dist/siemens-ix/{p-d95cbd1f.entry.js → p-ae31be0d.entry.js} +2 -2
  724. package/dist/siemens-ix/{p-d95cbd1f.entry.js.map → p-ae31be0d.entry.js.map} +1 -1
  725. package/dist/siemens-ix/{p-feac09bc.entry.js → p-ba24e694.entry.js} +2 -2
  726. package/dist/siemens-ix/p-ba6e955a.js +2 -0
  727. package/dist/siemens-ix/p-ba6e955a.js.map +1 -0
  728. package/dist/siemens-ix/p-c022d6cc.entry.js +2 -0
  729. package/dist/siemens-ix/{p-eb6268a6.entry.js.map → p-c022d6cc.entry.js.map} +1 -1
  730. package/dist/siemens-ix/p-c05a98c8.entry.js +2 -0
  731. package/dist/siemens-ix/{p-29df2e29.entry.js → p-c072ddb5.entry.js} +2 -2
  732. package/dist/siemens-ix/p-c072ddb5.entry.js.map +1 -0
  733. package/dist/siemens-ix/p-c1fe9f3d.entry.js +2 -0
  734. package/dist/siemens-ix/p-c1fe9f3d.entry.js.map +1 -0
  735. package/dist/siemens-ix/{p-c389de85.entry.js → p-c33cee36.entry.js} +2 -2
  736. package/dist/siemens-ix/{p-c389de85.entry.js.map → p-c33cee36.entry.js.map} +1 -1
  737. package/dist/siemens-ix/{p-0b4e398e.entry.js → p-c62966f8.entry.js} +2 -2
  738. package/dist/siemens-ix/{p-0b4e398e.entry.js.map → p-c62966f8.entry.js.map} +1 -1
  739. package/dist/siemens-ix/p-c7280736.entry.js +2 -0
  740. package/dist/siemens-ix/{p-0f7ef743.entry.js.map → p-c7280736.entry.js.map} +1 -1
  741. package/dist/siemens-ix/{p-8d0758c1.entry.js → p-c7e58e9e.entry.js} +2 -2
  742. package/dist/siemens-ix/{p-4430117a.entry.js → p-c81c4b9d.entry.js} +2 -2
  743. package/dist/siemens-ix/p-cc65617d.entry.js +2 -0
  744. package/dist/siemens-ix/p-cc65617d.entry.js.map +1 -0
  745. package/dist/siemens-ix/{p-1a122c76.entry.js → p-d300b332.entry.js} +2 -2
  746. package/dist/siemens-ix/p-d6fc0727.entry.js +2 -0
  747. package/dist/siemens-ix/p-d6fc0727.entry.js.map +1 -0
  748. package/dist/siemens-ix/p-df370362.entry.js +2 -0
  749. package/dist/siemens-ix/p-df370362.entry.js.map +1 -0
  750. package/dist/siemens-ix/{p-5f25e7fd.entry.js → p-e0d03d67.entry.js} +2 -2
  751. package/dist/siemens-ix/{p-5f25e7fd.entry.js.map → p-e0d03d67.entry.js.map} +1 -1
  752. package/dist/siemens-ix/{p-ff1ac5b3.entry.js → p-e14384df.entry.js} +2 -2
  753. package/dist/siemens-ix/{p-fb2b78f7.entry.js → p-e35805d0.entry.js} +2 -2
  754. package/dist/siemens-ix/p-e35805d0.entry.js.map +1 -0
  755. package/dist/siemens-ix/{p-0c8a98cd.js → p-e948bcb0.js} +1 -1
  756. package/dist/siemens-ix/{p-0c8a98cd.js.map → p-e948bcb0.js.map} +1 -1
  757. package/dist/siemens-ix/{p-96a3a750.entry.js → p-e95a5a97.entry.js} +2 -2
  758. package/dist/siemens-ix/p-e95a5a97.entry.js.map +1 -0
  759. package/dist/siemens-ix/p-ed7e76a3.entry.js +2 -0
  760. package/dist/siemens-ix/p-ed7e76a3.entry.js.map +1 -0
  761. package/dist/siemens-ix/{p-bea7c748.entry.js → p-ee96d1eb.entry.js} +2 -2
  762. package/dist/siemens-ix/p-f001ecc1.entry.js +2 -0
  763. package/dist/siemens-ix/p-f001ecc1.entry.js.map +1 -0
  764. package/dist/siemens-ix/p-f06b21f9.entry.js +2 -0
  765. package/dist/siemens-ix/p-f06b21f9.entry.js.map +1 -0
  766. package/dist/siemens-ix/{p-702f9349.js → p-fbe017b7.js} +2 -2
  767. package/dist/siemens-ix/p-fbe017b7.js.map +1 -0
  768. package/dist/siemens-ix/{p-7750e187.entry.js → p-fd5bee44.entry.js} +2 -2
  769. package/dist/siemens-ix/p-fefd5743.entry.js +2 -0
  770. package/dist/siemens-ix/p-fefd5743.entry.js.map +1 -0
  771. package/dist/siemens-ix/{p-dcb3e5be.entry.js → p-ffa856df.entry.js} +2 -2
  772. package/dist/siemens-ix/siemens-ix-core.css +1 -1
  773. package/dist/siemens-ix/siemens-ix.css +5 -1
  774. package/dist/siemens-ix/siemens-ix.esm.js +1 -1
  775. package/dist/siemens-ix/siemens-ix.esm.js.map +1 -1
  776. package/dist/types/components/action-card/action-card.d.ts +1 -0
  777. package/dist/types/components/application-header/application-header.d.ts +19 -1
  778. package/dist/types/components/basic-navigation/basic-navigation.d.ts +2 -1
  779. package/dist/types/components/card/card.d.ts +2 -1
  780. package/dist/types/components/category-filter/category-filter.d.ts +9 -9
  781. package/dist/types/components/category-filter/test/category-filter.ct.d.ts +1 -0
  782. package/dist/types/components/dropdown/dropdown.d.ts +1 -0
  783. package/dist/types/components/dropdown-item/dropdown-item.d.ts +2 -2
  784. package/dist/types/components/group/group.d.ts +7 -6
  785. package/dist/types/components/group-item/group-item.d.ts +4 -4
  786. package/dist/types/components/menu-item/menu-item.d.ts +6 -5
  787. package/dist/types/components/push-card/push-card.d.ts +4 -3
  788. package/dist/types/components/slider/slider.d.ts +3 -3
  789. package/dist/types/components/tab-item/tab-item.d.ts +1 -1
  790. package/dist/types/components/tabs/tabs.d.ts +7 -4
  791. package/dist/types/components/tooltip/tooltip.d.ts +9 -10
  792. package/dist/types/components/tree/tree.d.ts +1 -1
  793. package/dist/types/components/tree-item/tree-item.d.ts +3 -3
  794. package/dist/types/components.d.ts +83 -43
  795. package/dist/types/index.d.ts +1 -0
  796. package/hydrate/index.js +994 -416
  797. package/package.json +3 -2
  798. package/scss/_core.scss +5 -0
  799. package/dist/cjs/floating-ui.dom.esm-94b4d17c.js.map +0 -1
  800. package/dist/cjs/service-a42add5f.js.map +0 -1
  801. package/dist/esm/floating-ui.dom.esm-6e7c098f.js.map +0 -1
  802. package/dist/esm/service-02cc9011.js.map +0 -1
  803. package/dist/siemens-ix/p-0f7ef743.entry.js +0 -2
  804. package/dist/siemens-ix/p-112069ca.entry.js.map +0 -1
  805. package/dist/siemens-ix/p-1cff59db.entry.js +0 -2
  806. package/dist/siemens-ix/p-1cff59db.entry.js.map +0 -1
  807. package/dist/siemens-ix/p-1f4b8463.entry.js +0 -2
  808. package/dist/siemens-ix/p-1f4b8463.entry.js.map +0 -1
  809. package/dist/siemens-ix/p-29df2e29.entry.js.map +0 -1
  810. package/dist/siemens-ix/p-2ec7f841.entry.js +0 -2
  811. package/dist/siemens-ix/p-2ec7f841.entry.js.map +0 -1
  812. package/dist/siemens-ix/p-309ac3ad.entry.js +0 -2
  813. package/dist/siemens-ix/p-309ac3ad.entry.js.map +0 -1
  814. package/dist/siemens-ix/p-315f070d.entry.js +0 -2
  815. package/dist/siemens-ix/p-315f070d.entry.js.map +0 -1
  816. package/dist/siemens-ix/p-32375ddb.entry.js +0 -2
  817. package/dist/siemens-ix/p-427676f4.entry.js +0 -2
  818. package/dist/siemens-ix/p-427676f4.entry.js.map +0 -1
  819. package/dist/siemens-ix/p-4344ba99.entry.js +0 -2
  820. package/dist/siemens-ix/p-4344ba99.entry.js.map +0 -1
  821. package/dist/siemens-ix/p-44db3646.entry.js +0 -2
  822. package/dist/siemens-ix/p-4b3facea.entry.js +0 -2
  823. package/dist/siemens-ix/p-4b3facea.entry.js.map +0 -1
  824. package/dist/siemens-ix/p-52857629.entry.js +0 -2
  825. package/dist/siemens-ix/p-52857629.entry.js.map +0 -1
  826. package/dist/siemens-ix/p-60c16878.entry.js +0 -2
  827. package/dist/siemens-ix/p-60c16878.entry.js.map +0 -1
  828. package/dist/siemens-ix/p-6227e62b.entry.js +0 -2
  829. package/dist/siemens-ix/p-6227e62b.entry.js.map +0 -1
  830. package/dist/siemens-ix/p-6b928634.entry.js.map +0 -1
  831. package/dist/siemens-ix/p-702f9349.js.map +0 -1
  832. package/dist/siemens-ix/p-7bfd6cd2.entry.js +0 -2
  833. package/dist/siemens-ix/p-7bfd6cd2.entry.js.map +0 -1
  834. package/dist/siemens-ix/p-7faa148f.entry.js +0 -2
  835. package/dist/siemens-ix/p-85423643.entry.js.map +0 -1
  836. package/dist/siemens-ix/p-87e692d9.entry.js +0 -2
  837. package/dist/siemens-ix/p-92a18c10.entry.js +0 -2
  838. package/dist/siemens-ix/p-96a3a750.entry.js.map +0 -1
  839. package/dist/siemens-ix/p-a536adcb.entry.js +0 -2
  840. package/dist/siemens-ix/p-a536adcb.entry.js.map +0 -1
  841. package/dist/siemens-ix/p-b3b23af7.entry.js +0 -2
  842. package/dist/siemens-ix/p-b3f35666.js +0 -2
  843. package/dist/siemens-ix/p-b3f35666.js.map +0 -1
  844. package/dist/siemens-ix/p-c1222581.entry.js +0 -2
  845. package/dist/siemens-ix/p-c55db6c7.entry.js +0 -2
  846. package/dist/siemens-ix/p-c55db6c7.entry.js.map +0 -1
  847. package/dist/siemens-ix/p-d998415f.entry.js +0 -2
  848. package/dist/siemens-ix/p-d998415f.entry.js.map +0 -1
  849. package/dist/siemens-ix/p-e9a3f58a.entry.js +0 -2
  850. package/dist/siemens-ix/p-eb6268a6.entry.js +0 -2
  851. package/dist/siemens-ix/p-ebb277f0.entry.js +0 -2
  852. package/dist/siemens-ix/p-ebb277f0.entry.js.map +0 -1
  853. package/dist/siemens-ix/p-f07110c6.entry.js +0 -2
  854. package/dist/siemens-ix/p-f07110c6.entry.js.map +0 -1
  855. package/dist/siemens-ix/p-fa53933d.entry.js +0 -2
  856. package/dist/siemens-ix/p-fa53933d.entry.js.map +0 -1
  857. package/dist/siemens-ix/p-fb2b78f7.entry.js.map +0 -1
  858. package/dist/siemens-ix/p-fb4c79c6.entry.js +0 -2
  859. /package/dist/siemens-ix/{p-fb4c79c6.entry.js.map → p-04af3853.entry.js.map} +0 -0
  860. /package/dist/siemens-ix/{p-af099ca4.entry.js.map → p-0632731e.entry.js.map} +0 -0
  861. /package/dist/siemens-ix/{p-0d2a6886.entry.js.map → p-091b036d.entry.js.map} +0 -0
  862. /package/dist/siemens-ix/{p-2946fd70.entry.js.map → p-0fafba48.entry.js.map} +0 -0
  863. /package/dist/siemens-ix/{p-7076210b.entry.js.map → p-1483f65d.entry.js.map} +0 -0
  864. /package/dist/siemens-ix/{p-c1968b80.entry.js.map → p-1bd98772.entry.js.map} +0 -0
  865. /package/dist/siemens-ix/{p-8629db91.entry.js.map → p-25f1749c.entry.js.map} +0 -0
  866. /package/dist/siemens-ix/{p-5696bb62.entry.js.map → p-306269ae.entry.js.map} +0 -0
  867. /package/dist/siemens-ix/{p-b3b23af7.entry.js.map → p-35fff1e6.entry.js.map} +0 -0
  868. /package/dist/siemens-ix/{p-92a18c10.entry.js.map → p-411f51c5.entry.js.map} +0 -0
  869. /package/dist/siemens-ix/{p-f78246bd.entry.js.map → p-44a27b29.entry.js.map} +0 -0
  870. /package/dist/siemens-ix/{p-d03df401.entry.js.map → p-49d3fc15.entry.js.map} +0 -0
  871. /package/dist/siemens-ix/{p-113cc793.entry.js.map → p-5af99eaa.entry.js.map} +0 -0
  872. /package/dist/siemens-ix/{p-c1222581.entry.js.map → p-63f0755e.entry.js.map} +0 -0
  873. /package/dist/siemens-ix/{p-14a41c8c.entry.js.map → p-6618b2db.entry.js.map} +0 -0
  874. /package/dist/siemens-ix/{p-0653a145.entry.js.map → p-67f44540.entry.js.map} +0 -0
  875. /package/dist/siemens-ix/{p-53352bfb.entry.js.map → p-77273517.entry.js.map} +0 -0
  876. /package/dist/siemens-ix/{p-882a0233.entry.js.map → p-78ac2ff1.entry.js.map} +0 -0
  877. /package/dist/siemens-ix/{p-32375ddb.entry.js.map → p-7947ef3d.entry.js.map} +0 -0
  878. /package/dist/siemens-ix/{p-fb47546b.entry.js.map → p-7c2f34f0.entry.js.map} +0 -0
  879. /package/dist/siemens-ix/{p-7faa148f.entry.js.map → p-82d33168.entry.js.map} +0 -0
  880. /package/dist/siemens-ix/{p-052340f9.entry.js.map → p-8acc09aa.entry.js.map} +0 -0
  881. /package/dist/siemens-ix/{p-6fd7ecd0.entry.js.map → p-9079f6c8.entry.js.map} +0 -0
  882. /package/dist/siemens-ix/{p-16b923e9.entry.js.map → p-9bdda7ff.entry.js.map} +0 -0
  883. /package/dist/siemens-ix/{p-2c4c03d4.entry.js.map → p-aa814811.entry.js.map} +0 -0
  884. /package/dist/siemens-ix/{p-feac09bc.entry.js.map → p-ba24e694.entry.js.map} +0 -0
  885. /package/dist/siemens-ix/{p-44db3646.entry.js.map → p-c05a98c8.entry.js.map} +0 -0
  886. /package/dist/siemens-ix/{p-8d0758c1.entry.js.map → p-c7e58e9e.entry.js.map} +0 -0
  887. /package/dist/siemens-ix/{p-4430117a.entry.js.map → p-c81c4b9d.entry.js.map} +0 -0
  888. /package/dist/siemens-ix/{p-1a122c76.entry.js.map → p-d300b332.entry.js.map} +0 -0
  889. /package/dist/siemens-ix/{p-ff1ac5b3.entry.js.map → p-e14384df.entry.js.map} +0 -0
  890. /package/dist/siemens-ix/{p-bea7c748.entry.js.map → p-ee96d1eb.entry.js.map} +0 -0
  891. /package/dist/siemens-ix/{p-7750e187.entry.js.map → p-fd5bee44.entry.js.map} +0 -0
  892. /package/dist/siemens-ix/{p-dcb3e5be.entry.js.map → p-ffa856df.entry.js.map} +0 -0
@@ -1,3 +1,11 @@
1
+ /**
2
+ * Custom positioning reference element.
3
+ * @see https://floating-ui.com/docs/virtual-elements
4
+ */
5
+
6
+ const sides = ['top', 'right', 'bottom', 'left'];
7
+ const alignments = ['start', 'end'];
8
+ const placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + "-" + alignments[0], side + "-" + alignments[1]), []);
1
9
  const min = Math.min;
2
10
  const max = Math.max;
3
11
  const round = Math.round;
@@ -109,12 +117,21 @@ function getPaddingObject(padding) {
109
117
  };
110
118
  }
111
119
  function rectToClientRect(rect) {
120
+ const {
121
+ x,
122
+ y,
123
+ width,
124
+ height
125
+ } = rect;
112
126
  return {
113
- ...rect,
114
- top: rect.y,
115
- left: rect.x,
116
- right: rect.x + rect.width,
117
- bottom: rect.y + rect.height
127
+ width,
128
+ height,
129
+ top: y,
130
+ left: x,
131
+ right: x + width,
132
+ bottom: y + height,
133
+ x,
134
+ y
118
135
  };
119
136
  }
120
137
 
@@ -176,7 +193,7 @@ function computeCoordsFromPlacement(_ref, placement, rtl) {
176
193
 
177
194
  /**
178
195
  * Computes the `x` and `y` coordinates that will place the floating element
179
- * next to a reference element when it is given a certain positioning strategy.
196
+ * next to a given reference element.
180
197
  *
181
198
  * This export does not have any `platform` interface logic. You will need to
182
199
  * write one for the platform you are using Floating UI with.
@@ -254,7 +271,6 @@ const computePosition$1 = async (reference, floating, config) => {
254
271
  } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));
255
272
  }
256
273
  i = -1;
257
- continue;
258
274
  }
259
275
  }
260
276
  return {
@@ -304,9 +320,10 @@ async function detectOverflow(state, options) {
304
320
  strategy
305
321
  }));
306
322
  const rect = elementContext === 'floating' ? {
307
- ...rects.floating,
308
323
  x,
309
- y
324
+ y,
325
+ width: rects.floating.width,
326
+ height: rects.floating.height
310
327
  } : rects.reference;
311
328
  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
312
329
  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {
@@ -317,6 +334,7 @@ async function detectOverflow(state, options) {
317
334
  y: 1
318
335
  };
319
336
  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({
337
+ elements,
320
338
  rect,
321
339
  offsetParent,
322
340
  strategy
@@ -334,7 +352,7 @@ async function detectOverflow(state, options) {
334
352
  * appears centered to the reference element.
335
353
  * @see https://floating-ui.com/docs/arrow
336
354
  */
337
- const arrow = options => ({
355
+ const arrow$1 = options => ({
338
356
  name: 'arrow',
339
357
  options,
340
358
  async fn(state) {
@@ -395,7 +413,7 @@ const arrow = options => ({
395
413
  // to point to nothing for an aligned placement, adjust the offset of the
396
414
  // floating element itself. To ensure `shift()` continues to take action,
397
415
  // a single reset is performed when this is true.
398
- const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center != offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
416
+ const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
399
417
  const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;
400
418
  return {
401
419
  [axis]: coords[axis] + alignmentOffset,
@@ -411,13 +429,116 @@ const arrow = options => ({
411
429
  }
412
430
  });
413
431
 
432
+ function getPlacementList(alignment, autoAlignment, allowedPlacements) {
433
+ const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);
434
+ return allowedPlacementsSortedByAlignment.filter(placement => {
435
+ if (alignment) {
436
+ return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);
437
+ }
438
+ return true;
439
+ });
440
+ }
441
+ /**
442
+ * Optimizes the visibility of the floating element by choosing the placement
443
+ * that has the most space available automatically, without needing to specify a
444
+ * preferred placement. Alternative to `flip`.
445
+ * @see https://floating-ui.com/docs/autoPlacement
446
+ */
447
+ const autoPlacement = function (options) {
448
+ if (options === void 0) {
449
+ options = {};
450
+ }
451
+ return {
452
+ name: 'autoPlacement',
453
+ options,
454
+ async fn(state) {
455
+ var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;
456
+ const {
457
+ rects,
458
+ middlewareData,
459
+ placement,
460
+ platform,
461
+ elements
462
+ } = state;
463
+ const {
464
+ crossAxis = false,
465
+ alignment,
466
+ allowedPlacements = placements,
467
+ autoAlignment = true,
468
+ ...detectOverflowOptions
469
+ } = evaluate(options, state);
470
+ const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;
471
+ const overflow = await detectOverflow(state, detectOverflowOptions);
472
+ const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;
473
+ const currentPlacement = placements$1[currentIndex];
474
+ if (currentPlacement == null) {
475
+ return {};
476
+ }
477
+ const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));
478
+
479
+ // Make `computeCoords` start from the right place.
480
+ if (placement !== currentPlacement) {
481
+ return {
482
+ reset: {
483
+ placement: placements$1[0]
484
+ }
485
+ };
486
+ }
487
+ const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];
488
+ const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {
489
+ placement: currentPlacement,
490
+ overflows: currentOverflows
491
+ }];
492
+ const nextPlacement = placements$1[currentIndex + 1];
493
+
494
+ // There are more placements to check.
495
+ if (nextPlacement) {
496
+ return {
497
+ data: {
498
+ index: currentIndex + 1,
499
+ overflows: allOverflows
500
+ },
501
+ reset: {
502
+ placement: nextPlacement
503
+ }
504
+ };
505
+ }
506
+ const placementsSortedByMostSpace = allOverflows.map(d => {
507
+ const alignment = getAlignment(d.placement);
508
+ return [d.placement, alignment && crossAxis ?
509
+ // Check along the mainAxis and main crossAxis side.
510
+ d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :
511
+ // Check only the mainAxis.
512
+ d.overflows[0], d.overflows];
513
+ }).sort((a, b) => a[1] - b[1]);
514
+ const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,
515
+ // Aligned placements should not check their opposite crossAxis
516
+ // side.
517
+ getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));
518
+ const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];
519
+ if (resetPlacement !== placement) {
520
+ return {
521
+ data: {
522
+ index: currentIndex + 1,
523
+ overflows: allOverflows
524
+ },
525
+ reset: {
526
+ placement: resetPlacement
527
+ }
528
+ };
529
+ }
530
+ return {};
531
+ }
532
+ };
533
+ };
534
+
414
535
  /**
415
536
  * Optimizes the visibility of the floating element by flipping the `placement`
416
537
  * in order to keep it in view when the preferred placement(s) will overflow the
417
538
  * clipping boundary. Alternative to `autoPlacement`.
418
539
  * @see https://floating-ui.com/docs/flip
419
540
  */
420
- const flip = function (options) {
541
+ const flip$1 = function (options) {
421
542
  if (options === void 0) {
422
543
  options = {};
423
544
  }
@@ -452,10 +573,12 @@ const flip = function (options) {
452
573
  return {};
453
574
  }
454
575
  const side = getSide(placement);
576
+ const initialSideAxis = getSideAxis(initialPlacement);
455
577
  const isBasePlacement = getSide(initialPlacement) === initialPlacement;
456
578
  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
457
579
  const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));
458
- if (!specifiedFallbackPlacements && fallbackAxisSideDirection !== 'none') {
580
+ const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';
581
+ if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {
459
582
  fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
460
583
  }
461
584
  const placements = [initialPlacement, ...fallbackPlacements];
@@ -501,8 +624,17 @@ const flip = function (options) {
501
624
  switch (fallbackStrategy) {
502
625
  case 'bestFit':
503
626
  {
504
- var _overflowsData$map$so;
505
- 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];
627
+ var _overflowsData$filter2;
628
+ const placement = (_overflowsData$filter2 = overflowsData.filter(d => {
629
+ if (hasFallbackAxisSideDirection) {
630
+ const currentSideAxis = getSideAxis(d.placement);
631
+ return currentSideAxis === initialSideAxis ||
632
+ // Create a bias to the `y` side axis due to horizontal
633
+ // reading directions favoring greater width.
634
+ currentSideAxis === 'y';
635
+ }
636
+ return true;
637
+ }).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];
506
638
  if (placement) {
507
639
  resetPlacement = placement;
508
640
  }
@@ -526,6 +658,75 @@ const flip = function (options) {
526
658
  };
527
659
  };
528
660
 
661
+ function getSideOffsets(overflow, rect) {
662
+ return {
663
+ top: overflow.top - rect.height,
664
+ right: overflow.right - rect.width,
665
+ bottom: overflow.bottom - rect.height,
666
+ left: overflow.left - rect.width
667
+ };
668
+ }
669
+ function isAnySideFullyClipped(overflow) {
670
+ return sides.some(side => overflow[side] >= 0);
671
+ }
672
+ /**
673
+ * Provides data to hide the floating element in applicable situations, such as
674
+ * when it is not in the same clipping context as the reference element.
675
+ * @see https://floating-ui.com/docs/hide
676
+ */
677
+ const hide$1 = function (options) {
678
+ if (options === void 0) {
679
+ options = {};
680
+ }
681
+ return {
682
+ name: 'hide',
683
+ options,
684
+ async fn(state) {
685
+ const {
686
+ rects
687
+ } = state;
688
+ const {
689
+ strategy = 'referenceHidden',
690
+ ...detectOverflowOptions
691
+ } = evaluate(options, state);
692
+ switch (strategy) {
693
+ case 'referenceHidden':
694
+ {
695
+ const overflow = await detectOverflow(state, {
696
+ ...detectOverflowOptions,
697
+ elementContext: 'reference'
698
+ });
699
+ const offsets = getSideOffsets(overflow, rects.reference);
700
+ return {
701
+ data: {
702
+ referenceHiddenOffsets: offsets,
703
+ referenceHidden: isAnySideFullyClipped(offsets)
704
+ }
705
+ };
706
+ }
707
+ case 'escaped':
708
+ {
709
+ const overflow = await detectOverflow(state, {
710
+ ...detectOverflowOptions,
711
+ altBoundary: true
712
+ });
713
+ const offsets = getSideOffsets(overflow, rects.floating);
714
+ return {
715
+ data: {
716
+ escapedOffsets: offsets,
717
+ escaped: isAnySideFullyClipped(offsets)
718
+ }
719
+ };
720
+ }
721
+ default:
722
+ {
723
+ return {};
724
+ }
725
+ }
726
+ }
727
+ };
728
+ };
729
+
529
730
  function getBoundingRect(rects) {
530
731
  const minX = min(...rects.map(rect => rect.left));
531
732
  const minY = min(...rects.map(rect => rect.top));
@@ -558,7 +759,7 @@ function getRectsByLine(rects) {
558
759
  * over multiple lines, such as hyperlinks or range selections.
559
760
  * @see https://floating-ui.com/docs/inline
560
761
  */
561
- const inline = function (options) {
762
+ const inline$1 = function (options) {
562
763
  if (options === void 0) {
563
764
  options = {};
564
765
  }
@@ -659,6 +860,7 @@ const inline = function (options) {
659
860
 
660
861
  // For type backwards-compatibility, the `OffsetOptions` type was also
661
862
  // Derivable.
863
+
662
864
  async function convertValueToCoords(state, options) {
663
865
  const {
664
866
  placement,
@@ -707,7 +909,7 @@ async function convertValueToCoords(state, options) {
707
909
  * object may be passed.
708
910
  * @see https://floating-ui.com/docs/offset
709
911
  */
710
- const offset = function (options) {
912
+ const offset$1 = function (options) {
711
913
  if (options === void 0) {
712
914
  options = 0;
713
915
  }
@@ -715,15 +917,27 @@ const offset = function (options) {
715
917
  name: 'offset',
716
918
  options,
717
919
  async fn(state) {
920
+ var _middlewareData$offse, _middlewareData$arrow;
718
921
  const {
719
922
  x,
720
- y
923
+ y,
924
+ placement,
925
+ middlewareData
721
926
  } = state;
722
927
  const diffCoords = await convertValueToCoords(state, options);
928
+
929
+ // If the placement is the same and the arrow caused an alignment offset
930
+ // then we don't need to change the positioning coordinates.
931
+ if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
932
+ return {};
933
+ }
723
934
  return {
724
935
  x: x + diffCoords.x,
725
936
  y: y + diffCoords.y,
726
- data: diffCoords
937
+ data: {
938
+ ...diffCoords,
939
+ placement
940
+ }
727
941
  };
728
942
  }
729
943
  };
@@ -734,7 +948,7 @@ const offset = function (options) {
734
948
  * keep it in view when it will overflow the clipping boundary.
735
949
  * @see https://floating-ui.com/docs/shift
736
950
  */
737
- const shift = function (options) {
951
+ const shift$1 = function (options) {
738
952
  if (options === void 0) {
739
953
  options = {};
740
954
  }
@@ -802,6 +1016,156 @@ const shift = function (options) {
802
1016
  }
803
1017
  };
804
1018
  };
1019
+ /**
1020
+ * Built-in `limiter` that will stop `shift()` at a certain point.
1021
+ */
1022
+ const limitShift = function (options) {
1023
+ if (options === void 0) {
1024
+ options = {};
1025
+ }
1026
+ return {
1027
+ options,
1028
+ fn(state) {
1029
+ const {
1030
+ x,
1031
+ y,
1032
+ placement,
1033
+ rects,
1034
+ middlewareData
1035
+ } = state;
1036
+ const {
1037
+ offset = 0,
1038
+ mainAxis: checkMainAxis = true,
1039
+ crossAxis: checkCrossAxis = true
1040
+ } = evaluate(options, state);
1041
+ const coords = {
1042
+ x,
1043
+ y
1044
+ };
1045
+ const crossAxis = getSideAxis(placement);
1046
+ const mainAxis = getOppositeAxis(crossAxis);
1047
+ let mainAxisCoord = coords[mainAxis];
1048
+ let crossAxisCoord = coords[crossAxis];
1049
+ const rawOffset = evaluate(offset, state);
1050
+ const computedOffset = typeof rawOffset === 'number' ? {
1051
+ mainAxis: rawOffset,
1052
+ crossAxis: 0
1053
+ } : {
1054
+ mainAxis: 0,
1055
+ crossAxis: 0,
1056
+ ...rawOffset
1057
+ };
1058
+ if (checkMainAxis) {
1059
+ const len = mainAxis === 'y' ? 'height' : 'width';
1060
+ const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;
1061
+ const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;
1062
+ if (mainAxisCoord < limitMin) {
1063
+ mainAxisCoord = limitMin;
1064
+ } else if (mainAxisCoord > limitMax) {
1065
+ mainAxisCoord = limitMax;
1066
+ }
1067
+ }
1068
+ if (checkCrossAxis) {
1069
+ var _middlewareData$offse, _middlewareData$offse2;
1070
+ const len = mainAxis === 'y' ? 'width' : 'height';
1071
+ const isOriginSide = ['top', 'left'].includes(getSide(placement));
1072
+ 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);
1073
+ 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);
1074
+ if (crossAxisCoord < limitMin) {
1075
+ crossAxisCoord = limitMin;
1076
+ } else if (crossAxisCoord > limitMax) {
1077
+ crossAxisCoord = limitMax;
1078
+ }
1079
+ }
1080
+ return {
1081
+ [mainAxis]: mainAxisCoord,
1082
+ [crossAxis]: crossAxisCoord
1083
+ };
1084
+ }
1085
+ };
1086
+ };
1087
+
1088
+ /**
1089
+ * Provides data that allows you to change the size of the floating element —
1090
+ * for instance, prevent it from overflowing the clipping boundary or match the
1091
+ * width of the reference element.
1092
+ * @see https://floating-ui.com/docs/size
1093
+ */
1094
+ const size = function (options) {
1095
+ if (options === void 0) {
1096
+ options = {};
1097
+ }
1098
+ return {
1099
+ name: 'size',
1100
+ options,
1101
+ async fn(state) {
1102
+ const {
1103
+ placement,
1104
+ rects,
1105
+ platform,
1106
+ elements
1107
+ } = state;
1108
+ const {
1109
+ apply = () => {},
1110
+ ...detectOverflowOptions
1111
+ } = evaluate(options, state);
1112
+ const overflow = await detectOverflow(state, detectOverflowOptions);
1113
+ const side = getSide(placement);
1114
+ const alignment = getAlignment(placement);
1115
+ const isYAxis = getSideAxis(placement) === 'y';
1116
+ const {
1117
+ width,
1118
+ height
1119
+ } = rects.floating;
1120
+ let heightSide;
1121
+ let widthSide;
1122
+ if (side === 'top' || side === 'bottom') {
1123
+ heightSide = side;
1124
+ widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';
1125
+ } else {
1126
+ widthSide = side;
1127
+ heightSide = alignment === 'end' ? 'top' : 'bottom';
1128
+ }
1129
+ const maximumClippingHeight = height - overflow.top - overflow.bottom;
1130
+ const maximumClippingWidth = width - overflow.left - overflow.right;
1131
+ const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
1132
+ const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
1133
+ const noShift = !state.middlewareData.shift;
1134
+ let availableHeight = overflowAvailableHeight;
1135
+ let availableWidth = overflowAvailableWidth;
1136
+ if (isYAxis) {
1137
+ availableWidth = alignment || noShift ? min(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;
1138
+ } else {
1139
+ availableHeight = alignment || noShift ? min(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight;
1140
+ }
1141
+ if (noShift && !alignment) {
1142
+ const xMin = max(overflow.left, 0);
1143
+ const xMax = max(overflow.right, 0);
1144
+ const yMin = max(overflow.top, 0);
1145
+ const yMax = max(overflow.bottom, 0);
1146
+ if (isYAxis) {
1147
+ availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));
1148
+ } else {
1149
+ availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));
1150
+ }
1151
+ }
1152
+ await apply({
1153
+ ...state,
1154
+ availableWidth,
1155
+ availableHeight
1156
+ });
1157
+ const nextDimensions = await platform.getDimensions(elements.floating);
1158
+ if (width !== nextDimensions.width || height !== nextDimensions.height) {
1159
+ return {
1160
+ reset: {
1161
+ rects: true
1162
+ }
1163
+ };
1164
+ }
1165
+ return {};
1166
+ }
1167
+ };
1168
+ };
805
1169
 
806
1170
  function getNodeName(node) {
807
1171
  if (isNode(node)) {
@@ -814,7 +1178,7 @@ function getNodeName(node) {
814
1178
  }
815
1179
  function getWindow(node) {
816
1180
  var _node$ownerDocument;
817
- return (node == null ? void 0 : (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
1181
+ return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
818
1182
  }
819
1183
  function getDocumentElement(node) {
820
1184
  var _ref;
@@ -848,9 +1212,18 @@ function isOverflowElement(element) {
848
1212
  function isTableElement(element) {
849
1213
  return ['table', 'td', 'th'].includes(getNodeName(element));
850
1214
  }
851
- function isContainingBlock(element) {
1215
+ function isTopLayer(element) {
1216
+ return [':popover-open', ':modal'].some(selector => {
1217
+ try {
1218
+ return element.matches(selector);
1219
+ } catch (e) {
1220
+ return false;
1221
+ }
1222
+ });
1223
+ }
1224
+ function isContainingBlock(elementOrCss) {
852
1225
  const webkit = isWebKit();
853
- const css = getComputedStyle(element);
1226
+ const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;
854
1227
 
855
1228
  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
856
1229
  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));
@@ -860,9 +1233,10 @@ function getContainingBlock(element) {
860
1233
  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
861
1234
  if (isContainingBlock(currentNode)) {
862
1235
  return currentNode;
863
- } else {
864
- currentNode = getParentNode(currentNode);
1236
+ } else if (isTopLayer(currentNode)) {
1237
+ return null;
865
1238
  }
1239
+ currentNode = getParentNode(currentNode);
866
1240
  }
867
1241
  return null;
868
1242
  }
@@ -884,8 +1258,8 @@ function getNodeScroll(element) {
884
1258
  };
885
1259
  }
886
1260
  return {
887
- scrollLeft: element.pageXOffset,
888
- scrollTop: element.pageYOffset
1261
+ scrollLeft: element.scrollX,
1262
+ scrollTop: element.scrollY
889
1263
  };
890
1264
  }
891
1265
  function getParentNode(node) {
@@ -925,10 +1299,14 @@ function getOverflowAncestors(node, list, traverseIframes) {
925
1299
  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
926
1300
  const win = getWindow(scrollableAncestor);
927
1301
  if (isBody) {
928
- return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []);
1302
+ const frameElement = getFrameElement(win);
1303
+ return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
929
1304
  }
930
1305
  return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
931
1306
  }
1307
+ function getFrameElement(win) {
1308
+ return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
1309
+ }
932
1310
 
933
1311
  function getCssDimensions(element) {
934
1312
  const css = getComputedStyle(element);
@@ -1031,8 +1409,9 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
1031
1409
  if (domElement) {
1032
1410
  const win = getWindow(domElement);
1033
1411
  const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
1034
- let currentIFrame = win.frameElement;
1035
- while (currentIFrame && offsetParent && offsetWin !== win) {
1412
+ let currentWin = win;
1413
+ let currentIFrame = getFrameElement(currentWin);
1414
+ while (currentIFrame && offsetParent && offsetWin !== currentWin) {
1036
1415
  const iframeScale = getScale(currentIFrame);
1037
1416
  const iframeRect = currentIFrame.getBoundingClientRect();
1038
1417
  const css = getComputedStyle(currentIFrame);
@@ -1044,7 +1423,8 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
1044
1423
  height *= iframeScale.y;
1045
1424
  x += left;
1046
1425
  y += top;
1047
- currentIFrame = getWindow(currentIFrame).frameElement;
1426
+ currentWin = getWindow(currentIFrame);
1427
+ currentIFrame = getFrameElement(currentWin);
1048
1428
  }
1049
1429
  }
1050
1430
  return rectToClientRect({
@@ -1057,13 +1437,15 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
1057
1437
 
1058
1438
  function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
1059
1439
  let {
1440
+ elements,
1060
1441
  rect,
1061
1442
  offsetParent,
1062
1443
  strategy
1063
1444
  } = _ref;
1064
- const isOffsetParentAnElement = isHTMLElement(offsetParent);
1445
+ const isFixed = strategy === 'fixed';
1065
1446
  const documentElement = getDocumentElement(offsetParent);
1066
- if (offsetParent === documentElement) {
1447
+ const topLayer = elements ? isTopLayer(elements.floating) : false;
1448
+ if (offsetParent === documentElement || topLayer && isFixed) {
1067
1449
  return rect;
1068
1450
  }
1069
1451
  let scroll = {
@@ -1072,7 +1454,8 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
1072
1454
  };
1073
1455
  let scale = createCoords(1);
1074
1456
  const offsets = createCoords(0);
1075
- if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {
1457
+ const isOffsetParentAnElement = isHTMLElement(offsetParent);
1458
+ if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
1076
1459
  if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
1077
1460
  scroll = getNodeScroll(offsetParent);
1078
1461
  }
@@ -1233,7 +1616,7 @@ function getClippingRect(_ref) {
1233
1616
  rootBoundary,
1234
1617
  strategy
1235
1618
  } = _ref;
1236
- const elementClippingAncestors = boundary === 'clippingAncestors' ? getClippingElementAncestors(element, this._c) : [].concat(boundary);
1619
+ const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
1237
1620
  const clippingAncestors = [...elementClippingAncestors, rootBoundary];
1238
1621
  const firstClippingAncestor = clippingAncestors[0];
1239
1622
  const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {
@@ -1253,7 +1636,14 @@ function getClippingRect(_ref) {
1253
1636
  }
1254
1637
 
1255
1638
  function getDimensions(element) {
1256
- return getCssDimensions(element);
1639
+ const {
1640
+ width,
1641
+ height
1642
+ } = getCssDimensions(element);
1643
+ return {
1644
+ width,
1645
+ height
1646
+ };
1257
1647
  }
1258
1648
 
1259
1649
  function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
@@ -1278,14 +1668,20 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
1278
1668
  offsets.x = getWindowScrollBarX(documentElement);
1279
1669
  }
1280
1670
  }
1671
+ const x = rect.left + scroll.scrollLeft - offsets.x;
1672
+ const y = rect.top + scroll.scrollTop - offsets.y;
1281
1673
  return {
1282
- x: rect.left + scroll.scrollLeft - offsets.x,
1283
- y: rect.top + scroll.scrollTop - offsets.y,
1674
+ x,
1675
+ y,
1284
1676
  width: rect.width,
1285
1677
  height: rect.height
1286
1678
  };
1287
1679
  }
1288
1680
 
1681
+ function isStaticPositioned(element) {
1682
+ return getComputedStyle(element).position === 'static';
1683
+ }
1684
+
1289
1685
  function getTrueOffsetParent(element, polyfill) {
1290
1686
  if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {
1291
1687
  return null;
@@ -1299,34 +1695,41 @@ function getTrueOffsetParent(element, polyfill) {
1299
1695
  // Gets the closest ancestor positioned element. Handles some edge cases,
1300
1696
  // such as table ancestors and cross browser bugs.
1301
1697
  function getOffsetParent(element, polyfill) {
1302
- const window = getWindow(element);
1698
+ const win = getWindow(element);
1699
+ if (isTopLayer(element)) {
1700
+ return win;
1701
+ }
1303
1702
  if (!isHTMLElement(element)) {
1304
- return window;
1703
+ let svgOffsetParent = getParentNode(element);
1704
+ while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {
1705
+ if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {
1706
+ return svgOffsetParent;
1707
+ }
1708
+ svgOffsetParent = getParentNode(svgOffsetParent);
1709
+ }
1710
+ return win;
1305
1711
  }
1306
1712
  let offsetParent = getTrueOffsetParent(element, polyfill);
1307
- while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {
1713
+ while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {
1308
1714
  offsetParent = getTrueOffsetParent(offsetParent, polyfill);
1309
1715
  }
1310
- if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {
1311
- return window;
1716
+ if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {
1717
+ return win;
1312
1718
  }
1313
- return offsetParent || getContainingBlock(element) || window;
1719
+ return offsetParent || getContainingBlock(element) || win;
1314
1720
  }
1315
1721
 
1316
- const getElementRects = async function (_ref) {
1317
- let {
1318
- reference,
1319
- floating,
1320
- strategy
1321
- } = _ref;
1722
+ const getElementRects = async function (data) {
1322
1723
  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
1323
1724
  const getDimensionsFn = this.getDimensions;
1725
+ const floatingDimensions = await getDimensionsFn(data.floating);
1324
1726
  return {
1325
- reference: getRectRelativeToOffsetParent(reference, await getOffsetParentFn(floating), strategy),
1727
+ reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),
1326
1728
  floating: {
1327
1729
  x: 0,
1328
1730
  y: 0,
1329
- ...(await getDimensionsFn(floating))
1731
+ width: floatingDimensions.width,
1732
+ height: floatingDimensions.height
1330
1733
  }
1331
1734
  };
1332
1735
  };
@@ -1354,8 +1757,9 @@ function observeMove(element, onMove) {
1354
1757
  let timeoutId;
1355
1758
  const root = getDocumentElement(element);
1356
1759
  function cleanup() {
1760
+ var _io;
1357
1761
  clearTimeout(timeoutId);
1358
- io && io.disconnect();
1762
+ (_io = io) == null || _io.disconnect();
1359
1763
  io = null;
1360
1764
  }
1361
1765
  function refresh(skip, threshold) {
@@ -1395,9 +1799,11 @@ function observeMove(element, onMove) {
1395
1799
  return refresh();
1396
1800
  }
1397
1801
  if (!ratio) {
1802
+ // If the reference is clipped, the ratio is 0. Throttle the refresh
1803
+ // to prevent an infinite loop of updates.
1398
1804
  timeoutId = setTimeout(() => {
1399
1805
  refresh(false, 1e-7);
1400
- }, 100);
1806
+ }, 1000);
1401
1807
  } else {
1402
1808
  refresh(false, ratio);
1403
1809
  }
@@ -1461,7 +1867,8 @@ function autoUpdate(reference, floating, update, options) {
1461
1867
  resizeObserver.unobserve(floating);
1462
1868
  cancelAnimationFrame(reobserveFrame);
1463
1869
  reobserveFrame = requestAnimationFrame(() => {
1464
- resizeObserver && resizeObserver.observe(floating);
1870
+ var _resizeObserver;
1871
+ (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);
1465
1872
  });
1466
1873
  }
1467
1874
  update();
@@ -1486,12 +1893,13 @@ function autoUpdate(reference, floating, update, options) {
1486
1893
  }
1487
1894
  update();
1488
1895
  return () => {
1896
+ var _resizeObserver2;
1489
1897
  ancestors.forEach(ancestor => {
1490
1898
  ancestorScroll && ancestor.removeEventListener('scroll', update);
1491
1899
  ancestorResize && ancestor.removeEventListener('resize', update);
1492
1900
  });
1493
- cleanupIo && cleanupIo();
1494
- resizeObserver && resizeObserver.disconnect();
1901
+ cleanupIo == null || cleanupIo();
1902
+ (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();
1495
1903
  resizeObserver = null;
1496
1904
  if (animationFrame) {
1497
1905
  cancelAnimationFrame(frameId);
@@ -1499,10 +1907,75 @@ function autoUpdate(reference, floating, update, options) {
1499
1907
  };
1500
1908
  }
1501
1909
 
1910
+ /**
1911
+ * Modifies the placement by translating the floating element along the
1912
+ * specified axes.
1913
+ * A number (shorthand for `mainAxis` or distance), or an axes configuration
1914
+ * object may be passed.
1915
+ * @see https://floating-ui.com/docs/offset
1916
+ */
1917
+ const offset = offset$1;
1918
+
1919
+ /**
1920
+ * Optimizes the visibility of the floating element by choosing the placement
1921
+ * that has the most space available automatically, without needing to specify a
1922
+ * preferred placement. Alternative to `flip`.
1923
+ * @see https://floating-ui.com/docs/autoPlacement
1924
+ */
1925
+ autoPlacement;
1926
+
1927
+ /**
1928
+ * Optimizes the visibility of the floating element by shifting it in order to
1929
+ * keep it in view when it will overflow the clipping boundary.
1930
+ * @see https://floating-ui.com/docs/shift
1931
+ */
1932
+ const shift = shift$1;
1933
+
1934
+ /**
1935
+ * Optimizes the visibility of the floating element by flipping the `placement`
1936
+ * in order to keep it in view when the preferred placement(s) will overflow the
1937
+ * clipping boundary. Alternative to `autoPlacement`.
1938
+ * @see https://floating-ui.com/docs/flip
1939
+ */
1940
+ const flip = flip$1;
1941
+
1942
+ /**
1943
+ * Provides data that allows you to change the size of the floating element —
1944
+ * for instance, prevent it from overflowing the clipping boundary or match the
1945
+ * width of the reference element.
1946
+ * @see https://floating-ui.com/docs/size
1947
+ */
1948
+ size;
1949
+
1950
+ /**
1951
+ * Provides data to hide the floating element in applicable situations, such as
1952
+ * when it is not in the same clipping context as the reference element.
1953
+ * @see https://floating-ui.com/docs/hide
1954
+ */
1955
+ const hide = hide$1;
1956
+
1957
+ /**
1958
+ * Provides data to position an inner element of the floating element so that it
1959
+ * appears centered to the reference element.
1960
+ * @see https://floating-ui.com/docs/arrow
1961
+ */
1962
+ const arrow = arrow$1;
1963
+
1964
+ /**
1965
+ * Provides improved positioning for inline reference elements that can span
1966
+ * over multiple lines, such as hyperlinks or range selections.
1967
+ * @see https://floating-ui.com/docs/inline
1968
+ */
1969
+ const inline = inline$1;
1970
+
1971
+ /**
1972
+ * Built-in `limiter` that will stop `shift()` at a certain point.
1973
+ */
1974
+ limitShift;
1975
+
1502
1976
  /**
1503
1977
  * Computes the `x` and `y` coordinates that will place the floating element
1504
- * next to a reference element when it is given a certain CSS positioning
1505
- * strategy.
1978
+ * next to a given reference element.
1506
1979
  */
1507
1980
  const computePosition = (reference, floating, options) => {
1508
1981
  // This caches the expensive `getClippingElementAncestors` function so that
@@ -1523,6 +1996,6 @@ const computePosition = (reference, floating, options) => {
1523
1996
  });
1524
1997
  };
1525
1998
 
1526
- export { autoUpdate as a, arrow as b, computePosition as c, flip as f, inline as i, offset as o, shift as s };
1999
+ export { autoUpdate as a, arrow as b, computePosition as c, flip as f, hide as h, inline as i, offset as o, shift as s };
1527
2000
 
1528
2001
  //# sourceMappingURL=floating-ui.dom.esm.js.map