treege 3.0.0-beta.8 → 3.0.0-beta40
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 +213 -30
- package/dist/DefaultInputs-8yJMEyMh.js +1557 -0
- package/dist/ThemeContext-Ejgu9Mwr.js +1603 -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/inputTypeIcons.d.ts +3 -0
- package/dist/editor/constants/nodeSpacing.d.ts +33 -0
- package/dist/editor/constants/nodeTypes.d.ts +5 -5
- package/dist/editor/context/TreegeEditorContext.d.ts +53 -1
- package/dist/editor/features/TreegeEditor/TreegeEditor.d.ts +1 -1
- package/dist/editor/features/TreegeEditor/dialogs/ChangeNodeTypeDialog.d.ts +2 -0
- package/dist/editor/features/TreegeEditor/dialogs/DeleteNodeDialog.d.ts +2 -0
- 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/inputs/OptionImageField.d.ts +6 -0
- package/dist/editor/features/TreegeEditor/nodes/GroupNode.d.ts +2 -2
- package/dist/editor/features/TreegeEditor/nodes/TreegeNode.d.ts +6 -0
- package/dist/editor/features/TreegeEditor/nodes/components/BottomHandleDropdown.d.ts +6 -0
- package/dist/editor/features/TreegeEditor/nodes/components/NodeInputPreview.d.ts +7 -0
- package/dist/editor/features/TreegeEditor/nodes/components/NodeLabelInput.d.ts +9 -0
- package/dist/editor/features/TreegeEditor/nodes/components/NodeMoreMenu.d.ts +6 -0
- package/dist/editor/features/TreegeEditor/nodes/components/NodeTypeBadge.d.ts +7 -0
- package/dist/editor/features/TreegeEditor/nodes/components/OptionsEditor.d.ts +7 -0
- package/dist/editor/features/TreegeEditor/nodes/components/RequiredBadge.d.ts +6 -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/useAutoLayout.d.ts +15 -0
- package/dist/editor/hooks/useFlowActions.d.ts +5 -2
- package/dist/editor/hooks/useFlowConnections.d.ts +4 -0
- package/dist/editor/hooks/useNodesSelection.d.ts +5 -5
- package/dist/editor/types/ai.d.ts +65 -0
- package/dist/editor/types/editor.d.ts +9 -8
- package/dist/editor/utils/aiFlowGenerator.d.ts +5 -0
- package/dist/editor/utils/dagreLayout.d.ts +17 -0
- package/dist/editor/utils/edge.d.ts +14 -0
- package/dist/editor/utils/image.d.ts +7 -0
- package/dist/editor/utils/inputTypeIcon.d.ts +6 -0
- package/dist/editor-DWJ95r4g.js +4001 -0
- package/dist/editor.js +3 -7
- package/dist/main.js +4 -52
- package/dist/renderer/context/TreegeRendererContext.d.ts +4 -1
- package/dist/renderer/features/TreegeRenderer/native/TreegeRenderer.d.ts +19 -11
- package/dist/renderer/features/TreegeRenderer/native/components/DefaultFormWrapper.d.ts +7 -7
- package/dist/renderer/features/TreegeRenderer/native/components/DefaultGroup.d.ts +7 -7
- package/dist/renderer/features/TreegeRenderer/native/components/DefaultInputs.d.ts +21 -15
- package/dist/renderer/features/TreegeRenderer/native/components/DefaultSubmitButton.d.ts +9 -7
- package/dist/renderer/features/TreegeRenderer/native/components/DefaultSubmitButtonWrapper.d.ts +11 -0
- package/dist/renderer/features/TreegeRenderer/native/components/DefaultUI.d.ts +8 -7
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultAddressInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultAutocompleteInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultCheckboxInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultDateInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultDateRangeInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultFileInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultHiddenInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultHttpInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultNumberInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultPasswordInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultRadioInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultSelectInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultSwitchInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTextInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTextareaInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTimeInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/native/components/inputs/DefaultTimeRangeInput.d.ts +3 -0
- package/dist/renderer/features/TreegeRenderer/useTreegeRenderer.d.ts +84 -24
- 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/useRenderNode.d.ts +55 -0
- package/dist/renderer/hooks/useSubmitHandler.d.ts +34 -0
- package/dist/renderer/hooks/useTranslate.d.ts +6 -4
- package/dist/renderer/index.d.ts +2 -0
- package/dist/renderer/index.native.d.ts +19 -0
- package/dist/renderer/types/renderer.d.ts +60 -6
- 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 +18 -1
- package/dist/renderer/utils/sanitize.d.ts +85 -0
- package/dist/renderer/utils/sanitize.native.d.ts +69 -0
- package/dist/renderer/utils/submit.d.ts +47 -0
- package/dist/renderer-native.d.ts +2 -0
- package/dist/renderer-native.js +3496 -0
- package/dist/renderer.js +3 -45
- package/dist/shared/components/ui/badge.d.ts +2 -2
- package/dist/shared/components/ui/button.d.ts +2 -2
- package/dist/shared/components/ui/collapsible.d.ts +1 -1
- package/dist/shared/components/ui/command.d.ts +1 -1
- package/dist/shared/components/ui/dropdown-menu.d.ts +1 -1
- package/dist/shared/components/ui/form.d.ts +1 -1
- package/dist/shared/components/ui/popover.d.ts +4 -2
- package/dist/shared/components/ui/select.d.ts +3 -1
- package/dist/shared/components/ui/sheet.d.ts +1 -1
- package/dist/shared/components/ui/tooltip.d.ts +1 -1
- package/dist/shared/constants/colors.d.ts +45 -0
- package/dist/shared/constants/inputType.d.ts +1 -0
- package/dist/shared/context/ThemeContext.d.ts +2 -0
- package/dist/shared/context/ThemeContext.native.d.ts +22 -0
- package/dist/shared/hooks/useThemeColors.d.ts +37 -0
- package/dist/shared/locales/ar.json.d.ts +117 -10
- package/dist/shared/locales/de.json.d.ts +118 -11
- package/dist/shared/locales/en.json.d.ts +119 -12
- package/dist/shared/locales/es.json.d.ts +118 -11
- package/dist/shared/locales/fr.json.d.ts +118 -11
- package/dist/shared/locales/it.json.d.ts +118 -11
- package/dist/shared/locales/pt.json.d.ts +118 -11
- package/dist/shared/types/edge.d.ts +6 -0
- package/dist/shared/types/node.d.ts +64 -0
- package/package.json +38 -12
- package/dist/ThemeContext-BIvs8Kw-.js +0 -758
- package/dist/TreegeEditor-Lv5Tn9_F.js +0 -2152
- package/dist/TreegeRenderer-D3EvsEfJ.js +0 -1413
- package/dist/editor/features/TreegeEditor/inputs/SelectInputType.d.ts +0 -7
- package/dist/editor/features/TreegeEditor/nodes/FlowNode.d.ts +0 -6
- package/dist/editor/features/TreegeEditor/nodes/InputNode.d.ts +0 -6
- package/dist/editor/features/TreegeEditor/nodes/UINode.d.ts +0 -6
|
@@ -1,758 +0,0 @@
|
|
|
1
|
-
import me, { useMemo as k, createContext as fe, useState as he, useEffect as L, useContext as ge } from "react";
|
|
2
|
-
import { Slot as be } from "@radix-ui/react-slot";
|
|
3
|
-
import { cva as ve } from "class-variance-authority";
|
|
4
|
-
import * as G from "@radix-ui/react-checkbox";
|
|
5
|
-
import { CheckIcon as Y, ChevronDownIcon as Q, ChevronUpIcon as ye, SearchIcon as Te } from "lucide-react";
|
|
6
|
-
import * as xe from "@radix-ui/react-label";
|
|
7
|
-
import * as E from "@radix-ui/react-popover";
|
|
8
|
-
import * as m from "@radix-ui/react-select";
|
|
9
|
-
import * as J from "@radix-ui/react-switch";
|
|
10
|
-
import { Command as T } from "cmdk";
|
|
11
|
-
import "@radix-ui/react-dialog";
|
|
12
|
-
import * as Pe from "@radix-ui/react-separator";
|
|
13
|
-
import { clsx as Se } from "clsx";
|
|
14
|
-
import { twMerge as Ce } from "tailwind-merge";
|
|
15
|
-
var D = { exports: {} }, P = {};
|
|
16
|
-
/**
|
|
17
|
-
* @license React
|
|
18
|
-
* react-jsx-runtime.production.js
|
|
19
|
-
*
|
|
20
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
21
|
-
*
|
|
22
|
-
* This source code is licensed under the MIT license found in the
|
|
23
|
-
* LICENSE file in the root directory of this source tree.
|
|
24
|
-
*/
|
|
25
|
-
var H;
|
|
26
|
-
function Ne() {
|
|
27
|
-
if (H) return P;
|
|
28
|
-
H = 1;
|
|
29
|
-
var a = Symbol.for("react.transitional.element"), o = Symbol.for("react.fragment");
|
|
30
|
-
function n(i, d, p) {
|
|
31
|
-
var g = null;
|
|
32
|
-
if (p !== void 0 && (g = "" + p), d.key !== void 0 && (g = "" + d.key), "key" in d) {
|
|
33
|
-
p = {};
|
|
34
|
-
for (var f in d)
|
|
35
|
-
f !== "key" && (p[f] = d[f]);
|
|
36
|
-
} else p = d;
|
|
37
|
-
return d = p.ref, {
|
|
38
|
-
$$typeof: a,
|
|
39
|
-
type: i,
|
|
40
|
-
key: g,
|
|
41
|
-
ref: d !== void 0 ? d : null,
|
|
42
|
-
props: p
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
return P.Fragment = o, P.jsx = n, P.jsxs = n, P;
|
|
46
|
-
}
|
|
47
|
-
var S = {};
|
|
48
|
-
/**
|
|
49
|
-
* @license React
|
|
50
|
-
* react-jsx-runtime.development.js
|
|
51
|
-
*
|
|
52
|
-
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
53
|
-
*
|
|
54
|
-
* This source code is licensed under the MIT license found in the
|
|
55
|
-
* LICENSE file in the root directory of this source tree.
|
|
56
|
-
*/
|
|
57
|
-
var $;
|
|
58
|
-
function De() {
|
|
59
|
-
return $ || ($ = 1, process.env.NODE_ENV !== "production" && (function() {
|
|
60
|
-
function a(e) {
|
|
61
|
-
if (e == null) return null;
|
|
62
|
-
if (typeof e == "function")
|
|
63
|
-
return e.$$typeof === ce ? null : e.displayName || e.name || null;
|
|
64
|
-
if (typeof e == "string") return e;
|
|
65
|
-
switch (e) {
|
|
66
|
-
case w:
|
|
67
|
-
return "Fragment";
|
|
68
|
-
case oe:
|
|
69
|
-
return "Profiler";
|
|
70
|
-
case ae:
|
|
71
|
-
return "StrictMode";
|
|
72
|
-
case ie:
|
|
73
|
-
return "Suspense";
|
|
74
|
-
case se:
|
|
75
|
-
return "SuspenseList";
|
|
76
|
-
case de:
|
|
77
|
-
return "Activity";
|
|
78
|
-
}
|
|
79
|
-
if (typeof e == "object")
|
|
80
|
-
switch (typeof e.tag == "number" && console.error(
|
|
81
|
-
"Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."
|
|
82
|
-
), e.$$typeof) {
|
|
83
|
-
case ee:
|
|
84
|
-
return "Portal";
|
|
85
|
-
case te:
|
|
86
|
-
return e.displayName || "Context";
|
|
87
|
-
case re:
|
|
88
|
-
return (e._context.displayName || "Context") + ".Consumer";
|
|
89
|
-
case ne:
|
|
90
|
-
var t = e.render;
|
|
91
|
-
return e = e.displayName, e || (e = t.displayName || t.name || "", e = e !== "" ? "ForwardRef(" + e + ")" : "ForwardRef"), e;
|
|
92
|
-
case le:
|
|
93
|
-
return t = e.displayName || null, t !== null ? t : a(e.type) || "Memo";
|
|
94
|
-
case A:
|
|
95
|
-
t = e._payload, e = e._init;
|
|
96
|
-
try {
|
|
97
|
-
return a(e(t));
|
|
98
|
-
} catch {
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
return null;
|
|
102
|
-
}
|
|
103
|
-
function o(e) {
|
|
104
|
-
return "" + e;
|
|
105
|
-
}
|
|
106
|
-
function n(e) {
|
|
107
|
-
try {
|
|
108
|
-
o(e);
|
|
109
|
-
var t = !1;
|
|
110
|
-
} catch {
|
|
111
|
-
t = !0;
|
|
112
|
-
}
|
|
113
|
-
if (t) {
|
|
114
|
-
t = console;
|
|
115
|
-
var l = t.error, c = typeof Symbol == "function" && Symbol.toStringTag && e[Symbol.toStringTag] || e.constructor.name || "Object";
|
|
116
|
-
return l.call(
|
|
117
|
-
t,
|
|
118
|
-
"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",
|
|
119
|
-
c
|
|
120
|
-
), o(e);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
function i(e) {
|
|
124
|
-
if (e === w) return "<>";
|
|
125
|
-
if (typeof e == "object" && e !== null && e.$$typeof === A)
|
|
126
|
-
return "<...>";
|
|
127
|
-
try {
|
|
128
|
-
var t = a(e);
|
|
129
|
-
return t ? "<" + t + ">" : "<...>";
|
|
130
|
-
} catch {
|
|
131
|
-
return "<...>";
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
function d() {
|
|
135
|
-
var e = O.A;
|
|
136
|
-
return e === null ? null : e.getOwner();
|
|
137
|
-
}
|
|
138
|
-
function p() {
|
|
139
|
-
return Error("react-stack-top-frame");
|
|
140
|
-
}
|
|
141
|
-
function g(e) {
|
|
142
|
-
if (V.call(e, "key")) {
|
|
143
|
-
var t = Object.getOwnPropertyDescriptor(e, "key").get;
|
|
144
|
-
if (t && t.isReactWarning) return !1;
|
|
145
|
-
}
|
|
146
|
-
return e.key !== void 0;
|
|
147
|
-
}
|
|
148
|
-
function f(e, t) {
|
|
149
|
-
function l() {
|
|
150
|
-
M || (M = !0, console.error(
|
|
151
|
-
"%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",
|
|
152
|
-
t
|
|
153
|
-
));
|
|
154
|
-
}
|
|
155
|
-
l.isReactWarning = !0, Object.defineProperty(e, "key", {
|
|
156
|
-
get: l,
|
|
157
|
-
configurable: !0
|
|
158
|
-
});
|
|
159
|
-
}
|
|
160
|
-
function F() {
|
|
161
|
-
var e = a(this.type);
|
|
162
|
-
return q[e] || (q[e] = !0, console.error(
|
|
163
|
-
"Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release."
|
|
164
|
-
)), e = this.props.ref, e !== void 0 ? e : null;
|
|
165
|
-
}
|
|
166
|
-
function h(e, t, l, c, N, z) {
|
|
167
|
-
var u = l.ref;
|
|
168
|
-
return e = {
|
|
169
|
-
$$typeof: j,
|
|
170
|
-
type: e,
|
|
171
|
-
key: t,
|
|
172
|
-
props: l,
|
|
173
|
-
_owner: c
|
|
174
|
-
}, (u !== void 0 ? u : null) !== null ? Object.defineProperty(e, "ref", {
|
|
175
|
-
enumerable: !1,
|
|
176
|
-
get: F
|
|
177
|
-
}) : Object.defineProperty(e, "ref", { enumerable: !1, value: null }), e._store = {}, Object.defineProperty(e._store, "validated", {
|
|
178
|
-
configurable: !1,
|
|
179
|
-
enumerable: !1,
|
|
180
|
-
writable: !0,
|
|
181
|
-
value: 0
|
|
182
|
-
}), Object.defineProperty(e, "_debugInfo", {
|
|
183
|
-
configurable: !1,
|
|
184
|
-
enumerable: !1,
|
|
185
|
-
writable: !0,
|
|
186
|
-
value: null
|
|
187
|
-
}), Object.defineProperty(e, "_debugStack", {
|
|
188
|
-
configurable: !1,
|
|
189
|
-
enumerable: !1,
|
|
190
|
-
writable: !0,
|
|
191
|
-
value: N
|
|
192
|
-
}), Object.defineProperty(e, "_debugTask", {
|
|
193
|
-
configurable: !1,
|
|
194
|
-
enumerable: !1,
|
|
195
|
-
writable: !0,
|
|
196
|
-
value: z
|
|
197
|
-
}), Object.freeze && (Object.freeze(e.props), Object.freeze(e)), e;
|
|
198
|
-
}
|
|
199
|
-
function b(e, t, l, c, N, z) {
|
|
200
|
-
var u = t.children;
|
|
201
|
-
if (u !== void 0)
|
|
202
|
-
if (c)
|
|
203
|
-
if (ue(u)) {
|
|
204
|
-
for (c = 0; c < u.length; c++)
|
|
205
|
-
C(u[c]);
|
|
206
|
-
Object.freeze && Object.freeze(u);
|
|
207
|
-
} else
|
|
208
|
-
console.error(
|
|
209
|
-
"React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead."
|
|
210
|
-
);
|
|
211
|
-
else C(u);
|
|
212
|
-
if (V.call(t, "key")) {
|
|
213
|
-
u = a(e);
|
|
214
|
-
var y = Object.keys(t).filter(function(pe) {
|
|
215
|
-
return pe !== "key";
|
|
216
|
-
});
|
|
217
|
-
c = 0 < y.length ? "{key: someKey, " + y.join(": ..., ") + ": ...}" : "{key: someKey}", U[u + c] || (y = 0 < y.length ? "{" + y.join(": ..., ") + ": ...}" : "{}", console.error(
|
|
218
|
-
`A props object containing a "key" prop is being spread into JSX:
|
|
219
|
-
let props = %s;
|
|
220
|
-
<%s {...props} />
|
|
221
|
-
React keys must be passed directly to JSX without using spread:
|
|
222
|
-
let props = %s;
|
|
223
|
-
<%s key={someKey} {...props} />`,
|
|
224
|
-
c,
|
|
225
|
-
u,
|
|
226
|
-
y,
|
|
227
|
-
u
|
|
228
|
-
), U[u + c] = !0);
|
|
229
|
-
}
|
|
230
|
-
if (u = null, l !== void 0 && (n(l), u = "" + l), g(t) && (n(t.key), u = "" + t.key), "key" in t) {
|
|
231
|
-
l = {};
|
|
232
|
-
for (var R in t)
|
|
233
|
-
R !== "key" && (l[R] = t[R]);
|
|
234
|
-
} else l = t;
|
|
235
|
-
return u && f(
|
|
236
|
-
l,
|
|
237
|
-
typeof e == "function" ? e.displayName || e.name || "Unknown" : e
|
|
238
|
-
), h(
|
|
239
|
-
e,
|
|
240
|
-
u,
|
|
241
|
-
l,
|
|
242
|
-
d(),
|
|
243
|
-
N,
|
|
244
|
-
z
|
|
245
|
-
);
|
|
246
|
-
}
|
|
247
|
-
function C(e) {
|
|
248
|
-
x(e) ? e._store && (e._store.validated = 1) : typeof e == "object" && e !== null && e.$$typeof === A && (e._payload.status === "fulfilled" ? x(e._payload.value) && e._payload.value._store && (e._payload.value._store.validated = 1) : e._store && (e._store.validated = 1));
|
|
249
|
-
}
|
|
250
|
-
function x(e) {
|
|
251
|
-
return typeof e == "object" && e !== null && e.$$typeof === j;
|
|
252
|
-
}
|
|
253
|
-
var v = me, j = Symbol.for("react.transitional.element"), ee = Symbol.for("react.portal"), w = Symbol.for("react.fragment"), ae = Symbol.for("react.strict_mode"), oe = Symbol.for("react.profiler"), re = Symbol.for("react.consumer"), te = Symbol.for("react.context"), ne = Symbol.for("react.forward_ref"), ie = Symbol.for("react.suspense"), se = Symbol.for("react.suspense_list"), le = Symbol.for("react.memo"), A = Symbol.for("react.lazy"), de = Symbol.for("react.activity"), ce = Symbol.for("react.client.reference"), O = v.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE, V = Object.prototype.hasOwnProperty, ue = Array.isArray, I = console.createTask ? console.createTask : function() {
|
|
254
|
-
return null;
|
|
255
|
-
};
|
|
256
|
-
v = {
|
|
257
|
-
react_stack_bottom_frame: function(e) {
|
|
258
|
-
return e();
|
|
259
|
-
}
|
|
260
|
-
};
|
|
261
|
-
var M, q = {}, _ = v.react_stack_bottom_frame.bind(
|
|
262
|
-
v,
|
|
263
|
-
p
|
|
264
|
-
)(), B = I(i(p)), U = {};
|
|
265
|
-
S.Fragment = w, S.jsx = function(e, t, l) {
|
|
266
|
-
var c = 1e4 > O.recentlyCreatedOwnerStacks++;
|
|
267
|
-
return b(
|
|
268
|
-
e,
|
|
269
|
-
t,
|
|
270
|
-
l,
|
|
271
|
-
!1,
|
|
272
|
-
c ? Error("react-stack-top-frame") : _,
|
|
273
|
-
c ? I(i(e)) : B
|
|
274
|
-
);
|
|
275
|
-
}, S.jsxs = function(e, t, l) {
|
|
276
|
-
var c = 1e4 > O.recentlyCreatedOwnerStacks++;
|
|
277
|
-
return b(
|
|
278
|
-
e,
|
|
279
|
-
t,
|
|
280
|
-
l,
|
|
281
|
-
!0,
|
|
282
|
-
c ? Error("react-stack-top-frame") : _,
|
|
283
|
-
c ? I(i(e)) : B
|
|
284
|
-
);
|
|
285
|
-
};
|
|
286
|
-
})()), S;
|
|
287
|
-
}
|
|
288
|
-
var K;
|
|
289
|
-
function Ee() {
|
|
290
|
-
return K || (K = 1, process.env.NODE_ENV === "production" ? D.exports = Ne() : D.exports = De()), D.exports;
|
|
291
|
-
}
|
|
292
|
-
var r = Ee();
|
|
293
|
-
const Sa = (a) => a?.type === "input", Ca = (a) => a?.type === "ui", Na = (a) => a?.type === "flow", Da = (a) => a?.type === "group", Fe = { cancel: "إلغاء", clear: "مسح", close: "إغلاق", create: "إنشاء", retry: "إعادة المحاولة", save: "حفظ", submit: "إرسال", toggle: "تبديل" }, we = { actionsPanel: { addNode: "إضافة عقدة", clear: "مسح التدفق", clearSuccess: "تم مسح التدفق!", clearSuccessDesc: "تم إزالة جميع العقد والحواف.", copyFailed: "فشل نسخ معرف التدفق", downloadSuccess: "تم التنزيل بنجاح.", downloadSuccessDesc: "تم تصدير التدفق بنجاح.", exportJson: "تصدير JSON", idCopied: "تم نسخ معرف التدفق!", importJson: "استيراد JSON", importSuccess: "تم الاستيراد بنجاح!", importSuccessDesc: "تم استيراد التدفق بنجاح.", invalidJson: "ملف JSON غير صالح.", invalidJsonDesc: "يجب أن يحتوي الملف على مصفوفات من العقد والحواف.", parseError: "خطأ في تحليل ملف JSON.", parseErrorDesc: "حاول إصلاح الملف واستيراده مرة أخرى." }, comboboxPattern: { custom: "مخصص: {value}", search: "البحث عن أنماط...", selectOrCreate: "اختر أو أنشئ نمطاً", usePattern: "استخدم النمط: {query}" }, comboboxWithCreate: { clearSelection: "مسح التحديد", noResults: "لم يتم العثور على نتائج" }, conditionalEdge: { addCondition: "إضافة شرط", and: "و", condition: "شرط", conditions: "الشروط", conditionsAnd: "شروط (و)", conditionsMixed: "شروط (مختلطة)", conditionsOr: "شروط (أو)", displayConditions: "عرض الشروط", displayConditionsDesc: "سيتم عرض هذا الحقل إذا تم استيفاء الشروط التالية.", fallback: "افتراضي", fallbackPath: "المسار الافتراضي / الاحتياطي", fallbackPathDesc: "سيتم اتباع هذا المسار عندما لا تتطابق أي شروط أخرى", field: "حقل", labelDesc: "تسمية مخصصة لزر الشرط", labelOptional: "التسمية (اختياري)", labelPlaceholder: "مثال: إذا كان مؤهلاً", noFieldsAvailable: "لا توجد حقول متاحة", operator: "عامل التشغيل", or: "أو", removeCondition: "إزالة الشرط", selectField: "اختر حقلاً", value: "قيمة", valuePlaceholder: "مثال: 18" }, flowNodeForm: { label: "التسمية", targetId: "معرف الوجهة", targetIdDesc: "المعرف الفريد للتدفق المستهدف." }, groupNodeForm: { label: "التسمية" }, httpConfigForm: { addHeader: "إضافة رأس", apiUrl: "رابط API", apiUrlDesc: "استخدم متغيرات القالب مثل {{fieldId}} للإشارة إلى الحقول الأخرى", apiUrlPlaceholder: "https://api.example.com/data", behavior: "السلوك", fetchOnMount: "جلب عند التحميل", headerName: "اسم الرأس", headers: "رؤوس", headerValue: "قيمة الرأس", httpMethod: "طريقة HTTP", insertVariable: "إدراج متغير", labelField: "حقل التسمية", labelFieldDesc: "الحقل المستخدم كتسمية خيار (مثال: الاسم)", labelFieldPlaceholder: "الاسم", mapToOptions: "تعيين إلى الخيارات", methodDelete: "DELETE", methodGet: "GET", methodPatch: "PATCH", methodPost: "POST", methodPut: "PUT", noFieldsAvailable: "لا توجد حقول متاحة", requestBody: "جسم الطلب (JSON)", requestBodyDesc: "استخدم متغيرات القالب مثل ${fieldId} للإشارة إلى الحقول الأخرى", requestBodyPlaceholder: '{"مفتاح": "قيمة"}', responseConfiguration: "تكوين الاستجابة", responsePath: "مسار الاستجابة", responsePathDesc: "استخراج البيانات من الاستجابة باستخدام نقطة التدوين أو فهرسة المصفوفة", responsePathPlaceholder: "data.users أو results[0]", searchParameter: "معامل البحث (اختياري)", searchParameterDesc: "إذا تم تعيينه، يتم تمكين مربع بحث يضيف هذا المعامل إلى استدعاءات API (مثال: ?q=باريس)", searchParameterPlaceholder: "q، بحث، استعلام...", selectMethod: "اختر الطريقة", showLoadingState: "إظهار حالة التحميل", valueField: "حقل القيمة", valueFieldDesc: "الحقل المستخدم كقيمة خيار (مثال: id)", valueFieldPlaceholder: "id" }, inputNodeForm: { addInputFieldsBeforeReference: "أضف حقول إدخال قبل هذه العقدة للإشارة إليها", addMapping: "إضافة تعيين", addOption: "+ إضافة خيار", advancedConfiguration: "تكوين متقدم", defaultChecked: "محدد افتراضياً", defaultValuesCommaSeparated: "القيم الافتراضية (مفصولة بفواصل)", defaultValuesPlaceholder: "قيمة1، قيمة2، قيمة3", defaultValueType: "نوع القيمة الافتراضية", defaultValueTypeNone: "لا شيء", defaultValueTypeReference: "حقل مرجعي", defaultValueTypeStatic: "قيمة ثابتة", errorMessage: "رسالة خطأ", helperText: "نص مساعد", httpConfiguration: "تكوين HTTP", label: "التسمية", multipleFiles: "ملفات متعددة", multipleSelection: "اختيار متعدد", name: "الاسم", noParentFieldsAvailable: "لا توجد حقول أصلية متاحة", objectMapping: "تعيين الكائن", objectMappingDesc: "تعيين خصائص الكائن المصدر إلى بنية جديدة", optionLabel: "التسمية", options: "خيارات", optionValue: "القيمة", pattern: "نمط", placeholder: "نص توضيحي", referenceField: "حقل مرجعي", required: "مطلوب", selectReferenceField: "اختر حقلاً", selectTransformation: "اختر التحويل", selectType: "اختر النوع", sourceKey: "مفتاح المصدر", staticValue: "قيمة ثابتة", staticValuePlaceholder: "أدخل القيمة الافتراضية", targetKey: "مفتاح الوجهة", transformArray: "تحويل إلى مصفوفة", transformBoolean: "تحويل إلى منطقي", transformDesc: "تحويل القيمة المرجعية لتتطابق مع نوع هذا الحقل", transformMapToObject: "تعيين إلى كائن", transformNone: "بدون تحويل", transformNumber: "تحويل إلى رقم", transformString: "تحويل إلى نص", transformType: "نوع التحويل", validation: "التحقق" }, selectInputType: { type: "النوع" }, selectNodeGroup: { createNewGroup: "إنشاء مجموعة جديدة", group: "مجموعة", groupAlreadyExists: "هذه المجموعة موجودة بالفعل", groupAlreadyExistsDesc: "استخدم المحدد لإضافة العقدة إلى مجموعة موجودة.", groupCreated: "تم إنشاء المجموعة", groupCreatedDesc: 'تم إنشاء المجموعة "{groupName}" بنجاح.', groupName: "اسم المجموعة", groupNamePlaceholder: "مثال: الخطوة 1 - معلومات شخصية", newGroup: "مجموعة جديدة", newGroupDescription: "سيتم إنشاء المجموعة حول العقدة المحددة.", noGroup: "بدون مجموعة" }, selectNodeType: { nodeType: "نوع العقدة" }, uiNodeForm: { label: "التسمية", type: "النوع", typeDivider: "فاصل", typeTitle: "عنوان" } }, Ae = { defaultAddressInput: { enterAddress: "أدخل عنواناً...", noAddressesFound: "لم يتم العثور على عناوين." }, defaultAutocompleteInput: { noResults: "لم يتم العثور على نتائج.", search: "بحث...", selectOption: "اختر خياراً" }, defaultHttpInput: { fetchFailed: "فشل في جلب البيانات", httpError: "HTTP {status}: {statusText}", noDataAvailable: 'لا توجد بيانات متاحة. قم بتكوين "جلب عند التحميل" أو أضف معامل بحث.', noResults: "لم يتم العثور على نتائج.", noUrlConfigured: "لم يتم تكوين رابط", retry: "إعادة المحاولة", search: "بحث...", searching: "جاري البحث...", selectOption: "اختر خياراً" }, defaultInputs: { endDate: "تاريخ الانتهاء", endTime: "وقت الانتهاء", required: "*", selectDate: "اختر التاريخ", selectDateRange: "اختر نطاق التاريخ", startDate: "تاريخ البدء", startTime: "وقت البدء" }, defaultSelectInput: { selectOption: "اختر خياراً" }, defaultSubmitButton: { requiredFieldsMissing: "حقول مطلوبة مفقودة:", submit: "إرسال" } }, Oe = { invalidFormat: "تنسيق غير صالح", required: "هذا الحقل مطلوب" }, Ie = {
|
|
294
|
-
common: Fe,
|
|
295
|
-
editor: we,
|
|
296
|
-
renderer: Ae,
|
|
297
|
-
validation: Oe
|
|
298
|
-
}, ze = { cancel: "Abbrechen", clear: "Löschen", close: "Schließen", create: "Erstellen", retry: "Erneut versuchen", save: "Speichern", submit: "Senden", toggle: "Umschalten" }, Re = { actionsPanel: { addNode: "Knoten hinzufügen", clear: "Löschen", clearSuccess: "Fluss geleert!", clearSuccessDesc: "Alle Knoten und Kanten wurden entfernt.", copyFailed: "Kopieren der Flow‑ID fehlgeschlagen", downloadSuccess: "Download erfolgreich.", downloadSuccessDesc: "Der Ablauf wurde erfolgreich exportiert.", exportJson: "JSON exportieren", idCopied: "Flow‑ID kopiert!", importJson: "JSON importieren", importSuccess: "Import erfolgreich!", importSuccessDesc: "Der Ablauf wurde erfolgreich importiert.", invalidJson: "Ungültige JSON-Datei.", invalidJsonDesc: "Die Datei muss Knoten- und Kanten-Arrays enthalten.", parseError: "Fehler beim Parsen der JSON-Datei.", parseErrorDesc: "Versuchen Sie, die Datei zu korrigieren und erneut zu importieren." }, comboboxPattern: { custom: "Benutzerdefiniert: {value}", search: "Muster suchen...", selectOrCreate: "Muster auswählen oder erstellen", usePattern: "Muster verwenden: {query}" }, comboboxWithCreate: { clearSelection: "Auswahl löschen", noResults: "Keine Ergebnisse gefunden" }, conditionalEdge: { addCondition: "Bedingung hinzufügen", and: "UND", condition: "Bedingung", conditions: "Bedingungen", conditionsAnd: "Bedingungen (UND)", conditionsMixed: "Bedingungen (gemischt)", conditionsOr: "Bedingungen (ODER)", displayConditions: "Bedingungen anzeigen", displayConditionsDesc: "Dieses Feld wird angezeigt, wenn die folgenden Bedingungen erfüllt sind.", fallback: "Standard", fallbackPath: "Standard- / Fallback-Pfad", fallbackPathDesc: "Dieser Pfad wird befolgt, wenn keine andere Bedingung zutrifft", field: "Feld", labelDesc: "Benutzerdefinierte Bezeichnung für die Bedingungsschaltfläche", labelOptional: "Bezeichnung (optional)", labelPlaceholder: "z.B.: Wenn berechtigt", noFieldsAvailable: "Keine Felder verfügbar", operator: "Operator", or: "ODER", removeCondition: "Bedingung entfernen", selectField: "Feld auswählen", value: "Wert", valuePlaceholder: "z.B.: 18" }, flowNodeForm: { label: "Bezeichnung", targetId: "Ziel-ID", targetIdDesc: "Eindeutige Kennung des Zielablaufs." }, groupNodeForm: { label: "Bezeichnung" }, httpConfigForm: { addHeader: "Header hinzufügen", apiUrl: "API-URL", apiUrlDesc: "Verwenden Sie Vorlagenvariablen wie {{fieldId}}, um andere Felder zu referenzieren", apiUrlPlaceholder: "https://api.beispiel.com/data", behavior: "Verhalten", fetchOnMount: "Beim Laden abrufen", headerName: "Header-Name", headers: "Header", headerValue: "Header-Wert", httpMethod: "HTTP-Methode", insertVariable: "Variable einfügen", labelField: "Bezeichnungsfeld", labelFieldDesc: "Feld, das als Optionsbezeichnung verwendet werden soll (z.B. name)", labelFieldPlaceholder: "name", mapToOptions: "Auf Optionen abbilden", methodDelete: "DELETE", methodGet: "GET", methodPatch: "PATCH", methodPost: "POST", methodPut: "PUT", noFieldsAvailable: "Keine Felder verfügbar", requestBody: "Anfrage-Body (JSON)", requestBodyDesc: "Verwenden Sie Vorlagenvariablen wie ${fieldId}, um andere Felder zu referenzieren", requestBodyPlaceholder: '{"schlüssel": "wert"}', responseConfiguration: "Antwort-Konfiguration", responsePath: "Antwortpfad", responsePathDesc: "Daten aus der Antwort mit Punktnotation oder Array-Indizierung extrahieren", responsePathPlaceholder: "data.users oder results[0]", searchParameter: "Suchparameter (optional)", searchParameterDesc: "Wenn festgelegt, aktiviert eine Suchbox, die diesen Parameter zu API-Aufrufen hinzufügt (z.B. ?q=Paris)", searchParameterPlaceholder: "q, suche, abfrage...", selectMethod: "Methode auswählen", showLoadingState: "Ladezustand anzeigen", valueField: "Wertfeld", valueFieldDesc: "Feld, das als Optionswert verwendet werden soll (z.B. id)", valueFieldPlaceholder: "id" }, inputNodeForm: { addInputFieldsBeforeReference: "Fügen Sie Eingabefelder vor diesem Knoten hinzu, um sie zu referenzieren", addMapping: "Zuordnung hinzufügen", addOption: "+ Option hinzufügen", advancedConfiguration: "Erweiterte Konfiguration", defaultChecked: "Standardmäßig aktiviert", defaultValuesCommaSeparated: "Standardwerte (durch Kommas getrennt)", defaultValuesPlaceholder: "wert1, wert2, wert3", defaultValueType: "Standardwerttyp", defaultValueTypeNone: "Keiner", defaultValueTypeReference: "Referenzfeld", defaultValueTypeStatic: "Statischer Wert", errorMessage: "Fehlermeldung", helperText: "Hilfetext", httpConfiguration: "HTTP-Konfiguration", label: "Bezeichnung", multipleFiles: "Mehrere Dateien", multipleSelection: "Mehrfachauswahl", name: "Name", noParentFieldsAvailable: "Keine übergeordneten Felder verfügbar", objectMapping: "Objektzuordnung", objectMappingDesc: "Eigenschaften des Quellobjekts auf eine neue Struktur abbilden", optionLabel: "Bezeichnung", options: "Optionen", optionValue: "Wert", pattern: "Muster", placeholder: "Platzhalter", referenceField: "Referenzfeld", required: "Erforderlich", selectReferenceField: "Feld auswählen", selectTransformation: "Transformation auswählen", selectType: "Typ auswählen", sourceKey: "Quellschlüssel", staticValue: "Statischer Wert", staticValuePlaceholder: "Standardwert eingeben", targetKey: "Zielschlüssel", transformArray: "In Array konvertieren", transformBoolean: "In Boolean konvertieren", transformDesc: "Den referenzierten Wert transformieren, um dem Typ dieses Feldes zu entsprechen", transformMapToObject: "Auf Objekt abbilden", transformNone: "Keine Transformation", transformNumber: "In Zahl konvertieren", transformString: "In String konvertieren", transformType: "Transformationstyp", validation: "Validierung" }, selectInputType: { type: "Typ" }, selectNodeGroup: { createNewGroup: "Neue Gruppe erstellen", group: "Gruppe", groupAlreadyExists: "Diese Gruppe existiert bereits", groupAlreadyExistsDesc: "Verwenden Sie den Selektor, um den Knoten zu einer vorhandenen Gruppe hinzuzufügen.", groupCreated: "Gruppe erstellt", groupCreatedDesc: 'Die Gruppe "{groupName}" wurde erfolgreich erstellt.', groupName: "Gruppenname", groupNamePlaceholder: "z.B.: Schritt 1 - Persönliche Informationen", newGroup: "Neue Gruppe", newGroupDescription: "Die Gruppe wird um den ausgewählten Knoten herum erstellt.", noGroup: "Keine Gruppe" }, selectNodeType: { nodeType: "Knotentyp" }, uiNodeForm: { label: "Bezeichnung", type: "Typ", typeDivider: "Trennlinie", typeTitle: "Titel" } }, ke = { defaultAddressInput: { enterAddress: "Geben Sie eine Adresse ein...", noAddressesFound: "Keine Adressen gefunden." }, defaultAutocompleteInput: { noResults: "Keine Ergebnisse gefunden.", search: "Suchen...", selectOption: "Option auswählen" }, defaultHttpInput: { fetchFailed: "Fehler beim Abrufen der Daten", httpError: "HTTP {status}: {statusText}", noDataAvailable: 'Keine Daten verfügbar. Konfigurieren Sie "Beim Laden abrufen" oder fügen Sie einen Suchparameter hinzu.', noResults: "Keine Ergebnisse gefunden.", noUrlConfigured: "Keine URL konfiguriert", retry: "Erneut versuchen", search: "Suchen...", searching: "Suche läuft...", selectOption: "Option auswählen" }, defaultInputs: { endDate: "Enddatum", endTime: "Endzeit", required: "*", selectDate: "Datum auswählen", selectDateRange: "Datumsbereich auswählen", startDate: "Startdatum", startTime: "Startzeit" }, defaultSelectInput: { selectOption: "Option auswählen" }, defaultSubmitButton: { requiredFieldsMissing: "Erforderliche Felder fehlen", submit: "Senden" } }, je = { invalidFormat: "Ungültiges Format", required: "Dieses Feld ist erforderlich" }, Ve = {
|
|
299
|
-
common: ze,
|
|
300
|
-
editor: Re,
|
|
301
|
-
renderer: ke,
|
|
302
|
-
validation: je
|
|
303
|
-
}, Me = { cancel: "Cancel", clear: "Clear", close: "Close", create: "Create", retry: "Retry", save: "Save", submit: "Submit", toggle: "Toggle" }, qe = { actionsPanel: { addNode: "Add Node", clear: "Clear", clearSuccess: "Flow cleared!", clearSuccessDesc: "All nodes and edges have been removed.", copyFailed: "Failed to copy Flow ID", downloadSuccess: "Download successfully.", downloadSuccessDesc: "The flow has been exported successfully.", exportJson: "Export JSON", idCopied: "Flow ID copied!", importJson: "Import JSON", importSuccess: "Import successful!", importSuccessDesc: "The flow has been imported successfully.", invalidJson: "Invalid JSON file.", invalidJsonDesc: "The file must contain nodes and edges arrays.", parseError: "Error parsing JSON file.", parseErrorDesc: "Try to fix the file and import it again." }, comboboxPattern: { custom: "Custom: {value}", search: "Search patterns...", selectOrCreate: "Select or create a pattern", usePattern: "Use pattern: {query}" }, comboboxWithCreate: { clearSelection: "Clear selection", noResults: "No results found" }, conditionalEdge: { addCondition: "Add condition", and: "AND", condition: "Condition", conditions: "Conditions", conditionsAnd: "conditions (AND)", conditionsMixed: "conditions (mixed)", conditionsOr: "conditions (OR)", displayConditions: "Display conditions", displayConditionsDesc: "This field will be shown if the following conditions are met.", fallback: "Fallback", fallbackPath: "Fallback / Default path", fallbackPathDesc: "This path will be followed when no other conditions match", field: "Field", labelDesc: "Custom label for the condition button", labelOptional: "Label (optional)", labelPlaceholder: "Ex: If eligible", noFieldsAvailable: "No fields available", operator: "Operator", or: "OR", removeCondition: "Remove condition", selectField: "Select a field", value: "Value", valuePlaceholder: "Ex: 18" }, flowNodeForm: { label: "Label", targetId: "Target id", targetIdDesc: "Unique identifier of the target flow." }, groupNodeForm: { label: "Label" }, httpConfigForm: { addHeader: "Add header", apiUrl: "API URL", apiUrlDesc: "Use template variables like {{fieldId}} to reference other fields", apiUrlPlaceholder: "https://api.example.com/data", behavior: "Behavior", fetchOnMount: "Fetch on mount", headerName: "Header name", headers: "Headers", headerValue: "Header value", httpMethod: "HTTP Method", insertVariable: "Insert variable", labelField: "Label Field", labelFieldDesc: "Field to use as option label (e.g., name)", labelFieldPlaceholder: "name", mapToOptions: "Map to Options", methodDelete: "DELETE", methodGet: "GET", methodPatch: "PATCH", methodPost: "POST", methodPut: "PUT", noFieldsAvailable: "No fields available", requestBody: "Request Body (JSON)", requestBodyDesc: "Use template variables like ${fieldId} to reference other fields", requestBodyPlaceholder: '{"key": "value"}', responseConfiguration: "Response Configuration", responsePath: "Response Path", responsePathDesc: "Extract data from response using dot notation or array indexing", responsePathPlaceholder: "data.users or results[0]", searchParameter: "Search Parameter (optional)", searchParameterDesc: "If set, enables combobox with search that adds this param to API calls (e.g., ?q=Paris)", searchParameterPlaceholder: "q, search, query...", selectMethod: "Select method", showLoadingState: "Show loading state", valueField: "Value Field", valueFieldDesc: "Field to use as option value (e.g., id)", valueFieldPlaceholder: "id" }, inputNodeForm: { addInputFieldsBeforeReference: "Add input fields before this node to reference them", addMapping: "Add Mapping", addOption: "+ Add option", advancedConfiguration: "Advanced Configuration", defaultChecked: "Default Checked", defaultValuesCommaSeparated: "Default Values (comma-separated)", defaultValuesPlaceholder: "value1, value2, value3", defaultValueType: "Default Value Type", defaultValueTypeNone: "None", defaultValueTypeReference: "Reference Field", defaultValueTypeStatic: "Static Value", errorMessage: "Error message", helperText: "Helper text", httpConfiguration: "HTTP Configuration", label: "Label", multipleFiles: "Multiple files", multipleSelection: "Multiple selection", name: "Name", noParentFieldsAvailable: "No parent fields available", objectMapping: "Object Mapping", objectMappingDesc: "Map properties from the source object to a new structure", optionLabel: "Label", options: "Options", optionValue: "Value", pattern: "Pattern", placeholder: "Placeholder", referenceField: "Reference Field", required: "Required", selectReferenceField: "Select a field", selectTransformation: "Select transformation", selectType: "Select type", sourceKey: "Source key", staticValue: "Static Value", staticValuePlaceholder: "Enter default value", targetKey: "Target key", transformArray: "Convert to Array", transformBoolean: "Convert to Boolean", transformDesc: "Transform the referenced value to match this field's type", transformMapToObject: "Map to Object", transformNone: "No transformation", transformNumber: "Convert to Number", transformString: "Convert to String", transformType: "Transform Type", validation: "Validation" }, selectInputType: { type: "Type" }, selectNodeGroup: { createNewGroup: "Create a new group", group: "Group", groupAlreadyExists: "This group already exists", groupAlreadyExistsDesc: "Use the selector to add the node to an existing group.", groupCreated: "Group created", groupCreatedDesc: 'The group "{groupName}" has been created successfully.', groupName: "Group name", groupNamePlaceholder: "Ex: Step 1 - Personal info", newGroup: "New group", newGroupDescription: "The group will be created around the selected node.", noGroup: "No group" }, selectNodeType: { nodeType: "Node Type" }, uiNodeForm: { label: "Label", type: "Type", typeDivider: "Divider", typeTitle: "Title" } }, _e = { defaultAddressInput: { enterAddress: "Enter an address...", noAddressesFound: "No addresses found." }, defaultAutocompleteInput: { noResults: "No results found.", search: "Search...", selectOption: "Select an option" }, defaultHttpInput: { fetchFailed: "Failed to fetch data", httpError: "HTTP {status}: {statusText}", noDataAvailable: 'No data available. Configure "Fetch on mount" or add a search parameter.', noResults: "No results found.", noUrlConfigured: "No URL configured", retry: "Retry", search: "Search...", searching: "Search...", selectOption: "Select an option" }, defaultInputs: { endDate: "End date", endTime: "End time", required: "*", selectDate: "Select date", selectDateRange: "Select date range", startDate: "Start date", startTime: "Start time" }, defaultSelectInput: { selectOption: "Select an option" }, defaultSubmitButton: { requiredFieldsMissing: "Required fields missing", submit: "Submit" } }, Be = { invalidFormat: "Invalid format", required: "This field is required" }, Ue = {
|
|
304
|
-
common: Me,
|
|
305
|
-
editor: qe,
|
|
306
|
-
renderer: _e,
|
|
307
|
-
validation: Be
|
|
308
|
-
}, Le = { cancel: "Cancelar", clear: "Limpiar", close: "Cerrar", create: "Crear", retry: "Reintentar", save: "Guardar", submit: "Enviar", toggle: "Alternar" }, Ge = { actionsPanel: { addNode: "Agregar nodo", clear: "Limpiar", clearSuccess: "¡Flujo limpiado!", clearSuccessDesc: "Todos los nodos y aristas han sido eliminados.", copyFailed: "No se pudo copiar el ID del flujo", downloadSuccess: "Descarga exitosa.", downloadSuccessDesc: "El flujo se ha exportado correctamente.", exportJson: "Exportar JSON", idCopied: "ID del flujo copiado!", importJson: "Importar JSON", importSuccess: "¡Importación exitosa!", importSuccessDesc: "El flujo se ha importado correctamente.", invalidJson: "Archivo JSON inválido.", invalidJsonDesc: "El archivo debe contener matrices de nodos y aristas.", parseError: "Error al analizar el archivo JSON.", parseErrorDesc: "Intenta corregir el archivo e importarlo nuevamente." }, comboboxPattern: { custom: "Personalizado: {value}", search: "Buscar patrones...", selectOrCreate: "Seleccionar o crear un patrón", usePattern: "Usar patrón: {query}" }, comboboxWithCreate: { clearSelection: "Limpiar selección", noResults: "No se encontraron resultados" }, conditionalEdge: { addCondition: "Agregar condición", and: "Y", condition: "Condición", conditions: "Condiciones", conditionsAnd: "condiciones (Y)", conditionsMixed: "condiciones (mixtas)", conditionsOr: "condiciones (O)", displayConditions: "Mostrar condiciones", displayConditionsDesc: "Este campo se mostrará si se cumplen las siguientes condiciones.", fallback: "Predeterminado", fallbackPath: "Ruta predeterminada / de respaldo", fallbackPathDesc: "Esta ruta se seguirá cuando ninguna otra condición coincida", field: "Campo", labelDesc: "Etiqueta personalizada para el botón de condición", labelOptional: "Etiqueta (opcional)", labelPlaceholder: "Ej: Si es elegible", noFieldsAvailable: "No hay campos disponibles", operator: "Operador", or: "O", removeCondition: "Eliminar condición", selectField: "Seleccionar un campo", value: "Valor", valuePlaceholder: "Ej: 18" }, flowNodeForm: { label: "Etiqueta", targetId: "ID de destino", targetIdDesc: "Identificador único del flujo de destino." }, groupNodeForm: { label: "Etiqueta" }, httpConfigForm: { addHeader: "Agregar encabezado", apiUrl: "URL de la API", apiUrlDesc: "Use variables de plantilla como {{fieldId}} para referenciar otros campos", apiUrlPlaceholder: "https://api.ejemplo.com/data", behavior: "Comportamiento", fetchOnMount: "Cargar al montar", headerName: "Nombre del encabezado", headers: "Encabezados", headerValue: "Valor del encabezado", httpMethod: "Método HTTP", insertVariable: "Insertar variable", labelField: "Campo de etiqueta", labelFieldDesc: "Campo a usar como etiqueta de opción (ej: nombre)", labelFieldPlaceholder: "nombre", mapToOptions: "Mapear a opciones", methodDelete: "DELETE", methodGet: "GET", methodPatch: "PATCH", methodPost: "POST", methodPut: "PUT", noFieldsAvailable: "No hay campos disponibles", requestBody: "Cuerpo de la solicitud (JSON)", requestBodyDesc: "Use variables de plantilla como ${fieldId} para referenciar otros campos", requestBodyPlaceholder: '{"clave": "valor"}', responseConfiguration: "Configuración de respuesta", responsePath: "Ruta de respuesta", responsePathDesc: "Extraer datos de la respuesta usando notación de puntos o indexación de matriz", responsePathPlaceholder: "data.users o results[0]", searchParameter: "Parámetro de búsqueda (opcional)", searchParameterDesc: "Si se configura, habilita un cuadro de búsqueda que agrega este parámetro a las llamadas API (ej: ?q=París)", searchParameterPlaceholder: "q, buscar, consulta...", selectMethod: "Seleccionar método", showLoadingState: "Mostrar estado de carga", valueField: "Campo de valor", valueFieldDesc: "Campo a usar como valor de opción (ej: id)", valueFieldPlaceholder: "id" }, inputNodeForm: { addInputFieldsBeforeReference: "Agregue campos de entrada antes de este nodo para referenciarlos", addMapping: "Agregar mapeo", addOption: "+ Agregar opción", advancedConfiguration: "Configuración avanzada", defaultChecked: "Marcado por defecto", defaultValuesCommaSeparated: "Valores predeterminados (separados por comas)", defaultValuesPlaceholder: "valor1, valor2, valor3", defaultValueType: "Tipo de valor predeterminado", defaultValueTypeNone: "Ninguno", defaultValueTypeReference: "Campo de referencia", defaultValueTypeStatic: "Valor estático", errorMessage: "Mensaje de error", helperText: "Texto de ayuda", httpConfiguration: "Configuración HTTP", label: "Etiqueta", multipleFiles: "Archivos múltiples", multipleSelection: "Selección múltiple", name: "Nombre", noParentFieldsAvailable: "No hay campos principales disponibles", objectMapping: "Mapeo de objetos", objectMappingDesc: "Mapear las propiedades del objeto de origen a una nueva estructura", optionLabel: "Etiqueta", options: "Opciones", optionValue: "Valor", pattern: "Patrón", placeholder: "Marcador de posición", referenceField: "Campo de referencia", required: "Obligatorio", selectReferenceField: "Seleccionar un campo", selectTransformation: "Seleccionar transformación", selectType: "Seleccionar tipo", sourceKey: "Clave de origen", staticValue: "Valor estático", staticValuePlaceholder: "Ingrese el valor predeterminado", targetKey: "Clave de destino", transformArray: "Convertir a matriz", transformBoolean: "Convertir a booleano", transformDesc: "Transformar el valor referenciado para que coincida con el tipo de este campo", transformMapToObject: "Mapear a objeto", transformNone: "Sin transformación", transformNumber: "Convertir a número", transformString: "Convertir a texto", transformType: "Tipo de transformación", validation: "Validación" }, selectInputType: { type: "Tipo" }, selectNodeGroup: { createNewGroup: "Crear un nuevo grupo", group: "Grupo", groupAlreadyExists: "Este grupo ya existe", groupAlreadyExistsDesc: "Use el selector para agregar el nodo a un grupo existente.", groupCreated: "Grupo creado", groupCreatedDesc: 'El grupo "{groupName}" se ha creado correctamente.', groupName: "Nombre del grupo", groupNamePlaceholder: "Ej: Paso 1 - Información personal", newGroup: "Nuevo grupo", newGroupDescription: "El grupo se creará alrededor del nodo seleccionado.", noGroup: "Sin grupo" }, selectNodeType: { nodeType: "Tipo de nodo" }, uiNodeForm: { label: "Etiqueta", type: "Tipo", typeDivider: "Divisor", typeTitle: "Título" } }, Je = { defaultAddressInput: { enterAddress: "Ingrese una dirección...", noAddressesFound: "No se encontraron direcciones." }, defaultAutocompleteInput: { noResults: "No se encontraron resultados.", search: "Buscar...", selectOption: "Seleccionar una opción" }, defaultHttpInput: { fetchFailed: "Error al obtener los datos", httpError: "HTTP {status}: {statusText}", noDataAvailable: 'No hay datos disponibles. Configure "Cargar al montar" o agregue un parámetro de búsqueda.', noResults: "No se encontraron resultados.", noUrlConfigured: "No hay URL configurada", retry: "Reintentar", search: "Buscar...", searching: "Buscando...", selectOption: "Seleccionar una opción" }, defaultInputs: { endDate: "Fecha de fin", endTime: "Hora de fin", required: "*", selectDate: "Seleccionar fecha", selectDateRange: "Seleccionar rango de fechas", startDate: "Fecha de inicio", startTime: "Hora de inicio" }, defaultSelectInput: { selectOption: "Seleccionar una opción" }, defaultSubmitButton: { requiredFieldsMissing: "Faltan campos obligatorios", submit: "Enviar" } }, He = { invalidFormat: "Formato inválido", required: "Este campo es obligatorio" }, $e = {
|
|
309
|
-
common: Le,
|
|
310
|
-
editor: Ge,
|
|
311
|
-
renderer: Je,
|
|
312
|
-
validation: He
|
|
313
|
-
}, Ke = { cancel: "Annuler", clear: "Effacer", close: "Fermer", create: "Créer", retry: "Réessayer", save: "Enregistrer", submit: "Soumettre", toggle: "Basculer" }, We = { actionsPanel: { addNode: "Ajouter un nœud", clear: "Supprimer", clearSuccess: "Flux vidé !", clearSuccessDesc: "Tous les nœuds et arêtes ont été supprimés.", copyFailed: "Échec de la copie de l'ID du flux", downloadSuccess: "Téléchargement réussi.", downloadSuccessDesc: "Le flux a été exporté avec succès.", exportJson: "Exporter JSON", idCopied: "ID du flux copié !", importJson: "Importer JSON", importSuccess: "Importation réussie !", importSuccessDesc: "Le flux a été importé avec succès.", invalidJson: "Fichier JSON invalide.", invalidJsonDesc: "Le fichier doit contenir des tableaux de nœuds et d'arêtes.", parseError: "Erreur d'analyse du fichier JSON.", parseErrorDesc: "Essayez de corriger le fichier et de l'importer à nouveau." }, comboboxPattern: { custom: "Personnalisé : {value}", search: "Rechercher des motifs...", selectOrCreate: "Sélectionner ou créer un motif", usePattern: "Utiliser le motif : {query}" }, comboboxWithCreate: { clearSelection: "Effacer la sélection", noResults: "Aucun résultat trouvé" }, conditionalEdge: { addCondition: "Ajouter une condition", and: "ET", condition: "Condition", conditions: "Conditions", conditionsAnd: "conditions (ET)", conditionsMixed: "conditions (mixtes)", conditionsOr: "conditions (OU)", displayConditions: "Afficher les conditions", displayConditionsDesc: "Ce champ sera affiché si les conditions suivantes sont remplies.", fallback: "Par défaut", fallbackPath: "Chemin par défaut / de secours", fallbackPathDesc: "Ce chemin sera suivi lorsqu'aucune autre condition ne correspond", field: "Champ", labelDesc: "Libellé personnalisé pour le bouton de condition", labelOptional: "Libellé (optionnel)", labelPlaceholder: "Ex : Si éligible", noFieldsAvailable: "Aucun champ disponible", operator: "Opérateur", or: "OU", removeCondition: "Supprimer la condition", selectField: "Sélectionner un champ", value: "Valeur", valuePlaceholder: "Ex : 18" }, flowNodeForm: { label: "Libellé", targetId: "ID cible", targetIdDesc: "Identifiant unique du flux cible." }, groupNodeForm: { label: "Libellé" }, httpConfigForm: { addHeader: "Ajouter un en-tête", apiUrl: "URL de l'API", apiUrlDesc: "Utilisez des variables de modèle comme {{fieldId}} pour référencer d'autres champs", apiUrlPlaceholder: "https://api.exemple.com/data", behavior: "Comportement", fetchOnMount: "Charger au montage", headerName: "Nom de l'en-tête", headers: "En-têtes", headerValue: "Valeur de l'en-tête", httpMethod: "Méthode HTTP", insertVariable: "Insérer une variable", labelField: "Champ de libellé", labelFieldDesc: "Champ à utiliser comme libellé d'option (ex : nom)", labelFieldPlaceholder: "nom", mapToOptions: "Mapper vers les options", methodDelete: "DELETE", methodGet: "GET", methodPatch: "PATCH", methodPost: "POST", methodPut: "PUT", noFieldsAvailable: "Aucun champ disponible", requestBody: "Corps de la requête (JSON)", requestBodyDesc: "Utilisez des variables de modèle comme ${fieldId} pour référencer d'autres champs", requestBodyPlaceholder: '{"clé": "valeur"}', responseConfiguration: "Configuration de la réponse", responsePath: "Chemin de la réponse", responsePathDesc: "Extraire les données de la réponse en utilisant la notation par points ou l'indexation de tableau", responsePathPlaceholder: "data.users ou results[0]", searchParameter: "Paramètre de recherche (optionnel)", searchParameterDesc: "Si défini, active une zone de recherche qui ajoute ce paramètre aux appels API (ex : ?q=Paris)", searchParameterPlaceholder: "q, recherche, requête...", selectMethod: "Sélectionner une méthode", showLoadingState: "Afficher l'état de chargement", valueField: "Champ de valeur", valueFieldDesc: "Champ à utiliser comme valeur d'option (ex : id)", valueFieldPlaceholder: "id" }, inputNodeForm: { addInputFieldsBeforeReference: "Ajoutez des champs de saisie avant ce nœud pour les référencer", addMapping: "Ajouter un mappage", addOption: "+ Ajouter une option", advancedConfiguration: "Configuration avancée", defaultChecked: "Coché par défaut", defaultValuesCommaSeparated: "Valeurs par défaut (séparées par des virgules)", defaultValuesPlaceholder: "valeur1, valeur2, valeur3", defaultValueType: "Type de valeur par défaut", defaultValueTypeNone: "Aucun", defaultValueTypeReference: "Champ de référence", defaultValueTypeStatic: "Valeur statique", errorMessage: "Message d'erreur", helperText: "Texte d'aide", httpConfiguration: "Configuration HTTP", label: "Libellé", multipleFiles: "Fichiers multiples", multipleSelection: "Sélection multiple", name: "Nom", noParentFieldsAvailable: "Aucun champ parent disponible", objectMapping: "Mappage d'objet", objectMappingDesc: "Mapper les propriétés de l'objet source vers une nouvelle structure", optionLabel: "Libellé", options: "Options", optionValue: "Valeur", pattern: "Motif", placeholder: "Texte indicatif", referenceField: "Champ de référence", required: "Requis", selectReferenceField: "Sélectionner un champ", selectTransformation: "Sélectionner une transformation", selectType: "Sélectionner un type", sourceKey: "Clé source", staticValue: "Valeur statique", staticValuePlaceholder: "Entrer une valeur par défaut", targetKey: "Clé cible", transformArray: "Convertir en tableau", transformBoolean: "Convertir en booléen", transformDesc: "Transformer la valeur référencée pour correspondre au type de ce champ", transformMapToObject: "Mapper vers un objet", transformNone: "Aucune transformation", transformNumber: "Convertir en nombre", transformString: "Convertir en chaîne", transformType: "Type de transformation", validation: "Validation" }, selectInputType: { type: "Type" }, selectNodeGroup: { createNewGroup: "Créer un nouveau groupe", group: "Groupe", groupAlreadyExists: "Ce groupe existe déjà", groupAlreadyExistsDesc: "Utilisez le sélecteur pour ajouter le nœud à un groupe existant.", groupCreated: "Groupe créé", groupCreatedDesc: 'Le groupe "{groupName}" a été créé avec succès.', groupName: "Nom du groupe", groupNamePlaceholder: "Ex : Étape 1 - Informations personnelles", newGroup: "Nouveau groupe", newGroupDescription: "Le groupe sera créé autour du nœud sélectionné.", noGroup: "Aucun groupe" }, selectNodeType: { nodeType: "Type de nœud" }, uiNodeForm: { label: "Libellé", type: "Type", typeDivider: "Séparateur", typeTitle: "Titre" } }, Ye = { defaultAddressInput: { enterAddress: "Entrez une adresse...", noAddressesFound: "Aucune adresse trouvée." }, defaultAutocompleteInput: { noResults: "Aucun résultat trouvé.", search: "Recherche...", selectOption: "Sélectionner une option" }, defaultHttpInput: { fetchFailed: "Échec de la récupération des données", httpError: "HTTP {status} : {statusText}", noDataAvailable: 'Aucune donnée disponible. Configurez "Charger au montage" ou ajoutez un paramètre de recherche.', noResults: "Aucun résultat trouvé.", noUrlConfigured: "Aucune URL configurée", retry: "Réessayer", search: "Recherche...", searching: "Recherche...", selectOption: "Sélectionner une option" }, defaultInputs: { endDate: "Date de fin", endTime: "Heure de fin", required: "*", selectDate: "Sélectionner une date", selectDateRange: "Sélectionner une plage de dates", startDate: "Date de début", startTime: "Heure de début" }, defaultSelectInput: { selectOption: "Sélectionner une option" }, defaultSubmitButton: { requiredFieldsMissing: "Champs requis manquants", submit: "Envoyer" } }, Qe = { invalidFormat: "Format invalide", required: "Ce champ est requis" }, Ze = {
|
|
314
|
-
common: Ke,
|
|
315
|
-
editor: We,
|
|
316
|
-
renderer: Ye,
|
|
317
|
-
validation: Qe
|
|
318
|
-
}, Xe = { cancel: "Annulla", clear: "Cancella", close: "Chiudi", create: "Crea", retry: "Riprova", save: "Salva", submit: "Invia", toggle: "Attiva/Disattiva" }, ea = { actionsPanel: { addNode: "Aggiungi nodo", clear: "Pulisci", clearSuccess: "Flusso pulito!", clearSuccessDesc: "Tutti i nodi e gli archi sono stati rimossi.", copyFailed: "Impossibile copiare l'ID del flusso", downloadSuccess: "Download riuscito.", downloadSuccessDesc: "Il flusso è stato esportato con successo.", exportJson: "Esporta JSON", idCopied: "ID del flusso copiato!", importJson: "Importa JSON", importSuccess: "Importazione riuscita!", importSuccessDesc: "Il flusso è stato importato con successo.", invalidJson: "File JSON non valido.", invalidJsonDesc: "Il file deve contenere array di nodi e archi.", parseError: "Errore nell'analisi del file JSON.", parseErrorDesc: "Prova a correggere il file e importarlo di nuovo." }, comboboxPattern: { custom: "Personalizzato: {value}", search: "Cerca schemi...", selectOrCreate: "Seleziona o crea uno schema", usePattern: "Usa schema: {query}" }, comboboxWithCreate: { clearSelection: "Cancella selezione", noResults: "Nessun risultato trovato" }, conditionalEdge: { addCondition: "Aggiungi condizione", and: "E", condition: "Condizione", conditions: "Condizioni", conditionsAnd: "condizioni (E)", conditionsMixed: "condizioni (miste)", conditionsOr: "condizioni (O)", displayConditions: "Mostra condizioni", displayConditionsDesc: "Questo campo verrà mostrato se vengono soddisfatte le seguenti condizioni.", fallback: "Predefinito", fallbackPath: "Percorso predefinito / di fallback", fallbackPathDesc: "Questo percorso verrà seguito quando nessun'altra condizione corrisponde", field: "Campo", labelDesc: "Etichetta personalizzata per il pulsante della condizione", labelOptional: "Etichetta (opzionale)", labelPlaceholder: "Es: Se idoneo", noFieldsAvailable: "Nessun campo disponibile", operator: "Operatore", or: "O", removeCondition: "Rimuovi condizione", selectField: "Seleziona un campo", value: "Valore", valuePlaceholder: "Es: 18" }, flowNodeForm: { label: "Etichetta", targetId: "ID di destinazione", targetIdDesc: "Identificatore univoco del flusso di destinazione." }, groupNodeForm: { label: "Etichetta" }, httpConfigForm: { addHeader: "Aggiungi intestazione", apiUrl: "URL API", apiUrlDesc: "Usa variabili template come {{fieldId}} per riferire altri campi", apiUrlPlaceholder: "https://api.esempio.com/data", behavior: "Comportamento", fetchOnMount: "Carica al montaggio", headerName: "Nome intestazione", headers: "Intestazioni", headerValue: "Valore intestazione", httpMethod: "Metodo HTTP", insertVariable: "Inserisci variabile", labelField: "Campo etichetta", labelFieldDesc: "Campo da usare come etichetta dell'opzione (es: nome)", labelFieldPlaceholder: "nome", mapToOptions: "Mappa su opzioni", methodDelete: "DELETE", methodGet: "GET", methodPatch: "PATCH", methodPost: "POST", methodPut: "PUT", noFieldsAvailable: "Nessun campo disponibile", requestBody: "Corpo della richiesta (JSON)", requestBodyDesc: "Usa variabili template come ${fieldId} per riferire altri campi", requestBodyPlaceholder: '{"chiave": "valore"}', responseConfiguration: "Configurazione della risposta", responsePath: "Percorso della risposta", responsePathDesc: "Estrai dati dalla risposta usando la notazione a punti o l'indicizzazione dell'array", responsePathPlaceholder: "data.users o results[0]", searchParameter: "Parametro di ricerca (opzionale)", searchParameterDesc: "Se impostato, abilita una casella di ricerca che aggiunge questo parametro alle chiamate API (es: ?q=Parigi)", searchParameterPlaceholder: "q, ricerca, query...", selectMethod: "Seleziona metodo", showLoadingState: "Mostra stato di caricamento", valueField: "Campo valore", valueFieldDesc: "Campo da usare come valore dell'opzione (es: id)", valueFieldPlaceholder: "id" }, inputNodeForm: { addInputFieldsBeforeReference: "Aggiungi campi di input prima di questo nodo per riferirli", addMapping: "Aggiungi mappatura", addOption: "+ Aggiungi opzione", advancedConfiguration: "Configurazione avanzata", defaultChecked: "Selezionato per impostazione predefinita", defaultValuesCommaSeparated: "Valori predefiniti (separati da virgole)", defaultValuesPlaceholder: "valore1, valore2, valore3", defaultValueType: "Tipo di valore predefinito", defaultValueTypeNone: "Nessuno", defaultValueTypeReference: "Campo di riferimento", defaultValueTypeStatic: "Valore statico", errorMessage: "Messaggio di errore", helperText: "Testo di aiuto", httpConfiguration: "Configurazione HTTP", label: "Etichetta", multipleFiles: "File multipli", multipleSelection: "Selezione multipla", name: "Nome", noParentFieldsAvailable: "Nessun campo genitore disponibile", objectMapping: "Mappatura oggetto", objectMappingDesc: "Mappa le proprietà dell'oggetto sorgente su una nuova struttura", optionLabel: "Etichetta", options: "Opzioni", optionValue: "Valore", pattern: "Schema", placeholder: "Segnaposto", referenceField: "Campo di riferimento", required: "Obbligatorio", selectReferenceField: "Seleziona un campo", selectTransformation: "Seleziona trasformazione", selectType: "Seleziona tipo", sourceKey: "Chiave sorgente", staticValue: "Valore statico", staticValuePlaceholder: "Inserisci valore predefinito", targetKey: "Chiave destinazione", transformArray: "Converti in array", transformBoolean: "Converti in booleano", transformDesc: "Trasforma il valore riferito per corrispondere al tipo di questo campo", transformMapToObject: "Mappa su oggetto", transformNone: "Nessuna trasformazione", transformNumber: "Converti in numero", transformString: "Converti in stringa", transformType: "Tipo di trasformazione", validation: "Validazione" }, selectInputType: { type: "Tipo" }, selectNodeGroup: { createNewGroup: "Crea un nuovo gruppo", group: "Gruppo", groupAlreadyExists: "Questo gruppo esiste già", groupAlreadyExistsDesc: "Usa il selettore per aggiungere il nodo a un gruppo esistente.", groupCreated: "Gruppo creato", groupCreatedDesc: 'Il gruppo "{groupName}" è stato creato con successo.', groupName: "Nome del gruppo", groupNamePlaceholder: "Es: Passo 1 - Informazioni personali", newGroup: "Nuovo gruppo", newGroupDescription: "Il gruppo verrà creato attorno al nodo selezionato.", noGroup: "Nessun gruppo" }, selectNodeType: { nodeType: "Tipo di nodo" }, uiNodeForm: { label: "Etichetta", type: "Tipo", typeDivider: "Divisore", typeTitle: "Titolo" } }, aa = { defaultAddressInput: { enterAddress: "Inserisci un indirizzo...", noAddressesFound: "Nessun indirizzo trovato." }, defaultAutocompleteInput: { noResults: "Nessun risultato trovato.", search: "Cerca...", selectOption: "Seleziona un'opzione" }, defaultHttpInput: { fetchFailed: "Impossibile recuperare i dati", httpError: "HTTP {status}: {statusText}", noDataAvailable: 'Nessun dato disponibile. Configura "Carica al montaggio" o aggiungi un parametro di ricerca.', noResults: "Nessun risultato trovato.", noUrlConfigured: "Nessun URL configurato", retry: "Riprova", search: "Cerca...", searching: "Ricerca in corso...", selectOption: "Seleziona un'opzione" }, defaultInputs: { endDate: "Data di fine", endTime: "Ora di fine", required: "*", selectDate: "Seleziona data", selectDateRange: "Seleziona intervallo di date", startDate: "Data di inizio", startTime: "Ora di inizio" }, defaultSelectInput: { selectOption: "Seleziona un'opzione" }, defaultSubmitButton: { requiredFieldsMissing: "Campi obbligatori mancanti", submit: "Invia" } }, oa = { invalidFormat: "Formato non valido", required: "Questo campo è obbligatorio" }, ra = {
|
|
319
|
-
common: Xe,
|
|
320
|
-
editor: ea,
|
|
321
|
-
renderer: aa,
|
|
322
|
-
validation: oa
|
|
323
|
-
}, ta = { cancel: "Cancelar", clear: "Limpar", close: "Fechar", create: "Criar", retry: "Tentar novamente", save: "Salvar", submit: "Enviar", toggle: "Alternar" }, na = { actionsPanel: { addNode: "Adicionar nó", clear: "Limpar", clearSuccess: "Fluxo limpo!", clearSuccessDesc: "Todos os nós e arestas foram removidos.", copyFailed: "Falha ao copiar o ID do fluxo", downloadSuccess: "Download bem-sucedido.", downloadSuccessDesc: "O fluxo foi exportado com sucesso.", exportJson: "Exportar JSON", idCopied: "ID do fluxo copiado!", importJson: "Importar JSON", importSuccess: "Importação bem-sucedida!", importSuccessDesc: "O fluxo foi importado com sucesso.", invalidJson: "Arquivo JSON inválido.", invalidJsonDesc: "O arquivo deve conter arrays de nós e arestas.", parseError: "Erro ao analisar o arquivo JSON.", parseErrorDesc: "Tente corrigir o arquivo e importá-lo novamente." }, comboboxPattern: { custom: "Personalizado: {value}", search: "Pesquisar padrões...", selectOrCreate: "Selecionar ou criar um padrão", usePattern: "Usar padrão: {query}" }, comboboxWithCreate: { clearSelection: "Limpar seleção", noResults: "Nenhum resultado encontrado" }, conditionalEdge: { addCondition: "Adicionar condição", and: "E", condition: "Condição", conditions: "Condições", conditionsAnd: "condições (E)", conditionsMixed: "condições (mistas)", conditionsOr: "condições (OU)", displayConditions: "Exibir condições", displayConditionsDesc: "Este campo será exibido se as seguintes condições forem atendidas.", fallback: "Padrão", fallbackPath: "Caminho padrão / de fallback", fallbackPathDesc: "Este caminho será seguido quando nenhuma outra condição corresponder", field: "Campo", labelDesc: "Rótulo personalizado para o botão de condição", labelOptional: "Rótulo (opcional)", labelPlaceholder: "Ex: Se elegível", noFieldsAvailable: "Nenhum campo disponível", operator: "Operador", or: "OU", removeCondition: "Remover condição", selectField: "Selecione um campo", value: "Valor", valuePlaceholder: "Ex: 18" }, flowNodeForm: { label: "Rótulo", targetId: "ID de destino", targetIdDesc: "Identificador único do fluxo de destino." }, groupNodeForm: { label: "Rótulo" }, httpConfigForm: { addHeader: "Adicionar cabeçalho", apiUrl: "URL da API", apiUrlDesc: "Use variáveis de modelo como {{fieldId}} para referenciar outros campos", apiUrlPlaceholder: "https://api.exemplo.com/data", behavior: "Comportamento", fetchOnMount: "Buscar na montagem", headerName: "Nome do cabeçalho", headers: "Cabeçalhos", headerValue: "Valor do cabeçalho", httpMethod: "Método HTTP", insertVariable: "Inserir variável", labelField: "Campo de rótulo", labelFieldDesc: "Campo a ser usado como rótulo da opção (ex: nome)", labelFieldPlaceholder: "nome", mapToOptions: "Mapear para opções", methodDelete: "DELETE", methodGet: "GET", methodPatch: "PATCH", methodPost: "POST", methodPut: "PUT", noFieldsAvailable: "Nenhum campo disponível", requestBody: "Corpo da requisição (JSON)", requestBodyDesc: "Use variáveis de modelo como ${fieldId} para referenciar outros campos", requestBodyPlaceholder: '{"chave": "valor"}', responseConfiguration: "Configuração da resposta", responsePath: "Caminho da resposta", responsePathDesc: "Extrair dados da resposta usando notação de ponto ou indexação de array", responsePathPlaceholder: "data.users ou results[0]", searchParameter: "Parâmetro de pesquisa (opcional)", searchParameterDesc: "Se definido, habilita uma caixa de pesquisa que adiciona este parâmetro às chamadas de API (ex: ?q=Paris)", searchParameterPlaceholder: "q, pesquisa, consulta...", selectMethod: "Selecionar método", showLoadingState: "Mostrar estado de carregamento", valueField: "Campo de valor", valueFieldDesc: "Campo a ser usado como valor da opção (ex: id)", valueFieldPlaceholder: "id" }, inputNodeForm: { addInputFieldsBeforeReference: "Adicione campos de entrada antes deste nó para referenciá-los", addMapping: "Adicionar mapeamento", addOption: "+ Adicionar opção", advancedConfiguration: "Configuração avançada", defaultChecked: "Marcado por padrão", defaultValuesCommaSeparated: "Valores padrão (separados por vírgulas)", defaultValuesPlaceholder: "valor1, valor2, valor3", defaultValueType: "Tipo de valor padrão", defaultValueTypeNone: "Nenhum", defaultValueTypeReference: "Campo de referência", defaultValueTypeStatic: "Valor estático", errorMessage: "Mensagem de erro", helperText: "Texto de ajuda", httpConfiguration: "Configuração HTTP", label: "Rótulo", multipleFiles: "Arquivos múltiplos", multipleSelection: "Seleção múltipla", name: "Nome", noParentFieldsAvailable: "Nenhum campo pai disponível", objectMapping: "Mapeamento de objeto", objectMappingDesc: "Mapear as propriedades do objeto de origem para uma nova estrutura", optionLabel: "Rótulo", options: "Opções", optionValue: "Valor", pattern: "Padrão", placeholder: "Espaço reservado", referenceField: "Campo de referência", required: "Obrigatório", selectReferenceField: "Selecione um campo", selectTransformation: "Selecionar transformação", selectType: "Selecionar tipo", sourceKey: "Chave de origem", staticValue: "Valor estático", staticValuePlaceholder: "Digite o valor padrão", targetKey: "Chave de destino", transformArray: "Converter para array", transformBoolean: "Converter para booleano", transformDesc: "Transformar o valor referenciado para corresponder ao tipo deste campo", transformMapToObject: "Mapear para objeto", transformNone: "Sem transformação", transformNumber: "Converter para número", transformString: "Converter para string", transformType: "Tipo de transformação", validation: "Validação" }, selectInputType: { type: "Tipo" }, selectNodeGroup: { createNewGroup: "Criar um novo grupo", group: "Grupo", groupAlreadyExists: "Este grupo já existe", groupAlreadyExistsDesc: "Use o seletor para adicionar o nó a um grupo existente.", groupCreated: "Grupo criado", groupCreatedDesc: 'O grupo "{groupName}" foi criado com sucesso.', groupName: "Nome do grupo", groupNamePlaceholder: "Ex: Passo 1 - Informações pessoais", newGroup: "Novo grupo", newGroupDescription: "O grupo será criado em torno do nó selecionado.", noGroup: "Sem grupo" }, selectNodeType: { nodeType: "Tipo de nó" }, uiNodeForm: { label: "Rótulo", type: "Tipo", typeDivider: "Divisor", typeTitle: "Título" } }, ia = { defaultAddressInput: { enterAddress: "Digite um endereço...", noAddressesFound: "Nenhum endereço encontrado." }, defaultAutocompleteInput: { noResults: "Nenhum resultado encontrado.", search: "Pesquisar...", selectOption: "Selecione uma opção" }, defaultHttpInput: { fetchFailed: "Falha ao buscar dados", httpError: "HTTP {status}: {statusText}", noDataAvailable: 'Nenhum dado disponível. Configure "Buscar na montagem" ou adicione um parâmetro de pesquisa.', noResults: "Nenhum resultado encontrado.", noUrlConfigured: "Nenhuma URL configurada", retry: "Tentar novamente", search: "Pesquisar...", searching: "Pesquisando...", selectOption: "Selecione uma opção" }, defaultInputs: { endDate: "Data de fim", endTime: "Hora de fim", required: "*", selectDate: "Selecionar data", selectDateRange: "Selecionar intervalo de datas", startDate: "Data de início", startTime: "Hora de início" }, defaultSelectInput: { selectOption: "Selecione uma opção" }, defaultSubmitButton: { requiredFieldsMissing: "Campos obrigatórios ausentes", submit: "Enviar" } }, sa = { invalidFormat: "Formato inválido", required: "Este campo é obrigatório" }, la = {
|
|
324
|
-
common: ta,
|
|
325
|
-
editor: na,
|
|
326
|
-
renderer: ia,
|
|
327
|
-
validation: sa
|
|
328
|
-
}, da = (a, o = "en") => a ? typeof a == "string" ? a : a[o] || a.en || Object.values(a).find(Boolean) || "" : "", W = {
|
|
329
|
-
ar: Ie,
|
|
330
|
-
de: Ve,
|
|
331
|
-
en: Ue,
|
|
332
|
-
es: $e,
|
|
333
|
-
fr: Ze,
|
|
334
|
-
it: ra,
|
|
335
|
-
pt: la
|
|
336
|
-
}, Z = (a, o = "") => Object.keys(a).reduce(
|
|
337
|
-
(n, i) => {
|
|
338
|
-
const d = a[i], p = o ? `${o}.${i}` : i;
|
|
339
|
-
return typeof d == "object" && d !== null && !Array.isArray(d) ? Object.assign(n, Z(d, p)) : n[p] = String(d), n;
|
|
340
|
-
},
|
|
341
|
-
{}
|
|
342
|
-
), ca = (a) => {
|
|
343
|
-
const o = W[a] || W.en;
|
|
344
|
-
return Z(o);
|
|
345
|
-
}, Ea = (a) => {
|
|
346
|
-
const o = k(() => ca(a), [a]);
|
|
347
|
-
return k(
|
|
348
|
-
() => (n) => n ? typeof n == "object" ? da(n, a) : n in o ? o[n] : n : "",
|
|
349
|
-
[a, o]
|
|
350
|
-
);
|
|
351
|
-
};
|
|
352
|
-
function s(...a) {
|
|
353
|
-
return Ce(Se(a));
|
|
354
|
-
}
|
|
355
|
-
const ua = ve(
|
|
356
|
-
"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
357
|
-
{
|
|
358
|
-
defaultVariants: {
|
|
359
|
-
size: "default",
|
|
360
|
-
variant: "default"
|
|
361
|
-
},
|
|
362
|
-
variants: {
|
|
363
|
-
size: {
|
|
364
|
-
default: "h-9 px-4 py-2 has-[>svg]:px-3",
|
|
365
|
-
icon: "size-9",
|
|
366
|
-
"icon-lg": "size-10",
|
|
367
|
-
"icon-sm": "size-8",
|
|
368
|
-
lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
|
|
369
|
-
sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5"
|
|
370
|
-
},
|
|
371
|
-
variant: {
|
|
372
|
-
default: "bg-primary text-primary-foreground hover:bg-primary/90",
|
|
373
|
-
destructive: "bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
|
|
374
|
-
ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
|
|
375
|
-
link: "text-primary underline-offset-4 hover:underline",
|
|
376
|
-
outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
|
|
377
|
-
secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80"
|
|
378
|
-
}
|
|
379
|
-
}
|
|
380
|
-
}
|
|
381
|
-
);
|
|
382
|
-
function Fa({
|
|
383
|
-
className: a,
|
|
384
|
-
variant: o,
|
|
385
|
-
size: n,
|
|
386
|
-
asChild: i = !1,
|
|
387
|
-
...d
|
|
388
|
-
}) {
|
|
389
|
-
const p = i ? be : "button";
|
|
390
|
-
return /* @__PURE__ */ r.jsx(p, { "data-slot": "button", className: s(ua({ className: a, size: n, variant: o })), ...d });
|
|
391
|
-
}
|
|
392
|
-
function wa({ className: a, ...o }) {
|
|
393
|
-
return /* @__PURE__ */ r.jsx(
|
|
394
|
-
G.Root,
|
|
395
|
-
{
|
|
396
|
-
"data-slot": "checkbox",
|
|
397
|
-
className: s(
|
|
398
|
-
"peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
|
|
399
|
-
a
|
|
400
|
-
),
|
|
401
|
-
...o,
|
|
402
|
-
children: /* @__PURE__ */ r.jsx(G.Indicator, { "data-slot": "checkbox-indicator", className: "grid place-content-center text-current transition-none", children: /* @__PURE__ */ r.jsx(Y, { className: "size-3.5" }) })
|
|
403
|
-
}
|
|
404
|
-
);
|
|
405
|
-
}
|
|
406
|
-
function Aa({ className: a, ...o }) {
|
|
407
|
-
return /* @__PURE__ */ r.jsx("div", { "data-slot": "form-item", className: s("grid gap-2", a), ...o });
|
|
408
|
-
}
|
|
409
|
-
function Oa({ className: a, ...o }) {
|
|
410
|
-
return /* @__PURE__ */ r.jsx("p", { "data-slot": "form-description", className: s("text-xs text-muted-foreground", a), ...o });
|
|
411
|
-
}
|
|
412
|
-
function Ia({ className: a, ...o }) {
|
|
413
|
-
return /* @__PURE__ */ r.jsx("p", { "data-slot": "form-error", className: s("text-xs text-destructive", a), ...o });
|
|
414
|
-
}
|
|
415
|
-
function za({ className: a, type: o, ...n }) {
|
|
416
|
-
return /* @__PURE__ */ r.jsx(
|
|
417
|
-
"input",
|
|
418
|
-
{
|
|
419
|
-
type: o,
|
|
420
|
-
"data-slot": "input",
|
|
421
|
-
className: s(
|
|
422
|
-
"file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
423
|
-
"focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]",
|
|
424
|
-
"aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",
|
|
425
|
-
a
|
|
426
|
-
),
|
|
427
|
-
...n
|
|
428
|
-
}
|
|
429
|
-
);
|
|
430
|
-
}
|
|
431
|
-
const Ra = ({ className: a, ...o }) => /* @__PURE__ */ r.jsx(
|
|
432
|
-
xe.Root,
|
|
433
|
-
{
|
|
434
|
-
"data-slot": "label",
|
|
435
|
-
className: s(
|
|
436
|
-
"flex items-center gap-2 text-sm leading-none text-muted-foreground font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",
|
|
437
|
-
a
|
|
438
|
-
),
|
|
439
|
-
...o
|
|
440
|
-
}
|
|
441
|
-
);
|
|
442
|
-
function ka({ ...a }) {
|
|
443
|
-
return /* @__PURE__ */ r.jsx(E.Root, { "data-slot": "popover", ...a });
|
|
444
|
-
}
|
|
445
|
-
function ja({ ...a }) {
|
|
446
|
-
return /* @__PURE__ */ r.jsx(E.Trigger, { "data-slot": "popover-trigger", ...a });
|
|
447
|
-
}
|
|
448
|
-
function Va({ className: a, align: o = "center", sideOffset: n = 4, ...i }) {
|
|
449
|
-
return /* @__PURE__ */ r.jsx(E.Portal, { children: /* @__PURE__ */ r.jsx(
|
|
450
|
-
E.Content,
|
|
451
|
-
{
|
|
452
|
-
"data-slot": "popover-content",
|
|
453
|
-
align: o,
|
|
454
|
-
sideOffset: n,
|
|
455
|
-
className: s(
|
|
456
|
-
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden",
|
|
457
|
-
a
|
|
458
|
-
),
|
|
459
|
-
...i
|
|
460
|
-
}
|
|
461
|
-
) });
|
|
462
|
-
}
|
|
463
|
-
const Ma = ({ ...a }) => /* @__PURE__ */ r.jsx(m.Root, { "data-slot": "select", ...a }), qa = ({ ...a }) => /* @__PURE__ */ r.jsx(m.Group, { "data-slot": "select-group", ...a }), _a = ({ ...a }) => /* @__PURE__ */ r.jsx(m.Value, { "data-slot": "select-value", ...a }), Ba = ({
|
|
464
|
-
className: a,
|
|
465
|
-
size: o = "default",
|
|
466
|
-
children: n,
|
|
467
|
-
...i
|
|
468
|
-
}) => /* @__PURE__ */ r.jsxs(
|
|
469
|
-
m.Trigger,
|
|
470
|
-
{
|
|
471
|
-
"data-slot": "select-trigger",
|
|
472
|
-
"data-size": o,
|
|
473
|
-
className: s(
|
|
474
|
-
"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
475
|
-
a
|
|
476
|
-
),
|
|
477
|
-
...i,
|
|
478
|
-
children: [
|
|
479
|
-
n,
|
|
480
|
-
/* @__PURE__ */ r.jsx(m.Icon, { asChild: !0, children: /* @__PURE__ */ r.jsx(Q, { className: "size-4 opacity-50" }) })
|
|
481
|
-
]
|
|
482
|
-
}
|
|
483
|
-
), Ua = ({ className: a, children: o, position: n = "popper", ...i }) => /* @__PURE__ */ r.jsx(m.Portal, { children: /* @__PURE__ */ r.jsxs(
|
|
484
|
-
m.Content,
|
|
485
|
-
{
|
|
486
|
-
"data-slot": "select-content",
|
|
487
|
-
className: s(
|
|
488
|
-
"bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md",
|
|
489
|
-
n === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",
|
|
490
|
-
a
|
|
491
|
-
),
|
|
492
|
-
position: n,
|
|
493
|
-
...i,
|
|
494
|
-
children: [
|
|
495
|
-
/* @__PURE__ */ r.jsx(pa, {}),
|
|
496
|
-
/* @__PURE__ */ r.jsx(
|
|
497
|
-
m.Viewport,
|
|
498
|
-
{
|
|
499
|
-
className: s(
|
|
500
|
-
"p-1",
|
|
501
|
-
n === "popper" && "h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1"
|
|
502
|
-
),
|
|
503
|
-
children: o
|
|
504
|
-
}
|
|
505
|
-
),
|
|
506
|
-
/* @__PURE__ */ r.jsx(ma, {})
|
|
507
|
-
]
|
|
508
|
-
}
|
|
509
|
-
) }), La = ({ className: a, ...o }) => /* @__PURE__ */ r.jsx(
|
|
510
|
-
m.Label,
|
|
511
|
-
{
|
|
512
|
-
"data-slot": "select-label",
|
|
513
|
-
className: s("text-muted-foreground pb-1.5 text-sm font-medium ", a),
|
|
514
|
-
...o
|
|
515
|
-
}
|
|
516
|
-
), Ga = ({ className: a, children: o, ...n }) => /* @__PURE__ */ r.jsxs(
|
|
517
|
-
m.Item,
|
|
518
|
-
{
|
|
519
|
-
"data-slot": "select-item",
|
|
520
|
-
className: s(
|
|
521
|
-
"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
|
|
522
|
-
a
|
|
523
|
-
),
|
|
524
|
-
...n,
|
|
525
|
-
children: [
|
|
526
|
-
/* @__PURE__ */ r.jsx("span", { className: "absolute right-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ r.jsx(m.ItemIndicator, { children: /* @__PURE__ */ r.jsx(Y, { className: "size-4" }) }) }),
|
|
527
|
-
/* @__PURE__ */ r.jsx(m.ItemText, { children: o })
|
|
528
|
-
]
|
|
529
|
-
}
|
|
530
|
-
), pa = ({ className: a, ...o }) => /* @__PURE__ */ r.jsx(
|
|
531
|
-
m.ScrollUpButton,
|
|
532
|
-
{
|
|
533
|
-
"data-slot": "select-scroll-up-button",
|
|
534
|
-
className: s("flex cursor-default items-center justify-center py-1", a),
|
|
535
|
-
...o,
|
|
536
|
-
children: /* @__PURE__ */ r.jsx(ye, { className: "size-4" })
|
|
537
|
-
}
|
|
538
|
-
), ma = ({ className: a, ...o }) => /* @__PURE__ */ r.jsx(
|
|
539
|
-
m.ScrollDownButton,
|
|
540
|
-
{
|
|
541
|
-
"data-slot": "select-scroll-down-button",
|
|
542
|
-
className: s("flex cursor-default items-center justify-center py-1", a),
|
|
543
|
-
...o,
|
|
544
|
-
children: /* @__PURE__ */ r.jsx(Q, { className: "size-4" })
|
|
545
|
-
}
|
|
546
|
-
), Ja = {
|
|
547
|
-
AND: "AND",
|
|
548
|
-
OR: "OR"
|
|
549
|
-
}, Ha = {
|
|
550
|
-
flow: "flow",
|
|
551
|
-
group: "group",
|
|
552
|
-
input: "input",
|
|
553
|
-
ui: "ui"
|
|
554
|
-
};
|
|
555
|
-
function $a({ className: a, ...o }) {
|
|
556
|
-
return /* @__PURE__ */ r.jsx(
|
|
557
|
-
J.Root,
|
|
558
|
-
{
|
|
559
|
-
"data-slot": "switch",
|
|
560
|
-
className: s(
|
|
561
|
-
"peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",
|
|
562
|
-
a
|
|
563
|
-
),
|
|
564
|
-
...o,
|
|
565
|
-
children: /* @__PURE__ */ r.jsx(
|
|
566
|
-
J.Thumb,
|
|
567
|
-
{
|
|
568
|
-
"data-slot": "switch-thumb",
|
|
569
|
-
className: s(
|
|
570
|
-
"bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0"
|
|
571
|
-
)
|
|
572
|
-
}
|
|
573
|
-
)
|
|
574
|
-
}
|
|
575
|
-
);
|
|
576
|
-
}
|
|
577
|
-
function Ka({ className: a, ...o }) {
|
|
578
|
-
return /* @__PURE__ */ r.jsx(
|
|
579
|
-
"textarea",
|
|
580
|
-
{
|
|
581
|
-
"data-slot": "textarea",
|
|
582
|
-
className: s(
|
|
583
|
-
"border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",
|
|
584
|
-
a
|
|
585
|
-
),
|
|
586
|
-
...o
|
|
587
|
-
}
|
|
588
|
-
);
|
|
589
|
-
}
|
|
590
|
-
function Wa({ className: a, ...o }) {
|
|
591
|
-
return /* @__PURE__ */ r.jsx(
|
|
592
|
-
T,
|
|
593
|
-
{
|
|
594
|
-
"data-slot": "command",
|
|
595
|
-
className: s("bg-popover text-popover-foreground flex h-full w-full flex-col overflow-hidden rounded-md", a),
|
|
596
|
-
...o
|
|
597
|
-
}
|
|
598
|
-
);
|
|
599
|
-
}
|
|
600
|
-
function Ya({ className: a, ...o }) {
|
|
601
|
-
return /* @__PURE__ */ r.jsxs("div", { "data-slot": "command-input-wrapper", className: "flex h-9 items-center gap-2 border-b px-3", children: [
|
|
602
|
-
/* @__PURE__ */ r.jsx(Te, { className: "size-4 shrink-0 opacity-50" }),
|
|
603
|
-
/* @__PURE__ */ r.jsx(
|
|
604
|
-
T.Input,
|
|
605
|
-
{
|
|
606
|
-
"data-slot": "command-input",
|
|
607
|
-
className: s(
|
|
608
|
-
"placeholder:text-muted-foreground flex h-10 w-full rounded-md bg-transparent py-3 text-sm outline-hidden disabled:cursor-not-allowed disabled:opacity-50",
|
|
609
|
-
a
|
|
610
|
-
),
|
|
611
|
-
...o
|
|
612
|
-
}
|
|
613
|
-
)
|
|
614
|
-
] });
|
|
615
|
-
}
|
|
616
|
-
function Qa({ className: a, ...o }) {
|
|
617
|
-
return /* @__PURE__ */ r.jsx(
|
|
618
|
-
T.List,
|
|
619
|
-
{
|
|
620
|
-
"data-slot": "command-list",
|
|
621
|
-
className: s("max-h-[300px] scroll-py-1 overflow-x-hidden overflow-y-auto", a),
|
|
622
|
-
...o
|
|
623
|
-
}
|
|
624
|
-
);
|
|
625
|
-
}
|
|
626
|
-
function Za({ ...a }) {
|
|
627
|
-
return /* @__PURE__ */ r.jsx(T.Empty, { "data-slot": "command-empty", className: "py-6 text-center text-sm", ...a });
|
|
628
|
-
}
|
|
629
|
-
function Xa({ className: a, ...o }) {
|
|
630
|
-
return /* @__PURE__ */ r.jsx(
|
|
631
|
-
T.Group,
|
|
632
|
-
{
|
|
633
|
-
"data-slot": "command-group",
|
|
634
|
-
className: s(
|
|
635
|
-
"text-foreground [&_[cmdk-group-heading]]:text-muted-foreground overflow-hidden p-1 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium",
|
|
636
|
-
a
|
|
637
|
-
),
|
|
638
|
-
...o
|
|
639
|
-
}
|
|
640
|
-
);
|
|
641
|
-
}
|
|
642
|
-
function eo({ className: a, ...o }) {
|
|
643
|
-
return /* @__PURE__ */ r.jsx(
|
|
644
|
-
T.Item,
|
|
645
|
-
{
|
|
646
|
-
"data-slot": "command-item",
|
|
647
|
-
className: s(
|
|
648
|
-
"data-[selected=true]:bg-accent data-[selected=true]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
649
|
-
a
|
|
650
|
-
),
|
|
651
|
-
...o
|
|
652
|
-
}
|
|
653
|
-
);
|
|
654
|
-
}
|
|
655
|
-
function ao({
|
|
656
|
-
className: a,
|
|
657
|
-
orientation: o = "horizontal",
|
|
658
|
-
decorative: n = !0,
|
|
659
|
-
...i
|
|
660
|
-
}) {
|
|
661
|
-
return /* @__PURE__ */ r.jsx(
|
|
662
|
-
Pe.Root,
|
|
663
|
-
{
|
|
664
|
-
"data-slot": "separator",
|
|
665
|
-
decorative: n,
|
|
666
|
-
orientation: o,
|
|
667
|
-
className: s(
|
|
668
|
-
"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px",
|
|
669
|
-
a
|
|
670
|
-
),
|
|
671
|
-
...i
|
|
672
|
-
}
|
|
673
|
-
);
|
|
674
|
-
}
|
|
675
|
-
const fa = {
|
|
676
|
-
setTheme: () => null,
|
|
677
|
-
theme: "system"
|
|
678
|
-
}, X = fe(fa), oo = ({
|
|
679
|
-
children: a,
|
|
680
|
-
defaultTheme: o = "system",
|
|
681
|
-
storageKey: n = "treege-theme",
|
|
682
|
-
theme: i,
|
|
683
|
-
...d
|
|
684
|
-
}) => {
|
|
685
|
-
const [p, g] = he(() => i || typeof window < "u" && localStorage.getItem(n) || o), f = i ?? p, F = k(
|
|
686
|
-
() => ({
|
|
687
|
-
setTheme: (h) => {
|
|
688
|
-
!i && typeof window < "u" && localStorage.setItem(n, h), g(h);
|
|
689
|
-
},
|
|
690
|
-
theme: f
|
|
691
|
-
}),
|
|
692
|
-
[n, f, i]
|
|
693
|
-
);
|
|
694
|
-
return L(() => {
|
|
695
|
-
i && g(i);
|
|
696
|
-
}, [i]), L(() => {
|
|
697
|
-
if (typeof window > "u")
|
|
698
|
-
return;
|
|
699
|
-
const h = window.document.documentElement;
|
|
700
|
-
if (h.classList.remove("light", "dark"), f === "system") {
|
|
701
|
-
const b = window.matchMedia("(prefers-color-scheme: dark)"), C = b.matches ? "dark" : "light";
|
|
702
|
-
h.classList.add(C);
|
|
703
|
-
const x = (v) => {
|
|
704
|
-
h.classList.remove("light", "dark"), h.classList.add(v.matches ? "dark" : "light");
|
|
705
|
-
};
|
|
706
|
-
return b.addEventListener("change", x), () => b.removeEventListener("change", x);
|
|
707
|
-
}
|
|
708
|
-
h.classList.add(f);
|
|
709
|
-
}, [f]), // eslint-disable-next-line react/jsx-props-no-spreading
|
|
710
|
-
/* @__PURE__ */ r.jsx(X.Provider, { ...d, value: F, children: a });
|
|
711
|
-
}, ro = () => {
|
|
712
|
-
const a = ge(X);
|
|
713
|
-
if (a === void 0)
|
|
714
|
-
throw new Error("useTheme must be used within a ThemeProvider");
|
|
715
|
-
return a;
|
|
716
|
-
};
|
|
717
|
-
export {
|
|
718
|
-
Ga as A,
|
|
719
|
-
Fa as B,
|
|
720
|
-
Wa as C,
|
|
721
|
-
$a as D,
|
|
722
|
-
Ka as E,
|
|
723
|
-
Aa as F,
|
|
724
|
-
ao as G,
|
|
725
|
-
La as H,
|
|
726
|
-
za as I,
|
|
727
|
-
Ja as L,
|
|
728
|
-
Ha as N,
|
|
729
|
-
ka as P,
|
|
730
|
-
Ma as S,
|
|
731
|
-
oo as T,
|
|
732
|
-
Ca as a,
|
|
733
|
-
Na as b,
|
|
734
|
-
Da as c,
|
|
735
|
-
ca as d,
|
|
736
|
-
Ea as e,
|
|
737
|
-
Ra as f,
|
|
738
|
-
da as g,
|
|
739
|
-
Qa as h,
|
|
740
|
-
Sa as i,
|
|
741
|
-
r as j,
|
|
742
|
-
Za as k,
|
|
743
|
-
Xa as l,
|
|
744
|
-
eo as m,
|
|
745
|
-
Ia as n,
|
|
746
|
-
Oa as o,
|
|
747
|
-
ja as p,
|
|
748
|
-
Va as q,
|
|
749
|
-
Ya as r,
|
|
750
|
-
s,
|
|
751
|
-
wa as t,
|
|
752
|
-
ro as u,
|
|
753
|
-
ua as v,
|
|
754
|
-
Ba as w,
|
|
755
|
-
_a as x,
|
|
756
|
-
Ua as y,
|
|
757
|
-
qa as z
|
|
758
|
-
};
|