@weaverse/next 1.1.2 → 1.1.4
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.
- package/dist/client-boundary.js +37 -12
- package/dist/client-boundary.js.map +1 -1
- package/dist/client-boundary.mjs +34 -15
- package/dist/client-boundary.mjs.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.mjs +2 -2
- package/dist/types/client-boundary.d.ts +1 -1
- package/dist/types/client-boundary.d.ts.map +1 -1
- package/dist/types/index.d.ts +2 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/provider.d.ts +3 -0
- package/dist/types/provider.d.ts.map +1 -1
- package/dist/types/renderer.d.ts.map +1 -1
- package/dist/types/root-provider.d.ts +3 -0
- package/dist/types/root-provider.d.ts.map +1 -1
- package/dist/types/runtime.d.ts.map +1 -1
- package/dist/types/types.d.ts +5 -1
- package/dist/types/types.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/client-boundary.ts +1 -0
- package/src/index.ts +2 -0
- package/src/provider.tsx +26 -8
- package/src/renderer.tsx +2 -0
- package/src/root-provider.tsx +30 -9
- package/src/runtime.ts +4 -0
- package/src/types.ts +5 -0
package/dist/client-boundary.mjs
CHANGED
|
@@ -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(
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
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(
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
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
|