@builder.io/sdk-solid 0.5.9 → 0.6.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.
Files changed (166) hide show
  1. package/README.md +0 -4
  2. package/dist/index.d.ts +51 -0
  3. package/lib/browser/dev.js +4790 -0
  4. package/lib/browser/dev.jsx +4392 -0
  5. package/lib/browser/index.js +4767 -0
  6. package/lib/browser/index.jsx +4374 -0
  7. package/lib/edge/dev.js +7921 -0
  8. package/lib/edge/dev.jsx +7525 -0
  9. package/lib/edge/index.js +7898 -0
  10. package/lib/edge/index.jsx +7507 -0
  11. package/lib/node/dev.js +4790 -0
  12. package/lib/node/dev.jsx +4392 -0
  13. package/lib/node/index.js +4767 -0
  14. package/lib/node/index.jsx +4374 -0
  15. package/package.json +86 -14
  16. package/CHANGELOG.md +0 -102
  17. package/solid-index.jsx +0 -5
  18. package/src/blocks/BaseText.jsx +0 -11
  19. package/src/blocks/button/button.jsx +0 -41
  20. package/src/blocks/button/component-info.js +0 -34
  21. package/src/blocks/columns/columns.jsx +0 -174
  22. package/src/blocks/columns/component-info.js +0 -218
  23. package/src/blocks/custom-code/component-info.js +0 -24
  24. package/src/blocks/custom-code/custom-code.jsx +0 -62
  25. package/src/blocks/embed/component-info.js +0 -37
  26. package/src/blocks/embed/embed.jsx +0 -50
  27. package/src/blocks/embed/helpers.js +0 -3
  28. package/src/blocks/form/component-info.js +0 -223
  29. package/src/blocks/form/form.jsx +0 -5
  30. package/src/blocks/fragment/component-info.js +0 -8
  31. package/src/blocks/fragment/fragment.jsx +0 -5
  32. package/src/blocks/helpers.js +0 -27
  33. package/src/blocks/image/component-info.js +0 -122
  34. package/src/blocks/image/image.helpers.js +0 -46
  35. package/src/blocks/image/image.jsx +0 -122
  36. package/src/blocks/img/component-info.js +0 -15
  37. package/src/blocks/img/img.jsx +0 -20
  38. package/src/blocks/input/component-info.js +0 -45
  39. package/src/blocks/input/input.jsx +0 -22
  40. package/src/blocks/raw-text/component-info.js +0 -11
  41. package/src/blocks/raw-text/raw-text.jsx +0 -10
  42. package/src/blocks/section/component-info.js +0 -41
  43. package/src/blocks/section/section.jsx +0 -26
  44. package/src/blocks/select/component-info.js +0 -44
  45. package/src/blocks/select/select.jsx +0 -30
  46. package/src/blocks/submit-button/component-info.js +0 -23
  47. package/src/blocks/submit-button/submit-button.jsx +0 -11
  48. package/src/blocks/symbol/component-info.js +0 -35
  49. package/src/blocks/symbol/symbol.helpers.js +0 -60
  50. package/src/blocks/symbol/symbol.jsx +0 -64
  51. package/src/blocks/text/component-info.js +0 -20
  52. package/src/blocks/text/text.jsx +0 -14
  53. package/src/blocks/textarea/component-info.js +0 -38
  54. package/src/blocks/textarea/textarea.jsx +0 -16
  55. package/src/blocks/video/component-info.js +0 -83
  56. package/src/blocks/video/video.jsx +0 -61
  57. package/src/components/block/block.helpers.js +0 -99
  58. package/src/components/block/block.jsx +0 -167
  59. package/src/components/block/components/block-styles.jsx +0 -85
  60. package/src/components/block/components/block-wrapper.jsx +0 -50
  61. package/src/components/block/components/component-ref/component-ref.helpers.js +0 -41
  62. package/src/components/block/components/component-ref/component-ref.jsx +0 -59
  63. package/src/components/block/components/interactive-element.jsx +0 -30
  64. package/src/components/block/components/repeated-block.jsx +0 -20
  65. package/src/components/block/types.js +0 -0
  66. package/src/components/blocks/blocks-wrapper.jsx +0 -66
  67. package/src/components/blocks/blocks.jsx +0 -57
  68. package/src/components/content/components/enable-editor.jsx +0 -347
  69. package/src/components/content/components/styles.helpers.js +0 -56
  70. package/src/components/content/components/styles.jsx +0 -36
  71. package/src/components/content/content.helpers.js +0 -48
  72. package/src/components/content/content.jsx +0 -136
  73. package/src/components/content/content.types.js +0 -0
  74. package/src/components/content/index.js +0 -2
  75. package/src/components/content/wrap-component-ref.js +0 -2
  76. package/src/components/content-variants/content-variants.jsx +0 -115
  77. package/src/components/content-variants/content-variants.types.js +0 -0
  78. package/src/components/content-variants/helpers.js +0 -158
  79. package/src/components/inlined-script.jsx +0 -5
  80. package/src/components/inlined-styles.jsx +0 -5
  81. package/src/constants/builder-registered-components.js +0 -63
  82. package/src/constants/device-sizes.js +0 -48
  83. package/src/constants/sdk-version.js +0 -1
  84. package/src/constants/target.js +0 -4
  85. package/src/context/builder.context.js +0 -16
  86. package/src/context/components.context.js +0 -5
  87. package/src/context/types.js +0 -0
  88. package/src/functions/apply-patch-with-mutation.js +0 -66
  89. package/src/functions/camel-to-kebab-case.js +0 -2
  90. package/src/functions/evaluate/browser-runtime/browser.js +0 -40
  91. package/src/functions/evaluate/browser-runtime/index.js +0 -2
  92. package/src/functions/evaluate/evaluate.js +0 -49
  93. package/src/functions/evaluate/helpers.js +0 -15
  94. package/src/functions/evaluate/index.js +0 -2
  95. package/src/functions/evaluate/node-runtime/index.js +0 -2
  96. package/src/functions/evaluate/non-node-runtime/acorn-interpreter.js +0 -2876
  97. package/src/functions/evaluate/non-node-runtime/index.js +0 -18
  98. package/src/functions/evaluate/non-node-runtime/non-node-runtime.js +0 -91
  99. package/src/functions/event-handler-name.js +0 -5
  100. package/src/functions/extract-text-styles.js +0 -14
  101. package/src/functions/fast-clone.js +0 -2
  102. package/src/functions/fetch-builder-props.js +0 -60
  103. package/src/functions/get-block-actions-handler.js +0 -11
  104. package/src/functions/get-block-actions.js +0 -29
  105. package/src/functions/get-block-component-options.js +0 -27
  106. package/src/functions/get-block-properties.js +0 -63
  107. package/src/functions/get-builder-search-params/index.js +0 -33
  108. package/src/functions/get-content/generate-content-url.js +0 -59
  109. package/src/functions/get-content/index.js +0 -116
  110. package/src/functions/get-content/types.js +0 -0
  111. package/src/functions/get-fetch.js +0 -12
  112. package/src/functions/get-global-this.js +0 -16
  113. package/src/functions/get-processed-block.js +0 -74
  114. package/src/functions/get-react-native-block-styles.js +0 -32
  115. package/src/functions/is-browser.js +0 -4
  116. package/src/functions/is-editing.js +0 -6
  117. package/src/functions/is-iframe.js +0 -5
  118. package/src/functions/is-non-node-server.js +0 -9
  119. package/src/functions/is-previewing.js +0 -12
  120. package/src/functions/on-change.js +0 -24
  121. package/src/functions/register-component.js +0 -60
  122. package/src/functions/register.js +0 -27
  123. package/src/functions/sanitize-react-native-block-styles.js +0 -71
  124. package/src/functions/set-editor-settings.js +0 -13
  125. package/src/functions/set.js +0 -9
  126. package/src/functions/track/helpers.js +0 -48
  127. package/src/functions/track/index.js +0 -131
  128. package/src/functions/track/interaction.js +0 -57
  129. package/src/functions/transform-block-properties.js +0 -4
  130. package/src/functions/transform-block.js +0 -4
  131. package/src/helpers/ab-tests.js +0 -158
  132. package/src/helpers/canTrack.js +0 -3
  133. package/src/helpers/cookie.js +0 -77
  134. package/src/helpers/css.js +0 -30
  135. package/src/helpers/flatten.js +0 -31
  136. package/src/helpers/localStorage.js +0 -32
  137. package/src/helpers/logger.js +0 -8
  138. package/src/helpers/nullable.js +0 -2
  139. package/src/helpers/preview-lru-cache/get.js +0 -4
  140. package/src/helpers/preview-lru-cache/helpers.js +0 -0
  141. package/src/helpers/preview-lru-cache/init.js +0 -2
  142. package/src/helpers/preview-lru-cache/set.js +0 -31
  143. package/src/helpers/preview-lru-cache/types.js +0 -0
  144. package/src/helpers/sessionId.js +0 -55
  145. package/src/helpers/time.js +0 -3
  146. package/src/helpers/url.js +0 -11
  147. package/src/helpers/uuid.js +0 -11
  148. package/src/helpers/visitorId.js +0 -35
  149. package/src/index-helpers/blocks-exports.js +0 -13
  150. package/src/index-helpers/top-of-file.js +0 -2
  151. package/src/index.js +0 -3
  152. package/src/scripts/init-editing.js +0 -109
  153. package/src/server-index.js +0 -11
  154. package/src/types/api-version.js +0 -2
  155. package/src/types/builder-block.js +0 -0
  156. package/src/types/builder-content.js +0 -0
  157. package/src/types/builder-props.js +0 -0
  158. package/src/types/can-track.js +0 -0
  159. package/src/types/components.js +0 -0
  160. package/src/types/deep-partial.js +0 -0
  161. package/src/types/element.js +0 -0
  162. package/src/types/enforced-partials.js +0 -0
  163. package/src/types/input.js +0 -0
  164. package/src/types/targets.js +0 -0
  165. package/src/types/typescript.js +0 -0
  166. package/vite.config.ts +0 -18
