n8n-editor-ui 1.57.0 → 1.58.1

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 (97) hide show
  1. package/dist/assets/@n8n/{permissions-BdHAniXb.js → permissions-BxSXRD9U.js} +1 -0
  2. package/dist/assets/@vueuse/{core-C-N7SOS8.js → core-BHDhJRX_.js} +56 -54
  3. package/dist/assets/AnnotationTagsDropdown-CvbfWPym.js +116 -0
  4. package/dist/assets/{AuthView-CqcftqAH.js → AuthView-BGHoHWps.js} +2 -2
  5. package/dist/assets/{CanvasControls-Besc3nk2.js → CanvasControls-yHWHIES5.js} +6 -6
  6. package/dist/assets/{ChangePasswordView-BK5O6qCb.js → ChangePasswordView-CDgfEoHx.js} +7 -7
  7. package/dist/assets/{CredentialsView-DEI5jVSq.js → CredentialsView-CWxvvrW-.js} +9 -9
  8. package/dist/assets/{ErrorView-Cb9Ev7Dj.js → ErrorView-D-EXKFCI.js} +6 -6
  9. package/dist/assets/{ExecutionsFilter-fBQ6lOU_.css → ExecutionsFilter-DTy4NQw_.css} +6 -6
  10. package/dist/assets/{ExecutionsFilter-Y7dLoQFk.js → ExecutionsFilter-KJUXh7xs.js} +96 -51
  11. package/dist/assets/{ExecutionsView-DcUlsJSr.js → ExecutionsView-B6RDT32P.js} +9 -9
  12. package/dist/assets/{FixedCollectionParameter-DMEv9len.js → FixedCollectionParameter-CZ0AANCx.js} +6 -6
  13. package/dist/assets/{ForgotMyPasswordView-CrINAbmV.js → ForgotMyPasswordView-CaetKBFO.js} +7 -7
  14. package/dist/assets/{MainHeader-CHYc_PZ4.css → MainHeader-46C-nkS_.css} +35 -34
  15. package/dist/assets/{MainHeader-CnFMyNl3.js → MainHeader-aLR7Mt6h.js} +364 -223
  16. package/dist/assets/{MainSidebar-DnSIEh1g.js → MainSidebar-DfnOQqYS.js} +394 -429
  17. package/dist/assets/{NodeCreation-B-ZsOH-L.js → NodeCreation-CjvfgqMQ.js} +10 -8
  18. package/dist/assets/{NodeCreator-DDYJt0Ze.js → NodeCreator-CqGqvTkz.js} +21 -17
  19. package/dist/assets/{NodeViewSwitcher-D6nuSKAB.js → NodeViewSwitcher-CaNkhcKd.js} +4250 -2021
  20. package/dist/assets/{NodeViewSwitcher-BnlgGD0J.css → NodeViewSwitcher-DF46E4YO.css} +405 -325
  21. package/dist/assets/{ProjectCardBadge-CFNf-mDJ.js → ProjectCardBadge-DQz9p7bj.js} +3 -3
  22. package/dist/assets/{ProjectSettings-ML67RJOi.js → ProjectSettings-D3IQ-XH3.js} +7 -7
  23. package/dist/assets/{ProjectTabs-Cknn_GgB.js → ProjectTabs-CESKkFkd.js} +2 -2
  24. package/dist/assets/{PushConnectionTracker-CWhTRNCw.js → PushConnectionTracker-D7sLotqk.js} +2 -2
  25. package/dist/assets/{ResourcesListLayout-eqk9xNhc.js → ResourcesListLayout-D54JHUFJ.js} +2 -2
  26. package/dist/assets/{RunDataAi-B3Q65dEL.js → RunDataAi-9yv-GkKd.js} +6 -6
  27. package/dist/assets/{RunDataJson-C-dseNta.js → RunDataJson-psJyY-xC.js} +9 -9
  28. package/dist/assets/{RunDataJsonActions-KBZ7hfZN.js → RunDataJsonActions-B3QM-sD6.js} +7 -7
  29. package/dist/assets/{RunDataSearch-tlq4S7N-.js → RunDataSearch-BNei-8eY.js} +6 -6
  30. package/dist/assets/{RunDataTable-D-c1L5v9.js → RunDataTable-BAIw8_GD.js} +6 -6
  31. package/dist/assets/{SamlOnboarding-DHXokg4W.js → SamlOnboarding-XHC_OVzS.js} +7 -7
  32. package/dist/assets/{SettingsApiView-hxxnxNIb.js → SettingsApiView-Cxr0YjBj.js} +6 -6
  33. package/dist/assets/{SettingsCommunityNodesView-DjmPzymy.js → SettingsCommunityNodesView-DSYLd1NL.js} +8 -8
  34. package/dist/assets/{SettingsExternalSecrets-Cw-mURA4.js → SettingsExternalSecrets-Dixl8U-H.js} +6 -6
  35. package/dist/assets/{SettingsFakeDoorView-Coj99HjT.js → SettingsFakeDoorView-Bd9T-Jm8.js} +6 -6
  36. package/dist/assets/{SettingsLdapView-C5vB_u72.js → SettingsLdapView-DfIJBH3O.js} +7 -7
  37. package/dist/assets/{SettingsLogStreamingView-BaWNNhIO.js → SettingsLogStreamingView-D3FvPA8r.js} +6 -6
  38. package/dist/assets/{SettingsPersonalView-F5OtxFhW.js → SettingsPersonalView-Ct9jyNz1.js} +6 -6
  39. package/dist/assets/{SettingsSourceControl-CJ5r15dK.js → SettingsSourceControl-BE695sdL.js} +6 -6
  40. package/dist/assets/{SettingsSso-BrfSzt16.js → SettingsSso-CmH0czdA.js} +18 -9
  41. package/dist/assets/{SettingsUsageAndPlan-Gqra3R0E.js → SettingsUsageAndPlan-Dx8wVLJp.js} +116 -8
  42. package/dist/assets/{SettingsUsersView-BibKm0uw.js → SettingsUsersView-BspD88t8.js} +23 -7
  43. package/dist/assets/{SettingsView-_a_GTA-g.js → SettingsView-N6ThZ9KM.js} +7 -7
  44. package/dist/assets/{SetupView-B8mzwREj.js → SetupView-B1kM7lwl.js} +7 -7
  45. package/dist/assets/{SetupWorkflowCredentialsButton-C2wXpCdh.js → SetupWorkflowCredentialsButton-khECUo1h.js} +6 -6
  46. package/dist/assets/{SetupWorkflowFromTemplateView-D6O8INhE.js → SetupWorkflowFromTemplateView-iI2njEvI.js} +8 -8
  47. package/dist/assets/{SigninView-DKkeDUtH.js → SigninView-6itJ-CED.js} +7 -7
  48. package/dist/assets/{SignoutView-BjQlWgFQ.js → SignoutView-hDa3nDs6.js} +6 -6
  49. package/dist/assets/{SignupView-O9mgfKQh.js → SignupView-Bq18Ktg7.js} +7 -7
  50. package/dist/assets/{TemplateDetails-rbYl7ZHO.js → TemplateDetails-Czazhd5s.js} +2 -2
  51. package/dist/assets/{TemplateList-4qO5UWYI.js → TemplateList-BeAPaZGs.js} +2 -2
  52. package/dist/assets/{TemplatesCollectionView-CxLg3AfW.js → TemplatesCollectionView-CexaV31l.js} +10 -10
  53. package/dist/assets/{TemplatesSearchView-C7iabuV8.js → TemplatesSearchView-DlqM48VA.js} +9 -9
  54. package/dist/assets/{TemplatesView-C_ljCT59.js → TemplatesView-8fVX0s-c.js} +2 -2
  55. package/dist/assets/{TemplatesWorkflowView-j-AraUuj.js → TemplatesWorkflowView-DVk9fEe9.js} +10 -10
  56. package/dist/assets/{VariablesView-CS5qD4nw.js → VariablesView-B4KxaLHe.js} +7 -7
  57. package/dist/assets/{WorkerView-Adh7mkGw.js → WorkerView-C3r2Qksx.js} +9 -9
  58. package/dist/assets/{WorkflowActivator-BSG90j8i.js → WorkflowActivator-B6SkhHUl.js} +3 -3
  59. package/dist/assets/{WorkflowExecutionsInfoAccordion-z-P6winD.js → WorkflowExecutionsInfoAccordion-D_uPE3Mm.js} +2 -2
  60. package/dist/assets/{WorkflowExecutionsLandingPage-BywskSzl.js → WorkflowExecutionsLandingPage-C4jCCR90.js} +15 -9
  61. package/dist/assets/{WorkflowExecutionsPreview-Bw3RnbrX.js → WorkflowExecutionsPreview-CQ1EmBkZ.js} +347 -15
  62. package/dist/assets/WorkflowExecutionsPreview-DRCpGEbi.css +247 -0
  63. package/dist/assets/{WorkflowExecutionsView-KGfJTF01.js → WorkflowExecutionsView-CdItH9NU.js} +187 -139
  64. package/dist/assets/{WorkflowExecutionsView-Jm7Pw4v1.css → WorkflowExecutionsView-DqAlwS1H.css} +47 -27
  65. package/dist/assets/{WorkflowHistory-TdbKbeFT.js → WorkflowHistory-BHxwr-Yt.js} +8 -8
  66. package/dist/assets/{WorkflowOnboardingView-C5BrBTek.js → WorkflowOnboardingView-BMCtQmja.js} +6 -6
  67. package/dist/assets/{WorkflowPreview-DjH7tXfj.js → WorkflowPreview-Dm-F1IKC.js} +2 -2
  68. package/dist/assets/{WorkflowsView-CqmiCNtd.js → WorkflowsView-OkAUYvKL.js} +14 -14
  69. package/dist/assets/{cloud-DVcstsW2.js → cloud-DRWI97VY.js} +6 -6
  70. package/dist/assets/collaboration.store-DUEBB9uv.js +65 -0
  71. package/dist/assets/{dateFormatter--Jm_2fEm.js → dateFormatter-BQoEbDGi.js} +1 -1
  72. package/dist/assets/{dateformat-U_ybGERk.js → dateformat-BnMKt03f.js} +1 -1
  73. package/dist/assets/email-providers-DwL5ncu9.js +1 -0
  74. package/dist/assets/{fast-json-stable-stringify-DFVeKQSP.js → fast-json-stable-stringify-D53fIhuw.js} +1 -1
  75. package/dist/assets/{file-saver-Kt7b8Ak0.js → file-saver-aVxDTBJI.js} +1 -1
  76. package/dist/assets/{humanize-duration-CgUlcJVm.js → humanize-duration-DE5qJCgx.js} +1 -1
  77. package/dist/assets/{index-1JP5ktFc.css → index-Bqkr-RRJ.css} +278 -113
  78. package/dist/assets/{index-BMqv_cxE.js → index-D1NZCYzm.js} +4123 -6025
  79. package/dist/assets/{jsonpath-DlnJGFD7.js → jsonpath-rcQTxGBV.js} +1 -1
  80. package/dist/assets/{n8n-OU8f1_-B.css → n8n-CeKkptTY.css} +16 -11
  81. package/dist/assets/{n8n-NifPGZSM.js → n8n-Z2397JES.js} +148 -102
  82. package/dist/assets/{pushConnection.store-BQ8wQOWv.js → pushConnection.store-DtTlLmXK.js} +1 -1
  83. package/dist/assets/{templateActions-CY6KLH9V.js → templateActions-YaCceXGU.js} +1 -1
  84. package/dist/assets/{useExecutionDebugging-CjiDOv4V.js → useExecutionDebugging-S7GEmTTt.js} +1 -1
  85. package/dist/assets/{usePushConnection-DmqdJ4p5.js → usePushConnection-Gymv3TIc.js} +3 -3
  86. package/dist/assets/{useUserHelpers-Bhb_a-iT.js → useUserHelpers-WhAIJpQu.js} +1 -1
  87. package/dist/assets/{useWorkflowActivate-BpRa7BDT.js → useWorkflowActivate-BadnTJWu.js} +1 -1
  88. package/dist/assets/{vue-agile-Cf_Be-_o.js → vue-agile-DZ76wxj6.js} +1 -1
  89. package/dist/assets/{vue-json-pretty-CUUthm-2.js → vue-json-pretty-DirxoTt6.js} +1 -1
  90. package/dist/assets/xss-DwL5ncu9.js +1 -0
  91. package/dist/index.html +8 -8
  92. package/package.json +1 -1
  93. package/dist/assets/WorkflowExecutionsPreview-DlcWqXFI.css +0 -79
  94. package/dist/assets/common-DCQSo5lV.js +0 -365
  95. package/dist/assets/email-providers-Cebboc1h.js +0 -1
  96. package/dist/assets/useExecutionHelpers-6mVnBCgd.js +0 -59
  97. package/dist/assets/xss-Cebboc1h.js +0 -1
