@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/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$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);
15
+ 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";
16
+ styleInject(css_248z$4);
17
17
 
18
18
  const INCOMING_EVENTS$1 = {
19
19
  RequestEditorMode: 'requestEditorMode',
@@ -721,11 +721,11 @@ const ComponentPropertyValueSchema$1 = z.discriminatedUnion('type', [
721
721
  ]);
722
722
  // TODO: finalize schema structure before release
723
723
  // https://contentful.atlassian.net/browse/LUMOS-523
724
- const PatternPropertySchema$1 = z.object({
724
+ const ParameterSchema$1 = z.object({
725
725
  type: z.literal('BoundValue'),
726
726
  path: z.string(),
727
727
  });
728
- const PatternPropertiesSchema$1 = z.record(propertyKeySchema$1, PatternPropertySchema$1);
728
+ const ParametersSchema$1 = z.record(propertyKeySchema$1, ParameterSchema$1);
729
729
  const BreakpointSchema$1 = z
730
730
  .object({
731
731
  id: propertyKeySchema$1,
@@ -742,7 +742,7 @@ const BaseComponentTreeNodeSchema$1 = z.object({
742
742
  displayName: z.string().optional(),
743
743
  slotId: z.string().optional(),
744
744
  variables: z.record(propertyKeySchema$1, ComponentPropertyValueSchema$1),
745
- patternProperties: PatternPropertiesSchema$1.optional(),
745
+ parameters: ParametersSchema$1.optional(),
746
746
  });
747
747
  const ComponentVariableSchema$1 = z.object({
748
748
  displayName: z.string().optional(),
@@ -811,13 +811,13 @@ const THUMBNAIL_IDS$1 = [
811
811
  // TODO: finalize schema structure before release
812
812
  // https://contentful.atlassian.net/browse/LUMOS-523
813
813
  const VariableMappingSchema$1 = z.object({
814
- patternPropertyDefinitionId: propertyKeySchema$1,
814
+ parameterId: propertyKeySchema$1,
815
815
  type: z.literal('ContentTypeMapping'),
816
816
  pathsByContentType: z.record(z.string(), z.object({ path: z.string() })),
817
817
  });
818
818
  // TODO: finalize schema structure before release
819
819
  // https://contentful.atlassian.net/browse/LUMOS-523
820
- const PatternPropertyDefinitionSchema$1 = z.object({
820
+ const ParameterDefinitionSchema$1 = z.object({
821
821
  defaultValue: z
822
822
  .record(z.string(), z.object({
823
823
  sys: z.object({
@@ -835,7 +835,7 @@ const PatternPropertyDefinitionSchema$1 = z.object({
835
835
  }),
836
836
  })),
837
837
  });
838
- const PatternPropertyDefinitionsSchema$1 = z.record(propertyKeySchema$1, PatternPropertyDefinitionSchema$1);
838
+ const ParameterDefinitionsSchema$1 = z.record(propertyKeySchema$1, ParameterDefinitionSchema$1);
839
839
  const VariableMappingsSchema$1 = z.record(propertyKeySchema$1, VariableMappingSchema$1);
840
840
  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
841
841
  ComponentVariableSchema$1);
@@ -844,7 +844,7 @@ const ComponentSettingsSchema$1 = z.object({
844
844
  thumbnailId: z.enum(THUMBNAIL_IDS$1).optional(),
845
845
  category: z.string().max(50, 'Category must contain at most 50 characters').optional(),
846
846
  variableMappings: VariableMappingsSchema$1.optional(),
847
- patternPropertyDefinitions: PatternPropertyDefinitionsSchema$1.optional(),
847
+ parameterDefinitions: ParameterDefinitionsSchema$1.optional(),
848
848
  });
849
849
  z.object({
850
850
  componentTree: localeWrapper$1(ComponentTreeSchema$1),
@@ -3162,9 +3162,9 @@ const cloneDeepAsPOJO = (obj) => {
3162
3162
  return JSON.parse(JSON.stringify(obj));
3163
3163
  };
3164
3164
 
3165
- 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";
3165
+ 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";
3166
3166
  var styles$3 = {"hitbox":"render-module_hitbox__l4ysJ","hitboxLower":"render-module_hitboxLower__tgsA1","canvasBottomSpacer":"render-module_canvasBottomSpacer__JuxVh","container":"render-module_container__-C3d7"};
3167
- styleInject(css_248z$a);
3167
+ styleInject(css_248z$3);
3168
3168
 
3169
3169
  // TODO: In order to support integrations without React, we should extract this heavy logic into simple
3170
3170
  // functions that we can reuse in other frameworks.
@@ -3331,9 +3331,6 @@ const useEditorStore = create((set, get) => ({
3331
3331
  },
3332
3332
  }));
3333
3333
 
3334
- 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";
3335
- styleInject(css_248z$8);
3336
-
3337
3334
  /**
3338
3335
  * These modes are ONLY intended to be internally used within the context of
3339
3336
  * editing an experience inside of Contentful Studio. i.e. these modes
@@ -3351,21 +3348,6 @@ var PostMessageMethods$1;
3351
3348
  PostMessageMethods["REQUESTED_ENTITIES"] = "REQUESTED_ENTITIES";
3352
3349
  })(PostMessageMethods$1 || (PostMessageMethods$1 = {}));
3353
3350
 
3354
- 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";
3355
- styleInject(css_248z$7);
3356
-
3357
- var css_248z$6 = ".cf-heading {\n white-space: pre-line;\n}\n";
3358
- styleInject(css_248z$6);
3359
-
3360
- 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";
3361
- styleInject(css_248z$5);
3362
-
3363
- var css_248z$4 = ".cf-text {\n white-space: pre-line;\n}\n\n.cf-text-link .cf-text {\n margin: 0;\n}\n";
3364
- styleInject(css_248z$4);
3365
-
3366
- 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";
3367
- styleInject(css_248z$3);
3368
-
3369
3351
  /**
3370
3352
  * These modes are ONLY intended to be internally used within the context of
3371
3353
  * editing an experience inside of Contentful Studio. i.e. these modes
@@ -3578,11 +3560,11 @@ const ComponentPropertyValueSchema = z.discriminatedUnion('type', [
3578
3560
  ]);
3579
3561
  // TODO: finalize schema structure before release
3580
3562
  // https://contentful.atlassian.net/browse/LUMOS-523
3581
- const PatternPropertySchema = z.object({
3563
+ const ParameterSchema = z.object({
3582
3564
  type: z.literal('BoundValue'),
3583
3565
  path: z.string(),
3584
3566
  });
3585
- const PatternPropertiesSchema = z.record(propertyKeySchema, PatternPropertySchema);
3567
+ const ParametersSchema = z.record(propertyKeySchema, ParameterSchema);
3586
3568
  const BreakpointSchema = z
3587
3569
  .object({
3588
3570
  id: propertyKeySchema,
@@ -3599,7 +3581,7 @@ const BaseComponentTreeNodeSchema = z.object({
3599
3581
  displayName: z.string().optional(),
3600
3582
  slotId: z.string().optional(),
3601
3583
  variables: z.record(propertyKeySchema, ComponentPropertyValueSchema),
3602
- patternProperties: PatternPropertiesSchema.optional(),
3584
+ parameters: ParametersSchema.optional(),
3603
3585
  });
3604
3586
  const ComponentVariableSchema = z.object({
3605
3587
  displayName: z.string().optional(),
@@ -3668,13 +3650,13 @@ const THUMBNAIL_IDS = [
3668
3650
  // TODO: finalize schema structure before release
3669
3651
  // https://contentful.atlassian.net/browse/LUMOS-523
3670
3652
  const VariableMappingSchema = z.object({
3671
- patternPropertyDefinitionId: propertyKeySchema,
3653
+ parameterId: propertyKeySchema,
3672
3654
  type: z.literal('ContentTypeMapping'),
3673
3655
  pathsByContentType: z.record(z.string(), z.object({ path: z.string() })),
3674
3656
  });
3675
3657
  // TODO: finalize schema structure before release
3676
3658
  // https://contentful.atlassian.net/browse/LUMOS-523
3677
- const PatternPropertyDefinitionSchema = z.object({
3659
+ const ParameterDefinitionSchema = z.object({
3678
3660
  defaultValue: z
3679
3661
  .record(z.string(), z.object({
3680
3662
  sys: z.object({
@@ -3692,7 +3674,7 @@ const PatternPropertyDefinitionSchema = z.object({
3692
3674
  }),
3693
3675
  })),
3694
3676
  });
3695
- const PatternPropertyDefinitionsSchema = z.record(propertyKeySchema, PatternPropertyDefinitionSchema);
3677
+ const ParameterDefinitionsSchema = z.record(propertyKeySchema, ParameterDefinitionSchema);
3696
3678
  const VariableMappingsSchema = z.record(propertyKeySchema, VariableMappingSchema);
3697
3679
  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
3698
3680
  ComponentVariableSchema);
@@ -3701,7 +3683,7 @@ const ComponentSettingsSchema = z.object({
3701
3683
  thumbnailId: z.enum(THUMBNAIL_IDS).optional(),
3702
3684
  category: z.string().max(50, 'Category must contain at most 50 characters').optional(),
3703
3685
  variableMappings: VariableMappingsSchema.optional(),
3704
- patternPropertyDefinitions: PatternPropertyDefinitionsSchema.optional(),
3686
+ parameterDefinitions: ParameterDefinitionsSchema.optional(),
3705
3687
  });
3706
3688
  z.object({
3707
3689
  componentTree: localeWrapper(ComponentTreeSchema),
@@ -3912,9 +3894,6 @@ var VisualEditorMode;
3912
3894
  VisualEditorMode["InjectScript"] = "injectScript";
3913
3895
  })(VisualEditorMode || (VisualEditorMode = {}));
3914
3896
 
3915
- 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";
3916
- styleInject(css_248z$2$1);
3917
-
3918
3897
  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) => {
3919
3898
  return (React.createElement("div", { id: id, ref: ref, style: {
3920
3899
  display: 'flex',
@@ -3937,12 +3916,6 @@ const Flex = forwardRef(({ id, children, onMouseEnter, onMouseUp, onMouseLeave,
3937
3916
  });
3938
3917
  Flex.displayName = 'Flex';
3939
3918
 
3940
- 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";
3941
- styleInject(css_248z$1$1);
3942
-
3943
- 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";
3944
- styleInject(css_248z$9);
3945
-
3946
3919
  const ColumnWrapper = forwardRef((props, ref) => {
3947
3920
  return (React.createElement("div", { ref: ref, ...props, style: {
3948
3921
  ...(props.style || {}),