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
@@ -1,5 +1,4 @@
1
- import { _ as _export_sfc$1, i as createElementBlock, g as openBlock, k as createBaseVNode, d as defineComponent, fS as getCurrentScope, b0 as inject, fT as effectScope, X as watch, cX as getCurrentInstance, fU as useSlots, bb as onUnmounted, j as createVNode, x as renderSlot, w as withCtx, m as unref, r as ref, fV as useAttrs, f as createCommentVNode, e as createBlock, b7 as mergeProps, F as Fragment, bN as toRef, fW as Teleport, fX as createPropsRestProxy, q as computed, o as onMounted, n as normalizeClass, bQ as reactive, fY as onScopeDispose, az as onBeforeMount, D as renderList, B as normalizeStyle, z as nextTick, y as onBeforeUnmount, fZ as isMemoSame, t as toDisplayString, b6 as resolveDynamicComponent, l as createTextVNode, b1 as isRef, b3 as toRefs$1, f_ as customRef, bh as provide, h as resolveComponent, aq as h, f$ as toValue$1, g0 as markRaw, g1 as readonly, c as useI18n, bP as KeyboardShortcutTooltip, bm as NodeConnectionTypes, g2 as CanvasKey, Y as useCssModule, H as useUIStore, bz as useNodeTypesStore, Q as useWorkflowsStore, a0 as useSourceControlStore, a7 as getResourcePermissions, ek as isPresent, g3 as getMousePosition$1, ay as STICKY_NODE_TYPE, bq as usePinnedData, g4 as NOT_DUPLICATABLE_NODE_TYPES, g5 as isExecutable, bJ as useStyles, g6 as N8nActionDropdown, cv as getDefaultExportFromCjs, fO as NODE_SIZE, cb as CanvasNodeRenderType, fP as GRID_SIZE, bM as useThrottleFn, g7 as useActiveElement, g8 as useDeviceSupport, g9 as useEventListener$1, ga as onKeyDown, gb as onKeyUp, a_ as watchEffect, b4 as normalizeProps, aV as createSlots, c6 as isValidNodeConnectionType, c7 as CanvasConnectionMode, gc as CanvasNodeKey, gd as mergeModels, ge as useModel, bA as useNodeHelpers, gf as TitledList, aR as N8nTooltip, gg as CanvasNodeDirtiness, bC as _sfc_main$A, b2 as withModifiers, ah as nodeViewEventBus, ca as NODE_CREATOR_OPEN_SOURCES, bV as useBuilderStore, bd as withKeys, gh as CanvasNodeHandleKey, aA as withDirectives, aB as vShow, gi as Transition$2, b as useRouter, bB as useRunWorkflow, aZ as LOGS_PANEL_STATE, bk as CHAT_TRIGGER_NODE_TYPE, C as createEventBus, ep as isEqual, p as useSettingsStore, c2 as Suspense, b5 as guardReactiveProps, gj as useNodeDirtiness, fy as CUSTOM_API_CALL_KEY, bw as getNodeInputs, by as getNodeOutputs, dz as getTriggerNodeServiceName, cs as sanitizeHtml, gk as WAIT_NODE_TYPE, eG as SEND_AND_WAIT_OPERATION, gl as FORM_NODE_TYPE, gm as WAIT_INDEFINITELY, gn as SIMULATE_NODE_TYPE, go as SIMULATE_TRIGGER_NODE_TYPE, gp as getNodeIconSource } from "./index-B6eunbxp.js";
2
- import { p as parseCanvasConnectionHandleString, a as useNodeCreatorStore, b as useCanvasOperations, i as insertSpacersBetweenEndpoints, c as createCanvasConnectionHandleString, m as mapLegacyEndpointsToCanvasConnectionPort, e as checkOverlap, f as mapLegacyConnectionsToCanvasConnections } from "./useCanvasOperations-DaP5jKbH.js";
1
+ import { _ as _export_sfc$1, i as createElementBlock, g as openBlock, k as createBaseVNode, d as defineComponent, eD as getCurrentScope, b1 as inject, eE as effectScope, X as watch, d3 as getCurrentInstance, eF as useSlots, bc as onUnmounted, j as createVNode, x as renderSlot, w as withCtx, m as unref, r as ref, eG as useAttrs, f as createCommentVNode, e as createBlock, b8 as mergeProps, F as Fragment, bI as toRef, eH as Teleport, eI as createPropsRestProxy, q as computed, o as onMounted, n as normalizeClass, bS as reactive, eJ as onScopeDispose, az as onBeforeMount, D as renderList, B as normalizeStyle, z as nextTick, y as onBeforeUnmount, eK as isMemoSame, t as toDisplayString, b7 as resolveDynamicComponent, l as createTextVNode, b2 as isRef, b4 as toRefs$1, eL as customRef, bi as provide, h as resolveComponent, aq as h, eM as toValue$1, eN as markRaw, eO as readonly, c as useI18n, bL as KeyboardShortcutTooltip, by as NodeConnectionTypes, eP as CanvasKey, Y as useCssModule, eQ as parseCanvasConnectionHandleString, H as useUIStore, bz as useNodeTypesStore, Q as useWorkflowsStore, a0 as useSourceControlStore, a7 as getResourcePermissions, eR as isNodeWithWorkflowSelector, eS as getSubworkflowId, et as isPresent, eT as getMousePosition$1, ay as STICKY_NODE_TYPE, bl as usePinnedData, eU as NOT_DUPLICATABLE_NODE_TYPES, eV as isExecutable, bM as useStyles, eW as N8nActionDropdown, cD as getDefaultExportFromCjs, eX as NODE_SIZE, ci as CanvasNodeRenderType, eY as GRID_SIZE, bO as useThrottleFn, eZ as useActiveElement, e_ as useDeviceSupport, e$ as useEventListener$1, f0 as onKeyDown, f1 as onKeyUp, a$ as watchEffect, b5 as normalizeProps, aV as createSlots, ce as isValidNodeConnectionType, f2 as CanvasNodeKey, cf as CanvasConnectionMode, f3 as mergeModels, f4 as useModel, bA as useNodeHelpers, f5 as TitledList, aR as N8nTooltip, f6 as CanvasNodeDirtiness, bD as _sfc_main$A, b3 as withModifiers, bT as useNodeCreatorStore, ah as nodeViewEventBus, ch as NODE_CREATOR_OPEN_SOURCES, bY as useBuilderStore, be as withKeys, f7 as CanvasNodeHandleKey, aA as withDirectives, aB as vShow, f8 as Transition$2, b as useRouter, aY as useLogsStore, bB as useRunWorkflow, b_ as useCanvasOperations, c4 as CHAT_TRIGGER_NODE_TYPE, bh as N8nButton, f9 as insertSpacersBetweenEndpoints, cd as createCanvasConnectionHandleString, C as createEventBus, ey as isEqual, p as useSettingsStore, c9 as Suspense, b6 as guardReactiveProps, fa as useNodeDirtiness, fb as CUSTOM_API_CALL_KEY, fc as mapLegacyEndpointsToCanvasConnectionPort, bv as getNodeInputs, bx as getNodeOutputs, dH as getTriggerNodeServiceName, cA as sanitizeHtml, fd as WAIT_NODE_TYPE, fe as SEND_AND_WAIT_OPERATION, ff as FORM_NODE_TYPE, fg as WAIT_INDEFINITELY, fh as checkOverlap, fi as SIMULATE_NODE_TYPE, fj as SIMULATE_TRIGGER_NODE_TYPE, fk as mapLegacyConnectionsToCanvasConnections, fl as getNodeIconSource } from "./index-hdsPF3tl.js";
3
2
  const _sfc_main$z = {};
