n8n-editor-ui 1.77.3 → 1.78.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-C9LVFaJT.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-eVUE5od5.js} +1 -1
  2. package/dist/assets/{AuthView-C383xWYW.js → AuthView-D1tEXMXA.js} +2 -2
  3. package/dist/assets/{CanvasChat-BGlghV3T.js → CanvasChat-BLb-TUbz.js} +4 -4
  4. package/dist/assets/{CanvasControls-Crujpx17.js → CanvasControls-BN3S3-fQ.js} +1 -1
  5. package/dist/assets/{ChangePasswordView-DXzIgEaK.js → ChangePasswordView-V1JTrEew.js} +3 -3
  6. package/dist/assets/CollectionParameter-C28x26Fy.js +4 -0
  7. package/dist/assets/{ConcurrentExecutionsHeader-D9E-tPI2.js → ConcurrentExecutionsHeader-BNA8q-8c.js} +2 -2
  8. package/dist/assets/{CredentialsView-Db-yh1UW.js → CredentialsView-AQksN2m1.js} +4 -4
  9. package/dist/assets/{ErrorView-DVEUcXeM.js → ErrorView-CLT4S_BD.js} +1 -1
  10. package/dist/assets/{ExecutionsView-CqcJ1jBb.js → ExecutionsView-qI0J-9KP.js} +5 -5
  11. package/dist/assets/{FileSaver.min-DRMcruyG.js → FileSaver.min-B-zoCBIE.js} +1 -1
  12. package/dist/assets/{FixedCollectionParameter-rnJQitY7.js → FixedCollectionParameter-DQeeV-mE.js} +1 -1
  13. package/dist/assets/{ForgotMyPasswordView-CCuBQ23v.js → ForgotMyPasswordView-BYvqdrhp.js} +3 -3
  14. package/dist/assets/{Logo-vj6e7OLa.js → Logo-CmkNIoey.js} +1 -1
  15. package/dist/assets/{MainHeader-Bz40v4tX.js → MainHeader-rUYFpqrO.js} +9 -9
  16. package/dist/assets/{MainSidebar-7b7uQIcC.js → MainSidebar-B9_KVa79.js} +2 -2
  17. package/dist/assets/{NodeCreation-KBmCqr6_.js → NodeCreation-CWLKVrNb.js} +4 -4
  18. package/dist/assets/{NodeCreator-DTMPwVj5.js → NodeCreator-CzIIkTTW.js} +17 -6
  19. package/dist/assets/{NodeViewSwitcher-O6VqzxIl.js → NodeViewSwitcher-BUNM0KZ6.js} +61 -32
  20. package/dist/assets/{NodeViewSwitcher-DApULbEt.css → NodeViewSwitcher-Det3o0gl.css} +106 -106
  21. package/dist/assets/{ProjectCardBadge-OKM1Xgdw.js → ProjectCardBadge-BbA_Exq8.js} +1 -1
  22. package/dist/assets/{ProjectHeader-6S5uaHXh.js → ProjectHeader-DlgpDOwX.js} +1 -1
  23. package/dist/assets/{ProjectSettings-BnHtiDEV.js → ProjectSettings-DqEtmmAS.js} +2 -2
  24. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-IciN-pmV.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-DL91BcV8.js} +1 -1
  25. package/dist/assets/{ResourcesListLayout-d7mMNhOL.css → ResourcesListLayout-CvrwoZYS.css} +6 -6
  26. package/dist/assets/{ResourcesListLayout-D4r1wqjJ.js → ResourcesListLayout-D2ZxA1Uw.js} +14 -2
  27. package/dist/assets/{RunDataJson-wyo45w7C.js → RunDataJson-UkDmIQKn.js} +14 -14
  28. package/dist/assets/{RunDataJsonActions-D46WL4YN.js → RunDataJsonActions-BqDvrghZ.js} +2 -2
  29. package/dist/assets/{RunDataSearch-B3EyVssL.js → RunDataSearch-UNQ4_4vM.js} +1 -1
  30. package/dist/assets/{RunDataTable-DGMN5nF6.js → RunDataTable-BdbNPKnU.js} +2 -2
  31. package/dist/assets/{SamlOnboarding-CnXUkDfT.js → SamlOnboarding-Rzkh3AGB.js} +3 -3
  32. package/dist/assets/SettingsApiView-BB3Lm3bi.css +301 -0
  33. package/dist/assets/SettingsApiView-C27ofqQf.js +292 -0
  34. package/dist/assets/{SettingsCommunityNodesView-9KrggWFu.js → SettingsCommunityNodesView-CWp_YPSH.js} +4 -4
  35. package/dist/assets/{SettingsExternalSecrets-DBPzjP3z.js → SettingsExternalSecrets-BytZbZef.js} +1 -1
  36. package/dist/assets/{SettingsLdapView-Bg2KWXN0.js → SettingsLdapView-DvNozRM0.js} +1 -1
  37. package/dist/assets/{SettingsLogStreamingView-tgIsDBAk.js → SettingsLogStreamingView-C4Y3N6rF.js} +1 -1
  38. package/dist/assets/{SettingsPersonalView-CDJ8_Cuz.js → SettingsPersonalView--Z9y3dtC.js} +1 -1
  39. package/dist/assets/{SettingsSourceControl-ap8XMKcG.js → SettingsSourceControl-BElByx3w.js} +1 -1
  40. package/dist/assets/{SettingsSso-B91oi5bN.js → SettingsSso-DUOhZeok.js} +1 -1
  41. package/dist/assets/{SettingsUsageAndPlan-Bb6yK99X.js → SettingsUsageAndPlan-DTw2vCOM.js} +1 -1
  42. package/dist/assets/{SettingsUsersView-Ci2z6Jpz.js → SettingsUsersView-B2lC671-.js} +1 -1
  43. package/dist/assets/{SettingsView-CStRsQ-w.js → SettingsView-tGXgBeZb.js} +1 -1
  44. package/dist/assets/{SetupView-B5zAoB3c.js → SetupView-BB-PMekL.js} +3 -3
  45. package/dist/assets/{SetupWorkflowCredentialsButton-Cro6GHxL.js → SetupWorkflowCredentialsButton-B7i_jYti.js} +1 -1
  46. package/dist/assets/{SetupWorkflowFromTemplateView-CcwL92Id.js → SetupWorkflowFromTemplateView-Co52TGFE.js} +3 -3
  47. package/dist/assets/{SigninView-DsPEhU2L.js → SigninView-B8lcx39e.js} +3 -3
  48. package/dist/assets/{SignoutView-BIckw4fs.js → SignoutView-CamkX68g.js} +1 -1
  49. package/dist/assets/{SignupView-DdJWtYpI.js → SignupView-D9e7FiEj.js} +3 -3
  50. package/dist/assets/{TemplateDetails-C41VgGvk.js → TemplateDetails-C0RPBtYu.js} +1 -1
  51. package/dist/assets/{TemplateList-DkS7PdQW.js → TemplateList-B6jscn2o.js} +1 -1
  52. package/dist/assets/{TemplatesCollectionView-BV7HXuai.js → TemplatesCollectionView-9fi4vQ1-.js} +5 -5
  53. package/dist/assets/{TemplatesSearchView-BKY_Lw-C.js → TemplatesSearchView-VlRyjuTl.js} +3 -3
  54. package/dist/assets/{TemplatesView-C312c1EZ.js → TemplatesView-CgQelQ-w.js} +1 -1
  55. package/dist/assets/{TemplatesWorkflowView-BfzWwupR.js → TemplatesWorkflowView-BhhfuZZ9.js} +5 -5
  56. package/dist/assets/{TestDefinitionEditView-CwoHUF5w.js → TestDefinitionEditView-Cv4ImQQb.js} +15 -3
  57. package/dist/assets/{TestDefinitionListView-2tWTEUz0.js → TestDefinitionListView-CywmtGBZ.js} +1 -1
  58. package/dist/assets/{TestDefinitionRootView-gJRxCHz3.js → TestDefinitionRootView-BhZESeJD.js} +1 -1
  59. package/dist/assets/{VariablesView-DqbIksP3.js → VariablesView-B_Ju8Kay.js} +2 -2
  60. package/dist/assets/{WorkerView-DSPfcsXN.js → WorkerView-Lif0hJie.js} +5 -5
  61. package/dist/assets/{WorkflowActivator-Bm8OihqN.js → WorkflowActivator-Bv0WPJm3.js} +2 -2
  62. package/dist/assets/{WorkflowExecutionsInfoAccordion-B78-cQSW.js → WorkflowExecutionsInfoAccordion-DitIU6bv.js} +1 -1
  63. package/dist/assets/{WorkflowExecutionsLandingPage-C39BBF2o.js → WorkflowExecutionsLandingPage-vuyCAPrk.js} +2 -2
  64. package/dist/assets/{WorkflowExecutionsPreview-CdlK3mFb.js → WorkflowExecutionsPreview-DN_WSVD_.js} +5 -5
  65. package/dist/assets/{WorkflowExecutionsView-a-Pjy5V5.js → WorkflowExecutionsView-BhFMyj3l.js} +5 -5
  66. package/dist/assets/{WorkflowHistory-Bwqmh22i.js → WorkflowHistory-XSHcXPVZ.js} +3 -3
  67. package/dist/assets/{WorkflowOnboardingView-CipWLUUf.js → WorkflowOnboardingView-DdujIOw8.js} +1 -1
  68. package/dist/assets/{WorkflowPreview-CAjmdxrY.js → WorkflowPreview-YDi-9g3Y.js} +1 -1
  69. package/dist/assets/{WorkflowsView-DP6J_TRf.js → WorkflowsView-BLTTQnV3.js} +7 -7
  70. package/dist/assets/{easyAiWorkflowUtils-BLdDr_bc.js → easyAiWorkflowUtils-WSNP3eeS.js} +1 -1
  71. package/dist/assets/{index-DablXALM.js → index-BwoviwZU.js} +5327 -3598
  72. package/dist/assets/{index-Bs_8II2j.css → index-DFFkAkMx.css} +1162 -532
  73. package/dist/assets/{polyfills-DfOJfMlf.js → polyfills-C7eMRNFe.js} +92 -39
  74. package/dist/assets/{pushConnection.store-DmLr_C_P.js → pushConnection.store-BlMyXexG.js} +1 -1
  75. package/dist/assets/{templateActions--1waaCku.js → templateActions-CDiqnge9.js} +1 -1
  76. package/dist/assets/{useBeforeUnload-C9Q3IFHU.js → useBeforeUnload-BQCxN-bM.js} +1 -1
  77. package/dist/assets/{useCanvasOperations-CEWecDkR.css → useCanvasOperations-CKa4_bqL.css} +4 -4
  78. package/dist/assets/{useCanvasOperations-CEPzjX8I.js → useCanvasOperations-DQSiUE8i.js} +96 -62
  79. package/dist/assets/{useExecutionDebugging-Pzj1BQ1f.js → useExecutionDebugging-BlSzHQ7f.js} +1 -1
  80. package/dist/assets/{useExecutionHelpers-F_WL-Kvp.js → useExecutionHelpers-DpNwTiuj.js} +1 -1
  81. package/dist/assets/{usePinnedData-BEOJK2e-.js → usePinnedData-E0jv55-6.js} +1 -1
  82. package/dist/assets/{usePushConnection-BlvBVLFC.js → usePushConnection-ioPocbvz.js} +3 -3
  83. package/dist/assets/{useRunWorkflow-CoRVHZg2.js → useRunWorkflow-B-O5w0ED.js} +8 -5
  84. package/dist/assets/{useWorkflowActivate-wvqU9rPU.js → useWorkflowActivate-CbVB4JlR.js} +1 -1
  85. package/dist/index.html +3 -3
  86. package/dist/static/og_image.png +0 -0
  87. package/package.json +1 -1
  88. package/tsconfig.json +10 -13
  89. package/vite.config.mts +6 -2
  90. package/dist/assets/CollectionParameter-C_1RVSJv.js +0 -4
  91. package/dist/assets/SettingsApiView-DJKJO7zM.css +0 -145
  92. package/dist/assets/SettingsApiView-EFylgnqH.js +0 -227
