@jerry-fd/ui 0.5.9 → 0.6.1
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/antd-data-filter.js +1 -1
- package/chunk-2CZQBNNA.js +2 -0
- package/chunk-6IEX6NJ5.js +1 -0
- package/chunk-J3QLREON.js +2 -0
- package/chunk-NS7IV62X.js +1 -0
- package/data-table.js +2 -2
- package/index.d.ts +273 -5
- package/index.js +2 -2
- package/package.json +1 -1
- package/styles/index.css +1 -1
- package/theme/shadows.css +8 -0
- package/chunk-7HWCMCFY.js +0 -2
- package/chunk-A5MURTZI.js +0 -2
- package/chunk-NFKQSSDX.js +0 -1
- package/chunk-XVGKMV3T.js +0 -1
package/data-table.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import {k as k$1,l as l$1,m as m$2,f as f$1,c as c$1,d,o as o$1,g as g$1,h as h$1,i,q as q$1,r as r$1,e}from'./chunk-
|
|
2
|
-
`).reduce((y,x)=>{let H=x.indexOf(": ");return H!==-1&&(y[x.slice(0,H).toLowerCase()]=x.slice(H+2)),y},{});function O(y){if(b){b.cancel();let x=y instanceof Blob?y.size:y instanceof ArrayBuffer?y.byteLength:typeof y=="string"?y.length:0;r.onDownloadProgress?.({loaded:x,total:x,lengthComputable:true,percentage:100});}r.withResponseHeaders?a({data:y,status:v,headers:Y}):a(y);}if(v>=200&&v<300)if(l==="json"){let y=w;try{let x=y!==""?JSON.parse(y):null;if(!(f?.(x)??!0))throw new D("invalid response");O(x);}catch(x){e(x);}}else f?.(w)??true?O(w):e(new D("invalid response"));else {let y=null;if(!V)if(_.includes("application/json"))try{y=w!==""?JSON.parse(w):null;}catch{}else y=w||null;e(new D("Xhr Request failed",v,y));}g(),m=null;},m.onabort=function(){m&&(b?.cancel(),u?.cancel(),e(new D(D.ECONNABORTED)),g(),m=null);},m.onerror=function(){b?.cancel(),u?.cancel(),e(new D("Network Error",D.ERR_NETWORK)),g(),m=null;},m.ontimeout=function(){b?.cancel(),u?.cancel(),e(new D("Timeout exceeded",D.ETIMEDOUT)),g(),m=null;},typeof p=="object"&&Object.keys(p).forEach(R=>{m?.setRequestHeader(R,p[R]);}),i==null&&m.setRequestHeader("Content-Type",""),l&&l!=="json"&&(m.responseType=l),r.onDownloadProgress&&(b=Ee(r.onDownloadProgress),m.addEventListener("progress",b)),r.onUploadProgress&&m.upload&&(u=Ee(r.onUploadProgress),m.upload.addEventListener("progress",u),m.upload.addEventListener("loadend",R=>{u?.cancel(),r.onUploadProgress?.({loaded:R.loaded,total:R.loaded,lengthComputable:true,percentage:100});})),r.signal&&(h=()=>{m&&(e(new D(D.REQUEST_CANCELED,D.REQUEST_CANCELED)),m.abort(),m=null);},r.signal.aborted?h():r.signal.addEventListener("abort",h)),m.send(i??null);})}function Ee(t){return e(a=>{t({loaded:a.loaded,total:a.lengthComputable?a.total:0,lengthComputable:a.lengthComputable,percentage:a.lengthComputable&&a.total>0?Math.round(a.loaded/a.total*100):null});},250)}var D=class extends Error{constructor(a,e,o){super(a);b(this,"message");b(this,"code");b(this,"data");this.name="RequestError",this.message=a,e&&(this.code=e),o!==void 0&&(this.data=o);}};b(D,"ETIMEDOUT","ETIMEDOUT"),b(D,"ERR_NETWORK","ERR_NETWORK"),b(D,"ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION_VALUE"),b(D,"ERR_BAD_OPTION","ERR_BAD_OPTION"),b(D,"ECONNABORTED","ECONNABORTED"),b(D,"ERR_FR_TOO_MANY_REDIRECTS","ERR_FR_TOO_MANY_REDIRECTS"),b(D,"ERR_DEPRECATED","ERR_DEPRECATED"),b(D,"ERR_BAD_RESPONSE","ERR_BAD_RESPONSE"),b(D,"ERR_BAD_REQUEST","ERR_BAD_REQUEST"),b(D,"ERR_CANCELED","ERR_CANCELED"),b(D,"REQUEST_CANCELED","REQUEST_CANCELED"),b(D,"ERR_NOT_SUPPORT","ERR_NOT_SUPPORT"),b(D,"ERR_INVALID_URL","ERR_INVALID_URL");var ke=150,yt={ease:[.26,.08,.25,1],duration:.25},Ea={initial:{opacity:0,scale:.95},visible:{opacity:1,scale:1,transition:{...yt,when:"beforeChildren"}},hidden:{opacity:0,scale:1.05,transition:{...yt,when:"afterChildren"}}},Pa={initial:{y:10,opacity:0},visible:{y:0,opacity:1,transition:yt},hidden:{y:-10,opacity:0,transition:yt}};function Ae({containerRef:t,accept:n,acceptHint:a,onFileSelect:e}){let o=k.useRef(null),r=k.useRef(null),[s,c,l]=r$1(false),p=k.useCallback(g=>{g.stopPropagation();let{target:m,relatedTarget:b}=g;m.matches(".data-drop-target, .data-drop-area")&&(!b||!b.matches(".data-drop-target, .data-drop-area"))&&(o.current=window.setTimeout(()=>{l();},ke));},[l]),i=k.useCallback(()=>{o.current&&window.clearTimeout(o.current);},[]),f=k.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=window.setTimeout(()=>{l();},ke);},[l]),h=k.useEffectEvent(async g=>{let{dataTransfer:m}=g,b=[];m.files&&m.files.length>0&&(b=b.concat(Array.from(m.files))),b.length&&(r.current&&window.clearTimeout(r.current),r.current=window.setTimeout(()=>{e?.(b);},600));});return mt(()=>{if(!t?.current)return;let g=t.current;return g.addEventListener("dragenter",c),()=>{g.removeEventListener("dragenter",c),o.current&&window.clearTimeout(o.current),r.current&&window.clearTimeout(r.current);}}),jsx(Portal.Root,{container:t?.current,asChild:true,children:jsx(AnimatePresence,{children:s&&jsx(m$1.div,{className:"data-drop-area absolute inset-0 bottom-8 z-10 flex items-center justify-center select-none",onDragLeave:p,onDragOver:i,onDrop:f,initial:"hidden",animate:"visible",exit:"hidden",variants:Ea,children:jsx(ka,{accept:n,acceptHint:a,onFileSelect:h})})})})}function ka({accept:t,acceptHint:n,onFileSelect:a}){let e=Q(),[o,r]=k.useState(false),s=k.useCallback(p=>{if(!t||!p.dataTransfer.items.length){r(false);return}let i=[...p.dataTransfer.items].every(f=>wa(f.type,t));r(!i);},[t]),c$1=k.useCallback(p=>{let{relatedTarget:i,currentTarget:f}=p;i&&f.contains(i)&&p.stopPropagation();},[]),l=k.useCallback(p=>{if(o){p.preventDefault();return}a(p);},[o,a]);return jsxs("div",{"data-dropzone":true,onDragEnter:s,onDrop:l,onDragLeave:c$1,className:"data-drop-target relative flex h-full w-full items-center justify-center rounded-[8px] bg-bg-weak p-16",children:[jsx("svg",{className:c("pointer-events-none absolute top-16 left-16 h-[calc(100%-32px)] w-[calc(100%-32px)] overflow-visible",o?"text-error-base":"text-primary-base"),children:jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",rx:"8",fill:"none",stroke:"currentColor",strokeDasharray:"11, 8",strokeDashoffset:"0",strokeLinecap:"round",strokeWidth:"2",children:jsx("animate",{attributeName:"stroke-dashoffset",from:"0",to:"-19",dur:"0.5s",repeatCount:"indefinite"})})}),jsxs(m$1.div,{className:c("pointer-events-none flex flex-col items-center gap-4",o?"text-error-base":"text-primary-base"),variants:Pa,children:[jsxs("div",{className:"flex flex-col items-center",children:[jsx(FolderUp,{className:"size-48"}),jsx("strong",{className:"text-title-h6",children:e(o?"file_type_rejected":"drop_file_hint")})]}),jsx("span",{className:"text-text-soft",children:n?e("file_support_list",{formats:n}):e("file_support_all")})]})]})}function wa(t,n,a=""){if(!n||n==="*")return true;if(!t&&!a)return false;let e=n.split(",").map(s=>s.trim().toLowerCase()),o=(t||"").toLowerCase(),r=(a||"").toLowerCase();return e.some(s=>{if(s.startsWith("."))return r.endsWith(s);if(s.endsWith("/*")){let c=s.slice(0,-1);return o.startsWith(c)}return o===s})}function Ne(t=""){return `${t}-${Date.now().toString(36)+Math.random().toString(36).slice(2)}`}function _e(t){return t?t.filter(n=>n.filter!==void 0).map(n=>{let{filter:a,dataIndex:e,title:o}=n,r=Array.isArray(e)?e.join("."):e,s=a.displayName??(typeof o=="string"?o:r);return {...a,columnId:r,displayName:s}}):[]}function Le(t){return t.key?String(t.key):Array.isArray(t.dataIndex)?t.dataIndex.join("."):String(t.dataIndex)}function Aa(t){return typeof t=="string"&&t.length>0}function Oe(t){return [Array.isArray(t.dataIndex)?t.dataIndex.join(" "):typeof t.dataIndex=="string"?t.dataIndex:null,typeof t.title=="string"?t.title:null,t.key!==null?String(t.key):null].filter(Aa)}function Be(t,n=22){if(!t)return "";if(t.length<=n)return t;let a=Math.floor(n/2.5),e=t.lastIndexOf("."),o,r;if(e>0?(o=t.substring(0,e),r=t.substring(e)):(o=t,r=""),o.length<=a*2)return t;let s=o.substring(0,a),c=o.substring(o.length-a);return `${s}\u2026${c}${r}`}function Me(t,n){return {type:"import",localTaskId:Ne(n?`import-file-${n}`:"import-file"),status:"pending",progress:0,file:t}}function Fe({tooltip:t,btnProps:n,disabled:a,loading:e,containerRef:o,accept:r,acceptHint:s,requestConfig:c,onBeforeUpload:l}){let p=Q(),i=k.useId(),f=tt(b=>b.addTask),h=tt(b=>b.updateTask),g=a||e,m=k.useCallback(async b=>{if(b=[b[0]],l&&typeof l=="function"){let u=await l(b);if(u===false)return;Array.isArray(u)&&(b=u);}b.forEach((u,R)=>{let v=new AbortController,_={...Me(u,R),abortController:v};if(f(_),!c)throw Error("requestConfig is required.");let{url:V,method:w="POST",fieldName:Y="file",body:O,onSuccess:y,onFailed:x,onUploadProgress:H,...W}=c,M=new FormData;M.append(Y,u),O instanceof FormData?O.forEach((L,$)=>M.append($,L)):O&&Object.keys(O).forEach(L=>{M.append(L,O[L]);}),Pe(V,{...W,onUploadProgress:L=>{H?.(L),h(_.localTaskId,{status:"importing",progress:L.percentage??0});},method:w,body:M,signal:v.signal}).then(L=>{y?.(L),h(_.localTaskId,{status:"done"});}).catch(L=>{x?.(L),h(_.localTaskId,{status:"failed"});});});},[c,l,f,h]);return jsxs(Fragment,{children:[jsx(Ae,{containerRef:o,onFileSelect:m,accept:r,acceptHint:s}),jsx("input",{type:"file",id:i,accept:r,multiple:false,onChange:b=>{let u=Array.from(b.target.files??[]);u.length&&(m(u),b.target.value="");},className:"invisible absolute -top-9999 -left-9999"}),jsx(i$1,{content:t??p("import_tooltip"),children:jsx("label",{htmlFor:i,className:"m-0 inline-flex cursor-pointer p-0 leading-none",children:jsx(P,{variant:"neutral",mode:"stroke",loading:e,startContent:jsx(Upload,{}),disabled:g,className:"pointer-events-none",...n,children:p("data_import")})})})]})}function He({disabled:t,columns:n}){let a=Q(),{alwaysShowingColumns:e}=rt(),[o,r]=k.useState(false),s=Se(),c$1=Z(p=>p.setColumnVisibilityState),l=k.useCallback((p,i)=>{c$1(f=>({...f,[p]:i}));},[c$1]);return jsxs(F,{open:o,onOpenChange:r,children:[jsx(G,{asChild:true,children:jsx(P,{mode:"stroke",variant:"neutral",size:"small",className:c(o&&"active","relative gap-0"),disabled:t,startContent:jsx(Settings2,{}),children:jsx(i$1,{content:a("column_set"),children:jsx("div",{className:"absolute inset-0"})})})}),jsx(H,{align:"end",side:"bottom",arrow:false,className:"w-fit rounded-xl p-0",sideOffset:6,children:jsxs(w,{children:[jsx(x,{autoFocus:true,placeholder:"Search..."}),jsx(z,{children:a("no_results")}),jsx(y,{className:"max-h-256",children:jsx(A,{children:n.map(p=>{let i=Le(p),f=s[i]!==false,h=typeof p.title=="string"&&p.title?.trim()==="",g=h?p.key:p.title;return jsxs(C,{keywords:Oe(p),onSelect:()=>l(i,!f),className:"group flex items-center gap-6",value:i,disabled:e?.includes(i),children:[jsx(Checkbox,{checked:f,tabIndex:-1,className:c("mr-4 opacity-100")}),jsx("span",{className:c(h&&"capitalize"),children:g})]},i)})})})]})})]})}var $e=["data_refresh","size_setting","column_setting","filter_btn"];function Va({btnProps:t,disabled:n,loading:a,onAction:e}){let o=Q();return jsx(P,{variant:"primary",startContent:jsx(Download,{}),loading:a,disabled:n||a,onClick:()=>e({action:"data_export"}),...t,children:o("data_export")})}var Ha={initial:{opacity:0,scale:.85,x:10,originX:1},animate:{opacity:1,scale:1,x:0,originX:1},exit:{opacity:0,scale:.85,x:10,originX:1}},Ua={ease:[.26,.08,.25,1],duration:.25};function Xe({containerRef:t,columns:n,filter:a,items:e=$e,className:o,onAction:r,...s}){let{loading:c$1,syncing:l,exporting:p,disabled:i}=De(),f=k.useMemo(()=>e.map(u=>Xa(u)),[e]),h=k.useMemo(()=>f.filter(u=>!u.hidden),[f]),g=k.useCallback(u=>{r?.(u);},[r]),m=k.useMemo(()=>({disabled:i,loading:c$1,syncing:l,exporting:p,columns:n,onAction:g}),[i,c$1,p,l,n,g]),b=u=>{let R={btnProps:u.btnProps,tooltip:u.tooltip,disabled:i||l||c$1,loading:c$1,onAction:g};switch(u.type){case "data_refresh":return jsx($a,{...R,syncing:l});case "size_setting":return jsx(Re,{...u.btnProps});case "column_setting":return jsx(He,{...u.btnProps,columns:n});case "data_export":return jsx(Va,{...R,loading:p});case "data_import":return jsx(Fe,{...R,loading:p,containerRef:t,requestConfig:u.requestConfig,onBeforeUpload:u.onBeforeUpload,acceptHint:u.acceptHint,accept:u.accept});case "custom":return u.render?.(m);case "filter_btn":return a;default:return null}};return jsx(m$1.div,{"data-slot":"data-table-toolbar",className:c("flex items-center gap-8 transition-opacity",o),...s,children:jsx(AnimatePresence,{mode:"popLayout",initial:false,children:h.map(u=>jsx(m$1.div,{layout:true,variants:Ha,initial:"initial",animate:"animate",exit:"exit",className:"leading-none",transition:Ua,children:b(u)},u.key))})})}function $a({btnProps:t,tooltip:n,disabled:a,loading:e,syncing:o,onAction:r}){let s=Q(),c=n??s("refresh");return jsx(i$1,{content:c,children:jsx(P,{mode:"stroke",variant:"neutral",startContent:jsx(RefreshCw,{}),loading:o||e,disabled:a||e||o,className:"gap-0",onClick:()=>r({action:"data_refresh"}),...t})})}function Xa(t){return typeof t=="string"?{type:t,key:t}:t.type==="custom"?{type:"custom",key:t.key,hidden:t.hidden,render:t.render}:t.type==="data_import"?{type:"data_import",key:t.key??t.type,hidden:t.hidden,btnProps:t.btnProps,tooltip:t.tooltip,accept:t.accept,acceptHint:t.acceptHint,requestConfig:t.requestConfig,onBeforeUpload:t.onBeforeUpload}:{type:t.type,key:t.key??t.type,hidden:t.hidden,btnProps:t.btnProps,tooltip:t.tooltip}}function qe({className:t,value:n,...a}){return jsx(Progress.Root,{"data-slot":"progress",className:c("relative flex h-4 w-full items-center overflow-x-hidden rounded-full bg-bg-soft",t),...a,children:jsx(Progress.Indicator,{"data-slot":"progress-indicator",className:"size-full flex-1 bg-primary-base transition-all",style:{transform:`translateX(-${100-(n||0)}%)`}})})}function je({onAction:t,...n}){let a=gt();return jsx(m$1.div,{"data-slot":"data-table-taskbar",className:"w-fit items-center justify-center bg-bg-white select-none",...n,children:a.map(e=>e.type==="import"?jsx(qa,{...e,onSuccess:()=>{t?.({action:"import_done"});}},e.localTaskId):jsx(ja,{...e},e.localTaskId))})}function qa(t){let n=Q(),a=tt(s=>s.removeTask),e=t.status==="failed",o=t.status==="done";return jsxs("div",{className:"flex h-full items-center gap-8",children:[jsxs("span",{className:c("truncate text-md font-medium",o?"text-success-base":e?"text-error-base":"text-text-strong"),children:[n(e?"import_failed":o?"import_done":t.status)," ",Be(t.file.name)]}),jsxs("span",{className:"min-w-34 shrink-0 text-right text-sm text-text-sub",children:[t.progress,"%"]}),jsx(P,{variant:"neutral",mode:"ghost",size:"xsmall",className:"min-w-28 rounded-full px-0",onClick:()=>{t.abortController?.signal.aborted===false&&!e&&!o&&t.abortController?.abort("User canceled"),a(t.localTaskId),o&&t.onSuccess?.(t.localTaskId);},startContent:o?jsx(Check,{className:"text-success-base"}):jsx(Ga,{})})]})}function ja(t){return jsxs("div",{className:"flex w-fit min-w-220 flex-col justify-center gap-6",children:[jsxs("div",{className:"lable flex items-center justify-center gap-12",children:[jsx("span",{className:"font-medium text-text-strong",children:"Task Name"}),jsx("span",{className:"ml-auto text-sm text-text-sub",children:t.progress})]}),jsx(qe,{value:66})]})}function Ga(){return jsxs("svg",{width:"0.8em",height:"0.8em",viewBox:"0 0 12 12",fill:"none",children:[jsx("path",{d:"M10.4854 1.99998L2.00007 10.4853",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),jsx("path",{d:"M10.4854 10.4844L2.00007 1.99908",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}var Ge={initial:{y:10,opacity:0},animate:{y:0,opacity:1},exit:{y:-10,opacity:0}},Ye={ease:[.26,.08,.25,1],duration:.25};function Qe({containerRef:t,items:n,filter:a,columns:e,onAction:o}){let r=gt();return jsx(AnimatePresence,{initial:false,mode:"popLayout",children:r.length?jsx(je,{variants:Ge,initial:"initial",animate:"animate",exit:"exit",transition:Ye,onAction:o},"task-bar"):jsx(Xe,{variants:Ge,initial:"initial",animate:"animate",exit:"exit",transition:Ye,containerRef:t,onAction:o,filter:a,columns:e,items:n},"toolbar")})}var Qa=26,Je=44,Ja=200,Za=250,to={},eo=t=>t.querySelector(".ant-table-thead")?.offsetHeight??Je,kt=(t,n)=>{if(!t)return 0;let a=t.querySelectorAll(':scope [data-id^="data-table-card-"]'),e=0;return a.forEach(o=>{let r=o.getAttribute("data-id")==="data-table-card-content";e+=r?0:o.clientHeight;}),document.documentElement.clientHeight-n-window.scrollY-Qa-eo(t)-e-3};function Ze(t,n,{x:a,y:e,...o}=to,r,s,c){let[l,p]=k.useState(e),i=k.useRef(0),f=k.useRef(null);if(k.useLayoutEffect(()=>{if(!s)return;i.current=t.current?.offsetTop??0,f.current||(f.current=d(()=>{i.current=t.current?.offsetTop??0,p(kt(t.current,i.current));},Ja,false,true)),window.addEventListener("resize",f.current);let g=null;return t.current&&(g=new MutationObserver(f.current),g.observe(t.current,{childList:true,subtree:true,attributes:true,attributeFilter:["style","class","hidden"]})),()=>{f.current&&(window.removeEventListener("resize",f.current),f.current.cancel()),g?.disconnect();}},[t,s]),k.useEffect(()=>{if(!s||e!==void 0)return;p(kt(t.current,i.current));let g=setTimeout(()=>{p(kt(t.current,i.current));},Za);return ()=>{clearTimeout(g);}},[e,n,t,s]),!s)return {x:a,y:e,...o};let h=l&&typeof l=="number"?l+(r?Je:0):l;return {x:c&&!a?1280:a??"max-content",y:c&&!h?620:h,...o}}var ro={ease:[.26,.08,.25,1],duration:.3},no={},so={root:"m-0 flex w-full [&_.ant-pagination-total-text]:ps-6 [&_.ant-pagination-total-text]:mr-auto"};function io(t){let{store:n,tabList:a,alwaysShowingColumns:e,...o}=t;return mt(()=>{let r=document.body,s=l=>{l.preventDefault(),l.dataTransfer&&(l.target.closest("[data-dropzone]")?l.dataTransfer.dropEffect="copy":l.dataTransfer.dropEffect="none");},c=l=>{l.preventDefault();};return r.addEventListener("drop",c),r.addEventListener("dragover",s),r.addEventListener("dragenter",s),()=>{r.removeEventListener("drop",c),r.removeEventListener("dragover",s),r.removeEventListener("dragenter",s);}}),jsx(Ce,{store:n,tabList:a,alwaysShowingColumns:e,children:jsx(lo,{...o})})}function lo(t$1){let{ref:n$1,activeTabId:a,variant:e,style:o$1,cardTitle:r$1,cardIcon:s$1,cardDescription:c$1,classNames:l$2,enableTableAutoScrollSizer:p$1,slots:i,columns:f$2,filterColumns:h$1,tableColumns:g$1,defaultFilters:m$3,tableProps:b,paginationProps:u$1,toolbarItems:R,isCustomTab:v,tabRenderCtx:_,customRender:V,onToolbarAction:w,onFiltersChange:Y}=t$1,O=Q(),y=k.useRef(null),x=k.useRef(null),{tabList:H}=rt(),{syncing:W,loading:M}=ve(),L=tt(P=>P.updateTableId),[$,ut]=h({filters:m$3,onFiltersChange:Y});k.useEffect(()=>{L(a);},[a]);let{current:et}=u$1;k.useEffect(()=>{let P=setTimeout(()=>{if(p$1&&!b.virtual){let q=y.current?.querySelector(".ant-table-body");q&&(q.scrollTop=0);}else y.current?.scrollIntoView({block:"start"});},350);return ()=>clearTimeout(P)},[et]);let Dt=$&&$.length!==0,ht=!!(M&&g$1.some(P=>P.skeleton)),St=Math.min(u$1.pageSize,15),vt=k.useCallback(P=>O("pagination_total").replace("{total}",String(P)),[O]),d=Ze(x,`${$?.length}-${a}`,b.scroll,v,p$1,b.virtual),T=ht?jsx(me,{id:`${a}-skeleton`,columns:g$1,size:b.size,count:St,scroll:d}):jsx(Table,{id:`${a}-data-table`,columns:g$1,loading:M,showSorterTooltip:false,...b,scroll:d}),E=!!u$1.total&&(u$1.hideOnSinglePage!==true||u$1.total>u$1.pageSize);return jsxs(l,{ref:f$1([x,n$1]),style:o$1,className:c("relative rounded-[16px]",p$1&&"h-full max-h-[calc(100vh-var(--offset-top))] overflow-hidden",l$2?.root),variant:e,children:[jsxs(m,{"data-id":"data-table-card-header",className:c("data-table-card-header relative min-h-56 grow-0 px-14 pt-12 pb-10",e==="accent"&&"pt-10",H&&H?.length>1&&"border-b-0",l$2?.cardHeader),children:[jsxs(q,{className:c("flex items-center gap-12",l$2?.cardHeading),children:[s$1&&jsx(t,{className:c("size-32 border border-stone-200 bg-stone-100 text-text-sub",!!(r$1&&c$1)&&"size-44 [&_svg]:size-24",l$2?.cardIcon),children:s$1}),r$1&&jsxs("div",{className:c(c$1&&"flex flex-col gap-4"),children:[jsx(s,{children:r$1}),c$1&&jsx(u,{children:c$1})]})]}),jsx(AnimatePresence,{initial:false,children:R!==false&&jsx(r,{as:m$1.div,className:l$2?.cardToolbar,...k$1,children:jsx(Qe,{containerRef:y,items:R,columns:f$2,onAction:w,filter:h$1.length!==0&&jsx(g,{columns:h$1,filters:$,actions:ut,disabled:M||W,align:"end",enableAutoBack:true},`${a}-filter`)})})})]}),i?.cardSummary&&jsx(o,{"data-id":"data-table-card-summary",className:c("grow-0 p-12",l$2?.cardSummary),children:i.cardSummary}),jsx(xe,{"data-id":"data-table-card-tabs",className:"grow-0 p-0"}),jsx(AnimatePresence,{initial:false,children:Dt&&jsx(m$1.div,{"data-id":"data-table-card-filter-values",...l$1,children:jsx(o,{className:"p-0",children:jsx(f,{columns:h$1,filters:$,actions:ut,"data-id":"data-table-active-filters",className:"flex flex-wrap gap-10 px-12 pt-16",disabled:W||M,enableAutoClose:true})})},a)}),jsxs(n,{"data-id":"data-table-card-content",className:c("relative grow p-12 pb-0",(W||M)&&"pointer-events-none",p$1&&"overflow-hidden",l$2?.cardContent),children:[i?.tableSummary&&jsx(o,{"data-id":"data-table-card-table-summary",className:c("grow-0 p-0 pb-12",l$2?.tableSummary),children:i.tableSummary}),jsx(AnimatePresence,{mode:"popLayout",initial:false,children:jsx(m$1.div,{ref:y,className:c("relative w-full",v&&p$1&&"overflow-auto"),style:v&&p$1?{maxHeight:d.y}:no,...m$2,transition:ro,children:v?V?.(_):T},a)})]}),E&&jsx(p,{"data-id":"data-table-card-pager",className:"flex min-h-44 w-full grow-0 items-center justify-between",children:jsx(Pagination,{classNames:so,disabled:M||W,size:"small",showTotal:vt,...u$1})}),i?.cardFooter&&jsx(p,{"data-id":"data-table-card-footer",className:c("grow-0 px-16 py-12",l$2?.cardFooter),children:i.cardFooter})]})}function po(t){let{tabList:n,fireOnMount:a=true,storageKey:e,onTabChange:o,onTableChange:r,onToolbarAction:s}=t,{pagination:c,tableStateStorageKey:l}=c$1(),p=k.useRef(new Set),[i]=k.useState(()=>{let d=be(n[0].id,e??l);for(let T of n)d.getState().initTab(T.id,ea(T)),p.current.add(T.id);return d}),f=k.useRef({onTabChange:o,onTableChange:r,onToolbarAction:s});f.current={onTabChange:o,onTableChange:r,onToolbarAction:s};let h=k.useRef(new Map);h.current=new Map(n.map(d=>[d.id,d]));let g=n.map(d=>d.id).join(),m=k.useRef(true);k.useEffect(()=>{if(m.current){m.current=false;return}for(let d of n)p.current.has(d.id)||(i.getState().initTab(d.id,ea(d)),p.current.add(d.id));},[i,g]);let b=n.map(d=>`${d.id}:${d.loading}:${d.syncing}:${d.exporting}:${d.disabled}`).join();k.useEffect(()=>{let{syncTabExternal:d}=i.getState();for(let T of n)d(T.id,{loading:T.loading,syncing:T.syncing,exporting:T.exporting,disabled:T.disabled});},[i,b]),k.useEffect(()=>{let d=i.getState().stateVersion;return i.subscribe(T=>{if(T.stateVersion===d)return;d=T.stateVersion;let E=T.activeTabId,P=T.tabs[E];if(!P)return;let q={pagination:P.pagination,filters:P.filters,sorter:P.sorter},Nt=T.changeReason;Nt==="tab_switch"&&f.current.onTabChange?.(E),f.current.onTableChange?.(q,Nt,E);})},[i]);let u=k.useRef(false);k.useEffect(()=>{if(u.current||(u.current=true,!a))return;let d=i.getState(),T=d.activeTabId,E=d.tabs[T];E&&f.current.onTableChange?.(E,"mount",T);},[i,a]);let R=useStore(i,d=>d.activeTabId),v=useStore(i,useShallow(d=>d.tabs[d.activeTabId]??B)),_=h.current.get(R),V=_?.type==="custom",w=V?void 0:_,Y=V?_:void 0,{columnVisibility:O,pagination:y}=v,x=w?.columns,H=Y?.filterColumns,W=k.useMemo(()=>x?x.filter(d=>!d.hidden):[],[x]),M=k.useMemo(()=>V?H??[]:_e(x),[V,H,x]),L=k.useMemo(()=>W.filter(d=>{let T=d.key??d.dataIndex;return !T||O[T]!==false}),[W,O]),$=k.useCallback(d=>{let T=i.getState(),E=T.activeTabId,P=T.tabs[E]?.filters??[],q=typeof d=="function"?d(P):d;T.setFilters(E,q);},[i]),ut=k.useCallback((d,T,E,P)=>{let q=i.getState().activeTabId;i.getState().setTableChange(q,E,P);},[i]),et=k.useCallback((d,T)=>{let E=i.getState().activeTabId;i.getState().setPagination(E,d,T);},[i]),Dt=k.useCallback(d=>{let T=i.getState(),E=T.activeTabId,P=T.tabs[E],q={pagination:P?.pagination??B.pagination,filters:P?.filters??B.filters,sorter:P?.sorter??B.sorter};d.tableState=q,f.current.onToolbarAction?.(d,E);},[i]),ht=k.useMemo(()=>({...c,current:y.current,pageSize:y.pageSize,total:_?.total,onChange:et,onShowSizeChange:et}),[c,y,_?.total,et]),St=k.useMemo(()=>({loading:v.loading,syncing:v.syncing,exporting:v.exporting,disabled:v.disabled,filters:v.filters,pagination:y,onFiltersChange:$,onPaginationChange:et}),[v,y,$,et]),vt=k.useMemo(()=>n.map(({id:d,label:T,value:E})=>({id:d,label:T,value:E})),[g]);return {store:i,activeTabId:R,tabList:vt,columns:W,filterColumns:M,tableColumns:L,tableProps:{dataSource:w?.dataSource,rowKey:w?.rowKey,size:v.tableSize,pagination:false,scroll:w?.scroll,virtual:w?.virtual,onChange:ut},paginationProps:ht,defaultFilters:v.filters,onFiltersChange:$,toolbarItems:_?.toolbarItems,onToolbarAction:Dt,isCustomTab:V,customRender:Y?.render,tabRenderCtx:St,enableTableAutoScrollSizer:w?.enableTableAutoScrollSizer??Y?.enableTableAutoScrollSizer??true}}function ea(t){return {pagination:t.defaultPagination,filters:t.defaultFilters,sorter:t.type!=="custom"?t.defaultSorter:void 0,loading:t.loading,syncing:t.syncing,exporting:t.exporting,disabled:t.disabled}}export{$e as DEFAULT_TOOLBAR_ITEMS,io as DataTable,po as useDataTable};
|
|
1
|
+
import {k as k$1,l as l$1,m as m$2,f as f$1,c as c$1,d,o as o$1,g as g$1,h as h$1,i,q as q$1,r as r$1,e}from'./chunk-6IEX6NJ5.js';import {h,g,f}from'./chunk-NS7IV62X.js';export{b as DATE_FORMATS,d as formatDateRange,c as getDateDisplayFormat,e as getPickerInputFormat}from'./chunk-NS7IV62X.js';import {S,l,m,q,t,c,s,u,r,o,n,p,P,i as i$1,F,G,H,w,x,z,y,A,C}from'./chunk-2CZQBNNA.js';export{S as useTransition}from'./chunk-2CZQBNNA.js';import {b}from'./chunk-M7AD2PUT.js';import {Table,Pagination,Checkbox}from'antd';import {AnimatePresence,m as m$1}from'motion/react';import k from'react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {create,useStore,createStore}from'zustand';import {useShallow}from'zustand/react/shallow';import {persist}from'zustand/middleware';import {immer}from'zustand/middleware/immer';import {Check,Upload,Download,Settings2,RefreshCw,FolderUp}from'lucide-react';import {Progress,Portal}from'radix-ui';function mt(t){k.useEffect(t,[]);}var la={small:"min-h-22",medium:"min-h-26",middle:"min-h-30",large:"min-h-38"};function me({count:t,size:n="small",classNames:a,columns:e,scroll:o}){let r=k.useCallback(()=>ca(e,la[n]),[e,n]);return jsx(Table,{rowKey:"id",size:n,rowHoverable:false,classNames:a,dataSource:Array.from({length:t},(s,c)=>({id:c})),pagination:false,scroll:o,children:e.map((s,c)=>jsx(Table.Column,{dataIndex:s.dataIndex,width:s.width,title:jsx(o$1,{className:"h-22 w-full animate-none bg-bg-antd"}),render:r,onCell:()=>c===0?{colSpan:e.length}:{colSpan:0}},s.key||s.dataIndex))})}var ue=16;function ca(t,n){let a=t.length,o=`calc((100% - ${ue*(a-1)}px) / ${a})`,r=t.some(s=>s.skeleton==="avatar"||s.skeleton==="double-line");return jsx("div",{className:c("flex items-center",n),style:{gap:`${ue}px`},children:t.map((s,c)=>{let l=s?.key??c;return jsx("div",{style:{width:o},children:da(s.skeleton,r)},l)})})}function da(t,n){switch(t){case "avatar":return jsx(ua,{});case "double-line":return jsx(ma,{});case "group":return jsx(ba,{needAlignment:n});default:return jsx(pa,{needAlignment:n})}}function pa({needAlignment:t}){return jsxs("div",{className:"grid h-full gap-4",children:[t&&jsx("div",{className:"h-12 w-1"}),jsx(o$1,{className:"h-10"})]})}function ua(){return jsxs("div",{className:"flex w-full items-center gap-6",children:[jsx(o$1,{className:"shrink-0 rounded-full",style:{width:"var(--avatar-size, 32px)",height:"var(--avatar-size, 32px)"}}),jsxs("div",{className:"grid flex-1 gap-4",children:[jsx(o$1,{className:"h-12 w-[60%]"}),jsx(o$1,{className:"h-10"})]})]})}function ma(){return jsxs("div",{className:"grid h-full w-full gap-4 py-4",children:[jsx(o$1,{className:"h-12 w-[60%]"}),jsx(o$1,{className:"h-10"})]})}function ba({needAlignment:t}){return jsxs("div",{className:"grid h-full gap-4",children:[t&&jsx("div",{className:"h-12 w-1"}),jsxs("div",{className:"flex w-full items-center gap-4",children:[jsx(o$1,{className:"h-10 w-[20%]"}),jsx(o$1,{className:"h-10 w-[20%]"}),jsx(o$1,{className:"h-10 w-[20%]"}),jsx(o$1,{className:"h-10 w-[20%]"}),jsx(o$1,{className:"h-10 w-[20%]"})]})]})}var B={pagination:{current:1,pageSize:10},filters:[],sorter:{},extra:{action:"paginate",currentDataSource:[]},tableSize:"small",columnVisibility:{},exporting:false,loading:false,syncing:false,disabled:false},J=(t,n)=>(t.tabs[n]||(t.tabs[n]={...B}),t.tabs[n]),ya="APP_UI_TABLE_CONFIG",Ca=(t,n)=>({activeTabId:n,tabs:{},stateVersion:0,changeReason:"mount",setActiveTab:a=>t(e=>{e.activeTabId=a,J(e,a),e.changeReason="tab_switch",e.stateVersion++;}),syncTabExternal:(a,e)=>t(o=>{let r=o.tabs[a];r&&(r.loading=e.loading,r.syncing=e.syncing,r.exporting=e.exporting,r.disabled=e.disabled);}),initTab:(a,e)=>t(o=>{let r=o.tabs[a];r?(e.pagination&&(r.pagination=e.pagination),e.filters&&(r.filters=e.filters),e.sorter&&(r.sorter=e.sorter),r.loading=e.loading,r.syncing=e.syncing,r.exporting=e.exporting,r.disabled=e.disabled):o.tabs[a]={...B,...e};}),setFilters:(a,e)=>t(o=>{let r=J(o,a);r.filters=e,r.pagination.current=1,o.changeReason="filter",o.stateVersion++;}),setPagination:(a,e,o)=>t(r=>{let s=J(r,a);s.pagination={current:e,pageSize:o},r.changeReason="paginate",r.stateVersion++;}),setTableChange:(a,e,o)=>t(r=>{let s=J(r,a);s.sorter=e,s.extra=o,r.changeReason="sort",r.stateVersion++;}),setTableSize:a=>t(e=>{J(e,e.activeTabId).tableSize=a;}),setColumnVisibility:(a,e)=>t(o=>{J(o,o.activeTabId).columnVisibility[a]=e;}),setColumnVisibilityState:a=>t(e=>{let o=J(e,e.activeTabId);o.columnVisibility=typeof a=="function"?a(o.columnVisibility):a;}),toggleColumnVisibility:a=>t(e=>{let o=J(e,e.activeTabId);o.columnVisibility[a]=!o.columnVisibility[a];}),resetTabUIState:a=>t(e=>{let o=a??e.activeTabId,r=e.tabs[o];r&&(r.tableSize=B.tableSize,r.columnVisibility={});})}),be=(t,n=ya)=>createStore()(persist(immer(a=>Ca(a,t)),{name:n,partialize:a=>({tableUIStatus:Object.fromEntries(Object.entries(a.tabs).map(([e,o])=>[e,{tableSize:o.tableSize,columnVisibility:o.columnVisibility}]))}),merge:(a,e)=>{let o=a,r={...e};if(!o?.tableUIStatus)return r;for(let[s,c]of Object.entries(o.tableUIStatus)){let l=r.tabs[s];l?(c.tableSize&&(l.tableSize=c.tableSize),c.columnVisibility&&(l.columnVisibility=c.columnVisibility)):r.tabs[s]={...B,tableSize:c.tableSize??B.tableSize,columnVisibility:c.columnVisibility??{}};}return r}}));var Te=k.createContext(null),ge=["id","action","actions"],ye=k.createContext({alwaysShowingColumns:ge});function Ce({store:t,tabList:n,alwaysShowingColumns:a,children:e}){let o=k.useMemo(()=>({tabList:n,alwaysShowingColumns:a??ge}),[n,a]);return jsx(ye.Provider,{value:o,children:jsx(Te.Provider,{value:t,children:e})})}function ft(){let t=k.useContext(Te);if(!t)throw new Error("useDataTableStoreApi must be used within DataTableProvider");return t}function Z(t){let n=ft();return useStore(n,t)}function De(){let t=ft();return useStore(t,useShallow(n=>n.tabs[n.activeTabId]??B))}function he(){return Z(t=>t.tabs[t.activeTabId]?.tableSize??B.tableSize)}function Se(){let t=ft();return useStore(t,useShallow(n=>n.tabs[n.activeTabId]?.columnVisibility??B.columnVisibility))}function ve(){let t=ft();return useStore(t,useShallow(n=>{let a=n.tabs[n.activeTabId];return {loading:a?.loading??false,syncing:a?.syncing??false,exporting:a?.exporting??false,disabled:a?.disabled??false}}))}function rt(){return k.useContext(ye)}function xe(t){let{tabList:n}=rt(),a=Z(o=>o.activeTabId),e=Z(o=>o.setActiveTab);return !n||!n?.length||n.length===1?null:jsx(o,{...t,children:jsx(g$1,{className:c("w-full"),value:a,onValueChange:e,children:jsx(h$1,{variant:"line",size:"medium",className:"w-full px-12",children:n.map(o=>jsx(i,{value:o.value,className:"px-8 py-8",children:o.label},o.id))})})})}var tt=create((t,n)=>({activeTableId:"",tasks:{},updateTableId:a=>t(()=>({activeTableId:a})),addTask:a=>t(e=>{let o=e.activeTableId;return {tasks:{...e.tasks,[o]:[...e.tasks[o]??[],a]}}}),removeTask:a=>t(e=>{let o=e.activeTableId;return {tasks:{...e.tasks,[o]:(e.tasks[o]??[]).filter(r=>r.localTaskId!==a)}}}),updateTask:(a,e)=>t(o=>{let r=o.activeTableId;return {tasks:{...o.tasks,[r]:(o.tasks[r]??[]).map(s=>s.localTaskId===a?{...s,...e}:s)}}}),getTasks:()=>{let a=n();return a.tasks[a.activeTableId]??[]}})),gt=()=>tt(useShallow(t=>t.tasks[t.activeTableId]??[]));function Re({className:t,...n}){let a=S(),[e,o]=k.useState(false),r=Z(l=>l.setTableSize),s=he(),c$1=k.useMemo(()=>[{groupType:"radio",value:s,options:[{label:a("large"),value:"large"},{label:a("middle"),value:"middle"},{label:a("compact"),value:"small"}],onValueChange:r}],[r,a,s]);return jsx(q$1,{side:"bottom",align:"end",collisionPadding:6,items:c$1,className:"min-w-100",open:e,onOpenChange:o,children:jsxs(P,{mode:"stroke",variant:"neutral",size:"small",className:c("gap-0 px-9",t),...n,children:[jsx(i$1,{content:a("density"),size:"small",children:jsx("div",{className:"absolute inset-0"})}),jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"size-16",viewBox:"0 0 1024 1024",children:jsx("path",{d:"M840 836H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm0-724H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM610.8 378c6 0 9.4-7 5.7-11.7L515.7 238.7a7.14 7.14 0 0 0-11.3 0L403.6 366.3a7.23 7.23 0 0 0 5.7 11.7H476v268h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V378h62.8z"})})]})})}function Pe(t,n){return new Promise((a,e)=>{let r=Object.assign({},{method:"GET",responseType:"json"},n),{method:s,timeout:c,responseType:l,headers:p,body:i,validateResponse:f}=r,h;function g(){r.signal&&r.signal.removeEventListener("abort",h);}if(r.signal&&r.signal.aborted)return e(new D("Aborted"));let m=new XMLHttpRequest,b=null,u=null;m.open(s.toUpperCase(),t,true),m.timeout=c||0,m.withCredentials=r.withCredentials===true,m.onloadend=function(){if(!m)return;let v=m.status,_=m.getResponseHeader("Content-Type")??"",V=l&&l!=="text"&&l!=="json",w=V?m.response:m.responseText,Y=m.getAllResponseHeaders().split(`\r
|
|
2
|
+
`).reduce((y,x)=>{let H=x.indexOf(": ");return H!==-1&&(y[x.slice(0,H).toLowerCase()]=x.slice(H+2)),y},{});function O(y){if(b){b.cancel();let x=y instanceof Blob?y.size:y instanceof ArrayBuffer?y.byteLength:typeof y=="string"?y.length:0;r.onDownloadProgress?.({loaded:x,total:x,lengthComputable:true,percentage:100});}r.withResponseHeaders?a({data:y,status:v,headers:Y}):a(y);}if(v>=200&&v<300)if(l==="json"){let y=w;try{let x=y!==""?JSON.parse(y):null;if(!(f?.(x)??!0))throw new D("invalid response");O(x);}catch(x){e(x);}}else f?.(w)??true?O(w):e(new D("invalid response"));else {let y=null;if(!V)if(_.includes("application/json"))try{y=w!==""?JSON.parse(w):null;}catch{}else y=w||null;e(new D("Xhr Request failed",v,y));}g(),m=null;},m.onabort=function(){m&&(b?.cancel(),u?.cancel(),e(new D(D.ECONNABORTED)),g(),m=null);},m.onerror=function(){b?.cancel(),u?.cancel(),e(new D("Network Error",D.ERR_NETWORK)),g(),m=null;},m.ontimeout=function(){b?.cancel(),u?.cancel(),e(new D("Timeout exceeded",D.ETIMEDOUT)),g(),m=null;},typeof p=="object"&&Object.keys(p).forEach(R=>{m?.setRequestHeader(R,p[R]);}),i==null&&m.setRequestHeader("Content-Type",""),l&&l!=="json"&&(m.responseType=l),r.onDownloadProgress&&(b=Ee(r.onDownloadProgress),m.addEventListener("progress",b)),r.onUploadProgress&&m.upload&&(u=Ee(r.onUploadProgress),m.upload.addEventListener("progress",u),m.upload.addEventListener("loadend",R=>{u?.cancel(),r.onUploadProgress?.({loaded:R.loaded,total:R.loaded,lengthComputable:true,percentage:100});})),r.signal&&(h=()=>{m&&(e(new D(D.REQUEST_CANCELED,D.REQUEST_CANCELED)),m.abort(),m=null);},r.signal.aborted?h():r.signal.addEventListener("abort",h)),m.send(i??null);})}function Ee(t){return e(a=>{t({loaded:a.loaded,total:a.lengthComputable?a.total:0,lengthComputable:a.lengthComputable,percentage:a.lengthComputable&&a.total>0?Math.round(a.loaded/a.total*100):null});},250)}var D=class extends Error{constructor(a,e,o){super(a);b(this,"message");b(this,"code");b(this,"data");this.name="RequestError",this.message=a,e&&(this.code=e),o!==void 0&&(this.data=o);}};b(D,"ETIMEDOUT","ETIMEDOUT"),b(D,"ERR_NETWORK","ERR_NETWORK"),b(D,"ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION_VALUE"),b(D,"ERR_BAD_OPTION","ERR_BAD_OPTION"),b(D,"ECONNABORTED","ECONNABORTED"),b(D,"ERR_FR_TOO_MANY_REDIRECTS","ERR_FR_TOO_MANY_REDIRECTS"),b(D,"ERR_DEPRECATED","ERR_DEPRECATED"),b(D,"ERR_BAD_RESPONSE","ERR_BAD_RESPONSE"),b(D,"ERR_BAD_REQUEST","ERR_BAD_REQUEST"),b(D,"ERR_CANCELED","ERR_CANCELED"),b(D,"REQUEST_CANCELED","REQUEST_CANCELED"),b(D,"ERR_NOT_SUPPORT","ERR_NOT_SUPPORT"),b(D,"ERR_INVALID_URL","ERR_INVALID_URL");var ke=150,yt={ease:[.26,.08,.25,1],duration:.25},Ea={initial:{opacity:0,scale:.95},visible:{opacity:1,scale:1,transition:{...yt,when:"beforeChildren"}},hidden:{opacity:0,scale:1.05,transition:{...yt,when:"afterChildren"}}},Pa={initial:{y:10,opacity:0},visible:{y:0,opacity:1,transition:yt},hidden:{y:-10,opacity:0,transition:yt}};function Ae({containerRef:t,accept:n,acceptHint:a,onFileSelect:e}){let o=k.useRef(null),r=k.useRef(null),[s,c,l]=r$1(false),p=k.useCallback(g=>{g.stopPropagation();let{target:m,relatedTarget:b}=g;m.matches(".data-drop-target, .data-drop-area")&&(!b||!b.matches(".data-drop-target, .data-drop-area"))&&(o.current=window.setTimeout(()=>{l();},ke));},[l]),i=k.useCallback(()=>{o.current&&window.clearTimeout(o.current);},[]),f=k.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=window.setTimeout(()=>{l();},ke);},[l]),h=k.useEffectEvent(async g=>{let{dataTransfer:m}=g,b=[];m.files&&m.files.length>0&&(b=b.concat(Array.from(m.files))),b.length&&(r.current&&window.clearTimeout(r.current),r.current=window.setTimeout(()=>{e?.(b);},600));});return mt(()=>{if(!t?.current)return;let g=t.current;return g.addEventListener("dragenter",c),()=>{g.removeEventListener("dragenter",c),o.current&&window.clearTimeout(o.current),r.current&&window.clearTimeout(r.current);}}),jsx(Portal.Root,{container:t?.current,asChild:true,children:jsx(AnimatePresence,{children:s&&jsx(m$1.div,{className:"data-drop-area absolute inset-0 bottom-8 z-10 flex items-center justify-center select-none",onDragLeave:p,onDragOver:i,onDrop:f,initial:"hidden",animate:"visible",exit:"hidden",variants:Ea,children:jsx(ka,{accept:n,acceptHint:a,onFileSelect:h})})})})}function ka({accept:t,acceptHint:n,onFileSelect:a}){let e=S(),[o,r]=k.useState(false),s=k.useCallback(p=>{if(!t||!p.dataTransfer.items.length){r(false);return}let i=[...p.dataTransfer.items].every(f=>wa(f.type,t));r(!i);},[t]),c$1=k.useCallback(p=>{let{relatedTarget:i,currentTarget:f}=p;i&&f.contains(i)&&p.stopPropagation();},[]),l=k.useCallback(p=>{if(o){p.preventDefault();return}a(p);},[o,a]);return jsxs("div",{"data-dropzone":true,onDragEnter:s,onDrop:l,onDragLeave:c$1,className:"data-drop-target relative flex h-full w-full items-center justify-center rounded-[8px] bg-bg-weak p-16",children:[jsx("svg",{className:c("pointer-events-none absolute top-16 left-16 h-[calc(100%-32px)] w-[calc(100%-32px)] overflow-visible",o?"text-error-base":"text-primary-base"),children:jsx("rect",{x:"0",y:"0",width:"100%",height:"100%",rx:"8",fill:"none",stroke:"currentColor",strokeDasharray:"11, 8",strokeDashoffset:"0",strokeLinecap:"round",strokeWidth:"2",children:jsx("animate",{attributeName:"stroke-dashoffset",from:"0",to:"-19",dur:"0.5s",repeatCount:"indefinite"})})}),jsxs(m$1.div,{className:c("pointer-events-none flex flex-col items-center gap-4",o?"text-error-base":"text-primary-base"),variants:Pa,children:[jsxs("div",{className:"flex flex-col items-center",children:[jsx(FolderUp,{className:"size-48"}),jsx("strong",{className:"text-title-h6",children:e(o?"file_type_rejected":"drop_file_hint")})]}),jsx("span",{className:"text-text-soft",children:n?e("file_support_list",{formats:n}):e("file_support_all")})]})]})}function wa(t,n,a=""){if(!n||n==="*")return true;if(!t&&!a)return false;let e=n.split(",").map(s=>s.trim().toLowerCase()),o=(t||"").toLowerCase(),r=(a||"").toLowerCase();return e.some(s=>{if(s.startsWith("."))return r.endsWith(s);if(s.endsWith("/*")){let c=s.slice(0,-1);return o.startsWith(c)}return o===s})}function Ne(t=""){return `${t}-${Date.now().toString(36)+Math.random().toString(36).slice(2)}`}function _e(t){return t?t.filter(n=>n.filter!==void 0).map(n=>{let{filter:a,dataIndex:e,title:o}=n,r=Array.isArray(e)?e.join("."):e,s=a.displayName??(typeof o=="string"?o:r);return {...a,columnId:r,displayName:s}}):[]}function Le(t){return t.key?String(t.key):Array.isArray(t.dataIndex)?t.dataIndex.join("."):String(t.dataIndex)}function Aa(t){return typeof t=="string"&&t.length>0}function Oe(t){return [Array.isArray(t.dataIndex)?t.dataIndex.join(" "):typeof t.dataIndex=="string"?t.dataIndex:null,typeof t.title=="string"?t.title:null,t.key!==null?String(t.key):null].filter(Aa)}function Be(t,n=22){if(!t)return "";if(t.length<=n)return t;let a=Math.floor(n/2.5),e=t.lastIndexOf("."),o,r;if(e>0?(o=t.substring(0,e),r=t.substring(e)):(o=t,r=""),o.length<=a*2)return t;let s=o.substring(0,a),c=o.substring(o.length-a);return `${s}\u2026${c}${r}`}function Me(t,n){return {type:"import",localTaskId:Ne(n?`import-file-${n}`:"import-file"),status:"pending",progress:0,file:t}}function Fe({tooltip:t,btnProps:n,disabled:a,loading:e,containerRef:o,accept:r,acceptHint:s,requestConfig:c,onBeforeUpload:l}){let p=S(),i=k.useId(),f=tt(b=>b.addTask),h=tt(b=>b.updateTask),g=a||e,m=k.useCallback(async b=>{if(b=[b[0]],l&&typeof l=="function"){let u=await l(b);if(u===false)return;Array.isArray(u)&&(b=u);}b.forEach((u,R)=>{let v=new AbortController,_={...Me(u,R),abortController:v};if(f(_),!c)throw Error("requestConfig is required.");let{url:V,method:w="POST",fieldName:Y="file",body:O,onSuccess:y,onFailed:x,onUploadProgress:H,...W}=c,M=new FormData;M.append(Y,u),O instanceof FormData?O.forEach((L,$)=>M.append($,L)):O&&Object.keys(O).forEach(L=>{M.append(L,O[L]);}),Pe(V,{...W,onUploadProgress:L=>{H?.(L),h(_.localTaskId,{status:"importing",progress:L.percentage??0});},method:w,body:M,signal:v.signal}).then(L=>{y?.(L),h(_.localTaskId,{status:"done"});}).catch(L=>{x?.(L),h(_.localTaskId,{status:"failed"});});});},[c,l,f,h]);return jsxs(Fragment,{children:[jsx(Ae,{containerRef:o,onFileSelect:m,accept:r,acceptHint:s}),jsx("input",{type:"file",id:i,accept:r,multiple:false,onChange:b=>{let u=Array.from(b.target.files??[]);u.length&&(m(u),b.target.value="");},className:"invisible absolute -top-9999 -left-9999"}),jsx(i$1,{content:t??p("import_tooltip"),children:jsx("label",{htmlFor:i,className:"m-0 inline-flex cursor-pointer p-0 leading-none",children:jsx(P,{variant:"neutral",mode:"stroke",loading:e,startContent:jsx(Upload,{}),disabled:g,className:"pointer-events-none",...n,children:p("data_import")})})})]})}function He({disabled:t,columns:n}){let a=S(),{alwaysShowingColumns:e}=rt(),[o,r]=k.useState(false),s=Se(),c$1=Z(p=>p.setColumnVisibilityState),l=k.useCallback((p,i)=>{c$1(f=>({...f,[p]:i}));},[c$1]);return jsxs(F,{open:o,onOpenChange:r,children:[jsx(G,{asChild:true,children:jsx(P,{mode:"stroke",variant:"neutral",size:"small",className:c("relative gap-0 px-9"),disabled:t,startContent:jsx(Settings2,{}),children:jsx(i$1,{content:a("column_set"),children:jsx("div",{className:"absolute inset-0"})})})}),jsx(H,{align:"end",side:"bottom",arrow:false,className:"w-fit rounded-xl p-0",sideOffset:6,children:jsxs(w,{children:[jsx(x,{autoFocus:true,placeholder:"Search..."}),jsx(z,{children:a("no_results")}),jsx(y,{className:"max-h-256",children:jsx(A,{children:n.map(p=>{let i=Le(p),f=s[i]!==false,h=typeof p.title=="string"&&p.title?.trim()==="",g=h?p.key:p.title;return jsxs(C,{keywords:Oe(p),onSelect:()=>l(i,!f),className:"group flex items-center gap-6",value:i,disabled:e?.includes(i),children:[jsx(Checkbox,{checked:f,tabIndex:-1,className:c("mr-4 opacity-100")}),jsx("span",{className:c(h&&"capitalize"),children:g})]},i)})})})]})})]})}var $e=["data_refresh","size_setting","column_setting","filter_btn"];function Va({btnProps:t,disabled:n,loading:a,onAction:e}){let o=S();return jsx(P,{variant:"primary",startContent:jsx(Download,{}),loading:a,disabled:n||a,onClick:()=>e({action:"data_export"}),...t,children:o("data_export")})}var Ha={initial:{opacity:0,scale:.85,x:10,originX:1},animate:{opacity:1,scale:1,x:0,originX:1},exit:{opacity:0,scale:.85,x:10,originX:1}},Ua={ease:[.26,.08,.25,1],duration:.25};function Xe({containerRef:t,columns:n,filter:a,items:e=$e,className:o,onAction:r,...s}){let{loading:c$1,syncing:l,exporting:p,disabled:i}=De(),f=k.useMemo(()=>e.map(u=>Xa(u)),[e]),h=k.useMemo(()=>f.filter(u=>!u.hidden),[f]),g=k.useCallback(u=>{r?.(u);},[r]),m=k.useMemo(()=>({disabled:i,loading:c$1,syncing:l,exporting:p,columns:n,onAction:g}),[i,c$1,p,l,n,g]),b=u=>{let R={btnProps:u.btnProps,tooltip:u.tooltip,disabled:i||l||c$1,loading:c$1,onAction:g};switch(u.type){case "data_refresh":return jsx($a,{...R,syncing:l});case "size_setting":return jsx(Re,{...u.btnProps});case "column_setting":return jsx(He,{...u.btnProps,columns:n});case "data_export":return jsx(Va,{...R,loading:p});case "data_import":return jsx(Fe,{...R,loading:p,containerRef:t,requestConfig:u.requestConfig,onBeforeUpload:u.onBeforeUpload,acceptHint:u.acceptHint,accept:u.accept});case "custom":return u.render?.(m);case "filter_btn":return a;default:return null}};return jsx(m$1.div,{"data-slot":"data-table-toolbar",className:c("flex items-center gap-8 transition-opacity",o),...s,children:jsx(AnimatePresence,{mode:"popLayout",initial:false,children:h.map(u=>jsx(m$1.div,{layout:true,variants:Ha,initial:"initial",animate:"animate",exit:"exit",className:"leading-none",transition:Ua,children:b(u)},u.key))})})}function $a({btnProps:t,tooltip:n,disabled:a,loading:e,syncing:o,onAction:r}){let s=S(),c=n??s("refresh");return jsx(i$1,{content:c,children:jsx(P,{mode:"stroke",variant:"neutral",startContent:jsx(RefreshCw,{}),loading:o||e,disabled:a||e||o,className:"gap-0 px-9",onClick:()=>r({action:"data_refresh"}),...t})})}function Xa(t){return typeof t=="string"?{type:t,key:t}:t.type==="custom"?{type:"custom",key:t.key,hidden:t.hidden,render:t.render}:t.type==="data_import"?{type:"data_import",key:t.key??t.type,hidden:t.hidden,btnProps:t.btnProps,tooltip:t.tooltip,accept:t.accept,acceptHint:t.acceptHint,requestConfig:t.requestConfig,onBeforeUpload:t.onBeforeUpload}:{type:t.type,key:t.key??t.type,hidden:t.hidden,btnProps:t.btnProps,tooltip:t.tooltip}}function qe({className:t,value:n,...a}){return jsx(Progress.Root,{"data-slot":"progress",className:c("relative flex h-4 w-full items-center overflow-x-hidden rounded-full bg-bg-soft",t),...a,children:jsx(Progress.Indicator,{"data-slot":"progress-indicator",className:"size-full flex-1 bg-primary-base transition-all",style:{transform:`translateX(-${100-(n||0)}%)`}})})}function je({onAction:t,...n}){let a=gt();return jsx(m$1.div,{"data-slot":"data-table-taskbar",className:"w-fit items-center justify-center bg-bg-white select-none",...n,children:a.map(e=>e.type==="import"?jsx(qa,{...e,onSuccess:()=>{t?.({action:"import_done"});}},e.localTaskId):jsx(ja,{...e},e.localTaskId))})}function qa(t){let n=S(),a=tt(s=>s.removeTask),e=t.status==="failed",o=t.status==="done";return jsxs("div",{className:"flex h-full items-center gap-8",children:[jsxs("span",{className:c("truncate text-md font-medium",o?"text-success-base":e?"text-error-base":"text-text-strong"),children:[n(e?"import_failed":o?"import_done":t.status)," ",Be(t.file.name)]}),jsxs("span",{className:"min-w-34 shrink-0 text-right text-sm text-text-sub",children:[t.progress,"%"]}),jsx(P,{variant:"neutral",mode:"ghost",size:"xsmall",className:"min-w-28 rounded-full px-0",onClick:()=>{t.abortController?.signal.aborted===false&&!e&&!o&&t.abortController?.abort("User canceled"),a(t.localTaskId),o&&t.onSuccess?.(t.localTaskId);},startContent:o?jsx(Check,{className:"text-success-base"}):jsx(Ga,{})})]})}function ja(t){return jsxs("div",{className:"flex w-fit min-w-220 flex-col justify-center gap-6",children:[jsxs("div",{className:"lable flex items-center justify-center gap-12",children:[jsx("span",{className:"font-medium text-text-strong",children:"Task Name"}),jsx("span",{className:"ml-auto text-sm text-text-sub",children:t.progress})]}),jsx(qe,{value:66})]})}function Ga(){return jsxs("svg",{width:"0.8em",height:"0.8em",viewBox:"0 0 12 12",fill:"none",children:[jsx("path",{d:"M10.4854 1.99998L2.00007 10.4853",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"}),jsx("path",{d:"M10.4854 10.4844L2.00007 1.99908",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})]})}var Ge={initial:{y:10,opacity:0},animate:{y:0,opacity:1},exit:{y:-10,opacity:0}},Ye={ease:[.26,.08,.25,1],duration:.25};function Qe({containerRef:t,items:n,filter:a,columns:e,onAction:o}){let r=gt();return jsx(AnimatePresence,{initial:false,mode:"popLayout",children:r.length?jsx(je,{variants:Ge,initial:"initial",animate:"animate",exit:"exit",transition:Ye,onAction:o},"task-bar"):jsx(Xe,{variants:Ge,initial:"initial",animate:"animate",exit:"exit",transition:Ye,containerRef:t,onAction:o,filter:a,columns:e,items:n},"toolbar")})}var Qa=26,Je=44,Ja=200,Za=250,to={},eo=t=>t.querySelector(".ant-table-thead")?.offsetHeight??Je,kt=(t,n)=>{if(!t)return 0;let a=t.querySelectorAll(':scope [data-id^="data-table-card-"]'),e=0;return a.forEach(o=>{let r=o.getAttribute("data-id")==="data-table-card-content";e+=r?0:o.clientHeight;}),document.documentElement.clientHeight-n-window.scrollY-Qa-eo(t)-e-3};function Ze(t,n,{x:a,y:e,...o}=to,r,s,c){let[l,p]=k.useState(e),i=k.useRef(0),f=k.useRef(null);if(k.useLayoutEffect(()=>{if(!s)return;i.current=t.current?.offsetTop??0,f.current||(f.current=d(()=>{i.current=t.current?.offsetTop??0,p(kt(t.current,i.current));},Ja,false,true)),window.addEventListener("resize",f.current);let g=null;return t.current&&(g=new MutationObserver(f.current),g.observe(t.current,{childList:true,subtree:true,attributes:true,attributeFilter:["style","class","hidden"]})),()=>{f.current&&(window.removeEventListener("resize",f.current),f.current.cancel()),g?.disconnect();}},[t,s]),k.useEffect(()=>{if(!s||e!==void 0)return;p(kt(t.current,i.current));let g=setTimeout(()=>{p(kt(t.current,i.current));},Za);return ()=>{clearTimeout(g);}},[e,n,t,s]),!s)return {x:a,y:e,...o};let h=l&&typeof l=="number"?l+(r?Je:0):l;return {x:c&&!a?1280:a??"max-content",y:c&&!h?620:h,...o}}var ro={ease:[.26,.08,.25,1],duration:.3},no={},so={root:"m-0 flex w-full [&_.ant-pagination-total-text]:ps-6 [&_.ant-pagination-total-text]:mr-auto"};function io(t){let{store:n,tabList:a,alwaysShowingColumns:e,...o}=t;return mt(()=>{let r=document.body,s=l=>{l.preventDefault(),l.dataTransfer&&(l.target.closest("[data-dropzone]")?l.dataTransfer.dropEffect="copy":l.dataTransfer.dropEffect="none");},c=l=>{l.preventDefault();};return r.addEventListener("drop",c),r.addEventListener("dragover",s),r.addEventListener("dragenter",s),()=>{r.removeEventListener("drop",c),r.removeEventListener("dragover",s),r.removeEventListener("dragenter",s);}}),jsx(Ce,{store:n,tabList:a,alwaysShowingColumns:e,children:jsx(lo,{...o})})}function lo(t$1){let{ref:n$1,activeTabId:a,variant:e,style:o$1,cardTitle:r$1,cardIcon:s$1,cardDescription:c$1,classNames:l$2,enableTableAutoScrollSizer:p$1,slots:i,columns:f$2,filterColumns:h$1,tableColumns:g$1,defaultFilters:m$3,tableProps:b,paginationProps:u$1,toolbarItems:R,isCustomTab:v,tabRenderCtx:_,customRender:V,onToolbarAction:w,onFiltersChange:Y}=t$1,O=S(),y=k.useRef(null),x=k.useRef(null),{tabList:H}=rt(),{syncing:W,loading:M}=ve(),L=tt(P=>P.updateTableId),[$,ut]=h({filters:m$3,onFiltersChange:Y});k.useEffect(()=>{L(a);},[a]);let{current:et}=u$1;k.useEffect(()=>{let P=setTimeout(()=>{if(p$1&&!b.virtual){let q=y.current?.querySelector(".ant-table-body");q&&(q.scrollTop=0);}else y.current?.scrollIntoView({block:"start"});},350);return ()=>clearTimeout(P)},[et]);let Dt=$&&$.length!==0,ht=!!(M&&g$1.some(P=>P.skeleton)),St=Math.min(u$1.pageSize,15),vt=k.useCallback(P=>O("pagination_total").replace("{total}",String(P)),[O]),d=Ze(x,`${$?.length}-${a}`,b.scroll,v,p$1,b.virtual),T=ht?jsx(me,{id:`${a}-skeleton`,columns:g$1,size:b.size,count:St,scroll:d}):jsx(Table,{id:`${a}-data-table`,columns:g$1,loading:M,showSorterTooltip:false,...b,scroll:d}),E=!!u$1.total&&(u$1.hideOnSinglePage!==true||u$1.total>u$1.pageSize);return jsxs(l,{ref:f$1([x,n$1]),style:o$1,className:c("relative rounded-[16px]",p$1&&"h-full max-h-[calc(100vh-var(--offset-top))] overflow-hidden",l$2?.root),variant:e,children:[jsxs(m,{"data-id":"data-table-card-header",className:c("data-table-card-header relative min-h-56 grow-0 px-14 pt-12 pb-10",e==="accent"&&"pt-10",H&&H?.length>1&&"border-b-0",l$2?.cardHeader),children:[jsxs(q,{className:c("flex items-center gap-12",l$2?.cardHeading),children:[s$1&&jsx(t,{className:c("size-32 border border-stone-200 bg-stone-100 text-text-sub",!!(r$1&&c$1)&&"size-44 [&_svg]:size-24",l$2?.cardIcon),children:s$1}),r$1&&jsxs("div",{className:c(c$1&&"flex flex-col gap-4"),children:[jsx(s,{children:r$1}),c$1&&jsx(u,{children:c$1})]})]}),jsx(AnimatePresence,{initial:false,children:R!==false&&jsx(r,{as:m$1.div,className:l$2?.cardToolbar,...k$1,children:jsx(Qe,{containerRef:y,items:R,columns:f$2,onAction:w,filter:h$1.length!==0&&jsx(g,{columns:h$1,filters:$,actions:ut,disabled:M||W,align:"end",enableAutoBack:true},`${a}-filter`)})})})]}),i?.cardSummary&&jsx(o,{"data-id":"data-table-card-summary",className:c("grow-0 p-12",l$2?.cardSummary),children:i.cardSummary}),jsx(xe,{"data-id":"data-table-card-tabs",className:"grow-0 p-0"}),jsx(AnimatePresence,{initial:false,children:Dt&&jsx(m$1.div,{"data-id":"data-table-card-filter-values",...l$1,children:jsx(o,{className:"p-0",children:jsx(f,{columns:h$1,filters:$,actions:ut,"data-id":"data-table-active-filters",className:"flex flex-wrap gap-10 px-12 pt-16",disabled:W||M,enableAutoClose:true})})},a)}),jsxs(n,{"data-id":"data-table-card-content",className:c("relative grow p-12 pb-0",(W||M)&&"pointer-events-none",p$1&&"overflow-hidden",l$2?.cardContent),children:[i?.tableSummary&&jsx(o,{"data-id":"data-table-card-table-summary",className:c("grow-0 p-0 pb-12",l$2?.tableSummary),children:i.tableSummary}),jsx(AnimatePresence,{mode:"popLayout",initial:false,children:jsx(m$1.div,{ref:y,className:c("relative w-full",v&&p$1&&"overflow-auto"),style:v&&p$1?{maxHeight:d.y}:no,...m$2,transition:ro,children:v?V?.(_):T},a)})]}),E&&jsx(p,{"data-id":"data-table-card-pager",className:"flex min-h-44 w-full grow-0 items-center justify-between",children:jsx(Pagination,{classNames:so,disabled:M||W,size:"small",showTotal:vt,...u$1})}),i?.cardFooter&&jsx(p,{"data-id":"data-table-card-footer",className:c("grow-0 px-16 py-12",l$2?.cardFooter),children:i.cardFooter})]})}function po(t){let{tabList:n,fireOnMount:a=true,storageKey:e,onTabChange:o,onTableChange:r,onToolbarAction:s}=t,{pagination:c,tableStateStorageKey:l}=c$1(),p=k.useRef(new Set),[i]=k.useState(()=>{let d=be(n[0].id,e??l);for(let T of n)d.getState().initTab(T.id,ea(T)),p.current.add(T.id);return d}),f=k.useRef({onTabChange:o,onTableChange:r,onToolbarAction:s});f.current={onTabChange:o,onTableChange:r,onToolbarAction:s};let h=k.useRef(new Map);h.current=new Map(n.map(d=>[d.id,d]));let g=n.map(d=>d.id).join(),m=k.useRef(true);k.useEffect(()=>{if(m.current){m.current=false;return}for(let d of n)p.current.has(d.id)||(i.getState().initTab(d.id,ea(d)),p.current.add(d.id));},[i,g]);let b=n.map(d=>`${d.id}:${d.loading}:${d.syncing}:${d.exporting}:${d.disabled}`).join();k.useEffect(()=>{let{syncTabExternal:d}=i.getState();for(let T of n)d(T.id,{loading:T.loading,syncing:T.syncing,exporting:T.exporting,disabled:T.disabled});},[i,b]),k.useEffect(()=>{let d=i.getState().stateVersion;return i.subscribe(T=>{if(T.stateVersion===d)return;d=T.stateVersion;let E=T.activeTabId,P=T.tabs[E];if(!P)return;let q={pagination:P.pagination,filters:P.filters,sorter:P.sorter},Nt=T.changeReason;Nt==="tab_switch"&&f.current.onTabChange?.(E),f.current.onTableChange?.(q,Nt,E);})},[i]);let u=k.useRef(false);k.useEffect(()=>{if(u.current||(u.current=true,!a))return;let d=i.getState(),T=d.activeTabId,E=d.tabs[T];E&&f.current.onTableChange?.(E,"mount",T);},[i,a]);let R=useStore(i,d=>d.activeTabId),v=useStore(i,useShallow(d=>d.tabs[d.activeTabId]??B)),_=h.current.get(R),V=_?.type==="custom",w=V?void 0:_,Y=V?_:void 0,{columnVisibility:O,pagination:y}=v,x=w?.columns,H=Y?.filterColumns,W=k.useMemo(()=>x?x.filter(d=>!d.hidden):[],[x]),M=k.useMemo(()=>V?H??[]:_e(x),[V,H,x]),L=k.useMemo(()=>W.filter(d=>{let T=d.key??d.dataIndex;return !T||O[T]!==false}),[W,O]),$=k.useCallback(d=>{let T=i.getState(),E=T.activeTabId,P=T.tabs[E]?.filters??[],q=typeof d=="function"?d(P):d;T.setFilters(E,q);},[i]),ut=k.useCallback((d,T,E,P)=>{let q=i.getState().activeTabId;i.getState().setTableChange(q,E,P);},[i]),et=k.useCallback((d,T)=>{let E=i.getState().activeTabId;i.getState().setPagination(E,d,T);},[i]),Dt=k.useCallback(d=>{let T=i.getState(),E=T.activeTabId,P=T.tabs[E],q={pagination:P?.pagination??B.pagination,filters:P?.filters??B.filters,sorter:P?.sorter??B.sorter};d.tableState=q,f.current.onToolbarAction?.(d,E);},[i]),ht=k.useMemo(()=>({...c,current:y.current,pageSize:y.pageSize,total:_?.total,onChange:et,onShowSizeChange:et}),[c,y,_?.total,et]),St=k.useMemo(()=>({loading:v.loading,syncing:v.syncing,exporting:v.exporting,disabled:v.disabled,filters:v.filters,pagination:y,onFiltersChange:$,onPaginationChange:et}),[v,y,$,et]),vt=k.useMemo(()=>n.map(({id:d,label:T,value:E})=>({id:d,label:T,value:E})),[g]);return {store:i,activeTabId:R,tabList:vt,columns:W,filterColumns:M,tableColumns:L,tableProps:{dataSource:w?.dataSource,rowKey:w?.rowKey,size:v.tableSize,pagination:false,scroll:w?.scroll,virtual:w?.virtual,onChange:ut},paginationProps:ht,defaultFilters:v.filters,onFiltersChange:$,toolbarItems:_?.toolbarItems,onToolbarAction:Dt,isCustomTab:V,customRender:Y?.render,tabRenderCtx:St,enableTableAutoScrollSizer:w?.enableTableAutoScrollSizer??Y?.enableTableAutoScrollSizer??true}}function ea(t){return {pagination:t.defaultPagination,filters:t.defaultFilters,sorter:t.type!=="custom"?t.defaultSorter:void 0,loading:t.loading,syncing:t.syncing,exporting:t.exporting,disabled:t.disabled}}export{$e as DEFAULT_TOOLBAR_ITEMS,io as DataTable,po as useDataTable};
|
package/index.d.ts
CHANGED
|
@@ -894,13 +894,14 @@ type PopoverPresetProps = VariantProps<typeof popoverVariants> & Omit<React__def
|
|
|
894
894
|
title?: React__default.ReactNode;
|
|
895
895
|
content?: React__default.ReactNode;
|
|
896
896
|
contentClassName?: string;
|
|
897
|
+
closeableClassName?: string;
|
|
897
898
|
open?: boolean;
|
|
898
899
|
defaultOpen?: boolean;
|
|
899
900
|
closeable?: boolean;
|
|
900
901
|
onOpenChange?: (open: boolean) => void;
|
|
901
902
|
onClose?: () => void;
|
|
902
903
|
};
|
|
903
|
-
declare function PopoverPreset({ variant, className, contentClassName, side, align, arrow, unstyled, closeable, sideOffset, title, content: contentNode, children, asChild, defaultOpen, open: controlledOpen, onOpenChange: controlledOnOpenChange, onClose, ...rest }: PopoverPresetProps): react_jsx_runtime.JSX.Element;
|
|
904
|
+
declare function PopoverPreset({ variant, className, contentClassName, closeableClassName, side, align, arrow, unstyled, closeable, sideOffset, title, content: contentNode, children, asChild, defaultOpen, open: controlledOpen, onOpenChange: controlledOnOpenChange, onClose, ...rest }: PopoverPresetProps): react_jsx_runtime.JSX.Element;
|
|
904
905
|
|
|
905
906
|
type PopConfirmProps = VariantProps<typeof popoverVariants> & React__default.ComponentProps<typeof PopoverContent> & {
|
|
906
907
|
title?: React__default.ReactNode;
|
|
@@ -945,6 +946,265 @@ type InternalDrawerProps = 'open' | 'onOpenChange' | 'trigger' | 'children';
|
|
|
945
946
|
type UseDrawerOptions = Omit<DrawerProps, InternalDrawerProps>;
|
|
946
947
|
declare function useDrawer<TData = unknown>(options?: UseDrawerOptions): readonly [DrawerProps, TData | null, (record: TData) => void, () => void];
|
|
947
948
|
|
|
949
|
+
declare const fancyButtonVariants: tailwind_variants.TVReturnType<{
|
|
950
|
+
variant: {
|
|
951
|
+
neutral: {
|
|
952
|
+
root: string;
|
|
953
|
+
};
|
|
954
|
+
primary: {
|
|
955
|
+
root: string;
|
|
956
|
+
};
|
|
957
|
+
error: {
|
|
958
|
+
root: string;
|
|
959
|
+
};
|
|
960
|
+
basic: {
|
|
961
|
+
root: string[];
|
|
962
|
+
};
|
|
963
|
+
};
|
|
964
|
+
size: {
|
|
965
|
+
large: {
|
|
966
|
+
root: string;
|
|
967
|
+
contentIcon: string;
|
|
968
|
+
};
|
|
969
|
+
medium: {
|
|
970
|
+
root: string;
|
|
971
|
+
contentIcon: string;
|
|
972
|
+
};
|
|
973
|
+
small: {
|
|
974
|
+
root: string;
|
|
975
|
+
contentIcon: string;
|
|
976
|
+
};
|
|
977
|
+
xsmall: {
|
|
978
|
+
root: string;
|
|
979
|
+
contentIcon: string;
|
|
980
|
+
};
|
|
981
|
+
};
|
|
982
|
+
loading: {
|
|
983
|
+
true: {
|
|
984
|
+
root: string;
|
|
985
|
+
};
|
|
986
|
+
};
|
|
987
|
+
}, {
|
|
988
|
+
root: string[];
|
|
989
|
+
contentIcon: string;
|
|
990
|
+
overlay: string;
|
|
991
|
+
}, undefined, {
|
|
992
|
+
variant: {
|
|
993
|
+
neutral: {
|
|
994
|
+
root: string;
|
|
995
|
+
};
|
|
996
|
+
primary: {
|
|
997
|
+
root: string;
|
|
998
|
+
};
|
|
999
|
+
error: {
|
|
1000
|
+
root: string;
|
|
1001
|
+
};
|
|
1002
|
+
basic: {
|
|
1003
|
+
root: string[];
|
|
1004
|
+
};
|
|
1005
|
+
};
|
|
1006
|
+
size: {
|
|
1007
|
+
large: {
|
|
1008
|
+
root: string;
|
|
1009
|
+
contentIcon: string;
|
|
1010
|
+
};
|
|
1011
|
+
medium: {
|
|
1012
|
+
root: string;
|
|
1013
|
+
contentIcon: string;
|
|
1014
|
+
};
|
|
1015
|
+
small: {
|
|
1016
|
+
root: string;
|
|
1017
|
+
contentIcon: string;
|
|
1018
|
+
};
|
|
1019
|
+
xsmall: {
|
|
1020
|
+
root: string;
|
|
1021
|
+
contentIcon: string;
|
|
1022
|
+
};
|
|
1023
|
+
};
|
|
1024
|
+
loading: {
|
|
1025
|
+
true: {
|
|
1026
|
+
root: string;
|
|
1027
|
+
};
|
|
1028
|
+
};
|
|
1029
|
+
}, {
|
|
1030
|
+
root: string[];
|
|
1031
|
+
contentIcon: string;
|
|
1032
|
+
overlay: string;
|
|
1033
|
+
}, tailwind_variants.TVReturnType<{
|
|
1034
|
+
variant: {
|
|
1035
|
+
neutral: {
|
|
1036
|
+
root: string;
|
|
1037
|
+
};
|
|
1038
|
+
primary: {
|
|
1039
|
+
root: string;
|
|
1040
|
+
};
|
|
1041
|
+
error: {
|
|
1042
|
+
root: string;
|
|
1043
|
+
};
|
|
1044
|
+
basic: {
|
|
1045
|
+
root: string[];
|
|
1046
|
+
};
|
|
1047
|
+
};
|
|
1048
|
+
size: {
|
|
1049
|
+
large: {
|
|
1050
|
+
root: string;
|
|
1051
|
+
contentIcon: string;
|
|
1052
|
+
};
|
|
1053
|
+
medium: {
|
|
1054
|
+
root: string;
|
|
1055
|
+
contentIcon: string;
|
|
1056
|
+
};
|
|
1057
|
+
small: {
|
|
1058
|
+
root: string;
|
|
1059
|
+
contentIcon: string;
|
|
1060
|
+
};
|
|
1061
|
+
xsmall: {
|
|
1062
|
+
root: string;
|
|
1063
|
+
contentIcon: string;
|
|
1064
|
+
};
|
|
1065
|
+
};
|
|
1066
|
+
loading: {
|
|
1067
|
+
true: {
|
|
1068
|
+
root: string;
|
|
1069
|
+
};
|
|
1070
|
+
};
|
|
1071
|
+
}, {
|
|
1072
|
+
root: string[];
|
|
1073
|
+
contentIcon: string;
|
|
1074
|
+
overlay: string;
|
|
1075
|
+
}, undefined, unknown, unknown, undefined>>;
|
|
1076
|
+
declare const FancyButtonRoot: React$1.ForwardRefExoticComponent<VariantProps<tailwind_variants.TVReturnType<{
|
|
1077
|
+
variant: {
|
|
1078
|
+
neutral: {
|
|
1079
|
+
root: string;
|
|
1080
|
+
};
|
|
1081
|
+
primary: {
|
|
1082
|
+
root: string;
|
|
1083
|
+
};
|
|
1084
|
+
error: {
|
|
1085
|
+
root: string;
|
|
1086
|
+
};
|
|
1087
|
+
basic: {
|
|
1088
|
+
root: string[];
|
|
1089
|
+
};
|
|
1090
|
+
};
|
|
1091
|
+
size: {
|
|
1092
|
+
large: {
|
|
1093
|
+
root: string;
|
|
1094
|
+
contentIcon: string;
|
|
1095
|
+
};
|
|
1096
|
+
medium: {
|
|
1097
|
+
root: string;
|
|
1098
|
+
contentIcon: string;
|
|
1099
|
+
};
|
|
1100
|
+
small: {
|
|
1101
|
+
root: string;
|
|
1102
|
+
contentIcon: string;
|
|
1103
|
+
};
|
|
1104
|
+
xsmall: {
|
|
1105
|
+
root: string;
|
|
1106
|
+
contentIcon: string;
|
|
1107
|
+
};
|
|
1108
|
+
};
|
|
1109
|
+
loading: {
|
|
1110
|
+
true: {
|
|
1111
|
+
root: string;
|
|
1112
|
+
};
|
|
1113
|
+
};
|
|
1114
|
+
}, {
|
|
1115
|
+
root: string[];
|
|
1116
|
+
contentIcon: string;
|
|
1117
|
+
overlay: string;
|
|
1118
|
+
}, undefined, {
|
|
1119
|
+
variant: {
|
|
1120
|
+
neutral: {
|
|
1121
|
+
root: string;
|
|
1122
|
+
};
|
|
1123
|
+
primary: {
|
|
1124
|
+
root: string;
|
|
1125
|
+
};
|
|
1126
|
+
error: {
|
|
1127
|
+
root: string;
|
|
1128
|
+
};
|
|
1129
|
+
basic: {
|
|
1130
|
+
root: string[];
|
|
1131
|
+
};
|
|
1132
|
+
};
|
|
1133
|
+
size: {
|
|
1134
|
+
large: {
|
|
1135
|
+
root: string;
|
|
1136
|
+
contentIcon: string;
|
|
1137
|
+
};
|
|
1138
|
+
medium: {
|
|
1139
|
+
root: string;
|
|
1140
|
+
contentIcon: string;
|
|
1141
|
+
};
|
|
1142
|
+
small: {
|
|
1143
|
+
root: string;
|
|
1144
|
+
contentIcon: string;
|
|
1145
|
+
};
|
|
1146
|
+
xsmall: {
|
|
1147
|
+
root: string;
|
|
1148
|
+
contentIcon: string;
|
|
1149
|
+
};
|
|
1150
|
+
};
|
|
1151
|
+
loading: {
|
|
1152
|
+
true: {
|
|
1153
|
+
root: string;
|
|
1154
|
+
};
|
|
1155
|
+
};
|
|
1156
|
+
}, {
|
|
1157
|
+
root: string[];
|
|
1158
|
+
contentIcon: string;
|
|
1159
|
+
overlay: string;
|
|
1160
|
+
}, tailwind_variants.TVReturnType<{
|
|
1161
|
+
variant: {
|
|
1162
|
+
neutral: {
|
|
1163
|
+
root: string;
|
|
1164
|
+
};
|
|
1165
|
+
primary: {
|
|
1166
|
+
root: string;
|
|
1167
|
+
};
|
|
1168
|
+
error: {
|
|
1169
|
+
root: string;
|
|
1170
|
+
};
|
|
1171
|
+
basic: {
|
|
1172
|
+
root: string[];
|
|
1173
|
+
};
|
|
1174
|
+
};
|
|
1175
|
+
size: {
|
|
1176
|
+
large: {
|
|
1177
|
+
root: string;
|
|
1178
|
+
contentIcon: string;
|
|
1179
|
+
};
|
|
1180
|
+
medium: {
|
|
1181
|
+
root: string;
|
|
1182
|
+
contentIcon: string;
|
|
1183
|
+
};
|
|
1184
|
+
small: {
|
|
1185
|
+
root: string;
|
|
1186
|
+
contentIcon: string;
|
|
1187
|
+
};
|
|
1188
|
+
xsmall: {
|
|
1189
|
+
root: string;
|
|
1190
|
+
contentIcon: string;
|
|
1191
|
+
};
|
|
1192
|
+
};
|
|
1193
|
+
loading: {
|
|
1194
|
+
true: {
|
|
1195
|
+
root: string;
|
|
1196
|
+
};
|
|
1197
|
+
};
|
|
1198
|
+
}, {
|
|
1199
|
+
root: string[];
|
|
1200
|
+
contentIcon: string;
|
|
1201
|
+
overlay: string;
|
|
1202
|
+
}, undefined, unknown, unknown, undefined>>> & Omit<React$1.ButtonHTMLAttributes<HTMLButtonElement>, "prefix"> & {
|
|
1203
|
+
asChild?: boolean;
|
|
1204
|
+
startContent?: React$1.ReactNode;
|
|
1205
|
+
endContent?: React$1.ReactNode;
|
|
1206
|
+
} & React$1.RefAttributes<HTMLButtonElement>>;
|
|
1207
|
+
|
|
948
1208
|
type CopyableTextProps = Omit<ButtonSharedProps, 'loading'> & {
|
|
949
1209
|
className?: string;
|
|
950
1210
|
content: string;
|
|
@@ -962,13 +1222,19 @@ declare const DropdownMenuContent: React__default.FC<React__default.ComponentPro
|
|
|
962
1222
|
type DropdownMenuContentProps = React__default.ComponentProps<typeof DropdownMenuContent>;
|
|
963
1223
|
type DropdownMenuPrimitiveProps = React__default.ComponentProps<typeof DropdownMenu$1>;
|
|
964
1224
|
type SetValue<T> = React__default.Dispatch<React__default.SetStateAction<T>> | ((data: T) => void);
|
|
1225
|
+
interface SeparatorItem {
|
|
1226
|
+
key?: React__default.Key;
|
|
1227
|
+
/** 是否显示分割线 */
|
|
1228
|
+
separator: true;
|
|
1229
|
+
/** 分割线自定义样式,优先级高于顶层 separatorClassName */
|
|
1230
|
+
separatorClassName?: string;
|
|
1231
|
+
}
|
|
965
1232
|
interface BaseMenuItem {
|
|
966
1233
|
key?: React__default.Key;
|
|
967
1234
|
label?: React__default.ReactNode;
|
|
968
1235
|
icon?: IconType;
|
|
969
1236
|
to?: string;
|
|
970
|
-
|
|
971
|
-
separator?: boolean;
|
|
1237
|
+
separator?: false;
|
|
972
1238
|
className?: string;
|
|
973
1239
|
/** extra: 快捷键 */
|
|
974
1240
|
shortcut?: React__default.ReactNode;
|
|
@@ -1006,7 +1272,7 @@ interface NormalMenuItem extends BaseMenuItem {
|
|
|
1006
1272
|
value?: never;
|
|
1007
1273
|
onValueChange?: never;
|
|
1008
1274
|
}
|
|
1009
|
-
type DropdownMenuItemProps = RadioMenuItem | CheckboxMenuItem | SwitchMenuItem | NormalMenuItem;
|
|
1275
|
+
type DropdownMenuItemProps = SeparatorItem | RadioMenuItem | CheckboxMenuItem | SwitchMenuItem | NormalMenuItem;
|
|
1010
1276
|
interface MenuPropBase {
|
|
1011
1277
|
menuLabel?: React__default.ReactNode;
|
|
1012
1278
|
header?: React__default.ReactNode;
|
|
@@ -1019,6 +1285,8 @@ interface MenuPropBase {
|
|
|
1019
1285
|
onAction?: (item: DropdownMenuItemProps, event: React__default.MouseEvent<HTMLDivElement>) => void;
|
|
1020
1286
|
}
|
|
1021
1287
|
interface DropdownMenuProps extends DropdownMenuPrimitiveProps, DropdownMenuContentProps, MenuPropBase {
|
|
1288
|
+
/** 内置分割线(menuLabel/header 后)的自定义样式 */
|
|
1289
|
+
separatorClassName?: string;
|
|
1022
1290
|
}
|
|
1023
1291
|
declare const DropdownMenu: React__default.FC<DropdownMenuProps>;
|
|
1024
1292
|
|
|
@@ -1737,4 +2005,4 @@ declare const useFlag: (initial?: boolean) => [boolean, NoneToVoidFunction, None
|
|
|
1737
2005
|
|
|
1738
2006
|
declare const useToggle: (initial?: boolean) => [boolean, NoneToVoidFunction];
|
|
1739
2007
|
|
|
1740
|
-
export { AnimationCard, type AnimationCardProps, type AnimationName$1 as AnimationName, index as Avatar, Badge, type BadgeProps, ButtonSharedProps, card as Card, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorPanel, command as Command, CopyableText, type CopyableTextProps, type DebouncedFunction, Drawer, type DrawerProps, DropdownMenu, type DropdownMenuItemProps, type DropdownMenuProps, type DropdownMenuVariants, HoverCard, type MenuPropBase, PopConfirm, type PopConfirmProps, popover as Popover, PopoverPreset, type PopoverPresetProps, type Scheduler, ScrollArea, Skeleton, Spinner, StateSwitcher, Swap, Switch, tabs as Tabs, type ThrottledFunction, Tooltip, TooltipArrow, TooltipProvider, TooltipRoot, TooltipTrigger, UIMorphingModal, type UIMorphingModalContentAnimationState, type UIMorphingModalProps, UIProvider, UIScreen, type UIScreenControls, type UIScreenNavigateFn, type UIScreenNavigateOptions, type UIScreenProps, type UIScreenValue, type UIScreenViewProps, UIViewTransition, type UIViewTransitionProps, type UseDrawerOptions, cn, compact, debounce, dropdownMenuStyles, findOption, formatCurrency, formatIntegerCompact, formatNumber, getFirstLetters, mergeRefs, omit, pick, throttle, tooltipVariants, tv, twMergeConfig, unique, useDisableContentMenu, useDrawer, useFlag, useForceUpdate, usePrevious, useToggle, useUIScreen };
|
|
2008
|
+
export { AnimationCard, type AnimationCardProps, type AnimationName$1 as AnimationName, index as Avatar, Badge, type BadgeProps, ButtonSharedProps, card as Card, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorPanel, command as Command, CopyableText, type CopyableTextProps, type DebouncedFunction, Drawer, type DrawerProps, DropdownMenu, type DropdownMenuItemProps, type DropdownMenuProps, type DropdownMenuVariants, FancyButtonRoot as FancyButton, HoverCard, type MenuPropBase, PopConfirm, type PopConfirmProps, popover as Popover, PopoverPreset, type PopoverPresetProps, type Scheduler, ScrollArea, Skeleton, Spinner, StateSwitcher, Swap, Switch, tabs as Tabs, type ThrottledFunction, Tooltip, TooltipArrow, TooltipProvider, TooltipRoot, TooltipTrigger, UIMorphingModal, type UIMorphingModalContentAnimationState, type UIMorphingModalProps, UIProvider, UIScreen, type UIScreenControls, type UIScreenNavigateFn, type UIScreenNavigateOptions, type UIScreenProps, type UIScreenValue, type UIScreenViewProps, UIViewTransition, type UIViewTransitionProps, type UseDrawerOptions, cn, compact, debounce, dropdownMenuStyles, fancyButtonVariants, findOption, formatCurrency, formatIntegerCompact, formatNumber, getFirstLetters, mergeRefs, omit, pick, throttle, tooltipVariants, tv, twMergeConfig, unique, useDisableContentMenu, useDrawer, useFlag, useForceUpdate, usePrevious, useToggle, useUIScreen };
|