convex-cms 0.0.2 → 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 (265) hide show
  1. package/admin-dist/nitro.json +15 -0
  2. package/admin-dist/public/assets/CmsEmptyState-CRswfTzk.js +5 -0
  3. package/admin-dist/public/assets/CmsPageHeader-CirpXndm.js +1 -0
  4. package/admin-dist/public/assets/CmsStatusBadge-CbEUpQu-.js +1 -0
  5. package/admin-dist/public/assets/CmsToolbar-BI2nZOXp.js +1 -0
  6. package/admin-dist/public/assets/ContentEntryEditor-CBeCyK_m.js +4 -0
  7. package/admin-dist/public/assets/ErrorState-BIVaWmom.js +1 -0
  8. package/admin-dist/public/assets/TaxonomyFilter-ChaY6Y_x.js +1 -0
  9. package/admin-dist/public/assets/_contentTypeId-DQ8k_Rvw.js +1 -0
  10. package/admin-dist/public/assets/_entryId-CKU_glsK.js +1 -0
  11. package/admin-dist/public/assets/alert-BXjTqrwQ.js +1 -0
  12. package/admin-dist/public/assets/badge-hvUOzpVZ.js +1 -0
  13. package/admin-dist/public/assets/circle-check-big-CF_pR17r.js +1 -0
  14. package/admin-dist/public/assets/command-DU82cJlt.js +1 -0
  15. package/admin-dist/public/assets/content-_LXl3pp7.js +1 -0
  16. package/admin-dist/public/assets/content-types-KjxaXGxY.js +2 -0
  17. package/admin-dist/public/assets/globals-CS6BZ0zp.css +1 -0
  18. package/admin-dist/public/assets/index-DNGIZHL-.js +1 -0
  19. package/admin-dist/public/assets/label-KNtpL71g.js +1 -0
  20. package/admin-dist/public/assets/link-2-Bw2aI4V4.js +1 -0
  21. package/admin-dist/public/assets/list-sYepHjt_.js +1 -0
  22. package/admin-dist/public/assets/main-CKj5yfEi.js +97 -0
  23. package/admin-dist/public/assets/media-Bkrkffm7.js +1 -0
  24. package/admin-dist/public/assets/new._contentTypeId-C3LstjNs.js +1 -0
  25. package/admin-dist/public/assets/plus-DUn8v_Xf.js +1 -0
  26. package/admin-dist/public/assets/rotate-ccw-DJEoHcRI.js +1 -0
  27. package/admin-dist/public/assets/scroll-area-DfIlT0in.js +1 -0
  28. package/admin-dist/public/assets/search-MuAUDJKR.js +1 -0
  29. package/admin-dist/public/assets/select-BD29IXCI.js +1 -0
  30. package/admin-dist/public/assets/settings-DmMyn_6A.js +1 -0
  31. package/admin-dist/public/assets/switch-h3Rrnl5i.js +1 -0
  32. package/admin-dist/public/assets/tabs-imc8h-Dp.js +1 -0
  33. package/admin-dist/public/assets/taxonomies-dAsrT65H.js +1 -0
  34. package/admin-dist/public/assets/textarea-BTy7nwzR.js +1 -0
  35. package/admin-dist/public/assets/trash-SAWKZZHv.js +1 -0
  36. package/admin-dist/public/assets/triangle-alert-E52Vfeuh.js +1 -0
  37. package/admin-dist/public/assets/useBreadcrumbLabel-BECBMCzM.js +1 -0
  38. package/admin-dist/public/assets/usePermissions-Basjs9BT.js +1 -0
  39. package/admin-dist/public/favicon.ico +0 -0
  40. package/admin-dist/server/_chunks/_libs/@date-fns/tz.mjs +217 -0
  41. package/admin-dist/server/_chunks/_libs/@floating-ui/core.mjs +719 -0
  42. package/admin-dist/server/_chunks/_libs/@floating-ui/dom.mjs +622 -0
  43. package/admin-dist/server/_chunks/_libs/@floating-ui/react-dom.mjs +292 -0
  44. package/admin-dist/server/_chunks/_libs/@floating-ui/utils.mjs +320 -0
  45. package/admin-dist/server/_chunks/_libs/@radix-ui/number.mjs +6 -0
  46. package/admin-dist/server/_chunks/_libs/@radix-ui/primitive.mjs +11 -0
  47. package/admin-dist/server/_chunks/_libs/@radix-ui/react-arrow.mjs +23 -0
  48. package/admin-dist/server/_chunks/_libs/@radix-ui/react-avatar.mjs +119 -0
  49. package/admin-dist/server/_chunks/_libs/@radix-ui/react-checkbox.mjs +270 -0
  50. package/admin-dist/server/_chunks/_libs/@radix-ui/react-collection.mjs +69 -0
  51. package/admin-dist/server/_chunks/_libs/@radix-ui/react-compose-refs.mjs +39 -0
  52. package/admin-dist/server/_chunks/_libs/@radix-ui/react-context.mjs +137 -0
  53. package/admin-dist/server/_chunks/_libs/@radix-ui/react-dialog.mjs +325 -0
  54. package/admin-dist/server/_chunks/_libs/@radix-ui/react-direction.mjs +9 -0
  55. package/admin-dist/server/_chunks/_libs/@radix-ui/react-dismissable-layer.mjs +210 -0
  56. package/admin-dist/server/_chunks/_libs/@radix-ui/react-dropdown-menu.mjs +253 -0
  57. package/admin-dist/server/_chunks/_libs/@radix-ui/react-focus-guards.mjs +29 -0
  58. package/admin-dist/server/_chunks/_libs/@radix-ui/react-focus-scope.mjs +206 -0
  59. package/admin-dist/server/_chunks/_libs/@radix-ui/react-id.mjs +14 -0
  60. package/admin-dist/server/_chunks/_libs/@radix-ui/react-label.mjs +23 -0
  61. package/admin-dist/server/_chunks/_libs/@radix-ui/react-menu.mjs +812 -0
  62. package/admin-dist/server/_chunks/_libs/@radix-ui/react-popover.mjs +300 -0
  63. package/admin-dist/server/_chunks/_libs/@radix-ui/react-popper.mjs +286 -0
  64. package/admin-dist/server/_chunks/_libs/@radix-ui/react-portal.mjs +16 -0
  65. package/admin-dist/server/_chunks/_libs/@radix-ui/react-presence.mjs +128 -0
  66. package/admin-dist/server/_chunks/_libs/@radix-ui/react-primitive.mjs +141 -0
  67. package/admin-dist/server/_chunks/_libs/@radix-ui/react-roving-focus.mjs +224 -0
  68. package/admin-dist/server/_chunks/_libs/@radix-ui/react-scroll-area.mjs +721 -0
  69. package/admin-dist/server/_chunks/_libs/@radix-ui/react-select.mjs +1163 -0
  70. package/admin-dist/server/_chunks/_libs/@radix-ui/react-separator.mjs +28 -0
  71. package/admin-dist/server/_chunks/_libs/@radix-ui/react-slot.mjs +601 -0
  72. package/admin-dist/server/_chunks/_libs/@radix-ui/react-switch.mjs +152 -0
  73. package/admin-dist/server/_chunks/_libs/@radix-ui/react-tabs.mjs +189 -0
  74. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-callback-ref.mjs +11 -0
  75. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-controllable-state.mjs +69 -0
  76. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-effect-event.mjs +1 -0
  77. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-escape-keydown.mjs +17 -0
  78. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-is-hydrated.mjs +15 -0
  79. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-layout-effect.mjs +6 -0
  80. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-previous.mjs +14 -0
  81. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-size.mjs +39 -0
  82. package/admin-dist/server/_chunks/_libs/@radix-ui/react-visually-hidden.mjs +33 -0
  83. package/admin-dist/server/_chunks/_libs/@tanstack/history.mjs +409 -0
  84. package/admin-dist/server/_chunks/_libs/@tanstack/react-router.mjs +1711 -0
  85. package/admin-dist/server/_chunks/_libs/@tanstack/react-store.mjs +56 -0
  86. package/admin-dist/server/_chunks/_libs/@tanstack/router-core.mjs +4829 -0
  87. package/admin-dist/server/_chunks/_libs/@tanstack/store.mjs +134 -0
  88. package/admin-dist/server/_chunks/_libs/react-dom.mjs +10781 -0
  89. package/admin-dist/server/_chunks/_libs/react.mjs +513 -0
  90. package/admin-dist/server/_libs/aria-hidden.mjs +122 -0
  91. package/admin-dist/server/_libs/class-variance-authority.mjs +44 -0
  92. package/admin-dist/server/_libs/clsx.mjs +16 -0
  93. package/admin-dist/server/_libs/cmdk.mjs +315 -0
  94. package/admin-dist/server/_libs/convex.mjs +4841 -0
  95. package/admin-dist/server/_libs/cookie-es.mjs +58 -0
  96. package/admin-dist/server/_libs/croner.mjs +1 -0
  97. package/admin-dist/server/_libs/crossws.mjs +1 -0
  98. package/admin-dist/server/_libs/date-fns.mjs +1716 -0
  99. package/admin-dist/server/_libs/detect-node-es.mjs +1 -0
  100. package/admin-dist/server/_libs/get-nonce.mjs +9 -0
  101. package/admin-dist/server/_libs/h3-v2.mjs +277 -0
  102. package/admin-dist/server/_libs/h3.mjs +401 -0
  103. package/admin-dist/server/_libs/hookable.mjs +1 -0
  104. package/admin-dist/server/_libs/isbot.mjs +20 -0
  105. package/admin-dist/server/_libs/lucide-react.mjs +850 -0
  106. package/admin-dist/server/_libs/ohash.mjs +1 -0
  107. package/admin-dist/server/_libs/react-day-picker.mjs +2201 -0
  108. package/admin-dist/server/_libs/react-remove-scroll-bar.mjs +82 -0
  109. package/admin-dist/server/_libs/react-remove-scroll.mjs +328 -0
  110. package/admin-dist/server/_libs/react-style-singleton.mjs +69 -0
  111. package/admin-dist/server/_libs/rou3.mjs +8 -0
  112. package/admin-dist/server/_libs/seroval-plugins.mjs +58 -0
  113. package/admin-dist/server/_libs/seroval.mjs +1765 -0
  114. package/admin-dist/server/_libs/srvx.mjs +719 -0
  115. package/admin-dist/server/_libs/tailwind-merge.mjs +3010 -0
  116. package/admin-dist/server/_libs/tiny-invariant.mjs +12 -0
  117. package/admin-dist/server/_libs/tiny-warning.mjs +5 -0
  118. package/admin-dist/server/_libs/tslib.mjs +39 -0
  119. package/admin-dist/server/_libs/ufo.mjs +54 -0
  120. package/admin-dist/server/_libs/unctx.mjs +1 -0
  121. package/admin-dist/server/_libs/unstorage.mjs +1 -0
  122. package/admin-dist/server/_libs/use-callback-ref.mjs +66 -0
  123. package/admin-dist/server/_libs/use-sidecar.mjs +106 -0
  124. package/admin-dist/server/_libs/use-sync-external-store.mjs +139 -0
  125. package/admin-dist/server/_libs/zod.mjs +4223 -0
  126. package/admin-dist/server/_ssr/CmsEmptyState-DU7-7-mV.mjs +290 -0
  127. package/admin-dist/server/_ssr/CmsPageHeader-CseW0AHm.mjs +24 -0
  128. package/admin-dist/server/_ssr/CmsStatusBadge-B_pi4KCp.mjs +127 -0
  129. package/admin-dist/server/_ssr/CmsToolbar-X75ex6ek.mjs +49 -0
  130. package/admin-dist/server/_ssr/ContentEntryEditor-CepusRsA.mjs +3720 -0
  131. package/admin-dist/server/_ssr/ErrorState-cI-bKLez.mjs +89 -0
  132. package/admin-dist/server/_ssr/TaxonomyFilter-Bwrq0-cz.mjs +188 -0
  133. package/admin-dist/server/_ssr/_contentTypeId-BqYKEcLr.mjs +379 -0
  134. package/admin-dist/server/_ssr/_entryId-CRfnqeDf.mjs +161 -0
  135. package/admin-dist/server/_ssr/_tanstack-start-manifest_v-BwDlABVk.mjs +4 -0
  136. package/admin-dist/server/_ssr/alert-CVt45UUP.mjs +92 -0
  137. package/admin-dist/server/_ssr/badge-6BsP37vG.mjs +125 -0
  138. package/admin-dist/server/_ssr/command-fy8epIKf.mjs +128 -0
  139. package/admin-dist/server/_ssr/config.server-D7JHDcDv.mjs +117 -0
  140. package/admin-dist/server/_ssr/content-B5RhL7uW.mjs +532 -0
  141. package/admin-dist/server/_ssr/content-types-BIOqCQYN.mjs +1166 -0
  142. package/admin-dist/server/_ssr/index-DHSHDPt1.mjs +193 -0
  143. package/admin-dist/server/_ssr/index.mjs +1275 -0
  144. package/admin-dist/server/_ssr/label-C8Dko1j7.mjs +22 -0
  145. package/admin-dist/server/_ssr/media-CSx3XttC.mjs +1832 -0
  146. package/admin-dist/server/_ssr/new._contentTypeId-DzanEZQM.mjs +144 -0
  147. package/admin-dist/server/_ssr/router-DDWcF-kt.mjs +1556 -0
  148. package/admin-dist/server/_ssr/scroll-area-bjPYwhXN.mjs +59 -0
  149. package/admin-dist/server/_ssr/select-BUhDDf4T.mjs +142 -0
  150. package/admin-dist/server/_ssr/settings-DAsxnw2q.mjs +348 -0
  151. package/admin-dist/server/_ssr/start-HYkvq4Ni.mjs +4 -0
  152. package/admin-dist/server/_ssr/switch-BgyRtQ1Z.mjs +31 -0
  153. package/admin-dist/server/_ssr/tabs-DzMdRB1A.mjs +628 -0
  154. package/admin-dist/server/_ssr/taxonomies-C8j8g5Q5.mjs +915 -0
  155. package/admin-dist/server/_ssr/textarea-9jNeYJSc.mjs +18 -0
  156. package/admin-dist/server/_ssr/trash-DYMxwhZB.mjs +291 -0
  157. package/admin-dist/server/_ssr/useBreadcrumbLabel-FNSAr2Ha.mjs +16 -0
  158. package/admin-dist/server/_ssr/usePermissions-BJGGahrJ.mjs +68 -0
  159. package/admin-dist/server/favicon.ico +0 -0
  160. package/admin-dist/server/index.mjs +627 -0
  161. package/dist/cli/index.js +0 -0
  162. package/dist/client/admin-config.d.ts +0 -1
  163. package/dist/client/admin-config.d.ts.map +1 -1
  164. package/dist/client/admin-config.js +0 -1
  165. package/dist/client/admin-config.js.map +1 -1
  166. package/dist/client/adminApi.d.ts.map +1 -1
  167. package/dist/client/agentTools.d.ts +1237 -135
  168. package/dist/client/agentTools.d.ts.map +1 -1
  169. package/dist/client/agentTools.js +33 -9
  170. package/dist/client/agentTools.js.map +1 -1
  171. package/dist/client/index.d.ts +1 -1
  172. package/dist/client/index.d.ts.map +1 -1
  173. package/dist/client/index.js.map +1 -1
  174. package/dist/component/_generated/component.d.ts +9 -0
  175. package/dist/component/_generated/component.d.ts.map +1 -1
  176. package/dist/component/mediaAssets.d.ts +35 -0
  177. package/dist/component/mediaAssets.d.ts.map +1 -1
  178. package/dist/component/mediaAssets.js +81 -0
  179. package/dist/component/mediaAssets.js.map +1 -1
  180. package/dist/test.d.ts.map +1 -1
  181. package/dist/test.js +2 -1
  182. package/dist/test.js.map +1 -1
  183. package/package.json +9 -5
  184. package/dist/component/auditLog.d.ts +0 -410
  185. package/dist/component/auditLog.d.ts.map +0 -1
  186. package/dist/component/auditLog.js +0 -607
  187. package/dist/component/auditLog.js.map +0 -1
  188. package/dist/component/types.d.ts +0 -4
  189. package/dist/component/types.d.ts.map +0 -1
  190. package/dist/component/types.js +0 -2
  191. package/dist/component/types.js.map +0 -1
  192. package/src/cli/commands/admin.ts +0 -104
  193. package/src/cli/index.ts +0 -21
  194. package/src/cli/utils/detectConvexUrl.ts +0 -54
  195. package/src/cli/utils/openBrowser.ts +0 -16
  196. package/src/client/admin-config.ts +0 -138
  197. package/src/client/adminApi.ts +0 -942
  198. package/src/client/agentTools.ts +0 -1311
  199. package/src/client/argTypes.ts +0 -316
  200. package/src/client/field-types.ts +0 -187
  201. package/src/client/index.ts +0 -1301
  202. package/src/client/queryBuilder.ts +0 -1100
  203. package/src/client/schema/codegen.ts +0 -500
  204. package/src/client/schema/defineContentType.ts +0 -501
  205. package/src/client/schema/index.ts +0 -169
  206. package/src/client/schema/schemaDrift.ts +0 -574
  207. package/src/client/schema/typedClient.ts +0 -688
  208. package/src/client/schema/types.ts +0 -666
  209. package/src/client/types.ts +0 -723
  210. package/src/client/workflows.ts +0 -141
  211. package/src/client/wrapper.ts +0 -4304
  212. package/src/component/_generated/api.ts +0 -140
  213. package/src/component/_generated/component.ts +0 -5029
  214. package/src/component/_generated/dataModel.ts +0 -60
  215. package/src/component/_generated/server.ts +0 -156
  216. package/src/component/authorization.ts +0 -647
  217. package/src/component/authorizationHooks.ts +0 -668
  218. package/src/component/bulkOperations.ts +0 -687
  219. package/src/component/contentEntries.ts +0 -1976
  220. package/src/component/contentEntryMutations.ts +0 -1223
  221. package/src/component/contentEntryValidation.ts +0 -707
  222. package/src/component/contentLock.ts +0 -550
  223. package/src/component/contentTypeMigration.ts +0 -1064
  224. package/src/component/contentTypeMutations.ts +0 -969
  225. package/src/component/contentTypes.ts +0 -346
  226. package/src/component/convex.config.ts +0 -44
  227. package/src/component/documentTypes.ts +0 -240
  228. package/src/component/eventEmitter.ts +0 -485
  229. package/src/component/exportImport.ts +0 -1169
  230. package/src/component/index.ts +0 -491
  231. package/src/component/lib/deepReferenceResolver.ts +0 -999
  232. package/src/component/lib/errors.ts +0 -816
  233. package/src/component/lib/index.ts +0 -145
  234. package/src/component/lib/mediaReferenceResolver.ts +0 -495
  235. package/src/component/lib/metadataExtractor.ts +0 -792
  236. package/src/component/lib/mutationAuth.ts +0 -199
  237. package/src/component/lib/queries.ts +0 -79
  238. package/src/component/lib/ragContentChunker.ts +0 -1371
  239. package/src/component/lib/referenceResolver.ts +0 -430
  240. package/src/component/lib/slugGenerator.ts +0 -262
  241. package/src/component/lib/slugUniqueness.ts +0 -333
  242. package/src/component/lib/softDelete.ts +0 -44
  243. package/src/component/localeFallbackChain.ts +0 -673
  244. package/src/component/localeFields.ts +0 -896
  245. package/src/component/mediaAssetMutations.ts +0 -725
  246. package/src/component/mediaAssets.ts +0 -932
  247. package/src/component/mediaFolderMutations.ts +0 -1046
  248. package/src/component/mediaUploadMutations.ts +0 -224
  249. package/src/component/mediaVariantMutations.ts +0 -900
  250. package/src/component/mediaVariants.ts +0 -793
  251. package/src/component/ragContentIndexer.ts +0 -1067
  252. package/src/component/rateLimitHooks.ts +0 -572
  253. package/src/component/roles.ts +0 -1360
  254. package/src/component/scheduledPublish.ts +0 -358
  255. package/src/component/schema.ts +0 -617
  256. package/src/component/taxonomies.ts +0 -949
  257. package/src/component/taxonomyMutations.ts +0 -1210
  258. package/src/component/trash.ts +0 -724
  259. package/src/component/userContext.ts +0 -898
  260. package/src/component/validation.ts +0 -1388
  261. package/src/component/validators.ts +0 -949
  262. package/src/component/versionMutations.ts +0 -392
  263. package/src/component/webhookTrigger.ts +0 -1922
  264. package/src/react/index.ts +0 -898
  265. package/src/test.ts +0 -1580
