ics-ui-kit 0.1.12 → 0.1.14

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 (295) hide show
  1. package/README.md +36 -36
  2. package/dist/AlertContext-CxjW1LVL.js.map +1 -1
  3. package/dist/{AlertIcon-5B6AgZpe.js → AlertIcon-BphnEYvV.js} +3 -3
  4. package/dist/AlertIcon-BphnEYvV.js.map +1 -0
  5. package/dist/Button-Dg89xRSi.js.map +1 -1
  6. package/dist/ButtonBase-e6qyv6mD.js.map +1 -1
  7. package/dist/{CheckboxField-cX09-eBX.js → CheckboxField-2zNFubvm.js} +2 -2
  8. package/dist/CheckboxField-2zNFubvm.js.map +1 -0
  9. package/dist/Combination-DeIugdgY.js +353 -0
  10. package/dist/Combination-DeIugdgY.js.map +1 -0
  11. package/dist/{Command-ClIm4U7r.js → Command-D5zgJ7-y.js} +3 -3
  12. package/dist/Command-D5zgJ7-y.js.map +1 -0
  13. package/dist/ComponentVariantProvider-brk0g-hm.js.map +1 -1
  14. package/dist/Description-BTPMlTT-.js.map +1 -1
  15. package/dist/{Dialog-Bs1B5Iu8.js → Dialog-CdnsGyJD.js} +3 -3
  16. package/dist/Dialog-CdnsGyJD.js.map +1 -0
  17. package/dist/Divider-DPW5ZhZ8.js.map +1 -1
  18. package/dist/EmptyState-DRKjscH-.js.map +1 -1
  19. package/dist/ErrorState-B26k67-z.js.map +1 -1
  20. package/dist/FeatureIcon-BGE0Orkc.js.map +1 -1
  21. package/dist/Field-CP_-li9L.js +90 -0
  22. package/dist/Field-CP_-li9L.js.map +1 -0
  23. package/dist/{FieldLabel-QJ4rJFOi.js → FieldLabel-eyKmeWRn.js} +2 -2
  24. package/dist/FieldLabel-eyKmeWRn.js.map +1 -0
  25. package/dist/FolderSvg-cw0DxNVy.js.map +1 -1
  26. package/dist/{FormFooterTemplate-DPB6Dkxn.js → FormFooterTemplate-Cfn5Nmge.js} +3 -3
  27. package/dist/FormFooterTemplate-Cfn5Nmge.js.map +1 -0
  28. package/dist/FormHeader--F6b2aRk.js.map +1 -1
  29. package/dist/{FormStack-DO15vBgd.js → FormStack-Cc_ELdWL.js} +3 -3
  30. package/dist/FormStack-Cc_ELdWL.js.map +1 -0
  31. package/dist/HintState-BxrCAWqq.js.map +1 -1
  32. package/dist/Icon-DH3ev9GK.js.map +1 -1
  33. package/dist/IconButton-DwkpNgn3.js.map +1 -1
  34. package/dist/{IconTooltip-CKJKGHbk.js → IconTooltip-RSxvnBgH.js} +2 -2
  35. package/dist/IconTooltip-RSxvnBgH.js.map +1 -0
  36. package/dist/Indicator-AqxHWPA9.js.map +1 -1
  37. package/dist/InputGroup-BvD9Igmt.js.map +1 -1
  38. package/dist/InputOTP-B2e1nfSO.js.map +1 -1
  39. package/dist/Loader-BpHiL6W-.js.map +1 -1
  40. package/dist/MenuItem-d19Ty84F.js.map +1 -1
  41. package/dist/MenuItemShortcut-D1faeIXp.js.map +1 -1
  42. package/dist/MenuItemText-CRpaPbvg.js.map +1 -1
  43. package/dist/Overlay-CVt011mY.js.map +1 -1
  44. package/dist/{Popover-CY_d3Ggn.js → Popover-CRVD7AtB.js} +20 -19
  45. package/dist/Popover-CRVD7AtB.js.map +1 -0
  46. package/dist/RichButton-DuPTenmS.js.map +1 -1
  47. package/dist/ScrollArea-CuuTeDn3.js.map +1 -1
  48. package/dist/ScrollShadowContainer-DdrnF8qU.js.map +1 -1
  49. package/dist/{SearchSelectTag-DFCX9zT1.js → SearchSelectTag-CA7Ie3Nx.js} +2 -2
  50. package/dist/SearchSelectTag-CA7Ie3Nx.js.map +1 -0
  51. package/dist/{Select-B2WcoFf5.js → Select-MLPTpIl5.js} +24 -23
  52. package/dist/Select-MLPTpIl5.js.map +1 -0
  53. package/dist/{Sheet-zTMuP7C8.js → Sheet-qTIXsqm0.js} +3 -3
  54. package/dist/Sheet-qTIXsqm0.js.map +1 -0
  55. package/dist/Shortcut-D8L15_ed.js.map +1 -1
  56. package/dist/Skeleton-y6I-i9q5.js.map +1 -1
  57. package/dist/TableFillHandle-C_yvCTSl.js +65 -0
  58. package/dist/TableFillHandle-C_yvCTSl.js.map +1 -0
  59. package/dist/Tag-DdHXTyKF.js.map +1 -1
  60. package/dist/Text-DeBE8AKl.js.map +1 -1
  61. package/dist/TextInput-Cj50ImXi.js.map +1 -1
  62. package/dist/{TextOverflowTooltip-DlUgic5y.js → TextOverflowTooltip-B1I5qwAT.js} +2 -2
  63. package/dist/TextOverflowTooltip-B1I5qwAT.js.map +1 -0
  64. package/dist/Toggle-v_HT3Gm2.js.map +1 -1
  65. package/dist/{Tooltip-C4rVuWr4.js → Tooltip-7Duaau0S.js} +3 -3
  66. package/dist/Tooltip-7Duaau0S.js.map +1 -0
  67. package/dist/TriggerButton-CfDObWP9.js.map +1 -1
  68. package/dist/blocks/auth/otp-form.js +1 -1
  69. package/dist/blocks/auth/otp-form.js.map +1 -1
  70. package/dist/circle-BbEzypQJ.js +14 -0
  71. package/dist/circle-BbEzypQJ.js.map +1 -0
  72. package/dist/cn-dsXlqdJg.js.map +1 -1
  73. package/dist/components/alert/Alert.d.ts +4 -0
  74. package/dist/components/alert/Alert.stories.d.ts +1 -0
  75. package/dist/components/alert-dialog.js +3 -3
  76. package/dist/components/alert-dialog.js.map +1 -1
  77. package/dist/components/alert.js +18 -18
  78. package/dist/components/alert.js.map +1 -1
  79. package/dist/components/avatar.js.map +1 -1
  80. package/dist/components/background-pattern.js.map +1 -1
  81. package/dist/components/badge.js.map +1 -1
  82. package/dist/components/banner.js.map +1 -1
  83. package/dist/components/breadcrumb.js.map +1 -1
  84. package/dist/components/button.js.map +1 -1
  85. package/dist/components/calendar.js.map +1 -1
  86. package/dist/components/card.js +1 -1
  87. package/dist/components/card.js.map +1 -1
  88. package/dist/components/carousel.js.map +1 -1
  89. package/dist/components/checkbox.js +1 -1
  90. package/dist/components/collapsible.js.map +1 -1
  91. package/dist/components/color-tile.js.map +1 -1
  92. package/dist/components/command/Command.stories.d.ts +1 -0
  93. package/dist/components/command.js +1 -1
  94. package/dist/components/container.js.map +1 -1
  95. package/dist/components/context-menu/ContextMenu.d.ts +27 -0
  96. package/dist/components/context-menu/ContextMenu.stories.d.ts +10 -0
  97. package/dist/components/context-menu/index.d.ts +1 -0
  98. package/dist/components/context-menu.d.ts +2 -0
  99. package/dist/components/context-menu.js +2675 -0
  100. package/dist/components/context-menu.js.map +1 -0
  101. package/dist/components/counter.js.map +1 -1
  102. package/dist/components/dialog.js +3 -3
  103. package/dist/components/dialog.js.map +1 -1
  104. package/dist/components/divider.js.map +1 -1
  105. package/dist/components/drawer.js +3 -3
  106. package/dist/components/drawer.js.map +1 -1
  107. package/dist/components/dropdown.js +26 -25
  108. package/dist/components/dropdown.js.map +1 -1
  109. package/dist/components/error-state.js.map +1 -1
  110. package/dist/components/field/Field.d.ts +4 -0
  111. package/dist/components/field/Field.stories.d.ts +1 -0
  112. package/dist/components/field.js +1 -1
  113. package/dist/components/file-upload.js +2 -2
  114. package/dist/components/file-upload.js.map +1 -1
  115. package/dist/components/form.js +3 -3
  116. package/dist/components/form.js.map +1 -1
  117. package/dist/components/glass-toolbar.js.map +1 -1
  118. package/dist/components/icon-tooltip.js +1 -1
  119. package/dist/components/image-placeholder.js.map +1 -1
  120. package/dist/components/image-preview.js.map +1 -1
  121. package/dist/components/image-uploader.js.map +1 -1
  122. package/dist/components/input.js.map +1 -1
  123. package/dist/components/label.js +1 -1
  124. package/dist/components/menu-item.js.map +1 -1
  125. package/dist/components/overflow-tooltip.js +1 -1
  126. package/dist/components/page-state.js.map +1 -1
  127. package/dist/components/popover.js +1 -1
  128. package/dist/components/portal-container.js +2 -2
  129. package/dist/components/portal-container.js.map +1 -1
  130. package/dist/components/progress-circle.js.map +1 -1
  131. package/dist/components/progress.js.map +1 -1
  132. package/dist/components/prose.js.map +1 -1
  133. package/dist/components/radio-group.js +63 -72
  134. package/dist/components/radio-group.js.map +1 -1
  135. package/dist/components/resizable.js.map +1 -1
  136. package/dist/components/scheduler.js +1 -1
  137. package/dist/components/scheduler.js.map +1 -1
  138. package/dist/components/search-select.js +4 -4
  139. package/dist/components/search-select.js.map +1 -1
  140. package/dist/components/select.js +1 -1
  141. package/dist/components/sheet.js +1 -1
  142. package/dist/components/sidebar.js +206 -212
  143. package/dist/components/sidebar.js.map +1 -1
  144. package/dist/components/slider.js.map +1 -1
  145. package/dist/components/stepper.js.map +1 -1
  146. package/dist/components/switch/Switch.d.ts +1 -1
  147. package/dist/components/switch.js +5 -2
  148. package/dist/components/switch.js.map +1 -1
  149. package/dist/components/system-state.js +1 -1
  150. package/dist/components/system-state.js.map +1 -1
  151. package/dist/components/table/Table.d.ts +109 -5
  152. package/dist/components/table/Table.stories.d.ts +285 -9
  153. package/dist/components/table/column-reorder/index.d.ts +1 -0
  154. package/dist/components/table/column-reorder/useColumnReorder.d.ts +82 -0
  155. package/dist/components/table/column-reorder.d.ts +2 -0
  156. package/dist/components/table/column-reorder.js +6 -0
  157. package/dist/components/table/column-reorder.js.map +1 -0
  158. package/dist/components/table/column-resize/columnAutoFit.d.ts +21 -0
  159. package/dist/components/table/column-resize/columnResizeSession.d.ts +9 -0
  160. package/dist/components/table/column-resize/index.d.ts +3 -0
  161. package/dist/components/table/column-resize/useColumnResize.d.ts +52 -0
  162. package/dist/components/table/column-resize.d.ts +2 -0
  163. package/dist/components/table/column-resize.js +7 -0
  164. package/dist/components/table/column-resize.js.map +1 -0
  165. package/dist/components/table/editable/TableFillHandle.d.ts +23 -0
  166. package/dist/components/table/editable/cellRange.d.ts +83 -0
  167. package/dist/components/table/editable/editableCell.d.ts +90 -0
  168. package/dist/components/table/editable/index.d.ts +3 -0
  169. package/dist/components/table/editable.d.ts +2 -0
  170. package/dist/components/table/editable.js +12 -0
  171. package/dist/components/table/editable.js.map +1 -0
  172. package/dist/components/table/index.d.ts +8 -1
  173. package/dist/components/table/opaqueCell.d.ts +47 -0
  174. package/dist/components/table/rowTint.d.ts +60 -0
  175. package/dist/components/table/sticky/index.d.ts +1 -0
  176. package/dist/components/table/sticky/stickyCell.d.ts +105 -0
  177. package/dist/components/table/sticky.d.ts +2 -0
  178. package/dist/components/table/sticky.js +22 -0
  179. package/dist/components/table/sticky.js.map +1 -0
  180. package/dist/components/table/tableStoryData.d.ts +84 -0
  181. package/dist/components/table/tableStoryParts.d.ts +72 -0
  182. package/dist/components/table/tree/TableTree.d.ts +106 -0
  183. package/dist/components/table/tree/index.d.ts +3 -0
  184. package/dist/components/table/tree/treeGeometry.d.ts +86 -0
  185. package/dist/components/table/tree/treeModel.d.ts +87 -0
  186. package/dist/components/table/tree.d.ts +2 -0
  187. package/dist/components/table/tree.js +19 -0
  188. package/dist/components/table/tree.js.map +1 -0
  189. package/dist/components/table.js +52 -79
  190. package/dist/components/table.js.map +1 -1
  191. package/dist/components/tabs.js.map +1 -1
  192. package/dist/components/tag-input.js +2 -2
  193. package/dist/components/tag-input.js.map +1 -1
  194. package/dist/components/textarea.js.map +1 -1
  195. package/dist/components/timer.js.map +1 -1
  196. package/dist/components/toast.js.map +1 -1
  197. package/dist/components/toggle-group.js.map +1 -1
  198. package/dist/components/toolbar.js +1 -2
  199. package/dist/components/toolbar.js.map +1 -1
  200. package/dist/components/tooltip.js +1 -1
  201. package/dist/floating-ui.react-dom-BwDfy92G.js +1309 -0
  202. package/dist/floating-ui.react-dom-BwDfy92G.js.map +1 -0
  203. package/dist/formatBytes-C4QXq5lC.js.map +1 -1
  204. package/dist/hooks.js +1 -1
  205. package/dist/index-0ioNhtNM.js.map +1 -1
  206. package/dist/index-1SnkxfPR.js +230 -0
  207. package/dist/index-1SnkxfPR.js.map +1 -0
  208. package/dist/index-437EL2iq.js.map +1 -1
  209. package/dist/index-BDrapWDv.js.map +1 -1
  210. package/dist/index-BGQepRFJ.js.map +1 -1
  211. package/dist/index-BVqs-uqP.js.map +1 -1
  212. package/dist/index-BZPx6jYI.js.map +1 -1
  213. package/dist/index-Bb23HztA.js.map +1 -1
  214. package/dist/index-BjtNfqNq.js +333 -0
  215. package/dist/index-BjtNfqNq.js.map +1 -0
  216. package/dist/index-BpWB3aFK.js.map +1 -1
  217. package/dist/index-ByaXH_ih.js.map +1 -1
  218. package/dist/index-CCKe-Mpx.js.map +1 -1
  219. package/dist/index-CFaU3UXv.js.map +1 -1
  220. package/dist/index-CLuiUUQ8.js.map +1 -1
  221. package/dist/{index-CQD-Njgt.js → index-CMxHunQ4.js} +26 -25
  222. package/dist/index-CMxHunQ4.js.map +1 -0
  223. package/dist/index-CmBeyp2d.js.map +1 -1
  224. package/dist/index-DFZozV_h.js.map +1 -1
  225. package/dist/index-DHsfW5Rj.js.map +1 -1
  226. package/dist/index-DHyZ_0Ut.js.map +1 -1
  227. package/dist/index-DLcqcWxM.js.map +1 -1
  228. package/dist/index-DnnQs07z.js.map +1 -1
  229. package/dist/index-Uiy0Xwy2.js.map +1 -1
  230. package/dist/index-_ITz1IyW.js.map +1 -1
  231. package/dist/index.js.map +1 -1
  232. package/dist/inputBaseStyles-DbzD_jvq.js.map +1 -1
  233. package/dist/lib/utils/dom.d.ts +72 -0
  234. package/dist/lib/utils/styles.d.ts +1 -0
  235. package/dist/lib/utils.js.map +1 -1
  236. package/dist/opaqueCell-SGaiyL54.js +31 -0
  237. package/dist/opaqueCell-SGaiyL54.js.map +1 -0
  238. package/dist/plus-BpxYPnAG.js +15 -0
  239. package/dist/plus-BpxYPnAG.js.map +1 -0
  240. package/dist/styles-scoped.css +6684 -6413
  241. package/dist/styles.css +6423 -6152
  242. package/dist/theme.css +364 -362
  243. package/dist/treeModel-BlPWVj4W.js +319 -0
  244. package/dist/treeModel-BlPWVj4W.js.map +1 -0
  245. package/dist/types/css.d.ts +4 -4
  246. package/dist/useBreakpoints-DHvp74UL.js +31 -0
  247. package/dist/useBreakpoints-DHvp74UL.js.map +1 -0
  248. package/dist/useColumnReorder-BxVZQ_Y5.js +119 -0
  249. package/dist/useColumnReorder-BxVZQ_Y5.js.map +1 -0
  250. package/dist/useColumnResize-wjfEyBBg.js +130 -0
  251. package/dist/useColumnResize-wjfEyBBg.js.map +1 -0
  252. package/dist/useDebounce-BRah78CF.js.map +1 -1
  253. package/dist/useFileUpload-Bnl3P8mP.js.map +1 -1
  254. package/dist/useItemsKeyboardNavigation-CmeOR30y.js.map +1 -1
  255. package/dist/useMergeRefs-qoKniYqT.js.map +1 -1
  256. package/dist/usePortalContainer-BAIp0kSF.js +44 -0
  257. package/dist/usePortalContainer-BAIp0kSF.js.map +1 -0
  258. package/dist/vendors/date-fns/index.d.ts +7 -14
  259. package/dist/vendors/date-fns/locale/en-US/index.d.ts +4 -0
  260. package/dist/vendors/date-fns/locale/ru/index.d.ts +4 -0
  261. package/dist/vendors/react-day-picker/index.d.ts +8 -17
  262. package/dist/vendors/react-hook-form/index.d.ts +8 -15
  263. package/dist/vendors/tanstack/react-table/index.d.ts +12 -0
  264. package/dist/vendors/tanstack/react-table.js.map +1 -1
  265. package/dist/vendors/zod/index.d.ts +8 -9
  266. package/dist/zod-BMNoK3aM.js.map +1 -1
  267. package/package.json +207 -205
  268. package/tailwind.preset.js +452 -448
  269. package/dist/AlertIcon-5B6AgZpe.js.map +0 -1
  270. package/dist/CheckboxField-cX09-eBX.js.map +0 -1
  271. package/dist/Command-ClIm4U7r.js.map +0 -1
  272. package/dist/Dialog-Bs1B5Iu8.js.map +0 -1
  273. package/dist/Field-BiIWtq9o.js +0 -86
  274. package/dist/Field-BiIWtq9o.js.map +0 -1
  275. package/dist/FieldLabel-QJ4rJFOi.js.map +0 -1
  276. package/dist/FormFooterTemplate-DPB6Dkxn.js.map +0 -1
  277. package/dist/FormStack-DO15vBgd.js.map +0 -1
  278. package/dist/IconTooltip-CKJKGHbk.js.map +0 -1
  279. package/dist/Popover-CY_d3Ggn.js.map +0 -1
  280. package/dist/SearchSelectTag-DFCX9zT1.js.map +0 -1
  281. package/dist/Select-B2WcoFf5.js.map +0 -1
  282. package/dist/Sheet-zTMuP7C8.js.map +0 -1
  283. package/dist/TextOverflowTooltip-DlUgic5y.js.map +0 -1
  284. package/dist/Tooltip-C4rVuWr4.js.map +0 -1
  285. package/dist/components/data-table/DataTable.stories.d.ts +0 -8
  286. package/dist/design-tokens.source.json +0 -1
  287. package/dist/index-BzCriPiK.js +0 -671
  288. package/dist/index-BzCriPiK.js.map +0 -1
  289. package/dist/index-CQD-Njgt.js.map +0 -1
  290. package/dist/index-DRo26PBK.js +0 -1525
  291. package/dist/index-DRo26PBK.js.map +0 -1
  292. package/dist/useBreakpoints-D8wKOvil.js +0 -103
  293. package/dist/useBreakpoints-D8wKOvil.js.map +0 -1
  294. package/dist/usePortalContainer-ae6EzS08.js +0 -39
  295. package/dist/usePortalContainer-ae6EzS08.js.map +0 -1