@@ -1,6 +1,6 @@
1
- import { ce as getDefaultExportFromCjs, d as defineComponent, b6 as useClipboard, a as useToast, eS as useAIAssistantHelpers, bo as useNodeTypesStore, as as useNDVStore, Z as useRootStore, eT as useAssistantStore, K as useUIStore, q as computed, c as openBlock, h as createElementBlock, j as createBaseVNode, t as toDisplayString, ax as withDirectives, f as createCommentVNode, i as createVNode, l as unref, eU as InlineAskAssistantButton, w as withCtx, k as createTextVNode, F as Fragment, A as renderList, g as useI18n, cn as MAX_DISPLAY_DATA_SIZE, bs as isCommunityPackageName, eV as NEW_ASSISTANT_SESSION_MODAL, m as resolveComponent, cO as resolveDirective, eW as sanitizeHtml, bh as NodeConnectionType, eX as isObjectEmpty, r as ref, o as onMounted, n as normalizeClass, e as createBlock, b1 as VueMarkdown, _ as _export_sfc, T as useWorkflowsStore, br as _sfc_main$4, I as withModifiers, H as watch, B as normalizeStyle, eY as ElTree, bp as useNodeHelpers, a4 as useWorkflowHelpers, at as useExecutionsStore, b7 as CHAT_TRIGGER_NODE_TYPE, bj as get, eZ as SINGLE_WEBHOOK_TRIGGERS, av as useLocalStorage, e_ as displayForm, aT as useExternalHooks, cG as isEmpty } from "./index-DablXALM.js";
2
- import { c as capitalize } from "./usePinnedData-BEOJK2e-.js";
3
- import { u as useExecutionHelpers } from "./useExecutionHelpers-F_WL-Kvp.js";
1
+ import { ce as getDefaultExportFromCjs, d as defineComponent, b6 as useClipboard, a as useToast, eW as useAIAssistantHelpers, bo as useNodeTypesStore, as as useNDVStore, Z as useRootStore, eX as useAssistantStore, K as useUIStore, q as computed, c as openBlock, h as createElementBlock, j as createBaseVNode, t as toDisplayString, ax as withDirectives, f as createCommentVNode, i as createVNode, l as unref, eY as InlineAskAssistantButton, w as withCtx, k as createTextVNode, F as Fragment, A as renderList, g as useI18n, cp as MAX_DISPLAY_DATA_SIZE, bs as isCommunityPackageName, eZ as NEW_ASSISTANT_SESSION_MODAL, m as resolveComponent, cT as resolveDirective, e_ as sanitizeHtml, bh as NodeConnectionType, e$ as isObjectEmpty, r as ref, o as onMounted, n as normalizeClass, e as createBlock, b1 as VueMarkdown, _ as _export_sfc, T as useWorkflowsStore, br as _sfc_main$4, I as withModifiers, H as watch, B as normalizeStyle, f0 as ElTree, bp as useNodeHelpers, a4 as useWorkflowHelpers, at as useExecutionsStore, b7 as CHAT_TRIGGER_NODE_TYPE, bj as get, f1 as SINGLE_WEBHOOK_TRIGGERS, p as useSettingsStore, f2 as displayForm, aT as useExternalHooks, cL as isEmpty } from "./index-BwoviwZU.js";
2
+ import { c as capitalize } from "./usePinnedData-E0jv55-6.js";
3
+ import { u as useExecutionHelpers } from "./useExecutionHelpers-DpNwTiuj.js";
4
4
  var core;
