operp-print-designer 1.1.3 → 1.1.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.
- package/dist/operp-print-designer.css +1 -1
- package/dist/operp-print-designer.es.js +2836 -2878
- package/dist/operp-print-designer.umd.js +19 -19
- package/package.json +1 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(function(Ae,
|
|
1
|
+
(function(Ae,oe){typeof exports=="object"&&typeof module<"u"?oe(exports,require("react"),require("antd"),require("@ant-design/icons"),require("react-to-print"),require("zustand"),require("react-dom")):typeof define=="function"&&define.amd?define(["exports","react","antd","@ant-design/icons","react-to-print","zustand","react-dom"],oe):(Ae=typeof globalThis<"u"?globalThis:Ae||self,oe(Ae.PrintDesigner={},Ae.React,Ae.antd,Ae.icons,Ae.ReactToPrint,Ae.zustand,Ae.ReactDOM))})(this,(function(Ae,oe,P,ze,nr,un,It){"use strict";function dn(n){return n&&n.__esModule&&Object.prototype.hasOwnProperty.call(n,"default")?n.default:n}function fn(n){if(Object.prototype.hasOwnProperty.call(n,"__esModule"))return n;var i=n.default;if(typeof i=="function"){var o=function s(){return this instanceof s?Reflect.construct(i,arguments,this.constructor):i.apply(this,arguments)};o.prototype=i.prototype}else o={};return Object.defineProperty(o,"__esModule",{value:!0}),Object.keys(n).forEach(function(s){var c=Object.getOwnPropertyDescriptor(n,s);Object.defineProperty(o,s,c.get?c:{enumerable:!0,get:function(){return n[s]}})}),o}var vt={exports:{}},it={};/**
|
|
2
2
|
* @license React
|
|
3
3
|
* react-jsx-runtime.production.min.js
|
|
4
4
|
*
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* This source code is licensed under the MIT license found in the
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var or;function pn(){if(or)return it;or=1;var n=
|
|
9
|
+
*/var or;function pn(){if(or)return it;or=1;var n=oe,i=Symbol.for("react.element"),o=Symbol.for("react.fragment"),s=Object.prototype.hasOwnProperty,c=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,u={key:!0,ref:!0,__self:!0,__source:!0};function w(E,x,b){var _,D={},O=null,N=null;b!==void 0&&(O=""+b),x.key!==void 0&&(O=""+x.key),x.ref!==void 0&&(N=x.ref);for(_ in x)s.call(x,_)&&!u.hasOwnProperty(_)&&(D[_]=x[_]);if(E&&E.defaultProps)for(_ in x=E.defaultProps,x)D[_]===void 0&&(D[_]=x[_]);return{$$typeof:i,type:E,key:O,ref:N,props:D,_owner:c.current}}return it.Fragment=o,it.jsx=w,it.jsxs=w,it}var st={},ir;function hn(){if(ir)return st;ir=1;var n={};/**
|
|
10
10
|
* @license React
|
|
11
11
|
* react-jsx-runtime.development.js
|
|
12
12
|
*
|
|
@@ -14,54 +14,54 @@
|
|
|
14
14
|
*
|
|
15
15
|
* This source code is licensed under the MIT license found in the
|
|
16
16
|
* LICENSE file in the root directory of this source tree.
|
|
17
|
-
*/return n.NODE_ENV!=="production"&&(function(){var i=
|
|
18
|
-
`+A+h}}var ee=!1,
|
|
17
|
+
*/return n.NODE_ENV!=="production"&&(function(){var i=oe,o=Symbol.for("react.element"),s=Symbol.for("react.portal"),c=Symbol.for("react.fragment"),u=Symbol.for("react.strict_mode"),w=Symbol.for("react.profiler"),E=Symbol.for("react.provider"),x=Symbol.for("react.context"),b=Symbol.for("react.forward_ref"),_=Symbol.for("react.suspense"),D=Symbol.for("react.suspense_list"),O=Symbol.for("react.memo"),N=Symbol.for("react.lazy"),k=Symbol.for("react.offscreen"),g=Symbol.iterator,d="@@iterator";function r(h){if(h===null||typeof h!="object")return null;var q=g&&h[g]||h[d];return typeof q=="function"?q:null}var e=i.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;function a(h){{for(var q=arguments.length,te=new Array(q>1?q-1:0),de=1;de<q;de++)te[de-1]=arguments[de];f("error",h,te)}}function f(h,q,te){{var de=e.ReactDebugCurrentFrame,Ee=de.getStackAddendum();Ee!==""&&(q+="%s",te=te.concat([Ee]));var Te=te.map(function(Se){return String(Se)});Te.unshift("Warning: "+q),Function.prototype.apply.call(console[h],console,Te)}}var l=!1,j=!1,v=!1,R=!1,T=!1,I;I=Symbol.for("react.module.reference");function H(h){return!!(typeof h=="string"||typeof h=="function"||h===c||h===w||T||h===u||h===_||h===D||R||h===k||l||j||v||typeof h=="object"&&h!==null&&(h.$$typeof===N||h.$$typeof===O||h.$$typeof===E||h.$$typeof===x||h.$$typeof===b||h.$$typeof===I||h.getModuleId!==void 0))}function V(h,q,te){var de=h.displayName;if(de)return de;var Ee=q.displayName||q.name||"";return Ee!==""?te+"("+Ee+")":te}function U(h){return h.displayName||"Context"}function K(h){if(h==null)return null;if(typeof h.tag=="number"&&a("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),typeof h=="function")return h.displayName||h.name||null;if(typeof h=="string")return h;switch(h){case c:return"Fragment";case s:return"Portal";case w:return"Profiler";case u:return"StrictMode";case _:return"Suspense";case D:return"SuspenseList"}if(typeof h=="object")switch(h.$$typeof){case x:var q=h;return U(q)+".Consumer";case E:var te=h;return U(te._context)+".Provider";case b:return V(h,h.render,"ForwardRef");case O:var de=h.displayName||null;return de!==null?de:K(h.type)||"Memo";case N:{var Ee=h,Te=Ee._payload,Se=Ee._init;try{return K(Se(Te))}catch{return null}}}return null}var $=Object.assign,Q=0,Z,ne,ge,pe,M,L,le;function ie(){}ie.__reactDisabledLog=!0;function ce(){{if(Q===0){Z=console.log,ne=console.info,ge=console.warn,pe=console.error,M=console.group,L=console.groupCollapsed,le=console.groupEnd;var h={configurable:!0,enumerable:!0,value:ie,writable:!0};Object.defineProperties(console,{info:h,log:h,warn:h,error:h,group:h,groupCollapsed:h,groupEnd:h})}Q++}}function he(){{if(Q--,Q===0){var h={configurable:!0,enumerable:!0,writable:!0};Object.defineProperties(console,{log:$({},h,{value:Z}),info:$({},h,{value:ne}),warn:$({},h,{value:ge}),error:$({},h,{value:pe}),group:$({},h,{value:M}),groupCollapsed:$({},h,{value:L}),groupEnd:$({},h,{value:le})})}Q<0&&a("disabledDepth fell below zero. This is a bug in React. Please file an issue.")}}var ue=e.ReactCurrentDispatcher,A;function Y(h,q,te){{if(A===void 0)try{throw Error()}catch(Ee){var de=Ee.stack.trim().match(/\n( *(at )?)/);A=de&&de[1]||""}return`
|
|
18
|
+
`+A+h}}var ee=!1,J;{var ae=typeof WeakMap=="function"?WeakMap:Map;J=new ae}function W(h,q){if(!h||ee)return"";{var te=J.get(h);if(te!==void 0)return te}var de;ee=!0;var Ee=Error.prepareStackTrace;Error.prepareStackTrace=void 0;var Te;Te=ue.current,ue.current=null,ce();try{if(q){var Se=function(){throw Error()};if(Object.defineProperty(Se.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(Se,[])}catch(He){de=He}Reflect.construct(h,[],Se)}else{try{Se.call()}catch(He){de=He}h.call(Se.prototype)}}else{try{throw Error()}catch(He){de=He}h()}}catch(He){if(He&&de&&typeof He.stack=="string"){for(var be=He.stack.split(`
|
|
19
19
|
`),We=de.stack.split(`
|
|
20
|
-
`),Ie=
|
|
21
|
-
`+
|
|
20
|
+
`),Ie=be.length-1,Ne=We.length-1;Ie>=1&&Ne>=0&&be[Ie]!==We[Ne];)Ne--;for(;Ie>=1&&Ne>=0;Ie--,Ne--)if(be[Ie]!==We[Ne]){if(Ie!==1||Ne!==1)do if(Ie--,Ne--,Ne<0||be[Ie]!==We[Ne]){var Be=`
|
|
21
|
+
`+be[Ie].replace(" at new "," at ");return h.displayName&&Be.includes("<anonymous>")&&(Be=Be.replace("<anonymous>",h.displayName)),typeof h=="function"&&J.set(h,Be),Be}while(Ie>=1&&Ne>=0);break}}}finally{ee=!1,ue.current=Te,he(),Error.prepareStackTrace=Ee}var ot=h?h.displayName||h.name:"",Je=ot?Y(ot):"";return typeof h=="function"&&J.set(h,Je),Je}function ye(h,q,te){return W(h,!1)}function ke(h){var q=h.prototype;return!!(q&&q.isReactComponent)}function we(h,q,te){if(h==null)return"";if(typeof h=="function")return W(h,ke(h));if(typeof h=="string")return Y(h);switch(h){case _:return Y("Suspense");case D:return Y("SuspenseList")}if(typeof h=="object")switch(h.$$typeof){case b:return ye(h.render);case O:return we(h.type,q,te);case N:{var de=h,Ee=de._payload,Te=de._init;try{return we(Te(Ee),q,te)}catch{}}}return""}var Le=Object.prototype.hasOwnProperty,y={},m=e.ReactDebugCurrentFrame;function C(h){if(h){var q=h._owner,te=we(h.type,h._source,q?q.type:null);m.setExtraStackFrame(te)}else m.setExtraStackFrame(null)}function B(h,q,te,de,Ee){{var Te=Function.call.bind(Le);for(var Se in h)if(Te(h,Se)){var be=void 0;try{if(typeof h[Se]!="function"){var We=Error((de||"React class")+": "+te+" type `"+Se+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof h[Se]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw We.name="Invariant Violation",We}be=h[Se](q,Se,de,te,null,"SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED")}catch(Ie){be=Ie}be&&!(be instanceof Error)&&(C(Ee),a("%s: type specification of %s `%s` is invalid; the type checker function must return `null` or an `Error` but returned a %s. You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument).",de||"React class",te,Se,typeof be),C(null)),be instanceof Error&&!(be.message in y)&&(y[be.message]=!0,C(Ee),a("Failed %s type: %s",te,be.message),C(null))}}}var re=Array.isArray;function X(h){return re(h)}function se(h){{var q=typeof Symbol=="function"&&Symbol.toStringTag,te=q&&h[Symbol.toStringTag]||h.constructor.name||"Object";return te}}function me(h){try{return Ce(h),!1}catch{return!0}}function Ce(h){return""+h}function p(h){if(me(h))return a("The provided key is an unsupported type %s. This value must be coerced to a string before before using it here.",se(h)),Ce(h)}var S=e.ReactCurrentOwner,z={key:!0,ref:!0,__self:!0,__source:!0},F,G;function _e(h){if(Le.call(h,"ref")){var q=Object.getOwnPropertyDescriptor(h,"ref").get;if(q&&q.isReactWarning)return!1}return h.ref!==void 0}function ve(h){if(Le.call(h,"key")){var q=Object.getOwnPropertyDescriptor(h,"key").get;if(q&&q.isReactWarning)return!1}return h.key!==void 0}function De(h,q){typeof h.ref=="string"&&S.current}function Me(h,q){{var te=function(){F||(F=!0,a("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",q))};te.isReactWarning=!0,Object.defineProperty(h,"key",{get:te,configurable:!0})}}function Ge(h,q){{var te=function(){G||(G=!0,a("%s: `ref` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://reactjs.org/link/special-props)",q))};te.isReactWarning=!0,Object.defineProperty(h,"ref",{get:te,configurable:!0})}}var $e=function(h,q,te,de,Ee,Te,Se){var be={$$typeof:o,type:h,key:q,ref:te,props:Se,_owner:Te};return be._store={},Object.defineProperty(be._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:!1}),Object.defineProperty(be,"_self",{configurable:!1,enumerable:!1,writable:!1,value:de}),Object.defineProperty(be,"_source",{configurable:!1,enumerable:!1,writable:!1,value:Ee}),Object.freeze&&(Object.freeze(be.props),Object.freeze(be)),be};function mt(h,q,te,de,Ee){{var Te,Se={},be=null,We=null;te!==void 0&&(p(te),be=""+te),ve(q)&&(p(q.key),be=""+q.key),_e(q)&&(We=q.ref,De(q,Ee));for(Te in q)Le.call(q,Te)&&!z.hasOwnProperty(Te)&&(Se[Te]=q[Te]);if(h&&h.defaultProps){var Ie=h.defaultProps;for(Te in Ie)Se[Te]===void 0&&(Se[Te]=Ie[Te])}if(be||We){var Ne=typeof h=="function"?h.displayName||h.name||"Unknown":h;be&&Me(Se,Ne),We&&Ge(Se,Ne)}return $e(h,be,We,Ee,de,S.current,Se)}}var et=e.ReactCurrentOwner,er=e.ReactDebugCurrentFrame;function Ve(h){if(h){var q=h._owner,te=we(h.type,h._source,q?q.type:null);er.setExtraStackFrame(te)}else er.setExtraStackFrame(null)}var tt;tt=!1;function rt(h){return typeof h=="object"&&h!==null&&h.$$typeof===o}function nt(){{if(et.current){var h=K(et.current.type);if(h)return`
|
|
22
22
|
|
|
23
|
-
Check the render method of \``+h+"`."}return""}}function tr(h){return""}var on={};function vo(h){{var
|
|
23
|
+
Check the render method of \``+h+"`."}return""}}function tr(h){return""}var on={};function vo(h){{var q=nt();if(!q){var te=typeof h=="string"?h:h.displayName||h.name;te&&(q=`
|
|
24
24
|
|
|
25
|
-
Check the top-level render call using <`+te+">.")}return
|
|
25
|
+
Check the top-level render call using <`+te+">.")}return q}}function sn(h,q){{if(!h._store||h._store.validated||h.key!=null)return;h._store.validated=!0;var te=vo(q);if(on[te])return;on[te]=!0;var de="";h&&h._owner&&h._owner!==et.current&&(de=" It was passed a child from "+K(h._owner.type)+"."),Ve(h),a('Each child in a list should have a unique "key" prop.%s%s See https://reactjs.org/link/warning-keys for more information.',te,de),Ve(null)}}function an(h,q){{if(typeof h!="object")return;if(X(h))for(var te=0;te<h.length;te++){var de=h[te];rt(de)&&sn(de,q)}else if(rt(h))h._store&&(h._store.validated=!0);else if(h){var Ee=r(h);if(typeof Ee=="function"&&Ee!==h.entries)for(var Te=Ee.call(h),Se;!(Se=Te.next()).done;)rt(Se.value)&&sn(Se.value,q)}}}function bo(h){{var q=h.type;if(q==null||typeof q=="string")return;var te;if(typeof q=="function")te=q.propTypes;else if(typeof q=="object"&&(q.$$typeof===b||q.$$typeof===O))te=q.propTypes;else return;if(te){var de=K(q);B(te,h.props,"prop",de,h)}else if(q.PropTypes!==void 0&&!tt){tt=!0;var Ee=K(q);a("Component %s declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?",Ee||"Unknown")}typeof q.getDefaultProps=="function"&&!q.getDefaultProps.isReactClassApproved&&a("getDefaultProps is only used on classic React.createClass definitions. Use a static property named `defaultProps` instead.")}}function xo(h){{for(var q=Object.keys(h.props),te=0;te<q.length;te++){var de=q[te];if(de!=="children"&&de!=="key"){Ve(h),a("Invalid prop `%s` supplied to `React.Fragment`. React.Fragment can only have `key` and `children` props.",de),Ve(null);break}}h.ref!==null&&(Ve(h),a("Invalid attribute `ref` supplied to `React.Fragment`."),Ve(null))}}var ln={};function cn(h,q,te,de,Ee,Te){{var Se=H(h);if(!Se){var be="";(h===void 0||typeof h=="object"&&h!==null&&Object.keys(h).length===0)&&(be+=" You likely forgot to export your component from the file it's defined in, or you might have mixed up default and named imports.");var We=tr();We?be+=We:be+=nt();var Ie;h===null?Ie="null":X(h)?Ie="array":h!==void 0&&h.$$typeof===o?(Ie="<"+(K(h.type)||"Unknown")+" />",be=" Did you accidentally export a JSX literal instead of a component?"):Ie=typeof h,a("React.jsx: type is invalid -- expected a string (for built-in components) or a class/function (for composite components) but got: %s.%s",Ie,be)}var Ne=mt(h,q,te,Ee,Te);if(Ne==null)return Ne;if(Se){var Be=q.children;if(Be!==void 0)if(de)if(X(Be)){for(var ot=0;ot<Be.length;ot++)an(Be[ot],h);Object.freeze&&Object.freeze(Be)}else a("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else an(Be,h)}if(Le.call(q,"key")){var Je=K(h),He=Object.keys(q).filter(function(Oo){return Oo!=="key"}),rr=He.length>0?"{key: someKey, "+He.join(": ..., ")+": ...}":"{key: someKey}";if(!ln[Je+rr]){var Ro=He.length>0?"{"+He.join(": ..., ")+": ...}":"{}";a(`A props object containing a "key" prop is being spread into JSX:
|
|
26
26
|
let props = %s;
|
|
27
27
|
<%s {...props} />
|
|
28
28
|
React keys must be passed directly to JSX without using spread:
|
|
29
29
|
let props = %s;
|
|
30
|
-
<%s key={someKey} {...props} />`,rr,Je,Oo,Je),ln[Je+rr]=!0}}return h===c?xo(Ne):bo(Ne),Ne}}function wo(h,F,te){return cn(h,F,te,!0)}function So(h,F,te){return cn(h,F,te,!1)}var jo=So,Co=wo;st.Fragment=c,st.jsx=jo,st.jsxs=Co})(),st}var sr;function gn(){if(sr)return vt.exports;sr=1;var n={};return n.NODE_ENV==="production"?vt.exports=pn():vt.exports=hn(),vt.exports}var e=gn();const bt={A4:{width:210,height:297},A3:{width:297,height:420},A5:{width:148,height:210},Letter:{width:215.9,height:279.4},Legal:{width:215.9,height:355.6}},ar={paperSize:"A4",customWidth:210,customHeight:297,orientation:"portrait",marginTop:10,marginRight:10,marginBottom:10,marginLeft:10,showHeader:!1,headerContent:"页眉文字",showFooter:!1,footerContent:"页脚文字",showPageNumber:!0,pageNumberFormat:"第 {page} 页"},De=3,xt={cellSize:1,cols:100},lr={text:"文本",image:"图片",table:"表格",barcode:"条形码",qrcode:"二维码",line:"分割线"},yn={text:{content:"双击编辑文字",fontSize:14,fontWeight:"normal",fontStyle:"normal",textAlign:"left",color:"#000000",backgroundColor:"transparent",format:""},image:{src:"",fit:"contain",content:""},table:{rows:3,cols:3,borderWidth:1,borderColor:"#000000",headerBackgroundColor:"#f5f5f5",headerColor:"#000000",headerFontSize:12,content:""},barcode:{value:"1234567890",format:"CODE128",content:""},qrcode:{value:"https://example.com",errorLevel:"M",color:"#000000",backgroundColor:"#ffffff",content:""},line:{color:"#000000",thickness:1,style:"solid",content:""}};let At=0,Lt=0;function cr(){return`comp_${++At}`}function ur(){return`ds_${++Lt}`}const pe=un.create((n,i)=>({components:[],selectedId:null,pageSettings:{...ar},gridSettings:{...xt},previewVisible:!1,templateName:"未命名模板",headerFooterVisible:!1,dataSources:[],activeDataSourceId:null,addComponent:(o,a,c)=>{const u=cr(),x=lr[o]||o,_={...yn[o]||{}};o==="text"&&(_.content=x);const b={id:u,type:o,x:a??0,y:c??0,w:o==="line"?20:o==="qrcode"?12:15,h:o==="line"?1:o==="qrcode"?12:8,props:_,...o==="table"?{tableColumns:[{title:"列1"},{title:"列2"},{title:"列3"}]}:{}};n(v=>({components:[...v.components,b],selectedId:u}))},updateComponent:(o,a)=>{n(c=>({components:c.components.map(u=>u.id===o?{...u,...a}:u)}))},selectComponent:o=>{n({selectedId:o})},removeComponent:o=>{n(a=>({components:a.components.filter(c=>c.id!==o),selectedId:a.selectedId===o?null:a.selectedId}))},setComponents:o=>{n({components:o})},setPageSettings:o=>{n(a=>({pageSettings:{...a.pageSettings,...o}}))},setPreviewVisible:o=>{n({previewVisible:o})},setTemplateName:o=>{n({templateName:o})},setHeaderFooterVisible:o=>{n({headerFooterVisible:o})},addDataSource:(o,a,c)=>{const x={id:ur(),name:o,type:a,data:c,createdAt:Date.now()};n(_=>({dataSources:[..._.dataSources,x]}))},updateDataSource:(o,a)=>{n(c=>({dataSources:c.dataSources.map(u=>u.id===o?{...u,...a}:u)}))},removeDataSource:o=>{n(a=>({dataSources:a.dataSources.filter(c=>c.id!==o),activeDataSourceId:a.activeDataSourceId===o?null:a.activeDataSourceId}))},setActiveDataSourceId:o=>{n({activeDataSourceId:o})},updateComponentTableColumns:(o,a)=>{n(c=>({components:c.components.map(u=>u.id===o?{...u,tableColumns:a}:u)}))},exportJSON:()=>{const o=i(),a={version:"1.0",templateName:o.templateName,pageSettings:o.pageSettings,components:o.components.map(({id:c,...u})=>u),dataSources:o.dataSources.map(({id:c,...u})=>u)};return JSON.stringify(a,null,2)},importJSON:o=>{try{const a=JSON.parse(o);if(!a.version||!a.pageSettings||!Array.isArray(a.components))return"JSON 格式不正确,缺少必要字段";At=0,Lt=0;const c=a.components.map(x=>({...x,id:cr()})),u=(a.dataSources||[]).map(x=>({...x,id:ur()}));return n({components:c,dataSources:u,pageSettings:a.pageSettings,templateName:a.templateName||"导入的模板",selectedId:null,activeDataSourceId:null}),null}catch{return"JSON 解析失败,请检查文件内容"}},reset:()=>{At=0,Lt=0,n({components:[],selectedId:null,pageSettings:{...ar},gridSettings:{...xt},templateName:"未命名模板",headerFooterVisible:!1,previewVisible:!1,dataSources:[],activeDataSourceId:null})}})),{Text:_o}=E.Typography,mn=({onCustomSave:n,onCustomPrint:i})=>{const o=pe(t=>t.templateName),a=pe(t=>t.setTemplateName),c=pe(t=>t.setPreviewVisible),u=pe(t=>t.setHeaderFooterVisible),x=pe(t=>t.selectedId),_=pe(t=>t.removeComponent),b=pe(t=>t.exportJSON),v=pe(t=>t.importJSON),R=pe(t=>t.reset),P=se.useRef(null),{message:C}=E.App.useApp(),L=se.useCallback(()=>{x&&_(x)},[x,_]),k=se.useCallback(()=>{const t=b(),s=new Blob([t],{type:"application/json"}),f=URL.createObjectURL(s),l=document.createElement("a");l.href=f,l.download=`${o||"模板"}.json`,l.click(),URL.revokeObjectURL(f),C.success("模板已导出")},[b,o,C]),y=se.useCallback(()=>{var t;(t=P.current)==null||t.click()},[]),d=se.useCallback(t=>{var l;const s=(l=t.target.files)==null?void 0:l[0];if(!s)return;const f=new FileReader;f.onload=()=>{const w=v(f.result);w?C.error(w):C.success("模板已导入")},f.readAsText(s),t.target.value=""},[v,C]),r=se.useCallback(()=>{R(),C.info("已新建空白模板")},[R,C]);return e.jsxs("div",{style:{height:48,display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 16px",borderBottom:"1px solid #e8e8e8",background:"#fff"},children:[e.jsx(E.Space,{children:e.jsx(E.Input,{value:o,onChange:t=>a(t.target.value),variant:"borderless",style:{width:200,fontSize:16,fontWeight:600},placeholder:"模板名称"})}),e.jsxs(E.Space,{children:[e.jsx(E.Button,{icon:e.jsx(Oe.PlusOutlined,{}),onClick:r,children:"新建"}),e.jsx("input",{ref:P,type:"file",accept:".json",style:{display:"none"},onChange:d}),n?e.jsx(E.Button,{icon:e.jsx(Oe.SaveOutlined,{}),onClick:n,type:"primary",children:"保存"}):e.jsx(E.Button,{icon:e.jsx(Oe.DownloadOutlined,{}),onClick:k,children:"导出"}),e.jsx(E.Button,{icon:e.jsx(Oe.UploadOutlined,{}),onClick:y,children:"导入"}),e.jsx(E.Button,{icon:e.jsx(Oe.SettingOutlined,{}),onClick:()=>u(!0),children:"页眉页脚"}),e.jsx(E.Button,{danger:!0,icon:e.jsx(Oe.DeleteOutlined,{}),disabled:!x,onClick:L,children:"删除"}),i?e.jsx(E.Button,{type:"primary",icon:e.jsx(Oe.PrinterOutlined,{}),onClick:i,children:"打印"}):e.jsx(E.Button,{type:"primary",icon:e.jsx(Oe.EyeOutlined,{}),onClick:()=>c(!0),children:"预览"})]})]})},{Text:qe}=E.Typography,vn=()=>{const n=pe(u=>u.pageSettings),i=pe(u=>u.setPageSettings),o=n.paperSize==="custom",a=se.useCallback(u=>{i({paperSize:u})},[i]),c=se.useCallback(u=>{i({orientation:u})},[i]);return e.jsx(E.Card,{title:"页面设置",size:"small",children:e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[e.jsxs("div",{children:[e.jsx(qe,{style:{fontSize:12},children:"纸张大小"}),e.jsx(E.Select,{size:"small",style:{width:"100%"},value:n.paperSize,onChange:a,options:[...Object.keys(bt).map(u=>({value:u,label:u})),{value:"custom",label:"自定义"}]})]}),o&&e.jsxs("div",{style:{display:"flex",gap:8},children:[e.jsxs("div",{style:{flex:1},children:[e.jsx(qe,{style:{fontSize:12},children:"宽度 (mm)"}),e.jsx(E.InputNumber,{size:"small",style:{width:"100%"},value:n.customWidth,min:10,max:2e3,onChange:u=>i({customWidth:u??210})})]}),e.jsxs("div",{style:{flex:1},children:[e.jsx(qe,{style:{fontSize:12},children:"高度 (mm)"}),e.jsx(E.InputNumber,{size:"small",style:{width:"100%"},value:n.customHeight,min:10,max:2e3,onChange:u=>i({customHeight:u??297})})]})]}),e.jsxs("div",{children:[e.jsx(qe,{style:{fontSize:12},children:"方向"}),e.jsxs(E.Radio.Group,{value:n.orientation,onChange:u=>c(u.target.value),size:"small",style:{width:"100%",display:"flex"},children:[e.jsx(E.Radio.Button,{value:"portrait",style:{flex:1,textAlign:"center"},children:"纵向"}),e.jsx(E.Radio.Button,{value:"landscape",style:{flex:1,textAlign:"center"},children:"横向"})]})]}),e.jsxs("div",{children:[e.jsx(qe,{style:{fontSize:12},children:"页边距 (mm)"}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:[e.jsxs("div",{children:[e.jsx(qe,{style:{fontSize:11},children:"上"}),e.jsx(E.InputNumber,{size:"small",style:{width:"100%"},value:n.marginTop,min:0,max:100,onChange:u=>i({marginTop:u??10})})]}),e.jsxs("div",{children:[e.jsx(qe,{style:{fontSize:11},children:"右"}),e.jsx(E.InputNumber,{size:"small",style:{width:"100%"},value:n.marginRight,min:0,max:100,onChange:u=>i({marginRight:u??10})})]}),e.jsxs("div",{children:[e.jsx(qe,{style:{fontSize:11},children:"下"}),e.jsx(E.InputNumber,{size:"small",style:{width:"100%"},value:n.marginBottom,min:0,max:100,onChange:u=>i({marginBottom:u??10})})]}),e.jsxs("div",{children:[e.jsx(qe,{style:{fontSize:11},children:"左"}),e.jsx(E.InputNumber,{size:"small",style:{width:"100%"},value:n.marginLeft,min:0,max:100,onChange:u=>i({marginLeft:u??10})})]})]})]})]})})},{Text:bn}=E.Typography,xn=[{type:"text",icon:e.jsx(Oe.FontSizeOutlined,{}),label:"文本"},{type:"image",icon:e.jsx(Oe.PictureOutlined,{}),label:"图片"},{type:"table",icon:e.jsx(Oe.TableOutlined,{}),label:"表格"},{type:"barcode",icon:e.jsx(Oe.BarcodeOutlined,{}),label:"条形码"},{type:"qrcode",icon:e.jsx(Oe.QrcodeOutlined,{}),label:"二维码"},{type:"line",icon:e.jsx(Oe.MinusOutlined,{}),label:"分割线"}],wn=()=>{const n=pe(a=>a.addComponent),i=se.useCallback((a,c)=>{a.dataTransfer.setData("componentType",c),a.dataTransfer.effectAllowed="copy"},[]),o=se.useCallback(a=>{n(a)},[n]);return e.jsx(E.Card,{title:"组件面板",size:"small",children:e.jsx(E.Space,{direction:"vertical",style:{width:"100%"},size:4,children:xn.map(a=>e.jsxs("div",{draggable:!0,onDragStart:c=>i(c,a.type),onClick:()=>o(a.type),style:{cursor:"grab",padding:"8px 12px",border:"1px solid #d9d9d9",borderRadius:6,display:"flex",alignItems:"center",gap:8,background:"#fafafa",userSelect:"none",transition:"all 0.2s"},onMouseEnter:c=>{c.currentTarget.style.background="#e6f4ff",c.currentTarget.style.borderColor="#1677ff"},onMouseLeave:c=>{c.currentTarget.style.background="#fafafa",c.currentTarget.style.borderColor="#d9d9d9"},children:[a.icon,e.jsx(bn,{children:a.label})]},a.type))})})};function at(n){try{return JSON.parse(n)}catch{return null}}function Ke(n,i,o){const a=`${i}Binding`,c=n.props[a];if(c&&c.dataSourceId&&c.fieldPath){const x=o.find(_=>_.id===c.dataSourceId);if(x){const _=jt(x);if(_){const b=St(_,c.fieldPath);if(b)return b}}}return n.props[i]||(c==null?void 0:c.staticValue)||""}function wt(n,i){if(!i||!n)return n;const o=Sn(n);if(!o)return n;const a=(u,x=2)=>String(u).padStart(x,"0"),c={yyyy:String(o.getFullYear()),yy:String(o.getFullYear()).slice(-2),MM:a(o.getMonth()+1),M:String(o.getMonth()+1),dd:a(o.getDate()),d:String(o.getDate()),HH:a(o.getHours()),H:String(o.getHours()),mm:a(o.getMinutes()),m:String(o.getMinutes()),ss:a(o.getSeconds()),s:String(o.getSeconds())};return i.replace(/yyyy|yy|MM|M|dd|d|HH|H|mm|m|ss|s/g,u=>c[u])}function Sn(n){const i=n.trim();if(!i)return null;if(/^\d{8}$/.test(i)){const a=Number(i.slice(0,4)),c=Number(i.slice(4,6)),u=Number(i.slice(6,8));return jn(a,c,u)}const o=new Date(i);return Number.isNaN(o.getTime())?null:o}function jn(n,i,o){const a=new Date(n,i-1,o);return a.getFullYear()!==n||a.getMonth()!==i-1||a.getDate()!==o?null:a}function St(n,i){if(!n||!i)return"";try{const o=i.split(".");let a=n;for(const c of o){if(typeof a!="object"||a===null)return"";a=a[c]}return a!=null?String(a):""}catch{return""}}function jt(n){const i=at(n.data);return n.type==="object"&&i&&typeof i=="object"&&!Array.isArray(i)?i:null}function Ct(n){const i=at(n.data);return n.type==="array"&&Array.isArray(i)?i:null}const{TextArea:Cn}=E.Input,{Text:Ot,Title:Eo}=E.Typography,dr=JSON.stringify({name:"张三",age:28,department:"技术部",email:"zhangsan@example.com"},null,2),On=JSON.stringify([{id:1,product:"商品A",quantity:2,price:100},{id:2,product:"商品B",quantity:5,price:80},{id:3,product:"商品C",quantity:1,price:200}],null,2),Rn=()=>{const n=pe(C=>C.dataSources),i=pe(C=>C.addDataSource),o=pe(C=>C.updateDataSource),a=pe(C=>C.removeDataSource),[c,u]=se.useState(!1),[x,_]=se.useState(null),[b,v]=se.useState({name:"",type:"object",data:""}),R=C=>{C?(_(C.id),v({name:C.name,type:C.type,data:C.data})):(_(null),v({name:"新数据源",type:"object",data:dr})),u(!0)},P=()=>{const C=at(b.data);if(C===null){E.message.error("JSON 格式不正确");return}if(b.type==="object"&&(Array.isArray(C)||typeof C!="object")){E.message.error("对象类型数据源必须为对象格式");return}if(b.type==="array"&&!Array.isArray(C)){E.message.error("数组类型数据源必须为数组格式");return}x?(o(x,b),E.message.success("数据源已更新")):(i(b.name,b.type,b.data),E.message.success("数据源已添加")),u(!1)};return e.jsxs(E.Card,{title:"数据源",size:"small",extra:e.jsx(E.Button,{type:"link",size:"small",icon:e.jsx(Oe.PlusOutlined,{}),onClick:()=>R(),children:"添加"}),children:[e.jsx(E.List,{size:"small",dataSource:n,locale:{emptyText:"暂无数据源"},renderItem:C=>e.jsx(E.List.Item,{actions:[e.jsx(E.Dropdown,{menu:{items:[{key:"edit",label:"编辑",icon:e.jsx(Oe.EditOutlined,{}),onClick:()=>R(C)},{type:"divider"},{key:"delete",label:e.jsx(E.Popconfirm,{title:"确定要删除这个数据源吗?",onConfirm:L=>{L==null||L.stopPropagation(),a(C.id),E.message.success("已删除")},okText:"确定",cancelText:"取消",onCancel:L=>L==null?void 0:L.stopPropagation(),children:e.jsx("span",{style:{color:"#ff4d4f",cursor:"pointer"},children:"删除"})}),icon:e.jsx(Oe.DeleteOutlined,{style:{color:"#ff4d4f"}})}]},placement:"bottomRight",children:e.jsx(E.Button,{type:"text",size:"small",icon:e.jsx(Oe.MoreOutlined,{})})})],children:e.jsx(E.List.Item.Meta,{avatar:e.jsx(Oe.DatabaseOutlined,{}),title:e.jsx(Ot,{ellipsis:!0,strong:!0,children:C.name}),description:e.jsx(E.Space,{size:4,children:e.jsx(E.Tag,{color:C.type==="object"?"blue":"green",children:C.type==="object"?"对象":"数组"})})})})}),e.jsx(E.Modal,{title:x?"编辑数据源":"添加数据源",open:c,onOk:P,onCancel:()=>u(!1),okText:"保存",cancelText:"取消",children:e.jsxs(E.Space,{direction:"vertical",style:{width:"100%"},size:"middle",children:[e.jsxs("div",{children:[e.jsx(Ot,{strong:!0,style:{display:"block",marginBottom:4},children:"名称"}),e.jsx(E.Input,{placeholder:"请输入数据源名称",value:b.name,onChange:C=>v({...b,name:C.target.value})})]}),e.jsxs("div",{children:[e.jsx(Ot,{strong:!0,style:{display:"block",marginBottom:4},children:"类型"}),e.jsx(E.Select,{options:[{label:"对象",value:"object"},{label:"数组",value:"array"}],style:{width:"100%"},value:b.type,onChange:C=>{v({...b,type:C,data:C==="object"?dr:On})}})]}),e.jsx(E.Divider,{style:{margin:"8px 0"}}),e.jsxs("div",{children:[e.jsx(Ot,{strong:!0,style:{display:"block",marginBottom:4},children:"JSON 数据"}),e.jsx(Cn,{rows:12,placeholder:"请输入 JSON 数据",value:b.data,onChange:C=>v({...b,data:C.target.value})})]})]})})]})},_n=()=>e.jsx(E.Collapse,{bordered:!1,accordion:!0,defaultActiveKey:["1"],expandIcon:({isActive:n})=>e.jsx(Oe.CaretRightOutlined,{rotate:n?90:0}),style:{height:"100%",overflowY:"auto"},items:[{key:"1",label:"页面设置",children:e.jsx(vn,{})},{key:"2",label:"组件",children:e.jsx(wn,{})},{key:"3",label:"数据源",children:e.jsx(Rn,{})}]});var Nt={exports:{}},lt={},ct={exports:{}},En=ct.exports,fr;function Wt(){return fr||(fr=1,(function(n,i){(function(o,a){a(i)})(En,(function(o){function a(A){return function(ee,Z,ce,B,he,ke,we){return A(ee,Z,we)}}function c(A){return function(ee,Z,ce,B){if(!ee||!Z||typeof ee!="object"||typeof Z!="object")return A(ee,Z,ce,B);var he=B.get(ee),ke=B.get(Z);if(he&&ke)return he===Z&&ke===ee;B.set(ee,Z),B.set(Z,ee);var we=A(ee,Z,ce,B);return B.delete(ee),B.delete(Z),we}}function u(A,U){var ee={};for(var Z in A)ee[Z]=A[Z];for(var Z in U)ee[Z]=U[Z];return ee}function x(A){return A.constructor===Object||A.constructor==null}function _(A){return typeof A.then=="function"}function b(A,U){return A===U||A!==A&&U!==U}var v="[object Arguments]",R="[object Boolean]",P="[object Date]",C="[object RegExp]",L="[object Map]",k="[object Number]",y="[object Object]",d="[object Set]",r="[object String]",t=Object.prototype.toString;function s(A){var U=A.areArraysEqual,ee=A.areDatesEqual,Z=A.areMapsEqual,ce=A.areObjectsEqual,B=A.areRegExpsEqual,he=A.areSetsEqual,ke=A.createIsNestedEqual,we=ke(Le);function Le(g,m,j){if(g===m)return!0;if(!g||!m||typeof g!="object"||typeof m!="object")return g!==g&&m!==m;if(x(g)&&x(m))return ce(g,m,we,j);var q=Array.isArray(g),ne=Array.isArray(m);if(q||ne)return q===ne&&U(g,m,we,j);var Q=t.call(g);return Q!==t.call(m)?!1:Q===P?ee(g,m,we,j):Q===C?B(g,m,we,j):Q===L?Z(g,m,we,j):Q===d?he(g,m,we,j):Q===y||Q===v?_(g)||_(m)?!1:ce(g,m,we,j):Q===R||Q===k||Q===r?b(g.valueOf(),m.valueOf()):!1}return Le}function f(A,U,ee,Z){var ce=A.length;if(U.length!==ce)return!1;for(;ce-- >0;)if(!ee(A[ce],U[ce],ce,ce,A,U,Z))return!1;return!0}var l=c(f);function w(A,U){return b(A.valueOf(),U.valueOf())}function O(A,U,ee,Z){var ce=A.size===U.size;if(!ce)return!1;if(!A.size)return!0;var B={},he=0;return A.forEach(function(ke,we){if(ce){var Le=!1,g=0;U.forEach(function(m,j){!Le&&!B[g]&&(Le=ee(we,j,he,g,A,U,Z)&&ee(ke,m,we,j,A,U,Z))&&(B[g]=!0),g++}),he++,ce=Le}}),ce}var D=c(O),M="_owner",H=Object.prototype.hasOwnProperty;function T(A,U,ee,Z){var ce=Object.keys(A),B=ce.length;if(Object.keys(U).length!==B)return!1;for(var he;B-- >0;){if(he=ce[B],he===M){var ke=!!A.$$typeof,we=!!U.$$typeof;if((ke||we)&&ke!==we)return!1}if(!H.call(U,he)||!ee(A[he],U[he],he,he,A,U,Z))return!1}return!0}var N=c(T);function G(A,U){return A.source===U.source&&A.flags===U.flags}function X(A,U,ee,Z){var ce=A.size===U.size;if(!ce)return!1;if(!A.size)return!0;var B={};return A.forEach(function(he,ke){if(ce){var we=!1,Le=0;U.forEach(function(g,m){!we&&!B[Le]&&(we=ee(he,g,ke,m,A,U,Z))&&(B[Le]=!0),Le++}),ce=we}}),ce}var V=c(X),J=Object.freeze({areArraysEqual:f,areDatesEqual:w,areMapsEqual:O,areObjectsEqual:T,areRegExpsEqual:G,areSetsEqual:X,createIsNestedEqual:a}),K=Object.freeze({areArraysEqual:l,areDatesEqual:w,areMapsEqual:D,areObjectsEqual:N,areRegExpsEqual:G,areSetsEqual:V,createIsNestedEqual:a}),re=s(J);function be(A,U){return re(A,U,void 0)}var ge=s(u(J,{createIsNestedEqual:function(){return b}}));function I(A,U){return ge(A,U,void 0)}var W=s(K);function ie(A,U){return W(A,U,new WeakMap)}var oe=s(u(K,{createIsNestedEqual:function(){return b}}));function ae(A,U){return oe(A,U,new WeakMap)}function fe(A){return s(u(J,A(J)))}function ue(A){var U=s(u(K,A(K)));return(function(ee,Z,ce){return ce===void 0&&(ce=new WeakMap),U(ee,Z,ce)})}o.circularDeepEqual=ie,o.circularShallowEqual=ae,o.createCustomCircularEqual=ue,o.createCustomEqual=fe,o.deepEqual=be,o.sameValueZeroEqual=b,o.shallowEqual=I,Object.defineProperty(o,"__esModule",{value:!0})}))})(ct,ct.exports)),ct.exports}var Rt={exports:{}},pr;function _t(){if(pr)return Rt.exports;pr=1;function n(o){var a,c,u="";if(typeof o=="string"||typeof o=="number")u+=o;else if(typeof o=="object")if(Array.isArray(o)){var x=o.length;for(a=0;a<x;a++)o[a]&&(c=n(o[a]))&&(u&&(u+=" "),u+=c)}else for(c in o)o[c]&&(u&&(u+=" "),u+=c);return u}function i(){for(var o,a,c=0,u="",x=arguments.length;c<x;c++)(o=arguments[c])&&(a=n(o))&&(u&&(u+=" "),u+=a);return u}return Rt.exports=i,Rt.exports.clsx=i,Rt.exports}var xe={},Ht,hr;function Pn(){return hr||(hr=1,Ht=function(i,o,a){return i===o?!0:i.className===o.className&&a(i.style,o.style)&&i.width===o.width&&i.autoSize===o.autoSize&&i.cols===o.cols&&i.draggableCancel===o.draggableCancel&&i.draggableHandle===o.draggableHandle&&a(i.verticalCompact,o.verticalCompact)&&a(i.compactType,o.compactType)&&a(i.layout,o.layout)&&a(i.margin,o.margin)&&a(i.containerPadding,o.containerPadding)&&i.rowHeight===o.rowHeight&&i.maxRows===o.maxRows&&i.isBounded===o.isBounded&&i.isDraggable===o.isDraggable&&i.isResizable===o.isResizable&&i.allowOverlap===o.allowOverlap&&i.preventCollision===o.preventCollision&&i.useCSSTransforms===o.useCSSTransforms&&i.transformScale===o.transformScale&&i.isDroppable===o.isDroppable&&a(i.resizeHandles,o.resizeHandles)&&a(i.resizeHandle,o.resizeHandle)&&i.onLayoutChange===o.onLayoutChange&&i.onDragStart===o.onDragStart&&i.onDrag===o.onDrag&&i.onDragStop===o.onDragStop&&i.onResizeStart===o.onResizeStart&&i.onResize===o.onResize&&i.onResizeStop===o.onResizeStop&&i.onDrop===o.onDrop&&a(i.droppingItem,o.droppingItem)&&a(i.innerRef,o.innerRef)}),Ht}var gr;function Qe(){if(gr)return xe;gr=1;var n={};Object.defineProperty(xe,"__esModule",{value:!0}),xe.bottom=R,xe.childrenEqual=y,xe.cloneLayout=P,xe.cloneLayoutItem=k,xe.collides=r,xe.compact=t,xe.compactItem=l,xe.compactType=ke,xe.correctBounds=w,xe.fastPositionEqual=d,xe.fastRGLPropsEqual=void 0,xe.getAllCollisions=M,xe.getFirstCollision=D,xe.getLayoutItem=O,xe.getStatics=H,xe.modifyLayout=C,xe.moveElement=T,xe.moveElementAwayFromCollision=N,xe.noop=void 0,xe.perc=G,xe.resizeItemInDirection=ue,xe.setTopLeft=U,xe.setTransform=A,xe.sortLayoutItems=ee,xe.sortLayoutItemsByColRow=ce,xe.sortLayoutItemsByRowCol=Z,xe.synchronizeLayoutWithChildren=B,xe.validateLayout=he,xe.withLayoutItem=L;var i=Wt(),o=a(se);function a(g){return g&&g.__esModule?g:{default:g}}function c(g,m){var j=Object.keys(g);if(Object.getOwnPropertySymbols){var q=Object.getOwnPropertySymbols(g);m&&(q=q.filter(function(ne){return Object.getOwnPropertyDescriptor(g,ne).enumerable})),j.push.apply(j,q)}return j}function u(g){for(var m=1;m<arguments.length;m++){var j=arguments[m]!=null?arguments[m]:{};m%2?c(Object(j),!0).forEach(function(q){x(g,q,j[q])}):Object.getOwnPropertyDescriptors?Object.defineProperties(g,Object.getOwnPropertyDescriptors(j)):c(Object(j)).forEach(function(q){Object.defineProperty(g,q,Object.getOwnPropertyDescriptor(j,q))})}return g}function x(g,m,j){return(m=_(m))in g?Object.defineProperty(g,m,{value:j,enumerable:!0,configurable:!0,writable:!0}):g[m]=j,g}function _(g){var m=b(g,"string");return typeof m=="symbol"?m:m+""}function b(g,m){if(typeof g!="object"||!g)return g;var j=g[Symbol.toPrimitive];if(j!==void 0){var q=j.call(g,m);if(typeof q!="object")return q;throw new TypeError("@@toPrimitive must return a primitive value.")}return(m==="string"?String:Number)(g)}const v=n.NODE_ENV==="production";function R(g){let m=0,j;for(let q=0,ne=g.length;q<ne;q++)j=g[q].y+g[q].h,j>m&&(m=j);return m}function P(g){const m=Array(g.length);for(let j=0,q=g.length;j<q;j++)m[j]=k(g[j]);return m}function C(g,m){const j=Array(g.length);for(let q=0,ne=g.length;q<ne;q++)m.i===g[q].i?j[q]=m:j[q]=g[q];return j}function L(g,m,j){let q=O(g,m);return q?(q=j(k(q)),g=C(g,q),[g,q]):[g,null]}function k(g){return{w:g.w,h:g.h,x:g.x,y:g.y,i:g.i,minW:g.minW,maxW:g.maxW,minH:g.minH,maxH:g.maxH,moved:!!g.moved,static:!!g.static,isDraggable:g.isDraggable,isResizable:g.isResizable,resizeHandles:g.resizeHandles,isBounded:g.isBounded}}function y(g,m){return(0,i.deepEqual)(o.default.Children.map(g,j=>j==null?void 0:j.key),o.default.Children.map(m,j=>j==null?void 0:j.key))&&(0,i.deepEqual)(o.default.Children.map(g,j=>j==null?void 0:j.props["data-grid"]),o.default.Children.map(m,j=>j==null?void 0:j.props["data-grid"]))}xe.fastRGLPropsEqual=Pn();function d(g,m){return g.left===m.left&&g.top===m.top&&g.width===m.width&&g.height===m.height}function r(g,m){return!(g.i===m.i||g.x+g.w<=m.x||g.x>=m.x+m.w||g.y+g.h<=m.y||g.y>=m.y+m.h)}function t(g,m,j,q){const ne=H(g);let Q=R(ne);const le=ee(g,m),ye=Array(g.length);for(let Ce=0,p=le.length;Ce<p;Ce++){let S=k(le[Ce]);S.static||(S=l(ne,S,m,j,le,q,Q),Q=Math.max(Q,S.y+S.h),ne.push(S)),ye[g.indexOf(le[Ce])]=S,S.moved=!1}return ye}const s={x:"w",y:"h"};function f(g,m,j,q){const ne=s[q];m[q]+=1;const Q=g.map(le=>le.i).indexOf(m.i);for(let le=Q+1;le<g.length;le++){const ye=g[le];if(!ye.static){if(ye.y>m.y+m.h)break;r(m,ye)&&f(g,ye,j+m[ne],q)}}m[q]=j}function l(g,m,j,q,ne,Q,le){const ye=j==="vertical",Ce=j==="horizontal";if(ye)for(typeof le=="number"?m.y=Math.min(le,m.y):m.y=Math.min(R(g),m.y);m.y>0&&!D(g,m);)m.y--;else if(Ce)for(;m.x>0&&!D(g,m);)m.x--;let p;for(;(p=D(g,m))&&!(j===null&&Q);)if(Ce?f(ne,m,p.x+p.w,"x"):f(ne,m,p.y+p.h,"y"),Ce&&m.x+m.w>q)for(m.x=q-m.w,m.y++;m.x>0&&!D(g,m);)m.x--;return m.y=Math.max(m.y,0),m.x=Math.max(m.x,0),m}function w(g,m){const j=H(g);for(let q=0,ne=g.length;q<ne;q++){const Q=g[q];if(Q.x+Q.w>m.cols&&(Q.x=m.cols-Q.w),Q.x<0&&(Q.x=0,Q.w=m.cols),!Q.static)j.push(Q);else for(;D(j,Q);)Q.y++}return g}function O(g,m){for(let j=0,q=g.length;j<q;j++)if(g[j].i===m)return g[j]}function D(g,m){for(let j=0,q=g.length;j<q;j++)if(r(g[j],m))return g[j]}function M(g,m){return g.filter(j=>r(j,m))}function H(g){return g.filter(m=>m.static)}function T(g,m,j,q,ne,Q,le,ye,Ce){if(m.static&&m.isDraggable!==!0||m.y===q&&m.x===j)return g;"Moving element ".concat(m.i," to [").concat(String(j),",").concat(String(q),"] from [").concat(m.x,",").concat(m.y,"]");const p=m.x,S=m.y;typeof j=="number"&&(m.x=j),typeof q=="number"&&(m.y=q),m.moved=!0;let z=ee(g,le);(le==="vertical"&&typeof q=="number"?S>=q:le==="horizontal"&&typeof j=="number"?p>=j:!1)&&(z=z.reverse());const $=M(z,m),Ee=$.length>0;if(Ee&&Ce)return P(g);if(Ee&&Q)return"Collision prevented on ".concat(m.i,", reverting."),m.x=p,m.y=S,m.moved=!1,g;for(let me=0,Te=$.length;me<Te;me++){const Me=$[me];"Resolving collision between ".concat(m.i," at [").concat(m.x,",").concat(m.y,"] and ").concat(Me.i," at [").concat(Me.x,",").concat(Me.y,"]"),!Me.moved&&(Me.static?g=N(g,Me,m,ne,le):g=N(g,m,Me,ne,le))}return g}function N(g,m,j,q,ne,Q){const le=ne==="horizontal",ye=ne==="vertical",Ce=m.static;if(q){q=!1;const z={x:le?Math.max(m.x-j.w,0):j.x,y:ye?Math.max(m.y-j.h,0):j.y,w:j.w,h:j.h,i:"-1"},Y=D(g,z),$=Y&&Y.y+Y.h>m.y,Ee=Y&&m.x+m.w>Y.x;if(Y){if($&&ye)return T(g,j,void 0,j.y+1,q,Ce,ne);if($&&ne==null)return m.y=j.y,j.y=j.y+j.h,g;if(Ee&&le)return T(g,m,j.x,void 0,q,Ce,ne)}else return"Doing reverse collision on ".concat(j.i," up to [").concat(z.x,",").concat(z.y,"]."),T(g,j,le?z.x:void 0,ye?z.y:void 0,q,Ce,ne)}const p=le?j.x+1:void 0,S=ye?j.y+1:void 0;return p==null&&S==null?g:T(g,j,le?j.x+1:void 0,ye?j.y+1:void 0,q,Ce,ne)}function G(g){return g*100+"%"}const X=(g,m,j,q)=>g+j>q?m:j,V=(g,m,j)=>g<0?m:j,J=g=>Math.max(0,g),K=g=>Math.max(0,g),re=(g,m,j)=>{let{left:q,height:ne,width:Q}=m;const le=g.top-(ne-g.height);return{left:q,width:Q,height:V(le,g.height,ne),top:K(le)}},be=(g,m,j)=>{let{top:q,left:ne,height:Q,width:le}=m;return{top:q,height:Q,width:X(g.left,g.width,le,j),left:J(ne)}},ge=(g,m,j)=>{let{top:q,height:ne,width:Q}=m;const le=g.left-(Q-g.width);return{height:ne,width:le<0?g.width:X(g.left,g.width,Q,j),top:K(q),left:J(le)}},I=(g,m,j)=>{let{top:q,left:ne,height:Q,width:le}=m;return{width:le,left:ne,height:V(q,g.height,Q),top:K(q)}},fe={n:re,ne:function(){return re(arguments.length<=0?void 0:arguments[0],be(...arguments))},e:be,se:function(){return I(arguments.length<=0?void 0:arguments[0],be(...arguments))},s:I,sw:function(){return I(arguments.length<=0?void 0:arguments[0],ge(...arguments))},w:ge,nw:function(){return re(arguments.length<=0?void 0:arguments[0],ge(...arguments))}};function ue(g,m,j,q){const ne=fe[g];return ne?ne(m,u(u({},m),j),q):j}function A(g){let{top:m,left:j,width:q,height:ne}=g;const Q="translate(".concat(j,"px,").concat(m,"px)");return{transform:Q,WebkitTransform:Q,MozTransform:Q,msTransform:Q,OTransform:Q,width:"".concat(q,"px"),height:"".concat(ne,"px"),position:"absolute"}}function U(g){let{top:m,left:j,width:q,height:ne}=g;return{top:"".concat(m,"px"),left:"".concat(j,"px"),width:"".concat(q,"px"),height:"".concat(ne,"px"),position:"absolute"}}function ee(g,m){return m==="horizontal"?ce(g):m==="vertical"?Z(g):g}function Z(g){return g.slice(0).sort(function(m,j){return m.y>j.y||m.y===j.y&&m.x>j.x?1:m.y===j.y&&m.x===j.x?0:-1})}function ce(g){return g.slice(0).sort(function(m,j){return m.x>j.x||m.x===j.x&&m.y>j.y?1:-1})}function B(g,m,j,q,ne){g=g||[];const Q=[];o.default.Children.forEach(m,ye=>{if((ye==null?void 0:ye.key)==null)return;const Ce=O(g,String(ye.key)),p=ye.props["data-grid"];Ce&&p==null?Q.push(k(Ce)):p?(v||he([p],"ReactGridLayout.children"),Q.push(k(u(u({},p),{},{i:ye.key})))):Q.push(k({w:1,h:1,x:0,y:R(Q),i:String(ye.key)}))});const le=w(Q,{cols:j});return ne?le:t(le,q,j)}function he(g){let m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Layout";const j=["x","y","w","h"];if(!Array.isArray(g))throw new Error(m+" must be an array!");for(let q=0,ne=g.length;q<ne;q++){const Q=g[q];for(let le=0;le<j.length;le++){const ye=j[le],Ce=Q[ye];if(typeof Ce!="number"||Number.isNaN(Ce))throw new Error("ReactGridLayout: ".concat(m,"[").concat(q,"].").concat(ye," must be a number! Received: ").concat(Ce," (").concat(typeof Ce,")"))}if(typeof Q.i<"u"&&typeof Q.i!="string")throw new Error("ReactGridLayout: ".concat(m,"[").concat(q,"].i must be a string! Received: ").concat(Q.i," (").concat(typeof Q.i,")"))}}function ke(g){const{verticalCompact:m,compactType:j}=g||{};return m===!1?null:j}function we(){}const Le=()=>{};return xe.noop=Le,xe}var Fe={},yr;function Bt(){if(yr)return Fe;yr=1,Object.defineProperty(Fe,"__esModule",{value:!0}),Fe.calcGridColWidth=n,Fe.calcGridItemPosition=o,Fe.calcGridItemWHPx=i,Fe.calcWH=c,Fe.calcXY=a,Fe.clamp=u;function n(x){const{margin:_,containerPadding:b,containerWidth:v,cols:R}=x;return(v-_[0]*(R-1)-b[0]*2)/R}function i(x,_,b){return Number.isFinite(x)?Math.round(_*x+Math.max(0,x-1)*b):x}function o(x,_,b,v,R,P){const{margin:C,containerPadding:L,rowHeight:k}=x,y=n(x),d={};return P&&P.resizing?(d.width=Math.round(P.resizing.width),d.height=Math.round(P.resizing.height)):(d.width=i(v,y,C[0]),d.height=i(R,k,C[1])),P&&P.dragging?(d.top=Math.round(P.dragging.top),d.left=Math.round(P.dragging.left)):P&&P.resizing&&typeof P.resizing.top=="number"&&typeof P.resizing.left=="number"?(d.top=Math.round(P.resizing.top),d.left=Math.round(P.resizing.left)):(d.top=Math.round((k+C[1])*b+L[1]),d.left=Math.round((y+C[0])*_+L[0])),d}function a(x,_,b,v,R){const{margin:P,containerPadding:C,cols:L,rowHeight:k,maxRows:y}=x,d=n(x);let r=Math.round((b-C[0])/(d+P[0])),t=Math.round((_-C[1])/(k+P[1]));return r=u(r,0,L-v),t=u(t,0,y-R),{x:r,y:t}}function c(x,_,b,v,R,P){const{margin:C,maxRows:L,cols:k,rowHeight:y}=x,d=n(x);let r=Math.round((_+C[0])/(d+C[0])),t=Math.round((b+C[1])/(y+C[1])),s=u(r,0,k-v),f=u(t,0,L-R);return["sw","w","nw"].indexOf(P)!==-1&&(s=u(r,0,k)),["nw","n","ne"].indexOf(P)!==-1&&(f=u(t,0,L)),{w:s,h:f}}function u(x,_,b){return Math.max(Math.min(x,b),_)}return Fe}var ut={},Et={exports:{}},Pt={exports:{}},Re={};/** @license React v16.13.1
|
|
30
|
+
<%s key={someKey} {...props} />`,rr,Je,Ro,Je),ln[Je+rr]=!0}}return h===c?xo(Ne):bo(Ne),Ne}}function wo(h,q,te){return cn(h,q,te,!0)}function So(h,q,te){return cn(h,q,te,!1)}var jo=So,Co=wo;st.Fragment=c,st.jsx=jo,st.jsxs=Co})(),st}var sr;function gn(){if(sr)return vt.exports;sr=1;var n={};return n.NODE_ENV==="production"?vt.exports=pn():vt.exports=hn(),vt.exports}var t=gn();const bt={A4:{width:210,height:297},A3:{width:297,height:420},A5:{width:148,height:210},Letter:{width:215.9,height:279.4},Legal:{width:215.9,height:355.6}},ar={paperSize:"A4",customWidth:210,customHeight:297,orientation:"portrait",marginTop:10,marginRight:10,marginBottom:10,marginLeft:10,showHeader:!1,headerContent:"页眉文字",showFooter:!1,footerContent:"页脚文字",showPageNumber:!0,pageNumberFormat:"第 {page} 页"},Pe=3,xt={cellSize:1,cols:100},lr={text:"文本",image:"图片",table:"表格",barcode:"条形码",qrcode:"二维码",line:"分割线"},yn={text:{content:"双击编辑文字",fontSize:14,fontWeight:"normal",fontStyle:"normal",textAlign:"left",color:"#000000",backgroundColor:"transparent",format:""},image:{src:"",fit:"contain",content:""},table:{rows:3,cols:3,borderWidth:1,borderColor:"#000000",headerBackgroundColor:"#f5f5f5",headerColor:"#000000",headerFontSize:12,content:""},barcode:{value:"1234567890",format:"CODE128",content:""},qrcode:{value:"https://example.com",errorLevel:"M",color:"#000000",backgroundColor:"#ffffff",content:""},line:{color:"#000000",thickness:1,style:"solid",content:""}};let At=0,Lt=0;function cr(){return`comp_${++At}`}function ur(){return`ds_${++Lt}`}const fe=un.create((n,i)=>({components:[],selectedId:null,pageSettings:{...ar},gridSettings:{...xt},previewVisible:!1,templateName:"未命名模板",headerFooterVisible:!1,dataSources:[],activeDataSourceId:null,addComponent:(o,s,c)=>{const u=cr(),w=lr[o]||o,E={...yn[o]||{}};o==="text"&&(E.content=w);const x={id:u,type:o,x:s??0,y:c??0,w:o==="line"?20:o==="qrcode"?12:15,h:o==="line"?1:o==="qrcode"?12:8,props:E,...o==="table"?{tableColumns:[{title:"列1"},{title:"列2"},{title:"列3"}]}:{}};n(b=>({components:[...b.components,x],selectedId:u}))},updateComponent:(o,s)=>{n(c=>({components:c.components.map(u=>u.id===o?{...u,...s}:u)}))},selectComponent:o=>{n({selectedId:o})},removeComponent:o=>{n(s=>({components:s.components.filter(c=>c.id!==o),selectedId:s.selectedId===o?null:s.selectedId}))},setComponents:o=>{n({components:o})},setPageSettings:o=>{n(s=>({pageSettings:{...s.pageSettings,...o}}))},setPreviewVisible:o=>{n({previewVisible:o})},setTemplateName:o=>{n({templateName:o})},setHeaderFooterVisible:o=>{n({headerFooterVisible:o})},addDataSource:(o,s,c)=>{const w={id:ur(),name:o,type:s,data:c,createdAt:Date.now()};n(E=>({dataSources:[...E.dataSources,w]}))},updateDataSource:(o,s)=>{n(c=>({dataSources:c.dataSources.map(u=>u.id===o?{...u,...s}:u)}))},removeDataSource:o=>{n(s=>({dataSources:s.dataSources.filter(c=>c.id!==o),activeDataSourceId:s.activeDataSourceId===o?null:s.activeDataSourceId}))},setActiveDataSourceId:o=>{n({activeDataSourceId:o})},updateComponentTableColumns:(o,s)=>{n(c=>({components:c.components.map(u=>u.id===o?{...u,tableColumns:s}:u)}))},exportJSON:()=>{const o=i(),s={version:"1.0",templateName:o.templateName,pageSettings:o.pageSettings,components:o.components.map(({id:c,...u})=>u),dataSources:o.dataSources.map(({id:c,...u})=>u)};return JSON.stringify(s,null,2)},importJSON:o=>{try{const s=JSON.parse(o);if(!s.version||!s.pageSettings||!Array.isArray(s.components))return"JSON 格式不正确,缺少必要字段";At=0,Lt=0;const c=s.components.map(w=>({...w,id:cr()})),u=(s.dataSources||[]).map(w=>({...w,id:ur()}));return n({components:c,dataSources:u,pageSettings:s.pageSettings,templateName:s.templateName||"导入的模板",selectedId:null,activeDataSourceId:null}),null}catch{return"JSON 解析失败,请检查文件内容"}},reset:()=>{At=0,Lt=0,n({components:[],selectedId:null,pageSettings:{...ar},gridSettings:{...xt},templateName:"未命名模板",headerFooterVisible:!1,previewVisible:!1,dataSources:[],activeDataSourceId:null})}})),{Text:_o}=P.Typography,mn=({onCustomSave:n,onCustomPrint:i})=>{const o=fe(e=>e.templateName),s=fe(e=>e.setTemplateName),c=fe(e=>e.setPreviewVisible),u=fe(e=>e.setHeaderFooterVisible),w=fe(e=>e.selectedId),E=fe(e=>e.removeComponent),x=fe(e=>e.exportJSON),b=fe(e=>e.importJSON),_=fe(e=>e.reset),D=oe.useRef(null),{message:O}=P.App.useApp(),N=oe.useCallback(()=>{w&&E(w)},[w,E]),k=oe.useCallback(()=>{const e=x(),a=new Blob([e],{type:"application/json"}),f=URL.createObjectURL(a),l=document.createElement("a");l.href=f,l.download=`${o||"模板"}.json`,l.click(),URL.revokeObjectURL(f),O.success("模板已导出")},[x,o,O]),g=oe.useCallback(()=>{var e;(e=D.current)==null||e.click()},[]),d=oe.useCallback(e=>{var l;const a=(l=e.target.files)==null?void 0:l[0];if(!a)return;const f=new FileReader;f.onload=()=>{const j=b(f.result);j?O.error(j):O.success("模板已导入")},f.readAsText(a),e.target.value=""},[b,O]),r=oe.useCallback(()=>{_(),O.info("已新建空白模板")},[_,O]);return t.jsxs("div",{style:{height:48,display:"flex",alignItems:"center",justifyContent:"space-between",padding:"0 16px",borderBottom:"1px solid #e8e8e8",background:"#fff"},children:[t.jsx(P.Space,{children:t.jsx(P.Input,{value:o,onChange:e=>s(e.target.value),variant:"borderless",style:{width:200,fontSize:16,fontWeight:600},placeholder:"模板名称"})}),t.jsxs(P.Space,{children:[t.jsx(P.Button,{icon:t.jsx(ze.PlusOutlined,{}),onClick:r,children:"新建"}),t.jsx("input",{ref:D,type:"file",accept:".json",style:{display:"none"},onChange:d}),n?t.jsx(P.Button,{icon:t.jsx(ze.SaveOutlined,{}),onClick:n,type:"primary",children:"保存"}):t.jsx(P.Button,{icon:t.jsx(ze.DownloadOutlined,{}),onClick:k,children:"导出"}),t.jsx(P.Button,{icon:t.jsx(ze.UploadOutlined,{}),onClick:g,children:"导入"}),t.jsx(P.Button,{icon:t.jsx(ze.SettingOutlined,{}),onClick:()=>u(!0),children:"页眉页脚"}),t.jsx(P.Button,{danger:!0,icon:t.jsx(ze.DeleteOutlined,{}),disabled:!w,onClick:N,children:"删除"}),i?t.jsx(P.Button,{type:"primary",icon:t.jsx(ze.PrinterOutlined,{}),onClick:i,children:"打印"}):t.jsx(P.Button,{type:"primary",icon:t.jsx(ze.EyeOutlined,{}),onClick:()=>c(!0),children:"预览"})]})]})},{Text:qe}=P.Typography,vn=()=>{const n=fe(u=>u.pageSettings),i=fe(u=>u.setPageSettings),o=n.paperSize==="custom",s=oe.useCallback(u=>{i({paperSize:u})},[i]),c=oe.useCallback(u=>{i({orientation:u})},[i]);return t.jsx(P.Card,{title:"页面设置",size:"small",children:t.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[t.jsxs("div",{children:[t.jsx(qe,{style:{fontSize:12},children:"纸张大小"}),t.jsx(P.Select,{size:"small",style:{width:"100%"},value:n.paperSize,onChange:s,options:[...Object.keys(bt).map(u=>({value:u,label:u})),{value:"custom",label:"自定义"}]})]}),o&&t.jsxs("div",{style:{display:"flex",gap:8},children:[t.jsxs("div",{style:{flex:1},children:[t.jsx(qe,{style:{fontSize:12},children:"宽度 (mm)"}),t.jsx(P.InputNumber,{size:"small",style:{width:"100%"},value:n.customWidth,min:10,max:2e3,onChange:u=>i({customWidth:u??210})})]}),t.jsxs("div",{style:{flex:1},children:[t.jsx(qe,{style:{fontSize:12},children:"高度 (mm)"}),t.jsx(P.InputNumber,{size:"small",style:{width:"100%"},value:n.customHeight,min:10,max:2e3,onChange:u=>i({customHeight:u??297})})]})]}),t.jsxs("div",{children:[t.jsx(qe,{style:{fontSize:12},children:"方向"}),t.jsxs(P.Radio.Group,{value:n.orientation,onChange:u=>c(u.target.value),size:"small",style:{width:"100%",display:"flex"},children:[t.jsx(P.Radio.Button,{value:"portrait",style:{flex:1,textAlign:"center"},children:"纵向"}),t.jsx(P.Radio.Button,{value:"landscape",style:{flex:1,textAlign:"center"},children:"横向"})]})]}),t.jsxs("div",{children:[t.jsx(qe,{style:{fontSize:12},children:"页边距 (mm)"}),t.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:[t.jsxs("div",{children:[t.jsx(qe,{style:{fontSize:11},children:"上"}),t.jsx(P.InputNumber,{size:"small",style:{width:"100%"},value:n.marginTop,min:0,max:100,onChange:u=>i({marginTop:u??10})})]}),t.jsxs("div",{children:[t.jsx(qe,{style:{fontSize:11},children:"右"}),t.jsx(P.InputNumber,{size:"small",style:{width:"100%"},value:n.marginRight,min:0,max:100,onChange:u=>i({marginRight:u??10})})]}),t.jsxs("div",{children:[t.jsx(qe,{style:{fontSize:11},children:"下"}),t.jsx(P.InputNumber,{size:"small",style:{width:"100%"},value:n.marginBottom,min:0,max:100,onChange:u=>i({marginBottom:u??10})})]}),t.jsxs("div",{children:[t.jsx(qe,{style:{fontSize:11},children:"左"}),t.jsx(P.InputNumber,{size:"small",style:{width:"100%"},value:n.marginLeft,min:0,max:100,onChange:u=>i({marginLeft:u??10})})]})]})]})]})})},{Text:bn}=P.Typography,xn=[{type:"text",icon:t.jsx(ze.FontSizeOutlined,{}),label:"文本"},{type:"image",icon:t.jsx(ze.PictureOutlined,{}),label:"图片"},{type:"table",icon:t.jsx(ze.TableOutlined,{}),label:"表格"},{type:"barcode",icon:t.jsx(ze.BarcodeOutlined,{}),label:"条形码"},{type:"qrcode",icon:t.jsx(ze.QrcodeOutlined,{}),label:"二维码"},{type:"line",icon:t.jsx(ze.MinusOutlined,{}),label:"分割线"}],wn=()=>{const n=fe(s=>s.addComponent),i=oe.useCallback((s,c)=>{s.dataTransfer.setData("componentType",c),s.dataTransfer.effectAllowed="copy"},[]),o=oe.useCallback(s=>{n(s)},[n]);return t.jsx(P.Card,{title:"组件面板",size:"small",children:t.jsx(P.Space,{direction:"vertical",style:{width:"100%"},size:4,children:xn.map(s=>t.jsxs("div",{draggable:!0,onDragStart:c=>i(c,s.type),onClick:()=>o(s.type),style:{cursor:"grab",padding:"8px 12px",border:"1px solid #d9d9d9",borderRadius:6,display:"flex",alignItems:"center",gap:8,background:"#fafafa",userSelect:"none",transition:"all 0.2s"},onMouseEnter:c=>{c.currentTarget.style.background="#e6f4ff",c.currentTarget.style.borderColor="#1677ff"},onMouseLeave:c=>{c.currentTarget.style.background="#fafafa",c.currentTarget.style.borderColor="#d9d9d9"},children:[s.icon,t.jsx(bn,{children:s.label})]},s.type))})})};function at(n){try{return JSON.parse(n)}catch{return null}}function Ke(n,i,o){const s=`${i}Binding`,c=n.props[s];if(c&&c.dataSourceId&&c.fieldPath){const w=o.find(E=>E.id===c.dataSourceId);if(w){const E=jt(w);if(E){const x=St(E,c.fieldPath);if(x)return x}}}return n.props[i]||(c==null?void 0:c.staticValue)||""}function wt(n,i){if(!i||!n)return n;const o=Sn(n);if(!o)return n;const s=(u,w=2)=>String(u).padStart(w,"0"),c={yyyy:String(o.getFullYear()),yy:String(o.getFullYear()).slice(-2),MM:s(o.getMonth()+1),M:String(o.getMonth()+1),dd:s(o.getDate()),d:String(o.getDate()),HH:s(o.getHours()),H:String(o.getHours()),mm:s(o.getMinutes()),m:String(o.getMinutes()),ss:s(o.getSeconds()),s:String(o.getSeconds())};return i.replace(/yyyy|yy|MM|M|dd|d|HH|H|mm|m|ss|s/g,u=>c[u])}function Sn(n){const i=n.trim();if(!i)return null;if(/^\d{8}$/.test(i)){const s=Number(i.slice(0,4)),c=Number(i.slice(4,6)),u=Number(i.slice(6,8));return jn(s,c,u)}const o=new Date(i);return Number.isNaN(o.getTime())?null:o}function jn(n,i,o){const s=new Date(n,i-1,o);return s.getFullYear()!==n||s.getMonth()!==i-1||s.getDate()!==o?null:s}function St(n,i){if(!n||!i)return"";try{const o=i.split(".");let s=n;for(const c of o){if(typeof s!="object"||s===null)return"";s=s[c]}return s!=null?String(s):""}catch{return""}}function jt(n){const i=at(n.data);return n.type==="object"&&i&&typeof i=="object"&&!Array.isArray(i)?i:null}function Ct(n){const i=at(n.data);return n.type==="array"&&Array.isArray(i)?i:null}const{TextArea:Cn}=P.Input,{Text:Rt,Title:Eo}=P.Typography,dr=JSON.stringify({name:"张三",age:28,department:"技术部",email:"zhangsan@example.com"},null,2),Rn=JSON.stringify([{id:1,product:"商品A",quantity:2,price:100},{id:2,product:"商品B",quantity:5,price:80},{id:3,product:"商品C",quantity:1,price:200}],null,2),On=()=>{const n=fe(O=>O.dataSources),i=fe(O=>O.addDataSource),o=fe(O=>O.updateDataSource),s=fe(O=>O.removeDataSource),[c,u]=oe.useState(!1),[w,E]=oe.useState(null),[x,b]=oe.useState({name:"",type:"object",data:""}),_=O=>{O?(E(O.id),b({name:O.name,type:O.type,data:O.data})):(E(null),b({name:"新数据源",type:"object",data:dr})),u(!0)},D=()=>{const O=at(x.data);if(O===null){P.message.error("JSON 格式不正确");return}if(x.type==="object"&&(Array.isArray(O)||typeof O!="object")){P.message.error("对象类型数据源必须为对象格式");return}if(x.type==="array"&&!Array.isArray(O)){P.message.error("数组类型数据源必须为数组格式");return}w?(o(w,x),P.message.success("数据源已更新")):(i(x.name,x.type,x.data),P.message.success("数据源已添加")),u(!1)};return t.jsxs(P.Card,{title:"数据源",size:"small",extra:t.jsx(P.Button,{type:"link",size:"small",icon:t.jsx(ze.PlusOutlined,{}),onClick:()=>_(),children:"添加"}),children:[t.jsx(P.List,{size:"small",dataSource:n,locale:{emptyText:"暂无数据源"},renderItem:O=>t.jsx(P.List.Item,{actions:[t.jsx(P.Dropdown,{menu:{items:[{key:"edit",label:"编辑",icon:t.jsx(ze.EditOutlined,{}),onClick:()=>_(O)},{type:"divider"},{key:"delete",label:t.jsx(P.Popconfirm,{title:"确定要删除这个数据源吗?",onConfirm:N=>{N==null||N.stopPropagation(),s(O.id),P.message.success("已删除")},okText:"确定",cancelText:"取消",onCancel:N=>N==null?void 0:N.stopPropagation(),children:t.jsx("span",{style:{color:"#ff4d4f",cursor:"pointer"},children:"删除"})}),icon:t.jsx(ze.DeleteOutlined,{style:{color:"#ff4d4f"}})}]},placement:"bottomRight",children:t.jsx(P.Button,{type:"text",size:"small",icon:t.jsx(ze.MoreOutlined,{})})})],children:t.jsx(P.List.Item.Meta,{avatar:t.jsx(ze.DatabaseOutlined,{}),title:t.jsx(Rt,{ellipsis:!0,strong:!0,children:O.name}),description:t.jsx(P.Space,{size:4,children:t.jsx(P.Tag,{color:O.type==="object"?"blue":"green",children:O.type==="object"?"对象":"数组"})})})})}),t.jsx(P.Modal,{title:w?"编辑数据源":"添加数据源",open:c,onOk:D,onCancel:()=>u(!1),okText:"保存",cancelText:"取消",children:t.jsxs(P.Space,{direction:"vertical",style:{width:"100%"},size:"middle",children:[t.jsxs("div",{children:[t.jsx(Rt,{strong:!0,style:{display:"block",marginBottom:4},children:"名称"}),t.jsx(P.Input,{placeholder:"请输入数据源名称",value:x.name,onChange:O=>b({...x,name:O.target.value})})]}),t.jsxs("div",{children:[t.jsx(Rt,{strong:!0,style:{display:"block",marginBottom:4},children:"类型"}),t.jsx(P.Select,{options:[{label:"对象",value:"object"},{label:"数组",value:"array"}],style:{width:"100%"},value:x.type,onChange:O=>{b({...x,type:O,data:O==="object"?dr:Rn})}})]}),t.jsx(P.Divider,{style:{margin:"8px 0"}}),t.jsxs("div",{children:[t.jsx(Rt,{strong:!0,style:{display:"block",marginBottom:4},children:"JSON 数据"}),t.jsx(Cn,{rows:12,placeholder:"请输入 JSON 数据",value:x.data,onChange:O=>b({...x,data:O.target.value})})]})]})})]})},_n=()=>t.jsx(P.Collapse,{bordered:!1,accordion:!0,defaultActiveKey:["1"],expandIcon:({isActive:n})=>t.jsx(ze.CaretRightOutlined,{rotate:n?90:0}),style:{height:"100%",overflowY:"auto"},items:[{key:"1",label:"页面设置",children:t.jsx(vn,{})},{key:"2",label:"组件",children:t.jsx(wn,{})},{key:"3",label:"数据源",children:t.jsx(On,{})}]});var Nt={exports:{}},lt={},ct={exports:{}},En=ct.exports,fr;function Wt(){return fr||(fr=1,(function(n,i){(function(o,s){s(i)})(En,(function(o){function s(A){return function(ee,J,ae,W,ye,ke,we){return A(ee,J,we)}}function c(A){return function(ee,J,ae,W){if(!ee||!J||typeof ee!="object"||typeof J!="object")return A(ee,J,ae,W);var ye=W.get(ee),ke=W.get(J);if(ye&&ke)return ye===J&&ke===ee;W.set(ee,J),W.set(J,ee);var we=A(ee,J,ae,W);return W.delete(ee),W.delete(J),we}}function u(A,Y){var ee={};for(var J in A)ee[J]=A[J];for(var J in Y)ee[J]=Y[J];return ee}function w(A){return A.constructor===Object||A.constructor==null}function E(A){return typeof A.then=="function"}function x(A,Y){return A===Y||A!==A&&Y!==Y}var b="[object Arguments]",_="[object Boolean]",D="[object Date]",O="[object RegExp]",N="[object Map]",k="[object Number]",g="[object Object]",d="[object Set]",r="[object String]",e=Object.prototype.toString;function a(A){var Y=A.areArraysEqual,ee=A.areDatesEqual,J=A.areMapsEqual,ae=A.areObjectsEqual,W=A.areRegExpsEqual,ye=A.areSetsEqual,ke=A.createIsNestedEqual,we=ke(Le);function Le(y,m,C){if(y===m)return!0;if(!y||!m||typeof y!="object"||typeof m!="object")return y!==y&&m!==m;if(w(y)&&w(m))return ae(y,m,we,C);var B=Array.isArray(y),re=Array.isArray(m);if(B||re)return B===re&&Y(y,m,we,C);var X=e.call(y);return X!==e.call(m)?!1:X===D?ee(y,m,we,C):X===O?W(y,m,we,C):X===N?J(y,m,we,C):X===d?ye(y,m,we,C):X===g||X===b?E(y)||E(m)?!1:ae(y,m,we,C):X===_||X===k||X===r?x(y.valueOf(),m.valueOf()):!1}return Le}function f(A,Y,ee,J){var ae=A.length;if(Y.length!==ae)return!1;for(;ae-- >0;)if(!ee(A[ae],Y[ae],ae,ae,A,Y,J))return!1;return!0}var l=c(f);function j(A,Y){return x(A.valueOf(),Y.valueOf())}function v(A,Y,ee,J){var ae=A.size===Y.size;if(!ae)return!1;if(!A.size)return!0;var W={},ye=0;return A.forEach(function(ke,we){if(ae){var Le=!1,y=0;Y.forEach(function(m,C){!Le&&!W[y]&&(Le=ee(we,C,ye,y,A,Y,J)&&ee(ke,m,we,C,A,Y,J))&&(W[y]=!0),y++}),ye++,ae=Le}}),ae}var R=c(v),T="_owner",I=Object.prototype.hasOwnProperty;function H(A,Y,ee,J){var ae=Object.keys(A),W=ae.length;if(Object.keys(Y).length!==W)return!1;for(var ye;W-- >0;){if(ye=ae[W],ye===T){var ke=!!A.$$typeof,we=!!Y.$$typeof;if((ke||we)&&ke!==we)return!1}if(!I.call(Y,ye)||!ee(A[ye],Y[ye],ye,ye,A,Y,J))return!1}return!0}var V=c(H);function U(A,Y){return A.source===Y.source&&A.flags===Y.flags}function K(A,Y,ee,J){var ae=A.size===Y.size;if(!ae)return!1;if(!A.size)return!0;var W={};return A.forEach(function(ye,ke){if(ae){var we=!1,Le=0;Y.forEach(function(y,m){!we&&!W[Le]&&(we=ee(ye,y,ke,m,A,Y,J))&&(W[Le]=!0),Le++}),ae=we}}),ae}var $=c(K),Q=Object.freeze({areArraysEqual:f,areDatesEqual:j,areMapsEqual:v,areObjectsEqual:H,areRegExpsEqual:U,areSetsEqual:K,createIsNestedEqual:s}),Z=Object.freeze({areArraysEqual:l,areDatesEqual:j,areMapsEqual:R,areObjectsEqual:V,areRegExpsEqual:U,areSetsEqual:$,createIsNestedEqual:s}),ne=a(Q);function ge(A,Y){return ne(A,Y,void 0)}var pe=a(u(Q,{createIsNestedEqual:function(){return x}}));function M(A,Y){return pe(A,Y,void 0)}var L=a(Z);function le(A,Y){return L(A,Y,new WeakMap)}var ie=a(u(Z,{createIsNestedEqual:function(){return x}}));function ce(A,Y){return ie(A,Y,new WeakMap)}function he(A){return a(u(Q,A(Q)))}function ue(A){var Y=a(u(Z,A(Z)));return(function(ee,J,ae){return ae===void 0&&(ae=new WeakMap),Y(ee,J,ae)})}o.circularDeepEqual=le,o.circularShallowEqual=ce,o.createCustomCircularEqual=ue,o.createCustomEqual=he,o.deepEqual=ge,o.sameValueZeroEqual=x,o.shallowEqual=M,Object.defineProperty(o,"__esModule",{value:!0})}))})(ct,ct.exports)),ct.exports}var Ot={exports:{}},pr;function _t(){if(pr)return Ot.exports;pr=1;function n(o){var s,c,u="";if(typeof o=="string"||typeof o=="number")u+=o;else if(typeof o=="object")if(Array.isArray(o)){var w=o.length;for(s=0;s<w;s++)o[s]&&(c=n(o[s]))&&(u&&(u+=" "),u+=c)}else for(c in o)o[c]&&(u&&(u+=" "),u+=c);return u}function i(){for(var o,s,c=0,u="",w=arguments.length;c<w;c++)(o=arguments[c])&&(s=n(o))&&(u&&(u+=" "),u+=s);return u}return Ot.exports=i,Ot.exports.clsx=i,Ot.exports}var xe={},Ht,hr;function Pn(){return hr||(hr=1,Ht=function(i,o,s){return i===o?!0:i.className===o.className&&s(i.style,o.style)&&i.width===o.width&&i.autoSize===o.autoSize&&i.cols===o.cols&&i.draggableCancel===o.draggableCancel&&i.draggableHandle===o.draggableHandle&&s(i.verticalCompact,o.verticalCompact)&&s(i.compactType,o.compactType)&&s(i.layout,o.layout)&&s(i.margin,o.margin)&&s(i.containerPadding,o.containerPadding)&&i.rowHeight===o.rowHeight&&i.maxRows===o.maxRows&&i.isBounded===o.isBounded&&i.isDraggable===o.isDraggable&&i.isResizable===o.isResizable&&i.allowOverlap===o.allowOverlap&&i.preventCollision===o.preventCollision&&i.useCSSTransforms===o.useCSSTransforms&&i.transformScale===o.transformScale&&i.isDroppable===o.isDroppable&&s(i.resizeHandles,o.resizeHandles)&&s(i.resizeHandle,o.resizeHandle)&&i.onLayoutChange===o.onLayoutChange&&i.onDragStart===o.onDragStart&&i.onDrag===o.onDrag&&i.onDragStop===o.onDragStop&&i.onResizeStart===o.onResizeStart&&i.onResize===o.onResize&&i.onResizeStop===o.onResizeStop&&i.onDrop===o.onDrop&&s(i.droppingItem,o.droppingItem)&&s(i.innerRef,o.innerRef)}),Ht}var gr;function Qe(){if(gr)return xe;gr=1;var n={};Object.defineProperty(xe,"__esModule",{value:!0}),xe.bottom=_,xe.childrenEqual=g,xe.cloneLayout=D,xe.cloneLayoutItem=k,xe.collides=r,xe.compact=e,xe.compactItem=l,xe.compactType=ke,xe.correctBounds=j,xe.fastPositionEqual=d,xe.fastRGLPropsEqual=void 0,xe.getAllCollisions=T,xe.getFirstCollision=R,xe.getLayoutItem=v,xe.getStatics=I,xe.modifyLayout=O,xe.moveElement=H,xe.moveElementAwayFromCollision=V,xe.noop=void 0,xe.perc=U,xe.resizeItemInDirection=ue,xe.setTopLeft=Y,xe.setTransform=A,xe.sortLayoutItems=ee,xe.sortLayoutItemsByColRow=ae,xe.sortLayoutItemsByRowCol=J,xe.synchronizeLayoutWithChildren=W,xe.validateLayout=ye,xe.withLayoutItem=N;var i=Wt(),o=s(oe);function s(y){return y&&y.__esModule?y:{default:y}}function c(y,m){var C=Object.keys(y);if(Object.getOwnPropertySymbols){var B=Object.getOwnPropertySymbols(y);m&&(B=B.filter(function(re){return Object.getOwnPropertyDescriptor(y,re).enumerable})),C.push.apply(C,B)}return C}function u(y){for(var m=1;m<arguments.length;m++){var C=arguments[m]!=null?arguments[m]:{};m%2?c(Object(C),!0).forEach(function(B){w(y,B,C[B])}):Object.getOwnPropertyDescriptors?Object.defineProperties(y,Object.getOwnPropertyDescriptors(C)):c(Object(C)).forEach(function(B){Object.defineProperty(y,B,Object.getOwnPropertyDescriptor(C,B))})}return y}function w(y,m,C){return(m=E(m))in y?Object.defineProperty(y,m,{value:C,enumerable:!0,configurable:!0,writable:!0}):y[m]=C,y}function E(y){var m=x(y,"string");return typeof m=="symbol"?m:m+""}function x(y,m){if(typeof y!="object"||!y)return y;var C=y[Symbol.toPrimitive];if(C!==void 0){var B=C.call(y,m);if(typeof B!="object")return B;throw new TypeError("@@toPrimitive must return a primitive value.")}return(m==="string"?String:Number)(y)}const b=n.NODE_ENV==="production";function _(y){let m=0,C;for(let B=0,re=y.length;B<re;B++)C=y[B].y+y[B].h,C>m&&(m=C);return m}function D(y){const m=Array(y.length);for(let C=0,B=y.length;C<B;C++)m[C]=k(y[C]);return m}function O(y,m){const C=Array(y.length);for(let B=0,re=y.length;B<re;B++)m.i===y[B].i?C[B]=m:C[B]=y[B];return C}function N(y,m,C){let B=v(y,m);return B?(B=C(k(B)),y=O(y,B),[y,B]):[y,null]}function k(y){return{w:y.w,h:y.h,x:y.x,y:y.y,i:y.i,minW:y.minW,maxW:y.maxW,minH:y.minH,maxH:y.maxH,moved:!!y.moved,static:!!y.static,isDraggable:y.isDraggable,isResizable:y.isResizable,resizeHandles:y.resizeHandles,isBounded:y.isBounded}}function g(y,m){return(0,i.deepEqual)(o.default.Children.map(y,C=>C==null?void 0:C.key),o.default.Children.map(m,C=>C==null?void 0:C.key))&&(0,i.deepEqual)(o.default.Children.map(y,C=>C==null?void 0:C.props["data-grid"]),o.default.Children.map(m,C=>C==null?void 0:C.props["data-grid"]))}xe.fastRGLPropsEqual=Pn();function d(y,m){return y.left===m.left&&y.top===m.top&&y.width===m.width&&y.height===m.height}function r(y,m){return!(y.i===m.i||y.x+y.w<=m.x||y.x>=m.x+m.w||y.y+y.h<=m.y||y.y>=m.y+m.h)}function e(y,m,C,B){const re=I(y);let X=_(re);const se=ee(y,m),me=Array(y.length);for(let Ce=0,p=se.length;Ce<p;Ce++){let S=k(se[Ce]);S.static||(S=l(re,S,m,C,se,B,X),X=Math.max(X,S.y+S.h),re.push(S)),me[y.indexOf(se[Ce])]=S,S.moved=!1}return me}const a={x:"w",y:"h"};function f(y,m,C,B){const re=a[B];m[B]+=1;const X=y.map(se=>se.i).indexOf(m.i);for(let se=X+1;se<y.length;se++){const me=y[se];if(!me.static){if(me.y>m.y+m.h)break;r(m,me)&&f(y,me,C+m[re],B)}}m[B]=C}function l(y,m,C,B,re,X,se){const me=C==="vertical",Ce=C==="horizontal";if(me)for(typeof se=="number"?m.y=Math.min(se,m.y):m.y=Math.min(_(y),m.y);m.y>0&&!R(y,m);)m.y--;else if(Ce)for(;m.x>0&&!R(y,m);)m.x--;let p;for(;(p=R(y,m))&&!(C===null&&X);)if(Ce?f(re,m,p.x+p.w,"x"):f(re,m,p.y+p.h,"y"),Ce&&m.x+m.w>B)for(m.x=B-m.w,m.y++;m.x>0&&!R(y,m);)m.x--;return m.y=Math.max(m.y,0),m.x=Math.max(m.x,0),m}function j(y,m){const C=I(y);for(let B=0,re=y.length;B<re;B++){const X=y[B];if(X.x+X.w>m.cols&&(X.x=m.cols-X.w),X.x<0&&(X.x=0,X.w=m.cols),!X.static)C.push(X);else for(;R(C,X);)X.y++}return y}function v(y,m){for(let C=0,B=y.length;C<B;C++)if(y[C].i===m)return y[C]}function R(y,m){for(let C=0,B=y.length;C<B;C++)if(r(y[C],m))return y[C]}function T(y,m){return y.filter(C=>r(C,m))}function I(y){return y.filter(m=>m.static)}function H(y,m,C,B,re,X,se,me,Ce){if(m.static&&m.isDraggable!==!0||m.y===B&&m.x===C)return y;"Moving element ".concat(m.i," to [").concat(String(C),",").concat(String(B),"] from [").concat(m.x,",").concat(m.y,"]");const p=m.x,S=m.y;typeof C=="number"&&(m.x=C),typeof B=="number"&&(m.y=B),m.moved=!0;let z=ee(y,se);(se==="vertical"&&typeof B=="number"?S>=B:se==="horizontal"&&typeof C=="number"?p>=C:!1)&&(z=z.reverse());const G=T(z,m),_e=G.length>0;if(_e&&Ce)return D(y);if(_e&&X)return"Collision prevented on ".concat(m.i,", reverting."),m.x=p,m.y=S,m.moved=!1,y;for(let ve=0,De=G.length;ve<De;ve++){const Me=G[ve];"Resolving collision between ".concat(m.i," at [").concat(m.x,",").concat(m.y,"] and ").concat(Me.i," at [").concat(Me.x,",").concat(Me.y,"]"),!Me.moved&&(Me.static?y=V(y,Me,m,re,se):y=V(y,m,Me,re,se))}return y}function V(y,m,C,B,re,X){const se=re==="horizontal",me=re==="vertical",Ce=m.static;if(B){B=!1;const z={x:se?Math.max(m.x-C.w,0):C.x,y:me?Math.max(m.y-C.h,0):C.y,w:C.w,h:C.h,i:"-1"},F=R(y,z),G=F&&F.y+F.h>m.y,_e=F&&m.x+m.w>F.x;if(F){if(G&&me)return H(y,C,void 0,C.y+1,B,Ce,re);if(G&&re==null)return m.y=C.y,C.y=C.y+C.h,y;if(_e&&se)return H(y,m,C.x,void 0,B,Ce,re)}else return"Doing reverse collision on ".concat(C.i," up to [").concat(z.x,",").concat(z.y,"]."),H(y,C,se?z.x:void 0,me?z.y:void 0,B,Ce,re)}const p=se?C.x+1:void 0,S=me?C.y+1:void 0;return p==null&&S==null?y:H(y,C,se?C.x+1:void 0,me?C.y+1:void 0,B,Ce,re)}function U(y){return y*100+"%"}const K=(y,m,C,B)=>y+C>B?m:C,$=(y,m,C)=>y<0?m:C,Q=y=>Math.max(0,y),Z=y=>Math.max(0,y),ne=(y,m,C)=>{let{left:B,height:re,width:X}=m;const se=y.top-(re-y.height);return{left:B,width:X,height:$(se,y.height,re),top:Z(se)}},ge=(y,m,C)=>{let{top:B,left:re,height:X,width:se}=m;return{top:B,height:X,width:K(y.left,y.width,se,C),left:Q(re)}},pe=(y,m,C)=>{let{top:B,height:re,width:X}=m;const se=y.left-(X-y.width);return{height:re,width:se<0?y.width:K(y.left,y.width,X,C),top:Z(B),left:Q(se)}},M=(y,m,C)=>{let{top:B,left:re,height:X,width:se}=m;return{width:se,left:re,height:$(B,y.height,X),top:Z(B)}},he={n:ne,ne:function(){return ne(arguments.length<=0?void 0:arguments[0],ge(...arguments))},e:ge,se:function(){return M(arguments.length<=0?void 0:arguments[0],ge(...arguments))},s:M,sw:function(){return M(arguments.length<=0?void 0:arguments[0],pe(...arguments))},w:pe,nw:function(){return ne(arguments.length<=0?void 0:arguments[0],pe(...arguments))}};function ue(y,m,C,B){const re=he[y];return re?re(m,u(u({},m),C),B):C}function A(y){let{top:m,left:C,width:B,height:re}=y;const X="translate(".concat(C,"px,").concat(m,"px)");return{transform:X,WebkitTransform:X,MozTransform:X,msTransform:X,OTransform:X,width:"".concat(B,"px"),height:"".concat(re,"px"),position:"absolute"}}function Y(y){let{top:m,left:C,width:B,height:re}=y;return{top:"".concat(m,"px"),left:"".concat(C,"px"),width:"".concat(B,"px"),height:"".concat(re,"px"),position:"absolute"}}function ee(y,m){return m==="horizontal"?ae(y):m==="vertical"?J(y):y}function J(y){return y.slice(0).sort(function(m,C){return m.y>C.y||m.y===C.y&&m.x>C.x?1:m.y===C.y&&m.x===C.x?0:-1})}function ae(y){return y.slice(0).sort(function(m,C){return m.x>C.x||m.x===C.x&&m.y>C.y?1:-1})}function W(y,m,C,B,re){y=y||[];const X=[];o.default.Children.forEach(m,me=>{if((me==null?void 0:me.key)==null)return;const Ce=v(y,String(me.key)),p=me.props["data-grid"];Ce&&p==null?X.push(k(Ce)):p?(b||ye([p],"ReactGridLayout.children"),X.push(k(u(u({},p),{},{i:me.key})))):X.push(k({w:1,h:1,x:0,y:_(X),i:String(me.key)}))});const se=j(X,{cols:C});return re?se:e(se,B,C)}function ye(y){let m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:"Layout";const C=["x","y","w","h"];if(!Array.isArray(y))throw new Error(m+" must be an array!");for(let B=0,re=y.length;B<re;B++){const X=y[B];for(let se=0;se<C.length;se++){const me=C[se],Ce=X[me];if(typeof Ce!="number"||Number.isNaN(Ce))throw new Error("ReactGridLayout: ".concat(m,"[").concat(B,"].").concat(me," must be a number! Received: ").concat(Ce," (").concat(typeof Ce,")"))}if(typeof X.i<"u"&&typeof X.i!="string")throw new Error("ReactGridLayout: ".concat(m,"[").concat(B,"].i must be a string! Received: ").concat(X.i," (").concat(typeof X.i,")"))}}function ke(y){const{verticalCompact:m,compactType:C}=y||{};return m===!1?null:C}function we(){}const Le=()=>{};return xe.noop=Le,xe}var Fe={},yr;function Bt(){if(yr)return Fe;yr=1,Object.defineProperty(Fe,"__esModule",{value:!0}),Fe.calcGridColWidth=n,Fe.calcGridItemPosition=o,Fe.calcGridItemWHPx=i,Fe.calcWH=c,Fe.calcXY=s,Fe.clamp=u;function n(w){const{margin:E,containerPadding:x,containerWidth:b,cols:_}=w;return(b-E[0]*(_-1)-x[0]*2)/_}function i(w,E,x){return Number.isFinite(w)?Math.round(E*w+Math.max(0,w-1)*x):w}function o(w,E,x,b,_,D){const{margin:O,containerPadding:N,rowHeight:k}=w,g=n(w),d={};return D&&D.resizing?(d.width=Math.round(D.resizing.width),d.height=Math.round(D.resizing.height)):(d.width=i(b,g,O[0]),d.height=i(_,k,O[1])),D&&D.dragging?(d.top=Math.round(D.dragging.top),d.left=Math.round(D.dragging.left)):D&&D.resizing&&typeof D.resizing.top=="number"&&typeof D.resizing.left=="number"?(d.top=Math.round(D.resizing.top),d.left=Math.round(D.resizing.left)):(d.top=Math.round((k+O[1])*x+N[1]),d.left=Math.round((g+O[0])*E+N[0])),d}function s(w,E,x,b,_){const{margin:D,containerPadding:O,cols:N,rowHeight:k,maxRows:g}=w,d=n(w);let r=Math.round((x-O[0])/(d+D[0])),e=Math.round((E-O[1])/(k+D[1]));return r=u(r,0,N-b),e=u(e,0,g-_),{x:r,y:e}}function c(w,E,x,b,_,D){const{margin:O,maxRows:N,cols:k,rowHeight:g}=w,d=n(w);let r=Math.round((E+O[0])/(d+O[0])),e=Math.round((x+O[1])/(g+O[1])),a=u(r,0,k-b),f=u(e,0,N-_);return["sw","w","nw"].indexOf(D)!==-1&&(a=u(r,0,k)),["nw","n","ne"].indexOf(D)!==-1&&(f=u(e,0,N)),{w:a,h:f}}function u(w,E,x){return Math.max(Math.min(w,x),E)}return Fe}var ut={},Et={exports:{}},Pt={exports:{}},Re={};/** @license React v16.13.1
|
|
31
31
|
* react-is.production.min.js
|
|
32
32
|
*
|
|
33
33
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
34
34
|
*
|
|
35
35
|
* This source code is licensed under the MIT license found in the
|
|
36
36
|
* LICENSE file in the root directory of this source tree.
|
|
37
|
-
*/var mr;function Dn(){if(mr)return Re;mr=1;var n=typeof Symbol=="function"&&Symbol.for,i=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,
|
|
37
|
+
*/var mr;function Dn(){if(mr)return Re;mr=1;var n=typeof Symbol=="function"&&Symbol.for,i=n?Symbol.for("react.element"):60103,o=n?Symbol.for("react.portal"):60106,s=n?Symbol.for("react.fragment"):60107,c=n?Symbol.for("react.strict_mode"):60108,u=n?Symbol.for("react.profiler"):60114,w=n?Symbol.for("react.provider"):60109,E=n?Symbol.for("react.context"):60110,x=n?Symbol.for("react.async_mode"):60111,b=n?Symbol.for("react.concurrent_mode"):60111,_=n?Symbol.for("react.forward_ref"):60112,D=n?Symbol.for("react.suspense"):60113,O=n?Symbol.for("react.suspense_list"):60120,N=n?Symbol.for("react.memo"):60115,k=n?Symbol.for("react.lazy"):60116,g=n?Symbol.for("react.block"):60121,d=n?Symbol.for("react.fundamental"):60117,r=n?Symbol.for("react.responder"):60118,e=n?Symbol.for("react.scope"):60119;function a(l){if(typeof l=="object"&&l!==null){var j=l.$$typeof;switch(j){case i:switch(l=l.type,l){case x:case b:case s:case u:case c:case D:return l;default:switch(l=l&&l.$$typeof,l){case E:case _:case k:case N:case w:return l;default:return j}}case o:return j}}}function f(l){return a(l)===b}return Re.AsyncMode=x,Re.ConcurrentMode=b,Re.ContextConsumer=E,Re.ContextProvider=w,Re.Element=i,Re.ForwardRef=_,Re.Fragment=s,Re.Lazy=k,Re.Memo=N,Re.Portal=o,Re.Profiler=u,Re.StrictMode=c,Re.Suspense=D,Re.isAsyncMode=function(l){return f(l)||a(l)===x},Re.isConcurrentMode=f,Re.isContextConsumer=function(l){return a(l)===E},Re.isContextProvider=function(l){return a(l)===w},Re.isElement=function(l){return typeof l=="object"&&l!==null&&l.$$typeof===i},Re.isForwardRef=function(l){return a(l)===_},Re.isFragment=function(l){return a(l)===s},Re.isLazy=function(l){return a(l)===k},Re.isMemo=function(l){return a(l)===N},Re.isPortal=function(l){return a(l)===o},Re.isProfiler=function(l){return a(l)===u},Re.isStrictMode=function(l){return a(l)===c},Re.isSuspense=function(l){return a(l)===D},Re.isValidElementType=function(l){return typeof l=="string"||typeof l=="function"||l===s||l===b||l===u||l===c||l===D||l===O||typeof l=="object"&&l!==null&&(l.$$typeof===k||l.$$typeof===N||l.$$typeof===w||l.$$typeof===E||l.$$typeof===_||l.$$typeof===d||l.$$typeof===r||l.$$typeof===e||l.$$typeof===g)},Re.typeOf=a,Re}var Oe={},vr;function Tn(){if(vr)return Oe;vr=1;var n={};/** @license React v16.13.1
|
|
38
38
|
* react-is.development.js
|
|
39
39
|
*
|
|
40
40
|
* Copyright (c) Facebook, Inc. and its affiliates.
|
|
41
41
|
*
|
|
42
42
|
* This source code is licensed under the MIT license found in the
|
|
43
43
|
* LICENSE file in the root directory of this source tree.
|
|
44
|
-
*/return n.NODE_ENV!=="production"&&(function(){var i=typeof Symbol=="function"&&Symbol.for,o=i?Symbol.for("react.element"):60103,
|
|
44
|
+
*/return n.NODE_ENV!=="production"&&(function(){var i=typeof Symbol=="function"&&Symbol.for,o=i?Symbol.for("react.element"):60103,s=i?Symbol.for("react.portal"):60106,c=i?Symbol.for("react.fragment"):60107,u=i?Symbol.for("react.strict_mode"):60108,w=i?Symbol.for("react.profiler"):60114,E=i?Symbol.for("react.provider"):60109,x=i?Symbol.for("react.context"):60110,b=i?Symbol.for("react.async_mode"):60111,_=i?Symbol.for("react.concurrent_mode"):60111,D=i?Symbol.for("react.forward_ref"):60112,O=i?Symbol.for("react.suspense"):60113,N=i?Symbol.for("react.suspense_list"):60120,k=i?Symbol.for("react.memo"):60115,g=i?Symbol.for("react.lazy"):60116,d=i?Symbol.for("react.block"):60121,r=i?Symbol.for("react.fundamental"):60117,e=i?Symbol.for("react.responder"):60118,a=i?Symbol.for("react.scope"):60119;function f(W){return typeof W=="string"||typeof W=="function"||W===c||W===_||W===w||W===u||W===O||W===N||typeof W=="object"&&W!==null&&(W.$$typeof===g||W.$$typeof===k||W.$$typeof===E||W.$$typeof===x||W.$$typeof===D||W.$$typeof===r||W.$$typeof===e||W.$$typeof===a||W.$$typeof===d)}function l(W){if(typeof W=="object"&&W!==null){var ye=W.$$typeof;switch(ye){case o:var ke=W.type;switch(ke){case b:case _:case c:case w:case u:case O:return ke;default:var we=ke&&ke.$$typeof;switch(we){case x:case D:case g:case k:case E:return we;default:return ye}}case s:return ye}}}var j=b,v=_,R=x,T=E,I=o,H=D,V=c,U=g,K=k,$=s,Q=w,Z=u,ne=O,ge=!1;function pe(W){return ge||(ge=!0,console.warn("The ReactIs.isAsyncMode() alias has been deprecated, and will be removed in React 17+. Update your code to use ReactIs.isConcurrentMode() instead. It has the exact same API.")),M(W)||l(W)===b}function M(W){return l(W)===_}function L(W){return l(W)===x}function le(W){return l(W)===E}function ie(W){return typeof W=="object"&&W!==null&&W.$$typeof===o}function ce(W){return l(W)===D}function he(W){return l(W)===c}function ue(W){return l(W)===g}function A(W){return l(W)===k}function Y(W){return l(W)===s}function ee(W){return l(W)===w}function J(W){return l(W)===u}function ae(W){return l(W)===O}Oe.AsyncMode=j,Oe.ConcurrentMode=v,Oe.ContextConsumer=R,Oe.ContextProvider=T,Oe.Element=I,Oe.ForwardRef=H,Oe.Fragment=V,Oe.Lazy=U,Oe.Memo=K,Oe.Portal=$,Oe.Profiler=Q,Oe.StrictMode=Z,Oe.Suspense=ne,Oe.isAsyncMode=pe,Oe.isConcurrentMode=M,Oe.isContextConsumer=L,Oe.isContextProvider=le,Oe.isElement=ie,Oe.isForwardRef=ce,Oe.isFragment=he,Oe.isLazy=ue,Oe.isMemo=A,Oe.isPortal=Y,Oe.isProfiler=ee,Oe.isStrictMode=J,Oe.isSuspense=ae,Oe.isValidElementType=f,Oe.typeOf=l})(),Oe}var br;function xr(){if(br)return Pt.exports;br=1;var n={};return n.NODE_ENV==="production"?Pt.exports=Dn():Pt.exports=Tn(),Pt.exports}/*
|
|
45
45
|
object-assign
|
|
46
46
|
(c) Sindre Sorhus
|
|
47
47
|
@license MIT
|
|
48
|
-
*/var qt,wr;function zn(){if(wr)return qt;wr=1;var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function
|
|
49
|
-
Valid keys: `+JSON.stringify(Object.keys(
|
|
48
|
+
*/var qt,wr;function zn(){if(wr)return qt;wr=1;var n=Object.getOwnPropertySymbols,i=Object.prototype.hasOwnProperty,o=Object.prototype.propertyIsEnumerable;function s(u){if(u==null)throw new TypeError("Object.assign cannot be called with null or undefined");return Object(u)}function c(){try{if(!Object.assign)return!1;var u=new String("abc");if(u[5]="de",Object.getOwnPropertyNames(u)[0]==="5")return!1;for(var w={},E=0;E<10;E++)w["_"+String.fromCharCode(E)]=E;var x=Object.getOwnPropertyNames(w).map(function(_){return w[_]});if(x.join("")!=="0123456789")return!1;var b={};return"abcdefghijklmnopqrst".split("").forEach(function(_){b[_]=_}),Object.keys(Object.assign({},b)).join("")==="abcdefghijklmnopqrst"}catch{return!1}}return qt=c()?Object.assign:function(u,w){for(var E,x=s(u),b,_=1;_<arguments.length;_++){E=Object(arguments[_]);for(var D in E)i.call(E,D)&&(x[D]=E[D]);if(n){b=n(E);for(var O=0;O<b.length;O++)o.call(E,b[O])&&(x[b[O]]=E[b[O]])}}return x},qt}var Ft,Sr;function Yt(){if(Sr)return Ft;Sr=1;var n="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED";return Ft=n,Ft}var Gt,jr;function Cr(){return jr||(jr=1,Gt=Function.call.bind(Object.prototype.hasOwnProperty)),Gt}var Vt,Rr;function kn(){if(Rr)return Vt;Rr=1;var n={},i=function(){};if(n.NODE_ENV!=="production"){var o=Yt(),s={},c=Cr();i=function(w){var E="Warning: "+w;typeof console<"u"&&console.error(E);try{throw new Error(E)}catch{}}}function u(w,E,x,b,_){if(n.NODE_ENV!=="production"){for(var D in w)if(c(w,D)){var O;try{if(typeof w[D]!="function"){var N=Error((b||"React class")+": "+x+" type `"+D+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+typeof w[D]+"`.This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.");throw N.name="Invariant Violation",N}O=w[D](E,D,b,x,null,o)}catch(g){O=g}if(O&&!(O instanceof Error)&&i((b||"React class")+": type specification of "+x+" `"+D+"` is invalid; the type checker function must return `null` or an `Error` but returned a "+typeof O+". You may have forgotten to pass an argument to the type checker creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and shape all require an argument)."),O instanceof Error&&!(O.message in s)){s[O.message]=!0;var k=_?_():"";i("Failed "+x+" type: "+O.message+(k??""))}}}}return u.resetWarningCache=function(){n.NODE_ENV!=="production"&&(s={})},Vt=u,Vt}var Ut,Or;function Mn(){if(Or)return Ut;Or=1;var n={},i=xr(),o=zn(),s=Yt(),c=Cr(),u=kn(),w=function(){};n.NODE_ENV!=="production"&&(w=function(x){var b="Warning: "+x;typeof console<"u"&&console.error(b);try{throw new Error(b)}catch{}});function E(){return null}return Ut=function(x,b){var _=typeof Symbol=="function"&&Symbol.iterator,D="@@iterator";function O(M){var L=M&&(_&&M[_]||M[D]);if(typeof L=="function")return L}var N="<<anonymous>>",k={array:e("array"),bigint:e("bigint"),bool:e("boolean"),func:e("function"),number:e("number"),object:e("object"),string:e("string"),symbol:e("symbol"),any:a(),arrayOf:f,element:l(),elementType:j(),instanceOf:v,node:H(),objectOf:T,oneOf:R,oneOfType:I,shape:U,exact:K};function g(M,L){return M===L?M!==0||1/M===1/L:M!==M&&L!==L}function d(M,L){this.message=M,this.data=L&&typeof L=="object"?L:{},this.stack=""}d.prototype=Error.prototype;function r(M){if(n.NODE_ENV!=="production")var L={},le=0;function ie(he,ue,A,Y,ee,J,ae){if(Y=Y||N,J=J||A,ae!==s){if(b){var W=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use `PropTypes.checkPropTypes()` to call them. Read more at http://fb.me/use-check-prop-types");throw W.name="Invariant Violation",W}else if(n.NODE_ENV!=="production"&&typeof console<"u"){var ye=Y+":"+A;!L[ye]&&le<3&&(w("You are manually calling a React.PropTypes validation function for the `"+J+"` prop on `"+Y+"`. This is deprecated and will throw in the standalone `prop-types` package. You may be seeing this warning due to a third-party PropTypes library. See https://fb.me/react-warning-dont-call-proptypes for details."),L[ye]=!0,le++)}}return ue[A]==null?he?ue[A]===null?new d("The "+ee+" `"+J+"` is marked as required "+("in `"+Y+"`, but its value is `null`.")):new d("The "+ee+" `"+J+"` is marked as required in "+("`"+Y+"`, but its value is `undefined`.")):null:M(ue,A,Y,ee,J)}var ce=ie.bind(null,!1);return ce.isRequired=ie.bind(null,!0),ce}function e(M){function L(le,ie,ce,he,ue,A){var Y=le[ie],ee=Z(Y);if(ee!==M){var J=ne(Y);return new d("Invalid "+he+" `"+ue+"` of type "+("`"+J+"` supplied to `"+ce+"`, expected ")+("`"+M+"`."),{expectedType:M})}return null}return r(L)}function a(){return r(E)}function f(M){function L(le,ie,ce,he,ue){if(typeof M!="function")return new d("Property `"+ue+"` of component `"+ce+"` has invalid PropType notation inside arrayOf.");var A=le[ie];if(!Array.isArray(A)){var Y=Z(A);return new d("Invalid "+he+" `"+ue+"` of type "+("`"+Y+"` supplied to `"+ce+"`, expected an array."))}for(var ee=0;ee<A.length;ee++){var J=M(A,ee,ce,he,ue+"["+ee+"]",s);if(J instanceof Error)return J}return null}return r(L)}function l(){function M(L,le,ie,ce,he){var ue=L[le];if(!x(ue)){var A=Z(ue);return new d("Invalid "+ce+" `"+he+"` of type "+("`"+A+"` supplied to `"+ie+"`, expected a single ReactElement."))}return null}return r(M)}function j(){function M(L,le,ie,ce,he){var ue=L[le];if(!i.isValidElementType(ue)){var A=Z(ue);return new d("Invalid "+ce+" `"+he+"` of type "+("`"+A+"` supplied to `"+ie+"`, expected a single ReactElement type."))}return null}return r(M)}function v(M){function L(le,ie,ce,he,ue){if(!(le[ie]instanceof M)){var A=M.name||N,Y=pe(le[ie]);return new d("Invalid "+he+" `"+ue+"` of type "+("`"+Y+"` supplied to `"+ce+"`, expected ")+("instance of `"+A+"`."))}return null}return r(L)}function R(M){if(!Array.isArray(M))return n.NODE_ENV!=="production"&&(arguments.length>1?w("Invalid arguments supplied to oneOf, expected an array, got "+arguments.length+" arguments. A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z])."):w("Invalid argument supplied to oneOf, expected an array.")),E;function L(le,ie,ce,he,ue){for(var A=le[ie],Y=0;Y<M.length;Y++)if(g(A,M[Y]))return null;var ee=JSON.stringify(M,function(ae,W){var ye=ne(W);return ye==="symbol"?String(W):W});return new d("Invalid "+he+" `"+ue+"` of value `"+String(A)+"` "+("supplied to `"+ce+"`, expected one of "+ee+"."))}return r(L)}function T(M){function L(le,ie,ce,he,ue){if(typeof M!="function")return new d("Property `"+ue+"` of component `"+ce+"` has invalid PropType notation inside objectOf.");var A=le[ie],Y=Z(A);if(Y!=="object")return new d("Invalid "+he+" `"+ue+"` of type "+("`"+Y+"` supplied to `"+ce+"`, expected an object."));for(var ee in A)if(c(A,ee)){var J=M(A,ee,ce,he,ue+"."+ee,s);if(J instanceof Error)return J}return null}return r(L)}function I(M){if(!Array.isArray(M))return n.NODE_ENV!=="production"&&w("Invalid argument supplied to oneOfType, expected an instance of array."),E;for(var L=0;L<M.length;L++){var le=M[L];if(typeof le!="function")return w("Invalid argument supplied to oneOfType. Expected an array of check functions, but received "+ge(le)+" at index "+L+"."),E}function ie(ce,he,ue,A,Y){for(var ee=[],J=0;J<M.length;J++){var ae=M[J],W=ae(ce,he,ue,A,Y,s);if(W==null)return null;W.data&&c(W.data,"expectedType")&&ee.push(W.data.expectedType)}var ye=ee.length>0?", expected one of type ["+ee.join(", ")+"]":"";return new d("Invalid "+A+" `"+Y+"` supplied to "+("`"+ue+"`"+ye+"."))}return r(ie)}function H(){function M(L,le,ie,ce,he){return $(L[le])?null:new d("Invalid "+ce+" `"+he+"` supplied to "+("`"+ie+"`, expected a ReactNode."))}return r(M)}function V(M,L,le,ie,ce){return new d((M||"React class")+": "+L+" type `"+le+"."+ie+"` is invalid; it must be a function, usually from the `prop-types` package, but received `"+ce+"`.")}function U(M){function L(le,ie,ce,he,ue){var A=le[ie],Y=Z(A);if(Y!=="object")return new d("Invalid "+he+" `"+ue+"` of type `"+Y+"` "+("supplied to `"+ce+"`, expected `object`."));for(var ee in M){var J=M[ee];if(typeof J!="function")return V(ce,he,ue,ee,ne(J));var ae=J(A,ee,ce,he,ue+"."+ee,s);if(ae)return ae}return null}return r(L)}function K(M){function L(le,ie,ce,he,ue){var A=le[ie],Y=Z(A);if(Y!=="object")return new d("Invalid "+he+" `"+ue+"` of type `"+Y+"` "+("supplied to `"+ce+"`, expected `object`."));var ee=o({},le[ie],M);for(var J in ee){var ae=M[J];if(c(M,J)&&typeof ae!="function")return V(ce,he,ue,J,ne(ae));if(!ae)return new d("Invalid "+he+" `"+ue+"` key `"+J+"` supplied to `"+ce+"`.\nBad object: "+JSON.stringify(le[ie],null," ")+`
|
|
49
|
+
Valid keys: `+JSON.stringify(Object.keys(M),null," "));var W=ae(A,J,ce,he,ue+"."+J,s);if(W)return W}return null}return r(L)}function $(M){switch(typeof M){case"number":case"string":case"undefined":return!0;case"boolean":return!M;case"object":if(Array.isArray(M))return M.every($);if(M===null||x(M))return!0;var L=O(M);if(L){var le=L.call(M),ie;if(L!==M.entries){for(;!(ie=le.next()).done;)if(!$(ie.value))return!1}else for(;!(ie=le.next()).done;){var ce=ie.value;if(ce&&!$(ce[1]))return!1}}else return!1;return!0;default:return!1}}function Q(M,L){return M==="symbol"?!0:L?L["@@toStringTag"]==="Symbol"||typeof Symbol=="function"&&L instanceof Symbol:!1}function Z(M){var L=typeof M;return Array.isArray(M)?"array":M instanceof RegExp?"object":Q(L,M)?"symbol":L}function ne(M){if(typeof M>"u"||M===null)return""+M;var L=Z(M);if(L==="object"){if(M instanceof Date)return"date";if(M instanceof RegExp)return"regexp"}return L}function ge(M){var L=ne(M);switch(L){case"array":case"object":return"an "+L;case"boolean":case"date":case"regexp":return"a "+L;default:return L}}function pe(M){return!M.constructor||!M.constructor.name?N:M.constructor.name}return k.checkPropTypes=u,k.resetWarningCache=u.resetWarningCache,k.PropTypes=k,k},Ut}var $t,_r;function In(){if(_r)return $t;_r=1;var n=Yt();function i(){}function o(){}return o.resetWarningCache=i,$t=function(){function s(w,E,x,b,_,D){if(D!==n){var O=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw O.name="Invariant Violation",O}}s.isRequired=s;function c(){return s}var u={array:s,bigint:s,bool:s,func:s,number:s,object:s,string:s,symbol:s,any:s,arrayOf:c,element:s,elementType:s,instanceOf:c,node:s,objectOf:c,oneOf:c,oneOfType:c,shape:c,exact:c,checkPropTypes:o,resetWarningCache:i};return u.PropTypes=u,u},$t}var Er;function Ue(){if(Er)return Et.exports;Er=1;var n={};if(n.NODE_ENV!=="production"){var i=xr(),o=!0;Et.exports=Mn()(i.isElement,o)}else Et.exports=In()();return Et.exports}var dt={exports:{}},Xt,Pr;function An(){if(Pr)return Xt;Pr=1;var n={},i=Object.create,o=Object.defineProperty,s=Object.getOwnPropertyDescriptor,c=Object.getOwnPropertyNames,u=Object.getPrototypeOf,w=Object.prototype.hasOwnProperty,E=(p,S)=>{for(var z in S)o(p,z,{get:S[z],enumerable:!0})},x=(p,S,z,F)=>{if(S&&typeof S=="object"||typeof S=="function")for(let G of c(S))!w.call(p,G)&&G!==z&&o(p,G,{get:()=>S[G],enumerable:!(F=s(S,G))||F.enumerable});return p},b=(p,S,z)=>(z=p!=null?i(u(p)):{},x(!p||!p.__esModule?o(z,"default",{value:p,enumerable:!0}):z,p)),_=p=>x(o({},"__esModule",{value:!0}),p),D={};E(D,{DraggableCore:()=>me,default:()=>Ce}),Xt=_(D);var O=b(oe),N=b(Ue()),k=b(It),g=_t();function d(p,S){for(let z=0,F=p.length;z<F;z++)if(S.apply(S,[p[z],z,p]))return p[z]}function r(p){return typeof p=="function"||Object.prototype.toString.call(p)==="[object Function]"}function e(p){return typeof p=="number"&&!isNaN(p)}function a(p){return parseInt(p,10)}function f(p,S,z){if(p[S])return new Error(`Invalid prop ${S} passed to ${z} - do not set this, set it on the child.`)}var l=["Moz","Webkit","O","ms"];function j(p="transform"){var S,z;if(typeof window>"u")return"";const F=(z=(S=window.document)==null?void 0:S.documentElement)==null?void 0:z.style;if(!F||p in F)return"";for(let G=0;G<l.length;G++)if(v(p,l[G])in F)return l[G];return""}function v(p,S){return S?`${S}${R(p)}`:p}function R(p){let S="",z=!0;for(let F=0;F<p.length;F++)z?(S+=p[F].toUpperCase(),z=!1):p[F]==="-"?z=!0:S+=p[F];return S}var T=j(),I="";function H(p,S){var z;I||(I=(z=d(["matches","webkitMatchesSelector","mozMatchesSelector","msMatchesSelector","oMatchesSelector"],function(G){return r(p[G])}))!=null?z:"");const F=p[I];return r(F)?!!F.call(p,S):!1}function V(p,S,z){let F=p;do{if(H(F,S))return!0;if(F===z)return!1;F=F.parentNode}while(F);return!1}function U(p,S,z,F){if(!p)return;const G={capture:!0,...F},_e=z;p.addEventListener?p.addEventListener(S,_e,G):p.attachEvent?p.attachEvent("on"+S,_e):p["on"+S]=_e}function K(p,S,z,F){if(!p)return;const G={capture:!0,...F},_e=z;p.removeEventListener?p.removeEventListener(S,_e,G):p.detachEvent?p.detachEvent("on"+S,_e):p["on"+S]=null}function $(p){let S=p.clientHeight;const z=p.ownerDocument.defaultView.getComputedStyle(p);return S+=a(z.borderTopWidth),S+=a(z.borderBottomWidth),S}function Q(p){let S=p.clientWidth;const z=p.ownerDocument.defaultView.getComputedStyle(p);return S+=a(z.borderLeftWidth),S+=a(z.borderRightWidth),S}function Z(p){let S=p.clientHeight;const z=p.ownerDocument.defaultView.getComputedStyle(p);return S-=a(z.paddingTop),S-=a(z.paddingBottom),S}function ne(p){let S=p.clientWidth;const z=p.ownerDocument.defaultView.getComputedStyle(p);return S-=a(z.paddingLeft),S-=a(z.paddingRight),S}function ge(p,S,z){const G=S===S.ownerDocument.body?{left:0,top:0}:S.getBoundingClientRect(),_e=(p.clientX+S.scrollLeft-G.left)/z,ve=(p.clientY+S.scrollTop-G.top)/z;return{x:_e,y:ve}}function pe(p,S){const z=L(p,S,"px");return{[v("transform",T)]:z}}function M(p,S){return L(p,S,"")}function L({x:p,y:S},z,F){let G=`translate(${p}${F},${S}${F})`;if(z){const _e=`${typeof z.x=="string"?z.x:z.x+F}`,ve=`${typeof z.y=="string"?z.y:z.y+F}`;G=`translate(${_e}, ${ve})`+G}return G}function le(p,S){return p.targetTouches&&d(p.targetTouches,z=>S===z.identifier)||p.changedTouches&&d(p.changedTouches,z=>S===z.identifier)}function ie(p){if(p.targetTouches&&p.targetTouches[0])return p.targetTouches[0].identifier;if(p.changedTouches&&p.changedTouches[0])return p.changedTouches[0].identifier}function ce(p){if(!p)return;let S=p.getElementById("react-draggable-style-el");S||(S=p.createElement("style"),S.type="text/css",S.id="react-draggable-style-el",S.innerHTML=`.react-draggable-transparent-selection *::-moz-selection {all: inherit;}
|
|
50
50
|
`,S.innerHTML+=`.react-draggable-transparent-selection *::selection {all: inherit;}
|
|
51
|
-
`,p.getElementsByTagName("head")[0].appendChild(S)),p.body&&A(p.body,"react-draggable-transparent-selection")}function fe(p){window.requestAnimationFrame?window.requestAnimationFrame(()=>{ue(p)}):ue(p)}function ue(p){if(p)try{p.body&&U(p.body,"react-draggable-transparent-selection");const S=p.selection;if(S)S.empty();else{const z=(p.defaultView||window).getSelection();z&&z.type!=="Caret"&&z.removeAllRanges()}}catch{}}function A(p,S){p.classList?p.classList.add(S):p.className.match(new RegExp(`(?:^|\\s)${S}(?!\\S)`))||(p.className+=` ${S}`)}function U(p,S){p.classList?p.classList.remove(S):p.className=p.className.replace(new RegExp(`(?:^|\\s)${S}(?!\\S)`,"g"),"")}function ee(p,S,z){if(!p.props.bounds)return[S,z];let{bounds:Y}=p.props;Y=typeof Y=="string"?Y:Le(Y);const $=g(p);if(typeof Y=="string"){const{ownerDocument:Ee}=$,me=Ee.defaultView;if(!me)throw new Error("Cannot resolve the owner window of the draggable node.");let Te;if(Y==="parent"?Te=$.parentNode:Te=$.getRootNode().querySelector(Y),!(Te instanceof me.HTMLElement))throw new Error('Bounds selector "'+Y+'" could not find an element.');const Me=Te,Ge=me.getComputedStyle($),$e=me.getComputedStyle(Me);Y={left:-$.offsetLeft+s($e.paddingLeft)+s(Ge.marginLeft),top:-$.offsetTop+s($e.paddingTop)+s(Ge.marginTop),right:re(Me)-J($)-$.offsetLeft+s($e.paddingRight)-s(Ge.marginRight),bottom:K(Me)-V($)-$.offsetTop+s($e.paddingBottom)-s(Ge.marginBottom)}}return t(Y.right)&&(S=Math.min(S,Y.right)),t(Y.bottom)&&(z=Math.min(z,Y.bottom)),t(Y.left)&&(S=Math.max(S,Y.left)),t(Y.top)&&(z=Math.max(z,Y.top)),[S,z]}function Z(p,S,z){const Y=Math.round(S/p[0])*p[0],$=Math.round(z/p[1])*p[1];return[Y,$]}function ce(p){return p.props.axis==="both"||p.props.axis==="x"}function B(p){return p.props.axis==="both"||p.props.axis==="y"}function he(p,S,z){const Y=typeof S=="number"?ie(p,S):null;if(typeof S=="number"&&!Y)return null;const $=g(z),Ee=z.props.offsetParent||$.offsetParent||$.ownerDocument.body;return be(Y||p,Ee,z.props.scale)}function ke(p,S,z){const Y=!t(p.lastX),$=g(p);return Y?{node:$,deltaX:0,deltaY:0,lastX:S,lastY:z,x:S,y:z}:{node:$,deltaX:S-p.lastX,deltaY:z-p.lastY,lastX:p.lastX,lastY:p.lastY,x:S,y:z}}function we(p,S){const z=p.props.scale;return{node:S.node,x:p.state.x+S.deltaX/z,y:p.state.y+S.deltaY/z,deltaX:S.deltaX/z,deltaY:S.deltaY/z,lastX:p.state.x,lastY:p.state.y}}function Le(p){return{left:p.left,top:p.top,right:p.right,bottom:p.bottom}}function g(p){const S=p.findDOMNode();if(!S)throw new Error("<DraggableCore>: Unmounted during event!");return S}var m=v(se),j=v(Ue()),q=v(It);function ne(...p){n.DRAGGABLE_DEBUG&&console.log(...p)}var Q={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}},le=Q.mouse,ye=class extends m.Component{constructor(){super(...arguments),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,this.touchIdentifier=null,this.mounted=!1,this.handleDragStart=p=>{if(this.props.onMouseDown(p),!this.props.allowAnyClick&&(typeof p.button=="number"&&p.button!==0||p.ctrlKey))return!1;const S=this.findDOMNode();if(!S||!S.ownerDocument||!S.ownerDocument.body)throw new Error("<DraggableCore> not mounted on DragStart!");const{ownerDocument:z}=S;if(this.props.disabled||!(p.target instanceof z.defaultView.Node)||this.props.handle&&!N(p.target,this.props.handle,S)||this.props.cancel&&N(p.target,this.props.cancel,S))return;p.type==="touchstart"&&!this.props.allowMobileScroll&&p.preventDefault();const Y=oe(p);this.touchIdentifier=Y;const $=he(p,Y,this);if($==null)return;const{x:Ee,y:me}=$,Te=ke(this,Ee,me);ne("DraggableCore: handleDragStart: %j",Te),ne("calling",this.props.onStart),!(this.props.onStart(p,Te)===!1||this.mounted===!1)&&(this.props.enableUserSelectHack&&ae(z),this.dragging=!0,this.lastX=Ee,this.lastY=me,G(z,le.move,this.handleDrag),G(z,le.stop,this.handleDragStop))},this.handleDrag=p=>{const S=he(p,this.touchIdentifier,this);if(S==null)return;let{x:z,y:Y}=S;if(Array.isArray(this.props.grid)){let me=z-this.lastX,Te=Y-this.lastY;if([me,Te]=Z(this.props.grid,me,Te),!me&&!Te)return;z=this.lastX+me,Y=this.lastY+Te}const $=ke(this,z,Y);if(ne("DraggableCore: handleDrag: %j",$),this.props.onDrag(p,$)===!1||this.mounted===!1){try{this.handleDragStop(new MouseEvent("mouseup"))}catch{const me=document.createEvent("MouseEvents");me.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(me)}return}this.lastX=z,this.lastY=Y},this.handleDragStop=p=>{if(!this.dragging)return;const S=he(p,this.touchIdentifier,this);if(S==null)return;let{x:z,y:Y}=S;if(Array.isArray(this.props.grid)){let Te=z-this.lastX||0,Me=Y-this.lastY||0;[Te,Me]=Z(this.props.grid,Te,Me),z=this.lastX+Te,Y=this.lastY+Me}const $=ke(this,z,Y);if(this.props.onStop(p,$)===!1||this.mounted===!1)return!1;const me=this.findDOMNode();me&&this.props.enableUserSelectHack&&fe(me.ownerDocument),ne("DraggableCore: handleDragStop: %j",$),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,me&&(ne("DraggableCore: Removing handlers"),X(me.ownerDocument,le.move,this.handleDrag),X(me.ownerDocument,le.stop,this.handleDragStop))},this.onMouseDown=p=>(le=Q.mouse,this.handleDragStart(p)),this.onMouseUp=p=>(le=Q.mouse,this.handleDragStop(p)),this.onTouchStart=p=>(le=Q.touch,this.handleDragStart(p)),this.onTouchEnd=p=>(le=Q.touch,this.handleDragStop(p))}componentDidMount(){this.mounted=!0;const p=this.findDOMNode();p&&G(p,Q.touch.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const p=this.findDOMNode();if(p){const{ownerDocument:S}=p;X(S,Q.mouse.move,this.handleDrag),X(S,Q.touch.move,this.handleDrag),X(S,Q.mouse.stop,this.handleDragStop),X(S,Q.touch.stop,this.handleDragStop),X(p,Q.touch.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&fe(S)}}findDOMNode(){var p;if((p=this.props)!=null&&p.nodeRef)return this.props.nodeRef.current;const S=q.default;return typeof S.findDOMNode=="function"?S.findDOMNode(this):(ne("react-draggable: ReactDOM.findDOMNode is not available in React 19+. You must provide a nodeRef prop. See: https://github.com/react-grid-layout/react-draggable#noderef"),null)}render(){return m.cloneElement(m.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}};ye.displayName="DraggableCore",ye.propTypes={allowAnyClick:j.default.bool,allowMobileScroll:j.default.bool,children:j.default.node.isRequired,disabled:j.default.bool,enableUserSelectHack:j.default.bool,offsetParent:function(p,S){if(p[S]&&p[S].nodeType!==1)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:j.default.arrayOf(j.default.number),handle:j.default.string,cancel:j.default.string,nodeRef:j.default.object,onStart:j.default.func,onDrag:j.default.func,onStop:j.default.func,onMouseDown:j.default.func,scale:j.default.number,className:f,style:f,transform:f},ye.defaultProps={allowAnyClick:!1,allowMobileScroll:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1};var Ce=class extends C.Component{constructor(p){super(p),this.onDragStart=(S,z)=>{if(ne("Draggable: onDragStart: %j",z),this.props.onStart(S,we(this,z))===!1)return!1;this.setState({dragging:!0,dragged:!0})},this.onDrag=(S,z)=>{if(!this.state.dragging)return!1;ne("Draggable: onDrag: %j",z);const Y=we(this,z),$={x:Y.x,y:Y.y,slackX:0,slackY:0};if(this.props.bounds){const{x:me,y:Te}=$;$.x+=this.state.slackX,$.y+=this.state.slackY;const[Me,Ge]=ee(this,$.x,$.y);$.x=Me,$.y=Ge,$.slackX=this.state.slackX+(me-$.x),$.slackY=this.state.slackY+(Te-$.y),Y.x=$.x,Y.y=$.y,Y.deltaX=$.x-this.state.x,Y.deltaY=$.y-this.state.y}if(this.props.onDrag(S,Y)===!1)return!1;this.setState($)},this.onDragStop=(S,z)=>{if(!this.state.dragging||this.props.onStop(S,we(this,z))===!1)return!1;ne("Draggable: onDragStop: %j",z);const $={dragging:!1,slackX:0,slackY:0};if(!!this.props.position){const{x:me,y:Te}=this.props.position;$.x=me,$.y=Te}this.setState($)},this.state={dragging:!1,dragged:!1,x:p.position?p.position.x:p.defaultPosition.x,y:p.position?p.position.y:p.defaultPosition.y,prevPropsPosition:{...p.position},slackX:0,slackY:0,isElementSVG:!1},p.position&&!(p.onDrag||p.onStop)&&console.warn("A `position` was applied to this <Draggable>, without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}static getDerivedStateFromProps({position:p},{prevPropsPosition:S}){return p&&(!S||p.x!==S.x||p.y!==S.y)?(ne("Draggable: getDerivedStateFromProps %j",{position:p,prevPropsPosition:S}),{x:p.x,y:p.y,prevPropsPosition:{...p}}):null}componentDidMount(){typeof window.SVGElement<"u"&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.state.dragging&&this.setState({dragging:!1})}findDOMNode(){var p;if((p=this.props)!=null&&p.nodeRef)return this.props.nodeRef.current;const S=k.default;return typeof S.findDOMNode=="function"?S.findDOMNode(this):null}render(){const{axis:p,bounds:S,children:z,defaultPosition:Y,defaultClassName:$,defaultClassNameDragging:Ee,defaultClassNameDragged:me,position:Te,positionOffset:Me,scale:Ge,...$e}=this.props;let mt={},et=null;const Ve=!!!Te||this.state.dragging,tt=Te||Y,rt={x:ce(this)&&Ve?this.state.x:tt.x,y:B(this)&&Ve?this.state.y:tt.y};this.state.isElementSVG?et=I(rt,Me):mt=ge(rt,Me);const nt=C.Children.only(z),tr=(0,y.clsx)(nt.props.className||"",$,{[Ee]:this.state.dragging,[me]:this.state.dragged});return C.createElement(ye,{...$e,onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop},C.cloneElement(nt,{className:tr,style:{...nt.props.style,...mt},transform:et}))}};return Ce.displayName="Draggable",Ce.propTypes={...ye.propTypes,axis:L.default.oneOf(["both","x","y","none"]),bounds:L.default.oneOfType([L.default.shape({left:L.default.number,right:L.default.number,top:L.default.number,bottom:L.default.number}),L.default.string,L.default.oneOf([!1])]),defaultClassName:L.default.string,defaultClassNameDragging:L.default.string,defaultClassNameDragged:L.default.string,defaultPosition:L.default.shape({x:L.default.number,y:L.default.number}),positionOffset:L.default.shape({x:L.default.oneOfType([L.default.number,L.default.string]),y:L.default.oneOfType([L.default.number,L.default.string])}),position:L.default.shape({x:L.default.number,y:L.default.number}),className:f,style:f,transform:f},Ce.defaultProps={...ye.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1},Xt}var Dr;function Jt(){if(Dr)return dt.exports;Dr=1;const n=An(),i=n.DraggableCore,o=n.default||n;return dt.exports=o,dt.exports.default=o,dt.exports.DraggableCore=i,dt.exports}var ft={exports:{}},pt={},Dt={},Tr;function Ln(){if(Tr)return Dt;Tr=1,Dt.__esModule=!0,Dt.cloneElement=_;var n=i(se);function i(b){return b&&b.__esModule?b:{default:b}}function o(b,v){var R=Object.keys(b);if(Object.getOwnPropertySymbols){var P=Object.getOwnPropertySymbols(b);v&&(P=P.filter(function(C){return Object.getOwnPropertyDescriptor(b,C).enumerable})),R.push.apply(R,P)}return R}function a(b){for(var v=1;v<arguments.length;v++){var R=arguments[v]!=null?arguments[v]:{};v%2?o(Object(R),!0).forEach(function(P){c(b,P,R[P])}):Object.getOwnPropertyDescriptors?Object.defineProperties(b,Object.getOwnPropertyDescriptors(R)):o(Object(R)).forEach(function(P){Object.defineProperty(b,P,Object.getOwnPropertyDescriptor(R,P))})}return b}function c(b,v,R){return(v=u(v))in b?Object.defineProperty(b,v,{value:R,enumerable:!0,configurable:!0,writable:!0}):b[v]=R,b}function u(b){var v=x(b,"string");return typeof v=="symbol"?v:v+""}function x(b,v){if(typeof b!="object"||!b)return b;var R=b[Symbol.toPrimitive];if(R!==void 0){var P=R.call(b,v);if(typeof P!="object")return P;throw new TypeError("@@toPrimitive must return a primitive value.")}return(v==="string"?String:Number)(b)}function _(b,v){return v.style&&b.props.style&&(v.style=a(a({},b.props.style),v.style)),v.className&&b.props.className&&(v.className=b.props.className+" "+v.className),n.default.cloneElement(b,v)}return Dt}var ht={},zr;function kr(){if(zr)return ht;zr=1,ht.__esModule=!0,ht.resizableProps=void 0;var n=i(Ue());Jt();function i(o){return o&&o.__esModule?o:{default:o}}return ht.resizableProps={axis:n.default.oneOf(["both","x","y","none"]),className:n.default.string,children:n.default.element.isRequired,draggableOpts:n.default.shape({allowAnyClick:n.default.bool,cancel:n.default.string,children:n.default.node,disabled:n.default.bool,enableUserSelectHack:n.default.bool,offsetParent:typeof Element<"u"?n.default.instanceOf(Element):n.default.any,grid:n.default.arrayOf(n.default.number),handle:n.default.string,nodeRef:n.default.object,onStart:n.default.func,onDrag:n.default.func,onStop:n.default.func,onMouseDown:n.default.func,scale:n.default.number}),height:function(){for(var o=arguments.length,a=new Array(o),c=0;c<o;c++)a[c]=arguments[c];const u=a[0];return u.axis==="both"||u.axis==="y"?n.default.number.isRequired(...a):n.default.number(...a)},handle:n.default.oneOfType([n.default.node,n.default.func]),handleSize:n.default.arrayOf(n.default.number),lockAspectRatio:n.default.bool,maxConstraints:n.default.arrayOf(n.default.number),minConstraints:n.default.arrayOf(n.default.number),onResizeStop:n.default.func,onResizeStart:n.default.func,onResize:n.default.func,resizeHandles:n.default.arrayOf(n.default.oneOf(["s","w","e","n","sw","nw","se","ne"])),transformScale:n.default.number,width:function(){for(var o=arguments.length,a=new Array(o),c=0;c<o;c++)a[c]=arguments[c];const u=a[0];return u.axis==="both"||u.axis==="x"?n.default.number.isRequired(...a):n.default.number(...a)}},ht}var Mr;function Ir(){if(Mr)return pt;Mr=1,pt.__esModule=!0,pt.default=void 0;var n=u(se),i=Jt(),o=Ln(),a=kr();const c=["children","className","draggableOpts","width","height","handle","handleSize","lockAspectRatio","axis","minConstraints","maxConstraints","onResize","onResizeStop","onResizeStart","resizeHandles","transformScale"];function u(k,y){if(typeof WeakMap=="function")var d=new WeakMap,r=new WeakMap;return(u=function(t,s){if(!s&&t&&t.__esModule)return t;var f,l,w={__proto__:null,default:t};if(t===null||typeof t!="object"&&typeof t!="function")return w;if(f=s?r:d){if(f.has(t))return f.get(t);f.set(t,w)}for(const O in t)O!=="default"&&{}.hasOwnProperty.call(t,O)&&((l=(f=Object.defineProperty)&&Object.getOwnPropertyDescriptor(t,O))&&(l.get||l.set)?f(w,O,l):w[O]=t[O]);return w})(k,y)}function x(){return x=Object.assign?Object.assign.bind():function(k){for(var y=1;y<arguments.length;y++){var d=arguments[y];for(var r in d)({}).hasOwnProperty.call(d,r)&&(k[r]=d[r])}return k},x.apply(null,arguments)}function _(k,y){if(k==null)return{};var d={};for(var r in k)if({}.hasOwnProperty.call(k,r)){if(y.indexOf(r)!==-1)continue;d[r]=k[r]}return d}function b(k,y){var d=Object.keys(k);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(k);y&&(r=r.filter(function(t){return Object.getOwnPropertyDescriptor(k,t).enumerable})),d.push.apply(d,r)}return d}function v(k){for(var y=1;y<arguments.length;y++){var d=arguments[y]!=null?arguments[y]:{};y%2?b(Object(d),!0).forEach(function(r){R(k,r,d[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(k,Object.getOwnPropertyDescriptors(d)):b(Object(d)).forEach(function(r){Object.defineProperty(k,r,Object.getOwnPropertyDescriptor(d,r))})}return k}function R(k,y,d){return(y=P(y))in k?Object.defineProperty(k,y,{value:d,enumerable:!0,configurable:!0,writable:!0}):k[y]=d,k}function P(k){var y=C(k,"string");return typeof y=="symbol"?y:y+""}function C(k,y){if(typeof k!="object"||!k)return k;var d=k[Symbol.toPrimitive];if(d!==void 0){var r=d.call(k,y);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(y==="string"?String:Number)(k)}let L=class extends n.Component{constructor(){super(...arguments),this.handleRefs={},this.lastHandleRect=null,this.slack=null,this.lastSize=null}componentWillUnmount(){this.resetData()}resetData(){this.lastHandleRect=this.slack=this.lastSize=null}runConstraints(y,d){const r=this.props,t=r.minConstraints,s=r.maxConstraints,f=r.lockAspectRatio;if(!t&&!s&&!f)return[y,d];if(f){const H=this.props.width/this.props.height,T=y-this.props.width,N=d-this.props.height;Math.abs(T)>Math.abs(N*H)?d=y/H:y=d*H}const l=y,w=d;let O=this.slack||[0,0],D=O[0],M=O[1];return y+=D,d+=M,t&&(y=Math.max(t[0],y),d=Math.max(t[1],d)),s&&(y=Math.min(s[0],y),d=Math.min(s[1],d)),this.slack=[D+(l-y),M+(w-d)],[y,d]}resizeHandler(y,d){return(r,t)=>{var s,f,l,w;let O=t.node,D=t.deltaX,M=t.deltaY;y==="onResizeStart"&&this.resetData();const H=(this.props.axis==="both"||this.props.axis==="x")&&d!=="n"&&d!=="s",T=(this.props.axis==="both"||this.props.axis==="y")&&d!=="e"&&d!=="w";if(!H&&!T)return;const N=d[0],G=d[d.length-1],X=O.getBoundingClientRect();if(this.lastHandleRect!=null){if(G==="w"){const oe=X.left-this.lastHandleRect.left;D+=oe}if(N==="n"){const oe=X.top-this.lastHandleRect.top;M+=oe}}this.lastHandleRect=X,G==="w"&&(D=-D),N==="n"&&(M=-M);const V=(s=(f=this.lastSize)==null?void 0:f.width)!=null?s:this.props.width,J=(l=(w=this.lastSize)==null?void 0:w.height)!=null?l:this.props.height;let K=V+(H?D/this.props.transformScale:0),re=J+(T?M/this.props.transformScale:0);var be=this.runConstraints(K,re);if(K=be[0],re=be[1],y==="onResizeStop"&&this.lastSize){var ge=this.lastSize;K=ge.width,re=ge.height}const I=K!==V||re!==J;y!=="onResizeStop"&&(this.lastSize={width:K,height:re});const W=typeof this.props[y]=="function"?this.props[y]:null;W&&!(y==="onResize"&&!I)&&(r.persist==null||r.persist(),W(r,{node:O,size:{width:K,height:re},handle:d})),y==="onResizeStop"&&this.resetData()}}renderResizeHandle(y,d){const r=this.props.handle;if(!r)return n.createElement("span",{className:"react-resizable-handle react-resizable-handle-"+y,ref:d});if(typeof r=="function")return r(y,d);const t=typeof r.type=="string",s=v({ref:d},t?{}:{handleAxis:y});return n.cloneElement(r,s)}render(){const y=this.props,d=y.children,r=y.className,t=y.draggableOpts;y.width,y.height,y.handle,y.handleSize,y.lockAspectRatio,y.axis,y.minConstraints,y.maxConstraints,y.onResize,y.onResizeStop,y.onResizeStart;const s=y.resizeHandles;y.transformScale;const f=_(y,c);return(0,o.cloneElement)(d,v(v({},f),{},{className:(r?r+" ":"")+"react-resizable",children:[...n.Children.toArray(d.props.children),...s.map(l=>{var w;const O=(w=this.handleRefs[l])!=null?w:this.handleRefs[l]=n.createRef();return n.createElement(i.DraggableCore,x({},t,{nodeRef:O,key:"resizableHandle-"+l,onStop:this.resizeHandler("onResizeStop",l),onStart:this.resizeHandler("onResizeStart",l),onDrag:this.resizeHandler("onResize",l)}),this.renderResizeHandle(l,O))})]}))}};return pt.default=L,L.propTypes=a.resizableProps,L.defaultProps={axis:"both",handleSize:[20,20],lockAspectRatio:!1,minConstraints:[20,20],maxConstraints:[1/0,1/0],resizeHandles:["se"],transformScale:1},pt}var gt={},Ar;function Nn(){if(Ar)return gt;Ar=1,gt.__esModule=!0,gt.default=void 0;var n=x(se),i=u(Ue()),o=u(Ir()),a=kr();const c=["handle","handleSize","onResize","onResizeStart","onResizeStop","draggableOpts","minConstraints","maxConstraints","lockAspectRatio","axis","width","height","resizeHandles","style","transformScale"];function u(y){return y&&y.__esModule?y:{default:y}}function x(y,d){if(typeof WeakMap=="function")var r=new WeakMap,t=new WeakMap;return(x=function(s,f){if(!f&&s&&s.__esModule)return s;var l,w,O={__proto__:null,default:s};if(s===null||typeof s!="object"&&typeof s!="function")return O;if(l=f?t:r){if(l.has(s))return l.get(s);l.set(s,O)}for(const D in s)D!=="default"&&{}.hasOwnProperty.call(s,D)&&((w=(l=Object.defineProperty)&&Object.getOwnPropertyDescriptor(s,D))&&(w.get||w.set)?l(O,D,w):O[D]=s[D]);return O})(y,d)}function _(){return _=Object.assign?Object.assign.bind():function(y){for(var d=1;d<arguments.length;d++){var r=arguments[d];for(var t in r)({}).hasOwnProperty.call(r,t)&&(y[t]=r[t])}return y},_.apply(null,arguments)}function b(y,d){var r=Object.keys(y);if(Object.getOwnPropertySymbols){var t=Object.getOwnPropertySymbols(y);d&&(t=t.filter(function(s){return Object.getOwnPropertyDescriptor(y,s).enumerable})),r.push.apply(r,t)}return r}function v(y){for(var d=1;d<arguments.length;d++){var r=arguments[d]!=null?arguments[d]:{};d%2?b(Object(r),!0).forEach(function(t){R(y,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(y,Object.getOwnPropertyDescriptors(r)):b(Object(r)).forEach(function(t){Object.defineProperty(y,t,Object.getOwnPropertyDescriptor(r,t))})}return y}function R(y,d,r){return(d=P(d))in y?Object.defineProperty(y,d,{value:r,enumerable:!0,configurable:!0,writable:!0}):y[d]=r,y}function P(y){var d=C(y,"string");return typeof d=="symbol"?d:d+""}function C(y,d){if(typeof y!="object"||!y)return y;var r=y[Symbol.toPrimitive];if(r!==void 0){var t=r.call(y,d);if(typeof t!="object")return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return(d==="string"?String:Number)(y)}function L(y,d){if(y==null)return{};var r={};for(var t in y)if({}.hasOwnProperty.call(y,t)){if(d.indexOf(t)!==-1)continue;r[t]=y[t]}return r}let k=class extends n.Component{constructor(){super(...arguments),this.state={width:this.props.width,height:this.props.height,propsWidth:this.props.width,propsHeight:this.props.height},this.onResize=(d,r)=>{const t=r.size;this.props.onResize?(d.persist==null||d.persist(),this.setState(t,()=>this.props.onResize&&this.props.onResize(d,r))):this.setState(t)}}static getDerivedStateFromProps(d,r){return r.propsWidth!==d.width||r.propsHeight!==d.height?{width:d.width,height:d.height,propsWidth:d.width,propsHeight:d.height}:null}render(){const d=this.props,r=d.handle,t=d.handleSize;d.onResize;const s=d.onResizeStart,f=d.onResizeStop,l=d.draggableOpts,w=d.minConstraints,O=d.maxConstraints,D=d.lockAspectRatio,M=d.axis;d.width,d.height;const H=d.resizeHandles,T=d.style,N=d.transformScale,G=L(d,c);return n.createElement(o.default,{axis:M,draggableOpts:l,handle:r,handleSize:t,height:this.state.height,lockAspectRatio:D,maxConstraints:O,minConstraints:w,onResizeStart:s,onResize:this.onResize,onResizeStop:f,resizeHandles:H,transformScale:N,width:this.state.width},n.createElement("div",_({},G,{style:v(v({},T),{},{width:this.state.width+"px",height:this.state.height+"px"})})))}};return gt.default=k,k.propTypes=v(v({},a.resizableProps),{},{children:i.default.element}),gt}var Lr;function Wn(){return Lr||(Lr=1,ft.exports=function(){throw new Error("Don't instantiate Resizable directly! Use require('react-resizable').Resizable")},ft.exports.Resizable=Ir().default,ft.exports.ResizableBox=Nn().default),ft.exports}var Ye={},Nr;function Wr(){if(Nr)return Ye;Nr=1;var n={};Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.resizeHandleType=Ye.resizeHandleAxesType=Ye.default=void 0;var i=a(Ue()),o=a(se);function a(x){return x&&x.__esModule?x:{default:x}}const c=Ye.resizeHandleAxesType=i.default.arrayOf(i.default.oneOf(["s","w","e","n","sw","nw","se","ne"])),u=Ye.resizeHandleType=i.default.oneOfType([i.default.node,i.default.func]);return Ye.default={className:i.default.string,style:i.default.object,width:i.default.number,autoSize:i.default.bool,cols:i.default.number,draggableCancel:i.default.string,draggableHandle:i.default.string,verticalCompact:function(x){x.verticalCompact===!1&&n.NODE_ENV!=="production"&&console.warn('`verticalCompact` on <ReactGridLayout> is deprecated and will be removed soon. Use `compactType`: "horizontal" | "vertical" | null.')},compactType:i.default.oneOf(["vertical","horizontal"]),layout:function(x){var _=x.layout;_!==void 0&&Qe().validateLayout(_,"layout")},margin:i.default.arrayOf(i.default.number),containerPadding:i.default.arrayOf(i.default.number),rowHeight:i.default.number,maxRows:i.default.number,isBounded:i.default.bool,isDraggable:i.default.bool,isResizable:i.default.bool,allowOverlap:i.default.bool,preventCollision:i.default.bool,useCSSTransforms:i.default.bool,transformScale:i.default.number,isDroppable:i.default.bool,resizeHandles:c,resizeHandle:u,onLayoutChange:i.default.func,onDragStart:i.default.func,onDrag:i.default.func,onDragStop:i.default.func,onResizeStart:i.default.func,onResize:i.default.func,onResizeStop:i.default.func,onDrop:i.default.func,droppingItem:i.default.shape({i:i.default.string.isRequired,w:i.default.number.isRequired,h:i.default.number.isRequired}),children:function(x,_){const b=x[_],v={};o.default.Children.forEach(b,function(R){if((R==null?void 0:R.key)!=null){if(v[R.key])throw new Error('Duplicate child key "'+R.key+'" found! This will cause problems in ReactGridLayout.');v[R.key]=!0}})},innerRef:i.default.any},Ye}var Hr;function Hn(){if(Hr)return ut;Hr=1,Object.defineProperty(ut,"__esModule",{value:!0}),ut.default=void 0;var n=v(se),i=It,o=v(Ue()),a=Jt(),c=Wn(),u=Qe(),x=Bt(),_=Wr(),b=v(_t());function v(d){return d&&d.__esModule?d:{default:d}}function R(d,r){var t=Object.keys(d);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(d);r&&(s=s.filter(function(f){return Object.getOwnPropertyDescriptor(d,f).enumerable})),t.push.apply(t,s)}return t}function P(d){for(var r=1;r<arguments.length;r++){var t=arguments[r]!=null?arguments[r]:{};r%2?R(Object(t),!0).forEach(function(s){C(d,s,t[s])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(t)):R(Object(t)).forEach(function(s){Object.defineProperty(d,s,Object.getOwnPropertyDescriptor(t,s))})}return d}function C(d,r,t){return(r=L(r))in d?Object.defineProperty(d,r,{value:t,enumerable:!0,configurable:!0,writable:!0}):d[r]=t,d}function L(d){var r=k(d,"string");return typeof r=="symbol"?r:r+""}function k(d,r){if(typeof d!="object"||!d)return d;var t=d[Symbol.toPrimitive];if(t!==void 0){var s=t.call(d,r);if(typeof s!="object")return s;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(d)}let y=class extends n.default.Component{constructor(){super(...arguments),C(this,"state",{resizing:null,dragging:null,className:""}),C(this,"elementRef",n.default.createRef()),C(this,"onDragStart",(r,t)=>{let{node:s}=t;const{onDragStart:f,transformScale:l}=this.props;if(!f)return;const w={top:0,left:0},{offsetParent:O}=s;if(!O)return;const D=O.getBoundingClientRect(),M=s.getBoundingClientRect(),H=M.left/l,T=D.left/l,N=M.top/l,G=D.top/l;w.left=H-T+O.scrollLeft,w.top=N-G+O.scrollTop,this.setState({dragging:w});const{x:X,y:V}=(0,x.calcXY)(this.getPositionParams(),w.top,w.left,this.props.w,this.props.h);return f.call(this,this.props.i,X,V,{e:r,node:s,newPosition:w})}),C(this,"onDrag",(r,t,s)=>{let{node:f,deltaX:l,deltaY:w}=t;const{onDrag:O}=this.props;if(!O)return;if(!this.state.dragging)throw new Error("onDrag called before onDragStart.");let D=this.state.dragging.top+w,M=this.state.dragging.left+l;const{isBounded:H,i:T,w:N,h:G,containerWidth:X}=this.props,V=this.getPositionParams();if(H){const{offsetParent:be}=f;if(be){const{margin:ge,rowHeight:I}=this.props,W=be.clientHeight-(0,x.calcGridItemWHPx)(G,I,ge[1]);D=(0,x.clamp)(D,0,W);const ie=(0,x.calcGridColWidth)(V),oe=X-(0,x.calcGridItemWHPx)(N,ie,ge[0]);M=(0,x.clamp)(M,0,oe)}}const J={top:D,left:M};s?this.setState({dragging:J}):(0,i.flushSync)(()=>{this.setState({dragging:J})});const{x:K,y:re}=(0,x.calcXY)(V,D,M,N,G);return O.call(this,T,K,re,{e:r,node:f,newPosition:J})}),C(this,"onDragStop",(r,t)=>{let{node:s}=t;const{onDragStop:f}=this.props;if(!f)return;if(!this.state.dragging)throw new Error("onDragEnd called before onDragStart.");const{w:l,h:w,i:O}=this.props,{left:D,top:M}=this.state.dragging,H={top:M,left:D};this.setState({dragging:null});const{x:T,y:N}=(0,x.calcXY)(this.getPositionParams(),M,D,l,w);return f.call(this,O,T,N,{e:r,node:s,newPosition:H})}),C(this,"onResizeStop",(r,t,s)=>this.onResizeHandler(r,t,s,"onResizeStop")),C(this,"onResizeStart",(r,t,s)=>this.onResizeHandler(r,t,s,"onResizeStart")),C(this,"onResize",(r,t,s)=>this.onResizeHandler(r,t,s,"onResize"))}shouldComponentUpdate(r,t){if(this.props.children!==r.children||this.props.droppingPosition!==r.droppingPosition)return!0;const s=(0,x.calcGridItemPosition)(this.getPositionParams(this.props),this.props.x,this.props.y,this.props.w,this.props.h,this.state),f=(0,x.calcGridItemPosition)(this.getPositionParams(r),r.x,r.y,r.w,r.h,t);return!(0,u.fastPositionEqual)(s,f)||this.props.useCSSTransforms!==r.useCSSTransforms}componentDidMount(){this.moveDroppingItem({})}componentDidUpdate(r){this.moveDroppingItem(r)}moveDroppingItem(r){const{droppingPosition:t}=this.props;if(!t)return;const s=this.elementRef.current;if(!s)return;const f=r.droppingPosition||{left:0,top:0},{dragging:l}=this.state,w=l&&t.left!==f.left||t.top!==f.top;if(!l)this.onDragStart(t.e,{node:s,deltaX:t.left,deltaY:t.top});else if(w){const O=t.left-l.left,D=t.top-l.top;this.onDrag(t.e,{node:s,deltaX:O,deltaY:D},!0)}}getPositionParams(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props;return{cols:r.cols,containerPadding:r.containerPadding,containerWidth:r.containerWidth,margin:r.margin,maxRows:r.maxRows,rowHeight:r.rowHeight}}createStyle(r){const{usePercentages:t,containerWidth:s,useCSSTransforms:f}=this.props;let l;return f?l=(0,u.setTransform)(r):(l=(0,u.setTopLeft)(r),t&&(l.left=(0,u.perc)(r.left/s),l.width=(0,u.perc)(r.width/s))),l}mixinDraggable(r,t){return n.default.createElement(a.DraggableCore,{disabled:!t,onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop,handle:this.props.handle,cancel:".react-resizable-handle"+(this.props.cancel?","+this.props.cancel:""),scale:this.props.transformScale,nodeRef:this.elementRef},r)}curryResizeHandler(r,t){return(s,f)=>t(s,f,r)}mixinResizable(r,t,s){const{cols:f,minW:l,minH:w,maxW:O,maxH:D,transformScale:M,resizeHandles:H,resizeHandle:T}=this.props,N=this.getPositionParams(),G=(0,x.calcGridItemPosition)(N,0,0,f,0).width,X=(0,x.calcGridItemPosition)(N,0,0,l,w),V=(0,x.calcGridItemPosition)(N,0,0,O,D),J=[X.width,X.height],K=[Math.min(V.width,G),Math.min(V.height,1/0)];return n.default.createElement(c.Resizable,{draggableOpts:{disabled:!s},className:s?void 0:"react-resizable-hide",width:t.width,height:t.height,minConstraints:J,maxConstraints:K,onResizeStop:this.curryResizeHandler(t,this.onResizeStop),onResizeStart:this.curryResizeHandler(t,this.onResizeStart),onResize:this.curryResizeHandler(t,this.onResize),transformScale:M,resizeHandles:H,handle:T},r)}onResizeHandler(r,t,s,f){let{node:l,size:w,handle:O}=t;const D=this.props[f];if(!D)return;const{x:M,y:H,i:T,maxH:N,minH:G,containerWidth:X}=this.props,{minW:V,maxW:J}=this.props;let K=w;l&&(K=(0,u.resizeItemInDirection)(O,s,w,X),(0,i.flushSync)(()=>{this.setState({resizing:f==="onResizeStop"?null:K})}));let{w:re,h:be}=(0,x.calcWH)(this.getPositionParams(),K.width,K.height,M,H,O);re=(0,x.clamp)(re,Math.max(V,1),J),be=(0,x.clamp)(be,G,N),D.call(this,T,re,be,{e:r,node:l,size:K,handle:O})}render(){const{x:r,y:t,w:s,h:f,isDraggable:l,isResizable:w,droppingPosition:O,useCSSTransforms:D}=this.props,M=(0,x.calcGridItemPosition)(this.getPositionParams(),r,t,s,f,this.state),H=n.default.Children.only(this.props.children);let T=n.default.cloneElement(H,{ref:this.elementRef,className:(0,b.default)("react-grid-item",H.props.className,this.props.className,{static:this.props.static,resizing:!!this.state.resizing,"react-draggable":l,"react-draggable-dragging":!!this.state.dragging,dropping:!!O,cssTransforms:D}),style:P(P(P({},this.props.style),H.props.style),this.createStyle(M))});return T=this.mixinResizable(T,M,w),T=this.mixinDraggable(T,l),T}};return ut.default=y,C(y,"propTypes",{children:o.default.element,cols:o.default.number.isRequired,containerWidth:o.default.number.isRequired,rowHeight:o.default.number.isRequired,margin:o.default.array.isRequired,maxRows:o.default.number.isRequired,containerPadding:o.default.array.isRequired,x:o.default.number.isRequired,y:o.default.number.isRequired,w:o.default.number.isRequired,h:o.default.number.isRequired,minW:function(d,r){const t=d[r];if(typeof t!="number")return new Error("minWidth not Number");if(t>d.w||t>d.maxW)return new Error("minWidth larger than item width/maxWidth")},maxW:function(d,r){const t=d[r];if(typeof t!="number")return new Error("maxWidth not Number");if(t<d.w||t<d.minW)return new Error("maxWidth smaller than item width/minWidth")},minH:function(d,r){const t=d[r];if(typeof t!="number")return new Error("minHeight not Number");if(t>d.h||t>d.maxH)return new Error("minHeight larger than item height/maxHeight")},maxH:function(d,r){const t=d[r];if(typeof t!="number")return new Error("maxHeight not Number");if(t<d.h||t<d.minH)return new Error("maxHeight smaller than item height/minHeight")},i:o.default.string.isRequired,resizeHandles:_.resizeHandleAxesType,resizeHandle:_.resizeHandleType,onDragStop:o.default.func,onDragStart:o.default.func,onDrag:o.default.func,onResizeStop:o.default.func,onResizeStart:o.default.func,onResize:o.default.func,isDraggable:o.default.bool.isRequired,isResizable:o.default.bool.isRequired,isBounded:o.default.bool.isRequired,static:o.default.bool,useCSSTransforms:o.default.bool.isRequired,transformScale:o.default.number,className:o.default.string,handle:o.default.string,cancel:o.default.string,droppingPosition:o.default.shape({e:o.default.object.isRequired,left:o.default.number.isRequired,top:o.default.number.isRequired})}),C(y,"defaultProps",{className:"",cancel:"",handle:"",minH:1,minW:1,maxH:1/0,maxW:1/0,transformScale:1}),ut}var Br;function qr(){if(Br)return lt;Br=1,Object.defineProperty(lt,"__esModule",{value:!0}),lt.default=void 0;var n=b(se),i=Wt(),o=_(_t()),a=Qe(),c=Bt(),u=_(Hn()),x=_(Wr());function _(r){return r&&r.__esModule?r:{default:r}}function b(r,t){if(typeof WeakMap=="function")var s=new WeakMap,f=new WeakMap;return(b=function(l,w){if(!w&&l&&l.__esModule)return l;var O,D,M={__proto__:null,default:l};if(l===null||typeof l!="object"&&typeof l!="function")return M;if(O=w?f:s){if(O.has(l))return O.get(l);O.set(l,M)}for(const H in l)H!=="default"&&{}.hasOwnProperty.call(l,H)&&((D=(O=Object.defineProperty)&&Object.getOwnPropertyDescriptor(l,H))&&(D.get||D.set)?O(M,H,D):M[H]=l[H]);return M})(r,t)}function v(r,t){var s=Object.keys(r);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(r);t&&(f=f.filter(function(l){return Object.getOwnPropertyDescriptor(r,l).enumerable})),s.push.apply(s,f)}return s}function R(r){for(var t=1;t<arguments.length;t++){var s=arguments[t]!=null?arguments[t]:{};t%2?v(Object(s),!0).forEach(function(f){P(r,f,s[f])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(s)):v(Object(s)).forEach(function(f){Object.defineProperty(r,f,Object.getOwnPropertyDescriptor(s,f))})}return r}function P(r,t,s){return(t=C(t))in r?Object.defineProperty(r,t,{value:s,enumerable:!0,configurable:!0,writable:!0}):r[t]=s,r}function C(r){var t=L(r,"string");return typeof t=="symbol"?t:t+""}function L(r,t){if(typeof r!="object"||!r)return r;var s=r[Symbol.toPrimitive];if(s!==void 0){var f=s.call(r,t);if(typeof f!="object")return f;throw new TypeError("@@toPrimitive must return a primitive value.")}return(t==="string"?String:Number)(r)}const k="react-grid-layout";let y=!1;try{y=/firefox/i.test(navigator.userAgent)}catch{}let d=class extends n.Component{constructor(){super(...arguments),P(this,"state",{activeDrag:null,layout:(0,a.synchronizeLayoutWithChildren)(this.props.layout,this.props.children,this.props.cols,(0,a.compactType)(this.props),this.props.allowOverlap),mounted:!1,oldDragItem:null,oldLayout:null,oldResizeItem:null,resizing:!1,droppingDOMNode:null,children:[]}),P(this,"dragEnterCounter",0),P(this,"onDragStart",(t,s,f,l)=>{let{e:w,node:O}=l;const{layout:D}=this.state,M=(0,a.getLayoutItem)(D,t);if(!M)return;const H={w:M.w,h:M.h,x:M.x,y:M.y,placeholder:!0,i:t};return this.setState({oldDragItem:(0,a.cloneLayoutItem)(M),oldLayout:D,activeDrag:H}),this.props.onDragStart(D,M,M,null,w,O)}),P(this,"onDrag",(t,s,f,l)=>{let{e:w,node:O}=l;const{oldDragItem:D}=this.state;let{layout:M}=this.state;const{cols:H,allowOverlap:T,preventCollision:N}=this.props,G=(0,a.getLayoutItem)(M,t);if(!G)return;const X={w:G.w,h:G.h,x:G.x,y:G.y,placeholder:!0,i:t};M=(0,a.moveElement)(M,G,s,f,!0,N,(0,a.compactType)(this.props),H,T),this.props.onDrag(M,D,G,X,w,O),this.setState({layout:T?M:(0,a.compact)(M,(0,a.compactType)(this.props),H),activeDrag:X})}),P(this,"onDragStop",(t,s,f,l)=>{let{e:w,node:O}=l;if(!this.state.activeDrag)return;const{oldDragItem:D}=this.state;let{layout:M}=this.state;const{cols:H,preventCollision:T,allowOverlap:N}=this.props,G=(0,a.getLayoutItem)(M,t);if(!G)return;M=(0,a.moveElement)(M,G,s,f,!0,T,(0,a.compactType)(this.props),H,N);const V=N?M:(0,a.compact)(M,(0,a.compactType)(this.props),H);this.props.onDragStop(V,D,G,null,w,O);const{oldLayout:J}=this.state;this.setState({activeDrag:null,layout:V,oldDragItem:null,oldLayout:null}),this.onLayoutMaybeChanged(V,J)}),P(this,"onResizeStart",(t,s,f,l)=>{let{e:w,node:O}=l;const{layout:D}=this.state,M=(0,a.getLayoutItem)(D,t);M&&(this.setState({oldResizeItem:(0,a.cloneLayoutItem)(M),oldLayout:this.state.layout,resizing:!0}),this.props.onResizeStart(D,M,M,null,w,O))}),P(this,"onResize",(t,s,f,l)=>{let{e:w,node:O,size:D,handle:M}=l;const{oldResizeItem:H}=this.state,{layout:T}=this.state,{cols:N,preventCollision:G,allowOverlap:X}=this.props;let V=!1,J,K,re;const[be,ge]=(0,a.withLayoutItem)(T,t,W=>{let ie;return K=W.x,re=W.y,["sw","w","nw","n","ne"].indexOf(M)!==-1&&(["sw","nw","w"].indexOf(M)!==-1&&(K=W.x+(W.w-s),s=W.x!==K&&K<0?W.w:s,K=K<0?0:K),["ne","n","nw"].indexOf(M)!==-1&&(re=W.y+(W.h-f),f=W.y!==re&&re<0?W.h:f,re=re<0?0:re),V=!0),G&&!X&&(ie=(0,a.getAllCollisions)(T,R(R({},W),{},{w:s,h:f,x:K,y:re})).filter(ae=>ae.i!==W.i).length>0,ie&&(re=W.y,f=W.h,K=W.x,s=W.w,V=!1)),W.w=s,W.h=f,W});if(!ge)return;J=be,V&&(J=(0,a.moveElement)(be,ge,K,re,!0,this.props.preventCollision,(0,a.compactType)(this.props),N,X));const I={w:ge.w,h:ge.h,x:ge.x,y:ge.y,static:!0,i:t};this.props.onResize(J,H,ge,I,w,O),this.setState({layout:X?J:(0,a.compact)(J,(0,a.compactType)(this.props),N),activeDrag:I})}),P(this,"onResizeStop",(t,s,f,l)=>{let{e:w,node:O}=l;const{layout:D,oldResizeItem:M}=this.state,{cols:H,allowOverlap:T}=this.props,N=(0,a.getLayoutItem)(D,t),G=T?D:(0,a.compact)(D,(0,a.compactType)(this.props),H);this.props.onResizeStop(G,M,N,null,w,O);const{oldLayout:X}=this.state;this.setState({activeDrag:null,layout:G,oldResizeItem:null,oldLayout:null,resizing:!1}),this.onLayoutMaybeChanged(G,X)}),P(this,"onDragOver",t=>{var s;if(t.preventDefault(),t.stopPropagation(),y&&!((s=t.nativeEvent.target)!==null&&s!==void 0&&s.classList.contains(k)))return!1;const{droppingItem:f,onDropDragOver:l,margin:w,cols:O,rowHeight:D,maxRows:M,width:H,containerPadding:T,transformScale:N}=this.props,G=l==null?void 0:l(t);if(G===!1)return this.state.droppingDOMNode&&this.removeDroppingPlaceholder(),!1;const X=R(R({},f),G),{layout:V}=this.state,J=t.currentTarget.getBoundingClientRect(),K=t.clientX-J.left,re=t.clientY-J.top,be={left:K/N,top:re/N,e:t};if(this.state.droppingDOMNode){if(this.state.droppingPosition){const{left:ge,top:I}=this.state.droppingPosition;(ge!=K||I!=re)&&this.setState({droppingPosition:be})}}else{const ge={cols:O,margin:w,maxRows:M,rowHeight:D,containerWidth:H,containerPadding:T||w},I=(0,c.calcXY)(ge,re,K,X.w,X.h);this.setState({droppingDOMNode:n.createElement("div",{key:X.i}),droppingPosition:be,layout:[...V,R(R({},X),{},{x:I.x,y:I.y,static:!1,isDraggable:!0})]})}}),P(this,"removeDroppingPlaceholder",()=>{const{droppingItem:t,cols:s}=this.props,{layout:f}=this.state,l=(0,a.compact)(f.filter(w=>w.i!==t.i),(0,a.compactType)(this.props),s,this.props.allowOverlap);this.setState({layout:l,droppingDOMNode:null,activeDrag:null,droppingPosition:void 0})}),P(this,"onDragLeave",t=>{t.preventDefault(),t.stopPropagation(),this.dragEnterCounter--,this.dragEnterCounter===0&&this.removeDroppingPlaceholder()}),P(this,"onDragEnter",t=>{t.preventDefault(),t.stopPropagation(),this.dragEnterCounter++}),P(this,"onDrop",t=>{t.preventDefault(),t.stopPropagation();const{droppingItem:s}=this.props,{layout:f}=this.state,l=f.find(w=>w.i===s.i);this.dragEnterCounter=0,this.removeDroppingPlaceholder(),this.props.onDrop(f,l,t)})}componentDidMount(){this.setState({mounted:!0}),this.onLayoutMaybeChanged(this.state.layout,this.props.layout)}static getDerivedStateFromProps(t,s){let f;return s.activeDrag?null:(!(0,i.deepEqual)(t.layout,s.propsLayout)||t.compactType!==s.compactType?f=t.layout:(0,a.childrenEqual)(t.children,s.children)||(f=s.layout),f?{layout:(0,a.synchronizeLayoutWithChildren)(f,t.children,t.cols,(0,a.compactType)(t),t.allowOverlap),compactType:t.compactType,children:t.children,propsLayout:t.layout}:null)}shouldComponentUpdate(t,s){return this.props.children!==t.children||!(0,a.fastRGLPropsEqual)(this.props,t,i.deepEqual)||this.state.activeDrag!==s.activeDrag||this.state.mounted!==s.mounted||this.state.droppingPosition!==s.droppingPosition}componentDidUpdate(t,s){if(!this.state.activeDrag){const f=this.state.layout,l=s.layout;this.onLayoutMaybeChanged(f,l)}}containerHeight(){if(!this.props.autoSize)return;const t=(0,a.bottom)(this.state.layout),s=this.props.containerPadding?this.props.containerPadding[1]:this.props.margin[1];return t*this.props.rowHeight+(t-1)*this.props.margin[1]+s*2+"px"}onLayoutMaybeChanged(t,s){s||(s=this.state.layout),(0,i.deepEqual)(s,t)||this.props.onLayoutChange(t)}placeholder(){const{activeDrag:t}=this.state;if(!t)return null;const{width:s,cols:f,margin:l,containerPadding:w,rowHeight:O,maxRows:D,useCSSTransforms:M,transformScale:H}=this.props;return n.createElement(u.default,{w:t.w,h:t.h,x:t.x,y:t.y,i:t.i,className:"react-grid-placeholder ".concat(this.state.resizing?"placeholder-resizing":""),containerWidth:s,cols:f,margin:l,containerPadding:w||l,maxRows:D,rowHeight:O,isDraggable:!1,isResizable:!1,isBounded:!1,useCSSTransforms:M,transformScale:H},n.createElement("div",null))}processGridItem(t,s){if(!t||!t.key)return;const f=(0,a.getLayoutItem)(this.state.layout,String(t.key));if(!f)return null;const{width:l,cols:w,margin:O,containerPadding:D,rowHeight:M,maxRows:H,isDraggable:T,isResizable:N,isBounded:G,useCSSTransforms:X,transformScale:V,draggableCancel:J,draggableHandle:K,resizeHandles:re,resizeHandle:be}=this.props,{mounted:ge,droppingPosition:I}=this.state,W=typeof f.isDraggable=="boolean"?f.isDraggable:!f.static&&T,ie=typeof f.isResizable=="boolean"?f.isResizable:!f.static&&N,oe=f.resizeHandles||re,ae=W&&G&&f.isBounded!==!1;return n.createElement(u.default,{containerWidth:l,cols:w,margin:O,containerPadding:D||O,maxRows:H,rowHeight:M,cancel:J,handle:K,onDragStop:this.onDragStop,onDragStart:this.onDragStart,onDrag:this.onDrag,onResizeStart:this.onResizeStart,onResize:this.onResize,onResizeStop:this.onResizeStop,isDraggable:W,isResizable:ie,isBounded:ae,useCSSTransforms:X&&ge,usePercentages:!ge,transformScale:V,w:f.w,h:f.h,x:f.x,y:f.y,i:f.i,minH:f.minH,minW:f.minW,maxH:f.maxH,maxW:f.maxW,static:f.static,droppingPosition:s?I:void 0,resizeHandles:oe,resizeHandle:be},t)}render(){const{className:t,style:s,isDroppable:f,innerRef:l}=this.props,w=(0,o.default)(k,t),O=R({height:this.containerHeight()},s);return n.createElement("div",{ref:l,className:w,style:O,onDrop:f?this.onDrop:a.noop,onDragLeave:f?this.onDragLeave:a.noop,onDragEnter:f?this.onDragEnter:a.noop,onDragOver:f?this.onDragOver:a.noop},n.Children.map(this.props.children,D=>this.processGridItem(D)),f&&this.state.droppingDOMNode&&this.processGridItem(this.state.droppingDOMNode,!0),this.placeholder())}};return lt.default=d,P(d,"displayName","ReactGridLayout"),P(d,"propTypes",x.default),P(d,"defaultProps",{autoSize:!0,cols:12,className:"",style:{},draggableHandle:"",draggableCancel:"",containerPadding:null,rowHeight:150,maxRows:1/0,layout:[],margin:[10,10],isBounded:!1,isDraggable:!0,isResizable:!0,allowOverlap:!1,isDroppable:!1,useCSSTransforms:!0,transformScale:1,verticalCompact:!0,compactType:"vertical",preventCollision:!1,droppingItem:{i:"__dropping-elem__",h:1,w:1},resizeHandles:["se"],onLayoutChange:a.noop,onDragStart:a.noop,onDrag:a.noop,onDragStop:a.noop,onResizeStart:a.noop,onResize:a.noop,onResizeStop:a.noop,onDrop:a.noop,onDropDragOver:a.noop}),lt}var yt={},Xe={},Fr;function Yr(){if(Fr)return Xe;Fr=1,Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.findOrGenerateResponsiveLayout=a,Xe.getBreakpointFromWidth=i,Xe.getColsFromBreakpoint=o,Xe.sortBreakpoints=c;var n=Qe();function i(u,x){const _=c(u);let b=_[0];for(let v=1,R=_.length;v<R;v++){const P=_[v];x>u[P]&&(b=P)}return b}function o(u,x){if(!x[u])throw new Error("ResponsiveReactGridLayout: `cols` entry for breakpoint "+u+" is missing!");return x[u]}function a(u,x,_,b,v,R){if(u[_])return(0,n.cloneLayout)(u[_]);let P=u[b];const C=c(x),L=C.slice(C.indexOf(_));for(let k=0,y=L.length;k<y;k++){const d=L[k];if(u[d]){P=u[d];break}}return P=(0,n.cloneLayout)(P||[]),(0,n.compact)((0,n.correctBounds)(P,{cols:v}),R,v)}function c(u){return Object.keys(u).sort(function(_,b){return u[_]-u[b]})}return Xe}var Gr;function Bn(){if(Gr)return yt;Gr=1,Object.defineProperty(yt,"__esModule",{value:!0}),yt.default=void 0;var n=b(se),i=_(Ue()),o=Wt(),a=Qe(),c=Yr(),u=_(qr());const x=["breakpoint","breakpoints","cols","layouts","margin","containerPadding","onBreakpointChange","onLayoutChange","onWidthChange"];function _(f){return f&&f.__esModule?f:{default:f}}function b(f,l){if(typeof WeakMap=="function")var w=new WeakMap,O=new WeakMap;return(b=function(D,M){if(!M&&D&&D.__esModule)return D;var H,T,N={__proto__:null,default:D};if(D===null||typeof D!="object"&&typeof D!="function")return N;if(H=M?O:w){if(H.has(D))return H.get(D);H.set(D,N)}for(const G in D)G!=="default"&&{}.hasOwnProperty.call(D,G)&&((T=(H=Object.defineProperty)&&Object.getOwnPropertyDescriptor(D,G))&&(T.get||T.set)?H(N,G,T):N[G]=D[G]);return N})(f,l)}function v(){return v=Object.assign?Object.assign.bind():function(f){for(var l=1;l<arguments.length;l++){var w=arguments[l];for(var O in w)({}).hasOwnProperty.call(w,O)&&(f[O]=w[O])}return f},v.apply(null,arguments)}function R(f,l){if(f==null)return{};var w,O,D=P(f,l);if(Object.getOwnPropertySymbols){var M=Object.getOwnPropertySymbols(f);for(O=0;O<M.length;O++)w=M[O],l.indexOf(w)===-1&&{}.propertyIsEnumerable.call(f,w)&&(D[w]=f[w])}return D}function P(f,l){if(f==null)return{};var w={};for(var O in f)if({}.hasOwnProperty.call(f,O)){if(l.indexOf(O)!==-1)continue;w[O]=f[O]}return w}function C(f,l){var w=Object.keys(f);if(Object.getOwnPropertySymbols){var O=Object.getOwnPropertySymbols(f);l&&(O=O.filter(function(D){return Object.getOwnPropertyDescriptor(f,D).enumerable})),w.push.apply(w,O)}return w}function L(f){for(var l=1;l<arguments.length;l++){var w=arguments[l]!=null?arguments[l]:{};l%2?C(Object(w),!0).forEach(function(O){k(f,O,w[O])}):Object.getOwnPropertyDescriptors?Object.defineProperties(f,Object.getOwnPropertyDescriptors(w)):C(Object(w)).forEach(function(O){Object.defineProperty(f,O,Object.getOwnPropertyDescriptor(w,O))})}return f}function k(f,l,w){return(l=y(l))in f?Object.defineProperty(f,l,{value:w,enumerable:!0,configurable:!0,writable:!0}):f[l]=w,f}function y(f){var l=d(f,"string");return typeof l=="symbol"?l:l+""}function d(f,l){if(typeof f!="object"||!f)return f;var w=f[Symbol.toPrimitive];if(w!==void 0){var O=w.call(f,l);if(typeof O!="object")return O;throw new TypeError("@@toPrimitive must return a primitive value.")}return(l==="string"?String:Number)(f)}const r=f=>Object.prototype.toString.call(f);function t(f,l){return f==null?null:Array.isArray(f)?f:f[l]}let s=class extends n.Component{constructor(){super(...arguments),k(this,"state",this.generateInitialState()),k(this,"onLayoutChange",l=>{this.props.onLayoutChange(l,L(L({},this.props.layouts),{},{[this.state.breakpoint]:l}))})}generateInitialState(){const{width:l,breakpoints:w,layouts:O,cols:D}=this.props,M=(0,c.getBreakpointFromWidth)(w,l),H=(0,c.getColsFromBreakpoint)(M,D),T=this.props.verticalCompact===!1?null:this.props.compactType;return{layout:(0,c.findOrGenerateResponsiveLayout)(O,w,M,M,H,T),breakpoint:M,cols:H}}static getDerivedStateFromProps(l,w){if(!(0,o.deepEqual)(l.layouts,w.layouts)){const{breakpoint:O,cols:D}=w;return{layout:(0,c.findOrGenerateResponsiveLayout)(l.layouts,l.breakpoints,O,O,D,l.compactType),layouts:l.layouts}}return null}componentDidUpdate(l){(this.props.width!=l.width||this.props.breakpoint!==l.breakpoint||!(0,o.deepEqual)(this.props.breakpoints,l.breakpoints)||!(0,o.deepEqual)(this.props.cols,l.cols))&&this.onWidthChange(l)}onWidthChange(l){const{breakpoints:w,cols:O,layouts:D,compactType:M}=this.props,H=this.props.breakpoint||(0,c.getBreakpointFromWidth)(this.props.breakpoints,this.props.width),T=this.state.breakpoint,N=(0,c.getColsFromBreakpoint)(H,O),G=L({},D);if(T!==H||l.breakpoints!==w||l.cols!==O){T in G||(G[T]=(0,a.cloneLayout)(this.state.layout));let J=(0,c.findOrGenerateResponsiveLayout)(G,w,H,T,N,M);J=(0,a.synchronizeLayoutWithChildren)(J,this.props.children,N,M,this.props.allowOverlap),G[H]=J,this.props.onBreakpointChange(H,N),this.props.onLayoutChange(J,G),this.setState({breakpoint:H,layout:J,cols:N})}const X=t(this.props.margin,H),V=t(this.props.containerPadding,H);this.props.onWidthChange(this.props.width,X,N,V)}render(){const l=this.props,{breakpoint:w,breakpoints:O,cols:D,layouts:M,margin:H,containerPadding:T,onBreakpointChange:N,onLayoutChange:G,onWidthChange:X}=l,V=R(l,x);return n.createElement(u.default,v({},V,{margin:t(H,this.state.breakpoint),containerPadding:t(T,this.state.breakpoint),onLayoutChange:this.onLayoutChange,layout:this.state.layout,cols:this.state.cols}))}};return yt.default=s,k(s,"propTypes",{breakpoint:i.default.string,breakpoints:i.default.object,allowOverlap:i.default.bool,cols:i.default.object,margin:i.default.oneOfType([i.default.array,i.default.object]),containerPadding:i.default.oneOfType([i.default.array,i.default.object]),layouts(f,l){if(r(f[l])!=="[object Object]")throw new Error("Layout property must be an object. Received: "+r(f[l]));Object.keys(f[l]).forEach(w=>{if(!(w in f.breakpoints))throw new Error("Each key in layouts must align with a key in breakpoints.");(0,a.validateLayout)(f.layouts[w],"layouts."+w)})},width:i.default.number.isRequired,onBreakpointChange:i.default.func,onLayoutChange:i.default.func,onWidthChange:i.default.func}),k(s,"defaultProps",{breakpoints:{lg:1200,md:996,sm:768,xs:480,xxs:0},cols:{lg:12,md:10,sm:6,xs:4,xxs:2},containerPadding:{lg:null,md:null,sm:null,xs:null,xxs:null},layouts:{},margin:[10,10],allowOverlap:!1,onBreakpointChange:a.noop,onLayoutChange:a.noop,onWidthChange:a.noop}),yt}var Tt={},Vr=(function(){if(typeof Map<"u")return Map;function n(i,o){var a=-1;return i.some(function(c,u){return c[0]===o?(a=u,!0):!1}),a}return(function(){function i(){this.__entries__=[]}return Object.defineProperty(i.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),i.prototype.get=function(o){var a=n(this.__entries__,o),c=this.__entries__[a];return c&&c[1]},i.prototype.set=function(o,a){var c=n(this.__entries__,o);~c?this.__entries__[c][1]=a:this.__entries__.push([o,a])},i.prototype.delete=function(o){var a=this.__entries__,c=n(a,o);~c&&a.splice(c,1)},i.prototype.has=function(o){return!!~n(this.__entries__,o)},i.prototype.clear=function(){this.__entries__.splice(0)},i.prototype.forEach=function(o,a){a===void 0&&(a=null);for(var c=0,u=this.__entries__;c<u.length;c++){var x=u[c];o.call(a,x[1],x[0])}},i})()})(),Kt=typeof window<"u"&&typeof document<"u"&&window.document===document,zt=(function(){return typeof global<"u"&&global.Math===Math?global:typeof self<"u"&&self.Math===Math?self:typeof window<"u"&&window.Math===Math?window:Function("return this")()})(),qn=(function(){return typeof requestAnimationFrame=="function"?requestAnimationFrame.bind(zt):function(n){return setTimeout(function(){return n(Date.now())},1e3/60)}})(),Fn=2;function Yn(n,i){var o=!1,a=!1,c=0;function u(){o&&(o=!1,n()),a&&_()}function x(){qn(u)}function _(){var b=Date.now();if(o){if(b-c<Fn)return;a=!0}else o=!0,a=!1,setTimeout(x,i);c=b}return _}var Gn=20,Vn=["top","right","bottom","left","width","height","size","weight"],Un=typeof MutationObserver<"u",$n=(function(){function n(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=Yn(this.refresh.bind(this),Gn)}return n.prototype.addObserver=function(i){~this.observers_.indexOf(i)||this.observers_.push(i),this.connected_||this.connect_()},n.prototype.removeObserver=function(i){var o=this.observers_,a=o.indexOf(i);~a&&o.splice(a,1),!o.length&&this.connected_&&this.disconnect_()},n.prototype.refresh=function(){var i=this.updateObservers_();i&&this.refresh()},n.prototype.updateObservers_=function(){var i=this.observers_.filter(function(o){return o.gatherActive(),o.hasActive()});return i.forEach(function(o){return o.broadcastActive()}),i.length>0},n.prototype.connect_=function(){!Kt||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),Un?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},n.prototype.disconnect_=function(){!Kt||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},n.prototype.onTransitionEnd_=function(i){var o=i.propertyName,a=o===void 0?"":o,c=Vn.some(function(u){return!!~a.indexOf(u)});c&&this.refresh()},n.getInstance=function(){return this.instance_||(this.instance_=new n),this.instance_},n.instance_=null,n})(),Ur=(function(n,i){for(var o=0,a=Object.keys(i);o<a.length;o++){var c=a[o];Object.defineProperty(n,c,{value:i[c],enumerable:!1,writable:!1,configurable:!0})}return n}),Ze=(function(n){var i=n&&n.ownerDocument&&n.ownerDocument.defaultView;return i||zt}),$r=Mt(0,0,0,0);function kt(n){return parseFloat(n)||0}function Xr(n){for(var i=[],o=1;o<arguments.length;o++)i[o-1]=arguments[o];return i.reduce(function(a,c){var u=n["border-"+c+"-width"];return a+kt(u)},0)}function Xn(n){for(var i=["top","right","bottom","left"],o={},a=0,c=i;a<c.length;a++){var u=c[a],x=n["padding-"+u];o[u]=kt(x)}return o}function Jn(n){var i=n.getBBox();return Mt(0,0,i.width,i.height)}function Kn(n){var i=n.clientWidth,o=n.clientHeight;if(!i&&!o)return $r;var a=Ze(n).getComputedStyle(n),c=Xn(a),u=c.left+c.right,x=c.top+c.bottom,_=kt(a.width),b=kt(a.height);if(a.boxSizing==="border-box"&&(Math.round(_+u)!==i&&(_-=Xr(a,"left","right")+u),Math.round(b+x)!==o&&(b-=Xr(a,"top","bottom")+x)),!Zn(n)){var v=Math.round(_+u)-i,R=Math.round(b+x)-o;Math.abs(v)!==1&&(_-=v),Math.abs(R)!==1&&(b-=R)}return Mt(c.left,c.top,_,b)}var Qn=(function(){return typeof SVGGraphicsElement<"u"?function(n){return n instanceof Ze(n).SVGGraphicsElement}:function(n){return n instanceof Ze(n).SVGElement&&typeof n.getBBox=="function"}})();function Zn(n){return n===Ze(n).document.documentElement}function eo(n){return Kt?Qn(n)?Jn(n):Kn(n):$r}function to(n){var i=n.x,o=n.y,a=n.width,c=n.height,u=typeof DOMRectReadOnly<"u"?DOMRectReadOnly:Object,x=Object.create(u.prototype);return Ur(x,{x:i,y:o,width:a,height:c,top:o,right:i+a,bottom:c+o,left:i}),x}function Mt(n,i,o,a){return{x:n,y:i,width:o,height:a}}var ro=(function(){function n(i){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=Mt(0,0,0,0),this.target=i}return n.prototype.isActive=function(){var i=eo(this.target);return this.contentRect_=i,i.width!==this.broadcastWidth||i.height!==this.broadcastHeight},n.prototype.broadcastRect=function(){var i=this.contentRect_;return this.broadcastWidth=i.width,this.broadcastHeight=i.height,i},n})(),no=(function(){function n(i,o){var a=to(o);Ur(this,{target:i,contentRect:a})}return n})(),oo=(function(){function n(i,o,a){if(this.activeObservations_=[],this.observations_=new Vr,typeof i!="function")throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=i,this.controller_=o,this.callbackCtx_=a}return n.prototype.observe=function(i){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(i instanceof Ze(i).Element))throw new TypeError('parameter 1 is not of type "Element".');var o=this.observations_;o.has(i)||(o.set(i,new ro(i)),this.controller_.addObserver(this),this.controller_.refresh())}},n.prototype.unobserve=function(i){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(i instanceof Ze(i).Element))throw new TypeError('parameter 1 is not of type "Element".');var o=this.observations_;o.has(i)&&(o.delete(i),o.size||this.controller_.removeObserver(this))}},n.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},n.prototype.gatherActive=function(){var i=this;this.clearActive(),this.observations_.forEach(function(o){o.isActive()&&i.activeObservations_.push(o)})},n.prototype.broadcastActive=function(){if(this.hasActive()){var i=this.callbackCtx_,o=this.activeObservations_.map(function(a){return new no(a.target,a.broadcastRect())});this.callback_.call(i,o,i),this.clearActive()}},n.prototype.clearActive=function(){this.activeObservations_.splice(0)},n.prototype.hasActive=function(){return this.activeObservations_.length>0},n})(),Jr=typeof WeakMap<"u"?new WeakMap:new Vr,Kr=(function(){function n(i){if(!(this instanceof n))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var o=$n.getInstance(),a=new oo(i,o,this);Jr.set(this,a)}return n})();["observe","unobserve","disconnect"].forEach(function(n){Kr.prototype[n]=function(){var i;return(i=Jr.get(this))[n].apply(i,arguments)}});var io=(function(){return typeof zt.ResizeObserver<"u"?zt.ResizeObserver:Kr})();const so=fn(Object.freeze(Object.defineProperty({__proto__:null,default:io},Symbol.toStringTag,{value:"Module"})));var Qr;function ao(){if(Qr)return Tt;Qr=1,Object.defineProperty(Tt,"__esModule",{value:!0}),Tt.default=k;var n=x(se),i=u(Ue()),o=u(so),a=u(_t());const c=["measureBeforeMount"];function u(y){return y&&y.__esModule?y:{default:y}}function x(y,d){if(typeof WeakMap=="function")var r=new WeakMap,t=new WeakMap;return(x=function(s,f){if(!f&&s&&s.__esModule)return s;var l,w,O={__proto__:null,default:s};if(s===null||typeof s!="object"&&typeof s!="function")return O;if(l=f?t:r){if(l.has(s))return l.get(s);l.set(s,O)}for(const D in s)D!=="default"&&{}.hasOwnProperty.call(s,D)&&((w=(l=Object.defineProperty)&&Object.getOwnPropertyDescriptor(s,D))&&(w.get||w.set)?l(O,D,w):O[D]=s[D]);return O})(y,d)}function _(){return _=Object.assign?Object.assign.bind():function(y){for(var d=1;d<arguments.length;d++){var r=arguments[d];for(var t in r)({}).hasOwnProperty.call(r,t)&&(y[t]=r[t])}return y},_.apply(null,arguments)}function b(y,d){if(y==null)return{};var r,t,s=v(y,d);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(y);for(t=0;t<f.length;t++)r=f[t],d.indexOf(r)===-1&&{}.propertyIsEnumerable.call(y,r)&&(s[r]=y[r])}return s}function v(y,d){if(y==null)return{};var r={};for(var t in y)if({}.hasOwnProperty.call(y,t)){if(d.indexOf(t)!==-1)continue;r[t]=y[t]}return r}function R(y,d,r){return(d=P(d))in y?Object.defineProperty(y,d,{value:r,enumerable:!0,configurable:!0,writable:!0}):y[d]=r,y}function P(y){var d=C(y,"string");return typeof d=="symbol"?d:d+""}function C(y,d){if(typeof y!="object"||!y)return y;var r=y[Symbol.toPrimitive];if(r!==void 0){var t=r.call(y,d);if(typeof t!="object")return t;throw new TypeError("@@toPrimitive must return a primitive value.")}return(d==="string"?String:Number)(y)}const L="react-grid-layout";function k(y){var d;return d=class extends n.Component{constructor(){super(...arguments),R(this,"state",{width:1280}),R(this,"elementRef",n.createRef()),R(this,"mounted",!1),R(this,"resizeObserver",void 0)}componentDidMount(){this.mounted=!0,this.resizeObserver=new o.default(s=>{if(this.elementRef.current instanceof HTMLElement){const l=s[0].contentRect.width;this.setState({width:l})}});const t=this.elementRef.current;t instanceof HTMLElement&&this.resizeObserver.observe(t)}componentWillUnmount(){this.mounted=!1;const t=this.elementRef.current;t instanceof HTMLElement&&this.resizeObserver.unobserve(t),this.resizeObserver.disconnect()}render(){const t=this.props,{measureBeforeMount:s}=t,f=b(t,c);return s&&!this.mounted?n.createElement("div",{className:(0,a.default)(this.props.className,L),style:this.props.style,ref:this.elementRef}):n.createElement(y,_({innerRef:this.elementRef},f,this.state))}},R(d,"defaultProps",{measureBeforeMount:!1}),R(d,"propTypes",{measureBeforeMount:i.default.bool}),d}return Tt}var Zr;function lo(){return Zr||(Zr=1,(function(n){n.exports=qr().default,n.exports.utils=Qe(),n.exports.calculateUtils=Bt(),n.exports.Responsive=Bn().default,n.exports.Responsive.utils=Yr(),n.exports.WidthProvider=ao().default})(Nt)),Nt.exports}var co=lo();const uo=dn(co);function en(n){const i=[];i.push(1,1,0,1,1,0,1,1);for(let o=0;o<n.length;o++){const c=(n.charCodeAt(o)%103).toString(2).padStart(7,"0");for(const u of c)i.push(u==="1"?1:0)}return i.push(1,1,0,0,0,1,1,0,0,0,1,1),i}const Qt=({value:n,format:i})=>{const o=se.useMemo(()=>en(n),[n,i]);if(!n)return e.jsx("div",{style:{fontSize:11,color:"#999"},children:"请设置条形码值"});const a=2,c=44,u=o.length*a;return e.jsxs("div",{style:{textAlign:"center",overflow:"hidden",maxWidth:"100%"},children:[e.jsx("canvas",{ref:x=>{if(!x)return;const _=x.getContext("2d");_&&(x.width=u,x.height=c,_.clearRect(0,0,u,c),o.forEach((b,v)=>{_.fillStyle=b===1?"#000":"#fff",_.fillRect(v*a,0,a,c)}))},style:{width:"100%",maxWidth:u,height:c}}),e.jsx("div",{style:{fontSize:10,marginTop:1,letterSpacing:1},children:n})]})},Zt=({value:n,errorLevel:i="M",color:o="#000000",backgroundColor:a="#ffffff"})=>n?e.jsx(E.QRCode,{value:n,type:"svg",bordered:!1,errorLevel:i,color:o,bgColor:a,style:{width:"100%",height:"100%",maxWidth:"100%",maxHeight:"100%"}}):e.jsx("div",{style:{fontSize:11,color:"#999"},children:"请设置二维码内容"}),fo=uo,tn=se.memo(({comp:n,selected:i,isPreview:o=!1,dataSources:a=[]})=>{const c={width:"100%",height:"100%",overflow:"hidden",boxSizing:"border-box",outline:o?"none":i?"2px solid #1677ff":"1px dashed #d9d9d9",outlineOffset:-1},u=x=>Ke(n,x,a);switch(n.type){case"text":return e.jsx("div",{style:{...c,fontSize:n.props.fontSize||14,fontWeight:n.props.fontWeight||"normal",fontStyle:n.props.fontStyle||"normal",textAlign:n.props.textAlign||"left",color:n.props.color||"#000",backgroundColor:n.props.backgroundColor||"transparent",padding:4,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:wt(u("content")||"",n.props.format)});case"image":const x=u("src")||n.props.src;return e.jsx("div",{style:c,children:x?e.jsx("img",{src:x,style:{width:"100%",height:"100%",objectFit:n.props.fit||"contain"},alt:""}):e.jsx("div",{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"#bbb",fontSize:12},children:"请在属性中设置图片地址"})});case"table":return e.jsx(po,{comp:n,style:c,dataSources:a});case"barcode":const _=u("value")||n.props.value||"123456";return e.jsx("div",{style:{...c,display:"flex",alignItems:"center",justifyContent:"center",padding:4},children:e.jsx(Qt,{value:_,format:n.props.format||"CODE128"})});case"qrcode":const b=u("value")||n.props.value||"https://example.com";return e.jsx("div",{style:{...c,display:"flex",alignItems:"center",justifyContent:"center",padding:4},children:e.jsx(Zt,{value:b,errorLevel:n.props.errorLevel||"M",color:n.props.color||"#000000",backgroundColor:n.props.backgroundColor||"#ffffff"})});case"line":return e.jsx("div",{style:{...c,display:"flex",alignItems:"center",border:"none",outline:i?"2px solid #1677ff":"1px dashed transparent"},children:e.jsx("hr",{style:{width:"100%",border:"none",borderTop:`${n.props.thickness||1}px ${n.props.style||"solid"} ${n.props.color||"#000"}`,margin:0}})});default:return e.jsx("div",{style:c,children:n.type})}}),po=({comp:n,style:i,dataSources:o=[]})=>{const a=n.props.borderWidth||1,c=n.props.borderColor||"#000",u=n.props.headerBackgroundColor||"#f5f5f5",x=n.props.headerColor||"#000000",_=n.props.headerFontSize||12,b=n.tableColumns||[],v=n.props.tableDataSourceId,R=v?o.find(k=>k.id===v):null,P=R?Ct(R):null;if(P&&P.length>0)return e.jsxs("table",{style:{...i,borderCollapse:"collapse",width:"100%",height:"100%"},children:[b.length>0&&e.jsx("thead",{children:e.jsx("tr",{style:{backgroundColor:u},children:b.map((k,y)=>e.jsx("th",{style:{border:`${a}px solid ${c}`,padding:4,fontSize:_,fontWeight:"bold",textAlign:"center",color:x},children:k.title},y))})}),e.jsx("tbody",{children:P.map((k,y)=>e.jsx("tr",{children:b.map((d,r)=>e.jsx("td",{style:{border:`${a}px solid ${c}`,padding:4,fontSize:12,textAlign:"center"},children:d.fieldPath?k[d.fieldPath]:""},r))},y))})]});const C=n.props.rows||3,L=Math.max(n.props.cols||3,b.length||3);return e.jsx("table",{style:{...i,borderCollapse:"collapse",width:"100%",height:"100%"},children:e.jsx("tbody",{children:Array.from({length:C}).map((k,y)=>e.jsx("tr",{children:Array.from({length:L}).map((d,r)=>e.jsx("td",{style:{border:`${a}px solid ${c}`,padding:2,fontSize:12,textAlign:"center"},children:" "},r))},y))})})},rn=({isPreview:n=!1,dataSources:i})=>{const o=pe(s=>s.components),a=pe(s=>s.selectedId),c=pe(s=>s.pageSettings),u=pe(s=>s.selectComponent);pe(s=>s.updateComponent);const x=pe(s=>s.setComponents),_=pe(s=>s.addComponent),b=pe(s=>s.gridSettings),v=pe(s=>s.dataSources),R=i||v,P=se.useMemo(()=>{const s=bt[c.paperSize];if(!s)return{width:c.customWidth*De,height:c.customHeight*De};const f=s.width*De,l=s.height*De;return c.orientation==="landscape"?{width:l,height:f}:{width:f,height:l}},[c]),C=se.useMemo(()=>({top:c.marginTop*De,right:c.marginRight*De,bottom:c.marginBottom*De,left:c.marginLeft*De}),[c]),L=P.width-C.left-C.right,k=P.height-C.top-C.bottom,y=se.useMemo(()=>o.map(s=>({i:s.id,x:s.x,y:s.y,w:s.w,h:s.h})),[o]),d=se.useCallback(s=>{const f=o.map((l,w)=>{const O=s[w];return O?{...l,x:O.x,y:O.y,w:O.w,h:O.h}:l});x(f)},[o,x]),r=se.useCallback((s,f,l)=>{var M,H;const w=l,O=(M=w.dataTransfer)==null?void 0:M.getData("componentType");if(!O)return;const D=(H=l.target.closest(".react-grid-layout"))==null?void 0:H.getBoundingClientRect();if(D){const T=Math.floor((w.clientX-D.left)/(L/b.cols)),N=Math.floor((w.clientY-D.top)/(L/b.cols));_(O,Math.max(0,T),Math.max(0,N))}else _(O)},[_,L,b.cols]),t=se.useCallback(s=>{u(s===a?null:s)},[u,a]);return e.jsx("div",{style:{flex:1,overflow:"auto",background:"#e8e8e8",display:"flex",justifyContent:"center",padding:"24px 0"},children:e.jsxs("div",{id:"print-paper",style:{width:P.width,height:P.height,background:"#fff",boxShadow:"0 2px 12px rgba(0,0,0,0.15)",position:"relative",flexShrink:0},children:[c.showHeader&&e.jsx("div",{style:{position:"absolute",top:0,left:C.left,right:C.right,height:C.top,display:"flex",alignItems:"center",justifyContent:"center",fontSize:12,color:"#999",borderBottom:"1px dashed #ddd",overflow:"hidden"},children:c.headerContent}),c.showFooter&&e.jsxs("div",{style:{position:"absolute",bottom:0,left:C.left,right:C.right,height:C.bottom,display:"flex",alignItems:"center",justifyContent:c.showPageNumber?"space-between":"center",fontSize:12,color:"#999",borderTop:"1px dashed #ddd",overflow:"hidden",padding:"0 8px"},children:[e.jsx("span",{children:c.footerContent}),c.showPageNumber&&e.jsx("span",{children:c.pageNumberFormat.replace("{page}","1")})]}),e.jsx("div",{style:{position:"absolute",top:C.top,left:C.left,width:L,height:k},children:n?e.jsx("div",{style:{width:"100%",height:"100%",position:"relative"},children:o.map(s=>{const f=L/b.cols,l=L/b.cols,w={position:"absolute",left:s.x*f,top:s.y*l,width:s.w*f,height:s.h*l};return e.jsx("div",{style:w,children:e.jsx(tn,{comp:s,selected:!1,isPreview:!0,dataSources:R})},s.id)})}):e.jsx(fo,{className:"canvas-grid",layout:y,cols:b.cols,rowHeight:L/b.cols,width:L,margin:[0,0],containerPadding:[0,0],onLayoutChange:d,onDrop:r,isDroppable:!0,isResizable:!0,isDraggable:!0,compactType:null,preventCollision:!0,draggableHandle:".grid-item-drag-handle",style:{minHeight:k},children:o.map(s=>e.jsx("div",{className:"grid-item-drag-handle",onClick:()=>t(s.id),style:{cursor:"move"},children:e.jsx(tn,{comp:s,selected:s.id===a,dataSources:R})},s.id))})})]})})},{Text:je,Title:Do}=E.Typography,{TextArea:ho}=E.Input,go=()=>{const n=pe(r=>r.components),i=pe(r=>r.selectedId),o=pe(r=>r.dataSources),a=pe(r=>r.updateComponent),c=pe(r=>r.updateComponentTableColumns),u=se.useMemo(()=>n.find(r=>r.id===i)||null,[n,i]),[x,_]=se.useState([]),b=se.useMemo(()=>[{label:"无(使用静态值)",value:""},...o.map(r=>({label:r.name,value:r.id,type:r.type}))],[o]),v=se.useCallback((r,t)=>{i&&a(i,{props:{...u==null?void 0:u.props,[r]:t}})},[i,u,a]),R=se.useCallback((r,t,s,f)=>{if(!i)return;let l=f;t&&s&&(l=f);const w=`${r}Binding`;a(i,{props:{...u==null?void 0:u.props,[r]:l,[w]:{dataSourceId:t,fieldPath:s,staticValue:f}}})},[i,u,a]),P=se.useCallback(r=>{const t=u==null?void 0:u.props[`${r}Binding`],s=String((u==null?void 0:u.props[r])||"");return t?{field:r,dataSourceId:t.dataSourceId||null,fieldPath:t.fieldPath||"",staticValue:t.staticValue??s}:{field:r,dataSourceId:null,fieldPath:"",staticValue:s}},[u]);if(!u)return e.jsx(E.Card,{title:"属性面板",size:"small",style:{height:"100%",borderRadius:0,borderLeft:0},styles:{body:{padding:16}},children:e.jsx(E.Empty,{description:"请选择画布中的组件",image:E.Empty.PRESENTED_IMAGE_SIMPLE})});const C=lr[u.type]||u.type,L=e.jsxs(e.Fragment,{children:[e.jsx(je,{type:"secondary",style:{fontSize:12,display:"block",marginBottom:8},children:"位置和大小"}),e.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:[e.jsxs("div",{children:[e.jsx(je,{style:{fontSize:12},children:"X"}),e.jsx(E.InputNumber,{size:"small",style:{width:"100%"},value:u.x,onChange:r=>a(i,{x:r??0})})]}),e.jsxs("div",{children:[e.jsx(je,{style:{fontSize:12},children:"Y"}),e.jsx(E.InputNumber,{size:"small",style:{width:"100%"},value:u.y,onChange:r=>a(i,{y:r??0})})]}),e.jsxs("div",{children:[e.jsx(je,{style:{fontSize:12},children:"宽度"}),e.jsx(E.InputNumber,{size:"small",style:{width:"100%"},value:u.w,min:1,onChange:r=>a(i,{w:r??1})})]}),e.jsxs("div",{children:[e.jsx(je,{style:{fontSize:12},children:"高度"}),e.jsx(E.InputNumber,{size:"small",style:{width:"100%"},value:u.h,min:1,onChange:r=>a(i,{h:r??1})})]})]})]}),k=({field:r,label:t,placeholder:s,isTextarea:f=!1})=>{const l=P(r),w=o.find(T=>T.id===l.dataSourceId),O=w?jt(w):null,D=O?Object.keys(O):[],[M,H]=se.useState(l.staticValue);return se.useEffect(()=>{H(l.staticValue)},[l.staticValue,l.dataSourceId]),e.jsxs("div",{children:[e.jsx(je,{style:{fontSize:12,display:"block",marginBottom:4},children:t}),e.jsx("div",{style:{marginBottom:4},children:e.jsx(E.Select,{size:"small",style:{width:"100%"},placeholder:"选择数据源",value:l.dataSourceId||"",onChange:T=>{R(r,T||null,T&&l.fieldPath||"",l.staticValue)},options:b})}),l.dataSourceId&&e.jsx("div",{style:{marginBottom:4},children:e.jsx(E.Select,{size:"small",style:{width:"100%"},placeholder:"选择字段",value:l.fieldPath,onChange:T=>{R(r,l.dataSourceId,T||"",l.staticValue)},options:[{label:"请选择字段",value:""},...D.map(T=>({label:T,value:T}))]})}),l.dataSourceId?e.jsxs("div",{style:{padding:6,background:"#f0f5ff",border:"1px solid #adc6ff",borderRadius:4,fontSize:12},children:[e.jsx(Oe.DatabaseOutlined,{style:{marginRight:4,color:"#1890ff"}}),e.jsx("span",{style:{fontWeight:500},children:"数据绑定已启用"}),w&&l.fieldPath&&e.jsxs("span",{style:{marginLeft:8},children:[e.jsx(E.Tag,{color:"blue",children:w.name}),e.jsx(E.Tag,{color:"green",children:l.fieldPath})]})]}):f?e.jsx(ho,{rows:3,placeholder:s,value:M,onChange:T=>H(T.target.value),onBlur:()=>{R(r,null,"",M)}}):e.jsx(E.Input,{placeholder:s,value:M,onChange:T=>H(T.target.value),onBlur:()=>{R(r,null,"",M)}})]})},y=()=>{const r=u.tableColumns||[],t=o.filter(V=>V.type==="array"),s=u.props.tableDataSourceId||"",f=t.find(V=>V.id===s),l=x.length>0?x:r,[w,O]=se.useState({}),D=()=>{c(i,l)},M=()=>{const V=[...l,{title:`列${l.length+1}`}];_(V)},H=V=>{const J=l.filter((K,re)=>re!==V);_(J)},T=(V,J,K)=>{const re=[...l];re[V]={...re[V],[J]:K},_(re)};let N=[];if(f){const V=at(f.data);Array.isArray(V)&&V.length>0&&typeof V[0]=="object"&&(N=Object.keys(V[0]))}const G=[{title:"列标题",dataIndex:"title",width:60,render:(V,J)=>{const K=J.key in w?w[J.key]:J.title;return e.jsx(E.Input,{size:"small",value:K,placeholder:"列标题",onChange:re=>{O({...w,[J.key]:re.target.value})},onBlur:()=>{if(J.key in w){T(Number(J.key),"title",w[J.key]);const re={...w};delete re[J.key],O(re),D()}}})}},{title:"绑定字段",dataIndex:"fieldPath",width:100,render:(V,J)=>e.jsx(E.Select,{size:"small",style:{width:"100%"},value:J.fieldPath||"",placeholder:f?"绑定字段":"选择数据源先",disabled:!f,onChange:K=>{T(Number(J.key),"fieldPath",K||""),D()},options:[{label:"无绑定",value:""},...N.map(K=>({label:K,value:K}))]})},{title:"操作",width:50,render:(V,J)=>e.jsx(E.Popconfirm,{title:"确定要删除吗?",onConfirm:()=>{H(Number(J.key)),D()},okText:"确定",cancelText:"取消",children:e.jsx(E.Button,{type:"text",danger:!0,size:"small",icon:e.jsx(Oe.DeleteOutlined,{})})})}],X=l.map((V,J)=>({...V,key:String(J)}));return e.jsxs("div",{children:[e.jsx("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:8},children:e.jsx(je,{style:{fontSize:12},children:"表格数据源"})}),e.jsx(E.Select,{size:"small",style:{width:"100%",marginBottom:8},placeholder:"选择数组类型数据源",value:s,onChange:V=>v("tableDataSourceId",V||""),options:[{label:"无(仅静态展示)",value:""},...t.map(V=>({label:V.name,value:V.id}))]}),e.jsx(E.Divider,{}),e.jsxs(E.Space,{style:{marginBottom:8},children:[e.jsx(je,{style:{fontSize:12},children:"列配置"}),e.jsx(E.Button,{size:"small",type:"dashed",icon:e.jsx(Oe.PlusOutlined,{}),onClick:M}),e.jsx(E.Button,{size:"small",type:"primary",onClick:D,icon:e.jsx(Oe.SaveOutlined,{})})]}),e.jsx(E.Table,{dataSource:X,columns:G,pagination:!1,size:"small",scroll:{x:200,y:360},bordered:!0,rowKey:"key"})]})},d=()=>{switch(u.type){case"text":return e.jsxs(e.Fragment,{children:[e.jsx(k,{field:"content",label:"内容",placeholder:"请输入文本内容",isTextarea:!0}),e.jsx(je,{style:{fontSize:12,marginTop:8,display:"block"},children:"格式"}),e.jsx(E.Input,{size:"small",placeholder:"例如 yyyyMMdd 或 yyyy-MM-dd HH:mm:ss",value:u.props.format||"",onChange:r=>v("format",r.target.value)}),e.jsx(E.Divider,{style:{margin:"4px 0"}}),e.jsx(je,{type:"secondary",style:{fontSize:12,display:"block",marginBottom:4},children:"文字样式"}),e.jsxs(E.Space,{style:{width:"100%"},direction:"vertical",size:4,children:[e.jsxs("div",{style:{display:"flex",gap:8},children:[e.jsxs("div",{style:{flex:1},children:[e.jsx(je,{style:{fontSize:12},children:"字号"}),e.jsx(E.InputNumber,{size:"small",style:{width:"100%"},value:u.props.fontSize||14,min:6,max:200,onChange:r=>v("fontSize",r??14)})]}),e.jsxs("div",{style:{flex:1},children:[e.jsx(je,{style:{fontSize:12},children:"对齐"}),e.jsx(E.Select,{size:"small",style:{width:"100%"},value:u.props.textAlign||"left",onChange:r=>v("textAlign",r),options:[{value:"left",label:"左"},{value:"center",label:"中"},{value:"right",label:"右"}]})]})]}),e.jsxs("div",{style:{display:"flex",gap:8},children:[e.jsxs("div",{style:{flex:1},children:[e.jsx(je,{style:{fontSize:12},children:"字重"}),e.jsx(E.Select,{size:"small",style:{width:"100%"},value:u.props.fontWeight||"normal",onChange:r=>v("fontWeight",r),options:[{value:"normal",label:"常规"},{value:"bold",label:"加粗"}]})]}),e.jsxs("div",{style:{flex:1},children:[e.jsx(je,{style:{fontSize:12},children:"样式"}),e.jsx(E.Select,{size:"small",style:{width:"100%"},value:u.props.fontStyle||"normal",onChange:r=>v("fontStyle",r),options:[{value:"normal",label:"常规"},{value:"italic",label:"斜体"}]})]})]}),e.jsxs(E.Space,{children:[e.jsx(je,{style:{fontSize:12},children:"字体颜色"}),e.jsx(E.ColorPicker,{size:"small",value:u.props.color||"#000000",onChange:(r,t)=>v("color",t)}),e.jsx(je,{style:{fontSize:12},children:"背景色"}),e.jsx(E.ColorPicker,{size:"small",value:u.props.backgroundColor||"transparent",onChange:(r,t)=>v("backgroundColor",t)})]})]})]});case"image":return e.jsxs(e.Fragment,{children:[e.jsx(k,{field:"src",label:"图片地址",placeholder:"输入图片 URL"}),e.jsx(E.Divider,{style:{margin:"4px 0"}}),e.jsx(je,{style:{fontSize:12,marginTop:8,display:"block"},children:"适应方式"}),e.jsx(E.Select,{size:"small",style:{width:"100%"},value:u.props.fit||"contain",onChange:r=>v("fit",r),options:[{value:"contain",label:"适应"},{value:"cover",label:"填充"},{value:"fill",label:"拉伸"}]})]});case"table":return e.jsxs(e.Fragment,{children:[e.jsx(je,{type:"secondary",style:{fontSize:12,display:"block",marginBottom:4},children:"边框样式"}),e.jsxs(E.Space,{children:[e.jsx(je,{style:{fontSize:12},children:"粗细"}),e.jsx(E.InputNumber,{size:"small",value:u.props.borderWidth||1,min:0,max:20,onChange:r=>v("borderWidth",r??1)}),e.jsx(je,{style:{fontSize:12},children:"颜色"}),e.jsx(E.ColorPicker,{size:"small",value:u.props.borderColor||"#000000",onChange:(r,t)=>v("borderColor",t)})]}),e.jsx(E.Divider,{style:{margin:"4px 0"}}),e.jsx(je,{type:"secondary",style:{fontSize:12,display:"block",marginBottom:4},children:"列标题样式"}),e.jsxs(E.Space,{children:[e.jsx(je,{style:{fontSize:12},children:"字号"}),e.jsx(E.InputNumber,{size:"small",value:u.props.headerFontSize||12,min:6,max:200,onChange:r=>v("headerFontSize",r??12)})]}),e.jsxs(E.Space,{children:[e.jsx(je,{style:{fontSize:12},children:"背景色"}),e.jsx(E.ColorPicker,{size:"small",value:u.props.headerBackgroundColor||"#f5f5f5",onChange:(r,t)=>v("headerBackgroundColor",t)}),e.jsx(je,{style:{fontSize:12},children:"字体颜色"}),e.jsx(E.ColorPicker,{size:"small",value:u.props.headerColor||"#000000",onChange:(r,t)=>v("headerColor",t)})]}),e.jsx(E.Divider,{style:{margin:"4px 0"}}),e.jsx(y,{})]});case"barcode":return e.jsxs(e.Fragment,{children:[e.jsx(k,{field:"value",label:"条码值",placeholder:"输入条码内容"}),e.jsx(E.Divider,{style:{margin:"4px 0"}}),e.jsx(je,{style:{fontSize:12,marginTop:8,display:"block"},children:"格式"}),e.jsx(E.Select,{size:"small",style:{width:"100%"},value:u.props.format||"CODE128",onChange:r=>v("format",r),options:[{value:"CODE128",label:"CODE128"}]})]});case"qrcode":return e.jsxs(e.Fragment,{children:[e.jsx(k,{field:"value",label:"二维码内容",placeholder:"输入二维码内容"}),e.jsx(E.Divider,{style:{margin:"4px 0"}}),e.jsx(je,{style:{fontSize:12,marginTop:8,display:"block"},children:"纠错级别"}),e.jsx(E.Select,{size:"small",style:{width:"100%"},value:u.props.errorLevel||"M",onChange:r=>v("errorLevel",r),options:[{value:"L",label:"L - 低"},{value:"M",label:"M - 中"},{value:"Q",label:"Q - 较高"},{value:"H",label:"H - 高"}]}),e.jsxs("div",{style:{display:"flex",gap:16,marginTop:8},children:[e.jsxs("div",{children:[e.jsx(je,{style:{fontSize:12},children:"前景色"}),e.jsx(E.ColorPicker,{size:"small",value:u.props.color||"#000000",onChange:(r,t)=>v("color",t)})]}),e.jsxs("div",{children:[e.jsx(je,{style:{fontSize:12},children:"背景色"}),e.jsx(E.ColorPicker,{size:"small",value:u.props.backgroundColor||"#ffffff",onChange:(r,t)=>v("backgroundColor",t)})]})]})]});case"line":return e.jsxs(e.Fragment,{children:[e.jsxs("div",{style:{display:"flex",gap:8},children:[e.jsxs("div",{style:{flex:1},children:[e.jsx(je,{style:{fontSize:12},children:"粗细"}),e.jsx(E.InputNumber,{size:"small",style:{width:"100%"},value:u.props.thickness||1,min:1,max:20,onChange:r=>v("thickness",r??1)})]}),e.jsxs("div",{style:{flex:1},children:[e.jsx(je,{style:{fontSize:12},children:"样式"}),e.jsx(E.Select,{size:"small",style:{width:"100%"},value:u.props.style||"solid",onChange:r=>v("style",r),options:[{value:"solid",label:"实线"},{value:"dashed",label:"虚线"},{value:"dotted",label:"点线"}]})]})]}),e.jsxs("div",{style:{marginTop:8},children:[e.jsx(je,{style:{fontSize:12},children:"颜色"}),e.jsx(E.ColorPicker,{size:"small",value:u.props.color||"#000000",onChange:(r,t)=>v("color",t)})]})]});default:return null}};return e.jsx(E.Card,{title:`属性 - ${C}`,size:"small",style:{height:"100%",borderRadius:0,borderLeft:0},styles:{body:{padding:16,overflowY:"auto"}},children:e.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[L,e.jsx(E.Divider,{style:{margin:"4px 0"}}),d()]})})},{Text:To}=E.Typography,yo=({dataSources:n})=>{const i=pe(r=>r.previewVisible),o=pe(r=>r.setPreviewVisible),a=pe(r=>r.components),c=pe(r=>r.pageSettings),u=pe(r=>r.gridSettings)||xt,x=pe(r=>r.dataSources),_=n||x,b=se.useRef(null),v=se.useMemo(()=>{const r=bt[c.paperSize];if(!r)return{width:c.customWidth*De,height:c.customHeight*De};const t=r.width*De,s=r.height*De;return c.orientation==="landscape"?{width:s,height:t}:{width:t,height:s}},[c]),R=se.useMemo(()=>({top:c.marginTop*De,right:c.marginRight*De,bottom:c.marginBottom*De,left:c.marginLeft*De}),[c]),P=v.width-R.left-R.right,C=P/u.cols,L=nr.useReactToPrint({contentRef:b,documentTitle:"打印模板",pageStyle:`
|
|
51
|
+
`,p.getElementsByTagName("head")[0].appendChild(S)),p.body&&A(p.body,"react-draggable-transparent-selection")}function he(p){window.requestAnimationFrame?window.requestAnimationFrame(()=>{ue(p)}):ue(p)}function ue(p){if(p)try{p.body&&Y(p.body,"react-draggable-transparent-selection");const S=p.selection;if(S)S.empty();else{const z=(p.defaultView||window).getSelection();z&&z.type!=="Caret"&&z.removeAllRanges()}}catch{}}function A(p,S){p.classList?p.classList.add(S):p.className.match(new RegExp(`(?:^|\\s)${S}(?!\\S)`))||(p.className+=` ${S}`)}function Y(p,S){p.classList?p.classList.remove(S):p.className=p.className.replace(new RegExp(`(?:^|\\s)${S}(?!\\S)`,"g"),"")}function ee(p,S,z){if(!p.props.bounds)return[S,z];let{bounds:F}=p.props;F=typeof F=="string"?F:Le(F);const G=y(p);if(typeof F=="string"){const{ownerDocument:_e}=G,ve=_e.defaultView;if(!ve)throw new Error("Cannot resolve the owner window of the draggable node.");let De;if(F==="parent"?De=G.parentNode:De=G.getRootNode().querySelector(F),!(De instanceof ve.HTMLElement))throw new Error('Bounds selector "'+F+'" could not find an element.');const Me=De,Ge=ve.getComputedStyle(G),$e=ve.getComputedStyle(Me);F={left:-G.offsetLeft+a($e.paddingLeft)+a(Ge.marginLeft),top:-G.offsetTop+a($e.paddingTop)+a(Ge.marginTop),right:ne(Me)-Q(G)-G.offsetLeft+a($e.paddingRight)-a(Ge.marginRight),bottom:Z(Me)-$(G)-G.offsetTop+a($e.paddingBottom)-a(Ge.marginBottom)}}return e(F.right)&&(S=Math.min(S,F.right)),e(F.bottom)&&(z=Math.min(z,F.bottom)),e(F.left)&&(S=Math.max(S,F.left)),e(F.top)&&(z=Math.max(z,F.top)),[S,z]}function J(p,S,z){const F=Math.round(S/p[0])*p[0],G=Math.round(z/p[1])*p[1];return[F,G]}function ae(p){return p.props.axis==="both"||p.props.axis==="x"}function W(p){return p.props.axis==="both"||p.props.axis==="y"}function ye(p,S,z){const F=typeof S=="number"?le(p,S):null;if(typeof S=="number"&&!F)return null;const G=y(z),_e=z.props.offsetParent||G.offsetParent||G.ownerDocument.body;return ge(F||p,_e,z.props.scale)}function ke(p,S,z){const F=!e(p.lastX),G=y(p);return F?{node:G,deltaX:0,deltaY:0,lastX:S,lastY:z,x:S,y:z}:{node:G,deltaX:S-p.lastX,deltaY:z-p.lastY,lastX:p.lastX,lastY:p.lastY,x:S,y:z}}function we(p,S){const z=p.props.scale;return{node:S.node,x:p.state.x+S.deltaX/z,y:p.state.y+S.deltaY/z,deltaX:S.deltaX/z,deltaY:S.deltaY/z,lastX:p.state.x,lastY:p.state.y}}function Le(p){return{left:p.left,top:p.top,right:p.right,bottom:p.bottom}}function y(p){const S=p.findDOMNode();if(!S)throw new Error("<DraggableCore>: Unmounted during event!");return S}var m=b(oe),C=b(Ue()),B=b(It);function re(...p){n.DRAGGABLE_DEBUG&&console.log(...p)}var X={touch:{start:"touchstart",move:"touchmove",stop:"touchend"},mouse:{start:"mousedown",move:"mousemove",stop:"mouseup"}},se=X.mouse,me=class extends m.Component{constructor(){super(...arguments),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,this.touchIdentifier=null,this.mounted=!1,this.handleDragStart=p=>{if(this.props.onMouseDown(p),!this.props.allowAnyClick&&(typeof p.button=="number"&&p.button!==0||p.ctrlKey))return!1;const S=this.findDOMNode();if(!S||!S.ownerDocument||!S.ownerDocument.body)throw new Error("<DraggableCore> not mounted on DragStart!");const{ownerDocument:z}=S;if(this.props.disabled||!(p.target instanceof z.defaultView.Node)||this.props.handle&&!V(p.target,this.props.handle,S)||this.props.cancel&&V(p.target,this.props.cancel,S))return;p.type==="touchstart"&&!this.props.allowMobileScroll&&p.preventDefault();const F=ie(p);this.touchIdentifier=F;const G=ye(p,F,this);if(G==null)return;const{x:_e,y:ve}=G,De=ke(this,_e,ve);re("DraggableCore: handleDragStart: %j",De),re("calling",this.props.onStart),!(this.props.onStart(p,De)===!1||this.mounted===!1)&&(this.props.enableUserSelectHack&&ce(z),this.dragging=!0,this.lastX=_e,this.lastY=ve,U(z,se.move,this.handleDrag),U(z,se.stop,this.handleDragStop))},this.handleDrag=p=>{const S=ye(p,this.touchIdentifier,this);if(S==null)return;let{x:z,y:F}=S;if(Array.isArray(this.props.grid)){let ve=z-this.lastX,De=F-this.lastY;if([ve,De]=J(this.props.grid,ve,De),!ve&&!De)return;z=this.lastX+ve,F=this.lastY+De}const G=ke(this,z,F);if(re("DraggableCore: handleDrag: %j",G),this.props.onDrag(p,G)===!1||this.mounted===!1){try{this.handleDragStop(new MouseEvent("mouseup"))}catch{const ve=document.createEvent("MouseEvents");ve.initMouseEvent("mouseup",!0,!0,window,0,0,0,0,0,!1,!1,!1,!1,0,null),this.handleDragStop(ve)}return}this.lastX=z,this.lastY=F},this.handleDragStop=p=>{if(!this.dragging)return;const S=ye(p,this.touchIdentifier,this);if(S==null)return;let{x:z,y:F}=S;if(Array.isArray(this.props.grid)){let De=z-this.lastX||0,Me=F-this.lastY||0;[De,Me]=J(this.props.grid,De,Me),z=this.lastX+De,F=this.lastY+Me}const G=ke(this,z,F);if(this.props.onStop(p,G)===!1||this.mounted===!1)return!1;const ve=this.findDOMNode();ve&&this.props.enableUserSelectHack&&he(ve.ownerDocument),re("DraggableCore: handleDragStop: %j",G),this.dragging=!1,this.lastX=NaN,this.lastY=NaN,ve&&(re("DraggableCore: Removing handlers"),K(ve.ownerDocument,se.move,this.handleDrag),K(ve.ownerDocument,se.stop,this.handleDragStop))},this.onMouseDown=p=>(se=X.mouse,this.handleDragStart(p)),this.onMouseUp=p=>(se=X.mouse,this.handleDragStop(p)),this.onTouchStart=p=>(se=X.touch,this.handleDragStart(p)),this.onTouchEnd=p=>(se=X.touch,this.handleDragStop(p))}componentDidMount(){this.mounted=!0;const p=this.findDOMNode();p&&U(p,X.touch.start,this.onTouchStart,{passive:!1})}componentWillUnmount(){this.mounted=!1;const p=this.findDOMNode();if(p){const{ownerDocument:S}=p;K(S,X.mouse.move,this.handleDrag),K(S,X.touch.move,this.handleDrag),K(S,X.mouse.stop,this.handleDragStop),K(S,X.touch.stop,this.handleDragStop),K(p,X.touch.start,this.onTouchStart,{passive:!1}),this.props.enableUserSelectHack&&he(S)}}findDOMNode(){var p;if((p=this.props)!=null&&p.nodeRef)return this.props.nodeRef.current;const S=B.default;return typeof S.findDOMNode=="function"?S.findDOMNode(this):(re("react-draggable: ReactDOM.findDOMNode is not available in React 19+. You must provide a nodeRef prop. See: https://github.com/react-grid-layout/react-draggable#noderef"),null)}render(){return m.cloneElement(m.Children.only(this.props.children),{onMouseDown:this.onMouseDown,onMouseUp:this.onMouseUp,onTouchEnd:this.onTouchEnd})}};me.displayName="DraggableCore",me.propTypes={allowAnyClick:C.default.bool,allowMobileScroll:C.default.bool,children:C.default.node.isRequired,disabled:C.default.bool,enableUserSelectHack:C.default.bool,offsetParent:function(p,S){if(p[S]&&p[S].nodeType!==1)throw new Error("Draggable's offsetParent must be a DOM Node.")},grid:C.default.arrayOf(C.default.number),handle:C.default.string,cancel:C.default.string,nodeRef:C.default.object,onStart:C.default.func,onDrag:C.default.func,onStop:C.default.func,onMouseDown:C.default.func,scale:C.default.number,className:f,style:f,transform:f},me.defaultProps={allowAnyClick:!1,allowMobileScroll:!1,disabled:!1,enableUserSelectHack:!0,onStart:function(){},onDrag:function(){},onStop:function(){},onMouseDown:function(){},scale:1};var Ce=class extends O.Component{constructor(p){super(p),this.onDragStart=(S,z)=>{if(re("Draggable: onDragStart: %j",z),this.props.onStart(S,we(this,z))===!1)return!1;this.setState({dragging:!0,dragged:!0})},this.onDrag=(S,z)=>{if(!this.state.dragging)return!1;re("Draggable: onDrag: %j",z);const F=we(this,z),G={x:F.x,y:F.y,slackX:0,slackY:0};if(this.props.bounds){const{x:ve,y:De}=G;G.x+=this.state.slackX,G.y+=this.state.slackY;const[Me,Ge]=ee(this,G.x,G.y);G.x=Me,G.y=Ge,G.slackX=this.state.slackX+(ve-G.x),G.slackY=this.state.slackY+(De-G.y),F.x=G.x,F.y=G.y,F.deltaX=G.x-this.state.x,F.deltaY=G.y-this.state.y}if(this.props.onDrag(S,F)===!1)return!1;this.setState(G)},this.onDragStop=(S,z)=>{if(!this.state.dragging||this.props.onStop(S,we(this,z))===!1)return!1;re("Draggable: onDragStop: %j",z);const G={dragging:!1,slackX:0,slackY:0};if(!!this.props.position){const{x:ve,y:De}=this.props.position;G.x=ve,G.y=De}this.setState(G)},this.state={dragging:!1,dragged:!1,x:p.position?p.position.x:p.defaultPosition.x,y:p.position?p.position.y:p.defaultPosition.y,prevPropsPosition:{...p.position},slackX:0,slackY:0,isElementSVG:!1},p.position&&!(p.onDrag||p.onStop)&&console.warn("A `position` was applied to this <Draggable>, without drag handlers. This will make this component effectively undraggable. Please attach `onDrag` or `onStop` handlers so you can adjust the `position` of this element.")}static getDerivedStateFromProps({position:p},{prevPropsPosition:S}){return p&&(!S||p.x!==S.x||p.y!==S.y)?(re("Draggable: getDerivedStateFromProps %j",{position:p,prevPropsPosition:S}),{x:p.x,y:p.y,prevPropsPosition:{...p}}):null}componentDidMount(){typeof window.SVGElement<"u"&&this.findDOMNode()instanceof window.SVGElement&&this.setState({isElementSVG:!0})}componentWillUnmount(){this.state.dragging&&this.setState({dragging:!1})}findDOMNode(){var p;if((p=this.props)!=null&&p.nodeRef)return this.props.nodeRef.current;const S=k.default;return typeof S.findDOMNode=="function"?S.findDOMNode(this):null}render(){const{axis:p,bounds:S,children:z,defaultPosition:F,defaultClassName:G,defaultClassNameDragging:_e,defaultClassNameDragged:ve,position:De,positionOffset:Me,scale:Ge,...$e}=this.props;let mt={},et=null;const Ve=!!!De||this.state.dragging,tt=De||F,rt={x:ae(this)&&Ve?this.state.x:tt.x,y:W(this)&&Ve?this.state.y:tt.y};this.state.isElementSVG?et=M(rt,Me):mt=pe(rt,Me);const nt=O.Children.only(z),tr=(0,g.clsx)(nt.props.className||"",G,{[_e]:this.state.dragging,[ve]:this.state.dragged});return O.createElement(me,{...$e,onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop},O.cloneElement(nt,{className:tr,style:{...nt.props.style,...mt},transform:et}))}};return Ce.displayName="Draggable",Ce.propTypes={...me.propTypes,axis:N.default.oneOf(["both","x","y","none"]),bounds:N.default.oneOfType([N.default.shape({left:N.default.number,right:N.default.number,top:N.default.number,bottom:N.default.number}),N.default.string,N.default.oneOf([!1])]),defaultClassName:N.default.string,defaultClassNameDragging:N.default.string,defaultClassNameDragged:N.default.string,defaultPosition:N.default.shape({x:N.default.number,y:N.default.number}),positionOffset:N.default.shape({x:N.default.oneOfType([N.default.number,N.default.string]),y:N.default.oneOfType([N.default.number,N.default.string])}),position:N.default.shape({x:N.default.number,y:N.default.number}),className:f,style:f,transform:f},Ce.defaultProps={...me.defaultProps,axis:"both",bounds:!1,defaultClassName:"react-draggable",defaultClassNameDragging:"react-draggable-dragging",defaultClassNameDragged:"react-draggable-dragged",defaultPosition:{x:0,y:0},scale:1},Xt}var Dr;function Jt(){if(Dr)return dt.exports;Dr=1;const n=An(),i=n.DraggableCore,o=n.default||n;return dt.exports=o,dt.exports.default=o,dt.exports.DraggableCore=i,dt.exports}var ft={exports:{}},pt={},Dt={},Tr;function Ln(){if(Tr)return Dt;Tr=1,Dt.__esModule=!0,Dt.cloneElement=E;var n=i(oe);function i(x){return x&&x.__esModule?x:{default:x}}function o(x,b){var _=Object.keys(x);if(Object.getOwnPropertySymbols){var D=Object.getOwnPropertySymbols(x);b&&(D=D.filter(function(O){return Object.getOwnPropertyDescriptor(x,O).enumerable})),_.push.apply(_,D)}return _}function s(x){for(var b=1;b<arguments.length;b++){var _=arguments[b]!=null?arguments[b]:{};b%2?o(Object(_),!0).forEach(function(D){c(x,D,_[D])}):Object.getOwnPropertyDescriptors?Object.defineProperties(x,Object.getOwnPropertyDescriptors(_)):o(Object(_)).forEach(function(D){Object.defineProperty(x,D,Object.getOwnPropertyDescriptor(_,D))})}return x}function c(x,b,_){return(b=u(b))in x?Object.defineProperty(x,b,{value:_,enumerable:!0,configurable:!0,writable:!0}):x[b]=_,x}function u(x){var b=w(x,"string");return typeof b=="symbol"?b:b+""}function w(x,b){if(typeof x!="object"||!x)return x;var _=x[Symbol.toPrimitive];if(_!==void 0){var D=_.call(x,b);if(typeof D!="object")return D;throw new TypeError("@@toPrimitive must return a primitive value.")}return(b==="string"?String:Number)(x)}function E(x,b){return b.style&&x.props.style&&(b.style=s(s({},x.props.style),b.style)),b.className&&x.props.className&&(b.className=x.props.className+" "+b.className),n.default.cloneElement(x,b)}return Dt}var ht={},zr;function kr(){if(zr)return ht;zr=1,ht.__esModule=!0,ht.resizableProps=void 0;var n=i(Ue());Jt();function i(o){return o&&o.__esModule?o:{default:o}}return ht.resizableProps={axis:n.default.oneOf(["both","x","y","none"]),className:n.default.string,children:n.default.element.isRequired,draggableOpts:n.default.shape({allowAnyClick:n.default.bool,cancel:n.default.string,children:n.default.node,disabled:n.default.bool,enableUserSelectHack:n.default.bool,offsetParent:typeof Element<"u"?n.default.instanceOf(Element):n.default.any,grid:n.default.arrayOf(n.default.number),handle:n.default.string,nodeRef:n.default.object,onStart:n.default.func,onDrag:n.default.func,onStop:n.default.func,onMouseDown:n.default.func,scale:n.default.number}),height:function(){for(var o=arguments.length,s=new Array(o),c=0;c<o;c++)s[c]=arguments[c];const u=s[0];return u.axis==="both"||u.axis==="y"?n.default.number.isRequired(...s):n.default.number(...s)},handle:n.default.oneOfType([n.default.node,n.default.func]),handleSize:n.default.arrayOf(n.default.number),lockAspectRatio:n.default.bool,maxConstraints:n.default.arrayOf(n.default.number),minConstraints:n.default.arrayOf(n.default.number),onResizeStop:n.default.func,onResizeStart:n.default.func,onResize:n.default.func,resizeHandles:n.default.arrayOf(n.default.oneOf(["s","w","e","n","sw","nw","se","ne"])),transformScale:n.default.number,width:function(){for(var o=arguments.length,s=new Array(o),c=0;c<o;c++)s[c]=arguments[c];const u=s[0];return u.axis==="both"||u.axis==="x"?n.default.number.isRequired(...s):n.default.number(...s)}},ht}var Mr;function Ir(){if(Mr)return pt;Mr=1,pt.__esModule=!0,pt.default=void 0;var n=u(oe),i=Jt(),o=Ln(),s=kr();const c=["children","className","draggableOpts","width","height","handle","handleSize","lockAspectRatio","axis","minConstraints","maxConstraints","onResize","onResizeStop","onResizeStart","resizeHandles","transformScale"];function u(k,g){if(typeof WeakMap=="function")var d=new WeakMap,r=new WeakMap;return(u=function(e,a){if(!a&&e&&e.__esModule)return e;var f,l,j={__proto__:null,default:e};if(e===null||typeof e!="object"&&typeof e!="function")return j;if(f=a?r:d){if(f.has(e))return f.get(e);f.set(e,j)}for(const v in e)v!=="default"&&{}.hasOwnProperty.call(e,v)&&((l=(f=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,v))&&(l.get||l.set)?f(j,v,l):j[v]=e[v]);return j})(k,g)}function w(){return w=Object.assign?Object.assign.bind():function(k){for(var g=1;g<arguments.length;g++){var d=arguments[g];for(var r in d)({}).hasOwnProperty.call(d,r)&&(k[r]=d[r])}return k},w.apply(null,arguments)}function E(k,g){if(k==null)return{};var d={};for(var r in k)if({}.hasOwnProperty.call(k,r)){if(g.indexOf(r)!==-1)continue;d[r]=k[r]}return d}function x(k,g){var d=Object.keys(k);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(k);g&&(r=r.filter(function(e){return Object.getOwnPropertyDescriptor(k,e).enumerable})),d.push.apply(d,r)}return d}function b(k){for(var g=1;g<arguments.length;g++){var d=arguments[g]!=null?arguments[g]:{};g%2?x(Object(d),!0).forEach(function(r){_(k,r,d[r])}):Object.getOwnPropertyDescriptors?Object.defineProperties(k,Object.getOwnPropertyDescriptors(d)):x(Object(d)).forEach(function(r){Object.defineProperty(k,r,Object.getOwnPropertyDescriptor(d,r))})}return k}function _(k,g,d){return(g=D(g))in k?Object.defineProperty(k,g,{value:d,enumerable:!0,configurable:!0,writable:!0}):k[g]=d,k}function D(k){var g=O(k,"string");return typeof g=="symbol"?g:g+""}function O(k,g){if(typeof k!="object"||!k)return k;var d=k[Symbol.toPrimitive];if(d!==void 0){var r=d.call(k,g);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return(g==="string"?String:Number)(k)}let N=class extends n.Component{constructor(){super(...arguments),this.handleRefs={},this.lastHandleRect=null,this.slack=null,this.lastSize=null}componentWillUnmount(){this.resetData()}resetData(){this.lastHandleRect=this.slack=this.lastSize=null}runConstraints(g,d){const r=this.props,e=r.minConstraints,a=r.maxConstraints,f=r.lockAspectRatio;if(!e&&!a&&!f)return[g,d];if(f){const I=this.props.width/this.props.height,H=g-this.props.width,V=d-this.props.height;Math.abs(H)>Math.abs(V*I)?d=g/I:g=d*I}const l=g,j=d;let v=this.slack||[0,0],R=v[0],T=v[1];return g+=R,d+=T,e&&(g=Math.max(e[0],g),d=Math.max(e[1],d)),a&&(g=Math.min(a[0],g),d=Math.min(a[1],d)),this.slack=[R+(l-g),T+(j-d)],[g,d]}resizeHandler(g,d){return(r,e)=>{var a,f,l,j;let v=e.node,R=e.deltaX,T=e.deltaY;g==="onResizeStart"&&this.resetData();const I=(this.props.axis==="both"||this.props.axis==="x")&&d!=="n"&&d!=="s",H=(this.props.axis==="both"||this.props.axis==="y")&&d!=="e"&&d!=="w";if(!I&&!H)return;const V=d[0],U=d[d.length-1],K=v.getBoundingClientRect();if(this.lastHandleRect!=null){if(U==="w"){const ie=K.left-this.lastHandleRect.left;R+=ie}if(V==="n"){const ie=K.top-this.lastHandleRect.top;T+=ie}}this.lastHandleRect=K,U==="w"&&(R=-R),V==="n"&&(T=-T);const $=(a=(f=this.lastSize)==null?void 0:f.width)!=null?a:this.props.width,Q=(l=(j=this.lastSize)==null?void 0:j.height)!=null?l:this.props.height;let Z=$+(I?R/this.props.transformScale:0),ne=Q+(H?T/this.props.transformScale:0);var ge=this.runConstraints(Z,ne);if(Z=ge[0],ne=ge[1],g==="onResizeStop"&&this.lastSize){var pe=this.lastSize;Z=pe.width,ne=pe.height}const M=Z!==$||ne!==Q;g!=="onResizeStop"&&(this.lastSize={width:Z,height:ne});const L=typeof this.props[g]=="function"?this.props[g]:null;L&&!(g==="onResize"&&!M)&&(r.persist==null||r.persist(),L(r,{node:v,size:{width:Z,height:ne},handle:d})),g==="onResizeStop"&&this.resetData()}}renderResizeHandle(g,d){const r=this.props.handle;if(!r)return n.createElement("span",{className:"react-resizable-handle react-resizable-handle-"+g,ref:d});if(typeof r=="function")return r(g,d);const e=typeof r.type=="string",a=b({ref:d},e?{}:{handleAxis:g});return n.cloneElement(r,a)}render(){const g=this.props,d=g.children,r=g.className,e=g.draggableOpts;g.width,g.height,g.handle,g.handleSize,g.lockAspectRatio,g.axis,g.minConstraints,g.maxConstraints,g.onResize,g.onResizeStop,g.onResizeStart;const a=g.resizeHandles;g.transformScale;const f=E(g,c);return(0,o.cloneElement)(d,b(b({},f),{},{className:(r?r+" ":"")+"react-resizable",children:[...n.Children.toArray(d.props.children),...a.map(l=>{var j;const v=(j=this.handleRefs[l])!=null?j:this.handleRefs[l]=n.createRef();return n.createElement(i.DraggableCore,w({},e,{nodeRef:v,key:"resizableHandle-"+l,onStop:this.resizeHandler("onResizeStop",l),onStart:this.resizeHandler("onResizeStart",l),onDrag:this.resizeHandler("onResize",l)}),this.renderResizeHandle(l,v))})]}))}};return pt.default=N,N.propTypes=s.resizableProps,N.defaultProps={axis:"both",handleSize:[20,20],lockAspectRatio:!1,minConstraints:[20,20],maxConstraints:[1/0,1/0],resizeHandles:["se"],transformScale:1},pt}var gt={},Ar;function Nn(){if(Ar)return gt;Ar=1,gt.__esModule=!0,gt.default=void 0;var n=w(oe),i=u(Ue()),o=u(Ir()),s=kr();const c=["handle","handleSize","onResize","onResizeStart","onResizeStop","draggableOpts","minConstraints","maxConstraints","lockAspectRatio","axis","width","height","resizeHandles","style","transformScale"];function u(g){return g&&g.__esModule?g:{default:g}}function w(g,d){if(typeof WeakMap=="function")var r=new WeakMap,e=new WeakMap;return(w=function(a,f){if(!f&&a&&a.__esModule)return a;var l,j,v={__proto__:null,default:a};if(a===null||typeof a!="object"&&typeof a!="function")return v;if(l=f?e:r){if(l.has(a))return l.get(a);l.set(a,v)}for(const R in a)R!=="default"&&{}.hasOwnProperty.call(a,R)&&((j=(l=Object.defineProperty)&&Object.getOwnPropertyDescriptor(a,R))&&(j.get||j.set)?l(v,R,j):v[R]=a[R]);return v})(g,d)}function E(){return E=Object.assign?Object.assign.bind():function(g){for(var d=1;d<arguments.length;d++){var r=arguments[d];for(var e in r)({}).hasOwnProperty.call(r,e)&&(g[e]=r[e])}return g},E.apply(null,arguments)}function x(g,d){var r=Object.keys(g);if(Object.getOwnPropertySymbols){var e=Object.getOwnPropertySymbols(g);d&&(e=e.filter(function(a){return Object.getOwnPropertyDescriptor(g,a).enumerable})),r.push.apply(r,e)}return r}function b(g){for(var d=1;d<arguments.length;d++){var r=arguments[d]!=null?arguments[d]:{};d%2?x(Object(r),!0).forEach(function(e){_(g,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(g,Object.getOwnPropertyDescriptors(r)):x(Object(r)).forEach(function(e){Object.defineProperty(g,e,Object.getOwnPropertyDescriptor(r,e))})}return g}function _(g,d,r){return(d=D(d))in g?Object.defineProperty(g,d,{value:r,enumerable:!0,configurable:!0,writable:!0}):g[d]=r,g}function D(g){var d=O(g,"string");return typeof d=="symbol"?d:d+""}function O(g,d){if(typeof g!="object"||!g)return g;var r=g[Symbol.toPrimitive];if(r!==void 0){var e=r.call(g,d);if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(d==="string"?String:Number)(g)}function N(g,d){if(g==null)return{};var r={};for(var e in g)if({}.hasOwnProperty.call(g,e)){if(d.indexOf(e)!==-1)continue;r[e]=g[e]}return r}let k=class extends n.Component{constructor(){super(...arguments),this.state={width:this.props.width,height:this.props.height,propsWidth:this.props.width,propsHeight:this.props.height},this.onResize=(d,r)=>{const e=r.size;this.props.onResize?(d.persist==null||d.persist(),this.setState(e,()=>this.props.onResize&&this.props.onResize(d,r))):this.setState(e)}}static getDerivedStateFromProps(d,r){return r.propsWidth!==d.width||r.propsHeight!==d.height?{width:d.width,height:d.height,propsWidth:d.width,propsHeight:d.height}:null}render(){const d=this.props,r=d.handle,e=d.handleSize;d.onResize;const a=d.onResizeStart,f=d.onResizeStop,l=d.draggableOpts,j=d.minConstraints,v=d.maxConstraints,R=d.lockAspectRatio,T=d.axis;d.width,d.height;const I=d.resizeHandles,H=d.style,V=d.transformScale,U=N(d,c);return n.createElement(o.default,{axis:T,draggableOpts:l,handle:r,handleSize:e,height:this.state.height,lockAspectRatio:R,maxConstraints:v,minConstraints:j,onResizeStart:a,onResize:this.onResize,onResizeStop:f,resizeHandles:I,transformScale:V,width:this.state.width},n.createElement("div",E({},U,{style:b(b({},H),{},{width:this.state.width+"px",height:this.state.height+"px"})})))}};return gt.default=k,k.propTypes=b(b({},s.resizableProps),{},{children:i.default.element}),gt}var Lr;function Wn(){return Lr||(Lr=1,ft.exports=function(){throw new Error("Don't instantiate Resizable directly! Use require('react-resizable').Resizable")},ft.exports.Resizable=Ir().default,ft.exports.ResizableBox=Nn().default),ft.exports}var Ye={},Nr;function Wr(){if(Nr)return Ye;Nr=1;var n={};Object.defineProperty(Ye,"__esModule",{value:!0}),Ye.resizeHandleType=Ye.resizeHandleAxesType=Ye.default=void 0;var i=s(Ue()),o=s(oe);function s(w){return w&&w.__esModule?w:{default:w}}const c=Ye.resizeHandleAxesType=i.default.arrayOf(i.default.oneOf(["s","w","e","n","sw","nw","se","ne"])),u=Ye.resizeHandleType=i.default.oneOfType([i.default.node,i.default.func]);return Ye.default={className:i.default.string,style:i.default.object,width:i.default.number,autoSize:i.default.bool,cols:i.default.number,draggableCancel:i.default.string,draggableHandle:i.default.string,verticalCompact:function(w){w.verticalCompact===!1&&n.NODE_ENV!=="production"&&console.warn('`verticalCompact` on <ReactGridLayout> is deprecated and will be removed soon. Use `compactType`: "horizontal" | "vertical" | null.')},compactType:i.default.oneOf(["vertical","horizontal"]),layout:function(w){var E=w.layout;E!==void 0&&Qe().validateLayout(E,"layout")},margin:i.default.arrayOf(i.default.number),containerPadding:i.default.arrayOf(i.default.number),rowHeight:i.default.number,maxRows:i.default.number,isBounded:i.default.bool,isDraggable:i.default.bool,isResizable:i.default.bool,allowOverlap:i.default.bool,preventCollision:i.default.bool,useCSSTransforms:i.default.bool,transformScale:i.default.number,isDroppable:i.default.bool,resizeHandles:c,resizeHandle:u,onLayoutChange:i.default.func,onDragStart:i.default.func,onDrag:i.default.func,onDragStop:i.default.func,onResizeStart:i.default.func,onResize:i.default.func,onResizeStop:i.default.func,onDrop:i.default.func,droppingItem:i.default.shape({i:i.default.string.isRequired,w:i.default.number.isRequired,h:i.default.number.isRequired}),children:function(w,E){const x=w[E],b={};o.default.Children.forEach(x,function(_){if((_==null?void 0:_.key)!=null){if(b[_.key])throw new Error('Duplicate child key "'+_.key+'" found! This will cause problems in ReactGridLayout.');b[_.key]=!0}})},innerRef:i.default.any},Ye}var Hr;function Hn(){if(Hr)return ut;Hr=1,Object.defineProperty(ut,"__esModule",{value:!0}),ut.default=void 0;var n=b(oe),i=It,o=b(Ue()),s=Jt(),c=Wn(),u=Qe(),w=Bt(),E=Wr(),x=b(_t());function b(d){return d&&d.__esModule?d:{default:d}}function _(d,r){var e=Object.keys(d);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(d);r&&(a=a.filter(function(f){return Object.getOwnPropertyDescriptor(d,f).enumerable})),e.push.apply(e,a)}return e}function D(d){for(var r=1;r<arguments.length;r++){var e=arguments[r]!=null?arguments[r]:{};r%2?_(Object(e),!0).forEach(function(a){O(d,a,e[a])}):Object.getOwnPropertyDescriptors?Object.defineProperties(d,Object.getOwnPropertyDescriptors(e)):_(Object(e)).forEach(function(a){Object.defineProperty(d,a,Object.getOwnPropertyDescriptor(e,a))})}return d}function O(d,r,e){return(r=N(r))in d?Object.defineProperty(d,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):d[r]=e,d}function N(d){var r=k(d,"string");return typeof r=="symbol"?r:r+""}function k(d,r){if(typeof d!="object"||!d)return d;var e=d[Symbol.toPrimitive];if(e!==void 0){var a=e.call(d,r);if(typeof a!="object")return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return(r==="string"?String:Number)(d)}let g=class extends n.default.Component{constructor(){super(...arguments),O(this,"state",{resizing:null,dragging:null,className:""}),O(this,"elementRef",n.default.createRef()),O(this,"onDragStart",(r,e)=>{let{node:a}=e;const{onDragStart:f,transformScale:l}=this.props;if(!f)return;const j={top:0,left:0},{offsetParent:v}=a;if(!v)return;const R=v.getBoundingClientRect(),T=a.getBoundingClientRect(),I=T.left/l,H=R.left/l,V=T.top/l,U=R.top/l;j.left=I-H+v.scrollLeft,j.top=V-U+v.scrollTop,this.setState({dragging:j});const{x:K,y:$}=(0,w.calcXY)(this.getPositionParams(),j.top,j.left,this.props.w,this.props.h);return f.call(this,this.props.i,K,$,{e:r,node:a,newPosition:j})}),O(this,"onDrag",(r,e,a)=>{let{node:f,deltaX:l,deltaY:j}=e;const{onDrag:v}=this.props;if(!v)return;if(!this.state.dragging)throw new Error("onDrag called before onDragStart.");let R=this.state.dragging.top+j,T=this.state.dragging.left+l;const{isBounded:I,i:H,w:V,h:U,containerWidth:K}=this.props,$=this.getPositionParams();if(I){const{offsetParent:ge}=f;if(ge){const{margin:pe,rowHeight:M}=this.props,L=ge.clientHeight-(0,w.calcGridItemWHPx)(U,M,pe[1]);R=(0,w.clamp)(R,0,L);const le=(0,w.calcGridColWidth)($),ie=K-(0,w.calcGridItemWHPx)(V,le,pe[0]);T=(0,w.clamp)(T,0,ie)}}const Q={top:R,left:T};a?this.setState({dragging:Q}):(0,i.flushSync)(()=>{this.setState({dragging:Q})});const{x:Z,y:ne}=(0,w.calcXY)($,R,T,V,U);return v.call(this,H,Z,ne,{e:r,node:f,newPosition:Q})}),O(this,"onDragStop",(r,e)=>{let{node:a}=e;const{onDragStop:f}=this.props;if(!f)return;if(!this.state.dragging)throw new Error("onDragEnd called before onDragStart.");const{w:l,h:j,i:v}=this.props,{left:R,top:T}=this.state.dragging,I={top:T,left:R};this.setState({dragging:null});const{x:H,y:V}=(0,w.calcXY)(this.getPositionParams(),T,R,l,j);return f.call(this,v,H,V,{e:r,node:a,newPosition:I})}),O(this,"onResizeStop",(r,e,a)=>this.onResizeHandler(r,e,a,"onResizeStop")),O(this,"onResizeStart",(r,e,a)=>this.onResizeHandler(r,e,a,"onResizeStart")),O(this,"onResize",(r,e,a)=>this.onResizeHandler(r,e,a,"onResize"))}shouldComponentUpdate(r,e){if(this.props.children!==r.children||this.props.droppingPosition!==r.droppingPosition)return!0;const a=(0,w.calcGridItemPosition)(this.getPositionParams(this.props),this.props.x,this.props.y,this.props.w,this.props.h,this.state),f=(0,w.calcGridItemPosition)(this.getPositionParams(r),r.x,r.y,r.w,r.h,e);return!(0,u.fastPositionEqual)(a,f)||this.props.useCSSTransforms!==r.useCSSTransforms}componentDidMount(){this.moveDroppingItem({})}componentDidUpdate(r){this.moveDroppingItem(r)}moveDroppingItem(r){const{droppingPosition:e}=this.props;if(!e)return;const a=this.elementRef.current;if(!a)return;const f=r.droppingPosition||{left:0,top:0},{dragging:l}=this.state,j=l&&e.left!==f.left||e.top!==f.top;if(!l)this.onDragStart(e.e,{node:a,deltaX:e.left,deltaY:e.top});else if(j){const v=e.left-l.left,R=e.top-l.top;this.onDrag(e.e,{node:a,deltaX:v,deltaY:R},!0)}}getPositionParams(){let r=arguments.length>0&&arguments[0]!==void 0?arguments[0]:this.props;return{cols:r.cols,containerPadding:r.containerPadding,containerWidth:r.containerWidth,margin:r.margin,maxRows:r.maxRows,rowHeight:r.rowHeight}}createStyle(r){const{usePercentages:e,containerWidth:a,useCSSTransforms:f}=this.props;let l;return f?l=(0,u.setTransform)(r):(l=(0,u.setTopLeft)(r),e&&(l.left=(0,u.perc)(r.left/a),l.width=(0,u.perc)(r.width/a))),l}mixinDraggable(r,e){return n.default.createElement(s.DraggableCore,{disabled:!e,onStart:this.onDragStart,onDrag:this.onDrag,onStop:this.onDragStop,handle:this.props.handle,cancel:".react-resizable-handle"+(this.props.cancel?","+this.props.cancel:""),scale:this.props.transformScale,nodeRef:this.elementRef},r)}curryResizeHandler(r,e){return(a,f)=>e(a,f,r)}mixinResizable(r,e,a){const{cols:f,minW:l,minH:j,maxW:v,maxH:R,transformScale:T,resizeHandles:I,resizeHandle:H}=this.props,V=this.getPositionParams(),U=(0,w.calcGridItemPosition)(V,0,0,f,0).width,K=(0,w.calcGridItemPosition)(V,0,0,l,j),$=(0,w.calcGridItemPosition)(V,0,0,v,R),Q=[K.width,K.height],Z=[Math.min($.width,U),Math.min($.height,1/0)];return n.default.createElement(c.Resizable,{draggableOpts:{disabled:!a},className:a?void 0:"react-resizable-hide",width:e.width,height:e.height,minConstraints:Q,maxConstraints:Z,onResizeStop:this.curryResizeHandler(e,this.onResizeStop),onResizeStart:this.curryResizeHandler(e,this.onResizeStart),onResize:this.curryResizeHandler(e,this.onResize),transformScale:T,resizeHandles:I,handle:H},r)}onResizeHandler(r,e,a,f){let{node:l,size:j,handle:v}=e;const R=this.props[f];if(!R)return;const{x:T,y:I,i:H,maxH:V,minH:U,containerWidth:K}=this.props,{minW:$,maxW:Q}=this.props;let Z=j;l&&(Z=(0,u.resizeItemInDirection)(v,a,j,K),(0,i.flushSync)(()=>{this.setState({resizing:f==="onResizeStop"?null:Z})}));let{w:ne,h:ge}=(0,w.calcWH)(this.getPositionParams(),Z.width,Z.height,T,I,v);ne=(0,w.clamp)(ne,Math.max($,1),Q),ge=(0,w.clamp)(ge,U,V),R.call(this,H,ne,ge,{e:r,node:l,size:Z,handle:v})}render(){const{x:r,y:e,w:a,h:f,isDraggable:l,isResizable:j,droppingPosition:v,useCSSTransforms:R}=this.props,T=(0,w.calcGridItemPosition)(this.getPositionParams(),r,e,a,f,this.state),I=n.default.Children.only(this.props.children);let H=n.default.cloneElement(I,{ref:this.elementRef,className:(0,x.default)("react-grid-item",I.props.className,this.props.className,{static:this.props.static,resizing:!!this.state.resizing,"react-draggable":l,"react-draggable-dragging":!!this.state.dragging,dropping:!!v,cssTransforms:R}),style:D(D(D({},this.props.style),I.props.style),this.createStyle(T))});return H=this.mixinResizable(H,T,j),H=this.mixinDraggable(H,l),H}};return ut.default=g,O(g,"propTypes",{children:o.default.element,cols:o.default.number.isRequired,containerWidth:o.default.number.isRequired,rowHeight:o.default.number.isRequired,margin:o.default.array.isRequired,maxRows:o.default.number.isRequired,containerPadding:o.default.array.isRequired,x:o.default.number.isRequired,y:o.default.number.isRequired,w:o.default.number.isRequired,h:o.default.number.isRequired,minW:function(d,r){const e=d[r];if(typeof e!="number")return new Error("minWidth not Number");if(e>d.w||e>d.maxW)return new Error("minWidth larger than item width/maxWidth")},maxW:function(d,r){const e=d[r];if(typeof e!="number")return new Error("maxWidth not Number");if(e<d.w||e<d.minW)return new Error("maxWidth smaller than item width/minWidth")},minH:function(d,r){const e=d[r];if(typeof e!="number")return new Error("minHeight not Number");if(e>d.h||e>d.maxH)return new Error("minHeight larger than item height/maxHeight")},maxH:function(d,r){const e=d[r];if(typeof e!="number")return new Error("maxHeight not Number");if(e<d.h||e<d.minH)return new Error("maxHeight smaller than item height/minHeight")},i:o.default.string.isRequired,resizeHandles:E.resizeHandleAxesType,resizeHandle:E.resizeHandleType,onDragStop:o.default.func,onDragStart:o.default.func,onDrag:o.default.func,onResizeStop:o.default.func,onResizeStart:o.default.func,onResize:o.default.func,isDraggable:o.default.bool.isRequired,isResizable:o.default.bool.isRequired,isBounded:o.default.bool.isRequired,static:o.default.bool,useCSSTransforms:o.default.bool.isRequired,transformScale:o.default.number,className:o.default.string,handle:o.default.string,cancel:o.default.string,droppingPosition:o.default.shape({e:o.default.object.isRequired,left:o.default.number.isRequired,top:o.default.number.isRequired})}),O(g,"defaultProps",{className:"",cancel:"",handle:"",minH:1,minW:1,maxH:1/0,maxW:1/0,transformScale:1}),ut}var Br;function qr(){if(Br)return lt;Br=1,Object.defineProperty(lt,"__esModule",{value:!0}),lt.default=void 0;var n=x(oe),i=Wt(),o=E(_t()),s=Qe(),c=Bt(),u=E(Hn()),w=E(Wr());function E(r){return r&&r.__esModule?r:{default:r}}function x(r,e){if(typeof WeakMap=="function")var a=new WeakMap,f=new WeakMap;return(x=function(l,j){if(!j&&l&&l.__esModule)return l;var v,R,T={__proto__:null,default:l};if(l===null||typeof l!="object"&&typeof l!="function")return T;if(v=j?f:a){if(v.has(l))return v.get(l);v.set(l,T)}for(const I in l)I!=="default"&&{}.hasOwnProperty.call(l,I)&&((R=(v=Object.defineProperty)&&Object.getOwnPropertyDescriptor(l,I))&&(R.get||R.set)?v(T,I,R):T[I]=l[I]);return T})(r,e)}function b(r,e){var a=Object.keys(r);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(r);e&&(f=f.filter(function(l){return Object.getOwnPropertyDescriptor(r,l).enumerable})),a.push.apply(a,f)}return a}function _(r){for(var e=1;e<arguments.length;e++){var a=arguments[e]!=null?arguments[e]:{};e%2?b(Object(a),!0).forEach(function(f){D(r,f,a[f])}):Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(a)):b(Object(a)).forEach(function(f){Object.defineProperty(r,f,Object.getOwnPropertyDescriptor(a,f))})}return r}function D(r,e,a){return(e=O(e))in r?Object.defineProperty(r,e,{value:a,enumerable:!0,configurable:!0,writable:!0}):r[e]=a,r}function O(r){var e=N(r,"string");return typeof e=="symbol"?e:e+""}function N(r,e){if(typeof r!="object"||!r)return r;var a=r[Symbol.toPrimitive];if(a!==void 0){var f=a.call(r,e);if(typeof f!="object")return f;throw new TypeError("@@toPrimitive must return a primitive value.")}return(e==="string"?String:Number)(r)}const k="react-grid-layout";let g=!1;try{g=/firefox/i.test(navigator.userAgent)}catch{}let d=class extends n.Component{constructor(){super(...arguments),D(this,"state",{activeDrag:null,layout:(0,s.synchronizeLayoutWithChildren)(this.props.layout,this.props.children,this.props.cols,(0,s.compactType)(this.props),this.props.allowOverlap),mounted:!1,oldDragItem:null,oldLayout:null,oldResizeItem:null,resizing:!1,droppingDOMNode:null,children:[]}),D(this,"dragEnterCounter",0),D(this,"onDragStart",(e,a,f,l)=>{let{e:j,node:v}=l;const{layout:R}=this.state,T=(0,s.getLayoutItem)(R,e);if(!T)return;const I={w:T.w,h:T.h,x:T.x,y:T.y,placeholder:!0,i:e};return this.setState({oldDragItem:(0,s.cloneLayoutItem)(T),oldLayout:R,activeDrag:I}),this.props.onDragStart(R,T,T,null,j,v)}),D(this,"onDrag",(e,a,f,l)=>{let{e:j,node:v}=l;const{oldDragItem:R}=this.state;let{layout:T}=this.state;const{cols:I,allowOverlap:H,preventCollision:V}=this.props,U=(0,s.getLayoutItem)(T,e);if(!U)return;const K={w:U.w,h:U.h,x:U.x,y:U.y,placeholder:!0,i:e};T=(0,s.moveElement)(T,U,a,f,!0,V,(0,s.compactType)(this.props),I,H),this.props.onDrag(T,R,U,K,j,v),this.setState({layout:H?T:(0,s.compact)(T,(0,s.compactType)(this.props),I),activeDrag:K})}),D(this,"onDragStop",(e,a,f,l)=>{let{e:j,node:v}=l;if(!this.state.activeDrag)return;const{oldDragItem:R}=this.state;let{layout:T}=this.state;const{cols:I,preventCollision:H,allowOverlap:V}=this.props,U=(0,s.getLayoutItem)(T,e);if(!U)return;T=(0,s.moveElement)(T,U,a,f,!0,H,(0,s.compactType)(this.props),I,V);const $=V?T:(0,s.compact)(T,(0,s.compactType)(this.props),I);this.props.onDragStop($,R,U,null,j,v);const{oldLayout:Q}=this.state;this.setState({activeDrag:null,layout:$,oldDragItem:null,oldLayout:null}),this.onLayoutMaybeChanged($,Q)}),D(this,"onResizeStart",(e,a,f,l)=>{let{e:j,node:v}=l;const{layout:R}=this.state,T=(0,s.getLayoutItem)(R,e);T&&(this.setState({oldResizeItem:(0,s.cloneLayoutItem)(T),oldLayout:this.state.layout,resizing:!0}),this.props.onResizeStart(R,T,T,null,j,v))}),D(this,"onResize",(e,a,f,l)=>{let{e:j,node:v,size:R,handle:T}=l;const{oldResizeItem:I}=this.state,{layout:H}=this.state,{cols:V,preventCollision:U,allowOverlap:K}=this.props;let $=!1,Q,Z,ne;const[ge,pe]=(0,s.withLayoutItem)(H,e,L=>{let le;return Z=L.x,ne=L.y,["sw","w","nw","n","ne"].indexOf(T)!==-1&&(["sw","nw","w"].indexOf(T)!==-1&&(Z=L.x+(L.w-a),a=L.x!==Z&&Z<0?L.w:a,Z=Z<0?0:Z),["ne","n","nw"].indexOf(T)!==-1&&(ne=L.y+(L.h-f),f=L.y!==ne&&ne<0?L.h:f,ne=ne<0?0:ne),$=!0),U&&!K&&(le=(0,s.getAllCollisions)(H,_(_({},L),{},{w:a,h:f,x:Z,y:ne})).filter(ce=>ce.i!==L.i).length>0,le&&(ne=L.y,f=L.h,Z=L.x,a=L.w,$=!1)),L.w=a,L.h=f,L});if(!pe)return;Q=ge,$&&(Q=(0,s.moveElement)(ge,pe,Z,ne,!0,this.props.preventCollision,(0,s.compactType)(this.props),V,K));const M={w:pe.w,h:pe.h,x:pe.x,y:pe.y,static:!0,i:e};this.props.onResize(Q,I,pe,M,j,v),this.setState({layout:K?Q:(0,s.compact)(Q,(0,s.compactType)(this.props),V),activeDrag:M})}),D(this,"onResizeStop",(e,a,f,l)=>{let{e:j,node:v}=l;const{layout:R,oldResizeItem:T}=this.state,{cols:I,allowOverlap:H}=this.props,V=(0,s.getLayoutItem)(R,e),U=H?R:(0,s.compact)(R,(0,s.compactType)(this.props),I);this.props.onResizeStop(U,T,V,null,j,v);const{oldLayout:K}=this.state;this.setState({activeDrag:null,layout:U,oldResizeItem:null,oldLayout:null,resizing:!1}),this.onLayoutMaybeChanged(U,K)}),D(this,"onDragOver",e=>{var a;if(e.preventDefault(),e.stopPropagation(),g&&!((a=e.nativeEvent.target)!==null&&a!==void 0&&a.classList.contains(k)))return!1;const{droppingItem:f,onDropDragOver:l,margin:j,cols:v,rowHeight:R,maxRows:T,width:I,containerPadding:H,transformScale:V}=this.props,U=l==null?void 0:l(e);if(U===!1)return this.state.droppingDOMNode&&this.removeDroppingPlaceholder(),!1;const K=_(_({},f),U),{layout:$}=this.state,Q=e.currentTarget.getBoundingClientRect(),Z=e.clientX-Q.left,ne=e.clientY-Q.top,ge={left:Z/V,top:ne/V,e};if(this.state.droppingDOMNode){if(this.state.droppingPosition){const{left:pe,top:M}=this.state.droppingPosition;(pe!=Z||M!=ne)&&this.setState({droppingPosition:ge})}}else{const pe={cols:v,margin:j,maxRows:T,rowHeight:R,containerWidth:I,containerPadding:H||j},M=(0,c.calcXY)(pe,ne,Z,K.w,K.h);this.setState({droppingDOMNode:n.createElement("div",{key:K.i}),droppingPosition:ge,layout:[...$,_(_({},K),{},{x:M.x,y:M.y,static:!1,isDraggable:!0})]})}}),D(this,"removeDroppingPlaceholder",()=>{const{droppingItem:e,cols:a}=this.props,{layout:f}=this.state,l=(0,s.compact)(f.filter(j=>j.i!==e.i),(0,s.compactType)(this.props),a,this.props.allowOverlap);this.setState({layout:l,droppingDOMNode:null,activeDrag:null,droppingPosition:void 0})}),D(this,"onDragLeave",e=>{e.preventDefault(),e.stopPropagation(),this.dragEnterCounter--,this.dragEnterCounter===0&&this.removeDroppingPlaceholder()}),D(this,"onDragEnter",e=>{e.preventDefault(),e.stopPropagation(),this.dragEnterCounter++}),D(this,"onDrop",e=>{e.preventDefault(),e.stopPropagation();const{droppingItem:a}=this.props,{layout:f}=this.state,l=f.find(j=>j.i===a.i);this.dragEnterCounter=0,this.removeDroppingPlaceholder(),this.props.onDrop(f,l,e)})}componentDidMount(){this.setState({mounted:!0}),this.onLayoutMaybeChanged(this.state.layout,this.props.layout)}static getDerivedStateFromProps(e,a){let f;return a.activeDrag?null:(!(0,i.deepEqual)(e.layout,a.propsLayout)||e.compactType!==a.compactType?f=e.layout:(0,s.childrenEqual)(e.children,a.children)||(f=a.layout),f?{layout:(0,s.synchronizeLayoutWithChildren)(f,e.children,e.cols,(0,s.compactType)(e),e.allowOverlap),compactType:e.compactType,children:e.children,propsLayout:e.layout}:null)}shouldComponentUpdate(e,a){return this.props.children!==e.children||!(0,s.fastRGLPropsEqual)(this.props,e,i.deepEqual)||this.state.activeDrag!==a.activeDrag||this.state.mounted!==a.mounted||this.state.droppingPosition!==a.droppingPosition}componentDidUpdate(e,a){if(!this.state.activeDrag){const f=this.state.layout,l=a.layout;this.onLayoutMaybeChanged(f,l)}}containerHeight(){if(!this.props.autoSize)return;const e=(0,s.bottom)(this.state.layout),a=this.props.containerPadding?this.props.containerPadding[1]:this.props.margin[1];return e*this.props.rowHeight+(e-1)*this.props.margin[1]+a*2+"px"}onLayoutMaybeChanged(e,a){a||(a=this.state.layout),(0,i.deepEqual)(a,e)||this.props.onLayoutChange(e)}placeholder(){const{activeDrag:e}=this.state;if(!e)return null;const{width:a,cols:f,margin:l,containerPadding:j,rowHeight:v,maxRows:R,useCSSTransforms:T,transformScale:I}=this.props;return n.createElement(u.default,{w:e.w,h:e.h,x:e.x,y:e.y,i:e.i,className:"react-grid-placeholder ".concat(this.state.resizing?"placeholder-resizing":""),containerWidth:a,cols:f,margin:l,containerPadding:j||l,maxRows:R,rowHeight:v,isDraggable:!1,isResizable:!1,isBounded:!1,useCSSTransforms:T,transformScale:I},n.createElement("div",null))}processGridItem(e,a){if(!e||!e.key)return;const f=(0,s.getLayoutItem)(this.state.layout,String(e.key));if(!f)return null;const{width:l,cols:j,margin:v,containerPadding:R,rowHeight:T,maxRows:I,isDraggable:H,isResizable:V,isBounded:U,useCSSTransforms:K,transformScale:$,draggableCancel:Q,draggableHandle:Z,resizeHandles:ne,resizeHandle:ge}=this.props,{mounted:pe,droppingPosition:M}=this.state,L=typeof f.isDraggable=="boolean"?f.isDraggable:!f.static&&H,le=typeof f.isResizable=="boolean"?f.isResizable:!f.static&&V,ie=f.resizeHandles||ne,ce=L&&U&&f.isBounded!==!1;return n.createElement(u.default,{containerWidth:l,cols:j,margin:v,containerPadding:R||v,maxRows:I,rowHeight:T,cancel:Q,handle:Z,onDragStop:this.onDragStop,onDragStart:this.onDragStart,onDrag:this.onDrag,onResizeStart:this.onResizeStart,onResize:this.onResize,onResizeStop:this.onResizeStop,isDraggable:L,isResizable:le,isBounded:ce,useCSSTransforms:K&&pe,usePercentages:!pe,transformScale:$,w:f.w,h:f.h,x:f.x,y:f.y,i:f.i,minH:f.minH,minW:f.minW,maxH:f.maxH,maxW:f.maxW,static:f.static,droppingPosition:a?M:void 0,resizeHandles:ie,resizeHandle:ge},e)}render(){const{className:e,style:a,isDroppable:f,innerRef:l}=this.props,j=(0,o.default)(k,e),v=_({height:this.containerHeight()},a);return n.createElement("div",{ref:l,className:j,style:v,onDrop:f?this.onDrop:s.noop,onDragLeave:f?this.onDragLeave:s.noop,onDragEnter:f?this.onDragEnter:s.noop,onDragOver:f?this.onDragOver:s.noop},n.Children.map(this.props.children,R=>this.processGridItem(R)),f&&this.state.droppingDOMNode&&this.processGridItem(this.state.droppingDOMNode,!0),this.placeholder())}};return lt.default=d,D(d,"displayName","ReactGridLayout"),D(d,"propTypes",w.default),D(d,"defaultProps",{autoSize:!0,cols:12,className:"",style:{},draggableHandle:"",draggableCancel:"",containerPadding:null,rowHeight:150,maxRows:1/0,layout:[],margin:[10,10],isBounded:!1,isDraggable:!0,isResizable:!0,allowOverlap:!1,isDroppable:!1,useCSSTransforms:!0,transformScale:1,verticalCompact:!0,compactType:"vertical",preventCollision:!1,droppingItem:{i:"__dropping-elem__",h:1,w:1},resizeHandles:["se"],onLayoutChange:s.noop,onDragStart:s.noop,onDrag:s.noop,onDragStop:s.noop,onResizeStart:s.noop,onResize:s.noop,onResizeStop:s.noop,onDrop:s.noop,onDropDragOver:s.noop}),lt}var yt={},Xe={},Fr;function Yr(){if(Fr)return Xe;Fr=1,Object.defineProperty(Xe,"__esModule",{value:!0}),Xe.findOrGenerateResponsiveLayout=s,Xe.getBreakpointFromWidth=i,Xe.getColsFromBreakpoint=o,Xe.sortBreakpoints=c;var n=Qe();function i(u,w){const E=c(u);let x=E[0];for(let b=1,_=E.length;b<_;b++){const D=E[b];w>u[D]&&(x=D)}return x}function o(u,w){if(!w[u])throw new Error("ResponsiveReactGridLayout: `cols` entry for breakpoint "+u+" is missing!");return w[u]}function s(u,w,E,x,b,_){if(u[E])return(0,n.cloneLayout)(u[E]);let D=u[x];const O=c(w),N=O.slice(O.indexOf(E));for(let k=0,g=N.length;k<g;k++){const d=N[k];if(u[d]){D=u[d];break}}return D=(0,n.cloneLayout)(D||[]),(0,n.compact)((0,n.correctBounds)(D,{cols:b}),_,b)}function c(u){return Object.keys(u).sort(function(E,x){return u[E]-u[x]})}return Xe}var Gr;function Bn(){if(Gr)return yt;Gr=1,Object.defineProperty(yt,"__esModule",{value:!0}),yt.default=void 0;var n=x(oe),i=E(Ue()),o=Wt(),s=Qe(),c=Yr(),u=E(qr());const w=["breakpoint","breakpoints","cols","layouts","margin","containerPadding","onBreakpointChange","onLayoutChange","onWidthChange"];function E(f){return f&&f.__esModule?f:{default:f}}function x(f,l){if(typeof WeakMap=="function")var j=new WeakMap,v=new WeakMap;return(x=function(R,T){if(!T&&R&&R.__esModule)return R;var I,H,V={__proto__:null,default:R};if(R===null||typeof R!="object"&&typeof R!="function")return V;if(I=T?v:j){if(I.has(R))return I.get(R);I.set(R,V)}for(const U in R)U!=="default"&&{}.hasOwnProperty.call(R,U)&&((H=(I=Object.defineProperty)&&Object.getOwnPropertyDescriptor(R,U))&&(H.get||H.set)?I(V,U,H):V[U]=R[U]);return V})(f,l)}function b(){return b=Object.assign?Object.assign.bind():function(f){for(var l=1;l<arguments.length;l++){var j=arguments[l];for(var v in j)({}).hasOwnProperty.call(j,v)&&(f[v]=j[v])}return f},b.apply(null,arguments)}function _(f,l){if(f==null)return{};var j,v,R=D(f,l);if(Object.getOwnPropertySymbols){var T=Object.getOwnPropertySymbols(f);for(v=0;v<T.length;v++)j=T[v],l.indexOf(j)===-1&&{}.propertyIsEnumerable.call(f,j)&&(R[j]=f[j])}return R}function D(f,l){if(f==null)return{};var j={};for(var v in f)if({}.hasOwnProperty.call(f,v)){if(l.indexOf(v)!==-1)continue;j[v]=f[v]}return j}function O(f,l){var j=Object.keys(f);if(Object.getOwnPropertySymbols){var v=Object.getOwnPropertySymbols(f);l&&(v=v.filter(function(R){return Object.getOwnPropertyDescriptor(f,R).enumerable})),j.push.apply(j,v)}return j}function N(f){for(var l=1;l<arguments.length;l++){var j=arguments[l]!=null?arguments[l]:{};l%2?O(Object(j),!0).forEach(function(v){k(f,v,j[v])}):Object.getOwnPropertyDescriptors?Object.defineProperties(f,Object.getOwnPropertyDescriptors(j)):O(Object(j)).forEach(function(v){Object.defineProperty(f,v,Object.getOwnPropertyDescriptor(j,v))})}return f}function k(f,l,j){return(l=g(l))in f?Object.defineProperty(f,l,{value:j,enumerable:!0,configurable:!0,writable:!0}):f[l]=j,f}function g(f){var l=d(f,"string");return typeof l=="symbol"?l:l+""}function d(f,l){if(typeof f!="object"||!f)return f;var j=f[Symbol.toPrimitive];if(j!==void 0){var v=j.call(f,l);if(typeof v!="object")return v;throw new TypeError("@@toPrimitive must return a primitive value.")}return(l==="string"?String:Number)(f)}const r=f=>Object.prototype.toString.call(f);function e(f,l){return f==null?null:Array.isArray(f)?f:f[l]}let a=class extends n.Component{constructor(){super(...arguments),k(this,"state",this.generateInitialState()),k(this,"onLayoutChange",l=>{this.props.onLayoutChange(l,N(N({},this.props.layouts),{},{[this.state.breakpoint]:l}))})}generateInitialState(){const{width:l,breakpoints:j,layouts:v,cols:R}=this.props,T=(0,c.getBreakpointFromWidth)(j,l),I=(0,c.getColsFromBreakpoint)(T,R),H=this.props.verticalCompact===!1?null:this.props.compactType;return{layout:(0,c.findOrGenerateResponsiveLayout)(v,j,T,T,I,H),breakpoint:T,cols:I}}static getDerivedStateFromProps(l,j){if(!(0,o.deepEqual)(l.layouts,j.layouts)){const{breakpoint:v,cols:R}=j;return{layout:(0,c.findOrGenerateResponsiveLayout)(l.layouts,l.breakpoints,v,v,R,l.compactType),layouts:l.layouts}}return null}componentDidUpdate(l){(this.props.width!=l.width||this.props.breakpoint!==l.breakpoint||!(0,o.deepEqual)(this.props.breakpoints,l.breakpoints)||!(0,o.deepEqual)(this.props.cols,l.cols))&&this.onWidthChange(l)}onWidthChange(l){const{breakpoints:j,cols:v,layouts:R,compactType:T}=this.props,I=this.props.breakpoint||(0,c.getBreakpointFromWidth)(this.props.breakpoints,this.props.width),H=this.state.breakpoint,V=(0,c.getColsFromBreakpoint)(I,v),U=N({},R);if(H!==I||l.breakpoints!==j||l.cols!==v){H in U||(U[H]=(0,s.cloneLayout)(this.state.layout));let Q=(0,c.findOrGenerateResponsiveLayout)(U,j,I,H,V,T);Q=(0,s.synchronizeLayoutWithChildren)(Q,this.props.children,V,T,this.props.allowOverlap),U[I]=Q,this.props.onBreakpointChange(I,V),this.props.onLayoutChange(Q,U),this.setState({breakpoint:I,layout:Q,cols:V})}const K=e(this.props.margin,I),$=e(this.props.containerPadding,I);this.props.onWidthChange(this.props.width,K,V,$)}render(){const l=this.props,{breakpoint:j,breakpoints:v,cols:R,layouts:T,margin:I,containerPadding:H,onBreakpointChange:V,onLayoutChange:U,onWidthChange:K}=l,$=_(l,w);return n.createElement(u.default,b({},$,{margin:e(I,this.state.breakpoint),containerPadding:e(H,this.state.breakpoint),onLayoutChange:this.onLayoutChange,layout:this.state.layout,cols:this.state.cols}))}};return yt.default=a,k(a,"propTypes",{breakpoint:i.default.string,breakpoints:i.default.object,allowOverlap:i.default.bool,cols:i.default.object,margin:i.default.oneOfType([i.default.array,i.default.object]),containerPadding:i.default.oneOfType([i.default.array,i.default.object]),layouts(f,l){if(r(f[l])!=="[object Object]")throw new Error("Layout property must be an object. Received: "+r(f[l]));Object.keys(f[l]).forEach(j=>{if(!(j in f.breakpoints))throw new Error("Each key in layouts must align with a key in breakpoints.");(0,s.validateLayout)(f.layouts[j],"layouts."+j)})},width:i.default.number.isRequired,onBreakpointChange:i.default.func,onLayoutChange:i.default.func,onWidthChange:i.default.func}),k(a,"defaultProps",{breakpoints:{lg:1200,md:996,sm:768,xs:480,xxs:0},cols:{lg:12,md:10,sm:6,xs:4,xxs:2},containerPadding:{lg:null,md:null,sm:null,xs:null,xxs:null},layouts:{},margin:[10,10],allowOverlap:!1,onBreakpointChange:s.noop,onLayoutChange:s.noop,onWidthChange:s.noop}),yt}var Tt={},Vr=(function(){if(typeof Map<"u")return Map;function n(i,o){var s=-1;return i.some(function(c,u){return c[0]===o?(s=u,!0):!1}),s}return(function(){function i(){this.__entries__=[]}return Object.defineProperty(i.prototype,"size",{get:function(){return this.__entries__.length},enumerable:!0,configurable:!0}),i.prototype.get=function(o){var s=n(this.__entries__,o),c=this.__entries__[s];return c&&c[1]},i.prototype.set=function(o,s){var c=n(this.__entries__,o);~c?this.__entries__[c][1]=s:this.__entries__.push([o,s])},i.prototype.delete=function(o){var s=this.__entries__,c=n(s,o);~c&&s.splice(c,1)},i.prototype.has=function(o){return!!~n(this.__entries__,o)},i.prototype.clear=function(){this.__entries__.splice(0)},i.prototype.forEach=function(o,s){s===void 0&&(s=null);for(var c=0,u=this.__entries__;c<u.length;c++){var w=u[c];o.call(s,w[1],w[0])}},i})()})(),Kt=typeof window<"u"&&typeof document<"u"&&window.document===document,zt=(function(){return typeof global<"u"&&global.Math===Math?global:typeof self<"u"&&self.Math===Math?self:typeof window<"u"&&window.Math===Math?window:Function("return this")()})(),qn=(function(){return typeof requestAnimationFrame=="function"?requestAnimationFrame.bind(zt):function(n){return setTimeout(function(){return n(Date.now())},1e3/60)}})(),Fn=2;function Yn(n,i){var o=!1,s=!1,c=0;function u(){o&&(o=!1,n()),s&&E()}function w(){qn(u)}function E(){var x=Date.now();if(o){if(x-c<Fn)return;s=!0}else o=!0,s=!1,setTimeout(w,i);c=x}return E}var Gn=20,Vn=["top","right","bottom","left","width","height","size","weight"],Un=typeof MutationObserver<"u",$n=(function(){function n(){this.connected_=!1,this.mutationEventsAdded_=!1,this.mutationsObserver_=null,this.observers_=[],this.onTransitionEnd_=this.onTransitionEnd_.bind(this),this.refresh=Yn(this.refresh.bind(this),Gn)}return n.prototype.addObserver=function(i){~this.observers_.indexOf(i)||this.observers_.push(i),this.connected_||this.connect_()},n.prototype.removeObserver=function(i){var o=this.observers_,s=o.indexOf(i);~s&&o.splice(s,1),!o.length&&this.connected_&&this.disconnect_()},n.prototype.refresh=function(){var i=this.updateObservers_();i&&this.refresh()},n.prototype.updateObservers_=function(){var i=this.observers_.filter(function(o){return o.gatherActive(),o.hasActive()});return i.forEach(function(o){return o.broadcastActive()}),i.length>0},n.prototype.connect_=function(){!Kt||this.connected_||(document.addEventListener("transitionend",this.onTransitionEnd_),window.addEventListener("resize",this.refresh),Un?(this.mutationsObserver_=new MutationObserver(this.refresh),this.mutationsObserver_.observe(document,{attributes:!0,childList:!0,characterData:!0,subtree:!0})):(document.addEventListener("DOMSubtreeModified",this.refresh),this.mutationEventsAdded_=!0),this.connected_=!0)},n.prototype.disconnect_=function(){!Kt||!this.connected_||(document.removeEventListener("transitionend",this.onTransitionEnd_),window.removeEventListener("resize",this.refresh),this.mutationsObserver_&&this.mutationsObserver_.disconnect(),this.mutationEventsAdded_&&document.removeEventListener("DOMSubtreeModified",this.refresh),this.mutationsObserver_=null,this.mutationEventsAdded_=!1,this.connected_=!1)},n.prototype.onTransitionEnd_=function(i){var o=i.propertyName,s=o===void 0?"":o,c=Vn.some(function(u){return!!~s.indexOf(u)});c&&this.refresh()},n.getInstance=function(){return this.instance_||(this.instance_=new n),this.instance_},n.instance_=null,n})(),Ur=(function(n,i){for(var o=0,s=Object.keys(i);o<s.length;o++){var c=s[o];Object.defineProperty(n,c,{value:i[c],enumerable:!1,writable:!1,configurable:!0})}return n}),Ze=(function(n){var i=n&&n.ownerDocument&&n.ownerDocument.defaultView;return i||zt}),$r=Mt(0,0,0,0);function kt(n){return parseFloat(n)||0}function Xr(n){for(var i=[],o=1;o<arguments.length;o++)i[o-1]=arguments[o];return i.reduce(function(s,c){var u=n["border-"+c+"-width"];return s+kt(u)},0)}function Xn(n){for(var i=["top","right","bottom","left"],o={},s=0,c=i;s<c.length;s++){var u=c[s],w=n["padding-"+u];o[u]=kt(w)}return o}function Jn(n){var i=n.getBBox();return Mt(0,0,i.width,i.height)}function Kn(n){var i=n.clientWidth,o=n.clientHeight;if(!i&&!o)return $r;var s=Ze(n).getComputedStyle(n),c=Xn(s),u=c.left+c.right,w=c.top+c.bottom,E=kt(s.width),x=kt(s.height);if(s.boxSizing==="border-box"&&(Math.round(E+u)!==i&&(E-=Xr(s,"left","right")+u),Math.round(x+w)!==o&&(x-=Xr(s,"top","bottom")+w)),!Zn(n)){var b=Math.round(E+u)-i,_=Math.round(x+w)-o;Math.abs(b)!==1&&(E-=b),Math.abs(_)!==1&&(x-=_)}return Mt(c.left,c.top,E,x)}var Qn=(function(){return typeof SVGGraphicsElement<"u"?function(n){return n instanceof Ze(n).SVGGraphicsElement}:function(n){return n instanceof Ze(n).SVGElement&&typeof n.getBBox=="function"}})();function Zn(n){return n===Ze(n).document.documentElement}function eo(n){return Kt?Qn(n)?Jn(n):Kn(n):$r}function to(n){var i=n.x,o=n.y,s=n.width,c=n.height,u=typeof DOMRectReadOnly<"u"?DOMRectReadOnly:Object,w=Object.create(u.prototype);return Ur(w,{x:i,y:o,width:s,height:c,top:o,right:i+s,bottom:c+o,left:i}),w}function Mt(n,i,o,s){return{x:n,y:i,width:o,height:s}}var ro=(function(){function n(i){this.broadcastWidth=0,this.broadcastHeight=0,this.contentRect_=Mt(0,0,0,0),this.target=i}return n.prototype.isActive=function(){var i=eo(this.target);return this.contentRect_=i,i.width!==this.broadcastWidth||i.height!==this.broadcastHeight},n.prototype.broadcastRect=function(){var i=this.contentRect_;return this.broadcastWidth=i.width,this.broadcastHeight=i.height,i},n})(),no=(function(){function n(i,o){var s=to(o);Ur(this,{target:i,contentRect:s})}return n})(),oo=(function(){function n(i,o,s){if(this.activeObservations_=[],this.observations_=new Vr,typeof i!="function")throw new TypeError("The callback provided as parameter 1 is not a function.");this.callback_=i,this.controller_=o,this.callbackCtx_=s}return n.prototype.observe=function(i){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(i instanceof Ze(i).Element))throw new TypeError('parameter 1 is not of type "Element".');var o=this.observations_;o.has(i)||(o.set(i,new ro(i)),this.controller_.addObserver(this),this.controller_.refresh())}},n.prototype.unobserve=function(i){if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");if(!(typeof Element>"u"||!(Element instanceof Object))){if(!(i instanceof Ze(i).Element))throw new TypeError('parameter 1 is not of type "Element".');var o=this.observations_;o.has(i)&&(o.delete(i),o.size||this.controller_.removeObserver(this))}},n.prototype.disconnect=function(){this.clearActive(),this.observations_.clear(),this.controller_.removeObserver(this)},n.prototype.gatherActive=function(){var i=this;this.clearActive(),this.observations_.forEach(function(o){o.isActive()&&i.activeObservations_.push(o)})},n.prototype.broadcastActive=function(){if(this.hasActive()){var i=this.callbackCtx_,o=this.activeObservations_.map(function(s){return new no(s.target,s.broadcastRect())});this.callback_.call(i,o,i),this.clearActive()}},n.prototype.clearActive=function(){this.activeObservations_.splice(0)},n.prototype.hasActive=function(){return this.activeObservations_.length>0},n})(),Jr=typeof WeakMap<"u"?new WeakMap:new Vr,Kr=(function(){function n(i){if(!(this instanceof n))throw new TypeError("Cannot call a class as a function.");if(!arguments.length)throw new TypeError("1 argument required, but only 0 present.");var o=$n.getInstance(),s=new oo(i,o,this);Jr.set(this,s)}return n})();["observe","unobserve","disconnect"].forEach(function(n){Kr.prototype[n]=function(){var i;return(i=Jr.get(this))[n].apply(i,arguments)}});var io=(function(){return typeof zt.ResizeObserver<"u"?zt.ResizeObserver:Kr})();const so=fn(Object.freeze(Object.defineProperty({__proto__:null,default:io},Symbol.toStringTag,{value:"Module"})));var Qr;function ao(){if(Qr)return Tt;Qr=1,Object.defineProperty(Tt,"__esModule",{value:!0}),Tt.default=k;var n=w(oe),i=u(Ue()),o=u(so),s=u(_t());const c=["measureBeforeMount"];function u(g){return g&&g.__esModule?g:{default:g}}function w(g,d){if(typeof WeakMap=="function")var r=new WeakMap,e=new WeakMap;return(w=function(a,f){if(!f&&a&&a.__esModule)return a;var l,j,v={__proto__:null,default:a};if(a===null||typeof a!="object"&&typeof a!="function")return v;if(l=f?e:r){if(l.has(a))return l.get(a);l.set(a,v)}for(const R in a)R!=="default"&&{}.hasOwnProperty.call(a,R)&&((j=(l=Object.defineProperty)&&Object.getOwnPropertyDescriptor(a,R))&&(j.get||j.set)?l(v,R,j):v[R]=a[R]);return v})(g,d)}function E(){return E=Object.assign?Object.assign.bind():function(g){for(var d=1;d<arguments.length;d++){var r=arguments[d];for(var e in r)({}).hasOwnProperty.call(r,e)&&(g[e]=r[e])}return g},E.apply(null,arguments)}function x(g,d){if(g==null)return{};var r,e,a=b(g,d);if(Object.getOwnPropertySymbols){var f=Object.getOwnPropertySymbols(g);for(e=0;e<f.length;e++)r=f[e],d.indexOf(r)===-1&&{}.propertyIsEnumerable.call(g,r)&&(a[r]=g[r])}return a}function b(g,d){if(g==null)return{};var r={};for(var e in g)if({}.hasOwnProperty.call(g,e)){if(d.indexOf(e)!==-1)continue;r[e]=g[e]}return r}function _(g,d,r){return(d=D(d))in g?Object.defineProperty(g,d,{value:r,enumerable:!0,configurable:!0,writable:!0}):g[d]=r,g}function D(g){var d=O(g,"string");return typeof d=="symbol"?d:d+""}function O(g,d){if(typeof g!="object"||!g)return g;var r=g[Symbol.toPrimitive];if(r!==void 0){var e=r.call(g,d);if(typeof e!="object")return e;throw new TypeError("@@toPrimitive must return a primitive value.")}return(d==="string"?String:Number)(g)}const N="react-grid-layout";function k(g){var d;return d=class extends n.Component{constructor(){super(...arguments),_(this,"state",{width:1280}),_(this,"elementRef",n.createRef()),_(this,"mounted",!1),_(this,"resizeObserver",void 0)}componentDidMount(){this.mounted=!0,this.resizeObserver=new o.default(a=>{if(this.elementRef.current instanceof HTMLElement){const l=a[0].contentRect.width;this.setState({width:l})}});const e=this.elementRef.current;e instanceof HTMLElement&&this.resizeObserver.observe(e)}componentWillUnmount(){this.mounted=!1;const e=this.elementRef.current;e instanceof HTMLElement&&this.resizeObserver.unobserve(e),this.resizeObserver.disconnect()}render(){const e=this.props,{measureBeforeMount:a}=e,f=x(e,c);return a&&!this.mounted?n.createElement("div",{className:(0,s.default)(this.props.className,N),style:this.props.style,ref:this.elementRef}):n.createElement(g,E({innerRef:this.elementRef},f,this.state))}},_(d,"defaultProps",{measureBeforeMount:!1}),_(d,"propTypes",{measureBeforeMount:i.default.bool}),d}return Tt}var Zr;function lo(){return Zr||(Zr=1,(function(n){n.exports=qr().default,n.exports.utils=Qe(),n.exports.calculateUtils=Bt(),n.exports.Responsive=Bn().default,n.exports.Responsive.utils=Yr(),n.exports.WidthProvider=ao().default})(Nt)),Nt.exports}var co=lo();const uo=dn(co);function en(n){const i=[];i.push(1,1,0,1,1,0,1,1);for(let o=0;o<n.length;o++){const c=(n.charCodeAt(o)%103).toString(2).padStart(7,"0");for(const u of c)i.push(u==="1"?1:0)}return i.push(1,1,0,0,0,1,1,0,0,0,1,1),i}const Qt=({value:n,format:i})=>{const o=oe.useMemo(()=>en(n),[n,i]);if(!n)return t.jsx("div",{style:{fontSize:11,color:"#999"},children:"请设置条形码值"});const s=2,c=44,u=o.length*s;return t.jsxs("div",{style:{textAlign:"center",overflow:"hidden",maxWidth:"100%"},children:[t.jsx("canvas",{ref:w=>{if(!w)return;const E=w.getContext("2d");E&&(w.width=u,w.height=c,E.clearRect(0,0,u,c),o.forEach((x,b)=>{E.fillStyle=x===1?"#000":"#fff",E.fillRect(b*s,0,s,c)}))},style:{width:"100%",maxWidth:u,height:c}}),t.jsx("div",{style:{fontSize:10,marginTop:1,letterSpacing:1},children:n})]})},Zt=({value:n,errorLevel:i="M",color:o="#000000",backgroundColor:s="#ffffff"})=>n?t.jsx(P.QRCode,{value:n,type:"svg",bordered:!1,errorLevel:i,color:o,bgColor:s,style:{width:"100%",height:"100%",maxWidth:"100%",maxHeight:"100%"}}):t.jsx("div",{style:{fontSize:11,color:"#999"},children:"请设置二维码内容"}),fo=uo,tn=oe.memo(({comp:n,selected:i,isPreview:o=!1,dataSources:s=[]})=>{const c={width:"100%",height:"100%",overflow:"hidden",boxSizing:"border-box",outline:o?"none":i?"2px solid #1677ff":"1px dashed #d9d9d9",outlineOffset:-1},u=w=>Ke(n,w,s);switch(n.type){case"text":return t.jsx("div",{style:{...c,fontSize:n.props.fontSize||14,fontWeight:n.props.fontWeight||"normal",fontStyle:n.props.fontStyle||"normal",textAlign:n.props.textAlign||"left",color:n.props.color||"#000",backgroundColor:n.props.backgroundColor||"transparent",padding:4,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:wt(u("content")||"",n.props.format)});case"image":const w=u("src")||n.props.src;return t.jsx("div",{style:c,children:w?t.jsx("img",{src:w,style:{width:"100%",height:"100%",objectFit:n.props.fit||"contain"},alt:""}):t.jsx("div",{style:{width:"100%",height:"100%",display:"flex",alignItems:"center",justifyContent:"center",color:"#bbb",fontSize:12},children:"请在属性中设置图片地址"})});case"table":return t.jsx(po,{comp:n,style:c,dataSources:s});case"barcode":const E=u("value")||n.props.value||"123456";return t.jsx("div",{style:{...c,display:"flex",alignItems:"center",justifyContent:"center",padding:4},children:t.jsx(Qt,{value:E,format:n.props.format||"CODE128"})});case"qrcode":const x=u("value")||n.props.value||"https://example.com";return t.jsx("div",{style:{...c,display:"flex",alignItems:"center",justifyContent:"center",padding:4},children:t.jsx(Zt,{value:x,errorLevel:n.props.errorLevel||"M",color:n.props.color||"#000000",backgroundColor:n.props.backgroundColor||"#ffffff"})});case"line":return t.jsx("div",{style:{...c,display:"flex",alignItems:"center",border:"none",outline:i?"2px solid #1677ff":"1px dashed transparent"},children:t.jsx("hr",{style:{width:"100%",border:"none",borderTop:`${n.props.thickness||1}px ${n.props.style||"solid"} ${n.props.color||"#000"}`,margin:0}})});default:return t.jsx("div",{style:c,children:n.type})}}),po=({comp:n,style:i,dataSources:o=[]})=>{const s=n.props.borderWidth||1,c=n.props.borderColor||"#000",u=n.props.headerBackgroundColor||"#f5f5f5",w=n.props.headerColor||"#000000",E=n.props.headerFontSize||12,x=n.tableColumns||[],b=n.props.tableDataSourceId,_=b?o.find(k=>k.id===b):null,D=_?Ct(_):null;if(D&&D.length>0)return t.jsxs("table",{style:{...i,borderCollapse:"collapse",width:"100%",height:"100%"},children:[x.length>0&&t.jsx("thead",{children:t.jsx("tr",{style:{backgroundColor:u},children:x.map((k,g)=>t.jsx("th",{style:{border:`${s}px solid ${c}`,padding:4,fontSize:E,fontWeight:"bold",textAlign:"center",color:w},children:k.title},g))})}),t.jsx("tbody",{children:D.map((k,g)=>t.jsx("tr",{children:x.map((d,r)=>t.jsx("td",{style:{border:`${s}px solid ${c}`,padding:4,fontSize:12,textAlign:"center"},children:d.fieldPath?k[d.fieldPath]:""},r))},g))})]});const O=n.props.rows||3,N=Math.max(n.props.cols||3,x.length||3);return t.jsx("table",{style:{...i,borderCollapse:"collapse",width:"100%",height:"100%"},children:t.jsx("tbody",{children:Array.from({length:O}).map((k,g)=>t.jsx("tr",{children:Array.from({length:N}).map((d,r)=>t.jsx("td",{style:{border:`${s}px solid ${c}`,padding:2,fontSize:12,textAlign:"center"},children:" "},r))},g))})})},rn=({isPreview:n=!1,dataSources:i})=>{const o=fe(a=>a.components),s=fe(a=>a.selectedId),c=fe(a=>a.pageSettings),u=fe(a=>a.selectComponent);fe(a=>a.updateComponent);const w=fe(a=>a.setComponents),E=fe(a=>a.addComponent),x=fe(a=>a.gridSettings),b=fe(a=>a.dataSources),_=i||b,D=oe.useMemo(()=>{const a=bt[c.paperSize];if(!a)return{width:c.customWidth*Pe,height:c.customHeight*Pe};const f=a.width*Pe,l=a.height*Pe;return c.orientation==="landscape"?{width:l,height:f}:{width:f,height:l}},[c]),O=oe.useMemo(()=>({top:c.marginTop*Pe,right:c.marginRight*Pe,bottom:c.marginBottom*Pe,left:c.marginLeft*Pe}),[c]),N=D.width-O.left-O.right,k=D.height-O.top-O.bottom,g=oe.useMemo(()=>o.map(a=>({i:a.id,x:a.x,y:a.y,w:a.w,h:a.h})),[o]),d=oe.useCallback(a=>{const f=o.map((l,j)=>{const v=a[j];return v?{...l,x:v.x,y:v.y,w:v.w,h:v.h}:l});w(f)},[o,w]),r=oe.useCallback((a,f,l)=>{var T,I;const j=l,v=(T=j.dataTransfer)==null?void 0:T.getData("componentType");if(!v)return;const R=(I=l.target.closest(".react-grid-layout"))==null?void 0:I.getBoundingClientRect();if(R){const H=Math.floor((j.clientX-R.left)/(N/x.cols)),V=Math.floor((j.clientY-R.top)/(N/x.cols));E(v,Math.max(0,H),Math.max(0,V))}else E(v)},[E,N,x.cols]),e=oe.useCallback(a=>{u(a===s?null:a)},[u,s]);return t.jsx("div",{style:{flex:1,overflow:"auto",background:"#e8e8e8",display:"flex",justifyContent:"center",padding:"24px 0"},children:t.jsxs("div",{id:"print-paper",style:{width:D.width,height:D.height,background:"#fff",boxShadow:"0 2px 12px rgba(0,0,0,0.15)",position:"relative",flexShrink:0},children:[c.showHeader&&t.jsx("div",{style:{position:"absolute",top:0,left:O.left,right:O.right,height:O.top,display:"flex",alignItems:"center",justifyContent:"center",fontSize:12,color:"#999",borderBottom:"1px dashed #ddd",overflow:"hidden"},children:c.headerContent}),c.showFooter&&t.jsxs("div",{style:{position:"absolute",bottom:0,left:O.left,right:O.right,height:O.bottom,display:"flex",alignItems:"center",justifyContent:c.showPageNumber?"space-between":"center",fontSize:12,color:"#999",borderTop:"1px dashed #ddd",overflow:"hidden",padding:"0 8px"},children:[t.jsx("span",{children:c.footerContent}),c.showPageNumber&&t.jsx("span",{children:c.pageNumberFormat.replace("{page}","1")})]}),t.jsx("div",{style:{position:"absolute",top:O.top,left:O.left,width:N,height:k},children:n?t.jsx("div",{style:{width:"100%",height:"100%",position:"relative"},children:o.map(a=>{const f=N/x.cols,l=N/x.cols,j={position:"absolute",left:a.x*f,top:a.y*l,width:a.w*f,height:a.h*l};return t.jsx("div",{style:j,children:t.jsx(tn,{comp:a,selected:!1,isPreview:!0,dataSources:_})},a.id)})}):t.jsx(fo,{className:"canvas-grid",layout:g,cols:x.cols,rowHeight:N/x.cols,width:N,margin:[0,0],containerPadding:[0,0],onLayoutChange:d,onDrop:r,isDroppable:!0,isResizable:!0,isDraggable:!0,compactType:null,preventCollision:!0,draggableHandle:".grid-item-drag-handle",style:{minHeight:k},children:o.map(a=>t.jsx("div",{className:"grid-item-drag-handle",onClick:()=>e(a.id),style:{cursor:"move"},children:t.jsx(tn,{comp:a,selected:a.id===s,dataSources:_})},a.id))})})]})})},{Text:je,Title:Do}=P.Typography,{TextArea:ho}=P.Input,go=()=>{const n=fe(r=>r.components),i=fe(r=>r.selectedId),o=fe(r=>r.dataSources),s=fe(r=>r.updateComponent),c=fe(r=>r.updateComponentTableColumns),u=oe.useMemo(()=>n.find(r=>r.id===i)||null,[n,i]),[w,E]=oe.useState([]),x=oe.useMemo(()=>[{label:"无(使用静态值)",value:""},...o.map(r=>({label:r.name,value:r.id,type:r.type}))],[o]),b=oe.useCallback((r,e)=>{i&&s(i,{props:{...u==null?void 0:u.props,[r]:e}})},[i,u,s]),_=oe.useCallback((r,e,a,f)=>{if(!i)return;let l=f;e&&a&&(l=f);const j=`${r}Binding`;s(i,{props:{...u==null?void 0:u.props,[r]:l,[j]:{dataSourceId:e,fieldPath:a,staticValue:f}}})},[i,u,s]),D=oe.useCallback(r=>{const e=u==null?void 0:u.props[`${r}Binding`],a=String((u==null?void 0:u.props[r])||"");return e?{field:r,dataSourceId:e.dataSourceId||null,fieldPath:e.fieldPath||"",staticValue:e.staticValue??a}:{field:r,dataSourceId:null,fieldPath:"",staticValue:a}},[u]);if(!u)return t.jsx(P.Card,{title:"属性面板",size:"small",style:{height:"100%",borderRadius:0,borderLeft:0},styles:{body:{padding:16}},children:t.jsx(P.Empty,{description:"请选择画布中的组件",image:P.Empty.PRESENTED_IMAGE_SIMPLE})});const O=lr[u.type]||u.type,N=t.jsxs(t.Fragment,{children:[t.jsx(je,{type:"secondary",style:{fontSize:12,display:"block",marginBottom:8},children:"位置和大小"}),t.jsxs("div",{style:{display:"grid",gridTemplateColumns:"1fr 1fr",gap:8},children:[t.jsxs("div",{children:[t.jsx(je,{style:{fontSize:12},children:"X"}),t.jsx(P.InputNumber,{size:"small",style:{width:"100%"},value:u.x,onChange:r=>s(i,{x:r??0})})]}),t.jsxs("div",{children:[t.jsx(je,{style:{fontSize:12},children:"Y"}),t.jsx(P.InputNumber,{size:"small",style:{width:"100%"},value:u.y,onChange:r=>s(i,{y:r??0})})]}),t.jsxs("div",{children:[t.jsx(je,{style:{fontSize:12},children:"宽度"}),t.jsx(P.InputNumber,{size:"small",style:{width:"100%"},value:u.w,min:1,onChange:r=>s(i,{w:r??1})})]}),t.jsxs("div",{children:[t.jsx(je,{style:{fontSize:12},children:"高度"}),t.jsx(P.InputNumber,{size:"small",style:{width:"100%"},value:u.h,min:1,onChange:r=>s(i,{h:r??1})})]})]})]}),k=({field:r,label:e,placeholder:a,isTextarea:f=!1})=>{const l=D(r),j=o.find(H=>H.id===l.dataSourceId),v=j?jt(j):null,R=v?Object.keys(v):[],[T,I]=oe.useState(l.staticValue);return oe.useEffect(()=>{I(l.staticValue)},[l.staticValue,l.dataSourceId]),t.jsxs("div",{children:[t.jsx(je,{style:{fontSize:12,display:"block",marginBottom:4},children:e}),t.jsx("div",{style:{marginBottom:4},children:t.jsx(P.Select,{size:"small",style:{width:"100%"},placeholder:"选择数据源",value:l.dataSourceId||"",onChange:H=>{_(r,H||null,H&&l.fieldPath||"",l.staticValue)},options:x})}),l.dataSourceId&&t.jsx("div",{style:{marginBottom:4},children:t.jsx(P.Select,{size:"small",style:{width:"100%"},placeholder:"选择字段",value:l.fieldPath,onChange:H=>{_(r,l.dataSourceId,H||"",l.staticValue)},options:[{label:"请选择字段",value:""},...R.map(H=>({label:H,value:H}))]})}),l.dataSourceId?t.jsxs("div",{style:{padding:6,background:"#f0f5ff",border:"1px solid #adc6ff",borderRadius:4,fontSize:12},children:[t.jsx(ze.DatabaseOutlined,{style:{marginRight:4,color:"#1890ff"}}),t.jsx("span",{style:{fontWeight:500},children:"数据绑定已启用"}),j&&l.fieldPath&&t.jsxs("span",{style:{marginLeft:8},children:[t.jsx(P.Tag,{color:"blue",children:j.name}),t.jsx(P.Tag,{color:"green",children:l.fieldPath})]})]}):f?t.jsx(ho,{rows:3,placeholder:a,value:T,onChange:H=>I(H.target.value),onBlur:()=>{_(r,null,"",T)}}):t.jsx(P.Input,{placeholder:a,value:T,onChange:H=>I(H.target.value),onBlur:()=>{_(r,null,"",T)}})]})},g=()=>{const r=u.tableColumns||[],e=o.filter($=>$.type==="array"),a=u.props.tableDataSourceId||"",f=e.find($=>$.id===a),l=w.length>0?w:r,[j,v]=oe.useState({}),R=()=>{c(i,l)},T=()=>{const $=[...l,{title:`列${l.length+1}`}];E($)},I=$=>{const Q=l.filter((Z,ne)=>ne!==$);E(Q)},H=($,Q,Z)=>{const ne=[...l];ne[$]={...ne[$],[Q]:Z},E(ne)};let V=[];if(f){const $=at(f.data);Array.isArray($)&&$.length>0&&typeof $[0]=="object"&&(V=Object.keys($[0]))}const U=[{title:"列标题",dataIndex:"title",width:60,render:($,Q)=>{const Z=Q.key in j?j[Q.key]:Q.title;return t.jsx(P.Input,{size:"small",value:Z,placeholder:"列标题",onChange:ne=>{v({...j,[Q.key]:ne.target.value})},onBlur:()=>{if(Q.key in j){H(Number(Q.key),"title",j[Q.key]);const ne={...j};delete ne[Q.key],v(ne),R()}}})}},{title:"绑定字段",dataIndex:"fieldPath",width:100,render:($,Q)=>t.jsx(P.Select,{size:"small",style:{width:"100%"},value:Q.fieldPath||"",placeholder:f?"绑定字段":"选择数据源先",disabled:!f,onChange:Z=>{H(Number(Q.key),"fieldPath",Z||""),R()},options:[{label:"无绑定",value:""},...V.map(Z=>({label:Z,value:Z}))]})},{title:"操作",width:50,render:($,Q)=>t.jsx(P.Popconfirm,{title:"确定要删除吗?",onConfirm:()=>{I(Number(Q.key)),R()},okText:"确定",cancelText:"取消",children:t.jsx(P.Button,{type:"text",danger:!0,size:"small",icon:t.jsx(ze.DeleteOutlined,{})})})}],K=l.map(($,Q)=>({...$,key:String(Q)}));return t.jsxs("div",{children:[t.jsx("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:8},children:t.jsx(je,{style:{fontSize:12},children:"表格数据源"})}),t.jsx(P.Select,{size:"small",style:{width:"100%",marginBottom:8},placeholder:"选择数组类型数据源",value:a,onChange:$=>b("tableDataSourceId",$||""),options:[{label:"无(仅静态展示)",value:""},...e.map($=>({label:$.name,value:$.id}))]}),t.jsx(P.Divider,{}),t.jsxs(P.Space,{style:{marginBottom:8},children:[t.jsx(je,{style:{fontSize:12},children:"列配置"}),t.jsx(P.Button,{size:"small",type:"dashed",icon:t.jsx(ze.PlusOutlined,{}),onClick:T}),t.jsx(P.Button,{size:"small",type:"primary",onClick:R,icon:t.jsx(ze.SaveOutlined,{})})]}),t.jsx(P.Table,{dataSource:K,columns:U,pagination:!1,size:"small",scroll:{x:200,y:360},bordered:!0,rowKey:"key"})]})},d=()=>{switch(u.type){case"text":return t.jsxs(t.Fragment,{children:[t.jsx(k,{field:"content",label:"内容",placeholder:"请输入文本内容",isTextarea:!0}),t.jsx(je,{style:{fontSize:12,marginTop:8,display:"block"},children:"格式"}),t.jsx(P.Input,{size:"small",placeholder:"例如 yyyyMMdd 或 yyyy-MM-dd HH:mm:ss",value:u.props.format||"",onChange:r=>b("format",r.target.value)}),t.jsx(P.Divider,{style:{margin:"4px 0"}}),t.jsx(je,{type:"secondary",style:{fontSize:12,display:"block",marginBottom:4},children:"文字样式"}),t.jsxs(P.Space,{style:{width:"100%"},direction:"vertical",size:4,children:[t.jsxs("div",{style:{display:"flex",gap:8},children:[t.jsxs("div",{style:{flex:1},children:[t.jsx(je,{style:{fontSize:12},children:"字号"}),t.jsx(P.InputNumber,{size:"small",style:{width:"100%"},value:u.props.fontSize||14,min:6,max:200,onChange:r=>b("fontSize",r??14)})]}),t.jsxs("div",{style:{flex:1},children:[t.jsx(je,{style:{fontSize:12},children:"对齐"}),t.jsx(P.Select,{size:"small",style:{width:"100%"},value:u.props.textAlign||"left",onChange:r=>b("textAlign",r),options:[{value:"left",label:"左"},{value:"center",label:"中"},{value:"right",label:"右"}]})]})]}),t.jsxs("div",{style:{display:"flex",gap:8},children:[t.jsxs("div",{style:{flex:1},children:[t.jsx(je,{style:{fontSize:12},children:"字重"}),t.jsx(P.Select,{size:"small",style:{width:"100%"},value:u.props.fontWeight||"normal",onChange:r=>b("fontWeight",r),options:[{value:"normal",label:"常规"},{value:"bold",label:"加粗"}]})]}),t.jsxs("div",{style:{flex:1},children:[t.jsx(je,{style:{fontSize:12},children:"样式"}),t.jsx(P.Select,{size:"small",style:{width:"100%"},value:u.props.fontStyle||"normal",onChange:r=>b("fontStyle",r),options:[{value:"normal",label:"常规"},{value:"italic",label:"斜体"}]})]})]}),t.jsxs(P.Space,{children:[t.jsx(je,{style:{fontSize:12},children:"字体颜色"}),t.jsx(P.ColorPicker,{size:"small",value:u.props.color||"#000000",onChange:(r,e)=>b("color",e)}),t.jsx(je,{style:{fontSize:12},children:"背景色"}),t.jsx(P.ColorPicker,{size:"small",value:u.props.backgroundColor||"transparent",onChange:(r,e)=>b("backgroundColor",e)})]})]})]});case"image":return t.jsxs(t.Fragment,{children:[t.jsx(k,{field:"src",label:"图片地址",placeholder:"输入图片 URL"}),t.jsx(P.Divider,{style:{margin:"4px 0"}}),t.jsx(je,{style:{fontSize:12,marginTop:8,display:"block"},children:"适应方式"}),t.jsx(P.Select,{size:"small",style:{width:"100%"},value:u.props.fit||"contain",onChange:r=>b("fit",r),options:[{value:"contain",label:"适应"},{value:"cover",label:"填充"},{value:"fill",label:"拉伸"}]})]});case"table":return t.jsxs(t.Fragment,{children:[t.jsx(je,{type:"secondary",style:{fontSize:12,display:"block",marginBottom:4},children:"边框样式"}),t.jsxs(P.Space,{children:[t.jsx(je,{style:{fontSize:12},children:"粗细"}),t.jsx(P.InputNumber,{size:"small",value:u.props.borderWidth||1,min:0,max:20,onChange:r=>b("borderWidth",r??1)}),t.jsx(je,{style:{fontSize:12},children:"颜色"}),t.jsx(P.ColorPicker,{size:"small",value:u.props.borderColor||"#000000",onChange:(r,e)=>b("borderColor",e)})]}),t.jsx(P.Divider,{style:{margin:"4px 0"}}),t.jsx(je,{type:"secondary",style:{fontSize:12,display:"block",marginBottom:4},children:"列标题样式"}),t.jsxs(P.Space,{children:[t.jsx(je,{style:{fontSize:12},children:"字号"}),t.jsx(P.InputNumber,{size:"small",value:u.props.headerFontSize||12,min:6,max:200,onChange:r=>b("headerFontSize",r??12)})]}),t.jsxs(P.Space,{children:[t.jsx(je,{style:{fontSize:12},children:"背景色"}),t.jsx(P.ColorPicker,{size:"small",value:u.props.headerBackgroundColor||"#f5f5f5",onChange:(r,e)=>b("headerBackgroundColor",e)}),t.jsx(je,{style:{fontSize:12},children:"字体颜色"}),t.jsx(P.ColorPicker,{size:"small",value:u.props.headerColor||"#000000",onChange:(r,e)=>b("headerColor",e)})]}),t.jsx(P.Divider,{style:{margin:"4px 0"}}),t.jsx(g,{})]});case"barcode":return t.jsxs(t.Fragment,{children:[t.jsx(k,{field:"value",label:"条码值",placeholder:"输入条码内容"}),t.jsx(P.Divider,{style:{margin:"4px 0"}}),t.jsx(je,{style:{fontSize:12,marginTop:8,display:"block"},children:"格式"}),t.jsx(P.Select,{size:"small",style:{width:"100%"},value:u.props.format||"CODE128",onChange:r=>b("format",r),options:[{value:"CODE128",label:"CODE128"}]})]});case"qrcode":return t.jsxs(t.Fragment,{children:[t.jsx(k,{field:"value",label:"二维码内容",placeholder:"输入二维码内容"}),t.jsx(P.Divider,{style:{margin:"4px 0"}}),t.jsx(je,{style:{fontSize:12,marginTop:8,display:"block"},children:"纠错级别"}),t.jsx(P.Select,{size:"small",style:{width:"100%"},value:u.props.errorLevel||"M",onChange:r=>b("errorLevel",r),options:[{value:"L",label:"L - 低"},{value:"M",label:"M - 中"},{value:"Q",label:"Q - 较高"},{value:"H",label:"H - 高"}]}),t.jsxs("div",{style:{display:"flex",gap:16,marginTop:8},children:[t.jsxs("div",{children:[t.jsx(je,{style:{fontSize:12},children:"前景色"}),t.jsx(P.ColorPicker,{size:"small",value:u.props.color||"#000000",onChange:(r,e)=>b("color",e)})]}),t.jsxs("div",{children:[t.jsx(je,{style:{fontSize:12},children:"背景色"}),t.jsx(P.ColorPicker,{size:"small",value:u.props.backgroundColor||"#ffffff",onChange:(r,e)=>b("backgroundColor",e)})]})]})]});case"line":return t.jsxs(t.Fragment,{children:[t.jsxs("div",{style:{display:"flex",gap:8},children:[t.jsxs("div",{style:{flex:1},children:[t.jsx(je,{style:{fontSize:12},children:"粗细"}),t.jsx(P.InputNumber,{size:"small",style:{width:"100%"},value:u.props.thickness||1,min:1,max:20,onChange:r=>b("thickness",r??1)})]}),t.jsxs("div",{style:{flex:1},children:[t.jsx(je,{style:{fontSize:12},children:"样式"}),t.jsx(P.Select,{size:"small",style:{width:"100%"},value:u.props.style||"solid",onChange:r=>b("style",r),options:[{value:"solid",label:"实线"},{value:"dashed",label:"虚线"},{value:"dotted",label:"点线"}]})]})]}),t.jsxs("div",{style:{marginTop:8},children:[t.jsx(je,{style:{fontSize:12},children:"颜色"}),t.jsx(P.ColorPicker,{size:"small",value:u.props.color||"#000000",onChange:(r,e)=>b("color",e)})]})]});default:return null}};return t.jsx(P.Card,{title:`属性 - ${O}`,size:"small",style:{height:"100%",borderRadius:0,borderLeft:0},styles:{body:{padding:16,overflowY:"auto"}},children:t.jsxs("div",{style:{display:"flex",flexDirection:"column",gap:12},children:[N,t.jsx(P.Divider,{style:{margin:"4px 0"}}),d()]})})},{Text:To}=P.Typography,yo=({dataSources:n})=>{const i=fe(r=>r.previewVisible),o=fe(r=>r.setPreviewVisible),s=fe(r=>r.components),c=fe(r=>r.pageSettings),u=fe(r=>r.gridSettings)||xt,w=fe(r=>r.dataSources),E=n||w,x=oe.useRef(null),b=oe.useMemo(()=>{const r=bt[c.paperSize];if(!r)return{width:c.customWidth*Pe,height:c.customHeight*Pe};const e=r.width*Pe,a=r.height*Pe;return c.orientation==="landscape"?{width:a,height:e}:{width:e,height:a}},[c]),_=oe.useMemo(()=>({top:c.marginTop*Pe,right:c.marginRight*Pe,bottom:c.marginBottom*Pe,left:c.marginLeft*Pe}),[c]),D=b.width-_.left-_.right,O=D/u.cols,N=nr.useReactToPrint({contentRef:x,documentTitle:"打印模板",pageStyle:`
|
|
52
52
|
@page {
|
|
53
|
-
size: ${
|
|
53
|
+
size: ${b.width/Pe}mm ${b.height/Pe}mm;
|
|
54
54
|
margin: ${c.marginTop}mm ${c.marginRight}mm ${c.marginBottom}mm ${c.marginLeft}mm;
|
|
55
55
|
}
|
|
56
56
|
@media print {
|
|
57
57
|
html, body { margin: 0; padding: 0; }
|
|
58
58
|
}
|
|
59
|
-
`}),k=(r,
|
|
59
|
+
`}),k=(r,e)=>{const a=r.props[`${e}Binding`];if(a&&a.dataSourceId&&a.fieldPath){const f=E.find(l=>l.id===a.dataSourceId);if(f&&f.type==="object"){const l=jt(f);if(l){const j=St(l,a.fieldPath);if(j!=="")return j}}}return(a==null?void 0:a.staticValue)??String(r.props[e]||"")},g=r=>{const e=r.props.tableDataSourceId,a=e?E.find(V=>V.id===e):null,f=a?Ct(a):null,l=r.tableColumns||[],j=r.props.borderWidth||1,v=r.props.borderColor||"#000000",R=r.props.headerBackgroundColor||"#f5f5f5",T=r.props.headerColor||"#000000",I=r.props.headerFontSize||12,H=f||Array.from({length:r.props.rows||3}).map(()=>({}));return t.jsxs("table",{style:{width:"100%",height:"100%",borderCollapse:"collapse"},children:[t.jsx("thead",{children:t.jsx("tr",{children:l.map((V,U)=>t.jsx("th",{style:{border:`${j}px solid ${v}`,padding:4,textAlign:"center",fontSize:I,fontWeight:"bold",backgroundColor:R,color:T},children:V.title||`列${U+1}`},U))})}),t.jsx("tbody",{children:H.map((V,U)=>t.jsx("tr",{children:l.map((K,$)=>t.jsx("td",{style:{border:`${j}px solid ${v}`,padding:4,textAlign:"center",fontSize:12},children:K.fieldPath?St(V,K.fieldPath):""},$))},U))})]})},d=r=>{const e=r.props,a={position:"absolute",left:r.x*O,top:r.y*O,width:r.w*O,height:r.h*O,overflow:"hidden"},f={width:"100%",height:"100%",overflow:"hidden",boxSizing:"border-box"};switch(r.type){case"text":return t.jsx("div",{style:a,children:t.jsx("div",{style:{...f,fontSize:e.fontSize||14,fontWeight:e.fontWeight||"normal",fontStyle:e.fontStyle||"normal",textAlign:e.textAlign||"left",color:e.color||"#000",backgroundColor:e.backgroundColor||"transparent",padding:4,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:wt(k(r,"content"),e.format)})},r.id);case"image":return t.jsx("div",{style:a,children:t.jsx("div",{style:f,children:e.src?t.jsx("img",{src:k(r,"src"),style:{width:"100%",height:"100%",objectFit:e.fit||"contain"},alt:""}):null})},r.id);case"table":return t.jsx("div",{style:a,children:g(r)},r.id);case"barcode":return t.jsx("div",{style:a,children:t.jsx("div",{style:{...f,display:"flex",alignItems:"center",justifyContent:"center",padding:4},children:t.jsx(Qt,{value:k(r,"value"),format:e.format||"CODE128"})})},r.id);case"qrcode":return t.jsx("div",{style:a,children:t.jsx("div",{style:{...f,display:"flex",alignItems:"center",justifyContent:"center",padding:4},children:t.jsx(Zt,{value:k(r,"value"),errorLevel:e.errorLevel||"M",color:e.color||"#000000",backgroundColor:e.backgroundColor||"#ffffff"})})},r.id);case"line":return t.jsx("div",{style:a,children:t.jsx("div",{style:{...f,display:"flex",alignItems:"center",border:"none"},children:t.jsx("hr",{style:{width:"100%",border:"none",borderTop:`${e.thickness||1}px ${e.style||"solid"} ${e.color||"#000"}`,margin:0}})})},r.id);default:return null}};return t.jsxs(P.Modal,{title:"打印预览",open:i,onCancel:()=>o(!1),width:b.width+80,footer:t.jsxs(P.Space,{children:[t.jsx(P.Button,{onClick:()=>o(!1),children:"关闭"}),t.jsx(P.Button,{type:"primary",icon:t.jsx(ze.PrinterOutlined,{}),onClick:()=>N(),children:"打印"})]}),styles:{body:{padding:16,display:"flex",flexDirection:"column",alignItems:"center"}},children:[t.jsx(P.Divider,{style:{margin:"4px 0 12px 0"}}),t.jsxs("div",{ref:x,style:{width:b.width,height:b.height,background:"#fff",border:"1px solid #d9d9d9",position:"relative",overflow:"hidden",flexShrink:0},children:[c.showHeader&&t.jsx("div",{style:{position:"absolute",top:0,left:_.left,right:_.right,height:_.top,display:"flex",alignItems:"center",justifyContent:"center",fontSize:12,overflow:"hidden"},children:c.headerContent}),c.showFooter&&t.jsxs("div",{style:{position:"absolute",bottom:0,left:_.left,right:_.right,height:_.bottom,display:"flex",alignItems:"center",justifyContent:c.showPageNumber?"space-between":"center",fontSize:12,overflow:"hidden",padding:"0 8px"},children:[t.jsx("span",{children:c.footerContent}),c.showPageNumber&&t.jsx("span",{children:c.pageNumberFormat.replace("{page}","1")})]}),t.jsx("div",{style:{position:"absolute",top:_.top,left:_.left,width:D,height:b.height-_.top-_.bottom},children:s.map(d)})]})]})},mo=()=>{const n=fe(c=>c.headerFooterVisible),i=fe(c=>c.pageSettings),o=fe(c=>c.setPageSettings),s=fe(c=>c.setHeaderFooterVisible);return t.jsx(P.Modal,{title:"页眉页脚设置",open:n,onCancel:()=>s(!1),onOk:()=>s(!1),width:480,children:t.jsxs(P.Form,{layout:"vertical",style:{marginTop:8},children:[t.jsx(P.Form.Item,{label:"显示页眉",children:t.jsx(P.Switch,{checked:i.showHeader,onChange:c=>o({showHeader:c})})}),i.showHeader&&t.jsx(P.Form.Item,{label:"页眉内容",children:t.jsx(P.Input,{value:i.headerContent,onChange:c=>o({headerContent:c.target.value})})}),t.jsx(P.Form.Item,{label:"显示页脚",children:t.jsx(P.Switch,{checked:i.showFooter,onChange:c=>o({showFooter:c})})}),i.showFooter&&t.jsxs(t.Fragment,{children:[t.jsx(P.Form.Item,{label:"页脚内容",children:t.jsx(P.Input,{value:i.footerContent,onChange:c=>o({footerContent:c.target.value})})}),t.jsx(P.Form.Item,{label:"显示页码",children:t.jsx(P.Switch,{checked:i.showPageNumber,onChange:c=>o({showPageNumber:c})})}),i.showPageNumber&&t.jsx(P.Form.Item,{label:"页码格式",children:t.jsx(P.Input,{value:i.pageNumberFormat,onChange:c=>o({pageNumberFormat:c.target.value}),placeholder:"第 {page} 页"})})]})]})})},nn=({isPreview:n=!1,initialTemplateData:i,dataSource:o,onSave:s,onPrint:c})=>{const{importJSON:u,exportJSON:w,reset:E,components:x,pageSettings:b,gridSettings:_,dataSources:D}=fe(),O=oe.useRef(null);oe.useEffect(()=>{if(i){const v=JSON.stringify(i),R=u(v);R&&(console.error("导入失败:",R),E())}},[i,u,E]);const N=()=>{if(s)try{const v=w();s(JSON.parse(v))}catch(v){console.error("导出失败:",v)}},k=oe.useMemo(()=>{const v=bt[b.paperSize];if(!v)return{width:b.customWidth*Pe,height:b.customHeight*Pe};const R=v.width*Pe,T=v.height*Pe;return b.orientation==="landscape"?{width:T,height:R}:{width:R,height:T}},[b]),g=oe.useMemo(()=>({top:b.marginTop*Pe,right:b.marginRight*Pe,bottom:b.marginBottom*Pe,left:b.marginLeft*Pe}),[b]),d=k.width-g.left-g.right,r=d/((_==null?void 0:_.cols)||xt.cols),e=oe.useMemo(()=>{if(!o)return D;const v=o.data&&typeof o.data=="object",R=Array.isArray(o.list),T=v?JSON.stringify(o.data):null,I=R?JSON.stringify(o.list):null;let H=!1,V=!1;const U=D.map(K=>K.type==="object"&&T!==null?(H=!0,{...K,data:T}):K.type==="array"&&I!==null?(V=!0,{...K,data:I}):K);return T!==null&&!H&&U.push({id:"external_data",name:"外部对象数据",type:"object",data:T,createdAt:0}),I!==null&&!V&&U.push({id:"external_list",name:"外部列表数据",type:"array",data:I,createdAt:0}),U},[o,D]),a=nr.useReactToPrint({contentRef:O,documentTitle:"打印模板",pageStyle:`
|
|
60
60
|
@page {
|
|
61
|
-
size: ${
|
|
62
|
-
margin: ${
|
|
61
|
+
size: ${k.width/Pe}mm ${k.height/Pe}mm;
|
|
62
|
+
margin: ${b.marginTop}mm ${b.marginRight}mm ${b.marginBottom}mm ${b.marginLeft}mm;
|
|
63
63
|
}
|
|
64
64
|
@media print {
|
|
65
65
|
html, body { margin: 0; padding: 0; }
|
|
66
66
|
}
|
|
67
|
-
`}),
|
|
67
|
+
`}),f=()=>{c?c():a()},l=v=>{const R=v.props,T={position:"absolute",left:v.x*r,top:v.y*r,width:v.w*r,height:v.h*r,overflow:"hidden"},I={width:"100%",height:"100%",overflow:"hidden",boxSizing:"border-box"};switch(v.type){case"text":return t.jsx("div",{style:T,children:t.jsx("div",{style:{...I,fontSize:R.fontSize||14,fontWeight:R.fontWeight||"normal",fontStyle:R.fontStyle||"normal",textAlign:R.textAlign||"left",color:R.color||"#000",backgroundColor:R.backgroundColor||"transparent",padding:4,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:wt(Ke(v,"content",e),R.format)})},v.id);case"image":return t.jsx("div",{style:T,children:t.jsx("div",{style:I,children:R.src?t.jsx("img",{src:Ke(v,"src",e),style:{width:"100%",height:"100%",objectFit:R.fit||"contain"},alt:""}):null})},v.id);case"table":return t.jsx("div",{style:T,children:j(v)},v.id);case"barcode":return t.jsx("div",{style:T,children:t.jsx("div",{style:{...I,display:"flex",alignItems:"center",justifyContent:"center",padding:4},children:t.jsx(Qt,{value:Ke(v,"value",e),format:R.format||"CODE128"})})},v.id);case"qrcode":return t.jsx("div",{style:T,children:t.jsx("div",{style:{...I,display:"flex",alignItems:"center",justifyContent:"center",padding:4},children:t.jsx(Zt,{value:Ke(v,"value",e),errorLevel:R.errorLevel||"M",color:R.color||"#000000",backgroundColor:R.backgroundColor||"#ffffff"})})},v.id);case"line":return t.jsx("div",{style:T,children:t.jsx("div",{style:{...I,display:"flex",alignItems:"center",border:"none"},children:t.jsx("hr",{style:{width:"100%",border:"none",borderTop:`${R.thickness||1}px ${R.style||"solid"} ${R.color||"#000"}`,margin:0}})})},v.id);default:return null}},j=v=>{const R=v.props.tableDataSourceId,T=R?e.find(ge=>ge.id===R):null,I=T?Ct(T):null,H=v.tableColumns||[],V=v.props.borderWidth||1,U=v.props.borderColor||"#000000",K=v.props.headerBackgroundColor||"#f5f5f5",$=v.props.headerColor||"#000000",Q=v.props.headerFontSize||12;if(I&&I.length>0)return t.jsxs("table",{style:{width:"100%",height:"100%",borderCollapse:"collapse"},children:[H.length>0&&t.jsx("thead",{children:t.jsx("tr",{style:{backgroundColor:K},children:H.map((ge,pe)=>t.jsx("th",{style:{border:`${V}px solid ${U}`,padding:4,fontSize:Q,fontWeight:"bold",textAlign:"center",color:$},children:ge.title},pe))})}),t.jsx("tbody",{children:I.map((ge,pe)=>t.jsx("tr",{children:H.map((M,L)=>t.jsx("td",{style:{border:`${V}px solid ${U}`,padding:4,fontSize:12,textAlign:"center"},children:M.fieldPath?ge[M.fieldPath]:""},L))},pe))})]});const Z=v.props.rows||3,ne=Math.max(v.props.cols||3,H.length||3);return t.jsx("table",{style:{width:"100%",height:"100%",borderCollapse:"collapse"},children:t.jsx("tbody",{children:Array.from({length:Z}).map((ge,pe)=>t.jsx("tr",{children:Array.from({length:ne}).map((M,L)=>t.jsx("td",{style:{border:`${V}px solid ${U}`,padding:2,fontSize:12,textAlign:"center"},children:" "},L))},pe))})})};return n?t.jsx(P.App,{children:t.jsxs("div",{style:{width:"100%",height:"100%",display:"flex",flexDirection:"column"},children:[t.jsx("div",{style:{padding:"6px 8px",borderBottom:"1px solid #e8e8e8",background:"#fff",textAlign:"right"},children:t.jsx(P.Space,{children:t.jsx(P.Button,{type:"text",ghost:!0,icon:t.jsx(ze.PrinterOutlined,{}),onClick:f})})}),t.jsx("div",{style:{flex:1,display:"flex",justifyContent:"center",alignItems:"flex-start",padding:"16px",boxSizing:"border-box",overflowY:"auto",background:"#e8e8e8"},children:t.jsx("div",{style:{flexShrink:0},children:t.jsx(rn,{isPreview:!0,dataSources:e})})}),t.jsx("div",{style:{position:"absolute",left:"-9999px",top:"-9999px"},children:t.jsxs("div",{ref:O,style:{width:k.width,height:k.height,background:"#fff",position:"relative",overflow:"hidden"},children:[b.showHeader&&t.jsx("div",{style:{position:"absolute",top:0,left:g.left,right:g.right,height:g.top,display:"flex",alignItems:"center",justifyContent:"center",fontSize:12,overflow:"hidden"},children:b.headerContent}),b.showFooter&&t.jsxs("div",{style:{position:"absolute",bottom:0,left:g.left,right:g.right,height:g.bottom,display:"flex",alignItems:"center",justifyContent:b.showPageNumber?"space-between":"center",fontSize:12,overflow:"hidden",padding:"0 8px"},children:[t.jsx("span",{children:b.footerContent}),b.showPageNumber&&t.jsx("span",{children:b.pageNumberFormat.replace("{page}","1")})]}),t.jsx("div",{style:{position:"absolute",top:g.top,left:g.left,width:d,height:k.height-g.top-g.bottom},children:x.map(l)})]})})]})}):t.jsx(P.App,{children:t.jsxs("div",{className:"app-container",children:[t.jsx(mn,{onCustomSave:s?N:void 0,onCustomPrint:c}),t.jsxs(P.Splitter,{className:"app-body",children:[t.jsx(P.Splitter.Panel,{defaultSize:240,min:80,max:400,collapsible:!0,children:t.jsx("div",{className:"app-left-panel",children:t.jsx(_n,{})})}),t.jsx(P.Splitter.Panel,{min:400,children:t.jsx(rn,{dataSources:e})}),t.jsx(P.Splitter.Panel,{defaultSize:260,min:80,max:400,collapsible:!0,children:t.jsx("div",{className:"app-right-panel",children:t.jsx(go,{})})})]}),t.jsx(yo,{dataSources:e}),t.jsx(mo,{})]})})};Ae.PrintDesigner=nn,Ae.default=nn,Ae.formatRenderValue=wt,Ae.getArrayFromDataSource=Ct,Ae.getObjectFromDataSource=jt,Ae.getRenderValue=Ke,Ae.getValueByPath=St,Ae.safeParseJSON=at,Ae.useDesignerStore=fe,Object.defineProperties(Ae,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}})}));
|