n8n-editor-ui 1.50.1 → 1.51.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 (106) hide show
  1. package/dist/assets/@vue-flow/{background-D_Un7DUl.js → background-Dvxud2mg.js} +2 -2
  2. package/dist/assets/@vue-flow/{controls-BwRI_oge.js → controls-C3soidEc.js} +2 -2
  3. package/dist/assets/@vue-flow/{core-OODHovzO.js → core-CjwW6FwV.js} +10 -7
  4. package/dist/assets/@vue-flow/{minimap-BK2HcOSp.js → minimap-Bdd7TR2F.js} +2 -2
  5. package/dist/assets/@vue-flow/node-resizer-B3B5vubL.js +1398 -0
  6. package/dist/assets/@vueuse/{core-cLiG7CtG.js → core-DjbzQ1zB.js} +1 -1
  7. package/dist/assets/{AuthView-NPXyhQ04.js → AuthView-D4AY2lG5.js} +4 -4
  8. package/dist/assets/{CanvasControls-Bmnvf4vT.js → CanvasControls-CfTh2Ydp.js} +9 -9
  9. package/dist/assets/{ChangePasswordView-CFSWYEif.js → ChangePasswordView-D6il8yDq.js} +10 -10
  10. package/dist/assets/{CredentialsView-CF6uFEW5.js → CredentialsView-aMWz0C3L.js} +12 -12
  11. package/dist/assets/{ErrorView-DPsVkJVV.js → ErrorView-7hKlN5Su.js} +9 -9
  12. package/dist/assets/{ExecutionsFilter-N0goSbF_.js → ExecutionsFilter-y_Gmk-5v.js} +35 -38
  13. package/dist/assets/{ExecutionsView-CKI8yXtW.js → ExecutionsView-oios3cTt.js} +13 -13
  14. package/dist/assets/{FixedCollectionParameter-C5RRl4SC.js → FixedCollectionParameter-D8PZsjZ7.js} +3 -3
  15. package/dist/assets/{ForgotMyPasswordView-DcgFuuov.js → ForgotMyPasswordView-CS5TJm_8.js} +10 -10
  16. package/dist/assets/{MainHeader-Bm8sne2Y.js → MainHeader-B5fmiuFU.js} +37 -37
  17. package/dist/assets/{MainSidebar-C74jOq6w.js → MainSidebar-DPoI02fO.js} +10 -10
  18. package/dist/assets/{NodeCreation-CrwPVpRY.js → NodeCreation-9z7kz5cV.js} +6 -6
  19. package/dist/assets/{NodeCreator-cioFSjj3.css → NodeCreator-Bz15fuWb.css} +4 -4
  20. package/dist/assets/{NodeCreator-f5rD9UOk.js → NodeCreator-E5ds8YA5.js} +26 -27
  21. package/dist/assets/{NodeViewSwitcher-BxGNumHE.js → NodeViewSwitcher-DKnME7-U.js} +1333 -812
  22. package/dist/assets/{NodeViewSwitcher-BCjS1poa.css → NodeViewSwitcher-IiB9O97Y.css} +120 -60
  23. package/dist/assets/{ProjectCardBadge-9o9BpFzq.js → ProjectCardBadge-CyR5DZvm.js} +2 -2
  24. package/dist/assets/{ProjectSettings-CUrNIgVP.js → ProjectSettings-DHWMZyem.js} +10 -10
  25. package/dist/assets/{ProjectTabs-DDim2e9m.js → ProjectTabs-CACEEWLe.js} +3 -3
  26. package/dist/assets/{PushConnectionTracker-BvZ7CAXm.js → PushConnectionTracker-DqfHYTh2.js} +4 -4
  27. package/dist/assets/{ResourcesListLayout-DPjRJEox.js → ResourcesListLayout-CTRUR5-L.js} +4 -4
  28. package/dist/assets/{RunDataAi-DzAt1rcb.js → RunDataAi-CujvnObq.js} +9 -9
  29. package/dist/assets/{RunDataJson-BXp8Y-Qd.js → RunDataJson-CIbPVd1F.js} +25 -24
  30. package/dist/assets/{RunDataJsonActions-Dykt_Dy4.js → RunDataJsonActions-DgL-lMzr.js} +10 -10
  31. package/dist/assets/{RunDataSchema-C9GYNV7f.js → RunDataSchema-DMZuyqVF.js} +70 -53
  32. package/dist/assets/{RunDataSchema-DTbSxIk6.css → RunDataSchema-ECZtkGiE.css} +32 -32
  33. package/dist/assets/{RunDataSearch-Bph2msoS.js → RunDataSearch-D0zXe7Il.js} +9 -9
  34. package/dist/assets/{RunDataTable-CstQyw3r.js → RunDataTable-BDZKz7Ur.js} +23 -22
  35. package/dist/assets/{SamlOnboarding-B5hJw1Aa.js → SamlOnboarding-P3os3TUc.js} +10 -10
  36. package/dist/assets/{SettingsApiView-DVE44NyJ.js → SettingsApiView-BHHZACtD.js} +9 -9
  37. package/dist/assets/{SettingsCommunityNodesView-Dut2ga_U.js → SettingsCommunityNodesView-kGfd429d.js} +11 -11
  38. package/dist/assets/{SettingsExternalSecrets-DnPmv4pg.js → SettingsExternalSecrets-CxVm3gdj.js} +9 -9
  39. package/dist/assets/{SettingsFakeDoorView-B69aNQkj.js → SettingsFakeDoorView-sg4W02we.js} +9 -9
  40. package/dist/assets/{SettingsLdapView-BgzOHU1J.js → SettingsLdapView-DBjl2l35.js} +11 -11
  41. package/dist/assets/{SettingsLogStreamingView-CAGPwvdZ.js → SettingsLogStreamingView-DC1Vt1xr.js} +9 -9
  42. package/dist/assets/SettingsPersonalView-DaiUtCj1.js +402 -0
  43. package/dist/assets/{SettingsSourceControl-Bn6pqyHP.js → SettingsSourceControl-D1vzkxWU.js} +9 -9
  44. package/dist/assets/{SettingsSso-CFbH3a7e.js → SettingsSso-D149aJS_.js} +9 -9
  45. package/dist/assets/{SettingsUsageAndPlan-DErz0itC.js → SettingsUsageAndPlan-BZ6FL9zH.js} +9 -9
  46. package/dist/assets/SettingsUsersView-DpPldpCU.js +353 -0
  47. package/dist/assets/{SettingsView-BnnM3TRB.js → SettingsView-7POFD9hj.js} +10 -10
  48. package/dist/assets/{SetupView-Co8ePnBz.js → SetupView-BdzoKioo.js} +10 -10
  49. package/dist/assets/{SetupWorkflowCredentialsButton-D7cA15dg.js → SetupWorkflowCredentialsButton-DT4ZQ6H3.js} +10 -10
  50. package/dist/assets/{SetupWorkflowFromTemplateView-pysrAaVv.js → SetupWorkflowFromTemplateView-5dhEbEa9.js} +11 -11
  51. package/dist/assets/{SigninView-CQIBjgT6.js → SigninView-D_x6a4uq.js} +10 -10
  52. package/dist/assets/{SignoutView-CgPwfRpi.js → SignoutView-XPcJ9Rfb.js} +9 -9
  53. package/dist/assets/{SignupView-TwF8jxDQ.js → SignupView-CR5gvKxn.js} +10 -10
  54. package/dist/assets/{TemplateDetails-1vYgLxrR.js → TemplateDetails-C9Ekw9lR.js} +36 -36
  55. package/dist/assets/{TemplateList-78I0jVwU.js → TemplateList-Cp9pj-6d.js} +3 -3
  56. package/dist/assets/{TemplatesCollectionView-C83jU3Lv.js → TemplatesCollectionView-DZAXCw6p.js} +13 -13
  57. package/dist/assets/{TemplatesSearchView-BUapVCv8.js → TemplatesSearchView-CxakoRrB.js} +54 -56
  58. package/dist/assets/{TemplatesView-BgH_DA12.js → TemplatesView-C-YJ-BC4.js} +27 -37
  59. package/dist/assets/{TemplatesWorkflowView-X30la4yU.js → TemplatesWorkflowView-DETA5Cj8.js} +13 -13
  60. package/dist/assets/{TextWithHighlights-D4eF9kOt.js → TextWithHighlights-D2q_A9ZR.js} +2 -2
  61. package/dist/assets/{VariablesView-D2_0swdy.js → VariablesView-WJWXH8Ir.js} +10 -10
  62. package/dist/assets/{WorkerView-DNIMdbAK.js → WorkerView-wIvLi07W.js} +13 -13
  63. package/dist/assets/WorkflowActivator-DkN3MMKq.js +167 -0
  64. package/dist/assets/{WorkflowActivator-CXOAB341.css → WorkflowActivator-cE2ZZAM9.css} +2 -2
  65. package/dist/assets/{WorkflowExecutionsInfoAccordion-Bm5VwFkr.js → WorkflowExecutionsInfoAccordion-W2Fkf5gF.js} +4 -4
  66. package/dist/assets/{WorkflowExecutionsLandingPage-DHND5kOF.js → WorkflowExecutionsLandingPage-DAbf8PFh.js} +10 -10
  67. package/dist/assets/{WorkflowExecutionsPreview-DfWKHosS.js → WorkflowExecutionsPreview-BXEnvDw4.js} +13 -13
  68. package/dist/assets/{WorkflowExecutionsView-DKnDma2V.js → WorkflowExecutionsView-LgtLU8Qx.js} +14 -14
  69. package/dist/assets/{WorkflowHistory-Cqg4glgl.js → WorkflowHistory-BqlZGYdU.js} +11 -11
  70. package/dist/assets/{WorkflowOnboardingView-C9j4UTyl.js → WorkflowOnboardingView-D0_yq6ZI.js} +10 -10
  71. package/dist/assets/{WorkflowPreview-h8dqn2Pk.js → WorkflowPreview-B4znXiwm.js} +3 -3
  72. package/dist/assets/{WorkflowsView-BZYh0ZYg.js → WorkflowsView-DKG0j1hb.js} +14 -14
  73. package/dist/assets/{cloud-MvW-VI45.js → cloud-BvGcpbZS.js} +10 -10
  74. package/dist/assets/{dateFormatter-DqxIOphq.js → dateFormatter-Cz94F6Me.js} +1 -1
  75. package/dist/assets/{dateformat-B0XmVuvm.js → dateformat-BGxyBe2P.js} +1 -1
  76. package/dist/assets/email-providers-DbqVx1jr.js +1 -0
  77. package/dist/assets/{fast-json-stable-stringify-BkuDyKfx.js → fast-json-stable-stringify-Dwd4D7iT.js} +1 -1
  78. package/dist/assets/{file-saver-DmnSLJjs.js → file-saver-EX5V8lV4.js} +1 -1
  79. package/dist/assets/{humanize-duration-BATzEL0p.js → humanize-duration-DTXBersx.js} +1 -1
  80. package/dist/assets/{index-BGdiexS3.css → index-DQ-dNHi3.css} +134 -25
  81. package/dist/assets/{index-DFi7R-Q2.js → index-bKbgEkwQ.js} +1159 -1174
  82. package/dist/assets/{jsonpath-UEgivab5.js → jsonpath-vdx3Kmku.js} +1 -1
  83. package/dist/assets/{n8n-CwcFEeof.js → n8n-BZOg0o2s.js} +666 -593
  84. package/dist/assets/{pinia-BcU9Qewp.js → pinia-6fcdwe0b.js} +1 -1
  85. package/dist/assets/{pushConnection.store-BhJQdeDF.js → pushConnection.store-2X3NZvi8.js} +3 -3
  86. package/dist/assets/{qrcode.vue-DI7-KOl3.js → qrcode.vue-DO5L5sO1.js} +1 -1
  87. package/dist/assets/{templateActions-1imFZon9.js → templateActions-B_GseBMR.js} +1 -1
  88. package/dist/assets/{useExecutionDebugging-Cpl6d0Ir.js → useExecutionDebugging-Bey9JfcT.js} +2 -2
  89. package/dist/assets/{useExecutionHelpers-Bp7shtZ_.js → useExecutionHelpers-BYv3kLRF.js} +2 -2
  90. package/dist/assets/{usePushConnection-msxnlhBx.js → usePushConnection-BKCthfxZ.js} +5 -5
  91. package/dist/assets/{useUserHelpers-BOUvINTe.js → useUserHelpers-CBFICkao.js} +1 -1
  92. package/dist/assets/{useWorkflowActivate-Dbc6uq1B.js → useWorkflowActivate-0fT4N7sc.js} +2 -2
  93. package/dist/assets/{v3-infinite-loading-DAn86T_B.js → v3-infinite-loading-C4Fo1u2C.js} +1 -1
  94. package/dist/assets/{vendor-CqkvC5oQ.js → vendor-CMkNOP5U.js} +18 -17
  95. package/dist/assets/{vue-agile-DiVtruag.js → vue-agile-RIE3GEnw.js} +2 -2
  96. package/dist/assets/{vue-chartjs-CEoYgQDg.js → vue-chartjs-Bdp9pkPO.js} +1 -1
  97. package/dist/assets/{vue-i18n-CakRshnZ.js → vue-i18n-ia8PeNLb.js} +1 -1
  98. package/dist/assets/{vue-json-pretty-DP0y-sh1.js → vue-json-pretty-Smey0Oxa.js} +2 -2
  99. package/dist/assets/xss-DbqVx1jr.js +1 -0
  100. package/dist/index.html +11 -11
  101. package/package.json +1 -1
  102. package/dist/assets/SettingsPersonalView-BrBXXqi8.js +0 -415
  103. package/dist/assets/SettingsUsersView-DFbGuhve.js +0 -366
  104. package/dist/assets/WorkflowActivator-DRP6X2Nn.js +0 -172
  105. package/dist/assets/email-providers-BXHlM8aX.js +0 -1
  106. package/dist/assets/xss-BXHlM8aX.js +0 -1