5
5
  var hasRequiredCore;
6
6
  function requireCore() {
@@ -3171,14 +3171,17 @@ function useRunWorkflow(useRunWorkflowOpts) {
3171
3171
  });
3172
3172
  return void 0;
3173
3173
  }
3174
- const partialExecutionVersion = useLocalStorage("PartialExecution.version", -1);
3175
3174
  const isPartialExecution = options.destinationNode !== void 0;
3175
+ const settingsStore = useSettingsStore();
3176
+ const version = settingsStore.partialExecutionVersion;
3176
3177
  const startRunData = {
3177
3178
  workflowData,
3179
+ // With the new partial execution version the backend decides what run
3180
+ // data to use and what to ignore.
3178
3181
  runData: !isPartialExecution ? (
3179
3182
  // if it's a full execution we don't want to send any run data
3180
3183
  void 0
3181
- ) : partialExecutionVersion.value === 1 ? (
3184
+ ) : version === 2 ? (
3182
3185
  // With the new partial execution version the backend decides
3183
3186
  //what run data to use and what to ignore.
3184
3187
  runData2 ?? void 0
@@ -1,4 +1,4 @@
1
- import { r as ref, b as useRouter, a4 as useWorkflowHelpers, T as useWorkflowsStore, K as useUIStore, a as useToast, a2 as useNpsSurveyStore, X as PLACEHOLDER_EMPTY_WORKFLOW_ID, aT as useExternalHooks, aI as useStorage, gb as LOCAL_STORAGE_ACTIVATION_FLAG, gc as WORKFLOW_ACTIVE_MODAL_KEY, aj as useTelemetry, g as useI18n } from "./index-DablXALM.js";
1
+ import { r as ref, b as useRouter, a4 as useWorkflowHelpers, T as useWorkflowsStore, K as useUIStore, a as useToast, a2 as useNpsSurveyStore, X as PLACEHOLDER_EMPTY_WORKFLOW_ID, aT as useExternalHooks, aI as useStorage, gg as LOCAL_STORAGE_ACTIVATION_FLAG, gh as WORKFLOW_ACTIVE_MODAL_KEY, aj as useTelemetry, g as useI18n } from "./index-BwoviwZU.js";
2
2
  function useWorkflowActivate() {
3
3
  const updatingWorkflowActivation = ref(false);
4
4
  const router = useRouter();
package/dist/index.html CHANGED
@@ -1,7 +1,7 @@
1
1
  <!DOCTYPE html>
2
2
  <html lang="en">
3
3
  <head>
4
- <script type="module" crossorigin src="/{{BASE_PATH}}/assets/polyfills-DfOJfMlf.js"></script>
4
+ <script type="module" crossorigin src="/{{BASE_PATH}}/assets/polyfills-C7eMRNFe.js"></script>
5
5
 
6
6
  <meta charset="utf-8" />
7
7
  <meta http-equiv="X-UA-Compatible" content="IE=edge" />
@@ -16,8 +16,8 @@
16
16
  <script>!function(t,e){var o,n,p,r;e.__SV||(window.posthog=e,e._i=[],e.init=function(i,s,a){function g(t,e){var o=e.split(".");2==o.length&&(t=t[o[0]],e=o[1]),t[e]=function(){t.push([e].concat(Array.prototype.slice.call(arguments,0)))}}(p=t.createElement("script")).type="text/javascript",p.async=!0,p.src=s.api_host+"/static/array.js",(r=t.getElementsByTagName("script")[0]).parentNode.insertBefore(p,r);var u=e;for(void 0!==a?u=e[a]=[]:a="posthog",u.people=u.people||[],u.toString=function(t){var e="posthog";return"posthog"!==a&&(e+="."+a),t||(e+=" (stub)"),e},u.people.toString=function(){return u.toString(1)+".people (stub)"},o="capture identify alias people.set people.set_once set_config register register_once unregister opt_out_capturing has_opted_out_capturing opt_in_capturing reset isFeatureEnabled getFeatureFlag onFeatureFlags reloadFeatureFlags".split(" "),n=0;n<o.length;n++)g(u,o[n]);e._i.push([i,s,a])},e.__SV=1)}(document,window.posthog||[])</script>
17
17
 
18
18
  <title>n8n.io - Workflow Automation</title>
19
- <script type="module" crossorigin src="/{{BASE_PATH}}/assets/index-DablXALM.js"></script>
20
- <link rel="stylesheet" crossorigin href="/{{BASE_PATH}}/assets/index-Bs_8II2j.css">
19
+ <script type="module" crossorigin src="/{{BASE_PATH}}/assets/index-BwoviwZU.js"></script>
20
+ <link rel="stylesheet" crossorigin href="/{{BASE_PATH}}/assets/index-DFFkAkMx.css">
21
21
  </head>
22
22
  <body>
23
23
  <noscript>
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-editor-ui",
3
- "version": "1.77.3",
3
+ "version": "1.78.0",
4
4
  "description": "Workflow Editor UI for n8n",
5
5
  "main": "index.js",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
package/tsconfig.json CHANGED
@@ -1,16 +1,14 @@
1
1
  {
2
- "extends": "../../tsconfig.json",
2
+ "extends": "@n8n/frontend-typescript-config",
3
3
  "compilerOptions": {
4
- "rootDirs": [".", "../design-system/src", "../@n8n/chat/src"],
5
- "outDir": "dist",
6
- "target": "esnext",
7
- "module": "esnext",
8
- "allowJs": true,
9
- "importHelpers": true,
10
- "incremental": false,
11
- "allowSyntheticDefaultImports": true,
12
- "resolveJsonModule": true,
13
4
  "baseUrl": ".",
5
+ "rootDirs": [
6
+ ".",
7
+ "../../frontend/@n8n/composables/src",
8
+ "../design-system/src",
9
+ "../@n8n/chat/src"
10
+ ],
11
+ "outDir": "dist",
14
12
  "types": [
15
13
  "vitest/globals",
16
14
  "unplugin-icons/types/vue",
@@ -18,12 +16,11 @@
18
16
  ],
19
17
  "paths": {
20
18
  "@/*": ["./src/*"],
21
- "n8n-design-system": ["../design-system/src/main.ts"],
22
- "n8n-design-system/*": ["../design-system/src/*"],
19
+ "n8n-design-system*": ["../design-system/src*"],
20
+ "@n8n/composables*": ["../frontend/@n8n/composables/src*"],
23
21
  "@n8n/chat/*": ["../@n8n/chat/src/*"],
24
22
  "@n8n/api-types*": ["../@n8n/api-types/src*"]
25
23
  },
26
- "lib": ["esnext", "dom", "dom.iterable", "scripthost"],
27
24
  // TODO: remove all options below this line
28
25
  "useUnknownInCatchVariables": false
29
26
  },
package/vite.config.mts CHANGED
@@ -3,7 +3,7 @@ import { resolve } from 'path';
3
3
  import { defineConfig, mergeConfig } from 'vite';
4
4
  import svgLoader from 'vite-svg-loader';
5
5
 
6
- import { vitestConfig } from '../design-system/vite.config.mts';
6
+ import { vitestConfig } from '@n8n/frontend-vitest-config';
7
7
  import icons from 'unplugin-icons/vite';
8
8
  import iconsResolver from 'unplugin-icons/resolver';
9
9
  import components from 'unplugin-vue-components/vite';
@@ -22,7 +22,7 @@ const alias = [
22
22
  { find: 'stream', replacement: 'stream-browserify' },
23
23
  {
24
24
  find: /^n8n-design-system$/,
25
- replacement: resolve(__dirname, '..', 'design-system', 'src', 'main.ts'),
25
+ replacement: resolve(__dirname, '..', 'design-system', 'src', 'index.ts'),
26
26
  },
27
27
  {
28
28
  find: /^n8n-design-system\//,
@@ -36,6 +36,10 @@ const alias = [
36
36
  find: /^@n8n\/chat\//,
37
37
  replacement: resolve(__dirname, '..', '@n8n', 'chat', 'src') + '/',
38
38
  },
39
+ {
40
+ find: /^@n8n\/composables(.+)$/,
41
+ replacement: resolve(__dirname, '..', 'frontend', '@n8n', 'composables', 'src$1'),
42
+ },
39
43
  ...['orderBy', 'camelCase', 'cloneDeep', 'startCase'].map((name) => ({
40
44
  find: new RegExp(`^lodash.${name}$`, 'i'),
41
45
  replacement: `lodash-es/${name}`,
@@ -1,4 +0,0 @@
1
- import { ie as _sfc_main } from "./index-DablXALM.js";
2
- export {
3
- _sfc_main as default
4
- };
@@ -1,145 +0,0 @@
1
- /* BEM support Func
2
- -------------------------- */
3
- /* Transition
4
- -------------------------- */
5
- /* Color
6
- -------------------------- */
7
- /* Link
8
- -------------------------- */
9
- /* Border
10
- -------------------------- */
11
- /* Outline
12
- -------------------------- */
13
- /* Box shadow
14
- -------------------------- */
15
- /* Fill
16
- -------------------------- */
17
- /* Typography
18
- -------------------------- */
19
- /* z-index
20
- -------------------------- */
21
- /* Disable base
22
- -------------------------- */
23
- /* Icon
24
- -------------------------- */
25
- /* Checkbox
26
- -------------------------- */
27
- /* Radio
28
- -------------------------- */
29
- /* Select
30
- -------------------------- */
31
- /* Alert
32
- -------------------------- */
33
- /* MessageBox
34
- -------------------------- */
35
- /* Message
36
- -------------------------- */
37
- /* Notification
38
- -------------------------- */
39
- /* Input
40
- -------------------------- */
41
- /* Cascader
42
- -------------------------- */
43
- /* Group
44
- -------------------------- */
45
- /* Tab
46
- -------------------------- */
47
- /* Button
48
- -------------------------- */
49
- /* cascader
50
- -------------------------- */
51
- /* Switch
52
- -------------------------- */
53
- /* Dialog
54
- -------------------------- */
55
- /* Table
56
- -------------------------- */
57
- /* Pagination
58
- -------------------------- */
59
- /* Popup
60
- -------------------------- */
61
- /* Popover
62
- -------------------------- */
63
- /* Tooltip
64
- -------------------------- */
65
- /* Tag
66
- -------------------------- */
67
- /* Tree
68
- -------------------------- */
69
- /* Dropdown
70
- -------------------------- */
71
- /* Badge
72
- -------------------------- */
73
- /* Card
74
- --------------------------*/
75
- /* Slider
76
- --------------------------*/
77
- /* Steps
78
- --------------------------*/
79
- /* Menu
80
- --------------------------*/
81
- /* Rate
82
- --------------------------*/
83
- /* DatePicker
84
- --------------------------*/
85
- /* Loading
86
- --------------------------*/
87
- /* Scrollbar
88
- --------------------------*/
89
- /* Carousel
90
- --------------------------*/
91
- /* Collapse
92
- --------------------------*/
93
- /* Transfer
94
- --------------------------*/
95
- /* Header
96
- --------------------------*/
97
- /* Footer
98
- --------------------------*/
99
- /* Main
100
- --------------------------*/
101
- /* Timeline
102
- --------------------------*/
103
- /* Backtop
104
- --------------------------*/
105
- /* Link
106
- --------------------------*/
107
- /* Calendar
108
- --------------------------*/
109
- /* Form
110
- -------------------------- */
111
- /* Avatar
112
- --------------------------*/
113
- /* Break-point
114
- --------------------------*/
115
- /* Break-points
116
- -------------------------- */
117
- /* Scrollbar
118
- -------------------------- */
119
- /* Placeholder
120
- -------------------------- */
121
- /* BEM
122
- -------------------------- */
123
- ._container_10d3f_123 > * {
124
- margin-bottom: var(--spacing-2xl);
125
- }
126
- ._header_10d3f_127 {
127
- display: flex;
128
- align-items: center;
129
- white-space: nowrap;
130
- }
131
- ._header_10d3f_127 *:first-child {
132
- flex-grow: 1;
133
- }
134
- ._card_10d3f_136 {
135
- position: relative;
136
- }
137
- ._delete_10d3f_140 {
138
- position: absolute;
139
- display: inline-block;
140
- top: var(--spacing-s);
141
- right: var(--spacing-s);
142
- }
143
- ._hint_10d3f_147 {
144
- color: var(--color-text-light);
145
- }
@@ -1,227 +0,0 @@
1
- import { d as defineComponent, p as useSettingsStore, aH as useCloudPlanStore, Z as useRootStore, a as useToast, a3 as useDocumentTitle, a5 as usePageRedirectionHelper, r as ref, q as computed, o as onMounted, fo as DOCS_DOMAIN, c as openBlock, h as createElementBlock, j as createBaseVNode, i as createVNode, w as withCtx, k as createTextVNode, t as toDisplayString, l as unref, n as normalizeClass, cY as CopyInput, e as createBlock, f as createCommentVNode, g as useI18n, ae as MODAL_CONFIRM, m as resolveComponent, ak as useMessage, aj as useTelemetry, _ as _export_sfc } from "./index-DablXALM.js";
2
- const _hoisted_1 = { style: { fontSize: "var(--font-size-s)", color: "var(--color-text-light)" } };
3
- const _hoisted_2 = { key: 0 };
4
- const _hoisted_3 = { class: "mb-s" };
5
- const _hoisted_4 = ["textContent"];
6
- const _hoisted_5 = ["textContent"];
7
- const _sfc_main = /* @__PURE__ */ defineComponent({
8
- __name: "SettingsApiView",
9
- setup(__props) {
10
- const settingsStore = useSettingsStore();
11
- const cloudPlanStore = useCloudPlanStore();
12
- const { baseUrl } = useRootStore();
13
- const { showError, showMessage } = useToast();
14
- const { confirm } = useMessage();
15
- const documentTitle = useDocumentTitle();
16
- const i18n = useI18n();
17
- const { goToUpgrade } = usePageRedirectionHelper();
18
- const telemetry = useTelemetry();
19
- const loading = ref(false);
20
- const mounted = ref(false);
21
- const apiKeys = ref([]);
22
- const apiDocsURL = ref("");
23
- const { isPublicApiEnabled, isSwaggerUIEnabled, publicApiPath, publicApiLatestVersion } = settingsStore;
24
- const isRedactedApiKey = computed(() => {
25
- if (!apiKeys.value) return false;
26
- return apiKeys.value[0].apiKey.includes("*");
27
- });
28
- onMounted(() => {
29
- documentTitle.set(i18n.baseText("settings.api"));
30
- if (!isPublicApiEnabled) return;
31
- void getApiKeys();
32
- apiDocsURL.value = isSwaggerUIEnabled ? `${baseUrl}${publicApiPath}/v${publicApiLatestVersion}/docs` : `https://${DOCS_DOMAIN}/api/api-reference/`;
33
- });
34
- function onUpgrade() {
35
- void goToUpgrade("settings-n8n-api", "upgrade-api", "redirect");
36
- }
37
- async function showDeleteModal() {
38
- const confirmed = await confirm(
39
- i18n.baseText("settings.api.delete.description"),
40
- i18n.baseText("settings.api.delete.title"),
41
- {
42
- confirmButtonText: i18n.baseText("settings.api.delete.button"),
43
- cancelButtonText: i18n.baseText("generic.cancel")
44
- }
45
- );
46
- if (confirmed === MODAL_CONFIRM) {
47
- await deleteApiKey();
48
- }
49
- }
50
- async function getApiKeys() {
51
- try {
52
- apiKeys.value = await settingsStore.getApiKeys();
53
- } catch (error) {
54
- showError(error, i18n.baseText("settings.api.view.error"));
55
- } finally {
56
- mounted.value = true;
57
- }
58
- }
59
- async function createApiKey() {
60
- loading.value = true;
61
- try {
62
- const newApiKey = await settingsStore.createApiKey();
63
- apiKeys.value.push(newApiKey);
64
- } catch (error) {
65
- showError(error, i18n.baseText("settings.api.create.error"));
66
- } finally {
67
- loading.value = false;
68
- telemetry.track("User clicked create API key button");
69
- }
70
- }
71
- async function deleteApiKey() {
72
- try {
73
- await settingsStore.deleteApiKey(apiKeys.value[0].id);
74
- showMessage({
75
- title: i18n.baseText("settings.api.delete.toast"),
76
- type: "success"
77
- });
78
- apiKeys.value = [];
79
- } catch (error) {
80
- showError(error, i18n.baseText("settings.api.delete.error"));
81
- } finally {
82
- telemetry.track("User clicked delete API key button");
83
- }
84
- }
85
- function onCopy() {
86
- telemetry.track("User clicked copy API key button");
87
- }
88
- return (_ctx, _cache) => {
89
- const _component_n8n_heading = resolveComponent("n8n-heading");
90
- const _component_i18n_t = resolveComponent("i18n-t");
91
- const _component_n8n_info_tip = resolveComponent("n8n-info-tip");
92
- const _component_n8n_link = resolveComponent("n8n-link");
93
- const _component_n8n_card = resolveComponent("n8n-card");
94
- const _component_n8n_text = resolveComponent("n8n-text");
95
- const _component_n8n_action_box = resolveComponent("n8n-action-box");
96
- return openBlock(), createElementBlock("div", {
97
- class: normalizeClass(_ctx.$style.container)
98
- }, [
99
- createBaseVNode("div", {
100
- class: normalizeClass(_ctx.$style.header)
101
- }, [
102
- createVNode(_component_n8n_heading, { size: "2xlarge" }, {
103
- default: withCtx(() => [
104
- createTextVNode(toDisplayString(unref(i18n).baseText("settings.api")) + " ", 1),
105
- createBaseVNode("span", _hoisted_1, " (" + toDisplayString(unref(i18n).baseText("generic.beta")) + ") ", 1)
106
- ]),
107
- _: 1
108
- })
109
- ], 2),
110
- apiKeys.value.length ? (openBlock(), createElementBlock("div", _hoisted_2, [
111
- createBaseVNode("p", _hoisted_3, [
112
- createVNode(_component_n8n_info_tip, { bold: false }, {
113
- default: withCtx(() => [
114
- createVNode(_component_i18n_t, {
115
- keypath: "settings.api.view.info",
116
- tag: "span"
117
- }, {
118
- apiAction: withCtx(() => [
119
- createBaseVNode("a", {
120
- href: "https://docs.n8n.io/api",
121
- target: "_blank",
122
- textContent: toDisplayString(unref(i18n).baseText("settings.api.view.info.api"))
123
- }, null, 8, _hoisted_4)
124
- ]),
125
- webhookAction: withCtx(() => [
126
- createBaseVNode("a", {
127
- href: "https://docs.n8n.io/integrations/core-nodes/n8n-nodes-base.webhook/",
128
- target: "_blank",
129
- textContent: toDisplayString(unref(i18n).baseText("settings.api.view.info.webhook"))
130
- }, null, 8, _hoisted_5)
131
- ]),
132
- _: 1
133
- })
134
- ]),
135
- _: 1
136
- })
137
- ]),
138
- createVNode(_component_n8n_card, {
139
- class: normalizeClass(["mb-4xs", _ctx.$style.card])
140
- }, {
141
- default: withCtx(() => [
142
- createBaseVNode("span", {
143
- class: normalizeClass(_ctx.$style.delete)
144
- }, [
145
- createVNode(_component_n8n_link, {
146
- bold: true,
147
- onClick: showDeleteModal
148
- }, {
149
- default: withCtx(() => [
150
- createTextVNode(toDisplayString(unref(i18n).baseText("generic.delete")), 1)
151
- ]),
152
- _: 1
153
- })
154
- ], 2),
155
- createBaseVNode("div", null, [
156
- createVNode(CopyInput, {
157
- label: apiKeys.value[0].label,
158
- value: apiKeys.value[0].apiKey,
159
- "copy-button-text": unref(i18n).baseText("generic.clickToCopy"),
160
- "toast-title": unref(i18n).baseText("settings.api.view.copy.toast"),
161
- "redact-value": true,
162
- "disable-copy": isRedactedApiKey.value,
163
- hint: !isRedactedApiKey.value ? unref(i18n).baseText("settings.api.view.copy") : "",
164
- onCopy
165
- }, null, 8, ["label", "value", "copy-button-text", "toast-title", "disable-copy", "hint"])
166
- ])
167
- ]),
168
- _: 1
169
- }, 8, ["class"]),
170
- createBaseVNode("div", {
171
- class: normalizeClass(_ctx.$style.hint)
172
- }, [
173
- createVNode(_component_n8n_text, { size: "small" }, {
174
- default: withCtx(() => [
175
- createTextVNode(toDisplayString(unref(i18n).baseText(`settings.api.view.${unref(isSwaggerUIEnabled) ? "tryapi" : "more-details"}`)), 1)
176
- ]),
177
- _: 1
178
- }),
179
- _cache[0] || (_cache[0] = createTextVNode(" " + toDisplayString(" ") + " ")),
180
- createVNode(_component_n8n_link, {
181
- to: apiDocsURL.value,
182
- "new-window": true,
183
- size: "small"
184
- }, {
185
- default: withCtx(() => [
186
- createTextVNode(toDisplayString(unref(i18n).baseText(
187
- `settings.api.view.${unref(isSwaggerUIEnabled) ? "apiPlayground" : "external-docs"}`
188
- )), 1)
189
- ]),
190
- _: 1
191
- }, 8, ["to"])
192
- ], 2)
193
- ])) : !unref(isPublicApiEnabled) && unref(cloudPlanStore).userIsTrialing ? (openBlock(), createBlock(_component_n8n_action_box, {
194
- key: 1,
195
- "data-test-id": "public-api-upgrade-cta",
196
- heading: unref(i18n).baseText("settings.api.trial.upgradePlan.title"),
197
- description: unref(i18n).baseText("settings.api.trial.upgradePlan.description"),
198
- "button-text": unref(i18n).baseText("settings.api.trial.upgradePlan.cta"),
199
- "onClick:button": onUpgrade
200
- }, null, 8, ["heading", "description", "button-text"])) : mounted.value && !unref(cloudPlanStore).state.loadingPlan ? (openBlock(), createBlock(_component_n8n_action_box, {
201
- key: 2,
202
- "button-text": unref(i18n).baseText(loading.value ? "settings.api.create.button.loading" : "settings.api.create.button"),
203
- description: unref(i18n).baseText("settings.api.create.description"),
204
- "onClick:button": createApiKey
205
- }, null, 8, ["button-text", "description"])) : createCommentVNode("", true)
206
- ], 2);
207
- };
208
- }
209
- });
210
- const container = "_container_10d3f_123";
211
- const header = "_header_10d3f_127";
212
- const card = "_card_10d3f_136";
213
- const hint = "_hint_10d3f_147";
214
- const style0 = {
215
- container,
216
- header,
217
- card,
218
- "delete": "_delete_10d3f_140",
219
- hint
220
- };
221
- const cssModules = {
222
- "$style": style0
223
- };
224
- const SettingsApiView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
225
- export {
226
- SettingsApiView as default
227
- };