@weaverse/next 1.1.1 → 1.1.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.
@@ -1,8 +1,8 @@
1
1
  'use client'
2
- import { Weaverse, WeaverseItemStore, WeaverseRoot, useChildInstances, useItemInstance, useParentInstance, useSafeExternalStore, useWeaverse } from "@weaverse/react";
2
+ import { StudioSelectionStore, StudioSelectionStoreContext, Weaverse, WeaverseItemStore, WeaverseRoot, useChildInstances, useItemInstance, useParentInstance, useSafeExternalStore, useStudioSelection, useWeaverse } from "@weaverse/react";
3
3
  import { PageTypeSchema, createSchema } from "@weaverse/schema";
4
4
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
- import { createContext, memo, useContext, useEffect, useLayoutEffect, useMemo, useRef, useSyncExternalStore } from "react";
5
+ import { createContext, memo, useContext, useEffect, useLayoutEffect, useMemo, useRef, useState, useSyncExternalStore } from "react";
6
6
  import { useRouter } from "next/navigation";
7
7
  //#region src/utils.ts
8
8
  function generateDataFromSchema(schema) {
@@ -306,6 +306,7 @@ function WeaverseNextRootProvider(props) {
306
306
  let translationStoreRef = useRef(null);
307
307
  if (!translationStoreRef.current) translationStoreRef.current = new TranslationStore();
308
308
  let translationStore = translationStoreRef.current;
309
+ let [studioSelectionStore] = useState(() => new StudioSelectionStore());
309
310
  let appliedThemeSettingsRef = useRef(initialThemeSettings);
310
311
  useEffect(() => {
311
312
  if (initialThemeSettings && appliedThemeSettingsRef.current !== initialThemeSettings) {
@@ -318,33 +319,40 @@ function WeaverseNextRootProvider(props) {
318
319
  merchantOverrides,
319
320
  staticContent: resolvedStaticContent,
320
321
  themeSettingsStore,
322
+ studioSelectionStore,
321
323
  translationStore
322
324
  }), [
323
325
  merchantOverrides,
324
326
  resolvedStaticContent,
325
327
  themeSettingsStore,
328
+ studioSelectionStore,
326
329
  translationStore
327
330
  ]);
328
331
  let contextValue = useMemo(() => ({
329
332
  merchantOverrides,
330
333
  themeSettings: themeSettingsStore.getSnapshot(),
331
334
  themeSettingsStore,
335
+ studioSelectionStore,
332
336
  translationStore
333
337
  }), [
334
338
  merchantOverrides,
335
339
  themeSettingsStore,
340
+ studioSelectionStore,
336
341
  translationStore
337
342
  ]);
338
343
  return /* @__PURE__ */ jsx(WeaverseNextRootContext.Provider, {
339
344
  value: rootContextValue,
340
345
  children: /* @__PURE__ */ jsx(WeaverseNextContext.Provider, {
341
346
  value: contextValue,
342
- children: /* @__PURE__ */ jsx(TranslationProvider, {
343
- merchantOverrides,
344
- staticContent: resolvedStaticContent,
345
- t,
346
- translationStore,
347
- children
347
+ children: /* @__PURE__ */ jsx(StudioSelectionStoreContext.Provider, {
348
+ value: studioSelectionStore,
349
+ children: /* @__PURE__ */ jsx(TranslationProvider, {
350
+ merchantOverrides,
351
+ staticContent: resolvedStaticContent,
352
+ t,
353
+ translationStore,
354
+ children
355
+ })
348
356
  })
349
357
  })
350
358
  });
@@ -364,6 +372,8 @@ function WeaverseNextProvider(props) {
364
372
  let ownTranslationStoreRef = useRef(null);
365
373
  if (!(rootContext || ownTranslationStoreRef.current)) ownTranslationStoreRef.current = new TranslationStore();
366
374
  let translationStore = rootContext?.translationStore ?? ownTranslationStoreRef.current;
375
+ let [ownSelectionStore] = useState(() => new StudioSelectionStore());
376
+ let studioSelectionStore = rootContext?.studioSelectionStore ?? ownSelectionStore;
367
377
  let staticContent = props.staticContent ?? rootContext?.staticContent ?? getSchemaStaticContent(client?.themeSchema);
368
378
  let merchantOverrides = props.merchantOverrides ?? rootContext?.merchantOverrides;
369
379
  let ownThemeSettingsStore = useMemo(() => {
@@ -393,6 +403,7 @@ function WeaverseNextProvider(props) {
393
403
  merchantOverrides,
394
404
  themeSettings: themeSettingsStore.getSnapshot(),
395
405
  themeSettingsStore,
406
+ studioSelectionStore,
396
407
  translationStore
397
408
  }), [
398
409
  client,
@@ -401,16 +412,20 @@ function WeaverseNextProvider(props) {
401
412
  commerce,
402
413
  merchantOverrides,
403
414
  themeSettingsStore,
415
+ studioSelectionStore,
404
416
  translationStore
405
417
  ]);
406
418
  return /* @__PURE__ */ jsx(WeaverseNextContext.Provider, {
407
419
  value,
408
- children: /* @__PURE__ */ jsx(TranslationProvider, {
409
- merchantOverrides,
410
- staticContent,
411
- t: props.t,
412
- translationStore,
413
- children
420
+ children: /* @__PURE__ */ jsx(StudioSelectionStoreContext.Provider, {
421
+ value: studioSelectionStore,
422
+ children: /* @__PURE__ */ jsx(TranslationProvider, {
423
+ merchantOverrides,
424
+ staticContent,
425
+ t: props.t,
426
+ translationStore,
427
+ children
428
+ })
414
429
  })
415
430
  });
416
431
  }
@@ -592,6 +607,7 @@ var WeaverseNextRuntime = class extends Weaverse {
592
607
  schema: client?.themeSchema,
593
608
  settings: client?.themeSettings
594
609
  }),
610
+ studioSelectionStore: config.studioSelectionStore,
595
611
  translationStore,
596
612
  themeTextStore: translationStore
597
613
  };
@@ -690,6 +706,7 @@ function createWeaverseNextRuntime(config) {
690
706
  if (config.navigate) existing.internal.navigate = config.navigate;
691
707
  if (config.revalidate) existing.internal.revalidate = config.revalidate;
692
708
  if (config.themeSettingsStore) existing.internal.themeSettingsStore = config.themeSettingsStore;
709
+ if (config.studioSelectionStore) existing.internal.studioSelectionStore = config.studioSelectionStore;
693
710
  if (config.translationStore) {
694
711
  existing.internal.translationStore = config.translationStore;
695
712
  existing.internal.themeTextStore = config.translationStore;
@@ -911,6 +928,7 @@ const WeaverseNextRenderer = memo(function WeaverseNextRendererComponent(props)
911
928
  dataContext,
912
929
  merchantOverrides: context?.merchantOverrides,
913
930
  themeSettingsStore: context?.themeSettingsStore,
931
+ studioSelectionStore: context?.studioSelectionStore,
914
932
  translationStore: context?.translationStore
915
933
  });
916
934
  }, [
@@ -920,6 +938,7 @@ const WeaverseNextRenderer = memo(function WeaverseNextRendererComponent(props)
920
938
  dataContext,
921
939
  context?.merchantOverrides,
922
940
  context?.themeSettingsStore,
941
+ context?.studioSelectionStore,
923
942
  context?.translationStore
924
943
  ]);
925
944
  useIsomorphicLayoutEffect(() => {
@@ -1012,6 +1031,6 @@ function WeaverseNextStudioConnect(props) {
1012
1031
  return null;
1013
1032
  }
1014
1033
  //#endregion
1015
- export { ThemeTextProvider, TranslationProvider, WeaverseNextProvider, WeaverseNextRenderer, WeaverseNextRootProvider, WeaverseNextRuntime, WeaverseNextStudio, WeaverseNextStudioBridge, WeaverseNextStudioConnect, bindWeaverseNextStudioRuntime, createWeaverseNextClient, createWeaverseNextRuntime, loadWeaverseNextStudioScript, useChildInstances, useItemInstance, useParentInstance, useThemeSettings, useThemeText, useTranslation, useWeaverse, useWeaverseCommerce, useWeaverseNextStudioInternals, useWeaversePageData, useWeaverseRootData };
1034
+ export { ThemeTextProvider, TranslationProvider, WeaverseNextProvider, WeaverseNextRenderer, WeaverseNextRootProvider, WeaverseNextRuntime, WeaverseNextStudio, WeaverseNextStudioBridge, WeaverseNextStudioConnect, bindWeaverseNextStudioRuntime, createWeaverseNextClient, createWeaverseNextRuntime, loadWeaverseNextStudioScript, useChildInstances, useItemInstance, useParentInstance, useStudioSelection, useThemeSettings, useThemeText, useTranslation, useWeaverse, useWeaverseCommerce, useWeaverseNextStudioInternals, useWeaversePageData, useWeaverseRootData };
1016
1035
 
1017
1036
  //# sourceMappingURL=client-boundary.mjs.map