@@ -1,18 +0,0 @@
1
- import { logger } from "../../../helpers/logger.js";
2
- import { isNonNodeServer } from "../../is-non-node-server.js";
3
- let runInNonNode;
4
- if (isNonNodeServer()) {
5
- import("./non-node-runtime.js").then(m => {
6
- runInNonNode = m.runInNonNode;
7
- }).catch(err => {
8
- const ERROR_MESSAGE = `Error importing JS interpreter for non-Node.js runtimes. Make sure \`js-interpreter\` is installed.
9
- Read more here: https://github.com/BuilderIO/builder/tree/main/packages/sdks/README.md#non-nodejs-runtimes-edge-serverless
10
- `;
11
- logger.error(ERROR_MESSAGE, err);
12
- runInNonNode = (..._args) => {
13
- logger.error(ERROR_MESSAGE);
14
- return void 0;
15
- };
16
- });
17
- }
18
- export { runInNonNode }
@@ -1,91 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
- var __hasOwnProp = Object.prototype.hasOwnProperty;
4
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {
6
- enumerable: true,
7
- configurable: true,
8
- writable: true,
9
- value
10
- }) : obj[key] = value;
11
- var __spreadValues = (a, b) => {
12
- for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);
13
- if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);
15
- }
16
- return a;
17
- };
18
- import { logger } from "../../../helpers/logger.js";
19
- import { set } from "../../set.js";
20
- import Interpreter from "./acorn-interpreter.js";
21
- import { getFunctionArguments } from "../helpers.js";
22
- const processCode = code => {
23
- return code.split("\n").map(line => {
24
- const trimmed = line.trim();
25
- if (line.includes("__awaiter")) return void 0;
26
- const isStateSetter = trimmed.startsWith("state.");
27
- if (!isStateSetter) return line;
28
- const [lhs, rhs] = trimmed.split("=");
29
- const setStr = lhs.replace("state.", "").trim();
30
- const setExpr = `setRootState('${setStr}', ${rhs.trim()})`;
31
- return `
32
- ${line}
33
- ${setExpr}
34
- `;
35
- }).filter(Boolean).join("\n");
36
- };
37
- const getJSONValName = val => val + "JSON";
38
- const runInNonNode = ({
39
- builder,
40
- context,
41
- event,
42
- rootState,
43
- localState,
44
- rootSetState,
45
- code
46
- }) => {
47
- const state = __spreadValues(__spreadValues({}, rootState), localState);
48
- const properties = getFunctionArguments({
49
- builder,
50
- context,
51
- event,
52
- state
53
- });
54
- const prependedCode = properties.map(([key]) => `var ${key} = JSON.parse(${getJSONValName(key)});`).join("\n");
55
- const cleanedCode = processCode(code);
56
- if (cleanedCode === "") {
57
- logger.warn("Skipping evaluation of empty code block.");
58
- return;
59
- }
60
- const transformed = `
61
- function theFunction() {
62
- ${prependedCode}
63
-
64
- ${cleanedCode}
65
- }
66
- theFunction();
67
- `;
68
- const setRootState = (prop, value) => {
69
- const newState = set(state, prop, value);
70
- rootSetState == null ? void 0 : rootSetState(newState);
71
- };
72
- const initFunc = function (interpreter, globalObject) {
73
- properties.forEach(([key, val]) => {
74
- const jsonVal = JSON.stringify(val);
75
- interpreter.setProperty(globalObject, getJSONValName(key), jsonVal);
76
- });
77
- interpreter.setProperty(globalObject, "setRootState", interpreter.createNativeFunction(setRootState));
78
- };
79
- try {
80
- const myInterpreter = new Interpreter(transformed, initFunc);
81
- myInterpreter.run();
82
- const output = myInterpreter.pseudoToNative(myInterpreter.value);
83
- return output;
84
- } catch (e) {
85
- logger.warn("Custom code error in non-node runtime. SDK can only execute ES5 JavaScript.", {
86
- e
87
- });
88
- return;
89
- }
90
- };
91
- export { runInNonNode }
@@ -1,5 +0,0 @@
1
- function capitalizeFirstLetter(string) {
2
- return string.charAt(0).toUpperCase() + string.slice(1);
3
- }
4
- const getEventHandlerName = key => `on${capitalizeFirstLetter(key)}`;
5
- export { getEventHandlerName }
@@ -1,14 +0,0 @@
1
- const TEXT_STYLE_KEYS = ["color", "whiteSpace", "direction", "hyphens", "overflowWrap"];
2
- const isTextStyle = key => {
3
- return TEXT_STYLE_KEYS.includes(key) || key.startsWith("font") || key.startsWith("text") || key.startsWith("letter") || key.startsWith("line") || key.startsWith("word") || key.startsWith("writing");
4
- };
5
- const extractTextStyles = styles => {
6
- const textStyles = {};
7
- Object.entries(styles).forEach(([key, value]) => {
8
- if (isTextStyle(key)) {
9
- textStyles[key] = value;
10
- }
11
- });
12
- return textStyles;
13
- };
14
- export { extractTextStyles }
@@ -1,2 +0,0 @@
1
- const fastClone = obj => JSON.parse(JSON.stringify(obj));
2
- export { fastClone }
@@ -1,60 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {
8
- enumerable: true,
9
- configurable: true,
10
- writable: true,
11
- value
12
- }) : obj[key] = value;
13
- var __spreadValues = (a, b) => {
14
- for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);
15
- if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) {
16
- if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);
17
- }
18
- return a;
19
- };
20
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
- var __async = (__this, __arguments, generator) => {
22
- return new Promise((resolve, reject) => {
23
- var fulfilled = value => {
24
- try {
25
- step(generator.next(value));
26
- } catch (e) {
27
- reject(e);
28
- }
29
- };
30
- var rejected = value => {
31
- try {
32
- step(generator.throw(value));
33
- } catch (e) {
34
- reject(e);
35
- }
36
- };
37
- var step = x => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
38
- step((generator = generator.apply(__this, __arguments)).next());
39
- });
40
- };
41
- import { getBuilderSearchParams } from "./get-builder-search-params/index.js";
42
- import { fetchOneEntry } from "./get-content/index.js";
43
- const fetchBuilderProps = _args => __async(void 0, null, function* () {
44
- var _a, _b, _c;
45
- const urlPath = _args.path || ((_a = _args.url) == null ? void 0 : _a.pathname) || ((_b = _args.userAttributes) == null ? void 0 : _b.urlPath);
46
- const getContentArgs = __spreadProps(__spreadValues({}, _args), {
47
- apiKey: _args.apiKey,
48
- model: _args.model || "page",
49
- userAttributes: __spreadValues(__spreadValues({}, _args.userAttributes), urlPath ? {
50
- urlPath
51
- } : {}),
52
- options: getBuilderSearchParams(_args.searchParams || ((_c = _args.url) == null ? void 0 : _c.searchParams) || _args.options)
53
- });
54
- return {
55
- apiKey: getContentArgs.apiKey,
56
- model: getContentArgs.model,
57
- content: yield fetchOneEntry(getContentArgs)
58
- };
59
- });
60
- export { fetchBuilderProps }
@@ -1,11 +0,0 @@
1
- import { evaluate } from "./evaluate/index.js";
2
- const createEventHandler = (value, options) => event => evaluate({
3
- code: value,
4
- context: options.context,
5
- localState: options.localState,
6
- rootState: options.rootState,
7
- rootSetState: options.rootSetState,
8
- event,
9
- isExpression: false
10
- });
11
- export { createEventHandler }
@@ -1,29 +0,0 @@
1
- import { TARGET } from "../constants/target.js";
2
- import { getEventHandlerName } from "./event-handler-name.js";
3
- import { createEventHandler } from "./get-block-actions-handler.js";
4
- function getBlockActions(options) {
5
- var _a;
6
- const obj = {};
7
- const optionActions = (_a = options.block.actions) != null ? _a : {};
8
- for (const key in optionActions) {
9
- if (!optionActions.hasOwnProperty(key)) {
10
- continue;
11
- }
12
- const value = optionActions[key];
13
- let eventHandlerName = getEventHandlerName(key);
14
- if (options.stripPrefix) {
15
- switch (TARGET) {
16
- case "vue2":
17
- case "vue3":
18
- eventHandlerName = eventHandlerName.replace("v-on:", "");
19
- break;
20
- case "svelte":
21
- eventHandlerName = eventHandlerName.replace("on:", "");
22
- break;
23
- }
24
- }
25
- obj[eventHandlerName] = createEventHandler(value, options);
26
- }
27
- return obj;
28
- }
29
- export { getBlockActions }
@@ -1,27 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {
8
- enumerable: true,
9
- configurable: true,
10
- writable: true,
11
- value
12
- }) : obj[key] = value;
13
- var __spreadValues = (a, b) => {
14
- for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);
15
- if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) {
16
- if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);
17
- }
18
- return a;
19
- };
20
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
- function getBlockComponentOptions(block) {
22
- var _a;
23
- return __spreadProps(__spreadValues(__spreadValues({}, (_a = block.component) == null ? void 0 : _a.options), block.options), {
24
- builderBlock: block
25
- });
26
- }
27
- export { getBlockComponentOptions }
@@ -1,63 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {
8
- enumerable: true,
9
- configurable: true,
10
- writable: true,
11
- value
12
- }) : obj[key] = value;
13
- var __spreadValues = (a, b) => {
14
- for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);
15
- if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) {
16
- if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);
17
- }
18
- return a;
19
- };
20
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
- import { TARGET } from "../constants/target.js";
22
- import { convertStyleMapToCSSArray } from "../helpers/css.js";
23
- import { getReactNativeBlockStyles } from "./get-react-native-block-styles.js";
24
- import { transformBlockProperties } from "./transform-block-properties.js";
25
- const extractRelevantRootBlockProperties = block => {
26
- return {
27
- href: block.href
28
- };
29
- };
30
- function getBlockProperties({
31
- block,
32
- context
33
- }) {
34
- var _a;
35
- const properties = __spreadProps(__spreadValues(__spreadValues({}, extractRelevantRootBlockProperties(block)), block.properties), {
36
- "builder-id": block.id,
37
- style: block.style ? getStyleAttribute(block.style) : void 0,
38
- class: [block.id, "builder-block", block.class, (_a = block.properties) == null ? void 0 : _a.class].filter(Boolean).join(" ")
39
- });
40
- if (TARGET === "reactNative") {
41
- properties.style = getReactNativeBlockStyles({
42
- block,
43
- context,
44
- blockStyles: properties.style
45
- });
46
- }
47
- return transformBlockProperties(properties);
48
- }
49
- function getStyleAttribute(style) {
50
- switch (TARGET) {
51
- case "svelte":
52
- case "vue2":
53
- case "vue3":
54
- case "solid":
55
- return convertStyleMapToCSSArray(style).join(" ");
56
- case "qwik":
57
- case "reactNative":
58
- case "react":
59
- case "rsc":
60
- return style;
61
- }
62
- }
63
- export { getBlockProperties }
@@ -1,33 +0,0 @@
1
- import { isBrowser } from "../is-browser.js";
2
- const BUILDER_SEARCHPARAMS_PREFIX = "builder.";
3
- const BUILDER_OPTIONS_PREFIX = "options.";
4
- const convertSearchParamsToQueryObject = searchParams => {
5
- const options = {};
6
- searchParams.forEach((value, key) => {
7
- options[key] = value;
8
- });
9
- return options;
10
- };
11
- const getBuilderSearchParams = _options => {
12
- if (!_options) {
13
- return {};
14
- }
15
- const options = normalizeSearchParams(_options);
16
- const newOptions = {};
17
- Object.keys(options).forEach(key => {
18
- if (key.startsWith(BUILDER_SEARCHPARAMS_PREFIX)) {
19
- const trimmedKey = key.replace(BUILDER_SEARCHPARAMS_PREFIX, "").replace(BUILDER_OPTIONS_PREFIX, "");
20
- newOptions[trimmedKey] = options[key];
21
- }
22
- });
23
- return newOptions;
24
- };
25
- const getBuilderSearchParamsFromWindow = () => {
26
- if (!isBrowser()) {
27
- return {};
28
- }
29
- const searchParams = new URLSearchParams(window.location.search);
30
- return getBuilderSearchParams(searchParams);
31
- };
32
- const normalizeSearchParams = searchParams => searchParams instanceof URLSearchParams ? convertSearchParamsToQueryObject(searchParams) : searchParams;
33
- export { convertSearchParamsToQueryObject, getBuilderSearchParams, getBuilderSearchParamsFromWindow, normalizeSearchParams }
@@ -1,59 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
- var __hasOwnProp = Object.prototype.hasOwnProperty;
4
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {
6
- enumerable: true,
7
- configurable: true,
8
- writable: true,
9
- value
10
- }) : obj[key] = value;
11
- var __spreadValues = (a, b) => {
12
- for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);
13
- if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);
15
- }
16
- return a;
17
- };
18
- import { flatten } from "../../helpers/flatten.js";
19
- import { getBuilderSearchParamsFromWindow, normalizeSearchParams } from "../get-builder-search-params/index.js";
20
- import { DEFAULT_API_VERSION } from "../../types/api-version.js";
21
- const generateContentUrl = options => {
22
- const {
23
- limit = 30,
24
- userAttributes,
25
- query,
26
- noTraverse = false,
27
- model,
28
- apiKey,
29
- includeRefs = true,
30
- enrich,
31
- locale,
32
- apiVersion = DEFAULT_API_VERSION
33
- } = options;
34
- if (!apiKey) {
35
- throw new Error("Missing API key");
36
- }
37
- if (!["v2", "v3"].includes(apiVersion)) {
38
- throw new Error(`Invalid apiVersion: expected 'v2' or 'v3', received '${apiVersion}'`);
39
- }
40
- const url = new URL(`https://cdn.builder.io/api/${apiVersion}/content/${model}?apiKey=${apiKey}&limit=${limit}&noTraverse=${noTraverse}&includeRefs=${includeRefs}${locale ? `&locale=${locale}` : ""}${enrich ? `&enrich=${enrich}` : ""}`);
41
- const queryOptions = __spreadValues(__spreadValues({}, getBuilderSearchParamsFromWindow()), normalizeSearchParams(options.options || {}));
42
- const flattened = flatten(queryOptions);
43
- for (const key in flattened) {
44
- url.searchParams.set(key, String(flattened[key]));
45
- }
46
- if (userAttributes) {
47
- url.searchParams.set("userAttributes", JSON.stringify(userAttributes));
48
- }
49
- if (query) {
50
- const flattened2 = flatten({
51
- query
52
- });
53
- for (const key in flattened2) {
54
- url.searchParams.set(key, JSON.stringify(flattened2[key]));
55
- }
56
- }
57
- return url;
58
- };
59
- export { generateContentUrl }
@@ -1,116 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {
8
- enumerable: true,
9
- configurable: true,
10
- writable: true,
11
- value
12
- }) : obj[key] = value;
13
- var __spreadValues = (a, b) => {
14
- for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);
15
- if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) {
16
- if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);
17
- }
18
- return a;
19
- };
20
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
- var __async = (__this, __arguments, generator) => {
22
- return new Promise((resolve, reject) => {
23
- var fulfilled = value => {
24
- try {
25
- step(generator.next(value));
26
- } catch (e) {
27
- reject(e);
28
- }
29
- };
30
- var rejected = value => {
31
- try {
32
- step(generator.throw(value));
33
- } catch (e) {
34
- reject(e);
35
- }
36
- };
37
- var step = x => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
38
- step((generator = generator.apply(__this, __arguments)).next());
39
- });
40
- };
41
- import { TARGET } from "../../constants/target.js";
42
- import { handleABTesting } from "../../helpers/ab-tests.js";
43
- import { getDefaultCanTrack } from "../../helpers/canTrack.js";
44
- import { logger } from "../../helpers/logger.js";
45
- import { getPreviewContent } from "../../helpers/preview-lru-cache/get.js";
46
- import { fetch } from "../get-fetch.js";
47
- import { isBrowser } from "../is-browser.js";
48
- import { generateContentUrl } from "./generate-content-url.js";
49
- const checkContentHasResults = content => "results" in content;
50
- function fetchOneEntry(options) {
51
- return __async(this, null, function* () {
52
- const allContent = yield fetchEntries(__spreadProps(__spreadValues({}, options), {
53
- limit: 1
54
- }));
55
- if (allContent) {
56
- return allContent.results[0] || null;
57
- }
58
- return null;
59
- });
60
- }
61
- const getContent = fetchOneEntry;
62
- const _fetchContent = options => __async(void 0, null, function* () {
63
- const url = generateContentUrl(options);
64
- const res = yield fetch(url.href);
65
- const content = yield res.json();
66
- return content;
67
- });
68
- const _processContentResult = (_0, _1, ..._2) => __async(void 0, [_0, _1, ..._2], function* (options, content, url = generateContentUrl(options)) {
69
- const canTrack = getDefaultCanTrack(options.canTrack);
70
- const isPreviewing = url.search.includes(`preview=`);
71
- if (TARGET === "rsc" && isPreviewing) {
72
- const newResults = [];
73
- for (const item of content.results) {
74
- const previewContent = getPreviewContent(url.searchParams);
75
- newResults.push(previewContent || item);
76
- }
77
- content.results = newResults;
78
- }
79
- if (!canTrack) return content;
80
- if (!(isBrowser() || TARGET === "reactNative")) return content;
81
- try {
82
- const newResults = [];
83
- for (const item of content.results) {
84
- newResults.push(yield handleABTesting({
85
- item,
86
- canTrack
87
- }));
88
- }
89
- content.results = newResults;
90
- } catch (e) {
91
- logger.error("Could not process A/B tests. ", e);
92
- }
93
- return content;
94
- });
95
- function fetchEntries(options) {
96
- return __async(this, null, function* () {
97
- try {
98
- const url = generateContentUrl(options);
99
- const content = yield _fetchContent(options);
100
- if (!checkContentHasResults(content)) {
101
- logger.error("Error fetching data. ", {
102
- url,
103
- content,
104
- options
105
- });
106
- return null;
107
- }
108
- return _processContentResult(options, content);
109
- } catch (error) {
110
- logger.error("Error fetching data. ", error);
111
- return null;
112
- }
113
- });
114
- }
115
- const getAllContent = fetchEntries;
116
- export { _processContentResult, fetchEntries, fetchOneEntry, getAllContent, getContent }
File without changes
@@ -1,12 +0,0 @@
1
- import { getGlobalThis } from "./get-global-this.js";
2
- function getFetch() {
3
- const globalFetch = getGlobalThis().fetch;
4
- if (typeof globalFetch === "undefined") {
5
- console.warn(`Builder SDK could not find a global fetch function. Make sure you have a polyfill for fetch in your project.
6
- For more information, read https://github.com/BuilderIO/this-package-uses-fetch`);
7
- throw new Error("Builder SDK could not find a global `fetch` function");
8
- }
9
- return globalFetch;
10
- }
11
- const fetch = getFetch();
12
- export { fetch }
@@ -1,16 +0,0 @@
1
- function getGlobalThis() {
2
- if (typeof globalThis !== "undefined") {
3
- return globalThis;
4
- }
5
- if (typeof window !== "undefined") {
6
- return window;
7
- }
8
- if (typeof global !== "undefined") {
9
- return global;
10
- }
11
- if (typeof self !== "undefined") {
12
- return self;
13
- }
14
- return globalThis;
15
- }
16
- export { getGlobalThis }
@@ -1,74 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __defProps = Object.defineProperties;
3
- var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
4
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
5
- var __hasOwnProp = Object.prototype.hasOwnProperty;
6
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
7
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {
8
- enumerable: true,
9
- configurable: true,
10
- writable: true,
11
- value
12
- }) : obj[key] = value;
13
- var __spreadValues = (a, b) => {
14
- for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);
15
- if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) {
16
- if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);
17
- }
18
- return a;
19
- };
20
- var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
21
- import { evaluate } from "./evaluate/index.js";
22
- import { fastClone } from "./fast-clone.js";
23
- import { set } from "./set.js";
24
- import { transformBlock } from "./transform-block.js";
25
- const evaluateBindings = ({
26
- block,
27
- context,
28
- localState,
29
- rootState,
30
- rootSetState
31
- }) => {
32
- if (!block.bindings) {
33
- return block;
34
- }
35
- const copy = fastClone(block);
36
- const copied = __spreadProps(__spreadValues({}, copy), {
37
- properties: __spreadValues({}, copy.properties),
38
- actions: __spreadValues({}, copy.actions)
39
- });
40
- for (const binding in block.bindings) {
41
- const expression = block.bindings[binding];
42
- const value = evaluate({
43
- code: expression,
44
- localState,
45
- rootState,
46
- rootSetState,
47
- context
48
- });
49
- set(copied, binding, value);
50
- }
51
- return copied;
52
- };
53
- function getProcessedBlock({
54
- block,
55
- context,
56
- shouldEvaluateBindings,
57
- localState,
58
- rootState,
59
- rootSetState
60
- }) {
61
- const transformedBlock = transformBlock(block);
62
- if (shouldEvaluateBindings) {
63
- return evaluateBindings({
64
- block: transformedBlock,
65
- localState,
66
- rootState,
67
- rootSetState,
68
- context
69
- });
70
- } else {
71
- return transformedBlock;
72
- }
73
- }
74
- export { getProcessedBlock }
@@ -1,32 +0,0 @@
1
- var __defProp = Object.defineProperty;
2
- var __getOwnPropSymbols = Object.getOwnPropertySymbols;
3
- var __hasOwnProp = Object.prototype.hasOwnProperty;
4
- var __propIsEnum = Object.prototype.propertyIsEnumerable;
5
- var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, {
6
- enumerable: true,
7
- configurable: true,
8
- writable: true,
9
- value
10
- }) : obj[key] = value;
11
- var __spreadValues = (a, b) => {
12
- for (var prop in b || (b = {})) if (__hasOwnProp.call(b, prop)) __defNormalProp(a, prop, b[prop]);
13
- if (__getOwnPropSymbols) for (var prop of __getOwnPropSymbols(b)) {
14
- if (__propIsEnum.call(b, prop)) __defNormalProp(a, prop, b[prop]);
15
- }
16
- return a;
17
- };
18
- import { sanitizeReactNativeBlockStyles } from "./sanitize-react-native-block-styles.js";
19
- function getReactNativeBlockStyles({
20
- block,
21
- context,
22
- blockStyles
23
- }) {
24
- const responsiveStyles = block.responsiveStyles;
25
- if (!responsiveStyles) {
26
- return {};
27
- }
28
- const styles = __spreadValues(__spreadValues(__spreadValues(__spreadValues(__spreadValues({}, context.inheritedStyles), responsiveStyles.large || {}), responsiveStyles.medium || {}), responsiveStyles.small || {}), blockStyles);
29
- const newStyles = sanitizeReactNativeBlockStyles(styles);
30
- return newStyles;
31
- }
32
- export { getReactNativeBlockStyles }