@builder.io/sdk-qwik 0.12.2 → 0.12.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.
Files changed (27) hide show
  1. package/lib/browser/index.qwik.cjs +255 -128
  2. package/lib/browser/index.qwik.mjs +256 -129
  3. package/lib/edge/index.qwik.cjs +255 -128
  4. package/lib/edge/index.qwik.mjs +256 -129
  5. package/lib/node/index.qwik.cjs +255 -128
  6. package/lib/node/index.qwik.mjs +256 -129
  7. package/package.json +1 -1
  8. package/types/src/blocks/button/button.d.ts +0 -1
  9. package/types/src/blocks/button/button.types.d.ts +2 -1
  10. package/types/src/blocks/columns/columns.d.ts +1 -1
  11. package/types/src/blocks/columns/columns.types.d.ts +3 -3
  12. package/types/src/blocks/symbol/symbol.types.d.ts +2 -2
  13. package/types/src/components/block/block.d.ts +1 -0
  14. package/types/src/components/block/components/block-wrapper.d.ts +1 -0
  15. package/types/src/components/block/components/component-ref/component-ref.helpers.d.ts +2 -2
  16. package/types/src/components/block/components/repeated-block.d.ts +3 -5
  17. package/types/src/components/blocks/blocks.types.d.ts +1 -0
  18. package/types/src/components/content-variants/content-variants.types.d.ts +6 -2
  19. package/types/src/constants/sdk-version.d.ts +1 -1
  20. package/types/src/functions/get-block-properties.d.ts +1 -2
  21. package/types/src/functions/get-class-prop-name.d.ts +1 -0
  22. package/types/src/functions/get-style.d.ts +12 -0
  23. package/types/src/functions/transform-block-properties.d.ts +2 -2
  24. package/types/src/functions/transform-style-property.d.ts +7 -0
  25. package/types/src/helpers/omit.d.ts +1 -0
  26. package/types/src/types/builder-block.d.ts +1 -0
  27. package/types/src/types/builder-props.d.ts +3 -0
@@ -1,42 +1,85 @@
1
- import { componentQrl, inlinedQrl, useStylesScopedQrl, _jsxC, _jsxS, _fnSignal, createContextId, _jsxQ, _jsxBranch, useComputedQrl, useLexicalScope, _IMMUTABLE, Slot as Slot$1, useStore, useContextProvider, _wrapProp, useContext, createElement, Fragment as Fragment$1, useSignal, useOn, useTaskQrl } from "@builder.io/qwik";
1
+ import { componentQrl, inlinedQrl, _jsxBranch, _jsxC, Slot as Slot$1, _fnSignal, _IMMUTABLE, createContextId, _jsxQ, useComputedQrl, useLexicalScope, useStore, useContextProvider, _wrapProp, useStylesScopedQrl, useContext, Fragment as Fragment$1, _jsxS, useSignal, useOn, useTaskQrl, createElement } from "@builder.io/qwik";
2
2
  import { Fragment } from "@builder.io/qwik/jsx-runtime";
3
3
  import { isServer } from "@builder.io/qwik/build";
