@builder.io/sdk-svelte 0.0.1-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 (67) hide show
  1. package/package.json +12 -0
  2. package/src/blocks/button.svelte +38 -0
  3. package/src/blocks/columns.svelte +95 -0
  4. package/src/blocks/custom-code.svelte +63 -0
  5. package/src/blocks/embed.svelte +62 -0
  6. package/src/blocks/form.svelte +300 -0
  7. package/src/blocks/fragment.svelte +25 -0
  8. package/src/blocks/image.svelte +99 -0
  9. package/src/blocks/img.svelte +33 -0
  10. package/src/blocks/input.svelte +32 -0
  11. package/src/blocks/raw-text.svelte +26 -0
  12. package/src/blocks/section.svelte +33 -0
  13. package/src/blocks/select.svelte +34 -0
  14. package/src/blocks/submit-button.svelte +30 -0
  15. package/src/blocks/symbol.svelte +55 -0
  16. package/src/blocks/text.svelte +25 -0
  17. package/src/blocks/textarea.svelte +29 -0
  18. package/src/blocks/video.svelte +42 -0
  19. package/src/components/block-styles.svelte +23 -0
  20. package/src/components/error-boundary.svelte +23 -0
  21. package/src/components/render-block.svelte +121 -0
  22. package/src/components/render-blocks.svelte +70 -0
  23. package/src/components/render-content/components/render-styles.svelte +95 -0
  24. package/src/components/render-content/render-content.svelte +216 -0
  25. package/src/constants/device-sizes.js +46 -0
  26. package/src/constants/target.js +11 -0
  27. package/src/context/builder.context.js +33 -0
  28. package/src/functions/evaluate.js +51 -0
  29. package/src/functions/event-handler-name.js +14 -0
  30. package/src/functions/get-block-actions.js +46 -0
  31. package/src/functions/get-block-component-options.js +29 -0
  32. package/src/functions/get-block-properties.js +35 -0
  33. package/src/functions/get-block-styles.js +52 -0
  34. package/src/functions/get-block-tag.js +13 -0
  35. package/src/functions/get-builder-search-params/fn.test.js +31 -0
  36. package/src/functions/get-builder-search-params/index.js +29 -0
  37. package/src/functions/get-content/fn.test.js +49 -0
  38. package/src/functions/get-content/index.js +158 -0
  39. package/src/functions/get-fetch.js +35 -0
  40. package/src/functions/get-global-this.js +25 -0
  41. package/src/functions/get-processed-block.js +67 -0
  42. package/src/functions/get-processed-block.test.js +49 -0
  43. package/src/functions/if-target.js +38 -0
  44. package/src/functions/is-browser.js +13 -0
  45. package/src/functions/is-editing.js +30 -0
  46. package/src/functions/is-iframe.js +30 -0
  47. package/src/functions/is-previewing.js +37 -0
  48. package/src/functions/macro-eval.js +12 -0
  49. package/src/functions/on-change.js +34 -0
  50. package/src/functions/on-change.test.js +37 -0
  51. package/src/functions/previewing-model-name.js +34 -0
  52. package/src/functions/register-component.js +74 -0
  53. package/src/functions/register.js +52 -0
  54. package/src/functions/set-editor-settings.js +38 -0
  55. package/src/functions/set.js +18 -0
  56. package/src/functions/set.test.js +34 -0
  57. package/src/functions/track.js +45 -0
  58. package/src/functions/transform-block.js +13 -0
  59. package/src/index-helpers/blocks-exports.js +43 -0
  60. package/src/index-helpers/top-of-file.js +11 -0
  61. package/src/index.js +32 -0
  62. package/src/scripts/init-editing.js +89 -0
  63. package/src/types/builder-block.js +3 -0
  64. package/src/types/builder-content.js +3 -0
  65. package/src/types/deep-partial.js +3 -0
  66. package/src/types/targets.js +3 -0
  67. package/src/types/typescript.js +3 -0
