@oiz/stzh-components 2.2.0-beta → 2.3.0-alpha

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 (851) hide show
  1. package/dist/cjs/{animation-utils-cfa35ce7.js → animation-utils-54d784c2.js} +3 -0
  2. package/dist/cjs/{app-globals-f4ad4e99.js → app-globals-13e786d3.js} +1 -1
  3. package/dist/cjs/{arrow-3c3b0ae5.js → arrow-cd521f34.js} +468 -478
  4. package/dist/cjs/axios-7ec96df7.js +3167 -0
  5. package/dist/cjs/{dom-9deb26c8.js → dom-be1edfde.js} +1 -1
  6. package/dist/cjs/{focus-trap.esm-1cb6bb2e.js → focus-trap.esm-34a1a0d0.js} +188 -278
  7. package/dist/cjs/{index-9fcb4305.js → index-83d427ee.js} +113 -3
  8. package/dist/cjs/loader.cjs.js +5 -4
  9. package/dist/cjs/{shadow-css-bf3843d2.js → shadow-css-54f5c2d9.js} +1 -1
  10. package/dist/cjs/stzh-accordion-item.cjs.entry.js +6 -3
  11. package/dist/cjs/stzh-accordion.cjs.entry.js +1 -1
  12. package/dist/cjs/stzh-actions.cjs.entry.js +1 -1
  13. package/dist/cjs/stzh-actionset.cjs.entry.js +15 -5
  14. package/dist/cjs/stzh-anchornav.cjs.entry.js +2 -2
  15. package/dist/cjs/stzh-appnav.cjs.entry.js +1 -1
  16. package/dist/cjs/stzh-appointments.cjs.entry.js +1 -1
  17. package/dist/cjs/stzh-audio.cjs.entry.js +1 -1
  18. package/dist/cjs/stzh-badge_3.cjs.entry.js +3 -3
  19. package/dist/cjs/stzh-calendar.cjs.entry.js +2 -2
  20. package/dist/cjs/stzh-card_3.cjs.entry.js +47 -12
  21. package/dist/cjs/stzh-cell.cjs.entry.js +1 -1
  22. package/dist/cjs/stzh-chart.cjs.entry.js +1471 -404
  23. package/dist/cjs/stzh-checkbox.cjs.entry.js +3 -3
  24. package/dist/cjs/stzh-checkboxgroup.cjs.entry.js +3 -3
  25. package/dist/cjs/stzh-chip_2.cjs.entry.js +132 -0
  26. package/dist/cjs/stzh-components.cjs.js +27 -5
  27. package/dist/cjs/stzh-contact.cjs.entry.js +91 -0
  28. package/dist/cjs/stzh-container.cjs.entry.js +3 -2
  29. package/dist/cjs/stzh-cspace.cjs.entry.js +2 -2
  30. package/dist/cjs/stzh-datalist_2.cjs.entry.js +33 -13
  31. package/dist/cjs/stzh-datamessagelist-item.cjs.entry.js +4 -3
  32. package/dist/cjs/stzh-datamessagelist.cjs.entry.js +1 -1
  33. package/dist/cjs/stzh-datatable.cjs.entry.js +32 -31
  34. package/dist/cjs/stzh-datepicker_3.cjs.entry.js +4 -4
  35. package/dist/cjs/stzh-details.cjs.entry.js +5 -2
  36. package/dist/cjs/stzh-dialog.cjs.entry.js +6 -6
  37. package/dist/cjs/stzh-dropdown.cjs.entry.js +1057 -426
  38. package/dist/cjs/stzh-fieldset.cjs.entry.js +2 -2
  39. package/dist/cjs/stzh-figure.cjs.entry.js +5 -3
  40. package/dist/cjs/stzh-flyingfocus.cjs.entry.js +2 -2
  41. package/dist/cjs/stzh-footer.cjs.entry.js +2 -2
  42. package/dist/cjs/stzh-ghettobox_2.cjs.entry.js +3 -3
  43. package/dist/cjs/stzh-header.cjs.entry.js +6 -5
  44. package/dist/cjs/stzh-heading.cjs.entry.js +1 -1
  45. package/dist/cjs/stzh-hr.cjs.entry.js +1 -1
  46. package/dist/cjs/stzh-hspace.cjs.entry.js +4 -3
  47. package/dist/cjs/stzh-icon-sprite.cjs.entry.js +1 -1
  48. package/dist/cjs/{stzh-input-description-4326b0d9.js → stzh-input-description-2edc5cac.js} +1 -1
  49. package/dist/cjs/stzh-input.cjs.entry.js +3 -3
  50. package/dist/cjs/stzh-invert.cjs.entry.js +23 -0
  51. package/dist/cjs/stzh-langnav.cjs.entry.js +1 -1
  52. package/dist/cjs/stzh-link.cjs.entry.js +2 -2
  53. package/dist/cjs/stzh-list-item.cjs.entry.js +1 -1
  54. package/dist/cjs/stzh-list.cjs.entry.js +1 -1
  55. package/dist/cjs/stzh-loader.cjs.entry.js +1 -1
  56. package/dist/cjs/stzh-loadingbar.cjs.entry.js +1 -1
  57. package/dist/cjs/stzh-menu_2.cjs.entry.js +2 -2
  58. package/dist/cjs/stzh-message.cjs.entry.js +2 -2
  59. package/dist/cjs/stzh-metanav.cjs.entry.js +1 -1
  60. package/dist/cjs/stzh-microsite-teaserlist.cjs.entry.js +4 -4
  61. package/dist/cjs/stzh-olmap.cjs.entry.js +2 -2
  62. package/dist/cjs/stzh-overlay.cjs.entry.js +2 -2
  63. package/dist/cjs/stzh-page-skiplinks.cjs.entry.js +1 -1
  64. package/dist/cjs/stzh-pagebottom.cjs.entry.js +5 -2
  65. package/dist/cjs/stzh-pagetitle-hero.cjs.entry.js +2 -2
  66. package/dist/cjs/stzh-pagetitle.cjs.entry.js +9 -1
  67. package/dist/cjs/stzh-popover.cjs.entry.js +22 -8
  68. package/dist/cjs/stzh-portal-mitwirken.cjs.entry.js +2 -2
  69. package/dist/cjs/stzh-progressbar-item.cjs.entry.js +6 -4
  70. package/dist/cjs/stzh-progressbar.cjs.entry.js +2 -2
  71. package/dist/cjs/stzh-ratio.cjs.entry.js +26 -0
  72. package/dist/cjs/stzh-readspeaker.cjs.entry.js +1 -1
  73. package/dist/cjs/stzh-row.cjs.entry.js +1 -1
  74. package/dist/cjs/stzh-saptcha.cjs.entry.js +1 -1
  75. package/dist/cjs/stzh-section.cjs.entry.js +1 -1
  76. package/dist/cjs/stzh-share.cjs.entry.js +1 -1
  77. package/dist/cjs/stzh-show.cjs.entry.js +41 -0
  78. package/dist/cjs/stzh-sitemap.cjs.entry.js +2 -2
  79. package/dist/cjs/stzh-skiplink.cjs.entry.js +1 -1
  80. package/dist/cjs/stzh-sortable.cjs.entry.js +10 -66
  81. package/dist/cjs/stzh-space.cjs.entry.js +34 -0
  82. package/dist/cjs/stzh-status.cjs.entry.js +1 -1
  83. package/dist/cjs/stzh-sticky.cjs.entry.js +5 -3
  84. package/dist/cjs/stzh-table.cjs.entry.js +3 -2
  85. package/dist/cjs/stzh-text.cjs.entry.js +2 -2
  86. package/dist/cjs/stzh-textandimage.cjs.entry.js +4 -2
  87. package/dist/cjs/stzh-toggle.cjs.entry.js +3 -3
  88. package/dist/cjs/stzh-tooltip.cjs.entry.js +32 -11
  89. package/dist/cjs/stzh-upload.cjs.entry.js +6 -3
  90. package/dist/cjs/stzh-vbz-linechip.cjs.entry.js +784 -691
  91. package/dist/cjs/stzh-vbz-majorticker.cjs.entry.js +7 -7
  92. package/dist/cjs/stzh-vbz-ticker.cjs.entry.js +3 -3
  93. package/dist/cjs/stzh-visuallyhidden.cjs.entry.js +1 -1
  94. package/dist/cjs/stzh-vspace.cjs.entry.js +4 -3
  95. package/dist/collection/assets/i18n/de.json +10 -7
  96. package/dist/collection/assets/i18n/en.json +11 -8
  97. package/dist/collection/collection-manifest.json +7 -3
  98. package/dist/collection/components/stzh-accordion/stzh-accordion.stories.js +12 -1
  99. package/dist/collection/components/stzh-accordion-item/stzh-accordion-item.css +1 -0
  100. package/dist/collection/components/stzh-accordion-item/stzh-accordion-item.js +3 -0
  101. package/dist/collection/components/stzh-actionset/stzh-actionset.css +11 -0
  102. package/dist/collection/components/stzh-actionset/stzh-actionset.js +18 -8
  103. package/dist/collection/components/stzh-actionset/stzh-actionset.stories.js +5 -5
  104. package/dist/collection/components/stzh-anchornav/stzh-anchornav.css +1 -3
  105. package/dist/collection/components/stzh-button/stzh-button.css +13 -4
  106. package/dist/collection/components/stzh-button/stzh-button.stories.js +21 -17
  107. package/dist/collection/components/stzh-calendar/stzh-calendar.css +1 -0
  108. package/dist/collection/components/stzh-card/stzh-card.css +34 -16
  109. package/dist/collection/components/stzh-card/stzh-card.js +26 -4
  110. package/dist/collection/components/stzh-card/stzh-card.stories.js +1 -1
  111. package/dist/collection/components/stzh-chart/stzh-chart.css +55 -37
  112. package/dist/collection/components/stzh-checkbox/stzh-checkbox.css +1 -0
  113. package/dist/collection/components/stzh-checkboxgroup/stzh-checkboxgroup.css +1 -0
  114. package/dist/collection/components/stzh-chip/stzh-chip.css +68 -6
  115. package/dist/collection/components/stzh-chip/stzh-chip.js +52 -5
  116. package/dist/collection/components/stzh-chip/stzh-chip.stories.js +7 -0
  117. package/dist/collection/components/stzh-chip-select/stzh-chip-select.css +8 -0
  118. package/dist/collection/components/stzh-chip-select/stzh-chip-select.js +41 -4
  119. package/dist/collection/components/stzh-clamp/stzh-clamp.css +5 -0
  120. package/dist/collection/components/{stzh-contactaddress/stzh-contactaddress.css → stzh-contact/stzh-contact.css} +22 -22
  121. package/dist/collection/components/{stzh-contactaddress/stzh-contactaddress.js → stzh-contact/stzh-contact.js} +25 -25
  122. package/dist/collection/components/{stzh-contactaddress/stzh-contactaddress.stories.js → stzh-contact/stzh-contact.stories.js} +10 -9
  123. package/dist/collection/components/stzh-container/stzh-container.css +11 -1
  124. package/dist/collection/components/stzh-container/stzh-container.js +26 -1
  125. package/dist/collection/components/stzh-container/stzh-container.stories.js +6 -1
  126. package/dist/collection/components/stzh-cspace/stzh-cspace.css +136 -43
  127. package/dist/collection/components/stzh-datalist/stzh-datalist.css +12 -0
  128. package/dist/collection/components/stzh-datalist/stzh-datalist.js +19 -0
  129. package/dist/collection/components/stzh-datalist/stzh-datalist.stories.js +2 -1
  130. package/dist/collection/components/stzh-datalist-item/stzh-datalist-item.css +28 -12
  131. package/dist/collection/components/stzh-datalist-item/stzh-datalist-item.js +35 -13
  132. package/dist/collection/components/stzh-datamessagelist-item/stzh-datamessagelist-item.css +11 -0
  133. package/dist/collection/components/stzh-datamessagelist-item/stzh-datamessagelist-item.js +3 -2
  134. package/dist/collection/components/stzh-datatable/stzh-datatable.css +3 -0
  135. package/dist/collection/components/stzh-datatable/stzh-datatable.js +20 -1
  136. package/dist/collection/components/stzh-details/stzh-details.js +3 -0
  137. package/dist/collection/components/stzh-dialog/stzh-dialog.css +1 -0
  138. package/dist/collection/components/stzh-dialog/stzh-dialog.js +3 -3
  139. package/dist/collection/components/stzh-dropdown/stzh-dropdown.css +3 -0
  140. package/dist/collection/components/stzh-dropdown/stzh-dropdown.js +9 -8
  141. package/dist/collection/components/stzh-fieldset/stzh-fieldset.css +1 -0
  142. package/dist/collection/components/stzh-figure/stzh-figure.css +8 -5
  143. package/dist/collection/components/stzh-figure/stzh-figure.js +21 -1
  144. package/dist/collection/components/stzh-footer/stzh-footer.css +1 -0
  145. package/dist/collection/components/stzh-ghettobox/stzh-ghettobox.css +13 -1
  146. package/dist/collection/components/stzh-header/stzh-header.css +5 -1
  147. package/dist/collection/components/stzh-header/stzh-header.js +4 -3
  148. package/dist/collection/components/stzh-header/stzh-header.stories.js +47 -39
  149. package/dist/collection/components/stzh-hspace/stzh-hspace.css +166 -138
  150. package/dist/collection/components/stzh-hspace/stzh-hspace.js +30 -6
  151. package/dist/collection/components/stzh-icon/stzh-icon.js +1 -1
  152. package/dist/collection/components/stzh-input/stzh-input.css +1 -0
  153. package/dist/collection/components/stzh-invert/stzh-invert.css +158 -0
  154. package/dist/collection/components/stzh-invert/stzh-invert.js +25 -0
  155. package/dist/collection/components/stzh-invert/stzh-invert.stories.js +55 -0
  156. package/dist/collection/components/stzh-link/stzh-link.css +1 -0
  157. package/dist/collection/components/stzh-link/stzh-link.stories.js +11 -19
  158. package/dist/collection/components/stzh-menu-item/stzh-menu-item.css +1 -0
  159. package/dist/collection/components/stzh-message/stzh-message.css +1 -0
  160. package/dist/collection/components/stzh-microsite-teaserlist/stzh-microsite-teaserlist.js +1 -1
  161. package/dist/collection/components/stzh-olmap/stzh-olmap.js +1 -1
  162. package/dist/collection/components/stzh-pagebottom/stzh-pagebottom.js +4 -1
  163. package/dist/collection/components/stzh-pagebottom/stzh-pagebottom.stories.js +1 -1
  164. package/dist/collection/components/stzh-pagetitle/stzh-pagetitle.js +8 -0
  165. package/dist/collection/components/stzh-pagetitle/stzh-pagetitle.stories.js +6 -6
  166. package/dist/collection/components/stzh-pagetitle-hero/stzh-pagetitle-hero.css +14 -1
  167. package/dist/collection/components/stzh-pagetitle-hero/stzh-pagetitle-hero.stories.js +4 -6
  168. package/dist/collection/components/stzh-popover/stzh-popover.css +3 -1
  169. package/dist/collection/components/stzh-popover/stzh-popover.js +18 -4
  170. package/dist/collection/components/stzh-popover/stzh-popover.stories.js +5 -7
  171. package/dist/collection/components/stzh-portal-mitwirken/stzh-portal-mitwirken.css +34 -9
  172. package/dist/collection/components/stzh-progressbar/stzh-progressbar.js +2 -2
  173. package/dist/collection/components/stzh-progressbar/stzh-progressbar.stories.js +2 -1
  174. package/dist/collection/components/stzh-progressbar-item/stzh-progressbar-item.css +147 -10
  175. package/dist/collection/components/stzh-progressbar-item/stzh-progressbar-item.js +22 -2
  176. package/dist/collection/components/stzh-radio/stzh-radio.css +1 -0
  177. package/dist/collection/components/stzh-radiogroup/stzh-radiogroup.css +1 -0
  178. package/dist/collection/components/stzh-ratio/stzh-ratio.css +172 -0
  179. package/dist/collection/components/stzh-ratio/stzh-ratio.js +88 -0
  180. package/dist/collection/components/stzh-ratio/stzh-ratio.stories.js +35 -0
  181. package/dist/collection/components/stzh-richtext/stzh-richtext.css +10 -5
  182. package/dist/collection/components/stzh-show/stzh-show.css +165 -0
  183. package/dist/collection/components/stzh-show/stzh-show.js +158 -0
  184. package/dist/collection/components/stzh-show/stzh-show.stories.js +52 -0
  185. package/dist/collection/components/stzh-sitemap/stzh-sitemap.css +1 -1
  186. package/dist/collection/components/stzh-sortable/stzh-sortable.js +6 -3
  187. package/dist/collection/components/stzh-space/stzh-space.css +842 -0
  188. package/dist/collection/components/stzh-space/stzh-space.js +262 -0
  189. package/dist/collection/components/stzh-space/stzh-space.stories.js +76 -0
  190. package/dist/collection/components/stzh-sticky/stzh-sticky.css +9 -0
  191. package/dist/collection/components/stzh-sticky/stzh-sticky.js +21 -1
  192. package/dist/collection/components/stzh-sticky/stzh-sticky.stories.js +3 -1
  193. package/dist/collection/components/stzh-table/stzh-table.css +3 -0
  194. package/dist/collection/components/stzh-table/stzh-table.js +19 -0
  195. package/dist/collection/components/stzh-text/stzh-text.css +2 -2
  196. package/dist/collection/components/stzh-textandimage/stzh-textandimage.css +38 -2
  197. package/dist/collection/components/stzh-textandimage/stzh-textandimage.js +20 -0
  198. package/dist/collection/components/stzh-toggle/stzh-toggle.css +1 -0
  199. package/dist/collection/components/stzh-tooltip/stzh-tooltip.css +1 -0
  200. package/dist/collection/components/stzh-tooltip/stzh-tooltip.js +28 -7
  201. package/dist/collection/components/stzh-upload/stzh-upload.css +1 -0
  202. package/dist/collection/components/stzh-upload/stzh-upload.js +3 -0
  203. package/dist/collection/components/stzh-vbz-linechip/stzh-vbz-linechip.js +2 -1
  204. package/dist/collection/components/stzh-vspace/stzh-vspace.css +157 -129
  205. package/dist/collection/components/stzh-vspace/stzh-vspace.js +30 -6
  206. package/dist/collection/pages/egov.stories.js +191 -183
  207. package/dist/collection/pages/meinkonto.stories.js +368 -512
  208. package/dist/collection/pages/microsite.stories.js +235 -0
  209. package/dist/collection/pages/website.stories.js +139 -0
  210. package/dist/collection/patterns/appointments.stories.js +2 -2
  211. package/dist/collection/patterns/contact.stories.js +67 -41
  212. package/dist/collection/patterns/contactform.stories.js +2 -2
  213. package/dist/collection/patterns/jobdetails.stories.js +151 -0
  214. package/dist/collection/patterns/subpages.stories.js +6 -6
  215. package/dist/collection/patterns/twocolumns.stories.js +46 -0
  216. package/dist/collection/utils/animation-utils.js +3 -0
  217. package/dist/components/animation-utils.js +3 -0
  218. package/dist/components/arrow.js +468 -478
  219. package/dist/components/axios.js +3165 -0
  220. package/dist/components/date-utils.js +159 -0
  221. package/dist/components/focus-trap.esm.js +188 -278
  222. package/dist/components/index.d.ts +14 -1
  223. package/dist/components/index.js +7 -3
  224. package/dist/components/stzh-accordion-item.js +4 -1
  225. package/dist/components/stzh-actionset2.js +16 -6
  226. package/dist/components/stzh-anchornav.js +1 -1
  227. package/dist/components/stzh-appointments.js +2 -1
  228. package/dist/components/stzh-button2.js +1 -1
  229. package/dist/components/stzh-calendar2.js +3 -160
  230. package/dist/components/stzh-card2.js +9 -5
  231. package/dist/components/stzh-chart.js +1470 -403
  232. package/dist/components/stzh-checkbox.js +1 -1
  233. package/dist/components/stzh-checkboxgroup.js +1 -1
  234. package/dist/components/stzh-chip-select2.js +47 -8
  235. package/dist/components/stzh-chip2.js +26 -6
  236. package/dist/components/stzh-clamp2.js +1 -1
  237. package/dist/components/{stzh-contactaddress.d.ts → stzh-contact.d.ts} +4 -4
  238. package/dist/components/stzh-contact.js +157 -0
  239. package/dist/components/stzh-container.js +5 -2
  240. package/dist/components/stzh-cspace.js +1 -1
  241. package/dist/components/stzh-datalist-item2.js +30 -11
  242. package/dist/components/stzh-datalist2.js +3 -1
  243. package/dist/components/stzh-datamessagelist-item.js +3 -2
  244. package/dist/components/stzh-datatable.js +32 -30
  245. package/dist/components/stzh-datepicker2.js +2 -1
  246. package/dist/components/stzh-details.js +3 -0
  247. package/dist/components/stzh-dialog.js +4 -4
  248. package/dist/components/stzh-dropdown2.js +1055 -424
  249. package/dist/components/stzh-fieldset.js +1 -1
  250. package/dist/components/stzh-figure.js +6 -3
  251. package/dist/components/stzh-footer.js +1 -1
  252. package/dist/components/stzh-ghettobox2.js +1 -1
  253. package/dist/components/stzh-header.js +5 -4
  254. package/dist/components/stzh-hspace.js +8 -5
  255. package/dist/components/stzh-icon2.js +1 -1
  256. package/dist/components/stzh-input2.js +1 -1
  257. package/dist/components/stzh-invert.d.ts +11 -0
  258. package/dist/components/stzh-invert.js +36 -0
  259. package/dist/components/stzh-link2.js +1 -1
  260. package/dist/components/stzh-menu-item2.js +1 -1
  261. package/dist/components/stzh-message.js +1 -1
  262. package/dist/components/stzh-microsite-teaserlist.js +2 -2
  263. package/dist/components/stzh-olmap.js +1 -1
  264. package/dist/components/stzh-pagebottom.js +4 -1
  265. package/dist/components/stzh-pagetitle-hero.js +1 -1
  266. package/dist/components/stzh-pagetitle.js +8 -0
  267. package/dist/components/stzh-popover2.js +18 -4
  268. package/dist/components/stzh-portal-mitwirken.js +1 -1
  269. package/dist/components/stzh-progressbar-item2.js +6 -3
  270. package/dist/components/stzh-progressbar.js +1 -1
  271. package/dist/components/stzh-radio2.js +1 -1
  272. package/dist/components/stzh-radiogroup2.js +1 -1
  273. package/dist/components/stzh-ratio.d.ts +11 -0
  274. package/dist/components/stzh-ratio.js +43 -0
  275. package/dist/components/stzh-richtext2.js +1 -1
  276. package/dist/components/stzh-show.d.ts +11 -0
  277. package/dist/components/stzh-show.js +62 -0
  278. package/dist/components/stzh-sitemap.js +1 -1
  279. package/dist/components/stzh-sortable2.js +9 -65
  280. package/dist/components/stzh-space.d.ts +11 -0
  281. package/dist/components/stzh-space.js +59 -0
  282. package/dist/components/stzh-sticky.js +5 -2
  283. package/dist/components/stzh-table.js +3 -1
  284. package/dist/components/stzh-text2.js +1 -1
  285. package/dist/components/stzh-textandimage.js +4 -1
  286. package/dist/components/stzh-toggle.js +1 -1
  287. package/dist/components/stzh-tooltip2.js +28 -7
  288. package/dist/components/stzh-upload.js +4 -1
  289. package/dist/components/stzh-vbz-linechip2.js +774 -681
  290. package/dist/components/stzh-vbz-majorticker.js +1 -1
  291. package/dist/components/stzh-vbz-ticker.js +1 -1
  292. package/dist/components/stzh-vspace.js +8 -5
  293. package/dist/esm/{animation-utils-25c74e5b.js → animation-utils-e234a5f8.js} +3 -0
  294. package/dist/esm/{app-globals-17c2ba8d.js → app-globals-2e508622.js} +1 -1
  295. package/dist/esm/{arrow-86a679c7.js → arrow-480bc86f.js} +468 -478
  296. package/dist/esm/axios-e2b39666.js +3165 -0
  297. package/dist/esm/{dom-6be6f662.js → dom-c525f6e4.js} +1 -1
  298. package/dist/esm/{focus-trap.esm-074705a3.js → focus-trap.esm-82634dec.js} +188 -278
  299. package/dist/esm/{index-011c84fe.js → index-319b7c49.js} +112 -4
  300. package/dist/esm/loader.js +5 -4
  301. package/dist/esm/polyfills/css-shim.js +1 -1
  302. package/dist/esm/{shadow-css-ed4599f8.js → shadow-css-abbdeef8.js} +1 -1
  303. package/dist/esm/stzh-accordion-item.entry.js +6 -3
  304. package/dist/esm/stzh-accordion.entry.js +1 -1
  305. package/dist/esm/stzh-actions.entry.js +1 -1
  306. package/dist/esm/stzh-actionset.entry.js +16 -6
  307. package/dist/esm/stzh-anchornav.entry.js +2 -2
  308. package/dist/esm/stzh-appnav.entry.js +1 -1
  309. package/dist/esm/stzh-appointments.entry.js +1 -1
  310. package/dist/esm/stzh-audio.entry.js +1 -1
  311. package/dist/esm/stzh-badge_3.entry.js +3 -3
  312. package/dist/esm/stzh-calendar.entry.js +2 -2
  313. package/dist/esm/stzh-card_3.entry.js +47 -12
  314. package/dist/esm/stzh-cell.entry.js +1 -1
  315. package/dist/esm/stzh-chart.entry.js +1471 -404
  316. package/dist/esm/stzh-checkbox.entry.js +3 -3
  317. package/dist/esm/stzh-checkboxgroup.entry.js +3 -3
  318. package/dist/esm/stzh-chip_2.entry.js +127 -0
  319. package/dist/esm/stzh-components.js +24 -5
  320. package/dist/esm/stzh-contact.entry.js +87 -0
  321. package/dist/esm/stzh-container.entry.js +3 -2
  322. package/dist/esm/stzh-cspace.entry.js +2 -2
  323. package/dist/esm/stzh-datalist_2.entry.js +33 -13
  324. package/dist/esm/stzh-datamessagelist-item.entry.js +4 -3
  325. package/dist/esm/stzh-datamessagelist.entry.js +1 -1
  326. package/dist/esm/stzh-datatable.entry.js +32 -31
  327. package/dist/esm/stzh-datepicker_3.entry.js +4 -4
  328. package/dist/esm/stzh-details.entry.js +5 -2
  329. package/dist/esm/stzh-dialog.entry.js +6 -6
  330. package/dist/esm/stzh-dropdown.entry.js +1057 -426
  331. package/dist/esm/stzh-fieldset.entry.js +2 -2
  332. package/dist/esm/stzh-figure.entry.js +5 -3
  333. package/dist/esm/stzh-flyingfocus.entry.js +2 -2
  334. package/dist/esm/stzh-footer.entry.js +2 -2
  335. package/dist/esm/stzh-ghettobox_2.entry.js +3 -3
  336. package/dist/esm/stzh-header.entry.js +6 -5
  337. package/dist/esm/stzh-heading.entry.js +1 -1
  338. package/dist/esm/stzh-hr.entry.js +1 -1
  339. package/dist/esm/stzh-hspace.entry.js +4 -3
  340. package/dist/esm/stzh-icon-sprite.entry.js +1 -1
  341. package/dist/esm/{stzh-input-description-bdd1e340.js → stzh-input-description-cc38e214.js} +1 -1
  342. package/dist/esm/stzh-input.entry.js +3 -3
  343. package/dist/esm/stzh-invert.entry.js +19 -0
  344. package/dist/esm/stzh-langnav.entry.js +1 -1
  345. package/dist/esm/stzh-link.entry.js +2 -2
  346. package/dist/esm/stzh-list-item.entry.js +1 -1
  347. package/dist/esm/stzh-list.entry.js +1 -1
  348. package/dist/esm/stzh-loader.entry.js +1 -1
  349. package/dist/esm/stzh-loadingbar.entry.js +1 -1
  350. package/dist/esm/stzh-menu_2.entry.js +2 -2
  351. package/dist/esm/stzh-message.entry.js +2 -2
  352. package/dist/esm/stzh-metanav.entry.js +1 -1
  353. package/dist/esm/stzh-microsite-teaserlist.entry.js +3 -3
  354. package/dist/esm/stzh-olmap.entry.js +2 -2
  355. package/dist/esm/stzh-overlay.entry.js +2 -2
  356. package/dist/esm/stzh-page-skiplinks.entry.js +1 -1
  357. package/dist/esm/stzh-pagebottom.entry.js +5 -2
  358. package/dist/esm/stzh-pagetitle-hero.entry.js +2 -2
  359. package/dist/esm/stzh-pagetitle.entry.js +9 -1
  360. package/dist/esm/stzh-popover.entry.js +22 -8
  361. package/dist/esm/stzh-portal-mitwirken.entry.js +2 -2
  362. package/dist/esm/stzh-progressbar-item.entry.js +6 -4
  363. package/dist/esm/stzh-progressbar.entry.js +2 -2
  364. package/dist/esm/stzh-ratio.entry.js +22 -0
  365. package/dist/esm/stzh-readspeaker.entry.js +1 -1
  366. package/dist/esm/stzh-row.entry.js +1 -1
  367. package/dist/esm/stzh-saptcha.entry.js +1 -1
  368. package/dist/esm/stzh-section.entry.js +1 -1
  369. package/dist/esm/stzh-share.entry.js +1 -1
  370. package/dist/esm/stzh-show.entry.js +37 -0
  371. package/dist/esm/stzh-sitemap.entry.js +2 -2
  372. package/dist/esm/stzh-skiplink.entry.js +1 -1
  373. package/dist/esm/stzh-sortable.entry.js +10 -66
  374. package/dist/esm/stzh-space.entry.js +30 -0
  375. package/dist/esm/stzh-status.entry.js +1 -1
  376. package/dist/esm/stzh-sticky.entry.js +5 -3
  377. package/dist/esm/stzh-table.entry.js +3 -2
  378. package/dist/esm/stzh-text.entry.js +2 -2
  379. package/dist/esm/stzh-textandimage.entry.js +4 -2
  380. package/dist/esm/stzh-toggle.entry.js +3 -3
  381. package/dist/esm/stzh-tooltip.entry.js +32 -11
  382. package/dist/esm/stzh-upload.entry.js +6 -3
  383. package/dist/esm/stzh-vbz-linechip.entry.js +785 -692
  384. package/dist/esm/stzh-vbz-majorticker.entry.js +2 -2
  385. package/dist/esm/stzh-vbz-ticker.entry.js +2 -2
  386. package/dist/esm/stzh-visuallyhidden.entry.js +1 -1
  387. package/dist/esm/stzh-vspace.entry.js +4 -3
  388. package/dist/esm-es5/animation-utils-e234a5f8.js +1 -0
  389. package/dist/esm-es5/app-globals-2e508622.js +1 -0
  390. package/dist/esm-es5/arrow-480bc86f.js +1 -0
  391. package/dist/esm-es5/axios-e2b39666.js +1 -0
  392. package/dist/esm-es5/{dom-6be6f662.js → dom-c525f6e4.js} +0 -0
  393. package/dist/esm-es5/focus-trap.esm-82634dec.js +9 -0
  394. package/dist/esm-es5/index-319b7c49.js +2 -0
  395. package/dist/esm-es5/loader.js +1 -1
  396. package/dist/esm-es5/{shadow-css-ed4599f8.js → shadow-css-abbdeef8.js} +0 -0
  397. package/dist/esm-es5/stzh-accordion-item.entry.js +1 -1
  398. package/dist/esm-es5/stzh-accordion.entry.js +1 -1
  399. package/dist/esm-es5/stzh-actions.entry.js +1 -1
  400. package/dist/esm-es5/stzh-actionset.entry.js +1 -1
  401. package/dist/esm-es5/stzh-anchornav.entry.js +1 -1
  402. package/dist/esm-es5/stzh-appnav.entry.js +1 -1
  403. package/dist/esm-es5/stzh-appointments.entry.js +1 -1
  404. package/dist/esm-es5/stzh-audio.entry.js +1 -1
  405. package/dist/esm-es5/stzh-badge_3.entry.js +1 -1
  406. package/dist/esm-es5/stzh-calendar.entry.js +1 -1
  407. package/dist/esm-es5/stzh-card_3.entry.js +1 -1
  408. package/dist/esm-es5/stzh-cell.entry.js +1 -1
  409. package/dist/esm-es5/stzh-chart.entry.js +3 -3
  410. package/dist/esm-es5/stzh-checkbox.entry.js +1 -1
  411. package/dist/esm-es5/stzh-checkboxgroup.entry.js +1 -1
  412. package/dist/esm-es5/stzh-chip_2.entry.js +1 -0
  413. package/dist/esm-es5/stzh-components.js +1 -1
  414. package/dist/esm-es5/stzh-contact.entry.js +1 -0
  415. package/dist/esm-es5/stzh-container.entry.js +1 -1
  416. package/dist/esm-es5/stzh-cspace.entry.js +1 -1
  417. package/dist/esm-es5/stzh-datalist_2.entry.js +1 -1
  418. package/dist/esm-es5/stzh-datamessagelist-item.entry.js +1 -1
  419. package/dist/esm-es5/stzh-datamessagelist.entry.js +1 -1
  420. package/dist/esm-es5/stzh-datatable.entry.js +4 -4
  421. package/dist/esm-es5/stzh-datepicker_3.entry.js +1 -1
  422. package/dist/esm-es5/stzh-details.entry.js +1 -1
  423. package/dist/esm-es5/stzh-dialog.entry.js +1 -1
  424. package/dist/esm-es5/stzh-dropdown.entry.js +9 -1
  425. package/dist/esm-es5/stzh-fieldset.entry.js +1 -1
  426. package/dist/esm-es5/stzh-figure.entry.js +1 -1
  427. package/dist/esm-es5/stzh-flyingfocus.entry.js +1 -1
  428. package/dist/esm-es5/stzh-footer.entry.js +1 -1
  429. package/dist/esm-es5/stzh-ghettobox_2.entry.js +1 -1
  430. package/dist/esm-es5/stzh-header.entry.js +1 -1
  431. package/dist/esm-es5/stzh-heading.entry.js +1 -1
  432. package/dist/esm-es5/stzh-hr.entry.js +1 -1
  433. package/dist/esm-es5/stzh-hspace.entry.js +1 -1
  434. package/dist/esm-es5/stzh-icon-sprite.entry.js +1 -1
  435. package/dist/esm-es5/{stzh-input-description-bdd1e340.js → stzh-input-description-cc38e214.js} +1 -1
  436. package/dist/esm-es5/stzh-input.entry.js +1 -1
  437. package/dist/esm-es5/stzh-invert.entry.js +1 -0
  438. package/dist/esm-es5/stzh-langnav.entry.js +1 -1
  439. package/dist/esm-es5/stzh-link.entry.js +1 -1
  440. package/dist/esm-es5/stzh-list-item.entry.js +1 -1
  441. package/dist/esm-es5/stzh-list.entry.js +1 -1
  442. package/dist/esm-es5/stzh-loader.entry.js +1 -1
  443. package/dist/esm-es5/stzh-loadingbar.entry.js +1 -1
  444. package/dist/esm-es5/stzh-menu_2.entry.js +1 -1
  445. package/dist/esm-es5/stzh-message.entry.js +1 -1
  446. package/dist/esm-es5/stzh-metanav.entry.js +1 -1
  447. package/dist/esm-es5/stzh-microsite-teaserlist.entry.js +1 -1
  448. package/dist/esm-es5/stzh-olmap.entry.js +2 -2
  449. package/dist/esm-es5/stzh-overlay.entry.js +1 -1
  450. package/dist/esm-es5/stzh-page-skiplinks.entry.js +1 -1
  451. package/dist/esm-es5/stzh-pagebottom.entry.js +1 -1
  452. package/dist/esm-es5/stzh-pagetitle-hero.entry.js +1 -1
  453. package/dist/esm-es5/stzh-pagetitle.entry.js +1 -1
  454. package/dist/esm-es5/stzh-popover.entry.js +1 -1
  455. package/dist/esm-es5/stzh-portal-mitwirken.entry.js +1 -1
  456. package/dist/esm-es5/stzh-progressbar-item.entry.js +1 -1
  457. package/dist/esm-es5/stzh-progressbar.entry.js +1 -1
  458. package/dist/esm-es5/stzh-ratio.entry.js +1 -0
  459. package/dist/esm-es5/stzh-readspeaker.entry.js +1 -1
  460. package/dist/esm-es5/stzh-row.entry.js +1 -1
  461. package/dist/esm-es5/stzh-saptcha.entry.js +1 -1
  462. package/dist/esm-es5/stzh-section.entry.js +1 -1
  463. package/dist/esm-es5/stzh-share.entry.js +1 -1
  464. package/dist/esm-es5/stzh-show.entry.js +1 -0
  465. package/dist/esm-es5/stzh-sitemap.entry.js +1 -1
  466. package/dist/esm-es5/stzh-skiplink.entry.js +1 -1
  467. package/dist/esm-es5/stzh-sortable.entry.js +2 -2
  468. package/dist/esm-es5/stzh-space.entry.js +1 -0
  469. package/dist/esm-es5/stzh-status.entry.js +1 -1
  470. package/dist/esm-es5/stzh-sticky.entry.js +1 -1
  471. package/dist/esm-es5/stzh-table.entry.js +1 -1
  472. package/dist/esm-es5/stzh-text.entry.js +1 -1
  473. package/dist/esm-es5/stzh-textandimage.entry.js +1 -1
  474. package/dist/esm-es5/stzh-toggle.entry.js +1 -1
  475. package/dist/esm-es5/stzh-tooltip.entry.js +1 -1
  476. package/dist/esm-es5/stzh-upload.entry.js +1 -1
  477. package/dist/esm-es5/stzh-vbz-linechip.entry.js +1 -1
  478. package/dist/esm-es5/stzh-vbz-majorticker.entry.js +1 -1
  479. package/dist/esm-es5/stzh-vbz-ticker.entry.js +1 -1
  480. package/dist/esm-es5/stzh-visuallyhidden.entry.js +1 -1
  481. package/dist/esm-es5/stzh-vspace.entry.js +1 -1
  482. package/dist/esm-es5/translation-utils-2623783f.js +1 -1
  483. package/dist/stzh-components/assets/i18n/de.json +10 -7
  484. package/dist/stzh-components/assets/i18n/en.json +11 -8
  485. package/dist/stzh-components/p-00c4c8c0.system.entry.js +1 -0
  486. package/dist/stzh-components/p-013d269a.system.entry.js +1 -0
  487. package/dist/stzh-components/p-0447b178.system.entry.js +1 -0
  488. package/dist/stzh-components/p-04d390eb.entry.js +1 -0
  489. package/dist/stzh-components/p-06f5abab.system.entry.js +1 -0
  490. package/dist/stzh-components/{p-9176246f.entry.js → p-0930004d.entry.js} +1 -1
  491. package/dist/stzh-components/p-09f582cd.entry.js +1 -0
  492. package/dist/stzh-components/p-0a2de4e8.entry.js +1 -0
  493. package/dist/stzh-components/p-0ada0b0a.system.entry.js +1 -0
  494. package/dist/stzh-components/p-0af8a184.system.entry.js +1 -0
  495. package/dist/stzh-components/p-0afba769.entry.js +1 -0
  496. package/dist/stzh-components/p-0ce8b383.system.js +1 -0
  497. package/dist/stzh-components/p-0f882e26.system.entry.js +1 -0
  498. package/dist/stzh-components/{p-fbf2f4ed.system.entry.js → p-101f9b11.system.entry.js} +1 -1
  499. package/dist/stzh-components/{p-cff8376e.entry.js → p-12564ee4.entry.js} +1 -1
  500. package/dist/stzh-components/p-125a8244.entry.js +1 -0
  501. package/dist/stzh-components/{p-bee6eef5.entry.js → p-126a0f14.entry.js} +1 -1
  502. package/dist/stzh-components/p-12e03b78.system.entry.js +1 -0
  503. package/dist/stzh-components/{p-30ae5c00.system.entry.js → p-16b3d4ee.system.entry.js} +1 -1
  504. package/dist/stzh-components/p-1783b15a.js +12 -0
  505. package/dist/stzh-components/p-1c2c9ca8.entry.js +1 -0
  506. package/dist/stzh-components/p-1f925e84.system.entry.js +1 -0
  507. package/dist/stzh-components/p-20bd79d0.entry.js +1 -0
  508. package/dist/stzh-components/p-246cd179.js +1 -0
  509. package/dist/stzh-components/p-26889a91.entry.js +9 -0
  510. package/dist/stzh-components/p-2ad73c0c.system.entry.js +1 -0
  511. package/dist/stzh-components/p-2b67b0b3.system.entry.js +9 -0
  512. package/dist/stzh-components/p-2ba88798.entry.js +1 -0
  513. package/dist/stzh-components/{p-60274e67.system.entry.js → p-2c490268.system.entry.js} +1 -1
  514. package/dist/stzh-components/p-2e6ef670.entry.js +1 -0
  515. package/dist/stzh-components/p-2f4448c9.system.entry.js +1 -0
  516. package/dist/stzh-components/{p-376946bc.entry.js → p-2f4c5e18.entry.js} +1 -1
  517. package/dist/stzh-components/p-3238b0bf.entry.js +1 -0
  518. package/dist/stzh-components/p-36e72c1d.system.js +2 -0
  519. package/dist/stzh-components/{p-fd265f3a.entry.js → p-38e7645a.entry.js} +1 -1
  520. package/dist/stzh-components/{p-ed6adb96.entry.js → p-3b00d8b8.entry.js} +1 -1
  521. package/dist/stzh-components/p-3e433996.entry.js +1 -0
  522. package/dist/stzh-components/p-3f676d99.system.entry.js +1 -0
  523. package/dist/stzh-components/{p-0c8427bc.entry.js → p-40798ed2.entry.js} +1 -1
  524. package/dist/stzh-components/p-418e04f7.system.entry.js +1 -0
  525. package/dist/stzh-components/{p-3145cd2f.entry.js → p-41fa7e81.entry.js} +1 -1
  526. package/dist/stzh-components/p-4370efe7.entry.js +1 -0
  527. package/dist/stzh-components/p-444b2baf.entry.js +1 -0
  528. package/dist/stzh-components/p-44b03dbb.js +10 -0
  529. package/dist/stzh-components/{p-2577ca1e.system.entry.js → p-44d10402.system.entry.js} +1 -1
  530. package/dist/stzh-components/{p-ed0d51b6.entry.js → p-46d07ed7.entry.js} +1 -1
  531. package/dist/stzh-components/p-470182bb.system.entry.js +1 -0
  532. package/dist/stzh-components/{p-669896ec.entry.js → p-48dee587.entry.js} +1 -1
  533. package/dist/stzh-components/p-48e835cf.system.js +1 -0
  534. package/dist/stzh-components/{p-55b7cda7.system.entry.js → p-4a298117.system.entry.js} +1 -1
  535. package/dist/stzh-components/p-4a60b27f.entry.js +1 -0
  536. package/dist/stzh-components/p-4d8c81b2.system.entry.js +1 -0
  537. package/dist/stzh-components/p-5011f10c.js +1 -0
  538. package/dist/stzh-components/{p-f027e569.system.entry.js → p-512c38b3.system.entry.js} +1 -1
  539. package/dist/stzh-components/p-51b3a560.system.entry.js +1 -0
  540. package/dist/stzh-components/p-537adcfe.system.entry.js +3 -0
  541. package/dist/stzh-components/{p-13051e1c.js → p-538882c8.js} +0 -0
  542. package/dist/stzh-components/{p-6267a327.system.js → p-5494f37d.system.js} +1 -1
  543. package/dist/stzh-components/p-55752bd5.system.entry.js +1 -0
  544. package/dist/stzh-components/p-563b1abc.system.entry.js +1 -0
  545. package/dist/stzh-components/p-59793ef8.system.entry.js +1 -0
  546. package/dist/stzh-components/{p-6a0a76b3.entry.js → p-5b162e4f.entry.js} +1 -1
  547. package/dist/stzh-components/{p-0409bf6b.system.entry.js → p-5c717080.system.entry.js} +1 -1
  548. package/dist/stzh-components/p-5cb1cd93.system.entry.js +1 -0
  549. package/dist/stzh-components/p-5f9b58fb.system.entry.js +1 -0
  550. package/dist/stzh-components/{p-e7cf6c45.system.entry.js → p-617ece76.system.entry.js} +1 -1
  551. package/dist/stzh-components/{p-104df3a8.system.entry.js → p-6414454e.system.entry.js} +1 -1
  552. package/dist/stzh-components/p-6496df0a.system.entry.js +9 -0
  553. package/dist/stzh-components/p-64cdef2f.entry.js +1 -0
  554. package/dist/stzh-components/p-64e27ac1.entry.js +1 -0
  555. package/dist/stzh-components/p-655e3c46.system.entry.js +1 -0
  556. package/dist/stzh-components/{p-b0d8866d.entry.js → p-65ea23f6.entry.js} +1 -1
  557. package/dist/stzh-components/p-668b4025.system.entry.js +1 -0
  558. package/dist/stzh-components/{p-f03ce92d.system.entry.js → p-6722e89a.system.entry.js} +1 -1
  559. package/dist/stzh-components/p-67ae4994.entry.js +1 -0
  560. package/dist/stzh-components/{p-f39f347c.system.js → p-6845b6ac.system.js} +0 -0
  561. package/dist/stzh-components/p-6adc5f0c.system.entry.js +1 -0
  562. package/dist/stzh-components/p-6c80b920.system.entry.js +1 -0
  563. package/dist/stzh-components/p-6dbf976b.entry.js +1 -0
  564. package/dist/stzh-components/{p-eade9f77.entry.js → p-6e3231ce.entry.js} +1 -1
  565. package/dist/stzh-components/p-705aa56d.entry.js +1 -0
  566. package/dist/stzh-components/{p-288ee536.system.entry.js → p-70f85be3.system.entry.js} +1 -1
  567. package/dist/stzh-components/{p-62a2684d.entry.js → p-7185f634.entry.js} +1 -1
  568. package/dist/stzh-components/{p-11d7b426.system.entry.js → p-74d6e349.system.entry.js} +1 -1
  569. package/dist/stzh-components/p-77d0a54b.system.entry.js +1 -0
  570. package/dist/stzh-components/p-7b0c04b3.system.entry.js +1 -0
  571. package/dist/stzh-components/{p-2b5b1e4a.system.entry.js → p-7e4261ce.system.entry.js} +2 -2
  572. package/dist/stzh-components/{p-f5db6234.entry.js → p-7e94b787.entry.js} +1 -1
  573. package/dist/stzh-components/{p-df5f49b4.js → p-7f0fb35c.js} +1 -1
  574. package/dist/stzh-components/{p-44e0b101.system.entry.js → p-7f1b7b44.system.entry.js} +1 -1
  575. package/dist/stzh-components/{p-97e16665.system.entry.js → p-80f497d8.system.entry.js} +1 -1
  576. package/dist/stzh-components/p-81b4b0e6.system.entry.js +1 -0
  577. package/dist/stzh-components/{p-8cc119d3.system.entry.js → p-8361c9d8.system.entry.js} +1 -1
  578. package/dist/stzh-components/{p-cc720d2d.entry.js → p-838b0542.entry.js} +1 -1
  579. package/dist/stzh-components/p-862e7723.system.entry.js +1 -0
  580. package/dist/stzh-components/{p-49b292df.entry.js → p-86336227.entry.js} +1 -1
  581. package/dist/stzh-components/p-8715198b.entry.js +1 -0
  582. package/dist/stzh-components/p-8972cf20.entry.js +1 -0
  583. package/dist/stzh-components/p-8c5a6832.system.entry.js +1 -0
  584. package/dist/stzh-components/p-8caafed2.system.entry.js +1 -0
  585. package/dist/stzh-components/p-8ccefd49.system.entry.js +1 -0
  586. package/dist/stzh-components/p-8ee705ed.entry.js +1 -0
  587. package/dist/stzh-components/p-906caf97.js +1 -0
  588. package/dist/stzh-components/{p-9e4e0cc9.entry.js → p-923dffc7.entry.js} +1 -1
  589. package/dist/stzh-components/p-9380fb85.entry.js +1 -0
  590. package/dist/stzh-components/p-97e4272b.system.entry.js +1 -0
  591. package/dist/stzh-components/p-990f395b.entry.js +1 -0
  592. package/dist/stzh-components/p-99a3742a.js +2 -0
  593. package/dist/stzh-components/p-99aacd74.entry.js +1 -0
  594. package/dist/stzh-components/p-99b82949.entry.js +1 -0
  595. package/dist/stzh-components/p-99e27f57.system.js +1 -0
  596. package/dist/stzh-components/{p-576e1345.entry.js → p-99e43fb0.entry.js} +1 -1
  597. package/dist/stzh-components/p-9be29697.entry.js +1 -0
  598. package/dist/stzh-components/{p-eb6d3e6c.entry.js → p-9c35c9cd.entry.js} +1 -1
  599. package/dist/stzh-components/{p-33f80cd2.system.entry.js → p-9d5c70ee.system.entry.js} +1 -1
  600. package/dist/stzh-components/p-9e30ee4a.system.js +10 -0
  601. package/dist/stzh-components/{p-94830f96.system.entry.js → p-a0a033bd.system.entry.js} +1 -1
  602. package/dist/stzh-components/{p-d5cb80ad.system.entry.js → p-a11ef2d6.system.entry.js} +1 -1
  603. package/dist/stzh-components/p-a2b2cfac.system.entry.js +1 -0
  604. package/dist/stzh-components/p-a3c7aa63.entry.js +9 -0
  605. package/dist/stzh-components/p-a408bfba.system.js +1 -1
  606. package/dist/stzh-components/{p-68400ee7.entry.js → p-a44527f8.entry.js} +1 -1
  607. package/dist/stzh-components/{p-8bbaed3a.entry.js → p-a4dd5ba3.entry.js} +1 -1
  608. package/dist/stzh-components/{p-c30600d0.system.entry.js → p-a51dd210.system.entry.js} +1 -1
  609. package/dist/stzh-components/{p-4b0f473e.entry.js → p-a693ab41.entry.js} +1 -1
  610. package/dist/stzh-components/p-a6be6aca.system.entry.js +1 -0
  611. package/dist/stzh-components/p-ac3e3b2a.system.entry.js +1 -0
  612. package/dist/stzh-components/{p-72389069.entry.js → p-ad816fd9.entry.js} +1 -1
  613. package/dist/stzh-components/p-af67ea5e.entry.js +7 -0
  614. package/dist/stzh-components/p-b050c1f4.entry.js +1 -0
  615. package/dist/stzh-components/{p-be79497f.system.entry.js → p-b1ffc2a9.system.entry.js} +1 -1
  616. package/dist/stzh-components/p-b395bed5.system.entry.js +1 -0
  617. package/dist/stzh-components/{p-30ba96a3.entry.js → p-b689b882.entry.js} +1 -1
  618. package/dist/stzh-components/{p-5c3c9ad4.entry.js → p-b6e6f847.entry.js} +1 -1
  619. package/dist/stzh-components/p-b92734db.entry.js +1 -0
  620. package/dist/stzh-components/p-b9427914.entry.js +1 -0
  621. package/dist/stzh-components/p-bada7caa.system.entry.js +1 -0
  622. package/dist/stzh-components/p-bb82fa2d.system.entry.js +1 -0
  623. package/dist/stzh-components/p-bc36fda4.system.entry.js +1 -0
  624. package/dist/stzh-components/{p-1d8272a5.entry.js → p-be68b323.entry.js} +1 -1
  625. package/dist/stzh-components/p-bf071e77.system.js +1 -0
  626. package/dist/stzh-components/{p-84965eac.entry.js → p-c0ec905d.entry.js} +1 -1
  627. package/dist/stzh-components/p-c2f909c1.system.entry.js +1 -0
  628. package/dist/stzh-components/p-c33b7d23.entry.js +1 -0
  629. package/dist/stzh-components/p-c646c712.entry.js +1 -0
  630. package/dist/stzh-components/p-c8cc2563.system.entry.js +1 -0
  631. package/dist/stzh-components/p-c9c7d88a.entry.js +1 -0
  632. package/dist/stzh-components/p-cbe6d2ea.entry.js +1 -0
  633. package/dist/stzh-components/{p-2732d8c8.system.js → p-cbfae706.system.js} +0 -0
  634. package/dist/stzh-components/p-ccf023da.entry.js +3 -0
  635. package/dist/stzh-components/p-d04bbc19.js +1 -0
  636. package/dist/stzh-components/p-d32965be.system.entry.js +1 -0
  637. package/dist/stzh-components/p-d54ff4d4.system.entry.js +1 -0
  638. package/dist/stzh-components/p-d5644c25.entry.js +8 -0
  639. package/dist/stzh-components/p-d6a11daa.entry.js +1 -0
  640. package/dist/stzh-components/p-d943e02c.system.entry.js +1 -0
  641. package/dist/stzh-components/{p-a474826c.system.entry.js → p-da85cf73.system.entry.js} +1 -1
  642. package/dist/stzh-components/p-da98a8bb.system.entry.js +7 -0
  643. package/dist/stzh-components/p-db306e24.entry.js +1 -0
  644. package/dist/stzh-components/{p-d2f6fb1b.system.js → p-db339680.system.js} +1 -1
  645. package/dist/stzh-components/{p-f5fdc88c.entry.js → p-dbe5320f.entry.js} +3 -3
  646. package/dist/stzh-components/p-dd1bb919.entry.js +1 -0
  647. package/dist/stzh-components/p-dd5f29aa.entry.js +1 -0
  648. package/dist/stzh-components/p-de9edaf2.entry.js +1 -0
  649. package/dist/stzh-components/p-e3afc8f7.entry.js +1 -0
  650. package/dist/stzh-components/p-e54ef44f.system.entry.js +1 -0
  651. package/dist/stzh-components/p-e78fe899.system.entry.js +1 -0
  652. package/dist/stzh-components/{p-60d9bf98.system.entry.js → p-e7909de9.system.entry.js} +1 -1
  653. package/dist/stzh-components/{p-58af0855.system.entry.js → p-e7e9b295.system.entry.js} +1 -1
  654. package/dist/stzh-components/p-e8feb92e.system.entry.js +1 -0
  655. package/dist/stzh-components/p-eb7773f3.entry.js +1 -0
  656. package/dist/stzh-components/p-ed58b644.system.entry.js +1 -0
  657. package/dist/stzh-components/p-ee4b939a.entry.js +1 -0
  658. package/dist/stzh-components/{p-28d8aa31.entry.js → p-f0e2a32d.entry.js} +1 -1
  659. package/dist/stzh-components/{p-0cff4e01.entry.js → p-f2deda0a.entry.js} +1 -1
  660. package/dist/stzh-components/p-f3d69226.system.entry.js +1 -0
  661. package/dist/stzh-components/p-f433e62a.system.entry.js +1 -0
  662. package/dist/stzh-components/p-f5b2c12e.entry.js +1 -0
  663. package/dist/stzh-components/{p-4226dec6.system.entry.js → p-f7bb76d8.system.entry.js} +1 -1
  664. package/dist/stzh-components/{p-4c7e52aa.entry.js → p-f8feb07b.entry.js} +1 -1
  665. package/dist/stzh-components/p-f9ab0433.entry.js +1 -0
  666. package/dist/stzh-components/p-fa615b51.system.entry.js +1 -0
  667. package/dist/stzh-components/p-fd15cc86.entry.js +1 -0
  668. package/dist/stzh-components/p-fd3acd16.system.entry.js +1 -0
  669. package/dist/stzh-components/p-fe5d5fc8.entry.js +1 -0
  670. package/dist/stzh-components/p-fe9acc68.system.entry.js +1 -0
  671. package/dist/stzh-components/stzh-components.css +1 -1
  672. package/dist/stzh-components/stzh-components.esm.js +1 -1
  673. package/dist/stzh-components/stzh-components.js +1 -1
  674. package/dist/types/components/stzh-actionset/stzh-actionset.localization.d.ts +1 -1
  675. package/dist/types/components/stzh-appointments/stzh-appointments.localization.d.ts +1 -1
  676. package/dist/types/components/stzh-audio/stzh-audio.localization.d.ts +1 -1
  677. package/dist/types/components/stzh-calendar/stzh-calendar-day.d.ts +1 -1
  678. package/dist/types/components/stzh-calendar/stzh-calendar-month.d.ts +1 -1
  679. package/dist/types/components/stzh-calendar/stzh-calendar.localization.d.ts +1 -1
  680. package/dist/types/components/stzh-card/stzh-card.localization.d.ts +1 -1
  681. package/dist/types/components/stzh-card-list/stzh-card-list.localization.d.ts +1 -1
  682. package/dist/types/components/stzh-container/stzh-container.d.ts +2 -0
  683. package/dist/types/components/stzh-datamessagelist-item/stzh-datamessagelist-item.localization.d.ts +2 -1
  684. package/dist/types/components/stzh-datatable/stzh-datatable.localization.d.ts +1 -1
  685. package/dist/types/components/stzh-datepicker/stzh-datepicker.localization.d.ts +1 -1
  686. package/dist/types/components/stzh-dialog/stzh-dialog.localization.d.ts +1 -1
  687. package/dist/types/components/stzh-dropdown/stzh-dropdown.localization.d.ts +1 -1
  688. package/dist/types/components/stzh-footer/stzh-footer.localization.d.ts +1 -1
  689. package/dist/types/components/stzh-ghettobox/stzh-ghettobox.localization.d.ts +1 -1
  690. package/dist/types/components/stzh-hspace/stzh-hspace.d.ts +3 -1
  691. package/dist/types/components/stzh-input/stzh-input-description.d.ts +1 -1
  692. package/dist/types/components/stzh-message/stzh-message.localization.d.ts +1 -1
  693. package/dist/types/components/stzh-microsite-teaserlist/stzh-microsite-teaserlist.localization.d.ts +1 -1
  694. package/dist/types/components/stzh-olmap/stzh-olmap.localization.d.ts +1 -1
  695. package/dist/types/components/stzh-popover/stzh-popover.localization.d.ts +2 -1
  696. package/dist/types/components/stzh-progressbar-item/stzh-progressbar-item.d.ts +1 -0
  697. package/dist/types/components/stzh-saptcha/stzh-saptcha.localization.d.ts +1 -1
  698. package/dist/types/components/stzh-share/stzh-share.localization.d.ts +1 -1
  699. package/dist/types/components/stzh-sortable/stzh-sortable.localization.d.ts +1 -1
  700. package/dist/types/components/stzh-space/stzh-space.d.ts +27 -0
  701. package/dist/types/components/stzh-tooltip/stzh-tooltip.localization.d.ts +2 -1
  702. package/dist/types/components/stzh-upload/stzh-upload.localization.d.ts +1 -1
  703. package/dist/types/components/stzh-vbz-majorticker/stzh-vbz-majorticker.localization.d.ts +1 -1
  704. package/dist/types/components/stzh-vbz-ticker/stzh-vbz-ticker.localization.d.ts +1 -1
  705. package/dist/types/components/stzh-vspace/stzh-vspace.d.ts +3 -1
  706. package/dist/types/components.d.ts +416 -22
  707. package/dist/types/index.d.ts +139 -132
  708. package/dist/types/stencil-public-runtime.d.ts +59 -3
  709. package/dist/types/utils/date-adapter.d.ts +2 -2
  710. package/dist/types/utils/h.d.ts +3 -3
  711. package/dist/types/utils/test-utils.d.ts +2 -2
  712. package/dist/types/utils/translation-utils.d.ts +5 -5
  713. package/dist/vscode-data.json +675 -104
  714. package/loader/index.d.ts +9 -0
  715. package/package.json +11 -11
  716. package/dist/cjs/index-8bd1552a.js +0 -2019
  717. package/dist/cjs/stzh-chip.cjs.entry.js +0 -99
  718. package/dist/cjs/stzh-clamp.cjs.entry.js +0 -27
  719. package/dist/cjs/stzh-contactaddress.cjs.entry.js +0 -91
  720. package/dist/collection/pages/example.stories.js +0 -170
  721. package/dist/components/index3.js +0 -2017
  722. package/dist/components/stzh-contactaddress.js +0 -157
  723. package/dist/esm/index-545902f4.js +0 -2017
  724. package/dist/esm/stzh-chip.entry.js +0 -95
  725. package/dist/esm/stzh-clamp.entry.js +0 -23
  726. package/dist/esm/stzh-contactaddress.entry.js +0 -87
  727. package/dist/esm-es5/animation-utils-25c74e5b.js +0 -1
  728. package/dist/esm-es5/app-globals-17c2ba8d.js +0 -1
  729. package/dist/esm-es5/arrow-86a679c7.js +0 -1
  730. package/dist/esm-es5/focus-trap.esm-074705a3.js +0 -9
  731. package/dist/esm-es5/index-011c84fe.js +0 -2
  732. package/dist/esm-es5/index-545902f4.js +0 -1
  733. package/dist/esm-es5/stzh-chip.entry.js +0 -1
  734. package/dist/esm-es5/stzh-clamp.entry.js +0 -1
  735. package/dist/esm-es5/stzh-contactaddress.entry.js +0 -1
  736. package/dist/stzh-components/p-006751fc.system.entry.js +0 -1
  737. package/dist/stzh-components/p-025c9c5b.entry.js +0 -1
  738. package/dist/stzh-components/p-02fd7470.entry.js +0 -1
  739. package/dist/stzh-components/p-037357fc.system.entry.js +0 -1
  740. package/dist/stzh-components/p-04a45622.system.entry.js +0 -1
  741. package/dist/stzh-components/p-09da70d8.entry.js +0 -1
  742. package/dist/stzh-components/p-0a647396.entry.js +0 -1
  743. package/dist/stzh-components/p-0b264a7a.entry.js +0 -1
  744. package/dist/stzh-components/p-0b9dc96d.system.js +0 -1
  745. package/dist/stzh-components/p-10c046fc.system.entry.js +0 -1
  746. package/dist/stzh-components/p-171c5795.system.entry.js +0 -1
  747. package/dist/stzh-components/p-19ab7e34.system.entry.js +0 -1
  748. package/dist/stzh-components/p-1ca12032.system.entry.js +0 -1
  749. package/dist/stzh-components/p-1da26ca1.entry.js +0 -1
  750. package/dist/stzh-components/p-1e4b4d71.system.js +0 -1
  751. package/dist/stzh-components/p-1fe1169e.entry.js +0 -1
  752. package/dist/stzh-components/p-213959b7.entry.js +0 -1
  753. package/dist/stzh-components/p-22b06793.entry.js +0 -1
  754. package/dist/stzh-components/p-231e6e6a.system.entry.js +0 -1
  755. package/dist/stzh-components/p-2862cdd8.system.entry.js +0 -1
  756. package/dist/stzh-components/p-2a5855f8.js +0 -1
  757. package/dist/stzh-components/p-2bdc71ae.system.entry.js +0 -1
  758. package/dist/stzh-components/p-31029226.entry.js +0 -1
  759. package/dist/stzh-components/p-311813bc.system.entry.js +0 -1
  760. package/dist/stzh-components/p-31c3469c.entry.js +0 -1
  761. package/dist/stzh-components/p-34b45788.entry.js +0 -7
  762. package/dist/stzh-components/p-3848d8ee.entry.js +0 -1
  763. package/dist/stzh-components/p-38f9cbf3.system.entry.js +0 -1
  764. package/dist/stzh-components/p-3905ca20.entry.js +0 -1
  765. package/dist/stzh-components/p-391e6b90.entry.js +0 -1
  766. package/dist/stzh-components/p-3a1ff759.entry.js +0 -1
  767. package/dist/stzh-components/p-40a19ce6.js +0 -10
  768. package/dist/stzh-components/p-4228cd58.system.entry.js +0 -1
  769. package/dist/stzh-components/p-441ea784.entry.js +0 -1
  770. package/dist/stzh-components/p-49bb09a5.entry.js +0 -1
  771. package/dist/stzh-components/p-4bd7dafb.system.entry.js +0 -1
  772. package/dist/stzh-components/p-4cd9f5c7.system.entry.js +0 -1
  773. package/dist/stzh-components/p-51be647d.entry.js +0 -1
  774. package/dist/stzh-components/p-53934cfd.js +0 -1
  775. package/dist/stzh-components/p-55f6fa41.system.entry.js +0 -1
  776. package/dist/stzh-components/p-57237509.system.entry.js +0 -1
  777. package/dist/stzh-components/p-5b1c1cf7.entry.js +0 -1
  778. package/dist/stzh-components/p-5b379647.system.entry.js +0 -1
  779. package/dist/stzh-components/p-5ddf8258.system.entry.js +0 -1
  780. package/dist/stzh-components/p-5fd9ae99.system.entry.js +0 -1
  781. package/dist/stzh-components/p-60ec90b2.system.entry.js +0 -1
  782. package/dist/stzh-components/p-64422176.entry.js +0 -9
  783. package/dist/stzh-components/p-65675e11.entry.js +0 -1
  784. package/dist/stzh-components/p-661831da.entry.js +0 -1
  785. package/dist/stzh-components/p-71c07419.system.entry.js +0 -1
  786. package/dist/stzh-components/p-75068cd7.system.entry.js +0 -1
  787. package/dist/stzh-components/p-7684506e.system.entry.js +0 -1
  788. package/dist/stzh-components/p-7adc28a4.system.entry.js +0 -7
  789. package/dist/stzh-components/p-7ce59988.system.entry.js +0 -1
  790. package/dist/stzh-components/p-7da446d5.js +0 -1
  791. package/dist/stzh-components/p-7e94dde2.entry.js +0 -1
  792. package/dist/stzh-components/p-812ea5e9.system.entry.js +0 -1
  793. package/dist/stzh-components/p-8364475f.js +0 -12
  794. package/dist/stzh-components/p-83830baa.system.entry.js +0 -1
  795. package/dist/stzh-components/p-84c86e4c.system.entry.js +0 -1
  796. package/dist/stzh-components/p-88a31179.system.entry.js +0 -1
  797. package/dist/stzh-components/p-88cbd2c0.entry.js +0 -1
  798. package/dist/stzh-components/p-8a1d00fe.entry.js +0 -3
  799. package/dist/stzh-components/p-92afa8df.entry.js +0 -1
  800. package/dist/stzh-components/p-95b490ec.system.entry.js +0 -1
  801. package/dist/stzh-components/p-9743f558.system.entry.js +0 -1
  802. package/dist/stzh-components/p-996579d0.entry.js +0 -1
  803. package/dist/stzh-components/p-99f92c6d.system.entry.js +0 -1
  804. package/dist/stzh-components/p-9a5ebb1f.js +0 -2
  805. package/dist/stzh-components/p-9dac46e2.system.entry.js +0 -1
  806. package/dist/stzh-components/p-9e38b823.system.entry.js +0 -1
  807. package/dist/stzh-components/p-a16dc363.entry.js +0 -1
  808. package/dist/stzh-components/p-a17754c7.system.entry.js +0 -1
  809. package/dist/stzh-components/p-a53c0a98.entry.js +0 -1
  810. package/dist/stzh-components/p-a795868f.entry.js +0 -1
  811. package/dist/stzh-components/p-a8101552.entry.js +0 -8
  812. package/dist/stzh-components/p-a934dd4d.entry.js +0 -1
  813. package/dist/stzh-components/p-aacf685b.system.entry.js +0 -3
  814. package/dist/stzh-components/p-ab28e094.system.entry.js +0 -1
  815. package/dist/stzh-components/p-ac3aa560.system.entry.js +0 -1
  816. package/dist/stzh-components/p-addc48e5.entry.js +0 -1
  817. package/dist/stzh-components/p-af0ab448.system.entry.js +0 -1
  818. package/dist/stzh-components/p-af63f1a4.entry.js +0 -1
  819. package/dist/stzh-components/p-b0fe9349.entry.js +0 -1
  820. package/dist/stzh-components/p-b2145753.system.entry.js +0 -1
  821. package/dist/stzh-components/p-b436a18d.system.entry.js +0 -1
  822. package/dist/stzh-components/p-b908d228.system.entry.js +0 -1
  823. package/dist/stzh-components/p-ba0b93c4.system.entry.js +0 -9
  824. package/dist/stzh-components/p-bfcfbfbb.system.entry.js +0 -1
  825. package/dist/stzh-components/p-c065387a.entry.js +0 -1
  826. package/dist/stzh-components/p-c0fef3d1.entry.js +0 -1
  827. package/dist/stzh-components/p-c26aec94.entry.js +0 -1
  828. package/dist/stzh-components/p-c3a543a6.entry.js +0 -1
  829. package/dist/stzh-components/p-c42435be.entry.js +0 -1
  830. package/dist/stzh-components/p-cf6003d6.js +0 -1
  831. package/dist/stzh-components/p-cfc0bc2e.system.entry.js +0 -1
  832. package/dist/stzh-components/p-d1d5825d.entry.js +0 -1
  833. package/dist/stzh-components/p-d4405931.system.entry.js +0 -1
  834. package/dist/stzh-components/p-d5c0801b.entry.js +0 -1
  835. package/dist/stzh-components/p-db1692fb.entry.js +0 -1
  836. package/dist/stzh-components/p-dbdc01c7.system.js +0 -2
  837. package/dist/stzh-components/p-dce19efd.entry.js +0 -1
  838. package/dist/stzh-components/p-ded16c0e.system.js +0 -1
  839. package/dist/stzh-components/p-e20369c8.system.js +0 -10
  840. package/dist/stzh-components/p-e2e54f09.system.js +0 -1
  841. package/dist/stzh-components/p-e46d82b9.system.entry.js +0 -1
  842. package/dist/stzh-components/p-e71cd5cd.system.entry.js +0 -1
  843. package/dist/stzh-components/p-e72ca013.system.entry.js +0 -1
  844. package/dist/stzh-components/p-e76a3647.entry.js +0 -1
  845. package/dist/stzh-components/p-e812d35e.system.entry.js +0 -1
  846. package/dist/stzh-components/p-ec3a472a.system.entry.js +0 -1
  847. package/dist/stzh-components/p-f3107fc7.system.entry.js +0 -1
  848. package/dist/stzh-components/p-f37be5d7.entry.js +0 -1
  849. package/dist/stzh-components/p-f59b3545.system.entry.js +0 -1
  850. package/dist/stzh-components/p-f792fc8f.entry.js +0 -1
  851. package/dist/stzh-components/p-fcec6003.system.entry.js +0 -1
