@youcan/celeste 0.9.3 → 0.10.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 (534) hide show
  1. package/dist/celeste.css +1030 -634
  2. package/dist/cjs/bar-chart.cjs +2 -0
  3. package/dist/cjs/chart-card.cjs +2 -0
  4. package/dist/cjs/chart-legend.cjs +2 -0
  5. package/dist/cjs/chart-plot.cjs +2 -0
  6. package/dist/cjs/chart-tooltip.cjs +25 -0
  7. package/dist/cjs/chart.cjs +38 -0
  8. package/dist/cjs/chunks/BubbleSelect.cjs +5 -6
  9. package/dist/cjs/chunks/CollapsibleRoot.cjs +3 -4
  10. package/dist/cjs/chunks/Collection.cjs +3 -4
  11. package/dist/cjs/chunks/ComboboxContent.cjs +7 -7
  12. package/dist/cjs/chunks/ComboboxGroup.cjs +4 -5
  13. package/dist/cjs/chunks/ComboboxInput.cjs +3 -4
  14. package/dist/cjs/chunks/ComboboxItem.cjs +7 -7
  15. package/dist/cjs/chunks/ComboboxLabel.cjs +1 -2
  16. package/dist/cjs/chunks/ComboboxRoot.cjs +17 -14
  17. package/dist/cjs/chunks/ComboboxSeparator.cjs +1 -2
  18. package/dist/cjs/chunks/ConfigProvider.cjs +2 -2
  19. package/dist/cjs/chunks/DialogClose.cjs +1 -2
  20. package/dist/cjs/chunks/DialogDescription.cjs +1 -2
  21. package/dist/cjs/chunks/DialogPortal.cjs +10 -10
  22. package/dist/cjs/chunks/DialogRoot.cjs +3 -4
  23. package/dist/cjs/chunks/DialogTitle.cjs +1 -2
  24. package/dist/cjs/chunks/DialogTrigger.cjs +1 -2
  25. package/dist/cjs/chunks/DismissableLayer.cjs +5 -5
  26. package/dist/cjs/chunks/DropdownMenuPortal.cjs +2 -3
  27. package/dist/cjs/chunks/DropdownMenuRoot.cjs +3 -4
  28. package/dist/cjs/chunks/FocusScope.cjs +7 -7
  29. package/dist/cjs/chunks/Label.cjs +1 -2
  30. package/dist/cjs/chunks/MenuAnchor.cjs +1 -2
  31. package/dist/cjs/chunks/MenuContentImpl.cjs +4 -4
  32. package/dist/cjs/chunks/MenuGroup.cjs +2 -3
  33. package/dist/cjs/chunks/MenuItemImpl.cjs +1 -2
  34. package/dist/cjs/chunks/MenuRoot.cjs +8 -8
  35. package/dist/cjs/chunks/MenuSub.cjs +3 -4
  36. package/dist/cjs/chunks/PaginationRoot.cjs +3 -4
  37. package/dist/cjs/chunks/PinInputRoot.cjs +3 -4
  38. package/dist/cjs/chunks/PopoverRoot.cjs +3 -4
  39. package/dist/cjs/chunks/PopperAnchor.cjs +1 -2
  40. package/dist/cjs/chunks/PopperArrow.cjs +2 -3
  41. package/dist/cjs/chunks/PopperContent.cjs +263 -298
  42. package/dist/cjs/chunks/PopperRoot.cjs +2 -3
  43. package/dist/cjs/chunks/Presence.cjs +7 -7
  44. package/dist/cjs/chunks/Primitive.cjs +5 -6
  45. package/dist/cjs/chunks/ProgressIndicator.cjs +4 -5
  46. package/dist/cjs/chunks/RadioGroupRoot.cjs +3 -4
  47. package/dist/cjs/chunks/RovingFocusGroup.cjs +6 -6
  48. package/dist/cjs/chunks/RovingFocusItem.cjs +1 -2
  49. package/dist/cjs/chunks/SelectGroup.cjs +2 -3
  50. package/dist/cjs/chunks/SelectItemAlignedPosition.cjs +9 -9
  51. package/dist/cjs/chunks/TabsRoot.cjs +4 -5
  52. package/dist/cjs/chunks/Teleport.cjs +2 -3
  53. package/dist/cjs/chunks/ToggleGroupRoot.cjs +4 -5
  54. package/dist/cjs/chunks/TooltipProvider.cjs +2 -3
  55. package/dist/cjs/chunks/TooltipRoot.cjs +5 -5
  56. package/dist/cjs/chunks/VisuallyHidden.cjs +1 -2
  57. package/dist/cjs/chunks/VisuallyHiddenInput.cjs +4 -4
  58. package/dist/cjs/chunks/alert.cjs +17 -12
  59. package/dist/cjs/chunks/alpha-slider.cjs +1 -4
  60. package/dist/cjs/chunks/badge.cjs +18 -13
  61. package/dist/cjs/chunks/bar-chart.cjs +10322 -0
  62. package/dist/cjs/chunks/button.cjs +12 -7
  63. package/dist/cjs/chunks/calendar.cjs +39 -33
  64. package/dist/cjs/chunks/chart-card.cjs +69 -0
  65. package/dist/cjs/chunks/chart-legend.cjs +88 -0
  66. package/dist/cjs/chunks/chart-plot.cjs +92 -0
  67. package/dist/cjs/chunks/checkbox-card.cjs +15 -10
  68. package/dist/cjs/chunks/checkbox-label.cjs +11 -6
  69. package/dist/cjs/chunks/checkbox.cjs +18 -12
  70. package/dist/cjs/chunks/clamp.cjs +1 -1
  71. package/dist/cjs/chunks/collapsible-content.cjs +9 -4
  72. package/dist/cjs/chunks/collapsible-trigger.cjs +1 -2
  73. package/dist/cjs/chunks/collapsible.cjs +0 -1
  74. package/dist/cjs/chunks/color-area.cjs +3 -4
  75. package/dist/cjs/chunks/color-picker.cjs +69 -42
  76. package/dist/cjs/chunks/color-swatch.cjs +4 -5
  77. package/dist/cjs/chunks/combobox-anchor.cjs +11 -5
  78. package/dist/cjs/chunks/combobox-empty.cjs +10 -5
  79. package/dist/cjs/chunks/combobox-group.cjs +11 -6
  80. package/dist/cjs/chunks/combobox-input.cjs +11 -6
  81. package/dist/cjs/chunks/combobox-item.cjs +23 -17
  82. package/dist/cjs/chunks/combobox-list.cjs +14 -8
  83. package/dist/cjs/chunks/combobox-root.cjs +2 -3
  84. package/dist/cjs/chunks/combobox-separator.cjs +9 -4
  85. package/dist/cjs/chunks/combobox-trigger.cjs +14 -8
  86. package/dist/cjs/chunks/combobox.cjs +14 -14
  87. package/dist/cjs/chunks/compact-button.cjs +13 -8
  88. package/dist/cjs/chunks/components.cjs +20 -4
  89. package/dist/cjs/chunks/content-divider.cjs +14 -9
  90. package/dist/cjs/chunks/counter-input.cjs +145 -111
  91. package/dist/cjs/chunks/createContext.cjs +1 -2
  92. package/dist/cjs/chunks/date-picker.cjs +14 -9
  93. package/dist/cjs/chunks/digit-input-group.cjs +12 -6
  94. package/dist/cjs/chunks/digit-input-slot.cjs +13 -7
  95. package/dist/cjs/chunks/digit-input.cjs +13 -7
  96. package/dist/cjs/chunks/dist.cjs +120 -230
  97. package/dist/cjs/chunks/dist2.cjs +459 -15492
  98. package/dist/cjs/chunks/dist3.cjs +16177 -0
  99. package/dist/cjs/chunks/dropdown-menu-content.cjs +15 -9
  100. package/dist/cjs/chunks/dropdown-menu-group.cjs +3 -4
  101. package/dist/cjs/chunks/dropdown-menu-item.cjs +13 -7
  102. package/dist/cjs/chunks/dropdown-menu-label.cjs +13 -7
  103. package/dist/cjs/chunks/dropdown-menu-separator.cjs +11 -6
  104. package/dist/cjs/chunks/dropdown-menu-sub-content.cjs +13 -7
  105. package/dist/cjs/chunks/dropdown-menu-sub-trigger.cjs +13 -7
  106. package/dist/cjs/chunks/dropdown-menu-sub.cjs +2 -3
  107. package/dist/cjs/chunks/dropdown-menu-trigger.cjs +3 -4
  108. package/dist/cjs/chunks/dropdown-menu.cjs +11 -5
  109. package/dist/cjs/chunks/extra-settings.cjs +3 -7
  110. package/dist/cjs/chunks/fancy-button.cjs +12 -7
  111. package/dist/cjs/chunks/file-upload-area.cjs +24 -17
  112. package/dist/cjs/chunks/getActiveElement.cjs +1 -1
  113. package/dist/cjs/chunks/handleAndDispatchCustomEvent.cjs +1 -1
  114. package/dist/cjs/chunks/hint-text.cjs +13 -8
  115. package/dist/cjs/chunks/hue-slider.cjs +3 -6
  116. package/dist/cjs/chunks/isValueEqualOrExist.cjs +1 -1
  117. package/dist/cjs/chunks/label2.cjs +15 -10
  118. package/dist/cjs/chunks/link-bubble.cjs +12 -15
  119. package/dist/cjs/chunks/link-button.cjs +14 -9
  120. package/dist/cjs/chunks/menus.cjs +236 -42
  121. package/dist/cjs/chunks/modal-body.cjs +9 -4
  122. package/dist/cjs/chunks/modal-close.cjs +0 -1
  123. package/dist/cjs/chunks/modal-content.cjs +18 -6
  124. package/dist/cjs/chunks/modal-footer.cjs +9 -4
  125. package/dist/cjs/chunks/modal-header.cjs +18 -13
  126. package/dist/cjs/chunks/modal-trigger.cjs +0 -1
  127. package/dist/cjs/chunks/modal.cjs +0 -1
  128. package/dist/cjs/chunks/nullish.cjs +1 -1
  129. package/dist/cjs/chunks/ohash.D__AXeF1.cjs +1 -1
  130. package/dist/cjs/chunks/pagination-content.cjs +14 -9
  131. package/dist/cjs/chunks/pagination-ellipsis.cjs +12 -7
  132. package/dist/cjs/chunks/pagination-first.cjs +11 -5
  133. package/dist/cjs/chunks/pagination-item.cjs +10 -5
  134. package/dist/cjs/chunks/pagination-last.cjs +11 -5
  135. package/dist/cjs/chunks/pagination-next.cjs +11 -5
  136. package/dist/cjs/chunks/pagination-previous.cjs +11 -5
  137. package/dist/cjs/chunks/pagination.cjs +12 -6
  138. package/dist/cjs/chunks/popover-content.cjs +27 -21
  139. package/dist/cjs/chunks/popover-trigger.cjs +3 -4
  140. package/dist/cjs/chunks/popover.cjs +0 -1
  141. package/dist/cjs/chunks/progress-bar.cjs +14 -9
  142. package/dist/cjs/chunks/progress-circle.cjs +10 -5
  143. package/dist/cjs/chunks/radio-group-card.cjs +15 -10
  144. package/dist/cjs/chunks/radio-group-item.cjs +15 -9
  145. package/dist/cjs/chunks/radio-group-label.cjs +11 -6
  146. package/dist/cjs/chunks/radio-group.cjs +9 -3
  147. package/dist/cjs/chunks/range-calendar.cjs +56 -47
  148. package/dist/cjs/chunks/range-picker.cjs +19 -14
  149. package/dist/cjs/chunks/rich-editor.cjs +1130 -262
  150. package/dist/cjs/chunks/{chunk.cjs → rolldown-runtime.cjs} +8 -1
  151. package/dist/cjs/chunks/scroll-area.cjs +13 -8
  152. package/dist/cjs/chunks/scroll-bar.cjs +43 -29
  153. package/dist/cjs/chunks/segmented-control-item.cjs +12 -7
  154. package/dist/cjs/chunks/segmented-control.cjs +11 -5
  155. package/dist/cjs/chunks/select-content.cjs +16 -10
  156. package/dist/cjs/chunks/select-group.cjs +0 -1
  157. package/dist/cjs/chunks/select-icon.cjs +9 -4
  158. package/dist/cjs/chunks/select-item.cjs +17 -11
  159. package/dist/cjs/chunks/select-label.cjs +10 -5
  160. package/dist/cjs/chunks/select-separator.cjs +10 -5
  161. package/dist/cjs/chunks/select-trigger.cjs +12 -7
  162. package/dist/cjs/chunks/select-value.cjs +10 -5
  163. package/dist/cjs/chunks/select.cjs +9 -3
  164. package/dist/cjs/chunks/sheet-close.cjs +9 -4
  165. package/dist/cjs/chunks/sheet-content.cjs +13 -7
  166. package/dist/cjs/chunks/sheet-description.cjs +11 -6
  167. package/dist/cjs/chunks/sheet-footer.cjs +9 -4
  168. package/dist/cjs/chunks/sheet-header.cjs +9 -4
  169. package/dist/cjs/chunks/sheet-title.cjs +11 -6
  170. package/dist/cjs/chunks/sheet-trigger.cjs +0 -1
  171. package/dist/cjs/chunks/sheet.cjs +0 -1
  172. package/dist/cjs/chunks/sidebar-content.cjs +7 -2
  173. package/dist/cjs/chunks/sidebar-element.cjs +8 -3
  174. package/dist/cjs/chunks/sidebar-footer.cjs +7 -2
  175. package/dist/cjs/chunks/sidebar-group-content.cjs +9 -4
  176. package/dist/cjs/chunks/sidebar-group-label.cjs +9 -4
  177. package/dist/cjs/chunks/sidebar-group.cjs +7 -2
  178. package/dist/cjs/chunks/sidebar-header.cjs +7 -2
  179. package/dist/cjs/chunks/sidebar-menu-action.cjs +10 -5
  180. package/dist/cjs/chunks/sidebar-menu-badge.cjs +11 -6
  181. package/dist/cjs/chunks/sidebar-menu-button.cjs +11 -6
  182. package/dist/cjs/chunks/sidebar-menu-item.cjs +7 -2
  183. package/dist/cjs/chunks/sidebar-menu-sub-button.cjs +12 -7
  184. package/dist/cjs/chunks/sidebar-menu-sub-item.cjs +7 -2
  185. package/dist/cjs/chunks/sidebar-menu-sub.cjs +7 -2
  186. package/dist/cjs/chunks/sidebar-menu.cjs +7 -2
  187. package/dist/cjs/chunks/sidebar-provider.cjs +14 -8
  188. package/dist/cjs/chunks/sidebar-trigger.cjs +10 -5
  189. package/dist/cjs/chunks/sidebar.cjs +11 -6
  190. package/dist/cjs/chunks/slider.cjs +38 -24
  191. package/dist/cjs/chunks/social-button.cjs +5 -6
  192. package/dist/cjs/chunks/sonner-alert.cjs +2 -3
  193. package/dist/cjs/chunks/sonner.cjs +4 -4
  194. package/dist/cjs/chunks/status-badge.cjs +13 -8
  195. package/dist/cjs/chunks/switch.cjs +13 -7
  196. package/dist/cjs/chunks/tab-menu-content.cjs +10 -5
  197. package/dist/cjs/chunks/tab-menu-item.cjs +12 -6
  198. package/dist/cjs/chunks/tab-menu-list.cjs +10 -5
  199. package/dist/cjs/chunks/tab-menu.cjs +2 -3
  200. package/dist/cjs/chunks/table-body.cjs +9 -4
  201. package/dist/cjs/chunks/table-caption.cjs +9 -4
  202. package/dist/cjs/chunks/table-cell.cjs +9 -4
  203. package/dist/cjs/chunks/table-footer.cjs +9 -4
  204. package/dist/cjs/chunks/table-head.cjs +9 -4
  205. package/dist/cjs/chunks/table-header.cjs +7 -2
  206. package/dist/cjs/chunks/table-row.cjs +9 -4
  207. package/dist/cjs/chunks/table.cjs +9 -4
  208. package/dist/cjs/chunks/table2.cjs +9 -4
  209. package/dist/cjs/chunks/tag.cjs +16 -11
  210. package/dist/cjs/chunks/text-input-affix.cjs +9 -4
  211. package/dist/cjs/chunks/text-input-button.cjs +9 -4
  212. package/dist/cjs/chunks/text-input.cjs +10 -10
  213. package/dist/cjs/chunks/textarea.cjs +15 -10
  214. package/dist/cjs/chunks/tooltip-content.cjs +38 -32
  215. package/dist/cjs/chunks/tooltip-provider.cjs +0 -1
  216. package/dist/cjs/chunks/tooltip-root.cjs +2 -2
  217. package/dist/cjs/chunks/tooltip-trigger.cjs +1 -2
  218. package/dist/cjs/chunks/tooltip.cjs +17 -11
  219. package/dist/cjs/chunks/use-color-model.cjs +7 -12
  220. package/dist/cjs/chunks/useArrowNavigation.cjs +1 -1
  221. package/dist/cjs/chunks/useCalendar.cjs +669 -598
  222. package/dist/cjs/chunks/useComposing.cjs +1 -2
  223. package/dist/cjs/chunks/useDirection.cjs +1 -2
  224. package/dist/cjs/chunks/useEmitAsProps.cjs +1 -2
  225. package/dist/cjs/chunks/useFocusGuards.cjs +1 -2
  226. package/dist/cjs/chunks/useFormControl.cjs +2 -3
  227. package/dist/cjs/chunks/useForwardExpose.cjs +2 -3
  228. package/dist/cjs/chunks/useForwardProps.cjs +1 -2
  229. package/dist/cjs/chunks/useForwardPropsEmits.cjs +1 -2
  230. package/dist/cjs/chunks/useForwardScopeId.cjs +1 -2
  231. package/dist/cjs/chunks/useHideOthers.cjs +4 -5
  232. package/dist/cjs/chunks/useId.cjs +3 -3
  233. package/dist/cjs/chunks/useKbd.cjs +1 -1
  234. package/dist/cjs/chunks/useLocale.cjs +1 -2
  235. package/dist/cjs/chunks/useNonce.cjs +1 -2
  236. package/dist/cjs/chunks/usePrimitiveElement.cjs +2 -3
  237. package/dist/cjs/chunks/useSize.cjs +2 -3
  238. package/dist/cjs/chunks/useTypeahead.cjs +1 -1
  239. package/dist/cjs/chunks/utils.cjs +1 -1
  240. package/dist/cjs/chunks/utils2.cjs +1 -1
  241. package/dist/cjs/chunks/utils3.cjs +1 -1
  242. package/dist/cjs/color.cjs +1 -3
  243. package/dist/cjs/command-group.cjs +11 -6
  244. package/dist/cjs/command-input.cjs +12 -6
  245. package/dist/cjs/command-item.cjs +10 -4
  246. package/dist/cjs/command-list.cjs +10 -4
  247. package/dist/cjs/command-root.cjs +10 -4
  248. package/dist/cjs/command-separator.cjs +9 -4
  249. package/dist/cjs/config.cjs +0 -1
  250. package/dist/cjs/index.cjs +21 -1
  251. package/dist/cjs/use-chart-motion.cjs +17 -0
  252. package/dist/cjs/use-delegated-props.cjs +0 -1
  253. package/dist/cjs/use-locale.cjs +8 -0
  254. package/dist/cjs/use-sidebar.cjs +1 -1
  255. package/dist/cjs/use-user-select.cjs +0 -1
  256. package/dist/components/chart/bar-chart.d.ts +39 -0
  257. package/dist/components/chart/chart-card.d.ts +26 -0
  258. package/dist/components/chart/chart-legend.d.ts +32 -0
  259. package/dist/components/chart/chart-plot.d.ts +35 -0
  260. package/dist/components/chart/chart-tooltip.d.ts +11 -0
  261. package/dist/components/chart/index.d.ts +9 -0
  262. package/dist/components/color-picker/hue-slider.d.ts +1 -4
  263. package/dist/components/digit-input/digit-input.d.ts +1 -1
  264. package/dist/components/index.d.ts +1 -0
  265. package/dist/components/popover/popover-content.d.ts +1 -1
  266. package/dist/components/progress/progress-bar.d.ts +1 -1
  267. package/dist/components/text-input/text-input.d.ts +1 -0
  268. package/dist/composables/index.d.ts +2 -0
  269. package/dist/composables/use-chart-motion.d.ts +7 -0
  270. package/dist/composables/use-locale.d.ts +2 -0
  271. package/dist/es/bar-chart.js +2 -0
  272. package/dist/es/chart-card.js +2 -0
  273. package/dist/es/chart-legend.js +2 -0
  274. package/dist/es/chart-plot.js +2 -0
  275. package/dist/es/chart-tooltip.js +24 -0
  276. package/dist/es/chart.js +33 -0
  277. package/dist/es/chunks/BubbleSelect.js +5 -5
  278. package/dist/es/chunks/CollapsibleRoot.js +3 -3
  279. package/dist/es/chunks/Collection.js +3 -3
  280. package/dist/es/chunks/ComboboxContent.js +9 -8
  281. package/dist/es/chunks/ComboboxGroup.js +4 -4
  282. package/dist/es/chunks/ComboboxInput.js +3 -3
  283. package/dist/es/chunks/ComboboxItem.js +7 -6
  284. package/dist/es/chunks/ComboboxLabel.js +1 -1
  285. package/dist/es/chunks/ComboboxRoot.js +15 -11
  286. package/dist/es/chunks/ComboboxSeparator.js +1 -1
  287. package/dist/es/chunks/ConfigProvider.js +2 -2
  288. package/dist/es/chunks/DialogClose.js +1 -1
  289. package/dist/es/chunks/DialogDescription.js +1 -1
  290. package/dist/es/chunks/DialogPortal.js +10 -9
  291. package/dist/es/chunks/DialogRoot.js +3 -3
  292. package/dist/es/chunks/DialogTitle.js +1 -1
  293. package/dist/es/chunks/DialogTrigger.js +1 -1
  294. package/dist/es/chunks/DismissableLayer.js +5 -4
  295. package/dist/es/chunks/DropdownMenuPortal.js +2 -2
  296. package/dist/es/chunks/DropdownMenuRoot.js +3 -3
  297. package/dist/es/chunks/FocusScope.js +7 -6
  298. package/dist/es/chunks/Label.js +1 -1
  299. package/dist/es/chunks/MenuAnchor.js +1 -1
  300. package/dist/es/chunks/MenuContentImpl.js +5 -4
  301. package/dist/es/chunks/MenuGroup.js +2 -2
  302. package/dist/es/chunks/MenuItemImpl.js +1 -1
  303. package/dist/es/chunks/MenuRoot.js +6 -5
  304. package/dist/es/chunks/MenuSub.js +3 -3
  305. package/dist/es/chunks/PaginationRoot.js +3 -3
  306. package/dist/es/chunks/PinInputRoot.js +3 -3
  307. package/dist/es/chunks/PopoverRoot.js +3 -3
  308. package/dist/es/chunks/PopperAnchor.js +1 -1
  309. package/dist/es/chunks/PopperArrow.js +3 -3
  310. package/dist/es/chunks/PopperContent.js +261 -321
  311. package/dist/es/chunks/PopperRoot.js +2 -2
  312. package/dist/es/chunks/Presence.js +6 -5
  313. package/dist/es/chunks/Primitive.js +5 -5
  314. package/dist/es/chunks/ProgressIndicator.js +4 -4
  315. package/dist/es/chunks/RadioGroupRoot.js +3 -3
  316. package/dist/es/chunks/RovingFocusGroup.js +6 -5
  317. package/dist/es/chunks/RovingFocusItem.js +1 -1
  318. package/dist/es/chunks/SelectGroup.js +2 -2
  319. package/dist/es/chunks/SelectItemAlignedPosition.js +10 -9
  320. package/dist/es/chunks/TabsRoot.js +4 -4
  321. package/dist/es/chunks/Teleport.js +2 -2
  322. package/dist/es/chunks/ToggleGroupRoot.js +4 -4
  323. package/dist/es/chunks/TooltipProvider.js +2 -2
  324. package/dist/es/chunks/TooltipRoot.js +5 -4
  325. package/dist/es/chunks/VisuallyHidden.js +1 -1
  326. package/dist/es/chunks/VisuallyHiddenInput.js +4 -3
  327. package/dist/es/chunks/alert.js +16 -10
  328. package/dist/es/chunks/alpha-slider.js +1 -3
  329. package/dist/es/chunks/badge.js +17 -11
  330. package/dist/es/chunks/bar-chart.js +10314 -0
  331. package/dist/es/chunks/button.js +11 -5
  332. package/dist/es/chunks/calendar.js +39 -32
  333. package/dist/es/chunks/chart-card.js +63 -0
  334. package/dist/es/chunks/chart-legend.js +82 -0
  335. package/dist/es/chunks/chart-plot.js +87 -0
  336. package/dist/es/chunks/checkbox-card.js +14 -8
  337. package/dist/es/chunks/checkbox-label.js +10 -4
  338. package/dist/es/chunks/checkbox.js +18 -11
  339. package/dist/es/chunks/clamp.js +1 -1
  340. package/dist/es/chunks/collapsible-content.js +9 -3
  341. package/dist/es/chunks/collapsible-trigger.js +1 -1
  342. package/dist/es/chunks/color-area.js +7 -5
  343. package/dist/es/chunks/color-picker.js +68 -40
  344. package/dist/es/chunks/color-swatch.js +3 -3
  345. package/dist/es/chunks/combobox-anchor.js +11 -4
  346. package/dist/es/chunks/combobox-empty.js +9 -3
  347. package/dist/es/chunks/combobox-group.js +10 -4
  348. package/dist/es/chunks/combobox-input.js +10 -4
  349. package/dist/es/chunks/combobox-item.js +22 -15
  350. package/dist/es/chunks/combobox-list.js +13 -6
  351. package/dist/es/chunks/combobox-root.js +1 -1
  352. package/dist/es/chunks/combobox-separator.js +8 -2
  353. package/dist/es/chunks/combobox-trigger.js +13 -6
  354. package/dist/es/chunks/combobox.js +13 -12
  355. package/dist/es/chunks/compact-button.js +12 -6
  356. package/dist/es/chunks/components.js +19 -3
  357. package/dist/es/chunks/content-divider.js +14 -8
  358. package/dist/es/chunks/counter-input.js +141 -106
  359. package/dist/es/chunks/createContext.js +1 -1
  360. package/dist/es/chunks/date-picker.js +13 -7
  361. package/dist/es/chunks/digit-input-group.js +11 -4
  362. package/dist/es/chunks/digit-input-slot.js +12 -5
  363. package/dist/es/chunks/digit-input.js +12 -5
  364. package/dist/es/chunks/dist.js +90 -205
  365. package/dist/es/chunks/dist2.js +434 -15275
  366. package/dist/es/chunks/dist3.js +15890 -0
  367. package/dist/es/chunks/dropdown-menu-content.js +14 -7
  368. package/dist/es/chunks/dropdown-menu-group.js +2 -2
  369. package/dist/es/chunks/dropdown-menu-item.js +12 -5
  370. package/dist/es/chunks/dropdown-menu-label.js +12 -5
  371. package/dist/es/chunks/dropdown-menu-separator.js +10 -4
  372. package/dist/es/chunks/dropdown-menu-sub-content.js +12 -5
  373. package/dist/es/chunks/dropdown-menu-sub-trigger.js +12 -5
  374. package/dist/es/chunks/dropdown-menu-sub.js +2 -2
  375. package/dist/es/chunks/dropdown-menu-trigger.js +2 -2
  376. package/dist/es/chunks/dropdown-menu.js +10 -3
  377. package/dist/es/chunks/extra-settings.js +2 -5
  378. package/dist/es/chunks/fancy-button.js +11 -5
  379. package/dist/es/chunks/file-upload-area.js +23 -15
  380. package/dist/es/chunks/getActiveElement.js +1 -1
  381. package/dist/es/chunks/handleAndDispatchCustomEvent.js +1 -1
  382. package/dist/es/chunks/hint-text.js +12 -6
  383. package/dist/es/chunks/hue-slider.js +3 -5
  384. package/dist/es/chunks/isValueEqualOrExist.js +1 -1
  385. package/dist/es/chunks/label2.js +14 -8
  386. package/dist/es/chunks/link-bubble.js +11 -13
  387. package/dist/es/chunks/link-button.js +13 -7
  388. package/dist/es/chunks/menus.js +236 -41
  389. package/dist/es/chunks/modal-body.js +8 -2
  390. package/dist/es/chunks/modal-content.js +17 -4
  391. package/dist/es/chunks/modal-footer.js +8 -2
  392. package/dist/es/chunks/modal-header.js +17 -11
  393. package/dist/es/chunks/nullish.js +1 -1
  394. package/dist/es/chunks/ohash.D__AXeF1.js +1 -1
  395. package/dist/es/chunks/pagination-content.js +12 -6
  396. package/dist/es/chunks/pagination-ellipsis.js +10 -4
  397. package/dist/es/chunks/pagination-first.js +11 -4
  398. package/dist/es/chunks/pagination-item.js +9 -3
  399. package/dist/es/chunks/pagination-last.js +11 -4
  400. package/dist/es/chunks/pagination-next.js +11 -4
  401. package/dist/es/chunks/pagination-previous.js +11 -4
  402. package/dist/es/chunks/pagination.js +11 -4
  403. package/dist/es/chunks/popover-content.js +28 -21
  404. package/dist/es/chunks/popover-trigger.js +2 -2
  405. package/dist/es/chunks/progress-bar.js +13 -7
  406. package/dist/es/chunks/progress-circle.js +9 -3
  407. package/dist/es/chunks/radio-group-card.js +14 -8
  408. package/dist/es/chunks/radio-group-item.js +15 -8
  409. package/dist/es/chunks/radio-group-label.js +10 -4
  410. package/dist/es/chunks/radio-group.js +9 -2
  411. package/dist/es/chunks/range-calendar.js +56 -46
  412. package/dist/es/chunks/range-picker.js +19 -13
  413. package/dist/es/chunks/rich-editor.js +1129 -260
  414. package/dist/es/chunks/rolldown-runtime.js +34 -0
  415. package/dist/es/chunks/scroll-area.js +12 -6
  416. package/dist/es/chunks/scroll-bar.js +39 -24
  417. package/dist/es/chunks/segmented-control-item.js +11 -5
  418. package/dist/es/chunks/segmented-control.js +10 -3
  419. package/dist/es/chunks/select-content.js +15 -8
  420. package/dist/es/chunks/select-icon.js +8 -2
  421. package/dist/es/chunks/select-item.js +16 -9
  422. package/dist/es/chunks/select-label.js +9 -3
  423. package/dist/es/chunks/select-separator.js +9 -3
  424. package/dist/es/chunks/select-trigger.js +11 -5
  425. package/dist/es/chunks/select-value.js +9 -3
  426. package/dist/es/chunks/select.js +9 -2
  427. package/dist/es/chunks/sheet-close.js +8 -2
  428. package/dist/es/chunks/sheet-content.js +12 -5
  429. package/dist/es/chunks/sheet-description.js +9 -3
  430. package/dist/es/chunks/sheet-footer.js +8 -2
  431. package/dist/es/chunks/sheet-header.js +8 -2
  432. package/dist/es/chunks/sheet-title.js +9 -3
  433. package/dist/es/chunks/sidebar-content.js +7 -1
  434. package/dist/es/chunks/sidebar-element.js +8 -2
  435. package/dist/es/chunks/sidebar-footer.js +7 -1
  436. package/dist/es/chunks/sidebar-group-content.js +8 -2
  437. package/dist/es/chunks/sidebar-group-label.js +9 -3
  438. package/dist/es/chunks/sidebar-group.js +7 -1
  439. package/dist/es/chunks/sidebar-header.js +7 -1
  440. package/dist/es/chunks/sidebar-menu-action.js +10 -4
  441. package/dist/es/chunks/sidebar-menu-badge.js +11 -5
  442. package/dist/es/chunks/sidebar-menu-button.js +10 -4
  443. package/dist/es/chunks/sidebar-menu-item.js +7 -1
  444. package/dist/es/chunks/sidebar-menu-sub-button.js +12 -6
  445. package/dist/es/chunks/sidebar-menu-sub-item.js +7 -1
  446. package/dist/es/chunks/sidebar-menu-sub.js +7 -1
  447. package/dist/es/chunks/sidebar-menu.js +7 -1
  448. package/dist/es/chunks/sidebar-provider.js +10 -3
  449. package/dist/es/chunks/sidebar-trigger.js +9 -3
  450. package/dist/es/chunks/sidebar.js +11 -5
  451. package/dist/es/chunks/slider.js +38 -23
  452. package/dist/es/chunks/social-button.js +4 -4
  453. package/dist/es/chunks/sonner-alert.js +1 -1
  454. package/dist/es/chunks/sonner.js +4 -3
  455. package/dist/es/chunks/status-badge.js +12 -6
  456. package/dist/es/chunks/switch.js +13 -6
  457. package/dist/es/chunks/tab-menu-content.js +9 -3
  458. package/dist/es/chunks/tab-menu-item.js +11 -4
  459. package/dist/es/chunks/tab-menu-list.js +9 -3
  460. package/dist/es/chunks/tab-menu.js +1 -1
  461. package/dist/es/chunks/table-body.js +8 -2
  462. package/dist/es/chunks/table-caption.js +8 -2
  463. package/dist/es/chunks/table-cell.js +8 -2
  464. package/dist/es/chunks/table-footer.js +8 -2
  465. package/dist/es/chunks/table-head.js +8 -2
  466. package/dist/es/chunks/table-header.js +7 -1
  467. package/dist/es/chunks/table-row.js +8 -2
  468. package/dist/es/chunks/table.js +8 -2
  469. package/dist/es/chunks/table2.js +8 -2
  470. package/dist/es/chunks/tag.js +15 -9
  471. package/dist/es/chunks/text-input-affix.js +8 -2
  472. package/dist/es/chunks/text-input-button.js +8 -2
  473. package/dist/es/chunks/text-input.js +10 -9
  474. package/dist/es/chunks/textarea.js +14 -8
  475. package/dist/es/chunks/tooltip-content.js +38 -31
  476. package/dist/es/chunks/tooltip-root.js +2 -1
  477. package/dist/es/chunks/tooltip-trigger.js +1 -1
  478. package/dist/es/chunks/tooltip.js +17 -10
  479. package/dist/es/chunks/use-color-model.js +7 -11
  480. package/dist/es/chunks/useArrowNavigation.js +1 -1
  481. package/dist/es/chunks/useCalendar.js +656 -584
  482. package/dist/es/chunks/useComposing.js +1 -1
  483. package/dist/es/chunks/useDirection.js +1 -1
  484. package/dist/es/chunks/useEmitAsProps.js +1 -1
  485. package/dist/es/chunks/useFocusGuards.js +2 -2
  486. package/dist/es/chunks/useFormControl.js +2 -2
  487. package/dist/es/chunks/useForwardExpose.js +2 -2
  488. package/dist/es/chunks/useForwardProps.js +1 -1
  489. package/dist/es/chunks/useForwardPropsEmits.js +1 -1
  490. package/dist/es/chunks/useForwardScopeId.js +1 -1
  491. package/dist/es/chunks/useHideOthers.js +4 -4
  492. package/dist/es/chunks/useId.js +1 -1
  493. package/dist/es/chunks/useKbd.js +1 -1
  494. package/dist/es/chunks/useLocale.js +1 -1
  495. package/dist/es/chunks/useNonce.js +1 -1
  496. package/dist/es/chunks/usePrimitiveElement.js +2 -2
  497. package/dist/es/chunks/useSize.js +2 -2
  498. package/dist/es/chunks/useTypeahead.js +2 -2
  499. package/dist/es/chunks/utils.js +1 -1
  500. package/dist/es/chunks/utils2.js +1 -1
  501. package/dist/es/chunks/utils3.js +1 -1
  502. package/dist/es/color.js +1 -3
  503. package/dist/es/command-group.js +10 -4
  504. package/dist/es/command-input.js +11 -4
  505. package/dist/es/command-item.js +10 -3
  506. package/dist/es/command-list.js +10 -3
  507. package/dist/es/command-root.js +10 -3
  508. package/dist/es/command-separator.js +8 -2
  509. package/dist/es/index.js +9 -1
  510. package/dist/es/use-chart-motion.js +15 -0
  511. package/dist/es/use-locale.js +8 -0
  512. package/dist/es/use-sidebar.js +1 -1
  513. package/dist/utils/chart.d.ts +6 -0
  514. package/dist/utils/index.d.ts +1 -0
  515. package/package.json +46 -44
  516. package/src/components/chart/bar-chart.vue +383 -0
  517. package/src/components/chart/chart-card.vue +99 -0
  518. package/src/components/chart/chart-legend.vue +164 -0
  519. package/src/components/chart/chart-plot.vue +350 -0
  520. package/src/components/chart/chart-tooltip.ts +35 -0
  521. package/src/components/chart/index.ts +13 -0
  522. package/src/components/chart/stories/bar-chart.stories.ts +319 -0
  523. package/src/components/color-picker/hue-slider.vue +1 -1
  524. package/src/components/file-upload/file-upload-area.vue +1 -1
  525. package/src/components/index.ts +1 -0
  526. package/src/components/text-input/text-input.vue +1 -0
  527. package/src/components/tooltip/tooltip-content.vue +5 -1
  528. package/src/composables/index.ts +2 -0
  529. package/src/composables/use-chart-motion.ts +18 -0
  530. package/src/composables/use-locale.ts +8 -0
  531. package/src/utils/chart.ts +42 -0
  532. package/src/utils/index.ts +1 -0
  533. package/dist/cjs/chunks/core.cjs +0 -325
  534. package/dist/es/chunks/core.js +0 -289
