@weaverse/next 0.1.0-alpha.12 → 0.1.0-alpha.14
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/README.md +125 -23
- package/dist/{chunk-MQ6N5ODA.mjs → chunk-NL22OVD7.mjs} +93 -4
- package/dist/chunk-NL22OVD7.mjs.map +1 -0
- package/dist/index.js +98 -4
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +32 -26
- package/dist/index.mjs.map +1 -1
- package/dist/server.js +158 -2
- package/dist/server.js.map +1 -1
- package/dist/server.mjs +126 -5
- package/dist/server.mjs.map +1 -1
- package/dist/types/client.d.ts +16 -0
- package/dist/types/client.d.ts.map +1 -0
- package/dist/types/hooks.d.ts +20 -0
- package/dist/types/hooks.d.ts.map +1 -0
- package/dist/types/index.d.ts +34 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/item.d.ts +54 -0
- package/dist/types/item.d.ts.map +1 -0
- package/dist/types/loader.d.ts +25 -0
- package/dist/types/loader.d.ts.map +1 -0
- package/dist/types/main.d.ts +11 -0
- package/dist/types/main.d.ts.map +1 -0
- package/dist/types/provider.d.ts +82 -0
- package/dist/types/provider.d.ts.map +1 -0
- package/dist/types/registry.d.ts +15 -0
- package/dist/types/registry.d.ts.map +1 -0
- package/dist/types/renderer.d.ts +20 -0
- package/dist/types/renderer.d.ts.map +1 -0
- package/dist/types/request-info.d.ts +8 -0
- package/dist/types/request-info.d.ts.map +1 -0
- package/dist/types/revalidate-item.d.ts +81 -0
- package/dist/types/revalidate-item.d.ts.map +1 -0
- package/dist/types/root-provider.d.ts +61 -0
- package/dist/types/root-provider.d.ts.map +1 -0
- package/dist/types/runtime.d.ts +113 -0
- package/dist/types/runtime.d.ts.map +1 -0
- package/dist/types/seo.d.ts +55 -0
- package/dist/types/seo.d.ts.map +1 -0
- package/dist/types/server/configs.d.ts +27 -0
- package/dist/types/server/configs.d.ts.map +1 -0
- package/dist/types/server/normalize-page-url.d.ts +19 -0
- package/dist/types/server/normalize-page-url.d.ts.map +1 -0
- package/dist/types/server/revalidate-handler.d.ts +55 -0
- package/dist/types/server/revalidate-handler.d.ts.map +1 -0
- package/dist/types/server/server-client.d.ts +21 -0
- package/dist/types/server/server-client.d.ts.map +1 -0
- package/dist/types/server.d.ts +19 -0
- package/dist/types/server.d.ts.map +1 -0
- package/dist/types/studio-bridge.d.ts +16 -0
- package/dist/types/studio-bridge.d.ts.map +1 -0
- package/dist/types/studio-connect.d.ts +27 -0
- package/dist/types/studio-connect.d.ts.map +1 -0
- package/dist/types/studio-router.d.ts +50 -0
- package/dist/types/studio-router.d.ts.map +1 -0
- package/dist/types/studio-script-src.d.ts +12 -0
- package/dist/types/studio-script-src.d.ts.map +1 -0
- package/dist/types/theme-settings-store.d.ts +17 -0
- package/dist/types/theme-settings-store.d.ts.map +1 -0
- package/dist/types/translation-context.d.ts +156 -0
- package/dist/types/translation-context.d.ts.map +1 -0
- package/dist/types/translation-store.d.ts +44 -0
- package/dist/types/translation-store.d.ts.map +1 -0
- package/dist/types/types.d.ts +661 -0
- package/dist/types/types.d.ts.map +1 -0
- package/dist/types/use-weaverse-next-studio.d.ts +34 -0
- package/dist/types/use-weaverse-next-studio.d.ts.map +1 -0
- package/dist/types/utils.d.ts +12 -0
- package/dist/types/utils.d.ts.map +1 -0
- package/package.json +7 -6
- package/src/client.ts +101 -0
- package/src/hooks.ts +50 -0
- package/src/index.ts +153 -0
- package/src/item.ts +151 -0
- package/src/loader.ts +135 -0
- package/src/main.tsx +45 -0
- package/src/provider.tsx +225 -0
- package/src/registry.ts +63 -0
- package/src/renderer.tsx +99 -0
- package/src/request-info.ts +95 -0
- package/src/revalidate-item.ts +210 -0
- package/src/root-provider.tsx +181 -0
- package/src/runtime.ts +521 -0
- package/src/seo.ts +157 -0
- package/src/server/configs.ts +182 -0
- package/src/server/normalize-page-url.ts +65 -0
- package/src/server/revalidate-handler.ts +357 -0
- package/src/server/server-client.ts +727 -0
- package/src/server.ts +67 -0
- package/src/studio-bridge.tsx +82 -0
- package/src/studio-connect.tsx +88 -0
- package/src/studio-router.ts +85 -0
- package/src/studio-script-src.ts +125 -0
- package/src/theme-settings-store.ts +46 -0
- package/src/translation-context.tsx +299 -0
- package/src/translation-store.ts +69 -0
- package/src/types.ts +748 -0
- package/src/use-weaverse-next-studio.tsx +106 -0
- package/src/utils.ts +37 -0
- package/dist/chunk-MQ6N5ODA.mjs.map +0 -1
- package/dist/index.d.mts +0 -592
- package/dist/index.d.ts +0 -592
- package/dist/seo-CrEFl_Up.d.mts +0 -516
- package/dist/seo-CrEFl_Up.d.ts +0 -516
- package/dist/server.d.mts +0 -100
- package/dist/server.d.ts +0 -100
package/dist/index.mjs
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { buildWeaverseNextRequestInfo, generateDataFromSchema } from './chunk-
|
|
2
|
-
export { buildWeaverseNextRequestInfo, formatWeaverseNextSeoMetadata, generateDataFromSchema, getWeaverseNextSeoMetadata, runWeaverseComponentLoaders } from './chunk-
|
|
1
|
+
import { buildWeaverseNextRequestInfo, DEFAULT_REVALIDATE_ENDPOINT, revalidateWeaverseNextItem, generateDataFromSchema } from './chunk-NL22OVD7.mjs';
|
|
2
|
+
export { DEFAULT_REVALIDATE_ENDPOINT, buildWeaverseNextRequestInfo, buildWeaverseNextRevalidateRouteContext, formatWeaverseNextSeoMetadata, generateDataFromSchema, getWeaverseNextSeoMetadata, revalidateWeaverseNextItem, runWeaverseComponentLoaders } from './chunk-NL22OVD7.mjs';
|
|
3
3
|
import { WeaverseRoot, Weaverse, WeaverseItemStore, useSafeExternalStore } from '@weaverse/react';
|
|
4
4
|
export { isBrowser, isIframe, useChildInstances, useItemInstance, useParentInstance, useWeaverse } from '@weaverse/react';
|
|
5
5
|
import { createSchema } from '@weaverse/schema';
|
|
@@ -35,6 +35,7 @@ var WeaverseNextItem = class extends WeaverseItemStore {
|
|
|
35
35
|
_cachedSnapshot = null;
|
|
36
36
|
_snapshotStoreRef = null;
|
|
37
37
|
_snapshotTranslationRef = null;
|
|
38
|
+
/** Create an item store from serialized component data and its runtime. */
|
|
38
39
|
constructor(initialData, weaverse) {
|
|
39
40
|
super(initialData, weaverse);
|
|
40
41
|
let schemaData = generateDataFromSchema(this.Element?.schema);
|
|
@@ -300,18 +301,24 @@ var useThemeText = useTranslation;
|
|
|
300
301
|
|
|
301
302
|
// src/translation-store.ts
|
|
302
303
|
var TranslationStore = class {
|
|
304
|
+
/** Current flat translation overrides keyed by dot path. */
|
|
303
305
|
overrides = {};
|
|
304
306
|
listeners = /* @__PURE__ */ new Set();
|
|
307
|
+
/** Replace every override and notify subscribers. */
|
|
305
308
|
setOverrides = (overrides) => {
|
|
306
309
|
this.overrides = { ...overrides };
|
|
307
310
|
this.emit();
|
|
308
311
|
};
|
|
312
|
+
/** Merge changed overrides into the current values and notify subscribers. */
|
|
309
313
|
updateOverrides = (newOverrides) => {
|
|
310
314
|
this.overrides = { ...this.overrides, ...newOverrides };
|
|
311
315
|
this.emit();
|
|
312
316
|
};
|
|
317
|
+
/** Return the current client-side override snapshot. */
|
|
313
318
|
getSnapshot = () => this.overrides;
|
|
319
|
+
/** Return the override snapshot used during server rendering. */
|
|
314
320
|
getServerSnapshot = () => this.overrides;
|
|
321
|
+
/** Subscribe to override changes and return an unsubscribe function. */
|
|
315
322
|
subscribe = (callback) => {
|
|
316
323
|
this.listeners.add(callback);
|
|
317
324
|
return () => {
|
|
@@ -538,12 +545,30 @@ function registerRuntime(runtime) {
|
|
|
538
545
|
runtimeWindow.__weaverses[runtime.pageId] = runtime;
|
|
539
546
|
runtimeWindow.__weaverse = runtime;
|
|
540
547
|
}
|
|
548
|
+
function rebindPageItemsToRuntime(runtime) {
|
|
549
|
+
let items = runtime.data?.items;
|
|
550
|
+
if (!items) {
|
|
551
|
+
return;
|
|
552
|
+
}
|
|
553
|
+
for (let { id } of items) {
|
|
554
|
+
let instance = runtime.itemInstances.get(id);
|
|
555
|
+
if (instance && instance.weaverse !== runtime) {
|
|
556
|
+
instance.weaverse = runtime;
|
|
557
|
+
}
|
|
558
|
+
}
|
|
559
|
+
}
|
|
541
560
|
var WeaverseNextRuntime = class extends Weaverse {
|
|
561
|
+
/** Stable ID of the page owned by this runtime. */
|
|
542
562
|
pageId;
|
|
563
|
+
/** Mutable callbacks and stores consumed by the Studio bridge. */
|
|
543
564
|
internal;
|
|
565
|
+
/** Path, query, and locale metadata for Studio navigation. */
|
|
544
566
|
requestInfo;
|
|
567
|
+
/** Whether this runtime renders a component preview. */
|
|
545
568
|
isPreviewMode;
|
|
569
|
+
/** Whether this runtime renders a saved revision. */
|
|
546
570
|
isRevisionPreview;
|
|
571
|
+
/** Component type rendered in section preview mode. */
|
|
547
572
|
sectionType;
|
|
548
573
|
// ─── Item-level translation sidecar (design mode only) ─────────────
|
|
549
574
|
/**
|
|
@@ -552,7 +577,9 @@ var WeaverseNextRuntime = class extends Weaverse {
|
|
|
552
577
|
* components, so translations render without mutating the base `_store`.
|
|
553
578
|
*/
|
|
554
579
|
translationMap = {};
|
|
580
|
+
/** Locale associated with the item-level translation sidecar. */
|
|
555
581
|
translationLocale = String();
|
|
582
|
+
/** Weaverse language ID used when saving translation changes. */
|
|
556
583
|
translationLanguageId = String();
|
|
557
584
|
/**
|
|
558
585
|
* Fresh page data captured while React was rendering. Runtime reuse happens
|
|
@@ -570,6 +597,7 @@ var WeaverseNextRuntime = class extends Weaverse {
|
|
|
570
597
|
* deferred to `flushRenderPhaseUpdates()`.
|
|
571
598
|
*/
|
|
572
599
|
pendingItemUpdates = [];
|
|
600
|
+
/** Create a browser runtime from a loaded page and its request context. */
|
|
573
601
|
constructor(config) {
|
|
574
602
|
let { client, data } = config;
|
|
575
603
|
let page = getRenderablePage(data);
|
|
@@ -761,6 +789,7 @@ function createWeaverseNextRuntime(config) {
|
|
|
761
789
|
() => new WeaverseNextRuntime(config)
|
|
762
790
|
);
|
|
763
791
|
runtime.pendingItemUpdates = refreshedItems;
|
|
792
|
+
rebindPageItemsToRuntime(runtime);
|
|
764
793
|
runtime.__weaverseNextRequestKey = requestKey;
|
|
765
794
|
runtime.__weaverseNextLatestData = page;
|
|
766
795
|
registerRuntime(runtime);
|
|
@@ -790,29 +819,6 @@ function bindWeaverseNextStudioRuntime(runtime) {
|
|
|
790
819
|
});
|
|
791
820
|
return true;
|
|
792
821
|
}
|
|
793
|
-
|
|
794
|
-
// src/revalidate-item.ts
|
|
795
|
-
var DEFAULT_REVALIDATE_ENDPOINT = "/api/weaverse/revalidate";
|
|
796
|
-
async function revalidateWeaverseNextItem(runtime, draftItem, endpoint = DEFAULT_REVALIDATE_ENDPOINT) {
|
|
797
|
-
let instance = runtime.itemInstances.get(draftItem.id);
|
|
798
|
-
if (!instance) {
|
|
799
|
-
throw new Error(
|
|
800
|
-
`[weaverse-next] No live item instance for "${draftItem.id}".`
|
|
801
|
-
);
|
|
802
|
-
}
|
|
803
|
-
let response = await fetch(endpoint, {
|
|
804
|
-
method: "POST",
|
|
805
|
-
headers: { "Content-Type": "application/json" },
|
|
806
|
-
body: JSON.stringify({ draftItem })
|
|
807
|
-
});
|
|
808
|
-
if (!response.ok) {
|
|
809
|
-
throw new Error(
|
|
810
|
-
`[weaverse-next] Revalidate endpoint responded ${response.status}.`
|
|
811
|
-
);
|
|
812
|
-
}
|
|
813
|
-
let { loaderData } = await response.json();
|
|
814
|
-
instance.setData({ loaderData: loaderData ?? null });
|
|
815
|
-
}
|
|
816
822
|
var STUDIO_BIND_RETRY_INTERVAL_MS = 50;
|
|
817
823
|
var STUDIO_BIND_MAX_ATTEMPTS = 100;
|
|
818
824
|
function WeaverseNextStudioBridge(props) {
|
|
@@ -1077,6 +1083,6 @@ function WeaverseNextStudioConnect(props) {
|
|
|
1077
1083
|
return null;
|
|
1078
1084
|
}
|
|
1079
1085
|
|
|
1080
|
-
export {
|
|
1086
|
+
export { ThemeTextProvider, ThemeTextStore, TranslationProvider, TranslationStore, WeaverseNextProvider, WeaverseNextRenderer, WeaverseNextRootProvider, WeaverseNextRuntime, WeaverseNextStudio, WeaverseNextStudioBridge, WeaverseNextStudioConnect, bindWeaverseNextStudioRuntime, createTranslate, createWeaverseNextClient, createWeaverseNextRuntime, createWeaverseNextStudioInternals, createWeaverseNextThemeSettingsStore, getNestedKey, interpolate, loadWeaverseNextStudioScript, resolveWeaverseNextStudioScriptSrc, useThemeSettings, useThemeText, useTranslation, useWeaverseCommerce, useWeaverseNextStudioInternals, useWeaversePageData, useWeaverseRootData };
|
|
1081
1087
|
//# sourceMappingURL=index.mjs.map
|
|
1082
1088
|
//# sourceMappingURL=index.mjs.map
|