4
3
  const _hoisted_1$d = {
5
4
  xmlns: "http://www.w3.org/2000/svg",
@@ -10073,8 +10072,14 @@ const useContextMenu = (onAction = () => {
10073
10072
  () => getResourcePermissions(workflowsStore.workflow.scopes).workflow
10074
10073
  );
10075
10074
  const isReadOnly = computed(
10076
- () => sourceControlStore.preferences.branchReadOnly || uiStore.isReadOnlyView || !workflowPermissions.value.update
10075
+ () => sourceControlStore.preferences.branchReadOnly || uiStore.isReadOnlyView || !workflowPermissions.value.update || workflowsStore.workflow.isArchived
10077
10076
  );
10077
+ const canOpenSubworkflow = computed(() => {
10078
+ if (targetNodes.value.length !== 1) return false;
10079
+ const node2 = targetNodes.value[0];
10080
+ if (!isNodeWithWorkflowSelector(node2)) return false;
10081
+ return !!getSubworkflowId(node2);
10082
+ });
10078
10083
  const targetNodeIds = computed(() => {
10079
10084
  if (!isOpen.value || !target.value) return [];
10080
10085
  const currentTarget = target.value;
@@ -10113,7 +10118,7 @@ const useContextMenu = (onAction = () => {
10113
10118
  };
10114
10119
  const open = (event, menuTarget) => {
10115
10120
  event.stopPropagation();
10116
- if (isOpen.value && menuTarget.source === target.value?.source) {
10121
+ if (isOpen.value && menuTarget.source === target.value?.source && menuTarget.nodeId === target.value?.nodeId) {
10117
10122
  close();
10118
10123
  return;
10119
10124
  }
@@ -10233,10 +10238,18 @@ const useContextMenu = (onAction = () => {
10233
10238
  {
10234
10239
  id: "rename",
10235
10240
  label: i18n.baseText("contextMenu.rename"),
10236
- shortcut: { keys: ["F2"] },
10241
+ shortcut: { keys: ["Space"] },
10237
10242
  disabled: isReadOnly.value
10238
10243
  }
10239
10244
  ];
10245
+ if (isNodeWithWorkflowSelector(nodes[0])) {
10246
+ singleNodeActions.push({
10247
+ id: "open_sub_workflow",
10248
+ label: i18n.baseText("contextMenu.openSubworkflow"),
10249
+ shortcut: { shiftKey: true, metaKey: true, keys: ["O"] },
10250
+ disabled: !canOpenSubworkflow.value
10251
+ });
10252
+ }
10240
10253
  menuActions.unshift(...singleNodeActions);
10241
10254
  }
10242
10255
  actions.value = menuActions;
@@ -17416,7 +17429,7 @@ const _sfc_main$o = /* @__PURE__ */ defineComponent({
17416
17429
  };
17417
17430
  }
17418
17431
  });
17419
- const canvasEdgeToolbar = "_canvasEdgeToolbar_8p9ym_123";
17432
+ const canvasEdgeToolbar = "_canvasEdgeToolbar_uogmx_123";
17420
17433
  const style0$m = {
17421
17434
  canvasEdgeToolbar
17422
17435
  };
@@ -17426,7 +17439,7 @@ const cssModules$m = {
17426
17439
  const CanvasEdgeToolbar = /* @__PURE__ */ _export_sfc$1(_sfc_main$o, [["__cssModules", cssModules$m]]);
17427
17440
  const _hoisted_1$6 = ["data-source-node-name", "data-target-node-name"];
17428
17441
  const _hoisted_2$3 = ["data-source-node-name", "data-target-node-name", "data-edge-status"];
17429
- const delayedHoveredTimeout = 300;
17442
+ const delayedHoveredTimeout = 600;
17430
17443
  const _sfc_main$n = /* @__PURE__ */ defineComponent({
17431
17444
  __name: "CanvasEdge",
17432
17445
  props: {
@@ -17819,9 +17832,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
17819
17832
  const workflowsStore = useWorkflowsStore();
17820
17833
  const nodeTypesStore = useNodeTypesStore();
17821
17834
  const node2 = computed(() => !!name.value && workflowsStore.getNodeByName(name.value));
17822
- const isNodesAsToolNode = computed(
17823
- () => !!node2.value && nodeTypesStore.isNodesAsToolNode(node2.value.type)
17824
- );
17835
+ const isToolNode = computed(() => !!node2.value && nodeTypesStore.isToolNode(node2.value.type));
17825
17836
  const nodeDisabledTitle = computed(() => {
17826
17837
  return isDisabled.value ? i18n.baseText("node.enable") : i18n.baseText("node.disable");
17827
17838
  });
@@ -17833,7 +17844,7 @@ const _sfc_main$l = /* @__PURE__ */ defineComponent({
17833
17844
  [$style.forceVisible]: isHovered.value || isStickyColorSelectorOpen.value
17834
17845
  }));
17835
17846
  const isExecuteNodeVisible = computed(() => {
17836
- return !props.readOnly && render2.value.type === CanvasNodeRenderType.Default && "configuration" in render2.value.options && (!render2.value.options.configuration || isNodesAsToolNode.value);
17847
+ return !props.readOnly && render2.value.type === CanvasNodeRenderType.Default && "configuration" in render2.value.options && (!render2.value.options.configuration || isToolNode.value);
17837
17848
  });
17838
17849
  const isDisableNodeVisible = computed(() => {
17839
17850
  return !props.readOnly && render2.value.type === CanvasNodeRenderType.Default;
@@ -18319,8 +18330,8 @@ const _sfc_main$h = /* @__PURE__ */ defineComponent({
18319
18330
  function openContextMenu(event) {
18320
18331
  emit("open:contextmenu", event);
18321
18332
  }
18322
- function onActivate() {
18323
- emit("activate", id2.value);
18333
+ function onActivate(event) {
18334
+ emit("activate", id2.value, event);
18324
18335
  }
18325
18336
  return (_ctx, _cache) => {
18326
18337
  const _component_CanvasNodeTooltip = __unplugin_components_0$3;
@@ -20730,19 +20741,19 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
20730
20741
  const router = useRouter();
20731
20742
  const i18n = useI18n();
20732
20743
  const workflowsStore = useWorkflowsStore();
20744
+ const logsStore = useLogsStore();
20733
20745
  const { runEntireWorkflow } = useRunWorkflow({ router });
20734
- const { toggleChatOpen } = useCanvasOperations({ router });
20735
- const isChatOpen = computed(() => workflowsStore.logsPanelState !== LOGS_PANEL_STATE.CLOSED);
20746
+ const { startChat } = useCanvasOperations({ router });
20747
+ const isChatOpen = computed(() => logsStore.isOpen);
20736
20748
  const isExecuting = computed(() => workflowsStore.isWorkflowRunning);
20737
20749
  const testId = computed(() => `execute-workflow-button-${__props.name}`);
20738
20750
  return (_ctx, _cache) => {
20739
20751
  const _component_FontAwesomeIcon = resolveComponent("FontAwesomeIcon");
20740
- const _component_N8nButton = resolveComponent("N8nButton");
20741
20752
  return openBlock(), createElementBlock("div", {
20742
20753
  class: normalizeClass(containerClass.value),
20743
- onClick: _cache[2] || (_cache[2] = withModifiers(() => {
20754
+ onClick: _cache[3] || (_cache[3] = withModifiers(() => {
20744
20755
  }, ["stop", "prevent"])),
20745
- onMousedown: _cache[3] || (_cache[3] = withModifiers(() => {
20756
+ onMousedown: _cache[4] || (_cache[4] = withModifiers(() => {
20746
20757
  }, ["stop", "prevent"]))
20747
20758
  }, [
20748
20759
  createBaseVNode("div", null, [
@@ -20755,22 +20766,40 @@ const _sfc_main$2 = /* @__PURE__ */ defineComponent({
20755
20766
  })
20756
20767
  ], 2),
20757
20768
  !_ctx.readOnly ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
20758
- _ctx.type === unref(CHAT_TRIGGER_NODE_TYPE) ? (openBlock(), createBlock(_component_N8nButton, {
20759
- key: 0,
20760
- type: isChatOpen.value ? "secondary" : "primary",
20761
- size: "large",
20762
- disabled: isExecuting.value,
20763
- "data-test-id": testId.value,
20764
- label: isChatOpen.value ? unref(i18n).baseText("chat.hide") : unref(i18n).baseText("chat.open"),
20765
- onClickCapture: _cache[0] || (_cache[0] = ($event) => unref(toggleChatOpen)("node"))
20766
- }, null, 8, ["type", "disabled", "data-test-id", "label"])) : (openBlock(), createBlock(_component_N8nButton, {
20769
+ _ctx.type === unref(CHAT_TRIGGER_NODE_TYPE) ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
20770
+ isChatOpen.value ? (openBlock(), createBlock(unref(N8nButton), {
20771
+ key: 0,
20772
+ type: "secondary",
20773
+ size: "large",
20774
+ disabled: isExecuting.value,
20775
+ "data-test-id": testId.value,
20776
+ label: unref(i18n).baseText("chat.hide"),
20777
+ onClickCapture: _cache[0] || (_cache[0] = ($event) => unref(logsStore).toggleOpen(false))
20778
+ }, null, 8, ["disabled", "data-test-id", "label"])) : (openBlock(), createBlock(KeyboardShortcutTooltip, {
20779
+ key: 1,
20780
+ label: unref(i18n).baseText("chat.open"),
20781
+ shortcut: { keys: ["c"] }
20782
+ }, {
20783
+ default: withCtx(() => [
20784
+ createVNode(unref(N8nButton), {
20785
+ type: "primary",
20786
+ size: "large",
20787
+ disabled: isExecuting.value,
20788
+ "data-test-id": testId.value,
20789
+ label: unref(i18n).baseText("chat.open"),
20790
+ onClickCapture: _cache[1] || (_cache[1] = ($event) => unref(startChat)("node"))
20791
+ }, null, 8, ["disabled", "data-test-id", "label"])
20792
+ ]),
20793
+ _: 1
20794
+ }, 8, ["label"]))
20795
+ ], 64)) : (openBlock(), createBlock(unref(N8nButton), {
20767
20796
  key: 1,
20768
20797
  type: "primary",
20769
20798
  size: "large",
20770
20799
  disabled: isExecuting.value,
20771
20800
  "data-test-id": testId.value,
20772
20801
  label: unref(i18n).baseText("nodeView.runButtonText.executeWorkflow"),
20773
- onClickCapture: _cache[1] || (_cache[1] = ($event) => unref(runEntireWorkflow)("node", _ctx.name))
20802
+ onClickCapture: _cache[2] || (_cache[2] = ($event) => unref(runEntireWorkflow)("node", _ctx.name))
20774
20803
  }, null, 8, ["disabled", "data-test-id", "label"]))
20775
20804
  ], 64)) : createCommentVNode("", true)
20776
20805
  ])
@@ -20936,8 +20965,8 @@ const _sfc_main$1 = /* @__PURE__ */ defineComponent({
20936
20965
  function onDisabledToggle() {
20937
20966
  emit("toggle", props.id);
20938
20967
  }
20939
- function onActivate() {
20940
- emit("activate", props.id);
20968
+ function onActivate(id22, event) {
20969
+ emit("activate", id22, event);
20941
20970
  }
20942
20971
  function onDeactivate() {
20943
20972
  emit("deactivate", props.id);
@@ -21144,7 +21173,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21144
21173
  keyBindings: { type: Boolean, default: true },
21145
21174
  loading: { type: Boolean, default: false }
21146
21175
  },
21147
- emits: ["update:modelValue", "update:node:position", "update:nodes:position", "update:node:activated", "update:node:deactivated", "update:node:enabled", "update:node:selected", "update:node:name", "update:node:parameters", "update:node:inputs", "update:node:outputs", "click:node", "click:node:add", "run:node", "delete:node", "create:node", "create:sticky", "delete:nodes", "update:nodes:enabled", "copy:nodes", "duplicate:nodes", "update:nodes:pin", "cut:nodes", "delete:connection", "create:connection:start", "create:connection", "create:connection:end", "create:connection:cancelled", "click:connection:add", "click:pane", "run:workflow", "save:workflow", "create:workflow", "drag-and-drop", "tidy-up"],
21176
+ emits: ["update:modelValue", "update:node:position", "update:nodes:position", "update:node:activated", "update:node:deactivated", "update:node:enabled", "update:node:selected", "update:node:name", "update:node:parameters", "update:node:inputs", "update:node:outputs", "update:logs-open", "update:logs:input-open", "update:logs:output-open", "click:node", "click:node:add", "run:node", "delete:node", "create:node", "create:sticky", "delete:nodes", "update:nodes:enabled", "copy:nodes", "duplicate:nodes", "update:nodes:pin", "cut:nodes", "delete:connection", "create:connection:start", "create:connection", "create:connection:end", "create:connection:cancelled", "click:connection:add", "click:pane", "run:workflow", "save:workflow", "create:workflow", "drag-and-drop", "tidy-up", "viewport:change", "selection:end", "open:sub-workflow", "start-chat"],
21148
21177
  setup(__props, { emit: __emit }) {
21149
21178
  const $style = useCssModule();
21150
21179
  const emit = __emit;
@@ -21168,6 +21197,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21168
21197
  onNodesInitialized,
21169
21198
  findNode,
21170
21199
  viewport,
21200
+ dimensions,
21171
21201
  nodesSelectionActive,
21172
21202
  setViewport,
21173
21203
  onEdgeMouseLeave,
@@ -21260,6 +21290,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21260
21290
  }
21261
21291
  const keyMap = computed(() => {
21262
21292
  const readOnlyKeymap = {
21293
+ ctrl_shift_o: emitWithLastSelectedNode((id2) => emit("open:sub-workflow", id2)),
21263
21294
  ctrl_c: emitWithSelectedNodes((ids) => emit("copy:nodes", ids)),
21264
21295
  enter: emitWithLastSelectedNode((id2) => onSetNodeActivated(id2)),
21265
21296
  ctrl_a: () => addSelectedNodes(graphNodes.value),
@@ -21273,7 +21304,10 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21273
21304
  ArrowLeft: emitWithLastSelectedNode(selectLeftNode),
21274
21305
  ArrowRight: emitWithLastSelectedNode(selectRightNode),
21275
21306
  shift_ArrowLeft: emitWithLastSelectedNode(selectUpstreamNodes),
21276
- shift_ArrowRight: emitWithLastSelectedNode(selectDownstreamNodes)
21307
+ shift_ArrowRight: emitWithLastSelectedNode(selectDownstreamNodes),
21308
+ l: () => emit("update:logs-open"),
21309
+ i: () => emit("update:logs:input-open"),
21310
+ o: () => emit("update:logs:output-open")
21277
21311
  };
21278
21312
  if (props.readOnly) return readOnlyKeymap;
21279
21313
  const fullKeymap = {
@@ -21289,7 +21323,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21289
21323
  ctrl_alt_n: () => emit("create:workflow"),
21290
21324
  ctrl_enter: () => emit("run:workflow"),
21291
21325
  ctrl_s: () => emit("save:workflow"),
21292
- shift_alt_t: async () => await onTidyUp({ source: "keyboard-shortcut" })
21326
+ shift_alt_t: async () => await onTidyUp({ source: "keyboard-shortcut" }),
21327
+ c: () => emit("start-chat")
21293
21328
  };
21294
21329
  return fullKeymap;
21295
21330
  });
@@ -21327,7 +21362,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21327
21362
  onUpdateNodesPosition(event.nodes.map(({ id: id2, position: position2 }) => ({ id: id2, position: position2 })));
21328
21363
  }
21329
21364
  function onNodeClick({ event, node: node2 }) {
21330
- emit("click:node", node2.id);
21365
+ emit("click:node", node2.id, getProjectedPosition(event));
21331
21366
  if (event.ctrlKey || event.metaKey || selectedNodes.value.length < 2) {
21332
21367
  return;
21333
21368
  }
@@ -21336,14 +21371,15 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21336
21371
  function onSelectionDragStop(event) {
21337
21372
  onUpdateNodesPosition(event.nodes.map(({ id: id2, position: position2 }) => ({ id: id2, position: position2 })));
21338
21373
  }
21339
- function onSelectionEnd() {
21374
+ function onSelectionEnd(event) {
21340
21375
  if (selectedNodes.value.length === 1) {
21341
21376
  nodesSelectionActive.value = false;
21342
21377
  }
21378
+ emit("selection:end", getProjectedPosition(event));
21343
21379
  }
21344
- function onSetNodeActivated(id2) {
21380
+ function onSetNodeActivated(id2, event) {
21345
21381
  props.eventBus.emit("nodes:action", { ids: [id2], action: "update:node:activated" });
21346
- emit("update:node:activated", id2);
21382
+ emit("update:node:activated", id2, event);
21347
21383
  }
21348
21384
  function onSetNodeDeactivated(id2) {
21349
21385
  emit("update:node:deactivated", id2);
@@ -21461,8 +21497,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21461
21497
  useViewportAutoAdjust(viewportRef, viewport, setViewport);
21462
21498
  function getProjectedPosition(event) {
21463
21499
  const bounds = viewportRef.value?.getBoundingClientRect() ?? { left: 0, top: 0 };
21464
- const offsetX = event?.clientX ?? 0;
21465
- const offsetY = event?.clientY ?? 0;
21500
+ const [offsetX, offsetY] = event ? getMousePosition$1(event) : [0, 0];
21466
21501
  return project({
21467
21502
  x: offsetX - bounds.left,
21468
21503
  y: offsetY - bounds.top
@@ -21496,6 +21531,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21496
21531
  function onPaneMoveEnd() {
21497
21532
  isPaneMoving.value = false;
21498
21533
  }
21534
+ function onViewportChange() {
21535
+ emit("viewport:change", viewport.value, dimensions.value);
21536
+ }
21499
21537
  const nodeDataById = computed(() => {
21500
21538
  return props.nodes.reduce((acc, node2) => {
21501
21539
  acc[node2.id] = node2.data;
@@ -21503,23 +21541,25 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21503
21541
  }, {});
21504
21542
  });
21505
21543
  const contextMenu2 = useContextMenu();
21506
- function onOpenContextMenu(event) {
21544
+ function onOpenContextMenu(event, target2) {
21507
21545
  contextMenu2.open(event, {
21508
21546
  source: "canvas",
21509
- nodeIds: selectedNodeIds.value
21547
+ nodeIds: selectedNodeIds.value,
21548
+ ...target2
21510
21549
  });
21511
21550
  }
21512
21551
  function onOpenSelectionContextMenu({ event }) {
21513
- contextMenu2.open(event, {
21514
- source: "canvas",
21515
- nodeIds: selectedNodeIds.value
21516
- });
21552
+ onOpenContextMenu(event);
21517
21553
  }
21518
21554
  function onOpenNodeContextMenu(id2, event, source) {
21519
- if (selectedNodeIds.value.includes(id2)) {
21520
- onOpenContextMenu(event);
21555
+ if (source === "node-button") {
21556
+ contextMenu2.open(event, { source, nodeId: id2 });
21557
+ } else if (selectedNodeIds.value.length > 1 && selectedNodeIds.value.includes(id2)) {
21558
+ onOpenContextMenu(event, { nodeId: id2 });
21559
+ } else {
21560
+ onSelectNodes({ ids: [id2] });
21561
+ contextMenu2.open(event, { source, nodeId: id2 });
21521
21562
  }
21522
- contextMenu2.open(event, { source, nodeId: id2 });
21523
21563
  }
21524
21564
  async function onContextMenuAction(action, nodeIds) {
21525
21565
  switch (action) {
@@ -21551,6 +21591,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21551
21591
  return props.eventBus.emit("nodes:action", { ids: nodeIds, action: "update:sticky:color" });
21552
21592
  case "tidy_up":
21553
21593
  return await onTidyUp({ source: "context-menu" });
21594
+ case "open_sub_workflow": {
21595
+ return emit("open:sub-workflow", nodeIds[0]);
21596
+ }
21554
21597
  }
21555
21598
  }
21556
21599
  async function onTidyUp(payload) {
@@ -21668,7 +21711,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
21668
21711
  onSelectionEnd,
21669
21712
  onSelectionContextMenu: onOpenSelectionContextMenu,
21670
21713
  onDragover: onDragOver,
21671
- onDrop
21714
+ onDrop,
21715
+ onViewportChange
21672
21716
  }, {
21673
21717
  "node-canvas-node": withCtx((nodeProps) => [
21674
21718
  renderSlot(_ctx.$slots, "node", normalizeProps(guardReactiveProps({ nodeProps })), () => [
@@ -21775,7 +21819,7 @@ const style0 = {
21775
21819
  const cssModules = {
21776
21820
  "$style": style0
21777
21821
  };
21778
- const Canvas = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-af44edae"]]);
21822
+ const Canvas = /* @__PURE__ */ _export_sfc$1(_sfc_main, [["__cssModules", cssModules], ["__scopeId", "data-v-95b95635"]]);
21779
21823
  function useCanvasMapping({
21780
21824
  nodes,
21781
21825
  connections,
@@ -1,5 +1,4 @@
1
- import { R as useRoute, a0 as useSourceControlStore, Q as useWorkflowsStore, q as computed, b as useRouter, bz as useNodeTypesStore, bY as START_NODE_TYPE } from "./index-B6eunbxp.js";
2
- import { b as useCanvasOperations } from "./useCanvasOperations-DaP5jKbH.js";
1
+ import { R as useRoute, a0 as useSourceControlStore, Q as useWorkflowsStore, q as computed, b as useRouter, b_ as useCanvasOperations, bz as useNodeTypesStore, c0 as START_NODE_TYPE } from "./index-hdsPF3tl.js";
3
2
  function useClearExecutionButtonVisible() {
4
3
  const route = useRoute();
5
4
  const sourceControlStore = useSourceControlStore();
@@ -1,4 +1,4 @@
1
- import { b as useRouter, a as useToast, Q as useWorkflowsStore, p as useSettingsStore, H as useUIStore, a6 as usePageRedirectionHelper, q as computed, aa as EnterpriseEditionFeature, c as useI18n, cr as DEBUG_PAYWALL_MODAL_KEY, aq as h, cs as sanitizeHtml, ai as useMessage, aj as MODAL_CONFIRM, V as VIEWS, ag as useTelemetry, Z as useRootStore, ct as isFullExecutionResponse } from "./index-B6eunbxp.js";
1
+ import { b as useRouter, a as useToast, Q as useWorkflowsStore, p as useSettingsStore, H as useUIStore, a6 as usePageRedirectionHelper, q as computed, aa as EnterpriseEditionFeature, c as useI18n, cz as DEBUG_PAYWALL_MODAL_KEY, aq as h, cA as sanitizeHtml, ai as useMessage, aj as MODAL_CONFIRM, V as VIEWS, ag as useTelemetry, Z as useRootStore, cB as isFullExecutionResponse } from "./index-hdsPF3tl.js";
2
2
  const useExecutionDebugging = () => {
3
3
  const telemetry = useTelemetry();
4
4
  const router = useRouter();
@@ -1,5 +1,5 @@
1
- import { c as convertToDisplayDate } from "./dateFormatter-C8N5khiG.js";
2
- import { b as useRouter, V as VIEWS, ag as useTelemetry, c as useI18n } from "./index-B6eunbxp.js";
1
+ import { c as convertToDisplayDate } from "./dateFormatter-LbucaaRt.js";
2
+ import { b as useRouter, V as VIEWS, ag as useTelemetry, c as useI18n } from "./index-hdsPF3tl.js";
3
3
  function useExecutionHelpers() {
4
4
  const i18n = useI18n();
5
5
  const router = useRouter();
@@ -8,7 +8,7 @@ function useExecutionHelpers() {
8
8
  const status = {
9
9
  name: "unknown",
10
10
  createdAt: execution.createdAt?.toString() ?? "",
11
- startTime: formatDate(execution.startedAt),
11
+ startTime: formatDate(execution.startedAt ?? execution.createdAt),
12
12
  label: "Status unknown",
13
13
  runningTime: "",
14
14
  showTimestamp: true,
@@ -1,6 +1,6 @@
1
- import { hv as require$$0, cv as getDefaultExportFromCjs, a as useToast, m as unref, cW as assert, hw as CURL_IMPORT_NOT_SUPPORTED_PROTOCOLS, hx as CURL_IMPORT_NODES_PROTOCOLS, c as useI18n, hy as get } from "./index-B6eunbxp.js";
1
+ import { gt as require$$0, cD as getDefaultExportFromCjs, a as useToast, m as unref, d2 as assert, gu as CURL_IMPORT_NOT_SUPPORTED_PROTOCOLS, gv as CURL_IMPORT_NODES_PROTOCOLS, c as useI18n, gw as get } from "./index-hdsPF3tl.js";
2
2
  import { c as commonjsRequire } from "./_commonjs-dynamic-modules-TGKdzP3c.js";
3
- import { i as importCurlEventBus } from "./import-curl-BpxkGYMX.js";
3
+ import { i as importCurlEventBus } from "./import-curl-DQ6uPzZ1.js";
4
4
  class CCError extends Error {
5
5
  }
6
6
  const UTF8encoder = new TextEncoder();
@@ -0,0 +1,17 @@
1
+ import { R as useRoute, q as computed, V as VIEWS, bS as reactive } from "./index-hdsPF3tl.js";
2
+ const useProjectPages = () => {
3
+ const route = useRoute();
4
+ const isOverviewSubPage = computed(
5
+ () => route.name === VIEWS.WORKFLOWS || route.name === VIEWS.HOMEPAGE || route.name === VIEWS.CREDENTIALS || route.name === VIEWS.EXECUTIONS || route.name === VIEWS.FOLDERS
6
+ );
7
+ const isSharedSubPage = computed(
8
+ () => route.name === VIEWS.SHARED_WITH_ME || route.name === VIEWS.SHARED_WORKFLOWS || route.name === VIEWS.SHARED_CREDENTIALS
9
+ );
10
+ return reactive({
11
+ isOverviewSubPage,
12
+ isSharedSubPage
13
+ });
14
+ };
15
+ export {
16
+ useProjectPages as u
17
+ };