@next-bricks/advanced 0.50.2 → 0.50.4

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 (48) hide show
  1. package/dist/bricks.json +8 -8
  2. package/dist/chunks/{4837.efaf868f.js → 4837.04c758cf.js} +2 -2
  3. package/dist/chunks/{4837.efaf868f.js.map → 4837.04c758cf.js.map} +1 -1
  4. package/dist/chunks/{7218.27d24f55.js → 7218.bcb25b61.js} +2 -2
  5. package/dist/chunks/{7218.27d24f55.js.map → 7218.bcb25b61.js.map} +1 -1
  6. package/dist/chunks/{8382.37b568c1.js → 8382.a9fea9d6.js} +2 -2
  7. package/dist/chunks/8382.a9fea9d6.js.map +1 -0
  8. package/dist/chunks/{9118.5b3f23c5.js → 9118.cc8511ac.js} +3 -3
  9. package/dist/chunks/{9118.5b3f23c5.js.map → 9118.cc8511ac.js.map} +1 -1
  10. package/dist/chunks/948.e02bc040.js +3 -0
  11. package/dist/chunks/948.e02bc040.js.map +1 -0
  12. package/dist/chunks/{capture-snapshot.8f6e201d.js → capture-snapshot.3046c520.js} +2 -2
  13. package/dist/chunks/{capture-snapshot.8f6e201d.js.map → capture-snapshot.3046c520.js.map} +1 -1
  14. package/dist/chunks/{eo-cascader.f15962bc.js → eo-cascader.86a685ca.js} +2 -2
  15. package/dist/chunks/{eo-cascader.f15962bc.js.map → eo-cascader.86a685ca.js.map} +1 -1
  16. package/dist/chunks/{eo-next-table.b3aa73a1.js → eo-next-table.cab33e66.js} +2 -2
  17. package/dist/chunks/{eo-next-table.b3aa73a1.js.map → eo-next-table.cab33e66.js.map} +1 -1
  18. package/dist/chunks/{eo-table.81f03d81.js → eo-table.5dd09651.js} +2 -2
  19. package/dist/chunks/{eo-table.81f03d81.js.map → eo-table.5dd09651.js.map} +1 -1
  20. package/dist/chunks/eo-text-tooltip.74db365e.js.map +1 -1
  21. package/dist/chunks/{eo-tree-select.b56998a8.js → eo-tree-select.31dae71f.js} +2 -2
  22. package/dist/chunks/eo-tree-select.31dae71f.js.map +1 -0
  23. package/dist/chunks/{eo-tree.09821737.js → eo-tree.22180778.js} +3 -3
  24. package/dist/chunks/{eo-tree.09821737.js.map → eo-tree.22180778.js.map} +1 -1
  25. package/dist/chunks/{eo-workbench-layout-v2.b3461c69.js → eo-workbench-layout-v2.24da89e7.js} +3 -3
  26. package/dist/chunks/{eo-workbench-layout-v2.b3461c69.js.map → eo-workbench-layout-v2.24da89e7.js.map} +1 -1
  27. package/dist/chunks/{eo-workbench-layout.ec167db5.js → eo-workbench-layout.1ed8ce80.js} +2 -2
  28. package/dist/chunks/{eo-workbench-layout.ec167db5.js.map → eo-workbench-layout.1ed8ce80.js.map} +1 -1
  29. package/dist/chunks/main.86c53518.js +2 -0
  30. package/dist/chunks/{main.fedc663e.js.map → main.86c53518.js.map} +1 -1
  31. package/dist/index.0f0f0777.js +2 -0
  32. package/dist/{index.1f107633.js.map → index.0f0f0777.js.map} +1 -1
  33. package/dist/manifest.json +40 -40
  34. package/dist-types/cascader/index.d.ts +1 -2
  35. package/dist-types/jsx.d.ts +72 -0
  36. package/dist-types/text-tooltip/index.d.ts +3 -4
  37. package/dist-types/tree-select/index.d.ts +0 -1
  38. package/package.json +5 -3
  39. package/dist/chunks/8382.37b568c1.js.map +0 -1
  40. package/dist/chunks/948.cc530ed3.js +0 -3
  41. package/dist/chunks/948.cc530ed3.js.map +0 -1
  42. package/dist/chunks/eo-tree-select.b56998a8.js.map +0 -1
  43. package/dist/chunks/main.fedc663e.js +0 -2
  44. package/dist/index.1f107633.js +0 -2
  45. /package/dist/chunks/{9118.5b3f23c5.js.LICENSE.txt → 9118.cc8511ac.js.LICENSE.txt} +0 -0
  46. /package/dist/chunks/{948.cc530ed3.js.LICENSE.txt → 948.e02bc040.js.LICENSE.txt} +0 -0
  47. /package/dist/chunks/{eo-tree.09821737.js.LICENSE.txt → eo-tree.22180778.js.LICENSE.txt} +0 -0
  48. /package/dist/chunks/{eo-workbench-layout-v2.b3461c69.js.LICENSE.txt → eo-workbench-layout-v2.24da89e7.js.LICENSE.txt} +0 -0
