@oiz/stzh-components 2.2.0 → 2.3.0-alpha2

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