@@ -1,18 +1,18 @@
1
- import { I as defineComponent, a as ref, f as computed, an as resolveComponent, J as openBlock, K as createElementBlock, u as unref, _ as normalizeClass, L as createBaseVNode, a8 as createVNode, a6 as createTextVNode, a7 as toDisplayString, a3 as withCtx, V as createBlock, U as createCommentVNode, $ as normalizeStyle, n as nextTick, aM as useRouter, q as onMounted, R as Fragment, af as renderList, aB as pushScopeId, aC as popScopeId, aE as useRoute, ah as createSlots } from "./vendor-tVazXwC6.js";
2
- import { f as createEventBus, _ as _export_sfc } from "./n8n-NifPGZSM.js";
3
- import { O as useLoadingService, e as useUIStore, l as useSourceControlStore, u as useToast, r as hasPermission, v as useI18n, G as SOURCE_CONTROL_PUSH_MODAL_KEY, Q as sourceControlEventBus, R as SOURCE_CONTROL_PULL_MODAL_KEY, U as get, X as STORES, Y as useCloudPlanStore, j as useRootStore, Z as useStorage, w as useTelemetry, n as useProjectsStore, V as VIEWS, d as useDebounce, x as useMessage, _ as useTemplatesStore, m as useWorkflowsStore, $ as useVersionsStore, a as useUsersStore, b as useSettingsStore, a0 as VERSIONS_MODAL_KEY, a1 as ABOUT_MODAL_KEY, a2 as useExternalHooks } from "./index-BMqv_cxE.js";
1
+ import { I as defineComponent, a as ref, f as computed, n as nextTick, an as resolveComponent, J as openBlock, K as createElementBlock, _ as normalizeClass, u as unref, $ as normalizeStyle, L as createBaseVNode, a8 as createVNode, a6 as createTextVNode, a7 as toDisplayString, a3 as withCtx, V as createBlock, U as createCommentVNode, aB as pushScopeId, aC as popScopeId, aM as useRouter, q as onMounted, R as Fragment, af as renderList, aE as useRoute, m as onBeforeUnmount, ah as createSlots } from "./vendor-tVazXwC6.js";
2
+ import { f as createEventBus, _ as _export_sfc } from "./n8n-Z2397JES.js";
3
+ import { Q as useLoadingService, e as useUIStore, o as useSourceControlStore, u as useToast, j as useI18n, v as hasPermission, H as SOURCE_CONTROL_PUSH_MODAL_KEY, R as sourceControlEventBus, U as SOURCE_CONTROL_PULL_MODAL_KEY, X as get, Y as STORES, Z as useCloudPlanStore, m as useRootStore, $ as useStorage, x as useTelemetry, p as useProjectsStore, V as VIEWS, b as useSettingsStore, a0 as useTemplatesStore, a as useUsersStore, a1 as useVersionsStore, k as useWorkflowsStore, d as useDebounce, a2 as useExternalHooks, a3 as VERSIONS_MODAL_KEY, a4 as ABOUT_MODAL_KEY } from "./index-D1NZCYzm.js";
4
4
  import { D as DateTime } from "./luxon-Bt_g4NOb.js";