@@ -1,21 +1,21 @@
1
1
  'use strict';
2
2
 
3
- function getSide(placement) {
4
- return placement.split('-')[0];
5
- }
6
-
7
3
  function getAlignment(placement) {
8
4
  return placement.split('-')[1];
9
5
  }
10
6
 
11
- function getMainAxisFromPlacement(placement) {
12
- return ['top', 'bottom'].includes(getSide(placement)) ? 'x' : 'y';
13
- }
14
-
15
7
  function getLengthFromAxis(axis) {
16
8
  return axis === 'y' ? 'height' : 'width';
17
9
  }
18
10
 
11
+ function getSide(placement) {
12
+ return placement.split('-')[0];
13
+ }
14
+
15
+ function getMainAxisFromPlacement(placement) {
16
+ return ['top', 'bottom'].includes(getSide(placement)) ? 'x' : 'y';
17
+ }
18
+
19
19
  function computeCoordsFromPlacement(_ref, placement, rtl) {
20
20
  let {
21
21
  reference,
@@ -29,7 +29,6 @@ function computeCoordsFromPlacement(_ref, placement, rtl) {
29
29
  const side = getSide(placement);
30
30
  const isVertical = mainAxis === 'x';
31
31
  let coords;
32
-
33
32
  switch (side) {
34
33
  case 'top':
35
34
  coords = {
@@ -37,45 +36,38 @@ function computeCoordsFromPlacement(_ref, placement, rtl) {
37
36
  y: reference.y - floating.height
38
37
  };
39
38
  break;
40
-
41
39
  case 'bottom':
42
40
  coords = {
43
41
  x: commonX,
44
42
  y: reference.y + reference.height
45
43
  };
46
44
  break;
47
-
48
45
  case 'right':
49
46
  coords = {
50
47
  x: reference.x + reference.width,
51
48
  y: commonY
52
49
  };
53
50
  break;
54
-
55
51
  case 'left':
56
52
  coords = {
57
53
  x: reference.x - floating.width,
58
54
  y: commonY
59
55
  };
60
56
  break;
61
-
62
57
  default:
63
58
  coords = {
64
59
  x: reference.x,
65
60
  y: reference.y
66
61
  };
67
62
  }
68
-
69
63
  switch (getAlignment(placement)) {
70
64
  case 'start':
71
65
  coords[mainAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);
72
66
  break;
73
-
74
67
  case 'end':
75
68
  coords[mainAxis] += commonAlign * (rtl && isVertical ? -1 : 1);
76
69
  break;
77
70
  }
78
-
79
71
  return coords;
80
72
  }
81
73
 
@@ -86,7 +78,6 @@ function computeCoordsFromPlacement(_ref, placement, rtl) {
86
78
  * This export does not have any `platform` interface logic. You will need to
87
79
  * write one for the platform you are using Floating UI with.
88
80
  */
89
-
90
81
  const computePosition$1 = async (reference, floating, config) => {
91
82
  const {
92
83
  placement = 'bottom',
@@ -94,8 +85,8 @@ const computePosition$1 = async (reference, floating, config) => {
94
85
  middleware = [],
95
86
  platform
96
87
  } = config;
88
+ const validMiddleware = middleware.filter(Boolean);
97
89
  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));
98
-
99
90
  let rects = await platform.getElementRects({
100
91
  reference,
101
92
  floating,
@@ -108,12 +99,11 @@ const computePosition$1 = async (reference, floating, config) => {
108
99
  let statefulPlacement = placement;
109
100
  let middlewareData = {};
110
101
  let resetCount = 0;
111
-
112
- for (let i = 0; i < middleware.length; i++) {
102
+ for (let i = 0; i < validMiddleware.length; i++) {
113
103
  const {
114
104
  name,
115
105
  fn
116
- } = middleware[i];
106
+ } = validMiddleware[i];
117
107
  const {
118
108
  x: nextX,
119
109
  y: nextY,
@@ -135,20 +125,19 @@ const computePosition$1 = async (reference, floating, config) => {
135
125
  });
136
126
  x = nextX != null ? nextX : x;
137
127
  y = nextY != null ? nextY : y;
138
- middlewareData = { ...middlewareData,
139
- [name]: { ...middlewareData[name],
128
+ middlewareData = {
129
+ ...middlewareData,
130
+ [name]: {
131
+ ...middlewareData[name],
140
132
  ...data
141
133
  }
142
134
  };
143
-
144
135
  if (reset && resetCount <= 50) {
145
136
  resetCount++;
146
-
147
137
  if (typeof reset === 'object') {
148
138
  if (reset.placement) {
149
139
  statefulPlacement = reset.placement;
150
140
  }
151
-
152
141
  if (reset.rects) {
153
142
  rects = reset.rects === true ? await platform.getElementRects({
154
143
  reference,
@@ -156,18 +145,15 @@ const computePosition$1 = async (reference, floating, config) => {
156
145
  strategy
157
146
  }) : reset.rects;
158
147
  }
159
-
160
148
  ({
161
149
  x,
162
150
  y
163
151
  } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));
164
152
  }
165
-
166
153
  i = -1;
167
154
  continue;
168
155
  }
169
156
  }
170
-
171
157
  return {
172
158
  x,
173
159
  y,
@@ -197,7 +183,8 @@ function getSideObjectFromPadding(padding) {
197
183
  }
198
184
 
199
185
  function rectToClientRect(rect) {
200
- return { ...rect,
186
+ return {
187
+ ...rect,
201
188
  top: rect.y,
202
189
  left: rect.x,
203
190
  right: rect.x + rect.width,
@@ -215,11 +202,9 @@ function rectToClientRect(rect) {
215
202
  */
216
203
  async function detectOverflow(middlewareArguments, options) {
217
204
  var _await$platform$isEle;
218
-
219
205
  if (options === void 0) {
220
206
  options = {};
221
207
  }
222
-
223
208
  const {
224
209
  x,
225
210
  y,
@@ -244,19 +229,29 @@ async function detectOverflow(middlewareArguments, options) {
244
229
  rootBoundary,
245
230
  strategy
246
231
  }));
232
+ const rect = elementContext === 'floating' ? {
233
+ ...rects.floating,
234
+ x,
235
+ y
236
+ } : rects.reference;
237
+ const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
238
+ const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {
239
+ x: 1,
240
+ y: 1
241
+ } : {
242
+ x: 1,
243
+ y: 1
244
+ };
247
245
  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({
248
- rect: elementContext === 'floating' ? { ...rects.floating,
249
- x,
250
- y
251
- } : rects.reference,
252
- offsetParent: await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating)),
246
+ rect,
247
+ offsetParent,
253
248
  strategy
254
- }) : rects[elementContext]);
249
+ }) : rect);
255
250
  return {
256
- top: clippingClientRect.top - elementClientRect.top + paddingObject.top,
257
- bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom,
258
- left: clippingClientRect.left - elementClientRect.left + paddingObject.left,
259
- right: elementClientRect.right - clippingClientRect.right + paddingObject.right
251
+ top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
252
+ bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
253
+ left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
254
+ right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
260
255
  };
261
256
  }
262
257
 
@@ -275,13 +270,12 @@ function within(min$1$1, value, max$1$1) {
275
270
  const arrow = options => ({
276
271
  name: 'arrow',
277
272
  options,
278
-
279
273
  async fn(middlewareArguments) {
280
- // Since `element` is required, we don't Partial<> the type
274
+ // Since `element` is required, we don't Partial<> the type.
281
275
  const {
282
276
  element,
283
277
  padding = 0
284
- } = options != null ? options : {};
278
+ } = options || {};
285
279
  const {
286
280
  x,
287
281
  y,
@@ -289,19 +283,15 @@ const arrow = options => ({
289
283
  rects,
290
284
  platform
291
285
  } = middlewareArguments;
292
-
293
286
  if (element == null) {
294
-
295
287
  return {};
296
288
  }
297
-
298
289
  const paddingObject = getSideObjectFromPadding(padding);
299
290
  const coords = {
300
291
  x,
301
292
  y
302
293
  };
303
294
  const axis = getMainAxisFromPlacement(placement);
304
- const alignment = getAlignment(placement);
305
295
  const length = getLengthFromAxis(axis);
306
296
  const arrowDimensions = await platform.getDimensions(element);
307
297
  const minProp = axis === 'y' ? 'top' : 'left';
@@ -310,21 +300,23 @@ const arrow = options => ({
310
300
  const startDiff = coords[axis] - rects.reference[axis];
311
301
  const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));
312
302
  let clientSize = arrowOffsetParent ? axis === 'y' ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0;
313
-
314
303
  if (clientSize === 0) {
315
304
  clientSize = rects.floating[length];
316
305
  }
306
+ const centerToReference = endDiff / 2 - startDiff / 2;
317
307
 
318
- const centerToReference = endDiff / 2 - startDiff / 2; // Make sure the arrow doesn't overflow the floating element if the center
319
- // point is outside the floating element's bounds
320
-
308
+ // Make sure the arrow doesn't overflow the floating element if the center
309
+ // point is outside the floating element's bounds.
321
310
  const min = paddingObject[minProp];
322
311
  const max = clientSize - arrowDimensions[length] - paddingObject[maxProp];
323
312
  const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;
324
- const offset = within(min, center, max); // Make sure that arrow points at the reference
313
+ const offset = within(min, center, max);
325
314
 
326
- const alignmentPadding = alignment === 'start' ? paddingObject[minProp] : paddingObject[maxProp];
327
- const shouldAddOffset = alignmentPadding > 0 && center !== offset && rects.reference[length] <= rects.floating[length];
315
+ // If the reference is small enough that the arrow's padding causes it to
316
+ // to point to nothing for an aligned placement, adjust the offset of the
317
+ // floating element itself. This stops `shift()` from taking action, but can
318
+ // be worked around by calling it again after the `arrow()` if desired.
319
+ const shouldAddOffset = getAlignment(placement) != null && center != offset && rects.reference[length] / 2 - (center < min ? paddingObject[minProp] : paddingObject[maxProp]) - arrowDimensions[length] / 2 < 0;
328
320
  const alignmentOffset = shouldAddOffset ? center < min ? min - center : max - center : 0;
329
321
  return {
330
322
  [axis]: coords[axis] - alignmentOffset,
@@ -334,45 +326,41 @@ const arrow = options => ({
334
326
  }
335
327
  };
336
328
  }
337
-
338
329
  });
339
330
 
340
- const hash$1 = {
331
+ const oppositeSideMap = {
341
332
  left: 'right',
342
333
  right: 'left',
343
334
  bottom: 'top',
344
335
  top: 'bottom'
345
336
  };
346
337
  function getOppositePlacement(placement) {
347
- return placement.replace(/left|right|bottom|top/g, matched => hash$1[matched]);
338
+ return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);
348
339
  }
349
340
 
350
341
  function getAlignmentSides(placement, rects, rtl) {
351
342
  if (rtl === void 0) {
352
343
  rtl = false;
353
344
  }
354
-
355
345
  const alignment = getAlignment(placement);
356
346
  const mainAxis = getMainAxisFromPlacement(placement);
357
347
  const length = getLengthFromAxis(mainAxis);
358
348
  let mainAlignmentSide = mainAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';
359
-
360
349
  if (rects.reference[length] > rects.floating[length]) {
361
350
  mainAlignmentSide = getOppositePlacement(mainAlignmentSide);
362
351
  }
363
-
364
352
  return {
365
353
  main: mainAlignmentSide,
366
354
  cross: getOppositePlacement(mainAlignmentSide)
367
355
  };
368
356
  }
369
357
 
370
- const hash = {
358
+ const oppositeAlignmentMap = {
371
359
  start: 'end',
372
360
  end: 'start'
373
361
  };
374
362
  function getOppositeAlignmentPlacement(placement) {
375
- return placement.replace(/start|end/g, matched => hash[matched]);
363
+ return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);
376
364
  }
377
365
 
378
366
  function getExpandedPlacements(placement) {
@@ -380,6 +368,35 @@ function getExpandedPlacements(placement) {
380
368
  return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];
381
369
  }
382
370
 
371
+ function getSideList(side, isStart, rtl) {
372
+ const lr = ['left', 'right'];
373
+ const rl = ['right', 'left'];
374
+ const tb = ['top', 'bottom'];
375
+ const bt = ['bottom', 'top'];
376
+ switch (side) {
377
+ case 'top':
378
+ case 'bottom':
379
+ if (rtl) return isStart ? rl : lr;
380
+ return isStart ? lr : rl;
381
+ case 'left':
382
+ case 'right':
383
+ return isStart ? tb : bt;
384
+ default:
385
+ return [];
386
+ }
387
+ }
388
+ function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
389
+ const alignment = getAlignment(placement);
390
+ let list = getSideList(getSide(placement), direction === 'start', rtl);
391
+ if (alignment) {
392
+ list = list.map(side => side + "-" + alignment);
393
+ if (flipAlignment) {
394
+ list = list.concat(list.map(getOppositeAlignmentPlacement));
395
+ }
396
+ }
397
+ return list;
398
+ }
399
+
383
400
  /**
384
401
  * Changes the placement of the floating element to one that will fit if the
385
402
  * initially specified `placement` does not.
@@ -389,14 +406,11 @@ const flip = function (options) {
389
406
  if (options === void 0) {
390
407
  options = {};
391
408
  }
392
-
393
409
  return {
394
410
  name: 'flip',
395
411
  options,
396
-
397
412
  async fn(middlewareArguments) {
398
413
  var _middlewareData$flip;
399
-
400
414
  const {
401
415
  placement,
402
416
  middlewareData,
@@ -410,42 +424,43 @@ const flip = function (options) {
410
424
  crossAxis: checkCrossAxis = true,
411
425
  fallbackPlacements: specifiedFallbackPlacements,
412
426
  fallbackStrategy = 'bestFit',
427
+ fallbackAxisSideDirection = 'none',
413
428
  flipAlignment = true,
414
429
  ...detectOverflowOptions
415
430
  } = options;
416
431
  const side = getSide(placement);
417
- const isBasePlacement = side === initialPlacement;
432
+ const isBasePlacement = getSide(initialPlacement) === initialPlacement;
433
+ const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
418
434
  const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));
435
+ if (!specifiedFallbackPlacements && fallbackAxisSideDirection !== 'none') {
436
+ fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
437
+ }
419
438
  const placements = [initialPlacement, ...fallbackPlacements];
420
439
  const overflow = await detectOverflow(middlewareArguments, detectOverflowOptions);
421
440
  const overflows = [];
422
441
  let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
423
-
424
442
  if (checkMainAxis) {
425
443
  overflows.push(overflow[side]);
426
444
  }
427
-
428
445
  if (checkCrossAxis) {
429
446
  const {
430
447
  main,
431
448
  cross
432
- } = getAlignmentSides(placement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));
449
+ } = getAlignmentSides(placement, rects, rtl);
433
450
  overflows.push(overflow[main], overflow[cross]);
434
451
  }
435
-
436
452
  overflowsData = [...overflowsData, {
437
453
  placement,
438
454
  overflows
439
- }]; // One or more sides is overflowing
455
+ }];
440
456
 
457
+ // One or more sides is overflowing.
441
458
  if (!overflows.every(side => side <= 0)) {
442
- var _middlewareData$flip$, _middlewareData$flip2;
443
-
444
- const nextIndex = ((_middlewareData$flip$ = (_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) != null ? _middlewareData$flip$ : 0) + 1;
459
+ var _middlewareData$flip2, _overflowsData$find;
460
+ const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
445
461
  const nextPlacement = placements[nextIndex];
446
-
447
462
  if (nextPlacement) {
448
- // Try next placement and re-run the lifecycle
463
+ // Try next placement and re-run the lifecycle.
449
464
  return {
450
465
  data: {
451
466
  index: nextIndex,
@@ -457,27 +472,26 @@ const flip = function (options) {
457
472
  };
458
473
  }
459
474
 
460
- let resetPlacement = 'bottom';
461
-
462
- switch (fallbackStrategy) {
463
- case 'bestFit':
464
- {
465
- var _overflowsData$map$so;
466
-
467
- const placement = (_overflowsData$map$so = overflowsData.map(d => [d, 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].placement;
468
-
469
- if (placement) {
470
- resetPlacement = placement;
475
+ // First, try to use the one that fits on mainAxis side of overflow.
476
+ let resetPlacement = (_overflowsData$find = overflowsData.find(d => d.overflows[0] <= 0)) == null ? void 0 : _overflowsData$find.placement;
477
+
478
+ // Otherwise fallback.
479
+ if (!resetPlacement) {
480
+ switch (fallbackStrategy) {
481
+ case 'bestFit':
482
+ {
483
+ var _overflowsData$map$so;
484
+ 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];
485
+ if (placement) {
486
+ resetPlacement = placement;
487
+ }
488
+ break;
471
489
  }
472
-
490
+ case 'initialPlacement':
491
+ resetPlacement = initialPlacement;
473
492
  break;
474
- }
475
-
476
- case 'initialPlacement':
477
- resetPlacement = initialPlacement;
478
- break;
493
+ }
479
494
  }
480
-
481
495
  if (placement !== resetPlacement) {
482
496
  return {
483
497
  reset: {
@@ -486,10 +500,8 @@ const flip = function (options) {
486
500
  };
487
501
  }
488
502
  }
489
-
490
503
  return {};
491
504
  }
492
-
493
505
  };
494
506
  };
495
507
 
@@ -505,8 +517,9 @@ async function convertValueToCoords(middlewareArguments, value) {
505
517
  const isVertical = getMainAxisFromPlacement(placement) === 'x';
506
518
  const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;
507
519
  const crossAxisMulti = rtl && isVertical ? -1 : 1;
508
- const rawValue = typeof value === 'function' ? value(middlewareArguments) : value; // eslint-disable-next-line prefer-const
520
+ const rawValue = typeof value === 'function' ? value(middlewareArguments) : value;
509
521
 
522
+ // eslint-disable-next-line prefer-const
510
523
  let {
511
524
  mainAxis,
512
525
  crossAxis,
@@ -521,11 +534,9 @@ async function convertValueToCoords(middlewareArguments, value) {
521
534
  alignmentAxis: null,
522
535
  ...rawValue
523
536
  };
524
-
525
537
  if (alignment && typeof alignmentAxis === 'number') {
526
538
  crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;
527
539
  }
528
-
529
540
  return isVertical ? {
530
541
  x: crossAxis * crossAxisMulti,
531
542
  y: mainAxis * mainAxisMulti
@@ -534,20 +545,18 @@ async function convertValueToCoords(middlewareArguments, value) {
534
545
  y: crossAxis * crossAxisMulti
535
546
  };
536
547
  }
548
+
537
549
  /**
538
550
  * Displaces the floating element from its reference element.
539
551
  * @see https://floating-ui.com/docs/offset
540
552
  */
541
-
542
553
  const offset = function (value) {
543
554
  if (value === void 0) {
544
555
  value = 0;
545
556
  }
546
-
547
557
  return {
548
558
  name: 'offset',
549
559
  options: value,
550
-
551
560
  async fn(middlewareArguments) {
552
561
  const {
553
562
  x,
@@ -560,7 +569,6 @@ const offset = function (value) {
560
569
  data: diffCoords
561
570
  };
562
571
  }
563
-
564
572
  };
565
573
  };
566
574
 
@@ -577,11 +585,9 @@ const shift = function (options) {
577
585
  if (options === void 0) {
578
586
  options = {};
579
587
  }
580
-
581
588
  return {
582
589
  name: 'shift',
583
590
  options,
584
-
585
591
  async fn(middlewareArguments) {
586
592
  const {
587
593
  x,
@@ -614,7 +620,6 @@ const shift = function (options) {
614
620
  const crossAxis = getCrossAxis(mainAxis);
615
621
  let mainAxisCoord = coords[mainAxis];
616
622
  let crossAxisCoord = coords[crossAxis];
617
-
618
623
  if (checkMainAxis) {
619
624
  const minSide = mainAxis === 'y' ? 'top' : 'left';
620
625
  const maxSide = mainAxis === 'y' ? 'bottom' : 'right';
@@ -622,7 +627,6 @@ const shift = function (options) {
622
627
  const max = mainAxisCoord - overflow[maxSide];
623
628
  mainAxisCoord = within(min, mainAxisCoord, max);
624
629
  }
625
-
626
630
  if (checkCrossAxis) {
627
631
  const minSide = crossAxis === 'y' ? 'top' : 'left';
628
632
  const maxSide = crossAxis === 'y' ? 'bottom' : 'right';
@@ -630,53 +634,67 @@ const shift = function (options) {
630
634
  const max = crossAxisCoord - overflow[maxSide];
631
635
  crossAxisCoord = within(min, crossAxisCoord, max);
632
636
  }
633
-
634
- const limitedCoords = limiter.fn({ ...middlewareArguments,
637
+ const limitedCoords = limiter.fn({
638
+ ...middlewareArguments,
635
639
  [mainAxis]: mainAxisCoord,
636
640
  [crossAxis]: crossAxisCoord
637
641
  });
638
- return { ...limitedCoords,
642
+ return {
643
+ ...limitedCoords,
639
644
  data: {
640
645
  x: limitedCoords.x - x,
641
646
  y: limitedCoords.y - y
642
647
  }
643
648
  };
644
649
  }
645
-
646
650
  };
647
651
  };
648
652
 
649
- function isWindow(value) {
650
- return value && value.document && value.location && value.alert && value.setInterval;
651
- }
652
653
  function getWindow(node) {
653
- if (node == null) {
654
- return window;
655
- }
656
-
657
- if (!isWindow(node)) {
658
- const ownerDocument = node.ownerDocument;
659
- return ownerDocument ? ownerDocument.defaultView || window : window;
660
- }
661
-
662
- return node;
654
+ var _node$ownerDocument;
655
+ return ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;
663
656
  }
664
657
 
665
- function getComputedStyle(element) {
658
+ function getComputedStyle$1(element) {
666
659
  return getWindow(element).getComputedStyle(element);
667
660
  }
668
661
 
662
+ const min = Math.min;
663
+ const max = Math.max;
664
+ const round = Math.round;
665
+
666
+ function getCssDimensions(element) {
667
+ const css = getComputedStyle$1(element);
668
+ let width = parseFloat(css.width);
669
+ let height = parseFloat(css.height);
670
+ const offsetWidth = element.offsetWidth;
671
+ const offsetHeight = element.offsetHeight;
672
+ const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
673
+ if (shouldFallback) {
674
+ width = offsetWidth;
675
+ height = offsetHeight;
676
+ }
677
+ return {
678
+ width,
679
+ height,
680
+ fallback: shouldFallback
681
+ };
682
+ }
683
+
669
684
  function getNodeName(node) {
670
- return isWindow(node) ? '' : node ? (node.nodeName || '').toLowerCase() : '';
685
+ return isNode(node) ? (node.nodeName || '').toLowerCase() : '';
671
686
  }
672
687
 
688
+ let uaString;
673
689
  function getUAString() {
690
+ if (uaString) {
691
+ return uaString;
692
+ }
674
693
  const uaData = navigator.userAgentData;
675
-
676
- if (uaData != null && uaData.brands) {
677
- return uaData.brands.map(item => item.brand + "/" + item.version).join(' ');
694
+ if (uaData && Array.isArray(uaData.brands)) {
695
+ uaString = uaData.brands.map(item => item.brand + "/" + item.version).join(' ');
696
+ return uaString;
678
697
  }
679
-
680
698
  return navigator.userAgent;
681
699
  }
682
700
 
@@ -690,75 +708,135 @@ function isNode(value) {
690
708
  return value instanceof getWindow(value).Node;
691
709
  }
692
710
  function isShadowRoot(node) {
693
- // Browsers without `ShadowRoot` support
711
+ // Browsers without `ShadowRoot` support.
694
712
  if (typeof ShadowRoot === 'undefined') {
695
713
  return false;
696
714
  }
697
-
698
715
  const OwnElement = getWindow(node).ShadowRoot;
699
716
  return node instanceof OwnElement || node instanceof ShadowRoot;
700
717
  }
701
718
  function isOverflowElement(element) {
702
- // Firefox wants us to check `-x` and `-y` variations as well
703
719
  const {
704
720
  overflow,
705
721
  overflowX,
706
- overflowY
707
- } = getComputedStyle(element);
708
- return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX);
722
+ overflowY,
723
+ display
724
+ } = getComputedStyle$1(element);
725
+ return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !['inline', 'contents'].includes(display);
709
726
  }
710
727
  function isTableElement(element) {
711
728
  return ['table', 'td', 'th'].includes(getNodeName(element));
712
729
  }
713
730
  function isContainingBlock(element) {
714
- // TODO: Try and use feature detection here instead
731
+ // TODO: Try to use feature detection here instead.
715
732
  const isFirefox = /firefox/i.test(getUAString());
716
- const css = getComputedStyle(element); // This is non-exhaustive but covers the most common CSS properties that
733
+ const css = getComputedStyle$1(element);
734
+ const backdropFilter = css.backdropFilter || css.WebkitBackdropFilter;
735
+
736
+ // This is non-exhaustive but covers the most common CSS properties that
717
737
  // create a containing block.
718
738
  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
719
-
720
- return css.transform !== 'none' || css.perspective !== 'none' || // @ts-ignore (TS 4.1 compat)
721
- css.contain === 'paint' || ['transform', 'perspective'].includes(css.willChange) || isFirefox && css.willChange === 'filter' || isFirefox && (css.filter ? css.filter !== 'none' : false);
739
+ return css.transform !== 'none' || css.perspective !== 'none' || (backdropFilter ? backdropFilter !== 'none' : false) || isFirefox && css.willChange === 'filter' || isFirefox && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective'].some(value => css.willChange.includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => {
740
+ // Add type check for old browsers.
741
+ const contain = css.contain;
742
+ return contain != null ? contain.includes(value) : false;
743
+ });
722
744
  }
723
745
  function isLayoutViewport() {
724
- // Not Safari
725
- return !/^((?!chrome|android).)*safari/i.test(getUAString()); // Feature detection for this fails in various ways
746
+ // TODO: Try to use feature detection here instead. Feature detection for
747
+ // this can fail in various ways, making the userAgent check the most:
748
+ // reliable:
726
749
  // • Always-visible scrollbar or not
727
- // • Width of <html>, etc.
728
- // const vV = win.visualViewport;
729
- // return vV ? Math.abs(win.innerWidth / vV.scale - vV.width) < 0.5 : true;
750
+ // • Width of <html>
751
+
752
+ // Not Safari.
753
+ return !/^((?!chrome|android).)*safari/i.test(getUAString());
754
+ }
755
+ function isLastTraversableNode(node) {
756
+ return ['html', 'body', '#document'].includes(getNodeName(node));
730
757
  }
731
758
 
732
- const min = Math.min;
733
- const max = Math.max;
734
- const round = Math.round;
759
+ function unwrapElement(element) {
760
+ return !isElement(element) ? element.contextElement : element;
761
+ }
762
+
763
+ const FALLBACK_SCALE = {
764
+ x: 1,
765
+ y: 1
766
+ };
767
+ function getScale(element) {
768
+ const domElement = unwrapElement(element);
769
+ if (!isHTMLElement(domElement)) {
770
+ return FALLBACK_SCALE;
771
+ }
772
+ const rect = domElement.getBoundingClientRect();
773
+ const {
774
+ width,
775
+ height,
776
+ fallback
777
+ } = getCssDimensions(domElement);
778
+ let x = (fallback ? round(rect.width) : rect.width) / width;
779
+ let y = (fallback ? round(rect.height) : rect.height) / height;
735
780
 
736
- function getBoundingClientRect(element, includeScale, isFixedStrategy) {
737
- var _win$visualViewport$o, _win$visualViewport, _win$visualViewport$o2, _win$visualViewport2;
781
+ // 0, NaN, or Infinity should always fallback to 1.
738
782
 
783
+ if (!x || !Number.isFinite(x)) {
784
+ x = 1;
785
+ }
786
+ if (!y || !Number.isFinite(y)) {
787
+ y = 1;
788
+ }
789
+ return {
790
+ x,
791
+ y
792
+ };
793
+ }
794
+
795
+ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
796
+ var _win$visualViewport, _win$visualViewport2;
739
797
  if (includeScale === void 0) {
740
798
  includeScale = false;
741
799
  }
742
-
743
800
  if (isFixedStrategy === void 0) {
744
801
  isFixedStrategy = false;
745
802
  }
746
-
747
803
  const clientRect = element.getBoundingClientRect();
748
- let scaleX = 1;
749
- let scaleY = 1;
750
-
751
- if (includeScale && isHTMLElement(element)) {
752
- scaleX = element.offsetWidth > 0 ? round(clientRect.width) / element.offsetWidth || 1 : 1;
753
- scaleY = element.offsetHeight > 0 ? round(clientRect.height) / element.offsetHeight || 1 : 1;
804
+ const domElement = unwrapElement(element);
805
+ let scale = FALLBACK_SCALE;
806
+ if (includeScale) {
807
+ if (offsetParent) {
808
+ if (isElement(offsetParent)) {
809
+ scale = getScale(offsetParent);
810
+ }
811
+ } else {
812
+ scale = getScale(element);
813
+ }
754
814
  }
755
-
756
- const win = isElement(element) ? getWindow(element) : window;
815
+ const win = domElement ? getWindow(domElement) : window;
757
816
  const addVisualOffsets = !isLayoutViewport() && isFixedStrategy;
758
- const x = (clientRect.left + (addVisualOffsets ? (_win$visualViewport$o = (_win$visualViewport = win.visualViewport) == null ? void 0 : _win$visualViewport.offsetLeft) != null ? _win$visualViewport$o : 0 : 0)) / scaleX;
759
- const y = (clientRect.top + (addVisualOffsets ? (_win$visualViewport$o2 = (_win$visualViewport2 = win.visualViewport) == null ? void 0 : _win$visualViewport2.offsetTop) != null ? _win$visualViewport$o2 : 0 : 0)) / scaleY;
760
- const width = clientRect.width / scaleX;
761
- const height = clientRect.height / scaleY;
817
+ let x = (clientRect.left + (addVisualOffsets ? ((_win$visualViewport = win.visualViewport) == null ? void 0 : _win$visualViewport.offsetLeft) || 0 : 0)) / scale.x;
818
+ let y = (clientRect.top + (addVisualOffsets ? ((_win$visualViewport2 = win.visualViewport) == null ? void 0 : _win$visualViewport2.offsetTop) || 0 : 0)) / scale.y;
819
+ let width = clientRect.width / scale.x;
820
+ let height = clientRect.height / scale.y;
821
+ if (domElement) {
822
+ const win = getWindow(domElement);
823
+ const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
824
+ let currentIFrame = win.frameElement;
825
+ while (currentIFrame && offsetParent && offsetWin !== win) {
826
+ const iframeScale = getScale(currentIFrame);
827
+ const iframeRect = currentIFrame.getBoundingClientRect();
828
+ const css = getComputedStyle(currentIFrame);
829
+ iframeRect.x += (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
830
+ iframeRect.y += (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
831
+ x *= iframeScale.x;
832
+ y *= iframeScale.y;
833
+ width *= iframeScale.x;
834
+ height *= iframeScale.y;
835
+ x += iframeRect.x;
836
+ y += iframeRect.y;
837
+ currentIFrame = getWindow(currentIFrame).frameElement;
838
+ }
839
+ }
762
840
  return {
763
841
  width,
764
842
  height,
@@ -782,182 +860,12 @@ function getNodeScroll(element) {
782
860
  scrollTop: element.scrollTop
783
861
  };
784
862
  }
785
-
786
863
  return {
787
864
  scrollLeft: element.pageXOffset,
788
865
  scrollTop: element.pageYOffset
789
866
  };
790
867
  }
791
868
 
792
- function getWindowScrollBarX(element) {
793
- // If <html> has a CSS width greater than the viewport, then this will be
794
- // incorrect for RTL.
795
- return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;
796
- }
797
-
798
- function isScaled(element) {
799
- const rect = getBoundingClientRect(element);
800
- return round(rect.width) !== element.offsetWidth || round(rect.height) !== element.offsetHeight;
801
- }
802
-
803
- function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
804
- const isOffsetParentAnElement = isHTMLElement(offsetParent);
805
- const documentElement = getDocumentElement(offsetParent);
806
- const rect = getBoundingClientRect(element, // @ts-ignore - checked above (TS 4.1 compat)
807
- isOffsetParentAnElement && isScaled(offsetParent), strategy === 'fixed');
808
- let scroll = {
809
- scrollLeft: 0,
810
- scrollTop: 0
811
- };
812
- const offsets = {
813
- x: 0,
814
- y: 0
815
- };
816
-
817
- if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {
818
- if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
819
- scroll = getNodeScroll(offsetParent);
820
- }
821
-
822
- if (isHTMLElement(offsetParent)) {
823
- const offsetRect = getBoundingClientRect(offsetParent, true);
824
- offsets.x = offsetRect.x + offsetParent.clientLeft;
825
- offsets.y = offsetRect.y + offsetParent.clientTop;
826
- } else if (documentElement) {
827
- offsets.x = getWindowScrollBarX(documentElement);
828
- }
829
- }
830
-
831
- return {
832
- x: rect.left + scroll.scrollLeft - offsets.x,
833
- y: rect.top + scroll.scrollTop - offsets.y,
834
- width: rect.width,
835
- height: rect.height
836
- };
837
- }
838
-
839
- function getParentNode(node) {
840
- if (getNodeName(node) === 'html') {
841
- return node;
842
- }
843
-
844
- return (// this is a quicker (but less type safe) way to save quite some bytes from the bundle
845
- // @ts-ignore
846
- node.assignedSlot || // step into the shadow DOM of the parent of a slotted node
847
- node.parentNode || ( // DOM Element detected
848
- isShadowRoot(node) ? node.host : null) || // ShadowRoot detected
849
- getDocumentElement(node) // fallback
850
-
851
- );
852
- }
853
-
854
- function getTrueOffsetParent(element) {
855
- if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {
856
- return null;
857
- }
858
-
859
- return composedOffsetParent(element);
860
- }
861
- /**
862
- * Polyfills the old offsetParent behavior from before the spec was changed:
863
- * https://github.com/w3c/csswg-drafts/issues/159
864
- */
865
-
866
-
867
- function composedOffsetParent(element) {
868
- let {
869
- offsetParent
870
- } = element;
871
- let ancestor = element;
872
- let foundInsideSlot = false;
873
-
874
- while (ancestor && ancestor !== offsetParent) {
875
- const {
876
- assignedSlot
877
- } = ancestor;
878
-
879
- if (assignedSlot) {
880
- let newOffsetParent = assignedSlot.offsetParent;
881
-
882
- if (getComputedStyle(assignedSlot).display === 'contents') {
883
- const hadStyleAttribute = assignedSlot.hasAttribute('style');
884
- const oldDisplay = assignedSlot.style.display;
885
- assignedSlot.style.display = getComputedStyle(ancestor).display;
886
- newOffsetParent = assignedSlot.offsetParent;
887
- assignedSlot.style.display = oldDisplay;
888
-
889
- if (!hadStyleAttribute) {
890
- assignedSlot.removeAttribute('style');
891
- }
892
- }
893
-
894
- ancestor = assignedSlot;
895
-
896
- if (offsetParent !== newOffsetParent) {
897
- offsetParent = newOffsetParent;
898
- foundInsideSlot = true;
899
- }
900
- } else if (isShadowRoot(ancestor) && ancestor.host && foundInsideSlot) {
901
- break;
902
- }
903
-
904
- ancestor = isShadowRoot(ancestor) && ancestor.host || ancestor.parentNode;
905
- }
906
-
907
- return offsetParent;
908
- }
909
-
910
- function getContainingBlock(element) {
911
- let currentNode = getParentNode(element);
912
-
913
- if (isShadowRoot(currentNode)) {
914
- currentNode = currentNode.host;
915
- }
916
-
917
- while (isHTMLElement(currentNode) && !['html', 'body'].includes(getNodeName(currentNode))) {
918
- if (isContainingBlock(currentNode)) {
919
- return currentNode;
920
- } else {
921
- const parent = currentNode.parentNode;
922
- currentNode = isShadowRoot(parent) ? parent.host : parent;
923
- }
924
- }
925
-
926
- return null;
927
- } // Gets the closest ancestor positioned element. Handles some edge cases,
928
- // such as table ancestors and cross browser bugs.
929
-
930
-
931
- function getOffsetParent(element) {
932
- const window = getWindow(element);
933
- let offsetParent = getTrueOffsetParent(element);
934
-
935
- while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {
936
- offsetParent = getTrueOffsetParent(offsetParent);
937
- }
938
-
939
- if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {
940
- return window;
941
- }
942
-
943
- return offsetParent || getContainingBlock(element) || window;
944
- }
945
-
946
- function getDimensions(element) {
947
- if (isHTMLElement(element)) {
948
- return {
949
- width: element.offsetWidth,
950
- height: element.offsetHeight
951
- };
952
- }
953
-
954
- const rect = getBoundingClientRect(element);
955
- return {
956
- width: rect.width,
957
- height: rect.height
958
- };
959
- }
960
-
961
869
  function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
962
870
  let {
963
871
  rect,
@@ -966,87 +874,59 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
966
874
  } = _ref;
967
875
  const isOffsetParentAnElement = isHTMLElement(offsetParent);
968
876
  const documentElement = getDocumentElement(offsetParent);
969
-
970
877
  if (offsetParent === documentElement) {
971
878
  return rect;
972
879
  }
973
-
974
880
  let scroll = {
975
881
  scrollLeft: 0,
976
882
  scrollTop: 0
977
883
  };
884
+ let scale = {
885
+ x: 1,
886
+ y: 1
887
+ };
978
888
  const offsets = {
979
889
  x: 0,
980
890
  y: 0
981
891
  };
982
-
983
892
  if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {
984
893
  if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
985
894
  scroll = getNodeScroll(offsetParent);
986
895
  }
987
-
988
896
  if (isHTMLElement(offsetParent)) {
989
- const offsetRect = getBoundingClientRect(offsetParent, true);
897
+ const offsetRect = getBoundingClientRect(offsetParent);
898
+ scale = getScale(offsetParent);
990
899
  offsets.x = offsetRect.x + offsetParent.clientLeft;
991
900
  offsets.y = offsetRect.y + offsetParent.clientTop;
992
- } // This doesn't appear to be need to be negated.
993
- // else if (documentElement) {
994
- // offsets.x = getWindowScrollBarX(documentElement);
995
- // }
996
-
997
- }
998
-
999
- return { ...rect,
1000
- x: rect.x - scroll.scrollLeft + offsets.x,
1001
- y: rect.y - scroll.scrollTop + offsets.y
1002
- };
1003
- }
1004
-
1005
- function getViewportRect(element, strategy) {
1006
- const win = getWindow(element);
1007
- const html = getDocumentElement(element);
1008
- const visualViewport = win.visualViewport;
1009
- let width = html.clientWidth;
1010
- let height = html.clientHeight;
1011
- let x = 0;
1012
- let y = 0;
1013
-
1014
- if (visualViewport) {
1015
- width = visualViewport.width;
1016
- height = visualViewport.height;
1017
- const layoutViewport = isLayoutViewport();
1018
-
1019
- if (layoutViewport || !layoutViewport && strategy === 'fixed') {
1020
- x = visualViewport.offsetLeft;
1021
- y = visualViewport.offsetTop;
1022
901
  }
1023
902
  }
1024
-
1025
903
  return {
1026
- width,
1027
- height,
1028
- x,
1029
- y
904
+ width: rect.width * scale.x,
905
+ height: rect.height * scale.y,
906
+ x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x,
907
+ y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y
1030
908
  };
1031
909
  }
1032
910
 
1033
- // of the `<html>` and `<body>` rect bounds if horizontally scrollable
911
+ function getWindowScrollBarX(element) {
912
+ // If <html> has a CSS width greater than the viewport, then this will be
913
+ // incorrect for RTL.
914
+ return getBoundingClientRect(getDocumentElement(element)).left + getNodeScroll(element).scrollLeft;
915
+ }
1034
916
 
917
+ // Gets the entire size of the scrollable document area, even extending outside
918
+ // of the `<html>` and `<body>` rect bounds if horizontally scrollable.
1035
919
  function getDocumentRect(element) {
1036
- var _element$ownerDocumen;
1037
-
1038
920
  const html = getDocumentElement(element);
1039
921
  const scroll = getNodeScroll(element);
1040
- const body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body;
1041
- const width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0);
1042
- const height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0);
922
+ const body = element.ownerDocument.body;
923
+ const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
924
+ const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
1043
925
  let x = -scroll.scrollLeft + getWindowScrollBarX(element);
1044
926
  const y = -scroll.scrollTop;
1045
-
1046
- if (getComputedStyle(body || html).direction === 'rtl') {
1047
- x += max(html.clientWidth, body ? body.clientWidth : 0) - width;
927
+ if (getComputedStyle$1(body).direction === 'rtl') {
928
+ x += max(html.clientWidth, body.clientWidth) - width;
1048
929
  }
1049
-
1050
930
  return {
1051
931
  width,
1052
932
  height,
@@ -1055,106 +935,137 @@ function getDocumentRect(element) {
1055
935
  };
1056
936
  }
1057
937
 
938
+ function getParentNode(node) {
939
+ if (getNodeName(node) === 'html') {
940
+ return node;
941
+ }
942
+ const result =
943
+ // Step into the shadow DOM of the parent of a slotted node.
944
+ node.assignedSlot ||
945
+ // DOM Element detected.
946
+ node.parentNode ||
947
+ // ShadowRoot detected.
948
+ isShadowRoot(node) && node.host ||
949
+ // Fallback.
950
+ getDocumentElement(node);
951
+ return isShadowRoot(result) ? result.host : result;
952
+ }
953
+
1058
954
  function getNearestOverflowAncestor(node) {
1059
955
  const parentNode = getParentNode(node);
1060
-
1061
- if (['html', 'body', '#document'].includes(getNodeName(parentNode))) {
1062
- // @ts-ignore assume body is always available
1063
- return node.ownerDocument.body;
956
+ if (isLastTraversableNode(parentNode)) {
957
+ // `getParentNode` will never return a `Document` due to the fallback
958
+ // check, so it's either the <html> or <body> element.
959
+ return parentNode.ownerDocument.body;
1064
960
  }
1065
-
1066
961
  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {
1067
962
  return parentNode;
1068
963
  }
1069
-
1070
964
  return getNearestOverflowAncestor(parentNode);
1071
965
  }
1072
966
 
1073
967
  function getOverflowAncestors(node, list) {
1074
968
  var _node$ownerDocument;
1075
-
1076
969
  if (list === void 0) {
1077
970
  list = [];
1078
971
  }
1079
-
1080
972
  const scrollableAncestor = getNearestOverflowAncestor(node);
1081
973
  const isBody = scrollableAncestor === ((_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.body);
1082
974
  const win = getWindow(scrollableAncestor);
1083
- const target = isBody ? [win].concat(win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : []) : scrollableAncestor;
1084
- const updatedList = list.concat(target);
1085
- return isBody ? updatedList : // @ts-ignore: isBody tells us target will be an HTMLElement here
1086
- updatedList.concat(getOverflowAncestors(target));
975
+ if (isBody) {
976
+ return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : []);
977
+ }
978
+ return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor));
1087
979
  }
1088
980
 
1089
- function contains(parent, child) {
1090
- const rootNode = child.getRootNode == null ? void 0 : child.getRootNode(); // First, attempt with faster native method
1091
-
1092
- if (parent.contains(child)) {
1093
- return true;
1094
- } // then fallback to custom implementation with Shadow DOM support
1095
- else if (rootNode && isShadowRoot(rootNode)) {
1096
- let next = child;
1097
-
1098
- do {
1099
- // use `===` replace node.isSameNode()
1100
- if (next && parent === next) {
1101
- return true;
1102
- } // @ts-ignore: need a better way to handle this...
1103
-
1104
-
1105
- next = next.parentNode || next.host;
1106
- } while (next);
981
+ function getViewportRect(element, strategy) {
982
+ const win = getWindow(element);
983
+ const html = getDocumentElement(element);
984
+ const visualViewport = win.visualViewport;
985
+ let width = html.clientWidth;
986
+ let height = html.clientHeight;
987
+ let x = 0;
988
+ let y = 0;
989
+ if (visualViewport) {
990
+ width = visualViewport.width;
991
+ height = visualViewport.height;
992
+ const layoutViewport = isLayoutViewport();
993
+ if (layoutViewport || !layoutViewport && strategy === 'fixed') {
994
+ x = visualViewport.offsetLeft;
995
+ y = visualViewport.offsetTop;
996
+ }
1107
997
  }
1108
-
1109
- return false;
998
+ return {
999
+ width,
1000
+ height,
1001
+ x,
1002
+ y
1003
+ };
1110
1004
  }
1111
1005
 
1006
+ // Returns the inner client rect, subtracting scrollbars if present.
1112
1007
  function getInnerBoundingClientRect(element, strategy) {
1113
- const clientRect = getBoundingClientRect(element, false, strategy === 'fixed');
1008
+ const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
1114
1009
  const top = clientRect.top + element.clientTop;
1115
1010
  const left = clientRect.left + element.clientLeft;
1011
+ const scale = isHTMLElement(element) ? getScale(element) : {
1012
+ x: 1,
1013
+ y: 1
1014
+ };
1015
+ const width = element.clientWidth * scale.x;
1016
+ const height = element.clientHeight * scale.y;
1017
+ const x = left * scale.x;
1018
+ const y = top * scale.y;
1116
1019
  return {
1117
- top,
1118
- left,
1119
- x: left,
1120
- y: top,
1121
- right: left + element.clientWidth,
1122
- bottom: top + element.clientHeight,
1123
- width: element.clientWidth,
1124
- height: element.clientHeight
1020
+ width,
1021
+ height,
1022
+ x,
1023
+ y
1125
1024
  };
1126
1025
  }
1127
-
1128
- function getClientRectFromClippingAncestor(element, clippingParent, strategy) {
1129
- if (clippingParent === 'viewport') {
1026
+ function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
1027
+ if (clippingAncestor === 'viewport') {
1130
1028
  return rectToClientRect(getViewportRect(element, strategy));
1131
1029
  }
1132
-
1133
- if (isElement(clippingParent)) {
1134
- return getInnerBoundingClientRect(clippingParent, strategy);
1030
+ if (isElement(clippingAncestor)) {
1031
+ return rectToClientRect(getInnerBoundingClientRect(clippingAncestor, strategy));
1135
1032
  }
1136
-
1137
1033
  return rectToClientRect(getDocumentRect(getDocumentElement(element)));
1138
- } // A "clipping ancestor" is an overflowable container with the characteristic of
1139
- // clipping (or hiding) overflowing elements with a position different from
1140
- // `initial`
1141
-
1142
-
1143
- function getClippingAncestors(element) {
1144
- const clippingAncestors = getOverflowAncestors(element);
1145
- const canEscapeClipping = ['absolute', 'fixed'].includes(getComputedStyle(element).position);
1146
- const clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element;
1147
-
1148
- if (!isElement(clipperElement)) {
1149
- return [];
1150
- } // @ts-ignore isElement check ensures we return Array<Element>
1151
-
1034
+ }
1152
1035
 
1153
- return clippingAncestors.filter(clippingAncestors => isElement(clippingAncestors) && contains(clippingAncestors, clipperElement) && getNodeName(clippingAncestors) !== 'body');
1154
- } // Gets the maximum area that the element is visible in due to any number of
1155
- // clipping ancestors
1036
+ // A "clipping ancestor" is an `overflow` element with the characteristic of
1037
+ // clipping (or hiding) child elements. This returns all clipping ancestors
1038
+ // of the given element up the tree.
1039
+ function getClippingElementAncestors(element, cache) {
1040
+ const cachedResult = cache.get(element);
1041
+ if (cachedResult) {
1042
+ return cachedResult;
1043
+ }
1044
+ let result = getOverflowAncestors(element).filter(el => isElement(el) && getNodeName(el) !== 'body');
1045
+ let currentContainingBlockComputedStyle = null;
1046
+ const elementIsFixed = getComputedStyle$1(element).position === 'fixed';
1047
+ let currentNode = elementIsFixed ? getParentNode(element) : element;
1156
1048
 
1049
+ // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
1050
+ while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
1051
+ const computedStyle = getComputedStyle$1(currentNode);
1052
+ const containingBlock = isContainingBlock(currentNode);
1053
+ const shouldDropCurrentNode = elementIsFixed ? !containingBlock && !currentContainingBlockComputedStyle : !containingBlock && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && ['absolute', 'fixed'].includes(currentContainingBlockComputedStyle.position);
1054
+ if (shouldDropCurrentNode) {
1055
+ // Drop non-containing blocks.
1056
+ result = result.filter(ancestor => ancestor !== currentNode);
1057
+ } else {
1058
+ // Record last containing block for next iteration.
1059
+ currentContainingBlockComputedStyle = computedStyle;
1060
+ }
1061
+ currentNode = getParentNode(currentNode);
1062
+ }
1063
+ cache.set(element, result);
1064
+ return result;
1065
+ }
1157
1066
 
1067
+ // Gets the maximum area that the element is visible in due to any number of
1068
+ // clipping ancestors.
1158
1069
  function getClippingRect(_ref) {
1159
1070
  let {
1160
1071
  element,
@@ -1162,8 +1073,8 @@ function getClippingRect(_ref) {
1162
1073
  rootBoundary,
1163
1074
  strategy
1164
1075
  } = _ref;
1165
- const mainClippingAncestors = boundary === 'clippingAncestors' ? getClippingAncestors(element) : [].concat(boundary);
1166
- const clippingAncestors = [...mainClippingAncestors, rootBoundary];
1076
+ const elementClippingAncestors = boundary === 'clippingAncestors' ? getClippingElementAncestors(element, this._c) : [].concat(boundary);
1077
+ const clippingAncestors = [...elementClippingAncestors, rootBoundary];
1167
1078
  const firstClippingAncestor = clippingAncestors[0];
1168
1079
  const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {
1169
1080
  const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);
@@ -1181,6 +1092,77 @@ function getClippingRect(_ref) {
1181
1092
  };
1182
1093
  }
1183
1094
 
1095
+ function getDimensions(element) {
1096
+ if (isHTMLElement(element)) {
1097
+ return getCssDimensions(element);
1098
+ }
1099
+ return element.getBoundingClientRect();
1100
+ }
1101
+
1102
+ function getTrueOffsetParent(element) {
1103
+ if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {
1104
+ return null;
1105
+ }
1106
+ return element.offsetParent;
1107
+ }
1108
+ function getContainingBlock(element) {
1109
+ let currentNode = getParentNode(element);
1110
+ while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
1111
+ if (isContainingBlock(currentNode)) {
1112
+ return currentNode;
1113
+ } else {
1114
+ currentNode = getParentNode(currentNode);
1115
+ }
1116
+ }
1117
+ return null;
1118
+ }
1119
+
1120
+ // Gets the closest ancestor positioned element. Handles some edge cases,
1121
+ // such as table ancestors and cross browser bugs.
1122
+ function getOffsetParent(element) {
1123
+ const window = getWindow(element);
1124
+ let offsetParent = getTrueOffsetParent(element);
1125
+ while (offsetParent && isTableElement(offsetParent) && getComputedStyle$1(offsetParent).position === 'static') {
1126
+ offsetParent = getTrueOffsetParent(offsetParent);
1127
+ }
1128
+ if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle$1(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {
1129
+ return window;
1130
+ }
1131
+ return offsetParent || getContainingBlock(element) || window;
1132
+ }
1133
+
1134
+ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
1135
+ const isOffsetParentAnElement = isHTMLElement(offsetParent);
1136
+ const documentElement = getDocumentElement(offsetParent);
1137
+ const rect = getBoundingClientRect(element, true, strategy === 'fixed', offsetParent);
1138
+ let scroll = {
1139
+ scrollLeft: 0,
1140
+ scrollTop: 0
1141
+ };
1142
+ const offsets = {
1143
+ x: 0,
1144
+ y: 0
1145
+ };
1146
+ if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {
1147
+ if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
1148
+ scroll = getNodeScroll(offsetParent);
1149
+ }
1150
+ if (isHTMLElement(offsetParent)) {
1151
+ const offsetRect = getBoundingClientRect(offsetParent, true);
1152
+ offsets.x = offsetRect.x + offsetParent.clientLeft;
1153
+ offsets.y = offsetRect.y + offsetParent.clientTop;
1154
+ } else if (documentElement) {
1155
+ offsets.x = getWindowScrollBarX(documentElement);
1156
+ }
1157
+ }
1158
+ return {
1159
+ x: rect.left + scroll.scrollLeft - offsets.x,
1160
+ y: rect.top + scroll.scrollTop - offsets.y,
1161
+ width: rect.width,
1162
+ height: rect.height
1163
+ };
1164
+ }
1165
+
1184
1166
  const platform = {
1185
1167
  getClippingRect,
1186
1168
  convertOffsetParentRelativeRectToViewportRelativeRect,
@@ -1188,22 +1170,26 @@ const platform = {
1188
1170
  getDimensions,
1189
1171
  getOffsetParent,
1190
1172
  getDocumentElement,
1191
- getElementRects: _ref => {
1173
+ getScale,
1174
+ async getElementRects(_ref) {
1192
1175
  let {
1193
1176
  reference,
1194
1177
  floating,
1195
1178
  strategy
1196
1179
  } = _ref;
1180
+ const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
1181
+ const getDimensionsFn = this.getDimensions;
1197
1182
  return {
1198
- reference: getRectRelativeToOffsetParent(reference, getOffsetParent(floating), strategy),
1199
- floating: { ...getDimensions(floating),
1183
+ reference: getRectRelativeToOffsetParent(reference, await getOffsetParentFn(floating), strategy),
1184
+ floating: {
1200
1185
  x: 0,
1201
- y: 0
1186
+ y: 0,
1187
+ ...(await getDimensionsFn(floating))
1202
1188
  }
1203
1189
  };
1204
1190
  },
1205
1191
  getClientRects: element => Array.from(element.getClientRects()),
1206
- isRTL: element => getComputedStyle(element).direction === 'rtl'
1192
+ isRTL: element => getComputedStyle$1(element).direction === 'rtl'
1207
1193
  };
1208
1194
 
1209
1195
  /**
@@ -1214,16 +1200,14 @@ function autoUpdate(reference, floating, update, options) {
1214
1200
  if (options === void 0) {
1215
1201
  options = {};
1216
1202
  }
1217
-
1218
1203
  const {
1219
1204
  ancestorScroll: _ancestorScroll = true,
1220
- ancestorResize: _ancestorResize = true,
1205
+ ancestorResize = true,
1221
1206
  elementResize = true,
1222
1207
  animationFrame = false
1223
1208
  } = options;
1224
1209
  const ancestorScroll = _ancestorScroll && !animationFrame;
1225
- const ancestorResize = _ancestorResize && !animationFrame;
1226
- const ancestors = ancestorScroll || ancestorResize ? [...(isElement(reference) ? getOverflowAncestors(reference) : []), ...getOverflowAncestors(floating)] : [];
1210
+ const ancestors = ancestorScroll || ancestorResize ? [...(isElement(reference) ? getOverflowAncestors(reference) : reference.contextElement ? getOverflowAncestors(reference.contextElement) : []), ...getOverflowAncestors(floating)] : [];
1227
1211
  ancestors.forEach(ancestor => {
1228
1212
  ancestorScroll && ancestor.addEventListener('scroll', update, {
1229
1213
  passive: true
@@ -1231,49 +1215,42 @@ function autoUpdate(reference, floating, update, options) {
1231
1215
  ancestorResize && ancestor.addEventListener('resize', update);
1232
1216
  });
1233
1217
  let observer = null;
1234
-
1235
1218
  if (elementResize) {
1236
1219
  let initialUpdate = true;
1237
1220
  observer = new ResizeObserver(() => {
1238
1221
  if (!initialUpdate) {
1239
1222
  update();
1240
1223
  }
1241
-
1242
1224
  initialUpdate = false;
1243
1225
  });
1244
1226
  isElement(reference) && !animationFrame && observer.observe(reference);
1227
+ if (!isElement(reference) && reference.contextElement && !animationFrame) {
1228
+ observer.observe(reference.contextElement);
1229
+ }
1245
1230
  observer.observe(floating);
1246
1231
  }
1247
-
1248
1232
  let frameId;
1249
1233
  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
1250
-
1251
1234
  if (animationFrame) {
1252
1235
  frameLoop();
1253
1236
  }
1254
-
1255
1237
  function frameLoop() {
1256
1238
  const nextRefRect = getBoundingClientRect(reference);
1257
-
1258
1239
  if (prevRefRect && (nextRefRect.x !== prevRefRect.x || nextRefRect.y !== prevRefRect.y || nextRefRect.width !== prevRefRect.width || nextRefRect.height !== prevRefRect.height)) {
1259
1240
  update();
1260
1241
  }
1261
-
1262
1242
  prevRefRect = nextRefRect;
1263
1243
  frameId = requestAnimationFrame(frameLoop);
1264
1244
  }
1265
-
1266
1245
  update();
1267
1246
  return () => {
1268
1247
  var _observer;
1269
-
1270
1248
  ancestors.forEach(ancestor => {
1271
1249
  ancestorScroll && ancestor.removeEventListener('scroll', update);
1272
1250
  ancestorResize && ancestor.removeEventListener('resize', update);
1273
1251
  });
1274
1252
  (_observer = observer) == null ? void 0 : _observer.disconnect();
1275
1253
  observer = null;
1276
-
1277
1254
  if (animationFrame) {
1278
1255
  cancelAnimationFrame(frameId);
1279
1256
  }
@@ -1285,11 +1262,24 @@ function autoUpdate(reference, floating, update, options) {
1285
1262
  * next to a reference element when it is given a certain CSS positioning
1286
1263
  * strategy.
1287
1264
  */
1288
-
1289
- const computePosition = (reference, floating, options) => computePosition$1(reference, floating, {
1290
- platform,
1291
- ...options
1292
- });
1265
+ const computePosition = (reference, floating, options) => {
1266
+ // This caches the expensive `getClippingElementAncestors` function so that
1267
+ // multiple lifecycle resets re-use the same result. It only lives for a
1268
+ // single call. If other functions become expensive, we can add them as well.
1269
+ const cache = new Map();
1270
+ const mergedOptions = {
1271
+ platform,
1272
+ ...options
1273
+ };
1274
+ const platformWithCache = {
1275
+ ...mergedOptions.platform,
1276
+ _c: cache
1277
+ };
1278
+ return computePosition$1(reference, floating, {
1279
+ ...mergedOptions,
1280
+ platform: platformWithCache
1281
+ });
1282
+ };
1293
1283
 
1294
1284
  const Arrow = `<svg width="16" height="8" viewBox="0 0 16 8" fill="none" xmlns="http://www.w3.org/2000/svg">
1295
1285
  <path d="M0 8L16 8L8 0L0 8Z" fill="currentColor"/>