@next-bricks/visual-builder 0.4.5 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (51) hide show
  1. package/dist/bricks.json +2 -1
  2. package/dist/chunks/5023.3c0053fa.js +3 -0
  3. package/dist/chunks/5023.3c0053fa.js.map +1 -0
  4. package/dist/chunks/7782.9640dc3a.js +2 -0
  5. package/dist/chunks/7782.9640dc3a.js.map +1 -0
  6. package/dist/chunks/8713.e344acc4.js +2 -0
  7. package/dist/chunks/8713.e344acc4.js.map +1 -0
  8. package/dist/chunks/9129.6ab18dc3.js +2 -0
  9. package/dist/chunks/9129.6ab18dc3.js.map +1 -0
  10. package/dist/chunks/9194.79688d4f.js +2 -0
  11. package/dist/chunks/9194.79688d4f.js.map +1 -0
  12. package/dist/chunks/collect-used-contracts.5104be3b.js +2 -0
  13. package/dist/chunks/collect-used-contracts.5104be3b.js.map +1 -0
  14. package/dist/chunks/main.0942021e.js +2 -0
  15. package/dist/chunks/main.0942021e.js.map +1 -0
  16. package/dist/chunks/{workbench-action-list.24cb947e.js → workbench-action-list.5c96c4c9.js} +2 -2
  17. package/dist/chunks/{workbench-action-list.24cb947e.js.map → workbench-action-list.5c96c4c9.js.map} +1 -1
  18. package/dist/chunks/{workbench-action.c1ae9dbe.js → workbench-action.05b6554b.js} +3 -3
  19. package/dist/chunks/{workbench-action.c1ae9dbe.js.map → workbench-action.05b6554b.js.map} +1 -1
  20. package/dist/chunks/{workbench-pane.ea92ccb3.js → workbench-pane.554c5f72.js} +3 -3
  21. package/dist/chunks/{workbench-pane.ea92ccb3.js.map → workbench-pane.554c5f72.js.map} +1 -1
  22. package/dist/chunks/{workbench-sidebar.7ad17f14.js → workbench-sidebar.d63ed544.js} +2 -2
  23. package/dist/chunks/{workbench-sidebar.7ad17f14.js.map → workbench-sidebar.d63ed544.js.map} +1 -1
  24. package/dist/chunks/workbench-tree.5b1dd48c.js +3 -0
  25. package/dist/chunks/workbench-tree.5b1dd48c.js.LICENSE.txt +5 -0
  26. package/dist/chunks/workbench-tree.5b1dd48c.js.map +1 -0
  27. package/dist/index.a9794236.js +2 -0
  28. package/dist/index.a9794236.js.map +1 -0
  29. package/dist/manifest.json +3 -0
  30. package/dist/types.json +24 -0
  31. package/dist-types/bootstrap.d.ts +1 -0
  32. package/dist-types/data-providers/collect-used-contracts.d.ts +2 -0
  33. package/dist-types/data-providers/collect-used-contracts.spec.d.ts +1 -0
  34. package/package.json +2 -2
  35. package/dist/chunks/2604.e7ed75dd.js +0 -2
  36. package/dist/chunks/2604.e7ed75dd.js.map +0 -1
  37. package/dist/chunks/3908.4ff19507.js +0 -3
  38. package/dist/chunks/3908.4ff19507.js.map +0 -1
  39. package/dist/chunks/7782.41f41da9.js +0 -2
  40. package/dist/chunks/7782.41f41da9.js.map +0 -1
  41. package/dist/chunks/9194.e1287a0a.js +0 -2
  42. package/dist/chunks/9194.e1287a0a.js.map +0 -1
  43. package/dist/chunks/main.7fe2a8af.js +0 -2
  44. package/dist/chunks/main.7fe2a8af.js.map +0 -1
  45. package/dist/chunks/workbench-tree.d1fd35fd.js +0 -2
  46. package/dist/chunks/workbench-tree.d1fd35fd.js.map +0 -1
  47. package/dist/index.8f9e48c0.js +0 -2
  48. package/dist/index.8f9e48c0.js.map +0 -1
  49. /package/dist/chunks/{3908.4ff19507.js.LICENSE.txt → 5023.3c0053fa.js.LICENSE.txt} +0 -0
  50. /package/dist/chunks/{workbench-action.c1ae9dbe.js.LICENSE.txt → workbench-action.05b6554b.js.LICENSE.txt} +0 -0
  51. /package/dist/chunks/{workbench-pane.ea92ccb3.js.LICENSE.txt → workbench-pane.554c5f72.js.LICENSE.txt} +0 -0
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_visual_builder=self.webpackChunk_next_bricks_visual_builder||[]).push([[8713],{8713:(e,t,a)=>{a.r(t);var i,r,n,s,o,l,c,h,d,u,p,v,b,w,g,f,Z,m,k=a(3395),y=a(1815),x=a(381),M=a(687),E=a(2604),W=a(8657),N=a.n(W),D=a(2061),S=a(8978),T=a(8249),A=a(8453),L=a(2779),B=a.n(L),C=(0,S.wrapBrick)("icons.general-icon"),{defineElement:F,property:P,event:I}=(0,D.createDecorators)();r=F("visual-builder.workbench-pane",{styleTexts:[T.Z,A.Z]}),n=P(),o=P({type:Boolean}),c=P({type:Number}),d=I({type:"active.change"}),b=I({type:"active.firstActivated"});var K=new WeakMap,R=new WeakMap,_=new WeakMap,z=new WeakMap,H=new WeakMap,O=new WeakMap,j=new WeakMap,$=new WeakMap,q=new WeakMap;class U extends S.ReactNextElement{constructor(){super(...arguments),(0,k.Z)(this,$,{get:J,set:G}),(0,k.Z)(this,H,{get:Y,set:X}),(0,k.Z)(this,K,{writable:!0,value:(Z(this),s(this))}),(0,k.Z)(this,R,{writable:!0,value:l(this)}),(0,k.Z)(this,_,{writable:!0,value:h(this)}),(0,k.Z)(this,z,{writable:!0,value:u(this)}),(0,k.Z)(this,O,{writable:!0,value:e=>{e!==this.active&&(this.active=e,(0,M.Z)(this,H).emit(e))}}),(0,k.Z)(this,j,{writable:!0,value:w(this)}),(0,k.Z)(this,q,{writable:!0,value:()=>{(0,M.Z)(this,$).emit()}})}get titleLabel(){return(0,M.Z)(this,K)}set titleLabel(e){(0,x.Z)(this,K,e)}get active(){return(0,M.Z)(this,R)}set active(e){(0,x.Z)(this,R,e)}get badge(){return(0,M.Z)(this,_)}set badge(e){(0,x.Z)(this,_,e)}render(){return N().createElement(Q,{titleLabel:this.titleLabel,active:this.active,badge:this.badge,onActiveChange:(0,M.Z)(this,O),onFirstActivated:(0,M.Z)(this,q)})}}function X(e){v(this,e)}function Y(){return p(this)}function G(e){f(this,e)}function J(){return g(this)}function Q(e){var{titleLabel:t,active:a,badge:i,onActiveChange:r,onFirstActivated:n}=e,[s,o]=(0,W.useState)(a),[l,c]=(0,W.useState)(!1);(0,W.useEffect)((()=>{o(a)}),[a]),(0,W.useEffect)((()=>{null==r||r(s)}),[s,r]);var h=(0,W.useCallback)((()=>{o((e=>!e)),l||s||(c(!0),null==n||n())}),[l,s,n]),d=(0,W.useRef)(),[u,p]=(0,W.useState)(!1),v=(0,W.useMemo)((()=>{return e=()=>{p(d.current.scrollTop>0)},function(){for(var a=arguments.length,i=new Array(a),r=0;r<a;r++)i[r]=arguments[r];t&&cancelAnimationFrame(t),t=requestAnimationFrame((()=>{e(...i)}))};var e,t}),[]);return N().createElement("div",{className:B()("pane",{scrolled:u})},N().createElement("div",{className:"pane-header",tabIndex:0,onClick:h},N().createElement("div",{className:"pane-title"},N().createElement("span",{className:"title-icon"},s?N().createElement(C,{lib:"antd",theme:"outlined",icon:"down"}):N().createElement(C,{lib:"antd",theme:"outlined",icon:"right"})),N().createElement("div",{className:"title-label"},t),N().createElement("slot",{name:"title"})),N().createElement("slot",{name:"actions"}),i&&N().createElement("div",{className:"badge"},i),N().createElement("div",{className:"pane-scroll-shadow"})),N().createElement("div",{className:"pane-body custom-scrollbar-container",onScroll:v,ref:d},N().createElement("slot",null,N().createElement("div",{style:{padding:"10px 20px",color:"var(--text-color-secondary)"}},"No content"))))}({e:[s,l,h,u,p,v,w,g,f,Z],c:[m,i]}=(0,E.Z)(U,[[n,1,"titleLabel"],[o,1,"active"],[c,1,"badge"],[d,1,"activeChangeEvent",e=>(0,M.Z)(e,z),(e,t)=>(0,x.Z)(e,z,t)],[b,1,"activeFirstActivatedEvent",e=>(0,M.Z)(e,j),(e,t)=>(0,x.Z)(e,j,t)]],[r],0,(e=>q.has((0,y.Z)(e))))),i();var V,ee,te,ae,ie,re,ne=a(6666),se=a(3571),{defineElement:oe,property:le}=(0,D.createDecorators)();ee=oe("visual-builder.workbench-sidebar",{styleTexts:[se.Z]}),te=le();var ce=new WeakMap,he=new WeakMap,de=new WeakMap,ue=new WeakMap;class pe extends S.ReactNextElement{constructor(){super(...arguments),(0,k.Z)(this,ce,{writable:!0,value:(ie(this),ae(this))}),(0,k.Z)(this,he,{writable:!0,value:()=>{var e;return null===(e=this.shadowRoot)||void 0===e?void 0:e.querySelector("slot:not([name])")}}),(0,k.Z)(this,de,{writable:!0,value:()=>{var e=(0,M.Z)(this,he).call(this).assignedNodes();for(var t of e){var a;t.active?t.style.flex=String(null!==(a=t.activeFlex)&&void 0!==a?a:"1"):t.style.flex="initial"}}}),(0,k.Z)(this,ue,{writable:!0,value:e=>{var t=e.target.assignedNodes();for(var a of t)a.addEventListener("active.change",(0,M.Z)(this,de))}}),(0,ne.Z)(this,"refCallback",(()=>{(0,M.Z)(this,de).call(this);var e=(0,M.Z)(this,he).call(this);null==e||e.addEventListener("slotchange",(e=>{(0,M.Z)(this,ue).call(this,e)}))}))}get titleLabel(){return(0,M.Z)(this,ce)}set titleLabel(e){(0,x.Z)(this,ce,e)}render(){return N().createElement(ve,{titleLabel:this.titleLabel,refCallback:this.refCallback})}}function ve(e){var{titleLabel:t,refCallback:a}=e;return N().createElement("div",{className:"sidebar",ref:a},N().createElement("div",{className:"title-container"},N().createElement("div",{className:"title-label"},t),N().createElement("slot",{name:"titleToolbar"})),N().createElement("div",{className:"pane-container"},N().createElement("slot",null)))}({e:[ae,ie],c:[re,V]}=(0,E.Z)(pe,[[te,1,"titleLabel"]],[ee])),V();var be,we,ge,fe,Ze,me,ke,ye,xe,Me,Ee,We,Ne,De,Se=a(7310),{defineElement:Te,property:Ae}=(0,D.createDecorators)(),Le=(0,S.wrapBrick)("basic.general-link"),Be=(0,S.wrapBrick)("icons.general-icon");we=Te("visual-builder.workbench-action",{styleTexts:[Se.Z]}),ge=Ae({attribute:!1}),Ze=Ae(),ke=Ae({type:Boolean}),xe=Ae(),Ee=Ae();var Ce=new WeakMap,Fe=new WeakMap,Pe=new WeakMap,Ie=new WeakMap,Ke=new WeakMap;class Re extends S.ReactNextElement{constructor(){super(...arguments),(0,k.Z)(this,Ce,{writable:!0,value:(Ne(this),fe(this))}),(0,k.Z)(this,Fe,{writable:!0,value:me(this)}),(0,k.Z)(this,Pe,{writable:!0,value:ye(this)}),(0,k.Z)(this,Ie,{writable:!0,value:Me(this)}),(0,k.Z)(this,Ke,{writable:!0,value:We(this)})}get icon(){return(0,M.Z)(this,Ce)}set icon(e){(0,x.Z)(this,Ce,e)}get to(){return(0,M.Z)(this,Fe)}set to(e){(0,x.Z)(this,Fe,e)}get active(){return(0,M.Z)(this,Pe)}set active(e){(0,x.Z)(this,Pe,e)}get href(){return(0,M.Z)(this,Ie)}set href(e){(0,x.Z)(this,Ie,e)}get target(){return(0,M.Z)(this,Ke)}set target(e){(0,x.Z)(this,Ke,e)}render(){return N().createElement(_e,{to:this.to,icon:this.icon,active:this.active,href:this.href,target:this.target})}}function _e(e){var{icon:t,to:a,active:i,href:r,target:n}=e;return N().createElement(Le,{className:B()("action",{active:i}),url:a,href:r,target:n},N().createElement(Be,t))}({e:[fe,me,ye,Me,We,Ne],c:[De,be]}=(0,E.Z)(Re,[[ge,1,"icon"],[Ze,1,"to"],[ke,1,"active"],[xe,1,"href"],[Ee,1,"target"]],[we])),be();var ze=a(7717),He=a(8353);function Oe(e,t,a,i){var r=[],n=[],s=0;return e.forEach((e=>{if(e.key=""===i?"".concat(s):"".concat(i,".").concat(s),function(e){return"group"===e.type}(e)||function(e){return"subMenu"===e.type}(e)){var o=Oe(e.items,t,a,e.key);r.push(...o.selectedKeys),(o.selectedKeys.length||e.defaultExpanded)&&n.push(e.key),n.push(...o.openedKeys)}else(function(e,t,a){if(!e.to)return!1;var i="object"==typeof e.to?e.to:(0,He.parsePath)(e.to),r=i.pathname.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1"),n=!!(0,ze.matchPath)(t,{path:r,exact:e.exact});if(!n&&Array.isArray(e.activeIncludes))for(var s of e.activeIncludes){var o,l=void 0,c=s.includes("?");if(c&&(l=(0,He.parsePath)(s)),(n=!!(0,ze.matchPath)(t,{path:c?l.pathname:s,exact:!0}))&&null!==(o=l)&&void 0!==o&&o.search&&(n=je(a,l.search)),n)break}if(n&&Array.isArray(e.activeExcludes))for(var h of e.activeExcludes)if(!(n=!(0,ze.matchPath)(t,{path:h,exact:!0})))break;return n&&e.activeMatchSearch&&(n=je(a,i.search)),n})(e,t,a)&&r.push(String(e.key));s+=1})),r.length&&""!==i&&n.push(i),{selectedKeys:r,openedKeys:n}}function je(e,t){var a=new URLSearchParams(e),i=new URLSearchParams(t);for(var[r,n]of i.entries())if(a.get(r)!==n)return!1;return!0}var $e,qe,Ue,Xe,Ye,Ge,Je,Qe,Ve=a(8799),et=(0,S.wrapBrick)("visual-builder.workbench-action"),{defineElement:tt,property:at}=(0,D.createDecorators)();qe=tt("visual-builder.workbench-action-list",{styleTexts:[Ve.Z]}),Ue=at(),Ye=at({attribute:!1});var it,rt=new WeakMap,nt=new WeakMap;class st extends S.ReactNextElement{constructor(){super(...arguments),(0,k.Z)(this,rt,{writable:!0,value:(Je(this),Xe(this))}),(0,k.Z)(this,nt,{writable:!0,value:Ge(this)})}get appId(){return(0,M.Z)(this,rt)}set appId(e){(0,x.Z)(this,rt,e)}get menu(){return(0,M.Z)(this,nt)}set menu(e){(0,x.Z)(this,nt,e)}render(){return N().createElement(lt,{appId:this.appId,menu:this.menu})}}({e:[Xe,Ge,Je],c:[Qe,$e]}=(0,E.Z)(st,[[Ue,1,"appId"],[Ye,1,"menu"]],[qe])),$e();var ot=new Map;function lt(e){var t,{appId:a,menu:i}=e,r=(0,ze.getHistory)(),[n,s]=(0,W.useState)(),[o,l]=(0,W.useState)(r.location);return(0,W.useEffect)((()=>{var e=r.listen((e=>{l(e)}));return e}),[r]),(0,W.useEffect)((()=>{it||(it=a),it!==a&&(ot.clear(),it=a)}),[a]),(0,W.useEffect)((()=>{var e,{pathname:t,search:a}=o,{selectedKeys:r}=Oe(null!==(e=null==i?void 0:i.menuItems)&&void 0!==e?e:[],t,a,"");s(Number(r[0]))}),[i,o]),N().createElement("div",{className:"workBenchActionList"},null==i||null===(t=i.menuItems)||void 0===t?void 0:t.map(((e,t)=>{if("default"===e.type){var a=e.to;return n!==t&&ot.has(t)&&(a=ot.get(t)),N().createElement(et,{key:t,icon:e.icon,to:a,href:e.href,target:e.target,active:n===t,onClick:()=>(e=>{e.href||ot.set(n,"".concat(o.pathname).concat(o.search))})(e)})}})).filter(Boolean))}var ct,ht,dt,ut,pt,vt,bt,wt,gt,ft,Zt,mt,kt,yt,xt,Mt,Et,Wt,Nt,Dt,St,Tt,At,Lt,Bt,Ct,Ft,Pt,It,Kt,Rt,_t,zt,Ht,Ot,jt,$t,qt,Ut,Xt,Yt,Gt,Jt,Qt,Vt,ea,ta,aa,ia,ra,na,sa,oa,la,ca,ha,da,ua,pa,va=a(5178),ba=a(8902),wa=a(9114),ga=a(4203),fa=a(9156),Za=a(89),ma=a(1674);function ka(e){return e.key}a(5254);var ya,{defineElement:xa,property:Ma,event:Ea}=(0,D.createDecorators)();ht=xa("visual-builder.workbench-tree",{styleTexts:[Za.Z,ma.Z]}),dt=Ma({attribute:!1}),pt=Ma({attribute:!1}),bt=Ma({type:Boolean}),gt=Ma(),Zt=Ma({type:Boolean}),kt=Ma(),xt=Ma({type:Boolean}),Et=Ma({attribute:!1}),Nt=Ma({type:Boolean}),St=Ma({attribute:!1}),At=Ma({attribute:!1}),Bt=Ma({type:Boolean}),Ft=Ma({attribute:!1}),It=Ma({type:Boolean}),Rt=Ma({type:Boolean}),zt=Ma({type:Boolean}),Ot=Ma({type:String}),$t=Ma({type:Boolean}),Ut=Ea({type:"action.click"}),Jt=Ea({type:"node.click"}),ta=Ea({type:"node.drop"}),na=Ea({type:"context.menu"}),ca=Ea({type:"node.toggle"});var Wa=new WeakMap,Na=new WeakMap,Da=new WeakMap,Sa=new WeakMap,Ta=new WeakMap,Aa=new WeakMap,La=new WeakMap,Ba=new WeakMap,Ca=new WeakMap,Fa=new WeakMap,Pa=new WeakMap,Ia=new WeakMap,Ka=new WeakMap,Ra=new WeakMap,_a=new WeakMap,za=new WeakMap,Ha=new WeakMap,Oa=new WeakMap,ja=new WeakMap,$a=new WeakMap,qa=new WeakMap,Ua=new WeakMap,Xa=new WeakMap,Ya=new WeakMap,Ga=new WeakMap,Ja=new WeakMap,Qa=new WeakMap,Va=new WeakMap,ei=new WeakMap,ti=new WeakMap,ai=new WeakMap,ii=new WeakMap,ri=new WeakMap;class ni extends S.ReactNextElement{constructor(){super(...arguments),(0,k.Z)(this,ii,{get:bi,set:vi}),(0,k.Z)(this,ei,{get:pi,set:ui}),(0,k.Z)(this,Ja,{get:di,set:hi}),(0,k.Z)(this,Xa,{get:ci,set:li}),(0,k.Z)(this,$a,{get:oi,set:si}),(0,k.Z)(this,Wa,{writable:!0,value:(pa(this),ut(this))}),(0,k.Z)(this,Na,{writable:!0,value:vt(this)}),(0,k.Z)(this,Da,{writable:!0,value:wt(this)}),(0,k.Z)(this,Sa,{writable:!0,value:ft(this)}),(0,k.Z)(this,Ta,{writable:!0,value:mt(this)}),(0,k.Z)(this,Aa,{writable:!0,value:yt(this)}),(0,k.Z)(this,La,{writable:!0,value:Mt(this)}),(0,k.Z)(this,Ba,{writable:!0,value:Wt(this)}),(0,k.Z)(this,Ca,{writable:!0,value:Dt(this)}),(0,k.Z)(this,Fa,{writable:!0,value:Tt(this)}),(0,k.Z)(this,Pa,{writable:!0,value:Lt(this)}),(0,k.Z)(this,Ia,{writable:!0,value:Ct(this)}),(0,k.Z)(this,Ka,{writable:!0,value:Pt(this)}),(0,k.Z)(this,Ra,{writable:!0,value:Kt(this)}),(0,k.Z)(this,_a,{writable:!0,value:_t(this)}),(0,k.Z)(this,za,{writable:!0,value:Ht(this)}),(0,k.Z)(this,Ha,{writable:!0,value:jt(this)}),(0,k.Z)(this,Oa,{writable:!0,value:qt(this)}),(0,k.Z)(this,ja,{writable:!0,value:Xt(this)}),(0,k.Z)(this,qa,{writable:!0,value:e=>{(0,M.Z)(this,$a).emit(e)}}),(0,k.Z)(this,Ua,{writable:!0,value:Qt(this)}),(0,k.Z)(this,Ya,{writable:!0,value:e=>()=>{(0,M.Z)(this,Xa).emit(e.data)}}),(0,k.Z)(this,Ga,{writable:!0,value:aa(this)}),(0,k.Z)(this,Qa,{writable:!0,value:e=>{(0,M.Z)(this,Ja).emit(e)}}),(0,k.Z)(this,Va,{writable:!0,value:sa(this)}),(0,k.Z)(this,ti,{writable:!0,value:e=>t=>{t.preventDefault(),(0,M.Z)(this,ei).emit({active:!0,node:null==e?void 0:e.data,x:t.clientX,y:t.clientY})}}),(0,k.Z)(this,ai,{writable:!0,value:ha(this)}),(0,k.Z)(this,ri,{writable:!0,value:(e,t)=>{(0,M.Z)(this,ii).emit({nodeId:e,collapsed:t})}})}get nodes(){return(0,M.Z)(this,Wa)}set nodes(e){(0,x.Z)(this,Wa,e)}get actions(){return(0,M.Z)(this,Na)}set actions(e){(0,x.Z)(this,Na,e)}get actionsHidden(){return(0,M.Z)(this,Da)}set actionsHidden(e){(0,x.Z)(this,Da,e)}get placeholder(){return(0,M.Z)(this,Sa)}set placeholder(e){(0,x.Z)(this,Sa,e)}get isTransformName(){return(0,M.Z)(this,Ta)}set isTransformName(e){(0,x.Z)(this,Ta,e)}get searchPlaceholder(){return(0,M.Z)(this,Aa)}set searchPlaceholder(e){(0,x.Z)(this,Aa,e)}get noSearch(){return(0,M.Z)(this,La)}set noSearch(e){(0,x.Z)(this,La,e)}get activeKey(){return(0,M.Z)(this,Ba)}set activeKey(e){(0,x.Z)(this,Ba,e)}get showMatchedNodeOnly(){return(0,M.Z)(this,Ca)}set showMatchedNodeOnly(e){(0,x.Z)(this,Ca,e)}get matchNodeDataFields(){return(0,M.Z)(this,Fa)}set matchNodeDataFields(e){(0,x.Z)(this,Fa,e)}get fixedActionsFor(){return(0,M.Z)(this,Pa)}set fixedActionsFor(e){(0,x.Z)(this,Pa,e)}get collapsible(){return(0,M.Z)(this,Ia)}set collapsible(e){(0,x.Z)(this,Ia,e)}get collapsedNodes(){return(0,M.Z)(this,Ka)}set collapsedNodes(e){(0,x.Z)(this,Ka,e)}get allowDrag(){return(0,M.Z)(this,Ra)}set allowDrag(e){(0,x.Z)(this,Ra,e)}get allowDragToRoot(){return(0,M.Z)(this,_a)}set allowDragToRoot(e){(0,x.Z)(this,_a,e)}get allowDragToInside(){return(0,M.Z)(this,za)}set allowDragToInside(e){(0,x.Z)(this,za,e)}get nodeKey(){return(0,M.Z)(this,Ha)}set nodeKey(e){(0,x.Z)(this,Ha,e)}get skipNotify(){return(0,M.Z)(this,Oa)}set skipNotify(e){(0,x.Z)(this,Oa,e)}render(){return N().createElement(ba.L.Provider,{value:{actions:this.actions,actionsHidden:this.actionsHidden,onActionClick:(0,M.Z)(this,qa)}},N().createElement(ga.f.Provider,{value:{activeKey:this.activeKey,basePaddingLeft:5,showMatchedNodeOnly:this.showMatchedNodeOnly,isTransformName:this.isTransformName,fixedActionsFor:this.fixedActionsFor,nodeKey:this.nodeKey,collapsible:this.collapsible,collapsedNodes:this.collapsedNodes,getCollapsedId:ka,onNodeToggle:(0,M.Z)(this,ri),skipNotify:this.skipNotify,clickFactory:(0,M.Z)(this,Ya),contextMenuFactory:(0,M.Z)(this,ti),matchNode:(e,t)=>{var a;return(0,fa.$)(e.name,t)||!(null===(a=this.matchNodeDataFields)||void 0===a||!a.length)&&(0,fa.$)("*"===this.matchNodeDataFields?e.data:(0,va.pick)(e.data,this.matchNodeDataFields),t)}}},N().createElement(wa.ME,{nodes:this.nodes,placeholder:this.placeholder,searchPlaceholder:this.searchPlaceholder,noSearch:this.noSearch,dropEmit:(0,M.Z)(this,Qa),allowDrag:this.allowDrag,allowDragToInside:this.allowDragToInside,allowDragToRoot:this.allowDragToRoot})))}}function si(e){Gt(this,e)}function oi(){return Yt(this)}function li(e){ea(this,e)}function ci(){return Vt(this)}function hi(e){ra(this,e)}function di(){return ia(this)}function ui(e){la(this,e)}function pi(){return oa(this)}function vi(e){ua(this,e)}function bi(){return da(this)}({e:[ut,vt,wt,ft,mt,yt,Mt,Wt,Dt,Tt,Lt,Ct,Pt,Kt,_t,Ht,jt,qt,Xt,Yt,Gt,Qt,Vt,ea,aa,ia,ra,sa,oa,la,ha,da,ua,pa],c:[ya,ct]}=(0,E.Z)(ni,[[dt,1,"nodes"],[pt,1,"actions"],[bt,1,"actionsHidden"],[gt,1,"placeholder"],[Zt,1,"isTransformName"],[kt,1,"searchPlaceholder"],[xt,1,"noSearch"],[Et,1,"activeKey"],[Nt,1,"showMatchedNodeOnly"],[St,1,"matchNodeDataFields"],[At,1,"fixedActionsFor"],[Bt,1,"collapsible"],[Ft,1,"collapsedNodes"],[It,1,"allowDrag"],[Rt,1,"allowDragToRoot"],[zt,1,"allowDragToInside"],[Ot,1,"nodeKey"],[$t,1,"skipNotify"],[Ut,1,"actionClickEvent",e=>(0,M.Z)(e,ja),(e,t)=>(0,x.Z)(e,ja,t)],[Jt,1,"nodeClickEvent",e=>(0,M.Z)(e,Ua),(e,t)=>(0,x.Z)(e,Ua,t)],[ta,1,"nodeDropEvent",e=>(0,M.Z)(e,Ga),(e,t)=>(0,x.Z)(e,Ga,t)],[na,1,"nodeContextMenuEvent",e=>(0,M.Z)(e,Va),(e,t)=>(0,x.Z)(e,Va,t)],[ca,1,"nodeToggleEvent",e=>(0,M.Z)(e,ai),(e,t)=>(0,x.Z)(e,ai,t)]],[ht],0,(e=>ri.has((0,y.Z)(e))))),ct();var wi=a(1433),gi=a(9194);customElements.define("visual-builder.inject-preview-agent",(0,wi.createProviderClass)((function(e,t){return(0,gi.Z)(e,t)})));var fi=a(6530),Zi=a(2812);customElements.define("visual-builder.collect-used-contracts",(0,wi.createProviderClass)((function(e){var t=function(e){var t=new Set;return(0,fi.f)(e,(e=>{switch(e.type){case"Resolvable":var a,i=null===(a=e.raw)||void 0===a?void 0:a.useProvider;i&&t.add(i);break;case"EventHandler":var r,n=null===(r=e.raw)||void 0===r?void 0:r.useProvider;n&&t.add(n)}})),t}((0,Zi.ud)(e)),a=[];for(var i of t)i.includes("@")&&a.push(i);return a})))},8453:(e,t,a)=>{a.d(t,{Z:()=>o});var i=a(9601),r=a.n(i),n=a(2609),s=a.n(n)()(r());s.push([e.id,".custom-scrollbar-container{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.15) rgba(255,255,255,0.03);&::-webkit-scrollbar{width:8px;height:8px;background-color:transparent;position:absolute}&::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,0);border-radius:4px}&:hover{&::-webkit-scrollbar-track{background-color:rgba(255,255,255,0.03)}&::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,0.15)}}}",""]);const o=s.toString()},8799:(e,t,a)=>{a.d(t,{Z:()=>o});var i=a(9601),r=a.n(i),n=a(2609),s=a.n(n)()(r());s.push([e.id,'.workBenchActionList{display:flex;flex-direction:column;width:-webkit-min-content;width:-moz-min-content;width:min-content;height:100%;background-color:#4297ff}:host-context(html[data-theme="dark-v2"]) .workBenchActionList,\n:host-context([data-override-theme="dark-v2"]) .workBenchActionList{background-color:#323237}',""]);const o=s.toString()},7310:(e,t,a)=>{a.d(t,{Z:()=>o});var i=a(9601),r=a.n(i),n=a(2609),s=a.n(n)()(r());s.push([e.id,'.action::part(link){display:flex;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;color:rgba(255,255,255,0.4);position:relative;transition:none}.action.active::part(link)::before{content:"";position:absolute;top:0;bottom:0;left:0;width:2px;background-color:white}.action.active::part(link),\n.action::part(link):hover{color:white}',""]);const o=s.toString()},8249:(e,t,a)=>{a.d(t,{Z:()=>o});var i=a(9601),r=a.n(i),n=a(2609),s=a.n(n)()(r());s.push([e.id,':host{display:block;--pane-color:#595959}:host-context(html[data-theme="dark-v2"]),\n:host-context([data-override-theme="dark-v2"]){--pane-color:#ccc}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.pane{display:flex;flex-direction:column;color:var(--pane-color);height:100%}.pane-header{display:flex;align-items:center;cursor:pointer;border-top:1px solid transparent;position:relative}.pane-header:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:#007fd4}:host(:not(:first-child)) .pane-header{border-top-color:rgba(204,204,204,0.2)}.pane-scroll-shadow{display:none;position:absolute;bottom:-3px;left:0;right:0;height:3px;box-shadow:#000000 0 6px 6px -6px inset;z-index:1}.scrolled .pane-scroll-shadow{display:block}.pane-title{display:flex;align-items:center;font-size:13px;line-height:24px;height:25px;min-width:0;flex:1}.title-icon{display:flex;justify-content:center;align-items:center;width:24px;padding-right:2px;line-height:1;flex-shrink:0}.title-label{text-transform:uppercase;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-body{flex-grow:1;min-height:0;display:none;overflow:hidden;overflow-y:auto;overflow-y:overlay}:host([active]) .pane-body{display:initial}:host(:not(:hover)) ::slotted([slot="actions"]){display:none}.badge{background-color:rgb(77,77,77);color:rgb(255,255,255);border-radius:11px;height:18px;padding:3px 6px;line-height:13px;margin:0 3px;font-size:12px}',""]);const o=s.toString()},3571:(e,t,a)=>{a.d(t,{Z:()=>o});var i=a(9601),r=a.n(i),n=a(2609),s=a.n(n)()(r());s.push([e.id,':host{--sidebar-background:#fff;--title-container-background:#fff;--title-container-color:#595959;display:block;outline-color:rgba(83,89,93,0.5);background-color:var(--sidebar-background);height:100%}:host-context(html[data-theme="dark-v2"]),\n:host-context([data-override-theme="dark-v2"]){--sidebar-background:#181818;--title-container-background:#181818;--title-container-color:rgb(187,187,187);background-color:var(--sidebar-background)}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.sidebar{display:flex;flex-direction:column;height:100%}.title-container{display:flex;padding:0 8px 8px 8px;color:var(--title-container-color);background:var(--title-container-background)}.title-label{font-weight:300;line-height:44px;padding-left:12px;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-container{flex-grow:1;min-height:0;display:flex;flex-direction:column}::slotted([slot="panes"]){transition:flex 0.2s;min-height:25px}',""]);const o=s.toString()}}]);
2
+ //# sourceMappingURL=8713.e344acc4.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/8713.e344acc4.js","mappings":"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","sources":["webpack:///./src/workbench-pane/index.tsx","webpack:///./src/shared/debounceByAnimationFrame.ts","webpack:///./src/workbench-sidebar/index.tsx","webpack:///./src/workbench-action/index.tsx","webpack:///../../src/menu.ts","webpack:///./src/workbench-action-list/index.tsx","webpack:///./src/workbench-tree/index.tsx","webpack:///./src/data-providers/inject-preview-agent.ts","webpack:///./src/data-providers/collect-used-contracts.ts","webpack:///./src/shared/scrollbar.shadow.css","webpack:///./src/workbench-action-list/workbench-action-list.shadow.css","webpack:///./src/workbench-action/workbench-action.shadow.css","webpack:///./src/workbench-pane/workbench-pane.shadow.css","webpack:///./src/workbench-sidebar/workbench-sidebar.shadow.css"],"sourcesContent":["import React, {\n useEffect,\n useRef,\n useState,\n useCallback,\n useMemo,\n} from \"react\";\nimport { createDecorators, EventEmitter } from \"@next-core/element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport styleText from \"./workbench-pane.shadow.css\";\nimport sharedStyle from \"../shared/scrollbar.shadow.css\";\nimport { debounceByAnimationFrame } from \"../shared/debounceByAnimationFrame.js\";\nimport classNames from \"classnames\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"icons.general-icon\"\n);\n\nconst { defineElement, property, event } = createDecorators();\n\nexport interface WorkbenchPaneProps {\n titleLabel?: string;\n active?: boolean;\n badge?: number;\n onActiveChange?(active: boolean): void;\n onFirstActivated?(): void;\n}\n\n@defineElement(\"visual-builder.workbench-pane\", {\n styleTexts: [styleText, sharedStyle],\n})\nclass WorkbenchPane extends ReactNextElement {\n @property() accessor titleLabel: string | undefined;\n\n @property({ type: Boolean }) accessor active: boolean | undefined;\n\n @property({ type: Number }) accessor badge: number | undefined;\n\n @event({ type: \"active.change\" })\n accessor #activeChangeEvent: EventEmitter<boolean>;\n #handleActiveChange = (active: boolean): void => {\n if (active !== this.active) {\n this.active = active;\n this.#activeChangeEvent.emit(active);\n }\n };\n\n @event({ type: \"active.firstActivated\" })\n accessor #activeFirstActivatedEvent: EventEmitter<void>;\n\n #handleActiveFirstActivated = (): void => {\n this.#activeFirstActivatedEvent.emit();\n };\n\n render() {\n return (\n <WorkbenchPaneComponent\n titleLabel={this.titleLabel}\n active={this.active}\n badge={this.badge}\n onActiveChange={this.#handleActiveChange}\n onFirstActivated={this.#handleActiveFirstActivated}\n />\n );\n }\n}\n\nfunction WorkbenchPaneComponent({\n titleLabel,\n active,\n badge,\n onActiveChange,\n onFirstActivated,\n}: WorkbenchPaneProps) {\n const [internalActive, setInternalActive] = useState<boolean>(active);\n const [activatedOnce, setActivatedOnce] = useState(false);\n\n useEffect(() => {\n setInternalActive(active);\n }, [active]);\n\n useEffect(() => {\n onActiveChange?.(internalActive);\n }, [internalActive, onActiveChange]);\n\n const handleClick = useCallback(() => {\n setInternalActive((previousActive) => !previousActive);\n if (!activatedOnce && !internalActive) {\n setActivatedOnce(true);\n onFirstActivated?.();\n }\n }, [activatedOnce, internalActive, onFirstActivated]);\n\n const scrollBodyRef = useRef<HTMLDivElement>();\n\n const [scrolled, setScrolled] = useState(false);\n\n const handleScroll = useMemo(\n () =>\n debounceByAnimationFrame((): void => {\n setScrolled(scrollBodyRef.current.scrollTop > 0);\n }),\n []\n );\n\n return (\n <div\n className={classNames(\"pane\", {\n scrolled,\n })}\n >\n <div className=\"pane-header\" tabIndex={0} onClick={handleClick}>\n <div className=\"pane-title\">\n <span className=\"title-icon\">\n {internalActive ? (\n <WrappedIcon lib=\"antd\" theme=\"outlined\" icon=\"down\" />\n ) : (\n <WrappedIcon lib=\"antd\" theme=\"outlined\" icon=\"right\" />\n )}\n </span>\n <div className=\"title-label\">{titleLabel}</div>\n <slot name=\"title\" />\n </div>\n <slot name=\"actions\" />\n {badge && <div className=\"badge\">{badge}</div>}\n <div className=\"pane-scroll-shadow\"></div>\n </div>\n <div\n className=\"pane-body custom-scrollbar-container\"\n onScroll={handleScroll}\n ref={scrollBodyRef}\n >\n <slot>\n <div\n style={{\n padding: \"10px 20px\",\n color: \"var(--text-color-secondary)\",\n }}\n >\n No content\n </div>\n </slot>\n </div>\n </div>\n );\n}\n\nexport { WorkbenchPane };\n","export type SimpleFunction<P extends unknown[] = unknown[], R = unknown> = (\n ...args: P\n) => R;\n\n// The debounce function receives our function as a parameter\nexport function debounceByAnimationFrame<P extends unknown[]>(\n fn: SimpleFunction<P, void>\n): SimpleFunction<P, void> {\n // This holds the requestAnimationFrame reference, so we can cancel it if we wish\n let frame: number;\n\n // The debounce function returns a new function that can receive a variable number of arguments\n return (...params: P) => {\n // If the frame variable has been defined, clear it now, and queue for next frame\n if (frame) {\n cancelAnimationFrame(frame);\n }\n\n // Queue our function call for the next frame\n frame = requestAnimationFrame(() => {\n // Call our function and pass any params we received\n fn(...params);\n });\n };\n}\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport styleText from \"./workbench-sidebar.shadow.css\";\n\ninterface WorkbenchSidebarProps {\n titleLabel: string;\n refCallback: (element: HTMLDivElement) => void;\n}\ninterface WorkbenchSidebarChildElement extends HTMLElement {\n active?: boolean;\n activeFlex?: string;\n}\n\nconst { defineElement, property } = createDecorators();\n\n@defineElement(\"visual-builder.workbench-sidebar\", {\n styleTexts: [styleText],\n})\nclass WorkbenchSidebar extends ReactNextElement {\n @property() accessor titleLabel: string | undefined;\n\n #getPaneSlot = (): HTMLSlotElement => {\n return this.shadowRoot?.querySelector(\"slot:not([name])\");\n };\n\n #reflowPanes = (): void => {\n const slot = this.#getPaneSlot();\n const panes = slot.assignedNodes() as WorkbenchSidebarChildElement[];\n\n for (const pane of panes) {\n if (pane.active) {\n pane.style.flex = String(pane.activeFlex ?? \"1\");\n } else {\n pane.style.flex = \"initial\";\n }\n }\n };\n\n #onPanesSlotChange = (event: Event): void => {\n const slot = event.target as HTMLSlotElement;\n const panes = slot.assignedNodes();\n for (const pane of panes) {\n pane.addEventListener(\"active.change\", this.#reflowPanes);\n }\n };\n\n refCallback = () => {\n this.#reflowPanes();\n const panesSlots = this.#getPaneSlot();\n\n panesSlots?.addEventListener(\"slotchange\", (e) => {\n this.#onPanesSlotChange(e);\n });\n };\n\n render() {\n return (\n <WorkbenchSidebarComponent\n titleLabel={this.titleLabel}\n refCallback={this.refCallback}\n />\n );\n }\n}\n\nfunction WorkbenchSidebarComponent({\n titleLabel,\n refCallback,\n}: WorkbenchSidebarProps) {\n return (\n <div className=\"sidebar\" ref={refCallback}>\n <div className=\"title-container\">\n <div className=\"title-label\">{titleLabel}</div>\n <slot name=\"titleToolbar\" />\n </div>\n <div className=\"pane-container\">\n <slot />\n </div>\n </div>\n );\n}\n\nexport { WorkbenchSidebar };\n","import React from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport { GeneralIcon, GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport styleText from \"./workbench-action.shadow.css\";\nimport classNames from \"classnames\";\n\nconst { defineElement, property } = createDecorators();\n\nconst WrapLink = wrapBrick<Link, LinkProps>(\"basic.general-link\");\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"icons.general-icon\"\n);\n\nexport interface WorkbenchActionProps {\n icon?: GeneralIconProps;\n to?: string;\n target?: string;\n active?: boolean;\n href?: string;\n}\n\n@defineElement(\"visual-builder.workbench-action\", {\n styleTexts: [styleText],\n})\nclass WorkbenchAction extends ReactNextElement {\n @property({\n attribute: false,\n })\n accessor icon: GeneralIconProps | undefined;\n\n @property() accessor to: string | undefined;\n\n @property({\n type: Boolean,\n })\n accessor active: boolean | undefined;\n\n @property() accessor href: string | undefined;\n\n @property() accessor target: string | undefined;\n\n render(): React.ReactNode {\n return (\n <WorkbenchActionComponent\n to={this.to}\n icon={this.icon}\n active={this.active}\n href={this.href}\n target={this.target}\n />\n );\n }\n}\n\nfunction WorkbenchActionComponent({\n icon,\n to,\n active,\n href,\n target,\n}: WorkbenchActionProps) {\n return (\n <WrapLink\n className={classNames(\"action\", { active })}\n url={to}\n href={href}\n target={target as LinkProps[\"target\"]}\n >\n <WrappedIcon {...icon} />\n </WrapLink>\n );\n}\n\nexport { WorkbenchAction };\n","import { Location, parsePath } from \"history\";\nimport { matchPath } from \"@next-core/runtime\";\nimport type {\n SidebarMenuSimpleItem,\n SidebarMenuItem,\n SidebarMenuGroup,\n} from \"./types.js\";\n\nfunction isGroup(item: SidebarMenuItem): item is SidebarMenuGroup {\n return item.type === \"group\";\n}\n\nfunction isSubMenu(item: SidebarMenuItem): item is SidebarMenuGroup {\n return item.type === \"subMenu\";\n}\n\nexport function initMenuItemAndMatchCurrentPathKeys(\n menuItems: SidebarMenuItem[],\n pathname: string,\n search: string,\n parentCursor: string\n): {\n selectedKeys: string[];\n openedKeys: string[];\n} {\n const selectedKeys: string[] = [];\n const openedKeys: string[] = [];\n\n let cursor = 0;\n menuItems.forEach((item) => {\n // key的格式最终为0,1,2,0.1,0.2,0.1.1,0.1.2\n item.key = parentCursor === \"\" ? `${cursor}` : `${parentCursor}.${cursor}`;\n if (isGroup(item) || isSubMenu(item)) {\n const tmp = initMenuItemAndMatchCurrentPathKeys(\n item.items,\n pathname,\n search,\n item.key\n );\n selectedKeys.push(...tmp.selectedKeys);\n if (tmp.selectedKeys.length || item.defaultExpanded) {\n openedKeys.push(item.key);\n }\n openedKeys.push(...tmp.openedKeys);\n } else {\n if (matchMenuItem(item, pathname, search)) {\n selectedKeys.push(String(item.key));\n }\n }\n cursor += 1;\n });\n if (selectedKeys.length && parentCursor !== \"\") {\n openedKeys.push(parentCursor);\n }\n return {\n selectedKeys: selectedKeys,\n openedKeys: openedKeys,\n };\n}\n\nfunction getMatchOfSearch(\n currentSearch: string,\n toSearch: string | undefined\n): boolean {\n const current = new URLSearchParams(currentSearch);\n const to = new URLSearchParams(toSearch);\n for (const [key, value] of to.entries()) {\n if (current.get(key) !== value) {\n return false;\n }\n }\n return true;\n}\n\nexport function matchMenuItem(\n item: SidebarMenuSimpleItem,\n pathname: string,\n search: string\n): boolean {\n if (!item.to) return false;\n const to = typeof item.to === \"object\" ? item.to : parsePath(item.to);\n\n // Regex taken from: https://github.com/pillarjs/path-to-regexp/blob/master/index.js#L202\n const escapedPath = to.pathname!.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n\n let match = !!matchPath(pathname, {\n path: escapedPath,\n exact: item.exact,\n });\n\n if (!match && Array.isArray(item.activeIncludes)) {\n for (const include of item.activeIncludes) {\n let parseInclude: Location | undefined;\n const hasSearch = include.includes(\"?\");\n\n if (hasSearch) {\n parseInclude = parsePath(include);\n }\n match = !!matchPath(pathname, {\n path: hasSearch ? parseInclude!.pathname : include,\n exact: true,\n });\n\n if (match && parseInclude?.search) {\n match = getMatchOfSearch(search, parseInclude.search);\n }\n\n if (match) {\n break;\n }\n }\n }\n\n if (match && Array.isArray(item.activeExcludes)) {\n for (const include of item.activeExcludes) {\n match = !matchPath(pathname, {\n path: include,\n exact: true,\n });\n if (!match) {\n break;\n }\n }\n }\n\n if (match && (item as any).activeMatchSearch) {\n match = getMatchOfSearch(search, to.search);\n }\n\n return match;\n}\n","import React, { useState, useEffect } from \"react\";\nimport { createDecorators } from \"@next-core/element\";\nimport { getHistory } from \"@next-core/runtime\";\nimport {\n WorkbenchAction,\n WorkbenchActionProps,\n} from \"../workbench-action/index.js\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { initMenuItemAndMatchCurrentPathKeys } from \"@next-shared/general/menu\";\nimport {\n SidebarMenuSimpleItem,\n SidebarMenuItem,\n} from \"@next-shared/general/types\";\nimport { GeneralIconProps } from \"@next-bricks/icons/general-icon\";\nimport styleText from \"./workbench-action-list.shadow.css\";\n\nexport interface SidebarMenu {\n title?: string;\n icon?: GeneralIconProps;\n menuItems?: SidebarMenuItem[];\n}\n\nconst WrapperWorkbenchAction = wrapBrick<WorkbenchAction, WorkbenchActionProps>(\n \"visual-builder.workbench-action\"\n);\n\nconst { defineElement, property } = createDecorators();\n\ninterface WorkbenchActionListProps {\n appId?: string;\n menu: SidebarMenu;\n}\n\n@defineElement(\"visual-builder.workbench-action-list\", {\n styleTexts: [styleText],\n})\nclass WorkbenchActionList extends ReactNextElement {\n @property() accessor appId: string | undefined;\n\n @property({\n attribute: false,\n })\n accessor menu!: SidebarMenu;\n\n render(): React.ReactNode {\n return <WorkbenchActionListComponent appId={this.appId} menu={this.menu} />;\n }\n}\n\nlet currentAppId: string;\nconst historyMap = new Map<number, string>();\n\nexport function WorkbenchActionListComponent({\n appId,\n menu,\n}: WorkbenchActionListProps) {\n const history = getHistory();\n const [activeIndex, setActiveIndex] = useState<number>();\n const [location, setLocation] = useState(history.location);\n\n useEffect(() => {\n const unlisten = history.listen((location) => {\n setLocation(location);\n });\n return unlisten;\n }, [history]);\n\n useEffect(() => {\n if (!currentAppId) currentAppId = appId;\n if (currentAppId !== appId) {\n historyMap.clear();\n currentAppId = appId;\n }\n }, [appId]);\n\n useEffect(() => {\n const { pathname, search } = location;\n\n const { selectedKeys } = initMenuItemAndMatchCurrentPathKeys(\n menu?.menuItems ?? [],\n pathname,\n search,\n \"\"\n );\n setActiveIndex(Number(selectedKeys[0]));\n }, [menu, location]);\n\n const handleLinkClick = (item: SidebarMenuItem): void => {\n if ((item as SidebarMenuSimpleItem).href) return;\n historyMap.set(activeIndex, `${location.pathname}${location.search}`);\n };\n\n return (\n <div className=\"workBenchActionList\">\n {menu?.menuItems\n ?.map((item, index) => {\n if (item.type === \"default\") {\n let url = item.to;\n if (activeIndex !== index && historyMap.has(index)) {\n url = historyMap.get(index);\n }\n return (\n <WrapperWorkbenchAction\n key={index}\n icon={item.icon}\n to={url as string}\n href={item.href}\n target={item.target}\n active={activeIndex === index}\n onClick={() => handleLinkClick(item)}\n />\n );\n }\n })\n .filter(Boolean)}\n </div>\n );\n}\n\nexport { WorkbenchActionList };\n","import React from \"react\";\nimport { pick } from \"lodash\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement } from \"@next-core/react-element\";\nimport type {\n ActionClickDetail,\n WorkbenchNodeData,\n WorkbenchTreeAction,\n} from \"../interfaces.js\";\nimport { WorkbenchActionsContext } from \"../shared/workbench/WorkbenchActionsContext.js\";\nimport {\n WorkbenchTree,\n dropEmitProps,\n} from \"../shared/workbench/WorkbenchTree.js\";\nimport { WorkbenchTreeContext } from \"../shared/workbench/WorkbenchTreeContext.js\";\nimport { deepMatch } from \"../utils/deepMatch.js\";\nimport treeStyleText from \"./WorkbenchTree.shadow.css\";\nimport actionStyleText from \"../shared/workbench-mini-action-bar/WorkbenchMiniActionBar.shadow.css\";\nimport \"@next-core/theme\";\n\nfunction defaultGetCollapsedId(node: WorkbenchNodeData): string | number {\n return node.key;\n}\n\nconst { defineElement, property, event } = createDecorators();\n\n/**\n * @id next-builder.workbench-tree\n * @author steve\n * @history\n * 1.x.0: 新增构件 `next-builder.workbench-tree`\n * @docKind brick\n * @noInheritDoc\n */\n@defineElement(\"visual-builder.workbench-tree\", {\n styleTexts: [treeStyleText, actionStyleText],\n})\nclass WorkbenchTreeElement extends ReactNextElement {\n @property({ attribute: false })\n accessor nodes: WorkbenchNodeData[];\n\n @property({ attribute: false })\n accessor actions: WorkbenchTreeAction[];\n\n @property({ type: Boolean })\n accessor actionsHidden: boolean;\n\n @property()\n accessor placeholder: string;\n\n @property({ type: Boolean })\n accessor isTransformName: boolean;\n\n @property()\n accessor searchPlaceholder: string;\n\n @property({ type: Boolean })\n accessor noSearch: boolean;\n\n @property({ attribute: false })\n accessor activeKey: string | number;\n\n @property({ type: Boolean })\n accessor showMatchedNodeOnly: boolean;\n\n @property({ attribute: false })\n accessor matchNodeDataFields: string | string[];\n\n @property({ attribute: false })\n accessor fixedActionsFor: Record<string, unknown> | Record<string, unknown>[];\n\n @property({ type: Boolean })\n accessor collapsible: boolean;\n\n @property({ attribute: false })\n accessor collapsedNodes: string[];\n\n @property({ type: Boolean })\n accessor allowDrag: boolean;\n\n @property({ type: Boolean })\n accessor allowDragToRoot: boolean;\n\n @property({ type: Boolean })\n accessor allowDragToInside: boolean;\n\n @property({ type: String })\n accessor nodeKey: string;\n\n @property({ type: Boolean })\n accessor skipNotify: boolean;\n\n @event({ type: \"action.click\" })\n accessor #actionClickEvent!: EventEmitter<ActionClickDetail>;\n\n #handleActionClick = (detail: ActionClickDetail): void => {\n this.#actionClickEvent.emit(detail);\n };\n\n @event({ type: \"node.click\" })\n accessor #nodeClickEvent: EventEmitter<unknown>;\n\n #nodeClickFactory = (node: WorkbenchNodeData) => () => {\n this.#nodeClickEvent.emit(node.data);\n };\n\n @event({ type: \"node.drop\" })\n accessor #nodeDropEvent: EventEmitter<any>;\n\n #handleNodeDrop = (detail: dropEmitProps): void => {\n this.#nodeDropEvent.emit(detail);\n };\n\n @event({ type: \"context.menu\" })\n accessor #nodeContextMenuEvent: EventEmitter<unknown>;\n\n #contextMenuFactory = (node: WorkbenchNodeData) => (e: React.MouseEvent) => {\n e.preventDefault();\n this.#nodeContextMenuEvent.emit({\n active: true,\n node: node?.data,\n x: e.clientX,\n y: e.clientY,\n });\n };\n\n @event({ type: \"node.toggle\" })\n accessor #nodeToggleEvent: EventEmitter<{\n nodeId: string;\n collapsed: boolean;\n }>;\n\n #handleNodeToggle = (nodeId: string, collapsed: boolean): void => {\n this.#nodeToggleEvent.emit({ nodeId, collapsed });\n };\n\n render() {\n return (\n <WorkbenchActionsContext.Provider\n value={{\n actions: this.actions,\n actionsHidden: this.actionsHidden,\n onActionClick: this.#handleActionClick,\n }}\n >\n <WorkbenchTreeContext.Provider\n value={{\n activeKey: this.activeKey,\n basePaddingLeft: 5,\n showMatchedNodeOnly: this.showMatchedNodeOnly,\n isTransformName: this.isTransformName,\n fixedActionsFor: this.fixedActionsFor,\n nodeKey: this.nodeKey,\n collapsible: this.collapsible,\n collapsedNodes: this.collapsedNodes,\n getCollapsedId: defaultGetCollapsedId,\n onNodeToggle: this.#handleNodeToggle,\n skipNotify: this.skipNotify,\n clickFactory: this.#nodeClickFactory,\n contextMenuFactory: this.#contextMenuFactory,\n matchNode: (node, lowerTrimmedQuery) =>\n deepMatch(node.name, lowerTrimmedQuery) ||\n (!!this.matchNodeDataFields?.length &&\n deepMatch(\n this.matchNodeDataFields === \"*\"\n ? node.data\n : pick(node.data, this.matchNodeDataFields),\n lowerTrimmedQuery\n )),\n }}\n >\n <WorkbenchTree\n nodes={this.nodes}\n placeholder={this.placeholder}\n searchPlaceholder={this.searchPlaceholder}\n noSearch={this.noSearch}\n dropEmit={this.#handleNodeDrop}\n allowDrag={this.allowDrag}\n allowDragToInside={this.allowDragToInside}\n allowDragToRoot={this.allowDragToRoot}\n />\n </WorkbenchTreeContext.Provider>\n </WorkbenchActionsContext.Provider>\n );\n }\n}\n\nexport { WorkbenchTreeElement };\n","// istanbul ignore file\nimport { createProviderClass } from \"@next-core/utils/general\";\nimport connect from \"./preview/connect.js\";\nimport type { PreviewStartOptions } from \"./preview/interfaces.js\";\n\nexport function injectPreviewAgent(\n previewFromOrigin: string,\n options: PreviewStartOptions\n): Promise<unknown> {\n return connect(previewFromOrigin, options);\n}\n\ncustomElements.define(\n \"visual-builder.inject-preview-agent\",\n createProviderClass(injectPreviewAgent)\n);\n","import { createProviderClass } from \"@next-core/utils/general\";\nimport {\n type StoryboardNode,\n parseStoryboard,\n traverse,\n} from \"@next-core/storyboard\";\nimport {\n Storyboard,\n UseProviderResolveConf,\n UseProviderEventHandler,\n} from \"@next-core/types\";\n\nfunction collect(nodeOrNodes: StoryboardNode | StoryboardNode[]): Set<string> {\n const collection = new Set<string>();\n\n traverse(nodeOrNodes, (node) => {\n switch (node.type) {\n case \"Resolvable\": {\n const useProvider = (node.raw as UseProviderResolveConf)?.useProvider;\n if (useProvider) {\n collection.add(useProvider);\n }\n break;\n }\n case \"EventHandler\": {\n const useProvider = (node.raw as UseProviderEventHandler)?.useProvider;\n if (useProvider) {\n collection.add(useProvider);\n }\n break;\n }\n }\n });\n\n return collection;\n}\n\nexport function collectUsedContracts(storyboard: Storyboard): string[] {\n const collection = collect(parseStoryboard(storyboard as any));\n\n const contracts = [];\n\n for (const item of collection) {\n if (item.includes(\"@\")) {\n contracts.push(item);\n }\n }\n\n return contracts;\n}\n\ncustomElements.define(\n \"visual-builder.collect-used-contracts\",\n createProviderClass(collectUsedContracts)\n);\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.custom-scrollbar-container{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,0.15) rgba(255,255,255,0.03);&::-webkit-scrollbar{width:8px;height:8px;background-color:transparent;position:absolute}&::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,0);border-radius:4px}&:hover{&::-webkit-scrollbar-track{background-color:rgba(255,255,255,0.03)}&::-webkit-scrollbar-thumb{background-color:rgba(255,255,255,0.15)}}}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.workBenchActionList{display:flex;flex-direction:column;width:-webkit-min-content;width:-moz-min-content;width:min-content;height:100%;background-color:#4297ff}:host-context(html[data-theme=\"dark-v2\"]) .workBenchActionList,\n:host-context([data-override-theme=\"dark-v2\"]) .workBenchActionList{background-color:#323237}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.action::part(link){display:flex;justify-content:center;align-items:center;width:48px;height:48px;font-size:24px;color:rgba(255,255,255,0.4);position:relative;transition:none}.action.active::part(link)::before{content:\"\";position:absolute;top:0;bottom:0;left:0;width:2px;background-color:white}.action.active::part(link),\n.action::part(link):hover{color:white}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{display:block;--pane-color:#595959}:host-context(html[data-theme=\"dark-v2\"]),\n:host-context([data-override-theme=\"dark-v2\"]){--pane-color:#ccc}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.pane{display:flex;flex-direction:column;color:var(--pane-color);height:100%}.pane-header{display:flex;align-items:center;cursor:pointer;border-top:1px solid transparent;position:relative}.pane-header:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:#007fd4}:host(:not(:first-child)) .pane-header{border-top-color:rgba(204,204,204,0.2)}.pane-scroll-shadow{display:none;position:absolute;bottom:-3px;left:0;right:0;height:3px;box-shadow:#000000 0 6px 6px -6px inset;z-index:1}.scrolled .pane-scroll-shadow{display:block}.pane-title{display:flex;align-items:center;font-size:13px;line-height:24px;height:25px;min-width:0;flex:1}.title-icon{display:flex;justify-content:center;align-items:center;width:24px;padding-right:2px;line-height:1;flex-shrink:0}.title-label{text-transform:uppercase;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-body{flex-grow:1;min-height:0;display:none;overflow:hidden;overflow-y:auto;overflow-y:overlay}:host([active]) .pane-body{display:initial}:host(:not(:hover)) ::slotted([slot=\"actions\"]){display:none}.badge{background-color:rgb(77,77,77);color:rgb(255,255,255);border-radius:11px;height:18px;padding:3px 6px;line-height:13px;margin:0 3px;font-size:12px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host{--sidebar-background:#fff;--title-container-background:#fff;--title-container-color:#595959;display:block;outline-color:rgba(83,89,93,0.5);background-color:var(--sidebar-background);height:100%}:host-context(html[data-theme=\"dark-v2\"]),\n:host-context([data-override-theme=\"dark-v2\"]){--sidebar-background:#181818;--title-container-background:#181818;--title-container-color:rgb(187,187,187);background-color:var(--sidebar-background)}:host([hidden]){display:none}*,\n*::before,\n*::after{box-sizing:border-box}.sidebar{display:flex;flex-direction:column;height:100%}.title-container{display:flex;padding:0 8px 8px 8px;color:var(--title-container-color);background:var(--title-container-background)}.title-label{font-weight:300;line-height:44px;padding-left:12px;text-transform:uppercase;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pane-container{flex-grow:1;min-height:0;display:flex;flex-direction:column}::slotted([slot=\"panes\"]){transition:flex 0.2s;min-height:25px}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["_WorkbenchPane","WrappedIcon","wrapBrick","defineElement","property","event","createDecorators","_dec","styleTexts","styleText","sharedStyle","_dec2","_dec3","type","Boolean","_dec4","Number","_dec5","_dec6","_A","WeakMap","_B","_C","_D","_activeChangeEvent","_handleActiveChange","_E","_activeFirstActivatedEvent","_handleActiveFirstActivated","WorkbenchPane","ReactNextElement","constructor","arguments","_classPrivateFieldInitSpec","get","_get_activeFirstActivatedEvent2","set","_set_activeFirstActivatedEvent2","_get_activeChangeEvent2","_set_activeChangeEvent2","writable","value","_initProto","_init_titleLabel","_init_active","_init_badge","_init_activeChangeEvent","active","this","_classPrivateFieldGet","emit","_init_activeFirstActivatedEvent","titleLabel","v","_classPrivateFieldSet","badge","render","React","WorkbenchPaneComponent","onActiveChange","onFirstActivated","_set_activeChangeEvent","_get_activeChangeEvent","_set_activeFirstActivatedEvent","_get_activeFirstActivatedEvent","_ref","internalActive","setInternalActive","useState","activatedOnce","setActivatedOnce","useEffect","handleClick","useCallback","previousActive","scrollBodyRef","useRef","scrolled","setScrolled","handleScroll","useMemo","debounceByAnimationFrame","fn","current","scrollTop","_len","length","params","Array","_key","frame","cancelAnimationFrame","requestAnimationFrame","className","classNames","tabIndex","onClick","lib","theme","icon","name","onScroll","ref","style","padding","color","e","c","_initClass","_applyDecs","o","_","has","_checkInRHS","_WorkbenchSidebar","_getPaneSlot","_reflowPanes","_onPanesSlotChange","WorkbenchSidebar","_this$shadowRoot","shadowRoot","querySelector","panes","call","assignedNodes","pane","_pane$activeFlex","flex","String","activeFlex","target","addEventListener","_defineProperty","panesSlots","WorkbenchSidebarComponent","refCallback","_WorkbenchAction","WrapLink","attribute","WorkbenchAction","_init_icon","_init_to","_init_href","_init_target","to","href","WorkbenchActionComponent","url","initMenuItemAndMatchCurrentPathKeys","menuItems","pathname","search","parentCursor","selectedKeys","openedKeys","cursor","forEach","item","key","concat","isGroup","isSubMenu","tmp","items","push","defaultExpanded","parsePath","escapedPath","replace","match","matchPath","path","exact","isArray","activeIncludes","include","_parseInclude","parseInclude","hasSearch","includes","getMatchOfSearch","activeExcludes","_include","activeMatchSearch","matchMenuItem","currentSearch","toSearch","URLSearchParams","entries","_WorkbenchActionList","WrapperWorkbenchAction","currentAppId","WorkbenchActionList","_init_appId","_init_menu","appId","menu","WorkbenchActionListComponent","historyMap","Map","_menu$menuItems2","history","getHistory","activeIndex","setActiveIndex","location","setLocation","unlisten","listen","clear","_menu$menuItems","map","index","handleLinkClick","filter","defaultGetCollapsedId","node","_WorkbenchTreeElement","treeStyleText","actionStyleText","_dec7","_dec8","_dec9","_dec10","_dec11","_dec12","_dec13","_dec14","_dec15","_dec16","_dec17","_dec18","_dec19","_dec20","_dec21","_dec22","_dec23","_dec24","_F","_G","_H","_I","_J","_K","_L","_M","_N","_O","_P","_Q","_R","_S","_actionClickEvent","_handleActionClick","_T","_nodeClickEvent","_nodeClickFactory","_U","_nodeDropEvent","_handleNodeDrop","_V","_nodeContextMenuEvent","_contextMenuFactory","_W","_nodeToggleEvent","_handleNodeToggle","WorkbenchTreeElement","_get_nodeToggleEvent2","_set_nodeToggleEvent2","_get_nodeContextMenuEvent2","_set_nodeContextMenuEvent2","_get_nodeDropEvent2","_set_nodeDropEvent2","_get_nodeClickEvent2","_set_nodeClickEvent2","_get_actionClickEvent2","_set_actionClickEvent2","_init_nodes","_init_actions","_init_actionsHidden","_init_placeholder","_init_isTransformName","_init_searchPlaceholder","_init_noSearch","_init_activeKey","_init_showMatchedNodeOnly","_init_matchNodeDataFields","_init_fixedActionsFor","_init_collapsible","_init_collapsedNodes","_init_allowDrag","_init_allowDragToRoot","_init_allowDragToInside","_init_nodeKey","_init_skipNotify","_init_actionClickEvent","detail","_init_nodeClickEvent","data","_init_nodeDropEvent","_init_nodeContextMenuEvent","preventDefault","x","clientX","y","clientY","_init_nodeToggleEvent","nodeId","collapsed","nodes","actions","actionsHidden","placeholder","isTransformName","searchPlaceholder","noSearch","activeKey","showMatchedNodeOnly","matchNodeDataFields","fixedActionsFor","collapsible","collapsedNodes","allowDrag","allowDragToRoot","allowDragToInside","nodeKey","skipNotify","WorkbenchActionsContext","Provider","onActionClick","WorkbenchTreeContext","basePaddingLeft","getCollapsedId","onNodeToggle","clickFactory","contextMenuFactory","matchNode","lowerTrimmedQuery","_this$matchNodeDataFi","deepMatch","pick","WorkbenchTree","dropEmit","_set_actionClickEvent","_get_actionClickEvent","_set_nodeClickEvent","_get_nodeClickEvent","_set_nodeDropEvent","_get_nodeDropEvent","_set_nodeContextMenuEvent","_get_nodeContextMenuEvent","_set_nodeToggleEvent","_get_nodeToggleEvent","customElements","define","createProviderClass","previewFromOrigin","options","connect","storyboard","collection","nodeOrNodes","Set","traverse","_node$raw","useProvider","raw","add","_node$raw2","collect","parseStoryboard","contracts","___CSS_LOADER_EXPORT___","module","id","toString"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_visual_builder=self.webpackChunk_next_bricks_visual_builder||[]).push([[9129],{8902:(e,t,n)=>{n.d(t,{L:()=>a,r:()=>l});var o=n(8657),a=(0,o.createContext)({});function l(){return(0,o.useContext)(a)}},9114:(e,t,n)=>{n.d(t,{ME:()=>N});var o=n(7896),a=n(3028),l=n(8657),r=n.n(l),i=n(5178),c=n.n(i),s=n(2779),d=n.n(s),u=n(4203),p=n(8902),h=function(e){return e.inside="inside",e.top="top",e.bottom="bottom",e}({}),f=(0,l.createContext)({});function m(){return(0,l.useContext)(f)}var g=n(8978),v=n(7717),b=(0,g.wrapBrick)("icons.general-icon");function x(e){var{data:t,className:n,gap:o,isFirst:a,isLast:i,actions:c,actionsHidden:s,onActionClick:u}=e,p=(0,l.useMemo)((()=>null==c?void 0:c.filter((e=>(0,v.checkIfByTransform)(e,t)))),[c,t]);return s||null==p||!p.length?null:r().createElement("div",{className:d()("actionsBar",n),style:{gap:o}},p.map((e=>r().createElement(k,{key:e.action,action:e,data:t,isFirst:a,isLast:i,onActionClick:u}))))}function k(e){var{action:t,data:n,isFirst:o,isLast:a,onActionClick:i}=e,c=o&&"move-up"===t.action||a&&"move-down"===t.action,s=(0,l.useCallback)((e=>{e.preventDefault(),e.stopPropagation(),c||null==i||i({action:t.action,data:n})}),[t.action,n,c,i]),u=(0,l.useCallback)((e=>{e.preventDefault(),e.stopPropagation()}),[]);return r().createElement("a",{className:d()("action",{disabled:c}),title:t.title,role:"button",onClick:s,onContextMenu:u,onMouseDown:u},r().createElement(b,t.icon))}var y=(0,g.wrapBrick)("basic.general-link"),w=(0,g.wrapBrick)("icons.general-icon"),E=10,C="0 0 0 1px #ba6d30",L=(0,l.createContext)(!1);function N(e){var{nodes:t,placeholder:n,searchPlaceholder:o,isDrag:a,noSearch:i,allowDrag:s,allowDragToRoot:p,allowDragToInside:m,dropEmit:g}=e,[v,b]=(0,l.useState)(null),[x,k]=(0,l.useState)(a),[y,E]=(0,l.useState)(),[C,N]=(0,l.useState)(),[I,M]=(0,l.useState)(),[R,B]=(0,l.useState)(),[D,A]=(0,l.useState)(),[F,P]=(0,l.useState)(),{nodeKey:T,onBrickDrop:z,contextMenuFactory:_,matchNode:K}=(0,u.h)(),O=(0,l.useMemo)((()=>{var e;return function(e,t){var n=(e,o,a,l)=>{var r=e.shift();if(r){e.length>0&&e.splice(0,1,"".concat(r,"/").concat(e[0]));var i=o.find((e=>e&&e.key===r&&e.isContainer));if(i)o[l]=null,n(e,i.children,a);else{var c=r.split("/"),s={name:c.pop(),key:r,parentPath:c?c.join("/"):c,originKey:a.key,data:{[t]:r,isContainer:!0},children:[],icon:{icon:"folder",lib:"antd",theme:"filled",color:"orange"},isContainer:!0};"number"==typeof l?o[l]=s:o.push(s),n(e,s.children,a)}}else o.push(a)};return e.forEach(((t,o)=>{if(t.path){var a=t.path.split("/").filter(Boolean);n(a,e,t,o)}})),e.filter(Boolean)}(null!==(e=null==t?void 0:t.slice())&&void 0!==e?e:[],T)}),[t,T]),Z=(0,l.useCallback)((e=>{b(e.target.value)}),[]),j=(0,l.useMemo)((()=>null==_?void 0:_()),[_]),$=null==v?void 0:v.trim().toLowerCase(),W=(0,l.useMemo)((()=>{if(i||!$||!O)return O;var e=t=>{var n;t.matchedSelf=K(t,$);var o=null===(n=t.children)||void 0===n?void 0:n.map(e).includes(!0);return t.matched=t.matchedSelf||o,t.matched};return O.forEach(e),O.slice()}),[i,$,O,K]),H=function(e){for(var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],n=e;n;){if(n.draggable&&(t||n!==e)&&"A"!==n.tagName)return n;n=n.parentElement}},Y=function(e,t,n){var o=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;for(var a of e)if(a.data[n]===t&&(o=a),a.children&&(o=Y(a.children,t,n,o)),o)break;return o},V=()=>{N(null),B(null),M(null),A(null),k(!1)};return(0,l.useEffect)((()=>{k(a)}),[a]),(0,l.useEffect)((()=>(window.addEventListener("dragend",V),()=>{window.removeEventListener("dragend",V)})),[]),r().createElement("div",{style:{height:"100%"},className:"tree-wrapper",onContextMenu:j},null!=O&&O.length?r().createElement("div",null,!i&&r().createElement("div",{className:"searchBox",onContextMenu:e=>e.stopPropagation()},r().createElement("span",{className:d()("filter-input-wrapper",{focus:F})},r().createElement("span",{className:"prefix"},r().createElement(w,{icon:"search",lib:"antd",theme:"outlined"})),r().createElement("input",{value:v,onChange:Z,onFocus:()=>P(!0),onBlur:()=>P(!1),autoComplete:"off",placeholder:o}),r().createElement("span",{className:"suffix"},v?r().createElement(w,{className:"clear-button",icon:"close-circle",lib:"antd",theme:"filled",onClick:()=>{b("")}}):null))),r().createElement(L.Provider,{value:!!v},r().createElement(f.Provider,{value:{allow:s,allowDragToRoot:p,dragElement:C,dragOverElement:R,dragStatus:D,onDragStart:(e,t)=>{var n;if(e.stopPropagation(),s){var o=e.target;null!==(n=o.dataset)&&void 0!==n&&n.container||(k(!0),function(e,t){var n=document.createElement("canvas");document.body.append(n);var o=n.getContext("2d");n.width=o.measureText(t).width+60,n.height=20,n.style.position="absolute",n.style.left="-100%",n.style.zIndex="-100",o.fillStyle="#333333",o.fillRect(0,0,n.width,n.height),o.fillStyle="#999999",o.font="bold 14px Arial",o.fillText(t,20,15),e.dataTransfer.setDragImage(n,0,0)}(e,o.innerText),N(o),E(t))}}}},r().createElement("div",{className:d()({hightlight:a}),onDragOver:e=>{if(e.preventDefault(),x&&"workbenchTree-placeholder-dom"!==e.target.className){var t=(e=>{var t=H(e.target),n=t.dataset.uid;if(!(t===C||null!=n&&n.includes(":"))){var o,{top:a,bottom:l}=t.getBoundingClientRect(),r=m?5:10;return o=e.clientY<a+r?h.top:e.clientY>l-r?h.bottom:m?h.inside:D,{element:t,node:Y(O,n,T),status:o}}})(e);!t||null!=C&&C.contains(t.element)||(B(t.element),M(t.node),A(t.status))}},onDrop:e=>{if(x){if(z){var t=R;[h.top,h.bottom].includes(D)&&(t=H(t,!1)),z(e,{curElement:C,overElement:R,parentElement:t,overStatus:D})}else if(p||1!==Number(R.dataset.level)){var n=I,o=(e,t)=>{for(var a=0;a<e.length;a++){if(e[a].key===t){n=e[a];break}e[a].children&&o(e[a].children,t)}},a=R.dataset.uid;o(O,a);var l=e=>{var t=!1,{container:o,uid:a}=R.dataset,r=o?n.originKey:a,i=e.filter((e=>(e.children&&(e.children=l(e.children)),e.key===r&&(t=!0),e.key!==y.key)));return t&&i.splice(i.findIndex((e=>e.key===r))+("bottom"===D?1:0),0,y),i},r=function(e){var t=[],n=e=>{e.forEach((e=>{e.isContainer?n(e.children):t.push(c().omit(e,["path","icon"]))}))};return n(e),t}(O),i=y.isContainer?r.find((e=>e.key===y.originKey)):y;i.data.path=n.parentPath||n.path,g({nodes:l(r),curNode:i,overNode:n,status:D})}V()}}},r().createElement(S,{nodes:W,level:1}))))):r().createElement("div",{className:"placeholder"},n))}function S(e){var{nodes:t,level:n}=e,o=t.length-1;return r().createElement("ul",{className:"tree"},t.filter((e=>(0,v.checkIfOfComputed)(e))).map(((e,t)=>r().createElement(M,{key:e.key,node:e,level:n,isFirst:0===t,isLast:t===o}))))}function I(e){var{style:t}=e,{dragStatus:n}=m(),o=(0,a.Z)({height:22,border:"1px dashed goldenrod",opacity:n===h.inside?"0":"1"},t);return r().createElement("li",{className:"workbenchTree-placeholder-dom",style:o})}function M(e){var t,n,c,{node:s,level:f,isFirst:g,isLast:v}=e,b=!(null!==(t=s.children)&&void 0!==t&&t.length),k=s.isContainer,{hoverKey:N,activeKey:M,isTransformName:R,basePaddingLeft:B,showMatchedNodeOnly:D,fixedActionsFor:A,collapsible:F,collapsedNodes:P,nodeKey:T,clickFactory:z,mouseEnterFactory:_,mouseLeaveFactory:K,contextMenuFactory:O,onNodeToggle:Z,getCollapsedId:j,skipNotify:$}=(0,u.h)(),{allow:W,allowDragToRoot:H,onDragStart:Y,dragElement:V,dragOverElement:q,dragStatus:G}=m(),{actions:J,actionsHidden:Q,onActionClick:U}=(0,p.r)(),X=f*E+B-2,ee=(0,l.useContext)(L),[te,ne]=(0,l.useState)(null),[oe,ae]=(0,l.useState)(!1),[le,re]=(0,l.useState)(null!==(n=null==P?void 0:P.includes(null==j?void 0:j(s)))&&void 0!==n&&n),ie=(0,l.useMemo)((()=>null==_?void 0:_(s)),[_,s]),ce=(0,l.useMemo)((()=>null==K?void 0:K(s)),[K,s]),se=(0,l.useCallback)((e=>{var t;e.stopPropagation(),null==O||null===(t=O(s))||void 0===t||t(e)}),[O,s]),de=M&&s.key===M,ue=(0,l.useMemo)((()=>de?e=>{var t;null==e||null===(t=e.scrollIntoView)||void 0===t||t.call(e,{block:"center",inline:"center"})}:null),[]),pe=(0,l.useMemo)((()=>{return k?s.key:s.data?"mount-point"===(e=s.data).type?e.parent[T]||"".concat(e.parent.$$uid,":").concat(e.mountPoint):e[T]||e.$$uid:void 0;var e}),[T,s,k]);(0,l.useEffect)((()=>{G!==h.inside&&[h.top,h.bottom].includes(G)&&ne(G)}),[G]);var he=(0,l.useMemo)((()=>!!V&&V.dataset.uid===String(pe)),[V,pe]),fe=(0,l.useMemo)((()=>!!q&&q.dataset.uid===String(pe)),[q,pe]),me=(0,l.useMemo)((()=>{var e={opacity:he?.2:1};return fe&&G===h.inside&&(e={boxShadow:C,background:"rgba(255, 255, 255, 0.1)"}),Object.assign({},e)}),[fe,he,G]),ge=(0,l.useCallback)((e=>{e.preventDefault(),e.stopPropagation(),ae(!0),re((e=>!e))}),[]),ve=(0,l.useCallback)((e=>{e.preventDefault(),e.stopPropagation()}),[]),be=(0,l.useCallback)((e=>{var t;if(!k)return null==z||null===(t=z(s))||void 0===t?void 0:t();ge(e)}),[z,ge,k,s]);(0,l.useEffect)((()=>{oe&&(null==Z||Z(null==j?void 0:j(s),le))}),[oe,le,j,s,Z]);var xe=F&&!b&&!ee;return ee&&D&&!s.matched?null:r().createElement(r().Fragment,null,fe&&(H||1!==f)&&te===h.top&&r().createElement(I,{style:{marginLeft:X}}),r().createElement("li",(0,o.Z)({draggable:W,onDragStart:e=>Y(e,s),"data-uid":pe,"data-level":f,style:me},k?{"data-container":k}:{}),r().createElement(y,(0,o.Z)({tabIndex:0,onMouseEnter:ie,onMouseLeave:ce,onContextMenu:se,onClick:be},$?{url:{pathname:(0,i.get)(s.link,"url","href"),state:{notify:!1}}}:(0,a.Z)({},(0,i.pick)(s.link,["url","href"]))),r().createElement("span",{className:d()("nodeLabelRow",{active:de,hover:N&&s.key===N,matched:ee&&s.matchedSelf&&!D,fixedActions:A&&[].concat(A).some((e=>(0,i.isMatch)(s.data,e))),collapsed:xe&&le,collapsible:xe})},r().createElement("span",{className:d()("nodeLabel",{unreachable:s.unreachable}),style:{paddingLeft:X,color:s.labelColor},ref:ue},r().createElement("span",{className:"nodeIconWrapper"},xe&&r().createElement("span",{className:"collapseIcon",onClick:ge,onMouseDown:ve,title:le?"Expand":"Collapse",role:"button"},r().createElement(w,{lib:"antd",theme:"outlined",icon:le?"right":"down"})),r().createElement("span",{className:"nodeIcon"},r().createElement(w,(0,o.Z)({},s.icon,{style:{fontSize:null!==(c=s.icon)&&void 0!==c&&c.imgSrc?14:null}})))),r().createElement("span",{className:"nodeName"},s.name)),r().createElement(x,{className:"nodeActionsBar",data:s.data,isFirst:g,isLast:v,actions:J,onActionClick:U,actionsHidden:Q}),s.badge&&r().createElement("span",{className:"badge"},r().createElement(w,s.badge)))),b||r().createElement(S,{nodes:s.children,level:f+1})),fe&&(H||1!==f)&&te===h.bottom&&r().createElement(I,{style:{marginLeft:X}}))}},4203:(e,t,n)=>{n.d(t,{f:()=>a,h:()=>l});var o=n(8657),a=(0,o.createContext)({});function l(){return(0,o.useContext)(a)}},9156:(e,t,n)=>{function o(e,t){switch(typeof e){case"string":return e.toLowerCase().includes(t);case"boolean":case"number":return String(e).includes(t);case"object":return null===e?"null".includes(t):(Array.isArray(e)?e:Object.entries(e).flat()).some((e=>o(e,t)));default:return!1}}n.d(t,{$:()=>o})},1674:(e,t,n)=>{n.d(t,{Z:()=>i});var o=n(9601),a=n.n(o),l=n(2609),r=n.n(l)()(a());r.push([e.id,".actionsBar{display:flex;align-items:center;padding:0 3px}.action{display:flex;justify-content:center;align-items:center;width:20px;height:20px;border-radius:5px}.action:hover{color:#fff;background-color:rgba(90,93,94,0.31)}.action{color:#c5c5c5}.disabled,\n.disabled:hover{color:var(--color-disabled-text);cursor:not-allowed;background-color:initial}",""]);const i=r.toString()},89:(e,t,n)=>{n.d(t,{Z:()=>i});var o=n(9601),a=n.n(o),l=n(2609),r=n.n(l)()(a());r.push([e.id,':host-context(html[data-theme="light"]),\n:host-context(html[data-override-theme="light"]){--search-box-background:#fff;--node-color:#595959;--node-color-focus:#595959;--node-background-active:#e0eeff;--node-background-focus:#e0eeff;--node-icon-background-hover:#fff}:host-context(html[data-theme="dark-v2"]),\n:host-context(html[data-override-theme="dark-v2"]){--search-box-background:#181818;--node-color:#c5c5c5;--node-color-focus:#fff;--node-background-active:rgba(255,255,255,0.08);--node-background-focus:#1a7aff;--node-icon-background-hover:rgba(90,93,94,0.31)}.searchBox{position:-webkit-sticky;position:sticky;top:0;background-color:var(--search-box-background);padding:5px 10px 10px;z-index:1}.searchBox .filter-input-wrapper{background-color:var(--search-box-background);border:1px solid rgba(255,255,255,0.2);position:relative;width:100%;min-width:0;padding:2px 7px;color:var(--antd-input-color);font-size:14px;line-height:1.5715;display:inline-flex;border-radius:3px;transition:all 0.3s;box-sizing:border-box}.searchBox .filter-input-wrapper.focus{background-color:var(--search-box-background);border:1px solid rgba(255,255,255,0.2);border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(0,113,235,0.2)}.searchBox .filter-input-wrapper input{text-overflow:ellipsis;border:none;outline:none;border-radius:3px;background-color:var(--search-box-background);box-sizing:border-box;margin:0;padding:0;color:var(--antd-text-color);font-variant:tabular-nums;list-style:none;font-feature-settings:"tnum";position:relative;display:inline-block;width:100%;min-width:0;color:var(--antd-input-color);font-size:14px;line-height:1.5715;background-image:none;transition:all 0.3s}.prefix{margin-right:4px}.suffix{margin-left:4px}.searchBox .prefix,\n.searchBox .suffix{display:flex;flex:none;align-items:center}.clear-button{cursor:pointer}.tree{list-style:none;margin:0;padding:0}.placeholder{color:var(--antd-input-placeholder-color);padding:0 15px}.nodeLabelRow{display:flex;cursor:pointer;height:22px;padding-right:10px}.nodeLabelRow:hover,\n.nodeLabelRow.hover{background-color:rgba(255,255,255,0.12)}.nodeLabelRow:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:var(--node-background-focus)}.nodeLabelRow.active:focus{background-color:var(--node-background-focus)}.nodeLabel{display:flex;align-items:center;min-width:0;flex:1}.unreachable{opacity:0.3}.nodeAction,\n.nodeAction:hover,\n.nodeLabelRow .nodeLabel{color:var(--node-color)}.nodeLabelRow:focus .nodeLabel{color:var(--node-color-focus)}.nodeLabelRow.matched .nodeLabel{color:var(--palette-orange-6)}.nodeLabelRow.active{background-color:var(--node-background-active)}.nodeIconWrapper{display:flex;width:24px;flex-shrink:0}.nodeIcon,\n.collapseIcon{display:flex;justify-content:center;align-items:center;width:20px;height:20px;border-radius:5px;font-size:13px}.collapseIcon{display:none}.nodeLabelRow.collapsed .nodeIcon,\n.nodeLabelRow.collapsible .nodeIconWrapper:hover .nodeIcon{display:none}.nodeLabelRow.collapsed .collapseIcon,\n.nodeLabelRow.collapsible .nodeIconWrapper:hover .collapseIcon{display:flex}.nodeLabelRow.collapsible .nodeIcon:hover,\n.nodeLabelRow.collapsible .collapseIcon:hover{background-color:var(--node-icon-background-hover)}.nodeName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nodeLabelRow:not(:hover, .fixedActions) .nodeActionsBar{display:none}.badge{margin:0 3px}.collapsed + .tree{display:none}.hightlight{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:#fcd93f}',""]);const i=r.toString()}}]);
2
+ //# sourceMappingURL=9129.6ab18dc3.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/9129.6ab18dc3.js","mappings":"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","sources":["webpack:///./src/shared/workbench/WorkbenchActionsContext.ts","webpack:///./src/shared/workbench/WorkbenchTreeDndContext.ts","webpack:///./src/shared/workbench-mini-action-bar/WorkbenchMiniActionBar.tsx","webpack:///./src/shared/workbench/WorkbenchTree.tsx","webpack:///./src/utils/normalizeTreeNodeWithPath.ts","webpack:///./src/utils/setDragImage.ts","webpack:///./src/shared/workbench/WorkbenchTreeContext.ts","webpack:///./src/utils/deepMatch.ts","webpack:///./src/shared/workbench-mini-action-bar/WorkbenchMiniActionBar.shadow.css","webpack:///./src/workbench-tree/WorkbenchTree.shadow.css"],"sourcesContent":["import { createContext, useContext } from \"react\";\nimport type {\n ActionClickDetail,\n WorkbenchTreeAction,\n} from \"../../interfaces.js\";\n\nexport interface ContextOfWorkbenchActions {\n actions?: WorkbenchTreeAction[];\n actionsHidden?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nexport const WorkbenchActionsContext = createContext<ContextOfWorkbenchActions>(\n {}\n);\n\nexport function useWorkbenchActionsContext(): ContextOfWorkbenchActions {\n return useContext(WorkbenchActionsContext);\n}\n","import { createContext, useContext } from \"react\";\nimport { WorkbenchNodeData } from \"../../interfaces.js\";\n\nexport enum dragStatusEnum {\n inside = \"inside\",\n top = \"top\",\n bottom = \"bottom\",\n}\n\ninterface WorkbenchTreeDndContext {\n allow?: boolean;\n allowDragToRoot?: boolean;\n dragElement?: HTMLElement;\n dragOverElement?: HTMLElement;\n dragStatus?: dragStatusEnum;\n onDragStart?: (\n e: React.DragEvent<HTMLElement>,\n node: WorkbenchNodeData\n ) => void;\n onDragOver?: (e: React.DragEvent<HTMLElement>) => void;\n onDrop?: (e: React.DragEvent<HTMLElement>) => void;\n}\n\nexport const WorkbenchTreeDndContext = createContext<WorkbenchTreeDndContext>(\n {} as WorkbenchTreeDndContext\n);\n\nexport function useWorkbenchTreeDndContext(): WorkbenchTreeDndContext {\n return useContext(WorkbenchTreeDndContext);\n}\n","import React, { useCallback, useMemo } from \"react\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport classNames from \"classnames\";\nimport { checkIfByTransform } from \"@next-core/runtime\";\nimport { WorkbenchTreeAction, ActionClickDetail } from \"../../interfaces.js\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nexport const WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"icons.general-icon\"\n);\n\nexport interface WorkbenchSubActionBarProps {\n data?: unknown;\n className?: string;\n gap?: number;\n isFirst?: boolean;\n isLast?: boolean;\n actions?: WorkbenchTreeAction[];\n actionsHidden?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nexport function WorkbenchMiniActionBar({\n data,\n className,\n gap,\n isFirst,\n isLast,\n actions,\n actionsHidden,\n onActionClick,\n}: WorkbenchSubActionBarProps): React.ReactElement {\n const enabledActions = useMemo(\n () => actions?.filter((item) => checkIfByTransform(item, data)),\n [actions, data]\n );\n\n if (actionsHidden || !enabledActions?.length) {\n return null;\n }\n\n return (\n <div className={classNames(\"actionsBar\", className)} style={{ gap }}>\n {enabledActions.map((item) => (\n <WorkbenchSubAction\n key={item.action}\n action={item}\n data={data}\n isFirst={isFirst}\n isLast={isLast}\n onActionClick={onActionClick}\n />\n ))}\n </div>\n );\n}\n\ninterface WorkbenchSubActionProps {\n action: WorkbenchTreeAction;\n data?: unknown;\n isFirst?: boolean;\n isLast?: boolean;\n onActionClick?(detail: ActionClickDetail): void;\n}\n\nfunction WorkbenchSubAction({\n action,\n data,\n isFirst,\n isLast,\n onActionClick,\n}: WorkbenchSubActionProps): React.ReactElement {\n const disabled =\n (isFirst && action.action === \"move-up\") ||\n (isLast && action.action === \"move-down\");\n\n const handleActionClick = useCallback(\n (event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n disabled ||\n onActionClick?.({\n action: action.action,\n data: data,\n });\n },\n [action.action, data, disabled, onActionClick]\n );\n\n const preventMouseEvent = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n return (\n <a\n className={classNames(\"action\", { disabled: disabled })}\n title={action.title}\n role=\"button\"\n onClick={handleActionClick}\n onContextMenu={preventMouseEvent}\n onMouseDown={preventMouseEvent}\n >\n <WrappedGeneralIcon {...action.icon} />\n </a>\n );\n}\n","import React, {\n type ChangeEvent,\n useCallback,\n useMemo,\n useState,\n type ReactElement,\n createContext,\n useContext,\n useEffect,\n} from \"react\";\n// import { Input } from \"antd\";\nimport { get, isMatch, pick } from \"lodash\";\nimport classNames from \"classnames\";\nimport { useWorkbenchTreeContext } from \"./WorkbenchTreeContext.js\";\nimport { useWorkbenchActionsContext } from \"./WorkbenchActionsContext.js\";\nimport {\n useWorkbenchTreeDndContext,\n dragStatusEnum,\n} from \"./WorkbenchTreeDndContext.js\";\nimport type { WorkbenchNodeData } from \"../../interfaces.js\";\nimport { WorkbenchMiniActionBar } from \"../workbench-mini-action-bar/WorkbenchMiniActionBar.js\";\nimport { checkIfOfComputed } from \"@next-core/runtime\";\nimport { WorkbenchTreeDndContext } from \"./WorkbenchTreeDndContext.js\";\nimport { setDragImage } from \"../../utils/setDragImage.js\";\nimport classnames from \"classnames\";\nimport {\n getNodesByPathTree,\n getNodeTreeByPath,\n} from \"../../utils/normalizeTreeNodeWithPath.js\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type { Link, LinkProps } from \"@next-bricks/basic/link\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nexport const WrappedLink = wrapBrick<Link, LinkProps>(\"basic.general-link\");\nexport const WrappedGeneralIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\n \"icons.general-icon\"\n);\n\nconst treeLevelPadding = 10;\nconst borderStyle = \"0 0 0 1px #ba6d30\";\n\nexport interface dropEmitProps {\n nodes: WorkbenchNodeData[];\n curNode: WorkbenchNodeData;\n overNode: WorkbenchNodeData;\n status: dragStatusEnum;\n}\n\nexport interface WorkbenchTreeProps {\n nodes: WorkbenchNodeData[];\n placeholder?: string;\n searchPlaceholder?: string;\n noSearch?: boolean;\n isDrag?: boolean;\n allowDrag?: boolean;\n allowDragToRoot?: boolean;\n allowDragToInside?: boolean;\n dropEmit?: (detail: dropEmitProps) => void;\n}\n\nexport interface TreeListProps {\n nodes: WorkbenchNodeData[];\n level: number;\n}\n\nconst SearchingContext = createContext(false);\n\nexport function WorkbenchTree({\n nodes: originNode,\n placeholder,\n searchPlaceholder,\n isDrag,\n noSearch,\n allowDrag,\n allowDragToRoot,\n allowDragToInside,\n dropEmit,\n}: WorkbenchTreeProps): ReactElement {\n const [q, setQ] = useState<string>(null);\n const [isDragging, setIsDragging] = useState<boolean>(isDrag);\n const [curNode, setCurNode] = useState<WorkbenchNodeData>();\n const [curElement, setCurElement] = useState<HTMLElement>();\n const [overNode, setOverNode] = useState<WorkbenchNodeData>();\n const [overElement, setOverElement] = useState<HTMLElement>();\n const [overStatus, setOverStatus] = useState<dragStatusEnum>();\n const [isFocus, setIsFocus] = useState<boolean>();\n const { nodeKey, onBrickDrop, contextMenuFactory, matchNode } =\n useWorkbenchTreeContext();\n const nodes = useMemo(\n () => getNodeTreeByPath(originNode?.slice() ?? [], nodeKey),\n [originNode, nodeKey]\n );\n\n const handleSearchChange = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n setQ(event.target.value);\n },\n []\n );\n\n const handleClearInput = () => {\n setQ(\"\");\n };\n\n const onContextMenu = useMemo(\n () => contextMenuFactory?.(),\n [contextMenuFactory]\n );\n\n const trimmedLowerQ = q?.trim().toLowerCase();\n const filteredNodes = useMemo(() => {\n if (noSearch || !trimmedLowerQ || !nodes) {\n return nodes;\n }\n const walk = (node: WorkbenchNodeData): boolean => {\n node.matchedSelf = matchNode(node, trimmedLowerQ);\n const hasMatchedChildren = node.children?.map(walk).includes(true);\n node.matched = node.matchedSelf || hasMatchedChildren;\n return node.matched;\n };\n nodes.forEach(walk);\n return nodes.slice();\n }, [noSearch, trimmedLowerQ, nodes, matchNode]);\n\n const findDragParent = (element: HTMLElement, equal = true): HTMLElement => {\n let node = element;\n while (node) {\n if (\n node.draggable &&\n (equal || node !== element) &&\n node.tagName !== \"A\"\n ) {\n return node;\n }\n node = node.parentElement;\n }\n };\n\n const findNode = (\n nodes: WorkbenchNodeData[],\n id: string,\n nodeKey: string,\n node: WorkbenchNodeData = null\n ): WorkbenchNodeData => {\n for (const item of nodes) {\n if ((item.data as Record<string, unknown>)[nodeKey] === id) {\n node = item;\n }\n if (item.children) {\n node = findNode(item.children, id, nodeKey, node);\n }\n if (node) break;\n }\n return node;\n };\n\n const getDragState = (\n e: React.DragEvent<HTMLElement>\n ): {\n element: HTMLElement;\n node: WorkbenchNodeData;\n status: dragStatusEnum;\n } => {\n const element = findDragParent(e.target as HTMLElement);\n const id = element.dataset.uid;\n if (element === curElement || id?.includes(\":\")) {\n return;\n }\n const { top, bottom } = element.getBoundingClientRect();\n let status: dragStatusEnum;\n const repair = allowDragToInside ? 5 : 10;\n if (e.clientY < top + repair) {\n status = dragStatusEnum.top;\n } else if (e.clientY > bottom - repair) {\n status = dragStatusEnum.bottom;\n } else {\n status = allowDragToInside ? dragStatusEnum.inside : overStatus;\n }\n\n return {\n element,\n node: findNode(nodes, id, nodeKey),\n status,\n };\n };\n\n const handleOnDragStart = (\n e: React.DragEvent,\n node: WorkbenchNodeData\n ): void => {\n e.stopPropagation();\n if (!allowDrag) return;\n const element = e.target as HTMLElement;\n if (element.dataset?.container) return;\n setIsDragging(true);\n setDragImage(e, element.innerText);\n setCurElement(element);\n setCurNode(node);\n };\n\n const handleOnDragOver = (e: React.DragEvent<HTMLElement>): void => {\n e.preventDefault();\n if (!isDragging) return;\n if ((e.target as HTMLElement).className === \"workbenchTree-placeholder-dom\")\n return;\n const dom = getDragState(e);\n if (dom && !curElement?.contains(dom.element)) {\n setOverElement(dom.element);\n setOverNode(dom.node);\n setOverStatus(dom.status);\n }\n };\n\n const handleOnDragEnd = (): void => {\n setCurElement(null);\n setOverElement(null);\n setOverNode(null);\n setOverStatus(null);\n setIsDragging(false);\n };\n\n const handleOnDrop = (e: React.DragEvent<HTMLElement>): void => {\n if (!isDragging) return;\n if (onBrickDrop) {\n let parentElement = overElement;\n if ([dragStatusEnum.top, dragStatusEnum.bottom].includes(overStatus)) {\n parentElement = findDragParent(parentElement, false);\n }\n onBrickDrop(e, {\n curElement,\n overElement,\n parentElement,\n overStatus,\n });\n } else {\n if (allowDragToRoot || Number(overElement.dataset.level) !== 1) {\n let realOverNode = overNode;\n const findRealNode = (\n nodes: WorkbenchNodeData[],\n key: string\n ): void => {\n for (let i = 0; i < nodes.length; i++) {\n if (nodes[i].key === key) {\n realOverNode = nodes[i];\n break;\n }\n if (nodes[i].children) {\n findRealNode(nodes[i].children, key);\n }\n }\n };\n const overUid = overElement.dataset.uid;\n findRealNode(nodes, overUid);\n const filterNodes = (\n nodes: WorkbenchNodeData[]\n ): WorkbenchNodeData[] => {\n let flag = false;\n const { container, uid } = overElement.dataset;\n const realOverKey = container ? realOverNode.originKey : uid;\n const newNodes = nodes.filter((node) => {\n if (node.children) {\n node.children = filterNodes(node.children);\n }\n if (node.key === realOverKey) flag = true;\n return node.key !== curNode.key;\n });\n if (flag) {\n newNodes.splice(\n newNodes.findIndex((item) => item.key === realOverKey) +\n (overStatus === \"bottom\" ? 1 : 0),\n 0,\n curNode\n );\n }\n return newNodes;\n };\n\n const normalizeNode = getNodesByPathTree(nodes);\n const realCurNode = curNode.isContainer\n ? normalizeNode.find((item) => item.key === curNode.originKey)\n : curNode;\n const curNodeData = realCurNode.data as Record<string, unknown>;\n curNodeData.path = realOverNode.parentPath || realOverNode.path;\n\n dropEmit({\n nodes: filterNodes(normalizeNode),\n curNode: realCurNode,\n overNode: realOverNode,\n status: overStatus,\n });\n }\n }\n handleOnDragEnd();\n };\n\n useEffect(() => {\n setIsDragging(isDrag);\n }, [isDrag]);\n\n useEffect(() => {\n window.addEventListener(\"dragend\", handleOnDragEnd);\n return () => {\n window.removeEventListener(\"dragend\", handleOnDragEnd);\n };\n }, []);\n\n return (\n <div\n style={{\n height: \"100%\",\n }}\n className=\"tree-wrapper\"\n onContextMenu={onContextMenu}\n >\n {nodes?.length ? (\n <div>\n {!noSearch && (\n <div\n className=\"searchBox\"\n onContextMenu={(e) => e.stopPropagation()}\n >\n <span\n className={classNames(\"filter-input-wrapper\", {\n focus: isFocus,\n })}\n >\n <span className=\"prefix\">\n <WrappedGeneralIcon\n icon=\"search\"\n lib=\"antd\"\n theme=\"outlined\"\n />\n </span>\n <input\n value={q}\n onChange={handleSearchChange}\n onFocus={() => setIsFocus(true)}\n onBlur={() => setIsFocus(false)}\n autoComplete=\"off\"\n placeholder={searchPlaceholder}\n />\n <span className=\"suffix\">\n {q ? (\n <WrappedGeneralIcon\n className=\"clear-button\"\n icon=\"close-circle\"\n lib=\"antd\"\n theme=\"filled\"\n onClick={handleClearInput}\n />\n ) : null}\n </span>\n </span>\n </div>\n )}\n <SearchingContext.Provider value={!!q}>\n <WorkbenchTreeDndContext.Provider\n value={{\n allow: allowDrag,\n allowDragToRoot: allowDragToRoot,\n dragElement: curElement,\n dragOverElement: overElement,\n dragStatus: overStatus,\n onDragStart: handleOnDragStart,\n }}\n >\n <div\n className={classnames({\n hightlight: isDrag,\n })}\n onDragOver={handleOnDragOver}\n onDrop={handleOnDrop}\n >\n <TreeList nodes={filteredNodes} level={1} />\n </div>\n </WorkbenchTreeDndContext.Provider>\n </SearchingContext.Provider>\n </div>\n ) : (\n <div className=\"placeholder\">{placeholder}</div>\n )}\n </div>\n );\n}\n\nfunction TreeList({ nodes, level }: TreeListProps): ReactElement {\n const lastIndex = nodes.length - 1;\n return (\n <ul className=\"tree\">\n {nodes\n .filter((item) => checkIfOfComputed(item))\n .map((node, index) => (\n <TreeNode\n key={node.key}\n node={node}\n level={level}\n isFirst={index === 0}\n isLast={index === lastIndex}\n />\n ))}\n </ul>\n );\n}\n\nfunction PlaceholderDOM({\n style,\n}: {\n style: React.CSSProperties;\n}): React.ReactElement {\n const { dragStatus } = useWorkbenchTreeDndContext();\n const styles: React.CSSProperties = {\n height: 22,\n border: \"1px dashed goldenrod\",\n opacity: dragStatus === dragStatusEnum.inside ? \"0\" : \"1\",\n ...style,\n };\n\n return <li className=\"workbenchTree-placeholder-dom\" style={styles} />;\n}\nexport interface TreeNodeProps {\n node: WorkbenchNodeData;\n level: number;\n isFirst?: boolean;\n isLast?: boolean;\n skipNotify?: boolean;\n}\n\nfunction TreeNode({\n node,\n level,\n isFirst,\n isLast,\n}: TreeNodeProps): ReactElement {\n const isLeaf = !node.children?.length;\n const isContainer = node.isContainer;\n const {\n hoverKey,\n activeKey,\n isTransformName,\n basePaddingLeft,\n showMatchedNodeOnly,\n fixedActionsFor,\n collapsible,\n collapsedNodes,\n nodeKey,\n clickFactory,\n mouseEnterFactory,\n mouseLeaveFactory,\n contextMenuFactory,\n onNodeToggle,\n getCollapsedId,\n skipNotify,\n } = useWorkbenchTreeContext();\n const {\n allow,\n allowDragToRoot,\n onDragStart,\n dragElement,\n dragOverElement,\n dragStatus,\n } = useWorkbenchTreeDndContext();\n\n const { actions, actionsHidden, onActionClick } =\n useWorkbenchActionsContext();\n\n const nodePaddingLeft = level * treeLevelPadding + basePaddingLeft - 2;\n const searching = useContext(SearchingContext);\n const [cacheDragStatus, setCacheDragStatus] = useState(null);\n const [collapseClicked, setCollapseClicked] = useState(false);\n const [collapsed, setCollapsed] = useState(\n collapsedNodes?.includes(getCollapsedId?.(node)) ?? false\n );\n\n const onMouseEnter = useMemo(\n () => mouseEnterFactory?.(node),\n [mouseEnterFactory, node]\n );\n const onMouseLeave = useMemo(\n () => mouseLeaveFactory?.(node),\n [mouseLeaveFactory, node]\n );\n\n const onContextMenu = useCallback(\n (e: React.MouseEvent) => {\n e.stopPropagation();\n contextMenuFactory?.(node)?.(e);\n },\n [contextMenuFactory, node]\n );\n\n const isActive = activeKey && node.key === activeKey;\n\n const nodeLabelCallback = useMemo(\n () =>\n isActive\n ? (element: HTMLElement) => {\n element?.scrollIntoView?.({\n block: \"center\",\n inline: \"center\",\n // behavior: \"smooth\",\n });\n }\n : null,\n // Only for initial active node.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []\n );\n\n const nodeUid = useMemo(() => {\n if (isContainer) {\n return node.key;\n }\n if (node.data) {\n const getNodeUid = (data: Record<string, any>): number | string => {\n return data.type === \"mount-point\"\n ? data.parent[nodeKey] || `${data.parent.$$uid}:${data.mountPoint}`\n : data[nodeKey] || data.$$uid;\n };\n return getNodeUid(node.data);\n }\n }, [nodeKey, node, isContainer]);\n\n useEffect(() => {\n if (dragStatus === dragStatusEnum.inside) {\n return;\n }\n if ([dragStatusEnum.top, dragStatusEnum.bottom].includes(dragStatus)) {\n setCacheDragStatus(dragStatus);\n }\n }, [dragStatus]);\n\n const isDragElement = useMemo(() => {\n if (dragElement) {\n const dragUid = dragElement.dataset.uid;\n return dragUid === String(nodeUid);\n }\n return false;\n }, [dragElement, nodeUid]);\n\n const isDragActive = useMemo(() => {\n if (dragOverElement) {\n const dragUid = dragOverElement.dataset.uid;\n return dragUid === String(nodeUid);\n }\n return false;\n }, [dragOverElement, nodeUid]);\n\n const nodeStyle = useMemo((): React.CSSProperties => {\n const commomStyle: React.CSSProperties = {};\n let style: React.CSSProperties = {\n opacity: isDragElement ? 0.2 : 1,\n };\n if (isDragActive) {\n if (dragStatus === dragStatusEnum.inside) {\n style = {\n boxShadow: borderStyle,\n background: \"rgba(255, 255, 255, 0.1)\",\n };\n }\n }\n return Object.assign(commomStyle, style);\n }, [isDragActive, isDragElement, dragStatus]);\n\n const handleCollapse = useCallback((event: React.MouseEvent | MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n setCollapseClicked(true);\n setCollapsed((prev) => !prev);\n }, []);\n\n const preventMouseEvent = useCallback((event: React.MouseEvent) => {\n event.preventDefault();\n event.stopPropagation();\n }, []);\n\n const onLinkClick = useCallback(\n (e: MouseEvent | React.MouseEvent) => {\n if (isContainer) {\n handleCollapse(e);\n } else {\n return clickFactory?.(node)?.();\n }\n },\n [clickFactory, handleCollapse, isContainer, node]\n );\n\n useEffect(() => {\n if (collapseClicked) {\n onNodeToggle?.(getCollapsedId?.(node), collapsed);\n }\n }, [collapseClicked, collapsed, getCollapsedId, node, onNodeToggle]);\n\n // Disallow collapse leaf nodes, or any nodes when searching.\n const allowCollapse = collapsible && !isLeaf && !searching;\n\n if (searching && showMatchedNodeOnly && !node.matched) {\n return null;\n }\n\n return (\n <>\n {isDragActive &&\n (allowDragToRoot || level !== 1) &&\n cacheDragStatus === dragStatusEnum.top && (\n <PlaceholderDOM\n style={{\n marginLeft: nodePaddingLeft,\n }}\n />\n )}\n <li\n draggable={allow}\n onDragStart={(e) => onDragStart(e, node)}\n data-uid={nodeUid}\n data-level={level}\n style={nodeStyle}\n {...(isContainer\n ? {\n \"data-container\": isContainer,\n }\n : {})}\n >\n <WrappedLink\n tabIndex={0}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n onContextMenu={onContextMenu}\n // noEmptyHref={true}\n onClick={onLinkClick}\n {...(skipNotify\n ? {\n // TODO: link should support\n url: {\n pathname: get(node.link, \"url\", \"href\"),\n state: {\n notify: false,\n },\n } as any,\n }\n : { ...pick(node.link, [\"url\", \"href\"]) })}\n >\n <span\n className={classNames(\"nodeLabelRow\", {\n active: isActive,\n hover: hoverKey && node.key === hoverKey,\n matched: searching && node.matchedSelf && !showMatchedNodeOnly,\n fixedActions:\n fixedActionsFor &&\n []\n .concat(fixedActionsFor)\n .some((source) =>\n isMatch(node.data as Record<string, unknown>, source)\n ),\n collapsed: allowCollapse && collapsed,\n collapsible: allowCollapse,\n })}\n >\n <span\n className={classNames(\"nodeLabel\", {\n unreachable: node.unreachable,\n })}\n style={{\n paddingLeft: nodePaddingLeft,\n color: node.labelColor,\n }}\n ref={nodeLabelCallback}\n >\n <span className=\"nodeIconWrapper\">\n {allowCollapse && (\n <span\n className=\"collapseIcon\"\n onClick={handleCollapse}\n onMouseDown={preventMouseEvent}\n title={collapsed ? \"Expand\" : \"Collapse\"}\n role=\"button\"\n >\n <WrappedGeneralIcon\n lib=\"antd\"\n theme=\"outlined\"\n icon={collapsed ? \"right\" : \"down\"}\n />\n </span>\n )}\n <span className=\"nodeIcon\">\n <WrappedGeneralIcon\n {...(node.icon as GeneralIconProps)}\n style={{\n fontSize: (node.icon as unknown as Record<string, string>)\n ?.imgSrc\n ? 14\n : null,\n }}\n />\n </span>\n </span>\n <span className=\"nodeName\">\n {/* {isTransformName\n ? smartDisplayForEvaluableString(node.name)\n : node.name} */}\n {node.name}\n </span>\n </span>\n <WorkbenchMiniActionBar\n className=\"nodeActionsBar\"\n data={node.data}\n isFirst={isFirst}\n isLast={isLast}\n actions={actions}\n onActionClick={onActionClick}\n actionsHidden={actionsHidden}\n />\n {node.badge && (\n <span className=\"badge\">\n <WrappedGeneralIcon {...(node.badge as GeneralIconProps)} />\n </span>\n )}\n </span>\n </WrappedLink>\n {isLeaf || <TreeList nodes={node.children} level={level + 1} />}\n </li>\n {isDragActive &&\n (allowDragToRoot || level !== 1) &&\n cacheDragStatus === dragStatusEnum.bottom && (\n <PlaceholderDOM\n style={{\n marginLeft: nodePaddingLeft,\n }}\n />\n )}\n </>\n );\n}\n","import _ from \"lodash\";\nimport { WorkbenchNodeData } from \"../interfaces.js\";\n\nexport function getNodeTreeByPath(\n nodes: WorkbenchNodeData[],\n nodeKey: string\n): Array<WorkbenchNodeData> {\n const createNodeByPath = (\n pathList: string[],\n nodes: Array<WorkbenchNodeData>,\n node: WorkbenchNodeData,\n index?: number\n ): void => {\n const path = pathList.shift();\n if (path) {\n pathList.length > 0\n ? pathList.splice(0, 1, `${path}/${pathList[0]}`)\n : pathList;\n const folder = nodes.find(\n (node) => node && node.key === path && node.isContainer\n );\n if (folder) {\n nodes[index] = null;\n createNodeByPath(pathList, folder.children, node);\n } else {\n const newPathList = path.split(\"/\");\n const newNode = {\n name: newPathList.pop(),\n key: path,\n parentPath: newPathList ? newPathList.join(\"/\") : newPathList,\n originKey: node.key,\n data: {\n [nodeKey]: path,\n isContainer: true,\n },\n children: [],\n icon: {\n icon: \"folder\",\n lib: \"antd\",\n theme: \"filled\",\n color: \"orange\",\n },\n isContainer: true,\n } as WorkbenchNodeData;\n if (typeof index === \"number\") {\n nodes[index] = newNode;\n } else {\n nodes.push(newNode);\n }\n createNodeByPath(pathList, newNode.children, node);\n }\n } else {\n nodes.push(node);\n }\n };\n\n nodes.forEach((node, index) => {\n if (node.path) {\n const pathList = node.path.split(\"/\").filter(Boolean);\n createNodeByPath(pathList, nodes, node, index);\n }\n });\n return nodes.filter(Boolean);\n}\n\nexport function getNodesByPathTree(\n nodes: Array<WorkbenchNodeData>\n): Array<WorkbenchNodeData> {\n const result: Array<WorkbenchNodeData> = [];\n const walk = (nodes: Array<WorkbenchNodeData>): void => {\n nodes.forEach((item) => {\n if (item.isContainer) {\n walk(item.children);\n } else {\n result.push(_.omit(item, [\"path\", \"icon\"]) as WorkbenchNodeData);\n }\n });\n };\n walk(nodes);\n return result;\n}\n","export function setDragImage(\n e: DragEvent | React.DragEvent,\n title: string\n): void {\n const canvas = document.createElement(\"canvas\");\n document.body.append(canvas);\n const context = canvas.getContext(\"2d\");\n canvas.width = context.measureText(title).width + 60;\n canvas.height = 20;\n canvas.style.position = \"absolute\";\n canvas.style.left = \"-100%\";\n canvas.style.zIndex = \"-100\";\n\n context.fillStyle = \"#333333\";\n context.fillRect(0, 0, canvas.width, canvas.height);\n\n context.fillStyle = \"#999999\";\n context.font = \"bold 14px Arial\";\n context.fillText(title, 20, 15);\n\n e.dataTransfer.setDragImage(canvas, 0, 0);\n}\n","import { createContext, useContext } from \"react\";\nimport type { WorkbenchNodeData } from \"../../interfaces.js\";\nimport { dragStatusEnum } from \"./WorkbenchTreeDndContext.js\";\n\nexport interface dropOptions {\n curElement: HTMLElement;\n overElement: HTMLElement;\n parentElement: HTMLElement;\n overStatus: dragStatusEnum;\n}\n\nexport interface ContextOfWorkbenchTree {\n hoverKey?: string | number;\n activeKey?: string | number;\n basePaddingLeft?: number;\n showMatchedNodeOnly?: boolean;\n isTransformName?: boolean;\n fixedActionsFor?: Record<string, unknown> | Record<string, unknown>[];\n collapsible?: boolean;\n collapsedNodes?: (string | number)[];\n nodeKey?: string;\n clickFactory?(node: WorkbenchNodeData): () => void;\n mouseEnterFactory?(node: WorkbenchNodeData): () => void;\n mouseLeaveFactory?(node: WorkbenchNodeData): () => void;\n contextMenuFactory?(\n node?: WorkbenchNodeData\n ): (event: React.MouseEvent) => void;\n matchNode?(node: WorkbenchNodeData, lowerTrimmedQuery?: string): boolean;\n onNodeToggle?(nodeId: string | number, collapsed: boolean): void;\n getCollapsedId?(node: WorkbenchNodeData): string | number;\n onBrickDrop?(e: React.DragEvent<HTMLElement>, options: dropOptions): void;\n skipNotify?: boolean;\n}\n\nexport const WorkbenchTreeContext = createContext<ContextOfWorkbenchTree>({});\n\nexport function useWorkbenchTreeContext(): ContextOfWorkbenchTree {\n return useContext(WorkbenchTreeContext);\n}\n","export function deepFilter<T>(data: Array<T>, q: string): Array<T> {\n const trimmedQuery = q?.trim();\n if (!trimmedQuery) {\n return data.slice();\n }\n return data.filter((item) => deepMatch(item, trimmedQuery.toLowerCase()));\n}\n\nexport function deepMatch(data: unknown, lowerTrimmedQuery: string): boolean {\n switch (typeof data) {\n case \"string\":\n return data.toLowerCase().includes(lowerTrimmedQuery);\n case \"boolean\":\n case \"number\":\n return String(data).includes(lowerTrimmedQuery);\n case \"object\":\n return data === null\n ? \"null\".includes(lowerTrimmedQuery)\n : (Array.isArray(data) ? data : Object.entries(data).flat()).some(\n (item) => deepMatch(item, lowerTrimmedQuery)\n );\n default:\n return false;\n }\n}\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.actionsBar{display:flex;align-items:center;padding:0 3px}.action{display:flex;justify-content:center;align-items:center;width:20px;height:20px;border-radius:5px}.action:hover{color:#fff;background-color:rgba(90,93,94,0.31)}.action{color:#c5c5c5}.disabled,\n.disabled:hover{color:var(--color-disabled-text);cursor:not-allowed;background-color:initial}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n","// Imports\nimport ___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/noSourceMaps.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `:host-context(html[data-theme=\"light\"]),\n:host-context(html[data-override-theme=\"light\"]){--search-box-background:#fff;--node-color:#595959;--node-color-focus:#595959;--node-background-active:#e0eeff;--node-background-focus:#e0eeff;--node-icon-background-hover:#fff}:host-context(html[data-theme=\"dark-v2\"]),\n:host-context(html[data-override-theme=\"dark-v2\"]){--search-box-background:#181818;--node-color:#c5c5c5;--node-color-focus:#fff;--node-background-active:rgba(255,255,255,0.08);--node-background-focus:#1a7aff;--node-icon-background-hover:rgba(90,93,94,0.31)}.searchBox{position:-webkit-sticky;position:sticky;top:0;background-color:var(--search-box-background);padding:5px 10px 10px;z-index:1}.searchBox .filter-input-wrapper{background-color:var(--search-box-background);border:1px solid rgba(255,255,255,0.2);position:relative;width:100%;min-width:0;padding:2px 7px;color:var(--antd-input-color);font-size:14px;line-height:1.5715;display:inline-flex;border-radius:3px;transition:all 0.3s;box-sizing:border-box}.searchBox .filter-input-wrapper.focus{background-color:var(--search-box-background);border:1px solid rgba(255,255,255,0.2);border-right-width:1px!important;outline:0;box-shadow:0 0 0 2px rgba(0,113,235,0.2)}.searchBox .filter-input-wrapper input{text-overflow:ellipsis;border:none;outline:none;border-radius:3px;background-color:var(--search-box-background);box-sizing:border-box;margin:0;padding:0;color:var(--antd-text-color);font-variant:tabular-nums;list-style:none;font-feature-settings:\"tnum\";position:relative;display:inline-block;width:100%;min-width:0;color:var(--antd-input-color);font-size:14px;line-height:1.5715;background-image:none;transition:all 0.3s}.prefix{margin-right:4px}.suffix{margin-left:4px}.searchBox .prefix,\n.searchBox .suffix{display:flex;flex:none;align-items:center}.clear-button{cursor:pointer}.tree{list-style:none;margin:0;padding:0}.placeholder{color:var(--antd-input-placeholder-color);padding:0 15px}.nodeLabelRow{display:flex;cursor:pointer;height:22px;padding-right:10px}.nodeLabelRow:hover,\n.nodeLabelRow.hover{background-color:rgba(255,255,255,0.12)}.nodeLabelRow:focus{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:var(--node-background-focus)}.nodeLabelRow.active:focus{background-color:var(--node-background-focus)}.nodeLabel{display:flex;align-items:center;min-width:0;flex:1}.unreachable{opacity:0.3}.nodeAction,\n.nodeAction:hover,\n.nodeLabelRow .nodeLabel{color:var(--node-color)}.nodeLabelRow:focus .nodeLabel{color:var(--node-color-focus)}.nodeLabelRow.matched .nodeLabel{color:var(--palette-orange-6)}.nodeLabelRow.active{background-color:var(--node-background-active)}.nodeIconWrapper{display:flex;width:24px;flex-shrink:0}.nodeIcon,\n.collapseIcon{display:flex;justify-content:center;align-items:center;width:20px;height:20px;border-radius:5px;font-size:13px}.collapseIcon{display:none}.nodeLabelRow.collapsed .nodeIcon,\n.nodeLabelRow.collapsible .nodeIconWrapper:hover .nodeIcon{display:none}.nodeLabelRow.collapsed .collapseIcon,\n.nodeLabelRow.collapsible .nodeIconWrapper:hover .collapseIcon{display:flex}.nodeLabelRow.collapsible .nodeIcon:hover,\n.nodeLabelRow.collapsible .collapseIcon:hover{background-color:var(--node-icon-background-hover)}.nodeName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nodeLabelRow:not(:hover, .fixedActions) .nodeActionsBar{display:none}.badge{margin:0 3px}.collapsed + .tree{display:none}.hightlight{outline-width:1px;outline-style:solid;outline-offset:-1px;outline-color:#fcd93f}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___.toString();\n"],"names":["WorkbenchActionsContext","createContext","useWorkbenchActionsContext","useContext","dragStatusEnum","WorkbenchTreeDndContext","useWorkbenchTreeDndContext","WrappedGeneralIcon","wrapBrick","WorkbenchMiniActionBar","_ref","data","className","gap","isFirst","isLast","actions","actionsHidden","onActionClick","enabledActions","useMemo","filter","item","checkIfByTransform","length","React","classNames","style","map","WorkbenchSubAction","key","action","_ref2","disabled","handleActionClick","useCallback","event","preventDefault","stopPropagation","preventMouseEvent","title","role","onClick","onContextMenu","onMouseDown","icon","WrappedLink","treeLevelPadding","borderStyle","SearchingContext","WorkbenchTree","nodes","originNode","placeholder","searchPlaceholder","isDrag","noSearch","allowDrag","allowDragToRoot","allowDragToInside","dropEmit","q","setQ","useState","isDragging","setIsDragging","curNode","setCurNode","curElement","setCurElement","overNode","setOverNode","overElement","setOverElement","overStatus","setOverStatus","isFocus","setIsFocus","nodeKey","onBrickDrop","contextMenuFactory","matchNode","useWorkbenchTreeContext","_originNode$slice","createNodeByPath","pathList","node","index","path","shift","splice","concat","folder","find","isContainer","children","newPathList","split","newNode","name","pop","parentPath","join","originKey","lib","theme","color","push","forEach","Boolean","getNodeTreeByPath","slice","handleSearchChange","target","value","trimmedLowerQ","trim","toLowerCase","filteredNodes","walk","_node$children","matchedSelf","hasMatchedChildren","includes","matched","findDragParent","element","equal","arguments","undefined","draggable","tagName","parentElement","findNode","id","handleOnDragEnd","useEffect","window","addEventListener","removeEventListener","height","e","focus","onChange","onFocus","onBlur","autoComplete","handleClearInput","Provider","allow","dragElement","dragOverElement","dragStatus","onDragStart","handleOnDragStart","_element$dataset","dataset","container","canvas","document","createElement","body","append","context","getContext","width","measureText","position","left","zIndex","fillStyle","fillRect","font","fillText","dataTransfer","setDragImage","innerText","classnames","hightlight","onDragOver","dom","uid","status","top","bottom","getBoundingClientRect","repair","clientY","inside","getDragState","contains","onDrop","Number","level","realOverNode","findRealNode","i","overUid","filterNodes","flag","realOverKey","newNodes","findIndex","normalizeNode","result","_","getNodesByPathTree","realCurNode","TreeList","lastIndex","checkIfOfComputed","TreeNode","PlaceholderDOM","_ref3","styles","_objectSpread","border","opacity","_ref4","_node$children2","_collapsedNodes$inclu","_node$icon","isLeaf","hoverKey","activeKey","isTransformName","basePaddingLeft","showMatchedNodeOnly","fixedActionsFor","collapsible","collapsedNodes","clickFactory","mouseEnterFactory","mouseLeaveFactory","onNodeToggle","getCollapsedId","skipNotify","nodePaddingLeft","searching","cacheDragStatus","setCacheDragStatus","collapseClicked","setCollapseClicked","collapsed","setCollapsed","onMouseEnter","onMouseLeave","_contextMenuFactory","isActive","nodeLabelCallback","_element$scrollIntoVi","scrollIntoView","call","block","inline","nodeUid","type","parent","$$uid","mountPoint","isDragElement","String","isDragActive","nodeStyle","boxShadow","background","Object","assign","handleCollapse","prev","onLinkClick","_clickFactory","allowCollapse","marginLeft","_extends","tabIndex","url","pathname","get","link","state","notify","pick","active","hover","fixedActions","some","source","isMatch","unreachable","paddingLeft","labelColor","ref","fontSize","imgSrc","badge","WorkbenchTreeContext","deepMatch","lowerTrimmedQuery","Array","isArray","entries","flat","___CSS_LOADER_EXPORT___","module","toString"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_visual_builder=self.webpackChunk_next_bricks_visual_builder||[]).push([[9194],{9194:(e,t,r)=>{r.d(t,{Z:()=>D});var n,i=r(4795),a=r(3028),o=r(7717),s=r(5178),d=r(1763),p=r.n(d)();function l(){return(l=(0,i.Z)((function*(e,t){var r,n=yield p(document.body,{logging:!1,scale:1,width:window.innerWidth,height:window.innerHeight,foreignObjectRendering:!0}),i=document.createElement("canvas");return function(e,t,r,n){var i=r/n,{width:a,height:o}=e,s=a/o,d=s>=i,p=d?r:n*s,l=d?r/s:n;t.width=p,t.height=l,t.getContext("2d").drawImage(e,0,0,a,o,0,0,p,l),t.toDataURL()}(n,i,e,t),yield(r=i,new Promise((function(e,t){r.toBlob((function(r){r?e(r):t()}))})))}))).apply(this,arguments)}function c(e){var t;e.preventDefault(),e.stopPropagation(),(t=y(e.target)).length>0&&window.parent.postMessage({sender:"previewer",type:"select-brick",iidList:t},n)}function u(e){e.preventDefault(),e.stopPropagation()}var v=(0,s.throttle)((e=>{var t=y(e.target);t.length>0&&window.parent.postMessage({sender:"previewer",type:"hover-on-brick",iidList:t},n)}),100,{leading:!1});function w(e){e.preventDefault(),e.stopPropagation(),v(e)}function h(e){e.preventDefault(),e.stopPropagation(),v(e)}function g(e){e.preventDefault(),e.stopPropagation(),window.parent.postMessage({sender:"previewer",type:"hover-on-brick",iidList:[]},n)}function m(e){var t,r,i;e.preventDefault(),e.stopPropagation(),t=e.target,r={x:e.clientX,y:e.clientY},(i=y(t)).length>0&&window.parent.postMessage({sender:"previewer",type:"context-menu-on-brick",iidList:i,position:r},n)}function y(e){for(var t=[],r=e;r;)"string"==typeof r.dataset.iid&&t.push(r.dataset.iid),r=r.parentElement;return t}var b=!1,f=o.getHistory,S=o.matchPath,k=o.__secret_internals,x=!1;try{var E,L=window.dll;if(L&&null!==(E=window.BRICK_NEXT_VERSIONS)&&void 0!==E&&null!==(E=E["brick-container"])&&void 0!==E&&E.startsWith("2.")){var{getHistory:I,developHelper:P}=L("tYg3"),{matchPath:C}=L("A+yw");f=I,S=C,k=(0,a.Z)((0,a.Z)({},P),{},{getContextValue(e,t){var{tplStateStoreId:r}=t;return P.getContextValue(e,{tplContextId:r})},getAllContextValues(e){var{tplStateStoreId:t}=e,r=P.getAllContextValues({tplContextId:t});return Object.fromEntries([...r].map((e=>{var[t,r]=e;return[t,r.value]})))}}),x=!0}}catch(e){console.error("Try to use v2 runtime APIs failed:",e)}function D(e,t){return T.apply(this,arguments)}function T(){return T=(0,i.Z)((function*(e,t){if(!b){b=!0;var r,d,p,v,E=t=>{window.parent.postMessage((0,a.Z)({sender:"previewer"},t),e)};E({type:"preview-started"}),n=e;var L,I=(e,t,r)=>{var n=N(t);E({type:"highlight-brick",highlightType:e,outlines:n,iid:t,alias:r})};t.templateId&&(L=t.settings);var P=()=>{k.updateTemplatePreviewSettings(t.appId,t.templateId,L),f().reload()},C=()=>{k.updateSnippetPreviewSettings(t.appId,JSON.parse(t.snippetData)),f().reload()},D=f();window.addEventListener("message",function(){var a=(0,i.Z)((function*(i){var a,b,S,{data:T,origin:_}=i;if(_===e&&T&&"preview-container"===T.sender)if("builder"===T.forwardedFor)switch(T.type){case"hover-on-brick":r=T.iid,d=T.alias,I("hover",T.iid,T.alias);break;case"hover-on-main":I("hover","#main-mount-point","root");break;case"hover-on-context":S=T.highlightNodes.map((e=>N(e.iid,e.alias))).flat(),E({type:"highlight-context",outlines:S});break;case"select-brick":p=T.iid,v=T.alias,I("active",T.iid,T.alias);break;case"hover-on-iframe":(e=>{var t=document.elementFromPoint(e.x,e.y);if("BODY"===(null==t?void 0:t.tagName))window.parent.postMessage({sender:"previewer",type:"hover-on-main",isDirection:!0,position:{x:e.x,y:e.y}},n);else{var r=y(t);window.parent.postMessage({sender:"previewer",type:"hover-on-brick",iidList:r,isDirection:!0,position:{x:e.x,y:e.y}},n)}})(T.position)}else switch(T.type){case"toggle-inspecting":T.enabled?(window.addEventListener("click",c,!0),window.addEventListener("mousedown",u,!0),window.addEventListener("mouseover",u,!0),window.addEventListener("mouseup",u,!0),window.addEventListener("pointerdown",w,!0),window.addEventListener("pointerover",h,!0),window.addEventListener("pointerup",u,!0),window.addEventListener("pointerleave",g,!0),window.addEventListener("contextmenu",m,!0)):(window.removeEventListener("click",c,!0),window.removeEventListener("mousedown",u,!0),window.removeEventListener("mouseover",u,!0),window.removeEventListener("mouseup",u,!0),window.removeEventListener("pointerdown",w,!0),window.removeEventListener("pointerover",h,!0),window.removeEventListener("pointerup",u,!0),window.removeEventListener("pointerleave",g,!0),window.removeEventListener("contextmenu",m,!0));break;case"refresh":if(null!==(a=T.options)&&void 0!==a&&a.updateStoryboardType){var A,M;"route"===T.options.updateStoryboardType?k.updateStoryboardByRoute(t.appId,T.storyboardPatch):"template"===T.options.updateStoryboardType?k.updateStoryboardByTemplate(t.appId,T.storyboardPatch,T.options.settings):"snippet"===T.options.updateStoryboardType&&k.updateStoryboardBySnippet(t.appId,T.storyboardPatch);var B=yield null===(A=(M=k).getAddedContracts)||void 0===A?void 0:A.call(M,T.storyboardPatch,{appId:t.appId,updateStoryboardType:T.options.updateStoryboardType,formId:t.formId,provider:"visual-builder.collect-used-contracts"});(0,s.isEmpty)(B)?f().reload():E({type:"contract-update",data:{add:B}});break}k.updateStoryboard(t.appId,T.storyboardPatch),t.templateId?(L=T.settings,P()):null!==(b=T.options)&&void 0!==b&&b.snippetData?(t.snippetData=T.options.snippetData,C()):f().reload();break;case"reload":location.reload();break;case"back":D.goBack();break;case"forward":D.goForward();break;case"capture":(function(e,t){return l.apply(this,arguments)})(T.maxWidth,T.maxHeight).then((e=>{E({type:"capture-ok",screenshot:e})}),(()=>{E({type:"capture-failed"})}));break;case"inspect-data-value":((e,t)=>{try{var r,n,i,{dataType:a}=t,o=x?"tplContextId":"tplStateStoreId";if("state"===a&&!(r=document.querySelector("#main-mount-point").firstChild.dataset[o]))return void E({type:"inspect-data-value-error",data:{error:{message:"tplStateStoreId not found, unable to preview STATE value"}}});if(e)i="inspect-single-data-value-success",n=k.getContextValue(e,{tplStateStoreId:r});else{i="inspect-all-data-values-success";var s=k.getAllContextValues({tplStateStoreId:r});n=Object.entries(s).map((e=>{var[t,r]=e;return{name:t,value:r}}))}E({type:i,data:{name:e,value:n}})}catch(e){E({type:"inspect-data-value-error",data:{message:e.message}})}})(T.name,T.option);break;case"update-preview-url":var O=T.previewUrl.startsWith(window.origin)?T.previewUrl.substring(window.origin.length):T.previewUrl,Z=(0,o.getBasePath)(),H=O.startsWith(Z)?O.substring(Z.length-1):O;f().push(H);break;case"update-preview-route":t.routePath=T.routePath,t.routeExact=T.routeExact}}));return function(e){return a.apply(this,arguments)}}()),window.addEventListener("scroll",(()=>{E({type:"scroll",scroll:{x:window.scrollX,y:window.scrollY}})}));var T=!0,_=e=>{if(E({type:"url-change",url:location.origin+D.createHref(e)}),t.routePath){var r=!!S(e.pathname,{path:t.routePath,exact:t.routeExact});if(E({type:"route-match-change",match:r}),t.templateId&&!T&&r){var n=document.querySelector("#main-mount-point"),i=new MutationObserver((()=>{1===n.childNodes.length&&"SPAN"===n.firstChild.tagName&&0===n.firstChild.childNodes.length&&(P(),i.disconnect())}));i.observe(n,{childList:!0})}if(t.snippetData&&!T&&r){var a=document.querySelector("#main-mount-point"),o=new MutationObserver((()=>{1===a.childNodes.length&&"SPAN"===a.firstChild.tagName&&0===a.firstChild.childNodes.length&&(C(),o.disconnect())}));o.observe(a,{childList:!0})}T=r}};_(D.location),D.listen(_),t.templateId&&P(),t.snippetData&&C(),new MutationObserver((0,s.throttle)((()=>{r&&I("hover",r,d),p&&I("active",p,v)}),100,{leading:!1})).observe(document.body,{subtree:!0,childList:!0})}})),T.apply(this,arguments)}function N(e,t){if(!e)return[];var r=e.includes("#"),n=function(e,t){return[...e].map((e=>{var{width:r,height:n,left:i,top:a}=e.getBoundingClientRect();return{width:r,height:n,left:i+window.scrollX,top:a+window.scrollY,alias:t}}))}(document.querySelectorAll(r?e:'[data-iid="'.concat(e,'"]')),t);return r?n.map((e=>(0,a.Z)((0,a.Z)({},e),{},{height:window.innerHeight-e.top}))):n}}}]);
2
+ //# sourceMappingURL=9194.79688d4f.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chunks/9194.79688d4f.js","mappings":"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","sources":["webpack:///./src/data-providers/preview/inspector.ts","webpack:///./src/data-providers/preview/capture.ts","webpack:///./src/data-providers/preview/resizeScreenshot.ts","webpack:///./src/data-providers/preview/connect.ts"],"sourcesContent":["// istanbul ignore file: working in progress\n// https://github.com/facebook/react/blob/cae635054e17a6f107a39d328649137b83f25972/packages/react-devtools-shared/src/backend/views/Highlighter/index.js\nimport { throttle } from \"lodash\";\nimport type {\n PreviewMessagePreviewerHoverOnBrick,\n PreviewMessagePreviewerSelectBrick,\n PreviewMessagePreviewerContextMenuOnBrick,\n} from \"./interfaces.js\";\n\nexport let previewProxyOrigin: string;\n\nexport function setPreviewFromOrigin(origin: string): void {\n previewProxyOrigin = origin;\n}\n\nexport function startInspecting(): void {\n registerListeners();\n}\n\nexport function stopInspecting(): void {\n unregisterListeners();\n}\n\nfunction registerListeners(): void {\n window.addEventListener(\"click\", onClick, true);\n window.addEventListener(\"mousedown\", onMouseEvent, true);\n window.addEventListener(\"mouseover\", onMouseEvent, true);\n window.addEventListener(\"mouseup\", onMouseEvent, true);\n window.addEventListener(\"pointerdown\", onPointerDown, true);\n window.addEventListener(\"pointerover\", onPointerOver, true);\n window.addEventListener(\"pointerup\", onMouseEvent, true);\n window.addEventListener(\"pointerleave\", onPointerLeave, true);\n window.addEventListener(\"contextmenu\", onContextMenu, true);\n}\n\nfunction unregisterListeners(): void {\n window.removeEventListener(\"click\", onClick, true);\n window.removeEventListener(\"mousedown\", onMouseEvent, true);\n window.removeEventListener(\"mouseover\", onMouseEvent, true);\n window.removeEventListener(\"mouseup\", onMouseEvent, true);\n window.removeEventListener(\"pointerdown\", onPointerDown, true);\n window.removeEventListener(\"pointerover\", onPointerOver, true);\n window.removeEventListener(\"pointerup\", onMouseEvent, true);\n window.removeEventListener(\"pointerleave\", onPointerLeave, true);\n window.removeEventListener(\"contextmenu\", onContextMenu, true);\n}\n\nfunction onClick(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n selectBrick(event.target as HTMLElement);\n}\n\nfunction onMouseEvent(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n}\n\nconst hoverOnBrick = throttle(\n (e: MouseEvent) => {\n const brick = e.target as HTMLElement;\n const iidList = getPossibleBrickIidList(brick);\n if (iidList.length > 0) {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"hover-on-brick\",\n iidList,\n } as PreviewMessagePreviewerHoverOnBrick,\n previewProxyOrigin\n );\n }\n },\n 100,\n { leading: false }\n);\n\nfunction onPointerDown(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n hoverOnBrick(event);\n}\n\nfunction onPointerOver(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n hoverOnBrick(event);\n}\n\nfunction onPointerLeave(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"hover-on-brick\",\n iidList: [],\n } as PreviewMessagePreviewerHoverOnBrick,\n previewProxyOrigin\n );\n}\n\nfunction onContextMenu(event: MouseEvent): void {\n event.preventDefault();\n event.stopPropagation();\n contextMenuOnBrick(event.target as HTMLElement, {\n x: event.clientX,\n y: event.clientY,\n });\n}\n\nfunction contextMenuOnBrick(\n brick: HTMLElement,\n position: {\n x: number;\n y: number;\n }\n): void {\n const iidList = getPossibleBrickIidList(brick);\n if (iidList.length > 0) {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"context-menu-on-brick\",\n iidList,\n position,\n } as PreviewMessagePreviewerContextMenuOnBrick,\n previewProxyOrigin\n );\n }\n}\n\nfunction selectBrick(brick: HTMLElement): void {\n const iidList = getPossibleBrickIidList(brick);\n if (iidList.length > 0) {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"select-brick\",\n iidList,\n } as PreviewMessagePreviewerSelectBrick,\n previewProxyOrigin\n );\n }\n}\n\nexport function getPossibleBrickIidList(brick: HTMLElement): string[] {\n const iidList: string[] = [];\n // Traverse from bottom to up, to find bricks current hover on.\n let cursor: HTMLElement | null = brick;\n while (cursor) {\n if (typeof cursor.dataset.iid === \"string\") {\n iidList.push(cursor.dataset.iid);\n }\n cursor = cursor.parentElement;\n }\n return iidList;\n}\n","// istanbul ignore file: nothing logical except calling html2canvas.\nimport _html2canvas from \"html2canvas\";\nimport { resizeScreenshot } from \"./resizeScreenshot.js\";\n\n// There is a type issue like i18next\nconst html2canvas = _html2canvas as unknown as typeof _html2canvas.default;\n\nfunction getCanvasBlob(canvas: HTMLCanvasElement): Promise<Blob> {\n return new Promise(function (resolve, reject) {\n canvas.toBlob(function (blob: Blob | null) {\n if (blob) {\n resolve(blob);\n } else {\n reject();\n }\n });\n });\n}\n\nexport async function capture(\n maxWidth: number,\n maxHeight: number\n): Promise<Blob> {\n const sourceCanvas = await html2canvas(document.body, {\n logging: false,\n scale: 1,\n width: window.innerWidth,\n height: window.innerHeight,\n foreignObjectRendering: true,\n });\n const targetCanvas = document.createElement(\"canvas\");\n resizeScreenshot(sourceCanvas, targetCanvas, maxWidth, maxHeight);\n const blob = await getCanvasBlob(targetCanvas);\n return blob;\n}\n","export function resizeScreenshot(\n canvas: HTMLCanvasElement,\n targetCanvas: HTMLCanvasElement,\n maxWidth: number,\n maxHeight: number\n): string {\n const targetRatio = maxWidth / maxHeight;\n const { width, height } = canvas;\n const ratio = width / height;\n const wider = ratio >= targetRatio;\n const finalWidth = wider ? maxWidth : maxHeight * ratio;\n const finalHeight = wider ? maxWidth / ratio : maxHeight;\n targetCanvas.width = finalWidth;\n targetCanvas.height = finalHeight;\n\n const ctx = targetCanvas.getContext(\"2d\")!;\n ctx.drawImage(canvas, 0, 0, width, height, 0, 0, finalWidth, finalHeight);\n return targetCanvas.toDataURL();\n}\n","import {\n getHistory as _getHistory,\n getBasePath,\n matchPath as _matchPath,\n __secret_internals as _internals,\n type NextLocation,\n} from \"@next-core/runtime\";\nimport type { BrickConf, CustomTemplate, RouteConf } from \"@next-core/types\";\nimport { isEmpty, pick, throttle } from \"lodash\";\nimport type {\n BrickOutline,\n HighLightNode,\n Position,\n PreviewDataOption,\n PreviewMessageFromPreviewer,\n PreviewMessagePreviewContractUpdate,\n PreviewMessagePreviewDataValueError,\n PreviewMessagePreviewDataValueSuccess,\n PreviewMessagePreviewerCaptureFailed,\n PreviewMessagePreviewerCaptureOk,\n PreviewMessagePreviewerHighlightBrick,\n PreviewMessagePreviewerHighlightContext,\n PreviewMessagePreviewerHoverOnMain,\n PreviewMessagePreviewerRouteMatchChange,\n PreviewMessagePreviewerScroll,\n PreviewMessagePreviewerUrlChange,\n PreviewMessageToPreviewer,\n PreviewSettings,\n PreviewStartOptions,\n} from \"./interfaces.js\";\nimport { capture } from \"./capture.js\";\nimport {\n previewProxyOrigin,\n getPossibleBrickIidList,\n setPreviewFromOrigin,\n startInspecting,\n stopInspecting,\n} from \"./inspector.js\";\n\nlet connected = false;\n\ninterface DLL {\n (moduleId: \"tYg3\"): {\n getHistory: typeof _getHistory;\n developHelper: typeof _internals;\n };\n (moduleId: \"A+yw\"): {\n matchPath: typeof _matchPath;\n };\n}\n\nlet getHistory = _getHistory;\nlet matchPath = _matchPath;\nlet __secret_internals = _internals;\nlet isV2 = false;\n\n// istanbul ignore next\n// Make v3 bricks compatible with Brick Next v2.\ntry {\n const dll = (window as unknown as { dll?: DLL }).dll;\n if (\n dll &&\n window.BRICK_NEXT_VERSIONS?.[\"brick-container\"]?.startsWith(\"2.\")\n ) {\n const { getHistory: getHistoryV2, developHelper: developHelperV2 } =\n dll(\"tYg3\");\n const { matchPath: matchPathV2 } = dll(\"A+yw\");\n getHistory = getHistoryV2;\n matchPath = matchPathV2;\n // The `__secret_internals` of v3 has pretty the same API as\n // `developHelper` of v2, especially those for preview usage.\n __secret_internals = {\n ...developHelperV2,\n getContextValue(name, { tplStateStoreId }) {\n return developHelperV2.getContextValue(name, {\n tplContextId: tplStateStoreId,\n } as any);\n },\n getAllContextValues({ tplStateStoreId }) {\n // V3 returns an object of key-value.\n // While v2 returns a map of ContextItem.\n const v2Map = developHelperV2.getAllContextValues({\n tplContextId: tplStateStoreId,\n } as any) as unknown as Map<string, { value: unknown }>;\n return Object.fromEntries(\n [...v2Map].map(([k, v]) => [k, (v as any).value])\n );\n },\n };\n isV2 = true;\n }\n} catch (e) {\n // eslint-disable-next-line no-console\n console.error(\"Try to use v2 runtime APIs failed:\", e);\n}\n\nexport default async function connect(\n previewFromOrigin: string,\n options: PreviewStartOptions\n) {\n if (connected) {\n return;\n }\n connected = true;\n\n const sendMessage = <T extends PreviewMessageFromPreviewer>(\n message: Omit<T, \"sender\">\n ): void => {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n ...message,\n },\n previewFromOrigin\n );\n };\n\n sendMessage({ type: \"preview-started\" });\n setPreviewFromOrigin(previewFromOrigin);\n\n let hoverIid: string;\n let hoverAlias: string;\n let activeIid: string;\n let activeAlias: string;\n\n const handleHoverOnIframe = (pos: Position): void => {\n const element = document.elementFromPoint(pos.x, pos.y);\n if (element?.tagName === \"BODY\") {\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"hover-on-main\",\n isDirection: true,\n position: {\n x: pos.x,\n y: pos.y,\n },\n } as PreviewMessagePreviewerHoverOnMain,\n previewProxyOrigin\n );\n } else {\n const iidList = getPossibleBrickIidList(element as HTMLElement);\n window.parent.postMessage(\n {\n sender: \"previewer\",\n type: \"hover-on-brick\",\n iidList,\n isDirection: true,\n position: {\n x: pos.x,\n y: pos.y,\n },\n },\n previewProxyOrigin\n );\n }\n };\n\n const sendHighlightBrickOutlines = (\n type: \"hover\" | \"active\",\n iid: string,\n alias: string\n ): void => {\n const outlines = getBrickOutlines(iid);\n sendMessage<PreviewMessagePreviewerHighlightBrick>({\n type: \"highlight-brick\",\n highlightType: type,\n outlines,\n iid: iid,\n alias: alias,\n });\n };\n\n const sendHighlightBricksOutlines = (nodes: HighLightNode[]): void => {\n const outlines = nodes\n .map((node) => getBrickOutlines(node.iid, node.alias))\n .flat();\n sendMessage<PreviewMessagePreviewerHighlightContext>({\n type: \"highlight-context\",\n outlines,\n });\n };\n\n let lastTemplatePreviewSettings: PreviewSettings | undefined;\n if (options.templateId) {\n lastTemplatePreviewSettings = options.settings;\n }\n\n const updateTemplatePreviewSettings = (): void => {\n __secret_internals.updateTemplatePreviewSettings(\n options.appId,\n options.templateId!,\n lastTemplatePreviewSettings\n );\n getHistory().reload();\n };\n\n const updateSnippetPreviewSettings = (): void => {\n __secret_internals.updateSnippetPreviewSettings(\n options.appId,\n JSON.parse(options.snippetData)\n );\n getHistory().reload();\n };\n\n /* const updateFormPreviewSettings = (): void => {\n __secret_internals.updateFormPreviewSettings(\n options.appId,\n options.formId,\n options.formData\n );\n getHistory().reload();\n }; */\n\n const handlePreviewData = (name: string, option: PreviewDataOption): void => {\n try {\n const { dataType } = option;\n let tplStateStoreId;\n const datasetKey = isV2 ? \"tplContextId\" : \"tplStateStoreId\";\n\n if (dataType === \"state\") {\n const mainMountPoint = document.querySelector(\"#main-mount-point\")!;\n\n tplStateStoreId = (mainMountPoint.firstChild as HTMLElement).dataset[\n datasetKey\n ];\n\n if (!tplStateStoreId) {\n sendMessage<PreviewMessagePreviewDataValueError>({\n type: \"inspect-data-value-error\",\n data: {\n error: {\n message:\n \"tplStateStoreId not found, unable to preview STATE value\",\n },\n },\n });\n\n return;\n }\n }\n\n let value, type: PreviewMessagePreviewDataValueSuccess[\"type\"];\n if (name) {\n type = \"inspect-single-data-value-success\";\n value = __secret_internals.getContextValue(name, {\n tplStateStoreId,\n });\n } else {\n type = \"inspect-all-data-values-success\";\n const data = __secret_internals.getAllContextValues({\n tplStateStoreId,\n });\n value = Object.entries(data).map(([name, value]) => ({ name, value }));\n }\n\n sendMessage<PreviewMessagePreviewDataValueSuccess>({\n type,\n data: {\n name,\n value,\n },\n });\n\n // istanbul ignore next\n } catch (error) {\n sendMessage<PreviewMessagePreviewDataValueError>({\n type: \"inspect-data-value-error\",\n data: {\n message: (error as Error).message,\n },\n });\n }\n };\n\n const history = getHistory();\n\n window.addEventListener(\n \"message\",\n async ({ data, origin }: MessageEvent<PreviewMessageToPreviewer>) => {\n if (\n origin !== previewFromOrigin ||\n !data ||\n data.sender !== \"preview-container\"\n ) {\n return;\n }\n if (data.forwardedFor === \"builder\") {\n switch (data.type) {\n case \"hover-on-brick\":\n hoverIid = data.iid;\n hoverAlias = data.alias;\n sendHighlightBrickOutlines(\"hover\", data.iid, data.alias);\n break;\n case \"hover-on-main\":\n sendHighlightBrickOutlines(\"hover\", \"#main-mount-point\", \"root\");\n break;\n case \"hover-on-context\":\n sendHighlightBricksOutlines(data.highlightNodes);\n break;\n case \"select-brick\":\n activeIid = data.iid;\n activeAlias = data.alias;\n sendHighlightBrickOutlines(\"active\", data.iid, data.alias);\n break;\n case \"hover-on-iframe\":\n handleHoverOnIframe(data.position);\n break;\n }\n } else\n switch (data.type) {\n case \"toggle-inspecting\":\n data.enabled ? startInspecting() : stopInspecting();\n break;\n case \"refresh\":\n if (data.options?.updateStoryboardType) {\n if (data.options.updateStoryboardType === \"route\") {\n __secret_internals.updateStoryboardByRoute(\n options.appId,\n data.storyboardPatch as RouteConf\n );\n } else if (data.options.updateStoryboardType === \"template\") {\n __secret_internals.updateStoryboardByTemplate(\n options.appId,\n data.storyboardPatch as CustomTemplate,\n data.options.settings\n );\n } else if (data.options.updateStoryboardType === \"snippet\") {\n __secret_internals.updateStoryboardBySnippet(\n options.appId,\n data.storyboardPatch as {\n snippetId: string;\n bricks: BrickConf[];\n }\n );\n } /* else if (data.options.updateStoryboardType === \"form\") {\n __secret_internals.updateFormPreviewSettings(\n options.appId,\n options.formId,\n data.storyboardPatch as FormDataProperties\n );\n } */\n\n const newContracts = await (\n __secret_internals as any\n ).getAddedContracts?.(data.storyboardPatch, {\n appId: options.appId,\n updateStoryboardType: data.options.updateStoryboardType,\n formId: options.formId,\n provider: \"visual-builder.collect-used-contracts\",\n });\n\n if (!isEmpty(newContracts)) {\n sendMessage<PreviewMessagePreviewContractUpdate>({\n type: \"contract-update\",\n data: {\n add: newContracts,\n },\n });\n } else {\n getHistory().reload();\n }\n\n break;\n }\n __secret_internals.updateStoryboard(\n options.appId,\n data.storyboardPatch\n );\n if (options.templateId) {\n lastTemplatePreviewSettings = data.settings;\n updateTemplatePreviewSettings();\n } /* else if (options.formId || options.formData) {\n updateFormPreviewSettings();\n } */ else if (data.options?.snippetData) {\n options.snippetData = data.options.snippetData;\n updateSnippetPreviewSettings();\n } else {\n getHistory().reload();\n }\n break;\n case \"reload\":\n location.reload();\n break;\n case \"back\":\n history.goBack();\n break;\n case \"forward\":\n history.goForward();\n break;\n case \"capture\":\n capture(data.maxWidth, data.maxHeight).then(\n (screenshot) => {\n sendMessage<PreviewMessagePreviewerCaptureOk>({\n type: \"capture-ok\",\n screenshot,\n });\n },\n () => {\n sendMessage<PreviewMessagePreviewerCaptureFailed>({\n type: \"capture-failed\",\n });\n }\n );\n break;\n case \"inspect-data-value\":\n handlePreviewData(data.name, data.option);\n break;\n case \"update-preview-url\": {\n // Remove origin first.\n const url = data.previewUrl.startsWith(window.origin)\n ? data.previewUrl.substring(window.origin.length)\n : data.previewUrl;\n // Then remove base path.\n const basePath = getBasePath();\n const to = url.startsWith(basePath)\n ? url.substring(basePath.length - 1)\n : url;\n getHistory().push(to);\n break;\n }\n case \"update-preview-route\": {\n options.routePath = data.routePath;\n options.routeExact = data.routeExact;\n break;\n }\n /* case \"excute-proxy-method\": {\n const [ref, method, args = []] = data.proxyMethodArgs;\n try {\n const result = document.body.querySelector(ref)[method](...args);\n window.parent.postMessage({\n sender: \"previewer\",\n type: \"excute-proxy-method-success\",\n data: { method: method, res: result },\n });\n } catch (err) {\n window.parent.postMessage({\n sender: \"previewer\",\n type: \"excute-proxy-method-error\",\n data: { method: method, res: err.message },\n });\n }\n break;\n } */\n }\n }\n );\n\n window.addEventListener(\"scroll\", () => {\n sendMessage<PreviewMessagePreviewerScroll>({\n type: \"scroll\",\n scroll: {\n x: window.scrollX,\n y: window.scrollY,\n },\n });\n });\n\n let previewPageMatch = true;\n const sendLocationChange = (loc: NextLocation): void => {\n sendMessage<PreviewMessagePreviewerUrlChange>({\n type: \"url-change\",\n url: location.origin + history.createHref(loc),\n });\n if (options.routePath) {\n const match = !!matchPath(loc.pathname, {\n path: options.routePath,\n exact: options.routeExact,\n });\n sendMessage<PreviewMessagePreviewerRouteMatchChange>({\n type: \"route-match-change\",\n match,\n });\n\n // Re-update template preview settings once match route again (typically after login).\n if (options.templateId && !previewPageMatch && match) {\n const mainMountPoint = document.querySelector(\"#main-mount-point\")!;\n const placeholderLoadObserver = new MutationObserver(() => {\n // We observe when the placeholder is appeared.\n if (\n mainMountPoint.childNodes.length === 1 &&\n (mainMountPoint.firstChild as HTMLElement).tagName === \"SPAN\" &&\n mainMountPoint.firstChild!.childNodes.length === 0\n ) {\n updateTemplatePreviewSettings();\n placeholderLoadObserver.disconnect();\n }\n });\n placeholderLoadObserver.observe(mainMountPoint, { childList: true });\n }\n /* if (options.formId && !previewPageMatch && match) {\n const mainMountPoint = document.querySelector(\"#main-mount-point\");\n const placeholderLoadObserver = new MutationObserver(() => {\n // We observe when the placeholder is appeared.\n if (\n mainMountPoint.childNodes.length === 1 &&\n (mainMountPoint.firstChild as HTMLElement).tagName === \"SPAN\" &&\n mainMountPoint.firstChild.childNodes.length === 0\n ) {\n updateFormPreviewSettings();\n placeholderLoadObserver.disconnect();\n }\n });\n placeholderLoadObserver.observe(mainMountPoint, { childList: true });\n } */\n if (options.snippetData && !previewPageMatch && match) {\n const mainMountPoint = document.querySelector(\"#main-mount-point\")!;\n const placeholderLoadObserver = new MutationObserver(() => {\n // We observe when the placeholder is appeared.\n if (\n mainMountPoint.childNodes.length === 1 &&\n (mainMountPoint.firstChild as HTMLElement).tagName === \"SPAN\" &&\n mainMountPoint.firstChild!.childNodes.length === 0\n ) {\n updateSnippetPreviewSettings();\n placeholderLoadObserver.disconnect();\n }\n });\n placeholderLoadObserver.observe(mainMountPoint, { childList: true });\n }\n previewPageMatch = match;\n }\n };\n\n sendLocationChange(history.location);\n\n history.listen(sendLocationChange);\n\n if (options.templateId) {\n updateTemplatePreviewSettings();\n }\n\n /* if (options.formId || options.formData) {\n updateFormPreviewSettings();\n } */\n\n if (options.snippetData) {\n updateSnippetPreviewSettings();\n }\n\n const mutationCallback = (): void => {\n if (hoverIid) {\n sendHighlightBrickOutlines(\"hover\", hoverIid, hoverAlias);\n }\n if (activeIid) {\n sendHighlightBrickOutlines(\"active\", activeIid, activeAlias);\n }\n };\n const mutationObserver = new MutationObserver(\n throttle(mutationCallback, 100, { leading: false })\n );\n mutationObserver.observe(document.body, { subtree: true, childList: true });\n}\n\nfunction getBrickOutlines(iid: string, alias?: string): BrickOutline[] {\n if (!iid) {\n return [];\n }\n const isRoot = iid.includes(\"#\");\n const elements = document.querySelectorAll<HTMLElement>(\n isRoot ? iid : `[data-iid=\"${iid}\"]`\n );\n const outlines = getOutlines(elements, alias);\n return isRoot\n ? outlines.map((item) => ({\n ...item,\n height: window.innerHeight - item.top,\n }))\n : outlines;\n}\n\nfunction getOutlines(\n elements: NodeListOf<HTMLElement>,\n alias?: string\n): BrickOutline[] {\n return [...elements].map((element) => {\n const { width, height, left, top } = element.getBoundingClientRect();\n return {\n width,\n height,\n left: left + window.scrollX,\n top: top + window.scrollY,\n alias,\n };\n });\n}\n"],"names":["previewProxyOrigin","html2canvas","_html2canvas","_capture","_asyncToGenerator","maxWidth","maxHeight","canvas","sourceCanvas","document","body","logging","scale","width","window","innerWidth","height","innerHeight","foreignObjectRendering","targetCanvas","createElement","targetRatio","ratio","wider","finalWidth","finalHeight","getContext","drawImage","toDataURL","resizeScreenshot","Promise","resolve","reject","toBlob","blob","apply","arguments","onClick","event","iidList","preventDefault","stopPropagation","getPossibleBrickIidList","target","length","parent","postMessage","sender","type","onMouseEvent","hoverOnBrick","throttle","e","leading","onPointerDown","onPointerOver","onPointerLeave","onContextMenu","brick","position","x","clientX","y","clientY","cursor","dataset","iid","push","parentElement","connected","getHistory","_getHistory","matchPath","_matchPath","__secret_internals","_internals","isV2","_window$BRICK_NEXT_VE","dll","BRICK_NEXT_VERSIONS","startsWith","getHistoryV2","developHelper","developHelperV2","matchPathV2","_objectSpread","getContextValue","name","_ref","tplStateStoreId","tplContextId","getAllContextValues","_ref2","v2Map","Object","fromEntries","map","_ref3","k","v","value","console","error","connect","_x","_x2","_connect","previewFromOrigin","options","hoverIid","hoverAlias","activeIid","activeAlias","sendMessage","message","lastTemplatePreviewSettings","sendHighlightBrickOutlines","alias","outlines","getBrickOutlines","highlightType","templateId","settings","updateTemplatePreviewSettings","appId","reload","updateSnippetPreviewSettings","JSON","parse","snippetData","history","addEventListener","_ref6","_ref5","_data$options","_data$options2","data","origin","forwardedFor","highlightNodes","node","flat","pos","element","elementFromPoint","tagName","isDirection","handleHoverOnIframe","enabled","removeEventListener","updateStoryboardType","_getAddedContracts","_ref7","updateStoryboardByRoute","storyboardPatch","updateStoryboardByTemplate","updateStoryboardBySnippet","newContracts","getAddedContracts","call","formId","provider","isEmpty","add","updateStoryboard","location","goBack","goForward","capture","then","screenshot","handlePreviewData","option","dataType","datasetKey","querySelector","firstChild","entries","_ref4","url","previewUrl","substring","basePath","getBasePath","to","routePath","routeExact","_x3","scroll","scrollX","scrollY","previewPageMatch","sendLocationChange","loc","createHref","match","pathname","path","exact","mainMountPoint","placeholderLoadObserver","MutationObserver","childNodes","disconnect","observe","childList","listen","mutationCallback","subtree","isRoot","includes","elements","left","top","getBoundingClientRect","getOutlines","querySelectorAll","concat","item"],"sourceRoot":""}
@@ -0,0 +1,2 @@
1
+ "use strict";(self.webpackChunk_next_bricks_visual_builder=self.webpackChunk_next_bricks_visual_builder||[]).push([[448,6522],{2812:(e,r,t)=>{t.d(r,{ud:()=>a});var n=t(3028);function a(e){var r,t;return{type:"Root",raw:e,routes:o(e.routes),templates:(t=null===(r=e.meta)||void 0===r?void 0:r.customTemplates,Array.isArray(t)?t.map(i):[])}}function o(e,r){return Array.isArray(e)?e.map((e=>(0,n.Z)((0,n.Z)({type:"Route",raw:e},null!=r&&r.routesOnly?null:{context:v(e.context),redirect:d(e.redirect),menu:p(e.menu),providers:m(e.providers),defineResolves:Array.isArray(e.defineResolves)?e.defineResolves.map((e=>d(e))).filter(Boolean):void 0}),{},{children:"routes"===e.type?o(e.routes,r):c(e.bricks,r)}))):[]}function i(e){return{type:"Template",raw:e,bricks:c(e.bricks),context:v(e.state)}}function c(e,r){return Array.isArray(e)?e.map((e=>s(e,r))):[]}function s(e,r){return(0,n.Z)((0,n.Z)({type:"Brick",raw:e,isUseBrick:null==r?void 0:r.isUseBrick},null!=r&&r.routesOnly?null:(0,n.Z)((0,n.Z)({if:(i=e.if,w(i)?{type:"ResolvableCondition",resolve:d(i)}:{type:"LiteralCondition"}),events:y(e.events),lifeCycle:l(e.lifeCycle)},(t=e.properties,a=[],o=[],function e(r){if(Array.isArray(r))for(var t of r)e(t);else if(w(r))if(r.useBrick||r.useBackend){var n;r.useBrick&&a.push({type:"UseBrickEntry",rawContainer:r,rawKey:"useBrick",children:c([].concat(r.useBrick),{isUseBrick:!0})});var i=null===(n=r.useBackend)||void 0===n?void 0:n.provider;"string"==typeof i&&o.push({type:"UseBackendEntry",rawContainer:r,rawKey:"useBackend",children:[s({brick:i})]})}else for(var l of Object.values(r))e(l)}(t),{useBrick:a,useBackend:o})),{},{context:v(e.context)})),{},{children:f(u(e.children,e.slots),r)});var t,a,o,i}function l(e){if(w(e))return Object.entries(e).map((r=>{var[t,n]=r;switch(t){case"useResolves":return{type:"ResolveLifeCycle",rawContainer:e,rawKey:t,resolves:Array.isArray(n)?n.map((e=>d(e,!0))).filter(Boolean):void 0};case"onPageLoad":case"onPageLeave":case"onAnchorLoad":case"onAnchorUnload":case"onMessageClose":case"onBeforePageLoad":case"onBeforePageLeave":case"onMount":case"onUnmount":case"onMediaChange":return{type:"SimpleLifeCycle",name:t,rawContainer:e,rawKey:t,handlers:b(n)};case"onMessage":case"onScrollIntoView":return{type:"ConditionalLifeCycle",name:t,events:[].concat(n).filter(Boolean).map((e=>({type:"ConditionalEvent",rawContainer:e,rawKey:"handlers",handlers:b(e.handlers)})))};default:return{type:"UnknownLifeCycle"}}}))}function u(e,r){var t=r;if(Array.isArray(e)&&!t)for(var n of(t={},e)){var a,o=null!==(a=n.slot)&&void 0!==a?a:"";Object.prototype.hasOwnProperty.call(t,o)||(t[o]={type:"bricks",bricks:[]}),t[o].bricks.push(n)}return t}function f(e,r){return w(e)?Object.entries(e).map((e=>{var[t,n]=e;return{type:"Slot",raw:n,slot:t,childrenType:"routes"===n.type?"Route":"Brick",children:"routes"===n.type?o(n.routes,r):c(n.bricks,r)}})):[]}function y(e){if(w(e))return Object.entries(e).map((r=>{var[t,n]=r;return{type:"Event",rawContainer:e,rawKey:t,handlers:b(n)}}))}function v(e){if(Array.isArray(e))return e.map((e=>({type:"Context",raw:e,resolve:d(e.resolve),onChange:b(e.onChange)})))}function p(e){if(!1===e)return{type:"FalseMenu"};if(e)switch(e.type){case"brick":return{type:"BrickMenu",raw:e,brick:s(e)};case"resolve":return{type:"ResolvableMenu",resolve:d(e.resolve)};default:return{type:"StaticMenu"}}}function d(e,r){if(w(e))return{type:"Resolvable",raw:e,isConditional:r}}function b(e){return[].concat(e).filter(Boolean).map((e=>({type:"EventHandler",callback:k(e.callback),then:b(e.then),else:b(e.else),raw:e})))}function k(e){if(w(e))return Object.entries(e).map((r=>{var[t,n]=r;return{type:"EventCallback",rawContainer:e,rawKey:t,handlers:b(n)}}))}function m(e){if(Array.isArray(e))return e.map((e=>s("string"==typeof e?{brick:e}:e)))}function w(e){var r=typeof e;return null!=e&&("object"==r||"function"==r)}},6530:(e,r,t)=>{function n(e,r){Array.isArray(e)?a(e,r,[]):o(e,r,[])}function a(e,r,t){if(e)for(var n of e)o(n,r,t)}function o(e,r,t){if(e){r(e,t);var n=t.concat(e);switch(e.type){case"Root":a(e.routes,r,n),a(e.templates,r,n);break;case"Route":a(e.context,r,n),o(e.redirect,r,n),o(e.menu,r,n),a(e.providers,r,n),a(e.defineResolves,r,n),a(e.children,r,n);break;case"Template":a(e.bricks,r,n),a(e.context,r,n);break;case"Brick":o(e.if,r,n),a(e.events,r,n),a(e.lifeCycle,r,n),a(e.useBrick,r,n),a(e.useBackend,r,n),a(e.context,r,n),a(e.children,r,n);break;case"Slot":case"UseBrickEntry":case"UseBackendEntry":a(e.children,r,n);break;case"Context":o(e.resolve,r,n),a(e.onChange,r,n);break;case"ResolvableCondition":case"ResolvableMenu":o(e.resolve,r,n);break;case"ResolveLifeCycle":a(e.resolves,r,n);break;case"Event":case"EventCallback":case"SimpleLifeCycle":case"ConditionalEvent":a(e.handlers,r,n);break;case"EventHandler":a(e.callback,r,n),a(e.then,r,n),a(e.else,r,n);break;case"ConditionalLifeCycle":a(e.events,r,n);break;case"BrickMenu":o(e.brick,r,n)}}}t.d(r,{f:()=>n})},7426:(e,r,t)=>{t.r(r),t.d(r,{collectUsedContracts:()=>i});var n=t(1433),a=t(6530),o=t(2812);function i(e){var r=function(e){var r=new Set;return(0,a.f)(e,(e=>{switch(e.type){case"Resolvable":var t,n=null===(t=e.raw)||void 0===t?void 0:t.useProvider;n&&r.add(n);break;case"EventHandler":var a,o=null===(a=e.raw)||void 0===a?void 0:a.useProvider;o&&r.add(o)}})),r}((0,o.ud)(e)),t=[];for(var n of r)n.includes("@")&&t.push(n);return t}customElements.define("visual-builder.collect-used-contracts",(0,n.createProviderClass)(i))},6666:(e,r,t)=>{t.d(r,{Z:()=>a});var n=t(5850);function a(e,r,t){return(r=(0,n.Z)(r))in e?Object.defineProperty(e,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[r]=t,e}},3028:(e,r,t)=>{t.d(r,{Z:()=>o});var n=t(6666);function a(e,r){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(e,r).enumerable}))),t.push.apply(t,n)}return t}function o(e){for(var r=1;r<arguments.length;r++){var t=null!=arguments[r]?arguments[r]:{};r%2?a(Object(t),!0).forEach((function(r){(0,n.Z)(e,r,t[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):a(Object(t)).forEach((function(r){Object.defineProperty(e,r,Object.getOwnPropertyDescriptor(t,r))}))}return e}},5850:(e,r,t)=>{t.d(r,{Z:()=>a});var n=t(6522);function a(e){var r=function(e,r){if("object"!==(0,n.Z)(e)||null===e)return e;var t=e[Symbol.toPrimitive];if(void 0!==t){var a=t.call(e,"string");if("object"!==(0,n.Z)(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e);return"symbol"===(0,n.Z)(r)?r:String(r)}},6522:(e,r,t)=>{function n(e){return n="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},n(e)}t.d(r,{Z:()=>n})}}]);
2
+ //# sourceMappingURL=collect-used-contracts.5104be3b.js.map