5
- import { d as defineStore, m as mapStores } from "./pinia-DvV9jJ-A.js";
6
- import { u as useUserHelpers } from "./useUserHelpers-Bhb_a-iT.js";
5
+ import { d as defineStore } from "./pinia-DvV9jJ-A.js";
6
+ import { u as useUserHelpers } from "./useUserHelpers-WhAIJpQu.js";
7
7
  import "./esprima-next-DUEu30kB.js";
8
8
  import "./axios-B4zXCSve.js";
9
9
  import "./lodash-es-kRWQHL5K.js";
10
- import "./@vueuse/core-C-N7SOS8.js";
10
+ import "./@vueuse/core-BHDhJRX_.js";
11
11
  import "./uuid-sKupIUZ4.js";
12
12
  import "./flatted-D70IerrI.js";
13
13
  import "./bowser-C3wWO1p5.js";
14
- import "./@n8n/permissions-BdHAniXb.js";
15
- import "./dateformat-U_ybGERk.js";
14
+ import "./@n8n/permissions-BxSXRD9U.js";
15
+ import "./dateformat-BnMKt03f.js";
16
16
  import "./vue-i18n-DNQ-lWfW.js";
17
17
  import "./@n8n/codemirror-lang-CIGGB1t0.js";
18
18
  import "./@lezer/common-CnY9etib.js";
@@ -24,7 +24,7 @@ import "./@jsplumb/common-s1StEx7B.js";
24
24
  import "./@jsplumb/connector-bezier-D659hq4c.js";
25
25
  import "./@jsplumb/browser-ui-BphmFVJY.js";
26
26
  import "./codemirror-lang-html-n8n-CXTCIWzP.js";
27
- import "./fast-json-stable-stringify-DFVeKQSP.js";
27
+ import "./fast-json-stable-stringify-D53fIhuw.js";
28
28
  import "./timeago.js-CgQus8nl.js";
29
29
  import "./qrcode.vue-Di8rc46A.js";
30
30
  import "./vue3-touch-events-DVOgU3fI.js";
@@ -226,7 +226,7 @@ const _hoisted_1$2 = /* @__PURE__ */ createBaseVNode("div", null, null, -1);
226
226
  const _hoisted_2$2 = [
227
227
  _hoisted_1$2
228
228
  ];