@@ -1,3 +1,3 @@
1
- /*! For license information please see eo-workbench-layout-v2.b3461c69.js.LICENSE.txt */
2
- (globalThis.webpackChunk_next_bricks_advanced=globalThis.webpackChunk_next_bricks_advanced||[]).push([[771],{1740:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var o="";n.supports&&(o+="@supports (".concat(n.supports,") {")),n.media&&(o+="@media ".concat(n.media," {"));var r=void 0!==n.layer;r&&(o+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),o+=n.css,r&&(o+="}"),n.media&&(o+="}"),n.supports&&(o+="}");var i=n.sourceMap;i&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleTagTransform(o,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},5536:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});var o=n(12559);function r(e,t,n){return n((0,o.A)(e,t))}},8601:(e,t,n)=>{"use strict";n.d(t,{A:()=>g});var o=n(72591),r=n.n(o),i=n(1740),a=n.n(i),s=n(88128),c=n.n(s),l=n(30855),p=n.n(l),d=n(93051),u=n.n(d),m=n(73656),h=n.n(m),A=n(55515),y={};y.styleTagTransform=h(),y.setAttributes=p(),y.insert=c().bind(null,"head"),y.domAPI=a(),y.insertStyleElement=u(),r()(A.A,y);const g=A.A&&A.A.locals?A.A.locals:void 0},25261:(e,t,n)=>{"use strict";n.r(t),n.d(t,{EoWorkbenchLayoutComponent:()=>we,EoWorkbenchLayoutV2:()=>Ce});var o,r=n(74635),i=n(70918),a=n(26902),s=n(5536),c=n(86121),l=n(70829),p=n(62740),d=n(18769),u=n.n(d),m=n(53373),h=n.n(m),A=n(90870),y=n(30981),g=n(49523),v=n(60709),f=n(69113),E=n(45833),k=(n(34419),n(41030)),b=n(42599),M=n(30348),I=n(55188),w=n(61983),C=n(89342),x=n(72465),L=n(41640),T=(n(78259),n(43683)),W=n(69704);let S,D,R,N,_,B,O,P,z,F,G,j,K,H,U,V,Q,$,Z,Y,X,q,J,ee,te,ne,oe,re,ie,ae,se,ce,le,pe,de,ue,me,he;(0,W.initializeReactI18n)(T.NS,T.I);const{defineElement:Ae,property:ye,event:ge,method:ve}=(0,A.createDecorators)(),fe=(0,y.wrapBrick)("eo-button"),Ee=(0,y.wrapBrick)("eo-dropdown-button",{onActionClick:"action.click"}),ke=(0,g.unwrapProvider)("basic.show-dialog"),be=`${window.location.origin}${(0,M.getBasePath)()}api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/sys-setting/object/`,Me=e=>null!=e&&e.includes(":")?e.split(":")[0]:e,{isAdmin:Ie}=f.auth.getAuth(),we=(0,d.forwardRef)((function(e,t){let{cardTitle:n="卡片列表",layouts:o,customDefaultCardConfigMap:r,toolbarBricks:i,componentList:a=[],isEdit:s,showSettingButton:c,onChange:l,onSave:p,onCancel:m,onActionClick:A,onSetting:y,gap:g}=e;const f=(0,d.useMemo)((()=>(0,E.WidthProvider)(E.Responsive)),[]),{t:M}=(0,W.useTranslation)(T.NS),S=(0,d.useRef)(null),D=(0,d.useRef)(null),R=(0,d.useRef)(null!=o?o:[]),[N,_]=(0,d.useState)(R.current),B=(0,d.useMemo)((()=>(0,k.keyBy)(a,"key")),[a]),[O,P]=(0,d.useState)(3),[z,F]=(0,d.useState)(),G=(0,d.useRef)(),j=(0,d.useCallback)((e=>{R.current=e,_(e)}),[]);(0,d.useImperativeHandle)(t,(()=>({setLayouts:j})));const K=(0,d.useCallback)((e=>{j(e),null==l||l(e)}),[l,j]),H=(0,d.useCallback)((e=>{if(!s)return;if(e.some((e=>e.isDraggable)))return;const t=(0,k.keyBy)(N,"i");for(let t=0;t<e.length;t++){const{x:o,w:r,y:i,h:a,i:s,minH:c}=e[t];var n;if(1===r&&o<2)e.find((e=>e.i!==s&&1===e.w&&e.y===i&&o<2))&&(e[t].minH=null!==(n=e[t].minH)&&void 0!==n?n:a);else e[t].h=null!=c?c:a,e[t].minH=void 0}K(e.map((e=>({...null==t?void 0:t[e.i],...e,type:Me(e.i)}))))}),[K,s,N]),U=()=>{K([])},V=(0,d.useCallback)((()=>{null==p||p(N)}),[N,p]),Q=(e,t)=>{const n=(0,C.D)(e.key,r),o=(0,k.keyBy)(t,"i"),i=N.map((e=>({...e,...(0,k.pick)(null==o?void 0:o[e.i],["x","y"])})));let a={...n,...e.position,i:`${e.key}:${Math.random()}`,cardWidth:e.position.w,type:e.key,x:e.position.w>1?0:2*N.length%O,y:1/0};if(t){const e=t.find((e=>"__dropping-elem__"===e.i));return a={...a,...(0,k.pick)(e,"x","y")},void K([a,...i])}K(N.concat(a))},$=(0,d.useCallback)((e=>{var t;K(null!==(t=N.filter((t=>t.i!==e)))&&void 0!==t?t:[])}),[K,N]),Z=(0,d.useCallback)(((e,t)=>{const n=N.find((t=>t.i===e)),o=(2*("solid"===(null==n?void 0:n.cardBorderStyle)&&(null==n?void 0:n.cardBorderWidth)||0)+t+(null!=g?g:16))/((null!=g?g:16)+1),r=s?Math.ceil(o):o;if(n&&(s?Math.ceil(n.h):n.h)!==r){const t=N.map((t=>t.i===e?{...t,h:r}:t));K(t)}}),[N,K,g,s]),Y=(0,d.useMemo)((()=>N.map((e=>{var t,n,o;const r=B[Me(e.type)];if(!r)return null;const i="picture"===(null==e?void 0:e.cardBgType)?`url("${be}${null==e?void 0:e.cardBackground}") no-repeat center / cover`:"realNone"===(null==e?void 0:e.cardBgType)?"none":"color"===(null==e?void 0:e.cardBgType)?null==e?void 0:e.cardBackground:"#fff",a="solid"===(null==e?void 0:e.cardBorderStyle)?`${null==e?void 0:e.cardBorderWidth}px ${null==e?void 0:e.cardBorderStyle} ${null==e?void 0:e.cardBorderColor}`:null!==(t=null==e?void 0:e.cardBorderStyle)&&void 0!==t?t:"1px solid #e8e8e8",c=`${null!==(n=null==e?void 0:e.cardBorderRadius)&&void 0!==n?n:6}px`;return u().createElement("div",{className:"drag-box","data-grid":{...null!==(o=r.position)&&void 0!==o?o:{},...e,w:e.cardWidth||e.w},key:e.i,style:{...r.style||{},background:i,border:a,borderRadius:c,backdropFilter:"blur(10px)"}},u().createElement(b.SizeMe,{monitorHeight:!0},(t=>{let{size:n}=t;return n.height&&Z(e.i,n.height),u().createElement(I.q,{component:r,isEdit:s,layout:e,onDelete:$})})))})).filter(Boolean)),[N,B,s,$,Z]),X=(0,d.useCallback)((()=>{if(D&&s){var e,t;const{top:n}=null!==(e=null===(t=D.current)||void 0===t||null===(t=t.getClientRects())||void 0===t?void 0:t[0])&&void 0!==e?e:{};void 0!==n&&F({height:document.body.clientHeight-n})}}),[s]);return(0,d.useEffect)((()=>{if(s)return X(),j(o||[]),window.addEventListener("resize",X),()=>{window.removeEventListener("resize",X)}}),[s,X,o,j]),u().createElement("div",{className:x.A.gridLayoutWrapper,ref:S},s&&u().createElement("div",{className:x.A.componentWrapper,style:z},u().createElement("div",{className:x.A.componentTitle},n),u().createElement("div",{className:x.A.componentList},null==a?void 0:a.map(((e,t)=>u().createElement(w.T,{component:e,onClick:()=>{Q(e)},onDragStart:()=>{G.current=e},onDragEnd:()=>{G.current=void 0},key:e.key||t}))),(null==i?void 0:i.useBrick)&&u().createElement(v.ReactUseMultipleBricks,{useBrick:i.useBrick}))),u().createElement("div",{className:x.A.layoutWrapper,ref:D,style:z},s&&u().createElement("div",{className:x.A.actionsWrapper},u().createElement(fe,{type:"primary",onClick:V},M(T.K.SAVE)),u().createElement(fe,{onClick:()=>{null==m||m()}},M(T.K.CANCEL)),c&&u().createElement(fe,{"data-testid":"setting-button",onClick:()=>{null==y||y()}},M(T.K.SETTING)),u().createElement(Ee,{btnText:M(T.K.MORE),icon:{lib:"antd",icon:"down"},actions:[...Ie?[{text:M(T.K.SAVE_AS_TEMPLATE),event:"saveAsTemplate"}]:[],{text:M(T.K.LOAD_FROM_TEMPLATE),event:"loadFromTemplate"},{text:M(T.K.CLEAR_ALL),danger:!0,event:"clear"}],onActionClick:e=>{(e=>{const{event:t}=e;"clear"===t?ke({type:"confirm",title:M(T.K.CLEAR_CONFIRM),content:M(T.K.CLEAR_CONFIRM_MESSAGE)}).then(U):null==A||A(e,null!=N?N:[])})(e.detail)},"data-testid":"edit-layout-actions"})),u().createElement(f,{className:h()(x.A.layout,{[`${x.A.layoutEdit}`]:s}),draggableCancel:`.${L.A.deleteIcon},.edit-actions,.ignore-item`,breakpoints:{lg:1300,md:1024,sm:768},rowHeight:1,cols:{lg:3,md:3,sm:s?3:1},isResizable:!1,isDraggable:s,isDroppable:s,compactType:"vertical",margin:[null!=g?g:16,null!=g?g:16],useCSSTransforms:!1,onDropDragOver:()=>{if(G.current)return(0,k.pick)(G.current.position,["w","h"])},onDrop:e=>{G.current&&Q(G.current,e)},onLayoutChange:H,onBreakpointChange:(e,t)=>{P(t)}},Y)))}));let Ce;var xe=new WeakMap,Le=new WeakMap,Te=new WeakMap,We=new WeakMap,Se=new WeakMap,De=new WeakMap,Re=new WeakMap,Ne=new WeakMap,_e=new WeakMap,Be=new WeakMap,Oe=new WeakSet,Pe=new WeakMap,ze=new WeakMap,Fe=new WeakMap,Ge=new WeakMap,je=new WeakMap,Ke=new WeakMap,He=new WeakMap,Ue=new WeakMap,Ve=new WeakMap;class Qe extends y.ReactNextElement{constructor(){super(...arguments),(0,r.A)(this,Oe),(0,i.A)(this,xe,(S(this),(0,d.createRef)())),(0,i.A)(this,Le,R(this)),(0,i.A)(this,Te,(N(this),_(this))),(0,i.A)(this,We,(B(this),O(this))),(0,i.A)(this,Se,(P(this),z(this))),(0,i.A)(this,De,(F(this),G(this))),(0,i.A)(this,Re,(j(this),K(this))),(0,i.A)(this,Ne,(H(this),U(this))),(0,i.A)(this,_e,(V(this),Q(this))),(0,i.A)(this,Be,($(this),Z(this))),(0,i.A)(this,Pe,(q(this),e=>{(0,s.A)(Oe,this,Y).emit(e)})),(0,i.A)(this,ze,J(this)),(0,i.A)(this,Fe,(ne(this),e=>{(0,s.A)(Oe,this,ee).emit(e)})),(0,i.A)(this,Ge,oe(this)),(0,i.A)(this,je,(ae(this),()=>{(0,s.A)(Oe,this,re).emit()})),(0,i.A)(this,Ke,se(this)),(0,i.A)(this,He,(pe(this),()=>{(0,s.A)(Oe,this,ce).emit()})),(0,i.A)(this,Ue,de(this)),(0,i.A)(this,Ve,(he(this),(e,t)=>{(0,s.A)(Oe,this,ue).emit({action:e,layouts:t}),e.event&&this.dispatchEvent(new CustomEvent(e.event,{detail:t}))}))}get cardTitle(){return(0,l.A)(Le,this)}set cardTitle(e){(0,c.A)(Le,this,e)}get isEdit(){return(0,l.A)(Te,this)}set isEdit(e){(0,c.A)(Te,this,e)}get layouts(){return(0,l.A)(We,this)}set layouts(e){(0,c.A)(We,this,e)}get toolbarBricks(){return(0,l.A)(Se,this)}set toolbarBricks(e){(0,c.A)(Se,this,e)}get componentList(){return(0,l.A)(De,this)}set componentList(e){(0,c.A)(De,this,e)}get customDefaultCardConfigMap(){return(0,l.A)(Re,this)}set customDefaultCardConfigMap(e){(0,c.A)(Re,this,e)}get showSettingButton(){return(0,l.A)(Ne,this)}set showSettingButton(e){(0,c.A)(Ne,this,e)}get gap(){return(0,l.A)(_e,this)}set gap(e){(0,c.A)(_e,this,e)}setLayouts(e){var t;null===(t=(0,l.A)(xe,this).current)||void 0===t||t.setLayouts(e)}connectedCallback(){this.style.display||(this.style.display="block"),super.connectedCallback()}render(){return u().createElement(we,{cardTitle:this.cardTitle,layouts:this.layouts,gap:this.gap,toolbarBricks:this.toolbarBricks,componentList:this.componentList,showSettingButton:this.showSettingButton,isEdit:this.isEdit,customDefaultCardConfigMap:this.customDefaultCardConfigMap,onChange:(0,l.A)(Pe,this),onSave:(0,l.A)(Fe,this),onCancel:(0,l.A)(je,this),onActionClick:(0,l.A)(Ve,this),onSetting:(0,l.A)(He,this),ref:(0,l.A)(xe,this)})}}o=Qe,({e:[R,N,_,B,O,P,z,F,G,j,K,H,U,V,Q,$,Z,Y,X,q,J,ee,te,ne,oe,re,ie,ae,se,ce,le,pe,de,ue,me,he,S],c:[Ce,D]}=(0,p.A)(o,[Ae("eo-workbench-layout-v2",{shadowOptions:!1})],[[ye(),1,"cardTitle"],[ye({type:Boolean}),1,"isEdit"],[ye({attribute:!1}),1,"layouts"],[ye({attribute:!1}),1,"toolbarBricks"],[ye({attribute:!1}),1,"componentList"],[ye({attribute:!1}),1,"customDefaultCardConfigMap"],[ye({type:Boolean}),1,"showSettingButton"],[ye({type:Number}),1,"gap"],[ge({type:"change"}),1,"changeEvent",e=>(0,l.A)(Be,e),(e,t)=>(0,c.A)(Be,e,t)],[ge({type:"save"}),1,"saveEvent",e=>(0,l.A)(ze,e),(e,t)=>(0,c.A)(ze,e,t)],[ge({type:"cancel"}),1,"cancelEvent",e=>(0,l.A)(Ge,e),(e,t)=>(0,c.A)(Ge,e,t)],[ge({type:"setting"}),1,"settingEvent",e=>(0,l.A)(Ke,e),(e,t)=>(0,c.A)(Ke,e,t)],[ge({type:"action.click"}),1,"actionClickEvent",e=>(0,l.A)(Ue,e),(e,t)=>(0,c.A)(Ue,e,t)],[ve(),2,"setLayouts"]],0,(e=>Ve.has((0,a.A)(e))),y.ReactNextElement)),D()},30855:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},41640:(e,t,n)=>{"use strict";n.d(t,{A:()=>g});var o=n(72591),r=n.n(o),i=n(1740),a=n.n(i),s=n(88128),c=n.n(s),l=n(30855),p=n.n(l),d=n(93051),u=n.n(d),m=n(73656),h=n.n(m),A=n(61590),y={};y.styleTagTransform=h(),y.setAttributes=p(),y.insert=c().bind(null,"head"),y.domAPI=a(),y.insertStyleElement=u(),r()(A.A,y);const g=A.A&&A.A.locals?A.A.locals:void 0},43683:(e,t,n)=>{"use strict";n.d(t,{I:()=>i,K:()=>o,NS:()=>r});let o=function(e){return e.CLEAR_CONFIRM="CLEAR_CONFIRM",e.CARD_LIST="CARD_LIST",e.CLEAR_CONFIRM_MESSAGE="CLEAR_CONFIRM_MESSAGE",e.SAVE="SAVE",e.CANCEL="CANCEL",e.SETTING="SETTING",e.MORE="MORE",e.SAVE_AS_TEMPLATE="SAVE_AS_TEMPLATE",e.LOAD_FROM_TEMPLATE="LOAD_FROM_TEMPLATE",e.CLEAR_ALL="CLEAR_ALL",e}({});const r="bricks/advanced/eo-workbench-layout-v2",i={en:{CLEAR_CONFIRM:"Clear Confirm",CARD_LIST:"Card List",CLEAR_CONFIRM_MESSAGE:"All cards will be cleared and editing will start from scratch. This operation cannot be undone.",SAVE:"Save",CANCEL:"Cancel",SETTING:"Setting",MORE:"More",SAVE_AS_TEMPLATE:"Save As Template",LOAD_FROM_TEMPLATE:"Load From Template",CLEAR_ALL:"Clear All"},zh:{CLEAR_CONFIRM:"清空确认",CARD_LIST:"卡片列表",CLEAR_CONFIRM_MESSAGE:"将清空所有卡片,从零开始编辑,该操作无法撤回。",SAVE:"保存",CANCEL:"取消",SETTING:"设置",MORE:"更多",SAVE_AS_TEMPLATE:"另存为模板",LOAD_FROM_TEMPLATE:"从模板加载",CLEAR_ALL:"清空所有"}}},53373:(e,t)=>{var n;!function(){"use strict";var o={}.hasOwnProperty;function r(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=a(e,i(n)))}return e}function i(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return r.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var t="";for(var n in e)o.call(e,n)&&e[n]&&(t=a(t,n));return t}function a(e,t){return t?e?e+" "+t:e+t:e}e.exports?(r.default=r,e.exports=r):void 0===(n=function(){return r}.apply(t,[]))||(e.exports=n)}()},55188:(e,t,n)=>{"use strict";n.d(t,{q:()=>u});var o=n(18769),r=n.n(o),i=n(60709),a=n(30981),s=n(41640),c=n(41030);const l=(0,a.wrapBrick)("eo-icon"),p=["x","y","w","h"];function d(e){const{component:t,isEdit:n,onDelete:a,layout:d}=e,u=(0,o.useMemo)((()=>(0,c.cloneDeep)(t.useBrick)),[t.useBrick]),[m,h]=(0,o.useState)((()=>(0,c.omit)({...d,cardWidth:d.cardWidth||t.position.w,cardTitle:t.title},p)));(0,o.useEffect)((()=>{const e=(0,c.omit)({...d,cardWidth:d.cardWidth||t.position.w},p);(0,c.isEqual)(e,m)||h(e)}),[d,m,t.position.w]);const A=(0,o.useMemo)((()=>1!==(null==m?void 0:m.cardBorderWidth)?(null==m?void 0:m.cardBorderWidth)-1:0),[m]),y=(0,o.useMemo)((()=>45+A),[A]),g=(0,o.useMemo)((()=>d.noPadding),[d]),v=(0,o.useMemo)((()=>({top:g?0:15,right:15})),[g]);return r().createElement("div",{className:s.A.itemWrapper},n&&r().createElement("div",{className:s.A.editMask,style:{top:y},onMouseDown:e=>{e.preventDefault()},"data-testid":"droppable-component-layout-item-edit-mask"}),r().createElement(i.ReactUseBrick,{useBrick:u,data:m}),n&&r().createElement(l,{icon:"delete",lib:"antd",style:v,className:s.A.deleteIcon,onClick:e=>{e.preventDefault(),null==a||a(d.i)},"data-testid":"droppable-component-layout-item-delete"}))}const u=(0,o.memo)(d)},55515:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var o=n(36758),r=n.n(o),i=n(40935),a=n.n(i)()(r());a.push([e.id,".componentItemIcon--znvUWa0v{font-size:16px;color:#262626;margin-top:2px}.componentItemWrapper--mLC8xy_9{display:flex;flex-direction:column}.componentItemTitle--zo3KGnys{font-weight:400;font-size:12px;color:#595959;line-height:18px;text-align:left;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.componentItemContent--zOG8IL31{background-color:#f3f4f7;cursor:move;display:flex;justify-content:center;align-items:center}.componentItemThumbnail--epDINDMl{background:#ffffff;border:4px solid #f3f4f7;width:96px;height:64px;border-radius:1px}",""]),a.locals={componentItemIcon:"componentItemIcon--znvUWa0v",componentItemWrapper:"componentItemWrapper--mLC8xy_9",componentItemTitle:"componentItemTitle--zo3KGnys",componentItemContent:"componentItemContent--zOG8IL31",componentItemThumbnail:"componentItemThumbnail--epDINDMl"};const s=a},59224:e=>{"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+"},61590:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var o=n(36758),r=n.n(o),i=n(40935),a=n.n(i)()(r());a.push([e.id,".component--MVAoEnGN{height:100%}.editMask--nl6r17tE{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.deleteIcon--tNyE_ou4{position:absolute;right:15px;top:15px;cursor:pointer;font-size:16px;width:30px;height:30px;display:flex;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text)}.deleteIcon--tNyE_ou4:hover{color:var(--color-error)}.deleteIcon--tNyE_ou4:active{color:var(--color-error-active)}.itemWrapper--_lUkkTz1{position:relative;width:100%}",""]),a.locals={component:"component--MVAoEnGN",editMask:"editMask--nl6r17tE",deleteIcon:"deleteIcon--tNyE_ou4",itemWrapper:"itemWrapper--_lUkkTz1"};const s=a},61983:(e,t,n)=>{"use strict";n.d(t,{T:()=>a});var o=n(18769),r=n.n(o),i=n(8601);function a(e){const{component:t,onClick:n,onDragStart:o,onDragEnd:a}=e,{key:s,title:c,thumbnail:l}=t;return r().createElement("div",{className:i.A.componentItemWrapper,"data-testid":"draggable-component-menu-item"},r().createElement("div",{className:i.A.componentItemTitle},c),r().createElement("div",{className:i.A.componentItemContent,draggable:!0,onDragStart:e=>{e.dataTransfer.setData("text/plain",s),null==o||o()},onDragEnd:a,onClick:n,"data-testid":"draggable-component-menu-item-thumbnail"},r().createElement("img",{className:i.A.componentItemThumbnail,src:l,alt:c})))}},72465:(e,t,n)=>{"use strict";n.d(t,{A:()=>g});var o=n(72591),r=n.n(o),i=n(1740),a=n.n(i),s=n(88128),c=n.n(s),l=n(30855),p=n.n(l),d=n(93051),u=n.n(d),m=n(73656),h=n.n(m),A=n(89739),y={};y.styleTagTransform=h(),y.setAttributes=p(),y.insert=c().bind(null,"head"),y.domAPI=a(),y.insertStyleElement=u(),r()(A.A,y);const g=A.A&&A.A.locals?A.A.locals:void 0},72591:e=>{"use strict";var t=[];function n(e){for(var n=-1,o=0;o<t.length;o++)if(t[o].identifier===e){n=o;break}return n}function o(e,o){for(var i={},a=[],s=0;s<e.length;s++){var c=e[s],l=o.base?c[0]+o.base:c[0],p=i[l]||0,d="".concat(l," ").concat(p);i[l]=p+1;var u=n(d),m={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==u)t[u].references++,t[u].updater(m);else{var h=r(m,o);o.byIndex=s,t.splice(s,0,{identifier:d,updater:h,references:1})}a.push(d)}return a}function r(e,t){var n=t.domAPI(t);return n.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;n.update(e=t)}else n.remove()}}e.exports=function(e,r){var i=o(e=e||[],r=r||{});return function(e){e=e||[];for(var a=0;a<i.length;a++){var s=n(i[a]);t[s].references--}for(var c=o(e,r),l=0;l<i.length;l++){var p=n(i[l]);0===t[p].references&&(t[p].updater(),t.splice(p,1))}i=c}}},73656:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},74635:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});var o=n(72016);function r(e,t){(0,o.A)(e,t),t.add(e)}},78259:(e,t,n)=>{"use strict";var o=n(72591),r=n.n(o),i=n(1740),a=n.n(i),s=n(88128),c=n.n(s),l=n(30855),p=n.n(l),d=n(93051),u=n.n(d),m=n(73656),h=n.n(m),A=n(85689),y={};y.styleTagTransform=h(),y.setAttributes=p(),y.insert=c().bind(null,"head"),y.domAPI=a(),y.insertStyleElement=u(),r()(A.A,y),A.A&&A.A.locals&&A.A.locals},85689:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});var o=n(36758),r=n.n(o),i=n(40935),a=n.n(i),s=n(87796),c=n(37564),l=a()(r());l.i(s.A),l.i(c.A),l.push([e.id,".react-grid-item.react-grid-placeholder{background-color:#ddd}.react-grid-item.react-draggable-dragging{pointer-events:none}.react-grid-item.react-grid-placeholder.forbidden{background-color:red}",""]);const p=l},88128:e=>{"use strict";var t={};e.exports=function(e,n){var o=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(n)}},89342:(e,t,n)=>{"use strict";n.d(t,{D:()=>r});const o={cardWidth:2,showMoreIcon:!1,cardBorderStyle:"solid",cardTitleFontSize:16,cardBorderWidth:1,cardBorderRadius:6,cardTitleColor:"#262626",cardBorderColor:"#e8e8e8",cardBgType:"none"},r=(e,t)=>{var n;const r={"notice-card":{moreIconLink:"/announcement-management",showMoreIcon:!0,moreIconText:"更多"},"cmdb-object-collect-card":{moreIconLink:"/cmdb-model-management",showMoreIcon:!0,moreIconText:"更多"},"itsm-todos":{moreIconLink:"/itsc-workbench/workbench?activeKey=run",showMoreIcon:!0,moreIconText:"更多"},abnormalResourceInspectionResults:{moreIconLink:"/automatic-inspection/suites",showMoreIcon:!0,moreIconText:"更多"},abnormalSystemInspectionResults:{moreIconLink:"/automatic-inspection/system/list",showMoreIcon:!0,moreIconText:"更多"},...null!=t?t:{}};return{...o,...null!==(n=null==r?void 0:r[e])&&void 0!==n?n:{}}}},89739:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var o=n(36758),r=n.n(o),i=n(40935),a=n.n(i)()(r());a.push([e.id,".gridLayoutWrapper--DIttynOM{display:flex;height:100%;position:relative;width:100%}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP{width:132px;padding:6px 12px 6px 16px;overflow-y:auto;box-shadow:1px 0 0 0 var(--palette-gray-4);background:var(--color-fill-bg-container-1);z-index:998;position:sticky;top:0}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentTitle--nKf9GEoj{font-size:16px;padding:6px 0;font-weight:500;color:#262626;line-height:22px;text-align:left}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB{margin-top:12px;width:100%;display:flex;flex-direction:column;gap:10px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR{flex:1;display:flex;flex-direction:column;align-items:center;width:100%;overflow:hidden}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj,.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{width:100%}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj{flex-grow:1}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layoutEdit--FVqWXNWj{overflow-y:auto}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{position:sticky;top:0;z-index:997;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}",""]),a.locals={gridLayoutWrapper:"gridLayoutWrapper--DIttynOM",componentWrapper:"componentWrapper--P8xsKOQP",componentTitle:"componentTitle--nKf9GEoj",componentList:"componentList--s3XnAYsB",layoutWrapper:"layoutWrapper--pk1t3UAR",layout:"layout--kz28taJj",actionsWrapper:"actionsWrapper--vQro2Dyn",layoutEdit:"layoutEdit--FVqWXNWj"};const s=a},93051:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}}}]);
3
- //# sourceMappingURL=eo-workbench-layout-v2.b3461c69.js.map
1
+ /*! For license information please see eo-workbench-layout-v2.24da89e7.js.LICENSE.txt */
2
+ (globalThis.webpackChunk_next_bricks_advanced=globalThis.webpackChunk_next_bricks_advanced||[]).push([[771],{1740:e=>{"use strict";e.exports=function(e){if("undefined"==typeof document)return{update:function(){},remove:function(){}};var t=e.insertStyleElement(e);return{update:function(n){!function(e,t,n){var o="";n.supports&&(o+="@supports (".concat(n.supports,") {")),n.media&&(o+="@media ".concat(n.media," {"));var r=void 0!==n.layer;r&&(o+="@layer".concat(n.layer.length>0?" ".concat(n.layer):""," {")),o+=n.css,r&&(o+="}"),n.media&&(o+="}"),n.supports&&(o+="}");var i=n.sourceMap;i&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(i))))," */")),t.styleTagTransform(o,e,t.options)}(t,e,n)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(t)}}}},5536:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});var o=n(12559);function r(e,t,n){return n((0,o.A)(e,t))}},8601:(e,t,n)=>{"use strict";n.d(t,{A:()=>g});var o=n(72591),r=n.n(o),i=n(1740),a=n.n(i),s=n(88128),c=n.n(s),l=n(30855),p=n.n(l),d=n(93051),u=n.n(d),m=n(73656),h=n.n(m),A=n(55515),y={};y.styleTagTransform=h(),y.setAttributes=p(),y.insert=c().bind(null,"head"),y.domAPI=a(),y.insertStyleElement=u(),r()(A.A,y);const g=A.A&&A.A.locals?A.A.locals:void 0},25261:(e,t,n)=>{"use strict";n.r(t),n.d(t,{EoWorkbenchLayoutComponent:()=>we,EoWorkbenchLayoutV2:()=>Ce});var o,r=n(74635),i=n(70918),a=n(26902),s=n(5536),c=n(86121),l=n(70829),p=n(62740),d=n(18769),u=n.n(d),m=n(53373),h=n.n(m),A=n(90870),y=n(30981),g=n(49523),v=n(18796),f=n(69113),E=n(45833),k=(n(34419),n(41030)),b=n(42599),M=n(60128),I=n(55188),w=n(61983),C=n(89342),x=n(72465),L=n(41640),T=(n(78259),n(43683)),W=n(69704);let S,D,R,N,_,B,O,P,z,F,G,j,K,H,U,V,Q,$,Z,Y,X,q,J,ee,te,ne,oe,re,ie,ae,se,ce,le,pe,de,ue,me,he;(0,W.initializeReactI18n)(T.NS,T.I);const{defineElement:Ae,property:ye,event:ge,method:ve}=(0,A.createDecorators)(),fe=(0,y.wrapBrick)("eo-button"),Ee=(0,y.wrapBrick)("eo-dropdown-button",{onActionClick:"action.click"}),ke=(0,g.unwrapProvider)("basic.show-dialog"),be=`${window.location.origin}${(0,M.getBasePath)()}api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/sys-setting/object/`,Me=e=>null!=e&&e.includes(":")?e.split(":")[0]:e,{isAdmin:Ie}=f.auth.getAuth(),we=(0,d.forwardRef)((function(e,t){let{cardTitle:n="卡片列表",layouts:o,customDefaultCardConfigMap:r,toolbarBricks:i,componentList:a=[],isEdit:s,showSettingButton:c,onChange:l,onSave:p,onCancel:m,onActionClick:A,onSetting:y,gap:g}=e;const f=(0,d.useMemo)((()=>(0,E.WidthProvider)(E.Responsive)),[]),{t:M}=(0,W.useTranslation)(T.NS),S=(0,d.useRef)(null),D=(0,d.useRef)(null),R=(0,d.useRef)(null!=o?o:[]),[N,_]=(0,d.useState)(R.current),B=(0,d.useMemo)((()=>(0,k.keyBy)(a,"key")),[a]),[O,P]=(0,d.useState)(3),[z,F]=(0,d.useState)(),G=(0,d.useRef)(),j=(0,d.useCallback)((e=>{R.current=e,_(e)}),[]);(0,d.useImperativeHandle)(t,(()=>({setLayouts:j})));const K=(0,d.useCallback)((e=>{j(e),null==l||l(e)}),[l,j]),H=(0,d.useCallback)((e=>{if(!s)return;if(e.some((e=>e.isDraggable)))return;const t=(0,k.keyBy)(N,"i");for(let t=0;t<e.length;t++){const{x:o,w:r,y:i,h:a,i:s,minH:c}=e[t];var n;if(1===r&&o<2)e.find((e=>e.i!==s&&1===e.w&&e.y===i&&o<2))&&(e[t].minH=null!==(n=e[t].minH)&&void 0!==n?n:a);else e[t].h=null!=c?c:a,e[t].minH=void 0}K(e.map((e=>({...null==t?void 0:t[e.i],...e,type:Me(e.i)}))))}),[K,s,N]),U=()=>{K([])},V=(0,d.useCallback)((()=>{null==p||p(N)}),[N,p]),Q=(e,t)=>{const n=(0,C.D)(e.key,r),o=(0,k.keyBy)(t,"i"),i=N.map((e=>({...e,...(0,k.pick)(null==o?void 0:o[e.i],["x","y"])})));let a={...n,...e.position,i:`${e.key}:${Math.random()}`,cardWidth:e.position.w,type:e.key,x:e.position.w>1?0:2*N.length%O,y:1/0};if(t){const e=t.find((e=>"__dropping-elem__"===e.i));return a={...a,...(0,k.pick)(e,"x","y")},void K([a,...i])}K(N.concat(a))},$=(0,d.useCallback)((e=>{var t;K(null!==(t=N.filter((t=>t.i!==e)))&&void 0!==t?t:[])}),[K,N]),Z=(0,d.useCallback)(((e,t)=>{const n=N.find((t=>t.i===e)),o=(2*("solid"===(null==n?void 0:n.cardBorderStyle)&&(null==n?void 0:n.cardBorderWidth)||0)+t+(null!=g?g:16))/((null!=g?g:16)+1),r=s?Math.ceil(o):o;if(n&&(s?Math.ceil(n.h):n.h)!==r){const t=N.map((t=>t.i===e?{...t,h:r}:t));K(t)}}),[N,K,g,s]),Y=(0,d.useMemo)((()=>N.map((e=>{var t,n,o;const r=B[Me(e.type)];if(!r)return null;const i="picture"===(null==e?void 0:e.cardBgType)?`url("${be}${null==e?void 0:e.cardBackground}") no-repeat center / cover`:"realNone"===(null==e?void 0:e.cardBgType)?"none":"color"===(null==e?void 0:e.cardBgType)?null==e?void 0:e.cardBackground:"#fff",a="solid"===(null==e?void 0:e.cardBorderStyle)?`${null==e?void 0:e.cardBorderWidth}px ${null==e?void 0:e.cardBorderStyle} ${null==e?void 0:e.cardBorderColor}`:null!==(t=null==e?void 0:e.cardBorderStyle)&&void 0!==t?t:"1px solid #e8e8e8",c=`${null!==(n=null==e?void 0:e.cardBorderRadius)&&void 0!==n?n:6}px`;return u().createElement("div",{className:"drag-box","data-grid":{...null!==(o=r.position)&&void 0!==o?o:{},...e,w:e.cardWidth||e.w},key:e.i,style:{...r.style||{},background:i,border:a,borderRadius:c,backdropFilter:"blur(10px)"}},u().createElement(b.SizeMe,{monitorHeight:!0},(t=>{let{size:n}=t;return n.height&&Z(e.i,n.height),u().createElement(I.q,{component:r,isEdit:s,layout:e,onDelete:$})})))})).filter(Boolean)),[N,B,s,$,Z]),X=(0,d.useCallback)((()=>{if(D&&s){var e,t;const{top:n}=null!==(e=null===(t=D.current)||void 0===t||null===(t=t.getClientRects())||void 0===t?void 0:t[0])&&void 0!==e?e:{};void 0!==n&&F({height:document.body.clientHeight-n})}}),[s]);return(0,d.useEffect)((()=>{if(s)return X(),j(o||[]),window.addEventListener("resize",X),()=>{window.removeEventListener("resize",X)}}),[s,X,o,j]),u().createElement("div",{className:x.A.gridLayoutWrapper,ref:S},s&&u().createElement("div",{className:x.A.componentWrapper,style:z},u().createElement("div",{className:x.A.componentTitle},n),u().createElement("div",{className:x.A.componentList},null==a?void 0:a.map(((e,t)=>u().createElement(w.T,{component:e,onClick:()=>{Q(e)},onDragStart:()=>{G.current=e},onDragEnd:()=>{G.current=void 0},key:e.key||t}))),(null==i?void 0:i.useBrick)&&u().createElement(v.ReactUseMultipleBricks,{useBrick:i.useBrick}))),u().createElement("div",{className:x.A.layoutWrapper,ref:D,style:z},s&&u().createElement("div",{className:x.A.actionsWrapper},u().createElement(fe,{type:"primary",onClick:V},M(T.K.SAVE)),u().createElement(fe,{onClick:()=>{null==m||m()}},M(T.K.CANCEL)),c&&u().createElement(fe,{"data-testid":"setting-button",onClick:()=>{null==y||y()}},M(T.K.SETTING)),u().createElement(Ee,{btnText:M(T.K.MORE),icon:{lib:"antd",icon:"down"},actions:[...Ie?[{text:M(T.K.SAVE_AS_TEMPLATE),event:"saveAsTemplate"}]:[],{text:M(T.K.LOAD_FROM_TEMPLATE),event:"loadFromTemplate"},{text:M(T.K.CLEAR_ALL),danger:!0,event:"clear"}],onActionClick:e=>{(e=>{const{event:t}=e;"clear"===t?ke({type:"confirm",title:M(T.K.CLEAR_CONFIRM),content:M(T.K.CLEAR_CONFIRM_MESSAGE)}).then(U):null==A||A(e,null!=N?N:[])})(e.detail)},"data-testid":"edit-layout-actions"})),u().createElement(f,{className:h()(x.A.layout,{[`${x.A.layoutEdit}`]:s}),draggableCancel:`.${L.A.deleteIcon},.edit-actions,.ignore-item`,breakpoints:{lg:1300,md:1024,sm:768},rowHeight:1,cols:{lg:3,md:3,sm:s?3:1},isResizable:!1,isDraggable:s,isDroppable:s,compactType:"vertical",margin:[null!=g?g:16,null!=g?g:16],useCSSTransforms:!1,onDropDragOver:()=>{if(G.current)return(0,k.pick)(G.current.position,["w","h"])},onDrop:e=>{G.current&&Q(G.current,e)},onLayoutChange:H,onBreakpointChange:(e,t)=>{P(t)}},Y)))}));let Ce;var xe=new WeakMap,Le=new WeakMap,Te=new WeakMap,We=new WeakMap,Se=new WeakMap,De=new WeakMap,Re=new WeakMap,Ne=new WeakMap,_e=new WeakMap,Be=new WeakMap,Oe=new WeakSet,Pe=new WeakMap,ze=new WeakMap,Fe=new WeakMap,Ge=new WeakMap,je=new WeakMap,Ke=new WeakMap,He=new WeakMap,Ue=new WeakMap,Ve=new WeakMap;class Qe extends y.ReactNextElement{constructor(){super(...arguments),(0,r.A)(this,Oe),(0,i.A)(this,xe,(S(this),(0,d.createRef)())),(0,i.A)(this,Le,R(this)),(0,i.A)(this,Te,(N(this),_(this))),(0,i.A)(this,We,(B(this),O(this))),(0,i.A)(this,Se,(P(this),z(this))),(0,i.A)(this,De,(F(this),G(this))),(0,i.A)(this,Re,(j(this),K(this))),(0,i.A)(this,Ne,(H(this),U(this))),(0,i.A)(this,_e,(V(this),Q(this))),(0,i.A)(this,Be,($(this),Z(this))),(0,i.A)(this,Pe,(q(this),e=>{(0,s.A)(Oe,this,Y).emit(e)})),(0,i.A)(this,ze,J(this)),(0,i.A)(this,Fe,(ne(this),e=>{(0,s.A)(Oe,this,ee).emit(e)})),(0,i.A)(this,Ge,oe(this)),(0,i.A)(this,je,(ae(this),()=>{(0,s.A)(Oe,this,re).emit()})),(0,i.A)(this,Ke,se(this)),(0,i.A)(this,He,(pe(this),()=>{(0,s.A)(Oe,this,ce).emit()})),(0,i.A)(this,Ue,de(this)),(0,i.A)(this,Ve,(he(this),(e,t)=>{(0,s.A)(Oe,this,ue).emit({action:e,layouts:t}),e.event&&this.dispatchEvent(new CustomEvent(e.event,{detail:t}))}))}get cardTitle(){return(0,l.A)(Le,this)}set cardTitle(e){(0,c.A)(Le,this,e)}get isEdit(){return(0,l.A)(Te,this)}set isEdit(e){(0,c.A)(Te,this,e)}get layouts(){return(0,l.A)(We,this)}set layouts(e){(0,c.A)(We,this,e)}get toolbarBricks(){return(0,l.A)(Se,this)}set toolbarBricks(e){(0,c.A)(Se,this,e)}get componentList(){return(0,l.A)(De,this)}set componentList(e){(0,c.A)(De,this,e)}get customDefaultCardConfigMap(){return(0,l.A)(Re,this)}set customDefaultCardConfigMap(e){(0,c.A)(Re,this,e)}get showSettingButton(){return(0,l.A)(Ne,this)}set showSettingButton(e){(0,c.A)(Ne,this,e)}get gap(){return(0,l.A)(_e,this)}set gap(e){(0,c.A)(_e,this,e)}setLayouts(e){var t;null===(t=(0,l.A)(xe,this).current)||void 0===t||t.setLayouts(e)}connectedCallback(){this.style.display||(this.style.display="block"),super.connectedCallback()}render(){return u().createElement(we,{cardTitle:this.cardTitle,layouts:this.layouts,gap:this.gap,toolbarBricks:this.toolbarBricks,componentList:this.componentList,showSettingButton:this.showSettingButton,isEdit:this.isEdit,customDefaultCardConfigMap:this.customDefaultCardConfigMap,onChange:(0,l.A)(Pe,this),onSave:(0,l.A)(Fe,this),onCancel:(0,l.A)(je,this),onActionClick:(0,l.A)(Ve,this),onSetting:(0,l.A)(He,this),ref:(0,l.A)(xe,this)})}}o=Qe,({e:[R,N,_,B,O,P,z,F,G,j,K,H,U,V,Q,$,Z,Y,X,q,J,ee,te,ne,oe,re,ie,ae,se,ce,le,pe,de,ue,me,he,S],c:[Ce,D]}=(0,p.A)(o,[Ae("eo-workbench-layout-v2",{shadowOptions:!1})],[[ye(),1,"cardTitle"],[ye({type:Boolean}),1,"isEdit"],[ye({attribute:!1}),1,"layouts"],[ye({attribute:!1}),1,"toolbarBricks"],[ye({attribute:!1}),1,"componentList"],[ye({attribute:!1}),1,"customDefaultCardConfigMap"],[ye({type:Boolean}),1,"showSettingButton"],[ye({type:Number}),1,"gap"],[ge({type:"change"}),1,"changeEvent",e=>(0,l.A)(Be,e),(e,t)=>(0,c.A)(Be,e,t)],[ge({type:"save"}),1,"saveEvent",e=>(0,l.A)(ze,e),(e,t)=>(0,c.A)(ze,e,t)],[ge({type:"cancel"}),1,"cancelEvent",e=>(0,l.A)(Ge,e),(e,t)=>(0,c.A)(Ge,e,t)],[ge({type:"setting"}),1,"settingEvent",e=>(0,l.A)(Ke,e),(e,t)=>(0,c.A)(Ke,e,t)],[ge({type:"action.click"}),1,"actionClickEvent",e=>(0,l.A)(Ue,e),(e,t)=>(0,c.A)(Ue,e,t)],[ve(),2,"setLayouts"]],0,(e=>Ve.has((0,a.A)(e))),y.ReactNextElement)),D()},30855:(e,t,n)=>{"use strict";e.exports=function(e){var t=n.nc;t&&e.setAttribute("nonce",t)}},41640:(e,t,n)=>{"use strict";n.d(t,{A:()=>g});var o=n(72591),r=n.n(o),i=n(1740),a=n.n(i),s=n(88128),c=n.n(s),l=n(30855),p=n.n(l),d=n(93051),u=n.n(d),m=n(73656),h=n.n(m),A=n(61590),y={};y.styleTagTransform=h(),y.setAttributes=p(),y.insert=c().bind(null,"head"),y.domAPI=a(),y.insertStyleElement=u(),r()(A.A,y);const g=A.A&&A.A.locals?A.A.locals:void 0},43683:(e,t,n)=>{"use strict";n.d(t,{I:()=>i,K:()=>o,NS:()=>r});let o=function(e){return e.CLEAR_CONFIRM="CLEAR_CONFIRM",e.CARD_LIST="CARD_LIST",e.CLEAR_CONFIRM_MESSAGE="CLEAR_CONFIRM_MESSAGE",e.SAVE="SAVE",e.CANCEL="CANCEL",e.SETTING="SETTING",e.MORE="MORE",e.SAVE_AS_TEMPLATE="SAVE_AS_TEMPLATE",e.LOAD_FROM_TEMPLATE="LOAD_FROM_TEMPLATE",e.CLEAR_ALL="CLEAR_ALL",e}({});const r="bricks/advanced/eo-workbench-layout-v2",i={en:{CLEAR_CONFIRM:"Clear Confirm",CARD_LIST:"Card List",CLEAR_CONFIRM_MESSAGE:"All cards will be cleared and editing will start from scratch. This operation cannot be undone.",SAVE:"Save",CANCEL:"Cancel",SETTING:"Setting",MORE:"More",SAVE_AS_TEMPLATE:"Save As Template",LOAD_FROM_TEMPLATE:"Load From Template",CLEAR_ALL:"Clear All"},zh:{CLEAR_CONFIRM:"清空确认",CARD_LIST:"卡片列表",CLEAR_CONFIRM_MESSAGE:"将清空所有卡片,从零开始编辑,该操作无法撤回。",SAVE:"保存",CANCEL:"取消",SETTING:"设置",MORE:"更多",SAVE_AS_TEMPLATE:"另存为模板",LOAD_FROM_TEMPLATE:"从模板加载",CLEAR_ALL:"清空所有"}}},53373:(e,t)=>{var n;!function(){"use strict";var o={}.hasOwnProperty;function r(){for(var e="",t=0;t<arguments.length;t++){var n=arguments[t];n&&(e=a(e,i(n)))}return e}function i(e){if("string"==typeof e||"number"==typeof e)return e;if("object"!=typeof e)return"";if(Array.isArray(e))return r.apply(null,e);if(e.toString!==Object.prototype.toString&&!e.toString.toString().includes("[native code]"))return e.toString();var t="";for(var n in e)o.call(e,n)&&e[n]&&(t=a(t,n));return t}function a(e,t){return t?e?e+" "+t:e+t:e}e.exports?(r.default=r,e.exports=r):void 0===(n=function(){return r}.apply(t,[]))||(e.exports=n)}()},55188:(e,t,n)=>{"use strict";n.d(t,{q:()=>u});var o=n(18769),r=n.n(o),i=n(18796),a=n(30981),s=n(41640),c=n(41030);const l=(0,a.wrapBrick)("eo-icon"),p=["x","y","w","h"];function d(e){const{component:t,isEdit:n,onDelete:a,layout:d}=e,u=(0,o.useMemo)((()=>(0,c.cloneDeep)(t.useBrick)),[t.useBrick]),[m,h]=(0,o.useState)((()=>(0,c.omit)({...d,cardWidth:d.cardWidth||t.position.w,cardTitle:t.title},p)));(0,o.useEffect)((()=>{const e=(0,c.omit)({...d,cardWidth:d.cardWidth||t.position.w},p);(0,c.isEqual)(e,m)||h(e)}),[d,m,t.position.w]);const A=(0,o.useMemo)((()=>1!==(null==m?void 0:m.cardBorderWidth)?(null==m?void 0:m.cardBorderWidth)-1:0),[m]),y=(0,o.useMemo)((()=>45+A),[A]),g=(0,o.useMemo)((()=>d.noPadding),[d]),v=(0,o.useMemo)((()=>({top:g?0:15,right:15})),[g]);return r().createElement("div",{className:s.A.itemWrapper},n&&r().createElement("div",{className:s.A.editMask,style:{top:y},onMouseDown:e=>{e.preventDefault()},"data-testid":"droppable-component-layout-item-edit-mask"}),r().createElement(i.ReactUseBrick,{useBrick:u,data:m}),n&&r().createElement(l,{icon:"delete",lib:"antd",style:v,className:s.A.deleteIcon,onClick:e=>{e.preventDefault(),null==a||a(d.i)},"data-testid":"droppable-component-layout-item-delete"}))}const u=(0,o.memo)(d)},55515:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var o=n(36758),r=n.n(o),i=n(40935),a=n.n(i)()(r());a.push([e.id,".componentItemIcon--znvUWa0v{font-size:16px;color:#262626;margin-top:2px}.componentItemWrapper--mLC8xy_9{display:flex;flex-direction:column}.componentItemTitle--zo3KGnys{font-weight:400;font-size:12px;color:#595959;line-height:18px;text-align:left;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.componentItemContent--zOG8IL31{background-color:#f3f4f7;cursor:move;display:flex;justify-content:center;align-items:center}.componentItemThumbnail--epDINDMl{background:#ffffff;border:4px solid #f3f4f7;width:96px;height:64px;border-radius:1px}",""]),a.locals={componentItemIcon:"componentItemIcon--znvUWa0v",componentItemWrapper:"componentItemWrapper--mLC8xy_9",componentItemTitle:"componentItemTitle--zo3KGnys",componentItemContent:"componentItemContent--zOG8IL31",componentItemThumbnail:"componentItemThumbnail--epDINDMl"};const s=a},59224:e=>{"use strict";e.exports="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA2IDYiIHN0eWxlPSJiYWNrZ3JvdW5kLWNvbG9yOiNmZmZmZmYwMCIgeD0iMHB4IiB5PSIwcHgiIHdpZHRoPSI2cHgiIGhlaWdodD0iNnB4Ij48ZyBvcGFjaXR5PSIwLjMwMiI+PHBhdGggZD0iTSA2IDYgTCAwIDYgTCAwIDQuMiBMIDQgNC4yIEwgNC4yIDQuMiBMIDQuMiAwIEwgNiAwIEwgNiA2IEwgNiA2IFoiIGZpbGw9IiMwMDAwMDAiLz48L2c+PC9zdmc+"},61590:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var o=n(36758),r=n.n(o),i=n(40935),a=n.n(i)()(r());a.push([e.id,".component--MVAoEnGN{height:100%}.editMask--nl6r17tE{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.deleteIcon--tNyE_ou4{position:absolute;right:15px;top:15px;cursor:pointer;font-size:16px;width:30px;height:30px;display:flex;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text)}.deleteIcon--tNyE_ou4:hover{color:var(--color-error)}.deleteIcon--tNyE_ou4:active{color:var(--color-error-active)}.itemWrapper--_lUkkTz1{position:relative;width:100%}",""]),a.locals={component:"component--MVAoEnGN",editMask:"editMask--nl6r17tE",deleteIcon:"deleteIcon--tNyE_ou4",itemWrapper:"itemWrapper--_lUkkTz1"};const s=a},61983:(e,t,n)=>{"use strict";n.d(t,{T:()=>a});var o=n(18769),r=n.n(o),i=n(8601);function a(e){const{component:t,onClick:n,onDragStart:o,onDragEnd:a}=e,{key:s,title:c,thumbnail:l}=t;return r().createElement("div",{className:i.A.componentItemWrapper,"data-testid":"draggable-component-menu-item"},r().createElement("div",{className:i.A.componentItemTitle},c),r().createElement("div",{className:i.A.componentItemContent,draggable:!0,onDragStart:e=>{e.dataTransfer.setData("text/plain",s),null==o||o()},onDragEnd:a,onClick:n,"data-testid":"draggable-component-menu-item-thumbnail"},r().createElement("img",{className:i.A.componentItemThumbnail,src:l,alt:c})))}},72465:(e,t,n)=>{"use strict";n.d(t,{A:()=>g});var o=n(72591),r=n.n(o),i=n(1740),a=n.n(i),s=n(88128),c=n.n(s),l=n(30855),p=n.n(l),d=n(93051),u=n.n(d),m=n(73656),h=n.n(m),A=n(89739),y={};y.styleTagTransform=h(),y.setAttributes=p(),y.insert=c().bind(null,"head"),y.domAPI=a(),y.insertStyleElement=u(),r()(A.A,y);const g=A.A&&A.A.locals?A.A.locals:void 0},72591:e=>{"use strict";var t=[];function n(e){for(var n=-1,o=0;o<t.length;o++)if(t[o].identifier===e){n=o;break}return n}function o(e,o){for(var i={},a=[],s=0;s<e.length;s++){var c=e[s],l=o.base?c[0]+o.base:c[0],p=i[l]||0,d="".concat(l," ").concat(p);i[l]=p+1;var u=n(d),m={css:c[1],media:c[2],sourceMap:c[3],supports:c[4],layer:c[5]};if(-1!==u)t[u].references++,t[u].updater(m);else{var h=r(m,o);o.byIndex=s,t.splice(s,0,{identifier:d,updater:h,references:1})}a.push(d)}return a}function r(e,t){var n=t.domAPI(t);return n.update(e),function(t){if(t){if(t.css===e.css&&t.media===e.media&&t.sourceMap===e.sourceMap&&t.supports===e.supports&&t.layer===e.layer)return;n.update(e=t)}else n.remove()}}e.exports=function(e,r){var i=o(e=e||[],r=r||{});return function(e){e=e||[];for(var a=0;a<i.length;a++){var s=n(i[a]);t[s].references--}for(var c=o(e,r),l=0;l<i.length;l++){var p=n(i[l]);0===t[p].references&&(t[p].updater(),t.splice(p,1))}i=c}}},73656:e=>{"use strict";e.exports=function(e,t){if(t.styleSheet)t.styleSheet.cssText=e;else{for(;t.firstChild;)t.removeChild(t.firstChild);t.appendChild(document.createTextNode(e))}}},74635:(e,t,n)=>{"use strict";n.d(t,{A:()=>r});var o=n(72016);function r(e,t){(0,o.A)(e,t),t.add(e)}},78259:(e,t,n)=>{"use strict";var o=n(72591),r=n.n(o),i=n(1740),a=n.n(i),s=n(88128),c=n.n(s),l=n(30855),p=n.n(l),d=n(93051),u=n.n(d),m=n(73656),h=n.n(m),A=n(85689),y={};y.styleTagTransform=h(),y.setAttributes=p(),y.insert=c().bind(null,"head"),y.domAPI=a(),y.insertStyleElement=u(),r()(A.A,y),A.A&&A.A.locals&&A.A.locals},85689:(e,t,n)=>{"use strict";n.d(t,{A:()=>p});var o=n(36758),r=n.n(o),i=n(40935),a=n.n(i),s=n(87796),c=n(37564),l=a()(r());l.i(s.A),l.i(c.A),l.push([e.id,".react-grid-item.react-grid-placeholder{background-color:#ddd}.react-grid-item.react-draggable-dragging{pointer-events:none}.react-grid-item.react-grid-placeholder.forbidden{background-color:red}",""]);const p=l},88128:e=>{"use strict";var t={};e.exports=function(e,n){var o=function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(e){n=null}t[e]=n}return t[e]}(e);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(n)}},89342:(e,t,n)=>{"use strict";n.d(t,{D:()=>r});const o={cardWidth:2,showMoreIcon:!1,cardBorderStyle:"solid",cardTitleFontSize:16,cardBorderWidth:1,cardBorderRadius:6,cardTitleColor:"#262626",cardBorderColor:"#e8e8e8",cardBgType:"none"},r=(e,t)=>{var n;const r={"notice-card":{moreIconLink:"/announcement-management",showMoreIcon:!0,moreIconText:"更多"},"cmdb-object-collect-card":{moreIconLink:"/cmdb-model-management",showMoreIcon:!0,moreIconText:"更多"},"itsm-todos":{moreIconLink:"/itsc-workbench/workbench?activeKey=run",showMoreIcon:!0,moreIconText:"更多"},abnormalResourceInspectionResults:{moreIconLink:"/automatic-inspection/suites",showMoreIcon:!0,moreIconText:"更多"},abnormalSystemInspectionResults:{moreIconLink:"/automatic-inspection/system/list",showMoreIcon:!0,moreIconText:"更多"},...null!=t?t:{}};return{...o,...null!==(n=null==r?void 0:r[e])&&void 0!==n?n:{}}}},89739:(e,t,n)=>{"use strict";n.d(t,{A:()=>s});var o=n(36758),r=n.n(o),i=n(40935),a=n.n(i)()(r());a.push([e.id,".gridLayoutWrapper--DIttynOM{display:flex;height:100%;position:relative;width:100%}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP{width:132px;padding:6px 12px 6px 16px;overflow-y:auto;box-shadow:1px 0 0 0 var(--palette-gray-4);background:var(--color-fill-bg-container-1);z-index:998;position:sticky;top:0}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentTitle--nKf9GEoj{font-size:16px;padding:6px 0;font-weight:500;color:#262626;line-height:22px;text-align:left}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB{margin-top:12px;width:100%;display:flex;flex-direction:column;gap:10px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR{flex:1;display:flex;flex-direction:column;align-items:center;width:100%;overflow:hidden}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj,.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{width:100%}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj{flex-grow:1}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layoutEdit--FVqWXNWj{overflow-y:auto}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{position:sticky;top:0;z-index:997;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}",""]),a.locals={gridLayoutWrapper:"gridLayoutWrapper--DIttynOM",componentWrapper:"componentWrapper--P8xsKOQP",componentTitle:"componentTitle--nKf9GEoj",componentList:"componentList--s3XnAYsB",layoutWrapper:"layoutWrapper--pk1t3UAR",layout:"layout--kz28taJj",actionsWrapper:"actionsWrapper--vQro2Dyn",layoutEdit:"layoutEdit--FVqWXNWj"};const s=a},93051:e=>{"use strict";e.exports=function(e){var t=document.createElement("style");return e.setAttributes(t,e.attributes),e.insert(t,e.options),t}}}]);
3
+ //# sourceMappingURL=eo-workbench-layout-v2.24da89e7.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"chunks/eo-workbench-layout-v2.b3461c69.js","mappings":";mIA4DAA,EAAOC,QAjBP,SAAgBC,GACd,GAAwB,oBAAbC,SACT,MAAO,CACLC,OAAQ,WAAmB,EAC3BC,OAAQ,WAAmB,GAG/B,IAAIC,EAAeJ,EAAQK,mBAAmBL,GAC9C,MAAO,CACLE,OAAQ,SAAgBI,IAjD5B,SAAeF,EAAcJ,EAASM,GACpC,IAAIC,EAAM,GACND,EAAIE,WACND,GAAO,cAAcE,OAAOH,EAAIE,SAAU,QAExCF,EAAII,QACNH,GAAO,UAAUE,OAAOH,EAAII,MAAO,OAErC,IAAIC,OAAiC,IAAdL,EAAIM,MACvBD,IACFJ,GAAO,SAASE,OAAOH,EAAIM,MAAMC,OAAS,EAAI,IAAIJ,OAAOH,EAAIM,OAAS,GAAI,OAE5EL,GAAOD,EAAIC,IACPI,IACFJ,GAAO,KAELD,EAAII,QACNH,GAAO,KAELD,EAAIE,WACND,GAAO,KAET,IAAIO,EAAYR,EAAIQ,UAChBA,GAA6B,oBAATC,OACtBR,GAAO,uDAAuDE,OAAOM,KAAKC,SAASC,mBAAmBC,KAAKC,UAAUL,MAAe,QAKtId,EAAQoB,kBAAkBb,EAAKH,EAAcJ,EAAQA,QACvD,CAoBMqB,CAAMjB,EAAcJ,EAASM,EAC/B,EACAH,OAAQ,YArBZ,SAA4BC,GAE1B,GAAgC,OAA5BA,EAAakB,WACf,OAAO,EAETlB,EAAakB,WAAWC,YAAYnB,EACtC,CAgBMoB,CAAmBpB,EACrB,EAEJ,+DC1De,SAASqB,EAAoBC,EAAGC,EAAGC,GAChD,OAAOA,GAAE,OAAiBF,EAAGC,GAC/B,sLCQI3B,EAAU,CAAC,EAEfA,EAAQoB,kBAAoB,IAC5BpB,EAAQ6B,cAAgB,IACxB7B,EAAQ8B,OAAS,SAAc,KAAM,QACrC9B,EAAQ+B,OAAS,IACjB/B,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKnB,QAAe,KAAW,IAAQgC,OAAS,IAAQA,YAASC,6gBCsBnEC,EAAAA,EAAAA,qBAAoBC,EAAAA,GAAIC,EAAAA,GAExB,MAAM,cAAEC,GAAa,SAAEC,GAAQ,MAAEC,GAAK,OAAEC,KAAWC,EAAAA,EAAAA,oBAE7CC,IAAgBC,EAAAA,EAAAA,WAA+B,aAC/CC,IAAwBD,EAAAA,EAAAA,WAK5B,qBAAsB,CAAEE,cAAe,iBACnCC,IAAaC,EAAAA,EAAAA,gBAAmC,qBAKhDC,GAAa,GAAGC,OAAOC,SAASC,UAASC,EAAAA,EAAAA,8GAyBzCC,GAAcC,GAClBA,SAAAA,EAAKC,SAAS,KAAOD,EAAIE,MAAM,KAAK,GAAKF,GACrC,QAAEG,IAAYC,EAAAA,KAAKC,UAEZC,IAA6BC,EAAAA,EAAAA,aAGxC,SAAmCC,EAgBnCC,GACA,IAhBA,UACEC,EAAY,OACZC,QAASC,EAAY,2BACrBC,EAA0B,cAC1BC,EAAa,cACbC,EAAgB,GAAE,OAClBC,EAAM,kBACNC,EAAiB,SACjBC,EAAQ,OACRC,EAAM,SACNC,EAAQ,cACR7B,EAAa,UACb8B,EAAS,IACTC,GACDd,EAGD,MAAMe,GAA4BC,EAAAA,EAAAA,UAChC,KAAMC,EAAAA,EAAAA,eAAcC,EAAAA,aACpB,KAEI,EAAEC,IAAMC,EAAAA,EAAAA,gBAAe/C,EAAAA,IACvBgD,GAAgBC,EAAAA,EAAAA,QAAuB,MACvCC,GAAmBD,EAAAA,EAAAA,QAAuB,MAC1CE,GAAiBF,EAAAA,EAAAA,QAAsBlB,QAAAA,EAAgB,KACtDD,EAASsB,IAAeC,EAAAA,EAAAA,UAC7BF,EAAeG,SAEXC,GAAkBZ,EAAAA,EAAAA,UACtB,KAAMa,EAAAA,EAAAA,OAAMtB,EAAe,QAC3B,CAACA,KAEIuB,EAAMC,IAAWL,EAAAA,EAAAA,UAAiB,IAClCM,EAAoBC,IACzBP,EAAAA,EAAAA,YACIQ,GAAuBZ,EAAAA,EAAAA,UAEvBa,GAAaC,EAAAA,EAAAA,cAAajC,IAC9BqB,EAAeG,QAAUxB,EACzBsB,EAAYtB,EAAQ,GACnB,KAEHkC,EAAAA,EAAAA,qBAAoBpC,GAAK,KAAM,CAAGkC,iBAElC,MAAMG,GAAeF,EAAAA,EAAAA,cAClBjC,IACCgC,EAAWhC,GACXO,SAAAA,EAAWP,EAAQ,GAErB,CAACO,EAAUyB,IAmBPI,GAAqBH,EAAAA,EAAAA,cACxBI,IACC,IAAKhC,EACH,OAIF,GAAIgC,EAAcC,MAAMC,GAAMA,EAAEC,cAC9B,OAGF,MAAMC,GAAoBf,EAAAA,EAAAA,OAAM1B,EAAS,KACzC,IAAK,IAAIgB,EAAI,EAAGA,EAAIqB,EAAczF,OAAQoE,IAAK,CAC7C,MAAM,EAAE0B,EAAC,EAAEC,EAAC,EAAEC,EAAC,EAAEC,EAAC,EAAEC,EAAC,KAAEC,GAASV,EAAcrB,GAK7B,IAAAgC,EAJjB,GAAU,IAANL,GAAWD,EAAI,EACCL,EAAcY,MAC7BC,GAASA,EAAKJ,IAAMA,GAAgB,IAAXI,EAAKP,GAAWO,EAAKN,IAAMA,GAAKF,EAAI,MAG9DL,EAAcrB,GAAG+B,KAA4B,QAAxBC,EAAGX,EAAcrB,GAAG+B,YAAI,IAAAC,EAAAA,EAAIH,QAGnDR,EAAcrB,GAAG6B,EAAIE,QAAAA,EAAQF,EAC7BR,EAAcrB,GAAG+B,UAAO/E,CAE5B,CAEAmE,EACEE,EAAcc,KAAKZ,IAEV,IADYE,aAAiB,EAAjBA,EAAoBF,EAAEO,MACdP,EAAGa,KAAMhE,GAAWmD,EAAEO,OAEpD,GAEH,CAACX,EAAc9B,EAAQL,IAOnBqD,EAAoBA,KACxBlB,EAAa,GAAG,EAGZmB,GAAarB,EAAAA,EAAAA,cAAY,KAC7BzB,SAAAA,EAASR,EAAQ,GAChB,CAACA,EAASQ,IA0BP+C,EAAeA,CACnBC,EACAC,KAEA,MAAMC,GAAoBC,EAAAA,EAAAA,GACxBH,EAAUnE,IACVa,GAEIuC,GAAoBf,EAAAA,EAAAA,OAAM+B,EAAgB,KAC1CG,EAAa5D,EAAQmD,KAAKU,IACvB,IACFA,MACAC,EAAAA,EAAAA,MAAKrB,aAAiB,EAAjBA,EAAoBoB,EAAOf,GAAI,CAAC,IAAK,UAGjD,IAAIiB,EAAY,IACXL,KACAF,EAAUQ,SACblB,EAAG,GAAGU,EAAUnE,OAAO4E,KAAKC,WAC5BC,UAAWX,EAAUQ,SAASrB,EAC9BS,KAAMI,EAAUnE,IAChBqD,EAAGc,EAAUQ,SAASrB,EAAI,EAAI,EAAsB,EAAjB3C,EAAQpD,OAAc+E,EACzDiB,EAAGwB,KAEL,GAAIX,EAAgB,CAClB,MAAMY,EAAWZ,EAAeR,MAAMV,GAAc,sBAARA,EAAEO,IAM9C,OALAiB,EAAY,IACPA,MACAD,EAAAA,EAAAA,MAAKO,EAAU,IAAK,WAEzBlC,EAAa,CAAC4B,KAAcH,GAE9B,CACAzB,EAAanC,EAAQxD,OAAOuH,GAAW,EAGnCO,GAAmBrC,EAAAA,EAAAA,cACtBa,IAAc,IAAAyB,EACbpC,EAAmD,QAAvCoC,EAACvE,EAAQwE,QAAQtB,GAASA,EAAKJ,IAAMA,WAAE,IAAAyB,EAAAA,EAAI,GAAG,GAE5D,CAACpC,EAAcnC,IAIXyE,GAAexC,EAAAA,EAAAA,cACnB,CAACa,EAAW4B,KACV,MAAMC,EAAY3E,EAAQiD,MAAMY,GAAwBA,EAAOf,IAAMA,IAC/D8B,GAIF,GAH+B,WAA/BD,aAAS,EAATA,EAAWE,mBACTF,aAAS,EAATA,EAAWG,kBACX,GAEFJ,GACC/D,QAAAA,EApOW,OAqOZA,QAAAA,EArOY,IAFH,GAwOPoE,EAAO1E,EAAS4D,KAAKe,KAAKJ,GAAYA,EAE5C,GAAKD,IAEYtE,EAAS4D,KAAKe,KAAKL,EAAU9B,GAAK8B,EAAU9B,KAC5CkC,EAAM,CACrB,MAAMnB,EAAa5D,EAAQmD,KAAKD,GAC9BA,EAAKJ,IAAMA,EAAI,IAAKI,EAAML,EAAGkC,GAAS7B,IAExCf,EAAayB,EACf,IAEF,CAAC5D,EAASmC,EAAcxB,EAAKN,IAGzB4E,GAAcpE,EAAAA,EAAAA,UAAQ,IACnBb,EACJmD,KAAKU,IAAW,IAAAqB,EAAAC,EAAAC,EACf,MAAM5B,EAAY/B,EAAgBrC,GAAWyE,EAAOT,OACpD,IAAKI,EACH,OAAO,KAET,MAAM6B,EACmB,aAAvBxB,aAAM,EAANA,EAAQyB,YACJ,QAAQvG,KAAa8E,aAAM,EAANA,EAAQ0B,4CACN,cAAvB1B,aAAM,EAANA,EAAQyB,YACN,OACuB,WAAvBzB,aAAM,EAANA,EAAQyB,YACNzB,aAAM,EAANA,EAAQ0B,eACR,OACJC,EACwB,WAA5B3B,aAAM,EAANA,EAAQgB,iBACJ,GAAGhB,aAAM,EAANA,EAAQiB,qBAAqBjB,aAAM,EAANA,EAAQgB,mBAAmBhB,aAAM,EAANA,EAAQ4B,kBAC3C,QAD4DP,EACnFrB,aAAM,EAANA,EAAQgB,uBAAe,IAAAK,EAAAA,EAAI,oBAC5BQ,EAAe,GAA2B,QAA3BP,EAAGtB,aAAM,EAANA,EAAQ8B,wBAAgB,IAAAR,EAAAA,EAAI,MAEpD,OACES,IAAAA,cAAA,OACEC,UAAU,WACV,YAAW,IACa,QAAtBT,EAAI5B,EAAUQ,gBAAQ,IAAAoB,EAAAA,EAAI,CAAC,KACxBvB,EACHlB,EAAGkB,EAAOM,WAAaN,EAAOlB,GAEhCtD,IAAKwE,EAAOf,EACZgD,MAAO,IACDtC,EAAUsC,OAAS,CAAC,EACxBT,aACAG,SACAE,eACAK,eAAgB,eAGlBH,IAAAA,cAACI,EAAAA,OAAM,CAACC,eAAa,IAClBC,IAAc,IAAb,KAAEC,GAAMD,EAIR,OAHIC,EAAKC,QACP3B,EAAaZ,EAAOf,EAAGqD,EAAKC,QAG5BR,IAAAA,cAACS,EAAAA,EAA4B,CAC3B7C,UAAWA,EACXnD,OAAQA,EACRwD,OAAQA,EACRyC,SAAUhC,GACV,IAIJ,IAGTE,OAAO+B,UACT,CAACvG,EAASyB,EAAiBpB,EAAQiE,EAAkBG,IAElD+B,GAA8BvE,EAAAA,EAAAA,cAAY,KAC9C,GAAIb,GAAoBf,EAAQ,KAAAoG,EAAAC,EAC9B,MAAM,IAAEC,GACyC,QADpCF,EACa,QADbC,EACXtF,EAAiBI,eAAO,IAAAkF,GAAkB,QAAlBA,EAAxBA,EAA0BE,wBAAgB,IAAAF,OAAA,EAA1CA,EAA6C,UAAE,IAAAD,EAAAA,EAAK,CAAC,OAC/CzI,IAAR2I,GACE7E,EAAsB,CACpBsE,OAAQpK,SAAS6K,KAAKC,aAAeH,GAE3C,IACC,CAACtG,IAcJ,OAZA0G,EAAAA,EAAAA,YAAU,KACR,GAAI1G,EAKF,OAJAmG,IACAxE,EAAW/B,GAAgB,IAC3BjB,OAAOgI,iBAAiB,SAAUR,GAE3B,KACLxH,OAAOiI,oBAAoB,SAAUT,EAA4B,CAErE,GACC,CAACnG,EAAQmG,EAA6BvG,EAAc+B,IAGrD4D,IAAAA,cAAA,OAAKC,UAAWqB,EAAAA,EAAOC,kBAAmBrH,IAAKoB,GAC5Cb,GACCuF,IAAAA,cAAA,OAAKC,UAAWqB,EAAAA,EAAOE,iBAAkBtB,MAAOjE,GAC9C+D,IAAAA,cAAA,OAAKC,UAAWqB,EAAAA,EAAOG,gBAAiBtH,GACxC6F,IAAAA,cAAA,OAAKC,UAAWqB,EAAAA,EAAO9G,eACpBA,aAAa,EAAbA,EAAe+C,KAAI,CAACK,EAAW8D,IAC9B1B,IAAAA,cAAC2B,EAAAA,EAA0B,CACzB/D,UAAWA,EACXgE,QAASA,KACPjE,EAAaC,EAAU,EAEzBiE,YAAaA,KACX1F,EAAqBP,QAAUgC,CAAS,EAE1CkE,UAAWA,KACT3F,EAAqBP,aAAUxD,CAAS,EAE1CqB,IAAKmE,EAAUnE,KAAOiI,OAGzBnH,aAAa,EAAbA,EAAewH,WACd/B,IAAAA,cAACgC,EAAAA,uBAAsB,CAACD,SAAUxH,EAAcwH,aAKxD/B,IAAAA,cAAA,OACEC,UAAWqB,EAAAA,EAAOW,cAClB/H,IAAKsB,EACL0E,MAAOjE,GAENxB,GACCuF,IAAAA,cAAA,OAAKC,UAAWqB,EAAAA,EAAOY,gBACrBlC,IAAAA,cAACnH,GAAa,CAAC2E,KAAK,UAAUoE,QAASlE,GACpCtC,EAAE+G,EAAAA,EAAEC,OAEPpC,IAAAA,cAACnH,GAAa,CAAC+I,QAjNJS,KACnBxH,SAAAA,GAAY,GAgNmCO,EAAE+G,EAAAA,EAAEG,SAC1C5H,GACCsF,IAAAA,cAACnH,GAAa,CACZ,cAAY,iBACZ+I,QAzNQW,KACpBzH,SAAAA,GAAa,GA0NAM,EAAE+G,EAAAA,EAAEK,UAGTxC,IAAAA,cAACjH,GAAqB,CACpB0J,QAASrH,EAAE+G,EAAAA,EAAEO,MACbC,KAAM,CAAEC,IAAK,OAAQD,KAAM,QAC3BE,QAAS,IACHjJ,GACA,CAAC,CAAEkJ,KAAM1H,EAAE+G,EAAAA,EAAEY,kBAAmBrK,MAAO,mBACvC,GACJ,CAAEoK,KAAM1H,EAAE+G,EAAAA,EAAEa,oBAAqBtK,MAAO,oBACxC,CAAEoK,KAAM1H,EAAE+G,EAAAA,EAAEc,WAAYC,QAAQ,EAAMxK,MAAO,UAE/CM,cAAgBmK,IAhODC,KACzB,MAAM,MAAE1K,GAAU0K,EAGX,UADC1K,EAEJO,GAAW,CACTuE,KAAM,UACN6F,MAAOjI,EAAE+G,EAAAA,EAAEmB,eACXC,QAASnI,EAAE+G,EAAAA,EAAEqB,yBACZC,KAAKhG,GAGRzE,SAAAA,EAAgBoK,EAAQhJ,QAAAA,EAAW,GACvC,EAoNYsJ,CAAkBP,EAAEQ,OAAO,EAE7B,cAAY,yBAIlB3D,IAAAA,cAAChF,EAAyB,CACxBiF,UAAW2D,IAAWtC,EAAAA,EAAOrD,OAAQ,CACnC,CAAC,GAAGqD,EAAAA,EAAOuC,cAAepJ,IAE5BqJ,gBAAiB,IAAIC,EAAAA,EAAiBC,wCACtCC,YAAa,CAAEC,GAAI,KAAMC,GAAI,KAAMC,GAAI,KACvCC,UA9YS,EA+YTtI,KAAM,CAAEmI,GAAI,EAAGC,GAAI,EAAGC,GAAI3J,EAAS,EAAI,GACvC6J,aAAa,EACb1H,YAAanC,EACb8J,YAAa9J,EACb+J,YAAY,WACZC,OAAQ,CAAC1J,QAAAA,EAnZE,GAmZmBA,QAAAA,EAlZlB,IAoZZ2J,kBAAkB,EAClBC,eAAgBA,KACd,GAAIxI,EAAqBP,QACvB,OAAOsC,EAAAA,EAAAA,MAAK/B,EAAqBP,QAAQwC,SAAU,CAAC,IAAK,KAC3D,EAEFwG,OAAS3G,IACH9B,EAAqBP,SACvB+B,EAAaxB,EAAqBP,QAASqC,EAC7C,EAEF4G,eAAgBrI,EAChBsI,mBArRuBC,CAACC,EAAwBC,KACtDjJ,EAAQiJ,EAAQ,GAsRT5F,IAKX,IAEA,IAAA6F,GAAA,IAAAC,GAAA,IAAAC,QAAAC,GAAA,IAAAD,QAAAE,GAAA,IAAAF,QAAAG,GAAA,IAAAH,QAAAI,GAAA,IAAAJ,QAAAK,GAAA,IAAAL,QAAAM,GAAA,IAAAN,QAAAO,GAAA,IAAAP,QAAAQ,GAAA,IAAAR,QAAAS,GAAA,IAAAT,QAAAU,GAAA,IAAAC,QAAAC,GAAA,IAAAZ,QAAAa,GAAA,IAAAb,QAAAc,GAAA,IAAAd,QAAAe,GAAA,IAAAf,QAAAgB,GAAA,IAAAhB,QAAAiB,GAAA,IAAAjB,QAAAkB,GAAA,IAAAlB,QAAAmB,GAAA,IAAAnB,QAAAoB,GAAA,IAAApB,QAIA,MAAAqB,WACkCC,EAAAA,iBAAiBC,WAAAA,GAAA,SAAAC,YAAAC,EAAAA,EAAAA,GAAA,KAAAf,KACjDgB,EAAAA,EAAAA,GAAA,KAAA3B,IAAa4B,EAAA,OAAGC,EAAAA,EAAAA,gBAA6CF,EAAAA,EAAAA,GAAA,KAAAzB,GAAA4B,EAAA,QAAAH,EAAAA,EAAAA,GAAA,KAAAxB,IAAA4B,EAAA,MAAAC,EAAA,SAAAL,EAAAA,EAAAA,GAAA,KAAAvB,IAAA6B,EAAA,MAAAC,EAAA,SAAAP,EAAAA,EAAAA,GAAA,KAAAtB,IAAA8B,EAAA,MAAAC,EAAA,SAAAT,EAAAA,EAAAA,GAAA,KAAArB,IAAA+B,EAAA,MAAAC,EAAA,SAiB7DX,EAAAA,EAAAA,GAAA,KAAApB,IAAAgC,EAAA,MAAAC,EAAA,SAQAb,EAAAA,EAAAA,GAAA,KAAAnB,IAAAiC,EAAA,MAAAC,EAAA,SAMAf,EAAAA,EAAAA,GAAA,KAAAlB,IAAAkC,EAAA,MAAAC,EAAA,SAAAjB,EAAAA,EAAAA,GAAA,KAAAjB,IAAAmC,EAAA,MAAAC,EAAA,SASAnB,EAAAA,EAAAA,GAAA,KAAAd,IAAakC,EAAA,MAAI9N,KACfxC,EAAAA,EAAAA,GAAAkO,GAAAqC,KAAKC,GAAaC,KAAKjO,EAAQ,KAC/B0M,EAAAA,EAAAA,GAAA,KAAAb,GAAAqC,EAAA,QAKFxB,EAAAA,EAAAA,GAAA,KAAAZ,IAAWqC,GAAA,MAAInO,KACbxC,EAAAA,EAAAA,GAAAkO,GAAAqC,KAAKK,IAAWH,KAAKjO,EAAQ,KAC7B0M,EAAAA,EAAAA,GAAA,KAAAX,GAAAsC,GAAA,QAKF3B,EAAAA,EAAAA,GAAA,KAAAV,IAAasC,GAAA,MAAG,MACd9Q,EAAAA,EAAAA,GAAAkO,GAAAqC,KAAKQ,IAAaN,MAAM,KACxBvB,EAAAA,EAAAA,GAAA,KAAAT,GAAAuC,GAAA,QAIF9B,EAAAA,EAAAA,GAAA,KAAAR,IAAcuC,GAAA,MAAG,MACfjR,EAAAA,EAAAA,GAAAkO,GAAAqC,KAAKW,IAAcT,MAAM,KAG3BvB,EAAAA,EAAAA,GAAA,KAAAP,GAAAwC,GAAA,QAaAjC,EAAAA,EAAAA,GAAA,KAAAN,IAAkBwC,GAAA,MAAG,CAAC5F,EAAsBhJ,MAC1CxC,EAAAA,EAAAA,GAAAkO,GAAAqC,KAAKc,IAAkBZ,KAAK,CAAEjF,SAAQhJ,YACtCgJ,EAAO1K,OACLyP,KAAKe,cAAc,IAAIC,YAAY/F,EAAO1K,MAAO,CAAEiL,OAAQvJ,IAAW,GACxE,cA9EOD,GAAS,OAAAiP,EAAAA,EAAAA,GAAA/D,GAAA,mBAATlL,CAASwC,IAAA0M,EAAAA,EAAAA,GAAAhE,GAAA,KAAA1I,EAAA,WAGTlC,GAAM,OAAA2O,EAAAA,EAAAA,GAAA9D,GAAA,gBAAN7K,CAAMkC,IAAA0M,EAAAA,EAAAA,GAAA/D,GAAA,KAAA3I,EAAA,YAGNvC,GAAO,OAAAgP,EAAAA,EAAAA,GAAA7D,GAAA,iBAAPnL,CAAOuC,IAAA0M,EAAAA,EAAAA,GAAA9D,GAAA,KAAA5I,EAAA,kBAGPpC,GAAa,OAAA6O,EAAAA,EAAAA,GAAA5D,GAAA,uBAAbjL,CAAaoC,IAAA0M,EAAAA,EAAAA,GAAA7D,GAAA,KAAA7I,EAAA,kBAGbnC,GAAa,OAAA4O,EAAAA,EAAAA,GAAA3D,GAAA,uBAAbjL,CAAamC,IAAA0M,EAAAA,EAAAA,GAAA5D,GAAA,KAAA9I,EAAA,+BAMbrC,GAA0B,OAAA8O,EAAAA,EAAAA,GAAA1D,GAAA,oCAA1BpL,CAA0BqC,IAAA0M,EAAAA,EAAAA,GAAA3D,GAAA,KAAA/I,EAAA,sBAQ1BjC,GAAiB,OAAA0O,EAAAA,EAAAA,GAAAzD,GAAA,2BAAjBjL,CAAiBiC,IAAA0M,EAAAA,EAAAA,GAAA1D,GAAA,KAAAhJ,EAAA,QAMjB5B,GAAG,OAAAqO,EAAAA,EAAAA,GAAAxD,GAAA,aAAH7K,CAAG4B,IAAA0M,EAAAA,EAAAA,GAAAzD,GAAA,KAAAjJ,EAAA,CAiDZP,UAAAA,CAAWhC,GAAmB,IAAAkP,EACF,QAA1BA,GAAAF,EAAAA,EAAAA,GAAKjE,GAALgD,MAAmBvM,eAAO,IAAA0N,GAA1BA,EAA4BlN,WAAWhC,EACzC,CAEAmP,iBAAAA,GAGOpB,KAAKjI,MAAMsJ,UACdrB,KAAKjI,MAAMsJ,QAAU,SAEvBC,MAAMF,mBACR,CAEAG,MAAAA,GACE,OACE1J,IAAAA,cAACjG,GAA0B,CACzBI,UAAWgO,KAAKhO,UAChBC,QAAS+N,KAAK/N,QACdW,IAAKoN,KAAKpN,IACVR,cAAe4N,KAAK5N,cACpBC,cAAe2N,KAAK3N,cACpBE,kBAAmByN,KAAKzN,kBACxBD,OAAQ0N,KAAK1N,OACbH,2BAA4B6N,KAAK7N,2BACjCK,UAAUyO,EAAAA,EAAAA,GAAKpD,GAALmC,MACVvN,QAAQwO,EAAAA,EAAAA,GAAKlD,GAALiC,MACRtN,UAAUuO,EAAAA,EAAAA,GAAKhD,GAAL+B,MACVnP,eAAeoQ,EAAAA,EAAAA,GAAK5C,GAAL2B,MACfrN,WAAWsO,EAAAA,EAAAA,GAAK9C,GAAL6B,MACXjO,KAAKkP,EAAAA,EAAAA,GAAKjE,GAALgD,OAGX,EACDwB,EAAAlD,KAAAtD,GAAA8D,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAG,EAAAwB,EAAA1B,EAAAI,EAAAE,GAAAqB,GAAAtB,GAAAE,GAAAE,GAAAmB,GAAApB,GAAAE,GAAAE,GAAAiB,GAAAlB,GAAAE,GAAAE,GAAAe,GAAAhB,GAAAjC,GAAAkD,GAAA/E,GAAAgF,KAAAC,EAAAA,EAAAA,GAAAR,EAAA,CAvHAnR,GAAc,yBAA0B,CAAE4R,eAAe,KAAQ,EAI/D3R,KAAU,gBAGVA,GAAS,CAAE+E,KAAMmD,UAAU,aAG3BlI,GAAS,CAAE4R,WAAW,IAAQ,cAG9B5R,GAAS,CAAE4R,WAAW,IAAQ,oBAG9B5R,GAAS,CAAE4R,WAAW,IAAQ,oBAM9B5R,GAAS,CAAE4R,WAAW,IAAQ,iCAQ9B5R,GAAS,CAAE+E,KAAMmD,UAAU,wBAM3BlI,GAAS,CAAE+E,KAAM8M,SAAS,UAG1B5R,GAAM,CAAE8E,KAAM,WAAW,gBAAA+M,IAAAnB,EAAAA,EAAAA,GAAAvD,GAAA0E,GAAA,CAAAA,EAAA5N,KAAA0M,EAAAA,EAAAA,GAAAxD,GAAA0E,EAAA5N,IAAA,CAOzBjE,GAAM,CAAE8E,KAAM,SAAS,cAAA+M,IAAAnB,EAAAA,EAAAA,GAAAnD,GAAAsE,GAAA,CAAAA,EAAA5N,KAAA0M,EAAAA,EAAAA,GAAApD,GAAAsE,EAAA5N,IAAA,CAOvBjE,GAAM,CAAE8E,KAAM,WAAW,gBAAA+M,IAAAnB,EAAAA,EAAAA,GAAAjD,GAAAoE,GAAA,CAAAA,EAAA5N,KAAA0M,EAAAA,EAAAA,GAAAlD,GAAAoE,EAAA5N,IAAA,CAOzBjE,GAAM,CAAE8E,KAAM,YAAY,iBAAA+M,IAAAnB,EAAAA,EAAAA,GAAA/C,GAAAkE,GAAA,CAAAA,EAAA5N,KAAA0M,EAAAA,EAAAA,GAAAhD,GAAAkE,EAAA5N,IAAA,CAa1BjE,GAAM,CAAE8E,KAAM,iBAAiB,qBAAA+M,IAAAnB,EAAAA,EAAAA,GAAA7C,GAAAgE,GAAA,CAAAA,EAAA5N,KAAA0M,EAAAA,EAAAA,GAAA9C,GAAAgE,EAAA5N,IAAA,CAY/BhE,KAAQ,oBAAA6R,GAAAhE,GAAAiE,KAAAC,EAAAA,EAAAA,GAAAF,KApFuB9D,EAAAA,mBAAgBwD,kCClelDjU,EAAOC,QANP,SAAwCK,GACtC,IAAIoU,EAAmD,KACnDA,GACFpU,EAAaqU,aAAa,QAASD,EAEvC,uLCGIxU,EAAU,CAAC,EAEfA,EAAQoB,kBAAoB,IAC5BpB,EAAQ6B,cAAgB,IACxB7B,EAAQ8B,OAAS,SAAc,KAAM,QACrC9B,EAAQ+B,OAAS,IACjB/B,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKnB,QAAe,KAAW,IAAQgC,OAAS,IAAQA,YAASC,kECxB5D,IAAK+J,EAAC,SAADA,GAAC,OAADA,EAAC,8BAADA,EAAC,sBAADA,EAAC,8CAADA,EAAC,YAADA,EAAC,gBAADA,EAAC,kBAADA,EAAC,YAADA,EAAC,oCAADA,EAAC,wCAADA,EAAC,sBAADA,CAAC,MAab,MA0Ba7J,EAAK,yCAELC,EAAU,CAAEsS,GA5BN,CACjBvH,cAAe,gBACfwH,UAAW,YACXtH,sBAAuB,kGACvBpB,KAAM,OACNE,OAAQ,SACRE,QAAS,UACTE,KAAM,OACNK,iBAAkB,mBAClBC,mBAAoB,qBACpBC,UAAW,aAkBgB8H,GAfV,CACjBzH,cAAe,OACfwH,UAAW,OACXtH,sBAAuB,0BACvBpB,KAAM,KACNE,OAAQ,KACRE,QAAS,KACTE,KAAM,KACNK,iBAAkB,QAClBC,mBAAoB,QACpBC,UAAW,wBCpCb,OAOC,WACA,aAEA,IAAI+H,EAAS,CAAC,EAAEC,eAEhB,SAASrH,IAGR,IAFA,IAAIsH,EAAU,GAELhO,EAAI,EAAGA,EAAI0J,UAAU5P,OAAQkG,IAAK,CAC1C,IAAIiO,EAAMvE,UAAU1J,GAChBiO,IACHD,EAAUE,EAAYF,EAASG,EAAWF,IAE5C,CAEA,OAAOD,CACR,CAEA,SAASG,EAAYF,GACpB,GAAmB,iBAARA,GAAmC,iBAARA,EACrC,OAAOA,EAGR,GAAmB,iBAARA,EACV,MAAO,GAGR,GAAIG,MAAMC,QAAQJ,GACjB,OAAOvH,EAAWpM,MAAM,KAAM2T,GAG/B,GAAIA,EAAIK,WAAaC,OAAOC,UAAUF,WAAaL,EAAIK,SAASA,WAAW9R,SAAS,iBACnF,OAAOyR,EAAIK,WAGZ,IAAIN,EAAU,GAEd,IAAK,IAAIzR,KAAO0R,EACXH,EAAOW,KAAKR,EAAK1R,IAAQ0R,EAAI1R,KAChCyR,EAAUE,EAAYF,EAASzR,IAIjC,OAAOyR,CACR,CAEA,SAASE,EAAaQ,EAAOC,GAC5B,OAAKA,EAIDD,EACIA,EAAQ,IAAMC,EAGfD,EAAQC,EAPPD,CAQT,CAEqC3V,EAAOC,SAC3C0N,EAAWkI,QAAUlI,EACrB3N,EAAOC,QAAU0N,QAKhB,KAFwB,EAAF,WACtB,OAAOA,CACP,UAFoB,OAEpB,YAIH,CArEA,sHCMA,MAAMmI,GAAcjT,EAAAA,EAAAA,WAAyC,WASvDsF,EAAW,CAAC,IAAK,IAAK,IAAK,KAE1B,SAAS4N,EACdC,GAEA,MAAM,UAAErO,EAAS,OAAEnD,EAAM,SAAEiG,EAAQ,OAAEzC,GAAWgO,EAa1ClK,GAAW9G,EAAAA,EAAAA,UACf,KAAMiR,EAAAA,EAAAA,WAAUtO,EAAUmE,WAC1B,CAACnE,EAAUmE,YAENoK,EAAaC,IAAkBzQ,EAAAA,EAAAA,WAAS,KAC7C0Q,EAAAA,EAAAA,MACE,IACKpO,EACHM,UAAWN,EAAOM,WAAaX,EAAUQ,SAASrB,EAClD5C,UAAWyD,EAAUyF,OAEvBjF,MAMJ+C,EAAAA,EAAAA,YAAU,KACR,MAAMmL,GAAiBD,EAAAA,EAAAA,MACrB,IACKpO,EACHM,UAAWN,EAAOM,WAAaX,EAAUQ,SAASrB,GAEpDqB,IAGGmO,EAAAA,EAAAA,SAAQD,EAAgBH,IAC3BC,EAAeE,EACjB,GACC,CAACrO,EAAQkO,EAAavO,EAAUQ,SAASrB,IAE5C,MAAMmC,GAAkBjE,EAAAA,EAAAA,UAAQ,IACU,KAAjCkR,aAAW,EAAXA,EAAajN,kBACfiN,aAAW,EAAXA,EAAajN,iBAA0B,EACxC,GACH,CAACiN,IAEEK,GAAcvR,EAAAA,EAAAA,UAAQ,IACnB,GAAKiE,GACX,CAACA,IACEuN,GAAYxR,EAAAA,EAAAA,UAAQ,IACjBgD,EAAOwO,WACb,CAACxO,IAEEyO,GAAqBzR,EAAAA,EAAAA,UAAQ,KAE1B,CACL8F,IAAM0L,EAAkB,EAFd,GAGVE,MAHU,MAKX,CAACF,IAEJ,OACEzM,IAAAA,cAAA,OAAKC,UAAWqB,EAAAA,EAAOsL,aACpBnS,GACCuF,IAAAA,cAAA,OACEC,UAAWqB,EAAAA,EAAOuL,SAClB3M,MAAO,CACLa,IAAKyL,GAEPM,YAvEqB3J,IAC3BA,EAAE4J,gBAAgB,EAuEZ,cAAY,8CAGhB/M,IAAAA,cAACgN,EAAAA,cAAa,CAACjL,SAAUA,EAAUkL,KAAMd,IACxC1R,GACCuF,IAAAA,cAAC+L,EAAW,CACVpJ,KAAK,SACLC,IAAI,OACJ1C,MAAOwM,EACPzM,UAAWqB,EAAAA,EAAO0C,WAClBpC,QA9EmBuB,IACzBA,EAAE4J,iBACFrM,SAAAA,EAAWzC,EAAOf,EAAE,EA6Ed,cAAY,2CAKtB,CAEO,MAAMuD,GAA+ByM,EAAAA,EAAAA,MAC1ClB,qFCrHEmB,QAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACnX,EAAOoX,GAAI,glBAAilB,KAE1nBF,EAAwBhV,OAAS,CAChC,kBAAqB,8BACrB,qBAAwB,iCACxB,mBAAsB,+BACtB,qBAAwB,iCACxB,uBAA0B,oCAE3B,+eCXIgV,QAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACnX,EAAOoX,GAAI,+gBAAghB,KAEzjBF,EAAwBhV,OAAS,CAChC,UAAa,sBACb,SAAY,qBACZ,WAAc,uBACd,YAAe,yBAEhB,2FCHO,SAASwJ,EACdsK,GAEA,MAAM,UAAErO,EAAS,QAAEgE,EAAO,YAAEC,EAAW,UAAEC,GAAcmK,GACjD,IAAExS,EAAG,MAAE4J,EAAK,UAAEiK,GAAc1P,EAElC,OACEoC,IAAAA,cAAA,OACEC,UAAWqB,EAAAA,EAAOiM,qBAClB,cAAY,iCAEZvN,IAAAA,cAAA,OAAKC,UAAWqB,EAAAA,EAAOkM,oBAAqBnK,GAC5CrD,IAAAA,cAAA,OACEC,UAAWqB,EAAAA,EAAOmM,qBAClBC,WAAS,EACT7L,YAAcsB,IACZA,EAAEwK,aAAaC,QAAQ,aAAcnU,GACrCoI,SAAAA,GAAe,EAEjBC,UAAWA,EACXF,QAASA,EACT,cAAY,2CAEZ5B,IAAAA,cAAA,OACEC,UAAWqB,EAAAA,EAAOuM,uBAClBC,IAAKR,EACLS,IAAK1K,KAKf,uLC9BIlN,EAAU,CAAC,EAEfA,EAAQoB,kBAAoB,IAC5BpB,EAAQ6B,cAAgB,IACxB7B,EAAQ8B,OAAS,SAAc,KAAM,QACrC9B,EAAQ+B,OAAS,IACjB/B,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKnB,QAAe,KAAW,IAAQgC,OAAS,IAAQA,YAASC,0BCtBnE,IAAI4V,EAAc,GAClB,SAASC,EAAqBC,GAE5B,IADA,IAAIC,GAAU,EACLjR,EAAI,EAAGA,EAAI8Q,EAAYhX,OAAQkG,IACtC,GAAI8Q,EAAY9Q,GAAGgR,aAAeA,EAAY,CAC5CC,EAASjR,EACT,KACF,CAEF,OAAOiR,CACT,CACA,SAASC,EAAaC,EAAMlY,GAG1B,IAFA,IAAImY,EAAa,CAAC,EACdC,EAAc,GACTrR,EAAI,EAAGA,EAAImR,EAAKrX,OAAQkG,IAAK,CACpC,IAAII,EAAO+Q,EAAKnR,GACZmQ,EAAKlX,EAAQqY,KAAOlR,EAAK,GAAKnH,EAAQqY,KAAOlR,EAAK,GAClDmR,EAAQH,EAAWjB,IAAO,EAC1Ba,EAAa,GAAGtX,OAAOyW,EAAI,KAAKzW,OAAO6X,GAC3CH,EAAWjB,GAAMoB,EAAQ,EACzB,IAAIC,EAAoBT,EAAqBC,GACzCzX,EAAM,CACRC,IAAK4G,EAAK,GACVzG,MAAOyG,EAAK,GACZrG,UAAWqG,EAAK,GAChB3G,SAAU2G,EAAK,GACfvG,MAAOuG,EAAK,IAEd,IAA2B,IAAvBoR,EACFV,EAAYU,GAAmBC,aAC/BX,EAAYU,GAAmBE,QAAQnY,OAClC,CACL,IAAImY,EAAUC,EAAgBpY,EAAKN,GACnCA,EAAQ2Y,QAAU5R,EAClB8Q,EAAYe,OAAO7R,EAAG,EAAG,CACvBgR,WAAYA,EACZU,QAASA,EACTD,WAAY,GAEhB,CACAJ,EAAYnB,KAAKc,EACnB,CACA,OAAOK,CACT,CACA,SAASM,EAAgBpY,EAAKN,GAC5B,IAAI6Y,EAAM7Y,EAAQ+B,OAAO/B,GAYzB,OAXA6Y,EAAI3Y,OAAOI,GACG,SAAiBwY,GAC7B,GAAIA,EAAQ,CACV,GAAIA,EAAOvY,MAAQD,EAAIC,KAAOuY,EAAOpY,QAAUJ,EAAII,OAASoY,EAAOhY,YAAcR,EAAIQ,WAAagY,EAAOtY,WAAaF,EAAIE,UAAYsY,EAAOlY,QAAUN,EAAIM,MACzJ,OAEFiY,EAAI3Y,OAAOI,EAAMwY,EACnB,MACED,EAAI1Y,QAER,CAEF,CACAL,EAAOC,QAAU,SAAUmY,EAAMlY,GAG/B,IAAI+Y,EAAkBd,EADtBC,EAAOA,GAAQ,GADflY,EAAUA,GAAW,CAAC,GAGtB,OAAO,SAAgBgZ,GACrBA,EAAUA,GAAW,GACrB,IAAK,IAAIjS,EAAI,EAAGA,EAAIgS,EAAgBlY,OAAQkG,IAAK,CAC/C,IACIwE,EAAQuM,EADKiB,EAAgBhS,IAEjC8Q,EAAYtM,GAAOiN,YACrB,CAEA,IADA,IAAIS,EAAqBhB,EAAae,EAAShZ,GACtCkZ,EAAK,EAAGA,EAAKH,EAAgBlY,OAAQqY,IAAM,CAClD,IACIC,EAASrB,EADKiB,EAAgBG,IAEK,IAAnCrB,EAAYsB,GAAQX,aACtBX,EAAYsB,GAAQV,UACpBZ,EAAYe,OAAOO,EAAQ,GAE/B,CACAJ,EAAkBE,CACpB,CACF,0BCtEAnZ,EAAOC,QAVP,SAA2BQ,EAAKH,GAC9B,GAAIA,EAAagZ,WACfhZ,EAAagZ,WAAWC,QAAU9Y,MAC7B,CACL,KAAOH,EAAakZ,YAClBlZ,EAAamB,YAAYnB,EAAakZ,YAExClZ,EAAamZ,YAAYtZ,SAASuZ,eAAejZ,GACnD,CACF,gECXe,SAASmQ,EAA4BpQ,EAAKmZ,IACvD,OAA0BnZ,EAAKmZ,GAC/BA,EAAWC,IAAIpZ,EACjB,sKCOIN,EAAU,CAAC,EAEfA,EAAQoB,kBAAoB,IAC5BpB,EAAQ6B,cAAgB,IACxB7B,EAAQ8B,OAAS,SAAc,KAAM,QACrC9B,EAAQ+B,OAAS,IACjB/B,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKJ,KAAW,IAAQgC,QAAS,IAAQA,wHCnBtDgV,EAA0B,IAA4B,KAC1DA,EAAwBjQ,EAAE,KAC1BiQ,EAAwBjQ,EAAE,KAE1BiQ,EAAwBC,KAAK,CAACnX,EAAOoX,GAAI,sMAAuM,KAEhP,kCCTA,IAAIH,EAAO,CAAC,EA+BZjX,EAAOC,QAPP,SAA0B+B,EAAQiI,GAChC,IAAI4P,EAtBN,SAAmBA,GACjB,QAA4B,IAAjB5C,EAAK4C,GAAyB,CACvC,IAAIC,EAAc3Z,SAAS4Z,cAAcF,GAGzC,GAAI1W,OAAO6W,mBAAqBF,aAAuB3W,OAAO6W,kBAC5D,IAGEF,EAAcA,EAAYG,gBAAgBC,IAC5C,CAAE,MAAOhN,GAEP4M,EAAc,IAChB,CAEF7C,EAAK4C,GAAUC,CACjB,CACA,OAAO7C,EAAK4C,EACd,CAIeM,CAAUnY,GACvB,IAAK6X,EACH,MAAM,IAAIO,MAAM,2GAElBP,EAAOJ,YAAYxP,EACrB,iDC9BO,MAAMpC,EAAqC,CAChDS,UAAW,EACX+R,cAAc,EACdrR,gBAAiB,QACjBsR,kBAAmB,GACnBrR,gBAAiB,EACjBa,iBAAkB,EAClByQ,eAAgB,UAChB3Q,gBAAiB,UACjBH,WAAY,QAGD3B,EAA6BA,CACxC0S,EACAnW,KACoB,IAAAoW,EACpB,MAAMC,EAAyD,CAC7D,cAAe,CACbC,aAAc,2BACdN,cAAc,EACdO,aAAc,MAEhB,2BAA4B,CAC1BD,aAAc,yBACdN,cAAc,EACdO,aAAc,MAEhB,aAAc,CACZD,aAAc,0CACdN,cAAc,EACdO,aAAc,MAEhBC,kCAAmC,CACjCF,aAAc,+BACdN,cAAc,EACdO,aAAc,MAEhBE,gCAAiC,CAC/BH,aAAc,oCACdN,cAAc,EACdO,aAAc,SAEZvW,QAAAA,EAA8B,CAAC,GAErC,MAAO,IACFwD,KACkC,QAArC4S,EAAIC,aAAqB,EAArBA,EAAwBF,UAAS,IAAAC,EAAAA,EAAI,CAAC,EAC3C,oFC9CCvD,QAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACnX,EAAOoX,GAAI,yrDAA0rD,KAEnuDF,EAAwBhV,OAAS,CAChC,kBAAqB,8BACrB,iBAAoB,6BACpB,eAAkB,2BAClB,cAAiB,0BACjB,cAAiB,0BACjB,OAAU,mBACV,eAAkB,2BAClB,WAAc,wBAEf,kCCRAlC,EAAOC,QANP,SAA4BC,GAC1B,IAAI6a,EAAU5a,SAAS6a,cAAc,SAGrC,OAFA9a,EAAQ6B,cAAcgZ,EAAS7a,EAAQ+a,YACvC/a,EAAQ8B,OAAO+Y,EAAS7a,EAAQA,SACzB6a,CACT","sources":["webpack:///../../node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.module.css?66f3","webpack:///./src/workbench-layout-v2/index.tsx","webpack:///../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.module.css?5d2f","webpack:///./src/workbench-layout-v2/i18n.ts","webpack:///../../node_modules/classnames/index.js","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.tsx","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.module.css","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.module.css","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.tsx","webpack:///./src/workbench-layout-v2/styles.module.css?4307","webpack:///../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///../../node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///./src/workbench-layout-v2/styles.css?4d90","webpack:///./src/workbench-layout-v2/styles.css","webpack:///../../node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///./src/workbench-layout-v2/utils.ts","webpack:///./src/workbench-layout-v2/styles.module.css","webpack:///../../node_modules/style-loader/dist/runtime/insertStyleElement.js"],"sourcesContent":["\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DraggableComponentMenuItem.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DraggableComponentMenuItem.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\nimport { ReactUseMultipleBricks } from \"@next-core/react-runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport { Layout, Responsive, WidthProvider } from \"react-grid-layout\";\nimport \"@next-core/theme\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport {\n DropdownButton,\n DropdownButtonEvents,\n DropdownButtonEventsMap,\n DropdownButtonProps,\n} from \"@next-bricks/basic/dropdown-button\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\nimport { SimpleAction } from \"@next-bricks/basic/actions\";\nimport { keyBy, pick } from \"lodash\";\nimport { SizeMe } from \"react-sizeme\";\nimport { getBasePath } from \"@next-core/runtime\";\nimport {\n WorkbenchComponent,\n ExtraLayout,\n CardStyleConfig,\n} from \"../interfaces\";\nimport { DroppableComponentLayoutItem } from \"./DroppableComponentLayoutItem\";\nimport { DraggableComponentMenuItem } from \"./DraggableComponentMenuItem\";\nimport { getLayoutDefaultCardConfig } from \"./utils\";\n\nimport styles from \"./styles.module.css\";\nimport layoutItemStyles from \"./DroppableComponentLayoutItem.module.css\";\nimport \"./styles.css\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event, method } = createDecorators();\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedDropdownButton = wrapBrick<\n DropdownButton,\n DropdownButtonProps,\n DropdownButtonEvents,\n DropdownButtonEventsMap\n>(\"eo-dropdown-button\", { onActionClick: \"action.click\" });\nconst showDialog = unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n\nconst ROW_HEIGHT = 1;\nconst MARGIN_WIDTH = 16;\nconst MARGIN_HEIGHT = 16;\nconst URl_PREFIX = `${window.location.origin}${getBasePath()}api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/sys-setting/object/`;\nexport interface EoWorkbenchLayoutV2Props {\n cardTitle?: string;\n layouts?: ExtraLayout[];\n toolbarBricks?: { useBrick: UseSingleBrickConf[] };\n componentList?: WorkbenchComponent[];\n isEdit?: boolean;\n showSettingButton?: boolean;\n customDefaultCardConfigMap?: Record<string, CardStyleConfig>;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentRef {\n setLayouts(layouts: ExtraLayout[]): void;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentProps\n extends EoWorkbenchLayoutV2Props {\n gap?: number;\n onChange?: (layout: ExtraLayout[]) => void;\n onSave?: (layout: ExtraLayout[]) => void;\n onCancel?: () => void;\n onActionClick?: (action: SimpleAction, layouts: ExtraLayout[]) => void;\n onSetting?: () => void;\n}\n\nconst getRealKey = (key: string): string =>\n key?.includes(\":\") ? key.split(\":\")[0] : key;\nconst { isAdmin } = auth.getAuth();\n\nexport const EoWorkbenchLayoutComponent = forwardRef<\n EoWorkbenchLayoutV2ComponentRef,\n EoWorkbenchLayoutV2ComponentProps\n>(function EoWorkbenchLayoutComponent(\n {\n cardTitle = \"卡片列表\",\n layouts: layoutsProps,\n customDefaultCardConfigMap,\n toolbarBricks,\n componentList = [],\n isEdit,\n showSettingButton,\n onChange,\n onSave,\n onCancel,\n onActionClick,\n onSetting,\n gap,\n },\n ref\n) {\n const ResponsiveReactGridLayout = useMemo(\n () => WidthProvider(Responsive),\n []\n );\n const { t } = useTranslation(NS);\n const gridLayoutRef = useRef<HTMLDivElement>(null);\n const layoutWrapperRef = useRef<HTMLDivElement>(null);\n const layoutCacheRef = useRef<ExtraLayout[]>(layoutsProps ?? []);\n const [layouts, _setLayouts] = useState<ExtraLayout[]>(\n layoutCacheRef.current\n );\n const keyComponentMap = useMemo(\n () => keyBy(componentList, \"key\"),\n [componentList]\n );\n const [cols, setCols] = useState<number>(3);\n const [layoutWrapperStyle, setLayoutWrapperStyle] =\n useState<React.CSSProperties>();\n const draggingComponentRef = useRef<WorkbenchComponent>();\n\n const setLayouts = useCallback((layouts: ExtraLayout[]) => {\n layoutCacheRef.current = layouts;\n _setLayouts(layouts);\n }, []);\n\n useImperativeHandle(ref, () => ({ setLayouts }));\n\n const handleChange = useCallback(\n (layouts: ExtraLayout[]) => {\n setLayouts(layouts);\n onChange?.(layouts);\n },\n [onChange, setLayouts]\n );\n\n // const handleDragCallback: ItemCallback = (layout, oldItem, newItem) => {\n // const placeholderDOM = gridLayoutRef.current?.querySelector(\n // \".react-grid-placeholder\"\n // );\n // if (placeholderDOM) {\n // if (newItem.w > 1 && newItem.x > 0) {\n // !placeholderDOM.classList.contains(\"forbidden\") &&\n // placeholderDOM.classList.add(\"forbidden\");\n // } else {\n // placeholderDOM.classList.contains(\"forbidden\") &&\n // placeholderDOM.classList.remove(\"forbidden\");\n // }\n // }\n // };\n\n /* istanbul ignore next */\n const handleLayoutChange = useCallback(\n (currentLayout: ExtraLayout[]) => {\n if (!isEdit) {\n return;\n }\n\n // 占位拖拽不触发 setLayouts\n if (currentLayout.some((v) => v.isDraggable)) {\n return;\n }\n\n const currentLayoutsMap = keyBy(layouts, \"i\");\n for (let t = 0; t < currentLayout.length; t++) {\n const { x, w, y, h, i, minH } = currentLayout[t];\n if (w === 1 && x < 2) {\n const matchItem = currentLayout.find(\n (item) => item.i !== i && item.w === 1 && item.y === y && x < 2\n );\n if (matchItem) {\n currentLayout[t].minH = currentLayout[t].minH ?? h;\n }\n } else {\n currentLayout[t].h = minH ?? h;\n currentLayout[t].minH = undefined;\n }\n }\n\n handleChange(\n currentLayout.map((v) => {\n const layoutItem = currentLayoutsMap?.[v.i];\n return { ...layoutItem, ...v, type: getRealKey(v.i) };\n })\n );\n },\n [handleChange, isEdit, layouts]\n );\n\n const handleBreakpointChange = (_newBreakpoint: string, newCols: number) => {\n setCols(newCols);\n };\n\n const handleClearLayout = () => {\n handleChange([]);\n };\n\n const handleSave = useCallback(() => {\n onSave?.(layouts);\n }, [layouts, onSave]);\n\n const handleSetting = () => {\n onSetting?.();\n };\n\n const handleCancel = () => {\n onCancel?.();\n };\n\n const handleActionClick = (action: SimpleAction) => {\n const { event } = action;\n\n switch (event) {\n case \"clear\":\n showDialog({\n type: \"confirm\",\n title: t(K.CLEAR_CONFIRM) as string,\n content: t(K.CLEAR_CONFIRM_MESSAGE),\n }).then(handleClearLayout);\n break;\n default:\n onActionClick?.(action, layouts ?? []);\n }\n };\n\n const addComponent = (\n component: WorkbenchComponent,\n currentLayouts?: Layout[]\n ): void => {\n const defaultCardConfig = getLayoutDefaultCardConfig(\n component.key,\n customDefaultCardConfigMap\n );\n const currentLayoutsMap = keyBy(currentLayouts, \"i\");\n const newLayouts = layouts.map((layout) => {\n return {\n ...layout,\n ...pick(currentLayoutsMap?.[layout.i], [\"x\", \"y\"]),\n };\n });\n let newLayout = {\n ...defaultCardConfig,\n ...component.position,\n i: `${component.key}:${Math.random()}`,\n cardWidth: component.position.w,\n type: component.key,\n x: component.position.w > 1 ? 0 : (layouts.length * 2) % cols,\n y: Infinity,\n };\n if (currentLayouts) {\n const dropItem = currentLayouts.find((v) => v.i === \"__dropping-elem__\");\n newLayout = {\n ...newLayout,\n ...pick(dropItem, \"x\", \"y\"),\n };\n handleChange([newLayout, ...newLayouts]);\n return;\n }\n handleChange(layouts.concat(newLayout));\n };\n\n const handleDeleteItem = useCallback(\n (i: string) => {\n handleChange(layouts.filter((item) => item.i !== i) ?? []);\n },\n [handleChange, layouts]\n );\n\n /* istanbul ignore next */\n const handleResize = useCallback(\n (i: string, contentHeight: number) => {\n const oldLayout = layouts.find((layout: ExtraLayout) => layout.i === i);\n const initNewH =\n ((oldLayout?.cardBorderStyle === \"solid\"\n ? oldLayout?.cardBorderWidth || 0\n : 0) *\n 2 +\n contentHeight +\n (gap ?? MARGIN_HEIGHT)) /\n ((gap ?? MARGIN_HEIGHT) + ROW_HEIGHT);\n const newH = isEdit ? Math.ceil(initNewH) : initNewH;\n\n if (!oldLayout) return;\n\n const currentH = isEdit ? Math.ceil(oldLayout.h) : oldLayout.h;\n if (currentH !== newH) {\n const newLayouts = layouts.map((item) =>\n item.i === i ? { ...item, h: newH } : item\n );\n handleChange(newLayouts);\n }\n },\n [layouts, handleChange, gap, isEdit]\n );\n\n const renderChild = useMemo(() => {\n return layouts\n .map((layout) => {\n const component = keyComponentMap[getRealKey(layout.type as string)];\n if (!component) {\n return null;\n }\n const background =\n layout?.cardBgType === \"picture\"\n ? `url(\"${URl_PREFIX}${layout?.cardBackground}\") no-repeat center / cover`\n : layout?.cardBgType === \"realNone\"\n ? \"none\"\n : layout?.cardBgType === \"color\"\n ? layout?.cardBackground\n : \"#fff\";\n const border =\n layout?.cardBorderStyle === \"solid\"\n ? `${layout?.cardBorderWidth}px ${layout?.cardBorderStyle} ${layout?.cardBorderColor}`\n : (layout?.cardBorderStyle ?? \"1px solid #e8e8e8\");\n const borderRadius = `${layout?.cardBorderRadius ?? 6}px`;\n\n return (\n <div\n className=\"drag-box\"\n data-grid={{\n ...(component.position ?? {}),\n ...layout,\n w: layout.cardWidth || layout.w,\n }}\n key={layout.i}\n style={{\n ...(component.style || {}),\n background,\n border,\n borderRadius,\n backdropFilter: \"blur(10px)\",\n }}\n >\n <SizeMe monitorHeight>\n {({ size }) => {\n if (size.height) {\n handleResize(layout.i, size.height);\n }\n return (\n <DroppableComponentLayoutItem\n component={component}\n isEdit={isEdit}\n layout={layout}\n onDelete={handleDeleteItem}\n />\n );\n }}\n </SizeMe>\n </div>\n );\n })\n .filter(Boolean);\n }, [layouts, keyComponentMap, isEdit, handleDeleteItem, handleResize]);\n\n const handleWatchLayoutSizeChange = useCallback(() => {\n if (layoutWrapperRef && isEdit) {\n const { top } =\n layoutWrapperRef.current?.getClientRects()?.[0] ?? ({} as DOMRect);\n top !== undefined &&\n setLayoutWrapperStyle({\n height: document.body.clientHeight - top,\n });\n }\n }, [isEdit]);\n\n useEffect(() => {\n if (isEdit) {\n handleWatchLayoutSizeChange();\n setLayouts(layoutsProps || []); // 编辑的情况下需要动态改变一些布局\n window.addEventListener(\"resize\", handleWatchLayoutSizeChange);\n\n return () => {\n window.removeEventListener(\"resize\", handleWatchLayoutSizeChange);\n };\n }\n }, [isEdit, handleWatchLayoutSizeChange, layoutsProps, setLayouts]);\n\n return (\n <div className={styles.gridLayoutWrapper} ref={gridLayoutRef}>\n {isEdit && (\n <div className={styles.componentWrapper} style={layoutWrapperStyle}>\n <div className={styles.componentTitle}>{cardTitle}</div>\n <div className={styles.componentList}>\n {componentList?.map((component, index) => (\n <DraggableComponentMenuItem\n component={component}\n onClick={() => {\n addComponent(component);\n }}\n onDragStart={() => {\n draggingComponentRef.current = component;\n }}\n onDragEnd={() => {\n draggingComponentRef.current = undefined;\n }}\n key={component.key || index}\n />\n ))}\n {toolbarBricks?.useBrick && (\n <ReactUseMultipleBricks useBrick={toolbarBricks.useBrick} />\n )}\n </div>\n </div>\n )}\n <div\n className={styles.layoutWrapper}\n ref={layoutWrapperRef}\n style={layoutWrapperStyle}\n >\n {isEdit && (\n <div className={styles.actionsWrapper}>\n <WrappedButton type=\"primary\" onClick={handleSave}>\n {t(K.SAVE)}\n </WrappedButton>\n <WrappedButton onClick={handleCancel}>{t(K.CANCEL)}</WrappedButton>\n {showSettingButton && (\n <WrappedButton\n data-testid=\"setting-button\"\n onClick={handleSetting}\n >\n {t(K.SETTING)}\n </WrappedButton>\n )}\n <WrappedDropdownButton\n btnText={t(K.MORE) as string}\n icon={{ lib: \"antd\", icon: \"down\" }}\n actions={[\n ...(isAdmin\n ? [{ text: t(K.SAVE_AS_TEMPLATE), event: \"saveAsTemplate\" }]\n : []),\n { text: t(K.LOAD_FROM_TEMPLATE), event: \"loadFromTemplate\" },\n { text: t(K.CLEAR_ALL), danger: true, event: \"clear\" },\n ]}\n onActionClick={(e) => {\n handleActionClick(e.detail);\n }}\n data-testid=\"edit-layout-actions\"\n />\n </div>\n )}\n <ResponsiveReactGridLayout\n className={classNames(styles.layout, {\n [`${styles.layoutEdit}`]: isEdit,\n })}\n draggableCancel={`.${layoutItemStyles.deleteIcon},.edit-actions,.ignore-item`}\n breakpoints={{ lg: 1300, md: 1024, sm: 768 }}\n rowHeight={ROW_HEIGHT}\n cols={{ lg: 3, md: 3, sm: isEdit ? 3 : 1 }}\n isResizable={false}\n isDraggable={isEdit}\n isDroppable={isEdit}\n compactType=\"vertical\"\n margin={[gap ?? MARGIN_WIDTH, gap ?? MARGIN_HEIGHT]}\n // onDrag={handleDragCallback}\n useCSSTransforms={false}\n onDropDragOver={() => {\n if (draggingComponentRef.current) {\n return pick(draggingComponentRef.current.position, [\"w\", \"h\"]);\n }\n }}\n onDrop={(layout) => {\n if (draggingComponentRef.current) {\n addComponent(draggingComponentRef.current, layout);\n }\n }}\n onLayoutChange={handleLayoutChange}\n onBreakpointChange={handleBreakpointChange}\n >\n {renderChild}\n </ResponsiveReactGridLayout>\n </div>\n </div>\n );\n});\n\n/**\n * 工作台布局V2, 未使用shadow dom\n */\nexport\n@defineElement(\"eo-workbench-layout-v2\", { shadowOptions: false })\nclass EoWorkbenchLayoutV2 extends ReactNextElement {\n #componentRef = createRef<EoWorkbenchLayoutV2ComponentRef>();\n\n @property()\n accessor cardTitle: string | undefined;\n\n @property({ type: Boolean })\n accessor isEdit: boolean | undefined;\n\n @property({ attribute: false })\n accessor layouts: ExtraLayout[] | undefined;\n\n @property({ attribute: false })\n accessor toolbarBricks: { useBrick: UseSingleBrickConf[] } | undefined;\n\n @property({ attribute: false })\n accessor componentList: WorkbenchComponent[] | undefined;\n\n /**\n * 自定义卡片默认配置, 用于覆盖默认卡片配置\n */\n @property({ attribute: false })\n accessor customDefaultCardConfigMap:\n | Record<string, CardStyleConfig>\n | undefined;\n\n /**\n * description: 用于设置页面样式和布局的按钮\n */\n @property({ type: Boolean })\n accessor showSettingButton: boolean | undefined;\n\n /**\n * description: 卡片间隔\n */\n @property({ type: Number })\n accessor gap: number | undefined;\n\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<ExtraLayout[]>;\n\n #handleChange = (layouts: ExtraLayout[]) => {\n this.#changeEvent.emit(layouts);\n };\n\n @event({ type: \"save\" })\n accessor #saveEvent!: EventEmitter<ExtraLayout[]>;\n\n #handleSave = (layouts: ExtraLayout[]) => {\n this.#saveEvent.emit(layouts);\n };\n\n @event({ type: \"cancel\" })\n accessor #cancelEvent!: EventEmitter<void>;\n\n #handleCancel = () => {\n this.#cancelEvent.emit();\n };\n\n @event({ type: \"setting\" })\n accessor #settingEvent!: EventEmitter<void>;\n #handleSetting = () => {\n this.#settingEvent.emit();\n };\n\n /**\n * 操作点击事件\n * @detail {\n action: SimpleAction;\n layouts: Layout[];\n }\n */\n @event({ type: \"action.click\" })\n accessor #actionClickEvent!: EventEmitter<{\n action: SimpleAction;\n layouts: Layout[];\n }>;\n\n #handleActionClick = (action: SimpleAction, layouts: Layout[]): void => {\n this.#actionClickEvent.emit({ action, layouts });\n action.event &&\n this.dispatchEvent(new CustomEvent(action.event, { detail: layouts }));\n };\n\n @method()\n setLayouts(layouts: Layout[]) {\n this.#componentRef.current?.setLayouts(layouts);\n }\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <EoWorkbenchLayoutComponent\n cardTitle={this.cardTitle}\n layouts={this.layouts}\n gap={this.gap}\n toolbarBricks={this.toolbarBricks}\n componentList={this.componentList}\n showSettingButton={this.showSettingButton}\n isEdit={this.isEdit}\n customDefaultCardConfigMap={this.customDefaultCardConfigMap}\n onChange={this.#handleChange}\n onSave={this.#handleSave}\n onCancel={this.#handleCancel}\n onActionClick={this.#handleActionClick}\n onSetting={this.#handleSetting}\n ref={this.#componentRef}\n />\n );\n }\n}\n","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DroppableComponentLayoutItem.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DroppableComponentLayoutItem.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","export enum K {\n CLEAR_CONFIRM = \"CLEAR_CONFIRM\",\n CARD_LIST = \"CARD_LIST\",\n CLEAR_CONFIRM_MESSAGE = \"CLEAR_CONFIRM_MESSAGE\",\n SAVE = \"SAVE\",\n CANCEL = \"CANCEL\",\n SETTING = \"SETTING\",\n MORE = \"MORE\",\n SAVE_AS_TEMPLATE = \"SAVE_AS_TEMPLATE\",\n LOAD_FROM_TEMPLATE = \"LOAD_FROM_TEMPLATE\",\n CLEAR_ALL = \"CLEAR_ALL\"\n}\n\nconst en: Locale = {\n CLEAR_CONFIRM: \"Clear Confirm\",\n CARD_LIST: \"Card List\",\n CLEAR_CONFIRM_MESSAGE: \"All cards will be cleared and editing will start from scratch. This operation cannot be undone.\",\n SAVE: \"Save\",\n CANCEL: \"Cancel\",\n SETTING: \"Setting\",\n MORE: \"More\",\n SAVE_AS_TEMPLATE: \"Save As Template\",\n LOAD_FROM_TEMPLATE: \"Load From Template\",\n CLEAR_ALL: \"Clear All\"\n};\n\nconst zh: Locale = {\n CLEAR_CONFIRM: \"清空确认\",\n CARD_LIST: \"卡片列表\",\n CLEAR_CONFIRM_MESSAGE: \"将清空所有卡片,从零开始编辑,该操作无法撤回。\",\n SAVE: \"保存\",\n CANCEL: \"取消\",\n SETTING: \"设置\",\n MORE: \"更多\",\n SAVE_AS_TEMPLATE: \"另存为模板\",\n LOAD_FROM_TEMPLATE: \"从模板加载\",\n CLEAR_ALL: \"清空所有\"\n};\n\nexport const NS = \"bricks/advanced/eo-workbench-layout-v2\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, { memo, useEffect, useMemo, useState } from \"react\";\nimport { ReactUseBrick } from \"@next-core/react-runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nimport { WorkbenchComponent, ExtraLayout } from \"../interfaces\";\n\nimport styles from \"./DroppableComponentLayoutItem.module.css\";\nimport { cloneDeep, isEqual, omit } from \"lodash\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface DroppableComponentLayoutItemProps {\n component: WorkbenchComponent;\n layout: ExtraLayout;\n isEdit?: boolean;\n onDelete?(i: string): void;\n}\n\nconst position = [\"x\", \"y\", \"w\", \"h\"];\n\nexport function DroppableComponentLayoutItemElement(\n props: DroppableComponentLayoutItemProps\n): React.ReactElement {\n const { component, isEdit, onDelete, layout } = props;\n\n const handleEditMaskClick = (e: React.MouseEvent) => {\n e.preventDefault();\n };\n\n const handleDeleteClick = (e: React.MouseEvent) => {\n e.preventDefault();\n onDelete?.(layout.i);\n };\n /**\n * cloneDeep 操作是为了让 useBrick事件抛出的值是计算后的值\n */\n const useBrick = useMemo(\n () => cloneDeep(component.useBrick),\n [component.useBrick]\n );\n const [cardConfigs, setCardConfigs] = useState(() =>\n omit(\n {\n ...layout,\n cardWidth: layout.cardWidth || component.position.w,\n cardTitle: component.title,\n },\n position\n )\n );\n\n // todo 用于处理 layout 重新渲染导致页面卡顿\n /* istanbul ignore next */\n useEffect(() => {\n const newCardConfigs = omit(\n {\n ...layout,\n cardWidth: layout.cardWidth || component.position.w,\n },\n position\n );\n\n if (!isEqual(newCardConfigs, cardConfigs)) {\n setCardConfigs(newCardConfigs);\n }\n }, [layout, cardConfigs, component.position.w]);\n\n const cardBorderWidth = useMemo(() => {\n return cardConfigs?.cardBorderWidth !== 1\n ? (cardConfigs?.cardBorderWidth as any) - 1\n : 0;\n }, [cardConfigs]);\n\n const editMaskTop = useMemo(() => {\n return 45 + cardBorderWidth;\n }, [cardBorderWidth]);\n const noPadding = useMemo(() => {\n return layout.noPadding;\n }, [layout]);\n\n const deleteIconPosition = useMemo(() => {\n const top = 15;\n return {\n top: !noPadding ? top : 0,\n right: top,\n };\n }, [noPadding]);\n\n return (\n <div className={styles.itemWrapper}>\n {isEdit && (\n <div\n className={styles.editMask}\n style={{\n top: editMaskTop,\n }}\n onMouseDown={handleEditMaskClick}\n data-testid=\"droppable-component-layout-item-edit-mask\"\n />\n )}\n <ReactUseBrick useBrick={useBrick} data={cardConfigs} />\n {isEdit && (\n <WrappedIcon\n icon=\"delete\"\n lib=\"antd\"\n style={deleteIconPosition}\n className={styles.deleteIcon}\n onClick={handleDeleteClick}\n data-testid=\"droppable-component-layout-item-delete\"\n />\n )}\n </div>\n );\n}\n\nexport const DroppableComponentLayoutItem = memo(\n DroppableComponentLayoutItemElement\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, `.componentItemIcon--znvUWa0v{font-size:16px;color:#262626;margin-top:2px}.componentItemWrapper--mLC8xy_9{display:flex;flex-direction:column}.componentItemTitle--zo3KGnys{font-weight:400;font-size:12px;color:#595959;line-height:18px;text-align:left;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.componentItemContent--zOG8IL31{background-color:#f3f4f7;cursor:move;display:flex;justify-content:center;align-items:center}.componentItemThumbnail--epDINDMl{background:#ffffff;border:4px solid #f3f4f7;width:96px;height:64px;border-radius:1px}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"componentItemIcon\": `componentItemIcon--znvUWa0v`,\n\t\"componentItemWrapper\": `componentItemWrapper--mLC8xy_9`,\n\t\"componentItemTitle\": `componentItemTitle--zo3KGnys`,\n\t\"componentItemContent\": `componentItemContent--zOG8IL31`,\n\t\"componentItemThumbnail\": `componentItemThumbnail--epDINDMl`\n};\nexport default ___CSS_LOADER_EXPORT___;\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, `.component--MVAoEnGN{height:100%}.editMask--nl6r17tE{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.deleteIcon--tNyE_ou4{position:absolute;right:15px;top:15px;cursor:pointer;font-size:16px;width:30px;height:30px;display:flex;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text)}.deleteIcon--tNyE_ou4:hover{color:var(--color-error)}.deleteIcon--tNyE_ou4:active{color:var(--color-error-active)}.itemWrapper--_lUkkTz1{position:relative;width:100%}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"component\": `component--MVAoEnGN`,\n\t\"editMask\": `editMask--nl6r17tE`,\n\t\"deleteIcon\": `deleteIcon--tNyE_ou4`,\n\t\"itemWrapper\": `itemWrapper--_lUkkTz1`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import React from \"react\";\nimport { WorkbenchComponent } from \"../interfaces\";\nimport styles from \"./DraggableComponentMenuItem.module.css\";\nexport interface DraggableComponentMenuItemProps {\n component: WorkbenchComponent;\n onClick?(): void;\n onDragStart?(): void;\n onDragEnd?(): void;\n}\n\nexport function DraggableComponentMenuItem(\n props: DraggableComponentMenuItemProps\n): React.ReactElement {\n const { component, onClick, onDragStart, onDragEnd } = props;\n const { key, title, thumbnail } = component;\n\n return (\n <div\n className={styles.componentItemWrapper}\n data-testid=\"draggable-component-menu-item\"\n >\n <div className={styles.componentItemTitle}>{title}</div>\n <div\n className={styles.componentItemContent}\n draggable\n onDragStart={(e) => {\n e.dataTransfer.setData(\"text/plain\", key);\n onDragStart?.();\n }}\n onDragEnd={onDragEnd}\n onClick={onClick}\n data-testid=\"draggable-component-menu-item-thumbnail\"\n >\n <img\n className={styles.componentItemThumbnail}\n src={thumbnail}\n alt={title}\n />\n </div>\n </div>\n );\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./styles.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./styles.css\";\n export default content && content.locals ? content.locals : undefined;\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\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../../../../node_modules/react-grid-layout/css/styles.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../../../../node_modules/react-resizable/css/styles.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-grid-item.react-grid-placeholder{background-color:#ddd}.react-grid-item.react-draggable-dragging{pointer-events:none}.react-grid-item.react-grid-placeholder.forbidden{background-color:red}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","import { CardStyleConfig } from \"../interfaces\";\n\nexport const defaultCardConfig: CardStyleConfig = {\n cardWidth: 2,\n showMoreIcon: false,\n cardBorderStyle: \"solid\",\n cardTitleFontSize: 16,\n cardBorderWidth: 1,\n cardBorderRadius: 6,\n cardTitleColor: \"#262626\",\n cardBorderColor: \"#e8e8e8\",\n cardBgType: \"none\",\n};\n\nexport const getLayoutDefaultCardConfig = (\n cardType: string,\n customDefaultCardConfigMap?: Record<string, CardStyleConfig>\n): CardStyleConfig => {\n const moreLinkByCardTypeMap: Record<string, CardStyleConfig> = {\n \"notice-card\": {\n moreIconLink: \"/announcement-management\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n \"cmdb-object-collect-card\": {\n moreIconLink: \"/cmdb-model-management\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n \"itsm-todos\": {\n moreIconLink: \"/itsc-workbench/workbench?activeKey=run\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n abnormalResourceInspectionResults: {\n moreIconLink: \"/automatic-inspection/suites\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n abnormalSystemInspectionResults: {\n moreIconLink: \"/automatic-inspection/system/list\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n ...(customDefaultCardConfigMap ?? {}),\n };\n return {\n ...defaultCardConfig,\n ...(moreLinkByCardTypeMap?.[cardType] ?? {}),\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, `.gridLayoutWrapper--DIttynOM{display:flex;height:100%;position:relative;width:100%}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP{width:132px;padding:6px 12px 6px 16px;overflow-y:auto;box-shadow:1px 0 0 0 var(--palette-gray-4);background:var(--color-fill-bg-container-1);z-index:998;position:sticky;top:0}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentTitle--nKf9GEoj{font-size:16px;padding:6px 0;font-weight:500;color:#262626;line-height:22px;text-align:left}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB{margin-top:12px;width:100%;display:flex;flex-direction:column;gap:10px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR{flex:1;display:flex;flex-direction:column;align-items:center;width:100%;overflow:hidden}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj,.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{width:100%}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj{flex-grow:1}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layoutEdit--FVqWXNWj{overflow-y:auto}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{position:sticky;top:0;z-index:997;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"gridLayoutWrapper\": `gridLayoutWrapper--DIttynOM`,\n\t\"componentWrapper\": `componentWrapper--P8xsKOQP`,\n\t\"componentTitle\": `componentTitle--nKf9GEoj`,\n\t\"componentList\": `componentList--s3XnAYsB`,\n\t\"layoutWrapper\": `layoutWrapper--pk1t3UAR`,\n\t\"layout\": `layout--kz28taJj`,\n\t\"actionsWrapper\": `actionsWrapper--vQro2Dyn`,\n\t\"layoutEdit\": `layoutEdit--FVqWXNWj`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;"],"names":["module","exports","options","document","update","remove","styleElement","insertStyleElement","obj","css","supports","concat","media","needLayer","layer","length","sourceMap","btoa","unescape","encodeURIComponent","JSON","stringify","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","_classPrivateGetter","s","r","a","setAttributes","insert","domAPI","locals","undefined","initializeReactI18n","NS","locales","defineElement","property","event","method","createDecorators","WrappedButton","wrapBrick","WrappedDropdownButton","onActionClick","showDialog","unwrapProvider","URl_PREFIX","window","location","origin","getBasePath","getRealKey","key","includes","split","isAdmin","auth","getAuth","EoWorkbenchLayoutComponent","forwardRef","_ref","ref","cardTitle","layouts","layoutsProps","customDefaultCardConfigMap","toolbarBricks","componentList","isEdit","showSettingButton","onChange","onSave","onCancel","onSetting","gap","ResponsiveReactGridLayout","useMemo","WidthProvider","Responsive","t","useTranslation","gridLayoutRef","useRef","layoutWrapperRef","layoutCacheRef","_setLayouts","useState","current","keyComponentMap","keyBy","cols","setCols","layoutWrapperStyle","setLayoutWrapperStyle","draggingComponentRef","setLayouts","useCallback","useImperativeHandle","handleChange","handleLayoutChange","currentLayout","some","v","isDraggable","currentLayoutsMap","x","w","y","h","i","minH","_currentLayout$t$minH","find","item","map","type","handleClearLayout","handleSave","addComponent","component","currentLayouts","defaultCardConfig","getLayoutDefaultCardConfig","newLayouts","layout","pick","newLayout","position","Math","random","cardWidth","Infinity","dropItem","handleDeleteItem","_layouts$filter","filter","handleResize","contentHeight","oldLayout","initNewH","cardBorderStyle","cardBorderWidth","newH","ceil","renderChild","_layout$cardBorderSty","_layout$cardBorderRad","_component$position","background","cardBgType","cardBackground","border","cardBorderColor","borderRadius","cardBorderRadius","React","className","style","backdropFilter","SizeMe","monitorHeight","_ref2","size","height","DroppableComponentLayoutItem","onDelete","Boolean","handleWatchLayoutSizeChange","_layoutWrapperRef$cur","_layoutWrapperRef$cur2","top","getClientRects","body","clientHeight","useEffect","addEventListener","removeEventListener","styles","gridLayoutWrapper","componentWrapper","componentTitle","index","DraggableComponentMenuItem","onClick","onDragStart","onDragEnd","useBrick","ReactUseMultipleBricks","layoutWrapper","actionsWrapper","K","SAVE","handleCancel","CANCEL","handleSetting","SETTING","btnText","MORE","icon","lib","actions","text","SAVE_AS_TEMPLATE","LOAD_FROM_TEMPLATE","CLEAR_ALL","danger","e","action","title","CLEAR_CONFIRM","content","CLEAR_CONFIRM_MESSAGE","then","handleActionClick","detail","classNames","layoutEdit","draggableCancel","layoutItemStyles","deleteIcon","breakpoints","lg","md","sm","rowHeight","isResizable","isDroppable","compactType","margin","useCSSTransforms","onDropDragOver","onDrop","onLayoutChange","onBreakpointChange","handleBreakpointChange","_newBreakpoint","newCols","_EoWorkbenchLayoutV","_componentRef","WeakMap","_A","_B","_C","_D","_E","_F","_G","_H","_I","_EoWorkbenchLayoutV2_brand","WeakSet","_handleChange","_J","_handleSave","_K","_handleCancel","_L","_handleSetting","_M","_handleActionClick","EoWorkbenchLayoutV2","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","createRef","_init_cardTitle","_init_extra_cardTitle","_init_isEdit","_init_extra_isEdit","_init_layouts","_init_extra_layouts","_init_toolbarBricks","_init_extra_toolbarBricks","_init_componentList","_init_extra_componentList","_init_customDefaultCardConfigMap","_init_extra_customDefaultCardConfigMap","_init_showSettingButton","_init_extra_showSettingButton","_init_gap","_init_extra_gap","_init_changeEvent","_init_extra_changeEvent","this","_get_changeEvent","emit","_init_saveEvent","_init_extra_saveEvent","_get_saveEvent","_init_cancelEvent","_init_extra_cancelEvent","_get_cancelEvent","_init_settingEvent","_init_extra_settingEvent","_get_settingEvent","_init_actionClickEvent","_init_extra_actionClickEvent","_get_actionClickEvent","dispatchEvent","CustomEvent","_classPrivateFieldGet","_classPrivateFieldSet","_classPrivateFieldGet2","connectedCallback","display","super","render","_EoWorkbenchLayoutV2","_set_changeEvent","_set_saveEvent","_set_cancelEvent","_set_settingEvent","_set_actionClickEvent","c","_initClass","_applyDecs","shadowOptions","attribute","Number","o","_","has","_checkInRHS","nonce","setAttribute","en","CARD_LIST","zh","hasOwn","hasOwnProperty","classes","arg","appendClass","parseValue","Array","isArray","toString","Object","prototype","call","value","newClass","default","WrappedIcon","DroppableComponentLayoutItemElement","props","cloneDeep","cardConfigs","setCardConfigs","omit","newCardConfigs","isEqual","editMaskTop","noPadding","deleteIconPosition","right","itemWrapper","editMask","onMouseDown","preventDefault","ReactUseBrick","data","memo","___CSS_LOADER_EXPORT___","push","id","thumbnail","componentItemWrapper","componentItemTitle","componentItemContent","draggable","dataTransfer","setData","componentItemThumbnail","src","alt","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","list","idCountMap","identifiers","base","count","indexByIdentifier","references","updater","addElementStyle","byIndex","splice","api","newObj","lastIdentifiers","newList","newLastIdentifiers","_i","_index","styleSheet","cssText","firstChild","appendChild","createTextNode","privateSet","add","target","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","getTarget","Error","showMoreIcon","cardTitleFontSize","cardTitleColor","cardType","_moreLinkByCardTypeMa","moreLinkByCardTypeMap","moreIconLink","moreIconText","abnormalResourceInspectionResults","abnormalSystemInspectionResults","element","createElement","attributes"],"sourceRoot":""}
1
+ {"version":3,"file":"chunks/eo-workbench-layout-v2.24da89e7.js","mappings":"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","sources":["webpack:///../../node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateGetter.js","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.module.css?66f3","webpack:///./src/workbench-layout-v2/index.tsx","webpack:///../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.module.css?5d2f","webpack:///./src/workbench-layout-v2/i18n.ts","webpack:///../../node_modules/classnames/index.js","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.tsx","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.module.css","webpack:///./src/workbench-layout-v2/DroppableComponentLayoutItem.module.css","webpack:///./src/workbench-layout-v2/DraggableComponentMenuItem.tsx","webpack:///./src/workbench-layout-v2/styles.module.css?4307","webpack:///../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///../../node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack:///../../node_modules/@babel/runtime/helpers/esm/classPrivateMethodInitSpec.js","webpack:///./src/workbench-layout-v2/styles.css?4d90","webpack:///./src/workbench-layout-v2/styles.css","webpack:///../../node_modules/style-loader/dist/runtime/insertBySelector.js","webpack:///./src/workbench-layout-v2/utils.ts","webpack:///./src/workbench-layout-v2/styles.module.css","webpack:///../../node_modules/style-loader/dist/runtime/insertStyleElement.js"],"sourcesContent":["\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n var needLayer = typeof obj.layer !== \"undefined\";\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n css += obj.css;\n if (needLayer) {\n css += \"}\";\n }\n if (obj.media) {\n css += \"}\";\n }\n if (obj.supports) {\n css += \"}\";\n }\n var sourceMap = obj.sourceMap;\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n }\n\n // For old IE\n /* istanbul ignore if */\n options.styleTagTransform(css, styleElement, options.options);\n}\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n styleElement.parentNode.removeChild(styleElement);\n}\n\n/* istanbul ignore next */\nfunction domAPI(options) {\n if (typeof document === \"undefined\") {\n return {\n update: function update() {},\n remove: function remove() {}\n };\n }\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\nmodule.exports = domAPI;","import assertClassBrand from \"./assertClassBrand.js\";\nexport default function _classPrivateGetter(s, r, a) {\n return a(assertClassBrand(s, r));\n}","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DraggableComponentMenuItem.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DraggableComponentMenuItem.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React, {\n createRef,\n forwardRef,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport classNames from \"classnames\";\nimport { EventEmitter, createDecorators } from \"@next-core/element\";\nimport { ReactNextElement, wrapBrick } from \"@next-core/react-element\";\nimport { unwrapProvider } from \"@next-core/utils/general\";\nimport { UseSingleBrickConf } from \"@next-core/types\";\nimport { ReactUseMultipleBricks } from \"@next-core/react-runtime\";\nimport { auth } from \"@next-core/easyops-runtime\";\nimport { Layout, Responsive, WidthProvider } from \"react-grid-layout\";\nimport \"@next-core/theme\";\nimport type { Button, ButtonProps } from \"@next-bricks/basic/button\";\nimport {\n DropdownButton,\n DropdownButtonEvents,\n DropdownButtonEventsMap,\n DropdownButtonProps,\n} from \"@next-bricks/basic/dropdown-button\";\nimport type { showDialog as _showDialog } from \"@next-bricks/basic/data-providers/show-dialog/show-dialog\";\nimport { SimpleAction } from \"@next-bricks/basic/actions\";\nimport { keyBy, pick } from \"lodash\";\nimport { SizeMe } from \"react-sizeme\";\nimport { getBasePath } from \"@next-core/runtime\";\nimport {\n WorkbenchComponent,\n ExtraLayout,\n CardStyleConfig,\n} from \"../interfaces\";\nimport { DroppableComponentLayoutItem } from \"./DroppableComponentLayoutItem\";\nimport { DraggableComponentMenuItem } from \"./DraggableComponentMenuItem\";\nimport { getLayoutDefaultCardConfig } from \"./utils\";\n\nimport styles from \"./styles.module.css\";\nimport layoutItemStyles from \"./DroppableComponentLayoutItem.module.css\";\nimport \"./styles.css\";\nimport { K, NS, locales } from \"./i18n.js\";\nimport { useTranslation, initializeReactI18n } from \"@next-core/i18n/react\";\n\ninitializeReactI18n(NS, locales);\n\nconst { defineElement, property, event, method } = createDecorators();\n\nconst WrappedButton = wrapBrick<Button, ButtonProps>(\"eo-button\");\nconst WrappedDropdownButton = wrapBrick<\n DropdownButton,\n DropdownButtonProps,\n DropdownButtonEvents,\n DropdownButtonEventsMap\n>(\"eo-dropdown-button\", { onActionClick: \"action.click\" });\nconst showDialog = unwrapProvider<typeof _showDialog>(\"basic.show-dialog\");\n\nconst ROW_HEIGHT = 1;\nconst MARGIN_WIDTH = 16;\nconst MARGIN_HEIGHT = 16;\nconst URl_PREFIX = `${window.location.origin}${getBasePath()}api/gateway/object_store.object_store.GetObject/api/v1/objectStore/bucket/sys-setting/object/`;\nexport interface EoWorkbenchLayoutV2Props {\n cardTitle?: string;\n layouts?: ExtraLayout[];\n toolbarBricks?: { useBrick: UseSingleBrickConf[] };\n componentList?: WorkbenchComponent[];\n isEdit?: boolean;\n showSettingButton?: boolean;\n customDefaultCardConfigMap?: Record<string, CardStyleConfig>;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentRef {\n setLayouts(layouts: ExtraLayout[]): void;\n}\n\nexport interface EoWorkbenchLayoutV2ComponentProps\n extends EoWorkbenchLayoutV2Props {\n gap?: number;\n onChange?: (layout: ExtraLayout[]) => void;\n onSave?: (layout: ExtraLayout[]) => void;\n onCancel?: () => void;\n onActionClick?: (action: SimpleAction, layouts: ExtraLayout[]) => void;\n onSetting?: () => void;\n}\n\nconst getRealKey = (key: string): string =>\n key?.includes(\":\") ? key.split(\":\")[0] : key;\nconst { isAdmin } = auth.getAuth();\n\nexport const EoWorkbenchLayoutComponent = forwardRef<\n EoWorkbenchLayoutV2ComponentRef,\n EoWorkbenchLayoutV2ComponentProps\n>(function EoWorkbenchLayoutComponent(\n {\n cardTitle = \"卡片列表\",\n layouts: layoutsProps,\n customDefaultCardConfigMap,\n toolbarBricks,\n componentList = [],\n isEdit,\n showSettingButton,\n onChange,\n onSave,\n onCancel,\n onActionClick,\n onSetting,\n gap,\n },\n ref\n) {\n const ResponsiveReactGridLayout = useMemo(\n () => WidthProvider(Responsive),\n []\n );\n const { t } = useTranslation(NS);\n const gridLayoutRef = useRef<HTMLDivElement>(null);\n const layoutWrapperRef = useRef<HTMLDivElement>(null);\n const layoutCacheRef = useRef<ExtraLayout[]>(layoutsProps ?? []);\n const [layouts, _setLayouts] = useState<ExtraLayout[]>(\n layoutCacheRef.current\n );\n const keyComponentMap = useMemo(\n () => keyBy(componentList, \"key\"),\n [componentList]\n );\n const [cols, setCols] = useState<number>(3);\n const [layoutWrapperStyle, setLayoutWrapperStyle] =\n useState<React.CSSProperties>();\n const draggingComponentRef = useRef<WorkbenchComponent>();\n\n const setLayouts = useCallback((layouts: ExtraLayout[]) => {\n layoutCacheRef.current = layouts;\n _setLayouts(layouts);\n }, []);\n\n useImperativeHandle(ref, () => ({ setLayouts }));\n\n const handleChange = useCallback(\n (layouts: ExtraLayout[]) => {\n setLayouts(layouts);\n onChange?.(layouts);\n },\n [onChange, setLayouts]\n );\n\n // const handleDragCallback: ItemCallback = (layout, oldItem, newItem) => {\n // const placeholderDOM = gridLayoutRef.current?.querySelector(\n // \".react-grid-placeholder\"\n // );\n // if (placeholderDOM) {\n // if (newItem.w > 1 && newItem.x > 0) {\n // !placeholderDOM.classList.contains(\"forbidden\") &&\n // placeholderDOM.classList.add(\"forbidden\");\n // } else {\n // placeholderDOM.classList.contains(\"forbidden\") &&\n // placeholderDOM.classList.remove(\"forbidden\");\n // }\n // }\n // };\n\n /* istanbul ignore next */\n const handleLayoutChange = useCallback(\n (currentLayout: ExtraLayout[]) => {\n if (!isEdit) {\n return;\n }\n\n // 占位拖拽不触发 setLayouts\n if (currentLayout.some((v) => v.isDraggable)) {\n return;\n }\n\n const currentLayoutsMap = keyBy(layouts, \"i\");\n for (let t = 0; t < currentLayout.length; t++) {\n const { x, w, y, h, i, minH } = currentLayout[t];\n if (w === 1 && x < 2) {\n const matchItem = currentLayout.find(\n (item) => item.i !== i && item.w === 1 && item.y === y && x < 2\n );\n if (matchItem) {\n currentLayout[t].minH = currentLayout[t].minH ?? h;\n }\n } else {\n currentLayout[t].h = minH ?? h;\n currentLayout[t].minH = undefined;\n }\n }\n\n handleChange(\n currentLayout.map((v) => {\n const layoutItem = currentLayoutsMap?.[v.i];\n return { ...layoutItem, ...v, type: getRealKey(v.i) };\n })\n );\n },\n [handleChange, isEdit, layouts]\n );\n\n const handleBreakpointChange = (_newBreakpoint: string, newCols: number) => {\n setCols(newCols);\n };\n\n const handleClearLayout = () => {\n handleChange([]);\n };\n\n const handleSave = useCallback(() => {\n onSave?.(layouts);\n }, [layouts, onSave]);\n\n const handleSetting = () => {\n onSetting?.();\n };\n\n const handleCancel = () => {\n onCancel?.();\n };\n\n const handleActionClick = (action: SimpleAction) => {\n const { event } = action;\n\n switch (event) {\n case \"clear\":\n showDialog({\n type: \"confirm\",\n title: t(K.CLEAR_CONFIRM) as string,\n content: t(K.CLEAR_CONFIRM_MESSAGE),\n }).then(handleClearLayout);\n break;\n default:\n onActionClick?.(action, layouts ?? []);\n }\n };\n\n const addComponent = (\n component: WorkbenchComponent,\n currentLayouts?: Layout[]\n ): void => {\n const defaultCardConfig = getLayoutDefaultCardConfig(\n component.key,\n customDefaultCardConfigMap\n );\n const currentLayoutsMap = keyBy(currentLayouts, \"i\");\n const newLayouts = layouts.map((layout) => {\n return {\n ...layout,\n ...pick(currentLayoutsMap?.[layout.i], [\"x\", \"y\"]),\n };\n });\n let newLayout = {\n ...defaultCardConfig,\n ...component.position,\n i: `${component.key}:${Math.random()}`,\n cardWidth: component.position.w,\n type: component.key,\n x: component.position.w > 1 ? 0 : (layouts.length * 2) % cols,\n y: Infinity,\n };\n if (currentLayouts) {\n const dropItem = currentLayouts.find((v) => v.i === \"__dropping-elem__\");\n newLayout = {\n ...newLayout,\n ...pick(dropItem, \"x\", \"y\"),\n };\n handleChange([newLayout, ...newLayouts]);\n return;\n }\n handleChange(layouts.concat(newLayout));\n };\n\n const handleDeleteItem = useCallback(\n (i: string) => {\n handleChange(layouts.filter((item) => item.i !== i) ?? []);\n },\n [handleChange, layouts]\n );\n\n /* istanbul ignore next */\n const handleResize = useCallback(\n (i: string, contentHeight: number) => {\n const oldLayout = layouts.find((layout: ExtraLayout) => layout.i === i);\n const initNewH =\n ((oldLayout?.cardBorderStyle === \"solid\"\n ? oldLayout?.cardBorderWidth || 0\n : 0) *\n 2 +\n contentHeight +\n (gap ?? MARGIN_HEIGHT)) /\n ((gap ?? MARGIN_HEIGHT) + ROW_HEIGHT);\n const newH = isEdit ? Math.ceil(initNewH) : initNewH;\n\n if (!oldLayout) return;\n\n const currentH = isEdit ? Math.ceil(oldLayout.h) : oldLayout.h;\n if (currentH !== newH) {\n const newLayouts = layouts.map((item) =>\n item.i === i ? { ...item, h: newH } : item\n );\n handleChange(newLayouts);\n }\n },\n [layouts, handleChange, gap, isEdit]\n );\n\n const renderChild = useMemo(() => {\n return layouts\n .map((layout) => {\n const component = keyComponentMap[getRealKey(layout.type as string)];\n if (!component) {\n return null;\n }\n const background =\n layout?.cardBgType === \"picture\"\n ? `url(\"${URl_PREFIX}${layout?.cardBackground}\") no-repeat center / cover`\n : layout?.cardBgType === \"realNone\"\n ? \"none\"\n : layout?.cardBgType === \"color\"\n ? layout?.cardBackground\n : \"#fff\";\n const border =\n layout?.cardBorderStyle === \"solid\"\n ? `${layout?.cardBorderWidth}px ${layout?.cardBorderStyle} ${layout?.cardBorderColor}`\n : (layout?.cardBorderStyle ?? \"1px solid #e8e8e8\");\n const borderRadius = `${layout?.cardBorderRadius ?? 6}px`;\n\n return (\n <div\n className=\"drag-box\"\n data-grid={{\n ...(component.position ?? {}),\n ...layout,\n w: layout.cardWidth || layout.w,\n }}\n key={layout.i}\n style={{\n ...(component.style || {}),\n background,\n border,\n borderRadius,\n backdropFilter: \"blur(10px)\",\n }}\n >\n <SizeMe monitorHeight>\n {({ size }) => {\n if (size.height) {\n handleResize(layout.i, size.height);\n }\n return (\n <DroppableComponentLayoutItem\n component={component}\n isEdit={isEdit}\n layout={layout}\n onDelete={handleDeleteItem}\n />\n );\n }}\n </SizeMe>\n </div>\n );\n })\n .filter(Boolean);\n }, [layouts, keyComponentMap, isEdit, handleDeleteItem, handleResize]);\n\n const handleWatchLayoutSizeChange = useCallback(() => {\n if (layoutWrapperRef && isEdit) {\n const { top } =\n layoutWrapperRef.current?.getClientRects()?.[0] ?? ({} as DOMRect);\n top !== undefined &&\n setLayoutWrapperStyle({\n height: document.body.clientHeight - top,\n });\n }\n }, [isEdit]);\n\n useEffect(() => {\n if (isEdit) {\n handleWatchLayoutSizeChange();\n setLayouts(layoutsProps || []); // 编辑的情况下需要动态改变一些布局\n window.addEventListener(\"resize\", handleWatchLayoutSizeChange);\n\n return () => {\n window.removeEventListener(\"resize\", handleWatchLayoutSizeChange);\n };\n }\n }, [isEdit, handleWatchLayoutSizeChange, layoutsProps, setLayouts]);\n\n return (\n <div className={styles.gridLayoutWrapper} ref={gridLayoutRef}>\n {isEdit && (\n <div className={styles.componentWrapper} style={layoutWrapperStyle}>\n <div className={styles.componentTitle}>{cardTitle}</div>\n <div className={styles.componentList}>\n {componentList?.map((component, index) => (\n <DraggableComponentMenuItem\n component={component}\n onClick={() => {\n addComponent(component);\n }}\n onDragStart={() => {\n draggingComponentRef.current = component;\n }}\n onDragEnd={() => {\n draggingComponentRef.current = undefined;\n }}\n key={component.key || index}\n />\n ))}\n {toolbarBricks?.useBrick && (\n <ReactUseMultipleBricks useBrick={toolbarBricks.useBrick} />\n )}\n </div>\n </div>\n )}\n <div\n className={styles.layoutWrapper}\n ref={layoutWrapperRef}\n style={layoutWrapperStyle}\n >\n {isEdit && (\n <div className={styles.actionsWrapper}>\n <WrappedButton type=\"primary\" onClick={handleSave}>\n {t(K.SAVE)}\n </WrappedButton>\n <WrappedButton onClick={handleCancel}>{t(K.CANCEL)}</WrappedButton>\n {showSettingButton && (\n <WrappedButton\n data-testid=\"setting-button\"\n onClick={handleSetting}\n >\n {t(K.SETTING)}\n </WrappedButton>\n )}\n <WrappedDropdownButton\n btnText={t(K.MORE) as string}\n icon={{ lib: \"antd\", icon: \"down\" }}\n actions={[\n ...(isAdmin\n ? [{ text: t(K.SAVE_AS_TEMPLATE), event: \"saveAsTemplate\" }]\n : []),\n { text: t(K.LOAD_FROM_TEMPLATE), event: \"loadFromTemplate\" },\n { text: t(K.CLEAR_ALL), danger: true, event: \"clear\" },\n ]}\n onActionClick={(e) => {\n handleActionClick(e.detail);\n }}\n data-testid=\"edit-layout-actions\"\n />\n </div>\n )}\n <ResponsiveReactGridLayout\n className={classNames(styles.layout, {\n [`${styles.layoutEdit}`]: isEdit,\n })}\n draggableCancel={`.${layoutItemStyles.deleteIcon},.edit-actions,.ignore-item`}\n breakpoints={{ lg: 1300, md: 1024, sm: 768 }}\n rowHeight={ROW_HEIGHT}\n cols={{ lg: 3, md: 3, sm: isEdit ? 3 : 1 }}\n isResizable={false}\n isDraggable={isEdit}\n isDroppable={isEdit}\n compactType=\"vertical\"\n margin={[gap ?? MARGIN_WIDTH, gap ?? MARGIN_HEIGHT]}\n // onDrag={handleDragCallback}\n useCSSTransforms={false}\n onDropDragOver={() => {\n if (draggingComponentRef.current) {\n return pick(draggingComponentRef.current.position, [\"w\", \"h\"]);\n }\n }}\n onDrop={(layout) => {\n if (draggingComponentRef.current) {\n addComponent(draggingComponentRef.current, layout);\n }\n }}\n onLayoutChange={handleLayoutChange}\n onBreakpointChange={handleBreakpointChange}\n >\n {renderChild}\n </ResponsiveReactGridLayout>\n </div>\n </div>\n );\n});\n\n/**\n * 工作台布局V2, 未使用shadow dom\n */\nexport\n@defineElement(\"eo-workbench-layout-v2\", { shadowOptions: false })\nclass EoWorkbenchLayoutV2 extends ReactNextElement {\n #componentRef = createRef<EoWorkbenchLayoutV2ComponentRef>();\n\n @property()\n accessor cardTitle: string | undefined;\n\n @property({ type: Boolean })\n accessor isEdit: boolean | undefined;\n\n @property({ attribute: false })\n accessor layouts: ExtraLayout[] | undefined;\n\n @property({ attribute: false })\n accessor toolbarBricks: { useBrick: UseSingleBrickConf[] } | undefined;\n\n @property({ attribute: false })\n accessor componentList: WorkbenchComponent[] | undefined;\n\n /**\n * 自定义卡片默认配置, 用于覆盖默认卡片配置\n */\n @property({ attribute: false })\n accessor customDefaultCardConfigMap:\n | Record<string, CardStyleConfig>\n | undefined;\n\n /**\n * description: 用于设置页面样式和布局的按钮\n */\n @property({ type: Boolean })\n accessor showSettingButton: boolean | undefined;\n\n /**\n * description: 卡片间隔\n */\n @property({ type: Number })\n accessor gap: number | undefined;\n\n @event({ type: \"change\" })\n accessor #changeEvent!: EventEmitter<ExtraLayout[]>;\n\n #handleChange = (layouts: ExtraLayout[]) => {\n this.#changeEvent.emit(layouts);\n };\n\n @event({ type: \"save\" })\n accessor #saveEvent!: EventEmitter<ExtraLayout[]>;\n\n #handleSave = (layouts: ExtraLayout[]) => {\n this.#saveEvent.emit(layouts);\n };\n\n @event({ type: \"cancel\" })\n accessor #cancelEvent!: EventEmitter<void>;\n\n #handleCancel = () => {\n this.#cancelEvent.emit();\n };\n\n @event({ type: \"setting\" })\n accessor #settingEvent!: EventEmitter<void>;\n #handleSetting = () => {\n this.#settingEvent.emit();\n };\n\n /**\n * 操作点击事件\n * @detail {\n action: SimpleAction;\n layouts: Layout[];\n }\n */\n @event({ type: \"action.click\" })\n accessor #actionClickEvent!: EventEmitter<{\n action: SimpleAction;\n layouts: Layout[];\n }>;\n\n #handleActionClick = (action: SimpleAction, layouts: Layout[]): void => {\n this.#actionClickEvent.emit({ action, layouts });\n action.event &&\n this.dispatchEvent(new CustomEvent(action.event, { detail: layouts }));\n };\n\n @method()\n setLayouts(layouts: Layout[]) {\n this.#componentRef.current?.setLayouts(layouts);\n }\n\n connectedCallback(): void {\n // Don't override user's style settings.\n // istanbul ignore else\n if (!this.style.display) {\n this.style.display = \"block\";\n }\n super.connectedCallback();\n }\n\n render() {\n return (\n <EoWorkbenchLayoutComponent\n cardTitle={this.cardTitle}\n layouts={this.layouts}\n gap={this.gap}\n toolbarBricks={this.toolbarBricks}\n componentList={this.componentList}\n showSettingButton={this.showSettingButton}\n isEdit={this.isEdit}\n customDefaultCardConfigMap={this.customDefaultCardConfigMap}\n onChange={this.#handleChange}\n onSave={this.#handleSave}\n onCancel={this.#handleCancel}\n onActionClick={this.#handleActionClick}\n onSetting={this.#handleSetting}\n ref={this.#componentRef}\n />\n );\n }\n}\n","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\nmodule.exports = setAttributesWithoutAttributes;","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DroppableComponentLayoutItem.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./DroppableComponentLayoutItem.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","export enum K {\n CLEAR_CONFIRM = \"CLEAR_CONFIRM\",\n CARD_LIST = \"CARD_LIST\",\n CLEAR_CONFIRM_MESSAGE = \"CLEAR_CONFIRM_MESSAGE\",\n SAVE = \"SAVE\",\n CANCEL = \"CANCEL\",\n SETTING = \"SETTING\",\n MORE = \"MORE\",\n SAVE_AS_TEMPLATE = \"SAVE_AS_TEMPLATE\",\n LOAD_FROM_TEMPLATE = \"LOAD_FROM_TEMPLATE\",\n CLEAR_ALL = \"CLEAR_ALL\"\n}\n\nconst en: Locale = {\n CLEAR_CONFIRM: \"Clear Confirm\",\n CARD_LIST: \"Card List\",\n CLEAR_CONFIRM_MESSAGE: \"All cards will be cleared and editing will start from scratch. This operation cannot be undone.\",\n SAVE: \"Save\",\n CANCEL: \"Cancel\",\n SETTING: \"Setting\",\n MORE: \"More\",\n SAVE_AS_TEMPLATE: \"Save As Template\",\n LOAD_FROM_TEMPLATE: \"Load From Template\",\n CLEAR_ALL: \"Clear All\"\n};\n\nconst zh: Locale = {\n CLEAR_CONFIRM: \"清空确认\",\n CARD_LIST: \"卡片列表\",\n CLEAR_CONFIRM_MESSAGE: \"将清空所有卡片,从零开始编辑,该操作无法撤回。\",\n SAVE: \"保存\",\n CANCEL: \"取消\",\n SETTING: \"设置\",\n MORE: \"更多\",\n SAVE_AS_TEMPLATE: \"另存为模板\",\n LOAD_FROM_TEMPLATE: \"从模板加载\",\n CLEAR_ALL: \"清空所有\"\n};\n\nexport const NS = \"bricks/advanced/eo-workbench-layout-v2\";\n\nexport const locales = { en, zh };\n\ntype Locale = { [k in K]: string } & {\n [k in K as `${k}_plural`]?: string;\n};","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = '';\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (arg) {\n\t\t\t\tclasses = appendClass(classes, parseValue(arg));\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction parseValue (arg) {\n\t\tif (typeof arg === 'string' || typeof arg === 'number') {\n\t\t\treturn arg;\n\t\t}\n\n\t\tif (typeof arg !== 'object') {\n\t\t\treturn '';\n\t\t}\n\n\t\tif (Array.isArray(arg)) {\n\t\t\treturn classNames.apply(null, arg);\n\t\t}\n\n\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\treturn arg.toString();\n\t\t}\n\n\t\tvar classes = '';\n\n\t\tfor (var key in arg) {\n\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\tclasses = appendClass(classes, key);\n\t\t\t}\n\t\t}\n\n\t\treturn classes;\n\t}\n\n\tfunction appendClass (value, newClass) {\n\t\tif (!newClass) {\n\t\t\treturn value;\n\t\t}\n\t\n\t\tif (value) {\n\t\t\treturn value + ' ' + newClass;\n\t\t}\n\t\n\t\treturn value + newClass;\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","import React, { memo, useEffect, useMemo, useState } from \"react\";\nimport { ReactUseBrick } from \"@next-core/react-runtime\";\nimport { wrapBrick } from \"@next-core/react-element\";\nimport type {\n GeneralIcon,\n GeneralIconProps,\n} from \"@next-bricks/icons/general-icon\";\n\nimport { WorkbenchComponent, ExtraLayout } from \"../interfaces\";\n\nimport styles from \"./DroppableComponentLayoutItem.module.css\";\nimport { cloneDeep, isEqual, omit } from \"lodash\";\n\nconst WrappedIcon = wrapBrick<GeneralIcon, GeneralIconProps>(\"eo-icon\");\n\nexport interface DroppableComponentLayoutItemProps {\n component: WorkbenchComponent;\n layout: ExtraLayout;\n isEdit?: boolean;\n onDelete?(i: string): void;\n}\n\nconst position = [\"x\", \"y\", \"w\", \"h\"];\n\nexport function DroppableComponentLayoutItemElement(\n props: DroppableComponentLayoutItemProps\n): React.ReactElement {\n const { component, isEdit, onDelete, layout } = props;\n\n const handleEditMaskClick = (e: React.MouseEvent) => {\n e.preventDefault();\n };\n\n const handleDeleteClick = (e: React.MouseEvent) => {\n e.preventDefault();\n onDelete?.(layout.i);\n };\n /**\n * cloneDeep 操作是为了让 useBrick事件抛出的值是计算后的值\n */\n const useBrick = useMemo(\n () => cloneDeep(component.useBrick),\n [component.useBrick]\n );\n const [cardConfigs, setCardConfigs] = useState(() =>\n omit(\n {\n ...layout,\n cardWidth: layout.cardWidth || component.position.w,\n cardTitle: component.title,\n },\n position\n )\n );\n\n // todo 用于处理 layout 重新渲染导致页面卡顿\n /* istanbul ignore next */\n useEffect(() => {\n const newCardConfigs = omit(\n {\n ...layout,\n cardWidth: layout.cardWidth || component.position.w,\n },\n position\n );\n\n if (!isEqual(newCardConfigs, cardConfigs)) {\n setCardConfigs(newCardConfigs);\n }\n }, [layout, cardConfigs, component.position.w]);\n\n const cardBorderWidth = useMemo(() => {\n return cardConfigs?.cardBorderWidth !== 1\n ? (cardConfigs?.cardBorderWidth as any) - 1\n : 0;\n }, [cardConfigs]);\n\n const editMaskTop = useMemo(() => {\n return 45 + cardBorderWidth;\n }, [cardBorderWidth]);\n const noPadding = useMemo(() => {\n return layout.noPadding;\n }, [layout]);\n\n const deleteIconPosition = useMemo(() => {\n const top = 15;\n return {\n top: !noPadding ? top : 0,\n right: top,\n };\n }, [noPadding]);\n\n return (\n <div className={styles.itemWrapper}>\n {isEdit && (\n <div\n className={styles.editMask}\n style={{\n top: editMaskTop,\n }}\n onMouseDown={handleEditMaskClick}\n data-testid=\"droppable-component-layout-item-edit-mask\"\n />\n )}\n <ReactUseBrick useBrick={useBrick} data={cardConfigs} />\n {isEdit && (\n <WrappedIcon\n icon=\"delete\"\n lib=\"antd\"\n style={deleteIconPosition}\n className={styles.deleteIcon}\n onClick={handleDeleteClick}\n data-testid=\"droppable-component-layout-item-delete\"\n />\n )}\n </div>\n );\n}\n\nexport const DroppableComponentLayoutItem = memo(\n DroppableComponentLayoutItemElement\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, `.componentItemIcon--znvUWa0v{font-size:16px;color:#262626;margin-top:2px}.componentItemWrapper--mLC8xy_9{display:flex;flex-direction:column}.componentItemTitle--zo3KGnys{font-weight:400;font-size:12px;color:#595959;line-height:18px;text-align:left;display:-webkit-box;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.componentItemContent--zOG8IL31{background-color:#f3f4f7;cursor:move;display:flex;justify-content:center;align-items:center}.componentItemThumbnail--epDINDMl{background:#ffffff;border:4px solid #f3f4f7;width:96px;height:64px;border-radius:1px}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"componentItemIcon\": `componentItemIcon--znvUWa0v`,\n\t\"componentItemWrapper\": `componentItemWrapper--mLC8xy_9`,\n\t\"componentItemTitle\": `componentItemTitle--zo3KGnys`,\n\t\"componentItemContent\": `componentItemContent--zOG8IL31`,\n\t\"componentItemThumbnail\": `componentItemThumbnail--epDINDMl`\n};\nexport default ___CSS_LOADER_EXPORT___;\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, `.component--MVAoEnGN{height:100%}.editMask--nl6r17tE{position:absolute;left:0;right:0;top:45px;bottom:0;z-index:10}.deleteIcon--tNyE_ou4{position:absolute;right:15px;top:15px;cursor:pointer;font-size:16px;width:30px;height:30px;display:flex;justify-content:center;align-items:center;background:var(--color-fill-bg-container-1);color:var(--color-normal-text)}.deleteIcon--tNyE_ou4:hover{color:var(--color-error)}.deleteIcon--tNyE_ou4:active{color:var(--color-error-active)}.itemWrapper--_lUkkTz1{position:relative;width:100%}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"component\": `component--MVAoEnGN`,\n\t\"editMask\": `editMask--nl6r17tE`,\n\t\"deleteIcon\": `deleteIcon--tNyE_ou4`,\n\t\"itemWrapper\": `itemWrapper--_lUkkTz1`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","import React from \"react\";\nimport { WorkbenchComponent } from \"../interfaces\";\nimport styles from \"./DraggableComponentMenuItem.module.css\";\nexport interface DraggableComponentMenuItemProps {\n component: WorkbenchComponent;\n onClick?(): void;\n onDragStart?(): void;\n onDragEnd?(): void;\n}\n\nexport function DraggableComponentMenuItem(\n props: DraggableComponentMenuItemProps\n): React.ReactElement {\n const { component, onClick, onDragStart, onDragEnd } = props;\n const { key, title, thumbnail } = component;\n\n return (\n <div\n className={styles.componentItemWrapper}\n data-testid=\"draggable-component-menu-item\"\n >\n <div className={styles.componentItemTitle}>{title}</div>\n <div\n className={styles.componentItemContent}\n draggable\n onDragStart={(e) => {\n e.dataTransfer.setData(\"text/plain\", key);\n onDragStart?.();\n }}\n onDragEnd={onDragEnd}\n onClick={onClick}\n data-testid=\"draggable-component-menu-item-thumbnail\"\n >\n <img\n className={styles.componentItemThumbnail}\n src={thumbnail}\n alt={title}\n />\n </div>\n </div>\n );\n}\n","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[3].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[3].use[2]!./styles.module.css\";\n export default content && content.locals ? content.locals : undefined;\n","\"use strict\";\n\nvar stylesInDOM = [];\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n return result;\n}\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n identifiers.push(identifier);\n }\n return identifiers;\n}\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n return updater;\n}\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n var newLastIdentifiers = modulesToDom(newList, options);\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n var _index = getIndexByIdentifier(_identifier);\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n stylesInDOM.splice(_index, 1);\n }\n }\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n styleElement.appendChild(document.createTextNode(css));\n }\n}\nmodule.exports = styleTagTransform;","import checkPrivateRedeclaration from \"./checkPrivateRedeclaration.js\";\nexport default function _classPrivateMethodInitSpec(obj, privateSet) {\n checkPrivateRedeclaration(obj, privateSet);\n privateSet.add(obj);\n}","\n import API from \"!../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./styles.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\noptions.insert = insertFn.bind(null, \"head\");\noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!./styles.css\";\n export default content && content.locals ? content.locals : undefined;\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\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_0___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../../../../node_modules/react-grid-layout/css/styles.css\";\nimport ___CSS_LOADER_AT_RULE_IMPORT_1___ from \"-!../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[0].use[1]!../../../../node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[0].use[2]!../../../../node_modules/react-resizable/css/styles.css\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_NO_SOURCEMAP_IMPORT___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_0___);\n___CSS_LOADER_EXPORT___.i(___CSS_LOADER_AT_RULE_IMPORT_1___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, `.react-grid-item.react-grid-placeholder{background-color:#ddd}.react-grid-item.react-draggable-dragging{pointer-events:none}.react-grid-item.react-grid-placeholder.forbidden{background-color:red}`, \"\"]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\nvar memo = {};\n\n/* istanbul ignore next */\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target);\n\n // Special case to return head of iframe instead of iframe itself\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n memo[target] = styleTarget;\n }\n return memo[target];\n}\n\n/* istanbul ignore next */\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n target.appendChild(style);\n}\nmodule.exports = insertBySelector;","import { CardStyleConfig } from \"../interfaces\";\n\nexport const defaultCardConfig: CardStyleConfig = {\n cardWidth: 2,\n showMoreIcon: false,\n cardBorderStyle: \"solid\",\n cardTitleFontSize: 16,\n cardBorderWidth: 1,\n cardBorderRadius: 6,\n cardTitleColor: \"#262626\",\n cardBorderColor: \"#e8e8e8\",\n cardBgType: \"none\",\n};\n\nexport const getLayoutDefaultCardConfig = (\n cardType: string,\n customDefaultCardConfigMap?: Record<string, CardStyleConfig>\n): CardStyleConfig => {\n const moreLinkByCardTypeMap: Record<string, CardStyleConfig> = {\n \"notice-card\": {\n moreIconLink: \"/announcement-management\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n \"cmdb-object-collect-card\": {\n moreIconLink: \"/cmdb-model-management\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n \"itsm-todos\": {\n moreIconLink: \"/itsc-workbench/workbench?activeKey=run\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n abnormalResourceInspectionResults: {\n moreIconLink: \"/automatic-inspection/suites\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n abnormalSystemInspectionResults: {\n moreIconLink: \"/automatic-inspection/system/list\",\n showMoreIcon: true,\n moreIconText: \"更多\",\n },\n ...(customDefaultCardConfigMap ?? {}),\n };\n return {\n ...defaultCardConfig,\n ...(moreLinkByCardTypeMap?.[cardType] ?? {}),\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, `.gridLayoutWrapper--DIttynOM{display:flex;height:100%;position:relative;width:100%}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP{width:132px;padding:6px 12px 6px 16px;overflow-y:auto;box-shadow:1px 0 0 0 var(--palette-gray-4);background:var(--color-fill-bg-container-1);z-index:998;position:sticky;top:0}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentTitle--nKf9GEoj{font-size:16px;padding:6px 0;font-weight:500;color:#262626;line-height:22px;text-align:left}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB{margin-top:12px;width:100%;display:flex;flex-direction:column;gap:10px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-wrapper){display:flex;flex-wrap:wrap;gap:8px}.gridLayoutWrapper--DIttynOM .componentWrapper--P8xsKOQP .componentList--s3XnAYsB eo-checkbox::part(checkbox-option){margin-left:0;width:100%;background:none}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR{flex:1;display:flex;flex-direction:column;align-items:center;width:100%;overflow:hidden}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj,.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{width:100%}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layout--kz28taJj{flex-grow:1}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .layoutEdit--FVqWXNWj{overflow-y:auto}.gridLayoutWrapper--DIttynOM .layoutWrapper--pk1t3UAR .actionsWrapper--vQro2Dyn{position:sticky;top:0;z-index:997;margin-left:1px;display:flex;gap:8px;justify-content:flex-end;background:var(--color-fill-bg-container-1);padding:8px 12px;box-shadow:0 1px 1px 0 var(--palette-gray-5)}`, \"\"]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"gridLayoutWrapper\": `gridLayoutWrapper--DIttynOM`,\n\t\"componentWrapper\": `componentWrapper--P8xsKOQP`,\n\t\"componentTitle\": `componentTitle--nKf9GEoj`,\n\t\"componentList\": `componentList--s3XnAYsB`,\n\t\"layoutWrapper\": `layoutWrapper--pk1t3UAR`,\n\t\"layout\": `layout--kz28taJj`,\n\t\"actionsWrapper\": `actionsWrapper--vQro2Dyn`,\n\t\"layoutEdit\": `layoutEdit--FVqWXNWj`\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\nmodule.exports = insertStyleElement;"],"names":["module","exports","options","document","update","remove","styleElement","insertStyleElement","obj","css","supports","concat","media","needLayer","layer","length","sourceMap","btoa","unescape","encodeURIComponent","JSON","stringify","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","_classPrivateGetter","s","r","a","setAttributes","insert","domAPI","locals","undefined","initializeReactI18n","NS","locales","defineElement","property","event","method","createDecorators","WrappedButton","wrapBrick","WrappedDropdownButton","onActionClick","showDialog","unwrapProvider","URl_PREFIX","window","location","origin","getBasePath","getRealKey","key","includes","split","isAdmin","auth","getAuth","EoWorkbenchLayoutComponent","forwardRef","_ref","ref","cardTitle","layouts","layoutsProps","customDefaultCardConfigMap","toolbarBricks","componentList","isEdit","showSettingButton","onChange","onSave","onCancel","onSetting","gap","ResponsiveReactGridLayout","useMemo","WidthProvider","Responsive","t","useTranslation","gridLayoutRef","useRef","layoutWrapperRef","layoutCacheRef","_setLayouts","useState","current","keyComponentMap","keyBy","cols","setCols","layoutWrapperStyle","setLayoutWrapperStyle","draggingComponentRef","setLayouts","useCallback","useImperativeHandle","handleChange","handleLayoutChange","currentLayout","some","v","isDraggable","currentLayoutsMap","x","w","y","h","i","minH","_currentLayout$t$minH","find","item","map","type","handleClearLayout","handleSave","addComponent","component","currentLayouts","defaultCardConfig","getLayoutDefaultCardConfig","newLayouts","layout","pick","newLayout","position","Math","random","cardWidth","Infinity","dropItem","handleDeleteItem","_layouts$filter","filter","handleResize","contentHeight","oldLayout","initNewH","cardBorderStyle","cardBorderWidth","newH","ceil","renderChild","_layout$cardBorderSty","_layout$cardBorderRad","_component$position","background","cardBgType","cardBackground","border","cardBorderColor","borderRadius","cardBorderRadius","React","className","style","backdropFilter","SizeMe","monitorHeight","_ref2","size","height","DroppableComponentLayoutItem","onDelete","Boolean","handleWatchLayoutSizeChange","_layoutWrapperRef$cur","_layoutWrapperRef$cur2","top","getClientRects","body","clientHeight","useEffect","addEventListener","removeEventListener","styles","gridLayoutWrapper","componentWrapper","componentTitle","index","DraggableComponentMenuItem","onClick","onDragStart","onDragEnd","useBrick","ReactUseMultipleBricks","layoutWrapper","actionsWrapper","K","SAVE","handleCancel","CANCEL","handleSetting","SETTING","btnText","MORE","icon","lib","actions","text","SAVE_AS_TEMPLATE","LOAD_FROM_TEMPLATE","CLEAR_ALL","danger","e","action","title","CLEAR_CONFIRM","content","CLEAR_CONFIRM_MESSAGE","then","handleActionClick","detail","classNames","layoutEdit","draggableCancel","layoutItemStyles","deleteIcon","breakpoints","lg","md","sm","rowHeight","isResizable","isDroppable","compactType","margin","useCSSTransforms","onDropDragOver","onDrop","onLayoutChange","onBreakpointChange","handleBreakpointChange","_newBreakpoint","newCols","_EoWorkbenchLayoutV","_componentRef","WeakMap","_A","_B","_C","_D","_E","_F","_G","_H","_I","_EoWorkbenchLayoutV2_brand","WeakSet","_handleChange","_J","_handleSave","_K","_handleCancel","_L","_handleSetting","_M","_handleActionClick","EoWorkbenchLayoutV2","ReactNextElement","constructor","arguments","_classPrivateMethodInitSpec","_classPrivateFieldInitSpec","_initProto","createRef","_init_cardTitle","_init_extra_cardTitle","_init_isEdit","_init_extra_isEdit","_init_layouts","_init_extra_layouts","_init_toolbarBricks","_init_extra_toolbarBricks","_init_componentList","_init_extra_componentList","_init_customDefaultCardConfigMap","_init_extra_customDefaultCardConfigMap","_init_showSettingButton","_init_extra_showSettingButton","_init_gap","_init_extra_gap","_init_changeEvent","_init_extra_changeEvent","this","_get_changeEvent","emit","_init_saveEvent","_init_extra_saveEvent","_get_saveEvent","_init_cancelEvent","_init_extra_cancelEvent","_get_cancelEvent","_init_settingEvent","_init_extra_settingEvent","_get_settingEvent","_init_actionClickEvent","_init_extra_actionClickEvent","_get_actionClickEvent","dispatchEvent","CustomEvent","_classPrivateFieldGet","_classPrivateFieldSet","_classPrivateFieldGet2","connectedCallback","display","super","render","_EoWorkbenchLayoutV2","_set_changeEvent","_set_saveEvent","_set_cancelEvent","_set_settingEvent","_set_actionClickEvent","c","_initClass","_applyDecs","shadowOptions","attribute","Number","o","_","has","_checkInRHS","nonce","setAttribute","en","CARD_LIST","zh","hasOwn","hasOwnProperty","classes","arg","appendClass","parseValue","Array","isArray","toString","Object","prototype","call","value","newClass","default","WrappedIcon","DroppableComponentLayoutItemElement","props","cloneDeep","cardConfigs","setCardConfigs","omit","newCardConfigs","isEqual","editMaskTop","noPadding","deleteIconPosition","right","itemWrapper","editMask","onMouseDown","preventDefault","ReactUseBrick","data","memo","___CSS_LOADER_EXPORT___","push","id","thumbnail","componentItemWrapper","componentItemTitle","componentItemContent","draggable","dataTransfer","setData","componentItemThumbnail","src","alt","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","list","idCountMap","identifiers","base","count","indexByIdentifier","references","updater","addElementStyle","byIndex","splice","api","newObj","lastIdentifiers","newList","newLastIdentifiers","_i","_index","styleSheet","cssText","firstChild","appendChild","createTextNode","privateSet","add","target","styleTarget","querySelector","HTMLIFrameElement","contentDocument","head","getTarget","Error","showMoreIcon","cardTitleFontSize","cardTitleColor","cardType","_moreLinkByCardTypeMa","moreLinkByCardTypeMap","moreIconLink","moreIconText","abnormalResourceInspectionResults","abnormalSystemInspectionResults","element","createElement","attributes"],"sourceRoot":""}