n8n-editor-ui 1.102.2 → 1.103.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (115) hide show
  1. package/dist/assets/{ActionDropdown-CiegfqhB.js → ActionDropdown-BhU4vCrE.js} +1 -1
  2. package/dist/assets/{AnimatedSpinner-DZ7wHd_W.js → AnimatedSpinner-Du5eXSIY.js} +1 -1
  3. package/dist/assets/{AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-BQoi5khn.js → AnnotationTagsDropdown.ee.vue_vue_type_script_setup_true_lang-DEQTwSbx.js} +1 -1
  4. package/dist/assets/{AuthView-K2y2JXyp.js → AuthView-BJ-YTYTN.js} +2 -2
  5. package/dist/assets/{ChangePasswordView-D_EsQtLD.js → ChangePasswordView-B-OkU_yr.js} +3 -3
  6. package/dist/assets/CollectionParameter-BHthTTpD.js +4 -0
  7. package/dist/assets/{CredentialsView-DvE9GnD7.js → CredentialsView-BjUZvEdd.js} +8 -8
  8. package/dist/assets/{DemoFooter-kRP32xy4.js → DemoFooter-9WRPL1Nd.js} +8 -8
  9. package/dist/assets/{EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-B6KKFEL7.js → EmptySharedSectionActionBox.vue_vue_type_script_setup_true_lang-D3Zaxt4S.js} +1 -1
  10. package/dist/assets/{EntityNotFound-q_5k8QTh.js → EntityNotFound-DvAk0XOf.js} +1 -1
  11. package/dist/assets/{EntityUnAuthorised-DrFh2EVh.js → EntityUnAuthorised-BTLaJBAA.js} +1 -1
  12. package/dist/assets/{ErrorView-CdyA4lBI.js → ErrorView-KDDRlAEN.js} +1 -1
  13. package/dist/assets/{EvaluationsRootView-DBi9hUxa.js → EvaluationsRootView-BViIGqmh.js} +1 -1
  14. package/dist/assets/{EvaluationsView-VbCSsM2z.js → EvaluationsView-BY0HmUSo.js} +3 -3
  15. package/dist/assets/{ExecutionsTime.vue_vue_type_script_setup_true_lang-v5SEEKlZ.js → ExecutionsTime.vue_vue_type_script_setup_true_lang-Dz1TldYs.js} +3 -6
  16. package/dist/assets/{ExecutionsView-sSmNa_LK.js → ExecutionsView-z5GL4TFM.js} +9 -9
  17. package/dist/assets/{FileSaver.min-BemkeU_7.js → FileSaver.min-BRpMoNCX.js} +1 -1
  18. package/dist/assets/{FixedCollectionParameter-yzvCzSx6.js → FixedCollectionParameter-BW_7bc6a.js} +1 -1
  19. package/dist/assets/{ForgotMyPasswordView-BKvBLqbr.js → ForgotMyPasswordView-C3yPX8Sm.js} +3 -3
  20. package/dist/assets/{InfoAccordion--ZQQuSPX.js → InfoAccordion-B3ebdljQ.js} +1 -1
  21. package/dist/assets/{InsightsChartAverageRuntime-DGOGXDwW.js → InsightsChartAverageRuntime-B07vNUKi.js} +4 -4
  22. package/dist/assets/{InsightsChartFailed-1vg5XpxV.js → InsightsChartFailed-vwVIlrMM.js} +4 -4
  23. package/dist/assets/{InsightsChartFailureRate-7nJvVi9O.js → InsightsChartFailureRate-3R9NR__K.js} +4 -4
  24. package/dist/assets/{InsightsChartTimeSaved-DKn1pZ2q.js → InsightsChartTimeSaved-0XAZRsQL.js} +4 -4
  25. package/dist/assets/{InsightsChartTotal-ByrPtNMJ.js → InsightsChartTotal-QtHpPQPx.js} +4 -4
  26. package/dist/assets/{InsightsDashboard-BwLnzxKC.js → InsightsDashboard-jAR8co6U.js} +10 -10
  27. package/dist/assets/{InsightsPaywall-8Xzv5tgi.js → InsightsPaywall-CqlSj87d.js} +1 -1
  28. package/dist/assets/{InsightsSummary-CVMZ0AIR.js → InsightsSummary-1EyHgtD2.js} +1 -1
  29. package/dist/assets/{InsightsTableWorkflows-KGsV_wLS.js → InsightsTableWorkflows-CMfER3Lz.js} +6 -7
  30. package/dist/assets/{InsightsTableWorkflows-DJhX6bQW.css → InsightsTableWorkflows-RGpSnp7n.css} +3 -3
  31. package/dist/assets/{Logo-DFdhGUpH.js → Logo-BAbynr3J.js} +1 -1
  32. package/dist/assets/{LogsPanel-DDzEUcu_.js → LogsPanel-C4P2jfja.js} +14 -8
  33. package/dist/assets/{MainHeader-IUjqKc1i.js → MainHeader-2VAdoAN3.js} +12 -19
  34. package/dist/assets/{MainSidebar-BV-JzM27.js → MainSidebar-ChT_fvtq.js} +3 -3
  35. package/dist/assets/{N8nDataTableServer-Dq5Mwh9d.js → N8nDataTableServer-CUJVgPuN.js} +21 -11
  36. package/dist/assets/{NodeCreation-DCV9QVeh.js → NodeCreation-B0_VqZl0.js} +43 -21
  37. package/dist/assets/{NodeCreation-32nlvQSy.css → NodeCreation-CxN6JIS_.css} +9 -1
  38. package/dist/assets/{NodeCreator-C8jv1gta.js → NodeCreator-Dudc-sld.js} +2 -9
  39. package/dist/assets/{NodeDetailsView-D7qedYA0.js → NodeDetailsView-D3jGDk45.js} +15 -15
  40. package/dist/assets/{NodeDetailsViewV2-BAkPjDo5.js → NodeDetailsViewV2-B0iyvHRQ.js} +15 -15
  41. package/dist/assets/{NodeView-DKlyR0_C.js → NodeView-CX3GlUP1.js} +392 -129
  42. package/dist/assets/{NodeView-BbQy7Are.css → NodeView-hst6fesm.css} +63 -76
  43. package/dist/assets/{ProjectHeader-Co0EPo6y.js → ProjectHeader-CBBQ32Nc.js} +2 -2
  44. package/dist/assets/{ProjectSettings-CUwuhSyu.js → ProjectSettings-D7CCWy0v.js} +3 -3
  45. package/dist/assets/{PushConnectionTracker.vue_vue_type_script_setup_true_lang-DDVpVAyT.js → PushConnectionTracker.vue_vue_type_script_setup_true_lang-aTaPuBRW.js} +1 -1
  46. package/dist/assets/{ResourcesListLayout-0KbQy3_m.js → ResourcesListLayout-CR6jD0wL.js} +3 -3
  47. package/dist/assets/{RunData-CctCvWsu.js → RunData-CY2AnQ-5.js} +83 -70
  48. package/dist/assets/{RunData-DuKNwYqe.css → RunData-D0dKnadD.css} +61 -62
  49. package/dist/assets/{RunDataJson-T-LRvnsQ.js → RunDataJson-PZfvyEtF.js} +9 -9
  50. package/dist/assets/{RunDataJsonActions-C5tGgl2w.js → RunDataJsonActions-BmrxonyU.js} +1 -1
  51. package/dist/assets/RunDataParsedAiContent-b0irqoyM.js +298 -0
  52. package/dist/assets/{RunDataSearch-CsykTpQU.js → RunDataSearch-DS17rPDS.js} +1 -1
  53. package/dist/assets/{RunDataTable-DS-hDrAF.js → RunDataTable-DgBV9mGl.js} +50 -41
  54. package/dist/assets/{RunDataTable-CTBtmQIs.css → RunDataTable-n918b-Qv.css} +55 -55
  55. package/dist/assets/{SamlOnboarding-Dr42BiUa.js → SamlOnboarding-COuXHYGq.js} +3 -3
  56. package/dist/assets/{SettingsApiView-0TAqOns3.js → SettingsApiView-Bjmx5RKa.js} +1 -1
  57. package/dist/assets/{SettingsCommunityNodesView-BO5mZg81.js → SettingsCommunityNodesView-JkmQWaRv.js} +3 -3
  58. package/dist/assets/{SettingsExternalSecrets-BmpYfnUN.js → SettingsExternalSecrets-unJLQHhU.js} +1 -1
  59. package/dist/assets/{SettingsLdapView-AdcIL_WB.js → SettingsLdapView-DvZbXhb2.js} +1 -1
  60. package/dist/assets/{SettingsLogStreamingView-DHAPBv4i.js → SettingsLogStreamingView-DT_BpBbv.js} +1 -1
  61. package/dist/assets/{SettingsPersonalView-D-sKTNF5.js → SettingsPersonalView-D0VCYPEd.js} +1 -1
  62. package/dist/assets/{SettingsSourceControl-D_jgIQPN.js → SettingsSourceControl-CatnTfFf.js} +1 -1
  63. package/dist/assets/{SettingsSso-DpxORkrt.js → SettingsSso-CxWN7WTJ.js} +1 -1
  64. package/dist/assets/{SettingsUsageAndPlan-DWu4RW1N.js → SettingsUsageAndPlan-BMsLzUeh.js} +1 -1
  65. package/dist/assets/{SettingsUsersView-BuZbf1jq.css → SettingsUsersView-B81cHl3f.css} +9 -6
  66. package/dist/assets/{SettingsUsersView-r6-ZO8CO.js → SettingsUsersView-hbKTH9np.js} +12 -10
  67. package/dist/assets/{SettingsView-DoZ4920P.js → SettingsView-C3FWxmaD.js} +1 -1
  68. package/dist/assets/{SetupView-Ca70rhsh.js → SetupView-DdjBoiKa.js} +3 -3
  69. package/dist/assets/{SetupWorkflowCredentialsButton-ujybntOa.js → SetupWorkflowCredentialsButton-BX8a8Tuq.js} +1 -1
  70. package/dist/assets/{SetupWorkflowFromTemplateView-KE6NTkHC.js → SetupWorkflowFromTemplateView-D9BTRma8.js} +3 -3
  71. package/dist/assets/{SigninView-_rmKLSpx.js → SigninView-D8iOgwLO.js} +3 -3
  72. package/dist/assets/{SignoutView-DYPGyBsZ.js → SignoutView-DXt0Sdaq.js} +1 -1
  73. package/dist/assets/{SignupView-BDSpYIB0.js → SignupView-D6pEOFGY.js} +3 -3
  74. package/dist/assets/{TableBase-Bz6zRvAL.js → TableBase-6tpR_KYY.js} +1 -1
  75. package/dist/assets/{Tags-Doq3WsWA.js → Tags-3OtmQZg1.js} +1 -1
  76. package/dist/assets/{TemplateDetails-BzDS-0Fd.js → TemplateDetails-Bvec_Syb.js} +2 -2
  77. package/dist/assets/{TemplateList-D_XBHKQu.js → TemplateList-B0_W0uvx.js} +1 -1
  78. package/dist/assets/{TemplatesCollectionView-BvnC5QZ9.js → TemplatesCollectionView-ChXD8R-e.js} +6 -6
  79. package/dist/assets/{TemplatesSearchView-CCsnhiD3.js → TemplatesSearchView-B_cMlFlv.js} +3 -3
  80. package/dist/assets/{TemplatesView-DbW9D41Q.js → TemplatesView-CziYbcJq.js} +1 -1
  81. package/dist/assets/{TemplatesWorkflowView-CVFtBBcd.js → TemplatesWorkflowView-Hb4zWBu5.js} +6 -6
  82. package/dist/assets/{TriggerPanel-CP3_UsCW.js → TriggerPanel-BsmQ9v2s.js} +4 -112
  83. package/dist/assets/{VariablesView-DIZkSQZ3.js → VariablesView-WOzl2JBK.js} +5 -5
  84. package/dist/assets/{WorkerView-DgXLi4d9.js → WorkerView-C0gI6gbP.js} +5 -5
  85. package/dist/assets/{WorkflowActivator-f0lJXePV.js → WorkflowActivator-B96_pQnb.js} +2 -2
  86. package/dist/assets/{WorkflowExecutionsInfoAccordion-BFSae6PE.js → WorkflowExecutionsInfoAccordion-DFCLkh95.js} +2 -2
  87. package/dist/assets/{WorkflowExecutionsLandingPage-Bb104kSO.js → WorkflowExecutionsLandingPage-B3aM2Zsk.js} +3 -3
  88. package/dist/assets/{WorkflowExecutionsPreview-Do5Rp-8m.js → WorkflowExecutionsPreview-D6oMyJtk.js} +9 -7
  89. package/dist/assets/{WorkflowExecutionsView-BSv7OYhx.js → WorkflowExecutionsView-BiKDjD1D.js} +8 -8
  90. package/dist/assets/{WorkflowHistory-CsEfwZK8.js → WorkflowHistory-CgxAK62K.js} +3 -3
  91. package/dist/assets/{WorkflowOnboardingView-BOvx7CPi.js → WorkflowOnboardingView-tKN781CD.js} +1 -1
  92. package/dist/assets/{WorkflowPreview-BQ_GLS2J.js → WorkflowPreview-CDgvgZcr.js} +3 -1
  93. package/dist/assets/{WorkflowsView-DYxrTukw.js → WorkflowsView-zxJZKrLk.js} +10 -10
  94. package/dist/assets/{chartjs.utils-D8ESC4_p.js → chartjs.utils-EXdTT15A.js} +2 -2
  95. package/dist/assets/{en-C2EOIYih.js → en-FjyeYndD.js} +5 -0
  96. package/dist/assets/{global-link-actions-BIVeUMGo.js → global-link-actions-NNtNk_7A.js} +1 -1
  97. package/dist/assets/{import-curl-CjhdjoGU.js → import-curl-DcVVML3m.js} +1 -1
  98. package/dist/assets/{index-B3p3789J.js → index-BEC9W_3K.js} +3051 -2886
  99. package/dist/assets/{index-COleXxZf.css → index-C6LoGNAx.css} +84 -217
  100. package/dist/assets/{index-DAODXvFs.js → index-CFNl0R-J.js} +1 -1
  101. package/dist/assets/{pickBy-CaeaG_7P.js → pickBy-BXP1QU1C.js} +1 -1
  102. package/dist/assets/{templateActions-Ct4VGqHx.js → templateActions-DWb-SuCl.js} +1 -1
  103. package/dist/assets/{useBeforeUnload-Yj83KQFp.js → useBeforeUnload-uH0nIAM3.js} +1 -1
  104. package/dist/assets/{useExecutionDebugging-wUQ9K2sh.js → useExecutionDebugging-bE32iQtx.js} +1 -1
  105. package/dist/assets/{useExecutionHelpers-i07QEXws.js → useExecutionHelpers-CXZC4OGe.js} +1 -1
  106. package/dist/assets/{useImportCurlCommand-Bs8VOC2z.js → useImportCurlCommand-Bxi0W0ub.js} +2 -2
  107. package/dist/assets/{useKeybindings-ul7syjnB.js → useKeybindings-D5pwrTFM.js} +72 -2
  108. package/dist/assets/{useProjectPages-DHCwu3nX.js → useProjectPages-BKkEKuqG.js} +1 -1
  109. package/dist/assets/{usePushConnection-Iyy-883l.js → usePushConnection-TyXi_EKD.js} +2 -2
  110. package/dist/assets/{useWorkflowActivate-DpHXxGAq.js → useWorkflowActivate-BRxfn_zV.js} +1 -1
  111. package/dist/index.html +2 -2
  112. package/eslint.config.mjs +1 -1
  113. package/package.json +1 -1
  114. package/dist/assets/CollectionParameter-DvyRKBx0.js +0 -4
  115. package/dist/assets/RunDataParsedAiContent-BILLIvVH.js +0 -148