4
- const Button = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
5
- useStylesScopedQrl(/* @__PURE__ */ inlinedQrl(STYLES$3, "Button_component_useStylesScoped_a1JZ0Q0Q2Oc"));
4
+ const EMPTY_HTML_ELEMENTS = /* @__PURE__ */ new Set([
5
+ "area",
6
+ "base",
7
+ "br",
8
+ "col",
9
+ "embed",
10
+ "hr",
11
+ "img",
12
+ "input",
13
+ "keygen",
14
+ "link",
15
+ "meta",
16
+ "param",
17
+ "source",
18
+ "track",
19
+ "wbr"
20
+ ]);
21
+ const isEmptyElement = (tagName) => {
22
+ return typeof tagName === "string" && EMPTY_HTML_ELEMENTS.has(tagName.toLowerCase());
23
+ };
24
+ const DynamicRenderer = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
25
+ _jsxBranch();
6
26
  return /* @__PURE__ */ _jsxC(Fragment, {
7
- children: props.link ? /* @__PURE__ */ _jsxS("a", {
27
+ children: !isEmptyElement(props.TagName) ? typeof props.TagName === "string" ? /* @__PURE__ */ _jsxC(props.TagName, {
8
28
  ...props.attributes,
9
- children: _fnSignal((p0) => p0.text, [
10
- props
11
- ], "p0.text")
12
- }, {
13
- href: _fnSignal((p0) => p0.link, [
14
- props
15
- ], "p0.link"),
16
- role: "button",
17
- target: _fnSignal((p0) => p0.openLinkInNewTab ? "_blank" : void 0, [
18
- props
19
- ], 'p0.openLinkInNewTab?"_blank":undefined')
20
- }, 0, "jc_0") : /* @__PURE__ */ _jsxS("button", {
29
+ ...props.actionAttributes,
30
+ children: /* @__PURE__ */ _jsxC(Slot$1, null, 3, "yW_0")
31
+ }, 0, "yW_1") : /* @__PURE__ */ _jsxC(props.TagName, {
21
32
  ...props.attributes,
22
- children: _fnSignal((p0) => p0.text, [
23
- props
24
- ], "p0.text")
25
- }, {
26
- class: _fnSignal((p0) => p0.attributes.class + " button-Button", [
27
- props
28
- ], 'p0.attributes.class+" button-Button"'),
29
- style: _fnSignal((p0) => p0.attributes.style, [
33
+ ...props.actionAttributes,
34
+ children: /* @__PURE__ */ _jsxC(Slot$1, null, 3, "yW_2")
35
+ }, 0, "yW_3") : /* @__PURE__ */ _jsxC(props.TagName, {
36
+ ...props.attributes,
37
+ ...props.actionAttributes
38
+ }, 0, "yW_4")
39
+ }, 1, "yW_5");
40
+ }, "DynamicRenderer_component_1Co0xkmyAfQ"));
41
+ const TARGET = "qwik";
42
+ const getClassPropName = () => {
43
+ switch (TARGET) {
44
+ case "react":
45
+ case "reactNative":
46
+ case "rsc":
47
+ return "className";
48
+ case "svelte":
49
+ case "vue":
50
+ case "solid":
51
+ case "qwik":
52
+ return "class";
53
+ }
54
+ };
55
+ const Button = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
56
+ return /* @__PURE__ */ _jsxC(DynamicRenderer, {
57
+ get TagName() {
58
+ return props.link ? props.builderLinkComponent || "a" : "button";
59
+ },
60
+ actionAttributes: {},
61
+ attributes: {
62
+ ...props.attributes,
63
+ [getClassPropName()]: `${props.link ? "" : "builder-button"} ${props.attributes[getClassPropName()] || ""}`,
64
+ ...props.link ? {
65
+ href: props.link,
66
+ target: props.openLinkInNewTab ? "_blank" : void 0,
67
+ role: "link"
68
+ } : {
69
+ role: "button"
70
+ }
71
+ },
72
+ children: _fnSignal((p0) => p0.text, [
73
+ props
74
+ ], "p0.text"),
75
+ [_IMMUTABLE]: {
76
+ TagName: _fnSignal((p0) => p0.link ? p0.builderLinkComponent || "a" : "button", [
30
77
  props
31
- ], "p0.attributes.style")
32
- }, 0, null)
33
- }, 1, "jc_1");
78
+ ], 'p0.link?p0.builderLinkComponent||"a":"button"'),
79
+ actionAttributes: _IMMUTABLE
80
+ }
81
+ }, 3, "jc_0");
34
82
  }, "Button_component_gJoMUICXoUQ"));
35
- const STYLES$3 = `
36
- .button-Button {
37
- all: unset;
38
- }
39
- `;
40
83
  const builderContext = createContextId("Builder");
41
84
  const ComponentsContext = createContextId("Components");
