@builder.io/sdk-svelte 0.5.7 → 0.5.9
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/package/--package.json +7 -3
- package/package/CHANGELOG.md +8 -0
- package/package/blocks/button/button.svelte +4 -4
- package/package/blocks/button/button.svelte.d.ts +4 -4
- package/package/blocks/columns/columns.svelte +4 -4
- package/package/blocks/columns/columns.svelte.d.ts +4 -4
- package/package/blocks/custom-code/custom-code.svelte +1 -1
- package/package/blocks/custom-code/custom-code.svelte.d.ts +1 -1
- package/package/blocks/image/image.svelte +11 -11
- package/package/blocks/image/image.svelte.d.ts +11 -11
- package/package/blocks/img/img.svelte +6 -6
- package/package/blocks/img/img.svelte.d.ts +6 -6
- package/package/blocks/input/input.svelte +7 -7
- package/package/blocks/input/input.svelte.d.ts +7 -7
- package/package/blocks/raw-text/raw-text.svelte +2 -2
- package/package/blocks/raw-text/raw-text.svelte.d.ts +2 -2
- package/package/blocks/section/section.svelte +2 -2
- package/package/blocks/section/section.svelte.d.ts +2 -2
- package/package/blocks/select/select.svelte +5 -5
- package/package/blocks/select/select.svelte.d.ts +5 -5
- package/package/blocks/submit-button/submit-button.svelte +2 -2
- package/package/blocks/submit-button/submit-button.svelte.d.ts +2 -2
- package/package/blocks/symbol/symbol.svelte +3 -3
- package/package/blocks/symbol/symbol.svelte.d.ts +3 -3
- package/package/blocks/text/text.svelte +1 -1
- package/package/blocks/text/text.svelte.d.ts +1 -1
- package/package/blocks/textarea/textarea.svelte +5 -5
- package/package/blocks/textarea/textarea.svelte.d.ts +5 -5
- package/package/blocks/video/video.svelte +11 -11
- package/package/blocks/video/video.svelte.d.ts +11 -11
- package/package/components/block/components/component-ref/component-ref.svelte +1 -0
- package/package/components/blocks/blocks.svelte +2 -2
- package/package/components/blocks/blocks.svelte.d.ts +2 -2
- package/package/components/content/components/enable-editor.svelte +9 -8
- package/package/components/content/components/enable-editor.svelte.d.ts +7 -7
- package/package/components/content/components/styles.svelte +3 -3
- package/package/components/content/components/styles.svelte.d.ts +3 -3
- package/package/components/content/content.svelte +10 -10
- package/package/components/content/content.svelte.d.ts +10 -10
- package/package/components/content/content.types.d.ts +2 -2
- package/package/components/content-variants/content-variants.svelte +11 -11
- package/package/components/content-variants/content-variants.svelte.d.ts +13 -13
- package/package/components/content-variants/content-variants.types.d.ts +1 -1
- package/package/components/inlined-script.svelte +1 -1
- package/package/components/inlined-script.svelte.d.ts +1 -1
- package/package/components/inlined-styles.svelte +1 -1
- package/package/components/inlined-styles.svelte.d.ts +1 -1
- package/package/constants/sdk-version.d.ts +1 -1
- package/package/constants/sdk-version.js +1 -1
- package/package/functions/evaluate/browser-runtime/browser.d.ts +4 -0
- package/package/functions/evaluate/browser-runtime/browser.js +31 -0
- package/package/functions/evaluate/browser-runtime/index.d.ts +1 -0
- package/package/functions/evaluate/browser-runtime/index.js +1 -0
- package/package/functions/evaluate/evaluate.d.ts +4 -8
- package/package/functions/evaluate/evaluate.js +15 -38
- package/package/functions/evaluate/helpers.d.ts +18 -0
- package/package/functions/evaluate/helpers.js +10 -0
- package/package/functions/evaluate/index.d.ts +1 -1
- package/package/functions/evaluate/index.js +1 -1
- package/package/functions/evaluate/node-runtime/index.d.ts +1 -0
- package/package/functions/evaluate/node-runtime/index.js +1 -0
- package/package/functions/evaluate/non-node-runtime/non-node-runtime.d.ts +2 -2
- package/package/functions/evaluate/non-node-runtime/non-node-runtime.js +12 -13
- package/package/functions/fetch-builder-props.d.ts +2 -2
- package/package/functions/get-block-actions-handler.js +1 -1
- package/package/functions/register-component.js +1 -1
- package/package/index.d.ts +5 -14
- package/package/index.js +5 -9
- package/package/server-index.d.ts +15 -0
- package/package/server-index.js +10 -0
- package/package.json +1 -1
- package/src/blocks/button/button.svelte +4 -4
- package/src/blocks/columns/columns.svelte +6 -4
- package/src/blocks/custom-code/custom-code.svelte +1 -1
- package/src/blocks/image/image.svelte +11 -11
- package/src/blocks/img/img.svelte +6 -6
- package/src/blocks/input/input.svelte +7 -7
- package/src/blocks/raw-text/raw-text.svelte +2 -2
- package/src/blocks/section/section.svelte +2 -2
- package/src/blocks/select/select.svelte +5 -5
- package/src/blocks/submit-button/submit-button.svelte +2 -2
- package/src/blocks/symbol/symbol.svelte +4 -3
- package/src/blocks/text/text.svelte +1 -1
- package/src/blocks/textarea/textarea.svelte +5 -5
- package/src/blocks/video/video.svelte +11 -11
- package/src/components/block/components/component-ref/component-ref.svelte +1 -0
- package/src/components/blocks/blocks.svelte +3 -2
- package/src/components/content/components/enable-editor.svelte +9 -8
- package/src/components/content/components/styles.svelte +3 -3
- package/src/components/content/content.svelte +10 -10
- package/src/components/content/content.types.ts +2 -2
- package/src/components/content-variants/content-variants.svelte +15 -13
- package/src/components/content-variants/content-variants.types.ts +1 -1
- package/src/components/inlined-script.svelte +1 -1
- package/src/components/inlined-styles.svelte +1 -1
- package/src/constants/sdk-version.ts +1 -1
- package/src/functions/evaluate/browser-runtime/browser.ts +41 -0
- package/src/functions/evaluate/browser-runtime/index.ts +1 -0
- package/src/functions/evaluate/evaluate.ts +21 -53
- package/src/functions/evaluate/helpers.ts +32 -0
- package/src/functions/evaluate/index.ts +1 -1
- package/src/functions/evaluate/node-runtime/index.ts +1 -0
- package/src/functions/evaluate/non-node-runtime/non-node-runtime.ts +13 -14
- package/src/functions/fetch-builder-props.ts +2 -2
- package/src/functions/get-block-actions-handler.ts +1 -1
- package/src/functions/register-component.ts +1 -1
- package/src/index.ts +6 -14
- package/src/server-index.ts +15 -0
- package/package/functions/evaluate/types.d.ts +0 -11
- package/package/functions/evaluate/types.js +0 -1
- package/src/functions/evaluate/types.ts +0 -11
- /package/package/functions/evaluate/{acorn-interpreter.d.ts → non-node-runtime/acorn-interpreter.d.ts} +0 -0
- /package/package/functions/evaluate/{acorn-interpreter.js → non-node-runtime/acorn-interpreter.js} +0 -0
- /package/src/functions/evaluate/{acorn-interpreter.ts → non-node-runtime/acorn-interpreter.ts} +0 -0
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import { logger } from '../../../helpers/logger';
|
|
2
|
-
import { set } from '../../set';
|
|
3
|
-
import Interpreter from '
|
|
4
|
-
import type { ExecutorArgs } from '../
|
|
1
|
+
import { logger } from '../../../helpers/logger.js';
|
|
2
|
+
import { set } from '../../set.js';
|
|
3
|
+
import Interpreter from './acorn-interpreter.js';
|
|
4
|
+
import type { ExecutorArgs } from '../helpers.js';
|
|
5
|
+
import { getFunctionArguments } from '../helpers.js';
|
|
5
6
|
const processCode = (code: string) => {
|
|
6
7
|
return code.split('\n').map(line => {
|
|
7
8
|
const trimmed = line.trim();
|
|
@@ -29,25 +30,24 @@ export const runInNonNode = ({
|
|
|
29
30
|
rootState,
|
|
30
31
|
localState,
|
|
31
32
|
rootSetState,
|
|
32
|
-
|
|
33
|
+
code
|
|
33
34
|
}: ExecutorArgs) => {
|
|
34
35
|
const state = {
|
|
35
36
|
...rootState,
|
|
36
37
|
...localState
|
|
37
38
|
};
|
|
38
|
-
const properties = {
|
|
39
|
-
state,
|
|
40
|
-
Builder: builder,
|
|
39
|
+
const properties = getFunctionArguments({
|
|
41
40
|
builder,
|
|
42
41
|
context,
|
|
43
|
-
event
|
|
44
|
-
|
|
42
|
+
event,
|
|
43
|
+
state
|
|
44
|
+
});
|
|
45
45
|
|
|
46
46
|
/**
|
|
47
47
|
* Deserialize all properties from JSON strings to JS objects
|
|
48
48
|
*/
|
|
49
|
-
const prependedCode =
|
|
50
|
-
const cleanedCode = processCode(
|
|
49
|
+
const prependedCode = properties.map(([key]) => `var ${key} = JSON.parse(${getJSONValName(key)});`).join('\n');
|
|
50
|
+
const cleanedCode = processCode(code);
|
|
51
51
|
if (cleanedCode === '') {
|
|
52
52
|
logger.warn('Skipping evaluation of empty code block.');
|
|
53
53
|
return;
|
|
@@ -68,8 +68,7 @@ theFunction();
|
|
|
68
68
|
/**
|
|
69
69
|
* serialize all function args to JSON strings
|
|
70
70
|
*/
|
|
71
|
-
|
|
72
|
-
const val = properties[(key as keyof typeof properties)] || {};
|
|
71
|
+
properties.forEach(([key, val]) => {
|
|
73
72
|
const jsonVal = JSON.stringify(val);
|
|
74
73
|
interpreter.setProperty(globalObject, getJSONValName(key), jsonVal);
|
|
75
74
|
});
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { getBuilderSearchParams } from './get-builder-search-params/index.js';
|
|
2
|
-
import type {
|
|
2
|
+
import type { ContentVariantsPrps } from '../components/content-variants/content-variants.types.js';
|
|
3
3
|
import type { Dictionary } from '../types/typescript.js';
|
|
4
4
|
import { fetchOneEntry } from './get-content/index.js';
|
|
5
5
|
import type { GetContentOptions } from './get-content/types.js';
|
|
@@ -39,7 +39,7 @@ type GetBuilderPropsOptions = (Omit<GetContentOptions, 'model'> & {
|
|
|
39
39
|
/**
|
|
40
40
|
* Fetches builder content, and returns it along with sensible defaults for other props that `Content` needs to render.
|
|
41
41
|
*/
|
|
42
|
-
export const fetchBuilderProps = async (_args: GetBuilderPropsOptions): Promise<
|
|
42
|
+
export const fetchBuilderProps = async (_args: GetBuilderPropsOptions): Promise<ContentVariantsPrps> => {
|
|
43
43
|
const urlPath = _args.path || _args.url?.pathname || _args.userAttributes?.urlPath;
|
|
44
44
|
const getContentArgs: GetContentOptions = {
|
|
45
45
|
..._args,
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { BuilderContextInterface } from '../context/types.js';
|
|
2
2
|
import type { BuilderBlock } from '../types/builder-block.js';
|
|
3
|
-
import { evaluate } from './evaluate';
|
|
3
|
+
import { evaluate } from './evaluate/index.js';
|
|
4
4
|
type Options = {
|
|
5
5
|
block: BuilderBlock;
|
|
6
6
|
} & Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'>;
|
|
@@ -21,7 +21,7 @@ export function registerComponent(component: any, info: ComponentInfo): void {
|
|
|
21
21
|
}
|
|
22
22
|
export const createRegisterComponentMessage = (info: ComponentInfo) => ({
|
|
23
23
|
type: 'builder.registerComponent',
|
|
24
|
-
data: info
|
|
24
|
+
data: serializeComponentInfo(info)
|
|
25
25
|
});
|
|
26
26
|
|
|
27
27
|
// eslint-disable-next-line @typescript-eslint/ban-types
|
package/src/index.ts
CHANGED
|
@@ -1,16 +1,8 @@
|
|
|
1
1
|
export * from './index-helpers/top-of-file.js';
|
|
2
2
|
export * from './index-helpers/blocks-exports.js';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
export
|
|
9
|
-
export type { Settings } from './functions/set-editor-settings.js';
|
|
10
|
-
export { fetchEntries, fetchOneEntry, getAllContent, getContent, _processContentResult } from './functions/get-content/index.js';
|
|
11
|
-
export { getBuilderSearchParams } from './functions/get-builder-search-params/index.js';
|
|
12
|
-
export { track } from './functions/track/index.js';
|
|
13
|
-
export type { RegisteredComponent } from './context/types.js';
|
|
14
|
-
export type { ComponentInfo } from './types/components.js';
|
|
15
|
-
export type { ContentProps } from './components/content/content.types.js';
|
|
16
|
-
export { fetchBuilderProps } from './functions/fetch-builder-props.js'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* We have a separate entry point to the SDKs that guarantees no components are being imported. This is useful
|
|
6
|
+
* for React SDK, which would break in the NextJS App directory because the component imports have `use client` in them.
|
|
7
|
+
*/
|
|
8
|
+
export * from './server-index.js'
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export * from './index-helpers/top-of-file.js';
|
|
2
|
+
export { isEditing } from './functions/is-editing.js';
|
|
3
|
+
export { isPreviewing } from './functions/is-previewing.js';
|
|
4
|
+
export { createRegisterComponentMessage } from './functions/register-component.js';
|
|
5
|
+
export { register } from './functions/register.js';
|
|
6
|
+
export type { InsertMenuConfig, InsertMenuItem } from './functions/register.js';
|
|
7
|
+
export { setEditorSettings } from './functions/set-editor-settings.js';
|
|
8
|
+
export type { Settings } from './functions/set-editor-settings.js';
|
|
9
|
+
export { fetchEntries, fetchOneEntry, getAllContent, getContent, _processContentResult } from './functions/get-content/index.js';
|
|
10
|
+
export { getBuilderSearchParams } from './functions/get-builder-search-params/index.js';
|
|
11
|
+
export { track } from './functions/track/index.js';
|
|
12
|
+
export type { RegisteredComponent } from './context/types.js';
|
|
13
|
+
export type { ComponentInfo } from './types/components.js';
|
|
14
|
+
export type { ContentProps } from './components/content/content.types.js';
|
|
15
|
+
export { fetchBuilderProps } from './functions/fetch-builder-props.js'
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { BuilderContextInterface } from '../../context/types';
|
|
2
|
-
export type ExecutorArgs = Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'> & {
|
|
3
|
-
useCode: string;
|
|
4
|
-
builder: {
|
|
5
|
-
isEditing: boolean | undefined;
|
|
6
|
-
isBrowser: boolean | undefined;
|
|
7
|
-
isServer: boolean | undefined;
|
|
8
|
-
};
|
|
9
|
-
event: Event | undefined;
|
|
10
|
-
};
|
|
11
|
-
export type Executor = (args: ExecutorArgs) => any;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export {};
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { BuilderContextInterface } from '../../context/types';
|
|
2
|
-
export type ExecutorArgs = Pick<BuilderContextInterface, 'localState' | 'context' | 'rootState' | 'rootSetState'> & {
|
|
3
|
-
useCode: string;
|
|
4
|
-
builder: {
|
|
5
|
-
isEditing: boolean | undefined;
|
|
6
|
-
isBrowser: boolean | undefined;
|
|
7
|
-
isServer: boolean | undefined;
|
|
8
|
-
};
|
|
9
|
-
event: Event | undefined;
|
|
10
|
-
};
|
|
11
|
-
export type Executor = (args: ExecutorArgs) => any
|
|
File without changes
|
/package/package/functions/evaluate/{acorn-interpreter.js → non-node-runtime/acorn-interpreter.js}
RENAMED
|
File without changes
|
/package/src/functions/evaluate/{acorn-interpreter.ts → non-node-runtime/acorn-interpreter.ts}
RENAMED
|
File without changes
|