@kubuild/editor 0.1.3 → 0.2.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 +106 -0
- package/dist/action-branch-editor.d.ts +18 -0
- package/dist/action-branch-editor.d.ts.map +1 -0
- package/dist/action-builder-modal.d.ts +32 -0
- package/dist/action-builder-modal.d.ts.map +1 -0
- package/dist/action-debugger-panel.d.ts +11 -0
- package/dist/action-debugger-panel.d.ts.map +1 -0
- package/dist/action-step-form.d.ts +84 -0
- package/dist/action-step-form.d.ts.map +1 -0
- package/dist/blocks-panel.d.ts.map +1 -1
- package/dist/canvas.d.ts.map +1 -1
- package/dist/components/action-builder/action-branch-editor.d.ts +18 -0
- package/dist/components/action-builder/action-branch-editor.d.ts.map +1 -0
- package/dist/components/action-builder/action-builder-modal.d.ts +32 -0
- package/dist/components/action-builder/action-builder-modal.d.ts.map +1 -0
- package/dist/components/action-builder/action-step-form.d.ts +71 -0
- package/dist/components/action-builder/action-step-form.d.ts.map +1 -0
- package/dist/components/action-builder/index.d.ts +4 -0
- package/dist/components/action-builder/index.d.ts.map +1 -0
- package/dist/components/canvas/breadcrumbs.d.ts +16 -0
- package/dist/components/canvas/breadcrumbs.d.ts.map +1 -0
- package/dist/components/canvas/canvas.d.ts +16 -0
- package/dist/components/canvas/canvas.d.ts.map +1 -0
- package/dist/components/canvas/floating-badges.d.ts +26 -0
- package/dist/components/canvas/floating-badges.d.ts.map +1 -0
- package/dist/components/canvas/index.d.ts +4 -0
- package/dist/components/canvas/index.d.ts.map +1 -0
- package/dist/components/index.d.ts +9 -0
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/layout/editor.d.ts +18 -0
- package/dist/components/layout/editor.d.ts.map +1 -0
- package/dist/components/layout/index.d.ts +3 -0
- package/dist/components/layout/index.d.ts.map +1 -0
- package/dist/components/layout/toolbar.d.ts +11 -0
- package/dist/components/layout/toolbar.d.ts.map +1 -0
- package/dist/components/modals/asset-manager-modal.d.ts +28 -0
- package/dist/components/modals/asset-manager-modal.d.ts.map +1 -0
- package/dist/components/modals/code-viewer-modal.d.ts +11 -0
- package/dist/components/modals/code-viewer-modal.d.ts.map +1 -0
- package/dist/components/modals/import-modal.d.ts +11 -0
- package/dist/components/modals/import-modal.d.ts.map +1 -0
- package/dist/components/modals/index.d.ts +4 -0
- package/dist/components/modals/index.d.ts.map +1 -0
- package/dist/components/panels/action-debugger-panel.d.ts +11 -0
- package/dist/components/panels/action-debugger-panel.d.ts.map +1 -0
- package/dist/components/panels/blocks-panel.d.ts +20 -0
- package/dist/components/panels/blocks-panel.d.ts.map +1 -0
- package/dist/components/panels/component-panel.d.ts +8 -0
- package/dist/components/panels/component-panel.d.ts.map +1 -0
- package/dist/components/panels/form-validation-rules-panel.d.ts +27 -0
- package/dist/components/panels/form-validation-rules-panel.d.ts.map +1 -0
- package/dist/components/panels/index.d.ts +9 -0
- package/dist/components/panels/index.d.ts.map +1 -0
- package/dist/components/panels/inspector-panel.d.ts +20 -0
- package/dist/components/panels/inspector-panel.d.ts.map +1 -0
- package/dist/components/panels/layers-panel.d.ts +8 -0
- package/dist/components/panels/layers-panel.d.ts.map +1 -0
- package/dist/components/panels/left-sidebar.d.ts +16 -0
- package/dist/components/panels/left-sidebar.d.ts.map +1 -0
- package/dist/components/panels/traits-panel.d.ts +20 -0
- package/dist/components/panels/traits-panel.d.ts.map +1 -0
- package/dist/components/style-manager/box-model-editor.d.ts +29 -0
- package/dist/components/style-manager/box-model-editor.d.ts.map +1 -0
- package/dist/components/style-manager/dimension-sector-controls.d.ts +27 -0
- package/dist/components/style-manager/dimension-sector-controls.d.ts.map +1 -0
- package/dist/components/style-manager/index.d.ts +6 -0
- package/dist/components/style-manager/index.d.ts.map +1 -0
- package/dist/components/style-manager/motion-sector-controls.d.ts +36 -0
- package/dist/components/style-manager/motion-sector-controls.d.ts.map +1 -0
- package/dist/components/style-manager/style-manager-accordion.d.ts +38 -0
- package/dist/components/style-manager/style-manager-accordion.d.ts.map +1 -0
- package/dist/components/style-manager/typography-sector-controls.d.ts +17 -0
- package/dist/components/style-manager/typography-sector-controls.d.ts.map +1 -0
- package/dist/components/table-editor/index.d.ts +2 -0
- package/dist/components/table-editor/index.d.ts.map +1 -0
- package/dist/components/table-editor/table-spreadsheet-editor.d.ts +15 -0
- package/dist/components/table-editor/table-spreadsheet-editor.d.ts.map +1 -0
- package/dist/components/ui/code-highlighter.d.ts +20 -0
- package/dist/components/ui/code-highlighter.d.ts.map +1 -0
- package/dist/components/ui/icons.d.ts +8 -0
- package/dist/components/ui/icons.d.ts.map +1 -0
- package/dist/components/ui/index.d.ts +5 -0
- package/dist/components/ui/index.d.ts.map +1 -0
- package/dist/components/ui/variable-autocomplete-input.d.ts +42 -0
- package/dist/components/ui/variable-autocomplete-input.d.ts.map +1 -0
- package/dist/components/ui/variable-picker.d.ts +21 -0
- package/dist/components/ui/variable-picker.d.ts.map +1 -0
- package/dist/config/config.d.ts +103 -0
- package/dist/config/config.d.ts.map +1 -0
- package/dist/config/index.d.ts +2 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config.d.ts +6 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/editor.d.ts.map +1 -1
- package/dist/form-validation-rules-panel.d.ts +27 -0
- package/dist/form-validation-rules-panel.d.ts.map +1 -0
- package/dist/index.cjs +5010 -1467
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +2 -23
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4983 -1402
- package/dist/index.js.map +1 -1
- package/dist/inspector-panel.d.ts.map +1 -1
- package/dist/store/index.d.ts +2 -0
- package/dist/store/index.d.ts.map +1 -0
- package/dist/store/store.d.ts +148 -0
- package/dist/store/store.d.ts.map +1 -0
- package/dist/store.d.ts +46 -1
- package/dist/store.d.ts.map +1 -1
- package/dist/toolbar.d.ts.map +1 -1
- package/dist/traits-panel.d.ts +3 -1
- package/dist/traits-panel.d.ts.map +1 -1
- package/dist/utils/document-scanner.d.ts +31 -0
- package/dist/utils/document-scanner.d.ts.map +1 -0
- package/dist/utils/export-utils.d.ts +19 -0
- package/dist/utils/export-utils.d.ts.map +1 -0
- package/dist/utils/index.d.ts +3 -0
- package/dist/utils/index.d.ts.map +1 -0
- package/dist/variable-autocomplete-input.d.ts +43 -0
- package/dist/variable-autocomplete-input.d.ts.map +1 -0
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inspector-panel.d.ts","sourceRoot":"","sources":["../src/inspector-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAA6C,MAAM,qBAAqB,CAAC;AAEnG,OAAO,EAAqB,YAAY,EAAmB,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"inspector-panel.d.ts","sourceRoot":"","sources":["../src/inspector-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,EAAE,iBAAiB,EAA6C,MAAM,qBAAqB,CAAC;AAEnG,OAAO,EAAqB,YAAY,EAAmB,MAAM,iBAAiB,CAAC;AAcnF,OAAO,EAAE,qBAAqB,EAAE,MAAM,UAAU,CAAC;AAEjD,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,MAAM,CAAC,EAAE,qBAAqB,CAAC;CAChC;AAqeD;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,KAAK,EAAE,MAAM,CAAA;CAAE,CAQzD,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAqoBxD,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/store/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import { PageDocument, Node, StyleDefinition, TemplateRecord, AnimationConfig, ActionPipeline, FormConfig } from '@kubuild/schema';
|
|
2
|
+
import { CommandResult, VariableCatalog, SaveTemplateMetadata, CloneTemplateOptions } from '@kubuild/core';
|
|
3
|
+
import { ComponentRegistry, BlockDefinition } from '@kubuild/components';
|
|
4
|
+
export type Viewport = 'desktop' | 'tablet' | 'mobile';
|
|
5
|
+
export type NavigatorMode = 'docked' | 'floating' | 'hidden';
|
|
6
|
+
export type TableSpreadsheetMode = 'floating' | 'docked' | 'hidden';
|
|
7
|
+
export interface ActionLogEntry {
|
|
8
|
+
id: string;
|
|
9
|
+
timestamp: string;
|
|
10
|
+
trigger: string;
|
|
11
|
+
actionType: string;
|
|
12
|
+
nodeId?: string;
|
|
13
|
+
status: 'pending' | 'success' | 'error';
|
|
14
|
+
payload?: Record<string, unknown>;
|
|
15
|
+
output?: unknown;
|
|
16
|
+
error?: string;
|
|
17
|
+
durationMs?: number;
|
|
18
|
+
}
|
|
19
|
+
export interface LiveFormState {
|
|
20
|
+
formId?: string;
|
|
21
|
+
values: Record<string, unknown>;
|
|
22
|
+
errors: Record<string, string>;
|
|
23
|
+
touched: Record<string, boolean>;
|
|
24
|
+
isSubmitting: boolean;
|
|
25
|
+
isValid: boolean;
|
|
26
|
+
dirty: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface UpdateFormConfigResult {
|
|
29
|
+
success: boolean;
|
|
30
|
+
error?: string;
|
|
31
|
+
}
|
|
32
|
+
export type DragPayload = {
|
|
33
|
+
type: 'component';
|
|
34
|
+
componentType: string;
|
|
35
|
+
} | {
|
|
36
|
+
type: 'block';
|
|
37
|
+
blockId: string;
|
|
38
|
+
} | {
|
|
39
|
+
type: 'node';
|
|
40
|
+
nodeId: string;
|
|
41
|
+
};
|
|
42
|
+
export interface InsertComponentResult {
|
|
43
|
+
success: boolean;
|
|
44
|
+
nodeId?: string;
|
|
45
|
+
error?: string;
|
|
46
|
+
}
|
|
47
|
+
export interface MoveComponentResult {
|
|
48
|
+
success: boolean;
|
|
49
|
+
error?: string;
|
|
50
|
+
}
|
|
51
|
+
export interface DuplicateComponentResult {
|
|
52
|
+
success: boolean;
|
|
53
|
+
nodeId?: string;
|
|
54
|
+
error?: string;
|
|
55
|
+
}
|
|
56
|
+
export interface DeleteComponentResult {
|
|
57
|
+
success: boolean;
|
|
58
|
+
error?: string;
|
|
59
|
+
}
|
|
60
|
+
export interface PasteComponentResult {
|
|
61
|
+
success: boolean;
|
|
62
|
+
nodeId?: string;
|
|
63
|
+
error?: string;
|
|
64
|
+
}
|
|
65
|
+
export interface UpdatePropsResult {
|
|
66
|
+
success: boolean;
|
|
67
|
+
error?: string;
|
|
68
|
+
}
|
|
69
|
+
export interface UpdateStyleResult {
|
|
70
|
+
success: boolean;
|
|
71
|
+
error?: string;
|
|
72
|
+
}
|
|
73
|
+
export interface UpdateAnimationResult {
|
|
74
|
+
success: boolean;
|
|
75
|
+
error?: string;
|
|
76
|
+
}
|
|
77
|
+
export interface UpdateActionsResult {
|
|
78
|
+
success: boolean;
|
|
79
|
+
error?: string;
|
|
80
|
+
}
|
|
81
|
+
export interface EditorState {
|
|
82
|
+
document: PageDocument;
|
|
83
|
+
selectedNodeId: string | null;
|
|
84
|
+
hoveredNodeId: string | null;
|
|
85
|
+
dragPayload: DragPayload | null;
|
|
86
|
+
viewport: Viewport;
|
|
87
|
+
isDirty: boolean;
|
|
88
|
+
canUndo: boolean;
|
|
89
|
+
canRedo: boolean;
|
|
90
|
+
clipboard: Node | null;
|
|
91
|
+
onChangeHandler: ((doc: PageDocument) => void) | null;
|
|
92
|
+
/** Host-declared bindable variables + editor/preview-only sample values (STORA-053). Never serialized to the document. */
|
|
93
|
+
variableCatalog: VariableCatalog;
|
|
94
|
+
navigatorMode: NavigatorMode;
|
|
95
|
+
tableSpreadsheetMode: TableSpreadsheetMode;
|
|
96
|
+
previewMode: boolean;
|
|
97
|
+
actionDebuggerOpen: boolean;
|
|
98
|
+
actionLogs: ActionLogEntry[];
|
|
99
|
+
liveFormState: LiveFormState | null;
|
|
100
|
+
setDocument: (document: PageDocument) => void;
|
|
101
|
+
setDragPayload: (payload: DragPayload | null) => void;
|
|
102
|
+
setVariableCatalog: (catalog: VariableCatalog) => void;
|
|
103
|
+
setNavigatorMode: (mode: NavigatorMode) => void;
|
|
104
|
+
toggleNavigator: () => void;
|
|
105
|
+
setTableSpreadsheetMode: (mode: TableSpreadsheetMode) => void;
|
|
106
|
+
toggleTableSpreadsheet: () => void;
|
|
107
|
+
setPreviewMode: (enabled: boolean) => void;
|
|
108
|
+
togglePreviewMode: () => void;
|
|
109
|
+
setActionDebuggerOpen: (open: boolean) => void;
|
|
110
|
+
toggleActionDebugger: () => void;
|
|
111
|
+
addActionLog: (entry: Omit<ActionLogEntry, 'id' | 'timestamp'> & {
|
|
112
|
+
id?: string;
|
|
113
|
+
timestamp?: string;
|
|
114
|
+
}) => void;
|
|
115
|
+
clearActionLogs: () => void;
|
|
116
|
+
setLiveFormState: (state: LiveFormState | null) => void;
|
|
117
|
+
setOnChangeHandler: (handler: ((doc: PageDocument) => void) | null) => void;
|
|
118
|
+
dispatch: (executor: (doc: PageDocument) => CommandResult) => void;
|
|
119
|
+
insertComponent: (type: string, registry: ComponentRegistry, parentId?: string, index?: number) => InsertComponentResult;
|
|
120
|
+
insertBlock: (blockOrId: BlockDefinition | string, parentId?: string, index?: number) => InsertComponentResult;
|
|
121
|
+
moveComponent: (nodeId: string, targetParentId: string, registry: ComponentRegistry, index?: number) => MoveComponentResult;
|
|
122
|
+
duplicateComponent: (nodeId: string, registry: ComponentRegistry) => DuplicateComponentResult;
|
|
123
|
+
deleteComponent: (nodeId: string) => DeleteComponentResult;
|
|
124
|
+
updateNodeProps: (nodeId: string, props: Record<string, unknown>, registry: ComponentRegistry, merge?: boolean) => UpdatePropsResult;
|
|
125
|
+
updateNodeStyle: (nodeId: string, styles: StyleDefinition, breakpoint: 'base' | 'desktop' | 'tablet' | 'mobile', merge?: boolean) => UpdateStyleResult;
|
|
126
|
+
/**
|
|
127
|
+
* Update a pseudo-state style layer (e.g. ':hover') on a node — STORA-221.
|
|
128
|
+
* Writes to node.styles.states[state] without touching default values.
|
|
129
|
+
*/
|
|
130
|
+
updateNodeStateStyle: (nodeId: string, styles: StyleDefinition, state: string, merge?: boolean) => UpdateStyleResult;
|
|
131
|
+
updateNodeAnimation: (nodeId: string, animation: Partial<AnimationConfig> | null, merge?: boolean) => UpdateAnimationResult;
|
|
132
|
+
updateNodeActions: (nodeId: string, actions: ActionPipeline[] | null) => UpdateActionsResult;
|
|
133
|
+
updateNodeFormConfig: (nodeId: string, formConfig: Partial<FormConfig> | null, merge?: boolean) => UpdateFormConfigResult;
|
|
134
|
+
undo: () => void;
|
|
135
|
+
redo: () => void;
|
|
136
|
+
markSaved: () => void;
|
|
137
|
+
copyNode: (nodeId: string) => void;
|
|
138
|
+
pasteNode: (targetParentId: string, registry: ComponentRegistry, index?: number) => PasteComponentResult;
|
|
139
|
+
selectNode: (nodeId: string | null) => void;
|
|
140
|
+
selectParent: () => void;
|
|
141
|
+
hoverNode: (nodeId: string | null) => void;
|
|
142
|
+
setViewport: (viewport: Viewport) => void;
|
|
143
|
+
getSelectedNode: () => Node | null;
|
|
144
|
+
saveDraftAsTemplate: (metadata: SaveTemplateMetadata) => TemplateRecord;
|
|
145
|
+
loadTemplate: (template: TemplateRecord | PageDocument, options?: CloneTemplateOptions) => void;
|
|
146
|
+
}
|
|
147
|
+
export declare const useEditorStore: import("zustand").UseBoundStore<import("zustand").StoreApi<EditorState>>;
|
|
148
|
+
//# sourceMappingURL=store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/store/store.ts"],"names":[],"mappings":"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"}
|
package/dist/store.d.ts
CHANGED
|
@@ -1,9 +1,34 @@
|
|
|
1
|
-
import { PageDocument, Node, StyleDefinition, TemplateRecord, AnimationConfig } from '@kubuild/schema';
|
|
1
|
+
import { PageDocument, Node, StyleDefinition, TemplateRecord, AnimationConfig, ActionPipeline, FormConfig } from '@kubuild/schema';
|
|
2
2
|
import { CommandResult, VariableCatalog, SaveTemplateMetadata, CloneTemplateOptions } from '@kubuild/core';
|
|
3
3
|
import { ComponentRegistry, BlockDefinition } from '@kubuild/components';
|
|
4
4
|
export type Viewport = 'desktop' | 'tablet' | 'mobile';
|
|
5
5
|
export type NavigatorMode = 'docked' | 'floating' | 'hidden';
|
|
6
6
|
export type TableSpreadsheetMode = 'floating' | 'docked' | 'hidden';
|
|
7
|
+
export interface ActionLogEntry {
|
|
8
|
+
id: string;
|
|
9
|
+
timestamp: string;
|
|
10
|
+
trigger: string;
|
|
11
|
+
actionType: string;
|
|
12
|
+
nodeId?: string;
|
|
13
|
+
status: 'pending' | 'success' | 'error';
|
|
14
|
+
payload?: Record<string, unknown>;
|
|
15
|
+
output?: unknown;
|
|
16
|
+
error?: string;
|
|
17
|
+
durationMs?: number;
|
|
18
|
+
}
|
|
19
|
+
export interface LiveFormState {
|
|
20
|
+
formId?: string;
|
|
21
|
+
values: Record<string, unknown>;
|
|
22
|
+
errors: Record<string, string>;
|
|
23
|
+
touched: Record<string, boolean>;
|
|
24
|
+
isSubmitting: boolean;
|
|
25
|
+
isValid: boolean;
|
|
26
|
+
dirty: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface UpdateFormConfigResult {
|
|
29
|
+
success: boolean;
|
|
30
|
+
error?: string;
|
|
31
|
+
}
|
|
7
32
|
export type DragPayload = {
|
|
8
33
|
type: 'component';
|
|
9
34
|
componentType: string;
|
|
@@ -49,6 +74,10 @@ export interface UpdateAnimationResult {
|
|
|
49
74
|
success: boolean;
|
|
50
75
|
error?: string;
|
|
51
76
|
}
|
|
77
|
+
export interface UpdateActionsResult {
|
|
78
|
+
success: boolean;
|
|
79
|
+
error?: string;
|
|
80
|
+
}
|
|
52
81
|
export interface EditorState {
|
|
53
82
|
document: PageDocument;
|
|
54
83
|
selectedNodeId: string | null;
|
|
@@ -64,6 +93,10 @@ export interface EditorState {
|
|
|
64
93
|
variableCatalog: VariableCatalog;
|
|
65
94
|
navigatorMode: NavigatorMode;
|
|
66
95
|
tableSpreadsheetMode: TableSpreadsheetMode;
|
|
96
|
+
previewMode: boolean;
|
|
97
|
+
actionDebuggerOpen: boolean;
|
|
98
|
+
actionLogs: ActionLogEntry[];
|
|
99
|
+
liveFormState: LiveFormState | null;
|
|
67
100
|
setDocument: (document: PageDocument) => void;
|
|
68
101
|
setDragPayload: (payload: DragPayload | null) => void;
|
|
69
102
|
setVariableCatalog: (catalog: VariableCatalog) => void;
|
|
@@ -71,6 +104,16 @@ export interface EditorState {
|
|
|
71
104
|
toggleNavigator: () => void;
|
|
72
105
|
setTableSpreadsheetMode: (mode: TableSpreadsheetMode) => void;
|
|
73
106
|
toggleTableSpreadsheet: () => void;
|
|
107
|
+
setPreviewMode: (enabled: boolean) => void;
|
|
108
|
+
togglePreviewMode: () => void;
|
|
109
|
+
setActionDebuggerOpen: (open: boolean) => void;
|
|
110
|
+
toggleActionDebugger: () => void;
|
|
111
|
+
addActionLog: (entry: Omit<ActionLogEntry, 'id' | 'timestamp'> & {
|
|
112
|
+
id?: string;
|
|
113
|
+
timestamp?: string;
|
|
114
|
+
}) => void;
|
|
115
|
+
clearActionLogs: () => void;
|
|
116
|
+
setLiveFormState: (state: LiveFormState | null) => void;
|
|
74
117
|
setOnChangeHandler: (handler: ((doc: PageDocument) => void) | null) => void;
|
|
75
118
|
dispatch: (executor: (doc: PageDocument) => CommandResult) => void;
|
|
76
119
|
insertComponent: (type: string, registry: ComponentRegistry, parentId?: string, index?: number) => InsertComponentResult;
|
|
@@ -86,6 +129,8 @@ export interface EditorState {
|
|
|
86
129
|
*/
|
|
87
130
|
updateNodeStateStyle: (nodeId: string, styles: StyleDefinition, state: string, merge?: boolean) => UpdateStyleResult;
|
|
88
131
|
updateNodeAnimation: (nodeId: string, animation: Partial<AnimationConfig> | null, merge?: boolean) => UpdateAnimationResult;
|
|
132
|
+
updateNodeActions: (nodeId: string, actions: ActionPipeline[] | null) => UpdateActionsResult;
|
|
133
|
+
updateNodeFormConfig: (nodeId: string, formConfig: Partial<FormConfig> | null, merge?: boolean) => UpdateFormConfigResult;
|
|
89
134
|
undo: () => void;
|
|
90
135
|
redo: () => void;
|
|
91
136
|
markSaved: () => void;
|
package/dist/store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"AACA,OAAO,EACL,YAAY,EACZ,IAAI,EACJ,eAAe,EACf,cAAc,EACd,eAAe,
|
|
1
|
+
{"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../src/store.ts"],"names":[],"mappings":"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"}
|
package/dist/toolbar.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"toolbar.d.ts","sourceRoot":"","sources":["../src/toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAOxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B;AAsDD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,
|
|
1
|
+
{"version":3,"file":"toolbar.d.ts","sourceRoot":"","sources":["../src/toolbar.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAC;AACxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAOxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAE/C,MAAM,WAAW,kBAAkB;IACjC,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B;AAsDD,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAsUtD,CAAC"}
|
package/dist/traits-panel.d.ts
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { ComponentRegistry } from '@kubuild/components';
|
|
3
|
-
import { PageDocument } from '@kubuild/schema';
|
|
3
|
+
import { PageDocument, FormConfig } from '@kubuild/schema';
|
|
4
4
|
export interface TraitsPanelProps {
|
|
5
5
|
registry: ComponentRegistry;
|
|
6
6
|
document: PageDocument;
|
|
7
7
|
selectedNodeId: string | null;
|
|
8
8
|
/** Commit a single trait value to the node's props. */
|
|
9
9
|
onCommitTrait: (traitName: string, value: unknown) => void;
|
|
10
|
+
/** Commit form configuration updates (including validation rules) to the node. */
|
|
11
|
+
onUpdateFormConfig?: (formConfig: Partial<FormConfig> | null) => void;
|
|
10
12
|
className?: string;
|
|
11
13
|
}
|
|
12
14
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traits-panel.d.ts","sourceRoot":"","sources":["../src/traits-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,EACL,iBAAiB,EAKlB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"traits-panel.d.ts","sourceRoot":"","sources":["../src/traits-panel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAC;AAC3D,OAAO,EACL,iBAAiB,EAKlB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AAK3D,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,YAAY,CAAC;IACvB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,uDAAuD;IACvD,aAAa,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC;IAC3D,kFAAkF;IAClF,kBAAkB,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,GAAG,IAAI,KAAK,IAAI,CAAC;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAsXD;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAgHlD,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Node, PageDocument } from '@kubuild/schema';
|
|
2
|
+
/**
|
|
3
|
+
* Recursively scans a document Node tree and collects nodes matching a predicate.
|
|
4
|
+
*/
|
|
5
|
+
export declare function collectDocumentNodes(node: Node, predicate: (n: Node) => boolean, acc?: Node[]): Node[];
|
|
6
|
+
/**
|
|
7
|
+
* Scans a document for modal or dialog nodes.
|
|
8
|
+
*/
|
|
9
|
+
export declare function collectDocumentModals(doc?: PageDocument): Array<{
|
|
10
|
+
id: string;
|
|
11
|
+
label: string;
|
|
12
|
+
}>;
|
|
13
|
+
/**
|
|
14
|
+
* Scans a document for form nodes.
|
|
15
|
+
*/
|
|
16
|
+
export declare function collectDocumentForms(doc?: PageDocument): Array<{
|
|
17
|
+
id: string;
|
|
18
|
+
label: string;
|
|
19
|
+
}>;
|
|
20
|
+
/**
|
|
21
|
+
* Scans a document for section/container anchor targets.
|
|
22
|
+
*/
|
|
23
|
+
export declare function collectDocumentAnchors(doc?: PageDocument): Array<{
|
|
24
|
+
id: string;
|
|
25
|
+
label: string;
|
|
26
|
+
}>;
|
|
27
|
+
/**
|
|
28
|
+
* Collects input field names from form and input nodes in the document.
|
|
29
|
+
*/
|
|
30
|
+
export declare function collectDocumentFormFields(doc?: PageDocument): string[];
|
|
31
|
+
//# sourceMappingURL=document-scanner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"document-scanner.d.ts","sourceRoot":"","sources":["../../src/utils/document-scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAErD;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,IAAI,EACV,SAAS,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,OAAO,EAC/B,GAAG,GAAE,IAAI,EAAO,GACf,IAAI,EAAE,CAUR;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAU9F;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAU7F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,KAAK,CAAC;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,CAU/F;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,MAAM,EAAE,CA2BtE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { PageDocument } from '@kubuild/schema';
|
|
2
|
+
import { ExportPackageOptions } from '@kubuild/core';
|
|
3
|
+
/**
|
|
4
|
+
* Clean a page title into a safe download filename slug
|
|
5
|
+
*/
|
|
6
|
+
export declare function sanitizeDocumentFilename(name: string, extension: string): string;
|
|
7
|
+
/**
|
|
8
|
+
* Triggers a browser download of in-memory binary or text data.
|
|
9
|
+
*/
|
|
10
|
+
export declare function downloadFile(data: Uint8Array | ArrayBuffer | string, filename: string, mimeType?: string): void;
|
|
11
|
+
/**
|
|
12
|
+
* Exports a PageDocument as a .stora portable archive and initiates browser download.
|
|
13
|
+
*/
|
|
14
|
+
export declare function downloadDocumentAsStora(doc: PageDocument, filename?: string, options?: ExportPackageOptions): Promise<Uint8Array>;
|
|
15
|
+
/**
|
|
16
|
+
* Exports a PageDocument as a formatted JSON document and initiates browser download.
|
|
17
|
+
*/
|
|
18
|
+
export declare function downloadDocumentAsJson(doc: PageDocument, filename?: string): void;
|
|
19
|
+
//# sourceMappingURL=export-utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"export-utils.d.ts","sourceRoot":"","sources":["../../src/utils/export-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAiB,oBAAoB,EAAE,MAAM,eAAe,CAAC;AAEpE;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAOhF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,IAAI,EAAE,UAAU,GAAG,WAAW,GAAG,MAAM,EACvC,QAAQ,EAAE,MAAM,EAChB,QAAQ,GAAE,MAAmC,GAC5C,IAAI,CAcN;AAED;;GAEG;AACH,wBAAsB,uBAAuB,CAC3C,GAAG,EAAE,YAAY,EACjB,QAAQ,CAAC,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,UAAU,CAAC,CAarB;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,YAAY,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAIjF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { PageDocument } from '@kubuild/schema';
|
|
3
|
+
export type VariableCategory = 'form' | 'variables' | 'response' | 'state';
|
|
4
|
+
export interface VariableSuggestionItem {
|
|
5
|
+
key: string;
|
|
6
|
+
label: string;
|
|
7
|
+
category: VariableCategory;
|
|
8
|
+
description: string;
|
|
9
|
+
sample?: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function collectDocumentFormFields(doc?: PageDocument): string[];
|
|
12
|
+
export declare function getAllVariableSuggestions(doc?: PageDocument): VariableSuggestionItem[];
|
|
13
|
+
export declare function filterVariableSuggestions(query: string, doc?: PageDocument): VariableSuggestionItem[];
|
|
14
|
+
/**
|
|
15
|
+
* Replaces or inserts the variable token at cursor position.
|
|
16
|
+
* If cursor is right after `{{...`, it replaces the partial `{{...` with `{{variableKey}}`.
|
|
17
|
+
*/
|
|
18
|
+
export declare function insertVariableToken(currentText: string, cursorPosition: number, variableKey: string): {
|
|
19
|
+
nextText: string;
|
|
20
|
+
newCursorPos: number;
|
|
21
|
+
};
|
|
22
|
+
export interface VariableSuggestionMenuProps {
|
|
23
|
+
suggestions: VariableSuggestionItem[];
|
|
24
|
+
selectedIndex: number;
|
|
25
|
+
onSelect: (item: VariableSuggestionItem) => void;
|
|
26
|
+
onClose: () => void;
|
|
27
|
+
}
|
|
28
|
+
export declare const VariableSuggestionMenu: React.FC<VariableSuggestionMenuProps>;
|
|
29
|
+
export interface VariableAutocompleteInputProps extends Omit<React.InputHTMLAttributes<HTMLInputElement>, 'onChange'> {
|
|
30
|
+
value: string;
|
|
31
|
+
onChange: (value: string) => void;
|
|
32
|
+
document?: PageDocument;
|
|
33
|
+
containerClassName?: string;
|
|
34
|
+
}
|
|
35
|
+
export declare const VariableAutocompleteInput: React.FC<VariableAutocompleteInputProps>;
|
|
36
|
+
export interface VariableAutocompleteTextareaProps extends Omit<React.TextareaHTMLAttributes<HTMLTextAreaElement>, 'onChange'> {
|
|
37
|
+
value: string;
|
|
38
|
+
onChange: (value: string) => void;
|
|
39
|
+
document?: PageDocument;
|
|
40
|
+
containerClassName?: string;
|
|
41
|
+
}
|
|
42
|
+
export declare const VariableAutocompleteTextarea: React.FC<VariableAutocompleteTextareaProps>;
|
|
43
|
+
//# sourceMappingURL=variable-autocomplete-input.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"variable-autocomplete-input.d.ts","sourceRoot":"","sources":["../src/variable-autocomplete-input.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AACjF,OAAO,EAAE,YAAY,EAAQ,MAAM,iBAAiB,CAAC;AAcrD,MAAM,MAAM,gBAAgB,GAAG,MAAM,GAAG,WAAW,GAAG,UAAU,GAAG,OAAO,CAAC;AAE3E,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAMD,wBAAgB,yBAAyB,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,MAAM,EAAE,CAsBtE;AAED,wBAAgB,yBAAyB,CAAC,GAAG,CAAC,EAAE,YAAY,GAAG,sBAAsB,EAAE,CAuEtF;AAED,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,MAAM,EACb,GAAG,CAAC,EAAE,YAAY,GACjB,sBAAsB,EAAE,CAY1B;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,cAAc,EAAE,MAAM,EACtB,WAAW,EAAE,MAAM,GAClB;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,CAyB5C;AAMD,MAAM,WAAW,2BAA2B;IAC1C,WAAW,EAAE,sBAAsB,EAAE,CAAC;IACtC,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,CAAC,IAAI,EAAE,sBAAsB,KAAK,IAAI,CAAC;IACjD,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,sBAAsB,EAAE,KAAK,CAAC,EAAE,CAAC,2BAA2B,CA6GxE,CAAC;AAMF,MAAM,WAAW,8BACf,SAAQ,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,gBAAgB,CAAC,EAAE,UAAU,CAAC;IACrE,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,yBAAyB,EAAE,KAAK,CAAC,EAAE,CAAC,8BAA8B,CAmI9E,CAAC;AAMF,MAAM,WAAW,iCACf,SAAQ,IAAI,CAAC,KAAK,CAAC,sBAAsB,CAAC,mBAAmB,CAAC,EAAE,UAAU,CAAC;IAC3E,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,QAAQ,CAAC,EAAE,YAAY,CAAC;IACxB,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,eAAO,MAAM,4BAA4B,EAAE,KAAK,CAAC,EAAE,CAAC,iCAAiC,CA0HpF,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@kubuild/editor",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.2.0",
|
|
4
4
|
"description": "Visual page builder editor for KUBUILD",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.cjs",
|
|
@@ -41,10 +41,10 @@
|
|
|
41
41
|
"dependencies": {
|
|
42
42
|
"lucide-react": "^1.33.0",
|
|
43
43
|
"zustand": "^5.0.15",
|
|
44
|
-
"@kubuild/components": "0.
|
|
45
|
-
"@kubuild/
|
|
46
|
-
"@kubuild/
|
|
47
|
-
"@kubuild/
|
|
44
|
+
"@kubuild/components": "0.2.0",
|
|
45
|
+
"@kubuild/renderer": "0.2.0",
|
|
46
|
+
"@kubuild/schema": "0.2.0",
|
|
47
|
+
"@kubuild/core": "0.2.0"
|
|
48
48
|
},
|
|
49
49
|
"peerDependencies": {
|
|
50
50
|
"react": ">=18.0.0",
|