convex-cms 0.0.1 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (267) hide show
  1. package/LICENSE +190 -0
  2. package/README.md +99 -0
  3. package/admin-dist/nitro.json +15 -0
  4. package/admin-dist/public/assets/CmsEmptyState-CRswfTzk.js +5 -0
  5. package/admin-dist/public/assets/CmsPageHeader-CirpXndm.js +1 -0
  6. package/admin-dist/public/assets/CmsStatusBadge-CbEUpQu-.js +1 -0
  7. package/admin-dist/public/assets/CmsToolbar-BI2nZOXp.js +1 -0
  8. package/admin-dist/public/assets/ContentEntryEditor-CBeCyK_m.js +4 -0
  9. package/admin-dist/public/assets/ErrorState-BIVaWmom.js +1 -0
  10. package/admin-dist/public/assets/TaxonomyFilter-ChaY6Y_x.js +1 -0
  11. package/admin-dist/public/assets/_contentTypeId-DQ8k_Rvw.js +1 -0
  12. package/admin-dist/public/assets/_entryId-CKU_glsK.js +1 -0
  13. package/admin-dist/public/assets/alert-BXjTqrwQ.js +1 -0
  14. package/admin-dist/public/assets/badge-hvUOzpVZ.js +1 -0
  15. package/admin-dist/public/assets/circle-check-big-CF_pR17r.js +1 -0
  16. package/admin-dist/public/assets/command-DU82cJlt.js +1 -0
  17. package/admin-dist/public/assets/content-_LXl3pp7.js +1 -0
  18. package/admin-dist/public/assets/content-types-KjxaXGxY.js +2 -0
  19. package/admin-dist/public/assets/globals-CS6BZ0zp.css +1 -0
  20. package/admin-dist/public/assets/index-DNGIZHL-.js +1 -0
  21. package/admin-dist/public/assets/label-KNtpL71g.js +1 -0
  22. package/admin-dist/public/assets/link-2-Bw2aI4V4.js +1 -0
  23. package/admin-dist/public/assets/list-sYepHjt_.js +1 -0
  24. package/admin-dist/public/assets/main-CKj5yfEi.js +97 -0
  25. package/admin-dist/public/assets/media-Bkrkffm7.js +1 -0
  26. package/admin-dist/public/assets/new._contentTypeId-C3LstjNs.js +1 -0
  27. package/admin-dist/public/assets/plus-DUn8v_Xf.js +1 -0
  28. package/admin-dist/public/assets/rotate-ccw-DJEoHcRI.js +1 -0
  29. package/admin-dist/public/assets/scroll-area-DfIlT0in.js +1 -0
  30. package/admin-dist/public/assets/search-MuAUDJKR.js +1 -0
  31. package/admin-dist/public/assets/select-BD29IXCI.js +1 -0
  32. package/admin-dist/public/assets/settings-DmMyn_6A.js +1 -0
  33. package/admin-dist/public/assets/switch-h3Rrnl5i.js +1 -0
  34. package/admin-dist/public/assets/tabs-imc8h-Dp.js +1 -0
  35. package/admin-dist/public/assets/taxonomies-dAsrT65H.js +1 -0
  36. package/admin-dist/public/assets/textarea-BTy7nwzR.js +1 -0
  37. package/admin-dist/public/assets/trash-SAWKZZHv.js +1 -0
  38. package/admin-dist/public/assets/triangle-alert-E52Vfeuh.js +1 -0
  39. package/admin-dist/public/assets/useBreadcrumbLabel-BECBMCzM.js +1 -0
  40. package/admin-dist/public/assets/usePermissions-Basjs9BT.js +1 -0
  41. package/admin-dist/public/favicon.ico +0 -0
  42. package/admin-dist/server/_chunks/_libs/@date-fns/tz.mjs +217 -0
  43. package/admin-dist/server/_chunks/_libs/@floating-ui/core.mjs +719 -0
  44. package/admin-dist/server/_chunks/_libs/@floating-ui/dom.mjs +622 -0
  45. package/admin-dist/server/_chunks/_libs/@floating-ui/react-dom.mjs +292 -0
  46. package/admin-dist/server/_chunks/_libs/@floating-ui/utils.mjs +320 -0
  47. package/admin-dist/server/_chunks/_libs/@radix-ui/number.mjs +6 -0
  48. package/admin-dist/server/_chunks/_libs/@radix-ui/primitive.mjs +11 -0
  49. package/admin-dist/server/_chunks/_libs/@radix-ui/react-arrow.mjs +23 -0
  50. package/admin-dist/server/_chunks/_libs/@radix-ui/react-avatar.mjs +119 -0
  51. package/admin-dist/server/_chunks/_libs/@radix-ui/react-checkbox.mjs +270 -0
  52. package/admin-dist/server/_chunks/_libs/@radix-ui/react-collection.mjs +69 -0
  53. package/admin-dist/server/_chunks/_libs/@radix-ui/react-compose-refs.mjs +39 -0
  54. package/admin-dist/server/_chunks/_libs/@radix-ui/react-context.mjs +137 -0
  55. package/admin-dist/server/_chunks/_libs/@radix-ui/react-dialog.mjs +325 -0
  56. package/admin-dist/server/_chunks/_libs/@radix-ui/react-direction.mjs +9 -0
  57. package/admin-dist/server/_chunks/_libs/@radix-ui/react-dismissable-layer.mjs +210 -0
  58. package/admin-dist/server/_chunks/_libs/@radix-ui/react-dropdown-menu.mjs +253 -0
  59. package/admin-dist/server/_chunks/_libs/@radix-ui/react-focus-guards.mjs +29 -0
  60. package/admin-dist/server/_chunks/_libs/@radix-ui/react-focus-scope.mjs +206 -0
  61. package/admin-dist/server/_chunks/_libs/@radix-ui/react-id.mjs +14 -0
  62. package/admin-dist/server/_chunks/_libs/@radix-ui/react-label.mjs +23 -0
  63. package/admin-dist/server/_chunks/_libs/@radix-ui/react-menu.mjs +812 -0
  64. package/admin-dist/server/_chunks/_libs/@radix-ui/react-popover.mjs +300 -0
  65. package/admin-dist/server/_chunks/_libs/@radix-ui/react-popper.mjs +286 -0
  66. package/admin-dist/server/_chunks/_libs/@radix-ui/react-portal.mjs +16 -0
  67. package/admin-dist/server/_chunks/_libs/@radix-ui/react-presence.mjs +128 -0
  68. package/admin-dist/server/_chunks/_libs/@radix-ui/react-primitive.mjs +141 -0
  69. package/admin-dist/server/_chunks/_libs/@radix-ui/react-roving-focus.mjs +224 -0
  70. package/admin-dist/server/_chunks/_libs/@radix-ui/react-scroll-area.mjs +721 -0
  71. package/admin-dist/server/_chunks/_libs/@radix-ui/react-select.mjs +1163 -0
  72. package/admin-dist/server/_chunks/_libs/@radix-ui/react-separator.mjs +28 -0
  73. package/admin-dist/server/_chunks/_libs/@radix-ui/react-slot.mjs +601 -0
  74. package/admin-dist/server/_chunks/_libs/@radix-ui/react-switch.mjs +152 -0
  75. package/admin-dist/server/_chunks/_libs/@radix-ui/react-tabs.mjs +189 -0
  76. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-callback-ref.mjs +11 -0
  77. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-controllable-state.mjs +69 -0
  78. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-effect-event.mjs +1 -0
  79. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-escape-keydown.mjs +17 -0
  80. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-is-hydrated.mjs +15 -0
  81. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-layout-effect.mjs +6 -0
  82. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-previous.mjs +14 -0
  83. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-size.mjs +39 -0
  84. package/admin-dist/server/_chunks/_libs/@radix-ui/react-visually-hidden.mjs +33 -0
  85. package/admin-dist/server/_chunks/_libs/@tanstack/history.mjs +409 -0
  86. package/admin-dist/server/_chunks/_libs/@tanstack/react-router.mjs +1711 -0
  87. package/admin-dist/server/_chunks/_libs/@tanstack/react-store.mjs +56 -0
  88. package/admin-dist/server/_chunks/_libs/@tanstack/router-core.mjs +4829 -0
  89. package/admin-dist/server/_chunks/_libs/@tanstack/store.mjs +134 -0
  90. package/admin-dist/server/_chunks/_libs/react-dom.mjs +10781 -0
  91. package/admin-dist/server/_chunks/_libs/react.mjs +513 -0
  92. package/admin-dist/server/_libs/aria-hidden.mjs +122 -0
  93. package/admin-dist/server/_libs/class-variance-authority.mjs +44 -0
  94. package/admin-dist/server/_libs/clsx.mjs +16 -0
  95. package/admin-dist/server/_libs/cmdk.mjs +315 -0
  96. package/admin-dist/server/_libs/convex.mjs +4841 -0
  97. package/admin-dist/server/_libs/cookie-es.mjs +58 -0
  98. package/admin-dist/server/_libs/croner.mjs +1 -0
  99. package/admin-dist/server/_libs/crossws.mjs +1 -0
  100. package/admin-dist/server/_libs/date-fns.mjs +1716 -0
  101. package/admin-dist/server/_libs/detect-node-es.mjs +1 -0
  102. package/admin-dist/server/_libs/get-nonce.mjs +9 -0
  103. package/admin-dist/server/_libs/h3-v2.mjs +277 -0
  104. package/admin-dist/server/_libs/h3.mjs +401 -0
  105. package/admin-dist/server/_libs/hookable.mjs +1 -0
  106. package/admin-dist/server/_libs/isbot.mjs +20 -0
  107. package/admin-dist/server/_libs/lucide-react.mjs +850 -0
  108. package/admin-dist/server/_libs/ohash.mjs +1 -0
  109. package/admin-dist/server/_libs/react-day-picker.mjs +2201 -0
  110. package/admin-dist/server/_libs/react-remove-scroll-bar.mjs +82 -0
  111. package/admin-dist/server/_libs/react-remove-scroll.mjs +328 -0
  112. package/admin-dist/server/_libs/react-style-singleton.mjs +69 -0
  113. package/admin-dist/server/_libs/rou3.mjs +8 -0
  114. package/admin-dist/server/_libs/seroval-plugins.mjs +58 -0
  115. package/admin-dist/server/_libs/seroval.mjs +1765 -0
  116. package/admin-dist/server/_libs/srvx.mjs +719 -0
  117. package/admin-dist/server/_libs/tailwind-merge.mjs +3010 -0
  118. package/admin-dist/server/_libs/tiny-invariant.mjs +12 -0
  119. package/admin-dist/server/_libs/tiny-warning.mjs +5 -0
  120. package/admin-dist/server/_libs/tslib.mjs +39 -0
  121. package/admin-dist/server/_libs/ufo.mjs +54 -0
  122. package/admin-dist/server/_libs/unctx.mjs +1 -0
  123. package/admin-dist/server/_libs/unstorage.mjs +1 -0
  124. package/admin-dist/server/_libs/use-callback-ref.mjs +66 -0
  125. package/admin-dist/server/_libs/use-sidecar.mjs +106 -0
  126. package/admin-dist/server/_libs/use-sync-external-store.mjs +139 -0
  127. package/admin-dist/server/_libs/zod.mjs +4223 -0
  128. package/admin-dist/server/_ssr/CmsEmptyState-DU7-7-mV.mjs +290 -0
  129. package/admin-dist/server/_ssr/CmsPageHeader-CseW0AHm.mjs +24 -0
  130. package/admin-dist/server/_ssr/CmsStatusBadge-B_pi4KCp.mjs +127 -0
  131. package/admin-dist/server/_ssr/CmsToolbar-X75ex6ek.mjs +49 -0
  132. package/admin-dist/server/_ssr/ContentEntryEditor-CepusRsA.mjs +3720 -0
  133. package/admin-dist/server/_ssr/ErrorState-cI-bKLez.mjs +89 -0
  134. package/admin-dist/server/_ssr/TaxonomyFilter-Bwrq0-cz.mjs +188 -0
  135. package/admin-dist/server/_ssr/_contentTypeId-BqYKEcLr.mjs +379 -0
  136. package/admin-dist/server/_ssr/_entryId-CRfnqeDf.mjs +161 -0
  137. package/admin-dist/server/_ssr/_tanstack-start-manifest_v-BwDlABVk.mjs +4 -0
  138. package/admin-dist/server/_ssr/alert-CVt45UUP.mjs +92 -0
  139. package/admin-dist/server/_ssr/badge-6BsP37vG.mjs +125 -0
  140. package/admin-dist/server/_ssr/command-fy8epIKf.mjs +128 -0
  141. package/admin-dist/server/_ssr/config.server-D7JHDcDv.mjs +117 -0
  142. package/admin-dist/server/_ssr/content-B5RhL7uW.mjs +532 -0
  143. package/admin-dist/server/_ssr/content-types-BIOqCQYN.mjs +1166 -0
  144. package/admin-dist/server/_ssr/index-DHSHDPt1.mjs +193 -0
  145. package/admin-dist/server/_ssr/index.mjs +1275 -0
  146. package/admin-dist/server/_ssr/label-C8Dko1j7.mjs +22 -0
  147. package/admin-dist/server/_ssr/media-CSx3XttC.mjs +1832 -0
  148. package/admin-dist/server/_ssr/new._contentTypeId-DzanEZQM.mjs +144 -0
  149. package/admin-dist/server/_ssr/router-DDWcF-kt.mjs +1556 -0
  150. package/admin-dist/server/_ssr/scroll-area-bjPYwhXN.mjs +59 -0
  151. package/admin-dist/server/_ssr/select-BUhDDf4T.mjs +142 -0
  152. package/admin-dist/server/_ssr/settings-DAsxnw2q.mjs +348 -0
  153. package/admin-dist/server/_ssr/start-HYkvq4Ni.mjs +4 -0
  154. package/admin-dist/server/_ssr/switch-BgyRtQ1Z.mjs +31 -0
  155. package/admin-dist/server/_ssr/tabs-DzMdRB1A.mjs +628 -0
  156. package/admin-dist/server/_ssr/taxonomies-C8j8g5Q5.mjs +915 -0
  157. package/admin-dist/server/_ssr/textarea-9jNeYJSc.mjs +18 -0
  158. package/admin-dist/server/_ssr/trash-DYMxwhZB.mjs +291 -0
  159. package/admin-dist/server/_ssr/useBreadcrumbLabel-FNSAr2Ha.mjs +16 -0
  160. package/admin-dist/server/_ssr/usePermissions-BJGGahrJ.mjs +68 -0
  161. package/admin-dist/server/favicon.ico +0 -0
  162. package/admin-dist/server/index.mjs +627 -0
  163. package/dist/cli/index.js +0 -0
  164. package/dist/client/admin-config.d.ts +0 -1
  165. package/dist/client/admin-config.d.ts.map +1 -1
  166. package/dist/client/admin-config.js +0 -1
  167. package/dist/client/admin-config.js.map +1 -1
  168. package/dist/client/adminApi.d.ts.map +1 -1
  169. package/dist/client/agentTools.d.ts +1237 -135
  170. package/dist/client/agentTools.d.ts.map +1 -1
  171. package/dist/client/agentTools.js +33 -9
  172. package/dist/client/agentTools.js.map +1 -1
  173. package/dist/client/index.d.ts +1 -1
  174. package/dist/client/index.d.ts.map +1 -1
  175. package/dist/client/index.js.map +1 -1
  176. package/dist/component/_generated/component.d.ts +9 -0
  177. package/dist/component/_generated/component.d.ts.map +1 -1
  178. package/dist/component/mediaAssets.d.ts +35 -0
  179. package/dist/component/mediaAssets.d.ts.map +1 -1
  180. package/dist/component/mediaAssets.js +81 -0
  181. package/dist/component/mediaAssets.js.map +1 -1
  182. package/dist/test.d.ts.map +1 -1
  183. package/dist/test.js +2 -1
  184. package/dist/test.js.map +1 -1
  185. package/package.json +24 -9
  186. package/dist/component/auditLog.d.ts +0 -410
  187. package/dist/component/auditLog.d.ts.map +0 -1
  188. package/dist/component/auditLog.js +0 -607
  189. package/dist/component/auditLog.js.map +0 -1
  190. package/dist/component/types.d.ts +0 -4
  191. package/dist/component/types.d.ts.map +0 -1
  192. package/dist/component/types.js +0 -2
  193. package/dist/component/types.js.map +0 -1
  194. package/src/cli/commands/admin.ts +0 -104
  195. package/src/cli/index.ts +0 -21
  196. package/src/cli/utils/detectConvexUrl.ts +0 -54
  197. package/src/cli/utils/openBrowser.ts +0 -16
  198. package/src/client/admin-config.ts +0 -138
  199. package/src/client/adminApi.ts +0 -942
  200. package/src/client/agentTools.ts +0 -1311
  201. package/src/client/argTypes.ts +0 -316
  202. package/src/client/field-types.ts +0 -187
  203. package/src/client/index.ts +0 -1301
  204. package/src/client/queryBuilder.ts +0 -1100
  205. package/src/client/schema/codegen.ts +0 -500
  206. package/src/client/schema/defineContentType.ts +0 -501
  207. package/src/client/schema/index.ts +0 -169
  208. package/src/client/schema/schemaDrift.ts +0 -574
  209. package/src/client/schema/typedClient.ts +0 -688
  210. package/src/client/schema/types.ts +0 -666
  211. package/src/client/types.ts +0 -723
  212. package/src/client/workflows.ts +0 -141
  213. package/src/client/wrapper.ts +0 -4304
  214. package/src/component/_generated/api.ts +0 -140
  215. package/src/component/_generated/component.ts +0 -5029
  216. package/src/component/_generated/dataModel.ts +0 -60
  217. package/src/component/_generated/server.ts +0 -156
  218. package/src/component/authorization.ts +0 -647
  219. package/src/component/authorizationHooks.ts +0 -668
  220. package/src/component/bulkOperations.ts +0 -687
  221. package/src/component/contentEntries.ts +0 -1976
  222. package/src/component/contentEntryMutations.ts +0 -1223
  223. package/src/component/contentEntryValidation.ts +0 -707
  224. package/src/component/contentLock.ts +0 -550
  225. package/src/component/contentTypeMigration.ts +0 -1064
  226. package/src/component/contentTypeMutations.ts +0 -969
  227. package/src/component/contentTypes.ts +0 -346
  228. package/src/component/convex.config.ts +0 -44
  229. package/src/component/documentTypes.ts +0 -240
  230. package/src/component/eventEmitter.ts +0 -485
  231. package/src/component/exportImport.ts +0 -1169
  232. package/src/component/index.ts +0 -491
  233. package/src/component/lib/deepReferenceResolver.ts +0 -999
  234. package/src/component/lib/errors.ts +0 -816
  235. package/src/component/lib/index.ts +0 -145
  236. package/src/component/lib/mediaReferenceResolver.ts +0 -495
  237. package/src/component/lib/metadataExtractor.ts +0 -792
  238. package/src/component/lib/mutationAuth.ts +0 -199
  239. package/src/component/lib/queries.ts +0 -79
  240. package/src/component/lib/ragContentChunker.ts +0 -1371
  241. package/src/component/lib/referenceResolver.ts +0 -430
  242. package/src/component/lib/slugGenerator.ts +0 -262
  243. package/src/component/lib/slugUniqueness.ts +0 -333
  244. package/src/component/lib/softDelete.ts +0 -44
  245. package/src/component/localeFallbackChain.ts +0 -673
  246. package/src/component/localeFields.ts +0 -896
  247. package/src/component/mediaAssetMutations.ts +0 -725
  248. package/src/component/mediaAssets.ts +0 -932
  249. package/src/component/mediaFolderMutations.ts +0 -1046
  250. package/src/component/mediaUploadMutations.ts +0 -224
  251. package/src/component/mediaVariantMutations.ts +0 -900
  252. package/src/component/mediaVariants.ts +0 -793
  253. package/src/component/ragContentIndexer.ts +0 -1067
  254. package/src/component/rateLimitHooks.ts +0 -572
  255. package/src/component/roles.ts +0 -1360
  256. package/src/component/scheduledPublish.ts +0 -358
  257. package/src/component/schema.ts +0 -617
  258. package/src/component/taxonomies.ts +0 -949
  259. package/src/component/taxonomyMutations.ts +0 -1210
  260. package/src/component/trash.ts +0 -724
  261. package/src/component/userContext.ts +0 -898
  262. package/src/component/validation.ts +0 -1388
  263. package/src/component/validators.ts +0 -949
  264. package/src/component/versionMutations.ts +0 -392
  265. package/src/component/webhookTrigger.ts +0 -1922
  266. package/src/react/index.ts +0 -898
  267. package/src/test.ts +0 -1580