@@ -0,0 +1,300 @@
1
+ import { r as reactExports, j as jsxRuntimeExports } from "../react.mjs";
2
+ import { c as composeEventHandlers } from "./primitive.mjs";
3
+ import { u as useComposedRefs } from "./react-compose-refs.mjs";
4
+ import { c as createContextScope } from "./react-context.mjs";
5
+ import { D as DismissableLayer } from "./react-dismissable-layer.mjs";
6
+ import { u as useFocusGuards } from "./react-focus-guards.mjs";
7
+ import { F as FocusScope } from "./react-focus-scope.mjs";
8
+ import { u as useId } from "./react-id.mjs";
9
+ import { R as Root2$1, A as Anchor, c as createPopperScope, C as Content, a as Arrow } from "./react-popper.mjs";
10
+ import { P as Portal$1 } from "./react-portal.mjs";
11
+ import { P as Presence } from "./react-presence.mjs";
12
+ import { P as Primitive } from "./react-primitive.mjs";
13
+ import { e as createSlot } from "./react-slot.mjs";
14
+ import { u as useControllableState } from "./react-use-controllable-state.mjs";
15
+ import { h as hideOthers } from "../../../_libs/aria-hidden.mjs";
16
+ import { R as ReactRemoveScroll } from "../../../_libs/react-remove-scroll.mjs";
17
+ var POPOVER_NAME = "Popover";
18
+ var [createPopoverContext] = createContextScope(POPOVER_NAME, [
19
+ createPopperScope
20
+ ]);
21
+ var usePopperScope = createPopperScope();
22
+ var [PopoverProvider, usePopoverContext] = createPopoverContext(POPOVER_NAME);
23
+ var Popover = (props) => {
24
+ const {
25
+ __scopePopover,
26
+ children,
27
+ open: openProp,
28
+ defaultOpen,
29
+ onOpenChange,
30
+ modal = false
31
+ } = props;
32
+ const popperScope = usePopperScope(__scopePopover);
33
+ const triggerRef = reactExports.useRef(null);
34
+ const [hasCustomAnchor, setHasCustomAnchor] = reactExports.useState(false);
35
+ const [open, setOpen] = useControllableState({
36
+ prop: openProp,
37
+ defaultProp: defaultOpen ?? false,
38
+ onChange: onOpenChange,
39
+ caller: POPOVER_NAME
40
+ });
41
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Root2$1, { ...popperScope, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
42
+ PopoverProvider,
43
+ {
44
+ scope: __scopePopover,
45
+ contentId: useId(),
46
+ triggerRef,
47
+ open,
48
+ onOpenChange: setOpen,
49
+ onOpenToggle: reactExports.useCallback(() => setOpen((prevOpen) => !prevOpen), [setOpen]),
50
+ hasCustomAnchor,
51
+ onCustomAnchorAdd: reactExports.useCallback(() => setHasCustomAnchor(true), []),
52
+ onCustomAnchorRemove: reactExports.useCallback(() => setHasCustomAnchor(false), []),
53
+ modal,
54
+ children
55
+ }
56
+ ) });
57
+ };
58
+ Popover.displayName = POPOVER_NAME;
59
+ var ANCHOR_NAME = "PopoverAnchor";
60
+ var PopoverAnchor = reactExports.forwardRef(
61
+ (props, forwardedRef) => {
62
+ const { __scopePopover, ...anchorProps } = props;
63
+ const context = usePopoverContext(ANCHOR_NAME, __scopePopover);
64
+ const popperScope = usePopperScope(__scopePopover);
65
+ const { onCustomAnchorAdd, onCustomAnchorRemove } = context;
66
+ reactExports.useEffect(() => {
67
+ onCustomAnchorAdd();
68
+ return () => onCustomAnchorRemove();
69
+ }, [onCustomAnchorAdd, onCustomAnchorRemove]);
70
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Anchor, { ...popperScope, ...anchorProps, ref: forwardedRef });
71
+ }
72
+ );
73
+ PopoverAnchor.displayName = ANCHOR_NAME;
74
+ var TRIGGER_NAME = "PopoverTrigger";
75
+ var PopoverTrigger = reactExports.forwardRef(
76
+ (props, forwardedRef) => {
77
+ const { __scopePopover, ...triggerProps } = props;
78
+ const context = usePopoverContext(TRIGGER_NAME, __scopePopover);
79
+ const popperScope = usePopperScope(__scopePopover);
80
+ const composedTriggerRef = useComposedRefs(forwardedRef, context.triggerRef);
81
+ const trigger = /* @__PURE__ */ jsxRuntimeExports.jsx(
82
+ Primitive.button,
83
+ {
84
+ type: "button",
85
+ "aria-haspopup": "dialog",
86
+ "aria-expanded": context.open,
87
+ "aria-controls": context.contentId,
88
+ "data-state": getState(context.open),
89
+ ...triggerProps,
90
+ ref: composedTriggerRef,
91
+ onClick: composeEventHandlers(props.onClick, context.onOpenToggle)
92
+ }
93
+ );
94
+ return context.hasCustomAnchor ? trigger : /* @__PURE__ */ jsxRuntimeExports.jsx(Anchor, { asChild: true, ...popperScope, children: trigger });
95
+ }
96
+ );
97
+ PopoverTrigger.displayName = TRIGGER_NAME;
98
+ var PORTAL_NAME = "PopoverPortal";
99
+ var [PortalProvider, usePortalContext] = createPopoverContext(PORTAL_NAME, {
100
+ forceMount: void 0
101
+ });
102
+ var PopoverPortal = (props) => {
103
+ const { __scopePopover, forceMount, children, container } = props;
104
+ const context = usePopoverContext(PORTAL_NAME, __scopePopover);
105
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(PortalProvider, { scope: __scopePopover, forceMount, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsxRuntimeExports.jsx(Portal$1, { asChild: true, container, children }) }) });
106
+ };
107
+ PopoverPortal.displayName = PORTAL_NAME;
108
+ var CONTENT_NAME = "PopoverContent";
109
+ var PopoverContent = reactExports.forwardRef(
110
+ (props, forwardedRef) => {
111
+ const portalContext = usePortalContext(CONTENT_NAME, props.__scopePopover);
112
+ const { forceMount = portalContext.forceMount, ...contentProps } = props;
113
+ const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
114
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Presence, { present: forceMount || context.open, children: context.modal ? /* @__PURE__ */ jsxRuntimeExports.jsx(PopoverContentModal, { ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsxRuntimeExports.jsx(PopoverContentNonModal, { ...contentProps, ref: forwardedRef }) });
115
+ }
116
+ );
117
+ PopoverContent.displayName = CONTENT_NAME;
118
+ var Slot = createSlot("PopoverContent.RemoveScroll");
119
+ var PopoverContentModal = reactExports.forwardRef(
120
+ (props, forwardedRef) => {
121
+ const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
122
+ const contentRef = reactExports.useRef(null);
123
+ const composedRefs = useComposedRefs(forwardedRef, contentRef);
124
+ const isRightClickOutsideRef = reactExports.useRef(false);
125
+ reactExports.useEffect(() => {
126
+ const content = contentRef.current;
127
+ if (content) return hideOthers(content);
128
+ }, []);
129
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(ReactRemoveScroll, { as: Slot, allowPinchZoom: true, children: /* @__PURE__ */ jsxRuntimeExports.jsx(
130
+ PopoverContentImpl,
131
+ {
132
+ ...props,
133
+ ref: composedRefs,
134
+ trapFocus: context.open,
135
+ disableOutsidePointerEvents: true,
136
+ onCloseAutoFocus: composeEventHandlers(props.onCloseAutoFocus, (event) => {
137
+ event.preventDefault();
138
+ if (!isRightClickOutsideRef.current) context.triggerRef.current?.focus();
139
+ }),
140
+ onPointerDownOutside: composeEventHandlers(
141
+ props.onPointerDownOutside,
142
+ (event) => {
143
+ const originalEvent = event.detail.originalEvent;
144
+ const ctrlLeftClick = originalEvent.button === 0 && originalEvent.ctrlKey === true;
145
+ const isRightClick = originalEvent.button === 2 || ctrlLeftClick;
146
+ isRightClickOutsideRef.current = isRightClick;
147
+ },
148
+ { checkForDefaultPrevented: false }
149
+ ),
150
+ onFocusOutside: composeEventHandlers(
151
+ props.onFocusOutside,
152
+ (event) => event.preventDefault(),
153
+ { checkForDefaultPrevented: false }
154
+ )
155
+ }
156
+ ) });
157
+ }
158
+ );
159
+ var PopoverContentNonModal = reactExports.forwardRef(
160
+ (props, forwardedRef) => {
161
+ const context = usePopoverContext(CONTENT_NAME, props.__scopePopover);
162
+ const hasInteractedOutsideRef = reactExports.useRef(false);
163
+ const hasPointerDownOutsideRef = reactExports.useRef(false);
164
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
165
+ PopoverContentImpl,
166
+ {
167
+ ...props,
168
+ ref: forwardedRef,
169
+ trapFocus: false,
170
+ disableOutsidePointerEvents: false,
171
+ onCloseAutoFocus: (event) => {
172
+ props.onCloseAutoFocus?.(event);
173
+ if (!event.defaultPrevented) {
174
+ if (!hasInteractedOutsideRef.current) context.triggerRef.current?.focus();
175
+ event.preventDefault();
176
+ }
177
+ hasInteractedOutsideRef.current = false;
178
+ hasPointerDownOutsideRef.current = false;
179
+ },
180
+ onInteractOutside: (event) => {
181
+ props.onInteractOutside?.(event);
182
+ if (!event.defaultPrevented) {
183
+ hasInteractedOutsideRef.current = true;
184
+ if (event.detail.originalEvent.type === "pointerdown") {
185
+ hasPointerDownOutsideRef.current = true;
186
+ }
187
+ }
188
+ const target = event.target;
189
+ const targetIsTrigger = context.triggerRef.current?.contains(target);
190
+ if (targetIsTrigger) event.preventDefault();
191
+ if (event.detail.originalEvent.type === "focusin" && hasPointerDownOutsideRef.current) {
192
+ event.preventDefault();
193
+ }
194
+ }
195
+ }
196
+ );
197
+ }
198
+ );
199
+ var PopoverContentImpl = reactExports.forwardRef(
200
+ (props, forwardedRef) => {
201
+ const {
202
+ __scopePopover,
203
+ trapFocus,
204
+ onOpenAutoFocus,
205
+ onCloseAutoFocus,
206
+ disableOutsidePointerEvents,
207
+ onEscapeKeyDown,
208
+ onPointerDownOutside,
209
+ onFocusOutside,
210
+ onInteractOutside,
211
+ ...contentProps
212
+ } = props;
213
+ const context = usePopoverContext(CONTENT_NAME, __scopePopover);
214
+ const popperScope = usePopperScope(__scopePopover);
215
+ useFocusGuards();
216
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
217
+ FocusScope,
218
+ {
219
+ asChild: true,
220
+ loop: true,
221
+ trapped: trapFocus,
222
+ onMountAutoFocus: onOpenAutoFocus,
223
+ onUnmountAutoFocus: onCloseAutoFocus,
224
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
225
+ DismissableLayer,
226
+ {
227
+ asChild: true,
228
+ disableOutsidePointerEvents,
229
+ onInteractOutside,
230
+ onEscapeKeyDown,
231
+ onPointerDownOutside,
232
+ onFocusOutside,
233
+ onDismiss: () => context.onOpenChange(false),
234
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
235
+ Content,
236
+ {
237
+ "data-state": getState(context.open),
238
+ role: "dialog",
239
+ id: context.contentId,
240
+ ...popperScope,
241
+ ...contentProps,
242
+ ref: forwardedRef,
243
+ style: {
244
+ ...contentProps.style,
245
+ // re-namespace exposed content custom properties
246
+ ...{
247
+ "--radix-popover-content-transform-origin": "var(--radix-popper-transform-origin)",
248
+ "--radix-popover-content-available-width": "var(--radix-popper-available-width)",
249
+ "--radix-popover-content-available-height": "var(--radix-popper-available-height)",
250
+ "--radix-popover-trigger-width": "var(--radix-popper-anchor-width)",
251
+ "--radix-popover-trigger-height": "var(--radix-popper-anchor-height)"
252
+ }
253
+ }
254
+ }
255
+ )
256
+ }
257
+ )
258
+ }
259
+ );
260
+ }
261
+ );
262
+ var CLOSE_NAME = "PopoverClose";
263
+ var PopoverClose = reactExports.forwardRef(
264
+ (props, forwardedRef) => {
265
+ const { __scopePopover, ...closeProps } = props;
266
+ const context = usePopoverContext(CLOSE_NAME, __scopePopover);
267
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
268
+ Primitive.button,
269
+ {
270
+ type: "button",
271
+ ...closeProps,
272
+ ref: forwardedRef,
273
+ onClick: composeEventHandlers(props.onClick, () => context.onOpenChange(false))
274
+ }
275
+ );
276
+ }
277
+ );
278
+ PopoverClose.displayName = CLOSE_NAME;
279
+ var ARROW_NAME = "PopoverArrow";
280
+ var PopoverArrow = reactExports.forwardRef(
281
+ (props, forwardedRef) => {
282
+ const { __scopePopover, ...arrowProps } = props;
283
+ const popperScope = usePopperScope(__scopePopover);
284
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });
285
+ }
286
+ );
287
+ PopoverArrow.displayName = ARROW_NAME;
288
+ function getState(open) {
289
+ return open ? "open" : "closed";
290
+ }
291
+ var Root2 = Popover;
292
+ var Trigger = PopoverTrigger;
293
+ var Portal = PopoverPortal;
294
+ var Content2 = PopoverContent;
295
+ export {
296
+ Content2 as C,
297
+ Portal as P,
298
+ Root2 as R,
299
+ Trigger as T
300
+ };
@@ -0,0 +1,286 @@
1
+ import { r as reactExports, j as jsxRuntimeExports } from "../react.mjs";
2
+ import { u as useFloating, o as offset, s as shift, f as flip, a as size, b as arrow, h as hide, l as limitShift } from "../@floating-ui/react-dom.mjs";
3
+ import { R as Root } from "./react-arrow.mjs";
4
+ import { u as useComposedRefs } from "./react-compose-refs.mjs";
5
+ import { c as createContextScope } from "./react-context.mjs";
6
+ import { P as Primitive } from "./react-primitive.mjs";
7
+ import { u as useCallbackRef } from "./react-use-callback-ref.mjs";
8
+ import { u as useLayoutEffect2 } from "./react-use-layout-effect.mjs";
9
+ import { u as useSize } from "./react-use-size.mjs";
10
+ import { d as autoUpdate } from "../@floating-ui/dom.mjs";
11
+ var POPPER_NAME = "Popper";
12
+ var [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);
13
+ var [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);
14
+ var Popper = (props) => {
15
+ const { __scopePopper, children } = props;
16
+ const [anchor, setAnchor] = reactExports.useState(null);
17
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });
18
+ };
19
+ Popper.displayName = POPPER_NAME;
20
+ var ANCHOR_NAME = "PopperAnchor";
21
+ var PopperAnchor = reactExports.forwardRef(
22
+ (props, forwardedRef) => {
23
+ const { __scopePopper, virtualRef, ...anchorProps } = props;
24
+ const context = usePopperContext(ANCHOR_NAME, __scopePopper);
25
+ const ref = reactExports.useRef(null);
26
+ const composedRefs = useComposedRefs(forwardedRef, ref);
27
+ const anchorRef = reactExports.useRef(null);
28
+ reactExports.useEffect(() => {
29
+ const previousAnchor = anchorRef.current;
30
+ anchorRef.current = virtualRef?.current || ref.current;
31
+ if (previousAnchor !== anchorRef.current) {
32
+ context.onAnchorChange(anchorRef.current);
33
+ }
34
+ });
35
+ return virtualRef ? null : /* @__PURE__ */ jsxRuntimeExports.jsx(Primitive.div, { ...anchorProps, ref: composedRefs });
36
+ }
37
+ );
38
+ PopperAnchor.displayName = ANCHOR_NAME;
39
+ var CONTENT_NAME = "PopperContent";
40
+ var [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME);
41
+ var PopperContent = reactExports.forwardRef(
42
+ (props, forwardedRef) => {
43
+ const {
44
+ __scopePopper,
45
+ side = "bottom",
46
+ sideOffset = 0,
47
+ align = "center",
48
+ alignOffset = 0,
49
+ arrowPadding = 0,
50
+ avoidCollisions = true,
51
+ collisionBoundary = [],
52
+ collisionPadding: collisionPaddingProp = 0,
53
+ sticky = "partial",
54
+ hideWhenDetached = false,
55
+ updatePositionStrategy = "optimized",
56
+ onPlaced,
57
+ ...contentProps
58
+ } = props;
59
+ const context = usePopperContext(CONTENT_NAME, __scopePopper);
60
+ const [content, setContent] = reactExports.useState(null);
61
+ const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));
62
+ const [arrow$1, setArrow] = reactExports.useState(null);
63
+ const arrowSize = useSize(arrow$1);
64
+ const arrowWidth = arrowSize?.width ?? 0;
65
+ const arrowHeight = arrowSize?.height ?? 0;
66
+ const desiredPlacement = side + (align !== "center" ? "-" + align : "");
67
+ const collisionPadding = typeof collisionPaddingProp === "number" ? collisionPaddingProp : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };
68
+ const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];
69
+ const hasExplicitBoundaries = boundary.length > 0;
70
+ const detectOverflowOptions = {
71
+ padding: collisionPadding,
72
+ boundary: boundary.filter(isNotNull),
73
+ // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries
74
+ altBoundary: hasExplicitBoundaries
75
+ };
76
+ const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({
77
+ // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues
78
+ strategy: "fixed",
79
+ placement: desiredPlacement,
80
+ whileElementsMounted: (...args) => {
81
+ const cleanup = autoUpdate(...args, {
82
+ animationFrame: updatePositionStrategy === "always"
83
+ });
84
+ return cleanup;
85
+ },
86
+ elements: {
87
+ reference: context.anchor
88
+ },
89
+ middleware: [
90
+ offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),
91
+ avoidCollisions && shift({
92
+ mainAxis: true,
93
+ crossAxis: false,
94
+ limiter: sticky === "partial" ? limitShift() : void 0,
95
+ ...detectOverflowOptions
96
+ }),
97
+ avoidCollisions && flip({ ...detectOverflowOptions }),
98
+ size({
99
+ ...detectOverflowOptions,
100
+ apply: ({ elements, rects, availableWidth, availableHeight }) => {
101
+ const { width: anchorWidth, height: anchorHeight } = rects.reference;
102
+ const contentStyle = elements.floating.style;
103
+ contentStyle.setProperty("--radix-popper-available-width", `${availableWidth}px`);
104
+ contentStyle.setProperty("--radix-popper-available-height", `${availableHeight}px`);
105
+ contentStyle.setProperty("--radix-popper-anchor-width", `${anchorWidth}px`);
106
+ contentStyle.setProperty("--radix-popper-anchor-height", `${anchorHeight}px`);
107
+ }
108
+ }),
109
+ arrow$1 && arrow({ element: arrow$1, padding: arrowPadding }),
110
+ transformOrigin({ arrowWidth, arrowHeight }),
111
+ hideWhenDetached && hide({ strategy: "referenceHidden", ...detectOverflowOptions })
112
+ ]
113
+ });
114
+ const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);
115
+ const handlePlaced = useCallbackRef(onPlaced);
116
+ useLayoutEffect2(() => {
117
+ if (isPositioned) {
118
+ handlePlaced?.();
119
+ }
120
+ }, [isPositioned, handlePlaced]);
121
+ const arrowX = middlewareData.arrow?.x;
122
+ const arrowY = middlewareData.arrow?.y;
123
+ const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;
124
+ const [contentZIndex, setContentZIndex] = reactExports.useState();
125
+ useLayoutEffect2(() => {
126
+ if (content) setContentZIndex(window.getComputedStyle(content).zIndex);
127
+ }, [content]);
128
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
129
+ "div",
130
+ {
131
+ ref: refs.setFloating,
132
+ "data-radix-popper-content-wrapper": "",
133
+ style: {
134
+ ...floatingStyles,
135
+ transform: isPositioned ? floatingStyles.transform : "translate(0, -200%)",
136
+ // keep off the page when measuring
137
+ minWidth: "max-content",
138
+ zIndex: contentZIndex,
139
+ ["--radix-popper-transform-origin"]: [
140
+ middlewareData.transformOrigin?.x,
141
+ middlewareData.transformOrigin?.y
142
+ ].join(" "),
143
+ // hide the content if using the hide middleware and should be hidden
144
+ // set visibility to hidden and disable pointer events so the UI behaves
145
+ // as if the PopperContent isn't there at all
146
+ ...middlewareData.hide?.referenceHidden && {
147
+ visibility: "hidden",
148
+ pointerEvents: "none"
149
+ }
150
+ },
151
+ dir: props.dir,
152
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
153
+ PopperContentProvider,
154
+ {
155
+ scope: __scopePopper,
156
+ placedSide,
157
+ onArrowChange: setArrow,
158
+ arrowX,
159
+ arrowY,
160
+ shouldHideArrow: cannotCenterArrow,
161
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
162
+ Primitive.div,
163
+ {
164
+ "data-side": placedSide,
165
+ "data-align": placedAlign,
166
+ ...contentProps,
167
+ ref: composedRefs,
168
+ style: {
169
+ ...contentProps.style,
170
+ // if the PopperContent hasn't been placed yet (not all measurements done)
171
+ // we prevent animations so that users's animation don't kick in too early referring wrong sides
172
+ animation: !isPositioned ? "none" : void 0
173
+ }
174
+ }
175
+ )
176
+ }
177
+ )
178
+ }
179
+ );
180
+ }
181
+ );
182
+ PopperContent.displayName = CONTENT_NAME;
183
+ var ARROW_NAME = "PopperArrow";
184
+ var OPPOSITE_SIDE = {
185
+ top: "bottom",
186
+ right: "left",
187
+ bottom: "top",
188
+ left: "right"
189
+ };
190
+ var PopperArrow = reactExports.forwardRef(function PopperArrow2(props, forwardedRef) {
191
+ const { __scopePopper, ...arrowProps } = props;
192
+ const contentContext = useContentContext(ARROW_NAME, __scopePopper);
193
+ const baseSide = OPPOSITE_SIDE[contentContext.placedSide];
194
+ return (
195
+ // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)
196
+ // doesn't report size as we'd expect on SVG elements.
197
+ // it reports their bounding box which is effectively the largest path inside the SVG.
198
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
199
+ "span",
200
+ {
201
+ ref: contentContext.onArrowChange,
202
+ style: {
203
+ position: "absolute",
204
+ left: contentContext.arrowX,
205
+ top: contentContext.arrowY,
206
+ [baseSide]: 0,
207
+ transformOrigin: {
208
+ top: "",
209
+ right: "0 0",
210
+ bottom: "center 0",
211
+ left: "100% 0"
212
+ }[contentContext.placedSide],
213
+ transform: {
214
+ top: "translateY(100%)",
215
+ right: "translateY(50%) rotate(90deg) translateX(-50%)",
216
+ bottom: `rotate(180deg)`,
217
+ left: "translateY(50%) rotate(-90deg) translateX(50%)"
218
+ }[contentContext.placedSide],
219
+ visibility: contentContext.shouldHideArrow ? "hidden" : void 0
220
+ },
221
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
222
+ Root,
223
+ {
224
+ ...arrowProps,
225
+ ref: forwardedRef,
226
+ style: {
227
+ ...arrowProps.style,
228
+ // ensures the element can be measured correctly (mostly for if SVG)
229
+ display: "block"
230
+ }
231
+ }
232
+ )
233
+ }
234
+ )
235
+ );
236
+ });
237
+ PopperArrow.displayName = ARROW_NAME;
238
+ function isNotNull(value) {
239
+ return value !== null;
240
+ }
241
+ var transformOrigin = (options) => ({
242
+ name: "transformOrigin",
243
+ options,
244
+ fn(data) {
245
+ const { placement, rects, middlewareData } = data;
246
+ const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;
247
+ const isArrowHidden = cannotCenterArrow;
248
+ const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;
249
+ const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;
250
+ const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);
251
+ const noArrowAlign = { start: "0%", center: "50%", end: "100%" }[placedAlign];
252
+ const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;
253
+ const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;
254
+ let x = "";
255
+ let y = "";
256
+ if (placedSide === "bottom") {
257
+ x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;
258
+ y = `${-arrowHeight}px`;
259
+ } else if (placedSide === "top") {
260
+ x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;
261
+ y = `${rects.floating.height + arrowHeight}px`;
262
+ } else if (placedSide === "right") {
263
+ x = `${-arrowHeight}px`;
264
+ y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;
265
+ } else if (placedSide === "left") {
266
+ x = `${rects.floating.width + arrowHeight}px`;
267
+ y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;
268
+ }
269
+ return { data: { x, y } };
270
+ }
271
+ });
272
+ function getSideAndAlignFromPlacement(placement) {
273
+ const [side, align = "center"] = placement.split("-");
274
+ return [side, align];
275
+ }
276
+ var Root2 = Popper;
277
+ var Anchor = PopperAnchor;
278
+ var Content = PopperContent;
279
+ var Arrow = PopperArrow;
280
+ export {
281
+ Anchor as A,
282
+ Content as C,
283
+ Root2 as R,
284
+ Arrow as a,
285
+ createPopperScope as c
286
+ };
@@ -0,0 +1,16 @@
1
+ import { r as reactExports, j as jsxRuntimeExports } from "../react.mjs";
2
+ import { a as ReactDOM } from "../react-dom.mjs";
3
+ import { P as Primitive } from "./react-primitive.mjs";
4
+ import { u as useLayoutEffect2 } from "./react-use-layout-effect.mjs";
5
+ var PORTAL_NAME = "Portal";
6
+ var Portal = reactExports.forwardRef((props, forwardedRef) => {
7
+ const { container: containerProp, ...portalProps } = props;
8
+ const [mounted, setMounted] = reactExports.useState(false);
9
+ useLayoutEffect2(() => setMounted(true), []);
10
+ const container = containerProp || mounted && globalThis?.document?.body;
11
+ return container ? ReactDOM.createPortal(/* @__PURE__ */ jsxRuntimeExports.jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;
12
+ });
13
+ Portal.displayName = PORTAL_NAME;
14
+ export {
15
+ Portal as P
16
+ };