convex-cms 0.0.2 → 0.0.5-alpha.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (311) hide show
  1. package/README.md +109 -13
  2. package/admin-dist/nitro.json +15 -0
  3. package/admin-dist/public/assets/CmsEmptyState-CiMQwSQV.js +5 -0
  4. package/admin-dist/public/assets/CmsPageHeader-ohOq0luT.js +1 -0
  5. package/admin-dist/public/assets/CmsStatusBadge-BdNf0V9v.js +1 -0
  6. package/admin-dist/public/assets/CmsSurface-CWup6Jh7.js +1 -0
  7. package/admin-dist/public/assets/CmsToolbar-cEBlCHa3.js +1 -0
  8. package/admin-dist/public/assets/ContentEntryEditor-BY5ypfUs.js +4 -0
  9. package/admin-dist/public/assets/ErrorState-C4nJ-ml4.js +1 -0
  10. package/admin-dist/public/assets/TaxonomyFilter-BgE_SR_O.js +1 -0
  11. package/admin-dist/public/assets/_contentTypeId-DtZectcC.js +1 -0
  12. package/admin-dist/public/assets/_entryId-BpSmrfAm.js +1 -0
  13. package/admin-dist/public/assets/alert-Bf2l8kxw.js +1 -0
  14. package/admin-dist/public/assets/badge-qPrc4AUM.js +1 -0
  15. package/admin-dist/public/assets/circle-check-big-Dgozy3vV.js +1 -0
  16. package/admin-dist/public/assets/command-QOmNhlb0.js +1 -0
  17. package/admin-dist/public/assets/content-OEBGlxg1.js +1 -0
  18. package/admin-dist/public/assets/content-types-CjQliqVV.js +2 -0
  19. package/admin-dist/public/assets/globals-hAmgC66w.css +1 -0
  20. package/admin-dist/public/assets/index-BH_ECMhv.js +1 -0
  21. package/admin-dist/public/assets/label-DCsUdvFh.js +1 -0
  22. package/admin-dist/public/assets/link-2-Czw1N61H.js +1 -0
  23. package/admin-dist/public/assets/list-DtCsXj8-.js +1 -0
  24. package/admin-dist/public/assets/main-CXgkZMhe.js +97 -0
  25. package/admin-dist/public/assets/media-DTJ3-ViE.js +1 -0
  26. package/admin-dist/public/assets/new._contentTypeId-CoTDxKzf.js +1 -0
  27. package/admin-dist/public/assets/plus-xCFJK0RC.js +1 -0
  28. package/admin-dist/public/assets/rotate-ccw-DIqK63wY.js +1 -0
  29. package/admin-dist/public/assets/scroll-area-B-yrE66a.js +1 -0
  30. package/admin-dist/public/assets/search-CbCbboeU.js +1 -0
  31. package/admin-dist/public/assets/select-Co3TZFJb.js +1 -0
  32. package/admin-dist/public/assets/settings-BspTTv_o.js +1 -0
  33. package/admin-dist/public/assets/switch-CfavASmR.js +1 -0
  34. package/admin-dist/public/assets/tabs-CN5s5u2W.js +1 -0
  35. package/admin-dist/public/assets/tanstack-adapter-npeE3RdY.js +1 -0
  36. package/admin-dist/public/assets/taxonomies-CgG46fIF.js +1 -0
  37. package/admin-dist/public/assets/textarea-BJ0XFZpT.js +1 -0
  38. package/admin-dist/public/assets/trash-B3daldm5.js +1 -0
  39. package/admin-dist/public/assets/triangle-alert-BZRcqsUg.js +1 -0
  40. package/admin-dist/public/assets/useBreadcrumbLabel-DwZlwvFF.js +1 -0
  41. package/admin-dist/public/assets/usePermissions-C1JQhfqb.js +1 -0
  42. package/admin-dist/public/favicon.ico +0 -0
  43. package/admin-dist/server/_chunks/_libs/@date-fns/tz.mjs +217 -0
  44. package/admin-dist/server/_chunks/_libs/@floating-ui/core.mjs +719 -0
  45. package/admin-dist/server/_chunks/_libs/@floating-ui/dom.mjs +622 -0
  46. package/admin-dist/server/_chunks/_libs/@floating-ui/react-dom.mjs +292 -0
  47. package/admin-dist/server/_chunks/_libs/@floating-ui/utils.mjs +320 -0
  48. package/admin-dist/server/_chunks/_libs/@radix-ui/number.mjs +6 -0
  49. package/admin-dist/server/_chunks/_libs/@radix-ui/primitive.mjs +11 -0
  50. package/admin-dist/server/_chunks/_libs/@radix-ui/react-arrow.mjs +23 -0
  51. package/admin-dist/server/_chunks/_libs/@radix-ui/react-avatar.mjs +119 -0
  52. package/admin-dist/server/_chunks/_libs/@radix-ui/react-checkbox.mjs +270 -0
  53. package/admin-dist/server/_chunks/_libs/@radix-ui/react-collection.mjs +69 -0
  54. package/admin-dist/server/_chunks/_libs/@radix-ui/react-compose-refs.mjs +39 -0
  55. package/admin-dist/server/_chunks/_libs/@radix-ui/react-context.mjs +137 -0
  56. package/admin-dist/server/_chunks/_libs/@radix-ui/react-dialog.mjs +325 -0
  57. package/admin-dist/server/_chunks/_libs/@radix-ui/react-direction.mjs +9 -0
  58. package/admin-dist/server/_chunks/_libs/@radix-ui/react-dismissable-layer.mjs +210 -0
  59. package/admin-dist/server/_chunks/_libs/@radix-ui/react-dropdown-menu.mjs +253 -0
  60. package/admin-dist/server/_chunks/_libs/@radix-ui/react-focus-guards.mjs +29 -0
  61. package/admin-dist/server/_chunks/_libs/@radix-ui/react-focus-scope.mjs +206 -0
  62. package/admin-dist/server/_chunks/_libs/@radix-ui/react-id.mjs +14 -0
  63. package/admin-dist/server/_chunks/_libs/@radix-ui/react-label.mjs +23 -0
  64. package/admin-dist/server/_chunks/_libs/@radix-ui/react-menu.mjs +812 -0
  65. package/admin-dist/server/_chunks/_libs/@radix-ui/react-popover.mjs +300 -0
  66. package/admin-dist/server/_chunks/_libs/@radix-ui/react-popper.mjs +286 -0
  67. package/admin-dist/server/_chunks/_libs/@radix-ui/react-portal.mjs +16 -0
  68. package/admin-dist/server/_chunks/_libs/@radix-ui/react-presence.mjs +128 -0
  69. package/admin-dist/server/_chunks/_libs/@radix-ui/react-primitive.mjs +141 -0
  70. package/admin-dist/server/_chunks/_libs/@radix-ui/react-roving-focus.mjs +224 -0
  71. package/admin-dist/server/_chunks/_libs/@radix-ui/react-scroll-area.mjs +721 -0
  72. package/admin-dist/server/_chunks/_libs/@radix-ui/react-select.mjs +1163 -0
  73. package/admin-dist/server/_chunks/_libs/@radix-ui/react-separator.mjs +28 -0
  74. package/admin-dist/server/_chunks/_libs/@radix-ui/react-slot.mjs +601 -0
  75. package/admin-dist/server/_chunks/_libs/@radix-ui/react-switch.mjs +152 -0
  76. package/admin-dist/server/_chunks/_libs/@radix-ui/react-tabs.mjs +189 -0
  77. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-callback-ref.mjs +11 -0
  78. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-controllable-state.mjs +69 -0
  79. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-effect-event.mjs +1 -0
  80. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-escape-keydown.mjs +17 -0
  81. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-is-hydrated.mjs +15 -0
  82. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-layout-effect.mjs +6 -0
  83. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-previous.mjs +14 -0
  84. package/admin-dist/server/_chunks/_libs/@radix-ui/react-use-size.mjs +39 -0
  85. package/admin-dist/server/_chunks/_libs/@radix-ui/react-visually-hidden.mjs +33 -0
  86. package/admin-dist/server/_chunks/_libs/@tanstack/history.mjs +409 -0
  87. package/admin-dist/server/_chunks/_libs/@tanstack/react-router.mjs +1718 -0
  88. package/admin-dist/server/_chunks/_libs/@tanstack/react-store.mjs +56 -0
  89. package/admin-dist/server/_chunks/_libs/@tanstack/router-core.mjs +4829 -0
  90. package/admin-dist/server/_chunks/_libs/@tanstack/store.mjs +134 -0
  91. package/admin-dist/server/_chunks/_libs/react-dom.mjs +10781 -0
  92. package/admin-dist/server/_chunks/_libs/react.mjs +513 -0
  93. package/admin-dist/server/_libs/aria-hidden.mjs +122 -0
  94. package/admin-dist/server/_libs/class-variance-authority.mjs +44 -0
  95. package/admin-dist/server/_libs/clsx.mjs +16 -0
  96. package/admin-dist/server/_libs/cmdk.mjs +315 -0
  97. package/admin-dist/server/_libs/convex.mjs +4841 -0
  98. package/admin-dist/server/_libs/cookie-es.mjs +58 -0
  99. package/admin-dist/server/_libs/croner.mjs +1 -0
  100. package/admin-dist/server/_libs/crossws.mjs +1 -0
  101. package/admin-dist/server/_libs/date-fns.mjs +1716 -0
  102. package/admin-dist/server/_libs/detect-node-es.mjs +1 -0
  103. package/admin-dist/server/_libs/get-nonce.mjs +9 -0
  104. package/admin-dist/server/_libs/h3-v2.mjs +277 -0
  105. package/admin-dist/server/_libs/h3.mjs +401 -0
  106. package/admin-dist/server/_libs/hookable.mjs +1 -0
  107. package/admin-dist/server/_libs/isbot.mjs +20 -0
  108. package/admin-dist/server/_libs/lucide-react.mjs +850 -0
  109. package/admin-dist/server/_libs/ohash.mjs +1 -0
  110. package/admin-dist/server/_libs/react-day-picker.mjs +2201 -0
  111. package/admin-dist/server/_libs/react-remove-scroll-bar.mjs +82 -0
  112. package/admin-dist/server/_libs/react-remove-scroll.mjs +328 -0
  113. package/admin-dist/server/_libs/react-style-singleton.mjs +69 -0
  114. package/admin-dist/server/_libs/rou3.mjs +8 -0
  115. package/admin-dist/server/_libs/seroval-plugins.mjs +58 -0
  116. package/admin-dist/server/_libs/seroval.mjs +1765 -0
  117. package/admin-dist/server/_libs/srvx.mjs +719 -0
  118. package/admin-dist/server/_libs/tailwind-merge.mjs +3010 -0
  119. package/admin-dist/server/_libs/tiny-invariant.mjs +12 -0
  120. package/admin-dist/server/_libs/tiny-warning.mjs +5 -0
  121. package/admin-dist/server/_libs/tslib.mjs +39 -0
  122. package/admin-dist/server/_libs/ufo.mjs +54 -0
  123. package/admin-dist/server/_libs/unctx.mjs +1 -0
  124. package/admin-dist/server/_libs/unstorage.mjs +1 -0
  125. package/admin-dist/server/_libs/use-callback-ref.mjs +66 -0
  126. package/admin-dist/server/_libs/use-sidecar.mjs +106 -0
  127. package/admin-dist/server/_libs/use-sync-external-store.mjs +139 -0
  128. package/admin-dist/server/_libs/zod.mjs +4223 -0
  129. package/admin-dist/server/_ssr/CmsButton-B45JAKR1.mjs +125 -0
  130. package/admin-dist/server/_ssr/CmsEmptyState-D_BQFAVR.mjs +290 -0
  131. package/admin-dist/server/_ssr/CmsPageHeader-CrUZA59A.mjs +24 -0
  132. package/admin-dist/server/_ssr/CmsStatusBadge-B-sj6yaj.mjs +127 -0
  133. package/admin-dist/server/_ssr/CmsSurface-DKJZhpjk.mjs +44 -0
  134. package/admin-dist/server/_ssr/CmsToolbar-ByaW5iXf.mjs +49 -0
  135. package/admin-dist/server/_ssr/ContentEntryEditor-D3_Jb1dq.mjs +3720 -0
  136. package/admin-dist/server/_ssr/ErrorState-cI-bKLez.mjs +89 -0
  137. package/admin-dist/server/_ssr/TaxonomyFilter-BRJkuCtA.mjs +188 -0
  138. package/admin-dist/server/_ssr/_contentTypeId-B9kA6CaM.mjs +379 -0
  139. package/admin-dist/server/_ssr/_entryId-BddcMkZN.mjs +161 -0
  140. package/admin-dist/server/_ssr/_tanstack-start-manifest_v-Dd7AmelK.mjs +4 -0
  141. package/admin-dist/server/_ssr/command-CGtVr8Gb.mjs +128 -0
  142. package/admin-dist/server/_ssr/config.server-D7JHDcDv.mjs +117 -0
  143. package/admin-dist/server/_ssr/content-D1tbeOd0.mjs +647 -0
  144. package/admin-dist/server/_ssr/content-types-BZqY_BER.mjs +1342 -0
  145. package/admin-dist/server/_ssr/index-BIdq4xaC.mjs +264 -0
  146. package/admin-dist/server/_ssr/index.mjs +1275 -0
  147. package/admin-dist/server/_ssr/label-T-QNKAr6.mjs +22 -0
  148. package/admin-dist/server/_ssr/media-C-xqjBrl.mjs +1832 -0
  149. package/admin-dist/server/_ssr/new._contentTypeId-DWic9cRq.mjs +144 -0
  150. package/admin-dist/server/_ssr/router-D1BMAMJT.mjs +1556 -0
  151. package/admin-dist/server/_ssr/scroll-area-C0pic_WA.mjs +59 -0
  152. package/admin-dist/server/_ssr/select-CqmuN2F6.mjs +142 -0
  153. package/admin-dist/server/_ssr/settings-CAkncGGV.mjs +430 -0
  154. package/admin-dist/server/_ssr/start-HYkvq4Ni.mjs +4 -0
  155. package/admin-dist/server/_ssr/switch-CgmuJkT9.mjs +31 -0
  156. package/admin-dist/server/_ssr/tabs-CnMj0aRy.mjs +630 -0
  157. package/admin-dist/server/_ssr/tanstack-adapter-BXZrMauE.mjs +119 -0
  158. package/admin-dist/server/_ssr/taxonomies-thl3BfVm.mjs +1015 -0
  159. package/admin-dist/server/_ssr/textarea-4K5OJgeh.mjs +18 -0
  160. package/admin-dist/server/_ssr/trash-B40Gx5zP.mjs +411 -0
  161. package/admin-dist/server/_ssr/useBreadcrumbLabel-rn-fL4zV.mjs +16 -0
  162. package/admin-dist/server/_ssr/usePermissions-CKeM6_Vw.mjs +68 -0
  163. package/admin-dist/server/favicon.ico +0 -0
  164. package/admin-dist/server/index.mjs +641 -0
  165. package/dist/cli/commands/init.d.ts +6 -0
  166. package/dist/cli/commands/init.d.ts.map +1 -0
  167. package/dist/cli/commands/init.js +156 -0
  168. package/dist/cli/commands/init.js.map +1 -0
  169. package/dist/cli/index.js +6 -0
  170. package/dist/cli/index.js.map +1 -1
  171. package/dist/client/admin-config.d.ts +2 -3
  172. package/dist/client/admin-config.d.ts.map +1 -1
  173. package/dist/client/admin-config.js +2 -3
  174. package/dist/client/admin-config.js.map +1 -1
  175. package/dist/client/adminApi.d.ts +1877 -1851
  176. package/dist/client/adminApi.d.ts.map +1 -1
  177. package/dist/client/adminApi.js +649 -629
  178. package/dist/client/adminApi.js.map +1 -1
  179. package/dist/client/agentTools.d.ts +1231 -139
  180. package/dist/client/agentTools.d.ts.map +1 -1
  181. package/dist/client/agentTools.js +37 -13
  182. package/dist/client/agentTools.js.map +1 -1
  183. package/dist/client/index.d.ts +5 -5
  184. package/dist/client/index.d.ts.map +1 -1
  185. package/dist/client/index.js +4 -4
  186. package/dist/client/index.js.map +1 -1
  187. package/dist/client/schema/codegen.d.ts +2 -2
  188. package/dist/client/schema/codegen.d.ts.map +1 -1
  189. package/dist/client/schema/codegen.js +3 -3
  190. package/dist/client/schema/codegen.js.map +1 -1
  191. package/dist/client/schema/defineContentType.d.ts +3 -3
  192. package/dist/client/schema/defineContentType.js +3 -3
  193. package/dist/client/schema/index.d.ts +7 -7
  194. package/dist/client/schema/index.d.ts.map +1 -1
  195. package/dist/client/schema/index.js +5 -5
  196. package/dist/client/schema/index.js.map +1 -1
  197. package/dist/client/schema/schemaDrift.d.ts +1 -1
  198. package/dist/client/schema/schemaDrift.js +1 -1
  199. package/dist/client/schema/typedClient.d.ts +2 -2
  200. package/dist/client/schema/typedClient.js +2 -2
  201. package/dist/client/schema/types.d.ts +1 -1
  202. package/dist/client/schema/types.js +1 -1
  203. package/dist/client/wrapper.d.ts +108 -65
  204. package/dist/client/wrapper.d.ts.map +1 -1
  205. package/dist/client/wrapper.js +22 -22
  206. package/dist/client/wrapper.js.map +1 -1
  207. package/dist/component/_generated/component.d.ts +9 -0
  208. package/dist/component/_generated/component.d.ts.map +1 -1
  209. package/dist/component/convex.config.d.ts +2 -2
  210. package/dist/component/convex.config.js +2 -2
  211. package/dist/component/index.d.ts +1 -1
  212. package/dist/component/index.js +1 -1
  213. package/dist/component/lib/ragContentChunker.d.ts +1 -1
  214. package/dist/component/lib/ragContentChunker.js +1 -1
  215. package/dist/component/mediaAssets.d.ts +35 -0
  216. package/dist/component/mediaAssets.d.ts.map +1 -1
  217. package/dist/component/mediaAssets.js +81 -0
  218. package/dist/component/mediaAssets.js.map +1 -1
  219. package/dist/component/roles.d.ts +1 -1
  220. package/dist/component/roles.js +1 -1
  221. package/dist/react/index.d.ts +2 -2
  222. package/dist/react/index.d.ts.map +1 -1
  223. package/dist/react/index.js +13 -7
  224. package/dist/react/index.js.map +1 -1
  225. package/dist/test.d.ts +2 -2
  226. package/dist/test.d.ts.map +1 -1
  227. package/dist/test.js +4 -3
  228. package/dist/test.js.map +1 -1
  229. package/package.json +37 -13
  230. package/dist/component/auditLog.d.ts +0 -410
  231. package/dist/component/auditLog.d.ts.map +0 -1
  232. package/dist/component/auditLog.js +0 -607
  233. package/dist/component/auditLog.js.map +0 -1
  234. package/dist/component/types.d.ts +0 -4
  235. package/dist/component/types.d.ts.map +0 -1
  236. package/dist/component/types.js +0 -2
  237. package/dist/component/types.js.map +0 -1
  238. package/src/cli/commands/admin.ts +0 -104
  239. package/src/cli/index.ts +0 -21
  240. package/src/cli/utils/detectConvexUrl.ts +0 -54
  241. package/src/cli/utils/openBrowser.ts +0 -16
  242. package/src/client/admin-config.ts +0 -138
  243. package/src/client/adminApi.ts +0 -942
  244. package/src/client/agentTools.ts +0 -1311
  245. package/src/client/argTypes.ts +0 -316
  246. package/src/client/field-types.ts +0 -187
  247. package/src/client/index.ts +0 -1301
  248. package/src/client/queryBuilder.ts +0 -1100
  249. package/src/client/schema/codegen.ts +0 -500
  250. package/src/client/schema/defineContentType.ts +0 -501
  251. package/src/client/schema/index.ts +0 -169
  252. package/src/client/schema/schemaDrift.ts +0 -574
  253. package/src/client/schema/typedClient.ts +0 -688
  254. package/src/client/schema/types.ts +0 -666
  255. package/src/client/types.ts +0 -723
  256. package/src/client/workflows.ts +0 -141
  257. package/src/client/wrapper.ts +0 -4304
  258. package/src/component/_generated/api.ts +0 -140
  259. package/src/component/_generated/component.ts +0 -5029
  260. package/src/component/_generated/dataModel.ts +0 -60
  261. package/src/component/_generated/server.ts +0 -156
  262. package/src/component/authorization.ts +0 -647
  263. package/src/component/authorizationHooks.ts +0 -668
  264. package/src/component/bulkOperations.ts +0 -687
  265. package/src/component/contentEntries.ts +0 -1976
  266. package/src/component/contentEntryMutations.ts +0 -1223
  267. package/src/component/contentEntryValidation.ts +0 -707
  268. package/src/component/contentLock.ts +0 -550
  269. package/src/component/contentTypeMigration.ts +0 -1064
  270. package/src/component/contentTypeMutations.ts +0 -969
  271. package/src/component/contentTypes.ts +0 -346
  272. package/src/component/convex.config.ts +0 -44
  273. package/src/component/documentTypes.ts +0 -240
  274. package/src/component/eventEmitter.ts +0 -485
  275. package/src/component/exportImport.ts +0 -1169
  276. package/src/component/index.ts +0 -491
  277. package/src/component/lib/deepReferenceResolver.ts +0 -999
  278. package/src/component/lib/errors.ts +0 -816
  279. package/src/component/lib/index.ts +0 -145
  280. package/src/component/lib/mediaReferenceResolver.ts +0 -495
  281. package/src/component/lib/metadataExtractor.ts +0 -792
  282. package/src/component/lib/mutationAuth.ts +0 -199
  283. package/src/component/lib/queries.ts +0 -79
  284. package/src/component/lib/ragContentChunker.ts +0 -1371
  285. package/src/component/lib/referenceResolver.ts +0 -430
  286. package/src/component/lib/slugGenerator.ts +0 -262
  287. package/src/component/lib/slugUniqueness.ts +0 -333
  288. package/src/component/lib/softDelete.ts +0 -44
  289. package/src/component/localeFallbackChain.ts +0 -673
  290. package/src/component/localeFields.ts +0 -896
  291. package/src/component/mediaAssetMutations.ts +0 -725
  292. package/src/component/mediaAssets.ts +0 -932
  293. package/src/component/mediaFolderMutations.ts +0 -1046
  294. package/src/component/mediaUploadMutations.ts +0 -224
  295. package/src/component/mediaVariantMutations.ts +0 -900
  296. package/src/component/mediaVariants.ts +0 -793
  297. package/src/component/ragContentIndexer.ts +0 -1067
  298. package/src/component/rateLimitHooks.ts +0 -572
  299. package/src/component/roles.ts +0 -1360
  300. package/src/component/scheduledPublish.ts +0 -358
  301. package/src/component/schema.ts +0 -617
  302. package/src/component/taxonomies.ts +0 -949
  303. package/src/component/taxonomyMutations.ts +0 -1210
  304. package/src/component/trash.ts +0 -724
  305. package/src/component/userContext.ts +0 -898
  306. package/src/component/validation.ts +0 -1388
  307. package/src/component/validators.ts +0 -949
  308. package/src/component/versionMutations.ts +0 -392
  309. package/src/component/webhookTrigger.ts +0 -1922
  310. package/src/react/index.ts +0 -898
  311. package/src/test.ts +0 -1580
