n8n-editor-ui 1.92.0 → 1.94.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 (124) hide show
  1. package/dist/assets/{AnimatedSpinner-CtKKeDrz.js → AnimatedSpinner-CY5xYI5m.js} +1 -1
  2. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DR6h_xsK.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BOrzkwPH.js} +1 -1
  3. package/dist/assets/{AuthView-mKkzBRxh.js → AuthView-BTzGYAnY.js} +2 -2
  4. package/dist/assets/{CanvasChatSwitch-Bu2VD2kp.js → CanvasChatSwitch-CwpjFCL0.js} +17 -18
  5. package/dist/assets/{ChangePasswordView-D5UI1v-J.js → ChangePasswordView-BKR2UFVI.js} +3 -3
  6. package/dist/assets/CollectionParameter-BJtiV9En.js +4 -0
  7. package/dist/assets/{CredentialsView-B78eNJO5.js → CredentialsView-DVgxfnNi.js} +26 -11
  8. package/dist/assets/{DemoFooter-DP26HpCu.js → DemoFooter-C1T3Q0NX.js} +7 -8
  9. package/dist/assets/{ErrorView-C3fvEdCg.js → ErrorView-Cf2Yb8Ea.js} +1 -1
  10. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-BBpwYdHY.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-DUu0UMcW.js} +2 -2
  11. package/dist/assets/{ExecutionsView-BvlDZwIs.js → ExecutionsView-DjNkfnDh.js} +20 -18
  12. package/dist/assets/{FileSaver.min-BzAtcQXX.js → FileSaver.min-C1p9Eies.js} +1 -1
  13. package/dist/assets/{FixedCollectionParameter-CS5zXMAh.js → FixedCollectionParameter-DN_uJhpe.js} +1 -1
  14. package/dist/assets/{ForgotMyPasswordView-CVQ7pcIG.js → ForgotMyPasswordView-BMQBDIrq.js} +3 -3
  15. package/dist/assets/{InsightsChartAverageRuntime-Boh0SMb3.js → InsightsChartAverageRuntime-JzBkV6Rc.js} +4 -4
  16. package/dist/assets/{InsightsChartFailed-IZ-KYOU9.js → InsightsChartFailed-DMD3c7zM.js} +4 -4
  17. package/dist/assets/{InsightsChartFailureRate-2fWw3p0L.js → InsightsChartFailureRate-D_qeZo4f.js} +4 -4
  18. package/dist/assets/{InsightsChartTimeSaved-B2pLVys1.js → InsightsChartTimeSaved-Cw2T-Wvp.js} +4 -4
  19. package/dist/assets/{InsightsChartTotal-2QD4wPLR.js → InsightsChartTotal-DlF47gob.js} +4 -4
  20. package/dist/assets/{InsightsDashboard-Bx4vx9gz.css → InsightsDashboard-BSrakbzr.css} +42 -8
  21. package/dist/assets/{InsightsDashboard-CbiFbJ8w.js → InsightsDashboard-CxQ9H296.js} +40 -41
  22. package/dist/assets/{InsightsPaywall-5d-cSdiS.js → InsightsPaywall-hRkAfeHz.js} +1 -1
  23. package/dist/assets/InsightsSummary-BcXd-3nU.js +209 -0
  24. package/dist/assets/{InsightsSummary-CdlaUpAt.css → InsightsSummary-DzGQpM5h.css} +27 -24
  25. package/dist/assets/{InsightsTableWorkflows-Blv_GPUj.css → InsightsTableWorkflows-DfTZQkWL.css} +3 -4
  26. package/dist/assets/{InsightsTableWorkflows-_eTCUNCX.js → InsightsTableWorkflows-ybloXdDn.js} +5 -6
  27. package/dist/assets/{Logo-Dl2xVRIu.js → Logo-BGe7-2Vd.js} +1 -1
  28. package/dist/assets/{LogsPanel-JnYirDqa.js → LogsPanel-DtTp6kY0.js} +334 -338
  29. package/dist/assets/{MainHeader-CEPLiR-5.css → MainHeader-Y95RcfHb.css} +24 -17
  30. package/dist/assets/{MainHeader-Bk29pgmL.js → MainHeader-h2DV-VuD.js} +148 -82
  31. package/dist/assets/{MainSidebar-BM5ku_wM.js → MainSidebar-AAHHRXFA.js} +28 -11
  32. package/dist/assets/{MainSidebar-zZpP3qQ0.css → MainSidebar-D1_1YFQZ.css} +2 -2
  33. package/dist/assets/{NodeCreation-BEjdAYc_.js → NodeCreation-nHiG-Lhi.js} +9 -5
  34. package/dist/assets/{NodeCreator-D9fmPdS2.css → NodeCreator-D18StsVZ.css} +1021 -174
  35. package/dist/assets/{NodeCreator-cEUgbAI9.js → NodeCreator-weAzsmlU.js} +862 -418
  36. package/dist/assets/{NodeDetailsView-D4O9dKTA.js → NodeDetailsView-BsXbcyfb.js} +22 -15
  37. package/dist/assets/{NodeDetailsView-DsFLtbxi.css → NodeDetailsView-DpO8nTmN.css} +16 -16
  38. package/dist/assets/{NodeView-DDSOUm8E.js → NodeView-BY1O3wWl.js} +104 -50
  39. package/dist/assets/{ProjectCardBadge-BNn2hiMe.js → ProjectCardBadge-3xpk5Z4e.js} +38 -2
  40. package/dist/assets/{ProjectHeader-CaEZ2OPj.js → ProjectHeader-CpoOisjf.js} +106 -64
  41. package/dist/assets/{ProjectSettings-otA8E-yW.js → ProjectSettings-B__3XaPY.js} +14 -3
  42. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-C3JbZMCk.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-DaoPdG_5.js} +1 -1
  43. package/dist/assets/{ResourcesListLayout-1d9Ic6VX.js → ResourcesListLayout-DAxou314.js} +156 -53
  44. package/dist/assets/{ResourcesListLayout-CtGME7aU.css → ResourcesListLayout-DuNjbsMn.css} +8 -8
  45. package/dist/assets/{RunData-BjlZgIyx.css → RunData-CE5FsU6k.css} +2 -2
  46. package/dist/assets/{RunData-Bx47sNQp.js → RunData-fnd-jejc.js} +257 -99
  47. package/dist/assets/{RunDataAi-DOac7nwD.js → RunDataAi-Ck3VGKP_.js} +3 -4
  48. package/dist/assets/{RunDataJson-Pev6yNEV.js → RunDataJson-B80Z4URL.js} +7 -7
  49. package/dist/assets/{RunDataJsonActions-Co4xgmVq.js → RunDataJsonActions-CdZi1Qul.js} +1 -1
  50. package/dist/assets/{RunDataParsedAiContent-D6MNLmT3.js → RunDataParsedAiContent-BczxQ63H.js} +5 -5
  51. package/dist/assets/{RunDataSearch-C8orcAlP.js → RunDataSearch-C4KmCz4c.js} +1 -1
  52. package/dist/assets/{RunDataTable-oi_l8dhA.js → RunDataTable-CsLCZIWp.js} +3 -3
  53. package/dist/assets/{SamlOnboarding-CT5J6dx0.js → SamlOnboarding-DkhjCrPa.js} +3 -3
  54. package/dist/assets/{SettingsApiView-CupjcI9v.js → SettingsApiView-Ci2-rEpm.js} +1 -1
  55. package/dist/assets/{SettingsCommunityNodesView-B5K2VLyJ.js → SettingsCommunityNodesView-_UOppuqS.js} +24 -11
  56. package/dist/assets/{SettingsExternalSecrets-BidJCf_t.js → SettingsExternalSecrets-DHIkKr53.js} +1 -1
  57. package/dist/assets/{SettingsLdapView-Cva6akhW.js → SettingsLdapView-B8ezgdqP.js} +1 -1
  58. package/dist/assets/{SettingsLogStreamingView-Cy-rAKUO.js → SettingsLogStreamingView-YP6Xy7Fe.js} +1 -1
  59. package/dist/assets/{SettingsPersonalView-ZJ1Syok2.js → SettingsPersonalView-BmbFyWPb.js} +1 -1
  60. package/dist/assets/{SettingsSourceControl-CMtqqlkO.js → SettingsSourceControl-DwaOdDke.js} +1 -1
  61. package/dist/assets/{SettingsSso-Bi3OpykL.js → SettingsSso-DOC-P2wt.js} +14 -1
  62. package/dist/assets/{SettingsUsageAndPlan-C5TbwZhP.js → SettingsUsageAndPlan-DVOLlEkG.js} +1 -1
  63. package/dist/assets/{SettingsUsersView-BHuP5k0A.js → SettingsUsersView-CN_KLeIm.js} +1 -1
  64. package/dist/assets/{SettingsView-DPIIqaKN.js → SettingsView-DiAhLyco.js} +1 -1
  65. package/dist/assets/{SetupView-C4V9j6sh.js → SetupView-OE_yCNOU.js} +3 -3
  66. package/dist/assets/{SetupWorkflowCredentialsButton-BZ9ILQUp.js → SetupWorkflowCredentialsButton-Dx1IkZgW.js} +1 -1
  67. package/dist/assets/{SetupWorkflowFromTemplateView-3uV3zSU2.js → SetupWorkflowFromTemplateView-lQXKgIuL.js} +3 -3
  68. package/dist/assets/{SigninView-DWZHdCjG.js → SigninView-BWSrzbF7.js} +3 -3
  69. package/dist/assets/{SignoutView-DbduXAir.js → SignoutView-DxGgFxt2.js} +1 -1
  70. package/dist/assets/{SignupView-DWq6VACk.js → SignupView-Dtu5bMqF.js} +3 -3
  71. package/dist/assets/{TemplateDetails-BckqE6GK.js → TemplateDetails-CQ7TYqsP.js} +1 -1
  72. package/dist/assets/{TemplateList-Bw0JeBMP.js → TemplateList-Cxmv-0p-.js} +1 -1
  73. package/dist/assets/{TemplatesCollectionView-CAKT-mpV.js → TemplatesCollectionView-xvV6FXib.js} +5 -5
  74. package/dist/assets/{TemplatesSearchView-I2a5us58.js → TemplatesSearchView-CsECyZ52.js} +3 -3
  75. package/dist/assets/{TemplatesView-6EwGFFJK.js → TemplatesView-DrEKpZTU.js} +1 -1
  76. package/dist/assets/{TemplatesWorkflowView-C8xYMhwu.js → TemplatesWorkflowView-iSAL_yol.js} +5 -5
  77. package/dist/assets/{TestDefinitionEditView-CNd3Cuzq.js → TestDefinitionEditView-C3ohfu_r.js} +6 -7
  78. package/dist/assets/{TestDefinitionListView-BwTWIaAM.js → TestDefinitionListView-Dwto0jxH.js} +1 -1
  79. package/dist/assets/{TestDefinitionNewView-BQas0_G1.js → TestDefinitionNewView-9xVUm2ZJ.js} +2 -2
  80. package/dist/assets/{TestDefinitionRootView-D971MFye.js → TestDefinitionRootView-DLurQ4xl.js} +1 -1
  81. package/dist/assets/{VariablesView-DcBBuFxh.js → VariablesView-Cg2WSt_e.js} +4 -3
  82. package/dist/assets/{WorkerView-DSgBNIeb.js → WorkerView-BG-Dl0Ej.js} +6 -6
  83. package/dist/assets/{WorkflowActivator-DAyH7N29.css → WorkflowActivator-DrMTmuTZ.css} +2 -2
  84. package/dist/assets/{WorkflowActivator-CPCbgb_n.js → WorkflowActivator-e7wvW1kJ.js} +17 -11
  85. package/dist/assets/{WorkflowExecutionsInfoAccordion-Bc6vzAZu.js → WorkflowExecutionsInfoAccordion-CijtfO0l.js} +1 -1
  86. package/dist/assets/{WorkflowExecutionsLandingPage-BPPS4V9i.js → WorkflowExecutionsLandingPage-Do4y1yOx.js} +2 -2
  87. package/dist/assets/{WorkflowExecutionsPreview-Bbb5MB8Z.js → WorkflowExecutionsPreview-Bqo_3PXl.js} +6 -6
  88. package/dist/assets/{WorkflowExecutionsView-Pz-7iHJY.js → WorkflowExecutionsView-C1gS45nc.js} +10 -10
  89. package/dist/assets/{WorkflowHistory-Czo9IuI6.js → WorkflowHistory-CypQw7rC.js} +37 -19
  90. package/dist/assets/{WorkflowOnboardingView-B8DdkfJ5.js → WorkflowOnboardingView-DoKXpaNj.js} +1 -1
  91. package/dist/assets/{WorkflowPreview-eVlO1itk.js → WorkflowPreview-Bxs5XzBX.js} +1 -1
  92. package/dist/assets/{WorkflowsView-Cr2D0vym.js → WorkflowsView-BlvgD3xI.js} +299 -157
  93. package/dist/assets/{WorkflowsView-B2_HJCJ5.css → WorkflowsView-CQvTAWQ0.css} +24 -13
  94. package/dist/assets/{chartjs.utils-Dk1WO3Mr.js → chartjs.utils-CuWcgqCr.js} +2 -2
  95. package/dist/assets/{dateFormatter-C8N5khiG.js → dateFormatter-LbucaaRt.js} +1 -1
  96. package/dist/assets/{easyAiWorkflowUtils-CLqHnasO.js → easyAiWorkflowUtils-_kvYb5hw.js} +1 -1
  97. package/dist/assets/{global-link-actions-BvoZh8u9.js → global-link-actions-DG0SjhQE.js} +1 -1
  98. package/dist/assets/{import-curl-BpxkGYMX.js → import-curl-DQ6uPzZ1.js} +1 -1
  99. package/dist/assets/{index-DCpy4nCU.css → index-BA8d2DN9.css} +311 -515
  100. package/dist/assets/{index-B6eunbxp.js → index-hdsPF3tl.js} +61611 -57550
  101. package/dist/assets/{index-Br8T1Gn6.js → index-vIybYvt3.js} +1 -1
  102. package/dist/assets/{pickBy-8Urz9lDY.js → pickBy-DmKUpB7M.js} +1 -1
  103. package/dist/assets/{polyfills-CLZ4X0Ad.js → polyfills-J2x06Gdp.js} +157 -224
  104. package/dist/assets/{templateActions-DzjysjbQ.js → templateActions-DxoxchKp.js} +1 -1
  105. package/dist/assets/{typescript.worker-BsxN2afA.js → typescript.worker-B1loTpxy.js} +1 -1
  106. package/dist/assets/{useBeforeUnload-DxrN8vOO.js → useBeforeUnload-B7JAQiE8.js} +1 -1
  107. package/dist/assets/{useCanvasMapping-cuXLM-h-.css → useCanvasMapping-CFf4cwnq.css} +6 -5
  108. package/dist/assets/{useCanvasMapping-C2BQB9QB.js → useCanvasMapping-CvcOHj5p.js} +94 -50
  109. package/dist/assets/{useClearExecutionButtonVisible-BV-jMf2m.js → useClearExecutionButtonVisible-DFNEJves.js} +1 -2
  110. package/dist/assets/{useExecutionDebugging-0pPCimcw.js → useExecutionDebugging-DsRIfE0y.js} +1 -1
  111. package/dist/assets/{useExecutionHelpers-DIvhViMz.js → useExecutionHelpers-CEOL8_vt.js} +3 -3
  112. package/dist/assets/{useImportCurlCommand-BWf4R83s.js → useImportCurlCommand-DdIN4YaF.js} +2 -2
  113. package/dist/assets/useProjectPages-OGc-GAxb.js +17 -0
  114. package/dist/assets/{usePushConnection-Pobjq0U9.js → usePushConnection-DNGIaS0A.js} +29 -127
  115. package/dist/assets/{useTestDefinitionForm-BA3IS_2B.js → useTestDefinitionForm-Bi6EgFVm.js} +1 -1
  116. package/dist/assets/{useWorkflowActivate-DFqvrpj6.js → useWorkflowActivate-CJ1hLmv2.js} +1 -1
  117. package/dist/assets/{useWorkflowSaving-BACesUoL.js → useWorkflowSaving-BuokdhTC.js} +2 -2
  118. package/dist/index.html +3 -3
  119. package/package.json +1 -1
  120. package/tsconfig.json +1 -0
  121. package/vite.config.mts +4 -0
  122. package/dist/assets/CollectionParameter-BeCTpZ-q.js +0 -4
  123. package/dist/assets/InsightsSummary-gldDQ9rg.js +0 -207
  124. package/dist/assets/useCanvasOperations-DaP5jKbH.js +0 -3183