@@ -0,0 +1,216 @@
1
+ <script>
2
+ import { onMount } from 'svelte'
3
+ import { afterUpdate } from 'svelte'
4
+ import { onDestroy } from 'svelte'
5
+
6
+ import { isBrowser } from '../../functions/is-browser';
7
+ import BuilderContext, { } from '../../context/builder.context.lite';
8
+ import { track } from '../../functions/track';
9
+ import { isEditing } from '../../functions/is-editing';
10
+ import { isPreviewing } from '../../functions/is-previewing';
11
+ import { previewingModelName } from '../../functions/previewing-model-name';
12
+ import { getContent } from '../../functions/get-content';
13
+ import { convertSearchParamsToQueryObject , getBuilderSearchParams } from '../../functions/get-builder-search-params';
14
+ import RenderBlocks, { } from '../render-blocks.lite';
15
+ import { evaluate } from '../../functions/evaluate';
16
+ import { getFetch } from '../../functions/get-fetch';
17
+ import { TARGET } from '../../constants/target';
18
+ import RenderStyles, { } from './components/render-styles.lite';
19
+
20
+
21
+
22
+
23
+
24
+ export let content;
25
+ export let data;
26
+ export let model;
27
+ export let apiKey;
28
+
29
+ function processMessage(event) {
30
+ const {
31
+ data
32
+ } = event;
33
+
34
+ if (data) {
35
+ switch (data.type) {
36
+ case 'builder.contentUpdate':
37
+ {
38
+ const messageContent = data.data;
39
+ const key = messageContent.key || messageContent.alias || messageContent.entry || messageContent.modelName;
40
+ const contentData = messageContent.data;
41
+
42
+ if (key === model) {
43
+ overrideContent = contentData;
44
+ }
45
+
46
+ break;
47
+ }
48
+
49
+ case 'builder.patchUpdates':
50
+ {
51
+ // TODO
52
+ break;
53
+ }
54
+ }
55
+ }
56
+ }
57
+
58
+ function evaluateJsCode() {
59
+ // run any dynamic JS code attached to content
60
+ const jsCode = useContent?.()?.data?.jsCode;
61
+
62
+ if (jsCode) {
63
+ evaluate({
64
+ code: jsCode,
65
+ context: context(),
66
+ state: state()
67
+ });
68
+ }
69
+ }
70
+
71
+ function evalExpression(expression) {
72
+ return expression.replace(/{{([^}]+)}}/g, (_match, group) => evaluate({
73
+ code: group,
74
+ context: context(),
75
+ state: state()
76
+ }));
77
+ }
78
+
79
+ function handleRequest({
80
+ url,
81
+ key
82
+ }) {
83
+ const fetchAndSetState = async () => {
84
+ const response = await getFetch()(url);
85
+ const json = await response.json();
86
+ const newOverrideState = { ...overrideState,
87
+ [key]: json
88
+ };
89
+ overrideState = newOverrideState;
90
+ };
91
+
92
+ fetchAndSetState();
93
+ }
94
+
95
+ function runHttpRequests() {
96
+ const requests = useContent?.()?.data?.httpRequests ?? {};
97
+ Object.entries(requests).forEach(([key, url]) => {
98
+ if (url && (!httpReqsData()[key] || isEditing())) {
99
+ const evaluatedUrl = evalExpression(url);
100
+ handleRequest({
101
+ url: evaluatedUrl,
102
+ key
103
+ });
104
+ }
105
+ });
106
+ }
107
+
108
+ function emitStateUpdate() {
109
+ window.dispatchEvent(new CustomEvent('builder:component:stateChange', {
110
+ detail: {
111
+ state: state(),
112
+ ref: {
113
+ name: model
114
+ }
115
+ }
116
+ }));
117
+ }
118
+ $: useContent = () => {
119
+ const mergedContent = { ...content,
120
+ ...overrideContent,
121
+ data: { ...content?.data,
122
+ ...data,
123
+ ...overrideContent?.data
124
+ }
125
+ };
126
+ return mergedContent;
127
+ };
128
+
129
+ $: state = () => {
130
+ return { ...content?.data?.state,
131
+ ...data,
132
+ ...overrideState
133
+ };
134
+ };
135
+
136
+ $: context = () => {
137
+ return {};
138
+ };
139
+
140
+ $: httpReqsData = () => {
141
+ return {};
142
+ };
143
+
144
+ let overrideContent = null;
145
+ let update = 0;
146
+ let overrideState = {};
147
+
148
+ onMount(() => {
149
+ if (isBrowser()) {
150
+ if (isEditing()) {
151
+ window.addEventListener('message', processMessage);
152
+ window.addEventListener('builder:component:stateChangeListenerActivated', emitStateUpdate);
153
+ }
154
+
155
+ if (useContent()) {
156
+ track('impression', {
157
+ contentId: useContent().id
158
+ });
159
+ } // override normal content in preview mode
160
+
161
+
162
+ if (isPreviewing()) {
163
+ if (model && previewingModelName() === model) {
164
+ const currentUrl = new URL(location.href);
165
+ const previewApiKey = currentUrl.searchParams.get('apiKey');
166
+
167
+ if (previewApiKey) {
168
+ getContent({
169
+ model: model,
170
+ apiKey: previewApiKey,
171
+ options: getBuilderSearchParams(convertSearchParamsToQueryObject(currentUrl.searchParams))
172
+ }).then(content => {
173
+ if (content) {
174
+ overrideContent = content;
175
+ }
176
+ });
177
+ }
178
+ }
179
+ }
180
+
181
+ evaluateJsCode();
182
+ runHttpRequests();
183
+ emitStateUpdate();
184
+ }
185
+ });
186
+
187
+ afterUpdate(() => {
188
+ evaluateJsCode();
189
+ });afterUpdate(() => {
190
+ runHttpRequests();
191
+ });afterUpdate(() => {
192
+ emitStateUpdate();
193
+ })
194
+
195
+ onDestroy(() => {
196
+ if (isBrowser()) {
197
+ window.removeEventListener('message', processMessage);
198
+ window.removeEventListener('builder:component:stateChangeListenerActivated', emitStateUpdate);
199
+ }
200
+ });
201
+ </script>
202
+
203
+ {#if useContent() }
204
+
205
+ <div on:click="{event => track('click', {
206
+ contentId: useContent().id
207
+ })}" data-builder-content-id={useContent?.()?.id} >
208
+
209
+ {#if (useContent?.()?.data?.cssCode || useContent?.()?.data?.customFonts?.length) && TARGET !== 'reactNative' }<RenderStyles cssCode={useContent().data.cssCode} customFonts={useContent().data.customFonts} ></RenderStyles>{/if}
210
+
211
+
212
+ <RenderBlocks blocks={useContent?.()?.data?.blocks} ></RenderBlocks>
213
+
214
+ </div>
215
+
216
+ {/if}
@@ -0,0 +1,46 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
3
+ var __export = (target, all) => {
4
+ __markAsModule(target);
5
+ for (var name in all)
6
+ __defProp(target, name, { get: all[name], enumerable: true });
7
+ };
8
+ __export(exports, {
9
+ sizeNames: () => sizeNames,
10
+ sizes: () => sizes
11
+ });
12
+ const sizeNames = ["xsmall", "small", "medium", "large"];
13
+ const sizes = {
14
+ xsmall: {
15
+ min: 0,
16
+ default: 0,
17
+ max: 0
18
+ },
19
+ small: {
20
+ min: 320,
21
+ default: 321,
22
+ max: 640
23
+ },
24
+ medium: {
25
+ min: 641,
26
+ default: 642,
27
+ max: 991
28
+ },
29
+ large: {
30
+ min: 990,
31
+ default: 991,
32
+ max: 1200
33
+ },
34
+ getWidthForSize(size) {
35
+ return this[size].default;
36
+ },
37
+ getSizeForWidth(width) {
38
+ for (const size of sizeNames) {
39
+ const value = this[size];
40
+ if (width <= value.max) {
41
+ return size;
42
+ }
43
+ }
44
+ return "large";
45
+ }
46
+ };
@@ -0,0 +1,11 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
3
+ var __export = (target, all) => {
4
+ __markAsModule(target);
5
+ for (var name in all)
6
+ __defProp(target, name, { get: all[name], enumerable: true });
7
+ };
8
+ __export(exports, {
9
+ TARGET: () => TARGET
10
+ });
11
+ const TARGET = "reactNative";
@@ -0,0 +1,33 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ __markAsModule(target);
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __reExport = (target, module2, desc) => {
14
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
15
+ for (let key of __getOwnPropNames(module2))
16
+ if (!__hasOwnProp.call(target, key) && key !== "default")
17
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
18
+ }
19
+ return target;
20
+ };
21
+ var __toModule = (module2) => {
22
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
23
+ };
24
+ __export(exports, {
25
+ default: () => stdin_default
26
+ });
27
+ var import_react = __toModule(require("react"));
28
+ var stdin_default = (0, import_react.createContext)({
29
+ content: null,
30
+ context: {},
31
+ state: {},
32
+ apiKey: null
33
+ });
@@ -0,0 +1,51 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ __markAsModule(target);
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __reExport = (target, module2, desc) => {
14
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
15
+ for (let key of __getOwnPropNames(module2))
16
+ if (!__hasOwnProp.call(target, key) && key !== "default")
17
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
18
+ }
19
+ return target;
20
+ };
21
+ var __toModule = (module2) => {
22
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
23
+ };
24
+ __export(exports, {
25
+ evaluate: () => evaluate
26
+ });
27
+ var import_is_browser = __toModule(require("./is-browser"));
28
+ var import_is_editing = __toModule(require("./is-editing"));
29
+ function evaluate({
30
+ code,
31
+ context,
32
+ state,
33
+ event
34
+ }) {
35
+ if (code === "") {
36
+ console.warn("Skipping evaluation of empty code block.");
37
+ return;
38
+ }
39
+ const builder = {
40
+ isEditing: (0, import_is_editing.isEditing)(),
41
+ isBrowser: (0, import_is_browser.isBrowser)(),
42
+ isServer: !(0, import_is_browser.isBrowser)()
43
+ };
44
+ const useReturn = !(code.includes(";") || code.includes(" return ") || code.trim().startsWith("return "));
45
+ const useCode = useReturn ? `return (${code});` : code;
46
+ try {
47
+ return new Function("builder", "Builder", "state", "context", "event", useCode)(builder, builder, state, context, event);
48
+ } catch (e) {
49
+ console.warn("Builder custom code error: ", e);
50
+ }
51
+ }
@@ -0,0 +1,14 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
3
+ var __export = (target, all) => {
4
+ __markAsModule(target);
5
+ for (var name in all)
6
+ __defProp(target, name, { get: all[name], enumerable: true });
7
+ };
8
+ __export(exports, {
9
+ getEventHandlerName: () => getEventHandlerName
10
+ });
11
+ function capitalizeFirstLetter(string) {
12
+ return string.charAt(0).toUpperCase() + string.slice(1);
13
+ }
14
+ const getEventHandlerName = (key) => `on${capitalizeFirstLetter(key)}`;
@@ -0,0 +1,46 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __export = (target, all) => {
9
+ __markAsModule(target);
10
+ for (var name in all)
11
+ __defProp(target, name, { get: all[name], enumerable: true });
12
+ };
13
+ var __reExport = (target, module2, desc) => {
14
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
15
+ for (let key of __getOwnPropNames(module2))
16
+ if (!__hasOwnProp.call(target, key) && key !== "default")
17
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
18
+ }
19
+ return target;
20
+ };
21
+ var __toModule = (module2) => {
22
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
23
+ };
24
+ __export(exports, {
25
+ getBlockActions: () => getBlockActions
26
+ });
27
+ var import_evaluate = __toModule(require("./evaluate"));
28
+ var import_event_handler_name = __toModule(require("./event-handler-name"));
29
+ function getBlockActions(options) {
30
+ var _a;
31
+ const obj = {};
32
+ const optionActions = (_a = options.block.actions) != null ? _a : {};
33
+ for (const key in optionActions) {
34
+ if (!optionActions.hasOwnProperty(key)) {
35
+ continue;
36
+ }
37
+ const value = optionActions[key];
38
+ obj[(0, import_event_handler_name.getEventHandlerName)(key)] = (event) => (0, import_evaluate.evaluate)({
39
+ code: value,
40
+ context: options.context,
41
+ state: options.state,
42
+ event
43
+ });
44
+ }
45
+ return obj;
46
+ }
@@ -0,0 +1,29 @@
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, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
6
+ var __spreadValues = (a, b) => {
7
+ for (var prop in b || (b = {}))
8
+ if (__hasOwnProp.call(b, prop))
9
+ __defNormalProp(a, prop, b[prop]);
10
+ if (__getOwnPropSymbols)
11
+ for (var prop of __getOwnPropSymbols(b)) {
12
+ if (__propIsEnum.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ }
15
+ return a;
16
+ };
17
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
18
+ var __export = (target, all) => {
19
+ __markAsModule(target);
20
+ for (var name in all)
21
+ __defProp(target, name, { get: all[name], enumerable: true });
22
+ };
23
+ __export(exports, {
24
+ getBlockComponentOptions: () => getBlockComponentOptions
25
+ });
26
+ function getBlockComponentOptions(block) {
27
+ var _a;
28
+ return __spreadValues(__spreadValues({}, (_a = block.component) == null ? void 0 : _a.options), block.options);
29
+ }
@@ -0,0 +1,35 @@
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, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
8
+ var __spreadValues = (a, b) => {
9
+ for (var prop in b || (b = {}))
10
+ if (__hasOwnProp.call(b, prop))
11
+ __defNormalProp(a, prop, b[prop]);
12
+ if (__getOwnPropSymbols)
13
+ for (var prop of __getOwnPropSymbols(b)) {
14
+ if (__propIsEnum.call(b, prop))
15
+ __defNormalProp(a, prop, b[prop]);
16
+ }
17
+ return a;
18
+ };
19
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
20
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
21
+ var __export = (target, all) => {
22
+ __markAsModule(target);
23
+ for (var name in all)
24
+ __defProp(target, name, { get: all[name], enumerable: true });
25
+ };
26
+ __export(exports, {
27
+ getBlockProperties: () => getBlockProperties
28
+ });
29
+ function getBlockProperties(block) {
30
+ var _a;
31
+ return __spreadProps(__spreadValues({}, block.properties), {
32
+ "builder-id": block.id,
33
+ class: [block.id, "builder-block", block.class, (_a = block.properties) == null ? void 0 : _a.class].filter(Boolean).join(" ")
34
+ });
35
+ }
@@ -0,0 +1,52 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
6
+ var __getProtoOf = Object.getPrototypeOf;
7
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
8
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
9
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
10
+ var __spreadValues = (a, b) => {
11
+ for (var prop in b || (b = {}))
12
+ if (__hasOwnProp.call(b, prop))
13
+ __defNormalProp(a, prop, b[prop]);
14
+ if (__getOwnPropSymbols)
15
+ for (var prop of __getOwnPropSymbols(b)) {
16
+ if (__propIsEnum.call(b, prop))
17
+ __defNormalProp(a, prop, b[prop]);
18
+ }
19
+ return a;
20
+ };
21
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
22
+ var __export = (target, all) => {
23
+ __markAsModule(target);
24
+ for (var name in all)
25
+ __defProp(target, name, { get: all[name], enumerable: true });
26
+ };
27
+ var __reExport = (target, module2, desc) => {
28
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
29
+ for (let key of __getOwnPropNames(module2))
30
+ if (!__hasOwnProp.call(target, key) && key !== "default")
31
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
32
+ }
33
+ return target;
34
+ };
35
+ var __toModule = (module2) => {
36
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
37
+ };
38
+ __export(exports, {
39
+ getBlockStyles: () => getBlockStyles
40
+ });
41
+ var import_device_sizes = __toModule(require("../constants/device-sizes"));
42
+ function getBlockStyles(block) {
43
+ var _a, _b, _c, _d, _e;
44
+ const styles = __spreadValues(__spreadValues({}, (_a = block.responsiveStyles) == null ? void 0 : _a.large), block.styles);
45
+ if ((_b = block.responsiveStyles) == null ? void 0 : _b.medium) {
46
+ styles[`@media (max-width: ${import_device_sizes.sizes.medium})`] = (_c = block.responsiveStyles) == null ? void 0 : _c.medium;
47
+ }
48
+ if ((_d = block.responsiveStyles) == null ? void 0 : _d.small) {
49
+ styles[`@media (max-width: ${import_device_sizes.sizes.small})`] = (_e = block.responsiveStyles) == null ? void 0 : _e.small;
50
+ }
51
+ return styles;
52
+ }
@@ -0,0 +1,13 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
3
+ var __export = (target, all) => {
4
+ __markAsModule(target);
5
+ for (var name in all)
6
+ __defProp(target, name, { get: all[name], enumerable: true });
7
+ };
8
+ __export(exports, {
9
+ getBlockTag: () => getBlockTag
10
+ });
11
+ function getBlockTag(block) {
12
+ return block.tagName || "div";
13
+ }
@@ -0,0 +1,31 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __reExport = (target, module2, desc) => {
9
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
10
+ for (let key of __getOwnPropNames(module2))
11
+ if (!__hasOwnProp.call(target, key) && key !== "default")
12
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
13
+ }
14
+ return target;
15
+ };
16
+ var __toModule = (module2) => {
17
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
18
+ };
19
+ var import__ = __toModule(require("."));
20
+ const querystring = "someotherValue=jklsjfdal&abc=klfdjklgfds&builder.cachebust=true&builder.preview=page&builder.noCache=true&__builder_editing__=true&builder.overrides.page=037948e52eaf4743afed464f02c70da4&builder.overrides.037948e52eaf4743afed464f02c70da4=037948e52eaf4743afed464f02c70da4&builder.overrides.page%3A%2F=037948e52eaf4743afed464f02c70da4&preview_theme_id=128854393017";
21
+ const url = new URL(`localhost:3000/about-us?${querystring}`);
22
+ describe("Get Builder SearchParams", () => {
23
+ test("correctly converts URLSearchParams to object", () => {
24
+ const output = (0, import__.convertSearchParamsToQueryObject)(url.searchParams);
25
+ expect(output).toMatchSnapshot();
26
+ });
27
+ test("correctly extracts all builder params from a query object", () => {
28
+ const output = (0, import__.getBuilderSearchParams)((0, import__.convertSearchParamsToQueryObject)(url.searchParams));
29
+ expect(output).toMatchSnapshot();
30
+ });
31
+ });
@@ -0,0 +1,29 @@
1
+ var __defProp = Object.defineProperty;
2
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
3
+ var __export = (target, all) => {
4
+ __markAsModule(target);
5
+ for (var name in all)
6
+ __defProp(target, name, { get: all[name], enumerable: true });
7
+ };
8
+ __export(exports, {
9
+ convertSearchParamsToQueryObject: () => convertSearchParamsToQueryObject,
10
+ getBuilderSearchParams: () => getBuilderSearchParams
11
+ });
12
+ const BUILDER_SEARCHPARAMS_PREFIX = "builder.";
13
+ const convertSearchParamsToQueryObject = (searchParams) => {
14
+ const options = {};
15
+ searchParams.forEach((value, key) => {
16
+ options[key] = value;
17
+ });
18
+ return options;
19
+ };
20
+ const getBuilderSearchParams = (options) => {
21
+ const newOptions = {};
22
+ Object.keys(options).forEach((key) => {
23
+ if (key.startsWith(BUILDER_SEARCHPARAMS_PREFIX)) {
24
+ const trimmedKey = key.replace(BUILDER_SEARCHPARAMS_PREFIX, "");
25
+ newOptions[trimmedKey] = options[key];
26
+ }
27
+ });
28
+ return newOptions;
29
+ };
@@ -0,0 +1,49 @@
1
+ var __create = Object.create;
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __getProtoOf = Object.getPrototypeOf;
6
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
7
+ var __markAsModule = (target) => __defProp(target, "__esModule", { value: true });
8
+ var __reExport = (target, module2, desc) => {
9
+ if (module2 && typeof module2 === "object" || typeof module2 === "function") {
10
+ for (let key of __getOwnPropNames(module2))
11
+ if (!__hasOwnProp.call(target, key) && key !== "default")
12
+ __defProp(target, key, { get: () => module2[key], enumerable: !(desc = __getOwnPropDesc(module2, key)) || desc.enumerable });
13
+ }
14
+ return target;
15
+ };
16
+ var __toModule = (module2) => {
17
+ return __reExport(__markAsModule(__defProp(module2 != null ? __create(__getProtoOf(module2)) : {}, "default", module2 && module2.__esModule && "default" in module2 ? { get: () => module2.default, enumerable: true } : { value: module2, enumerable: true })), module2);
18
+ };
19
+ var import__ = __toModule(require("."));
20
+ const testKey = "YJIGb4i01jvw0SRdL5Bt";
21
+ const testModel = "page";
22
+ const testId = "c1b81bab59704599b997574eb0736def";
23
+ const options = {
24
+ cachebust: "true",
25
+ noCache: "true",
26
+ "overrides.037948e52eaf4743afed464f02c70da4": "037948e52eaf4743afed464f02c70da4",
27
+ "overrides.page": "037948e52eaf4743afed464f02c70da4",
28
+ "overrides.page:/": "037948e52eaf4743afed464f02c70da4",
29
+ preview: "page"
30
+ };
31
+ describe("Generate Content URL", () => {
32
+ test("generates the proper value for a simple query", () => {
33
+ const output = (0, import__.generateContentUrl)({
34
+ apiKey: testKey,
35
+ model: testModel,
36
+ query: { id: testId }
37
+ });
38
+ expect(output).toMatchSnapshot();
39
+ });
40
+ test("Handles overrides correctly", () => {
41
+ const output = (0, import__.generateContentUrl)({
42
+ apiKey: testKey,
43
+ model: testModel,
44
+ query: { id: testId },
45
+ options
46
+ });
47
+ expect(output).toMatchSnapshot();
48
+ });
49
+ });