n8n-editor-ui 1.83.1 → 1.84.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 (110) hide show
  1. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-Cu5o7-TL.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-78eP7HIe.js} +1 -1
  2. package/dist/assets/{AuthView-mP34ZmnC.js → AuthView-Bn_LB3Kw.js} +2 -2
  3. package/dist/assets/{CanvasChat-CSLR5tKe.css → CanvasChat-CGGQcCRA.css} +45 -30
  4. package/dist/assets/{CanvasChat-cto4xkVD.js → CanvasChat-tuKMnT6J.js} +230 -143
  5. package/dist/assets/{ChangePasswordView-DkwRz1u6.js → ChangePasswordView-aXYIR8zr.js} +3 -3
  6. package/dist/assets/CollectionParameter-DR9e0MGf.js +4 -0
  7. package/dist/assets/{CredentialsView-UBVro_dv.js → CredentialsView-k8CeiyMJ.js} +5 -6
  8. package/dist/assets/{ErrorView-EWPmvugu.js → ErrorView-e-cpk6J7.js} +1 -1
  9. package/dist/assets/{ConcurrentExecutionsHeader-CEBmSYNK.css → ExecutionsTime-BOPJEomw.css} +63 -63
  10. package/dist/assets/{ConcurrentExecutionsHeader-Ul9ROpk0.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-BYacEmlc.js} +114 -114
  11. package/dist/assets/ExecutionsView-CQi8A4ps.js +926 -0
  12. package/dist/assets/{ExecutionsView-CB1tvZfo.css → ExecutionsView-CRTcP3sx.css} +60 -188
  13. package/dist/assets/{FileSaver.min-D6Iix6V9.js → FileSaver.min-DmMmlWYQ.js} +1 -1
  14. package/dist/assets/{FixedCollectionParameter-DBIBAKMF.js → FixedCollectionParameter-BfUPtP5M.js} +1 -1
  15. package/dist/assets/{ForgotMyPasswordView-DOMjwy3H.js → ForgotMyPasswordView-Dzao5PZ9.js} +3 -3
  16. package/dist/assets/{ProjectHeader-BZ6b6lat.css → Logo-DLBj1gMw.css} +23 -17
  17. package/dist/assets/{Logo-CidMx5L1.js → Logo-DVRZ2qRx.js} +8 -19
  18. package/dist/assets/{MainHeader-CpYwrGHe.js → MainHeader-BUw_JG4S.js} +10 -10
  19. package/dist/assets/{MainSidebar-u0kzXS10.js → MainSidebar-C6aXqICd.js} +75 -42
  20. package/dist/assets/{MainSidebar-BRAjTL7J.css → MainSidebar-CKMiDGvH.css} +13 -12
  21. package/dist/assets/{NodeCreation-C3kgMOiP.js → NodeCreation-B9-99kNr.js} +4 -4
  22. package/dist/assets/{NodeCreator-C3jOJmI0.js → NodeCreator-DH90304h.js} +4 -4
  23. package/dist/assets/{NodeDetailsView-CVVfk-zW.css → NodeDetailsView-0RXvy-0D.css} +2 -2
  24. package/dist/assets/{NodeDetailsView-BuAX7b_S.js → NodeDetailsView-Ci-9Cz_w.js} +69 -61
  25. package/dist/assets/{NodeView-CsrK5ExP.js → NodeView-CFUO-Q9X.js} +57 -19
  26. package/dist/assets/{ProjectCardBadge-BYZ4CZ8h.js → ProjectCardBadge-CGqr1_BG.js} +1 -1
  27. package/dist/assets/{ProjectHeader-AVHuknTg.js → ProjectHeader-C8hRwBFC.js} +60 -7
  28. package/dist/assets/ProjectHeader-CQjB5wC7.css +285 -0
  29. package/dist/assets/{ProjectSettings-BBgNR6v0.js → ProjectSettings-motYfWGR.js} +2 -3
  30. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-oVU1CjGg.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-DzkWenq4.js} +2 -2
  31. package/dist/assets/{ResourcesListLayout-C9w15Q23.js → ResourcesListLayout-BYVhS2j5.js} +14 -13
  32. package/dist/assets/{ResourcesListLayout-Brs7VKUf.css → ResourcesListLayout-BqQI0lCG.css} +29 -22
  33. package/dist/assets/{RunDataAi-DvJKJNYm.js → RunDataAi-pfKF0Nfm.js} +3 -3
  34. package/dist/assets/{RunDataJson-T-tjG8mj.js → RunDataJson-CNT_rM-i.js} +12 -12
  35. package/dist/assets/{RunDataJsonActions-zKxT1j4k.js → RunDataJsonActions-BTLAUv9R.js} +2 -2
  36. package/dist/assets/{RunDataSearch-CYKk6_W2.js → RunDataSearch-BpcbBojC.js} +1 -1
  37. package/dist/assets/{RunDataTable-rs93_vdQ.js → RunDataTable-ZnG9QEzJ.js} +2 -2
  38. package/dist/assets/{SamlOnboarding-gWhQJPLd.js → SamlOnboarding-DjhCWFIr.js} +3 -3
  39. package/dist/assets/{SettingsApiView-QxAEXccw.js → SettingsApiView-C1ClqjeG.js} +1 -1
  40. package/dist/assets/{SettingsCommunityNodesView-BpwvEtUI.js → SettingsCommunityNodesView-D5eLIpQC.js} +5 -5
  41. package/dist/assets/{SettingsExternalSecrets-DXrPZ93O.js → SettingsExternalSecrets-ubf6jijA.js} +1 -1
  42. package/dist/assets/{SettingsLdapView-nAm7w9WO.js → SettingsLdapView-BezV6JLr.js} +1 -1
  43. package/dist/assets/{SettingsLogStreamingView-Dr4ArIl_.js → SettingsLogStreamingView-ETOxA5Tw.js} +1 -1
  44. package/dist/assets/{SettingsPersonalView-DWFlvGTn.js → SettingsPersonalView-DGxUC8Q4.js} +1 -1
  45. package/dist/assets/{SettingsSourceControl-DKLeROzN.js → SettingsSourceControl-1vHHG6W9.js} +1 -1
  46. package/dist/assets/{SettingsSso-BVmlQW_R.js → SettingsSso-CdI26YPF.js} +1 -1
  47. package/dist/assets/{SettingsUsageAndPlan-I5n8xGLd.js → SettingsUsageAndPlan-BmI8cSiq.js} +1 -1
  48. package/dist/assets/{SettingsUsersView-D8uY5rsT.js → SettingsUsersView-90JmT1qM.js} +1 -1
  49. package/dist/assets/{SettingsView-e7XAFpfc.js → SettingsView-i7rE7s3I.js} +1 -1
  50. package/dist/assets/{SetupView-DQq_7fpU.js → SetupView-Lp4ullGE.js} +3 -3
  51. package/dist/assets/{SetupWorkflowCredentialsButton-frwFWfGJ.js → SetupWorkflowCredentialsButton-CoXXUd3B.js} +1 -1
  52. package/dist/assets/{SetupWorkflowFromTemplateView-C3ENxhAx.js → SetupWorkflowFromTemplateView-TVU0-Zq4.js} +3 -3
  53. package/dist/assets/{SigninView-Bq3o_KYj.js → SigninView-BqF8j6-h.js} +3 -3
  54. package/dist/assets/{SignoutView-BYQXAHDT.js → SignoutView-DrYJ9Qe3.js} +1 -1
  55. package/dist/assets/{SignupView-xqJgShbm.js → SignupView-_EKPhYKN.js} +3 -3
  56. package/dist/assets/{TemplateDetails-COPYl_Ch.js → TemplateDetails-DAalg9G2.js} +3 -3
  57. package/dist/assets/{TemplateList-DWGAiMoN.js → TemplateList-BEYMeJMu.js} +1 -1
  58. package/dist/assets/{TemplatesCollectionView-D7C-dsc7.js → TemplatesCollectionView-fMELXCRX.js} +5 -5
  59. package/dist/assets/{TemplatesSearchView-CUFKLHbU.js → TemplatesSearchView-BO-e3IH7.js} +3 -3
  60. package/dist/assets/{TemplatesView-BjZHhHGF.js → TemplatesView-p57nARMp.js} +1 -1
  61. package/dist/assets/{TemplatesWorkflowView-C2OFQoFQ.js → TemplatesWorkflowView-DAbL5S1-.js} +5 -5
  62. package/dist/assets/{TestDefinitionEditView-DjR3gJvA.js → TestDefinitionEditView-BTo9LlAU.js} +244 -252
  63. package/dist/assets/{TestDefinitionEditView-JONL00pA.css → TestDefinitionEditView-BXhOuJrU.css} +128 -116
  64. package/dist/assets/{TestDefinitionListView-BLzGSiMz.js → TestDefinitionListView-D_-DyZDv.js} +1 -1
  65. package/dist/assets/{TestDefinitionNewView-DBs9WSAD.js → TestDefinitionNewView-Crk5OePO.js} +13 -4
  66. package/dist/assets/{TestDefinitionRootView-vaMPai85.js → TestDefinitionRootView-BtiqAWW1.js} +1 -1
  67. package/dist/assets/{VariablesView-B2A18wmf.js → VariablesView-Bg3GI1iE.js} +5 -5
  68. package/dist/assets/{VariablesView-CbTLdNwU.css → VariablesView-BvDpOTm3.css} +7 -11
  69. package/dist/assets/{WorkerView-CfmL9mV2.js → WorkerView-CaTyr1ci.js} +7 -7
  70. package/dist/assets/{WorkflowActivator-Bk7lYyKD.js → WorkflowActivator-BvmRhIkt.js} +2 -2
  71. package/dist/assets/{WorkflowExecutionsInfoAccordion-BJUV_abc.js → WorkflowExecutionsInfoAccordion-BuIbG1kZ.js} +1 -1
  72. package/dist/assets/{WorkflowExecutionsLandingPage-BGJsZkAj.js → WorkflowExecutionsLandingPage-BirtsKx4.js} +2 -2
  73. package/dist/assets/{WorkflowExecutionsPreview-BDVLuC1z.css → WorkflowExecutionsPreview-CPGOOAq2.css} +48 -16
  74. package/dist/assets/{WorkflowExecutionsPreview-C1dnDirp.js → WorkflowExecutionsPreview-DFyHWF9H.js} +253 -119
  75. package/dist/assets/{WorkflowExecutionsView-CeyHBNCa.js → WorkflowExecutionsView-IUjVjxU9.js} +7 -7
  76. package/dist/assets/{WorkflowHistory-BjD7fWBc.js → WorkflowHistory-BqKSxr_5.js} +3 -3
  77. package/dist/assets/{WorkflowOnboardingView-C9XnQ0XZ.js → WorkflowOnboardingView-Bs0Rmm6I.js} +1 -1
  78. package/dist/assets/{WorkflowPreview-DzPoQOB4.js → WorkflowPreview-1jsK9hpV.js} +1 -1
  79. package/dist/assets/{WorkflowsView-DG5J9u8v.js → WorkflowsView-MzPw02jI.js} +482 -347
  80. package/dist/assets/{WorkflowsView-JN0Hvhvt.css → WorkflowsView-Sg6GR5kC.css} +53 -39
  81. package/dist/assets/{easyAiWorkflowUtils-CHIZUcBZ.js → easyAiWorkflowUtils-DlyLBhIZ.js} +1 -1
  82. package/dist/assets/{global-link-actions-DJx6dXwY.js → global-link-actions-DvwtxSrW.js} +1 -1
  83. package/dist/assets/{import-curl-BQvYdAxP.js → import-curl-CbxpR02g.js} +1 -1
  84. package/dist/assets/{index-CFLVCCgm.css → index-74EeM2i2.css} +751 -103
  85. package/dist/assets/{index-BloiTH5y.js → index-CyVlLoqB.js} +3216 -2198
  86. package/dist/assets/{index-Cvcpg6Dy.js → index-tzkIB4Tg.js} +1 -1
  87. package/dist/assets/{pickBy-fjQgBd6D.js → pickBy-DI3cF803.js} +1 -1
  88. package/dist/assets/{polyfills-C7eMRNFe.js → polyfills-CLZ4X0Ad.js} +2342 -1944
  89. package/dist/assets/{pushConnection.store-D5RQY4RP.js → pushConnection.store-BhUCpqAg.js} +1 -1
  90. package/dist/assets/{templateActions-DfmqYUYJ.js → templateActions-BnGO7zdc.js} +1 -1
  91. package/dist/assets/{typescript.worker-DP34mIHW.js → typescript.worker-Bt3bByTc.js} +1158 -695
  92. package/dist/assets/{useBeforeUnload-BTvPg0aq.js → useBeforeUnload-DtKxjKeS.js} +1 -1
  93. package/dist/assets/{useCanvasMapping-CGHW3BxZ.js → useCanvasMapping-BCP7UO9p.js} +10410 -10398
  94. package/dist/assets/{useCanvasMapping-CkNBF2SE.css → useCanvasMapping-CI4ehFWu.css} +579 -579
  95. package/dist/assets/{useCanvasOperations-Cr_vZCiR.js → useCanvasOperations-Ctquo5LL.js} +23 -6
  96. package/dist/assets/{useExecutionDebugging-CTmjDF_B.js → useExecutionDebugging-C0TAc9fj.js} +1 -1
  97. package/dist/assets/{useExecutionHelpers-C8isDFPE.js → useExecutionHelpers-BQHL3OpL.js} +1 -1
  98. package/dist/assets/{useImportCurlCommand-uH3ThHFG.js → useImportCurlCommand-IE8oJ9bp.js} +13 -20
  99. package/dist/assets/{usePinnedData-C5x08fuF.js → usePinnedData-CtRDhd6k.js} +2 -2
  100. package/dist/assets/{usePushConnection-DUixULqA.js → usePushConnection-DXozzPWi.js} +5 -4
  101. package/dist/assets/{useRunWorkflow-CnFMyZFO.js → useRunWorkflow-D9JIEr1s.js} +3 -3
  102. package/dist/assets/{useTestDefinitionForm-DxJcvrhw.js → useTestDefinitionForm-8dJH3v29.js} +1 -1
  103. package/dist/assets/{useWorkflowActivate-Cn5TIR2c.js → useWorkflowActivate-CI3X35ZJ.js} +1 -1
  104. package/dist/index.html +3 -3
  105. package/package.json +1 -1
  106. package/dist/assets/CollectionParameter-DzUDyeJC.js +0 -4
  107. package/dist/assets/ExecutionsView-DCeodQ1s.js +0 -983
  108. package/dist/assets/Logo-DJLTXpXC.css +0 -165
  109. package/dist/assets/ProjectCreateResource-cJSSCcoG.js +0 -56
  110. package/dist/assets/ProjectCreateResource-eYdTamXR.css +0 -139
