genesys-spark-components 4.81.1 → 4.81.3

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 (377) hide show
  1. package/dist/cjs/{floating-ui.dom.esm-f8b4cd90.js → floating-ui.dom.esm-0f6207f9.js} +465 -79
  2. package/dist/cjs/genesys-webcomponents.cjs.js +1 -1
  3. package/dist/cjs/{get-valid-timezone-52eac7fa.js → get-valid-timezone-c248443a.js} +1 -1
  4. package/dist/cjs/gux-accordion.cjs.entry.js +1 -1
  5. package/dist/cjs/gux-action-button.cjs.entry.js +5 -4
  6. package/dist/cjs/gux-action-toast-legacy.cjs.entry.js +1 -1
  7. package/dist/cjs/gux-advanced-dropdown-legacy.cjs.entry.js +2 -2
  8. package/dist/cjs/gux-all-row-select.cjs.entry.js +1 -1
  9. package/dist/cjs/gux-announce-beta.cjs.entry.js +1 -1
  10. package/dist/cjs/gux-avatar-beta.cjs.entry.js +2 -2
  11. package/dist/cjs/gux-avatar-change-photo-beta.cjs.entry.js +2 -2
  12. package/dist/cjs/gux-badge.cjs.entry.js +2 -2
  13. package/dist/cjs/gux-blank-state.cjs.entry.js +1 -1
  14. package/dist/cjs/gux-breadcrumbs.cjs.entry.js +2 -2
  15. package/dist/cjs/gux-button-multi.cjs.entry.js +1 -1
  16. package/dist/cjs/gux-button-slot.cjs.entry.js +1 -1
  17. package/dist/cjs/gux-button.cjs.entry.js +1 -1
  18. package/dist/cjs/gux-calendar-beta.cjs.entry.js +1 -1
  19. package/dist/cjs/gux-calendar.cjs.entry.js +2 -2
  20. package/dist/cjs/gux-card.cjs.entry.js +1 -1
  21. package/dist/cjs/gux-column-manager-item.cjs.entry.js +1 -1
  22. package/dist/cjs/gux-column-manager.cjs.entry.js +2 -2
  23. package/dist/cjs/gux-content-search.cjs.entry.js +2 -2
  24. package/dist/cjs/gux-context-menu.cjs.entry.js +2 -2
  25. package/dist/cjs/gux-copy-to-clipboard.cjs.entry.js +2 -2
  26. package/dist/cjs/gux-create-option.cjs.entry.js +1 -1
  27. package/dist/cjs/gux-date-beta.cjs.entry.js +3 -3
  28. package/dist/cjs/gux-date-time-beta.cjs.entry.js +3 -3
  29. package/dist/cjs/gux-datepicker.cjs.entry.js +3 -3
  30. package/dist/cjs/gux-disclosure-button-legacy.cjs.entry.js +2 -2
  31. package/dist/cjs/gux-dismiss-button.cjs.entry.js +2 -2
  32. package/dist/cjs/gux-dropdown-multi-tag.cjs.entry.js +1 -1
  33. package/dist/cjs/gux-dropdown-multi.cjs.entry.js +2 -2
  34. package/dist/cjs/gux-dropdown_3.cjs.entry.js +2 -2
  35. package/dist/cjs/gux-flag-icon-beta.cjs.entry.js +1 -1
  36. package/dist/cjs/gux-flyout-menu.cjs.entry.js +2 -2
  37. package/dist/cjs/gux-form-field-checkbox-group-beta.cjs.entry.js +2 -2
  38. package/dist/cjs/gux-form-field-checkbox.cjs.entry.js +2 -2
  39. package/dist/cjs/gux-form-field-color.cjs.entry.js +2 -2
  40. package/dist/cjs/gux-form-field-dropdown.cjs.entry.js +3 -3
  41. package/dist/cjs/gux-form-field-file.cjs.entry.js +2 -2
  42. package/dist/cjs/gux-form-field-input-clear-button.cjs.entry.js +2 -2
  43. package/dist/cjs/gux-form-field-label-indicator.cjs.entry.js +2 -2
  44. package/dist/cjs/gux-form-field-number_3.cjs.entry.js +7 -7
  45. package/dist/cjs/gux-form-field-phone.cjs.entry.js +3 -3
  46. package/dist/cjs/gux-form-field-radio-group-beta.cjs.entry.js +2 -2
  47. package/dist/cjs/gux-form-field-radio.cjs.entry.js +2 -2
  48. package/dist/cjs/gux-form-field-range.cjs.entry.js +2 -2
  49. package/dist/cjs/gux-form-field-search.cjs.entry.js +2 -2
  50. package/dist/cjs/gux-form-field-select.cjs.entry.js +2 -2
  51. package/dist/cjs/gux-form-field-text-like.cjs.entry.js +2 -2
  52. package/dist/cjs/gux-form-field-textarea.cjs.entry.js +2 -2
  53. package/dist/cjs/gux-form-field-time-picker.cjs.entry.js +3 -3
  54. package/dist/cjs/gux-form-field-time-zone-picker.cjs.entry.js +3 -3
  55. package/dist/cjs/{gux-form-field.service-57a00684.js → gux-form-field.service-42c9f800.js} +8 -4
  56. package/dist/cjs/gux-form-footer.cjs.entry.js +1 -1
  57. package/dist/cjs/gux-icon-tooltip-beta.cjs.entry.js +1 -1
  58. package/dist/cjs/gux-icon.cjs.entry.js +1 -1
  59. package/dist/cjs/gux-inline-alert.cjs.entry.js +2 -2
  60. package/dist/cjs/gux-label-info-beta.cjs.entry.js +1 -1
  61. package/dist/cjs/gux-list.cjs.entry.js +1 -1
  62. package/dist/cjs/gux-listbox-multi.cjs.entry.js +3 -3
  63. package/dist/cjs/gux-loading-message.cjs.entry.js +1 -1
  64. package/dist/cjs/gux-modal-legacy.cjs.entry.js +1 -1
  65. package/dist/cjs/gux-modal.cjs.entry.js +1 -1
  66. package/dist/cjs/gux-month-calendar.cjs.entry.js +1 -1
  67. package/dist/cjs/gux-month-picker-beta.cjs.entry.js +2 -2
  68. package/dist/cjs/gux-notification-toast-legacy.cjs.entry.js +1 -1
  69. package/dist/cjs/gux-option-multi.cjs.entry.js +1 -1
  70. package/dist/cjs/gux-page-loading-spinner.cjs.entry.js +1 -1
  71. package/dist/cjs/gux-pagination-buttons-legacy_3.cjs.entry.js +1 -1
  72. package/dist/cjs/gux-pagination-buttons_2.cjs.entry.js +1 -1
  73. package/dist/cjs/gux-pagination-cursor.cjs.entry.js +2 -2
  74. package/dist/cjs/gux-pagination-items-per-page.cjs.entry.js +1 -1
  75. package/dist/cjs/gux-pagination-legacy.cjs.entry.js +1 -1
  76. package/dist/cjs/gux-pagination.cjs.entry.js +1 -1
  77. package/dist/cjs/gux-phone-input-beta.cjs.entry.js +6 -6
  78. package/dist/cjs/gux-popover-list.cjs.entry.js +2 -2
  79. package/dist/cjs/gux-popup.cjs.entry.js +10 -7
  80. package/dist/cjs/gux-radial-loading.cjs.entry.js +2 -2
  81. package/dist/cjs/gux-radial-progress.cjs.entry.js +1 -1
  82. package/dist/cjs/gux-rating.cjs.entry.js +1 -1
  83. package/dist/cjs/gux-row-select.cjs.entry.js +1 -1
  84. package/dist/cjs/gux-screen-reader-beta_2.cjs.entry.js +21 -2
  85. package/dist/cjs/gux-segmented-control-beta.cjs.entry.js +1 -1
  86. package/dist/cjs/gux-selector-card-beta.cjs.entry.js +2 -2
  87. package/dist/cjs/gux-selector-cards-beta.cjs.entry.js +1 -1
  88. package/dist/cjs/gux-simple-toast-legacy.cjs.entry.js +1 -1
  89. package/dist/cjs/gux-skip-navigation-list.cjs.entry.js +2 -2
  90. package/dist/cjs/gux-sort-control.cjs.entry.js +2 -2
  91. package/dist/cjs/gux-submenu.cjs.entry.js +1 -1
  92. package/dist/cjs/gux-switch-legacy.cjs.entry.js +1 -1
  93. package/dist/cjs/gux-tab-advanced-list.cjs.entry.js +7 -6
  94. package/dist/cjs/gux-tab-advanced.cjs.entry.js +1 -1
  95. package/dist/cjs/gux-tab-list.cjs.entry.js +28 -12
  96. package/dist/cjs/gux-table-select-menu.cjs.entry.js +1 -1
  97. package/dist/cjs/gux-table-toolbar-action.cjs.entry.js +2 -2
  98. package/dist/cjs/gux-table-toolbar-custom-action.cjs.entry.js +1 -1
  99. package/dist/cjs/gux-table-toolbar-menu-button.cjs.entry.js +2 -2
  100. package/dist/cjs/gux-table-toolbar.cjs.entry.js +15 -8
  101. package/dist/cjs/gux-table.cjs.entry.js +2 -2
  102. package/dist/cjs/gux-tabs-advanced.cjs.entry.js +1 -1
  103. package/dist/cjs/gux-tabs.cjs.entry.js +1 -1
  104. package/dist/cjs/gux-tag.cjs.entry.js +2 -2
  105. package/dist/cjs/gux-text-highlight.cjs.entry.js +1 -1
  106. package/dist/cjs/gux-time-beta.cjs.entry.js +3 -3
  107. package/dist/cjs/gux-time-picker.cjs.entry.js +2 -2
  108. package/dist/cjs/gux-time-zone-beta.cjs.entry.js +2 -2
  109. package/dist/cjs/gux-time-zone-picker-beta.cjs.entry.js +2 -2
  110. package/dist/cjs/gux-toast.cjs.entry.js +1 -1
  111. package/dist/cjs/gux-toggle.cjs.entry.js +2 -2
  112. package/dist/cjs/gux-tooltip-base-beta.cjs.entry.js +4 -4
  113. package/dist/cjs/gux-tooltip.cjs.entry.js +2 -2
  114. package/dist/cjs/{index-a1a48d79.js → index-71d01472.js} +1 -1
  115. package/dist/cjs/loader.cjs.js +1 -1
  116. package/dist/cjs/{usage-8579e08d.js → usage-294d5ea4.js} +22 -22
  117. package/dist/collection/components/beta/gux-phone-input/gux-phone-input.js +4 -4
  118. package/dist/collection/components/beta/gux-tooltip-base/gux-tooltip-base.js +2 -2
  119. package/dist/collection/components/beta/gux-tooltip-beta/gux-tooltip.js +22 -2
  120. package/dist/collection/components/beta/gux-tooltip-beta/tests/gux-tooltip.e2e.js +2 -0
  121. package/dist/collection/components/beta/gux-tooltip-beta/tests/gux-tooltip.spec.js +2 -1
  122. package/dist/collection/components/stable/gux-action-button/gux-action-button.js +3 -2
  123. package/dist/collection/components/stable/gux-content-search/tests/gux-content-search.e2e.js +10 -0
  124. package/dist/collection/components/stable/gux-copy-to-clipboard/tests/gux-copy-to-clipboard.spec.js +3 -1
  125. package/dist/collection/components/stable/gux-form-field/gux-form-field.service.js +8 -4
  126. package/dist/collection/components/stable/gux-listbox-multi/gux-listbox-multi.css +1 -1
  127. package/dist/collection/components/stable/gux-pagination/gux-pagination-buttons/gux-pagination-ellipsis-button/gux-pagination-ellipsis-button.js +3 -3
  128. package/dist/collection/components/stable/gux-popup/gux-popup.js +9 -6
  129. package/dist/collection/components/stable/gux-table-toolbar/gux-table-toolbar.js +14 -7
  130. package/dist/collection/components/stable/gux-tabs/gux-tab-list/gux-tab-list.css +1 -1
  131. package/dist/collection/components/stable/gux-tabs/gux-tab-list/gux-tab-list.js +26 -10
  132. package/dist/collection/components/stable/gux-tabs-advanced/gux-tab-advanced-list/gux-tab-advanced-list.css +1 -1
  133. package/dist/collection/i18n/index.js +1 -1
  134. package/dist/esm/{floating-ui.dom.esm-8b93f9de.js → floating-ui.dom.esm-3320b3cf.js} +465 -79
  135. package/dist/esm/genesys-webcomponents.js +1 -1
  136. package/dist/esm/{get-valid-timezone-daff1c0b.js → get-valid-timezone-5077e4ad.js} +1 -1
  137. package/dist/esm/gux-accordion.entry.js +1 -1
  138. package/dist/esm/gux-action-button.entry.js +5 -4
  139. package/dist/esm/gux-action-toast-legacy.entry.js +1 -1
  140. package/dist/esm/gux-advanced-dropdown-legacy.entry.js +2 -2
  141. package/dist/esm/gux-all-row-select.entry.js +1 -1
  142. package/dist/esm/gux-announce-beta.entry.js +1 -1
  143. package/dist/esm/gux-avatar-beta.entry.js +2 -2
  144. package/dist/esm/gux-avatar-change-photo-beta.entry.js +2 -2
  145. package/dist/esm/gux-badge.entry.js +2 -2
  146. package/dist/esm/gux-blank-state.entry.js +1 -1
  147. package/dist/esm/gux-breadcrumbs.entry.js +2 -2
  148. package/dist/esm/gux-button-multi.entry.js +1 -1
  149. package/dist/esm/gux-button-slot.entry.js +1 -1
  150. package/dist/esm/gux-button.entry.js +1 -1
  151. package/dist/esm/gux-calendar-beta.entry.js +1 -1
  152. package/dist/esm/gux-calendar.entry.js +2 -2
  153. package/dist/esm/gux-card.entry.js +1 -1
  154. package/dist/esm/gux-column-manager-item.entry.js +1 -1
  155. package/dist/esm/gux-column-manager.entry.js +2 -2
  156. package/dist/esm/gux-content-search.entry.js +2 -2
  157. package/dist/esm/gux-context-menu.entry.js +2 -2
  158. package/dist/esm/gux-copy-to-clipboard.entry.js +2 -2
  159. package/dist/esm/gux-create-option.entry.js +1 -1
  160. package/dist/esm/gux-date-beta.entry.js +3 -3
  161. package/dist/esm/gux-date-time-beta.entry.js +3 -3
  162. package/dist/esm/gux-datepicker.entry.js +3 -3
  163. package/dist/esm/gux-disclosure-button-legacy.entry.js +2 -2
  164. package/dist/esm/gux-dismiss-button.entry.js +2 -2
  165. package/dist/esm/gux-dropdown-multi-tag.entry.js +1 -1
  166. package/dist/esm/gux-dropdown-multi.entry.js +2 -2
  167. package/dist/esm/gux-dropdown_3.entry.js +2 -2
  168. package/dist/esm/gux-flag-icon-beta.entry.js +1 -1
  169. package/dist/esm/gux-flyout-menu.entry.js +2 -2
  170. package/dist/esm/gux-form-field-checkbox-group-beta.entry.js +2 -2
  171. package/dist/esm/gux-form-field-checkbox.entry.js +2 -2
  172. package/dist/esm/gux-form-field-color.entry.js +2 -2
  173. package/dist/esm/gux-form-field-dropdown.entry.js +3 -3
  174. package/dist/esm/gux-form-field-file.entry.js +2 -2
  175. package/dist/esm/gux-form-field-input-clear-button.entry.js +2 -2
  176. package/dist/esm/gux-form-field-label-indicator.entry.js +2 -2
  177. package/dist/esm/gux-form-field-number_3.entry.js +7 -7
  178. package/dist/esm/gux-form-field-phone.entry.js +3 -3
  179. package/dist/esm/gux-form-field-radio-group-beta.entry.js +2 -2
  180. package/dist/esm/gux-form-field-radio.entry.js +2 -2
  181. package/dist/esm/gux-form-field-range.entry.js +2 -2
  182. package/dist/esm/gux-form-field-search.entry.js +2 -2
  183. package/dist/esm/gux-form-field-select.entry.js +2 -2
  184. package/dist/esm/gux-form-field-text-like.entry.js +2 -2
  185. package/dist/esm/gux-form-field-textarea.entry.js +2 -2
  186. package/dist/esm/gux-form-field-time-picker.entry.js +3 -3
  187. package/dist/esm/gux-form-field-time-zone-picker.entry.js +3 -3
  188. package/dist/esm/{gux-form-field.service-46fea82d.js → gux-form-field.service-986d3f3f.js} +8 -4
  189. package/dist/esm/gux-form-footer.entry.js +1 -1
  190. package/dist/esm/gux-icon-tooltip-beta.entry.js +1 -1
  191. package/dist/esm/gux-icon.entry.js +1 -1
  192. package/dist/esm/gux-inline-alert.entry.js +2 -2
  193. package/dist/esm/gux-label-info-beta.entry.js +1 -1
  194. package/dist/esm/gux-list.entry.js +1 -1
  195. package/dist/esm/gux-listbox-multi.entry.js +3 -3
  196. package/dist/esm/gux-loading-message.entry.js +1 -1
  197. package/dist/esm/gux-modal-legacy.entry.js +1 -1
  198. package/dist/esm/gux-modal.entry.js +1 -1
  199. package/dist/esm/gux-month-calendar.entry.js +1 -1
  200. package/dist/esm/gux-month-picker-beta.entry.js +2 -2
  201. package/dist/esm/gux-notification-toast-legacy.entry.js +1 -1
  202. package/dist/esm/gux-option-multi.entry.js +1 -1
  203. package/dist/esm/gux-page-loading-spinner.entry.js +1 -1
  204. package/dist/esm/gux-pagination-buttons-legacy_3.entry.js +1 -1
  205. package/dist/esm/gux-pagination-buttons_2.entry.js +1 -1
  206. package/dist/esm/gux-pagination-cursor.entry.js +2 -2
  207. package/dist/esm/gux-pagination-items-per-page.entry.js +1 -1
  208. package/dist/esm/gux-pagination-legacy.entry.js +1 -1
  209. package/dist/esm/gux-pagination.entry.js +1 -1
  210. package/dist/esm/gux-phone-input-beta.entry.js +6 -6
  211. package/dist/esm/gux-popover-list.entry.js +2 -2
  212. package/dist/esm/gux-popup.entry.js +10 -7
  213. package/dist/esm/gux-radial-loading.entry.js +2 -2
  214. package/dist/esm/gux-radial-progress.entry.js +1 -1
  215. package/dist/esm/gux-rating.entry.js +1 -1
  216. package/dist/esm/gux-row-select.entry.js +1 -1
  217. package/dist/esm/gux-screen-reader-beta_2.entry.js +21 -2
  218. package/dist/esm/gux-segmented-control-beta.entry.js +1 -1
  219. package/dist/esm/gux-selector-card-beta.entry.js +2 -2
  220. package/dist/esm/gux-selector-cards-beta.entry.js +1 -1
  221. package/dist/esm/gux-simple-toast-legacy.entry.js +1 -1
  222. package/dist/esm/gux-skip-navigation-list.entry.js +2 -2
  223. package/dist/esm/gux-sort-control.entry.js +2 -2
  224. package/dist/esm/gux-submenu.entry.js +1 -1
  225. package/dist/esm/gux-switch-legacy.entry.js +1 -1
  226. package/dist/esm/gux-tab-advanced-list.entry.js +7 -6
  227. package/dist/esm/gux-tab-advanced.entry.js +1 -1
  228. package/dist/esm/gux-tab-list.entry.js +28 -12
  229. package/dist/esm/gux-table-select-menu.entry.js +1 -1
  230. package/dist/esm/gux-table-toolbar-action.entry.js +2 -2
  231. package/dist/esm/gux-table-toolbar-custom-action.entry.js +1 -1
  232. package/dist/esm/gux-table-toolbar-menu-button.entry.js +2 -2
  233. package/dist/esm/gux-table-toolbar.entry.js +15 -8
  234. package/dist/esm/gux-table.entry.js +2 -2
  235. package/dist/esm/gux-tabs-advanced.entry.js +1 -1
  236. package/dist/esm/gux-tabs.entry.js +1 -1
  237. package/dist/esm/gux-tag.entry.js +2 -2
  238. package/dist/esm/gux-text-highlight.entry.js +1 -1
  239. package/dist/esm/gux-time-beta.entry.js +3 -3
  240. package/dist/esm/gux-time-picker.entry.js +2 -2
  241. package/dist/esm/gux-time-zone-beta.entry.js +2 -2
  242. package/dist/esm/gux-time-zone-picker-beta.entry.js +2 -2
  243. package/dist/esm/gux-toast.entry.js +1 -1
  244. package/dist/esm/gux-toggle.entry.js +2 -2
  245. package/dist/esm/gux-tooltip-base-beta.entry.js +4 -4
  246. package/dist/esm/gux-tooltip.entry.js +2 -2
  247. package/dist/esm/{index-3f1e5ba8.js → index-358e497c.js} +1 -1
  248. package/dist/esm/loader.js +1 -1
  249. package/dist/esm/{usage-95b15889.js → usage-44565801.js} +22 -22
  250. package/dist/genesys-webcomponents/genesys-webcomponents-flare.css +1 -1
  251. package/dist/genesys-webcomponents/genesys-webcomponents-legacy.css +1 -1
  252. package/dist/genesys-webcomponents/genesys-webcomponents.esm.js +1 -1
  253. package/dist/genesys-webcomponents/{p-a44a24b1.entry.js → p-02278a97.entry.js} +1 -1
  254. package/dist/genesys-webcomponents/{p-452b58c4.entry.js → p-047a851c.entry.js} +1 -1
  255. package/dist/genesys-webcomponents/{p-76df7717.js → p-073ffec4.js} +1 -1
  256. package/dist/genesys-webcomponents/{p-3d1d79b2.entry.js → p-0c403f42.entry.js} +1 -1
  257. package/dist/genesys-webcomponents/{p-2b8f5e98.entry.js → p-128f193e.entry.js} +1 -1
  258. package/dist/genesys-webcomponents/{p-0cc1fcf7.entry.js → p-13b55316.entry.js} +1 -1
  259. package/dist/genesys-webcomponents/{p-bd8f52f1.entry.js → p-143424b2.entry.js} +1 -1
  260. package/dist/genesys-webcomponents/{p-6c7ba3b5.entry.js → p-14a7b35e.entry.js} +1 -1
  261. package/dist/genesys-webcomponents/{p-c38aebad.entry.js → p-14e814ea.entry.js} +1 -1
  262. package/dist/genesys-webcomponents/{p-fa64b06a.entry.js → p-15227383.entry.js} +1 -1
  263. package/dist/genesys-webcomponents/{p-98b516fd.entry.js → p-1a0442da.entry.js} +1 -1
  264. package/dist/genesys-webcomponents/{p-53ed5d56.entry.js → p-1c975af6.entry.js} +1 -1
  265. package/dist/genesys-webcomponents/{p-3f29ae12.entry.js → p-1f00b59d.entry.js} +1 -1
  266. package/dist/genesys-webcomponents/{p-6f2b0083.entry.js → p-201ce764.entry.js} +1 -1
  267. package/dist/genesys-webcomponents/{p-fd22b7bc.entry.js → p-2054eff3.entry.js} +1 -1
  268. package/dist/genesys-webcomponents/{p-3e82e2f0.entry.js → p-2538e88a.entry.js} +1 -1
  269. package/dist/genesys-webcomponents/{p-0ed731b4.entry.js → p-2a675d17.entry.js} +1 -1
  270. package/dist/genesys-webcomponents/{p-c211d6e2.entry.js → p-2cf75f90.entry.js} +1 -1
  271. package/dist/genesys-webcomponents/p-2e07807d.entry.js +1 -0
  272. package/dist/genesys-webcomponents/{p-3b5f8cb2.entry.js → p-305f3b73.entry.js} +1 -1
  273. package/dist/genesys-webcomponents/{p-783974aa.entry.js → p-31dc8685.entry.js} +1 -1
  274. package/dist/genesys-webcomponents/{p-820546af.entry.js → p-32007921.entry.js} +1 -1
  275. package/dist/genesys-webcomponents/p-33a88d98.entry.js +1 -0
  276. package/dist/genesys-webcomponents/{p-8f9fd7c7.entry.js → p-367b315d.entry.js} +1 -1
  277. package/dist/genesys-webcomponents/{p-46ec7dc7.entry.js → p-3c06a890.entry.js} +1 -1
  278. package/dist/genesys-webcomponents/{p-045d5f00.entry.js → p-3d3ec94a.entry.js} +1 -1
  279. package/dist/genesys-webcomponents/{p-7735947e.entry.js → p-3dfc6893.entry.js} +1 -1
  280. package/dist/genesys-webcomponents/{p-355021f1.entry.js → p-3e936009.entry.js} +1 -1
  281. package/dist/genesys-webcomponents/{p-3567b951.entry.js → p-456722ff.entry.js} +1 -1
  282. package/dist/genesys-webcomponents/{p-45bc3165.entry.js → p-4891b658.entry.js} +1 -1
  283. package/dist/genesys-webcomponents/{p-63209794.entry.js → p-4a6f7631.entry.js} +1 -1
  284. package/dist/genesys-webcomponents/{p-7f04f58e.entry.js → p-4d031ac4.entry.js} +1 -1
  285. package/dist/genesys-webcomponents/{p-569b2050.entry.js → p-4d8b48e3.entry.js} +1 -1
  286. package/dist/genesys-webcomponents/{p-7d0a0efe.entry.js → p-4da72ea1.entry.js} +1 -1
  287. package/dist/genesys-webcomponents/{p-d9d3c45c.entry.js → p-4e70f8ea.entry.js} +1 -1
  288. package/dist/genesys-webcomponents/{p-527906ad.entry.js → p-537be308.entry.js} +1 -1
  289. package/dist/genesys-webcomponents/{p-d6f69212.entry.js → p-53bc8b00.entry.js} +1 -1
  290. package/dist/genesys-webcomponents/{p-e1371806.entry.js → p-559dce90.entry.js} +1 -1
  291. package/dist/genesys-webcomponents/p-55b23fe6.entry.js +7 -0
  292. package/dist/genesys-webcomponents/{p-750a995d.entry.js → p-58034b30.entry.js} +1 -1
  293. package/dist/genesys-webcomponents/{p-f644c56d.entry.js → p-5cd29baf.entry.js} +1 -1
  294. package/dist/genesys-webcomponents/{p-5a217448.entry.js → p-5fc9109b.entry.js} +1 -1
  295. package/dist/genesys-webcomponents/{p-20e83fce.entry.js → p-61b6aafe.entry.js} +1 -1
  296. package/dist/genesys-webcomponents/{p-92b43304.entry.js → p-699cbb87.entry.js} +1 -1
  297. package/dist/genesys-webcomponents/{p-4be156f8.entry.js → p-6a9a7349.entry.js} +1 -1
  298. package/dist/genesys-webcomponents/{p-9e576119.entry.js → p-6aaa33d3.entry.js} +1 -1
  299. package/dist/genesys-webcomponents/{p-8c4b4b52.entry.js → p-6c894ad5.entry.js} +1 -1
  300. package/dist/genesys-webcomponents/{p-62ce2ea7.entry.js → p-6e25815e.entry.js} +1 -1
  301. package/dist/genesys-webcomponents/p-6ff60f92.entry.js +1 -0
  302. package/dist/genesys-webcomponents/{p-b4aba2cc.entry.js → p-744e5aa7.entry.js} +1 -1
  303. package/dist/genesys-webcomponents/{p-f945e395.entry.js → p-76d6dd09.entry.js} +1 -1
  304. package/dist/genesys-webcomponents/{p-588e526c.entry.js → p-792015bb.entry.js} +1 -1
  305. package/dist/genesys-webcomponents/{p-7d499f89.entry.js → p-7a0412e4.entry.js} +1 -1
  306. package/dist/genesys-webcomponents/{p-9e71f353.entry.js → p-7b1efdee.entry.js} +1 -1
  307. package/dist/genesys-webcomponents/{p-be01a004.entry.js → p-7be41d84.entry.js} +1 -1
  308. package/dist/genesys-webcomponents/{p-07c346aa.entry.js → p-7fa83ccf.entry.js} +1 -1
  309. package/dist/genesys-webcomponents/{p-446ce83b.entry.js → p-81651648.entry.js} +1 -1
  310. package/dist/genesys-webcomponents/{p-749a7117.entry.js → p-81bacfcd.entry.js} +1 -1
  311. package/dist/genesys-webcomponents/{p-520ef8c1.entry.js → p-851b620a.entry.js} +1 -1
  312. package/dist/genesys-webcomponents/{p-42ce3da1.entry.js → p-85b63c29.entry.js} +1 -1
  313. package/dist/genesys-webcomponents/{p-3306b14f.entry.js → p-875ca6f1.entry.js} +1 -1
  314. package/dist/genesys-webcomponents/{p-e2ecfa45.entry.js → p-8ac9461e.entry.js} +1 -1
  315. package/dist/genesys-webcomponents/{p-739266be.entry.js → p-8d965d78.entry.js} +1 -1
  316. package/dist/genesys-webcomponents/{p-48c600d4.entry.js → p-8dfa7777.entry.js} +1 -1
  317. package/dist/genesys-webcomponents/{p-1473963d.entry.js → p-8eed2ba0.entry.js} +1 -1
  318. package/dist/genesys-webcomponents/{p-c692140e.entry.js → p-94ca7371.entry.js} +1 -1
  319. package/dist/genesys-webcomponents/{p-812fa8d1.entry.js → p-99588d61.entry.js} +1 -1
  320. package/dist/genesys-webcomponents/{p-e4f44be4.entry.js → p-9ab209d9.entry.js} +1 -1
  321. package/dist/genesys-webcomponents/{p-d7800d27.entry.js → p-9b4fe26c.entry.js} +1 -1
  322. package/dist/genesys-webcomponents/{p-61bbdf15.entry.js → p-9f745e91.entry.js} +1 -1
  323. package/dist/genesys-webcomponents/{p-ce3ba002.entry.js → p-a73efd6e.entry.js} +1 -1
  324. package/dist/genesys-webcomponents/p-a8329b61.entry.js +1 -0
  325. package/dist/genesys-webcomponents/{p-366f79e8.entry.js → p-a9e06467.entry.js} +1 -1
  326. package/dist/genesys-webcomponents/{p-6a5b85eb.entry.js → p-ac3a5f2a.entry.js} +1 -1
  327. package/dist/genesys-webcomponents/{p-0613ddc4.entry.js → p-ac697165.entry.js} +1 -1
  328. package/dist/genesys-webcomponents/{p-3dfa630d.entry.js → p-ae62858c.entry.js} +1 -1
  329. package/dist/genesys-webcomponents/{p-7371d80c.entry.js → p-af26921c.entry.js} +1 -1
  330. package/dist/genesys-webcomponents/{p-e84597f3.entry.js → p-afc85ff4.entry.js} +1 -1
  331. package/dist/genesys-webcomponents/{p-ac228801.entry.js → p-b01e47cf.entry.js} +1 -1
  332. package/dist/genesys-webcomponents/{p-8007ea72.entry.js → p-b4c2366b.entry.js} +1 -1
  333. package/dist/genesys-webcomponents/{p-b85ac0c2.entry.js → p-b88c3691.entry.js} +1 -1
  334. package/dist/genesys-webcomponents/{p-7c96d18f.entry.js → p-b8d08311.entry.js} +1 -1
  335. package/dist/genesys-webcomponents/{p-f16cdf36.entry.js → p-b9bfb3bd.entry.js} +1 -1
  336. package/dist/genesys-webcomponents/{p-a0d16297.entry.js → p-bcabf665.entry.js} +1 -1
  337. package/dist/genesys-webcomponents/{p-40d65a75.entry.js → p-bd6a3cd7.entry.js} +1 -1
  338. package/dist/genesys-webcomponents/{p-2f2e2697.entry.js → p-bdd934e4.entry.js} +1 -1
  339. package/dist/genesys-webcomponents/{p-23d2e6f1.entry.js → p-c217b305.entry.js} +1 -1
  340. package/dist/genesys-webcomponents/{p-5cf6d73b.entry.js → p-c6bef656.entry.js} +1 -1
  341. package/dist/genesys-webcomponents/{p-dfa26287.entry.js → p-cc1c8263.entry.js} +1 -1
  342. package/dist/genesys-webcomponents/{p-11ff03c8.entry.js → p-cda69a7e.entry.js} +1 -1
  343. package/dist/genesys-webcomponents/{p-f66109b6.entry.js → p-ce5dfcf7.entry.js} +1 -1
  344. package/dist/genesys-webcomponents/{p-9595f5ba.entry.js → p-cedd7ee8.entry.js} +1 -1
  345. package/dist/genesys-webcomponents/{p-f9e6a6e9.entry.js → p-cfb05744.entry.js} +1 -1
  346. package/dist/genesys-webcomponents/{p-16309ab7.entry.js → p-d33203c4.entry.js} +1 -1
  347. package/dist/genesys-webcomponents/{p-e35e6338.entry.js → p-d39cc4ab.entry.js} +1 -1
  348. package/dist/genesys-webcomponents/{p-dc32c9d7.entry.js → p-d6188f60.entry.js} +1 -1
  349. package/dist/genesys-webcomponents/{p-8d8c54ee.entry.js → p-d865a9b4.entry.js} +1 -1
  350. package/dist/genesys-webcomponents/p-d8ba5b01.js +1 -0
  351. package/dist/genesys-webcomponents/{p-cc704ba5.entry.js → p-da1566e0.entry.js} +1 -1
  352. package/dist/genesys-webcomponents/{p-47666559.entry.js → p-da4319d6.entry.js} +1 -1
  353. package/dist/genesys-webcomponents/{p-68c084ac.js → p-db4f0bab.js} +1 -1
  354. package/dist/genesys-webcomponents/{p-5fdd2e0a.entry.js → p-dc754d71.entry.js} +1 -1
  355. package/dist/genesys-webcomponents/{p-1c0fef43.entry.js → p-de884813.entry.js} +1 -1
  356. package/dist/genesys-webcomponents/{p-d077d632.entry.js → p-df758948.entry.js} +1 -1
  357. package/dist/genesys-webcomponents/{p-532ca75c.entry.js → p-e10c6e26.entry.js} +1 -1
  358. package/dist/genesys-webcomponents/{p-202d8e02.entry.js → p-e312dbe7.entry.js} +1 -1
  359. package/dist/genesys-webcomponents/{p-b8478c39.entry.js → p-e41c1fc6.entry.js} +1 -1
  360. package/dist/genesys-webcomponents/{p-889c1553.entry.js → p-ea79fc04.entry.js} +1 -1
  361. package/dist/genesys-webcomponents/{p-377c8e26.entry.js → p-ee112a07.entry.js} +1 -1
  362. package/dist/genesys-webcomponents/{p-cab707a8.entry.js → p-f5559bc4.entry.js} +1 -1
  363. package/dist/genesys-webcomponents/{p-21c90d22.entry.js → p-f620acc4.entry.js} +1 -1
  364. package/dist/genesys-webcomponents/{p-e54d9c83.entry.js → p-f75a2175.entry.js} +1 -1
  365. package/dist/stencil-wrapper.js +1 -1
  366. package/dist/types/components/beta/gux-tooltip-beta/gux-tooltip.d.ts +4 -0
  367. package/dist/types/components/stable/gux-form-field/functional-components/gux-form-field-screenreader-label/gux-form-field-screenreader-label.d.ts +1 -4
  368. package/dist/types/stencil-wrapper.d.ts +1 -1
  369. package/package.json +22 -22
  370. package/dist/genesys-webcomponents/p-30bc467f.entry.js +0 -1
  371. package/dist/genesys-webcomponents/p-3a6d3737.entry.js +0 -7
  372. package/dist/genesys-webcomponents/p-66a8e167.entry.js +0 -1
  373. package/dist/genesys-webcomponents/p-73d81c3f.entry.js +0 -1
  374. package/dist/genesys-webcomponents/p-b43ee47b.js +0 -1
  375. package/dist/genesys-webcomponents/p-e073818a.entry.js +0 -1
  376. /package/dist/genesys-webcomponents/{p-66246239.js → p-42f2e889.js} +0 -0
  377. /package/dist/genesys-webcomponents/{p-0367930a.js → p-909c2a19.js} +0 -0