@@ -1,11 +1,11 @@
1
- const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreation-DCV9QVeh.js","assets/index-B3p3789J.js","assets/index-COleXxZf.css","assets/NodeCreation-32nlvQSy.css","assets/NodeDetailsView-D7qedYA0.js","assets/TriggerPanel-CP3_UsCW.js","assets/RunData-CctCvWsu.js","assets/FileSaver.min-BemkeU_7.js","assets/useKeybindings-ul7syjnB.js","assets/useKeybindings-BUK7Ngh6.css","assets/useExecutionHelpers-i07QEXws.js","assets/RunData-DuKNwYqe.css","assets/RunDataParsedAiContent-BILLIvVH.js","assets/RunDataParsedAiContent-wfIiKsq7.css","assets/InfoAccordion--ZQQuSPX.js","assets/InfoAccordion-dxudNqVC.css","assets/TriggerPanel-DRpKKKun.css","assets/useWorkflowActivate-DpHXxGAq.js","assets/ActionDropdown-CiegfqhB.js","assets/ActionDropdown-BmC0wfMx.css","assets/import-curl-CjhdjoGU.js","assets/global-link-actions-BIVeUMGo.js","assets/useExecutionDebugging-wUQ9K2sh.js","assets/useBeforeUnload-Yj83KQFp.js","assets/NodeDetailsView-CaTI-1QQ.css","assets/NodeDetailsViewV2-BAkPjDo5.js","assets/NodeDetailsViewV2-BxNx4ZUM.css","assets/SetupWorkflowCredentialsButton-ujybntOa.js"])))=>i.map(i=>d[i]);
2
- import { _ as _export_sfc$1, h as createElementBlock, g as openBlock, j as createBaseVNode, d as defineComponent, cp as PanelPosition, cq as useVueFlow, bV as toRef, e as createBlock, w as withCtx, J as renderSlot, f as createCommentVNode, F as Fragment, i as createVNode, b_ as resolveDynamicComponent, l as unref, cr as _sfc_main$R, x as computed, a0 as _sfc_main$S, c as useI18n, c9 as KeyboardShortcutTooltip, n as normalizeClass, q as N8nButton, bq as NodeConnectionTypes, cs as getBezierPath, ct as getSmoothStepPath, cu as Position, bW as inject, cv as CanvasKey, ab as useCssModule, cw as parseCanvasConnectionHandleString, r as ref, o as onMounted, y as renderList, cx as _sfc_main$d$1, P as normalizeStyle, T as useUIStore, bI as useNodeTypesStore, a4 as useWorkflowsStore, ae as useSourceControlStore, am as getResourcePermissions, cy as isNodeWithWorkflowSelector, cz as getSubworkflowId, cA as isPresent, aa as watch, cB as getMousePosition, aS as STICKY_NODE_TYPE, bB as usePinnedData, cC as NOT_DUPLICATABLE_NODE_TYPES, cD as isExecutable, cE as Teleport, cb as useStyles, bL as getDefaultExportFromCjs, cF as DEFAULT_NODE_SIZE, cG as CanvasNodeRenderType, cH as GRID_SIZE, cd as useThrottleFn, cI as getRectOfNodes, c1 as onUnmounted, cJ as onKeyDown, cK as onKeyUp, cL as useSlots, c3 as useAttrs, cM as getBoundsofRects, cN as watchEffect, t as toDisplayString, cO as getConnectedEdges, bY as normalizeProps, D as mergeProps, bG as provide, aK as h, bh as createSlots, cP as isValidNodeConnectionType, cQ as _sfc_main$3$1, cR as CanvasNodeKey, cS as CanvasConnectionMode, cT as mergeModels, cU as useModel, I as onBeforeUnmount, cV as _sfc_main$T, N as N8nIcon, $ as N8nTooltip, bD as useNodeHelpers, cW as TitledList, k as createTextVNode, cX as CanvasNodeDirtiness, ar as useTemplateRef, cY as useElementSize, bR as _sfc_main$U, as as InlineRename, cZ as toValue, c_ as isCommunityPackageName, c$ as NPM_PACKAGE_DOCS_BASE_URL, d0 as BUILTIN_NODES_DOCS_URL, aM as useNDVStore, d1 as COMMUNITY_NODES_INSTALLATION_DOCS_URL, d2 as N8nTabs, bf as useExternalHooks, ay as useTelemetry, c4 as useClipboard, ak as useWorkflowHelpers, a as useToast, d3 as OPEN_URL_PANEL_TRIGGER_NODE_TYPES, d4 as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, d5 as MCP_TRIGGER_NODE_TYPE, d6 as FORM_TRIGGER_NODE_TYPE, bz as CHAT_TRIGGER_NODE_TYPE, O as resolveComponent, H as N8nRadioButtons, bg as onClickOutside, d7 as toRef$1, d8 as tryOnScopeDispose, d9 as toValue$1, da as isIOS, db as noop$2, dc as isObject, dd as isClient, S as useDebounce, de as getNodeInputs, df as _sfc_main$V, v as useSettingsStore, dg as useCredentialsStore, u as useUsersStore, af as useProjectsStore, dh as OPEN_AI_API_CREDENTIAL_TYPE, di as N8nCallout, p as N8nText, dj as useHistoryStore, aO as usePostHog, dk as useNodeSettingsParameters, dl as useResizeObserver, aq as ProjectTypes, dm as NDV_UI_OVERHAUL_EXPERIMENT, dn as BASE_NODE_SURVEY_URL, co as ndvEventBus, bQ as withModifiers, a1 as N8nLink, dp as CUSTOM_NODES_DOCS_URL, aU as withDirectives, dq as N8nNotice, aV as vShow, dr as _sfc_main$W, ds as NodeCredentials, bs as get$3, dt as getNodeParameters, du as deepCopy, dv as nameIsParameter, dw as RenameNodeCommand, bH as useCanvasOperations, Q as createEventBus, a2 as defineStore, cf as shallowRef, dx as watchOnce, dy as calculateNodeSize, dz as NodeId, dA as useGetPointerPosition, dB as clamp, dC as N8nSticky, dD as useNodeCreatorStore, bd as useTemplatesStore, V as VIEWS, dE as isExtraTemplateLinksExperimentEnabled, az as nodeViewEventBus, bl as trackTemplatesClick, bm as TemplateClickSource, dF as NODE_CREATOR_OPEN_SOURCES, dG as useBuilderStore, a_ as withKeys, dH as N8nInput, dI as CanvasNodeHandleKey, dJ as Transition$1, dK as _sfc_main$f$1, b as useRouter, bC as useLogsStore, bE as useRunWorkflow, dL as insertSpacersBetweenEndpoints, dM as createCanvasConnectionHandleString, dN as CONFIGURATION_NODE_OFFSET, dO as isEqual, dP as useDeviceSupport, dQ as isOutsideSelected, K as nextTick, dR as _sfc_main$1$4, dS as MarkerType, dT as Suspense, bZ as guardReactiveProps, dU as updateViewportToContainNodes, dV as useNodeDirtiness, dW as CUSTOM_API_CALL_KEY, dX as mapLegacyEndpointsToCanvasConnectionPort, dY as getNodeOutputs, dZ as getTriggerNodeServiceName, d_ as sanitizeHtml, d$ as WAIT_NODE_TYPE, e0 as SEND_AND_WAIT_OPERATION, e1 as FORM_NODE_TYPE, e2 as WAIT_INDEFINITELY, e3 as checkOverlap, e4 as SIMULATE_NODE_TYPE, e5 as SIMULATE_TRIGGER_NODE_TYPE, e6 as mapLegacyConnectionsToCanvasConnections, e7 as getNodeIconSource, e8 as refThrottled, e9 as useFocusPanelStore, ea as isValueExpression, eb as __unplugin_components_2$2, ec as __unplugin_components_3$1, bp as isChatNode, ed as truncateBeforeLast, ee as reactive, a5 as useRoute, ai as useDocumentTitle, aj as useWorkflowSaving, ef as useEnvironmentsStore, eg as useExternalSecretsStore, ac as useRootStore, aN as useExecutionsStore, ad as useCanvasStore, ah as useNpsSurveyStore, R as useTagsStore, a3 as usePushConnectionStore, ag as useFoldersStore, eh as useAgentRequestStore, ei as useWorkflowExtraction, ej as FOCUS_PANEL_EXPERIMENT, a6 as PLACEHOLDER_EMPTY_WORKFLOW_ID, ek as NEW_WORKFLOW_ID, bJ as START_NODE_TYPE, el as getNodeViewTab, G as MAIN_HEADER_TABS, em as VALID_WORKFLOW_IMPORT_URL_REGEX, aA as useMessage, aB as MODAL_CONFIRM, en as jsonParse, by as MANUAL_CHAT_TRIGGER_NODE_TYPE, eo as EVALUATION_TRIGGER_NODE_TYPE, ep as getBounds, eq as onBeforeRouteLeave, aT as onBeforeMount, aC as WORKFLOW_SETTINGS_MODAL_KEY, er as onActivated, es as onDeactivated, et as defineAsyncComponent, aI as __vitePreload, ap as EnterpriseEditionFeature, eu as EVALUATION_NODE_TYPE, ev as getEasyAiWorkflowJson, ew as getRagStarterWorkflowJson, ex as tryToParseNumber, b3 as sourceControlEventBus, ey as getNodesWithNormalizedPosition, ez as needsAgentInput, eA as FROM_AI_PARAMETERS_MODAL_KEY, eB as historyBus, eC as DRAG_EVENT_DATA_KEY } from "./index-B3p3789J.js";
3
- import { N as N8nActionDropdown } from "./ActionDropdown-CiegfqhB.js";
4
- import { N as N8nBlockUi, u as useKeybindings, c as canvasEventBus } from "./useKeybindings-ul7syjnB.js";
5
- import { i as importCurlEventBus } from "./import-curl-CjhdjoGU.js";
6
- import { g as globalLinkActionsEventBus } from "./global-link-actions-BIVeUMGo.js";
7
- import { u as useExecutionDebugging } from "./useExecutionDebugging-wUQ9K2sh.js";
8
- import { u as useBeforeUnload } from "./useBeforeUnload-Yj83KQFp.js";
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/NodeCreation-B0_VqZl0.js","assets/index-BEC9W_3K.js","assets/index-C6LoGNAx.css","assets/NodeCreation-CxN6JIS_.css","assets/NodeDetailsView-D3jGDk45.js","assets/TriggerPanel-BsmQ9v2s.js","assets/RunData-CY2AnQ-5.js","assets/FileSaver.min-BRpMoNCX.js","assets/useKeybindings-D5pwrTFM.js","assets/useKeybindings-BUK7Ngh6.css","assets/useExecutionHelpers-CXZC4OGe.js","assets/RunData-D0dKnadD.css","assets/RunDataParsedAiContent-b0irqoyM.js","assets/RunDataParsedAiContent-wfIiKsq7.css","assets/InfoAccordion-B3ebdljQ.js","assets/InfoAccordion-dxudNqVC.css","assets/TriggerPanel-DRpKKKun.css","assets/useWorkflowActivate-BRxfn_zV.js","assets/ActionDropdown-BhU4vCrE.js","assets/ActionDropdown-BmC0wfMx.css","assets/import-curl-DcVVML3m.js","assets/global-link-actions-NNtNk_7A.js","assets/useExecutionDebugging-bE32iQtx.js","assets/useBeforeUnload-uH0nIAM3.js","assets/NodeDetailsView-CaTI-1QQ.css","assets/NodeDetailsViewV2-B0iyvHRQ.js","assets/NodeDetailsViewV2-BxNx4ZUM.css","assets/SetupWorkflowCredentialsButton-BX8a8Tuq.js"])))=>i.map(i=>d[i]);
2
+ import { _ as _export_sfc$1, h as createElementBlock, g as openBlock, j as createBaseVNode, d as defineComponent, cn as PanelPosition, co as useVueFlow, bT as toRef, e as createBlock, w as withCtx, J as renderSlot, f as createCommentVNode, F as Fragment, i as createVNode, bY as resolveDynamicComponent, l as unref, cp as _sfc_main$R, x as computed, a0 as _sfc_main$S, c as useI18n, c7 as KeyboardShortcutTooltip, n as normalizeClass, q as N8nButton, $ as N8nTooltip, bo as NodeConnectionTypes, cq as getBezierPath, cr as getSmoothStepPath, cs as Position, bU as inject, ct as CanvasKey, ab as useCssModule, cu as parseCanvasConnectionHandleString, r as ref, o as onMounted, y as renderList, cv as _sfc_main$d$1, P as normalizeStyle, T as useUIStore, bG as useNodeTypesStore, a4 as useWorkflowsStore, ae as useSourceControlStore, am as getResourcePermissions, cw as isNodeWithWorkflowSelector, cx as getSubworkflowId, cy as isPresent, aa as watch, cz as getMousePosition, aQ as STICKY_NODE_TYPE, bz as usePinnedData, cA as NOT_DUPLICATABLE_NODE_TYPES, cB as isExecutable, cC as Teleport, c9 as useStyles, bJ as getDefaultExportFromCjs, cD as DEFAULT_NODE_SIZE, cE as CanvasNodeRenderType, cF as GRID_SIZE, cb as useThrottleFn, cG as getRectOfNodes, b$ as onUnmounted, cH as onKeyDown, cI as onKeyUp, cJ as useSlots, c1 as useAttrs, cK as getBoundsofRects, cL as watchEffect, t as toDisplayString, cM as getConnectedEdges, bW as normalizeProps, D as mergeProps, bE as provide, aK as h, bf as createSlots, cN as isValidNodeConnectionType, cO as _sfc_main$3$1, cP as CanvasNodeKey, cQ as CanvasConnectionMode, cR as mergeModels, cS as useModel, I as onBeforeUnmount, cT as _sfc_main$T, N as N8nIcon, bB as useNodeHelpers, cU as TitledList, k as createTextVNode, cV as CanvasNodeDirtiness, ar as useTemplateRef, cW as useElementSize, bP as _sfc_main$U, as as InlineRename, cX as toValue, cY as isCommunityPackageName, cZ as NPM_PACKAGE_DOCS_BASE_URL, c_ as BUILTIN_NODES_DOCS_URL, aM as useNDVStore, c$ as COMMUNITY_NODES_INSTALLATION_DOCS_URL, d0 as N8nTabs, bd as useExternalHooks, ay as useTelemetry, c2 as useClipboard, ak as useWorkflowHelpers, a as useToast, d1 as OPEN_URL_PANEL_TRIGGER_NODE_TYPES, d2 as PRODUCTION_ONLY_TRIGGER_NODE_TYPES, d3 as MCP_TRIGGER_NODE_TYPE, d4 as FORM_TRIGGER_NODE_TYPE, bx as CHAT_TRIGGER_NODE_TYPE, O as resolveComponent, H as N8nRadioButtons, be as onClickOutside, d5 as toRef$1, d6 as tryOnScopeDispose, d7 as toValue$1, d8 as isIOS, d9 as noop$2, da as isObject, db as isClient, S as useDebounce, dc as getNodeInputs, dd as _sfc_main$V, v as useSettingsStore, de as useCredentialsStore, u as useUsersStore, af as useProjectsStore, df as OPEN_AI_API_CREDENTIAL_TYPE, dg as N8nCallout, p as N8nText, dh as useHistoryStore, di as usePostHog, dj as useNodeSettingsParameters, dk as useResizeObserver, aq as ProjectTypes, dl as NDV_UI_OVERHAUL_EXPERIMENT, dm as BASE_NODE_SURVEY_URL, cm as ndvEventBus, bO as withModifiers, a1 as N8nLink, dn as CUSTOM_NODES_DOCS_URL, aS as withDirectives, dp as N8nNotice, aT as vShow, dq as _sfc_main$W, dr as NodeCredentials, bq as get$3, ds as getNodeParameters, dt as deepCopy, du as nameIsParameter, dv as RenameNodeCommand, bF as useCanvasOperations, Q as createEventBus, dw as useEnvironmentsStore, dx as ExpressionLocalResolveContextSymbol, dy as watchOnce, dz as calculateNodeSize, dA as NodeId, dB as useGetPointerPosition, dC as clamp, dD as N8nSticky, dE as useNodeCreatorStore, bb as useTemplatesStore, V as VIEWS, dF as isExtraTemplateLinksExperimentEnabled, az as nodeViewEventBus, bj as trackTemplatesClick, bk as TemplateClickSource, dG as NODE_CREATOR_OPEN_SOURCES, dH as useBuilderStore, aY as withKeys, dI as N8nInput, dJ as CanvasNodeHandleKey, dK as Transition$1, dL as _sfc_main$f$1, b as useRouter, bA as useLogsStore, bC as useRunWorkflow, dM as insertSpacersBetweenEndpoints, dN as createCanvasConnectionHandleString, dO as CONFIGURATION_NODE_OFFSET, dP as isEqual, dQ as useDeviceSupport, dR as isOutsideSelected, K as nextTick, dS as _sfc_main$1$4, dT as MarkerType, dU as Suspense, bX as guardReactiveProps, dV as updateViewportToContainNodes, dW as useNodeDirtiness, dX as CUSTOM_API_CALL_KEY, dY as mapLegacyEndpointsToCanvasConnectionPort, dZ as getNodeOutputs, d_ as getTriggerNodeServiceName, d$ as sanitizeHtml, e0 as WAIT_NODE_TYPE, e1 as SEND_AND_WAIT_OPERATION, e2 as FORM_NODE_TYPE, e3 as WAIT_INDEFINITELY, e4 as checkOverlap, e5 as SIMULATE_NODE_TYPE, e6 as SIMULATE_TRIGGER_NODE_TYPE, e7 as mapLegacyConnectionsToCanvasConnections, e8 as getNodeIconSource, e9 as refThrottled, ea as useFocusPanelStore, eb as HTML_NODE_TYPE, ec as isValueExpression, ed as isResourceLocatorValue, ee as AI_TRANSFORM_NODE_TYPE, ef as useResolvedExpression, eg as __unplugin_components_2$2, eh as __unplugin_components_3$1, ei as __unplugin_components_4, ej as __unplugin_components_5, ek as __unplugin_components_6, el as __unplugin_components_7, em as __unplugin_components_8, en as __unplugin_components_9, eo as getParameterTypeOption, ep as htmlEditorEventBus, eq as parseFromExpression, er as isValidParameterOption, es as formatAsExpression, et as hasFocusOnInput, eu as isFocusableEl, bn as isChatNode, ev as truncateBeforeLast, ew as reactive, a5 as useRoute, ai as useDocumentTitle, aj as useWorkflowSaving, ex as useExternalSecretsStore, ac as useRootStore, aN as useExecutionsStore, ad as useCanvasStore, ah as useNpsSurveyStore, R as useTagsStore, a3 as usePushConnectionStore, ag as useFoldersStore, ey as useAgentRequestStore, ez as useWorkflowExtraction, eA as FOCUS_PANEL_EXPERIMENT, a6 as PLACEHOLDER_EMPTY_WORKFLOW_ID, eB as NEW_WORKFLOW_ID, bH as START_NODE_TYPE, eC as getNodeViewTab, G as MAIN_HEADER_TABS, eD as VALID_WORKFLOW_IMPORT_URL_REGEX, aA as useMessage, aB as MODAL_CONFIRM, eE as jsonParse, bw as MANUAL_CHAT_TRIGGER_NODE_TYPE, eF as EVALUATION_TRIGGER_NODE_TYPE, eG as getBounds, eH as onBeforeRouteLeave, aR as onBeforeMount, aC as WORKFLOW_SETTINGS_MODAL_KEY, eI as onActivated, eJ as onDeactivated, eK as defineAsyncComponent, aI as __vitePreload, ap as EnterpriseEditionFeature, eL as EVALUATION_NODE_TYPE, eM as getEasyAiWorkflowJson, eN as getRagStarterWorkflowJson, eO as tryToParseNumber, b1 as sourceControlEventBus, eP as getNodesWithNormalizedPosition, eQ as needsAgentInput, eR as FROM_AI_PARAMETERS_MODAL_KEY, eS as historyBus, eT as DRAG_EVENT_DATA_KEY } from "./index-BEC9W_3K.js";
3
+ import { u as useExperimentalNdvStore, N as N8nBlockUi, a as useKeybindings, c as canvasEventBus } from "./useKeybindings-D5pwrTFM.js";
4
+ import { N as N8nActionDropdown } from "./ActionDropdown-BhU4vCrE.js";
5
+ import { i as importCurlEventBus } from "./import-curl-DcVVML3m.js";
6
+ import { g as globalLinkActionsEventBus } from "./global-link-actions-NNtNk_7A.js";
7
+ import { u as useExecutionDebugging } from "./useExecutionDebugging-bE32iQtx.js";
8
+ import { u as useBeforeUnload } from "./useBeforeUnload-uH0nIAM3.js";
9
9
  const _sfc_main$Q = {};