@@ -1,3 +1,4 @@
1
+ import { n as __exportAll, r as __reExport } from "./rolldown-runtime.js";
1
2
  import { t as createContext } from "./createContext.js";
2
3
  import { t as Primitive } from "./Primitive.js";
3
4
  import { t as useDirection } from "./useDirection.js";
@@ -6,33 +7,7 @@ import { t as useSize } from "./useSize.js";
6
7
  import { n as injectPopperRootContext } from "./PopperRoot.js";
7
8
  import * as Vue from "vue";
8
9
  import { computed, createBlock, createElementBlock, defineComponent, mergeDefaults, mergeProps, normalizeStyle, openBlock, ref, renderSlot, unref, watchEffect, watchPostEffect, withCtx, withMemo } from "vue";
9
- //#region \0rolldown/runtime.js
10
- var __defProp = Object.defineProperty;
11
- var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
12
- var __getOwnPropNames = Object.getOwnPropertyNames;
13
- var __hasOwnProp = Object.prototype.hasOwnProperty;
14
- var __exportAll = (all, no_symbols) => {
15
- let target = {};
16
- for (var name in all) __defProp(target, name, {
17
- get: all[name],
18
- enumerable: true
19
- });
20
- if (!no_symbols) __defProp(target, Symbol.toStringTag, { value: "Module" });
21
- return target;
22
- };
23
- var __copyProps = (to, from, except, desc) => {
24
- if (from && typeof from === "object" || typeof from === "function") for (var keys = __getOwnPropNames(from), i = 0, n = keys.length, key; i < n; i++) {
25
- key = keys[i];
26
- if (!__hasOwnProp.call(to, key) && key !== except) __defProp(to, key, {
27
- get: ((k) => from[k]).bind(null, key),
28
- enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable
29
- });
30
- }
31
- return to;
32
- };
33
- var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
34
- //#endregion
35
- //#region ../../node_modules/.pnpm/reka-ui@2.10.1_vue@3.5.13_typescript@6.0.3_/node_modules/reka-ui/dist/Popper/utils.js
10
+ //#region ../../node_modules/.pnpm/reka-ui@2.10.1_vue@3.5.41_typescript@6.0.3_/node_modules/reka-ui/dist/Popper/utils.js
36
11
  function isNotNull(value) {
37
12
  return value !== null;
38
13
  }
