@uipath/apollo-react 6.79.0 → 7.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (52) hide show
  1. package/dist/canvas/components/Guardrails/guardrail-builder.cjs +5 -5
  2. package/dist/canvas/components/Guardrails/guardrail-builder.d.ts.map +1 -1
  3. package/dist/canvas/components/Guardrails/guardrail-builder.js +6 -6
  4. package/dist/canvas/components/Guardrails/index.cjs +7 -7
  5. package/dist/canvas/components/Guardrails/index.d.ts +2 -2
  6. package/dist/canvas/components/Guardrails/index.d.ts.map +1 -1
  7. package/dist/canvas/components/Guardrails/index.js +2 -2
  8. package/dist/canvas/components/Guardrails/types.d.ts +1 -1
  9. package/dist/canvas/components/Guardrails/types.d.ts.map +1 -1
  10. package/dist/canvas/components/Guardrails/utils.cjs +9 -9
  11. package/dist/canvas/components/Guardrails/utils.d.ts +3 -3
  12. package/dist/canvas/components/Guardrails/utils.d.ts.map +1 -1
  13. package/dist/canvas/components/Guardrails/utils.js +4 -4
  14. package/dist/canvas/components/JsonTree/index.cjs +4 -0
  15. package/dist/canvas/components/JsonTree/index.d.ts +1 -1
  16. package/dist/canvas/components/JsonTree/index.d.ts.map +1 -1
  17. package/dist/canvas/components/JsonTree/index.js +2 -2
  18. package/dist/canvas/components/NodeIOView/NodeIOView.cjs +10 -12
  19. package/dist/canvas/components/NodeIOView/NodeIOView.d.ts +1 -1
  20. package/dist/canvas/components/NodeIOView/NodeIOView.d.ts.map +1 -1
  21. package/dist/canvas/components/NodeIOView/NodeIOView.js +12 -14
  22. package/dist/canvas/components/NodeIOView/NodeIOView.types.d.ts +2 -0
  23. package/dist/canvas/components/NodeIOView/NodeIOView.types.d.ts.map +1 -1
  24. package/dist/canvas/components/NodePropertyPanel/NodePropertyPanel.cjs +6 -6
  25. package/dist/canvas/components/NodePropertyPanel/NodePropertyPanel.d.ts.map +1 -1
  26. package/dist/canvas/components/NodePropertyPanel/NodePropertyPanel.js +6 -6
  27. package/dist/canvas/components/NodeVariablesPanel/NodeVariableEditDialog.cjs +405 -0
  28. package/dist/canvas/components/NodeVariablesPanel/NodeVariableEditDialog.d.ts +10 -0
  29. package/dist/canvas/components/NodeVariablesPanel/NodeVariableEditDialog.d.ts.map +1 -0
  30. package/dist/canvas/components/NodeVariablesPanel/NodeVariableEditDialog.js +371 -0
  31. package/dist/canvas/components/NodeVariablesPanel/NodeVariablesPanel.cjs +726 -0
  32. package/dist/canvas/components/NodeVariablesPanel/NodeVariablesPanel.d.ts +3 -0
  33. package/dist/canvas/components/NodeVariablesPanel/NodeVariablesPanel.d.ts.map +1 -0
  34. package/dist/canvas/components/NodeVariablesPanel/NodeVariablesPanel.js +692 -0
  35. package/dist/canvas/components/NodeVariablesPanel/NodeVariablesPanel.types.cjs +18 -0
  36. package/dist/canvas/components/NodeVariablesPanel/NodeVariablesPanel.types.d.ts +65 -0
  37. package/dist/canvas/components/NodeVariablesPanel/NodeVariablesPanel.types.d.ts.map +1 -0
  38. package/dist/canvas/components/NodeVariablesPanel/NodeVariablesPanel.types.js +0 -0
  39. package/dist/canvas/components/NodeVariablesPanel/index.cjs +36 -0
  40. package/dist/canvas/components/NodeVariablesPanel/index.d.ts +3 -0
  41. package/dist/canvas/components/NodeVariablesPanel/index.d.ts.map +1 -0
  42. package/dist/canvas/components/NodeVariablesPanel/index.js +2 -0
  43. package/dist/canvas/components/index.cjs +23 -16
  44. package/dist/canvas/components/index.d.ts +1 -0
  45. package/dist/canvas/components/index.d.ts.map +1 -1
  46. package/dist/canvas/components/index.js +1 -0
  47. package/dist/canvas/locales/en.cjs +1 -1
  48. package/dist/canvas/locales/en.d.ts.map +1 -1
  49. package/dist/canvas/locales/en.js +1 -1
  50. package/dist/canvas/styles/tailwind.canvas.css +1 -1
  51. package/dist/chat/styles/tailwind.chat.css +1 -1
  52. package/package.json +3 -3
