@jerry-fd/ui 0.4.4 → 0.4.6

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 {e,b as b$1,c as c$1,j,f,g,h,l as l$1,d}from'./chunk-EM7GIZXE.js';import {O,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-VZDC732G.js';export{P as DATE_FORMATS,R as formatDateRange,Q as getDateDisplayFormat,S as getPickerInputFormat,O as useTransition}from'./chunk-VZDC732G.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 mt(t){P.useEffect(t,[]);}var ca={initial:{opacity:0},animate:{opacity:1},exit:{opacity:0}},le={variants:ca,initial:"initial",animate:"animate",exit:"exit"},da={initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0}},ce={variants:da,initial:"initial",animate:"animate",exit:"exit"},pa={initial:{opacity:0,y:24},animate:{opacity:1,y:0},exit:{opacity:0,y:-24}},de={variants:pa,initial:"initial",animate:"animate",exit:"exit"};var ma={small:"min-h-22",medium:"min-h-26",middle:"min-h-30",large:"min-h-38"};function me({count:t,size:n="small",classNames:a,columns:e,scroll:o}){let r=P.useCallback(()=>ba(e,ma[n]),[e,n]);return jsx(Table,{rowKey:"id",size:n,rowHoverable:false,classNames:a,dataSource:Array.from({length:t},(s,c)=>({id:c})),pagination:false,scroll:o,children:e.map((s,c)=>jsx(Table.Column,{dataIndex:s.dataIndex,width:s.width,title:jsx(j,{className:"h-22 w-full animate-none bg-bg-antd"}),render:r,onCell:()=>c===0?{colSpan:e.length}:{colSpan:0}},s.key||s.dataIndex))})}var ue=16;function ba(t,n){let a=t.length,o=`calc((100% - ${ue*(a-1)}px) / ${a})`,r=t.some(s=>s.skeleton==="avatar"||s.skeleton==="double-line");return jsx("div",{className:c("flex items-center",n),style:{gap:`${ue}px`},children:t.map((s,c)=>{let l=s?.key??c;return jsx("div",{style:{width:o},children:fa(s.skeleton,r)},l)})})}function fa(t,n){switch(t){case "avatar":return jsx(ga,{});case "double-line":return jsx(ya,{});case "group":return jsx(Ca,{needAlignment:n});default:return jsx(Ta,{needAlignment:n})}}function Ta({needAlignment:t}){return jsxs("div",{className:"grid h-full gap-4",children:[t&&jsx("div",{className:"h-12 w-1"}),jsx(j,{className:"h-10"})]})}function ga(){return jsxs("div",{className:"flex w-full items-center gap-6",children:[jsx(j,{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(j,{className:"h-12 w-[60%]"}),jsx(j,{className:"h-10"})]})]})}function ya(){return jsxs("div",{className:"grid h-full w-full gap-4 py-4",children:[jsx(j,{className:"h-12 w-[60%]"}),jsx(j,{className:"h-10"})]})}function Ca({needAlignment:t}){return jsxs("div",{className:"grid h-full gap-4",children:[t&&jsx("div",{className:"h-12 w-1"}),jsxs("div",{className:"flex w-full items-center gap-4",children:[jsx(j,{className:"h-10 w-[20%]"}),jsx(j,{className:"h-10 w-[20%]"}),jsx(j,{className:"h-10 w-[20%]"}),jsx(j,{className:"h-10 w-[20%]"}),jsx(j,{className:"h-10 w-[20%]"})]})]})}var $={pagination:{current:1,pageSize:10},filters:[],sorter:{},extra:{action:"paginate",currentDataSource:[]},tableSize:"middle",columnVisibility:{},exporting:false,loading:false,syncing:false,disabled:false},Q=(t,n)=>(t.tabs[n]||(t.tabs[n]={...$}),t.tabs[n]),Sa="APP_UI_TABLE_CONFIG",xa=(t,n)=>({activeTabId:n,tabs:{},stateVersion:0,changeReason:"mount",setActiveTab:a=>t(e=>{e.activeTabId=a,Q(e,a),e.changeReason="tab_switch",e.stateVersion++;}),syncTabExternal:(a,e)=>t(o=>{let r=o.tabs[a];r&&(r.loading=e.loading,r.syncing=e.syncing,r.exporting=e.exporting,r.disabled=e.disabled);}),initTab:(a,e)=>t(o=>{let r=o.tabs[a];r?(e.pagination&&(r.pagination=e.pagination),e.filters&&(r.filters=e.filters),e.sorter&&(r.sorter=e.sorter),r.loading=e.loading,r.syncing=e.syncing,r.exporting=e.exporting,r.disabled=e.disabled):o.tabs[a]={...$,...e};}),setFilters:(a,e)=>t(o=>{let r=Q(o,a);r.filters=e,r.pagination.current=1,o.changeReason="filter",o.stateVersion++;}),setPagination:(a,e,o)=>t(r=>{let s=Q(r,a);s.pagination={current:e,pageSize:o},r.changeReason="paginate",r.stateVersion++;}),setTableChange:(a,e,o)=>t(r=>{let s=Q(r,a);s.sorter=e,s.extra=o,r.changeReason="sort",r.stateVersion++;}),setTableSize:a=>t(e=>{Q(e,e.activeTabId).tableSize=a;}),setColumnVisibility:(a,e)=>t(o=>{Q(o,o.activeTabId).columnVisibility[a]=e;}),setColumnVisibilityState:a=>t(e=>{let o=Q(e,e.activeTabId);o.columnVisibility=typeof a=="function"?a(o.columnVisibility):a;}),toggleColumnVisibility:a=>t(e=>{let o=Q(e,e.activeTabId);o.columnVisibility[a]=!o.columnVisibility[a];}),resetTabUIState:a=>t(e=>{let o=a??e.activeTabId,r=e.tabs[o];r&&(r.tableSize=$.tableSize,r.columnVisibility={});})}),be=(t,n=Sa)=>createStore()(persist(immer(a=>xa(a,t)),{name:n,partialize:a=>({tableUIStatus:Object.fromEntries(Object.entries(a.tabs).map(([e,o])=>[e,{tableSize:o.tableSize,columnVisibility:o.columnVisibility}]))}),merge:(a,e)=>{let o=a,r={...e};if(!o?.tableUIStatus)return r;for(let[s,c]of Object.entries(o.tableUIStatus)){let l=r.tabs[s];l?(c.tableSize&&(l.tableSize=c.tableSize),c.columnVisibility&&(l.columnVisibility=c.columnVisibility)):r.tabs[s]={...$,tableSize:c.tableSize??$.tableSize,columnVisibility:c.columnVisibility??{}};}return r}}));var Te=P.createContext(null),ge=["id","action","actions"],ye=P.createContext({alwaysShowingColumns:ge});function Ce({store:t,tabList:n,alwaysShowingColumns:a,children:e}){let o=P.useMemo(()=>({tabList:n,alwaysShowingColumns:a??ge}),[n,a]);return jsx(ye.Provider,{value:o,children:jsx(Te.Provider,{value:t,children:e})})}function ft(){let t=P.useContext(Te);if(!t)throw new Error("useDataTableStoreApi must be used within DataTableProvider");return t}function J(t){let n=ft();return useStore(n,t)}function De(){let t=ft();return useStore(t,useShallow(n=>n.tabs[n.activeTabId]??$))}function he(){return J(t=>t.tabs[t.activeTabId]?.tableSize??$.tableSize)}function ve(){let t=ft();return useStore(t,useShallow(n=>n.tabs[n.activeTabId]?.columnVisibility??$.columnVisibility))}function Se(){let t=ft();return useStore(t,useShallow(n=>{let a=n.tabs[n.activeTabId];return {loading:a?.loading??false,syncing:a?.syncing??false,exporting:a?.exporting??false,disabled:a?.disabled??false}}))}function ot(){return P.useContext(ye)}function xe(t){let{tabList:n$1}=ot(),a=J(o=>o.activeTabId),e=J(o=>o.setActiveTab);return !n$1||!n$1?.length||n$1.length===1?null:jsx(n,{...t,children:jsx(f,{className:c("w-full"),value:a,onValueChange:e,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((t,n)=>({activeTableId:"",tasks:{},updateTableId:a=>t(()=>({activeTableId:a})),addTask:a=>t(e=>{let o=e.activeTableId;return {tasks:{...e.tasks,[o]:[...e.tasks[o]??[],a]}}}),removeTask:a=>t(e=>{let o=e.activeTableId;return {tasks:{...e.tasks,[o]:(e.tasks[o]??[]).filter(r=>r.localTaskId!==a)}}}),updateTask:(a,e)=>t(o=>{let r=o.activeTableId;return {tasks:{...o.tasks,[r]:(o.tasks[r]??[]).map(s=>s.localTaskId===a?{...s,...e}:s)}}}),getTasks:()=>{let a=n();return a.tasks[a.activeTableId]??[]}})),gt=()=>Z(useShallow(t=>t.tasks[t.activeTableId]??[]));function Re({className:t,...n}){let a=O(),[e,o]=P.useState(false),r=J(l=>l.setTableSize),s=he(),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(l$1,{side:"bottom",align:"end",collisionPadding:6,items:c$1,className:"min-w-100",open:e,onOpenChange:o,children:jsxs(M,{mode:"stroke",variant:"neutral",size:"small",className:c("gap-0",t,e&&"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 Pe(t,n){return new Promise((a,e)=>{let r=Object.assign({},{method:"GET",responseType:"json"},n),{method:s,timeout:c,responseType:l,headers:p,body:i,validateResponse:f}=r,h;function g(){r.signal&&r.signal.removeEventListener("abort",h);}if(r.signal&&r.signal.aborted)return e(new D("Aborted"));let m=new XMLHttpRequest,b=null,u=null;m.open(s.toUpperCase(),t,true),m.timeout=c||0,m.withCredentials=r.withCredentials===true,m.onloadend=function(){if(!m)return;let S=m.status,N=m.getResponseHeader("Content-Type")??"",F=l&&l!=="text"&&l!=="json",k=F?m.response:m.responseText,q=m.getAllResponseHeaders().split(`\r
2
- `).reduce((y,x)=>{let V=x.indexOf(": ");return V!==-1&&(y[x.slice(0,V).toLowerCase()]=x.slice(V+2)),y},{});function L(y){if(b){b.cancel();let x=y instanceof Blob?y.size:y instanceof ArrayBuffer?y.byteLength:typeof y=="string"?y.length:0;r.onDownloadProgress?.({loaded:x,total:x,lengthComputable:true,percentage:100});}r.withResponseHeaders?a({data:y,status:S,headers:q}):a(y);}if(S>=200&&S<300)if(l==="json"){let y=k;try{let x=y!==""?JSON.parse(y):null;if(!(f?.(x)??!0))throw new D("invalid response");L(x);}catch(x){e(x);}}else f?.(k)??true?L(k):e(new D("invalid response"));else {let y=null;if(!F)if(N.includes("application/json"))try{y=k!==""?JSON.parse(k):null;}catch{}else y=k||null;e(new D("Xhr Request failed",S,y));}g(),m=null;},m.onabort=function(){m&&(b?.cancel(),u?.cancel(),e(new D(D.ECONNABORTED)),g(),m=null);},m.onerror=function(){b?.cancel(),u?.cancel(),e(new D("Network Error",D.ERR_NETWORK)),g(),m=null;},m.ontimeout=function(){b?.cancel(),u?.cancel(),e(new D("Timeout exceeded",D.ETIMEDOUT)),g(),m=null;},typeof p=="object"&&Object.keys(p).forEach(R=>{m?.setRequestHeader(R,p[R]);}),i==null&&m.setRequestHeader("Content-Type",""),l&&l!=="json"&&(m.responseType=l),r.onDownloadProgress&&(b=Ee(r.onDownloadProgress),m.addEventListener("progress",b)),r.onUploadProgress&&m.upload&&(u=Ee(r.onUploadProgress),m.upload.addEventListener("progress",u),m.upload.addEventListener("loadend",R=>{u?.cancel(),r.onUploadProgress?.({loaded:R.loaded,total:R.loaded,lengthComputable:true,percentage:100});})),r.signal&&(h=()=>{m&&(e(new D(D.REQUEST_CANCELED,D.REQUEST_CANCELED)),m.abort(),m=null);},r.signal.aborted?h():r.signal.addEventListener("abort",h)),m.send(i??null);})}function Ee(t){return d(a=>{t({loaded:a.loaded,total:a.lengthComputable?a.total:0,lengthComputable:a.lengthComputable,percentage:a.lengthComputable&&a.total>0?Math.round(a.loaded/a.total*100):null});},250)}var D=class extends Error{constructor(a,e,o){super(a);b(this,"message");b(this,"code");b(this,"data");this.name="RequestError",this.message=a,e&&(this.code=e),o!==void 0&&(this.data=o);}};b(D,"ETIMEDOUT","ETIMEDOUT"),b(D,"ERR_NETWORK","ERR_NETWORK"),b(D,"ERR_BAD_OPTION_VALUE","ERR_BAD_OPTION_VALUE"),b(D,"ERR_BAD_OPTION","ERR_BAD_OPTION"),b(D,"ECONNABORTED","ECONNABORTED"),b(D,"ERR_FR_TOO_MANY_REDIRECTS","ERR_FR_TOO_MANY_REDIRECTS"),b(D,"ERR_DEPRECATED","ERR_DEPRECATED"),b(D,"ERR_BAD_RESPONSE","ERR_BAD_RESPONSE"),b(D,"ERR_BAD_REQUEST","ERR_BAD_REQUEST"),b(D,"ERR_CANCELED","ERR_CANCELED"),b(D,"REQUEST_CANCELED","REQUEST_CANCELED"),b(D,"ERR_NOT_SUPPORT","ERR_NOT_SUPPORT"),b(D,"ERR_INVALID_URL","ERR_INVALID_URL");var we=(t=false)=>{let[n,a]=useState(t),e=useCallback(()=>{a(true);},[]),o=useCallback(()=>{a(false);},[]);return [n,e,o]};var Ae=150,yt={ease:[.26,.08,.25,1],duration:.25},_a={initial:{opacity:0,scale:.95},visible:{opacity:1,scale:1,transition:{...yt,when:"beforeChildren"}},hidden:{opacity:0,scale:1.05,transition:{...yt,when:"afterChildren"}}},La={initial:{y:10,opacity:0},visible:{y:0,opacity:1,transition:yt},hidden:{y:-10,opacity:0,transition:yt}};function _e({containerRef:t,accept:n,acceptHint:a,onFileSelect:e}){let o=P.useRef(null),r=P.useRef(null),[s,c,l]=we(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();},Ae));},[l]),i=P.useCallback(()=>{o.current&&window.clearTimeout(o.current);},[]),f=P.useCallback(()=>{o.current&&window.clearTimeout(o.current),o.current=window.setTimeout(()=>{l();},Ae);},[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(()=>{e?.(b);},600));});return mt(()=>{if(!t?.current)return;let g=t.current;return g.addEventListener("dragenter",c),()=>{g.removeEventListener("dragenter",c),o.current&&window.clearTimeout(o.current),r.current&&window.clearTimeout(r.current);}}),jsx(Portal.Root,{container:t?.current,asChild:true,children:jsx(AnimatePresence,{children:s&&jsx(m.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:_a,children:jsx(Oa,{accept:n,acceptHint:a,onFileSelect:h})})})})}function Oa({accept:t,acceptHint:n,onFileSelect:a}){let e=O(),[o,r]=P.useState(false),s=P.useCallback(p=>{if(!t||!p.dataTransfer.items.length){r(false);return}let i=[...p.dataTransfer.items].every(f=>Ma(f.type,t));r(!i);},[t]),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:La,children:[jsxs("div",{className:"flex flex-col items-center",children:[jsx(FolderUp,{className:"size-48"}),jsx("strong",{className:"text-title-h6",children:e(o?"file_type_rejected":"drop_file_hint")})]}),jsx("span",{className:"text-text-soft",children:n?e("file_support_list",{formats:n}):e("file_support_all")})]})]})}function Ma(t,n,a=""){if(!n||n==="*")return true;if(!t&&!a)return false;let e=n.split(",").map(s=>s.trim().toLowerCase()),o=(t||"").toLowerCase(),r=(a||"").toLowerCase();return e.some(s=>{if(s.startsWith("."))return r.endsWith(s);if(s.endsWith("/*")){let c=s.slice(0,-1);return o.startsWith(c)}return o===s})}function Le(t=""){return `${t}-${Date.now().toString(36)+Math.random().toString(36).slice(2)}`}function Oe(t){return t?t.filter(n=>n.filter!==void 0).map(n=>{let{filter:a,dataIndex:e,title:o}=n,r=Array.isArray(e)?e.join("."):e,s=a.displayName??(typeof o=="string"?o:r);return {...a,columnId:r,displayName:s}}):[]}function Me(t){return t.key?String(t.key):Array.isArray(t.dataIndex)?t.dataIndex.join("."):String(t.dataIndex)}function Ba(t){return typeof t=="string"&&t.length>0}function Be(t){return [Array.isArray(t.dataIndex)?t.dataIndex.join(" "):typeof t.dataIndex=="string"?t.dataIndex:null,typeof t.title=="string"?t.title:null,t.key!==null?String(t.key):null].filter(Ba)}function Fe(t,n=22){if(!t)return "";if(t.length<=n)return t;let a=Math.floor(n/2.5),e=t.lastIndexOf("."),o,r;if(e>0?(o=t.substring(0,e),r=t.substring(e)):(o=t,r=""),o.length<=a*2)return t;let s=o.substring(0,a),c=o.substring(o.length-a);return `${s}\u2026${c}${r}`}function Ve(t,n){return {type:"import",localTaskId:Le(n?`import-file-${n}`:"import-file"),status:"pending",progress:0,file:t}}function He({tooltip:t,btnProps:n,disabled:a,loading:e,containerRef:o,accept:r,acceptHint:s,requestConfig:c,onBeforeUpload:l}){let p=O(),i$1=P.useId(),f=Z(b=>b.addTask),h=Z(b=>b.updateTask),g=a||e,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,R)=>{let S=new AbortController,N={...Ve(u,R),abortController:S};if(f(N),!c)throw Error("requestConfig is required.");let{url:F,method:k="POST",fieldName:q="file",body:L,onSuccess:y,onFailed:x,onUploadProgress:V,...K}=c,O=new FormData;O.append(q,u),L instanceof FormData?L.forEach((_,H)=>O.append(H,_)):L&&Object.keys(L).forEach(_=>{O.append(_,L[_]);}),Pe(F,{...K,onUploadProgress:_=>{V?.(_),h(N.localTaskId,{status:"importing",progress:_.percentage??0});},method:k,body:O,signal:S.signal}).then(_=>{y?.(_),h(N.localTaskId,{status:"done"});}).catch(_=>{x?.(_),h(N.localTaskId,{status:"failed"});});});},[c,l,f,h]);return jsxs(Fragment,{children:[jsx(_e,{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:t??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:e,startContent:jsx(Upload,{}),disabled:g,className:"pointer-events-none",...n,children:p("data_import")})})})]})}function $e({disabled:t,columns:n}){let a=O(),{alwaysShowingColumns:e}=ot(),[o,r]=P.useState(false),s=ve(),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:t,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=Me(p),f=s[i]!==false,h=typeof p.title=="string"&&p.title?.trim()==="",g=h?p.key:p.title;return jsxs(B,{keywords:Be(p),onSelect:()=>l(i,!f),className:"group flex items-center gap-6",value:i,disabled:e?.includes(i),children:[jsx(Checkbox,{checked:f,tabIndex:-1,className:c("mr-4 opacity-100")}),jsx("span",{className:c(h&&"capitalize"),children:g})]},i)})})})]})})]})}var Ke=["data_refresh","size_setting","column_setting","filter_btn"];function Ka({btnProps:t,disabled:n,loading:a,onAction:e}){let o=O();return jsx(M,{variant:"primary",startContent:jsx(Download,{}),loading:a,disabled:n||a,onClick:()=>e({action:"data_export"}),...t,children:o("data_export")})}var Wa={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}},ja={ease:[.26,.08,.25,1],duration:.25};function We({containerRef:t,columns:n,filter:a,items:e=Ke,className:o,onAction:r,...s}){let{loading:c$1,syncing:l,exporting:p,disabled:i}=De(),f=P.useMemo(()=>e.map(u=>Ga(u)),[e]),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 R={btnProps:u.btnProps,tooltip:u.tooltip,disabled:i||l||c$1,loading:c$1,onAction:g};switch(u.type){case "data_refresh":return jsx(qa,{...R,syncing:l});case "size_setting":return jsx(Re,{...u.btnProps});case "column_setting":return jsx($e,{...u.btnProps,columns:n});case "data_export":return jsx(Ka,{...R,loading:p});case "data_import":return jsx(He,{...R,loading:p,containerRef:t,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:Wa,initial:"initial",animate:"animate",exit:"exit",className:"leading-none",transition:ja,children:b(u)},u.key))})})}function qa({btnProps:t,tooltip:n,disabled:a,loading:e,syncing:o,onAction:r}){let s=O(),c=n??s("refresh");return jsx(i,{content:c,children:jsx(M,{mode:"stroke",variant:"neutral",startContent:jsx(RefreshCw,{}),loading:o||e,disabled:a||e||o,className:"gap-0",onClick:()=>r({action:"data_refresh"}),...t})})}function Ga(t){return typeof t=="string"?{type:t,key:t}:t.type==="custom"?{type:"custom",key:t.key,hidden:t.hidden,render:t.render}:t.type==="data_import"?{type:"data_import",key:t.key??t.type,hidden:t.hidden,btnProps:t.btnProps,tooltip:t.tooltip,accept:t.accept,acceptHint:t.acceptHint,requestConfig:t.requestConfig,onBeforeUpload:t.onBeforeUpload}:{type:t.type,key:t.key??t.type,hidden:t.hidden,btnProps:t.btnProps,tooltip:t.tooltip}}function Ge({className:t,value:n,...a}){return jsx(Progress.Root,{"data-slot":"progress",className:c("relative flex h-4 w-full items-center overflow-x-hidden rounded-full bg-bg-soft",t),...a,children:jsx(Progress.Indicator,{"data-slot":"progress-indicator",className:"size-full flex-1 bg-primary-base transition-all",style:{transform:`translateX(-${100-(n||0)}%)`}})})}function Ye({onAction:t,...n}){let a=gt();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(e=>e.type==="import"?jsx(Ja,{...e,onSuccess:()=>{t?.({action:"import_done"});}},e.localTaskId):jsx(Za,{...e},e.localTaskId))})}function Ja(t){let n=O(),a=Z(s=>s.removeTask),e=t.status==="failed",o=t.status==="done";return jsxs("div",{className:"flex h-full items-center gap-8",children:[jsxs("span",{className:c("truncate text-md font-medium",o?"text-success-base":e?"text-error-base":"text-text-strong"),children:[n(e?"import_failed":o?"import_done":t.status)," ",Fe(t.file.name)]}),jsxs("span",{className:"min-w-34 shrink-0 text-right text-sm text-text-sub",children:[t.progress,"%"]}),jsx(M,{variant:"neutral",mode:"ghost",size:"xsmall",className:"min-w-28 rounded-full px-0",onClick:()=>{t.abortController?.signal.aborted===false&&!e&&!o&&t.abortController?.abort("User canceled"),a(t.localTaskId),o&&t.onSuccess?.(t.localTaskId);},startContent:o?jsx(Check,{className:"text-success-base"}):jsx(to,{})})]})}function Za(t){return jsxs("div",{className:"flex w-fit min-w-220 flex-col justify-center gap-6",children:[jsxs("div",{className:"lable flex items-center justify-center gap-12",children:[jsx("span",{className:"font-medium text-text-strong",children:"Task Name"}),jsx("span",{className:"ml-auto text-sm text-text-sub",children:t.progress})]}),jsx(Ge,{value:66})]})}function to(){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 Qe={initial:{y:10,opacity:0},animate:{y:0,opacity:1},exit:{y:-10,opacity:0}},Je={ease:[.26,.08,.25,1],duration:.25};function Ze({containerRef:t,items:n,filter:a,columns:e,onAction:o}){let r=gt();return jsx(AnimatePresence,{initial:false,mode:"popLayout",children:r.length?jsx(Ye,{variants:Qe,initial:"initial",animate:"animate",exit:"exit",transition:Je,onAction:o},"task-bar"):jsx(We,{variants:Qe,initial:"initial",animate:"animate",exit:"exit",transition:Je,containerRef:t,onAction:o,filter:a,columns:e,items:n},"toolbar")})}var ao=26,ta=44,oo=200,ro=250,no={},so=t=>t.querySelector(".ant-table-thead")?.offsetHeight??ta,kt=(t,n)=>{if(!t)return 0;let a=t.querySelectorAll(':scope [data-id^="data-table-card-"]'),e=0;return a.forEach(o=>{let r=o.getAttribute("data-id")==="data-table-card-content";e+=r?0:o.clientHeight;}),document.documentElement.clientHeight-n-window.scrollY-ao-so(t)-e-3};function ea(t,n,{x:a,y:e,...o}=no,r,s,c){let[l,p]=P.useState(e),i=P.useRef(0),f=P.useRef(null);if(P.useLayoutEffect(()=>{if(!s)return;i.current=t.current?.offsetTop??0,f.current||(f.current=c$1(()=>{i.current=t.current?.offsetTop??0,p(kt(t.current,i.current));},oo,false,true)),window.addEventListener("resize",f.current);let g=null;return t.current&&(g=new MutationObserver(f.current),g.observe(t.current,{childList:true,subtree:true,attributes:true,attributeFilter:["style","class","hidden"]})),()=>{f.current&&(window.removeEventListener("resize",f.current),f.current.cancel()),g?.disconnect();}},[t,s]),P.useEffect(()=>{if(!s||e!==void 0)return;p(kt(t.current,i.current));let g=setTimeout(()=>{p(kt(t.current,i.current));},ro);return ()=>{clearTimeout(g);}},[e,n,t,s]),!s)return {x:a,y:e,...o};let h=l&&typeof l=="number"?l+(r?ta:0):l;return {x:c&&!a?1280:a??"max-content",y:c&&!h?620:h,...o}}var co={ease:[.26,.08,.25,1],duration:.3},po={},uo={root:"m-0 flex w-full [&_.ant-pagination-total-text]:ps-6 [&_.ant-pagination-total-text]:mr-auto"};function mo(t){let{store:n,tabList:a,alwaysShowingColumns:e,...o}=t;return mt(()=>{let r=document.body,s=l=>{l.preventDefault(),l.dataTransfer&&(l.target.closest("[data-dropzone]")?l.dataTransfer.dropEffect="copy":l.dataTransfer.dropEffect="none");},c=l=>{l.preventDefault();};return r.addEventListener("drop",c),r.addEventListener("dragover",s),r.addEventListener("dragenter",s),()=>{r.removeEventListener("drop",c),r.removeEventListener("dragover",s),r.removeEventListener("dragenter",s);}}),jsx(Ce,{store:n,tabList:a,alwaysShowingColumns:e,children:jsx(bo,{...o})})}function bo(t$1){let{ref:n$1,activeTabId:a,variant:e$1,style:o$1,cardTitle:r$1,cardIcon:s$1,cardDescription:c$1,classNames:l$1,enableTableAutoScrollSizer:p$1,slots:i,columns:f,filterColumns:h,tableColumns:g,defaultFilters:m$2,tableProps:b,paginationProps:u,toolbarItems:R,isCustomTab:S,tabRenderCtx:N,customRender:F,onToolbarAction:k$1,onFiltersChange:q$1}=t$1,L=O(),y=P.useRef(null),x=P.useRef(null),{tabList:V$1}=ot(),{syncing:K,loading:O$1}=Se(),_=Z(E=>E.updateTableId),[H,ut]=V({filters:m$2,onFiltersChange:q$1});P.useEffect(()=>{_(a);},[a]);let tt=H&&H.length!==0,ht=!!(O$1&&g.some(E=>E.skeleton)),vt=Math.min(u.pageSize,15),St=P.useCallback(E=>L("pagination_total").replace("{total}",String(E)),[L]),st=ea(x,`${H?.length}-${a}`,b.scroll,S,p$1,b.virtual),d=ht?jsx(me,{id:`${a}-skeleton`,columns:g,size:b.size,count:vt,scroll:st}):jsx(Table,{id:`${a}-data-table`,columns:g,loading:O$1,showSorterTooltip:false,...b,scroll:st}),T$1=!!u.total&&(u.hideOnSinglePage!==true||u.total>u.pageSize);return jsxs(k,{ref:e([x,n$1]),style:o$1,className:c("relative rounded-[16px]",p$1&&"h-full max-h-[calc(100vh-var(--offset-top))] overflow-hidden",l$1?.root),variant:e$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",e$1==="accent"&&"pt-10",V$1&&V$1?.length>1&&"border-b-0",l$1?.cardHeader),children:[jsxs(p,{className:c("flex items-center gap-12",l$1?.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$1?.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:R!==false&&jsx(q,{as:m.div,className:l$1?.cardToolbar,...le,children:jsx(Ze,{containerRef:y,items:R,columns:f,onAction:k$1,filter:h.length!==0&&jsx(U,{columns:h,filters:H,actions:ut,disabled:O$1||K,align:"end",enableAutoBack:true},`${a}-filter`)})})})]}),i?.cardSummary&&jsx(n,{"data-id":"data-table-card-summary",className:c("grow-0 p-12",l$1?.cardSummary),children:i.cardSummary}),jsx(xe,{"data-id":"data-table-card-tabs",className:"grow-0 p-0"}),jsx(AnimatePresence,{initial:false,children:tt&&jsx(m.div,{"data-id":"data-table-card-filter-values",...ce,children:jsx(n,{className:"p-0",children:jsx(T,{columns:h,filters:H,actions:ut,"data-id":"data-table-active-filters",className:"flex flex-wrap gap-10 px-12 pt-16",disabled:K||O$1,enableAutoClose:true})})},a)}),jsxs(m$1,{"data-id":"data-table-card-content",className:c("relative grow p-12 pb-0",(K||O$1)&&"pointer-events-none",p$1&&"overflow-hidden",l$1?.cardContent),children:[i?.tableSummary&&jsx(n,{"data-id":"data-table-card-table-summary",className:c("grow-0 p-0 pb-12",l$1?.tableSummary),children:i.tableSummary}),jsx(AnimatePresence,{mode:"popLayout",initial:false,children:jsx(m.div,{ref:y,className:c("relative w-full",S&&p$1&&"overflow-auto"),style:S&&p$1?{maxHeight:st.y}:po,...de,transition:co,children:S?F?.(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:uo,disabled:O$1||K,size:"small",showTotal:St,...u})}),i?.cardFooter&&jsx(o,{"data-id":"data-table-card-footer",className:c("grow-0 px-16 py-12",l$1?.cardFooter),children:i.cardFooter})]})}function To(t){let{tabList:n,fireOnMount:a=true,storageKey:e,onTabChange:o,onTableChange:r,onToolbarAction:s}=t,{pagination:c,tableStateStorageKey:l}=b$1(),p=P.useRef(new Set),[i]=P.useState(()=>{let d=be(n[0].id,e??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 E=T.activeTabId,G=T.tabs[E];if(!G)return;let it={pagination:G.pagination,filters:G.filters,sorter:G.sorter},Nt=T.changeReason;Nt==="tab_switch"&&f.current.onTabChange?.(E),f.current.onTableChange?.(E,it,Nt);})},[i]);let u=P.useRef(false);P.useEffect(()=>{if(u.current||(u.current=true,!a))return;let d=i.getState(),T=d.activeTabId,E=d.tabs[T];E&&f.current.onTableChange?.(T,E,"mount");},[i,a]);let R=useStore(i,d=>d.activeTabId),S=useStore(i,useShallow(d=>d.tabs[d.activeTabId]??$)),N=h.current.get(R),F=N?.type==="custom",k=F?void 0:N,q=F?N:void 0,{columnVisibility:L,pagination:y}=S,x=k?.columns,V=q?.filterColumns,K=P.useMemo(()=>x?x.filter(d=>!d.hidden):[],[x]),O=P.useMemo(()=>F?V??[]:Oe(x),[F,V,x]),_=P.useMemo(()=>K.filter(d=>{let T=d.key??d.dataIndex;return !T||L[T]!==false}),[K,L]),H=P.useCallback(d=>{let T=i.getState(),E=T.activeTabId,G=T.tabs[E]?.filters??[],it=typeof d=="function"?d(G):d;T.setFilters(E,it);},[i]),ut=P.useCallback((d,T,E,G)=>{let it=i.getState().activeTabId;i.getState().setTableChange(it,E,G);},[i]),tt=P.useCallback((d,T)=>{let E=i.getState().activeTabId;i.getState().setPagination(E,d,T);},[i]),ht=P.useCallback(d=>{let T=i.getState().activeTabId;f.current.onToolbarAction?.(T,d);},[i]),vt=P.useMemo(()=>({...c,current:y.current,pageSize:y.pageSize,total:N?.total,onChange:tt,onShowSizeChange:tt}),[c,y,N?.total,tt]),St=P.useMemo(()=>({loading:S.loading,syncing:S.syncing,exporting:S.exporting,disabled:S.disabled,filters:S.filters,pagination:y,onFiltersChange:H,onPaginationChange:tt}),[S,y,H,tt]),st=P.useMemo(()=>n.map(({id:d,label:T,value:E})=>({id:d,label:T,value:E})),[g]);return {store:i,activeTabId:R,tabList:st,columns:K,filterColumns:O,tableColumns:_,tableProps:{dataSource:k?.dataSource,rowKey:k?.rowKey,size:S.tableSize,pagination:false,scroll:k?.scroll,virtual:k?.virtual,onChange:ut},paginationProps:vt,defaultFilters:S.filters,onFiltersChange:H,toolbarItems:N?.toolbarItems,onToolbarAction:ht,isCustomTab:F,customRender:q?.render,tabRenderCtx:St,enableTableAutoScrollSizer:k?.enableTableAutoScrollSizer??q?.enableTableAutoScrollSizer??true}}function oa(t){return {pagination:t.defaultPagination,filters:t.defaultFilters,sorter:t.type!=="custom"?t.defaultSorter:void 0,loading:t.loading,syncing:t.syncing,exporting:t.exporting,disabled:t.disabled}}export{Ke as DEFAULT_TOOLBAR_ITEMS,mo as DataTable,To 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-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(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,10 +1,10 @@
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';
7
- import { Avatar as Avatar$1, Tabs as Tabs$1, Popover as Popover$1, DropdownMenu as DropdownMenu$2, Collapsible as Collapsible$1, Tooltip as Tooltip$1 } from 'radix-ui';
7
+ import { Avatar as Avatar$1, Tabs as Tabs$1, Popover as Popover$1, Switch as Switch$1, DropdownMenu as DropdownMenu$2, Collapsible as Collapsible$1, Tooltip as Tooltip$1 } from 'radix-ui';
8
8
  import { Command as Command$1 } from 'cmdk';
9
9
  import { DialogProps } from 'vaul';
10
10
  import { B as ButtonSharedProps } from './button-DMIeJ1gB.js';
@@ -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;
@@ -431,7 +430,7 @@ declare function PopoverClose({ className, unstyled, ...rest }: React__default.C
431
430
  unstyled?: boolean;
432
431
  }): react_jsx_runtime.JSX.Element;
433
432
  declare function PopoverAnchor({ ...props }: React__default.ComponentProps<typeof Popover$1.Anchor>): react_jsx_runtime.JSX.Element;
434
- declare function PopoverOverlay({ className, ...props }: React__default.ComponentProps<'div'>): react_jsx_runtime.JSX.Element;
433
+ declare function PopoverOverlay<T extends React__default.ElementType = 'div'>({ as, className, ...props }: PolymorphicProps<T>): react_jsx_runtime.JSX.Element;
435
434
 
436
435
  declare const popover_Popover: typeof Popover;
437
436
  declare const popover_PopoverAnchor: typeof PopoverAnchor;
@@ -514,7 +513,27 @@ type PopoverPresetProps = VariantProps<typeof popoverVariants> & React__default.
514
513
  onOpenChange?: (open: boolean) => void;
515
514
  onClose?: () => void;
516
515
  };
517
- declare function PopoverPreset({ variant, className, contentClassName, side, align, arrow, unstyled, closeable, sideOffset, title, content: contentNode, children, defaultOpen, open: controlledOpen, onOpenChange: controlledOnOpenChange, onClose, ...rest }: PopoverPresetProps): react_jsx_runtime.JSX.Element;
516
+ declare function PopoverPreset({ variant, className, contentClassName, side, align, arrow, unstyled, closeable, sideOffset, title, content: contentNode, children, asChild, defaultOpen, open: controlledOpen, onOpenChange: controlledOnOpenChange, onClose, ...rest }: PopoverPresetProps): react_jsx_runtime.JSX.Element;
517
+
518
+ type PopConfirmProps = VariantProps<typeof popoverVariants> & React__default.ComponentProps<typeof PopoverContent> & {
519
+ title?: React__default.ReactNode;
520
+ content?: React__default.ReactNode;
521
+ contentClassName?: string;
522
+ open?: boolean;
523
+ defaultOpen?: boolean;
524
+ closeable?: boolean;
525
+ onOpenChange?: (open: boolean) => void;
526
+ onConfirm?: () => void | Promise<void>;
527
+ onCancel?: () => void;
528
+ };
529
+ declare function PopConfirm({ variant, title, content: contentNode, children, defaultOpen, className, side, align, sideOffset, arrow, open: controlledOpen, contentClassName, onOpenChange: controlledOnOpenChange, onConfirm, onCancel, ...rest }: PopConfirmProps): react_jsx_runtime.JSX.Element;
530
+
531
+ type RootProps = React__default.ComponentProps<typeof Switch$1.Root>;
532
+ declare function Switch({ className, size, disabled, loading, onChange, ...props }: Omit<RootProps, 'onCheckedChange' | 'onChange'> & {
533
+ size?: 'small' | 'default';
534
+ loading?: boolean;
535
+ onChange?: RootProps['onCheckedChange'];
536
+ }): react_jsx_runtime.JSX.Element;
518
537
 
519
538
  type DrawerProps = Omit<DialogProps, 'onOpenChange'> & {
520
539
  className?: string;
@@ -873,4 +892,4 @@ declare const Tooltip: React__default.FC<TooltipProps & {
873
892
  content: React__default.ReactNode;
874
893
  }>;
875
894
 
876
- export { avatar as Avatar, badge as Badge, ButtonSharedProps, card as Card, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorPanel, command as Command, CopyableText, type CopyableTextProps, type DebouncedFunction, Drawer, type DrawerProps, DropdownMenu, type DropdownMenuItemProps, type DropdownMenuProps, type DropdownMenuVariants, type MenuPropBase, popover as Popover, PopoverPreset, type PopoverPresetProps, type Scheduler, Skeleton, Spinner, tabs as Tabs, type ThrottledFunction, Tooltip, TooltipArrow, TooltipProvider, TooltipRoot, TooltipTrigger, UIProvider, type UseDrawerOptions, cn, dateUtils, debounce, dropdownMenuStyles, formatCurrency, formatIntegerCompact, formatNumber, getFirstLetters, mergeRefs, throttle, tooltipVariants, tv, twMergeConfig, useDrawer };
895
+ export { avatar as Avatar, badge as Badge, ButtonSharedProps, card as Card, Collapsible, CollapsibleContent, CollapsibleTrigger, ColorPanel, command as Command, CopyableText, type CopyableTextProps, type DebouncedFunction, Drawer, type DrawerProps, DropdownMenu, type DropdownMenuItemProps, type DropdownMenuProps, type DropdownMenuVariants, type MenuPropBase, PopConfirm, type PopConfirmProps, popover as Popover, PopoverPreset, type PopoverPresetProps, type Scheduler, Skeleton, Spinner, Switch, tabs as Tabs, type ThrottledFunction, Tooltip, TooltipArrow, TooltipProvider, TooltipRoot, TooltipTrigger, UIProvider, type UseDrawerOptions, cn, dateUtils, debounce, dropdownMenuStyles, formatCurrency, formatIntegerCompact, formatNumber, getFirstLetters, mergeRefs, throttle, tooltipVariants, tv, twMergeConfig, useDrawer };
package/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import {j}from'./chunk-EM7GIZXE.js';export{l as DropdownMenu,j as Skeleton,i as Tabs,a as UIProvider,c as debounce,k as dropdownMenuStyles,e as mergeRefs,d as throttle}from'./chunk-EM7GIZXE.js';import {b,c,D,H,E,F,G,O as O$1,M,i}from'./chunk-VZDC732G.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-VZDC732G.js';import {a}from'./chunk-M7AD2PUT.js';import {Slot,Avatar,Collapsible}from'radix-ui';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import*as O from'react';import O__default from'react';import {Drawer}from'vaul';import {AnimatePresence,m}from'motion/react';import {Copy,CheckCheck}from'lucide-react';var He={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"},Ie={presets:He};var le=new WeakMap;function pe(e){return((...t)=>{let r=le.get(e),o=t.map(String).join("_");if(r){let i=r.get(o);if(i)return i}else r=new Map,le.set(e,r);let n=e(...t);return r.set(o,n),n})}function zt(e,t,r="zh-CN"){return new Intl.NumberFormat(r,t).format(e)}function Vt(e,t,r="zh-CN"){return new Intl.NumberFormat(r,{style:"currency",...t}).format(e)}function Bt(e,t="en-US"){return new Intl.NumberFormat(t,{notation:"compact",compactDisplay:"short"}).format(e)}var Mt=pe((e,t=2)=>e.replace(/[.,!@#$%^&*()_+=\-`~[\]/\\{}:"|<>?]+/gi,"").trim().split(/\s+/).slice(0,t).map(r=>{if(!r.length)return "";if(/\s+/.test(e))return r.match(/./u)?.[0].toUpperCase();let o=new RegExp(".".repeat(t),"u"),n=r.match(o)?.[0];return n?n.charAt(0).toUpperCase()+n.slice(1):e.charAt(0).toUpperCase()+e.slice(1,2)}).join(""));var de={};a(de,{Badge:()=>Fe,BadgeButton:()=>Ee,BadgeDot:()=>Ue,Root:()=>Fe,badgeVariants:()=>me});var me=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"}}),Le=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 Fe({className:e,variant:t,size:r,appearance:o,shape:n,asChild:i=false,disabled:u,...l}){let m=i?Slot.Slot:"span";return jsx(m,{"data-slot":"badge",className:c(me({variant:t,size:r,appearance:o,shape:n,disabled:u}),e),...l})}function Ee({className:e,variant:t,asChild:r=false,...o}){let n=r?Slot.Slot:"span";return jsx(n,{"data-slot":"badge-button",className:c(Le({variant:t,className:e})),role:"button",...o})}function Ue({className:e,...t}){return jsx("span",{"data-slot":"badge-dot",className:c("size-6 rounded-full bg-[currentColor] opacity-75",e),...t})}var fe={};a(fe,{Avatar:()=>_e,AvatarFallback:()=>We,AvatarImage:()=>Ye,AvatarIndicator:()=>qe,AvatarStatus:()=>$e,Root:()=>_e,avatarStatusVariants:()=>ue});var ue=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 _e({className:e,...t}){return jsx(Avatar.Root,{"data-slot":"avatar",className:c("relative flex size-40 shrink-0",e),...t})}function Ye({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 We({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 qe({className:e,...t}){return jsx("div",{"data-slot":"avatar-indicator",className:c("absolute flex size-24 items-center justify-center",e),...t})}function $e({className:e,variant:t,...r}){return jsx("div",{"data-slot":"avatar-status",className:c(ue({variant:t}),e),...r})}function U({className:e,variant:t="neutral",mode:r="stroke",size:o="small",...n}){return jsx(M,{variant:t,mode:r,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 je=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-14 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-10 right-8 hover:bg-bg-white",arrowCls:"bg-bg-weak"}}},defaultVariants:{variant:"default"}});function Ge({variant:e,className:t,contentClassName:r,side:o="bottom",align:n="start",arrow:i=true,unstyled:u=true,closeable:l=true,sideOffset:m=1,title:p,content:d,children:b,defaultOpen:H$1,open:h,onOpenChange:C,onClose:v,...P}){let{root:N,content:R,header:D$1,close:T,arrowCls:q}=je({variant:e}),[I,$]=O__default.useState(H$1??false),k=h!==void 0,z=k?h:I,V=O__default.useCallback(L=>{k||$(L),C?.(L);},[k,C]);return jsxs(D,{open:z,onOpenChange:V,children:[k&&z&&jsx(H,{}),jsx(E,{className:c(z&&"active",k&&z&&"relative z-20"),children:b}),jsxs(F,{className:N({className:t}),arrowClassName:q(),unstyled:u,side:o,align:n,sideOffset:m,arrow:i,...P,children:[p&&jsxs("header",{className:D$1(),children:[jsx("h4",{className:"m-0 text-[15px] leading-26 font-medium text-text-strong",children:p}),l&&jsx(G,{asChild:true,onClick:v,children:jsx(U,{size:"xsmall",mode:"ghost",className:T({class:"size-24 p-0"})})})]}),jsx("div",{className:R({className:r}),children:d})]})]})}function ve({...e}){return jsx(Drawer.Root,{"data-slot":"drawer",...e})}function xe({...e}){return jsx(Drawer.Trigger,{"data-slot":"drawer-trigger",...e})}function Je({...e}){return jsx(Drawer.Portal,{"data-slot":"drawer-portal",...e})}function X({...e}){return jsx(Drawer.Close,{"data-slot":"drawer-close",...e})}function Qe({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 Xe={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 ye({className:e,direction:t,children:r,...o}){let n=O.useRef({"--initial-transform":"calc(100% + 8px)"});return jsxs(Je,{"data-slot":"drawer-portal",children:[jsx(Qe,{}),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&&Xe[t],e),...o,children:r})]})}function we({className:e,...t}){return jsx("div",{"data-slot":"drawer-header",className:c("flex flex-col px-16 py-12",e),...t})}function he({className:e,...t}){return jsx("div",{"data-slot":"drawer-body",className:c("scrollbar-thin overflow-y-auto p-16 select-text",e),...t})}function Ce({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 Pe({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 Ne({className:e,...t}){return jsx(Drawer.Description,{"data-slot":"drawer-description",className:c("m-0 text-md text-text-sub",e),...t})}function tt({direction:e="right",dismissible:t=true,skeletonItemCount:r=5,className:o,footerClassName:n,bodyClassName:i,headerClassName:u,title:l="Title",description:m,footer:p,trigger:d,container:b,children:H,open:h,onOpenChange:C,loading:v,handleOnly:P=true,style:N,width:R,onClose:D,onOk:T,...q}){let I=O$1(),$=O__default.useRef({...N,width:R}),[k,z]=O__default.useState(false),[V,L]=O__default.useState(false),K=h!==void 0,ke=K?h:k,F=O__default.useCallback(B=>{!B&&V||(K||z(B),C?.(B));},[K,C,V]),Se=O__default.useCallback(async()=>{if(!T){F(false);return}let B=T();if(B instanceof Promise){L(true);try{await B,F(!1);}catch{}finally{L(false);}}else F(false);},[T,F]),E=!V&&t;return jsxs(ve,{container:b,direction:e,dismissible:E,handleOnly:P,autoFocus:true,open:ke,onOpenChange:F,...q,children:[d&&jsx(xe,{asChild:true,children:d}),jsxs(ye,{direction:e,className:c(b&&b!==document.body&&"absolute",o),style:$.current,children:[t&&jsx(X,{asChild:true,children:jsx(U,{disabled:!E})}),t===false&&jsx(U,{disabled:!E,onClick:D}),jsxs(we,{className:c("border-b border-b-stroke-antd",u),children:[jsx(Pe,{className:"pe-42",asChild:true,children:typeof l=="string"?jsx("h3",{children:l}):jsx("div",{children:l})}),jsx(Ne,{className:c(!m&&"sr-only"),children:m})]}),jsxs(he,{className:i,children:[v&&jsx(rt,{count:r}),!v&&H]}),jsxs(Ce,{className:c("flex-row border-t border-t-stroke-antd",n),children:[p,!p&&jsxs(Fragment,{children:[t&&jsx(X,{asChild:true,children:jsx(M,{variant:"neutral",mode:"stroke",className:"w-2/5",disabled:!E,children:I("close")})}),t===false&&jsx(M,{variant:"neutral",mode:"stroke",className:"w-2/5",disabled:!E,onClick:D,children:I("close")}),jsx(M,{variant:"neutral",mode:"filled",className:"w-3/5",loading:v||V,onClick:Se,children:I("ok")})]})]})]})]})}function rt({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(j,{className:"size-58 rounded-2xl"}),jsxs("div",{className:"flex flex-1 flex-col gap-4",children:[jsx(j,{className:"mb-4 h-14 w-3/10"}),jsx(j,{className:"h-10 w-7/10"}),jsx(j,{className:"h-10 w-9/10"})]})]}),t.map((r,o)=>jsxs("div",{className:"flex flex-col gap-8",children:[jsx(j,{className:"h-12 w-5/10"}),jsx(j,{className:"h-12 w-7/10"}),jsx(j,{className:"h-12 w-full"})]},o))]})}function ot(e){let[t,r]=O__default.useState(false),[o,n]=O__default.useState(null),i=O__default.useCallback(p=>{n(p),r(true);},[]),u=O__default.useCallback(()=>{r(false),n(null);},[]),l=O__default.useCallback(p=>{r(p),p||n(null);},[]);return [{...e,open:t,onOpenChange:l,onClose:u},o,i,u]}var it={initial:{scale:.5,opacity:0,filter:"blur(2px)"},animate:{scale:1,opacity:1,filter:"blur(0px)"},exit:{scale:.5,opacity:0,filter:"blur(2px)"}},lt={opacity:{duration:.25},filter:{duration:.25},scale:{duration:.35,ease:[.34,1.56,.64,1]}};function De({state:e,states:t,className:r}){return jsx(AnimatePresence,{initial:false,mode:"popLayout",children:jsx(m.span,{className:c("inline-flex items-center justify-center",r),variants:it,initial:"initial",animate:"animate",exit:"exit",transition:lt,children:t[e]},e)})}var Te=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 r=document.getSelection();if(r){let o=r.rangeCount>0&&r.getRangeAt(0);t.select(),document.execCommand("copy"),o&&(r.removeAllRanges(),r.addRange(o));}document.body.removeChild(t);};function mt({content:e,delay:t=2e3,tooltipDelayDuration:r=700,variant:o="neutral",mode:n="stroke",size:i$1="small",as:u="button",onCopy:l,className:m}){let p=O$1(),[d,b]=O__default.useState(false),[H,h]=O__default.useState(false),[C,v]=O__default.useState(false),P=O__default.useRef(null),N=O__default.useRef(null);O__default.useEffect(()=>()=>{P.current&&clearTimeout(P.current),N.current&&clearTimeout(N.current);},[]);let R=O__default.useCallback(async()=>{d||(b(true),v(true),await Te(e),l?.(e),P.current=setTimeout(()=>{v(false),N.current=setTimeout(()=>b(false),150);},t));},[d,t,e,l]),D=jsx(De,{state:d?"succeed":"normal",states:{succeed:jsx(CheckCheck,{width:"1em",height:"1em"}),normal:jsx(Copy,{width:"1em",height:"1em"})}}),T=(()=>{switch(u){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:R,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:R,children:[jsx("span",{className:"relative z-1",children:e}),jsx("span",{className:c("inline-flex items-center text-zinc-500",d&&"text-primary-base"),children:D})]});default:return jsx(M,{variant:o,mode:n,size:i$1,className:c(d&&"cursor-not-allowed",m),onClick:R,startContent:D})}})();return jsx(i,{content:p(d?"copied":"copy"),size:i$1,open:C||H,delayDuration:r,onOpenChange:h,children:T})}function Or({asChild:e,children:t,className:r,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}`,r),...n,children:t})}function Ar({...e}){return jsx(Collapsible.Root,{"data-slot":"collapsible",...e})}function Hr({...e}){return jsx(Collapsible.CollapsibleTrigger,{"data-slot":"collapsible-trigger",...e})}function Ir({className:e,...t}){return jsx(Collapsible.CollapsibleContent,{"data-slot":"collapsible-content",className:c("collapsible-content",e),...t})}
2
- export{fe as Avatar,de as Badge,Ar as Collapsible,Ir as CollapsibleContent,Hr as CollapsibleTrigger,Or as ColorPanel,mt as CopyableText,tt as Drawer,Ge as PopoverPreset,Ie as dateUtils,Vt as formatCurrency,Bt as formatIntegerCompact,zt as formatNumber,Mt as getFirstLetters,ot as useDrawer};
1
+ 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 as I$1,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 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(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: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=y!==void 0,u=D?y:A,L=I__default.useCallback(T=>{D||M(T),g?.(T);},[D,g]);return jsxs(E,{open:u,onOpenChange:L,children:[D&&u&&jsx(I$1,{}),jsx(F,{className:c(u&&"active",D&&u&&"relative z-20"),asChild:O,children:v}),jsxs(G,{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(H,{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$1}=se({variant:e}),[R,W]=I__default.useState(n??false),k=c$1!==void 0,A=k?c$1:R,M=I__default.useCallback(T=>{k||W(T),O?.(T);},[k,O]),[D,u]=I__default.useState(false),L=I__default.useCallback(async()=>{M(false);try{u(!0),await x?.();}catch{}finally{u(false);}},[M,x]);return jsxs(E,{open:A,onOpenChange:M,children:[jsx(AnimatePresence,{children:A&&jsx(I$1,{as:m.div,...j,className:"bg-black/5"})}),jsx(F,{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}):o})}),jsxs(G,{className:w({className:c("max-w-lg",i)}),arrowClassName:N$1(),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(H,{unstyled:true,onClick:y,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: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$1,onOk:R,...W}){let k=O(),A=I__default.useRef({...C,width:P}),[M,D]=I__default.useState(false),[u,L]=I__default.useState(false),T=x!==void 0,Me=T?x:M,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$1}),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(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:N$1,children:k("close")}),jsx(N,{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$1=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$1})]});default:return jsx(N,{variant:o,mode:n,size:i$1,className:c(c$1&&"cursor-not-allowed",m),onClick:P,startContent:N$1})}})();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})}
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.4",
3
+ "version": "0.4.6",
4
4
  "description": "UI component library based on Ant Design (Client-side only)",
5
5
  "type": "module",
6
6
  "sideEffects": ["index.js", "*.css"],
@@ -32,20 +32,20 @@
32
32
  "peerDependencies": {
33
33
  "react": ">=18",
34
34
  "react-dom": ">=18",
35
- "antd": ">=5.0.0",
35
+ "antd": ">=6.0.0",
36
36
  "dayjs": ">=1.11.0",
37
- "tailwindcss": ">=4.1.18",
37
+ "tailwindcss": "^4.2.1",
38
38
  "zustand": "^5.0.11",
39
- "lucide-react": "^0.563.0",
39
+ "lucide-react": "^0.575.0",
40
40
  "immer": "^11.1.3"
41
41
  },
42
42
  "dependencies": {
43
43
  "cmdk": "^1.1.1",
44
- "motion": "^12.29.0",
44
+ "motion": "^12.34.3",
45
45
  "radix-ui": "^1.4.3",
46
46
  "vaul": "^1.1.2",
47
47
  "react-use-measure": "^2.1.7",
48
- "tailwind-merge": "^3.4.0",
48
+ "tailwind-merge": "^3.5.0",
49
49
  "tailwind-variants": "^3.2.2",
50
50
  "tw-animate-css": "^1.4.0"
51
51
  }
@@ -8,7 +8,7 @@
8
8
  --text-sm: 12px;
9
9
  --text-13: 13px;
10
10
  --text-md: 14px;
11
- --text-15: 13px;
11
+ --text-15: 15px;
12
12
  --text-lg: 16px;
13
13
  --text-xl: 18px;
14
14
  --text-2xl: 20px;