genesys-spark-components 3.88.0 → 3.89.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (366) hide show
  1. package/dist/cjs/en-b3076cac.js +22 -0
  2. package/dist/cjs/{floating-ui.dom.esm-531b2703.js → floating-ui.dom.esm-0ace0310.js} +137 -81
  3. package/dist/cjs/genesys-webcomponents.cjs.js +1 -1
  4. package/dist/cjs/gux-accordion-legacy.cjs.entry.js +1 -1
  5. package/dist/cjs/gux-accordion.cjs.entry.js +1 -1
  6. package/dist/cjs/gux-action-button-legacy.cjs.entry.js +1 -1
  7. package/dist/cjs/gux-action-button.cjs.entry.js +1 -1
  8. package/dist/cjs/gux-action-list-legacy_2.cjs.entry.js +1 -1
  9. package/dist/cjs/gux-action-toast.cjs.entry.js +1 -1
  10. package/dist/cjs/gux-advanced-dropdown.cjs.entry.js +1 -1
  11. package/dist/cjs/gux-announce-beta.cjs.entry.js +1 -1
  12. package/dist/cjs/gux-badge-beta.cjs.entry.js +1 -1
  13. package/dist/cjs/gux-blank-state-beta.cjs.entry.js +2 -2
  14. package/dist/cjs/gux-breadcrumbs.cjs.entry.js +1 -1
  15. package/dist/cjs/gux-button-multi-legacy.cjs.entry.js +1 -1
  16. package/dist/cjs/gux-button-multi.cjs.entry.js +1 -1
  17. package/dist/cjs/gux-button-slot-beta.cjs.entry.js +1 -1
  18. package/dist/cjs/gux-button.cjs.entry.js +1 -1
  19. package/dist/cjs/gux-calendar.cjs.entry.js +1 -1
  20. package/dist/cjs/gux-card-beta.cjs.entry.js +1 -1
  21. package/dist/cjs/gux-chart-column-beta.cjs.entry.js +1 -1
  22. package/dist/cjs/gux-chart-donut-beta.cjs.entry.js +1 -1
  23. package/dist/cjs/gux-chart-line-beta.cjs.entry.js +1 -1
  24. package/dist/cjs/gux-chart-pie-beta.cjs.entry.js +1 -1
  25. package/dist/cjs/gux-chart-scatter-plot-beta.cjs.entry.js +1 -1
  26. package/dist/cjs/gux-column-manager-beta.cjs.entry.js +1 -1
  27. package/dist/cjs/gux-command-palette-legacy.cjs.entry.js +1 -1
  28. package/dist/cjs/gux-content-search.cjs.entry.js +1 -1
  29. package/dist/cjs/gux-context-menu-beta.cjs.entry.js +1 -1
  30. package/dist/cjs/gux-copy-to-clipboard-beta.cjs.entry.js +1 -1
  31. package/dist/cjs/gux-date-beta.cjs.entry.js +1 -1
  32. package/dist/cjs/gux-date-time-beta.cjs.entry.js +1 -1
  33. package/dist/cjs/gux-datepicker.cjs.entry.js +2 -2
  34. package/dist/cjs/gux-disclosure-button.cjs.entry.js +1 -1
  35. package/dist/cjs/gux-dismiss-button.cjs.entry.js +1 -1
  36. package/dist/cjs/gux-dropdown-legacy.cjs.entry.js +2 -2
  37. package/dist/cjs/gux-dropdown-multi-beta.cjs.entry.js +2 -2
  38. package/dist/cjs/gux-dropdown_3.cjs.entry.js +2 -2
  39. package/dist/cjs/gux-error-message-beta.cjs.entry.js +1 -1
  40. package/dist/cjs/gux-flyout-menu-beta.cjs.entry.js +1 -1
  41. package/dist/cjs/gux-form-field-checkbox.cjs.entry.js +2 -2
  42. package/dist/cjs/gux-form-field-color.cjs.entry.js +2 -2
  43. package/dist/cjs/gux-form-field-dropdown.cjs.entry.js +2 -2
  44. package/dist/cjs/gux-form-field-input-clear-button.cjs.entry.js +1 -1
  45. package/dist/cjs/gux-form-field-legacy.cjs.entry.js +2 -2
  46. package/dist/cjs/gux-form-field-number_3.cjs.entry.js +388 -0
  47. package/dist/cjs/gux-form-field-phone.cjs.entry.js +2 -2
  48. package/dist/cjs/gux-form-field-radio.cjs.entry.js +2 -2
  49. package/dist/cjs/gux-form-field-range.cjs.entry.js +2 -2
  50. package/dist/cjs/gux-form-field-search.cjs.entry.js +2 -2
  51. package/dist/cjs/gux-form-field-select.cjs.entry.js +2 -2
  52. package/dist/cjs/gux-form-field-text-like.cjs.entry.js +2 -2
  53. package/dist/cjs/gux-form-field-textarea.cjs.entry.js +2 -2
  54. package/dist/cjs/gux-form-field-time-picker.cjs.entry.js +2 -2
  55. package/dist/cjs/gux-icon.cjs.entry.js +1 -1
  56. package/dist/cjs/gux-inline-alert-beta.cjs.entry.js +1 -1
  57. package/dist/cjs/gux-list-item-legacy_2.cjs.entry.js +1 -1
  58. package/dist/cjs/gux-list.cjs.entry.js +1 -1
  59. package/dist/cjs/gux-listbox-multi.cjs.entry.js +1 -1
  60. package/dist/cjs/gux-loading-message-beta.cjs.entry.js +1 -1
  61. package/dist/cjs/gux-modal.cjs.entry.js +1 -1
  62. package/dist/cjs/gux-month-picker-beta.cjs.entry.js +1 -1
  63. package/dist/cjs/gux-notification-toast.cjs.entry.js +1 -1
  64. package/dist/cjs/gux-page-loading-spinner.cjs.entry.js +1 -1
  65. package/dist/cjs/gux-pagination-beta.cjs.entry.js +1 -1
  66. package/dist/cjs/gux-pagination-buttons-beta_3.cjs.entry.js +127 -98
  67. package/dist/cjs/gux-pagination-cursor.cjs.entry.js +1 -1
  68. package/dist/cjs/gux-pagination.cjs.entry.js +1 -1
  69. package/dist/cjs/gux-panel-frame-legacy.cjs.entry.js +1 -1
  70. package/dist/cjs/gux-phone-input-beta.cjs.entry.js +1 -1
  71. package/dist/cjs/gux-popover-list-beta.cjs.entry.js +2 -2
  72. package/dist/cjs/gux-popover-list.cjs.entry.js +1 -1
  73. package/dist/cjs/gux-popover.cjs.entry.js +1 -1
  74. package/dist/cjs/gux-popup-beta.cjs.entry.js +1 -1
  75. package/dist/cjs/gux-radial-loading.cjs.entry.js +1 -1
  76. package/dist/cjs/gux-radial-progress.cjs.entry.js +1 -1
  77. package/dist/cjs/gux-rating.cjs.entry.js +1 -1
  78. package/dist/cjs/gux-region-icon.cjs.entry.js +1 -1
  79. package/dist/cjs/gux-screen-reader-beta.cjs.entry.js +1 -1
  80. package/dist/cjs/gux-side-panel-legacy.cjs.entry.js +1 -1
  81. package/dist/cjs/gux-simple-toast.cjs.entry.js +1 -1
  82. package/dist/cjs/gux-skip-navigation-list-beta.cjs.entry.js +1 -1
  83. package/dist/cjs/gux-sort-control.cjs.entry.js +1 -1
  84. package/dist/cjs/gux-switch.cjs.entry.js +1 -1
  85. package/dist/cjs/gux-tab-advanced-list.cjs.entry.js +1 -1
  86. package/dist/cjs/gux-tab-list.cjs.entry.js +1 -1
  87. package/dist/cjs/gux-table-beta.cjs.entry.js +1 -1
  88. package/dist/cjs/gux-table-toolbar-action.cjs.entry.js +1 -1
  89. package/dist/cjs/gux-table-toolbar-beta.cjs.entry.js +3 -3
  90. package/dist/cjs/gux-table-toolbar-custom-action.cjs.entry.js +1 -1
  91. package/dist/cjs/gux-table-toolbar-menu-button.cjs.entry.js +1 -1
  92. package/dist/cjs/gux-tabs-advanced.cjs.entry.js +1 -1
  93. package/dist/cjs/gux-tabs-legacy.cjs.entry.js +1 -1
  94. package/dist/cjs/gux-tabs.cjs.entry.js +1 -1
  95. package/dist/cjs/gux-tag-beta.cjs.entry.js +3 -1
  96. package/dist/cjs/gux-text-highlight.cjs.entry.js +1 -1
  97. package/dist/cjs/gux-text-label-legacy.cjs.entry.js +1 -1
  98. package/dist/cjs/gux-time-beta.cjs.entry.js +1 -1
  99. package/dist/cjs/gux-time-picker-beta.cjs.entry.js +1 -1
  100. package/dist/cjs/gux-toggle.cjs.entry.js +1 -1
  101. package/dist/cjs/gux-tooltip-title.cjs.entry.js +1 -1
  102. package/dist/cjs/{gux-tooltip_2.cjs.entry.js → gux-tooltip.cjs.entry.js} +2 -79
  103. package/dist/cjs/gux-truncate-beta.cjs.entry.js +83 -0
  104. package/dist/cjs/gux-visualization-beta.cjs.entry.js +1 -1
  105. package/dist/cjs/index-d3bc59d7.js +14 -14
  106. package/dist/cjs/loader.cjs.js +1 -1
  107. package/dist/cjs/on-mutation-9898b89b.js +36 -0
  108. package/dist/cjs/{on-resize-f7d98e20.js → on-resize-7246d50e.js} +17 -7
  109. package/dist/cjs/{usage-6eeccb1e.js → usage-8627263b.js} +3 -3
  110. package/dist/collection/collection-manifest.json +1 -0
  111. package/dist/collection/components/beta/gux-pagination-beta/gux-pagination-buttons-beta/gux-pagination-button-beta.service.js +105 -62
  112. package/dist/collection/components/beta/gux-pagination-beta/gux-pagination-buttons-beta/gux-pagination-buttons-beta.css +26 -7
  113. package/dist/collection/components/beta/gux-pagination-beta/gux-pagination-buttons-beta/gux-pagination-buttons-beta.js +29 -18
  114. package/dist/collection/components/beta/gux-pagination-beta/gux-pagination-buttons-beta/gux-pagination-ellipsis-button/gux-pagination-ellipsis-button.css +30 -0
  115. package/dist/collection/components/beta/gux-pagination-beta/gux-pagination-buttons-beta/gux-pagination-ellipsis-button/gux-pagination-ellipsis-button.js +164 -0
  116. package/dist/collection/components/beta/gux-tag/gux-tag.js +4 -1
  117. package/dist/collection/components/stable/gux-form-field/components/gux-form-field-number/gux-form-field-number.js +1 -0
  118. package/dist/collection/utils/decorator/on-mutation.js +18 -8
  119. package/dist/collection/utils/decorator/on-resize.js +17 -7
  120. package/dist/deploy-info.json +3 -3
  121. package/dist/esm/en-5d726a81.js +20 -0
  122. package/dist/esm/{floating-ui.dom.esm-30731572.js → floating-ui.dom.esm-1743fa59.js} +137 -81
  123. package/dist/esm/genesys-webcomponents.js +1 -1
  124. package/dist/esm/gux-accordion-legacy.entry.js +1 -1
  125. package/dist/esm/gux-accordion.entry.js +1 -1
  126. package/dist/esm/gux-action-button-legacy.entry.js +1 -1
  127. package/dist/esm/gux-action-button.entry.js +1 -1
  128. package/dist/esm/gux-action-list-legacy_2.entry.js +1 -1
  129. package/dist/esm/gux-action-toast.entry.js +1 -1
  130. package/dist/esm/gux-advanced-dropdown.entry.js +1 -1
  131. package/dist/esm/gux-announce-beta.entry.js +1 -1
  132. package/dist/esm/gux-badge-beta.entry.js +1 -1
  133. package/dist/esm/gux-blank-state-beta.entry.js +2 -2
  134. package/dist/esm/gux-breadcrumbs.entry.js +1 -1
  135. package/dist/esm/gux-button-multi-legacy.entry.js +1 -1
  136. package/dist/esm/gux-button-multi.entry.js +1 -1
  137. package/dist/esm/gux-button-slot-beta.entry.js +1 -1
  138. package/dist/esm/gux-button.entry.js +1 -1
  139. package/dist/esm/gux-calendar.entry.js +1 -1
  140. package/dist/esm/gux-card-beta.entry.js +1 -1
  141. package/dist/esm/gux-chart-column-beta.entry.js +1 -1
  142. package/dist/esm/gux-chart-donut-beta.entry.js +1 -1
  143. package/dist/esm/gux-chart-line-beta.entry.js +1 -1
  144. package/dist/esm/gux-chart-pie-beta.entry.js +1 -1
  145. package/dist/esm/gux-chart-scatter-plot-beta.entry.js +1 -1
  146. package/dist/esm/gux-column-manager-beta.entry.js +1 -1
  147. package/dist/esm/gux-command-palette-legacy.entry.js +1 -1
  148. package/dist/esm/gux-content-search.entry.js +1 -1
  149. package/dist/esm/gux-context-menu-beta.entry.js +1 -1
  150. package/dist/esm/gux-copy-to-clipboard-beta.entry.js +1 -1
  151. package/dist/esm/gux-date-beta.entry.js +1 -1
  152. package/dist/esm/gux-date-time-beta.entry.js +1 -1
  153. package/dist/esm/gux-datepicker.entry.js +2 -2
  154. package/dist/esm/gux-disclosure-button.entry.js +1 -1
  155. package/dist/esm/gux-dismiss-button.entry.js +1 -1
  156. package/dist/esm/gux-dropdown-legacy.entry.js +2 -2
  157. package/dist/esm/gux-dropdown-multi-beta.entry.js +2 -2
  158. package/dist/esm/gux-dropdown_3.entry.js +2 -2
  159. package/dist/esm/gux-error-message-beta.entry.js +1 -1
  160. package/dist/esm/gux-flyout-menu-beta.entry.js +1 -1
  161. package/dist/esm/gux-form-field-checkbox.entry.js +2 -2
  162. package/dist/esm/gux-form-field-color.entry.js +2 -2
  163. package/dist/esm/gux-form-field-dropdown.entry.js +2 -2
  164. package/dist/esm/gux-form-field-input-clear-button.entry.js +1 -1
  165. package/dist/esm/gux-form-field-legacy.entry.js +2 -2
  166. package/dist/esm/gux-form-field-number_3.entry.js +382 -0
  167. package/dist/esm/gux-form-field-phone.entry.js +2 -2
  168. package/dist/esm/gux-form-field-radio.entry.js +2 -2
  169. package/dist/esm/gux-form-field-range.entry.js +2 -2
  170. package/dist/esm/gux-form-field-search.entry.js +2 -2
  171. package/dist/esm/gux-form-field-select.entry.js +2 -2
  172. package/dist/esm/gux-form-field-text-like.entry.js +2 -2
  173. package/dist/esm/gux-form-field-textarea.entry.js +2 -2
  174. package/dist/esm/gux-form-field-time-picker.entry.js +2 -2
  175. package/dist/esm/gux-icon.entry.js +1 -1
  176. package/dist/esm/gux-inline-alert-beta.entry.js +1 -1
  177. package/dist/esm/gux-list-item-legacy_2.entry.js +1 -1
  178. package/dist/esm/gux-list.entry.js +1 -1
  179. package/dist/esm/gux-listbox-multi.entry.js +1 -1
  180. package/dist/esm/gux-loading-message-beta.entry.js +1 -1
  181. package/dist/esm/gux-modal.entry.js +1 -1
  182. package/dist/esm/gux-month-picker-beta.entry.js +1 -1
  183. package/dist/esm/gux-notification-toast.entry.js +1 -1
  184. package/dist/esm/gux-page-loading-spinner.entry.js +1 -1
  185. package/dist/esm/gux-pagination-beta.entry.js +1 -1
  186. package/dist/esm/gux-pagination-buttons-beta_3.entry.js +127 -98
  187. package/dist/esm/gux-pagination-cursor.entry.js +1 -1
  188. package/dist/esm/gux-pagination.entry.js +1 -1
  189. package/dist/esm/gux-panel-frame-legacy.entry.js +1 -1
  190. package/dist/esm/gux-phone-input-beta.entry.js +1 -1
  191. package/dist/esm/gux-popover-list-beta.entry.js +2 -2
  192. package/dist/esm/gux-popover-list.entry.js +1 -1
  193. package/dist/esm/gux-popover.entry.js +1 -1
  194. package/dist/esm/gux-popup-beta.entry.js +1 -1
  195. package/dist/esm/gux-radial-loading.entry.js +1 -1
  196. package/dist/esm/gux-radial-progress.entry.js +1 -1
  197. package/dist/esm/gux-rating.entry.js +1 -1
  198. package/dist/esm/gux-region-icon.entry.js +1 -1
  199. package/dist/esm/gux-screen-reader-beta.entry.js +1 -1
  200. package/dist/esm/gux-side-panel-legacy.entry.js +1 -1
  201. package/dist/esm/gux-simple-toast.entry.js +1 -1
  202. package/dist/esm/gux-skip-navigation-list-beta.entry.js +1 -1
  203. package/dist/esm/gux-sort-control.entry.js +1 -1
  204. package/dist/esm/gux-switch.entry.js +1 -1
  205. package/dist/esm/gux-tab-advanced-list.entry.js +1 -1
  206. package/dist/esm/gux-tab-list.entry.js +1 -1
  207. package/dist/esm/gux-table-beta.entry.js +1 -1
  208. package/dist/esm/gux-table-toolbar-action.entry.js +1 -1
  209. package/dist/esm/gux-table-toolbar-beta.entry.js +3 -3
  210. package/dist/esm/gux-table-toolbar-custom-action.entry.js +1 -1
  211. package/dist/esm/gux-table-toolbar-menu-button.entry.js +1 -1
  212. package/dist/esm/gux-tabs-advanced.entry.js +1 -1
  213. package/dist/esm/gux-tabs-legacy.entry.js +1 -1
  214. package/dist/esm/gux-tabs.entry.js +1 -1
  215. package/dist/esm/gux-tag-beta.entry.js +3 -1
  216. package/dist/esm/gux-text-highlight.entry.js +1 -1
  217. package/dist/esm/gux-text-label-legacy.entry.js +1 -1
  218. package/dist/esm/gux-time-beta.entry.js +1 -1
  219. package/dist/esm/gux-time-picker-beta.entry.js +1 -1
  220. package/dist/esm/gux-toggle.entry.js +1 -1
  221. package/dist/esm/gux-tooltip-title.entry.js +1 -1
  222. package/dist/esm/{gux-tooltip_2.entry.js → gux-tooltip.entry.js} +4 -80
  223. package/dist/esm/gux-truncate-beta.entry.js +79 -0
  224. package/dist/esm/gux-visualization-beta.entry.js +1 -1
  225. package/dist/esm/index-816e34d8.js +14 -14
  226. package/dist/esm/loader.js +1 -1
  227. package/dist/esm/on-mutation-9b53a0da.js +34 -0
  228. package/dist/esm/{on-resize-3784d0c6.js → on-resize-62a6446a.js} +17 -7
  229. package/dist/esm/{usage-36003979.js → usage-cc1f21ca.js} +3 -3
  230. package/dist/genesys-webcomponents/genesys-webcomponents.esm.js +1 -1
  231. package/dist/genesys-webcomponents/i18n/genesys-webcomponents.i18n.en.json +1 -1
  232. package/dist/genesys-webcomponents/{p-b03bc245.entry.js → p-023d6594.entry.js} +1 -1
  233. package/dist/genesys-webcomponents/p-02b111da.entry.js +1 -0
  234. package/dist/genesys-webcomponents/p-03182b15.entry.js +1 -0
  235. package/dist/genesys-webcomponents/{p-77ec8f8e.entry.js → p-04082f95.entry.js} +1 -1
  236. package/dist/genesys-webcomponents/p-062ba22c.entry.js +1 -0
  237. package/dist/genesys-webcomponents/{p-79fcec9f.entry.js → p-082e2323.entry.js} +1 -1
  238. package/dist/genesys-webcomponents/{p-df374a86.entry.js → p-0e11de84.entry.js} +1 -1
  239. package/dist/genesys-webcomponents/{p-918ec74e.entry.js → p-0ebfeb73.entry.js} +1 -1
  240. package/dist/genesys-webcomponents/{p-b2af1f36.entry.js → p-0fb15a26.entry.js} +1 -1
  241. package/dist/genesys-webcomponents/{p-83ed4ff2.entry.js → p-0fcd76c0.entry.js} +1 -1
  242. package/dist/genesys-webcomponents/{p-9b6a1c57.entry.js → p-0fe52638.entry.js} +1 -1
  243. package/dist/genesys-webcomponents/{p-721c1d14.entry.js → p-10842340.entry.js} +1 -1
  244. package/dist/genesys-webcomponents/{p-95049069.js → p-10a4eba4.js} +1 -1
  245. package/dist/genesys-webcomponents/{p-87cece9d.entry.js → p-14244d3d.entry.js} +1 -1
  246. package/dist/genesys-webcomponents/{p-b4656842.entry.js → p-17334ef5.entry.js} +1 -1
  247. package/dist/genesys-webcomponents/{p-2e3d378c.entry.js → p-1a152f5d.entry.js} +1 -1
  248. package/dist/genesys-webcomponents/{p-d76d2d23.entry.js → p-1ae2907a.entry.js} +1 -1
  249. package/dist/genesys-webcomponents/{p-4f896f82.entry.js → p-1b8302e0.entry.js} +1 -1
  250. package/dist/genesys-webcomponents/{p-3fc3627b.entry.js → p-1fedea45.entry.js} +1 -1
  251. package/dist/genesys-webcomponents/{p-9501700c.entry.js → p-2293c05e.entry.js} +1 -1
  252. package/dist/genesys-webcomponents/{p-51dbeab4.entry.js → p-231ad9a4.entry.js} +1 -1
  253. package/dist/genesys-webcomponents/{p-0c229a58.entry.js → p-250be418.entry.js} +1 -1
  254. package/dist/genesys-webcomponents/{p-9e1123d2.entry.js → p-2611f436.entry.js} +1 -1
  255. package/dist/genesys-webcomponents/p-2afbd4c7.entry.js +1 -0
  256. package/dist/genesys-webcomponents/{p-4e5a2772.entry.js → p-3286acdb.entry.js} +1 -1
  257. package/dist/genesys-webcomponents/{p-0ceed4ee.entry.js → p-3654f643.entry.js} +1 -1
  258. package/dist/genesys-webcomponents/{p-9f08ca9e.entry.js → p-3b5d3e77.entry.js} +1 -1
  259. package/dist/genesys-webcomponents/{p-cbb77656.entry.js → p-3c316b1a.entry.js} +1 -1
  260. package/dist/genesys-webcomponents/{p-4bad81fe.entry.js → p-3dbd47c5.entry.js} +1 -1
  261. package/dist/genesys-webcomponents/{p-2753345f.entry.js → p-3e6e1ba0.entry.js} +1 -1
  262. package/dist/genesys-webcomponents/{p-e402dfec.entry.js → p-3fe752a0.entry.js} +1 -1
  263. package/dist/genesys-webcomponents/p-46021b9a.entry.js +1 -0
  264. package/dist/genesys-webcomponents/{p-72248f84.entry.js → p-4a211bfd.entry.js} +1 -1
  265. package/dist/genesys-webcomponents/{p-ccb25060.entry.js → p-4d513204.entry.js} +1 -1
  266. package/dist/genesys-webcomponents/{p-e0ab45a3.entry.js → p-4d94fae8.entry.js} +1 -1
  267. package/dist/genesys-webcomponents/{p-21a76db4.entry.js → p-4eec3d7a.entry.js} +1 -1
  268. package/dist/genesys-webcomponents/{p-99c79d96.entry.js → p-5c1f0cbc.entry.js} +1 -1
  269. package/dist/genesys-webcomponents/p-62060b2b.js +1 -0
  270. package/dist/genesys-webcomponents/{p-0b0089dc.entry.js → p-6328882b.entry.js} +1 -1
  271. package/dist/genesys-webcomponents/{p-3ba842a8.entry.js → p-64c9eff0.entry.js} +1 -1
  272. package/dist/genesys-webcomponents/{p-ba9e061c.entry.js → p-677266e4.entry.js} +1 -1
  273. package/dist/genesys-webcomponents/{p-39698590.entry.js → p-6b412eb2.entry.js} +1 -1
  274. package/dist/genesys-webcomponents/{p-cf67bbef.entry.js → p-6c6ac8a5.entry.js} +1 -1
  275. package/dist/genesys-webcomponents/{p-2cb13bd3.entry.js → p-6e7519af.entry.js} +1 -1
  276. package/dist/genesys-webcomponents/{p-2ab9e691.entry.js → p-7101c763.entry.js} +1 -1
  277. package/dist/genesys-webcomponents/{p-d1e91444.entry.js → p-7273b903.entry.js} +1 -1
  278. package/dist/genesys-webcomponents/{p-da44be85.entry.js → p-73708633.entry.js} +1 -1
  279. package/dist/genesys-webcomponents/{p-911ac2d1.entry.js → p-74295842.entry.js} +1 -1
  280. package/dist/genesys-webcomponents/{p-72b0e966.entry.js → p-749e3b96.entry.js} +1 -1
  281. package/dist/genesys-webcomponents/p-76152721.entry.js +1 -0
  282. package/dist/genesys-webcomponents/p-7980ce84.entry.js +1 -0
  283. package/dist/genesys-webcomponents/{p-1e96c3ba.entry.js → p-7b90bad4.entry.js} +1 -1
  284. package/dist/genesys-webcomponents/{p-dd03d723.entry.js → p-7c6334ed.entry.js} +1 -1
  285. package/dist/genesys-webcomponents/{p-d74a4d24.entry.js → p-7e30316b.entry.js} +1 -1
  286. package/dist/genesys-webcomponents/{p-568b7f15.entry.js → p-7f631a66.entry.js} +1 -1
  287. package/dist/genesys-webcomponents/{p-d5b0b714.entry.js → p-83a5e0a7.entry.js} +1 -1
  288. package/dist/genesys-webcomponents/{p-ec5f325a.entry.js → p-86c54d7e.entry.js} +1 -1
  289. package/dist/genesys-webcomponents/{p-835e2d74.entry.js → p-86ceb070.entry.js} +1 -1
  290. package/dist/genesys-webcomponents/{p-f88fbbd6.entry.js → p-874b4178.entry.js} +1 -1
  291. package/dist/genesys-webcomponents/{p-8d79f8d8.entry.js → p-87b36e19.entry.js} +1 -1
  292. package/dist/genesys-webcomponents/p-89af02eb.js +1 -0
  293. package/dist/genesys-webcomponents/{p-17171019.entry.js → p-89d74cee.entry.js} +1 -1
  294. package/dist/genesys-webcomponents/{p-5339213b.entry.js → p-8ae6854e.entry.js} +1 -1
  295. package/dist/genesys-webcomponents/{p-1956e32e.entry.js → p-8d9e7c92.entry.js} +1 -1
  296. package/dist/genesys-webcomponents/{p-dbc388f3.entry.js → p-94df679e.entry.js} +1 -1
  297. package/dist/genesys-webcomponents/{p-ecc43e48.entry.js → p-9681043e.entry.js} +1 -1
  298. package/dist/genesys-webcomponents/{p-6b6890fa.entry.js → p-97c75937.entry.js} +1 -1
  299. package/dist/genesys-webcomponents/{p-37f10b66.entry.js → p-9b9bc2ab.entry.js} +1 -1
  300. package/dist/genesys-webcomponents/{p-7e48a596.entry.js → p-9cbe8341.entry.js} +1 -1
  301. package/dist/genesys-webcomponents/{p-31e5f7fd.entry.js → p-a169582e.entry.js} +1 -1
  302. package/dist/genesys-webcomponents/{p-5a14e824.entry.js → p-a24d96bd.entry.js} +1 -1
  303. package/dist/genesys-webcomponents/{p-5321c349.entry.js → p-a8d77c3c.entry.js} +1 -1
  304. package/dist/genesys-webcomponents/{p-187f55bd.entry.js → p-a913f576.entry.js} +1 -1
  305. package/dist/genesys-webcomponents/p-aaa5a1d4.entry.js +1 -0
  306. package/dist/genesys-webcomponents/{p-ca8fab56.entry.js → p-be27998d.entry.js} +1 -1
  307. package/dist/genesys-webcomponents/{p-726f4080.entry.js → p-c15dcda1.entry.js} +1 -1
  308. package/dist/genesys-webcomponents/p-c196fd84.entry.js +1 -0
  309. package/dist/genesys-webcomponents/{p-3b5129e0.entry.js → p-c2754491.entry.js} +1 -1
  310. package/dist/genesys-webcomponents/{p-9079f6ad.entry.js → p-c2a9a485.entry.js} +1 -1
  311. package/dist/genesys-webcomponents/p-c3f208cd.js +1 -0
  312. package/dist/genesys-webcomponents/{p-010a91ef.entry.js → p-cd99c89d.entry.js} +1 -1
  313. package/dist/genesys-webcomponents/{p-f95063df.entry.js → p-cfbb0b06.entry.js} +1 -1
  314. package/dist/genesys-webcomponents/{p-9e07497c.entry.js → p-d0317161.entry.js} +1 -1
  315. package/dist/genesys-webcomponents/{p-ffead836.entry.js → p-d216580c.entry.js} +1 -1
  316. package/dist/genesys-webcomponents/{p-f52f519d.entry.js → p-d3e9e7df.entry.js} +1 -1
  317. package/dist/genesys-webcomponents/{p-99c45e65.entry.js → p-d4fc8ddb.entry.js} +1 -1
  318. package/dist/genesys-webcomponents/{p-bd4f8c15.entry.js → p-d77c392f.entry.js} +1 -1
  319. package/dist/genesys-webcomponents/{p-19601e64.entry.js → p-d854b21b.entry.js} +1 -1
  320. package/dist/genesys-webcomponents/{p-64e0e288.entry.js → p-dc0501cc.entry.js} +1 -1
  321. package/dist/genesys-webcomponents/{p-ee8bffa9.entry.js → p-dc1171f2.entry.js} +1 -1
  322. package/dist/genesys-webcomponents/p-df170f98.entry.js +1 -0
  323. package/dist/genesys-webcomponents/{p-e47aba71.entry.js → p-e7769396.entry.js} +1 -1
  324. package/dist/genesys-webcomponents/{p-611f7a8b.entry.js → p-e7806d6e.entry.js} +1 -1
  325. package/dist/genesys-webcomponents/{p-e852655a.entry.js → p-e96a7a92.entry.js} +1 -1
  326. package/dist/genesys-webcomponents/{p-f3ef9f65.entry.js → p-ea97621b.entry.js} +1 -1
  327. package/dist/genesys-webcomponents/{p-0e255b05.entry.js → p-ed1ee1f3.entry.js} +1 -1
  328. package/dist/genesys-webcomponents/{p-3170fa89.entry.js → p-ed47f960.entry.js} +1 -1
  329. package/dist/genesys-webcomponents/{p-e24a9c31.entry.js → p-ed806b30.entry.js} +1 -1
  330. package/dist/genesys-webcomponents/p-f222d4b1.js +1 -0
  331. package/dist/genesys-webcomponents/{p-d6577fe0.entry.js → p-f279578e.entry.js} +1 -1
  332. package/dist/genesys-webcomponents/{p-9aedade6.entry.js → p-f43cb683.entry.js} +1 -1
  333. package/dist/genesys-webcomponents/{p-5351aa8c.entry.js → p-f6b82a37.entry.js} +1 -1
  334. package/dist/genesys-webcomponents/{p-578fa3d3.entry.js → p-f88ff72a.entry.js} +1 -1
  335. package/dist/genesys-webcomponents/{p-312ab6c4.entry.js → p-f983178f.entry.js} +1 -1
  336. package/dist/genesys-webcomponents/{p-896268a9.entry.js → p-fa19dc5f.entry.js} +1 -1
  337. package/dist/genesys-webcomponents/{p-3b683e5e.entry.js → p-fc170a5b.entry.js} +1 -1
  338. package/dist/stencil-wrapper.js +1 -1
  339. package/dist/types/components/beta/gux-pagination-beta/gux-pagination-buttons-beta/gux-pagination-button-beta.service.d.ts +1 -1
  340. package/dist/types/components/beta/gux-pagination-beta/gux-pagination-buttons-beta/gux-pagination-buttons-beta.d.ts +4 -4
  341. package/dist/types/components/beta/gux-pagination-beta/gux-pagination-buttons-beta/gux-pagination-ellipsis-button/gux-pagination-ellipsis-button.d.ts +19 -0
  342. package/dist/types/components/beta/gux-tag/gux-tag.d.ts +3 -2
  343. package/dist/types/components/beta/gux-tag/gux-tag.types.d.ts +1 -0
  344. package/dist/types/components.d.ts +22 -2
  345. package/dist/types/stencil-wrapper.d.ts +1 -1
  346. package/dist/types/utils/decorator/on-mutation.d.ts +1 -1
  347. package/package.json +3 -3
  348. package/dist/cjs/gux-form-field-number.cjs.entry.js +0 -150
  349. package/dist/cjs/gux-popover-beta.cjs.entry.js +0 -148
  350. package/dist/cjs/on-mutation-83dff2a7.js +0 -26
  351. package/dist/esm/gux-form-field-number.entry.js +0 -146
  352. package/dist/esm/gux-popover-beta.entry.js +0 -144
  353. package/dist/esm/on-mutation-35d8145e.js +0 -24
  354. package/dist/genesys-webcomponents/p-09124c44.js +0 -1
  355. package/dist/genesys-webcomponents/p-1139061b.entry.js +0 -1
  356. package/dist/genesys-webcomponents/p-3073ff00.entry.js +0 -1
  357. package/dist/genesys-webcomponents/p-5deb5cf2.entry.js +0 -1
  358. package/dist/genesys-webcomponents/p-8096963d.entry.js +0 -1
  359. package/dist/genesys-webcomponents/p-8957ab46.js +0 -1
  360. package/dist/genesys-webcomponents/p-a9e6d089.entry.js +0 -1
  361. package/dist/genesys-webcomponents/p-b554c484.entry.js +0 -1
  362. package/dist/genesys-webcomponents/p-c08e5f36.entry.js +0 -1
  363. package/dist/genesys-webcomponents/p-c4c844ba.entry.js +0 -1
  364. package/dist/genesys-webcomponents/p-ed36d3dd.entry.js +0 -1
  365. package/dist/genesys-webcomponents/p-fb233c5b.js +0 -1
  366. package/dist/genesys-webcomponents/p-fb45221b.entry.js +0 -1
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ const page = "Page";
4
+ const totalPages = " of {totalPages, number}";
5
+ const first = "First";
6
+ const previous = "Previous";
7
+ const next = "Next";
8
+ const last = "Last";
9
+ const pageInputLabel = "Page {currentPage, number} of {totalPages, number}";
10
+ const goToPage = "Go to page";
11
+ const translationResources = {
12
+ page: page,
13
+ totalPages: totalPages,
14
+ first: first,
15
+ previous: previous,
16
+ next: next,
17
+ last: last,
18
+ pageInputLabel: pageInputLabel,
19
+ goToPage: goToPage
20
+ };
21
+
22
+ exports.translationResources = translationResources;
@@ -163,6 +163,10 @@ const computePosition$1 = async (reference, floating, config) => {
163
163
  };
