@gulibs/react-vtable 0.0.2 → 0.0.3

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.
@@ -1 +1 @@
1
- {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../lib/components/pagination.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAGlD,UAAU,eAAgB,SAAQ,kBAAkB;IAClD,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE;AAED,wBAAgB,UAAU,CAAC,EACzB,OAAW,EACX,QAAa,EACb,KAAS,EACT,eAAsB,EACtB,eAAuB,EACvB,SAAS,EACT,eAA2C,EAC3C,IAAgB,EAChB,MAAc,EACd,QAAgB,EAChB,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,GACnB,EAAE,eAAe,2CA2JjB"}
1
+ {"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../../lib/components/pagination.tsx"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAKlD,UAAU,eAAgB,SAAQ,kBAAkB;IAClD,kBAAkB,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;CAClE;AAED,wBAAgB,UAAU,CAAC,EACzB,OAAW,EACX,QAAa,EACb,KAAS,EACT,eAAsB,EACtB,eAAuB,EACvB,SAAS,EACT,eAA2C,EAC3C,IAAgB,EAChB,MAAc,EACd,QAAgB,EAChB,QAAQ,EACR,gBAAgB,EAChB,kBAAkB,GACnB,EAAE,eAAe,2CAgOjB"}
@@ -16,4 +16,4 @@ interface UseColumnsResult<T> {
16
16
  }
17
17
  export declare function useColumns<T>(options: UseColumnsOptions<T>): UseColumnsResult<T>;
18
18
  export {};
19
- //# sourceMappingURL=useColumns.d.ts.map
19
+ //# sourceMappingURL=use-columns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-columns.d.ts","sourceRoot":"","sources":["../../lib/hooks/use-columns.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGxC,UAAU,iBAAiB,CAAC,CAAC;IACzB,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,UAAU,gBAAgB,CAAC,CAAC;IACxB,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5B,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7B,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAC9C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACnC,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAA;CAC7D;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAkIhF"}
@@ -0,0 +1,2 @@
1
+ export declare function useIsMobile(): boolean;
2
+ //# sourceMappingURL=use-mobile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-mobile.d.ts","sourceRoot":"","sources":["../../lib/hooks/use-mobile.ts"],"names":[],"mappings":"AAIA,wBAAgB,WAAW,YAc1B"}
@@ -66,4 +66,4 @@ export declare function useProTable<T extends Record<string, any>>(props: ProTab
66
66
  };
67
67
  };
68
68
  export {};
69
- //# sourceMappingURL=useProTable.d.ts.map
69
+ //# sourceMappingURL=use-pro-table.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-pro-table.d.ts","sourceRoot":"","sources":["../../lib/hooks/use-pro-table.ts"],"names":[],"mappings":"AAYA,OAAO,KAA8D,MAAM,OAAO,CAAA;AAClF,OAAO,KAAK,EACR,cAAc,EACd,aAAa,EAEhB,MAAM,SAAS,CAAA;AAEhB,UAAU,aAAa,CAAC,CAAC;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,eAAe,EAAE,KAAK,CAAC,GAAG,EAAE,CAAA;IAC5B,YAAY,EAAE,CAAC,EAAE,CAAA;IACjB,UAAU,EAAE,KAAK,CAAC,GAAG,GAAG,IAAI,CAAA;IAC5B,aAAa,EAAE,CAAC,GAAG,IAAI,CAAA;CAC1B;AAED,KAAK,kBAAkB,CAAC,CAAC,IACnB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE;QAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC5E;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE;QAAE,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QAAC,IAAI,EAAE,CAAC,EAAE,CAAA;KAAE,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE;QAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;QAAC,MAAM,EAAE,CAAC,CAAA;KAAE,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,CAAC,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAA;AAoEvB,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrD,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;;;;;;0CAoJ8B,MAAM,YAAY,MAAM;+BAUnC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;EAkGhE"}
@@ -21,4 +21,4 @@ interface UseRequestResult<T> {
21
21
  }
22
22
  export declare function useRequest<T>(service: (params: ProTableRequest<T>) => Promise<ProTableResponse<T>>, options?: UseRequestOptions<T>): UseRequestResult<T>;
23
23
  export {};
24
- //# sourceMappingURL=useRequest.d.ts.map
24
+ //# sourceMappingURL=use-request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-request.d.ts","sourceRoot":"","sources":["../../lib/hooks/use-request.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEjE,UAAU,iBAAiB,CAAC,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,aAAa,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;IAClC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IAC9D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,UAAU,gBAAgB,CAAC,CAAC;IACxB,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAA;CAC9B;AAID,wBAAgB,UAAU,CAAC,CAAC,EACxB,OAAO,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EACrE,OAAO,GAAE,iBAAiB,CAAC,CAAC,CAAM,GACnC,gBAAgB,CAAC,CAAC,CAAC,CAyIrB"}
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- require('./index.css');var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`react`);c=s(c);let l=require(`@tanstack/react-table`);l=s(l);let u=require(`clsx`);u=s(u);let d=require(`tailwind-merge`);d=s(d);let f=require(`date-fns`);f=s(f);let p=require(`@radix-ui/react-slot`);p=s(p);let m=require(`class-variance-authority`);m=s(m);let h=require(`react/jsx-runtime`);h=s(h);let g=require(`@radix-ui/react-avatar`);g=s(g);let _=require(`@radix-ui/react-switch`);_=s(_);let v=require(`@radix-ui/react-progress`);v=s(v);let y=require(`@radix-ui/react-checkbox`);y=s(y);let b=require(`lucide-react`);b=s(b);let x=require(`@radix-ui/react-dropdown-menu`);x=s(x);let S=require(`@radix-ui/react-tooltip`);S=s(S);let C=require(`@tabler/icons-react`);C=s(C);let w=require(`@dnd-kit/core`);w=s(w);let T=require(`@dnd-kit/sortable`);T=s(T);let E=require(`@dnd-kit/utilities`);E=s(E);let D=require(`@dnd-kit/modifiers`);D=s(D);let O=require(`@radix-ui/react-select`);O=s(O);let k=require(`react-day-picker`);k=s(k);let A=require(`@radix-ui/react-popover`);A=s(A);let j=require(`@radix-ui/react-label`);j=s(j);let M=require(`react-hook-form`);M=s(M);let N=require(`framer-motion`);N=s(N);function ee(e){return e.filter(e=>!e.hideInSearch&&(e.search===!0||typeof e.search==`object`))}function P(e){return e.filter(e=>!e.hideInTable)}function te(e=`id`){return`${e}_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}function ne(e,t){if(!e||typeof e!=`object`)return t??e;if(!t||typeof t!=`object`)return e;let n=Array.isArray(e)?[...e]:{...e};return Object.keys(t).forEach(r=>{let i=t[r],a=e[r];typeof i==`object`&&i&&!Array.isArray(i)&&!(i instanceof Date)&&!(i instanceof RegExp)&&typeof a==`object`&&a&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp)?n[r]=ne(a,i):n[r]=i}),n}function F(e,t){let n=null;return function(...r){n&&clearTimeout(n),n=setTimeout(()=>e(...r),t)}}function re(e,t){let n=!1;return function(...r){n||(e(...r),n=!0,setTimeout(()=>n=!1,t))}}function ie(e,t=2){return new Intl.NumberFormat(`en-US`,{minimumFractionDigits:t,maximumFractionDigits:t}).format(e)}async function I(e){try{return await navigator.clipboard.writeText(e),!0}catch{let t=document.createElement(`textarea`);t.value=e,t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select();try{return document.execCommand(`copy`),document.body.removeChild(t),!0}catch{return document.body.removeChild(t),!1}}}function L(e){return e==null?!0:typeof e==`string`?e.trim()===``:Array.isArray(e)?e.length===0:typeof e==`object`?Object.keys(e).length===0:!1}function R(e,t,n){if(!t)return e;let r=t.split(`.`),i=e;for(let e of r){if(i==null)return n;i=i[e]}return i??n}function z(e,t,n){if(!t)return;let r=t.split(`.`),i=r.pop();if(!i)return;let a=e;for(let e of r)(!(e in a)||typeof a[e]!=`object`)&&(a[e]={}),a=a[e];a[i]=n}function ae(e,t){if(!t)return Array.from(new Set(e));let n=new Set;return e.filter(e=>{let r=e[t];return n.has(r)?!1:(n.add(r),!0)})}function oe(e,t){return e.reduce((e,n)=>{let r=typeof t==`function`?t(n):String(n[t]);return e[r]||(e[r]=[]),e[r].push(n),e},{})}function se(e){return new Promise(t=>setTimeout(t,e))}function ce(e){if(e===0)return`0 Bytes`;let t=1024,n=[`Bytes`,`KB`,`MB`,`GB`,`TB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**+r).toFixed(2))+` `+n[r]}function le(){return`#`+Math.floor(Math.random()*16777215).toString(16).padStart(6,`0`)}function ue(e){let t={};return new URLSearchParams(e).forEach((e,n)=>{t[n]=e}),t}function de(e){let t=new URLSearchParams;return Object.entries(e).forEach(([e,n])=>{n!=null&&t.append(e,String(n))}),t.toString()}var fe=(0,m.cva)(`inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90`,secondary:`border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90`,destructive:`border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`}},defaultVariants:{variant:`default`}});function B({className:e,variant:t,asChild:n=!1,...r}){return(0,h.jsx)(n?p.Slot:`span`,{"data-slot":`badge`,className:H(fe({variant:t}),e),...r})}function pe({className:e,...t}){return(0,h.jsx)(g.Root,{"data-slot":`avatar`,className:H(`relative flex size-8 shrink-0 overflow-hidden rounded-full`,e),...t})}function me({className:e,...t}){return(0,h.jsx)(g.Image,{"data-slot":`avatar-image`,className:H(`aspect-square size-full`,e),...t})}function he({className:e,...t}){return(0,h.jsx)(g.Fallback,{"data-slot":`avatar-fallback`,className:H(`bg-muted flex size-full items-center justify-center rounded-full`,e),...t})}function V({className:e,...t}){return(0,h.jsx)(_.Root,{"data-slot":`switch`,className:H(`peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50`,e),...t,children:(0,h.jsx)(_.Thumb,{"data-slot":`switch-thumb`,className:H(`bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0`)})})}function ge({className:e,value:t,...n}){return(0,h.jsx)(v.Root,{"data-slot":`progress`,className:H(`bg-primary/20 relative h-2 w-full overflow-hidden rounded-full`,e),...n,children:(0,h.jsx)(v.Indicator,{"data-slot":`progress-indicator`,className:`bg-primary h-full w-full flex-1 transition-all`,style:{transform:`translateX(-${100-(t||0)}%)`}})})}var _e={text:{render:e=>e??`-`},textarea:{render:e=>e??`-`},number:{render:e=>e==null?`-`:new Intl.NumberFormat().format(e)},money:{render:(e,t)=>{if(e==null)return`-`;let n=t?.currency??`USD`;return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:n}).format(e)}},percent:{render:e=>e==null?`-`:`${e}%`},date:{render:(e,t)=>{if(!e)return`-`;let n=t?.format??`yyyy-MM-dd`;return(0,f.format)(new Date(e),n)}},dateTime:{render:(e,t)=>{if(!e)return`-`;let n=t?.format??`yyyy-MM-dd HH:mm:ss`;return(0,f.format)(new Date(e),n)}},dateRange:{render:(e,t)=>{if(!e||!Array.isArray(e)||e.length!==2)return`-`;let n=t?.format??`yyyy-MM-dd`;return`${(0,f.format)(new Date(e[0]),n)} ~ ${(0,f.format)(new Date(e[1]),n)}`}},select:{render:(e,t)=>(t?.options??[]).find(t=>t.value===e)?.label??e??`-`},tags:{render:(e,t)=>Array.isArray(e)?(0,h.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.map((e,n)=>(0,h.jsx)(B,{variant:t?.variant??`secondary`,children:e},n))}):`-`},avatar:{render:(e,t)=>{let n=t?.size??32;return(0,h.jsxs)(pe,{style:{width:n,height:n},children:[(0,h.jsx)(me,{src:e,alt:t?.alt}),(0,h.jsx)(he,{children:t?.fallback??`U`})]})}},image:{render:(e,t)=>{if(!e)return`-`;let n=t?.width??80,r=t?.height??80;return(0,h.jsx)(`img`,{src:e,alt:t?.alt??`image`,style:{width:n,height:r,objectFit:`cover`},className:`rounded`})}},switch:{render:(e,t)=>(0,h.jsx)(V,{checked:!!e,disabled:t?.disabled??!0,onCheckedChange:t?.onChange})},code:{render:e=>e?(0,h.jsx)(`code`,{className:`relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm`,children:e}):`-`},fromNow:{render:e=>{if(!e)return`-`;let t=new Date(e),n=new Date().getTime()-t.getTime(),r=Math.floor(n/(1e3*60*60*24));return r===0?`Today`:r===1?`Yesterday`:r<7?`${r} days ago`:r<30?`${Math.floor(r/7)} weeks ago`:r<365?`${Math.floor(r/30)} months ago`:`${Math.floor(r/365)} years ago`}},status:{render:(e,t)=>{if(!e)return`-`;if(t?.valueEnum&&t.valueEnum[e]){let n=t.valueEnum[e];return(0,h.jsx)(B,{variant:n.status||`default`,style:{backgroundColor:n.color,borderColor:n.color},children:n.text})}let n={success:{text:`Success`,variant:`default`},error:{text:`Error`,variant:`destructive`},warning:{text:`Warning`,variant:`secondary`},processing:{text:`Processing`,variant:`outline`},default:{text:e,variant:`default`}},r=n[e]||n.default;return(0,h.jsx)(B,{variant:r.variant,children:r.text})}},progress:{render:(e,t)=>{if(e==null)return`-`;let n=Number(e),r=t?.showInfo??!0;return(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,h.jsx)(ge,{value:n,className:`flex-1`}),r&&(0,h.jsxs)(`span`,{className:`text-sm text-muted-foreground min-w-12`,children:[n,`%`]})]})}},custom:{render:(e,t)=>t?.render?.(e)??e??`-`},email:{render:e=>e?(0,h.jsx)(`a`,{href:`mailto:${e}`,className:`text-blue-600 hover:text-blue-800 underline`,children:e}):`-`},phone:{render:e=>e?(0,h.jsx)(`a`,{href:`tel:${e}`,className:`text-blue-600 hover:text-blue-800 underline`,children:e}):`-`},url:{render:e=>e?(0,h.jsx)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:`text-blue-600 hover:text-blue-800 underline`,children:e}):`-`},color:{render:e=>e?(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,h.jsx)(`div`,{className:`w-4 h-4 rounded border`,style:{backgroundColor:e}}),(0,h.jsx)(`span`,{className:`font-mono text-sm`,children:e})]}):`-`},rate:{render:(e,t)=>{if(e==null)return`-`;let n=t?.max??5,r=Math.floor(e),i=e%1>=.5;return(0,h.jsxs)(`div`,{className:`flex items-center gap-1`,children:[Array.from({length:n},(e,t)=>(0,h.jsx)(`span`,{className:H(`text-lg`,t<r?`text-yellow-400`:`text-gray-300`),children:`★`},t)),i&&(0,h.jsx)(`span`,{className:`text-lg text-yellow-400`,children:`☆`}),(0,h.jsx)(`span`,{className:`text-sm text-muted-foreground ml-1`,children:e.toFixed(1)})]})}}};function ve(e,t,n){let r=_e[e];return r?r.render(t,n):(console.warn(`Unknown valueType: ${e}`),t??`-`)}function ye(e,t,n){let r=_e[e];return r?.renderFormItem?r.renderFormItem(t,n):null}function be(e,t){_e[e]=t}function H(...e){return(0,d.twMerge)((0,u.clsx)(e))}function xe({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`table-container`,className:`relative w-full overflow-x-auto`,children:(0,h.jsx)(`table`,{"data-slot":`table`,className:H(`w-full caption-bottom text-sm`,e),...t})})}function Se({className:e,...t}){return(0,h.jsx)(`thead`,{"data-slot":`table-header`,className:H(`[&_tr]:border-b`,e),...t})}function Ce({className:e,...t}){return(0,h.jsx)(`tbody`,{"data-slot":`table-body`,className:H(`[&_tr:last-child]:border-0`,e),...t})}function we({className:e,...t}){return(0,h.jsx)(`tfoot`,{"data-slot":`table-footer`,className:H(`bg-muted/50 border-t font-medium [&>tr]:last:border-b-0`,e),...t})}function U({className:e,...t}){return(0,h.jsx)(`tr`,{"data-slot":`table-row`,className:H(`hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors`,e),...t})}function Te({className:e,...t}){return(0,h.jsx)(`th`,{"data-slot":`table-head`,className:H(`text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...t})}function W({className:e,...t}){return(0,h.jsx)(`td`,{"data-slot":`table-cell`,className:H(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...t})}function Ee({className:e,...t}){return(0,h.jsx)(`caption`,{"data-slot":`table-caption`,className:H(`text-muted-foreground mt-4 text-sm`,e),...t})}function De({className:e,...t}){return(0,h.jsx)(y.Root,{"data-slot":`checkbox`,className:H(`peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50`,e),...t,children:(0,h.jsx)(y.Indicator,{"data-slot":`checkbox-indicator`,className:`grid place-content-center text-current transition-none`,children:(0,h.jsx)(b.CheckIcon,{className:`size-3.5`})})})}function Oe({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`skeleton`,className:H(`bg-accent animate-pulse rounded-md`,e),...t})}function ke({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`card`,className:H(`bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm`,e),...t})}function Ae({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`card-header`,className:H(`@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6`,e),...t})}function je({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`card-title`,className:H(`leading-none font-semibold`,e),...t})}function Me({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`card-description`,className:H(`text-muted-foreground text-sm`,e),...t})}function Ne({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`card-action`,className:H(`col-start-2 row-span-2 row-start-1 self-start justify-self-end`,e),...t})}function Pe({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`card-content`,className:H(`px-6`,e),...t})}function Fe({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`card-footer`,className:H(`flex items-center px-6 [.border-t]:pt-6`,e),...t})}var G=(0,m.cva)(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`,"icon-sm":`size-8`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}});function K({className:e,variant:t,size:n,asChild:r=!1,...i}){return(0,h.jsx)(r?p.Slot:`button`,{"data-slot":`button`,className:H(G({variant:t,size:n,className:e})),...i})}function Ie(e,t){switch(t.type){case`SET_LOADING`:return{...e,loading:t.payload};case`SET_DATA`:return{...e,data:t.payload.data,total:t.payload.total??e.total};case`SET_PAGINATION`:return{...e,current:t.payload.current??e.current,pageSize:t.payload.pageSize??e.pageSize};case`SET_FILTERS`:return{...e,filters:t.payload};case`SET_SORTER`:return{...e,sorter:t.payload};case`SET_SELECTION`:return{...e,selectedRowKeys:t.payload.keys,selectedRows:t.payload.rows};case`START_EDIT`:return{...e,editingKey:t.payload.key,editingRecord:t.payload.record};case`CANCEL_EDIT`:return{...e,editingKey:null,editingRecord:null};case`SAVE_EDIT`:return{...e,editingKey:null,editingRecord:null,data:e.data.map(e=>e.id===t.payload.id?t.payload:e)};case`RESET`:return{...e,current:1,filters:{},sorter:{},selectedRowKeys:[],selectedRows:[],editingKey:null,editingRecord:null};default:return e}}function Le(e){let{columns:t=[],dataSource:n,request:r,params:i={},postData:a,defaultData:o=[],loading:s,rowKey:u=`id`,rowSelection:d,pagination:f,onLoad:p,onLoadingChange:m,onRequestError:h}=e,g={loading:s??!1,data:n??o,total:n?.length??0,current:f===!1?1:f?.current??1,pageSize:f===!1?10:f?.pageSize??10,filters:{},sorter:{},selectedRowKeys:d===!1?[]:d?.selectedRowKeys??[],selectedRows:[],editingKey:null,editingRecord:null},[_,v]=(0,c.useReducer)(Ie,g),y=(0,c.useRef)(null),[b,x]=c.default.useState([]),[S,C]=c.default.useState([]),[w,T]=c.default.useState({}),[E,D]=c.default.useState({}),O=(0,c.useCallback)(e=>typeof u==`function`?String(u(e)):String(e[u]),[u]),k=(0,c.useCallback)(async e=>{if(r){v({type:`SET_LOADING`,payload:!0}),m?.(!0);try{let t={current:e?.current??_.current,pageSize:e?.pageSize??_.pageSize,...i,..._.filters,..._.sorter},n=await r(t),o=n.data||[];a&&(o=a(o)),v({type:`SET_DATA`,payload:{data:o,total:n.total}}),e&&v({type:`SET_PAGINATION`,payload:e}),p?.(o)}catch(e){console.error(`ProTable request error:`,e),h?.(e)}finally{v({type:`SET_LOADING`,payload:!1}),m?.(!1)}}},[r,i,_.current,_.pageSize,_.filters,_.sorter,a,p,m,h]),A=(0,c.useMemo)(()=>t.filter(e=>!e.hideInTable).map(e=>({id:e.key||String(e.dataIndex),accessorKey:e.dataIndex,header:e.title,cell:e.render?({row:t,getValue:n})=>e.render?.(n(),t.original,t.index):({getValue:e})=>e(),enableSorting:!!e.sorter,filterFn:e.onFilter?((t,n,r)=>{let i=t.getValue(n);return e.onFilter(i,t.original)}):((e,t,n)=>{if(!n||n.length===0)return!0;let r=e.getValue(t);return n.includes(r)}),...e})),[t]),j=(0,l.useReactTable)({data:_.data,columns:A,state:{sorting:b,columnFilters:S,columnVisibility:w,rowSelection:E,pagination:{pageIndex:_.current-1,pageSize:_.pageSize}},onSortingChange:x,onColumnFiltersChange:C,onColumnVisibilityChange:T,onRowSelectionChange:D,getCoreRowModel:(0,l.getCoreRowModel)(),getFilteredRowModel:(0,l.getFilteredRowModel)(),getPaginationRowModel:(0,l.getPaginationRowModel)(),getSortedRowModel:(0,l.getSortedRowModel)(),getRowId:O,manualPagination:!!r,pageCount:Math.ceil(_.total/_.pageSize),columnResizeMode:`onChange`}),M=(0,c.useCallback)((e,t)=>{r?k({current:e,pageSize:t}):v({type:`SET_PAGINATION`,payload:{current:e,pageSize:t}}),f!==!1&&f?.onChange?.(e,t)},[r,k,f]),N=(0,c.useCallback)(e=>{v({type:`SET_FILTERS`,payload:e}),r&&k({current:1})},[r,k]),ee=(0,c.useCallback)(()=>{v({type:`RESET`}),r&&k({current:1})},[r,k]);(0,c.useEffect)(()=>{if(r&&b.length>0){let e=b[0].id,t=b[0].desc?`desc`:`asc`;v({type:`SET_SORTER`,payload:{field:e,order:t}}),k({current:1})}},[b,r]);let P={reload:async(e=!1)=>{await k(e?{current:1}:void 0)},reloadAndRest:async()=>{v({type:`RESET`}),await k({current:1})},reset:()=>{v({type:`RESET`})},clearSelected:()=>{D({}),v({type:`SET_SELECTION`,payload:{keys:[],rows:[]}})},startEditable:e=>{let t=_.data.find(t=>O(t)===String(e));return t?(v({type:`START_EDIT`,payload:{key:e,record:t}}),!0):!1},cancelEditable:e=>(v({type:`CANCEL_EDIT`}),!0),saveEditable:(e,t)=>(v({type:`SAVE_EDIT`,payload:t}),!0),getRowData:e=>_.data.find(t=>O(t)===String(e)),getTableData:()=>_.data,setTableData:e=>{v({type:`SET_DATA`,payload:{data:e}})}};return(0,c.useEffect)(()=>{y.current&&Object.assign(y.current,P)}),(0,c.useEffect)(()=>{r&&!n&&k()},[]),(0,c.useEffect)(()=>{n&&v({type:`SET_DATA`,payload:{data:n,total:n.length}})},[n]),{table:j,state:_,dispatch:v,actions:P,handlers:{handlePaginationChange:M,handleSearch:N,handleReset:ee}}}function Re(e){let{columns:t,rowSelection:n,draggable:r,editable:i}=e,[a,o]=(0,c.useState)(()=>t.filter(e=>!e.hideInTable).map(e=>e.key||String(e.dataIndex))),[s,l]=(0,c.useState)({}),u=(0,c.useMemo)(()=>t.filter(e=>!e.hideInSearch&&(e.search===!0||typeof e.search==`object`)),[t]);return{tableColumns:(0,c.useMemo)(()=>{let e=[];return r&&e.push({id:`__drag__`,header:``,cell:()=>null,size:40,enableSorting:!1,enableHiding:!1}),n&&e.push({id:`__select__`,header:()=>null,cell:()=>null,size:40,enableSorting:!1,enableHiding:!1}),t.forEach(t=>{if(t.hideInTable)return;let n=t.key||String(t.dataIndex),r=s[n]||{},a={id:n,accessorKey:t.dataIndex,header:t.title,cell:({getValue:e,row:n})=>{let a=e();return i&&t.editable&&(typeof t.editable==`function`?t.editable(n.original):t.editable)?a:t.render?t.render(a,n.original,n.index):t.valueType?ve(t.valueType,a,{...t,...r}):a},enableSorting:!!t.sorter,enableHiding:!0,size:t.width,...r};e.push(a)}),i&&e.push({id:`__actions__`,header:`Actions`,cell:()=>null,size:120,enableSorting:!1,enableHiding:!1}),e},[t,n,r,i,s]),searchColumns:u,visibleColumns:a,setVisibleColumns:o,columnSettings:s,updateColumnSettings:(e,t)=>{l(n=>({...n,[e]:{...n[e],...t}}))}}}function q({className:e,type:t,...n}){return(0,h.jsx)(`input`,{type:t,"data-slot":`input`,className:H(`file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,e),...n})}function J({...e}){return(0,h.jsx)(x.Root,{"data-slot":`dropdown-menu`,...e})}function ze({...e}){return(0,h.jsx)(x.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function Y({...e}){return(0,h.jsx)(x.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function X({className:e,sideOffset:t=4,...n}){return(0,h.jsx)(x.Portal,{children:(0,h.jsx)(x.Content,{"data-slot":`dropdown-menu-content`,sideOffset:t,className:H(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md`,e),...n})})}function Be({...e}){return(0,h.jsx)(x.Group,{"data-slot":`dropdown-menu-group`,...e})}function Z({className:e,inset:t,variant:n=`default`,...r}){return(0,h.jsx)(x.Item,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:H(`focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive! [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r})}function Ve({className:e,children:t,checked:n,...r}){return(0,h.jsxs)(x.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:H(`focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),checked:n,...r,children:[(0,h.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,h.jsx)(x.ItemIndicator,{children:(0,h.jsx)(b.CheckIcon,{className:`size-4`})})}),t]})}function He({...e}){return(0,h.jsx)(x.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function Ue({className:e,children:t,...n}){return(0,h.jsxs)(x.RadioItem,{"data-slot":`dropdown-menu-radio-item`,className:H(`focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...n,children:[(0,h.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,h.jsx)(x.ItemIndicator,{children:(0,h.jsx)(b.CircleIcon,{className:`size-2 fill-current`})})}),t]})}function We({className:e,inset:t,...n}){return(0,h.jsx)(x.Label,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:H(`px-2 py-1.5 text-sm font-medium data-inset:pl-8`,e),...n})}function Q({className:e,...t}){return(0,h.jsx)(x.Separator,{"data-slot":`dropdown-menu-separator`,className:H(`bg-border -mx-1 my-1 h-px`,e),...t})}function Ge({className:e,...t}){return(0,h.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:H(`text-muted-foreground ml-auto text-xs tracking-widest`,e),...t})}function Ke({...e}){return(0,h.jsx)(x.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function qe({className:e,inset:t,children:n,...r}){return(0,h.jsxs)(x.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":t,className:H(`focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r,children:[n,(0,h.jsx)(b.ChevronRightIcon,{className:`ml-auto size-4`})]})}function Je({className:e,...t}){return(0,h.jsx)(x.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:H(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg`,e),...t})}function Ye({delayDuration:e=0,...t}){return(0,h.jsx)(S.Provider,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function Xe({...e}){return(0,h.jsx)(Ye,{children:(0,h.jsx)(S.Root,{"data-slot":`tooltip`,...e})})}function Ze({...e}){return(0,h.jsx)(S.Trigger,{"data-slot":`tooltip-trigger`,...e})}function Qe({className:e,sideOffset:t=0,children:n,...r}){return(0,h.jsx)(S.Portal,{children:(0,h.jsxs)(S.Content,{"data-slot":`tooltip-content`,sideOffset:t,className:H(`bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance`,e),...r,children:[n,(0,h.jsx)(S.Arrow,{className:`bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]`})]})})}const $e={search:{searchText:`Search`,resetText:`Reset`,submitText:`Submit`,expandText:`Expand`,collapseText:`Collapse`,selectPlaceholder:`Select`,inputPlaceholder:`Enter`},pagination:{total:(e,t)=>`Page ${t[0]}-${t[1]} of ${e}`,items:`items`,page:`Page`,of:`of`,showTotal:`Show`},toolbar:{reload:`Reload`,density:`Density`,columnSetting:`Column Setting`,fullScreen:`Full Screen`,exitFullScreen:`Exit Full Screen`,compact:`Compact`,default:`Default`,comfortable:`Comfortable`,searchPlaceholder:`Search...`},columnSetting:{title:`Column Setting`,fixedLeft:`Fixed Left`,fixedRight:`Fixed Right`,noFixed:`No Fixed`,show:`Show`,hide:`Hide`,reset:`Reset`},batchActions:{selected:`selected`,clear:`Clear`,delete:`Delete`,export:`Export`},editable:{save:`Save`,cancel:`Cancel`,edit:`Edit`,delete:`Delete`},common:{confirm:`Confirm`,cancel:`Cancel`,noData:`No data available`,loading:`Loading...`,selectAll:`Select all`,copySuccess:`Copied successfully`}};var et=(0,c.createContext)(void 0);function tt({locale:e,children:t}){let n=c.default.useMemo(()=>{let t=(e,n)=>{let r={...e};for(let i in n)n[i]&&typeof n[i]==`object`&&!Array.isArray(n[i])?r[i]=t(e[i]||{},n[i]):r[i]=n[i];return r};return t($e,e||{})},[e]);return(0,h.jsx)(et.Provider,{value:{locale:n},children:t})}function $(){let e=(0,c.useContext)(et);if(e===void 0)throw Error(`useLocale must be used within a LocaleProvider`);return e.locale}function nt({id:e,children:t}){let{attributes:n,listeners:r,setNodeRef:i,transform:a,transition:o,isDragging:s}=(0,T.useSortable)({id:e}),c={transform:E.CSS.Transform.toString(a),transition:o,opacity:s?.6:1};return(0,h.jsxs)(`div`,{ref:i,style:c,className:`flex items-center`,children:[(0,h.jsx)(`div`,{...r,...n,role:`button`,tabIndex:0,"aria-label":`Drag column`,className:`mr-2 p-1 rounded hover:bg-muted/20 cursor-move flex items-center justify-center`,children:(0,h.jsx)(C.IconGripVertical,{className:`h-4 w-4`})}),(0,h.jsx)(`div`,{className:`flex-1`,children:t})]})}function rt({table:e,columns:t,visibleColumns:n,onVisibleChange:r,fixedColumns:i={},onFixedChange:a,onOrderChange:o}){let s=$(),l=t.filter(e=>e.enableHiding!==!1&&!e.hideInTable),u=l.map(e=>e.key||String(e.dataIndex)),[d,f]=(0,c.useState)(()=>({...i||{}}));(0,c.useEffect)(()=>{f({...i||{}})},[i]);let p=(t,i)=>{r(i?Array.from(new Set([...n,t])):n.filter(e=>e!==t));try{if(e&&typeof e.getAllColumns==`function`){let n=e.getAllColumns().filter(e=>e.accessorFn!==void 0&&e.getCanHide()).find(e=>e.id===t);n&&typeof n.toggleVisibility==`function`&&n.toggleVisibility(i)}}catch{}},m=(e,t)=>{f(n=>{let r={...n};return t===void 0?delete r[e]:r[e]=t,r}),a?.(e,t)};return(0,h.jsxs)(J,{children:[(0,h.jsx)(Y,{asChild:!0,children:(0,h.jsx)(K,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,children:(0,h.jsx)(C.IconSettings,{className:`h-4 w-4`})})}),(0,h.jsxs)(X,{align:`end`,className:`w-64`,children:[(0,h.jsx)(We,{children:s.columnSetting.title}),(0,h.jsx)(Q,{}),(0,h.jsx)(`div`,{className:`max-h-96 overflow-y-auto`,children:(0,h.jsx)(w.DndContext,{collisionDetection:w.closestCenter,modifiers:[D.restrictToVerticalAxis],onDragEnd:e=>{let{active:n,over:r}=e;if(!r||n.id===r.id)return;let i=l.findIndex(e=>(e.key||String(e.dataIndex))===n.id),a=l.findIndex(e=>(e.key||String(e.dataIndex))===r.id);if(i!==-1&&a!==-1&&typeof o==`function`){let e=[...l],[n]=e.splice(i,1);e.splice(a,0,n);let r=[],s=new Map(e.map(e=>[e.key||String(e.dataIndex),e]));for(let n of t){let t=n.key||String(n.dataIndex);if(s.has(t)){let t=e.shift();r.push(t)}else r.push(n)}e.length>0&&r.push(...e),o(r)}},autoScroll:{enabled:!1},children:(0,h.jsx)(T.SortableContext,{items:u,strategy:T.verticalListSortingStrategy,children:l.map(e=>{let t=e.key||String(e.dataIndex),r=n.includes(t),i=d?.[t]??void 0;return(0,h.jsx)(nt,{id:t,children:(0,h.jsxs)(`div`,{className:`flex items-center justify-between px-2 py-1.5 hover:bg-muted`,children:[(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,h.jsx)(K,{variant:`ghost`,size:`icon`,className:`h-6 w-6`,onClick:e=>{e.stopPropagation(),p(t,!r)},"aria-pressed":r,title:r?s.columnSetting.hide:s.columnSetting.show,children:r?(0,h.jsx)(C.IconEye,{className:`h-4 w-4`}):(0,h.jsx)(C.IconEyeOff,{className:`h-4 w-4`})}),(0,h.jsx)(`span`,{className:H(`text-sm`,!r&&`text-muted-foreground line-through`),children:e.title??t})]}),(0,h.jsxs)(J,{children:[(0,h.jsx)(Y,{asChild:!0,children:(0,h.jsx)(K,{variant:`ghost`,size:`icon`,className:`h-6 w-6`,children:i?(0,h.jsx)(C.IconPin,{className:`h-4 w-4`}):(0,h.jsx)(C.IconPinEnd,{className:`h-4 w-4`})})}),(0,h.jsxs)(X,{side:`left`,children:[(0,h.jsx)(Z,{onClick:()=>m(t,void 0),children:s.columnSetting.noFixed}),(0,h.jsx)(Z,{onClick:()=>m(t,`left`),children:s.columnSetting.fixedLeft}),(0,h.jsx)(Z,{onClick:()=>m(t,`right`),children:s.columnSetting.fixedRight})]})]})]})},t)})})})}),(0,h.jsx)(Q,{}),(0,h.jsxs)(`div`,{className:`flex gap-2 p-2`,children:[(0,h.jsxs)(K,{size:`sm`,variant:`outline`,className:`flex-1`,onClick:()=>r(u),children:[s.columnSetting.show,` All`]}),(0,h.jsxs)(K,{size:`sm`,variant:`outline`,className:`flex-1`,onClick:()=>r([]),children:[s.columnSetting.hide,` All`]})]})]})]})}function it({title:e,subTitle:t,search:n,actions:r=[],settings:i=!0,filter:a,table:o,columns:s,loading:l,onReload:u,fullScreen:d=!1,onFullScreenChange:f,density:p=`middle`,onDensityChange:m,visibleColumns:g=[],onVisibleColumnsChange:_,columnSettings:v,onColumnSettingsChange:y}){let x=$(),[S,C]=c.default.useState(``),w=e=>{e.preventDefault(),typeof n==`object`&&n.onSearch&&n.onSearch(S)},T=e=>{e.key===`Enter`&&(e.preventDefault(),typeof n==`object`&&n.onSearch&&n.onSearch(S))},E=Array.isArray(i)?i:i===!0?[`columnSettings`,`density`,`reload`,`fullScreen`]:[];return(0,h.jsxs)(`div`,{className:`flex flex-col gap-4 px-4 py-3`,children:[(0,h.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e&&(0,h.jsx)(`h3`,{className:`text-lg font-semibold leading-none`,children:e}),t&&(0,h.jsx)(`span`,{className:`text-sm text-muted-foreground leading-none`,children:t})]}),(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[n&&(0,h.jsxs)(`form`,{onSubmit:w,className:`relative`,children:[(0,h.jsx)(q,{placeholder:typeof n==`object`?n.placeholder:x.toolbar.searchPlaceholder,value:S,onChange:e=>C(e.target.value),onKeyDown:T,className:`h-8 w-[200px] pr-8`}),(0,h.jsx)(b.Search,{className:`absolute right-2 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`})]}),r.map((e,t)=>(0,h.jsx)(c.default.Fragment,{children:e},t)),E.length>0&&(0,h.jsx)(`div`,{className:`flex items-center gap-1 border-l pl-2`,children:(0,h.jsxs)(Ye,{children:[E.includes(`reload`)&&(0,h.jsxs)(Xe,{children:[(0,h.jsx)(Ze,{asChild:!0,children:(0,h.jsx)(K,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:u,disabled:l,children:(0,h.jsx)(b.RotateCw,{className:`h-4 w-4 ${l?`animate-spin`:``}`})})}),(0,h.jsx)(Qe,{children:(0,h.jsx)(`p`,{children:x.toolbar.reload})})]}),E.includes(`density`)&&(0,h.jsxs)(J,{children:[(0,h.jsx)(Y,{asChild:!0,children:(0,h.jsx)(K,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,children:(0,h.jsx)(b.Settings2,{className:`h-4 w-4`})})}),(0,h.jsxs)(X,{align:`end`,children:[(0,h.jsx)(We,{children:x.toolbar.density}),(0,h.jsx)(Q,{}),(0,h.jsx)(Ve,{checked:p===`small`,onCheckedChange:()=>m?.(`small`),children:x.toolbar.compact}),(0,h.jsx)(Ve,{checked:p===`middle`,onCheckedChange:()=>m?.(`middle`),children:x.toolbar.default}),(0,h.jsx)(Ve,{checked:p===`large`,onCheckedChange:()=>m?.(`large`),children:x.toolbar.comfortable})]})]}),E.includes(`columnSettings`)&&_&&(0,h.jsx)(rt,{table:o,columns:s,visibleColumns:g,onVisibleChange:_,fixedColumns:v?.fixed||{},onFixedChange:(e,t)=>y?.(e,{fixed:t}),onOrderChange:e=>y?.(`order`,e)}),E.includes(`fullScreen`)&&(0,h.jsxs)(Xe,{children:[(0,h.jsx)(Ze,{asChild:!0,children:(0,h.jsx)(K,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>f?.(!d),children:d?(0,h.jsx)(b.Minimize2,{className:`h-4 w-4`}):(0,h.jsx)(b.Maximize2,{className:`h-4 w-4`})})}),(0,h.jsx)(Qe,{children:(0,h.jsx)(`p`,{children:d?x.toolbar.exitFullScreen:x.toolbar.fullScreen})})]})]})})]})]}),a&&(0,h.jsx)(`div`,{className:`border-t pt-3`,children:a})]})}function at({column:e,value:t=[],onChange:n,onClear:r}){let[i,a]=(0,c.useState)(!1),o=Array.isArray(t)?t:[],s=(e,t)=>{t?n?.([...o,e]):n?.(o.filter(t=>t!==e))},l=()=>{n?.([]),r?.(),a(!1)},u=o.length>0;return(0,h.jsxs)(J,{open:i,onOpenChange:a,children:[(0,h.jsx)(Y,{asChild:!0,children:(0,h.jsx)(K,{variant:`ghost`,size:`sm`,className:H(`h-6 w-6 p-0 hover:bg-muted`,u&&`bg-primary/10 text-primary`),children:(0,h.jsx)(b.Filter,{className:`h-3 w-3`})})}),(0,h.jsx)(X,{align:`start`,className:`w-48`,children:(0,h.jsxs)(`div`,{className:`p-2`,children:[(0,h.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[(0,h.jsxs)(`span`,{className:`text-sm font-medium`,children:[`筛选 `,e.title]}),u&&(0,h.jsx)(K,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0`,onClick:l,children:(0,h.jsx)(b.X,{className:`h-3 w-3`})})]}),(0,h.jsx)(`div`,{className:`space-y-1 max-h-48 overflow-y-auto`,children:e.filters?.map(t=>(0,h.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,h.jsx)(De,{id:`filter-${e.key||e.dataIndex}-${t.value}`,checked:o.includes(t.value),onCheckedChange:e=>s(t.value,!!e)}),(0,h.jsx)(`label`,{htmlFor:`filter-${e.key||e.dataIndex}-${t.value}`,className:`text-sm cursor-pointer flex-1`,children:t.text})]},String(t.value)))})]})})]})}function ot({...e}){return(0,h.jsx)(O.Root,{"data-slot":`select`,...e})}function st({...e}){return(0,h.jsx)(O.Group,{"data-slot":`select-group`,...e})}function ct({...e}){return(0,h.jsx)(O.Value,{"data-slot":`select-value`,...e})}function lt({className:e,size:t=`default`,children:n,...r}){return(0,h.jsxs)(O.Trigger,{"data-slot":`select-trigger`,"data-size":t,className:H(`border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-full items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r,children:[n,(0,h.jsx)(O.Icon,{asChild:!0,children:(0,h.jsx)(b.ChevronDownIcon,{className:`size-4 opacity-50`})})]})}function ut({className:e,children:t,position:n=`popper`,align:r=`center`,...i}){return(0,h.jsx)(O.Portal,{children:(0,h.jsxs)(O.Content,{"data-slot":`select-content`,className:H(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,align:r,...i,children:[(0,h.jsx)(mt,{}),(0,h.jsx)(O.Viewport,{className:H(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1`),children:t}),(0,h.jsx)(ht,{})]})})}function dt({className:e,...t}){return(0,h.jsx)(O.Label,{"data-slot":`select-label`,className:H(`text-muted-foreground px-2 py-1.5 text-xs`,e),...t})}function ft({className:e,children:t,...n}){return(0,h.jsxs)(O.Item,{"data-slot":`select-item`,className:H(`focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,e),...n,children:[(0,h.jsx)(`span`,{className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,h.jsx)(O.ItemIndicator,{children:(0,h.jsx)(b.CheckIcon,{className:`size-4`})})}),(0,h.jsx)(O.ItemText,{children:t})]})}function pt({className:e,...t}){return(0,h.jsx)(O.Separator,{"data-slot":`select-separator`,className:H(`bg-border pointer-events-none -mx-1 my-1 h-px`,e),...t})}function mt({className:e,...t}){return(0,h.jsx)(O.ScrollUpButton,{"data-slot":`select-scroll-up-button`,className:H(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,h.jsx)(b.ChevronUpIcon,{className:`size-4`})})}function ht({className:e,...t}){return(0,h.jsx)(O.ScrollDownButton,{"data-slot":`select-scroll-down-button`,className:H(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,h.jsx)(b.ChevronDownIcon,{className:`size-4`})})}function gt({current:e=1,pageSize:t=10,total:n=0,showSizeChanger:r=!0,showQuickJumper:i=!1,showTotal:a,pageSizeOptions:o=[`10`,`20`,`50`,`100`],size:s=`default`,simple:c=!1,disabled:l=!1,onChange:u,onShowSizeChange:d,onPaginationChange:f}){let p=$(),m=Math.ceil(n/t),g=n=>{n<1||n>m||n===e||(u?.(n,t),f?.(n,t))},_=t=>{let n=Number(t);d?.(e,n),f?.(1,n)};if(c)return(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,h.jsx)(K,{variant:`outline`,size:s===`small`?`sm`:`default`,onClick:()=>g(e-1),disabled:l||e===1,children:(0,h.jsx)(C.IconChevronLeft,{className:`h-4 w-4`})}),(0,h.jsxs)(`span`,{className:`text-sm`,children:[e,` / `,m]}),(0,h.jsx)(K,{variant:`outline`,size:s===`small`?`sm`:`default`,onClick:()=>g(e+1),disabled:l||e===m,children:(0,h.jsx)(C.IconChevronRight,{className:`h-4 w-4`})})]});let v=(e-1)*t+1,y=Math.min(e*t,n);return(0,h.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3`,children:[(0,h.jsx)(`div`,{className:`flex items-center gap-4`,children:a&&(0,h.jsx)(`span`,{className:`text-sm text-muted-foreground leading-none`,children:a?a(n,[v,y]):p.pagination.total?.(n,[v,y])})}),(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[r&&(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,h.jsx)(`span`,{className:`text-sm text-muted-foreground leading-none`,children:p.pagination.showTotal}),(0,h.jsxs)(ot,{value:String(t),onValueChange:_,disabled:l,children:[(0,h.jsx)(lt,{size:`sm`,className:`w-20 h-8`,id:`rows-per-page`,children:(0,h.jsx)(ct,{})}),(0,h.jsx)(ut,{children:o.map(e=>(0,h.jsx)(ft,{value:e,children:e},e))})]}),(0,h.jsx)(`span`,{className:`text-sm text-muted-foreground leading-none`,children:p.pagination.items})]}),(0,h.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,h.jsx)(K,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>g(1),disabled:l||e===1,children:(0,h.jsx)(C.IconChevronsLeft,{className:`h-4 w-4`})}),(0,h.jsx)(K,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>g(e-1),disabled:l||e===1,children:(0,h.jsx)(C.IconChevronLeft,{className:`h-4 w-4`})}),(0,h.jsxs)(`span`,{className:`px-2 text-sm`,children:[p.pagination.page,` `,e,` `,p.pagination.of,` `,m]}),(0,h.jsx)(K,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>g(e+1),disabled:l||e===m,children:(0,h.jsx)(C.IconChevronRight,{className:`h-4 w-4`})}),(0,h.jsx)(K,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>g(m),disabled:l||e===m,children:(0,h.jsx)(C.IconChevronsRight,{className:`h-4 w-4`})})]}),i&&(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,h.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:p.pagination.page}),(0,h.jsx)(`input`,{type:`number`,min:1,max:m,className:`h-8 w-[50px] rounded border px-2 text-center text-sm`,onKeyDown:e=>{if(e.key===`Enter`){let t=Number(e.target.value);t>=1&&t<=m&&g(t)}},disabled:l})]})]})]})}function _t({className:e,classNames:t,showOutsideDays:n=!0,captionLayout:r=`label`,buttonVariant:i=`ghost`,formatters:a,components:o,...s}){let c=(0,k.getDefaultClassNames)();return(0,h.jsx)(k.DayPicker,{showOutsideDays:n,className:H(`bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent`,String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:r,formatters:{formatMonthDropdown:e=>e.toLocaleString(`default`,{month:`short`}),...a},classNames:{root:H(`w-fit`,c.root),months:H(`flex gap-4 flex-col md:flex-row relative`,c.months),month:H(`flex flex-col w-full gap-4`,c.month),nav:H(`flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between`,c.nav),button_previous:H(G({variant:i}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,c.button_previous),button_next:H(G({variant:i}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,c.button_next),month_caption:H(`flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)`,c.month_caption),dropdowns:H(`w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5`,c.dropdowns),dropdown_root:H(`relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md`,c.dropdown_root),dropdown:H(`absolute bg-popover inset-0 opacity-0`,c.dropdown),caption_label:H(`select-none font-medium`,r===`label`?`text-sm`:`rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5`,c.caption_label),table:`w-full border-collapse`,weekdays:H(`flex`,c.weekdays),weekday:H(`text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none`,c.weekday),week:H(`flex w-full mt-2`,c.week),week_number_header:H(`select-none w-(--cell-size)`,c.week_number_header),week_number:H(`text-[0.8rem] select-none text-muted-foreground`,c.week_number),day:H(`relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none`,c.day),range_start:H(`rounded-l-md bg-accent`,c.range_start),range_middle:H(`rounded-none`,c.range_middle),range_end:H(`rounded-r-md bg-accent`,c.range_end),today:H(`bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none`,c.today),outside:H(`text-muted-foreground aria-selected:text-muted-foreground`,c.outside),disabled:H(`text-muted-foreground opacity-50`,c.disabled),hidden:H(`invisible`,c.hidden),...t},components:{Root:({className:e,rootRef:t,...n})=>(0,h.jsx)(`div`,{"data-slot":`calendar`,ref:t,className:H(e),...n}),Chevron:({className:e,orientation:t,...n})=>t===`left`?(0,h.jsx)(b.ChevronLeftIcon,{className:H(`size-4`,e),...n}):t===`right`?(0,h.jsx)(b.ChevronRightIcon,{className:H(`size-4`,e),...n}):(0,h.jsx)(b.ChevronDownIcon,{className:H(`size-4`,e),...n}),DayButton:vt,WeekNumber:({children:e,...t})=>(0,h.jsx)(`td`,{...t,children:(0,h.jsx)(`div`,{className:`flex size-(--cell-size) items-center justify-center text-center`,children:e})}),...o},...s})}function vt({className:e,day:t,modifiers:n,...r}){let i=(0,k.getDefaultClassNames)(),a=c.useRef(null);return c.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),(0,h.jsx)(K,{ref:a,variant:`ghost`,size:`icon`,"data-day":t.date.toLocaleDateString(),"data-selected-single":n.selected&&!n.range_start&&!n.range_end&&!n.range_middle,"data-range-start":n.range_start,"data-range-end":n.range_end,"data-range-middle":n.range_middle,className:H(`data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70`,i.day,e),...r})}function yt({...e}){return(0,h.jsx)(A.Root,{"data-slot":`popover`,...e})}function bt({...e}){return(0,h.jsx)(A.Trigger,{"data-slot":`popover-trigger`,...e})}function xt({className:e,align:t=`center`,sideOffset:n=4,...r}){return(0,h.jsx)(A.Portal,{children:(0,h.jsx)(A.Content,{"data-slot":`popover-content`,align:t,sideOffset:n,className:H(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden`,e),...r})})}function St({...e}){return(0,h.jsx)(A.Anchor,{"data-slot":`popover-anchor`,...e})}function Ct({value:e,onChange:t,placeholder:n=`Pick a date`,className:r,disabled:i,fromDate:a,toDate:o,formatStr:s=`PPP`,align:c=`start`,sideOffset:l=4}){return(0,h.jsxs)(yt,{children:[(0,h.jsx)(bt,{asChild:!0,children:(0,h.jsxs)(K,{variant:`outline`,className:H(`justify-start text-left font-normal`,!e&&`text-muted-foreground`,r),disabled:i,children:[(0,h.jsx)(b.Calendar,{className:`mr-2 h-4 w-4`}),e?(0,f.format)(e,s):(0,h.jsx)(`span`,{children:n})]})}),(0,h.jsx)(xt,{className:`w-auto p-0`,align:c,sideOffset:l,children:(0,h.jsx)(_t,{mode:`single`,selected:e,onSelect:t,disabled:i,fromDate:a,toDate:o,initialFocus:!0})})]})}function wt({value:e,onChange:t,placeholder:n=`Pick a date range`,className:r,disabled:i,fromDate:a,toDate:o,formatStr:s=`LLL dd, y`,align:c=`start`,sideOffset:l=4,numberOfMonths:u=2}){return(0,h.jsx)(`div`,{className:H(`w-full`,r),children:(0,h.jsxs)(yt,{children:[(0,h.jsx)(bt,{asChild:!0,children:(0,h.jsxs)(K,{id:`date`,variant:`outline`,className:H(`justify-start text-left font-normal`,!e&&`text-muted-foreground`),disabled:i,children:[(0,h.jsx)(b.Calendar,{className:`mr-2 h-4 w-4`}),e?.from?e.to?(0,h.jsxs)(h.Fragment,{children:[(0,f.format)(e.from,s),` -`,` `,(0,f.format)(e.to,s)]}):(0,f.format)(e.from,s):(0,h.jsx)(`span`,{children:n})]})}),(0,h.jsx)(xt,{className:`w-auto p-0`,align:c,sideOffset:l,children:(0,h.jsx)(_t,{initialFocus:!0,mode:`range`,defaultMonth:e?.from,selected:e,onSelect:t,numberOfMonths:u,disabled:i,fromDate:a,toDate:o})})]})})}function Tt({className:e,...t}){return(0,h.jsx)(j.Root,{"data-slot":`label`,className:H(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}function Et({columns:e,onSearch:t,onReset:n,loading:r,filterType:i=`query`,searchText:a,resetText:o,submitText:s,defaultCollapsed:l=!0,collapsed:u,onCollapse:d,optionRender:f}){let p=$(),{control:m,register:g,handleSubmit:_,reset:v,watch:y}=(0,M.useForm)({defaultValues:{}}),[x,S]=(0,c.useState)(u??l),C=u!==void 0,w=C?u:x;(0,c.useEffect)(()=>{C&&S(u??l)},[u]);let T=()=>{C||S(!x),d?.(!w)},E=e=>{t?.(e)},D=()=>{v({}),n?.()},O=e=>{let t=e.key||String(e.dataIndex);switch(e.valueType){case`select`:return(0,h.jsx)(M.Controller,{control:m,name:t,render:({field:n})=>(0,h.jsxs)(ot,{value:n.value,onValueChange:e=>n.onChange(e),children:[(0,h.jsx)(lt,{className:`h-8 w-full`,children:(0,h.jsx)(ct,{placeholder:`${p.search.selectPlaceholder} ${e.title}`})}),(0,h.jsx)(ut,{children:e.valueEnum?Object.entries(e.valueEnum).map(([e,n])=>(0,h.jsx)(ft,{value:e,children:n.text},`${t}-${e}`)):e.filters?.map(e=>(0,h.jsx)(ft,{value:e.value,children:e.text},`${t}-filter-${String(e.value)}`))})]})});case`date`:return(0,h.jsx)(M.Controller,{control:m,name:t,render:({field:t})=>(0,h.jsx)(Ct,{value:t.value,onChange:e=>t.onChange(e),className:`h-8 w-full`,placeholder:`${p.search.selectPlaceholder} ${e.title}`,formatStr:`PP`})});case`dateTime`:return(0,h.jsx)(M.Controller,{control:m,name:t,render:({field:t})=>(0,h.jsx)(Ct,{value:t.value,onChange:e=>t.onChange(e),className:`h-8 w-full`,placeholder:`${p.search.selectPlaceholder} ${e.title}`,formatStr:`PPp`})});case`dateRange`:return(0,h.jsx)(M.Controller,{control:m,name:t,render:({field:t})=>(0,h.jsx)(wt,{value:t.value,onChange:e=>t.onChange(e),className:`h-8 w-full`,placeholder:`${p.search.selectPlaceholder} ${e.title} range`,numberOfMonths:2})});case`number`:return(0,h.jsx)(M.Controller,{control:m,name:t,render:({field:t})=>(0,h.jsx)(q,{type:`number`,value:t.value??``,onChange:e=>t.onChange(e.target.value?Number(e.target.value):void 0),placeholder:`${p.search.inputPlaceholder} ${e.title}`,className:`h-8 w-full`})});case`switch`:return(0,h.jsx)(M.Controller,{control:m,name:t,defaultValue:!1,render:({field:e})=>(0,h.jsx)(`div`,{className:`flex items-center h-8`,children:(0,h.jsx)(V,{id:t,checked:!!e.value,onCheckedChange:t=>e.onChange(t)})})});default:return(0,h.jsx)(M.Controller,{control:m,name:t,render:({field:t})=>(0,h.jsx)(q,{value:t.value??``,onChange:e=>t.onChange(e.target.value),placeholder:`${p.search.inputPlaceholder} ${e.title}`,className:`h-8 w-full`})})}};if(i===`light`)return(0,h.jsxs)(`form`,{className:`flex items-center gap-2 px-4 py-2`,onSubmit:_(E),children:[(0,h.jsxs)(`div`,{className:`relative flex-1 max-w-sm`,children:[(0,h.jsx)(q,{placeholder:a||p.search.searchText,...g(`keyword`),onKeyDown:e=>{e.key},className:`h-8 pr-8`}),(0,h.jsx)(b.Search,{className:`absolute right-2 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`})]}),(0,h.jsx)(K,{size:`sm`,type:`submit`,disabled:r,children:s||p.search.submitText}),(0,h.jsx)(K,{size:`sm`,variant:`outline`,onClick:()=>{D()},children:o||p.search.resetText})]});let k=e,A=e.length>3,j=[(0,h.jsxs)(K,{size:`sm`,onClick:_(E),disabled:r,children:[(0,h.jsx)(b.Search,{className:`mr-1 h-4 w-4`}),s||p.search.submitText]},`search`),(0,h.jsxs)(K,{size:`sm`,variant:`outline`,onClick:D,children:[(0,h.jsx)(b.RotateCw,{className:`mr-1 h-4 w-4`}),o||p.search.resetText]},`reset`)];A&&j.push((0,h.jsx)(K,{size:`sm`,variant:`ghost`,onClick:T,children:w?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(b.ChevronDown,{className:`mr-1 h-4 w-4`}),p.search.expandText]}):(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(b.ChevronUp,{className:`mr-1 h-4 w-4`}),p.search.collapseText]})},`collapse`));let N=f?f({collapsed:w},y(),j):j;return(0,h.jsxs)(`form`,{className:`border-b bg-muted/30 px-4 py-3 overflow-visible`,onSubmit:_(E),children:[(0,h.jsx)(`div`,{className:H(`grid gap-4 transition-all duration-300 ease-in-out`,`grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4`,w?`max-h-15`:`max-h-[500px]`),style:{overflow:w?`clip`:`visible`},children:k.map(e=>{let t=e.key||String(e.dataIndex),n=e.formItemProps?.required;return(0,h.jsxs)(`div`,{className:`flex flex-col gap-1 min-w-0`,children:[(0,h.jsxs)(Tt,{htmlFor:t,className:`text-sm font-medium`,children:[e.title,n&&(0,h.jsx)(`span`,{className:`text-red-500 ml-1`,children:`*`})]}),(0,h.jsx)(`div`,{className:`w-full h-8 flex items-center`,children:e.renderFormItem?e.renderFormItem(y()[t],{}):O(e)})]},t)})}),(0,h.jsx)(`div`,{className:`mt-3 flex items-center justify-end gap-2`,children:N})]})}var Dt=(0,m.cva)(`relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current`,{variants:{variant:{default:`bg-card text-card-foreground`,destructive:`text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90`}},defaultVariants:{variant:`default`}});function Ot({className:e,variant:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:H(Dt({variant:t}),e),...n})}function kt({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`alert-title`,className:H(`col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight`,e),...t})}function At({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`alert-description`,className:H(`text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed`,e),...t})}function jt({selectedCount:e,selectedRows:t,onDelete:n,onExport:r,onExportExcel:i,onExportCSV:a,onEmail:o,onArchive:s,customActions:c=[],disabled:l=!1,className:u}){if(e===0)return null;let d=()=>{n&&t.length>0&&n(t)},f=()=>{r&&t.length>0&&r(t)},p=()=>{i&&t.length>0&&i(t)},m=()=>{a&&t.length>0&&a(t)},g=()=>{o&&t.length>0&&o(t)},_=()=>{s&&t.length>0&&s(t)},v=n||r||i||a||o||s,y=c.length>0;return(0,h.jsxs)(`div`,{className:H(`flex items-center gap-2`,u),children:[v&&(0,h.jsxs)(h.Fragment,{children:[n&&(0,h.jsxs)(K,{variant:`destructive`,size:`sm`,onClick:d,disabled:l,className:`h-8`,children:[(0,h.jsx)(b.Trash2,{className:`h-3 w-3 mr-1`}),`删除 (`,e,`)`]}),r&&(0,h.jsxs)(K,{variant:`outline`,size:`sm`,onClick:f,disabled:l,className:`h-8`,children:[(0,h.jsx)(b.Download,{className:`h-3 w-3 mr-1`}),`导出`]}),(i||a)&&(0,h.jsxs)(J,{children:[(0,h.jsx)(Y,{asChild:!0,children:(0,h.jsxs)(K,{variant:`outline`,size:`sm`,disabled:l,className:`h-8`,children:[(0,h.jsx)(b.FileText,{className:`h-3 w-3 mr-1`}),`导出格式`]})}),(0,h.jsxs)(X,{align:`start`,children:[i&&(0,h.jsxs)(Z,{onClick:p,children:[(0,h.jsx)(b.FileText,{className:`h-4 w-4 mr-2`}),`Excel (.xlsx)`]}),a&&(0,h.jsxs)(Z,{onClick:m,children:[(0,h.jsx)(b.FileText,{className:`h-4 w-4 mr-2`}),`CSV (.csv)`]})]})]}),o&&(0,h.jsxs)(K,{variant:`outline`,size:`sm`,onClick:g,disabled:l,className:`h-8`,children:[(0,h.jsx)(b.Mail,{className:`h-3 w-3 mr-1`}),`发送邮件`]}),s&&(0,h.jsxs)(K,{variant:`outline`,size:`sm`,onClick:_,disabled:l,className:`h-8`,children:[(0,h.jsx)(b.Archive,{className:`h-3 w-3 mr-1`}),`归档`]})]}),y&&(0,h.jsx)(h.Fragment,{children:c.map(e=>(0,h.jsxs)(K,{variant:e.variant||`outline`,size:`sm`,onClick:()=>e.onClick(t),disabled:l,className:`h-8`,children:[e.icon&&(0,h.jsx)(`span`,{className:`mr-1`,children:e.icon}),e.label]},e.key))}),(v||y)&&(0,h.jsxs)(J,{children:[(0,h.jsx)(Y,{asChild:!0,children:(0,h.jsx)(K,{variant:`ghost`,size:`sm`,disabled:l,className:`h-8 w-8 p-0`,children:(0,h.jsx)(b.MoreHorizontal,{className:`h-4 w-4`})})}),(0,h.jsxs)(X,{align:`end`,children:[n&&(0,h.jsxs)(h.Fragment,{children:[(0,h.jsxs)(Z,{onClick:d,className:`text-destructive`,children:[(0,h.jsx)(b.Trash2,{className:`h-4 w-4 mr-2`}),`删除选中项`]}),(0,h.jsx)(Q,{})]}),r&&(0,h.jsxs)(Z,{onClick:f,children:[(0,h.jsx)(b.Download,{className:`h-4 w-4 mr-2`}),`导出数据`]}),o&&(0,h.jsxs)(Z,{onClick:g,children:[(0,h.jsx)(b.Mail,{className:`h-4 w-4 mr-2`}),`发送邮件`]}),s&&(0,h.jsxs)(Z,{onClick:_,children:[(0,h.jsx)(b.Archive,{className:`h-4 w-4 mr-2`}),`归档`]}),c.length>0&&(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(Q,{}),c.map(e=>(0,h.jsxs)(Z,{onClick:()=>e.onClick(t),children:[e.icon&&(0,h.jsx)(`span`,{className:`mr-2`,children:e.icon}),e.label]},e.key))]})]})]})]})}function Mt({selectedCount:e,selectedRows:t=[],onClear:n,actions:r=[],alwaysShow:i=!1,batchActions:a}){let o=$();return(0,h.jsx)(N.AnimatePresence,{children:(i||e>0)&&(0,h.jsx)(N.motion.div,{initial:{opacity:0,y:-6},animate:{opacity:1,y:0},exit:{opacity:0,y:-6},transition:{duration:.18},children:(0,h.jsx)(Ot,{className:`mb-4`,children:(0,h.jsxs)(At,{className:`flex items-center justify-between`,children:[(0,h.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,h.jsx)(`span`,{className:`text-sm leading-none`,children:e>0?(0,h.jsxs)(h.Fragment,{children:[o.batchActions.selected,` `,(0,h.jsx)(`strong`,{children:e}),` row(s)`]}):o.batchActions.selected}),e>0&&(0,h.jsxs)(`div`,{className:`flex items-center gap-1`,children:[a&&(0,h.jsx)(jt,{selectedCount:e,selectedRows:t,...a}),r.map((e,t)=>(0,h.jsx)(c.default.Fragment,{children:e},t))]})]}),e>0&&(0,h.jsxs)(K,{variant:`ghost`,size:`sm`,onClick:n,children:[(0,h.jsx)(C.IconX,{className:`mr-1 h-3 w-3`}),o.batchActions.clear]})]})})},`batch-actions`)})}var Nt=c.forwardRef(({className:e,...t},n)=>(0,h.jsx)(`textarea`,{className:H(`flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,e),ref:n,...t}));Nt.displayName=`Textarea`;function Pt({value:e,record:t,column:n,isEditing:r,onSave:i,onCancel:a,onStartEdit:o}){let[s,l]=(0,c.useState)(e),[u,d]=(0,c.useState)(!0);(0,c.useEffect)(()=>{l(e)},[e]);let p=()=>{u&&i(s)},m=()=>{l(e),a()},g=e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),p()):e.key===`Escape`&&(e.preventDefault(),m())};return r?(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,h.jsx)(`div`,{className:`flex-1`,children:(()=>{let{valueType:e,fieldProps:t={}}=n;switch(e){case`text`:return(0,h.jsx)(q,{value:s||``,onChange:e=>l(e.target.value),onKeyDown:g,className:`h-8`,...t});case`number`:return(0,h.jsx)(q,{type:`number`,value:s||``,onChange:e=>{let t=e.target.value===``?null:Number(e.target.value);l(t),d(e.target.value===``||!isNaN(Number(e.target.value)))},onKeyDown:g,className:`h-8`,...t});case`select`:let{valueEnum:e}=n;return(0,h.jsxs)(ot,{value:s||``,onValueChange:l,children:[(0,h.jsx)(lt,{className:`h-8`,children:(0,h.jsx)(ct,{placeholder:`请选择`})}),(0,h.jsx)(ut,{children:e&&Object.entries(e).map(([e,t])=>(0,h.jsx)(ft,{value:e,children:t.text},e))})]});case`switch`:return(0,h.jsx)(V,{checked:!!s,onCheckedChange:l,...t});case`date`:return(0,h.jsxs)(yt,{children:[(0,h.jsx)(bt,{asChild:!0,children:(0,h.jsxs)(K,{variant:`outline`,className:H(`h-8 justify-start text-left font-normal`,!s&&`text-muted-foreground`),children:[(0,h.jsx)(b.CalendarIcon,{className:`mr-2 h-4 w-4`}),s?(0,f.format)(s,`yyyy-MM-dd`):`选择日期`]})}),(0,h.jsx)(xt,{className:`w-auto p-0`,children:(0,h.jsx)(_t,{mode:`single`,selected:s,onSelect:l,initialFocus:!0})})]});case`textarea`:return(0,h.jsx)(Nt,{value:s||``,onChange:e=>l(e.target.value),onKeyDown:g,className:`min-h-[60px]`,...t});case`money`:return(0,h.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,h.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`¥`}),(0,h.jsx)(q,{type:`number`,value:s||``,onChange:e=>{let t=e.target.value===``?null:Number(e.target.value);l(t),d(e.target.value===``||!isNaN(Number(e.target.value)))},onKeyDown:g,className:`h-8`,placeholder:`0.00`,...t})]});case`percent`:return(0,h.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,h.jsx)(q,{type:`number`,value:s||``,onChange:e=>{let t=e.target.value===``?null:Number(e.target.value);l(t),d(e.target.value===``||!isNaN(Number(e.target.value)))},onKeyDown:g,className:`h-8`,placeholder:`0`,...t}),(0,h.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`%`})]});case`email`:return(0,h.jsx)(q,{type:`email`,value:s||``,onChange:e=>l(e.target.value),onKeyDown:g,className:`h-8`,placeholder:`example@email.com`,...t});case`phone`:return(0,h.jsx)(q,{type:`tel`,value:s||``,onChange:e=>l(e.target.value),onKeyDown:g,className:`h-8`,placeholder:`+86 138 0000 0000`,...t});case`url`:return(0,h.jsx)(q,{type:`url`,value:s||``,onChange:e=>l(e.target.value),onKeyDown:g,className:`h-8`,placeholder:`https://example.com`,...t});default:return(0,h.jsx)(q,{value:s||``,onChange:e=>l(e.target.value),onKeyDown:g,className:`h-8`,...t})}})()}),(0,h.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,h.jsx)(K,{size:`sm`,variant:`ghost`,className:`h-6 w-6 p-0`,onClick:p,disabled:!u,children:(0,h.jsx)(b.Check,{className:`h-3 w-3`})}),(0,h.jsx)(K,{size:`sm`,variant:`ghost`,className:`h-6 w-6 p-0`,onClick:m,children:(0,h.jsx)(b.X,{className:`h-3 w-3`})})]})]}):(0,h.jsx)(`div`,{className:`cursor-pointer hover:bg-muted/50 rounded px-2 py-1 min-h-[32px] flex items-center`,onClick:o,children:(()=>n.render?n.render(e,t,0):(n.valueType,e))()})}function Ft({record:e,config:t,editable:n,onEdit:r,onSave:i,onCancel:a,onDelete:o,onAdd:s,onRemove:l}){let{isEditing:u}=t;return n?.actionRender?(0,h.jsx)(`div`,{className:`flex items-center gap-1`,children:n.actionRender(e,t).map((e,t)=>(0,h.jsx)(c.default.Fragment,{children:e},t))}):(0,h.jsx)(`div`,{className:`flex items-center justify-center`,children:(()=>u?(0,h.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,h.jsxs)(K,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:i,children:[(0,h.jsx)(b.Save,{className:`h-3 w-3 mr-1`}),`保存`]}),(0,h.jsxs)(K,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:a,children:[(0,h.jsx)(b.X,{className:`h-3 w-3 mr-1`}),`取消`]})]}):(0,h.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,h.jsxs)(K,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:r,children:[(0,h.jsx)(b.Edit,{className:`h-3 w-3 mr-1`}),`编辑`]}),o&&(0,h.jsx)(K,{size:`sm`,variant:`ghost`,className:`h-7 px-2 text-destructive hover:text-destructive`,onClick:o,title:`删除`,children:(0,h.jsx)(b.Trash2,{className:`h-3 w-3`})}),s&&(0,h.jsx)(K,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:s,children:(0,h.jsx)(b.Plus,{className:`h-3 w-3`})}),l&&(0,h.jsx)(K,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:l,children:(0,h.jsx)(b.Minus,{className:`h-3 w-3`})})]}))()})}function It({value:e,className:t,size:n=`sm`,showText:r=!1,onCopy:i}){let[a,o]=(0,c.useState)(!1),s=async()=>{try{let t=typeof e==`string`?e:JSON.stringify(e);await navigator.clipboard.writeText(t),o(!0),i?.(e),setTimeout(()=>o(!1),2e3)}catch(t){console.error(`Failed to copy:`,t);try{let t=document.createElement(`textarea`);t.value=typeof e==`string`?e:JSON.stringify(e),document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t),o(!0),i?.(e),setTimeout(()=>o(!1),2e3)}catch(e){console.error(`Fallback copy failed:`,e)}}},l={sm:`h-6 w-6 p-0`,md:`h-8 w-8 p-0`,lg:`h-10 w-10 p-0`},u={sm:`h-3 w-3`,md:`h-4 w-4`,lg:`h-5 w-5`};return(0,h.jsxs)(K,{variant:`ghost`,size:`sm`,className:H(l[n],`hover:bg-muted/50 transition-colors`,t),onClick:s,title:a?`已复制`:`复制`,children:[a?(0,h.jsx)(b.Check,{className:H(u[n],`text-green-600`)}):(0,h.jsx)(b.Copy,{className:H(u[n],`text-muted-foreground`)}),r&&(0,h.jsx)(`span`,{className:`ml-1 text-xs`,children:a?`已复制`:`复制`})]})}var Lt=(e,t,n)=>{if(!e.fixed)return{};let r=0;if(e.fixed===`left`){for(let e=0;e<t;e++)n[e].fixed===`left`&&(r+=n[e].width||100);return{position:`sticky`,left:r,zIndex:1,backgroundColor:`var(--background)`}}if(e.fixed===`right`){for(let e=t+1;e<n.length;e++)n[e].fixed===`right`&&(r+=n[e].width||100);return{position:`sticky`,right:r,zIndex:1,backgroundColor:`var(--background)`}}return{}},Rt=(e,t,n)=>{if(!e.fixed)return``;let r=[];return e.fixed===`left`&&(r.push(`pro-table-cell-fix-left`),(t===n.length-1||!n.slice(t+1).some(e=>e.fixed===`left`))&&r.push(`pro-table-cell-fix-left-last`)),e.fixed===`right`&&(r.push(`pro-table-cell-fix-right`),(t===0||!n.slice(0,t).some(e=>e.fixed===`right`))&&r.push(`pro-table-cell-fix-right-first`)),r.join(` `)};function zt({row:e,children:t}){let{attributes:n,listeners:r,setNodeRef:i,transform:a,transition:o,isDragging:s}=(0,T.useSortable)({id:e.id}),c={transform:E.CSS.Transform.toString(a),transition:o,opacity:s?.5:1};return(0,h.jsxs)(U,{ref:i,style:c,"data-state":e.getIsSelected&&e.getIsSelected()?`selected`:void 0,...n,children:[(0,h.jsx)(W,{className:`w-8`,children:(0,h.jsx)(K,{variant:`ghost`,size:`icon`,className:`h-6 w-6 cursor-move`,...r,children:(0,h.jsx)(b.GripVertical,{className:`h-3 w-3`})})}),t]})}const Bt=(0,c.forwardRef)((e,t)=>{let{columns:n=[],className:r,style:i,tableClassName:a,tableStyle:o,size:s=`middle`,bordered:u=!1,loading:d=!1,toolbar:f,pagination:p,rowSelection:m,draggable:g,editable:_,headerTitle:v,headerSubTitle:y,footer:x,onRow:S,search:C,cardBordered:E=!1,cardProps:O,tableRender:k,tableExtraRender:A,onSubmit:j,onReset:M,scroll:N,sticky:P,tableLayout:te,locale:ne}=e,[F,re]=(0,c.useState)(()=>n);(0,c.useEffect)(()=>{re(n)},[n]);let ie={...e,columns:F},{table:I,state:L,actions:R,handlers:z}=Le(ie),{request:ae}=ie,{visibleColumns:oe,setVisibleColumns:se,columnSettings:ce,updateColumnSettings:le}=Re({columns:F,rowSelection:!!m,draggable:!!g,editable:!!_}),[ue,de]=(0,c.useState)(s),[fe,B]=(0,c.useState)(!1),pe=(0,w.useSensors)((0,w.useSensor)(w.PointerSensor),(0,w.useSensor)(w.KeyboardSensor));(0,c.useImperativeHandle)(t,()=>R,[R]);let me=e=>{if(g&&typeof g==`object`&&typeof g.onDragEnd==`function`){let{active:t,over:n}=e;if(!n||t.id===n.id)return;let r=I.getRowModel().rows,i=r.findIndex(e=>String(e.id)===String(t.id)),a=r.findIndex(e=>String(e.id)===String(n.id));if(i!==-1&&a!==-1){let t=[...L.data],[n]=t.splice(i,1);t.splice(a,0,n);try{R.setTableData(t)}catch(e){console.warn(`setTableData unavailable`,e)}try{g.onDragEnd({active:{id:e.active.id},over:e.over?{id:e.over.id}:null,items:t,oldIndex:0,newIndex:0})}catch(e){console.error(`draggable.onDragEnd error:`,e)}}}},he=()=>{try{I.toggleAllRowsSelected?.(!1)}catch{}R.clearSelected()},V=e=>{z.handleSearch(e),j?.(e)},ge=()=>{z.handleReset(),M?.()},_e=(e,t)=>{if(I.setColumnFilters(n=>({...n,[e]:t})),ae){let n={...L.filters};t.length>0?n[e]=t:delete n[e],z.handleSearch(n)}},ye=e=>{if(I.setColumnFilters(t=>t.filter(t=>t.id!==e)),ae){let t={...L.filters};delete t[e],z.handleSearch(t)}},be=(e,t)=>{if(e===`order`&&Array.isArray(t)){re(t);return}if(typeof e==`string`&&t&&t.fixed!==void 0){let n=e,r=t.fixed;re(e=>e.map(e=>(e.key||String(e.dataIndex))===n?{...e,fixed:r}:e));return}le(e,t)},we={small:`text-xs [&_th]:py-1.5 [&_td]:py-1`,middle:`text-sm [&_th]:py-2 [&_td]:py-2`,large:`text-base [&_th]:py-3 [&_td]:py-3`},Ee=()=>(0,h.jsx)(U,{children:(0,h.jsx)(W,{colSpan:F.length+(m?1:0)+(g?1:0),className:`h-32 text-center`,children:(0,h.jsx)(`div`,{className:`flex flex-col items-center justify-center gap-2`,children:(0,h.jsx)(`span`,{className:`text-muted-foreground`,children:`No data available`})})})}),Ae=()=>(0,h.jsx)(h.Fragment,{children:[...[,,,,,]].map((e,t)=>(0,h.jsxs)(U,{children:[g&&(0,h.jsx)(W,{children:(0,h.jsx)(Oe,{className:`h-4 w-4`})}),m&&(0,h.jsx)(W,{children:(0,h.jsx)(Oe,{className:`h-4 w-4`})}),F.map((e,t)=>(0,h.jsx)(W,{children:(0,h.jsx)(Oe,{className:`h-4 w-full`})},t))]},t))}),je=e=>{let t=e.original.id||e.original.key||e.id,n=L.editingKey===t;return(0,h.jsxs)(h.Fragment,{children:[m&&(0,h.jsx)(W,{className:`w-8`,children:(0,h.jsx)(De,{checked:e.getIsSelected?.()??!1,onCheckedChange:t=>e.toggleSelected?.(!!t),"aria-label":`Select row`})}),e.getVisibleCells().map((r,i)=>{let a=F.find(e=>(e.key||String(e.dataIndex))===r.column.id),o=Lt(a,i,F),s=Rt(a,i,F);return _&&a?.editable&&n?(0,h.jsx)(W,{className:H(`align-middle`,a?.align&&`text-${a.align}`,a?.ellipsis&&`truncate`,s),style:{width:a?.width,...o},children:(0,h.jsx)(Pt,{value:r.getValue(),record:e.original,column:a,isEditing:n,onSave:n=>{let r={...e.original,[a.dataIndex]:n};R.saveEditable(t,r),_?.onSave&&_.onSave(t,r,e.original)},onCancel:()=>R.cancelEditable(t),onStartEdit:()=>R.startEditable(t)})},r.id):(0,h.jsx)(W,{className:H(`align-middle`,a?.align&&`text-${a.align}`,a?.ellipsis&&`truncate`,s),style:{width:a?.width,...o},children:(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,h.jsx)(`div`,{className:`flex-1`,children:a?.valueType?ve(a.valueType,r.getValue(),a):(0,l.flexRender)(r.column.columnDef.cell,r.getContext())}),a?.copyable&&(0,h.jsx)(It,{value:r.getValue(),size:`sm`,onCopy:e=>{console.log(`复制成功:`,e)}})]})},r.id)}),_&&(0,h.jsx)(W,{className:`w-32`,children:(0,h.jsx)(Ft,{record:e.original,config:{isEditing:n,editingKey:L.editingKey||``},editable:_,onEdit:()=>R.startEditable(t),onSave:()=>{R.cancelEditable(t)},onCancel:()=>R.cancelEditable(t),onDelete:_.onDelete?()=>{_.onDelete&&_.onDelete(t,e.original)}:void 0})})]})},Me=(e,t)=>{let n=S?.(e.original,t)||{};return g?(0,h.jsx)(zt,{row:e,children:je(e)},e.id):(0,h.jsx)(U,{"data-state":e.getIsSelected&&e.getIsSelected()?`selected`:void 0,...n,children:je(e)},e.id)},Ne=(0,h.jsx)(`div`,{className:H(`relative`,N?.x&&`overflow-x-auto`,N?.y&&`overflow-y-auto`),style:{maxHeight:N?.y,maxWidth:N?.x===!0?`100%`:void 0,width:N?.x?`${N.x}px`:void 0},children:(0,h.jsx)(`div`,{className:H(`rounded-md`,u&&`border`),children:(0,h.jsx)(w.DndContext,{sensors:pe,collisionDetection:w.closestCenter,modifiers:[D.restrictToVerticalAxis],onDragEnd:me,children:(0,h.jsxs)(xe,{className:H(we[ue],a,P&&`sticky-header`),style:{...o,tableLayout:te||(N?.x?`fixed`:`auto`),width:N?.x?`${N.x}px`:void 0,...P&&{position:`relative`}},children:[(0,h.jsx)(Se,{className:H(P&&`sticky top-0 z-10 bg-background`),style:P?{position:`sticky`,top:typeof P==`object`&&P.offsetHeader||0,zIndex:10}:void 0,children:I.getHeaderGroups().map(e=>(0,h.jsxs)(U,{children:[g&&(0,h.jsx)(Te,{className:`w-8`}),m&&(0,h.jsx)(Te,{className:`w-8`,children:(0,h.jsx)(De,{checked:I.getIsAllPageRowsSelected?.()??!1,onCheckedChange:e=>I.toggleAllPageRowsSelected?.(!!e),"aria-label":`Select all`})}),e.headers.map((e,t)=>{let n=F.find(t=>(t.key||String(t.dataIndex))===e.column.id),r=Lt(n,t,F),i=Rt(n,t,F);return(0,h.jsx)(Te,{style:{width:n?.width||e.column.getSize(),...r},className:H(`font-medium`,n?.align&&`text-${n.align}`,i),children:e.isPlaceholder?null:(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,h.jsx)(`span`,{children:(0,l.flexRender)(e.column.columnDef.header,e.getContext())}),(0,h.jsxs)(`div`,{className:`flex items-center gap-1`,children:[e.column.getCanSort()&&(0,h.jsxs)(K,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0 hover:bg-muted`,onClick:()=>e.column.toggleSorting(),children:[e.column.getIsSorted()===`asc`&&(0,h.jsx)(b.ArrowUp,{className:`h-3 w-3`}),e.column.getIsSorted()===`desc`&&(0,h.jsx)(b.ArrowDown,{className:`h-3 w-3`}),!e.column.getIsSorted()&&(0,h.jsx)(b.ArrowUpDown,{className:`h-3 w-3 opacity-50`})]}),n?.filters&&n.filters.length>0&&(0,h.jsx)(at,{column:{key:n.key,dataIndex:String(n.dataIndex),title:n.title,filters:n.filters},value:Array.isArray(I.getColumn(n.key||String(n.dataIndex))?.getFilterValue())?I.getColumn(n.key||String(n.dataIndex))?.getFilterValue():[],onChange:e=>_e(n.key||String(n.dataIndex),e),onClear:()=>ye(n.key||String(n.dataIndex))})]})]})},e.id)})]},e.id))}),(0,h.jsx)(Ce,{children:d?Ae():L.data.length===0?Ee():g?(0,h.jsx)(T.SortableContext,{items:I.getRowModel().rows.map(e=>e.id),strategy:T.verticalListSortingStrategy,children:I.getRowModel().rows.map((e,t)=>Me(e,t))}):I.getRowModel().rows.map((e,t)=>Me(e,t))})]})})})}),Fe=k?k(e,Ne,{toolbar:f!==!1,search:C!==!1,table:!0}):Ne,G=H(`flex flex-col gap-4 transition-all duration-300 ease-in-out`,fe?`fixed inset-0 z-50 bg-background p-4 transform scale-100`:`transform scale-100`,r),Ie=(0,h.jsx)(tt,{locale:ne,children:(0,h.jsxs)(`div`,{className:G,style:i,children:[C!==!1&&(()=>{let e=ee(F);return e.length>0&&(0,h.jsx)(Et,{...typeof C==`object`?C:{},columns:e,onSearch:V,onReset:ge,loading:L.loading})})(),f!==!1&&(0,h.jsx)(it,{...typeof f==`object`?f:{},title:v,subTitle:y,table:I,columns:F,loading:L.loading,onReload:()=>R.reload(),fullScreen:fe,onFullScreenChange:B,density:ue,onDensityChange:de,visibleColumns:oe,onVisibleColumnsChange:se,columnSettings:ce,onColumnSettingsChange:be}),m&&(0,h.jsx)(Mt,{selectedCount:I.getFilteredSelectedRowModel().rows.length,selectedRows:I.getFilteredSelectedRowModel().rows.map(e=>e.original),onClear:he,alwaysShow:m.alwaysShowAlert,batchActions:m.batchActions}),A?.(e,L.data),Fe,x&&(0,h.jsx)(`div`,{className:`px-4`,children:x(L.data)}),p!==!1&&(0,h.jsx)(gt,{...typeof p==`object`?p:{},current:L.current,pageSize:L.pageSize,total:L.total,onPaginationChange:z.handlePaginationChange})]})});return E?(0,h.jsx)(ke,{...O,className:H(O?.className),children:(0,h.jsx)(Pe,{children:Ie})}):Ie});var Vt=new Map;function Ht(e,t={}){let{manual:n=!1,defaultParams:r={},onSuccess:i,onError:a,debounceWait:o=0,retryCount:s=0,cacheKey:l,cacheTime:u=300*1e3}=t,[d,f]=(0,c.useState)([]),[p,m]=(0,c.useState)(!n),[h,g]=(0,c.useState)(null),[_,v]=(0,c.useState)(0),y=(0,c.useRef)(r),b=(0,c.useRef)(0),x=(0,c.useRef)(null),S=(0,c.useRef)(null),C=(0,c.useCallback)(async t=>{x.current&&x.current.abort(),S.current&&clearTimeout(S.current);let n=async()=>{let r=t||y.current;if(y.current=r,l){let e=Vt.get(l);if(e&&Date.now()-e.timestamp<u){f(e.data.data),v(e.data.total||0),m(!1);return}}m(!0),g(null),x.current=new AbortController;try{let t=await e(r);if(!x.current.signal.aborted){let e=t.data||[];f(e),v(t.total||e.length),l&&Vt.set(l,{data:t,timestamp:Date.now()}),i?.(e,t),b.current=0}}catch(e){if(!x.current.signal.aborted){let t=e;g(t),a?.(t),b.current<s&&(b.current++,setTimeout(()=>n(),1e3*2**b.current))}}finally{x.current.signal.aborted||m(!1)}};o>0?S.current=setTimeout(n,o):await n()},[e,i,a,s,l,u]),w=(0,c.useCallback)(async()=>{await C(y.current)},[C]),T=(0,c.useCallback)(()=>{x.current&&x.current.abort(),S.current&&clearTimeout(S.current),m(!1)},[]),E=(0,c.useCallback)(e=>{f(e),v(e.length)},[]);return(0,c.useEffect)(()=>(n||C(),()=>{T()}),[]),{data:d,loading:p,error:h,total:_,run:C,refresh:w,cancel:T,mutate:E}}const Ut={search:{searchText:`搜索`,resetText:`重置`,submitText:`提交`,expandText:`展开`,collapseText:`收起`,selectPlaceholder:`请选择`,inputPlaceholder:`请输入`},pagination:{total:(e,t)=>`第 ${t[0]}-${t[1]} 条,共 ${e} 条`,items:`条`,page:`页`,of:`共`,showTotal:`显示`},toolbar:{reload:`刷新`,density:`密度`,columnSetting:`列设置`,fullScreen:`全屏`,exitFullScreen:`退出全屏`,compact:`紧凑`,default:`默认`,comfortable:`舒适`,searchPlaceholder:`搜索...`},columnSetting:{title:`列设置`,fixedLeft:`固定左侧`,fixedRight:`固定右侧`,noFixed:`不固定`,show:`显示`,hide:`隐藏`,reset:`重置`},batchActions:{selected:`已选择`,clear:`清空`,delete:`删除`,export:`导出`},editable:{save:`保存`,cancel:`取消`,edit:`编辑`,delete:`删除`},common:{confirm:`确认`,cancel:`取消`,noData:`暂无数据`,loading:`加载中...`,selectAll:`全选`,copySuccess:`复制成功`}};exports.Alert=Ot,exports.AlertDescription=At,exports.AlertTitle=kt,exports.Avatar=pe,exports.AvatarFallback=he,exports.AvatarImage=me,exports.Badge=B,exports.BatchActions=Mt,exports.Button=K,exports.Calendar=_t,exports.CalendarDayButton=vt,exports.Card=ke,exports.CardAction=Ne,exports.CardContent=Pe,exports.CardDescription=Me,exports.CardFooter=Fe,exports.CardHeader=Ae,exports.CardTitle=je,exports.Checkbox=De,exports.ColumnSetting=rt,exports.DatePicker=Ct,exports.DateRangePicker=wt,exports.DropdownMenu=J,exports.DropdownMenuCheckboxItem=Ve,exports.DropdownMenuContent=X,exports.DropdownMenuGroup=Be,exports.DropdownMenuItem=Z,exports.DropdownMenuLabel=We,exports.DropdownMenuPortal=ze,exports.DropdownMenuRadioGroup=He,exports.DropdownMenuRadioItem=Ue,exports.DropdownMenuSeparator=Q,exports.DropdownMenuShortcut=Ge,exports.DropdownMenuSub=Ke,exports.DropdownMenuSubContent=Je,exports.DropdownMenuSubTrigger=qe,exports.DropdownMenuTrigger=Y,exports.Input=q,exports.Label=Tt,exports.Pagination=gt,exports.Popover=yt,exports.PopoverAnchor=St,exports.PopoverContent=xt,exports.PopoverTrigger=bt,exports.ProTable=Bt,exports.Progress=ge,exports.Search=Et,exports.Select=ot,exports.SelectContent=ut,exports.SelectGroup=st,exports.SelectItem=ft,exports.SelectLabel=dt,exports.SelectScrollDownButton=ht,exports.SelectScrollUpButton=mt,exports.SelectSeparator=pt,exports.SelectTrigger=lt,exports.SelectValue=ct,exports.Skeleton=Oe,exports.Switch=V,exports.Table=xe,exports.TableBody=Ce,exports.TableCaption=Ee,exports.TableCell=W,exports.TableFooter=we,exports.TableHead=Te,exports.TableHeader=Se,exports.TableRow=U,exports.ToolBar=it,exports.Tooltip=Xe,exports.TooltipContent=Qe,exports.TooltipProvider=Ye,exports.TooltipTrigger=Ze,exports.badgeVariants=fe,exports.buttonVariants=G,exports.cn=H,exports.copyToClipboard=I,exports.debounce=F,exports.deepMerge=ne,exports.en_US=$e,exports.extractSearchColumns=ee,exports.extractTableColumns=P,exports.formatFileSize=ce,exports.formatNumber=ie,exports.generateId=te,exports.generateRandomColor=le,exports.getNestedValue=R,exports.groupBy=oe,exports.isEmpty=L,exports.parseQueryString=ue,exports.registerValueType=be,exports.renderFormItem=ye,exports.renderValue=ve,exports.setNestedValue=z,exports.sleep=se,exports.stringifyQuery=de,exports.throttle=re,exports.uniqueArray=ae,exports.useColumns=Re,exports.useProTable=Le,exports.useRequest=Ht,exports.zh_CN=Ut;
1
+ require('./index.css');var e=Object.create,t=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,i=Object.getPrototypeOf,a=Object.prototype.hasOwnProperty,o=(e,i,o,s)=>{if(i&&typeof i==`object`||typeof i==`function`)for(var c=r(i),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&t(e,d,{get:(e=>i[e]).bind(null,d),enumerable:!(s=n(i,d))||s.enumerable});return e},s=(n,r,a)=>(a=n==null?{}:e(i(n)),o(r||!n||!n.__esModule?t(a,`default`,{value:n,enumerable:!0}):a,n));let c=require(`react`);c=s(c);let l=require(`@tanstack/react-table`);l=s(l);let u=require(`clsx`);u=s(u);let d=require(`tailwind-merge`);d=s(d);let f=require(`date-fns`);f=s(f);let p=require(`@radix-ui/react-slot`);p=s(p);let m=require(`class-variance-authority`);m=s(m);let h=require(`react/jsx-runtime`);h=s(h);let g=require(`@radix-ui/react-avatar`);g=s(g);let _=require(`@radix-ui/react-switch`);_=s(_);let v=require(`@radix-ui/react-progress`);v=s(v);let y=require(`@radix-ui/react-checkbox`);y=s(y);let b=require(`lucide-react`);b=s(b);let x=require(`@radix-ui/react-dropdown-menu`);x=s(x);let S=require(`@radix-ui/react-tooltip`);S=s(S);let C=require(`@tabler/icons-react`);C=s(C);let w=require(`@dnd-kit/core`);w=s(w);let T=require(`@dnd-kit/sortable`);T=s(T);let E=require(`@dnd-kit/utilities`);E=s(E);let D=require(`@dnd-kit/modifiers`);D=s(D);let O=require(`@radix-ui/react-select`);O=s(O);let k=require(`react-day-picker`);k=s(k);let A=require(`@radix-ui/react-popover`);A=s(A);let j=require(`@radix-ui/react-label`);j=s(j);let M=require(`react-hook-form`);M=s(M);let N=require(`framer-motion`);N=s(N);function ee(e){return e.filter(e=>!e.hideInSearch&&(e.search===!0||typeof e.search==`object`))}function P(e){return e.filter(e=>!e.hideInTable)}function te(e=`id`){return`${e}_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}function ne(e,t){if(!e||typeof e!=`object`)return t??e;if(!t||typeof t!=`object`)return e;let n=Array.isArray(e)?[...e]:{...e};return Object.keys(t).forEach(r=>{let i=t[r],a=e[r];typeof i==`object`&&i&&!Array.isArray(i)&&!(i instanceof Date)&&!(i instanceof RegExp)&&typeof a==`object`&&a&&!Array.isArray(a)&&!(a instanceof Date)&&!(a instanceof RegExp)?n[r]=ne(a,i):n[r]=i}),n}function F(e,t){let n=null;return function(...r){n&&clearTimeout(n),n=setTimeout(()=>e(...r),t)}}function re(e,t){let n=!1;return function(...r){n||(e(...r),n=!0,setTimeout(()=>n=!1,t))}}function ie(e,t=2){return new Intl.NumberFormat(`en-US`,{minimumFractionDigits:t,maximumFractionDigits:t}).format(e)}async function I(e){try{return await navigator.clipboard.writeText(e),!0}catch{let t=document.createElement(`textarea`);t.value=e,t.style.position=`fixed`,t.style.opacity=`0`,document.body.appendChild(t),t.select();try{return document.execCommand(`copy`),document.body.removeChild(t),!0}catch{return document.body.removeChild(t),!1}}}function L(e){return e==null?!0:typeof e==`string`?e.trim()===``:Array.isArray(e)?e.length===0:typeof e==`object`?Object.keys(e).length===0:!1}function R(e,t,n){if(!t)return e;let r=t.split(`.`),i=e;for(let e of r){if(i==null)return n;i=i[e]}return i??n}function z(e,t,n){if(!t)return;let r=t.split(`.`),i=r.pop();if(!i)return;let a=e;for(let e of r)(!(e in a)||typeof a[e]!=`object`)&&(a[e]={}),a=a[e];a[i]=n}function ae(e,t){if(!t)return Array.from(new Set(e));let n=new Set;return e.filter(e=>{let r=e[t];return n.has(r)?!1:(n.add(r),!0)})}function oe(e,t){return e.reduce((e,n)=>{let r=typeof t==`function`?t(n):String(n[t]);return e[r]||(e[r]=[]),e[r].push(n),e},{})}function se(e){return new Promise(t=>setTimeout(t,e))}function ce(e){if(e===0)return`0 Bytes`;let t=1024,n=[`Bytes`,`KB`,`MB`,`GB`,`TB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**+r).toFixed(2))+` `+n[r]}function le(){return`#`+Math.floor(Math.random()*16777215).toString(16).padStart(6,`0`)}function ue(e){let t={};return new URLSearchParams(e).forEach((e,n)=>{t[n]=e}),t}function de(e){let t=new URLSearchParams;return Object.entries(e).forEach(([e,n])=>{n!=null&&t.append(e,String(n))}),t.toString()}var fe=(0,m.cva)(`inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90`,secondary:`border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90`,destructive:`border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`}},defaultVariants:{variant:`default`}});function B({className:e,variant:t,asChild:n=!1,...r}){return(0,h.jsx)(n?p.Slot:`span`,{"data-slot":`badge`,className:H(fe({variant:t}),e),...r})}function pe({className:e,...t}){return(0,h.jsx)(g.Root,{"data-slot":`avatar`,className:H(`relative flex size-8 shrink-0 overflow-hidden rounded-full`,e),...t})}function me({className:e,...t}){return(0,h.jsx)(g.Image,{"data-slot":`avatar-image`,className:H(`aspect-square size-full`,e),...t})}function he({className:e,...t}){return(0,h.jsx)(g.Fallback,{"data-slot":`avatar-fallback`,className:H(`bg-muted flex size-full items-center justify-center rounded-full`,e),...t})}function V({className:e,...t}){return(0,h.jsx)(_.Root,{"data-slot":`switch`,className:H(`peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50`,e),...t,children:(0,h.jsx)(_.Thumb,{"data-slot":`switch-thumb`,className:H(`bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0`)})})}function ge({className:e,value:t,...n}){return(0,h.jsx)(v.Root,{"data-slot":`progress`,className:H(`bg-primary/20 relative h-2 w-full overflow-hidden rounded-full`,e),...n,children:(0,h.jsx)(v.Indicator,{"data-slot":`progress-indicator`,className:`bg-primary h-full w-full flex-1 transition-all`,style:{transform:`translateX(-${100-(t||0)}%)`}})})}var _e={text:{render:e=>e??`-`},textarea:{render:e=>e??`-`},number:{render:e=>e==null?`-`:new Intl.NumberFormat().format(e)},money:{render:(e,t)=>{if(e==null)return`-`;let n=t?.currency??`USD`;return new Intl.NumberFormat(`en-US`,{style:`currency`,currency:n}).format(e)}},percent:{render:e=>e==null?`-`:`${e}%`},date:{render:(e,t)=>{if(!e)return`-`;let n=t?.format??`yyyy-MM-dd`;return(0,f.format)(new Date(e),n)}},dateTime:{render:(e,t)=>{if(!e)return`-`;let n=t?.format??`yyyy-MM-dd HH:mm:ss`;return(0,f.format)(new Date(e),n)}},dateRange:{render:(e,t)=>{if(!e||!Array.isArray(e)||e.length!==2)return`-`;let n=t?.format??`yyyy-MM-dd`;return`${(0,f.format)(new Date(e[0]),n)} ~ ${(0,f.format)(new Date(e[1]),n)}`}},select:{render:(e,t)=>(t?.options??[]).find(t=>t.value===e)?.label??e??`-`},tags:{render:(e,t)=>Array.isArray(e)?(0,h.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.map((e,n)=>(0,h.jsx)(B,{variant:t?.variant??`secondary`,children:e},n))}):`-`},avatar:{render:(e,t)=>{let n=t?.size??32;return(0,h.jsxs)(pe,{style:{width:n,height:n},children:[(0,h.jsx)(me,{src:e,alt:t?.alt}),(0,h.jsx)(he,{children:t?.fallback??`U`})]})}},image:{render:(e,t)=>{if(!e)return`-`;let n=t?.width??80,r=t?.height??80;return(0,h.jsx)(`img`,{src:e,alt:t?.alt??`image`,style:{width:n,height:r,objectFit:`cover`},className:`rounded`})}},switch:{render:(e,t)=>(0,h.jsx)(V,{checked:!!e,disabled:t?.disabled??!0,onCheckedChange:t?.onChange})},code:{render:e=>e?(0,h.jsx)(`code`,{className:`relative rounded bg-muted px-[0.3rem] py-[0.2rem] font-mono text-sm`,children:e}):`-`},fromNow:{render:e=>{if(!e)return`-`;let t=new Date(e),n=new Date().getTime()-t.getTime(),r=Math.floor(n/(1e3*60*60*24));return r===0?`Today`:r===1?`Yesterday`:r<7?`${r} days ago`:r<30?`${Math.floor(r/7)} weeks ago`:r<365?`${Math.floor(r/30)} months ago`:`${Math.floor(r/365)} years ago`}},status:{render:(e,t)=>{if(!e)return`-`;if(t?.valueEnum&&t.valueEnum[e]){let n=t.valueEnum[e];return(0,h.jsx)(B,{variant:n.status||`default`,style:{backgroundColor:n.color,borderColor:n.color},children:n.text})}let n={success:{text:`Success`,variant:`default`},error:{text:`Error`,variant:`destructive`},warning:{text:`Warning`,variant:`secondary`},processing:{text:`Processing`,variant:`outline`},default:{text:e,variant:`default`}},r=n[e]||n.default;return(0,h.jsx)(B,{variant:r.variant,children:r.text})}},progress:{render:(e,t)=>{if(e==null)return`-`;let n=Number(e),r=t?.showInfo??!0;return(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,h.jsx)(ge,{value:n,className:`flex-1`}),r&&(0,h.jsxs)(`span`,{className:`text-sm text-muted-foreground min-w-12`,children:[n,`%`]})]})}},custom:{render:(e,t)=>t?.render?.(e)??e??`-`},email:{render:e=>e?(0,h.jsx)(`a`,{href:`mailto:${e}`,className:`text-blue-600 hover:text-blue-800 underline`,children:e}):`-`},phone:{render:e=>e?(0,h.jsx)(`a`,{href:`tel:${e}`,className:`text-blue-600 hover:text-blue-800 underline`,children:e}):`-`},url:{render:e=>e?(0,h.jsx)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:`text-blue-600 hover:text-blue-800 underline`,children:e}):`-`},color:{render:e=>e?(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,h.jsx)(`div`,{className:`w-4 h-4 rounded border`,style:{backgroundColor:e}}),(0,h.jsx)(`span`,{className:`font-mono text-sm`,children:e})]}):`-`},rate:{render:(e,t)=>{if(e==null)return`-`;let n=t?.max??5,r=Math.floor(e),i=e%1>=.5;return(0,h.jsxs)(`div`,{className:`flex items-center gap-1`,children:[Array.from({length:n},(e,t)=>(0,h.jsx)(`span`,{className:H(`text-lg`,t<r?`text-yellow-400`:`text-gray-300`),children:`★`},t)),i&&(0,h.jsx)(`span`,{className:`text-lg text-yellow-400`,children:`☆`}),(0,h.jsx)(`span`,{className:`text-sm text-muted-foreground ml-1`,children:e.toFixed(1)})]})}}};function ve(e,t,n){let r=_e[e];return r?r.render(t,n):(console.warn(`Unknown valueType: ${e}`),t??`-`)}function ye(e,t,n){let r=_e[e];return r?.renderFormItem?r.renderFormItem(t,n):null}function be(e,t){_e[e]=t}function H(...e){return(0,d.twMerge)((0,u.clsx)(e))}function xe({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`table-container`,className:`relative w-full overflow-x-auto`,children:(0,h.jsx)(`table`,{"data-slot":`table`,className:H(`w-full caption-bottom text-sm`,e),...t})})}function Se({className:e,...t}){return(0,h.jsx)(`thead`,{"data-slot":`table-header`,className:H(`[&_tr]:border-b`,e),...t})}function Ce({className:e,...t}){return(0,h.jsx)(`tbody`,{"data-slot":`table-body`,className:H(`[&_tr:last-child]:border-0`,e),...t})}function we({className:e,...t}){return(0,h.jsx)(`tfoot`,{"data-slot":`table-footer`,className:H(`bg-muted/50 border-t font-medium [&>tr]:last:border-b-0`,e),...t})}function U({className:e,...t}){return(0,h.jsx)(`tr`,{"data-slot":`table-row`,className:H(`hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors`,e),...t})}function Te({className:e,...t}){return(0,h.jsx)(`th`,{"data-slot":`table-head`,className:H(`text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...t})}function W({className:e,...t}){return(0,h.jsx)(`td`,{"data-slot":`table-cell`,className:H(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...t})}function Ee({className:e,...t}){return(0,h.jsx)(`caption`,{"data-slot":`table-caption`,className:H(`text-muted-foreground mt-4 text-sm`,e),...t})}function De({className:e,...t}){return(0,h.jsx)(y.Root,{"data-slot":`checkbox`,className:H(`peer border-input dark:bg-input/30 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground dark:data-[state=checked]:bg-primary data-[state=checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50`,e),...t,children:(0,h.jsx)(y.Indicator,{"data-slot":`checkbox-indicator`,className:`grid place-content-center text-current transition-none`,children:(0,h.jsx)(b.CheckIcon,{className:`size-3.5`})})})}function Oe({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`skeleton`,className:H(`bg-accent animate-pulse rounded-md`,e),...t})}function ke({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`card`,className:H(`bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm`,e),...t})}function Ae({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`card-header`,className:H(`@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6`,e),...t})}function je({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`card-title`,className:H(`leading-none font-semibold`,e),...t})}function Me({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`card-description`,className:H(`text-muted-foreground text-sm`,e),...t})}function Ne({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`card-action`,className:H(`col-start-2 row-span-2 row-start-1 self-start justify-self-end`,e),...t})}function Pe({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`card-content`,className:H(`px-6`,e),...t})}function Fe({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`card-footer`,className:H(`flex items-center px-6 [.border-t]:pt-6`,e),...t})}var Ie=(0,m.cva)(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`,"icon-sm":`size-8`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}});function G({className:e,variant:t,size:n,asChild:r=!1,...i}){return(0,h.jsx)(r?p.Slot:`button`,{"data-slot":`button`,className:H(Ie({variant:t,size:n,className:e})),...i})}function Le(e,t){switch(t.type){case`SET_LOADING`:return{...e,loading:t.payload};case`SET_DATA`:return{...e,data:t.payload.data,total:t.payload.total??e.total};case`SET_PAGINATION`:return{...e,current:t.payload.current??e.current,pageSize:t.payload.pageSize??e.pageSize};case`SET_FILTERS`:return{...e,filters:t.payload};case`SET_SORTER`:return{...e,sorter:t.payload};case`SET_SELECTION`:return{...e,selectedRowKeys:t.payload.keys,selectedRows:t.payload.rows};case`START_EDIT`:return{...e,editingKey:t.payload.key,editingRecord:t.payload.record};case`CANCEL_EDIT`:return{...e,editingKey:null,editingRecord:null};case`SAVE_EDIT`:return{...e,editingKey:null,editingRecord:null,data:e.data.map(e=>e.id===t.payload.id?t.payload:e)};case`RESET`:return{...e,current:1,filters:{},sorter:{},selectedRowKeys:[],selectedRows:[],editingKey:null,editingRecord:null};default:return e}}function Re(e){let{columns:t=[],dataSource:n,request:r,params:i={},postData:a,defaultData:o=[],loading:s,rowKey:u=`id`,rowSelection:d,pagination:f,onLoad:p,onLoadingChange:m,onRequestError:h}=e,g={loading:s??!1,data:n??o,total:n?.length??0,current:f===!1?1:f?.current??1,pageSize:f===!1?10:f?.pageSize??10,filters:{},sorter:{},selectedRowKeys:d===!1?[]:d?.selectedRowKeys??[],selectedRows:[],editingKey:null,editingRecord:null},[_,v]=(0,c.useReducer)(Le,g),y=(0,c.useRef)(null),[b,x]=c.default.useState([]),[S,C]=c.default.useState([]),[w,T]=c.default.useState({}),[E,D]=c.default.useState({}),O=(0,c.useCallback)(e=>typeof u==`function`?String(u(e)):String(e[u]),[u]),k=(0,c.useCallback)(async e=>{if(r){v({type:`SET_LOADING`,payload:!0}),m?.(!0);try{let t={current:e?.current??_.current,pageSize:e?.pageSize??_.pageSize,...i,..._.filters,..._.sorter},n=await r(t),o=n.data||[];a&&(o=a(o)),v({type:`SET_DATA`,payload:{data:o,total:n.total}}),e&&v({type:`SET_PAGINATION`,payload:e}),p?.(o)}catch(e){console.error(`ProTable request error:`,e),h?.(e)}finally{v({type:`SET_LOADING`,payload:!1}),m?.(!1)}}},[r,i,_.current,_.pageSize,_.filters,_.sorter,a,p,m,h]),A=(0,c.useMemo)(()=>t.filter(e=>!e.hideInTable).map(e=>({id:e.key||String(e.dataIndex),accessorKey:e.dataIndex,header:e.title,cell:e.render?({row:t,getValue:n})=>e.render?.(n(),t.original,t.index):({getValue:e})=>e(),enableSorting:!!e.sorter,filterFn:e.onFilter?((t,n,r)=>{let i=t.getValue(n);return e.onFilter(i,t.original)}):((e,t,n)=>{if(!n||n.length===0)return!0;let r=e.getValue(t);return n.includes(r)}),...e})),[t]),j=(0,l.useReactTable)({data:_.data,columns:A,state:{sorting:b,columnFilters:S,columnVisibility:w,rowSelection:E,pagination:{pageIndex:_.current-1,pageSize:_.pageSize}},onSortingChange:x,onColumnFiltersChange:C,onColumnVisibilityChange:T,onRowSelectionChange:D,getCoreRowModel:(0,l.getCoreRowModel)(),getFilteredRowModel:(0,l.getFilteredRowModel)(),getPaginationRowModel:(0,l.getPaginationRowModel)(),getSortedRowModel:(0,l.getSortedRowModel)(),getRowId:O,manualPagination:!!r,pageCount:Math.ceil(_.total/_.pageSize),columnResizeMode:`onChange`}),M=(0,c.useCallback)((e,t)=>{r?k({current:e,pageSize:t}):v({type:`SET_PAGINATION`,payload:{current:e,pageSize:t}}),f!==!1&&f?.onChange?.(e,t)},[r,k,f]),N=(0,c.useCallback)(e=>{v({type:`SET_FILTERS`,payload:e}),r&&k({current:1})},[r,k]),ee=(0,c.useCallback)(()=>{v({type:`RESET`}),r&&k({current:1})},[r,k]);(0,c.useEffect)(()=>{if(r&&b.length>0){let e=b[0].id,t=b[0].desc?`desc`:`asc`;v({type:`SET_SORTER`,payload:{field:e,order:t}}),k({current:1})}},[b,r]);let P={reload:async(e=!1)=>{await k(e?{current:1}:void 0)},reloadAndRest:async()=>{v({type:`RESET`}),await k({current:1})},reset:()=>{v({type:`RESET`})},clearSelected:()=>{D({}),v({type:`SET_SELECTION`,payload:{keys:[],rows:[]}})},startEditable:e=>{let t=_.data.find(t=>O(t)===String(e));return t?(v({type:`START_EDIT`,payload:{key:e,record:t}}),!0):!1},cancelEditable:e=>(v({type:`CANCEL_EDIT`}),!0),saveEditable:(e,t)=>(v({type:`SAVE_EDIT`,payload:t}),!0),getRowData:e=>_.data.find(t=>O(t)===String(e)),getTableData:()=>_.data,setTableData:e=>{v({type:`SET_DATA`,payload:{data:e}})}};return(0,c.useEffect)(()=>{y.current&&Object.assign(y.current,P)}),(0,c.useEffect)(()=>{r&&!n&&k()},[]),(0,c.useEffect)(()=>{n&&v({type:`SET_DATA`,payload:{data:n,total:n.length}})},[n]),{table:j,state:_,dispatch:v,actions:P,handlers:{handlePaginationChange:M,handleSearch:N,handleReset:ee}}}function ze(e){let{columns:t,rowSelection:n,draggable:r,editable:i}=e,[a,o]=(0,c.useState)(()=>t.filter(e=>!e.hideInTable).map(e=>e.key||String(e.dataIndex))),[s,l]=(0,c.useState)({}),u=(0,c.useMemo)(()=>t.filter(e=>!e.hideInSearch&&(e.search===!0||typeof e.search==`object`)),[t]);return{tableColumns:(0,c.useMemo)(()=>{let e=[];return r&&e.push({id:`__drag__`,header:``,cell:()=>null,size:40,enableSorting:!1,enableHiding:!1}),n&&e.push({id:`__select__`,header:()=>null,cell:()=>null,size:40,enableSorting:!1,enableHiding:!1}),t.forEach(t=>{if(t.hideInTable)return;let n=t.key||String(t.dataIndex),r=s[n]||{},a={id:n,accessorKey:t.dataIndex,header:t.title,cell:({getValue:e,row:n})=>{let a=e();return i&&t.editable&&(typeof t.editable==`function`?t.editable(n.original):t.editable)?a:t.render?t.render(a,n.original,n.index):t.valueType?ve(t.valueType,a,{...t,...r}):a},enableSorting:!!t.sorter,enableHiding:!0,size:t.width,...r};e.push(a)}),i&&e.push({id:`__actions__`,header:`Actions`,cell:()=>null,size:120,enableSorting:!1,enableHiding:!1}),e},[t,n,r,i,s]),searchColumns:u,visibleColumns:a,setVisibleColumns:o,columnSettings:s,updateColumnSettings:(e,t)=>{l(n=>({...n,[e]:{...n[e],...t}}))}}}function K({className:e,type:t,...n}){return(0,h.jsx)(`input`,{type:t,"data-slot":`input`,className:H(`file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,`focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]`,`aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,e),...n})}function q({...e}){return(0,h.jsx)(x.Root,{"data-slot":`dropdown-menu`,...e})}function Be({...e}){return(0,h.jsx)(x.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function J({...e}){return(0,h.jsx)(x.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function Y({className:e,sideOffset:t=4,...n}){return(0,h.jsx)(x.Portal,{children:(0,h.jsx)(x.Content,{"data-slot":`dropdown-menu-content`,sideOffset:t,className:H(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md`,e),...n})})}function Ve({...e}){return(0,h.jsx)(x.Group,{"data-slot":`dropdown-menu-group`,...e})}function X({className:e,inset:t,variant:n=`default`,...r}){return(0,h.jsx)(x.Item,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:H(`focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive! [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r})}function He({className:e,children:t,checked:n,...r}){return(0,h.jsxs)(x.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:H(`focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),checked:n,...r,children:[(0,h.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,h.jsx)(x.ItemIndicator,{children:(0,h.jsx)(b.CheckIcon,{className:`size-4`})})}),t]})}function Ue({...e}){return(0,h.jsx)(x.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function We({className:e,children:t,...n}){return(0,h.jsxs)(x.RadioItem,{"data-slot":`dropdown-menu-radio-item`,className:H(`focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...n,children:[(0,h.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,h.jsx)(x.ItemIndicator,{children:(0,h.jsx)(b.CircleIcon,{className:`size-2 fill-current`})})}),t]})}function Ge({className:e,inset:t,...n}){return(0,h.jsx)(x.Label,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:H(`px-2 py-1.5 text-sm font-medium data-inset:pl-8`,e),...n})}function Z({className:e,...t}){return(0,h.jsx)(x.Separator,{"data-slot":`dropdown-menu-separator`,className:H(`bg-border -mx-1 my-1 h-px`,e),...t})}function Ke({className:e,...t}){return(0,h.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:H(`text-muted-foreground ml-auto text-xs tracking-widest`,e),...t})}function qe({...e}){return(0,h.jsx)(x.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function Je({className:e,inset:t,children:n,...r}){return(0,h.jsxs)(x.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":t,className:H(`focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r,children:[n,(0,h.jsx)(b.ChevronRightIcon,{className:`ml-auto size-4`})]})}function Ye({className:e,...t}){return(0,h.jsx)(x.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:H(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg`,e),...t})}function Xe({delayDuration:e=0,...t}){return(0,h.jsx)(S.Provider,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function Ze({...e}){return(0,h.jsx)(Xe,{children:(0,h.jsx)(S.Root,{"data-slot":`tooltip`,...e})})}function Qe({...e}){return(0,h.jsx)(S.Trigger,{"data-slot":`tooltip-trigger`,...e})}function $e({className:e,sideOffset:t=0,children:n,...r}){return(0,h.jsx)(S.Portal,{children:(0,h.jsxs)(S.Content,{"data-slot":`tooltip-content`,sideOffset:t,className:H(`bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance`,e),...r,children:[n,(0,h.jsx)(S.Arrow,{className:`bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]`})]})})}const et={search:{searchText:`Search`,resetText:`Reset`,submitText:`Submit`,expandText:`Expand`,collapseText:`Collapse`,selectPlaceholder:`Select`,inputPlaceholder:`Enter`},pagination:{total:(e,t)=>`Page ${t[0]}-${t[1]} of ${e}`,items:`items`,page:`Page`,of:`of`,showTotal:`Show`},toolbar:{reload:`Reload`,density:`Density`,columnSetting:`Column Setting`,fullScreen:`Full Screen`,exitFullScreen:`Exit Full Screen`,compact:`Compact`,default:`Default`,comfortable:`Comfortable`,searchPlaceholder:`Search...`},columnSetting:{title:`Column Setting`,fixedLeft:`Fixed Left`,fixedRight:`Fixed Right`,noFixed:`No Fixed`,show:`Show`,hide:`Hide`,reset:`Reset`},batchActions:{selected:`selected`,clear:`Clear`,delete:`Delete`,export:`Export`},editable:{save:`Save`,cancel:`Cancel`,edit:`Edit`,delete:`Delete`},common:{confirm:`Confirm`,cancel:`Cancel`,noData:`No data available`,loading:`Loading...`,selectAll:`Select all`,copySuccess:`Copied successfully`}};var tt=(0,c.createContext)(void 0);function nt({locale:e,children:t}){let n=c.default.useMemo(()=>{let t=(e,n)=>{let r={...e};for(let i in n)n[i]&&typeof n[i]==`object`&&!Array.isArray(n[i])?r[i]=t(e[i]||{},n[i]):r[i]=n[i];return r};return t(et,e||{})},[e]);return(0,h.jsx)(tt.Provider,{value:{locale:n},children:t})}function Q(){let e=(0,c.useContext)(tt);if(e===void 0)throw Error(`useLocale must be used within a LocaleProvider`);return e.locale}function rt({id:e,children:t}){let{attributes:n,listeners:r,setNodeRef:i,transform:a,transition:o,isDragging:s}=(0,T.useSortable)({id:e}),c={transform:E.CSS.Transform.toString(a),transition:o,opacity:s?.6:1};return(0,h.jsxs)(`div`,{ref:i,style:c,className:`flex items-center`,children:[(0,h.jsx)(`div`,{...r,...n,role:`button`,tabIndex:0,"aria-label":`Drag column`,className:`mr-2 p-1 rounded hover:bg-muted/20 cursor-move flex items-center justify-center`,children:(0,h.jsx)(C.IconGripVertical,{className:`h-4 w-4`})}),(0,h.jsx)(`div`,{className:`flex-1`,children:t})]})}function it({table:e,columns:t,visibleColumns:n,onVisibleChange:r,fixedColumns:i={},onFixedChange:a,onOrderChange:o}){let s=Q(),l=t.filter(e=>e.enableHiding!==!1&&!e.hideInTable),u=l.map(e=>e.key||String(e.dataIndex)),[d,f]=(0,c.useState)(()=>({...i||{}}));(0,c.useEffect)(()=>{f({...i||{}})},[i]);let p=(t,i)=>{r(i?Array.from(new Set([...n,t])):n.filter(e=>e!==t));try{if(e&&typeof e.getAllColumns==`function`){let n=e.getAllColumns().filter(e=>e.accessorFn!==void 0&&e.getCanHide()).find(e=>e.id===t);n&&typeof n.toggleVisibility==`function`&&n.toggleVisibility(i)}}catch{}},m=(e,t)=>{f(n=>{let r={...n};return t===void 0?delete r[e]:r[e]=t,r}),a?.(e,t)};return(0,h.jsxs)(q,{children:[(0,h.jsx)(J,{asChild:!0,children:(0,h.jsx)(G,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,children:(0,h.jsx)(C.IconSettings,{className:`h-4 w-4`})})}),(0,h.jsxs)(Y,{align:`end`,className:`w-64`,children:[(0,h.jsx)(Ge,{children:s.columnSetting.title}),(0,h.jsx)(Z,{}),(0,h.jsx)(`div`,{className:`max-h-96 overflow-y-auto`,children:(0,h.jsx)(w.DndContext,{collisionDetection:w.closestCenter,modifiers:[D.restrictToVerticalAxis],onDragEnd:e=>{let{active:n,over:r}=e;if(!r||n.id===r.id)return;let i=l.findIndex(e=>(e.key||String(e.dataIndex))===n.id),a=l.findIndex(e=>(e.key||String(e.dataIndex))===r.id);if(i!==-1&&a!==-1&&typeof o==`function`){let e=[...l],[n]=e.splice(i,1);e.splice(a,0,n);let r=[],s=new Map(e.map(e=>[e.key||String(e.dataIndex),e]));for(let n of t){let t=n.key||String(n.dataIndex);if(s.has(t)){let t=e.shift();r.push(t)}else r.push(n)}e.length>0&&r.push(...e),o(r)}},autoScroll:{enabled:!1},children:(0,h.jsx)(T.SortableContext,{items:u,strategy:T.verticalListSortingStrategy,children:l.map(e=>{let t=e.key||String(e.dataIndex),r=n.includes(t),i=d?.[t]??void 0;return(0,h.jsx)(rt,{id:t,children:(0,h.jsxs)(`div`,{className:`flex items-center justify-between px-2 py-1.5 hover:bg-muted`,children:[(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,h.jsx)(G,{variant:`ghost`,size:`icon`,className:`h-6 w-6`,onClick:e=>{e.stopPropagation(),p(t,!r)},"aria-pressed":r,title:r?s.columnSetting.hide:s.columnSetting.show,children:r?(0,h.jsx)(C.IconEye,{className:`h-4 w-4`}):(0,h.jsx)(C.IconEyeOff,{className:`h-4 w-4`})}),(0,h.jsx)(`span`,{className:H(`text-sm`,!r&&`text-muted-foreground line-through`),children:e.title??t})]}),(0,h.jsxs)(q,{children:[(0,h.jsx)(J,{asChild:!0,children:(0,h.jsx)(G,{variant:`ghost`,size:`icon`,className:`h-6 w-6`,children:i?(0,h.jsx)(C.IconPin,{className:`h-4 w-4`}):(0,h.jsx)(C.IconPinEnd,{className:`h-4 w-4`})})}),(0,h.jsxs)(Y,{side:`left`,children:[(0,h.jsx)(X,{onClick:()=>m(t,void 0),children:s.columnSetting.noFixed}),(0,h.jsx)(X,{onClick:()=>m(t,`left`),children:s.columnSetting.fixedLeft}),(0,h.jsx)(X,{onClick:()=>m(t,`right`),children:s.columnSetting.fixedRight})]})]})]})},t)})})})}),(0,h.jsx)(Z,{}),(0,h.jsxs)(`div`,{className:`flex gap-2 p-2`,children:[(0,h.jsxs)(G,{size:`sm`,variant:`outline`,className:`flex-1`,onClick:()=>r(u),children:[s.columnSetting.show,` All`]}),(0,h.jsxs)(G,{size:`sm`,variant:`outline`,className:`flex-1`,onClick:()=>r([]),children:[s.columnSetting.hide,` All`]})]})]})]})}function at({title:e,subTitle:t,search:n,actions:r=[],settings:i=!0,filter:a,table:o,columns:s,loading:l,onReload:u,fullScreen:d=!1,onFullScreenChange:f,density:p=`middle`,onDensityChange:m,visibleColumns:g=[],onVisibleColumnsChange:_,columnSettings:v,onColumnSettingsChange:y}){let x=Q(),[S,C]=c.default.useState(``),w=e=>{e.preventDefault(),typeof n==`object`&&n.onSearch&&n.onSearch(S)},T=e=>{e.key===`Enter`&&(e.preventDefault(),typeof n==`object`&&n.onSearch&&n.onSearch(S))},E=Array.isArray(i)?i:i===!0?[`columnSettings`,`density`,`reload`,`fullScreen`]:[];return(0,h.jsxs)(`div`,{className:`flex flex-col gap-4 px-4 py-3`,children:[(0,h.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e&&(0,h.jsx)(`h3`,{className:`text-lg font-semibold leading-none`,children:e}),t&&(0,h.jsx)(`span`,{className:`text-sm text-muted-foreground leading-none`,children:t})]}),(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[n&&(0,h.jsxs)(`form`,{onSubmit:w,className:`relative`,children:[(0,h.jsx)(K,{placeholder:typeof n==`object`?n.placeholder:x.toolbar.searchPlaceholder,value:S,onChange:e=>C(e.target.value),onKeyDown:T,className:`h-8 w-[200px] pr-8`}),(0,h.jsx)(b.Search,{className:`absolute right-2 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`})]}),r.map((e,t)=>(0,h.jsx)(c.default.Fragment,{children:e},t)),E.length>0&&(0,h.jsx)(`div`,{className:`flex items-center gap-1 border-l pl-2`,children:(0,h.jsxs)(Xe,{children:[E.includes(`reload`)&&(0,h.jsxs)(Ze,{children:[(0,h.jsx)(Qe,{asChild:!0,children:(0,h.jsx)(G,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:u,disabled:l,children:(0,h.jsx)(b.RotateCw,{className:`h-4 w-4 ${l?`animate-spin`:``}`})})}),(0,h.jsx)($e,{children:(0,h.jsx)(`p`,{children:x.toolbar.reload})})]}),E.includes(`density`)&&(0,h.jsxs)(q,{children:[(0,h.jsx)(J,{asChild:!0,children:(0,h.jsx)(G,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,children:(0,h.jsx)(b.Settings2,{className:`h-4 w-4`})})}),(0,h.jsxs)(Y,{align:`end`,children:[(0,h.jsx)(Ge,{children:x.toolbar.density}),(0,h.jsx)(Z,{}),(0,h.jsx)(He,{checked:p===`small`,onCheckedChange:()=>m?.(`small`),children:x.toolbar.compact}),(0,h.jsx)(He,{checked:p===`middle`,onCheckedChange:()=>m?.(`middle`),children:x.toolbar.default}),(0,h.jsx)(He,{checked:p===`large`,onCheckedChange:()=>m?.(`large`),children:x.toolbar.comfortable})]})]}),E.includes(`columnSettings`)&&_&&(0,h.jsx)(it,{table:o,columns:s,visibleColumns:g,onVisibleChange:_,fixedColumns:v?.fixed||{},onFixedChange:(e,t)=>y?.(e,{fixed:t}),onOrderChange:e=>y?.(`order`,e)}),E.includes(`fullScreen`)&&(0,h.jsxs)(Ze,{children:[(0,h.jsx)(Qe,{asChild:!0,children:(0,h.jsx)(G,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>f?.(!d),children:d?(0,h.jsx)(b.Minimize2,{className:`h-4 w-4`}):(0,h.jsx)(b.Maximize2,{className:`h-4 w-4`})})}),(0,h.jsx)($e,{children:(0,h.jsx)(`p`,{children:d?x.toolbar.exitFullScreen:x.toolbar.fullScreen})})]})]})})]})]}),a&&(0,h.jsx)(`div`,{className:`border-t pt-3`,children:a})]})}function ot({column:e,value:t=[],onChange:n,onClear:r}){let[i,a]=(0,c.useState)(!1),o=Array.isArray(t)?t:[],s=(e,t)=>{t?n?.([...o,e]):n?.(o.filter(t=>t!==e))},l=()=>{n?.([]),r?.(),a(!1)},u=o.length>0;return(0,h.jsxs)(q,{open:i,onOpenChange:a,children:[(0,h.jsx)(J,{asChild:!0,children:(0,h.jsx)(G,{variant:`ghost`,size:`sm`,className:H(`h-6 w-6 p-0 hover:bg-muted`,u&&`bg-primary/10 text-primary`),children:(0,h.jsx)(b.Filter,{className:`h-3 w-3`})})}),(0,h.jsx)(Y,{align:`start`,className:`w-48`,children:(0,h.jsxs)(`div`,{className:`p-2`,children:[(0,h.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[(0,h.jsxs)(`span`,{className:`text-sm font-medium`,children:[`筛选 `,e.title]}),u&&(0,h.jsx)(G,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0`,onClick:l,children:(0,h.jsx)(b.X,{className:`h-3 w-3`})})]}),(0,h.jsx)(`div`,{className:`space-y-1 max-h-48 overflow-y-auto`,children:e.filters?.map(t=>(0,h.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,h.jsx)(De,{id:`filter-${e.key||e.dataIndex}-${t.value}`,checked:o.includes(t.value),onCheckedChange:e=>s(t.value,!!e)}),(0,h.jsx)(`label`,{htmlFor:`filter-${e.key||e.dataIndex}-${t.value}`,className:`text-sm cursor-pointer flex-1`,children:t.text})]},String(t.value)))})]})})]})}function st({...e}){return(0,h.jsx)(O.Root,{"data-slot":`select`,...e})}function ct({...e}){return(0,h.jsx)(O.Group,{"data-slot":`select-group`,...e})}function lt({...e}){return(0,h.jsx)(O.Value,{"data-slot":`select-value`,...e})}function ut({className:e,size:t=`default`,children:n,...r}){return(0,h.jsxs)(O.Trigger,{"data-slot":`select-trigger`,"data-size":t,className:H(`border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-full items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r,children:[n,(0,h.jsx)(O.Icon,{asChild:!0,children:(0,h.jsx)(b.ChevronDownIcon,{className:`size-4 opacity-50`})})]})}function dt({className:e,children:t,position:n=`popper`,align:r=`center`,...i}){return(0,h.jsx)(O.Portal,{children:(0,h.jsxs)(O.Content,{"data-slot":`select-content`,className:H(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md`,n===`popper`&&`data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1`,e),position:n,align:r,...i,children:[(0,h.jsx)(mt,{}),(0,h.jsx)(O.Viewport,{className:H(`p-1`,n===`popper`&&`h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)] scroll-my-1`),children:t}),(0,h.jsx)(ht,{})]})})}function ft({className:e,...t}){return(0,h.jsx)(O.Label,{"data-slot":`select-label`,className:H(`text-muted-foreground px-2 py-1.5 text-xs`,e),...t})}function $({className:e,children:t,...n}){return(0,h.jsxs)(O.Item,{"data-slot":`select-item`,className:H(`focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2`,e),...n,children:[(0,h.jsx)(`span`,{className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,h.jsx)(O.ItemIndicator,{children:(0,h.jsx)(b.CheckIcon,{className:`size-4`})})}),(0,h.jsx)(O.ItemText,{children:t})]})}function pt({className:e,...t}){return(0,h.jsx)(O.Separator,{"data-slot":`select-separator`,className:H(`bg-border pointer-events-none -mx-1 my-1 h-px`,e),...t})}function mt({className:e,...t}){return(0,h.jsx)(O.ScrollUpButton,{"data-slot":`select-scroll-up-button`,className:H(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,h.jsx)(b.ChevronUpIcon,{className:`size-4`})})}function ht({className:e,...t}){return(0,h.jsx)(O.ScrollDownButton,{"data-slot":`select-scroll-down-button`,className:H(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,h.jsx)(b.ChevronDownIcon,{className:`size-4`})})}var gt=768;function _t(){let[e,t]=c.useState(void 0);return c.useEffect(()=>{let e=window.matchMedia(`(max-width: ${gt-1}px)`),n=()=>{t(window.innerWidth<gt)};return e.addEventListener(`change`,n),t(window.innerWidth<gt),()=>e.removeEventListener(`change`,n)},[]),!!e}function vt({current:e=1,pageSize:t=10,total:n=0,showSizeChanger:r=!0,showQuickJumper:i=!1,showTotal:a,pageSizeOptions:o=[`10`,`20`,`50`,`100`],size:s=`default`,simple:c=!1,disabled:l=!1,onChange:u,onShowSizeChange:d,onPaginationChange:f}){let p=Q(),m=_t(),g=Math.max(1,Math.ceil(n/t)),_=Math.min(Math.max(e,1),g),v=l||_<=1,y=l||_>=g,b=e=>{let n=Math.min(Math.max(e,1),g);n!==_&&(u?.(n,t),f?.(n,t))},x=e=>{let t=Number(e);d?.(_,t),f?.(1,t)};if(c||m)return(0,h.jsxs)(`div`,{className:H(`flex w-full flex-col gap-2 rounded-lg border border-border/60 bg-card/60 p-3`,!m&&c&&`w-auto flex-row items-center justify-center gap-2 border-none bg-transparent p-0`),children:[(0,h.jsxs)(`div`,{className:H(`flex items-center gap-2`,m?`justify-between`:`justify-center`),children:[(0,h.jsx)(G,{variant:`outline`,size:s===`small`||m?`sm`:`default`,onClick:()=>b(_-1),disabled:v,children:(0,h.jsx)(C.IconChevronLeft,{className:`h-4 w-4`})}),(0,h.jsxs)(`span`,{className:`text-sm text-muted-foreground`,children:[p.pagination.page,` `,_,` `,p.pagination.of,` `,g]}),(0,h.jsx)(G,{variant:`outline`,size:s===`small`||m?`sm`:`default`,onClick:()=>b(_+1),disabled:y,children:(0,h.jsx)(C.IconChevronRight,{className:`h-4 w-4`})})]}),r&&!c&&(0,h.jsxs)(`div`,{className:`flex items-center justify-between gap-2 rounded-md bg-background/80 px-2 py-1 text-xs text-muted-foreground`,children:[(0,h.jsx)(`span`,{children:p.pagination.showTotal}),(0,h.jsxs)(st,{value:String(t),onValueChange:x,disabled:l,children:[(0,h.jsx)(ut,{size:`sm`,className:`h-8 w-[110px]`,id:`rows-per-page-mobile`,children:(0,h.jsx)(lt,{placeholder:t})}),(0,h.jsx)(dt,{children:o.map(e=>(0,h.jsx)($,{value:e,children:e},e))})]})]})]});let S=(_-1)*t+1,w=Math.min(_*t,n);return(0,h.jsxs)(`div`,{className:H(`px-4 py-3`,m?`flex flex-col gap-3 rounded-lg border border-border/60 bg-card/60`:`flex items-center justify-between`),children:[(0,h.jsx)(`div`,{className:`flex flex-1 items-center gap-4`,children:a?(0,h.jsx)(`span`,{className:`text-sm text-muted-foreground leading-none`,children:a(n,[S,w])}):(0,h.jsx)(`span`,{className:`text-sm text-muted-foreground leading-none`,children:p.pagination.total?.(n,[S,w])})}),(0,h.jsxs)(`div`,{className:H(`flex items-center gap-2`,m&&`flex-wrap justify-between gap-3`),children:[r&&(0,h.jsxs)(`div`,{className:H(`flex items-center gap-2`,m&&`order-2 w-full justify-between`),children:[(0,h.jsx)(`span`,{className:`text-sm text-muted-foreground leading-none`,children:p.pagination.showTotal}),(0,h.jsxs)(st,{value:String(t),onValueChange:x,disabled:l,children:[(0,h.jsx)(ut,{size:`sm`,className:H(`h-8 w-20`,m&&`w-[120px]`),id:`rows-per-page`,children:(0,h.jsx)(lt,{})}),(0,h.jsx)(dt,{children:o.map(e=>(0,h.jsx)($,{value:e,children:e},e))})]}),(0,h.jsx)(`span`,{className:`text-sm text-muted-foreground leading-none`,children:p.pagination.items})]}),(0,h.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,h.jsx)(G,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>b(1),disabled:v,children:(0,h.jsx)(C.IconChevronsLeft,{className:`h-4 w-4`})}),(0,h.jsx)(G,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>b(_-1),disabled:v,children:(0,h.jsx)(C.IconChevronLeft,{className:`h-4 w-4`})}),(0,h.jsxs)(`span`,{className:`px-2 text-sm`,children:[p.pagination.page,` `,_,` `,p.pagination.of,` `,g]}),(0,h.jsx)(G,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>b(_+1),disabled:y,children:(0,h.jsx)(C.IconChevronRight,{className:`h-4 w-4`})}),(0,h.jsx)(G,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>b(g),disabled:y,children:(0,h.jsx)(C.IconChevronsRight,{className:`h-4 w-4`})})]}),i&&(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,h.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:p.pagination.page}),(0,h.jsx)(`input`,{type:`number`,min:1,max:g,className:`h-8 w-[50px] rounded border px-2 text-center text-sm`,onKeyDown:e=>{if(e.key===`Enter`){let t=Number(e.target.value);t>=1&&t<=g&&b(t)}},disabled:l})]})]})]})}function yt({className:e,classNames:t,showOutsideDays:n=!0,captionLayout:r=`label`,buttonVariant:i=`ghost`,formatters:a,components:o,...s}){let c=(0,k.getDefaultClassNames)();return(0,h.jsx)(k.DayPicker,{showOutsideDays:n,className:H(`bg-background group/calendar p-3 [--cell-size:--spacing(8)] [[data-slot=card-content]_&]:bg-transparent [[data-slot=popover-content]_&]:bg-transparent`,String.raw`rtl:**:[.rdp-button\_next>svg]:rotate-180`,String.raw`rtl:**:[.rdp-button\_previous>svg]:rotate-180`,e),captionLayout:r,formatters:{formatMonthDropdown:e=>e.toLocaleString(`default`,{month:`short`}),...a},classNames:{root:H(`w-fit`,c.root),months:H(`flex gap-4 flex-col md:flex-row relative`,c.months),month:H(`flex flex-col w-full gap-4`,c.month),nav:H(`flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between`,c.nav),button_previous:H(Ie({variant:i}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,c.button_previous),button_next:H(Ie({variant:i}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,c.button_next),month_caption:H(`flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)`,c.month_caption),dropdowns:H(`w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5`,c.dropdowns),dropdown_root:H(`relative has-focus:border-ring border border-input shadow-xs has-focus:ring-ring/50 has-focus:ring-[3px] rounded-md`,c.dropdown_root),dropdown:H(`absolute bg-popover inset-0 opacity-0`,c.dropdown),caption_label:H(`select-none font-medium`,r===`label`?`text-sm`:`rounded-md pl-2 pr-1 flex items-center gap-1 text-sm h-8 [&>svg]:text-muted-foreground [&>svg]:size-3.5`,c.caption_label),table:`w-full border-collapse`,weekdays:H(`flex`,c.weekdays),weekday:H(`text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none`,c.weekday),week:H(`flex w-full mt-2`,c.week),week_number_header:H(`select-none w-(--cell-size)`,c.week_number_header),week_number:H(`text-[0.8rem] select-none text-muted-foreground`,c.week_number),day:H(`relative w-full h-full p-0 text-center [&:first-child[data-selected=true]_button]:rounded-l-md [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none`,c.day),range_start:H(`rounded-l-md bg-accent`,c.range_start),range_middle:H(`rounded-none`,c.range_middle),range_end:H(`rounded-r-md bg-accent`,c.range_end),today:H(`bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none`,c.today),outside:H(`text-muted-foreground aria-selected:text-muted-foreground`,c.outside),disabled:H(`text-muted-foreground opacity-50`,c.disabled),hidden:H(`invisible`,c.hidden),...t},components:{Root:({className:e,rootRef:t,...n})=>(0,h.jsx)(`div`,{"data-slot":`calendar`,ref:t,className:H(e),...n}),Chevron:({className:e,orientation:t,...n})=>t===`left`?(0,h.jsx)(b.ChevronLeftIcon,{className:H(`size-4`,e),...n}):t===`right`?(0,h.jsx)(b.ChevronRightIcon,{className:H(`size-4`,e),...n}):(0,h.jsx)(b.ChevronDownIcon,{className:H(`size-4`,e),...n}),DayButton:bt,WeekNumber:({children:e,...t})=>(0,h.jsx)(`td`,{...t,children:(0,h.jsx)(`div`,{className:`flex size-(--cell-size) items-center justify-center text-center`,children:e})}),...o},...s})}function bt({className:e,day:t,modifiers:n,...r}){let i=(0,k.getDefaultClassNames)(),a=c.useRef(null);return c.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),(0,h.jsx)(G,{ref:a,variant:`ghost`,size:`icon`,"data-day":t.date.toLocaleDateString(),"data-selected-single":n.selected&&!n.range_start&&!n.range_end&&!n.range_middle,"data-range-start":n.range_start,"data-range-end":n.range_end,"data-range-middle":n.range_middle,className:H(`data-[selected-single=true]:bg-primary data-[selected-single=true]:text-primary-foreground data-[range-middle=true]:bg-accent data-[range-middle=true]:text-accent-foreground data-[range-start=true]:bg-primary data-[range-start=true]:text-primary-foreground data-[range-end=true]:bg-primary data-[range-end=true]:text-primary-foreground group-data-[focused=true]/day:border-ring group-data-[focused=true]/day:ring-ring/50 dark:hover:text-accent-foreground flex aspect-square size-auto w-full min-w-(--cell-size) flex-col gap-1 leading-none font-normal group-data-[focused=true]/day:relative group-data-[focused=true]/day:z-10 group-data-[focused=true]/day:ring-[3px] data-[range-end=true]:rounded-md data-[range-end=true]:rounded-r-md data-[range-middle=true]:rounded-none data-[range-start=true]:rounded-md data-[range-start=true]:rounded-l-md [&>span]:text-xs [&>span]:opacity-70`,i.day,e),...r})}function xt({...e}){return(0,h.jsx)(A.Root,{"data-slot":`popover`,...e})}function St({...e}){return(0,h.jsx)(A.Trigger,{"data-slot":`popover-trigger`,...e})}function Ct({className:e,align:t=`center`,sideOffset:n=4,...r}){return(0,h.jsx)(A.Portal,{children:(0,h.jsx)(A.Content,{"data-slot":`popover-content`,align:t,sideOffset:n,className:H(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-md border p-4 shadow-md outline-hidden`,e),...r})})}function wt({...e}){return(0,h.jsx)(A.Anchor,{"data-slot":`popover-anchor`,...e})}function Tt({value:e,onChange:t,placeholder:n=`Pick a date`,className:r,disabled:i,fromDate:a,toDate:o,formatStr:s=`PPP`,align:c=`start`,sideOffset:l=4}){return(0,h.jsxs)(xt,{children:[(0,h.jsx)(St,{asChild:!0,children:(0,h.jsxs)(G,{variant:`outline`,className:H(`justify-start text-left font-normal`,!e&&`text-muted-foreground`,r),disabled:i,children:[(0,h.jsx)(b.Calendar,{className:`mr-2 h-4 w-4`}),e?(0,f.format)(e,s):(0,h.jsx)(`span`,{children:n})]})}),(0,h.jsx)(Ct,{className:`w-auto p-0`,align:c,sideOffset:l,children:(0,h.jsx)(yt,{mode:`single`,selected:e,onSelect:t,disabled:i,fromDate:a,toDate:o,initialFocus:!0})})]})}function Et({value:e,onChange:t,placeholder:n=`Pick a date range`,className:r,disabled:i,fromDate:a,toDate:o,formatStr:s=`LLL dd, y`,align:c=`start`,sideOffset:l=4,numberOfMonths:u=2}){return(0,h.jsx)(`div`,{className:H(`w-full`,r),children:(0,h.jsxs)(xt,{children:[(0,h.jsx)(St,{asChild:!0,children:(0,h.jsxs)(G,{id:`date`,variant:`outline`,className:H(`justify-start text-left font-normal`,!e&&`text-muted-foreground`),disabled:i,children:[(0,h.jsx)(b.Calendar,{className:`mr-2 h-4 w-4`}),e?.from?e.to?(0,h.jsxs)(h.Fragment,{children:[(0,f.format)(e.from,s),` -`,` `,(0,f.format)(e.to,s)]}):(0,f.format)(e.from,s):(0,h.jsx)(`span`,{children:n})]})}),(0,h.jsx)(Ct,{className:`w-auto p-0`,align:c,sideOffset:l,children:(0,h.jsx)(yt,{initialFocus:!0,mode:`range`,defaultMonth:e?.from,selected:e,onSelect:t,numberOfMonths:u,disabled:i,fromDate:a,toDate:o})})]})})}function Dt({className:e,...t}){return(0,h.jsx)(j.Root,{"data-slot":`label`,className:H(`flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50`,e),...t})}function Ot({columns:e,onSearch:t,onReset:n,loading:r,filterType:i=`query`,searchText:a,resetText:o,submitText:s,defaultCollapsed:l=!0,collapsed:u,onCollapse:d,optionRender:f}){let p=Q(),{control:m,register:g,handleSubmit:_,reset:v,watch:y}=(0,M.useForm)({defaultValues:{}}),[x,S]=(0,c.useState)(u??l),C=u!==void 0,w=C?u:x;(0,c.useEffect)(()=>{C&&S(u??l)},[u]);let T=()=>{C||S(!x),d?.(!w)},E=e=>{t?.(e)},D=()=>{v({}),n?.()},O=e=>{let t=e.key||String(e.dataIndex);switch(e.valueType){case`select`:return(0,h.jsx)(M.Controller,{control:m,name:t,render:({field:n})=>(0,h.jsxs)(st,{value:n.value,onValueChange:e=>n.onChange(e),children:[(0,h.jsx)(ut,{className:`h-8 w-full`,children:(0,h.jsx)(lt,{placeholder:`${p.search.selectPlaceholder} ${e.title}`})}),(0,h.jsx)(dt,{children:e.valueEnum?Object.entries(e.valueEnum).map(([e,n])=>(0,h.jsx)($,{value:e,children:n.text},`${t}-${e}`)):e.filters?.map(e=>(0,h.jsx)($,{value:e.value,children:e.text},`${t}-filter-${String(e.value)}`))})]})});case`date`:return(0,h.jsx)(M.Controller,{control:m,name:t,render:({field:t})=>(0,h.jsx)(Tt,{value:t.value,onChange:e=>t.onChange(e),className:`h-8 w-full`,placeholder:`${p.search.selectPlaceholder} ${e.title}`,formatStr:`PP`})});case`dateTime`:return(0,h.jsx)(M.Controller,{control:m,name:t,render:({field:t})=>(0,h.jsx)(Tt,{value:t.value,onChange:e=>t.onChange(e),className:`h-8 w-full`,placeholder:`${p.search.selectPlaceholder} ${e.title}`,formatStr:`PPp`})});case`dateRange`:return(0,h.jsx)(M.Controller,{control:m,name:t,render:({field:t})=>(0,h.jsx)(Et,{value:t.value,onChange:e=>t.onChange(e),className:`h-8 w-full`,placeholder:`${p.search.selectPlaceholder} ${e.title} range`,numberOfMonths:2})});case`number`:return(0,h.jsx)(M.Controller,{control:m,name:t,render:({field:t})=>(0,h.jsx)(K,{type:`number`,value:t.value??``,onChange:e=>t.onChange(e.target.value?Number(e.target.value):void 0),placeholder:`${p.search.inputPlaceholder} ${e.title}`,className:`h-8 w-full`})});case`switch`:return(0,h.jsx)(M.Controller,{control:m,name:t,defaultValue:!1,render:({field:e})=>(0,h.jsx)(`div`,{className:`flex items-center h-8`,children:(0,h.jsx)(V,{id:t,checked:!!e.value,onCheckedChange:t=>e.onChange(t)})})});default:return(0,h.jsx)(M.Controller,{control:m,name:t,render:({field:t})=>(0,h.jsx)(K,{value:t.value??``,onChange:e=>t.onChange(e.target.value),placeholder:`${p.search.inputPlaceholder} ${e.title}`,className:`h-8 w-full`})})}};if(i===`light`)return(0,h.jsxs)(`form`,{className:`flex items-center gap-2 px-4 py-2`,onSubmit:_(E),children:[(0,h.jsxs)(`div`,{className:`relative flex-1 max-w-sm`,children:[(0,h.jsx)(K,{placeholder:a||p.search.searchText,...g(`keyword`),onKeyDown:e=>{e.key},className:`h-8 pr-8`}),(0,h.jsx)(b.Search,{className:`absolute right-2 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`})]}),(0,h.jsx)(G,{size:`sm`,type:`submit`,disabled:r,children:s||p.search.submitText}),(0,h.jsx)(G,{size:`sm`,variant:`outline`,onClick:()=>{D()},children:o||p.search.resetText})]});let k=e,A=e.length>3,j=[(0,h.jsxs)(G,{size:`sm`,onClick:_(E),disabled:r,children:[(0,h.jsx)(b.Search,{className:`mr-1 h-4 w-4`}),s||p.search.submitText]},`search`),(0,h.jsxs)(G,{size:`sm`,variant:`outline`,onClick:D,children:[(0,h.jsx)(b.RotateCw,{className:`mr-1 h-4 w-4`}),o||p.search.resetText]},`reset`)];A&&j.push((0,h.jsx)(G,{size:`sm`,variant:`ghost`,onClick:T,children:w?(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(b.ChevronDown,{className:`mr-1 h-4 w-4`}),p.search.expandText]}):(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(b.ChevronUp,{className:`mr-1 h-4 w-4`}),p.search.collapseText]})},`collapse`));let N=f?f({collapsed:w},y(),j):j;return(0,h.jsxs)(`form`,{className:`border-b bg-muted/30 px-4 py-3 overflow-visible`,onSubmit:_(E),children:[(0,h.jsx)(`div`,{className:H(`grid gap-4 transition-all duration-300 ease-in-out`,`grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4`,w?`max-h-15`:`max-h-[500px]`),style:{overflow:w?`clip`:`visible`},children:k.map(e=>{let t=e.key||String(e.dataIndex),n=e.formItemProps?.required;return(0,h.jsxs)(`div`,{className:`flex flex-col gap-1 min-w-0`,children:[(0,h.jsxs)(Dt,{htmlFor:t,className:`text-sm font-medium`,children:[e.title,n&&(0,h.jsx)(`span`,{className:`text-red-500 ml-1`,children:`*`})]}),(0,h.jsx)(`div`,{className:`w-full h-8 flex items-center`,children:e.renderFormItem?e.renderFormItem(y()[t],{}):O(e)})]},t)})}),(0,h.jsx)(`div`,{className:`mt-3 flex items-center justify-end gap-2`,children:N})]})}var kt=(0,m.cva)(`relative w-full rounded-lg border px-4 py-3 text-sm grid has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] grid-cols-[0_1fr] has-[>svg]:gap-x-3 gap-y-0.5 items-start [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current`,{variants:{variant:{default:`bg-card text-card-foreground`,destructive:`text-destructive bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-destructive/90`}},defaultVariants:{variant:`default`}});function At({className:e,variant:t,...n}){return(0,h.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:H(kt({variant:t}),e),...n})}function jt({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`alert-title`,className:H(`col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight`,e),...t})}function Mt({className:e,...t}){return(0,h.jsx)(`div`,{"data-slot":`alert-description`,className:H(`text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed`,e),...t})}function Nt({selectedCount:e,selectedRows:t,onDelete:n,onExport:r,onExportExcel:i,onExportCSV:a,onEmail:o,onArchive:s,customActions:c=[],disabled:l=!1,className:u}){if(e===0)return null;let d=()=>{n&&t.length>0&&n(t)},f=()=>{r&&t.length>0&&r(t)},p=()=>{i&&t.length>0&&i(t)},m=()=>{a&&t.length>0&&a(t)},g=()=>{o&&t.length>0&&o(t)},_=()=>{s&&t.length>0&&s(t)},v=n||r||i||a||o||s,y=c.length>0;return(0,h.jsxs)(`div`,{className:H(`flex items-center gap-2`,u),children:[v&&(0,h.jsxs)(h.Fragment,{children:[n&&(0,h.jsxs)(G,{variant:`destructive`,size:`sm`,onClick:d,disabled:l,className:`h-8`,children:[(0,h.jsx)(b.Trash2,{className:`h-3 w-3 mr-1`}),`删除 (`,e,`)`]}),r&&(0,h.jsxs)(G,{variant:`outline`,size:`sm`,onClick:f,disabled:l,className:`h-8`,children:[(0,h.jsx)(b.Download,{className:`h-3 w-3 mr-1`}),`导出`]}),(i||a)&&(0,h.jsxs)(q,{children:[(0,h.jsx)(J,{asChild:!0,children:(0,h.jsxs)(G,{variant:`outline`,size:`sm`,disabled:l,className:`h-8`,children:[(0,h.jsx)(b.FileText,{className:`h-3 w-3 mr-1`}),`导出格式`]})}),(0,h.jsxs)(Y,{align:`start`,children:[i&&(0,h.jsxs)(X,{onClick:p,children:[(0,h.jsx)(b.FileText,{className:`h-4 w-4 mr-2`}),`Excel (.xlsx)`]}),a&&(0,h.jsxs)(X,{onClick:m,children:[(0,h.jsx)(b.FileText,{className:`h-4 w-4 mr-2`}),`CSV (.csv)`]})]})]}),o&&(0,h.jsxs)(G,{variant:`outline`,size:`sm`,onClick:g,disabled:l,className:`h-8`,children:[(0,h.jsx)(b.Mail,{className:`h-3 w-3 mr-1`}),`发送邮件`]}),s&&(0,h.jsxs)(G,{variant:`outline`,size:`sm`,onClick:_,disabled:l,className:`h-8`,children:[(0,h.jsx)(b.Archive,{className:`h-3 w-3 mr-1`}),`归档`]})]}),y&&(0,h.jsx)(h.Fragment,{children:c.map(e=>(0,h.jsxs)(G,{variant:e.variant||`outline`,size:`sm`,onClick:()=>e.onClick(t),disabled:l,className:`h-8`,children:[e.icon&&(0,h.jsx)(`span`,{className:`mr-1`,children:e.icon}),e.label]},e.key))}),(v||y)&&(0,h.jsxs)(q,{children:[(0,h.jsx)(J,{asChild:!0,children:(0,h.jsx)(G,{variant:`ghost`,size:`sm`,disabled:l,className:`h-8 w-8 p-0`,children:(0,h.jsx)(b.MoreHorizontal,{className:`h-4 w-4`})})}),(0,h.jsxs)(Y,{align:`end`,children:[n&&(0,h.jsxs)(h.Fragment,{children:[(0,h.jsxs)(X,{onClick:d,className:`text-destructive`,children:[(0,h.jsx)(b.Trash2,{className:`h-4 w-4 mr-2`}),`删除选中项`]}),(0,h.jsx)(Z,{})]}),r&&(0,h.jsxs)(X,{onClick:f,children:[(0,h.jsx)(b.Download,{className:`h-4 w-4 mr-2`}),`导出数据`]}),o&&(0,h.jsxs)(X,{onClick:g,children:[(0,h.jsx)(b.Mail,{className:`h-4 w-4 mr-2`}),`发送邮件`]}),s&&(0,h.jsxs)(X,{onClick:_,children:[(0,h.jsx)(b.Archive,{className:`h-4 w-4 mr-2`}),`归档`]}),c.length>0&&(0,h.jsxs)(h.Fragment,{children:[(0,h.jsx)(Z,{}),c.map(e=>(0,h.jsxs)(X,{onClick:()=>e.onClick(t),children:[e.icon&&(0,h.jsx)(`span`,{className:`mr-2`,children:e.icon}),e.label]},e.key))]})]})]})]})}function Pt({selectedCount:e,selectedRows:t=[],onClear:n,actions:r=[],alwaysShow:i=!1,batchActions:a}){let o=Q();return(0,h.jsx)(N.AnimatePresence,{children:(i||e>0)&&(0,h.jsx)(N.motion.div,{initial:{opacity:0,y:-6},animate:{opacity:1,y:0},exit:{opacity:0,y:-6},transition:{duration:.18},children:(0,h.jsx)(At,{className:`mb-4`,children:(0,h.jsxs)(Mt,{className:`flex items-center justify-between`,children:[(0,h.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,h.jsx)(`span`,{className:`text-sm leading-none`,children:e>0?(0,h.jsxs)(h.Fragment,{children:[o.batchActions.selected,` `,(0,h.jsx)(`strong`,{children:e}),` row(s)`]}):o.batchActions.selected}),e>0&&(0,h.jsxs)(`div`,{className:`flex items-center gap-1`,children:[a&&(0,h.jsx)(Nt,{selectedCount:e,selectedRows:t,...a}),r.map((e,t)=>(0,h.jsx)(c.default.Fragment,{children:e},t))]})]}),e>0&&(0,h.jsxs)(G,{variant:`ghost`,size:`sm`,onClick:n,children:[(0,h.jsx)(C.IconX,{className:`mr-1 h-3 w-3`}),o.batchActions.clear]})]})})},`batch-actions`)})}var Ft=c.forwardRef(({className:e,...t},n)=>(0,h.jsx)(`textarea`,{className:H(`flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50`,e),ref:n,...t}));Ft.displayName=`Textarea`;function It({value:e,record:t,column:n,isEditing:r,onSave:i,onCancel:a,onStartEdit:o}){let[s,l]=(0,c.useState)(e),[u,d]=(0,c.useState)(!0);(0,c.useEffect)(()=>{l(e)},[e]);let p=()=>{u&&i(s)},m=()=>{l(e),a()},g=e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),p()):e.key===`Escape`&&(e.preventDefault(),m())};return r?(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,h.jsx)(`div`,{className:`flex-1`,children:(()=>{let{valueType:e,fieldProps:t={}}=n;switch(e){case`text`:return(0,h.jsx)(K,{value:s||``,onChange:e=>l(e.target.value),onKeyDown:g,className:`h-8`,...t});case`number`:return(0,h.jsx)(K,{type:`number`,value:s||``,onChange:e=>{let t=e.target.value===``?null:Number(e.target.value);l(t),d(e.target.value===``||!isNaN(Number(e.target.value)))},onKeyDown:g,className:`h-8`,...t});case`select`:let{valueEnum:e}=n;return(0,h.jsxs)(st,{value:s||``,onValueChange:l,children:[(0,h.jsx)(ut,{className:`h-8`,children:(0,h.jsx)(lt,{placeholder:`请选择`})}),(0,h.jsx)(dt,{children:e&&Object.entries(e).map(([e,t])=>(0,h.jsx)($,{value:e,children:t.text},e))})]});case`switch`:return(0,h.jsx)(V,{checked:!!s,onCheckedChange:l,...t});case`date`:return(0,h.jsxs)(xt,{children:[(0,h.jsx)(St,{asChild:!0,children:(0,h.jsxs)(G,{variant:`outline`,className:H(`h-8 justify-start text-left font-normal`,!s&&`text-muted-foreground`),children:[(0,h.jsx)(b.CalendarIcon,{className:`mr-2 h-4 w-4`}),s?(0,f.format)(s,`yyyy-MM-dd`):`选择日期`]})}),(0,h.jsx)(Ct,{className:`w-auto p-0`,children:(0,h.jsx)(yt,{mode:`single`,selected:s,onSelect:l,initialFocus:!0})})]});case`textarea`:return(0,h.jsx)(Ft,{value:s||``,onChange:e=>l(e.target.value),onKeyDown:g,className:`min-h-[60px]`,...t});case`money`:return(0,h.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,h.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`¥`}),(0,h.jsx)(K,{type:`number`,value:s||``,onChange:e=>{let t=e.target.value===``?null:Number(e.target.value);l(t),d(e.target.value===``||!isNaN(Number(e.target.value)))},onKeyDown:g,className:`h-8`,placeholder:`0.00`,...t})]});case`percent`:return(0,h.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,h.jsx)(K,{type:`number`,value:s||``,onChange:e=>{let t=e.target.value===``?null:Number(e.target.value);l(t),d(e.target.value===``||!isNaN(Number(e.target.value)))},onKeyDown:g,className:`h-8`,placeholder:`0`,...t}),(0,h.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`%`})]});case`email`:return(0,h.jsx)(K,{type:`email`,value:s||``,onChange:e=>l(e.target.value),onKeyDown:g,className:`h-8`,placeholder:`example@email.com`,...t});case`phone`:return(0,h.jsx)(K,{type:`tel`,value:s||``,onChange:e=>l(e.target.value),onKeyDown:g,className:`h-8`,placeholder:`+86 138 0000 0000`,...t});case`url`:return(0,h.jsx)(K,{type:`url`,value:s||``,onChange:e=>l(e.target.value),onKeyDown:g,className:`h-8`,placeholder:`https://example.com`,...t});default:return(0,h.jsx)(K,{value:s||``,onChange:e=>l(e.target.value),onKeyDown:g,className:`h-8`,...t})}})()}),(0,h.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,h.jsx)(G,{size:`sm`,variant:`ghost`,className:`h-6 w-6 p-0`,onClick:p,disabled:!u,children:(0,h.jsx)(b.Check,{className:`h-3 w-3`})}),(0,h.jsx)(G,{size:`sm`,variant:`ghost`,className:`h-6 w-6 p-0`,onClick:m,children:(0,h.jsx)(b.X,{className:`h-3 w-3`})})]})]}):(0,h.jsx)(`div`,{className:`cursor-pointer hover:bg-muted/50 rounded px-2 py-1 min-h-[32px] flex items-center`,onClick:o,children:(()=>n.render?n.render(e,t,0):(n.valueType,e))()})}function Lt({record:e,config:t,editable:n,onEdit:r,onSave:i,onCancel:a,onDelete:o,onAdd:s,onRemove:l}){let{isEditing:u}=t;return n?.actionRender?(0,h.jsx)(`div`,{className:`flex items-center gap-1`,children:n.actionRender(e,t).map((e,t)=>(0,h.jsx)(c.default.Fragment,{children:e},t))}):(0,h.jsx)(`div`,{className:`flex items-center justify-center`,children:(()=>u?(0,h.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,h.jsxs)(G,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:i,children:[(0,h.jsx)(b.Save,{className:`h-3 w-3 mr-1`}),`保存`]}),(0,h.jsxs)(G,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:a,children:[(0,h.jsx)(b.X,{className:`h-3 w-3 mr-1`}),`取消`]})]}):(0,h.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,h.jsxs)(G,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:r,children:[(0,h.jsx)(b.Edit,{className:`h-3 w-3 mr-1`}),`编辑`]}),o&&(0,h.jsx)(G,{size:`sm`,variant:`ghost`,className:`h-7 px-2 text-destructive hover:text-destructive`,onClick:o,title:`删除`,children:(0,h.jsx)(b.Trash2,{className:`h-3 w-3`})}),s&&(0,h.jsx)(G,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:s,children:(0,h.jsx)(b.Plus,{className:`h-3 w-3`})}),l&&(0,h.jsx)(G,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:l,children:(0,h.jsx)(b.Minus,{className:`h-3 w-3`})})]}))()})}function Rt({value:e,className:t,size:n=`sm`,showText:r=!1,onCopy:i}){let[a,o]=(0,c.useState)(!1),s=async()=>{try{let t=typeof e==`string`?e:JSON.stringify(e);await navigator.clipboard.writeText(t),o(!0),i?.(e),setTimeout(()=>o(!1),2e3)}catch(t){console.error(`Failed to copy:`,t);try{let t=document.createElement(`textarea`);t.value=typeof e==`string`?e:JSON.stringify(e),document.body.appendChild(t),t.select(),document.execCommand(`copy`),document.body.removeChild(t),o(!0),i?.(e),setTimeout(()=>o(!1),2e3)}catch(e){console.error(`Fallback copy failed:`,e)}}},l={sm:`h-6 w-6 p-0`,md:`h-8 w-8 p-0`,lg:`h-10 w-10 p-0`},u={sm:`h-3 w-3`,md:`h-4 w-4`,lg:`h-5 w-5`};return(0,h.jsxs)(G,{variant:`ghost`,size:`sm`,className:H(l[n],`hover:bg-muted/50 transition-colors`,t),onClick:s,title:a?`已复制`:`复制`,children:[a?(0,h.jsx)(b.Check,{className:H(u[n],`text-green-600`)}):(0,h.jsx)(b.Copy,{className:H(u[n],`text-muted-foreground`)}),r&&(0,h.jsx)(`span`,{className:`ml-1 text-xs`,children:a?`已复制`:`复制`})]})}var zt=(e,t,n)=>{if(!e.fixed)return{};let r=0;if(e.fixed===`left`){for(let e=0;e<t;e++)n[e].fixed===`left`&&(r+=n[e].width||100);return{position:`sticky`,left:r,zIndex:1,backgroundColor:`var(--background)`}}if(e.fixed===`right`){for(let e=t+1;e<n.length;e++)n[e].fixed===`right`&&(r+=n[e].width||100);return{position:`sticky`,right:r,zIndex:1,backgroundColor:`var(--background)`}}return{}},Bt=(e,t,n)=>{if(!e.fixed)return``;let r=[];return e.fixed===`left`&&(r.push(`pro-table-cell-fix-left`),(t===n.length-1||!n.slice(t+1).some(e=>e.fixed===`left`))&&r.push(`pro-table-cell-fix-left-last`)),e.fixed===`right`&&(r.push(`pro-table-cell-fix-right`),(t===0||!n.slice(0,t).some(e=>e.fixed===`right`))&&r.push(`pro-table-cell-fix-right-first`)),r.join(` `)};function Vt({row:e,children:t}){let{attributes:n,listeners:r,setNodeRef:i,transform:a,transition:o,isDragging:s}=(0,T.useSortable)({id:e.id}),c={transform:E.CSS.Transform.toString(a),transition:o,opacity:s?.5:1};return(0,h.jsxs)(U,{ref:i,style:c,"data-state":e.getIsSelected&&e.getIsSelected()?`selected`:void 0,...n,children:[(0,h.jsx)(W,{className:`w-8`,children:(0,h.jsx)(G,{variant:`ghost`,size:`icon`,className:`h-6 w-6 cursor-move`,...r,children:(0,h.jsx)(b.GripVertical,{className:`h-3 w-3`})})}),t]})}const Ht=(0,c.forwardRef)((e,t)=>{let{columns:n=[],className:r,style:i,tableClassName:a,tableStyle:o,size:s=`middle`,bordered:u=!1,loading:d=!1,toolbar:f,pagination:p,rowSelection:m,draggable:g,editable:_,headerTitle:v,headerSubTitle:y,footer:x,onRow:S,search:C,cardBordered:E=!1,cardProps:O,tableRender:k,tableExtraRender:A,onSubmit:j,onReset:M,scroll:N,sticky:P,tableLayout:te,locale:ne}=e,[F,re]=(0,c.useState)(()=>n);(0,c.useEffect)(()=>{re(n)},[n]);let ie={...e,columns:F},{table:I,state:L,actions:R,handlers:z}=Re(ie),{request:ae}=ie,{visibleColumns:oe,setVisibleColumns:se,columnSettings:ce,updateColumnSettings:le}=ze({columns:F,rowSelection:!!m,draggable:!!g,editable:!!_}),[ue,de]=(0,c.useState)(s),[fe,B]=(0,c.useState)(!1),pe=(0,w.useSensors)((0,w.useSensor)(w.PointerSensor),(0,w.useSensor)(w.KeyboardSensor));(0,c.useImperativeHandle)(t,()=>R,[R]);let me=e=>{if(g&&typeof g==`object`&&typeof g.onDragEnd==`function`){let{active:t,over:n}=e;if(!n||t.id===n.id)return;let r=I.getRowModel().rows,i=r.findIndex(e=>String(e.id)===String(t.id)),a=r.findIndex(e=>String(e.id)===String(n.id));if(i!==-1&&a!==-1){let t=[...L.data],[n]=t.splice(i,1);t.splice(a,0,n);try{R.setTableData(t)}catch(e){console.warn(`setTableData unavailable`,e)}try{g.onDragEnd({active:{id:e.active.id},over:e.over?{id:e.over.id}:null,items:t,oldIndex:0,newIndex:0})}catch(e){console.error(`draggable.onDragEnd error:`,e)}}}},he=()=>{try{I.toggleAllRowsSelected?.(!1)}catch{}R.clearSelected()},V=e=>{z.handleSearch(e),j?.(e)},ge=()=>{z.handleReset(),M?.()},_e=(e,t)=>{if(I.setColumnFilters(n=>({...n,[e]:t})),ae){let n={...L.filters};t.length>0?n[e]=t:delete n[e],z.handleSearch(n)}},ye=e=>{if(I.setColumnFilters(t=>t.filter(t=>t.id!==e)),ae){let t={...L.filters};delete t[e],z.handleSearch(t)}},be=(e,t)=>{if(e===`order`&&Array.isArray(t)){re(t);return}if(typeof e==`string`&&t&&t.fixed!==void 0){let n=e,r=t.fixed;re(e=>e.map(e=>(e.key||String(e.dataIndex))===n?{...e,fixed:r}:e));return}le(e,t)},we={small:`text-xs [&_th]:py-1.5 [&_td]:py-1`,middle:`text-sm [&_th]:py-2 [&_td]:py-2`,large:`text-base [&_th]:py-3 [&_td]:py-3`},Ee=()=>(0,h.jsx)(U,{children:(0,h.jsx)(W,{colSpan:F.length+(m?1:0)+(g?1:0),className:`h-32 text-center`,children:(0,h.jsx)(`div`,{className:`flex flex-col items-center justify-center gap-2`,children:(0,h.jsx)(`span`,{className:`text-muted-foreground`,children:`No data available`})})})}),Ae=()=>(0,h.jsx)(h.Fragment,{children:[...[,,,,,]].map((e,t)=>(0,h.jsxs)(U,{children:[g&&(0,h.jsx)(W,{children:(0,h.jsx)(Oe,{className:`h-4 w-4`})}),m&&(0,h.jsx)(W,{children:(0,h.jsx)(Oe,{className:`h-4 w-4`})}),F.map((e,t)=>(0,h.jsx)(W,{children:(0,h.jsx)(Oe,{className:`h-4 w-full`})},t))]},t))}),je=e=>{let t=e.original.id||e.original.key||e.id,n=L.editingKey===t;return(0,h.jsxs)(h.Fragment,{children:[m&&(0,h.jsx)(W,{className:`w-8`,children:(0,h.jsx)(De,{checked:e.getIsSelected?.()??!1,onCheckedChange:t=>e.toggleSelected?.(!!t),"aria-label":`Select row`})}),e.getVisibleCells().map((r,i)=>{let a=F.find(e=>(e.key||String(e.dataIndex))===r.column.id),o=zt(a,i,F),s=Bt(a,i,F);return _&&a?.editable&&n?(0,h.jsx)(W,{className:H(`align-middle`,a?.align&&`text-${a.align}`,a?.ellipsis&&`truncate`,s),style:{width:a?.width,...o},children:(0,h.jsx)(It,{value:r.getValue(),record:e.original,column:a,isEditing:n,onSave:n=>{let r={...e.original,[a.dataIndex]:n};R.saveEditable(t,r),_?.onSave&&_.onSave(t,r,e.original)},onCancel:()=>R.cancelEditable(t),onStartEdit:()=>R.startEditable(t)})},r.id):(0,h.jsx)(W,{className:H(`align-middle`,a?.align&&`text-${a.align}`,a?.ellipsis&&`truncate`,s),style:{width:a?.width,...o},children:(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,h.jsx)(`div`,{className:`flex-1`,children:a?.valueType?ve(a.valueType,r.getValue(),a):(0,l.flexRender)(r.column.columnDef.cell,r.getContext())}),a?.copyable&&(0,h.jsx)(Rt,{value:r.getValue(),size:`sm`,onCopy:e=>{console.log(`复制成功:`,e)}})]})},r.id)}),_&&(0,h.jsx)(W,{className:`w-32`,children:(0,h.jsx)(Lt,{record:e.original,config:{isEditing:n,editingKey:L.editingKey||``},editable:_,onEdit:()=>R.startEditable(t),onSave:()=>{R.cancelEditable(t)},onCancel:()=>R.cancelEditable(t),onDelete:_.onDelete?()=>{_.onDelete&&_.onDelete(t,e.original)}:void 0})})]})},Me=(e,t)=>{let n=S?.(e.original,t)||{};return g?(0,h.jsx)(Vt,{row:e,children:je(e)},e.id):(0,h.jsx)(U,{"data-state":e.getIsSelected&&e.getIsSelected()?`selected`:void 0,...n,children:je(e)},e.id)},Ne=(0,h.jsx)(`div`,{className:H(`relative`,N?.x&&`overflow-x-auto`,N?.y&&`overflow-y-auto`),style:{maxHeight:N?.y,maxWidth:N?.x?`${N.x}px`:void 0},children:(0,h.jsx)(`div`,{className:H(`rounded-md`,u&&`border`),children:(0,h.jsx)(w.DndContext,{sensors:pe,collisionDetection:w.closestCenter,modifiers:[D.restrictToVerticalAxis],onDragEnd:me,children:(0,h.jsxs)(xe,{className:H(we[ue],a,P&&`sticky-header`),style:{...o,tableLayout:te||(N?.x?`fixed`:`auto`),maxWidth:N?.x?`${N.x}px`:void 0,...P&&{position:`relative`}},children:[(0,h.jsx)(Se,{className:H(P&&`sticky top-0 z-10 bg-background`),style:P?{position:`sticky`,top:typeof P==`object`&&P.offsetHeader||0,zIndex:10}:void 0,children:I.getHeaderGroups().map(e=>(0,h.jsxs)(U,{children:[g&&(0,h.jsx)(Te,{className:`w-8`}),m&&(0,h.jsx)(Te,{className:`w-8`,children:(0,h.jsx)(De,{checked:I.getIsAllPageRowsSelected?.()??!1,onCheckedChange:e=>I.toggleAllPageRowsSelected?.(!!e),"aria-label":`Select all`})}),e.headers.map((e,t)=>{let n=F.find(t=>(t.key||String(t.dataIndex))===e.column.id),r=zt(n,t,F),i=Bt(n,t,F);return(0,h.jsx)(Te,{style:{width:n?.width||e.column.getSize(),...r},className:H(`font-medium`,n?.align&&`text-${n.align}`,i),children:e.isPlaceholder?null:(0,h.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,h.jsx)(`span`,{children:(0,l.flexRender)(e.column.columnDef.header,e.getContext())}),(0,h.jsxs)(`div`,{className:`flex items-center gap-1`,children:[e.column.getCanSort()&&(0,h.jsxs)(G,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0 hover:bg-muted`,onClick:()=>e.column.toggleSorting(),children:[e.column.getIsSorted()===`asc`&&(0,h.jsx)(b.ArrowUp,{className:`h-3 w-3`}),e.column.getIsSorted()===`desc`&&(0,h.jsx)(b.ArrowDown,{className:`h-3 w-3`}),!e.column.getIsSorted()&&(0,h.jsx)(b.ArrowUpDown,{className:`h-3 w-3 opacity-50`})]}),n?.filters&&n.filters.length>0&&(0,h.jsx)(ot,{column:{key:n.key,dataIndex:String(n.dataIndex),title:n.title,filters:n.filters},value:Array.isArray(I.getColumn(n.key||String(n.dataIndex))?.getFilterValue())?I.getColumn(n.key||String(n.dataIndex))?.getFilterValue():[],onChange:e=>_e(n.key||String(n.dataIndex),e),onClear:()=>ye(n.key||String(n.dataIndex))})]})]})},e.id)})]},e.id))}),(0,h.jsx)(Ce,{children:d?Ae():L.data.length===0?Ee():g?(0,h.jsx)(T.SortableContext,{items:I.getRowModel().rows.map(e=>e.id),strategy:T.verticalListSortingStrategy,children:I.getRowModel().rows.map((e,t)=>Me(e,t))}):I.getRowModel().rows.map((e,t)=>Me(e,t))})]})})})}),Fe=k?k(e,Ne,{toolbar:f!==!1,search:C!==!1,table:!0}):Ne,Ie=H(`flex flex-col gap-4 transition-all duration-300 ease-in-out`,fe?`fixed inset-0 z-50 bg-background p-4 transform scale-100`:`transform scale-100`,r),Le=(0,h.jsx)(nt,{locale:ne,children:(0,h.jsxs)(`div`,{className:Ie,style:i,children:[C!==!1&&(()=>{let e=ee(F);return e.length>0&&(0,h.jsx)(Ot,{...typeof C==`object`?C:{},columns:e,onSearch:V,onReset:ge,loading:L.loading})})(),f!==!1&&(0,h.jsx)(at,{...typeof f==`object`?f:{},title:v,subTitle:y,table:I,columns:F,loading:L.loading,onReload:()=>R.reload(),fullScreen:fe,onFullScreenChange:B,density:ue,onDensityChange:de,visibleColumns:oe,onVisibleColumnsChange:se,columnSettings:ce,onColumnSettingsChange:be}),m&&(0,h.jsx)(Pt,{selectedCount:I.getFilteredSelectedRowModel().rows.length,selectedRows:I.getFilteredSelectedRowModel().rows.map(e=>e.original),onClear:he,alwaysShow:m.alwaysShowAlert,batchActions:m.batchActions}),A?.(e,L.data),Fe,x&&(0,h.jsx)(`div`,{className:`px-4`,children:x(L.data)}),p!==!1&&(0,h.jsx)(vt,{...typeof p==`object`?p:{},current:L.current,pageSize:L.pageSize,total:L.total,onPaginationChange:z.handlePaginationChange})]})});return E?(0,h.jsx)(ke,{...O,className:H(O?.className),children:(0,h.jsx)(Pe,{children:Le})}):Le});var Ut=new Map;function Wt(e,t={}){let{manual:n=!1,defaultParams:r={},onSuccess:i,onError:a,debounceWait:o=0,retryCount:s=0,cacheKey:l,cacheTime:u=300*1e3}=t,[d,f]=(0,c.useState)([]),[p,m]=(0,c.useState)(!n),[h,g]=(0,c.useState)(null),[_,v]=(0,c.useState)(0),y=(0,c.useRef)(r),b=(0,c.useRef)(0),x=(0,c.useRef)(null),S=(0,c.useRef)(null),C=(0,c.useCallback)(async t=>{x.current&&x.current.abort(),S.current&&clearTimeout(S.current);let n=async()=>{let r=t||y.current;if(y.current=r,l){let e=Ut.get(l);if(e&&Date.now()-e.timestamp<u){f(e.data.data),v(e.data.total||0),m(!1);return}}m(!0),g(null),x.current=new AbortController;try{let t=await e(r);if(!x.current.signal.aborted){let e=t.data||[];f(e),v(t.total||e.length),l&&Ut.set(l,{data:t,timestamp:Date.now()}),i?.(e,t),b.current=0}}catch(e){if(!x.current.signal.aborted){let t=e;g(t),a?.(t),b.current<s&&(b.current++,setTimeout(()=>n(),1e3*2**b.current))}}finally{x.current.signal.aborted||m(!1)}};o>0?S.current=setTimeout(n,o):await n()},[e,i,a,s,l,u]),w=(0,c.useCallback)(async()=>{await C(y.current)},[C]),T=(0,c.useCallback)(()=>{x.current&&x.current.abort(),S.current&&clearTimeout(S.current),m(!1)},[]),E=(0,c.useCallback)(e=>{f(e),v(e.length)},[]);return(0,c.useEffect)(()=>(n||C(),()=>{T()}),[]),{data:d,loading:p,error:h,total:_,run:C,refresh:w,cancel:T,mutate:E}}const Gt={search:{searchText:`搜索`,resetText:`重置`,submitText:`提交`,expandText:`展开`,collapseText:`收起`,selectPlaceholder:`请选择`,inputPlaceholder:`请输入`},pagination:{total:(e,t)=>`第 ${t[0]}-${t[1]} 条,共 ${e} 条`,items:`条`,page:`页`,of:`共`,showTotal:`显示`},toolbar:{reload:`刷新`,density:`密度`,columnSetting:`列设置`,fullScreen:`全屏`,exitFullScreen:`退出全屏`,compact:`紧凑`,default:`默认`,comfortable:`舒适`,searchPlaceholder:`搜索...`},columnSetting:{title:`列设置`,fixedLeft:`固定左侧`,fixedRight:`固定右侧`,noFixed:`不固定`,show:`显示`,hide:`隐藏`,reset:`重置`},batchActions:{selected:`已选择`,clear:`清空`,delete:`删除`,export:`导出`},editable:{save:`保存`,cancel:`取消`,edit:`编辑`,delete:`删除`},common:{confirm:`确认`,cancel:`取消`,noData:`暂无数据`,loading:`加载中...`,selectAll:`全选`,copySuccess:`复制成功`}};exports.Alert=At,exports.AlertDescription=Mt,exports.AlertTitle=jt,exports.Avatar=pe,exports.AvatarFallback=he,exports.AvatarImage=me,exports.Badge=B,exports.BatchActions=Pt,exports.Button=G,exports.Calendar=yt,exports.CalendarDayButton=bt,exports.Card=ke,exports.CardAction=Ne,exports.CardContent=Pe,exports.CardDescription=Me,exports.CardFooter=Fe,exports.CardHeader=Ae,exports.CardTitle=je,exports.Checkbox=De,exports.ColumnSetting=it,exports.DatePicker=Tt,exports.DateRangePicker=Et,exports.DropdownMenu=q,exports.DropdownMenuCheckboxItem=He,exports.DropdownMenuContent=Y,exports.DropdownMenuGroup=Ve,exports.DropdownMenuItem=X,exports.DropdownMenuLabel=Ge,exports.DropdownMenuPortal=Be,exports.DropdownMenuRadioGroup=Ue,exports.DropdownMenuRadioItem=We,exports.DropdownMenuSeparator=Z,exports.DropdownMenuShortcut=Ke,exports.DropdownMenuSub=qe,exports.DropdownMenuSubContent=Ye,exports.DropdownMenuSubTrigger=Je,exports.DropdownMenuTrigger=J,exports.Input=K,exports.Label=Dt,exports.Pagination=vt,exports.Popover=xt,exports.PopoverAnchor=wt,exports.PopoverContent=Ct,exports.PopoverTrigger=St,exports.ProTable=Ht,exports.Progress=ge,exports.Search=Ot,exports.Select=st,exports.SelectContent=dt,exports.SelectGroup=ct,exports.SelectItem=$,exports.SelectLabel=ft,exports.SelectScrollDownButton=ht,exports.SelectScrollUpButton=mt,exports.SelectSeparator=pt,exports.SelectTrigger=ut,exports.SelectValue=lt,exports.Skeleton=Oe,exports.Switch=V,exports.Table=xe,exports.TableBody=Ce,exports.TableCaption=Ee,exports.TableCell=W,exports.TableFooter=we,exports.TableHead=Te,exports.TableHeader=Se,exports.TableRow=U,exports.ToolBar=at,exports.Tooltip=Ze,exports.TooltipContent=$e,exports.TooltipProvider=Xe,exports.TooltipTrigger=Qe,exports.badgeVariants=fe,exports.buttonVariants=Ie,exports.cn=H,exports.copyToClipboard=I,exports.debounce=F,exports.deepMerge=ne,exports.en_US=et,exports.extractSearchColumns=ee,exports.extractTableColumns=P,exports.formatFileSize=ce,exports.formatNumber=ie,exports.generateId=te,exports.generateRandomColor=le,exports.getNestedValue=R,exports.groupBy=oe,exports.isEmpty=L,exports.parseQueryString=ue,exports.registerValueType=be,exports.renderFormItem=ye,exports.renderValue=ve,exports.setNestedValue=z,exports.sleep=se,exports.stringifyQuery=de,exports.throttle=re,exports.uniqueArray=ae,exports.useColumns=ze,exports.useProTable=Re,exports.useRequest=Wt,exports.zh_CN=Gt;
package/dist/index.css CHANGED
@@ -1 +1 @@
1
- .pro-table-cell-fix-left:after{content:"";pointer-events:none;width:30px;transition:box-shadow .3s;position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.pro-table-cell-fix-left-last:after{box-shadow:inset 10px 0 8px -8px rgba(0,0,0,.15)}.pro-table-cell-fix-right:after{content:"";pointer-events:none;width:30px;transition:box-shadow .3s;position:absolute;top:0;bottom:0;left:0;transform:translate(-100%)}.pro-table-cell-fix-right-first:after{box-shadow:inset -10px 0 8px -8px rgba(0,0,0,.15)}.pro-table-cell-fix-left,.pro-table-cell-fix-right{z-index:1;background-color:var(--background);position:-webkit-sticky;position:sticky}.pro-table-cell-fix-left{left:0}.pro-table-cell-fix-right{right:0}
1
+ .pro-table-cell-fix-left:after{content:"";pointer-events:none;width:30px;transition:box-shadow .3s;position:absolute;top:0;bottom:0;right:0;transform:translate(100%)}.pro-table-cell-fix-left-last:after{box-shadow:inset 6px 0 6px -6px rgba(0,0,0,.08)}.pro-table-cell-fix-right:after{content:"";pointer-events:none;width:30px;transition:box-shadow .3s;position:absolute;top:0;bottom:0;left:0;transform:translate(-100%)}.pro-table-cell-fix-right-first:after{box-shadow:inset -6px 0 6px -6px rgba(0,0,0,.08)}.pro-table-cell-fix-left,.pro-table-cell-fix-right{z-index:1;background-color:var(--background);position:-webkit-sticky;position:sticky}.pro-table-cell-fix-left{left:0}.pro-table-cell-fix-right{right:0}
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { ProTable } from "./pro-table";
2
- export { useProTable } from "./hooks/useProTable";
3
- export { useColumns } from "./hooks/useColumns";
4
- export { useRequest } from "./hooks/useRequest";
2
+ export { useProTable } from "./hooks/use-pro-table";
3
+ export { useColumns } from "./hooks/use-columns";
4
+ export { useRequest } from "./hooks/use-request";
5
5
  export type { ProTableProps, ProColumn, ProTableRequest, ProTableResponse, ProTableRowSelection, ProTableDraggable, ProTableEditable, ProTableToolBar, ProTableSearch, ProTablePagination, ProTableAction, ProFieldValueType, ProColumnState, } from "./types";
6
6
  export { cn } from "./utils";
7
7
  export { BatchActions } from "./components/batch-actions";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAGhD,YAAY,EACV,aAAa,EACb,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,cAAc,GACf,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAG7B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../lib/index.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAGjD,YAAY,EACV,aAAa,EACb,SAAS,EACT,eAAe,EACf,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EACjB,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,cAAc,GACf,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,EAAE,EAAE,MAAM,SAAS,CAAC;AAG7B,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAG/C,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,sBAAsB,CAAC;AACrC,cAAc,0BAA0B,CAAC;AACzC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,mCAAmC,CAAC;AAClD,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AACxC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,0BAA0B,CAAC;AACzC,cAAc,wBAAwB,CAAC;AACvC,cAAc,uBAAuB,CAAC;AACtC,cAAc,yBAAyB,CAAC;AAGxC,cAAc,iBAAiB,CAAC;AAChC,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AACvC,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
package/dist/index.js CHANGED
@@ -626,7 +626,7 @@ function useProTable(e) {
626
626
  selectedRows: [],
627
627
  editingKey: null,
628
628
  editingRecord: null
629
- }, [E, D] = useReducer(proTableReducer, T), O = useRef(null), [k, A] = React.useState([]), [j, Fn] = React.useState([]), [M, N] = React.useState({}), [P, F] = React.useState({}), I = useCallback((e) => typeof y == "function" ? String(y(e)) : String(e[y]), [y]), L = useCallback(async (e) => {
629
+ }, [E, D] = useReducer(proTableReducer, T), O = useRef(null), [k, A] = React.useState([]), [j, Ln] = React.useState([]), [M, N] = React.useState({}), [P, F] = React.useState({}), I = useCallback((e) => typeof y == "function" ? String(y(e)) : String(e[y]), [y]), L = useCallback(async (e) => {
630
630
  if (a) {
631
631
  D({
632
632
  type: "SET_LOADING",
@@ -699,7 +699,7 @@ function useProTable(e) {
699
699
  }
700
700
  },
701
701
  onSortingChange: A,
702
- onColumnFiltersChange: Fn,
702
+ onColumnFiltersChange: Ln,
703
703
  onColumnVisibilityChange: N,
704
704
  onRowSelectionChange: F,
705
705
  getCoreRowModel: getCoreRowModel(),
@@ -1518,59 +1518,96 @@ function SelectScrollDownButton({ className: e,...t }) {
1518
1518
  children: /* @__PURE__ */ jsx(ChevronDownIcon, { className: "size-4" })
1519
1519
  });
1520
1520
  }
1521
+ var MOBILE_BREAKPOINT = 768;
1522
+ function useIsMobile() {
1523
+ let [t, n] = React$1.useState(void 0);
1524
+ return React$1.useEffect(() => {
1525
+ let e = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`), t = () => {
1526
+ n(window.innerWidth < MOBILE_BREAKPOINT);
1527
+ };
1528
+ return e.addEventListener("change", t), n(window.innerWidth < MOBILE_BREAKPOINT), () => e.removeEventListener("change", t);
1529
+ }, []), !!t;
1530
+ }
1521
1531
  function Pagination({ current: e = 1, pageSize: t = 10, total: n = 0, showSizeChanger: r = !0, showQuickJumper: i = !1, showTotal: a, pageSizeOptions: o = [
1522
1532
  "10",
1523
1533
  "20",
1524
1534
  "50",
1525
1535
  "100"
1526
1536
  ], size: s = "default", simple: c = !1, disabled: l = !1, onChange: u, onShowSizeChange: d, onPaginationChange: f }) {
1527
- let p = useLocale(), m = Math.ceil(n / t), h = (n) => {
1528
- n < 1 || n > m || n === e || (u?.(n, t), f?.(n, t));
1529
- }, g = (t) => {
1530
- let n = Number(t);
1531
- d?.(e, n), f?.(1, n);
1537
+ let p = useLocale(), m = useIsMobile(), h = Math.max(1, Math.ceil(n / t)), g = Math.min(Math.max(e, 1), h), _ = l || g <= 1, v = l || g >= h, y = (e) => {
1538
+ let n = Math.min(Math.max(e, 1), h);
1539
+ n !== g && (u?.(n, t), f?.(n, t));
1540
+ }, b = (e) => {
1541
+ let t = Number(e);
1542
+ d?.(g, t), f?.(1, t);
1532
1543
  };
1533
- if (c) return /* @__PURE__ */ jsxs("div", {
1534
- className: "flex items-center gap-2",
1535
- children: [
1536
- /* @__PURE__ */ jsx(Button, {
1537
- variant: "outline",
1538
- size: s === "small" ? "sm" : "default",
1539
- onClick: () => h(e - 1),
1540
- disabled: l || e === 1,
1541
- children: /* @__PURE__ */ jsx(IconChevronLeft, { className: "h-4 w-4" })
1542
- }),
1543
- /* @__PURE__ */ jsxs("span", {
1544
- className: "text-sm",
1545
- children: [
1546
- e,
1547
- " / ",
1548
- m
1549
- ]
1550
- }),
1551
- /* @__PURE__ */ jsx(Button, {
1552
- variant: "outline",
1553
- size: s === "small" ? "sm" : "default",
1554
- onClick: () => h(e + 1),
1555
- disabled: l || e === m,
1556
- children: /* @__PURE__ */ jsx(IconChevronRight, { className: "h-4 w-4" })
1557
- })
1558
- ]
1544
+ if (c || m) return /* @__PURE__ */ jsxs("div", {
1545
+ className: cn("flex w-full flex-col gap-2 rounded-lg border border-border/60 bg-card/60 p-3", !m && c && "w-auto flex-row items-center justify-center gap-2 border-none bg-transparent p-0"),
1546
+ children: [/* @__PURE__ */ jsxs("div", {
1547
+ className: cn("flex items-center gap-2", m ? "justify-between" : "justify-center"),
1548
+ children: [
1549
+ /* @__PURE__ */ jsx(Button, {
1550
+ variant: "outline",
1551
+ size: s === "small" || m ? "sm" : "default",
1552
+ onClick: () => y(g - 1),
1553
+ disabled: _,
1554
+ children: /* @__PURE__ */ jsx(IconChevronLeft, { className: "h-4 w-4" })
1555
+ }),
1556
+ /* @__PURE__ */ jsxs("span", {
1557
+ className: "text-sm text-muted-foreground",
1558
+ children: [
1559
+ p.pagination.page,
1560
+ " ",
1561
+ g,
1562
+ " ",
1563
+ p.pagination.of,
1564
+ " ",
1565
+ h
1566
+ ]
1567
+ }),
1568
+ /* @__PURE__ */ jsx(Button, {
1569
+ variant: "outline",
1570
+ size: s === "small" || m ? "sm" : "default",
1571
+ onClick: () => y(g + 1),
1572
+ disabled: v,
1573
+ children: /* @__PURE__ */ jsx(IconChevronRight, { className: "h-4 w-4" })
1574
+ })
1575
+ ]
1576
+ }), r && !c && /* @__PURE__ */ jsxs("div", {
1577
+ className: "flex items-center justify-between gap-2 rounded-md bg-background/80 px-2 py-1 text-xs text-muted-foreground",
1578
+ children: [/* @__PURE__ */ jsx("span", { children: p.pagination.showTotal }), /* @__PURE__ */ jsxs(Select, {
1579
+ value: String(t),
1580
+ onValueChange: b,
1581
+ disabled: l,
1582
+ children: [/* @__PURE__ */ jsx(SelectTrigger, {
1583
+ size: "sm",
1584
+ className: "h-8 w-[110px]",
1585
+ id: "rows-per-page-mobile",
1586
+ children: /* @__PURE__ */ jsx(SelectValue, { placeholder: t })
1587
+ }), /* @__PURE__ */ jsx(SelectContent, { children: o.map((e) => /* @__PURE__ */ jsx(SelectItem, {
1588
+ value: e,
1589
+ children: e
1590
+ }, e)) })]
1591
+ })]
1592
+ })]
1559
1593
  });
1560
- let _ = (e - 1) * t + 1, v = Math.min(e * t, n);
1594
+ let x = (g - 1) * t + 1, S = Math.min(g * t, n);
1561
1595
  return /* @__PURE__ */ jsxs("div", {
1562
- className: "flex items-center justify-between px-4 py-3",
1596
+ className: cn("px-4 py-3", m ? "flex flex-col gap-3 rounded-lg border border-border/60 bg-card/60" : "flex items-center justify-between"),
1563
1597
  children: [/* @__PURE__ */ jsx("div", {
1564
- className: "flex items-center gap-4",
1565
- children: a && /* @__PURE__ */ jsx("span", {
1598
+ className: "flex flex-1 items-center gap-4",
1599
+ children: a ? /* @__PURE__ */ jsx("span", {
1600
+ className: "text-sm text-muted-foreground leading-none",
1601
+ children: a(n, [x, S])
1602
+ }) : /* @__PURE__ */ jsx("span", {
1566
1603
  className: "text-sm text-muted-foreground leading-none",
1567
- children: a ? a(n, [_, v]) : p.pagination.total?.(n, [_, v])
1604
+ children: p.pagination.total?.(n, [x, S])
1568
1605
  })
1569
1606
  }), /* @__PURE__ */ jsxs("div", {
1570
- className: "flex items-center gap-2",
1607
+ className: cn("flex items-center gap-2", m && "flex-wrap justify-between gap-3"),
1571
1608
  children: [
1572
1609
  r && /* @__PURE__ */ jsxs("div", {
1573
- className: "flex items-center gap-2",
1610
+ className: cn("flex items-center gap-2", m && "order-2 w-full justify-between"),
1574
1611
  children: [
1575
1612
  /* @__PURE__ */ jsx("span", {
1576
1613
  className: "text-sm text-muted-foreground leading-none",
@@ -1578,11 +1615,11 @@ function Pagination({ current: e = 1, pageSize: t = 10, total: n = 0, showSizeCh
1578
1615
  }),
1579
1616
  /* @__PURE__ */ jsxs(Select, {
1580
1617
  value: String(t),
1581
- onValueChange: g,
1618
+ onValueChange: b,
1582
1619
  disabled: l,
1583
1620
  children: [/* @__PURE__ */ jsx(SelectTrigger, {
1584
1621
  size: "sm",
1585
- className: "w-20 h-8",
1622
+ className: cn("h-8 w-20", m && "w-[120px]"),
1586
1623
  id: "rows-per-page",
1587
1624
  children: /* @__PURE__ */ jsx(SelectValue, {})
1588
1625
  }), /* @__PURE__ */ jsx(SelectContent, { children: o.map((e) => /* @__PURE__ */ jsx(SelectItem, {
@@ -1603,16 +1640,16 @@ function Pagination({ current: e = 1, pageSize: t = 10, total: n = 0, showSizeCh
1603
1640
  variant: "outline",
1604
1641
  size: "icon",
1605
1642
  className: "h-8 w-8",
1606
- onClick: () => h(1),
1607
- disabled: l || e === 1,
1643
+ onClick: () => y(1),
1644
+ disabled: _,
1608
1645
  children: /* @__PURE__ */ jsx(IconChevronsLeft, { className: "h-4 w-4" })
1609
1646
  }),
1610
1647
  /* @__PURE__ */ jsx(Button, {
1611
1648
  variant: "outline",
1612
1649
  size: "icon",
1613
1650
  className: "h-8 w-8",
1614
- onClick: () => h(e - 1),
1615
- disabled: l || e === 1,
1651
+ onClick: () => y(g - 1),
1652
+ disabled: _,
1616
1653
  children: /* @__PURE__ */ jsx(IconChevronLeft, { className: "h-4 w-4" })
1617
1654
  }),
1618
1655
  /* @__PURE__ */ jsxs("span", {
@@ -1620,27 +1657,27 @@ function Pagination({ current: e = 1, pageSize: t = 10, total: n = 0, showSizeCh
1620
1657
  children: [
1621
1658
  p.pagination.page,
1622
1659
  " ",
1623
- e,
1660
+ g,
1624
1661
  " ",
1625
1662
  p.pagination.of,
1626
1663
  " ",
1627
- m
1664
+ h
1628
1665
  ]
1629
1666
  }),
1630
1667
  /* @__PURE__ */ jsx(Button, {
1631
1668
  variant: "outline",
1632
1669
  size: "icon",
1633
1670
  className: "h-8 w-8",
1634
- onClick: () => h(e + 1),
1635
- disabled: l || e === m,
1671
+ onClick: () => y(g + 1),
1672
+ disabled: v,
1636
1673
  children: /* @__PURE__ */ jsx(IconChevronRight, { className: "h-4 w-4" })
1637
1674
  }),
1638
1675
  /* @__PURE__ */ jsx(Button, {
1639
1676
  variant: "outline",
1640
1677
  size: "icon",
1641
1678
  className: "h-8 w-8",
1642
- onClick: () => h(m),
1643
- disabled: l || e === m,
1679
+ onClick: () => y(h),
1680
+ disabled: v,
1644
1681
  children: /* @__PURE__ */ jsx(IconChevronsRight, { className: "h-4 w-4" })
1645
1682
  })
1646
1683
  ]
@@ -1653,12 +1690,12 @@ function Pagination({ current: e = 1, pageSize: t = 10, total: n = 0, showSizeCh
1653
1690
  }), /* @__PURE__ */ jsx("input", {
1654
1691
  type: "number",
1655
1692
  min: 1,
1656
- max: m,
1693
+ max: h,
1657
1694
  className: "h-8 w-[50px] rounded border px-2 text-center text-sm",
1658
1695
  onKeyDown: (e) => {
1659
1696
  if (e.key === "Enter") {
1660
1697
  let t = Number(e.target.value);
1661
- t >= 1 && t <= m && h(t);
1698
+ t >= 1 && t <= h && y(t);
1662
1699
  }
1663
1700
  },
1664
1701
  disabled: l
@@ -1972,7 +2009,7 @@ function Search({ columns: e, onSearch: t, onReset: n, loading: r, filterType: i
1972
2009
  })
1973
2010
  ]
1974
2011
  });
1975
- let j = e, Fn = e.length > 3, M = [/* @__PURE__ */ jsxs(Button, {
2012
+ let j = e, Ln = e.length > 3, M = [/* @__PURE__ */ jsxs(Button, {
1976
2013
  size: "sm",
1977
2014
  onClick: _(O),
1978
2015
  disabled: r,
@@ -1983,7 +2020,7 @@ function Search({ columns: e, onSearch: t, onReset: n, loading: r, filterType: i
1983
2020
  onClick: k,
1984
2021
  children: [/* @__PURE__ */ jsx(RotateCw, { className: "mr-1 h-4 w-4" }), s || m.search.resetText]
1985
2022
  }, "reset")];
1986
- Fn && M.push(/* @__PURE__ */ jsx(Button, {
2023
+ Ln && M.push(/* @__PURE__ */ jsx(Button, {
1987
2024
  size: "sm",
1988
2025
  variant: "ghost",
1989
2026
  onClick: D,
@@ -2554,14 +2591,14 @@ const ProTable = forwardRef((e, t) => {
2554
2591
  let V = {
2555
2592
  ...e,
2556
2593
  columns: z
2557
- }, { table: H, state: U, actions: W, handlers: G } = useProTable(V), { request: K } = V, { visibleColumns: In, setVisibleColumns: Ln, columnSettings: Rn, updateColumnSettings: zn } = useColumns({
2594
+ }, { table: H, state: U, actions: W, handlers: G } = useProTable(V), { request: K } = V, { visibleColumns: Rn, setVisibleColumns: zn, columnSettings: Bn, updateColumnSettings: Vn } = useColumns({
2558
2595
  columns: z,
2559
2596
  rowSelection: !!g,
2560
2597
  draggable: !!_,
2561
2598
  editable: !!v
2562
- }), [q, Bn] = useState(l), [J, Vn] = useState(!1), Hn = useSensors(useSensor(PointerSensor), useSensor(KeyboardSensor));
2599
+ }), [q, Hn] = useState(l), [J, Un] = useState(!1), Wn = useSensors(useSensor(PointerSensor), useSensor(KeyboardSensor));
2563
2600
  useImperativeHandle(t, () => W, [W]);
2564
- let Un = (e) => {
2601
+ let Gn = (e) => {
2565
2602
  if (_ && typeof _ == "object" && typeof _.onDragEnd == "function") {
2566
2603
  let { active: t, over: n } = e;
2567
2604
  if (!n || t.id === n.id) return;
@@ -2587,16 +2624,16 @@ const ProTable = forwardRef((e, t) => {
2587
2624
  }
2588
2625
  }
2589
2626
  }
2590
- }, Wn = () => {
2627
+ }, Kn = () => {
2591
2628
  try {
2592
2629
  H.toggleAllRowsSelected?.(!1);
2593
2630
  } catch {}
2594
2631
  W.clearSelected();
2595
- }, Gn = (e) => {
2632
+ }, qn = (e) => {
2596
2633
  G.handleSearch(e), N?.(e);
2597
- }, Kn = () => {
2634
+ }, Jn = () => {
2598
2635
  G.handleReset(), P?.();
2599
- }, qn = (e, t) => {
2636
+ }, Yn = (e, t) => {
2600
2637
  if (H.setColumnFilters((n) => ({
2601
2638
  ...n,
2602
2639
  [e]: t
@@ -2604,12 +2641,12 @@ const ProTable = forwardRef((e, t) => {
2604
2641
  let n = { ...U.filters };
2605
2642
  t.length > 0 ? n[e] = t : delete n[e], G.handleSearch(n);
2606
2643
  }
2607
- }, Jn = (e) => {
2644
+ }, Xn = (e) => {
2608
2645
  if (H.setColumnFilters((t) => t.filter((t) => t.id !== e)), K) {
2609
2646
  let t = { ...U.filters };
2610
2647
  delete t[e], G.handleSearch(t);
2611
2648
  }
2612
- }, Yn = (e, t) => {
2649
+ }, Zn = (e, t) => {
2613
2650
  if (e === "order" && Array.isArray(t)) {
2614
2651
  B(t);
2615
2652
  return;
@@ -2622,12 +2659,12 @@ const ProTable = forwardRef((e, t) => {
2622
2659
  } : e));
2623
2660
  return;
2624
2661
  }
2625
- zn(e, t);
2626
- }, Xn = {
2662
+ Vn(e, t);
2663
+ }, Qn = {
2627
2664
  small: "text-xs [&_th]:py-1.5 [&_td]:py-1",
2628
2665
  middle: "text-sm [&_th]:py-2 [&_td]:py-2",
2629
2666
  large: "text-base [&_th]:py-3 [&_td]:py-3"
2630
- }, Zn = () => /* @__PURE__ */ jsx(TableRow, { children: /* @__PURE__ */ jsx(TableCell, {
2667
+ }, $n = () => /* @__PURE__ */ jsx(TableRow, { children: /* @__PURE__ */ jsx(TableCell, {
2631
2668
  colSpan: z.length + (g ? 1 : 0) + (_ ? 1 : 0),
2632
2669
  className: "h-32 text-center",
2633
2670
  children: /* @__PURE__ */ jsx("div", {
@@ -2637,7 +2674,7 @@ const ProTable = forwardRef((e, t) => {
2637
2674
  children: "No data available"
2638
2675
  })
2639
2676
  })
2640
- }) }), Qn = () => /* @__PURE__ */ jsx(Fragment, { children: [...[
2677
+ }) }), er = () => /* @__PURE__ */ jsx(Fragment, { children: [...[
2641
2678
  ,
2642
2679
  ,
2643
2680
  ,
@@ -2736,22 +2773,21 @@ const ProTable = forwardRef((e, t) => {
2736
2773
  className: cn("relative", F?.x && "overflow-x-auto", F?.y && "overflow-y-auto"),
2737
2774
  style: {
2738
2775
  maxHeight: F?.y,
2739
- maxWidth: F?.x === !0 ? "100%" : void 0,
2740
- width: F?.x ? `${F.x}px` : void 0
2776
+ maxWidth: F?.x ? `${F.x}px` : void 0
2741
2777
  },
2742
2778
  children: /* @__PURE__ */ jsx("div", {
2743
2779
  className: cn("rounded-md", u && "border"),
2744
2780
  children: /* @__PURE__ */ jsx(DndContext, {
2745
- sensors: Hn,
2781
+ sensors: Wn,
2746
2782
  collisionDetection: closestCenter,
2747
2783
  modifiers: [restrictToVerticalAxis],
2748
- onDragEnd: Un,
2784
+ onDragEnd: Gn,
2749
2785
  children: /* @__PURE__ */ jsxs(Table, {
2750
- className: cn(Xn[q], a, I && "sticky-header"),
2786
+ className: cn(Qn[q], a, I && "sticky-header"),
2751
2787
  style: {
2752
2788
  ...c,
2753
2789
  tableLayout: L || (F?.x ? "fixed" : "auto"),
2754
- width: F?.x ? `${F.x}px` : void 0,
2790
+ maxWidth: F?.x ? `${F.x}px` : void 0,
2755
2791
  ...I && { position: "relative" }
2756
2792
  },
2757
2793
  children: [/* @__PURE__ */ jsx(TableHeader, {
@@ -2801,15 +2837,15 @@ const ProTable = forwardRef((e, t) => {
2801
2837
  filters: n.filters
2802
2838
  },
2803
2839
  value: Array.isArray(H.getColumn(n.key || String(n.dataIndex))?.getFilterValue()) ? H.getColumn(n.key || String(n.dataIndex))?.getFilterValue() : [],
2804
- onChange: (e) => qn(n.key || String(n.dataIndex), e),
2805
- onClear: () => Jn(n.key || String(n.dataIndex))
2840
+ onChange: (e) => Yn(n.key || String(n.dataIndex), e),
2841
+ onClear: () => Xn(n.key || String(n.dataIndex))
2806
2842
  })]
2807
2843
  })]
2808
2844
  })
2809
2845
  }, e.id);
2810
2846
  })
2811
2847
  ] }, e.id))
2812
- }), /* @__PURE__ */ jsx(TableBody, { children: p ? Qn() : U.data.length === 0 ? Zn() : _ ? /* @__PURE__ */ jsx(SortableContext, {
2848
+ }), /* @__PURE__ */ jsx(TableBody, { children: p ? er() : U.data.length === 0 ? $n() : _ ? /* @__PURE__ */ jsx(SortableContext, {
2813
2849
  items: H.getRowModel().rows.map((e) => e.id),
2814
2850
  strategy: verticalListSortingStrategy,
2815
2851
  children: H.getRowModel().rows.map((e, t) => Z(e, t))
@@ -2817,14 +2853,14 @@ const ProTable = forwardRef((e, t) => {
2817
2853
  })
2818
2854
  })
2819
2855
  })
2820
- }), $n = k ? k(e, Q, {
2856
+ }), tr = k ? k(e, Q, {
2821
2857
  toolbar: m !== !1,
2822
2858
  search: E !== !1,
2823
2859
  table: !0
2824
- }) : Q, er = cn("flex flex-col gap-4 transition-all duration-300 ease-in-out", J ? "fixed inset-0 z-50 bg-background p-4 transform scale-100" : "transform scale-100", r), $ = /* @__PURE__ */ jsx(LocaleProvider, {
2860
+ }) : Q, nr = cn("flex flex-col gap-4 transition-all duration-300 ease-in-out", J ? "fixed inset-0 z-50 bg-background p-4 transform scale-100" : "transform scale-100", r), $ = /* @__PURE__ */ jsx(LocaleProvider, {
2825
2861
  locale: R,
2826
2862
  children: /* @__PURE__ */ jsxs("div", {
2827
- className: er,
2863
+ className: nr,
2828
2864
  style: i,
2829
2865
  children: [
2830
2866
  E !== !1 && (() => {
@@ -2832,8 +2868,8 @@ const ProTable = forwardRef((e, t) => {
2832
2868
  return e.length > 0 && /* @__PURE__ */ jsx(Search, {
2833
2869
  ...typeof E == "object" ? E : {},
2834
2870
  columns: e,
2835
- onSearch: Gn,
2836
- onReset: Kn,
2871
+ onSearch: qn,
2872
+ onReset: Jn,
2837
2873
  loading: U.loading
2838
2874
  });
2839
2875
  })(),
@@ -2846,23 +2882,23 @@ const ProTable = forwardRef((e, t) => {
2846
2882
  loading: U.loading,
2847
2883
  onReload: () => W.reload(),
2848
2884
  fullScreen: J,
2849
- onFullScreenChange: Vn,
2885
+ onFullScreenChange: Un,
2850
2886
  density: q,
2851
- onDensityChange: Bn,
2852
- visibleColumns: In,
2853
- onVisibleColumnsChange: Ln,
2854
- columnSettings: Rn,
2855
- onColumnSettingsChange: Yn
2887
+ onDensityChange: Hn,
2888
+ visibleColumns: Rn,
2889
+ onVisibleColumnsChange: zn,
2890
+ columnSettings: Bn,
2891
+ onColumnSettingsChange: Zn
2856
2892
  }),
2857
2893
  g && /* @__PURE__ */ jsx(BatchActions, {
2858
2894
  selectedCount: H.getFilteredSelectedRowModel().rows.length,
2859
2895
  selectedRows: H.getFilteredSelectedRowModel().rows.map((e) => e.original),
2860
- onClear: Wn,
2896
+ onClear: Kn,
2861
2897
  alwaysShow: g.alwaysShowAlert,
2862
2898
  batchActions: g.batchActions
2863
2899
  }),
2864
2900
  A?.(e, U.data),
2865
- $n,
2901
+ tr,
2866
2902
  x && /* @__PURE__ */ jsx("div", {
2867
2903
  className: "px-4",
2868
2904
  children: x(U.data)
@@ -1 +1 @@
1
- {"version":3,"file":"pro-table.d.ts","sourceRoot":"","sources":["../lib/pro-table.tsx"],"names":[],"mappings":"AACA,OAAO,KAKN,MAAM,OAAO,CAAC;AAef,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAa,MAAM,SAAS,CAAC;AA6BxE,OAAO,2BAA2B,CAAC;AAyHnC,eAAO,MAAM,QAAQ,EAytBhB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,KAC7D,KAAK,CAAC,YAAY,CAAC"}
1
+ {"version":3,"file":"pro-table.d.ts","sourceRoot":"","sources":["../lib/pro-table.tsx"],"names":[],"mappings":"AACA,OAAO,KAKN,MAAM,OAAO,CAAC;AAef,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAa,MAAM,SAAS,CAAC;AA6BxE,OAAO,2BAA2B,CAAC;AAyHnC,eAAO,MAAM,QAAQ,EAwtBhB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,KAC7D,KAAK,CAAC,YAAY,CAAC"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@gulibs/react-vtable",
3
3
  "private": false,
4
- "version": "0.0.2",
4
+ "version": "0.0.3",
5
5
  "type": "module",
6
6
  "main": "./dist/index.cjs",
7
7
  "module": "./dist/index.js",
@@ -32,6 +32,7 @@
32
32
  "@dnd-kit/modifiers": "^9.0.0",
33
33
  "@dnd-kit/sortable": "^10.0.0",
34
34
  "@dnd-kit/utilities": "^3.2.2",
35
+ "@iconify/react": "^6.0.2",
35
36
  "@radix-ui/react-avatar": "^1.1.10",
36
37
  "@radix-ui/react-checkbox": "^1.3.3",
37
38
  "@radix-ui/react-dropdown-menu": "^2.1.16",
@@ -1 +0,0 @@
1
- {"version":3,"file":"useColumns.d.ts","sourceRoot":"","sources":["../../lib/hooks/useColumns.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAGxC,UAAU,iBAAiB,CAAC,CAAC;IACzB,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;IACvB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;CACrB;AAED,UAAU,gBAAgB,CAAC,CAAC;IACxB,YAAY,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;IAC5B,aAAa,EAAE,SAAS,CAAC,CAAC,CAAC,EAAE,CAAA;IAC7B,cAAc,EAAE,MAAM,EAAE,CAAA;IACxB,iBAAiB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAC9C,cAAc,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IACnC,oBAAoB,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,IAAI,CAAA;CAC7D;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,OAAO,EAAE,iBAAiB,CAAC,CAAC,CAAC,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAkIhF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useProTable.d.ts","sourceRoot":"","sources":["../../lib/hooks/useProTable.ts"],"names":[],"mappings":"AAYA,OAAO,KAA8D,MAAM,OAAO,CAAA;AAClF,OAAO,KAAK,EACR,cAAc,EACd,aAAa,EAEhB,MAAM,SAAS,CAAA;AAEhB,UAAU,aAAa,CAAC,CAAC;IACrB,OAAO,EAAE,OAAO,CAAA;IAChB,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;IAC3B,eAAe,EAAE,KAAK,CAAC,GAAG,EAAE,CAAA;IAC5B,YAAY,EAAE,CAAC,EAAE,CAAA;IACjB,UAAU,EAAE,KAAK,CAAC,GAAG,GAAG,IAAI,CAAA;IAC5B,aAAa,EAAE,CAAC,GAAG,IAAI,CAAA;CAC1B;AAED,KAAK,kBAAkB,CAAC,CAAC,IACnB;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,OAAO,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,OAAO,EAAE;QAAE,IAAI,EAAE,CAAC,EAAE,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC5D;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,OAAO,EAAE;QAAE,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,GAC5E;IAAE,IAAI,EAAE,aAAa,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GACrD;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;CAAE,GACpD;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,OAAO,EAAE;QAAE,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC;QAAC,IAAI,EAAE,CAAC,EAAE,CAAA;KAAE,CAAA;CAAE,GACpE;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE;QAAE,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC;QAAC,MAAM,EAAE,CAAC,CAAA;KAAE,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,GACvB;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,OAAO,EAAE,CAAC,CAAA;CAAE,GACjC;IAAE,IAAI,EAAE,OAAO,CAAA;CAAE,CAAA;AAoEvB,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrD,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;;;;;;0CAoJ8B,MAAM,YAAY,MAAM;+BAUnC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;EAkGhE"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"useRequest.d.ts","sourceRoot":"","sources":["../../lib/hooks/useRequest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAA;AAEjE,UAAU,iBAAiB,CAAC,CAAC;IACzB,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,aAAa,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,CAAA;IAClC,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,CAAA;IAC9D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAA;IAChC,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,UAAU,gBAAgB,CAAC,CAAC;IACxB,IAAI,EAAE,CAAC,EAAE,CAAA;IACT,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACnD,OAAO,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,MAAM,EAAE,MAAM,IAAI,CAAA;IAClB,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,IAAI,CAAA;CAC9B;AAID,wBAAgB,UAAU,CAAC,CAAC,EACxB,OAAO,EAAE,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EACrE,OAAO,GAAE,iBAAiB,CAAC,CAAC,CAAM,GACnC,gBAAgB,CAAC,CAAC,CAAC,CAyIrB"}