@jerry-fd/ui 0.4.5 → 0.4.7

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/data-table.js CHANGED
@@ -1,2 +1,2 @@
1
- import {j,k as k$1,l as l$1,e,b as b$1,c as c$1,m as m$2,f,g,h,o as o$1,d}from'./chunk-GL6SS2S2.js';import {O as O$1,V,k,l,p,s,c,r,t,q,U,n,T,m as m$1,o,M,i,D as D$1,E,v,F,w,x,z,y,A,B}from'./chunk-T44X4HCD.js';export{P as DATE_FORMATS,R as formatDateRange,Q as getDateDisplayFormat,S as getPickerInputFormat,O as useTransition}from'./chunk-T44X4HCD.js';import {b}from'./chunk-M7AD2PUT.js';import {Table,Pagination,Checkbox}from'antd';import {AnimatePresence,m}from'motion/react';import P,{useState,useCallback}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,RefreshCw,FolderUp}from'lucide-react';import {Progress,Portal}from'radix-ui';function me(e){P.useEffect(e,[]);}var da={small:"min-h-22",medium:"min-h-26",middle:"min-h-30",large:"min-h-38"};function mt({count:e,size:n="small",classNames:a,columns:t,scroll:o}){let r=P.useCallback(()=>pa(t,da[n]),[t,n]);return jsx(Table,{rowKey:"id",size:n,rowHoverable:false,classNames:a,dataSource:Array.from({length:e},(s,c)=>({id:c})),pagination:false,scroll:o,children:t.map((s,c)=>jsx(Table.Column,{dataIndex:s.dataIndex,width:s.width,title:jsx(m$2,{className:"h-22 w-full animate-none bg-bg-antd"}),render:r,onCell:()=>c===0?{colSpan:t.length}:{colSpan:0}},s.key||s.dataIndex))})}var ut=16;function pa(e,n){let a=e.length,o=`calc((100% - ${ut*(a-1)}px) / ${a})`,r=e.some(s=>s.skeleton==="avatar"||s.skeleton==="double-line");return jsx("div",{className:c("flex items-center",n),style:{gap:`${ut}px`},children:e.map((s,c)=>{let l=s?.key??c;return jsx("div",{style:{width:o},children:ua(s.skeleton,r)},l)})})}function ua(e,n){switch(e){case "avatar":return jsx(ba,{});case "double-line":return jsx(fa,{});case "group":return jsx(Ta,{needAlignment:n});default:return jsx(ma,{needAlignment:n})}}function ma({needAlignment:e}){return jsxs("div",{className:"grid h-full gap-4",children:[e&&jsx("div",{className:"h-12 w-1"}),jsx(m$2,{className:"h-10"})]})}function ba(){return jsxs("div",{className:"flex w-full items-center gap-6",children:[jsx(m$2,{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(m$2,{className:"h-12 w-[60%]"}),jsx(m$2,{className:"h-10"})]})]})}function fa(){return jsxs("div",{className:"grid h-full w-full gap-4 py-4",children:[jsx(m$2,{className:"h-12 w-[60%]"}),jsx(m$2,{className:"h-10"})]})}function Ta({needAlignment:e}){return jsxs("div",{className:"grid h-full gap-4",children:[e&&jsx("div",{className:"h-12 w-1"}),jsxs("div",{className:"flex w-full items-center gap-4",children:[jsx(m$2,{className:"h-10 w-[20%]"}),jsx(m$2,{className:"h-10 w-[20%]"}),jsx(m$2,{className:"h-10 w-[20%]"}),jsx(m$2,{className:"h-10 w-[20%]"}),jsx(m$2,{className:"h-10 w-[20%]"})]})]})}var O={pagination:{current:1,pageSize:10},filters:[],sorter:{},extra:{action:"paginate",currentDataSource:[]},tableSize:"middle",columnVisibility:{},exporting:false,loading:false,syncing:false,disabled:false},Q=(e,n)=>(e.tabs[n]||(e.tabs[n]={...O}),e.tabs[n]),Da="APP_UI_TABLE_CONFIG",ha=(e,n)=>({activeTabId:n,tabs:{},stateVersion:0,changeReason:"mount",setActiveTab:a=>e(t=>{t.activeTabId=a,Q(t,a),t.changeReason="tab_switch",t.stateVersion++;}),syncTabExternal:(a,t)=>e(o=>{let r=o.tabs[a];r&&(r.loading=t.loading,r.syncing=t.syncing,r.exporting=t.exporting,r.disabled=t.disabled);}),initTab:(a,t)=>e(o=>{let r=o.tabs[a];r?(t.pagination&&(r.pagination=t.pagination),t.filters&&(r.filters=t.filters),t.sorter&&(r.sorter=t.sorter),r.loading=t.loading,r.syncing=t.syncing,r.exporting=t.exporting,r.disabled=t.disabled):o.tabs[a]={...O,...t};}),setFilters:(a,t)=>e(o=>{let r=Q(o,a);r.filters=t,r.pagination.current=1,o.changeReason="filter",o.stateVersion++;}),setPagination:(a,t,o)=>e(r=>{let s=Q(r,a);s.pagination={current:t,pageSize:o},r.changeReason="paginate",r.stateVersion++;}),setTableChange:(a,t,o)=>e(r=>{let s=Q(r,a);s.sorter=t,s.extra=o,r.changeReason="sort",r.stateVersion++;}),setTableSize:a=>e(t=>{Q(t,t.activeTabId).tableSize=a;}),setColumnVisibility:(a,t)=>e(o=>{Q(o,o.activeTabId).columnVisibility[a]=t;}),setColumnVisibilityState:a=>e(t=>{let o=Q(t,t.activeTabId);o.columnVisibility=typeof a=="function"?a(o.columnVisibility):a;}),toggleColumnVisibility:a=>e(t=>{let o=Q(t,t.activeTabId);o.columnVisibility[a]=!o.columnVisibility[a];}),resetTabUIState:a=>e(t=>{let o=a??t.activeTabId,r=t.tabs[o];r&&(r.tableSize=O.tableSize,r.columnVisibility={});})}),bt=(e,n=Da)=>createStore()(persist(immer(a=>ha(a,e)),{name:n,partialize:a=>({tableUIStatus:Object.fromEntries(Object.entries(a.tabs).map(([t,o])=>[t,{tableSize:o.tableSize,columnVisibility:o.columnVisibility}]))}),merge:(a,t)=>{let o=a,r={...t};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]={...O,tableSize:c.tableSize??O.tableSize,columnVisibility:c.columnVisibility??{}};}return r}}));var Tt=P.createContext(null),gt=["id","action","actions"],yt=P.createContext({alwaysShowingColumns:gt});function Ct({store:e,tabList:n,alwaysShowingColumns:a,children:t}){let o=P.useMemo(()=>({tabList:n,alwaysShowingColumns:a??gt}),[n,a]);return jsx(yt.Provider,{value:o,children:jsx(Tt.Provider,{value:e,children:t})})}function fe(){let e=P.useContext(Tt);if(!e)throw new Error("useDataTableStoreApi must be used within DataTableProvider");return e}function J(e){let n=fe();return useStore(n,e)}function Dt(){let e=fe();return useStore(e,useShallow(n=>n.tabs[n.activeTabId]??O))}function ht(){return J(e=>e.tabs[e.activeTabId]?.tableSize??O.tableSize)}function St(){let e=fe();return useStore(e,useShallow(n=>n.tabs[n.activeTabId]?.columnVisibility??O.columnVisibility))}function vt(){let e=fe();return useStore(e,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 re(){return P.useContext(yt)}function xt(e){let{tabList:n$1}=re(),a=J(o=>o.activeTabId),t=J(o=>o.setActiveTab);return !n$1||!n$1?.length||n$1.length===1?null:jsx(n,{...e,children:jsx(f,{className:c("w-full"),value:a,onValueChange:t,children:jsx(g,{variant:"line",size:"medium",className:"w-full px-12",children:n$1.map(o=>jsx(h,{value:o.value,className:"py-8",children:o.label},o.id))})})})}var Z=create((e,n)=>({activeTableId:"",tasks:{},updateTableId:a=>e(()=>({activeTableId:a})),addTask:a=>e(t=>{let o=t.activeTableId;return {tasks:{...t.tasks,[o]:[...t.tasks[o]??[],a]}}}),removeTask:a=>e(t=>{let o=t.activeTableId;return {tasks:{...t.tasks,[o]:(t.tasks[o]??[]).filter(r=>r.localTaskId!==a)}}}),updateTask:(a,t)=>e(o=>{let r=o.activeTableId;return {tasks:{...o.tasks,[r]:(o.tasks[r]??[]).map(s=>s.localTaskId===a?{...s,...t}:s)}}}),getTasks:()=>{let a=n();return a.tasks[a.activeTableId]??[]}})),ge=()=>Z(useShallow(e=>e.tasks[e.activeTableId]??[]));function Rt({className:e,...n}){let a=O$1(),[t,o]=P.useState(false),r=J(l=>l.setTableSize),s=ht(),c$1=P.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(o$1,{side:"bottom",align:"end",collisionPadding:6,items:c$1,className:"min-w-100",open:t,onOpenChange:o,children:jsxs(M,{mode:"stroke",variant:"neutral",size:"small",className:c("gap-0",e,t&&"active"),...n,children:[jsx(i,{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 Pt(e,n){return new Promise((a,t)=>{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 t(new D("Aborted"));let m=new XMLHttpRequest,b=null,u=null;m.open(s.toUpperCase(),e,true),m.timeout=c||0,m.withCredentials=r.withCredentials===true,m.onloadend=function(){if(!m)return;let x=m.status,N=m.getResponseHeader("Content-Type")??"",z=l&&l!=="text"&&l!=="json",k=z?m.response:m.responseText,G=m.getAllResponseHeaders().split(`\r
2
- `).reduce((y,I)=>{let V=I.indexOf(": ");return V!==-1&&(y[I.slice(0,V).toLowerCase()]=I.slice(V+2)),y},{});function L(y){if(b){b.cancel();let I=y instanceof Blob?y.size:y instanceof ArrayBuffer?y.byteLength:typeof y=="string"?y.length:0;r.onDownloadProgress?.({loaded:I,total:I,lengthComputable:true,percentage:100});}r.withResponseHeaders?a({data:y,status:x,headers:G}):a(y);}if(x>=200&&x<300)if(l==="json"){let y=k;try{let I=y!==""?JSON.parse(y):null;if(!(f?.(I)??!0))throw new D("invalid response");L(I);}catch(I){t(I);}}else f?.(k)??true?L(k):t(new D("invalid response"));else {let y=null;if(!z)if(N.includes("application/json"))try{y=k!==""?JSON.parse(k):null;}catch{}else y=k||null;t(new D("Xhr Request failed",x,y));}g(),m=null;},m.onabort=function(){m&&(b?.cancel(),u?.cancel(),t(new D(D.ECONNABORTED)),g(),m=null);},m.onerror=function(){b?.cancel(),u?.cancel(),t(new D("Network Error",D.ERR_NETWORK)),g(),m=null;},m.ontimeout=function(){b?.cancel(),u?.cancel(),t(new D("Timeout exceeded",D.ETIMEDOUT)),g(),m=null;},typeof p=="object"&&Object.keys(p).forEach(E=>{m?.setRequestHeader(E,p[E]);}),i==null&&m.setRequestHeader("Content-Type",""),l&&l!=="json"&&(m.responseType=l),r.onDownloadProgress&&(b=Et(r.onDownloadProgress),m.addEventListener("progress",b)),r.onUploadProgress&&m.upload&&(u=Et(r.onUploadProgress),m.upload.addEventListener("progress",u),m.upload.addEventListener("loadend",E=>{u?.cancel(),r.onUploadProgress?.({loaded:E.loaded,total:E.loaded,lengthComputable:true,percentage:100});})),r.signal&&(h=()=>{m&&(t(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 Et(e){return d(a=>{e({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,t,o){super(a);b(this,"message");b(this,"code");b(this,"data");this.name="RequestError",this.message=a,t&&(this.code=t),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 wt=(e=false)=>{let[n,a]=useState(e),t=useCallback(()=>{a(true);},[]),o=useCallback(()=>{a(false);},[]);return [n,t,o]};var At=150,ye={ease:[.26,.08,.25,1],duration:.25},wa={initial:{opacity:0,scale:.95},visible:{opacity:1,scale:1,transition:{...ye,when:"beforeChildren"}},hidden:{opacity:0,scale:1.05,transition:{...ye,when:"afterChildren"}}},Aa={initial:{y:10,opacity:0},visible:{y:0,opacity:1,transition:ye},hidden:{y:-10,opacity:0,transition:ye}};function _t({containerRef:e,accept:n,acceptHint:a,onFileSelect:t}){let o=P.useRef(null),r=P.useRef(null),[s,c,l]=wt(false),p=P.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();},At));},[l]),i=P.useCallback(()=>{o.current&&window.clearTimeout(o.current);},[]),f=P.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=window.setTimeout(()=>{l();},At);},[l]),h=P.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(()=>{t?.(b);},600));});return me(()=>{if(!e?.current)return;let g=e.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:e?.current,asChild:true,children:jsx(AnimatePresence,{children:s&&jsx(m.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:wa,children:jsx(Na,{accept:n,acceptHint:a,onFileSelect:h})})})})}function Na({accept:e,acceptHint:n,onFileSelect:a}){let t=O$1(),[o,r]=P.useState(false),s=P.useCallback(p=>{if(!e||!p.dataTransfer.items.length){r(false);return}let i=[...p.dataTransfer.items].every(f=>_a(f.type,e));r(!i);},[e]),c$1=P.useCallback(p=>{let{relatedTarget:i,currentTarget:f}=p;i&&f.contains(i)&&p.stopPropagation();},[]),l=P.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.div,{className:c("pointer-events-none flex flex-col items-center gap-4",o?"text-error-base":"text-primary-base"),variants:Aa,children:[jsxs("div",{className:"flex flex-col items-center",children:[jsx(FolderUp,{className:"size-48"}),jsx("strong",{className:"text-title-h6",children:t(o?"file_type_rejected":"drop_file_hint")})]}),jsx("span",{className:"text-text-soft",children:n?t("file_support_list",{formats:n}):t("file_support_all")})]})]})}function _a(e,n,a=""){if(!n||n==="*")return true;if(!e&&!a)return false;let t=n.split(",").map(s=>s.trim().toLowerCase()),o=(e||"").toLowerCase(),r=(a||"").toLowerCase();return t.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 Lt(e=""){return `${e}-${Date.now().toString(36)+Math.random().toString(36).slice(2)}`}function Ot(e){return e?e.filter(n=>n.filter!==void 0).map(n=>{let{filter:a,dataIndex:t,title:o}=n,r=Array.isArray(t)?t.join("."):t,s=a.displayName??(typeof o=="string"?o:r);return {...a,columnId:r,displayName:s}}):[]}function Bt(e){return e.key?String(e.key):Array.isArray(e.dataIndex)?e.dataIndex.join("."):String(e.dataIndex)}function La(e){return typeof e=="string"&&e.length>0}function Mt(e){return [Array.isArray(e.dataIndex)?e.dataIndex.join(" "):typeof e.dataIndex=="string"?e.dataIndex:null,typeof e.title=="string"?e.title:null,e.key!==null?String(e.key):null].filter(La)}function Ft(e,n=22){if(!e)return "";if(e.length<=n)return e;let a=Math.floor(n/2.5),t=e.lastIndexOf("."),o,r;if(t>0?(o=e.substring(0,t),r=e.substring(t)):(o=e,r=""),o.length<=a*2)return e;let s=o.substring(0,a),c=o.substring(o.length-a);return `${s}\u2026${c}${r}`}function zt(e,n){return {type:"import",localTaskId:Lt(n?`import-file-${n}`:"import-file"),status:"pending",progress:0,file:e}}function Ht({tooltip:e,btnProps:n,disabled:a,loading:t,containerRef:o,accept:r,acceptHint:s,requestConfig:c,onBeforeUpload:l}){let p=O$1(),i$1=P.useId(),f=Z(b=>b.addTask),h=Z(b=>b.updateTask),g=a||t,m=P.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,E)=>{let x=new AbortController,N={...zt(u,E),abortController:x};if(f(N),!c)throw Error("requestConfig is required.");let{url:z,method:k="POST",fieldName:G="file",body:L,onSuccess:y,onFailed:I,onUploadProgress:V,...W}=c,B=new FormData;B.append(G,u),L instanceof FormData?L.forEach((_,$)=>B.append($,_)):L&&Object.keys(L).forEach(_=>{B.append(_,L[_]);}),Pt(z,{...W,onUploadProgress:_=>{V?.(_),h(N.localTaskId,{status:"importing",progress:_.percentage??0});},method:k,body:B,signal:x.signal}).then(_=>{y?.(_),h(N.localTaskId,{status:"done"});}).catch(_=>{I?.(_),h(N.localTaskId,{status:"failed"});});});},[c,l,f,h]);return jsxs(Fragment,{children:[jsx(_t,{containerRef:o,onFileSelect:m,accept:r,acceptHint:s}),jsx("input",{type:"file",id:i$1,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,{content:e??p("import_tooltip"),children:jsx("label",{htmlFor:i$1,className:"m-0 inline-flex cursor-pointer p-0 leading-none",children:jsx(M,{variant:"neutral",mode:"stroke",loading:t,startContent:jsx(Upload,{}),disabled:g,className:"pointer-events-none",...n,children:p("data_import")})})})]})}function $t({disabled:e,columns:n}){let a=O$1(),{alwaysShowingColumns:t}=re(),[o,r]=P.useState(false),s=St(),c$1=J(p=>p.setColumnVisibilityState),l=P.useCallback((p,i)=>{c$1(f=>({...f,[p]:i}));},[c$1]);return jsxs(D$1,{open:o,onOpenChange:r,children:[jsx(E,{asChild:true,children:jsx(M,{mode:"stroke",variant:"neutral",size:"small",className:c(o&&"active","relative gap-0"),disabled:e,startContent:jsx(v,{}),children:jsx(i,{content:a("column_set"),children:jsx("div",{className:"absolute inset-0"})})})}),jsx(F,{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=Bt(p),f=s[i]!==false,h=typeof p.title=="string"&&p.title?.trim()==="",g=h?p.key:p.title;return jsxs(B,{keywords:Mt(p),onSelect:()=>l(i,!f),className:"group flex items-center gap-6",value:i,disabled:t?.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 Kt=["data_refresh","size_setting","column_setting","filter_btn"];function Ua({btnProps:e,disabled:n,loading:a,onAction:t}){let o=O$1();return jsx(M,{variant:"primary",startContent:jsx(Download,{}),loading:a,disabled:n||a,onClick:()=>t({action:"data_export"}),...e,children:o("data_export")})}var $a={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}},Xa={ease:[.26,.08,.25,1],duration:.25};function Wt({containerRef:e,columns:n,filter:a,items:t=Kt,className:o,onAction:r,...s}){let{loading:c$1,syncing:l,exporting:p,disabled:i}=Dt(),f=P.useMemo(()=>t.map(u=>Wa(u)),[t]),h=P.useMemo(()=>f.filter(u=>!u.hidden),[f]),g=P.useCallback(u=>{r?.(u);},[r]),m$1=P.useMemo(()=>({disabled:i,loading:c$1,syncing:l,exporting:p,columns:n,onAction:g}),[i,c$1,p,l,n,g]),b=u=>{let E={btnProps:u.btnProps,tooltip:u.tooltip,disabled:i||l||c$1,loading:c$1,onAction:g};switch(u.type){case "data_refresh":return jsx(Ka,{...E,syncing:l});case "size_setting":return jsx(Rt,{...u.btnProps});case "column_setting":return jsx($t,{...u.btnProps,columns:n});case "data_export":return jsx(Ua,{...E,loading:p});case "data_import":return jsx(Ht,{...E,loading:p,containerRef:e,requestConfig:u.requestConfig,onBeforeUpload:u.onBeforeUpload,acceptHint:u.acceptHint,accept:u.accept});case "custom":return u.render?.(m$1);case "filter_btn":return a;default:return null}};return jsx(m.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.div,{layout:true,variants:$a,initial:"initial",animate:"animate",exit:"exit",className:"leading-none",transition:Xa,children:b(u)},u.key))})})}function Ka({btnProps:e,tooltip:n,disabled:a,loading:t,syncing:o,onAction:r}){let s=O$1(),c=n??s("refresh");return jsx(i,{content:c,children:jsx(M,{mode:"stroke",variant:"neutral",startContent:jsx(RefreshCw,{}),loading:o||t,disabled:a||t||o,className:"gap-0",onClick:()=>r({action:"data_refresh"}),...e})})}function Wa(e){return typeof e=="string"?{type:e,key:e}:e.type==="custom"?{type:"custom",key:e.key,hidden:e.hidden,render:e.render}:e.type==="data_import"?{type:"data_import",key:e.key??e.type,hidden:e.hidden,btnProps:e.btnProps,tooltip:e.tooltip,accept:e.accept,acceptHint:e.acceptHint,requestConfig:e.requestConfig,onBeforeUpload:e.onBeforeUpload}:{type:e.type,key:e.key??e.type,hidden:e.hidden,btnProps:e.btnProps,tooltip:e.tooltip}}function Gt({className:e,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",e),...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 Yt({onAction:e,...n}){let a=ge();return jsx(m.div,{"data-slot":"data-table-taskbar",className:"w-fit items-center justify-center bg-bg-white select-none",...n,children:a.map(t=>t.type==="import"?jsx(Ga,{...t,onSuccess:()=>{e?.({action:"import_done"});}},t.localTaskId):jsx(Ya,{...t},t.localTaskId))})}function Ga(e){let n=O$1(),a=Z(s=>s.removeTask),t=e.status==="failed",o=e.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":t?"text-error-base":"text-text-strong"),children:[n(t?"import_failed":o?"import_done":e.status)," ",Ft(e.file.name)]}),jsxs("span",{className:"min-w-34 shrink-0 text-right text-sm text-text-sub",children:[e.progress,"%"]}),jsx(M,{variant:"neutral",mode:"ghost",size:"xsmall",className:"min-w-28 rounded-full px-0",onClick:()=>{e.abortController?.signal.aborted===false&&!t&&!o&&e.abortController?.abort("User canceled"),a(e.localTaskId),o&&e.onSuccess?.(e.localTaskId);},startContent:o?jsx(Check,{className:"text-success-base"}):jsx(Qa,{})})]})}function Ya(e){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:e.progress})]}),jsx(Gt,{value:66})]})}function Qa(){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 Qt={initial:{y:10,opacity:0},animate:{y:0,opacity:1},exit:{y:-10,opacity:0}},Jt={ease:[.26,.08,.25,1],duration:.25};function Zt({containerRef:e,items:n,filter:a,columns:t,onAction:o}){let r=ge();return jsx(AnimatePresence,{initial:false,mode:"popLayout",children:r.length?jsx(Yt,{variants:Qt,initial:"initial",animate:"animate",exit:"exit",transition:Jt,onAction:o},"task-bar"):jsx(Wt,{variants:Qt,initial:"initial",animate:"animate",exit:"exit",transition:Jt,containerRef:e,onAction:o,filter:a,columns:t,items:n},"toolbar")})}var Za=26,ea=44,eo=200,to=250,ao={},oo=e=>e.querySelector(".ant-table-thead")?.offsetHeight??ea,ke=(e,n)=>{if(!e)return 0;let a=e.querySelectorAll(':scope [data-id^="data-table-card-"]'),t=0;return a.forEach(o=>{let r=o.getAttribute("data-id")==="data-table-card-content";t+=r?0:o.clientHeight;}),document.documentElement.clientHeight-n-window.scrollY-Za-oo(e)-t-3};function ta(e,n,{x:a,y:t,...o}=ao,r,s,c){let[l,p]=P.useState(t),i=P.useRef(0),f=P.useRef(null);if(P.useLayoutEffect(()=>{if(!s)return;i.current=e.current?.offsetTop??0,f.current||(f.current=c$1(()=>{i.current=e.current?.offsetTop??0,p(ke(e.current,i.current));},eo,false,true)),window.addEventListener("resize",f.current);let g=null;return e.current&&(g=new MutationObserver(f.current),g.observe(e.current,{childList:true,subtree:true,attributes:true,attributeFilter:["style","class","hidden"]})),()=>{f.current&&(window.removeEventListener("resize",f.current),f.current.cancel()),g?.disconnect();}},[e,s]),P.useEffect(()=>{if(!s||t!==void 0)return;p(ke(e.current,i.current));let g=setTimeout(()=>{p(ke(e.current,i.current));},to);return ()=>{clearTimeout(g);}},[t,n,e,s]),!s)return {x:a,y:t,...o};let h=l&&typeof l=="number"?l+(r?ea:0):l;return {x:c&&!a?1280:a??"max-content",y:c&&!h?620:h,...o}}var so={ease:[.26,.08,.25,1],duration:.3},io={},lo={root:"m-0 flex w-full [&_.ant-pagination-total-text]:ps-6 [&_.ant-pagination-total-text]:mr-auto"};function co(e){let{store:n,tabList:a,alwaysShowingColumns:t,...o}=e;return me(()=>{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(Ct,{store:n,tabList:a,alwaysShowingColumns:t,children:jsx(po,{...o})})}function po(e$1){let{ref:n$1,activeTabId:a,variant:t$1,style:o$1,cardTitle:r$1,cardIcon:s$1,cardDescription:c$1,classNames:l$2,enableTableAutoScrollSizer:p$1,slots:i,columns:f,filterColumns:h,tableColumns:g,defaultFilters:m$2,tableProps:b,paginationProps:u,toolbarItems:E,isCustomTab:x,tabRenderCtx:N,customRender:z,onToolbarAction:k$2,onFiltersChange:G}=e$1,L=O$1(),y=P.useRef(null),I=P.useRef(null),{tabList:V$1}=re(),{syncing:W,loading:B}=vt(),_=Z(S=>S.updateTableId),[$,ue]=V({filters:m$2,onFiltersChange:G});P.useEffect(()=>{_(a);},[a]);let ee=$&&$.length!==0,he=!!(B&&g.some(S=>S.skeleton)),Se=Math.min(u.pageSize,15),ve=P.useCallback(S=>L("pagination_total").replace("{total}",String(S)),[L]),ie=ta(I,`${$?.length}-${a}`,b.scroll,x,p$1,b.virtual),d=he?jsx(mt,{id:`${a}-skeleton`,columns:g,size:b.size,count:Se,scroll:ie}):jsx(Table,{id:`${a}-data-table`,columns:g,loading:B,showSorterTooltip:false,...b,scroll:ie}),T$1=!!u.total&&(u.hideOnSinglePage!==true||u.total>u.pageSize);return jsxs(k,{ref:e([I,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:t$1,children:[jsxs(l,{"data-id":"data-table-card-header",className:c("data-table-card-header relative min-h-56 grow-0 px-14 pt-12 pb-10",t$1==="accent"&&"pt-10",V$1&&V$1?.length>1&&"border-b-0",l$2?.cardHeader),children:[jsxs(p,{className:c("flex items-center gap-12",l$2?.cardHeading),children:[s$1&&jsx(s,{className:c("size-34 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(r,{children:r$1}),c$1&&jsx(t,{children:c$1})]})]}),jsx(AnimatePresence,{initial:false,children:E!==false&&jsx(q,{as:m.div,className:l$2?.cardToolbar,...j,children:jsx(Zt,{containerRef:y,items:E,columns:f,onAction:k$2,filter:h.length!==0&&jsx(U,{columns:h,filters:$,actions:ue,disabled:B||W,align:"end",enableAutoBack:true},`${a}-filter`)})})})]}),i?.cardSummary&&jsx(n,{"data-id":"data-table-card-summary",className:c("grow-0 p-12",l$2?.cardSummary),children:i.cardSummary}),jsx(xt,{"data-id":"data-table-card-tabs",className:"grow-0 p-0"}),jsx(AnimatePresence,{initial:false,children:ee&&jsx(m.div,{"data-id":"data-table-card-filter-values",...k$1,children:jsx(n,{className:"p-0",children:jsx(T,{columns:h,filters:$,actions:ue,"data-id":"data-table-active-filters",className:"flex flex-wrap gap-10 px-12 pt-16",disabled:W||B,enableAutoClose:true})})},a)}),jsxs(m$1,{"data-id":"data-table-card-content",className:c("relative grow p-12 pb-0",(W||B)&&"pointer-events-none",p$1&&"overflow-hidden",l$2?.cardContent),children:[i?.tableSummary&&jsx(n,{"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.div,{ref:y,className:c("relative w-full",x&&p$1&&"overflow-auto"),style:x&&p$1?{maxHeight:ie.y}:io,...l$1,transition:so,children:x?z?.(N):d},a)})]}),T$1&&jsx(o,{"data-id":"data-table-card-pager",className:"flex min-h-44 w-full grow-0 items-center justify-between",children:jsx(Pagination,{classNames:lo,disabled:B||W,size:"small",showTotal:ve,...u})}),i?.cardFooter&&jsx(o,{"data-id":"data-table-card-footer",className:c("grow-0 px-16 py-12",l$2?.cardFooter),children:i.cardFooter})]})}function mo(e){let{tabList:n,fireOnMount:a=true,storageKey:t,onTabChange:o,onTableChange:r,onToolbarAction:s}=e,{pagination:c,tableStateStorageKey:l}=b$1(),p=P.useRef(new Set),[i]=P.useState(()=>{let d=bt(n[0].id,t??l);for(let T of n)d.getState().initTab(T.id,oa(T)),p.current.add(T.id);return d}),f=P.useRef({onTabChange:o,onTableChange:r,onToolbarAction:s});f.current={onTabChange:o,onTableChange:r,onToolbarAction:s};let h=P.useRef(new Map);h.current=new Map(n.map(d=>[d.id,d]));let g=n.map(d=>d.id).join(),m=P.useRef(true);P.useEffect(()=>{if(m.current){m.current=false;return}for(let d of n)p.current.has(d.id)||(i.getState().initTab(d.id,oa(d)),p.current.add(d.id));},[i,g]);let b=n.map(d=>`${d.id}:${d.loading}:${d.syncing}:${d.exporting}:${d.disabled}`).join();P.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]),P.useEffect(()=>{let d=i.getState().stateVersion;return i.subscribe(T=>{if(T.stateVersion===d)return;d=T.stateVersion;let S=T.activeTabId,H=T.tabs[S];if(!H)return;let te={pagination:H.pagination,filters:H.filters,sorter:H.sorter},Ne=T.changeReason;Ne==="tab_switch"&&f.current.onTabChange?.(S),f.current.onTableChange?.(te,Ne,S);})},[i]);let u=P.useRef(false);P.useEffect(()=>{if(u.current||(u.current=true,!a))return;let d=i.getState(),T=d.activeTabId,S=d.tabs[T];S&&f.current.onTableChange?.(S,"mount",T);},[i,a]);let E=useStore(i,d=>d.activeTabId),x=useStore(i,useShallow(d=>d.tabs[d.activeTabId]??O)),N=h.current.get(E),z=N?.type==="custom",k=z?void 0:N,G=z?N:void 0,{columnVisibility:L,pagination:y}=x,I=k?.columns,V=G?.filterColumns,W=P.useMemo(()=>I?I.filter(d=>!d.hidden):[],[I]),B=P.useMemo(()=>z?V??[]:Ot(I),[z,V,I]),_=P.useMemo(()=>W.filter(d=>{let T=d.key??d.dataIndex;return !T||L[T]!==false}),[W,L]),$=P.useCallback(d=>{let T=i.getState(),S=T.activeTabId,H=T.tabs[S]?.filters??[],te=typeof d=="function"?d(H):d;T.setFilters(S,te);},[i]),ue=P.useCallback((d,T,S,H)=>{let te=i.getState().activeTabId;i.getState().setTableChange(te,S,H);},[i]),ee=P.useCallback((d,T)=>{let S=i.getState().activeTabId;i.getState().setPagination(S,d,T);},[i]),he=P.useCallback(d=>{let T=i.getState(),S=T.activeTabId,H=T.tabs[S],te={pagination:H?.pagination??O.pagination,filters:H?.filters??O.filters,sorter:H?.sorter??O.sorter};d.tableState=te,f.current.onToolbarAction?.(d,S);},[i]),Se=P.useMemo(()=>({...c,current:y.current,pageSize:y.pageSize,total:N?.total,onChange:ee,onShowSizeChange:ee}),[c,y,N?.total,ee]),ve=P.useMemo(()=>({loading:x.loading,syncing:x.syncing,exporting:x.exporting,disabled:x.disabled,filters:x.filters,pagination:y,onFiltersChange:$,onPaginationChange:ee}),[x,y,$,ee]),ie=P.useMemo(()=>n.map(({id:d,label:T,value:S})=>({id:d,label:T,value:S})),[g]);return {store:i,activeTabId:E,tabList:ie,columns:W,filterColumns:B,tableColumns:_,tableProps:{dataSource:k?.dataSource,rowKey:k?.rowKey,size:x.tableSize,pagination:false,scroll:k?.scroll,virtual:k?.virtual,onChange:ue},paginationProps:Se,defaultFilters:x.filters,onFiltersChange:$,toolbarItems:N?.toolbarItems,onToolbarAction:he,isCustomTab:z,customRender:G?.render,tabRenderCtx:ve,enableTableAutoScrollSizer:k?.enableTableAutoScrollSizer??G?.enableTableAutoScrollSizer??true}}function oa(e){return {pagination:e.defaultPagination,filters:e.defaultFilters,sorter:e.type!=="custom"?e.defaultSorter:void 0,loading:e.loading,syncing:e.syncing,exporting:e.exporting,disabled:e.disabled}}export{Kt as DEFAULT_TOOLBAR_ITEMS,co as DataTable,mo as useDataTable};
1
+ import {j,k,l as l$1,e,b as b$1,c as c$1,m as m$2,f as f$1,g as g$1,h as h$1,o as o$1,d}from'./chunk-5PSQNEWV.js';import {h,g,f}from'./chunk-LUA5S5PV.js';export{b as DATE_FORMATS,d as formatDateRange,c as getDateDisplayFormat,e as getPickerInputFormat}from'./chunk-LUA5S5PV.js';import {O as O$1,l,m,q,t,c,s,u,r,o,n,p,N,i,E,F,G,w,x,z,y,A,C}from'./chunk-PEHDVTD7.js';export{O as useTransition}from'./chunk-PEHDVTD7.js';import {b}from'./chunk-M7AD2PUT.js';import {Table,Pagination,Checkbox}from'antd';import {AnimatePresence,m as m$1}from'motion/react';import P,{useState,useCallback}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 me(e){P.useEffect(e,[]);}var ca={small:"min-h-22",medium:"min-h-26",middle:"min-h-30",large:"min-h-38"};function ut({count:e,size:n="small",classNames:a,columns:t,scroll:o}){let r=P.useCallback(()=>da(t,ca[n]),[t,n]);return jsx(Table,{rowKey:"id",size:n,rowHoverable:false,classNames:a,dataSource:Array.from({length:e},(s,c)=>({id:c})),pagination:false,scroll:o,children:t.map((s,c)=>jsx(Table.Column,{dataIndex:s.dataIndex,width:s.width,title:jsx(m$2,{className:"h-22 w-full animate-none bg-bg-antd"}),render:r,onCell:()=>c===0?{colSpan:t.length}:{colSpan:0}},s.key||s.dataIndex))})}var pt=16;function da(e,n){let a=e.length,o=`calc((100% - ${pt*(a-1)}px) / ${a})`,r=e.some(s=>s.skeleton==="avatar"||s.skeleton==="double-line");return jsx("div",{className:c("flex items-center",n),style:{gap:`${pt}px`},children:e.map((s,c)=>{let l=s?.key??c;return jsx("div",{style:{width:o},children:pa(s.skeleton,r)},l)})})}function pa(e,n){switch(e){case "avatar":return jsx(ma,{});case "double-line":return jsx(ba,{});case "group":return jsx(fa,{needAlignment:n});default:return jsx(ua,{needAlignment:n})}}function ua({needAlignment:e}){return jsxs("div",{className:"grid h-full gap-4",children:[e&&jsx("div",{className:"h-12 w-1"}),jsx(m$2,{className:"h-10"})]})}function ma(){return jsxs("div",{className:"flex w-full items-center gap-6",children:[jsx(m$2,{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(m$2,{className:"h-12 w-[60%]"}),jsx(m$2,{className:"h-10"})]})]})}function ba(){return jsxs("div",{className:"grid h-full w-full gap-4 py-4",children:[jsx(m$2,{className:"h-12 w-[60%]"}),jsx(m$2,{className:"h-10"})]})}function fa({needAlignment:e}){return jsxs("div",{className:"grid h-full gap-4",children:[e&&jsx("div",{className:"h-12 w-1"}),jsxs("div",{className:"flex w-full items-center gap-4",children:[jsx(m$2,{className:"h-10 w-[20%]"}),jsx(m$2,{className:"h-10 w-[20%]"}),jsx(m$2,{className:"h-10 w-[20%]"}),jsx(m$2,{className:"h-10 w-[20%]"}),jsx(m$2,{className:"h-10 w-[20%]"})]})]})}var O={pagination:{current:1,pageSize:10},filters:[],sorter:{},extra:{action:"paginate",currentDataSource:[]},tableSize:"small",columnVisibility:{},exporting:false,loading:false,syncing:false,disabled:false},Q=(e,n)=>(e.tabs[n]||(e.tabs[n]={...O}),e.tabs[n]),Ca="APP_UI_TABLE_CONFIG",Da=(e,n)=>({activeTabId:n,tabs:{},stateVersion:0,changeReason:"mount",setActiveTab:a=>e(t=>{t.activeTabId=a,Q(t,a),t.changeReason="tab_switch",t.stateVersion++;}),syncTabExternal:(a,t)=>e(o=>{let r=o.tabs[a];r&&(r.loading=t.loading,r.syncing=t.syncing,r.exporting=t.exporting,r.disabled=t.disabled);}),initTab:(a,t)=>e(o=>{let r=o.tabs[a];r?(t.pagination&&(r.pagination=t.pagination),t.filters&&(r.filters=t.filters),t.sorter&&(r.sorter=t.sorter),r.loading=t.loading,r.syncing=t.syncing,r.exporting=t.exporting,r.disabled=t.disabled):o.tabs[a]={...O,...t};}),setFilters:(a,t)=>e(o=>{let r=Q(o,a);r.filters=t,r.pagination.current=1,o.changeReason="filter",o.stateVersion++;}),setPagination:(a,t,o)=>e(r=>{let s=Q(r,a);s.pagination={current:t,pageSize:o},r.changeReason="paginate",r.stateVersion++;}),setTableChange:(a,t,o)=>e(r=>{let s=Q(r,a);s.sorter=t,s.extra=o,r.changeReason="sort",r.stateVersion++;}),setTableSize:a=>e(t=>{Q(t,t.activeTabId).tableSize=a;}),setColumnVisibility:(a,t)=>e(o=>{Q(o,o.activeTabId).columnVisibility[a]=t;}),setColumnVisibilityState:a=>e(t=>{let o=Q(t,t.activeTabId);o.columnVisibility=typeof a=="function"?a(o.columnVisibility):a;}),toggleColumnVisibility:a=>e(t=>{let o=Q(t,t.activeTabId);o.columnVisibility[a]=!o.columnVisibility[a];}),resetTabUIState:a=>e(t=>{let o=a??t.activeTabId,r=t.tabs[o];r&&(r.tableSize=O.tableSize,r.columnVisibility={});})}),mt=(e,n=Ca)=>createStore()(persist(immer(a=>Da(a,e)),{name:n,partialize:a=>({tableUIStatus:Object.fromEntries(Object.entries(a.tabs).map(([t,o])=>[t,{tableSize:o.tableSize,columnVisibility:o.columnVisibility}]))}),merge:(a,t)=>{let o=a,r={...t};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]={...O,tableSize:c.tableSize??O.tableSize,columnVisibility:c.columnVisibility??{}};}return r}}));var ft=P.createContext(null),Tt=["id","action","actions"],gt=P.createContext({alwaysShowingColumns:Tt});function yt({store:e,tabList:n,alwaysShowingColumns:a,children:t}){let o=P.useMemo(()=>({tabList:n,alwaysShowingColumns:a??Tt}),[n,a]);return jsx(gt.Provider,{value:o,children:jsx(ft.Provider,{value:e,children:t})})}function fe(){let e=P.useContext(ft);if(!e)throw new Error("useDataTableStoreApi must be used within DataTableProvider");return e}function J(e){let n=fe();return useStore(n,e)}function Ct(){let e=fe();return useStore(e,useShallow(n=>n.tabs[n.activeTabId]??O))}function Dt(){return J(e=>e.tabs[e.activeTabId]?.tableSize??O.tableSize)}function ht(){let e=fe();return useStore(e,useShallow(n=>n.tabs[n.activeTabId]?.columnVisibility??O.columnVisibility))}function St(){let e=fe();return useStore(e,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 re(){return P.useContext(gt)}function vt(e){let{tabList:n}=re(),a=J(o=>o.activeTabId),t=J(o=>o.setActiveTab);return !n||!n?.length||n.length===1?null:jsx(o,{...e,children:jsx(f$1,{className:c("w-full"),value:a,onValueChange:t,children:jsx(g$1,{variant:"line",size:"medium",className:"w-full px-12",children:n.map(o=>jsx(h$1,{value:o.value,className:"py-8",children:o.label},o.id))})})})}var Z=create((e,n)=>({activeTableId:"",tasks:{},updateTableId:a=>e(()=>({activeTableId:a})),addTask:a=>e(t=>{let o=t.activeTableId;return {tasks:{...t.tasks,[o]:[...t.tasks[o]??[],a]}}}),removeTask:a=>e(t=>{let o=t.activeTableId;return {tasks:{...t.tasks,[o]:(t.tasks[o]??[]).filter(r=>r.localTaskId!==a)}}}),updateTask:(a,t)=>e(o=>{let r=o.activeTableId;return {tasks:{...o.tasks,[r]:(o.tasks[r]??[]).map(s=>s.localTaskId===a?{...s,...t}:s)}}}),getTasks:()=>{let a=n();return a.tasks[a.activeTableId]??[]}})),ge=()=>Z(useShallow(e=>e.tasks[e.activeTableId]??[]));function It({className:e,...n}){let a=O$1(),[t,o]=P.useState(false),r=J(l=>l.setTableSize),s=Dt(),c$1=P.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(o$1,{side:"bottom",align:"end",collisionPadding:6,items:c$1,className:"min-w-100",open:t,onOpenChange:o,children:jsxs(N,{mode:"stroke",variant:"neutral",size:"small",className:c("gap-0",e,t&&"active"),...n,children:[jsx(i,{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 Et(e,n){return new Promise((a,t)=>{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 t(new D("Aborted"));let m=new XMLHttpRequest,b=null,u=null;m.open(s.toUpperCase(),e,true),m.timeout=c||0,m.withCredentials=r.withCredentials===true,m.onloadend=function(){if(!m)return;let x=m.status,N=m.getResponseHeader("Content-Type")??"",z=l&&l!=="text"&&l!=="json",k=z?m.response:m.responseText,G=m.getAllResponseHeaders().split(`\r
2
+ `).reduce((y,I)=>{let V=I.indexOf(": ");return V!==-1&&(y[I.slice(0,V).toLowerCase()]=I.slice(V+2)),y},{});function L(y){if(b){b.cancel();let I=y instanceof Blob?y.size:y instanceof ArrayBuffer?y.byteLength:typeof y=="string"?y.length:0;r.onDownloadProgress?.({loaded:I,total:I,lengthComputable:true,percentage:100});}r.withResponseHeaders?a({data:y,status:x,headers:G}):a(y);}if(x>=200&&x<300)if(l==="json"){let y=k;try{let I=y!==""?JSON.parse(y):null;if(!(f?.(I)??!0))throw new D("invalid response");L(I);}catch(I){t(I);}}else f?.(k)??true?L(k):t(new D("invalid response"));else {let y=null;if(!z)if(N.includes("application/json"))try{y=k!==""?JSON.parse(k):null;}catch{}else y=k||null;t(new D("Xhr Request failed",x,y));}g(),m=null;},m.onabort=function(){m&&(b?.cancel(),u?.cancel(),t(new D(D.ECONNABORTED)),g(),m=null);},m.onerror=function(){b?.cancel(),u?.cancel(),t(new D("Network Error",D.ERR_NETWORK)),g(),m=null;},m.ontimeout=function(){b?.cancel(),u?.cancel(),t(new D("Timeout exceeded",D.ETIMEDOUT)),g(),m=null;},typeof p=="object"&&Object.keys(p).forEach(E=>{m?.setRequestHeader(E,p[E]);}),i==null&&m.setRequestHeader("Content-Type",""),l&&l!=="json"&&(m.responseType=l),r.onDownloadProgress&&(b=Rt(r.onDownloadProgress),m.addEventListener("progress",b)),r.onUploadProgress&&m.upload&&(u=Rt(r.onUploadProgress),m.upload.addEventListener("progress",u),m.upload.addEventListener("loadend",E=>{u?.cancel(),r.onUploadProgress?.({loaded:E.loaded,total:E.loaded,lengthComputable:true,percentage:100});})),r.signal&&(h=()=>{m&&(t(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 Rt(e){return d(a=>{e({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,t,o){super(a);b(this,"message");b(this,"code");b(this,"data");this.name="RequestError",this.message=a,t&&(this.code=t),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 kt=(e=false)=>{let[n,a]=useState(e),t=useCallback(()=>{a(true);},[]),o=useCallback(()=>{a(false);},[]);return [n,t,o]};var wt=150,ye={ease:[.26,.08,.25,1],duration:.25},ka={initial:{opacity:0,scale:.95},visible:{opacity:1,scale:1,transition:{...ye,when:"beforeChildren"}},hidden:{opacity:0,scale:1.05,transition:{...ye,when:"afterChildren"}}},wa={initial:{y:10,opacity:0},visible:{y:0,opacity:1,transition:ye},hidden:{y:-10,opacity:0,transition:ye}};function Nt({containerRef:e,accept:n,acceptHint:a,onFileSelect:t}){let o=P.useRef(null),r=P.useRef(null),[s,c,l]=kt(false),p=P.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();},wt));},[l]),i=P.useCallback(()=>{o.current&&window.clearTimeout(o.current);},[]),f=P.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=window.setTimeout(()=>{l();},wt);},[l]),h=P.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(()=>{t?.(b);},600));});return me(()=>{if(!e?.current)return;let g=e.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:e?.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:ka,children:jsx(Aa,{accept:n,acceptHint:a,onFileSelect:h})})})})}function Aa({accept:e,acceptHint:n,onFileSelect:a}){let t=O$1(),[o,r]=P.useState(false),s=P.useCallback(p=>{if(!e||!p.dataTransfer.items.length){r(false);return}let i=[...p.dataTransfer.items].every(f=>Na(f.type,e));r(!i);},[e]),c$1=P.useCallback(p=>{let{relatedTarget:i,currentTarget:f}=p;i&&f.contains(i)&&p.stopPropagation();},[]),l=P.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:wa,children:[jsxs("div",{className:"flex flex-col items-center",children:[jsx(FolderUp,{className:"size-48"}),jsx("strong",{className:"text-title-h6",children:t(o?"file_type_rejected":"drop_file_hint")})]}),jsx("span",{className:"text-text-soft",children:n?t("file_support_list",{formats:n}):t("file_support_all")})]})]})}function Na(e,n,a=""){if(!n||n==="*")return true;if(!e&&!a)return false;let t=n.split(",").map(s=>s.trim().toLowerCase()),o=(e||"").toLowerCase(),r=(a||"").toLowerCase();return t.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 _t(e=""){return `${e}-${Date.now().toString(36)+Math.random().toString(36).slice(2)}`}function Lt(e){return e?e.filter(n=>n.filter!==void 0).map(n=>{let{filter:a,dataIndex:t,title:o}=n,r=Array.isArray(t)?t.join("."):t,s=a.displayName??(typeof o=="string"?o:r);return {...a,columnId:r,displayName:s}}):[]}function Ot(e){return e.key?String(e.key):Array.isArray(e.dataIndex)?e.dataIndex.join("."):String(e.dataIndex)}function _a(e){return typeof e=="string"&&e.length>0}function Bt(e){return [Array.isArray(e.dataIndex)?e.dataIndex.join(" "):typeof e.dataIndex=="string"?e.dataIndex:null,typeof e.title=="string"?e.title:null,e.key!==null?String(e.key):null].filter(_a)}function Mt(e,n=22){if(!e)return "";if(e.length<=n)return e;let a=Math.floor(n/2.5),t=e.lastIndexOf("."),o,r;if(t>0?(o=e.substring(0,t),r=e.substring(t)):(o=e,r=""),o.length<=a*2)return e;let s=o.substring(0,a),c=o.substring(o.length-a);return `${s}\u2026${c}${r}`}function Ft(e,n){return {type:"import",localTaskId:_t(n?`import-file-${n}`:"import-file"),status:"pending",progress:0,file:e}}function Vt({tooltip:e,btnProps:n,disabled:a,loading:t,containerRef:o,accept:r,acceptHint:s,requestConfig:c,onBeforeUpload:l}){let p=O$1(),i$1=P.useId(),f=Z(b=>b.addTask),h=Z(b=>b.updateTask),g=a||t,m=P.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,E)=>{let x=new AbortController,N={...Ft(u,E),abortController:x};if(f(N),!c)throw Error("requestConfig is required.");let{url:z,method:k="POST",fieldName:G="file",body:L,onSuccess:y,onFailed:I,onUploadProgress:V,...W}=c,B=new FormData;B.append(G,u),L instanceof FormData?L.forEach((_,$)=>B.append($,_)):L&&Object.keys(L).forEach(_=>{B.append(_,L[_]);}),Et(z,{...W,onUploadProgress:_=>{V?.(_),h(N.localTaskId,{status:"importing",progress:_.percentage??0});},method:k,body:B,signal:x.signal}).then(_=>{y?.(_),h(N.localTaskId,{status:"done"});}).catch(_=>{I?.(_),h(N.localTaskId,{status:"failed"});});});},[c,l,f,h]);return jsxs(Fragment,{children:[jsx(Nt,{containerRef:o,onFileSelect:m,accept:r,acceptHint:s}),jsx("input",{type:"file",id:i$1,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,{content:e??p("import_tooltip"),children:jsx("label",{htmlFor:i$1,className:"m-0 inline-flex cursor-pointer p-0 leading-none",children:jsx(N,{variant:"neutral",mode:"stroke",loading:t,startContent:jsx(Upload,{}),disabled:g,className:"pointer-events-none",...n,children:p("data_import")})})})]})}function Ut({disabled:e,columns:n}){let a=O$1(),{alwaysShowingColumns:t}=re(),[o,r]=P.useState(false),s=ht(),c$1=J(p=>p.setColumnVisibilityState),l=P.useCallback((p,i)=>{c$1(f=>({...f,[p]:i}));},[c$1]);return jsxs(E,{open:o,onOpenChange:r,children:[jsx(F,{asChild:true,children:jsx(N,{mode:"stroke",variant:"neutral",size:"small",className:c(o&&"active","relative gap-0"),disabled:e,startContent:jsx(Settings2,{}),children:jsx(i,{content:a("column_set"),children:jsx("div",{className:"absolute inset-0"})})})}),jsx(G,{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=Ot(p),f=s[i]!==false,h=typeof p.title=="string"&&p.title?.trim()==="",g=h?p.key:p.title;return jsxs(C,{keywords:Bt(p),onSelect:()=>l(i,!f),className:"group flex items-center gap-6",value:i,disabled:t?.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 Xt=["data_refresh","size_setting","column_setting","filter_btn"];function Ua({btnProps:e,disabled:n,loading:a,onAction:t}){let o=O$1();return jsx(N,{variant:"primary",startContent:jsx(Download,{}),loading:a,disabled:n||a,onClick:()=>t({action:"data_export"}),...e,children:o("data_export")})}var $a={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}},Xa={ease:[.26,.08,.25,1],duration:.25};function Kt({containerRef:e,columns:n,filter:a,items:t=Xt,className:o,onAction:r,...s}){let{loading:c$1,syncing:l,exporting:p,disabled:i}=Ct(),f=P.useMemo(()=>t.map(u=>Wa(u)),[t]),h=P.useMemo(()=>f.filter(u=>!u.hidden),[f]),g=P.useCallback(u=>{r?.(u);},[r]),m=P.useMemo(()=>({disabled:i,loading:c$1,syncing:l,exporting:p,columns:n,onAction:g}),[i,c$1,p,l,n,g]),b=u=>{let E={btnProps:u.btnProps,tooltip:u.tooltip,disabled:i||l||c$1,loading:c$1,onAction:g};switch(u.type){case "data_refresh":return jsx(Ka,{...E,syncing:l});case "size_setting":return jsx(It,{...u.btnProps});case "column_setting":return jsx(Ut,{...u.btnProps,columns:n});case "data_export":return jsx(Ua,{...E,loading:p});case "data_import":return jsx(Vt,{...E,loading:p,containerRef:e,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:$a,initial:"initial",animate:"animate",exit:"exit",className:"leading-none",transition:Xa,children:b(u)},u.key))})})}function Ka({btnProps:e,tooltip:n,disabled:a,loading:t,syncing:o,onAction:r}){let s=O$1(),c=n??s("refresh");return jsx(i,{content:c,children:jsx(N,{mode:"stroke",variant:"neutral",startContent:jsx(RefreshCw,{}),loading:o||t,disabled:a||t||o,className:"gap-0",onClick:()=>r({action:"data_refresh"}),...e})})}function Wa(e){return typeof e=="string"?{type:e,key:e}:e.type==="custom"?{type:"custom",key:e.key,hidden:e.hidden,render:e.render}:e.type==="data_import"?{type:"data_import",key:e.key??e.type,hidden:e.hidden,btnProps:e.btnProps,tooltip:e.tooltip,accept:e.accept,acceptHint:e.acceptHint,requestConfig:e.requestConfig,onBeforeUpload:e.onBeforeUpload}:{type:e.type,key:e.key??e.type,hidden:e.hidden,btnProps:e.btnProps,tooltip:e.tooltip}}function qt({className:e,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",e),...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 Gt({onAction:e,...n}){let a=ge();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(t=>t.type==="import"?jsx(Ga,{...t,onSuccess:()=>{e?.({action:"import_done"});}},t.localTaskId):jsx(Ya,{...t},t.localTaskId))})}function Ga(e){let n=O$1(),a=Z(s=>s.removeTask),t=e.status==="failed",o=e.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":t?"text-error-base":"text-text-strong"),children:[n(t?"import_failed":o?"import_done":e.status)," ",Mt(e.file.name)]}),jsxs("span",{className:"min-w-34 shrink-0 text-right text-sm text-text-sub",children:[e.progress,"%"]}),jsx(N,{variant:"neutral",mode:"ghost",size:"xsmall",className:"min-w-28 rounded-full px-0",onClick:()=>{e.abortController?.signal.aborted===false&&!t&&!o&&e.abortController?.abort("User canceled"),a(e.localTaskId),o&&e.onSuccess?.(e.localTaskId);},startContent:o?jsx(Check,{className:"text-success-base"}):jsx(Qa,{})})]})}function Ya(e){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:e.progress})]}),jsx(qt,{value:66})]})}function Qa(){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 Yt={initial:{y:10,opacity:0},animate:{y:0,opacity:1},exit:{y:-10,opacity:0}},Qt={ease:[.26,.08,.25,1],duration:.25};function Jt({containerRef:e,items:n,filter:a,columns:t,onAction:o}){let r=ge();return jsx(AnimatePresence,{initial:false,mode:"popLayout",children:r.length?jsx(Gt,{variants:Yt,initial:"initial",animate:"animate",exit:"exit",transition:Qt,onAction:o},"task-bar"):jsx(Kt,{variants:Yt,initial:"initial",animate:"animate",exit:"exit",transition:Qt,containerRef:e,onAction:o,filter:a,columns:t,items:n},"toolbar")})}var Za=26,Zt=44,eo=200,to=250,ao={},oo=e=>e.querySelector(".ant-table-thead")?.offsetHeight??Zt,ke=(e,n)=>{if(!e)return 0;let a=e.querySelectorAll(':scope [data-id^="data-table-card-"]'),t=0;return a.forEach(o=>{let r=o.getAttribute("data-id")==="data-table-card-content";t+=r?0:o.clientHeight;}),document.documentElement.clientHeight-n-window.scrollY-Za-oo(e)-t-3};function ea(e,n,{x:a,y:t,...o}=ao,r,s,c){let[l,p]=P.useState(t),i=P.useRef(0),f=P.useRef(null);if(P.useLayoutEffect(()=>{if(!s)return;i.current=e.current?.offsetTop??0,f.current||(f.current=c$1(()=>{i.current=e.current?.offsetTop??0,p(ke(e.current,i.current));},eo,false,true)),window.addEventListener("resize",f.current);let g=null;return e.current&&(g=new MutationObserver(f.current),g.observe(e.current,{childList:true,subtree:true,attributes:true,attributeFilter:["style","class","hidden"]})),()=>{f.current&&(window.removeEventListener("resize",f.current),f.current.cancel()),g?.disconnect();}},[e,s]),P.useEffect(()=>{if(!s||t!==void 0)return;p(ke(e.current,i.current));let g=setTimeout(()=>{p(ke(e.current,i.current));},to);return ()=>{clearTimeout(g);}},[t,n,e,s]),!s)return {x:a,y:t,...o};let h=l&&typeof l=="number"?l+(r?Zt:0):l;return {x:c&&!a?1280:a??"max-content",y:c&&!h?620:h,...o}}var so={ease:[.26,.08,.25,1],duration:.3},io={},lo={root:"m-0 flex w-full [&_.ant-pagination-total-text]:ps-6 [&_.ant-pagination-total-text]:mr-auto"};function co(e){let{store:n,tabList:a,alwaysShowingColumns:t,...o}=e;return me(()=>{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(yt,{store:n,tabList:a,alwaysShowingColumns:t,children:jsx(po,{...o})})}function po(e$1){let{ref:n$1,activeTabId:a,variant:t$1,style:o$1,cardTitle:r$1,cardIcon:s$1,cardDescription:c$1,classNames:l$2,enableTableAutoScrollSizer:p$1,slots:i,columns:f$1,filterColumns:h$1,tableColumns:g$1,defaultFilters:m$2,tableProps:b,paginationProps:u$1,toolbarItems:E,isCustomTab:x,tabRenderCtx:N,customRender:z,onToolbarAction:k$1,onFiltersChange:G}=e$1,L=O$1(),y=P.useRef(null),I=P.useRef(null),{tabList:V}=re(),{syncing:W,loading:B}=St(),_=Z(S=>S.updateTableId),[$,ue]=h({filters:m$2,onFiltersChange:G});P.useEffect(()=>{_(a);},[a]);let ee=$&&$.length!==0,he=!!(B&&g$1.some(S=>S.skeleton)),Se=Math.min(u$1.pageSize,15),ve=P.useCallback(S=>L("pagination_total").replace("{total}",String(S)),[L]),ie=ea(I,`${$?.length}-${a}`,b.scroll,x,p$1,b.virtual),d=he?jsx(ut,{id:`${a}-skeleton`,columns:g$1,size:b.size,count:Se,scroll:ie}):jsx(Table,{id:`${a}-data-table`,columns:g$1,loading:B,showSorterTooltip:false,...b,scroll:ie}),T=!!u$1.total&&(u$1.hideOnSinglePage!==true||u$1.total>u$1.pageSize);return jsxs(l,{ref:e([I,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:t$1,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",t$1==="accent"&&"pt-10",V&&V?.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:E!==false&&jsx(r,{as:m$1.div,className:l$2?.cardToolbar,...j,children:jsx(Jt,{containerRef:y,items:E,columns:f$1,onAction:k$1,filter:h$1.length!==0&&jsx(g,{columns:h$1,filters:$,actions:ue,disabled:B||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(vt,{"data-id":"data-table-card-tabs",className:"grow-0 p-0"}),jsx(AnimatePresence,{initial:false,children:ee&&jsx(m$1.div,{"data-id":"data-table-card-filter-values",...k,children:jsx(o,{className:"p-0",children:jsx(f,{columns:h$1,filters:$,actions:ue,"data-id":"data-table-active-filters",className:"flex flex-wrap gap-10 px-12 pt-16",disabled:W||B,enableAutoClose:true})})},a)}),jsxs(n,{"data-id":"data-table-card-content",className:c("relative grow p-12 pb-0",(W||B)&&"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",x&&p$1&&"overflow-auto"),style:x&&p$1?{maxHeight:ie.y}:io,...l$1,transition:so,children:x?z?.(N):d},a)})]}),T&&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:lo,disabled:B||W,size:"small",showTotal:ve,...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 mo(e){let{tabList:n,fireOnMount:a=true,storageKey:t,onTabChange:o,onTableChange:r,onToolbarAction:s}=e,{pagination:c,tableStateStorageKey:l}=b$1(),p=P.useRef(new Set),[i]=P.useState(()=>{let d=mt(n[0].id,t??l);for(let T of n)d.getState().initTab(T.id,aa(T)),p.current.add(T.id);return d}),f=P.useRef({onTabChange:o,onTableChange:r,onToolbarAction:s});f.current={onTabChange:o,onTableChange:r,onToolbarAction:s};let h=P.useRef(new Map);h.current=new Map(n.map(d=>[d.id,d]));let g=n.map(d=>d.id).join(),m=P.useRef(true);P.useEffect(()=>{if(m.current){m.current=false;return}for(let d of n)p.current.has(d.id)||(i.getState().initTab(d.id,aa(d)),p.current.add(d.id));},[i,g]);let b=n.map(d=>`${d.id}:${d.loading}:${d.syncing}:${d.exporting}:${d.disabled}`).join();P.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]),P.useEffect(()=>{let d=i.getState().stateVersion;return i.subscribe(T=>{if(T.stateVersion===d)return;d=T.stateVersion;let S=T.activeTabId,H=T.tabs[S];if(!H)return;let te={pagination:H.pagination,filters:H.filters,sorter:H.sorter},Ne=T.changeReason;Ne==="tab_switch"&&f.current.onTabChange?.(S),f.current.onTableChange?.(te,Ne,S);})},[i]);let u=P.useRef(false);P.useEffect(()=>{if(u.current||(u.current=true,!a))return;let d=i.getState(),T=d.activeTabId,S=d.tabs[T];S&&f.current.onTableChange?.(S,"mount",T);},[i,a]);let E=useStore(i,d=>d.activeTabId),x=useStore(i,useShallow(d=>d.tabs[d.activeTabId]??O)),N=h.current.get(E),z=N?.type==="custom",k=z?void 0:N,G=z?N:void 0,{columnVisibility:L,pagination:y}=x,I=k?.columns,V=G?.filterColumns,W=P.useMemo(()=>I?I.filter(d=>!d.hidden):[],[I]),B=P.useMemo(()=>z?V??[]:Lt(I),[z,V,I]),_=P.useMemo(()=>W.filter(d=>{let T=d.key??d.dataIndex;return !T||L[T]!==false}),[W,L]),$=P.useCallback(d=>{let T=i.getState(),S=T.activeTabId,H=T.tabs[S]?.filters??[],te=typeof d=="function"?d(H):d;T.setFilters(S,te);},[i]),ue=P.useCallback((d,T,S,H)=>{let te=i.getState().activeTabId;i.getState().setTableChange(te,S,H);},[i]),ee=P.useCallback((d,T)=>{let S=i.getState().activeTabId;i.getState().setPagination(S,d,T);},[i]),he=P.useCallback(d=>{let T=i.getState(),S=T.activeTabId,H=T.tabs[S],te={pagination:H?.pagination??O.pagination,filters:H?.filters??O.filters,sorter:H?.sorter??O.sorter};d.tableState=te,f.current.onToolbarAction?.(d,S);},[i]),Se=P.useMemo(()=>({...c,current:y.current,pageSize:y.pageSize,total:N?.total,onChange:ee,onShowSizeChange:ee}),[c,y,N?.total,ee]),ve=P.useMemo(()=>({loading:x.loading,syncing:x.syncing,exporting:x.exporting,disabled:x.disabled,filters:x.filters,pagination:y,onFiltersChange:$,onPaginationChange:ee}),[x,y,$,ee]),ie=P.useMemo(()=>n.map(({id:d,label:T,value:S})=>({id:d,label:T,value:S})),[g]);return {store:i,activeTabId:E,tabList:ie,columns:W,filterColumns:B,tableColumns:_,tableProps:{dataSource:k?.dataSource,rowKey:k?.rowKey,size:x.tableSize,pagination:false,scroll:k?.scroll,virtual:k?.virtual,onChange:ue},paginationProps:Se,defaultFilters:x.filters,onFiltersChange:$,toolbarItems:N?.toolbarItems,onToolbarAction:he,isCustomTab:z,customRender:G?.render,tabRenderCtx:ve,enableTableAutoScrollSizer:k?.enableTableAutoScrollSizer??G?.enableTableAutoScrollSizer??true}}function aa(e){return {pagination:e.defaultPagination,filters:e.defaultFilters,sorter:e.type!=="custom"?e.defaultSorter:void 0,loading:e.loading,syncing:e.syncing,exporting:e.exporting,disabled:e.disabled}}export{Xt as DEFAULT_TOOLBAR_ITEMS,co as DataTable,mo as useDataTable};
@@ -134,83 +134,6 @@ type DataFilterProps<T> = UseDataFiltersProps & {
134
134
  columns: FilterColumnDef<T>[];
135
135
  } & DataFilterUiProps;
136
136
 
137
- var filter = "Add Filters";
138
- var search_keywords = "Search...";
139
- var no_results = "No results";
140
- var to = "to";
141
- var input_number = "Input Number";
142
- var min = "Min";
143
- var max = "Max";
144
- var apply = "Apply Filter";
145
- var clear = "Clear Filter";
146
- var clear_all = "Clear";
147
- var pagination_total = "Total {total} items";
148
- var refresh = "Refresh";
149
- var column_set = "Table Settings";
150
- var density = "Density";
151
- var large = "Large";
152
- var middle = "Middle";
153
- var compact = "Compact";
154
- var pinned = "Pinned";
155
- var data_export = "Export Data";
156
- var data_import = "Import Data";
157
- var ok = "Ok";
158
- var close = "Close";
159
- var copy = "Copy";
160
- var copied = "Copied";
161
- var drop_file_hint = "Drop file here to upload";
162
- var file_support_all = "All file formats are supported";
163
- var file_support_list = "Supported formats: {formats}";
164
- var file_type_rejected = "This file type is not supported";
165
- var import_tooltip = "Drag and drop files into the table area to import";
166
- var pending = "Pending";
167
- var importing = "Importing";
168
- var exporting = "Exporting";
169
- var import_failed = "Import Failed";
170
- var import_done = "Done";
171
- var done = "Done";
172
- var enUS = {
173
- filter: filter,
174
- search_keywords: search_keywords,
175
- no_results: no_results,
176
- to: to,
177
- input_number: input_number,
178
- min: min,
179
- max: max,
180
- apply: apply,
181
- clear: clear,
182
- clear_all: clear_all,
183
- pagination_total: pagination_total,
184
- refresh: refresh,
185
- column_set: column_set,
186
- density: density,
187
- large: large,
188
- middle: middle,
189
- compact: compact,
190
- pinned: pinned,
191
- "delete": "Delete",
192
- data_export: data_export,
193
- data_import: data_import,
194
- ok: ok,
195
- close: close,
196
- copy: copy,
197
- copied: copied,
198
- drop_file_hint: drop_file_hint,
199
- file_support_all: file_support_all,
200
- file_support_list: file_support_list,
201
- file_type_rejected: file_type_rejected,
202
- import_tooltip: import_tooltip,
203
- pending: pending,
204
- importing: importing,
205
- exporting: exporting,
206
- import_failed: import_failed,
207
- import_done: import_done,
208
- done: done
209
- };
210
-
211
- type LocaleKey = keyof typeof enUS;
212
- declare function useTransition(): (key: LocaleKey, params?: Record<string, string | number>) => string;
213
-
214
137
  type PickerType = 'date' | 'week' | 'month' | 'quarter' | 'year';
215
138
  interface DateDisplayFormat {
216
139
  full: string;
@@ -233,4 +156,4 @@ declare function getPickerInputFormat(picker: PickerType | undefined, locale: st
233
156
  format: string;
234
157
  }): string;
235
158
 
236
- export { type CascaderConfig as C, type DataFilterProps as D, type FilterColumnDef as F, type InputNumberConfig as I, type PickerType as P, type RangeDatePickerConfig as R, type SingleDatePickerConfig as S, type CascaderFieldNames as a, type CascaderOption as b, DATE_FORMATS as c, type DateDisplayFormat as d, type DatePickerConfig as e, type FilterColumnOption as f, type FiltersState as g, formatDateRange as h, getDateDisplayFormat as i, getPickerInputFormat as j, type ColumnDataTypes as k, useTransition as u };
159
+ export { type CascaderConfig as C, type DataFilterProps as D, type FilterColumnDef as F, type InputNumberConfig as I, type PickerType as P, type RangeDatePickerConfig as R, type SingleDatePickerConfig as S, type CascaderFieldNames as a, type CascaderOption as b, DATE_FORMATS as c, type DateDisplayFormat as d, type DatePickerConfig as e, type FilterColumnOption as f, type FiltersState as g, formatDateRange as h, getDateDisplayFormat as i, getPickerInputFormat as j, type ColumnDataTypes as k };
package/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
+ import { PaginationProps } from 'antd';
1
2
  import * as React$1 from 'react';
2
3
  import React__default from 'react';
3
- import { PaginationProps } from 'antd';
4
4
  import * as tailwind_variants from 'tailwind-variants';
5
5
  import { VariantProps } from 'tailwind-variants';
6
6
  import * as react_jsx_runtime from 'react/jsx-runtime';
@@ -12,65 +12,10 @@ export { a as Button, b as baseButtonStyle, c as buttonVariants } from './button
12
12
  import { I as IconType } from './icon-BmaneZ4I.js';
13
13
  import * as tailwind_merge from 'tailwind-merge';
14
14
 
15
- type IValue = string;
16
- interface IOptionItem {
17
- key?: React.Key;
18
- label: string;
19
- icon?: React.ReactNode;
20
- value: IValue;
21
- disabled?: boolean;
22
- }
23
- type PolymorphicProps<T extends React.ElementType, Props = object> = {
24
- as?: T;
25
- } & Props & Omit<React.ComponentPropsWithoutRef<T>, keyof Props | 'as'>;
26
-
27
- declare const Card: React__default.ForwardRefExoticComponent<React__default.HTMLAttributes<HTMLDivElement> & VariantProps<tailwind_variants.TVReturnType<{
28
- variant: {
29
- default: string;
30
- accent: string;
31
- };
32
- }, undefined, "flex flex-col items-stretch rounded-xl text-paragraph-sm", {
33
- variant: {
34
- default: string;
35
- accent: string;
36
- };
37
- }, undefined, tailwind_variants.TVReturnType<{
38
- variant: {
39
- default: string;
40
- accent: string;
41
- };
42
- }, undefined, "flex flex-col items-stretch rounded-xl text-paragraph-sm", unknown, unknown, undefined>>> & React__default.RefAttributes<HTMLDivElement>>;
43
- declare function CardHeader({ className, ...props }: React__default.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
44
- declare function CardContent({ className, ...props }: React__default.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
45
- declare function CardExtra({ className, ...props }: React__default.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
46
- declare function CardTable({ className, ...props }: React__default.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
47
- declare function CardFooter({ className, ...props }: React__default.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
48
- declare function CardHeading({ className, ...props }: React__default.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
49
- declare function CardToolbar<T extends React__default.ElementType = 'div'>({ as, className, ...props }: PolymorphicProps<T>): react_jsx_runtime.JSX.Element;
50
- declare function CardTitle({ className, ...props }: React__default.HTMLAttributes<HTMLHeadingElement>): react_jsx_runtime.JSX.Element;
51
- declare function CardIcon({ className, ...props }: React__default.HTMLAttributes<HTMLHeadingElement>): react_jsx_runtime.JSX.Element;
52
- declare function CardDescription({ className, ...props }: React__default.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
53
-
54
- declare const card_Card: typeof Card;
55
- declare const card_CardContent: typeof CardContent;
56
- declare const card_CardDescription: typeof CardDescription;
57
- declare const card_CardExtra: typeof CardExtra;
58
- declare const card_CardFooter: typeof CardFooter;
59
- declare const card_CardHeader: typeof CardHeader;
60
- declare const card_CardHeading: typeof CardHeading;
61
- declare const card_CardIcon: typeof CardIcon;
62
- declare const card_CardTable: typeof CardTable;
63
- declare const card_CardTitle: typeof CardTitle;
64
- declare const card_CardToolbar: typeof CardToolbar;
65
- declare namespace card {
66
- export { card_Card as Card, card_CardContent as CardContent, card_CardDescription as CardDescription, card_CardExtra as CardExtra, card_CardFooter as CardFooter, card_CardHeader as CardHeader, card_CardHeading as CardHeading, card_CardIcon as CardIcon, card_CardTable as CardTable, card_CardTitle as CardTitle, card_CardToolbar as CardToolbar, Card as Root };
67
- }
68
-
69
- type PaginationConfig = Omit<PaginationProps, 'total'>;
70
-
71
15
  type UILocale = (typeof SUPPORTED_LOCALES)[number];
72
16
  declare const SUPPORTED_LOCALES: readonly ["en-US", "zh-CN"];
73
17
 
18
+ type PaginationConfig = Omit<PaginationProps, 'total' | 'size'>;
74
19
  interface ContextType {
75
20
  locale?: UILocale;
76
21
  tableStateStorageKey?: string;
@@ -157,6 +102,60 @@ declare const cn: (...classes: ClassNameArray) => string;
157
102
 
158
103
  declare function mergeRefs<T = unknown>(refs: Array<React.Ref<T> | undefined | null>): React.RefCallback<T>;
159
104
 
105
+ type IValue = string;
106
+ interface IOptionItem {
107
+ key?: React.Key;
108
+ label: string;
109
+ icon?: React.ReactNode;
110
+ value: IValue;
111
+ disabled?: boolean;
112
+ }
113
+ type PolymorphicProps<T extends React.ElementType, Props = object> = {
114
+ as?: T;
115
+ } & Props & Omit<React.ComponentPropsWithoutRef<T>, keyof Props | 'as'>;
116
+
117
+ declare const Card: React__default.ForwardRefExoticComponent<React__default.HTMLAttributes<HTMLDivElement> & VariantProps<tailwind_variants.TVReturnType<{
118
+ variant: {
119
+ default: string;
120
+ accent: string;
121
+ };
122
+ }, undefined, "flex flex-col items-stretch rounded-xl text-paragraph-sm", {
123
+ variant: {
124
+ default: string;
125
+ accent: string;
126
+ };
127
+ }, undefined, tailwind_variants.TVReturnType<{
128
+ variant: {
129
+ default: string;
130
+ accent: string;
131
+ };
132
+ }, undefined, "flex flex-col items-stretch rounded-xl text-paragraph-sm", unknown, unknown, undefined>>> & React__default.RefAttributes<HTMLDivElement>>;
133
+ declare function CardHeader({ className, ...props }: React__default.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
134
+ declare function CardContent({ className, ...props }: React__default.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
135
+ declare function CardExtra({ className, ...props }: React__default.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
136
+ declare function CardTable({ className, ...props }: React__default.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
137
+ declare function CardFooter({ className, ...props }: React__default.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
138
+ declare function CardHeading({ className, ...props }: React__default.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
139
+ declare function CardToolbar<T extends React__default.ElementType = 'div'>({ as, className, ...props }: PolymorphicProps<T>): react_jsx_runtime.JSX.Element;
140
+ declare function CardTitle({ className, ...props }: React__default.HTMLAttributes<HTMLHeadingElement>): react_jsx_runtime.JSX.Element;
141
+ declare function CardIcon({ className, ...props }: React__default.HTMLAttributes<HTMLHeadingElement>): react_jsx_runtime.JSX.Element;
142
+ declare function CardDescription({ className, ...props }: React__default.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
143
+
144
+ declare const card_Card: typeof Card;
145
+ declare const card_CardContent: typeof CardContent;
146
+ declare const card_CardDescription: typeof CardDescription;
147
+ declare const card_CardExtra: typeof CardExtra;
148
+ declare const card_CardFooter: typeof CardFooter;
149
+ declare const card_CardHeader: typeof CardHeader;
150
+ declare const card_CardHeading: typeof CardHeading;
151
+ declare const card_CardIcon: typeof CardIcon;
152
+ declare const card_CardTable: typeof CardTable;
153
+ declare const card_CardTitle: typeof CardTitle;
154
+ declare const card_CardToolbar: typeof CardToolbar;
155
+ declare namespace card {
156
+ export { card_Card as Card, card_CardContent as CardContent, card_CardDescription as CardDescription, card_CardExtra as CardExtra, card_CardFooter as CardFooter, card_CardHeader as CardHeader, card_CardHeading as CardHeading, card_CardIcon as CardIcon, card_CardTable as CardTable, card_CardTitle as CardTitle, card_CardToolbar as CardToolbar, Card as Root };
157
+ }
158
+
160
159
  interface BadgeProps extends React$1.HTMLAttributes<HTMLDivElement>, VariantProps<typeof badgeVariants> {
161
160
  asChild?: boolean;
162
161
  dotClassName?: string;
@@ -565,9 +564,10 @@ type CopyableTextProps = Omit<ButtonSharedProps, 'loading'> & {
565
564
  as?: 'button' | 'inline' | 'text';
566
565
  delay?: number;
567
566
  tooltipDelayDuration?: number;
567
+ children?: React__default.ReactNode;
568
568
  onCopy?: (content: string) => void;
569
569
  };
570
- declare function CopyableText({ content, delay, tooltipDelayDuration, variant, mode, size, as, onCopy, className, }: CopyableTextProps): react_jsx_runtime.JSX.Element;
570
+ declare function CopyableText({ content, delay, tooltipDelayDuration, variant, mode, size, as, children, onCopy, className, }: CopyableTextProps): react_jsx_runtime.JSX.Element;
571
571
 
572
572
  declare function Skeleton({ className, ...props }: React__default.HTMLAttributes<HTMLDivElement>): react_jsx_runtime.JSX.Element;
573
573
 
package/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import {j,m as m$1}from'./chunk-GL6SS2S2.js';export{o as DropdownMenu,m as Skeleton,i as Tabs,a as UIProvider,c as debounce,n as dropdownMenuStyles,e as mergeRefs,d as throttle}from'./chunk-GL6SS2S2.js';import {b,c,D,H,E,F,G,M,O,i}from'./chunk-T44X4HCD.js';export{M as Button,u as Card,C as Command,I as Popover,J as Spinner,i as Tooltip,f as TooltipArrow,h as TooltipProvider,d as TooltipRoot,e as TooltipTrigger,K as baseButtonStyle,L as buttonVariants,c as cn,g as tooltipVariants,b as tv,a as twMergeConfig}from'./chunk-T44X4HCD.js';import {a}from'./chunk-M7AD2PUT.js';import {Slot,Avatar,Switch,Collapsible}from'radix-ui';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import*as I from'react';import I__default from'react';import {CircleAlert,Loader2,Copy,CheckCheck}from'lucide-react';import {AnimatePresence,m}from'motion/react';import {Drawer}from'vaul';var We={dateDash:"yyyy-MM-dd",dateSlash:"YYYY/MM/DD",dateTimeMinuteDash:"yyyy-MM-dd HH:mm",dateTimeMinuteSlash:"yyyy/MM/dd HH:mm",dateTimeSecondDash:"yyyy-MM-dd HH:mm:ss",dateTimeSecondSlash:"yyyy/MM/dd HH:mm:ss",timeMinute:"HH:mm",timeSecond:"HH:mm:ss"},Ye={presets:We};var fe=new WeakMap;function ge(e){return((...t)=>{let a=fe.get(e),o=t.map(String).join("_");if(a){let i=a.get(o);if(i)return i}else a=new Map,fe.set(e,a);let n=e(...t);return a.set(o,n),n})}function Yt(e,t,a="zh-CN"){return new Intl.NumberFormat(a,t).format(e)}function qt(e,t,a="zh-CN"){return new Intl.NumberFormat(a,{style:"currency",...t}).format(e)}function $t(e,t="en-US"){return new Intl.NumberFormat(t,{notation:"compact",compactDisplay:"short"}).format(e)}var Kt=ge((e,t=2)=>e.replace(/[.,!@#$%^&*()_+=\-`~[\]/\\{}:"|<>?]+/gi,"").trim().split(/\s+/).slice(0,t).map(a=>{if(!a.length)return "";if(/\s+/.test(e))return a.match(/./u)?.[0].toUpperCase();let o=new RegExp(".".repeat(t),"u"),n=a.match(o)?.[0];return n?n.charAt(0).toUpperCase()+n.slice(1):e.charAt(0).toUpperCase()+e.slice(1,2)}).join(""));var he={};a(he,{Badge:()=>$e,BadgeButton:()=>Ke,BadgeDot:()=>je,Root:()=>$e,badgeVariants:()=>ve});var ve=b({base:["inline-flex items-center justify-center border border-transparent font-medium whitespace-nowrap select-none [&_svg]:-ms-px [&_svg]:shrink-0","focus:ring-2 focus:ring-primary-base focus:ring-offset-2 focus:outline-hidden"],variants:{variant:{primary:"bg-primary-base text-static-white",secondary:"bg-gray-200 text-gray-700",success:"bg-green-500 text-static-white",warning:"bg-yellow-500 text-static-white",info:"bg-violet-500 text-static-white",outline:"border border-stroke-soft bg-transparent text-text-sub",error:"bg-red-600 text-static-white"},appearance:{default:"",light:"",outline:"border-stroke-sub",ghost:"border-transparent bg-transparent"},disabled:{true:"pointer-events-none opacity-50"},size:{large:"h-28 min-w-28 gap-6 rounded-lg px-8 text-[14px] [&_svg]:size-14",medium:"h-24 min-w-24 gap-5 rounded-lg px-[7.2px] text-[14px] [&_svg]:size-14",small:"h-20 min-w-20 gap-4 rounded-md px-[5.2px] text-[12px] leading-14 [&_svg]:size-12",xsmall:"h-16 min-w-16 gap-4 rounded-md px-4 text-[10px] leading-12 [&_svg]:size-12"},shape:{default:"",circle:"rounded-full"}},compoundVariants:[{variant:"primary",appearance:"light",className:"bg-primary-base text-static-white"},{variant:"secondary",appearance:"light",className:"bg-gray-200"},{variant:"success",appearance:"light",className:"bg-green-50 text-green-700"},{variant:"warning",appearance:"light",className:"bg-yellow-50 text-yellow-700"},{variant:"info",appearance:"light",className:"bg-violet-50 text-violet-700"},{variant:"error",appearance:"light",className:"bg-red-50 text-red-700"},{variant:"primary",appearance:"outline",className:"border-blue-100 bg-blue-50 text-blue-700"},{variant:"success",appearance:"outline",className:"border-green-100 bg-green-50 text-green-700"},{variant:"warning",appearance:"outline",className:"border-yellow-100 bg-yellow-50 text-yellow-700"},{variant:"info",appearance:"outline",className:"border-violet-100 bg-violet-50 text-violet-700"},{variant:"error",appearance:"outline",className:"border-red-100 bg-red-50 text-red-700"},{variant:"primary",appearance:"ghost",className:"text-primary-base"},{variant:"secondary",appearance:"ghost",className:"text-gray-700"},{variant:"success",appearance:"ghost",className:"text-green-500"},{variant:"warning",appearance:"ghost",className:"text-yellow-500"},{variant:"info",appearance:"ghost",className:"text-violet-500"},{variant:"error",appearance:"ghost",className:"text-error-base"},{size:"large",appearance:"ghost",className:"px-0"},{size:"medium",appearance:"ghost",className:"px-0"},{size:"small",appearance:"ghost",className:"px-0"},{size:"xsmall",appearance:"ghost",className:"px-0"}],defaultVariants:{variant:"primary",appearance:"default",size:"medium"}}),qe=b({base:"-me-2 inline-flex size-14 cursor-pointer items-center justify-center rounded-md p-0 leading-none opacity-60 transition-all hover:opacity-100 [&>svg]:size-14! [&>svg]:opacity-100!",variants:{variant:{default:""}},defaultVariants:{variant:"default"}});function $e({className:e,variant:t,size:a,appearance:o,shape:n,asChild:i=false,disabled:d,...l}){let m=i?Slot.Slot:"span";return jsx(m,{"data-slot":"badge",className:c(ve({variant:t,size:a,appearance:o,shape:n,disabled:d}),e),...l})}function Ke({className:e,variant:t,asChild:a=false,...o}){let n=a?Slot.Slot:"span";return jsx(n,{"data-slot":"badge-button",className:c(qe({variant:t,className:e})),role:"button",...o})}function je({className:e,...t}){return jsx("span",{"data-slot":"badge-dot",className:c("size-6 rounded-full bg-[currentColor] opacity-75",e),...t})}var ye={};a(ye,{Avatar:()=>Ge,AvatarFallback:()=>Qe,AvatarImage:()=>Je,AvatarIndicator:()=>Xe,AvatarStatus:()=>Ze,Root:()=>Ge,avatarStatusVariants:()=>xe});var xe=b({base:"border-background flex size-2 items-center rounded-full border-2",variants:{variant:{online:"bg-green-600",offline:"bg-zinc-400 dark:bg-zinc-500",busy:"bg-yellow-600",away:"bg-blue-600"}},defaultVariants:{variant:"online"}});function Ge({className:e,...t}){return jsx(Avatar.Root,{"data-slot":"avatar",className:c("relative flex size-40 shrink-0",e),...t})}function Je({className:e,...t}){return jsx("div",{className:c("relative overflow-hidden rounded-full",e),children:jsx(Avatar.Image,{"data-slot":"avatar-image",className:c("aspect-square h-full w-full"),...t})})}function Qe({className:e,...t}){return jsx(Avatar.Fallback,{"data-slot":"avatar-fallback",className:c("flex h-full w-full items-center justify-center rounded-full border border-stroke-soft bg-bg-weak text-[13px] text-text-sub",e),...t})}function Xe({className:e,...t}){return jsx("div",{"data-slot":"avatar-indicator",className:c("absolute flex size-24 items-center justify-center",e),...t})}function Ze({className:e,variant:t,...a}){return jsx("div",{"data-slot":"avatar-status",className:c(xe({variant:t}),e),...a})}function $({className:e,variant:t="neutral",mode:a="stroke",size:o="small",...n}){return jsx(M,{variant:t,mode:a,size:o,className:c("absolute top-12 right-10 z-10 m-auto aspect-square rounded-full border-transparent text-text-soft hover:text-text-strong",e),...n,children:jsxs("svg",{width:"1em",height:"1em",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",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 se=b({slots:{root:"relative flex w-fit max-w-xl flex-col rounded-[12px] border border-stroke-soft p-0 text-md",content:"",arrowCls:"",header:"flex items-center pe-28 select-none",close:"rounded-full"},variants:{variant:{default:{root:"gap-8 bg-bg-white p-16 pt-12",close:"top-12 right-12 hover:bg-bg-weak"},accent:{root:"bg-bg-weak p-4",content:"rounded-[8px] bg-bg-white px-12 py-8 shadow-sm",header:"px-12 py-4 pb-6",close:"top-9 right-8 hover:bg-bg-white",arrowCls:"bg-bg-weak"}}},defaultVariants:{variant:"default"}});function tt({variant:e,className:t,contentClassName:a,side:o="bottom",align:n="start",arrow:i=true,unstyled:d=true,closeable:l=true,sideOffset:m=1,title:p,content:c$1,children:v,asChild:O,defaultOpen:x,open:y,onOpenChange:g,onClose:w,...C}){let{root:P,content:N,header:R,close:W,arrowCls:k}=se({variant:e}),[A,M]=I__default.useState(x??false),D$1=y!==void 0,u=D$1?y:A,L=I__default.useCallback(T=>{D$1||M(T),g?.(T);},[D$1,g]);return jsxs(D,{open:u,onOpenChange:L,children:[D$1&&u&&jsx(H,{}),jsx(E,{className:c(u&&"active",D$1&&u&&"relative z-20"),asChild:O,children:v}),jsxs(F,{className:P({className:t}),arrowClassName:k(),unstyled:d,side:o,align:n,sideOffset:m,arrow:i,...C,children:[p&&jsxs("header",{className:R(),children:[jsx("h4",{className:"m-0 text-15 leading-26 font-medium text-text-strong",children:p}),l&&jsx(G,{asChild:true,onClick:w,children:jsx($,{size:"xsmall",mode:"ghost",className:W({class:"size-24 p-0"})})})]}),jsx("div",{className:N({className:a}),children:c$1})]})]})}function nt({variant:e="default",title:t,content:a,children:o,defaultOpen:n,className:i,side:d="top",align:l="center",sideOffset:m$1=1,arrow:p=true,open:c$1,contentClassName:v,onOpenChange:O,onConfirm:x,onCancel:y,...g}){let{root:w,content:C,header:P,arrowCls:N}=se({variant:e}),[R,W]=I__default.useState(n??false),k=c$1!==void 0,A=k?c$1:R,M$1=I__default.useCallback(T=>{k||W(T),O?.(T);},[k,O]),[D$1,u]=I__default.useState(false),L=I__default.useCallback(async()=>{M$1(false);try{u(!0),await x?.();}catch{}finally{u(false);}},[M$1,x]);return jsxs(D,{open:A,onOpenChange:M$1,children:[jsx(AnimatePresence,{children:A&&jsx(H,{as:m.div,...j,className:"bg-black/5"})}),jsx(E,{className:c(A&&"relative z-20"),children:jsx("div",{className:"inline-flex items-center",children:I__default.isValidElement(o)?I__default.cloneElement(o,{loading:D$1}):o})}),jsxs(F,{className:w({className:c("max-w-lg",i)}),arrowClassName:N(),unstyled:true,side:d,align:l,sideOffset:m$1,arrow:p,...g,children:[t&&jsxs("header",{className:P({className:"gap-6"}),children:[jsx(CircleAlert,{className:"text-red-500",size:16}),jsx("h4",{className:"m-0 text-15 leading-26 font-medium text-text-strong",children:t})]}),jsxs("div",{className:C({className:v}),children:[a,jsxs("div",{className:"mt-8 flex justify-end gap-12",children:[jsx(G,{unstyled:true,onClick:y,asChild:true,children:jsx(M,{size:"xsmall",variant:"neutral",mode:"stroke",className:"h-26",children:"Cancel"})}),jsx(M,{size:"xsmall",mode:"stroke",className:"h-26",onClick:L,children:"Confirm"})]})]})]})]})}function it({className:e,size:t="default",disabled:a,loading:o,onChange:n,...i}){return jsxs(Switch.Root,{"data-slot":"switch","data-size":t,onCheckedChange:n,className:c("peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent p-0 transition-all outline-none","focus-visible:ring-2 focus-visible:ring-primary-base focus-visible:ring-offset-1 data-disabled:cursor-not-allowed data-disabled:opacity-50 data-[state=checked]:bg-primary-base data-[state=unchecked]:bg-bg-sub","data-[size=default]:h-20 data-[size=default]:w-38 data-[size=small]:h-18 data-[size=small]:w-32","aria-invalid:border-error-base aria-invalid:ring-3 aria-invalid:ring-error-light","after:absolute after:-inset-x-12 after:-inset-y-8",e),disabled:a||o,...i,children:[jsx(Switch.Thumb,{"data-slot":"switch-thumb",className:c("pointer-events-none block rounded-full bg-bg-white ring-0 transition-transform duration-250","group-data-[size=default]/switch:size-16 group-data-[size=default]/switch:data-[state=checked]:translate-x-19","group-data-[size=default]/switch:data-[state=unchecked]:translate-x-1","group-data-[size=small]/switch:size-14 group-data-[size=small]/switch:data-[state=checked]:translate-x-15","group-data-[size=small]/switch:data-[state=unchecked]:translate-x-1")}),o&&jsx("span",{"data-slot":"switch-loader",className:c("absolute inset-y-0 left-0 m-auto flex items-center justify-center text-text-soft transition-transform","group-data-[size=default]/switch:size-16 group-data-[size=default]/switch:group-data-[state=checked]/switch:translate-x-19","group-data-[size=default]/switch:group-data-[state=unchecked]/switch:translate-x-1","group-data-[size=small]/switch:size-14 group-data-[size=small]/switch:group-data-[state=checked]/switch:translate-x-15","group-data-[size=small]/switch:group-data-[state=unchecked]/switch:translate-x-1"),children:jsx(Loader2,{className:"animate-spin group-data-[size=default]/switch:size-14 group-data-[size=small]/switch:size-12",strokeWidth:"1"})})]})}function Ne({...e}){return jsx(Drawer.Root,{"data-slot":"drawer",...e})}function Re({...e}){return jsx(Drawer.Trigger,{"data-slot":"drawer-trigger",...e})}function pt({...e}){return jsx(Drawer.Portal,{"data-slot":"drawer-portal",...e})}function le({...e}){return jsx(Drawer.Close,{"data-slot":"drawer-close",...e})}function ct({className:e,...t}){return jsx(Drawer.Overlay,{"data-slot":"drawer-overlay",className:c("fixed inset-0 z-50 bg-black/10 data-closed:animate-out data-closed:fade-out-0 data-open:animate-in data-open:fade-in-0",e),...t})}var mt={top:"inset-x-8 top-8 max-h-[80vh]",bottom:"inset-x-8 bottom-8 mt-96 max-h-[80vh]",left:"inset-y-8 left-8 w-3/5",right:"inset-y-8 right-8 w-3/5"};function ke({className:e,direction:t,children:a,...o}){let n=I.useRef({"--initial-transform":"calc(100% + 8px)"});return jsxs(pt,{"data-slot":"drawer-portal",children:[jsx(ct,{}),jsx(Drawer.Content,{"data-slot":"drawer-content",style:n.current,className:c("group/drawer-content fixed z-50 flex h-auto flex-col rounded-[12px] bg-static-white outline-none",t&&mt[t],e),...o,children:a})]})}function De({className:e,...t}){return jsx("div",{"data-slot":"drawer-header",className:c("flex flex-col px-16 py-12",e),...t})}function Te({className:e,...t}){return jsx("div",{"data-slot":"drawer-body",className:c("scrollbar-thin overflow-y-auto p-16 select-text",e),...t})}function ze({className:e,...t}){return jsx("div",{"data-slot":"drawer-footer",className:c("mt-auto flex flex-col gap-8 px-16 py-18",e),...t})}function Se({className:e,...t}){return jsx(Drawer.Title,{"data-slot":"drawer-title",className:c("m-0 text-xl leading-32 font-medium text-text-strong",e),...t})}function Oe({className:e,...t}){return jsx(Drawer.Description,{"data-slot":"drawer-description",className:c("m-0 text-md text-text-sub",e),...t})}function ft({direction:e="right",dismissible:t=true,skeletonItemCount:a=5,className:o,footerClassName:n,bodyClassName:i,headerClassName:d,title:l="Title",description:m,footer:p,trigger:c$1,container:v,children:O$1,open:x,onOpenChange:y,loading:g,handleOnly:w=true,style:C,width:P,onClose:N,onOk:R,...W}){let k=O(),A=I__default.useRef({...C,width:P}),[M$1,D]=I__default.useState(false),[u,L]=I__default.useState(false),T=x!==void 0,Me=T?x:M$1,Y=I__default.useCallback(F=>{!F&&u||(T||D(F),y?.(F));},[T,y,u]),He=I__default.useCallback(async()=>{if(!R){Y(false);return}let F=R();if(F instanceof Promise){L(true);try{await F,Y(!1);}catch{}finally{L(false);}}else Y(false);},[R,Y]),q=!u&&t;return jsxs(Ne,{container:v,direction:e,dismissible:q,handleOnly:w,autoFocus:true,open:Me,onOpenChange:Y,...W,children:[c$1&&jsx(Re,{asChild:true,children:c$1}),jsxs(ke,{direction:e,className:c(v&&v!==document.body&&"absolute",o),style:A.current,children:[t&&jsx(le,{asChild:true,children:jsx($,{disabled:!q})}),t===false&&jsx($,{disabled:!q,onClick:N}),jsxs(De,{className:c("border-b border-b-stroke-antd",d),children:[jsx(Se,{className:"pe-42",asChild:true,children:typeof l=="string"?jsx("h3",{children:l}):jsx("div",{children:l})}),jsx(Oe,{className:c(!m&&"sr-only"),children:m})]}),jsxs(Te,{className:i,children:[g&&jsx(gt,{count:a}),!g&&O$1]}),jsxs(ze,{className:c("flex-row border-t border-t-stroke-antd",n),children:[p,!p&&jsxs(Fragment,{children:[t&&jsx(le,{asChild:true,children:jsx(M,{variant:"neutral",mode:"stroke",className:"w-2/5",disabled:!q,children:k("close")})}),t===false&&jsx(M,{variant:"neutral",mode:"stroke",className:"w-2/5",disabled:!q,onClick:N,children:k("close")}),jsx(M,{variant:"neutral",mode:"filled",className:"w-3/5",loading:g||u,onClick:He,children:k("ok")})]})]})]})]})}function gt({count:e=5}){let t=Array.from({length:e});return jsxs("div",{className:"flex flex-col gap-16",children:[jsxs("div",{className:"flex flex-row items-center gap-12",children:[jsx(m$1,{className:"size-58 rounded-2xl"}),jsxs("div",{className:"flex flex-1 flex-col gap-4",children:[jsx(m$1,{className:"mb-4 h-14 w-3/10"}),jsx(m$1,{className:"h-10 w-7/10"}),jsx(m$1,{className:"h-10 w-9/10"})]})]}),t.map((a,o)=>jsxs("div",{className:"flex flex-col gap-8",children:[jsx(m$1,{className:"h-12 w-5/10"}),jsx(m$1,{className:"h-12 w-7/10"}),jsx(m$1,{className:"h-12 w-full"})]},o))]})}function vt(e){let[t,a]=I__default.useState(false),[o,n]=I__default.useState(null),i=I__default.useCallback(p=>{n(p),a(true);},[]),d=I__default.useCallback(()=>{a(false),n(null);},[]),l=I__default.useCallback(p=>{a(p),p||n(null);},[]);return [{...e,open:t,onOpenChange:l,onClose:d},o,i,d]}var yt={initial:{scale:.5,opacity:0,filter:"blur(2px)"},animate:{scale:1,opacity:1,filter:"blur(0px)"},exit:{scale:.5,opacity:0,filter:"blur(2px)"}},wt={opacity:{duration:.25},filter:{duration:.25},scale:{duration:.35,ease:[.34,1.56,.64,1]}};function Be({state:e,states:t,className:a}){return jsx(AnimatePresence,{initial:false,mode:"popLayout",children:jsx(m.span,{className:c("inline-flex items-center justify-center",a),variants:yt,initial:"initial",animate:"animate",exit:"exit",transition:wt,children:t[e]},e)})}var Ae=async e=>{if(!e)return;if(navigator.clipboard){await navigator.clipboard.writeText(e);return}let t=document.createElement("textarea");t.setAttribute("readonly",""),t.tabIndex=-1,t.style.position="fixed",t.style.left="-9999px",t.value=e,document.body.appendChild(t);let a=document.getSelection();if(a){let o=a.rangeCount>0&&a.getRangeAt(0);t.select(),document.execCommand("copy"),o&&(a.removeAllRanges(),a.addRange(o));}document.body.removeChild(t);};function Nt({content:e,delay:t=2e3,tooltipDelayDuration:a=700,variant:o="neutral",mode:n="stroke",size:i$1="small",as:d="button",onCopy:l,className:m}){let p=O(),[c$1,v]=I__default.useState(false),[O$1,x]=I__default.useState(false),[y,g]=I__default.useState(false),w=I__default.useRef(null),C=I__default.useRef(null);I__default.useEffect(()=>()=>{w.current&&clearTimeout(w.current),C.current&&clearTimeout(C.current);},[]);let P=I__default.useCallback(async()=>{c$1||(v(true),g(true),await Ae(e),l?.(e),w.current=setTimeout(()=>{g(false),C.current=setTimeout(()=>v(false),150);},t));},[c$1,t,e,l]),N=jsx(Be,{state:c$1?"succeed":"normal",states:{succeed:jsx(CheckCheck,{width:"1em",height:"1em"}),normal:jsx(Copy,{width:"1em",height:"1em"})}}),R=(()=>{switch(d){case "text":return jsx("span",{className:c("relative cursor-pointer before:absolute before:-inset-x-6 before:-inset-y-2 before:rounded-md hover:before:bg-bg-antd",m),onClick:P,children:jsx("span",{className:"relative z-1",children:e})});case "inline":return jsxs("span",{className:c("relative inline-flex cursor-pointer items-center gap-6 before:absolute before:-inset-x-6 before:-inset-y-2 before:rounded-md hover:before:bg-bg-antd",m),onClick:P,children:[jsx("span",{className:"relative z-1",children:e}),jsx("span",{className:c("inline-flex items-center text-zinc-500",c$1&&"text-primary-base"),children:N})]});default:return jsx(M,{variant:o,mode:n,size:i$1,className:c(c$1&&"cursor-not-allowed",m),onClick:P,startContent:N})}})();return jsx(i,{content:p(c$1?"copied":"copy"),size:i$1,open:y||O$1,delayDuration:a,onOpenChange:x,children:R})}function or({asChild:e,children:t,className:a,variant:o="slate",...n}){let i=e?Slot.Root:"div";return jsx(i,{className:c(`flex shrink-0 items-center justify-center rounded-xl border ui-badge-${o}`,a),...n,children:t})}function pr({...e}){return jsx(Collapsible.Root,{"data-slot":"collapsible",...e})}function cr({...e}){return jsx(Collapsible.CollapsibleTrigger,{"data-slot":"collapsible-trigger",...e})}function mr({className:e,...t}){return jsx(Collapsible.CollapsibleContent,{"data-slot":"collapsible-content",className:c("collapsible-content",e),...t})}
1
+ import'./chunk-H6NVJEOY.js';import {j,m as m$1}from'./chunk-5PSQNEWV.js';export{o as DropdownMenu,m as Skeleton,i as Tabs,a as UIProvider,c as debounce,n as dropdownMenuStyles,e as mergeRefs,d as throttle}from'./chunk-5PSQNEWV.js';import {b,c,E,I,F,G,H,N,O,i}from'./chunk-PEHDVTD7.js';export{N as Button,v as Card,D as Command,J as Popover,K as Spinner,i as Tooltip,f as TooltipArrow,h as TooltipProvider,d as TooltipRoot,e as TooltipTrigger,L as baseButtonStyle,M as buttonVariants,c as cn,g as tooltipVariants,b as tv,a as twMergeConfig}from'./chunk-PEHDVTD7.js';import {a}from'./chunk-M7AD2PUT.js';import {Slot,Avatar,Switch,Collapsible}from'radix-ui';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import*as L from'react';import L__default from'react';import {CircleAlert,Loader2,Copy,CheckCheck}from'lucide-react';import {AnimatePresence,m}from'motion/react';import {Drawer}from'vaul';var We={dateDash:"yyyy-MM-dd",dateSlash:"YYYY/MM/DD",dateTimeMinuteDash:"yyyy-MM-dd HH:mm",dateTimeMinuteSlash:"yyyy/MM/dd HH:mm",dateTimeSecondDash:"yyyy-MM-dd HH:mm:ss",dateTimeSecondSlash:"yyyy/MM/dd HH:mm:ss",timeMinute:"HH:mm",timeSecond:"HH:mm:ss"},Ye={presets:We};var fe=new WeakMap;function ge(e){return((...t)=>{let a=fe.get(e),o=t.map(String).join("_");if(a){let i=a.get(o);if(i)return i}else a=new Map,fe.set(e,a);let n=e(...t);return a.set(o,n),n})}function Yt(e,t,a="zh-CN"){return new Intl.NumberFormat(a,t).format(e)}function qt(e,t,a="zh-CN"){return new Intl.NumberFormat(a,{style:"currency",...t}).format(e)}function $t(e,t="en-US"){return new Intl.NumberFormat(t,{notation:"compact",compactDisplay:"short"}).format(e)}var Kt=ge((e,t=2)=>e.replace(/[.,!@#$%^&*()_+=\-`~[\]/\\{}:"|<>?]+/gi,"").trim().split(/\s+/).slice(0,t).map(a=>{if(!a.length)return "";if(/\s+/.test(e))return a.match(/./u)?.[0].toUpperCase();let o=new RegExp(".".repeat(t),"u"),n=a.match(o)?.[0];return n?n.charAt(0).toUpperCase()+n.slice(1):e.charAt(0).toUpperCase()+e.slice(1,2)}).join(""));var he={};a(he,{Badge:()=>$e,BadgeButton:()=>Ke,BadgeDot:()=>je,Root:()=>$e,badgeVariants:()=>ve});var ve=b({base:["inline-flex items-center justify-center border border-transparent font-medium whitespace-nowrap select-none [&_svg]:-ms-px [&_svg]:shrink-0","focus:ring-2 focus:ring-primary-base focus:ring-offset-2 focus:outline-hidden"],variants:{variant:{primary:"bg-primary-base text-static-white",secondary:"bg-gray-200 text-gray-700",success:"bg-green-500 text-static-white",warning:"bg-yellow-500 text-static-white",info:"bg-violet-500 text-static-white",outline:"border border-stroke-soft bg-transparent text-text-sub",error:"bg-red-600 text-static-white"},appearance:{default:"",light:"",outline:"border-stroke-sub",ghost:"border-transparent bg-transparent"},disabled:{true:"pointer-events-none opacity-50"},size:{large:"h-28 min-w-28 gap-6 rounded-lg px-8 text-md [&_svg]:size-14",medium:"h-24 min-w-24 gap-5 rounded-lg px-[7.2px] text-md [&_svg]:size-14",small:"h-20 min-w-20 gap-4 rounded-md px-[5.2px] text-[12px] leading-14 [&_svg]:size-12",xsmall:"h-16 min-w-16 gap-4 rounded-md px-4 text-[10px] leading-12 [&_svg]:size-12"},shape:{default:"",circle:"rounded-full"}},compoundVariants:[{variant:"primary",appearance:"light",className:"bg-primary-base text-static-white"},{variant:"secondary",appearance:"light",className:"bg-gray-200"},{variant:"success",appearance:"light",className:"bg-green-50 text-green-700"},{variant:"warning",appearance:"light",className:"bg-yellow-50 text-yellow-700"},{variant:"info",appearance:"light",className:"bg-violet-50 text-violet-700"},{variant:"error",appearance:"light",className:"bg-red-50 text-red-700"},{variant:"primary",appearance:"outline",className:"border-blue-100 bg-blue-50 text-blue-700"},{variant:"success",appearance:"outline",className:"border-green-100 bg-green-50 text-green-700"},{variant:"warning",appearance:"outline",className:"border-yellow-100 bg-yellow-50 text-yellow-700"},{variant:"info",appearance:"outline",className:"border-violet-100 bg-violet-50 text-violet-700"},{variant:"error",appearance:"outline",className:"border-red-100 bg-red-50 text-red-700"},{variant:"primary",appearance:"ghost",className:"text-primary-base"},{variant:"secondary",appearance:"ghost",className:"text-gray-700"},{variant:"success",appearance:"ghost",className:"text-green-500"},{variant:"warning",appearance:"ghost",className:"text-yellow-500"},{variant:"info",appearance:"ghost",className:"text-violet-500"},{variant:"error",appearance:"ghost",className:"text-error-base"},{size:"large",appearance:"ghost",className:"px-0"},{size:"medium",appearance:"ghost",className:"px-0"},{size:"small",appearance:"ghost",className:"px-0"},{size:"xsmall",appearance:"ghost",className:"px-0"}],defaultVariants:{variant:"primary",appearance:"default",size:"medium"}}),qe=b({base:"-me-2 inline-flex size-14 cursor-pointer items-center justify-center rounded-md p-0 leading-none opacity-60 transition-all hover:opacity-100 [&>svg]:size-14! [&>svg]:opacity-100!",variants:{variant:{default:""}},defaultVariants:{variant:"default"}});function $e({className:e,variant:t,size:a,appearance:o,shape:n,asChild:i=false,disabled:m,...p}){let d=i?Slot.Slot:"span";return jsx(d,{"data-slot":"badge",className:c(ve({variant:t,size:a,appearance:o,shape:n,disabled:m}),e),...p})}function Ke({className:e,variant:t,asChild:a=false,...o}){let n=a?Slot.Slot:"span";return jsx(n,{"data-slot":"badge-button",className:c(qe({variant:t,className:e})),role:"button",...o})}function je({className:e,...t}){return jsx("span",{"data-slot":"badge-dot",className:c("size-6 rounded-full bg-[currentColor] opacity-75",e),...t})}var ye={};a(ye,{Avatar:()=>Ge,AvatarFallback:()=>Qe,AvatarImage:()=>Je,AvatarIndicator:()=>Xe,AvatarStatus:()=>Ze,Root:()=>Ge,avatarStatusVariants:()=>xe});var xe=b({base:"border-background flex size-2 items-center rounded-full border-2",variants:{variant:{online:"bg-green-600",offline:"bg-zinc-400 dark:bg-zinc-500",busy:"bg-yellow-600",away:"bg-blue-600"}},defaultVariants:{variant:"online"}});function Ge({className:e,...t}){return jsx(Avatar.Root,{"data-slot":"avatar",className:c("relative flex size-40 shrink-0",e),...t})}function Je({className:e,...t}){return jsx("div",{className:c("relative overflow-hidden rounded-full",e),children:jsx(Avatar.Image,{"data-slot":"avatar-image",className:c("aspect-square h-full w-full"),...t})})}function Qe({className:e,...t}){return jsx(Avatar.Fallback,{"data-slot":"avatar-fallback",className:c("flex h-full w-full items-center justify-center rounded-full border border-stroke-soft bg-bg-weak text-[13px] text-text-sub",e),...t})}function Xe({className:e,...t}){return jsx("div",{"data-slot":"avatar-indicator",className:c("absolute flex size-24 items-center justify-center",e),...t})}function Ze({className:e,variant:t,...a}){return jsx("div",{"data-slot":"avatar-status",className:c(xe({variant:t}),e),...a})}function $({className:e,variant:t="neutral",mode:a="stroke",size:o="small",...n}){return jsx(N,{variant:t,mode:a,size:o,className:c("absolute top-12 right-10 z-10 m-auto aspect-square rounded-full border-transparent text-text-soft hover:text-text-strong",e),...n,children:jsxs("svg",{width:"1em",height:"1em",viewBox:"0 0 12 12",fill:"none",xmlns:"http://www.w3.org/2000/svg",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 se=b({slots:{root:"relative flex w-fit max-w-xl flex-col rounded-[12px] border border-stroke-soft p-0 text-md",content:"",arrowCls:"",header:"flex items-center pe-28 select-none",close:"rounded-full"},variants:{variant:{default:{root:"gap-8 bg-bg-white p-16 pt-12",close:"top-12 right-12 hover:bg-bg-weak"},accent:{root:"bg-bg-weak p-4",content:"rounded-[8px] bg-bg-white px-12 py-8 shadow-sm",header:"px-12 py-4 pb-6",close:"top-9 right-8 hover:bg-bg-white",arrowCls:"bg-bg-weak"}}},defaultVariants:{variant:"default"}});function tt({variant:e,className:t,contentClassName:a,side:o="bottom",align:n="start",arrow:i=true,unstyled:m=true,closeable:p=true,sideOffset:d=1,title:l,content:y,children:c$1,asChild:w,defaultOpen:C,open:P,onOpenChange:b,onClose:O,...N}){let{root:R,content:v,header:h,close:A,arrowCls:k}=se({variant:e}),[M,H$1]=L__default.useState(C??false),D=P!==void 0,u=D?P:M,F$1=L__default.useCallback(T=>{D||H$1(T),b?.(T);},[D,b]);return jsxs(E,{open:u,onOpenChange:F$1,children:[D&&u&&jsx(I,{}),jsx(F,{className:c(u&&"active",D&&u&&"relative z-20"),asChild:w,children:c$1}),jsxs(G,{className:R({className:t}),arrowClassName:k(),unstyled:m,side:o,align:n,sideOffset:d,arrow:i,...N,children:[l&&jsxs("header",{className:h(),children:[jsx("h4",{className:"m-0 text-15 leading-26 font-medium text-text-strong",children:l}),p&&jsx(H,{asChild:true,onClick:O,children:jsx($,{size:"xsmall",mode:"ghost",className:A({class:"size-24 p-0"})})})]}),jsx("div",{className:v({className:a}),children:y})]})]})}function nt({variant:e="default",title:t,content:a,children:o,defaultOpen:n,className:i,side:m$1="top",align:p="center",sideOffset:d=1,arrow:l=true,open:y,contentClassName:c$1,onOpenChange:w,onConfirm:C,onCancel:P,...b}){let{root:O,content:N$1,header:R,arrowCls:v}=se({variant:e}),[h,A]=L__default.useState(n??false),k=y!==void 0,M=k?y:h,H$1=L__default.useCallback(T=>{k||A(T),w?.(T);},[k,w]),[D,u]=L__default.useState(false),F$1=L__default.useCallback(async()=>{H$1(false);try{u(!0),await C?.();}catch{}finally{u(false);}},[H$1,C]);return jsxs(E,{open:M,onOpenChange:H$1,children:[jsx(AnimatePresence,{children:M&&jsx(I,{as:m.div,...j,className:"bg-black/5"})}),jsx(F,{className:c(M&&"relative z-20"),children:jsx("div",{className:"inline-flex items-center",children:L__default.isValidElement(o)?L__default.cloneElement(o,{loading:D}):o})}),jsxs(G,{className:O({className:c("max-w-lg",i)}),arrowClassName:v(),unstyled:true,side:m$1,align:p,sideOffset:d,arrow:l,...b,children:[t&&jsxs("header",{className:R({className:"gap-6"}),children:[jsx(CircleAlert,{className:"text-red-500",size:16}),jsx("h4",{className:"m-0 text-15 leading-26 font-medium text-text-strong",children:t})]}),jsxs("div",{className:N$1({className:c$1}),children:[a,jsxs("div",{className:"mt-8 flex justify-end gap-12",children:[jsx(H,{unstyled:true,onClick:P,asChild:true,children:jsx(N,{size:"xsmall",variant:"neutral",mode:"stroke",className:"h-26",children:"Cancel"})}),jsx(N,{size:"xsmall",mode:"stroke",className:"h-26",onClick:F$1,children:"Confirm"})]})]})]})]})}function it({className:e,size:t="default",disabled:a,loading:o,onChange:n,...i}){return jsxs(Switch.Root,{"data-slot":"switch","data-size":t,onCheckedChange:n,className:c("peer group/switch relative inline-flex shrink-0 items-center rounded-full border border-transparent p-0 transition-all outline-none","focus-visible:ring-2 focus-visible:ring-primary-base focus-visible:ring-offset-1 data-disabled:cursor-not-allowed data-disabled:opacity-50 data-[state=checked]:bg-primary-base data-[state=unchecked]:bg-bg-sub","data-[size=default]:h-20 data-[size=default]:w-38 data-[size=small]:h-18 data-[size=small]:w-32","aria-invalid:border-error-base aria-invalid:ring-3 aria-invalid:ring-error-light","after:absolute after:-inset-x-12 after:-inset-y-8",e),disabled:a||o,...i,children:[jsx(Switch.Thumb,{"data-slot":"switch-thumb",className:c("pointer-events-none block rounded-full bg-bg-white ring-0 transition-transform duration-250","group-data-[size=default]/switch:size-16 group-data-[size=default]/switch:data-[state=checked]:translate-x-19","group-data-[size=default]/switch:data-[state=unchecked]:translate-x-1","group-data-[size=small]/switch:size-14 group-data-[size=small]/switch:data-[state=checked]:translate-x-15","group-data-[size=small]/switch:data-[state=unchecked]:translate-x-1")}),o&&jsx("span",{"data-slot":"switch-loader",className:c("absolute inset-y-0 left-0 m-auto flex items-center justify-center text-text-soft transition-transform","group-data-[size=default]/switch:size-16 group-data-[size=default]/switch:group-data-[state=checked]/switch:translate-x-19","group-data-[size=default]/switch:group-data-[state=unchecked]/switch:translate-x-1","group-data-[size=small]/switch:size-14 group-data-[size=small]/switch:group-data-[state=checked]/switch:translate-x-15","group-data-[size=small]/switch:group-data-[state=unchecked]/switch:translate-x-1"),children:jsx(Loader2,{className:"animate-spin group-data-[size=default]/switch:size-14 group-data-[size=small]/switch:size-12",strokeWidth:"1"})})]})}function Ne({...e}){return jsx(Drawer.Root,{"data-slot":"drawer",...e})}function Re({...e}){return jsx(Drawer.Trigger,{"data-slot":"drawer-trigger",...e})}function pt({...e}){return jsx(Drawer.Portal,{"data-slot":"drawer-portal",...e})}function le({...e}){return jsx(Drawer.Close,{"data-slot":"drawer-close",...e})}function ct({className:e,...t}){return jsx(Drawer.Overlay,{"data-slot":"drawer-overlay",className:c("fixed inset-0 z-50 bg-black/10 data-closed:animate-out data-closed:fade-out-0 data-open:animate-in data-open:fade-in-0",e),...t})}var mt={top:"inset-x-8 top-8 max-h-[80vh]",bottom:"inset-x-8 bottom-8 mt-96 max-h-[80vh]",left:"inset-y-8 left-8 w-3/5",right:"inset-y-8 right-8 w-3/5"};function ke({className:e,direction:t,children:a,...o}){let n=L.useRef({"--initial-transform":"calc(100% + 8px)"});return jsxs(pt,{"data-slot":"drawer-portal",children:[jsx(ct,{}),jsx(Drawer.Content,{"data-slot":"drawer-content",style:n.current,className:c("group/drawer-content fixed z-50 flex h-auto flex-col rounded-[12px] bg-static-white outline-none",t&&mt[t],e),...o,children:a})]})}function De({className:e,...t}){return jsx("div",{"data-slot":"drawer-header",className:c("flex flex-col px-16 py-12",e),...t})}function Te({className:e,...t}){return jsx("div",{"data-slot":"drawer-body",className:c("scrollbar-thin overflow-y-auto p-16 select-text",e),...t})}function ze({className:e,...t}){return jsx("div",{"data-slot":"drawer-footer",className:c("mt-auto flex flex-col gap-8 px-16 py-18",e),...t})}function Se({className:e,...t}){return jsx(Drawer.Title,{"data-slot":"drawer-title",className:c("m-0 text-xl leading-32 font-medium text-text-strong",e),...t})}function Oe({className:e,...t}){return jsx(Drawer.Description,{"data-slot":"drawer-description",className:c("m-0 text-md text-text-sub",e),...t})}function ft({direction:e="right",dismissible:t=true,skeletonItemCount:a=5,className:o,footerClassName:n,bodyClassName:i,headerClassName:m,title:p="Title",description:d,footer:l,trigger:y,container:c$1,children:w,open:C,onOpenChange:P,loading:b,handleOnly:O$1=true,style:N$1,width:R,onClose:v,onOk:h,...A}){let k=O(),M=L__default.useRef({...N$1,width:R}),[H,D]=L__default.useState(false),[u,F]=L__default.useState(false),T=C!==void 0,Me=T?C:H,Y=L__default.useCallback(E=>{!E&&u||(T||D(E),P?.(E));},[T,P,u]),He=L__default.useCallback(async()=>{if(!h){Y(false);return}let E=h();if(E instanceof Promise){F(true);try{await E,Y(!1);}catch{}finally{F(false);}}else Y(false);},[h,Y]),q=!u&&t;return jsxs(Ne,{container:c$1,direction:e,dismissible:q,handleOnly:O$1,autoFocus:true,open:Me,onOpenChange:Y,...A,children:[y&&jsx(Re,{asChild:true,children:y}),jsxs(ke,{direction:e,className:c(c$1&&c$1!==document.body&&"absolute",o),style:M.current,children:[t&&jsx(le,{asChild:true,children:jsx($,{disabled:!q})}),t===false&&jsx($,{disabled:!q,onClick:v}),jsxs(De,{className:c("border-b border-b-stroke-antd",m),children:[jsx(Se,{className:"pe-42",asChild:true,children:typeof p=="string"?jsx("h3",{children:p}):jsx("div",{children:p})}),jsx(Oe,{className:c(!d&&"sr-only"),children:d})]}),jsxs(Te,{className:i,children:[b&&jsx(gt,{count:a}),!b&&w]}),jsxs(ze,{className:c("flex-row border-t border-t-stroke-antd",n),children:[l,!l&&jsxs(Fragment,{children:[t&&jsx(le,{asChild:true,children:jsx(N,{variant:"neutral",mode:"stroke",className:"w-2/5",disabled:!q,children:k("close")})}),t===false&&jsx(N,{variant:"neutral",mode:"stroke",className:"w-2/5",disabled:!q,onClick:v,children:k("close")}),jsx(N,{variant:"neutral",mode:"filled",className:"w-3/5",loading:b||u,onClick:He,children:k("ok")})]})]})]})]})}function gt({count:e=5}){let t=Array.from({length:e});return jsxs("div",{className:"flex flex-col gap-16",children:[jsxs("div",{className:"flex flex-row items-center gap-12",children:[jsx(m$1,{className:"size-58 rounded-2xl"}),jsxs("div",{className:"flex flex-1 flex-col gap-4",children:[jsx(m$1,{className:"mb-4 h-14 w-3/10"}),jsx(m$1,{className:"h-10 w-7/10"}),jsx(m$1,{className:"h-10 w-9/10"})]})]}),t.map((a,o)=>jsxs("div",{className:"flex flex-col gap-8",children:[jsx(m$1,{className:"h-12 w-5/10"}),jsx(m$1,{className:"h-12 w-7/10"}),jsx(m$1,{className:"h-12 w-full"})]},o))]})}function vt(e){let[t,a]=L__default.useState(false),[o,n]=L__default.useState(null),i=L__default.useCallback(l=>{n(l),a(true);},[]),m=L__default.useCallback(()=>{a(false),n(null);},[]),p=L__default.useCallback(l=>{a(l),l||n(null);},[]);return [{...e,open:t,onOpenChange:p,onClose:m},o,i,m]}var yt={initial:{scale:.5,opacity:0,filter:"blur(2px)"},animate:{scale:1,opacity:1,filter:"blur(0px)"},exit:{scale:.5,opacity:0,filter:"blur(2px)"}},wt={opacity:{duration:.25},filter:{duration:.25},scale:{duration:.35,ease:[.34,1.56,.64,1]}};function Be({state:e,states:t,className:a}){return jsx(AnimatePresence,{initial:false,mode:"popLayout",children:jsx(m.span,{className:c("inline-flex items-center justify-center",a),variants:yt,initial:"initial",animate:"animate",exit:"exit",transition:wt,children:t[e]},e)})}var Ae=async e=>{if(!e)return;if(navigator.clipboard){await navigator.clipboard.writeText(e);return}let t=document.createElement("textarea");t.setAttribute("readonly",""),t.tabIndex=-1,t.style.position="fixed",t.style.left="-9999px",t.value=e,document.body.appendChild(t);let a=document.getSelection();if(a){let o=a.rangeCount>0&&a.getRangeAt(0);t.select(),document.execCommand("copy"),o&&(a.removeAllRanges(),a.addRange(o));}document.body.removeChild(t);};function Nt({content:e,delay:t=700,tooltipDelayDuration:a=700,variant:o="neutral",mode:n="stroke",size:i$1="small",as:m="button",children:p,onCopy:d,className:l}){let y=O(),[c$1,w]=L__default.useState(false),[C,P]=L__default.useState(false),[b,O$1]=L__default.useState(false),N$1=L__default.useRef(null),R=L__default.useRef(null);L__default.useEffect(()=>()=>{N$1.current&&clearTimeout(N$1.current),R.current&&clearTimeout(R.current);},[]);let v=L__default.useCallback(async()=>{c$1||(w(true),O$1(true),await Ae(e),d?.(e),N$1.current=setTimeout(()=>{O$1(false),R.current=setTimeout(()=>w(false),150);},t));},[c$1,t,e,d]),h=jsx(Be,{state:c$1?"succeed":"normal",states:{succeed:jsx(CheckCheck,{width:"1em",height:"1em"}),normal:jsx(Copy,{width:"1em",height:"1em"})}}),A=(()=>{switch(m){case "text":return jsx("span",{className:c("relative cursor-pointer before:absolute before:-inset-x-4 before:-inset-y-1 before:rounded-md hover:before:bg-bg-antd",l),onClick:v,children:jsx("span",{className:"relative z-1",children:p??e})});case "inline":return jsxs("span",{className:c("relative inline-flex cursor-pointer items-center gap-6 before:absolute before:-inset-x-4 before:-inset-y-1 before:rounded-md hover:before:bg-bg-antd",l),onClick:v,children:[jsx("span",{className:"relative z-1",children:p??e}),jsx("span",{className:c("inline-flex items-center text-zinc-500",c$1&&"text-primary-base"),children:h})]});default:return jsx(N,{variant:o,mode:n,size:i$1,className:c(c$1&&"cursor-not-allowed",l),onClick:v,startContent:h})}})();return jsx(i,{content:y(c$1?"copied":"copy"),size:i$1,open:b||C,delayDuration:a,onOpenChange:P,hideWhenDetached:true,children:A})}function or({asChild:e,children:t,className:a,variant:o="slate",...n}){let i=e?Slot.Root:"div";return jsx(i,{className:c(`flex shrink-0 items-center justify-center rounded-xl border ui-badge-${o}`,a),...n,children:t})}function pr({...e}){return jsx(Collapsible.Root,{"data-slot":"collapsible",...e})}function cr({...e}){return jsx(Collapsible.CollapsibleTrigger,{"data-slot":"collapsible-trigger",...e})}function mr({className:e,...t}){return jsx(Collapsible.CollapsibleContent,{"data-slot":"collapsible-content",className:c("collapsible-content",e),...t})}
2
2
  export{ye as Avatar,he as Badge,pr as Collapsible,mr as CollapsibleContent,cr as CollapsibleTrigger,or as ColorPanel,Nt as CopyableText,ft as Drawer,nt as PopConfirm,tt as PopoverPreset,it as Switch,Ye as dateUtils,qt as formatCurrency,$t as formatIntegerCompact,Yt as formatNumber,Kt as getFirstLetters,vt as useDrawer};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jerry-fd/ui",
3
- "version": "0.4.5",
3
+ "version": "0.4.7",
4
4
  "description": "UI component library based on Ant Design (Client-side only)",
5
5
  "type": "module",
6
6
  "sideEffects": ["index.js", "*.css"],
package/chunk-GL6SS2S2.js DELETED
@@ -1 +0,0 @@
1
- import {b,c,h as h$1,j as j$1,N as N$1}from'./chunk-T44X4HCD.js';import {a}from'./chunk-M7AD2PUT.js';import {LazyMotion}from'motion/react';import S from'react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {Tabs,DropdownMenu}from'radix-ui';import {Circle,Check,ChevronRight}from'lucide-react';var T=Symbol.for("@@jerry-fe/ui/UIProviderContext");function de(){if(!globalThis[T]){let e=S.createContext(null);globalThis[T]=e;}return globalThis[T]}var le=()=>import('./motion-features-BVPA56CL.js').then(e=>e.default),H=de(),pe={hideOnSinglePage:false,showSizeChanger:true,pageSizeOptions:[10,20,30,50]},ue=({locale:e="zh-CN",tableStateStorageKey:t="APP_UI_TABLE_CONFIG",pagination:o=pe,children:a})=>{let r=S.useMemo(()=>({tableStateStorageKey:t,pagination:o}),[t,o]);return jsx(LazyMotion,{features:le,strict:true,children:jsx(h$1,{children:jsx(H.Provider,{value:r,children:jsx(j$1,{locale:e,children:a})})})})};ue.displayName="UIProvider";function ke(){let e=S.useContext(H);if(!e)throw new Error("useUiState must be used within UIProvider");return e}function Ae(e,t,o=true,a=true){let r,i=(...m)=>{r?(clearTimeout(r),r=void 0):o&&e(...m),r=self.setTimeout(()=>{a&&e(...m),r=void 0;},t);};return i.cancel=()=>{r&&(clearTimeout(r),r=void 0);},i}function Le(e,t,o=true){let a,r,i,m=(...f)=>{r=true,i=f,a||(o&&(r=false,e(...i)),a=self.setInterval(()=>{if(!r){self.clearInterval(a),a=void 0;return}r=false,e(...i);},t));};return m.cancel=()=>{a&&(self.clearInterval(a),a=void 0),r=false;},m}function _e(e){return t=>{e.forEach(o=>{typeof o=="function"?o(t):o!=null&&(o.current=t);});}}var ye={};a(ye,{Root:()=>be,Tabs:()=>be,TabsContent:()=>xe,TabsList:()=>ge,TabsTrigger:()=>ve});var me=b({base:"flex w-fit shrink-0 items-center",variants:{variant:{default:"bg-bg-antd p-4",button:"",line:"border-b border-stroke-antd"},shape:{default:"",pill:""},size:{large:"gap-10",medium:"gap-8",small:"gap-6",xsmall:"gap-4"}},compoundVariants:[{variant:"default",size:"large",className:"gap-10 p-6"},{variant:"default",size:"medium",className:"gap-4 p-4"},{variant:"default",size:"small",className:"gap-6 p-4"},{variant:"default",size:"xsmall",className:"gap-4 p-4"},{variant:"default",shape:"default",size:"large",className:"rounded-lg"},{variant:"default",shape:"default",size:"medium",className:"rounded-lg"},{variant:"default",shape:"default",size:"small",className:"rounded-md"},{variant:"default",shape:"default",size:"xsmall",className:"rounded-md"},{variant:"line",size:"large",className:"gap-28"},{variant:"line",size:"medium",className:"gap-28"},{variant:"line",size:"small",className:"gap-16"},{variant:"line",size:"xsmall",className:"gap-16"},{variant:"default",shape:"pill",className:"rounded-full **:[[role=tab]]:rounded-full"},{variant:"button",shape:"pill",className:"rounded-full **:[[role=tab]]:rounded-full"}],defaultVariants:{variant:"default",size:"medium"}}),ce=b({base:"inline-flex shrink-0 cursor-pointer items-center justify-center border-0 bg-transparent font-medium whitespace-nowrap ring-offset-1 transition-colors select-none focus-visible:ring-2 focus-visible:ring-primary-base focus-visible:ring-offset-2 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:shrink-0 [&_svg]:text-text-soft [&:hover_svg]:text-primary-base [&[data-state=active]_svg]:text-primary-base",variants:{variant:{default:"text-text-sub hover:text-text-strong data-[state=active]:bg-bg-white data-[state=active]:text-primary-base",button:"rounded-lg text-text-sub hover:text-text-strong focus-visible:ring-2 focus-visible:ring-primary-base focus-visible:ring-offset-1 data-[state=active]:bg-bg-antd data-[state=active]:text-text-strong",line:"border-b-2 border-transparent text-text-sub hover:text-text-strong data-[state=active]:border-primary-base data-[state=active]:text-primary-base"},size:{large:"gap-10 text-label-md [&_svg]:size-20",medium:"gap-8 text-label-sm [&_svg]:size-16",small:"gap-6 text-label-xs [&_svg]:size-14",xsmall:"gap-4 text-label-xs [&_svg]:size-14"}},compoundVariants:[{variant:"default",size:"large",className:"rounded-md px-16 py-10"},{variant:"default",size:"medium",className:"rounded-md px-12 py-6"},{variant:"default",size:"small",className:"rounded-sm px-10 py-6"},{variant:"default",size:"xsmall",className:"rounded-sm px-8 py-4"},{variant:"button",size:"large",className:"rounded-lg px-16 py-12"},{variant:"button",size:"medium",className:"rounded-lg px-12 py-10"},{variant:"button",size:"small",className:"rounded-md px-10 py-8"},{variant:"button",size:"xsmall",className:"rounded-md px-8 py-6"},{variant:"line",size:"large",className:"py-12"},{variant:"line",size:"medium",className:"py-10"},{variant:"line",size:"small",className:"py-8"},{variant:"line",size:"xsmall",className:"py-6"}],defaultVariants:{variant:"default",size:"medium"}}),fe=b({base:"focus-visible:ring-ring mt-10 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-hidden",variants:{variant:{default:""}},defaultVariants:{variant:"default"}}),K=S.createContext({variant:"default",size:"medium"});function be({className:e,...t}){return jsx(Tabs.Root,{"data-slot":"tabs",className:c("",e),...t})}function ge({className:e,variant:t="default",shape:o="default",size:a="medium",...r}){return jsx(K.Provider,{value:{variant:t||"default",size:a||"medium"},children:jsx(Tabs.List,{"data-slot":"tabs-list",className:c(me({variant:t,shape:o,size:a}),e),...r})})}function ve({className:e,...t}){let{variant:o,size:a}=S.useContext(K);return jsx(Tabs.Trigger,{"data-slot":"tabs-trigger",className:c(ce({variant:o,size:a}),e),...t})}function xe({className:e,variant:t,...o}){return jsx(Tabs.Content,{"data-slot":"tabs-content",className:c(fe({variant:t}),e),...o})}function $e({className:e,...t}){return jsx("div",{className:c("animate-pulse rounded-sm bg-bg-soft",e),...t})}var Me=b({slots:{content:["z-50 overflow-hidden rounded-2xl bg-bg-white p-8 shadow-regular-md ring-1 ring-stroke-soft ring-inset","flex flex-col gap-4 text-label-sm text-text-sub","data-[side=bottom]:origin-top data-[side=left]:origin-right data-[side=right]:origin-left data-[side=top]:origin-bottom","data-[state=open]:animate-in data-[state=open]:fade-in-0","data-[state=closed]:animate-out data-[state=closed]:fade-out-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2"],trigger:["cursor-default rounded-lg px-10 py-6 outline-none select-none [&_svg]:pointer-events-none [&_svg]:shrink-0","flex items-center gap-8","data-highlighted:bg-bg-weak data-[state=open]:bg-bg-weak","focus-visible:ring-2 focus-visible:ring-primary-base","data-disabled:pointer-events-none data-disabled:text-text-disabled"],item:["group/item relative cursor-pointer rounded-lg px-10 py-6 outline-none select-none data-highlighted:bg-bg-weak","flex items-center gap-8","transition duration-200 ease-out","focus:outline-none","focus-visible:ring-2 focus-visible:ring-primary-base","data-disabled:pointer-events-none data-disabled:text-text-disabled"],checkbox:["relative flex cursor-default items-center rounded-lg py-6 pr-6 transition-colors outline-none select-none","data-disabled:pointer-events-none data-disabled:text-text-disabled","data-highlighted:bg-bg-weak","focus:outline-none","focus-visible:ring-2 focus-visible:ring-primary-base","pl-38"],label:"px-8 py-2 text-label-sm text-text-soft",separator:"-mx-4 my-4 h-px bg-bg-weak",shortcut:"ml-auto text-text-soft group-data-disabled/item:text-text-disabled",arrow:"-mr-6 ml-auto size-16",icon:"size-16",check:"absolute top-1/2 left-10 size-16 -translate-y-1/2"},variants:{inset:{true:{trigger:"pl-38",item:"pl-38",label:"pl-38"}},destructive:{true:{item:"text-error-base focus-visible:ring-error-base data-highlighted:bg-red-50"}}}}),s=Me();var q=DropdownMenu.Root,X=DropdownMenu.Trigger,Y=DropdownMenu.Group,J=DropdownMenu.Portal,Q=DropdownMenu.Sub,Z=DropdownMenu.RadioGroup;DropdownMenu.Arrow;var z=({className:e,inset:t,children:o,...a})=>jsxs(DropdownMenu.SubTrigger,{className:s.trigger({inset:t,className:e}),...a,children:[o,jsx(ChevronRight,{className:s.arrow()})]});z.displayName=DropdownMenu.SubTrigger.displayName;var k=({className:e,...t})=>jsx(DropdownMenu.SubContent,{className:s.content({className:c("min-w-120",e)}),...t});k.displayName=DropdownMenu.SubContent.displayName;var V=({className:e,sideOffset:t=4,...o})=>jsx(DropdownMenu.Portal,{children:jsx(DropdownMenu.Content,{sideOffset:t,className:s.content({className:c("min-w-xs",e)}),...o})});V.displayName=DropdownMenu.Content.displayName;var F=({className:e,inset:t,destructive:o,...a})=>jsx(DropdownMenu.Item,{className:s.item({inset:t,destructive:o,className:e}),...a});F.displayName=DropdownMenu.Item.displayName;var A=({className:e,children:t,checked:o,...a})=>jsxs(DropdownMenu.CheckboxItem,{className:s.checkbox({className:e}),checked:o,...a,children:[jsx(DropdownMenu.ItemIndicator,{className:s.check(),asChild:true,children:jsx(Check,{})}),t]});A.displayName=DropdownMenu.CheckboxItem.displayName;var L=({className:e,children:t,...o})=>jsxs(DropdownMenu.RadioItem,{className:s.checkbox({className:e}),...o,children:[jsx(DropdownMenu.ItemIndicator,{className:s.check({className:"left-14 size-8 fill-current"}),asChild:true,children:jsx(Circle,{})}),t]});L.displayName=DropdownMenu.RadioItem.displayName;var h=({className:e,inset:t,...o})=>jsx(DropdownMenu.Label,{className:s.label({inset:t,className:e}),...o});h.displayName=DropdownMenu.Label.displayName;var x=({className:e,...t})=>jsx(DropdownMenu.Separator,{className:s.separator({className:e}),...t});x.displayName=DropdownMenu.Separator.displayName;var O=({className:e,...t})=>jsx("span",{className:s.shortcut({className:e}),...t});O.displayName="DropdownMenuShortcut";var N=({className:e,...t})=>jsx(N$1,{className:s.icon({className:e}),...t});N.displayName="DropdownMenuIcon";var j=({open:e,defaultOpen:t,modal:o,menuLabel:a,children:r,items:i,disabled:m,className:f,asChild:g=true,renderItem:I,onOpenChange:R,onAction:b,...C})=>{let l=I??ee;return jsxs(q,{open:e,defaultOpen:t,modal:o,onOpenChange:R,children:[jsx(X,{disabled:m,asChild:g,children:r}),jsxs(V,{className:c(f,"origin-(--radix-dropdown-menu-content-transform-origin)"),...C,children:[a&&jsxs(Fragment,{children:[jsx(h,{children:a}),jsx(x,{})]}),Array.isArray(i)&&i.map((y,w)=>l(y,w,b))]})]})};j.displayName="DropdownMenu";function ee(e,t,o){let{key:a,groupType:r,label:i,shortcut:m,icon:f,inset:g,onValueChange:I,...R}=e,b=a??t,C=Array.isArray(e.items)?e.items:void 0;return e.separator?jsx(x,{},a||`separator-${t}`):r==="radio"&&e.options?jsxs(Z,{value:String(e.value),onValueChange:I,children:[i&&jsxs(Fragment,{children:[jsx(h,{inset:g,children:i}),jsx(x,{})]}),e.options.map(l=>jsx(L,{disabled:l.disabled||e.disabled,value:String(l.value),children:l.label},l.key||l.value))]},b):r==="checkbox"&&e.options?jsxs(Y,{children:[i&&jsxs(Fragment,{children:[jsx(h,{inset:g,children:i}),jsx(x,{})]}),e.options.map(({key:l,label:y,value:w,disabled:te},oe)=>jsx(A,{disabled:te||e.disabled,checked:String(e.value)?.includes(String(w)),onCheckedChange:ae=>{let E=e.value??[],ne=ae?[...E,w]:E.filter(re=>re!==w);e.onValueChange?.(ne);},children:y},l||oe))]},b):C?jsxs(Q,{children:[jsxs(z,{inset:g,disabled:e.disabled,children:[f&&jsx(N,{as:f}),i]}),jsx(J,{children:jsx(k,{children:C.map((l,y)=>ee(l,`${b}-${y}`,o))})})]},b):jsxs(F,{inset:g,onClick:l=>o?.(e,l),...R,children:[f&&jsx(N,{as:f}),i,m&&jsx(O,{children:m})]},b)}var De={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0}},ut={variants:De,initial:"initial",animate:"animate",exit:"exit"},Ne={initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0}},mt={variants:Ne,initial:"initial",animate:"animate",exit:"exit"},Ie={initial:{opacity:0,y:24},animate:{opacity:1,y:0},exit:{opacity:0,y:-24}},ct={variants:Ie,initial:"initial",animate:"animate",exit:"exit"};export{ue as a,ke as b,Ae as c,Le as d,_e as e,be as f,ge as g,ve as h,ye as i,ut as j,mt as k,ct as l,$e as m,s as n,j as o};