@@ -85,7 +60,7 @@ function getSideAndAlignFromPlacement(placement) {
85
60
  return [side, align];
86
61
  }
87
62
  //#endregion
88
- //#region ../../node_modules/.pnpm/@floating-ui+utils@0.2.9/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
63
+ //#region ../../node_modules/.pnpm/@floating-ui+utils@0.2.12/node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs
89
64
  /**
90
65
  * Custom positioning reference element.
91
66
  * @see https://floating-ui.com/docs/virtual-elements
@@ -97,7 +72,7 @@ var sides = [
97
72
  "left"
98
73
  ];
99
74
  var alignments = ["start", "end"];
100
- var placements = /* @__PURE__ */ sides.reduce((acc, side) => acc.concat(side, side + "-" + alignments[0], side + "-" + alignments[1]), []);
75
+ var placements = /*#__PURE__*/ sides.reduce((acc, side) => acc.concat(side, side + "-" + alignments[0], side + "-" + alignments[1]), []);
101
76
  var min = Math.min;
102
77
  var max = Math.max;
103
78
  var round = Math.round;
@@ -112,10 +87,6 @@ var oppositeSideMap = {
112
87
  bottom: "top",
113
88
  top: "bottom"
114
89
  };
115
- var oppositeAlignmentMap = {
116
- start: "end",
117
- end: "start"
118
- };
119
90
  function clamp(start, value, end) {
120
91
  return max(start, min(value, end));
121
92
  }
