n8n-editor-ui
Version:
Workflow Editor UI for n8n
1 lines • 91 kB
JavaScript
!function(){try{("undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{}).SENTRY_RELEASE={id:"n8n@2.13.4"}}catch(e){}}(),System.register(["./chunk-legacy-TXBRODOR.js","./vue.runtime.esm-bundler-legacy-IafOlCW8.js","./_MapCache-legacy-DwgdC8YO.js","./src-legacy-Dwzr7bD0.js","./_plugin-vue_export-helper-legacy-DEZAmQqp.js","./sanitize-html-legacy-ChR3ikxn.js","./date-picker-legacy-uAA3gY1d.js","./users.store-legacy-OKuN0qAC.js","./ParameterInputList-legacy-D5sySi2K.js","./constants-legacy-DNCca_FT.js","./merge-legacy-uu1aGqHK.js","./_baseOrderBy-legacy-PsQY_Pvh.js","./dateformat-legacy-BxdD_OP7.js","./useDebounce-legacy-CT3oYGrC.js","./dataTable.store-legacy-CvwqAgvm.js","./useClipboard-legacy-D5bRgqfO.js","./executions.store-legacy-z6ytCHo9.js","./assistant.store-legacy-kpq6KUPM.js","./chatPanel.store-legacy-BXT37O-E.js","./RunData-legacy-5Sfz7IzF.js","./NDVEmptyState-legacy-CfqV96iU.js","./externalSecrets.ee.store-legacy-C6uyA9v4.js","./uniqBy-legacy-DmwIYJPs.js","./communityNodes.store-legacy-FzflxT4z.js","./usePinnedData-legacy-CxgKkO-J.js","./nodeIcon-legacy-CU0X8703.js","./canvas.utils-legacy-BYFKir1g.js","./canvas.eventBus-legacy-DA8zEJ09.js","./useCanvasOperations-legacy-DHjpE9Af.js","./setupPanel.store-legacy-D5xiJOzj.js","./nodeTransforms-legacy-CEnqyD1g.js","./templateTransforms-legacy-bPWknje4.js","./ContactAdministratorToInstall-legacy-D-4RoJ1v.js","./useQuickConnect-legacy-Joyt3P8m.js","./semver-legacy-CCqi4WLs.js","./CredentialIcon-legacy-W6FyX5zO.js","./useDynamicCredentials-legacy-DYuGI0-p.js","./RunDataHtml-legacy-DYuZnk8K.js","./Draggable-legacy-1VY-jpKk.js","./NodeIcon-legacy-B4uktMo3.js","./VirtualSchema-legacy-j9JfcIEe.js","./useCalloutHelpers-legacy-vHYCBchw.js","./useTelemetryContext-legacy-DP-NcoCt.js","./useRunWorkflow-legacy-D--lDsti.js","./pushConnection.store-legacy-CdZe0qqo.js","./useInjectWorkflowId-legacy-Bqd7CF__.js","./vue-json-pretty-legacy-C9tMykq1.js","./collaboration.store-legacy-Cbihou7P.js","./dateFormatter-legacy-CmupnmDm.js","./useExecutionHelpers-legacy-L8nz8vaT.js","./useFreeAiCredits-legacy-CEp4XoS_.js","./NodeSettings-legacy-BiSl-jI5.js","./CommunityNodeUpdateInfo-legacy-CKc-nhzm.js","./KeyboardShortcutTooltip-legacy-B39T1G4_.js","./vue-legacy-BRu5yuNI.js","./sourceControl.eventBus-legacy-BntokYnE.js","./CanvasRunWorkflowButton-legacy-CQaoLiCa.js","./useCanvasMapping-legacy-BRPGYoU9.js","./useKeybindings-legacy-PJ9pRJzI.js","./useNodeCreatorShortcutCoachmark-legacy-CYIB-Ysu.js","./useActions-legacy-BnKsuRcU.js","./chatHubPanel.store-legacy-CNIu4UHq.js","./useExecutionData-legacy-D2I2XvJd.js","./emptyStateBuilderPrompt.store-legacy-ClAJh0oo.js"],(function(e,t){var a,n,o,s,l,i,r,d,c,u,p,v,m,f,y,g,_,h,b,w,x,k,N,C,T,I,j,P,O,E,A,W,$,S,D,V,B,M,F,U,R,z,L,H,q,K,G,X,Y,Q,J,Z,ee,te,ae,ne,oe,se,le,ie,re,de,ce,ue,pe,ve,me,fe,ye,ge,_e,he,be,we,xe,ke,Ne,Ce,Te,Ie,je,Pe,Oe,Ee,Ae,We,$e,Se,De,Ve,Be,Me,Fe,Ue,Re,ze,Le,He,qe,Ke,Ge,Xe,Ye,Qe,Je,Ze,et,tt,at,nt,ot,st,lt,it,rt,dt,ct,ut,pt,vt,mt,ft,yt,gt,_t,ht,bt,wt,xt,kt,Nt,Ct,Tt,It,jt,Pt,Ot,Et,At,Wt,$t,St,Dt,Vt,Bt,Mt,Ft,Ut,Rt,zt,Lt,Ht,qt,Kt,Gt,Xt,Yt,Qt,Jt,Zt,ea,ta,aa,na,oa,sa,la,ia,ra,da,ca,ua,pa,va,ma,fa,ya,ga,_a,ha,ba,wa,xa,ka,Na,Ca,Ta,Ia,ja,Pa,Oa,Ea,Aa,Wa,$a,Sa,Da,Va,Ba,Ma,Fa,Ua,Ra,za,La,Ha,qa,Ka,Ga,Xa,Ya,Qa,Ja,Za,en,tn,an,nn,on,sn,ln,rn,dn,cn,un,pn,vn,mn,fn;function yn(e,t){const a=new Set,n=ia(e,t);for(const s of n)a.add(s.name);const o=t.issues?.credentials??{};for(const s of Object.keys(o))a.add(s);if(t.credentials)for(const s of Object.keys(t.credentials))a.add(s);return Array.from(a)}function gn(e,t){const a=e.getNodeType(t.type,t.typeVersion);if(!a)return{};const n={...t.parameters};for(const r of a.properties)r.name in n||void 0===r.default||(n[r.name]=r.default);const o={...t,parameters:n},s=St(a.properties,o,a)?.parameters??{},l=new Map(a.properties.map((e=>[e.name,e]))),i={};for(const[r,d]of Object.entries(s)){const e=l.get(r);e&&"hidden"!==e.type&&(e.displayOptions&&!Lt(n,e,o,a)||(i[r]=d))}return i}return{setters:[function(e){e.o},function(e){a=e.$,n=e.A,o=e.At,s=e.Bt,l=e.C,i=e.E,r=e.Ft,d=e.H,c=e.Ht,u=e.I,p=e.M,v=e.N,m=e.Nt,f=e.O,y=e.S,g=e.Sn,_=e.T,h=e.U,b=e.W,w=e.Wt,x=e.X,k=e.Z,N=e._,C=e._n,T=e.c,I=e.dt,j=e.gt,P=e.h,O=e.it,E=e.j,A=e.n,W=e.pt,$=e.q,S=e.rt,D=e.tt,V=e.v,B=e.w,M=e.yn,F=e.yt},function(e){U=e.b,R=e.bt,z=e.ct,L=e.et,H=e.h,q=e.st},function(e){K=e.$i,G=e.At,X=e.F,Y=e.Fi,Q=e.Ft,J=e.H,Z=e.Ht,ee=e.Ii,te=e.Mi,ae=e.Pt,ne=e.Qi,oe=e.Vt,se=e.Xi,le=e.Zi,ie=e._t,re=e.en,de=e.gt,ce=e.h,ue=e.ht,pe=e.na,ve=e.t,me=e.tt,fe=e.z},function(e){ye=e.t},function(e){},function(e){},function(e){ge=e.$i,_e=e.$t,he=e.Ar,be=e.Dn,we=e.Dr,xe=e.Et,ke=e.Ft,Ne=e.Gr,Ce=e.Ki,Te=e.Mr,Ie=e.Oi,je=e.Or,Pe=e.Pt,Oe=e.Rn,Ee=e.Sn,Ae=e.Tr,We=e.Un,$e=e.at,Se=e.cn,De=e.dn,Ve=e.en,Be=e.ga,Me=e.gi,Fe=e.ia,Ue=e.in,Re=e.it,ze=e.jr,Le=e.jt,He=e.kt,qe=e.mi,Ke=e.or,Ge=e.pn,Xe=e.r,Ye=e.rn,Qe=e.s,Je=e.t,Ze=e.ur,et=e.vn,tt=e.w,at=e.ya,nt=e.yn},function(e){ot=e.D,st=e.F,lt=e.N,it=e.O,rt=e.P,dt=e.a,ct=e.c,ut=e.f,pt=e.g,vt=e.s,mt=e.t,ft=e.u,yt=e.v,gt=e.x,_t=e.y},function(e){ht=e.$a,bt=e.Ao,wt=e.Ct,xt=e.Ds,kt=e.Fc,Nt=e.Gt,e.Io,Ct=e.Ka,Tt=e.M,It=e.Mn,jt=e.P,e.Po,e.Ps,Pt=e.Qn,Ot=e.R,Et=e.So,At=e.Tt,Wt=e._a,$t=e._o,St=e.ba,e.bn,Dt=e.ec,Vt=e.gl,Bt=e.gr,Mt=e.ho,Ft=e.hs,Ut=e.is,Rt=e.ja,e.jn,zt=e.ko,Lt=e.ma,Ht=e.ms,qt=e.ps,Kt=e.va,Gt=e.wl,e.xn},function(e){},function(e){Xt=e.N},function(e){},function(e){},function(e){},function(e){Yt=e.t},function(e){},function(e){},function(e){Qt=e.t},function(e){Jt=e.s},function(e){},function(e){},function(e){},function(e){},function(e){},function(e){},function(e){Zt=e.c,ea=e.l},function(e){ta=e.n,aa=e.t},function(e){na=e.n,oa=e.r,sa=e.t},function(e){la=e.t},function(e){ia=e.i,ra=e.o},function(e){},function(e){},function(e){},function(e){},function(e){da=e.t},function(e){},function(e){},function(e){},function(e){ca=e.t},function(e){ua=e.n,pa=e.r},function(e){},function(e){va=e.t},function(e){ma=e.n,fa=e.t},function(e){},function(e){ya=e.t},function(e){},function(e){ga=e.n,_a=e.t},function(e){},function(e){},function(e){},function(e){},function(e){},function(e){ha=e.t},function(e){},function(e){ba=e.t},function(e){wa=e.n,xa=e.r,ka=e.t},function(e){Na=e.a,Ca=e.i,Ta=e.n,Ia=e.s,ja=e.t},function(e){Pa=e.t},function(e){},function(e){},function(e){Oa=e.t},function(e){Ea=e.t},function(e){Aa=e.t}],execute:function(){(Wa=document.createElement("style")).textContent='._wrapper_gh0gb_125{width:100%;height:100%;display:flex;position:relative;overflow:hidden}._canvas_gh0gb_133{background-color:var(--canvas--color--background);justify-content:stretch;align-items:stretch;width:100%;height:100%;display:block;position:relative}._container_1fw0v_125{padding-top:var(--spacing--xs);align-items:center;display:flex;position:relative}._container_1fw0v_125:after{content:"";height:var(--border-width);background-color:var(--color--foreground);z-index:1;position:absolute;bottom:1px;left:0;right:0}._close-button_1fw0v_142{right:var(--spacing--xs);padding:var(--spacing--4xs);cursor:pointer;color:var(--color--text--tint-1);border-radius:var(--radius);z-index:2;background:0 0;border:none;justify-content:center;align-items:center;display:flex;position:absolute;top:50%;transform:translateY(-50%)}._close-button_1fw0v_142:hover{color:var(--color--text)}._tooltipItem_jpymr_125{margin:0;padding:0}._tooltipItem_jpymr_125+._tooltipItem_jpymr_125{margin-top:var(--spacing--5xs)}._container_1w8i0_125{padding:0 var(--spacing--xs)}._header_1w8i0_129{align-items:center;gap:var(--spacing--4xs);cursor:pointer;user-select:none;display:flex}._chevron-icon_1w8i0_137{font-size:var(--font-size--xs);transition:transform .2s}._expanded_1w8i0_141 ._chevron-icon_1w8i0_137{transform:rotate(90deg)}._header-label_1w8i0_145{font-size:var(--font-size--2xs)}._url-list_1w8i0_149{gap:var(--spacing--4xs);margin-top:var(--spacing--4xs);margin-left:var(--spacing--sm);flex-direction:column;display:flex}._url-row_1w8i0_157{align-items:center;gap:var(--spacing--2xs);background-color:var(--color--foreground--tint-2);border-radius:var(--radius--sm);padding:var(--spacing--4xs)var(--spacing--2xs);cursor:pointer;display:flex}._method-badge_1w8i0_167{background-color:var(--color--foreground--shade-2);color:var(--color--foreground--tint-2);font-size:var(--font-size--2xs);font-weight:var(--font-weight--bold);border-radius:var(--radius--sm);padding:0 var(--spacing--4xs);line-height:var(--spacing--sm);text-align:center;flex-shrink:0}._url-text_1w8i0_179{font-size:var(--font-size--2xs);color:var(--color--text--shade-1);word-break:break-all;line-height:var(--line-height--xl);flex:1}._card_8jtb5_125{gap:var(--spacing--xs);background-color:var(--color--background--light-3);border:var(--border);border-radius:var(--radius);flex-direction:column;width:100%;display:flex}._card_8jtb5_125._no-footer_8jtb5_134{padding-bottom:var(--spacing--xs)}._header_8jtb5_138{align-items:center;gap:var(--spacing--2xs);cursor:pointer;user-select:none;padding:var(--spacing--xs)var(--spacing--xs)0;display:flex}._header_8jtb5_138 ._header-extra_8jtb5_146{display:flex}._header_8jtb5_138 ._chevron_8jtb5_149{display:none}._header_8jtb5_138:hover ._chevron_8jtb5_149{display:block}._header_8jtb5_138:hover ._header-extra_8jtb5_146{display:none}._card_8jtb5_125:not(._collapsed_8jtb5_158) ._header_8jtb5_138{margin-bottom:var(--spacing--5xs)}._card-title_8jtb5_162{font-weight:var(--font-weight--medium);flex:1}._complete-icon_8jtb5_167{color:var(--color--success)}._header_8jtb5_138 ._complete-icon_8jtb5_167{width:var(--spacing--sm);justify-content:center;display:flex}._loading-icon_8jtb5_176{color:var(--color--text--tint-1);width:var(--spacing--sm);justify-content:center;display:flex}._footer_8jtb5_183{padding:0 var(--spacing--xs)var(--spacing--xs);justify-content:flex-end;align-items:center;display:flex}._footer-complete-check_8jtb5_190{align-items:center;gap:var(--spacing--4xs);display:flex}._card_8jtb5_125._collapsed_8jtb5_158 ._header_8jtb5_138{padding:var(--spacing--xs)}._card_8jtb5_125._collapsed_8jtb5_158 ._card-title_8jtb5_162{color:var(--color--text);white-space:nowrap;text-overflow:ellipsis;transition:color .1s;overflow:hidden}._card_8jtb5_125._collapsed_8jtb5_158:hover ._card-title_8jtb5_162{color:var(--color--text--shade-1)}._card_8jtb5_125._completed_8jtb5_210{border-color:var(--color--success)}._card_8jtb5_125._completed_8jtb5_210 ._footer_8jtb5_183{justify-content:space-between}._callout_8jtb5_217{margin:0 var(--spacing--xs)}._callout-grid_8jtb5_221{grid-template-rows:1fr;display:grid}._callout-inner_8jtb5_226{min-height:0;overflow:hidden}.callout-fade-enter-active[data-v-42233c49],.callout-fade-leave-active[data-v-42233c49]{transition:grid-template-rows .2s,opacity .2s}.callout-fade-enter-from[data-v-42233c49],.callout-fade-leave-to[data-v-42233c49]{opacity:0;grid-template-rows:0fr}._content_1t2kp_125{gap:var(--spacing--xs);padding:0 var(--spacing--xs);flex-direction:column;display:flex}._credential-container_1t2kp_132{gap:var(--spacing--3xs);flex-direction:column;display:flex}._nodes-hint_1t2kp_138{font-size:var(--font-size--2xs);color:var(--color--text--tint-1);cursor:default}._container_cicgv_125,._card-list_cicgv_126{gap:var(--spacing--2xs);flex-direction:column;flex:1;width:100%;display:flex}._empty-state_cicgv_134{justify-content:center;align-items:center;gap:var(--spacing--2xs);flex-direction:column;width:100%;height:100%;display:flex}._empty-text_cicgv_144{flex-direction:column;align-items:center;display:flex}._complete-message_cicgv_150{text-align:center;color:var(--color--text--tint-1);font-size:var(--font-size--sm);padding:var(--spacing--sm)}._container_3n09a_125{background-color:var(--color--background--light-2);width:100%;height:100%;top:calc(-1*var(--spacing--5xs));flex-direction:column;justify-content:center;display:flex;position:relative}._content_3n09a_136{padding:var(--spacing--xs);gap:var(--spacing--sm);flex-direction:column;flex:1;display:flex;overflow-x:hidden;overflow-y:auto}._footer_3n09a_146{align-items:center;gap:var(--spacing--2xs);padding:var(--spacing--xs);background-color:var(--color--background--light-2);border-top:var(--border);margin-top:auto;display:flex}._toggle-label_3n09a_156{align-items:center;gap:var(--spacing--2xs);cursor:pointer;user-select:none;display:flex}._component_1ef46_125{height:100%;overflow:auto}._multipleNodes_1ef46_130{min-height:100%;padding:var(--spacing--3xl)var(--spacing--md);justify-content:start;align-items:center;gap:var(--spacing--md);flex-direction:column;display:flex}._multipleNodesActions_1ef46_140{align-self:stretch;list-style-type:none}._multipleNodesAction_1ef46_140{margin-top:-1px}._multipleNodesAction_1ef46_140 button{border-color:var(--border-color--light);border-radius:0;justify-content:space-between;align-items:center;width:100%;display:flex;position:relative}._multipleNodesAction_1ef46_140 button:disabled{border-color:var(--border-color--light)}._multipleNodesAction_1ef46_140:first-of-type button{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}._multipleNodesAction_1ef46_140:last-of-type button{border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius)}._multipleNodesAction_1ef46_140 button:hover{z-index:1}._component_1p4tv_125{padding:var(--spacing--2xs);align-items:center;gap:var(--spacing--2xs);border-bottom:var(--border);display:flex}._breadcrumbs_1p4tv_133{align-items:center;gap:var(--spacing--4xs);flex-grow:1;flex-shrink:1;display:flex}._content_9h1id_125{flex-direction:column;width:100%;height:100%;display:flex}._content_9h1id_125._emptyContent_9h1id_131{text-align:center;justify-content:center;align-items:center}._isNdvInFocusPanelEnabled_9h1id_136 ._content_9h1id_125._emptyContent_9h1id_131{flex-direction:column-reverse}._content_9h1id_125._emptyContent_9h1id_131 ._emptyText_9h1id_139{margin:0 var(--spacing--xl);gap:var(--spacing--2xs);flex-direction:column;display:flex}._content_9h1id_125._emptyContent_9h1id_131 ._focusParameterWrapper_9h1id_145{justify-content:center;align-items:center;gap:var(--spacing--2xs);margin-block:var(--spacing--md);display:flex}._content_9h1id_125._emptyContent_9h1id_131 ._focusParameterWrapper_9h1id_145 ._iconWrapper_9h1id_152{display:inline-block;position:relative}._content_9h1id_125._emptyContent_9h1id_131 ._focusParameterWrapper_9h1id_145 ._pointerIcon_9h1id_156{pointer-events:none;position:absolute;top:100%;left:50%;transform:translate(-20%,-30%)}._content_9h1id_125._emptyContent_9h1id_131 ._focusParameterWrapper_9h1id_145 [class*=_disabled_]{cursor:default!important}._content_9h1id_125 ._tabHeader_9h1id_166{border-bottom:1px solid var(--color--foreground);padding:var(--spacing--2xs);justify-content:space-between;align-items:center;display:flex}._content_9h1id_125 ._tabHeader_9h1id_166 ._tabHeaderText_9h1id_173{gap:var(--spacing--4xs);align-items:baseline;display:flex}._content_9h1id_125 ._tabHeader_9h1id_166 ._buttonWrapper_9h1id_178{gap:var(--spacing--2xs);align-items:center;display:flex}._content_9h1id_125 ._parameterDetailsWrapper_9h1id_183{gap:var(--spacing--2xs);height:100%;padding:var(--spacing--2xs);flex-direction:column;display:flex}._content_9h1id_125 ._parameterDetailsWrapper_9h1id_183 ._parameterOptionsWrapper_9h1id_190{justify-content:space-between;display:flex}._content_9h1id_125 ._parameterDetailsWrapper_9h1id_183 ._noExecutionDataTip_9h1id_194{align-content:center}._content_9h1id_125 ._parameterDetailsWrapper_9h1id_183 ._editorContainer_9h1id_197{flex-grow:1;height:0}._content_9h1id_125 ._parameterDetailsWrapper_9h1id_183 ._editorContainer_9h1id_197 ._editor_9h1id_197{width:100%;height:100%;font-size:var(--font-size--2xs);align-items:normal;display:flex}._content_9h1id_125 ._parameterDetailsWrapper_9h1id_183 ._editorContainer_9h1id_197 ._editor_9h1id_197 .cm-editor{background-color:var(--code--color--background);width:100%}._delayedShow_9h1id_213{opacity:0;transition:opacity .1s none;animation:.1s .1s forwards _triggerShow_9h1id_1}@keyframes _triggerShow_9h1id_1{to{opacity:1}}._closeButton_9h1id_224{cursor:pointer}._heightFull_9h1id_228{height:100%}._forceHover_9h1id_232{color:var(--button--color--text--secondary--hover-active-focus);border-color:var(--button--border-color--secondary--hover-active-focus)}._wrapper_1ek2u_125{border-left:1px solid var(--color--foreground);background:var(--color--background--light-3);flex-flow:row;flex-grow:0;flex-shrink:0;height:100%;display:flex;overflow:hidden}._container_1ek2u_137{flex-direction:column;height:100%;display:flex}._setup-panel-wrapper_1ek2u_143{flex-direction:column;width:100%;height:calc(100% - 36px);display:flex}._wrapper_1uyi2_125{width:100%;display:flex}._executionButtons_1uyi2_130{justify-content:center;align-items:center;gap:var(--spacing--xs);left:50%;bottom:var(--spacing--sm);width:auto;display:flex;position:absolute;transform:translate(-50%)}@media screen and (max-width:991px){._executionButtons_1uyi2_130{left:auto;right:var(--spacing--sm);transform:none}}._executionButtons_1uyi2_130 ._chatButton_1uyi2_148{align-self:stretch}._setupCredentialsButtonWrapper_1uyi2_152{left:var(--spacing--sm);top:var(--spacing--sm);position:absolute}._readOnlyEnvironmentNotification_1uyi2_158{position:absolute;bottom:16px;left:50%;transform:translate(-50%)}._canvasCenterPill_1uyi2_165{z-index:10;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}\n/*$vite$:1*/',document.head.appendChild(Wa);try{St="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},(Lt=(new St.Error).stack)&&(St._sentryDebugIds=St._sentryDebugIds||{},St._sentryDebugIds[Lt]="731f353c-fc04-4aa8-81d2-11c787fed17c",St._sentryDebugIdIdentifier="sentry-dbid-731f353c-fc04-4aa8-81d2-11c787fed17c")}catch(St){}var St,Lt;$a=v({inheritAttrs:!1,__name:"WorkflowCanvas",props:{id:{default:"canvas"},workflow:{},workflowObject:{},fallbackNodes:{default:()=>[]},showFallbackNodes:{type:Boolean,default:!0},eventBus:{default:()=>G()},readOnly:{type:Boolean},executing:{type:Boolean},suppressInteraction:{type:Boolean,default:!1},initialViewport:{}},setup(e,{expose:t}){const n=e,o=W("canvas"),d=T(),{onNodesInitialized:c,viewport:u,viewportRef:p,getNodes:v,fitBounds:m}=Ze(n.id),f=s(n,"workflow"),g=s(n,"workflowObject"),{nodes:b,connections:x}=ja({nodes:y((()=>n.showFallbackNodes?[...n.workflow.nodes,...n.fallbackNodes]:n.workflow.nodes)),connections:y((()=>n.workflow.connections)),workflowObject:g}),k=r(!1),{off:N}=c((()=>{k.value||(n.initialViewport||n.eventBus.emit("fitView"),k.value=!0,N())})),I=L(b,200),j=L(x,200);return t({executeContextMenuAction:(e,t)=>o.value?.executeContextMenuAction(e,t),ensureNodesAreVisible:e=>{const t=p.value;if(!t)return;const a=v.value.filter((t=>e.includes(t.id)));if(0===a.length)return;const o=c((()=>{const s=u.value,l=t.clientWidth,i=t.clientHeight,r=Ke(a),d=r.x*s.zoom+s.x,c=r.y*s.zoom+s.y,p=r.width*s.zoom,v=r.height*s.zoom;if(!(d>=0&&c>=0&&d+p<=l&&c+v<=i)){const e={x:-s.x/s.zoom,y:-s.y/s.zoom,width:l/s.zoom,height:i/s.zoom},t=Math.min(e.x,r.x),a=Math.min(e.y,r.y),n=Math.max(e.x+e.width,r.x+r.width),o=Math.max(e.y+e.height,r.y+r.height);m({x:t,y:a,width:n-t,height:o-a},{padding:.15,duration:100})}n.eventBus.emit("nodes:select",{ids:e}),o.off()}))}}),(t,n)=>(a(),i("div",{class:C(w(d).wrapper),"data-test-id":"canvas-wrapper"},[l("div",{id:"canvas",class:C(w(d).canvas)},[f.value?(a(),B(Ta,h({key:0,id:e.id,ref:"canvas",nodes:e.executing?w(I):w(b),connections:e.executing?w(j):w(x),"event-bus":e.eventBus,"read-only":e.readOnly,executing:e.executing,"suppress-interaction":e.suppressInteraction,"initial-viewport":e.initialViewport},t.$attrs),null,16,["id","nodes","connections","event-bus","read-only","executing","suppress-interaction","initial-viewport"])):_("",!0)],2),O(t.$slots,"default")],2))}}),Sa=ye($a,[["__cssModules",{$style:{wrapper:"_wrapper_gh0gb_125",canvas:"_canvas_gh0gb_133"}}]]),Da=ye(v({__name:"FocusSidebarTabs",props:{modelValue:{default:"setup"},tabLabels:{default:()=>({})}},emits:["update:modelValue"],setup(e,{emit:t}){const n=R(),o=Ee(),s=e,r=t,d=y((()=>[{label:s.tabLabels?.setup??n.baseText("setupPanel.tabs.setup"),value:"setup"},{label:s.tabLabels?.focus??n.baseText("setupPanel.tabs.focus"),value:"focus"}])),c=e=>{r("update:modelValue",e)};return(t,n)=>(a(),i("div",{class:C(t.$style.container),"data-test-id":"setup-panel-tabs"},[E(w(X),{"model-value":e.modelValue,options:d.value,size:"small","onUpdate:modelValue":c},null,8,["model-value","options"]),l("button",{"data-test-id":"setup-panel-close",class:C(t.$style["close-button"]),onClick:n[0]||(n[0]=e=>w(o).closeFocusPanel())},[E(w(K),{icon:"x",size:"small"})],2)],2))}}),[["__cssModules",{$style:{container:"_container_1fw0v_125","close-button":"_close-button_1fw0v_142"}}]]),Va=e=>"n8n-nodes-base.httpRequest"===e||"n8n-nodes-base.httpRequestTool"===e,Ba=e=>{const t=Qe(),a=$e(),n=tt(),o=_e(),s=Pe(),l=be(),i=Fe(),d=y((()=>e?.value??i?.value?.allNodes??[])),c=y((()=>{if(!i?.value?.meta?.templateId)return new Map;const e=new Map;for(const t of d.value){const a=new Set,o=n.getNodeType(t.type,t.typeVersion);if(o)for(const e of o.properties)"resourceLocator"===e.type&&a.add(e.name);const s=e=>{for(const[t,n]of Object.entries(e))Ct(n)?a.add(t):null===n||"object"!=typeof n||Array.isArray(n)||s(n)};s(t.parameters),a.size>0&&e.set(t.name,Array.from(a))}return e})),u=r(new Map),p=y((()=>{const e=new Map;for(const[t,a]of c.value)e.set(t,[...a]);for(const[t,a]of u.value){const n=e.get(t);if(n){const o=new Set([...n,...a]);e.set(t,Array.from(o))}else e.set(t,[...a])}return e})),v=e=>(p.value.get(e)?.length??0)>0,m=e=>{const t=p.value.get(e.name);if(!t||0===t.length)return!1;const a=new Set(t),n=e=>{for(const[t,o]of Object.entries(e)){if(a.has(t)&&Ct(o)&&!o.value)return!0;if(null!==o&&"object"==typeof o&&!Array.isArray(o)&&n(o))return!0}return!1};return n(e.parameters)};!async function(){const e=i?.value?.meta?.templateId;if(e)try{const t=l.getFullTemplateById(e)??await l.fetchTemplateById(e);if(!t?.workflow?.nodes)return;const a=new Map;for(const e of t.workflow.nodes){const t=gn(n,e),o=Object.keys(t);o.length>0&&a.set(e.name,o)}u.value=a}catch{}}();const f=e=>a.getCredentialTypeByName(e)?.displayName??e,g=e=>!!a.getCredentialTypeByName(e)?.test||a.getNodesWithAccess(e).some((t=>t.credentials?.some((t=>t.name===e&&t.testedBy)))),_=e=>n.isTriggerNode(e.type),h=e=>{const a=t.getWorkflowResultDataByNodeName(e);return null!==a&&a.length>0},b=r(new Set),w=(e,a)=>{try{const n=t.workflowObject.expression.getParameterValue(e,null,0,0,a,[],"manual",{$execution:{id:jt,mode:"test",resumeUrl:jt,resumeFormUrl:jt},$vars:s.variablesAsObject});return"string"==typeof n?n:null}catch{return null}},x=new Set,k=y((()=>{const e=d.value.filter((e=>!e.disabled)).map((e=>({node:e,credentialTypes:yn(n,e),parameterIssues:gn(n,e),isTrigger:_(e)}))).filter((({credentialTypes:e,isTrigger:t,parameterIssues:a,node:n})=>x.has(n.id)||e.length>0||t||Object.keys(a).length>0||v(n.name)));for(const{node:t}of e)x.add(t.id);return Le(e,t.connectionsBySourceNode,t.connectionsByDestinationNode)})),N=y((()=>k.value.find((({isTrigger:e})=>e))?.node.name??null)),C=y((()=>k.value.filter((({credentialTypes:e})=>e.length>0)))),T=new Set,I=y((()=>{const e=k.value.filter((({parameterIssues:e,node:t})=>T.has(t.id)||Object.keys(e).length>0||v(t.name)));for(const{node:t}of e)T.add(t.id);return e})),P=new Set,O=new Set,E=y((()=>{const e=new Set;for(const{credentialTypes:a,parameterIssues:n,node:s}of k.value)if(Object.keys(n).length>0||v(s.name))for(const t of a)e.add(t);const t=function(e,t,a){const n=new Map;for(const{node:o,credentialTypes:s}of e)for(const e of s){const s=Va(o.type),l=o.parameters.url;let i;if(s)if($t(l)){const t=a?.(l,o.name)??null;i=null!==t?`${e}:http:${t}`:`${e}:http:${o.name}`}else i=`${e}:http:${String(l??"")}`;else i=e;const r=n.get(i);if(r){r.nodes.push(o);const t=o.issues?.credentials?.[e];if(t){const e=[t].flat();for(const t of e)r.issues.includes(t)||r.issues.push(t)}if(!r.selectedCredentialId){const t=o.credentials?.[e];"string"!=typeof t&&t?.id&&(r.selectedCredentialId=t.id)}}else{const a=o.credentials?.[e],s="string"==typeof a?void 0:a?.id??void 0,l=[(o.issues?.credentials??{})[e]??[]].flat();n.set(i,{credentialType:e,credentialDisplayName:t(e),selectedCredentialId:s,issues:l,nodes:[o],isComplete:!1})}}for(const o of n.values())o.isComplete=!!o.selectedCredentialId&&0===o.issues.length;return Array.from(n.values())}(C.value.filter((({credentialTypes:t})=>!t.some((t=>e.has(t)||O.has(t))))).map((({node:e,credentialTypes:t})=>({node:e,credentialTypes:t}))),f,w),o=e=>n.isTriggerNode(e);return t.map((e=>{const t=e.nodes.find((e=>_(e)&&e.name===N.value)),n=t?e.nodes.filter((e=>!_(e)||e===t)):e.nodes.filter((e=>!_(e))),s=g(e.credentialType)?a.isCredentialTestedOk:void 0,l=function(e,t,a,n){return!(!e.selectedCredentialId||0!==e.issues.length)&&!(n&&e.selectedCredentialId&&!n(e.selectedCredentialId))&&e.nodes.filter((e=>a(e.type))).every((e=>t(e.name)))}({...e,nodes:n},h,o,s),i=!!e.selectedCredentialId&&b.value.has(e.selectedCredentialId);return{...e,isComplete:l,isAutoApplied:i}}))})),A=y((()=>{if(!N.value)return[];const e=E.value.some((e=>e.nodes.some((e=>_(e)&&e.name===N.value)))),t=W.value.some((e=>e.node.name===N.value));return e||t?[]:k.value.filter((({isTrigger:e,node:t})=>e&&t.name===N.value)).map((({node:e,credentialTypes:t})=>function(e,t,a,n){return{node:e,isComplete:t.every((e=>{const t=a.find((t=>t.credentialType===e));return!t||!!t.selectedCredentialId&&0===t.issues.length}))&&n}}(e,t,E.value,h(e.name))))})),W=y((()=>{const e=[];for(const a of I.value){if(a.credentialTypes.length>0)continue;const{node:t,parameterIssues:n,isTrigger:o}=a;e.push({node:t,parameterIssues:n,templateParameterNames:p.value.get(t.name),isTrigger:o,isComplete:0===Object.keys(n).length&&!m(t)})}const t=new Set;for(const{credentialTypes:a,parameterIssues:n,node:r}of k.value)if(Object.keys(n).length>0||v(r.name))for(const e of a)t.add(e),O.add(e);const o=new Map,s=new Map;for(const a of k.value){const{node:e,credentialTypes:n,parameterIssues:l}=a;if(0!==n.length)for(const i of n){if(!t.has(i)&&!O.has(i))continue;o.has(i)||o.set(i,[]),o.get(i).some((t=>t.id===e.id))||o.get(i).push(e);const n=`${i}:${e.id}`,r=Object.keys(l).length>0,d=v(e.name),c=P.has(n);(r||d||c)&&(s.has(i)||s.set(i,[]),s.get(i).push(a))}}const l=new Set;for(const[r,d]of s){let t=!0;const s=o.get(r)??[];for(const o of d){const{node:d,parameterIssues:c,isTrigger:u}=o,v=`${r}:${d.id}`;if(l.has(v))continue;l.add(v),P.add(v);const y=d.credentials?.[r],_="string"==typeof y?void 0:y?.id??void 0,w=[(d.issues?.credentials??{})[r]??[]].flat(),x=t,k=!!_&&0===w.length,C=!_||!g(r)||a.isCredentialTestedOk(_),T=(i=d.type,!n.isTriggerNode(i)||d.name!==N.value||h(d.name)),I=!!_&&b.value.has(_),j=0===Object.keys(c).length&&!m(d),O=T&&!I?j:k&&C&&j&&T;e.push({node:d,credentialType:r,credentialDisplayName:f(r),selectedCredentialId:_,issues:w,parameterIssues:c,templateParameterNames:p.value.get(d.name),isTrigger:u,showCredentialPicker:x,isComplete:O,allNodesUsingCredential:s,isAutoApplied:I}),t=!1}}var i;return e})),$=y((()=>{const e=[...E.value.map((e=>({node:e.nodes[0],credentialType:e.credentialType,credentialDisplayName:e.credentialDisplayName,selectedCredentialId:e.selectedCredentialId,issues:e.issues,parameterIssues:{},isTrigger:_(e.nodes[0]),showCredentialPicker:!0,isComplete:e.isComplete,isAutoApplied:e.isAutoApplied,allNodesUsingCredential:e.nodes}))),...A.value.map((e=>({node:e.node,parameterIssues:{},isTrigger:!0,isComplete:e.isComplete}))),...W.value].filter((e=>e.node.type!==It)).map((e=>({state:e}))),t=k.value.map((({node:e})=>e.name));return e.sort(((e,a)=>t.indexOf(e.state.node.name)-t.indexOf(a.state.node.name)))})),S=y((()=>E.value.filter((e=>!e.isComplete)).length)),D=y((()=>$.value.length)),V=y((()=>$.value.length>0&&$.value.every((e=>e.state.isComplete))));async function B(e,t,n){if(g(n)&&!a.isCredentialTestedOk(e)&&!a.isCredentialTestPending(e))try{const o=await a.getCredentialData({id:e});if(!o?.data||"string"==typeof o.data)return;if(a.isCredentialTestedOk(e)||a.isCredentialTestPending(e))return;const{ownedBy:s,sharedWithProjects:l,oauthTokenData:i,...r}=o.data;if(i)return void a.credentialTestResults.set(e,"success");await a.testCredential({id:e,name:t,type:n,data:r})}catch{}}const M=(e,t)=>{const a=E.value,n=t?a.find((a=>a.credentialType===e&&a.nodes.some((e=>e.name===t)))):a.find((t=>t.credentialType===e));if(n)return n.nodes.map((e=>e.name));if(!t)return[];const o=W.value.find((a=>a.credentialType===e&&a.node.name===t));return o?.allNodesUsingCredential?o.allNodesUsingCredential.map((e=>e.name)):[t]},F=(e,t,n,s=!1)=>{const l=a.getCredentialById(t);if(!l)return;const r={id:t,name:l.name};B(t,l.name,e);for(const a of M(e,n)){const t=i?.value?.getNodeByName(a);if(!t)continue;if(s&&Va(t.type))continue;const n=t.credentials?.[e],o="string"==typeof n?void 0:n?.id;o&&b.value.delete(o),i?.value?.updateNodeProperties({name:a,properties:{credentials:{...t.credentials,[e]:r}}})}o.updateNodesCredentialsIssues(),Xe().markStateDirty()},U=(e,t)=>{for(const a of M(e,t)){const t=i?.value?.getNodeByName(a);if(!t)continue;const n={...t.credentials};delete n[e],i?.value?.updateNodeProperties({name:a,properties:{credentials:n}})}o.updateNodesCredentialsIssues(),Xe().markStateDirty()},R=(e,t)=>{const n=a.getCredentialsByType(e);if(0===n.length)return;const o=n.reduce(((e,t)=>e.updatedAt>t.updatedAt?e:t),n[0]);b.value.add(o.id),F(e,o.id,t,!0)};let z=!1;return j(k,(e=>{if(z||0===e.length)return;z=!0,(()=>{const e=[...E.value],t=[...W.value];for(const a of e)a.selectedCredentialId||R(a.credentialType);for(const a of t)a.credentialType&&!a.selectedCredentialId&&R(a.credentialType,a.node.name)})();const t=new Map;for(const{node:n,credentialTypes:o}of e)for(const e of o){const o=n.credentials?.[e],s="string"==typeof o?void 0:o?.id;if(!s||t.has(s))continue;const l=a.getCredentialById(s);l&&t.set(s,{name:l.name,type:e})}for(const[a,{name:n,type:o}]of t)B(a,n,o)}),{immediate:!0}),Re({store:a,onCredentialDeleted:e=>{for(const{node:t,credentialTypes:a}of k.value)for(const n of a){const a=t.credentials?.[n];("string"==typeof a?void 0:a?.id)===e&&U(n)}}}),{setupCards:$,credentialTypeStates:E,triggerStates:A,nodeStates:W,firstTriggerName:N,totalCredentialsMissing:S,totalCardsRequiringSetup:D,isAllComplete:V,nodesWithMissingParameters:I,autoAppliedCredentialIds:b,setCredential:F,unsetCredential:U}},Ma=v({__name:"TriggerExecuteButton",props:{label:{},icon:{},disabled:{type:Boolean},loading:{type:Boolean},tooltipItems:{}},emits:["click"],setup(e,{emit:t}){const n=e,o=t,s=y((()=>n.tooltipItems.length>0)),l=async()=>{o("click")};return(t,n)=>(a(),B(w(te),{disabled:!s.value,placement:"top"},{content:F((()=>[(a(!0),i(N,null,S(e.tooltipItems,((e,n)=>(a(),i("p",{key:n,class:C(t.$style.tooltipItem)},g(e),3)))),128))])),default:F((()=>[E(w(ne),{"data-test-id":"trigger-execute-button",label:e.label,disabled:e.disabled,loading:e.loading,icon:e.icon,size:"small",onClick:l},null,8,["label","disabled","loading","icon"])])),_:1},8,["disabled"]))}}),Fa=ye(Ma,[["__cssModules",{$style:{tooltipItem:"_tooltipItem_jpymr_125"}}]]),Ua=["onClick"],Ra=ye(v({__name:"WebhookUrlPreview",props:{urls:{}},setup(e){const t=R(),n=Yt(),o=Ae(),s=r(!1);return(r,d)=>(a(),i("div",{"data-test-id":"webhook-url-preview",class:C(r.$style.container)},[l("div",{class:C([r.$style.header,{[r.$style.expanded]:!s.value}]),onClick:d[0]||(d[0]=e=>s.value=!s.value)},[E(w(K),{icon:"chevron-right",class:C(r.$style["chevron-icon"])},null,8,["class"]),l("span",{class:C(r.$style["header-label"])},g(w(t).baseText("setupPanel.webhookUrl.title")),3)],2),E(w(re),null,{default:F((()=>[s.value?_("",!0):(a(),i("div",{key:0,class:C(r.$style["url-list"])},[(a(!0),i(N,null,S(e.urls,((e,s)=>(a(),B(w(te),{key:s,content:w(t).baseText("setupPanel.webhookUrl.clickToCopy"),placement:"top"},{default:F((()=>[l("div",{"data-test-id":"webhook-url-item",class:C(r.$style["url-row"]),onClick:a=>{return s=e.url,n.copy(s),void o.showMessage({title:t.baseText("setupPanel.webhookUrl.copied"),type:"success"});var s}},[e.isMethodVisible?(a(),i("span",{key:0,class:C(r.$style["method-badge"])},g(e.httpMethod),3)):_("",!0),l("span",{class:C(r.$style["url-text"])},g(e.url),3)],10,Ua)])),_:2},1032,["content"])))),128))],2))])),_:1})],2))}}),[["__cssModules",{$style:{container:"_container_1w8i0_125",header:"_header_1w8i0_129","chevron-icon":"_chevron-icon_1w8i0_137",expanded:"_expanded_1w8i0_141","header-label":"_header-label_1w8i0_145","url-list":"_url-list_1w8i0_149","url-row":"_url-row_1w8i0_157","method-badge":"_method-badge_1w8i0_167","url-text":"_url-text_1w8i0_179"}}]]),za=["data-test-id"],La=["data-test-id"],Ha=v({__name:"SetupCard",props:d({isComplete:{type:Boolean},loading:{type:Boolean,default:!1},cardTestId:{},title:{},showFooter:{type:Boolean,default:!0},executableNode:{default:null},isTrigger:{type:Boolean,default:!1},isTestingCredential:{type:Boolean,default:!1},highlightNodeIds:{default:()=>[]},telemetryPayload:{default:()=>({})}},{expanded:{type:Boolean,default:!1},expandedModifiers:{}}),emits:["update:expanded"],setup(e,{expose:t}){const o=e,s=I(e,"expanded"),d=R(),u=Ve(),p=la(),v=Fe(),m=r(!1),f=()=>{m.value=!0},h=()=>{s.value=!s.value},b=()=>{o.highlightNodeIds.length>0&&p.setHighlightedNodes(o.highlightNodeIds)},x=()=>{o.highlightNodeIds.length>0&&p.clearHighlightedNodes()},k=y((()=>o.executableNode??null)),{isExecuting:T,isButtonDisabled:P,label:W,buttonIcon:S,tooltipItems:D,execute:V,isInListeningState:M,listeningHint:U}=function(e){const t=R(),a=tt(),n=Qe(),{isExecuting:o,isListening:s,isListeningForWorkflowEvents:l,buttonLabel:i,buttonIcon:r,disabledReason:d,hasIssues:u,execute:p}=pa(e),v=y((()=>c(e))),m=y((()=>v.value?a.getNodeType(v.value.type,v.value.typeVersion):null)),f=y((()=>s.value||l.value)),g=y((()=>{if(!f.value||!m.value)return"";if(m.value.eventTriggerDescription)return m.value.eventTriggerDescription;const e=Ce(m.value);return t.baseText("setupPanel.trigger.listeningHint",{interpolate:{service:e}})})),_=y((()=>f.value?t.baseText("ndv.execute.stopListening"):i.value)),h=y((()=>!!v.value&&n.workflowObject.getParentNodes(v.value.name,Mt.Main).some((e=>{const t=n.getNodeByName(e);return t?.issues?.parameters||t?.issues?.credentials}))));return{isExecuting:o,isButtonDisabled:y((()=>o.value||u.value||h.value||!!d.value)),label:_,buttonIcon:r,tooltipItems:y((()=>{if(!u.value&&!h.value)return d.value?[d.value]:[];const e=[],a=v.value?.issues;return a&&e.push(...Object.values(a.credentials??{}).flat(),...Object.values(a.parameters??{}).flat()),h.value&&e.push(t.baseText("ndv.execute.upstreamNodeHasIssues")),e.length>0?e:[t.baseText("ndv.execute.requiredFieldsMissing")]})),execute:p,isInListeningState:f,listeningHint:g}}(k),{webhookUrls:z}=function(e){const t=tt(),a=xe(),n=y((()=>c(e))),o=y((()=>n.value?t.getNodeType(n.value.type,n.value.typeVersion):null)),s=y((()=>o.value?.webhooks?o.value.webhooks.filter((e=>!0!==e.restartWebhook)):[]));async function l(e,t,n){const o=e[t];if("string"==typeof o)try{return!!(await a.getWebhookExpressionValue(e,t,!0,n))}catch{return!1}return!!o}async function i(e,t){let n=!e.ndvHideMethod,o="";try{const s=await a.getWebhookExpressionValue(e,"httpMethod",!1,t);Array.isArray(s)&&1!==s.length?n=!1:(o=Array.isArray(s)?s[0]:s,"string"==typeof e.ndvHideMethod&&(n=!(await l(e,"ndvHideMethod",t))))}catch{}return{httpMethod:o,isMethodVisible:n}}return{webhookUrls:H((async()=>{const e=n.value;if(!e||0===s.value.length)return[];const t=[];for(const n of s.value){const o=e.name;if(await l(n,"ndvHideUrl",o))continue;const s=await a.getWebhookUrl(n,e,"test"),{httpMethod:r,isMethodVisible:d}=await i(n,o);t.push({url:s,httpMethod:r,isMethodVisible:d})}return t}),[])}}(k),L=y((()=>o.isTrigger&&M.value)),q=async()=>{await V(),f()};return $((()=>{p.clearHighlightedNodes()})),j((()=>o.isComplete),(e=>{e&&m.value&&(u.track("User completed setup step",{template_id:v?.value?.meta?.templateId,workflow_id:v?.value?.workflowId,...o.telemetryPayload}),m.value=!1)})),t({markInteracted:f}),(t,o)=>(a(),i("div",{"data-test-id":e.cardTestId,class:C([t.$style.card,{[t.$style.collapsed]:!s.value,[t.$style.completed]:e.isComplete,[t.$style["no-footer"]]:!e.showFooter&&s.value}]),onMouseenter:b,onMouseleave:x},[l("header",{"data-test-id":`${e.cardTestId}-header`,class:C(t.$style.header),onClick:h},[s.value||!e.loading||e.isComplete?!s.value&&e.isComplete?(a(),B(w(K),{key:1,"data-test-id":`${e.cardTestId}-complete-icon`,icon:"check",class:C(t.$style["complete-icon"]),size:"medium"},null,8,["data-test-id","class"])):O(t.$slots,"icon",{key:2},void 0,!0):(a(),B(w(K),{key:0,"data-test-id":`${e.cardTestId}-loading-icon`,icon:"spinner",spin:!0,class:C(t.$style["loading-icon"]),size:"medium"},null,8,["data-test-id","class"])),E(w(le),{class:C(t.$style["card-title"]),size:"medium",color:"text-dark"},{default:F((()=>[n(g(e.title),1)])),_:1},8,["class"]),l("div",{class:C(t.$style["header-extra"])},[O(t.$slots,"header-extra",{},void 0,!0)],2),E(w(K),{class:C(t.$style.chevron),icon:s.value?"chevrons-down-up":"chevrons-up-down",size:"large",color:"text-light"},null,8,["class","icon"])],10,La),s.value?(a(),i(N,{key:0},[O(t.$slots,"card-description",{},void 0,!0),E(A,{name:"callout-fade"},{default:F((()=>[L.value?(a(),i("div",{key:0,class:C(t.$style["callout-grid"])},[l("div",{class:C(t.$style["callout-inner"])},[E(w(se),{"data-test-id":"trigger-listening-callout",theme:"secondary",class:C(t.$style.callout)},{default:F((()=>[n(g(w(U)),1)])),_:1},8,["class"])],2)],2)):_("",!0)])),_:1}),e.isTrigger&&w(M)&&w(z).length>0?(a(),B(Ra,{key:0,urls:w(z)},null,8,["urls"])):_("",!0),O(t.$slots,"default",{},void 0,!0),e.showFooter?(a(),i("footer",{key:1,class:C(t.$style.footer)},[e.isComplete?(a(),i("div",{key:0,class:C(t.$style["footer-complete-check"])},[E(w(K),{icon:"check",class:C(t.$style["complete-icon"]),size:"large"},null,8,["class"]),E(w(le),{size:"medium",color:"success"},{default:F((()=>[n(g(w(d).baseText("generic.complete")),1)])),_:1})],2)):_("",!0),O(t.$slots,"footer-actions",{},void 0,!0),e.executableNode?(a(),B(Fa,{key:1,label:w(W),icon:w(S),disabled:w(P)||e.isTestingCredential,loading:w(T),"tooltip-items":w(D),onClick:q},null,8,["label","icon","disabled","loading","tooltip-items"])):_("",!0)],2)):_("",!0)],64)):_("",!0)],42,za))}}),qa=ye(Ha,[["__cssModules",{$style:{card:"_card_8jtb5_125","no-footer":"_no-footer_8jtb5_134",header:"_header_8jtb5_138","header-extra":"_header-extra_8jtb5_146",chevron:"_chevron_8jtb5_149",collapsed:"_collapsed_8jtb5_158","card-title":"_card-title_8jtb5_162","complete-icon":"_complete-icon_8jtb5_167","loading-icon":"_loading-icon_8jtb5_176",footer:"_footer_8jtb5_183","footer-complete-check":"_footer-complete-check_8jtb5_190",completed:"_completed_8jtb5_210",callout:"_callout_8jtb5_217","callout-grid":"_callout-grid_8jtb5_221","callout-inner":"_callout-inner_8jtb5_226"}}],["__scopeId","data-v-42233c49"]]),Ka=v({__name:"NodeSetupCard",props:d({state:{},firstTriggerName:{}},{expanded:{type:Boolean,default:!1},expandedModifiers:{}}),emits:d(["credentialSelected","credentialDeselected"],["update:expanded"]),setup(e,{emit:t}){const o=e,s=I(e,"expanded"),d=t,c=R(),u=la(),p=tt(),v=$e(),m=_e(),h=Ue(),b=Qe(),x=Fe(),k=r(null);D(kt,Ca(y((()=>o.state.node))));const N=y((()=>p.getNodeType(o.state.node.type,o.state.node.typeVersion))),T=y((()=>Va(o.state.node.type))),P=y((()=>!!o.state.credentialType)),O=y((()=>o.state.isTrigger?o.firstTriggerName&&"n8n-nodes-base.manualTrigger"!==o.state.node.type&&o.state.node.name===o.firstTriggerName?o.state.node:null:m.isNodeExecutable(o.state.node,!0,[])?o.state.node:null)),A=y((()=>{const e=o.state.selectedCredentialId;return!!e&&v.isCredentialTestPending(e)})),W=y((()=>!P.value||null!==O.value||o.state.isComplete)),$=y((()=>Object.keys(o.state.parameterIssues).length>0)),S=r([]),V=y((()=>{if(!N.value?.properties)return[];const e=Object.keys(o.state.parameterIssues),t=o.state.templateParameterNames??[],a=new Set([...e,...t]);for(const n of N.value.properties)a.has(n.name)&&!S.value.includes(n)&&S.value.push(n);return S.value})),M=y((()=>S.value.length>0)),U=y((()=>o.state.isTrigger&&!P.value&&!M.value)),z=y((()=>P.value&&!M.value&&!U.value)),L=y((()=>(o.state.allNodesUsingCredential??[]).map((e=>e.name)))),H=y((()=>L.value.join(", "))),q=y((()=>{const e=[];return U.value&&e.push("trigger"),P.value&&e.push("credential"),$.value&&e.push("param"),{type:e,template_id:x?.value?.meta?.templateId,workflow_id:b.workflow.id,node_types:(o.state.allNodesUsingCredential??[o.state.node]).map((e=>e.type)),credential_type:o.state.credentialType,has_parameters:$.value,missing_parameters_count:Object.keys(o.state.parameterIssues).length}})),G=e=>{if(!o.state.credentialType)throw new Error("Unexpected credential selection");k.value?.markInteracted();const t=e.properties.credentials?.[o.state.credentialType],a="string"==typeof t?void 0:t?.id;a?d("credentialSelected",{credentialType:o.state.credentialType,credentialId:a,nodeName:o.state.node.name}):d("credentialDeselected",{credentialType:o.state.credentialType,nodeName:o.state.node.name})},X=e=>{k.value?.markInteracted(),h.updateNodeProperties({name:o.state.node.name,properties:{parameters:{...o.state.node.parameters,[e.name]:e.value}}}),m.updateNodesParameterIssues()},Y=()=>{u.setHighlightedNodes((o.state.allNodesUsingCredential??[]).map((e=>e.id)))},Q=()=>{u.setHighlightedNodes([o.state.node.id])},J=r(0===Object.keys(o.state.parameterIssues).length),Z=y((()=>J.value||(o.state.templateParameterNames?.length??0)>0&&0===Object.keys(o.state.parameterIssues).length)),ee=r(!o.state.isAutoApplied);j((()=>o.state.isAutoApplied??!1),(e=>{e||(ee.value=!0)})),j(s,((e,t)=>{t&&!e&&(0===Object.keys(o.state.parameterIssues).length&&(J.value=!0),o.state.isAutoApplied&&(ee.value=!0))}));const ae=y((()=>M.value?o.state.isComplete&&Z.value&&ee.value:o.state.isComplete&&ee.value)),ne=y((()=>(o.state.allNodesUsingCredential??[o.state.node]).map((({id:e})=>e))));return(t,o)=>(a(),B(qa,{ref_key:"setupCard",ref:k,expanded:s.value,"onUpdate:expanded":o[0]||(o[0]=e=>s.value=e),"is-complete":ae.value,loading:A.value,title:e.state.node.name,"show-footer":W.value,"executable-node":O.value,"is-trigger":e.state.isTrigger,"is-testing-credential":A.value,"telemetry-payload":q.value,"highlight-node-ids":ne.value,"card-test-id":"node-setup-card"},f({icon:F((()=>[z.value?(a(),B(da,{key:0,"credential-type-name":e.state.credentialType,size:16},null,8,["credential-type-name"])):(a(),B(ca,{key:1,"node-type":N.value,size:16},null,8,["node-type"]))])),"card-description":F((()=>[e.state.isTrigger&&P.value&&!e.state.selectedCredentialId?(a(),B(w(le),{key:0,size:"medium",color:"text-base",class:"pl-xs pr-xs"},{default:F((()=>[n(g(w(c).baseText("setupPanel.trigger.credential.note")),1)])),_:1})):M.value?(a(),B(w(le),{key:1,size:"medium",color:"text-base",class:"pl-xs pr-xs"},{default:F((()=>[n(g(w(c).baseText("setupPanel.parameter.description")),1)])),_:1})):_("",!0)])),default:F((()=>[U.value?_("",!0):(a(),i("div",{key:0,class:C(t.$style.content)},[e.state.showCredentialPicker?(a(),i("div",{key:0,class:C(t.$style["credential-container"])},[E(it,{node:e.state.node,"override-cred-type":e.state.credentialType??"","skip-auto-select":T.value,"hide-issues":"",onCredentialSelected:G},f({_:2},[L.value.length>1?{name:"label-postfix",fn:F((()=>[E(w(te),{placement:"top"},{content:F((()=>[n(g(H.value),1)])),default:F((()=>[l("span",{"data-test-id":"node-setup-card-nodes-hint",class:C(t.$style["nodes-hint"]),onMouseenter:Y,onMouseleave:Q},g(w(c).baseText("setupPanel.usedInNodes",{interpolate:{count:String(L.value.length)}})),35)])),_:1})])),key:"0"}:void 0]),1032,["node","override-cred-type","skip-auto-select"])],2)):_("",!0),V.value.length>0?(a(),B(mt,{key:1,parameters:V.value,"node-values":e.state.node.parameters,"remove-first-parameter-margin":!0,node:e.state.node,"hide-delete":!0,"options-overrides":{hideExpressionSelector:!0,hideFocusPanelButton:!0},onValueChanged:X},null,8,["parameters","node-values","node"])):_("",!0)],2))])),_:2},[U.value?{name:"header-extra",fn:F((()=>[E(w(te),null,{content:F((()=>[n(g(w(c).baseText("nodeCreator.nodeItem.triggerIconTitle")),1)])),default:F((()=>[E(w(K),{icon:"zap",size:"small",color:"text-light"})])),_:1})])),key:"0"}:void 0]),1032,["expanded","is-complete","loading","title","show-footer","executable-node","is-trigger","is-testing-credential","telemetry-payload","highlight-node-ids"]))}}),Ga=ye(Ka,[["__cssModules",{$style:{content:"_content_1t2kp_125","credential-container":"_credential-container_1t2kp_132","nodes-hint":"_nodes-hint_1t2kp_138"}}]]),Xa=v({__name:"SetupPanelCards",props:{showCompleted:{type:Boolean,default:!0}},setup(e){const t=e,o=R(),s=Ve(),r=ya(),d=Fe(),{setupCards:c,isAllComplete:u,setCredential:p,unsetCredential:v,firstTriggerName:f}=Ba();j(u,(e=>{e&&s.track("User completed all setup steps",{template_id:d?.value?.meta?.templateId,workflow_id:r.value})}));const h=e=>{p(e.credentialType,e.credentialId,e.nodeName)},b=e=>{v(e.credentialType,e.nodeName)},x=y((()=>t.showCompleted?c.value:c.value.filter((e=>!e.state.isComplete)))),k=e=>e.state.credentialType?`${e.state.credentialType}-${e.state.node.id}`:`${e.state.node.id}`,T=m({}),I=new Map,P=new Set;let O=!1;const A=(e,t)=>e.find(((e,a)=>a>t&&!e.state.isComplete));return j(c,(e=>{for(const t of e){const e=k(t);if(P.has(e))continue;const a=t.state.templateParameterNames??[],n=Object.keys(t.state.parameterIssues);(a.length>0||n.length>0)&&P.add(e)}if(O){const t=A(e,-1);if(t&&!I.has(k(t))){const a=e.findIndex((e=>T[k(e)]));a>e.indexOf(t)&&(T[k(e[a])]=!1,T[k(t)]=!0)}for(let a=0;a<e.length;a++){const t=e[a],n=k(t),o=I.get(n)??!1;if(t.state.isComplete&&!o&&!P.has(n)){if(T[n]=!1,!t.state.isAutoApplied||e.every(((e,t)=>t===a||!T[k(e)]))){const t=A(e,a);t&&(T[k(t)]=!0)}break}}}else{if(0===e.length)return;const t=A(e,-1);t&&(T[k(t)]=!0),O=!0}I.clear();for(const t of e)I.set(k(t),t.state.isComplete)}),{deep:!0,immediate:!0}),(e,t)=>(a(),i("div",{class:C(e.$style.container),"data-test-id":"setup-panel-cards-container"},[0===w(c).length?(a(),i("div",{key:0,class:C(e.$style["empty-state"]),"data-test-id":"setup-cards-empty"},[E(w(K),{icon:"list-checks",class:C(e.$style["empty-icon"]),size:24,color:"text-base"},null,8,["class"]),l("div",{class:C(e.$style["empty-text"])},[E(w(le),{size:"medium",color:"text-base",bold:!0,"data-test-id":"setup-cards-empty-heading"},{default:F((()=>[n(g(w(o).baseText("setupPanel.empty.heading")),1)])),_:1}),E(w(le),{size:"medium",color:"text-light","data-test-id":"setup-cards-empty-description"},{default:F((()=>[n(g(w(o).baseText("setupPanel.empty.description")),1)])),_:1})],2)],2)):(a(),i("div",{key:1,class:C(e.$style["card-list"]),"data-test-id":"setup-cards-list"},[(a(!0),i(N,null,S(x.value,(e=>{return a(),B(Ga,{key:k(e),state:e.state,"first-trigger-name":w(f),expanded:(t=k(e),T[t]??!1),"onUpdate:expanded":t=>((e,t)=>{if(T[e]=t,!t){const t=c.value,a=t.findIndex((t=>k(t)===e));if(t[a]?.state.isComplete&&P.has(e)){const e=A(t,a);e&&(T[k(e)]=!0)}}})(k(e),t),onCredentialSelected:h,onCredentialDeselected:b},null,8,["state","first-trigger-name","expanded","onUpdate:expanded"]);var t})),128)),w(u)?(a(),i("div",{key:0,class:C(e.$style["complete-message"]),"data-test-id":"setup-cards-complete-message"},[E(w(le),{size:"medium",color:"text-base"},{default:F((()=>[n(g(w(o).baseText("setupPanel.everythingConfigured.message")),1)])),_:1})],2)):_("",!0)],2))],2))}}),Ya=ye(Xa,[["__cssModules",{$style:{container:"_container_cicgv_125","card-list":"_card-list_cicgv_126","empty-state":"_empty-state_cicgv_134","empty-text":"_empty-text_cicgv_144","complete-message":"_complete-message_cicgv_150"}}]]),Qa=ye(v({__name:"SetupPanel",setup(e){const t=R(),o=r(!0);return(e,s)=>(a(),i("div",{class:C(e.$style.container),"data-test-id":"setup-panel-container"},[l("div",{class:C(e.$style.content),"data-test-id":"setup-panel-cards"},[E(Ya,{"show-completed":o.value},null,8,["show-completed"])],2),l("footer",{class:C(e.$style.footer),"data-test-id":"setup-panel-footer"},[E(w(le),{class:C(e.$style["toggle-label"]),tag:"label",size:"small"},{default:F((()=>[E(w(ve),{modelValue:o.value,"onUpdate:modelValue":s[0]||(s[0]=e=>o.value=e),size:"small"},null,8,["modelValue"]),n(" "+g(w(t).baseText("setupPanel.showCompleted")),1)])),_:1},8,["class"])],2)],2))}}),[["__cssModules",{$style:{container:"_container_3n09a_125",content:"_content_3n09a_136",footer:"_footer_3n09a_146","toggle-label":"_toggle-label_3n09a_156"}}]]),Ja=v({__name:"ExperimentalNodeDetailsDrawer",props:{node:{},nodeIds:{},isReadOnly:{type:Boolean}},emits:["openNdv","contextMenuAction"],setup(e,{emit:t}){const o=t,s=Ca(y((()=>e.node))),d=Ia(y((()=>e.nodeIds))),c=Ye(),u=r(0),p=y((()=>[e.node.id,u.value].join("|")));return j((()=>c.activeNodeName),((e,t)=>{null===e&&null!==t&&(u.value+=1)})),D(kt,s),(t,s)=>(a(),i("div",{class:C(t.$style.component)},[e.nodeIds.length>1?(a(),B(w(le),{key:0,tag:"div",color:"text-base",class:C(t.$style.multipleNodes)},{default:F((()=>[l("div",null,g(e.nodeIds.length)+" nodes selected",1),l("ul",{class:C(t.$style.multipleNodesActions)},[(a(!0),i(N,null,S(w(d),(s=>(a(),i("li",{key:s.id,class:C(t.$style.multipleNodesAction)},[E(w(ne),{variant:"subtle",disabled:s.disabled,onClick:t=>o("contextMenuAction",s.id,e.nodeIds)},{default:F((()=>[n(g(s.label)+" ",1),s.shortcut?(a(),B(w(oe),h({key:0,ref_for:!0},s.shortcut),null,16)):_("",!0)])),_:2},1032,["disabled","onClick"])],2)))),128))],2)])),_:1},8,["class"])):e.node?(a(),B(Na,{key:p.value,"node-id":e.node.id,"is-read-only":e.isReadOnly},null,8,["node-id","is-read-only"])):_("",!0)],2))}}),Za=ye(Ja,[["__cssModules",{$style:{component:"_component_1ef46_125",multipleNodes:"_multipleNodes_1ef46_130",multipleNodesActions:"_multipleNodesActions_1ef46_140",multipleNodesAction:"_multipleNodesAction_1ef46_140"}}]]),en=v({__name:"ExperimentalFocusPanelHeader",props:{node:{},parameter: