@cmssy/core 14.1.0 → 14.2.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.
- package/dist/index.cjs +62 -0
- package/dist/index.d.cts +36 -2
- package/dist/index.d.ts +36 -2
- package/dist/index.js +57 -1
- package/package.json +1 -1
package/dist/index.cjs
CHANGED
|
@@ -619,6 +619,62 @@ function defineCmssyLayout(layout) {
|
|
|
619
619
|
return { regions };
|
|
620
620
|
}
|
|
621
621
|
|
|
622
|
+
// src/manifest.ts
|
|
623
|
+
function propsToSchema(props) {
|
|
624
|
+
const schema = {};
|
|
625
|
+
for (const [key, def] of Object.entries(props)) {
|
|
626
|
+
schema[key] = { ...def, label: def.label || key };
|
|
627
|
+
}
|
|
628
|
+
return schema;
|
|
629
|
+
}
|
|
630
|
+
function blocksToSchemas(blocks) {
|
|
631
|
+
const out = /* @__PURE__ */ Object.create(null);
|
|
632
|
+
for (const block of blocks) out[block.type] = propsToSchema(block.props);
|
|
633
|
+
return out;
|
|
634
|
+
}
|
|
635
|
+
function blocksToMeta(blocks, defaults = {}) {
|
|
636
|
+
const out = /* @__PURE__ */ Object.create(null);
|
|
637
|
+
for (const block of blocks) {
|
|
638
|
+
const category = block.category ?? defaults.category;
|
|
639
|
+
out[block.type] = {
|
|
640
|
+
label: block.label ?? block.type,
|
|
641
|
+
...category ? { category } : {},
|
|
642
|
+
...block.icon ? { icon: block.icon } : {},
|
|
643
|
+
...block.layoutPositions ? { layoutPositions: block.layoutPositions } : {},
|
|
644
|
+
...block.description ? { description: block.description } : {}
|
|
645
|
+
};
|
|
646
|
+
}
|
|
647
|
+
return out;
|
|
648
|
+
}
|
|
649
|
+
function layoutRegionsToBridge(regions) {
|
|
650
|
+
return regions.map(
|
|
651
|
+
(region) => region.settings ? { ...region, settings: propsToSchema(region.settings) } : { ...region }
|
|
652
|
+
);
|
|
653
|
+
}
|
|
654
|
+
function registryToManifestBlocks(schemas, blockMeta) {
|
|
655
|
+
return Object.entries(schemas).sort(([a], [b]) => a.localeCompare(b)).map(([type, schema]) => {
|
|
656
|
+
const meta = blockMeta?.[type];
|
|
657
|
+
return {
|
|
658
|
+
type,
|
|
659
|
+
label: meta?.label || type,
|
|
660
|
+
...meta?.category ? { category: meta.category } : {},
|
|
661
|
+
...meta?.icon ? { icon: meta.icon } : {},
|
|
662
|
+
...meta?.description ? { description: meta.description } : {},
|
|
663
|
+
...meta?.layoutPositions?.length ? { layoutPositions: meta.layoutPositions } : {},
|
|
664
|
+
schema
|
|
665
|
+
};
|
|
666
|
+
});
|
|
667
|
+
}
|
|
668
|
+
function buildBlockManifest(blocks, options = {}) {
|
|
669
|
+
return {
|
|
670
|
+
blocks: registryToManifestBlocks(
|
|
671
|
+
blocksToSchemas(blocks),
|
|
672
|
+
blocksToMeta(blocks, { category: options.category })
|
|
673
|
+
),
|
|
674
|
+
regions: options.regions ? layoutRegionsToBridge(options.regions) : null
|
|
675
|
+
};
|
|
676
|
+
}
|
|
677
|
+
|
|
622
678
|
// src/data/localize-href.ts
|
|
623
679
|
var PROTOCOL_OR_RELATIVE = /^([a-z][a-z0-9+.-]*:|\/\/)/i;
|
|
624
680
|
function isExternalHref(href) {
|
|
@@ -1009,6 +1065,9 @@ exports.DEFAULT_CMSSY_EDITOR_ORIGINS = DEFAULT_CMSSY_EDITOR_ORIGINS;
|
|
|
1009
1065
|
exports.PROTOCOL_VERSION = PROTOCOL_VERSION;
|
|
1010
1066
|
exports.SHORTCUT_ACTIONS = SHORTCUT_ACTIONS;
|
|
1011
1067
|
exports.applyCmssyCsp = applyCmssyCsp;
|
|
1068
|
+
exports.blocksToMeta = blocksToMeta;
|
|
1069
|
+
exports.blocksToSchemas = blocksToSchemas;
|
|
1070
|
+
exports.buildBlockManifest = buildBlockManifest;
|
|
1012
1071
|
exports.createCmssyClient = createCmssyClient;
|
|
1013
1072
|
exports.defineCmssyConfig = defineCmssyConfig;
|
|
1014
1073
|
exports.defineCmssyLayout = defineCmssyLayout;
|
|
@@ -1016,6 +1075,7 @@ exports.fields = fields;
|
|
|
1016
1075
|
exports.graphqlRequest = graphqlRequest;
|
|
1017
1076
|
exports.isProtocolCompatible = isProtocolCompatible;
|
|
1018
1077
|
exports.isVerifiedEditUrl = isVerifiedEditUrl;
|
|
1078
|
+
exports.layoutRegionsToBridge = layoutRegionsToBridge;
|
|
1019
1079
|
exports.localizeHref = localizeHref;
|
|
1020
1080
|
exports.mediaAlt = mediaAlt;
|
|
1021
1081
|
exports.mediaUrl = mediaUrl;
|
|
@@ -1023,6 +1083,8 @@ exports.mediaUrls = mediaUrls;
|
|
|
1023
1083
|
exports.normalizeOrigin = normalizeOrigin;
|
|
1024
1084
|
exports.parseEditorMessage = parseEditorMessage;
|
|
1025
1085
|
exports.postToEditor = postToEditor;
|
|
1086
|
+
exports.propsToSchema = propsToSchema;
|
|
1087
|
+
exports.registryToManifestBlocks = registryToManifestBlocks;
|
|
1026
1088
|
exports.resolveCmssyLocale = resolveCmssyLocale;
|
|
1027
1089
|
exports.resolveEditorOrigin = resolveEditorOrigin;
|
|
1028
1090
|
exports.verifyCmssyWebhook = verifyCmssyWebhook;
|
package/dist/index.d.cts
CHANGED
|
@@ -2,7 +2,7 @@ export { A as AppToEditorMessage, B as BoundsMessage, C as ClickMessage, a as Cm
|
|
|
2
2
|
export { C as CMSSY_LOCALE_HEADER, G as GraphqlRequestOptions, g as graphqlRequest, l as localizeHref, r as resolveCmssyLocale } from './locale-JyBHqpAQ.cjs';
|
|
3
3
|
export { C as CMSSY_RATE_LIMIT_WINDOW_MS, a as CMSSY_RETRY_MODES, b as CmssyRequestError, c as CmssyRetryMode, D as DEFAULT_CMSSY_API_URL, F as FetchLike, d as FetchLikeResponse, e as FetchPageOptions, R as RetryOption, f as RetryPolicy } from './content-client-65N8ZRq9.cjs';
|
|
4
4
|
import * as _cmssy_types from '@cmssy/types';
|
|
5
|
-
import { FieldOptions, TypedField, ResolvedMediaValue, PageRef, BlockPropsSchema, InferBlockContent, RelationMode, CmssyModelRecord, ResolvedMedia, VerifyCmssyWebhookOptions, CmssyWebhookEvent } from '@cmssy/types';
|
|
5
|
+
import { FieldOptions, TypedField, ResolvedMediaValue, PageRef, BlockPropsSchema, InferBlockContent, RelationMode, CmssyModelRecord, ResolvedMedia, BlockSchema, LayoutRegion, FieldDefinition, BlockMeta, VerifyCmssyWebhookOptions, CmssyWebhookEvent } from '@cmssy/types';
|
|
6
6
|
export { BlockMeta, BlockPropsSchema, BlockRect, BlockSchema, BuildBlockContextExtra, CmssyBlockAuthContext, CmssyBlockContext, CmssyBlockMember, CmssyBlockPage, CmssyBlockWorkspace, CmssyBranding, CmssyClientConfig, CmssyFormDefinition, CmssyFormField, CmssyFormSettings, CmssyFormSubmitResponse, CmssyLayoutGroup, CmssyLocaleContext, CmssyLocalizedValue, CmssyModelDefinition, CmssyModelRecord, CmssyPageData, CmssyPageMeta, CmssyPageSummary, CmssyRecordList, CmssySiteConfig, CmssyWebhookEvent, CmssyWebhookOrder, FieldCondition, FieldConditionGroup, FieldConditionLogic, FieldControl, FieldDefinition, FieldOptions, FieldType, InferBlockContent, LayoutPosition, LayoutRegion, RawBlock, RawLayoutBlock, SubmitFormInput, TypedField, VerifyCmssyWebhookOptions, evaluateFieldConditionGroup } from '@cmssy/types';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -79,6 +79,40 @@ declare function mediaUrl(value: MediaLike): string | null;
|
|
|
79
79
|
declare function mediaUrls(value: readonly MediaLike[] | null | undefined): string[];
|
|
80
80
|
declare function mediaAlt(value: MediaLike): string | undefined;
|
|
81
81
|
|
|
82
|
+
interface BlockManifestSource {
|
|
83
|
+
type: string;
|
|
84
|
+
label?: string;
|
|
85
|
+
category?: string;
|
|
86
|
+
icon?: string;
|
|
87
|
+
layoutPositions?: string[];
|
|
88
|
+
description?: string;
|
|
89
|
+
props: Record<string, FieldDefinition>;
|
|
90
|
+
}
|
|
91
|
+
interface BlockManifestBlock {
|
|
92
|
+
type: string;
|
|
93
|
+
label: string;
|
|
94
|
+
category?: string;
|
|
95
|
+
icon?: string;
|
|
96
|
+
description?: string;
|
|
97
|
+
layoutPositions?: string[];
|
|
98
|
+
schema: BlockSchema;
|
|
99
|
+
}
|
|
100
|
+
interface BlockManifest {
|
|
101
|
+
blocks: BlockManifestBlock[];
|
|
102
|
+
regions: LayoutRegion[] | null;
|
|
103
|
+
}
|
|
104
|
+
declare function propsToSchema(props: BlockPropsSchema): BlockSchema;
|
|
105
|
+
declare function blocksToSchemas(blocks: readonly BlockManifestSource[]): Record<string, BlockSchema>;
|
|
106
|
+
declare function blocksToMeta(blocks: readonly BlockManifestSource[], defaults?: {
|
|
107
|
+
category?: string;
|
|
108
|
+
}): Record<string, BlockMeta>;
|
|
109
|
+
declare function layoutRegionsToBridge(regions: readonly LayoutRegion[]): LayoutRegion[];
|
|
110
|
+
declare function registryToManifestBlocks(schemas: Record<string, BlockSchema>, blockMeta: Record<string, BlockMeta> | null): BlockManifestBlock[];
|
|
111
|
+
declare function buildBlockManifest(blocks: readonly BlockManifestSource[], options?: {
|
|
112
|
+
category?: string;
|
|
113
|
+
regions?: readonly LayoutRegion[] | null;
|
|
114
|
+
}): BlockManifest;
|
|
115
|
+
|
|
82
116
|
declare const CMSSY_EDIT_HEADER = "x-cmssy-edit";
|
|
83
117
|
declare const CMSSY_EDIT_QUERY_PARAM = "cmssyEdit";
|
|
84
118
|
declare const CMSSY_SECRET_QUERY_PARAM = "cmssySecret";
|
|
@@ -97,4 +131,4 @@ declare class CmssyWebhookError extends Error {
|
|
|
97
131
|
}
|
|
98
132
|
declare function verifyCmssyWebhook(options: VerifyCmssyWebhookOptions): Promise<CmssyWebhookEvent>;
|
|
99
133
|
|
|
100
|
-
export { CMSSY_EDIT_HEADER, CMSSY_EDIT_QUERY_PARAM, CMSSY_SECRET_QUERY_PARAM, CmssyWebhookError, type MediaLike, fields, isVerifiedEditUrl, mediaAlt, mediaUrl, mediaUrls, verifyCmssyWebhook };
|
|
134
|
+
export { type BlockManifest, type BlockManifestBlock, type BlockManifestSource, CMSSY_EDIT_HEADER, CMSSY_EDIT_QUERY_PARAM, CMSSY_SECRET_QUERY_PARAM, CmssyWebhookError, type MediaLike, blocksToMeta, blocksToSchemas, buildBlockManifest, fields, isVerifiedEditUrl, layoutRegionsToBridge, mediaAlt, mediaUrl, mediaUrls, propsToSchema, registryToManifestBlocks, verifyCmssyWebhook };
|
package/dist/index.d.ts
CHANGED
|
@@ -2,7 +2,7 @@ export { A as AppToEditorMessage, B as BoundsMessage, C as ClickMessage, a as Cm
|
|
|
2
2
|
export { C as CMSSY_LOCALE_HEADER, G as GraphqlRequestOptions, g as graphqlRequest, l as localizeHref, r as resolveCmssyLocale } from './locale-D9KI4bND.js';
|
|
3
3
|
export { C as CMSSY_RATE_LIMIT_WINDOW_MS, a as CMSSY_RETRY_MODES, b as CmssyRequestError, c as CmssyRetryMode, D as DEFAULT_CMSSY_API_URL, F as FetchLike, d as FetchLikeResponse, e as FetchPageOptions, R as RetryOption, f as RetryPolicy } from './content-client-65N8ZRq9.js';
|
|
4
4
|
import * as _cmssy_types from '@cmssy/types';
|
|
5
|
-
import { FieldOptions, TypedField, ResolvedMediaValue, PageRef, BlockPropsSchema, InferBlockContent, RelationMode, CmssyModelRecord, ResolvedMedia, VerifyCmssyWebhookOptions, CmssyWebhookEvent } from '@cmssy/types';
|
|
5
|
+
import { FieldOptions, TypedField, ResolvedMediaValue, PageRef, BlockPropsSchema, InferBlockContent, RelationMode, CmssyModelRecord, ResolvedMedia, BlockSchema, LayoutRegion, FieldDefinition, BlockMeta, VerifyCmssyWebhookOptions, CmssyWebhookEvent } from '@cmssy/types';
|
|
6
6
|
export { BlockMeta, BlockPropsSchema, BlockRect, BlockSchema, BuildBlockContextExtra, CmssyBlockAuthContext, CmssyBlockContext, CmssyBlockMember, CmssyBlockPage, CmssyBlockWorkspace, CmssyBranding, CmssyClientConfig, CmssyFormDefinition, CmssyFormField, CmssyFormSettings, CmssyFormSubmitResponse, CmssyLayoutGroup, CmssyLocaleContext, CmssyLocalizedValue, CmssyModelDefinition, CmssyModelRecord, CmssyPageData, CmssyPageMeta, CmssyPageSummary, CmssyRecordList, CmssySiteConfig, CmssyWebhookEvent, CmssyWebhookOrder, FieldCondition, FieldConditionGroup, FieldConditionLogic, FieldControl, FieldDefinition, FieldOptions, FieldType, InferBlockContent, LayoutPosition, LayoutRegion, RawBlock, RawLayoutBlock, SubmitFormInput, TypedField, VerifyCmssyWebhookOptions, evaluateFieldConditionGroup } from '@cmssy/types';
|
|
7
7
|
|
|
8
8
|
/**
|
|
@@ -79,6 +79,40 @@ declare function mediaUrl(value: MediaLike): string | null;
|
|
|
79
79
|
declare function mediaUrls(value: readonly MediaLike[] | null | undefined): string[];
|
|
80
80
|
declare function mediaAlt(value: MediaLike): string | undefined;
|
|
81
81
|
|
|
82
|
+
interface BlockManifestSource {
|
|
83
|
+
type: string;
|
|
84
|
+
label?: string;
|
|
85
|
+
category?: string;
|
|
86
|
+
icon?: string;
|
|
87
|
+
layoutPositions?: string[];
|
|
88
|
+
description?: string;
|
|
89
|
+
props: Record<string, FieldDefinition>;
|
|
90
|
+
}
|
|
91
|
+
interface BlockManifestBlock {
|
|
92
|
+
type: string;
|
|
93
|
+
label: string;
|
|
94
|
+
category?: string;
|
|
95
|
+
icon?: string;
|
|
96
|
+
description?: string;
|
|
97
|
+
layoutPositions?: string[];
|
|
98
|
+
schema: BlockSchema;
|
|
99
|
+
}
|
|
100
|
+
interface BlockManifest {
|
|
101
|
+
blocks: BlockManifestBlock[];
|
|
102
|
+
regions: LayoutRegion[] | null;
|
|
103
|
+
}
|
|
104
|
+
declare function propsToSchema(props: BlockPropsSchema): BlockSchema;
|
|
105
|
+
declare function blocksToSchemas(blocks: readonly BlockManifestSource[]): Record<string, BlockSchema>;
|
|
106
|
+
declare function blocksToMeta(blocks: readonly BlockManifestSource[], defaults?: {
|
|
107
|
+
category?: string;
|
|
108
|
+
}): Record<string, BlockMeta>;
|
|
109
|
+
declare function layoutRegionsToBridge(regions: readonly LayoutRegion[]): LayoutRegion[];
|
|
110
|
+
declare function registryToManifestBlocks(schemas: Record<string, BlockSchema>, blockMeta: Record<string, BlockMeta> | null): BlockManifestBlock[];
|
|
111
|
+
declare function buildBlockManifest(blocks: readonly BlockManifestSource[], options?: {
|
|
112
|
+
category?: string;
|
|
113
|
+
regions?: readonly LayoutRegion[] | null;
|
|
114
|
+
}): BlockManifest;
|
|
115
|
+
|
|
82
116
|
declare const CMSSY_EDIT_HEADER = "x-cmssy-edit";
|
|
83
117
|
declare const CMSSY_EDIT_QUERY_PARAM = "cmssyEdit";
|
|
84
118
|
declare const CMSSY_SECRET_QUERY_PARAM = "cmssySecret";
|
|
@@ -97,4 +131,4 @@ declare class CmssyWebhookError extends Error {
|
|
|
97
131
|
}
|
|
98
132
|
declare function verifyCmssyWebhook(options: VerifyCmssyWebhookOptions): Promise<CmssyWebhookEvent>;
|
|
99
133
|
|
|
100
|
-
export { CMSSY_EDIT_HEADER, CMSSY_EDIT_QUERY_PARAM, CMSSY_SECRET_QUERY_PARAM, CmssyWebhookError, type MediaLike, fields, isVerifiedEditUrl, mediaAlt, mediaUrl, mediaUrls, verifyCmssyWebhook };
|
|
134
|
+
export { type BlockManifest, type BlockManifestBlock, type BlockManifestSource, CMSSY_EDIT_HEADER, CMSSY_EDIT_QUERY_PARAM, CMSSY_SECRET_QUERY_PARAM, CmssyWebhookError, type MediaLike, blocksToMeta, blocksToSchemas, buildBlockManifest, fields, isVerifiedEditUrl, layoutRegionsToBridge, mediaAlt, mediaUrl, mediaUrls, propsToSchema, registryToManifestBlocks, verifyCmssyWebhook };
|
package/dist/index.js
CHANGED
|
@@ -618,6 +618,62 @@ function defineCmssyLayout(layout) {
|
|
|
618
618
|
return { regions };
|
|
619
619
|
}
|
|
620
620
|
|
|
621
|
+
// src/manifest.ts
|
|
622
|
+
function propsToSchema(props) {
|
|
623
|
+
const schema = {};
|
|
624
|
+
for (const [key, def] of Object.entries(props)) {
|
|
625
|
+
schema[key] = { ...def, label: def.label || key };
|
|
626
|
+
}
|
|
627
|
+
return schema;
|
|
628
|
+
}
|
|
629
|
+
function blocksToSchemas(blocks) {
|
|
630
|
+
const out = /* @__PURE__ */ Object.create(null);
|
|
631
|
+
for (const block of blocks) out[block.type] = propsToSchema(block.props);
|
|
632
|
+
return out;
|
|
633
|
+
}
|
|
634
|
+
function blocksToMeta(blocks, defaults = {}) {
|
|
635
|
+
const out = /* @__PURE__ */ Object.create(null);
|
|
636
|
+
for (const block of blocks) {
|
|
637
|
+
const category = block.category ?? defaults.category;
|
|
638
|
+
out[block.type] = {
|
|
639
|
+
label: block.label ?? block.type,
|
|
640
|
+
...category ? { category } : {},
|
|
641
|
+
...block.icon ? { icon: block.icon } : {},
|
|
642
|
+
...block.layoutPositions ? { layoutPositions: block.layoutPositions } : {},
|
|
643
|
+
...block.description ? { description: block.description } : {}
|
|
644
|
+
};
|
|
645
|
+
}
|
|
646
|
+
return out;
|
|
647
|
+
}
|
|
648
|
+
function layoutRegionsToBridge(regions) {
|
|
649
|
+
return regions.map(
|
|
650
|
+
(region) => region.settings ? { ...region, settings: propsToSchema(region.settings) } : { ...region }
|
|
651
|
+
);
|
|
652
|
+
}
|
|
653
|
+
function registryToManifestBlocks(schemas, blockMeta) {
|
|
654
|
+
return Object.entries(schemas).sort(([a], [b]) => a.localeCompare(b)).map(([type, schema]) => {
|
|
655
|
+
const meta = blockMeta?.[type];
|
|
656
|
+
return {
|
|
657
|
+
type,
|
|
658
|
+
label: meta?.label || type,
|
|
659
|
+
...meta?.category ? { category: meta.category } : {},
|
|
660
|
+
...meta?.icon ? { icon: meta.icon } : {},
|
|
661
|
+
...meta?.description ? { description: meta.description } : {},
|
|
662
|
+
...meta?.layoutPositions?.length ? { layoutPositions: meta.layoutPositions } : {},
|
|
663
|
+
schema
|
|
664
|
+
};
|
|
665
|
+
});
|
|
666
|
+
}
|
|
667
|
+
function buildBlockManifest(blocks, options = {}) {
|
|
668
|
+
return {
|
|
669
|
+
blocks: registryToManifestBlocks(
|
|
670
|
+
blocksToSchemas(blocks),
|
|
671
|
+
blocksToMeta(blocks, { category: options.category })
|
|
672
|
+
),
|
|
673
|
+
regions: options.regions ? layoutRegionsToBridge(options.regions) : null
|
|
674
|
+
};
|
|
675
|
+
}
|
|
676
|
+
|
|
621
677
|
// src/data/localize-href.ts
|
|
622
678
|
var PROTOCOL_OR_RELATIVE = /^([a-z][a-z0-9+.-]*:|\/\/)/i;
|
|
623
679
|
function isExternalHref(href) {
|
|
@@ -991,4 +1047,4 @@ async function verifyCmssyWebhook(options) {
|
|
|
991
1047
|
return parsed;
|
|
992
1048
|
}
|
|
993
1049
|
|
|
994
|
-
export { CMSSY_EDIT_HEADER, CMSSY_EDIT_QUERY_PARAM, CMSSY_LOCALE_HEADER, CMSSY_RATE_LIMIT_WINDOW_MS, CMSSY_RETRY_MODES, CMSSY_SECRET_QUERY_PARAM, CmssyRequestError, CmssyWebhookError, DEFAULT_CMSSY_API_URL, DEFAULT_CMSSY_EDITOR_ORIGINS, PROTOCOL_VERSION, SHORTCUT_ACTIONS, applyCmssyCsp, createCmssyClient, defineCmssyConfig, defineCmssyLayout, fields, graphqlRequest, isProtocolCompatible, isVerifiedEditUrl, localizeHref, mediaAlt, mediaUrl, mediaUrls, normalizeOrigin, parseEditorMessage, postToEditor, resolveCmssyLocale, resolveEditorOrigin, verifyCmssyWebhook };
|
|
1050
|
+
export { CMSSY_EDIT_HEADER, CMSSY_EDIT_QUERY_PARAM, CMSSY_LOCALE_HEADER, CMSSY_RATE_LIMIT_WINDOW_MS, CMSSY_RETRY_MODES, CMSSY_SECRET_QUERY_PARAM, CmssyRequestError, CmssyWebhookError, DEFAULT_CMSSY_API_URL, DEFAULT_CMSSY_EDITOR_ORIGINS, PROTOCOL_VERSION, SHORTCUT_ACTIONS, applyCmssyCsp, blocksToMeta, blocksToSchemas, buildBlockManifest, createCmssyClient, defineCmssyConfig, defineCmssyLayout, fields, graphqlRequest, isProtocolCompatible, isVerifiedEditUrl, layoutRegionsToBridge, localizeHref, mediaAlt, mediaUrl, mediaUrls, normalizeOrigin, parseEditorMessage, postToEditor, propsToSchema, registryToManifestBlocks, resolveCmssyLocale, resolveEditorOrigin, verifyCmssyWebhook };
|