@@ -135,7 +106,8 @@ function getAxisLength(axis) {
135
106
  return axis === "y" ? "height" : "width";
136
107
  }
137
108
  function getSideAxis(placement) {
138
- return ["top", "bottom"].includes(getSide(placement)) ? "y" : "x";
109
+ const firstChar = placement[0];
110
+ return firstChar === "t" || firstChar === "b" ? "y" : "x";
139
111
  }
140
112
  function getAlignmentAxis(placement) {
141
113
  return getOppositeAxis(getSideAxis(placement));
@@ -158,20 +130,20 @@ function getExpandedPlacements(placement) {
158
130
  ];
159
131
  }
160
132
  function getOppositeAlignmentPlacement(placement) {
161
- return placement.replace(/start|end/g, (alignment) => oppositeAlignmentMap[alignment]);
133
+ return placement.includes("start") ? placement.replace("start", "end") : placement.replace("end", "start");
162
134
  }
135
+ var lrPlacement = ["left", "right"];
136
+ var rlPlacement = ["right", "left"];
137
+ var tbPlacement = ["top", "bottom"];
138
+ var btPlacement = ["bottom", "top"];
163
139
  function getSideList(side, isStart, rtl) {
164
- const lr = ["left", "right"];
165
- const rl = ["right", "left"];
166
- const tb = ["top", "bottom"];
167
- const bt = ["bottom", "top"];
168
140
  switch (side) {
169
141
  case "top":
170
142
  case "bottom":
171
- if (rtl) return isStart ? rl : lr;
172
- return isStart ? lr : rl;
143
+ if (rtl) return isStart ? rlPlacement : lrPlacement;
144
+ return isStart ? lrPlacement : rlPlacement;
173
145
  case "left":
174
- case "right": return isStart ? tb : bt;
146
+ case "right": return isStart ? tbPlacement : btPlacement;
175
147
  default: return [];
176
148
  }
177
149
  }
@@ -185,15 +157,16 @@ function getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {
185
157
  return list;
186
158
  }
187
159
  function getOppositePlacement(placement) {
188
- return placement.replace(/left|right|bottom|top/g, (side) => oppositeSideMap[side]);
160
+ const side = getSide(placement);
161
+ return oppositeSideMap[side] + placement.slice(side.length);
189
162
  }
190
163
  function expandPaddingObject(padding) {
164
+ var _padding$top, _padding$right, _padding$bottom, _padding$left;
191
165
  return {
192
- top: 0,
193
- right: 0,
194
- bottom: 0,
195
- left: 0,
196
- ...padding
166
+ top: (_padding$top = padding.top) != null ? _padding$top : 0,
167
+ right: (_padding$right = padding.right) != null ? _padding$right : 0,
168
+ bottom: (_padding$bottom = padding.bottom) != null ? _padding$bottom : 0,
169
+ left: (_padding$left = padding.left) != null ? _padding$left : 0
197
170
  };
198
171
  }
199
172
  function getPaddingObject(padding) {
@@ -218,7 +191,7 @@ function rectToClientRect(rect) {
218
191
  };
219
192
  }
220
193
  //#endregion
221
- //#region ../../node_modules/.pnpm/@floating-ui+core@1.6.9/node_modules/@floating-ui/core/dist/floating-ui.core.mjs
194
+ //#region ../../node_modules/.pnpm/@floating-ui+core@1.8.0/node_modules/@floating-ui/core/dist/floating-ui.core.mjs
222
195
  function computeCoordsFromPlacement(_ref, placement, rtl) {
223
196
  let { reference, floating } = _ref;
224
197
  const sideAxis = getSideAxis(placement);
@@ -260,17 +233,57 @@ function computeCoordsFromPlacement(_ref, placement, rtl) {
260
233
  y: reference.y
261
234
  };
262
235
  }
263
- switch (getAlignment(placement)) {
264
- case "start":
265
- coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);
266
- break;
267
- case "end":
268
- coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);
269
- break;
270
- }
236
+ const alignment = getAlignment(placement);
237
+ if (alignment) coords[alignmentAxis] += commonAlign * (alignment === "end" ? 1 : -1) * (rtl && isVertical ? -1 : 1);
271
238
  return coords;
272
239
  }
273
240
  /**
241
+ * Resolves with an object of overflow side offsets that determine how much the
242
+ * element is overflowing a given clipping boundary on each side.
243
+ * - positive = overflowing the boundary by that number of pixels
244
+ * - negative = how many pixels left before it will overflow
245
+ * - 0 = lies flush with the boundary
246
+ * @see https://floating-ui.com/docs/detectOverflow
247
+ */
248
+ async function detectOverflow(state, options) {
249
+ var _await$platform$isEle;
250
+ if (options === void 0) options = {};
251
+ const { x, y, platform, rects, elements, strategy } = state;
252
+ const { boundary = "clippingAncestors", rootBoundary = "viewport", elementContext = "floating", altBoundary = false, padding = 0 } = evaluate(options, state);
253
+ const paddingObject = getPaddingObject(padding);
254
+ const element = elements[altBoundary ? elementContext === "floating" ? "reference" : "floating" : elementContext];
255
+ const clippingClientRect = rectToClientRect(await platform.getClippingRect({
256
+ element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating)),
257
+ boundary,
258
+ rootBoundary,
259
+ strategy
260
+ }));
261
+ const rect = elementContext === "floating" ? {
262
+ x,
263
+ y,
264
+ width: rects.floating.width,
265
+ height: rects.floating.height
266
+ } : rects.reference;
267
+ const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
268
+ const offsetScale = await (platform.isElement == null ? void 0 : platform.isElement(offsetParent)) && await (platform.getScale == null ? void 0 : platform.getScale(offsetParent)) || {
269
+ x: 1,
270
+ y: 1
271
+ };
272
+ const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({
273
+ elements,
274
+ rect,
275
+ offsetParent,
276
+ strategy
277
+ }) : rect);
278
+ return {
279
+ top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
280
+ bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
281
+ left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
282
+ right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
283
+ };
284
+ }
285
+ var MAX_RESET_COUNT = 50;
286
+ /**
274
287
  * Computes the `x` and `y` coordinates that will place the floating element
275
288
  * next to a given reference element.
276
289
  *
@@ -279,7 +292,10 @@ function computeCoordsFromPlacement(_ref, placement, rtl) {
279
292
  */