10
10
  const _hoisted_1$g = {
11
11
  xmlns: "http://www.w3.org/2000/svg",
@@ -229,6 +229,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
229
229
  const props = __props;
230
230
  const emit = __emit;
231
231
  const i18n = useI18n();
232
+ const experimentalNdvStore = useExperimentalNdvStore();
232
233
  const isResetZoomVisible = computed(() => props.zoom !== 1);
233
234
  function onResetZoom() {
234
235
  emit("reset-zoom");
@@ -248,6 +249,7 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
248
249
  return (_ctx, _cache) => {
249
250
  const _component_N8nIconButton = _sfc_main$S;
250
251
  const _component_N8nButton = N8nButton;
252
+ const _component_N8nTooltip = N8nTooltip;
251
253
  return openBlock(), createBlock(unref(_sfc_main$P), {
252
254
  "show-zoom": false,
253
255
  "show-fit-view": false
@@ -335,7 +337,37 @@ const _sfc_main$O = /* @__PURE__ */ defineComponent({
335
337
  }, 8, ["class"])
336
338
  ]),
337
339
  _: 1
338
- }, 8, ["label"])) : createCommentVNode("", true)
340
+ }, 8, ["label"])) : createCommentVNode("", true),
341
+ unref(experimentalNdvStore).isActive(props.zoom) ? (openBlock(), createBlock(_component_N8nTooltip, {
342
+ key: 2,
343
+ placement: "top",
344
+ content: unref(i18n).baseText("nodeView.expandAllNodes")
345
+ }, {
346
+ default: withCtx(() => [
347
+ createVNode(_component_N8nIconButton, {
348
+ type: "tertiary",
349
+ size: "large",
350
+ icon: "maximize-2",
351
+ onClick: unref(experimentalNdvStore).expandAllNodes
352
+ }, null, 8, ["onClick"])
353
+ ]),
354
+ _: 1
355
+ }, 8, ["content"])) : createCommentVNode("", true),
356
+ unref(experimentalNdvStore).isActive(props.zoom) ? (openBlock(), createBlock(_component_N8nTooltip, {
357
+ key: 3,
358
+ placement: "top",
359
+ content: unref(i18n).baseText("nodeView.collapseAllNodes")
360
+ }, {
361
+ default: withCtx(() => [
362
+ createVNode(_component_N8nIconButton, {
363
+ type: "tertiary",
364
+ size: "large",
365
+ icon: "minimize-2",
366
+ onClick: unref(experimentalNdvStore).collapseAllNodes
367
+ }, null, 8, ["onClick"])
368
+ ]),
369
+ _: 1
370
+ }, 8, ["content"])) : createCommentVNode("", true)
339
371
  ]),
