From 888837431c729d1767bca778ad32dcaaed08a585 Mon Sep 17 00:00:00 2001 From: Guilhem Date: Wed, 22 Oct 2025 16:56:36 +0100 Subject: [PATCH] feat: UX/UI full overhaul to meet new design system --- frontend/src/lib/assets/app.css | 17 +- frontend/src/lib/assets/tokens/README.md | 1 + .../lib/assets/tokens/colorTokensConfig.ts | 2 + frontend/src/lib/assets/tokens/tokens.json | 403 +++++++++++ .../lib/components/AIProviderPicker.svelte | 53 +- frontend/src/lib/components/AddUser.svelte | 5 +- .../src/lib/components/ApiConnectForm.svelte | 13 +- .../lib/components/AppConnectDrawer.svelte | 6 +- .../src/lib/components/AppConnectInner.svelte | 329 +++++---- ...AppConnectLightweightResourcePicker.svelte | 2 +- frontend/src/lib/components/ArgInfo.svelte | 16 +- frontend/src/lib/components/ArgInput.svelte | 104 ++- .../lib/components/ArrayTypeNarrowing.svelte | 6 +- .../src/lib/components/AssignableTags.svelte | 6 +- .../lib/components/AssignableTagsInner.svelte | 19 +- .../src/lib/components/Auth0Setting.svelte | 2 +- .../src/lib/components/AuthSettings.svelte | 34 +- .../components/AutoscalingConfigEditor.svelte | 43 +- .../lib/components/AutoscalingEvents.svelte | 14 +- frontend/src/lib/components/Awareness.svelte | 27 +- .../src/lib/components/CenteredModal.svelte | 8 +- .../ChangeInstanceUsernameInner.svelte | 9 +- frontend/src/lib/components/CliHelpBox.svelte | 30 +- .../src/lib/components/CollapseLink.svelte | 3 +- .../lib/components/ConnectionSection.svelte | 10 +- .../lib/components/ContentSearchInner.svelte | 8 +- .../ContextualVariableEditor.svelte | 23 +- .../src/lib/components/CronBuilder.svelte | 19 +- frontend/src/lib/components/CronInput.svelte | 333 +++++---- frontend/src/lib/components/CustomSso.svelte | 14 +- frontend/src/lib/components/DBManager.svelte | 7 +- .../src/lib/components/DateTimeInput.svelte | 30 +- .../src/lib/components/DefaultScripts.svelte | 9 +- .../lib/components/DefaultScriptsInner.svelte | 3 +- .../src/lib/components/DefaultTags.svelte | 2 +- .../lib/components/DefaultTagsInner.svelte | 7 +- .../src/lib/components/DeployButton.svelte | 6 +- .../src/lib/components/DeployToSetting.svelte | 15 +- .../src/lib/components/Description.svelte | 2 +- frontend/src/lib/components/Dev.svelte | 4 +- frontend/src/lib/components/DiffDrawer.svelte | 47 +- .../src/lib/components/DisplayResult.svelte | 81 +-- .../components/DisplayResultControlBar.svelte | 2 +- frontend/src/lib/components/DraftBadge.svelte | 4 +- frontend/src/lib/components/DropdownV2.svelte | 20 +- .../src/lib/components/DropdownV2Inner.svelte | 8 +- .../src/lib/components/DynamicInput.svelte | 2 +- .../lib/components/EditableSchemaForm.svelte | 21 +- frontend/src/lib/components/Editor.svelte | 5 +- frontend/src/lib/components/EditorBar.svelte | 122 ++-- .../src/lib/components/EditorSettings.svelte | 8 +- .../components/ErrorOrRecoveryHandler.svelte | 51 +- .../lib/components/ExploreAssetButton.svelte | 18 +- .../components/FakeMonacoPlaceHolder.svelte | 2 +- .../src/lib/components/FieldHeader.svelte | 8 +- .../src/lib/components/FlowBuilder.svelte | 50 +- .../components/FlowBuilderTutorials.svelte | 5 +- .../lib/components/FlowGraphViewerStep.svelte | 2 +- .../src/lib/components/FlowJobResult.svelte | 14 +- frontend/src/lib/components/FlowLogRow.svelte | 2 +- .../src/lib/components/FlowLogViewer.svelte | 14 +- .../FlowLoopIterationPreview.svelte | 16 +- .../src/lib/components/FlowMetadata.svelte | 38 +- .../src/lib/components/FlowPlugConnect.svelte | 8 +- .../lib/components/FlowPreviewContent.svelte | 27 +- .../components/FlowStatusViewerInner.svelte | 211 +++--- .../FlowStatusWaitingForEvents.svelte | 10 +- .../src/lib/components/FlowTimelineBar.svelte | 2 +- frontend/src/lib/components/FlowViewer.svelte | 6 +- .../src/lib/components/FlowViewerInner.svelte | 4 +- .../src/lib/components/FolderEditor.svelte | 417 +++++------ frontend/src/lib/components/FolderInfo.svelte | 6 +- .../src/lib/components/FolderPicker.svelte | 12 +- .../src/lib/components/GitDiffPreview.svelte | 16 +- .../components/GitHubAppIntegration.svelte | 37 +- .../components/GitRepoPopoverPicker.svelte | 15 +- .../components/GitRepoResourcePicker.svelte | 48 +- .../src/lib/components/GroupEditor.svelte | 338 ++++----- frontend/src/lib/components/GroupInfo.svelte | 33 +- .../src/lib/components/HighlightTheme.svelte | 7 +- .../src/lib/components/HistoricInputs.svelte | 8 +- .../src/lib/components/HistoricList.svelte | 2 +- .../components/HttpAgentWorkerDrawer.svelte | 4 +- .../lib/components/IconedResourceType.svelte | 2 +- .../lib/components/InputTransformForm.svelte | 54 +- .../InputTransformSchemaForm.svelte | 9 +- .../components/InputTransformsViewer.svelte | 2 +- .../lib/components/InstanceGroupEditor.svelte | 5 +- .../lib/components/InstanceNameEditor.svelte | 51 +- .../src/lib/components/InstanceSetting.svelte | 144 ++-- .../lib/components/InstanceSettings.svelte | 15 +- .../lib/components/InviteGlobalUser.svelte | 13 +- frontend/src/lib/components/InviteUser.svelte | 10 +- frontend/src/lib/components/ItemPicker.svelte | 6 +- frontend/src/lib/components/JobArgs.svelte | 2 +- frontend/src/lib/components/JsonEditor.svelte | 8 +- frontend/src/lib/components/Label.svelte | 19 +- .../LightweightResourcePicker.svelte | 2 +- frontend/src/lib/components/LogViewer.svelte | 24 +- .../src/lib/components/LogViewerHeader.svelte | 7 +- frontend/src/lib/components/Login.svelte | 50 +- .../src/lib/components/ModulePreview.svelte | 6 +- .../lib/components/ModulePreviewForm.svelte | 2 +- .../ModulePreviewResultViewer.svelte | 2 +- .../src/lib/components/ModuleStatus.svelte | 4 +- .../lib/components/NumberTypeNarrowing.svelte | 2 +- .../lib/components/OauthExtraParams.svelte | 9 +- .../src/lib/components/OauthScopes.svelte | 12 +- .../ObjectStoreConfigSettings.svelte | 67 +- frontend/src/lib/components/PageHeader.svelte | 6 +- frontend/src/lib/components/Password.svelte | 2 +- .../lib/components/PasswordArgInput.svelte | 5 +- frontend/src/lib/components/Path.svelte | 53 +- .../components/PersistentScriptDrawer.svelte | 8 +- frontend/src/lib/components/Popover.svelte | 4 +- .../src/lib/components/QueuePosition.svelte | 2 +- frontend/src/lib/components/Required.svelte | 2 +- .../src/lib/components/ResourceEditor.svelte | 209 +++--- .../components/ResourceEditorDrawer.svelte | 4 +- .../src/lib/components/ResourcePicker.svelte | 16 +- .../lib/components/ResourceTypePicker.svelte | 14 +- frontend/src/lib/components/RunButton.svelte | 6 +- frontend/src/lib/components/RunChart.svelte | 2 +- frontend/src/lib/components/RunForm.svelte | 6 +- .../components/RunFormAdvancedPopup.svelte | 3 +- .../lib/components/S3ArrayHelperButton.svelte | 4 +- .../lib/components/S3FilePickerInner.svelte | 129 ++-- .../src/lib/components/S3ObjectPicker.svelte | 6 +- .../lib/components/SaveInputsButton.svelte | 5 +- .../src/lib/components/SavedInputs.svelte | 26 +- .../lib/components/SavedInputsPicker.svelte | 32 +- .../components/SavedInputsPickerViewer.svelte | 15 +- .../src/lib/components/SavedInputsV2.svelte | 5 +- frontend/src/lib/components/SchemaForm.svelte | 9 +- .../src/lib/components/SchemaViewer.svelte | 4 +- .../src/lib/components/ScriptBuilder.svelte | 220 +++--- .../src/lib/components/ScriptEditor.svelte | 63 +- .../src/lib/components/ScriptPicker.svelte | 27 +- .../components/ScriptVersionHistory.svelte | 10 +- frontend/src/lib/components/Section.svelte | 4 +- .../lib/components/ServiceLogsInner.svelte | 14 +- frontend/src/lib/components/ShareModal.svelte | 126 ++-- .../src/lib/components/SharedBadge.svelte | 14 +- .../src/lib/components/SimpleEditor.svelte | 2 +- frontend/src/lib/components/SqlRepl.svelte | 4 +- frontend/src/lib/components/Star.svelte | 6 +- frontend/src/lib/components/Summary.svelte | 49 +- .../src/lib/components/SupabaseConnect.svelte | 11 +- .../components/SuperadminSettingsInner.svelte | 28 +- .../src/lib/components/TableCustom.svelte | 2 +- .../src/lib/components/TemplateEditor.svelte | 13 +- .../src/lib/components/TestConnection.svelte | 9 +- frontend/src/lib/components/Toast.svelte | 53 +- frontend/src/lib/components/Toggle.svelte | 110 +-- .../components/ToggleHubWorkspaceQuick.svelte | 6 +- frontend/src/lib/components/Tooltip.svelte | 19 +- .../src/lib/components/TooltipInner.svelte | 4 +- .../src/lib/components/UserSettings.svelte | 40 +- .../src/lib/components/VariableEditor.svelte | 94 +-- .../src/lib/components/WhitelistIp.svelte | 2 +- .../src/lib/components/WorkerGroup.svelte | 48 +- frontend/src/lib/components/WorkerRepl.svelte | 28 +- .../src/lib/components/WorkerTagPicker.svelte | 5 +- .../src/lib/components/WorkerTagSelect.svelte | 38 +- .../apps/components/buttons/AppButton.svelte | 2 +- .../apps/components/buttons/AppForm.svelte | 3 +- .../components/buttons/AppFormButton.svelte | 7 +- .../display/AppAccordionList.svelte | 2 +- .../components/display/AppCarouselList.svelte | 2 +- .../components/display/AppDownload.svelte | 3 +- .../apps/components/display/AppMenu.svelte | 4 +- .../components/display/AppNavbarItem.svelte | 1 + .../apps/components/display/AppText.svelte | 5 +- .../display/InsertRowDrawerButton.svelte | 6 +- .../display/dbtable/InsertRow.svelte | 3 +- .../display/table/AppTableFooter.svelte | 6 +- .../display/table/SyncColumnDefs.svelte | 7 +- .../apps/components/helpers/Loader.svelte | 2 +- .../helpers/MissingConnectionWarning.svelte | 2 +- .../components/inputs/AppSelectTab.svelte | 6 +- .../components/layout/AppDecisionTree.svelte | 2 +- .../apps/components/layout/AppDrawer.svelte | 3 +- .../apps/components/layout/AppList.svelte | 8 +- .../apps/components/layout/AppModal.svelte | 5 +- .../apps/components/layout/AppStepper.svelte | 8 +- .../apps/components/layout/AppTabs.svelte | 12 +- .../components/apps/editor/AppEditor.svelte | 40 +- .../apps/editor/AppEditorHeader.svelte | 50 +- .../apps/editor/AppEditorTutorial.svelte | 9 +- .../apps/editor/AppExportButton.svelte | 7 +- .../apps/editor/AppJobsDrawer.svelte | 28 +- .../apps/editor/AppJsonEditor.svelte | 4 +- .../apps/editor/AppReportsDrawerInner.svelte | 48 +- .../apps/editor/ComponentHeader.svelte | 3 +- .../apps/editor/DeploymentHistory.svelte | 6 +- .../components/apps/editor/GridEditor.svelte | 4 +- .../apps/editor/PreviewToggle.svelte | 1 - .../apps/editor/RecomputeAllButton.svelte | 5 +- .../apps/editor/RecomputeAllWrapper.svelte | 2 +- .../apps/editor/RunnableJobPanelInner.svelte | 6 +- .../editor/component/ComponentInner.svelte | 2 +- .../componentsPanel/ComponentList.svelte | 6 +- .../componentsPanel/CssHelperPanel.svelte | 13 +- .../editor/componentsPanel/CssProperty.svelte | 14 +- .../editor/componentsPanel/CssSettings.svelte | 4 +- .../CustomComponentsList.svelte | 2 +- .../editor/componentsPanel/GroupList.svelte | 2 +- .../editor/componentsPanel/ListItem.svelte | 16 +- .../editor/componentsPanel/NameEditor.svelte | 2 +- .../componentsPanel/QuickStyleMenu.svelte | 2 +- .../componentsPanel/QuickStyleProperty.svelte | 5 +- .../editor/componentsPanel/ThemeList.svelte | 5 +- .../componentsPanel/ThemeNameEditor.svelte | 2 +- .../editor/componentsPanel/ThemeRow.svelte | 2 +- .../contextPanel/ComponentOutputViewer.svelte | 4 +- .../editor/contextPanel/LazyModePanel.svelte | 6 +- .../editor/contextPanel/SubGridOutput.svelte | 2 +- .../components/OutputHeader.svelte | 2 +- .../inlineScriptsPanel/CacheTtlPopup.svelte | 5 +- .../EmptyInlineScript.svelte | 14 +- .../InlineScriptEditor.svelte | 45 +- .../InlineScriptEditorPanel.svelte | 2 +- .../InlineScriptHiddenRunnable.svelte | 2 +- .../InlineScriptRunnableByPath.svelte | 20 +- .../InlineScriptsPanel.svelte | 2 +- .../InlineScriptsPanelList.svelte | 7 +- .../inlineScriptsPanel/RunButton.svelte | 6 +- .../settingsPanel/AlignmentEditor.svelte | 2 +- .../ArrayStaticInputEditor.svelte | 16 +- .../settingsPanel/CSSMigrationModal.svelte | 6 +- .../settingsPanel/ComponentPanel.svelte | 19 +- .../DecisionTreeGraphEditor.svelte | 5 +- .../DecisionTreeGraphNode.svelte | 11 +- .../editor/settingsPanel/GridCondition.svelte | 5 +- .../editor/settingsPanel/GridGroup.svelte | 5 +- .../editor/settingsPanel/GridNavbar.svelte | 13 +- .../apps/editor/settingsPanel/GridPane.svelte | 11 +- .../apps/editor/settingsPanel/GridTab.svelte | 11 +- .../settingsPanel/InputsSpecEditor.svelte | 41 +- .../settingsPanel/InputsSpecsEditor.svelte | 6 +- .../editor/settingsPanel/MenuItems.svelte | 11 +- .../OneOfInputSpecsEditor.svelte | 30 +- .../editor/settingsPanel/StylePanel.svelte | 50 +- .../editor/settingsPanel/TableActions.svelte | 17 +- .../inputEditor/ConnectedInputEditor.svelte | 4 +- .../inputEditor/EvalV2InputEditor.svelte | 10 +- .../inputEditor/StaticInputEditor.svelte | 3 +- .../inputEditor/TabSelectInput.svelte | 2 +- .../mainInput/RunnableSelector.svelte | 36 +- .../mainInput/WorkspaceFlowList.svelte | 2 +- .../mainInput/WorkspaceScriptList.svelte | 2 +- .../shared/ScriptSettingsActions.svelte | 2 +- .../script/shared/ScriptTransformer.svelte | 2 +- .../script/shared/ScriptTriggers.svelte | 2 +- .../lib/components/assets/AssetButtons.svelte | 2 +- .../assets/AssetsDropdownButton.svelte | 6 +- .../assets/AssetsUsageDrawer.svelte | 8 +- .../components/assets/JobAssetsViewer.svelte | 4 +- .../auditLogs/AuditLogDetails.svelte | 116 +-- .../auditLogs/AuditLogMobileFilters.svelte | 4 +- .../auditLogs/AuditLogsFilters.svelte | 28 +- .../auditLogs/AuditLogsTable.svelte | 64 +- .../lib/components/common/CloseButton.svelte | 2 +- .../common/ResizeTransitionWrapper.svelte | 23 +- frontend/src/lib/components/common/Url.svelte | 2 +- .../lib/components/common/alert/Alert.svelte | 21 +- .../src/lib/components/common/alert/model.ts | 9 +- .../lib/components/common/badge/Badge.svelte | 188 +++-- .../src/lib/components/common/badge/model.ts | 2 +- .../common/breadcrumb/Breadcrumb.svelte | 2 +- .../components/common/button/Button.svelte | 184 +++-- .../common/button/ConnectionButton.svelte | 3 +- .../common/button/RoundIconButton.svelte | 4 +- .../components/common/button/UndoRedo.svelte | 20 +- .../src/lib/components/common/button/model.ts | 183 ++++- .../ConfirmationModal.svelte | 4 +- .../DeployOverrideConfirmationModal.svelte | 21 +- .../DraftTriggersConfirmationModal.svelte | 6 +- .../UnsavedConfirmationModal.svelte | 3 +- .../common/drawer/DrawerContent.svelte | 2 +- .../common/fileDownload/FileDownload.svelte | 2 +- .../common/fileInput/FileInput.svelte | 6 +- .../common/fileUpload/FileUpload.svelte | 17 +- .../common/fileUpload/FileUploadModal.svelte | 2 +- .../common/fileUpload/S3ArgInput.svelte | 5 +- .../common/languageIcons/LanguageIcon.svelte | 43 +- .../common/modal/AlwaysMountedModal.svelte | 2 +- .../lib/components/common/modal/Modal.svelte | 2 +- .../lib/components/common/modal/Modal2.svelte | 2 +- .../common/seconds/SecondsInput.svelte | 4 +- .../components/common/stepper/Stepper.svelte | 6 +- .../lib/components/common/table/AppRow.svelte | 25 +- .../components/common/table/FlowRow.svelte | 12 +- .../components/common/table/RawAppRow.svelte | 5 +- .../lib/components/common/table/Row.svelte | 8 +- .../components/common/table/RowIcon.svelte | 23 +- .../components/common/table/ScriptRow.svelte | 14 +- .../src/lib/components/common/tabs/Tab.svelte | 43 +- .../toggleButton-v2/ToggleButton.svelte | 36 +- .../toggleButton-v2/ToggleButtonGroup.svelte | 2 +- .../toggleButton-v2/ToggleButtonMore.svelte | 7 +- .../components/copilot/AIFormAssistant.svelte | 2 +- .../components/copilot/AIFormSettings.svelte | 36 +- .../lib/components/copilot/AskAiButton.svelte | 2 +- .../src/lib/components/copilot/CronGen.svelte | 4 +- .../copilot/FlowInlineScriptAIButton.svelte | 7 +- .../lib/components/copilot/IteratorGen.svelte | 4 +- .../lib/components/copilot/MetadataGen.svelte | 26 +- .../components/copilot/PredicateGen.svelte | 4 +- .../lib/components/copilot/RegexGen.svelte | 4 +- .../lib/components/copilot/ScriptFix.svelte | 2 +- .../lib/components/copilot/ScriptGen.svelte | 65 +- .../components/copilot/StepGenQuick.svelte | 22 +- .../components/copilot/StepInputGen.svelte | 18 +- .../components/copilot/StepInputsGen.svelte | 17 +- .../lib/components/copilot/TestAIKey.svelte | 30 +- .../copilot/chat/AIChatDisplay.svelte | 16 +- .../copilot/chat/AIChatInlineWidget.svelte | 2 +- .../copilot/chat/AIChatInput.svelte | 2 +- .../copilot/chat/AIChatMessage.svelte | 10 +- .../copilot/chat/AiChatLayout.svelte | 2 +- .../copilot/chat/AvailableContextList.svelte | 8 +- .../components/copilot/chat/ChatMode.svelte | 2 +- .../copilot/chat/ContextElementBadge.svelte | 6 +- .../copilot/chat/ProviderModelSelector.svelte | 2 +- .../copilot/chat/ToolContentDisplay.svelte | 6 +- .../copilot/chat/ToolExecutionDisplay.svelte | 7 +- .../copilot/chat/flow/FlowAIButton.svelte | 68 +- .../lib/components/copilot/chat/flow/utils.ts | 25 + .../components/details/ClipboardPanel.svelte | 10 +- .../details/DetailPageDetailPanel.svelte | 10 +- .../details/DetailPageHeader.svelte | 3 +- .../details/DetailPageLayout.svelte | 10 +- .../details/ErrorHandlerToggleButton.svelte | 4 +- .../details/ErrorHandlerToggleButtonV2.svelte | 8 +- .../components/flows/CreateActionsApp.svelte | 10 +- .../components/flows/CreateActionsFlow.svelte | 5 +- .../components/flows/FlowHistoryInner.svelte | 10 +- .../components/flows/FlowModuleIcon.svelte | 2 +- .../flows/common/FlowCardHeader.svelte | 9 +- .../content/BranchPredicateEditor.svelte | 3 +- .../flows/content/DynamicInputHelpBox.svelte | 2 +- .../content/FlowBranchesAllWrapper.svelte | 12 +- .../content/FlowBranchesOneWrapper.svelte | 14 +- .../flows/content/FlowConstants.svelte | 4 +- .../components/flows/content/FlowInput.svelte | 44 +- .../flows/content/FlowInputEditor.svelte | 4 +- .../flows/content/FlowInputsFlow.svelte | 3 +- .../flows/content/FlowInputsQuick.svelte | 10 +- .../components/flows/content/FlowLoop.svelte | 29 +- .../flows/content/FlowModuleCache.svelte | 8 +- .../flows/content/FlowModuleComponent.svelte | 101 +-- .../flows/content/FlowModuleEarlyStop.svelte | 16 +- .../flows/content/FlowModuleMock.svelte | 4 +- .../flows/content/FlowModuleScript.svelte | 4 +- .../flows/content/FlowModuleSkip.svelte | 8 +- .../flows/content/FlowModuleSleep.svelte | 5 +- .../flows/content/FlowModuleSuspend.svelte | 13 +- .../flows/content/FlowModuleTimeout.svelte | 4 +- .../flows/content/FlowResult.svelte | 8 +- .../flows/content/FlowRetries.svelte | 22 +- .../flows/content/FlowSettings.svelte | 197 +++-- .../flows/content/FlowWhileLoop.svelte | 14 +- .../flows/content/GenAiQuick.svelte | 2 +- .../flows/content/ScriptEditorDrawer.svelte | 8 +- .../flows/content/SuspendDrawer.svelte | 9 +- .../FlowConversationsSidebar.svelte | 2 +- .../flows/header/FlowPreviewButtons.svelte | 4 +- .../flows/header/FlowYamlEditor.svelte | 6 +- .../flows/map/FlowErrorHandlerItem.svelte | 78 +- .../flows/map/FlowGraphPreviewButton.svelte | 9 +- .../flows/map/FlowModuleSchemaItem.svelte | 48 +- .../map/FlowModuleSchemaItemViewer.svelte | 56 +- .../flows/map/FlowStickyNode.svelte | 66 +- .../flows/map/InsertModuleButton.svelte | 117 +-- .../flows/map/InsertModulePopover.svelte | 63 ++ .../lib/components/flows/map/MapItem.svelte | 48 +- .../components/flows/map/VirtualItem.svelte | 24 +- .../flows/map/VirtualItemWrapper.svelte | 33 +- .../flows/pickers/FlowScriptPicker.svelte | 3 +- .../flows/pickers/PickHubApp.svelte | 51 +- .../flows/pickers/PickHubFlow.svelte | 50 +- .../flows/pickers/PickHubScript.svelte | 47 +- .../flows/pickers/TopLevelNode.svelte | 2 +- .../pickers/WorkspaceScriptPicker.svelte | 18 +- .../pickers/WorkspaceScriptPickerQuick.svelte | 2 +- .../flows/propPicker/InputPickerInner.svelte | 2 +- .../flows/propPicker/OutputPicker.svelte | 71 +- .../flows/propPicker/PropPickerWrapper.svelte | 151 ++-- .../flows/propPicker/StepHistory.svelte | 2 +- .../components/git_sync/DetectionFlow.svelte | 26 +- .../git_sync/GitSyncModeDisplay.svelte | 14 +- .../git_sync/GitSyncRepositoryCard.svelte | 185 ++--- .../components/git_sync/GitSyncSection.svelte | 27 +- .../git_sync/PullWorkspaceModal.svelte | 184 +++-- .../git_sync/PushWorkspaceModal.svelte | 115 +-- .../lib/components/graph/FlowGraphV2.svelte | 5 +- .../graph/renderers/edges/BaseEdge.svelte | 19 +- .../graph/renderers/nodes/AIToolNode.svelte | 24 +- .../graph/renderers/nodes/AssetNode.svelte | 40 +- .../nodes/AssetsOverflowedNode.svelte | 2 +- .../renderers/nodes/BranchAllEndNode.svelte | 4 - .../renderers/nodes/BranchAllStart.svelte | 11 - .../renderers/nodes/BranchOneStart.svelte | 9 - .../renderers/nodes/ForLoopEndNode.svelte | 5 - .../renderers/nodes/ForLoopStartNode.svelte | 17 +- .../graph/renderers/nodes/InputNode.svelte | 23 +- .../graph/renderers/nodes/ModuleNode.svelte | 12 +- .../renderers/nodes/NewAIToolNode.svelte | 27 +- .../graph/renderers/nodes/NoBranchNode.svelte | 4 - .../graph/renderers/nodes/NodeWrapper.svelte | 5 +- .../graph/renderers/nodes/ResultNode.svelte | 9 - .../graph/renderers/nodes/SubflowBound.svelte | 4 - .../graph/renderers/nodes/TriggersNode.svelte | 12 +- .../renderers/nodes/branchOneEndNode.svelte | 4 - .../renderers/triggers/TriggersWrapper.svelte | 23 +- frontend/src/lib/components/graph/util.ts | 161 +++-- .../src/lib/components/home/ItemsList.svelte | 65 +- .../lib/components/home/ListFilters.svelte | 13 +- .../lib/components/home/NoItemFound.svelte | 6 +- .../src/lib/components/home/TreeView.svelte | 36 +- .../lib/components/home/TreeViewRoot.svelte | 8 +- .../lib/components/icons/MSTeamsIcon.svelte | 81 ++- .../lib/components/icons/NextcloudIcon.svelte | 13 +- .../lib/components/icons/WindmillIcon.svelte | 11 +- .../src/lib/components/jobs/JobPreview.svelte | 4 +- .../components/meltComponents/MenuItem.svelte | 4 + .../components/meltComponents/Popover.svelte | 4 +- .../components/meltComponents/Tooltip.svelte | 4 +- .../preview/FlowPreviewStatus.svelte | 6 +- .../propertyPicker/ObjectViewer.svelte | 26 +- .../propertyPicker/PropPicker.svelte | 68 +- .../propertyPicker/WarningMessage.svelte | 2 +- .../raw_apps/RawAppEditorHeader.svelte | 7 +- .../raw_apps/RawAppInlineScriptEditor.svelte | 3 +- .../RawAppInlineScriptPanelList.svelte | 5 +- .../RawAppInlineScriptRunnable.svelte | 8 +- .../raw_apps/RawAppInlineScriptsPanel.svelte | 2 +- .../raw_apps/RawAppInputsSpecEditor.svelte | 6 +- .../lib/components/runs/JobRunsPreview.svelte | 30 +- .../components/runs/ManuelDatePicker.svelte | 8 +- .../lib/components/runs/MobileFilters.svelte | 2 +- .../runs/PreprocessedArgsDisplay.svelte | 2 +- .../lib/components/runs/QueuePopover.svelte | 2 +- .../src/lib/components/runs/RunOption.svelte | 4 +- .../src/lib/components/runs/RunRow.svelte | 52 +- .../runs/RunsBatchActionsDropdown.svelte | 31 +- .../src/lib/components/runs/RunsFilter.svelte | 190 ++--- .../src/lib/components/runs/RunsQueue.svelte | 4 +- .../src/lib/components/runs/RunsTable.svelte | 2 +- .../components/schema/AddPropertyForm.svelte | 3 +- .../schema/AddPropertyFormV2.svelte | 3 +- .../schema/EditableSchemaDrawer.svelte | 5 +- .../schema/FlowPropertyEditor.svelte | 15 +- .../components/schema/SchemaFormDND.svelte | 2 +- .../components/schema/SchemaPickerRow.svelte | 6 +- .../components/scriptEditor/LogPanel.svelte | 8 +- .../scripts/CreateActionsScript.svelte | 8 +- .../search/GlobalSearchModal.svelte | 6 +- .../lib/components/search/RunsSearch.svelte | 12 +- .../components/select/DraggableTags.svelte | 8 +- .../lib/components/select/MultiSelect.svelte | 20 +- .../src/lib/components/select/Select.svelte | 39 +- .../components/select/SelectDropdown.svelte | 24 +- .../components/settings/AIUserSettings.svelte | 7 +- .../settings/ChangeWorkspaceColor.svelte | 10 +- .../settings/ChangeWorkspaceId.svelte | 8 +- .../settings/ChangeWorkspaceName.svelte | 8 +- .../components/settings/CreateToken.svelte | 39 +- .../components/settings/PremiumInfo.svelte | 8 +- .../components/settings/ScopeSelector.svelte | 54 +- .../components/settings/TokensTable.svelte | 67 +- .../settings/UserInfoSettings.svelte | 73 +- .../settings/WorkspaceOperatorSettings.svelte | 4 +- .../settings/WorkspaceUserSettings.svelte | 21 +- .../sidebar/CriticalAlertModal.svelte | 9 +- .../sidebar/CriticalAlertModalInner.svelte | 6 +- .../lib/components/sidebar/MenuButton.svelte | 25 +- .../lib/components/sidebar/MenuLink.svelte | 41 +- .../components/sidebar/MultiplayerMenu.svelte | 2 +- .../components/sidebar/OperatorMenu.svelte | 27 +- .../lib/components/sidebar/UserMenu.svelte | 2 +- .../components/sidebar/WorkspaceMenu.svelte | 14 +- frontend/src/lib/components/table/Cell.svelte | 7 +- .../src/lib/components/table/DataTable.svelte | 2 +- .../lib/components/table/DownloadCsv.svelte | 4 +- .../components/text_input/TextInput.svelte | 31 +- .../components/triggers/CaptureButton.svelte | 5 +- .../components/triggers/CaptureSection.svelte | 8 +- .../components/triggers/CaptureTable.svelte | 6 +- .../triggers/DeleteTriggerButton.svelte | 5 +- .../triggers/TestTriggerConnection.svelte | 3 +- .../triggers/TriggerEditorToolbar.svelte | 5 +- .../components/triggers/TriggerLabel.svelte | 21 +- .../components/triggers/TriggersEditor.svelte | 15 +- .../components/triggers/TriggersTable.svelte | 11 +- .../triggers/TriggersWrapper.svelte | 4 +- .../email/DefaultEmailConfigSection.svelte | 36 +- .../triggers/email/DefaultEmailPanel.svelte | 2 +- .../email/EmailTriggerEditorInner.svelte | 8 +- .../gcp/GcpTriggerEditorConfigSection.svelte | 8 +- .../triggers/gcp/GcpTriggerEditorInner.svelte | 16 +- .../triggers/http/OpenAPISpecGenerator.svelte | 22 +- .../http/RouteBodyTransformerOption.svelte | 6 +- .../http/RouteEditorConfigSection.svelte | 67 +- .../triggers/http/RouteEditorInner.svelte | 609 ++++++++-------- .../triggers/http/RoutesGenerator.svelte | 5 +- .../kafka/KafkaTriggerEditorInner.svelte | 8 +- .../mqtt/MqttEditorConfigSection.svelte | 5 +- .../mqtt/MqttTriggerEditorInner.svelte | 10 +- .../nats/NatsTriggerEditorInner.svelte | 8 +- .../postgres/CheckPostgresRequirement.svelte | 5 +- .../PostgresTriggerEditorInner.svelte | 40 +- .../postgres/PublicationPicker.svelte | 9 +- .../triggers/postgres/RelationPicker.svelte | 9 +- .../triggers/postgres/SlotPicker.svelte | 6 +- .../scheduled/ScheduledPollPanel.svelte | 2 +- .../schedules/ScheduleEditorInner.svelte | 278 +++---- .../sqs/SqsTriggerEditorConfigSection.svelte | 7 +- .../triggers/sqs/SqsTriggerEditorInner.svelte | 8 +- .../components/triggers/testingBadge.svelte | 2 +- .../webhook/WebhooksConfigSection.svelte | 69 +- .../WebsocketTriggerEditorInner.svelte | 22 +- .../components/tutorials/SkipTutorials.svelte | 6 +- .../tutorials/TutorialControls.svelte | 2 +- frontend/src/lib/components/vscode.ts | 11 +- .../components/wizards/AgGridWizard.svelte | 112 +-- .../wizards/DBExplorerWizard.svelte | 3 +- .../wizards/TableActionsWizard.svelte | 14 +- .../workspaceSettings/AISettings.svelte | 5 +- .../workspaceSettings/CreateWorkspace.svelte | 336 +++++---- .../workspaceSettings/DucklakeSettings.svelte | 6 +- .../GitSyncFilterSettings.svelte | 67 +- .../workspaceSettings/ModelTokenLimits.svelte | 2 +- .../workspaceSettings/StorageSettings.svelte | 26 +- frontend/src/lib/defaults.ts | 6 - frontend/src/lib/toast.ts | 6 +- frontend/src/lib/utils.ts | 26 +- .../src/routes/(root)/(logged)/+layout.svelte | 7 +- .../src/routes/(root)/(logged)/+page.svelte | 191 ++--- .../(logged)/apps/get/[...path]/+page.svelte | 2 +- .../apps_raw/get/[...path]/+page.svelte | 2 +- .../(root)/(logged)/assets/+page.svelte | 4 +- .../(root)/(logged)/audit_logs/+page.svelte | 2 +- .../(logged)/concurrency_groups/+page.svelte | 12 +- .../(logged)/email_triggers/+page.svelte | 15 +- .../(logged)/flows/get/[...path]/+page.svelte | 30 +- .../(root)/(logged)/folders/+page.svelte | 12 +- .../(root)/(logged)/gcp_triggers/+page.svelte | 20 +- .../(root)/(logged)/groups/+page.svelte | 120 ++-- .../(logged)/instance_groups/+page.svelte | 4 +- .../(logged)/kafka_triggers/+page.svelte | 22 +- .../(logged)/mqtt_triggers/+page.svelte | 21 +- .../(logged)/nats_triggers/+page.svelte | 23 +- .../(logged)/postgres_triggers/+page.svelte | 29 +- .../(root)/(logged)/resources/+page.svelte | 63 +- .../(root)/(logged)/routes/+page.svelte | 54 +- .../(root)/(logged)/run/[...run]/+page.svelte | 155 ++-- .../(logged)/runs/[...path]/+page.svelte | 28 +- .../(root)/(logged)/schedules/+page.svelte | 51 +- .../scripts/get/[...hash]/+page.svelte | 39 +- .../(root)/(logged)/sqs_triggers/+page.svelte | 21 +- .../svix/create-webhook/+page@(root).svelte | 12 +- .../user/(user)/accept_invite/+page.svelte | 2 +- .../user/(user)/first-time/+page.svelte | 2 +- .../(logged)/user/(user)/login/+page.svelte | 4 +- .../user/(user)/workspaces/+page.svelte | 106 ++- .../(root)/(logged)/user/cli/+page.svelte | 4 +- .../(root)/(logged)/variables/+page.svelte | 31 +- .../(logged)/websocket_triggers/+page.svelte | 19 +- .../(root)/(logged)/workers/+page.svelte | 61 +- .../(logged)/workspace_settings/+page.svelte | 159 ++-- .../workspace_settings/checkout/+page.svelte | 4 +- frontend/src/routes/a/[...path]/+page.svelte | 4 +- frontend/src/routes/kitchen_sink/+page.svelte | 34 +- .../[workspace]/[...secret]/+page.svelte | 4 +- .../routes/test_dev/kitchen_sink/+page.svelte | 679 ++++++++++++++++++ frontend/tailwind.config.cjs | 371 +++++----- 578 files changed, 8840 insertions(+), 7405 deletions(-) create mode 100644 frontend/src/lib/assets/tokens/README.md create mode 100644 frontend/src/lib/assets/tokens/colorTokensConfig.ts create mode 100644 frontend/src/lib/assets/tokens/tokens.json create mode 100644 frontend/src/lib/components/flows/map/InsertModulePopover.svelte delete mode 100644 frontend/src/lib/defaults.ts create mode 100644 frontend/src/routes/test_dev/kitchen_sink/+page.svelte diff --git a/frontend/src/lib/assets/app.css b/frontend/src/lib/assets/app.css index 6e0623940d..6f5d25b384 100644 --- a/frontend/src/lib/assets/app.css +++ b/frontend/src/lib/assets/app.css @@ -3,6 +3,12 @@ @tailwind components; @tailwind utilities; +@media (min-width: 1760px) { + :root { + font-size: 18px; + } +} + @layer base { /* Light mode: default border color */ @@ -10,7 +16,7 @@ .border-x, .border-y, .divide-x > :not([hidden]) ~ :not([hidden]), .divide-y > :not([hidden]) ~ :not([hidden]) { - border-color: #e5e7eb; /* gray-200 */ + border-color: rgb(var(--color-border-light)); } /* Dark mode: change border color */ @@ -18,7 +24,7 @@ .dark .border-x, .dark .border-y, .dark .divide-x > :not([hidden]) ~ :not([hidden]), .dark .divide-y > :not([hidden]) ~ :not([hidden]) { - border-color: #4b5563; /* gray-700 */ + border-color: rgb(var(--color-border-light)); } /* Chrome, Edge, and Safari */ @@ -193,3 +199,10 @@ svelte-virtual-list-contents > * + * { ); } +/* Prevent clock icon in input[type="time"] making the input taller */ + +/* Chrome, Safari, Edge, Opera */ +input[type="time"]::-webkit-calendar-picker-indicator { + margin: 0; + padding: 0; +} \ No newline at end of file diff --git a/frontend/src/lib/assets/tokens/README.md b/frontend/src/lib/assets/tokens/README.md new file mode 100644 index 0000000000..182966b886 --- /dev/null +++ b/frontend/src/lib/assets/tokens/README.md @@ -0,0 +1 @@ +The content of tokens.json is auto-generated by the 'Figma Variables to JSON' extension diff --git a/frontend/src/lib/assets/tokens/colorTokensConfig.ts b/frontend/src/lib/assets/tokens/colorTokensConfig.ts new file mode 100644 index 0000000000..619272a469 --- /dev/null +++ b/frontend/src/lib/assets/tokens/colorTokensConfig.ts @@ -0,0 +1,2 @@ +export const lightModeName = 'light' as const +export const darkModeName = 'dark-3' as const diff --git a/frontend/src/lib/assets/tokens/tokens.json b/frontend/src/lib/assets/tokens/tokens.json new file mode 100644 index 0000000000..3dd358a9a7 --- /dev/null +++ b/frontend/src/lib/assets/tokens/tokens.json @@ -0,0 +1,403 @@ +{ + "tokens": { + "light": { + "surface-accent-primary": "#758ff8", + "surface-accent-hover": "#5074f6", + "surface-accent-clicked": "#2c5beb", + "text-primary": "#3d4758", + "text-secondary": "#718096", + "text-primary-inverse": "#f3f6f8", + "text-secondary-inverse": "#d3d6d8", + "text-tertiary-inverse": "#a8a9ac", + "surface-selected": "#ffffff", + "surface-disabled": "#d8d8e433", + "surface-secondary": "#efeff4", + "surface-hover": "#eeeef4", + "surface-primary": "#fbfbfd", + "border-light": "#e5e7eb", + "border-normal": "#9ca3af", + "border-accent": "#2c5beb", + "surface-accent-selected": "#bfdbfe4c", + "surface-accent-secondary": "#293676", + "surface-tertiary": "#ffffff", + "text-emphasis": "#1d2430", + "text-hint": "#8d93a1", + "text-disabled": "#a0aec0", + "surface-accent-secondary-hover": "#1e255f", + "surface-accent-secondary-clicked": "#303f82", + "component-button-accent-secondary": "#ffffff", + "text-emphasis-inverse": "#f3f4f6", + "reserved-ai": "#a02cde", + "component-virtual-node": "#dce0f1", + "text-accent": "#5074f6", + "border-selected": "#a0affa", + "surface-sunken": "#e8e8ef", + "text-tertiary": "#505c70", + "surface-input": "#ffffff" + }, + "dark": { + "surface-accent-primary": "#758ff8", + "surface-accent-hover": "#5074f6", + "surface-accent-clicked": "#2c5beb", + "text-primary": "#d4d7dd", + "text-secondary": "#aab0bb", + "text-primary-inverse": "#2d3748", + "text-secondary-inverse": "#666e7b", + "text-tertiary-inverse": "#a4a9b2", + "surface-selected": "#434c5e", + "surface-disabled": "#21273266", + "surface-secondary": "#2e3440", + "surface-hover": "#454f64", + "surface-primary": "#3b4252", + "border-light": "#485971", + "border-normal": "#718096", + "border-accent": "#a0affa", + "surface-accent-selected": "#6790c34c", + "surface-accent-secondary": "#e8ebfb", + "surface-tertiary": "#434c5e", + "text-emphasis": "#f3f4f6", + "text-hint": "#b3bac8", + "text-disabled": "#717b88", + "surface-accent-secondary-hover": "#c3c9df", + "surface-accent-secondary-clicked": "#9da6ca", + "component-button-accent-secondary": "#f3f4f6", + "text-emphasis-inverse": "#2d3748", + "reserved-ai": "#f0c6fb", + "component-virtual-node": "#4c566a", + "text-accent": "#c7cefc", + "border-selected": "#758ff8", + "surface-sunken": "#2e3440", + "text-tertiary": "#a8aeb7", + "surface-input": "#2e3440" + }, + "dark-3": { + "surface-accent-primary": "#7085db", + "surface-accent-hover": "#5670d5", + "surface-accent-clicked": "#425bbd", + "text-primary": "#d4d7dd", + "text-secondary": "#a9b0ba", + "text-primary-inverse": "#2d3748", + "text-secondary-inverse": "#666e7b", + "text-tertiary-inverse": "#a4a9b2", + "surface-selected": "#434c5e", + "surface-disabled": "#212732", + "surface-secondary": "#272c35", + "surface-hover": "#454f64", + "surface-primary": "#2e3441", + "border-light": "#374457", + "border-normal": "#a9b0ba", + "border-accent": "#a0affa", + "surface-accent-selected": "#6790c44c", + "surface-accent-secondary": "#e8ebfb", + "surface-tertiary": "#353c4a", + "text-emphasis": "#eeeff2", + "text-hint": "#8d93a1", + "text-disabled": "#9098a2", + "surface-accent-secondary-hover": "#c3c9df", + "surface-accent-secondary-clicked": "#9da6ca", + "component-button-accent-secondary": "#f3f4f6", + "text-emphasis-inverse": "#2d3748", + "reserved-ai": "#f0c6fb", + "component-virtual-node": "#4c566a", + "text-accent": "#c7cefc", + "border-selected": "#758ff8", + "surface-sunken": "#242832", + "text-tertiary": "#a8aeb7", + "surface-input": "#292e38" + } + }, + "primitives": { + "light": { + "light-blue": "#bcd4fc", + "blue": "#5e81ac", + "dark-blue": "#394a6d", + "accent-blue": "#2c5beb", + "transparent": "#ffffff00", + "deep-blue-900": "#1e255f", + "deep-blue-800": "#293676", + "deep-blue-700": "#303f82", + "deep-blue-600": "#39498e", + "deep-blue-500": "#3f5097", + "deep-blue-400": "#5b6aa5", + "deep-blue-300": "#7784b4", + "deep-blue-200": "#9da6ca", + "deep-blue-100": "#c3c9df", + "deep-blue-50": "#e7eaf2", + "luminance-blue-900": "#1e3a8a", + "luminance-blue-800": "#0d3cc5", + "luminance-blue-700": "#1847d2", + "luminance-blue-600": "#2652df", + "luminance-blue-500": "#2c5beb", + "luminance-blue-400": "#5074f6", + "luminance-blue-300": "#758ff8", + "luminance-blue-200": "#a0affa", + "luminance-blue-100": "#c7cefc", + "luminance-blue-50": "#e9ecfe", + "nord-0": "#2e3440", + "nord-1": "#3b4252", + "nord-2": "#434c5e", + "nord-3": "#4c566a", + "nord-5": "#e5e9f0", + "nord-6": "#eceff4", + "nord-7": "#8fbcbb", + "nord-8": "#88c0d0", + "nord-9": "#81a1c1", + "nord-10": "#5e81ac", + "nord-4": "#d8dee9", + "nord-11": "#bf616a", + "nord-12": "#d08770", + "nord-13": "#ebcb8b", + "nord-14": "#a3be8c", + "nord-15": "#b48ead" + } + }, + "guidelines": { "mode-1": { "blue": "#5e81ac", "demo-background": "#ffffff00" } }, + "tailwind-c-s-s-v-3-3-2": { + "mode-1": { + "black": "#000000", + "white": "#ffffff", + "slate-50": "#f8fafc", + "slate-100": "#f1f5f9", + "slate-200": "#e2e8f0", + "slate-300": "#cbd5e1", + "slate-400": "#94a3b8", + "slate-500": "#64748b", + "slate-600": "#475569", + "slate-700": "#334155", + "slate-800": "#1e293b", + "slate-900": "#0f172a", + "slate-950": "#020617", + "gray-50": "#f9fafb", + "gray-100": "#f3f4f6", + "gray-200": "#e5e7eb", + "gray-300": "#d1d5db", + "gray-400": "#9ca3af", + "gray-500": "#6b7280", + "gray-600": "#4b5563", + "gray-700": "#374151", + "gray-800": "#1f2937", + "gray-900": "#111827", + "gray-950": "#030712", + "zinc-50": "#fafafa", + "zinc-100": "#f4f4f5", + "zinc-200": "#e4e4e7", + "zinc-300": "#d4d4d8", + "zinc-400": "#a1a1aa", + "zinc-500": "#71717a", + "zinc-600": "#52525b", + "zinc-700": "#3f3f46", + "zinc-800": "#27272a", + "zinc-900": "#18181b", + "zinc-950": "#09090b", + "neutral-50": "#fafafa", + "neutral-100": "#f5f5f5", + "neutral-200": "#e5e5e5", + "neutral-300": "#d4d4d4", + "neutral-400": "#a3a3a3", + "neutral-500": "#737373", + "neutral-600": "#525252", + "neutral-700": "#404040", + "neutral-800": "#262626", + "neutral-900": "#171717", + "neutral-950": "#0a0a0a", + "stone-50": "#fafaf9", + "stone-100": "#f5f5f4", + "stone-200": "#e7e5e4", + "stone-300": "#d6d3d1", + "stone-400": "#a8a29e", + "stone-500": "#78716c", + "stone-600": "#57534e", + "stone-700": "#44403c", + "stone-800": "#292524", + "stone-900": "#1c1917", + "stone-950": "#0c0a09", + "red-50": "#fef2f2", + "red-100": "#fee2e2", + "red-200": "#fecaca", + "red-300": "#fca5a5", + "red-400": "#f87171", + "red-500": "#ef4444", + "red-600": "#dc2626", + "red-700": "#b91c1c", + "red-800": "#991b1b", + "red-900": "#7f1d1d", + "red-950": "#450a0a", + "orange-50": "#fff7ed", + "orange-100": "#ffedd5", + "orange-200": "#fed7aa", + "orange-300": "#fdba74", + "orange-400": "#fb923c", + "orange-500": "#f97316", + "orange-600": "#ea580c", + "orange-700": "#c2410c", + "orange-800": "#9a3412", + "orange-900": "#7c2d12", + "orange-950": "#431407", + "amber-50": "#fffbeb", + "amber-100": "#fef3c7", + "amber-200": "#fde68a", + "amber-300": "#fcd34d", + "amber-400": "#fbbf24", + "amber-500": "#f59e0b", + "amber-600": "#d97706", + "amber-700": "#b45309", + "amber-800": "#92400e", + "amber-900": "#78350f", + "amber-950": "#451a03", + "yellow-50": "#fefce8", + "yellow-100": "#fef9c3", + "yellow-200": "#fef08a", + "yellow-300": "#fde047", + "yellow-400": "#facc15", + "yellow-500": "#eab308", + "yellow-600": "#ca8a04", + "yellow-700": "#a16207", + "yellow-800": "#854d0e", + "yellow-900": "#713f12", + "yellow-950": "#422006", + "lime-50": "#f7fee7", + "lime-100": "#ecfccb", + "lime-200": "#d9f99d", + "lime-300": "#bef264", + "lime-400": "#a3e635", + "lime-500": "#84cc16", + "lime-600": "#65a30d", + "lime-700": "#4d7c0f", + "lime-800": "#3f6212", + "lime-900": "#365314", + "lime-950": "#1a2e05", + "green-50": "#f0fdf4", + "green-100": "#dcfce7", + "green-200": "#bbf7d0", + "green-300": "#86efac", + "green-400": "#4ade80", + "green-500": "#22c55e", + "green-600": "#16a34a", + "green-700": "#15803d", + "green-800": "#166534", + "green-900": "#14532d", + "green-950": "#052e16", + "emerald-50": "#ecfdf5", + "emerald-100": "#d1fae5", + "emerald-200": "#a7f3d0", + "emerald-300": "#6ee7b7", + "emerald-400": "#34d399", + "emerald-500": "#10b981", + "emerald-600": "#059669", + "emerald-700": "#047857", + "emerald-800": "#065f46", + "emerald-900": "#064e3b", + "emerald-950": "#022c22", + "teal-50": "#f0fdfa", + "teal-100": "#ccfbf1", + "teal-200": "#99f6e4", + "teal-300": "#5eead4", + "teal-400": "#2dd4bf", + "teal-500": "#14b8a6", + "teal-600": "#0d9488", + "teal-700": "#0f766e", + "teal-800": "#115e59", + "teal-900": "#134e4a", + "teal-950": "#042f2e", + "cyan-50": "#ecfeff", + "cyan-100": "#cffafe", + "cyan-200": "#a5f3fc", + "cyan-300": "#67e8f9", + "cyan-400": "#22d3ee", + "cyan-500": "#06b6d4", + "cyan-600": "#0891b2", + "cyan-700": "#0e7490", + "cyan-800": "#155e75", + "cyan-900": "#164e63", + "cyan-950": "#083344", + "sky-50": "#f0f9ff", + "sky-100": "#e0f2fe", + "sky-200": "#bae6fd", + "sky-300": "#7dd3fc", + "sky-400": "#38bdf8", + "sky-500": "#0ea5e9", + "sky-600": "#0284c7", + "sky-700": "#0369a1", + "sky-800": "#075985", + "sky-900": "#0c4a6e", + "sky-950": "#082f49", + "blue-50": "#eff6ff", + "blue-100": "#dbeafe", + "blue-200": "#bfdbfe", + "blue-300": "#93c5fd", + "blue-400": "#60a5fa", + "blue-500": "#3b82f6", + "blue-600": "#2563eb", + "blue-700": "#1d4ed8", + "blue-800": "#1e40af", + "blue-900": "#1e3a8a", + "blue-950": "#172554", + "indigo-50": "#eef2ff", + "indigo-100": "#e0e7ff", + "indigo-200": "#c7d2fe", + "indigo-300": "#a5b4fc", + "indigo-400": "#818cf8", + "indigo-500": "#6366f1", + "indigo-600": "#4f46e5", + "indigo-700": "#4338ca", + "indigo-800": "#3730a3", + "indigo-900": "#312e81", + "indigo-950": "#1e1b4b", + "violet-50": "#f5f3ff", + "violet-100": "#ede9fe", + "violet-200": "#ddd6fe", + "violet-300": "#c4b5fd", + "violet-400": "#a78bfa", + "violet-500": "#8b5cf6", + "violet-600": "#7c3aed", + "violet-700": "#6d28d9", + "violet-800": "#5b21b6", + "violet-900": "#4c1d95", + "violet-950": "#2e1065", + "purple-50": "#faf5ff", + "purple-100": "#f3e8ff", + "purple-200": "#e9d5ff", + "purple-300": "#d8b4fe", + "purple-400": "#c084fc", + "purple-500": "#a855f7", + "purple-600": "#9333ea", + "purple-700": "#7e22ce", + "purple-800": "#6b21a8", + "purple-900": "#581c87", + "purple-950": "#3b0764", + "fuchsia-50": "#fdf4ff", + "fuchsia-100": "#fae8ff", + "fuchsia-200": "#f5d0fe", + "fuchsia-300": "#f0abfc", + "fuchsia-400": "#e879f9", + "fuchsia-500": "#d946ef", + "fuchsia-600": "#c026d3", + "fuchsia-700": "#a21caf", + "fuchsia-800": "#86198f", + "fuchsia-900": "#701a75", + "fuchsia-950": "#4a044e", + "pink-50": "#fdf2f8", + "pink-100": "#fce7f3", + "pink-200": "#fbcfe8", + "pink-300": "#f9a8d4", + "pink-400": "#f472b6", + "pink-500": "#ec4899", + "pink-600": "#db2777", + "pink-700": "#be185d", + "pink-800": "#9d174d", + "pink-900": "#831843", + "pink-950": "#500724", + "rose-50": "#fff1f2", + "rose-100": "#ffe4e6", + "rose-200": "#fecdd3", + "rose-300": "#fda4af", + "rose-400": "#fb7185", + "rose-500": "#f43f5e", + "rose-600": "#e11d48", + "rose-700": "#be123c", + "rose-800": "#9f1239", + "rose-900": "#881337", + "rose-950": "#4c0519" + } + } +} diff --git a/frontend/src/lib/components/AIProviderPicker.svelte b/frontend/src/lib/components/AIProviderPicker.svelte index 26b78f21f3..821302887d 100644 --- a/frontend/src/lib/components/AIProviderPicker.svelte +++ b/frontend/src/lib/components/AIProviderPicker.svelte @@ -229,36 +229,33 @@ }) -
+
-
- - {#snippet children({ item })} - {#each providerOptions.slice(0, 3) as option} - - {/each} - value?.kind, (v) => v && onProviderChange(v)} - /> - {/snippet} - -
+ + {#snippet children({ item })} + {#each providerOptions.slice(0, 3) as option} + + {/each} + p.value === value.kind) >= 3 ? '' : 'More'} + togglableItems={providerOptions.slice(3)} + {item} + bind:selected={() => value?.kind, (v) => v && onProviderChange(v)} + /> + {/snippet} + -
+
-

resource

+

resource

resourceValueToPath(value?.resource), @@ -272,13 +269,12 @@ disabled={disabled || !value?.kind} placeholder="Select resource" selectFirst={true} - selectInputClass="!bg-surface" />
-

model

+

model

+
+ {:else if description == undefined || description == ''} +
No description provided
+ {:else} + + {/if}
- - {#if renderDescription} -
-
GH Markdown
- -
- {:else if description == undefined || description == ''} -
No description provided
- {:else} -
- - {/if} -
+ {#key resourceTypeInfo} {:else if step == 2 && !manual} {#if manual == false && resourceType != ''} -

{resourceType}

-
Create a resource backed by an OAuth connection, whose token is fetched from the external - services and refreshed automatically if needed before expiration.
-

Description

-
- -
+
+
+

{resourceType}

+
Create a resource backed by an OAuth connection, whose token is fetched from the + external services and refreshed automatically if needed before expiration.
+
- {#if supportsClientCredentials} -
-

Authentication Method

-
- - Use Client Credentials Flow - - Server-to-server authentication without user interaction. -

- Provide your own OAuth client credentials for this resource. -
+ {#if resourceTypeInfo?.description} +
+

Description

+
+ +
+ {/if} - {#if useClientCredentials} -
- - - + {#if supportsClientCredentials} +
+

Authentication Method

+
+ + + + Server-to-server authentication without user interaction. +

+ Provide your own OAuth client credentials for this resource. +
+
+ + {#if useClientCredentials} +
+ + + +
+ {/if} +
+ {/if} + +
+

Scopes

+ + {#if editScopes} + + {:else} +
+ {#each scopes as scope} +
- {scope}
+ {/each}
{/if}
- {/if} - -

Scopes

- - {#if editScopes} - - {:else} -
- {#each scopes as scope} -
- {scope}
- {/each} -
- {/if} +
{/if} {:else if step == 3 && !manual && !express} {#if useClientCredentials} - Connecting with client credentials... + Connecting with client credentials... {:else} - Finish connection in popup window + Finish connection in popup window {/if} {:else} {#if apiTokenApps[resourceType] || !manual} - {:else} -
Empty flow
+
Empty flow
{/if}
{#if selected == 'logs' && render} @@ -1782,15 +1784,14 @@ > {#if !hideTimeline} - Timeline + {/if} - Node status + {#if !hideNodeDefinition} - Node definition + {/if} {#if Object.keys(job?.flow_status?.user_states ?? {}).length > 0} - User States + {/if} {#if rightColumnSelect == 'timeline'} @@ -1809,7 +1810,7 @@ durationStatuses={localDurationStatuses} /> {:else if rightColumnSelect == 'node_status'} -
+
{#if selectedNode?.startsWith(AI_TOOL_MESSAGE_PREFIX)}
@@ -1870,100 +1871,110 @@ module && module.value.type === 'aiagent' ? module.value.tools : undefined} {@const parentLoopsPrefix = getParentLoopsPrefix(module?.id ?? '')} {#if node.flow_jobs_results} - Result of step as collection of all subflows -
- -
- Selected subflow - {/if} -
- - {#if node.duration_ms} - - - {msToSec(node.duration_ms)} s - - {/if} - {#if node.job_id} -
- - {truncateRev(node.job_id ?? '', 10)} - +
+ Result of step as collection of all subflows +
+
- {/if} -
- {#if !node.isListJob} -
-
{/if} - { - if (module) { - const storeKey = parentLoopsPrefix + module.id + '-' + idx - toolCallStore?.setStoredToolCallJob(storeKey, job) +
+ {#if node.flow_jobs_results} + Selected subflow + {/if} +
+
+
+ + {#if node.duration_ms} + + + {msToSec(node.duration_ms)} s + + {/if} + {#if node.job_id} + + {/if} +
+ {#if !node.isListJob} + + {/if} +
+ { + if (module) { + const storeKey = parentLoopsPrefix + module.id + '-' + idx + toolCallStore?.setStoredToolCallJob(storeKey, job) + } + } } - } - } - : undefined} - /> + : undefined} + /> +
+
{:else} -

The execution of this node has no information attached to it. The job likely did not run yet

{/if} - {:else}

Select a node to see its details here

Select a node to see its details here

{/if}
{:else if rightColumnSelect == 'node_definition'} diff --git a/frontend/src/lib/components/FlowStatusWaitingForEvents.svelte b/frontend/src/lib/components/FlowStatusWaitingForEvents.svelte index 1ac347b786..0ea5ad4d6b 100644 --- a/frontend/src/lib/components/FlowStatusWaitingForEvents.svelte +++ b/frontend/src/lib/components/FlowStatusWaitingForEvents.svelte @@ -115,7 +115,7 @@ } -
+
{#if !light}

Waiting to be resumed

{/if} @@ -128,18 +128,18 @@ {#if cancelUrl && !hide_cancel}
{/if}
- {#if selectedLen > 0} {msToReadableTimeShort(selectedLen, 1)} {/if} diff --git a/frontend/src/lib/components/FlowViewer.svelte b/frontend/src/lib/components/FlowViewer.svelte index 4f2ab8a456..01e394d3c7 100644 --- a/frontend/src/lib/components/FlowViewer.svelte +++ b/frontend/src/lib/components/FlowViewer.svelte @@ -43,10 +43,10 @@ {#if !noGraph} - Graph + {/if} - Raw - Input Schema + + {#snippet content()} diff --git a/frontend/src/lib/components/FlowViewerInner.svelte b/frontend/src/lib/components/FlowViewerInner.svelte index 0e300c8410..e0d024e60e 100644 --- a/frontend/src/lib/components/FlowViewerInner.svelte +++ b/frontend/src/lib/components/FlowViewerInner.svelte @@ -66,8 +66,8 @@ maxLines = 100 }} > - YAML - JSON + + {#snippet content()}
+ +
- -
-
- {#if can_write} - - Due to permissions cache invalidation - -
-
- (ownerItem = '')}> - {#snippet children({ item })} - - - {/snippet} - +
+ {:else if folderNotFound === undefined} +
+ {#each new Array(6) as _} + + {/each} +
+ {/if} +
+ +
diff --git a/frontend/src/lib/components/FolderInfo.svelte b/frontend/src/lib/components/FolderInfo.svelte index 02b0cf3a10..1c6515aa1d 100644 --- a/frontend/src/lib/components/FolderInfo.svelte +++ b/frontend/src/lib/components/FolderInfo.svelte @@ -9,10 +9,10 @@ -
- ({members.length}) +
+ ({members.length})
- {members?.join(', ')} + {members?.join(', ')}
{#snippet text()} diff --git a/frontend/src/lib/components/FolderPicker.svelte b/frontend/src/lib/components/FolderPicker.svelte index d761da297b..09861b9624 100644 --- a/frontend/src/lib/components/FolderPicker.svelte +++ b/frontend/src/lib/components/FolderPicker.svelte @@ -103,10 +103,8 @@