280
293
  var computePosition$1 = async (reference, floating, config) => {
281
294
  const { placement = "bottom", strategy = "absolute", middleware = [], platform } = config;
282
- const validMiddleware = middleware.filter(Boolean);
295
+ const platformWithDetectOverflow = platform.detectOverflow ? platform : {
296
+ ...platform,
297
+ detectOverflow
298
+ };
283
299
  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));
284
300
  let rects = await platform.getElementRects({
285
301
  reference,
@@ -288,10 +304,12 @@ var computePosition$1 = async (reference, floating, config) => {
288
304
  });
289
305
  let { x, y } = computeCoordsFromPlacement(rects, placement, rtl);
290
306
  let statefulPlacement = placement;
291
- let middlewareData = {};
292
307
  let resetCount = 0;
293
- for (let i = 0; i < validMiddleware.length; i++) {
294
- const { name, fn } = validMiddleware[i];
308
+ const middlewareData = {};
309
+ for (let i = 0; i < middleware.length; i++) {
310
+ const currentMiddleware = middleware[i];
311
+ if (!currentMiddleware) continue;
312
+ const { name, fn } = currentMiddleware;
295
313
  const { x: nextX, y: nextY, data, reset } = await fn({
296
314
  x,
297
315
  y,
@@ -300,7 +318,7 @@ var computePosition$1 = async (reference, floating, config) => {
300
318
  strategy,
301
319
  middlewareData,
302
320
  rects,
303
- platform,
321
+ platform: platformWithDetectOverflow,
304
322
  elements: {
305
323
  reference,
306
324
  floating
@@ -308,14 +326,11 @@ var computePosition$1 = async (reference, floating, config) => {
308
326
  });
309
327
  x = nextX != null ? nextX : x;
310
328
  y = nextY != null ? nextY : y;
311
- middlewareData = {
312
- ...middlewareData,
313
- [name]: {
314
- ...middlewareData[name],
315
- ...data
316
- }
329
+ middlewareData[name] = {
330
+ ...middlewareData[name],
331
+ ...data
317
332
  };
318
- if (reset && resetCount <= 50) {
333
+ if (reset && resetCount < MAX_RESET_COUNT) {
319
334
  resetCount++;
320
335
  if (typeof reset === "object") {
321
336
  if (reset.placement) statefulPlacement = reset.placement;
@@ -338,54 +353,6 @@ var computePosition$1 = async (reference, floating, config) => {
338
353
  };
339
354
  };
340
355
  /**
341
- * Resolves with an object of overflow side offsets that determine how much the
342
- * element is overflowing a given clipping boundary on each side.
343
- * - positive = overflowing the boundary by that number of pixels
344
- * - negative = how many pixels left before it will overflow
345
- * - 0 = lies flush with the boundary
346
- * @see https://floating-ui.com/docs/detectOverflow
347
- */
348
- async function detectOverflow(state, options) {
349
- var _await$platform$isEle;
350
- if (options === void 0) options = {};
351
- const { x, y, platform, rects, elements, strategy } = state;
352
- const { boundary = "clippingAncestors", rootBoundary = "viewport", elementContext = "floating", altBoundary = false, padding = 0 } = evaluate(options, state);
353
- const paddingObject = getPaddingObject(padding);
354
- const element = elements[altBoundary ? elementContext === "floating" ? "reference" : "floating" : elementContext];
355
- const clippingClientRect = rectToClientRect(await platform.getClippingRect({
356
- element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating)),
357
- boundary,
358
- rootBoundary,
359
- strategy
360
- }));
361
- const rect = elementContext === "floating" ? {
362
- x,
363
- y,
364
- width: rects.floating.width,
365
- height: rects.floating.height
366
- } : rects.reference;
367
- const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));
368
- const offsetScale = await (platform.isElement == null ? void 0 : platform.isElement(offsetParent)) ? await (platform.getScale == null ? void 0 : platform.getScale(offsetParent)) || {
369
- x: 1,
370
- y: 1
371
- } : {
372
- x: 1,
373
- y: 1
374
- };
375
- const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({
376
- elements,
377
- rect,
378
- offsetParent,
379
- strategy
380
- }) : rect);
381
- return {
382
- top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,
383
- bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,
384
- left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,
385
- right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x
386
- };
387
- }
388
- /**
389
356
  * Provides data to position an inner element of the floating element so that it
390
357
  * appears centered to the reference element.
391
358
  * @see https://floating-ui.com/docs/arrow
@@ -418,12 +385,11 @@ var arrow$2 = (options) => ({
418
385
  const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;
419
386
  const minPadding = min(paddingObject[minProp], largestPossiblePadding);
420
387
  const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);
421
- const min$1 = minPadding;
422
388
  const max = clientSize - arrowDimensions[length] - maxPadding;
423
389
  const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;
424
- const offset = clamp(min$1, center, max);
425
- const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
426
- const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;
390
+ const offset = clamp(minPadding, center, max);
391
+ const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < minPadding ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;
392
+ const alignmentOffset = shouldAddOffset ? center < minPadding ? center - minPadding : center - max : 0;
427
393
  return {
428
394
  [axis]: coords[axis] + alignmentOffset,
429
395
  data: {
@@ -457,12 +423,12 @@ var autoPlacement$1 = function(options) {
457
423
  const { rects, middlewareData, placement, platform, elements } = state;
458
424
  const { crossAxis = false, alignment, allowedPlacements = placements, autoAlignment = true, ...detectOverflowOptions } = evaluate(options, state);
459
425
  const placements$1 = alignment !== void 0 || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;
460
- const overflow = await detectOverflow(state, detectOverflowOptions);
461
426
  const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;
462
427
  const currentPlacement = placements$1[currentIndex];
463
428
  if (currentPlacement == null) return {};
464
- const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));
465
429
  if (placement !== currentPlacement) return { reset: { placement: placements$1[0] } };
430
+ const overflow = await platform.detectOverflow(state, detectOverflowOptions);
431
+ const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));
466
432
  const currentOverflows = [
467
433
  overflow[getSide(currentPlacement)],
468
434
  overflow[alignmentSides[0]],
@@ -524,7 +490,7 @@ var flip$1 = function(options) {
524
490
  const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== "none";
525
491
  if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));
526
492
  const placements = [initialPlacement, ...fallbackPlacements];
527
- const overflow = await detectOverflow(state, detectOverflowOptions);
493
+ const overflow = await platform.detectOverflow(state, detectOverflowOptions);
528
494
  const overflows = [];
529
495
  let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];
530
496
  if (checkMainAxis) overflows.push(overflow[side]);
@@ -540,13 +506,15 @@ var flip$1 = function(options) {
540
506
  var _middlewareData$flip2, _overflowsData$filter;
541
507
  const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;
542
508
  const nextPlacement = placements[nextIndex];
543
- if (nextPlacement) return {
544
- data: {
545
- index: nextIndex,
546
- overflows: overflowsData
547
- },
548
- reset: { placement: nextPlacement }
549
- };
509
+ if (nextPlacement) {
510
+ if (!(checkCrossAxis === "alignment" ? initialSideAxis !== getSideAxis(nextPlacement) : false) || overflowsData.every((d) => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) return {
511
+ data: {
512
+ index: nextIndex,
513
+ overflows: overflowsData
514
+ },
515
+ reset: { placement: nextPlacement }
516
+ };
517
+ }
550
518
  let resetPlacement = (_overflowsData$filter = overflowsData.filter((d) => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;
551
519
  if (!resetPlacement) switch (fallbackStrategy) {
552
520
  case "bestFit": {
@@ -561,9 +529,7 @@ var flip$1 = function(options) {
561
529
  if (placement) resetPlacement = placement;
562
530
  break;
563
531
  }
564
- case "initialPlacement":
565
- resetPlacement = initialPlacement;
566
- break;
532
+ case "initialPlacement": resetPlacement = initialPlacement;
567
533
  }
568
534
  if (placement !== resetPlacement) return { reset: { placement: resetPlacement } };
569
535
  }
@@ -593,11 +559,11 @@ var hide$1 = function(options) {
593
559
  name: "hide",
594
560
  options,
595
561
  async fn(state) {
596
- const { rects } = state;
562
+ const { rects, platform } = state;
597
563
  const { strategy = "referenceHidden", ...detectOverflowOptions } = evaluate(options, state);
598
564
  switch (strategy) {
599
565
  case "referenceHidden": {
600
- const offsets = getSideOffsets(await detectOverflow(state, {
566
+ const offsets = getSideOffsets(await platform.detectOverflow(state, {
601
567
  ...detectOverflowOptions,
602
568
  elementContext: "reference"
603
569
  }), rects.reference);
@@ -607,7 +573,7 @@ var hide$1 = function(options) {
607
573
  } };
608
574
  }
609
575
  case "escaped": {
610
- const offsets = getSideOffsets(await detectOverflow(state, {
576
+ const offsets = getSideOffsets(await platform.detectOverflow(state, {
611
577
  ...detectOverflowOptions,
612
578
  altBoundary: true
613
579
  }), rects.floating);
@@ -659,11 +625,12 @@ var inline$1 = function(options) {
659
625
  const { placement, elements, rects, platform, strategy } = state;
660
626
  const { padding = 2, x, y } = evaluate(options, state);
661
627
  const nativeClientRects = Array.from(await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference)) || []);
628
+ if (!nativeClientRects.length) return {};
662
629
  const clientRects = getRectsByLine(nativeClientRects);
663
630
  const fallback = rectToClientRect(getBoundingRect(nativeClientRects));
664
631
  const paddingObject = getPaddingObject(padding);
665
632
  function getBoundingClientRect() {
666
- if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) 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;
633
+ if (clientRects.length === 2 && (clientRects[0].left > clientRects[1].right || clientRects[1].left > clientRects[0].right) && x != null && y != null) 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;
667
634
  if (clientRects.length >= 2) {
668
635
  if (getSideAxis(placement) === "y") {
669
636
  const firstRect = clientRects[0];
@@ -672,17 +639,12 @@ var inline$1 = function(options) {
672
639
  const top = firstRect.top;
673
640
  const bottom = lastRect.bottom;
674
641
  const left = isTop ? firstRect.left : lastRect.left;
675
- const right = isTop ? firstRect.right : lastRect.right;
676
- return {
677
- top,
678
- bottom,
679
- left,
680
- right,
681
- width: right - left,
682
- height: bottom - top,
642
+ return rectToClientRect({
683
643
  x: left,
684
- y: top
685
- };
644
+ y: top,
645
+ width: (isTop ? firstRect.right : lastRect.right) - left,
646
+ height: bottom - top
647
+ });
686
648
  }
687
649
  const isLeftSide = getSide(placement) === "left";
688
650
  const maxRight = max(...clientRects.map((rect) => rect.right));
@@ -690,18 +652,12 @@ var inline$1 = function(options) {
690
652
  const measureRects = clientRects.filter((rect) => isLeftSide ? rect.left === minLeft : rect.right === maxRight);
691
653
  const top = measureRects[0].top;
692
654
  const bottom = measureRects[measureRects.length - 1].bottom;
693
- const left = minLeft;
694
- const right = maxRight;
695
- return {
696
- top,
697
- bottom,
698
- left,
699
- right,
700
- width: right - left,
701
- height: bottom - top,
702
- x: left,
703
- y: top
704
- };
655
+ return rectToClientRect({
656
+ x: minLeft,
657
+ y: top,
658
+ width: maxRight - minLeft,
659
+ height: bottom - top
660
+ });
705
661
  }
706
662
  return fallback;
707
663
  }
@@ -715,13 +671,14 @@ var inline$1 = function(options) {
715
671
  }
716
672
  };
717
673
  };
674
+ var originSides = /*#__PURE__*/ new Set(["left", "top"]);
718
675
  async function convertValueToCoords(state, options) {
719
676
  const { placement, platform, elements } = state;
720
677
  const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));
721
678
  const side = getSide(placement);
722
679
  const alignment = getAlignment(placement);
723
680
  const isVertical = getSideAxis(placement) === "y";
724
- const mainAxisMulti = ["left", "top"].includes(side) ? -1 : 1;
681
+ const mainAxisMulti = originSides.has(side) ? -1 : 1;
725
682
  const crossAxisMulti = rtl && isVertical ? -1 : 1;
726
683
  const rawValue = evaluate(options, state);
727
684
  let { mainAxis, crossAxis, alignmentAxis } = typeof rawValue === "number" ? {
@@ -781,7 +738,7 @@ var shift$1 = function(options) {
781
738
  name: "shift",
782
739
  options,
783
740
  async fn(state) {
784
- const { x, y, placement } = state;
741
+ const { x, y, placement, platform } = state;
785
742
  const { mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = false, limiter = { fn: (_ref) => {
786
743
  let { x, y } = _ref;
787
744
  return {
@@ -793,25 +750,14 @@ var shift$1 = function(options) {
793
750
  x,
794
751
  y
795
752
  };
796
- const overflow = await detectOverflow(state, detectOverflowOptions);
797
- const crossAxis = getSideAxis(getSide(placement));
753
+ const overflow = await platform.detectOverflow(state, detectOverflowOptions);
754
+ const crossAxis = getSideAxis(placement);
798
755
  const mainAxis = getOppositeAxis(crossAxis);
799
756
  let mainAxisCoord = coords[mainAxis];
800
757
  let crossAxisCoord = coords[crossAxis];
801
- if (checkMainAxis) {
802
- const minSide = mainAxis === "y" ? "top" : "left";
803
- const maxSide = mainAxis === "y" ? "bottom" : "right";
804
- const min = mainAxisCoord + overflow[minSide];
805
- const max = mainAxisCoord - overflow[maxSide];
806
- mainAxisCoord = clamp(min, mainAxisCoord, max);
807
- }
808
- if (checkCrossAxis) {
809
- const minSide = crossAxis === "y" ? "top" : "left";
810
- const maxSide = crossAxis === "y" ? "bottom" : "right";
811
- const min = crossAxisCoord + overflow[minSide];
812
- const max = crossAxisCoord - overflow[maxSide];
813
- crossAxisCoord = clamp(min, crossAxisCoord, max);
814
- }
758
+ const clampCoord = (axis, coord) => clamp(coord + overflow[axis === "y" ? "top" : "left"], coord, coord - overflow[axis === "y" ? "bottom" : "right"]);
759
+ if (checkMainAxis) mainAxisCoord = clampCoord(mainAxis, mainAxisCoord);
760
+ if (checkCrossAxis) crossAxisCoord = clampCoord(crossAxis, crossAxisCoord);
815
761
  const limitedCoords = limiter.fn({
816
762
  ...state,
817
763
  [mainAxis]: mainAxisCoord,
@@ -839,6 +785,7 @@ var limitShift$1 = function(options) {
839
785
  return {
840
786
  options,
841
787
  fn(state) {
788
+ var _rawOffset$mainAxis, _rawOffset$crossAxis;
842
789
  const { x, y, placement, rects, middlewareData } = state;
843
790
  const { offset = 0, mainAxis: checkMainAxis = true, crossAxis: checkCrossAxis = true } = evaluate(options, state);
844
791
  const coords = {
@@ -854,9 +801,8 @@ var limitShift$1 = function(options) {
854
801
  mainAxis: rawOffset,
855
802
  crossAxis: 0
856
803
  } : {
857
- mainAxis: 0,
858
- crossAxis: 0,
859
- ...rawOffset
804
+ mainAxis: (_rawOffset$mainAxis = rawOffset.mainAxis) != null ? _rawOffset$mainAxis : 0,
805
+ crossAxis: (_rawOffset$crossAxis = rawOffset.crossAxis) != null ? _rawOffset$crossAxis : 0
860
806
  };
861
807
  if (checkMainAxis) {
862
808
  const len = mainAxis === "y" ? "height" : "width";
@@ -868,7 +814,7 @@ var limitShift$1 = function(options) {
868
814
  if (checkCrossAxis) {
869
815
  var _middlewareData$offse, _middlewareData$offse2;
870
816
  const len = mainAxis === "y" ? "width" : "height";
871
- const isOriginSide = ["top", "left"].includes(getSide(placement));
817
+ const isOriginSide = originSides.has(getSide(placement));
872
818
  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);
873
819
  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);
874
820
  if (crossAxisCoord < limitMin) crossAxisCoord = limitMin;
@@ -893,10 +839,9 @@ var size$1 = function(options) {
893
839
  name: "size",
894
840
  options,
895
841
  async fn(state) {
896
- var _state$middlewareData, _state$middlewareData2;
897
842
  const { placement, rects, platform, elements } = state;
898
843
  const { apply = () => {}, ...detectOverflowOptions } = evaluate(options, state);
899
- const overflow = await detectOverflow(state, detectOverflowOptions);
844
+ const overflow = await platform.detectOverflow(state, detectOverflowOptions);
900
845
  const side = getSide(placement);
901
846
  const alignment = getAlignment(placement);
902
847
  const isYAxis = getSideAxis(placement) === "y";
@@ -914,18 +859,15 @@ var size$1 = function(options) {
914
859
  const maximumClippingWidth = width - overflow.left - overflow.right;
915
860
  const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);
916
861
  const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);
917
- const noShift = !state.middlewareData.shift;
862
+ const shiftData = state.middlewareData.shift;
863
+ const noShift = !shiftData;
918
864
  let availableHeight = overflowAvailableHeight;
919
865
  let availableWidth = overflowAvailableWidth;
920
- if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) availableWidth = maximumClippingWidth;
921
- if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) availableHeight = maximumClippingHeight;
866
+ if (shiftData != null && shiftData.enabled.x) availableWidth = maximumClippingWidth;
867
+ if (shiftData != null && shiftData.enabled.y) availableHeight = maximumClippingHeight;
922
868
  if (noShift && !alignment) {
923
- const xMin = max(overflow.left, 0);
924
- const xMax = max(overflow.right, 0);
925
- const yMin = max(overflow.top, 0);
926
- const yMax = max(overflow.bottom, 0);
927
- if (isYAxis) availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));
928
- else availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));
869
+ if (isYAxis) availableWidth = width - 2 * max(overflow.left, overflow.right);
870
+ else availableHeight = height - 2 * max(overflow.top, overflow.bottom);
929
871
  }
930
872
  await apply({
931
873
  ...state,
@@ -939,7 +881,7 @@ var size$1 = function(options) {
939
881
  };
940
882
  };
941
883
  //#endregion
942
- //#region ../../node_modules/.pnpm/@floating-ui+utils@0.2.9/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
884
+ //#region ../../node_modules/.pnpm/@floating-ui+utils@0.2.12/node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs
943
885
  function hasWindow() {
944
886
  return typeof window !== "undefined";
945
887
  }
@@ -972,47 +914,29 @@ function isShadowRoot(value) {
972
914
  return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;
973
915
  }
974
916
  function isOverflowElement(element) {
975
- const { overflow, overflowX, overflowY, display } = getComputedStyle(element);
976
- return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !["inline", "contents"].includes(display);
917
+ const { overflow, overflowX, overflowY, display } = getComputedStyle$1(element);
918
+ return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && display !== "inline" && display !== "contents";
977
919
  }
978
920
  function isTableElement(element) {
979
- return [
980
- "table",
981
- "td",
982
- "th"
983
- ].includes(getNodeName(element));
921
+ return /^(table|td|th)$/.test(getNodeName(element));
984
922
  }
985
923
  function isTopLayer(element) {
986
- return [":popover-open", ":modal"].some((selector) => {
987
- try {
988
- return element.matches(selector);
989
- } catch (e) {
990
- return false;
991
- }
992
- });
924
+ try {
925
+ if (element.matches(":popover-open")) return true;
926
+ } catch (_e) {}
927
+ try {
928
+ return element.matches(":modal");
929
+ } catch (_e) {
930
+ return false;
931
+ }
993
932
  }
933
+ var willChangeRe = /transform|translate|scale|rotate|perspective|filter/;
934
+ var containRe = /paint|layout|strict|content/;
935
+ var isNotNone = (value) => !!value && value !== "none";
936
+ var isWebKitValue;
994
937
  function isContainingBlock(elementOrCss) {
995
- const webkit = isWebKit();
996
- const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;
997
- return [
998
- "transform",
999
- "translate",
1000
- "scale",
1001
- "rotate",
1002
- "perspective"
1003
- ].some((value) => css[value] ? css[value] !== "none" : false) || (css.containerType ? css.containerType !== "normal" : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== "none" : false) || !webkit && (css.filter ? css.filter !== "none" : false) || [
1004
- "transform",
1005
- "translate",
1006
- "scale",
1007
- "rotate",
1008
- "perspective",
1009
- "filter"
1010
- ].some((value) => (css.willChange || "").includes(value)) || [
1011
- "paint",
1012
- "layout",
1013
- "strict",
1014
- "content"
1015
- ].some((value) => (css.contain || "").includes(value));
938
+ const css = isElement(elementOrCss) ? getComputedStyle$1(elementOrCss) : elementOrCss;
939
+ return isNotNone(css.transform) || isNotNone(css.translate) || isNotNone(css.scale) || isNotNone(css.rotate) || isNotNone(css.perspective) || !isWebKit() && (isNotNone(css.backdropFilter) || isNotNone(css.filter)) || willChangeRe.test(css.willChange || "") || containRe.test(css.contain || "");
1016
940
  }
1017
941
  function getContainingBlock(element) {
1018
942
  let currentNode = getParentNode(element);
@@ -1024,17 +948,13 @@ function getContainingBlock(element) {
1024
948
  return null;
1025
949
  }
1026
950
  function isWebKit() {
1027
- if (typeof CSS === "undefined" || !CSS.supports) return false;
1028
- return CSS.supports("-webkit-backdrop-filter", "none");
951
+ if (isWebKitValue == null) isWebKitValue = typeof CSS !== "undefined" && CSS.supports && CSS.supports("-webkit-backdrop-filter", "none");
952
+ return isWebKitValue;
1029
953
  }
1030
954
  function isLastTraversableNode(node) {
1031
- return [
1032
- "html",
1033
- "body",
1034
- "#document"
1035
- ].includes(getNodeName(node));
955
+ return /^(html|body|#document)$/.test(getNodeName(node));
1036
956
  }
1037
- function getComputedStyle(element) {
957
+ function getComputedStyle$1(element) {
1038
958
  return getWindow(element).getComputedStyle(element);
1039
959
  }
1040
960
  function getNodeScroll(element) {
@@ -1054,7 +974,7 @@ function getParentNode(node) {
1054
974
  }
1055
975
  function getNearestOverflowAncestor(node) {
1056
976
  const parentNode = getParentNode(node);
1057
- if (isLastTraversableNode(parentNode)) return node.ownerDocument ? node.ownerDocument.body : node.body;
977
+ if (isLastTraversableNode(parentNode)) return (node.ownerDocument || node).body;
1058
978
  if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) return parentNode;
1059
979
  return getNearestOverflowAncestor(parentNode);
1060
980
  }
@@ -1068,16 +988,15 @@ function getOverflowAncestors(node, list, traverseIframes) {
1068
988
  if (isBody) {
1069
989
  const frameElement = getFrameElement(win);
1070
990
  return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);
1071
- }
1072
- return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
991
+ } else return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));
1073
992
  }
1074
993
  function getFrameElement(win) {
1075
994
  return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;
1076
995
  }
1077
996
  //#endregion
1078
- //#region ../../node_modules/.pnpm/@floating-ui+dom@1.6.13/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
997
+ //#region ../../node_modules/.pnpm/@floating-ui+dom@1.8.0/node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs
1079
998
  function getCssDimensions(element) {
1080
- const css = getComputedStyle(element);
999
+ const css = getComputedStyle$1(element);
1081
1000
  let width = parseFloat(css.width) || 0;
1082
1001
  let height = parseFloat(css.height) || 0;
1083
1002
  const hasOffset = isHTMLElement(element);
@@ -1111,7 +1030,7 @@ function getScale(element) {
1111
1030
  y
1112
1031
  };
1113
1032
  }
1114
- var noOffsets = /* @__PURE__ */ createCoords(0);
1033
+ var noOffsets = /*#__PURE__*/ createCoords(0);
1115
1034
  function getVisualOffsets(element) {
1116
1035
  const win = getWindow(element);
1117
1036
  if (!isWebKit() || !win.visualViewport) return noOffsets;
@@ -1122,8 +1041,7 @@ function getVisualOffsets(element) {
1122
1041
  }
1123
1042
  function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
1124
1043
  if (isFixed === void 0) isFixed = false;
1125
- if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) return false;
1126
- return isFixed;
1044
+ return !!floatingOffsetParent && isFixed && floatingOffsetParent === getWindow(element);
1127
1045
  }
1128
1046
  function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
1129
1047
  if (includeScale === void 0) includeScale = false;
@@ -1131,23 +1049,25 @@ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetPar
1131
1049
  const clientRect = element.getBoundingClientRect();
1132
1050
  const domElement = unwrapElement$1(element);
1133
1051
  let scale = createCoords(1);
1134
- if (includeScale) if (offsetParent) {
1135
- if (isElement(offsetParent)) scale = getScale(offsetParent);
1136
- } else scale = getScale(element);
1052
+ if (includeScale) {
1053
+ if (offsetParent) {
1054
+ if (isElement(offsetParent)) scale = getScale(offsetParent);
1055
+ } else scale = getScale(element);
1056
+ }
1137
1057
  const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);
1138
1058
  let x = (clientRect.left + visualOffsets.x) / scale.x;
1139
1059
  let y = (clientRect.top + visualOffsets.y) / scale.y;
1140
1060
  let width = clientRect.width / scale.x;
1141
1061
  let height = clientRect.height / scale.y;
1142
- if (domElement) {
1062
+ if (domElement && offsetParent) {
1143
1063
  const win = getWindow(domElement);
1144
- const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
1064
+ const offsetWin = isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
1145
1065
  let currentWin = win;
1146
1066
  let currentIFrame = getFrameElement(currentWin);
1147
- while (currentIFrame && offsetParent && offsetWin !== currentWin) {
1067
+ while (currentIFrame && offsetWin !== currentWin) {
1148
1068
  const iframeScale = getScale(currentIFrame);
1149
1069
  const iframeRect = currentIFrame.getBoundingClientRect();
1150
- const css = getComputedStyle(currentIFrame);
1070
+ const css = getComputedStyle$1(currentIFrame);
1151
1071
  const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
1152
1072
  const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
1153
1073
  x *= iframeScale.x;
@@ -1172,11 +1092,10 @@ function getWindowScrollBarX(element, rect) {
1172
1092
  if (!rect) return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;
1173
1093
  return rect.left + leftScroll;
1174
1094
  }
1175
- function getHTMLOffset(documentElement, scroll, ignoreScrollbarX) {
1176
- if (ignoreScrollbarX === void 0) ignoreScrollbarX = false;
1095
+ function getHTMLOffset(documentElement, scroll) {
1177
1096
  const htmlRect = documentElement.getBoundingClientRect();
1178
1097
  return {
1179
- x: htmlRect.left + scroll.scrollLeft - (ignoreScrollbarX ? 0 : getWindowScrollBarX(documentElement, htmlRect)),
1098
+ x: htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect),
1180
1099
  y: htmlRect.top + scroll.scrollTop
1181
1100
  };
1182
1101
  }
@@ -1193,16 +1112,16 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
1193
1112
  let scale = createCoords(1);
1194
1113
  const offsets = createCoords(0);
1195
1114
  const isOffsetParentAnElement = isHTMLElement(offsetParent);
1196
- if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
1115
+ if (isOffsetParentAnElement || !isFixed) {
1197
1116
  if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) scroll = getNodeScroll(offsetParent);
1198
- if (isHTMLElement(offsetParent)) {
1117
+ if (isOffsetParentAnElement) {
1199
1118
  const offsetRect = getBoundingClientRect(offsetParent);
1200
1119
  scale = getScale(offsetParent);
1201
1120
  offsets.x = offsetRect.x + offsetParent.clientLeft;
1202
1121
  offsets.y = offsetRect.y + offsetParent.clientTop;
1203
1122
  }
1204
1123
  }
1205
- const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll, true) : createCoords(0);
1124
+ const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
1206
1125
  return {
1207
1126
  width: rect.width * scale.x,
1208
1127
  height: rect.height * scale.y,
@@ -1211,17 +1130,16 @@ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
1211
1130
  };
1212
1131
  }
1213
1132
  function getClientRects(element) {
1214
- return Array.from(element.getClientRects());
1133
+ return element.getClientRects ? Array.from(element.getClientRects()) : [];
1215
1134
  }
1216
- function getDocumentRect(element) {
1217
- const html = getDocumentElement(element);
1218
- const scroll = getNodeScroll(element);
1219
- const body = element.ownerDocument.body;
1135
+ function getDocumentRect(html) {
1136
+ const scroll = getNodeScroll(html);
1137
+ const body = html.ownerDocument.body;
1220
1138
  const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
1221
1139
  const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
1222
- let x = -scroll.scrollLeft + getWindowScrollBarX(element);
1140
+ let x = -scroll.scrollLeft + getWindowScrollBarX(html);
1223
1141
  const y = -scroll.scrollTop;
1224
- if (getComputedStyle(body).direction === "rtl") x += max(html.clientWidth, body.clientWidth) - width;
1142
+ if (getComputedStyle$1(body).direction === "rtl") x += max(html.clientWidth, body.clientWidth) - width;
1225
1143
  return {
1226
1144
  width,
1227
1145
  height,
@@ -1229,7 +1147,10 @@ function getDocumentRect(element) {
1229
1147
  y
1230
1148
  };
1231
1149
  }
1232
- function getViewportRect(element, strategy) {
1150
+ var SCROLLBAR_MAX = 25;
1151
+ function getViewportRect(element, strategy, rootBoundary) {
1152
+ if (rootBoundary === void 0) rootBoundary = "viewport";
1153
+ const isLayoutViewport = rootBoundary === "layoutViewport";
1233
1154
  const win = getWindow(element);
1234
1155
  const html = getDocumentElement(element);
1235
1156
  const visualViewport = win.visualViewport;
@@ -1238,14 +1159,30 @@ function getViewportRect(element, strategy) {
1238
1159
  let x = 0;
1239
1160
  let y = 0;
1240
1161
  if (visualViewport) {
1241
- width = visualViewport.width;
1242
- height = visualViewport.height;
1243
- const visualViewportBased = isWebKit();
1244
- if (!visualViewportBased || visualViewportBased && strategy === "fixed") {
1245
- x = visualViewport.offsetLeft;
1246
- y = visualViewport.offsetTop;
1162
+ const layoutRelativeClientCoords = !isWebKit() || strategy === "fixed";
1163
+ if (isLayoutViewport) {
1164
+ if (!layoutRelativeClientCoords) {
1165
+ x = -visualViewport.offsetLeft;
1166
+ y = -visualViewport.offsetTop;
1167
+ }
1168
+ } else {
1169
+ width = visualViewport.width;
1170
+ height = visualViewport.height;
1171
+ if (layoutRelativeClientCoords) {
1172
+ x = visualViewport.offsetLeft;
1173
+ y = visualViewport.offsetTop;
1174
+ }
1247
1175
  }
1248
1176
  }
1177
+ if (getWindowScrollBarX(html) <= 0) {
1178
+ const doc = html.ownerDocument;
1179
+ const body = doc.body;
1180
+ const bodyStyles = getComputedStyle(body);
1181
+ const bodyMarginInline = doc.compatMode === "CSS1Compat" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
1182
+ const reservedWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
1183
+ const gutter = getComputedStyle(html).scrollbarGutter === "stable both-edges" ? reservedWidth / 2 : reservedWidth;
1184
+ if (gutter <= SCROLLBAR_MAX) width -= gutter;
1185
+ }
1249
1186
  return {
1250
1187
  width,
1251
1188
  height,
@@ -1257,7 +1194,7 @@ function getInnerBoundingClientRect(element, strategy) {
1257
1194
  const clientRect = getBoundingClientRect(element, true, strategy === "fixed");
1258
1195
  const top = clientRect.top + element.clientTop;
1259
1196
  const left = clientRect.left + element.clientLeft;
1260
- const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);
1197
+ const scale = getScale(element);
1261
1198
  return {
1262
1199
  width: element.clientWidth * scale.x,
1263
1200
  height: element.clientHeight * scale.y,
@@ -1267,7 +1204,7 @@ function getInnerBoundingClientRect(element, strategy) {
1267
1204
  }
1268
1205
  function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
1269
1206
  let rect;
1270
- if (clippingAncestor === "viewport") rect = getViewportRect(element, strategy);
1207
+ if (clippingAncestor === "viewport" || clippingAncestor === "layoutViewport") rect = getViewportRect(element, strategy, clippingAncestor);
1271
1208
  else if (clippingAncestor === "document") rect = getDocumentRect(getDocumentElement(element));
1272
1209
  else if (isElement(clippingAncestor)) rect = getInnerBoundingClientRect(clippingAncestor, strategy);
1273
1210
  else {
@@ -1281,24 +1218,19 @@ function getClientRectFromClippingAncestor(element, clippingAncestor, strategy)
1281
1218
  }
1282
1219
  return rectToClientRect(rect);
1283
1220
  }
1284
- function hasFixedPositionAncestor(element, stopNode) {
1285
- const parentNode = getParentNode(element);
1286
- if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) return false;
1287
- return getComputedStyle(parentNode).position === "fixed" || hasFixedPositionAncestor(parentNode, stopNode);
1288
- }
1289
1221
  function getClippingElementAncestors(element, cache) {
1290
1222
  const cachedResult = cache.get(element);
1291
1223
  if (cachedResult) return cachedResult;
1292
1224
  let result = getOverflowAncestors(element, [], false).filter((el) => isElement(el) && getNodeName(el) !== "body");
1293
- let currentContainingBlockComputedStyle = null;
1294
- const elementIsFixed = getComputedStyle(element).position === "fixed";
1225
+ let lastKeptComputedStyle = null;
1226
+ const elementIsFixed = getComputedStyle$1(element).position === "fixed";
1295
1227
  let currentNode = elementIsFixed ? getParentNode(element) : element;
1296
1228
  while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
1297
- const computedStyle = getComputedStyle(currentNode);
1229
+ const computedStyle = getComputedStyle$1(currentNode);
1298
1230
  const currentNodeIsContaining = isContainingBlock(currentNode);
1299
- if (!currentNodeIsContaining && computedStyle.position === "fixed") currentContainingBlockComputedStyle = null;
1300
- if (elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle && ["absolute", "fixed"].includes(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode)) result = result.filter((ancestor) => ancestor !== currentNode);
1301
- else currentContainingBlockComputedStyle = computedStyle;
1231
+ const lastPosition = lastKeptComputedStyle ? lastKeptComputedStyle.position : elementIsFixed ? "fixed" : "";
1232
+ if (!currentNodeIsContaining && (lastPosition === "fixed" || lastPosition === "absolute" && computedStyle.position === "static")) result = result.filter((ancestor) => ancestor !== currentNode);
1233
+ else lastKeptComputedStyle = computedStyle;
1302
1234
  currentNode = getParentNode(currentNode);
1303
1235
  }
1304
1236
  cache.set(element, result);
@@ -1307,20 +1239,23 @@ function getClippingElementAncestors(element, cache) {
1307
1239
  function getClippingRect(_ref) {
1308
1240
  let { element, boundary, rootBoundary, strategy } = _ref;
1309
1241
  const clippingAncestors = [...boundary === "clippingAncestors" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary), rootBoundary];
1310
- const firstClippingAncestor = clippingAncestors[0];
1311
- const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {
1312
- const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);
1313
- accRect.top = max(rect.top, accRect.top);
1314
- accRect.right = min(rect.right, accRect.right);
1315
- accRect.bottom = min(rect.bottom, accRect.bottom);
1316
- accRect.left = max(rect.left, accRect.left);
1317
- return accRect;
1318
- }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));
1242
+ const firstRect = getClientRectFromClippingAncestor(element, clippingAncestors[0], strategy);
1243
+ let top = firstRect.top;
1244
+ let right = firstRect.right;
1245
+ let bottom = firstRect.bottom;
1246
+ let left = firstRect.left;
1247
+ for (let i = 1; i < clippingAncestors.length; i++) {
1248
+ const rect = getClientRectFromClippingAncestor(element, clippingAncestors[i], strategy);
1249
+ top = max(rect.top, top);
1250
+ right = min(rect.right, right);
1251
+ bottom = min(rect.bottom, bottom);
1252
+ left = max(rect.left, left);
1253
+ }
1319
1254
  return {
1320
- width: clippingRect.right - clippingRect.left,
1321
- height: clippingRect.bottom - clippingRect.top,
1322
- x: clippingRect.left,
1323
- y: clippingRect.top
1255
+ width: right - left,
1256
+ height: bottom - top,
1257
+ x: left,
1258
+ y: top
1324
1259
  };
1325
1260
  }
1326
1261
  function getDimensions(element) {
@@ -1340,14 +1275,15 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
1340
1275
  scrollTop: 0
1341
1276
  };
1342
1277
  const offsets = createCoords(0);
1343
- if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
1278
+ if (isOffsetParentAnElement || !isFixed) {
1344
1279
  if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) scroll = getNodeScroll(offsetParent);
1345
1280
  if (isOffsetParentAnElement) {
1346
1281
  const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
1347
1282
  offsets.x = offsetRect.x + offsetParent.clientLeft;
1348
1283
  offsets.y = offsetRect.y + offsetParent.clientTop;
1349
- } else if (documentElement) offsets.x = getWindowScrollBarX(documentElement);
1284
+ }
1350
1285
  }
1286
+ if (!isOffsetParentAnElement && documentElement) offsets.x = getWindowScrollBarX(documentElement);
1351
1287
  const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
1352
1288
  return {
1353
1289
  x: rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x,
@@ -1357,10 +1293,10 @@ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
1357
1293
  };
1358
1294
  }
1359
1295
  function isStaticPositioned(element) {
1360
- return getComputedStyle(element).position === "static";
1296
+ return getComputedStyle$1(element).position === "static";
1361
1297
  }
1362
1298
  function getTrueOffsetParent(element, polyfill) {
1363
- if (!isHTMLElement(element) || getComputedStyle(element).position === "fixed") return null;
1299
+ if (!isHTMLElement(element) || getComputedStyle$1(element).position === "fixed") return null;
1364
1300
  if (polyfill) return polyfill(element);
1365
1301
  let rawOffsetParent = element.offsetParent;
1366
1302
  if (getDocumentElement(element) === rawOffsetParent) rawOffsetParent = rawOffsetParent.ownerDocument.body;
@@ -1397,7 +1333,7 @@ var getElementRects = async function(data) {
1397
1333
  };
1398
1334
  };
1399
1335
  function isRTL(element) {
1400
- return getComputedStyle(element).direction === "rtl";
1336
+ return getComputedStyle$1(element).direction === "rtl";
1401
1337
  }
1402
1338
  var platform = {
1403
1339
  convertOffsetParentRelativeRectToViewportRelativeRect,
@@ -1414,7 +1350,7 @@ var platform = {
1414
1350
  function rectsAreEqual(a, b) {
1415
1351
  return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
1416
1352
  }
1417
- function observeMove(element, onMove) {
1353
+ function observeMove(element, onMove, ancestorResize) {
1418
1354
  let io = null;
1419
1355
  let timeoutId;
1420
1356
  const root = getDocumentElement(element);
@@ -1443,6 +1379,7 @@ function observeMove(element, onMove) {
1443
1379
  let isFirstUpdate = true;
1444
1380
  function handleObserve(entries) {
1445
1381
  const ratio = entries[0].intersectionRatio;
1382
+ if (!rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) return refresh();
1446
1383
  if (ratio !== threshold) {
1447
1384
  if (!isFirstUpdate) return refresh();
1448
1385
  if (!ratio) timeoutId = setTimeout(() => {
@@ -1450,7 +1387,6 @@ function observeMove(element, onMove) {
1450
1387
  }, 1e3);
1451
1388
  else refresh(false, ratio);
1452
1389
  }
1453
- if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) refresh();
1454
1390
  isFirstUpdate = false;
1455
1391
  }
1456
1392
  try {
@@ -1458,13 +1394,19 @@ function observeMove(element, onMove) {
1458
1394
  ...options,
1459
1395
  root: root.ownerDocument
1460
1396
  });
1461
- } catch (e) {
1397
+ } catch (_e) {
1462
1398
  io = new IntersectionObserver(handleObserve, options);
1463
1399
  }
1464
1400
  io.observe(element);
1465
1401
  }
1402
+ const win = getWindow(element);
1403
+ const handleResize = () => refresh(ancestorResize);
1404
+ win.addEventListener("resize", handleResize);
1466
1405
  refresh(true);
1467
- return cleanup;
1406
+ return () => {
1407
+ win.removeEventListener("resize", handleResize);
1408
+ cleanup();
1409
+ };
1468
1410
  }
1469
1411
  /**
1470
1412
  * Automatically updates the position of the floating element when necessary.
@@ -1478,18 +1420,18 @@ function autoUpdate(reference, floating, update, options) {
1478
1420
  if (options === void 0) options = {};
1479
1421
  const { ancestorScroll = true, ancestorResize = true, elementResize = typeof ResizeObserver === "function", layoutShift = typeof IntersectionObserver === "function", animationFrame = false } = options;
1480
1422
  const referenceEl = unwrapElement$1(reference);
1481
- const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...getOverflowAncestors(floating)] : [];
1423
+ const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...floating ? getOverflowAncestors(floating) : []] : [];
1482
1424
  ancestors.forEach((ancestor) => {
1483
- ancestorScroll && ancestor.addEventListener("scroll", update, { passive: true });
1425
+ ancestorScroll && ancestor.addEventListener("scroll", update);
1484
1426
  ancestorResize && ancestor.addEventListener("resize", update);
1485
1427
  });
1486
- const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;
1428
+ const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update, ancestorResize) : null;
1487
1429
  let reobserveFrame = -1;
1488
1430
  let resizeObserver = null;
1489
1431
  if (elementResize) {
1490
1432
  resizeObserver = new ResizeObserver((_ref) => {
1491
1433
  let [firstEntry] = _ref;
1492
- if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {
1434
+ if (firstEntry && firstEntry.target === referenceEl && resizeObserver && floating) {
1493
1435
  resizeObserver.unobserve(floating);
1494
1436
  cancelAnimationFrame(reobserveFrame);
1495
1437
  reobserveFrame = requestAnimationFrame(() => {
@@ -1500,7 +1442,7 @@ function autoUpdate(reference, floating, update, options) {
1500
1442
  update();
1501
1443
  });
1502
1444
  if (referenceEl && !animationFrame) resizeObserver.observe(referenceEl);
1503
- resizeObserver.observe(floating);
1445
+ if (floating) resizeObserver.observe(floating);
1504
1446
  }
1505
1447
  let frameId;
1506
1448
  let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
@@ -1587,11 +1529,9 @@ var limitShift = limitShift$1;
1587
1529
  */
1588
1530
  var computePosition = (reference, floating, options) => {
1589
1531
  const cache = /* @__PURE__ */ new Map();
1590
- const mergedOptions = {
1591
- platform,
1592
- ...options
1593
- };
1532
+ const mergedOptions = options != null ? options : {};
1594
1533
  const platformWithCache = {
1534
+ ...platform,
1595
1535
  ...mergedOptions.platform,
1596
1536
  _c: cache
1597
1537
  };
@@ -1601,7 +1541,7 @@ var computePosition = (reference, floating, options) => {
1601
1541
  });
1602
1542
  };
1603
1543
  //#endregion
1604
- //#region ../../node_modules/.pnpm/vue-demi@0.14.10_vue@3.5.13_typescript@6.0.3_/node_modules/vue-demi/lib/index.mjs
1544
+ //#region ../../node_modules/.pnpm/vue-demi@0.14.10_vue@3.5.41_typescript@6.0.3_/node_modules/vue-demi/lib/index.mjs
1605
1545
  var lib_exports = /* @__PURE__ */ __exportAll({
1606
1546
  Vue: () => Vue,
1607
1547
  Vue2: () => void 0,
@@ -1631,7 +1571,7 @@ function del(target, key) {
1631
1571
  delete target[key];
1632
1572
  }
1633
1573
  //#endregion
1634
- //#region ../../node_modules/.pnpm/@floating-ui+vue@1.1.6_vue@3.5.13_typescript@6.0.3_/node_modules/@floating-ui/vue/dist/floating-ui.vue.mjs
1574
+ //#region ../../node_modules/.pnpm/@floating-ui+vue@1.1.11_vue@3.5.41_typescript@6.0.3_/node_modules/@floating-ui/vue/dist/floating-ui.vue.mjs
1635
1575
  function isComponentPublicInstance(target) {
1636
1576
  return target != null && typeof target === "object" && "$el" in target;
1637
1577
  }
@@ -1791,7 +1731,7 @@ function useFloating(reference, floating, options) {
1791
1731
  };
1792
1732
  }
1793
1733
  //#endregion
1794
- //#region ../../node_modules/.pnpm/reka-ui@2.10.1_vue@3.5.13_typescript@6.0.3_/node_modules/reka-ui/dist/Popper/PopperContent.js
1734
+ //#region ../../node_modules/.pnpm/reka-ui@2.10.1_vue@3.5.41_typescript@6.0.3_/node_modules/reka-ui/dist/Popper/PopperContent.js
1795
1735
  var _hoisted_1 = ["dir"];
1796
1736
  var PopperContentPropsDefaultValue = {
1797
1737
  side: "bottom",
@@ -1811,7 +1751,7 @@ var PopperContentPropsDefaultValue = {
1811
1751
  updatePositionStrategy: "optimized",
1812
1752
  prioritizePosition: false
1813
1753
  };
1814
- var [injectPopperContentContext, providePopperContentContext] = /* @__PURE__ */ createContext("PopperContent");
1754
+ var [injectPopperContentContext, providePopperContentContext] = /*#__PURE__*/ createContext("PopperContent");
1815
1755
  var PopperContent_default = /* @__PURE__ */ defineComponent({
1816
1756
  inheritAttrs: false,
1817
1757
  __name: "PopperContent",
@@ -2086,4 +2026,4 @@ var PopperContent_default = /* @__PURE__ */ defineComponent({
2086
2026
  }
2087
2027
  });
2088
2028
  //#endregion
2089
- export { autoPlacement as a, hide as c, shift as d, size as f, arrow$1 as i, inline as l, PopperContent_default as n, computePosition as o, __exportAll as p, injectPopperContentContext as r, flip as s, PopperContentPropsDefaultValue as t, offset as u };
2029
+ export { autoPlacement as a, hide as c, shift as d, size as f, arrow$1 as i, inline as l, PopperContent_default as n, computePosition as o, injectPopperContentContext as r, flip as s, PopperContentPropsDefaultValue as t, offset as u };