@@ -0,0 +1,119 @@
1
+ import { r as reactExports, j as jsxRuntimeExports } from "../react.mjs";
2
+ import { a as createContextScope } from "./react-context.mjs";
3
+ import { u as useCallbackRef } from "./react-use-callback-ref.mjs";
4
+ import { u as useLayoutEffect2 } from "./react-use-layout-effect.mjs";
5
+ import { a as Primitive } from "./react-primitive.mjs";
6
+ import { u as useIsHydrated } from "./react-use-is-hydrated.mjs";
7
+ var AVATAR_NAME = "Avatar";
8
+ var [createAvatarContext] = createContextScope(AVATAR_NAME);
9
+ var [AvatarProvider, useAvatarContext] = createAvatarContext(AVATAR_NAME);
10
+ var Avatar = reactExports.forwardRef(
11
+ (props, forwardedRef) => {
12
+ const { __scopeAvatar, ...avatarProps } = props;
13
+ const [imageLoadingStatus, setImageLoadingStatus] = reactExports.useState("idle");
14
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
15
+ AvatarProvider,
16
+ {
17
+ scope: __scopeAvatar,
18
+ imageLoadingStatus,
19
+ onImageLoadingStatusChange: setImageLoadingStatus,
20
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(Primitive.span, { ...avatarProps, ref: forwardedRef })
21
+ }
22
+ );
23
+ }
24
+ );
25
+ Avatar.displayName = AVATAR_NAME;
26
+ var IMAGE_NAME = "AvatarImage";
27
+ var AvatarImage = reactExports.forwardRef(
28
+ (props, forwardedRef) => {
29
+ const { __scopeAvatar, src, onLoadingStatusChange = () => {
30
+ }, ...imageProps } = props;
31
+ const context = useAvatarContext(IMAGE_NAME, __scopeAvatar);
32
+ const imageLoadingStatus = useImageLoadingStatus(src, imageProps);
33
+ const handleLoadingStatusChange = useCallbackRef((status) => {
34
+ onLoadingStatusChange(status);
35
+ context.onImageLoadingStatusChange(status);
36
+ });
37
+ useLayoutEffect2(() => {
38
+ if (imageLoadingStatus !== "idle") {
39
+ handleLoadingStatusChange(imageLoadingStatus);
40
+ }
41
+ }, [imageLoadingStatus, handleLoadingStatusChange]);
42
+ return imageLoadingStatus === "loaded" ? /* @__PURE__ */ jsxRuntimeExports.jsx(Primitive.img, { ...imageProps, ref: forwardedRef, src }) : null;
43
+ }
44
+ );
45
+ AvatarImage.displayName = IMAGE_NAME;
46
+ var FALLBACK_NAME = "AvatarFallback";
47
+ var AvatarFallback = reactExports.forwardRef(
48
+ (props, forwardedRef) => {
49
+ const { __scopeAvatar, delayMs, ...fallbackProps } = props;
50
+ const context = useAvatarContext(FALLBACK_NAME, __scopeAvatar);
51
+ const [canRender, setCanRender] = reactExports.useState(delayMs === void 0);
52
+ reactExports.useEffect(() => {
53
+ if (delayMs !== void 0) {
54
+ const timerId = window.setTimeout(() => setCanRender(true), delayMs);
55
+ return () => window.clearTimeout(timerId);
56
+ }
57
+ }, [delayMs]);
58
+ return canRender && context.imageLoadingStatus !== "loaded" ? /* @__PURE__ */ jsxRuntimeExports.jsx(Primitive.span, { ...fallbackProps, ref: forwardedRef }) : null;
59
+ }
60
+ );
61
+ AvatarFallback.displayName = FALLBACK_NAME;
62
+ function resolveLoadingStatus(image, src) {
63
+ if (!image) {
64
+ return "idle";
65
+ }
66
+ if (!src) {
67
+ return "error";
68
+ }
69
+ if (image.src !== src) {
70
+ image.src = src;
71
+ }
72
+ return image.complete && image.naturalWidth > 0 ? "loaded" : "loading";
73
+ }
74
+ function useImageLoadingStatus(src, { referrerPolicy, crossOrigin }) {
75
+ const isHydrated = useIsHydrated();
76
+ const imageRef = reactExports.useRef(null);
77
+ const image = (() => {
78
+ if (!isHydrated) return null;
79
+ if (!imageRef.current) {
80
+ imageRef.current = new window.Image();
81
+ }
82
+ return imageRef.current;
83
+ })();
84
+ const [loadingStatus, setLoadingStatus] = reactExports.useState(
85
+ () => resolveLoadingStatus(image, src)
86
+ );
87
+ useLayoutEffect2(() => {
88
+ setLoadingStatus(resolveLoadingStatus(image, src));
89
+ }, [image, src]);
90
+ useLayoutEffect2(() => {
91
+ const updateStatus = (status) => () => {
92
+ setLoadingStatus(status);
93
+ };
94
+ if (!image) return;
95
+ const handleLoad = updateStatus("loaded");
96
+ const handleError = updateStatus("error");
97
+ image.addEventListener("load", handleLoad);
98
+ image.addEventListener("error", handleError);
99
+ if (referrerPolicy) {
100
+ image.referrerPolicy = referrerPolicy;
101
+ }
102
+ if (typeof crossOrigin === "string") {
103
+ image.crossOrigin = crossOrigin;
104
+ }
105
+ return () => {
106
+ image.removeEventListener("load", handleLoad);
107
+ image.removeEventListener("error", handleError);
108
+ };
109
+ }, [image, crossOrigin, referrerPolicy]);
110
+ return loadingStatus;
111
+ }
112
+ var Root = Avatar;
113
+ var Image = AvatarImage;
114
+ var Fallback = AvatarFallback;
115
+ export {
116
+ Fallback as F,
117
+ Image as I,
118
+ Root as R
119
+ };
@@ -0,0 +1,270 @@
1
+ import { r as reactExports, j as jsxRuntimeExports } from "../react.mjs";
2
+ import { u as useComposedRefs } from "./react-compose-refs.mjs";
3
+ import { c as createContextScope } from "./react-context.mjs";
4
+ import { c as composeEventHandlers } from "./primitive.mjs";
5
+ import { u as useControllableState } from "./react-use-controllable-state.mjs";
6
+ import { u as usePrevious } from "./react-use-previous.mjs";
7
+ import { u as useSize } from "./react-use-size.mjs";
8
+ import { P as Presence } from "./react-presence.mjs";
9
+ import { P as Primitive } from "./react-primitive.mjs";
10
+ var CHECKBOX_NAME = "Checkbox";
11
+ var [createCheckboxContext] = createContextScope(CHECKBOX_NAME);
12
+ var [CheckboxProviderImpl, useCheckboxContext] = createCheckboxContext(CHECKBOX_NAME);
13
+ function CheckboxProvider(props) {
14
+ const {
15
+ __scopeCheckbox,
16
+ checked: checkedProp,
17
+ children,
18
+ defaultChecked,
19
+ disabled,
20
+ form,
21
+ name,
22
+ onCheckedChange,
23
+ required,
24
+ value = "on",
25
+ // @ts-expect-error
26
+ internal_do_not_use_render
27
+ } = props;
28
+ const [checked, setChecked] = useControllableState({
29
+ prop: checkedProp,
30
+ defaultProp: defaultChecked ?? false,
31
+ onChange: onCheckedChange,
32
+ caller: CHECKBOX_NAME
33
+ });
34
+ const [control, setControl] = reactExports.useState(null);
35
+ const [bubbleInput, setBubbleInput] = reactExports.useState(null);
36
+ const hasConsumerStoppedPropagationRef = reactExports.useRef(false);
37
+ const isFormControl = control ? !!form || !!control.closest("form") : (
38
+ // We set this to true by default so that events bubble to forms without JS (SSR)
39
+ true
40
+ );
41
+ const context = {
42
+ checked,
43
+ disabled,
44
+ setChecked,
45
+ control,
46
+ setControl,
47
+ name,
48
+ form,
49
+ value,
50
+ hasConsumerStoppedPropagationRef,
51
+ required,
52
+ defaultChecked: isIndeterminate(defaultChecked) ? false : defaultChecked,
53
+ isFormControl,
54
+ bubbleInput,
55
+ setBubbleInput
56
+ };
57
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
58
+ CheckboxProviderImpl,
59
+ {
60
+ scope: __scopeCheckbox,
61
+ ...context,
62
+ children: isFunction(internal_do_not_use_render) ? internal_do_not_use_render(context) : children
63
+ }
64
+ );
65
+ }
66
+ var TRIGGER_NAME = "CheckboxTrigger";
67
+ var CheckboxTrigger = reactExports.forwardRef(
68
+ ({ __scopeCheckbox, onKeyDown, onClick, ...checkboxProps }, forwardedRef) => {
69
+ const {
70
+ control,
71
+ value,
72
+ disabled,
73
+ checked,
74
+ required,
75
+ setControl,
76
+ setChecked,
77
+ hasConsumerStoppedPropagationRef,
78
+ isFormControl,
79
+ bubbleInput
80
+ } = useCheckboxContext(TRIGGER_NAME, __scopeCheckbox);
81
+ const composedRefs = useComposedRefs(forwardedRef, setControl);
82
+ const initialCheckedStateRef = reactExports.useRef(checked);
83
+ reactExports.useEffect(() => {
84
+ const form = control?.form;
85
+ if (form) {
86
+ const reset = () => setChecked(initialCheckedStateRef.current);
87
+ form.addEventListener("reset", reset);
88
+ return () => form.removeEventListener("reset", reset);
89
+ }
90
+ }, [control, setChecked]);
91
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
92
+ Primitive.button,
93
+ {
94
+ type: "button",
95
+ role: "checkbox",
96
+ "aria-checked": isIndeterminate(checked) ? "mixed" : checked,
97
+ "aria-required": required,
98
+ "data-state": getState(checked),
99
+ "data-disabled": disabled ? "" : void 0,
100
+ disabled,
101
+ value,
102
+ ...checkboxProps,
103
+ ref: composedRefs,
104
+ onKeyDown: composeEventHandlers(onKeyDown, (event) => {
105
+ if (event.key === "Enter") event.preventDefault();
106
+ }),
107
+ onClick: composeEventHandlers(onClick, (event) => {
108
+ setChecked((prevChecked) => isIndeterminate(prevChecked) ? true : !prevChecked);
109
+ if (bubbleInput && isFormControl) {
110
+ hasConsumerStoppedPropagationRef.current = event.isPropagationStopped();
111
+ if (!hasConsumerStoppedPropagationRef.current) event.stopPropagation();
112
+ }
113
+ })
114
+ }
115
+ );
116
+ }
117
+ );
118
+ CheckboxTrigger.displayName = TRIGGER_NAME;
119
+ var Checkbox = reactExports.forwardRef(
120
+ (props, forwardedRef) => {
121
+ const {
122
+ __scopeCheckbox,
123
+ name,
124
+ checked,
125
+ defaultChecked,
126
+ required,
127
+ disabled,
128
+ value,
129
+ onCheckedChange,
130
+ form,
131
+ ...checkboxProps
132
+ } = props;
133
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
134
+ CheckboxProvider,
135
+ {
136
+ __scopeCheckbox,
137
+ checked,
138
+ defaultChecked,
139
+ disabled,
140
+ required,
141
+ onCheckedChange,
142
+ name,
143
+ form,
144
+ value,
145
+ internal_do_not_use_render: ({ isFormControl }) => /* @__PURE__ */ jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment, { children: [
146
+ /* @__PURE__ */ jsxRuntimeExports.jsx(
147
+ CheckboxTrigger,
148
+ {
149
+ ...checkboxProps,
150
+ ref: forwardedRef,
151
+ __scopeCheckbox
152
+ }
153
+ ),
154
+ isFormControl && /* @__PURE__ */ jsxRuntimeExports.jsx(
155
+ CheckboxBubbleInput,
156
+ {
157
+ __scopeCheckbox
158
+ }
159
+ )
160
+ ] })
161
+ }
162
+ );
163
+ }
164
+ );
165
+ Checkbox.displayName = CHECKBOX_NAME;
166
+ var INDICATOR_NAME = "CheckboxIndicator";
167
+ var CheckboxIndicator = reactExports.forwardRef(
168
+ (props, forwardedRef) => {
169
+ const { __scopeCheckbox, forceMount, ...indicatorProps } = props;
170
+ const context = useCheckboxContext(INDICATOR_NAME, __scopeCheckbox);
171
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
172
+ Presence,
173
+ {
174
+ present: forceMount || isIndeterminate(context.checked) || context.checked === true,
175
+ children: /* @__PURE__ */ jsxRuntimeExports.jsx(
176
+ Primitive.span,
177
+ {
178
+ "data-state": getState(context.checked),
179
+ "data-disabled": context.disabled ? "" : void 0,
180
+ ...indicatorProps,
181
+ ref: forwardedRef,
182
+ style: { pointerEvents: "none", ...props.style }
183
+ }
184
+ )
185
+ }
186
+ );
187
+ }
188
+ );
189
+ CheckboxIndicator.displayName = INDICATOR_NAME;
190
+ var BUBBLE_INPUT_NAME = "CheckboxBubbleInput";
191
+ var CheckboxBubbleInput = reactExports.forwardRef(
192
+ ({ __scopeCheckbox, ...props }, forwardedRef) => {
193
+ const {
194
+ control,
195
+ hasConsumerStoppedPropagationRef,
196
+ checked,
197
+ defaultChecked,
198
+ required,
199
+ disabled,
200
+ name,
201
+ value,
202
+ form,
203
+ bubbleInput,
204
+ setBubbleInput
205
+ } = useCheckboxContext(BUBBLE_INPUT_NAME, __scopeCheckbox);
206
+ const composedRefs = useComposedRefs(forwardedRef, setBubbleInput);
207
+ const prevChecked = usePrevious(checked);
208
+ const controlSize = useSize(control);
209
+ reactExports.useEffect(() => {
210
+ const input = bubbleInput;
211
+ if (!input) return;
212
+ const inputProto = window.HTMLInputElement.prototype;
213
+ const descriptor = Object.getOwnPropertyDescriptor(
214
+ inputProto,
215
+ "checked"
216
+ );
217
+ const setChecked = descriptor.set;
218
+ const bubbles = !hasConsumerStoppedPropagationRef.current;
219
+ if (prevChecked !== checked && setChecked) {
220
+ const event = new Event("click", { bubbles });
221
+ input.indeterminate = isIndeterminate(checked);
222
+ setChecked.call(input, isIndeterminate(checked) ? false : checked);
223
+ input.dispatchEvent(event);
224
+ }
225
+ }, [bubbleInput, prevChecked, checked, hasConsumerStoppedPropagationRef]);
226
+ const defaultCheckedRef = reactExports.useRef(isIndeterminate(checked) ? false : checked);
227
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(
228
+ Primitive.input,
229
+ {
230
+ type: "checkbox",
231
+ "aria-hidden": true,
232
+ defaultChecked: defaultChecked ?? defaultCheckedRef.current,
233
+ required,
234
+ disabled,
235
+ name,
236
+ value,
237
+ form,
238
+ ...props,
239
+ tabIndex: -1,
240
+ ref: composedRefs,
241
+ style: {
242
+ ...props.style,
243
+ ...controlSize,
244
+ position: "absolute",
245
+ pointerEvents: "none",
246
+ opacity: 0,
247
+ margin: 0,
248
+ // We transform because the input is absolutely positioned but we have
249
+ // rendered it **after** the button. This pulls it back to sit on top
250
+ // of the button.
251
+ transform: "translateX(-100%)"
252
+ }
253
+ }
254
+ );
255
+ }
256
+ );
257
+ CheckboxBubbleInput.displayName = BUBBLE_INPUT_NAME;
258
+ function isFunction(value) {
259
+ return typeof value === "function";
260
+ }
261
+ function isIndeterminate(checked) {
262
+ return checked === "indeterminate";
263
+ }
264
+ function getState(checked) {
265
+ return isIndeterminate(checked) ? "indeterminate" : checked ? "checked" : "unchecked";
266
+ }
267
+ export {
268
+ Checkbox as C,
269
+ CheckboxIndicator as a
270
+ };
@@ -0,0 +1,69 @@
1
+ import { a as React, j as jsxRuntimeExports } from "../react.mjs";
2
+ import { c as createContextScope } from "./react-context.mjs";
3
+ import { u as useComposedRefs } from "./react-compose-refs.mjs";
4
+ import { b as createSlot } from "./react-slot.mjs";
5
+ function createCollection(name) {
6
+ const PROVIDER_NAME = name + "CollectionProvider";
7
+ const [createCollectionContext, createCollectionScope] = createContextScope(PROVIDER_NAME);
8
+ const [CollectionProviderImpl, useCollectionContext] = createCollectionContext(
9
+ PROVIDER_NAME,
10
+ { collectionRef: { current: null }, itemMap: /* @__PURE__ */ new Map() }
11
+ );
12
+ const CollectionProvider = (props) => {
13
+ const { scope, children } = props;
14
+ const ref = React.useRef(null);
15
+ const itemMap = React.useRef(/* @__PURE__ */ new Map()).current;
16
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(CollectionProviderImpl, { scope, itemMap, collectionRef: ref, children });
17
+ };
18
+ CollectionProvider.displayName = PROVIDER_NAME;
19
+ const COLLECTION_SLOT_NAME = name + "CollectionSlot";
20
+ const CollectionSlotImpl = createSlot(COLLECTION_SLOT_NAME);
21
+ const CollectionSlot = React.forwardRef(
22
+ (props, forwardedRef) => {
23
+ const { scope, children } = props;
24
+ const context = useCollectionContext(COLLECTION_SLOT_NAME, scope);
25
+ const composedRefs = useComposedRefs(forwardedRef, context.collectionRef);
26
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(CollectionSlotImpl, { ref: composedRefs, children });
27
+ }
28
+ );
29
+ CollectionSlot.displayName = COLLECTION_SLOT_NAME;
30
+ const ITEM_SLOT_NAME = name + "CollectionItemSlot";
31
+ const ITEM_DATA_ATTR = "data-radix-collection-item";
32
+ const CollectionItemSlotImpl = createSlot(ITEM_SLOT_NAME);
33
+ const CollectionItemSlot = React.forwardRef(
34
+ (props, forwardedRef) => {
35
+ const { scope, children, ...itemData } = props;
36
+ const ref = React.useRef(null);
37
+ const composedRefs = useComposedRefs(forwardedRef, ref);
38
+ const context = useCollectionContext(ITEM_SLOT_NAME, scope);
39
+ React.useEffect(() => {
40
+ context.itemMap.set(ref, { ref, ...itemData });
41
+ return () => void context.itemMap.delete(ref);
42
+ });
43
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(CollectionItemSlotImpl, { ...{ [ITEM_DATA_ATTR]: "" }, ref: composedRefs, children });
44
+ }
45
+ );
46
+ CollectionItemSlot.displayName = ITEM_SLOT_NAME;
47
+ function useCollection(scope) {
48
+ const context = useCollectionContext(name + "CollectionConsumer", scope);
49
+ const getItems = React.useCallback(() => {
50
+ const collectionNode = context.collectionRef.current;
51
+ if (!collectionNode) return [];
52
+ const orderedNodes = Array.from(collectionNode.querySelectorAll(`[${ITEM_DATA_ATTR}]`));
53
+ const items = Array.from(context.itemMap.values());
54
+ const orderedItems = items.sort(
55
+ (a, b) => orderedNodes.indexOf(a.ref.current) - orderedNodes.indexOf(b.ref.current)
56
+ );
57
+ return orderedItems;
58
+ }, [context.collectionRef, context.itemMap]);
59
+ return getItems;
60
+ }
61
+ return [
62
+ { Provider: CollectionProvider, Slot: CollectionSlot, ItemSlot: CollectionItemSlot },
63
+ useCollection,
64
+ createCollectionScope
65
+ ];
66
+ }
67
+ export {
68
+ createCollection as c
69
+ };
@@ -0,0 +1,39 @@
1
+ import { r as reactExports } from "../react.mjs";
2
+ function setRef(ref, value) {
3
+ if (typeof ref === "function") {
4
+ return ref(value);
5
+ } else if (ref !== null && ref !== void 0) {
6
+ ref.current = value;
7
+ }
8
+ }
9
+ function composeRefs(...refs) {
10
+ return (node) => {
11
+ let hasCleanup = false;
12
+ const cleanups = refs.map((ref) => {
13
+ const cleanup = setRef(ref, node);
14
+ if (!hasCleanup && typeof cleanup == "function") {
15
+ hasCleanup = true;
16
+ }
17
+ return cleanup;
18
+ });
19
+ if (hasCleanup) {
20
+ return () => {
21
+ for (let i = 0; i < cleanups.length; i++) {
22
+ const cleanup = cleanups[i];
23
+ if (typeof cleanup == "function") {
24
+ cleanup();
25
+ } else {
26
+ setRef(refs[i], null);
27
+ }
28
+ }
29
+ };
30
+ }
31
+ };
32
+ }
33
+ function useComposedRefs(...refs) {
34
+ return reactExports.useCallback(composeRefs(...refs), refs);
35
+ }
36
+ export {
37
+ composeRefs as c,
38
+ useComposedRefs as u
39
+ };
@@ -0,0 +1,137 @@
1
+ import { r as reactExports, j as jsxRuntimeExports } from "../react.mjs";
2
+ function createContext2(rootComponentName, defaultContext) {
3
+ const Context = reactExports.createContext(defaultContext);
4
+ const Provider = (props) => {
5
+ const { children, ...context } = props;
6
+ const value = reactExports.useMemo(() => context, Object.values(context));
7
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Context.Provider, { value, children });
8
+ };
9
+ Provider.displayName = rootComponentName + "Provider";
10
+ function useContext2(consumerName) {
11
+ const context = reactExports.useContext(Context);
12
+ if (context) return context;
13
+ if (defaultContext !== void 0) return defaultContext;
14
+ throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
15
+ }
16
+ return [Provider, useContext2];
17
+ }
18
+ function createContextScope$1(scopeName, createContextScopeDeps = []) {
19
+ let defaultContexts = [];
20
+ function createContext3(rootComponentName, defaultContext) {
21
+ const BaseContext = reactExports.createContext(defaultContext);
22
+ const index = defaultContexts.length;
23
+ defaultContexts = [...defaultContexts, defaultContext];
24
+ const Provider = (props) => {
25
+ const { scope, children, ...context } = props;
26
+ const Context = scope?.[scopeName]?.[index] || BaseContext;
27
+ const value = reactExports.useMemo(() => context, Object.values(context));
28
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Context.Provider, { value, children });
29
+ };
30
+ Provider.displayName = rootComponentName + "Provider";
31
+ function useContext2(consumerName, scope) {
32
+ const Context = scope?.[scopeName]?.[index] || BaseContext;
33
+ const context = reactExports.useContext(Context);
34
+ if (context) return context;
35
+ if (defaultContext !== void 0) return defaultContext;
36
+ throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
37
+ }
38
+ return [Provider, useContext2];
39
+ }
40
+ const createScope = () => {
41
+ const scopeContexts = defaultContexts.map((defaultContext) => {
42
+ return reactExports.createContext(defaultContext);
43
+ });
44
+ return function useScope(scope) {
45
+ const contexts = scope?.[scopeName] || scopeContexts;
46
+ return reactExports.useMemo(
47
+ () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),
48
+ [scope, contexts]
49
+ );
50
+ };
51
+ };
52
+ createScope.scopeName = scopeName;
53
+ return [createContext3, composeContextScopes$1(createScope, ...createContextScopeDeps)];
54
+ }
55
+ function composeContextScopes$1(...scopes) {
56
+ const baseScope = scopes[0];
57
+ if (scopes.length === 1) return baseScope;
58
+ const createScope = () => {
59
+ const scopeHooks = scopes.map((createScope2) => ({
60
+ useScope: createScope2(),
61
+ scopeName: createScope2.scopeName
62
+ }));
63
+ return function useComposedScopes(overrideScopes) {
64
+ const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {
65
+ const scopeProps = useScope(overrideScopes);
66
+ const currentScope = scopeProps[`__scope${scopeName}`];
67
+ return { ...nextScopes2, ...currentScope };
68
+ }, {});
69
+ return reactExports.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);
70
+ };
71
+ };
72
+ createScope.scopeName = baseScope.scopeName;
73
+ return createScope;
74
+ }
75
+ function createContextScope(scopeName, createContextScopeDeps = []) {
76
+ let defaultContexts = [];
77
+ function createContext3(rootComponentName, defaultContext) {
78
+ const BaseContext = reactExports.createContext(defaultContext);
79
+ BaseContext.displayName = rootComponentName + "Context";
80
+ const index = defaultContexts.length;
81
+ defaultContexts = [...defaultContexts, defaultContext];
82
+ const Provider = (props) => {
83
+ const { scope, children, ...context } = props;
84
+ const Context = scope?.[scopeName]?.[index] || BaseContext;
85
+ const value = reactExports.useMemo(() => context, Object.values(context));
86
+ return /* @__PURE__ */ jsxRuntimeExports.jsx(Context.Provider, { value, children });
87
+ };
88
+ Provider.displayName = rootComponentName + "Provider";
89
+ function useContext2(consumerName, scope) {
90
+ const Context = scope?.[scopeName]?.[index] || BaseContext;
91
+ const context = reactExports.useContext(Context);
92
+ if (context) return context;
93
+ if (defaultContext !== void 0) return defaultContext;
94
+ throw new Error(`\`${consumerName}\` must be used within \`${rootComponentName}\``);
95
+ }
96
+ return [Provider, useContext2];
97
+ }
98
+ const createScope = () => {
99
+ const scopeContexts = defaultContexts.map((defaultContext) => {
100
+ return reactExports.createContext(defaultContext);
101
+ });
102
+ return function useScope(scope) {
103
+ const contexts = scope?.[scopeName] || scopeContexts;
104
+ return reactExports.useMemo(
105
+ () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),
106
+ [scope, contexts]
107
+ );
108
+ };
109
+ };
110
+ createScope.scopeName = scopeName;
111
+ return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];
112
+ }
113
+ function composeContextScopes(...scopes) {
114
+ const baseScope = scopes[0];
115
+ if (scopes.length === 1) return baseScope;
116
+ const createScope = () => {
117
+ const scopeHooks = scopes.map((createScope2) => ({
118
+ useScope: createScope2(),
119
+ scopeName: createScope2.scopeName
120
+ }));
121
+ return function useComposedScopes(overrideScopes) {
122
+ const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {
123
+ const scopeProps = useScope(overrideScopes);
124
+ const currentScope = scopeProps[`__scope${scopeName}`];
125
+ return { ...nextScopes2, ...currentScope };
126
+ }, {});
127
+ return reactExports.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);
128
+ };
129
+ };
130
+ createScope.scopeName = baseScope.scopeName;
131
+ return createScope;
132
+ }
133
+ export {
134
+ createContextScope as a,
135
+ createContext2 as b,
136
+ createContextScope$1 as c
137
+ };