42
85
  function getBlockComponentOptions(block) {
@@ -67,7 +110,6 @@ const set = (obj, _path, value) => {
67
110
  function isBrowser() {
68
111
  return typeof window !== "undefined" && typeof document !== "undefined";
69
112
  }
70
- const TARGET = "qwik";
71
113
  function isIframe() {
72
114
  return isBrowser() && window.self !== window.top;
73
115
  }
@@ -3710,6 +3752,29 @@ function getBlockActions(options) {
3710
3752
  }
3711
3753
  return obj;
3712
3754
  }
3755
+ function transformStyleProperty({ style }) {
3756
+ return style;
3757
+ }
3758
+ const getStyle = ({ block, context }) => {
3759
+ return mapStyleObjToStrIfNeeded(transformStyleProperty({
3760
+ style: block.style || {},
3761
+ context,
3762
+ block
3763
+ }));
3764
+ };
3765
+ function mapStyleObjToStrIfNeeded(style) {
3766
+ switch (TARGET) {
3767
+ case "svelte":
3768
+ case "vue":
3769
+ case "solid":
3770
+ return convertStyleMapToCSSArray(style).join(" ");
3771
+ case "qwik":
3772
+ case "reactNative":
3773
+ case "react":
3774
+ case "rsc":
3775
+ return style;
3776
+ }
3777
+ }
3713
3778
  function transformBlockProperties({ properties }) {
3714
3779
  return properties;
3715
3780
  }
@@ -3724,8 +3789,11 @@ function getBlockProperties({ block, context }) {
3724
3789
  ...extractRelevantRootBlockProperties(block),
3725
3790
  ...block.properties,
3726
3791
  "builder-id": block.id,
3727
- style: block.style ? getStyleAttribute(block.style) : void 0,
3728
- class: [
3792
+ style: getStyle({
3793
+ block,
3794
+ context
3795
+ }),
3796
+ [getClassPropName()]: [
3729
3797
  block.id,
3730
3798
  "builder-block",
3731
3799
  block.class,
@@ -3738,56 +3806,6 @@ function getBlockProperties({ block, context }) {
3738
3806
  block
3739
3807
  });
3740
3808
  }
3741
- function getStyleAttribute(style) {
3742
- switch (TARGET) {
3743
- case "svelte":
3744
- case "vue":
3745
- case "solid":
3746
- return convertStyleMapToCSSArray(style).join(" ");
3747
- case "qwik":
3748
- case "reactNative":
3749
- case "react":
3750
- case "rsc":
3751
- return style;
3752
- }
3753
- }
3754
- const EMPTY_HTML_ELEMENTS = /* @__PURE__ */ new Set([
3755
- "area",
3756
- "base",
3757
- "br",
3758
- "col",
3759
- "embed",
3760
- "hr",
3761
- "img",
3762
- "input",
3763
- "keygen",
3764
- "link",
3765
- "meta",
3766
- "param",
3767
- "source",
3768
- "track",
3769
- "wbr"
3770
- ]);
3771
- const isEmptyElement = (tagName) => {
3772
- return typeof tagName === "string" && EMPTY_HTML_ELEMENTS.has(tagName.toLowerCase());
3773
- };
3774
- const DynamicRenderer = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
3775
- _jsxBranch();
3776
- return /* @__PURE__ */ _jsxC(Fragment, {
3777
- children: !isEmptyElement(props.TagName) ? typeof props.TagName === "string" ? /* @__PURE__ */ _jsxC(props.TagName, {
3778
- ...props.attributes,
3779
- ...props.actionAttributes,
3780
- children: /* @__PURE__ */ _jsxC(Slot$1, null, 3, "yW_0")
3781
- }, 0, "yW_1") : /* @__PURE__ */ _jsxC(props.TagName, {
3782
- ...props.attributes,
3783
- ...props.actionAttributes,
3784
- children: /* @__PURE__ */ _jsxC(Slot$1, null, 3, "yW_2")
3785
- }, 0, "yW_3") : /* @__PURE__ */ _jsxC(props.TagName, {
3786
- ...props.attributes,
3787
- ...props.actionAttributes
3788
- }, 0, "yW_4")
3789
- }, 1, "yW_5");
3790
- }, "DynamicRenderer_component_1Co0xkmyAfQ"));
3791
3809
  const BlockWrapper = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