@@ -38,7 +38,7 @@ function findFieldElement(root, name) {
38
38
  for (const field of fields)if (field.getAttribute('data-field-name') === name) return field;
39
39
  return null;
40
40
  }
41
- function NodePropertyPanel({ panelTitle, dragHandleProps, onClose, nodeIcon, nodeLabel, nodeCategory, nodeDescription, nodeLabelPlaceholder, nodeDescriptionPlaceholder, onNodeLabelChange, onNodeLabelSubmit, onNodeDescriptionChange, onNodeDescriptionSubmit, nodeLabelError, nodeDescriptionError, action, schema, plugins, onSubmit, disabled, autoComplete, resetKey, className, contentInset = '1.5rem', children, headerExtra, sectionVariant, activeStepId, onActiveStepChange, changedFields }) {
41
+ function NodePropertyPanel({ panelTitle, dragHandleProps, onClose, nodeIcon, nodeLabel, nodeCategory, nodeDescription, nodeLabelPlaceholder, nodeDescriptionPlaceholder, onNodeLabelChange, onNodeLabelSubmit, onNodeDescriptionChange, onNodeDescriptionSubmit, nodeLabelError, nodeDescriptionError, action, schema, plugins, onSubmit, disabled, autoComplete, resetKey, className, contentInset = '1rem', children, headerExtra, sectionVariant, activeStepId, onActiveStepChange, changedFields }) {
42
42
  const { _ } = (0, index_cjs_namespaceObject.useSafeLingui)();
43
43
  const rootRef = (0, external_react_namespaceObject.useRef)(null);
44
44
  const scrolledKeyRef = (0, external_react_namespaceObject.useRef)(null);
@@ -109,7 +109,7 @@ function NodePropertyPanel({ panelTitle, dragHandleProps, onClose, nodeIcon, nod
109
109
  children: [
110
110
  panelTitle && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
111
111
  "data-slot": "node-property-panel-titlebar",
112
- className: "flex h-10 shrink-0 items-center justify-between px-2",
112
+ className: "flex h-10 shrink-0 items-center justify-between [padding-inline:var(--mf-content-inset,1rem)]",
113
113
  children: [
114
114
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
115
115
  className: "flex items-center gap-1",
@@ -117,7 +117,7 @@ function NodePropertyPanel({ panelTitle, dragHandleProps, onClose, nodeIcon, nod
117
117
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
118
118
  ...dragHandleProps,
119
119
  "data-slot": "node-property-panel-drag-handle",
120
- className: "grid size-8 cursor-grab touch-none place-items-center text-foreground-subtle active:cursor-grabbing",
120
+ className: "ml-[calc(-1*min(14px,var(--mf-content-inset,1rem)))] grid size-8 cursor-grab touch-none place-items-center text-foreground-subtle active:cursor-grabbing",
121
121
  children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.GripVertical, {
122
122
  size: 14
123
123
  })
@@ -143,7 +143,7 @@ function NodePropertyPanel({ panelTitle, dragHandleProps, onClose, nodeIcon, nod
143
143
  id: 'canvas.node_property_panel.close',
144
144
  message: 'Close'
145
145
  }),
146
- className: "grid size-6 place-items-center rounded text-foreground-muted transition hover:bg-surface-overlay hover:text-foreground",
146
+ className: "mr-[calc(-1*min(8px,var(--mf-content-inset,1rem)))] grid size-6 place-items-center rounded text-foreground-muted transition hover:bg-surface-overlay hover:text-foreground",
147
147
  children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.X, {
148
148
  size: 14
149
149
  })
@@ -153,7 +153,7 @@ function NodePropertyPanel({ panelTitle, dragHandleProps, onClose, nodeIcon, nod
153
153
  ]
154
154
  }),
155
155
  hasNodeHeader && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
156
- className: "flex shrink-0 items-center justify-between gap-4 py-4 [padding-inline:var(--mf-content-inset,1.5rem)]",
156
+ className: "flex shrink-0 items-center justify-between gap-4 py-4 [padding-inline:var(--mf-content-inset,1rem)]",
157
157
  children: [
158
158
  /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
159
159
  className: "flex min-w-0 flex-1 items-center gap-3.5",
@@ -254,7 +254,7 @@ function NodePropertyPanel({ panelTitle, dragHandleProps, onClose, nodeIcon, nod
254
254
  }, resetKey)
255
255
  })
256
256
  }) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
257
- className: "py-4 text-xs text-foreground-subtle [padding-inline:var(--mf-content-inset,1.5rem)]",
257
+ className: "py-4 text-xs text-foreground-subtle [padding-inline:var(--mf-content-inset,1rem)]",
258
258
  children: "No form schema defined for this node."
259
259
  })