@@ -1,4 +1,4 @@
1
- import { aH as hasInjectionContext, i as inject, aI as setupDevtoolsPlugin, al as toRaw, b as watch, u as unref, A as markRaw, e as effectScope, a as ref, d as isRef, y as isReactive, g as getCurrentScope, o as onScopeDispose, t as toRefs, f as computed, n as nextTick, h as reactive, j as toRef, k as getCurrentInstance } from "./vendor-CqkvC5oQ.js";
1
+ import { aI as hasInjectionContext, i as inject, aJ as setupDevtoolsPlugin, al as toRaw, b as watch, u as unref, A as markRaw, e as effectScope, a as ref, d as isRef, y as isReactive, g as getCurrentScope, o as onScopeDispose, t as toRefs, f as computed, n as nextTick, h as reactive, j as toRef, k as getCurrentInstance } from "./vendor-CMkNOP5U.js";
2
2
  var isVue2 = false;
3
3
  var isVue3 = true;
4
4
  var Vue2 = void 0;
@@ -1,6 +1,6 @@
1
- import { d as defineStore } from "./pinia-BcU9Qewp.js";
2
- import { O as STORES, j as useRootStore, b as useSettingsStore, dU as TIME } from "./index-DFi7R-Q2.js";
3
- import { f as computed, a as ref } from "./vendor-CqkvC5oQ.js";
1
+ import { d as defineStore } from "./pinia-6fcdwe0b.js";
2
+ import { O as STORES, j as useRootStore, b as useSettingsStore, dW as TIME } from "./index-bKbgEkwQ.js";
3
+ import { f as computed, a as ref } from "./vendor-CMkNOP5U.js";
4
4
  const usePushConnectionStore = defineStore(STORES.PUSH, () => {
5
5
  const rootStore = useRootStore();
6
6
  const settingsStore = useSettingsStore();
@@ -1,4 +1,4 @@
1
- import { Z as defineComponent, a as ref, z as onUpdated, X as h, q as onMounted } from "./vendor-CqkvC5oQ.js";
1
+ import { Z as defineComponent, a as ref, z as onUpdated, X as h, q as onMounted } from "./vendor-CMkNOP5U.js";
2
2
  /*!
3
3
  * qrcode.vue v3.3.4
4
4
  * A Vue.js component to generate QRCode.
@@ -1,4 +1,4 @@
1
- import { dJ as getNewWorkflow, dK as replaceAllTemplateNodeCredentials, cq as getFixedNodesList, V as VIEWS, cr as tryToParseNumber, dL as doesNodeHaveCredentialsToFill, dG as TEMPLATE_CREDENTIAL_SETUP_EXPERIMENT, bj as assert } from "./index-DFi7R-Q2.js";
1
+ import { dK as getNewWorkflow, dL as replaceAllTemplateNodeCredentials, cs as getFixedNodesList, V as VIEWS, ct as tryToParseNumber, dM as doesNodeHaveCredentialsToFill, dH as TEMPLATE_CREDENTIAL_SETUP_EXPERIMENT, bj as assert } from "./index-bKbgEkwQ.js";
2
2
  async function createWorkflowFromTemplate(opts) {
3
3
  const { credentialOverrides, nodeTypeProvider, rootStore, template, workflowsStore } = opts;
4
4
  const workflowData = await getNewWorkflow(rootStore.restApiContext, { name: template.name });
@@ -1,5 +1,5 @@
1
- import { aL as useRouter, f as computed, X as h } from "./vendor-CqkvC5oQ.js";
2
- import { w as useTelemetry, v as useI18n, x as useMessage, u as useToast, m as useWorkflowsStore, b as useSettingsStore, e as useUIStore, E as EnterpriseEditionFeature, C as MODAL_CONFIRM, V as VIEWS, j as useRootStore, db as isFullExecutionResponse, dc as DEBUG_PAYWALL_MODAL_KEY } from "./index-DFi7R-Q2.js";
1
+ import { aM as useRouter, f as computed, X as h } from "./vendor-CMkNOP5U.js";
2
+ import { w as useTelemetry, v as useI18n, x as useMessage, u as useToast, m as useWorkflowsStore, b as useSettingsStore, e as useUIStore, E as EnterpriseEditionFeature, C as MODAL_CONFIRM, V as VIEWS, j as useRootStore, dd as isFullExecutionResponse, de as DEBUG_PAYWALL_MODAL_KEY } from "./index-bKbgEkwQ.js";
3
3
  const useExecutionDebugging = () => {
4
4
  const telemetry = useTelemetry();
5
5
  const router = useRouter();
@@ -1,5 +1,5 @@
1
- import { a as convertToDisplayDate } from "./dateFormatter-DqxIOphq.js";
2
- import { v as useI18n } from "./index-DFi7R-Q2.js";
1
+ import { a as convertToDisplayDate } from "./dateFormatter-Cz94F6Me.js";
2
+ import { v as useI18n } from "./index-bKbgEkwQ.js";
3
3
  function useExecutionHelpers() {
4
4
  const i18n = useI18n();
5
5
  function getUIDetails(execution) {
@@ -1,9 +1,9 @@
1
- import { dR as makeRestApiRequest, j as useRootStore, p as useWorkflowHelpers, ah as useNodeHelpers, y as useTitleChange, u as useToast, v as useI18n, w as useTelemetry, ap as useCredentialsStore, a2 as useNodeTypesStore, b as useSettingsStore, e as useUIStore, m as useWorkflowsStore, dS as codeNodeEditorEventBus, dT as globalLinkActionsEventBus, F as WORKFLOW_SETTINGS_MODAL_KEY, aW as getTriggerNodeServiceName, a1 as useExternalHooks } from "./index-DFi7R-Q2.js";
2
- import { av as generateNodesGraph } from "./n8n-CwcFEeof.js";
1
+ import { dT as makeRestApiRequest, j as useRootStore, p as useWorkflowHelpers, ah as useNodeHelpers, y as useTitleChange, u as useToast, v as useI18n, w as useTelemetry, ap as useCredentialsStore, a2 as useNodeTypesStore, b as useSettingsStore, e as useUIStore, m as useWorkflowsStore, dU as codeNodeEditorEventBus, dV as globalLinkActionsEventBus, F as WORKFLOW_SETTINGS_MODAL_KEY, aW as getTriggerNodeServiceName, a1 as useExternalHooks } from "./index-bKbgEkwQ.js";
2
+ import { aw as generateNodesGraph } from "./n8n-BZOg0o2s.js";
3
3
  import { p as parse } from "./flatted-D70IerrI.js";
4
- import { a as ref } from "./vendor-CqkvC5oQ.js";
5
- import { d as defineStore } from "./pinia-BcU9Qewp.js";
6
- import { u as usePushConnectionStore } from "./pushConnection.store-BhJQdeDF.js";
4
+ import { a as ref } from "./vendor-CMkNOP5U.js";
5
+ import { d as defineStore } from "./pinia-6fcdwe0b.js";
6
+ import { u as usePushConnectionStore } from "./pushConnection.store-2X3NZvi8.js";
7
7
  const GET_STATUS_ENDPOINT = "/orchestration/worker/status";
8
8
  const sendGetWorkerStatus = async (context) => {
9
9
  await makeRestApiRequest(context, "POST", GET_STATUS_ENDPOINT);
@@ -1,4 +1,4 @@
1
- import { r as hasPermission } from "./index-DFi7R-Q2.js";
1
+ import { r as hasPermission } from "./index-bKbgEkwQ.js";
2
2
  function useUserHelpers(router, route) {
3
3
  const canUserAccessRouteByName = (name) => {
4
4
  const resolvedRoute = router.resolve({ name });
@@ -1,5 +1,5 @@
1
- import { p as useWorkflowHelpers, m as useWorkflowsStore, e as useUIStore, w as useTelemetry, u as useToast, v as useI18n, o as useNpsSurveyStore, P as PLACEHOLDER_EMPTY_WORKFLOW_ID, a1 as useExternalHooks, R as useStorage, dW as LOCAL_STORAGE_ACTIVATION_FLAG, dX as WORKFLOW_ACTIVE_MODAL_KEY } from "./index-DFi7R-Q2.js";
2
- import { a as ref, aL as useRouter } from "./vendor-CqkvC5oQ.js";
1
+ import { p as useWorkflowHelpers, m as useWorkflowsStore, e as useUIStore, w as useTelemetry, u as useToast, v as useI18n, o as useNpsSurveyStore, P as PLACEHOLDER_EMPTY_WORKFLOW_ID, a1 as useExternalHooks, R as useStorage, dY as LOCAL_STORAGE_ACTIVATION_FLAG, dZ as WORKFLOW_ACTIVE_MODAL_KEY } from "./index-bKbgEkwQ.js";
2
+ import { a as ref, aM as useRouter } from "./vendor-CMkNOP5U.js";
3
3
  function useWorkflowActivate() {
4
4
  const updatingWorkflowActivation = ref(false);
5
5
  const router = useRouter();
@@ -1,4 +1,4 @@
1
- import { aB as pushScopeId, aC as popScopeId, I as createBaseVNode, J as openBlock, K as createElementBlock, a as ref, t as toRefs, b as watch, n as nextTick, q as onMounted, x as onUnmounted, _ as renderSlot, a9 as createVNode, U as createCommentVNode, a8 as toDisplayString } from "./vendor-CqkvC5oQ.js";
1
+ import { aB as pushScopeId, aC as popScopeId, I as createBaseVNode, J as openBlock, K as createElementBlock, a as ref, t as toRefs, b as watch, n as nextTick, q as onMounted, x as onUnmounted, _ as renderSlot, a9 as createVNode, U as createCommentVNode, a8 as toDisplayString } from "./vendor-CMkNOP5U.js";
2
2
  const E = (e, o) => {
3
3
  const t = e.__vccOpts || e;
4
4
  for (const [n, s] of o)
@@ -14308,23 +14308,24 @@ export {
14308
14308
  popScopeId as aC,
14309
14309
  RouterLink as aD,
14310
14310
  useRoute as aE,
14311
- toValue as aF,
14312
- createPropsRestProxy as aG,
14313
- hasInjectionContext as aH,
14314
- setupDevtoolsPlugin as aI,
14315
- isProxy as aJ,
14316
- vue_runtime_esmBundler as aK,
14317
- useRouter as aL,
14318
- mergeModels as aM,
14319
- useModel as aN,
14320
- defineAsyncComponent as aO,
14321
- isNavigationFailure as aP,
14322
- Suspense as aQ,
14323
- onErrorCaptured as aR,
14324
- KeepAlive as aS,
14325
- createRouter as aT,
14326
- createWebHistory as aU,
14327
- onBeforeRouteLeave as aV,
14311
+ mergeDefaults as aF,
14312
+ toValue as aG,
14313
+ createPropsRestProxy as aH,
14314
+ hasInjectionContext as aI,
14315
+ setupDevtoolsPlugin as aJ,
14316
+ isProxy as aK,
14317
+ vue_runtime_esmBundler as aL,
14318
+ useRouter as aM,
14319
+ mergeModels as aN,
14320
+ useModel as aO,
14321
+ defineAsyncComponent as aP,
14322
+ isNavigationFailure as aQ,
14323
+ Suspense as aR,
14324
+ onErrorCaptured as aS,
14325
+ KeepAlive as aT,
14326
+ createRouter as aU,
14327
+ createWebHistory as aV,
14328
+ onBeforeRouteLeave as aW,
14328
14329
  vShow as aa,
14329
14330
  TransitionGroup as ab,
14330
14331
  useAttrs as ac,
@@ -1,6 +1,6 @@
1
1
  import { o as orderBy, t as throttle } from "./lodash-es-COViF6dG.js";
2
- import { J as openBlock, K as createElementBlock, $ as normalizeClass, I as createBaseVNode, a0 as normalizeStyle, a5 as withDirectives, _ as renderSlot, aa as vShow, U as createCommentVNode, a7 as createTextVNode, R as Fragment, ag as renderList, a8 as toDisplayString } from "./vendor-CqkvC5oQ.js";
3
- import { _ as _export_sfc } from "./n8n-CwcFEeof.js";
2
+ import { J as openBlock, K as createElementBlock, $ as normalizeClass, I as createBaseVNode, a0 as normalizeStyle, a5 as withDirectives, _ as renderSlot, aa as vShow, U as createCommentVNode, a7 as createTextVNode, R as Fragment, ag as renderList, a8 as toDisplayString } from "./vendor-CMkNOP5U.js";
3
+ import { _ as _export_sfc } from "./n8n-BZOg0o2s.js";
4
4
  const mixin$6 = {
5
5
  methods: {
6
6
  handleMouseDown(e) {
@@ -1,4 +1,4 @@
1
- import { v as version, aJ as isProxy, al as toRaw, Z as defineComponent, a as ref, s as shallowRef, q as onMounted, m as onBeforeUnmount, b as watch, X as h } from "./vendor-CqkvC5oQ.js";
1
+ import { v as version, aK as isProxy, al as toRaw, Z as defineComponent, a as ref, s as shallowRef, q as onMounted, m as onBeforeUnmount, b as watch, X as h } from "./vendor-CMkNOP5U.js";
2
2
  import { C as Chart$1, B as BarController, D as DoughnutController, L as LineController, P as PieController, a as PolarAreaController, R as RadarController, b as BubbleController, S as ScatterController } from "./chart.js-DiBOFLDH.js";
3
3
  const CommonProps = {
4
4
  data: {
@@ -1,4 +1,4 @@
1
- import { a9 as createVNode, T as Text, k as getCurrentInstance, a as ref, f as computed, b as watch, R as Fragment, X as h, e as effectScope, i as inject, q as onMounted, x as onUnmounted, s as shallowRef, l as onBeforeMount, d as isRef } from "./vendor-CqkvC5oQ.js";
1
+ import { a9 as createVNode, T as Text, k as getCurrentInstance, a as ref, f as computed, b as watch, R as Fragment, X as h, e as effectScope, i as inject, q as onMounted, x as onUnmounted, s as shallowRef, l as onBeforeMount, d as isRef } from "./vendor-CMkNOP5U.js";
2
2
  /*!
3
3
  * shared v9.2.2
4
4
  * (c) 2022 kazuya kawaguchi
@@ -1,5 +1,5 @@
1
- import { a as getAugmentedNamespace, g as getDefaultExportFromCjs, c as commonjsGlobal } from "./n8n-CwcFEeof.js";
2
- import { aK as vue_runtime_esmBundler } from "./vendor-CqkvC5oQ.js";
1
+ import { a as getAugmentedNamespace, g as getDefaultExportFromCjs, c as commonjsGlobal } from "./n8n-BZOg0o2s.js";
2
+ import { aL as vue_runtime_esmBundler } from "./vendor-CMkNOP5U.js";
3
3
  var vueJsonPretty$1 = { exports: {} };
4
4
  const require$$0 = /* @__PURE__ */ getAugmentedNamespace(vue_runtime_esmBundler);
5
5
  var vueJsonPretty = vueJsonPretty$1.exports;
@@ -0,0 +1 @@
1
+ import "./n8n-BZOg0o2s.js";
package/dist/index.html CHANGED
@@ -12,20 +12,20 @@
12
12
  <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>
13
13
 
14
14
  <title>n8n.io - Workflow Automation</title>
15
- <script type="module" crossorigin src="/%7B%7BBASE_PATH%7D%7D/assets/index-DFi7R-Q2.js"></script>
16
- <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/vendor-CqkvC5oQ.js">
17
- <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/pinia-BcU9Qewp.js">
15
+ <script type="module" crossorigin src="/%7B%7BBASE_PATH%7D%7D/assets/index-bKbgEkwQ.js"></script>
16
+ <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/vendor-CMkNOP5U.js">
17
+ <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/pinia-6fcdwe0b.js">
18
18
  <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/axios-Cp0EV6RZ.js">
19
- <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/flatted-D70IerrI.js">
20
19
  <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/esprima-next-CPsTzYsC.js">
21
20
  <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/luxon-0uZhUj7B.js">
22
21
  <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/lodash-es-COViF6dG.js">
23
- <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/@vueuse/core-cLiG7CtG.js">
22
+ <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/@vueuse/core-DjbzQ1zB.js">
24
23
  <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/uuid-sKupIUZ4.js">
25
- <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/n8n-CwcFEeof.js">
24
+ <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/n8n-BZOg0o2s.js">
25
+ <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/flatted-D70IerrI.js">
26
26
  <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/@n8n/permissions-DSKt-Zl7.js">
27
- <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/dateformat-B0XmVuvm.js">
28
- <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/vue-i18n-CakRshnZ.js">
27
+ <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/dateformat-BGxyBe2P.js">
28
+ <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/vue-i18n-ia8PeNLb.js">
29
29
  <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/@lezer/common-CnY9etib.js">
30
30
  <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/@n8n/codemirror-lang-CIGGB1t0.js">
31
31
  <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/@n8n/codemirror-lang-sql-C41WNa63.js">
@@ -36,13 +36,13 @@
36
36
  <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/@jsplumb/connector-bezier-D659hq4c.js">
37
37
  <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/@jsplumb/browser-ui-BphmFVJY.js">
38
38
  <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/codemirror-lang-html-n8n-CXTCIWzP.js">
39
- <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/fast-json-stable-stringify-BkuDyKfx.js">
39
+ <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/fast-json-stable-stringify-Dwd4D7iT.js">
40
40
  <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/timeago.js-CgQus8nl.js">
41
- <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/qrcode.vue-DI7-KOl3.js">
41
+ <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/qrcode.vue-DO5L5sO1.js">
42
42
  <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/vue3-touch-events-DVOgU3fI.js">
43
43
  <link rel="modulepreload" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/chart.js-DiBOFLDH.js">
44
44
  <link rel="stylesheet" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/n8n-HyitiRil.css">
45
- <link rel="stylesheet" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/index-BGdiexS3.css">
45
+ <link rel="stylesheet" crossorigin href="/%7B%7BBASE_PATH%7D%7D/assets/index-DQ-dNHi3.css">
46
46
  </head>
47
47
  <body>
48
48
  <noscript>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "n8n-editor-ui",
3
- "version": "1.50.1",
3
+ "version": "1.51.0",
4
4
  "description": "Workflow Editor UI for n8n",
5
5
  "main": "index.js",
6
6
  "license": "SEE LICENSE IN LICENSE.md",
@@ -1,415 +0,0 @@
1
- import { u as useToast, dg as MFA_DOCS_URL, e as useUIStore, b as useSettingsStore, a as useUsersStore, dh as CHANGE_PASSWORD_MODAL_KEY, di as MFA_SETUP_MODAL_KEY, v as useI18n } from "./index-DFi7R-Q2.js";
2
- import { m as mapStores } from "./pinia-BcU9Qewp.js";
3
- import { Z as defineComponent, ao as resolveComponent, J as openBlock, K as createElementBlock, $ as normalizeClass, I as createBaseVNode, a9 as createVNode, a4 as withCtx, a7 as createTextVNode, a8 as toDisplayString, U as createCommentVNode, V as createBlock, R as Fragment, ag as renderList } from "./vendor-CqkvC5oQ.js";
4
- import { b as createEventBus, _ as _export_sfc } from "./n8n-CwcFEeof.js";
5
- import "./axios-Cp0EV6RZ.js";
6
- import "./flatted-D70IerrI.js";
7
- import "./@vueuse/core-cLiG7CtG.js";
8
- import "./lodash-es-COViF6dG.js";
9
- import "./@n8n/permissions-DSKt-Zl7.js";
10
- import "./uuid-sKupIUZ4.js";
11
- import "./dateformat-B0XmVuvm.js";
12
- import "./vue-i18n-CakRshnZ.js";
13
- import "./luxon-0uZhUj7B.js";
14
- import "./@n8n/codemirror-lang-CIGGB1t0.js";
15
- import "./@lezer/common-CnY9etib.js";
16
- import "./@n8n/codemirror-lang-sql-C41WNa63.js";
17
- import "./prettier-_aQB57xD.js";
18
- import "./@jsplumb/util-BwtpiQ4c.js";
19
- import "./@jsplumb/core-B__RSZHf.js";
20
- import "./@jsplumb/common-s1StEx7B.js";
21
- import "./@jsplumb/connector-bezier-D659hq4c.js";
22
- import "./@jsplumb/browser-ui-BphmFVJY.js";
23
- import "./codemirror-lang-html-n8n-CXTCIWzP.js";
24
- import "./esprima-next-CPsTzYsC.js";
25
- import "./fast-json-stable-stringify-BkuDyKfx.js";
26
- import "./timeago.js-CgQus8nl.js";
27
- import "./qrcode.vue-DI7-KOl3.js";
28
- import "./vue3-touch-events-DVOgU3fI.js";
29
- import "./chart.js-DiBOFLDH.js";
30
- const _sfc_main = defineComponent({
31
- name: "SettingsPersonalView",
32
- setup() {
33
- const i18n = useI18n();
34
- return {
35
- i18n,
36
- ...useToast()
37
- };
38
- },
39
- data() {
40
- return {
41
- hasAnyBasicInfoChanges: false,
42
- formInputs: null,
43
- formBus: createEventBus(),
44
- readyToSubmit: false,
45
- mfaDocsUrl: MFA_DOCS_URL,
46
- currentSelectedTheme: useUIStore().theme,
47
- themeOptions: [
48
- {
49
- name: "system",
50
- label: "settings.personal.theme.systemDefault"
51
- },
52
- {
53
- name: "light",
54
- label: "settings.personal.theme.light"
55
- },
56
- {
57
- name: "dark",
58
- label: "settings.personal.theme.dark"
59
- }
60
- ]
61
- };
62
- },
63
- computed: {
64
- ...mapStores(useUIStore, useUsersStore, useSettingsStore),
65
- currentUser() {
66
- return this.usersStore.currentUser;
67
- },
68
- isExternalAuthEnabled() {
69
- var _a;
70
- const isLdapEnabled = this.settingsStore.settings.enterprise.ldap && ((_a = this.currentUser) == null ? void 0 : _a.signInType) === "ldap";
71
- const isSamlEnabled = this.settingsStore.isSamlLoginEnabled && this.settingsStore.isDefaultAuthenticationSaml;
72
- return isLdapEnabled || isSamlEnabled;
73
- },
74
- isPersonalSecurityEnabled() {
75
- return this.usersStore.isInstanceOwner || !this.isExternalAuthEnabled;
76
- },
77
- mfaDisabled() {
78
- return !this.usersStore.mfaEnabled;
79
- },
80
- isMfaFeatureEnabled() {
81
- return this.settingsStore.isMfaFeatureEnabled;
82
- },
83
- hasAnyPersonalisationChanges() {
84
- return this.currentSelectedTheme !== this.uiStore.theme;
85
- },
86
- hasAnyChanges() {
87
- return this.hasAnyBasicInfoChanges || this.hasAnyPersonalisationChanges;
88
- }
89
- },
90
- mounted() {
91
- var _a, _b, _c;
92
- this.formInputs = [
93
- {
94
- name: "firstName",
95
- initialValue: (_a = this.currentUser) == null ? void 0 : _a.firstName,
96
- properties: {
97
- label: this.i18n.baseText("auth.firstName"),
98
- maxlength: 32,
99
- required: true,
100
- autocomplete: "given-name",
101
- capitalize: true,
102
- disabled: this.isExternalAuthEnabled
103
- }
104
- },
105
- {
106
- name: "lastName",
107
- initialValue: (_b = this.currentUser) == null ? void 0 : _b.lastName,
108
- properties: {
109
- label: this.i18n.baseText("auth.lastName"),
110
- maxlength: 32,
111
- required: true,
112
- autocomplete: "family-name",
113
- capitalize: true,
114
- disabled: this.isExternalAuthEnabled
115
- }
116
- },
117
- {
118
- name: "email",
119
- initialValue: (_c = this.currentUser) == null ? void 0 : _c.email,
120
- properties: {
121
- label: this.i18n.baseText("auth.email"),
122
- type: "email",
123
- required: true,
124
- validationRules: [{ name: "VALID_EMAIL" }],
125
- autocomplete: "email",
126
- capitalize: true,
127
- disabled: !this.isPersonalSecurityEnabled
128
- }
129
- }
130
- ];
131
- },
132
- methods: {
133
- onInput() {
134
- this.hasAnyBasicInfoChanges = true;
135
- },
136
- onReadyToSubmit(ready) {
137
- this.readyToSubmit = ready;
138
- },
139
- async onSubmit(form) {
140
- try {
141
- await Promise.all([this.updateUserBasicInfo(form), this.updatePersonalisationSettings()]);
142
- this.showToast({
143
- title: this.i18n.baseText("settings.personal.personalSettingsUpdated"),
144
- message: "",
145
- type: "success"
146
- });
147
- } catch (e) {
148
- this.showError(e, this.i18n.baseText("settings.personal.personalSettingsUpdatedError"));
149
- }
150
- },
151
- async updateUserBasicInfo(form) {
152
- if (!this.hasAnyBasicInfoChanges || !this.usersStore.currentUserId) {
153
- return;
154
- }
155
- await this.usersStore.updateUser({
156
- id: this.usersStore.currentUserId,
157
- firstName: form.firstName,
158
- lastName: form.lastName,
159
- email: form.email
160
- });
161
- this.hasAnyBasicInfoChanges = false;
162
- },
163
- async updatePersonalisationSettings() {
164
- if (!this.hasAnyPersonalisationChanges) {
165
- return;
166
- }
167
- this.uiStore.setTheme(this.currentSelectedTheme);
168
- },
169
- onSaveClick() {
170
- this.formBus.emit("submit");
171
- },
172
- openPasswordModal() {
173
- this.uiStore.openModal(CHANGE_PASSWORD_MODAL_KEY);
174
- },
175
- onMfaEnableClick() {
176
- this.uiStore.openModal(MFA_SETUP_MODAL_KEY);
177
- },
178
- async onMfaDisableClick() {
179
- try {
180
- await this.usersStore.disabledMfa();
181
- this.showToast({
182
- title: this.$locale.baseText("settings.personal.mfa.toast.disabledMfa.title"),
183
- message: this.$locale.baseText("settings.personal.mfa.toast.disabledMfa.message"),
184
- type: "success",
185
- duration: 0
186
- });
187
- } catch (e) {
188
- this.showError(
189
- e,
190
- this.$locale.baseText("settings.personal.mfa.toast.disabledMfa.error.message")
191
- );
192
- }
193
- }
194
- }
195
- });
196
- const container = "_container_z1fqc_1";
197
- const header = "_header_z1fqc_8";
198
- const user = "_user_z1fqc_17";
199
- const username = "_username_z1fqc_27";
200
- const disableMfaButton = "_disableMfaButton_z1fqc_39";
201
- const button = "_button_z1fqc_46";
202
- const infoText = "_infoText_z1fqc_53";
203
- const themeSelect = "_themeSelect_z1fqc_58";
204
- const style0 = {
205
- container,
206
- header,
207
- user,
208
- username,
209
- disableMfaButton,
210
- button,
211
- infoText,
212
- themeSelect
213
- };
214
- const _hoisted_1 = { class: "mb-s" };
215
- const _hoisted_2 = { "data-test-id": "personal-data-form" };
216
- const _hoisted_3 = { key: 0 };
217
- const _hoisted_4 = { class: "mb-s" };
218
- const _hoisted_5 = { class: "mb-s" };
219
- const _hoisted_6 = {
220
- key: 0,
221
- "data-test-id": "mfa-section"
222
- };
223
- const _hoisted_7 = { class: "mb-xs" };
224
- const _hoisted_8 = { class: "mb-s" };
225
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
226
- const _component_n8n_heading = resolveComponent("n8n-heading");
227
- const _component_n8n_text = resolveComponent("n8n-text");
228
- const _component_n8n_avatar = resolveComponent("n8n-avatar");
229
- const _component_n8n_form_inputs = resolveComponent("n8n-form-inputs");
230
- const _component_n8n_link = resolveComponent("n8n-link");
231
- const _component_n8n_input_label = resolveComponent("n8n-input-label");
232
- const _component_n8n_button = resolveComponent("n8n-button");
233
- const _component_n8n_option = resolveComponent("n8n-option");
234
- const _component_n8n_select = resolveComponent("n8n-select");
235
- return openBlock(), createElementBlock("div", {
236
- class: normalizeClass(_ctx.$style.container),
237
- "data-test-id": "personal-settings-container"
238
- }, [
239
- createBaseVNode("div", {
240
- class: normalizeClass(_ctx.$style.header)
241
- }, [
242
- createVNode(_component_n8n_heading, { size: "2xlarge" }, {
243
- default: withCtx(() => [
244
- createTextVNode(toDisplayString(_ctx.i18n.baseText("settings.personal.personalSettings")), 1)
245
- ]),
246
- _: 1
247
- }),
248
- _ctx.currentUser ? (openBlock(), createElementBlock("div", {
249
- key: 0,
250
- class: normalizeClass(_ctx.$style.user)
251
- }, [
252
- createBaseVNode("span", {
253
- class: normalizeClass(_ctx.$style.username),
254
- "data-test-id": "current-user-name"
255
- }, [
256
- createVNode(_component_n8n_text, { color: "text-light" }, {
257
- default: withCtx(() => [
258
- createTextVNode(toDisplayString(_ctx.currentUser.fullName), 1)
259
- ]),
260
- _: 1
261
- })
262
- ], 2),
263
- createVNode(_component_n8n_avatar, {
264
- "first-name": _ctx.currentUser.firstName,
265
- "last-name": _ctx.currentUser.lastName,
266
- size: "large"
267
- }, null, 8, ["first-name", "last-name"])
268
- ], 2)) : createCommentVNode("", true)
269
- ], 2),
270
- createBaseVNode("div", null, [
271
- createBaseVNode("div", _hoisted_1, [
272
- createVNode(_component_n8n_heading, { size: "large" }, {
273
- default: withCtx(() => [
274
- createTextVNode(toDisplayString(_ctx.i18n.baseText("settings.personal.basicInformation")), 1)
275
- ]),
276
- _: 1
277
- })
278
- ]),
279
- createBaseVNode("div", _hoisted_2, [
280
- _ctx.formInputs ? (openBlock(), createBlock(_component_n8n_form_inputs, {
281
- key: 0,
282
- inputs: _ctx.formInputs,
283
- "event-bus": _ctx.formBus,
284
- onUpdate: _ctx.onInput,
285
- onReady: _ctx.onReadyToSubmit,
286
- onSubmit: _ctx.onSubmit
287
- }, null, 8, ["inputs", "event-bus", "onUpdate", "onReady", "onSubmit"])) : createCommentVNode("", true)
288
- ])
289
- ]),
290
- _ctx.isPersonalSecurityEnabled ? (openBlock(), createElementBlock("div", _hoisted_3, [
291
- createBaseVNode("div", _hoisted_4, [
292
- createVNode(_component_n8n_heading, { size: "large" }, {
293
- default: withCtx(() => [
294
- createTextVNode(toDisplayString(_ctx.i18n.baseText("settings.personal.security")), 1)
295
- ]),
296
- _: 1
297
- })
298
- ]),
299
- createBaseVNode("div", _hoisted_5, [
300
- createVNode(_component_n8n_input_label, {
301
- label: _ctx.i18n.baseText("auth.password")
302
- }, {
303
- default: withCtx(() => [
304
- createVNode(_component_n8n_link, {
305
- "data-test-id": "change-password-link",
306
- onClick: _ctx.openPasswordModal
307
- }, {
308
- default: withCtx(() => [
309
- createTextVNode(toDisplayString(_ctx.i18n.baseText("auth.changePassword")), 1)
310
- ]),
311
- _: 1
312
- }, 8, ["onClick"])
313
- ]),
314
- _: 1
315
- }, 8, ["label"])
316
- ]),
317
- _ctx.isMfaFeatureEnabled ? (openBlock(), createElementBlock("div", _hoisted_6, [
318
- createBaseVNode("div", _hoisted_7, [
319
- createVNode(_component_n8n_input_label, {
320
- label: _ctx.$locale.baseText("settings.personal.mfa.section.title")
321
- }, null, 8, ["label"]),
322
- createVNode(_component_n8n_text, {
323
- bold: false,
324
- class: normalizeClass(_ctx.$style.infoText)
325
- }, {
326
- default: withCtx(() => [
327
- createTextVNode(toDisplayString(_ctx.mfaDisabled ? _ctx.$locale.baseText("settings.personal.mfa.button.disabled.infobox") : _ctx.$locale.baseText("settings.personal.mfa.button.enabled.infobox")) + " ", 1),
328
- createVNode(_component_n8n_link, {
329
- to: _ctx.mfaDocsUrl,
330
- size: "small",
331
- bold: true
332
- }, {
333
- default: withCtx(() => [
334
- createTextVNode(toDisplayString(_ctx.$locale.baseText("generic.learnMore")), 1)
335
- ]),
336
- _: 1
337
- }, 8, ["to"])
338
- ]),
339
- _: 1
340
- }, 8, ["class"])
341
- ]),
342
- _ctx.mfaDisabled ? (openBlock(), createBlock(_component_n8n_button, {
343
- key: 0,
344
- class: normalizeClass(_ctx.$style.button),
345
- type: "tertiary",
346
- label: _ctx.$locale.baseText("settings.personal.mfa.button.enabled"),
347
- "data-test-id": "enable-mfa-button",
348
- onClick: _ctx.onMfaEnableClick
349
- }, null, 8, ["class", "label", "onClick"])) : (openBlock(), createBlock(_component_n8n_button, {
350
- key: 1,
351
- class: normalizeClass(_ctx.$style.disableMfaButton),
352
- type: "tertiary",
353
- label: _ctx.$locale.baseText("settings.personal.mfa.button.disabled"),
354
- "data-test-id": "disable-mfa-button",
355
- onClick: _ctx.onMfaDisableClick
356
- }, null, 8, ["class", "label", "onClick"]))
357
- ])) : createCommentVNode("", true)
358
- ])) : createCommentVNode("", true),
359
- createBaseVNode("div", null, [
360
- createBaseVNode("div", _hoisted_8, [
361
- createVNode(_component_n8n_heading, { size: "large" }, {
362
- default: withCtx(() => [
363
- createTextVNode(toDisplayString(_ctx.i18n.baseText("settings.personal.personalisation")), 1)
364
- ]),
365
- _: 1
366
- })
367
- ]),
368
- createBaseVNode("div", null, [
369
- createVNode(_component_n8n_input_label, {
370
- label: _ctx.i18n.baseText("settings.personal.theme")
371
- }, {
372
- default: withCtx(() => [
373
- createVNode(_component_n8n_select, {
374
- modelValue: _ctx.currentSelectedTheme,
375
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => _ctx.currentSelectedTheme = $event),
376
- class: normalizeClass(_ctx.$style.themeSelect),
377
- "data-test-id": "theme-select",
378
- size: "small",
379
- filterable: ""
380
- }, {
381
- default: withCtx(() => [
382
- (openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.themeOptions, (item) => {
383
- return openBlock(), createBlock(_component_n8n_option, {
384
- key: item.name,
385
- label: _ctx.$t(item.label),
386
- value: item.name
387
- }, null, 8, ["label", "value"]);
388
- }), 128))
389
- ]),
390
- _: 1
391
- }, 8, ["modelValue", "class"])
392
- ]),
393
- _: 1
394
- }, 8, ["label"])
395
- ])
396
- ]),
397
- createBaseVNode("div", null, [
398
- createVNode(_component_n8n_button, {
399
- float: "right",
400
- label: _ctx.i18n.baseText("settings.personal.save"),
401
- size: "large",
402
- disabled: !_ctx.hasAnyChanges || !_ctx.readyToSubmit,
403
- "data-test-id": "save-settings-button",
404
- onClick: _ctx.onSaveClick
405
- }, null, 8, ["label", "disabled", "onClick"])
406
- ])
407
- ], 2);
408
- }
409
- const cssModules = {
410
- "$style": style0
411
- };
412
- const SettingsPersonalView = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__cssModules", cssModules]]);
413
- export {
414
- SettingsPersonalView as default
415
- };