@@ -0,0 +1,1309 @@
1
+ import * as S from "react";
2
+ import { useLayoutEffect as jt, useEffect as It } from "react";
3
+ import * as Yt from "react-dom";
4
+ const qt = ["top", "right", "bottom", "left"], X = Math.min, F = Math.max, st = Math.round, it = Math.floor, V = (t) => ({
5
+ x: t,
6
+ y: t
7
+ }), Xt = {
8
+ left: "right",
9
+ right: "left",
10
+ bottom: "top",
11
+ top: "bottom"
12
+ }, Ut = {
13
+ start: "end",
14
+ end: "start"
15
+ };
16
+ function gt(t, e, n) {
17
+ return F(t, X(e, n));
18
+ }
19
+ function I(t, e) {
20
+ return typeof t == "function" ? t(e) : t;
21
+ }
22
+ function Y(t) {
23
+ return t.split("-")[0];
24
+ }
25
+ function Z(t) {
26
+ return t.split("-")[1];
27
+ }
28
+ function xt(t) {
29
+ return t === "x" ? "y" : "x";
30
+ }
31
+ function yt(t) {
32
+ return t === "y" ? "height" : "width";
33
+ }
34
+ function U(t) {
35
+ return ["top", "bottom"].includes(Y(t)) ? "y" : "x";
36
+ }
37
+ function vt(t) {
38
+ return xt(U(t));
39
+ }
40
+ function Kt(t, e, n) {
41
+ n === void 0 && (n = !1);
42
+ const o = Z(t), i = vt(t), r = yt(i);
43
+ let s = i === "x" ? o === (n ? "end" : "start") ? "right" : "left" : o === "start" ? "bottom" : "top";
44
+ return e.reference[r] > e.floating[r] && (s = ct(s)), [s, ct(s)];
45
+ }
46
+ function Gt(t) {
47
+ const e = ct(t);
48
+ return [pt(t), e, pt(e)];
49
+ }
50
+ function pt(t) {
51
+ return t.replace(/start|end/g, (e) => Ut[e]);
52
+ }
53
+ function Jt(t, e, n) {
54
+ const o = ["left", "right"], i = ["right", "left"], r = ["top", "bottom"], s = ["bottom", "top"];
55
+ switch (t) {
56
+ case "top":
57
+ case "bottom":
58
+ return n ? e ? i : o : e ? o : i;
59
+ case "left":
60
+ case "right":
61
+ return e ? r : s;
62
+ default:
63
+ return [];
64
+ }
65
+ }
66
+ function Qt(t, e, n, o) {
67
+ const i = Z(t);
68
+ let r = Jt(Y(t), n === "start", o);
69
+ return i && (r = r.map((s) => s + "-" + i), e && (r = r.concat(r.map(pt)))), r;
70
+ }
71
+ function ct(t) {
72
+ return t.replace(/left|right|bottom|top/g, (e) => Xt[e]);
73
+ }
74
+ function Zt(t) {
75
+ return {
76
+ top: 0,
77
+ right: 0,
78
+ bottom: 0,
79
+ left: 0,
80
+ ...t
81
+ };
82
+ }
83
+ function kt(t) {
84
+ return typeof t != "number" ? Zt(t) : {
85
+ top: t,
86
+ right: t,
87
+ bottom: t,
88
+ left: t
89
+ };
90
+ }
91
+ function lt(t) {
92
+ const {
93
+ x: e,
94
+ y: n,
95
+ width: o,
96
+ height: i
97
+ } = t;
98
+ return {
99
+ width: o,
100
+ height: i,
101
+ top: n,
102
+ left: e,
103
+ right: e + o,
104
+ bottom: n + i,
105
+ x: e,
106
+ y: n
107
+ };
108
+ }
109
+ function Ct(t, e, n) {
110
+ let {
111
+ reference: o,
112
+ floating: i
113
+ } = t;
114
+ const r = U(e), s = vt(e), c = yt(s), f = Y(e), l = r === "y", a = o.x + o.width / 2 - i.width / 2, u = o.y + o.height / 2 - i.height / 2, m = o[c] / 2 - i[c] / 2;
115
+ let d;
116
+ switch (f) {
117
+ case "top":
118
+ d = {
119
+ x: a,
120
+ y: o.y - i.height
121
+ };
122
+ break;
123
+ case "bottom":
124
+ d = {
125
+ x: a,
126
+ y: o.y + o.height
127
+ };
128
+ break;
129
+ case "right":
130
+ d = {
131
+ x: o.x + o.width,
132
+ y: u
133
+ };
134
+ break;
135
+ case "left":
136
+ d = {
137
+ x: o.x - i.width,
138
+ y: u
139
+ };
140
+ break;
141
+ default:
142
+ d = {
143
+ x: o.x,
144
+ y: o.y
145
+ };
146
+ }
147
+ switch (Z(e)) {
148
+ case "start":
149
+ d[s] -= m * (n && l ? -1 : 1);
150
+ break;
151
+ case "end":
152
+ d[s] += m * (n && l ? -1 : 1);
153
+ break;
154
+ }
155
+ return d;
156
+ }
157
+ const te = async (t, e, n) => {
158
+ const {
159
+ placement: o = "bottom",
160
+ strategy: i = "absolute",
161
+ middleware: r = [],
162
+ platform: s
163
+ } = n, c = r.filter(Boolean), f = await (s.isRTL == null ? void 0 : s.isRTL(e));
164
+ let l = await s.getElementRects({
165
+ reference: t,
166
+ floating: e,
167
+ strategy: i
168
+ }), {
169
+ x: a,
170
+ y: u
171
+ } = Ct(l, o, f), m = o, d = {}, h = 0;
172
+ for (let g = 0; g < c.length; g++) {
173
+ const {
174
+ name: p,
175
+ fn: w
176
+ } = c[g], {
177
+ x: v,
178
+ y,
179
+ data: b,
180
+ reset: x
181
+ } = await w({
182
+ x: a,
183
+ y: u,
184
+ initialPlacement: o,
185
+ placement: m,
186
+ strategy: i,
187
+ middlewareData: d,
188
+ rects: l,
189
+ platform: s,
190
+ elements: {
191
+ reference: t,
192
+ floating: e
193
+ }
194
+ });
195
+ a = v ?? a, u = y ?? u, d = {
196
+ ...d,
197
+ [p]: {
198
+ ...d[p],
199
+ ...b
200
+ }
201
+ }, x && h <= 50 && (h++, typeof x == "object" && (x.placement && (m = x.placement), x.rects && (l = x.rects === !0 ? await s.getElementRects({
202
+ reference: t,
203
+ floating: e,
204
+ strategy: i
205
+ }) : x.rects), {
206
+ x: a,
207
+ y: u
208
+ } = Ct(l, m, f)), g = -1);
209
+ }
210
+ return {
211
+ x: a,
212
+ y: u,
213
+ placement: m,
214
+ strategy: i,
215
+ middlewareData: d
216
+ };
217
+ };
218
+ async function et(t, e) {
219
+ var n;
220
+ e === void 0 && (e = {});
221
+ const {
222
+ x: o,
223
+ y: i,
224
+ platform: r,
225
+ rects: s,
226
+ elements: c,
227
+ strategy: f
228
+ } = t, {
229
+ boundary: l = "clippingAncestors",
230
+ rootBoundary: a = "viewport",
231
+ elementContext: u = "floating",
232
+ altBoundary: m = !1,
233
+ padding: d = 0
234
+ } = I(e, t), h = kt(d), p = c[m ? u === "floating" ? "reference" : "floating" : u], w = lt(await r.getClippingRect({
235
+ element: (n = await (r.isElement == null ? void 0 : r.isElement(p))) == null || n ? p : p.contextElement || await (r.getDocumentElement == null ? void 0 : r.getDocumentElement(c.floating)),
236
+ boundary: l,
237
+ rootBoundary: a,
238
+ strategy: f
239
+ })), v = u === "floating" ? {
240
+ x: o,
241
+ y: i,
242
+ width: s.floating.width,
243
+ height: s.floating.height
244
+ } : s.reference, y = await (r.getOffsetParent == null ? void 0 : r.getOffsetParent(c.floating)), b = await (r.isElement == null ? void 0 : r.isElement(y)) ? await (r.getScale == null ? void 0 : r.getScale(y)) || {
245
+ x: 1,
246
+ y: 1
247
+ } : {
248
+ x: 1,
249
+ y: 1
250
+ }, x = lt(r.convertOffsetParentRelativeRectToViewportRelativeRect ? await r.convertOffsetParentRelativeRectToViewportRelativeRect({
251
+ elements: c,
252
+ rect: v,
253
+ offsetParent: y,
254
+ strategy: f
255
+ }) : v);
256
+ return {
257
+ top: (w.top - x.top + h.top) / b.y,
258
+ bottom: (x.bottom - w.bottom + h.bottom) / b.y,
259
+ left: (w.left - x.left + h.left) / b.x,
260
+ right: (x.right - w.right + h.right) / b.x
261
+ };
262
+ }
263
+ const ee = (t) => ({
264
+ name: "arrow",
265
+ options: t,
266
+ async fn(e) {
267
+ const {
268
+ x: n,
269
+ y: o,
270
+ placement: i,
271
+ rects: r,
272
+ platform: s,
273
+ elements: c,
274
+ middlewareData: f
275
+ } = e, {
276
+ element: l,
277
+ padding: a = 0
278
+ } = I(t, e) || {};
279
+ if (l == null)
280
+ return {};
281
+ const u = kt(a), m = {
282
+ x: n,
283
+ y: o
284
+ }, d = vt(i), h = yt(d), g = await s.getDimensions(l), p = d === "y", w = p ? "top" : "left", v = p ? "bottom" : "right", y = p ? "clientHeight" : "clientWidth", b = r.reference[h] + r.reference[d] - m[d] - r.floating[h], x = m[d] - r.reference[d], O = await (s.getOffsetParent == null ? void 0 : s.getOffsetParent(l));
285
+ let R = O ? O[y] : 0;
286
+ (!R || !await (s.isElement == null ? void 0 : s.isElement(O))) && (R = c.floating[y] || r.floating[h]);
287
+ const L = b / 2 - x / 2, W = R / 2 - g[h] / 2 - 1, D = X(u[w], W), B = X(u[v], W), T = D, P = R - g[h] - B, C = R / 2 - g[h] / 2 + L, j = gt(T, C, P), E = !f.arrow && Z(i) != null && C !== j && r.reference[h] / 2 - (C < T ? D : B) - g[h] / 2 < 0, M = E ? C < T ? C - T : C - P : 0;
288
+ return {
289
+ [d]: m[d] + M,
290
+ data: {
291
+ [d]: j,
292
+ centerOffset: C - j - M,
293
+ ...E && {
294
+ alignmentOffset: M
295
+ }
296
+ },
297
+ reset: E
298
+ };
299
+ }
300
+ }), ne = function(t) {
301
+ return t === void 0 && (t = {}), {
302
+ name: "flip",
303
+ options: t,
304
+ async fn(e) {
305
+ var n, o;
306
+ const {
307
+ placement: i,
308
+ middlewareData: r,
309
+ rects: s,
310
+ initialPlacement: c,
311
+ platform: f,
312
+ elements: l
313
+ } = e, {
314
+ mainAxis: a = !0,
315
+ crossAxis: u = !0,
316
+ fallbackPlacements: m,
317
+ fallbackStrategy: d = "bestFit",
318
+ fallbackAxisSideDirection: h = "none",
319
+ flipAlignment: g = !0,
320
+ ...p
321
+ } = I(t, e);
322
+ if ((n = r.arrow) != null && n.alignmentOffset)
323
+ return {};
324
+ const w = Y(i), v = U(c), y = Y(c) === c, b = await (f.isRTL == null ? void 0 : f.isRTL(l.floating)), x = m || (y || !g ? [ct(c)] : Gt(c)), O = h !== "none";
325
+ !m && O && x.push(...Qt(c, g, h, b));
326
+ const R = [c, ...x], L = await et(e, p), W = [];
327
+ let D = ((o = r.flip) == null ? void 0 : o.overflows) || [];
328
+ if (a && W.push(L[w]), u) {
329
+ const C = Kt(i, s, b);
330
+ W.push(L[C[0]], L[C[1]]);
331
+ }
332
+ if (D = [...D, {
333
+ placement: i,
334
+ overflows: W
335
+ }], !W.every((C) => C <= 0)) {
336
+ var B, T;
337
+ const C = (((B = r.flip) == null ? void 0 : B.index) || 0) + 1, j = R[C];
338
+ if (j)
339
+ return {
340
+ data: {
341
+ index: C,
342
+ overflows: D
343
+ },
344
+ reset: {
345
+ placement: j
346
+ }
347
+ };
348
+ let E = (T = D.filter((M) => M.overflows[0] <= 0).sort((M, A) => M.overflows[1] - A.overflows[1])[0]) == null ? void 0 : T.placement;
349
+ if (!E)
350
+ switch (d) {
351
+ case "bestFit": {
352
+ var P;
353
+ const M = (P = D.filter((A) => {
354
+ if (O) {
355
+ const k = U(A.placement);
356
+ return k === v || // Create a bias to the `y` side axis due to horizontal
357
+ // reading directions favoring greater width.
358
+ k === "y";
359
+ }
360
+ return !0;
361
+ }).map((A) => [A.placement, A.overflows.filter((k) => k > 0).reduce((k, q) => k + q, 0)]).sort((A, k) => A[1] - k[1])[0]) == null ? void 0 : P[0];
362
+ M && (E = M);
363
+ break;
364
+ }
365
+ case "initialPlacement":
366
+ E = c;
367
+ break;
368
+ }
369
+ if (i !== E)
370
+ return {
371
+ reset: {
372
+ placement: E
373
+ }
374
+ };
375
+ }
376
+ return {};
377
+ }
378
+ };
379
+ };
380
+ function Et(t, e) {
381
+ return {
382
+ top: t.top - e.height,
383
+ right: t.right - e.width,
384
+ bottom: t.bottom - e.height,
385
+ left: t.left - e.width
386
+ };
387
+ }
388
+ function St(t) {
389
+ return qt.some((e) => t[e] >= 0);
390
+ }
391
+ const oe = function(t) {
392
+ return t === void 0 && (t = {}), {
393
+ name: "hide",
394
+ options: t,
395
+ async fn(e) {
396
+ const {
397
+ rects: n
398
+ } = e, {
399
+ strategy: o = "referenceHidden",
400
+ ...i
401
+ } = I(t, e);
402
+ switch (o) {
403
+ case "referenceHidden": {
404
+ const r = await et(e, {
405
+ ...i,
406
+ elementContext: "reference"
407
+ }), s = Et(r, n.reference);
408
+ return {
409
+ data: {
410
+ referenceHiddenOffsets: s,
411
+ referenceHidden: St(s)
412
+ }
413
+ };
414
+ }
415
+ case "escaped": {
416
+ const r = await et(e, {
417
+ ...i,
418
+ altBoundary: !0
419
+ }), s = Et(r, n.floating);
420
+ return {
421
+ data: {
422
+ escapedOffsets: s,
423
+ escaped: St(s)
424
+ }
425
+ };
426
+ }
427
+ default:
428
+ return {};
429
+ }
430
+ }
431
+ };
432
+ };
433
+ async function ie(t, e) {
434
+ const {
435
+ placement: n,
436
+ platform: o,
437
+ elements: i
438
+ } = t, r = await (o.isRTL == null ? void 0 : o.isRTL(i.floating)), s = Y(n), c = Z(n), f = U(n) === "y", l = ["left", "top"].includes(s) ? -1 : 1, a = r && f ? -1 : 1, u = I(e, t);
439
+ let {
440
+ mainAxis: m,
441
+ crossAxis: d,
442
+ alignmentAxis: h
443
+ } = typeof u == "number" ? {
444
+ mainAxis: u,
445
+ crossAxis: 0,
446
+ alignmentAxis: null
447
+ } : {
448
+ mainAxis: u.mainAxis || 0,
449
+ crossAxis: u.crossAxis || 0,
450
+ alignmentAxis: u.alignmentAxis
451
+ };
452
+ return c && typeof h == "number" && (d = c === "end" ? h * -1 : h), f ? {
453
+ x: d * a,
454
+ y: m * l
455
+ } : {
456
+ x: m * l,
457
+ y: d * a
458
+ };
459
+ }
460
+ const re = function(t) {
461
+ return t === void 0 && (t = 0), {
462
+ name: "offset",
463
+ options: t,
464
+ async fn(e) {
465
+ var n, o;
466
+ const {
467
+ x: i,
468
+ y: r,
469
+ placement: s,
470
+ middlewareData: c
471
+ } = e, f = await ie(e, t);
472
+ return s === ((n = c.offset) == null ? void 0 : n.placement) && (o = c.arrow) != null && o.alignmentOffset ? {} : {
473
+ x: i + f.x,
474
+ y: r + f.y,
475
+ data: {
476
+ ...f,
477
+ placement: s
478
+ }
479
+ };
480
+ }
481
+ };
482
+ }, se = function(t) {
483
+ return t === void 0 && (t = {}), {
484
+ name: "shift",
485
+ options: t,
486
+ async fn(e) {
487
+ const {
488
+ x: n,
489
+ y: o,
490
+ placement: i
491
+ } = e, {
492
+ mainAxis: r = !0,
493
+ crossAxis: s = !1,
494
+ limiter: c = {
495
+ fn: (p) => {
496
+ let {
497
+ x: w,
498
+ y: v
499
+ } = p;
500
+ return {
501
+ x: w,
502
+ y: v
503
+ };
504
+ }
505
+ },
506
+ ...f
507
+ } = I(t, e), l = {
508
+ x: n,
509
+ y: o
510
+ }, a = await et(e, f), u = U(Y(i)), m = xt(u);
511
+ let d = l[m], h = l[u];
512
+ if (r) {
513
+ const p = m === "y" ? "top" : "left", w = m === "y" ? "bottom" : "right", v = d + a[p], y = d - a[w];
514
+ d = gt(v, d, y);
515
+ }
516
+ if (s) {
517
+ const p = u === "y" ? "top" : "left", w = u === "y" ? "bottom" : "right", v = h + a[p], y = h - a[w];
518
+ h = gt(v, h, y);
519
+ }
520
+ const g = c.fn({
521
+ ...e,
522
+ [m]: d,
523
+ [u]: h
524
+ });
525
+ return {
526
+ ...g,
527
+ data: {
528
+ x: g.x - n,
529
+ y: g.y - o,
530
+ enabled: {
531
+ [m]: r,
532
+ [u]: s
533
+ }
534
+ }
535
+ };
536
+ }
537
+ };
538
+ }, ce = function(t) {
539
+ return t === void 0 && (t = {}), {
540
+ options: t,
541
+ fn(e) {
542
+ const {
543
+ x: n,
544
+ y: o,
545
+ placement: i,
546
+ rects: r,
547
+ middlewareData: s
548
+ } = e, {
549
+ offset: c = 0,
550
+ mainAxis: f = !0,
551
+ crossAxis: l = !0
552
+ } = I(t, e), a = {
553
+ x: n,
554
+ y: o
555
+ }, u = U(i), m = xt(u);
556
+ let d = a[m], h = a[u];
557
+ const g = I(c, e), p = typeof g == "number" ? {
558
+ mainAxis: g,
559
+ crossAxis: 0
560
+ } : {
561
+ mainAxis: 0,
562
+ crossAxis: 0,
563
+ ...g
564
+ };
565
+ if (f) {
566
+ const y = m === "y" ? "height" : "width", b = r.reference[m] - r.floating[y] + p.mainAxis, x = r.reference[m] + r.reference[y] - p.mainAxis;
567
+ d < b ? d = b : d > x && (d = x);
568
+ }
569
+ if (l) {
570
+ var w, v;
571
+ const y = m === "y" ? "width" : "height", b = ["top", "left"].includes(Y(i)), x = r.reference[u] - r.floating[y] + (b && ((w = s.offset) == null ? void 0 : w[u]) || 0) + (b ? 0 : p.crossAxis), O = r.reference[u] + r.reference[y] + (b ? 0 : ((v = s.offset) == null ? void 0 : v[u]) || 0) - (b ? p.crossAxis : 0);
572
+ h < x ? h = x : h > O && (h = O);
573
+ }
574
+ return {
575
+ [m]: d,
576
+ [u]: h
577
+ };
578
+ }
579
+ };
580
+ }, le = function(t) {
581
+ return t === void 0 && (t = {}), {
582
+ name: "size",
583
+ options: t,
584
+ async fn(e) {
585
+ var n, o;
586
+ const {
587
+ placement: i,
588
+ rects: r,
589
+ platform: s,
590
+ elements: c
591
+ } = e, {
592
+ apply: f = () => {
593
+ },
594
+ ...l
595
+ } = I(t, e), a = await et(e, l), u = Y(i), m = Z(i), d = U(i) === "y", {
596
+ width: h,
597
+ height: g
598
+ } = r.floating;
599
+ let p, w;
600
+ u === "top" || u === "bottom" ? (p = u, w = m === (await (s.isRTL == null ? void 0 : s.isRTL(c.floating)) ? "start" : "end") ? "left" : "right") : (w = u, p = m === "end" ? "top" : "bottom");
601
+ const v = g - a.top - a.bottom, y = h - a.left - a.right, b = X(g - a[p], v), x = X(h - a[w], y), O = !e.middlewareData.shift;
602
+ let R = b, L = x;
603
+ if ((n = e.middlewareData.shift) != null && n.enabled.x && (L = y), (o = e.middlewareData.shift) != null && o.enabled.y && (R = v), O && !m) {
604
+ const D = F(a.left, 0), B = F(a.right, 0), T = F(a.top, 0), P = F(a.bottom, 0);
605
+ d ? L = h - 2 * (D !== 0 || B !== 0 ? D + B : F(a.left, a.right)) : R = g - 2 * (T !== 0 || P !== 0 ? T + P : F(a.top, a.bottom));
606
+ }
607
+ await f({
608
+ ...e,
609
+ availableWidth: L,
610
+ availableHeight: R
611
+ });
612
+ const W = await s.getDimensions(c.floating);
613
+ return h !== W.width || g !== W.height ? {
614
+ reset: {
615
+ rects: !0
616
+ }
617
+ } : {};
618
+ }
619
+ };
620
+ };
621
+ function at() {
622
+ return typeof window < "u";
623
+ }
624
+ function tt(t) {
625
+ return Ft(t) ? (t.nodeName || "").toLowerCase() : "#document";
626
+ }
627
+ function $(t) {
628
+ var e;
629
+ return (t == null || (e = t.ownerDocument) == null ? void 0 : e.defaultView) || window;
630
+ }
631
+ function z(t) {
632
+ var e;
633
+ return (e = (Ft(t) ? t.ownerDocument : t.document) || window.document) == null ? void 0 : e.documentElement;
634
+ }
635
+ function Ft(t) {
636
+ return at() ? t instanceof Node || t instanceof $(t).Node : !1;
637
+ }
638
+ function H(t) {
639
+ return at() ? t instanceof Element || t instanceof $(t).Element : !1;
640
+ }
641
+ function _(t) {
642
+ return at() ? t instanceof HTMLElement || t instanceof $(t).HTMLElement : !1;
643
+ }
644
+ function Dt(t) {
645
+ return !at() || typeof ShadowRoot > "u" ? !1 : t instanceof ShadowRoot || t instanceof $(t).ShadowRoot;
646
+ }
647
+ function ot(t) {
648
+ const {
649
+ overflow: e,
650
+ overflowX: n,
651
+ overflowY: o,
652
+ display: i
653
+ } = N(t);
654
+ return /auto|scroll|overlay|hidden|clip/.test(e + o + n) && !["inline", "contents"].includes(i);
655
+ }
656
+ function fe(t) {
657
+ return ["table", "td", "th"].includes(tt(t));
658
+ }
659
+ function ut(t) {
660
+ return [":popover-open", ":modal"].some((e) => {
661
+ try {
662
+ return t.matches(e);
663
+ } catch {
664
+ return !1;
665
+ }
666
+ });
667
+ }
668
+ function bt(t) {
669
+ const e = At(), n = H(t) ? N(t) : t;
670
+ return ["transform", "translate", "scale", "rotate", "perspective"].some((o) => n[o] ? n[o] !== "none" : !1) || (n.containerType ? n.containerType !== "normal" : !1) || !e && (n.backdropFilter ? n.backdropFilter !== "none" : !1) || !e && (n.filter ? n.filter !== "none" : !1) || ["transform", "translate", "scale", "rotate", "perspective", "filter"].some((o) => (n.willChange || "").includes(o)) || ["paint", "layout", "strict", "content"].some((o) => (n.contain || "").includes(o));
671
+ }
672
+ function ae(t) {
673
+ let e = K(t);
674
+ for (; _(e) && !Q(e); ) {
675
+ if (bt(e))
676
+ return e;
677
+ if (ut(e))
678
+ return null;
679
+ e = K(e);
680
+ }
681
+ return null;
682
+ }
683
+ function At() {
684
+ return typeof CSS > "u" || !CSS.supports ? !1 : CSS.supports("-webkit-backdrop-filter", "none");
685
+ }
686
+ function Q(t) {
687
+ return ["html", "body", "#document"].includes(tt(t));
688
+ }
689
+ function N(t) {
690
+ return $(t).getComputedStyle(t);
691
+ }
692
+ function dt(t) {
693
+ return H(t) ? {
694
+ scrollLeft: t.scrollLeft,
695
+ scrollTop: t.scrollTop
696
+ } : {
697
+ scrollLeft: t.scrollX,
698
+ scrollTop: t.scrollY
699
+ };
700
+ }
701
+ function K(t) {
702
+ if (tt(t) === "html")
703
+ return t;
704
+ const e = (
705
+ // Step into the shadow DOM of the parent of a slotted node.
706
+ t.assignedSlot || // DOM Element detected.
707
+ t.parentNode || // ShadowRoot detected.
708
+ Dt(t) && t.host || // Fallback.
709
+ z(t)
710
+ );
711
+ return Dt(e) ? e.host : e;
712
+ }
713
+ function $t(t) {
714
+ const e = K(t);
715
+ return Q(e) ? t.ownerDocument ? t.ownerDocument.body : t.body : _(e) && ot(e) ? e : $t(e);
716
+ }
717
+ function nt(t, e, n) {
718
+ var o;
719
+ e === void 0 && (e = []), n === void 0 && (n = !0);
720
+ const i = $t(t), r = i === ((o = t.ownerDocument) == null ? void 0 : o.body), s = $(i);
721
+ if (r) {
722
+ const c = wt(s);
723
+ return e.concat(s, s.visualViewport || [], ot(i) ? i : [], c && n ? nt(c) : []);
724
+ }
725
+ return e.concat(i, nt(i, [], n));
726
+ }
727
+ function wt(t) {
728
+ return t.parent && Object.getPrototypeOf(t.parent) ? t.frameElement : null;
729
+ }
730
+ function Wt(t) {
731
+ const e = N(t);
732
+ let n = parseFloat(e.width) || 0, o = parseFloat(e.height) || 0;
733
+ const i = _(t), r = i ? t.offsetWidth : n, s = i ? t.offsetHeight : o, c = st(n) !== r || st(o) !== s;
734
+ return c && (n = r, o = s), {
735
+ width: n,
736
+ height: o,
737
+ $: c
738
+ };
739
+ }
740
+ function Rt(t) {
741
+ return H(t) ? t : t.contextElement;
742
+ }
743
+ function J(t) {
744
+ const e = Rt(t);
745
+ if (!_(e))
746
+ return V(1);
747
+ const n = e.getBoundingClientRect(), {
748
+ width: o,
749
+ height: i,
750
+ $: r
751
+ } = Wt(e);
752
+ let s = (r ? st(n.width) : n.width) / o, c = (r ? st(n.height) : n.height) / i;
753
+ return (!s || !Number.isFinite(s)) && (s = 1), (!c || !Number.isFinite(c)) && (c = 1), {
754
+ x: s,
755
+ y: c
756
+ };
757
+ }
758
+ const ue = /* @__PURE__ */ V(0);
759
+ function Bt(t) {
760
+ const e = $(t);
761
+ return !At() || !e.visualViewport ? ue : {
762
+ x: e.visualViewport.offsetLeft,
763
+ y: e.visualViewport.offsetTop
764
+ };
765
+ }
766
+ function de(t, e, n) {
767
+ return e === void 0 && (e = !1), !n || e && n !== $(t) ? !1 : e;
768
+ }
769
+ function G(t, e, n, o) {
770
+ e === void 0 && (e = !1), n === void 0 && (n = !1);
771
+ const i = t.getBoundingClientRect(), r = Rt(t);
772
+ let s = V(1);
773
+ e && (o ? H(o) && (s = J(o)) : s = J(t));
774
+ const c = de(r, n, o) ? Bt(r) : V(0);
775
+ let f = (i.left + c.x) / s.x, l = (i.top + c.y) / s.y, a = i.width / s.x, u = i.height / s.y;
776
+ if (r) {
777
+ const m = $(r), d = o && H(o) ? $(o) : o;
778
+ let h = m, g = wt(h);
779
+ for (; g && o && d !== h; ) {
780
+ const p = J(g), w = g.getBoundingClientRect(), v = N(g), y = w.left + (g.clientLeft + parseFloat(v.paddingLeft)) * p.x, b = w.top + (g.clientTop + parseFloat(v.paddingTop)) * p.y;
781
+ f *= p.x, l *= p.y, a *= p.x, u *= p.y, f += y, l += b, h = $(g), g = wt(h);
782
+ }
783
+ }
784
+ return lt({
785
+ width: a,
786
+ height: u,
787
+ x: f,
788
+ y: l
789
+ });
790
+ }
791
+ function Ot(t, e) {
792
+ const n = dt(t).scrollLeft;
793
+ return e ? e.left + n : G(z(t)).left + n;
794
+ }
795
+ function Ht(t, e, n) {
796
+ n === void 0 && (n = !1);
797
+ const o = t.getBoundingClientRect(), i = o.left + e.scrollLeft - (n ? 0 : (
798
+ // RTL <body> scrollbar.
799
+ Ot(t, o)
800
+ )), r = o.top + e.scrollTop;
801
+ return {
802
+ x: i,
803
+ y: r
804
+ };
805
+ }
806
+ function me(t) {
807
+ let {
808
+ elements: e,
809
+ rect: n,
810
+ offsetParent: o,
811
+ strategy: i
812
+ } = t;
813
+ const r = i === "fixed", s = z(o), c = e ? ut(e.floating) : !1;
814
+ if (o === s || c && r)
815
+ return n;
816
+ let f = {
817
+ scrollLeft: 0,
818
+ scrollTop: 0
819
+ }, l = V(1);
820
+ const a = V(0), u = _(o);
821
+ if ((u || !u && !r) && ((tt(o) !== "body" || ot(s)) && (f = dt(o)), _(o))) {
822
+ const d = G(o);
823
+ l = J(o), a.x = d.x + o.clientLeft, a.y = d.y + o.clientTop;
824
+ }
825
+ const m = s && !u && !r ? Ht(s, f, !0) : V(0);
826
+ return {
827
+ width: n.width * l.x,
828
+ height: n.height * l.y,
829
+ x: n.x * l.x - f.scrollLeft * l.x + a.x + m.x,
830
+ y: n.y * l.y - f.scrollTop * l.y + a.y + m.y
831
+ };
832
+ }
833
+ function he(t) {
834
+ return Array.from(t.getClientRects());
835
+ }
836
+ function ge(t) {
837
+ const e = z(t), n = dt(t), o = t.ownerDocument.body, i = F(e.scrollWidth, e.clientWidth, o.scrollWidth, o.clientWidth), r = F(e.scrollHeight, e.clientHeight, o.scrollHeight, o.clientHeight);
838
+ let s = -n.scrollLeft + Ot(t);
839
+ const c = -n.scrollTop;
840
+ return N(o).direction === "rtl" && (s += F(e.clientWidth, o.clientWidth) - i), {
841
+ width: i,
842
+ height: r,
843
+ x: s,
844
+ y: c
845
+ };
846
+ }
847
+ function pe(t, e) {
848
+ const n = $(t), o = z(t), i = n.visualViewport;
849
+ let r = o.clientWidth, s = o.clientHeight, c = 0, f = 0;
850
+ if (i) {
851
+ r = i.width, s = i.height;
852
+ const l = At();
853
+ (!l || l && e === "fixed") && (c = i.offsetLeft, f = i.offsetTop);
854
+ }
855
+ return {
856
+ width: r,
857
+ height: s,
858
+ x: c,
859
+ y: f
860
+ };
861
+ }
862
+ function we(t, e) {
863
+ const n = G(t, !0, e === "fixed"), o = n.top + t.clientTop, i = n.left + t.clientLeft, r = _(t) ? J(t) : V(1), s = t.clientWidth * r.x, c = t.clientHeight * r.y, f = i * r.x, l = o * r.y;
864
+ return {
865
+ width: s,
866
+ height: c,
867
+ x: f,
868
+ y: l
869
+ };
870
+ }
871
+ function Lt(t, e, n) {
872
+ let o;
873
+ if (e === "viewport")
874
+ o = pe(t, n);
875
+ else if (e === "document")
876
+ o = ge(z(t));
877
+ else if (H(e))
878
+ o = we(e, n);
879
+ else {
880
+ const i = Bt(t);
881
+ o = {
882
+ x: e.x - i.x,
883
+ y: e.y - i.y,
884
+ width: e.width,
885
+ height: e.height
886
+ };
887
+ }
888
+ return lt(o);
889
+ }
890
+ function Nt(t, e) {
891
+ const n = K(t);
892
+ return n === e || !H(n) || Q(n) ? !1 : N(n).position === "fixed" || Nt(n, e);
893
+ }
894
+ function xe(t, e) {
895
+ const n = e.get(t);
896
+ if (n)
897
+ return n;
898
+ let o = nt(t, [], !1).filter((c) => H(c) && tt(c) !== "body"), i = null;
899
+ const r = N(t).position === "fixed";
900
+ let s = r ? K(t) : t;
901
+ for (; H(s) && !Q(s); ) {
902
+ const c = N(s), f = bt(s);
903
+ !f && c.position === "fixed" && (i = null), (r ? !f && !i : !f && c.position === "static" && !!i && ["absolute", "fixed"].includes(i.position) || ot(s) && !f && Nt(t, s)) ? o = o.filter((a) => a !== s) : i = c, s = K(s);
904
+ }
905
+ return e.set(t, o), o;
906
+ }
907
+ function ye(t) {
908
+ let {
909
+ element: e,
910
+ boundary: n,
911
+ rootBoundary: o,
912
+ strategy: i
913
+ } = t;
914
+ const s = [...n === "clippingAncestors" ? ut(e) ? [] : xe(e, this._c) : [].concat(n), o], c = s[0], f = s.reduce((l, a) => {
915
+ const u = Lt(e, a, i);
916
+ return l.top = F(u.top, l.top), l.right = X(u.right, l.right), l.bottom = X(u.bottom, l.bottom), l.left = F(u.left, l.left), l;
917
+ }, Lt(e, c, i));
918
+ return {
919
+ width: f.right - f.left,
920
+ height: f.bottom - f.top,
921
+ x: f.left,
922
+ y: f.top
923
+ };
924
+ }
925
+ function ve(t) {
926
+ const {
927
+ width: e,
928
+ height: n
929
+ } = Wt(t);
930
+ return {
931
+ width: e,
932
+ height: n
933
+ };
934
+ }
935
+ function be(t, e, n) {
936
+ const o = _(e), i = z(e), r = n === "fixed", s = G(t, !0, r, e);
937
+ let c = {
938
+ scrollLeft: 0,
939
+ scrollTop: 0
940
+ };
941
+ const f = V(0);
942
+ if (o || !o && !r)
943
+ if ((tt(e) !== "body" || ot(i)) && (c = dt(e)), o) {
944
+ const m = G(e, !0, r, e);
945
+ f.x = m.x + e.clientLeft, f.y = m.y + e.clientTop;
946
+ } else i && (f.x = Ot(i));
947
+ const l = i && !o && !r ? Ht(i, c) : V(0), a = s.left + c.scrollLeft - f.x - l.x, u = s.top + c.scrollTop - f.y - l.y;
948
+ return {
949
+ x: a,
950
+ y: u,
951
+ width: s.width,
952
+ height: s.height
953
+ };
954
+ }
955
+ function mt(t) {
956
+ return N(t).position === "static";
957
+ }
958
+ function Pt(t, e) {
959
+ if (!_(t) || N(t).position === "fixed")
960
+ return null;
961
+ if (e)
962
+ return e(t);
963
+ let n = t.offsetParent;
964
+ return z(t) === n && (n = n.ownerDocument.body), n;
965
+ }
966
+ function Vt(t, e) {
967
+ const n = $(t);
968
+ if (ut(t))
969
+ return n;
970
+ if (!_(t)) {
971
+ let i = K(t);
972
+ for (; i && !Q(i); ) {
973
+ if (H(i) && !mt(i))
974
+ return i;
975
+ i = K(i);
976
+ }
977
+ return n;
978
+ }
979
+ let o = Pt(t, e);
980
+ for (; o && fe(o) && mt(o); )
981
+ o = Pt(o, e);
982
+ return o && Q(o) && mt(o) && !bt(o) ? n : o || ae(t) || n;
983
+ }
984
+ const Ae = async function(t) {
985
+ const e = this.getOffsetParent || Vt, n = this.getDimensions, o = await n(t.floating);
986
+ return {
987
+ reference: be(t.reference, await e(t.floating), t.strategy),
988
+ floating: {
989
+ x: 0,
990
+ y: 0,
991
+ width: o.width,
992
+ height: o.height
993
+ }
994
+ };
995
+ };
996
+ function Re(t) {
997
+ return N(t).direction === "rtl";
998
+ }
999
+ const Oe = {
1000
+ convertOffsetParentRelativeRectToViewportRelativeRect: me,
1001
+ getDocumentElement: z,
1002
+ getClippingRect: ye,
1003
+ getOffsetParent: Vt,
1004
+ getElementRects: Ae,
1005
+ getClientRects: he,
1006
+ getDimensions: ve,
1007
+ getScale: J,
1008
+ isElement: H,
1009
+ isRTL: Re
1010
+ };
1011
+ function _t(t, e) {
1012
+ return t.x === e.x && t.y === e.y && t.width === e.width && t.height === e.height;
1013
+ }
1014
+ function Ce(t, e) {
1015
+ let n = null, o;
1016
+ const i = z(t);
1017
+ function r() {
1018
+ var c;
1019
+ clearTimeout(o), (c = n) == null || c.disconnect(), n = null;
1020
+ }
1021
+ function s(c, f) {
1022
+ c === void 0 && (c = !1), f === void 0 && (f = 1), r();
1023
+ const l = t.getBoundingClientRect(), {
1024
+ left: a,
1025
+ top: u,
1026
+ width: m,
1027
+ height: d
1028
+ } = l;
1029
+ if (c || e(), !m || !d)
1030
+ return;
1031
+ const h = it(u), g = it(i.clientWidth - (a + m)), p = it(i.clientHeight - (u + d)), w = it(a), y = {
1032
+ rootMargin: -h + "px " + -g + "px " + -p + "px " + -w + "px",
1033
+ threshold: F(0, X(1, f)) || 1
1034
+ };
1035
+ let b = !0;
1036
+ function x(O) {
1037
+ const R = O[0].intersectionRatio;
1038
+ if (R !== f) {
1039
+ if (!b)
1040
+ return s();
1041
+ R ? s(!1, R) : o = setTimeout(() => {
1042
+ s(!1, 1e-7);
1043
+ }, 1e3);
1044
+ }
1045
+ R === 1 && !_t(l, t.getBoundingClientRect()) && s(), b = !1;
1046
+ }
1047
+ try {
1048
+ n = new IntersectionObserver(x, {
1049
+ ...y,
1050
+ // Handle <iframe>s
1051
+ root: i.ownerDocument
1052
+ });
1053
+ } catch {
1054
+ n = new IntersectionObserver(x, y);
1055
+ }
1056
+ n.observe(t);
1057
+ }
1058
+ return s(!0), r;
1059
+ }
1060
+ function $e(t, e, n, o) {
1061
+ o === void 0 && (o = {});
1062
+ const {
1063
+ ancestorScroll: i = !0,
1064
+ ancestorResize: r = !0,
1065
+ elementResize: s = typeof ResizeObserver == "function",
1066
+ layoutShift: c = typeof IntersectionObserver == "function",
1067
+ animationFrame: f = !1
1068
+ } = o, l = Rt(t), a = i || r ? [...l ? nt(l) : [], ...nt(e)] : [];
1069
+ a.forEach((w) => {
1070
+ i && w.addEventListener("scroll", n, {
1071
+ passive: !0
1072
+ }), r && w.addEventListener("resize", n);
1073
+ });
1074
+ const u = l && c ? Ce(l, n) : null;
1075
+ let m = -1, d = null;
1076
+ s && (d = new ResizeObserver((w) => {
1077
+ let [v] = w;
1078
+ v && v.target === l && d && (d.unobserve(e), cancelAnimationFrame(m), m = requestAnimationFrame(() => {
1079
+ var y;
1080
+ (y = d) == null || y.observe(e);
1081
+ })), n();
1082
+ }), l && !f && d.observe(l), d.observe(e));
1083
+ let h, g = f ? G(t) : null;
1084
+ f && p();
1085
+ function p() {
1086
+ const w = G(t);
1087
+ g && !_t(g, w) && n(), g = w, h = requestAnimationFrame(p);
1088
+ }
1089
+ return n(), () => {
1090
+ var w;
1091
+ a.forEach((v) => {
1092
+ i && v.removeEventListener("scroll", n), r && v.removeEventListener("resize", n);
1093
+ }), u?.(), (w = d) == null || w.disconnect(), d = null, f && cancelAnimationFrame(h);
1094
+ };
1095
+ }
1096
+ const Ee = re, Se = se, De = ne, Le = le, Pe = oe, Tt = ee, Te = ce, Me = (t, e, n) => {
1097
+ const o = /* @__PURE__ */ new Map(), i = {
1098
+ platform: Oe,
1099
+ ...n
1100
+ }, r = {
1101
+ ...i.platform,
1102
+ _c: o
1103
+ };
1104
+ return te(t, e, {
1105
+ ...i,
1106
+ platform: r
1107
+ });
1108
+ };
1109
+ var rt = typeof document < "u" ? jt : It;
1110
+ function ft(t, e) {
1111
+ if (t === e)
1112
+ return !0;
1113
+ if (typeof t != typeof e)
1114
+ return !1;
1115
+ if (typeof t == "function" && t.toString() === e.toString())
1116
+ return !0;
1117
+ let n, o, i;
1118
+ if (t && e && typeof t == "object") {
1119
+ if (Array.isArray(t)) {
1120
+ if (n = t.length, n !== e.length) return !1;
1121
+ for (o = n; o-- !== 0; )
1122
+ if (!ft(t[o], e[o]))
1123
+ return !1;
1124
+ return !0;
1125
+ }
1126
+ if (i = Object.keys(t), n = i.length, n !== Object.keys(e).length)
1127
+ return !1;
1128
+ for (o = n; o-- !== 0; )
1129
+ if (!{}.hasOwnProperty.call(e, i[o]))
1130
+ return !1;
1131
+ for (o = n; o-- !== 0; ) {
1132
+ const r = i[o];
1133
+ if (!(r === "_owner" && t.$$typeof) && !ft(t[r], e[r]))
1134
+ return !1;
1135
+ }
1136
+ return !0;
1137
+ }
1138
+ return t !== t && e !== e;
1139
+ }
1140
+ function zt(t) {
1141
+ return typeof window > "u" ? 1 : (t.ownerDocument.defaultView || window).devicePixelRatio || 1;
1142
+ }
1143
+ function Mt(t, e) {
1144
+ const n = zt(t);
1145
+ return Math.round(e * n) / n;
1146
+ }
1147
+ function ht(t) {
1148
+ const e = S.useRef(t);
1149
+ return rt(() => {
1150
+ e.current = t;
1151
+ }), e;
1152
+ }
1153
+ function We(t) {
1154
+ t === void 0 && (t = {});
1155
+ const {
1156
+ placement: e = "bottom",
1157
+ strategy: n = "absolute",
1158
+ middleware: o = [],
1159
+ platform: i,
1160
+ elements: {
1161
+ reference: r,
1162
+ floating: s
1163
+ } = {},
1164
+ transform: c = !0,
1165
+ whileElementsMounted: f,
1166
+ open: l
1167
+ } = t, [a, u] = S.useState({
1168
+ x: 0,
1169
+ y: 0,
1170
+ strategy: n,
1171
+ placement: e,
1172
+ middlewareData: {},
1173
+ isPositioned: !1
1174
+ }), [m, d] = S.useState(o);
1175
+ ft(m, o) || d(o);
1176
+ const [h, g] = S.useState(null), [p, w] = S.useState(null), v = S.useCallback((A) => {
1177
+ A !== O.current && (O.current = A, g(A));
1178
+ }, []), y = S.useCallback((A) => {
1179
+ A !== R.current && (R.current = A, w(A));
1180
+ }, []), b = r || h, x = s || p, O = S.useRef(null), R = S.useRef(null), L = S.useRef(a), W = f != null, D = ht(f), B = ht(i), T = ht(l), P = S.useCallback(() => {
1181
+ if (!O.current || !R.current)
1182
+ return;
1183
+ const A = {
1184
+ placement: e,
1185
+ strategy: n,
1186
+ middleware: m
1187
+ };
1188
+ B.current && (A.platform = B.current), Me(O.current, R.current, A).then((k) => {
1189
+ const q = {
1190
+ ...k,
1191
+ // The floating element's position may be recomputed while it's closed
1192
+ // but still mounted (such as when transitioning out). To ensure
1193
+ // `isPositioned` will be `false` initially on the next open, avoid
1194
+ // setting it to `true` when `open === false` (must be specified).
1195
+ isPositioned: T.current !== !1
1196
+ };
1197
+ C.current && !ft(L.current, q) && (L.current = q, Yt.flushSync(() => {
1198
+ u(q);
1199
+ }));
1200
+ });
1201
+ }, [m, e, n, B, T]);
1202
+ rt(() => {
1203
+ l === !1 && L.current.isPositioned && (L.current.isPositioned = !1, u((A) => ({
1204
+ ...A,
1205
+ isPositioned: !1
1206
+ })));
1207
+ }, [l]);
1208
+ const C = S.useRef(!1);
1209
+ rt(() => (C.current = !0, () => {
1210
+ C.current = !1;
1211
+ }), []), rt(() => {
1212
+ if (b && (O.current = b), x && (R.current = x), b && x) {
1213
+ if (D.current)
1214
+ return D.current(b, x, P);
1215
+ P();
1216
+ }
1217
+ }, [b, x, P, D, W]);
1218
+ const j = S.useMemo(() => ({
1219
+ reference: O,
1220
+ floating: R,
1221
+ setReference: v,
1222
+ setFloating: y
1223
+ }), [v, y]), E = S.useMemo(() => ({
1224
+ reference: b,
1225
+ floating: x
1226
+ }), [b, x]), M = S.useMemo(() => {
1227
+ const A = {
1228
+ position: n,
1229
+ left: 0,
1230
+ top: 0
1231
+ };
1232
+ if (!E.floating)
1233
+ return A;
1234
+ const k = Mt(E.floating, a.x), q = Mt(E.floating, a.y);
1235
+ return c ? {
1236
+ ...A,
1237
+ transform: "translate(" + k + "px, " + q + "px)",
1238
+ ...zt(E.floating) >= 1.5 && {
1239
+ willChange: "transform"
1240
+ }
1241
+ } : {
1242
+ position: n,
1243
+ left: k,
1244
+ top: q
1245
+ };
1246
+ }, [n, c, E.floating, a.x, a.y]);
1247
+ return S.useMemo(() => ({
1248
+ ...a,
1249
+ update: P,
1250
+ refs: j,
1251
+ elements: E,
1252
+ floatingStyles: M
1253
+ }), [a, P, j, E, M]);
1254
+ }
1255
+ const ke = (t) => {
1256
+ function e(n) {
1257
+ return {}.hasOwnProperty.call(n, "current");
1258
+ }
1259
+ return {
1260
+ name: "arrow",
1261
+ options: t,
1262
+ fn(n) {
1263
+ const {
1264
+ element: o,
1265
+ padding: i
1266
+ } = typeof t == "function" ? t(n) : t;
1267
+ return o && e(o) ? o.current != null ? Tt({
1268
+ element: o.current,
1269
+ padding: i
1270
+ }).fn(n) : {} : o ? Tt({
1271
+ element: o,
1272
+ padding: i
1273
+ }).fn(n) : {};
1274
+ }
1275
+ };
1276
+ }, Be = (t, e) => ({
1277
+ ...Ee(t),
1278
+ options: [t, e]
1279
+ }), He = (t, e) => ({
1280
+ ...Se(t),
1281
+ options: [t, e]
1282
+ }), Ne = (t, e) => ({
1283
+ ...Te(t),
1284
+ options: [t, e]
1285
+ }), Ve = (t, e) => ({
1286
+ ...De(t),
1287
+ options: [t, e]
1288
+ }), _e = (t, e) => ({
1289
+ ...Le(t),
1290
+ options: [t, e]
1291
+ }), ze = (t, e) => ({
1292
+ ...Pe(t),
1293
+ options: [t, e]
1294
+ }), je = (t, e) => ({
1295
+ ...ke(t),
1296
+ options: [t, e]
1297
+ });
1298
+ export {
1299
+ _e as a,
1300
+ je as b,
1301
+ $e as c,
1302
+ Ve as f,
1303
+ ze as h,
1304
+ Ne as l,
1305
+ Be as o,
1306
+ He as s,
1307
+ We as u
1308
+ };
1309
+ //# sourceMappingURL=floating-ui.react-dom-BwDfy92G.js.map