@bwg-ui/core 1.1.19 → 1.1.21
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/chunks/{BwgDownload-Qhs6jJxM.js → BwgDownload-COsACbpJ.js} +3 -3
- package/dist/chunks/{BwgDownload-Qhs6jJxM.js.map → BwgDownload-COsACbpJ.js.map} +1 -1
- package/dist/chunks/{BwgDownload-Cm_XfYl_.cjs → BwgDownload-i6w7ZD-i.cjs} +2 -2
- package/dist/chunks/{BwgDownload-Cm_XfYl_.cjs.map → BwgDownload-i6w7ZD-i.cjs.map} +1 -1
- package/dist/chunks/{SSOHandler-B4yYaeJF.js → SSOHandler-BHJ5NexT.js} +4 -4
- package/dist/chunks/{SSOHandler-B4yYaeJF.js.map → SSOHandler-BHJ5NexT.js.map} +1 -1
- package/dist/chunks/{SSOHandler-C-pcl0On.cjs → SSOHandler-BtrmIPzQ.cjs} +2 -2
- package/dist/chunks/{SSOHandler-C-pcl0On.cjs.map → SSOHandler-BtrmIPzQ.cjs.map} +1 -1
- package/dist/chunks/{SearchBoxContext-CyTyFuB5.js → SearchBoxContext-BxJN-x3-.js} +2 -2
- package/dist/chunks/{SearchBoxContext-CyTyFuB5.js.map → SearchBoxContext-BxJN-x3-.js.map} +1 -1
- package/dist/chunks/{SearchBoxContext-BgAzWZQl.cjs → SearchBoxContext-DnQGaRgo.cjs} +2 -2
- package/dist/chunks/{SearchBoxContext-BgAzWZQl.cjs.map → SearchBoxContext-DnQGaRgo.cjs.map} +1 -1
- package/dist/chunks/{ViewContainer-pwafdfAs.cjs → ViewContainer-HSyLfryI.cjs} +2 -2
- package/dist/chunks/{ViewContainer-pwafdfAs.cjs.map → ViewContainer-HSyLfryI.cjs.map} +1 -1
- package/dist/chunks/{ViewContainer-CbO6vSvW.js → ViewContainer-x2yzKkIG.js} +2 -2
- package/dist/chunks/{ViewContainer-CbO6vSvW.js.map → ViewContainer-x2yzKkIG.js.map} +1 -1
- package/dist/chunks/apiUtils-CudW_FKE.cjs +3 -0
- package/dist/chunks/apiUtils-CudW_FKE.cjs.map +1 -0
- package/dist/chunks/apiUtils-DfPv_gmI.js +2064 -0
- package/dist/chunks/apiUtils-DfPv_gmI.js.map +1 -0
- package/dist/chunks/{codeStore-CC9_8nmU.js → codeStore-DefmZVgs.js} +2 -2
- package/dist/chunks/{codeStore-CC9_8nmU.js.map → codeStore-DefmZVgs.js.map} +1 -1
- package/dist/chunks/{codeStore-DVUySb7V.cjs → codeStore-pQbDqWkZ.cjs} +2 -2
- package/dist/chunks/{codeStore-DVUySb7V.cjs.map → codeStore-pQbDqWkZ.cjs.map} +1 -1
- package/dist/chunks/{favoriteStore-Byy7k_UI.cjs → favoriteStore-BXBziAgB.cjs} +2 -2
- package/dist/chunks/{favoriteStore-Byy7k_UI.cjs.map → favoriteStore-BXBziAgB.cjs.map} +1 -1
- package/dist/chunks/{favoriteStore-DYiTW7cU.js → favoriteStore-DAPC01iF.js} +2 -2
- package/dist/chunks/{favoriteStore-DYiTW7cU.js.map → favoriteStore-DAPC01iF.js.map} +1 -1
- package/dist/chunks/{popupStore-wA4nh-mr.cjs → popupStore-BV632k5p.cjs} +2 -2
- package/dist/chunks/{popupStore-wA4nh-mr.cjs.map → popupStore-BV632k5p.cjs.map} +1 -1
- package/dist/chunks/{popupStore-C8-CPKwz.js → popupStore-CcQg9AvK.js} +2 -2
- package/dist/chunks/{popupStore-C8-CPKwz.js.map → popupStore-CcQg9AvK.js.map} +1 -1
- package/dist/chunks/{usePopup-D7c9t7AW.js → usePopup-Cw5xsOaH.js} +3 -3
- package/dist/chunks/{usePopup-D7c9t7AW.js.map → usePopup-Cw5xsOaH.js.map} +1 -1
- package/dist/chunks/{usePopup-6-TNfqyf.cjs → usePopup-DoVGuobp.cjs} +2 -2
- package/dist/chunks/{usePopup-6-TNfqyf.cjs.map → usePopup-DoVGuobp.cjs.map} +1 -1
- package/dist/components/common/index.cjs +1 -1
- package/dist/components/common/index.js +1 -1
- package/dist/components/core/index.cjs +1 -1
- package/dist/components/core/index.js +1 -1
- package/dist/components/layout/index.cjs +1 -1
- package/dist/components/layout/index.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +9 -9
- package/dist/provider/index.cjs +1 -1
- package/dist/provider/index.js +2 -2
- package/dist/stores/index.cjs +1 -1
- package/dist/stores/index.js +6 -6
- package/dist/utils/commonUtils.d.ts +0 -6
- package/dist/utils/commonUtils.d.ts.map +1 -1
- package/dist/utils/index.cjs +1 -1
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +2 -2
- package/package.json +2 -1
- package/dist/chunks/apiUtils-CH40MvpT.js +0 -1402
- package/dist/chunks/apiUtils-CH40MvpT.js.map +0 -1
- package/dist/chunks/apiUtils-D9cBQG0u.cjs +0 -3
- package/dist/chunks/apiUtils-D9cBQG0u.cjs.map +0 -1
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";const c=require("./jsx-runtime-CeSfJrVB.cjs"),u=require("antd"),k=require("./BwgCheck-Dtzr-6rg.cjs"),tt=require("./popupStore-wA4nh-mr.cjs"),F=require("@ant-design/icons"),Fe=require("imask"),f=require("react"),$=require("dayjs"),M=require("./apiUtils-D9cBQG0u.cjs"),A=require("lodash"),rt=require("jszip"),De=u.Input.Search,nt=t=>{const e=u.Form.useFormInstance(),{openPopup:r}=tt.usePopupStore(),n=t.itemProps?.name||[],s=t.popupConfig||{callback(a){console.log("callback data :: ",a),n.length>1?(e.setFieldValue(n[0],a.code),e.setFieldValue(n[1],a.name)):e.setFieldValue(n,a.code)}},i={...t,placeholder:typeof t.placeholder=="string"?t.placeholder:t.placeholder?.[0]||"",onChange:a=>{n.length>1&&e.setFieldValue(n[0],""),t.onChange?.(a)},onSearch:a=>{t.popuCd?r(t.popuCd,t.popupParams,s):t.onSearch?.(a)}};return n.length>1?c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t.itemProps,name:void 0,children:c.jsxRuntimeExports.jsxs(u.Space.Compact,{block:!0,children:[c.jsxRuntimeExports.jsx(u.Form.Item,{name:n[0],rules:t.itemProps?.rules,style:{width:"40%",marginBottom:0,marginInlineEnd:0},validateStatus:"",help:"",children:c.jsxRuntimeExports.jsx(u.Input,{style:{color:"#999",backgroundColor:"#f5f5f5"},placeholder:t.placeholder?.[0]||"",readOnly:!0})}),c.jsxRuntimeExports.jsx(u.Form.Item,{name:n[1],style:{width:"60%",marginBottom:0},children:c.jsxRuntimeExports.jsx(De,{readOnly:t.readOnly,enterButton:c.jsxRuntimeExports.jsx(u.Button,{icon:c.jsxRuntimeExports.jsx(F.SearchOutlined,{}),disabled:t.readOnly}),...i})})]})}):c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t.itemProps,children:c.jsxRuntimeExports.jsx(De,{...i})})},st=t=>{if(typeof t=="string")return t.replace(/0/g,"_");if(Array.isArray(t))return t[0].replace(/0/g,"_");if(typeof t=="object"&&"mask"in t&&"blocks"in t){const{mask:e,blocks:r}=t;return e.split(".").map(n=>{const i=r?.[n]?.maxLength??3;return"_".repeat(i)}).join(".")}return""},it=({itemProps:t,inputProps:e,mask:r})=>{const n=f.useRef(null),s=u.Form.useFormInstance(),i=f.useMemo(()=>st(r),[r]);return f.useEffect(()=>{if(!n.current?.input)return;const a=typeof r=="string"||Array.isArray(r)?{mask:r}:r,o=Fe(n.current.input,a);return o.on("accept",()=>{s&&t?.name&&s.setFieldValue(t.name,o.value)}),()=>{o.destroy()}},[r,s,t?.name]),c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t,children:c.jsxRuntimeExports.jsx(u.Input,{...e,ref:n,placeholder:i})})},ot=t=>{switch(t){case"year":return{format:"YYYY",mask:"0000",outputFormat:"YYYY"};case"month":return{format:"YYYY-MM",mask:"0000-00",outputFormat:"YYYYMM"};case"date":default:return{format:"YYYY-MM-DD",mask:"0000-00-00",outputFormat:"YYYYMMDD"}}},at=({type:t="date",itemProps:e={name:"calendar"},inputProps:r})=>{const{format:n,mask:s,outputFormat:i}=ot(t),a=f.useRef(null),o=f.useRef(null),l=u.Form.useFormInstance(),[d,v]=f.useState(!1),[D,p]=f.useState(!1),g=e?.name,[T,S]=f.useState(null);f.useEffect(()=>{if(!a.current?.input)return;const y=Fe(a.current.input,{mask:s,lazy:!1});return o.current=y,y.on("accept",()=>{console.log("input :: ",y.value);const m=y.value,b=$(m,n,!0);console.log("input :: ",b),m.length===n.length&&b.isValid()&&(console.log("parsed :: ",b.format(i)),l.setFieldValue(g,b.format(i)),o.current?.updateValue(),v(!1))}),()=>{y.destroy()}},[n,s]),f.useEffect(()=>{S($(l.getFieldValue(g)))},[l.getFieldValue(g)]);const w=y=>{if(!y){o.current?.updateValue();return}const m=y.format(i);console.log("formatted :: ",m),o.current&&(o.current.value=m,o.current.updateValue()),p(!1)};return c.jsxRuntimeExports.jsx(k.BwgFormItem,{...e,name:void 0,validateStatus:D?"warning":void 0,help:D?"유효하지 않은 날짜입니다":void 0,children:c.jsxRuntimeExports.jsxs("div",{style:{position:"relative"},children:[c.jsxRuntimeExports.jsx(u.Form.Item,{name:g,getValueProps:y=>({value:y?$(y).format(n):void 0}),normalize:y=>y?$(y).format(i):void 0,noStyle:!0,children:c.jsxRuntimeExports.jsx(u.Input,{...r,ref:a,onFocus:()=>{v(!d),o.current?.updateValue()},onKeyDown:y=>{y.key==="Backspace"&&v(!0),y.key==="Tab"&&v(!1)},allowClear:!0,placeholder:s.replace(/0/g,"_"),autoComplete:"off"})}),c.jsxRuntimeExports.jsx(u.DatePicker,{open:d,picker:t,format:n,value:T,onChange:w,getPopupContainer:y=>y.parentElement,style:{position:"absolute",top:0,left:0,pointerEvents:"none",opacity:0,width:"100%"}})]})})},ye={year:{displayFormat:"YYYY",outputFormat:"YYYY"},month:{displayFormat:"YYYY-MM",outputFormat:"YYYYMM"},date:{displayFormat:"YYYY-MM-DD",outputFormat:"YYYYMMDD"},time:{displayFormat:"HH:mm",outputFormat:"HHmm"},datetime:{displayFormat:"YYYY-MM-DD HH:mm",outputFormat:"YYYYMMDDHHmm"}},ct=({itemProps:t,inputProps:e,type:r="date",returnType:n="string"})=>{const{displayFormat:s,outputFormat:i}=f.useMemo(()=>ye[r],[r]),a=f.useMemo(()=>Object.values(ye).map(o=>o.outputFormat).sort((o,l)=>{if(o.length===l.length){if(o===i)return-1;if(l===i)return 1}return l.length-o.length}),[i]);return c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t,getValueProps:o=>({value:o?$.isDayjs(o)?o:$(o,a):null}),normalize:o=>o?n==="dayjs"?o:o.format(i):null,children:c.jsxRuntimeExports.jsx(u.DatePicker,{...e,picker:r==="datetime"?"date":r,showTime:e?.showTime??(r==="datetime"||r==="time"),format:s})})},ut=({itemProps:t,inputProps:e})=>c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t,children:c.jsxRuntimeExports.jsx(u.Radio.Group,{...e})}),lt=({itemProps:t,inputProps:e})=>{const r=u.Form.useFormInstance(),[n,s]=f.useState(t?.initialValue??[]),[i,a]=f.useState([]),o=i.length>0&&i.length==n?.length,l=n?.length>0&&n.length<i.length;f.useEffect(()=>{a(d(e?.options))},[e?.options]),f.useEffect(()=>{s(n)},[n]);const d=p=>{const g=[];return(p||[]).map((T,S)=>{g.push(T.value)}),g},v=p=>{s(p.target.checked?i:[]),r.setFieldValue(t?.name,p.target.checked?i:[])},D=p=>{s(p),r.setFieldValue(t?.name,p),e?.onChange&&typeof e?.onChange=="function"&&e?.onChange(p)};return c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t,children:c.jsxRuntimeExports.jsxs(u.ConfigProvider,{theme:{components:{Checkbox:{colorPrimary:"var(--check-primary)",colorPrimaryBorder:"var(--check-primary)",colorPrimaryHover:"var(--check-primary-active)"}}},children:[e?.allCheck&&c.jsxRuntimeExports.jsx(u.Checkbox,{indeterminate:l,checked:o,onChange:v,children:"전체선택"}),c.jsxRuntimeExports.jsx(u.Checkbox.Group,{options:e?.options,value:n,onChange:D})]})})},{TextArea:dt}=u.Input,gt=({itemProps:t,inputProps:e})=>c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t,children:c.jsxRuntimeExports.jsx(dt,{...e})}),ft=({itemProps:t,inputProps:e})=>{const r=s=>{let i=s.toString().split(".");return e?.decimalPoint!=null&&i[1]!=null&&e?.decimalPoint>0?i[1].length>e?.decimalPoint?i[1]="."+i[1].substring(0,e?.decimalPoint):i[1]="."+i[1]:i[1]="",i[0].replace(/\B(?=(\d{3})+(?!\d))/g,",")+i[1]},n=s=>{let i=s.toString().split(".");return e?.decimalPoint!=null&&i[1]!=null&&e?.decimalPoint>0?i[1].length>e?.decimalPoint?i[1]="."+i[1].substring(0,e?.decimalPoint):i[1]="."+i[1]:i[1]="",i[0].replace(/\$\s?|(,*)/g,"")+i[1]};return c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t,children:c.jsxRuntimeExports.jsx(u.InputNumber,{...e,formatter:s=>r(s),parser:s=>n(s)})})},{Option:Se}=u.Select,ht=({itemProps:t,inputProps:e})=>{const[r,n]=f.useState([]);return f.useEffect(()=>{e?.addField==="ALL"?n([{label:"전체",value:""},...e?.list||[]]):e?.addField==="NULL"?n([{label:"",value:""},...e?.list||[]]):n(e?.list||[])},[e?.list]),c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t,getValueProps:s=>s?{value:s&&s.indexOf(",")>0?s.split(","):[s]}:{value:[]},normalize:s=>s!=null&&s!=null&&s.length>0?s.toString():"",children:c.jsxRuntimeExports.jsx(u.Select,{...e,mode:"multiple",children:r.map(s=>{const{value:i,label:a}=s;return e?.printCode?c.jsxRuntimeExports.jsx(Se,{value:i,label:a,children:c.jsxRuntimeExports.jsx(u.Space,{children:`[${i}] ${a}`})},i):c.jsxRuntimeExports.jsx(Se,{value:i,label:a,children:c.jsxRuntimeExports.jsx(u.Space,{children:`${a}`})},i)})})})},pt=t=>c.jsxRuntimeExports.jsx(u.Button,{...t,className:"bwg-btn"}),ke=f.createContext({dragDropManager:void 0});function _(t){return"Minified Redux error #"+t+"; visit https://redux.js.org/Errors?code="+t+" for the full message or use the non-minified dev environment for full errors. "}var Ee=(function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"})(),xe=function(){return Math.random().toString(36).substring(7).split("").join(".")},Oe={INIT:"@@redux/INIT"+xe(),REPLACE:"@@redux/REPLACE"+xe()};function mt(t){if(typeof t!="object"||t===null)return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function vt(t){if(t===void 0)return"undefined";if(t===null)return"null";var e=typeof t;switch(e){case"boolean":case"string":case"number":case"symbol":case"function":return e}if(Array.isArray(t))return"array";if(St(t))return"date";if(yt(t))return"error";var r=Dt(t);switch(r){case"Symbol":case"Promise":case"WeakMap":case"WeakSet":case"Map":case"Set":return r}return e.slice(8,-1).toLowerCase().replace(/\s/g,"")}function Dt(t){return typeof t.constructor=="function"?t.constructor.name:null}function yt(t){return t instanceof Error||typeof t.message=="string"&&t.constructor&&typeof t.constructor.stackTraceLimit=="number"}function St(t){return t instanceof Date?!0:typeof t.toDateString=="function"&&typeof t.getDate=="function"&&typeof t.setDate=="function"}function H(t){var e=typeof t;return process.env.NODE_ENV!=="production"&&(e=vt(t)),e}function Ae(t,e,r){var n;if(typeof e=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(process.env.NODE_ENV==="production"?_(0):"It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.");if(typeof e=="function"&&typeof r>"u"&&(r=e,e=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(process.env.NODE_ENV==="production"?_(1):"Expected the enhancer to be a function. Instead, received: '"+H(r)+"'");return r(Ae)(t,e)}if(typeof t!="function")throw new Error(process.env.NODE_ENV==="production"?_(2):"Expected the root reducer to be a function. Instead, received: '"+H(t)+"'");var s=t,i=e,a=[],o=a,l=!1;function d(){o===a&&(o=a.slice())}function v(){if(l)throw new Error(process.env.NODE_ENV==="production"?_(3):"You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");return i}function D(S){if(typeof S!="function")throw new Error(process.env.NODE_ENV==="production"?_(4):"Expected the listener to be a function. Instead, received: '"+H(S)+"'");if(l)throw new Error(process.env.NODE_ENV==="production"?_(5):"You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api/store#subscribelistener for more details.");var w=!0;return d(),o.push(S),function(){if(w){if(l)throw new Error(process.env.NODE_ENV==="production"?_(6):"You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api/store#subscribelistener for more details.");w=!1,d();var m=o.indexOf(S);o.splice(m,1),a=null}}}function p(S){if(!mt(S))throw new Error(process.env.NODE_ENV==="production"?_(7):"Actions must be plain objects. Instead, the actual type was: '"+H(S)+"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.");if(typeof S.type>"u")throw new Error(process.env.NODE_ENV==="production"?_(8):'Actions may not have an undefined "type" property. You may have misspelled an action type string constant.');if(l)throw new Error(process.env.NODE_ENV==="production"?_(9):"Reducers may not dispatch actions.");try{l=!0,i=s(i,S)}finally{l=!1}for(var w=a=o,y=0;y<w.length;y++){var m=w[y];m()}return S}function g(S){if(typeof S!="function")throw new Error(process.env.NODE_ENV==="production"?_(10):"Expected the nextReducer to be a function. Instead, received: '"+H(S));s=S,p({type:Oe.REPLACE})}function T(){var S,w=D;return S={subscribe:function(m){if(typeof m!="object"||m===null)throw new Error(process.env.NODE_ENV==="production"?_(11):"Expected the observer to be an object. Instead, received: '"+H(m)+"'");function b(){m.next&&m.next(v())}b();var h=w(b);return{unsubscribe:h}}},S[Ee]=function(){return this},S}return p({type:Oe.INIT}),n={dispatch:p,subscribe:D,getState:v,replaceReducer:g},n[Ee]=T,n}function E(t,e,...r){if(Et()&&e===void 0)throw new Error("invariant requires an error message argument");if(!t){let n;if(e===void 0)n=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{let s=0;n=new Error(e.replace(/%s/g,function(){return r[s++]})),n.name="Invariant Violation"}throw n.framesToPop=1,n}}function Et(){return typeof process<"u"&&process.env.NODE_ENV==="production"}function xt(t,e,r){return e.split(".").reduce((n,s)=>n&&n[s]?n[s]:r||null,t)}function Ot(t,e){return t.filter(r=>r!==e)}function Ye(t){return typeof t=="object"}function It(t,e){const r=new Map,n=i=>{r.set(i,r.has(i)?r.get(i)+1:1)};t.forEach(n),e.forEach(n);const s=[];return r.forEach((i,a)=>{i===1&&s.push(a)}),s}function Tt(t,e){return t.filter(r=>e.indexOf(r)>-1)}const ge="dnd-core/INIT_COORDS",K="dnd-core/BEGIN_DRAG",fe="dnd-core/PUBLISH_DRAG_SOURCE",J="dnd-core/HOVER",Z="dnd-core/DROP",Q="dnd-core/END_DRAG";function Ie(t,e){return{type:ge,payload:{sourceClientOffset:e||null,clientOffset:t||null}}}const bt={type:ge,payload:{clientOffset:null,sourceClientOffset:null}};function wt(t){return function(r=[],n={publishSource:!0}){const{publishSource:s=!0,clientOffset:i,getSourceClientOffset:a}=n,o=t.getMonitor(),l=t.getRegistry();t.dispatch(Ie(i)),Ct(r,o,l);const d=Nt(r,o);if(d==null){t.dispatch(bt);return}let v=null;if(i){if(!a)throw new Error("getSourceClientOffset must be defined");Rt(a),v=a(d)}t.dispatch(Ie(i,v));const p=l.getSource(d).beginDrag(o,d);if(p==null)return;jt(p),l.pinSource(d);const g=l.getSourceType(d);return{type:K,payload:{itemType:g,item:p,sourceId:d,clientOffset:i||null,sourceClientOffset:v||null,isSourcePublic:!!s}}}}function Ct(t,e,r){E(!e.isDragging(),"Cannot call beginDrag while dragging."),t.forEach(function(n){E(r.getSource(n),"Expected sourceIds to be registered.")})}function Rt(t){E(typeof t=="function","When clientOffset is provided, getSourceClientOffset must be a function.")}function jt(t){E(Ye(t),"Item must be an object.")}function Nt(t,e){let r=null;for(let n=t.length-1;n>=0;n--)if(e.canDragSource(t[n])){r=t[n];break}return r}function Pt(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Mt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{},n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable}))),n.forEach(function(s){Pt(t,s,r[s])})}return t}function _t(t){return function(r={}){const n=t.getMonitor(),s=t.getRegistry();Lt(n),At(n).forEach((a,o)=>{const l=Ft(a,o,s,n),d={type:Z,payload:{dropResult:Mt({},r,l)}};t.dispatch(d)})}}function Lt(t){E(t.isDragging(),"Cannot call drop while not dragging."),E(!t.didDrop(),"Cannot call drop twice during one drag operation.")}function Ft(t,e,r,n){const s=r.getTarget(t);let i=s?s.drop(n,t):void 0;return kt(i),typeof i>"u"&&(i=e===0?{}:n.getDropResult()),i}function kt(t){E(typeof t>"u"||Ye(t),"Drop result must either be an object or undefined.")}function At(t){const e=t.getTargetIds().filter(t.canDropOnTarget,t);return e.reverse(),e}function Yt(t){return function(){const r=t.getMonitor(),n=t.getRegistry();Ut(r);const s=r.getSourceId();return s!=null&&(n.getSource(s,!0).endDrag(r,s),n.unpinSource()),{type:Q}}}function Ut(t){E(t.isDragging(),"Cannot call endDrag while not dragging.")}function ae(t,e){return e===null?t===null:Array.isArray(t)?t.some(r=>r===e):t===e}function Bt(t){return function(r,{clientOffset:n}={}){Ht(r);const s=r.slice(0),i=t.getMonitor(),a=t.getRegistry(),o=i.getItemType();return $t(s,a,o),Vt(s,i,a),qt(s,i,a),{type:J,payload:{targetIds:s,clientOffset:n||null}}}}function Ht(t){E(Array.isArray(t),"Expected targetIds to be an array.")}function Vt(t,e,r){E(e.isDragging(),"Cannot call hover while not dragging."),E(!e.didDrop(),"Cannot call hover after drop.");for(let n=0;n<t.length;n++){const s=t[n];E(t.lastIndexOf(s)===n,"Expected targetIds to be unique in the passed array.");const i=r.getTarget(s);E(i,"Expected targetIds to be registered.")}}function $t(t,e,r){for(let n=t.length-1;n>=0;n--){const s=t[n],i=e.getTargetType(s);ae(i,r)||t.splice(n,1)}}function qt(t,e,r){t.forEach(function(n){r.getTarget(n).hover(e,n)})}function zt(t){return function(){if(t.getMonitor().isDragging())return{type:fe}}}function Gt(t){return{beginDrag:wt(t),publishDragSource:zt(t),hover:Bt(t),drop:_t(t),endDrag:Yt(t)}}class Xt{receiveBackend(e){this.backend=e}getMonitor(){return this.monitor}getBackend(){return this.backend}getRegistry(){return this.monitor.registry}getActions(){const e=this,{dispatch:r}=this.store;function n(i){return(...a)=>{const o=i.apply(e,a);typeof o<"u"&&r(o)}}const s=Gt(this);return Object.keys(s).reduce((i,a)=>{const o=s[a];return i[a]=n(o),i},{})}dispatch(e){this.store.dispatch(e)}constructor(e,r){this.isSetUp=!1,this.handleRefCountChange=()=>{const n=this.store.getState().refCount>0;this.backend&&(n&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!n&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1))},this.store=e,this.monitor=r,e.subscribe(this.handleRefCountChange)}}function Wt(t,e){return{x:t.x+e.x,y:t.y+e.y}}function Ue(t,e){return{x:t.x-e.x,y:t.y-e.y}}function Kt(t){const{clientOffset:e,initialClientOffset:r,initialSourceClientOffset:n}=t;return!e||!r||!n?null:Ue(Wt(e,n),r)}function Jt(t){const{clientOffset:e,initialClientOffset:r}=t;return!e||!r?null:Ue(e,r)}const z=[],he=[];z.__IS_NONE__=!0;he.__IS_ALL__=!0;function Zt(t,e){return t===z?!1:t===he||typeof e>"u"?!0:Tt(e,t).length>0}class Qt{subscribeToStateChange(e,r={}){const{handlerIds:n}=r;E(typeof e=="function","listener must be a function."),E(typeof n>"u"||Array.isArray(n),"handlerIds, when specified, must be an array of strings.");let s=this.store.getState().stateId;const i=()=>{const a=this.store.getState(),o=a.stateId;try{o===s||o===s+1&&!Zt(a.dirtyHandlerIds,n)||e()}finally{s=o}};return this.store.subscribe(i)}subscribeToOffsetChange(e){E(typeof e=="function","listener must be a function.");let r=this.store.getState().dragOffset;const n=()=>{const s=this.store.getState().dragOffset;s!==r&&(r=s,e())};return this.store.subscribe(n)}canDragSource(e){if(!e)return!1;const r=this.registry.getSource(e);return E(r,`Expected to find a valid source. sourceId=${e}`),this.isDragging()?!1:r.canDrag(this,e)}canDropOnTarget(e){if(!e)return!1;const r=this.registry.getTarget(e);if(E(r,`Expected to find a valid target. targetId=${e}`),!this.isDragging()||this.didDrop())return!1;const n=this.registry.getTargetType(e),s=this.getItemType();return ae(n,s)&&r.canDrop(this,e)}isDragging(){return!!this.getItemType()}isDraggingSource(e){if(!e)return!1;const r=this.registry.getSource(e,!0);if(E(r,`Expected to find a valid source. sourceId=${e}`),!this.isDragging()||!this.isSourcePublic())return!1;const n=this.registry.getSourceType(e),s=this.getItemType();return n!==s?!1:r.isDragging(this,e)}isOverTarget(e,r={shallow:!1}){if(!e)return!1;const{shallow:n}=r;if(!this.isDragging())return!1;const s=this.registry.getTargetType(e),i=this.getItemType();if(i&&!ae(s,i))return!1;const a=this.getTargetIds();if(!a.length)return!1;const o=a.indexOf(e);return n?o===a.length-1:o>-1}getItemType(){return this.store.getState().dragOperation.itemType}getItem(){return this.store.getState().dragOperation.item}getSourceId(){return this.store.getState().dragOperation.sourceId}getTargetIds(){return this.store.getState().dragOperation.targetIds}getDropResult(){return this.store.getState().dragOperation.dropResult}didDrop(){return this.store.getState().dragOperation.didDrop}isSourcePublic(){return!!this.store.getState().dragOperation.isSourcePublic}getInitialClientOffset(){return this.store.getState().dragOffset.initialClientOffset}getInitialSourceClientOffset(){return this.store.getState().dragOffset.initialSourceClientOffset}getClientOffset(){return this.store.getState().dragOffset.clientOffset}getSourceClientOffset(){return Kt(this.store.getState().dragOffset)}getDifferenceFromInitialOffset(){return Jt(this.store.getState().dragOffset)}constructor(e,r){this.store=e,this.registry=r}}const Te=typeof global<"u"?global:self,Be=Te.MutationObserver||Te.WebKitMutationObserver;function He(t){return function(){const r=setTimeout(s,0),n=setInterval(s,50);function s(){clearTimeout(r),clearInterval(n),t()}}}function er(t){let e=1;const r=new Be(t),n=document.createTextNode("");return r.observe(n,{characterData:!0}),function(){e=-e,n.data=e}}const tr=typeof Be=="function"?er:He;class rr{enqueueTask(e){const{queue:r,requestFlush:n}=this;r.length||(n(),this.flushing=!0),r[r.length]=e}constructor(){this.queue=[],this.pendingErrors=[],this.flushing=!1,this.index=0,this.capacity=1024,this.flush=()=>{const{queue:e}=this;for(;this.index<e.length;){const r=this.index;if(this.index++,e[r].call(),this.index>this.capacity){for(let n=0,s=e.length-this.index;n<s;n++)e[n]=e[n+this.index];e.length-=this.index,this.index=0}}e.length=0,this.index=0,this.flushing=!1},this.registerPendingError=e=>{this.pendingErrors.push(e),this.requestErrorThrow()},this.requestFlush=tr(this.flush),this.requestErrorThrow=He(()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()})}}class nr{call(){try{this.task&&this.task()}catch(e){this.onError(e)}finally{this.task=null,this.release(this)}}constructor(e,r){this.onError=e,this.release=r,this.task=null}}class sr{create(e){const r=this.freeTasks,n=r.length?r.pop():new nr(this.onError,s=>r[r.length]=s);return n.task=e,n}constructor(e){this.onError=e,this.freeTasks=[]}}const Ve=new rr,ir=new sr(Ve.registerPendingError);function or(t){Ve.enqueueTask(ir.create(t))}const pe="dnd-core/ADD_SOURCE",me="dnd-core/ADD_TARGET",ve="dnd-core/REMOVE_SOURCE",ee="dnd-core/REMOVE_TARGET";function ar(t){return{type:pe,payload:{sourceId:t}}}function cr(t){return{type:me,payload:{targetId:t}}}function ur(t){return{type:ve,payload:{sourceId:t}}}function lr(t){return{type:ee,payload:{targetId:t}}}function dr(t){E(typeof t.canDrag=="function","Expected canDrag to be a function."),E(typeof t.beginDrag=="function","Expected beginDrag to be a function."),E(typeof t.endDrag=="function","Expected endDrag to be a function.")}function gr(t){E(typeof t.canDrop=="function","Expected canDrop to be a function."),E(typeof t.hover=="function","Expected hover to be a function."),E(typeof t.drop=="function","Expected beginDrag to be a function.")}function ce(t,e){if(e&&Array.isArray(t)){t.forEach(r=>ce(r,!1));return}E(typeof t=="string"||typeof t=="symbol",e?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}var L;(function(t){t.SOURCE="SOURCE",t.TARGET="TARGET"})(L||(L={}));let fr=0;function hr(){return fr++}function pr(t){const e=hr().toString();switch(t){case L.SOURCE:return`S${e}`;case L.TARGET:return`T${e}`;default:throw new Error(`Unknown Handler Role: ${t}`)}}function be(t){switch(t[0]){case"S":return L.SOURCE;case"T":return L.TARGET;default:throw new Error(`Cannot parse handler ID: ${t}`)}}function we(t,e){const r=t.entries();let n=!1;do{const{done:s,value:[,i]}=r.next();if(i===e)return!0;n=!!s}while(!n);return!1}class mr{addSource(e,r){ce(e),dr(r);const n=this.addHandler(L.SOURCE,e,r);return this.store.dispatch(ar(n)),n}addTarget(e,r){ce(e,!0),gr(r);const n=this.addHandler(L.TARGET,e,r);return this.store.dispatch(cr(n)),n}containsHandler(e){return we(this.dragSources,e)||we(this.dropTargets,e)}getSource(e,r=!1){return E(this.isSourceId(e),"Expected a valid source ID."),r&&e===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(e)}getTarget(e){return E(this.isTargetId(e),"Expected a valid target ID."),this.dropTargets.get(e)}getSourceType(e){return E(this.isSourceId(e),"Expected a valid source ID."),this.types.get(e)}getTargetType(e){return E(this.isTargetId(e),"Expected a valid target ID."),this.types.get(e)}isSourceId(e){return be(e)===L.SOURCE}isTargetId(e){return be(e)===L.TARGET}removeSource(e){E(this.getSource(e),"Expected an existing source."),this.store.dispatch(ur(e)),or(()=>{this.dragSources.delete(e),this.types.delete(e)})}removeTarget(e){E(this.getTarget(e),"Expected an existing target."),this.store.dispatch(lr(e)),this.dropTargets.delete(e),this.types.delete(e)}pinSource(e){const r=this.getSource(e);E(r,"Expected an existing source."),this.pinnedSourceId=e,this.pinnedSource=r}unpinSource(){E(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}addHandler(e,r,n){const s=pr(e);return this.types.set(s,r),e===L.SOURCE?this.dragSources.set(s,n):e===L.TARGET&&this.dropTargets.set(s,n),s}constructor(e){this.types=new Map,this.dragSources=new Map,this.dropTargets=new Map,this.pinnedSourceId=null,this.pinnedSource=null,this.store=e}}const vr=(t,e)=>t===e;function Dr(t,e){return!t&&!e?!0:!t||!e?!1:t.x===e.x&&t.y===e.y}function yr(t,e,r=vr){if(t.length!==e.length)return!1;for(let n=0;n<t.length;++n)if(!r(t[n],e[n]))return!1;return!0}function Sr(t=z,e){switch(e.type){case J:break;case pe:case me:case ee:case ve:return z;case K:case fe:case Q:case Z:default:return he}const{targetIds:r=[],prevTargetIds:n=[]}=e.payload,s=It(r,n);if(!(s.length>0||!yr(r,n)))return z;const a=n[n.length-1],o=r[r.length-1];return a!==o&&(a&&s.push(a),o&&s.push(o)),s}function Er(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function xr(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{},n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable}))),n.forEach(function(s){Er(t,s,r[s])})}return t}const Ce={initialSourceClientOffset:null,initialClientOffset:null,clientOffset:null};function Or(t=Ce,e){const{payload:r}=e;switch(e.type){case ge:case K:return{initialSourceClientOffset:r.sourceClientOffset,initialClientOffset:r.clientOffset,clientOffset:r.clientOffset};case J:return Dr(t.clientOffset,r.clientOffset)?t:xr({},t,{clientOffset:r.clientOffset});case Q:case Z:return Ce;default:return t}}function Ir(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function V(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{},n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable}))),n.forEach(function(s){Ir(t,s,r[s])})}return t}const Tr={itemType:null,item:null,sourceId:null,targetIds:[],dropResult:null,didDrop:!1,isSourcePublic:null};function br(t=Tr,e){const{payload:r}=e;switch(e.type){case K:return V({},t,{itemType:r.itemType,item:r.item,sourceId:r.sourceId,isSourcePublic:r.isSourcePublic,dropResult:null,didDrop:!1});case fe:return V({},t,{isSourcePublic:!0});case J:return V({},t,{targetIds:r.targetIds});case ee:return t.targetIds.indexOf(r.targetId)===-1?t:V({},t,{targetIds:Ot(t.targetIds,r.targetId)});case Z:return V({},t,{dropResult:r.dropResult,didDrop:!0,targetIds:[]});case Q:return V({},t,{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return t}}function wr(t=0,e){switch(e.type){case pe:case me:return t+1;case ve:case ee:return t-1;default:return t}}function Cr(t=0){return t+1}function Rr(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function jr(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{},n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable}))),n.forEach(function(s){Rr(t,s,r[s])})}return t}function Nr(t={},e){return{dirtyHandlerIds:Sr(t.dirtyHandlerIds,{type:e.type,payload:jr({},e.payload,{prevTargetIds:xt(t,"dragOperation.targetIds",[])})}),dragOffset:Or(t.dragOffset,e),refCount:wr(t.refCount,e),dragOperation:br(t.dragOperation,e),stateId:Cr(t.stateId)}}function Pr(t,e=void 0,r={},n=!1){const s=Mr(n),i=new Qt(s,new mr(s)),a=new Xt(s,i),o=t(a,e,r);return a.receiveBackend(o),a}function Mr(t){const e=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__;return Ae(Nr,t&&e&&e({name:"dnd-core",instanceId:"dnd-core"}))}function _r(t,e){if(t==null)return{};var r=Lr(t,e),n,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)n=i[s],!(e.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function Lr(t,e){if(t==null)return{};var r={},n=Object.keys(t),s,i;for(i=0;i<n.length;i++)s=n[i],!(e.indexOf(s)>=0)&&(r[s]=t[s]);return r}let Re=0;const W=Symbol.for("__REACT_DND_CONTEXT_INSTANCE__");var Fr=f.memo(function(e){var{children:r}=e,n=_r(e,["children"]);const[s,i]=kr(n);return f.useEffect(()=>{if(i){const a=$e();return++Re,()=>{--Re===0&&(a[W]=null)}}},[]),c.jsxRuntimeExports.jsx(ke.Provider,{value:s,children:r})});function kr(t){if("manager"in t)return[{dragDropManager:t.manager},!1];const e=Ar(t.backend,t.context,t.options,t.debugMode),r=!t.context;return[e,r]}function Ar(t,e=$e(),r,n){const s=e;return s[W]||(s[W]={dragDropManager:Pr(t,e,r,n)}),s[W]}function $e(){return typeof global<"u"?global:window}var te,je;function Yr(){return je||(je=1,te=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,s,i;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(s=n;s--!==0;)if(!t(e[s],r[s]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(r).length)return!1;for(s=n;s--!==0;)if(!Object.prototype.hasOwnProperty.call(r,i[s]))return!1;for(s=n;s--!==0;){var a=i[s];if(!t(e[a],r[a]))return!1}return!0}return e!==e&&r!==r}),te}var Ur=Yr();const Br=M.getDefaultExportFromCjs(Ur),Y=typeof window<"u"?f.useLayoutEffect:f.useEffect;function Hr(t,e,r){const[n,s]=f.useState(()=>e(t)),i=f.useCallback(()=>{const a=e(t);Br(n,a)||(s(a),r&&r())},[n,t,r]);return Y(i),[n,i]}function Vr(t,e,r){const[n,s]=Hr(t,e,r);return Y(function(){const a=t.getHandlerId();if(a!=null)return t.subscribeToStateChange(s,{handlerIds:[a]})},[t,s]),n}function qe(t,e,r){return Vr(e,t||(()=>({})),()=>r.reconnect())}function ze(t,e){const r=[];return typeof t!="function"&&r.push(t),f.useMemo(()=>typeof t=="function"?t():t,r)}function $r(t){return f.useMemo(()=>t.hooks.dragSource(),[t])}function qr(t){return f.useMemo(()=>t.hooks.dragPreview(),[t])}let re=!1,ne=!1;class zr{receiveHandlerId(e){this.sourceId=e}getHandlerId(){return this.sourceId}canDrag(){E(!re,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return re=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{re=!1}}isDragging(){if(!this.sourceId)return!1;E(!ne,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return ne=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{ne=!1}}subscribeToStateChange(e,r){return this.internalMonitor.subscribeToStateChange(e,r)}isDraggingSource(e){return this.internalMonitor.isDraggingSource(e)}isOverTarget(e,r){return this.internalMonitor.isOverTarget(e,r)}getTargetIds(){return this.internalMonitor.getTargetIds()}isSourcePublic(){return this.internalMonitor.isSourcePublic()}getSourceId(){return this.internalMonitor.getSourceId()}subscribeToOffsetChange(e){return this.internalMonitor.subscribeToOffsetChange(e)}canDragSource(e){return this.internalMonitor.canDragSource(e)}canDropOnTarget(e){return this.internalMonitor.canDropOnTarget(e)}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.sourceId=null,this.internalMonitor=e.getMonitor()}}let se=!1;class Gr{receiveHandlerId(e){this.targetId=e}getHandlerId(){return this.targetId}subscribeToStateChange(e,r){return this.internalMonitor.subscribeToStateChange(e,r)}canDrop(){if(!this.targetId)return!1;E(!se,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor");try{return se=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{se=!1}}isOver(e){return this.targetId?this.internalMonitor.isOverTarget(this.targetId,e):!1}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.targetId=null,this.internalMonitor=e.getMonitor()}}function Xr(t,e,r){const n=r.getRegistry(),s=n.addTarget(t,e);return[s,()=>n.removeTarget(s)]}function Wr(t,e,r){const n=r.getRegistry(),s=n.addSource(t,e);return[s,()=>n.removeSource(s)]}function ue(t,e,r,n){let s;if(s!==void 0)return!!s;if(t===e)return!0;if(typeof t!="object"||!t||typeof e!="object"||!e)return!1;const i=Object.keys(t),a=Object.keys(e);if(i.length!==a.length)return!1;const o=Object.prototype.hasOwnProperty.bind(e);for(let l=0;l<i.length;l++){const d=i[l];if(!o(d))return!1;const v=t[d],D=e[d];if(s=void 0,s===!1||s===void 0&&v!==D)return!1}return!0}function le(t){return t!==null&&typeof t=="object"&&Object.prototype.hasOwnProperty.call(t,"current")}function Kr(t){if(typeof t.type=="string")return;const e=t.type.displayName||t.type.name||"the component";throw new Error(`Only native element nodes can now be passed to React DnD connectors.You can either wrap ${e} into a <div>, or turn it into a drag source or a drop target itself.`)}function Jr(t){return(e=null,r=null)=>{if(!f.isValidElement(e)){const i=e;return t(i,r),i}const n=e;return Kr(n),Zr(n,r?i=>t(i,r):t)}}function Ge(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];if(r.endsWith("Ref"))e[r]=t[r];else{const s=Jr(n);e[r]=()=>s}}),e}function Ne(t,e){typeof t=="function"?t(e):t.current=e}function Zr(t,e){const r=t.ref;return E(typeof r!="string","Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a <span> or <div>. Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs"),r?f.cloneElement(t,{ref:n=>{Ne(r,n),Ne(e,n)}}):f.cloneElement(t,{ref:e})}class Qr{receiveHandlerId(e){this.handlerId!==e&&(this.handlerId=e,this.reconnect())}get connectTarget(){return this.dragSource}get dragSourceOptions(){return this.dragSourceOptionsInternal}set dragSourceOptions(e){this.dragSourceOptionsInternal=e}get dragPreviewOptions(){return this.dragPreviewOptionsInternal}set dragPreviewOptions(e){this.dragPreviewOptionsInternal=e}reconnect(){const e=this.reconnectDragSource();this.reconnectDragPreview(e)}reconnectDragSource(){const e=this.dragSource,r=this.didHandlerIdChange()||this.didConnectedDragSourceChange()||this.didDragSourceOptionsChange();return r&&this.disconnectDragSource(),this.handlerId?e?(r&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragSource=e,this.lastConnectedDragSourceOptions=this.dragSourceOptions,this.dragSourceUnsubscribe=this.backend.connectDragSource(this.handlerId,e,this.dragSourceOptions)),r):(this.lastConnectedDragSource=e,r):r}reconnectDragPreview(e=!1){const r=this.dragPreview,n=e||this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();if(n&&this.disconnectDragPreview(),!!this.handlerId){if(!r){this.lastConnectedDragPreview=r;return}n&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragPreview=r,this.lastConnectedDragPreviewOptions=this.dragPreviewOptions,this.dragPreviewUnsubscribe=this.backend.connectDragPreview(this.handlerId,r,this.dragPreviewOptions))}}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didConnectedDragSourceChange(){return this.lastConnectedDragSource!==this.dragSource}didConnectedDragPreviewChange(){return this.lastConnectedDragPreview!==this.dragPreview}didDragSourceOptionsChange(){return!ue(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}didDragPreviewOptionsChange(){return!ue(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}disconnectDragSource(){this.dragSourceUnsubscribe&&(this.dragSourceUnsubscribe(),this.dragSourceUnsubscribe=void 0)}disconnectDragPreview(){this.dragPreviewUnsubscribe&&(this.dragPreviewUnsubscribe(),this.dragPreviewUnsubscribe=void 0,this.dragPreviewNode=null,this.dragPreviewRef=null)}get dragSource(){return this.dragSourceNode||this.dragSourceRef&&this.dragSourceRef.current}get dragPreview(){return this.dragPreviewNode||this.dragPreviewRef&&this.dragPreviewRef.current}clearDragSource(){this.dragSourceNode=null,this.dragSourceRef=null}clearDragPreview(){this.dragPreviewNode=null,this.dragPreviewRef=null}constructor(e){this.hooks=Ge({dragSource:(r,n)=>{this.clearDragSource(),this.dragSourceOptions=n||null,le(r)?this.dragSourceRef=r:this.dragSourceNode=r,this.reconnectDragSource()},dragPreview:(r,n)=>{this.clearDragPreview(),this.dragPreviewOptions=n||null,le(r)?this.dragPreviewRef=r:this.dragPreviewNode=r,this.reconnectDragPreview()}}),this.handlerId=null,this.dragSourceRef=null,this.dragSourceOptionsInternal=null,this.dragPreviewRef=null,this.dragPreviewOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDragSource=null,this.lastConnectedDragSourceOptions=null,this.lastConnectedDragPreview=null,this.lastConnectedDragPreviewOptions=null,this.backend=e}}class en{get connectTarget(){return this.dropTarget}reconnect(){const e=this.didHandlerIdChange()||this.didDropTargetChange()||this.didOptionsChange();e&&this.disconnectDropTarget();const r=this.dropTarget;if(this.handlerId){if(!r){this.lastConnectedDropTarget=r;return}e&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDropTarget=r,this.lastConnectedDropTargetOptions=this.dropTargetOptions,this.unsubscribeDropTarget=this.backend.connectDropTarget(this.handlerId,r,this.dropTargetOptions))}}receiveHandlerId(e){e!==this.handlerId&&(this.handlerId=e,this.reconnect())}get dropTargetOptions(){return this.dropTargetOptionsInternal}set dropTargetOptions(e){this.dropTargetOptionsInternal=e}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didDropTargetChange(){return this.lastConnectedDropTarget!==this.dropTarget}didOptionsChange(){return!ue(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}disconnectDropTarget(){this.unsubscribeDropTarget&&(this.unsubscribeDropTarget(),this.unsubscribeDropTarget=void 0)}get dropTarget(){return this.dropTargetNode||this.dropTargetRef&&this.dropTargetRef.current}clearDropTarget(){this.dropTargetRef=null,this.dropTargetNode=null}constructor(e){this.hooks=Ge({dropTarget:(r,n)=>{this.clearDropTarget(),this.dropTargetOptions=n,le(r)?this.dropTargetRef=r:this.dropTargetNode=r,this.reconnect()}}),this.handlerId=null,this.dropTargetRef=null,this.dropTargetOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDropTarget=null,this.lastConnectedDropTargetOptions=null,this.backend=e}}function q(){const{dragDropManager:t}=f.useContext(ke);return E(t!=null,"Expected drag drop context"),t}function tn(t,e){const r=q(),n=f.useMemo(()=>new Qr(r.getBackend()),[r]);return Y(()=>(n.dragSourceOptions=t||null,n.reconnect(),()=>n.disconnectDragSource()),[n,t]),Y(()=>(n.dragPreviewOptions=e||null,n.reconnect(),()=>n.disconnectDragPreview()),[n,e]),n}function rn(){const t=q();return f.useMemo(()=>new zr(t),[t])}class nn{beginDrag(){const e=this.spec,r=this.monitor;let n=null;return typeof e.item=="object"?n=e.item:typeof e.item=="function"?n=e.item(r):n={},n??null}canDrag(){const e=this.spec,r=this.monitor;return typeof e.canDrag=="boolean"?e.canDrag:typeof e.canDrag=="function"?e.canDrag(r):!0}isDragging(e,r){const n=this.spec,s=this.monitor,{isDragging:i}=n;return i?i(s):r===e.getSourceId()}endDrag(){const e=this.spec,r=this.monitor,n=this.connector,{end:s}=e;s&&s(r.getItem(),r),n.reconnect()}constructor(e,r,n){this.spec=e,this.monitor=r,this.connector=n}}function sn(t,e,r){const n=f.useMemo(()=>new nn(t,e,r),[e,r]);return f.useEffect(()=>{n.spec=t},[t]),n}function on(t){return f.useMemo(()=>{const e=t.type;return E(e!=null,"spec.type must be defined"),e},[t])}function an(t,e,r){const n=q(),s=sn(t,e,r),i=on(t);Y(function(){if(i!=null){const[o,l]=Wr(i,s,n);return e.receiveHandlerId(o),r.receiveHandlerId(o),l}},[n,e,r,s,i])}function cn(t,e){const r=ze(t);E(!r.begin,"useDrag::spec.begin was deprecated in v14. Replace spec.begin() with spec.item(). (see more here - https://react-dnd.github.io/react-dnd/docs/api/use-drag)");const n=rn(),s=tn(r.options,r.previewOptions);return an(r,n,s),[qe(r.collect,n,s),$r(s),qr(s)]}function un(t){return f.useMemo(()=>t.hooks.dropTarget(),[t])}function ln(t){const e=q(),r=f.useMemo(()=>new en(e.getBackend()),[e]);return Y(()=>(r.dropTargetOptions=t||null,r.reconnect(),()=>r.disconnectDropTarget()),[t]),r}function dn(){const t=q();return f.useMemo(()=>new Gr(t),[t])}function gn(t){const{accept:e}=t;return f.useMemo(()=>(E(t.accept!=null,"accept must be defined"),Array.isArray(e)?e:[e]),[e])}class fn{canDrop(){const e=this.spec,r=this.monitor;return e.canDrop?e.canDrop(r.getItem(),r):!0}hover(){const e=this.spec,r=this.monitor;e.hover&&e.hover(r.getItem(),r)}drop(){const e=this.spec,r=this.monitor;if(e.drop)return e.drop(r.getItem(),r)}constructor(e,r){this.spec=e,this.monitor=r}}function hn(t,e){const r=f.useMemo(()=>new fn(t,e),[e]);return f.useEffect(()=>{r.spec=t},[t]),r}function pn(t,e,r){const n=q(),s=hn(t,e),i=gn(t);Y(function(){const[o,l]=Xr(i,s,n);return e.receiveHandlerId(o),r.receiveHandlerId(o),l},[n,e,s,r,i.map(a=>a.toString()).join("|")])}function mn(t,e){const r=ze(t),n=dn(),s=ln(r.options);return pn(r,n,s),[qe(r.collect,n,s),un(s)]}function Xe(t){let e=null;return()=>(e==null&&(e=t()),e)}function vn(t,e){return t.filter(r=>r!==e)}function Dn(t,e){const r=new Set,n=i=>r.add(i);t.forEach(n),e.forEach(n);const s=[];return r.forEach(i=>s.push(i)),s}class yn{enter(e){const r=this.entered.length,n=s=>this.isNodeInDocument(s)&&(!s.contains||s.contains(e));return this.entered=Dn(this.entered.filter(n),[e]),r===0&&this.entered.length>0}leave(e){const r=this.entered.length;return this.entered=vn(this.entered.filter(this.isNodeInDocument),e),r>0&&this.entered.length===0}reset(){this.entered=[]}constructor(e){this.entered=[],this.isNodeInDocument=e}}class Sn{initializeExposedProperties(){Object.keys(this.config.exposeProperties).forEach(e=>{Object.defineProperty(this.item,e,{configurable:!0,enumerable:!0,get(){return console.warn(`Browser doesn't allow reading "${e}" until the drop event.`),null}})})}loadDataTransfer(e){if(e){const r={};Object.keys(this.config.exposeProperties).forEach(n=>{const s=this.config.exposeProperties[n];s!=null&&(r[n]={value:s(e,this.config.matchesTypes),configurable:!0,enumerable:!0})}),Object.defineProperties(this.item,r)}}canDrag(){return!0}beginDrag(){return this.item}isDragging(e,r){return r===e.getSourceId()}endDrag(){}constructor(e){this.config=e,this.item={},this.initializeExposedProperties()}}const We="__NATIVE_FILE__",Ke="__NATIVE_URL__",Je="__NATIVE_TEXT__",Ze="__NATIVE_HTML__",Pe=Object.freeze(Object.defineProperty({__proto__:null,FILE:We,HTML:Ze,TEXT:Je,URL:Ke},Symbol.toStringTag,{value:"Module"}));function ie(t,e,r){const n=e.reduce((s,i)=>s||t.getData(i),"");return n??r}const de={[We]:{exposeProperties:{files:t=>Array.prototype.slice.call(t.files),items:t=>t.items,dataTransfer:t=>t},matchesTypes:["Files"]},[Ze]:{exposeProperties:{html:(t,e)=>ie(t,e,""),dataTransfer:t=>t},matchesTypes:["Html","text/html"]},[Ke]:{exposeProperties:{urls:(t,e)=>ie(t,e,"").split(`
|
|
1
|
+
"use strict";const c=require("./jsx-runtime-CeSfJrVB.cjs"),u=require("antd"),k=require("./BwgCheck-Dtzr-6rg.cjs"),tt=require("./popupStore-BV632k5p.cjs"),F=require("@ant-design/icons"),Fe=require("imask"),f=require("react"),$=require("dayjs"),M=require("./apiUtils-CudW_FKE.cjs"),A=require("lodash"),rt=require("jszip"),De=u.Input.Search,nt=t=>{const e=u.Form.useFormInstance(),{openPopup:r}=tt.usePopupStore(),n=t.itemProps?.name||[],s=t.popupConfig||{callback(a){console.log("callback data :: ",a),n.length>1?(e.setFieldValue(n[0],a.code),e.setFieldValue(n[1],a.name)):e.setFieldValue(n,a.code)}},i={...t,placeholder:typeof t.placeholder=="string"?t.placeholder:t.placeholder?.[0]||"",onChange:a=>{n.length>1&&e.setFieldValue(n[0],""),t.onChange?.(a)},onSearch:a=>{t.popuCd?r(t.popuCd,t.popupParams,s):t.onSearch?.(a)}};return n.length>1?c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t.itemProps,name:void 0,children:c.jsxRuntimeExports.jsxs(u.Space.Compact,{block:!0,children:[c.jsxRuntimeExports.jsx(u.Form.Item,{name:n[0],rules:t.itemProps?.rules,style:{width:"40%",marginBottom:0,marginInlineEnd:0},validateStatus:"",help:"",children:c.jsxRuntimeExports.jsx(u.Input,{style:{color:"#999",backgroundColor:"#f5f5f5"},placeholder:t.placeholder?.[0]||"",readOnly:!0})}),c.jsxRuntimeExports.jsx(u.Form.Item,{name:n[1],style:{width:"60%",marginBottom:0},children:c.jsxRuntimeExports.jsx(De,{readOnly:t.readOnly,enterButton:c.jsxRuntimeExports.jsx(u.Button,{icon:c.jsxRuntimeExports.jsx(F.SearchOutlined,{}),disabled:t.readOnly}),...i})})]})}):c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t.itemProps,children:c.jsxRuntimeExports.jsx(De,{...i})})},st=t=>{if(typeof t=="string")return t.replace(/0/g,"_");if(Array.isArray(t))return t[0].replace(/0/g,"_");if(typeof t=="object"&&"mask"in t&&"blocks"in t){const{mask:e,blocks:r}=t;return e.split(".").map(n=>{const i=r?.[n]?.maxLength??3;return"_".repeat(i)}).join(".")}return""},it=({itemProps:t,inputProps:e,mask:r})=>{const n=f.useRef(null),s=u.Form.useFormInstance(),i=f.useMemo(()=>st(r),[r]);return f.useEffect(()=>{if(!n.current?.input)return;const a=typeof r=="string"||Array.isArray(r)?{mask:r}:r,o=Fe(n.current.input,a);return o.on("accept",()=>{s&&t?.name&&s.setFieldValue(t.name,o.value)}),()=>{o.destroy()}},[r,s,t?.name]),c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t,children:c.jsxRuntimeExports.jsx(u.Input,{...e,ref:n,placeholder:i})})},ot=t=>{switch(t){case"year":return{format:"YYYY",mask:"0000",outputFormat:"YYYY"};case"month":return{format:"YYYY-MM",mask:"0000-00",outputFormat:"YYYYMM"};case"date":default:return{format:"YYYY-MM-DD",mask:"0000-00-00",outputFormat:"YYYYMMDD"}}},at=({type:t="date",itemProps:e={name:"calendar"},inputProps:r})=>{const{format:n,mask:s,outputFormat:i}=ot(t),a=f.useRef(null),o=f.useRef(null),l=u.Form.useFormInstance(),[d,v]=f.useState(!1),[D,p]=f.useState(!1),g=e?.name,[T,S]=f.useState(null);f.useEffect(()=>{if(!a.current?.input)return;const y=Fe(a.current.input,{mask:s,lazy:!1});return o.current=y,y.on("accept",()=>{console.log("input :: ",y.value);const m=y.value,b=$(m,n,!0);console.log("input :: ",b),m.length===n.length&&b.isValid()&&(console.log("parsed :: ",b.format(i)),l.setFieldValue(g,b.format(i)),o.current?.updateValue(),v(!1))}),()=>{y.destroy()}},[n,s]),f.useEffect(()=>{S($(l.getFieldValue(g)))},[l.getFieldValue(g)]);const w=y=>{if(!y){o.current?.updateValue();return}const m=y.format(i);console.log("formatted :: ",m),o.current&&(o.current.value=m,o.current.updateValue()),p(!1)};return c.jsxRuntimeExports.jsx(k.BwgFormItem,{...e,name:void 0,validateStatus:D?"warning":void 0,help:D?"유효하지 않은 날짜입니다":void 0,children:c.jsxRuntimeExports.jsxs("div",{style:{position:"relative"},children:[c.jsxRuntimeExports.jsx(u.Form.Item,{name:g,getValueProps:y=>({value:y?$(y).format(n):void 0}),normalize:y=>y?$(y).format(i):void 0,noStyle:!0,children:c.jsxRuntimeExports.jsx(u.Input,{...r,ref:a,onFocus:()=>{v(!d),o.current?.updateValue()},onKeyDown:y=>{y.key==="Backspace"&&v(!0),y.key==="Tab"&&v(!1)},allowClear:!0,placeholder:s.replace(/0/g,"_"),autoComplete:"off"})}),c.jsxRuntimeExports.jsx(u.DatePicker,{open:d,picker:t,format:n,value:T,onChange:w,getPopupContainer:y=>y.parentElement,style:{position:"absolute",top:0,left:0,pointerEvents:"none",opacity:0,width:"100%"}})]})})},ye={year:{displayFormat:"YYYY",outputFormat:"YYYY"},month:{displayFormat:"YYYY-MM",outputFormat:"YYYYMM"},date:{displayFormat:"YYYY-MM-DD",outputFormat:"YYYYMMDD"},time:{displayFormat:"HH:mm",outputFormat:"HHmm"},datetime:{displayFormat:"YYYY-MM-DD HH:mm",outputFormat:"YYYYMMDDHHmm"}},ct=({itemProps:t,inputProps:e,type:r="date",returnType:n="string"})=>{const{displayFormat:s,outputFormat:i}=f.useMemo(()=>ye[r],[r]),a=f.useMemo(()=>Object.values(ye).map(o=>o.outputFormat).sort((o,l)=>{if(o.length===l.length){if(o===i)return-1;if(l===i)return 1}return l.length-o.length}),[i]);return c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t,getValueProps:o=>({value:o?$.isDayjs(o)?o:$(o,a):null}),normalize:o=>o?n==="dayjs"?o:o.format(i):null,children:c.jsxRuntimeExports.jsx(u.DatePicker,{...e,picker:r==="datetime"?"date":r,showTime:e?.showTime??(r==="datetime"||r==="time"),format:s})})},ut=({itemProps:t,inputProps:e})=>c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t,children:c.jsxRuntimeExports.jsx(u.Radio.Group,{...e})}),lt=({itemProps:t,inputProps:e})=>{const r=u.Form.useFormInstance(),[n,s]=f.useState(t?.initialValue??[]),[i,a]=f.useState([]),o=i.length>0&&i.length==n?.length,l=n?.length>0&&n.length<i.length;f.useEffect(()=>{a(d(e?.options))},[e?.options]),f.useEffect(()=>{s(n)},[n]);const d=p=>{const g=[];return(p||[]).map((T,S)=>{g.push(T.value)}),g},v=p=>{s(p.target.checked?i:[]),r.setFieldValue(t?.name,p.target.checked?i:[])},D=p=>{s(p),r.setFieldValue(t?.name,p),e?.onChange&&typeof e?.onChange=="function"&&e?.onChange(p)};return c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t,children:c.jsxRuntimeExports.jsxs(u.ConfigProvider,{theme:{components:{Checkbox:{colorPrimary:"var(--check-primary)",colorPrimaryBorder:"var(--check-primary)",colorPrimaryHover:"var(--check-primary-active)"}}},children:[e?.allCheck&&c.jsxRuntimeExports.jsx(u.Checkbox,{indeterminate:l,checked:o,onChange:v,children:"전체선택"}),c.jsxRuntimeExports.jsx(u.Checkbox.Group,{options:e?.options,value:n,onChange:D})]})})},{TextArea:dt}=u.Input,gt=({itemProps:t,inputProps:e})=>c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t,children:c.jsxRuntimeExports.jsx(dt,{...e})}),ft=({itemProps:t,inputProps:e})=>{const r=s=>{let i=s.toString().split(".");return e?.decimalPoint!=null&&i[1]!=null&&e?.decimalPoint>0?i[1].length>e?.decimalPoint?i[1]="."+i[1].substring(0,e?.decimalPoint):i[1]="."+i[1]:i[1]="",i[0].replace(/\B(?=(\d{3})+(?!\d))/g,",")+i[1]},n=s=>{let i=s.toString().split(".");return e?.decimalPoint!=null&&i[1]!=null&&e?.decimalPoint>0?i[1].length>e?.decimalPoint?i[1]="."+i[1].substring(0,e?.decimalPoint):i[1]="."+i[1]:i[1]="",i[0].replace(/\$\s?|(,*)/g,"")+i[1]};return c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t,children:c.jsxRuntimeExports.jsx(u.InputNumber,{...e,formatter:s=>r(s),parser:s=>n(s)})})},{Option:Se}=u.Select,ht=({itemProps:t,inputProps:e})=>{const[r,n]=f.useState([]);return f.useEffect(()=>{e?.addField==="ALL"?n([{label:"전체",value:""},...e?.list||[]]):e?.addField==="NULL"?n([{label:"",value:""},...e?.list||[]]):n(e?.list||[])},[e?.list]),c.jsxRuntimeExports.jsx(k.BwgFormItem,{...t,getValueProps:s=>s?{value:s&&s.indexOf(",")>0?s.split(","):[s]}:{value:[]},normalize:s=>s!=null&&s!=null&&s.length>0?s.toString():"",children:c.jsxRuntimeExports.jsx(u.Select,{...e,mode:"multiple",children:r.map(s=>{const{value:i,label:a}=s;return e?.printCode?c.jsxRuntimeExports.jsx(Se,{value:i,label:a,children:c.jsxRuntimeExports.jsx(u.Space,{children:`[${i}] ${a}`})},i):c.jsxRuntimeExports.jsx(Se,{value:i,label:a,children:c.jsxRuntimeExports.jsx(u.Space,{children:`${a}`})},i)})})})},pt=t=>c.jsxRuntimeExports.jsx(u.Button,{...t,className:"bwg-btn"}),ke=f.createContext({dragDropManager:void 0});function _(t){return"Minified Redux error #"+t+"; visit https://redux.js.org/Errors?code="+t+" for the full message or use the non-minified dev environment for full errors. "}var Ee=(function(){return typeof Symbol=="function"&&Symbol.observable||"@@observable"})(),xe=function(){return Math.random().toString(36).substring(7).split("").join(".")},Oe={INIT:"@@redux/INIT"+xe(),REPLACE:"@@redux/REPLACE"+xe()};function mt(t){if(typeof t!="object"||t===null)return!1;for(var e=t;Object.getPrototypeOf(e)!==null;)e=Object.getPrototypeOf(e);return Object.getPrototypeOf(t)===e}function vt(t){if(t===void 0)return"undefined";if(t===null)return"null";var e=typeof t;switch(e){case"boolean":case"string":case"number":case"symbol":case"function":return e}if(Array.isArray(t))return"array";if(St(t))return"date";if(yt(t))return"error";var r=Dt(t);switch(r){case"Symbol":case"Promise":case"WeakMap":case"WeakSet":case"Map":case"Set":return r}return e.slice(8,-1).toLowerCase().replace(/\s/g,"")}function Dt(t){return typeof t.constructor=="function"?t.constructor.name:null}function yt(t){return t instanceof Error||typeof t.message=="string"&&t.constructor&&typeof t.constructor.stackTraceLimit=="number"}function St(t){return t instanceof Date?!0:typeof t.toDateString=="function"&&typeof t.getDate=="function"&&typeof t.setDate=="function"}function H(t){var e=typeof t;return process.env.NODE_ENV!=="production"&&(e=vt(t)),e}function Ae(t,e,r){var n;if(typeof e=="function"&&typeof r=="function"||typeof r=="function"&&typeof arguments[3]=="function")throw new Error(process.env.NODE_ENV==="production"?_(0):"It looks like you are passing several store enhancers to createStore(). This is not supported. Instead, compose them together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.");if(typeof e=="function"&&typeof r>"u"&&(r=e,e=void 0),typeof r<"u"){if(typeof r!="function")throw new Error(process.env.NODE_ENV==="production"?_(1):"Expected the enhancer to be a function. Instead, received: '"+H(r)+"'");return r(Ae)(t,e)}if(typeof t!="function")throw new Error(process.env.NODE_ENV==="production"?_(2):"Expected the root reducer to be a function. Instead, received: '"+H(t)+"'");var s=t,i=e,a=[],o=a,l=!1;function d(){o===a&&(o=a.slice())}function v(){if(l)throw new Error(process.env.NODE_ENV==="production"?_(3):"You may not call store.getState() while the reducer is executing. The reducer has already received the state as an argument. Pass it down from the top reducer instead of reading it from the store.");return i}function D(S){if(typeof S!="function")throw new Error(process.env.NODE_ENV==="production"?_(4):"Expected the listener to be a function. Instead, received: '"+H(S)+"'");if(l)throw new Error(process.env.NODE_ENV==="production"?_(5):"You may not call store.subscribe() while the reducer is executing. If you would like to be notified after the store has been updated, subscribe from a component and invoke store.getState() in the callback to access the latest state. See https://redux.js.org/api/store#subscribelistener for more details.");var w=!0;return d(),o.push(S),function(){if(w){if(l)throw new Error(process.env.NODE_ENV==="production"?_(6):"You may not unsubscribe from a store listener while the reducer is executing. See https://redux.js.org/api/store#subscribelistener for more details.");w=!1,d();var m=o.indexOf(S);o.splice(m,1),a=null}}}function p(S){if(!mt(S))throw new Error(process.env.NODE_ENV==="production"?_(7):"Actions must be plain objects. Instead, the actual type was: '"+H(S)+"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.");if(typeof S.type>"u")throw new Error(process.env.NODE_ENV==="production"?_(8):'Actions may not have an undefined "type" property. You may have misspelled an action type string constant.');if(l)throw new Error(process.env.NODE_ENV==="production"?_(9):"Reducers may not dispatch actions.");try{l=!0,i=s(i,S)}finally{l=!1}for(var w=a=o,y=0;y<w.length;y++){var m=w[y];m()}return S}function g(S){if(typeof S!="function")throw new Error(process.env.NODE_ENV==="production"?_(10):"Expected the nextReducer to be a function. Instead, received: '"+H(S));s=S,p({type:Oe.REPLACE})}function T(){var S,w=D;return S={subscribe:function(m){if(typeof m!="object"||m===null)throw new Error(process.env.NODE_ENV==="production"?_(11):"Expected the observer to be an object. Instead, received: '"+H(m)+"'");function b(){m.next&&m.next(v())}b();var h=w(b);return{unsubscribe:h}}},S[Ee]=function(){return this},S}return p({type:Oe.INIT}),n={dispatch:p,subscribe:D,getState:v,replaceReducer:g},n[Ee]=T,n}function E(t,e,...r){if(Et()&&e===void 0)throw new Error("invariant requires an error message argument");if(!t){let n;if(e===void 0)n=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{let s=0;n=new Error(e.replace(/%s/g,function(){return r[s++]})),n.name="Invariant Violation"}throw n.framesToPop=1,n}}function Et(){return typeof process<"u"&&process.env.NODE_ENV==="production"}function xt(t,e,r){return e.split(".").reduce((n,s)=>n&&n[s]?n[s]:r||null,t)}function Ot(t,e){return t.filter(r=>r!==e)}function Ye(t){return typeof t=="object"}function It(t,e){const r=new Map,n=i=>{r.set(i,r.has(i)?r.get(i)+1:1)};t.forEach(n),e.forEach(n);const s=[];return r.forEach((i,a)=>{i===1&&s.push(a)}),s}function Tt(t,e){return t.filter(r=>e.indexOf(r)>-1)}const ge="dnd-core/INIT_COORDS",K="dnd-core/BEGIN_DRAG",fe="dnd-core/PUBLISH_DRAG_SOURCE",J="dnd-core/HOVER",Z="dnd-core/DROP",Q="dnd-core/END_DRAG";function Ie(t,e){return{type:ge,payload:{sourceClientOffset:e||null,clientOffset:t||null}}}const bt={type:ge,payload:{clientOffset:null,sourceClientOffset:null}};function wt(t){return function(r=[],n={publishSource:!0}){const{publishSource:s=!0,clientOffset:i,getSourceClientOffset:a}=n,o=t.getMonitor(),l=t.getRegistry();t.dispatch(Ie(i)),Ct(r,o,l);const d=Nt(r,o);if(d==null){t.dispatch(bt);return}let v=null;if(i){if(!a)throw new Error("getSourceClientOffset must be defined");Rt(a),v=a(d)}t.dispatch(Ie(i,v));const p=l.getSource(d).beginDrag(o,d);if(p==null)return;jt(p),l.pinSource(d);const g=l.getSourceType(d);return{type:K,payload:{itemType:g,item:p,sourceId:d,clientOffset:i||null,sourceClientOffset:v||null,isSourcePublic:!!s}}}}function Ct(t,e,r){E(!e.isDragging(),"Cannot call beginDrag while dragging."),t.forEach(function(n){E(r.getSource(n),"Expected sourceIds to be registered.")})}function Rt(t){E(typeof t=="function","When clientOffset is provided, getSourceClientOffset must be a function.")}function jt(t){E(Ye(t),"Item must be an object.")}function Nt(t,e){let r=null;for(let n=t.length-1;n>=0;n--)if(e.canDragSource(t[n])){r=t[n];break}return r}function Pt(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function Mt(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{},n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable}))),n.forEach(function(s){Pt(t,s,r[s])})}return t}function _t(t){return function(r={}){const n=t.getMonitor(),s=t.getRegistry();Lt(n),At(n).forEach((a,o)=>{const l=Ft(a,o,s,n),d={type:Z,payload:{dropResult:Mt({},r,l)}};t.dispatch(d)})}}function Lt(t){E(t.isDragging(),"Cannot call drop while not dragging."),E(!t.didDrop(),"Cannot call drop twice during one drag operation.")}function Ft(t,e,r,n){const s=r.getTarget(t);let i=s?s.drop(n,t):void 0;return kt(i),typeof i>"u"&&(i=e===0?{}:n.getDropResult()),i}function kt(t){E(typeof t>"u"||Ye(t),"Drop result must either be an object or undefined.")}function At(t){const e=t.getTargetIds().filter(t.canDropOnTarget,t);return e.reverse(),e}function Yt(t){return function(){const r=t.getMonitor(),n=t.getRegistry();Ut(r);const s=r.getSourceId();return s!=null&&(n.getSource(s,!0).endDrag(r,s),n.unpinSource()),{type:Q}}}function Ut(t){E(t.isDragging(),"Cannot call endDrag while not dragging.")}function ae(t,e){return e===null?t===null:Array.isArray(t)?t.some(r=>r===e):t===e}function Bt(t){return function(r,{clientOffset:n}={}){Ht(r);const s=r.slice(0),i=t.getMonitor(),a=t.getRegistry(),o=i.getItemType();return $t(s,a,o),Vt(s,i,a),qt(s,i,a),{type:J,payload:{targetIds:s,clientOffset:n||null}}}}function Ht(t){E(Array.isArray(t),"Expected targetIds to be an array.")}function Vt(t,e,r){E(e.isDragging(),"Cannot call hover while not dragging."),E(!e.didDrop(),"Cannot call hover after drop.");for(let n=0;n<t.length;n++){const s=t[n];E(t.lastIndexOf(s)===n,"Expected targetIds to be unique in the passed array.");const i=r.getTarget(s);E(i,"Expected targetIds to be registered.")}}function $t(t,e,r){for(let n=t.length-1;n>=0;n--){const s=t[n],i=e.getTargetType(s);ae(i,r)||t.splice(n,1)}}function qt(t,e,r){t.forEach(function(n){r.getTarget(n).hover(e,n)})}function zt(t){return function(){if(t.getMonitor().isDragging())return{type:fe}}}function Gt(t){return{beginDrag:wt(t),publishDragSource:zt(t),hover:Bt(t),drop:_t(t),endDrag:Yt(t)}}class Xt{receiveBackend(e){this.backend=e}getMonitor(){return this.monitor}getBackend(){return this.backend}getRegistry(){return this.monitor.registry}getActions(){const e=this,{dispatch:r}=this.store;function n(i){return(...a)=>{const o=i.apply(e,a);typeof o<"u"&&r(o)}}const s=Gt(this);return Object.keys(s).reduce((i,a)=>{const o=s[a];return i[a]=n(o),i},{})}dispatch(e){this.store.dispatch(e)}constructor(e,r){this.isSetUp=!1,this.handleRefCountChange=()=>{const n=this.store.getState().refCount>0;this.backend&&(n&&!this.isSetUp?(this.backend.setup(),this.isSetUp=!0):!n&&this.isSetUp&&(this.backend.teardown(),this.isSetUp=!1))},this.store=e,this.monitor=r,e.subscribe(this.handleRefCountChange)}}function Wt(t,e){return{x:t.x+e.x,y:t.y+e.y}}function Ue(t,e){return{x:t.x-e.x,y:t.y-e.y}}function Kt(t){const{clientOffset:e,initialClientOffset:r,initialSourceClientOffset:n}=t;return!e||!r||!n?null:Ue(Wt(e,n),r)}function Jt(t){const{clientOffset:e,initialClientOffset:r}=t;return!e||!r?null:Ue(e,r)}const z=[],he=[];z.__IS_NONE__=!0;he.__IS_ALL__=!0;function Zt(t,e){return t===z?!1:t===he||typeof e>"u"?!0:Tt(e,t).length>0}class Qt{subscribeToStateChange(e,r={}){const{handlerIds:n}=r;E(typeof e=="function","listener must be a function."),E(typeof n>"u"||Array.isArray(n),"handlerIds, when specified, must be an array of strings.");let s=this.store.getState().stateId;const i=()=>{const a=this.store.getState(),o=a.stateId;try{o===s||o===s+1&&!Zt(a.dirtyHandlerIds,n)||e()}finally{s=o}};return this.store.subscribe(i)}subscribeToOffsetChange(e){E(typeof e=="function","listener must be a function.");let r=this.store.getState().dragOffset;const n=()=>{const s=this.store.getState().dragOffset;s!==r&&(r=s,e())};return this.store.subscribe(n)}canDragSource(e){if(!e)return!1;const r=this.registry.getSource(e);return E(r,`Expected to find a valid source. sourceId=${e}`),this.isDragging()?!1:r.canDrag(this,e)}canDropOnTarget(e){if(!e)return!1;const r=this.registry.getTarget(e);if(E(r,`Expected to find a valid target. targetId=${e}`),!this.isDragging()||this.didDrop())return!1;const n=this.registry.getTargetType(e),s=this.getItemType();return ae(n,s)&&r.canDrop(this,e)}isDragging(){return!!this.getItemType()}isDraggingSource(e){if(!e)return!1;const r=this.registry.getSource(e,!0);if(E(r,`Expected to find a valid source. sourceId=${e}`),!this.isDragging()||!this.isSourcePublic())return!1;const n=this.registry.getSourceType(e),s=this.getItemType();return n!==s?!1:r.isDragging(this,e)}isOverTarget(e,r={shallow:!1}){if(!e)return!1;const{shallow:n}=r;if(!this.isDragging())return!1;const s=this.registry.getTargetType(e),i=this.getItemType();if(i&&!ae(s,i))return!1;const a=this.getTargetIds();if(!a.length)return!1;const o=a.indexOf(e);return n?o===a.length-1:o>-1}getItemType(){return this.store.getState().dragOperation.itemType}getItem(){return this.store.getState().dragOperation.item}getSourceId(){return this.store.getState().dragOperation.sourceId}getTargetIds(){return this.store.getState().dragOperation.targetIds}getDropResult(){return this.store.getState().dragOperation.dropResult}didDrop(){return this.store.getState().dragOperation.didDrop}isSourcePublic(){return!!this.store.getState().dragOperation.isSourcePublic}getInitialClientOffset(){return this.store.getState().dragOffset.initialClientOffset}getInitialSourceClientOffset(){return this.store.getState().dragOffset.initialSourceClientOffset}getClientOffset(){return this.store.getState().dragOffset.clientOffset}getSourceClientOffset(){return Kt(this.store.getState().dragOffset)}getDifferenceFromInitialOffset(){return Jt(this.store.getState().dragOffset)}constructor(e,r){this.store=e,this.registry=r}}const Te=typeof global<"u"?global:self,Be=Te.MutationObserver||Te.WebKitMutationObserver;function He(t){return function(){const r=setTimeout(s,0),n=setInterval(s,50);function s(){clearTimeout(r),clearInterval(n),t()}}}function er(t){let e=1;const r=new Be(t),n=document.createTextNode("");return r.observe(n,{characterData:!0}),function(){e=-e,n.data=e}}const tr=typeof Be=="function"?er:He;class rr{enqueueTask(e){const{queue:r,requestFlush:n}=this;r.length||(n(),this.flushing=!0),r[r.length]=e}constructor(){this.queue=[],this.pendingErrors=[],this.flushing=!1,this.index=0,this.capacity=1024,this.flush=()=>{const{queue:e}=this;for(;this.index<e.length;){const r=this.index;if(this.index++,e[r].call(),this.index>this.capacity){for(let n=0,s=e.length-this.index;n<s;n++)e[n]=e[n+this.index];e.length-=this.index,this.index=0}}e.length=0,this.index=0,this.flushing=!1},this.registerPendingError=e=>{this.pendingErrors.push(e),this.requestErrorThrow()},this.requestFlush=tr(this.flush),this.requestErrorThrow=He(()=>{if(this.pendingErrors.length)throw this.pendingErrors.shift()})}}class nr{call(){try{this.task&&this.task()}catch(e){this.onError(e)}finally{this.task=null,this.release(this)}}constructor(e,r){this.onError=e,this.release=r,this.task=null}}class sr{create(e){const r=this.freeTasks,n=r.length?r.pop():new nr(this.onError,s=>r[r.length]=s);return n.task=e,n}constructor(e){this.onError=e,this.freeTasks=[]}}const Ve=new rr,ir=new sr(Ve.registerPendingError);function or(t){Ve.enqueueTask(ir.create(t))}const pe="dnd-core/ADD_SOURCE",me="dnd-core/ADD_TARGET",ve="dnd-core/REMOVE_SOURCE",ee="dnd-core/REMOVE_TARGET";function ar(t){return{type:pe,payload:{sourceId:t}}}function cr(t){return{type:me,payload:{targetId:t}}}function ur(t){return{type:ve,payload:{sourceId:t}}}function lr(t){return{type:ee,payload:{targetId:t}}}function dr(t){E(typeof t.canDrag=="function","Expected canDrag to be a function."),E(typeof t.beginDrag=="function","Expected beginDrag to be a function."),E(typeof t.endDrag=="function","Expected endDrag to be a function.")}function gr(t){E(typeof t.canDrop=="function","Expected canDrop to be a function."),E(typeof t.hover=="function","Expected hover to be a function."),E(typeof t.drop=="function","Expected beginDrag to be a function.")}function ce(t,e){if(e&&Array.isArray(t)){t.forEach(r=>ce(r,!1));return}E(typeof t=="string"||typeof t=="symbol",e?"Type can only be a string, a symbol, or an array of either.":"Type can only be a string or a symbol.")}var L;(function(t){t.SOURCE="SOURCE",t.TARGET="TARGET"})(L||(L={}));let fr=0;function hr(){return fr++}function pr(t){const e=hr().toString();switch(t){case L.SOURCE:return`S${e}`;case L.TARGET:return`T${e}`;default:throw new Error(`Unknown Handler Role: ${t}`)}}function be(t){switch(t[0]){case"S":return L.SOURCE;case"T":return L.TARGET;default:throw new Error(`Cannot parse handler ID: ${t}`)}}function we(t,e){const r=t.entries();let n=!1;do{const{done:s,value:[,i]}=r.next();if(i===e)return!0;n=!!s}while(!n);return!1}class mr{addSource(e,r){ce(e),dr(r);const n=this.addHandler(L.SOURCE,e,r);return this.store.dispatch(ar(n)),n}addTarget(e,r){ce(e,!0),gr(r);const n=this.addHandler(L.TARGET,e,r);return this.store.dispatch(cr(n)),n}containsHandler(e){return we(this.dragSources,e)||we(this.dropTargets,e)}getSource(e,r=!1){return E(this.isSourceId(e),"Expected a valid source ID."),r&&e===this.pinnedSourceId?this.pinnedSource:this.dragSources.get(e)}getTarget(e){return E(this.isTargetId(e),"Expected a valid target ID."),this.dropTargets.get(e)}getSourceType(e){return E(this.isSourceId(e),"Expected a valid source ID."),this.types.get(e)}getTargetType(e){return E(this.isTargetId(e),"Expected a valid target ID."),this.types.get(e)}isSourceId(e){return be(e)===L.SOURCE}isTargetId(e){return be(e)===L.TARGET}removeSource(e){E(this.getSource(e),"Expected an existing source."),this.store.dispatch(ur(e)),or(()=>{this.dragSources.delete(e),this.types.delete(e)})}removeTarget(e){E(this.getTarget(e),"Expected an existing target."),this.store.dispatch(lr(e)),this.dropTargets.delete(e),this.types.delete(e)}pinSource(e){const r=this.getSource(e);E(r,"Expected an existing source."),this.pinnedSourceId=e,this.pinnedSource=r}unpinSource(){E(this.pinnedSource,"No source is pinned at the time."),this.pinnedSourceId=null,this.pinnedSource=null}addHandler(e,r,n){const s=pr(e);return this.types.set(s,r),e===L.SOURCE?this.dragSources.set(s,n):e===L.TARGET&&this.dropTargets.set(s,n),s}constructor(e){this.types=new Map,this.dragSources=new Map,this.dropTargets=new Map,this.pinnedSourceId=null,this.pinnedSource=null,this.store=e}}const vr=(t,e)=>t===e;function Dr(t,e){return!t&&!e?!0:!t||!e?!1:t.x===e.x&&t.y===e.y}function yr(t,e,r=vr){if(t.length!==e.length)return!1;for(let n=0;n<t.length;++n)if(!r(t[n],e[n]))return!1;return!0}function Sr(t=z,e){switch(e.type){case J:break;case pe:case me:case ee:case ve:return z;case K:case fe:case Q:case Z:default:return he}const{targetIds:r=[],prevTargetIds:n=[]}=e.payload,s=It(r,n);if(!(s.length>0||!yr(r,n)))return z;const a=n[n.length-1],o=r[r.length-1];return a!==o&&(a&&s.push(a),o&&s.push(o)),s}function Er(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function xr(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{},n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable}))),n.forEach(function(s){Er(t,s,r[s])})}return t}const Ce={initialSourceClientOffset:null,initialClientOffset:null,clientOffset:null};function Or(t=Ce,e){const{payload:r}=e;switch(e.type){case ge:case K:return{initialSourceClientOffset:r.sourceClientOffset,initialClientOffset:r.clientOffset,clientOffset:r.clientOffset};case J:return Dr(t.clientOffset,r.clientOffset)?t:xr({},t,{clientOffset:r.clientOffset});case Q:case Z:return Ce;default:return t}}function Ir(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function V(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{},n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable}))),n.forEach(function(s){Ir(t,s,r[s])})}return t}const Tr={itemType:null,item:null,sourceId:null,targetIds:[],dropResult:null,didDrop:!1,isSourcePublic:null};function br(t=Tr,e){const{payload:r}=e;switch(e.type){case K:return V({},t,{itemType:r.itemType,item:r.item,sourceId:r.sourceId,isSourcePublic:r.isSourcePublic,dropResult:null,didDrop:!1});case fe:return V({},t,{isSourcePublic:!0});case J:return V({},t,{targetIds:r.targetIds});case ee:return t.targetIds.indexOf(r.targetId)===-1?t:V({},t,{targetIds:Ot(t.targetIds,r.targetId)});case Z:return V({},t,{dropResult:r.dropResult,didDrop:!0,targetIds:[]});case Q:return V({},t,{itemType:null,item:null,sourceId:null,dropResult:null,didDrop:!1,isSourcePublic:null,targetIds:[]});default:return t}}function wr(t=0,e){switch(e.type){case pe:case me:return t+1;case ve:case ee:return t-1;default:return t}}function Cr(t=0){return t+1}function Rr(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function jr(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{},n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable}))),n.forEach(function(s){Rr(t,s,r[s])})}return t}function Nr(t={},e){return{dirtyHandlerIds:Sr(t.dirtyHandlerIds,{type:e.type,payload:jr({},e.payload,{prevTargetIds:xt(t,"dragOperation.targetIds",[])})}),dragOffset:Or(t.dragOffset,e),refCount:wr(t.refCount,e),dragOperation:br(t.dragOperation,e),stateId:Cr(t.stateId)}}function Pr(t,e=void 0,r={},n=!1){const s=Mr(n),i=new Qt(s,new mr(s)),a=new Xt(s,i),o=t(a,e,r);return a.receiveBackend(o),a}function Mr(t){const e=typeof window<"u"&&window.__REDUX_DEVTOOLS_EXTENSION__;return Ae(Nr,t&&e&&e({name:"dnd-core",instanceId:"dnd-core"}))}function _r(t,e){if(t==null)return{};var r=Lr(t,e),n,s;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(s=0;s<i.length;s++)n=i[s],!(e.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(t,n)&&(r[n]=t[n])}return r}function Lr(t,e){if(t==null)return{};var r={},n=Object.keys(t),s,i;for(i=0;i<n.length;i++)s=n[i],!(e.indexOf(s)>=0)&&(r[s]=t[s]);return r}let Re=0;const W=Symbol.for("__REACT_DND_CONTEXT_INSTANCE__");var Fr=f.memo(function(e){var{children:r}=e,n=_r(e,["children"]);const[s,i]=kr(n);return f.useEffect(()=>{if(i){const a=$e();return++Re,()=>{--Re===0&&(a[W]=null)}}},[]),c.jsxRuntimeExports.jsx(ke.Provider,{value:s,children:r})});function kr(t){if("manager"in t)return[{dragDropManager:t.manager},!1];const e=Ar(t.backend,t.context,t.options,t.debugMode),r=!t.context;return[e,r]}function Ar(t,e=$e(),r,n){const s=e;return s[W]||(s[W]={dragDropManager:Pr(t,e,r,n)}),s[W]}function $e(){return typeof global<"u"?global:window}var te,je;function Yr(){return je||(je=1,te=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,s,i;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(s=n;s--!==0;)if(!t(e[s],r[s]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(i=Object.keys(e),n=i.length,n!==Object.keys(r).length)return!1;for(s=n;s--!==0;)if(!Object.prototype.hasOwnProperty.call(r,i[s]))return!1;for(s=n;s--!==0;){var a=i[s];if(!t(e[a],r[a]))return!1}return!0}return e!==e&&r!==r}),te}var Ur=Yr();const Br=M.getDefaultExportFromCjs(Ur),Y=typeof window<"u"?f.useLayoutEffect:f.useEffect;function Hr(t,e,r){const[n,s]=f.useState(()=>e(t)),i=f.useCallback(()=>{const a=e(t);Br(n,a)||(s(a),r&&r())},[n,t,r]);return Y(i),[n,i]}function Vr(t,e,r){const[n,s]=Hr(t,e,r);return Y(function(){const a=t.getHandlerId();if(a!=null)return t.subscribeToStateChange(s,{handlerIds:[a]})},[t,s]),n}function qe(t,e,r){return Vr(e,t||(()=>({})),()=>r.reconnect())}function ze(t,e){const r=[];return typeof t!="function"&&r.push(t),f.useMemo(()=>typeof t=="function"?t():t,r)}function $r(t){return f.useMemo(()=>t.hooks.dragSource(),[t])}function qr(t){return f.useMemo(()=>t.hooks.dragPreview(),[t])}let re=!1,ne=!1;class zr{receiveHandlerId(e){this.sourceId=e}getHandlerId(){return this.sourceId}canDrag(){E(!re,"You may not call monitor.canDrag() inside your canDrag() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return re=!0,this.internalMonitor.canDragSource(this.sourceId)}finally{re=!1}}isDragging(){if(!this.sourceId)return!1;E(!ne,"You may not call monitor.isDragging() inside your isDragging() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drag-source-monitor");try{return ne=!0,this.internalMonitor.isDraggingSource(this.sourceId)}finally{ne=!1}}subscribeToStateChange(e,r){return this.internalMonitor.subscribeToStateChange(e,r)}isDraggingSource(e){return this.internalMonitor.isDraggingSource(e)}isOverTarget(e,r){return this.internalMonitor.isOverTarget(e,r)}getTargetIds(){return this.internalMonitor.getTargetIds()}isSourcePublic(){return this.internalMonitor.isSourcePublic()}getSourceId(){return this.internalMonitor.getSourceId()}subscribeToOffsetChange(e){return this.internalMonitor.subscribeToOffsetChange(e)}canDragSource(e){return this.internalMonitor.canDragSource(e)}canDropOnTarget(e){return this.internalMonitor.canDropOnTarget(e)}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.sourceId=null,this.internalMonitor=e.getMonitor()}}let se=!1;class Gr{receiveHandlerId(e){this.targetId=e}getHandlerId(){return this.targetId}subscribeToStateChange(e,r){return this.internalMonitor.subscribeToStateChange(e,r)}canDrop(){if(!this.targetId)return!1;E(!se,"You may not call monitor.canDrop() inside your canDrop() implementation. Read more: http://react-dnd.github.io/react-dnd/docs/api/drop-target-monitor");try{return se=!0,this.internalMonitor.canDropOnTarget(this.targetId)}finally{se=!1}}isOver(e){return this.targetId?this.internalMonitor.isOverTarget(this.targetId,e):!1}getItemType(){return this.internalMonitor.getItemType()}getItem(){return this.internalMonitor.getItem()}getDropResult(){return this.internalMonitor.getDropResult()}didDrop(){return this.internalMonitor.didDrop()}getInitialClientOffset(){return this.internalMonitor.getInitialClientOffset()}getInitialSourceClientOffset(){return this.internalMonitor.getInitialSourceClientOffset()}getSourceClientOffset(){return this.internalMonitor.getSourceClientOffset()}getClientOffset(){return this.internalMonitor.getClientOffset()}getDifferenceFromInitialOffset(){return this.internalMonitor.getDifferenceFromInitialOffset()}constructor(e){this.targetId=null,this.internalMonitor=e.getMonitor()}}function Xr(t,e,r){const n=r.getRegistry(),s=n.addTarget(t,e);return[s,()=>n.removeTarget(s)]}function Wr(t,e,r){const n=r.getRegistry(),s=n.addSource(t,e);return[s,()=>n.removeSource(s)]}function ue(t,e,r,n){let s;if(s!==void 0)return!!s;if(t===e)return!0;if(typeof t!="object"||!t||typeof e!="object"||!e)return!1;const i=Object.keys(t),a=Object.keys(e);if(i.length!==a.length)return!1;const o=Object.prototype.hasOwnProperty.bind(e);for(let l=0;l<i.length;l++){const d=i[l];if(!o(d))return!1;const v=t[d],D=e[d];if(s=void 0,s===!1||s===void 0&&v!==D)return!1}return!0}function le(t){return t!==null&&typeof t=="object"&&Object.prototype.hasOwnProperty.call(t,"current")}function Kr(t){if(typeof t.type=="string")return;const e=t.type.displayName||t.type.name||"the component";throw new Error(`Only native element nodes can now be passed to React DnD connectors.You can either wrap ${e} into a <div>, or turn it into a drag source or a drop target itself.`)}function Jr(t){return(e=null,r=null)=>{if(!f.isValidElement(e)){const i=e;return t(i,r),i}const n=e;return Kr(n),Zr(n,r?i=>t(i,r):t)}}function Ge(t){const e={};return Object.keys(t).forEach(r=>{const n=t[r];if(r.endsWith("Ref"))e[r]=t[r];else{const s=Jr(n);e[r]=()=>s}}),e}function Ne(t,e){typeof t=="function"?t(e):t.current=e}function Zr(t,e){const r=t.ref;return E(typeof r!="string","Cannot connect React DnD to an element with an existing string ref. Please convert it to use a callback ref instead, or wrap it into a <span> or <div>. Read more: https://reactjs.org/docs/refs-and-the-dom.html#callback-refs"),r?f.cloneElement(t,{ref:n=>{Ne(r,n),Ne(e,n)}}):f.cloneElement(t,{ref:e})}class Qr{receiveHandlerId(e){this.handlerId!==e&&(this.handlerId=e,this.reconnect())}get connectTarget(){return this.dragSource}get dragSourceOptions(){return this.dragSourceOptionsInternal}set dragSourceOptions(e){this.dragSourceOptionsInternal=e}get dragPreviewOptions(){return this.dragPreviewOptionsInternal}set dragPreviewOptions(e){this.dragPreviewOptionsInternal=e}reconnect(){const e=this.reconnectDragSource();this.reconnectDragPreview(e)}reconnectDragSource(){const e=this.dragSource,r=this.didHandlerIdChange()||this.didConnectedDragSourceChange()||this.didDragSourceOptionsChange();return r&&this.disconnectDragSource(),this.handlerId?e?(r&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragSource=e,this.lastConnectedDragSourceOptions=this.dragSourceOptions,this.dragSourceUnsubscribe=this.backend.connectDragSource(this.handlerId,e,this.dragSourceOptions)),r):(this.lastConnectedDragSource=e,r):r}reconnectDragPreview(e=!1){const r=this.dragPreview,n=e||this.didHandlerIdChange()||this.didConnectedDragPreviewChange()||this.didDragPreviewOptionsChange();if(n&&this.disconnectDragPreview(),!!this.handlerId){if(!r){this.lastConnectedDragPreview=r;return}n&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDragPreview=r,this.lastConnectedDragPreviewOptions=this.dragPreviewOptions,this.dragPreviewUnsubscribe=this.backend.connectDragPreview(this.handlerId,r,this.dragPreviewOptions))}}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didConnectedDragSourceChange(){return this.lastConnectedDragSource!==this.dragSource}didConnectedDragPreviewChange(){return this.lastConnectedDragPreview!==this.dragPreview}didDragSourceOptionsChange(){return!ue(this.lastConnectedDragSourceOptions,this.dragSourceOptions)}didDragPreviewOptionsChange(){return!ue(this.lastConnectedDragPreviewOptions,this.dragPreviewOptions)}disconnectDragSource(){this.dragSourceUnsubscribe&&(this.dragSourceUnsubscribe(),this.dragSourceUnsubscribe=void 0)}disconnectDragPreview(){this.dragPreviewUnsubscribe&&(this.dragPreviewUnsubscribe(),this.dragPreviewUnsubscribe=void 0,this.dragPreviewNode=null,this.dragPreviewRef=null)}get dragSource(){return this.dragSourceNode||this.dragSourceRef&&this.dragSourceRef.current}get dragPreview(){return this.dragPreviewNode||this.dragPreviewRef&&this.dragPreviewRef.current}clearDragSource(){this.dragSourceNode=null,this.dragSourceRef=null}clearDragPreview(){this.dragPreviewNode=null,this.dragPreviewRef=null}constructor(e){this.hooks=Ge({dragSource:(r,n)=>{this.clearDragSource(),this.dragSourceOptions=n||null,le(r)?this.dragSourceRef=r:this.dragSourceNode=r,this.reconnectDragSource()},dragPreview:(r,n)=>{this.clearDragPreview(),this.dragPreviewOptions=n||null,le(r)?this.dragPreviewRef=r:this.dragPreviewNode=r,this.reconnectDragPreview()}}),this.handlerId=null,this.dragSourceRef=null,this.dragSourceOptionsInternal=null,this.dragPreviewRef=null,this.dragPreviewOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDragSource=null,this.lastConnectedDragSourceOptions=null,this.lastConnectedDragPreview=null,this.lastConnectedDragPreviewOptions=null,this.backend=e}}class en{get connectTarget(){return this.dropTarget}reconnect(){const e=this.didHandlerIdChange()||this.didDropTargetChange()||this.didOptionsChange();e&&this.disconnectDropTarget();const r=this.dropTarget;if(this.handlerId){if(!r){this.lastConnectedDropTarget=r;return}e&&(this.lastConnectedHandlerId=this.handlerId,this.lastConnectedDropTarget=r,this.lastConnectedDropTargetOptions=this.dropTargetOptions,this.unsubscribeDropTarget=this.backend.connectDropTarget(this.handlerId,r,this.dropTargetOptions))}}receiveHandlerId(e){e!==this.handlerId&&(this.handlerId=e,this.reconnect())}get dropTargetOptions(){return this.dropTargetOptionsInternal}set dropTargetOptions(e){this.dropTargetOptionsInternal=e}didHandlerIdChange(){return this.lastConnectedHandlerId!==this.handlerId}didDropTargetChange(){return this.lastConnectedDropTarget!==this.dropTarget}didOptionsChange(){return!ue(this.lastConnectedDropTargetOptions,this.dropTargetOptions)}disconnectDropTarget(){this.unsubscribeDropTarget&&(this.unsubscribeDropTarget(),this.unsubscribeDropTarget=void 0)}get dropTarget(){return this.dropTargetNode||this.dropTargetRef&&this.dropTargetRef.current}clearDropTarget(){this.dropTargetRef=null,this.dropTargetNode=null}constructor(e){this.hooks=Ge({dropTarget:(r,n)=>{this.clearDropTarget(),this.dropTargetOptions=n,le(r)?this.dropTargetRef=r:this.dropTargetNode=r,this.reconnect()}}),this.handlerId=null,this.dropTargetRef=null,this.dropTargetOptionsInternal=null,this.lastConnectedHandlerId=null,this.lastConnectedDropTarget=null,this.lastConnectedDropTargetOptions=null,this.backend=e}}function q(){const{dragDropManager:t}=f.useContext(ke);return E(t!=null,"Expected drag drop context"),t}function tn(t,e){const r=q(),n=f.useMemo(()=>new Qr(r.getBackend()),[r]);return Y(()=>(n.dragSourceOptions=t||null,n.reconnect(),()=>n.disconnectDragSource()),[n,t]),Y(()=>(n.dragPreviewOptions=e||null,n.reconnect(),()=>n.disconnectDragPreview()),[n,e]),n}function rn(){const t=q();return f.useMemo(()=>new zr(t),[t])}class nn{beginDrag(){const e=this.spec,r=this.monitor;let n=null;return typeof e.item=="object"?n=e.item:typeof e.item=="function"?n=e.item(r):n={},n??null}canDrag(){const e=this.spec,r=this.monitor;return typeof e.canDrag=="boolean"?e.canDrag:typeof e.canDrag=="function"?e.canDrag(r):!0}isDragging(e,r){const n=this.spec,s=this.monitor,{isDragging:i}=n;return i?i(s):r===e.getSourceId()}endDrag(){const e=this.spec,r=this.monitor,n=this.connector,{end:s}=e;s&&s(r.getItem(),r),n.reconnect()}constructor(e,r,n){this.spec=e,this.monitor=r,this.connector=n}}function sn(t,e,r){const n=f.useMemo(()=>new nn(t,e,r),[e,r]);return f.useEffect(()=>{n.spec=t},[t]),n}function on(t){return f.useMemo(()=>{const e=t.type;return E(e!=null,"spec.type must be defined"),e},[t])}function an(t,e,r){const n=q(),s=sn(t,e,r),i=on(t);Y(function(){if(i!=null){const[o,l]=Wr(i,s,n);return e.receiveHandlerId(o),r.receiveHandlerId(o),l}},[n,e,r,s,i])}function cn(t,e){const r=ze(t);E(!r.begin,"useDrag::spec.begin was deprecated in v14. Replace spec.begin() with spec.item(). (see more here - https://react-dnd.github.io/react-dnd/docs/api/use-drag)");const n=rn(),s=tn(r.options,r.previewOptions);return an(r,n,s),[qe(r.collect,n,s),$r(s),qr(s)]}function un(t){return f.useMemo(()=>t.hooks.dropTarget(),[t])}function ln(t){const e=q(),r=f.useMemo(()=>new en(e.getBackend()),[e]);return Y(()=>(r.dropTargetOptions=t||null,r.reconnect(),()=>r.disconnectDropTarget()),[t]),r}function dn(){const t=q();return f.useMemo(()=>new Gr(t),[t])}function gn(t){const{accept:e}=t;return f.useMemo(()=>(E(t.accept!=null,"accept must be defined"),Array.isArray(e)?e:[e]),[e])}class fn{canDrop(){const e=this.spec,r=this.monitor;return e.canDrop?e.canDrop(r.getItem(),r):!0}hover(){const e=this.spec,r=this.monitor;e.hover&&e.hover(r.getItem(),r)}drop(){const e=this.spec,r=this.monitor;if(e.drop)return e.drop(r.getItem(),r)}constructor(e,r){this.spec=e,this.monitor=r}}function hn(t,e){const r=f.useMemo(()=>new fn(t,e),[e]);return f.useEffect(()=>{r.spec=t},[t]),r}function pn(t,e,r){const n=q(),s=hn(t,e),i=gn(t);Y(function(){const[o,l]=Xr(i,s,n);return e.receiveHandlerId(o),r.receiveHandlerId(o),l},[n,e,s,r,i.map(a=>a.toString()).join("|")])}function mn(t,e){const r=ze(t),n=dn(),s=ln(r.options);return pn(r,n,s),[qe(r.collect,n,s),un(s)]}function Xe(t){let e=null;return()=>(e==null&&(e=t()),e)}function vn(t,e){return t.filter(r=>r!==e)}function Dn(t,e){const r=new Set,n=i=>r.add(i);t.forEach(n),e.forEach(n);const s=[];return r.forEach(i=>s.push(i)),s}class yn{enter(e){const r=this.entered.length,n=s=>this.isNodeInDocument(s)&&(!s.contains||s.contains(e));return this.entered=Dn(this.entered.filter(n),[e]),r===0&&this.entered.length>0}leave(e){const r=this.entered.length;return this.entered=vn(this.entered.filter(this.isNodeInDocument),e),r>0&&this.entered.length===0}reset(){this.entered=[]}constructor(e){this.entered=[],this.isNodeInDocument=e}}class Sn{initializeExposedProperties(){Object.keys(this.config.exposeProperties).forEach(e=>{Object.defineProperty(this.item,e,{configurable:!0,enumerable:!0,get(){return console.warn(`Browser doesn't allow reading "${e}" until the drop event.`),null}})})}loadDataTransfer(e){if(e){const r={};Object.keys(this.config.exposeProperties).forEach(n=>{const s=this.config.exposeProperties[n];s!=null&&(r[n]={value:s(e,this.config.matchesTypes),configurable:!0,enumerable:!0})}),Object.defineProperties(this.item,r)}}canDrag(){return!0}beginDrag(){return this.item}isDragging(e,r){return r===e.getSourceId()}endDrag(){}constructor(e){this.config=e,this.item={},this.initializeExposedProperties()}}const We="__NATIVE_FILE__",Ke="__NATIVE_URL__",Je="__NATIVE_TEXT__",Ze="__NATIVE_HTML__",Pe=Object.freeze(Object.defineProperty({__proto__:null,FILE:We,HTML:Ze,TEXT:Je,URL:Ke},Symbol.toStringTag,{value:"Module"}));function ie(t,e,r){const n=e.reduce((s,i)=>s||t.getData(i),"");return n??r}const de={[We]:{exposeProperties:{files:t=>Array.prototype.slice.call(t.files),items:t=>t.items,dataTransfer:t=>t},matchesTypes:["Files"]},[Ze]:{exposeProperties:{html:(t,e)=>ie(t,e,""),dataTransfer:t=>t},matchesTypes:["Html","text/html"]},[Ke]:{exposeProperties:{urls:(t,e)=>ie(t,e,"").split(`
|
|
2
2
|
`),dataTransfer:t=>t},matchesTypes:["Url","text/uri-list"]},[Je]:{exposeProperties:{text:(t,e)=>ie(t,e,""),dataTransfer:t=>t},matchesTypes:["Text","text/plain"]}};function En(t,e){const r=de[t];if(!r)throw new Error(`native type ${t} has no configuration`);const n=new Sn(r);return n.loadDataTransfer(e),n}function oe(t){if(!t)return null;const e=Array.prototype.slice.call(t.types||[]);return Object.keys(de).filter(r=>{const n=de[r];return n?.matchesTypes?n.matchesTypes.some(s=>e.indexOf(s)>-1):!1})[0]||null}const xn=Xe(()=>/firefox/i.test(navigator.userAgent)),Qe=Xe(()=>!!window.safari);class Me{interpolate(e){const{xs:r,ys:n,c1s:s,c2s:i,c3s:a}=this;let o=r.length-1;if(e===r[o])return n[o];let l=0,d=a.length-1,v;for(;l<=d;){v=Math.floor(.5*(l+d));const g=r[v];if(g<e)l=v+1;else if(g>e)d=v-1;else return n[v]}o=Math.max(0,d);const D=e-r[o],p=D*D;return n[o]+s[o]*D+i[o]*p+a[o]*D*p}constructor(e,r){const{length:n}=e,s=[];for(let g=0;g<n;g++)s.push(g);s.sort((g,T)=>e[g]<e[T]?-1:1);const i=[],a=[];let o,l;for(let g=0;g<n-1;g++)o=e[g+1]-e[g],l=r[g+1]-r[g],i.push(o),a.push(l/o);const d=[a[0]];for(let g=0;g<i.length-1;g++){const T=a[g],S=a[g+1];if(T*S<=0)d.push(0);else{o=i[g];const w=i[g+1],y=o+w;d.push(3*y/((y+w)/T+(y+o)/S))}}d.push(a[a.length-1]);const v=[],D=[];let p;for(let g=0;g<d.length-1;g++){p=a[g];const T=d[g],S=1/i[g],w=T+d[g+1]-p-p;v.push((p-T-w)*S),D.push(w*S*S)}this.xs=e,this.ys=r,this.c1s=d,this.c2s=v,this.c3s=D}}const On=1;function et(t){const e=t.nodeType===On?t:t.parentElement;if(!e)return null;const{top:r,left:n}=e.getBoundingClientRect();return{x:n,y:r}}function G(t){return{x:t.clientX,y:t.clientY}}function In(t){var e;return t.nodeName==="IMG"&&(xn()||!(!((e=document.documentElement)===null||e===void 0)&&e.contains(t)))}function Tn(t,e,r,n){let s=t?e.width:r,i=t?e.height:n;return Qe()&&t&&(i/=window.devicePixelRatio,s/=window.devicePixelRatio),{dragPreviewWidth:s,dragPreviewHeight:i}}function bn(t,e,r,n,s){const i=In(e),o=et(i?t:e),l={x:r.x-o.x,y:r.y-o.y},{offsetWidth:d,offsetHeight:v}=t,{anchorX:D,anchorY:p}=n,{dragPreviewWidth:g,dragPreviewHeight:T}=Tn(i,e,d,v),S=()=>{let x=new Me([0,.5,1],[l.y,l.y/v*T,l.y+T-v]).interpolate(p);return Qe()&&i&&(x+=(window.devicePixelRatio-1)*T),x},w=()=>new Me([0,.5,1],[l.x,l.x/d*g,l.x+g-d]).interpolate(D),{offsetX:y,offsetY:m}=s,b=y===0||y,h=m===0||m;return{x:b?y:w(),y:h?m:S()}}class wn{get window(){if(this.globalContext)return this.globalContext;if(typeof window<"u")return window}get document(){var e;return!((e=this.globalContext)===null||e===void 0)&&e.document?this.globalContext.document:this.window?this.window.document:void 0}get rootElement(){var e;return((e=this.optionsArgs)===null||e===void 0?void 0:e.rootElement)||this.window}constructor(e,r){this.ownerDocument=null,this.globalContext=e,this.optionsArgs=r}}function Cn(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function _e(t){for(var e=1;e<arguments.length;e++){var r=arguments[e]!=null?arguments[e]:{},n=Object.keys(r);typeof Object.getOwnPropertySymbols=="function"&&(n=n.concat(Object.getOwnPropertySymbols(r).filter(function(s){return Object.getOwnPropertyDescriptor(r,s).enumerable}))),n.forEach(function(s){Cn(t,s,r[s])})}return t}class Rn{profile(){var e,r;return{sourcePreviewNodes:this.sourcePreviewNodes.size,sourcePreviewNodeOptions:this.sourcePreviewNodeOptions.size,sourceNodeOptions:this.sourceNodeOptions.size,sourceNodes:this.sourceNodes.size,dragStartSourceIds:((e=this.dragStartSourceIds)===null||e===void 0?void 0:e.length)||0,dropTargetIds:this.dropTargetIds.length,dragEnterTargetIds:this.dragEnterTargetIds.length,dragOverTargetIds:((r=this.dragOverTargetIds)===null||r===void 0?void 0:r.length)||0}}get window(){return this.options.window}get document(){return this.options.document}get rootElement(){return this.options.rootElement}setup(){const e=this.rootElement;if(e!==void 0){if(e.__isReactDndBackendSetUp)throw new Error("Cannot have two HTML5 backends at the same time.");e.__isReactDndBackendSetUp=!0,this.addEventListeners(e)}}teardown(){const e=this.rootElement;if(e!==void 0&&(e.__isReactDndBackendSetUp=!1,this.removeEventListeners(this.rootElement),this.clearCurrentDragSourceNode(),this.asyncEndDragFrameId)){var r;(r=this.window)===null||r===void 0||r.cancelAnimationFrame(this.asyncEndDragFrameId)}}connectDragPreview(e,r,n){return this.sourcePreviewNodeOptions.set(e,n),this.sourcePreviewNodes.set(e,r),()=>{this.sourcePreviewNodes.delete(e),this.sourcePreviewNodeOptions.delete(e)}}connectDragSource(e,r,n){this.sourceNodes.set(e,r),this.sourceNodeOptions.set(e,n);const s=a=>this.handleDragStart(a,e),i=a=>this.handleSelectStart(a);return r.setAttribute("draggable","true"),r.addEventListener("dragstart",s),r.addEventListener("selectstart",i),()=>{this.sourceNodes.delete(e),this.sourceNodeOptions.delete(e),r.removeEventListener("dragstart",s),r.removeEventListener("selectstart",i),r.setAttribute("draggable","false")}}connectDropTarget(e,r){const n=a=>this.handleDragEnter(a,e),s=a=>this.handleDragOver(a,e),i=a=>this.handleDrop(a,e);return r.addEventListener("dragenter",n),r.addEventListener("dragover",s),r.addEventListener("drop",i),()=>{r.removeEventListener("dragenter",n),r.removeEventListener("dragover",s),r.removeEventListener("drop",i)}}addEventListeners(e){e.addEventListener&&(e.addEventListener("dragstart",this.handleTopDragStart),e.addEventListener("dragstart",this.handleTopDragStartCapture,!0),e.addEventListener("dragend",this.handleTopDragEndCapture,!0),e.addEventListener("dragenter",this.handleTopDragEnter),e.addEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.addEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.addEventListener("dragover",this.handleTopDragOver),e.addEventListener("dragover",this.handleTopDragOverCapture,!0),e.addEventListener("drop",this.handleTopDrop),e.addEventListener("drop",this.handleTopDropCapture,!0))}removeEventListeners(e){e.removeEventListener&&(e.removeEventListener("dragstart",this.handleTopDragStart),e.removeEventListener("dragstart",this.handleTopDragStartCapture,!0),e.removeEventListener("dragend",this.handleTopDragEndCapture,!0),e.removeEventListener("dragenter",this.handleTopDragEnter),e.removeEventListener("dragenter",this.handleTopDragEnterCapture,!0),e.removeEventListener("dragleave",this.handleTopDragLeaveCapture,!0),e.removeEventListener("dragover",this.handleTopDragOver),e.removeEventListener("dragover",this.handleTopDragOverCapture,!0),e.removeEventListener("drop",this.handleTopDrop),e.removeEventListener("drop",this.handleTopDropCapture,!0))}getCurrentSourceNodeOptions(){const e=this.monitor.getSourceId(),r=this.sourceNodeOptions.get(e);return _e({dropEffect:this.altKeyPressed?"copy":"move"},r||{})}getCurrentDropEffect(){return this.isDraggingNativeItem()?"copy":this.getCurrentSourceNodeOptions().dropEffect}getCurrentSourcePreviewNodeOptions(){const e=this.monitor.getSourceId(),r=this.sourcePreviewNodeOptions.get(e);return _e({anchorX:.5,anchorY:.5,captureDraggingState:!1},r||{})}isDraggingNativeItem(){const e=this.monitor.getItemType();return Object.keys(Pe).some(r=>Pe[r]===e)}beginDragNativeItem(e,r){this.clearCurrentDragSourceNode(),this.currentNativeSource=En(e,r),this.currentNativeHandle=this.registry.addSource(e,this.currentNativeSource),this.actions.beginDrag([this.currentNativeHandle])}setCurrentDragSourceNode(e){this.clearCurrentDragSourceNode(),this.currentDragSourceNode=e;const r=1e3;this.mouseMoveTimeoutTimer=setTimeout(()=>{var n;return(n=this.rootElement)===null||n===void 0?void 0:n.addEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)},r)}clearCurrentDragSourceNode(){if(this.currentDragSourceNode){if(this.currentDragSourceNode=null,this.rootElement){var e;(e=this.window)===null||e===void 0||e.clearTimeout(this.mouseMoveTimeoutTimer||void 0),this.rootElement.removeEventListener("mousemove",this.endDragIfSourceWasRemovedFromDOM,!0)}return this.mouseMoveTimeoutTimer=null,!0}return!1}handleDragStart(e,r){e.defaultPrevented||(this.dragStartSourceIds||(this.dragStartSourceIds=[]),this.dragStartSourceIds.unshift(r))}handleDragEnter(e,r){this.dragEnterTargetIds.unshift(r)}handleDragOver(e,r){this.dragOverTargetIds===null&&(this.dragOverTargetIds=[]),this.dragOverTargetIds.unshift(r)}handleDrop(e,r){this.dropTargetIds.unshift(r)}constructor(e,r,n){this.sourcePreviewNodes=new Map,this.sourcePreviewNodeOptions=new Map,this.sourceNodes=new Map,this.sourceNodeOptions=new Map,this.dragStartSourceIds=null,this.dropTargetIds=[],this.dragEnterTargetIds=[],this.currentNativeSource=null,this.currentNativeHandle=null,this.currentDragSourceNode=null,this.altKeyPressed=!1,this.mouseMoveTimeoutTimer=null,this.asyncEndDragFrameId=null,this.dragOverTargetIds=null,this.lastClientOffset=null,this.hoverRafId=null,this.getSourceClientOffset=s=>{const i=this.sourceNodes.get(s);return i&&et(i)||null},this.endDragNativeItem=()=>{this.isDraggingNativeItem()&&(this.actions.endDrag(),this.currentNativeHandle&&this.registry.removeSource(this.currentNativeHandle),this.currentNativeHandle=null,this.currentNativeSource=null)},this.isNodeInDocument=s=>!!(s&&this.document&&this.document.body&&this.document.body.contains(s)),this.endDragIfSourceWasRemovedFromDOM=()=>{const s=this.currentDragSourceNode;s==null||this.isNodeInDocument(s)||(this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover())},this.scheduleHover=s=>{this.hoverRafId===null&&typeof requestAnimationFrame<"u"&&(this.hoverRafId=requestAnimationFrame(()=>{this.monitor.isDragging()&&this.actions.hover(s||[],{clientOffset:this.lastClientOffset}),this.hoverRafId=null}))},this.cancelHover=()=>{this.hoverRafId!==null&&typeof cancelAnimationFrame<"u"&&(cancelAnimationFrame(this.hoverRafId),this.hoverRafId=null)},this.handleTopDragStartCapture=()=>{this.clearCurrentDragSourceNode(),this.dragStartSourceIds=[]},this.handleTopDragStart=s=>{if(s.defaultPrevented)return;const{dragStartSourceIds:i}=this;this.dragStartSourceIds=null;const a=G(s);this.monitor.isDragging()&&(this.actions.endDrag(),this.cancelHover()),this.actions.beginDrag(i||[],{publishSource:!1,getSourceClientOffset:this.getSourceClientOffset,clientOffset:a});const{dataTransfer:o}=s,l=oe(o);if(this.monitor.isDragging()){if(o&&typeof o.setDragImage=="function"){const v=this.monitor.getSourceId(),D=this.sourceNodes.get(v),p=this.sourcePreviewNodes.get(v)||D;if(p){const{anchorX:g,anchorY:T,offsetX:S,offsetY:w}=this.getCurrentSourcePreviewNodeOptions(),b=bn(D,p,a,{anchorX:g,anchorY:T},{offsetX:S,offsetY:w});o.setDragImage(p,b.x,b.y)}}try{o?.setData("application/json",{})}catch{}this.setCurrentDragSourceNode(s.target);const{captureDraggingState:d}=this.getCurrentSourcePreviewNodeOptions();d?this.actions.publishDragSource():setTimeout(()=>this.actions.publishDragSource(),0)}else if(l)this.beginDragNativeItem(l);else{if(o&&!o.types&&(s.target&&!s.target.hasAttribute||!s.target.hasAttribute("draggable")))return;s.preventDefault()}},this.handleTopDragEndCapture=()=>{this.clearCurrentDragSourceNode()&&this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleTopDragEnterCapture=s=>{if(this.dragEnterTargetIds=[],this.isDraggingNativeItem()){var i;(i=this.currentNativeSource)===null||i===void 0||i.loadDataTransfer(s.dataTransfer)}if(!this.enterLeaveCounter.enter(s.target)||this.monitor.isDragging())return;const{dataTransfer:o}=s,l=oe(o);l&&this.beginDragNativeItem(l,o)},this.handleTopDragEnter=s=>{const{dragEnterTargetIds:i}=this;if(this.dragEnterTargetIds=[],!this.monitor.isDragging())return;this.altKeyPressed=s.altKey,i.length>0&&this.actions.hover(i,{clientOffset:G(s)}),i.some(o=>this.monitor.canDropOnTarget(o))&&(s.preventDefault(),s.dataTransfer&&(s.dataTransfer.dropEffect=this.getCurrentDropEffect()))},this.handleTopDragOverCapture=s=>{if(this.dragOverTargetIds=[],this.isDraggingNativeItem()){var i;(i=this.currentNativeSource)===null||i===void 0||i.loadDataTransfer(s.dataTransfer)}},this.handleTopDragOver=s=>{const{dragOverTargetIds:i}=this;if(this.dragOverTargetIds=[],!this.monitor.isDragging()){s.preventDefault(),s.dataTransfer&&(s.dataTransfer.dropEffect="none");return}this.altKeyPressed=s.altKey,this.lastClientOffset=G(s),this.scheduleHover(i),(i||[]).some(o=>this.monitor.canDropOnTarget(o))?(s.preventDefault(),s.dataTransfer&&(s.dataTransfer.dropEffect=this.getCurrentDropEffect())):this.isDraggingNativeItem()?s.preventDefault():(s.preventDefault(),s.dataTransfer&&(s.dataTransfer.dropEffect="none"))},this.handleTopDragLeaveCapture=s=>{this.isDraggingNativeItem()&&s.preventDefault(),this.enterLeaveCounter.leave(s.target)&&(this.isDraggingNativeItem()&&setTimeout(()=>this.endDragNativeItem(),0),this.cancelHover())},this.handleTopDropCapture=s=>{if(this.dropTargetIds=[],this.isDraggingNativeItem()){var i;s.preventDefault(),(i=this.currentNativeSource)===null||i===void 0||i.loadDataTransfer(s.dataTransfer)}else oe(s.dataTransfer)&&s.preventDefault();this.enterLeaveCounter.reset()},this.handleTopDrop=s=>{const{dropTargetIds:i}=this;this.dropTargetIds=[],this.actions.hover(i,{clientOffset:G(s)}),this.actions.drop({dropEffect:this.getCurrentDropEffect()}),this.isDraggingNativeItem()?this.endDragNativeItem():this.monitor.isDragging()&&this.actions.endDrag(),this.cancelHover()},this.handleSelectStart=s=>{const i=s.target;typeof i.dragDrop=="function"&&(i.tagName==="INPUT"||i.tagName==="SELECT"||i.tagName==="TEXTAREA"||i.isContentEditable||(s.preventDefault(),i.dragDrop()))},this.options=new wn(r,n),this.actions=e.getActions(),this.monitor=e.getMonitor(),this.registry=e.getRegistry(),this.enterLeaveCounter=new yn(this.isNodeInDocument)}}const jn=function(e,r,n){return new Rn(e,r,n)},Nn=[".pdf",".xlsx",".xls",".docx",".doc",".pptx",".ppt",".hwp",".txt",".csv",".jpg",".jpeg",".png",".gif",".zip"],Le={FILE:"file"},Pn=({originNode:t,file:e,fileList:r,moveFile:n,onDrop:s})=>{const i=f.useRef(null),[{handlerId:a},o]=mn({accept:Le.FILE,collect:D=>({handlerId:D.getHandlerId()}),hover(D,p){if(!i.current)return;const g=D.uid,T=e.uid;if(g===T)return;const S=A.findIndex(r,{uid:T}),w=A.findIndex(r,{uid:g});if(w===-1||S===-1)return;const y=i.current.getBoundingClientRect(),m=p.getClientOffset();if(!m)return;const b=(y.bottom-y.top)/2,h=m.y-y.top;w<S&&h<b||w>S&&h>b||n(g,T)},drop(){s()}}),[{isDragging:l},d]=cn({type:Le.FILE,item:()=>({uid:e.uid,index:A.findIndex(r,{uid:e.uid})}),collect:D=>({isDragging:D.isDragging()})}),v=l?0:1;return d(o(i)),c.jsxRuntimeExports.jsx("div",{ref:i,style:{opacity:v},"data-handler-id":a,children:t})},Mn=({fileGrpKey:t,onUploadComplete:e,onFetchFilesTrxCd:r="SCMFILE00101",onSuccessTrxCd:n="SCMFILE00102",onDeleteFileTrxCd:s="SCMFILE00103",onReorderFilesTrxCd:i="SCMFILE00104",allowedExtensions:a=Nn,maxFileSize:o=200,showButton:l=!0,multiple:d=!1})=>{const[v,D]=f.useState([]),p=f.useRef(t),g=f.useRef([]),T=()=>{if(g.current.length===0)return;const h=[...g.current];if(g.current=[],n){const I=h.map(x=>({crprCd:M.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:p.current,physFileNm:x.fileNameP,lgclFileNm:x.fileNameL,filePath:x.filePath,fileExtn:x.fileExt,fileSize:x.fileSize,mltpYn:"N"}));M.callService(n,{crprCd:M.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:p.current,sub:I}).then(x=>{if(x?.sub&&x.sub.length>0){const O=x.sub[0].fileGrpKey;p.current||(p.current=O);const j=new Map;x.sub.forEach(C=>{const N=h.find(P=>P.fileNameL===C.lgclFileNm);N&&j.set(N.tempId,C)}),D(C=>C.map(P=>{const R=j.get(P.uid);if(R){const U=h.find(B=>B.tempId===P.uid);return e&&U&&e({...U,fileGrpKey:O,fileKey:R.fileKey}),{...P,name:R.lgclFileNm,fileGrpKey:O,fileKey:R.fileKey,uid:R.fileKey,status:"done",url:`/api/download?filePath=${R.filePath}&logicalName=${R.lgclFileNm}`}}return P}))}}).catch(x=>{console.error("업로드 후처리 서비스 호출 실패:",x),u.message.error("파일 후처리 중 오류가 발생했습니다.");const O=new Set(h.map(j=>j.tempId));D(j=>j.map(C=>O.has(C.uid)?{...C,status:"error",error:"후처리 실패"}:C))})}},S=f.useRef(A.debounce(T,500)).current;f.useEffect(()=>()=>{S.cancel()},[S]),f.useEffect(()=>{p.current=t},[t]),f.useEffect(()=>{t&&r&&M.callService(r,{crprCd:M.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:t}).then(h=>{if(h?.sub){const I=h.sub.map(x=>({uid:x.fileKey,name:x.lgclFileNm,status:"done",url:`/api/download?filePath=${x.filePath}&logicalName=${x.lgclFileNm}`}));D(I)}}).catch(h=>{console.error("파일 목록 조회 서비스 호출에 실패했습니다.",h),u.message.error("파일 목록을 불러오는 중 오류가 발생했습니다.")})},[t,r]);const w=(h,I)=>{const x=A.findIndex(v,{uid:h}),O=A.findIndex(v,{uid:I});if(x<0||O<0)return;const j=[...v],[C]=j.splice(x,1);j.splice(O,0,C),D(j)},y=()=>{if(t&&i){const h=v.map(I=>I.uid);M.callService(i,{crprCd:M.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:t,reorderedFileKeys:h}).then(()=>{u.message.success("파일 순서가 성공적으로 저장되었습니다.")}).catch(I=>{console.error("파일 순서 저장 서비스 호출 실패:",I),u.message.error("파일 순서 저장 중 오류가 발생했습니다.")})}},b={name:"file",multiple:d,action:"/api/upload",fileList:v,beforeUpload:h=>{if(!d&&v.length>0)return u.message.error("하나의 파일만 업로드할 수 있습니다."),u.Upload.LIST_IGNORE;if(a&&a.length>0){const I=`.${h.name.split(".").pop()?.toLowerCase()}`;if(!a.includes(I))return u.message.error(`${h.name} 파일은 허용되지 않는 확장자입니다. (${a.join(", ")})`),u.Upload.LIST_IGNORE}return o&&!(h.size/1024/1024<o)?(u.message.error(`일반업로드의 최대용량은 ${o}MB입니다.`),u.Upload.LIST_IGNORE):!0},showUploadList:{showRemoveIcon:l},onChange(h){const{status:I,uid:x}=h.file;if(I==="removed"){s?M.callService(s,{crprCd:M.getUserInfo()?.crprCd,sysCd:__SYS_CD__,fileGrpKey:p.current,fileKey:x}).then(()=>{u.message.success("파일이 성공적으로 삭제되었습니다."),D(h.fileList)}).catch(O=>{console.error("파일 삭제 서비스 호출에 실패했습니다.",O),u.message.error("파일 삭제 중 오류가 발생했습니다.")}):D(h.fileList);return}if(D(h.fileList),I==="done")if(h.file.response?.success){const{uploadedFiles:O}=h.file.response;O&&Array.isArray(O)&&O.length>0&&(O.forEach(j=>{j.tempId=h.file.uid,g.current.push(j)}),S()),u.message.success(h.file.response.message||`${h.file.name} 파일이 성공적으로 업로드되었습니다.`)}else u.message.error(h.file.response?.message||`${h.file.name} 파일 업로드에 실패했습니다.`);else I==="error"&&u.message.error(h.file.response?.message||`${h.file.name} 파일 업로드 중 오류가 발생했습니다.`)},itemRender(h,I,x){const O=f.cloneElement(h,{href:I.url||void 0,title:void 0});return c.jsxRuntimeExports.jsx(Pn,{originNode:O,file:I,fileList:x,moveFile:w,onDrop:y},I.uid)}};return c.jsxRuntimeExports.jsx(Fr,{backend:jn,children:c.jsxRuntimeExports.jsx(u.Upload,{...b,listType:"picture",children:l&&(d||v.length===0)&&c.jsxRuntimeExports.jsx(u.Button,{icon:c.jsxRuntimeExports.jsx(F.UploadOutlined,{}),children:"파일 선택"})})})},{Text:X,Link:Yn}=u.Typography,{Dragger:_n}=u.Upload,Ln=[".pdf",".xlsx",".xls",".docx",".doc",".pptx",".ppt",".hwp",".txt",".csv",".jpg",".jpeg",".png",".gif",".zip"],Fn=(t,e=2)=>{if(t===0)return"0 Bytes";const r=1024,n=e<0?0:e,s=["Bytes","KB","MB","GB","TB"],i=Math.floor(Math.log(t)/Math.log(r));return parseFloat((t/Math.pow(r,i)).toFixed(n))+" "+s[i]},kn=({title:t="첨부파일",fileGrpKey:e,onUploadComplete:r,onSuccessTrxCd:n="SCMFILE00102",anotherServiceTrxCd:s="SCMFILE00105",allowedExtensions:i=Ln,maxFileSize:a=2048})=>{const[o,l]=f.useState([]),[d,v]=f.useState(!1),[D,p]=f.useState(!1),[g,T]=f.useState(0),S=m=>{if(i&&i.length>0){const h=(I=>{const x=I.lastIndexOf(".");return x===-1?"":I.substring(x).toLowerCase()})(m.name);if(!i.includes(h))return u.message.error(`${m.name} 파일은 허용되지 않는 확장자입니다. (${i.join(", ")}만 가능)`),!1}return!0},w=async()=>{const m=o.filter(O=>O.status!=="done"),b=m.reduce((O,j)=>O+(j.size||0),0),h=2*1024*1024*1024;if(b>h){u.notification.error({message:"업로드 용량 초과",description:"한 번에 업로드할 수 있는 총 파일 용량은 2GB를 초과할 수 없습니다."});return}if(m.length===0){u.message.warning("업로드할 파일이 없거나 모든 파일이 이미 업로드되었습니다.");return}p(!0);let I;try{const O=new rt;m.forEach(j=>{j.originFileObj&&O.file(j.name,j.originFileObj)}),I=await O.generateAsync({type:"blob",compression:"DEFLATE",compressionOptions:{level:9}})}catch(O){p(!1),u.message.error("파일을 압축하는 중 오류가 발생했습니다."),console.error("Zipping error:",O);return}p(!1);const x=new FormData;x.append("file",I,"upload.zip"),v(!0),T(0);try{const O=await new Promise((C,N)=>{const P=new XMLHttpRequest;P.open("POST","/api/upload-large",!0),P.upload.onprogress=R=>{if(R.lengthComputable){const U=Math.round(R.loaded/R.total*100);T(U)}},P.onload=()=>{if(P.status>=200&&P.status<300)try{const R=JSON.parse(P.responseText);R.success?C(R):N(new Error(R.message||"파일 업로드에 실패했습니다."))}catch{N(new Error("잘못된 서버 응답입니다."))}else try{const R=JSON.parse(P.responseText);N(new Error(R.message||`서버 오류: ${P.status}`))}catch{N(new Error(`서버 오류: ${P.status}`))}},P.onerror=()=>{N(new Error("네트워크 오류가 발생했습니다."))},P.send(x)});u.message.success(O.message||"압축 파일이 성공적으로 업로드되었습니다.");const j=o.map(C=>m.find(N=>N.uid===C.uid)?{...C,status:"done"}:C);if(l(j),n&&O.uploadedFiles&&Array.isArray(O.uploadedFiles)){const C=M.getUserInfo();O.uploadedFiles.forEach(N=>{const P={crprCd:C?.crprCd,sysCd:__SYS_CD__,fileGrpKey:e,sub:[{crprCd:C?.crprCd,sysCd:__SYS_CD__,fileGrpKey:e,physFileNm:N.fileNameP,lgclFileNm:N.fileNameL,filePath:N.filePath,fileExtn:N.fileExt,fileSize:N.fileSize,mltpYn:"Y"}]};M.callService(n,P).then(R=>{const U=o.map(B=>({crprCd:C?.crprCd,sysCd:__SYS_CD__,fileGrpKey:R.sub[0].fileGrpKey,fileKey:R.sub[0].fileKey,lgclFileNm:B.name,fileSize:B.size,fileExtn:B.name.split(".").pop(),fileType:B.type}));M.callService(s,{sub:U})}).catch(R=>{console.error("후처리 서비스 호출 실패:",R),u.message.error(`${N.fileNameL} 파일의 후처리 작업에 실패했습니다.`)}),r&&r({fileNameP:N.fileNameP,fileNameL:N.fileNameL})})}}catch(O){u.message.error(O.message||"파일 업로드 중 오류가 발생했습니다.");const j=o.map(C=>m.find(N=>N.uid===C.uid)?{...C,status:"error",response:O.message||"파일 업로드 중 오류가 발생했습니다."}:C);l(j)}finally{v(!1)}},y={multiple:!0,fileList:o,beforeUpload:m=>S(m)?a&&m.size>=a*1024*1024?(u.message.error(`대용량 첨부 파일 최대 크기는 ${(a/1024).toFixed(1)}GB입니다.`),u.Upload.LIST_IGNORE):!1:u.Upload.LIST_IGNORE,onChange:({fileList:m})=>{const b=new Map(o.map(h=>[h.uid,h]));m.forEach(h=>{b.set(h.uid,h)}),l(Array.from(b.values()))},onRemove:m=>{const b=o.filter(h=>h.uid!==m.uid);l(b)},showUploadList:!1};return c.jsxRuntimeExports.jsx(u.Spin,{spinning:d||D,tip:D?"파일 압축 중...":`파일 업로드 중... ${g}%`,children:c.jsxRuntimeExports.jsxs("div",{className:"bwg-large-uploader-container",children:[c.jsxRuntimeExports.jsx(u.Card,{title:c.jsxRuntimeExports.jsx(X,{strong:!0,children:t}),extra:c.jsxRuntimeExports.jsx(u.Upload,{...y,children:c.jsxRuntimeExports.jsx(u.Button,{icon:c.jsxRuntimeExports.jsx(F.UploadOutlined,{}),children:"파일 선택"})}),bodyStyle:{padding:0},children:c.jsxRuntimeExports.jsx(_n,{...y,style:{border:"none",background:"transparent",padding:0},children:c.jsxRuntimeExports.jsx("div",{className:"upload-list-container",children:o.length>0?c.jsxRuntimeExports.jsx(u.List,{style:{textAlign:"left"},dataSource:o,renderItem:m=>{const b=m.status==="done",h=m.status==="error";let I;return b?I=c.jsxRuntimeExports.jsx(F.CheckCircleOutlined,{style:{color:"#52c41a",fontSize:14}}):h?I=c.jsxRuntimeExports.jsx(u.Tooltip,{title:typeof m.response=="string"?m.response:"업로드 실패",children:c.jsxRuntimeExports.jsx(F.CloseCircleOutlined,{style:{color:"#ff4d4f",fontSize:14}})}):I=c.jsxRuntimeExports.jsx(F.FileTextOutlined,{style:{fontSize:14}}),c.jsxRuntimeExports.jsx(u.List.Item,{actions:[c.jsxRuntimeExports.jsx(X,{type:"secondary",children:Fn(m.size||0)},"size"),c.jsxRuntimeExports.jsx(u.Button,{type:"text",icon:c.jsxRuntimeExports.jsx(F.DeleteOutlined,{}),onClick:x=>{x.stopPropagation(),y.onRemove?.(m)},disabled:d||D},"delete")],children:c.jsxRuntimeExports.jsx(u.List.Item.Meta,{avatar:I,title:c.jsxRuntimeExports.jsx(X,{type:h?"danger":void 0,children:m.name})})},m.uid)}}):c.jsxRuntimeExports.jsxs(u.Flex,{gap:"middle",align:"center",justify:"center",vertical:!0,style:{padding:"20px 0",minHeight:"120px"},children:[c.jsxRuntimeExports.jsx(F.InboxOutlined,{style:{fontSize:"32px",color:"#999"}}),c.jsxRuntimeExports.jsx(X,{type:"secondary",children:"업로드할 파일을 선택하거나 이 영역으로 드래그하세요."})]})})})}),o.length>0&&c.jsxRuntimeExports.jsxs(u.Flex,{justify:"flex-end",align:"center",gap:"large",style:{marginTop:16},children:[d&&c.jsxRuntimeExports.jsx("div",{style:{width:"250px"},children:c.jsxRuntimeExports.jsx(u.Progress,{percent:g,size:"small"})}),c.jsxRuntimeExports.jsx(u.Button,{type:"primary",onClick:w,disabled:d||D||o.filter(m=>m.status!=="done").length===0,icon:c.jsxRuntimeExports.jsx(F.CloudUploadOutlined,{}),children:"일괄 업로드"})]})]})})},An=({fileGrpKey:t,onFetchFilesTrxCd:e="SCMFILE00101",readOnly:r=!1,sysCd:n=__SYS_CD__})=>{const[s,i]=f.useState([]);f.useEffect(()=>{t&&e?n!=__SYS_CD__?M.callService_SYSCD(n,e,{crprCd:M.getUserInfo()?.crprCd,sysCd:n,fileGrpKey:t}).then(o=>{if(o?.sub){const l=o.sub.map(d=>({uid:d.fileKey,name:d.lgclFileNm,filePath:d.filePath}));i(l)}}).catch(o=>{console.error("파일 목록 조회 서비스 호출에 실패했습니다.",o),u.message.error("파일 목록을 불러오는 중 오류가 발생했습니다.")}):M.callService(e,{crprCd:M.getUserInfo()?.crprCd,sysCd:n,fileGrpKey:t}).then(o=>{if(o?.sub){const l=o.sub.map(d=>({uid:d.fileKey,name:d.lgclFileNm,filePath:d.filePath}));i(l)}}).catch(o=>{console.error("파일 목록 조회 서비스 호출에 실패했습니다.",o),u.message.error("파일 목록을 불러오는 중 오류가 발생했습니다.")}):i([])},[t,e]);const a=async o=>{try{let l;n!=__SYS_CD__?l="/api/download/"+n:l="/api/download";const d=await fetch(l,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({filePath:o.filePath,logicalName:o.name,fileKey:o.uid})});if(!d.ok){const T=(await d.json().catch(()=>null))?.message||"파일 다운로드에 실패했습니다.";throw new Error(T)}const v=await d.blob(),D=window.URL.createObjectURL(v),p=document.createElement("a");p.href=D,p.setAttribute("download",o.name),document.body.appendChild(p),p.click(),document.body.removeChild(p),window.URL.revokeObjectURL(D)}catch(l){console.error(l),u.message.error(l.message||"파일을 다운로드하는 중 오류가 발생했습니다.")}};return A.isEmpty(s)?null:c.jsxRuntimeExports.jsx(u.Card,{title:"파일 목록",children:c.jsxRuntimeExports.jsx(u.List,{dataSource:s,renderItem:o=>c.jsxRuntimeExports.jsx(u.List.Item,{actions:r?[]:[c.jsxRuntimeExports.jsx(u.Button,{type:"text",icon:c.jsxRuntimeExports.jsx(F.DownloadOutlined,{}),onClick:()=>a(o)},"download")],children:c.jsxRuntimeExports.jsx(u.List.Item.Meta,{avatar:c.jsxRuntimeExports.jsx(F.PaperClipOutlined,{}),title:o.name})})})})};exports.BwgButton=pt;exports.BwgCheckList=lt;exports.BwgDatePicker=ct;exports.BwgDownload=An;exports.BwgLargeUploader=kn;exports.BwgMaskedInput=it;exports.BwgMaskedPicker=at;exports.BwgMultiSelect=ht;exports.BwgNumber=ft;exports.BwgRadio=ut;exports.BwgSearch=nt;exports.BwgTextArea=gt;exports.BwgUploader=Mn;
|
|
3
|
-
//# sourceMappingURL=BwgDownload-
|
|
3
|
+
//# sourceMappingURL=BwgDownload-i6w7ZD-i.cjs.map
|