treege 2.1.0 → 3.0.0-beta.10
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 +448 -63
- package/dist/ThemeContext-BIvs8Kw-.js +758 -0
- package/dist/TreegeEditor--L4cWrS3.js +2152 -0
- package/dist/TreegeRenderer-BVaqgInZ.js +1405 -0
- package/dist/editor/components/data-display/logo.d.ts +5 -0
- package/dist/editor/components/input/ComboboxWithCreate.d.ts +21 -0
- package/dist/editor/constants/defaultNode.d.ts +11 -0
- package/dist/editor/constants/edgeTypes.d.ts +3 -0
- package/dist/editor/constants/nodeTypes.d.ts +6 -0
- package/dist/editor/context/TreegeEditorContext.d.ts +12 -0
- package/dist/editor/features/TreegeEditor/TreegeEditor.d.ts +3 -0
- package/dist/editor/features/TreegeEditor/edges/ConditionalEdge.d.ts +6 -0
- package/dist/editor/features/TreegeEditor/forms/FlowNodeForm.d.ts +2 -0
- package/dist/editor/features/TreegeEditor/forms/GroupNodeForm.d.ts +2 -0
- package/dist/editor/features/TreegeEditor/forms/HttpConfigForm.d.ts +7 -0
- package/dist/editor/features/TreegeEditor/forms/InputNodeForm.d.ts +2 -0
- package/dist/editor/features/TreegeEditor/forms/UINodeForm.d.ts +2 -0
- package/dist/editor/features/TreegeEditor/inputs/ComboboxPattern.d.ts +6 -0
- package/dist/editor/features/TreegeEditor/inputs/SelectInputType.d.ts +7 -0
- package/dist/editor/features/TreegeEditor/inputs/SelectLanguage.d.ts +7 -0
- package/dist/editor/features/TreegeEditor/inputs/SelectNodeGroup.d.ts +2 -0
- package/dist/editor/features/TreegeEditor/inputs/SelectNodeType.d.ts +2 -0
- package/dist/editor/features/TreegeEditor/nodes/FlowNode.d.ts +6 -0
- package/dist/editor/features/TreegeEditor/nodes/GroupNode.d.ts +6 -0
- package/dist/editor/features/TreegeEditor/nodes/InputNode.d.ts +6 -0
- package/dist/editor/features/TreegeEditor/nodes/UINode.d.ts +6 -0
- package/dist/editor/features/TreegeEditor/nodes/layout/NodeWrapper.d.ts +6 -0
- package/dist/editor/features/TreegeEditor/panel/ActionsPanel.d.ts +7 -0
- package/dist/editor/features/TreegeEditor/sheets/NodeActionsSheet.d.ts +2 -0
- package/dist/editor/hooks/useAvailableParentFields.d.ts +7 -0
- package/dist/editor/hooks/useEdgesSelection.d.ts +11 -0
- package/dist/editor/hooks/useFlowActions.d.ts +12 -0
- package/dist/editor/hooks/useFlowConnections.d.ts +15 -0
- package/dist/editor/hooks/useNodesSelection.d.ts +54 -0
- package/dist/editor/hooks/useTranslate.d.ts +19 -0
- package/dist/editor/index.d.ts +4 -0
- package/dist/editor/types/editor.d.ts +29 -0
- package/dist/editor.d.ts +2 -0
- package/dist/editor.js +7 -0
- package/dist/favicon.svg +12 -0
- package/dist/main.d.ts +7 -4
- package/dist/main.js +50 -7672
- package/dist/renderer/context/TreegeConfigContext.d.ts +39 -0
- package/dist/renderer/context/TreegeRendererContext.d.ts +25 -0
- package/dist/renderer/features/TreegeRenderer/native/TreegeRenderer.d.ts +13 -0
- package/dist/renderer/features/TreegeRenderer/native/components/DefaultFormWrapper.d.ts +7 -0
- package/dist/renderer/features/TreegeRenderer/native/components/DefaultGroup.d.ts +7 -0
- package/dist/renderer/features/TreegeRenderer/native/components/DefaultHttpInput.d.ts +15 -0
- package/dist/renderer/features/TreegeRenderer/native/components/DefaultInputs.d.ts +15 -0
- package/dist/renderer/features/TreegeRenderer/native/components/DefaultSubmitButton.d.ts +7 -0
- package/dist/renderer/features/TreegeRenderer/native/components/DefaultUI.d.ts +7 -0
- package/dist/renderer/features/TreegeRenderer/useTreegeRenderer.d.ts +50 -0
- package/dist/renderer/features/TreegeRenderer/web/TreegeRenderer.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/web/components/DefaultFormWrapper.d.ts +6 -0
- package/dist/renderer/features/TreegeRenderer/web/components/DefaultGroup.d.ts +6 -0
- package/dist/renderer/features/TreegeRenderer/web/components/DefaultInputs.d.ts +20 -0
- package/dist/renderer/features/TreegeRenderer/web/components/DefaultSubmitButton.d.ts +9 -0
- package/dist/renderer/features/TreegeRenderer/web/components/DefaultSubmitButtonWrapper.d.ts +10 -0
- package/dist/renderer/features/TreegeRenderer/web/components/DefaultUI.d.ts +7 -0
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultAddressInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultAutocompleteInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultCheckboxInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultDateInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultDateRangeInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultFileInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultHiddenInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultHttpInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultNumberInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultPasswordInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultRadioInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultSelectInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultSwitchInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTextAreaInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTextInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTimeInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/web/components/inputs/DefaultTimeRangeInput.d.ts +3 -0
- package/dist/renderer/hooks/useTranslate.d.ts +24 -0
- package/dist/renderer/index.d.ts +17 -0
- package/dist/renderer/types/renderer.d.ts +202 -0
- package/dist/renderer/utils/conditions.d.ts +14 -0
- package/dist/renderer/utils/file.d.ts +22 -0
- package/dist/renderer/utils/flow.d.ts +91 -0
- package/dist/renderer/utils/form.d.ts +26 -0
- package/dist/renderer/utils/node.d.ts +16 -0
- package/dist/renderer.d.ts +2 -0
- package/dist/renderer.js +45 -0
- package/dist/shared/components/ui/badge.d.ts +9 -0
- package/dist/shared/components/ui/button.d.ts +10 -0
- package/dist/shared/components/ui/calendar.d.ts +8 -0
- package/dist/shared/components/ui/checkbox.d.ts +4 -0
- package/dist/shared/components/ui/collapsible.d.ts +5 -0
- package/dist/shared/components/ui/command.d.ts +18 -0
- package/dist/shared/components/ui/dialog.d.ts +15 -0
- package/dist/shared/components/ui/dropdown-menu.d.ts +25 -0
- package/dist/shared/components/ui/form.d.ts +5 -0
- package/dist/shared/components/ui/input.d.ts +3 -0
- package/dist/shared/components/ui/label.d.ts +4 -0
- package/dist/shared/components/ui/popover.d.ts +7 -0
- package/dist/shared/components/ui/radio-group.d.ts +5 -0
- package/dist/shared/components/ui/scroll-area.d.ts +5 -0
- package/dist/shared/components/ui/select.d.ts +15 -0
- package/dist/shared/components/ui/separator.d.ts +4 -0
- package/dist/shared/components/ui/sheet.d.ts +13 -0
- package/dist/shared/components/ui/sonner.d.ts +3 -0
- package/dist/shared/components/ui/switch.d.ts +4 -0
- package/dist/shared/components/ui/textarea.d.ts +3 -0
- package/dist/shared/components/ui/tooltip.d.ts +7 -0
- package/dist/shared/constants/inputType.d.ts +19 -0
- package/dist/shared/constants/languages.d.ts +10 -0
- package/dist/shared/constants/node.d.ts +6 -0
- package/dist/shared/constants/operator.d.ts +4 -0
- package/dist/shared/constants/pattern.d.ts +7 -0
- package/dist/shared/constants/uiType.d.ts +4 -0
- package/dist/shared/context/ThemeContext.d.ts +15 -0
- package/dist/shared/hooks/useTranslate.d.ts +23 -0
- package/dist/shared/lib/utils.d.ts +2 -0
- package/dist/shared/locales/ar.json.d.ts +229 -0
- package/dist/shared/locales/de.json.d.ts +229 -0
- package/dist/shared/locales/en.json.d.ts +229 -0
- package/dist/shared/locales/es.json.d.ts +229 -0
- package/dist/shared/locales/fr.json.d.ts +229 -0
- package/dist/shared/locales/it.json.d.ts +229 -0
- package/dist/shared/locales/pt.json.d.ts +229 -0
- package/dist/shared/types/edge.d.ts +34 -0
- package/dist/shared/types/languages.d.ts +5 -0
- package/dist/shared/types/node.d.ts +171 -0
- package/dist/shared/types/operator.d.ts +9 -0
- package/dist/shared/types/translate.d.ts +9 -0
- package/dist/shared/utils/nodeTypeGuards.d.ts +22 -0
- package/dist/shared/utils/translations.d.ts +30 -0
- package/package.json +70 -41
- package/CHANGELOG.md +0 -7
- package/dist/components/DataDisplay/Icons/TreePlusIcon.d.ts +0 -7
- package/dist/components/DataDisplay/Logo/Logo.d.ts +0 -2
- package/dist/components/DataDisplay/Tree/Tree.d.ts +0 -14
- package/dist/components/DataDisplay/Tree/useTree.d.ts +0 -12
- package/dist/components/DataDisplay/TreeCard/TreeCard.d.ts +0 -14
- package/dist/components/DataDisplay/ViewerJSON/ViewerJSON.d.ts +0 -6
- package/dist/components/DataDisplay/ViewerJSON/useViewerJSON.d.ts +0 -4
- package/dist/components/DataDisplay/ViewerJSONAction/ViewerJSONAction.d.ts +0 -6
- package/dist/components/DataDisplay/ViewerJSONAction/useViewerJSONAction.d.ts +0 -11
- package/dist/components/FeedBack/MainModal/MainModal.d.ts +0 -10
- package/dist/components/FeedBack/TreeModal/TreeModal.d.ts +0 -13
- package/dist/components/Layouts/Action/Action.d.ts +0 -6
- package/dist/components/Layouts/Header/Header.d.ts +0 -6
- package/dist/components/Layouts/Main/Main.d.ts +0 -6
- package/dist/components/Layouts/MosaicLayout/MosaicLayout.d.ts +0 -6
- package/dist/components/Layouts/Sidebar/Sidebar.d.ts +0 -6
- package/dist/components/Theme/DarkTheme/DarkTheme.d.ts +0 -6
- package/dist/config/i18n.config.d.ts +0 -2
- package/dist/config/query.config.d.ts +0 -3
- package/dist/config/test.config.d.ts +0 -0
- package/dist/config/theme.config.d.ts +0 -3
- package/dist/constants/colors.d.ts +0 -10
- package/dist/constants/fields.d.ts +0 -152
- package/dist/context/Auth/AuthContext.d.ts +0 -7
- package/dist/context/Auth/AuthProvider.d.ts +0 -7
- package/dist/features/Treege/Treege.d.ts +0 -24
- package/dist/features/Treege/components/Feedback/EndPointWarning.d.ts +0 -8
- package/dist/features/Treege/components/Forms/AssignValueToChildren/AssignValueToChildren.d.ts +0 -8
- package/dist/features/Treege/components/Forms/AssignValueToChildren/Examples/ObjectMappingExample.d.ts +0 -2
- package/dist/features/Treege/components/Forms/FormTreeCardDelete/FormTreeCardDelete.d.ts +0 -5
- package/dist/features/Treege/components/Forms/FormTreeCardDelete/useFormTreeCardDelete.d.ts +0 -5
- package/dist/features/Treege/components/Forms/FormTreeCardMutation/Fields/ApiFieldsConfigAccordion.d.ts +0 -32
- package/dist/features/Treege/components/Forms/FormTreeCardMutation/Fields/ExtraField.d.ts +0 -15
- package/dist/features/Treege/components/Forms/FormTreeCardMutation/Fields/FillerFieldAccordion.d.ts +0 -14
- package/dist/features/Treege/components/Forms/FormTreeCardMutation/FormTreeCardMutation.d.ts +0 -6
- package/dist/features/Treege/components/Forms/FormTreeCardMutation/useFormTreeCardMutation.d.ts +0 -110
- package/dist/features/Treege/components/Inputs/AutocompleteSelectType/AutocompleteSelectType.d.ts +0 -12
- package/dist/features/Treege/components/Inputs/AutocompleteSelectType/index.d.ts +0 -3
- package/dist/features/Treege/components/Inputs/AutocompleteSelectType/useAutocompleteSelectType.d.ts +0 -305
- package/dist/features/Treege/components/Inputs/ButtonCreateTree/ButtonCreateTree.d.ts +0 -2
- package/dist/features/Treege/components/Inputs/ButtonCreateTree/useButtonCreateTree.d.ts +0 -4
- package/dist/features/Treege/components/Inputs/FieldSelectAutocompleteCreatable.d.ts +0 -12
- package/dist/features/Treege/components/TreeCardContainer/TreeCardContainer.d.ts +0 -8
- package/dist/features/Treege/components/TreeCardContainer/useTreeCardContainer.d.ts +0 -10
- package/dist/features/Treege/components/TreeGrid/TreeGrid.d.ts +0 -2
- package/dist/features/Treege/components/TreeGrid/useTreeGrid.d.ts +0 -9
- package/dist/features/Treege/components/TreeNameTextField/TreeNameTextField.d.ts +0 -2
- package/dist/features/Treege/components/TreeNameTextField/index.d.ts +0 -2
- package/dist/features/Treege/components/TreeNameTextField/useTreeNameTextField.d.ts +0 -9
- package/dist/features/Treege/components/TreeSelect/TreeSelect.d.ts +0 -12
- package/dist/features/Treege/components/TreeSelect/index.d.ts +0 -2
- package/dist/features/Treege/components/TreeSelect/useTreeSelect.d.ts +0 -16
- package/dist/features/Treege/context/TreegeProvider.d.ts +0 -90
- package/dist/features/Treege/reducer/treeReducer.d.ts +0 -35
- package/dist/hooks/useTreegeContext/index.d.ts +0 -3
- package/dist/hooks/useTreegeContext/useTreegeContext.d.ts +0 -2
- package/dist/locales/en/button-en.d.ts +0 -11
- package/dist/locales/en/form-en.d.ts +0 -93
- package/dist/locales/en/modal-en.d.ts +0 -9
- package/dist/locales/en/snackMessage-en.d.ts +0 -13
- package/dist/locales/en/translation-en.d.ts +0 -30
- package/dist/locales/fr/button-fr.d.ts +0 -11
- package/dist/locales/fr/form-fr.d.ts +0 -93
- package/dist/locales/fr/modal-fr.d.ts +0 -9
- package/dist/locales/fr/snackMessage-fr.d.ts +0 -13
- package/dist/locales/fr/translation-fr.d.ts +0 -30
- package/dist/main.umd.cjs +0 -97
- package/dist/services/workflows/mutation/usePatchWorkflowsMutation.d.ts +0 -12
- package/dist/services/workflows/mutation/usePostWorkflowMutation.d.ts +0 -11
- package/dist/services/workflows/query/useWorkflowQuery.d.ts +0 -10
- package/dist/services/workflows/query/useWorkflowsQuery.d.ts +0 -10
- package/dist/utils/index.d.ts +0 -3
- package/dist/utils/tree/appendNode/appendNode.d.ts +0 -83
- package/dist/utils/tree/appendNode/test/mock.d.ts +0 -16
- package/dist/utils/tree/findNodeByUUIDInTree/findNodeByUUIDInTree.d.ts +0 -8
- package/dist/utils/tree/findNodeByUUIDInTree/test/mock.d.ts +0 -12
- package/dist/utils/tree/findParentNodeByUUIDInTree/findParentNodeByUUIDInTree.d.ts +0 -9
- package/dist/utils/tree/findParentNodeByUUIDInTree/test/mock.d.ts +0 -11
- package/dist/utils/tree/getAllAncestorFromTree/getAllAncestorFromTree.d.ts +0 -12
- package/dist/utils/tree/getAllAncestorFromTree/test/mock.d.ts +0 -3
- package/dist/utils/tree/getNode/getNode.d.ts +0 -9
- package/dist/utils/tree/getNode/test/mock.d.ts +0 -12
- package/dist/utils/tree/getTree/getTree.d.ts +0 -9
- package/dist/utils/tree/getTree/test/mock.d.ts +0 -13
- package/dist/utils/tree/getUniqueTagsInTree/getUniqueTagsInTree.d.ts +0 -7
- package/dist/utils/tree/getUniqueTagsInTree/test/getUniqueTagsInTree.d.ts +0 -1
- package/dist/utils/tree/getUniqueTagsInTree/test/mock.d.ts +0 -10
- package/dist/utils/tree/index.d.ts +0 -9
- package/dist/utils/tree/removeNode/removeNode.d.ts +0 -14
- package/dist/utils/tree/removeNode/test/mock.d.ts +0 -14
- package/dist/utils/tree/updateNodeInTree/test/mock.d.ts +0 -14
- package/dist/utils/tree/updateNodeInTree/updateNodeInTree.d.ts +0 -16
- package/dist/utils/uuid/getUUID.d.ts +0 -5
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export type ComboboxOption = {
|
|
2
|
+
value?: string | null;
|
|
3
|
+
label: string;
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* Reusable Combobox component with search, create, and clear functionality
|
|
7
|
+
*/
|
|
8
|
+
declare const ComboboxWithCreate: ({ options, value, onValueChange, placeholder, searchPlaceholder, createLabel, clearLabel, emptyLabel, className, allowClear, allowCreate, }: {
|
|
9
|
+
options: ComboboxOption[];
|
|
10
|
+
value?: string | null;
|
|
11
|
+
onValueChange?: (newValue: string) => void;
|
|
12
|
+
placeholder?: string;
|
|
13
|
+
searchPlaceholder?: string;
|
|
14
|
+
createLabel?: (query: string) => string;
|
|
15
|
+
clearLabel?: string;
|
|
16
|
+
emptyLabel?: string;
|
|
17
|
+
className?: string;
|
|
18
|
+
allowClear?: boolean;
|
|
19
|
+
allowCreate?: boolean;
|
|
20
|
+
}) => import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export default ComboboxWithCreate;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
export declare const edgeTypes: {
|
|
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;
|
|
3
|
+
};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const nodeTypes: {
|
|
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, type, parentId }: import('../features/TreegeEditor/nodes/InputNode').InputNodeProps) => import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
ui: ({ data, isConnectable, type, parentId }: import('../features/TreegeEditor/nodes/UINode').UINodeProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
};
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { PropsWithChildren } from 'react';
|
|
2
|
+
export interface TreegeEditorContextValue {
|
|
3
|
+
language: string;
|
|
4
|
+
flowId?: string;
|
|
5
|
+
setFlowId?: (flow?: string) => void;
|
|
6
|
+
}
|
|
7
|
+
export interface TreegeEditorProviderProps extends PropsWithChildren {
|
|
8
|
+
value: TreegeEditorContextValue;
|
|
9
|
+
}
|
|
10
|
+
export declare const TreegeEditorContext: import('react').Context<TreegeEditorContextValue | null>;
|
|
11
|
+
export declare const TreegeEditorProvider: ({ children, value }: TreegeEditorProviderProps) => import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export declare const useTreegeEditorContext: () => TreegeEditorContextValue;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Edge, EdgeProps } from '@xyflow/react';
|
|
2
|
+
import { ConditionalEdgeData } from '../../../../shared/types/edge';
|
|
3
|
+
export type ConditionalEdgeType = Edge<ConditionalEdgeData, "conditional">;
|
|
4
|
+
export type ConditionalEdgeProps = EdgeProps<ConditionalEdgeType>;
|
|
5
|
+
declare const ConditionalEdge: ({ id, target, sourceX, sourceY, targetX, targetY, sourcePosition, targetPosition, markerEnd, style, data, }: ConditionalEdgeProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export default ConditionalEdge;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { HttpConfig } from '../../../../shared/types/node';
|
|
2
|
+
interface HttpConfigFormProps {
|
|
3
|
+
value: HttpConfig | undefined;
|
|
4
|
+
onChange: (config: HttpConfig | undefined) => void;
|
|
5
|
+
}
|
|
6
|
+
declare const HttpConfigForm: ({ value, onChange }: HttpConfigFormProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default HttpConfigForm;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { InputType } from '../../../../shared/types/node';
|
|
2
|
+
export interface SelectInputTypeProps {
|
|
3
|
+
value?: InputType;
|
|
4
|
+
onValueChange?: (value: InputType) => void;
|
|
5
|
+
}
|
|
6
|
+
declare const SelectInputType: ({ value, onValueChange }: SelectInputTypeProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default SelectInputType;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Language } from '../../../../shared/types/languages';
|
|
2
|
+
export interface SelectLanguageProps {
|
|
3
|
+
value?: Language;
|
|
4
|
+
onValueChange?: (value: Language) => void;
|
|
5
|
+
}
|
|
6
|
+
declare const SelectLanguage: ({ value, onValueChange }: SelectLanguageProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default SelectLanguage;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Node, NodeProps } from '@xyflow/react';
|
|
2
|
+
import { FlowNodeData } from '../../../../shared/types/node';
|
|
3
|
+
export type FlowNodeType = Node<FlowNodeData, "flow">;
|
|
4
|
+
export type FlowNodeProps = NodeProps<FlowNodeType>;
|
|
5
|
+
declare const FlowNode: ({ data, isConnectable, type, parentId }: FlowNodeProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export default FlowNode;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Node, NodeProps } from '@xyflow/react';
|
|
2
|
+
import { GroupNodeData } from '../../../../shared/types/node';
|
|
3
|
+
export type GroupNodeType = Node<GroupNodeData, "group">;
|
|
4
|
+
export type GroupNodeProps = NodeProps<GroupNodeType>;
|
|
5
|
+
declare const GroupNode: ({ data }: GroupNodeProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export default GroupNode;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Node, NodeProps } from '@xyflow/react';
|
|
2
|
+
import { InputNodeData } from '../../../../shared/types/node';
|
|
3
|
+
export type InputNodeType = Node<InputNodeData, "input">;
|
|
4
|
+
export type InputNodeProps = NodeProps<InputNodeType>;
|
|
5
|
+
declare const InputNode: ({ data, isConnectable, type, parentId }: InputNodeProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export default InputNode;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { Node, NodeProps } from '@xyflow/react';
|
|
2
|
+
import { UINodeData } from '../../../../shared/types/node';
|
|
3
|
+
export type UINodeType = Node<UINodeData, "ui">;
|
|
4
|
+
export type UINodeProps = NodeProps<UINodeType>;
|
|
5
|
+
declare const UINode: ({ data, isConnectable, type, parentId }: UINodeProps) => import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export default UINode;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Flow } from '../../../../shared/types/node';
|
|
2
|
+
export interface ActionsPanelProps {
|
|
3
|
+
onExportJson?: (data: Flow) => void;
|
|
4
|
+
onSave?: (data: Flow) => void;
|
|
5
|
+
}
|
|
6
|
+
declare const ActionsPanel: ({ onExportJson, onSave }: ActionsPanelProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export default ActionsPanel;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook to access flow edges selection state and derived data.
|
|
3
|
+
* Only re-renders when selection or edges change.
|
|
4
|
+
*/
|
|
5
|
+
declare const useEdgesSelection: () => {
|
|
6
|
+
edges: import('@xyflow/react').Edge[];
|
|
7
|
+
hasSelectedEdges: boolean;
|
|
8
|
+
selectedEdge: import('@xyflow/react').Edge | undefined;
|
|
9
|
+
selectedEdges: import('@xyflow/react').Edge[];
|
|
10
|
+
};
|
|
11
|
+
export default useEdgesSelection;
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Custom hook providing various actions to manipulate nodes and edges
|
|
3
|
+
* within a React Flow instance.
|
|
4
|
+
*/
|
|
5
|
+
declare const useFlowActions: () => {
|
|
6
|
+
clearSelection: () => void;
|
|
7
|
+
updateNodeData: <T extends Record<string, unknown>>(id: string, data: Partial<T>) => void;
|
|
8
|
+
updateNodeType: (id: string, type: string) => void;
|
|
9
|
+
updateSelectedNodeData: <T extends Record<string, unknown>>(data: Partial<T>) => void;
|
|
10
|
+
updateSelectedNodeType: (type: string) => void;
|
|
11
|
+
};
|
|
12
|
+
export default useFlowActions;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { OnConnect, OnConnectEnd, OnEdgesDelete } from '@xyflow/react';
|
|
2
|
+
/**
|
|
3
|
+
* Custom hook to manage flow connections, including connecting nodes,
|
|
4
|
+
* handling connection ends, and deleting edges with conditional logic.
|
|
5
|
+
*/
|
|
6
|
+
declare const useFlowConnections: () => {
|
|
7
|
+
isValidConnection: (connection: {
|
|
8
|
+
source: string;
|
|
9
|
+
target: string;
|
|
10
|
+
}) => boolean;
|
|
11
|
+
onConnect: OnConnect;
|
|
12
|
+
onConnectEnd: OnConnectEnd;
|
|
13
|
+
onEdgesDelete: OnEdgesDelete;
|
|
14
|
+
};
|
|
15
|
+
export default useFlowConnections;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { TreegeNode, TreegeNodeData } from '../../shared/types/node';
|
|
2
|
+
/**
|
|
3
|
+
* Hook to access flow nodes selection state and derived data.
|
|
4
|
+
* Only re-renders when selection or nodes change.
|
|
5
|
+
* @template TNodeData - The specific node data type to use for selectedNode
|
|
6
|
+
*/
|
|
7
|
+
declare const useNodesSelection: <TNodeData extends TreegeNodeData = TreegeNodeData>() => {
|
|
8
|
+
groupNodes: import('@xyflow/react').Node<import('../../shared/types/node').GroupNodeData, "group">[];
|
|
9
|
+
hasSelectedNodes: boolean;
|
|
10
|
+
nodes: TreegeNode[];
|
|
11
|
+
selectedNode: ({
|
|
12
|
+
id: string;
|
|
13
|
+
position: import('@xyflow/react').XYPosition;
|
|
14
|
+
data: TreegeNodeData;
|
|
15
|
+
sourcePosition?: import('@xyflow/react').Position;
|
|
16
|
+
targetPosition?: import('@xyflow/react').Position;
|
|
17
|
+
hidden?: boolean;
|
|
18
|
+
selected?: boolean;
|
|
19
|
+
dragging?: boolean;
|
|
20
|
+
draggable?: boolean;
|
|
21
|
+
selectable?: boolean;
|
|
22
|
+
connectable?: boolean;
|
|
23
|
+
deletable?: boolean;
|
|
24
|
+
dragHandle?: string;
|
|
25
|
+
width?: number;
|
|
26
|
+
height?: number;
|
|
27
|
+
initialWidth?: number;
|
|
28
|
+
initialHeight?: number;
|
|
29
|
+
parentId?: string;
|
|
30
|
+
zIndex?: number;
|
|
31
|
+
extent?: "parent" | import('@xyflow/react').CoordinateExtent | null;
|
|
32
|
+
expandParent?: boolean;
|
|
33
|
+
ariaLabel?: string;
|
|
34
|
+
origin?: import('@xyflow/react').NodeOrigin;
|
|
35
|
+
handles?: import('@xyflow/system').NodeHandle[];
|
|
36
|
+
measured?: {
|
|
37
|
+
width?: number;
|
|
38
|
+
height?: number;
|
|
39
|
+
};
|
|
40
|
+
} & {
|
|
41
|
+
type?: string | undefined;
|
|
42
|
+
} & {
|
|
43
|
+
style?: import('react').CSSProperties;
|
|
44
|
+
className?: string;
|
|
45
|
+
resizing?: boolean;
|
|
46
|
+
focusable?: boolean;
|
|
47
|
+
ariaRole?: import('react').AriaRole;
|
|
48
|
+
domAttributes?: Omit<import('react').HTMLAttributes<HTMLDivElement>, "id" | "style" | "className" | "draggable" | "role" | "aria-label" | "defaultValue" | "dangerouslySetInnerHTML" | keyof import('react').DOMAttributes<HTMLDivElement>>;
|
|
49
|
+
} & {
|
|
50
|
+
data: TNodeData;
|
|
51
|
+
}) | undefined;
|
|
52
|
+
selectedNodes: TreegeNode[];
|
|
53
|
+
};
|
|
54
|
+
export default useNodesSelection;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Hook for translating text in the editor with context-aware language preference.
|
|
3
|
+
*
|
|
4
|
+
* This hook uses the language from TreegeEditorContext and delegates to the shared useTranslate hook.
|
|
5
|
+
*
|
|
6
|
+
* @returns A function that translates either a translation key or a Translatable object
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* // Static translation (from translation files)
|
|
10
|
+
* const t = useTranslate();
|
|
11
|
+
* const saveButton = t("common.save"); // "Save"
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* // Dynamic translation (from node data)
|
|
15
|
+
* const t = useTranslate();
|
|
16
|
+
* const label = t(node.data.label); // Translates user-defined content
|
|
17
|
+
*/
|
|
18
|
+
export declare const useTranslate: (language?: string) => (key?: import('../../main').Translatable | import('../../main').TranslationKey | string) => string;
|
|
19
|
+
export default useTranslate;
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Edge, Node } from '@xyflow/react';
|
|
2
|
+
import { Flow } from '../../shared/types/node';
|
|
3
|
+
export interface TreegeEditorProps {
|
|
4
|
+
/**
|
|
5
|
+
* Default flow structure containing combined nodes and edges.
|
|
6
|
+
* Note: Individual defaultNodes/defaultEdges props take precedence over this.
|
|
7
|
+
*/
|
|
8
|
+
flow?: Flow | null;
|
|
9
|
+
/**
|
|
10
|
+
* Callback function triggered when exporting JSON data.
|
|
11
|
+
*/
|
|
12
|
+
onExportJson?: () => {
|
|
13
|
+
nodes: Node[];
|
|
14
|
+
edges: Edge[];
|
|
15
|
+
} | undefined;
|
|
16
|
+
/**
|
|
17
|
+
* Callback function triggered when saving the flow data.
|
|
18
|
+
* @param data
|
|
19
|
+
*/
|
|
20
|
+
onSave?: (data: Flow) => void;
|
|
21
|
+
/**
|
|
22
|
+
* Theme for the editor interface.
|
|
23
|
+
*/
|
|
24
|
+
theme?: "dark" | "light";
|
|
25
|
+
/**
|
|
26
|
+
* Language for the editor interface.
|
|
27
|
+
*/
|
|
28
|
+
language?: string;
|
|
29
|
+
}
|
package/dist/editor.d.ts
ADDED
package/dist/editor.js
ADDED
package/dist/favicon.svg
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
<svg width="114" height="103" viewBox="0 0 114 103" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
2
|
+
<g clip-path="url(#clip0_2_59)">
|
|
3
|
+
<path d="M102.797 28.1471L87.4678 1.50761C87.2052 1.0508 86.828 0.671162 86.3738 0.406614C85.9195 0.142066 85.4041 0.00186148 84.8791 0L29.1359 0C28.6108 0.00186148 28.0954 0.142066 27.6412 0.406614C27.1869 0.671162 26.8097 1.0508 26.5472 1.50761L11.2551 28.1471C10.9922 28.6047 10.8535 29.1237 10.853 29.6521C10.8526 30.1804 10.9903 30.6997 11.2525 31.1577C11.5147 31.6158 11.8921 31.9966 12.3469 32.262C12.8017 32.5274 13.3179 32.6681 13.8438 32.6699H100.194C100.721 32.6707 101.239 32.532 101.696 32.2676C102.153 32.0033 102.532 31.6228 102.796 31.1643C103.06 30.7058 103.199 30.1855 103.199 29.6558C103.2 29.1262 103.061 28.6058 102.797 28.1471Z" fill="#11D3B4"/>
|
|
4
|
+
<path d="M69.3919 103H84.8641C85.3929 103.002 85.913 102.864 86.3715 102.599C86.8301 102.334 87.2108 101.953 87.4753 101.492L113.595 56.0379C113.858 55.5792 113.997 55.0589 113.997 54.5292C113.997 53.9995 113.858 53.4793 113.594 53.0208C113.33 52.5623 112.95 52.1817 112.493 51.9174C112.036 51.6531 111.518 51.5143 110.991 51.5151H69.3919C68.5959 51.5151 67.8325 51.8328 67.2696 52.3982C66.7068 52.9637 66.3906 53.7306 66.3906 54.5303V99.9848C66.3906 100.784 66.7068 101.551 67.2696 102.117C67.8325 102.682 68.5959 103 69.3919 103Z" fill="#007EF6"/>
|
|
5
|
+
<path d="M44.6305 51.5H3.00136C2.47477 51.5005 1.95758 51.6403 1.50174 51.9051C1.04591 52.17 0.667454 52.5507 0.404391 53.009C0.141329 53.4672 0.00291666 53.987 0.00305186 54.516C0.00318705 55.045 0.141865 55.5647 0.405162 56.0228L26.5472 101.507C26.8097 101.964 27.187 102.344 27.6412 102.608C28.0955 102.873 28.6108 103.013 29.1359 103.015H44.6305C45.4265 103.015 46.19 102.697 46.7528 102.132C47.3157 101.566 47.6319 100.8 47.6319 99.9999V54.5077C47.6299 53.7093 47.3128 52.9443 46.7502 52.3805C46.1875 51.8166 45.4252 51.5 44.6305 51.5Z" fill="#0164A8"/>
|
|
6
|
+
</g>
|
|
7
|
+
<defs>
|
|
8
|
+
<clipPath id="clip0_2_59">
|
|
9
|
+
<rect width="114" height="103" fill="white"/>
|
|
10
|
+
</clipPath>
|
|
11
|
+
</defs>
|
|
12
|
+
</svg>
|
package/dist/main.d.ts
CHANGED
|
@@ -1,4 +1,7 @@
|
|
|
1
|
-
export
|
|
2
|
-
export * from './
|
|
3
|
-
export
|
|
4
|
-
export * from './
|
|
1
|
+
export * from './editor';
|
|
2
|
+
export * from './renderer';
|
|
3
|
+
export * from './shared/types/edge';
|
|
4
|
+
export * from './shared/types/node';
|
|
5
|
+
export * from './shared/types/translate';
|
|
6
|
+
export * from './shared/utils/nodeTypeGuards';
|
|
7
|
+
export * from './shared/utils/translations';
|