From cdc76994f8ac22d258d18bdfd99cd2ae2141e06e Mon Sep 17 00:00:00 2001 From: Faton Ramadani Date: Fri, 10 Nov 2023 09:43:10 +0100 Subject: [PATCH] feat(frontend): Buttons refactor (#2545) * feat(frontend): wip * feat(frontend): button refactor wip * feat(frontend): button refactor wip * feat(frontend): fix build * feat(frontend): fix build * fix(frontend): fix build * fix(frontend): fix buttons styles * fix(frontend): remove dev file * feat(frontend): clean up * feat(frontend): done * feat(frontend): done * feat(frontend): remove duplicated componnet * feat(frontend): wip * feat(frontend): wip * feat(frontend): forked Flow icons * feat(frontend): remove legacy dropdown * feat(frontend): migrated all + remove dependencies * feat(frontend): clean up --- frontend/package-lock.json | 454 +++++++++++++----- frontend/package.json | 6 +- frontend/scripts/delete-orphan-components.sh | 72 +++ frontend/src/lib/components/AddUser.svelte | 7 +- frontend/src/lib/components/ArgInput.svelte | 32 +- .../src/lib/components/ChevronButton.svelte | 25 - frontend/src/lib/components/CliHelpBox.svelte | 23 +- .../src/lib/components/CollapseLink.svelte | 7 +- .../src/lib/components/ContentSearch.svelte | 9 +- .../src/lib/components/CronBuilder.svelte | 8 +- .../lib/components/DBSchemaExplorer.svelte | 7 +- frontend/src/lib/components/Dev.svelte | 4 +- frontend/src/lib/components/Dropdown.svelte | 119 ----- frontend/src/lib/components/DropdownV2.svelte | 4 +- frontend/src/lib/components/DurationMs.svelte | 15 +- frontend/src/lib/components/EditorBar.svelte | 34 +- .../components/ErrorOrRecoveryHandler.svelte | 23 +- .../src/lib/components/FlowBuilder.svelte | 9 +- .../components/FlowBuilderTutorials.svelte | 14 +- .../src/lib/components/FlowMetadata.svelte | 100 ++-- .../lib/components/FlowPreviewContent.svelte | 24 +- .../components/FlowStatusViewerInner.svelte | 16 +- frontend/src/lib/components/FlowViewer.svelte | 4 +- .../src/lib/components/FolderEditor.svelte | 17 +- .../src/lib/components/InlineCodeCopy.svelte | 15 - .../InputTransformSchemaForm.svelte | 4 +- .../lib/components/InstanceSettings.svelte | 7 +- frontend/src/lib/components/InviteUser.svelte | 7 +- frontend/src/lib/components/JobStatus.svelte | 40 +- .../lib/components/LightweightArgInput.svelte | 7 +- .../src/lib/components/ModuleStatus.svelte | 9 +- .../lib/components/OauthExtraParams.svelte | 11 +- .../src/lib/components/OauthScopes.svelte | 11 +- frontend/src/lib/components/Path.svelte | 25 +- .../src/lib/components/PropertyRow.svelte | 6 +- .../src/lib/components/ResourceEditor.svelte | 4 +- .../src/lib/components/ResourcePicker.svelte | 25 +- frontend/src/lib/components/RunForm.svelte | 4 +- .../lib/components/RunPageSchedules.svelte | 7 +- .../src/lib/components/SavedInputs.svelte | 5 +- .../lib/components/ScheduleEditorInner.svelte | 19 +- .../src/lib/components/SchemaEditor.svelte | 4 +- frontend/src/lib/components/SchemaForm.svelte | 4 +- .../src/lib/components/ScriptBuilder.svelte | 14 +- .../src/lib/components/ScriptEditor.svelte | 20 +- .../src/lib/components/ScriptPicker.svelte | 34 +- .../components/ScriptVersionHistory.svelte | 7 +- .../src/lib/components/SettingSection.svelte | 47 -- frontend/src/lib/components/Slider.svelte | 16 +- .../src/lib/components/UserSettings.svelte | 28 +- .../src/lib/components/VariableEditor.svelte | 4 +- .../src/lib/components/WorkspaceGroup.svelte | 6 +- .../apps/components/buttons/AppForm.svelte | 5 +- .../components/buttons/AppFormButton.svelte | 6 +- .../display/table/AppTableFooter.svelte | 28 +- .../components/helpers/ResizeWrapper.svelte | 29 -- .../components/apps/editor/AppEditor.svelte | 3 +- .../apps/editor/AppEditorHeader.svelte | 16 +- .../apps/editor/AppExportButton.svelte | 4 +- .../apps/editor/AppJsonEditor.svelte | 7 +- .../editor/componentsPanel/CssSettings.svelte | 6 +- .../editor/componentsPanel/ThemeList.svelte | 6 +- .../editor/componentsPanel/ThemeRow.svelte | 19 +- .../EmptyInlineScript.svelte | 5 +- .../InlineScriptEditorDrawer.svelte | 4 +- .../InlineScriptRunnableByPath.svelte | 25 +- .../ArrayStaticInputEditor.svelte | 5 +- .../settingsPanel/CSSMigrationModal.svelte | 18 +- .../settingsPanel/ComponentPanel.svelte | 7 +- .../editor/settingsPanel/GridCondition.svelte | 5 +- .../editor/settingsPanel/GridGroup.svelte | 4 +- .../apps/editor/settingsPanel/GridPane.svelte | 6 +- .../apps/editor/settingsPanel/GridTab.svelte | 5 +- .../apps/editor/settingsPanel/PickFlow.svelte | 43 -- .../settingsPanel/PickInlineScript.svelte | 43 -- .../settingsPanel/QuickAddColumn.svelte | 13 +- .../editor/settingsPanel/TableActions.svelte | 14 +- .../inputEditor/ConnectedInputEditor.svelte | 11 +- .../mainInput/RunnableSelector.svelte | 7 +- .../script/shared/ScriptTriggers.svelte | 6 +- .../auditLogs/AuditLogDetails.svelte | 12 +- .../auditLogs/AuditLogMobileFilters.svelte | 7 +- .../auditLogs/AuditLogsChart.svelte | 113 ----- .../lib/components/common/CloseButton.svelte | 23 +- .../lib/components/common/alert/Alert.svelte | 20 +- .../lib/components/common/badge/Badge.svelte | 22 +- .../src/lib/components/common/badge/model.ts | 5 +- .../components/common/button/Button.svelte | 42 +- .../src/lib/components/common/button/model.ts | 3 +- .../ConfirmationModal.svelte | 5 +- .../common/fileInput/FileInput.svelte | 5 +- .../lib/components/common/menu/MenuV2.svelte | 2 + .../components/common/menu/MenuWrapper.svelte | 51 -- .../components/common/menu/ResolveOpen.svelte | 14 + .../lib/components/common/table/AppRow.svelte | 63 +-- .../components/common/table/FlowRow.svelte | 64 +-- .../components/common/table/RawAppRow.svelte | 32 +- .../components/common/table/RowIcon.svelte | 7 +- .../components/common/table/ScriptRow.svelte | 67 ++- .../copilot/FlowCopilotDrawer.svelte | 17 +- .../copilot/FlowCopilotStatus.svelte | 11 +- .../lib/components/copilot/ScriptFix.svelte | 13 +- .../lib/components/copilot/ScriptGen.svelte | 61 +-- .../src/lib/components/copilot/StepGen.svelte | 11 +- .../components/details/ClipboardPanel.svelte | 6 +- .../details/DetailPageDetailPanel.svelte | 5 +- .../details/ErrorHandlerToggleButton.svelte | 8 +- .../components/flows/CreateActionsApp.svelte | 5 +- .../components/flows/CreateActionsFlow.svelte | 7 +- .../content/BranchPredicateEditor.svelte | 4 +- .../flows/content/CapturePayload.svelte | 21 +- .../flows/content/DynamicInputHelpBox.svelte | 17 +- .../content/FlowBranchesOneWrapper.svelte | 2 +- .../flows/content/FlowModuleHeader.svelte | 20 +- .../flows/content/FlowSettings.svelte | 10 +- .../RemoveStepConfirmationModal.svelte | 33 -- .../flows/content/ScriptEditorDrawer.svelte | 7 +- .../flows/header/FlowImportExportMenu.svelte | 7 +- .../flows/header/FlowPreviewButtons.svelte | 6 +- .../flows/map/FlowErrorHandlerItem.svelte | 11 +- .../flows/map/FlowInputsItem.svelte | 21 - .../flows/map/FlowModuleSchemaItem.svelte | 2 +- .../flows/map/InsertModuleButton.svelte | 42 +- .../flows/map/InsertTriggerButton.svelte | 10 +- .../lib/components/flows/map/MapItem.svelte | 12 +- .../components/flows/map/VirtualItem.svelte | 20 +- .../flows/pickers/FlowScriptPicker.svelte | 7 - .../flows/pickers/PickScript.svelte | 44 -- .../edges/views/Edges/EdgeAnchor.svelte | 14 - .../src/lib/components/home/FlowIcon.svelte | 5 +- .../lib/components/icons/BarsStaggered.svelte | 20 + .../src/lib/components/icons/HatIcon.svelte | 20 - .../components/icons/brands/Discord.svelte | 20 + .../lib/components/icons/brands/Github.svelte | 20 + .../lib/components/icons/brands/Gitlab.svelte | 20 + .../lib/components/icons/brands/Google.svelte | 20 + .../components/icons/brands/Microsoft.svelte | 20 + .../src/lib/components/jobs/JobDetail.svelte | 217 --------- .../lib/components/runs/MobileFilters.svelte | 7 +- .../src/lib/components/runs/RunRow.svelte | 9 +- .../src/lib/components/runs/RunsFilter.svelte | 21 +- .../components/scriptEditor/LogPanel.svelte | 24 +- .../scripts/CreateActionsScript.svelte | 6 +- .../components/settings/PremiumInfo.svelte | 5 +- .../components/sidebar/FavoriteMenu.svelte | 5 +- .../lib/components/sidebar/MenuButton.svelte | 14 - .../lib/components/sidebar/MenuLink.svelte | 12 - .../components/sidebar/SidebarContent.svelte | 12 +- .../lib/components/sidebar/UserMenu.svelte | 55 ++- .../components/sidebar/WorkspaceMenu.svelte | 14 +- frontend/src/lib/components/table/Body.svelte | 0 .../src/lib/components/table/DataTable.svelte | 31 +- .../src/routes/(root)/(logged)/+layout.svelte | 7 +- .../src/routes/(root)/(logged)/+page.svelte | 9 +- .../(logged)/apps/get/[...path]/+page.svelte | 9 +- .../(logged)/flows/get/[...path]/+page.svelte | 27 +- .../(root)/(logged)/folders/+page.svelte | 9 +- .../(root)/(logged)/groups/+page.svelte | 15 +- .../(root)/(logged)/resources/+page.svelte | 105 ++-- .../(root)/(logged)/run/[...run]/+page.svelte | 121 ++--- .../(logged)/runs/[...path]/+page.svelte | 6 +- .../(root)/(logged)/schedules/+page.svelte | 53 +- .../scripts/get/[...hash]/+page.svelte | 21 +- .../(logged)/user/(user)/login/+page.svelte | 16 +- .../user/(user)/workspaces/+page.svelte | 16 +- .../(root)/(logged)/variables/+page.svelte | 69 +-- .../(root)/(logged)/workers/+page.svelte | 17 +- .../(logged)/workspace_settings/+page.svelte | 23 +- 168 files changed, 1635 insertions(+), 2249 deletions(-) create mode 100644 frontend/scripts/delete-orphan-components.sh delete mode 100644 frontend/src/lib/components/ChevronButton.svelte delete mode 100644 frontend/src/lib/components/Dropdown.svelte delete mode 100644 frontend/src/lib/components/InlineCodeCopy.svelte delete mode 100644 frontend/src/lib/components/SettingSection.svelte delete mode 100644 frontend/src/lib/components/apps/components/helpers/ResizeWrapper.svelte delete mode 100644 frontend/src/lib/components/apps/editor/settingsPanel/PickFlow.svelte delete mode 100644 frontend/src/lib/components/apps/editor/settingsPanel/PickInlineScript.svelte delete mode 100644 frontend/src/lib/components/auditLogs/AuditLogsChart.svelte delete mode 100644 frontend/src/lib/components/common/menu/MenuWrapper.svelte create mode 100644 frontend/src/lib/components/common/menu/ResolveOpen.svelte delete mode 100644 frontend/src/lib/components/flows/content/RemoveStepConfirmationModal.svelte delete mode 100644 frontend/src/lib/components/flows/map/FlowInputsItem.svelte delete mode 100644 frontend/src/lib/components/flows/pickers/PickScript.svelte delete mode 100644 frontend/src/lib/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte create mode 100644 frontend/src/lib/components/icons/BarsStaggered.svelte delete mode 100644 frontend/src/lib/components/icons/HatIcon.svelte create mode 100644 frontend/src/lib/components/icons/brands/Discord.svelte create mode 100644 frontend/src/lib/components/icons/brands/Github.svelte create mode 100644 frontend/src/lib/components/icons/brands/Gitlab.svelte create mode 100644 frontend/src/lib/components/icons/brands/Google.svelte create mode 100644 frontend/src/lib/components/icons/brands/Microsoft.svelte delete mode 100644 frontend/src/lib/components/jobs/JobDetail.svelte delete mode 100644 frontend/src/lib/components/table/Body.svelte diff --git a/frontend/package-lock.json b/frontend/package-lock.json index 9c05c131ee..47cb9ddc0a 100644 --- a/frontend/package-lock.json +++ b/frontend/package-lock.json @@ -217,22 +217,101 @@ } }, "node_modules/@babel/code-frame": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", - "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dev": true, "peer": true, "dependencies": { - "@babel/highlight": "^7.22.5" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" }, "engines": { "node": ">=6.9.0" } }, + "node_modules/@babel/code-frame/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "peer": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "peer": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "peer": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/code-frame/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "peer": true + }, + "node_modules/@babel/code-frame/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "peer": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/@babel/code-frame/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "peer": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/code-frame/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "peer": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, "peer": true, "engines": { @@ -240,14 +319,14 @@ } }, "node_modules/@babel/highlight": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", - "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, "peer": true, "dependencies": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "engines": { @@ -344,9 +423,9 @@ } }, "node_modules/@csstools/css-parser-algorithms": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.1.tgz", - "integrity": "sha512-xrvsmVUtefWMWQsGgFffqWSK03pZ1vfDki4IVIIUxxDKnGBzqNgv0A7SB1oXtVNEkcVO8xi1ZrTL29HhSu5kGA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.2.tgz", + "integrity": "sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==", "dev": true, "funding": [ { @@ -363,13 +442,13 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-tokenizer": "^2.2.0" + "@csstools/css-tokenizer": "^2.2.1" } }, "node_modules/@csstools/css-tokenizer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.0.tgz", - "integrity": "sha512-wErmsWCbsmig8sQKkM6pFhr/oPha1bHfvxsUY5CYSQxwyhA9Ulrs8EqCgClhg4Tgg2XapVstGqSVcz0xOYizZA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.1.tgz", + "integrity": "sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==", "dev": true, "funding": [ { @@ -387,9 +466,9 @@ } }, "node_modules/@csstools/media-query-list-parser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.3.tgz", - "integrity": "sha512-ATul1u+pic4aVpstgueqxEv4MsObEbszAxfTXpx9LHaeD3LAh+wFqdCteyegWmjk0k5rkSCAvIOaJe9U3DD09w==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.5.tgz", + "integrity": "sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ==", "dev": true, "funding": [ { @@ -406,8 +485,8 @@ "node": "^14 || ^16 || >=18" }, "peerDependencies": { - "@csstools/css-parser-algorithms": "^2.3.1", - "@csstools/css-tokenizer": "^2.2.0" + "@csstools/css-parser-algorithms": "^2.3.2", + "@csstools/css-tokenizer": "^2.2.1" } }, "node_modules/@esbuild/android-arm": { @@ -1641,9 +1720,9 @@ } }, "node_modules/@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.4.tgz", + "integrity": "sha512-Kfe/D3hxHTusnPNRbycJE1N77WHDsdS4AjUYIzlDzhDrS47NrwuL3YW4VITxwR7KCVpzwgy4Rbj829KSSQmwXQ==", "dev": true, "peer": true }, @@ -1667,9 +1746,9 @@ } }, "node_modules/@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.3.tgz", + "integrity": "sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==", "dev": true, "peer": true }, @@ -2847,15 +2926,15 @@ } }, "node_modules/cosmiconfig": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz", - "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==", + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", "dev": true, "peer": true, "dependencies": { - "import-fresh": "^3.2.1", + "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", - "parse-json": "^5.0.0", + "parse-json": "^5.2.0", "path-type": "^4.0.0" }, "engines": { @@ -2863,6 +2942,14 @@ }, "funding": { "url": "https://github.com/sponsors/d-fischer" + }, + "peerDependencies": { + "typescript": ">=4.9.5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, "node_modules/cross-spawn": { @@ -2900,13 +2987,13 @@ } }, "node_modules/css-functions-list": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.0.tgz", - "integrity": "sha512-d/jBMPyYybkkLVypgtGv12R+pIFw4/f/IHtCTxWpZc8ofTYOPigIgmA6vu5rMHartZC+WuXhBUHfnyNUIQSYrg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.1.tgz", + "integrity": "sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==", "dev": true, "peer": true, "engines": { - "node": ">=12.22" + "node": ">=12 || >=16" } }, "node_modules/css-select": { @@ -4134,22 +4221,23 @@ } }, "node_modules/flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", + "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", "dev": true, "dependencies": { - "flatted": "^3.1.0", + "flatted": "^3.2.9", + "keyv": "^4.5.3", "rimraf": "^3.0.2" }, "engines": { - "node": "^10.12.0 || >=12.0.0" + "node": ">=12.0.0" } }, "node_modules/flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", "dev": true }, "node_modules/form-data": { @@ -4970,6 +5058,12 @@ "js-yaml": "bin/js-yaml.js" } }, + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -5020,6 +5114,15 @@ "graceful-fs": "^4.1.6" } }, + "node_modules/keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "dependencies": { + "json-buffer": "3.0.1" + } + }, "node_modules/kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -5039,9 +5142,9 @@ } }, "node_modules/known-css-properties": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.27.0.tgz", - "integrity": "sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==", + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz", + "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==", "dev": true, "peer": true }, @@ -8468,9 +8571,9 @@ } }, "node_modules/spdx-license-ids": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", "dev": true, "peer": true }, @@ -8575,25 +8678,25 @@ } }, "node_modules/stylelint": { - "version": "15.10.2", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.10.2.tgz", - "integrity": "sha512-UxqSb3hB74g4DTO45QhUHkJMjKKU//lNUAOWyvPBVPZbCknJ5HjOWWZo+UDuhHa9FLeVdHBZXxu43eXkjyIPWg==", + "version": "15.11.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.11.0.tgz", + "integrity": "sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==", "dev": true, "peer": true, "dependencies": { - "@csstools/css-parser-algorithms": "^2.3.0", - "@csstools/css-tokenizer": "^2.1.1", - "@csstools/media-query-list-parser": "^2.1.2", + "@csstools/css-parser-algorithms": "^2.3.1", + "@csstools/css-tokenizer": "^2.2.0", + "@csstools/media-query-list-parser": "^2.1.4", "@csstools/selector-specificity": "^3.0.0", "balanced-match": "^2.0.0", "colord": "^2.9.3", "cosmiconfig": "^8.2.0", - "css-functions-list": "^3.2.0", + "css-functions-list": "^3.2.1", "css-tree": "^2.3.1", "debug": "^4.3.4", - "fast-glob": "^3.3.0", + "fast-glob": "^3.3.1", "fastest-levenshtein": "^1.0.16", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^7.0.0", "global-modules": "^2.0.0", "globby": "^11.1.0", "globjoin": "^0.1.4", @@ -8602,13 +8705,13 @@ "import-lazy": "^4.0.0", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", - "known-css-properties": "^0.27.0", + "known-css-properties": "^0.29.0", "mathml-tag-names": "^2.1.3", "meow": "^10.1.5", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "picocolors": "^1.0.0", - "postcss": "^8.4.25", + "postcss": "^8.4.28", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^6.0.0", "postcss-selector-parser": "^6.0.13", @@ -8675,6 +8778,19 @@ "dev": true, "peer": true }, + "node_modules/stylelint/node_modules/file-entry-cache": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-7.0.1.tgz", + "integrity": "sha512-uLfFktPmRetVCbHe5UPuekWrQ6hENufnA46qEGbfACkK5drjTTdQYUragRgMjHldcbYG+nslUerqMPjbBSHXjQ==", + "dev": true, + "peer": true, + "dependencies": { + "flat-cache": "^3.1.1" + }, + "engines": { + "node": ">=12.0.0" + } + }, "node_modules/stylelint/node_modules/postcss-selector-parser": { "version": "6.0.13", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", @@ -10281,31 +10397,97 @@ } }, "@babel/code-frame": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.5.tgz", - "integrity": "sha512-Xmwn266vad+6DAqEB2A6V/CcZVp62BbwVmcOJc2RPuwih1kw02TjQvWVWlcKGbBPd+8/0V5DEkOcizRGYsspYQ==", + "version": "7.22.13", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.22.13.tgz", + "integrity": "sha512-XktuhWlJ5g+3TJXc5upd9Ks1HutSArik6jf2eAjYFyIOf4ej3RN+184cZbzDvbPnuTJIUhPKKJE3cIsYTiAT3w==", "dev": true, "peer": true, "requires": { - "@babel/highlight": "^7.22.5" + "@babel/highlight": "^7.22.13", + "chalk": "^2.4.2" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "peer": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "peer": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "peer": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true, + "peer": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "peer": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "peer": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "peer": true, + "requires": { + "has-flag": "^3.0.0" + } + } } }, "@babel/helper-validator-identifier": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.5.tgz", - "integrity": "sha512-aJXu+6lErq8ltp+JhkJUfk1MTGyuA4v7f3pA+BJ5HLfNC6nAQ0Cpi9uOquUj8Hehg0aUiHzWQbOVJGao6ztBAQ==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", + "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", "dev": true, "peer": true }, "@babel/highlight": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.5.tgz", - "integrity": "sha512-BSKlD1hgnedS5XRnGOljZawtag7H1yPfQp0tdNJCHoH6AZ+Pcm9VvkrK59/Yy593Ypg0zMxH2BxD1VPYUQ7UIw==", + "version": "7.22.20", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.22.20.tgz", + "integrity": "sha512-dkdMCN3py0+ksCgYmGG8jKeGA/8Tk+gJwSYYlFGxG5lmhfKNoAy004YpLxpS1W2J8m/EK2Ew+yOs9pVRwO89mg==", "dev": true, "peer": true, "requires": { - "@babel/helper-validator-identifier": "^7.22.5", - "chalk": "^2.0.0", + "@babel/helper-validator-identifier": "^7.22.20", + "chalk": "^2.4.2", "js-tokens": "^4.0.0" }, "dependencies": { @@ -10383,24 +10565,24 @@ } }, "@csstools/css-parser-algorithms": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.1.tgz", - "integrity": "sha512-xrvsmVUtefWMWQsGgFffqWSK03pZ1vfDki4IVIIUxxDKnGBzqNgv0A7SB1oXtVNEkcVO8xi1ZrTL29HhSu5kGA==", + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/@csstools/css-parser-algorithms/-/css-parser-algorithms-2.3.2.tgz", + "integrity": "sha512-sLYGdAdEY2x7TSw9FtmdaTrh2wFtRJO5VMbBrA8tEqEod7GEggFmxTSK9XqExib3yMuYNcvcTdCZIP6ukdjAIA==", "dev": true, "peer": true, "requires": {} }, "@csstools/css-tokenizer": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.0.tgz", - "integrity": "sha512-wErmsWCbsmig8sQKkM6pFhr/oPha1bHfvxsUY5CYSQxwyhA9Ulrs8EqCgClhg4Tgg2XapVstGqSVcz0xOYizZA==", + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@csstools/css-tokenizer/-/css-tokenizer-2.2.1.tgz", + "integrity": "sha512-Zmsf2f/CaEPWEVgw29odOj+WEVoiJy9s9NOv5GgNY9mZ1CZ7394By6wONrONrTsnNDv6F9hR02nvFihrGVGHBg==", "dev": true, "peer": true }, "@csstools/media-query-list-parser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.3.tgz", - "integrity": "sha512-ATul1u+pic4aVpstgueqxEv4MsObEbszAxfTXpx9LHaeD3LAh+wFqdCteyegWmjk0k5rkSCAvIOaJe9U3DD09w==", + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@csstools/media-query-list-parser/-/media-query-list-parser-2.1.5.tgz", + "integrity": "sha512-IxVBdYzR8pYe89JiyXQuYk4aVVoCPhMJkz6ElRwlVysjwURTsTk/bmY/z4FfeRE+CRBMlykPwXEVUg8lThv7AQ==", "dev": true, "peer": true, "requires": {} @@ -11278,9 +11460,9 @@ } }, "@types/minimist": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.2.tgz", - "integrity": "sha512-jhuKLIRrhvCPLqwPcx6INqmKeiA5EWrsCOPhrlFSrbrmU4ZMPjj5Ul/oLCMDO98XRUIwVm78xICz4EPCektzeQ==", + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.4.tgz", + "integrity": "sha512-Kfe/D3hxHTusnPNRbycJE1N77WHDsdS4AjUYIzlDzhDrS47NrwuL3YW4VITxwR7KCVpzwgy4Rbj829KSSQmwXQ==", "dev": true, "peer": true }, @@ -11304,9 +11486,9 @@ } }, "@types/normalize-package-data": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.1.tgz", - "integrity": "sha512-Gj7cI7z+98M282Tqmp2K5EIsoouUEzbBJhQQzDE3jSIRk6r9gsz0oUokqIUR4u1R3dMHo0pDHM7sNOHyhulypw==", + "version": "2.4.3", + "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.3.tgz", + "integrity": "sha512-ehPtgRgaULsFG8x0NeYJvmyH1hmlfsNLujHe9dQEia/7MAJYdzMSi19JtchUHjmBA6XC/75dK55mzZH+RyieSg==", "dev": true, "peer": true }, @@ -12084,15 +12266,15 @@ "dev": true }, "cosmiconfig": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.2.0.tgz", - "integrity": "sha512-3rTMnFJA1tCOPwRxtgF4wd7Ab2qvDbL8jX+3smjIbS4HlZBagTlpERbdN7iAbWlrfxE3M8c27kTwTawQ7st+OQ==", + "version": "8.3.6", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.3.6.tgz", + "integrity": "sha512-kcZ6+W5QzcJ3P1Mt+83OUv/oHFqZHIx8DuxG6eZ5RGMERoLqp4BuGjhHLYGK+Kf5XVkQvqBSmAy/nGWN3qDgEA==", "dev": true, "peer": true, "requires": { - "import-fresh": "^3.2.1", + "import-fresh": "^3.3.0", "js-yaml": "^4.1.0", - "parse-json": "^5.0.0", + "parse-json": "^5.2.0", "path-type": "^4.0.0" } }, @@ -12120,9 +12302,9 @@ "requires": {} }, "css-functions-list": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.0.tgz", - "integrity": "sha512-d/jBMPyYybkkLVypgtGv12R+pIFw4/f/IHtCTxWpZc8ofTYOPigIgmA6vu5rMHartZC+WuXhBUHfnyNUIQSYrg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.1.tgz", + "integrity": "sha512-Nj5YcaGgBtuUmn1D7oHqPW0c9iui7xsTsj5lIX8ZgevdfhmjFfKB3r8moHJtNJnctnYXJyYX5I1pp90HM4TPgQ==", "dev": true, "peer": true }, @@ -13035,19 +13217,20 @@ } }, "flat-cache": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", - "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", + "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", "dev": true, "requires": { - "flatted": "^3.1.0", + "flatted": "^3.2.9", + "keyv": "^4.5.3", "rimraf": "^3.0.2" } }, "flatted": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", - "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", "dev": true }, "form-data": { @@ -13646,6 +13829,12 @@ "argparse": "^2.0.1" } }, + "json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true + }, "json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", @@ -13690,6 +13879,15 @@ "universalify": "^2.0.0" } }, + "keyv": { + "version": "4.5.4", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", + "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", + "dev": true, + "requires": { + "json-buffer": "3.0.1" + } + }, "kind-of": { "version": "6.0.3", "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", @@ -13703,9 +13901,9 @@ "integrity": "sha512-o+NO+8WrRiQEE4/7nwRJhN1HWpVmJm511pBHUxPLtp0BUISzlBplORYSmTclCnJvQq2tKu/sgl3xVpkc7ZWuQQ==" }, "known-css-properties": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.27.0.tgz", - "integrity": "sha512-uMCj6+hZYDoffuvAJjFAPz56E9uoowFHmTkqRtRq5WyC5Q6Cu/fTZKNQpX/RbzChBYLLl3lo8CjFZBAZXq9qFg==", + "version": "0.29.0", + "resolved": "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.29.0.tgz", + "integrity": "sha512-Ne7wqW7/9Cz54PDt4I3tcV+hAyat8ypyOGzYRJQfdxnnjeWsTxt1cy8pjvvKeI5kfXuyvULyeeAvwvvtAX3ayQ==", "dev": true, "peer": true }, @@ -16020,9 +16218,9 @@ } }, "spdx-license-ids": { - "version": "3.0.13", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", - "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", + "version": "3.0.16", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.16.tgz", + "integrity": "sha512-eWN+LnM3GR6gPu35WxNgbGl8rmY1AEmoMDvL/QD6zYmPWgywxWqJWNdLGT+ke8dKNWrcYgYjPpG5gbTfghP8rw==", "dev": true, "peer": true }, @@ -16103,25 +16301,25 @@ } }, "stylelint": { - "version": "15.10.2", - "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.10.2.tgz", - "integrity": "sha512-UxqSb3hB74g4DTO45QhUHkJMjKKU//lNUAOWyvPBVPZbCknJ5HjOWWZo+UDuhHa9FLeVdHBZXxu43eXkjyIPWg==", + "version": "15.11.0", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-15.11.0.tgz", + "integrity": "sha512-78O4c6IswZ9TzpcIiQJIN49K3qNoXTM8zEJzhaTE/xRTCZswaovSEVIa/uwbOltZrk16X4jAxjaOhzz/hTm1Kw==", "dev": true, "peer": true, "requires": { - "@csstools/css-parser-algorithms": "^2.3.0", - "@csstools/css-tokenizer": "^2.1.1", - "@csstools/media-query-list-parser": "^2.1.2", + "@csstools/css-parser-algorithms": "^2.3.1", + "@csstools/css-tokenizer": "^2.2.0", + "@csstools/media-query-list-parser": "^2.1.4", "@csstools/selector-specificity": "^3.0.0", "balanced-match": "^2.0.0", "colord": "^2.9.3", "cosmiconfig": "^8.2.0", - "css-functions-list": "^3.2.0", + "css-functions-list": "^3.2.1", "css-tree": "^2.3.1", "debug": "^4.3.4", - "fast-glob": "^3.3.0", + "fast-glob": "^3.3.1", "fastest-levenshtein": "^1.0.16", - "file-entry-cache": "^6.0.1", + "file-entry-cache": "^7.0.0", "global-modules": "^2.0.0", "globby": "^11.1.0", "globjoin": "^0.1.4", @@ -16130,13 +16328,13 @@ "import-lazy": "^4.0.0", "imurmurhash": "^0.1.4", "is-plain-object": "^5.0.0", - "known-css-properties": "^0.27.0", + "known-css-properties": "^0.29.0", "mathml-tag-names": "^2.1.3", "meow": "^10.1.5", "micromatch": "^4.0.5", "normalize-path": "^3.0.0", "picocolors": "^1.0.0", - "postcss": "^8.4.25", + "postcss": "^8.4.28", "postcss-resolve-nested-selector": "^0.1.1", "postcss-safe-parser": "^6.0.0", "postcss-selector-parser": "^6.0.13", @@ -16166,6 +16364,16 @@ "dev": true, "peer": true }, + "file-entry-cache": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-7.0.1.tgz", + "integrity": "sha512-uLfFktPmRetVCbHe5UPuekWrQ6hENufnA46qEGbfACkK5drjTTdQYUragRgMjHldcbYG+nslUerqMPjbBSHXjQ==", + "dev": true, + "peer": true, + "requires": { + "flat-cache": "^3.1.1" + } + }, "postcss-selector-parser": { "version": "6.0.13", "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", diff --git a/frontend/package.json b/frontend/package.json index b1f8fca82b..84ff5b90ee 100644 --- a/frontend/package.json +++ b/frontend/package.json @@ -13,7 +13,8 @@ "generate-backend-client": "openapi --input ../backend/windmill-api/openapi.yaml --output ./src/lib/gen --useOptions && sed -i '213 i \\ request.referrerPolicy = \"no-referrer\"\n' src/lib/gen/core/request.ts", "generate-backend-client-mac": "openapi --input ../backend/windmill-api/openapi.yaml --output ./src/lib/gen --useOptions", "pretest": "tsc --incremental -p tests/tsconfig.json", - "test": "playwright test --config=tests-out/playwright.config.js" + "test": "playwright test --config=tests-out/playwright.config.js", + "delele-orphan-components": "sh scripts/delete-orphan-components.sh" }, "devDependencies": { "@floating-ui/core": "^1.3.1", @@ -51,7 +52,6 @@ "style-to-object": "^0.4.1", "stylelint-config-recommended": "^13.0.0", "svelte": "^4.0.0", - "svelte-awesome": "^3.2.1", "svelte-awesome-color-picker": "^2.4.5", "svelte-check": "^3.4.3", "svelte-floating-ui": "^1.5.3", @@ -88,8 +88,6 @@ "type": "module", "dependencies": { "@aws-crypto/sha256-js": "^4.0.0", - "@fortawesome/free-brands-svg-icons": "^6.2.1", - "@fortawesome/free-solid-svg-icons": "^6.2.1", "@leeoniya/ufuzzy": "^1.0.8", "@popperjs/core": "^2.11.6", "@redocly/json-to-json-schema": "^0.0.1", diff --git a/frontend/scripts/delete-orphan-components.sh b/frontend/scripts/delete-orphan-components.sh new file mode 100644 index 0000000000..0af63fedd3 --- /dev/null +++ b/frontend/scripts/delete-orphan-components.sh @@ -0,0 +1,72 @@ +#!/bin/bash + +# ANSI color codes +RED='\033[0;31m' +GREEN='\033[0;32m' +NC='\033[0m' # No Color + +# get the list of all .svelte files +svelte_files=$(find src -type f -name "*.svelte") + +# Array to hold unused files +declare -a unused_files + +echo -e "${NC}Scanning src folder to find all .svelte files" +echo -e " ${GREEN}.${NC} means the .svelte is imported in another file" +echo -e " ${RED}x${NC} means the .svelte is not imported and should likely be removed" + +# loop over each svelte file +for svelte_file in $svelte_files +do + # extract the filename + filename=$(basename -- "$svelte_file") + + # skip files starting with '+' + if [[ "$filename" == +* ]] + then + echo -n -e "${GREEN}.${NC}" + continue + fi + + # search for the filename in all files + found=$(grep -rl "$filename" src) + + # if nothing was found, then the file is unused + if [[ -z $found ]] + then + echo -n -e "${RED}x${NC}" + unused_files+=("$svelte_file") + else + echo -n -e "${GREEN}.${NC}" + fi +done + +# Print a newline after progress dots +echo +echo + +# Print unused files +for file in "${unused_files[@]}" +do + echo -e "${RED}Unused Svelte file: $file${NC}" +done + +# If no unused components found, print the message and exit +if [ ${#unused_files[@]} -eq 0 ]; then + echo -e "${GREEN}No unused components found.${NC}" + exit 0 +fi + +# Delete files if user confirms +if [ ${#unused_files[@]} -gt 0 ]; then + echo -e -n "${GREEN}Do you want to delete these ${#unused_files[@]} files? (y/n) ${NC}" + read answer + + if [ "$answer" != "${answer#[Yy]}" ] ;then + for file in "${unused_files[@]}" + do + rm "$file" + echo -e "${RED}Deleted $file${NC}" + done + fi +fi \ No newline at end of file diff --git a/frontend/src/lib/components/AddUser.svelte b/frontend/src/lib/components/AddUser.svelte index 3b5d066e8d..2856c06399 100644 --- a/frontend/src/lib/components/AddUser.svelte +++ b/frontend/src/lib/components/AddUser.svelte @@ -69,11 +69,8 @@ containerClasses="border rounded-lg shadow-lg p-4 bg-surface" > -
diff --git a/frontend/src/lib/components/ArgInput.svelte b/frontend/src/lib/components/ArgInput.svelte index f2b22d2434..30469e49d3 100644 --- a/frontend/src/lib/components/ArgInput.svelte +++ b/frontend/src/lib/components/ArgInput.svelte @@ -1,12 +1,9 @@ - - -{#if viewOptions} - -{/if} diff --git a/frontend/src/lib/components/CliHelpBox.svelte b/frontend/src/lib/components/CliHelpBox.svelte index ad24d694fd..dd2cca0d54 100644 --- a/frontend/src/lib/components/CliHelpBox.svelte +++ b/frontend/src/lib/components/CliHelpBox.svelte @@ -1,7 +1,7 @@ @@ -9,17 +9,18 @@
CLI quick setup
diff --git a/frontend/src/lib/components/apps/editor/componentsPanel/ThemeRow.svelte b/frontend/src/lib/components/apps/editor/componentsPanel/ThemeRow.svelte index bbc6d36c8f..6ef2047531 100644 --- a/frontend/src/lib/components/apps/editor/componentsPanel/ThemeRow.svelte +++ b/frontend/src/lib/components/apps/editor/componentsPanel/ThemeRow.svelte @@ -148,19 +148,18 @@ {/if} {#if type === 'inlined'} - {/if} {#if $app?.theme?.type !== 'path' || $app.theme.path !== row.path} - {/if} diff --git a/frontend/src/lib/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte b/frontend/src/lib/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte index 107e23bd8e..dd2b3ddafb 100644 --- a/frontend/src/lib/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte +++ b/frontend/src/lib/components/apps/editor/inlineScriptsPanel/EmptyInlineScript.svelte @@ -10,8 +10,7 @@ import { emptySchema } from '$lib/utils' import { getScriptByPath } from '$lib/scripts' - import { faCodeBranch } from '@fortawesome/free-solid-svg-icons' - import { Building, Globe2 } from 'lucide-svelte' + import { Building, GitFork, Globe2 } from 'lucide-svelte' import { createEventDispatcher, getContext } from 'svelte' import { fly } from 'svelte/transition' import type { AppViewerContext } from '../../types' @@ -172,7 +171,7 @@ size="xs" variant="border" color="blue" - startIcon={{ icon: faCodeBranch }} + startIcon={{ icon: GitFork }} btnClasses="truncate" > Fork a script diff --git a/frontend/src/lib/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte b/frontend/src/lib/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte index da0dc828c1..c6effaeb6c 100644 --- a/frontend/src/lib/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte +++ b/frontend/src/lib/components/apps/editor/inlineScriptsPanel/InlineScriptEditorDrawer.svelte @@ -2,8 +2,8 @@ import { Button, Drawer, DrawerContent } from '$lib/components/common' import type Editor from '$lib/components/Editor.svelte' import ScriptEditor from '$lib/components/ScriptEditor.svelte' - import { faSave } from '@fortawesome/free-solid-svg-icons' import type { InlineScript } from '../../types' + import { Save } from 'lucide-svelte' let scriptEditorDrawer: Drawer export let inlineScript: InlineScript @@ -37,7 +37,7 @@ /> {/if} - + diff --git a/frontend/src/lib/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte b/frontend/src/lib/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte index 121f9b8342..a58336e829 100644 --- a/frontend/src/lib/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte +++ b/frontend/src/lib/components/apps/editor/inlineScriptsPanel/InlineScriptRunnableByPath.svelte @@ -11,14 +11,6 @@ StaticAppInput, UserAppInput } from '../../inputType' - import { - faCodeBranch, - faExternalLinkAlt, - faEye, - faPen, - faRefresh, - faTrashAlt - } from '@fortawesome/free-solid-svg-icons' import type { AppViewerContext } from '../../types' import { workspaceStore } from '$lib/stores' import { createEventDispatcher } from 'svelte' @@ -29,6 +21,7 @@ import { getScriptByPath } from '$lib/scripts' import { sendUserToast } from '$lib/toast' import { autoPlacement } from '@floating-ui/core' + import { ExternalLink, Eye, GitFork, Pen, RefreshCw, Trash } from 'lucide-svelte' export let runnable: RunnableByPath export let fields: Record @@ -115,7 +108,7 @@ diff --git a/frontend/src/lib/components/apps/editor/settingsPanel/PickInlineScript.svelte b/frontend/src/lib/components/apps/editor/settingsPanel/PickInlineScript.svelte deleted file mode 100644 index 7d4548a61f..0000000000 --- a/frontend/src/lib/components/apps/editor/settingsPanel/PickInlineScript.svelte +++ /dev/null @@ -1,43 +0,0 @@ - - - { - dispatch('pick', { path, summary }) - }} - itemName={'Script'} - extraField="summary" - noItemMessage={`There are no inline scripts.
- Click 'Add script' on the left panel to create one.`} - {loadItems} -/> - - diff --git a/frontend/src/lib/components/apps/editor/settingsPanel/QuickAddColumn.svelte b/frontend/src/lib/components/apps/editor/settingsPanel/QuickAddColumn.svelte index 4be14e6cd8..103e2754cc 100644 --- a/frontend/src/lib/components/apps/editor/settingsPanel/QuickAddColumn.svelte +++ b/frontend/src/lib/components/apps/editor/settingsPanel/QuickAddColumn.svelte @@ -53,11 +53,14 @@
{#each remainingColumns as column} - {/each}
diff --git a/frontend/src/lib/components/apps/editor/settingsPanel/TableActions.svelte b/frontend/src/lib/components/apps/editor/settingsPanel/TableActions.svelte index ff5efeba46..8a27941fed 100644 --- a/frontend/src/lib/components/apps/editor/settingsPanel/TableActions.svelte +++ b/frontend/src/lib/components/apps/editor/settingsPanel/TableActions.svelte @@ -3,14 +3,12 @@ import Button from '$lib/components/common/button/Button.svelte' import { getNextId } from '$lib/components/flows/idUtils' import { classNames } from '$lib/utils' - import { faTrashAlt } from '@fortawesome/free-solid-svg-icons' import { getContext } from 'svelte' - import { Icon } from 'svelte-awesome' import type { AppViewerContext, BaseAppComponent } from '../../types' import { appComponentFromType } from '../appUtils' import type { ButtonComponent, CheckboxComponent, SelectComponent } from '../component' import PanelSection from './common/PanelSection.svelte' - import { Inspect, List, ToggleRightIcon } from 'lucide-svelte' + import { Inspect, List, ToggleRightIcon, Trash } from 'lucide-svelte' export let components: (BaseAppComponent & (ButtonComponent | CheckboxComponent | SelectComponent))[] @@ -71,9 +69,13 @@ {/if}
- +
{/each} diff --git a/frontend/src/lib/components/apps/editor/settingsPanel/inputEditor/ConnectedInputEditor.svelte b/frontend/src/lib/components/apps/editor/settingsPanel/inputEditor/ConnectedInputEditor.svelte index 88c4346e29..180a80e324 100644 --- a/frontend/src/lib/components/apps/editor/settingsPanel/inputEditor/ConnectedInputEditor.svelte +++ b/frontend/src/lib/components/apps/editor/settingsPanel/inputEditor/ConnectedInputEditor.svelte @@ -1,10 +1,9 @@ - - diff --git a/frontend/src/lib/components/common/CloseButton.svelte b/frontend/src/lib/components/common/CloseButton.svelte index 1219e93a41..3bde7c4fa9 100644 --- a/frontend/src/lib/components/common/CloseButton.svelte +++ b/frontend/src/lib/components/common/CloseButton.svelte @@ -1,18 +1,21 @@ - + startIcon={{ icon: X }} + iconOnly + size="sm" + color="light" + btnClasses={twMerge( + 'hover:bg-surface-hover w-8 h-8 rounded-full p-0', + noBg ? '' : 'bg-surface-secondary' + )} +/> diff --git a/frontend/src/lib/components/common/alert/Alert.svelte b/frontend/src/lib/components/common/alert/Alert.svelte index 10cd822c98..f8481c9bf4 100644 --- a/frontend/src/lib/components/common/alert/Alert.svelte +++ b/frontend/src/lib/components/common/alert/Alert.svelte @@ -1,14 +1,8 @@ @@ -71,15 +65,17 @@ class:hidden class:capitalize > - {#if iconProps.data && iconProps.position === 'left'} - + {#if icon?.icon && icon.position === 'left'} + {/if} - {#if iconProps.data && iconProps.position === 'right'} - + {#if icon?.icon && icon.position === 'right'} + {/if} {#if dismissable} - + {/if} diff --git a/frontend/src/lib/components/common/badge/model.ts b/frontend/src/lib/components/common/badge/model.ts index 1b52d2feb3..f7b23a4d52 100644 --- a/frontend/src/lib/components/common/badge/model.ts +++ b/frontend/src/lib/components/common/badge/model.ts @@ -1,9 +1,8 @@ -import type { IconProps } from 'svelte-awesome/components/Icon.svelte' - type BaseColor = 'blue' | 'gray' | 'red' | 'green' | 'yellow' | 'indigo' export const ColorModifier = 'dark-' export type BadgeColor = BaseColor | `${typeof ColorModifier}${BaseColor}` -export interface BadgeIconProps extends IconProps { +export interface BadgeIconProps { position?: 'left' | 'right' + icon: any } diff --git a/frontend/src/lib/components/common/button/Button.svelte b/frontend/src/lib/components/common/button/Button.svelte index ceb44644fd..9b6cf94b0b 100644 --- a/frontend/src/lib/components/common/button/Button.svelte +++ b/frontend/src/lib/components/common/button/Button.svelte @@ -1,6 +1,5 @@
{#if loading} - {:else if startIcon} - + {:else if startIcon?.icon} + {/if} {#if !iconOnly} {/if} - {#if endIcon} - + {#if endIcon?.icon} + {/if} {:else} @@ -189,15 +195,15 @@ > {#if loading} - {:else if startIcon} - + {:else if startIcon?.icon} + {/if} {#if !iconOnly} {/if} - {#if endIcon} - + {#if endIcon?.icon} + {/if} {/if} @@ -216,7 +222,7 @@ )} > {#if item.icon} - + {/if} {item.label}
diff --git a/frontend/src/lib/components/common/button/model.ts b/frontend/src/lib/components/common/button/model.ts index 9154b01d88..b9bea721bb 100644 --- a/frontend/src/lib/components/common/button/model.ts +++ b/frontend/src/lib/components/common/button/model.ts @@ -7,8 +7,9 @@ export namespace ButtonType { export type Target = '_self' | '_blank' export type Element = HTMLButtonElement | HTMLAnchorElement export interface Icon { - icon: any + icon?: any | undefined classes?: string + faIcon?: any | undefined } export const FontSizeClasses: Record = { diff --git a/frontend/src/lib/components/common/confirmationModal/ConfirmationModal.svelte b/frontend/src/lib/components/common/confirmationModal/ConfirmationModal.svelte index 7909f908cf..fe8ee7f594 100644 --- a/frontend/src/lib/components/common/confirmationModal/ConfirmationModal.svelte +++ b/frontend/src/lib/components/common/confirmationModal/ConfirmationModal.svelte @@ -1,11 +1,10 @@ +
diff --git a/frontend/src/lib/components/common/menu/MenuWrapper.svelte b/frontend/src/lib/components/common/menu/MenuWrapper.svelte deleted file mode 100644 index b8df2d9bd9..0000000000 --- a/frontend/src/lib/components/common/menu/MenuWrapper.svelte +++ /dev/null @@ -1,51 +0,0 @@ - - - - - - - - - - -
- - -
- -
-
-
-
-
-
diff --git a/frontend/src/lib/components/common/menu/ResolveOpen.svelte b/frontend/src/lib/components/common/menu/ResolveOpen.svelte new file mode 100644 index 0000000000..a0c356783a --- /dev/null +++ b/frontend/src/lib/components/common/menu/ResolveOpen.svelte @@ -0,0 +1,14 @@ + diff --git a/frontend/src/lib/components/common/table/AppRow.svelte b/frontend/src/lib/components/common/table/AppRow.svelte index 80953528b6..7c51bfec70 100644 --- a/frontend/src/lib/components/common/table/AppRow.svelte +++ b/frontend/src/lib/components/common/table/AppRow.svelte @@ -1,25 +1,28 @@ -
{title}
+{#if title !== undefined} +
{title}
+{/if}
import { Tabs, Tab, TabContent, Button } from '$lib/components/common' import { copyToClipboard } from '$lib/utils' - import { faClipboard } from '@fortawesome/free-solid-svg-icons' - import { CalendarCheck2, Terminal, Webhook } from 'lucide-svelte' + import { CalendarCheck2, Clipboard, Terminal, Webhook } from 'lucide-svelte' import { Highlight } from 'svelte-highlight' import json from 'svelte-highlight/languages/json' import { Pane, Splitpanes } from 'svelte-splitpanes' @@ -89,7 +88,7 @@ color="light" variant="border" size="xs" - startIcon={{ icon: faClipboard }} + startIcon={{ icon: Clipboard }} btnClasses="absolute top-2 right-2 w-min" > Copy content diff --git a/frontend/src/lib/components/details/ErrorHandlerToggleButton.svelte b/frontend/src/lib/components/details/ErrorHandlerToggleButton.svelte index 6b8b139f8f..575424e6a9 100644 --- a/frontend/src/lib/components/details/ErrorHandlerToggleButton.svelte +++ b/frontend/src/lib/components/details/ErrorHandlerToggleButton.svelte @@ -55,21 +55,23 @@ size="xs" on:click={toggleErrorHandler} color="light" + startIcon={{ + icon: errorHandlerMuted === undefined || !errorHandlerMuted ? Bell : BellOff + }} + {iconOnly} > {#if errorHandlerMuted === undefined || !errorHandlerMuted}
{#if !iconOnly} Mute {/if} -
{:else}
{#if !iconOnly} Unmute {/if} -
{/if} + Disable workspace error handler, EE only -Disable workspace error handler, EE only diff --git a/frontend/src/lib/components/flows/CreateActionsApp.svelte b/frontend/src/lib/components/flows/CreateActionsApp.svelte index a35c449dd4..71811ecded 100644 --- a/frontend/src/lib/components/flows/CreateActionsApp.svelte +++ b/frontend/src/lib/components/flows/CreateActionsApp.svelte @@ -1,12 +1,11 @@ -
- - +
{#if opened} diff --git a/frontend/src/lib/components/flows/content/FlowBranchesOneWrapper.svelte b/frontend/src/lib/components/flows/content/FlowBranchesOneWrapper.svelte index f2a1fb2c67..fd2fc22290 100644 --- a/frontend/src/lib/components/flows/content/FlowBranchesOneWrapper.svelte +++ b/frontend/src/lib/components/flows/content/FlowBranchesOneWrapper.svelte @@ -29,7 +29,7 @@ - + The result of this step is the result of the branch.
diff --git a/frontend/src/lib/components/flows/content/FlowModuleHeader.svelte b/frontend/src/lib/components/flows/content/FlowModuleHeader.svelte index f1172f160d..80ec0edb8f 100644 --- a/frontend/src/lib/components/flows/content/FlowModuleHeader.svelte +++ b/frontend/src/lib/components/flows/content/FlowModuleHeader.svelte @@ -1,9 +1,19 @@ - - { - open = false - dispatch('canceled') - }} - on:confirmed={() => { - open = false - dispatch('confirmed') - }} -> -
- Are you sure you want to remove this step? - -
- You can press - SHIFT - while removing a step to bypass confirmation. -
-
-
-
diff --git a/frontend/src/lib/components/flows/content/ScriptEditorDrawer.svelte b/frontend/src/lib/components/flows/content/ScriptEditorDrawer.svelte index f2753e9807..0a9d012d4a 100644 --- a/frontend/src/lib/components/flows/content/ScriptEditorDrawer.svelte +++ b/frontend/src/lib/components/flows/content/ScriptEditorDrawer.svelte @@ -6,15 +6,14 @@ import { ScriptService, type Preview, Script } from '$lib/gen' import { inferArgs } from '$lib/infer' import { workspaceStore } from '$lib/stores' + import { Loader2, Save, DiffIcon } from 'lucide-svelte' import { cleanValueProperties, emptySchema, orderedJsonStringify, sendUserToast } from '$lib/utils' - import { faSave } from '@fortawesome/free-solid-svg-icons' import { cloneDeep } from 'lodash' - import { DiffIcon, Loader2 } from 'lucide-svelte' import { createEventDispatcher } from 'svelte' import { fade } from 'svelte/transition' @@ -247,8 +246,10 @@ scriptEditorDrawer.closeDrawer() }} disabled={!script} - startIcon={{ icon: faSave }}>Save + Save + diff --git a/frontend/src/lib/components/flows/header/FlowImportExportMenu.svelte b/frontend/src/lib/components/flows/header/FlowImportExportMenu.svelte index 6e6b12a87b..305e449500 100644 --- a/frontend/src/lib/components/flows/header/FlowImportExportMenu.svelte +++ b/frontend/src/lib/components/flows/header/FlowImportExportMenu.svelte @@ -1,15 +1,12 @@ - - ($selectedId = 'inputs')} - selected={$selectedId === 'inputs'} - bold - label="Flow Input" - id={'flow_input'} -> -
- -
-
diff --git a/frontend/src/lib/components/flows/map/FlowModuleSchemaItem.svelte b/frontend/src/lib/components/flows/map/FlowModuleSchemaItem.svelte index bb7885dd79..237aeeacfa 100644 --- a/frontend/src/lib/components/flows/map/FlowModuleSchemaItem.svelte +++ b/frontend/src/lib/components/flows/map/FlowModuleSchemaItem.svelte @@ -50,7 +50,7 @@ style="width: 275px; height: 34px; background-color: {bgColor};" on:click > -
+
{#if retry}
import { Menu } from '$lib/components/common' - import { - faCode, - faCodeBranch, - faBarsStaggered, - faBolt, - faCheck - } from '@fortawesome/free-solid-svg-icons' import { createEventDispatcher } from 'svelte' - import Icon from 'svelte-awesome' - import { Cross, Repeat, Square } from 'lucide-svelte' + import { CheckCircle2, Code, Cross, GitBranch, Repeat, Square, Zap } from 'lucide-svelte' import StepGen from '$lib/components/copilot/StepGen.svelte' import type { FlowModule } from '$lib/gen' + import BarsStaggered from '$lib/components/icons/BarsStaggered.svelte' const dispatch = createEventDispatcher() export let trigger = false @@ -50,7 +43,7 @@ {#if funcDesc.length === 0}
{#if trigger} {/if} {#if stop} diff --git a/frontend/src/lib/components/flows/map/InsertTriggerButton.svelte b/frontend/src/lib/components/flows/map/InsertTriggerButton.svelte index 4e180c4e3a..88b3593f2f 100644 --- a/frontend/src/lib/components/flows/map/InsertTriggerButton.svelte +++ b/frontend/src/lib/components/flows/map/InsertTriggerButton.svelte @@ -1,10 +1,9 @@ - - { - dispatch('pick', { path, summary, kind }) - }} - itemName={'Script'} - extraField="summary" - {loadItems} -/> - - diff --git a/frontend/src/lib/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte b/frontend/src/lib/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte deleted file mode 100644 index 4e64c945fc..0000000000 --- a/frontend/src/lib/components/graph/svelvet/edges/views/Edges/EdgeAnchor.svelte +++ /dev/null @@ -1,14 +0,0 @@ - - - - - - - diff --git a/frontend/src/lib/components/home/FlowIcon.svelte b/frontend/src/lib/components/home/FlowIcon.svelte index c96ef31e9d..4cc4eeba1c 100644 --- a/frontend/src/lib/components/home/FlowIcon.svelte +++ b/frontend/src/lib/components/home/FlowIcon.svelte @@ -1,8 +1,7 @@ - + diff --git a/frontend/src/lib/components/icons/BarsStaggered.svelte b/frontend/src/lib/components/icons/BarsStaggered.svelte new file mode 100644 index 0000000000..1a7745e914 --- /dev/null +++ b/frontend/src/lib/components/icons/BarsStaggered.svelte @@ -0,0 +1,20 @@ + + + + + + diff --git a/frontend/src/lib/components/icons/HatIcon.svelte b/frontend/src/lib/components/icons/HatIcon.svelte deleted file mode 100644 index a954d8e486..0000000000 --- a/frontend/src/lib/components/icons/HatIcon.svelte +++ /dev/null @@ -1,20 +0,0 @@ - - - - diff --git a/frontend/src/lib/components/icons/brands/Discord.svelte b/frontend/src/lib/components/icons/brands/Discord.svelte new file mode 100644 index 0000000000..9321bf89f9 --- /dev/null +++ b/frontend/src/lib/components/icons/brands/Discord.svelte @@ -0,0 +1,20 @@ + + + + + + diff --git a/frontend/src/lib/components/icons/brands/Github.svelte b/frontend/src/lib/components/icons/brands/Github.svelte new file mode 100644 index 0000000000..11d9833e0c --- /dev/null +++ b/frontend/src/lib/components/icons/brands/Github.svelte @@ -0,0 +1,20 @@ + + + + + + diff --git a/frontend/src/lib/components/icons/brands/Gitlab.svelte b/frontend/src/lib/components/icons/brands/Gitlab.svelte new file mode 100644 index 0000000000..27f2966a2f --- /dev/null +++ b/frontend/src/lib/components/icons/brands/Gitlab.svelte @@ -0,0 +1,20 @@ + + + + + + diff --git a/frontend/src/lib/components/icons/brands/Google.svelte b/frontend/src/lib/components/icons/brands/Google.svelte new file mode 100644 index 0000000000..d348cfa47a --- /dev/null +++ b/frontend/src/lib/components/icons/brands/Google.svelte @@ -0,0 +1,20 @@ + + + + + + diff --git a/frontend/src/lib/components/icons/brands/Microsoft.svelte b/frontend/src/lib/components/icons/brands/Microsoft.svelte new file mode 100644 index 0000000000..3a49e5e91a --- /dev/null +++ b/frontend/src/lib/components/icons/brands/Microsoft.svelte @@ -0,0 +1,20 @@ + + + + > + + diff --git a/frontend/src/lib/components/jobs/JobDetail.svelte b/frontend/src/lib/components/jobs/JobDetail.svelte deleted file mode 100644 index 8a8e558761..0000000000 --- a/frontend/src/lib/components/jobs/JobDetail.svelte +++ /dev/null @@ -1,217 +0,0 @@ - - - goto('/schedules')} bind:this={scheduleEditor} /> - -
-
-
-
- {#if job === undefined} - No job found - {:else} -
- {#if 'success' in job && job.success} - {#if job.is_skipped} - - {:else} - - {/if} - {:else if 'success' in job} - - {:else if 'running' in job && job.running} - - {:else if job && 'running' in job && job.scheduled_for && forLater(job.scheduled_for)} - - {:else} - - {/if} -
- -
- -
- {#if job.script_path} - {job.script_path} - {:else if 'job_kind' in job && job.job_kind == 'preview'} - Preview without path - {:else if 'job_kind' in job && job.job_kind == 'dependencies'} - lock deps of {truncateHash(job.script_hash ?? '')} - {:else if 'job_kind' in job && job.job_kind == 'identity'} - no op - {/if} - -
-
-
- {#if 'job_kind' in job}{job.job_kind} - {/if} - {#if job.is_flow_step && (job.job_kind == 'script' || job.job_kind == 'preview')} - flow step - {/if} -
-
- {/if} -
-
- {truncateRev(job.id, 8, '')} -
-
-
-
-
- - By {job.created_by} -
- {#if job && 'duration_ms' in job && job.duration_ms != undefined} - - {/if} -
-
- {#if 'started_at' in job && job.started_at} -
- - - {#if job?.['duration_ms']} - Ended - {:else} - Started - {/if} -
- {/if} - {#if 'scheduled_for' in job && !job.running && job.scheduled_for && forLater(job.scheduled_for)} -
- - - Scheduled - for {displayDate(job.scheduled_for ?? '')} - -
- {:else if 'scheduled_for' in job && !job.running} -
- - Waiting for an executor - -
- {/if} -
- {#if job && job.parent_job} - {#if job.is_flow_step} - - Step of flow {truncateRev(job.parent_job, 6)} - {:else} - - Parent {job.parent_job} - {/if} - {:else if job && job.schedule_path} - - Schedule - {/if} -
-
-
-
-
diff --git a/frontend/src/lib/components/runs/MobileFilters.svelte b/frontend/src/lib/components/runs/MobileFilters.svelte index 1c8dc264e4..af581d374a 100644 --- a/frontend/src/lib/components/runs/MobileFilters.svelte +++ b/frontend/src/lib/components/runs/MobileFilters.svelte @@ -8,11 +8,8 @@ containerClasses="border rounded-lg shadow-lg p-4 bg-surface" > -
diff --git a/frontend/src/lib/components/runs/RunRow.svelte b/frontend/src/lib/components/runs/RunRow.svelte index b0da2cf2a0..168f5c85b8 100644 --- a/frontend/src/lib/components/runs/RunRow.svelte +++ b/frontend/src/lib/components/runs/RunRow.svelte @@ -2,12 +2,12 @@ import { goto } from '$app/navigation' import type { Job } from '$lib/gen' import { displayDate, msToSec, truncateHash, truncateRev } from '$lib/utils' - import { faRobot, faBarsStaggered } from '@fortawesome/free-solid-svg-icons' - import Icon from 'svelte-awesome' import { Badge, Button } from '../common' import ScheduleEditor from '../ScheduleEditor.svelte' + import BarsStaggered from '$lib/components/icons/BarsStaggered.svelte' import { + Bot, Calendar, Check, FastForward, @@ -24,7 +24,6 @@ import Portal from 'svelte-portal' const dispatch = createEventDispatcher() - const SMALL_ICON_SCALE = 0.7 export let job: Job export let selectedId: string | undefined = undefined @@ -169,7 +168,7 @@ {#if job && job.parent_job} {#if job.is_flow_step} {:else}
@@ -208,11 +208,14 @@ let:close > -
diff --git a/frontend/src/lib/components/scriptEditor/LogPanel.svelte b/frontend/src/lib/components/scriptEditor/LogPanel.svelte index 9271c71246..db5aebff14 100644 --- a/frontend/src/lib/components/scriptEditor/LogPanel.svelte +++ b/frontend/src/lib/components/scriptEditor/LogPanel.svelte @@ -2,9 +2,6 @@ import { CompletedJob, Job, JobService, Preview } from '$lib/gen' import { workspaceStore } from '$lib/stores' import { displayDate } from '$lib/utils' - import { faTimes } from '@fortawesome/free-solid-svg-icons' - import Icon from 'svelte-awesome' - import { check } from 'svelte-awesome/icons' import Tabs from '../common/tabs/Tabs.svelte' import Tab from '../common/tabs/Tab.svelte' import TabContent from '../common/tabs/TabContent.svelte' @@ -16,7 +13,7 @@ import LogViewer from '../LogViewer.svelte' import { Pane, Splitpanes } from 'svelte-splitpanes' import SplitPanesWrapper from '../splitPanes/SplitPanesWrapper.svelte' - import { Loader2 } from 'lucide-svelte' + import { CheckCircle2, Loader2, XCircle } from 'lucide-svelte' import type Editor from '../Editor.svelte' import type DiffEditor from '../DiffEditor.svelte' import ScriptFix from '../copilot/ScriptFix.svelte' @@ -151,14 +148,13 @@ {displayDate(created_at)} {#if success} - + {:else} - + {/if} - { openDrawer({ mode: 'json', content: undefined, title: 'Result' }) @@ -171,11 +167,10 @@ }} > See Result - + - { const code = ( @@ -193,11 +188,10 @@ }} > View code - + - { const logs = ( @@ -210,7 +204,7 @@ }} > View logs - + {/each} diff --git a/frontend/src/lib/components/scripts/CreateActionsScript.svelte b/frontend/src/lib/components/scripts/CreateActionsScript.svelte index c07c8d9fee..59db44e2f5 100644 --- a/frontend/src/lib/components/scripts/CreateActionsScript.svelte +++ b/frontend/src/lib/components/scripts/CreateActionsScript.svelte @@ -1,13 +1,11 @@
-
diff --git a/frontend/src/lib/components/settings/PremiumInfo.svelte b/frontend/src/lib/components/settings/PremiumInfo.svelte index 0ec70a54a6..d48b076c65 100644 --- a/frontend/src/lib/components/settings/PremiumInfo.svelte +++ b/frontend/src/lib/components/settings/PremiumInfo.svelte @@ -1,13 +1,12 @@ @@ -36,17 +33,6 @@ 'transition-all' )} /> - {:else if faIcon} - {/if} {#if !isCollapsed} diff --git a/frontend/src/lib/components/sidebar/MenuLink.svelte b/frontend/src/lib/components/sidebar/MenuLink.svelte index 88acc0b8d4..1d77ec540e 100644 --- a/frontend/src/lib/components/sidebar/MenuLink.svelte +++ b/frontend/src/lib/components/sidebar/MenuLink.svelte @@ -1,8 +1,6 @@