340
372
  _: 1
341
373
  });
@@ -8195,7 +8227,8 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
8195
8227
  const { isDisabled, render: render2, name } = useCanvasNode();
8196
8228
  const workflowsStore = useWorkflowsStore();
8197
8229
  const nodeTypesStore = useNodeTypesStore();
8198
- const node2 = computed(() => !!name.value && workflowsStore.getNodeByName(name.value));
8230
+ const experimentalNdvStore = useExperimentalNdvStore();
8231
+ const node2 = computed(() => name.value ? workflowsStore.getNodeByName(name.value) : null);
8199
8232
  const isToolNode = computed(() => !!node2.value && nodeTypesStore.isToolNode(node2.value.type));
8200
8233
  const nodeDisabledTitle = computed(() => {
8201
8234
  return isDisabled.value ? i18n.baseText("node.enable") : i18n.baseText("node.disable");
@@ -8214,6 +8247,9 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
8214
8247
  return !props.readOnly && render2.value.type === CanvasNodeRenderType.Default;
8215
8248
  });
8216
8249
  const isDeleteNodeVisible = computed(() => !props.readOnly);
8250
+ const isFocusNodeVisible = computed(
8251
+ () => experimentalNdvStore.isEnabled && node2.value !== null && experimentalNdvStore.collapsedNodes[node2.value.id] !== false
8252
+ );
8217
8253
  const isStickyNoteChangeColorVisible = computed(
8218
8254
  () => !props.readOnly && render2.value.type === CanvasNodeRenderType.StickyNote
8219
8255
  );
@@ -8240,6 +8276,11 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
8240
8276
  function onMouseLeave() {
8241
8277
  isHovered.value = false;
8242
8278
  }
8279
+ function onFocusNode() {
8280
+ if (node2.value) {
8281
+ experimentalNdvStore.focusNode(node2.value.id);
8282
+ }
8283
+ }
8243
8284
  return (_ctx, _cache) => {
8244
8285
  const _component_N8nIconButton = _sfc_main$S;
8245
8286
  const _component_N8nTooltip = N8nTooltip;
@@ -8293,8 +8334,16 @@ const _sfc_main$D = /* @__PURE__ */ defineComponent({
8293
8334
  title: unref(i18n).baseText("node.delete"),
8294
8335
  onClick: onDeleteNode
8295
8336
  }, null, 8, ["title"])) : createCommentVNode("", true),
