@parallelworks/ui 0.43.0 → 0.45.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 +348 -25
- package/dist/ai/agent/diff.d.ts +2 -1
- package/dist/ai/agent/diff.js +4 -12
- package/dist/ai/agent/diffHighlight.d.ts +1 -1
- package/dist/ai/agent/diffHighlight.js +4 -3
- package/dist/ai/agent/index.d.ts +2 -1
- package/dist/ai/agent/toolStrings.d.ts +37 -0
- package/dist/ai/agent/toolStrings.js +35 -0
- package/dist/ai/agent/toolfmt.d.ts +8 -3
- package/dist/ai/agent/toolfmt.js +50 -65
- package/dist/ai/ai.css +18 -31
- package/dist/ai/components/AllocationSelector.js +2 -2
- package/dist/ai/components/AttachmentManager.js +28 -29
- package/dist/ai/components/AttachmentUpload.js +25 -30
- package/dist/ai/components/BlockedGroupBanner.js +2 -2
- package/dist/ai/components/BranchNavigator.js +3 -4
- package/dist/ai/components/ChatEmptyState.js +8 -7
- package/dist/ai/components/ChatInput.js +10 -12
- package/dist/ai/components/ChatLayout.js +3 -3
- package/dist/ai/components/ChatMessage.js +49 -61
- package/dist/ai/components/ChatMessageList.js +46 -42
- package/dist/ai/components/ChatSidebar.js +26 -34
- package/dist/ai/components/ChatStage.js +1 -1
- package/dist/ai/components/ComposerChrome.js +3 -4
- package/dist/ai/components/DragOverlay.js +6 -4
- package/dist/ai/components/ModelSelector.js +14 -15
- package/dist/ai/components/PastedText.js +18 -14
- package/dist/ai/components/ProviderIssueBanner.js +3 -4
- package/dist/ai/components/Reasoning.d.ts +12 -6
- package/dist/ai/components/Reasoning.js +31 -18
- package/dist/ai/components/ShareDialog.js +25 -28
- package/dist/ai/components/SlashMenu.js +3 -3
- package/dist/ai/components/agent/ActivityLine.d.ts +0 -5
- package/dist/ai/components/agent/ActivityLine.js +17 -54
- package/dist/ai/components/agent/AgentMessageParts.js +139 -149
- package/dist/ai/components/conversationActions.js +16 -16
- package/dist/ai/core/ChatProvider.d.ts +2 -4
- package/dist/ai/core/ChatProvider.js +25 -38
- package/dist/ai/core/exportConversation.js +4 -4
- package/dist/ai/core/sidebarState.d.ts +8 -6
- package/dist/ai/core/sidebarState.js +21 -28
- package/dist/ai/core/useKeyboardShortcuts.js +14 -5
- package/dist/ai/index.d.ts +4 -5
- package/dist/ai/index.js +7 -7
- package/dist/ai/strings.d.ts +14 -31
- package/dist/ai/strings.js +19 -39
- package/dist/ai/types.d.ts +0 -5
- package/dist/ai/ui/ConversationSidebar.d.ts +12 -9
- package/dist/ai/ui/ConversationSidebar.js +43 -87
- package/dist/ai/ui/Markdown.d.ts +3 -6
- package/dist/ai/ui/Markdown.js +6 -73
- package/dist/ai/ui/Notice.js +10 -12
- package/dist/ai/ui/chip.d.ts +2 -2
- package/dist/ai/ui/chip.js +1 -1
- package/dist/ai/ui/sidebar.d.ts +4 -20
- package/dist/ai/ui/sidebar.js +30 -67
- package/dist/ai/utils.d.ts +0 -1
- package/dist/ai/utils.js +1 -14
- package/dist/brandIcons.d.ts +51 -0
- package/dist/brandIcons.js +75 -0
- package/dist/components/Avatar.d.ts +3 -1
- package/dist/components/Avatar.js +34 -28
- package/dist/components/Button.d.ts +12 -7
- package/dist/components/Button.js +39 -44
- package/dist/components/Callout.js +18 -12
- package/dist/components/Card.d.ts +18 -8
- package/dist/components/Card.js +17 -6
- package/dist/components/Checkbox.d.ts +9 -0
- package/dist/components/Checkbox.js +30 -0
- package/dist/components/Combobox.d.ts +9 -1
- package/dist/components/Combobox.js +71 -44
- package/dist/components/ConfirmModal.js +11 -11
- package/dist/components/ContextMenu.d.ts +2 -8
- package/dist/components/ContextMenu.js +2 -29
- package/dist/components/CopyToClipboard.js +17 -36
- package/dist/components/CreateModal.d.ts +3 -24
- package/dist/components/CreateModal.js +46 -113
- package/dist/components/DatePicker.d.ts +31 -0
- package/dist/components/DatePicker.js +191 -0
- package/dist/components/DescriptionList.js +4 -4
- package/dist/components/Disclosure.d.ts +34 -0
- package/dist/components/Disclosure.js +46 -0
- package/dist/components/Drawer.d.ts +47 -0
- package/dist/components/Drawer.js +120 -0
- package/dist/components/EmptyState.d.ts +15 -10
- package/dist/components/EmptyState.js +13 -8
- package/dist/components/ExternalLink.d.ts +8 -0
- package/dist/components/ExternalLink.js +29 -0
- package/dist/components/Field.d.ts +70 -0
- package/dist/components/Field.js +159 -0
- package/dist/components/HoverCard.js +11 -14
- package/dist/components/IconButton.d.ts +16 -13
- package/dist/components/IconButton.js +27 -18
- package/dist/components/InfoTip.js +16 -23
- package/dist/components/Input.d.ts +10 -9
- package/dist/components/Input.js +54 -96
- package/dist/components/LetterBadge.js +2 -2
- package/dist/components/Loader.d.ts +15 -8
- package/dist/components/Loader.js +29 -19
- package/dist/components/Markdown.d.ts +7 -1
- package/dist/components/Markdown.js +2 -0
- package/dist/components/MarkdownImpl.d.ts +1 -1
- package/dist/components/MarkdownImpl.js +55 -14
- package/dist/components/Menu.js +13 -15
- package/dist/components/MenuEntries.js +11 -16
- package/dist/components/Meter.d.ts +48 -0
- package/dist/components/Meter.js +94 -0
- package/dist/components/Modal.js +11 -14
- package/dist/components/NumberInput.d.ts +25 -0
- package/dist/components/NumberInput.js +55 -0
- package/dist/components/Overview.js +12 -10
- package/dist/components/PageHeader.d.ts +2 -3
- package/dist/components/PageHeader.js +30 -21
- package/dist/components/Pagination.d.ts +27 -14
- package/dist/components/Pagination.js +86 -25
- package/dist/components/Popover.d.ts +47 -0
- package/dist/components/Popover.js +63 -0
- package/dist/components/Provider.d.ts +197 -80
- package/dist/components/Provider.js +200 -118
- package/dist/components/Radio.d.ts +1 -1
- package/dist/components/Radio.js +4 -4
- package/dist/components/RefreshButton.d.ts +15 -0
- package/dist/components/RefreshButton.js +53 -0
- package/dist/components/RunStatusIcon.d.ts +12 -0
- package/dist/components/RunStatusIcon.js +84 -0
- package/dist/components/SearchInput.d.ts +16 -0
- package/dist/components/SearchInput.js +52 -0
- package/dist/components/Section.d.ts +28 -0
- package/dist/components/Section.js +76 -0
- package/dist/components/SegmentedControl.d.ts +7 -11
- package/dist/components/SegmentedControl.js +25 -56
- package/dist/components/Select.d.ts +8 -1
- package/dist/components/Select.js +47 -43
- package/dist/components/SettingModeOption.d.ts +3 -5
- package/dist/components/SettingModeOption.js +5 -6
- package/dist/components/SettingsCard.d.ts +32 -19
- package/dist/components/SettingsCard.js +40 -13
- package/dist/components/Skeleton.d.ts +22 -0
- package/dist/components/Skeleton.js +34 -0
- package/dist/components/Slider.d.ts +16 -0
- package/dist/components/Slider.js +30 -0
- package/dist/components/Sort.js +4 -6
- package/dist/components/StatusBadge.d.ts +3 -1
- package/dist/components/StatusBadge.js +9 -32
- package/dist/components/StatusIcons.d.ts +0 -4
- package/dist/components/StatusIcons.js +5 -13
- package/dist/components/Switch.d.ts +5 -1
- package/dist/components/Switch.js +23 -6
- package/dist/components/Table.js +13 -20
- package/dist/components/Tabs.d.ts +52 -0
- package/dist/components/Tabs.js +75 -0
- package/dist/components/ThemeEditor.d.ts +29 -0
- package/dist/components/ThemeEditor.js +397 -0
- package/dist/components/Toast.d.ts +57 -0
- package/dist/components/Toast.js +203 -0
- package/dist/components/Tooltip.js +12 -15
- package/dist/components/buttonClasses.d.ts +18 -0
- package/dist/components/buttonClasses.js +31 -0
- package/dist/components/codeTheme.d.ts +5 -0
- package/dist/components/codeTheme.js +93 -0
- package/dist/components/fieldBox.d.ts +14 -0
- package/dist/components/fieldBox.js +29 -0
- package/dist/components/floating.d.ts +26 -5
- package/dist/components/floating.js +31 -9
- package/dist/{ai/ui/codeBreaks.js → components/markdownCodeBreaks.js} +1 -1
- package/dist/components/persistedState.d.ts +2 -0
- package/dist/components/persistedState.js +63 -0
- package/dist/components/relativeTime.d.ts +36 -8
- package/dist/components/relativeTime.js +106 -23
- package/dist/components/segmented.d.ts +17 -0
- package/dist/components/segmented.js +27 -0
- package/dist/components/shortcutKey.d.ts +4 -0
- package/dist/components/shortcutKey.js +27 -0
- package/dist/components/splitter.d.ts +26 -0
- package/dist/components/splitter.js +69 -0
- package/dist/components/tone.d.ts +9 -0
- package/dist/components/tone.js +30 -0
- package/dist/components/useCopy.d.ts +14 -0
- package/dist/components/useCopy.js +31 -0
- package/dist/components/useCssIsDark.d.ts +2 -0
- package/dist/components/useCssIsDark.js +2 -1
- package/dist/components/useTheme.d.ts +10 -0
- package/dist/components/useTheme.js +40 -0
- package/dist/cx.d.ts +5 -0
- package/dist/cx.js +11 -0
- package/dist/editor/Editor.js +2 -2
- package/dist/editor/EditorField.js +7 -10
- package/dist/editor/FormCodePanel.js +10 -23
- package/dist/editor/Monaco.js +7 -4
- package/dist/editor/index.d.ts +1 -1
- package/dist/editor/index.js +2 -2
- package/dist/editor/themes.d.ts +4 -0
- package/dist/editor/themes.js +75 -76
- package/dist/file-explorer/FileExplorer.js +180 -187
- package/dist/file-explorer/FileExplorerContext.js +36 -58
- package/dist/file-explorer/FilePreview/CodePreviewEditor.js +2 -1
- package/dist/file-explorer/FilePreview/Inline.js +9 -7
- package/dist/file-explorer/FilePreview/StreamedBadge.js +2 -2
- package/dist/file-explorer/FilePreview/Viewer.js +32 -34
- package/dist/file-explorer/FilePreview/index.js +60 -92
- package/dist/file-explorer/FileRow.js +10 -15
- package/dist/file-explorer/FileRowsWindow.js +2 -6
- package/dist/file-explorer/FileTable.js +2 -2
- package/dist/file-explorer/FileTableHeaders.js +8 -11
- package/dist/file-explorer/LoadMoreRow.js +8 -9
- package/dist/file-explorer/TreeView.js +16 -16
- package/dist/file-explorer/helpers.d.ts +1 -4
- package/dist/file-explorer/helpers.js +101 -114
- package/dist/file-explorer/lib/utils.d.ts +0 -2
- package/dist/file-explorer/lib/utils.js +1 -25
- package/dist/file-explorer/toasts.js +104 -185
- package/dist/form/Fields/BooleanField.js +12 -14
- package/dist/form/Fields/CheckboxGroupField.d.ts +1 -1
- package/dist/form/Fields/CheckboxGroupField.js +16 -18
- package/dist/form/Fields/ColorField.js +11 -11
- package/dist/form/Fields/DropdownField.d.ts +1 -1
- package/dist/form/Fields/DropdownField.js +20 -36
- package/dist/form/Fields/DurationField.d.ts +1 -1
- package/dist/form/Fields/DurationField.js +36 -50
- package/dist/form/Fields/LabelField.js +2 -2
- package/dist/form/Fields/MultiDropdownField.d.ts +1 -1
- package/dist/form/Fields/MultiDropdownField.js +9 -14
- package/dist/form/Fields/NumberField.d.ts +1 -1
- package/dist/form/Fields/NumberField.js +13 -48
- package/dist/form/Fields/ObjectField.js +3 -3
- package/dist/form/Fields/RadioField.d.ts +1 -1
- package/dist/form/Fields/RadioField.js +15 -18
- package/dist/form/Fields/RangeField.js +34 -35
- package/dist/form/Fields/StringField.d.ts +1 -1
- package/dist/form/Fields/StringField.js +15 -25
- package/dist/form/Fields/TextAreaField.js +10 -15
- package/dist/form/Form.d.ts +7 -2
- package/dist/form/Form.js +144 -49
- package/dist/form/FormLayout.js +18 -12
- package/dist/form/Wizard/WizardContainer.js +44 -18
- package/dist/form/Wizard/WizardNavigation.d.ts +1 -1
- package/dist/form/Wizard/WizardNavigation.js +31 -56
- package/dist/form/Wizard/WizardStepIndicator.d.ts +3 -0
- package/dist/form/Wizard/WizardStepIndicator.js +98 -114
- package/dist/form/Wizard/types.d.ts +2 -2
- package/dist/form/fieldFrame.d.ts +7 -0
- package/dist/form/fieldFrame.js +19 -0
- package/dist/form/index.d.ts +5 -5
- package/dist/form/index.js +4 -6
- package/dist/form/layoutCSS.js +5 -4
- package/dist/form/types/fieldComponentTypes.d.ts +5 -3
- package/dist/form/useChoiceField.js +2 -3
- package/dist/form/useFieldValue.d.ts +3 -0
- package/dist/form/useFieldValue.js +24 -7
- package/dist/form/utils/duration.d.ts +2 -2
- package/dist/form/utils/duration.js +3 -3
- package/dist/form/utils/fieldPath.d.ts +5 -3
- package/dist/form/utils/fieldPath.js +18 -3
- package/dist/form/utils/secondaryField.d.ts +0 -7
- package/dist/form/utils/secondaryField.js +1 -12
- package/dist/form/validation.d.ts +29 -0
- package/dist/form/validation.js +14 -0
- package/dist/format.d.ts +28 -0
- package/dist/format.js +64 -0
- package/dist/graph/AnnotationBanner.js +20 -31
- package/dist/graph/Connectors.js +1 -1
- package/dist/graph/DependencyGraph.js +51 -65
- package/dist/graph/GraphEditor.js +24 -28
- package/dist/graph/GraphEditorDialogs.js +239 -245
- package/dist/graph/InputDialog.js +93 -112
- package/dist/graph/InputsEditor.js +83 -84
- package/dist/graph/JobSummary.js +10 -11
- package/dist/graph/MatrixGroup.js +3 -3
- package/dist/graph/ProblemsButton.js +9 -10
- package/dist/graph/ShortcutsButton.js +12 -17
- package/dist/graph/SuggestionInput.d.ts +1 -2
- package/dist/graph/SuggestionInput.js +1 -3
- package/dist/graph/TreeView.js +47 -45
- package/dist/graph/WorkflowSettingsDialog.js +97 -102
- package/dist/graph/editorChrome.js +10 -12
- package/dist/graph/editorFields.d.ts +19 -16
- package/dist/graph/editorFields.js +97 -135
- package/dist/graph/editorPrimitives.js +2 -2
- package/dist/graph/editorRows.js +22 -25
- package/dist/graph/editorStrings.d.ts +16 -19
- package/dist/graph/editorStrings.js +11 -23
- package/dist/graph/fieldProblems.js +2 -2
- package/dist/graph/graphEditorState.d.ts +4 -4
- package/dist/graph/inputRefs.d.ts +0 -13
- package/dist/graph/inputRefs.js +121 -159
- package/dist/graph/settingsViews.js +5 -3
- package/dist/graph/stepWith.js +100 -100
- package/dist/graph/toolbarPanel.d.ts +8 -0
- package/dist/graph/toolbarPanel.js +11 -0
- package/dist/icons.d.ts +234 -23
- package/dist/icons.js +249 -264
- package/dist/index.d.ts +38 -21
- package/dist/index.js +42 -21
- package/dist/list/ActionToolbar.d.ts +1 -5
- package/dist/list/ActionToolbar.js +21 -20
- package/dist/list/ListPage.js +7 -7
- package/dist/list/ListTable.d.ts +3 -2
- package/dist/list/ListTable.js +33 -29
- package/dist/list/ListViewControls.d.ts +0 -17
- package/dist/list/ListViewControls.js +50 -118
- package/dist/list/UserHoverCard.js +24 -32
- package/dist/list/index.d.ts +2 -4
- package/dist/list/index.js +3 -5
- package/dist/list/listSearch.d.ts +1 -1
- package/dist/list/listSearch.js +19 -14
- package/dist/list/rowMenu.js +20 -26
- package/dist/logviewer/LogViewer.js +268 -382
- package/dist/logviewer/logviewer.css +53 -41
- package/dist/styles/base.css +16 -40
- package/dist/styles/theme.css +75 -106
- package/dist/styles.css +1 -1
- package/dist/theme/color.d.ts +40 -0
- package/dist/theme/color.js +228 -0
- package/dist/theme/contrast.d.ts +42 -0
- package/dist/theme/contrast.js +145 -0
- package/dist/theme/derive.d.ts +25 -0
- package/dist/theme/derive.js +475 -0
- package/dist/theme/fit.d.ts +35 -0
- package/dist/theme/fit.js +185 -0
- package/dist/theme/index.d.ts +14 -29
- package/dist/theme/index.js +20 -279
- package/dist/theme/model.d.ts +64 -0
- package/dist/theme/model.js +219 -0
- package/package.json +9 -5
- package/dist/ai/ui/Avatar.d.ts +0 -7
- package/dist/ai/ui/Avatar.js +0 -24
- package/dist/components/Filter.d.ts +0 -15
- package/dist/components/Filter.js +0 -32
- package/dist/components/FilterPill.d.ts +0 -7
- package/dist/components/FilterPill.js +0 -14
- package/dist/components/Indicator.d.ts +0 -4
- package/dist/components/Indicator.js +0 -44
- package/dist/components/SectionHeader.d.ts +0 -8
- package/dist/components/SectionHeader.js +0 -11
- package/dist/components/SettingRow.d.ts +0 -18
- package/dist/components/SettingRow.js +0 -35
- package/dist/components/SettingsGroup.d.ts +0 -8
- package/dist/components/SettingsGroup.js +0 -17
- package/dist/components/ghostButton.d.ts +0 -4
- package/dist/components/ghostButton.js +0 -7
- package/dist/components/inputClasses.d.ts +0 -1
- package/dist/components/inputClasses.js +0 -4
- package/dist/duration.d.ts +0 -3
- package/dist/duration.js +0 -17
- package/dist/form/FieldGroup.d.ts +0 -11
- package/dist/form/FieldGroup.js +0 -36
- package/dist/form/FieldWrapper.d.ts +0 -16
- package/dist/form/FieldWrapper.js +0 -55
- package/dist/form/fieldContext.d.ts +0 -19
- package/dist/form/fieldContext.js +0 -26
- package/dist/graph/Collapse.d.ts +0 -7
- package/dist/graph/Collapse.js +0 -15
- package/dist/graph/ToolbarPopover.d.ts +0 -13
- package/dist/graph/ToolbarPopover.js +0 -39
- package/dist/icons/ai/AiOutlineRollback.js +0 -16
- package/dist/icons/bi/BiBell.js +0 -16
- package/dist/icons/bi/BiBellOff.js +0 -16
- package/dist/icons/bi/BiBuildings.js +0 -20
- package/dist/icons/bi/BiError.js +0 -20
- package/dist/icons/bi/BiExpandVertical.js +0 -16
- package/dist/icons/bi/BiPause.js +0 -16
- package/dist/icons/bi/BiPlay.js +0 -16
- package/dist/icons/bi/BiRedo.js +0 -16
- package/dist/icons/bi/BiSolidCheckShield.js +0 -16
- package/dist/icons/bi/BiSolidTrashAlt.js +0 -16
- package/dist/icons/bi/BiStop.js +0 -16
- package/dist/icons/bi/BiUndo.js +0 -16
- package/dist/icons/bs/BsArrowsCollapse.js +0 -22
- package/dist/icons/bs/BsBank2.js +0 -19
- package/dist/icons/bs/BsBriefcase.js +0 -19
- package/dist/icons/bs/BsBucket.js +0 -19
- package/dist/icons/bs/BsCalendarX.js +0 -23
- package/dist/icons/bs/BsChatLeft.js +0 -19
- package/dist/icons/bs/BsChevronDoubleDown.js +0 -29
- package/dist/icons/bs/BsChevronDoubleUp.js +0 -29
- package/dist/icons/bs/BsClipboardCheck.js +0 -34
- package/dist/icons/bs/BsCurrencyDollar.js +0 -19
- package/dist/icons/bs/BsDash.js +0 -19
- package/dist/icons/bs/BsFileEarmarkZip.js +0 -23
- package/dist/icons/bs/BsFiles.js +0 -19
- package/dist/icons/bs/BsGeoAlt.js +0 -23
- package/dist/icons/bs/BsGrid.js +0 -19
- package/dist/icons/bs/BsLayers.js +0 -19
- package/dist/icons/bs/BsLayoutThreeColumns.js +0 -19
- package/dist/icons/bs/BsListUl.js +0 -22
- package/dist/icons/bs/BsMortarboard.js +0 -23
- package/dist/icons/bs/BsMusicNoteBeamed.js +0 -34
- package/dist/icons/bs/BsOpenai.js +0 -19
- package/dist/icons/bs/BsPersonPlus.js +0 -26
- package/dist/icons/bs/BsSearch.js +0 -19
- package/dist/icons/bs/BsSend.js +0 -19
- package/dist/icons/bs/BsShieldSlash.js +0 -22
- package/dist/icons/bs/BsStar.js +0 -19
- package/dist/icons/bs/BsStarFill.js +0 -19
- package/dist/icons/bs/BsStopCircle.js +0 -23
- package/dist/icons/bs/BsTag.js +0 -23
- package/dist/icons/bs/BsTelephone.js +0 -19
- package/dist/icons/bs/BsTerminal.js +0 -23
- package/dist/icons/bs/BsTerminalFill.js +0 -19
- package/dist/icons/bs/BsThreeDots.js +0 -19
- package/dist/icons/bs/BsThreeDotsVertical.js +0 -19
- package/dist/icons/bs/BsZoomIn.js +0 -37
- package/dist/icons/fa/FaAmazon.js +0 -16
- package/dist/icons/fa/FaAngleDown.js +0 -16
- package/dist/icons/fa/FaAngleLeft.js +0 -16
- package/dist/icons/fa/FaAngleRight.js +0 -16
- package/dist/icons/fa/FaAngleUp.js +0 -16
- package/dist/icons/fa/FaArrowDown.js +0 -16
- package/dist/icons/fa/FaArrowLeft.js +0 -16
- package/dist/icons/fa/FaArrowRight.js +0 -16
- package/dist/icons/fa/FaArrowUp.js +0 -16
- package/dist/icons/fa/FaBalanceScale.js +0 -16
- package/dist/icons/fa/FaCaretDown.js +0 -16
- package/dist/icons/fa/FaCentos.js +0 -16
- package/dist/icons/fa/FaChartLine.js +0 -16
- package/dist/icons/fa/FaChartPie.js +0 -16
- package/dist/icons/fa/FaCheck.js +0 -16
- package/dist/icons/fa/FaChevronDown.js +0 -16
- package/dist/icons/fa/FaChevronUp.js +0 -16
- package/dist/icons/fa/FaChrome.js +0 -16
- package/dist/icons/fa/FaCircleNotch.js +0 -16
- package/dist/icons/fa/FaCloud.js +0 -16
- package/dist/icons/fa/FaCloudDownloadAlt.js +0 -16
- package/dist/icons/fa/FaCog.js +0 -16
- package/dist/icons/fa/FaCogs.js +0 -16
- package/dist/icons/fa/FaComments.js +0 -16
- package/dist/icons/fa/FaCompress.js +0 -16
- package/dist/icons/fa/FaDesktop.js +0 -16
- package/dist/icons/fa/FaDocker.js +0 -16
- package/dist/icons/fa/FaDollarSign.js +0 -16
- package/dist/icons/fa/FaEdge.js +0 -16
- package/dist/icons/fa/FaEdit.js +0 -16
- package/dist/icons/fa/FaExclamationTriangle.js +0 -16
- package/dist/icons/fa/FaExpand.js +0 -16
- package/dist/icons/fa/FaEye.js +0 -16
- package/dist/icons/fa/FaEyeSlash.js +0 -16
- package/dist/icons/fa/FaFile.js +0 -16
- package/dist/icons/fa/FaFilePdf.js +0 -16
- package/dist/icons/fa/FaFilter.js +0 -16
- package/dist/icons/fa/FaFirefoxBrowser.js +0 -16
- package/dist/icons/fa/FaFlask.js +0 -16
- package/dist/icons/fa/FaFolder.js +0 -16
- package/dist/icons/fa/FaGithub.js +0 -16
- package/dist/icons/fa/FaGitlab.js +0 -16
- package/dist/icons/fa/FaGlobe.js +0 -16
- package/dist/icons/fa/FaGlobeAmericas.js +0 -16
- package/dist/icons/fa/FaImage.js +0 -16
- package/dist/icons/fa/FaInfoCircle.js +0 -16
- package/dist/icons/fa/FaKey.js +0 -16
- package/dist/icons/fa/FaLayerGroup.js +0 -16
- package/dist/icons/fa/FaLink.js +0 -16
- package/dist/icons/fa/FaLinkedin.js +0 -16
- package/dist/icons/fa/FaLinux.js +0 -16
- package/dist/icons/fa/FaList.js +0 -16
- package/dist/icons/fa/FaLock.js +0 -16
- package/dist/icons/fa/FaOpenid.js +0 -16
- package/dist/icons/fa/FaOpera.js +0 -16
- package/dist/icons/fa/FaPaperclip.js +0 -16
- package/dist/icons/fa/FaPlus.js +0 -16
- package/dist/icons/fa/FaPowerOff.js +0 -16
- package/dist/icons/fa/FaPrint.js +0 -16
- package/dist/icons/fa/FaQrcode.js +0 -16
- package/dist/icons/fa/FaQuestionCircle.js +0 -16
- package/dist/icons/fa/FaRedhat.js +0 -16
- package/dist/icons/fa/FaRegCircle.js +0 -16
- package/dist/icons/fa/FaRegFileImage.js +0 -16
- package/dist/icons/fa/FaRegFolder.js +0 -16
- package/dist/icons/fa/FaRobot.js +0 -16
- package/dist/icons/fa/FaRocket.js +0 -16
- package/dist/icons/fa/FaRunning.js +0 -16
- package/dist/icons/fa/FaSafari.js +0 -16
- package/dist/icons/fa/FaSave.js +0 -16
- package/dist/icons/fa/FaSearch.js +0 -16
- package/dist/icons/fa/FaShieldAlt.js +0 -16
- package/dist/icons/fa/FaSlack.js +0 -16
- package/dist/icons/fa/FaStar.js +0 -16
- package/dist/icons/fa/FaStop.js +0 -16
- package/dist/icons/fa/FaSuse.js +0 -16
- package/dist/icons/fa/FaTerminal.js +0 -16
- package/dist/icons/fa/FaTimes.js +0 -16
- package/dist/icons/fa/FaUbuntu.js +0 -16
- package/dist/icons/fa/FaUndoAlt.js +0 -16
- package/dist/icons/fa/FaUnlink.js +0 -16
- package/dist/icons/fa/FaUser.js +0 -16
- package/dist/icons/fa/FaUsers.js +0 -16
- package/dist/icons/fa/FaWindows.js +0 -16
- package/dist/icons/fa6/FaApple.js +0 -16
- package/dist/icons/fa6/FaArrowsRotate.js +0 -16
- package/dist/icons/fa6/FaDebian.js +0 -16
- package/dist/icons/fa6/FaFilterCircleXmark.js +0 -16
- package/dist/icons/fa6/FaInbox.js +0 -16
- package/dist/icons/fa6/FaLocationDot.js +0 -16
- package/dist/icons/fa6/FaRegFilePdf.js +0 -16
- package/dist/icons/fa6/FaRegFolderOpen.js +0 -16
- package/dist/icons/fa6/FaUpRightFromSquare.js +0 -16
- package/dist/icons/fa6/FaWandMagicSparkles.js +0 -16
- package/dist/icons/fa6/FaXTwitter.js +0 -16
- package/dist/icons/fi/FiActivity.js +0 -23
- package/dist/icons/fi/FiAlertCircle.js +0 -49
- package/dist/icons/fi/FiChevronDown.js +0 -23
- package/dist/icons/fi/FiClock.js +0 -31
- package/dist/icons/fi/FiCopy.js +0 -34
- package/dist/icons/fi/FiDownload.js +0 -40
- package/dist/icons/fi/FiFile.js +0 -27
- package/dist/icons/fi/FiFileText.js +0 -55
- package/dist/icons/fi/FiHardDrive.js +0 -55
- package/dist/icons/fi/FiRotateCcw.js +0 -27
- package/dist/icons/fi/FiUpload.js +0 -40
- package/dist/icons/fi/FiX.js +0 -37
- package/dist/icons/fi/FiZap.js +0 -23
- package/dist/icons/gi/GiSpy.js +0 -16
- package/dist/icons/go/GoGitCommit.js +0 -16
- package/dist/icons/go/GoGitPullRequest.js +0 -20
- package/dist/icons/go/GoIssueOpened.js +0 -16
- package/dist/icons/go/GoPlus.js +0 -16
- package/dist/icons/go/GoRepoForked.js +0 -28
- package/dist/icons/go/GoSignOut.js +0 -16
- package/dist/icons/go/GoSkip.js +0 -20
- package/dist/icons/go/GoVideo.js +0 -20
- package/dist/icons/gr/GrCloudComputer.js +0 -20
- package/dist/icons/gr/GrInbox.js +0 -20
- package/dist/icons/gr/GrServerCluster.js +0 -20
- package/dist/icons/gr/GrStorage.js +0 -20
- package/dist/icons/gr/GrTasks.js +0 -20
- package/dist/icons/hi/HiCog.js +0 -24
- package/dist/icons/hi/HiDuplicate.js +0 -24
- package/dist/icons/hi/HiOutlineArchive.js +0 -26
- package/dist/icons/hi/HiOutlineClipboardCopy.js +0 -26
- package/dist/icons/hi/HiOutlineHome.js +0 -26
- package/dist/icons/hi/HiQuestionMarkCircle.js +0 -24
- package/dist/icons/hi/HiServer.js +0 -24
- package/dist/icons/hi2/HiMiniCheckCircle.js +0 -24
- package/dist/icons/hi2/HiMiniLanguage.js +0 -28
- package/dist/icons/hi2/HiMiniMinusCircle.js +0 -24
- package/dist/icons/hi2/HiMiniXCircle.js +0 -24
- package/dist/icons/hi2/HiSparkles.js +0 -24
- package/dist/icons/im/ImSpinner5.js +0 -19
- package/dist/icons/io/IoIosNotifications.js +0 -16
- package/dist/icons/io/IoMdBuild.js +0 -16
- package/dist/icons/io/IoMdClose.js +0 -16
- package/dist/icons/io5/IoCloudUploadOutline.js +0 -32
- package/dist/icons/io5/IoDocumentTextOutline.js +0 -31
- package/dist/icons/io5/IoFileTrayFullOutline.js +0 -31
- package/dist/icons/io5/IoHeart.js +0 -16
- package/dist/icons/io5/IoHeartDislike.js +0 -16
- package/dist/icons/io5/IoHeartOutline.js +0 -22
- package/dist/icons/io5/IoInformationCircleOutline.js +0 -50
- package/dist/icons/io5/IoSettingsOutline.js +0 -22
- package/dist/icons/io5/IoWarningOutline.js +0 -40
- package/dist/icons/lu/LuArrowRight.js +0 -27
- package/dist/icons/lu/LuBadgeCheck.js +0 -27
- package/dist/icons/lu/LuBraces.js +0 -27
- package/dist/icons/lu/LuBrainCircuit.js +0 -101
- package/dist/icons/lu/LuCalendar.js +0 -46
- package/dist/icons/lu/LuCheck.js +0 -23
- package/dist/icons/lu/LuChevronLeft.js +0 -23
- package/dist/icons/lu/LuChevronRight.js +0 -23
- package/dist/icons/lu/LuCode.js +0 -27
- package/dist/icons/lu/LuExternalLink.js +0 -35
- package/dist/icons/lu/LuEye.js +0 -31
- package/dist/icons/lu/LuEyeOff.js +0 -40
- package/dist/icons/lu/LuFolderTree.js +0 -40
- package/dist/icons/lu/LuIdCard.js +0 -55
- package/dist/icons/lu/LuKeyboard.js +0 -71
- package/dist/icons/lu/LuLogs.js +0 -65
- package/dist/icons/lu/LuMail.js +0 -33
- package/dist/icons/lu/LuMegaphone.js +0 -27
- package/dist/icons/lu/LuMoon.js +0 -23
- package/dist/icons/lu/LuNetwork.js +0 -63
- package/dist/icons/lu/LuPartyPopper.js +0 -65
- package/dist/icons/lu/LuSettings2.js +0 -48
- package/dist/icons/lu/LuSheet.js +0 -72
- package/dist/icons/lu/LuShield.js +0 -23
- package/dist/icons/lu/LuSun.js +0 -69
- package/dist/icons/lu/LuTextCursorInput.js +0 -45
- package/dist/icons/lu/LuX.js +0 -27
- package/dist/icons/lu/LuZoomIn.js +0 -59
- package/dist/icons/lu/LuZoomOut.js +0 -49
- package/dist/icons/md/MdClear.js +0 -23
- package/dist/icons/md/MdDragHandle.js +0 -23
- package/dist/icons/md/MdInstallDesktop.js +0 -31
- package/dist/icons/md/MdOutlineAttachMoney.js +0 -23
- package/dist/icons/md/MdOutlineMoneyOff.js +0 -23
- package/dist/icons/md/MdPieChart.js +0 -23
- package/dist/icons/md/MdRefresh.js +0 -23
- package/dist/icons/md/MdReplay.js +0 -23
- package/dist/icons/md/MdSmartphone.js +0 -23
- package/dist/icons/pi/PiArrowBendUpRightBold.js +0 -19
- package/dist/icons/pi/PiPlugsConnectedFill.js +0 -19
- package/dist/icons/pi/PiRectangleDashed.js +0 -19
- package/dist/icons/pi/PiShareBold.js +0 -19
- package/dist/icons/si/SiAnthropic.js +0 -19
- package/dist/icons/si/SiHelm.js +0 -19
- package/dist/icons/si/SiKubernetes.js +0 -19
- package/dist/icons/tb/TbAlertTriangle.js +0 -35
- package/dist/icons/tb/TbAlertTriangleFilled.js +0 -19
- package/dist/icons/tb/TbApi.js +0 -40
- package/dist/icons/tb/TbBrain.js +0 -50
- package/dist/icons/tb/TbBuildingTunnel.js +0 -65
- package/dist/icons/tb/TbEdit.js +0 -35
- package/dist/icons/tb/TbLayoutSidebar.js +0 -27
- package/dist/icons/tb/TbLayoutSidebarLeftCollapse.js +0 -35
- package/dist/icons/tb/TbLayoutSidebarRightCollapse.js +0 -35
- package/dist/icons/tb/TbUser.js +0 -27
- package/dist/icons/tb/TbUserOff.js +0 -35
- package/dist/icons/tb/TbWorldShare.js +0 -55
- package/dist/icons/tb/TbWorldWww.js +0 -65
- package/dist/icons/ti/TiArrowSortedDown.js +0 -20
- package/dist/icons/ti/TiArrowSortedUp.js +0 -20
- package/dist/icons/ti/TiArrowUnsorted.js +0 -20
- package/dist/icons/ti/TiCancel.js +0 -20
- package/dist/icons/vsc/VscChromeMinimize.js +0 -19
- package/dist/icons/vsc/VscJson.js +0 -19
- package/dist/icons/vsc/VscLayoutSidebarLeft.js +0 -19
- package/dist/icons/vsc/VscPass.js +0 -27
- package/dist/icons/vsc/VscSplitHorizontal.js +0 -19
- package/dist/icons/vsc/VscTerminalPowershell.js +0 -19
- package/dist/list/ListPager.d.ts +0 -14
- package/dist/list/ListPager.js +0 -62
- package/dist/list/textEntry.d.ts +0 -2
- package/dist/list/textEntry.js +0 -10
- /package/dist/{ai/ui/codeBreaks.d.ts → components/markdownCodeBreaks.d.ts} +0 -0
|
@@ -1,24 +1,23 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { FaArrowDown } from "../icons/fa/FaArrowDown.js";
|
|
3
|
-
import { FaArrowUp } from "../icons/fa/FaArrowUp.js";
|
|
4
|
-
import { IoMdClose } from "../icons/io/IoMdClose.js";
|
|
1
|
+
import { ArrowDownIcon, ArrowUpIcon, RemoveIcon, TrashIcon } from "../icons.js";
|
|
5
2
|
import { withPositionKeys } from "../components/keys.js";
|
|
6
3
|
import { useWorkflowActions, useWorkflowEditing } from "../components/Provider.js";
|
|
4
|
+
import { Checkbox } from "../components/Checkbox.js";
|
|
5
|
+
import { ErrorText, FieldOption } from "../components/Field.js";
|
|
7
6
|
import { IconButton } from "../components/IconButton.js";
|
|
8
|
-
import { Input
|
|
7
|
+
import { Input } from "../components/Input.js";
|
|
8
|
+
import { Select } from "../components/Select.js";
|
|
9
9
|
import { useGraphEditorStrings } from "./editorStrings.js";
|
|
10
10
|
import { asRecord } from "./records.js";
|
|
11
11
|
import { useLintContext, useLintEditing } from "../editor/lintContext.js";
|
|
12
12
|
import { JOB_YAML_PATH, STEP_YAML_PATH } from "../editor/settingsYaml.js";
|
|
13
13
|
import { FieldProblems, LintScope, ProblemList, useFieldProblems } from "./fieldProblems.js";
|
|
14
|
-
import { AddRowButton, ChoiceButtons, DialogShell, ENV_KEY, EXPRESSION, ExpressionToggle,
|
|
14
|
+
import { AddRowButton, ChoiceButtons, DialogSection, DialogShell, ENV_KEY, EXPRESSION, ExpressionToggle, KeyValueEditor, SectionMemory, ToggleField, YamlField, conditionText, countError, diffPatch, durationError, expressionError, flagError, flagOf, isEmptyPatch, isScalar, labelled, orUndefined, parseCondition, parseCount, parseJson, parseScalar, removeAt, rowsError, rowsFrom, rowsTo, sameValue, text, unchangedValue, updateAt, useSectionMemory } from "./editorFields.js";
|
|
15
15
|
import { ConditionField, FlagField, InputRefSelect, ScriptField, ValueOrInputField, readRef, refExpression, refSuggestions } from "./inputRefs.js";
|
|
16
16
|
import { expressionRefs } from "./expressionRefs.js";
|
|
17
17
|
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 { clsx } from "clsx";
|
|
22
21
|
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
23
22
|
import { useId, useMemo, useRef, useState } from "react";
|
|
24
23
|
//#region src/graph/GraphEditorDialogs.tsx
|
|
@@ -168,10 +167,10 @@ function runsOnError(fields, sshUsed, t) {
|
|
|
168
167
|
if (sshUsed) return t.runsOnWithSsh;
|
|
169
168
|
if (fields.kind === "target") {
|
|
170
169
|
if (!TARGET_MODES.includes(fields.mode.trim())) return t.runsOnNeedsMode;
|
|
171
|
-
return rowsError(fields.schedulingParams, PARAM_KEY, t.
|
|
170
|
+
return rowsError(fields.schedulingParams, PARAM_KEY, t.common.invalidName, t);
|
|
172
171
|
}
|
|
173
172
|
if (!fields.cluster.trim() || !fields.name.trim()) return t.runsOnNeedsEnvironment;
|
|
174
|
-
return rowsError(fields.params, PARAM_KEY, t.
|
|
173
|
+
return rowsError(fields.params, PARAM_KEY, t.common.invalidName, t);
|
|
175
174
|
}
|
|
176
175
|
function sshHelp(key, t) {
|
|
177
176
|
return key === "disconnect-timeout" ? t.help.disconnectTimeout : t.help[key];
|
|
@@ -219,14 +218,14 @@ function SshEditor({ fields, onChange, error, source }) {
|
|
|
219
218
|
value: fields[key],
|
|
220
219
|
onChange: (e) => set(key)(e.target.value)
|
|
221
220
|
}, key)),
|
|
222
|
-
/* @__PURE__ */ jsx(
|
|
221
|
+
/* @__PURE__ */ jsx(ErrorText, { children: error })
|
|
223
222
|
]
|
|
224
223
|
});
|
|
225
224
|
}
|
|
226
225
|
/** A job's or step's env, each value checked against what it reads. */
|
|
227
226
|
function EnvSection({ description, rows, onChange, error, source }) {
|
|
228
227
|
const t = useGraphEditorStrings();
|
|
229
|
-
return /* @__PURE__ */ jsx(
|
|
228
|
+
return /* @__PURE__ */ jsx(DialogSection, {
|
|
230
229
|
title: t.sectionEnvironment,
|
|
231
230
|
description,
|
|
232
231
|
open: rows.length > 0,
|
|
@@ -271,7 +270,7 @@ function outputsTo(rows, job) {
|
|
|
271
270
|
function outputsError(rows, t) {
|
|
272
271
|
const names = rows.map((row) => row.name.trim());
|
|
273
272
|
for (const [i, row] of rows.entries()) {
|
|
274
|
-
if (!OUTPUT_KEY.test(names[i] ?? "")) return t.
|
|
273
|
+
if (!OUTPUT_KEY.test(names[i] ?? "")) return t.common.invalidName;
|
|
275
274
|
if (names.indexOf(names[i] ?? "") !== i) return t.duplicateKey;
|
|
276
275
|
if (row.custom !== void 0 && !row.custom.trim()) return t.required;
|
|
277
276
|
if (row.custom === void 0 && (!row.step || !OUTPUT_KEY.test(row.output.trim()))) return t.outputNeedsStep;
|
|
@@ -313,19 +312,16 @@ function OutputsEditor({ rows, onChange, stepIds, error }) {
|
|
|
313
312
|
})
|
|
314
313
|
}) : /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsx("div", {
|
|
315
314
|
className: "w-1/3",
|
|
316
|
-
children: /* @__PURE__ */
|
|
315
|
+
children: /* @__PURE__ */ jsx(Select, {
|
|
317
316
|
"aria-label": t.outputStep,
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
className: fieldBoxClasses,
|
|
321
|
-
children: [/* @__PURE__ */ jsx("option", {
|
|
322
|
-
value: "",
|
|
323
|
-
disabled: true,
|
|
324
|
-
children: t.outputStep
|
|
325
|
-
}), stepIds.map((id) => /* @__PURE__ */ jsx("option", {
|
|
317
|
+
placeholder: t.outputStep,
|
|
318
|
+
items: stepIds.map((id) => ({
|
|
326
319
|
value: id,
|
|
327
|
-
|
|
328
|
-
}
|
|
320
|
+
label: id
|
|
321
|
+
})),
|
|
322
|
+
value: row.step || null,
|
|
323
|
+
onValueChange: (step) => update(i, { step: step ?? "" }),
|
|
324
|
+
className: "font-mono"
|
|
329
325
|
})
|
|
330
326
|
}), /* @__PURE__ */ jsx("div", {
|
|
331
327
|
className: "flex-1",
|
|
@@ -351,17 +347,17 @@ function OutputsEditor({ rows, onChange, stepIds, error }) {
|
|
|
351
347
|
} : other))
|
|
352
348
|
}),
|
|
353
349
|
/* @__PURE__ */ jsx(IconButton, {
|
|
354
|
-
icon: /* @__PURE__ */ jsx(
|
|
355
|
-
label: t.
|
|
350
|
+
icon: /* @__PURE__ */ jsx(RemoveIcon, {}),
|
|
351
|
+
label: t.common.remove,
|
|
356
352
|
variant: "ghost",
|
|
357
353
|
size: "sm",
|
|
358
354
|
onClick: () => onChange(removeAt(rows, i))
|
|
359
355
|
})
|
|
360
356
|
]
|
|
361
357
|
}, key)),
|
|
362
|
-
/* @__PURE__ */ jsx(
|
|
358
|
+
/* @__PURE__ */ jsx(ErrorText, { children: error }),
|
|
363
359
|
/* @__PURE__ */ jsx(AddRowButton, {
|
|
364
|
-
label: t.
|
|
360
|
+
label: t.common.add,
|
|
365
361
|
onClick: () => onChange([...rows, {
|
|
366
362
|
name: "",
|
|
367
363
|
step: stepIds[0] ?? "",
|
|
@@ -423,31 +419,31 @@ function entriesTo(entries) {
|
|
|
423
419
|
}
|
|
424
420
|
function entriesError(entries, t) {
|
|
425
421
|
for (const rows of entries) {
|
|
426
|
-
const error = rows.length === 0 ? t.invalidMatrixEntry : rowsError(rows, MATRIX_KEY, t.
|
|
422
|
+
const error = rows.length === 0 ? t.invalidMatrixEntry : rowsError(rows, MATRIX_KEY, t.common.invalidName, t);
|
|
427
423
|
if (error) return error;
|
|
428
424
|
}
|
|
429
425
|
}
|
|
430
426
|
/** Combinations to add or skip, as entries of keys and values or as one expression. */
|
|
431
427
|
function MatrixEntries({ label, yamlKey, description, entries, onChange, text, onText, error }) {
|
|
432
428
|
const t = useGraphEditorStrings();
|
|
433
|
-
return /* @__PURE__ */
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
|
|
437
|
-
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
|
|
443
|
-
}), text !== void 0 ? /* @__PURE__ */ jsx(Input, {
|
|
429
|
+
return /* @__PURE__ */ jsx(YamlField, {
|
|
430
|
+
label,
|
|
431
|
+
yamlKey,
|
|
432
|
+
description,
|
|
433
|
+
error,
|
|
434
|
+
actions: /* @__PURE__ */ jsx(ExpressionToggle, {
|
|
435
|
+
active: text !== void 0,
|
|
436
|
+
onChange: (on) => onText(on ? "" : void 0)
|
|
437
|
+
}),
|
|
438
|
+
children: text !== void 0 ? /* @__PURE__ */ jsx(Input, {
|
|
444
439
|
mono: true,
|
|
445
440
|
"aria-label": label,
|
|
441
|
+
"aria-invalid": error ? true : void 0,
|
|
446
442
|
value: text,
|
|
447
|
-
error,
|
|
448
443
|
onChange: (e) => onText(e.target.value)
|
|
449
|
-
}) : /* @__PURE__ */ jsxs(
|
|
450
|
-
|
|
444
|
+
}) : /* @__PURE__ */ jsxs("div", {
|
|
445
|
+
className: "flex flex-col gap-2",
|
|
446
|
+
children: [withPositionKeys(entries).map(({ key, item: rows }, i) => /* @__PURE__ */ jsxs("div", {
|
|
451
447
|
className: "flex items-start gap-2",
|
|
452
448
|
children: [/* @__PURE__ */ jsx("div", {
|
|
453
449
|
className: "flex-1 rounded-md border theme-border p-2",
|
|
@@ -457,22 +453,20 @@ function MatrixEntries({ label, yamlKey, description, entries, onChange, text, o
|
|
|
457
453
|
error: void 0
|
|
458
454
|
})
|
|
459
455
|
}), /* @__PURE__ */ jsx(IconButton, {
|
|
460
|
-
icon: /* @__PURE__ */ jsx(
|
|
456
|
+
icon: /* @__PURE__ */ jsx(RemoveIcon, {}),
|
|
461
457
|
label: t.removeEntry,
|
|
462
458
|
variant: "ghost",
|
|
463
459
|
size: "sm",
|
|
464
460
|
onClick: () => onChange(removeAt(entries, i))
|
|
465
461
|
})]
|
|
466
|
-
}, key)),
|
|
467
|
-
/* @__PURE__ */ jsx(FieldError, { message: error }),
|
|
468
|
-
/* @__PURE__ */ jsx(AddRowButton, {
|
|
462
|
+
}, key)), /* @__PURE__ */ jsx(AddRowButton, {
|
|
469
463
|
label: t.addEntry,
|
|
470
464
|
onClick: () => onChange([...entries, [{
|
|
471
465
|
key: "",
|
|
472
466
|
value: ""
|
|
473
467
|
}]])
|
|
474
|
-
})
|
|
475
|
-
|
|
468
|
+
})]
|
|
469
|
+
})
|
|
476
470
|
});
|
|
477
471
|
}
|
|
478
472
|
/** One matrix variable: values listed here, or the selections of a multi-select input. */
|
|
@@ -502,6 +496,7 @@ function MatrixVariable({ row, source, onChange, onRemove }) {
|
|
|
502
496
|
}), /* @__PURE__ */ jsx("div", {
|
|
503
497
|
className: "flex-1",
|
|
504
498
|
children: /* @__PURE__ */ jsx(ChoiceButtons, {
|
|
499
|
+
label: t.matrixValuesFrom,
|
|
505
500
|
options: [{
|
|
506
501
|
value: "values",
|
|
507
502
|
label: t.matrixValuesListed
|
|
@@ -548,7 +543,7 @@ function MatrixVariable({ row, source, onChange, onRemove }) {
|
|
|
548
543
|
})
|
|
549
544
|
})]
|
|
550
545
|
}), /* @__PURE__ */ jsx(IconButton, {
|
|
551
|
-
icon: /* @__PURE__ */ jsx(
|
|
546
|
+
icon: /* @__PURE__ */ jsx(RemoveIcon, {}),
|
|
552
547
|
label: t.removeVariable,
|
|
553
548
|
variant: "ghost",
|
|
554
549
|
size: "sm",
|
|
@@ -681,47 +676,46 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
|
|
|
681
676
|
error: errors.name,
|
|
682
677
|
onChange: (e) => setName(e.target.value)
|
|
683
678
|
}),
|
|
684
|
-
/* @__PURE__ */ jsxs(
|
|
679
|
+
/* @__PURE__ */ jsxs(DialogSection, {
|
|
685
680
|
title: t.sectionDependencies,
|
|
686
681
|
open: true,
|
|
687
|
-
children: [
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
695
|
-
})
|
|
682
|
+
children: [/* @__PURE__ */ jsx(YamlField, {
|
|
683
|
+
label: t.fields.needs,
|
|
684
|
+
yamlKey: "needs",
|
|
685
|
+
description: needsTyped ? t.help.needsExpression : t.help.needs,
|
|
686
|
+
error: needsTyped && errors.needs || needsLint,
|
|
687
|
+
actions: /* @__PURE__ */ jsx(ExpressionToggle, {
|
|
688
|
+
active: needsTyped,
|
|
689
|
+
onChange: setNeedsTyped
|
|
696
690
|
}),
|
|
697
|
-
needsTyped ? /* @__PURE__ */ jsx(Input, {
|
|
691
|
+
children: needsTyped ? /* @__PURE__ */ jsx(Input, {
|
|
698
692
|
id: needsId,
|
|
699
693
|
mono: true,
|
|
700
694
|
"aria-label": t.fields.needs,
|
|
695
|
+
"aria-invalid": errors.needs || needsLint ? true : void 0,
|
|
701
696
|
value: needsText,
|
|
702
|
-
error: errors.needs ?? (needsLint || void 0),
|
|
703
697
|
onChange: (e) => setNeedsText(e.target.value)
|
|
704
698
|
}) : others.length === 0 ? /* @__PURE__ */ jsx("div", {
|
|
705
699
|
className: "text-xs theme-muted-text",
|
|
706
700
|
children: t.noOtherJobs
|
|
707
|
-
}) : /* @__PURE__ */
|
|
701
|
+
}) : /* @__PURE__ */ jsx("div", {
|
|
708
702
|
id: needsId,
|
|
709
703
|
tabIndex: -1,
|
|
710
704
|
className: "flex flex-col gap-1.5",
|
|
711
|
-
children: [
|
|
705
|
+
children: [...others, ...missing].map((other) => {
|
|
712
706
|
const entry = needs.find((need) => needTarget(need) === other);
|
|
713
707
|
const cycle = !entry && editing.dependsOn(allNeeds, other, job);
|
|
714
708
|
return /* @__PURE__ */ jsxs("div", {
|
|
715
709
|
className: "flex items-center gap-2 text-sm",
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
|
|
710
|
+
title: cycle ? t.dependsOnThisJob : void 0,
|
|
711
|
+
children: [/* @__PURE__ */ jsxs(FieldOption, {
|
|
712
|
+
disabled: cycle,
|
|
713
|
+
className: "flex flex-1 items-center gap-2",
|
|
719
714
|
children: [
|
|
720
|
-
/* @__PURE__ */ jsx(
|
|
721
|
-
type: "checkbox",
|
|
715
|
+
/* @__PURE__ */ jsx(Checkbox, {
|
|
722
716
|
checked: !!entry,
|
|
723
717
|
disabled: cycle,
|
|
724
|
-
|
|
718
|
+
onCheckedChange: (on) => toggleNeed(other, on)
|
|
725
719
|
}),
|
|
726
720
|
/* @__PURE__ */ jsx("span", {
|
|
727
721
|
className: "font-mono",
|
|
@@ -732,30 +726,30 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
|
|
|
732
726
|
children: t.missingJob
|
|
733
727
|
})
|
|
734
728
|
]
|
|
735
|
-
}), entry && isMatrixJob(other) && /* @__PURE__ */
|
|
736
|
-
className: "flex cursor-pointer items-center gap-1.5 text-xs theme-muted-text",
|
|
729
|
+
}), entry && isMatrixJob(other) && /* @__PURE__ */ jsx("span", {
|
|
737
730
|
title: t.help.waitForAny,
|
|
738
|
-
children:
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
|
|
742
|
-
|
|
731
|
+
children: /* @__PURE__ */ jsxs(FieldOption, {
|
|
732
|
+
className: "flex items-center gap-1.5 text-xs theme-muted-text",
|
|
733
|
+
children: [/* @__PURE__ */ jsx(Checkbox, {
|
|
734
|
+
checked: entry.endsWith(":any"),
|
|
735
|
+
onCheckedChange: (on) => toggleAny(other, on)
|
|
736
|
+
}), t.waitForAny]
|
|
737
|
+
})
|
|
743
738
|
})]
|
|
744
739
|
}, other);
|
|
745
|
-
})
|
|
746
|
-
}),
|
|
747
|
-
/* @__PURE__ */ jsx(ConditionField, {
|
|
748
|
-
scope: "job",
|
|
749
|
-
label: t.fields.condition,
|
|
750
|
-
yamlKey: "if",
|
|
751
|
-
description: t.help.jobIf,
|
|
752
|
-
value: condition,
|
|
753
|
-
onChange: setCondition,
|
|
754
|
-
source
|
|
740
|
+
})
|
|
755
741
|
})
|
|
756
|
-
|
|
742
|
+
}), /* @__PURE__ */ jsx(ConditionField, {
|
|
743
|
+
scope: "job",
|
|
744
|
+
label: t.fields.condition,
|
|
745
|
+
yamlKey: "if",
|
|
746
|
+
description: t.help.jobIf,
|
|
747
|
+
value: condition,
|
|
748
|
+
onChange: setCondition,
|
|
749
|
+
source
|
|
750
|
+
})]
|
|
757
751
|
}),
|
|
758
|
-
/* @__PURE__ */ jsx(
|
|
752
|
+
/* @__PURE__ */ jsx(DialogSection, {
|
|
759
753
|
title: t.sectionRemoteHost,
|
|
760
754
|
description: t.runsInWorkspace,
|
|
761
755
|
open: !!sshTo(ssh, original["ssh"]),
|
|
@@ -767,29 +761,29 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
|
|
|
767
761
|
source
|
|
768
762
|
})
|
|
769
763
|
}),
|
|
770
|
-
/* @__PURE__ */ jsx(
|
|
764
|
+
/* @__PURE__ */ jsx(DialogSection, {
|
|
771
765
|
title: t.sectionComputeEnvironment,
|
|
772
766
|
description: t.runsOnHint,
|
|
773
767
|
open: runsOnTyped ? !!runsOnText.trim() : !!runsOnTo(runsOn),
|
|
774
768
|
alert: !!errors.runsOn,
|
|
775
769
|
children: /* @__PURE__ */ jsxs(LintScope, {
|
|
776
770
|
at: "runs-on",
|
|
777
|
-
children: [/* @__PURE__ */ jsx(
|
|
771
|
+
children: [/* @__PURE__ */ jsx(YamlField, {
|
|
778
772
|
label: t.fields.runsOn,
|
|
779
773
|
yamlKey: "runs-on",
|
|
780
774
|
description: t.help.runsOn,
|
|
775
|
+
error: errors.runsOn,
|
|
781
776
|
actions: /* @__PURE__ */ jsx(ExpressionToggle, {
|
|
782
777
|
active: runsOnTyped,
|
|
783
778
|
onChange: setRunsOnTyped
|
|
784
|
-
})
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
792
|
-
/* @__PURE__ */ jsx(ChoiceButtons, {
|
|
779
|
+
}),
|
|
780
|
+
children: runsOnTyped ? /* @__PURE__ */ jsx(Input, {
|
|
781
|
+
mono: true,
|
|
782
|
+
"aria-label": t.fields.runsOn,
|
|
783
|
+
"aria-invalid": errors.runsOn ? true : void 0,
|
|
784
|
+
value: runsOnText,
|
|
785
|
+
onChange: (e) => setRunsOnText(e.target.value)
|
|
786
|
+
}) : /* @__PURE__ */ jsx(ChoiceButtons, {
|
|
793
787
|
options: [{
|
|
794
788
|
value: "name",
|
|
795
789
|
label: t.runsOnByName
|
|
@@ -802,117 +796,115 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
|
|
|
802
796
|
...runsOn,
|
|
803
797
|
kind
|
|
804
798
|
})
|
|
799
|
+
})
|
|
800
|
+
}), !runsOnTyped && (runsOn.kind === "name" ? /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
801
|
+
/* @__PURE__ */ jsx(Input, {
|
|
802
|
+
mono: true,
|
|
803
|
+
...labelled(t.fields.environmentCluster, "cluster"),
|
|
804
|
+
description: t.help.environmentCluster,
|
|
805
|
+
value: runsOn.cluster,
|
|
806
|
+
onChange: (e) => setRunsOn({
|
|
807
|
+
...runsOn,
|
|
808
|
+
cluster: e.target.value
|
|
809
|
+
})
|
|
805
810
|
}),
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
cluster: e.target.value
|
|
815
|
-
})
|
|
816
|
-
}),
|
|
817
|
-
/* @__PURE__ */ jsx(Input, {
|
|
818
|
-
mono: true,
|
|
819
|
-
...labelled(t.fields.environmentName, "name"),
|
|
820
|
-
description: t.help.environmentName,
|
|
821
|
-
value: runsOn.name,
|
|
822
|
-
onChange: (e) => setRunsOn({
|
|
823
|
-
...runsOn,
|
|
824
|
-
name: e.target.value
|
|
825
|
-
})
|
|
826
|
-
}),
|
|
827
|
-
/* @__PURE__ */ jsx(LabelledField, {
|
|
828
|
-
label: t.fields.schedulingParams,
|
|
829
|
-
yamlKey: "params",
|
|
830
|
-
description: t.help.schedulingParams,
|
|
831
|
-
children: /* @__PURE__ */ jsx(KeyValueEditor, {
|
|
832
|
-
rows: runsOn.params,
|
|
833
|
-
onChange: (params) => setRunsOn({
|
|
834
|
-
...runsOn,
|
|
835
|
-
params
|
|
836
|
-
}),
|
|
837
|
-
error: void 0
|
|
838
|
-
})
|
|
811
|
+
/* @__PURE__ */ jsx(Input, {
|
|
812
|
+
mono: true,
|
|
813
|
+
...labelled(t.fields.environmentName, "name"),
|
|
814
|
+
description: t.help.environmentName,
|
|
815
|
+
value: runsOn.name,
|
|
816
|
+
onChange: (e) => setRunsOn({
|
|
817
|
+
...runsOn,
|
|
818
|
+
name: e.target.value
|
|
839
819
|
})
|
|
840
|
-
|
|
841
|
-
|
|
842
|
-
|
|
843
|
-
|
|
844
|
-
|
|
845
|
-
|
|
846
|
-
|
|
847
|
-
|
|
848
|
-
label: t.targetModes[mode]
|
|
849
|
-
})),
|
|
850
|
-
value: runsOn.mode,
|
|
851
|
-
onChange: (mode) => setRunsOn({
|
|
852
|
-
...runsOn,
|
|
853
|
-
mode
|
|
854
|
-
})
|
|
855
|
-
})
|
|
856
|
-
}),
|
|
857
|
-
/* @__PURE__ */ jsx(Input, {
|
|
858
|
-
mono: true,
|
|
859
|
-
...labelled(t.fields.targetId, "targetId"),
|
|
860
|
-
description: t.help.targetId,
|
|
861
|
-
value: runsOn.targetId,
|
|
862
|
-
onChange: (e) => setRunsOn({
|
|
863
|
-
...runsOn,
|
|
864
|
-
targetId: e.target.value
|
|
865
|
-
})
|
|
866
|
-
}),
|
|
867
|
-
/* @__PURE__ */ jsx(Input, {
|
|
868
|
-
mono: true,
|
|
869
|
-
...labelled(t.fields.environmentId, "environmentId"),
|
|
870
|
-
description: t.help.environmentId,
|
|
871
|
-
value: runsOn.environmentId,
|
|
872
|
-
onChange: (e) => setRunsOn({
|
|
820
|
+
}),
|
|
821
|
+
/* @__PURE__ */ jsx(YamlField, {
|
|
822
|
+
label: t.fields.schedulingParams,
|
|
823
|
+
yamlKey: "params",
|
|
824
|
+
description: t.help.schedulingParams,
|
|
825
|
+
children: /* @__PURE__ */ jsx(KeyValueEditor, {
|
|
826
|
+
rows: runsOn.params,
|
|
827
|
+
onChange: (params) => setRunsOn({
|
|
873
828
|
...runsOn,
|
|
874
|
-
|
|
875
|
-
})
|
|
876
|
-
|
|
877
|
-
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
|
|
881
|
-
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
|
|
886
|
-
|
|
887
|
-
|
|
888
|
-
})
|
|
889
|
-
|
|
890
|
-
|
|
891
|
-
label: t.fields.newWorker,
|
|
892
|
-
yamlKey: "newWorker",
|
|
893
|
-
description: t.help.newWorker,
|
|
894
|
-
checked: runsOn.newWorker === true,
|
|
895
|
-
onChange: (newWorker) => setRunsOn({
|
|
829
|
+
params
|
|
830
|
+
}),
|
|
831
|
+
error: void 0
|
|
832
|
+
})
|
|
833
|
+
})
|
|
834
|
+
] }) : /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
835
|
+
/* @__PURE__ */ jsx(YamlField, {
|
|
836
|
+
label: t.fields.targetMode,
|
|
837
|
+
yamlKey: "mode",
|
|
838
|
+
description: t.help.targetMode,
|
|
839
|
+
children: /* @__PURE__ */ jsx(ChoiceButtons, {
|
|
840
|
+
options: TARGET_MODES.map((mode) => ({
|
|
841
|
+
value: mode,
|
|
842
|
+
label: t.targetModes[mode]
|
|
843
|
+
})),
|
|
844
|
+
value: runsOn.mode,
|
|
845
|
+
onChange: (mode) => setRunsOn({
|
|
896
846
|
...runsOn,
|
|
897
|
-
|
|
847
|
+
mode
|
|
898
848
|
})
|
|
899
|
-
})
|
|
900
|
-
|
|
901
|
-
|
|
902
|
-
|
|
903
|
-
|
|
904
|
-
|
|
905
|
-
|
|
849
|
+
})
|
|
850
|
+
}),
|
|
851
|
+
/* @__PURE__ */ jsx(Input, {
|
|
852
|
+
mono: true,
|
|
853
|
+
...labelled(t.fields.targetId, "targetId"),
|
|
854
|
+
description: t.help.targetId,
|
|
855
|
+
value: runsOn.targetId,
|
|
856
|
+
onChange: (e) => setRunsOn({
|
|
857
|
+
...runsOn,
|
|
858
|
+
targetId: e.target.value
|
|
859
|
+
})
|
|
860
|
+
}),
|
|
861
|
+
/* @__PURE__ */ jsx(Input, {
|
|
862
|
+
mono: true,
|
|
863
|
+
...labelled(t.fields.environmentId, "environmentId"),
|
|
864
|
+
description: t.help.environmentId,
|
|
865
|
+
value: runsOn.environmentId,
|
|
866
|
+
onChange: (e) => setRunsOn({
|
|
867
|
+
...runsOn,
|
|
868
|
+
environmentId: e.target.value
|
|
869
|
+
})
|
|
870
|
+
}),
|
|
871
|
+
/* @__PURE__ */ jsx(YamlField, {
|
|
872
|
+
label: t.fields.schedulingParams,
|
|
873
|
+
yamlKey: "schedulingParams",
|
|
874
|
+
description: t.help.schedulingParams,
|
|
875
|
+
children: /* @__PURE__ */ jsx(KeyValueEditor, {
|
|
876
|
+
rows: runsOn.schedulingParams,
|
|
877
|
+
onChange: (schedulingParams) => setRunsOn({
|
|
906
878
|
...runsOn,
|
|
907
|
-
|
|
908
|
-
})
|
|
879
|
+
schedulingParams
|
|
880
|
+
}),
|
|
881
|
+
error: void 0
|
|
882
|
+
})
|
|
883
|
+
}),
|
|
884
|
+
/* @__PURE__ */ jsx(ToggleField, {
|
|
885
|
+
label: t.fields.newWorker,
|
|
886
|
+
yamlKey: "newWorker",
|
|
887
|
+
description: t.help.newWorker,
|
|
888
|
+
checked: runsOn.newWorker === true,
|
|
889
|
+
onChange: (newWorker) => setRunsOn({
|
|
890
|
+
...runsOn,
|
|
891
|
+
newWorker
|
|
909
892
|
})
|
|
910
|
-
|
|
911
|
-
/* @__PURE__ */ jsx(
|
|
912
|
-
|
|
893
|
+
}),
|
|
894
|
+
/* @__PURE__ */ jsx(Input, {
|
|
895
|
+
mono: true,
|
|
896
|
+
...labelled(t.fields.workerId, "workerId"),
|
|
897
|
+
description: t.help.workerId,
|
|
898
|
+
value: runsOn.workerId,
|
|
899
|
+
onChange: (e) => setRunsOn({
|
|
900
|
+
...runsOn,
|
|
901
|
+
workerId: e.target.value
|
|
902
|
+
})
|
|
903
|
+
})
|
|
904
|
+
] }))]
|
|
913
905
|
})
|
|
914
906
|
}),
|
|
915
|
-
/* @__PURE__ */ jsxs(
|
|
907
|
+
/* @__PURE__ */ jsxs(DialogSection, {
|
|
916
908
|
title: t.sectionMatrix,
|
|
917
909
|
open: matrixOn,
|
|
918
910
|
alert: !!(errors.matrix || errors.include || errors.exclude || errors.failFast || errors.maxParallel),
|
|
@@ -926,23 +918,24 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
|
|
|
926
918
|
if (on && matrixMode === "variables") addVariableRow();
|
|
927
919
|
}
|
|
928
920
|
}), matrixOn && /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
929
|
-
typeof rawMatrix === "string" && /* @__PURE__ */
|
|
921
|
+
typeof rawMatrix === "string" && /* @__PURE__ */ jsx(YamlField, {
|
|
930
922
|
label: t.fields.matrixSource,
|
|
931
|
-
description: t.help.matrixMode
|
|
932
|
-
|
|
933
|
-
|
|
934
|
-
|
|
935
|
-
|
|
936
|
-
|
|
937
|
-
|
|
938
|
-
|
|
939
|
-
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
923
|
+
description: t.help.matrixMode,
|
|
924
|
+
children: /* @__PURE__ */ jsx(ChoiceButtons, {
|
|
925
|
+
options: [{
|
|
926
|
+
value: "variables",
|
|
927
|
+
label: t.matrixFromVariables
|
|
928
|
+
}, {
|
|
929
|
+
value: "expression",
|
|
930
|
+
label: t.matrixFromExpression
|
|
931
|
+
}],
|
|
932
|
+
value: matrixMode,
|
|
933
|
+
onChange: (mode) => {
|
|
934
|
+
setMatrixMode(mode);
|
|
935
|
+
if (mode === "variables") addVariableRow();
|
|
936
|
+
}
|
|
937
|
+
})
|
|
938
|
+
}),
|
|
946
939
|
matrixMode === "expression" ? /* @__PURE__ */ jsx(Input, {
|
|
947
940
|
mono: true,
|
|
948
941
|
...labelled(t.fields.matrixExpression, "strategy.matrix"),
|
|
@@ -961,7 +954,7 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
|
|
|
961
954
|
onChange: (next) => setMatrixRows((rows) => updateAt(rows, i, next)),
|
|
962
955
|
onRemove: () => setMatrixRows((rows) => removeAt(rows, i))
|
|
963
956
|
}, row.key)),
|
|
964
|
-
/* @__PURE__ */ jsx(
|
|
957
|
+
/* @__PURE__ */ jsx(ErrorText, { children: errors.matrix }),
|
|
965
958
|
/* @__PURE__ */ jsx(AddRowButton, {
|
|
966
959
|
label: t.addVariable,
|
|
967
960
|
onClick: () => setMatrixRows((rows) => [...rows, matrixRow({
|
|
@@ -1017,7 +1010,7 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
|
|
|
1017
1010
|
error: errors.env,
|
|
1018
1011
|
source
|
|
1019
1012
|
}),
|
|
1020
|
-
/* @__PURE__ */ jsx(
|
|
1013
|
+
/* @__PURE__ */ jsx(DialogSection, {
|
|
1021
1014
|
title: t.sectionOutputs,
|
|
1022
1015
|
description: t.help.outputs,
|
|
1023
1016
|
open: outputs.length > 0,
|
|
@@ -1029,7 +1022,7 @@ function JobForm({ job, jobs, inputs, workflow, onEdit, onClose, renderShell, on
|
|
|
1029
1022
|
error: errors.outputs
|
|
1030
1023
|
})
|
|
1031
1024
|
}),
|
|
1032
|
-
/* @__PURE__ */ jsxs(
|
|
1025
|
+
/* @__PURE__ */ jsxs(DialogSection, {
|
|
1033
1026
|
title: t.sectionAdvanced,
|
|
1034
1027
|
open: !!workingDirectory || !!timeout,
|
|
1035
1028
|
alert: !!errors.timeout,
|
|
@@ -1165,20 +1158,20 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
|
|
|
1165
1158
|
value: name,
|
|
1166
1159
|
onChange: (e) => setName(e.target.value)
|
|
1167
1160
|
}),
|
|
1168
|
-
/* @__PURE__ */ jsx(
|
|
1169
|
-
|
|
1170
|
-
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
|
|
1174
|
-
|
|
1175
|
-
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1179
|
-
|
|
1180
|
-
|
|
1181
|
-
|
|
1161
|
+
/* @__PURE__ */ jsx(YamlField, {
|
|
1162
|
+
label: t.stepKind,
|
|
1163
|
+
description: t.help.stepKind,
|
|
1164
|
+
children: /* @__PURE__ */ jsx(ChoiceButtons, {
|
|
1165
|
+
options: [{
|
|
1166
|
+
value: "run",
|
|
1167
|
+
label: t.stepRun
|
|
1168
|
+
}, {
|
|
1169
|
+
value: "uses",
|
|
1170
|
+
label: t.stepUses
|
|
1171
|
+
}],
|
|
1172
|
+
value: kind,
|
|
1173
|
+
onChange: setKind
|
|
1174
|
+
})
|
|
1182
1175
|
}),
|
|
1183
1176
|
kind === "run" ? /* @__PURE__ */ jsx(ScriptField, {
|
|
1184
1177
|
label: t.fields.run,
|
|
@@ -1205,7 +1198,7 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
|
|
|
1205
1198
|
error: errors.with,
|
|
1206
1199
|
source
|
|
1207
1200
|
})] }),
|
|
1208
|
-
/* @__PURE__ */ jsx(
|
|
1201
|
+
/* @__PURE__ */ jsx(DialogSection, {
|
|
1209
1202
|
title: t.sectionCleanup,
|
|
1210
1203
|
open: !!cleanup.trim(),
|
|
1211
1204
|
children: /* @__PURE__ */ jsx(ScriptField, {
|
|
@@ -1217,7 +1210,7 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
|
|
|
1217
1210
|
source
|
|
1218
1211
|
})
|
|
1219
1212
|
}),
|
|
1220
|
-
/* @__PURE__ */ jsxs(
|
|
1213
|
+
/* @__PURE__ */ jsxs(DialogSection, {
|
|
1221
1214
|
title: t.sectionBehavior,
|
|
1222
1215
|
open: !!condition || !!timeout || ignoreErrors !== void 0 || earlyCancel,
|
|
1223
1216
|
alert: !!(errors.timeout || errors.ignoreErrors),
|
|
@@ -1257,7 +1250,7 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
|
|
|
1257
1250
|
})
|
|
1258
1251
|
]
|
|
1259
1252
|
}),
|
|
1260
|
-
/* @__PURE__ */ jsxs(
|
|
1253
|
+
/* @__PURE__ */ jsxs(DialogSection, {
|
|
1261
1254
|
title: t.sectionRetry,
|
|
1262
1255
|
open: retryOn,
|
|
1263
1256
|
alert: !!(errors.maxRetries || errors.interval || errors.retryTimeout || errors.cleanOnRetry),
|
|
@@ -1307,12 +1300,13 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
|
|
|
1307
1300
|
})
|
|
1308
1301
|
] })]
|
|
1309
1302
|
}),
|
|
1310
|
-
/* @__PURE__ */ jsxs(
|
|
1303
|
+
/* @__PURE__ */ jsxs(DialogSection, {
|
|
1311
1304
|
title: t.sectionRemoteHost,
|
|
1312
1305
|
description: t.help.stepSsh,
|
|
1313
1306
|
open: sshMode !== "inherit",
|
|
1314
1307
|
alert: !!errors.ssh,
|
|
1315
1308
|
children: [/* @__PURE__ */ jsx(ChoiceButtons, {
|
|
1309
|
+
label: t.sectionRemoteHost,
|
|
1316
1310
|
options: [
|
|
1317
1311
|
{
|
|
1318
1312
|
value: "inherit",
|
|
@@ -1343,7 +1337,7 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
|
|
|
1343
1337
|
error: errors.env,
|
|
1344
1338
|
source
|
|
1345
1339
|
}),
|
|
1346
|
-
/* @__PURE__ */ jsxs(
|
|
1340
|
+
/* @__PURE__ */ jsxs(DialogSection, {
|
|
1347
1341
|
title: t.sectionAdvanced,
|
|
1348
1342
|
open: !!workingDirectory || !!id || !!shell,
|
|
1349
1343
|
alert: !!(errors.id || errors.shell),
|
|
@@ -1387,7 +1381,7 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
|
|
|
1387
1381
|
},
|
|
1388
1382
|
footerStart: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
1389
1383
|
/* @__PURE__ */ jsx(IconButton, {
|
|
1390
|
-
icon: /* @__PURE__ */ jsx(
|
|
1384
|
+
icon: /* @__PURE__ */ jsx(TrashIcon, {}),
|
|
1391
1385
|
label: t.deleteStep,
|
|
1392
1386
|
variant: "ghost",
|
|
1393
1387
|
size: "sm",
|
|
@@ -1398,8 +1392,8 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
|
|
|
1398
1392
|
})
|
|
1399
1393
|
}),
|
|
1400
1394
|
/* @__PURE__ */ jsx(IconButton, {
|
|
1401
|
-
icon: /* @__PURE__ */ jsx(
|
|
1402
|
-
label: t.moveUp,
|
|
1395
|
+
icon: /* @__PURE__ */ jsx(ArrowUpIcon, {}),
|
|
1396
|
+
label: t.common.moveUp,
|
|
1403
1397
|
variant: "ghost",
|
|
1404
1398
|
size: "sm",
|
|
1405
1399
|
disabled: dirty || pending || index === 0,
|
|
@@ -1411,8 +1405,8 @@ function StepForm({ job, index, steps, inputs, workflow, usesSuggestions, onEdit
|
|
|
1411
1405
|
})
|
|
1412
1406
|
}),
|
|
1413
1407
|
/* @__PURE__ */ jsx(IconButton, {
|
|
1414
|
-
icon: /* @__PURE__ */ jsx(
|
|
1415
|
-
label: t.moveDown,
|
|
1408
|
+
icon: /* @__PURE__ */ jsx(ArrowDownIcon, {}),
|
|
1409
|
+
label: t.common.moveDown,
|
|
1416
1410
|
variant: "ghost",
|
|
1417
1411
|
size: "sm",
|
|
1418
1412
|
disabled: dirty || pending || index >= steps.length - 1,
|
|
@@ -1716,7 +1710,7 @@ function useSettingsViews(o) {
|
|
|
1716
1710
|
openOnAdd: o.openOnAdd,
|
|
1717
1711
|
onSubmit: () => save(drafted()),
|
|
1718
1712
|
children: [
|
|
1719
|
-
/* @__PURE__ */ jsx(
|
|
1713
|
+
/* @__PURE__ */ jsx(ErrorText, { children: problem }),
|
|
1720
1714
|
/* @__PURE__ */ jsx(ProblemList, { problems: scoped.problems }),
|
|
1721
1715
|
shellProps.children
|
|
1722
1716
|
]
|