260
260
  ]
@@ -1 +1 @@
1
- {"version":3,"file":"NodePropertyPanel.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/NodePropertyPanel/NodePropertyPanel.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAuDxE,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,eAAe,EACf,OAAO,EACP,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,EACpB,MAAM,EACN,MAAM,EACN,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,YAAuB,EACvB,QAAQ,EACR,WAAW,EACX,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,aAAa,GACd,EAAE,sBAAsB,2CA8OxB"}
1
+ {"version":3,"file":"NodePropertyPanel.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/NodePropertyPanel/NodePropertyPanel.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,2BAA2B,CAAC;AAuDxE,wBAAgB,iBAAiB,CAAC,EAChC,UAAU,EACV,eAAe,EACf,OAAO,EACP,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,eAAe,EACf,oBAAoB,EACpB,0BAA0B,EAC1B,iBAAiB,EACjB,iBAAiB,EACjB,uBAAuB,EACvB,uBAAuB,EACvB,cAAc,EACd,oBAAoB,EACpB,MAAM,EACN,MAAM,EACN,OAAO,EACP,QAAQ,EACR,QAAQ,EACR,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,YAAqB,EACrB,QAAQ,EACR,WAAW,EACX,cAAc,EACd,YAAY,EACZ,kBAAkB,EAClB,aAAa,GACd,EAAE,sBAAsB,2CAoPxB"}
@@ -10,7 +10,7 @@ function findFieldElement(root, name) {
10
10
  for (const field of fields)if (field.getAttribute('data-field-name') === name) return field;
11
11
  return null;
12
12
  }