3792
3810
  return /* @__PURE__ */ _jsxC(DynamicRenderer, {
3793
3811
  get TagName() {
@@ -3866,6 +3884,7 @@ const ComponentRef = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((pr
3866
3884
  builderBlock: props.builderBlock,
3867
3885
  context: props.context,
3868
3886
  componentRef: props.componentRef,
3887
+ linkComponent: props.linkComponent,
3869
3888
  includeBlockProps: props.includeBlockProps,
3870
3889
  isInteractive: props.isInteractive,
3871
3890
  contextValue: props.context
@@ -3879,10 +3898,16 @@ const ComponentRef = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((pr
3879
3898
  get registeredComponents() {
3880
3899
  return props.registeredComponents;
3881
3900
  },
3901
+ get linkComponent() {
3902
+ return props.linkComponent;
3903
+ },
3882
3904
  [_IMMUTABLE]: {
3883
3905
  context: _fnSignal((p0) => p0.context, [
3884
3906
  props
3885
3907
  ], "p0.context"),
3908
+ linkComponent: _fnSignal((p0) => p0.linkComponent, [
3909
+ props
3910
+ ], "p0.linkComponent"),
3886
3911
  registeredComponents: _fnSignal((p0) => p0.registeredComponents, [
3887
3912
  props
3888
3913
  ], "p0.registeredComponents")
@@ -3907,6 +3932,9 @@ const RepeatedBlock = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((p
3907
3932
  get registeredComponents() {
3908
3933
  return props.registeredComponents;
3909
3934
  },
3935
+ get linkComponent() {
3936
+ return props.linkComponent;
3937
+ },
3910
3938
  [_IMMUTABLE]: {
3911
3939
  block: _fnSignal((p0) => p0.block, [
3912
3940
  props
@@ -3914,6 +3942,9 @@ const RepeatedBlock = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((p
3914
3942
  context: _fnSignal((p0) => p0.store, [
3915
3943
  state
3916
3944
  ], "p0.store"),
3945
+ linkComponent: _fnSignal((p0) => p0.linkComponent, [
3946
+ props
3947
+ ], "p0.linkComponent"),
3917
3948
  registeredComponents: _fnSignal((p0) => p0.registeredComponents, [
3918
3949
  props
3919
3950
  ], "p0.registeredComponents")
@@ -3960,9 +3991,14 @@ const Block = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =>
3960
3991
  props
3961
3992
  ]));
3962
3993
  const Tag = useComputedQrl(/* @__PURE__ */ inlinedQrl(() => {
3963
- const [props2] = useLexicalScope();
3994
+ var _a2;
3995
+ const [processedBlock2, props2] = useLexicalScope();
3996
+ const shouldUseLink = props2.block.tagName === "a" || ((_a2 = processedBlock2.value.properties) == null ? void 0 : _a2.href) || processedBlock2.value.href;
3997
+ if (shouldUseLink)
3998
+ return props2.linkComponent || "a";
3964
3999
  return props2.block.tagName || "div";
3965
4000
  }, "Block_component_Tag_useComputed_eQnDgbcBW2A", [
4001
+ processedBlock,
3966
4002
  props
3967
4003
  ]));
3968
4004
  const canShowBlock = useComputedQrl(/* @__PURE__ */ inlinedQrl(() => {
@@ -3992,7 +4028,7 @@ const Block = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =>
3992
4028
  repeatItem
3993
4029
  ]));
3994
4030
  const componentRefProps = useComputedQrl(/* @__PURE__ */ inlinedQrl(() => {
3995
- var _a2, _b, _c, _d, _e;
4031
+ var _a2, _b, _c, _d, _e, _f, _g, _h;
3996
4032
  const [blockComponent2, processedBlock2, props2, state2] = useLexicalScope();
3997
4033
  return {
3998
4034
  blockChildren: processedBlock2.value.children ?? [],
@@ -4000,15 +4036,19 @@ const Block = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =>
4000
4036
  componentOptions: {
4001
4037
  ...getBlockComponentOptions(processedBlock2.value),
4002
4038
  builderContext: props2.context,
4003
- ...((_b = blockComponent2.value) == null ? void 0 : _b.name) === "Symbol" || ((_c = blockComponent2.value) == null ? void 0 : _c.name) === "Columns" ? {
4039
+ ...((_b = blockComponent2.value) == null ? void 0 : _b.name) === "Core:Button" || ((_c = blockComponent2.value) == null ? void 0 : _c.name) === "Symbol" || ((_d = blockComponent2.value) == null ? void 0 : _d.name) === "Columns" ? {
4040
+ builderLinkComponent: props2.linkComponent
4041
+ } : {},
4042
+ ...((_e = blockComponent2.value) == null ? void 0 : _e.name) === "Symbol" || ((_f = blockComponent2.value) == null ? void 0 : _f.name) === "Columns" ? {
4004
4043
  builderComponents: props2.registeredComponents
4005
4044
  } : {}
4006
4045
  },
4007
4046
  context: state2.childrenContext,
4047
+ linkComponent: props2.linkComponent,
4008
4048
  registeredComponents: props2.registeredComponents,
4009
4049
  builderBlock: processedBlock2.value,
4010
- includeBlockProps: ((_d = blockComponent2.value) == null ? void 0 : _d.noWrap) === true,
4011
- isInteractive: !((_e = blockComponent2.value) == null ? void 0 : _e.isRSC)
4050
+ includeBlockProps: ((_g = blockComponent2.value) == null ? void 0 : _g.noWrap) === true,
4051
+ isInteractive: !((_h = blockComponent2.value) == null ? void 0 : _h.isRSC)
4012
4052
  };
4013
4053
  }, "Block_component_componentRefProps_useComputed_Ikbl8VO04ho", [
4014
4054
  blockComponent,
@@ -4045,6 +4085,9 @@ const Block = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =>
4045
4085
  get context() {
4046
4086
  return props.context;
4047
4087
  },
4088
+ get linkComponent() {
4089
+ return props.linkComponent;
4090
+ },
4048
4091
  children: [
4049
4092
  /* @__PURE__ */ _jsxC(ComponentRef, {
4050
4093
  get componentRef() {
@@ -4062,6 +4105,9 @@ const Block = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =>
4062
4105
  get registeredComponents() {
4063
4106
  return componentRefProps.value.registeredComponents;
4064
4107
  },
4108
+ get linkComponent() {
4109
+ return componentRefProps.value.linkComponent;
4110
+ },
4065
4111
  get builderBlock() {
4066
4112
  return componentRefProps.value.builderBlock;
4067
4113
  },
@@ -4093,6 +4139,9 @@ const Block = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =>
4093
4139
  isInteractive: _fnSignal((p0) => p0.value.isInteractive, [
4094
4140
  componentRefProps
4095
4141
  ], "p0.value.isInteractive"),
4142
+ linkComponent: _fnSignal((p0) => p0.value.linkComponent, [
4143
+ componentRefProps
4144
+ ], "p0.value.linkComponent"),
4096
4145
  registeredComponents: _fnSignal((p0) => p0.value.registeredComponents, [
4097
4146
  componentRefProps
4098
4147
  ], "p0.value.registeredComponents")
@@ -4107,10 +4156,16 @@ const Block = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =>
4107
4156
  get registeredComponents() {
4108
4157
  return props.registeredComponents;
4109
4158
  },
4159
+ get linkComponent() {
4160
+ return props.linkComponent;
4161
+ },
4110
4162
  [_IMMUTABLE]: {
4111
4163
  context: _fnSignal((p0) => p0.childrenContext, [
4112
4164
  state
4113
4165
  ], "p0.childrenContext"),
4166
+ linkComponent: _fnSignal((p0) => p0.linkComponent, [
4167
+ props
4168
+ ], "p0.linkComponent"),
4114
4169
  registeredComponents: _fnSignal((p0) => p0.registeredComponents, [
4115
4170
  props
4116
4171
  ], "p0.registeredComponents")
@@ -4127,7 +4182,10 @@ const Block = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =>
4127
4182
  ], "p0.value"),
4128
4183
  context: _fnSignal((p0) => p0.context, [
4129
4184
  props
4130
- ], "p0.context")
4185
+ ], "p0.context"),
4186
+ linkComponent: _fnSignal((p0) => p0.linkComponent, [
4187
+ props
4188
+ ], "p0.linkComponent")
4131
4189
  }
4132
4190
  }, 1, "jN_2") : (repeatItem.value || []).map((data, index) => {
4133
4191
  return /* @__PURE__ */ _jsxC(RepeatedBlock, {
@@ -4140,8 +4198,14 @@ const Block = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =>
4140
4198
  get registeredComponents() {
4141
4199
  return props.registeredComponents;
4142
4200
  },
4201
+ get linkComponent() {
4202
+ return props.linkComponent;
4203
+ },
4143
4204
  [_IMMUTABLE]: {
4144
4205
  block: _wrapProp(data, "block"),
4206
+ linkComponent: _fnSignal((p0) => p0.linkComponent, [
4207
+ props
4208
+ ], "p0.linkComponent"),
4145
4209
  registeredComponents: _fnSignal((p0) => p0.registeredComponents, [
4146
4210
  props
4147
4211
  ], "p0.registeredComponents"),
@@ -4164,6 +4228,9 @@ const Block = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =>
4164
4228
  get registeredComponents() {
4165
4229
  return componentRefProps.value.registeredComponents;
4166
4230
  },
4231
+ get linkComponent() {
4232
+ return componentRefProps.value.linkComponent;
4233
+ },
4167
4234
  get builderBlock() {
4168
4235
  return componentRefProps.value.builderBlock;
4169
4236
  },
@@ -4195,6 +4262,9 @@ const Block = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =>
4195
4262
  isInteractive: _fnSignal((p0) => p0.value.isInteractive, [
4196
4263
  componentRefProps
4197
4264
  ], "p0.value.isInteractive"),
4265
+ linkComponent: _fnSignal((p0) => p0.value.linkComponent, [
4266
+ componentRefProps
4267
+ ], "p0.value.linkComponent"),
4198
4268
  registeredComponents: _fnSignal((p0) => p0.value.registeredComponents, [
4199
4269
  componentRefProps
4200
4270
  ], "p0.value.registeredComponents")
@@ -4322,6 +4392,9 @@ const Blocks = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =
4322
4392
  children: props.blocks ? (props.blocks || []).map((block) => {
4323
4393
  return /* @__PURE__ */ _jsxC(Block, {
4324
4394
  block,
4395
+ get linkComponent() {
4396
+ return props.linkComponent;
4397
+ },
4325
4398
  get context() {
4326
4399
  return props.context || builderContext$1;
4327
4400
  },
@@ -4333,6 +4406,9 @@ const Blocks = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) =
4333
4406
  builderContext$1,
4334
4407
  props
4335
4408
  ], "p1.context||p0"),
4409
+ linkComponent: _fnSignal((p0) => p0.linkComponent, [
4410
+ props
4411
+ ], "p0.linkComponent"),
4336
4412
  registeredComponents: _fnSignal((p0, p1) => p1.registeredComponents || p0.registeredComponents, [
4337
4413
  componentsContext,
4338
4414
  props
@@ -4392,7 +4468,13 @@ const columnCssVars = function columnCssVars2(props, state, index) {
4392
4468
  const mobileWidth = "100%";
4393
4469
  const mobileMarginLeft = 0;
4394
4470
  const marginLeftKey = "margin-left";
4471
+ const sharedStyles = {
4472
+ display: "flex",
4473
+ flexDirection: "column",
4474
+ alignItems: "stretch"
4475
+ };
4395
4476
  return {
4477
+ ...sharedStyles,
4396
4478
  width,
4397
4479
  [marginLeftKey]: gutterPixels,
4398
4480
  "--column-width-mobile": getMobileStyle(props, state, {
@@ -4490,40 +4572,56 @@ const Columns = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props)
4490
4572
  }
4491
4573
  }, 3, "c0_0"),
4492
4574
  (props.columns || []).map((column, index) => {
4493
- return /* @__PURE__ */ createElement("div", {
4494
- class: "builder-column div-Columns-2",
4495
- style: columnCssVars(props, state, index),
4496
- key: index
4497
- }, /* @__PURE__ */ _jsxC(Blocks, {
4498
- path: `component.options.columns.${index}.blocks`,
4499
- get parent() {
4500
- return props.builderBlock.id;
4501
- },
4502
- get styleProp() {
4503
- return {
4504
- flexGrow: "1"
4505
- };
4506
- },
4507
- get context() {
4508
- return props.builderContext;
4575
+ return /* @__PURE__ */ _jsxC(DynamicRenderer, {
4576
+ TagName: column.link ? props.builderLinkComponent || "a" : "div",
4577
+ actionAttributes: {},
4578
+ attributes: {
4579
+ ...column.link ? {
4580
+ href: column.link
4581
+ } : {},
4582
+ [getClassPropName()]: "builder-column",
4583
+ style: mapStyleObjToStrIfNeeded(columnCssVars(props, state, index))
4509
4584
  },
4510
- get registeredComponents() {
4511
- return props.builderComponents;
4512
- },
4513
- blocks: deoptSignal(column.blocks),
4585
+ children: /* @__PURE__ */ _jsxC(Blocks, {
4586
+ path: `component.options.columns.${index}.blocks`,
4587
+ get parent() {
4588
+ return props.builderBlock.id;
4589
+ },
4590
+ get styleProp() {
4591
+ return {
4592
+ flexGrow: "1"
4593
+ };
4594
+ },
4595
+ get context() {
4596
+ return props.builderContext;
4597
+ },
4598
+ get registeredComponents() {
4599
+ return props.builderComponents;
4600
+ },
4601
+ get linkComponent() {
4602
+ return props.builderLinkComponent;
4603
+ },
4604
+ blocks: deoptSignal(column.blocks),
4605
+ [_IMMUTABLE]: {
4606
+ context: _fnSignal((p0) => p0.builderContext, [
4607
+ props
4608
+ ], "p0.builderContext"),
4609
+ linkComponent: _fnSignal((p0) => p0.builderLinkComponent, [
4610
+ props
4611
+ ], "p0.builderLinkComponent"),
4612
+ parent: _fnSignal((p0) => p0.builderBlock.id, [
4613
+ props
4614
+ ], "p0.builderBlock.id"),
4615
+ registeredComponents: _fnSignal((p0) => p0.builderComponents, [
4616
+ props
4617
+ ], "p0.builderComponents"),
4618
+ styleProp: _IMMUTABLE
4619
+ }
4620
+ }, 3, "c0_1"),
4514
4621
  [_IMMUTABLE]: {
4515
- context: _fnSignal((p0) => p0.builderContext, [
4516
- props
4517
- ], "p0.builderContext"),
4518
- parent: _fnSignal((p0) => p0.builderBlock.id, [
4519
- props
4520
- ], "p0.builderBlock.id"),
4521
- registeredComponents: _fnSignal((p0) => p0.builderComponents, [
4522
- props
4523
- ], "p0.builderComponents"),
4524
- styleProp: _IMMUTABLE
4622
+ actionAttributes: _IMMUTABLE
4525
4623
  }
4526
- }, 3, "c0_1"));
4624
+ }, 1, index);
4527
4625
  })
4528
4626
  ], 1, "c0_2");
4529
4627
  }, "Columns_component_7yLj4bxdI6c"));
@@ -4532,11 +4630,6 @@ const STYLES$1 = `
4532
4630
  display: flex;
4533
4631
  line-height: normal;
4534
4632
  }
4535
- .div-Columns-2 {
4536
- display: flex;
4537
- flex-direction: column;
4538
- align-items: stretch;
4539
- }
4540
4633
  `;
4541
4634
  const FragmentComponent = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props) => {
4542
4635
  return /* @__PURE__ */ _jsxQ("span", null, null, /* @__PURE__ */ _jsxC(Slot$1, null, 3, "oj_0"), 1, "oj_1");
@@ -6459,7 +6552,7 @@ const getInteractionPropertiesForEvent = (event) => {
6459
6552
  }
6460
6553
  };
6461
6554
  };
6462
- const SDK_VERSION = "0.12.2";
6555
+ const SDK_VERSION = "0.12.4";
6463
6556
  const registry = {};
6464
6557
  function register(type, info) {
6465
6558
  let typeList = registry[type];
@@ -6986,6 +7079,10 @@ ${getFontCss({
6986
7079
  customFonts: props.customFonts
6987
7080
  })}
6988
7081
 
7082
+ .builder-button {
7083
+ all: unset;
7084
+ }
7085
+
6989
7086
  .builder-text > p:first-of-type, .builder-text > .builder-paragraph:first-of-type {
6990
7087
  margin: 0;
6991
7088
  }
@@ -7142,6 +7239,9 @@ const ContentComponent = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl
7142
7239
  get contentWrapperProps() {
7143
7240
  return props.contentWrapperProps;
7144
7241
  },
7242
+ get linkComponent() {
7243
+ return props.linkComponent;
7244
+ },
7145
7245
  get trustedHosts() {
7146
7246
  return props.trustedHosts;
7147
7247
  },
@@ -7201,6 +7301,9 @@ const ContentComponent = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl
7201
7301
  get registeredComponents() {
7202
7302
  return state.registeredComponents;
7203
7303
  },
7304
+ get linkComponent() {
7305
+ return props.linkComponent;
7306
+ },
7204
7307
  [_IMMUTABLE]: {
7205
7308
  blocks: _fnSignal((p0) => {
7206
7309
  var _a2, _b2;
@@ -7211,6 +7314,9 @@ const ContentComponent = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl
7211
7314
  context: _fnSignal((p0) => p0.builderContextSignal, [
7212
7315
  state
7213
7316
  ], "p0.builderContextSignal"),
7317
+ linkComponent: _fnSignal((p0) => p0.linkComponent, [
7318
+ props
7319
+ ], "p0.linkComponent"),
7214
7320
  registeredComponents: _fnSignal((p0) => p0.registeredComponents, [
7215
7321
  state
7216
7322
  ], "p0.registeredComponents")
@@ -7248,6 +7354,9 @@ const ContentComponent = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl
7248
7354
  includeRefs: _fnSignal((p0) => p0.includeRefs, [
7249
7355
  props
7250
7356
  ], "p0.includeRefs"),
7357
+ linkComponent: _fnSignal((p0) => p0.linkComponent, [
7358
+ props
7359
+ ], "p0.linkComponent"),
7251
7360
  locale: _fnSignal((p0) => p0.locale, [
7252
7361
  props
7253
7362
  ], "p0.locale"),
@@ -7365,6 +7474,9 @@ const ContentVariants = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl(
7365
7474
  get customComponents() {
7366
7475
  return props.customComponents;
7367
7476
  },
7477
+ get linkComponent() {
7478
+ return props.linkComponent;
7479
+ },
7368
7480
  get canTrack() {
7369
7481
  return props.canTrack;
7370
7482
  },
@@ -7435,6 +7547,9 @@ const ContentVariants = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl(
7435
7547
  isSsrAbTest: _fnSignal((p0) => p0.shouldRenderVariants, [
7436
7548
  state
7437
7549
  ], "p0.shouldRenderVariants"),
7550
+ linkComponent: _fnSignal((p0) => p0.linkComponent, [
7551
+ props
7552
+ ], "p0.linkComponent"),
7438
7553
  locale: _fnSignal((p0) => p0.locale, [
7439
7554
  props
7440
7555
  ], "p0.locale"),
@@ -7473,6 +7588,9 @@ const ContentVariants = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl(
7473
7588
  get customComponents() {
7474
7589
  return props.customComponents;
7475
7590
  },
7591
+ get linkComponent() {
7592
+ return props.linkComponent;
7593
+ },
7476
7594
  get canTrack() {
7477
7595
  return props.canTrack;
7478
7596
  },
@@ -7546,6 +7664,9 @@ const ContentVariants = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl(
7546
7664
  isSsrAbTest: _fnSignal((p0) => p0.shouldRenderVariants, [
7547
7665
  state
7548
7666
  ], "p0.shouldRenderVariants"),
7667
+ linkComponent: _fnSignal((p0) => p0.linkComponent, [
7668
+ props
7669
+ ], "p0.linkComponent"),
7549
7670
  locale: _fnSignal((p0) => p0.locale, [
7550
7671
  props
7551
7672
  ], "p0.locale"),
@@ -7596,7 +7717,7 @@ const Symbol$1 = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props)
7596
7717
  var _a2, _b;
7597
7718
  const [props2] = useLexicalScope();
7598
7719
  return [
7599
- props2.attributes.class,
7720
+ props2.attributes[getClassPropName()],
7600
7721
  "builder-symbol",
7601
7722
  ((_a2 = props2.symbol) == null ? void 0 : _a2.inline) ? "builder-inline-symbol" : void 0,
7602
7723
  ((_b = props2.symbol) == null ? void 0 : _b.dynamic) || props2.dynamic ? "builder-dynamic-symbol" : void 0
@@ -7649,6 +7770,9 @@ const Symbol$1 = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props)
7649
7770
  get content() {
7650
7771
  return state.contentToUse;
7651
7772
  },
7773
+ get linkComponent() {
7774
+ return props.builderLinkComponent;
7775
+ },
7652
7776
  [_IMMUTABLE]: {
7653
7777
  apiKey: _fnSignal((p0) => p0.builderContext.apiKey, [
7654
7778
  props
@@ -7682,6 +7806,9 @@ const Symbol$1 = /* @__PURE__ */ componentQrl(/* @__PURE__ */ inlinedQrl((props)
7682
7806
  props,
7683
7807
  state
7684
7808
  ], "{...p0.symbol?.data,...p0.builderContext.localState,...p1.contentToUse?.data?.state}"),
7809
+ linkComponent: _fnSignal((p0) => p0.builderLinkComponent, [
7810
+ props
7811
+ ], "p0.builderLinkComponent"),
7685
7812
  model: _fnSignal((p0) => {
7686
7813
  var _a2;
7687
7814
  return (_a2 = p0.symbol) == null ? void 0 : _a2.model;