8296
- isStickyNoteChangeColorVisible.value ? (openBlock(), createBlock(_component_CanvasNodeStickyColorSelector, {
8337
+ isFocusNodeVisible.value ? (openBlock(), createBlock(_component_N8nIconButton, {
8297
8338
  key: 2,
8339
+ type: "tertiary",
8340
+ size: "small",
8341
+ text: "",
8342
+ icon: "crosshair",
8343
+ onClick: onFocusNode
8344
+ })) : createCommentVNode("", true),
8345
+ isStickyNoteChangeColorVisible.value ? (openBlock(), createBlock(_component_CanvasNodeStickyColorSelector, {
8346
+ key: 3,
8298
8347
  visible: isStickyColorSelectorOpen.value,
8299
8348
  "onUpdate:visible": _cache[0] || (_cache[0] = ($event) => isStickyColorSelectorOpen.value = $event),
8300
8349
  onUpdate: onChangeStickyColor
@@ -10017,7 +10066,8 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
10017
10066
  type: "boolean",
10018
10067
  default: false,
10019
10068
  noDataExpression: true,
10020
- description: i18n.baseText("nodeSettings.alwaysOutputData.description")
10069
+ description: i18n.baseText("nodeSettings.alwaysOutputData.description"),
10070
+ isNodeSetting: true
10021
10071
  },
10022
10072
  {
10023
10073
  displayName: i18n.baseText("nodeSettings.executeOnce.displayName"),
@@ -10025,7 +10075,8 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
10025
10075
  type: "boolean",
10026
10076
  default: false,
10027
10077
  noDataExpression: true,
10028
- description: i18n.baseText("nodeSettings.executeOnce.description")
10078
+ description: i18n.baseText("nodeSettings.executeOnce.description"),
10079
+ isNodeSetting: true
10029
10080
  },
10030
10081
  {
10031
10082
  displayName: i18n.baseText("nodeSettings.retryOnFail.displayName"),
@@ -10033,7 +10084,8 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
10033
10084
  type: "boolean",
10034
10085
  default: false,
10035
10086
  noDataExpression: true,
10036
- description: i18n.baseText("nodeSettings.retryOnFail.description")
10087
+ description: i18n.baseText("nodeSettings.retryOnFail.description"),
10088
+ isNodeSetting: true
10037
10089
  },
10038
10090
  {
10039
10091
  displayName: i18n.baseText("nodeSettings.maxTries.displayName"),
@@ -10050,7 +10102,8 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
10050
10102
  }
10051
10103
  },
10052
10104
  noDataExpression: true,
10053
- description: i18n.baseText("nodeSettings.maxTries.description")
10105
+ description: i18n.baseText("nodeSettings.maxTries.description"),
10106
+ isNodeSetting: true
10054
10107
  },
10055
10108
  {
10056
10109
  displayName: i18n.baseText("nodeSettings.waitBetweenTries.displayName"),
@@ -10067,7 +10120,8 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
10067
10120
  }
10068
10121
  },
10069
10122
  noDataExpression: true,
10070
- description: i18n.baseText("nodeSettings.waitBetweenTries.description")
10123
+ description: i18n.baseText("nodeSettings.waitBetweenTries.description"),
10124
+ isNodeSetting: true
10071
10125
  },
10072
10126
  {
10073
10127
  displayName: i18n.baseText("nodeSettings.onError.displayName"),
@@ -10096,7 +10150,8 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
10096
10150
  ],
10097
10151
  default: "stopWorkflow",
10098
10152
  description: i18n.baseText("nodeSettings.onError.description"),
10099
- noDataExpression: true
10153
+ noDataExpression: true,
10154
+ isNodeSetting: true
10100
10155
  }
10101
10156
  ]
10102
10157
  );
@@ -10112,7 +10167,8 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
10112
10167
  },
10113
10168
  default: "",
10114
10169
  noDataExpression: true,
10115
- description: i18n.baseText("nodeSettings.notes.description")
10170
+ description: i18n.baseText("nodeSettings.notes.description"),
10171
+ isNodeSetting: true
10116
10172
  },
10117
10173
  {
10118
10174
  displayName: i18n.baseText("nodeSettings.notesInFlow.displayName"),
@@ -10120,7 +10176,8 @@ const _sfc_main$t = /* @__PURE__ */ defineComponent({
10120
10176
  type: "boolean",
10121
10177
  default: false,
10122
10178
  noDataExpression: true,
10123
- description: i18n.baseText("nodeSettings.notesInFlow.description")
10179
+ description: i18n.baseText("nodeSettings.notesInFlow.description"),
10180
+ isNodeSetting: true
10124
10181
  }
10125
10182
  ]
10126
10183
  );
@@ -10586,12 +10643,13 @@ const style0$m = {
10586
10643
  const cssModules$m = {
10587
10644
  "$style": style0$m
10588
10645
  };
10589
- const NodeSettings = /* @__PURE__ */ _export_sfc$1(_sfc_main$t, [["__cssModules", cssModules$m], ["__scopeId", "data-v-c8d3cd57"]]);
10646
+ const NodeSettings = /* @__PURE__ */ _export_sfc$1(_sfc_main$t, [["__cssModules", cssModules$m], ["__scopeId", "data-v-529b0cab"]]);
10590
10647
  const _sfc_main$s = /* @__PURE__ */ defineComponent({
10591
10648
  __name: "ExperimentalCanvasNodeSettings",
10592
10649
  props: {
10593
10650
  nodeId: {},
10594
- noWheel: { type: Boolean }
10651
+ noWheel: { type: Boolean },
10652
+ isReadOnly: { type: Boolean }
10595
10653
  },
10596
10654
  setup(__props) {
10597
10655
  const settingsEventBus = createEventBus();
@@ -10610,7 +10668,7 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
10610
10668
  "active-node": activeNode.value,
10611
10669
  "push-ref": "",
10612
10670
  "foreign-credentials": [],
10613
- "read-only": false,
10671
+ "read-only": _ctx.isReadOnly,
10614
10672
  "block-u-i": false,
10615
10673
  executable: false,
10616
10674
  "input-size": 0,
@@ -10622,55 +10680,16 @@ const _sfc_main$s = /* @__PURE__ */ defineComponent({
10622
10680
  renderSlot(_ctx.$slots, "actions")
10623
10681
  ]),
10624
10682
  _: 3
10625
- }, 8, ["event-bus", "active-node", "no-wheel"]);
10683
+ }, 8, ["event-bus", "active-node", "read-only", "no-wheel"]);
10626
10684
  };
10627
10685
  }
10628
10686
  });
10629
- const useExperimentalNdvStore = defineStore("experimentalNdv", () => {
10630
- const workflowStore = useWorkflowsStore();
10631
- const settingsStore = useSettingsStore();
10632
- const isEnabled = computed(
10633
- () => !Number.isNaN(settingsStore.experimental__minZoomNodeSettingsInCanvas) && settingsStore.experimental__minZoomNodeSettingsInCanvas > 0
10634
- );
10635
- const maxCanvasZoom = computed(
10636
- () => isEnabled.value ? settingsStore.experimental__minZoomNodeSettingsInCanvas : 4
10637
- );
10638
- const collapsedNodes = shallowRef({});
10639
- function setNodeExpanded(nodeId, isExpanded) {
10640
- collapsedNodes.value = {
10641
- ...collapsedNodes.value,
10642
- [nodeId]: isExpanded ?? !collapsedNodes.value[nodeId]
10643
- };
10644
- }
10645
- function collapseAllNodes() {
10646
- collapsedNodes.value = workflowStore.allNodes.reduce(
10647
- (acc, node2) => {
10648
- acc[node2.id] = true;
10649
- return acc;
10650
- },
10651
- {}
10652
- );
10653
- }
10654
- function expandAllNodes() {
10655
- collapsedNodes.value = {};
10656
- }
10657
- function isActive(canvasZoom) {
10658
- return isEnabled.value && canvasZoom === maxCanvasZoom.value;
10659
- }
10660
- return {
10661
- isEnabled,
10662
- maxCanvasZoom,
10663
- collapsedNodes: computed(() => collapsedNodes.value),
10664
- isActive,
10665
- setNodeExpanded,
10666
- expandAllNodes,
10667
- collapseAllNodes
10668
- };
10669
- });
10670
10687
  const _sfc_main$r = /* @__PURE__ */ defineComponent({
10671
10688
  __name: "ExperimentalEmbeddedNodeDetails",
10672
10689
  props: {
10673
- nodeId: {}
10690
+ nodeId: {},
10691
+ isReadOnly: { type: Boolean },
10692
+ isConfigurable: { type: Boolean }
10674
10693
  },
10675
10694
  setup(__props) {
10676
10695
  const experimentalNdvStore = useExperimentalNdvStore();
@@ -10684,7 +10703,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
10684
10703
  }
10685
10704
  return null;
10686
10705
  });
10687
- const vf = useVueFlow(workflowsStore.workflowId);
10706
+ const vf = useVueFlow();
10688
10707
  const isMoving = ref(false);
10689
10708
  const moveStartListener = vf.onMoveStart(() => {
10690
10709
  isMoving.value = true;
@@ -10708,6 +10727,47 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
10708
10727
  )
10709
10728
  );
10710
10729
  const isOnceVisible = ref(isVisible.value);
10730
+ provide(
10731
+ ExpressionLocalResolveContextSymbol,
10732
+ computed(() => {
10733
+ if (!node2.value) {
10734
+ return void 0;
10735
+ }
10736
+ const workflow = workflowsStore.getCurrentWorkflow();
10737
+ const runIndex = 0;
10738
+ const execution = workflowsStore.workflowExecutionData;
10739
+ const nodeName = node2.value.name;
10740
+ function findInputNode() {
10741
+ const taskData = (execution?.data?.resultData.runData[nodeName] ?? [])[runIndex];
10742
+ const source = taskData?.source[0];
10743
+ if (source) {
10744
+ return {
10745
+ name: source.previousNode,
10746
+ branchIndex: source.previousNodeOutput ?? 0,
10747
+ runIndex: source.previousNodeRun ?? 0
10748
+ };
10749
+ }
10750
+ const inputs2 = workflow.getParentNodesByDepth(nodeName, 1);
10751
+ if (inputs2.length > 0) {
10752
+ return {
10753
+ name: inputs2[0].name,
10754
+ branchIndex: inputs2[0].indicies[0] ?? 0,
10755
+ runIndex: 0
10756
+ };
10757
+ }
10758
+ return void 0;
10759
+ }
10760
+ return {
10761
+ localResolve: true,
10762
+ envVars: useEnvironmentsStore().variablesAsObject,
10763
+ workflow,
10764
+ execution,
10765
+ nodeName,
10766
+ additionalKeys: {},
10767
+ inputNode: findInputNode()
10768
+ };
10769
+ })
10770
+ );
10711
10771
  watchOnce(isVisible, (visible2) => {
10712
10772
  isOnceVisible.value = isOnceVisible.value || visible2;
10713
10773
  });