@@ -1,6 +1,19 @@
1
+ /**
2
+ * Custom positioning reference element.
3
+ * @see https://floating-ui.com/docs/virtual-elements
4
+ */
5
+
1
6
  const sides = ['top', 'right', 'bottom', 'left'];
2
- const min$1 = Math.min;
3
- const max$1 = Math.max;
7
+ const alignments = ['start', 'end'];
8
+ const placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + "-" + alignments[0], side + "-" + alignments[1]), []);
9
+ const min = Math.min;
10
+ const max = Math.max;
11
+ const round = Math.round;
12
+ const floor = Math.floor;
13
+ const createCoords = v => ({
14
+ x: v,
15
+ y: v
16
+ });
4
17
  const oppositeSideMap = {
5
18
  left: 'right',
6
19
  right: 'left',
@@ -12,7 +25,7 @@ const oppositeAlignmentMap = {
12
25
  end: 'start'
13
26
  };
14
27
  function clamp(start, value, end) {
15
- return max$1(start, min$1(value, end));
28
+ return max(start, min(value, end));
16
29
  }
17
30
  function evaluate(value, param) {
18
31
  return typeof value === 'function' ? value(param) : value;
@@ -104,12 +117,21 @@ function getPaddingObject(padding) {
104
117
  };
105
118
  }
106
119
  function rectToClientRect(rect) {
120
+ const {
121
+ x,
122
+ y,
123
+ width,
124
+ height
125
+ } = rect;
107
126
  return {
108
- ...rect,
109
- top: rect.y,
110
- left: rect.x,
111
- right: rect.x + rect.width,
112
- bottom: rect.y + rect.height
127
+ width,
128
+ height,
129
+ top: y,
130
+ left: x,
131
+ right: x + width,
132
+ bottom: y + height,
133
+ x,
134
+ y
113
135
  };
114
136
  }
115
137
 
@@ -171,7 +193,7 @@ function computeCoordsFromPlacement(_ref, placement, rtl) {
171
193
 
172
194
  /**
173
195
  * Computes the `x` and `y` coordinates that will place the floating element
174
- * next to a reference element when it is given a certain positioning strategy.
196
+ * next to a given reference element.
175
197
  *
176
198
  * This export does not have any `platform` interface logic. You will need to
177
199
  * write one for the platform you are using Floating UI with.
@@ -249,7 +271,6 @@ const computePosition$1 = async (reference, floating, config) => {
249
271
  } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));
250
272
  }
251
273
  i = -1;
252
- continue;
253
274
  }
254
275
  }
255
276
  return {
@@ -299,9 +320,10 @@ async function detectOverflow(state, options) {
299
320
  strategy
300
321
  }));
301
322
  const rect = elementContext === 'floating' ? {
302
- ...rects.floating,
303
323
  x,
304
- y
324
+ y,
325
+ width: rects.floating.width,
326
+ height: rects.floating.height
305
327
  } : rects.reference;
306
328
  const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
307
329
  const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {
@@ -312,6 +334,7 @@ async function detectOverflow(state, options) {
312
334
  y: 1
313
335
  };
314
336
  const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({
337
+ elements,
315
338
  rect,
316
339
  offsetParent,
317
340
  strategy
@@ -376,22 +399,22 @@ const arrow$1 = options => ({
376
399
  // If the padding is large enough that it causes the arrow to no longer be
377
400
  // centered, modify the padding so that it is centered.
378
401
  const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;
379
- const minPadding = min$1(paddingObject[minProp], largestPossiblePadding);
380
- const maxPadding = min$1(paddingObject[maxProp], largestPossiblePadding);
402
+ const minPadding = min(paddingObject[minProp], largestPossiblePadding);
403
+ const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);
381
404
 
382
405
  // Make sure the arrow doesn't overflow the floating element if the center
383
406
  // point is outside the floating element's bounds.
384
- const min$1$1 = minPadding;
407
+ const min$1 = minPadding;
385
408
  const max = clientSize - arrowDimensions[length] - maxPadding;
386
409
  const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;
387
- const offset = clamp(min$1$1, center, max);
410
+ const offset = clamp(min$1, center, max);
388
411
 
389
412
  // If the reference is small enough that the arrow's padding causes it to
390
413
  // to point to nothing for an aligned placement, adjust the offset of the
391
414
  // floating element itself. To ensure `shift()` continues to take action,
392
415
  // a single reset is performed when this is true.
393
- const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center != offset && rects.reference[length] / 2 - (center < min$1$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
394
- const alignmentOffset = shouldAddOffset ? center < min$1$1 ? center - min$1$1 : center - max : 0;
416
+ const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
417
+ const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;
395
418
  return {
396
419
  [axis]: coords[axis] + alignmentOffset,
397
420
  data: {
@@ -406,6 +429,109 @@ const arrow$1 = options => ({
406
429
  }
407
430
  });
408
431
 
432
+ function getPlacementList(alignment, autoAlignment, allowedPlacements) {
433
+ const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);
434
+ return allowedPlacementsSortedByAlignment.filter(placement => {
435
+ if (alignment) {
436
+ return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);
437
+ }
438
+ return true;
439
+ });
440
+ }
441
+ /**
442
+ * Optimizes the visibility of the floating element by choosing the placement
443
+ * that has the most space available automatically, without needing to specify a
444
+ * preferred placement. Alternative to `flip`.
445
+ * @see https://floating-ui.com/docs/autoPlacement
446
+ */
447
+ const autoPlacement = function (options) {
448
+ if (options === void 0) {
449
+ options = {};
450
+ }
451
+ return {
452
+ name: 'autoPlacement',
453
+ options,
454
+ async fn(state) {
455
+ var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;
456
+ const {
457
+ rects,
458
+ middlewareData,
459
+ placement,
460
+ platform,
461
+ elements
462
+ } = state;
463
+ const {
464
+ crossAxis = false,
465
+ alignment,
466
+ allowedPlacements = placements,
467
+ autoAlignment = true,
468
+ ...detectOverflowOptions
469
+ } = evaluate(options, state);
470
+ const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;
471
+ const overflow = await detectOverflow(state, detectOverflowOptions);
472
+ const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;
473
+ const currentPlacement = placements$1[currentIndex];
474
+ if (currentPlacement == null) {
475
+ return {};
476
+ }
477
+ const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));
478
+
479
+ // Make `computeCoords` start from the right place.
480
+ if (placement !== currentPlacement) {
481
+ return {
482
+ reset: {
483
+ placement: placements$1[0]
484
+ }
485
+ };
486
+ }
487
+ const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];
488
+ const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {
489
+ placement: currentPlacement,
490
+ overflows: currentOverflows
491
+ }];
492
+ const nextPlacement = placements$1[currentIndex + 1];
493
+
494
+ // There are more placements to check.
495
+ if (nextPlacement) {
496
+ return {
497
+ data: {
498
+ index: currentIndex + 1,
499
+ overflows: allOverflows
500
+ },
501
+ reset: {
502
+ placement: nextPlacement
503
+ }
504
+ };
505
+ }
506
+ const placementsSortedByMostSpace = allOverflows.map(d => {
507
+ const alignment = getAlignment(d.placement);
508
+ return [d.placement, alignment && crossAxis ?
509
+ // Check along the mainAxis and main crossAxis side.
510
+ d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :
511
+ // Check only the mainAxis.
512
+ d.overflows[0], d.overflows];
513
+ }).sort((a, b) => a[1] - b[1]);
514
+ const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,
515
+ // Aligned placements should not check their opposite crossAxis
516
+ // side.
517
+ getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));
518
+ const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];
519
+ if (resetPlacement !== placement) {
520
+ return {
521
+ data: {
522
+ index: currentIndex + 1,
523
+ overflows: allOverflows
524
+ },
525
+ reset: {
526
+ placement: resetPlacement
527
+ }
528
+ };
529
+ }
530
+ return {};
531
+ }
532
+ };
533
+ };
534
+
409
535
  /**
410
536
  * Optimizes the visibility of the floating element by flipping the `placement`
411
537
  * in order to keep it in view when the preferred placement(s) will overflow the
@@ -447,10 +573,12 @@ const flip$1 = function (options) {
447
573
  return {};
448
574
  }
449
575
  const side = getSide(placement);
576
+ const initialSideAxis = getSideAxis(initialPlacement);
450
577
  const isBasePlacement = getSide(initialPlacement) === initialPlacement;
451
578
  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
452
579
  const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));
453
- if (!specifiedFallbackPlacements && fallbackAxisSideDirection !== 'none') {
580
+ const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';
581
+ if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {
454
582
  fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
455
583
  }
456
584
  const placements = [initialPlacement, ...fallbackPlacements];
@@ -496,8 +624,17 @@ const flip$1 = function (options) {
496
624
  switch (fallbackStrategy) {
497
625
  case 'bestFit':
498
626
  {
499
- var _overflowsData$map$so;
500
- const placement = (_overflowsData$map$so = overflowsData.map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$map$so[0];
627
+ var _overflowsData$filter2;
628
+ const placement = (_overflowsData$filter2 = overflowsData.filter(d => {
629
+ if (hasFallbackAxisSideDirection) {
630
+ const currentSideAxis = getSideAxis(d.placement);
631
+ return currentSideAxis === initialSideAxis ||
632
+ // Create a bias to the `y` side axis due to horizontal
633
+ // reading directions favoring greater width.
634
+ currentSideAxis === 'y';
635
+ }
636
+ return true;
637
+ }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];
501
638
  if (placement) {
502
639
  resetPlacement = placement;
503
640
  }
@@ -590,8 +727,140 @@ const hide$1 = function (options) {
590
727
  };
591
728
  };
592
729
 
730
+ function getBoundingRect(rects) {
731
+ const minX = min(...rects.map(rect => rect.left));
732
+ const minY = min(...rects.map(rect => rect.top));
733
+ const maxX = max(...rects.map(rect => rect.right));
734
+ const maxY = max(...rects.map(rect => rect.bottom));
735
+ return {
736
+ x: minX,
737
+ y: minY,
738
+ width: maxX - minX,
739
+ height: maxY - minY
740
+ };
741
+ }
742
+ function getRectsByLine(rects) {
743
+ const sortedRects = rects.slice().sort((a, b) => a.y - b.y);
744
+ const groups = [];
745
+ let prevRect = null;
746
+ for (let i = 0; i < sortedRects.length; i++) {
747
+ const rect = sortedRects[i];
748
+ if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {
749
+ groups.push([rect]);
750
+ } else {
751
+ groups[groups.length - 1].push(rect);
752
+ }
753
+ prevRect = rect;
754
+ }
755
+ return groups.map(rect => rectToClientRect(getBoundingRect(rect)));
756
+ }
757
+ /**
758
+ * Provides improved positioning for inline reference elements that can span
759
+ * over multiple lines, such as hyperlinks or range selections.
760
+ * @see https://floating-ui.com/docs/inline
761
+ */
762
+ const inline = function (options) {
763
+ if (options === void 0) {
764
+ options = {};
765
+ }
766
+ return {
767
+ name: 'inline',
768
+ options,
769
+ async fn(state) {
770
+ const {
771
+ placement,
772
+ elements,
773
+ rects,
774
+ platform,
775
+ strategy
776
+ } = state;
777
+ // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a
778
+ // ClientRect's bounds, despite the event listener being triggered. A
779
+ // padding of 2 seems to handle this issue.
780
+ const {
781
+ padding = 2,
782
+ x,
783
+ y
784
+ } = evaluate(options, state);
785
+ const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);
786
+ const clientRects = getRectsByLine(nativeClientRects);
787
+ const fallback = rectToClientRect(getBoundingRect(nativeClientRects));
788
+ const paddingObject = getPaddingObject(padding);
789
+ function getBoundingClientRect() {
790
+ // There are two rects and they are disjoined.
791
+ if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {
792
+ // Find the first rect in which the point is fully inside.
793
+ return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;
794
+ }
795
+
796
+ // There are 2 or more connected rects.
797
+ if (clientRects.length >= 2) {
798
+ if (getSideAxis(placement) === 'y') {
799
+ const firstRect = clientRects[0];
800
+ const lastRect = clientRects[clientRects.length - 1];
801
+ const isTop = getSide(placement) === 'top';
802
+ const top = firstRect.top;
803
+ const bottom = lastRect.bottom;
804
+ const left = isTop ? firstRect.left : lastRect.left;
805
+ const right = isTop ? firstRect.right : lastRect.right;
806
+ const width = right - left;
807
+ const height = bottom - top;
808
+ return {
809
+ top,
810
+ bottom,
811
+ left,
812
+ right,
813
+ width,
814
+ height,
815
+ x: left,
816
+ y: top
817
+ };
818
+ }
819
+ const isLeftSide = getSide(placement) === 'left';
820
+ const maxRight = max(...clientRects.map(rect => rect.right));
821
+ const minLeft = min(...clientRects.map(rect => rect.left));
822
+ const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);
823
+ const top = measureRects[0].top;
824
+ const bottom = measureRects[measureRects.length - 1].bottom;
825
+ const left = minLeft;
826
+ const right = maxRight;
827
+ const width = right - left;
828
+ const height = bottom - top;
829
+ return {
830
+ top,
831
+ bottom,
832
+ left,
833
+ right,
834
+ width,
835
+ height,
836
+ x: left,
837
+ y: top
838
+ };
839
+ }
840
+ return fallback;
841
+ }
842
+ const resetRects = await platform.getElementRects({
843
+ reference: {
844
+ getBoundingClientRect
845
+ },
846
+ floating: elements.floating,
847
+ strategy
848
+ });
849
+ if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {
850
+ return {
851
+ reset: {
852
+ rects: resetRects
853
+ }
854
+ };
855
+ }
856
+ return {};
857
+ }
858
+ };
859
+ };
860
+
593
861
  // For type backwards-compatibility, the `OffsetOptions` type was also