164
164
  };
165
165
 
166
+ function evaluate(value, param) {
167
+ return typeof value === 'function' ? value(param) : value;
168
+ }
169
+
166
170
  function expandPaddingObject(padding) {
167
171
  return {
168
172
  top: 0,
@@ -219,7 +223,7 @@ async function detectOverflow(state, options) {
219
223
  elementContext = 'floating',
220
224
  altBoundary = false,
221
225
  padding = 0
222
- } = options;
226
+ } = evaluate(options, state);
223
227
  const paddingObject = getSideObjectFromPadding(padding);
224
228
  const altContext = elementContext === 'floating' ? 'reference' : 'floating';
225
229
  const element = elements[altBoundary ? altContext : elementContext];
@@ -271,11 +275,6 @@ const arrow = options => ({
271
275
  name: 'arrow',
272
276
  options,
273
277
  async fn(state) {
274
- // Since `element` is required, we don't Partial<> the type.
275
- const {
276
- element,
277
- padding = 0
278
- } = options || {};
279
278
  const {
280
279
  x,
281
280
  y,
@@ -284,6 +283,11 @@ const arrow = options => ({
284
283
  platform,
285
284
  elements
286
285
  } = state;
286
+ // Since `element` is required, we don't Partial<> the type.
287
+ const {
288
+ element,
289
+ padding = 0
290
+ } = evaluate(options, state) || {};
287
291
  if (element == null) {
288
292
  return {};
289
293
  }
@@ -310,24 +314,30 @@ const arrow = options => ({
310
314
  }
311
315
  const centerToReference = endDiff / 2 - startDiff / 2;
312
316
 
317
+ // If the padding is large enough that it causes the arrow to no longer be
318
+ // centered, modify the padding so that it is centered.
319
+ const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;
320
+ const minPadding = min$1(paddingObject[minProp], largestPossiblePadding);
321
+ const maxPadding = min$1(paddingObject[maxProp], largestPossiblePadding);
322
+
313
323
  // Make sure the arrow doesn't overflow the floating element if the center
314
324
  // point is outside the floating element's bounds.
315
- const min = paddingObject[minProp];
316
- const max = clientSize - arrowDimensions[length] - paddingObject[maxProp];
325
+ const min$1$1 = minPadding;
326
+ const max = clientSize - arrowDimensions[length] - maxPadding;
317
327
  const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;
318
- const offset = within(min, center, max);
328
+ const offset = within(min$1$1, center, max);
319
329
 
320
330
  // If the reference is small enough that the arrow's padding causes it to
321
331
  // to point to nothing for an aligned placement, adjust the offset of the
322
332
  // floating element itself. This stops `shift()` from taking action, but can
323
333
  // be worked around by calling it again after the `arrow()` if desired.
324
- const shouldAddOffset = getAlignment(placement) != null && center != offset && rects.reference[length] / 2 - (center < min ? paddingObject[minProp] : paddingObject[maxProp]) - arrowDimensions[length] / 2 < 0;
325
- const alignmentOffset = shouldAddOffset ? center < min ? min - center : max - center : 0;
334
+ const shouldAddOffset = getAlignment(placement) != null && center != offset && rects.reference[length] / 2 - (center < min$1$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
335
+ const alignmentOffset = shouldAddOffset ? center < min$1$1 ? min$1$1 - center : max - center : 0;
326
336
  return {
327
337
  [axis]: coords[axis] - alignmentOffset,
328
338
  data: {
329
339
  [axis]: offset,
330
- centerOffset: center - offset
340
+ centerOffset: center - offset + alignmentOffset
331
341
  }
332
342
  };
333
343
  }
@@ -433,7 +443,7 @@ const flip = function (options) {
433
443
  fallbackAxisSideDirection = 'none',
434
444
  flipAlignment = true,
435
445
  ...detectOverflowOptions
436
- } = options;
446
+ } = evaluate(options, state);
437
447
  const side = getSide(placement);
438
448
  const isBasePlacement = getSide(initialPlacement) === initialPlacement;
439
449
  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
@@ -512,7 +522,7 @@ const flip = function (options) {
512
522
  };
513
523
  };
514
524
 
515
- async function convertValueToCoords(state, value) {
525
+ async function convertValueToCoords(state, options) {
516
526
  const {
517
527
  placement,
518
528
  platform,
@@ -524,7 +534,7 @@ async function convertValueToCoords(state, value) {
524
534
  const isVertical = getMainAxisFromPlacement(placement) === 'x';
525
535
  const mainAxisMulti = ['left', 'top'].includes(side) ? -1 : 1;
526
536
  const crossAxisMulti = rtl && isVertical ? -1 : 1;
527
- const rawValue = typeof value === 'function' ? value(state) : value;
537
+ const rawValue = evaluate(options, state);
528
538
 
529
539
  // eslint-disable-next-line prefer-const
530
540
  let {
@@ -560,19 +570,19 @@ async function convertValueToCoords(state, value) {
560
570
  * object may be passed.
561
571
  * @see https://floating-ui.com/docs/offset
562
572
  */
563
- const offset = function (value) {
564
- if (value === void 0) {
565
- value = 0;
573
+ const offset = function (options) {
574
+ if (options === void 0) {
575
+ options = 0;
566
576
  }
567
577
  return {
568
578
  name: 'offset',
569
- options: value,
579
+ options,
570
580
  async fn(state) {
571
581
  const {
572
582
  x,
573
583
  y
574
584
  } = state;
575
- const diffCoords = await convertValueToCoords(state, value);
585
+ const diffCoords = await convertValueToCoords(state, options);
576
586
  return {
577
587
  x: x + diffCoords.x,
578
588
  y: y + diffCoords.y,
@@ -620,7 +630,7 @@ const shift = function (options) {
620
630
  }
621
631
  },
622
632
  ...detectOverflowOptions
623
- } = options;
633
+ } = evaluate(options, state);
624
634
  const coords = {
625
635
  x,
626
636
  y
@@ -683,7 +693,7 @@ const size = function (options) {
683
693
  const {
684
694
  apply = () => {},
685
695
  ...detectOverflowOptions
686
- } = options;
696
+ } = evaluate(options, state);
687
697
  const overflow = await detectOverflow(state, detectOverflowOptions);
688
698
  const side = getSide(placement);
689
699
  const alignment = getAlignment(placement);
@@ -756,7 +766,13 @@ function isNode(value) {
756
766
  return value instanceof getWindow(value).Node;
757
767
  }
758
768
  function getNodeName(node) {
759
- return isNode(node) ? (node.nodeName || '').toLowerCase() : '';
769
+ if (isNode(node)) {
770
+ return (node.nodeName || '').toLowerCase();
771
+ }
772
+ // Mocked nodes in testing environments may not be instances of Node. By
773
+ // returning `#document` an infinite loop won't occur.
774
+ // https://github.com/floating-ui/floating-ui/issues/2317
775
+ return '#document';
760
776
  }
761
777
 
762
778
  function isHTMLElement(value) {
@@ -770,8 +786,7 @@ function isShadowRoot(node) {
770
786
  if (typeof ShadowRoot === 'undefined') {
771
787
  return false;
772
788
  }
773
- const OwnElement = getWindow(node).ShadowRoot;
774
- return node instanceof OwnElement || node instanceof ShadowRoot;
789
+ return node instanceof getWindow(node).ShadowRoot || node instanceof ShadowRoot;
775
790
  }
776
791
  function isOverflowElement(element) {
777
792
  const {
@@ -803,6 +818,11 @@ function isLastTraversableNode(node) {
803
818
  const min = Math.min;
804
819
  const max = Math.max;
805
820
  const round = Math.round;
821
+ const floor = Math.floor;
822
+ const createEmptyCoords = v => ({
823
+ x: v,
824
+ y: v
825
+ });
806
826
 
807
827
  function getCssDimensions(element) {
808
828
  const css = getComputedStyle$1(element);
@@ -821,7 +841,7 @@ function getCssDimensions(element) {
821
841
  return {
822
842
  width,
823
843
  height,
824
- fallback: shouldFallback
844
+ $: shouldFallback
825
845
  };
826
846
  }
827
847
 
@@ -829,23 +849,19 @@ function unwrapElement(element) {
829
849
  return !isElement(element) ? element.contextElement : element;
830
850
  }
831
851
 
832
- const FALLBACK_SCALE = {
833
- x: 1,
834
- y: 1
835
- };
836
852
  function getScale(element) {
837
853
  const domElement = unwrapElement(element);
838
854
  if (!isHTMLElement(domElement)) {
839
- return FALLBACK_SCALE;
855
+ return createEmptyCoords(1);
840
856
  }
841
857
  const rect = domElement.getBoundingClientRect();
842
858
  const {
843
859
  width,
844
860
  height,
845
- fallback
861
+ $
846
862
  } = getCssDimensions(domElement);
847
- let x = (fallback ? round(rect.width) : rect.width) / width;
848
- let y = (fallback ? round(rect.height) : rect.height) / height;
863
+ let x = ($ ? round(rect.width) : rect.width) / width;
864
+ let y = ($ ? round(rect.height) : rect.height) / height;
849
865
 
850
866
  // 0, NaN, or Infinity should always fallback to 1.
851
867
 
@@ -861,10 +877,7 @@ function getScale(element) {
861
877
  };
862
878
  }
863
879
 
864
- const noOffsets = {
865
- x: 0,
866
- y: 0
867
- };
880
+ const noOffsets = /*#__PURE__*/createEmptyCoords(0);
868
881
  function getVisualOffsets(element, isFixed, floatingOffsetParent) {
869
882
  var _win$visualViewport, _win$visualViewport2;
870
883
  if (isFixed === void 0) {
@@ -892,7 +905,7 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
892
905
  }
893
906
  const clientRect = element.getBoundingClientRect();
894
907
  const domElement = unwrapElement(element);
895
- let scale = FALLBACK_SCALE;
908
+ let scale = createEmptyCoords(1);
896
909
  if (includeScale) {
897
910
  if (offsetParent) {
898
911
  if (isElement(offsetParent)) {
@@ -915,14 +928,14 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
915
928
  const iframeScale = getScale(currentIFrame);
916
929
  const iframeRect = currentIFrame.getBoundingClientRect();
917
930
  const css = getComputedStyle(currentIFrame);
918
- iframeRect.x += (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
919
- iframeRect.y += (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
931
+ const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
932
+ const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
920
933
  x *= iframeScale.x;
921
934
  y *= iframeScale.y;
922
935
  width *= iframeScale.x;
923
936
  height *= iframeScale.y;
924
- x += iframeRect.x;
925
- y += iframeRect.y;
937
+ x += left;
938
+ y += top;
926
939
  currentIFrame = getWindow(currentIFrame).frameElement;
927
940
  }
928
941
  }
@@ -966,14 +979,8 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
966
979
  scrollLeft: 0,
967
980
  scrollTop: 0
968
981
  };
969
- let scale = {
970
- x: 1,
971
- y: 1
972
- };
973
- const offsets = {
974
- x: 0,
975
- y: 0
976
- };
982
+ let scale = createEmptyCoords(1);
983
+ const offsets = createEmptyCoords(0);
977
984
  if (isOffsetParentAnElement || !isOffsetParentAnElement && strategy !== 'fixed') {
978
985
  if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
979
986
  scroll = getNodeScroll(offsetParent);
@@ -1039,9 +1046,7 @@ function getParentNode(node) {
1039
1046
  function getNearestOverflowAncestor(node) {
1040
1047
  const parentNode = getParentNode(node);
1041
1048
  if (isLastTraversableNode(parentNode)) {
1042
- // `getParentNode` will never return a `Document` due to the fallback
1043
- // check, so it's either the <html> or <body> element.
1044
- return parentNode.ownerDocument.body;
1049
+ return node.ownerDocument ? node.ownerDocument.body : node.body;
1045
1050
  }
1046
1051
  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {
1047
1052
  return parentNode;
@@ -1093,10 +1098,7 @@ function getInnerBoundingClientRect(element, strategy) {
1093
1098
  const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');
1094
1099
  const top = clientRect.top + element.clientTop;
1095
1100
  const left = clientRect.left + element.clientLeft;
1096
- const scale = isHTMLElement(element) ? getScale(element) : {
1097
- x: 1,
1098
- y: 1
1099
- };
1101
+ const scale = isHTMLElement(element) ? getScale(element) : createEmptyCoords(1);
1100
1102
  const width = element.clientWidth * scale.x;
1101
1103
  const height = element.clientHeight * scale.y;
1102
1104
  const x = left * scale.x;
@@ -1247,10 +1249,7 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
1247
1249
  scrollLeft: 0,
1248
1250
  scrollTop: 0
1249
1251
  };
1250
- const offsets = {
1251
- x: 0,
1252
- y: 0
1253
- };
1252
+ const offsets = createEmptyCoords(0);
1254
1253
  if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
1255
1254
  if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {
1256
1255
  scroll = getNodeScroll(offsetParent);
@@ -1300,6 +1299,67 @@ const platform = {
1300
1299
  isRTL: element => getComputedStyle$1(element).direction === 'rtl'
1301
1300
  };
1302
1301
 
1302
+ // https://samthor.au/2021/observing-dom/
1303
+ function observeMove(element, onMove) {
1304
+ let io = null;
1305
+ let timeoutId;
1306
+ const root = getDocumentElement(element);
1307
+ function cleanup() {
1308
+ clearTimeout(timeoutId);
1309
+ io && io.disconnect();
1310
+ io = null;
1311
+ }
1312
+ function refresh(skip, threshold) {
1313
+ if (skip === void 0) {
1314
+ skip = false;
1315
+ }
1316
+ if (threshold === void 0) {
1317
+ threshold = 1;
1318
+ }
1319
+ cleanup();
1320
+ const {
1321
+ left,
1322
+ top,
1323
+ width,
1324
+ height
1325
+ } = element.getBoundingClientRect();
1326
+ if (!skip) {
1327
+ onMove();
1328
+ }
1329
+ if (!width || !height) {
1330
+ return;
1331
+ }
1332
+ const insetTop = floor(top);
1333
+ const insetRight = floor(root.clientWidth - (left + width));
1334
+ const insetBottom = floor(root.clientHeight - (top + height));
1335
+ const insetLeft = floor(left);
1336
+ const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px";
1337
+ let isFirstUpdate = true;
1338
+ io = new IntersectionObserver(entries => {
1339
+ const ratio = entries[0].intersectionRatio;
1340
+ if (ratio !== threshold) {
1341
+ if (!isFirstUpdate) {
1342
+ return refresh();
1343
+ }
1344
+ if (ratio === 0) {
1345
+ timeoutId = setTimeout(() => {
1346
+ refresh(false, 1e-7);
1347
+ }, 100);
1348
+ } else {
1349
+ refresh(false, ratio);
1350
+ }
1351
+ }
1352
+ isFirstUpdate = false;
1353
+ }, {
1354
+ rootMargin,
1355
+ threshold
1356
+ });
1357
+ io.observe(element);
1358
+ }
1359
+ refresh(true);
1360
+ return cleanup;
1361
+ }
1362
+
1303
1363
  /**
1304
1364
  * Automatically updates the position of the floating element when necessary.
1305
1365
  * Should only be called when the floating element is mounted on the DOM or
@@ -1316,29 +1376,25 @@ function autoUpdate(reference, floating, update, options) {
1316
1376
  ancestorScroll = true,
1317
1377
  ancestorResize = true,
1318
1378
  elementResize = true,
1379
+ layoutShift = typeof IntersectionObserver === 'function',
1319
1380
  animationFrame = false
1320
1381
  } = options;
1321
- const ancestors = ancestorScroll || ancestorResize ? [...(isElement(reference) ? getOverflowAncestors(reference) : reference.contextElement ? getOverflowAncestors(reference.contextElement) : []), ...getOverflowAncestors(floating)] : [];
1382
+ const referenceEl = unwrapElement(reference);
1383
+ const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];
1322
1384
  ancestors.forEach(ancestor => {
1323
- // ignores Window, checks for [object VisualViewport]
1324
- const isVisualViewport = !isElement(ancestor) && ancestor.toString().includes('V');
1325
- if (ancestorScroll && (animationFrame ? isVisualViewport : true)) {
1326
- ancestor.addEventListener('scroll', update, {
1327
- passive: true
1328
- });
1329
- }
1385
+ ancestorScroll && ancestor.addEventListener('scroll', update, {
1386
+ passive: true
1387
+ });
1330
1388
  ancestorResize && ancestor.addEventListener('resize', update);
1331
1389
  });
1332
- let observer = null;
1390
+ const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;
1391
+ let resizeObserver = null;
1333
1392
  if (elementResize) {
1334
- observer = new ResizeObserver(() => {
1335
- update();
1336
- });
1337
- isElement(reference) && !animationFrame && observer.observe(reference);
1338
- if (!isElement(reference) && reference.contextElement && !animationFrame) {
1339
- observer.observe(reference.contextElement);
1393
+ resizeObserver = new ResizeObserver(update);
1394
+ if (referenceEl && !animationFrame) {
1395
+ resizeObserver.observe(referenceEl);
1340
1396
  }
1341
- observer.observe(floating);
1397
+ resizeObserver.observe(floating);
1342
1398
  }
1343
1399
  let frameId;
1344
1400
  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
@@ -1355,13 +1411,13 @@ function autoUpdate(reference, floating, update, options) {
1355
1411
  }
1356
1412
  update();
1357
1413
  return () => {
1358
- var _observer;
1359
1414
  ancestors.forEach(ancestor => {
1360
1415
  ancestorScroll && ancestor.removeEventListener('scroll', update);
1361
1416
  ancestorResize && ancestor.removeEventListener('resize', update);
1362
1417
  });
1363
- (_observer = observer) == null ? void 0 : _observer.disconnect();
1364
- observer = null;
1418
+ cleanupIo && cleanupIo();
1419
+ resizeObserver && resizeObserver.disconnect();
1420
+ resizeObserver = null;
1365
1421
  if (animationFrame) {
1366
1422
  cancelAnimationFrame(frameId);
1367
1423
  }