@@ -259,26 +259,26 @@
259
259
  -------------------------- */
260
260
  /* BEM
261
261
  -------------------------- */
262
- .tags-container[data-v-9f29f608] {
262
+ .tags-container[data-v-d2c6672c] {
263
263
  display: block;
264
264
  max-width: 300px;
265
265
  }
266
- .tags[data-v-9f29f608] {
266
+ .tags[data-v-d2c6672c] {
267
267
  display: block;
268
268
  white-space: nowrap;
269
269
  overflow: hidden;
270
270
  max-width: 100%;
271
271
  }
272
- .tags > span[data-v-9f29f608] {
272
+ .tags > span[data-v-d2c6672c] {
273
273
  padding-right: 4px;
274
274
  }
275
- .hideTag[data-v-9f29f608] {
275
+ .hideTag[data-v-d2c6672c] {
276
276
  visibility: hidden;
277
277
  }
278
- .el-tag.hoverable[data-v-9f29f608]:hover {
278
+ .el-tag.hoverable[data-v-d2c6672c]:hover {
279
279
  border-color: var(--color-primary);
280
280
  }
281
- .count-container[data-v-9f29f608] {
281
+ .count-container[data-v-d2c6672c] {
282
282
  position: absolute;
283
283
  max-width: 40px;
284
284
  text-overflow: ellipsis;
@@ -664,56 +664,63 @@
664
664
  -------------------------- */
665
665
  /* BEM
666
666
  -------------------------- */
667
- .name-container[data-v-7ec35e38] {
667
+ .name-container[data-v-7abecd76] {
668
668
  margin-right: var(--spacing-s);
669
669
  }
670
- .name-container[data-v-7ec35e38] .el-input {
670
+ .name-container[data-v-7abecd76] .el-input {
671
671
  padding: 0;
672
672
  }
673
- .name[data-v-7ec35e38] {
673
+ .name[data-v-7abecd76] {
674
674
  color: var(--color-text-dark);
675
675
  font-size: var(--font-size-s);
676
676
  }
677
- .activator[data-v-7ec35e38] {
677
+ .activator[data-v-7abecd76] {
678
678
  color: var(--color-text-dark);
679
679
  font-weight: var(--font-weight-regular);
680
680
  font-size: 13px;
681
681
  line-height: 24px;
682
682
  align-items: center;
683
683
  }
684
- .activator > span[data-v-7ec35e38] {
684
+ .activator > span[data-v-7abecd76] {
685
685
  margin-right: 5px;
686
686
  }
687
- .add-tag[data-v-7ec35e38] {
687
+ .add-tag[data-v-7abecd76] {
688
688
  font-size: 12px;
689
689
  padding: 20px 0;
690
690
  color: var(--color-text-light);
691
691
  font-weight: var(--font-weight-bold);
692
692
  white-space: nowrap;
693
693
  }
694
- .add-tag[data-v-7ec35e38]:hover {
694
+ .add-tag[data-v-7abecd76]:hover {
695
695
  color: var(--color-primary);
696
696
  }
697
- .tags[data-v-7ec35e38] {
697
+ .tags[data-v-7abecd76] {
698
698
  display: flex;
699
699
  align-items: center;
700
700
  width: 100%;
701
701
  flex: 1;
702
702
  margin-right: 20px;
703
703
  }
704
- .tags-edit[data-v-7ec35e38] {
704
+ .tags-edit[data-v-7abecd76] {
705
705
  min-width: 100px;
706
706
  width: 100%;
707
707
  max-width: 460px;
708
708
  }
709
- .actions[data-v-7ec35e38] {
709
+ .archived[data-v-7abecd76] {
710
+ display: flex;
711
+ align-items: center;
712
+ width: 100%;
713
+ flex: 1;
714
+ margin-right: 20px;
715
+ }
716
+ .actions[data-v-7abecd76] {
710
717
  display: flex;
711
718
  align-items: center;
712
719
  gap: var(--spacing-m);
713
720
  flex-wrap: nowrap;
714
721
  }
715
722
  @media screen and (max-width: 767px) {
716
- .name[data-v-7ec35e38] input {
723
+ .name[data-v-7abecd76] input {
717
724
  min-width: 180px;
718
725
  }
719
726
  }/* BEM support Func
@@ -1,12 +1,12 @@
1
- import { d as defineComponent, s as MAIN_HEADER_TABS, h as resolveComponent, i as createElementBlock, f as createCommentVNode, g as openBlock, n as normalizeClass, j as createVNode, _ as _export_sfc, q as computed, v as shorten, x as renderSlot, r as ref, y as onBeforeUnmount, o as onMounted, z as nextTick, A as debounce, e as createBlock, m as unref, B as normalizeStyle, C as createEventBus, w as withCtx, k as createBaseVNode, F as Fragment, D as renderList, l as createTextVNode, t as toDisplayString, E as useTagsStore, G as useDebounce, H as useUIStore, I as BREAKPOINT_SM, J as BREAKPOINT_XL, K as BREAKPOINT_LG, L as BREAKPOINT_MD, N as getBannerRowHeight, V as VIEWS, c as useI18n, O as defineStore, P as usePushConnectionStore, Q as useWorkflowsStore, u as useUsersStore, R as useRoute, S as PLACEHOLDER_EMPTY_WORKFLOW_ID, T as STORES, U as TIME, W as useDocumentVisibility, X as watch, Y as useCssModule, Z as useRootStore, $ as useCanvasStore, p as useSettingsStore, a0 as useSourceControlStore, a1 as useProjectsStore, a2 as useFoldersStore, a3 as useNpsSurveyStore, b as useRouter, a as useToast, a4 as useDocumentTitle, a5 as useWorkflowHelpers, a6 as usePageRedirectionHelper, a7 as getResourcePermissions, a8 as WORKFLOW_MENU_ACTIONS, a9 as hasPermission, aa as EnterpriseEditionFeature, ab as ProjectTypes, ac as MAX_WORKFLOW_NAME_LENGTH, ad as _sfc_main$b, ae as SaveButton, af as WORKFLOW_SHARE_MODAL_KEY, ag as useTelemetry, ah as nodeViewEventBus, ai as useMessage, aj as MODAL_CONFIRM, ak as WORKFLOW_SETTINGS_MODAL_KEY, al as SOURCE_CONTROL_PUSH_MODAL_KEY, am as VALID_WORKFLOW_IMPORT_URL_REGEX, an as DUPLICATE_MODAL_KEY, ao as __vitePreload, ap as hyphenate, aq as h, ar as hasOwn, as as useNDVStore, at as useExecutionsStore, au as usePostHog, av as useLocalStorage, aw as LOCAL_STORAGE_HIDE_GITHUB_STAR_BUTTON, ax as WORKFLOW_EVALUATION_EXPERIMENT, ay as STICKY_NODE_TYPE, az as onBeforeMount, aA as withDirectives, aB as vShow, aC as N8N_MAIN_GITHUB_REPO_URL } from "./index-B6eunbxp.js";
2
- import { _ as __unplugin_components_0, I as InlineTextEdit, W as WorkflowActivator } from "./WorkflowActivator-CPCbgb_n.js";
3
- import { _ as _sfc_main$c } from "./PushConnectionTracker.vue_vue_type_script_setup_true_lang-C3JbZMCk.js";
4
- import { u as useBeforeUnload } from "./useBeforeUnload-DxrN8vOO.js";
5
- import { F as FileSaver_minExports } from "./FileSaver.min-BzAtcQXX.js";
6
- import { u as usePushConnection } from "./usePushConnection-Pobjq0U9.js";
7
- import "./useWorkflowActivate-DFqvrpj6.js";
8
- import "./easyAiWorkflowUtils-CLqHnasO.js";
9
- import "./global-link-actions-BvoZh8u9.js";
1
+ import { d as defineComponent, s as MAIN_HEADER_TABS, h as resolveComponent, i as createElementBlock, f as createCommentVNode, g as openBlock, n as normalizeClass, j as createVNode, _ as _export_sfc, q as computed, v as shorten, x as renderSlot, r as ref, y as onBeforeUnmount, o as onMounted, z as nextTick, A as debounce, e as createBlock, m as unref, B as normalizeStyle, C as createEventBus, w as withCtx, k as createBaseVNode, F as Fragment, D as renderList, l as createTextVNode, t as toDisplayString, E as useTagsStore, G as useDebounce, H as useUIStore, I as BREAKPOINT_SM, J as BREAKPOINT_XL, K as BREAKPOINT_LG, L as BREAKPOINT_MD, N as getBannerRowHeight, V as VIEWS, c as useI18n, O as defineStore, P as usePushConnectionStore, Q as useWorkflowsStore, u as useUsersStore, R as useRoute, S as PLACEHOLDER_EMPTY_WORKFLOW_ID, T as STORES, U as TIME, W as useDocumentVisibility, X as watch, Y as useCssModule, Z as useRootStore, $ as useCanvasStore, p as useSettingsStore, a0 as useSourceControlStore, a1 as useProjectsStore, a2 as useFoldersStore, a3 as useNpsSurveyStore, b as useRouter, a as useToast, a4 as useDocumentTitle, a5 as useWorkflowHelpers, a6 as usePageRedirectionHelper, a7 as getResourcePermissions, a8 as WORKFLOW_MENU_ACTIONS, a9 as hasPermission, aa as EnterpriseEditionFeature, ab as ProjectTypes, ac as MAX_WORKFLOW_NAME_LENGTH, ad as _sfc_main$b, ae as SaveButton, af as WORKFLOW_SHARE_MODAL_KEY, ag as useTelemetry, ah as nodeViewEventBus, ai as useMessage, aj as MODAL_CONFIRM, ak as WORKFLOW_SETTINGS_MODAL_KEY, al as SOURCE_CONTROL_PUSH_MODAL_KEY, am as IMPORT_WORKFLOW_URL_MODAL_KEY, an as DUPLICATE_MODAL_KEY, ao as __vitePreload, ap as hyphenate, aq as h, ar as hasOwn, as as useNDVStore, at as useExecutionsStore, au as usePostHog, av as useLocalStorage, aw as LOCAL_STORAGE_HIDE_GITHUB_STAR_BUTTON, ax as WORKFLOW_EVALUATION_EXPERIMENT, ay as STICKY_NODE_TYPE, az as onBeforeMount, aA as withDirectives, aB as vShow, aC as N8N_MAIN_GITHUB_REPO_URL } from "./index-hdsPF3tl.js";
2
+ import { _ as __unplugin_components_0, I as InlineTextEdit, W as WorkflowActivator } from "./WorkflowActivator-e7wvW1kJ.js";
3
+ import { _ as _sfc_main$c } from "./PushConnectionTracker.vue_vue_type_script_setup_true_lang-DaoPdG_5.js";
4
+ import { u as useBeforeUnload } from "./useBeforeUnload-B7JAQiE8.js";
5
+ import { F as FileSaver_minExports } from "./FileSaver.min-C1p9Eies.js";
6
+ import { u as usePushConnection } from "./usePushConnection-DNGIaS0A.js";
7
+ import "./useWorkflowActivate-CJ1hLmv2.js";
8
+ import "./easyAiWorkflowUtils-_kvYb5hw.js";
9
+ import "./global-link-actions-DG0SjhQE.js";
10
10
  const _sfc_main$a = /* @__PURE__ */ defineComponent({
11
11
  __name: "TabBar",
12
12
  props: {
@@ -283,7 +283,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
283
283
  createVNode(_component_el_tag, {
284
284
  title: tag.name,
285
285
  type: "info",
286
- size: "small",
286
+ size: "mini",
287
287
  class: normalizeClass({ hoverable: _ctx.hoverable }),
288
288
  "disable-transitions": true
289
289
  }, {
@@ -304,7 +304,7 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
304
304
  };
305
305
  }
306
306
  });
307
- const TagsContainer = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-9f29f608"]]);
307
+ const TagsContainer = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-d2c6672c"]]);
308
308
  const _sfc_main$5 = /* @__PURE__ */ defineComponent({
309
309
  __name: "WorkflowTagsContainer",
310
310
  props: {
@@ -612,15 +612,11 @@ const cssModules$2 = {
612
612
  };
613
613
  const CollaborationPane = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__cssModules", cssModules$2]]);
614
614
  const _hoisted_1 = {
615
- key: 0,
616
615
  class: "tags",
617
616
  "data-test-id": "workflow-tags-container"
618
617
  };
619
618
  const _hoisted_2 = { key: 1 };
620
- const _hoisted_3 = {
621
- key: 1,
622
- class: "tags"
623
- };
619
+ const _hoisted_3 = { class: "archived" };
624
620
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
625
621
  __name: "WorkflowDetails",
626
622
  props: {
@@ -631,7 +627,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
631
627
  meta: {},
632
628
  scopes: {},
633
629
  active: { type: Boolean },
634
- currentFolder: {}
630
+ currentFolder: {},
631
+ isArchived: { type: Boolean }
635
632
  },
636
633
  setup(__props) {
637
634
  const props = __props;
@@ -694,14 +691,16 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
694
691
  id: WORKFLOW_MENU_ACTIONS.DOWNLOAD,
695
692
  label: locale.baseText("menuActions.download"),
696
693
  disabled: !onWorkflowPage.value
697
- },
698
- {
694
+ }
695
+ ];
696
+ if (!props.readOnly && !props.isArchived) {
697
+ actions.push({
699
698
  id: WORKFLOW_MENU_ACTIONS.RENAME,
700
699
  label: locale.baseText("generic.rename"),
701
700
  disabled: !onWorkflowPage.value || workflowPermissions.value.update !== true
702
- }
703
- ];
704
- if (workflowPermissions.value.delete && !props.readOnly || isNewWorkflow.value) {
701
+ });
702
+ }
703
+ if (workflowPermissions.value.delete === true && !props.readOnly && !props.isArchived || isNewWorkflow.value) {
705
704
  actions.unshift({
706
705
  id: WORKFLOW_MENU_ACTIONS.DUPLICATE,
707
706
  label: locale.baseText("menuActions.duplicate"),
@@ -732,14 +731,29 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
732
731
  label: locale.baseText("generic.settings"),
733
732
  disabled: !onWorkflowPage.value || isNewWorkflow.value
734
733
  });
735
- if (workflowPermissions.value.delete && !props.readOnly || isNewWorkflow.value) {
736
- actions.push({
737
- id: WORKFLOW_MENU_ACTIONS.DELETE,
738
- label: locale.baseText("menuActions.delete"),
739
- disabled: !onWorkflowPage.value || isNewWorkflow.value,
740
- customClass: $style.deleteItem,
741
- divided: true
742
- });
734
+ if (workflowPermissions.value.delete === true && !props.readOnly || isNewWorkflow.value) {
735
+ if (props.isArchived) {
736
+ actions.push({
737
+ id: WORKFLOW_MENU_ACTIONS.UNARCHIVE,
738
+ label: locale.baseText("menuActions.unarchive"),
739
+ disabled: !onWorkflowPage.value || isNewWorkflow.value
740
+ });
741
+ actions.push({
742
+ id: WORKFLOW_MENU_ACTIONS.DELETE,
743
+ label: locale.baseText("menuActions.delete"),
744
+ disabled: !onWorkflowPage.value || isNewWorkflow.value,
745
+ customClass: $style.deleteItem,
746
+ divided: true
747
+ });
748
+ } else {
749
+ actions.push({
750
+ id: WORKFLOW_MENU_ACTIONS.ARCHIVE,
751
+ label: locale.baseText("menuActions.archive"),
752
+ disabled: !onWorkflowPage.value || isNewWorkflow.value,
753
+ customClass: $style.deleteItem,
754
+ divided: true
755
+ });
756
+ }
743
757
  }
744
758
  return actions;
745
759
  });
@@ -952,23 +966,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
952
966
  break;
953
967
  }
954
968
  case WORKFLOW_MENU_ACTIONS.IMPORT_FROM_URL: {
955
- try {
956
- const promptResponse = await message.prompt(
957
- locale.baseText("mainSidebar.prompt.workflowUrl") + ":",
958
- locale.baseText("mainSidebar.prompt.importWorkflowFromUrl") + ":",
959
- {
960
- confirmButtonText: locale.baseText("mainSidebar.prompt.import"),
961
- cancelButtonText: locale.baseText("mainSidebar.prompt.cancel"),
962
- inputErrorMessage: locale.baseText("mainSidebar.prompt.invalidUrl"),
963
- inputPattern: VALID_WORKFLOW_IMPORT_URL_REGEX
964
- }
965
- );
966
- if (promptResponse.action === "cancel") {
967
- return;
968
- }
969
- nodeViewEventBus.emit("importWorkflowUrl", { url: promptResponse.value });
970
- } catch (e) {
971
- }
969
+ uiStore.openModal(IMPORT_WORKFLOW_URL_MODAL_KEY);
972
970
  break;
973
971
  }
974
972
  case WORKFLOW_MENU_ACTIONS.IMPORT_FROM_FILE: {
@@ -1005,6 +1003,53 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
1005
1003
  uiStore.openModal(WORKFLOW_SETTINGS_MODAL_KEY);
1006
1004
  break;
1007
1005
  }
1006
+ case WORKFLOW_MENU_ACTIONS.ARCHIVE: {
1007
+ if (props.active) {
1008
+ const archiveConfirmed = await message.confirm(
1009
+ locale.baseText("mainSidebar.confirmMessage.workflowArchive.message", {
1010
+ interpolate: { workflowName: props.name }
1011
+ }),
1012
+ locale.baseText("mainSidebar.confirmMessage.workflowArchive.headline"),
1013
+ {
1014
+ type: "warning",
1015
+ confirmButtonText: locale.baseText(
1016
+ "mainSidebar.confirmMessage.workflowArchive.confirmButtonText"
1017
+ ),
1018
+ cancelButtonText: locale.baseText(
1019
+ "mainSidebar.confirmMessage.workflowArchive.cancelButtonText"
1020
+ )
1021
+ }
1022
+ );
1023
+ if (archiveConfirmed !== MODAL_CONFIRM) {
1024
+ return;
1025
+ }
1026
+ }
1027
+ try {
1028
+ await workflowsStore.archiveWorkflow(props.id);
1029
+ } catch (error) {
1030
+ toast.showError(error, locale.baseText("generic.archiveWorkflowError"));
1031
+ return;
1032
+ }
1033
+ uiStore.stateIsDirty = false;
1034
+ toast.showMessage({
1035
+ title: locale.baseText("mainSidebar.showMessage.handleArchive.title", {
1036
+ interpolate: { workflowName: props.name }
1037
+ }),
1038
+ type: "success"
1039
+ });
1040
+ await router.push({ name: VIEWS.WORKFLOWS });
1041
+ break;
1042
+ }
1043
+ case WORKFLOW_MENU_ACTIONS.UNARCHIVE: {
1044
+ await workflowsStore.unarchiveWorkflow(props.id);
1045
+ toast.showMessage({
1046
+ title: locale.baseText("mainSidebar.showMessage.handleUnarchive.title", {
1047
+ interpolate: { workflowName: props.name }
1048
+ }),
1049
+ type: "success"
1050
+ });
1051
+ break;
1052
+ }
1008
1053
  case WORKFLOW_MENU_ACTIONS.DELETE: {
1009
1054
  const deleteConfirmed = await message.confirm(
1010
1055
  locale.baseText("mainSidebar.confirmMessage.workflowDelete.message", {
@@ -1033,7 +1078,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
1033
1078
  uiStore.stateIsDirty = false;
1034
1079
  documentTitle.reset();
1035
1080
  toast.showMessage({
1036
- title: locale.baseText("mainSidebar.showMessage.handleSelect1.title"),
1081
+ title: locale.baseText("mainSidebar.showMessage.handleSelect1.title", {
1082
+ interpolate: { workflowName: props.name }
1083
+ }),
1037
1084
  type: "success"
1038
1085
  });
1039
1086
  await router.push({ name: VIEWS.WORKFLOWS });
@@ -1084,6 +1131,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
1084
1131
  };
1085
1132
  return (_ctx, _cache) => {
1086
1133
  const _component_FolderBreadcrumbs = __unplugin_components_0;
1134
+ const _component_N8nBadge = resolveComponent("N8nBadge");
1087
1135
  const _component_N8nButton = resolveComponent("N8nButton");
1088
1136
  const _component_i18n_t = resolveComponent("i18n-t");
1089
1137
  const _component_N8nTooltip = resolveComponent("N8nTooltip");
@@ -1106,7 +1154,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
1106
1154
  onItemSelected: onBreadcrumbsItemSelected
1107
1155
  }, {
1108
1156
  append: withCtx(() => [
1109
- unref(projectsStore).currentProject ? (openBlock(), createElementBlock("span", {
1157
+ unref(projectsStore).currentProject ?? unref(projectsStore).personalProject ? (openBlock(), createElementBlock("span", {
1110
1158
  key: 0,
1111
1159
  class: normalizeClass(unref($style)["path-separator"])
1112
1160
  }, "/", 2)) : createCommentVNode("", true),
@@ -1122,7 +1170,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
1122
1170
  "preview-value": shortenedName,
1123
1171
  "is-edit-enabled": isNameEditEnabled.value,
1124
1172
  "max-length": unref(MAX_WORKFLOW_NAME_LENGTH),
1125
- disabled: _ctx.readOnly || !isNewWorkflow.value && !workflowPermissions.value.update,
1173
+ disabled: _ctx.readOnly || _ctx.isArchived || !isNewWorkflow.value && !workflowPermissions.value.update,
1126
1174
  placeholder: "Enter workflow name",
1127
1175
  class: "name",
1128
1176
  onToggle: onNameToggle,
@@ -1137,43 +1185,60 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
1137
1185
  ]),
1138
1186
  _: 1
1139
1187
  }),
1140
- unref(settingsStore).areTagsEnabled ? (openBlock(), createElementBlock("span", _hoisted_1, [
1141
- isTagsEditEnabled.value && !_ctx.readOnly && (isNewWorkflow.value || workflowPermissions.value.update) ? (openBlock(), createBlock(_sfc_main$b, {
1142
- key: 0,
1143
- ref: "dropdown",
1144
- modelValue: appliedTagIds.value,
1145
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => appliedTagIds.value = $event),
1146
- "event-bus": unref(tagsEventBus),
1147
- placeholder: unref(i18n).baseText("workflowDetails.chooseOrCreateATag"),
1148
- class: "tags-edit",
1149
- "data-test-id": "workflow-tags-dropdown",
1150
- onBlur: onTagsBlur,
1151
- onEsc: onTagsEditEsc
1152
- }, null, 8, ["modelValue", "event-bus", "placeholder"])) : (_ctx.tags ?? []).length === 0 && !_ctx.readOnly && (isNewWorkflow.value || workflowPermissions.value.update) ? (openBlock(), createElementBlock("div", _hoisted_2, [
1153
- createBaseVNode("span", {
1154
- class: "add-tag clickable",
1155
- "data-test-id": "new-tag-link",
1188
+ createBaseVNode("span", _hoisted_1, [
1189
+ unref(settingsStore).areTagsEnabled ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
1190
+ isTagsEditEnabled.value && !(_ctx.readOnly || _ctx.isArchived) && (isNewWorkflow.value || workflowPermissions.value.update) ? (openBlock(), createBlock(_sfc_main$b, {
1191
+ key: 0,
1192
+ ref: "dropdown",
1193
+ modelValue: appliedTagIds.value,
1194
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => appliedTagIds.value = $event),
1195
+ "event-bus": unref(tagsEventBus),
1196
+ placeholder: unref(i18n).baseText("workflowDetails.chooseOrCreateATag"),
1197
+ class: "tags-edit",
1198
+ "data-test-id": "workflow-tags-dropdown",
1199
+ onBlur: onTagsBlur,
1200
+ onEsc: onTagsEditEsc
1201
+ }, null, 8, ["modelValue", "event-bus", "placeholder"])) : (_ctx.tags ?? []).length === 0 && !(_ctx.readOnly || _ctx.isArchived) && (isNewWorkflow.value || workflowPermissions.value.update) ? (openBlock(), createElementBlock("div", _hoisted_2, [
1202
+ createBaseVNode("span", {
1203
+ class: "add-tag clickable",
1204
+ "data-test-id": "new-tag-link",
1205
+ onClick: onTagsEditEnable
1206
+ }, " + " + toDisplayString(unref(i18n).baseText("workflowDetails.addTag")), 1)
1207
+ ])) : (openBlock(), createBlock(_sfc_main$5, {
1208
+ key: _ctx.id,
1209
+ "tag-ids": workflowTagIds.value,
1210
+ clickable: true,
1211
+ responsive: true,
1212
+ "data-test-id": "workflow-tags",
1156
1213
  onClick: onTagsEditEnable
1157
- }, " + " + toDisplayString(unref(i18n).baseText("workflowDetails.addTag")), 1)
1158
- ])) : (openBlock(), createBlock(_sfc_main$5, {
1159
- key: _ctx.id,
1160
- "tag-ids": workflowTagIds.value,
1161
- clickable: true,
1162
- responsive: true,
1163
- "data-test-id": "workflow-tags",
1164
- onClick: onTagsEditEnable
1165
- }, null, 8, ["tag-ids"]))
1166
- ])) : (openBlock(), createElementBlock("span", _hoisted_3)),
1214
+ }, null, 8, ["tag-ids"]))
1215
+ ], 64)) : createCommentVNode("", true),
1216
+ createBaseVNode("span", _hoisted_3, [
1217
+ _ctx.isArchived ? (openBlock(), createBlock(_component_N8nBadge, {
1218
+ key: 0,
1219
+ class: "ml-3xs",
1220
+ theme: "tertiary",
1221
+ bold: "",
1222
+ "data-test-id": "workflow-archived-tag"
1223
+ }, {
1224
+ default: withCtx(() => [
1225
+ createTextVNode(toDisplayString(unref(locale).baseText("workflows.item.archived")), 1)
1226
+ ]),
1227
+ _: 1
1228
+ })) : createCommentVNode("", true)
1229
+ ])
1230
+ ]),
1167
1231
  createVNode(_sfc_main$c, { class: "actions" }, {
1168
1232
  default: withCtx(() => [
1169
1233
  createBaseVNode("span", {
1170
1234
  class: normalizeClass(`activator ${unref($style).group}`)
1171
1235
  }, [
1172
1236
  createVNode(WorkflowActivator, {
1237
+ "is-archived": _ctx.isArchived,
1173
1238
  "workflow-active": _ctx.active,
1174
1239
  "workflow-id": _ctx.id,
1175
1240
  "workflow-permissions": workflowPermissions.value
1176
- }, null, 8, ["workflow-active", "workflow-id", "workflow-permissions"])
1241
+ }, null, 8, ["is-archived", "workflow-active", "workflow-id", "workflow-permissions"])
1177
1242
  ], 2),
1178
1243
  createVNode(_component_EnterpriseEdition, {
1179
1244
  features: [unref(EnterpriseEditionFeature).Sharing]
@@ -1232,9 +1297,9 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
1232
1297
  createVNode(SaveButton, {
1233
1298
  type: "primary",
1234
1299
  saved: !unref(uiStore).stateIsDirty && !isNewWorkflow.value,
1235
- disabled: isWorkflowSaving.value || _ctx.readOnly || !isNewWorkflow.value && !workflowPermissions.value.update,
1300
+ disabled: isWorkflowSaving.value || _ctx.readOnly || _ctx.isArchived || !isNewWorkflow.value && !workflowPermissions.value.update,
1236
1301
  "is-saving": isWorkflowSaving.value,
1237
- "with-shortcut": !_ctx.readOnly && workflowPermissions.value.update,
1302
+ "with-shortcut": !_ctx.readOnly && !_ctx.isArchived && workflowPermissions.value.update,
1238
1303
  "shortcut-tooltip": unref(i18n).baseText("saveWorkflowButton.hint"),
1239
1304
  "data-test-id": "workflow-save-button",
1240
1305
  onClick: onSaveButtonClick
@@ -1288,7 +1353,7 @@ const style1 = {
1288
1353
  const cssModules$1 = {
1289
1354
  "$style": style1
1290
1355
  };
1291
- const WorkflowDetails = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__cssModules", cssModules$1], ["__scopeId", "data-v-7ec35e38"]]);
1356
+ const WorkflowDetails = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__cssModules", cssModules$1], ["__scopeId", "data-v-7abecd76"]]);
1292
1357
  const GithubButton = defineComponent({
1293
1358
  name: "github-button",
1294
1359
  props: {
@@ -1540,8 +1605,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1540
1605
  scopes: workflow.value.scopes,
1541
1606
  active: workflow.value.active,
1542
1607
  "read-only": readOnly.value,
1543
- "current-folder": parentFolderForBreadcrumbs.value
1544
- }, null, 8, ["id", "tags", "name", "meta", "scopes", "active", "read-only", "current-folder"])) : createCommentVNode("", true),
1608
+ "current-folder": parentFolderForBreadcrumbs.value,
1609
+ "is-archived": workflow.value.isArchived
1610
+ }, null, 8, ["id", "tags", "name", "meta", "scopes", "active", "read-only", "current-folder", "is-archived"])) : createCommentVNode("", true),
1545
1611
  showGitHubButton.value ? (openBlock(), createElementBlock("div", {
1546
1612
  key: 1,
1547
1613
  class: normalizeClass([_ctx.$style["github-button"], "hidden-sm-and-down"])
@@ -1,5 +1,5 @@
1
- import { d as defineComponent, aD as useLoadingService, H as useUIStore, a0 as useSourceControlStore, a as useToast, r as ref, q as computed, a9 as hasPermission, h as resolveComponent, i as createElementBlock, f as createCommentVNode, g as openBlock, B as normalizeStyle, n as normalizeClass, m as unref, k as createBaseVNode, j as createVNode, l as createTextVNode, t as toDisplayString, e as createBlock, w as withCtx, c as useI18n, C as createEventBus, al as SOURCE_CONTROL_PUSH_MODAL_KEY, aE as notifyUserAboutPullWorkFolderOutcome, aF as sourceControlEventBus, aG as SOURCE_CONTROL_PULL_MODAL_KEY, _ as _export_sfc, aH as get, O as defineStore, aI as useCloudPlanStore, Z as useRootStore, aJ as useStorage, aK as DateTime, T as STORES, ag as useTelemetry, p as useSettingsStore, a1 as useProjectsStore, b as useRouter, aL as sortByProperty, V as VIEWS, a7 as getResourcePermissions, a6 as usePageRedirectionHelper, F as Fragment, D as renderList, aM as useDebugInfo, aN as useTemplatesStore, u as useUsersStore, aO as useVersionsStore, Q as useWorkflowsStore, G as useDebounce, R as useRoute, o as onMounted, aP as useExternalHooks, z as nextTick, y as onBeforeUnmount, aQ as onClickOutside, aR as N8nTooltip, aS as N8nLink, aT as _sfc_main$5, aU as N8nNavigationDropdown, aV as createSlots, aW as VERSIONS_MODAL_KEY, aX as ABOUT_MODAL_KEY } from "./index-B6eunbxp.js";
2
- import { L as Logo } from "./Logo-Dl2xVRIu.js";
1
+ import { d as defineComponent, aD as useLoadingService, H as useUIStore, a0 as useSourceControlStore, a as useToast, r as ref, q as computed, a9 as hasPermission, h as resolveComponent, i as createElementBlock, f as createCommentVNode, g as openBlock, B as normalizeStyle, n as normalizeClass, m as unref, k as createBaseVNode, j as createVNode, l as createTextVNode, t as toDisplayString, e as createBlock, w as withCtx, c as useI18n, C as createEventBus, al as SOURCE_CONTROL_PUSH_MODAL_KEY, aE as notifyUserAboutPullWorkFolderOutcome, aF as sourceControlEventBus, aG as SOURCE_CONTROL_PULL_MODAL_KEY, _ as _export_sfc, aH as get, O as defineStore, aI as useCloudPlanStore, Z as useRootStore, aJ as useStorage, aK as DateTime, T as STORES, ag as useTelemetry, p as useSettingsStore, a1 as useProjectsStore, b as useRouter, aL as sortByProperty, V as VIEWS, a7 as getResourcePermissions, a6 as usePageRedirectionHelper, F as Fragment, D as renderList, aM as useDebugInfo, aN as useTemplatesStore, u as useUsersStore, aO as useVersionsStore, Q as useWorkflowsStore, G as useDebounce, R as useRoute, o as onMounted, aP as useExternalHooks, z as nextTick, y as onBeforeUnmount, aQ as onClickOutside, aR as N8nTooltip, aS as N8nLink, aT as _sfc_main$5, aU as N8nNavigationDropdown, aV as createSlots, aW as VERSIONS_MODAL_KEY, aX as ABOUT_MODAL_KEY } from "./index-hdsPF3tl.js";
2
+ import { L as Logo } from "./Logo-BGe7-2Vd.js";
3
3
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4
4
  __name: "MainSidebarSourceControl",
5
5
  props: {
@@ -544,6 +544,14 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
544
544
  to: { name: VIEWS.HOMEPAGE }
545
545
  }
546
546
  }));
547
+ const shared = computed(() => ({
548
+ id: "shared",
549
+ label: locale.baseText("projects.menu.shared"),
550
+ icon: "share",
551
+ route: {
552
+ to: { name: VIEWS.SHARED_WITH_ME }
553
+ }
554
+ }));
547
555
  const getProjectMenuItem = (project) => ({
548
556
  id: project.id,
549
557
  label: project.name,
@@ -589,7 +597,23 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
589
597
  "active-tab": unref(projectsStore).projectNavActiveId,
590
598
  mode: "tabs",
591
599
  "data-test-id": "project-home-menu-item"
592
- }, null, 8, ["item", "compact", "active-tab"])
600
+ }, null, 8, ["item", "compact", "active-tab"]),
601
+ unref(projectsStore).isTeamProjectFeatureEnabled || isFoldersFeatureEnabled.value ? (openBlock(), createBlock(_component_N8nMenuItem, {
602
+ key: 0,
603
+ item: personalProject.value,
604
+ compact: props.collapsed,
605
+ "active-tab": unref(projectsStore).projectNavActiveId,
606
+ mode: "tabs",
607
+ "data-test-id": "project-personal-menu-item"
608
+ }, null, 8, ["item", "compact", "active-tab"])) : createCommentVNode("", true),
609
+ unref(projectsStore).isTeamProjectFeatureEnabled || isFoldersFeatureEnabled.value ? (openBlock(), createBlock(_component_N8nMenuItem, {
610
+ key: 1,
611
+ item: shared.value,
612
+ compact: props.collapsed,
613
+ "active-tab": unref(projectsStore).projectNavActiveId,
614
+ mode: "tabs",
615
+ "data-test-id": "project-shared-menu-item"
616
+ }, null, 8, ["item", "compact", "active-tab"])) : createCommentVNode("", true)
593
617
  ]),
594
618
  _: 1
595
619
  }, 8, ["collapse"]),
@@ -629,13 +653,6 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
629
653
  class: normalizeClass(_ctx.$style.projectItems)
630
654
  }, {
631
655
  default: withCtx(() => [
632
- createVNode(_component_N8nMenuItem, {
633
- item: personalProject.value,
634
- compact: props.collapsed,
635
- "active-tab": unref(projectsStore).projectNavActiveId,
636
- mode: "tabs",
637
- "data-test-id": "project-personal-menu-item"
638
- }, null, 8, ["item", "compact", "active-tab"]),
639
656
  (openBlock(true), createElementBlock(Fragment, null, renderList(displayProjects.value, (project) => {
640
657
  return openBlock(), createBlock(_component_N8nMenuItem, {
641
658
  key: project.id,
@@ -704,7 +721,7 @@ const style0$1 = {
704
721
  const cssModules$1 = {
705
722
  "$style": style0$1
706
723
  };
707
- const __unplugin_components_0 = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__cssModules", cssModules$1], ["__scopeId", "data-v-1eaa6fab"]]);
724
+ const __unplugin_components_0 = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__cssModules", cssModules$1], ["__scopeId", "data-v-f02e68ce"]]);
708
725
  const BASE_FORUM_URL = "https://github.com/n8n-io/n8n/issues/new?labels=bug-report";
709
726
  const REPORT_TEMPLATE = `
710
727
  <!-- Please follow the template below. Skip the questions that are not relevant to you. -->
@@ -748,10 +748,10 @@
748
748
  -------------------------- */
749
749
  /* BEM
750
750
  -------------------------- */
751
- .home[data-v-1eaa6fab] {
751
+ .home[data-v-f02e68ce] {
752
752
  padding: 0 var(--spacing-xs);
753
753
  }
754
- .home[data-v-1eaa6fab] .el-menu-item {
754
+ .home[data-v-f02e68ce] .el-menu-item {
755
755
  padding: var(--spacing-m) var(--spacing-xs) !important;
756
756
  }/* BEM support Func
757
757
  -------------------------- */
@@ -1,6 +1,5 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreator-cEUgbAI9.js","assets/index-B6eunbxp.js","assets/index-DCpy4nCU.css","assets/useCanvasOperations-DaP5jKbH.js","assets/NodeCreator-D9fmPdS2.css"])))=>i.map(i=>d[i]);
2
- import { bz as useNodeTypesStore, q as computed, c as useI18n, Q as useWorkflowsStore, fn as MANUAL_TRIGGER_NODE_TYPE, hH as CHAIN_LLM_LANGCHAIN_NODE_TYPE, bm as NodeConnectionTypes, bk as CHAT_TRIGGER_NODE_TYPE, hI as OPEN_AI_NODE_MESSAGE_ASSISTANT_TYPE, hJ as OPEN_AI_NODE_TYPE, ff as SPLIT_IN_BATCHES_NODE_TYPE, hK as NO_OP_NODE_TYPE, fi as WEBHOOK_NODE_TYPE, fp as SCHEDULE_TRIGGER_NODE_TYPE, aP as useExternalHooks, $ as useCanvasStore, eJ as AI_CATEGORY_LANGUAGE_MODELS, hL as QA_CHAIN_NODE_TYPE, hM as AGENT_NODE_TYPE, hN as BASIC_CHAIN_NODE_TYPE, hO as OPEN_AI_ASSISTANT_NODE_TYPE, ay as STICKY_NODE_TYPE, fl as TRIGGER_NODE_CREATOR_VIEW, ca as NODE_CREATOR_OPEN_SOURCES, d as defineComponent, H as useUIStore, r as ref, bM as useThrottleFn, o as onMounted, y as onBeforeUnmount, h as resolveComponent, i as createElementBlock, g as openBlock, f as createCommentVNode, e as createBlock, n as normalizeClass, k as createBaseVNode, j as createVNode, w as withCtx, m as unref, bP as KeyboardShortcutTooltip, c3 as defineAsyncComponent, c2 as Suspense, F as Fragment, ao as __vitePreload, hP as getMidCanvasPosition, hQ as DEFAULT_STICKY_WIDTH, hR as DEFAULT_STICKY_HEIGHT, _ as _export_sfc } from "./index-B6eunbxp.js";
3
- import { a as useNodeCreatorStore, t as transformNodeType, s as sortNodeCreateElements } from "./useCanvasOperations-DaP5jKbH.js";
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreator-weAzsmlU.js","assets/index-hdsPF3tl.js","assets/index-BA8d2DN9.css","assets/NodeCreator-D18StsVZ.css"])))=>i.map(i=>d[i]);
2
+ import { bT as useNodeCreatorStore, bz as useNodeTypesStore, q as computed, c as useI18n, Q as useWorkflowsStore, gF as MANUAL_TRIGGER_NODE_TYPE, gG as CHAIN_LLM_LANGCHAIN_NODE_TYPE, by as NodeConnectionTypes, c4 as CHAT_TRIGGER_NODE_TYPE, gH as OPEN_AI_NODE_MESSAGE_ASSISTANT_TYPE, gI as OPEN_AI_NODE_TYPE, gJ as SPLIT_IN_BATCHES_NODE_TYPE, gK as NO_OP_NODE_TYPE, gL as WEBHOOK_NODE_TYPE, gM as SCHEDULE_TRIGGER_NODE_TYPE, gN as transformNodeType, aP as useExternalHooks, $ as useCanvasStore, gO as AI_CATEGORY_LANGUAGE_MODELS, gP as QA_CHAIN_NODE_TYPE, gQ as AGENT_NODE_TYPE, gR as BASIC_CHAIN_NODE_TYPE, gS as OPEN_AI_ASSISTANT_NODE_TYPE, ay as STICKY_NODE_TYPE, gT as sortNodeCreateElements, gU as TRIGGER_NODE_CREATOR_VIEW, ch as NODE_CREATOR_OPEN_SOURCES, d as defineComponent, H as useUIStore, r as ref, bO as useThrottleFn, o as onMounted, y as onBeforeUnmount, h as resolveComponent, i as createElementBlock, g as openBlock, f as createCommentVNode, e as createBlock, n as normalizeClass, k as createBaseVNode, j as createVNode, w as withCtx, m as unref, bL as KeyboardShortcutTooltip, ca as defineAsyncComponent, c9 as Suspense, F as Fragment, ao as __vitePreload, gV as getMidCanvasPosition, gW as DEFAULT_STICKY_WIDTH, gX as DEFAULT_STICKY_HEIGHT, _ as _export_sfc } from "./index-hdsPF3tl.js";
4
3
  const useActions = () => {
5
4
  const nodeCreatorStore = useNodeCreatorStore();
6
5
  const nodeTypesStore = useNodeTypesStore();
@@ -241,7 +240,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
241
240
  emits: ["addNodes", "toggleNodeCreator"],
242
241
  setup(__props, { emit: __emit }) {
243
242
  const LazyNodeCreator = defineAsyncComponent(
244
- async () => await __vitePreload(() => import("./NodeCreator-cEUgbAI9.js"), true ? __vite__mapDeps([0,1,2,3,4]) : void 0)
243
+ async () => await __vitePreload(() => import("./NodeCreator-weAzsmlU.js"), true ? __vite__mapDeps([0,1,2,3]) : void 0)
245
244
  );
246
245
  const props = __props;
247
246
  const emit = __emit;
@@ -284,12 +283,17 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
284
283
  emit("addNodes", getAddedNodesAndConnections(nodeTypes.map((type) => ({ type }))));
285
284
  closeNodeCreator(true);
286
285
  }
287
- onMounted(() => {
286
+ function setWrapperRect() {
288
287
  wrapperBoundingRect.value = wrapperRef.value?.getBoundingClientRect();
288
+ }
289
+ onMounted(() => {
290
+ setWrapperRect();
289
291
  document.addEventListener("mousemove", onMouseMove);
292
+ window.addEventListener("resize", setWrapperRect);
290
293
  });
291
294
  onBeforeUnmount(() => {
292
295
  document.removeEventListener("mousemove", onMouseMove);
296
+ window.removeEventListener("resize", setWrapperRect);
293
297
  });
294
298
  return (_ctx, _cache) => {
295
299
  const _component_n8n_icon_button = resolveComponent("n8n-icon-button");