@contentful/experiences-visual-editor-react 2.0.0-prerelease-20250703T1150-c529c88.0 → 2.0.0-prerelease-20250704T1125-6c39a4b.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.js +41 -23
- package/dist/index.js.map +1 -1
- package/dist/renderApp.js +41 -23
- package/dist/renderApp.js.map +1 -1
- package/package.json +4 -5
package/dist/index.js
CHANGED
|
@@ -12,8 +12,8 @@ import { v4 } from 'uuid';
|
|
|
12
12
|
import { createPortal } from 'react-dom';
|
|
13
13
|
import classNames from 'classnames';
|
|
14
14
|
|
|
15
|
-
var css_248z$
|
|
16
|
-
styleInject(css_248z$
|
|
15
|
+
var css_248z$b = "html,\nbody {\n margin: 0;\n padding: 0;\n}\n\n/*\n * All of these variables are tokens from Forma-36 and should not be adjusted as these\n * are global variables that may affect multiple places.\n * As our customers may use other design libraries, we try to avoid overlapping global\n * variables by always using the prefix `--exp-builder-` inside this SDK.\n */\n\n:root {\n /* Color tokens from Forma 36: https://f36.contentful.com/tokens/color-system */\n --exp-builder-blue100: #e8f5ff;\n --exp-builder-blue200: #ceecff;\n --exp-builder-blue300: #98cbff;\n --exp-builder-blue400: #40a0ff;\n --exp-builder-blue500: #036fe3;\n --exp-builder-blue600: #0059c8;\n --exp-builder-blue700: #0041ab;\n --exp-builder-blue800: #003298;\n --exp-builder-blue900: #002a8e;\n --exp-builder-gray100: #f7f9fa;\n --exp-builder-gray200: #e7ebee;\n --exp-builder-gray300: #cfd9e0;\n --exp-builder-gray400: #aec1cc;\n --exp-builder-gray500: #67728a;\n --exp-builder-gray600: #5a657c;\n --exp-builder-gray700: #414d63;\n --exp-builder-gray800: #1b273a;\n --exp-builder-gray900: #111b2b;\n --exp-builder-purple600: #6c3ecf;\n --exp-builder-red200: #ffe0e0;\n --exp-builder-red800: #7f0010;\n --exp-builder-color-white: #ffffff;\n --exp-builder-glow-primary: 0px 0px 0px 3px #e8f5ff;\n\n /* RGB colors for applying opacity */\n --exp-builder-blue100-rgb: 232, 245, 255;\n --exp-builder-blue300-rgb: 152, 203, 255;\n\n /* Spacing tokens from Forma 36: https://f36.contentful.com/tokens/spacing */\n --exp-builder-spacing-s: 0.75rem;\n --exp-builder-spacing-2xs: 0.25rem;\n\n /* Typography tokens from Forma 36: https://f36.contentful.com/tokens/typography */\n --exp-builder-font-size-l: 1rem;\n --exp-builder-font-size-m: 0.875rem;\n --exp-builder-font-stack-primary: -apple-system, BlinkMacSystemFont, Segoe UI, Helvetica, Arial,\n sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol;\n --exp-builder-line-height-condensed: 1.25;\n}\n";
|
|
16
|
+
styleInject(css_248z$b);
|
|
17
17
|
|
|
18
18
|
const INCOMING_EVENTS$1 = {
|
|
19
19
|
RequestEditorMode: 'requestEditorMode',
|
|
@@ -828,13 +828,7 @@ const ParameterDefinitionSchema$1 = z.object({
|
|
|
828
828
|
}),
|
|
829
829
|
})
|
|
830
830
|
.optional(),
|
|
831
|
-
contentTypes: z.
|
|
832
|
-
sys: z.object({
|
|
833
|
-
type: z.literal('Link'),
|
|
834
|
-
id: z.string(),
|
|
835
|
-
linkType: z.enum(['ContentType']),
|
|
836
|
-
}),
|
|
837
|
-
})),
|
|
831
|
+
contentTypes: z.array(z.string()),
|
|
838
832
|
passToNodes: z.array(PassToNodeSchema$1).optional(),
|
|
839
833
|
});
|
|
840
834
|
const ParameterDefinitionsSchema$1 = z.record(propertyKeySchema$1, ParameterDefinitionSchema$1);
|
|
@@ -854,7 +848,7 @@ const ComponentSettingsSchema$1 = z
|
|
|
854
848
|
variableDefinitions: ComponentVariablesSchema$1,
|
|
855
849
|
thumbnailId: z.enum(THUMBNAIL_IDS$1).optional(),
|
|
856
850
|
category: z.string().max(50, 'Category must contain at most 50 characters').optional(),
|
|
857
|
-
prebindingDefinitions: z.array(PrebindingDefinitionSchema$1).
|
|
851
|
+
prebindingDefinitions: z.array(PrebindingDefinitionSchema$1).length(1).optional(),
|
|
858
852
|
})
|
|
859
853
|
.strict();
|
|
860
854
|
z.object({
|
|
@@ -1099,7 +1093,10 @@ propertyName, resolveDesignTokens = true) => {
|
|
|
1099
1093
|
};
|
|
1100
1094
|
/** Overwrites the default value breakpoint by breakpoint. If a breakpoint
|
|
1101
1095
|
* is not overwritten, it will fall back to the default. */
|
|
1102
|
-
|
|
1096
|
+
function mergeDesignValuesByBreakpoint(defaultValue, overwriteValue) {
|
|
1097
|
+
if (!defaultValue || !overwriteValue) {
|
|
1098
|
+
return defaultValue ?? overwriteValue;
|
|
1099
|
+
}
|
|
1103
1100
|
const mergedValuesByBreakpoint = { ...defaultValue.valuesByBreakpoint };
|
|
1104
1101
|
for (const [breakpointId, value] of Object.entries(overwriteValue.valuesByBreakpoint)) {
|
|
1105
1102
|
if (!isValidBreakpointValue(value)) {
|
|
@@ -1111,7 +1108,7 @@ const mergeDesignValuesByBreakpoint = (defaultValue, overwriteValue) => {
|
|
|
1111
1108
|
type: 'DesignValue',
|
|
1112
1109
|
valuesByBreakpoint: mergedValuesByBreakpoint,
|
|
1113
1110
|
};
|
|
1114
|
-
}
|
|
1111
|
+
}
|
|
1115
1112
|
|
|
1116
1113
|
const CF_DEBUG_KEY$1 = 'cf_debug';
|
|
1117
1114
|
/**
|
|
@@ -3286,9 +3283,9 @@ const cloneDeepAsPOJO = (obj) => {
|
|
|
3286
3283
|
return JSON.parse(JSON.stringify(obj));
|
|
3287
3284
|
};
|
|
3288
3285
|
|
|
3289
|
-
var css_248z$
|
|
3286
|
+
var css_248z$a = ".render-module_hitbox__l4ysJ {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 10px;\n z-index: 1000000;\n}\n\n.render-module_hitboxLower__tgsA1 {\n position: absolute;\n bottom: -20px;\n left: 0;\n width: 100%;\n height: 20px;\n z-index: 1000000;\n}\n\n.render-module_canvasBottomSpacer__JuxVh {\n position: absolute;\n width: 100%;\n height: 50px;\n}\n\n.render-module_container__-C3d7 {\n position: relative;\n display: flex;\n flex-direction: column;\n}\n\nbody {\n margin: 0;\n}\n\nhtml {\n -ms-overflow-style: none; /* Internet Explorer 10+ */\n scrollbar-width: none; /* Firefox */\n}\n\nhtml::-webkit-scrollbar {\n display: none;\n}\n";
|
|
3290
3287
|
var styles$3 = {"hitbox":"render-module_hitbox__l4ysJ","hitboxLower":"render-module_hitboxLower__tgsA1","canvasBottomSpacer":"render-module_canvasBottomSpacer__JuxVh","container":"render-module_container__-C3d7"};
|
|
3291
|
-
styleInject(css_248z$
|
|
3288
|
+
styleInject(css_248z$a);
|
|
3292
3289
|
|
|
3293
3290
|
// TODO: In order to support integrations without React, we should extract this heavy logic into simple
|
|
3294
3291
|
// functions that we can reuse in other frameworks.
|
|
@@ -3455,6 +3452,9 @@ const useEditorStore = create((set, get) => ({
|
|
|
3455
3452
|
},
|
|
3456
3453
|
}));
|
|
3457
3454
|
|
|
3455
|
+
var css_248z$8 = "@import url(https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,400;0,500;0,600;1,400;1,600&display=swap);:root{--cf-color-white:#fff;--cf-color-black:#000;--cf-color-gray100:#f7f9fa;--cf-color-gray400:#aec1cc;--cf-color-gray400-rgb:174,193,204;--cf-spacing-0:0rem;--cf-spacing-1:0.125rem;--cf-spacing-2:0.25rem;--cf-spacing-3:0.375rem;--cf-spacing-4:0.5rem;--cf-spacing-5:0.625rem;--cf-spacing-6:0.75rem;--cf-spacing-7:0.875rem;--cf-spacing-8:1rem;--cf-spacing-9:1.25rem;--cf-spacing-10:1.5rem;--cf-spacing-11:1.75rem;--cf-spacing-12:2rem;--cf-spacing-13:2.25rem;--cf-text-xs:0.75rem;--cf-text-sm:0.875rem;--cf-text-base:1rem;--cf-text-lg:1.125rem;--cf-text-xl:1.25rem;--cf-text-2xl:1.5rem;--cf-text-3xl:2rem;--cf-text-4xl:2.75rem;--cf-font-light:300;--cf-font-normal:400;--cf-font-medium:500;--cf-font-semibold:600;--cf-font-bold:700;--cf-font-extra-bold:800;--cf-font-black:900;--cf-border-radius-none:0px;--cf-border-radius-sm:0.125rem;--cf-border-radius:0.25rem;--cf-border-radius-md:0.375rem;--cf-border-radius-lg:0.5rem;--cf-border-radius-xl:0.75rem;--cf-border-radius-2xl:1rem;--cf-border-radius-3xl:1.5rem;--cf-border-radius-full:9999px;--cf-font-family-sans:Archivo,Helvetica,Arial,sans-serif;--cf-font-family-serif:Georgia,Cambria,Times New Roman,Times,serif;--cf-max-width-full:100%;--cf-button-bg:var(--cf-color-black);--cf-button-color:var(--cf-color-white);--cf-text-color:var(--cf-color-black)}*{box-sizing:border-box}";
|
|
3456
|
+
styleInject(css_248z$8);
|
|
3457
|
+
|
|
3458
3458
|
/**
|
|
3459
3459
|
* These modes are ONLY intended to be internally used within the context of
|
|
3460
3460
|
* editing an experience inside of Contentful Studio. i.e. these modes
|
|
@@ -3472,6 +3472,21 @@ var PostMessageMethods$1;
|
|
|
3472
3472
|
PostMessageMethods["REQUESTED_ENTITIES"] = "REQUESTED_ENTITIES";
|
|
3473
3473
|
})(PostMessageMethods$1 || (PostMessageMethods$1 = {}));
|
|
3474
3474
|
|
|
3475
|
+
var css_248z$7 = ".cf-button:empty:before{content:\"\";display:inline-block}";
|
|
3476
|
+
styleInject(css_248z$7);
|
|
3477
|
+
|
|
3478
|
+
var css_248z$6 = ".cf-heading{white-space:pre-line}";
|
|
3479
|
+
styleInject(css_248z$6);
|
|
3480
|
+
|
|
3481
|
+
var css_248z$5 = ".cf-richtext{white-space:pre-line}.cf-richtext>:first-child{margin-top:0}.cf-richtext>:last-child{margin-bottom:0}";
|
|
3482
|
+
styleInject(css_248z$5);
|
|
3483
|
+
|
|
3484
|
+
var css_248z$4 = ".cf-text{white-space:pre-line}.cf-text-link .cf-text{margin:0}";
|
|
3485
|
+
styleInject(css_248z$4);
|
|
3486
|
+
|
|
3487
|
+
var css_248z$3 = "div.cf-placeholder-wrapper{position:relative}img.cf-placeholder-image{background-color:var(--cf-color-gray100);height:100%;outline:2px solid rgba(var(--cf-color-gray400-rgb),.5);outline-offset:-2px;width:100%}svg.cf-placeholder-icon{height:var(--cf-text-3xl);left:50%;max-height:100%;max-width:100%;position:absolute;top:50%;transform:translate(-50%,-50%);width:var(--cf-text-3xl)}svg.cf-placeholder-icon path{fill:var(--cf-color-gray400)}";
|
|
3488
|
+
styleInject(css_248z$3);
|
|
3489
|
+
|
|
3475
3490
|
/**
|
|
3476
3491
|
* These modes are ONLY intended to be internally used within the context of
|
|
3477
3492
|
* editing an experience inside of Contentful Studio. i.e. these modes
|
|
@@ -3799,13 +3814,7 @@ const ParameterDefinitionSchema = z.object({
|
|
|
3799
3814
|
}),
|
|
3800
3815
|
})
|
|
3801
3816
|
.optional(),
|
|
3802
|
-
contentTypes: z.
|
|
3803
|
-
sys: z.object({
|
|
3804
|
-
type: z.literal('Link'),
|
|
3805
|
-
id: z.string(),
|
|
3806
|
-
linkType: z.enum(['ContentType']),
|
|
3807
|
-
}),
|
|
3808
|
-
})),
|
|
3817
|
+
contentTypes: z.array(z.string()),
|
|
3809
3818
|
passToNodes: z.array(PassToNodeSchema).optional(),
|
|
3810
3819
|
});
|
|
3811
3820
|
const ParameterDefinitionsSchema = z.record(propertyKeySchema, ParameterDefinitionSchema);
|
|
@@ -3825,7 +3834,7 @@ const ComponentSettingsSchema = z
|
|
|
3825
3834
|
variableDefinitions: ComponentVariablesSchema,
|
|
3826
3835
|
thumbnailId: z.enum(THUMBNAIL_IDS).optional(),
|
|
3827
3836
|
category: z.string().max(50, 'Category must contain at most 50 characters').optional(),
|
|
3828
|
-
prebindingDefinitions: z.array(PrebindingDefinitionSchema).
|
|
3837
|
+
prebindingDefinitions: z.array(PrebindingDefinitionSchema).length(1).optional(),
|
|
3829
3838
|
})
|
|
3830
3839
|
.strict();
|
|
3831
3840
|
z.object({
|
|
@@ -4450,6 +4459,9 @@ var VisualEditorMode;
|
|
|
4450
4459
|
VisualEditorMode["InjectScript"] = "injectScript";
|
|
4451
4460
|
})(VisualEditorMode || (VisualEditorMode = {}));
|
|
4452
4461
|
|
|
4462
|
+
var css_248z$2$1 = ".contentful-container{display:flex;pointer-events:all;position:relative}.contentful-container::-webkit-scrollbar{display:none}.cf-single-column-wrapper{position:relative}.cf-container-wrapper{position:relative;width:100%}.contentful-container:after{align-items:center;bottom:0;color:var(--exp-builder-gray400);content:\"\";display:block;display:flex;font-family:var(--exp-builder-font-stack-primary);font-size:12px;justify-content:center;left:0;overflow-x:clip;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.contentful-section-label:after{content:\"Section\"}.contentful-container-label:after{content:\"Container\"}.contentful-container-link,.contentful-container-link:active,.contentful-container-link:focus-visible,.contentful-container-link:hover,.contentful-container-link:read-write,.contentful-container-link:visited{color:inherit;outline:unset;text-decoration:unset}";
|
|
4463
|
+
styleInject(css_248z$2$1);
|
|
4464
|
+
|
|
4453
4465
|
const Flex = forwardRef(({ id, children, onMouseEnter, onMouseUp, onMouseLeave, onMouseDown, onClick, flex, flexBasis, flexShrink, flexDirection, gap, justifyContent, justifyItems, justifySelf, alignItems, alignSelf, alignContent, order, flexWrap, flexGrow, className, cssStyles, ...props }, ref) => {
|
|
4454
4466
|
return (React.createElement("div", { id: id, ref: ref, style: {
|
|
4455
4467
|
display: 'flex',
|
|
@@ -4472,6 +4484,12 @@ const Flex = forwardRef(({ id, children, onMouseEnter, onMouseUp, onMouseLeave,
|
|
|
4472
4484
|
});
|
|
4473
4485
|
Flex.displayName = 'Flex';
|
|
4474
4486
|
|
|
4487
|
+
var css_248z$1$1 = ".cf-divider{display:contents;height:100%;position:relative;width:100%}.cf-divider hr{border:none}[data-ctfl-zone-id=root] .cf-divider:before{bottom:-5px;content:\"\";left:-5px;pointer-events:all;position:absolute;right:-5px;top:-5px}";
|
|
4488
|
+
styleInject(css_248z$1$1);
|
|
4489
|
+
|
|
4490
|
+
var css_248z$9 = ".cf-columns{display:flex;flex-direction:column;gap:24px;grid-template-columns:repeat(12,1fr);min-height:0;min-width:0}@media (min-width:768px){.cf-columns{display:grid}}.cf-single-column-wrapper{display:flex;position:relative}.cf-single-column{pointer-events:all}.cf-single-column-wrapper:after{align-items:center;bottom:0;color:var(--exp-builder-gray400);content:\"\";display:block;display:flex;font-family:var(--exp-builder-font-stack-primary);font-size:12px;justify-content:center;left:0;overflow-x:clip;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.cf-single-column-label:after{content:\"Column\"}";
|
|
4491
|
+
styleInject(css_248z$9);
|
|
4492
|
+
|
|
4475
4493
|
const ColumnWrapper = forwardRef((props, ref) => {
|
|
4476
4494
|
return (React.createElement("div", { ref: ref, ...props, style: {
|
|
4477
4495
|
...(props.style || {}),
|
|
@@ -5266,7 +5284,7 @@ const maybeMergePatternDefaultDesignValues = ({ variableName, variableMapping, n
|
|
|
5266
5284
|
parentPatternNode = findNodeById(parentPatternNode.data.pattern?.nodeId);
|
|
5267
5285
|
}
|
|
5268
5286
|
const mergedDesignValue = mergeDesignValuesByBreakpoint(exposedDefaultValue, variableMapping);
|
|
5269
|
-
return mergedDesignValue
|
|
5287
|
+
return mergedDesignValue?.valuesByBreakpoint;
|
|
5270
5288
|
}
|
|
5271
5289
|
return variableMapping.valuesByBreakpoint;
|
|
5272
5290
|
};
|