treege 3.0.0-beta.2 → 3.0.0-beta.21
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/LICENSE +18 -12
- package/README.md +118 -26
- package/dist/ThemeContext-BIT4DHqC.js +763 -0
- package/dist/TreegeEditor-LKN_xeXZ.js +3311 -0
- package/dist/TreegeRenderer-Ci_Ym86Y.js +1812 -0
- package/dist/editor/components/input/ComboboxWithCreate.d.ts +2 -1
- package/dist/editor/constants/defaultNode.d.ts +1 -1
- package/dist/editor/constants/edgeTypes.d.ts +3 -2
- package/dist/editor/constants/nodeSpacing.d.ts +20 -0
- package/dist/editor/constants/nodeTypes.d.ts +5 -5
- package/dist/editor/context/TreegeEditorContext.d.ts +15 -0
- package/dist/editor/features/TreegeEditor/TreegeEditor.d.ts +1 -1
- package/dist/editor/features/TreegeEditor/edges/ConditionalEdge.d.ts +2 -2
- package/dist/editor/features/TreegeEditor/edges/DefaultEdge.d.ts +3 -0
- package/dist/editor/features/TreegeEditor/forms/SubmitConfigForm.d.ts +7 -0
- package/dist/editor/features/TreegeEditor/inputs/ComboboxPattern.d.ts +2 -1
- package/dist/editor/features/TreegeEditor/nodes/FlowNode.d.ts +2 -2
- package/dist/editor/features/TreegeEditor/nodes/GroupNode.d.ts +2 -2
- package/dist/editor/features/TreegeEditor/nodes/InputNode.d.ts +2 -2
- package/dist/editor/features/TreegeEditor/nodes/UINode.d.ts +2 -2
- package/dist/editor/features/TreegeEditor/nodes/hooks/useBottomHandleClick.d.ts +8 -0
- package/dist/editor/features/TreegeEditor/nodes/layout/NodeWrapper.d.ts +2 -1
- package/dist/editor/features/TreegeEditor/panel/AIGeneratorDialog.d.ts +16 -0
- package/dist/editor/hooks/useFlowActions.d.ts +1 -0
- package/dist/editor/hooks/useFlowConnections.d.ts +1 -0
- package/dist/editor/types/ai.d.ts +65 -0
- package/dist/editor/types/editor.d.ts +5 -8
- package/dist/editor/utils/aiFlowGenerator.d.ts +5 -0
- package/dist/editor.js +2 -2
- package/dist/main.js +43 -39
- package/dist/renderer/context/TreegeRendererContext.d.ts +4 -1
- package/dist/renderer/features/TreegeRenderer/useTreegeRenderer.d.ts +3 -1
- package/dist/renderer/features/TreegeRenderer/web/TreegeRenderer.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/DefaultSubmitButton.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultAddressInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultAutocompleteInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultCheckboxInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultDateInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultDateRangeInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultFileInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultHiddenInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultHttpInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultNumberInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultPasswordInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultRadioInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultSelectInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultSubmitInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultSwitchInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTextAreaInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTextInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTimeInput.d.ts +1 -1
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTimeRangeInput.d.ts +1 -1
- package/dist/renderer/hooks/useSubmitHandler.d.ts +34 -0
- package/dist/renderer/hooks/useTranslate.d.ts +6 -4
- package/dist/renderer/index.d.ts +1 -0
- package/dist/renderer/types/renderer.d.ts +40 -2
- package/dist/renderer/utils/form.d.ts +22 -2
- package/dist/renderer/utils/http.d.ts +101 -0
- package/dist/renderer/utils/node.d.ts +9 -1
- package/dist/renderer/utils/sanitize.d.ts +85 -0
- package/dist/renderer/utils/submit.d.ts +47 -0
- package/dist/renderer.js +33 -29
- package/dist/shared/components/ui/alert-dialog.d.ts +14 -0
- package/dist/shared/components/ui/badge.d.ts +1 -1
- package/dist/shared/components/ui/popover.d.ts +3 -1
- package/dist/shared/components/ui/select.d.ts +3 -1
- package/dist/shared/constants/inputType.d.ts +1 -0
- package/dist/shared/locales/ar.json.d.ts +81 -8
- package/dist/shared/locales/de.json.d.ts +81 -8
- package/dist/shared/locales/en.json.d.ts +82 -9
- package/dist/shared/locales/es.json.d.ts +81 -8
- package/dist/shared/locales/fr.json.d.ts +81 -8
- package/dist/shared/locales/it.json.d.ts +81 -8
- package/dist/shared/locales/pt.json.d.ts +81 -8
- package/dist/shared/types/node.d.ts +51 -0
- package/package.json +9 -5
- package/dist/ThemeContext-BIvs8Kw-.js +0 -758
- package/dist/TreegeEditor-BSPfQQk3.js +0 -2151
- package/dist/TreegeRenderer-D3EvsEfJ.js +0 -1413
- package/dist/_name_.css +0 -1
|
@@ -5,7 +5,8 @@ export type ComboboxOption = {
|
|
|
5
5
|
/**
|
|
6
6
|
* Reusable Combobox component with search, create, and clear functionality
|
|
7
7
|
*/
|
|
8
|
-
declare const ComboboxWithCreate: ({ options, value, onValueChange, placeholder, searchPlaceholder, createLabel, clearLabel, emptyLabel, className, allowClear, allowCreate, }: {
|
|
8
|
+
declare const ComboboxWithCreate: ({ options, id, value, onValueChange, placeholder, searchPlaceholder, createLabel, clearLabel, emptyLabel, className, allowClear, allowCreate, }: {
|
|
9
|
+
id?: string;
|
|
9
10
|
options: ComboboxOption[];
|
|
10
11
|
value?: string | null;
|
|
11
12
|
onValueChange?: (newValue: string) => void;
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
-
export declare const
|
|
2
|
-
conditional: ({ id, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, markerEnd, style, data, }: import('../features/TreegeEditor/edges/ConditionalEdge').ConditionalEdgeProps) => import("react/jsx-runtime").JSX.Element
|
|
1
|
+
export declare const EDGE_TYPES: {
|
|
2
|
+
conditional: import('react').MemoExoticComponent<({ id, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, markerEnd, style, data, }: import('../features/TreegeEditor/edges/ConditionalEdge').ConditionalEdgeProps) => import("react/jsx-runtime").JSX.Element>;
|
|
3
|
+
default: import('react').MemoExoticComponent<({ id, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, style, markerEnd, selected }: import('@xyflow/react').EdgeProps) => import("react/jsx-runtime").JSX.Element>;
|
|
3
4
|
};
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Constants for node spacing and positioning in the flow editor
|
|
3
|
+
*/
|
|
4
|
+
/**
|
|
5
|
+
* Vertical spacing between nodes (in pixels)
|
|
6
|
+
* Used when creating nodes via handle click or AI generation
|
|
7
|
+
*/
|
|
8
|
+
export declare const VERTICAL_NODE_SPACING = 100;
|
|
9
|
+
/**
|
|
10
|
+
* Horizontal offset when placing sibling nodes (in pixels)
|
|
11
|
+
*/
|
|
12
|
+
export declare const HORIZONTAL_NODE_OFFSET = 50;
|
|
13
|
+
/**
|
|
14
|
+
* Horizontal spacing for AI-generated flows (in pixels)
|
|
15
|
+
*/
|
|
16
|
+
export declare const AI_HORIZONTAL_SPACING = 350;
|
|
17
|
+
/**
|
|
18
|
+
* Position tolerance for detecting nodes at the same Y position (in pixels)
|
|
19
|
+
*/
|
|
20
|
+
export declare const POSITION_TOLERANCE = 20;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
export declare const
|
|
2
|
-
flow: ({ data, isConnectable, type, parentId }: import('../features/TreegeEditor/nodes/FlowNode').FlowNodeProps) => import("react/jsx-runtime").JSX.Element
|
|
3
|
-
group: ({ data }: import('../features/TreegeEditor/nodes/GroupNode').GroupNodeProps) => import("react/jsx-runtime").JSX.Element
|
|
4
|
-
input: ({ data, isConnectable,
|
|
5
|
-
ui: ({ data, isConnectable, type, parentId }: import('../features/TreegeEditor/nodes/UINode').UINodeProps) => import("react/jsx-runtime").JSX.Element
|
|
1
|
+
export declare const NODE_TYPES: {
|
|
2
|
+
flow: import('react').MemoExoticComponent<({ data, isConnectable, type, parentId, id }: import('../features/TreegeEditor/nodes/FlowNode').FlowNodeProps) => import("react/jsx-runtime").JSX.Element>;
|
|
3
|
+
group: import('react').MemoExoticComponent<({ data }: import('../features/TreegeEditor/nodes/GroupNode').GroupNodeProps) => import("react/jsx-runtime").JSX.Element>;
|
|
4
|
+
input: import('react').MemoExoticComponent<({ data, isConnectable, parentId, id }: import('../features/TreegeEditor/nodes/InputNode').InputNodeProps) => import("react/jsx-runtime").JSX.Element>;
|
|
5
|
+
ui: import('react').MemoExoticComponent<({ data, isConnectable, type, parentId, id }: import('../features/TreegeEditor/nodes/UINode').UINodeProps) => import("react/jsx-runtime").JSX.Element>;
|
|
6
6
|
};
|
|
@@ -1,8 +1,23 @@
|
|
|
1
1
|
import { PropsWithChildren } from 'react';
|
|
2
|
+
import { AIConfig } from '../types/ai';
|
|
2
3
|
export interface TreegeEditorContextValue {
|
|
4
|
+
/**
|
|
5
|
+
* Current language
|
|
6
|
+
*/
|
|
3
7
|
language: string;
|
|
8
|
+
/**
|
|
9
|
+
* Current flow ID
|
|
10
|
+
*/
|
|
4
11
|
flowId?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Function to set the current flow ID
|
|
14
|
+
* @param flow
|
|
15
|
+
*/
|
|
5
16
|
setFlowId?: (flow?: string) => void;
|
|
17
|
+
/**
|
|
18
|
+
* AI configuration for tree generation
|
|
19
|
+
*/
|
|
20
|
+
aiConfig?: AIConfig;
|
|
6
21
|
}
|
|
7
22
|
export interface TreegeEditorProviderProps extends PropsWithChildren {
|
|
8
23
|
value: TreegeEditorContextValue;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { TreegeEditorProps } from '../../types/editor';
|
|
2
|
-
declare const TreegeEditor: ({
|
|
2
|
+
declare const TreegeEditor: ({ flow, onExportJson, onSave, theme, language, aiConfig }: TreegeEditorProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default TreegeEditor;
|
|
@@ -2,5 +2,5 @@ import { Edge, EdgeProps } from '@xyflow/react';
|
|
|
2
2
|
import { ConditionalEdgeData } from '../../../../shared/types/edge';
|
|
3
3
|
export type ConditionalEdgeType = Edge<ConditionalEdgeData, "conditional">;
|
|
4
4
|
export type ConditionalEdgeProps = EdgeProps<ConditionalEdgeType>;
|
|
5
|
-
declare const
|
|
6
|
-
export default
|
|
5
|
+
declare const _default: import('react').MemoExoticComponent<({ id, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, markerEnd, style, data, }: ConditionalEdgeProps) => import("react/jsx-runtime").JSX.Element>;
|
|
6
|
+
export default _default;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import { EdgeProps } from '@xyflow/react';
|
|
2
|
+
declare const _default: import('react').MemoExoticComponent<({ id, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, style, markerEnd, selected }: EdgeProps) => import("react/jsx-runtime").JSX.Element>;
|
|
3
|
+
export default _default;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { SubmitConfig } from '../../../../shared/types/node';
|
|
2
|
+
interface SubmitConfigFormProps {
|
|
3
|
+
value: SubmitConfig | undefined;
|
|
4
|
+
onChange: (config: SubmitConfig | undefined) => void;
|
|
5
|
+
}
|
|
6
|
+
declare const SubmitConfigForm: ({ value, onChange }: SubmitConfigFormProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default SubmitConfigForm;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
interface ComboboxPatternProps {
|
|
2
2
|
value?: string | null;
|
|
3
3
|
onValueChange?: (newValue: string) => void;
|
|
4
|
+
id?: string;
|
|
4
5
|
}
|
|
5
|
-
declare const ComboboxPattern: ({ value, onValueChange }: ComboboxPatternProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare const ComboboxPattern: ({ id, value, onValueChange }: ComboboxPatternProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
7
|
export default ComboboxPattern;
|
|
@@ -2,5 +2,5 @@ import { Node, NodeProps } from '@xyflow/react';
|
|
|
2
2
|
import { FlowNodeData } from '../../../../shared/types/node';
|
|
3
3
|
export type FlowNodeType = Node<FlowNodeData, "flow">;
|
|
4
4
|
export type FlowNodeProps = NodeProps<FlowNodeType>;
|
|
5
|
-
declare const
|
|
6
|
-
export default
|
|
5
|
+
declare const _default: import('react').MemoExoticComponent<({ data, isConnectable, type, parentId, id }: FlowNodeProps) => import("react/jsx-runtime").JSX.Element>;
|
|
6
|
+
export default _default;
|
|
@@ -2,5 +2,5 @@ import { Node, NodeProps } from '@xyflow/react';
|
|
|
2
2
|
import { GroupNodeData } from '../../../../shared/types/node';
|
|
3
3
|
export type GroupNodeType = Node<GroupNodeData, "group">;
|
|
4
4
|
export type GroupNodeProps = NodeProps<GroupNodeType>;
|
|
5
|
-
declare const
|
|
6
|
-
export default
|
|
5
|
+
declare const _default: import('react').MemoExoticComponent<({ data }: GroupNodeProps) => import("react/jsx-runtime").JSX.Element>;
|
|
6
|
+
export default _default;
|
|
@@ -2,5 +2,5 @@ import { Node, NodeProps } from '@xyflow/react';
|
|
|
2
2
|
import { InputNodeData } from '../../../../shared/types/node';
|
|
3
3
|
export type InputNodeType = Node<InputNodeData, "input">;
|
|
4
4
|
export type InputNodeProps = NodeProps<InputNodeType>;
|
|
5
|
-
declare const
|
|
6
|
-
export default
|
|
5
|
+
declare const _default: import('react').MemoExoticComponent<({ data, isConnectable, parentId, id }: InputNodeProps) => import("react/jsx-runtime").JSX.Element>;
|
|
6
|
+
export default _default;
|
|
@@ -2,5 +2,5 @@ import { Node, NodeProps } from '@xyflow/react';
|
|
|
2
2
|
import { UINodeData } from '../../../../shared/types/node';
|
|
3
3
|
export type UINodeType = Node<UINodeData, "ui">;
|
|
4
4
|
export type UINodeProps = NodeProps<UINodeType>;
|
|
5
|
-
declare const
|
|
6
|
-
export default
|
|
5
|
+
declare const _default: import('react').MemoExoticComponent<({ data, isConnectable, type, parentId, id }: UINodeProps) => import("react/jsx-runtime").JSX.Element>;
|
|
6
|
+
export default _default;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { MouseEvent } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Custom hook to handle clicks on bottom handles of nodes
|
|
4
|
+
* @param nodeId - The ID of the current node
|
|
5
|
+
* @returns Click handler for the bottom handle
|
|
6
|
+
*/
|
|
7
|
+
declare const useBottomHandleClick: (nodeId: string) => (event: MouseEvent) => void;
|
|
8
|
+
export default useBottomHandleClick;
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { PropsWithChildren } from 'react';
|
|
2
2
|
interface NodeWrapperProps extends PropsWithChildren {
|
|
3
3
|
inGroup: boolean;
|
|
4
|
+
isSubmit?: boolean;
|
|
4
5
|
}
|
|
5
|
-
declare const NodeWrapper: ({ children, inGroup }: NodeWrapperProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
declare const NodeWrapper: ({ children, inGroup, isSubmit }: NodeWrapperProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
7
|
export default NodeWrapper;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Edge, Node } from '@xyflow/react';
|
|
2
|
+
import { AIConfig } from '../../../types/ai';
|
|
3
|
+
export interface AIGeneratorDialogProps {
|
|
4
|
+
/**
|
|
5
|
+
* AI configuration from context
|
|
6
|
+
*/
|
|
7
|
+
aiConfig?: AIConfig;
|
|
8
|
+
/**
|
|
9
|
+
* Callback when tree is generated
|
|
10
|
+
*/
|
|
11
|
+
onGenerate: (data: {
|
|
12
|
+
edges: Edge[];
|
|
13
|
+
nodes: Node[];
|
|
14
|
+
}) => void;
|
|
15
|
+
}
|
|
16
|
+
export declare const AIGeneratorDialog: ({ aiConfig, onGenerate }: AIGeneratorDialogProps) => import("react/jsx-runtime").JSX.Element;
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
declare const useFlowActions: () => {
|
|
6
6
|
clearSelection: () => void;
|
|
7
|
+
deleteSelectedNode: () => void;
|
|
7
8
|
updateNodeData: <T extends Record<string, unknown>>(id: string, data: Partial<T>) => void;
|
|
8
9
|
updateNodeType: (id: string, type: string) => void;
|
|
9
10
|
updateSelectedNodeData: <T extends Record<string, unknown>>(data: Partial<T>) => void;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { Edge, Node } from '@xyflow/react';
|
|
2
|
+
/**
|
|
3
|
+
* AI Provider types for tree generation
|
|
4
|
+
*/
|
|
5
|
+
export type AIProvider = "gemini" | "openai" | "deepseek" | "claude";
|
|
6
|
+
/**
|
|
7
|
+
* AI Configuration for tree generation
|
|
8
|
+
*/
|
|
9
|
+
export interface AIConfig {
|
|
10
|
+
/**
|
|
11
|
+
* The AI provider to use
|
|
12
|
+
* @default "gemini"
|
|
13
|
+
*/
|
|
14
|
+
provider?: AIProvider;
|
|
15
|
+
/**
|
|
16
|
+
* API key for the selected provider
|
|
17
|
+
*/
|
|
18
|
+
apiKey: string;
|
|
19
|
+
/**
|
|
20
|
+
* Optional model name override
|
|
21
|
+
* - Gemini: "gemini-2.5-flash" (default), "gemini-2.5-pro-preview-03-25"
|
|
22
|
+
* - OpenAI: "gpt-4o-mini" (default), "gpt-4o", "gpt-3.5-turbo"
|
|
23
|
+
* - DeepSeek: "deepseek-chat" (default)
|
|
24
|
+
* - Claude: "claude-3-5-haiku-20241022" (default), "claude-3-5-sonnet-20241022"
|
|
25
|
+
*/
|
|
26
|
+
model?: string;
|
|
27
|
+
/**
|
|
28
|
+
* Temperature for generation (0-1, default: 0.7)
|
|
29
|
+
*/
|
|
30
|
+
temperature?: number;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* AI Generation request
|
|
34
|
+
*/
|
|
35
|
+
export interface AIGenerationRequest {
|
|
36
|
+
/**
|
|
37
|
+
* User prompt describing the desired tree/form
|
|
38
|
+
*/
|
|
39
|
+
prompt: string;
|
|
40
|
+
/**
|
|
41
|
+
* AI configuration
|
|
42
|
+
*/
|
|
43
|
+
config: AIConfig;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* AI Generation response
|
|
47
|
+
*/
|
|
48
|
+
export interface AIGenerationResponse {
|
|
49
|
+
/**
|
|
50
|
+
* Generated nodes
|
|
51
|
+
*/
|
|
52
|
+
nodes: Node[];
|
|
53
|
+
/**
|
|
54
|
+
* Generated edges
|
|
55
|
+
*/
|
|
56
|
+
edges: Edge[];
|
|
57
|
+
/**
|
|
58
|
+
* Optional explanation or metadata
|
|
59
|
+
*/
|
|
60
|
+
metadata?: {
|
|
61
|
+
explanation?: string;
|
|
62
|
+
nodesCount?: number;
|
|
63
|
+
edgesCount?: number;
|
|
64
|
+
};
|
|
65
|
+
}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Edge, Node } from '@xyflow/react';
|
|
2
|
+
import { AIConfig } from './ai';
|
|
2
3
|
import { Flow } from '../../shared/types/node';
|
|
3
4
|
export interface TreegeEditorProps {
|
|
4
5
|
/**
|
|
@@ -6,14 +7,6 @@ export interface TreegeEditorProps {
|
|
|
6
7
|
* Note: Individual defaultNodes/defaultEdges props take precedence over this.
|
|
7
8
|
*/
|
|
8
9
|
flow?: Flow | null;
|
|
9
|
-
/**
|
|
10
|
-
* Default nodes to initialize the nodes in the flow.
|
|
11
|
-
*/
|
|
12
|
-
nodes?: Node[];
|
|
13
|
-
/**
|
|
14
|
-
* Default edges to initialize the edges in the flow.
|
|
15
|
-
*/
|
|
16
|
-
edges?: Edge[];
|
|
17
10
|
/**
|
|
18
11
|
* Callback function triggered when exporting JSON data.
|
|
19
12
|
*/
|
|
@@ -34,4 +27,8 @@ export interface TreegeEditorProps {
|
|
|
34
27
|
* Language for the editor interface.
|
|
35
28
|
*/
|
|
36
29
|
language?: string;
|
|
30
|
+
/**
|
|
31
|
+
* AI configuration for tree generation
|
|
32
|
+
*/
|
|
33
|
+
aiConfig?: AIConfig;
|
|
37
34
|
}
|
package/dist/editor.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { T as o } from "./TreegeEditor-
|
|
2
|
-
import { T as m, u as s } from "./ThemeContext-
|
|
1
|
+
import { T as o } from "./TreegeEditor-LKN_xeXZ.js";
|
|
2
|
+
import { T as m, u as s } from "./ThemeContext-BIT4DHqC.js";
|
|
3
3
|
export {
|
|
4
4
|
m as ThemeProvider,
|
|
5
5
|
o as TreegeEditor,
|
package/dist/main.js
CHANGED
|
@@ -1,52 +1,56 @@
|
|
|
1
|
-
import { T as t } from "./TreegeEditor-
|
|
2
|
-
import { T as u, d as l, g as r, b as
|
|
3
|
-
import { c as
|
|
1
|
+
import { T as t } from "./TreegeEditor-LKN_xeXZ.js";
|
|
2
|
+
import { T as u, d as l, g as r, b as i, c as n, i as o, a as d, u as p } from "./ThemeContext-BIT4DHqC.js";
|
|
3
|
+
import { c as T, d as D, e as I, f as m, g, h as c, D as F, i as R, j as N, k as x, l as S, m as b, n as v, o as h, p as w, q as z, r as C, s as H, v as A, w as k, T as y, b as E, L as G, M as P, J as U, K as V, t as j, x as q, y as B, z as J, A as K, C as L, F as M, G as O, I as Q, E as W, H as X, N as Y, O as Z, B as _, u as $, a as ee } from "./TreegeRenderer-Ci_Ym86Y.js";
|
|
4
4
|
export {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
5
|
+
T as DefaultAddressInput,
|
|
6
|
+
D as DefaultAutocompleteInput,
|
|
7
|
+
I as DefaultCheckboxInput,
|
|
8
8
|
m as DefaultDateInput,
|
|
9
9
|
g as DefaultDateRangeInput,
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
c as DefaultFileInput,
|
|
11
|
+
F as DefaultGroup,
|
|
12
|
+
R as DefaultHiddenInput,
|
|
13
13
|
N as DefaultHttpInput,
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
x as DefaultNumberInput,
|
|
15
|
+
S as DefaultPasswordInput,
|
|
16
|
+
b as DefaultRadioInput,
|
|
17
|
+
v as DefaultSelectInput,
|
|
18
18
|
h as DefaultSwitchInput,
|
|
19
19
|
w as DefaultTextAreaInput,
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
z as DefaultTextInput,
|
|
21
|
+
C as DefaultTimeInput,
|
|
22
|
+
H as DefaultTimeRangeInput,
|
|
23
|
+
A as Divider,
|
|
24
24
|
u as ThemeProvider,
|
|
25
25
|
k as Title,
|
|
26
|
-
|
|
26
|
+
y as TreegeConfigProvider,
|
|
27
27
|
t as TreegeEditor,
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
U as
|
|
32
|
-
V as
|
|
33
|
-
j as
|
|
34
|
-
q as
|
|
35
|
-
B as
|
|
36
|
-
J as
|
|
37
|
-
K as
|
|
38
|
-
L as
|
|
28
|
+
E as TreegeRenderer,
|
|
29
|
+
G as applyReferenceTransformation,
|
|
30
|
+
P as calculateReferenceFieldUpdates,
|
|
31
|
+
U as checkFormFieldHasValue,
|
|
32
|
+
V as convertFormValuesToNamedFormat,
|
|
33
|
+
j as defaultInputRenderers,
|
|
34
|
+
q as defaultUI,
|
|
35
|
+
B as evaluateCondition,
|
|
36
|
+
J as evaluateConditions,
|
|
37
|
+
K as fileToSerializable,
|
|
38
|
+
L as filesToSerializable,
|
|
39
|
+
M as findStartNode,
|
|
40
|
+
O as getFlowRenderState,
|
|
39
41
|
l as getStaticTranslations,
|
|
40
42
|
r as getTranslatedText,
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
Q as isFieldEmpty,
|
|
44
|
+
i as isFlowNode,
|
|
45
|
+
n as isGroupNode,
|
|
46
|
+
o as isInputNode,
|
|
47
|
+
W as isStartNode,
|
|
46
48
|
d as isUINode,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
49
|
+
X as mergeFlows,
|
|
50
|
+
Y as sanitize,
|
|
51
|
+
Z as sanitizeHttpResponse,
|
|
52
|
+
_ as serializableToFile,
|
|
53
|
+
p as useTheme,
|
|
54
|
+
$ as useTreegeConfig,
|
|
55
|
+
ee as useTreegeRenderer
|
|
52
56
|
};
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
+
import { Node } from '@xyflow/react';
|
|
1
2
|
import { PropsWithChildren } from 'react';
|
|
2
3
|
import { FormValues } from '../types/renderer';
|
|
3
|
-
import { Flow } from '../../shared/types/node';
|
|
4
|
+
import { Flow, InputNodeData } from '../../shared/types/node';
|
|
4
5
|
export interface TreegeRendererContextValue {
|
|
5
6
|
flows?: Flow | null;
|
|
6
7
|
formErrors: Record<string, string>;
|
|
7
8
|
formValues: FormValues;
|
|
8
9
|
googleApiKey?: string;
|
|
10
|
+
inputNodes: Node<InputNodeData>[];
|
|
9
11
|
language: string;
|
|
10
12
|
setFieldValue: (fieldName: string, value: unknown) => void;
|
|
11
13
|
}
|
|
@@ -20,6 +22,7 @@ export declare const useTreegeRendererContext: () => {
|
|
|
20
22
|
formErrors: Record<string, string>;
|
|
21
23
|
formValues: FormValues;
|
|
22
24
|
googleApiKey?: string;
|
|
25
|
+
inputNodes: Node<InputNodeData>[];
|
|
23
26
|
language: string;
|
|
24
27
|
setFieldValue: (fieldName: string, value: unknown) => void;
|
|
25
28
|
};
|
|
@@ -35,9 +35,11 @@ export declare const useTreegeRenderer: (flows: Flow | Flow[] | null | undefined
|
|
|
35
35
|
inputNodes: Node<import('../../../shared/types/node').InputNodeData>[];
|
|
36
36
|
mergedFlow: Flow;
|
|
37
37
|
missingRequiredFields: string[];
|
|
38
|
+
prevFormValuesRef: import('react').RefObject<FormValues>;
|
|
38
39
|
setFieldValue: (fieldName: string, value: unknown) => void;
|
|
39
40
|
setFormErrors: import('react').Dispatch<import('react').SetStateAction<Record<string, string>>>;
|
|
40
|
-
|
|
41
|
+
setMultipleFieldValues: (updates: FormValues) => void;
|
|
42
|
+
t: (key?: import('../../../main').Translatable | string) => string;
|
|
41
43
|
validateForm: (customValidate?: (values: FormValues, visibleNodesList: Node<TreegeNodeData>[]) => Record<string, string>) => {
|
|
42
44
|
errors: {
|
|
43
45
|
[x: string]: string;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { TreegeRendererProps } from '../../../types/renderer';
|
|
2
|
-
declare const TreegeRenderer: ({ components, flows, googleApiKey,
|
|
2
|
+
declare const TreegeRenderer: ({ components, flows, googleApiKey, language, onChange, onSubmit, theme, validate, validationMode, initialValues, }: TreegeRendererProps) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default TreegeRenderer;
|
|
@@ -5,5 +5,5 @@ export interface SubmitButtonProps extends ButtonHTMLAttributes<HTMLButtonElemen
|
|
|
5
5
|
/**
|
|
6
6
|
* Default submit button
|
|
7
7
|
*/
|
|
8
|
-
declare const DefaultSubmitButton: (
|
|
8
|
+
declare const DefaultSubmitButton: import('react').ForwardRefExoticComponent<SubmitButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
9
9
|
export default DefaultSubmitButton;
|
package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultAddressInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
-
declare const DefaultAddressInput: ({ node, value, setValue, error }: InputRenderProps<"address">) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const DefaultAddressInput: ({ node, value, setValue, error, label, placeholder, helperText, id, name }: InputRenderProps<"address">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultAddressInput;
|
package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultAutocompleteInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
-
declare const DefaultAutocompleteInput: ({ node, value, setValue, error }: InputRenderProps<"autocomplete">) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const DefaultAutocompleteInput: ({ node, value, setValue, error, label, placeholder, helperText, id, }: InputRenderProps<"autocomplete">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultAutocompleteInput;
|
package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultCheckboxInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
-
declare const DefaultCheckboxInput: ({ node, value, setValue, error }: InputRenderProps<"checkbox">) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const DefaultCheckboxInput: ({ node, value, setValue, error, label, helperText, id, name }: InputRenderProps<"checkbox">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultCheckboxInput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
-
declare const DefaultDateInput: ({ node, value, setValue, error }: InputRenderProps<"date">) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const DefaultDateInput: ({ node, value, setValue, error, label, placeholder, helperText, id, name }: InputRenderProps<"date">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultDateInput;
|
package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultDateRangeInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
-
declare const DefaultDateRangeInput: ({ node, value, setValue, error }: InputRenderProps<"daterange">) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const DefaultDateRangeInput: ({ node, value, setValue, error, label, helperText, id }: InputRenderProps<"daterange">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultDateRangeInput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
-
declare const DefaultFileInput: ({ node, setValue, error }: InputRenderProps<"file">) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const DefaultFileInput: ({ node, setValue, error, label, placeholder, helperText, name, id }: InputRenderProps<"file">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultFileInput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
-
declare const DefaultHiddenInput: ({
|
|
2
|
+
declare const DefaultHiddenInput: ({ value, name, id }: InputRenderProps<"hidden">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultHiddenInput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
-
declare const DefaultHttpInput: ({ node, value, setValue, error }: InputRenderProps<"http">) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const DefaultHttpInput: ({ node, value, setValue, error, label, placeholder, helperText, id, name }: InputRenderProps<"http">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultHttpInput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
-
declare const DefaultNumberInput: ({ node, value, setValue, error }: InputRenderProps<"number">) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const DefaultNumberInput: ({ node, value, setValue, error, label, placeholder, helperText, name, id }: InputRenderProps<"number">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultNumberInput;
|
package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultPasswordInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
-
declare const DefaultPasswordInput: ({ node, value, setValue, error }: InputRenderProps<"password">) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const DefaultPasswordInput: ({ node, value, setValue, error, label, placeholder, helperText, name, id }: InputRenderProps<"password">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultPasswordInput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
-
declare const DefaultRadioInput: ({ node, value, setValue, error }: InputRenderProps<"radio">) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const DefaultRadioInput: ({ node, value, setValue, error, label, helperText, id, name }: InputRenderProps<"radio">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultRadioInput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
-
declare const DefaultSelectInput: ({ node, value, setValue, error }: InputRenderProps<"select">) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const DefaultSelectInput: ({ node, value, setValue, error, label, placeholder, helperText, name, id }: InputRenderProps<"select">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultSelectInput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
-
declare const DefaultSwitchInput: ({ node, value, setValue, error }: InputRenderProps<"switch">) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const DefaultSwitchInput: ({ node, value, setValue, error, label, helperText, name, id }: InputRenderProps<"switch">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultSwitchInput;
|
package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTextAreaInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
-
declare const DefaultTextAreaInput: ({ node, value, setValue, error }: InputRenderProps<"textarea">) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const DefaultTextAreaInput: ({ node, value, setValue, error, label, placeholder, helperText, name, id }: InputRenderProps<"textarea">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultTextAreaInput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
-
declare const DefaultTextInput: ({ node, value, setValue, error }: InputRenderProps<"text">) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const DefaultTextInput: ({ node, value, setValue, error, label, placeholder, helperText, name, id }: InputRenderProps<"text">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultTextInput;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
-
declare const DefaultTimeInput: ({ node, value, setValue, error }: InputRenderProps<"time">) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const DefaultTimeInput: ({ node, value, setValue, error, label, placeholder, helperText, name, id }: InputRenderProps<"time">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultTimeInput;
|
package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTimeRangeInput.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { InputRenderProps } from '../../../../../types/renderer';
|
|
2
|
-
declare const DefaultTimeRangeInput: ({ node, value, setValue, error }: InputRenderProps<"timerange">) => import("react/jsx-runtime").JSX.Element;
|
|
2
|
+
declare const DefaultTimeRangeInput: ({ node, value, setValue, error, label, helperText, id, name }: InputRenderProps<"timerange">) => import("react/jsx-runtime").JSX.Element;
|
|
3
3
|
export default DefaultTimeRangeInput;
|