@@ -0,0 +1,622 @@
1
+ import { c as computePosition$1, o as offset$1, s as shift$1, f as flip$1, a as size$1, h as hide$1, b as arrow$1, l as limitShift$1 } from "./core.mjs";
2
+ import { p as isElement, q as getDocumentElement, t as getOverflowAncestors, u as getComputedStyle$1, v as isHTMLElement, w as createCoords, x as round, y as getWindow, z as isTopLayer, A as getParentNode, B as isLastTraversableNode, C as isTableElement, D as isContainingBlock, E as getContainingBlock, k as max, m as min, F as getNodeName, G as isOverflowElement, H as getNodeScroll, I as getFrameElement, r as rectToClientRect, J as floor, K as isWebKit } from "./utils.mjs";
3
+ function getCssDimensions(element) {
4
+ const css = getComputedStyle$1(element);
5
+ let width = parseFloat(css.width) || 0;
6
+ let height = parseFloat(css.height) || 0;
7
+ const hasOffset = isHTMLElement(element);
8
+ const offsetWidth = hasOffset ? element.offsetWidth : width;
9
+ const offsetHeight = hasOffset ? element.offsetHeight : height;
10
+ const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;
11
+ if (shouldFallback) {
12
+ width = offsetWidth;
13
+ height = offsetHeight;
14
+ }
15
+ return {
16
+ width,
17
+ height,
18
+ $: shouldFallback
19
+ };
20
+ }
21
+ function unwrapElement(element) {
22
+ return !isElement(element) ? element.contextElement : element;
23
+ }
24
+ function getScale(element) {
25
+ const domElement = unwrapElement(element);
26
+ if (!isHTMLElement(domElement)) {
27
+ return createCoords(1);
28
+ }
29
+ const rect = domElement.getBoundingClientRect();
30
+ const {
31
+ width,
32
+ height,
33
+ $
34
+ } = getCssDimensions(domElement);
35
+ let x = ($ ? round(rect.width) : rect.width) / width;
36
+ let y = ($ ? round(rect.height) : rect.height) / height;
37
+ if (!x || !Number.isFinite(x)) {
38
+ x = 1;
39
+ }
40
+ if (!y || !Number.isFinite(y)) {
41
+ y = 1;
42
+ }
43
+ return {
44
+ x,
45
+ y
46
+ };
47
+ }
48
+ const noOffsets = /* @__PURE__ */ createCoords(0);
49
+ function getVisualOffsets(element) {
50
+ const win = getWindow(element);
51
+ if (!isWebKit() || !win.visualViewport) {
52
+ return noOffsets;
53
+ }
54
+ return {
55
+ x: win.visualViewport.offsetLeft,
56
+ y: win.visualViewport.offsetTop
57
+ };
58
+ }
59
+ function shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {
60
+ if (isFixed === void 0) {
61
+ isFixed = false;
62
+ }
63
+ if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {
64
+ return false;
65
+ }
66
+ return isFixed;
67
+ }
68
+ function getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {
69
+ if (includeScale === void 0) {
70
+ includeScale = false;
71
+ }
72
+ if (isFixedStrategy === void 0) {
73
+ isFixedStrategy = false;
74
+ }
75
+ const clientRect = element.getBoundingClientRect();
76
+ const domElement = unwrapElement(element);
77
+ let scale = createCoords(1);
78
+ if (includeScale) {
79
+ if (offsetParent) {
80
+ if (isElement(offsetParent)) {
81
+ scale = getScale(offsetParent);
82
+ }
83
+ } else {
84
+ scale = getScale(element);
85
+ }
86
+ }
87
+ const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);
88
+ let x = (clientRect.left + visualOffsets.x) / scale.x;
89
+ let y = (clientRect.top + visualOffsets.y) / scale.y;
90
+ let width = clientRect.width / scale.x;
91
+ let height = clientRect.height / scale.y;
92
+ if (domElement) {
93
+ const win = getWindow(domElement);
94
+ const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;
95
+ let currentWin = win;
96
+ let currentIFrame = getFrameElement(currentWin);
97
+ while (currentIFrame && offsetParent && offsetWin !== currentWin) {
98
+ const iframeScale = getScale(currentIFrame);
99
+ const iframeRect = currentIFrame.getBoundingClientRect();
100
+ const css = getComputedStyle$1(currentIFrame);
101
+ const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;
102
+ const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;
103
+ x *= iframeScale.x;
104
+ y *= iframeScale.y;
105
+ width *= iframeScale.x;
106
+ height *= iframeScale.y;
107
+ x += left;
108
+ y += top;
109
+ currentWin = getWindow(currentIFrame);
110
+ currentIFrame = getFrameElement(currentWin);
111
+ }
112
+ }
113
+ return rectToClientRect({
114
+ width,
115
+ height,
116
+ x,
117
+ y
118
+ });
119
+ }
120
+ function getWindowScrollBarX(element, rect) {
121
+ const leftScroll = getNodeScroll(element).scrollLeft;
122
+ if (!rect) {
123
+ return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;
124
+ }
125
+ return rect.left + leftScroll;
126
+ }
127
+ function getHTMLOffset(documentElement, scroll) {
128
+ const htmlRect = documentElement.getBoundingClientRect();
129
+ const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);
130
+ const y = htmlRect.top + scroll.scrollTop;
131
+ return {
132
+ x,
133
+ y
134
+ };
135
+ }
136
+ function convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {
137
+ let {
138
+ elements,
139
+ rect,
140
+ offsetParent,
141
+ strategy
142
+ } = _ref;
143
+ const isFixed = strategy === "fixed";
144
+ const documentElement = getDocumentElement(offsetParent);
145
+ const topLayer = elements ? isTopLayer(elements.floating) : false;
146
+ if (offsetParent === documentElement || topLayer && isFixed) {
147
+ return rect;
148
+ }
149
+ let scroll = {
150
+ scrollLeft: 0,
151
+ scrollTop: 0
152
+ };
153
+ let scale = createCoords(1);
154
+ const offsets = createCoords(0);
155
+ const isOffsetParentAnElement = isHTMLElement(offsetParent);
156
+ if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
157
+ if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
158
+ scroll = getNodeScroll(offsetParent);
159
+ }
160
+ if (isHTMLElement(offsetParent)) {
161
+ const offsetRect = getBoundingClientRect(offsetParent);
162
+ scale = getScale(offsetParent);
163
+ offsets.x = offsetRect.x + offsetParent.clientLeft;
164
+ offsets.y = offsetRect.y + offsetParent.clientTop;
165
+ }
166
+ }
167
+ const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
168
+ return {
169
+ width: rect.width * scale.x,
170
+ height: rect.height * scale.y,
171
+ x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,
172
+ y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y
173
+ };
174
+ }
175
+ function getClientRects(element) {
176
+ return Array.from(element.getClientRects());
177
+ }
178
+ function getDocumentRect(element) {
179
+ const html = getDocumentElement(element);
180
+ const scroll = getNodeScroll(element);
181
+ const body = element.ownerDocument.body;
182
+ const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);
183
+ const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);
184
+ let x = -scroll.scrollLeft + getWindowScrollBarX(element);
185
+ const y = -scroll.scrollTop;
186
+ if (getComputedStyle$1(body).direction === "rtl") {
187
+ x += max(html.clientWidth, body.clientWidth) - width;
188
+ }
189
+ return {
190
+ width,
191
+ height,
192
+ x,
193
+ y
194
+ };
195
+ }
196
+ const SCROLLBAR_MAX = 25;
197
+ function getViewportRect(element, strategy) {
198
+ const win = getWindow(element);
199
+ const html = getDocumentElement(element);
200
+ const visualViewport = win.visualViewport;
201
+ let width = html.clientWidth;
202
+ let height = html.clientHeight;
203
+ let x = 0;
204
+ let y = 0;
205
+ if (visualViewport) {
206
+ width = visualViewport.width;
207
+ height = visualViewport.height;
208
+ const visualViewportBased = isWebKit();
209
+ if (!visualViewportBased || visualViewportBased && strategy === "fixed") {
210
+ x = visualViewport.offsetLeft;
211
+ y = visualViewport.offsetTop;
212
+ }
213
+ }
214
+ const windowScrollbarX = getWindowScrollBarX(html);
215
+ if (windowScrollbarX <= 0) {
216
+ const doc = html.ownerDocument;
217
+ const body = doc.body;
218
+ const bodyStyles = getComputedStyle(body);
219
+ const bodyMarginInline = doc.compatMode === "CSS1Compat" ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;
220
+ const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);
221
+ if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {
222
+ width -= clippingStableScrollbarWidth;
223
+ }
224
+ } else if (windowScrollbarX <= SCROLLBAR_MAX) {
225
+ width += windowScrollbarX;
226
+ }
227
+ return {
228
+ width,
229
+ height,
230
+ x,
231
+ y
232
+ };
233
+ }
234
+ const absoluteOrFixed = /* @__PURE__ */ new Set(["absolute", "fixed"]);
235
+ function getInnerBoundingClientRect(element, strategy) {
236
+ const clientRect = getBoundingClientRect(element, true, strategy === "fixed");
237
+ const top = clientRect.top + element.clientTop;
238
+ const left = clientRect.left + element.clientLeft;
239
+ const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);
240
+ const width = element.clientWidth * scale.x;
241
+ const height = element.clientHeight * scale.y;
242
+ const x = left * scale.x;
243
+ const y = top * scale.y;
244
+ return {
245
+ width,
246
+ height,
247
+ x,
248
+ y
249
+ };
250
+ }
251
+ function getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {
252
+ let rect;
253
+ if (clippingAncestor === "viewport") {
254
+ rect = getViewportRect(element, strategy);
255
+ } else if (clippingAncestor === "document") {
256
+ rect = getDocumentRect(getDocumentElement(element));
257
+ } else if (isElement(clippingAncestor)) {
258
+ rect = getInnerBoundingClientRect(clippingAncestor, strategy);
259
+ } else {
260
+ const visualOffsets = getVisualOffsets(element);
261
+ rect = {
262
+ x: clippingAncestor.x - visualOffsets.x,
263
+ y: clippingAncestor.y - visualOffsets.y,
264
+ width: clippingAncestor.width,
265
+ height: clippingAncestor.height
266
+ };
267
+ }
268
+ return rectToClientRect(rect);
269
+ }
270
+ function hasFixedPositionAncestor(element, stopNode) {
271
+ const parentNode = getParentNode(element);
272
+ if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {
273
+ return false;
274
+ }
275
+ return getComputedStyle$1(parentNode).position === "fixed" || hasFixedPositionAncestor(parentNode, stopNode);
276
+ }
277
+ function getClippingElementAncestors(element, cache) {
278
+ const cachedResult = cache.get(element);
279
+ if (cachedResult) {
280
+ return cachedResult;
281
+ }
282
+ let result = getOverflowAncestors(element, [], false).filter((el) => isElement(el) && getNodeName(el) !== "body");
283
+ let currentContainingBlockComputedStyle = null;
284
+ const elementIsFixed = getComputedStyle$1(element).position === "fixed";
285
+ let currentNode = elementIsFixed ? getParentNode(element) : element;
286
+ while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {
287
+ const computedStyle = getComputedStyle$1(currentNode);
288
+ const currentNodeIsContaining = isContainingBlock(currentNode);
289
+ if (!currentNodeIsContaining && computedStyle.position === "fixed") {
290
+ currentContainingBlockComputedStyle = null;
291
+ }
292
+ const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === "static" && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);
293
+ if (shouldDropCurrentNode) {
294
+ result = result.filter((ancestor) => ancestor !== currentNode);
295
+ } else {
296
+ currentContainingBlockComputedStyle = computedStyle;
297
+ }
298
+ currentNode = getParentNode(currentNode);
299
+ }
300
+ cache.set(element, result);
301
+ return result;
302
+ }
303
+ function getClippingRect(_ref) {
304
+ let {
305
+ element,
306
+ boundary,
307
+ rootBoundary,
308
+ strategy
309
+ } = _ref;
310
+ const elementClippingAncestors = boundary === "clippingAncestors" ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);
311
+ const clippingAncestors = [...elementClippingAncestors, rootBoundary];
312
+ const firstClippingAncestor = clippingAncestors[0];
313
+ const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {
314
+ const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);
315
+ accRect.top = max(rect.top, accRect.top);
316
+ accRect.right = min(rect.right, accRect.right);
317
+ accRect.bottom = min(rect.bottom, accRect.bottom);
318
+ accRect.left = max(rect.left, accRect.left);
319
+ return accRect;
320
+ }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));
321
+ return {
322
+ width: clippingRect.right - clippingRect.left,
323
+ height: clippingRect.bottom - clippingRect.top,
324
+ x: clippingRect.left,
325
+ y: clippingRect.top
326
+ };
327
+ }
328
+ function getDimensions(element) {
329
+ const {
330
+ width,
331
+ height
332
+ } = getCssDimensions(element);
333
+ return {
334
+ width,
335
+ height
336
+ };
337
+ }
338
+ function getRectRelativeToOffsetParent(element, offsetParent, strategy) {
339
+ const isOffsetParentAnElement = isHTMLElement(offsetParent);
340
+ const documentElement = getDocumentElement(offsetParent);
341
+ const isFixed = strategy === "fixed";
342
+ const rect = getBoundingClientRect(element, true, isFixed, offsetParent);
343
+ let scroll = {
344
+ scrollLeft: 0,
345
+ scrollTop: 0
346
+ };
347
+ const offsets = createCoords(0);
348
+ function setLeftRTLScrollbarOffset() {
349
+ offsets.x = getWindowScrollBarX(documentElement);
350
+ }
351
+ if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {
352
+ if (getNodeName(offsetParent) !== "body" || isOverflowElement(documentElement)) {
353
+ scroll = getNodeScroll(offsetParent);
354
+ }
355
+ if (isOffsetParentAnElement) {
356
+ const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);
357
+ offsets.x = offsetRect.x + offsetParent.clientLeft;
358
+ offsets.y = offsetRect.y + offsetParent.clientTop;
359
+ } else if (documentElement) {
360
+ setLeftRTLScrollbarOffset();
361
+ }
362
+ }
363
+ if (isFixed && !isOffsetParentAnElement && documentElement) {
364
+ setLeftRTLScrollbarOffset();
365
+ }
366
+ const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);
367
+ const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;
368
+ const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;
369
+ return {
370
+ x,
371
+ y,
372
+ width: rect.width,
373
+ height: rect.height
374
+ };
375
+ }
376
+ function isStaticPositioned(element) {
377
+ return getComputedStyle$1(element).position === "static";
378
+ }
379
+ function getTrueOffsetParent(element, polyfill) {
380
+ if (!isHTMLElement(element) || getComputedStyle$1(element).position === "fixed") {
381
+ return null;
382
+ }
383
+ if (polyfill) {
384
+ return polyfill(element);
385
+ }
386
+ let rawOffsetParent = element.offsetParent;
387
+ if (getDocumentElement(element) === rawOffsetParent) {
388
+ rawOffsetParent = rawOffsetParent.ownerDocument.body;
389
+ }
390
+ return rawOffsetParent;
391
+ }
392
+ function getOffsetParent(element, polyfill) {
393
+ const win = getWindow(element);
394
+ if (isTopLayer(element)) {
395
+ return win;
396
+ }
397
+ if (!isHTMLElement(element)) {
398
+ let svgOffsetParent = getParentNode(element);
399
+ while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {
400
+ if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {
401
+ return svgOffsetParent;
402
+ }
403
+ svgOffsetParent = getParentNode(svgOffsetParent);
404
+ }
405
+ return win;
406
+ }
407
+ let offsetParent = getTrueOffsetParent(element, polyfill);
408
+ while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {
409
+ offsetParent = getTrueOffsetParent(offsetParent, polyfill);
410
+ }
411
+ if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {
412
+ return win;
413
+ }
414
+ return offsetParent || getContainingBlock(element) || win;
415
+ }
416
+ const getElementRects = async function(data) {
417
+ const getOffsetParentFn = this.getOffsetParent || getOffsetParent;
418
+ const getDimensionsFn = this.getDimensions;
419
+ const floatingDimensions = await getDimensionsFn(data.floating);
420
+ return {
421
+ reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),
422
+ floating: {
423
+ x: 0,
424
+ y: 0,
425
+ width: floatingDimensions.width,
426
+ height: floatingDimensions.height
427
+ }
428
+ };
429
+ };
430
+ function isRTL(element) {
431
+ return getComputedStyle$1(element).direction === "rtl";
432
+ }
433
+ const platform = {
434
+ convertOffsetParentRelativeRectToViewportRelativeRect,
435
+ getDocumentElement,
436
+ getClippingRect,
437
+ getOffsetParent,
438
+ getElementRects,
439
+ getClientRects,
440
+ getDimensions,
441
+ getScale,
442
+ isElement,
443
+ isRTL
444
+ };
445
+ function rectsAreEqual(a, b) {
446
+ return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;
447
+ }
448
+ function observeMove(element, onMove) {
449
+ let io = null;
450
+ let timeoutId;
451
+ const root = getDocumentElement(element);
452
+ function cleanup() {
453
+ var _io;
454
+ clearTimeout(timeoutId);
455
+ (_io = io) == null || _io.disconnect();
456
+ io = null;
457
+ }
458
+ function refresh(skip, threshold) {
459
+ if (skip === void 0) {
460
+ skip = false;
461
+ }
462
+ if (threshold === void 0) {
463
+ threshold = 1;
464
+ }
465
+ cleanup();
466
+ const elementRectForRootMargin = element.getBoundingClientRect();
467
+ const {
468
+ left,
469
+ top,
470
+ width,
471
+ height
472
+ } = elementRectForRootMargin;
473
+ if (!skip) {
474
+ onMove();
475
+ }
476
+ if (!width || !height) {
477
+ return;
478
+ }
479
+ const insetTop = floor(top);
480
+ const insetRight = floor(root.clientWidth - (left + width));
481
+ const insetBottom = floor(root.clientHeight - (top + height));
482
+ const insetLeft = floor(left);
483
+ const rootMargin = -insetTop + "px " + -insetRight + "px " + -insetBottom + "px " + -insetLeft + "px";
484
+ const options = {
485
+ rootMargin,
486
+ threshold: max(0, min(1, threshold)) || 1
487
+ };
488
+ let isFirstUpdate = true;
489
+ function handleObserve(entries) {
490
+ const ratio = entries[0].intersectionRatio;
491
+ if (ratio !== threshold) {
492
+ if (!isFirstUpdate) {
493
+ return refresh();
494
+ }
495
+ if (!ratio) {
496
+ timeoutId = setTimeout(() => {
497
+ refresh(false, 1e-7);
498
+ }, 1e3);
499
+ } else {
500
+ refresh(false, ratio);
501
+ }
502
+ }
503
+ if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {
504
+ refresh();
505
+ }
506
+ isFirstUpdate = false;
507
+ }
508
+ try {
509
+ io = new IntersectionObserver(handleObserve, {
510
+ ...options,
511
+ // Handle <iframe>s
512
+ root: root.ownerDocument
513
+ });
514
+ } catch (_e) {
515
+ io = new IntersectionObserver(handleObserve, options);
516
+ }
517
+ io.observe(element);
518
+ }
519
+ refresh(true);
520
+ return cleanup;
521
+ }
522
+ function autoUpdate(reference, floating, update, options) {
523
+ if (options === void 0) {
524
+ options = {};
525
+ }
526
+ const {
527
+ ancestorScroll = true,
528
+ ancestorResize = true,
529
+ elementResize = typeof ResizeObserver === "function",
530
+ layoutShift = typeof IntersectionObserver === "function",
531
+ animationFrame = false
532
+ } = options;
533
+ const referenceEl = unwrapElement(reference);
534
+ const ancestors = ancestorScroll || ancestorResize ? [...referenceEl ? getOverflowAncestors(referenceEl) : [], ...getOverflowAncestors(floating)] : [];
535
+ ancestors.forEach((ancestor) => {
536
+ ancestorScroll && ancestor.addEventListener("scroll", update, {
537
+ passive: true
538
+ });
539
+ ancestorResize && ancestor.addEventListener("resize", update);
540
+ });
541
+ const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;
542
+ let reobserveFrame = -1;
543
+ let resizeObserver = null;
544
+ if (elementResize) {
545
+ resizeObserver = new ResizeObserver((_ref) => {
546
+ let [firstEntry] = _ref;
547
+ if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {
548
+ resizeObserver.unobserve(floating);
549
+ cancelAnimationFrame(reobserveFrame);
550
+ reobserveFrame = requestAnimationFrame(() => {
551
+ var _resizeObserver;
552
+ (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);
553
+ });
554
+ }
555
+ update();
556
+ });
557
+ if (referenceEl && !animationFrame) {
558
+ resizeObserver.observe(referenceEl);
559
+ }
560
+ resizeObserver.observe(floating);
561
+ }
562
+ let frameId;
563
+ let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;
564
+ if (animationFrame) {
565
+ frameLoop();
566
+ }
567
+ function frameLoop() {
568
+ const nextRefRect = getBoundingClientRect(reference);
569
+ if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {
570
+ update();
571
+ }
572
+ prevRefRect = nextRefRect;
573
+ frameId = requestAnimationFrame(frameLoop);
574
+ }
575
+ update();
576
+ return () => {
577
+ var _resizeObserver2;
578
+ ancestors.forEach((ancestor) => {
579
+ ancestorScroll && ancestor.removeEventListener("scroll", update);
580
+ ancestorResize && ancestor.removeEventListener("resize", update);
581
+ });
582
+ cleanupIo == null || cleanupIo();
583
+ (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();
584
+ resizeObserver = null;
585
+ if (animationFrame) {
586
+ cancelAnimationFrame(frameId);
587
+ }
588
+ };
589
+ }
590
+ const offset = offset$1;
591
+ const shift = shift$1;
592
+ const flip = flip$1;
593
+ const size = size$1;
594
+ const hide = hide$1;
595
+ const arrow = arrow$1;
596
+ const limitShift = limitShift$1;
597
+ const computePosition = (reference, floating, options) => {
598
+ const cache = /* @__PURE__ */ new Map();
599
+ const mergedOptions = {
600
+ platform,
601
+ ...options
602
+ };
603
+ const platformWithCache = {
604
+ ...mergedOptions.platform,
605
+ _c: cache
606
+ };
607
+ return computePosition$1(reference, floating, {
608
+ ...mergedOptions,
609
+ platform: platformWithCache
610
+ });
611
+ };
612
+ export {
613
+ size as a,
614
+ arrow as b,
615
+ computePosition as c,
616
+ autoUpdate as d,
617
+ flip as f,
618
+ hide as h,
619
+ limitShift as l,
620
+ offset as o,
621
+ shift as s
622
+ };