@kubuild/renderer 0.1.0 → 0.3.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.
- package/README.md +105 -0
- package/dist/action-dispatcher.d.ts +42 -0
- package/dist/action-dispatcher.d.ts.map +1 -0
- package/dist/action-runners/api-request.d.ts +77 -0
- package/dist/action-runners/api-request.d.ts.map +1 -0
- package/dist/action-runners/index.d.ts +24 -0
- package/dist/action-runners/index.d.ts.map +1 -0
- package/dist/action-runners/modal-manager.d.ts +73 -0
- package/dist/action-runners/modal-manager.d.ts.map +1 -0
- package/dist/action-runners/navigation-utils.d.ts +49 -0
- package/dist/action-runners/navigation-utils.d.ts.map +1 -0
- package/dist/action-runners/toast-container.d.ts +20 -0
- package/dist/action-runners/toast-container.d.ts.map +1 -0
- package/dist/action-runners/toast-manager.d.ts +74 -0
- package/dist/action-runners/toast-manager.d.ts.map +1 -0
- package/dist/action-runners/ui-feedback.d.ts +37 -0
- package/dist/action-runners/ui-feedback.d.ts.map +1 -0
- package/dist/artboard-portal-host.d.ts +67 -0
- package/dist/artboard-portal-host.d.ts.map +1 -0
- package/dist/error-boundary.d.ts +2 -0
- package/dist/error-boundary.d.ts.map +1 -1
- package/dist/form-context.d.ts +114 -0
- package/dist/form-context.d.ts.map +1 -0
- package/dist/index.cjs +99 -2690
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +99 -2627
- package/dist/index.js.map +1 -1
- package/dist/nodes/editable-text.d.ts +15 -0
- package/dist/nodes/editable-text.d.ts.map +1 -0
- package/dist/nodes/form-nodes.d.ts +186 -0
- package/dist/nodes/form-nodes.d.ts.map +1 -0
- package/dist/nodes/html-embed.d.ts +15 -0
- package/dist/nodes/html-embed.d.ts.map +1 -0
- package/dist/nodes/index.d.ts +5 -0
- package/dist/nodes/index.d.ts.map +1 -0
- package/dist/nodes/media-utils.d.ts +17 -0
- package/dist/nodes/media-utils.d.ts.map +1 -0
- package/dist/preview-adapter.d.ts +9 -2
- package/dist/preview-adapter.d.ts.map +1 -1
- package/dist/render-context.d.ts +10 -1
- package/dist/render-context.d.ts.map +1 -1
- package/dist/renderer.d.ts +4 -24
- package/dist/renderer.d.ts.map +1 -1
- package/dist/renderers/index.d.ts +3 -0
- package/dist/renderers/index.d.ts.map +1 -0
- package/dist/renderers/interactive-renderers.d.ts +7 -0
- package/dist/renderers/interactive-renderers.d.ts.map +1 -0
- package/dist/renderers/render-node-content.d.ts +67 -0
- package/dist/renderers/render-node-content.d.ts.map +1 -0
- package/dist/styles.d.ts +11 -0
- package/dist/styles.d.ts.map +1 -1
- package/package.json +6 -5
- package/dist/index.mjs +0 -44754
- package/dist/index.mjs.map +0 -1
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface EditableTextProps {
|
|
3
|
+
as?: string;
|
|
4
|
+
id?: string;
|
|
5
|
+
className?: string;
|
|
6
|
+
style?: React.CSSProperties;
|
|
7
|
+
value: string;
|
|
8
|
+
isEditable: boolean;
|
|
9
|
+
nodeId: string;
|
|
10
|
+
onClick?: (e: React.MouseEvent) => void;
|
|
11
|
+
onChange?: (val: string, isBlur: boolean) => void;
|
|
12
|
+
[key: string]: unknown;
|
|
13
|
+
}
|
|
14
|
+
export declare const EditableText: React.FC<EditableTextProps>;
|
|
15
|
+
//# sourceMappingURL=editable-text.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"editable-text.d.ts","sourceRoot":"","sources":["../../src/nodes/editable-text.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiB,MAAM,OAAO,CAAC;AAEtC,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,OAAO,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;IAClD,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAoEpD,CAAC"}
|
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ValidationRule, ValidateOnEvent, ActionPipeline, PageDocument, Node } from '@kubuild/schema';
|
|
3
|
+
import { executeNodeActions } from '../action-dispatcher';
|
|
4
|
+
import type { RenderContext, Diagnostic } from '../render-context';
|
|
5
|
+
export interface FormContainerNodeProps {
|
|
6
|
+
id?: string;
|
|
7
|
+
name?: string;
|
|
8
|
+
action?: string;
|
|
9
|
+
method?: string;
|
|
10
|
+
target?: string;
|
|
11
|
+
autoComplete?: string;
|
|
12
|
+
style?: React.CSSProperties;
|
|
13
|
+
onClick?: (e: React.MouseEvent) => void;
|
|
14
|
+
mode?: 'editor' | 'runtime';
|
|
15
|
+
dataKubuildNode?: string;
|
|
16
|
+
actions?: ActionPipeline[];
|
|
17
|
+
children?: React.ReactNode;
|
|
18
|
+
}
|
|
19
|
+
export declare const FormContainerNode: React.FC<FormContainerNodeProps>;
|
|
20
|
+
export interface FormInputNodeProps {
|
|
21
|
+
id?: string;
|
|
22
|
+
name?: string;
|
|
23
|
+
type?: string;
|
|
24
|
+
placeholder?: string;
|
|
25
|
+
defaultValue?: unknown;
|
|
26
|
+
required?: boolean;
|
|
27
|
+
disabled?: boolean;
|
|
28
|
+
readOnly?: boolean;
|
|
29
|
+
rules?: ValidationRule[];
|
|
30
|
+
validateOn?: ValidateOnEvent;
|
|
31
|
+
transform?: 'trim' | 'lowercase' | 'uppercase' | 'number';
|
|
32
|
+
style?: React.CSSProperties;
|
|
33
|
+
onClick?: (e: React.MouseEvent) => void;
|
|
34
|
+
actions?: ActionPipeline[];
|
|
35
|
+
nodeId?: string;
|
|
36
|
+
document?: PageDocument;
|
|
37
|
+
renderContext?: RenderContext;
|
|
38
|
+
onDiagnostic?: (diagnostic: Diagnostic) => void;
|
|
39
|
+
onActionDispatch?: (actionType: string, payload: Record<string, unknown> | undefined, nodeId: string) => void;
|
|
40
|
+
dataKubuildNode?: string;
|
|
41
|
+
}
|
|
42
|
+
export declare const FormInputNode: React.FC<FormInputNodeProps>;
|
|
43
|
+
export interface FormTextareaNodeProps {
|
|
44
|
+
id?: string;
|
|
45
|
+
name?: string;
|
|
46
|
+
placeholder?: string;
|
|
47
|
+
defaultValue?: unknown;
|
|
48
|
+
rows?: number;
|
|
49
|
+
required?: boolean;
|
|
50
|
+
disabled?: boolean;
|
|
51
|
+
readOnly?: boolean;
|
|
52
|
+
rules?: ValidationRule[];
|
|
53
|
+
validateOn?: ValidateOnEvent;
|
|
54
|
+
transform?: 'trim' | 'lowercase' | 'uppercase' | 'number';
|
|
55
|
+
style?: React.CSSProperties;
|
|
56
|
+
onClick?: (e: React.MouseEvent) => void;
|
|
57
|
+
actions?: ActionPipeline[];
|
|
58
|
+
nodeId?: string;
|
|
59
|
+
document?: PageDocument;
|
|
60
|
+
renderContext?: RenderContext;
|
|
61
|
+
onDiagnostic?: (diagnostic: Diagnostic) => void;
|
|
62
|
+
onActionDispatch?: (actionType: string, payload: Record<string, unknown> | undefined, nodeId: string) => void;
|
|
63
|
+
dataKubuildNode?: string;
|
|
64
|
+
}
|
|
65
|
+
export declare const FormTextareaNode: React.FC<FormTextareaNodeProps>;
|
|
66
|
+
export interface FormSelectNodeProps {
|
|
67
|
+
id?: string;
|
|
68
|
+
name?: string;
|
|
69
|
+
placeholder?: string;
|
|
70
|
+
defaultValue?: unknown;
|
|
71
|
+
required?: boolean;
|
|
72
|
+
disabled?: boolean;
|
|
73
|
+
rules?: ValidationRule[];
|
|
74
|
+
validateOn?: ValidateOnEvent;
|
|
75
|
+
optionsList: Array<{
|
|
76
|
+
label: string;
|
|
77
|
+
value: string;
|
|
78
|
+
}>;
|
|
79
|
+
style?: React.CSSProperties;
|
|
80
|
+
onClick?: (e: React.MouseEvent) => void;
|
|
81
|
+
actions?: ActionPipeline[];
|
|
82
|
+
nodeId?: string;
|
|
83
|
+
document?: PageDocument;
|
|
84
|
+
renderContext?: RenderContext;
|
|
85
|
+
onDiagnostic?: (diagnostic: Diagnostic) => void;
|
|
86
|
+
onActionDispatch?: (actionType: string, payload: Record<string, unknown> | undefined, nodeId: string) => void;
|
|
87
|
+
dataKubuildNode?: string;
|
|
88
|
+
}
|
|
89
|
+
export declare const FormSelectNode: React.FC<FormSelectNodeProps>;
|
|
90
|
+
export interface FormCheckboxNodeProps {
|
|
91
|
+
id?: string;
|
|
92
|
+
name?: string;
|
|
93
|
+
label?: string;
|
|
94
|
+
value?: string;
|
|
95
|
+
defaultChecked?: boolean;
|
|
96
|
+
required?: boolean;
|
|
97
|
+
disabled?: boolean;
|
|
98
|
+
rules?: ValidationRule[];
|
|
99
|
+
validateOn?: ValidateOnEvent;
|
|
100
|
+
style?: React.CSSProperties;
|
|
101
|
+
onClick?: (e: React.MouseEvent) => void;
|
|
102
|
+
actions?: ActionPipeline[];
|
|
103
|
+
nodeId?: string;
|
|
104
|
+
document?: PageDocument;
|
|
105
|
+
renderContext?: RenderContext;
|
|
106
|
+
onDiagnostic?: (diagnostic: Diagnostic) => void;
|
|
107
|
+
onActionDispatch?: (actionType: string, payload: Record<string, unknown> | undefined, nodeId: string) => void;
|
|
108
|
+
dataKubuildNode?: string;
|
|
109
|
+
isEditable?: boolean;
|
|
110
|
+
onNodePropChange?: (nodeId: string, propName: string, value: unknown, isBlur?: boolean) => void;
|
|
111
|
+
}
|
|
112
|
+
export declare const FormCheckboxNode: React.FC<FormCheckboxNodeProps>;
|
|
113
|
+
export interface FormRadioNodeProps {
|
|
114
|
+
id?: string;
|
|
115
|
+
name?: string;
|
|
116
|
+
label?: string;
|
|
117
|
+
value?: string;
|
|
118
|
+
defaultChecked?: boolean;
|
|
119
|
+
required?: boolean;
|
|
120
|
+
disabled?: boolean;
|
|
121
|
+
rules?: ValidationRule[];
|
|
122
|
+
validateOn?: ValidateOnEvent;
|
|
123
|
+
style?: React.CSSProperties;
|
|
124
|
+
onClick?: (e: React.MouseEvent) => void;
|
|
125
|
+
actions?: ActionPipeline[];
|
|
126
|
+
nodeId?: string;
|
|
127
|
+
document?: PageDocument;
|
|
128
|
+
renderContext?: RenderContext;
|
|
129
|
+
onDiagnostic?: (diagnostic: Diagnostic) => void;
|
|
130
|
+
onActionDispatch?: (actionType: string, payload: Record<string, unknown> | undefined, nodeId: string) => void;
|
|
131
|
+
dataKubuildNode?: string;
|
|
132
|
+
isEditable?: boolean;
|
|
133
|
+
onNodePropChange?: (nodeId: string, propName: string, value: unknown, isBlur?: boolean) => void;
|
|
134
|
+
}
|
|
135
|
+
export declare const FormRadioNode: React.FC<FormRadioNodeProps>;
|
|
136
|
+
export interface FormButtonClickOptions {
|
|
137
|
+
event: React.MouseEvent;
|
|
138
|
+
buttonType: 'submit' | 'button' | 'reset';
|
|
139
|
+
disabled?: boolean;
|
|
140
|
+
formRuntime?: {
|
|
141
|
+
handleFormSubmit: (e: React.MouseEvent) => Promise<boolean> | boolean;
|
|
142
|
+
resetForm: () => void;
|
|
143
|
+
} | null;
|
|
144
|
+
/** Owner of the click-action pipeline, when one was supplied by the caller. */
|
|
145
|
+
onClick?: (e: React.MouseEvent) => void;
|
|
146
|
+
node?: Node;
|
|
147
|
+
actions?: ActionPipeline[];
|
|
148
|
+
document?: PageDocument;
|
|
149
|
+
renderContext?: RenderContext;
|
|
150
|
+
onDiagnostic?: (diagnostic: Diagnostic) => void;
|
|
151
|
+
onActionDispatch?: (actionType: string, payload: Record<string, unknown> | undefined, nodeId: string) => void;
|
|
152
|
+
/** Injectable for tests. */
|
|
153
|
+
executeActions?: typeof executeNodeActions;
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Click behaviour for a rendered button node: run the form's submit/reset semantics first,
|
|
157
|
+
* then hand off to whoever owns the click-action pipeline.
|
|
158
|
+
*
|
|
159
|
+
* The hand-off matters. `NodeRenderer`'s own `handleClick` already executes `node.actions`
|
|
160
|
+
* for every node type, so if this component executed them too, every pipeline on a
|
|
161
|
+
* non-editable button would fire **twice** per click — which silently cancels any toggling
|
|
162
|
+
* action (e.g. `open_modal` with `toggle: true` opens then immediately closes). So the
|
|
163
|
+
* pipeline runs here only when no `onClick` owner was supplied, i.e. standalone usage.
|
|
164
|
+
*
|
|
165
|
+
* Submit gating is preserved either way: when validation fails, neither path runs.
|
|
166
|
+
*/
|
|
167
|
+
export declare function handleFormButtonClick(options: FormButtonClickOptions): Promise<void>;
|
|
168
|
+
export interface FormSubmitButtonNodeProps {
|
|
169
|
+
id?: string;
|
|
170
|
+
buttonType: 'submit' | 'button' | 'reset';
|
|
171
|
+
disabled?: boolean;
|
|
172
|
+
ariaLabel?: string;
|
|
173
|
+
style?: React.CSSProperties;
|
|
174
|
+
onClick?: (e: React.MouseEvent) => void;
|
|
175
|
+
actions?: ActionPipeline[];
|
|
176
|
+
node?: Node;
|
|
177
|
+
document?: PageDocument;
|
|
178
|
+
renderContext?: RenderContext;
|
|
179
|
+
onDiagnostic?: (diagnostic: Diagnostic) => void;
|
|
180
|
+
onActionDispatch?: (actionType: string, payload: Record<string, unknown> | undefined, nodeId: string) => void;
|
|
181
|
+
dataKubuildNode?: string;
|
|
182
|
+
actionAttrs?: Record<string, unknown>;
|
|
183
|
+
children: React.ReactNode;
|
|
184
|
+
}
|
|
185
|
+
export declare const FormSubmitButtonNode: React.FC<FormSubmitButtonNodeProps>;
|
|
186
|
+
//# sourceMappingURL=form-nodes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"form-nodes.d.ts","sourceRoot":"","sources":["../../src/nodes/form-nodes.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Scopes custom CSS rules in embed HTML so body/html rules don't leak into the canvas.
|
|
4
|
+
*/
|
|
5
|
+
export declare function transformEmbedHtml(rawHtml: string): string;
|
|
6
|
+
export interface HtmlEmbedViewProps {
|
|
7
|
+
id?: string;
|
|
8
|
+
style?: React.CSSProperties;
|
|
9
|
+
onClick?: (e: React.MouseEvent) => void;
|
|
10
|
+
dataKubuildNode?: string;
|
|
11
|
+
html: string;
|
|
12
|
+
role?: string;
|
|
13
|
+
}
|
|
14
|
+
export declare const HtmlEmbedView: React.FC<HtmlEmbedViewProps>;
|
|
15
|
+
//# sourceMappingURL=html-embed.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"html-embed.d.ts","sourceRoot":"","sources":["../../src/nodes/html-embed.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsD,MAAM,OAAO,CAAC;AAI3E;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAY1D;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;IAC5B,OAAO,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IACxC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAuDtD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nodes/index.ts"],"names":[],"mappings":"AAAA,cAAc,iBAAiB,CAAC;AAChC,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,eAAe,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Helper to convert strings to PascalCase (e.g. for icon names).
|
|
3
|
+
*/
|
|
4
|
+
export declare function toPascalCase(str: string): string;
|
|
5
|
+
/**
|
|
6
|
+
* Extracts YouTube video ID from various YouTube URL formats.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getYouTubeId(url: string): string | null;
|
|
9
|
+
/**
|
|
10
|
+
* Extracts Vimeo video ID from Vimeo URL formats.
|
|
11
|
+
*/
|
|
12
|
+
export declare function getVimeoId(url: string): string | null;
|
|
13
|
+
/**
|
|
14
|
+
* Converts aspect ratio token to CSS aspectRatio value.
|
|
15
|
+
*/
|
|
16
|
+
export declare function aspectRatioToCss(ratio: unknown): string | undefined;
|
|
17
|
+
//# sourceMappingURL=media-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"media-utils.d.ts","sourceRoot":"","sources":["../../src/nodes/media-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAKhD;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMvD;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAMrD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAOnE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
|
-
import { PageDocument } from '@kubuild/schema';
|
|
3
|
-
import { ComponentRegistry } from '@kubuild/components';
|
|
2
|
+
import { PageDocument, type Artboard } from '@kubuild/schema';
|
|
3
|
+
import type { ComponentRegistry } from '@kubuild/components';
|
|
4
4
|
import { RenderContext, Diagnostic } from './render-context';
|
|
5
5
|
/**
|
|
6
6
|
* Standard supported viewport devices
|
|
@@ -104,6 +104,13 @@ export interface PreviewViewportAdapterProps {
|
|
|
104
104
|
onDiagnostic?: (diagnostic: Diagnostic) => void;
|
|
105
105
|
/** Optional action dispatch handler */
|
|
106
106
|
onActionDispatch?: (actionType: string, payload: Record<string, unknown> | undefined, nodeId: string) => void;
|
|
107
|
+
/**
|
|
108
|
+
* Component artboards (detached modals/drawers) belonging to the same project as
|
|
109
|
+
* `document`. Passing them lets a trigger in the page open its detached overlay inside
|
|
110
|
+
* this preview, exactly as it will on a published page. Defaults to
|
|
111
|
+
* `context.componentArtboards`.
|
|
112
|
+
*/
|
|
113
|
+
componentArtboards?: readonly Artboard[];
|
|
107
114
|
}
|
|
108
115
|
/**
|
|
109
116
|
* Preview Viewport Adapter Component
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"preview-adapter.d.ts","sourceRoot":"","sources":["../src/preview-adapter.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"preview-adapter.d.ts","sourceRoot":"","sources":["../src/preview-adapter.tsx"],"names":[],"mappings":"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"}
|
package/dist/render-context.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { AssetProvider, ActionRegistry, ActionHandler, ActionDiagnostic, Diagnostic, RenderContext, RuntimeContext } from '@kubuild/core';
|
|
3
|
-
import { ActionBinding, PageDocument } from '@kubuild/schema';
|
|
3
|
+
import { ActionBinding, Artboard, ArtboardType, PageDocument } from '@kubuild/schema';
|
|
4
4
|
export type { RenderContext, RuntimeContext, ActionDiagnostic, Diagnostic };
|
|
5
5
|
/**
|
|
6
6
|
* Empty default frozen context
|
|
@@ -15,6 +15,15 @@ export declare function createRenderContext(options?: {
|
|
|
15
15
|
assetProvider?: AssetProvider;
|
|
16
16
|
actionRegistry?: ActionRegistry;
|
|
17
17
|
onDiagnostic?: (diagnostic: Diagnostic) => void;
|
|
18
|
+
/**
|
|
19
|
+
* Component artboards reachable from this render. Passing them lets a trigger in one
|
|
20
|
+
* artboard open content that physically lives in another (see ArtboardPortalHost).
|
|
21
|
+
* A default `resolveArtboard` is derived from this list when one isn't supplied.
|
|
22
|
+
*/
|
|
23
|
+
componentArtboards?: readonly Artboard[];
|
|
24
|
+
resolveArtboard?: (triggerId: string) => Artboard | undefined;
|
|
25
|
+
/** 'component' when this render is a node being authored alone on its own artboard. */
|
|
26
|
+
artboardSurface?: ArtboardType;
|
|
18
27
|
}): RenderContext;
|
|
19
28
|
/**
|
|
20
29
|
* Minimal offline in-memory context factory.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"render-context.d.ts","sourceRoot":"","sources":["../src/render-context.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA6C,MAAM,OAAO,CAAC;AAElE,OAAO,KAAK,EACV,aAAa,EACb,cAAc,EACd,aAAa,EAEb,gBAAgB,EAChB,UAAU,EACV,aAAa,EACb,cAAc,EACf,MAAM,eAAe,CAAC;AACvB,OAAO,
|
|
1
|
+
{"version":3,"file":"render-context.d.ts","sourceRoot":"","sources":["../src/render-context.tsx"],"names":[],"mappings":"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"}
|
package/dist/renderer.d.ts
CHANGED
|
@@ -1,30 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { PageDocument, Node } from '@kubuild/schema';
|
|
3
|
-
import { ComponentRegistry } from '@kubuild/components';
|
|
3
|
+
import { type ComponentRegistry } from '@kubuild/components';
|
|
4
4
|
import { RenderContext, Diagnostic } from './render-context';
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
id?: string;
|
|
8
|
-
className?: string;
|
|
9
|
-
style?: React.CSSProperties;
|
|
10
|
-
value: string;
|
|
11
|
-
isEditable: boolean;
|
|
12
|
-
nodeId: string;
|
|
13
|
-
onClick?: (e: React.MouseEvent) => void;
|
|
14
|
-
onChange?: (val: string, isBlur: boolean) => void;
|
|
15
|
-
[key: string]: unknown;
|
|
16
|
-
}
|
|
17
|
-
export declare const EditableText: React.FC<EditableTextProps>;
|
|
18
|
-
export declare function transformEmbedHtml(rawHtml: string): string;
|
|
19
|
-
export interface HtmlEmbedViewProps {
|
|
20
|
-
id?: string;
|
|
21
|
-
style?: React.CSSProperties;
|
|
22
|
-
onClick?: (e: React.MouseEvent) => void;
|
|
23
|
-
dataKubuildNode?: string;
|
|
24
|
-
html: string;
|
|
25
|
-
role?: string;
|
|
26
|
-
}
|
|
27
|
-
export declare const HtmlEmbedView: React.FC<HtmlEmbedViewProps>;
|
|
5
|
+
export * from './nodes';
|
|
6
|
+
export * from './renderers';
|
|
28
7
|
export interface KubuildRendererProps {
|
|
29
8
|
document: PageDocument;
|
|
30
9
|
registry?: ComponentRegistry;
|
|
@@ -32,6 +11,7 @@ export interface KubuildRendererProps {
|
|
|
32
11
|
viewport?: 'desktop' | 'tablet' | 'mobile';
|
|
33
12
|
mode?: 'editor' | 'runtime';
|
|
34
13
|
className?: string;
|
|
14
|
+
showToastContainer?: boolean;
|
|
35
15
|
onNodeClick?: (nodeId: string, event: React.MouseEvent) => void;
|
|
36
16
|
onDiagnostic?: (diagnostic: Diagnostic) => void;
|
|
37
17
|
onActionDispatch?: (actionType: string, payload: Record<string, unknown> | undefined, nodeId: string) => void;
|
package/dist/renderer.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"renderer.d.ts","sourceRoot":"","sources":["../src/renderer.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EACL,YAAY,EACZ,IAAI,EAEL,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,KAAK,iBAAiB,EAAkC,MAAM,qBAAqB,CAAC;AAC7F,OAAO,EACL,aAAa,EAKb,UAAU,EACX,MAAM,kBAAkB,CAAC;AAY1B,cAAc,SAAS,CAAC;AACxB,cAAc,aAAa,CAAC;AAE5B,MAAM,WAAW,oBAAoB;IACnC,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,CAAC,EAAE,iBAAiB,CAAC;IAC7B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAChE,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAChD,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9G,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACjG;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,IAAI,CAAC;IACX,QAAQ,EAAE,YAAY,CAAC;IACvB,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,OAAO,CAAC,EAAE,aAAa,CAAC;IACxB,QAAQ,CAAC,EAAE,SAAS,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAC3C,IAAI,CAAC,EAAE,QAAQ,GAAG,SAAS,CAAC;IAC5B,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,CAAC,UAAU,KAAK,IAAI,CAAC;IAChE,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC;IAChD,gBAAgB,CAAC,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9G,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAChG;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAuBD,wBAAgB,YAAY,CAAC,EAC3B,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,OAAO,EAAE,WAAW,EACpB,QAAoB,EACpB,IAAgB,EAChB,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,cAAmB,GACpB,EAAE,iBAAiB,GAAG,KAAK,CAAC,YAAY,CA+LxC;AAED,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,oBAAoB,CA8C1D,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/renderers/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { RenderNodeContentOptions } from './render-node-content';
|
|
3
|
+
/**
|
|
4
|
+
* Interactive nodes: modal, drawer, collapsible
|
|
5
|
+
*/
|
|
6
|
+
export declare function renderInteractiveNode(options: RenderNodeContentOptions): React.ReactElement | null;
|
|
7
|
+
//# sourceMappingURL=interactive-renderers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interactive-renderers.d.ts","sourceRoot":"","sources":["../../src/renderers/interactive-renderers.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAC;AAGtE;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,wBAAwB,GAAG,KAAK,CAAC,YAAY,GAAG,IAAI,CA6UlG"}
|
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PageDocument, Node } from '@kubuild/schema';
|
|
3
|
+
import type { ComponentRegistry, ComponentDefinition } from '@kubuild/components';
|
|
4
|
+
import { RenderContext, Diagnostic } from '../render-context';
|
|
5
|
+
export interface RenderNodeContentOptions {
|
|
6
|
+
node: Node;
|
|
7
|
+
document: PageDocument;
|
|
8
|
+
registry: ComponentRegistry;
|
|
9
|
+
context: RenderContext;
|
|
10
|
+
viewport: 'desktop' | 'tablet' | 'mobile';
|
|
11
|
+
mode: 'editor' | 'runtime';
|
|
12
|
+
styles: React.CSSProperties;
|
|
13
|
+
props: Record<string, unknown>;
|
|
14
|
+
resolvedProps: Record<string, unknown>;
|
|
15
|
+
definition?: ComponentDefinition;
|
|
16
|
+
domId: string;
|
|
17
|
+
childrenElements?: React.ReactNode;
|
|
18
|
+
handleClick: (e: React.MouseEvent) => void;
|
|
19
|
+
onNodeClick?: (nodeId: string, event: React.MouseEvent) => void;
|
|
20
|
+
onDiagnostic?: (diagnostic: Diagnostic) => void;
|
|
21
|
+
onActionDispatch?: (actionType: string, payload: Record<string, unknown> | undefined, nodeId: string) => void;
|
|
22
|
+
onNodePropChange?: (nodeId: string, propName: string, value: unknown, isBlur?: boolean) => void;
|
|
23
|
+
instanceSuffix?: string;
|
|
24
|
+
isModalOpen?: boolean;
|
|
25
|
+
renderChildNode: (child: Node, instanceSuffix?: string, itemContext?: RenderContext) => React.ReactElement;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Renders custom component if registered in ComponentRegistry.
|
|
29
|
+
*/
|
|
30
|
+
export declare function renderCustomComponent(options: RenderNodeContentOptions): React.ReactElement | null;
|
|
31
|
+
/**
|
|
32
|
+
* Layout nodes: page, section, container, columns
|
|
33
|
+
*/
|
|
34
|
+
export declare function renderLayoutNode(options: RenderNodeContentOptions): React.ReactElement | null;
|
|
35
|
+
/**
|
|
36
|
+
* Typography nodes: heading, text, paragraph, link, blockquote, badge, code-block
|
|
37
|
+
*/
|
|
38
|
+
export declare function renderTypographyNode(options: RenderNodeContentOptions): React.ReactElement | null;
|
|
39
|
+
/**
|
|
40
|
+
* List nodes: list, list-item
|
|
41
|
+
*/
|
|
42
|
+
export declare function renderListNode(options: RenderNodeContentOptions): React.ReactElement | null;
|
|
43
|
+
/**
|
|
44
|
+
* Table nodes: table, table-row, table-cell
|
|
45
|
+
*/
|
|
46
|
+
export declare function renderTableNode(options: RenderNodeContentOptions): React.ReactElement | null;
|
|
47
|
+
/**
|
|
48
|
+
* Media nodes: image, video, icon, html-embed
|
|
49
|
+
*/
|
|
50
|
+
export declare function renderMediaNode(options: RenderNodeContentOptions): React.ReactElement | null;
|
|
51
|
+
/**
|
|
52
|
+
* Form nodes: button, form, input, textarea, select, checkbox, radio
|
|
53
|
+
*/
|
|
54
|
+
export declare function renderFormNode(options: RenderNodeContentOptions): React.ReactElement | null;
|
|
55
|
+
/**
|
|
56
|
+
* Collection node: collection
|
|
57
|
+
*/
|
|
58
|
+
export declare function renderCollectionNode(options: RenderNodeContentOptions): React.ReactElement | null;
|
|
59
|
+
/**
|
|
60
|
+
* Fallback node for unregistered / unknown types.
|
|
61
|
+
*/
|
|
62
|
+
export declare function renderFallbackNode(options: RenderNodeContentOptions): React.ReactElement;
|
|
63
|
+
/**
|
|
64
|
+
* Master dispatcher function for rendering node content based on node type.
|
|
65
|
+
*/
|
|
66
|
+
export declare function renderNodeContent(options: RenderNodeContentOptions): React.ReactElement;
|
|
67
|
+
//# sourceMappingURL=render-node-content.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render-node-content.d.ts","sourceRoot":"","sources":["../../src/renderers/render-node-content.tsx"],"names":[],"mappings":"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"}
|
package/dist/styles.d.ts
CHANGED
|
@@ -1,5 +1,16 @@
|
|
|
1
1
|
import { PageDocument, ResponsiveStyles } from '@kubuild/schema';
|
|
2
2
|
import React from 'react';
|
|
3
|
+
/**
|
|
4
|
+
* Normalizes CSS and Kubuild style properties into standard, valid React.CSSProperties.
|
|
5
|
+
* Resolves:
|
|
6
|
+
* - CSS Grid properties: gridTemplateColumns, gridTemplateRows, gridAutoFlow, gridColumn, gridRow, colSpan, rowSpan
|
|
7
|
+
* - Auto Layout flex properties: flexDirection, flexWrap, justifyContent, alignItems, gap, etc.
|
|
8
|
+
* - Child sizing modes: 'fit-content' (hug), 'fill' (flex: 1 1 0%, width: 100%)
|
|
9
|
+
* - 4-corner border radius: borderTopLeftRadius, borderTopRightRadius, borderBottomRightRadius, borderBottomLeftRadius
|
|
10
|
+
* - Backdrop blur: backdropFilter, backdropBlur, WebkitBackdropFilter
|
|
11
|
+
* - Linear and radial gradients: gradient, backgroundGradient, backgroundImage
|
|
12
|
+
*/
|
|
13
|
+
export declare function normalizeStyleObject(raw: Record<string, unknown> | undefined): React.CSSProperties;
|
|
3
14
|
export declare function resolveNodeStyles(styles?: ResponsiveStyles, viewport?: 'desktop' | 'tablet' | 'mobile'): React.CSSProperties;
|
|
4
15
|
/**
|
|
5
16
|
* Serialize a style definition object into CSS declarations.
|
package/dist/styles.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAQ,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,wBAAgB,iBAAiB,CAC/B,MAAM,CAAC,EAAE,gBAAgB,EACzB,QAAQ,GAAE,SAAS,GAAG,QAAQ,GAAG,QAAoB,GACpD,KAAK,CAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"styles.d.ts","sourceRoot":"","sources":["../src/styles.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAQ,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AACvE,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,GACvC,KAAK,CAAC,aAAa,CAqGrB;AAED,wBAAgB,iBAAiB,CAC/B,MAAM,CAAC,EAAE,gBAAgB,EACzB,QAAQ,GAAE,SAAS,GAAG,QAAQ,GAAG,QAAoB,GACpD,KAAK,CAAC,aAAa,CAMrB;AAiBD;;;GAGG;AACH,wBAAgB,gCAAgC,CAC9C,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS,EACpD,OAAO,CAAC,EAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAE,GAChC,MAAM,CAmBR;AAED;;;;;;;;;GASG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,YAAY,GAAG,SAAS,GAAG,IAAI,EACzC,OAAO,GAAE;IAAE,SAAS,CAAC,EAAE,OAAO,CAAA;CAAwB,GACrD,MAAM,CAwBR;AAED;;GAEG;AACH,eAAO,MAAM,iBAAiB,QA0BtB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubuild/renderer",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Pure recursive React renderer for KUBUILD page documents",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -22,7 +22,8 @@
|
|
|
22
22
|
},
|
|
23
23
|
"repository": {
|
|
24
24
|
"type": "git",
|
|
25
|
-
"url": "git+https://github.com/kustora/kubuild.git"
|
|
25
|
+
"url": "git+https://github.com/kustora/kubuild.git",
|
|
26
|
+
"directory": "packages/renderer"
|
|
26
27
|
},
|
|
27
28
|
"keywords": [
|
|
28
29
|
"page-builder",
|
|
@@ -40,9 +41,9 @@
|
|
|
40
41
|
"homepage": "https://github.com/kustora/kubuild#readme",
|
|
41
42
|
"dependencies": {
|
|
42
43
|
"lucide-react": "^1.33.0",
|
|
43
|
-
"@kubuild/components": "0.
|
|
44
|
-
"@kubuild/
|
|
45
|
-
"@kubuild/
|
|
44
|
+
"@kubuild/components": "0.3.0",
|
|
45
|
+
"@kubuild/core": "0.3.0",
|
|
46
|
+
"@kubuild/schema": "0.3.0"
|
|
46
47
|
},
|
|
47
48
|
"peerDependencies": {
|
|
48
49
|
"react": ">=18.0.0",
|