@parallelworks/ui 0.40.1 → 0.42.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +25 -0
- package/dist/ai/adapter/memoryStore.js +7 -0
- package/dist/ai/adapter/mock/mockAdapter.js +52 -17
- package/dist/ai/adapter/openai/createOpenAIStream.js +1 -1
- package/dist/ai/adapter/openai/index.d.ts +1 -1
- package/dist/ai/adapter/openai/sse.d.ts +8 -2
- package/dist/ai/adapter/openai/sse.js +40 -4
- package/dist/ai/adapter/openai/wire.d.ts +6 -0
- package/dist/ai/components/AllocationSelector.d.ts +3 -4
- package/dist/ai/components/AllocationSelector.js +37 -33
- package/dist/ai/components/AttachmentManager.js +7 -7
- package/dist/ai/components/AttachmentUpload.js +5 -5
- package/dist/ai/components/BranchNavigator.js +1 -1
- package/dist/ai/components/ChatEmptyState.js +2 -2
- package/dist/ai/components/ChatInput.js +10 -8
- package/dist/ai/components/ChatLayout.js +4 -5
- package/dist/ai/components/ChatMessage.js +12 -12
- package/dist/ai/components/ChatMessageList.js +9 -9
- package/dist/ai/components/ChatSidebar.js +8 -9
- package/dist/ai/components/ChatThread.js +4 -4
- package/dist/ai/components/ComposerChrome.d.ts +2 -2
- package/dist/ai/components/ComposerChrome.js +3 -6
- package/dist/ai/components/DragOverlay.js +2 -2
- package/dist/ai/components/ModelSelector.d.ts +5 -3
- package/dist/ai/components/ModelSelector.js +102 -339
- package/dist/ai/components/PastedText.js +11 -11
- package/dist/ai/components/ProviderIssueBanner.d.ts +2 -0
- package/dist/ai/components/ProviderIssueBanner.js +34 -16
- package/dist/ai/components/Reasoning.js +4 -4
- package/dist/ai/components/ShareDialog.js +43 -35
- package/dist/ai/components/SlashMenu.d.ts +12 -2
- package/dist/ai/components/SlashMenu.js +29 -13
- package/dist/ai/components/agent/ActivityLine.js +3 -3
- package/dist/ai/components/agent/AgentMessageParts.js +20 -20
- package/dist/ai/components/agent/PermissionPicker.js +13 -11
- package/dist/ai/components/conversationActions.d.ts +4 -6
- package/dist/ai/components/conversationActions.js +9 -13
- package/dist/ai/core/ChatProvider.js +4 -4
- package/dist/ai/core/config.js +1 -1
- package/dist/ai/core/parts.d.ts +5 -0
- package/dist/ai/core/parts.js +28 -1
- package/dist/ai/core/providerIssues.d.ts +7 -0
- package/dist/ai/core/providerIssues.js +9 -1
- package/dist/ai/core/useKeyboardShortcuts.d.ts +4 -0
- package/dist/ai/core/useKeyboardShortcuts.js +8 -2
- package/dist/ai/index.d.ts +0 -1
- package/dist/ai/index.js +1 -2
- package/dist/ai/strings.d.ts +19 -0
- package/dist/ai/strings.js +18 -1
- package/dist/ai/ui/Avatar.js +5 -5
- package/dist/ai/ui/ConversationSidebar.d.ts +0 -1
- package/dist/ai/ui/ConversationSidebar.js +6 -7
- package/dist/ai/ui/Markdown.js +3 -3
- package/dist/ai/ui/Notice.js +6 -6
- package/dist/ai/ui/chip.d.ts +4 -0
- package/dist/ai/ui/chip.js +8 -0
- package/dist/ai/ui/sidebar.d.ts +6 -5
- package/dist/ai/ui/sidebar.js +39 -43
- package/dist/components/ActionMenu.d.ts +13 -0
- package/dist/components/ActionMenu.js +30 -0
- package/dist/components/Avatar.js +6 -6
- package/dist/components/Breadcrumbs.js +1 -1
- package/dist/components/Button.js +10 -10
- package/dist/components/Callout.js +2 -2
- package/dist/components/Card.js +3 -3
- package/dist/components/Combobox.d.ts +66 -0
- package/dist/components/Combobox.js +393 -0
- package/dist/components/ConfirmModal.js +11 -11
- package/dist/components/ContextMenu.d.ts +23 -0
- package/dist/components/ContextMenu.js +89 -0
- package/dist/components/CopyToClipboard.js +2 -2
- package/dist/components/CreateModal.d.ts +17 -36
- package/dist/components/CreateModal.js +97 -259
- package/dist/components/DescriptionList.js +8 -8
- package/dist/components/Filter.js +2 -2
- package/dist/components/FilterPill.js +2 -2
- package/dist/components/HoverCard.d.ts +14 -0
- package/dist/components/HoverCard.js +33 -0
- package/dist/components/IconButton.d.ts +5 -5
- package/dist/components/IconButton.js +18 -22
- package/dist/components/InfoTip.d.ts +15 -0
- package/dist/components/InfoTip.js +60 -0
- package/dist/components/Input.js +5 -5
- package/dist/components/LetterBadge.js +2 -2
- package/dist/components/Loader.js +3 -3
- package/dist/components/Markdown.js +1 -1
- package/dist/components/MarkdownImpl.js +2 -2
- package/dist/components/Menu.d.ts +33 -0
- package/dist/components/Menu.js +86 -0
- package/dist/components/MenuEntries.d.ts +56 -0
- package/dist/components/MenuEntries.js +123 -0
- package/dist/components/Modal.d.ts +29 -0
- package/dist/components/Modal.js +47 -0
- package/dist/components/Overview.js +11 -10
- package/dist/components/PageHeader.d.ts +10 -16
- package/dist/components/PageHeader.js +69 -95
- package/dist/components/Pagination.js +5 -5
- package/dist/components/Provider.d.ts +5 -11
- package/dist/components/Provider.js +11 -14
- package/dist/components/Radio.d.ts +8 -0
- package/dist/components/Radio.js +16 -0
- package/dist/components/SectionHeader.js +2 -2
- package/dist/components/SegmentedControl.d.ts +6 -5
- package/dist/components/SegmentedControl.js +34 -30
- package/dist/components/Select.d.ts +27 -0
- package/dist/components/Select.js +78 -0
- package/dist/components/SettingModeOption.d.ts +5 -8
- package/dist/components/SettingModeOption.js +10 -12
- package/dist/components/SettingRow.js +4 -4
- package/dist/components/SettingsCard.js +4 -4
- package/dist/components/SettingsGroup.js +2 -2
- package/dist/components/Sort.js +1 -1
- package/dist/components/StatusBadge.js +7 -7
- package/dist/components/StatusIcons.js +4 -4
- package/dist/components/Switch.d.ts +22 -0
- package/dist/components/Switch.js +28 -0
- package/dist/components/Table.js +11 -11
- package/dist/components/Tooltip.d.ts +24 -20
- package/dist/components/Tooltip.js +58 -76
- package/dist/components/floating.d.ts +14 -0
- package/dist/components/floating.js +21 -0
- package/dist/components/search.d.ts +2 -0
- package/dist/components/search.js +14 -0
- package/dist/editor/Editor.js +1 -1
- package/dist/editor/EditorField.js +16 -21
- package/dist/editor/FormCodePanel.js +19 -19
- package/dist/editor/Monaco.js +3 -3
- package/dist/file-explorer/FileExplorer.js +77 -81
- package/dist/file-explorer/FileExplorerContext.js +2 -2
- package/dist/file-explorer/FilePreview/CodePreviewEditor.js +1 -1
- package/dist/file-explorer/FilePreview/Inline.js +1 -1
- package/dist/file-explorer/FilePreview/StreamedBadge.js +5 -6
- package/dist/file-explorer/FilePreview/Viewer.js +8 -8
- package/dist/file-explorer/FilePreview/index.d.ts +1 -1
- package/dist/file-explorer/FilePreview/index.js +49 -83
- package/dist/file-explorer/FileRow.d.ts +4 -3
- package/dist/file-explorer/FileRow.js +32 -38
- package/dist/file-explorer/FileRowsWindow.d.ts +3 -2
- package/dist/file-explorer/FileRowsWindow.js +4 -4
- package/dist/file-explorer/FileTable.d.ts +3 -2
- package/dist/file-explorer/FileTable.js +3 -3
- package/dist/file-explorer/LoadMoreRow.js +1 -1
- package/dist/file-explorer/TreeView.js +11 -16
- package/dist/file-explorer/helpers.js +11 -12
- package/dist/file-explorer/toasts.js +11 -11
- package/dist/form/FieldGroup.d.ts +11 -0
- package/dist/form/FieldGroup.js +36 -0
- package/dist/form/FieldWrapper.js +4 -4
- package/dist/form/Fields/BooleanField.js +23 -33
- package/dist/form/Fields/CheckboxGroupField.d.ts +1 -1
- package/dist/form/Fields/CheckboxGroupField.js +9 -13
- package/dist/form/Fields/ColorField.d.ts +1 -2
- package/dist/form/Fields/ColorField.js +6 -11
- package/dist/form/Fields/DropdownField.d.ts +3 -13
- package/dist/form/Fields/DropdownField.js +40 -27
- package/dist/form/Fields/DurationField.d.ts +1 -2
- package/dist/form/Fields/DurationField.js +25 -32
- package/dist/form/Fields/LabelField.js +2 -2
- package/dist/form/Fields/MultiDropdownField.d.ts +6 -12
- package/dist/form/Fields/MultiDropdownField.js +31 -22
- package/dist/form/Fields/NumberField.d.ts +1 -1
- package/dist/form/Fields/NumberField.js +65 -35
- package/dist/form/Fields/ObjectField.d.ts +1 -1
- package/dist/form/Fields/ObjectField.js +12 -43
- package/dist/form/Fields/RadioField.d.ts +1 -1
- package/dist/form/Fields/RadioField.js +30 -41
- package/dist/form/Fields/RangeField.d.ts +1 -2
- package/dist/form/Fields/RangeField.js +23 -16
- package/dist/form/Fields/StringField.d.ts +1 -2
- package/dist/form/Fields/StringField.js +58 -26
- package/dist/form/Fields/TextAreaField.js +12 -10
- package/dist/form/Form.d.ts +30 -48
- package/dist/form/Form.js +306 -412
- package/dist/form/FormLayout.js +9 -9
- package/dist/form/Wizard/WizardContainer.d.ts +1 -4
- package/dist/form/Wizard/WizardContainer.js +40 -56
- package/dist/form/Wizard/WizardNavigation.js +1 -1
- package/dist/form/Wizard/WizardStepContent.d.ts +1 -5
- package/dist/form/Wizard/WizardStepContent.js +11 -16
- package/dist/form/Wizard/WizardStepIndicator.js +6 -6
- package/dist/form/Wizard/types.d.ts +0 -14
- package/dist/form/fieldRegistry.d.ts +1 -1
- package/dist/form/fieldRegistry.js +6 -6
- package/dist/form/formEditing.js +1 -1
- package/dist/form/index.d.ts +5 -4
- package/dist/form/index.js +6 -7
- package/dist/form/types/fieldComponentTypes.d.ts +8 -10
- package/dist/form/useChoiceField.d.ts +20 -0
- package/dist/form/useChoiceField.js +49 -0
- package/dist/form/useFieldValue.d.ts +7 -0
- package/dist/form/useFieldValue.js +20 -0
- package/dist/form/useParsedOpts.d.ts +3 -1
- package/dist/form/useParsedOpts.js +12 -17
- package/dist/form/utils/dependentOptions.d.ts +8 -4
- package/dist/form/utils/dependentOptions.js +25 -17
- package/dist/form/utils/fieldItems.d.ts +10 -0
- package/dist/form/utils/fieldItems.js +11 -0
- package/dist/form/utils/fieldPath.d.ts +10 -0
- package/dist/form/utils/fieldPath.js +20 -0
- package/dist/form/utils/shareEqual.d.ts +6 -0
- package/dist/form/utils/shareEqual.js +38 -0
- package/dist/graph/AnnotationBanner.js +8 -8
- package/dist/graph/Collapse.d.ts +1 -0
- package/dist/graph/Collapse.js +6 -27
- package/dist/graph/Connectors.js +5 -5
- package/dist/graph/DependencyGraph.js +20 -19
- package/dist/graph/GraphEditor.js +30 -41
- package/dist/graph/GraphEditorDialogs.js +17 -17
- package/dist/graph/GraphNode.js +1 -1
- package/dist/graph/InputDialog.js +19 -22
- package/dist/graph/InputsEditor.js +58 -66
- package/dist/graph/JobSummary.js +42 -39
- package/dist/graph/MatrixGroup.js +1 -1
- package/dist/graph/ProblemsButton.js +18 -19
- package/dist/graph/Reveal.js +1 -1
- package/dist/graph/ShortcutsButton.js +15 -18
- package/dist/graph/SuggestionInput.d.ts +5 -10
- package/dist/graph/SuggestionInput.js +14 -18
- package/dist/graph/ToolbarPopover.d.ts +11 -6
- package/dist/graph/ToolbarPopover.js +35 -67
- package/dist/graph/TreeView.js +24 -37
- package/dist/graph/WorkflowSettingsDialog.js +4 -4
- package/dist/graph/editorChrome.js +13 -12
- package/dist/graph/editorFields.js +29 -29
- package/dist/graph/editorPrimitives.d.ts +1 -1
- package/dist/graph/editorPrimitives.js +10 -7
- package/dist/graph/editorRows.js +103 -97
- package/dist/graph/fieldProblems.js +2 -2
- package/dist/graph/graphEditorState.d.ts +4 -3
- package/dist/graph/inputRefs.js +9 -9
- package/dist/graph/settingsViews.js +6 -7
- package/dist/graph/stepWith.js +6 -6
- package/dist/index.d.ts +14 -15
- package/dist/index.js +15 -14
- package/dist/list/ActionToolbar.d.ts +6 -14
- package/dist/list/ActionToolbar.js +48 -96
- package/dist/list/ListPage.d.ts +6 -12
- package/dist/list/ListPage.js +46 -29
- package/dist/list/ListPager.js +4 -4
- package/dist/list/ListTable.js +5 -5
- package/dist/list/ListViewControls.d.ts +5 -4
- package/dist/list/ListViewControls.js +177 -267
- package/dist/list/UserHoverCard.d.ts +3 -17
- package/dist/list/UserHoverCard.js +21 -45
- package/dist/list/index.d.ts +3 -4
- package/dist/list/index.js +3 -4
- package/dist/list/listSearch.js +12 -11
- package/dist/list/rowMenu.d.ts +63 -0
- package/dist/list/rowMenu.js +134 -0
- package/dist/logviewer/LogViewer.js +26 -26
- package/dist/styles.css +1 -1
- package/package.json +7 -13
- package/dist/ai/ui/Dropdown.d.ts +0 -31
- package/dist/ai/ui/Dropdown.js +0 -110
- package/dist/components/AddMenu.d.ts +0 -18
- package/dist/components/AddMenu.js +0 -46
- package/dist/components/BareModal.d.ts +0 -17
- package/dist/components/BareModal.js +0 -77
- package/dist/components/CollapsiblePanel.d.ts +0 -27
- package/dist/components/CollapsiblePanel.js +0 -77
- package/dist/components/Dropdown.d.ts +0 -28
- package/dist/components/Dropdown.js +0 -355
- package/dist/components/Listbox.d.ts +0 -21
- package/dist/components/Listbox.js +0 -119
- package/dist/components/MultiSelect.d.ts +0 -22
- package/dist/components/MultiSelect.js +0 -168
- package/dist/components/SwitchToggle.d.ts +0 -15
- package/dist/components/SwitchToggle.js +0 -57
- package/dist/components/SwitchToggleSmall.d.ts +0 -6
- package/dist/components/SwitchToggleSmall.js +0 -14
- package/dist/components/Toggle.d.ts +0 -6
- package/dist/components/Toggle.js +0 -20
- package/dist/components/dropdownUtils.d.ts +0 -37
- package/dist/components/dropdownUtils.js +0 -99
- package/dist/form/SpecialTypes/DropdownWrapper.d.ts +0 -25
- package/dist/form/SpecialTypes/DropdownWrapper.js +0 -28
- package/dist/form/SpecialTypes/FormikCustomDropdown.d.ts +0 -51
- package/dist/form/SpecialTypes/FormikCustomDropdown.js +0 -119
- package/dist/form/SpecialTypes/FormikCustomInput.d.ts +0 -19
- package/dist/form/SpecialTypes/FormikCustomInput.js +0 -121
- package/dist/form/SpecialTypes/FormikMultiSelectDropdown.d.ts +0 -13
- package/dist/form/SpecialTypes/FormikMultiSelectDropdown.js +0 -31
- package/dist/form/SpecialTypes/FormikNumericInput.d.ts +0 -9
- package/dist/form/SpecialTypes/FormikNumericInput.js +0 -60
- package/dist/form/SpecialTypes/index.d.ts +0 -3
- package/dist/list/HoverCard.d.ts +0 -24
- package/dist/list/HoverCard.js +0 -73
- package/dist/list/RowContextMenu.d.ts +0 -127
- package/dist/list/RowContextMenu.js +0 -515
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { useWorkflowEditing } from "../components/Provider.js";
|
|
2
1
|
import { BiSolidTrashAlt } from "../icons/bi/BiSolidTrashAlt.js";
|
|
3
2
|
import { BsGrid } from "../icons/bs/BsGrid.js";
|
|
4
3
|
import { FaEdit } from "../icons/fa/FaEdit.js";
|
|
@@ -7,8 +6,10 @@ import { FaPlus } from "../icons/fa/FaPlus.js";
|
|
|
7
6
|
import { HiDuplicate } from "../icons/hi/HiDuplicate.js";
|
|
8
7
|
import { IoMdClose } from "../icons/io/IoMdClose.js";
|
|
9
8
|
import { MdRefresh } from "../icons/md/MdRefresh.js";
|
|
9
|
+
import { useWorkflowEditing } from "../components/Provider.js";
|
|
10
|
+
import { menuDivider } from "../components/MenuEntries.js";
|
|
11
|
+
import { useContextMenu } from "../components/ContextMenu.js";
|
|
10
12
|
import { IconButton } from "../components/IconButton.js";
|
|
11
|
-
import { useRowMenu } from "../list/RowContextMenu.js";
|
|
12
13
|
import { createStore, reclaimFocus, returningFocus, trackDrag, useFocusAfterDialog, usePressOutside } from "./editorPrimitives.js";
|
|
13
14
|
import { jobLabel } from "./util.js";
|
|
14
15
|
import { EDITOR_HANDLE_CLASS, NO_EDGES, NO_PROBLEMS, NO_SELECTION, NO_STEPS, contentBox, labelsOf, sameEdge, sameStep, selectionBounds, toContent, useUi } from "./graphEditorState.js";
|
|
@@ -20,9 +21,9 @@ import { JobDialog, StepDialog } from "./GraphEditorDialogs.js";
|
|
|
20
21
|
import { overlaps, typing } from "./editorApi.js";
|
|
21
22
|
import { MOD_KEY } from "./ShortcutsButton.js";
|
|
22
23
|
import { AddChip, BarDivider, DragLabel, EditorBar } from "./editorChrome.js";
|
|
23
|
-
import
|
|
24
|
+
import { clsx } from "clsx";
|
|
25
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
24
26
|
import { useEffect, useMemo, useRef, useState } from "react";
|
|
25
|
-
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
26
27
|
//#region src/graph/GraphEditor.tsx
|
|
27
28
|
var EDGE_ZONE = 48;
|
|
28
29
|
var INDICATOR = 6;
|
|
@@ -331,7 +332,7 @@ function useGraphEditorState({ editor, jobs, yamlJobs, inputs, workflow, layout,
|
|
|
331
332
|
layout,
|
|
332
333
|
container
|
|
333
334
|
};
|
|
334
|
-
const rowMenu =
|
|
335
|
+
const rowMenu = useContextMenu();
|
|
335
336
|
const openMenu = useMemo(() => returningFocus(rowMenu.openMenu, () => latest.current.container), [rowMenu.openMenu]);
|
|
336
337
|
const contextMenu = rowMenu.contextMenu;
|
|
337
338
|
useFocusAfterDialog(store, () => latest.current.container);
|
|
@@ -716,60 +717,53 @@ function useGraphEditorState({ editor, jobs, yamlJobs, inputs, workflow, layout,
|
|
|
716
717
|
port: ""
|
|
717
718
|
}, [other]);
|
|
718
719
|
return edits ? [{
|
|
719
|
-
kind: "action",
|
|
720
720
|
label: jobLabel(other),
|
|
721
|
-
|
|
721
|
+
onClick: () => connectWith(edits, {
|
|
722
722
|
from: [job],
|
|
723
723
|
side
|
|
724
724
|
})
|
|
725
725
|
}] : [];
|
|
726
726
|
});
|
|
727
727
|
return items.length > 0 ? [{
|
|
728
|
-
kind: "submenu",
|
|
729
728
|
label,
|
|
730
729
|
icon: /* @__PURE__ */ jsx(FaLink, {}),
|
|
731
730
|
items
|
|
732
731
|
}] : [];
|
|
733
732
|
};
|
|
734
|
-
const openJobMenu = (
|
|
733
|
+
const openJobMenu = (at, job) => {
|
|
735
734
|
const matrix = isMatrix(latest.current.source[job]);
|
|
736
735
|
const items = [
|
|
737
736
|
{
|
|
738
|
-
kind: "action",
|
|
739
737
|
label: matrix ? t.editMatrix : t.editJob,
|
|
740
738
|
icon: matrix ? /* @__PURE__ */ jsx(BsGrid, {}) : /* @__PURE__ */ jsx(FaEdit, {}),
|
|
741
|
-
|
|
739
|
+
onClick: () => editJob(job)
|
|
742
740
|
},
|
|
743
741
|
{
|
|
744
|
-
kind: "action",
|
|
745
742
|
label: t.duplicate,
|
|
746
743
|
icon: /* @__PURE__ */ jsx(HiDuplicate, {}),
|
|
747
|
-
|
|
744
|
+
onClick: () => edit({
|
|
748
745
|
type: "duplicateJob",
|
|
749
746
|
job,
|
|
750
747
|
layout: materialize()
|
|
751
748
|
})
|
|
752
749
|
},
|
|
753
750
|
{
|
|
754
|
-
kind: "action",
|
|
755
751
|
label: t.addStep,
|
|
756
752
|
icon: /* @__PURE__ */ jsx(FaPlus, {}),
|
|
757
|
-
|
|
753
|
+
onClick: () => addStep(job)
|
|
758
754
|
},
|
|
759
755
|
matrix ? {
|
|
760
|
-
kind: "action",
|
|
761
756
|
label: t.removeMatrix,
|
|
762
757
|
icon: /* @__PURE__ */ jsx(IoMdClose, {}),
|
|
763
|
-
|
|
758
|
+
onClick: () => edit({
|
|
764
759
|
type: "setMatrix",
|
|
765
760
|
job,
|
|
766
761
|
variables: null
|
|
767
762
|
})
|
|
768
763
|
} : {
|
|
769
|
-
kind: "action",
|
|
770
764
|
label: t.makeMatrix,
|
|
771
765
|
icon: /* @__PURE__ */ jsx(BsGrid, {}),
|
|
772
|
-
|
|
766
|
+
onClick: () => edit({
|
|
773
767
|
type: "setMatrix",
|
|
774
768
|
job,
|
|
775
769
|
variables: [["value", [1, 2]]]
|
|
@@ -777,32 +771,29 @@ function useGraphEditorState({ editor, jobs, yamlJobs, inputs, workflow, layout,
|
|
|
777
771
|
},
|
|
778
772
|
...connectMenu(job, "in", t.menuDependsOn),
|
|
779
773
|
...connectMenu(job, "out", t.menuNeededBy),
|
|
780
|
-
|
|
774
|
+
menuDivider,
|
|
781
775
|
{
|
|
782
|
-
kind: "action",
|
|
783
776
|
label: t.deleteJob,
|
|
784
777
|
icon: /* @__PURE__ */ jsx(BiSolidTrashAlt, {}),
|
|
785
778
|
destructive: true,
|
|
786
|
-
|
|
779
|
+
onClick: () => edit({
|
|
787
780
|
type: "deleteJob",
|
|
788
781
|
jobs: [job]
|
|
789
782
|
})
|
|
790
783
|
}
|
|
791
784
|
];
|
|
792
|
-
openMenu(
|
|
785
|
+
openMenu(at, items);
|
|
793
786
|
};
|
|
794
|
-
const openStepMenu = (
|
|
795
|
-
openMenu(
|
|
796
|
-
kind: "action",
|
|
787
|
+
const openStepMenu = (at, job, index) => {
|
|
788
|
+
openMenu(at, [{
|
|
797
789
|
label: t.editStep,
|
|
798
790
|
icon: /* @__PURE__ */ jsx(FaEdit, {}),
|
|
799
|
-
|
|
791
|
+
onClick: () => editStep(job, index)
|
|
800
792
|
}, {
|
|
801
|
-
kind: "action",
|
|
802
793
|
label: t.deleteStep,
|
|
803
794
|
icon: /* @__PURE__ */ jsx(BiSolidTrashAlt, {}),
|
|
804
795
|
destructive: true,
|
|
805
|
-
|
|
796
|
+
onClick: () => edit({
|
|
806
797
|
type: "deleteStep",
|
|
807
798
|
job,
|
|
808
799
|
index
|
|
@@ -888,20 +879,19 @@ function useGraphEditorState({ editor, jobs, yamlJobs, inputs, workflow, layout,
|
|
|
888
879
|
});
|
|
889
880
|
return true;
|
|
890
881
|
};
|
|
891
|
-
const openEdgeMenu = (
|
|
882
|
+
const openEdgeMenu = (at, edge) => {
|
|
892
883
|
const cols = gridRef.current?.cols ?? [];
|
|
893
884
|
const deps = boxOf(cols, edge.from);
|
|
894
885
|
const targets = boxOf(cols, edge.to);
|
|
895
886
|
const refs = edgeRefs(edge);
|
|
896
887
|
const inUse = refsInUse(refs);
|
|
897
888
|
const items = [{
|
|
898
|
-
kind: "action",
|
|
899
889
|
label: t.removeDependency,
|
|
900
890
|
icon: /* @__PURE__ */ jsx(BiSolidTrashAlt, {}),
|
|
901
891
|
destructive: true,
|
|
902
892
|
disabled: inUse,
|
|
903
|
-
|
|
904
|
-
|
|
893
|
+
disabledReason: inUse ? t.dependencyInUse : void 0,
|
|
894
|
+
onClick: () => edit({
|
|
905
895
|
type: "disconnect",
|
|
906
896
|
needs: refs
|
|
907
897
|
})
|
|
@@ -909,11 +899,10 @@ function useGraphEditorState({ editor, jobs, yamlJobs, inputs, workflow, layout,
|
|
|
909
899
|
if (deps.length === 1 && isMatrix(latest.current.source[edge.from])) {
|
|
910
900
|
const any = refs.length > 0 && refs.every((r) => r.need.endsWith(":any"));
|
|
911
901
|
items.unshift({
|
|
912
|
-
kind: "action",
|
|
913
902
|
label: t.waitForAny,
|
|
914
903
|
icon: /* @__PURE__ */ jsx(BsGrid, {}),
|
|
915
|
-
|
|
916
|
-
|
|
904
|
+
checked: any,
|
|
905
|
+
onClick: () => edit({
|
|
917
906
|
type: "setNeedAny",
|
|
918
907
|
jobs: targets,
|
|
919
908
|
dep: edge.from,
|
|
@@ -922,7 +911,7 @@ function useGraphEditorState({ editor, jobs, yamlJobs, inputs, workflow, layout,
|
|
|
922
911
|
});
|
|
923
912
|
}
|
|
924
913
|
if (!store.get().edges.some((other) => sameEdge(other, edge))) selectEdge(edge, false);
|
|
925
|
-
openMenu(
|
|
914
|
+
openMenu(at, items);
|
|
926
915
|
};
|
|
927
916
|
const copySelection = () => {
|
|
928
917
|
const yml = latest.current.editor?.readSource?.();
|
|
@@ -1298,7 +1287,7 @@ function useGraphEditorState({ editor, jobs, yamlJobs, inputs, workflow, layout,
|
|
|
1298
1287
|
]);
|
|
1299
1288
|
return {
|
|
1300
1289
|
api,
|
|
1301
|
-
overlays: /* @__PURE__ */ jsxs(Fragment
|
|
1290
|
+
overlays: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1302
1291
|
/* @__PURE__ */ jsx(EditorToolbar, {
|
|
1303
1292
|
api,
|
|
1304
1293
|
editor,
|
|
@@ -1451,7 +1440,7 @@ function EditorToolbar({ api, editor, layout }) {
|
|
|
1451
1440
|
return /* @__PURE__ */ jsxs(EditorBar, {
|
|
1452
1441
|
editor: undoable,
|
|
1453
1442
|
groups: graphShortcuts(t),
|
|
1454
|
-
className:
|
|
1443
|
+
className: clsx(EDITOR_HANDLE_CLASS, "absolute bottom-2 right-2 z-10 max-w-[calc(100%-1rem)]"),
|
|
1455
1444
|
children: [
|
|
1456
1445
|
chip(false),
|
|
1457
1446
|
chip(true),
|
|
@@ -1474,9 +1463,9 @@ function DragOverlays({ api, container, trashRef }) {
|
|
|
1474
1463
|
const rect = container.getBoundingClientRect();
|
|
1475
1464
|
const overTrash = drag.target?.kind === "trash";
|
|
1476
1465
|
const problem = drag.target?.kind === "steps" ? drag.target.problem : void 0;
|
|
1477
|
-
return /* @__PURE__ */ jsxs(Fragment
|
|
1466
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [drag.payload.kind === "jobs" && /* @__PURE__ */ jsxs("div", {
|
|
1478
1467
|
ref: trashRef,
|
|
1479
|
-
className:
|
|
1468
|
+
className: clsx("absolute bottom-2 left-1/2 z-20 flex -translate-x-1/2 items-center gap-2 rounded-lg border-2 border-dashed px-4 py-2 text-sm", overTrash ? "border-(--theme-error) bg-(--theme-error-muted) text-(--theme-error)" : "theme-border bg-(--theme-panel-bg) theme-muted-text"),
|
|
1480
1469
|
children: [/* @__PURE__ */ jsx(BiSolidTrashAlt, { className: "h-4 w-4" }), t.dropToDelete]
|
|
1481
1470
|
}), drag.payload.kind !== "connect" && /* @__PURE__ */ jsx(DragLabel, {
|
|
1482
1471
|
at: {
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { useWorkflowActions, useWorkflowEditing } from "../components/Provider.js";
|
|
2
1
|
import { BiSolidTrashAlt } from "../icons/bi/BiSolidTrashAlt.js";
|
|
3
2
|
import { FaArrowDown } from "../icons/fa/FaArrowDown.js";
|
|
4
3
|
import { FaArrowUp } from "../icons/fa/FaArrowUp.js";
|
|
5
4
|
import { IoMdClose } from "../icons/io/IoMdClose.js";
|
|
6
5
|
import { withPositionKeys } from "../components/keys.js";
|
|
6
|
+
import { useWorkflowActions, useWorkflowEditing } from "../components/Provider.js";
|
|
7
7
|
import { IconButton } from "../components/IconButton.js";
|
|
8
8
|
import { Input, fieldBoxClasses } from "../components/Input.js";
|
|
9
9
|
import { useGraphEditorStrings } from "./editorStrings.js";
|
|
@@ -18,9 +18,9 @@ import { NO_SCOPED, ViewSwitch, YamlPane, yamlProblem } from "./settingsViews.js
|
|
|
18
18
|
import { useNewInputs } from "./InputDialog.js";
|
|
19
19
|
import { editErrorText } from "./refusalText.js";
|
|
20
20
|
import { UsesPicker, WithEditor, usesKind, withDraftFrom, withError, withValue } from "./stepWith.js";
|
|
21
|
-
import
|
|
21
|
+
import { clsx } from "clsx";
|
|
22
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
22
23
|
import { useId, useMemo, useRef, useState } from "react";
|
|
23
|
-
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
24
24
|
//#region src/graph/GraphEditorDialogs.tsx
|
|
25
25
|
var SHELL = /^$|^(\/?([^/ ]+\/)*)?(bash|sh)( .*)?$/;
|
|
26
26
|
var OUTPUT_KEY = /^[a-zA-Z0-9_-]+$/;
|
|
@@ -311,7 +311,7 @@ function OutputsEditor({ rows, onChange, stepIds, error }) {
|
|
|
311
311
|
value: row.custom,
|
|
312
312
|
onChange: (e) => update(i, { custom: e.target.value })
|
|
313
313
|
})
|
|
314
|
-
}) : /* @__PURE__ */ jsxs(Fragment
|
|
314
|
+
}) : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("div", {
|
|
315
315
|
className: "w-1/3",
|
|
316
316
|
children: /* @__PURE__ */ jsxs("select", {
|
|
317
317
|
"aria-label": t.outputStep,
|
|
@@ -446,7 +446,7 @@ function MatrixEntries({ label, yamlKey, description, entries, onChange, text, o
|
|
|
446
446
|
value: text,
|
|
447
447
|
error,
|
|
448
448
|
onChange: (e) => onText(e.target.value)
|
|
449
|
-
}) : /* @__PURE__ */ jsxs(Fragment
|
|
449
|
+
}) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
450
450
|
withPositionKeys(entries).map(({ key, item: rows }, i) => /* @__PURE__ */ jsxs("div", {
|
|
451
451
|
className: "flex items-start gap-2",
|
|
452
452
|
children: [/* @__PURE__ */ jsx("div", {
|
|
@@ -670,7 +670,7 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
|
|
|
670
670
|
...patch
|
|
671
671
|
} : null);
|
|
672
672
|
onDraft?.(saveEdit, invalid);
|
|
673
|
-
const children = /* @__PURE__ */ jsxs(Fragment
|
|
673
|
+
const children = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
674
674
|
newInputs.dialog,
|
|
675
675
|
/* @__PURE__ */ jsx(Input, {
|
|
676
676
|
autoFocus: true,
|
|
@@ -714,7 +714,7 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
|
|
|
714
714
|
return /* @__PURE__ */ jsxs("div", {
|
|
715
715
|
className: "flex items-center gap-2 text-sm",
|
|
716
716
|
children: [/* @__PURE__ */ jsxs("label", {
|
|
717
|
-
className:
|
|
717
|
+
className: clsx("flex flex-1 items-center gap-2", cycle ? "cursor-not-allowed opacity-50" : "cursor-pointer"),
|
|
718
718
|
title: cycle ? t.dependsOnThisJob : void 0,
|
|
719
719
|
children: [
|
|
720
720
|
/* @__PURE__ */ jsx("input", {
|
|
@@ -788,7 +788,7 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
|
|
|
788
788
|
value: runsOnText,
|
|
789
789
|
error: errors.runsOn,
|
|
790
790
|
onChange: (e) => setRunsOnText(e.target.value)
|
|
791
|
-
}) : /* @__PURE__ */ jsxs(Fragment
|
|
791
|
+
}) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
792
792
|
/* @__PURE__ */ jsx(ChoiceButtons, {
|
|
793
793
|
options: [{
|
|
794
794
|
value: "name",
|
|
@@ -803,7 +803,7 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
|
|
|
803
803
|
kind
|
|
804
804
|
})
|
|
805
805
|
}),
|
|
806
|
-
runsOn.kind === "name" ? /* @__PURE__ */ jsxs(Fragment
|
|
806
|
+
runsOn.kind === "name" ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
807
807
|
/* @__PURE__ */ jsx(Input, {
|
|
808
808
|
mono: true,
|
|
809
809
|
...labelled(t.fields.environmentCluster, "cluster"),
|
|
@@ -837,7 +837,7 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
|
|
|
837
837
|
error: void 0
|
|
838
838
|
})
|
|
839
839
|
})
|
|
840
|
-
] }) : /* @__PURE__ */ jsxs(Fragment
|
|
840
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
841
841
|
/* @__PURE__ */ jsx(LabelledField, {
|
|
842
842
|
label: t.fields.targetMode,
|
|
843
843
|
yamlKey: "mode",
|
|
@@ -925,8 +925,8 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
|
|
|
925
925
|
setMatrixOn(on);
|
|
926
926
|
if (on && matrixMode === "variables") addVariableRow();
|
|
927
927
|
}
|
|
928
|
-
}), matrixOn && /* @__PURE__ */ jsxs(Fragment
|
|
929
|
-
typeof rawMatrix === "string" && /* @__PURE__ */ jsxs(Fragment
|
|
928
|
+
}), matrixOn && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
929
|
+
typeof rawMatrix === "string" && /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(FieldLabel, {
|
|
930
930
|
label: t.fields.matrixSource,
|
|
931
931
|
description: t.help.matrixMode
|
|
932
932
|
}), /* @__PURE__ */ jsx(ChoiceButtons, {
|
|
@@ -950,7 +950,7 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
|
|
|
950
950
|
value: matrixText,
|
|
951
951
|
error: errors.matrix,
|
|
952
952
|
onChange: (e) => setMatrixText(e.target.value)
|
|
953
|
-
}) : /* @__PURE__ */ jsxs(Fragment
|
|
953
|
+
}) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
954
954
|
/* @__PURE__ */ jsx("div", {
|
|
955
955
|
className: "text-xs theme-muted-text",
|
|
956
956
|
children: t.help.matrixVariables
|
|
@@ -1156,7 +1156,7 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
|
|
|
1156
1156
|
...patch
|
|
1157
1157
|
}, ...references]) : null);
|
|
1158
1158
|
onDraft?.(saveEdit, invalid);
|
|
1159
|
-
const children = /* @__PURE__ */ jsxs(Fragment
|
|
1159
|
+
const children = /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1160
1160
|
newInputs.dialog,
|
|
1161
1161
|
/* @__PURE__ */ jsx(Input, {
|
|
1162
1162
|
autoFocus: true,
|
|
@@ -1190,7 +1190,7 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
|
|
|
1190
1190
|
placeholder: "echo \"Hello World\"",
|
|
1191
1191
|
onChange: setRun,
|
|
1192
1192
|
source
|
|
1193
|
-
}) : /* @__PURE__ */ jsxs(Fragment
|
|
1193
|
+
}) : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(UsesPicker, {
|
|
1194
1194
|
uses: trimmedUses,
|
|
1195
1195
|
onUses: setUses,
|
|
1196
1196
|
choices: usesSuggestions,
|
|
@@ -1267,7 +1267,7 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
|
|
|
1267
1267
|
description: t.help.retry,
|
|
1268
1268
|
checked: retryOn,
|
|
1269
1269
|
onChange: setRetryOn
|
|
1270
|
-
}), retryOn && /* @__PURE__ */ jsxs(Fragment
|
|
1270
|
+
}), retryOn && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1271
1271
|
/* @__PURE__ */ jsx(Input, {
|
|
1272
1272
|
mono: true,
|
|
1273
1273
|
...labelled(t.fields.maxRetries, "max-retries"),
|
|
@@ -1385,7 +1385,7 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
|
|
|
1385
1385
|
if (saveEdit) onEdit(saveEdit);
|
|
1386
1386
|
onClose();
|
|
1387
1387
|
},
|
|
1388
|
-
footerStart: /* @__PURE__ */ jsxs(Fragment
|
|
1388
|
+
footerStart: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1389
1389
|
/* @__PURE__ */ jsx(IconButton, {
|
|
1390
1390
|
icon: /* @__PURE__ */ jsx(BiSolidTrashAlt, { className: "h-4 w-4" }),
|
|
1391
1391
|
label: t.deleteStep,
|
package/dist/graph/GraphNode.js
CHANGED
|
@@ -2,8 +2,8 @@ import { BoxGrip } from "./editorRows.js";
|
|
|
2
2
|
import { emptyRowsStyle } from "./gridSpacing.js";
|
|
3
3
|
import { Joblist } from "./JobSummary.js";
|
|
4
4
|
import { useLineage, useLineageStore } from "./lineage.js";
|
|
5
|
-
import { memo } from "react";
|
|
6
5
|
import { jsx, jsxs } from "react/jsx-runtime";
|
|
6
|
+
import { memo } from "react";
|
|
7
7
|
//#region src/graph/GraphNode.tsx
|
|
8
8
|
var dimClasses = (depth) => ({
|
|
9
9
|
level: `dag-dim-${depth}`,
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { useWorkflowEditing, useWorkflowEngine } from "../components/Provider.js";
|
|
2
1
|
import { BiSolidTrashAlt } from "../icons/bi/BiSolidTrashAlt.js";
|
|
3
2
|
import { FaArrowDown } from "../icons/fa/FaArrowDown.js";
|
|
4
3
|
import { FaArrowUp } from "../icons/fa/FaArrowUp.js";
|
|
5
4
|
import { FaEdit } from "../icons/fa/FaEdit.js";
|
|
6
5
|
import { IoMdClose } from "../icons/io/IoMdClose.js";
|
|
7
6
|
import { withPositionKeys } from "../components/keys.js";
|
|
8
|
-
import
|
|
7
|
+
import { useWorkflowEditing, useWorkflowEngine } from "../components/Provider.js";
|
|
8
|
+
import { Combobox } from "../components/Combobox.js";
|
|
9
9
|
import { FilterPill } from "../components/FilterPill.js";
|
|
10
10
|
import { IconButton } from "../components/IconButton.js";
|
|
11
11
|
import { Input, Textarea } from "../components/Input.js";
|
|
@@ -20,9 +20,9 @@ import { FormEditingContext } from "../form/formEditing.js";
|
|
|
20
20
|
import { DynamicForm } from "../form/Form.js";
|
|
21
21
|
import { withInputLayouts } from "./inputLayout.js";
|
|
22
22
|
import { NO_SCOPED, ViewSwitch, YamlPane, yamlProblem } from "./settingsViews.js";
|
|
23
|
-
import
|
|
23
|
+
import { clsx } from "clsx";
|
|
24
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
24
25
|
import { useEffect, useId, useMemo, useRef, useState } from "react";
|
|
25
|
-
import { Fragment as Fragment$1, jsx, jsxs } from "react/jsx-runtime";
|
|
26
26
|
//#region src/graph/InputDialog.tsx
|
|
27
27
|
/** Input types by menu group, in the order the add menu lists them. */
|
|
28
28
|
var INPUT_TYPE_GROUPS = [
|
|
@@ -755,7 +755,7 @@ function OptionsEditor({ draft, onChange, error, keyed, described }) {
|
|
|
755
755
|
mode
|
|
756
756
|
})
|
|
757
757
|
}),
|
|
758
|
-
draft.mode === "list" ? /* @__PURE__ */ jsxs(Fragment
|
|
758
|
+
draft.mode === "list" ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
759
759
|
draft.rows.length > 0 && /* @__PURE__ */ jsxs("div", {
|
|
760
760
|
"aria-hidden": "true",
|
|
761
761
|
className: "flex items-center gap-2 text-xs theme-muted-text",
|
|
@@ -842,7 +842,7 @@ function OptionsEditor({ draft, onChange, error, keyed, described }) {
|
|
|
842
842
|
...draft,
|
|
843
843
|
text: e.target.value
|
|
844
844
|
})
|
|
845
|
-
}) : /* @__PURE__ */ jsxs(Fragment
|
|
845
|
+
}) : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("div", {
|
|
846
846
|
className: "text-xs theme-muted-text",
|
|
847
847
|
children: draft.mode === "byKey" ? t.optionsByKeyHelp : t.optionsJsonHelp
|
|
848
848
|
}), /* @__PURE__ */ jsx(Textarea, {
|
|
@@ -939,7 +939,6 @@ function TypeSelect({ value, onChange, allowStep, disabled }) {
|
|
|
939
939
|
const id = useId();
|
|
940
940
|
const types = t.types;
|
|
941
941
|
const help = t.typeHelp;
|
|
942
|
-
const known = inputTypes().includes(value);
|
|
943
942
|
return /* @__PURE__ */ jsxs("div", {
|
|
944
943
|
className: "flex flex-col gap-1.5",
|
|
945
944
|
children: [
|
|
@@ -954,23 +953,21 @@ function TypeSelect({ value, onChange, allowStep, disabled }) {
|
|
|
954
953
|
yamlKey: "type"
|
|
955
954
|
})]
|
|
956
955
|
}),
|
|
957
|
-
/* @__PURE__ */ jsx(
|
|
956
|
+
/* @__PURE__ */ jsx(Combobox, {
|
|
958
957
|
id,
|
|
959
958
|
value,
|
|
960
959
|
disabled,
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
label:
|
|
964
|
-
value
|
|
965
|
-
}], ...INPUT_TYPE_GROUPS.map(([group, list]) => ({
|
|
966
|
-
category: t.typeGroups[group],
|
|
967
|
-
options: list.filter((type) => allowStep || type !== "step" || value === "step").map((type) => ({
|
|
960
|
+
className: FIELD_TEXT_BOX,
|
|
961
|
+
items: INPUT_TYPE_GROUPS.map(([group, list]) => ({
|
|
962
|
+
label: t.typeGroups[group],
|
|
963
|
+
items: list.filter((type) => allowStep || type !== "step" || value === "step").map((type) => ({
|
|
968
964
|
label: types[type] ?? type,
|
|
969
965
|
value: type
|
|
970
966
|
}))
|
|
971
|
-
}))
|
|
972
|
-
|
|
973
|
-
|
|
967
|
+
})),
|
|
968
|
+
itemToStringLabel: (type) => types[type] ?? type,
|
|
969
|
+
onValueChange: (next) => {
|
|
970
|
+
if (next) onChange(next);
|
|
974
971
|
}
|
|
975
972
|
}),
|
|
976
973
|
/* @__PURE__ */ jsx("span", {
|
|
@@ -1353,7 +1350,7 @@ function RowsField({ draft, template, label, onChange, error }) {
|
|
|
1353
1350
|
initialValues: { rows: draft.rows },
|
|
1354
1351
|
labelPosition: "top",
|
|
1355
1352
|
workflowForm: true,
|
|
1356
|
-
|
|
1353
|
+
onValuesChange: (values) => {
|
|
1357
1354
|
if (touched.current) {
|
|
1358
1355
|
const rows = values["rows"];
|
|
1359
1356
|
onChange({
|
|
@@ -1455,11 +1452,11 @@ function PropField({ prop, kind, draft, original, error, onChange, suggestions,
|
|
|
1455
1452
|
values: next.values
|
|
1456
1453
|
}),
|
|
1457
1454
|
error
|
|
1458
|
-
}) : /* @__PURE__ */ jsxs(Fragment
|
|
1455
|
+
}) : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx(SuggestionInput, {
|
|
1459
1456
|
"aria-label": name,
|
|
1460
1457
|
value: perCopy.text,
|
|
1461
1458
|
suggestions: [],
|
|
1462
|
-
|
|
1459
|
+
onValueChange: (next) => onChange({
|
|
1463
1460
|
...perCopy,
|
|
1464
1461
|
text: next
|
|
1465
1462
|
})
|
|
@@ -2102,7 +2099,7 @@ function InputForm({ name, definition, isNew, siblings, allowStep, inputs, home,
|
|
|
2102
2099
|
function TypeBadge({ type }) {
|
|
2103
2100
|
const types = useInputsEditorStrings().types;
|
|
2104
2101
|
return /* @__PURE__ */ jsx("span", {
|
|
2105
|
-
className:
|
|
2102
|
+
className: clsx("rounded border theme-border px-1 text-[11px] leading-4 theme-muted-text"),
|
|
2106
2103
|
children: types[type] ?? (type || "?")
|
|
2107
2104
|
});
|
|
2108
2105
|
}
|