@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,8 +1,9 @@
|
|
|
1
1
|
import { safeUrl } from "../safeUrl.js";
|
|
2
|
+
import { useLocalPersistedState } from "./persistedState.js";
|
|
3
|
+
import { Toaster } from "./Toast.js";
|
|
2
4
|
import { TooltipProvider } from "./Tooltip.js";
|
|
3
|
-
import {
|
|
5
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
4
6
|
import { createContext, use, useCallback, useContext, useEffect, useMemo, useState } from "react";
|
|
5
|
-
import { useLocalStorage } from "usehooks-ts";
|
|
6
7
|
//#region src/components/Provider.tsx
|
|
7
8
|
var DefaultLink = ({ href, ...rest }) => /* @__PURE__ */ jsx("a", {
|
|
8
9
|
href: safeUrl(href),
|
|
@@ -17,39 +18,62 @@ var defaultUseRunFile = () => ({
|
|
|
17
18
|
isLoading: false,
|
|
18
19
|
error: void 0
|
|
19
20
|
});
|
|
20
|
-
function useLocalStoragePersistedState(key, defaultValue) {
|
|
21
|
-
const [value, setValue] = useLocalStorage(key, defaultValue);
|
|
22
|
-
return [value, setValue];
|
|
23
|
-
}
|
|
24
21
|
var DEFAULTS = {
|
|
25
|
-
notify: {
|
|
26
|
-
info: () => {},
|
|
27
|
-
success: () => {},
|
|
28
|
-
warning: () => {},
|
|
29
|
-
error: () => {},
|
|
30
|
-
loading: () => "toast",
|
|
31
|
-
update: () => {},
|
|
32
|
-
dismiss: () => {}
|
|
33
|
-
},
|
|
34
22
|
strings: {
|
|
35
|
-
loading: "Loading…",
|
|
36
23
|
modal: {
|
|
37
|
-
cancel: "Cancel",
|
|
38
|
-
close: "Close",
|
|
39
|
-
create: "Create",
|
|
40
24
|
creating: "Creating…",
|
|
41
25
|
addDescription: "Add description…",
|
|
42
26
|
advanced: "Advanced",
|
|
43
27
|
favorite: "Favorite",
|
|
44
28
|
favorited: "Favorited",
|
|
45
29
|
favoriteHintOn: "Your item will be favorited when it's created",
|
|
46
|
-
favoriteHintOff: "Favorite your item when it's created"
|
|
47
|
-
filter: "Filter"
|
|
30
|
+
favoriteHintOff: "Favorite your item when it's created"
|
|
48
31
|
},
|
|
49
32
|
common: {
|
|
33
|
+
cancel: "Cancel",
|
|
34
|
+
close: "Close",
|
|
35
|
+
save: "Save",
|
|
36
|
+
clear: "Clear",
|
|
37
|
+
delete: "Delete",
|
|
38
|
+
download: "Download",
|
|
39
|
+
retry: "Retry",
|
|
40
|
+
reset: "Reset",
|
|
41
|
+
apply: "Apply",
|
|
42
|
+
dismiss: "Dismiss",
|
|
43
|
+
notifications: "Notifications",
|
|
44
|
+
rename: "Rename",
|
|
45
|
+
share: "Share",
|
|
46
|
+
send: "Send",
|
|
47
|
+
filter: "Filter",
|
|
48
|
+
loading: "Loading…",
|
|
49
|
+
loadMore: "Load more",
|
|
50
|
+
showMore: "Show more",
|
|
51
|
+
showLess: "Show less",
|
|
52
|
+
previous: "Previous",
|
|
53
|
+
next: "Next",
|
|
54
|
+
zoomIn: "Zoom in",
|
|
55
|
+
zoomOut: "Zoom out",
|
|
56
|
+
expandAll: "Expand all",
|
|
57
|
+
collapseAll: "Collapse all",
|
|
58
|
+
moveUp: "Move up",
|
|
59
|
+
moveDown: "Move down",
|
|
60
|
+
undo: "Undo",
|
|
61
|
+
redo: "Redo",
|
|
62
|
+
duplicate: "Duplicate",
|
|
63
|
+
copied: "Copied",
|
|
64
|
+
copyToClipboard: "Copy to clipboard",
|
|
65
|
+
copiedToClipboard: "Copied to clipboard",
|
|
66
|
+
copyFailed: "Couldn't copy to the clipboard",
|
|
67
|
+
copyThing: (label) => `Copy ${label}`,
|
|
68
|
+
copiedThing: (label) => `Copied ${label}`,
|
|
69
|
+
copyThingFailed: (label) => `Couldn't copy ${label}`,
|
|
70
|
+
invalidName: "Use letters, numbers, dashes, and underscores.",
|
|
71
|
+
invalidNumber: "Use a number.",
|
|
50
72
|
copy: "Copy",
|
|
51
|
-
|
|
52
|
-
|
|
73
|
+
showValue: "Show value",
|
|
74
|
+
hideValue: "Hide value",
|
|
75
|
+
expand: "Expand",
|
|
76
|
+
collapse: "Collapse",
|
|
53
77
|
showHiddenFields: "Show hidden fields",
|
|
54
78
|
add: "Add",
|
|
55
79
|
create: "Create",
|
|
@@ -58,12 +82,87 @@ var DEFAULTS = {
|
|
|
58
82
|
remove: "Remove",
|
|
59
83
|
sort: "Sort",
|
|
60
84
|
userAvatar: "User avatar",
|
|
61
|
-
moreInfo: "More information"
|
|
85
|
+
moreInfo: "More information",
|
|
86
|
+
actions: "Actions",
|
|
87
|
+
edit: "Edit",
|
|
88
|
+
submit: "Submit",
|
|
89
|
+
search: "Search",
|
|
90
|
+
clearSearch: "Clear search",
|
|
91
|
+
filterPlaceholder: "Filter…",
|
|
92
|
+
breadcrumb: "Breadcrumb",
|
|
93
|
+
yes: "Yes",
|
|
94
|
+
no: "No",
|
|
95
|
+
opensInNewTab: "(opens in a new tab)",
|
|
96
|
+
resizePanel: "Resize panel",
|
|
97
|
+
panelWidth: (px) => `${px} pixels wide`,
|
|
98
|
+
refresh: "Refresh",
|
|
99
|
+
refreshing: "Refreshing",
|
|
100
|
+
updated: (ago) => `Updated ${ago}`
|
|
62
101
|
},
|
|
63
102
|
dropdown: {
|
|
64
103
|
select: (type) => `Select ${type}`,
|
|
65
104
|
noOptionsFound: "No options found",
|
|
66
|
-
showOptions: "Show options"
|
|
105
|
+
showOptions: "Show options",
|
|
106
|
+
add: (text) => `Add “${text}”`,
|
|
107
|
+
limitReached: (max) => `Up to ${max}`
|
|
108
|
+
},
|
|
109
|
+
datePicker: {
|
|
110
|
+
pickDate: "Pick a date",
|
|
111
|
+
time: "Time",
|
|
112
|
+
previousMonth: "Previous month",
|
|
113
|
+
nextMonth: "Next month"
|
|
114
|
+
},
|
|
115
|
+
theme: {
|
|
116
|
+
appearance: "Appearance",
|
|
117
|
+
light: "Light",
|
|
118
|
+
dark: "Dark",
|
|
119
|
+
system: "System",
|
|
120
|
+
editing: "Colors for",
|
|
121
|
+
presets: "Presets",
|
|
122
|
+
base: "Background",
|
|
123
|
+
accent: "Accent",
|
|
124
|
+
contrast: "Contrast",
|
|
125
|
+
contrastHelp: "Separates surfaces and strengthens text. Text always meets WCAG AA.",
|
|
126
|
+
customSidebar: "Custom sidebar",
|
|
127
|
+
sidebarBase: "Sidebar background",
|
|
128
|
+
sidebarAccent: "Sidebar accent",
|
|
129
|
+
code: "Code",
|
|
130
|
+
codeStyle: (style) => ({
|
|
131
|
+
balanced: "Balanced",
|
|
132
|
+
vivid: "Vivid",
|
|
133
|
+
muted: "Muted",
|
|
134
|
+
mono: "Monochrome"
|
|
135
|
+
})[style],
|
|
136
|
+
pick: (name) => `Pick ${name.toLowerCase()}`,
|
|
137
|
+
invalidColor: "Enter a hex color, such as #1f6feb.",
|
|
138
|
+
copy: "Copy theme",
|
|
139
|
+
copied: "theme",
|
|
140
|
+
import: "Import theme",
|
|
141
|
+
importLabel: "Theme to import",
|
|
142
|
+
importPlaceholder: "Paste a copied theme",
|
|
143
|
+
apply: "Apply",
|
|
144
|
+
reset: "Reset",
|
|
145
|
+
importError: (code, path) => ({
|
|
146
|
+
json: "This isn’t a copied theme: it isn’t valid JSON.",
|
|
147
|
+
version: "This theme is from a version this app can’t read.",
|
|
148
|
+
shape: `This theme is incomplete${path ? ` at ${path}` : ""}.`,
|
|
149
|
+
color: `${path} isn’t a color.`,
|
|
150
|
+
range: `${path} is out of range.`
|
|
151
|
+
})[code],
|
|
152
|
+
preview: "Preview",
|
|
153
|
+
previewNav: [
|
|
154
|
+
"Home",
|
|
155
|
+
"Runs",
|
|
156
|
+
"Settings"
|
|
157
|
+
],
|
|
158
|
+
previewHeading: "Weekly report",
|
|
159
|
+
previewBody: "Twelve runs finished and two need attention.",
|
|
160
|
+
previewMuted: "Updated a minute ago",
|
|
161
|
+
previewLink: "View runs",
|
|
162
|
+
previewButton: "Run again",
|
|
163
|
+
previewSearch: "Search runs",
|
|
164
|
+
previewPassed: "Passed",
|
|
165
|
+
previewFailed: "Failed"
|
|
67
166
|
},
|
|
68
167
|
logviewer: {
|
|
69
168
|
error: "Error:",
|
|
@@ -76,7 +175,6 @@ var DEFAULTS = {
|
|
|
76
175
|
hideDebug: "Hide Debug",
|
|
77
176
|
showDebug: "Show Debug",
|
|
78
177
|
filterLogs: "Filter logs",
|
|
79
|
-
download: "Download",
|
|
80
178
|
beginningOfLog: "Beginning of log",
|
|
81
179
|
loadingOlderEntries: "Loading older entries…",
|
|
82
180
|
loadOlderEntries: "Load older entries",
|
|
@@ -87,12 +185,12 @@ var DEFAULTS = {
|
|
|
87
185
|
timeRangeHelp: "Times are interpreted in your local timezone. Applying a range re-queries the log source and replaces what is loaded. Setting an end time stops live tailing until you clear it.",
|
|
88
186
|
timeRangeFrom: "From",
|
|
89
187
|
timeRangeTo: "To",
|
|
90
|
-
apply: "Apply",
|
|
91
|
-
clear: "Clear",
|
|
92
188
|
invalidStartTime: "Start time is not a valid date.",
|
|
93
189
|
invalidEndTime: "End time is not a valid date.",
|
|
94
190
|
endBeforeStart: "End time must be after the start time.",
|
|
95
|
-
endInFuture: "End time cannot be in the future."
|
|
191
|
+
endInFuture: "End time cannot be in the future.",
|
|
192
|
+
follow: "Follow",
|
|
193
|
+
following: "Following"
|
|
96
194
|
},
|
|
97
195
|
dag: {
|
|
98
196
|
workflow: "Workflow",
|
|
@@ -100,10 +198,6 @@ var DEFAULTS = {
|
|
|
100
198
|
status: "Status",
|
|
101
199
|
runtime: "Runtime",
|
|
102
200
|
submitted: "Submitted",
|
|
103
|
-
expandAll: "Expand All",
|
|
104
|
-
collapseAll: "Collapse All",
|
|
105
|
-
zoomIn: "Zoom in",
|
|
106
|
-
zoomOut: "Zoom out",
|
|
107
201
|
resetView: "Reset View",
|
|
108
202
|
previousGraph: "Back to the previous graph",
|
|
109
203
|
nextGraph: "Forward to the next graph",
|
|
@@ -113,7 +207,23 @@ var DEFAULTS = {
|
|
|
113
207
|
noLogFound: "No log found",
|
|
114
208
|
logLoadFailed: "Log could not be loaded",
|
|
115
209
|
statusLabel: (status) => status,
|
|
116
|
-
statusReason: () => void 0
|
|
210
|
+
statusReason: () => void 0,
|
|
211
|
+
generalLog: "General log",
|
|
212
|
+
previousStep: "Previous step",
|
|
213
|
+
nextStep: "Next step",
|
|
214
|
+
graphView: "DAG",
|
|
215
|
+
treeView: "Tree",
|
|
216
|
+
summary: "Summary",
|
|
217
|
+
dependsOn: "depends on:",
|
|
218
|
+
subworkflow: "(subworkflow)",
|
|
219
|
+
annotations: "Annotations",
|
|
220
|
+
annotationType: {
|
|
221
|
+
error: "Error",
|
|
222
|
+
warning: "Warning",
|
|
223
|
+
notice: "Notice"
|
|
224
|
+
},
|
|
225
|
+
annotationSource: (job, step) => `in ${job} → ${step}`,
|
|
226
|
+
stepNumber: (index) => `step ${index}`
|
|
117
227
|
},
|
|
118
228
|
jobActions: {
|
|
119
229
|
openSubworkflowLogs: "Open subworkflow logs",
|
|
@@ -130,11 +240,11 @@ var DEFAULTS = {
|
|
|
130
240
|
select: (name) => `Select ${name}`,
|
|
131
241
|
viewDetails: "View details",
|
|
132
242
|
openFolder: "Open folder",
|
|
133
|
-
delete: "Delete",
|
|
134
243
|
detailsTab: "Details",
|
|
135
244
|
previewTab: "Preview",
|
|
136
245
|
preview: "Preview",
|
|
137
246
|
openFullPreview: "Open full preview",
|
|
247
|
+
previewLayout: "Preview layout",
|
|
138
248
|
quickLook: "Quick Look",
|
|
139
249
|
fullWindow: "Full window",
|
|
140
250
|
streamed: "Streamed",
|
|
@@ -152,10 +262,6 @@ var DEFAULTS = {
|
|
|
152
262
|
unsupportedMessage: "This file type can't be previewed in the browser. Download the file to view it.",
|
|
153
263
|
notebookParseError: "This notebook couldn't be parsed.",
|
|
154
264
|
copyUri: "Copy URI",
|
|
155
|
-
download: "Download",
|
|
156
|
-
close: "Close",
|
|
157
|
-
zoomIn: "Zoom in",
|
|
158
|
-
zoomOut: "Zoom out",
|
|
159
265
|
previousFile: "Previous file",
|
|
160
266
|
nextFile: "Next file",
|
|
161
267
|
csvRows: (count, columns) => `${count} rows · ${columns} columns`,
|
|
@@ -175,7 +281,6 @@ var DEFAULTS = {
|
|
|
175
281
|
success: (name) => `Created ${name}.`,
|
|
176
282
|
error: (message) => `Couldn't create folder: ${message}`,
|
|
177
283
|
invalidTarget: "Select a folder before creating a new folder.",
|
|
178
|
-
noWriteAccess: "You do not have write access to this storage.",
|
|
179
284
|
unsupported: "Folder creation is not supported for this storage.",
|
|
180
285
|
validation: {
|
|
181
286
|
reserved: "The folder name cannot be . or ..",
|
|
@@ -184,6 +289,8 @@ var DEFAULTS = {
|
|
|
184
289
|
}
|
|
185
290
|
},
|
|
186
291
|
readOnly: "Read-only",
|
|
292
|
+
fileLink: "file link",
|
|
293
|
+
uri: "URI",
|
|
187
294
|
cors: {
|
|
188
295
|
explanation: {
|
|
189
296
|
title: "CORS Configuration Required",
|
|
@@ -191,10 +298,7 @@ var DEFAULTS = {
|
|
|
191
298
|
action: "You can automatically configure these rules to allow access from this domain.",
|
|
192
299
|
note: "Note: Changes may take up to 30 seconds to propagate."
|
|
193
300
|
},
|
|
194
|
-
actions: {
|
|
195
|
-
retry: "Retry Connection",
|
|
196
|
-
addRules: "Add CORS Rules"
|
|
197
|
-
},
|
|
301
|
+
actions: { addRules: "Add CORS Rules" },
|
|
198
302
|
propagating: {
|
|
199
303
|
title: "Propagating CORS rules",
|
|
200
304
|
description: "The storage provider is rolling out the new rules to its endpoints. This usually completes within a minute.",
|
|
@@ -208,13 +312,10 @@ var DEFAULTS = {
|
|
|
208
312
|
},
|
|
209
313
|
selectedCount: (count) => `${count} selected`,
|
|
210
314
|
loadingMore: "Loading more items…",
|
|
211
|
-
loadMore: "Load more",
|
|
212
|
-
retry: "Retry",
|
|
213
315
|
partialCount: (count) => `${count.toLocaleString()}+ items`,
|
|
214
316
|
notFound: {
|
|
215
317
|
title: (name) => `Couldn't find ${name}`,
|
|
216
|
-
description: "It may have been moved or deleted, or it may sit further into a folder than we have listed."
|
|
217
|
-
retry: "Try again"
|
|
318
|
+
description: "It may have been moved or deleted, or it may sit further into a folder than we have listed."
|
|
218
319
|
},
|
|
219
320
|
treeMoreCount: (count) => `${count.toLocaleString()} more`,
|
|
220
321
|
treeMoreCountPartial: (count) => `${count.toLocaleString()}+ more`,
|
|
@@ -224,10 +325,7 @@ var DEFAULTS = {
|
|
|
224
325
|
noFilesForDownload: "No files selected for download.",
|
|
225
326
|
downloadLinkFailed: "Failed to generate download link",
|
|
226
327
|
fileLinkFailed: "Failed to generate file link",
|
|
227
|
-
fileLinkCopied: "File link copied to clipboard",
|
|
228
328
|
noUri: "No URI available for this file.",
|
|
229
|
-
uriCopied: "URI copied to clipboard",
|
|
230
|
-
uriCopyFailed: "Failed to copy URI",
|
|
231
329
|
storageUnavailable: "This storage is not available at the moment. Please try again later.",
|
|
232
330
|
waitForCurrentUpload: "Please wait for the current upload to finish before starting a new one.",
|
|
233
331
|
waitForUpload: "Please wait for the upload to finish.",
|
|
@@ -247,25 +345,30 @@ var DEFAULTS = {
|
|
|
247
345
|
connectFailed: "Failed to connect to storage provider. Please check your storage settings and try again.",
|
|
248
346
|
corsNoStorage: "No storage selected",
|
|
249
347
|
corsAdded: "CORS rules added successfully",
|
|
250
|
-
corsPropagating: "CORS rules were added, but are still propagating. Try again in a moment."
|
|
348
|
+
corsPropagating: "CORS rules were added, but are still propagating. Try again in a moment.",
|
|
349
|
+
previewUnsupported: "Preview is not supported for this storage."
|
|
251
350
|
},
|
|
252
351
|
chrome: {
|
|
253
352
|
explorer: "Explorer",
|
|
254
|
-
refresh: "Refresh",
|
|
255
|
-
collapse: "Collapse",
|
|
256
353
|
upload: "Upload",
|
|
257
|
-
download: "Download",
|
|
258
354
|
downloadFromBrowser: "From browser",
|
|
259
355
|
access: "Access",
|
|
260
356
|
manageAccess: "Manage Access",
|
|
261
|
-
delete: "Delete",
|
|
262
|
-
copyToClipboard: "Copy to clipboard",
|
|
263
357
|
selectAll: "Select all",
|
|
264
358
|
name: "Name",
|
|
265
359
|
size: "Size",
|
|
266
360
|
created: "Created",
|
|
267
361
|
hash: "Hash",
|
|
268
|
-
storageIconAlt: "An icon for the storage"
|
|
362
|
+
storageIconAlt: "An icon for the storage",
|
|
363
|
+
type: "Type",
|
|
364
|
+
storages: "Storages",
|
|
365
|
+
modified: "Modified",
|
|
366
|
+
lastModified: "Last modified",
|
|
367
|
+
contentType: "Content type",
|
|
368
|
+
storageClass: "Storage class",
|
|
369
|
+
details: "Details",
|
|
370
|
+
selectFiles: "Select files",
|
|
371
|
+
selectFolder: "Select folder"
|
|
269
372
|
},
|
|
270
373
|
confirmUpload: {
|
|
271
374
|
title: "Confirm Upload",
|
|
@@ -274,15 +377,13 @@ var DEFAULTS = {
|
|
|
274
377
|
noPath: "No path selected",
|
|
275
378
|
confirm: "Confirm",
|
|
276
379
|
target: "Target:",
|
|
277
|
-
totalSize: "Total Size:",
|
|
278
380
|
sizeLimitTitle: "Upload Size Limit Exceeded",
|
|
279
381
|
sizeLimitBody: (total, max) => `The total upload size (${total}) exceeds the maximum allowed limit of ${max}.`,
|
|
280
382
|
sizeLimitHint: "Please reduce the number of files or upload them in smaller batches."
|
|
281
383
|
},
|
|
282
384
|
confirmDelete: {
|
|
283
385
|
title: "Confirm Delete",
|
|
284
|
-
text: "Are you sure you want to delete the following item(s)? Folders are deleted with everything inside them. This action cannot be undone."
|
|
285
|
-
action: "Delete"
|
|
386
|
+
text: "Are you sure you want to delete the following item(s)? Folders are deleted with everything inside them. This action cannot be undone."
|
|
286
387
|
},
|
|
287
388
|
empty: {
|
|
288
389
|
nothingSelected: "Nothing selected",
|
|
@@ -291,7 +392,6 @@ var DEFAULTS = {
|
|
|
291
392
|
dropHint: "Drag files or a folder here to upload.",
|
|
292
393
|
readOnlyHint: "You have read-only access to this storage.",
|
|
293
394
|
connectionIssue: "Connection issue",
|
|
294
|
-
tryAgain: "Try again",
|
|
295
395
|
shareThisFile: "Share this file"
|
|
296
396
|
},
|
|
297
397
|
upload: {
|
|
@@ -301,9 +401,7 @@ var DEFAULTS = {
|
|
|
301
401
|
eta: "ETA:",
|
|
302
402
|
uploading: "Uploading...",
|
|
303
403
|
completeTitle: "Upload Complete!",
|
|
304
|
-
completeShort: "Completed",
|
|
305
404
|
failedTitle: "Upload Failed",
|
|
306
|
-
failedShort: "Failed",
|
|
307
405
|
unknownTitle: "Unknown Status",
|
|
308
406
|
unknownShort: "Unknown",
|
|
309
407
|
cancelled: "Cancelled",
|
|
@@ -311,7 +409,8 @@ var DEFAULTS = {
|
|
|
311
409
|
failed: "Failed",
|
|
312
410
|
totalSize: "Total size:",
|
|
313
411
|
size: "Size:",
|
|
314
|
-
calculating: "Calculating
|
|
412
|
+
calculating: "Calculating…",
|
|
413
|
+
almostDone: "Almost done",
|
|
315
414
|
expandDetails: "Expand details",
|
|
316
415
|
minimizeDetails: "Minimize details",
|
|
317
416
|
sessionNotQueued: (id, status) => `Upload session with ID ${id} is not queued, current status is ${status}`,
|
|
@@ -323,17 +422,36 @@ var DEFAULTS = {
|
|
|
323
422
|
failReasonGeneric: "The file(s) may be too large or the connection may have been interrupted.",
|
|
324
423
|
refreshFailed: (name, message) => `Failed to refresh storage data for ${name}. ${message}. Please try again.`,
|
|
325
424
|
unknownError: "Unknown error",
|
|
326
|
-
overallProgress: "Overall Progress"
|
|
425
|
+
overallProgress: "Overall Progress",
|
|
426
|
+
cancelFile: (name) => `Cancel ${name}`,
|
|
427
|
+
confirmCancelFile: "Cancel?",
|
|
428
|
+
confirmCancelAll: "Cancel all uploading files?",
|
|
429
|
+
filesDone: (done, total) => `${done} / ${total} files done`,
|
|
430
|
+
progress: (uploading, done, total) => uploading > 0 ? `${uploading} uploading (${done} / ${total} done)` : `${done} / ${total} done`,
|
|
431
|
+
fileCount: (count) => count === 1 ? "1 file" : `${count.toLocaleString()} files`,
|
|
432
|
+
keepPageOpen: "Please don't refresh this page during upload to prevent any data loss."
|
|
327
433
|
}
|
|
328
434
|
},
|
|
329
435
|
form: {
|
|
436
|
+
required: "Enter a value.",
|
|
437
|
+
checkValue: "Check this value.",
|
|
330
438
|
invalidDuration: "Enter a duration as DD-HH:MM:SS or HH:MM:SS.",
|
|
331
439
|
durationOutOfRange: (min, max) => `Must be between ${min} and ${max}.`,
|
|
332
440
|
durationBelowMin: (min) => `Must be at least ${min}.`,
|
|
333
441
|
copyTitle: (title, number) => `${title} ${number}`,
|
|
334
442
|
addCopy: (title) => `+ Add ${title}`,
|
|
335
443
|
removeCopy: (title) => `Remove ${title}`,
|
|
336
|
-
steps: "Steps"
|
|
444
|
+
steps: "Steps",
|
|
445
|
+
stepOf: (number, total) => `Step ${number} of ${total}`,
|
|
446
|
+
allSteps: "All steps",
|
|
447
|
+
stepDone: "Done",
|
|
448
|
+
stepNeedsAttention: "Needs a fix",
|
|
449
|
+
previousStep: "Go to previous step",
|
|
450
|
+
nextStep: "Go to next step",
|
|
451
|
+
runWizard: "Execute",
|
|
452
|
+
fixErrorsToContinue: "Please fix errors before proceeding",
|
|
453
|
+
stepFailed: "An error occurred",
|
|
454
|
+
stepLabel: (number, title) => `Step ${number}: ${title}`
|
|
337
455
|
},
|
|
338
456
|
time: {
|
|
339
457
|
now: "now",
|
|
@@ -343,10 +461,6 @@ var DEFAULTS = {
|
|
|
343
461
|
years: (n) => `${n}y`
|
|
344
462
|
},
|
|
345
463
|
list: {
|
|
346
|
-
copyMenu: "Copy",
|
|
347
|
-
copy: (label) => `Copy ${label}`,
|
|
348
|
-
copied: (label) => `Copied ${label}`,
|
|
349
|
-
couldntCopy: (label) => `Couldn't copy ${label}`,
|
|
350
464
|
moreActions: "More actions",
|
|
351
465
|
labelName: "name",
|
|
352
466
|
labelEmail: "email",
|
|
@@ -371,45 +485,14 @@ var DEFAULTS = {
|
|
|
371
485
|
displayProperties: "Display properties",
|
|
372
486
|
pinnedActions: "Pinned actions",
|
|
373
487
|
pinnedActionsHelp: "Pinned actions show as quick buttons on the right of each row (on hover), alongside the ⋯ menu. Each only appears on rows where that action is available, so a row's buttons vary by its type and status.",
|
|
374
|
-
reset: "Reset",
|
|
375
488
|
none: "None",
|
|
376
|
-
filter: "Filter",
|
|
377
|
-
clear: "Clear",
|
|
378
489
|
searchOptions: "Search options…",
|
|
379
490
|
pager: (start, end, total, atLeast) => `${start}–${end} of ${total}${atLeast ? "+" : ""}`,
|
|
380
491
|
perPage: "Per page",
|
|
381
492
|
paginationPrevious: "Previous",
|
|
382
493
|
paginationNext: "Next",
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
name,
|
|
386
|
-
" ",
|
|
387
|
-
/* @__PURE__ */ jsx("span", {
|
|
388
|
-
className: "font-medium",
|
|
389
|
-
children: start
|
|
390
|
-
}),
|
|
391
|
-
" to",
|
|
392
|
-
" ",
|
|
393
|
-
/* @__PURE__ */ jsx("span", {
|
|
394
|
-
className: "font-medium",
|
|
395
|
-
children: end
|
|
396
|
-
})
|
|
397
|
-
] }),
|
|
398
|
-
paginationShowingTimeRange: (name, startTime, endTime) => /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
399
|
-
"Showing ",
|
|
400
|
-
name,
|
|
401
|
-
" from ",
|
|
402
|
-
/* @__PURE__ */ jsx("span", {
|
|
403
|
-
className: "font-medium",
|
|
404
|
-
children: startTime
|
|
405
|
-
}),
|
|
406
|
-
" to",
|
|
407
|
-
" ",
|
|
408
|
-
/* @__PURE__ */ jsx("span", {
|
|
409
|
-
className: "font-medium",
|
|
410
|
-
children: endTime
|
|
411
|
-
})
|
|
412
|
-
] })
|
|
494
|
+
pagination: "Pagination",
|
|
495
|
+
removeSearchTerm: (term) => `Remove filter ${term}`
|
|
413
496
|
}
|
|
414
497
|
},
|
|
415
498
|
navigation: {
|
|
@@ -428,14 +511,11 @@ var DEFAULTS = {
|
|
|
428
511
|
},
|
|
429
512
|
data: {
|
|
430
513
|
useRunFile: defaultUseRunFile,
|
|
431
|
-
usePersistedState:
|
|
514
|
+
usePersistedState: useLocalPersistedState
|
|
432
515
|
},
|
|
433
516
|
slots: {}
|
|
434
517
|
};
|
|
435
518
|
var UIContext = createContext(DEFAULTS);
|
|
436
|
-
function useNotify() {
|
|
437
|
-
return useContext(UIContext).notify;
|
|
438
|
-
}
|
|
439
519
|
function useStrings() {
|
|
440
520
|
return useContext(UIContext).strings;
|
|
441
521
|
}
|
|
@@ -530,17 +610,12 @@ function usePersistedState(key, defaultValue) {
|
|
|
530
610
|
const { usePersistedState: boundUsePersistedState } = useContext(UIContext).data;
|
|
531
611
|
return boundUsePersistedState(key, defaultValue);
|
|
532
612
|
}
|
|
533
|
-
function UIProvider({
|
|
613
|
+
function UIProvider({ strings, navigation, data, slots, engine, children }) {
|
|
534
614
|
useEffect(() => {
|
|
535
615
|
if (typeof engine === "function") loadEngine(engine);
|
|
536
616
|
}, [engine]);
|
|
537
617
|
const value = useMemo(() => ({
|
|
538
|
-
notify: {
|
|
539
|
-
...DEFAULTS.notify,
|
|
540
|
-
...notify
|
|
541
|
-
},
|
|
542
618
|
strings: {
|
|
543
|
-
loading: strings?.loading ?? DEFAULTS.strings.loading,
|
|
544
619
|
modal: {
|
|
545
620
|
...DEFAULTS.strings.modal,
|
|
546
621
|
...strings?.modal
|
|
@@ -553,6 +628,14 @@ function UIProvider({ notify, strings, navigation, data, slots, engine, children
|
|
|
553
628
|
...DEFAULTS.strings.dropdown,
|
|
554
629
|
...strings?.dropdown
|
|
555
630
|
},
|
|
631
|
+
datePicker: {
|
|
632
|
+
...DEFAULTS.strings.datePicker,
|
|
633
|
+
...strings?.datePicker
|
|
634
|
+
},
|
|
635
|
+
theme: {
|
|
636
|
+
...DEFAULTS.strings.theme,
|
|
637
|
+
...strings?.theme
|
|
638
|
+
},
|
|
556
639
|
logviewer: {
|
|
557
640
|
...DEFAULTS.strings.logviewer,
|
|
558
641
|
...strings?.logviewer
|
|
@@ -601,17 +684,16 @@ function UIProvider({ notify, strings, navigation, data, slots, engine, children
|
|
|
601
684
|
slots: slots ?? DEFAULTS.slots,
|
|
602
685
|
engine
|
|
603
686
|
}), [
|
|
604
|
-
notify,
|
|
605
687
|
strings,
|
|
606
688
|
navigation,
|
|
607
689
|
data,
|
|
608
690
|
slots,
|
|
609
691
|
engine
|
|
610
692
|
]);
|
|
611
|
-
return /* @__PURE__ */
|
|
693
|
+
return /* @__PURE__ */ jsxs(UIContext.Provider, {
|
|
612
694
|
value,
|
|
613
|
-
children: /* @__PURE__ */ jsx(TooltipProvider, { children })
|
|
695
|
+
children: [/* @__PURE__ */ jsx(TooltipProvider, { children }), /* @__PURE__ */ jsx(Toaster, {})]
|
|
614
696
|
});
|
|
615
697
|
}
|
|
616
698
|
//#endregion
|
|
617
|
-
export { UIProvider, useLink, useLoadedWorkflowEngine, useNavigation,
|
|
699
|
+
export { UIProvider, useLink, useLoadedWorkflowEngine, useNavigation, useOptionalWorkflowEngine, usePersistedState, useProvisionCorsRules, useRepoSuggestions, useRunFile, useSecretVariablesResolver, useSlots, useStrings, useWorkflowActions, useWorkflowEditing, useWorkflowEngine, useWorkflowEngineLoader, useWorkflowJsonResolver };
|
|
@@ -4,5 +4,5 @@ export interface RadioProps<Value> extends Omit<BaseRadio.Root.Props<Value>, 'cl
|
|
|
4
4
|
className?: string | undefined;
|
|
5
5
|
}
|
|
6
6
|
/** One choice in a `RadioGroup`, which holds the value. Name it with an
|
|
7
|
-
* enclosing `<label
|
|
7
|
+
* enclosing `<label>`, or a `FieldOption` inside a `Field`. */
|
|
8
8
|
export declare function Radio<Value>({ className, ...props }: RadioProps<Value>): import("react").JSX.Element;
|
package/dist/components/Radio.js
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { cx } from "../cx.js";
|
|
2
2
|
import { jsx } from "react/jsx-runtime";
|
|
3
3
|
import { Radio } from "@base-ui/react/radio";
|
|
4
4
|
import { RadioGroup } from "@base-ui/react/radio-group";
|
|
5
5
|
//#region src/components/Radio.tsx
|
|
6
6
|
/** One choice in a `RadioGroup`, which holds the value. Name it with an
|
|
7
|
-
* enclosing `<label
|
|
7
|
+
* enclosing `<label>`, or a `FieldOption` inside a `Field`. */
|
|
8
8
|
function Radio$1({ className, ...props }) {
|
|
9
9
|
return /* @__PURE__ */ jsx(Radio.Root, {
|
|
10
10
|
...props,
|
|
11
|
-
className:
|
|
12
|
-
children: /* @__PURE__ */ jsx(Radio.Indicator, { className: "size-1.5 rounded-full bg-(--theme-
|
|
11
|
+
className: cx("flex size-4 shrink-0 items-center justify-center rounded-full border border-(--theme-border) bg-(--theme-input-bg) cursor-pointer outline-none transition-colors", "data-checked:border-(--theme-accent) data-checked:bg-(--theme-accent)", "focus-visible:ring-2 focus-visible:ring-(--theme-focus-ring) aria-invalid:border-(--theme-error)", "data-disabled:cursor-not-allowed data-disabled:opacity-50", className),
|
|
12
|
+
children: /* @__PURE__ */ jsx(Radio.Indicator, { className: "size-1.5 rounded-full bg-(--theme-accent-text)" })
|
|
13
13
|
});
|
|
14
14
|
}
|
|
15
15
|
//#endregion
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ButtonSize } from './buttonClasses.js';
|
|
2
|
+
export interface RefreshButtonProps {
|
|
3
|
+
/** May return a promise; the button spins until it settles. */
|
|
4
|
+
onRefresh: () => unknown;
|
|
5
|
+
/** Spins for a refresh the host tracks itself, such as a revalidation. */
|
|
6
|
+
refreshing?: boolean | undefined;
|
|
7
|
+
/** When the data was last fetched. The button then reads "Updated 5
|
|
8
|
+
* seconds ago" instead of "Refresh", and keeps that current. */
|
|
9
|
+
updatedAt?: Date | number | null | undefined;
|
|
10
|
+
size?: ButtonSize | undefined;
|
|
11
|
+
/** Only the icon shows, with "Refresh" as its name and tooltip. */
|
|
12
|
+
iconOnly?: boolean | undefined;
|
|
13
|
+
}
|
|
14
|
+
/** Fetches again on demand, and says so while it does, out loud too. */
|
|
15
|
+
export declare function RefreshButton({ onRefresh, refreshing, updatedAt, size, iconOnly, }: RefreshButtonProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import { cx } from "../cx.js";
|
|
2
|
+
import { RefreshIcon } from "../icons.js";
|
|
3
|
+
import { buttonClasses } from "./buttonClasses.js";
|
|
4
|
+
import { Tooltip } from "./Tooltip.js";
|
|
5
|
+
import { useStrings } from "./Provider.js";
|
|
6
|
+
import { useRelativeTime } from "./relativeTime.js";
|
|
7
|
+
import { Fragment, jsx, jsxs } from "react/jsx-runtime";
|
|
8
|
+
import { useEffect, useRef, useState } from "react";
|
|
9
|
+
//#region src/components/RefreshButton.tsx
|
|
10
|
+
/** Fetches again on demand, and says so while it does, out loud too. */
|
|
11
|
+
function RefreshButton({ onRefresh, refreshing = false, updatedAt, size = "md", iconOnly = false }) {
|
|
12
|
+
const { common: t } = useStrings();
|
|
13
|
+
const [pending, setPending] = useState(false);
|
|
14
|
+
const mounted = useRef(true);
|
|
15
|
+
useEffect(() => () => {
|
|
16
|
+
mounted.current = false;
|
|
17
|
+
}, []);
|
|
18
|
+
const busy = refreshing || pending;
|
|
19
|
+
const ago = useRelativeTime(updatedAt);
|
|
20
|
+
const refresh = () => {
|
|
21
|
+
if (busy) return;
|
|
22
|
+
const result = onRefresh();
|
|
23
|
+
if (result instanceof Promise) {
|
|
24
|
+
setPending(true);
|
|
25
|
+
result.finally(() => mounted.current && setPending(false));
|
|
26
|
+
}
|
|
27
|
+
};
|
|
28
|
+
const button = /* @__PURE__ */ jsxs("button", {
|
|
29
|
+
type: "button",
|
|
30
|
+
onClick: refresh,
|
|
31
|
+
"aria-busy": busy,
|
|
32
|
+
"aria-label": iconOnly ? t.refresh : void 0,
|
|
33
|
+
className: cx(buttonClasses({
|
|
34
|
+
variant: "ghost",
|
|
35
|
+
size,
|
|
36
|
+
iconOnly
|
|
37
|
+
}), "group aria-busy:cursor-progress"),
|
|
38
|
+
children: [/* @__PURE__ */ jsx(RefreshIcon, {
|
|
39
|
+
"aria-hidden": "true",
|
|
40
|
+
className: cx("shrink-0 motion-reduce:animate-none motion-reduce:transition-none", busy ? "animate-spin" : "transition-transform duration-300 group-hover:rotate-180")
|
|
41
|
+
}), !iconOnly && (ago ? t.updated(ago) : t.refresh)]
|
|
42
|
+
});
|
|
43
|
+
return /* @__PURE__ */ jsxs(Fragment, { children: [iconOnly ? /* @__PURE__ */ jsx(Tooltip, {
|
|
44
|
+
content: t.refresh,
|
|
45
|
+
children: button
|
|
46
|
+
}) : button, /* @__PURE__ */ jsx("span", {
|
|
47
|
+
role: "status",
|
|
48
|
+
className: "sr-only",
|
|
49
|
+
children: busy ? t.refreshing : ""
|
|
50
|
+
})] });
|
|
51
|
+
}
|
|
52
|
+
//#endregion
|
|
53
|
+
export { RefreshButton };
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { RunStatus } from '../engine.js';
|
|
2
|
+
import { type Tone } from './tone.js';
|
|
3
|
+
/** The tone a run status reads in, so a badge that says the status in words matches the
|
|
4
|
+
* icon: `<StatusBadge variant={runStatusTone(status)}>`. */
|
|
5
|
+
export declare function runStatusTone(status: RunStatus): Tone;
|
|
6
|
+
/** A run's, job's or step's status as an icon in its tone, beside the name of what ran. It
|
|
7
|
+
* is named by `strings.dag.statusLabel`. To say the status in words, use `StatusBadge` with
|
|
8
|
+
* `runStatusTone`. */
|
|
9
|
+
export declare function RunStatusIcon({ status, className, }: {
|
|
10
|
+
status: RunStatus;
|
|
11
|
+
className?: string | undefined;
|
|
12
|
+
}): import("react").JSX.Element;
|