229
- function _sfc_render$1(_ctx, _cache) {
229
+ function _sfc_render(_ctx, _cache) {
230
230
  const _component_font_awesome_icon = resolveComponent("font-awesome-icon");
231
231
  return openBlock(), createElementBlock("div", {
232
232
  class: normalizeClass(_ctx.$style["gift-icon"])
@@ -240,7 +240,7 @@ function _sfc_render$1(_ctx, _cache) {
240
240
  const cssModules$3 = {
241
241
  "$style": style0$3
242
242
  };
243
- const __unplugin_components_2 = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render$1], ["__cssModules", cssModules$3]]);
243
+ const __unplugin_components_2 = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["render", _sfc_render], ["__cssModules", cssModules$3]]);
244
244
  async function getBecomeCreatorCta(context) {
245
245
  const response = await get(context.baseUrl, "/cta/become-creator");
246
246
  return response;
@@ -569,280 +569,430 @@ const cssModules$1 = {
569
569
  "$style": style0$1
570
570
  };
571
571
  const __unplugin_components_0 = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__cssModules", cssModules$1], ["__scopeId", "data-v-0cb58cfa"]]);
572
- const _sfc_main = defineComponent({
573
- name: "MainSidebar",
574
- components: {
575
- GiftNotificationIcon: __unplugin_components_2,
576
- MainSidebarSourceControl: __unplugin_components_3,
577
- BecomeTemplateCreatorCta: __unplugin_components_1,
578
- ProjectNavigation: __unplugin_components_0
579
- },
580
- setup() {
581
- const externalHooks = useExternalHooks();
572
+ const _hoisted_1 = ["src"];
573
+ const _hoisted_2 = {
574
+ class: "ml-3xs",
575
+ "data-test-id": "main-sidebar-user-menu"
576
+ };
577
+ const _sfc_main = /* @__PURE__ */ defineComponent({
578
+ __name: "MainSidebar",
579
+ setup(__props) {
580
+ const becomeTemplateCreatorStore = useBecomeTemplateCreatorStore();
581
+ const cloudPlanStore = useCloudPlanStore();
582
+ const rootStore = useRootStore();
583
+ const settingsStore = useSettingsStore();
584
+ const templatesStore = useTemplatesStore();
585
+ const uiStore = useUIStore();
586
+ const usersStore = useUsersStore();
587
+ const versionsStore = useVersionsStore();
588
+ const workflowsStore = useWorkflowsStore();
582
589
  const { callDebounced } = useDebounce();
583
- const router = useRouter();
590
+ const externalHooks = useExternalHooks();
591
+ const locale = useI18n();
584
592
  const route = useRoute();
585
- return {
586
- externalHooks,
587
- callDebounced,
588
- ...useMessage(),
589
- ...useUserHelpers(router, route)
590
- };
591
- },
592
- data() {
593
- return {
594
- basePath: "",
595
- fullyExpanded: false
596
- };
597
- },
598
- computed: {
599
- ...mapStores(
600
- useRootStore,
601
- useSettingsStore,
602
- useUIStore,
603
- useUsersStore,
604
- useVersionsStore,
605
- useWorkflowsStore,
606
- useCloudPlanStore,
607
- useSourceControlStore,
608
- useBecomeTemplateCreatorStore,
609
- useTemplatesStore
610
- ),
611
- logoPath() {
612
- return this.basePath + (this.isCollapsed ? "static/logo/collapsed.svg" : this.uiStore.logo);
613
- },
614
- hasVersionUpdates() {
615
- return this.settingsStore.settings.releaseChannel === "stable" && this.versionsStore.hasVersionUpdates;
616
- },
617
- nextVersions() {
618
- return this.versionsStore.nextVersions;
619
- },
620
- isCollapsed() {
621
- return this.uiStore.sidebarMenuCollapsed;
622
- },
623
- showUserArea() {
624
- return hasPermission(["authenticated"]);
625
- },
626
- workflowExecution() {
627
- return this.workflowsStore.getWorkflowExecution;
628
- },
629
- userMenuItems() {
630
- return [
631
- {
632
- id: "settings",
633
- label: this.$locale.baseText("settings")
634
- },
635
- {
636
- id: "logout",
637
- label: this.$locale.baseText("auth.signout")
593
+ const router = useRouter();
594
+ const telemetry = useTelemetry();
595
+ useUserHelpers(router, route);
596
+ const user = ref(null);
597
+ const basePath = ref("");
598
+ const fullyExpanded = ref(false);
599
+ const userMenuItems = ref([
600
+ {
601
+ id: "settings",
602
+ label: locale.baseText("settings")
603
+ },
604
+ {
605
+ id: "logout",
606
+ label: locale.baseText("auth.signout")
607
+ }
608
+ ]);
609
+ const mainMenuItems = ref([
610
+ {
611
+ id: "cloud-admin",
612
+ position: "bottom",
613
+ label: "Admin Panel",
614
+ icon: "cloud",
615
+ available: settingsStore.isCloudDeployment && hasPermission(["instanceOwner"])
616
+ },
617
+ {
618
+ // Link to in-app templates, available if custom templates are enabled
619
+ id: "templates",
620
+ icon: "box-open",
621
+ label: locale.baseText("mainSidebar.templates"),
622
+ position: "bottom",
623
+ available: settingsStore.isTemplatesEnabled && templatesStore.hasCustomTemplatesHost,
624
+ route: { to: { name: VIEWS.TEMPLATES } }
625
+ },
626
+ {
627
+ // Link to website templates, available if custom templates are not enabled
628
+ id: "templates",
629
+ icon: "box-open",
630
+ label: locale.baseText("mainSidebar.templates"),
631
+ position: "bottom",
632
+ available: settingsStore.isTemplatesEnabled && !templatesStore.hasCustomTemplatesHost,
633
+ link: {
634
+ href: templatesStore.websiteTemplateRepositoryURL,
635
+ target: "_blank"
638
636
  }
639
- ];
640
- },
641
- mainMenuItems() {
642
- const items = [
643
- {
644
- id: "cloud-admin",
645
- position: "bottom",
646
- label: "Admin Panel",
647
- icon: "cloud",
648
- available: this.settingsStore.isCloudDeployment && hasPermission(["instanceOwner"])
649
- },
650
- {
651
- // Link to in-app templates, available if custom templates are enabled
652
- id: "templates",
653
- icon: "box-open",
654
- label: this.$locale.baseText("mainSidebar.templates"),
655
- position: "bottom",
656
- available: this.settingsStore.isTemplatesEnabled && this.templatesStore.hasCustomTemplatesHost,
657
- route: { to: { name: VIEWS.TEMPLATES } }
658
- },
659
- {
660
- // Link to website templates, available if custom templates are not enabled
661
- id: "templates",
662
- icon: "box-open",
663
- label: this.$locale.baseText("mainSidebar.templates"),
664
- position: "bottom",
665
- available: this.settingsStore.isTemplatesEnabled && !this.templatesStore.hasCustomTemplatesHost,
666
- link: {
667
- href: this.templatesStore.websiteTemplateRepositoryURL,
668
- target: "_blank"
669
- }
670
- },
671
- {
672
- id: "variables",
673
- icon: "variable",
674
- label: this.$locale.baseText("mainSidebar.variables"),
675
- customIconSize: "medium",
676
- position: "bottom",
677
- route: { to: { name: VIEWS.VARIABLES } }
678
- },
679
- {
680
- id: "executions",
681
- icon: "tasks",
682
- label: this.$locale.baseText("mainSidebar.executions"),
683
- position: "bottom",
684
- route: { to: { name: VIEWS.EXECUTIONS } }
685
- },
686
- {
687
- id: "help",
688
- icon: "question",
689
- label: this.$locale.baseText("mainSidebar.help"),
690
- position: "bottom",
691
- children: [
692
- {
693
- id: "quickstart",
694
- icon: "video",
695
- label: this.$locale.baseText("mainSidebar.helpMenuItems.quickstart"),
696
- link: {
697
- href: "https://www.youtube.com/watch?v=1MwSoB0gnM4",
698
- target: "_blank"
699
- }
700
- },
701
- {
702
- id: "docs",
703
- icon: "book",
704
- label: this.$locale.baseText("mainSidebar.helpMenuItems.documentation"),
705
- link: {
706
- href: "https://docs.n8n.io?utm_source=n8n_app&utm_medium=app_sidebar",
707
- target: "_blank"
708
- }
709
- },
710
- {
711
- id: "forum",
712
- icon: "users",
713
- label: this.$locale.baseText("mainSidebar.helpMenuItems.forum"),
714
- link: {
715
- href: "https://community.n8n.io?utm_source=n8n_app&utm_medium=app_sidebar",
716
- target: "_blank"
717
- }
718
- },
719
- {
720
- id: "examples",
721
- icon: "graduation-cap",
722
- label: this.$locale.baseText("mainSidebar.helpMenuItems.course"),
723
- link: {
724
- href: "https://docs.n8n.io/courses/",
725
- target: "_blank"
726
- }
727
- },
728
- {
729
- id: "about",
730
- icon: "info",
731
- label: this.$locale.baseText("mainSidebar.aboutN8n"),
732
- position: "bottom"
637
+ },
638
+ {
639
+ id: "variables",
640
+ icon: "variable",
641
+ label: locale.baseText("mainSidebar.variables"),
642
+ customIconSize: "medium",
643
+ position: "bottom",
644
+ route: { to: { name: VIEWS.VARIABLES } }
645
+ },
646
+ {
647
+ id: "executions",
648
+ icon: "tasks",
649
+ label: locale.baseText("mainSidebar.executions"),
650
+ position: "bottom",
651
+ route: { to: { name: VIEWS.EXECUTIONS } }
652
+ },
653
+ {
654
+ id: "help",
655
+ icon: "question",
656
+ label: locale.baseText("mainSidebar.help"),
657
+ position: "bottom",
658
+ children: [
659
+ {
660
+ id: "quickstart",
661
+ icon: "video",
662
+ label: locale.baseText("mainSidebar.helpMenuItems.quickstart"),
663
+ link: {
664
+ href: "https://www.youtube.com/watch?v=1MwSoB0gnM4",
665
+ target: "_blank"
733
666
  }
734
- ]
735
- }
736
- ];
737
- return items;
738
- },
739
- userIsTrialing() {
740
- return this.cloudPlanStore.userIsTrialing;
741
- }
742
- },
743
- async mounted() {
744
- this.basePath = this.rootStore.baseUrl;
745
- if (this.$refs.user) {
746
- void this.externalHooks.run("mainSidebar.mounted", {
747
- userRef: this.$refs.user
667
+ },
668
+ {
669
+ id: "docs",
670
+ icon: "book",
671
+ label: locale.baseText("mainSidebar.helpMenuItems.documentation"),
672
+ link: {
673
+ href: "https://docs.n8n.io?utm_source=n8n_app&utm_medium=app_sidebar",
674
+ target: "_blank"
675
+ }
676
+ },
677
+ {
678
+ id: "forum",
679
+ icon: "users",
680
+ label: locale.baseText("mainSidebar.helpMenuItems.forum"),
681
+ link: {
682
+ href: "https://community.n8n.io?utm_source=n8n_app&utm_medium=app_sidebar",
683
+ target: "_blank"
684
+ }
685
+ },
686
+ {
687
+ id: "examples",
688
+ icon: "graduation-cap",
689
+ label: locale.baseText("mainSidebar.helpMenuItems.course"),
690
+ link: {
691
+ href: "https://docs.n8n.io/courses/",
692
+ target: "_blank"
693
+ }
694
+ },
695
+ {
696
+ id: "about",
697
+ icon: "info",
698
+ label: locale.baseText("mainSidebar.aboutN8n"),
699
+ position: "bottom"
700
+ }
701
+ ]
702
+ }
703
+ ]);
704
+ const isCollapsed = computed(() => uiStore.sidebarMenuCollapsed);
705
+ const logoPath = computed(
706
+ () => basePath.value + (isCollapsed.value ? "static/logo/collapsed.svg" : uiStore.logo)
707
+ );
708
+ const hasVersionUpdates = computed(
709
+ () => settingsStore.settings.releaseChannel === "stable" && versionsStore.hasVersionUpdates
710
+ );
711
+ const nextVersions = computed(() => versionsStore.nextVersions);
712
+ const showUserArea = computed(() => hasPermission(["authenticated"]));
713
+ const userIsTrialing = computed(() => cloudPlanStore.userIsTrialing);
714
+ onMounted(async () => {
715
+ window.addEventListener("resize", onResize);
716
+ basePath.value = rootStore.baseUrl;
717
+ if (user.value) {
718
+ void externalHooks.run("mainSidebar.mounted", {
719
+ userRef: user.value
720
+ });
721
+ }
722
+ await nextTick(() => {
723
+ uiStore.sidebarMenuCollapsed = window.innerWidth < 900;
724
+ fullyExpanded.value = !isCollapsed.value;
748
725
  });
749
- }
750
- void this.$nextTick(() => {
751
- this.uiStore.sidebarMenuCollapsed = window.innerWidth < 900;
752
- this.fullyExpanded = !this.isCollapsed;
726
+ becomeTemplateCreatorStore.startMonitoringCta();
753
727
  });
754
- this.becomeTemplateCreatorStore.startMonitoringCta();
755
- },
756
- created() {
757
- window.addEventListener("resize", this.onResize);
758
- },
759
- beforeUnmount() {
760
- this.becomeTemplateCreatorStore.stopMonitoringCta();
761
- window.removeEventListener("resize", this.onResize);
762
- },
763
- methods: {
764
- trackHelpItemClick(itemType) {
765
- this.$telemetry.track("User clicked help resource", {
766
- type: itemType,
767
- workflow_id: this.workflowsStore.workflowId
768
- });
769
- },
770
- trackTemplatesClick() {
728
+ onBeforeUnmount(() => {
729
+ becomeTemplateCreatorStore.stopMonitoringCta();
730
+ window.removeEventListener("resize", onResize);
731
+ });
732
+ const trackTemplatesClick = () => {
771
733
  var _a;
772
- this.$telemetry.track("User clicked on templates", {
773
- role: (_a = this.usersStore.currentUserCloudInfo) == null ? void 0 : _a.role,
774
- active_workflow_count: this.workflowsStore.activeWorkflows.length
734
+ telemetry.track("User clicked on templates", {
735
+ role: (_a = usersStore.currentUserCloudInfo) == null ? void 0 : _a.role,
736
+ active_workflow_count: workflowsStore.activeWorkflows.length
737
+ });
738
+ };
739
+ const trackHelpItemClick = (itemType) => {
740
+ telemetry.track("User clicked help resource", {
741
+ type: itemType,
742
+ workflow_id: workflowsStore.workflowId
775
743
  });
776
- },
777
- async onUserActionToggle(action) {
744
+ };
745
+ const onUserActionToggle = (action) => {
778
746
  switch (action) {
779
747
  case "logout":
780
- this.onLogout();
748
+ onLogout();
781
749
  break;
782
750
  case "settings":
783
- void this.$router.push({ name: VIEWS.PERSONAL_SETTINGS });
751
+ void router.push({ name: VIEWS.PERSONAL_SETTINGS });
784
752
  break;
785
753
  default:
786
754
  break;
787
755
  }
788
- },
789
- onLogout() {
790
- void this.$router.push({ name: VIEWS.SIGNOUT });
791
- },
792
- toggleCollapse() {
793
- this.uiStore.toggleSidebarMenuCollapse();
794
- if (!this.isCollapsed) {
756
+ };
757
+ const onLogout = () => {
758
+ void router.push({ name: VIEWS.SIGNOUT });
759
+ };
760
+ const toggleCollapse = () => {
761
+ uiStore.toggleSidebarMenuCollapse();
762
+ if (!isCollapsed.value) {
795
763
  setTimeout(() => {
796
- this.fullyExpanded = !this.isCollapsed;
764
+ fullyExpanded.value = !isCollapsed.value;
797
765
  }, 300);
798
766
  } else {
799
- this.fullyExpanded = !this.isCollapsed;
767
+ fullyExpanded.value = !isCollapsed.value;
800
768
  }
801
- },
802
- openUpdatesPanel() {
803
- this.uiStore.openModal(VERSIONS_MODAL_KEY);
804
- },
805
- async handleSelect(key) {
769
+ };
770
+ const openUpdatesPanel = () => {
771
+ uiStore.openModal(VERSIONS_MODAL_KEY);
772
+ };
773
+ const handleSelect = (key) => {
806
774
  switch (key) {
807
775
  case "templates":
808
- if (this.settingsStore.isTemplatesEnabled && !this.templatesStore.hasCustomTemplatesHost) {
809
- this.trackTemplatesClick();
776
+ if (settingsStore.isTemplatesEnabled && !templatesStore.hasCustomTemplatesHost) {
777
+ trackTemplatesClick();
810
778
  }
811
779
  break;
812
780
  case "about": {
813
- this.trackHelpItemClick("about");
814
- this.uiStore.openModal(ABOUT_MODAL_KEY);
781
+ trackHelpItemClick("about");
782
+ uiStore.openModal(ABOUT_MODAL_KEY);
815
783
  break;
816
784
  }
817
785
  case "cloud-admin": {
818
- void this.cloudPlanStore.redirectToDashboard();
786
+ void cloudPlanStore.redirectToDashboard();
819
787
  break;
820
788
  }
821
789
  case "quickstart":
822
790
  case "docs":
823
791
  case "forum":
824
792
  case "examples": {
825
- this.trackHelpItemClick(key);
793
+ trackHelpItemClick(key);
826
794
  break;
827
795
  }
828
796
  default:
829
797
  break;
830
798
  }
831
- },
832
- onResize(event) {
833
- void this.callDebounced(this.onResizeEnd, { debounceTime: 100 }, event);
834
- },
835
- async onResizeEnd(event) {
799
+ };
800
+ const onResize = (event) => {
801
+ void callDebounced(onResizeEnd, { debounceTime: 100 }, event);
802
+ };
803
+ const onResizeEnd = async (event) => {
836
804
  const browserWidth = event.target.outerWidth;
837
- await this.checkWidthAndAdjustSidebar(browserWidth);
838
- },
839
- async checkWidthAndAdjustSidebar(width) {
805
+ await checkWidthAndAdjustSidebar(browserWidth);
806
+ };
807
+ const checkWidthAndAdjustSidebar = async (width) => {
840
808
  if (width < 900) {
841
- this.uiStore.sidebarMenuCollapsed = true;
842
- await this.$nextTick();
843
- this.fullyExpanded = !this.isCollapsed;
809
+ uiStore.sidebarMenuCollapsed = true;
810
+ await nextTick();
811
+ fullyExpanded.value = !isCollapsed.value;
844
812
  }
845
- }
813
+ };
814
+ return (_ctx, _cache) => {
815
+ const _component_n8n_icon = resolveComponent("n8n-icon");
816
+ const _component_ProjectNavigation = __unplugin_components_0;
817
+ const _component_BecomeTemplateCreatorCta = __unplugin_components_1;
818
+ const _component_GiftNotificationIcon = __unplugin_components_2;
819
+ const _component_n8n_text = resolveComponent("n8n-text");
820
+ const _component_MainSidebarSourceControl = __unplugin_components_3;
821
+ const _component_n8n_avatar = resolveComponent("n8n-avatar");
822
+ const _component_el_dropdown_item = resolveComponent("el-dropdown-item");
823
+ const _component_el_dropdown_menu = resolveComponent("el-dropdown-menu");
824
+ const _component_el_dropdown = resolveComponent("el-dropdown");
825
+ const _component_n8n_action_dropdown = resolveComponent("n8n-action-dropdown");
826
+ const _component_n8n_menu = resolveComponent("n8n-menu");
827
+ return openBlock(), createElementBlock("div", {
828
+ id: "side-menu",
829
+ class: normalizeClass({
830
+ ["side-menu"]: true,
831
+ [_ctx.$style.sideMenu]: true,
832
+ [_ctx.$style.sideMenuCollapsed]: isCollapsed.value
833
+ })
834
+ }, [
835
+ createBaseVNode("div", {
836
+ id: "collapse-change-button",
837
+ class: normalizeClass(["clickable", _ctx.$style.sideMenuCollapseButton]),
838
+ onClick: toggleCollapse
839
+ }, [
840
+ isCollapsed.value ? (openBlock(), createBlock(_component_n8n_icon, {
841
+ key: 0,
842
+ icon: "chevron-right",
843
+ size: "xsmall",
844
+ class: "ml-5xs"
845
+ })) : (openBlock(), createBlock(_component_n8n_icon, {
846
+ key: 1,
847
+ icon: "chevron-left",
848
+ size: "xsmall",
849
+ class: "mr-5xs"
850
+ }))
851
+ ], 2),
852
+ createVNode(_component_n8n_menu, {
853
+ items: mainMenuItems.value,
854
+ collapsed: isCollapsed.value,
855
+ onSelect: handleSelect
856
+ }, createSlots({
857
+ header: withCtx(() => {
858
+ var _a;
859
+ return [
860
+ createBaseVNode("div", {
861
+ class: normalizeClass(_ctx.$style.logo)
862
+ }, [
863
+ createBaseVNode("img", {
864
+ src: logoPath.value,
865
+ "data-test-id": "n8n-logo",
866
+ class: normalizeClass(_ctx.$style.icon),
867
+ alt: "n8n"
868
+ }, null, 10, _hoisted_1)
869
+ ], 2),
870
+ createVNode(_component_ProjectNavigation, {
871
+ collapsed: isCollapsed.value,
872
+ "plan-name": (_a = unref(cloudPlanStore).currentPlanData) == null ? void 0 : _a.displayName
873
+ }, null, 8, ["collapsed", "plan-name"])
874
+ ];
875
+ }),
876
+ beforeLowerMenu: withCtx(() => [
877
+ fullyExpanded.value && !userIsTrialing.value ? (openBlock(), createBlock(_component_BecomeTemplateCreatorCta, { key: 0 })) : createCommentVNode("", true)
878
+ ]),
879
+ menuSuffix: withCtx(() => [
880
+ createBaseVNode("div", null, [
881
+ hasVersionUpdates.value ? (openBlock(), createElementBlock("div", {
882
+ key: 0,
883
+ "data-test-id": "version-updates-panel-button",
884
+ class: normalizeClass(_ctx.$style.updates),
885
+ onClick: openUpdatesPanel
886
+ }, [
887
+ createBaseVNode("div", {
888
+ class: normalizeClass(_ctx.$style.giftContainer)
889
+ }, [
890
+ createVNode(_component_GiftNotificationIcon)
891
+ ], 2),
892
+ createVNode(_component_n8n_text, {
893
+ class: normalizeClass({ ["ml-xs"]: true, [_ctx.$style.expanded]: fullyExpanded.value }),
894
+ color: "text-base"
895
+ }, {
896
+ default: withCtx(() => [
897
+ createTextVNode(toDisplayString(nextVersions.value.length > 99 ? "99+" : nextVersions.value.length) + " update" + toDisplayString(nextVersions.value.length > 1 ? "s" : ""), 1)
898
+ ]),
899
+ _: 1
900
+ }, 8, ["class"])
901
+ ], 2)) : createCommentVNode("", true),
902
+ createVNode(_component_MainSidebarSourceControl, { "is-collapsed": isCollapsed.value }, null, 8, ["is-collapsed"])
903
+ ])
904
+ ]),
905
+ _: 2
906
+ }, [
907
+ showUserArea.value ? {
908
+ name: "footer",
909
+ fn: withCtx(() => [
910
+ createBaseVNode("div", {
911
+ ref_key: "user",
912
+ ref: user,
913
+ class: normalizeClass(_ctx.$style.userArea)
914
+ }, [
915
+ createBaseVNode("div", _hoisted_2, [
916
+ createVNode(_component_el_dropdown, {
917
+ placement: "right-end",
918
+ trigger: "click",
919
+ onCommand: onUserActionToggle
920
+ }, createSlots({
921
+ default: withCtx(() => {
922
+ var _a, _b;
923
+ return [
924
+ createBaseVNode("div", {
925
+ class: normalizeClass({ [_ctx.$style.avatar]: true, ["clickable"]: isCollapsed.value })
926
+ }, [
927
+ createVNode(_component_n8n_avatar, {
928
+ "first-name": (_a = unref(usersStore).currentUser) == null ? void 0 : _a.firstName,
929
+ "last-name": (_b = unref(usersStore).currentUser) == null ? void 0 : _b.lastName,
930
+ size: "small"
931
+ }, null, 8, ["first-name", "last-name"])
932
+ ], 2)
933
+ ];
934
+ }),
935
+ _: 2
936
+ }, [
937
+ isCollapsed.value ? {
938
+ name: "dropdown",
939
+ fn: withCtx(() => [
940
+ createVNode(_component_el_dropdown_menu, null, {
941
+ default: withCtx(() => [
942
+ createVNode(_component_el_dropdown_item, { command: "settings" }, {
943
+ default: withCtx(() => [
944
+ createTextVNode(toDisplayString(_ctx.$locale.baseText("settings")), 1)
945
+ ]),
946
+ _: 1
947
+ }),
948
+ createVNode(_component_el_dropdown_item, { command: "logout" }, {
949
+ default: withCtx(() => [
950
+ createTextVNode(toDisplayString(_ctx.$locale.baseText("auth.signout")), 1)
951
+ ]),
952
+ _: 1
953
+ })
954
+ ]),
955
+ _: 1
956
+ })
957
+ ]),
958
+ key: "0"
959
+ } : void 0
960
+ ]), 1024)
961
+ ]),
962
+ createBaseVNode("div", {
963
+ class: normalizeClass({ ["ml-2xs"]: true, [_ctx.$style.userName]: true, [_ctx.$style.expanded]: fullyExpanded.value })
964
+ }, [
965
+ createVNode(_component_n8n_text, {
966
+ size: "small",
967
+ bold: true,
968
+ color: "text-dark"
969
+ }, {
970
+ default: withCtx(() => {
971
+ var _a;
972
+ return [
973
+ createTextVNode(toDisplayString((_a = unref(usersStore).currentUser) == null ? void 0 : _a.fullName), 1)
974
+ ];
975
+ }),
976
+ _: 1
977
+ })
978
+ ], 2),
979
+ createBaseVNode("div", {
980
+ class: normalizeClass({ [_ctx.$style.userActions]: true, [_ctx.$style.expanded]: fullyExpanded.value })
981
+ }, [
982
+ createVNode(_component_n8n_action_dropdown, {
983
+ items: userMenuItems.value,
984
+ placement: "top-start",
985
+ "data-test-id": "user-menu",
986
+ onSelect: onUserActionToggle
987
+ }, null, 8, ["items"])
988
+ ], 2)
989
+ ], 2)
990
+ ]),
991
+ key: "0"
992
+ } : void 0
993
+ ]), 1032, ["items", "collapsed"])
994
+ ], 2);
995
+ };
846
996
  }
847
997
  });
848
998
  const sideMenu = "_sideMenu_1qnza_1";
@@ -865,195 +1015,10 @@ const style0 = {
865
1015
  userName,
866
1016
  userActions
867
1017
  };
868
- const _hoisted_1 = ["src"];
869
- const _hoisted_2 = {
870
- class: "ml-3xs",
871
- "data-test-id": "main-sidebar-user-menu"
872
- };
873
- function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
874
- const _component_n8n_icon = resolveComponent("n8n-icon");
875
- const _component_ProjectNavigation = __unplugin_components_0;
876
- const _component_BecomeTemplateCreatorCta = __unplugin_components_1;
877
- const _component_GiftNotificationIcon = __unplugin_components_2;
878
- const _component_n8n_text = resolveComponent("n8n-text");
879
- const _component_MainSidebarSourceControl = __unplugin_components_3;
880
- const _component_n8n_avatar = resolveComponent("n8n-avatar");
881
- const _component_el_dropdown_item = resolveComponent("el-dropdown-item");
882
- const _component_el_dropdown_menu = resolveComponent("el-dropdown-menu");
883
- const _component_el_dropdown = resolveComponent("el-dropdown");
884
- const _component_n8n_action_dropdown = resolveComponent("n8n-action-dropdown");
885
- const _component_n8n_menu = resolveComponent("n8n-menu");
886
- return openBlock(), createElementBlock("div", {
887
- id: "side-menu",
888
- class: normalizeClass({
889
- ["side-menu"]: true,
890
- [_ctx.$style.sideMenu]: true,
891
- [_ctx.$style.sideMenuCollapsed]: _ctx.isCollapsed
892
- })
893
- }, [
894
- createBaseVNode("div", {
895
- id: "collapse-change-button",
896
- class: normalizeClass(["clickable", _ctx.$style.sideMenuCollapseButton]),
897
- onClick: _cache[0] || (_cache[0] = (...args) => _ctx.toggleCollapse && _ctx.toggleCollapse(...args))
898
- }, [
899
- _ctx.isCollapsed ? (openBlock(), createBlock(_component_n8n_icon, {
900
- key: 0,
901
- icon: "chevron-right",
902
- size: "xsmall",
903
- class: "ml-5xs"
904
- })) : (openBlock(), createBlock(_component_n8n_icon, {
905
- key: 1,
906
- icon: "chevron-left",
907
- size: "xsmall",
908
- class: "mr-5xs"
909
- }))
910
- ], 2),
911
- createVNode(_component_n8n_menu, {
912
- items: _ctx.mainMenuItems,
913
- collapsed: _ctx.isCollapsed,
914
- onSelect: _ctx.handleSelect
915
- }, createSlots({
916
- header: withCtx(() => {
917
- var _a;
918
- return [
919
- createBaseVNode("div", {
920
- class: normalizeClass(_ctx.$style.logo)
921
- }, [
922
- createBaseVNode("img", {
923
- src: _ctx.logoPath,
924
- "data-test-id": "n8n-logo",
925
- class: normalizeClass(_ctx.$style.icon),
926
- alt: "n8n"
927
- }, null, 10, _hoisted_1)
928
- ], 2),
929
- createVNode(_component_ProjectNavigation, {
930
- collapsed: _ctx.isCollapsed,
931
- "plan-name": (_a = _ctx.cloudPlanStore.currentPlanData) == null ? void 0 : _a.displayName
932
- }, null, 8, ["collapsed", "plan-name"])
933
- ];
934
- }),
935
- beforeLowerMenu: withCtx(() => [
936
- _ctx.fullyExpanded && !_ctx.userIsTrialing ? (openBlock(), createBlock(_component_BecomeTemplateCreatorCta, { key: 0 })) : createCommentVNode("", true)
937
- ]),
938
- menuSuffix: withCtx(() => [
939
- createBaseVNode("div", null, [
940
- _ctx.hasVersionUpdates ? (openBlock(), createElementBlock("div", {
941
- key: 0,
942
- "data-test-id": "version-updates-panel-button",
943
- class: normalizeClass(_ctx.$style.updates),
944
- onClick: _cache[1] || (_cache[1] = (...args) => _ctx.openUpdatesPanel && _ctx.openUpdatesPanel(...args))
945
- }, [
946
- createBaseVNode("div", {
947
- class: normalizeClass(_ctx.$style.giftContainer)
948
- }, [
949
- createVNode(_component_GiftNotificationIcon)
950
- ], 2),
951
- createVNode(_component_n8n_text, {
952
- class: normalizeClass({ ["ml-xs"]: true, [_ctx.$style.expanded]: _ctx.fullyExpanded }),
953
- color: "text-base"
954
- }, {
955
- default: withCtx(() => [
956
- createTextVNode(toDisplayString(_ctx.nextVersions.length > 99 ? "99+" : _ctx.nextVersions.length) + " update" + toDisplayString(_ctx.nextVersions.length > 1 ? "s" : ""), 1)
957
- ]),
958
- _: 1
959
- }, 8, ["class"])
960
- ], 2)) : createCommentVNode("", true),
961
- createVNode(_component_MainSidebarSourceControl, { "is-collapsed": _ctx.isCollapsed }, null, 8, ["is-collapsed"])
962
- ])
963
- ]),
964
- _: 2
965
- }, [
966
- _ctx.showUserArea ? {
967
- name: "footer",
968
- fn: withCtx(() => [
969
- createBaseVNode("div", {
970
- class: normalizeClass(_ctx.$style.userArea)
971
- }, [
972
- createBaseVNode("div", _hoisted_2, [
973
- createVNode(_component_el_dropdown, {
974
- placement: "right-end",
975
- trigger: "click",
976
- onCommand: _ctx.onUserActionToggle
977
- }, createSlots({
978
- default: withCtx(() => {
979
- var _a, _b;
980
- return [
981
- createBaseVNode("div", {
982
- class: normalizeClass({ [_ctx.$style.avatar]: true, ["clickable"]: _ctx.isCollapsed })
983
- }, [
984
- createVNode(_component_n8n_avatar, {
985
- "first-name": (_a = _ctx.usersStore.currentUser) == null ? void 0 : _a.firstName,
986
- "last-name": (_b = _ctx.usersStore.currentUser) == null ? void 0 : _b.lastName,
987
- size: "small"
988
- }, null, 8, ["first-name", "last-name"])
989
- ], 2)
990
- ];
991
- }),
992
- _: 2
993
- }, [
994
- _ctx.isCollapsed ? {
995
- name: "dropdown",
996
- fn: withCtx(() => [
997
- createVNode(_component_el_dropdown_menu, null, {
998
- default: withCtx(() => [
999
- createVNode(_component_el_dropdown_item, { command: "settings" }, {
1000
- default: withCtx(() => [
1001
- createTextVNode(toDisplayString(_ctx.$locale.baseText("settings")), 1)
1002
- ]),
1003
- _: 1
1004
- }),
1005
- createVNode(_component_el_dropdown_item, { command: "logout" }, {
1006
- default: withCtx(() => [
1007
- createTextVNode(toDisplayString(_ctx.$locale.baseText("auth.signout")), 1)
1008
- ]),
1009
- _: 1
1010
- })
1011
- ]),
1012
- _: 1
1013
- })
1014
- ]),
1015
- key: "0"
1016
- } : void 0
1017
- ]), 1032, ["onCommand"])
1018
- ]),
1019
- createBaseVNode("div", {
1020
- class: normalizeClass({ ["ml-2xs"]: true, [_ctx.$style.userName]: true, [_ctx.$style.expanded]: _ctx.fullyExpanded })
1021
- }, [
1022
- createVNode(_component_n8n_text, {
1023
- size: "small",
1024
- bold: true,
1025
- color: "text-dark"
1026
- }, {
1027
- default: withCtx(() => {
1028
- var _a;
1029
- return [
1030
- createTextVNode(toDisplayString((_a = _ctx.usersStore.currentUser) == null ? void 0 : _a.fullName), 1)
1031
- ];
1032
- }),
1033
- _: 1
1034
- })
1035
- ], 2),
1036
- createBaseVNode("div", {
1037
- class: normalizeClass({ [_ctx.$style.userActions]: true, [_ctx.$style.expanded]: _ctx.fullyExpanded })
1038
- }, [
1039
- createVNode(_component_n8n_action_dropdown, {
1040
- items: _ctx.userMenuItems,
1041
- placement: "top-start",
1042
- "data-test-id": "user-menu",
1043
- onSelect: _ctx.onUserActionToggle
1044
- }, null, 8, ["items", "onSelect"])
1045
- ], 2)
1046
- ], 2)
1047
- ]),
1048
- key: "0"
1049
- } : void 0
1050
- ]), 1032, ["items", "collapsed", "onSelect"])
1051
- ], 2);
1052
- }
1053
1018
  const cssModules = {
1054
1019
  "$style": style0
1055
1020
  };
1056
- const MainSidebar = /* @__PURE__ */ _export_sfc(_sfc_main, [["render", _sfc_render], ["__cssModules", cssModules]]);
1021
+ const MainSidebar = /* @__PURE__ */ _export_sfc(_sfc_main, [["__cssModules", cssModules]]);
1057
1022
  export {
1058
1023
  MainSidebar as default
1059
1024
  };