@contentful/experiences-visual-editor-react 1.41.1-dev-20250616T1604-5af1e75.0 → 1.42.0-beta.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/renderApp.js CHANGED
@@ -37,8 +37,8 @@ function styleInject(css, ref) {
37
37
  }
38
38
  }
39
39
 
40
- 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";
41
- styleInject(css_248z$b);
40
+ var css_248z$4 = "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";
41
+ styleInject(css_248z$4);
42
42
 
43
43
  var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
44
44
 
@@ -43342,11 +43342,11 @@ const ComponentPropertyValueSchema$1 = z.discriminatedUnion('type', [
43342
43342
  ]);
43343
43343
  // TODO: finalize schema structure before release
43344
43344
  // https://contentful.atlassian.net/browse/LUMOS-523
43345
- const PatternPropertySchema$1 = z.object({
43345
+ const ParameterSchema$1 = z.object({
43346
43346
  type: z.literal('BoundValue'),
43347
43347
  path: z.string(),
43348
43348
  });
43349
- const PatternPropertiesSchema$1 = z.record(propertyKeySchema$1, PatternPropertySchema$1);
43349
+ const ParametersSchema$1 = z.record(propertyKeySchema$1, ParameterSchema$1);
43350
43350
  const BreakpointSchema$1 = z
43351
43351
  .object({
43352
43352
  id: propertyKeySchema$1,
@@ -43363,7 +43363,7 @@ const BaseComponentTreeNodeSchema$1 = z.object({
43363
43363
  displayName: z.string().optional(),
43364
43364
  slotId: z.string().optional(),
43365
43365
  variables: z.record(propertyKeySchema$1, ComponentPropertyValueSchema$1),
43366
- patternProperties: PatternPropertiesSchema$1.optional(),
43366
+ parameters: ParametersSchema$1.optional(),
43367
43367
  });
43368
43368
  const ComponentVariableSchema$1 = z.object({
43369
43369
  displayName: z.string().optional(),
@@ -43432,13 +43432,13 @@ const THUMBNAIL_IDS$1 = [
43432
43432
  // TODO: finalize schema structure before release
43433
43433
  // https://contentful.atlassian.net/browse/LUMOS-523
43434
43434
  const VariableMappingSchema$1 = z.object({
43435
- patternPropertyDefinitionId: propertyKeySchema$1,
43435
+ parameterId: propertyKeySchema$1,
43436
43436
  type: z.literal('ContentTypeMapping'),
43437
43437
  pathsByContentType: z.record(z.string(), z.object({ path: z.string() })),
43438
43438
  });
43439
43439
  // TODO: finalize schema structure before release
43440
43440
  // https://contentful.atlassian.net/browse/LUMOS-523
43441
- const PatternPropertyDefinitionSchema$1 = z.object({
43441
+ const ParameterDefinitionSchema$1 = z.object({
43442
43442
  defaultValue: z
43443
43443
  .record(z.string(), z.object({
43444
43444
  sys: z.object({
@@ -43456,7 +43456,7 @@ const PatternPropertyDefinitionSchema$1 = z.object({
43456
43456
  }),
43457
43457
  })),
43458
43458
  });
43459
- const PatternPropertyDefinitionsSchema$1 = z.record(propertyKeySchema$1, PatternPropertyDefinitionSchema$1);
43459
+ const ParameterDefinitionsSchema$1 = z.record(propertyKeySchema$1, ParameterDefinitionSchema$1);
43460
43460
  const VariableMappingsSchema$1 = z.record(propertyKeySchema$1, VariableMappingSchema$1);
43461
43461
  const ComponentVariablesSchema$1 = z.record(z.string().regex(/^[a-zA-Z0-9-_]{1,54}$/), // Here the key is <variableName>_<nanoidId> so we need to allow for a longer length
43462
43462
  ComponentVariableSchema$1);
@@ -43465,7 +43465,7 @@ const ComponentSettingsSchema$1 = z.object({
43465
43465
  thumbnailId: z.enum(THUMBNAIL_IDS$1).optional(),
43466
43466
  category: z.string().max(50, 'Category must contain at most 50 characters').optional(),
43467
43467
  variableMappings: VariableMappingsSchema$1.optional(),
43468
- patternPropertyDefinitions: PatternPropertyDefinitionsSchema$1.optional(),
43468
+ parameterDefinitions: ParameterDefinitionsSchema$1.optional(),
43469
43469
  });
43470
43470
  z.object({
43471
43471
  componentTree: localeWrapper$1(ComponentTreeSchema$1),
@@ -56850,9 +56850,9 @@ const cloneDeepAsPOJO = (obj) => {
56850
56850
  return JSON.parse(JSON.stringify(obj));
56851
56851
  };
56852
56852
 
56853
- 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";
56853
+ var css_248z$3 = ".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";
56854
56854
  var styles$3 = {"hitbox":"render-module_hitbox__l4ysJ","hitboxLower":"render-module_hitboxLower__tgsA1","canvasBottomSpacer":"render-module_canvasBottomSpacer__JuxVh","container":"render-module_container__-C3d7"};
56855
- styleInject(css_248z$a);
56855
+ styleInject(css_248z$3);
56856
56856
 
56857
56857
  // TODO: In order to support integrations without React, we should extract this heavy logic into simple
56858
56858
  // functions that we can reuse in other frameworks.
@@ -58245,9 +58245,6 @@ function getSchemaWithNodeType(nodeType) {
58245
58245
 
58246
58246
  } (dist));
58247
58247
 
58248
- var css_248z$8 = "/* Initially added with PR #253 for each component, this is now a global setting\n * It is recommended on MDN to use this as a default for layouting.\n*/\n* {\n box-sizing: border-box;\n}\n";
58249
- styleInject(css_248z$8);
58250
-
58251
58248
  /**
58252
58249
  * These modes are ONLY intended to be internally used within the context of
58253
58250
  * editing an experience inside of Contentful Studio. i.e. these modes
@@ -58265,21 +58262,6 @@ var PostMessageMethods$1;
58265
58262
  PostMessageMethods["REQUESTED_ENTITIES"] = "REQUESTED_ENTITIES";
58266
58263
  })(PostMessageMethods$1 || (PostMessageMethods$1 = {}));
58267
58264
 
58268
- var css_248z$7 = "/* If the label is empty, still render the normal height by adding this pseudo element */\n.cf-button:empty::before {\n content: '';\n display: inline-block;\n}\n";
58269
- styleInject(css_248z$7);
58270
-
58271
- var css_248z$6 = ".cf-heading {\n white-space: pre-line;\n}\n";
58272
- styleInject(css_248z$6);
58273
-
58274
- var css_248z$5 = ".cf-richtext {\n white-space: pre-line;\n}\n\n.cf-richtext > *:first-child {\n margin-top: 0;\n}\n\n.cf-richtext > *:last-child {\n margin-bottom: 0;\n}\n";
58275
- styleInject(css_248z$5);
58276
-
58277
- var css_248z$4 = ".cf-text {\n white-space: pre-line;\n}\n\n.cf-text-link .cf-text {\n margin: 0;\n}\n";
58278
- styleInject(css_248z$4);
58279
-
58280
- var css_248z$3 = "@import url(https://fonts.googleapis.com/css2?family=Archivo:ital,wght@0,400;0,500;0,600;1,400;1,600&display=swap);\n\n:root {\n /* All sizing comments based of 16px base body font size */\n\n /* color */\n --cf-color-white: #fff;\n --cf-color-black: #000;\n --cf-color-gray100: #f7f9fa;\n --cf-color-gray400: #aec1cc;\n --cf-color-gray400-rgb: 174, 193, 204;\n\n /* spacing */\n --cf-spacing-0: 0rem; /* 0px */\n --cf-spacing-1: 0.125rem; /* 2px */\n --cf-spacing-2: 0.25rem; /* 4px */\n --cf-spacing-3: 0.375rem; /* 6px */\n --cf-spacing-4: 0.5rem; /* 8px */\n --cf-spacing-5: 0.625rem; /* 10px */\n --cf-spacing-6: 0.75rem; /* 12px */\n --cf-spacing-7: 0.875rem; /* 14px */\n --cf-spacing-8: 1rem; /* 16px */\n --cf-spacing-9: 1.25rem; /* 20px */\n --cf-spacing-10: 1.5rem; /* 24px */\n --cf-spacing-11: 1.75rem; /* 28px */\n --cf-spacing-12: 2rem; /* 32px */\n --cf-spacing-13: 2.25rem; /* 36px */\n\n /* font-size */\n --cf-text-xs: 0.75rem; /* 12px */\n --cf-text-sm: 0.875rem; /* 14px */\n --cf-text-base: 1rem; /* 16px */\n --cf-text-lg: 1.125rem; /* 18px */\n --cf-text-xl: 1.25rem; /* 20px */\n --cf-text-2xl: 1.5rem; /* 24px */\n --cf-text-3xl: 2rem; /* 32px */\n --cf-text-4xl: 2.75rem; /* 44px */\n\n /* font-weight */\n --cf-font-light: 300;\n --cf-font-normal: 400;\n --cf-font-medium: 500;\n --cf-font-semibold: 600;\n --cf-font-bold: 700;\n --cf-font-extra-bold: 800;\n --cf-font-black: 900;\n\n /* border-radius */\n --cf-border-radius-none: 0px; /* none */\n --cf-border-radius-sm: 0.125rem; /* 2px */\n --cf-border-radius: 0.25rem; /* 4px */\n --cf-border-radius-md: 0.375rem; /* 6px */\n --cf-border-radius-lg: 0.5rem; /* 8px */\n --cf-border-radius-xl: 0.75rem; /* 12px */\n --cf-border-radius-2xl: 1rem; /* 16px */\n --cf-border-radius-3xl: 1.5rem; /* 24px */\n --cf-border-radius-full: 9999px; /* full */\n\n /* font-family */\n --cf-font-family-sans: Archivo, Helvetica, Arial, sans-serif;\n --cf-font-family-serif: Georgia, Cambria, Times New Roman, Times, serif;\n\n /* max widths */\n --cf-max-width-full: 100%;\n\n /* component specific colors */\n --cf-button-bg: var(--cf-color-black);\n --cf-button-color: var(--cf-color-white);\n --cf-text-color: var(--cf-color-black);\n}\n\ndiv.cf-placeholder-wrapper {\n /* Required for the absolute positioned icon to render in the center */\n position: relative;\n}\n\nimg.cf-placeholder-image {\n background-color: var(--cf-color-gray100);\n outline-offset: -2px;\n outline: 2px solid rgba(var(--cf-color-gray400-rgb), 0.5);\n width: 100%;\n height: 100%;\n}\n\nsvg.cf-placeholder-icon {\n position: absolute;\n top: 50%;\n left: 50%;\n transform: translate(-50%, -50%);\n height: var(--cf-text-3xl);\n width: var(--cf-text-3xl);\n max-height: 100%;\n max-width: 100%;\n}\n\nsvg.cf-placeholder-icon path {\n fill: var(--cf-color-gray400);\n}\n";
58281
- styleInject(css_248z$3);
58282
-
58283
58265
  /**
58284
58266
  * These modes are ONLY intended to be internally used within the context of
58285
58267
  * editing an experience inside of Contentful Studio. i.e. these modes
@@ -58492,11 +58474,11 @@ const ComponentPropertyValueSchema = z.discriminatedUnion('type', [
58492
58474
  ]);
58493
58475
  // TODO: finalize schema structure before release
58494
58476
  // https://contentful.atlassian.net/browse/LUMOS-523
58495
- const PatternPropertySchema = z.object({
58477
+ const ParameterSchema = z.object({
58496
58478
  type: z.literal('BoundValue'),
58497
58479
  path: z.string(),
58498
58480
  });
58499
- const PatternPropertiesSchema = z.record(propertyKeySchema, PatternPropertySchema);
58481
+ const ParametersSchema = z.record(propertyKeySchema, ParameterSchema);
58500
58482
  const BreakpointSchema = z
58501
58483
  .object({
58502
58484
  id: propertyKeySchema,
@@ -58513,7 +58495,7 @@ const BaseComponentTreeNodeSchema = z.object({
58513
58495
  displayName: z.string().optional(),
58514
58496
  slotId: z.string().optional(),
58515
58497
  variables: z.record(propertyKeySchema, ComponentPropertyValueSchema),
58516
- patternProperties: PatternPropertiesSchema.optional(),
58498
+ parameters: ParametersSchema.optional(),
58517
58499
  });
58518
58500
  const ComponentVariableSchema = z.object({
58519
58501
  displayName: z.string().optional(),
@@ -58582,13 +58564,13 @@ const THUMBNAIL_IDS = [
58582
58564
  // TODO: finalize schema structure before release
58583
58565
  // https://contentful.atlassian.net/browse/LUMOS-523
58584
58566
  const VariableMappingSchema = z.object({
58585
- patternPropertyDefinitionId: propertyKeySchema,
58567
+ parameterId: propertyKeySchema,
58586
58568
  type: z.literal('ContentTypeMapping'),
58587
58569
  pathsByContentType: z.record(z.string(), z.object({ path: z.string() })),
58588
58570
  });
58589
58571
  // TODO: finalize schema structure before release
58590
58572
  // https://contentful.atlassian.net/browse/LUMOS-523
58591
- const PatternPropertyDefinitionSchema = z.object({
58573
+ const ParameterDefinitionSchema = z.object({
58592
58574
  defaultValue: z
58593
58575
  .record(z.string(), z.object({
58594
58576
  sys: z.object({
@@ -58606,7 +58588,7 @@ const PatternPropertyDefinitionSchema = z.object({
58606
58588
  }),
58607
58589
  })),
58608
58590
  });
58609
- const PatternPropertyDefinitionsSchema = z.record(propertyKeySchema, PatternPropertyDefinitionSchema);
58591
+ const ParameterDefinitionsSchema = z.record(propertyKeySchema, ParameterDefinitionSchema);
58610
58592
  const VariableMappingsSchema = z.record(propertyKeySchema, VariableMappingSchema);
58611
58593
  const ComponentVariablesSchema = z.record(z.string().regex(/^[a-zA-Z0-9-_]{1,54}$/), // Here the key is <variableName>_<nanoidId> so we need to allow for a longer length
58612
58594
  ComponentVariableSchema);
@@ -58615,7 +58597,7 @@ const ComponentSettingsSchema = z.object({
58615
58597
  thumbnailId: z.enum(THUMBNAIL_IDS).optional(),
58616
58598
  category: z.string().max(50, 'Category must contain at most 50 characters').optional(),
58617
58599
  variableMappings: VariableMappingsSchema.optional(),
58618
- patternPropertyDefinitions: PatternPropertyDefinitionsSchema.optional(),
58600
+ parameterDefinitions: ParameterDefinitionsSchema.optional(),
58619
58601
  });
58620
58602
  z.object({
58621
58603
  componentTree: localeWrapper(ComponentTreeSchema),
@@ -58826,9 +58808,6 @@ var VisualEditorMode;
58826
58808
  VisualEditorMode["InjectScript"] = "injectScript";
58827
58809
  })(VisualEditorMode || (VisualEditorMode = {}));
58828
58810
 
58829
- var css_248z$2$1 = ".contentful-container {\n position: relative;\n display: flex;\n pointer-events: all;\n}\n\n.contentful-container::-webkit-scrollbar {\n display: none; /* Safari and Chrome */\n}\n\n.cf-single-column-wrapper {\n position: relative;\n}\n\n.cf-container-wrapper {\n position: relative;\n width: 100%;\n}\n\n.contentful-container:after {\n content: '';\n display: block;\n position: absolute;\n pointer-events: none;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n overflow-x: clip;\n font-family: var(--exp-builder-font-stack-primary);\n font-size: 12px;\n color: var(--exp-builder-gray400);\n z-index: 1;\n}\n\n.contentful-section-label:after {\n content: 'Section';\n}\n\n.contentful-container-label:after {\n content: 'Container';\n}\n\n/* used by ContentfulSectionAsHyperlink.tsx */\n\n.contentful-container-link,\n.contentful-container-link:active,\n.contentful-container-link:visited,\n.contentful-container-link:hover,\n.contentful-container-link:read-write,\n.contentful-container-link:focus-visible {\n color: inherit;\n text-decoration: unset;\n outline: unset;\n}\n";
58830
- styleInject(css_248z$2$1);
58831
-
58832
58811
  const Flex = reactExports.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) => {
58833
58812
  return (React$1.createElement("div", { id: id, ref: ref, style: {
58834
58813
  display: 'flex',
@@ -58851,12 +58830,6 @@ const Flex = reactExports.forwardRef(({ id, children, onMouseEnter, onMouseUp, o
58851
58830
  });
58852
58831
  Flex.displayName = 'Flex';
58853
58832
 
58854
- var css_248z$1$1 = ".cf-divider {\n display: contents;\n position: relative;\n width: 100%;\n height: 100%;\n}\n\n.cf-divider hr {\n border: none;\n}\n\n/* For the editor mode add this 10px tolerance to make it easier picking up the divider component.\n * Using the DND zone as precondition makes sure that we don't render this pseudo element in delivery. */\n\n[data-ctfl-zone-id='root'] .cf-divider::before {\n content: \"\";\n position: absolute;\n top: -5px;\n left: -5px;\n bottom: -5px;\n right: -5px;\n pointer-events: all;\n}\n";
58855
- styleInject(css_248z$1$1);
58856
-
58857
- var css_248z$9 = ".cf-columns {\n display: flex;\n gap: 24px;\n grid-template-columns: repeat(12, 1fr);\n flex-direction: column;\n min-height: 0; /* NEW */\n min-width: 0; /* NEW; needed for Firefox */\n}\n\n@media (min-width: 768px) {\n .cf-columns {\n display: grid;\n }\n}\n\n.cf-single-column-wrapper {\n position: relative;\n display: flex;\n}\n\n.cf-single-column {\n pointer-events: all;\n}\n\n.cf-single-column-wrapper:after {\n content: '';\n display: block;\n position: absolute;\n pointer-events: none;\n top: 0;\n left: 0;\n right: 0;\n bottom: 0;\n display: flex;\n justify-content: center;\n align-items: center;\n overflow-x: clip;\n font-family: var(--exp-builder-font-stack-primary);\n font-size: 12px;\n color: var(--exp-builder-gray400);\n z-index: 1;\n}\n\n.cf-single-column-label:after {\n content: 'Column';\n}\n";
58858
- styleInject(css_248z$9);
58859
-
58860
58833
  const ColumnWrapper = reactExports.forwardRef((props, ref) => {
58861
58834
  return (React$1.createElement("div", { ref: ref, ...props, style: {
58862
58835
  ...(props.style || {}),