@builder.io/sdk-solid 0.14.5 → 1.0.12
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/lib/browser/dev.js +188 -135
- package/lib/browser/dev.jsx +255 -174
- package/lib/browser/index.js +188 -135
- package/lib/browser/index.jsx +255 -174
- package/lib/edge/dev.js +188 -135
- package/lib/edge/dev.jsx +255 -174
- package/lib/edge/index.js +188 -135
- package/lib/edge/index.jsx +255 -174
- package/lib/node/dev.js +188 -135
- package/lib/node/dev.jsx +255 -174
- package/lib/node/index.js +188 -135
- package/lib/node/index.jsx +255 -174
- package/package.json +1 -1
package/lib/node/dev.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createComponent, spread, mergeProps, insert, effect, setAttribute, className, style, template, Dynamic, memo, use } from 'solid-js/web';
|
|
2
|
-
import { createContext, useContext, Show, For, createSignal, onMount, createEffect, on } from 'solid-js';
|
|
2
|
+
import { createContext, useContext, Show, For, createSignal, createMemo, onMount, createEffect, on } from 'solid-js';
|
|
3
3
|
import { css } from 'solid-styled-components';
|
|
4
4
|
import { createRequire } from 'node:module';
|
|
5
5
|
|
|
@@ -282,7 +282,7 @@ function flattenState({
|
|
|
282
282
|
return localState[prop];
|
|
283
283
|
}
|
|
284
284
|
const val = target[prop];
|
|
285
|
-
if (typeof val === "object") {
|
|
285
|
+
if (typeof val === "object" && val !== null) {
|
|
286
286
|
return flattenState({
|
|
287
287
|
rootState: val,
|
|
288
288
|
localState: void 0,
|
|
@@ -471,6 +471,30 @@ var shouldForceBrowserRuntimeInNode = () => {
|
|
|
471
471
|
var chooseBrowserOrServerEval = (args) => isBrowser() || shouldForceBrowserRuntimeInNode() ? runInBrowser(args) : runInNode(args);
|
|
472
472
|
|
|
473
473
|
// src/functions/evaluate/evaluate.ts
|
|
474
|
+
var EvalCache = class _EvalCache {
|
|
475
|
+
static cacheLimit = 20;
|
|
476
|
+
static cache = /* @__PURE__ */ new Map();
|
|
477
|
+
static getCacheKey(args) {
|
|
478
|
+
return JSON.stringify({
|
|
479
|
+
...args,
|
|
480
|
+
// replace the event with a random number to break cache
|
|
481
|
+
// thats because we can't serialize the event object due to circular refs in DOM node refs.
|
|
482
|
+
event: args.event ? Math.random() : void 0
|
|
483
|
+
});
|
|
484
|
+
}
|
|
485
|
+
static getCachedValue(key) {
|
|
486
|
+
const cachedVal = _EvalCache.cache.get(key);
|
|
487
|
+
return cachedVal;
|
|
488
|
+
}
|
|
489
|
+
static setCachedValue(key, value) {
|
|
490
|
+
if (_EvalCache.cache.size > 20) {
|
|
491
|
+
_EvalCache.cache.delete(_EvalCache.cache.keys().next().value);
|
|
492
|
+
}
|
|
493
|
+
_EvalCache.cache.set(key, {
|
|
494
|
+
value
|
|
495
|
+
});
|
|
496
|
+
}
|
|
497
|
+
};
|
|
474
498
|
function evaluate({
|
|
475
499
|
code,
|
|
476
500
|
context,
|
|
@@ -478,11 +502,12 @@ function evaluate({
|
|
|
478
502
|
rootState,
|
|
479
503
|
rootSetState,
|
|
480
504
|
event,
|
|
481
|
-
isExpression = true
|
|
505
|
+
isExpression = true,
|
|
506
|
+
enableCache
|
|
482
507
|
}) {
|
|
483
508
|
if (code === "") {
|
|
484
509
|
logger.warn("Skipping evaluation of empty code block.");
|
|
485
|
-
return;
|
|
510
|
+
return void 0;
|
|
486
511
|
}
|
|
487
512
|
const args = {
|
|
488
513
|
code: parseCode(code, {
|
|
@@ -495,8 +520,20 @@ function evaluate({
|
|
|
495
520
|
rootState,
|
|
496
521
|
localState
|
|
497
522
|
};
|
|
523
|
+
if (enableCache) {
|
|
524
|
+
const cacheKey = EvalCache.getCacheKey(args);
|
|
525
|
+
const cachedValue = EvalCache.getCachedValue(cacheKey);
|
|
526
|
+
if (cachedValue) {
|
|
527
|
+
return cachedValue.value;
|
|
528
|
+
}
|
|
529
|
+
}
|
|
498
530
|
try {
|
|
499
|
-
|
|
531
|
+
const newEval = chooseBrowserOrServerEval(args);
|
|
532
|
+
if (enableCache) {
|
|
533
|
+
const cacheKey = EvalCache.getCacheKey(args);
|
|
534
|
+
EvalCache.setCachedValue(cacheKey, newEval);
|
|
535
|
+
}
|
|
536
|
+
return newEval;
|
|
500
537
|
} catch (e) {
|
|
501
538
|
logger.error("Failed code evaluation: " + e.message, {
|
|
502
539
|
code
|
|
@@ -538,7 +575,8 @@ var evaluateBindings = ({
|
|
|
538
575
|
localState,
|
|
539
576
|
rootState,
|
|
540
577
|
rootSetState,
|
|
541
|
-
context
|
|
578
|
+
context,
|
|
579
|
+
enableCache: true
|
|
542
580
|
});
|
|
543
581
|
set(copied, binding, value);
|
|
544
582
|
}
|
|
@@ -772,6 +810,70 @@ function bindScrollInViewAnimation(animation) {
|
|
|
772
810
|
});
|
|
773
811
|
}
|
|
774
812
|
|
|
813
|
+
// src/functions/camel-to-kebab-case.ts
|
|
814
|
+
var camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
|
|
815
|
+
|
|
816
|
+
// src/helpers/css.ts
|
|
817
|
+
var convertStyleMapToCSSArray = (style) => {
|
|
818
|
+
const cssProps = Object.entries(style).map(([key, value]) => {
|
|
819
|
+
if (typeof value === "string") {
|
|
820
|
+
return `${camelToKebabCase(key)}: ${value};`;
|
|
821
|
+
} else {
|
|
822
|
+
return void 0;
|
|
823
|
+
}
|
|
824
|
+
});
|
|
825
|
+
return cssProps.filter(checkIsDefined);
|
|
826
|
+
};
|
|
827
|
+
var convertStyleMapToCSS = (style) => convertStyleMapToCSSArray(style).join("\n");
|
|
828
|
+
var createCssClass = ({
|
|
829
|
+
mediaQuery,
|
|
830
|
+
className,
|
|
831
|
+
styles
|
|
832
|
+
}) => {
|
|
833
|
+
const cssClass = `.${className} {
|
|
834
|
+
${convertStyleMapToCSS(styles)}
|
|
835
|
+
}`;
|
|
836
|
+
if (mediaQuery) {
|
|
837
|
+
return `${mediaQuery} {
|
|
838
|
+
${cssClass}
|
|
839
|
+
}`;
|
|
840
|
+
} else {
|
|
841
|
+
return cssClass;
|
|
842
|
+
}
|
|
843
|
+
};
|
|
844
|
+
|
|
845
|
+
// src/functions/transform-style-property.ts
|
|
846
|
+
function transformStyleProperty({
|
|
847
|
+
style
|
|
848
|
+
}) {
|
|
849
|
+
return style;
|
|
850
|
+
}
|
|
851
|
+
|
|
852
|
+
// src/functions/get-style.ts
|
|
853
|
+
var getStyle = ({
|
|
854
|
+
block,
|
|
855
|
+
context
|
|
856
|
+
}) => {
|
|
857
|
+
return mapStyleObjToStrIfNeeded(transformStyleProperty({
|
|
858
|
+
style: block.style || {},
|
|
859
|
+
context,
|
|
860
|
+
block
|
|
861
|
+
}));
|
|
862
|
+
};
|
|
863
|
+
function mapStyleObjToStrIfNeeded(style) {
|
|
864
|
+
switch (TARGET) {
|
|
865
|
+
case "svelte":
|
|
866
|
+
case "vue":
|
|
867
|
+
case "solid":
|
|
868
|
+
return convertStyleMapToCSSArray(style).join(" ");
|
|
869
|
+
case "qwik":
|
|
870
|
+
case "reactNative":
|
|
871
|
+
case "react":
|
|
872
|
+
case "rsc":
|
|
873
|
+
return style;
|
|
874
|
+
}
|
|
875
|
+
}
|
|
876
|
+
|
|
775
877
|
// src/components/block/block.helpers.ts
|
|
776
878
|
var getComponent = ({
|
|
777
879
|
block,
|
|
@@ -815,7 +917,8 @@ var getRepeatItemData = ({
|
|
|
815
917
|
localState: context.localState,
|
|
816
918
|
rootState: context.rootState,
|
|
817
919
|
rootSetState: context.rootSetState,
|
|
818
|
-
context: context.context
|
|
920
|
+
context: context.context,
|
|
921
|
+
enableCache: true
|
|
819
922
|
});
|
|
820
923
|
if (!Array.isArray(itemsArray)) {
|
|
821
924
|
return void 0;
|
|
@@ -886,38 +989,6 @@ var getSizesForBreakpoints = ({
|
|
|
886
989
|
};
|
|
887
990
|
return newSizes;
|
|
888
991
|
};
|
|
889
|
-
|
|
890
|
-
// src/functions/camel-to-kebab-case.ts
|
|
891
|
-
var camelToKebabCase = (string) => string.replace(/([a-z0-9]|(?=[A-Z]))([A-Z])/g, "$1-$2").toLowerCase();
|
|
892
|
-
|
|
893
|
-
// src/helpers/css.ts
|
|
894
|
-
var convertStyleMapToCSSArray = (style) => {
|
|
895
|
-
const cssProps = Object.entries(style).map(([key, value]) => {
|
|
896
|
-
if (typeof value === "string") {
|
|
897
|
-
return `${camelToKebabCase(key)}: ${value};`;
|
|
898
|
-
} else {
|
|
899
|
-
return void 0;
|
|
900
|
-
}
|
|
901
|
-
});
|
|
902
|
-
return cssProps.filter(checkIsDefined);
|
|
903
|
-
};
|
|
904
|
-
var convertStyleMapToCSS = (style) => convertStyleMapToCSSArray(style).join("\n");
|
|
905
|
-
var createCssClass = ({
|
|
906
|
-
mediaQuery,
|
|
907
|
-
className,
|
|
908
|
-
styles
|
|
909
|
-
}) => {
|
|
910
|
-
const cssClass = `.${className} {
|
|
911
|
-
${convertStyleMapToCSS(styles)}
|
|
912
|
-
}`;
|
|
913
|
-
if (mediaQuery) {
|
|
914
|
-
return `${mediaQuery} {
|
|
915
|
-
${cssClass}
|
|
916
|
-
}`;
|
|
917
|
-
} else {
|
|
918
|
-
return cssClass;
|
|
919
|
-
}
|
|
920
|
-
};
|
|
921
992
|
var _tmpl$ = /* @__PURE__ */ template(`<style>`);
|
|
922
993
|
function InlinedStyles(props) {
|
|
923
994
|
return (() => {
|
|
@@ -938,7 +1009,7 @@ var inlined_styles_default = InlinedStyles;
|
|
|
938
1009
|
|
|
939
1010
|
// src/components/block/components/block-styles.tsx
|
|
940
1011
|
function BlockStyles(props) {
|
|
941
|
-
|
|
1012
|
+
const canShowBlock = createMemo(() => {
|
|
942
1013
|
const processedBlock = getProcessedBlock({
|
|
943
1014
|
block: props.block,
|
|
944
1015
|
localState: props.context.localState,
|
|
@@ -954,8 +1025,8 @@ function BlockStyles(props) {
|
|
|
954
1025
|
return processedBlock.show;
|
|
955
1026
|
}
|
|
956
1027
|
return true;
|
|
957
|
-
}
|
|
958
|
-
|
|
1028
|
+
});
|
|
1029
|
+
const css5 = createMemo(() => {
|
|
959
1030
|
const processedBlock = getProcessedBlock({
|
|
960
1031
|
block: props.block,
|
|
961
1032
|
localState: props.context.localState,
|
|
@@ -989,7 +1060,7 @@ function BlockStyles(props) {
|
|
|
989
1060
|
mediaQuery: getMaxWidthQueryForSize("small", sizesWithUpdatedBreakpoints)
|
|
990
1061
|
}) : "";
|
|
991
1062
|
return [largeStylesClass, mediumStylesClass, smallStylesClass].join(" ");
|
|
992
|
-
}
|
|
1063
|
+
});
|
|
993
1064
|
return createComponent(Show, {
|
|
994
1065
|
get when() {
|
|
995
1066
|
return memo(() => !!(TARGET !== "reactNative" && css5()))() && canShowBlock();
|
|
@@ -1019,7 +1090,8 @@ var createEventHandler = (value, options) => (event) => evaluate({
|
|
|
1019
1090
|
rootState: options.rootState,
|
|
1020
1091
|
rootSetState: options.rootSetState,
|
|
1021
1092
|
event,
|
|
1022
|
-
isExpression: false
|
|
1093
|
+
isExpression: false,
|
|
1094
|
+
enableCache: true
|
|
1023
1095
|
});
|
|
1024
1096
|
|
|
1025
1097
|
// src/functions/get-block-actions.ts
|
|
@@ -1047,38 +1119,6 @@ function getBlockActions(options) {
|
|
|
1047
1119
|
return obj;
|
|
1048
1120
|
}
|
|
1049
1121
|
|
|
1050
|
-
// src/functions/transform-style-property.ts
|
|
1051
|
-
function transformStyleProperty({
|
|
1052
|
-
style
|
|
1053
|
-
}) {
|
|
1054
|
-
return style;
|
|
1055
|
-
}
|
|
1056
|
-
|
|
1057
|
-
// src/functions/get-style.ts
|
|
1058
|
-
var getStyle = ({
|
|
1059
|
-
block,
|
|
1060
|
-
context
|
|
1061
|
-
}) => {
|
|
1062
|
-
return mapStyleObjToStrIfNeeded(transformStyleProperty({
|
|
1063
|
-
style: block.style || {},
|
|
1064
|
-
context,
|
|
1065
|
-
block
|
|
1066
|
-
}));
|
|
1067
|
-
};
|
|
1068
|
-
function mapStyleObjToStrIfNeeded(style) {
|
|
1069
|
-
switch (TARGET) {
|
|
1070
|
-
case "svelte":
|
|
1071
|
-
case "vue":
|
|
1072
|
-
case "solid":
|
|
1073
|
-
return convertStyleMapToCSSArray(style).join(" ");
|
|
1074
|
-
case "qwik":
|
|
1075
|
-
case "reactNative":
|
|
1076
|
-
case "react":
|
|
1077
|
-
case "rsc":
|
|
1078
|
-
return style;
|
|
1079
|
-
}
|
|
1080
|
-
}
|
|
1081
|
-
|
|
1082
1122
|
// src/functions/transform-block-properties.ts
|
|
1083
1123
|
function transformBlockProperties({
|
|
1084
1124
|
properties
|
|
@@ -1280,21 +1320,20 @@ var repeated_block_default = RepeatedBlock;
|
|
|
1280
1320
|
|
|
1281
1321
|
// src/components/block/block.tsx
|
|
1282
1322
|
function Block(props) {
|
|
1283
|
-
const
|
|
1284
|
-
function blockComponent() {
|
|
1323
|
+
const blockComponent = createMemo(() => {
|
|
1285
1324
|
return getComponent({
|
|
1286
1325
|
block: props.block,
|
|
1287
1326
|
context: props.context,
|
|
1288
1327
|
registeredComponents: props.registeredComponents
|
|
1289
1328
|
});
|
|
1290
|
-
}
|
|
1291
|
-
|
|
1329
|
+
});
|
|
1330
|
+
const repeatItem = createMemo(() => {
|
|
1292
1331
|
return getRepeatItemData({
|
|
1293
1332
|
block: props.block,
|
|
1294
1333
|
context: props.context
|
|
1295
1334
|
});
|
|
1296
|
-
}
|
|
1297
|
-
|
|
1335
|
+
});
|
|
1336
|
+
const processedBlock = createMemo(() => {
|
|
1298
1337
|
return props.block.repeat?.collection ? props.block : getProcessedBlock({
|
|
1299
1338
|
block: props.block,
|
|
1300
1339
|
localState: props.context.localState,
|
|
@@ -1303,15 +1342,15 @@ function Block(props) {
|
|
|
1303
1342
|
context: props.context.context,
|
|
1304
1343
|
shouldEvaluateBindings: true
|
|
1305
1344
|
});
|
|
1306
|
-
}
|
|
1307
|
-
|
|
1345
|
+
});
|
|
1346
|
+
const Tag = createMemo(() => {
|
|
1308
1347
|
const shouldUseLink = props.block.tagName === "a" || processedBlock().properties?.href || processedBlock().href;
|
|
1309
1348
|
if (shouldUseLink) {
|
|
1310
1349
|
return props.linkComponent || "a";
|
|
1311
1350
|
}
|
|
1312
1351
|
return props.block.tagName || "div";
|
|
1313
|
-
}
|
|
1314
|
-
|
|
1352
|
+
});
|
|
1353
|
+
const canShowBlock = createMemo(() => {
|
|
1315
1354
|
if (props.block.repeat?.collection) {
|
|
1316
1355
|
if (repeatItem()?.length)
|
|
1317
1356
|
return true;
|
|
@@ -1320,12 +1359,12 @@ function Block(props) {
|
|
|
1320
1359
|
const shouldHide = "hide" in processedBlock() ? processedBlock().hide : false;
|
|
1321
1360
|
const shouldShow = "show" in processedBlock() ? processedBlock().show : true;
|
|
1322
1361
|
return shouldShow && !shouldHide;
|
|
1323
|
-
}
|
|
1324
|
-
|
|
1362
|
+
});
|
|
1363
|
+
const childrenWithoutParentComponent = createMemo(() => {
|
|
1325
1364
|
const shouldRenderChildrenOutsideRef = !blockComponent()?.component && !repeatItem();
|
|
1326
1365
|
return shouldRenderChildrenOutsideRef ? processedBlock().children ?? [] : [];
|
|
1327
|
-
}
|
|
1328
|
-
|
|
1366
|
+
});
|
|
1367
|
+
const componentRefProps = createMemo(() => {
|
|
1329
1368
|
return {
|
|
1330
1369
|
blockChildren: processedBlock().children ?? [],
|
|
1331
1370
|
componentRef: blockComponent()?.component,
|
|
@@ -1339,14 +1378,14 @@ function Block(props) {
|
|
|
1339
1378
|
builderComponents: props.registeredComponents
|
|
1340
1379
|
} : {}
|
|
1341
1380
|
},
|
|
1342
|
-
context:
|
|
1381
|
+
context: props.context,
|
|
1343
1382
|
linkComponent: props.linkComponent,
|
|
1344
1383
|
registeredComponents: props.registeredComponents,
|
|
1345
1384
|
builderBlock: processedBlock(),
|
|
1346
1385
|
includeBlockProps: blockComponent()?.noWrap === true,
|
|
1347
1386
|
isInteractive: !blockComponent()?.isRSC
|
|
1348
1387
|
};
|
|
1349
|
-
}
|
|
1388
|
+
});
|
|
1350
1389
|
onMount(() => {
|
|
1351
1390
|
const blockId = processedBlock().id;
|
|
1352
1391
|
const animations = processedBlock().animations;
|
|
@@ -1488,14 +1527,14 @@ function Block(props) {
|
|
|
1488
1527
|
return child.id;
|
|
1489
1528
|
},
|
|
1490
1529
|
block: child,
|
|
1491
|
-
get context() {
|
|
1492
|
-
return childrenContext();
|
|
1493
|
-
},
|
|
1494
1530
|
get registeredComponents() {
|
|
1495
1531
|
return props.registeredComponents;
|
|
1496
1532
|
},
|
|
1497
1533
|
get linkComponent() {
|
|
1498
1534
|
return props.linkComponent;
|
|
1535
|
+
},
|
|
1536
|
+
get context() {
|
|
1537
|
+
return props.context;
|
|
1499
1538
|
}
|
|
1500
1539
|
});
|
|
1501
1540
|
}
|
|
@@ -1511,9 +1550,9 @@ function Block(props) {
|
|
|
1511
1550
|
}
|
|
1512
1551
|
var block_default = Block;
|
|
1513
1552
|
function BlocksWrapper(props) {
|
|
1514
|
-
|
|
1553
|
+
const className = createMemo(() => {
|
|
1515
1554
|
return "builder-blocks" + (!props.blocks?.length ? " no-blocks" : "");
|
|
1516
|
-
}
|
|
1555
|
+
});
|
|
1517
1556
|
function onClick() {
|
|
1518
1557
|
if (isEditing() && !props.blocks?.length) {
|
|
1519
1558
|
window.parent?.postMessage({
|
|
@@ -1653,7 +1692,7 @@ function Columns(props) {
|
|
|
1653
1692
|
}) {
|
|
1654
1693
|
return stackAt() === "never" ? desktopStyle : stackedStyle;
|
|
1655
1694
|
}
|
|
1656
|
-
|
|
1695
|
+
const columnsCssVars = createMemo(() => {
|
|
1657
1696
|
return {
|
|
1658
1697
|
"--flex-dir": flexDir(),
|
|
1659
1698
|
"--flex-dir-tablet": getTabletStyle({
|
|
@@ -1661,7 +1700,7 @@ function Columns(props) {
|
|
|
1661
1700
|
desktopStyle: "row"
|
|
1662
1701
|
})
|
|
1663
1702
|
};
|
|
1664
|
-
}
|
|
1703
|
+
});
|
|
1665
1704
|
function columnCssVars(index) {
|
|
1666
1705
|
const gutter = index === 0 ? 0 : gutterSize();
|
|
1667
1706
|
const width = getColumnCssWidth(index);
|
|
@@ -1700,7 +1739,7 @@ function Columns(props) {
|
|
|
1700
1739
|
const breakpointSizes = getSizesForBreakpoints(props.builderContext.content?.meta?.breakpoints || {});
|
|
1701
1740
|
return breakpointSizes[size].max;
|
|
1702
1741
|
}
|
|
1703
|
-
|
|
1742
|
+
const columnsStyles = createMemo(() => {
|
|
1704
1743
|
return `
|
|
1705
1744
|
@media (max-width: ${getWidthForBreakpointSize("medium")}px) {
|
|
1706
1745
|
.${props.builderBlock.id}-breakpoints {
|
|
@@ -1726,7 +1765,7 @@ function Columns(props) {
|
|
|
1726
1765
|
}
|
|
1727
1766
|
},
|
|
1728
1767
|
`;
|
|
1729
|
-
}
|
|
1768
|
+
});
|
|
1730
1769
|
return (() => {
|
|
1731
1770
|
const _el$ = _tmpl$2();
|
|
1732
1771
|
spread(_el$, mergeProps({
|
|
@@ -1864,7 +1903,7 @@ var _tmpl$4 = /* @__PURE__ */ template(`<source type=image/webp>`);
|
|
|
1864
1903
|
var _tmpl$22 = /* @__PURE__ */ template(`<picture><img loading=lazy>`);
|
|
1865
1904
|
var _tmpl$32 = /* @__PURE__ */ template(`<div>`);
|
|
1866
1905
|
function Image(props) {
|
|
1867
|
-
|
|
1906
|
+
const srcSetToUse = createMemo(() => {
|
|
1868
1907
|
const imageToUse = props.image || props.src;
|
|
1869
1908
|
const url = imageToUse;
|
|
1870
1909
|
if (!url || // We can auto add srcset for cdn.builder.io and shopify
|
|
@@ -1881,15 +1920,15 @@ function Image(props) {
|
|
|
1881
1920
|
return getSrcSet(url);
|
|
1882
1921
|
}
|
|
1883
1922
|
return getSrcSet(url);
|
|
1884
|
-
}
|
|
1885
|
-
|
|
1923
|
+
});
|
|
1924
|
+
const webpSrcSet = createMemo(() => {
|
|
1886
1925
|
if (srcSetToUse()?.match(/builder\.io/) && !props.noWebp) {
|
|
1887
1926
|
return srcSetToUse().replace(/\?/g, "?format=webp&");
|
|
1888
1927
|
} else {
|
|
1889
1928
|
return "";
|
|
1890
1929
|
}
|
|
1891
|
-
}
|
|
1892
|
-
|
|
1930
|
+
});
|
|
1931
|
+
const aspectRatioCss = createMemo(() => {
|
|
1893
1932
|
const aspectRatioStyles = {
|
|
1894
1933
|
position: "absolute",
|
|
1895
1934
|
height: "100%",
|
|
@@ -1899,7 +1938,7 @@ function Image(props) {
|
|
|
1899
1938
|
};
|
|
1900
1939
|
const out = props.aspectRatio ? aspectRatioStyles : void 0;
|
|
1901
1940
|
return out;
|
|
1902
|
-
}
|
|
1941
|
+
});
|
|
1903
1942
|
return [(() => {
|
|
1904
1943
|
const _el$ = _tmpl$22(), _el$3 = _el$.firstChild;
|
|
1905
1944
|
insert(_el$, createComponent(Show, {
|
|
@@ -1916,7 +1955,7 @@ function Image(props) {
|
|
|
1916
1955
|
const _v$ = "builder-image" + (props.className ? " " + props.className : "") + " " + css({
|
|
1917
1956
|
opacity: "1",
|
|
1918
1957
|
transition: "opacity 0.2s ease-in-out"
|
|
1919
|
-
}), _v$2 = props.altText, _v$3 = props.altText ? "presentation"
|
|
1958
|
+
}), _v$2 = props.altText, _v$3 = props.altText ? void 0 : "presentation", _v$4 = {
|
|
1920
1959
|
"object-position": props.backgroundPosition || "center",
|
|
1921
1960
|
"object-fit": props.backgroundSize || "cover",
|
|
1922
1961
|
...aspectRatioCss()
|
|
@@ -2892,13 +2931,15 @@ function Embed(props) {
|
|
|
2892
2931
|
}
|
|
2893
2932
|
}
|
|
2894
2933
|
let elem;
|
|
2934
|
+
const onUpdateFn_0_elem = createMemo(() => elem);
|
|
2935
|
+
const onUpdateFn_0_ranInitFn__ = createMemo(() => ranInitFn());
|
|
2895
2936
|
function onUpdateFn_0() {
|
|
2896
2937
|
if (elem && !ranInitFn()) {
|
|
2897
2938
|
setRanInitFn(true);
|
|
2898
2939
|
findAndRunScripts();
|
|
2899
2940
|
}
|
|
2900
2941
|
}
|
|
2901
|
-
createEffect(on(() => [
|
|
2942
|
+
createEffect(on(() => [onUpdateFn_0_elem(), onUpdateFn_0_ranInitFn__()], onUpdateFn_0));
|
|
2902
2943
|
return (() => {
|
|
2903
2944
|
const _el$ = _tmpl$9();
|
|
2904
2945
|
const _ref$ = elem;
|
|
@@ -3792,7 +3833,7 @@ var _tmpl$15 = /* @__PURE__ */ template(`<source type=video/mp4>`);
|
|
|
3792
3833
|
var _tmpl$25 = /* @__PURE__ */ template(`<div>`);
|
|
3793
3834
|
var _tmpl$33 = /* @__PURE__ */ template(`<div><video class=builder-video>`);
|
|
3794
3835
|
function Video(props) {
|
|
3795
|
-
|
|
3836
|
+
const videoProps = createMemo(() => {
|
|
3796
3837
|
return {
|
|
3797
3838
|
...props.autoPlay === true ? {
|
|
3798
3839
|
autoPlay: true
|
|
@@ -3810,12 +3851,12 @@ function Video(props) {
|
|
|
3810
3851
|
playsInline: true
|
|
3811
3852
|
} : {}
|
|
3812
3853
|
};
|
|
3813
|
-
}
|
|
3814
|
-
|
|
3854
|
+
});
|
|
3855
|
+
const spreadProps = createMemo(() => {
|
|
3815
3856
|
return {
|
|
3816
3857
|
...videoProps()
|
|
3817
3858
|
};
|
|
3818
|
-
}
|
|
3859
|
+
});
|
|
3819
3860
|
return (() => {
|
|
3820
3861
|
const _el$ = _tmpl$33(), _el$2 = _el$.firstChild;
|
|
3821
3862
|
_el$.style.setProperty("position", "relative");
|
|
@@ -4530,7 +4571,7 @@ function isFromTrustedHost(trustedHosts, e) {
|
|
|
4530
4571
|
}
|
|
4531
4572
|
|
|
4532
4573
|
// src/constants/sdk-version.ts
|
|
4533
|
-
var SDK_VERSION = "0.
|
|
4574
|
+
var SDK_VERSION = "1.0.12";
|
|
4534
4575
|
|
|
4535
4576
|
// src/functions/register.ts
|
|
4536
4577
|
var registry = {};
|
|
@@ -4809,7 +4850,11 @@ function EnableEditor(props) {
|
|
|
4809
4850
|
context: props.context || {},
|
|
4810
4851
|
localState: void 0,
|
|
4811
4852
|
rootState: props.builderContextSignal.rootState,
|
|
4812
|
-
rootSetState: props.builderContextSignal.rootSetState
|
|
4853
|
+
rootSetState: props.builderContextSignal.rootSetState,
|
|
4854
|
+
/**
|
|
4855
|
+
* We don't want to cache the result of the JS code, since it's arbitrary side effect code.
|
|
4856
|
+
*/
|
|
4857
|
+
enableCache: false
|
|
4813
4858
|
});
|
|
4814
4859
|
}
|
|
4815
4860
|
}
|
|
@@ -4832,13 +4877,14 @@ function EnableEditor(props) {
|
|
|
4832
4877
|
}
|
|
4833
4878
|
}
|
|
4834
4879
|
function evalExpression(expression) {
|
|
4835
|
-
return expression.replace(/{{([^}]+)}}/g, (_match, group) => evaluate({
|
|
4880
|
+
return expression.replace(/{{([^}]+)}}/g, (_match, group) => String(evaluate({
|
|
4836
4881
|
code: group,
|
|
4837
4882
|
context: props.context || {},
|
|
4838
4883
|
localState: void 0,
|
|
4839
4884
|
rootState: props.builderContextSignal.rootState,
|
|
4840
|
-
rootSetState: props.builderContextSignal.rootSetState
|
|
4841
|
-
|
|
4885
|
+
rootSetState: props.builderContextSignal.rootSetState,
|
|
4886
|
+
enableCache: true
|
|
4887
|
+
})));
|
|
4842
4888
|
}
|
|
4843
4889
|
function handleRequest({
|
|
4844
4890
|
url,
|
|
@@ -4943,33 +4989,40 @@ function EnableEditor(props) {
|
|
|
4943
4989
|
runHttpRequests();
|
|
4944
4990
|
emitStateUpdate();
|
|
4945
4991
|
});
|
|
4992
|
+
const onUpdateFn_0_props_content = createMemo(() => props.content);
|
|
4946
4993
|
function onUpdateFn_0() {
|
|
4947
4994
|
if (props.content) {
|
|
4948
4995
|
mergeNewContent(props.content);
|
|
4949
4996
|
}
|
|
4950
4997
|
}
|
|
4951
|
-
createEffect(on(() => [
|
|
4998
|
+
createEffect(on(() => [onUpdateFn_0_props_content()], onUpdateFn_0));
|
|
4999
|
+
const onUpdateFn_1_shouldSendResetCookie__ = createMemo(() => shouldSendResetCookie());
|
|
4952
5000
|
function onUpdateFn_1() {
|
|
4953
5001
|
}
|
|
4954
|
-
createEffect(on(() => [
|
|
5002
|
+
createEffect(on(() => [onUpdateFn_1_shouldSendResetCookie__()], onUpdateFn_1));
|
|
5003
|
+
const onUpdateFn_2_props_builderContextSignal_content__data__jsCode = createMemo(() => props.builderContextSignal.content?.data?.jsCode);
|
|
4955
5004
|
function onUpdateFn_2() {
|
|
4956
5005
|
evaluateJsCode();
|
|
4957
5006
|
}
|
|
4958
|
-
createEffect(on(() => [
|
|
5007
|
+
createEffect(on(() => [onUpdateFn_2_props_builderContextSignal_content__data__jsCode()], onUpdateFn_2));
|
|
5008
|
+
const onUpdateFn_3_props_builderContextSignal_content__data__httpRequests = createMemo(() => props.builderContextSignal.content?.data?.httpRequests);
|
|
4959
5009
|
function onUpdateFn_3() {
|
|
4960
5010
|
runHttpRequests();
|
|
4961
5011
|
}
|
|
4962
|
-
createEffect(on(() => [
|
|
5012
|
+
createEffect(on(() => [onUpdateFn_3_props_builderContextSignal_content__data__httpRequests()], onUpdateFn_3));
|
|
5013
|
+
const onUpdateFn_4_props_builderContextSignal_rootState = createMemo(() => props.builderContextSignal.rootState);
|
|
4963
5014
|
function onUpdateFn_4() {
|
|
4964
5015
|
emitStateUpdate();
|
|
4965
5016
|
}
|
|
4966
|
-
createEffect(on(() => [
|
|
5017
|
+
createEffect(on(() => [onUpdateFn_4_props_builderContextSignal_rootState()], onUpdateFn_4));
|
|
5018
|
+
const onUpdateFn_5_props_data = createMemo(() => props.data);
|
|
4967
5019
|
function onUpdateFn_5() {
|
|
4968
5020
|
if (props.data) {
|
|
4969
5021
|
mergeNewRootState(props.data);
|
|
4970
5022
|
}
|
|
4971
5023
|
}
|
|
4972
|
-
createEffect(on(() => [
|
|
5024
|
+
createEffect(on(() => [onUpdateFn_5_props_data()], onUpdateFn_5));
|
|
5025
|
+
const onUpdateFn_6_props_locale = createMemo(() => props.locale);
|
|
4973
5026
|
function onUpdateFn_6() {
|
|
4974
5027
|
if (props.locale) {
|
|
4975
5028
|
mergeNewRootState({
|
|
@@ -4977,7 +5030,7 @@ function EnableEditor(props) {
|
|
|
4977
5030
|
});
|
|
4978
5031
|
}
|
|
4979
5032
|
}
|
|
4980
|
-
createEffect(on(() => [
|
|
5033
|
+
createEffect(on(() => [onUpdateFn_6_props_locale()], onUpdateFn_6));
|
|
4981
5034
|
return createComponent(builder_context_default.Provider, {
|
|
4982
5035
|
get value() {
|
|
4983
5036
|
return props.builderContextSignal;
|
|
@@ -5309,16 +5362,16 @@ function ContentVariants(props) {
|
|
|
5309
5362
|
canTrack: getDefaultCanTrack(props.canTrack),
|
|
5310
5363
|
content: props.content
|
|
5311
5364
|
}));
|
|
5312
|
-
|
|
5365
|
+
const updateCookieAndStylesScriptStr = createMemo(() => {
|
|
5313
5366
|
return getUpdateCookieAndStylesScript(getVariants(props.content).map((value) => ({
|
|
5314
5367
|
id: value.testVariationId,
|
|
5315
5368
|
testRatio: value.testRatio
|
|
5316
5369
|
})), props.content?.id || "");
|
|
5317
|
-
}
|
|
5318
|
-
|
|
5370
|
+
});
|
|
5371
|
+
const hideVariantsStyleString = createMemo(() => {
|
|
5319
5372
|
return getVariants(props.content).map((value) => `.variant-${value.testVariationId} { display: none; } `).join("");
|
|
5320
|
-
}
|
|
5321
|
-
|
|
5373
|
+
});
|
|
5374
|
+
const defaultContent = createMemo(() => {
|
|
5322
5375
|
return shouldRenderVariants() ? {
|
|
5323
5376
|
...props.content,
|
|
5324
5377
|
testVariationId: props.content?.id
|
|
@@ -5326,7 +5379,7 @@ function ContentVariants(props) {
|
|
|
5326
5379
|
item: props.content,
|
|
5327
5380
|
canTrack: getDefaultCanTrack(props.canTrack)
|
|
5328
5381
|
});
|
|
5329
|
-
}
|
|
5382
|
+
});
|
|
5330
5383
|
onMount(() => {
|
|
5331
5384
|
setShouldRenderVariants(false);
|
|
5332
5385
|
});
|
|
@@ -5506,9 +5559,9 @@ var fetchSymbolContent = async ({
|
|
|
5506
5559
|
var _tmpl$17 = /* @__PURE__ */ template(`<div>`);
|
|
5507
5560
|
function Symbol(props) {
|
|
5508
5561
|
const [contentToUse, setContentToUse] = createSignal(props.symbol?.content);
|
|
5509
|
-
|
|
5562
|
+
const className = createMemo(() => {
|
|
5510
5563
|
return [...[props.attributes[getClassPropName()]], "builder-symbol", props.symbol?.inline ? "builder-inline-symbol" : void 0, props.symbol?.dynamic || props.dynamic ? "builder-dynamic-symbol" : void 0].filter(Boolean).join(" ");
|
|
5511
|
-
}
|
|
5564
|
+
});
|
|
5512
5565
|
function setContent() {
|
|
5513
5566
|
if (contentToUse())
|
|
5514
5567
|
return;
|
|
@@ -5522,12 +5575,12 @@ function Symbol(props) {
|
|
|
5522
5575
|
});
|
|
5523
5576
|
}
|
|
5524
5577
|
onMount(() => {
|
|
5525
|
-
setContent();
|
|
5526
5578
|
});
|
|
5579
|
+
const onUpdateFn_0_props_symbol = createMemo(() => props.symbol);
|
|
5527
5580
|
function onUpdateFn_0() {
|
|
5528
5581
|
setContent();
|
|
5529
5582
|
}
|
|
5530
|
-
createEffect(on(() => [
|
|
5583
|
+
createEffect(on(() => [onUpdateFn_0_props_symbol()], onUpdateFn_0));
|
|
5531
5584
|
return (() => {
|
|
5532
5585
|
const _el$ = _tmpl$17();
|
|
5533
5586
|
spread(_el$, mergeProps({
|