594
862
  // Derivable.
863
+
595
864
  async function convertValueToCoords(state, options) {
596
865
  const {
597
866
  placement,
@@ -640,7 +909,7 @@ async function convertValueToCoords(state, options) {
640
909
  * object may be passed.
641
910
  * @see https://floating-ui.com/docs/offset
642
911
  */
643
- const offset = function (options) {
912
+ const offset$1 = function (options) {
644
913
  if (options === void 0) {
645
914
  options = 0;
646
915
  }
@@ -648,15 +917,27 @@ const offset = function (options) {
648
917
  name: 'offset',
649
918
  options,
650
919
  async fn(state) {
920
+ var _middlewareData$offse, _middlewareData$arrow;
651
921
  const {
652
922
  x,
653
- y
923
+ y,
924
+ placement,
925
+ middlewareData
654
926
  } = state;
655
927
  const diffCoords = await convertValueToCoords(state, options);
928
+
929
+ // If the placement is the same and the arrow caused an alignment offset
930
+ // then we don't need to change the positioning coordinates.
931
+ if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {
932
+ return {};
933
+ }
656
934
  return {
657
935
  x: x + diffCoords.x,
658
936
  y: y + diffCoords.y,
659
- data: diffCoords
937
+ data: {
938
+ ...diffCoords,
939
+ placement
940
+ }
660
941
  };
661
942
  }
662
943
  };
@@ -735,6 +1016,74 @@ const shift$1 = function (options) {
735
1016
  }
736
1017
  };
737
1018
  };
1019
+ /**
1020
+ * Built-in `limiter` that will stop `shift()` at a certain point.
1021
+ */
1022
+ const limitShift = function (options) {
1023
+ if (options === void 0) {
1024
+ options = {};
1025
+ }
1026
+ return {
1027
+ options,
1028
+ fn(state) {
1029
+ const {
1030
+ x,
1031
+ y,
1032
+ placement,
1033
+ rects,
1034
+ middlewareData
1035
+ } = state;
1036
+ const {
1037
+ offset = 0,
1038
+ mainAxis: checkMainAxis = true,
1039
+ crossAxis: checkCrossAxis = true
1040
+ } = evaluate(options, state);
1041
+ const coords = {
1042
+ x,
1043
+ y
1044
+ };
1045
+ const crossAxis = getSideAxis(placement);
1046
+ const mainAxis = getOppositeAxis(crossAxis);
1047
+ let mainAxisCoord = coords[mainAxis];
1048
+ let crossAxisCoord = coords[crossAxis];
1049
+ const rawOffset = evaluate(offset, state);
1050
+ const computedOffset = typeof rawOffset === 'number' ? {
1051
+ mainAxis: rawOffset,
1052
+ crossAxis: 0
1053
+ } : {
1054
+ mainAxis: 0,
1055
+ crossAxis: 0,
1056
+ ...rawOffset
1057
+ };
1058
+ if (checkMainAxis) {
1059
+ const len = mainAxis === 'y' ? 'height' : 'width';
1060
+ const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;
1061
+ const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;
1062
+ if (mainAxisCoord < limitMin) {
1063
+ mainAxisCoord = limitMin;
1064
+ } else if (mainAxisCoord > limitMax) {
1065
+ mainAxisCoord = limitMax;
1066
+ }
1067
+ }
1068
+ if (checkCrossAxis) {
1069
+ var _middlewareData$offse, _middlewareData$offse2;
1070
+ const len = mainAxis === 'y' ? 'width' : 'height';
1071
+ const isOriginSide = ['top', 'left'].includes(getSide(placement));
1072
+ const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);
1073
+ const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);
1074
+ if (crossAxisCoord < limitMin) {
1075
+ crossAxisCoord = limitMin;
1076
+ } else if (crossAxisCoord > limitMax) {
1077
+ crossAxisCoord = limitMax;
1078
+ }
1079
+ }
1080
+ return {
1081
+ [mainAxis]: mainAxisCoord,
1082
+ [crossAxis]: crossAxisCoord
1083
+ };
1084
+ }
1085
+ };
1086
+ };
738
1087
 
739
1088
  /**
740
1089
  * Provides data that allows you to change the size of the floating element —
@@ -777,27 +1126,27 @@ const size$1 = function (options) {
777
1126
  widthSide = side;
778
1127
  heightSide = alignment === 'end' ? 'top' : 'bottom';
779
1128
  }
780
- const overflowAvailableHeight = height - overflow[heightSide];
781
- const overflowAvailableWidth = width - overflow[widthSide];
1129
+ const maximumClippingHeight = height - overflow.top - overflow.bottom;
1130
+ const maximumClippingWidth = width - overflow.left - overflow.right;
1131
+ const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
1132
+ const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
782
1133
  const noShift = !state.middlewareData.shift;
783
1134
  let availableHeight = overflowAvailableHeight;
784
1135
  let availableWidth = overflowAvailableWidth;
785
1136
  if (isYAxis) {
786
- const maximumClippingWidth = width - overflow.left - overflow.right;
787
- availableWidth = alignment || noShift ? min$1(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;
1137
+ availableWidth = alignment || noShift ? min(overflowAvailableWidth, maximumClippingWidth) : maximumClippingWidth;
788
1138
  } else {
789
- const maximumClippingHeight = height - overflow.top - overflow.bottom;
790
- availableHeight = alignment || noShift ? min$1(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight;
1139
+ availableHeight = alignment || noShift ? min(overflowAvailableHeight, maximumClippingHeight) : maximumClippingHeight;
791
1140
  }
792
1141
  if (noShift && !alignment) {
793
- const xMin = max$1(overflow.left, 0);
794
- const xMax = max$1(overflow.right, 0);
795
- const yMin = max$1(overflow.top, 0);
796
- const yMax = max$1(overflow.bottom, 0);
1142
+ const xMin = max(overflow.left, 0);
1143
+ const xMax = max(overflow.right, 0);
1144
+ const yMin = max(overflow.top, 0);
1145
+ const yMax = max(overflow.bottom, 0);
797
1146
  if (isYAxis) {
798
- availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max$1(overflow.left, overflow.right));
1147
+ availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));
799
1148
  } else {
800
- availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max$1(overflow.top, overflow.bottom));
1149
+ availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));
801
1150
  }
802
1151
  }
803
1152
  await apply({
@@ -818,19 +1167,6 @@ const size$1 = function (options) {
818
1167
  };
819
1168
  };
820
1169
 
821
- /**
822
- * Custom positioning reference element.
823
- * @see https://floating-ui.com/docs/virtual-elements
824
- */
825
- const min = Math.min;
826
- const max = Math.max;
827
- const round = Math.round;
828
- const floor = Math.floor;
829
- const createCoords = v => ({
830
- x: v,
831
- y: v
832
- });
833
-
834
1170
  function getNodeName(node) {
835
1171
  if (isNode(node)) {
836
1172
  return (node.nodeName || '').toLowerCase();
@@ -876,9 +1212,18 @@ function isOverflowElement(element) {
876
1212
  function isTableElement(element) {
877
1213
  return ['table', 'td', 'th'].includes(getNodeName(element));
878
1214
  }
879
- function isContainingBlock(element) {
1215
+ function isTopLayer(element) {
1216
+ return [':popover-open', ':modal'].some(selector => {
1217
+ try {
1218
+ return element.matches(selector);
1219
+ } catch (e) {
1220
+ return false;
1221
+ }
1222
+ });
1223
+ }
1224
+ function isContainingBlock(elementOrCss) {
880
1225
  const webkit = isWebKit();
881
- const css = getComputedStyle(element);
1226
+ const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;
882
1227
 
883
1228
  // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block
884
1229
  return css.transform !== 'none' || css.perspective !== 'none' || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || ['transform', 'perspective', 'filter'].some(value => (css.willChange || '').includes(value)) || ['paint', 'layout', 'strict', 'content'].some(value => (css.contain || '').includes(value));
@@ -888,9 +1233,10 @@ function getContainingBlock(element) {
888
1233
  while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {
889
1234
  if (isContainingBlock(currentNode)) {
890
1235
  return currentNode;
891
- } else {
892
- currentNode = getParentNode(currentNode);
1236
+ } else if (isTopLayer(currentNode)) {
1237
+ return null;
893
1238
  }
1239
+ currentNode = getParentNode(currentNode);
894
1240
  }
895
1241
  return null;
896
1242
  }
@@ -912,8 +1258,8 @@ function getNodeScroll(element) {
912
1258
  };
913
1259
  }
914
1260
  return {
915
- scrollLeft: element.pageXOffset,
916
- scrollTop: element.pageYOffset
1261
+ scrollLeft: element.scrollX,
1262
+ scrollTop: element.scrollY
917
1263
  };
918
1264
  }
919
1265
  function getParentNode(node) {
@@ -953,10 +1299,14 @@ function getOverflowAncestors(node, list, traverseIframes) {
953
1299
  const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);
954
1300
  const win = getWindow(scrollableAncestor);
955
1301
  if (isBody) {
956
- return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], win.frameElement && traverseIframes ? getOverflowAncestors(win.frameElement) : []);
1302
+ const frameElement = getFrameElement(win);
1303
+ return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
957
1304
  }
958
1305
  return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
959
1306
  }
1307
+ function getFrameElement(win) {
1308
+ return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
1309
+ }
960
1310
 
961
1311
  function getCssDimensions(element) {
962
1312
  const css = getComputedStyle(element);
@@ -1060,7 +1410,7 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
1060
1410
  const win = getWindow(domElement);
1061
1411
  const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
1062
1412
  let currentWin = win;
1063
- let currentIFrame = currentWin.frameElement;
1413
+ let currentIFrame = getFrameElement(currentWin);
1064
1414
  while (currentIFrame && offsetParent && offsetWin !== currentWin) {
1065
1415
  const iframeScale = getScale(currentIFrame);
1066
1416
  const iframeRect = currentIFrame.getBoundingClientRect();
@@ -1074,7 +1424,7 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
1074
1424
  x += left;
1075
1425
  y += top;
1076
1426
  currentWin = getWindow(currentIFrame);
1077
- currentIFrame = currentWin.frameElement;
1427
+ currentIFrame = getFrameElement(currentWin);
1078
1428
  }
1079
1429
  }
1080
1430
  return rectToClientRect({
@@ -1085,17 +1435,6 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
1085
1435
  });
1086
1436
  }
1087
1437
 
1088
- const topLayerSelectors = [':popover-open', ':modal'];
1089
- function isTopLayer(floating) {
1090
- return topLayerSelectors.some(selector => {
1091
- try {
1092
- return floating.matches(selector);
1093
- } catch (e) {
1094
- return false;
1095
- }
1096
- });
1097
- }
1098
-
1099
1438
  function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
1100
1439
  let {
1101
1440
  elements,
@@ -1277,7 +1616,7 @@ function getClippingRect(_ref) {
1277
1616
  rootBoundary,
1278
1617
  strategy
1279
1618
  } = _ref;
1280
- const elementClippingAncestors = boundary === 'clippingAncestors' ? getClippingElementAncestors(element, this._c) : [].concat(boundary);
1619
+ const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
1281
1620
  const clippingAncestors = [...elementClippingAncestors, rootBoundary];
1282
1621
  const firstClippingAncestor = clippingAncestors[0];
1283
1622
  const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {
@@ -1339,6 +1678,10 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
1339
1678
  };
1340
1679
  }
1341
1680
 
1681
+ function isStaticPositioned(element) {
1682
+ return getComputedStyle(element).position === 'static';
1683
+ }
1684
+
1342
1685
  function getTrueOffsetParent(element, polyfill) {
1343
1686
  if (!isHTMLElement(element) || getComputedStyle(element).position === 'fixed') {
1344
1687
  return null;
@@ -1352,29 +1695,41 @@ function getTrueOffsetParent(element, polyfill) {
1352
1695
  // Gets the closest ancestor positioned element. Handles some edge cases,
1353
1696
  // such as table ancestors and cross browser bugs.
1354
1697
  function getOffsetParent(element, polyfill) {
1355
- const window = getWindow(element);
1356
- if (!isHTMLElement(element) || isTopLayer(element)) {
1357
- return window;
1698
+ const win = getWindow(element);
1699
+ if (isTopLayer(element)) {
1700
+ return win;
1701
+ }
1702
+ if (!isHTMLElement(element)) {
1703
+ let svgOffsetParent = getParentNode(element);
1704
+ while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {
1705
+ if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {
1706
+ return svgOffsetParent;
1707
+ }
1708
+ svgOffsetParent = getParentNode(svgOffsetParent);
1709
+ }
1710
+ return win;
1358
1711
  }
1359
1712
  let offsetParent = getTrueOffsetParent(element, polyfill);
1360
- while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === 'static') {
1713
+ while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {
1361
1714
  offsetParent = getTrueOffsetParent(offsetParent, polyfill);
1362
1715
  }
1363
- if (offsetParent && (getNodeName(offsetParent) === 'html' || getNodeName(offsetParent) === 'body' && getComputedStyle(offsetParent).position === 'static' && !isContainingBlock(offsetParent))) {
1364
- return window;
1716
+ if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {
1717
+ return win;
1365
1718
  }
1366
- return offsetParent || getContainingBlock(element) || window;
1719
+ return offsetParent || getContainingBlock(element) || win;
1367
1720
  }
1368
1721
 
1369
1722
  const getElementRects = async function (data) {
1370
1723
  const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
1371
1724
  const getDimensionsFn = this.getDimensions;
1725
+ const floatingDimensions = await getDimensionsFn(data.floating);
1372
1726
  return {
1373
1727
  reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),
1374
1728
  floating: {
1375
1729
  x: 0,
1376
1730
  y: 0,
1377
- ...(await getDimensionsFn(data.floating))
1731
+ width: floatingDimensions.width,
1732
+ height: floatingDimensions.height
1378
1733
  }
1379
1734
  };
1380
1735
  };
@@ -1444,9 +1799,11 @@ function observeMove(element, onMove) {
1444
1799
  return refresh();
1445
1800
  }
1446
1801
  if (!ratio) {
1802
+ // If the reference is clipped, the ratio is 0. Throttle the refresh
1803
+ // to prevent an infinite loop of updates.
1447
1804
  timeoutId = setTimeout(() => {
1448
1805
  refresh(false, 1e-7);
1449
- }, 100);
1806
+ }, 1000);
1450
1807
  } else {
1451
1808
  refresh(false, ratio);
1452
1809
  }
@@ -1550,6 +1907,23 @@ function autoUpdate(reference, floating, update, options) {
1550
1907
  };
1551
1908
  }
1552
1909
 
1910
+ /**
1911
+ * Modifies the placement by translating the floating element along the
1912
+ * specified axes.
1913
+ * A number (shorthand for `mainAxis` or distance), or an axes configuration
1914
+ * object may be passed.
1915
+ * @see https://floating-ui.com/docs/offset
1916
+ */
1917
+ const offset = offset$1;
1918
+
1919
+ /**
1920
+ * Optimizes the visibility of the floating element by choosing the placement
1921
+ * that has the most space available automatically, without needing to specify a
1922
+ * preferred placement. Alternative to `flip`.
1923
+ * @see https://floating-ui.com/docs/autoPlacement
1924
+ */
1925
+ autoPlacement;
1926
+
1553
1927
  /**
1554
1928
  * Optimizes the visibility of the floating element by shifting it in order to
1555
1929
  * keep it in view when it will overflow the clipping boundary.
@@ -1587,6 +1961,18 @@ const hide = hide$1;
1587
1961
  */
1588
1962
  const arrow = arrow$1;
1589
1963
 
1964
+ /**
1965
+ * Provides improved positioning for inline reference elements that can span
1966
+ * over multiple lines, such as hyperlinks or range selections.
1967
+ * @see https://floating-ui.com/docs/inline
1968
+ */
1969
+ inline;
1970
+
1971
+ /**
1972
+ * Built-in `limiter` that will stop `shift()` at a certain point.
1973
+ */
1974
+ limitShift;
1975
+
1590
1976
  /**
1591
1977
  * Computes the `x` and `y` coordinates that will place the floating element
1592
1978
  * next to a given reference element.