@@ -1,5 +1,5 @@
1
- import { d as defineComponent, aD as useLoadingService, L as useUIStore, a1 as useSourceControlStore, a as useToast, r as ref, q as computed, c as openBlock, h as createElementBlock, l as unref, n as normalizeClass, j as createBaseVNode, i as createVNode, k as createTextVNode, t as toDisplayString, w as withCtx, e as createBlock, f as createCommentVNode, C as normalizeStyle, g as useI18n, an as hasPermission, ah as SOURCE_CONTROL_PUSH_MODAL_KEY, aE as notifyUserAboutPullWorkFolderOutcome, aF as sourceControlEventBus, aG as SOURCE_CONTROL_PULL_MODAL_KEY, m as resolveComponent, D as createEventBus, _ as _export_sfc, aH as get, S as defineStore, T as STORES, aI as useCloudPlanStore, $ as useRootStore, aJ as useStorage, aK as DateTime, ak as useTelemetry, p as useSettingsStore, a2 as useProjectsStore, b as useRouter, aL as sortByProperty, V as VIEWS, a6 as usePageRedirectionHelper, am as getResourcePermissions, F as Fragment, B as renderList, aM as useDebugInfo, aN as useTemplatesStore, u as useUsersStore, aO as useVersionsStore, U as useWorkflowsStore, K as useDebounce, W as useRoute, o as onMounted, z as nextTick, y as onBeforeUnmount, G as onClickOutside, aP as N8nLink, aQ as N8nTooltip, aR as _sfc_main$5, aS as N8nNavigationDropdown, aT as createSlots, aU as useExternalHooks, aV as VERSIONS_MODAL_KEY, aW as ABOUT_MODAL_KEY } from "./index-BloiTH5y.js";
2
- import { L as Logo } from "./Logo-CidMx5L1.js";
1
+ import { d as defineComponent, aD as useLoadingService, L as useUIStore, a2 as useSourceControlStore, a as useToast, r as ref, q as computed, aa 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, S as defineStore, aI as useCloudPlanStore, a0 as useRootStore, aJ as useStorage, aK as DateTime, X as STORES, ag as useTelemetry, p as useSettingsStore, a3 as useProjectsStore, b as useRouter, aL as sortByProperty, V as VIEWS, a8 as getResourcePermissions, a7 as usePageRedirectionHelper, F as Fragment, D as renderList, aM as useDebugInfo, aN as useTemplatesStore, u as useUsersStore, aO as useVersionsStore, T as useWorkflowsStore, K as useDebounce, U as useRoute, o as onMounted, aP as useExternalHooks, z as nextTick, y as onBeforeUnmount, G as onClickOutside, aQ as N8nTooltip, aR as N8nLink, aS as _sfc_main$5, aT as N8nNavigationDropdown, aU as createSlots, aV as VERSIONS_MODAL_KEY, aW as ABOUT_MODAL_KEY } from "./index-CyVlLoqB.js";
2
+ import { L as Logo } from "./Logo-DVRZ2qRx.js";
3
3
  const _sfc_main$4 = /* @__PURE__ */ defineComponent({
4
4
  __name: "MainSidebarSourceControl",
5
5
  props: {
@@ -433,7 +433,7 @@ const useGlobalEntityCreation = () => {
433
433
  {
434
434
  id: CREATE_PROJECT_ID,
435
435
  title: "Project",
436
- disabled: !projectsStore.canCreateProjects
436
+ disabled: !projectsStore.canCreateProjects || !projectsStore.hasPermissionToCreateProjects
437
437
  }
438
438
  ];
439
439
  });
@@ -459,7 +459,7 @@ const useGlobalEntityCreation = () => {
459
459
  };
460
460
  const handleSelect = (id) => {
461
461
  if (id !== CREATE_PROJECT_ID) return;
462
- if (projectsStore.canCreateProjects) {
462
+ if (projectsStore.canCreateProjects && projectsStore.hasPermissionToCreateProjects) {
463
463
  void createProject();
464
464
  return;
465
465
  }
@@ -478,6 +478,9 @@ const useGlobalEntityCreation = () => {
478
478
  if (!projectsStore.isTeamProjectFeatureEnabled) {
479
479
  return i18n.baseText("projects.create.limitReached.self");
480
480
  }
481
+ if (!projectsStore.hasPermissionToCreateProjects) {
482
+ return i18n.baseText("projects.create.permissionDenied");
483
+ }
481
484
  return i18n.baseText("projects.create.limitReached", {
482
485
  adjustToNumber: projectsStore.teamProjectsLimit,
483
486
  interpolate: {
@@ -488,6 +491,7 @@ const useGlobalEntityCreation = () => {
488
491
  const createProjectAppendSlotName = computed(() => `item.append.${CREATE_PROJECT_ID}`);
489
492
  const createWorkflowsAppendSlotName = computed(() => `item.append.${WORKFLOWS_MENU_ID}`);
490
493
  const createCredentialsAppendSlotName = computed(() => `item.append.${CREDENTIALS_MENU_ID}`);
494
+ const hasPermissionToCreateProjects = projectsStore.hasPermissionToCreateProjects;
491
495
  const upgradeLabel = computed(() => {
492
496
  if (settingsStore.isCloudDeployment) {
493
497
  return i18n.baseText("generic.upgrade");
@@ -504,6 +508,7 @@ const useGlobalEntityCreation = () => {
504
508
  createWorkflowsAppendSlotName,
505
509
  createCredentialsAppendSlotName,
506
510
  projectsLimitReachedMessage,
511
+ hasPermissionToCreateProjects,
507
512
  upgradeLabel,
508
513
  createProject,
509
514
  isCreatingProject,
@@ -515,7 +520,7 @@ const _hoisted_1$1 = {
515
520
  class: "mt-m mb-m"
516
521
  };
517
522
  const _hoisted_2 = {
518
- key: 4,
523
+ key: 3,
519
524
  class: "mb-m"
520
525
  };
521
526
  const _sfc_main$1 = /* @__PURE__ */ defineComponent({
@@ -527,10 +532,12 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
527
532
  setup(__props) {
528
533
  const props = __props;
529
534
  const locale = useI18n();
530
- const projectsStore = useProjectsStore();
531
535
  const globalEntityCreation = useGlobalEntityCreation();
536
+ const projectsStore = useProjectsStore();
537
+ const settingsStore = useSettingsStore();
532
538
  const isCreatingProject = computed(() => globalEntityCreation.isCreatingProject.value);
533
539
  const displayProjects = computed(() => globalEntityCreation.displayProjects.value);
540
+ const isFoldersFeatureEnabled = computed(() => settingsStore.isFoldersFeatureEnabled);
534
541
  const home = computed(() => ({
535
542
  id: "home",
536
543
  label: locale.baseText("projects.menu.overview"),
@@ -568,6 +575,7 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
568
575
  const _component_N8nMenuItem = resolveComponent("N8nMenuItem");
569
576
  const _component_ElMenu = resolveComponent("ElMenu");
570
577
  const _component_N8nButton = resolveComponent("N8nButton");
578
+ const _component_N8nTooltip = resolveComponent("N8nTooltip");
571
579
  const _component_N8nText = resolveComponent("N8nText");
572
580
  return openBlock(), createElementBlock("div", {
573
581
  class: normalizeClass(_ctx.$style.projects)
@@ -596,19 +604,28 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
596
604
  }, {
597
605
  default: withCtx(() => [
598
606
  createBaseVNode("span", null, toDisplayString(unref(locale).baseText("projects.menu.title")), 1),
599
- unref(projectsStore).canCreateProjects ? (openBlock(), createBlock(_component_N8nButton, {
600
- key: 0,
601
- icon: "plus",
602
- text: "",
603
- "data-test-id": "project-plus-button",
604
- disabled: isCreatingProject.value,
605
- class: normalizeClass(_ctx.$style.plusBtn),
606
- onClick: unref(globalEntityCreation).createProject
607
- }, null, 8, ["disabled", "class", "onClick"])) : createCommentVNode("", true)
607
+ createVNode(_component_N8nTooltip, {
608
+ placement: "right",
609
+ disabled: unref(projectsStore).hasPermissionToCreateProjects,
610
+ content: unref(locale).baseText("projects.create.permissionDenied")
611
+ }, {
612
+ default: withCtx(() => [
613
+ unref(projectsStore).canCreateProjects ? (openBlock(), createBlock(_component_N8nButton, {
614
+ key: 0,
615
+ icon: "plus",
616
+ text: "",
617
+ "data-test-id": "project-plus-button",
618
+ disabled: isCreatingProject.value || !unref(projectsStore).hasPermissionToCreateProjects,
619
+ class: normalizeClass(_ctx.$style.plusBtn),
620
+ onClick: unref(globalEntityCreation).createProject
621
+ }, null, 8, ["disabled", "class", "onClick"])) : createCommentVNode("", true)
622
+ ]),
623
+ _: 1
624
+ }, 8, ["disabled", "content"])
608
625
  ]),
609
626
  _: 1
610
627
  }, 8, ["class"])) : createCommentVNode("", true),
611
- unref(projectsStore).isTeamProjectFeatureEnabled ? (openBlock(), createBlock(_component_ElMenu, {
628
+ unref(projectsStore).isTeamProjectFeatureEnabled || isFoldersFeatureEnabled.value ? (openBlock(), createBlock(_component_ElMenu, {
612
629
  key: 2,
613
630
  collapse: props.collapsed,
614
631
  class: normalizeClass(_ctx.$style.projectItems)
@@ -637,37 +654,46 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
637
654
  ]),
638
655
  _: 1
639
656
  }, 8, ["collapse", "class"])) : createCommentVNode("", true),
640
- showAddFirstProject.value ? (openBlock(), createBlock(_component_N8nButton, {
641
- key: 3,
642
- class: normalizeClass([
643
- _ctx.$style.addFirstProjectBtn,
644
- {
645
- [_ctx.$style.collapsed]: props.collapsed
646
- }
647
- ]),
648
- disabled: isCreatingProject.value,
649
- type: "secondary",
650
- icon: "plus",
651
- "data-test-id": "add-first-project-button",
652
- onClick: unref(globalEntityCreation).createProject
657
+ createVNode(_component_N8nTooltip, {
658
+ placement: "right",
659
+ disabled: unref(projectsStore).hasPermissionToCreateProjects,
660
+ content: unref(locale).baseText("projects.create.permissionDenied")
653
661
  }, {
654
662
  default: withCtx(() => [
655
- createTextVNode(toDisplayString(unref(locale).baseText("projects.menu.addFirstProject")), 1)
663
+ showAddFirstProject.value ? (openBlock(), createBlock(_component_N8nButton, {
664
+ key: 0,
665
+ class: normalizeClass([
666
+ _ctx.$style.addFirstProjectBtn,
667
+ {
668
+ [_ctx.$style.collapsed]: props.collapsed
669
+ }
670
+ ]),
671
+ disabled: isCreatingProject.value || !unref(projectsStore).hasPermissionToCreateProjects,
672
+ type: "secondary",
673
+ icon: "plus",
674
+ "data-test-id": "add-first-project-button",
675
+ onClick: unref(globalEntityCreation).createProject
676
+ }, {
677
+ default: withCtx(() => [
678
+ createTextVNode(toDisplayString(unref(locale).baseText("projects.menu.addFirstProject")), 1)
679
+ ]),
680
+ _: 1
681
+ }, 8, ["class", "disabled", "onClick"])) : createCommentVNode("", true)
656
682
  ]),
657
683
  _: 1
658
- }, 8, ["class", "disabled", "onClick"])) : createCommentVNode("", true),
684
+ }, 8, ["disabled", "content"]),
659
685
  unref(projectsStore).isTeamProjectFeatureEnabled ? (openBlock(), createElementBlock("hr", _hoisted_2)) : createCommentVNode("", true)
660
686
  ], 2);
661
687
  };
662
688
  }
663
689
  });
664
- const projects = "_projects_n4luf_123";
665
- const plusBtn = "_plusBtn_n4luf_130";
666
- const projectItems = "_projectItems_n4luf_134";
667
- const upgradeLink = "_upgradeLink_n4luf_140";
668
- const collapsed = "_collapsed_n4luf_145";
669
- const projectsLabel = "_projectsLabel_n4luf_149";
670
- const addFirstProjectBtn = "_addFirstProjectBtn_n4luf_172";
690
+ const projects = "_projects_iytlh_123";
691
+ const plusBtn = "_plusBtn_iytlh_131";
692
+ const projectItems = "_projectItems_iytlh_135";
693
+ const upgradeLink = "_upgradeLink_iytlh_141";
694
+ const collapsed = "_collapsed_iytlh_146";
695
+ const projectsLabel = "_projectsLabel_iytlh_150";
696
+ const addFirstProjectBtn = "_addFirstProjectBtn_iytlh_173";
671
697
  const style0$1 = {
672
698
  projects,
673
699
  plusBtn,
@@ -680,7 +706,7 @@ const style0$1 = {
680
706
  const cssModules$1 = {
681
707
  "$style": style0$1
682
708
  };
683
- const __unplugin_components_0 = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__cssModules", cssModules$1], ["__scopeId", "data-v-536b2aa9"]]);
709
+ const __unplugin_components_0 = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__cssModules", cssModules$1], ["__scopeId", "data-v-661c60ab"]]);
684
710
  const BASE_FORUM_URL = "https://github.com/n8n-io/n8n/issues/new?labels=bug-report";
685
711
  const REPORT_TEMPLATE = `
686
712
  <!-- Please follow the template below. Skip the questions that are not relevant to you. -->
@@ -957,7 +983,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
957
983
  createWorkflowsAppendSlotName,
958
984
  createCredentialsAppendSlotName,
959
985
  projectsLimitReachedMessage,
960
- upgradeLabel
986
+ upgradeLabel,
987
+ hasPermissionToCreateProjects
961
988
  } = useGlobalEntityCreation();
962
989
  onClickOutside(createBtn, () => {
963
990
  createBtn.value?.close();
@@ -1103,7 +1130,13 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1103
1130
  content: unref(projectsLimitReachedMessage)
1104
1131
  }, {
1105
1132
  default: withCtx(() => [
1106
- createVNode(_component_N8nButton, {
1133
+ !unref(hasPermissionToCreateProjects) ? (openBlock(), createBlock(_component_N8nIcon, {
1134
+ key: 0,
1135
+ style: { "margin-left": "auto", "margin-right": "5px" },
1136
+ icon: "lock",
1137
+ size: "xsmall"
1138
+ })) : (openBlock(), createBlock(_component_N8nButton, {
1139
+ key: 1,
1107
1140
  size: "mini",
1108
1141
  style: { "margin-left": "auto" },
1109
1142
  type: "tertiary",
@@ -1113,7 +1146,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
1113
1146
  createTextVNode(toDisplayString(unref(upgradeLabel)), 1)
1114
1147
  ]),
1115
1148
  _: 2
1116
- }, 1032, ["onClick"])
1149
+ }, 1032, ["onClick"]))
1117
1150
  ]),
1118
1151
  _: 2
1119
1152
  }, 1032, ["content"])) : createCommentVNode("", true)
@@ -574,29 +574,30 @@
574
574
  -------------------------- */
575
575
  /* BEM
576
576
  -------------------------- */
577
- ._projects_n4luf_123 {
577
+ ._projects_iytlh_123 {
578
578
  display: grid;
579
579
  grid-auto-rows: auto;
580
580
  width: 100%;
581
581
  overflow: hidden;
582
582
  align-items: start;
583
+ gap: var(--spacing-3xs);
583
584
  }
584
- ._projects_n4luf_123:hover ._plusBtn_n4luf_130 {
585
+ ._projects_iytlh_123:hover ._plusBtn_iytlh_131 {
585
586
  display: block;
586
587
  }
587
- ._projectItems_n4luf_134 {
588
+ ._projectItems_iytlh_135 {
588
589
  height: 100%;
589
590
  padding: 0 var(--spacing-xs) var(--spacing-s);
590
591
  overflow: auto;
591
592
  }
592
- ._upgradeLink_n4luf_140 {
593
+ ._upgradeLink_iytlh_141 {
593
594
  color: var(--color-primary);
594
595
  cursor: pointer;
595
596
  }
596
- ._collapsed_n4luf_145 {
597
+ ._collapsed_iytlh_146 {
597
598
  text-transform: uppercase;
598
599
  }
599
- ._projectsLabel_n4luf_149 {
600
+ ._projectsLabel_iytlh_150 {
600
601
  display: flex;
601
602
  justify-content: space-between;
602
603
  margin: 0 0 var(--spacing-s) var(--spacing-xs);
@@ -606,23 +607,23 @@
606
607
  box-sizing: border-box;
607
608
  color: var(--color-text-base);
608
609
  }
609
- ._projectsLabel_n4luf_149._collapsed_n4luf_145 {
610
+ ._projectsLabel_iytlh_150._collapsed_iytlh_146 {
610
611
  padding: 0;
611
612
  margin-left: 0;
612
613
  justify-content: center;
613
614
  }
614
- ._plusBtn_n4luf_130 {
615
+ ._plusBtn_iytlh_131 {
615
616
  margin: 0;
616
617
  padding: 0;
617
618
  color: var(--color-text-light);
618
619
  display: none;
619
620
  }
620
- ._addFirstProjectBtn_n4luf_172 {
621
+ ._addFirstProjectBtn_iytlh_173 {
621
622
  font-size: var(--font-size-xs);
622
623
  padding: var(--spacing-3xs);
623
624
  margin: 0 var(--spacing-m) var(--spacing-m);
624
625
  }
625
- ._addFirstProjectBtn_n4luf_172._collapsed_n4luf_145 > span:last-child {
626
+ ._addFirstProjectBtn_iytlh_173._collapsed_iytlh_146 > span:last-child {
626
627
  display: none;
627
628
  }/* BEM support Func
628
629
  -------------------------- */
@@ -746,10 +747,10 @@
746
747
  -------------------------- */
747
748
  /* BEM
748
749
  -------------------------- */
749
- .home[data-v-536b2aa9] {
750
+ .home[data-v-661c60ab] {
750
751
  padding: 0 var(--spacing-xs);
751
752
  }
752
- .home[data-v-536b2aa9] .el-menu-item {
753
+ .home[data-v-661c60ab] .el-menu-item {
753
754
  padding: var(--spacing-m) var(--spacing-xs) !important;
754
755
  }/* BEM support Func
755
756
  -------------------------- */
@@ -1,6 +1,6 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreator-C3jOJmI0.js","assets/index-BloiTH5y.js","assets/index-CFLVCCgm.css","assets/useCanvasOperations-Cr_vZCiR.js","assets/usePinnedData-C5x08fuF.js","assets/NodeCreator-DDiuO5S0.css"])))=>i.map(i=>d[i]);
2
- import { bp as useNodeTypesStore, q as computed, g as useI18n, el as MANUAL_TRIGGER_NODE_TYPE, gC as CHAIN_LLM_LANGCHAIN_NODE_TYPE, bi as NodeConnectionType, b8 as CHAT_TRIGGER_NODE_TYPE, gD as OPEN_AI_NODE_MESSAGE_ASSISTANT_TYPE, gE as OPEN_AI_NODE_TYPE, eM as SPLIT_IN_BATCHES_NODE_TYPE, gF as NO_OP_NODE_TYPE, U as useWorkflowsStore, aU as useExternalHooks, em as WEBHOOK_NODE_TYPE, eo as SCHEDULE_TRIGGER_NODE_TYPE, aC as STICKY_NODE_TYPE, a0 as useCanvasStore, e9 as AI_CATEGORY_LANGUAGE_MODELS, ek as TRIGGER_NODE_CREATOR_VIEW, gG as QA_CHAIN_NODE_TYPE, gH as AGENT_NODE_TYPE, gI as BASIC_CHAIN_NODE_TYPE, gJ as OPEN_AI_ASSISTANT_NODE_TYPE, bK as NODE_CREATOR_OPEN_SOURCES, d as defineComponent, L as useUIStore, r as ref, fB as useThrottleFn, o as onMounted, y as onBeforeUnmount, m as resolveComponent, c as openBlock, h as createElementBlock, n as normalizeClass, j as createBaseVNode, i as createVNode, w as withCtx, l as unref, bt as KeyboardShortcutTooltip, f as createCommentVNode, e as createBlock, bE as Suspense, F as Fragment, bG as defineAsyncComponent, ar as __vitePreload, gK as getMidCanvasPosition, gL as DEFAULT_STICKY_WIDTH, gM as DEFAULT_STICKY_HEIGHT, _ as _export_sfc } from "./index-BloiTH5y.js";
3
- import { u as useNodeCreatorStore, t as transformNodeType, s as sortNodeCreateElements } from "./useCanvasOperations-Cr_vZCiR.js";
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreator-DH90304h.js","assets/index-CyVlLoqB.js","assets/index-74EeM2i2.css","assets/useCanvasOperations-Ctquo5LL.js","assets/usePinnedData-CtRDhd6k.js","assets/NodeCreator-DDiuO5S0.css"])))=>i.map(i=>d[i]);
2
+ import { bs as useNodeTypesStore, q as computed, c as useI18n, T as useWorkflowsStore, eX as MANUAL_TRIGGER_NODE_TYPE, gN as CHAIN_LLM_LANGCHAIN_NODE_TYPE, bg as NodeConnectionType, bh as CHAT_TRIGGER_NODE_TYPE, gO as OPEN_AI_NODE_MESSAGE_ASSISTANT_TYPE, gP as OPEN_AI_NODE_TYPE, eP as SPLIT_IN_BATCHES_NODE_TYPE, gQ as NO_OP_NODE_TYPE, eS as WEBHOOK_NODE_TYPE, eZ as SCHEDULE_TRIGGER_NODE_TYPE, aP as useExternalHooks, a1 as useCanvasStore, eg as AI_CATEGORY_LANGUAGE_MODELS, gR as QA_CHAIN_NODE_TYPE, gS as AGENT_NODE_TYPE, gT as BASIC_CHAIN_NODE_TYPE, gU as OPEN_AI_ASSISTANT_NODE_TYPE, ay as STICKY_NODE_TYPE, eV as TRIGGER_NODE_CREATOR_VIEW, bU as NODE_CREATOR_OPEN_SOURCES, d as defineComponent, L as useUIStore, r as ref, fy 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, bx as KeyboardShortcutTooltip, bM as defineAsyncComponent, bL 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-CyVlLoqB.js";
3
+ import { u as useNodeCreatorStore, t as transformNodeType, s as sortNodeCreateElements } from "./useCanvasOperations-Ctquo5LL.js";
4
4
  const useActions = () => {
5
5
  const nodeCreatorStore = useNodeCreatorStore();
6
6
  const nodeTypesStore = useNodeTypesStore();
@@ -241,7 +241,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
241
241
  emits: ["addNodes", "toggleNodeCreator"],
242
242
  setup(__props, { emit: __emit }) {
243
243
  const LazyNodeCreator = defineAsyncComponent(
244
- async () => await __vitePreload(() => import("./NodeCreator-C3jOJmI0.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0)
244
+ async () => await __vitePreload(() => import("./NodeCreator-DH90304h.js"), true ? __vite__mapDeps([0,1,2,3,4,5]) : void 0)
245
245
  );
246
246
  const props = __props;
247
247
  const emit = __emit;
@@ -1,7 +1,7 @@
1
- import { dT as createCompounder, hP as memoize, c_ as i18n, eO as HTTP_REQUEST_NODE_TYPE, hQ as getCredentialOnlyNodeType, ee as AI_CATEGORY_TOOLS, eT as AI_CATEGORY_ROOT_NODES, eW as CUSTOM_API_CALL_KEY, bb as AI_SUBCATEGORY, d as defineComponent, bu as reactive, o as onMounted, y as onBeforeUnmount, aZ as toRefs, m as resolveComponent, c as openBlock, h as createElementBlock, j as createBaseVNode, i as createVNode, n as normalizeClass, f as createCommentVNode, aU as useExternalHooks, _ as _export_sfc, r as ref, q as computed, e0 as DEFAULT_SUBCATEGORY, hR as CREDENTIAL_ONLY_NODE_PREFIX, eQ as HITL_SUBCATEGORY, dN as isCommunityPackageName, bW as resolveDirective, e as createBlock, aT as createSlots, w as withCtx, ax as withDirectives, l as unref, cl as COMMUNITY_NODES_INSTALLATION_DOCS_URL, cD as _sfc_main$h, C as normalizeStyle, J as withModifiers, ay as vShow, g as useI18n, bN as DRAG_EVENT_DATA_KEY, ak as useTelemetry, b0 as mergeProps, t as toDisplayString, em as WEBHOOK_NODE_TYPE, f0 as getNewNodePosition, eZ as NODE_SIZE, v as renderSlot, U as useWorkflowsStore, I as watch, a_ as normalizeProps, a$ as guardReactiveProps, b5 as onUnmounted, F as Fragment, B as renderList, er as REGULAR_NODE_CREATOR_VIEW, u as useUsersStore, ek as TRIGGER_NODE_CREATOR_VIEW, gE as OPEN_AI_NODE_TYPE, gD as OPEN_AI_NODE_MESSAGE_ASSISTANT_TYPE, hS as withMemo, hE as createStaticVNode, k as createTextVNode, hT as REQUEST_NODE_FORM_URL, L as useUIStore, $ as useRootStore, hU as getNodeIconUrl, hV as getNodeIcon, hW as getNodeIconColor, e4 as SEND_AND_WAIT_OPERATION, e6 as AI_NODE_CREATOR_VIEW, e7 as AI_OTHERS_NODE_CREATOR_VIEW, K as useDebounce, fr as Transition, ej as AI_UNCATEGORIZED_CATEGORY, da as useAssistantStore, bv as useCredentialsStore, bp as useNodeTypesStore, aR as _sfc_main$i, hX as SlideTransition } from "./index-BloiTH5y.js";
2
- import { f as formatTriggerActionName, u as useNodeCreatorStore, e as useViewStacks, g as camelCase, h as useKeyboardNavigation, t as transformNodeType, j as flattenCreateElements, T as TriggerView, R as RegularView, A as AIView, k as AINodesView } from "./useCanvasOperations-Cr_vZCiR.js";
3
- import { b as upperFirst, a as useNodeType } from "./usePinnedData-C5x08fuF.js";
4
- import { u as useActions } from "./NodeCreation-C3kgMOiP.js";
1
+ import { e0 as createCompounder, hX as memoize, d6 as i18n, eR as HTTP_REQUEST_NODE_TYPE, hY as getCredentialOnlyNodeType, en as AI_CATEGORY_TOOLS, f0 as AI_CATEGORY_ROOT_NODES, f3 as CUSTOM_API_CALL_KEY, b9 as AI_SUBCATEGORY, d as defineComponent, by as reactive, o as onMounted, aP as useExternalHooks, y as onBeforeUnmount, aZ as toRefs, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, k as createBaseVNode, f as createCommentVNode, j as createVNode, _ as _export_sfc, r as ref, q as computed, e9 as DEFAULT_SUBCATEGORY, hZ as CREDENTIAL_ONLY_NODE_PREFIX, c as useI18n, eU as HITL_SUBCATEGORY, dW as isCommunityPackageName, b_ as resolveDirective, e as createBlock, aU as createSlots, w as withCtx, aA as withDirectives, aB as vShow, B as normalizeStyle, cK as _sfc_main$h, J as withModifiers, m as unref, cu as COMMUNITY_NODES_INSTALLATION_DOCS_URL, bV as DRAG_EVENT_DATA_KEY, ag as useTelemetry, b1 as mergeProps, t as toDisplayString, eS as WEBHOOK_NODE_TYPE, f5 as getNewNodePosition, fe as NODE_SIZE, x as renderSlot, T as useWorkflowsStore, I as watch, a_ as normalizeProps, a$ as guardReactiveProps, b5 as onUnmounted, F as Fragment, D as renderList, eW as REGULAR_NODE_CREATOR_VIEW, u as useUsersStore, eV as TRIGGER_NODE_CREATOR_VIEW, gP as OPEN_AI_NODE_TYPE, gO as OPEN_AI_NODE_MESSAGE_ASSISTANT_TYPE, h_ as withMemo, gB as createStaticVNode, l as createTextVNode, h$ as REQUEST_NODE_FORM_URL, L as useUIStore, a0 as useRootStore, i0 as getNodeIconUrl, i1 as getNodeIcon, i2 as getNodeIconColor, ee as SEND_AND_WAIT_OPERATION, er as AI_OTHERS_NODE_CREATOR_VIEW, es as AI_NODE_CREATOR_VIEW, K as useDebounce, fK as Transition, eq as AI_UNCATEGORIZED_CATEGORY, di as useAssistantStore, aS as _sfc_main$i, i3 as SlideTransition, bs as useNodeTypesStore, bz as useCredentialsStore } from "./index-CyVlLoqB.js";
2
+ import { f as formatTriggerActionName, u as useNodeCreatorStore, e as useViewStacks, g as camelCase, h as useKeyboardNavigation, t as transformNodeType, A as AINodesView, j as AIView, R as RegularView, T as TriggerView, k as flattenCreateElements } from "./useCanvasOperations-Ctquo5LL.js";
3
+ import { b as upperFirst, a as useNodeType } from "./usePinnedData-CtRDhd6k.js";
4
+ import { u as useActions } from "./NodeCreation-B9-99kNr.js";
5
5
  var startCase = createCompounder(function(result, word, index) {
6
6
  return result + (index ? " " : "") + upperFirst(word);
7
7
  });
@@ -2709,7 +2709,7 @@ video {
2709
2709
  -------------------------- */
2710
2710
  /* BEM
2711
2711
  -------------------------- */
2712
- .run-data .code-node-editor[data-v-b59a3ea9] {
2712
+ .run-data .code-node-editor[data-v-0b368137] {
2713
2713
  height: 100%;
2714
2714
  }/* BEM support Func
2715
2715
  -------------------------- */
@@ -2833,7 +2833,7 @@ video {
2833
2833
  -------------------------- */
2834
2834
  /* BEM
2835
2835
  -------------------------- */
2836
- [data-v-b59a3ea9] .highlight {
2836
+ [data-v-0b368137] .highlight {
2837
2837
  background-color: #f7dc55;
2838
2838
  color: black;
2839
2839
  border-radius: var(--border-radius-base);
@@ -1,12 +1,12 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataTable-rs93_vdQ.js","assets/index-BloiTH5y.js","assets/index-CFLVCCgm.css","assets/useExecutionHelpers-C8isDFPE.js","assets/RunDataTable-CX7gToH4.css","assets/RunDataJson-T-tjG8mj.js","assets/usePinnedData-C5x08fuF.js","assets/useRunWorkflow-CnFMyZFO.js","assets/pushConnection.store-D5RQY4RP.js","assets/import-curl-BQvYdAxP.js","assets/FileSaver.min-D6Iix6V9.js","assets/RunDataAi-DvJKJNYm.js","assets/RunDataAi-DJ-PSs_k.css","assets/useWorkflowActivate-Cn5TIR2c.js","assets/RunDataJson-Txw0lqay.css","assets/RunDataSearch-CYKk6_W2.js","assets/RunDataSearch-R6qtl0Jf.css"])))=>i.map(i=>d[i]);
2
- import { gN as hasKey, d as defineComponent, r as ref, q as computed, m as resolveComponent, c as openBlock, h as createElementBlock, j as createBaseVNode, i as createVNode, cD as _sfc_main$m, n as normalizeClass, w as withCtx, k as createTextVNode, t as toDisplayString, e as createBlock, f as createCommentVNode, H as withKeys, J as withModifiers, l as unref, g as useI18n, z as nextTick, _ as _export_sfc, as as useNDVStore, U as useWorkflowsStore, dN as isCommunityPackageName, ci as NPM_PACKAGE_DOCS_BASE_URL, gO as BUILTIN_NODES_DOCS_URL, cl as COMMUNITY_NODES_INSTALLATION_DOCS_URL, bi as NodeConnectionType, aU as useExternalHooks, ak as useTelemetry, b as useRouter, b7 as useClipboard, a5 as useWorkflowHelpers, a as useToast, gP as OPEN_URL_PANEL_TRIGGER_NODE_TYPES, gQ as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, ep as FORM_TRIGGER_NODE_TYPE, b8 as CHAT_TRIGGER_NODE_TYPE, I as watch, F as Fragment, B as renderList, G as onClickOutside, ap as h, gR as toValue, gS as toRef, gT as tryOnScopeDispose, gU as isIOS, gV as noop, gW as isObject, gX as isClient, bp as useNodeTypesStore, bq as useNodeHelpers, K as useDebounce, fC as nodeIssuesToString, C as normalizeStyle, fp as TitledList, bf as getNodeInputs, L as useUIStore, el as MANUAL_TRIGGER_NODE_TYPE, em as WEBHOOK_NODE_TYPE, eU as AI_TRANSFORM_NODE_TYPE, gY as AI_TRANSFORM_CODE_GENERATED_FOR_PROMPT, b0 as mergeProps, gZ as generateCodeForAiTransform, g_ as AI_TRANSFORM_JS_CODE, ad as nodeViewEventBus, al as useMessage, af as MODAL_CONFIRM, g$ as SWITCH_NODE_TYPE, fu as isEqual, h0 as captureException, p as useSettingsStore, au as usePostHog, bv as useCredentialsStore, u as useUsersStore, a2 as useProjectsStore, dl as OPEN_AI_API_CREDENTIAL_TYPE, bI as AI_CREDITS_EXPERIMENT, by as useHistoryStore, g9 as ProjectTypes, bg as getConnectionTypes, o as onMounted, h1 as ndvEventBus, y as onBeforeUnmount, h2 as CUSTOM_NODES_DOCS_URL, ax as withDirectives, ay as vShow, h3 as NodeCredentials, gv as _sfc_main$n, bk as get, e$ as getNodeParameters, bV as deepCopy, h4 as set, h5 as unset, eY as RenameNodeCommand, gu as isINodePropertyCollectionList, h6 as isINodePropertiesList, h7 as isINodePropertyOptionsList, h8 as displayParameter, h9 as Draggable, fB as useThrottleFn, fa as useSlots, aJ as useStorage, ha as LOCAL_STORAGE_MAIN_PANEL_RELATIVE_WIDTH, v as renderSlot, hb as MAIN_NODE_PANEL_WIDTH, hc as requireVue, c1 as getDefaultExportFromCjs, hd as sanitizeHtml, he as sanitizeHtmlExports, bA as jsonParse, fY as N8nText, aP as N8nLink, aR as _sfc_main$o, aQ as N8nTooltip, a1 as useSourceControlStore, $ as useRootStore, hf as useSchemaPreviewStore, W as useRoute, bs as toRef$1, cn as storeToRefs, eC as HTML_NODE_TYPE, hg as TRIMMED_TASK_DATA_CONNECTIONS_KEY, hh as executionDataToJson, hi as NODE_TYPES_EXCLUDED_FROM_OUTPUT_NAME_APPEND, d$ as CORE_NODES_CATEGORY, hj as SCHEMA_PREVIEW_EXPERIMENT, hk as computedAsync, f7 as isPresent, dz as isEmpty, hl as LOCAL_STORAGE_PIN_DATA_DISCOVERY_NDV_FLAG, hm as dataPinningEventBus, hn as LOCAL_STORAGE_PIN_DATA_DISCOVERY_CANVAS_FLAG, ho as searchInObject, hp as isObject$1, hq as MAX_DISPLAY_DATA_SIZE_SCHEMA_VIEW, dM as MAX_DISPLAY_DATA_SIZE, bW as resolveDirective, hr as DATA_PINNING_DOCS_URL, bF as N8nCallout, bE as Suspense, hs as N8nRadioButtons, cR as N8nButton, gk as _sfc_main$p, gj as N8nSelect, ht as N8nTabs, hu as _sfc_main$q, hv as JsonEditor, hw as DATA_EDITING_DOCS_URL, c$ as InfoTip, hx as N8nBlockUi, bG as defineAsyncComponent, ar as __vitePreload, bh as getNodeOutputs, hy as getNodeHints, hz as getGenericHints, hA as clearJsonKey, hB as TEST_PIN_DATA, dq as CanvasNodeDirtiness, aT as createSlots, hC as waitingNodeTooltip, hD as truncate, hE as createStaticVNode, hF as uniqBy, b1 as resolveDynamicComponent, fZ as N8nIcon, bP as START_NODE_TYPE, hG as CRON_NODE_TYPE, hH as INTERVAL_NODE_TYPE, hI as isTriggerPanelObject, df as getTriggerNodeServiceName, d2 as CopyInput, fr as Transition, D as createEventBus, V as VIEWS, ag as WORKFLOW_SETTINGS_MODAL_KEY, fy as useDeviceSupport, hJ as EXECUTABLE_TRIGGER_NODE_TYPES, aC as STICKY_NODE_TYPE, hK as BASE_NODE_SURVEY_URL, a9 as EnterpriseEditionFeature, hL as APP_MODALS_ELEMENT_ID, hM as useStyles } from "./index-BloiTH5y.js";
3
- import { u as usePinnedData, a as useNodeType } from "./usePinnedData-C5x08fuF.js";
4
- import { u as useRunWorkflow, a as useNodeDirtiness } from "./useRunWorkflow-CnFMyZFO.js";
5
- import { i as importCurlEventBus } from "./import-curl-BQvYdAxP.js";
6
- import { F as FileSaver_minExports } from "./FileSaver.min-D6Iix6V9.js";
7
- import { _ as _sfc_main$r, R as RunDataAi } from "./RunDataAi-DvJKJNYm.js";
8
- import { u as useExecutionHelpers, b as convertToDisplayDateComponents } from "./useExecutionHelpers-C8isDFPE.js";
9
- import { u as useWorkflowActivate } from "./useWorkflowActivate-Cn5TIR2c.js";
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/RunDataTable-ZnG9QEzJ.js","assets/index-CyVlLoqB.js","assets/index-74EeM2i2.css","assets/useExecutionHelpers-BQHL3OpL.js","assets/RunDataTable-CX7gToH4.css","assets/RunDataJson-CNT_rM-i.js","assets/usePinnedData-CtRDhd6k.js","assets/useRunWorkflow-D9JIEr1s.js","assets/pushConnection.store-BhUCpqAg.js","assets/import-curl-CbxpR02g.js","assets/FileSaver.min-DmMmlWYQ.js","assets/RunDataAi-pfKF0Nfm.js","assets/RunDataAi-DJ-PSs_k.css","assets/useWorkflowActivate-CI3X35ZJ.js","assets/RunDataJson-Txw0lqay.css","assets/RunDataSearch-BpcbBojC.js","assets/RunDataSearch-R6qtl0Jf.css"])))=>i.map(i=>d[i]);
2
+ import { gY as hasKey, d as defineComponent, r as ref, q as computed, h as resolveComponent, i as createElementBlock, g as openBlock, n as normalizeClass, k as createBaseVNode, j as createVNode, cK as _sfc_main$m, w as withCtx, H as withKeys, J as withModifiers, l as createTextVNode, t as toDisplayString, m as unref, c as useI18n, e as createBlock, f as createCommentVNode, z as nextTick, _ as _export_sfc, as as useNDVStore, T as useWorkflowsStore, dW as isCommunityPackageName, cs as NPM_PACKAGE_DOCS_BASE_URL, gZ as BUILTIN_NODES_DOCS_URL, cu as COMMUNITY_NODES_INSTALLATION_DOCS_URL, aP as useExternalHooks, ag as useTelemetry, bg as NodeConnectionType, b as useRouter, b7 as useClipboard, a6 as useWorkflowHelpers, a as useToast, g_ as OPEN_URL_PANEL_TRIGGER_NODE_TYPES, g$ as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, e_ as FORM_TRIGGER_NODE_TYPE, bh as CHAT_TRIGGER_NODE_TYPE, I as watch, F as Fragment, D as renderList, G as onClickOutside, aq as h, h0 as toRef, h1 as tryOnScopeDispose, h2 as toValue, h3 as isIOS, h4 as noop, h5 as isObject, h6 as isClient, bs as useNodeTypesStore, bt as useNodeHelpers, K as useDebounce, fM as nodeIssuesToString, B as normalizeStyle, fI as TitledList, bd as getNodeInputs, L as useUIStore, eX as MANUAL_TRIGGER_NODE_TYPE, eS as WEBHOOK_NODE_TYPE, f1 as AI_TRANSFORM_NODE_TYPE, h7 as AI_TRANSFORM_CODE_GENERATED_FOR_PROMPT, b1 as mergeProps, h8 as generateCodeForAiTransform, h9 as AI_TRANSFORM_JS_CODE, ah as nodeViewEventBus, ai as useMessage, aj as MODAL_CONFIRM, ha as SWITCH_NODE_TYPE, fL as isEqual, hb as captureException, p as useSettingsStore, au as usePostHog, bz as useCredentialsStore, u as useUsersStore, a3 as useProjectsStore, dv as OPEN_AI_API_CREDENTIAL_TYPE, bO as AI_CREDITS_EXPERIMENT, bC as useHistoryStore, gh as ProjectTypes, be as getConnectionTypes, o as onMounted, hc as ndvEventBus, y as onBeforeUnmount, hd as CUSTOM_NODES_DOCS_URL, aA as withDirectives, aB as vShow, gG as _sfc_main$n, he as NodeCredentials, bj as get, fg as getNodeParameters, bZ as deepCopy, hf as set, hg as unset, f7 as RenameNodeCommand, gF as isINodePropertyCollectionList, hh as isINodePropertiesList, hi as isINodePropertyOptionsList, hj as displayParameter, hk as Draggable, fy as useThrottleFn, fj as useSlots, hl as MAIN_NODE_PANEL_WIDTH, aJ as useStorage, hm as LOCAL_STORAGE_MAIN_PANEL_RELATIVE_WIDTH, x as renderSlot, hn as requireVue, cb as getDefaultExportFromCjs, ho as sanitizeHtml, hp as sanitizeHtmlExports, bH as jsonParse, aQ as N8nTooltip, aS as _sfc_main$o, aR as N8nLink, c0 as N8nText, a2 as useSourceControlStore, a0 as useRootStore, dr as useSchemaPreviewStore, U as useRoute, bw as toRef$1, cx as storeToRefs, eF as HTML_NODE_TYPE, hq as TRIMMED_TASK_DATA_CONNECTIONS_KEY, hr as executionDataToJson, hs as NODE_TYPES_EXCLUDED_FROM_OUTPUT_NAME_APPEND, e8 as CORE_NODES_CATEGORY, ht as SCHEMA_PREVIEW_EXPERIMENT, hu as computedAsync, f6 as isPresent, hv as LOCAL_STORAGE_PIN_DATA_DISCOVERY_NDV_FLAG, hw as dataPinningEventBus, hx as LOCAL_STORAGE_PIN_DATA_DISCOVERY_CANVAS_FLAG, hy as searchInObject, hz as isObject$1, hA as MAX_DISPLAY_DATA_SIZE_SCHEMA_VIEW, dV as MAX_DISPLAY_DATA_SIZE, b_ as resolveDirective, bN as N8nCallout, hB as DATA_PINNING_DOCS_URL, bL as Suspense, bM as defineAsyncComponent, hC as N8nRadioButtons, c1 as N8nButton, go as _sfc_main$p, gn as N8nSelect, hD as N8nTabs, g9 as _sfc_main$q, hE as JsonEditor, hF as DATA_EDITING_DOCS_URL, d7 as InfoTip, hG as N8nBlockUi, ao as __vitePreload, bf as getNodeOutputs, hH as getNodeHints, hI as getGenericHints, hJ as clearJsonKey, hK as TEST_PIN_DATA, dI as isEmpty, dz as CanvasNodeDirtiness, aU as createSlots, hL as waitingNodeTooltip, hM as truncate, gB as createStaticVNode, bF as START_NODE_TYPE, hN as CRON_NODE_TYPE, hO as INTERVAL_NODE_TYPE, hP as uniqBy, b0 as resolveDynamicComponent, c4 as N8nIcon, hQ as isTriggerPanelObject, dp as getTriggerNodeServiceName, da as CopyInput, C as createEventBus, fK as Transition, V as VIEWS, ak as WORKFLOW_SETTINGS_MODAL_KEY, fA as useDeviceSupport, hR as EXECUTABLE_TRIGGER_NODE_TYPES, ay as STICKY_NODE_TYPE, hS as BASE_NODE_SURVEY_URL, ab as EnterpriseEditionFeature, hT as useStyles, hU as APP_MODALS_ELEMENT_ID } from "./index-CyVlLoqB.js";
3
+ import { u as usePinnedData, a as useNodeType } from "./usePinnedData-CtRDhd6k.js";
4
+ import { u as useRunWorkflow, a as useNodeDirtiness } from "./useRunWorkflow-D9JIEr1s.js";
5
+ import { i as importCurlEventBus } from "./import-curl-CbxpR02g.js";
6
+ import { F as FileSaver_minExports } from "./FileSaver.min-DmMmlWYQ.js";
7
+ import { _ as _sfc_main$r, R as RunDataAi } from "./RunDataAi-pfKF0Nfm.js";
8
+ import { u as useExecutionHelpers, b as convertToDisplayDateComponents } from "./useExecutionHelpers-BQHL3OpL.js";
9
+ import { u as useWorkflowActivate } from "./useWorkflowActivate-CI3X35ZJ.js";
10
10
  function responseHasSubworkflowData(response) {
11
11
  return ["executionId", "workflowId"].every(
12
12
  (x) => hasKey(response, x) && typeof response[x] === "string"
@@ -1094,7 +1094,7 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
1094
1094
  if (codeGenerationInProgress.value) {
1095
1095
  return i18n.baseText("ndv.execute.generatingCode");
1096
1096
  }
1097
- if (isTriggerNode.value && node2?.value?.disabled) {
1097
+ if (node2?.value?.disabled) {
1098
1098
  return i18n.baseText("ndv.execute.nodeIsDisabled");
1099
1099
  }
1100
1100
  if (isTriggerNode.value && hasIssues2.value) {
@@ -1267,35 +1267,29 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
1267
1267
  }
1268
1268
  }
1269
1269
  return (_ctx, _cache) => {
1270
- const _component_n8n_button = resolveComponent("n8n-button");
1271
- const _component_n8n_tooltip = resolveComponent("n8n-tooltip");
1272
- return openBlock(), createElementBlock("div", null, [
1273
- createVNode(_component_n8n_tooltip, {
1274
- placement: "right",
1275
- disabled: !tooltipText.value
1276
- }, {
1277
- content: withCtx(() => [
1278
- createBaseVNode("div", null, toDisplayString(tooltipText.value), 1)
1279
- ]),
1280
- default: withCtx(() => [
1281
- createBaseVNode("div", null, [
1282
- createVNode(_component_n8n_button, mergeProps(_ctx.$attrs, {
1283
- loading: isLoading.value,
1284
- disabled: _ctx.disabled || !!disabledHint.value,
1285
- label: buttonLabel.value,
1286
- type: _ctx.type,
1287
- size: _ctx.size,
1288
- icon: buttonIcon.value,
1289
- "transparent-background": _ctx.transparent,
1290
- title: !isTriggerNode.value && !tooltipText.value ? unref(i18n).baseText("ndv.execute.testNode.description") : "",
1291
- onMouseover: onMouseOver,
1292
- onClick
1293
- }), null, 16, ["loading", "disabled", "label", "type", "size", "icon", "transparent-background", "title"])
1294
- ])
1295
- ]),
1296
- _: 1
1297
- }, 8, ["disabled"])
1298
- ]);
1270
+ const _component_N8nButton = resolveComponent("N8nButton");
1271
+ const _component_N8nTooltip = resolveComponent("N8nTooltip");
1272
+ return openBlock(), createBlock(_component_N8nTooltip, {
1273
+ placement: "right",
1274
+ disabled: !tooltipText.value,
1275
+ content: tooltipText.value
1276
+ }, {
1277
+ default: withCtx(() => [
1278
+ createVNode(_component_N8nButton, mergeProps(_ctx.$attrs, {
1279
+ loading: isLoading.value,
1280
+ disabled: _ctx.disabled || !!disabledHint.value,
1281
+ label: buttonLabel.value,
1282
+ type: _ctx.type,
1283
+ size: _ctx.size,
1284
+ icon: buttonIcon.value,
1285
+ "transparent-background": _ctx.transparent,
1286
+ title: !isTriggerNode.value && !tooltipText.value ? unref(i18n).baseText("ndv.execute.testNode.description") : "",
1287
+ onMouseover: onMouseOver,
1288
+ onClick
1289
+ }), null, 16, ["loading", "disabled", "label", "type", "size", "icon", "transparent-background", "title"])
1290
+ ]),
1291
+ _: 1
1292
+ }, 8, ["disabled", "content"]);
1299
1293
  };
1300
1294
  }
1301
1295
  });
@@ -1845,8 +1839,7 @@ const _sfc_main$f = /* @__PURE__ */ defineComponent({
1845
1839
  set(nodeParameters, parameterPath, newValue);
1846
1840
  }
1847
1841
  removeMismatchedOptionValues(nodeType, nodeParameters, {
1848
- name: parameterPath,
1849
- value: newValue
1842
+ name: parameterPath
1850
1843
  });
1851
1844
  }
1852
1845
  nodeParameters = getNodeParameters(
@@ -2707,6 +2700,7 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
2707
2700
  const props = __props;
2708
2701
  const isDragging = ref(false);
2709
2702
  const initialized = ref(false);
2703
+ const containerWidth = ref(uiStore.appGridDimensions.width);
2710
2704
  const emit = __emit;
2711
2705
  const slots = useSlots();
2712
2706
  onMounted(() => {
@@ -2724,21 +2718,31 @@ const _sfc_main$c = /* @__PURE__ */ defineComponent({
2724
2718
  onBeforeUnmount(() => {
2725
2719
  ndvEventBus.off("setPositionByName", setPositionByName);
2726
2720
  });
2727
- const containerWidth = computed(() => uiStore.appGridWidth);
2728
- watch(containerWidth, (width) => {
2729
- const minRelativeWidth = pxToRelativeWidth(MIN_PANEL_WIDTH);
2730
- const isBelowMinWidthMainPanel = mainPanelDimensions.value.relativeWidth < minRelativeWidth;
2731
- if (isBelowMinWidthMainPanel) {
2732
- setMainPanelWidth(minRelativeWidth);
2733
- }
2734
- const isBelowMinLeft = minimumLeftPosition.value > mainPanelDimensions.value.relativeLeft;
2735
- const isMaxRight = maximumRightPosition.value > mainPanelDimensions.value.relativeRight;
2736
- if (width > MIN_WINDOW_WIDTH && isBelowMinLeft && isMaxRight) {
2737
- setMainPanelWidth(minRelativeWidth);
2738
- setPositions(getInitialLeftPosition(mainPanelDimensions.value.relativeWidth));
2721
+ watch(
2722
+ () => uiStore.appGridDimensions,
2723
+ async (dimensions) => {
2724
+ const ndv = document.getElementById("ndv");
2725
+ if (ndv) {
2726
+ await nextTick();
2727
+ const { width: ndvWidth } = ndv.getBoundingClientRect();
2728
+ containerWidth.value = ndvWidth;
2729
+ } else {
2730
+ containerWidth.value = dimensions.width;
2731
+ }
2732
+ const minRelativeWidth = pxToRelativeWidth(MIN_PANEL_WIDTH);
2733
+ const isBelowMinWidthMainPanel = mainPanelDimensions.value.relativeWidth < minRelativeWidth;
2734
+ if (isBelowMinWidthMainPanel) {
2735
+ setMainPanelWidth(minRelativeWidth);
2736
+ }
2737
+ const isBelowMinLeft = minimumLeftPosition.value > mainPanelDimensions.value.relativeLeft;
2738
+ const isMaxRight = maximumRightPosition.value > mainPanelDimensions.value.relativeRight;
2739
+ if (dimensions.width > MIN_WINDOW_WIDTH && isBelowMinLeft && isMaxRight) {
2740
+ setMainPanelWidth(minRelativeWidth);
2741
+ setPositions(getInitialLeftPosition(mainPanelDimensions.value.relativeWidth));
2742
+ }
2743
+ setPositions(mainPanelDimensions.value.relativeLeft);
2739
2744
  }
2740
- setPositions(mainPanelDimensions.value.relativeLeft);
2741
- });
2745
+ );
2742
2746
  const currentNodePaneType = computed(() => {
2743
2747
  if (!hasInputSlot.value) return "inputless";
2744
2748
  if (!props.isDraggable) return "dragless";
@@ -3678,19 +3682,19 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
3678
3682
  emits: ["search", "runChange", "itemHover", "linkRun", "unlinkRun", "activatePane", "tableMounted"],
3679
3683
  setup(__props, { expose: __expose, emit: __emit }) {
3680
3684
  const LazyRunDataTable = defineAsyncComponent(
3681
- async () => await __vitePreload(() => import("./RunDataTable-rs93_vdQ.js"), true ? __vite__mapDeps([0,1,2,3,4]) : void 0)
3685
+ async () => await __vitePreload(() => import("./RunDataTable-ZnG9QEzJ.js"), true ? __vite__mapDeps([0,1,2,3,4]) : void 0)
3682
3686
  );
3683
3687
  const LazyRunDataJson = defineAsyncComponent(
3684
- async () => await __vitePreload(() => import("./RunDataJson-T-tjG8mj.js"), true ? __vite__mapDeps([5,1,2,6,7,8,9,10,11,3,12,13,14]) : void 0)
3688
+ async () => await __vitePreload(() => import("./RunDataJson-CNT_rM-i.js"), true ? __vite__mapDeps([5,1,2,6,7,8,9,10,11,3,12,13,14]) : void 0)
3685
3689
  );
3686
3690
  const LazyRunDataSchema = defineAsyncComponent(
3687
- async () => await __vitePreload(() => import("./index-BloiTH5y.js").then((n) => n.i5), true ? __vite__mapDeps([1,2]) : void 0)
3691
+ async () => await __vitePreload(() => import("./index-CyVlLoqB.js").then((n) => n.id), true ? __vite__mapDeps([1,2]) : void 0)
3688
3692
  );
3689
3693
  const LazyRunDataHtml = defineAsyncComponent(
3690
3694
  async () => await __vitePreload(() => Promise.resolve().then(() => RunDataHtml$1), true ? void 0 : void 0)
3691
3695
  );
3692
3696
  const LazyRunDataSearch = defineAsyncComponent(
3693
- async () => await __vitePreload(() => import("./RunDataSearch-CYKk6_W2.js"), true ? __vite__mapDeps([15,1,2,16]) : void 0)
3697
+ async () => await __vitePreload(() => import("./RunDataSearch-BpcbBojC.js"), true ? __vite__mapDeps([15,1,2,16]) : void 0)
3694
3698
  );
3695
3699
  const props = __props;
3696
3700
  const emit = __emit;
@@ -4004,7 +4008,10 @@ const _sfc_main$7 = /* @__PURE__ */ defineComponent({
4004
4008
  const isSchemaPreviewEnabled = computed(
4005
4009
  () => props.paneType === "input" && !(nodeType.value?.codex?.categories ?? []).some(
4006
4010
  (category) => category === CORE_NODES_CATEGORY
4007
- ) && posthogStore.isFeatureEnabled(SCHEMA_PREVIEW_EXPERIMENT)
4011
+ ) && posthogStore.isVariantEnabled(
4012
+ SCHEMA_PREVIEW_EXPERIMENT.name,
4013
+ SCHEMA_PREVIEW_EXPERIMENT.variant
4014
+ )
4008
4015
  );
4009
4016
  const hasPreviewSchema = computedAsync(async () => {
4010
4017
  if (!isSchemaPreviewEnabled.value || props.nodes.length === 0) return false;
@@ -5550,7 +5557,7 @@ const style0$5 = {
5550
5557
  const cssModules$6 = {
5551
5558
  "$style": style0$5
5552
5559
  };
5553
- const RunData = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__cssModules", cssModules$6], ["__scopeId", "data-v-b59a3ea9"]]);
5560
+ const RunData = /* @__PURE__ */ _export_sfc(_sfc_main$7, [["__cssModules", cssModules$6], ["__scopeId", "data-v-0b368137"]]);
5554
5561
  const _sfc_main$6 = /* @__PURE__ */ defineComponent({
5555
5562
  __name: "RunInfo",
5556
5563
  props: {
@@ -7741,6 +7748,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
7741
7748
  const _component_font_awesome_icon = resolveComponent("font-awesome-icon");
7742
7749
  const _component_el_dialog = resolveComponent("el-dialog");
7743
7750
  return openBlock(), createBlock(_component_el_dialog, {
7751
+ id: "ndv",
7744
7752
  "model-value": (!!unref(activeNode) || _ctx.renaming) && !isActiveStickyNode.value,
7745
7753
  "before-close": close,
7746
7754
  "show-close": false,