@@ -10718,15 +10778,18 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
10718
10778
  return openBlock(), createElementBlock("div", {
10719
10779
  ref: "container",
10720
10780
  class: normalizeClass([_ctx.$style.component, isExpanded.value ? _ctx.$style.expanded : _ctx.$style.collapsed]),
10721
- style: normalizeStyle({ "--zoom": `${1 / unref(experimentalNdvStore).maxCanvasZoom}` })
10781
+ style: normalizeStyle({
10782
+ "--zoom": `${1 / unref(experimentalNdvStore).maxCanvasZoom}`,
10783
+ "--node-width-scaler": _ctx.isConfigurable ? 1 : 1.5
10784
+ })
10722
10785
  }, [
10723
10786
  isOnceVisible.value ? (openBlock(), createElementBlock(Fragment, { key: 0 }, [
10724
10787
  isExpanded.value ? (openBlock(), createBlock(_sfc_main$s, {
10725
10788
  key: 0,
10726
10789
  "node-id": _ctx.nodeId,
10727
10790
  class: normalizeClass(_ctx.$style.settingsView),
10728
- "no-wheel": !isMoving.value
10729
- /* to not interrupt panning while allowing scroll of the settings pane, allow wheel event while panning */
10791
+ "no-wheel": !isMoving.value,
10792
+ "is-read-only": _ctx.isReadOnly
10730
10793
  }, {
10731
10794
  actions: withCtx(() => [
10732
10795
  createVNode(unref(_sfc_main$S), {
@@ -10740,7 +10803,7 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
10740
10803
  })
10741
10804
  ]),
10742
10805
  _: 1
10743
- }, 8, ["node-id", "class", "no-wheel"])) : (openBlock(), createElementBlock("div", {
10806
+ }, 8, ["node-id", "class", "no-wheel", "is-read-only"])) : (openBlock(), createElementBlock("div", {
10744
10807
  key: 1,
10745
10808
  role: "button ",
10746
10809
  class: normalizeClass(_ctx.$style.collapsedContent),
@@ -10763,11 +10826,11 @@ const _sfc_main$r = /* @__PURE__ */ defineComponent({
10763
10826
  };
10764
10827
  }
10765
10828
  });
10766
- const component$2 = "_component_1kmdn_123";
10767
- const expanded = "_expanded_1kmdn_134";
10768
- const collapsed = "_collapsed_1kmdn_137";
10769
- const collapsedContent = "_collapsedContent_1kmdn_149";
10770
- const settingsView = "_settingsView_1kmdn_150";
10829
+ const component$2 = "_component_1o2au_123";
10830
+ const expanded = "_expanded_1o2au_132";
10831
+ const collapsed = "_collapsed_1o2au_136";
10832
+ const collapsedContent = "_collapsedContent_1o2au_147";
10833
+ const settingsView = "_settingsView_1o2au_148";
10771
10834
  const style0$l = {
10772
10835
  component: component$2,
10773
10836
  expanded,
@@ -10796,6 +10859,7 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
10796
10859
  outputs,
10797
10860
  connections: connections2,
10798
10861
  isDisabled,
10862
+ isReadOnly,
10799
10863
  isSelected,
10800
10864
  hasPinnedData,
10801
10865
  executionStatus,
@@ -10888,8 +10952,10 @@ const _sfc_main$q = /* @__PURE__ */ defineComponent({
10888
10952
  key: 0,
10889
10953
  "node-id": unref(id2),
10890
10954
  class: normalizeClass(classes.value),
10891
- style: normalizeStyle(styles.value)
10892
- }, null, 8, ["node-id", "class", "style"])) : (openBlock(), createElementBlock("div", {
10955
+ style: normalizeStyle(styles.value),
10956
+ "is-read-only": unref(isReadOnly),
10957
+ "is-configurable": renderOptions.value.configurable ?? false
10958
+ }, null, 8, ["node-id", "class", "style", "is-read-only", "is-configurable"])) : (openBlock(), createElementBlock("div", {
10893
10959
  key: 1,
10894
10960
  class: normalizeClass(classes.value),
10895
10961
  style: normalizeStyle(styles.value),
@@ -13453,7 +13519,8 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
13453
13519
  const style = useCssModule();
13454
13520
  const props = __props;
13455
13521
  const contextMenu2 = useContextMenu();
13456
- const { connectingHandle } = useCanvas();
13522
+ const { connectingHandle, viewport } = useCanvas();
13523
+ const experimentalNdvStore = useExperimentalNdvStore();
13457
13524
  const nodeClasses = ref([]);
13458
13525
  const inputs2 = computed(() => props.data.inputs);
13459
13526
  const outputs = computed(() => props.data.outputs);
@@ -13471,6 +13538,9 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
13471
13538
  connections: connections2
13472
13539
  });
13473
13540
  const isDisabled = computed(() => props.data.disabled);
13541
+ const isExperimentalEmbeddedNdvShown = computed(
13542
+ () => experimentalNdvStore.isActive(viewport.value.zoom)
13543
+ );
13474
13544
  const classes = computed(() => ({
13475
13545
  [style.canvasNode]: true,
13476
13546
  [style.showToolbar]: showToolbar2.value,
@@ -13519,7 +13589,7 @@ const _sfc_main$a = /* @__PURE__ */ defineComponent({
13519
13589
  const handleType = mode === CanvasConnectionMode.Input ? "target" : "source";
13520
13590
  const connectionsCount = connections2.value[mode][endpoint.type]?.[endpoint.index]?.length ?? 0;
13521
13591
  const isConnecting = connectingHandle.value?.nodeId === props.id && connectingHandle.value?.handleType === handleType && connectingHandle.value?.handleId === handleId;
13522
- const offsetValue = position2 === Position.Bottom ? `${GRID_SIZE * 2 * (1 + index * 2) + CONFIGURATION_NODE_OFFSET}px` : `${100 / (endpoints.length + 1) * (index + 1)}%`;
13592
+ const offsetValue = position2 === Position.Bottom ? `${GRID_SIZE * 2 * (1 + index * 2) + CONFIGURATION_NODE_OFFSET}px` : isExperimentalEmbeddedNdvShown.value && endpoints.length === 1 ? `${(1 + index) * (GRID_SIZE * 2)}px` : `${100 / (endpoints.length + 1) * (index + 1)}%`;
13523
13593
  return {
13524
13594
  ...endpoint,
13525
13595
  handleId,
@@ -15103,39 +15173,106 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
15103
15173
  ...{ name: "FocusPanel" },
15104
15174
  __name: "FocusPanel",
15105
15175
  props: {
15106
- executable: { type: Boolean }
15176
+ isCanvasReadOnly: { type: Boolean }
15107
15177
  },
15108
- setup(__props) {
15178
+ emits: ["focus"],
15179
+ setup(__props, { emit: __emit }) {
15109
15180
  const props = __props;
15181
+ const emit = __emit;
15182
+ const inputField = ref();
15110
15183
  const locale = useI18n();
15111
15184
  const nodeHelpers = useNodeHelpers();
15112
15185
  const focusPanelStore = useFocusPanelStore();
15113
15186
  const nodeTypesStore = useNodeTypesStore();
15114
15187
  const nodeSettingsParameters = useNodeSettingsParameters();
15188
+ const environmentsStore = useEnvironmentsStore();
15189
+ const { debounce } = useDebounce();
15115
15190
  const focusedNodeParameter = computed(() => focusPanelStore.focusedNodeParameters[0]);
15116
15191
  const resolvedParameter = computed(
15117
15192
  () => focusedNodeParameter.value && focusPanelStore.isRichParameter(focusedNodeParameter.value) ? focusedNodeParameter.value : void 0
15118
15193
  );
15119
15194
  const focusPanelActive = computed(() => focusPanelStore.focusPanelActive);
15195
+ const isDisabled = computed(() => {
15196
+ if (!resolvedParameter.value) return false;
15197
+ return !!resolvedParameter.value.parameter.disabledOptions && nodeSettingsParameters.shouldDisplayNodeParameter(
15198
+ resolvedParameter.value.node.parameters,
15199
+ resolvedParameter.value.node,
15200
+ resolvedParameter.value.parameter,
15201
+ "",
15202
+ "disabledOptions"
15203
+ );
15204
+ });
15205
+ const isDisplayed = computed(() => {
15206
+ if (!resolvedParameter.value) return true;
15207
+ return nodeSettingsParameters.shouldDisplayNodeParameter(
15208
+ resolvedParameter.value.node.parameters,
15209
+ resolvedParameter.value.node,
15210
+ resolvedParameter.value.parameter,
15211
+ "",
15212
+ "displayOptions"
15213
+ );
15214
+ });
15120
15215
  const isExecutable2 = computed(() => {
15121
15216
  if (!resolvedParameter.value) return false;
15217
+ if (!isDisplayed.value) return false;
15122
15218
  const foreignCredentials = nodeHelpers.getForeignCredentialsIfSharingEnabled(
15123
15219
  resolvedParameter.value.node.credentials
15124
15220
  );
15125
15221
  return nodeHelpers.isNodeExecutable(
15126
15222
  resolvedParameter.value.node,
15127
- props.executable,
15223
+ !props.isCanvasReadOnly,
15128
15224
  foreignCredentials
15129
15225
  );
15130
15226
  });
15227
+ function getTypeOption(optionName) {
15228
+ return resolvedParameter.value ? getParameterTypeOption(resolvedParameter.value.parameter, optionName) : void 0;
15229
+ }
15230
+ const codeEditorMode = computed(() => {
15231
+ return resolvedParameter.value?.node.parameters.mode;
15232
+ });
15233
+ const editorType = computed(() => {
15234
+ return getTypeOption("editor") ?? void 0;
15235
+ });
15236
+ const editorLanguage = computed(() => {
15237
+ if (editorType.value === "json" || resolvedParameter.value?.parameter.type === "json")
15238
+ return "json";
15239
+ return getTypeOption("editorLanguage") ?? "javaScript";
15240
+ });
15241
+ const editorRows = computed(() => getTypeOption("rows"));
15131
15242
  const isToolNode = computed(
15132
15243
  () => resolvedParameter.value ? nodeTypesStore.isToolNode(resolvedParameter.value?.node.type) : false
15133
15244
  );
15245
+ const isHtmlNode = computed(
15246
+ () => !!resolvedParameter.value && resolvedParameter.value.node.type === HTML_NODE_TYPE
15247
+ );
15134
15248
  const expressionModeEnabled = computed(
15135
15249
  () => resolvedParameter.value && isValueExpression(resolvedParameter.value.parameter, resolvedParameter.value.value)
15136
15250
  );
15137
- function optionSelected() {
15138
- }
15251
+ const expression = computed(() => {
15252
+ if (!expressionModeEnabled.value) return "";
15253
+ return isResourceLocatorValue(resolvedParameter.value) ? resolvedParameter.value.value : resolvedParameter.value;
15254
+ });
15255
+ const shouldCaptureForPosthog = computed(
15256
+ () => resolvedParameter.value?.node.type === AI_TRANSFORM_NODE_TYPE
15257
+ );
15258
+ const isReadOnly = computed(() => props.isCanvasReadOnly || isDisabled.value);
15259
+ const resolvedAdditionalExpressionData = computed(() => {
15260
+ return {
15261
+ $vars: environmentsStore.variablesAsObject
15262
+ };
15263
+ });
15264
+ const targetNodeParameterContext = computed(() => {
15265
+ if (!resolvedParameter.value) return void 0;
15266
+ return {
15267
+ nodeName: resolvedParameter.value.node.name,
15268
+ parameterPath: resolvedParameter.value.parameterPath
15269
+ };
15270
+ });
15271
+ const { resolvedExpression } = useResolvedExpression({
15272
+ expression,
15273
+ additionalData: resolvedAdditionalExpressionData,
15274
+ stringifyObject: resolvedParameter.value && resolvedParameter.value.parameter.type !== "multiOptions"
15275
+ });
15139
15276
  function valueChanged(value) {
15140
15277
  if (resolvedParameter.value === void 0) {
15141
15278
  return;
@@ -15147,15 +15284,68 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
15147
15284
  isToolNode.value
15148
15285
  );
15149
15286
  }
15287
+ async function setFocus() {
15288
+ await nextTick();
15289
+ if (inputField.value) {
15290
+ if (hasFocusOnInput(inputField.value)) {
15291
+ inputField.value.focusOnInput();
15292
+ } else if (isFocusableEl(inputField.value)) {
15293
+ inputField.value.focus();
15294
+ }
15295
+ }
15296
+ emit("focus");
15297
+ }
15298
+ function optionSelected(command) {
15299
+ if (!resolvedParameter.value) return;
15300
+ switch (command) {
15301
+ case "resetValue":
15302
+ return typeof resolvedParameter.value.parameter.default === "string" && valueChanged(resolvedParameter.value.parameter.default);
15303
+ case "addExpression": {
15304
+ const newValue = formatAsExpression(
15305
+ resolvedParameter.value.value,
15306
+ resolvedParameter.value.parameter.type
15307
+ );
15308
+ valueChanged(typeof newValue === "string" ? newValue : newValue.value);
15309
+ void setFocus();
15310
+ break;
15311
+ }
15312
+ case "removeExpression": {
15313
+ const newValue = parseFromExpression(
15314
+ resolvedParameter.value.value,
15315
+ resolvedExpression.value,
15316
+ resolvedParameter.value.parameter.type,
15317
+ resolvedParameter.value.parameter.default,
15318
+ (resolvedParameter.value.parameter.options ?? []).filter(isValidParameterOption)
15319
+ );
15320
+ if (typeof newValue === "string") {
15321
+ valueChanged(newValue);
15322
+ } else if (newValue && typeof newValue.value === "string") {
15323
+ valueChanged(newValue.value);
15324
+ }
15325
+ void setFocus();
15326
+ break;
15327
+ }
15328
+ case "formatHtml":
15329
+ htmlEditorEventBus.emit("format-html");
15330
+ return;
15331
+ }
15332
+ }
15333
+ const valueChangedDebounced = debounce(valueChanged, { debounceTime: 0 });
15150
15334
  return (_ctx, _cache) => {
15151
15335
  const _component_n8n_icon = N8nIcon;
15152
15336
  const _component_NodeExecuteButton = _sfc_main$V;
15153
15337
  const _component_ParameterOptions = __unplugin_components_2$2;
15154
15338
  const _component_ExpressionEditorModalInput = __unplugin_components_3$1;
15339
+ const _component_CodeNodeEditor = __unplugin_components_4;
15340
+ const _component_HtmlEditor = __unplugin_components_5;
15341
+ const _component_CssEditor = __unplugin_components_6;
15342
+ const _component_SqlEditor = __unplugin_components_7;
15343
+ const _component_JsEditor = __unplugin_components_8;
15344
+ const _component_JsonEditor = __unplugin_components_9;
15155
15345
  return focusPanelActive.value ? (openBlock(), createElementBlock("div", {
15156
15346
  key: 0,
15157
15347
  class: normalizeClass(_ctx.$style.container),
15158
- onKeydown: _cache[3] || (_cache[3] = withModifiers(() => {
15348
+ onKeydown: _cache[2] || (_cache[2] = withModifiers(() => {
15159
15349
  }, ["stop"]))
15160
15350
  }, [
15161
15351
  createBaseVNode("div", {
@@ -15228,38 +15418,109 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
15228
15418
  createBaseVNode("div", {
15229
15419
  class: normalizeClass(_ctx.$style.parameterOptionsWrapper)
15230
15420
  }, [
15231
- _cache[4] || (_cache[4] = createBaseVNode("div", null, null, -1)),
15232
- createVNode(_component_ParameterOptions, {
15421
+ _cache[3] || (_cache[3] = createBaseVNode("div", null, null, -1)),
15422
+ isDisplayed.value ? (openBlock(), createBlock(_component_ParameterOptions, {
15423
+ key: 0,
15233
15424
  parameter: resolvedParameter.value.parameter,
15234
15425
  value: resolvedParameter.value.value,
15235
- "is-read-only": false,
15426
+ "is-read-only": isReadOnly.value,
15236
15427
  "onUpdate:modelValue": optionSelected
15237
- }, null, 8, ["parameter", "value"])
15428
+ }, null, 8, ["parameter", "value", "is-read-only"])) : createCommentVNode("", true)
15238
15429
  ], 2),
15239
15430
  typeof resolvedParameter.value.value === "string" ? (openBlock(), createElementBlock("div", {
15240
15431
  key: 0,
15241
15432
  class: normalizeClass(_ctx.$style.editorContainer)
15242
15433
  }, [
15243
- expressionModeEnabled.value ? (openBlock(), createBlock(_component_ExpressionEditorModalInput, {
15434
+ !isDisplayed.value ? (openBlock(), createElementBlock("div", {
15244
15435
  key: 0,
15436
+ class: normalizeClass([_ctx.$style.content, _ctx.$style.emptyContent])
15437
+ }, [
15438
+ createBaseVNode("div", {
15439
+ class: normalizeClass(_ctx.$style.emptyText)
15440
+ }, [
15441
+ createVNode(unref(N8nText), { color: "text-base" }, {
15442
+ default: withCtx(() => [
15443
+ createTextVNode(toDisplayString(unref(locale).baseText("nodeView.focusPanel.missingParameter")), 1)
15444
+ ]),
15445
+ _: 1
15446
+ })
15447
+ ], 2)
15448
+ ], 2)) : expressionModeEnabled.value ? (openBlock(), createBlock(_component_ExpressionEditorModalInput, {
15449
+ key: 1,
15450
+ ref_key: "inputField",
15451
+ ref: inputField,
15245
15452
  "model-value": resolvedParameter.value.value,
15246
15453
  class: normalizeClass(_ctx.$style.editor),
15247
- "is-read-only": false,
15454
+ "is-read-only": isReadOnly.value,
15248
15455
  path: resolvedParameter.value.parameterPath,
15249
15456
  "data-test-id": "expression-modal-input",
15250
- "target-node-parameter-context": {
15251
- nodeName: resolvedParameter.value.node.name,
15252
- parameterPath: resolvedParameter.value.parameterPath
15253
- },
15254
- onChange: _cache[1] || (_cache[1] = ($event) => valueChanged($event.value))
15255
- }, null, 8, ["model-value", "class", "path", "target-node-parameter-context"])) : (openBlock(), createBlock(unref(N8nInput), {
15256
- key: 1,
15257
- "model-value": resolvedParameter.value.value,
15258
- class: normalizeClass(_ctx.$style.editor),
15259
- type: "textarea",
15260
- resize: "none",
15261
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => valueChanged($event))
15262
- }, null, 8, ["model-value", "class"]))
15457
+ "target-node-parameter-context": targetNodeParameterContext.value,
15458
+ onChange: _cache[1] || (_cache[1] = ($event) => unref(valueChangedDebounced)($event.value))
15459
+ }, null, 8, ["model-value", "class", "is-read-only", "path", "target-node-parameter-context"])) : ["json", "string"].includes(resolvedParameter.value.parameter.type) ? (openBlock(), createElementBlock(Fragment, { key: 2 }, [
15460
+ editorType.value === "codeNodeEditor" ? (openBlock(), createBlock(_component_CodeNodeEditor, {
15461
+ key: 0,
15462
+ id: resolvedParameter.value.parameterPath,
15463
+ mode: codeEditorMode.value,
15464
+ "model-value": resolvedParameter.value.value,
15465
+ "default-value": resolvedParameter.value.parameter.default,
15466
+ language: editorLanguage.value,
15467
+ "is-read-only": isReadOnly.value,
15468
+ "target-node-parameter-context": targetNodeParameterContext.value,
15469
+ "fill-parent": "",
15470
+ "disable-ask-ai": true,
15471
+ "onUpdate:modelValue": unref(valueChangedDebounced)
15472
+ }, null, 8, ["id", "mode", "model-value", "default-value", "language", "is-read-only", "target-node-parameter-context", "onUpdate:modelValue"])) : editorType.value === "htmlEditor" ? (openBlock(), createBlock(_component_HtmlEditor, {
15473
+ key: 1,
15474
+ "model-value": resolvedParameter.value.value,
15475
+ "is-read-only": isReadOnly.value,
15476
+ rows: editorRows.value,
15477
+ "disable-expression-coloring": !isHtmlNode.value,
15478
+ "disable-expression-completions": !isHtmlNode.value,
15479
+ fullscreen: "",
15480
+ "onUpdate:modelValue": unref(valueChangedDebounced)
15481
+ }, null, 8, ["model-value", "is-read-only", "rows", "disable-expression-coloring", "disable-expression-completions", "onUpdate:modelValue"])) : editorType.value === "cssEditor" ? (openBlock(), createBlock(_component_CssEditor, {
15482
+ key: 2,
15483
+ "model-value": resolvedParameter.value.value,
15484
+ "is-read-only": isReadOnly.value,
15485
+ rows: editorRows.value,
15486
+ fullscreen: "",
15487
+ "onUpdate:modelValue": unref(valueChangedDebounced)
15488
+ }, null, 8, ["model-value", "is-read-only", "rows", "onUpdate:modelValue"])) : editorType.value === "sqlEditor" ? (openBlock(), createBlock(_component_SqlEditor, {
15489
+ key: 3,
15490
+ "model-value": resolvedParameter.value.value,
15491
+ dialect: getTypeOption("sqlDialect"),
15492
+ "is-read-only": isReadOnly.value,
15493
+ rows: editorRows.value,
15494
+ fullscreen: "",
15495
+ "onUpdate:modelValue": unref(valueChangedDebounced)
15496
+ }, null, 8, ["model-value", "dialect", "is-read-only", "rows", "onUpdate:modelValue"])) : editorType.value === "jsEditor" ? (openBlock(), createBlock(_component_JsEditor, {
15497
+ key: 4,
15498
+ "model-value": resolvedParameter.value.value,
15499
+ "is-read-only": isReadOnly.value,
15500
+ rows: editorRows.value,
15501
+ "posthog-capture": shouldCaptureForPosthog.value,
15502
+ "fill-parent": "",
15503
+ "onUpdate:modelValue": unref(valueChangedDebounced)
15504
+ }, null, 8, ["model-value", "is-read-only", "rows", "posthog-capture", "onUpdate:modelValue"])) : resolvedParameter.value.parameter.type === "json" ? (openBlock(), createBlock(_component_JsonEditor, {
15505
+ key: 5,
15506
+ "model-value": resolvedParameter.value.value,
15507
+ "is-read-only": isReadOnly.value,
15508
+ rows: editorRows.value,
15509
+ fullscreen: "",
15510
+ "fill-parent": "",
15511
+ "onUpdate:modelValue": unref(valueChangedDebounced)
15512
+ }, null, 8, ["model-value", "is-read-only", "rows", "onUpdate:modelValue"])) : (openBlock(), createBlock(unref(N8nInput), {
15513
+ key: 6,
15514
+ ref_key: "inputField",
15515
+ ref: inputField,
15516
+ "model-value": resolvedParameter.value.value,
15517
+ class: normalizeClass(_ctx.$style.editor),
15518
+ readonly: isReadOnly.value,
15519
+ type: "textarea",
15520
+ resize: "none",
15521
+ "onUpdate:modelValue": unref(valueChangedDebounced)
15522
+ }, null, 8, ["model-value", "class", "readonly", "onUpdate:modelValue"]))
15523
+ ], 64)) : createCommentVNode("", true)
15263
15524
  ], 2)) : createCommentVNode("", true)
15264
15525
  ], 2)
15265
15526
  ], 2)) : (openBlock(), createElementBlock("div", {
@@ -15281,19 +15542,19 @@ const _sfc_main$6 = /* @__PURE__ */ defineComponent({
15281
15542
  };
15282
15543
  }
15283
15544
  });
15284
- const container = "_container_1shes_123";
15285
- const closeButton = "_closeButton_1shes_132";
15286
- const header = "_header_1shes_136";
15287
- const content = "_content_1shes_144";
15288
- const emptyContent = "_emptyContent_1shes_150";
15289
- const emptyText = "_emptyText_1shes_155";
15290
- const tabHeader = "_tabHeader_1shes_158";
15291
- const tabHeaderText = "_tabHeaderText_1shes_165";
15292
- const buttonWrapper = "_buttonWrapper_1shes_170";
15293
- const parameterDetailsWrapper = "_parameterDetailsWrapper_1shes_175";
15294
- const parameterOptionsWrapper = "_parameterOptionsWrapper_1shes_182";
15295
- const editorContainer = "_editorContainer_1shes_186";
15296
- const editor = "_editor_1shes_186";
15545
+ const container = "_container_1gj6t_123";
15546
+ const closeButton = "_closeButton_1gj6t_132";
15547
+ const header = "_header_1gj6t_136";
15548
+ const content = "_content_1gj6t_144";
15549
+ const emptyContent = "_emptyContent_1gj6t_150";
15550
+ const emptyText = "_emptyText_1gj6t_155";
15551
+ const tabHeader = "_tabHeader_1gj6t_158";
15552
+ const tabHeaderText = "_tabHeaderText_1gj6t_165";
15553
+ const buttonWrapper = "_buttonWrapper_1gj6t_170";
15554
+ const parameterDetailsWrapper = "_parameterDetailsWrapper_1gj6t_175";
15555
+ const parameterOptionsWrapper = "_parameterOptionsWrapper_1gj6t_182";
15556
+ const editorContainer = "_editorContainer_1gj6t_186";
15557
+ const editor = "_editor_1gj6t_186";
15297
15558
  const style0$2 = {
15298
15559
  container,
15299
15560
  closeButton,
@@ -15651,16 +15912,16 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
15651
15912
  __name: "NodeView",
15652
15913
  setup(__props) {
15653
15914
  const LazyNodeCreation = defineAsyncComponent(
15654
- async () => await __vitePreload(() => import("./NodeCreation-DCV9QVeh.js").then((n) => n.N), true ? __vite__mapDeps([0,1,2,3]) : void 0)
15915
+ async () => await __vitePreload(() => import("./NodeCreation-B0_VqZl0.js").then((n) => n.N), true ? __vite__mapDeps([0,1,2,3]) : void 0)
15655
15916
  );
15656
15917
  const LazyNodeDetailsView = defineAsyncComponent(
15657
- async () => await __vitePreload(() => import("./NodeDetailsView-D7qedYA0.js"), true ? __vite__mapDeps([4,1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]) : void 0)
15918
+ async () => await __vitePreload(() => import("./NodeDetailsView-D3jGDk45.js"), true ? __vite__mapDeps([4,1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24]) : void 0)
15658
15919
  );
15659
15920
  const LazyNodeDetailsViewV2 = defineAsyncComponent(
15660
- async () => await __vitePreload(() => import("./NodeDetailsViewV2-BAkPjDo5.js"), true ? __vite__mapDeps([25,1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,26]) : void 0)
15921
+ async () => await __vitePreload(() => import("./NodeDetailsViewV2-B0iyvHRQ.js"), true ? __vite__mapDeps([25,1,2,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,26]) : void 0)
15661
15922
  );
15662
15923
  const LazySetupWorkflowCredentialsButton = defineAsyncComponent(
15663
- async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-ujybntOa.js"), true ? __vite__mapDeps([27,1,2]) : void 0)
15924
+ async () => await __vitePreload(() => import("./SetupWorkflowCredentialsButton-BX8a8Tuq.js"), true ? __vite__mapDeps([27,1,2]) : void 0)
15664
15925
  );
15665
15926
  const $style = useCssModule();
15666
15927
  const router = useRouter();
@@ -16452,6 +16713,9 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
16452
16713
  }
16453
16714
  function onToggleNodeCreator(options) {
16454
16715
  nodeCreatorStore.setNodeCreatorState(options);
16716
+ if (options.createNodeActive) {
16717
+ focusPanelStore.closeFocusPanel();
16718
+ }
16455
16719
  if (!options.createNodeActive && !options.hasAddedNodes) {
16456
16720
  uiStore.resetLastInteractedWith();
16457
16721
  }
@@ -16527,11 +16791,11 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
16527
16791
  telemetry.track("User clicked execute node button", telemetryPayload);
16528
16792
  void externalHooks.run("nodeView.onRunNode", telemetryPayload);
16529
16793
  }
16530
- async function onOpenExecution(executionId) {
16794
+ async function onOpenExecution(executionId, nodeId) {
16531
16795
  canvasStore.startLoading();
16532
16796
  resetWorkspace();
16533
16797
  await initializeData();
16534
- const data = await openExecution(executionId);
16798
+ const data = await openExecution(executionId, nodeId);
16535
16799
  if (!data) {
16536
16800
  return;
16537
16801
  }
@@ -16716,7 +16980,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
16716
16980
  } else if (json2 && json2.command === "openExecution") {
16717
16981
  try {
16718
16982
  isProductionExecutionPreview.value = json2.executionMode !== "manual" && json2.executionMode !== "evaluation";
16719
- await onOpenExecution(json2.executionId);
16983
+ await onOpenExecution(json2.executionId, json2.nodeId);
16720
16984
  canOpenNDV.value = json2.canOpenNDV ?? true;
16721
16985
  hideNodeIssues.value = json2.hideNodeIssues ?? false;
16722
16986
  isExecutionPreview.value = true;
@@ -17196,8 +17460,8 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
17196
17460
  }, 8, ["id", "workflow", "workflow-object", "fallback-nodes", "show-fallback-nodes", "event-bus", "read-only", "executing", "key-bindings", "onUpdate:logs:inputOpen", "onUpdate:logs:outputOpen", "onUpdate:hasRangeSelection"])) : createCommentVNode("", true),
17197
17461
  isFocusPanelFeatureEnabled.value ? (openBlock(), createBlock(FocusPanel, {
17198
17462
  key: 1,
17199
- executable: !isCanvasReadOnly.value
17200
- }, null, 8, ["executable"])) : createCommentVNode("", true)
17463
+ "is-canvas-read-only": isCanvasReadOnly.value
17464
+ }, null, 8, ["is-canvas-read-only"])) : createCommentVNode("", true)
17201
17465
  ], 2);
17202
17466
  };
17203
17467
  }
@@ -17224,7 +17488,6 @@ const NodeView$1 = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.definePr
17224
17488
  }, Symbol.toStringTag, { value: "Module" }));
17225
17489
  export {
17226
17490
  NodeSettings as N,
17227
- useNodeDocsUrl as a,
17228
- NodeView$1 as b,
17229
- useExperimentalNdvStore as u
17491
+ NodeView$1 as a,
17492
+ useNodeDocsUrl as u
17230
17493
  };