@cmssy/react 8.0.2 → 8.0.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.cjs +4 -2
- package/dist/client.d.cts +3 -1
- package/dist/client.d.ts +3 -1
- package/dist/client.js +4 -2
- package/dist/index.cjs +37 -0
- package/dist/index.d.cts +12 -1
- package/dist/index.d.ts +12 -1
- package/dist/index.js +37 -1
- package/package.json +2 -2
package/dist/client.cjs
CHANGED
|
@@ -652,7 +652,8 @@ function CmssyEditableLayout({
|
|
|
652
652
|
locale = "en",
|
|
653
653
|
defaultLocale = "en",
|
|
654
654
|
enabledLocales,
|
|
655
|
-
edit
|
|
655
|
+
edit,
|
|
656
|
+
data
|
|
656
657
|
}) {
|
|
657
658
|
const blockMap = react.useMemo(() => buildBlockMap(blocks), [blocks]);
|
|
658
659
|
const layoutBlocks = react.useMemo(() => {
|
|
@@ -674,7 +675,8 @@ function CmssyEditableLayout({
|
|
|
674
675
|
blockMap,
|
|
675
676
|
patchedContent: patches[block.id],
|
|
676
677
|
layoutPosition: position,
|
|
677
|
-
context
|
|
678
|
+
context,
|
|
679
|
+
data: data?.[block.id]
|
|
678
680
|
},
|
|
679
681
|
block.id
|
|
680
682
|
)) });
|
package/dist/client.d.cts
CHANGED
|
@@ -74,8 +74,9 @@ interface CmssyEditableLayoutProps {
|
|
|
74
74
|
defaultLocale?: string;
|
|
75
75
|
enabledLocales?: string[];
|
|
76
76
|
edit: EditBridgeConfig;
|
|
77
|
+
data?: Record<string, unknown>;
|
|
77
78
|
}
|
|
78
|
-
declare function CmssyEditableLayout({ groups, blocks, position, locale, defaultLocale, enabledLocales, edit, }: CmssyEditableLayoutProps): react_jsx_runtime.JSX.Element | null;
|
|
79
|
+
declare function CmssyEditableLayout({ groups, blocks, position, locale, defaultLocale, enabledLocales, edit, data, }: CmssyEditableLayoutProps): react_jsx_runtime.JSX.Element | null;
|
|
79
80
|
|
|
80
81
|
interface CmssyLazyLayoutProps {
|
|
81
82
|
groups: CmssyLayoutGroup[];
|
|
@@ -84,6 +85,7 @@ interface CmssyLazyLayoutProps {
|
|
|
84
85
|
defaultLocale?: string;
|
|
85
86
|
enabledLocales?: string[];
|
|
86
87
|
edit: EditBridgeConfig;
|
|
88
|
+
data?: Record<string, unknown>;
|
|
87
89
|
load: () => Promise<{
|
|
88
90
|
blocks: BlockDefinition[];
|
|
89
91
|
}>;
|
package/dist/client.d.ts
CHANGED
|
@@ -74,8 +74,9 @@ interface CmssyEditableLayoutProps {
|
|
|
74
74
|
defaultLocale?: string;
|
|
75
75
|
enabledLocales?: string[];
|
|
76
76
|
edit: EditBridgeConfig;
|
|
77
|
+
data?: Record<string, unknown>;
|
|
77
78
|
}
|
|
78
|
-
declare function CmssyEditableLayout({ groups, blocks, position, locale, defaultLocale, enabledLocales, edit, }: CmssyEditableLayoutProps): react_jsx_runtime.JSX.Element | null;
|
|
79
|
+
declare function CmssyEditableLayout({ groups, blocks, position, locale, defaultLocale, enabledLocales, edit, data, }: CmssyEditableLayoutProps): react_jsx_runtime.JSX.Element | null;
|
|
79
80
|
|
|
80
81
|
interface CmssyLazyLayoutProps {
|
|
81
82
|
groups: CmssyLayoutGroup[];
|
|
@@ -84,6 +85,7 @@ interface CmssyLazyLayoutProps {
|
|
|
84
85
|
defaultLocale?: string;
|
|
85
86
|
enabledLocales?: string[];
|
|
86
87
|
edit: EditBridgeConfig;
|
|
88
|
+
data?: Record<string, unknown>;
|
|
87
89
|
load: () => Promise<{
|
|
88
90
|
blocks: BlockDefinition[];
|
|
89
91
|
}>;
|
package/dist/client.js
CHANGED
|
@@ -651,7 +651,8 @@ function CmssyEditableLayout({
|
|
|
651
651
|
locale = "en",
|
|
652
652
|
defaultLocale = "en",
|
|
653
653
|
enabledLocales,
|
|
654
|
-
edit
|
|
654
|
+
edit,
|
|
655
|
+
data
|
|
655
656
|
}) {
|
|
656
657
|
const blockMap = useMemo(() => buildBlockMap(blocks), [blocks]);
|
|
657
658
|
const layoutBlocks = useMemo(() => {
|
|
@@ -673,7 +674,8 @@ function CmssyEditableLayout({
|
|
|
673
674
|
blockMap,
|
|
674
675
|
patchedContent: patches[block.id],
|
|
675
676
|
layoutPosition: position,
|
|
676
|
-
context
|
|
677
|
+
context,
|
|
678
|
+
data: data?.[block.id]
|
|
677
679
|
},
|
|
678
680
|
block.id
|
|
679
681
|
)) });
|
package/dist/index.cjs
CHANGED
|
@@ -217,6 +217,42 @@ async function resolveBlockData({
|
|
|
217
217
|
});
|
|
218
218
|
return data;
|
|
219
219
|
}
|
|
220
|
+
async function resolveLayoutBlockData({
|
|
221
|
+
groups,
|
|
222
|
+
blocks,
|
|
223
|
+
position,
|
|
224
|
+
locale,
|
|
225
|
+
defaultLocale,
|
|
226
|
+
enabledLocales,
|
|
227
|
+
forms,
|
|
228
|
+
isPreview = false
|
|
229
|
+
}) {
|
|
230
|
+
const group = groups.find((g) => g.position === position);
|
|
231
|
+
const layoutBlocks = group ? group.blocks.filter((b) => b.isActive).slice().sort((a, b) => a.order - b.order) : [];
|
|
232
|
+
if (layoutBlocks.length === 0) return {};
|
|
233
|
+
const loaderMap = buildLoaderMap(blocks);
|
|
234
|
+
const context = core.buildBlockContext(
|
|
235
|
+
locale,
|
|
236
|
+
defaultLocale,
|
|
237
|
+
enabledLocales,
|
|
238
|
+
isPreview,
|
|
239
|
+
forms
|
|
240
|
+
);
|
|
241
|
+
const resolved = await resolveBlocks(
|
|
242
|
+
layoutBlocks,
|
|
243
|
+
loaderMap,
|
|
244
|
+
locale,
|
|
245
|
+
defaultLocale,
|
|
246
|
+
context,
|
|
247
|
+
enabledLocales
|
|
248
|
+
);
|
|
249
|
+
const data = {};
|
|
250
|
+
layoutBlocks.forEach((block, index) => {
|
|
251
|
+
const value = resolved[index]?.data;
|
|
252
|
+
if (value !== void 0) data[block.id] = value;
|
|
253
|
+
});
|
|
254
|
+
return data;
|
|
255
|
+
}
|
|
220
256
|
async function CmssyServerLayout({
|
|
221
257
|
groups,
|
|
222
258
|
blocks,
|
|
@@ -441,3 +477,4 @@ exports.blocksToSchemas = blocksToSchemas;
|
|
|
441
477
|
exports.buildBlockMap = buildBlockMap;
|
|
442
478
|
exports.defineBlock = defineBlock;
|
|
443
479
|
exports.resolveBlockData = resolveBlockData;
|
|
480
|
+
exports.resolveLayoutBlockData = resolveLayoutBlockData;
|
package/dist/index.d.cts
CHANGED
|
@@ -42,6 +42,17 @@ interface ResolveBlockDataOptions {
|
|
|
42
42
|
isPreview?: boolean;
|
|
43
43
|
}
|
|
44
44
|
declare function resolveBlockData({ page, blocks, locale, defaultLocale, enabledLocales, forms, isPreview, }: ResolveBlockDataOptions): Promise<Record<string, unknown>>;
|
|
45
|
+
interface ResolveLayoutBlockDataOptions {
|
|
46
|
+
groups: CmssyLayoutGroup[];
|
|
47
|
+
blocks: BlockDefinition[];
|
|
48
|
+
position: string;
|
|
49
|
+
locale: string;
|
|
50
|
+
defaultLocale: string;
|
|
51
|
+
enabledLocales?: string[];
|
|
52
|
+
forms?: Record<string, CmssyFormDefinition>;
|
|
53
|
+
isPreview?: boolean;
|
|
54
|
+
}
|
|
55
|
+
declare function resolveLayoutBlockData({ groups, blocks, position, locale, defaultLocale, enabledLocales, forms, isPreview, }: ResolveLayoutBlockDataOptions): Promise<Record<string, unknown>>;
|
|
45
56
|
|
|
46
57
|
interface CmssyServerLayoutProps {
|
|
47
58
|
groups: CmssyLayoutGroup[];
|
|
@@ -85,4 +96,4 @@ interface UnknownBlockProps {
|
|
|
85
96
|
}
|
|
86
97
|
declare function UnknownBlock({ type }: UnknownBlockProps): react_jsx_runtime.JSX.Element;
|
|
87
98
|
|
|
88
|
-
export { BlockDefinition, BlockMap, CmssyBlock, type CmssyBlockProps, CmssyServerLayout, type CmssyServerLayoutProps, CmssyServerPage, type CmssyServerPageProps, type ResolveBlockDataOptions, UnknownBlock, type UnknownBlockProps, resolveBlockData };
|
|
99
|
+
export { BlockDefinition, BlockMap, CmssyBlock, type CmssyBlockProps, CmssyServerLayout, type CmssyServerLayoutProps, CmssyServerPage, type CmssyServerPageProps, type ResolveBlockDataOptions, type ResolveLayoutBlockDataOptions, UnknownBlock, type UnknownBlockProps, resolveBlockData, resolveLayoutBlockData };
|
package/dist/index.d.ts
CHANGED
|
@@ -42,6 +42,17 @@ interface ResolveBlockDataOptions {
|
|
|
42
42
|
isPreview?: boolean;
|
|
43
43
|
}
|
|
44
44
|
declare function resolveBlockData({ page, blocks, locale, defaultLocale, enabledLocales, forms, isPreview, }: ResolveBlockDataOptions): Promise<Record<string, unknown>>;
|
|
45
|
+
interface ResolveLayoutBlockDataOptions {
|
|
46
|
+
groups: CmssyLayoutGroup[];
|
|
47
|
+
blocks: BlockDefinition[];
|
|
48
|
+
position: string;
|
|
49
|
+
locale: string;
|
|
50
|
+
defaultLocale: string;
|
|
51
|
+
enabledLocales?: string[];
|
|
52
|
+
forms?: Record<string, CmssyFormDefinition>;
|
|
53
|
+
isPreview?: boolean;
|
|
54
|
+
}
|
|
55
|
+
declare function resolveLayoutBlockData({ groups, blocks, position, locale, defaultLocale, enabledLocales, forms, isPreview, }: ResolveLayoutBlockDataOptions): Promise<Record<string, unknown>>;
|
|
45
56
|
|
|
46
57
|
interface CmssyServerLayoutProps {
|
|
47
58
|
groups: CmssyLayoutGroup[];
|
|
@@ -85,4 +96,4 @@ interface UnknownBlockProps {
|
|
|
85
96
|
}
|
|
86
97
|
declare function UnknownBlock({ type }: UnknownBlockProps): react_jsx_runtime.JSX.Element;
|
|
87
98
|
|
|
88
|
-
export { BlockDefinition, BlockMap, CmssyBlock, type CmssyBlockProps, CmssyServerLayout, type CmssyServerLayoutProps, CmssyServerPage, type CmssyServerPageProps, type ResolveBlockDataOptions, UnknownBlock, type UnknownBlockProps, resolveBlockData };
|
|
99
|
+
export { BlockDefinition, BlockMap, CmssyBlock, type CmssyBlockProps, CmssyServerLayout, type CmssyServerLayoutProps, CmssyServerPage, type CmssyServerPageProps, type ResolveBlockDataOptions, type ResolveLayoutBlockDataOptions, UnknownBlock, type UnknownBlockProps, resolveBlockData, resolveLayoutBlockData };
|
package/dist/index.js
CHANGED
|
@@ -216,6 +216,42 @@ async function resolveBlockData({
|
|
|
216
216
|
});
|
|
217
217
|
return data;
|
|
218
218
|
}
|
|
219
|
+
async function resolveLayoutBlockData({
|
|
220
|
+
groups,
|
|
221
|
+
blocks,
|
|
222
|
+
position,
|
|
223
|
+
locale,
|
|
224
|
+
defaultLocale,
|
|
225
|
+
enabledLocales,
|
|
226
|
+
forms,
|
|
227
|
+
isPreview = false
|
|
228
|
+
}) {
|
|
229
|
+
const group = groups.find((g) => g.position === position);
|
|
230
|
+
const layoutBlocks = group ? group.blocks.filter((b) => b.isActive).slice().sort((a, b) => a.order - b.order) : [];
|
|
231
|
+
if (layoutBlocks.length === 0) return {};
|
|
232
|
+
const loaderMap = buildLoaderMap(blocks);
|
|
233
|
+
const context = buildBlockContext(
|
|
234
|
+
locale,
|
|
235
|
+
defaultLocale,
|
|
236
|
+
enabledLocales,
|
|
237
|
+
isPreview,
|
|
238
|
+
forms
|
|
239
|
+
);
|
|
240
|
+
const resolved = await resolveBlocks(
|
|
241
|
+
layoutBlocks,
|
|
242
|
+
loaderMap,
|
|
243
|
+
locale,
|
|
244
|
+
defaultLocale,
|
|
245
|
+
context,
|
|
246
|
+
enabledLocales
|
|
247
|
+
);
|
|
248
|
+
const data = {};
|
|
249
|
+
layoutBlocks.forEach((block, index) => {
|
|
250
|
+
const value = resolved[index]?.data;
|
|
251
|
+
if (value !== void 0) data[block.id] = value;
|
|
252
|
+
});
|
|
253
|
+
return data;
|
|
254
|
+
}
|
|
219
255
|
async function CmssyServerLayout({
|
|
220
256
|
groups,
|
|
221
257
|
blocks,
|
|
@@ -291,4 +327,4 @@ function CmssyBlock({
|
|
|
291
327
|
);
|
|
292
328
|
}
|
|
293
329
|
|
|
294
|
-
export { CmssyBlock, CmssyServerLayout, CmssyServerPage, UnknownBlock, blocksToMeta, blocksToSchemas, buildBlockMap, defineBlock, resolveBlockData };
|
|
330
|
+
export { CmssyBlock, CmssyServerLayout, CmssyServerPage, UnknownBlock, blocksToMeta, blocksToSchemas, buildBlockMap, defineBlock, resolveBlockData, resolveLayoutBlockData };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cmssy/react",
|
|
3
|
-
"version": "8.0.
|
|
3
|
+
"version": "8.0.4",
|
|
4
4
|
"description": "React blocks, renderers, data client and editor bridge for cmssy headless sites",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"cmssy",
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
},
|
|
58
58
|
"dependencies": {
|
|
59
59
|
"@cmssy/types": "0.28.0",
|
|
60
|
-
"@cmssy/core": "8.0.
|
|
60
|
+
"@cmssy/core": "8.0.4"
|
|
61
61
|
},
|
|
62
62
|
"scripts": {
|
|
63
63
|
"build": "tsup",
|