13
- function NodePropertyPanel({ panelTitle, dragHandleProps, onClose, nodeIcon, nodeLabel, nodeCategory, nodeDescription, nodeLabelPlaceholder, nodeDescriptionPlaceholder, onNodeLabelChange, onNodeLabelSubmit, onNodeDescriptionChange, onNodeDescriptionSubmit, nodeLabelError, nodeDescriptionError, action, schema, plugins, onSubmit, disabled, autoComplete, resetKey, className, contentInset = '1.5rem', children, headerExtra, sectionVariant, activeStepId, onActiveStepChange, changedFields }) {
13
+ function NodePropertyPanel({ panelTitle, dragHandleProps, onClose, nodeIcon, nodeLabel, nodeCategory, nodeDescription, nodeLabelPlaceholder, nodeDescriptionPlaceholder, onNodeLabelChange, onNodeLabelSubmit, onNodeDescriptionChange, onNodeDescriptionSubmit, nodeLabelError, nodeDescriptionError, action, schema, plugins, onSubmit, disabled, autoComplete, resetKey, className, contentInset = '1rem', children, headerExtra, sectionVariant, activeStepId, onActiveStepChange, changedFields }) {
14
14
  const { _ } = useSafeLingui();
15
15
  const rootRef = useRef(null);
16
16
  const scrolledKeyRef = useRef(null);
@@ -81,7 +81,7 @@ function NodePropertyPanel({ panelTitle, dragHandleProps, onClose, nodeIcon, nod
81
81
  children: [
82
82
  panelTitle && /*#__PURE__*/ jsxs("div", {
83
83
  "data-slot": "node-property-panel-titlebar",
84
- className: "flex h-10 shrink-0 items-center justify-between px-2",
84
+ className: "flex h-10 shrink-0 items-center justify-between [padding-inline:var(--mf-content-inset,1rem)]",
85
85
  children: [
86
86
  /*#__PURE__*/ jsxs("div", {
87
87
  className: "flex items-center gap-1",
@@ -89,7 +89,7 @@ function NodePropertyPanel({ panelTitle, dragHandleProps, onClose, nodeIcon, nod
89
89
  /*#__PURE__*/ jsx("div", {
90
90
  ...dragHandleProps,
91
91
  "data-slot": "node-property-panel-drag-handle",
92
- className: "grid size-8 cursor-grab touch-none place-items-center text-foreground-subtle active:cursor-grabbing",
92
+ className: "ml-[calc(-1*min(14px,var(--mf-content-inset,1rem)))] grid size-8 cursor-grab touch-none place-items-center text-foreground-subtle active:cursor-grabbing",
93
93
  children: /*#__PURE__*/ jsx(GripVertical, {
94
94
  size: 14
95
95
  })
@@ -115,7 +115,7 @@ function NodePropertyPanel({ panelTitle, dragHandleProps, onClose, nodeIcon, nod
115
115
  id: 'canvas.node_property_panel.close',
116
116
  message: 'Close'
117
117
  }),
118
- className: "grid size-6 place-items-center rounded text-foreground-muted transition hover:bg-surface-overlay hover:text-foreground",
118
+ className: "mr-[calc(-1*min(8px,var(--mf-content-inset,1rem)))] grid size-6 place-items-center rounded text-foreground-muted transition hover:bg-surface-overlay hover:text-foreground",
119
119
  children: /*#__PURE__*/ jsx(X, {
120
120
  size: 14
121
121
  })
@@ -125,7 +125,7 @@ function NodePropertyPanel({ panelTitle, dragHandleProps, onClose, nodeIcon, nod
125
125
  ]
126
126
  }),
127
127
  hasNodeHeader && /*#__PURE__*/ jsxs("div", {
128
- className: "flex shrink-0 items-center justify-between gap-4 py-4 [padding-inline:var(--mf-content-inset,1.5rem)]",
128
+ className: "flex shrink-0 items-center justify-between gap-4 py-4 [padding-inline:var(--mf-content-inset,1rem)]",
129
129
  children: [
130
130
  /*#__PURE__*/ jsxs("div", {
131
131
  className: "flex min-w-0 flex-1 items-center gap-3.5",
@@ -226,7 +226,7 @@ function NodePropertyPanel({ panelTitle, dragHandleProps, onClose, nodeIcon, nod
226
226
  }, resetKey)
227
227
  })
228
228
  }) : /*#__PURE__*/ jsx("div", {
229
- className: "py-4 text-xs text-foreground-subtle [padding-inline:var(--mf-content-inset,1.5rem)]",
229
+ className: "py-4 text-xs text-foreground-subtle [padding-inline:var(--mf-content-inset,1rem)]",
230
230
  children: "No form schema defined for this node."
231
231
  })
232
232
  ]
@@ -0,0 +1,405 @@
1
+ "use strict";
2
+ var __webpack_require__ = {};
3
+ (()=>{
4
+ __webpack_require__.d = (exports1, definition)=>{
5
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
6
+ enumerable: true,
7
+ get: definition[key]
8
+ });
9
+ };
10
+ })();
11
+ (()=>{
12
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
13
+ })();
14
+ (()=>{
15
+ __webpack_require__.r = (exports1)=>{
16
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
17
+ value: 'Module'
18
+ });
19
+ Object.defineProperty(exports1, '__esModule', {
20
+ value: true
21
+ });
22
+ };
23
+ })();
24
+ var __webpack_exports__ = {};
25
+ __webpack_require__.r(__webpack_exports__);
26
+ __webpack_require__.d(__webpack_exports__, {
27
+ NodeVariableEditDialog: ()=>NodeVariableEditDialog
28
+ });
29
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
30
+ const apollo_wind_namespaceObject = require("@uipath/apollo-wind");
31
+ const external_lucide_react_namespaceObject = require("lucide-react");
32
+ const external_react_namespaceObject = require("react");
33
+ const index_cjs_namespaceObject = require("../../../i18n/index.cjs");
34
+ const VARIABLE_TYPES = [
35
+ 'string',
36
+ 'number',
37
+ 'boolean',
38
+ 'object',
39
+ 'array'
40
+ ];
41
+ const IDENTIFIER_PATTERN = /^[A-Za-z_][A-Za-z0-9_]*$/;
42
+ function draftFor(type, value) {
43
+ if (null == value) return '';
44
+ if ('object' === type || 'array' === type) return JSON.stringify(value, null, 2);
45
+ return String(value);
46
+ }
47
+ function parseDefault(type, draft, checked) {
48
+ if ('boolean' === type) return {
49
+ value: checked
50
+ };
51
+ const text = draft.trim();
52
+ if (!text) return {
53
+ value: void 0
54
+ };
55
+ if ('string' === type) return {
56
+ value: draft
57
+ };
58
+ if ('number' === type) {
59
+ const value = Number(text);
60
+ return Number.isFinite(value) ? {
61
+ value
62
+ } : {
63
+ error: true
64
+ };
65
+ }
66
+ try {
67
+ const value = JSON.parse(text);
68
+ const isArray = Array.isArray(value);
69
+ const isObject = 'object' == typeof value && null !== value && !isArray;
70
+ return ('array' === type ? isArray : isObject) ? {
71
+ value
72
+ } : {
73
+ error: true
74
+ };
75
+ } catch {
76
+ return {
77
+ error: true
78
+ };
79
+ }
80
+ }
81
+ function NodeVariableEditDialog({ variable, takenNames, referenceFor, onSave, onClose }) {
82
+ const { _ } = (0, index_cjs_namespaceObject.useSafeLingui)();
83
+ const fieldId = (0, external_react_namespaceObject.useId)();
84
+ const idInputRef = (0, external_react_namespaceObject.useRef)(null);
85
+ const [id, setId] = (0, external_react_namespaceObject.useState)(variable.id);
86
+ const [editingId, setEditingId] = (0, external_react_namespaceObject.useState)(()=>!IDENTIFIER_PATTERN.test(variable.id));
87
+ const [type, setType] = (0, external_react_namespaceObject.useState)(variable.type);
88
+ const [description, setDescription] = (0, external_react_namespaceObject.useState)(variable.description ?? '');
89
+ const [draft, setDraftState] = (0, external_react_namespaceObject.useState)(()=>draftFor(variable.type, variable.defaultValue));
90
+ const [checked, setCheckedState] = (0, external_react_namespaceObject.useState)('boolean' == typeof variable.defaultValue ? variable.defaultValue : void 0);
91
+ const [defaultEdited, setDefaultEdited] = (0, external_react_namespaceObject.useState)(false);
92
+ const setDraft = (next)=>{
93
+ setDraftState(next);
94
+ setDefaultEdited(true);
95
+ };
96
+ const setChecked = (next)=>{
97
+ setCheckedState(next);
98
+ setDefaultEdited(true);
99
+ };
100
+ const nullPlaceholder = null !== variable.defaultValue || defaultEdited ? void 0 : 'null';
101
+ const trimmedId = id.trim();
102
+ const idError = IDENTIFIER_PATTERN.test(trimmedId) ? trimmedId !== variable.id && takenNames.has(trimmedId) ? _({
103
+ id: 'canvas.node_variables_panel.edit_id_taken_error',
104
+ message: 'A variable named {name} already exists.',
105
+ values: {
106
+ name: trimmedId
107
+ }
108
+ }) : void 0 : _({
109
+ id: 'canvas.node_variables_panel.edit_id_pattern_error',
110
+ message: 'Use a letter or underscore first, then letters, numbers, or underscores.'
111
+ });
112
+ const parsed = parseDefault(type, draft, checked);
113
+ const defaultError = 'error' in parsed ? ({
114
+ number: _({
115
+ id: 'canvas.node_variables_panel.edit_default_number_error',
116
+ message: 'Enter a number.'
117
+ }),
118
+ object: _({
119
+ id: 'canvas.node_variables_panel.edit_default_object_error',
120
+ message: 'Enter a valid JSON object.'
121
+ }),
122
+ array: _({
123
+ id: 'canvas.node_variables_panel.edit_default_array_error',
124
+ message: 'Enter a valid JSON array.'
125
+ })
126
+ })[type] : void 0;
127
+ const changeType = (next)=>{
128
+ setType(next);
129
+ setDraft('');
130
+ setChecked(void 0);
131
+ };
132
+ const submit = (event)=>{
133
+ event.preventDefault();
134
+ if (idError || 'error' in parsed) return;
135
+ const untouched = !defaultEdited;
136
+ onSave({
137
+ id: trimmedId,
138
+ type,
139
+ description: description.trim() || void 0,
140
+ defaultValue: untouched ? variable.defaultValue : parsed.value
141
+ });
142
+ };
143
+ const typeLabel = {
144
+ string: _({
145
+ id: 'canvas.node_variables_panel.type_string',
146
+ message: 'String'
147
+ }),
148
+ number: _({
149
+ id: 'canvas.node_variables_panel.type_number',
150
+ message: 'Number'
151
+ }),
152
+ boolean: _({
153
+ id: 'canvas.node_variables_panel.type_boolean',
154
+ message: 'Boolean'
155
+ }),
156
+ object: _({
157
+ id: 'canvas.node_variables_panel.type_object',
158
+ message: 'Object'
159
+ }),
160
+ array: _({
161
+ id: 'canvas.node_variables_panel.type_array',
162
+ message: 'Array'
163
+ })
164
+ };
165
+ const defaultLabel = _({
166
+ id: 'canvas.node_variables_panel.edit_default_label',
167
+ message: 'Default value'
168
+ });
169
+ const reference = referenceFor(IDENTIFIER_PATTERN.test(trimmedId) ? trimmedId : variable.id);
170
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.Dialog, {
171
+ open: true,
172
+ onOpenChange: (open)=>!open && onClose(),
173
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.DialogContent, {
174
+ "aria-describedby": void 0,
175
+ onKeyDown: (event)=>event.stopPropagation(),
176
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("form", {
177
+ onSubmit: submit,
178
+ noValidate: true,
179
+ className: "grid gap-4",
180
+ children: [
181
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.DialogHeader, {
182
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(apollo_wind_namespaceObject.DialogTitle, {
183
+ className: "flex items-center gap-2",
184
+ children: [
185
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.Database, {
186
+ size: 16,
187
+ "aria-hidden": "true",
188
+ className: "text-foreground-muted"
189
+ }),
190
+ _({
191
+ id: 'canvas.node_variables_panel.edit_title',
192
+ message: 'Edit variable'
193
+ })
194
+ ]
195
+ })
196
+ }),
197
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(apollo_wind_namespaceObject.FormField, {
198
+ children: [
199
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.FormFieldLabel, {
200
+ htmlFor: `${fieldId}-id`,
201
+ children: _({
202
+ id: 'canvas.node_variables_panel.edit_id_label',
203
+ message: 'ID'
204
+ })
205
+ }),
206
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
207
+ className: "flex items-start gap-2",
208
+ children: [
209
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.Input, {
210
+ ref: idInputRef,
211
+ id: `${fieldId}-id`,
212
+ value: id,
213
+ disabled: !editingId,
214
+ onChange: (event)=>setId(event.target.value),
215
+ error: editingId ? idError : void 0,
216
+ "aria-describedby": `${fieldId}-id-hint`,
217
+ autoComplete: "off",
218
+ spellCheck: false,
219
+ className: "flex-1 font-mono"
220
+ }),
221
+ !editingId && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.Button, {
222
+ type: "button",
223
+ variant: "outline",
224
+ size: "icon",
225
+ "aria-label": _({
226
+ id: 'canvas.node_variables_panel.edit_id_action',
227
+ message: 'Edit ID'
228
+ }),
229
+ onClick: ()=>{
230
+ setEditingId(true);
231
+ requestAnimationFrame(()=>idInputRef.current?.select());
232
+ },
233
+ className: "shrink-0",
234
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.Pencil, {})
235
+ })
236
+ ]
237
+ }),
238
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(apollo_wind_namespaceObject.FormFieldDescription, {
239
+ id: `${fieldId}-id-hint`,
240
+ children: [
241
+ _({
242
+ id: 'canvas.node_variables_panel.edit_id_hint',
243
+ message: 'Used in expressions as'
244
+ }),
245
+ ' ',
246
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("code", {
247
+ className: "break-all rounded bg-surface-overlay px-1 py-0.5 font-mono text-xs",
248
+ children: reference
249
+ })
250
+ ]
251
+ })
252
+ ]
253
+ }),
254
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(apollo_wind_namespaceObject.FormField, {
255
+ children: [
256
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.FormFieldLabel, {
257
+ htmlFor: `${fieldId}-type`,
258
+ children: _({
259
+ id: 'canvas.node_variables_panel.edit_type_label',
260
+ message: 'Data type'
261
+ })
262
+ }),
263
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(apollo_wind_namespaceObject.Select, {
264
+ value: type,
265
+ onValueChange: (next)=>changeType(next),
266
+ children: [
267
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.SelectTrigger, {
268
+ id: `${fieldId}-type`,
269
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.SelectValue, {})
270
+ }),
271
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.SelectContent, {
272
+ children: VARIABLE_TYPES.map((option)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.SelectItem, {
273
+ value: option,
274
+ children: typeLabel[option]
275
+ }, option))
276
+ })
277
+ ]
278
+ })
279
+ ]
280
+ }),
281
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(apollo_wind_namespaceObject.FormField, {
282
+ children: [
283
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.FormFieldLabel, {
284
+ htmlFor: `${fieldId}-description`,
285
+ children: _({
286
+ id: "canvas.node_variables_panel.edit_description_label",
287
+ message: "Description"
288
+ })
289
+ }),
290
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.Textarea, {
291
+ id: `${fieldId}-description`,
292
+ value: description,
293
+ onChange: (event)=>setDescription(event.target.value),
294
+ placeholder: _({
295
+ id: "canvas.node_variables_panel.edit_description_placeholder",
296
+ message: "Helpful description of what this variable represents"
297
+ }),
298
+ rows: 2
299
+ })
300
+ ]
301
+ }),
302
+ 'boolean' === type ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(apollo_wind_namespaceObject.FormField, {
303
+ children: [
304
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.FormFieldLabel, {
305
+ htmlFor: `${fieldId}-default`,
306
+ children: defaultLabel
307
+ }),
308
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
309
+ className: "flex items-center gap-2",
310
+ children: [
311
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.Switch, {
312
+ id: `${fieldId}-default`,
313
+ checked: checked ?? false,
314
+ onCheckedChange: setChecked,
315
+ "aria-describedby": `${fieldId}-default-hint`
316
+ }),
317
+ void 0 !== checked && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.Button, {
318
+ type: "button",
319
+ variant: "ghost",
320
+ size: "2xs",
321
+ onClick: ()=>setChecked(void 0),
322
+ "aria-label": _({
323
+ id: 'canvas.node_variables_panel.edit_default_clear_label',
324
+ message: 'Clear default value'
325
+ }),
326
+ children: _({
327
+ id: 'canvas.node_variables_panel.edit_default_clear',
328
+ message: 'Clear'
329
+ })
330
+ })
331
+ ]
332
+ }),
333
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.FormFieldDescription, {
334
+ id: `${fieldId}-default-hint`,
335
+ children: void 0 === checked ? _({
336
+ id: 'canvas.node_variables_panel.edit_default_boolean_unset_hint',
337
+ message: 'No default. Toggle on for true, off for false'
338
+ }) : _({
339
+ id: 'canvas.node_variables_panel.edit_default_boolean_hint',
340
+ message: 'Toggle on for true, off for false'
341
+ })
342
+ })
343
+ ]
344
+ }) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(apollo_wind_namespaceObject.FormField, {
345
+ children: [
346
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.FormFieldLabel, {
347
+ htmlFor: `${fieldId}-default`,
348
+ children: defaultLabel
349
+ }),
350
+ 'object' === type || 'array' === type ? /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.Textarea, {
351
+ id: `${fieldId}-default`,
352
+ value: draft,
353
+ onChange: (event)=>setDraft(event.target.value),
354
+ placeholder: nullPlaceholder ?? ('object' === type ? '{"key": "value"}' : '[1, 2, 3]'),
355
+ error: defaultError,
356
+ rows: 4,
357
+ spellCheck: false,
358
+ className: "font-mono"
359
+ }) : /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.Input, {
360
+ id: `${fieldId}-default`,
361
+ value: draft,
362
+ onChange: (event)=>setDraft(event.target.value),
363
+ inputMode: 'number' === type ? 'decimal' : void 0,
364
+ placeholder: nullPlaceholder ?? ('number' === type ? '0' : _({
365
+ id: 'canvas.node_variables_panel.edit_default_string_placeholder',
366
+ message: 'Enter text value'
367
+ })),
368
+ error: defaultError,
369
+ autoComplete: "off"
370
+ })
371
+ ]
372
+ }),
373
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(apollo_wind_namespaceObject.DialogFooter, {
374
+ children: [
375
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.Button, {
376
+ type: "button",
377
+ variant: "outline",
378
+ onClick: onClose,
379
+ children: _({
380
+ id: 'canvas.node_variables_panel.edit_cancel',
381
+ message: 'Cancel'
382
+ })
383
+ }),
384
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(apollo_wind_namespaceObject.Button, {
385
+ type: "submit",
386
+ disabled: !!idError || !!defaultError,
387
+ children: _({
388
+ id: 'canvas.node_variables_panel.edit_save',
389
+ message: 'Save'
390
+ })
391
+ })
392
+ ]
393
+ })
394
+ ]
395
+ })
396
+ })
397
+ });
398
+ }
399
+ exports.NodeVariableEditDialog = __webpack_exports__.NodeVariableEditDialog;
400
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
401
+ "NodeVariableEditDialog"
402
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
403
+ Object.defineProperty(exports, '__esModule', {
404
+ value: true
405
+ });
@@ -0,0 +1,10 @@
1
+ import type { NodeVariableDetails } from './NodeVariablesPanel.types';
2
+ export interface NodeVariableEditDialogProps {
3
+ variable: NodeVariableDetails;
4
+ takenNames: ReadonlySet<string>;
5
+ referenceFor: (id: string) => string;
6
+ onSave: (next: NodeVariableDetails) => void;
7
+ onClose: () => void;
8
+ }
9
+ export declare function NodeVariableEditDialog({ variable, takenNames, referenceFor, onSave, onClose, }: NodeVariableEditDialogProps): import("react/jsx-runtime").JSX.Element;
10
+ //# sourceMappingURL=NodeVariableEditDialog.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"NodeVariableEditDialog.d.ts","sourceRoot":"","sources":["../../../../src/canvas/components/NodeVariablesPanel/NodeVariableEditDialog.tsx"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,mBAAmB,EAAoB,MAAM,4BAA4B,CAAC;AA6CxF,MAAM,WAAW,2BAA2B;IAE1C,QAAQ,EAAE,mBAAmB,CAAC;IAE9B,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAEhC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,MAAM,CAAC;IACrC,MAAM,EAAE,CAAC,IAAI,EAAE,mBAAmB,KAAK,IAAI,CAAC;IAC5C,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AAOD,wBAAgB,sBAAsB,CAAC,EACrC,QAAQ,EACR,UAAU,EACV,YAAY,EACZ,MAAM,EACN,OAAO,GACR,EAAE,2BAA2B,2CA+R7B"}