@gulibs/react-vtable 0.0.11 → 0.0.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +120 -4
- package/dist/hooks/use-pro-table.d.ts +3 -0
- package/dist/hooks/use-pro-table.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +51 -7
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -164,14 +164,72 @@ You can provide custom `onSearch` and `onReset` callbacks to override the defaul
|
|
|
164
164
|
dataSource={dataSource}
|
|
165
165
|
rowKey="id"
|
|
166
166
|
pagination={{
|
|
167
|
-
current: 1,
|
|
168
167
|
pageSize: 10,
|
|
169
|
-
total: 100,
|
|
170
168
|
showSizeChanger: true
|
|
171
169
|
}}
|
|
172
170
|
/>
|
|
173
171
|
```
|
|
174
172
|
|
|
173
|
+
#### Remote Pagination (with `request`)
|
|
174
|
+
|
|
175
|
+
In **Remote Data Mode** (when you pass `request`), pagination works like this:
|
|
176
|
+
|
|
177
|
+
- **`total` controls the page count**: return `total` from `request` (recommended) and/or pass `pagination.total`.
|
|
178
|
+
- **Do not pass `pagination.current/pageSize` as constants** (e.g. `current: 1`), unless you intend to lock the table to that page. If you want controlled pagination, store them in state and update in `pagination.onChange`.
|
|
179
|
+
|
|
180
|
+
**Uncontrolled (recommended if you don't need to control page state):**
|
|
181
|
+
|
|
182
|
+
```tsx
|
|
183
|
+
<ProTable
|
|
184
|
+
columns={columns}
|
|
185
|
+
rowKey="id"
|
|
186
|
+
request={async (params) => {
|
|
187
|
+
// params includes: current, pageSize, ...filters, ...sorter
|
|
188
|
+
const res = await fetchUsers(params)
|
|
189
|
+
return { data: res.items, total: res.total, success: true }
|
|
190
|
+
}}
|
|
191
|
+
pagination={{
|
|
192
|
+
pageSize: 10,
|
|
193
|
+
showSizeChanger: true,
|
|
194
|
+
showQuickJumper: true,
|
|
195
|
+
}}
|
|
196
|
+
/>
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
**Controlled (when you need to sync pagination with external state / URL):**
|
|
200
|
+
|
|
201
|
+
```tsx
|
|
202
|
+
function Page() {
|
|
203
|
+
const [pagination, setPagination] = useState({
|
|
204
|
+
current: 1,
|
|
205
|
+
pageSize: 10,
|
|
206
|
+
total: 0,
|
|
207
|
+
})
|
|
208
|
+
|
|
209
|
+
return (
|
|
210
|
+
<ProTable
|
|
211
|
+
columns={columns}
|
|
212
|
+
rowKey="id"
|
|
213
|
+
request={async (params) => {
|
|
214
|
+
const res = await fetchUsers(params)
|
|
215
|
+
setPagination((prev) => ({ ...prev, total: res.total }))
|
|
216
|
+
return { data: res.items, total: res.total, success: true }
|
|
217
|
+
}}
|
|
218
|
+
pagination={{
|
|
219
|
+
current: pagination.current,
|
|
220
|
+
pageSize: pagination.pageSize,
|
|
221
|
+
total: pagination.total,
|
|
222
|
+
showSizeChanger: true,
|
|
223
|
+
showQuickJumper: true,
|
|
224
|
+
onChange: (current, pageSize) => {
|
|
225
|
+
setPagination((prev) => ({ ...prev, current, pageSize }))
|
|
226
|
+
},
|
|
227
|
+
}}
|
|
228
|
+
/>
|
|
229
|
+
)
|
|
230
|
+
}
|
|
231
|
+
```
|
|
232
|
+
|
|
175
233
|
#### With Internationalization
|
|
176
234
|
|
|
177
235
|
```tsx
|
|
@@ -677,14 +735,72 @@ function App() {
|
|
|
677
735
|
dataSource={dataSource}
|
|
678
736
|
rowKey="id"
|
|
679
737
|
pagination={{
|
|
680
|
-
current: 1,
|
|
681
738
|
pageSize: 10,
|
|
682
|
-
total: 100,
|
|
683
739
|
showSizeChanger: true
|
|
684
740
|
}}
|
|
685
741
|
/>
|
|
686
742
|
```
|
|
687
743
|
|
|
744
|
+
#### 远程分页(配合 `request`)
|
|
745
|
+
|
|
746
|
+
在**远程数据模式**(传入 `request`)下,分页规则如下:
|
|
747
|
+
|
|
748
|
+
- **`total` 决定页码数量**:推荐让 `request` 返回 `{ total }`,也可以 / 同时传入 `pagination.total`。
|
|
749
|
+
- **不要把 `pagination.current/pageSize` 写死**(例如 `current: 1`),除非你就是想把表格锁死在那一页;如果需要受控分页,请把它们放到 state 里,并在 `pagination.onChange` 里更新。
|
|
750
|
+
|
|
751
|
+
**非受控(推荐:不需要外部同步分页状态时)**:
|
|
752
|
+
|
|
753
|
+
```tsx
|
|
754
|
+
<ProTable
|
|
755
|
+
columns={columns}
|
|
756
|
+
rowKey="id"
|
|
757
|
+
request={async (params) => {
|
|
758
|
+
// params 包含:current, pageSize, ...filters, ...sorter
|
|
759
|
+
const res = await fetchUsers(params)
|
|
760
|
+
return { data: res.items, total: res.total, success: true }
|
|
761
|
+
}}
|
|
762
|
+
pagination={{
|
|
763
|
+
pageSize: 10,
|
|
764
|
+
showSizeChanger: true,
|
|
765
|
+
showQuickJumper: true,
|
|
766
|
+
}}
|
|
767
|
+
/>
|
|
768
|
+
```
|
|
769
|
+
|
|
770
|
+
**受控(需要把分页状态同步到外部 state / URL 时)**:
|
|
771
|
+
|
|
772
|
+
```tsx
|
|
773
|
+
function Page() {
|
|
774
|
+
const [pagination, setPagination] = useState({
|
|
775
|
+
current: 1,
|
|
776
|
+
pageSize: 10,
|
|
777
|
+
total: 0,
|
|
778
|
+
})
|
|
779
|
+
|
|
780
|
+
return (
|
|
781
|
+
<ProTable
|
|
782
|
+
columns={columns}
|
|
783
|
+
rowKey="id"
|
|
784
|
+
request={async (params) => {
|
|
785
|
+
const res = await fetchUsers(params)
|
|
786
|
+
setPagination((prev) => ({ ...prev, total: res.total }))
|
|
787
|
+
return { data: res.items, total: res.total, success: true }
|
|
788
|
+
}}
|
|
789
|
+
pagination={{
|
|
790
|
+
current: pagination.current,
|
|
791
|
+
pageSize: pagination.pageSize,
|
|
792
|
+
total: pagination.total,
|
|
793
|
+
showSizeChanger: true,
|
|
794
|
+
showQuickJumper: true,
|
|
795
|
+
onChange: (current, pageSize) => {
|
|
796
|
+
setPagination((prev) => ({ ...prev, current, pageSize }))
|
|
797
|
+
},
|
|
798
|
+
}}
|
|
799
|
+
/>
|
|
800
|
+
)
|
|
801
|
+
}
|
|
802
|
+
```
|
|
803
|
+
|
|
688
804
|
#### 带国际化
|
|
689
805
|
|
|
690
806
|
```tsx
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-pro-table.d.ts","sourceRoot":"","sources":["../../lib/hooks/use-pro-table.ts"],"names":[],"mappings":"AAaA,OAAO,EAAiE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAA;AAC/F,OAAO,KAAK,EACR,cAAc,EACd,aAAa,EAEhB,MAAM,SAAS,CAAA;AAGhB,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,GAAG,EAAE,CAAA;IACtB,YAAY,EAAE,CAAC,EAAE,CAAA;IACjB,UAAU,EAAE,GAAG,GAAG,IAAI,CAAA;IACtB,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,GAAG,EAAE,CAAC;QAAC,IAAI,EAAE,CAAC,EAAE,CAAA;KAAE,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,CAAC,CAAA;KAAE,CAAA;CAAE,GACxD;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;
|
|
1
|
+
{"version":3,"file":"use-pro-table.d.ts","sourceRoot":"","sources":["../../lib/hooks/use-pro-table.ts"],"names":[],"mappings":"AAaA,OAAO,EAAiE,KAAK,GAAG,EAAE,MAAM,OAAO,CAAA;AAC/F,OAAO,KAAK,EACR,cAAc,EACd,aAAa,EAEhB,MAAM,SAAS,CAAA;AAGhB,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,GAAG,EAAE,CAAA;IACtB,YAAY,EAAE,CAAC,EAAE,CAAA;IACjB,UAAU,EAAE,GAAG,GAAG,IAAI,CAAA;IACtB,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,WAAW,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACtC;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,GAAG,EAAE,CAAC;QAAC,IAAI,EAAE,CAAC,EAAE,CAAA;KAAE,CAAA;CAAE,GAC9D;IAAE,IAAI,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE;QAAE,GAAG,EAAE,GAAG,CAAC;QAAC,MAAM,EAAE,CAAC,CAAA;KAAE,CAAA;CAAE,GACxD;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;AAyEvB,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrD,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC;;;;;;0CAsV8B,MAAM,YAAY,MAAM;+BAUnC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;EA2HhE"}
|
package/dist/index.cjs
CHANGED
|
@@ -17,4 +17,4 @@ __p += '`),r&&(p+=`' +
|
|
|
17
17
|
function print() { __p += __j.call(arguments, '') }
|
|
18
18
|
`:`;
|
|
19
19
|
`)+p+`return __p
|
|
20
|
-
}`;var _=Ef(function(){return vt(o,h+`return `+p).apply(n,c)});if(_.source=p,Tu(_))throw _;return _}function gf(e){return $(e).toLowerCase()}function _f(e){return $(e).toUpperCase()}function vf(e,t,r){if(e=$(e),e&&(r||t===n))return $n(e);if(!e||!(t=Ba(t)))return e;var i=xr(e),a=xr(t),o=rr(i,a),s=ir(i,a)+1;return Qa(i,o,s).join(``)}function yf(e,t,r){if(e=$(e),e&&(r||t===n))return e.slice(0,Sr(e)+1);if(!e||!(t=Ba(t)))return e;var i=xr(e),a=ir(i,xr(t))+1;return Qa(i,0,a).join(``)}function bf(e,t,r){if(e=$(e),e&&(r||t===n))return e.replace(et,``);if(!e||!(t=Ba(t)))return e;var i=xr(e),a=rr(i,xr(t));return Qa(i,a).join(``)}function xf(e,t){var r=ee,i=te;if(X(t)){var a=`separator`in t?t.separator:a;r=`length`in t?Q(t.length):r,i=`omission`in t?Ba(t.omission):i}e=$(e);var o=e.length;if(ur(e)){var s=xr(e);o=s.length}if(r>=o)return e;var c=r-br(i);if(c<1)return i;var l=s?Qa(s,0,c).join(``):e.slice(0,c);if(a===n)return l+i;if(s&&(c+=l.length-c),zu(a)){if(e.slice(c).search(a)){var u,d=l;for(a.global||(a=bt(a.source,$(ct.exec(a))+`g`)),a.lastIndex=0;u=a.exec(d);)var f=u.index;l=l.slice(0,f===n?c:f)}}else if(e.indexOf(Ba(a),c)!=c){var p=l.lastIndexOf(a);p>-1&&(l=l.slice(0,p))}return l+i}function Sf(e){return e=$(e),e&&Ge.test(e)?e.replace(Ue,Cr):e}var Cf=xo(function(e,t,n){return e+(n?` `:``)+t.toUpperCase()}),wf=bo(`toUpperCase`);function Tf(e,t,r){return e=$(e),t=r?n:t,t===n?dr(e)?Er(e):zn(e):e.match(t)||[]}var Ef=K(function(e,t){try{return Tn(e,n,t)}catch(e){return Tu(e)?e:new _t(e)}}),Df=Go(function(e,t){return Dn(t,function(t){t=zs(t),Si(e,t,Bl(e[t],e))}),e});function Of(e){var t=e==null?0:e.length,n=q();return e=t?U(e,function(e){if(typeof e[1]!=`function`)throw new St(o);return[n(e[0]),e[1]]}):[],K(function(n){for(var r=-1;++r<t;){var i=e[r];if(Tn(i[0],this,n))return Tn(i[1],this,n)}})}function kf(e){return Ei(Ti(e,d))}function Af(e){return function(){return e}}function jf(e,t){return e==null||e!==e?t:e}var Mf=To(),Nf=To(!0);function Pf(e){return e}function Ff(e){return la(typeof e==`function`?e:Ti(e,d))}function If(e){return ma(Ti(e,d))}function Lf(e,t){return ha(e,Ti(t,d))}var Rf=K(function(e,t){return function(n){return Zi(n,e,t)}}),zf=K(function(e,t){return function(n){return Zi(e,n,t)}});function Bf(e,t,n){var r=wd(t),i=Vi(t,r);n==null&&!(X(t)&&(i.length||!r.length))&&(n=t,t=e,e=this,i=Vi(t,wd(t)));var a=!(X(n)&&`chain`in n)||!!n.chain,o=Du(e);return Dn(i,function(n){var r=t[n];e[n]=r,o&&(e.prototype[n]=function(){var t=this.__chain__;if(a||t){var n=e(this.__wrapped__);return(n.__actions__=uo(this.__actions__)).push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,Nn([this.value()],arguments))})}),e}function Vf(){return V._===this&&(V._=Mt),this}function Hf(){}function Uf(e){return e=Q(e),K(function(t){return va(t,e)})}var Wf=ko(U),Gf=ko(kn),Kf=ko(In);function qf(e){return gs(e)?Kn(zs(e)):Sa(e)}function Jf(e){return function(t){return e==null?n:Hi(e,t)}}var Yf=Mo(),Xf=Mo(!0);function Zf(){return[]}function Qf(){return!1}function $f(){return{}}function ep(){return``}function tp(){return!0}function np(e,t){if(e=Q(e),e<1||e>O)return[];var n=k,r=sn(e,k);t=q(t),e-=k;for(var i=Zn(r,t);++n<e;)t(n);return i}function rp(e){return J(e)?U(e,zs):Uu(e)?[e]:uo(Rs($(e)))}function ip(e){var t=++Ot;return $(e)+t}var ap=Oo(function(e,t){return e+t},0),op=Fo(`ceil`),sp=Oo(function(e,t){return e/t},1),cp=Fo(`floor`);function lp(e){return e&&e.length?Ni(e,Pf,Gi):n}function up(e,t){return e&&e.length?Ni(e,q(t,2),Gi):n}function dp(e){return Gn(e,Pf)}function fp(e,t){return Gn(e,q(t,2))}function pp(e){return e&&e.length?Ni(e,Pf,fa):n}function mp(e,t){return e&&e.length?Ni(e,q(t,2),fa):n}var hp=Oo(function(e,t){return e*t},1),gp=Fo(`round`),_p=Oo(function(e,t){return e-t},0);function vp(e){return e&&e.length?Xn(e,Pf):0}function yp(e,t){return e&&e.length?Xn(e,q(t,2)):0}return W.after=Ll,W.ary=Rl,W.assign=nd,W.assignIn=rd,W.assignInWith=id,W.assignWith=ad,W.at=od,W.before=zl,W.bind=Bl,W.bindAll=Df,W.bindKey=Vl,W.castArray=ou,W.chain=$c,W.chunk=Us,W.compact=Ws,W.concat=Gs,W.cond=Of,W.conforms=kf,W.constant=Af,W.countBy=ul,W.create=sd,W.curry=Hl,W.curryRight=Ul,W.debounce=Wl,W.defaults=cd,W.defaultsDeep=ld,W.defer=Gl,W.delay=Kl,W.difference=Ks,W.differenceBy=qs,W.differenceWith=Js,W.drop=Ys,W.dropRight=Xs,W.dropRightWhile=Zs,W.dropWhile=Qs,W.fill=$s,W.filter=fl,W.flatMap=hl,W.flatMapDeep=gl,W.flatMapDepth=_l,W.flatten=nc,W.flattenDeep=rc,W.flattenDepth=ic,W.flip=ql,W.flow=Mf,W.flowRight=Nf,W.fromPairs=ac,W.functions=gd,W.functionsIn=_d,W.groupBy=bl,W.initial=cc,W.intersection=lc,W.intersectionBy=uc,W.intersectionWith=dc,W.invert=xd,W.invertBy=Sd,W.invokeMap=Sl,W.iteratee=Ff,W.keyBy=Cl,W.keys=wd,W.keysIn=Td,W.map=wl,W.mapKeys=Ed,W.mapValues=Dd,W.matches=If,W.matchesProperty=Lf,W.memoize=Jl,W.merge=Od,W.mergeWith=kd,W.method=Rf,W.methodOf=zf,W.mixin=Bf,W.negate=Yl,W.nthArg=Uf,W.omit=Ad,W.omitBy=jd,W.once=Xl,W.orderBy=Tl,W.over=Wf,W.overArgs=Zl,W.overEvery=Gf,W.overSome=Kf,W.partial=Ql,W.partialRight=$l,W.partition=El,W.pick=Md,W.pickBy=Nd,W.property=qf,W.propertyOf=Jf,W.pull=gc,W.pullAll=_c,W.pullAllBy=vc,W.pullAllWith=yc,W.pullAt=bc,W.range=Yf,W.rangeRight=Xf,W.rearg=eu,W.reject=kl,W.remove=xc,W.rest=tu,W.reverse=Sc,W.sampleSize=jl,W.set=Fd,W.setWith=Id,W.shuffle=Ml,W.slice=Cc,W.sortBy=Fl,W.sortedUniq=Ac,W.sortedUniqBy=jc,W.split=ff,W.spread=nu,W.tail=Mc,W.take=Nc,W.takeRight=Pc,W.takeRightWhile=Fc,W.takeWhile=Ic,W.tap=el,W.throttle=ru,W.thru=tl,W.toArray=Xu,W.toPairs=Ld,W.toPairsIn=Rd,W.toPath=rp,W.toPlainObject=ed,W.transform=zd,W.unary=iu,W.union=Lc,W.unionBy=Rc,W.unionWith=zc,W.uniq=Bc,W.uniqBy=Vc,W.uniqWith=Hc,W.unset=Bd,W.unzip=Uc,W.unzipWith=Wc,W.update=Vd,W.updateWith=Hd,W.values=Ud,W.valuesIn=Wd,W.without=Gc,W.words=Tf,W.wrap=au,W.xor=Kc,W.xorBy=qc,W.xorWith=Jc,W.zip=Yc,W.zipObject=Xc,W.zipObjectDeep=Zc,W.zipWith=Qc,W.entries=Ld,W.entriesIn=Rd,W.extend=rd,W.extendWith=id,Bf(W,W),W.add=ap,W.attempt=Ef,W.camelCase=Jd,W.capitalize=Yd,W.ceil=op,W.clamp=Gd,W.clone=su,W.cloneDeep=lu,W.cloneDeepWith=uu,W.cloneWith=cu,W.conformsTo=du,W.deburr=Xd,W.defaultTo=jf,W.divide=sp,W.endsWith=Zd,W.eq=fu,W.escape=Qd,W.escapeRegExp=$d,W.every=dl,W.find=pl,W.findIndex=ec,W.findKey=ud,W.findLast=ml,W.findLastIndex=tc,W.findLastKey=dd,W.floor=cp,W.forEach=vl,W.forEachRight=yl,W.forIn=fd,W.forInRight=pd,W.forOwn=md,W.forOwnRight=hd,W.get=vd,W.gt=pu,W.gte=mu,W.has=yd,W.hasIn=bd,W.head=oc,W.identity=Pf,W.includes=xl,W.indexOf=sc,W.inRange=Kd,W.invoke=Cd,W.isArguments=hu,W.isArray=J,W.isArrayBuffer=gu,W.isArrayLike=_u,W.isArrayLikeObject=Y,W.isBoolean=vu,W.isBuffer=yu,W.isDate=bu,W.isElement=xu,W.isEmpty=Su,W.isEqual=Cu,W.isEqualWith=wu,W.isError=Tu,W.isFinite=Eu,W.isFunction=Du,W.isInteger=Ou,W.isLength=ku,W.isMap=Au,W.isMatch=ju,W.isMatchWith=Mu,W.isNaN=Nu,W.isNative=Pu,W.isNil=Iu,W.isNull=Fu,W.isNumber=Lu,W.isObject=X,W.isObjectLike=Z,W.isPlainObject=Ru,W.isRegExp=zu,W.isSafeInteger=Bu,W.isSet=Vu,W.isString=Hu,W.isSymbol=Uu,W.isTypedArray=Wu,W.isUndefined=Gu,W.isWeakMap=Ku,W.isWeakSet=qu,W.join=fc,W.kebabCase=ef,W.last=pc,W.lastIndexOf=mc,W.lowerCase=tf,W.lowerFirst=nf,W.lt=Ju,W.lte=Yu,W.max=lp,W.maxBy=up,W.mean=dp,W.meanBy=fp,W.min=pp,W.minBy=mp,W.stubArray=Zf,W.stubFalse=Qf,W.stubObject=$f,W.stubString=ep,W.stubTrue=tp,W.multiply=hp,W.nth=hc,W.noConflict=Vf,W.noop=Hf,W.now=Il,W.pad=rf,W.padEnd=af,W.padStart=sf,W.parseInt=cf,W.random=qd,W.reduce=Dl,W.reduceRight=Ol,W.repeat=lf,W.replace=uf,W.result=Pd,W.round=gp,W.runInContext=e,W.sample=Al,W.size=Nl,W.snakeCase=df,W.some=Pl,W.sortedIndex=wc,W.sortedIndexBy=Tc,W.sortedIndexOf=Ec,W.sortedLastIndex=Dc,W.sortedLastIndexBy=Oc,W.sortedLastIndexOf=kc,W.startCase=pf,W.startsWith=mf,W.subtract=_p,W.sum=vp,W.sumBy=yp,W.template=hf,W.times=np,W.toFinite=Zu,W.toInteger=Q,W.toLength=Qu,W.toLower=gf,W.toNumber=$u,W.toSafeInteger=td,W.toString=$,W.toUpper=_f,W.trim=vf,W.trimEnd=yf,W.trimStart=bf,W.truncate=xf,W.unescape=Sf,W.uniqueId=ip,W.upperCase=Cf,W.upperFirst=wf,W.each=vl,W.eachRight=yl,W.first=oc,Bf(W,function(){var e={};return zi(W,function(t,n){L.call(W.prototype,n)||(e[n]=t)}),e}(),{chain:!1}),W.VERSION=r,Dn([`bind`,`bindKey`,`curry`,`curryRight`,`partial`,`partialRight`],function(e){W[e].placeholder=W}),Dn([`drop`,`take`],function(e,t){G.prototype[e]=function(r){r=r===n?1:R(Q(r),0);var i=this.__filtered__&&!t?new G(this):this.clone();return i.__filtered__?i.__takeCount__=sn(r,i.__takeCount__):i.__views__.push({size:sn(r,k),type:e+(i.__dir__<0?`Right`:``)}),i},G.prototype[e+`Right`]=function(t){return this.reverse()[e](t).reverse()}}),Dn([`filter`,`map`,`takeWhile`],function(e,t){var n=t+1,r=n==re||n==ae;G.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:q(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}}),Dn([`head`,`last`],function(e,t){var n=`take`+(t?`Right`:``);G.prototype[e]=function(){return this[n](1).value()[0]}}),Dn([`initial`,`tail`],function(e,t){var n=`drop`+(t?``:`Right`);G.prototype[e]=function(){return this.__filtered__?new G(this):this[n](1)}}),G.prototype.compact=function(){return this.filter(Pf)},G.prototype.find=function(e){return this.filter(e).head()},G.prototype.findLast=function(e){return this.reverse().find(e)},G.prototype.invokeMap=K(function(e,t){return typeof e==`function`?new G(this):this.map(function(n){return Zi(n,e,t)})}),G.prototype.reject=function(e){return this.filter(Yl(q(e)))},G.prototype.slice=function(e,t){e=Q(e);var r=this;return r.__filtered__&&(e>0||t<0)?new G(r):(e<0?r=r.takeRight(-e):e&&(r=r.drop(e)),t!==n&&(t=Q(t),r=t<0?r.dropRight(-t):r.take(t-e)),r)},G.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},G.prototype.toArray=function(){return this.take(k)},zi(G.prototype,function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),a=W[i?`take`+(t==`last`?`Right`:``):t],o=i||/^find/.test(t);a&&(W.prototype[t]=function(){var t=this.__wrapped__,s=i?[1]:arguments,c=t instanceof G,l=s[0],u=c||J(t),d=function(e){var t=a.apply(W,Nn([e],s));return i&&f?t[0]:t};u&&r&&typeof l==`function`&&l.length!=1&&(c=u=!1);var f=this.__chain__,p=!!this.__actions__.length,m=o&&!f,h=c&&!p;if(!o&&u){t=h?t:new G(this);var g=e.apply(t,s);return g.__actions__.push({func:tl,args:[d],thisArg:n}),new Fr(g,f)}return m&&h?e.apply(this,s):(g=this.thru(d),m?i?g.value()[0]:g.value():g)})}),Dn([`pop`,`push`,`shift`,`sort`,`splice`,`unshift`],function(e){var t=Ct[e],n=/^(?:push|sort|unshift)$/.test(e)?`tap`:`thru`,r=/^(?:pop|shift)$/.test(e);W.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(J(i)?i:[],e)}return this[n](function(n){return t.apply(J(n)?n:[],e)})}}),zi(G.prototype,function(e,t){var n=W[t];if(n){var r=n.name+``;L.call(qn,r)||(qn[r]=[]),qn[r].push({name:t,func:n})}}),qn[Eo(n,_).name]=[{name:`wrapper`,func:n}],G.prototype.clone=Ir,G.prototype.reverse=Lr,G.prototype.value=Rr,W.prototype.at=nl,W.prototype.chain=rl,W.prototype.commit=il,W.prototype.next=al,W.prototype.plant=sl,W.prototype.reverse=cl,W.prototype.toJSON=W.prototype.valueOf=W.prototype.value=ll,W.prototype.first=W.prototype.head,Ut&&(W.prototype[Ut]=ol),W})();typeof define==`function`&&typeof define.amd==`object`&&define.amd?(V._=Dr,define(function(){return Dr})):gn?((gn.exports=Dr)._=Dr,hn._=Dr):V._=Dr}).call(e)})),se=c(oe());function k(e){return e.filter(e=>!e.hideInSearch&&(e.search===!0||typeof e.search==`object`))}function ce(e){return e.filter(e=>!e.hideInTable)}function A(e=`id`){return`${e}_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}function le(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]=le(a,i):n[r]=i}),n}function ue(e,t){let n=null;return function(...r){n&&clearTimeout(n),n=setTimeout(()=>e(...r),t)}}function de(e,t){let n=!1;return function(...r){n||(e(...r),n=!0,setTimeout(()=>n=!1,t))}}function fe(e,t=2){return new Intl.NumberFormat(`en-US`,{minimumFractionDigits:t,maximumFractionDigits:t}).format(e)}async function j(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 M(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 pe(e,t,n){return t?(0,se.get)(e,t,n):e}function me(e){if(e.dataPath)return e.dataPath;if(e.dataIndex)return Array.isArray(e.dataIndex)||typeof e.dataIndex==`string`?e.dataIndex:String(e.dataIndex)}function he(e){if(e.key)return e.key;let t=me(e);return t?Array.isArray(t)?t.join(`.`):String(t):``}function ge(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 _e(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 ve(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 ye(e){return new Promise(t=>setTimeout(t,e))}function be(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 xe(){return`#`+Math.floor(Math.random()*16777215).toString(16).padStart(6,`0`)}function Se(e){let t={};return new URLSearchParams(e).forEach((e,n)=>{t[n]=e}),t}function Ce(e){let t=new URLSearchParams;return Object.entries(e).forEach(([e,n])=>{n!=null&&t.append(e,String(n))}),t.toString()}var we=(0,h.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 Te({className:e,variant:t,asChild:n=!1,...r}){return(0,g.jsx)(n?m.Slot:`span`,{"data-slot":`badge`,className:N(we({variant:t}),e),...r})}function Ee({className:e,...t}){return(0,g.jsx)(_.Root,{"data-slot":`avatar`,className:N(`relative flex size-8 shrink-0 overflow-hidden rounded-full`,e),...t})}function De({className:e,...t}){return(0,g.jsx)(_.Image,{"data-slot":`avatar-image`,className:N(`aspect-square size-full`,e),...t})}function Oe({className:e,...t}){return(0,g.jsx)(_.Fallback,{"data-slot":`avatar-fallback`,className:N(`bg-muted flex size-full items-center justify-center rounded-full`,e),...t})}function ke({className:e,...t}){return(0,g.jsx)(v.Root,{"data-slot":`switch`,className:N(`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,g.jsx)(v.Thumb,{"data-slot":`switch-thumb`,className:N(`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 Ae({className:e,value:t,...n}){return(0,g.jsx)(y.Root,{"data-slot":`progress`,className:N(`bg-primary/20 relative h-2 w-full overflow-hidden rounded-full`,e),...n,children:(0,g.jsx)(y.Indicator,{"data-slot":`progress-indicator`,className:`bg-primary h-full w-full flex-1 transition-all`,style:{transform:`translateX(-${100-(t||0)}%)`}})})}var je={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,p.format)(new Date(e),n)}},dateTime:{render:(e,t)=>{if(!e)return`-`;let n=t?.format??`yyyy-MM-dd HH:mm:ss`;return(0,p.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,p.format)(new Date(e[0]),n)} ~ ${(0,p.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,g.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.map((e,n)=>(0,g.jsx)(Te,{variant:t?.variant??`secondary`,children:e},n))}):`-`},avatar:{render:(e,t)=>{let n=t?.size??32;return(0,g.jsxs)(Ee,{style:{width:n,height:n},children:[(0,g.jsx)(De,{src:e,alt:t?.alt}),(0,g.jsx)(Oe,{children:t?.fallback??`U`})]})}},image:{render:(e,t)=>{if(!e)return`-`;let n=t?.width??80,r=t?.height??80;return(0,g.jsx)(`img`,{src:e,alt:t?.alt??`image`,style:{width:n,height:r,objectFit:`cover`},className:`rounded`})}},switch:{render:(e,t)=>(0,g.jsx)(ke,{checked:!!e,disabled:t?.disabled??!0,onCheckedChange:t?.onChange})},code:{render:e=>e?(0,g.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,g.jsx)(Te,{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,g.jsx)(Te,{variant:r.variant,children:r.text})}},progress:{render:(e,t)=>{if(e==null)return`-`;let n=Number(e),r=t?.showInfo??!0;return(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(Ae,{value:n,className:`flex-1`}),r&&(0,g.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,g.jsx)(`a`,{href:`mailto:${e}`,className:`text-blue-600 hover:text-blue-800 underline`,children:e}):`-`},phone:{render:e=>e?(0,g.jsx)(`a`,{href:`tel:${e}`,className:`text-blue-600 hover:text-blue-800 underline`,children:e}):`-`},url:{render:e=>e?(0,g.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,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(`div`,{className:`w-4 h-4 rounded border`,style:{backgroundColor:e}}),(0,g.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,g.jsxs)(`div`,{className:`flex items-center gap-1`,children:[Array.from({length:n},(e,t)=>(0,g.jsx)(`span`,{className:N(`text-lg`,t<r?`text-yellow-400`:`text-gray-300`),children:`★`},t)),i&&(0,g.jsx)(`span`,{className:`text-lg text-yellow-400`,children:`☆`}),(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground ml-1`,children:e.toFixed(1)})]})}}};function Me(e,t,n){let r=je[e];return r?r.render(t,n):t??`-`}function Ne(e,t,n){let r=je[e];return r?.renderFormItem?r.renderFormItem(t,n):null}function Pe(e,t){je[e]=t}function N(...e){return(0,f.twMerge)((0,d.clsx)(e))}function Fe({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`table-container`,className:`relative w-full overflow-x-auto`,children:(0,g.jsx)(`table`,{"data-slot":`table`,className:N(`w-full caption-bottom text-sm`,e),...t})})}function Ie({className:e,...t}){return(0,g.jsx)(`thead`,{"data-slot":`table-header`,className:N(`[&_tr]:border-b`,e),...t})}function Le({className:e,...t}){return(0,g.jsx)(`tbody`,{"data-slot":`table-body`,className:N(`[&_tr:last-child]:border-0`,e),...t})}function Re({className:e,...t}){return(0,g.jsx)(`tfoot`,{"data-slot":`table-footer`,className:N(`bg-muted/50 border-t font-medium [&>tr]:last:border-b-0`,e),...t})}function ze({className:e,...t}){return(0,g.jsx)(`tr`,{"data-slot":`table-row`,className:N(`hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors`,e),...t})}function Be({className:e,...t}){return(0,g.jsx)(`th`,{"data-slot":`table-head`,className:N(`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 Ve({className:e,...t}){return(0,g.jsx)(`td`,{"data-slot":`table-cell`,className:N(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...t})}function He({className:e,...t}){return(0,g.jsx)(`caption`,{"data-slot":`table-caption`,className:N(`text-muted-foreground mt-4 text-sm`,e),...t})}function Ue({className:e,...t}){return(0,g.jsx)(b.Root,{"data-slot":`checkbox`,className:N(`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,g.jsx)(b.Indicator,{"data-slot":`checkbox-indicator`,className:`grid place-content-center text-current transition-none`,children:(0,g.jsx)(x.CheckIcon,{className:`size-3.5`})})})}function We({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card`,className:N(`bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm`,e),...t})}function Ge({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-header`,className:N(`@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 Ke({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-title`,className:N(`leading-none font-semibold`,e),...t})}function qe({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-description`,className:N(`text-muted-foreground text-sm`,e),...t})}function Je({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-action`,className:N(`col-start-2 row-span-2 row-start-1 self-start justify-self-end`,e),...t})}function Ye({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-content`,className:N(`px-6`,e),...t})}function Xe({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-footer`,className:N(`flex items-center px-6 [.border-t]:pt-6`,e),...t})}var Ze=(0,h.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 P({className:e,variant:t,size:n,asChild:r=!1,...i}){return(0,g.jsx)(r?m.Slot:`button`,{"data-slot":`button`,className:N(Ze({variant:t,size:n,className:e})),...i})}var Qe=c(oe());function $e(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 et(e){let{columns:t=[],dataSource:n,request:r,params:i={},postData:a,defaultData:o=[],loading:s,rowKey:c=`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,l.useReducer)($e,g),y=(0,l.useRef)(null),[b,x]=(0,l.useState)([]),[S,C]=(0,l.useState)([]),[w,T]=(0,l.useState)({}),[ee,te]=(0,l.useState)({}),ne=(0,l.useCallback)(e=>{x(t=>{if((0,Qe.isFunction)(e))try{let n=e(t||[]);return n==null||!Array.isArray(n)?[]:n}catch{return t||[]}return e==null||!Array.isArray(e)?[]:e})},[]),E=(0,l.useCallback)(e=>{C(t=>{if((0,Qe.isFunction)(e))try{let n=e(t||[]);return n==null||!Array.isArray(n)?[]:n.filter(e=>e!=null)}catch{return t||[]}return e==null||!Array.isArray(e)?[]:e.filter(e=>e!=null)})},[]),re=(0,l.useCallback)(e=>{T(t=>{if((0,Qe.isFunction)(e)){let n=e(t||{});return n&&typeof n==`object`?n:{}}return e&&typeof e==`object`?e:{}})},[]),ie=(0,l.useCallback)(e=>{te(t=>{if((0,Qe.isFunction)(e)){let n=e(t||{});return n&&typeof n==`object`?n:{}}return e&&typeof e==`object`?e:{}})},[]),ae=(0,l.useCallback)(()=>{let e=[],n=[];return t.forEach(t=>{if(t.hideInTable)return;let r=t.key||String(t.dataIndex);t.fixed===`left`?e.push(r):t.fixed===`right`&&n.push(r)}),{left:e,right:n}},[t]),[D,O]=(0,l.useState)(()=>ae()),oe=(0,l.useCallback)(e=>{O(t=>{if((0,Qe.isFunction)(e)){let n=e(t||{left:[],right:[]});return n&&typeof n==`object`?n:{left:[],right:[]}}return e&&typeof e==`object`?e:{left:[],right:[]}})},[]);(0,l.useEffect)(()=>{let e=ae();O(e)},[ae]);let se=(0,l.useCallback)(e=>typeof c==`function`?String(c(e)):String(e[c]),[c]),k=(0,l.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){h?.(e)}finally{v({type:`SET_LOADING`,payload:!1}),m?.(!1)}}},[r,i,_.current,_.pageSize,_.filters,_.sorter,a,p,m,h]),ce=(0,l.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==null||n===``)return!0;let r=e.getValue(t);if(r==null)return!1;if(Array.isArray(n))return n.length===0?!0:n.some(e=>{let t=String(r).toLowerCase(),n=String(e).toLowerCase();return t.includes(n)});let i=String(r).toLowerCase(),a=String(n).toLowerCase();return i.includes(a)}),enablePinning:!!e.fixed,size:e.width?typeof e.width==`number`?e.width:typeof e.width==`string`?(()=>{let t=e.width.match(/^(\d+(?:\.\d+)?)px?$/);return t?parseFloat(t[1]):parseInt(String(e.width))||100})():100:e.fixed?100:void 0,...e})),[t]),A=(0,u.useReactTable)({data:_.data,columns:ce,state:{sorting:b,columnFilters:S,columnVisibility:w,rowSelection:ee,columnPinning:D,pagination:{pageIndex:_.current-1,pageSize:_.pageSize}},onSortingChange:ne,onColumnFiltersChange:E,onColumnVisibilityChange:re,onRowSelectionChange:ie,onColumnPinningChange:oe,getCoreRowModel:(0,u.getCoreRowModel)(),getFilteredRowModel:(0,u.getFilteredRowModel)(),getPaginationRowModel:(0,u.getPaginationRowModel)(),getSortedRowModel:(0,u.getSortedRowModel)(),getRowId:se,manualPagination:!!r,pageCount:Math.ceil(_.total/_.pageSize),columnResizeMode:`onChange`,enableColumnPinning:!0}),le=(0,l.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]),ue=(0,l.useCallback)(e=>{if(v({type:`SET_FILTERS`,payload:e}),r)k({current:1});else{let t=Object.entries(e).filter(([e,t])=>t==null||t===``?!1:Array.isArray(t)?t.length>0:!0).map(([e,t])=>({id:e,value:t}));C(t)}},[r,k]),de=(0,l.useCallback)(()=>{v({type:`RESET`}),r?k({current:1}):C([])},[r,k]);(0,l.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 fe={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:()=>{te({}),v({type:`SET_SELECTION`,payload:{keys:[],rows:[]}})},startEditable:e=>{let t=_.data.find(t=>se(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=>se(t)===String(e)),getTableData:()=>_.data,setTableData:e=>{v({type:`SET_DATA`,payload:{data:e}})}};return(0,l.useEffect)(()=>{y.current&&Object.assign(y.current,fe)}),(0,l.useEffect)(()=>{r&&!n&&k()},[]),(0,l.useEffect)(()=>{n&&v({type:`SET_DATA`,payload:{data:n,total:n.length}})},[n]),{table:A,state:_,dispatch:v,actions:fe,handlers:{handlePaginationChange:le,handleSearch:ue,handleReset:de}}}function F(e){let{columns:t,rowSelection:n,draggable:r,editable:i}=e,[a,o]=(0,l.useState)(()=>t.filter(e=>!e.hideInTable).map(e=>e.key||String(e.dataIndex))),[s,c]=(0,l.useState)({}),u=(0,l.useMemo)(()=>t.filter(e=>!e.hideInSearch&&(e.search===!0||typeof e.search==`object`)),[t]);return{tableColumns:(0,l.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?Me(t.valueType,a,{...t,...r}):a},enableSorting:!!t.sorter,enableHiding:!0,size:typeof t.width==`number`?t.width:void 0,...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)=>{c(n=>({...n,[e]:{...n[e],...t}}))}}}function tt({className:e,type:t,...n}){return(0,g.jsx)(`input`,{type:t,"data-slot":`input`,className:N(`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 nt({...e}){return(0,g.jsx)(S.Root,{"data-slot":`dropdown-menu`,...e})}function rt({...e}){return(0,g.jsx)(S.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function it({...e}){return(0,g.jsx)(S.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function at({className:e,sideOffset:t=4,...n}){return(0,g.jsx)(S.Portal,{children:(0,g.jsx)(S.Content,{"data-slot":`dropdown-menu-content`,sideOffset:t,className:N(`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-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md`,e),...n})})}function ot({...e}){return(0,g.jsx)(S.Group,{"data-slot":`dropdown-menu-group`,...e})}function st({className:e,inset:t,variant:n=`default`,...r}){return(0,g.jsx)(S.Item,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:N(`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 ct({className:e,children:t,checked:n,...r}){return(0,g.jsxs)(S.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:N(`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,g.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,g.jsx)(S.ItemIndicator,{children:(0,g.jsx)(x.CheckIcon,{className:`size-4`})})}),t]})}function lt({...e}){return(0,g.jsx)(S.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function ut({className:e,children:t,...n}){return(0,g.jsxs)(S.RadioItem,{"data-slot":`dropdown-menu-radio-item`,className:N(`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,g.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,g.jsx)(S.ItemIndicator,{children:(0,g.jsx)(x.CircleIcon,{className:`size-2 fill-current`})})}),t]})}function dt({className:e,inset:t,...n}){return(0,g.jsx)(S.Label,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:N(`px-2 py-1.5 text-sm font-medium data-[inset]:pl-8`,e),...n})}function ft({className:e,...t}){return(0,g.jsx)(S.Separator,{"data-slot":`dropdown-menu-separator`,className:N(`bg-border -mx-1 my-1 h-px`,e),...t})}function pt({className:e,...t}){return(0,g.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:N(`text-muted-foreground ml-auto text-xs tracking-widest`,e),...t})}function mt({...e}){return(0,g.jsx)(S.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function ht({className:e,inset:t,children:n,...r}){return(0,g.jsxs)(S.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":t,className:N(`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,g.jsx)(x.ChevronRightIcon,{className:`ml-auto size-4`})]})}function gt({className:e,...t}){return(0,g.jsx)(S.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:N(`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-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg`,e),...t})}function _t({delayDuration:e=0,...t}){return(0,g.jsx)(C.Provider,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function vt({...e}){return(0,g.jsx)(_t,{children:(0,g.jsx)(C.Root,{"data-slot":`tooltip`,...e})})}function yt({...e}){return(0,g.jsx)(C.Trigger,{"data-slot":`tooltip-trigger`,...e})}function I({className:e,sideOffset:t=0,children:n,...r}){return(0,g.jsx)(C.Portal,{children:(0,g.jsxs)(C.Content,{"data-slot":`tooltip-content`,sideOffset:t,className:N(`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,g.jsx)(C.Arrow,{className:`bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]`})]})})}const bt={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 xt=(0,l.createContext)(void 0);function St({locale:e,children:t}){let n=l.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(bt,e||{})},[e]);return(0,g.jsx)(xt.Provider,{value:{locale:n},children:t})}function Ct(){let e=(0,l.useContext)(xt);if(e===void 0)throw Error(`useLocale must be used within a LocaleProvider`);return e.locale}function wt({id:e,children:t}){let{attributes:n,listeners:r,setNodeRef:i,transform:a,transition:o,isDragging:s}=(0,ee.useSortable)({id:e}),c={transform:te.CSS.Transform.toString(a),transition:o,opacity:s?.6:1};return(0,g.jsxs)(`div`,{ref:i,style:c,className:`flex items-center`,children:[(0,g.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,g.jsx)(w.IconGripVertical,{className:`h-4 w-4`})}),(0,g.jsx)(`div`,{className:`flex-1`,children:t})]})}function Tt({table:e,columns:t,visibleColumns:n,onVisibleChange:r,fixedColumns:i={},onFixedChange:a,onOrderChange:o}){let s=Ct(),c=t.filter(e=>e.enableHiding!==!1&&!e.hideInTable),u=c.map(e=>e.key||String(e.dataIndex)),[d,f]=(0,l.useState)(()=>({...i||{}}));(0,l.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,g.jsxs)(nt,{children:[(0,g.jsx)(it,{asChild:!0,children:(0,g.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,children:(0,g.jsx)(w.IconSettings,{className:`h-4 w-4`})})}),(0,g.jsxs)(at,{align:`end`,className:`w-64`,children:[(0,g.jsx)(dt,{children:s.columnSetting.title}),(0,g.jsx)(ft,{}),(0,g.jsx)(`div`,{className:`max-h-96 overflow-y-auto`,children:(0,g.jsx)(T.DndContext,{collisionDetection:T.closestCenter,modifiers:[ne.restrictToVerticalAxis],onDragEnd:e=>{let{active:n,over:r}=e;if(!r||n.id===r.id)return;let i=c.findIndex(e=>(e.key||String(e.dataIndex))===n.id),a=c.findIndex(e=>(e.key||String(e.dataIndex))===r.id);if(i!==-1&&a!==-1&&typeof o==`function`){let e=[...c],[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,g.jsx)(ee.SortableContext,{items:u,strategy:ee.verticalListSortingStrategy,children:c.map(e=>{let t=e.key||String(e.dataIndex),r=n.includes(t),i=d?.[t]??void 0;return(0,g.jsx)(wt,{id:t,children:(0,g.jsxs)(`div`,{className:`flex items-center justify-between px-2 py-1.5 hover:bg-muted`,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(P,{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,g.jsx)(w.IconEye,{className:`h-4 w-4`}):(0,g.jsx)(w.IconEyeOff,{className:`h-4 w-4`})}),(0,g.jsx)(`span`,{className:N(`text-sm`,!r&&`text-muted-foreground line-through`),children:e.title??t})]}),(0,g.jsxs)(nt,{children:[(0,g.jsx)(it,{asChild:!0,children:(0,g.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-6 w-6`,children:i?(0,g.jsx)(w.IconPin,{className:`h-4 w-4`}):(0,g.jsx)(w.IconPinEnd,{className:`h-4 w-4`})})}),(0,g.jsxs)(at,{side:`left`,children:[(0,g.jsx)(st,{onClick:()=>m(t,void 0),children:s.columnSetting.noFixed}),(0,g.jsx)(st,{onClick:()=>m(t,`left`),children:s.columnSetting.fixedLeft}),(0,g.jsx)(st,{onClick:()=>m(t,`right`),children:s.columnSetting.fixedRight})]})]})]})},t)})})})}),(0,g.jsx)(ft,{}),(0,g.jsxs)(`div`,{className:`flex gap-2 p-2`,children:[(0,g.jsxs)(P,{size:`sm`,variant:`outline`,className:`flex-1`,onClick:()=>r(u),children:[s.columnSetting.show,` All`]}),(0,g.jsxs)(P,{size:`sm`,variant:`outline`,className:`flex-1`,onClick:()=>r([]),children:[s.columnSetting.hide,` All`]})]})]})]})}function Et({title:e,subTitle:t,search:n,actions:r=[],settings:i=!0,filter:a,table:o,columns:s,loading:c,onReload:u,fullScreen:d=!1,onFullScreenChange:f,density:p=`middle`,onDensityChange:m,visibleColumns:h=[],onVisibleColumnsChange:_,columnSettings:v,onColumnSettingsChange:y}){let b=Ct(),[S,C]=l.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))},ee=Array.isArray(i)?i:i===!0?[`columnSettings`,`density`,`reload`,`fullScreen`]:[];return(0,g.jsxs)(`div`,{className:`flex flex-col gap-4 px-4 py-3`,children:[(0,g.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e&&(0,g.jsx)(`h3`,{className:`text-lg font-semibold leading-none`,children:e}),t&&(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground leading-none`,children:t})]}),(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[n&&(0,g.jsxs)(`form`,{onSubmit:w,className:`relative`,children:[(0,g.jsx)(tt,{placeholder:typeof n==`object`?n.placeholder:b.toolbar.searchPlaceholder,value:S,onChange:e=>C(e.target.value),onKeyDown:T,className:`h-8 w-[200px] pr-8`}),(0,g.jsx)(x.Search,{className:`absolute right-2 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`})]}),r.map((e,t)=>(0,g.jsx)(l.default.Fragment,{children:e},t)),ee.length>0&&(0,g.jsx)(`div`,{className:`flex items-center gap-1 border-l pl-2`,children:(0,g.jsxs)(_t,{children:[ee.includes(`reload`)&&(0,g.jsxs)(vt,{children:[(0,g.jsx)(yt,{asChild:!0,children:(0,g.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:u,disabled:c,children:(0,g.jsx)(x.RotateCw,{className:`h-4 w-4 ${c?`animate-spin`:``}`})})}),(0,g.jsx)(I,{children:(0,g.jsx)(`p`,{children:b.toolbar.reload})})]}),ee.includes(`density`)&&(0,g.jsxs)(nt,{children:[(0,g.jsx)(it,{asChild:!0,children:(0,g.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,children:(0,g.jsx)(x.Settings2,{className:`h-4 w-4`})})}),(0,g.jsxs)(at,{align:`end`,children:[(0,g.jsx)(dt,{children:b.toolbar.density}),(0,g.jsx)(ft,{}),(0,g.jsx)(ct,{checked:p===`small`,onCheckedChange:()=>m?.(`small`),children:b.toolbar.compact}),(0,g.jsx)(ct,{checked:p===`middle`,onCheckedChange:()=>m?.(`middle`),children:b.toolbar.default}),(0,g.jsx)(ct,{checked:p===`large`,onCheckedChange:()=>m?.(`large`),children:b.toolbar.comfortable})]})]}),ee.includes(`columnSettings`)&&_&&(0,g.jsx)(Tt,{table:o,columns:s,visibleColumns:h,onVisibleChange:_,fixedColumns:v?.fixed||{},onFixedChange:(e,t)=>y?.(e,{fixed:t}),onOrderChange:e=>y?.(`order`,e)}),ee.includes(`fullScreen`)&&(0,g.jsxs)(vt,{children:[(0,g.jsx)(yt,{asChild:!0,children:(0,g.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>f?.(!d),children:d?(0,g.jsx)(x.Minimize2,{className:`h-4 w-4`}):(0,g.jsx)(x.Maximize2,{className:`h-4 w-4`})})}),(0,g.jsx)(I,{children:(0,g.jsx)(`p`,{children:d?b.toolbar.exitFullScreen:b.toolbar.fullScreen})})]})]})})]})]}),a&&(0,g.jsx)(`div`,{className:`border-t pt-3`,children:a})]})}function Dt({column:e,value:t=[],onChange:n,onClear:r}){let[i,a]=(0,l.useState)(!1),o=Array.isArray(t)?t:[],s=(e,t)=>{t?n?.([...o,e]):n?.(o.filter(t=>t!==e))},c=()=>{n?.([]),r?.(),a(!1)},u=o.length>0;return(0,g.jsxs)(nt,{open:i,onOpenChange:a,children:[(0,g.jsx)(it,{asChild:!0,children:(0,g.jsx)(P,{variant:`ghost`,size:`sm`,className:N(`h-6 w-6 p-0 hover:bg-muted`,u&&`bg-primary/10 text-primary`),children:(0,g.jsx)(x.Filter,{className:`h-3 w-3`})})}),(0,g.jsx)(at,{align:`start`,className:`w-48`,children:(0,g.jsxs)(`div`,{className:`p-2`,children:[(0,g.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[(0,g.jsxs)(`span`,{className:`text-sm font-medium`,children:[`筛选 `,e.title]}),u&&(0,g.jsx)(P,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0`,onClick:c,children:(0,g.jsx)(x.X,{className:`h-3 w-3`})})]}),(0,g.jsx)(`div`,{className:`space-y-1 max-h-48 overflow-y-auto`,children:e.filters?.map(t=>(0,g.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,g.jsx)(Ue,{id:`filter-${e.key||e.dataIndex}-${t.value}`,checked:o.includes(t.value),onCheckedChange:e=>s(t.value,!!e)}),(0,g.jsx)(`label`,{htmlFor:`filter-${e.key||e.dataIndex}-${t.value}`,className:`text-sm cursor-pointer flex-1`,children:t.text})]},String(t.value)))})]})})]})}function L({...e}){return(0,g.jsx)(E.Root,{"data-slot":`select`,...e})}function Ot({...e}){return(0,g.jsx)(E.Group,{"data-slot":`select-group`,...e})}function kt({...e}){return(0,g.jsx)(E.Value,{"data-slot":`select-value`,...e})}function At({className:e,size:t=`default`,children:n,...r}){return(0,g.jsxs)(E.Trigger,{"data-slot":`select-trigger`,"data-size":t,className:N(`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-fit 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,g.jsx)(E.Icon,{asChild:!0,children:(0,g.jsx)(x.ChevronDownIcon,{className:`size-4 opacity-50`})})]})}function jt({className:e,children:t,position:n=`popper`,align:r=`center`,...i}){return(0,g.jsx)(E.Portal,{children:(0,g.jsxs)(E.Content,{"data-slot":`select-content`,className:N(`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,g.jsx)(Ft,{}),(0,g.jsx)(E.Viewport,{className:N(`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,g.jsx)(It,{})]})})}function Mt({className:e,...t}){return(0,g.jsx)(E.Label,{"data-slot":`select-label`,className:N(`text-muted-foreground px-2 py-1.5 text-xs`,e),...t})}function Nt({className:e,children:t,...n}){return(0,g.jsxs)(E.Item,{"data-slot":`select-item`,className:N(`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,g.jsx)(`span`,{className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,g.jsx)(E.ItemIndicator,{children:(0,g.jsx)(x.CheckIcon,{className:`size-4`})})}),(0,g.jsx)(E.ItemText,{children:t})]})}function Pt({className:e,...t}){return(0,g.jsx)(E.Separator,{"data-slot":`select-separator`,className:N(`bg-border pointer-events-none -mx-1 my-1 h-px`,e),...t})}function Ft({className:e,...t}){return(0,g.jsx)(E.ScrollUpButton,{"data-slot":`select-scroll-up-button`,className:N(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,g.jsx)(x.ChevronUpIcon,{className:`size-4`})})}function It({className:e,...t}){return(0,g.jsx)(E.ScrollDownButton,{"data-slot":`select-scroll-down-button`,className:N(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,g.jsx)(x.ChevronDownIcon,{className:`size-4`})})}var Lt=768;function Rt(){let[e,t]=l.useState(void 0);return l.useEffect(()=>{let e=window.matchMedia(`(max-width: ${Lt-1}px)`),n=()=>{t(window.innerWidth<Lt)};return e.addEventListener(`change`,n),t(window.innerWidth<Lt),()=>e.removeEventListener(`change`,n)},[]),!!e}function zt({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=Ct(),m=Rt(),h=Math.max(1,Math.ceil(n/t)),_=Math.min(Math.max(e,1),h),v=l||_<=1,y=l||_>=h,b=e=>{let n=Math.min(Math.max(e,1),h);n!==_&&(u?.(n,t),f?.(n,t))},x=e=>{let t=Number(e);d?.(_,t),f?.(1,t)};if(c||m)return(0,g.jsxs)(`div`,{className:N(`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,g.jsxs)(`div`,{className:N(`flex items-center gap-2`,m?`justify-between`:`justify-center`),children:[(0,g.jsx)(P,{variant:`outline`,size:s===`small`||m?`sm`:`default`,onClick:()=>b(_-1),disabled:v,children:(0,g.jsx)(w.IconChevronLeft,{className:`h-4 w-4`})}),(0,g.jsxs)(`span`,{className:`text-sm text-muted-foreground`,children:[p.pagination.page,` `,_,` `,p.pagination.of,` `,h]}),(0,g.jsx)(P,{variant:`outline`,size:s===`small`||m?`sm`:`default`,onClick:()=>b(_+1),disabled:y,children:(0,g.jsx)(w.IconChevronRight,{className:`h-4 w-4`})})]}),r&&!c&&(0,g.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,g.jsx)(`span`,{children:p.pagination.showTotal}),(0,g.jsxs)(L,{value:String(t),onValueChange:x,disabled:l,children:[(0,g.jsx)(At,{size:`sm`,className:`h-8 w-[110px]`,id:`rows-per-page-mobile`,children:(0,g.jsx)(kt,{placeholder:t})}),(0,g.jsx)(jt,{children:o.map(e=>(0,g.jsx)(Nt,{value:e,children:e},e))})]})]})]});let S=(_-1)*t+1,C=Math.min(_*t,n);return(0,g.jsxs)(`div`,{className:N(`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,g.jsx)(`div`,{className:`flex flex-1 items-center gap-4`,children:a?(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground leading-none`,children:a(n,[S,C])}):(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground leading-none`,children:p.pagination.total?.(n,[S,C])})}),(0,g.jsxs)(`div`,{className:N(`flex items-center gap-2`,m&&`flex-wrap justify-between gap-3`),children:[r&&(0,g.jsxs)(`div`,{className:N(`flex items-center gap-2`,m&&`order-2 w-full justify-between`),children:[(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground leading-none`,children:p.pagination.showTotal}),(0,g.jsxs)(L,{value:String(t),onValueChange:x,disabled:l,children:[(0,g.jsx)(At,{size:`sm`,className:N(`h-8 w-20`,m&&`w-[120px]`),id:`rows-per-page`,children:(0,g.jsx)(kt,{})}),(0,g.jsx)(jt,{children:o.map(e=>(0,g.jsx)(Nt,{value:e,children:e},e))})]}),(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground leading-none`,children:p.pagination.items})]}),(0,g.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,g.jsx)(P,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>b(1),disabled:v,children:(0,g.jsx)(w.IconChevronsLeft,{className:`h-4 w-4`})}),(0,g.jsx)(P,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>b(_-1),disabled:v,children:(0,g.jsx)(w.IconChevronLeft,{className:`h-4 w-4`})}),(0,g.jsxs)(`span`,{className:`px-2 text-sm`,children:[p.pagination.page,` `,_,` `,p.pagination.of,` `,h]}),(0,g.jsx)(P,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>b(_+1),disabled:y,children:(0,g.jsx)(w.IconChevronRight,{className:`h-4 w-4`})}),(0,g.jsx)(P,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>b(h),disabled:y,children:(0,g.jsx)(w.IconChevronsRight,{className:`h-4 w-4`})})]}),i&&(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:p.pagination.page}),(0,g.jsx)(`input`,{type:`number`,min:1,max:h,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<=h&&b(t)}},disabled:l})]})]})]})}function Bt({className:e,classNames:t,showOutsideDays:n=!0,captionLayout:r=`label`,buttonVariant:i=`ghost`,formatters:a,components:o,...s}){let c=(0,re.getDefaultClassNames)();return(0,g.jsx)(re.DayPicker,{showOutsideDays:n,className:N(`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:N(`w-fit`,c.root),months:N(`flex gap-4 flex-col md:flex-row relative`,c.months),month:N(`flex flex-col w-full gap-4`,c.month),nav:N(`flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between`,c.nav),button_previous:N(Ze({variant:i}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,c.button_previous),button_next:N(Ze({variant:i}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,c.button_next),month_caption:N(`flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)`,c.month_caption),dropdowns:N(`w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5`,c.dropdowns),dropdown_root:N(`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:N(`absolute bg-popover inset-0 opacity-0`,c.dropdown),caption_label:N(`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:N(`flex`,c.weekdays),weekday:N(`text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none`,c.weekday),week:N(`flex w-full mt-2`,c.week),week_number_header:N(`select-none w-(--cell-size)`,c.week_number_header),week_number:N(`text-[0.8rem] select-none text-muted-foreground`,c.week_number),day:N(`relative w-full h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none`,s.showWeekNumber?`[&:nth-child(2)[data-selected=true]_button]:rounded-l-md`:`[&:first-child[data-selected=true]_button]:rounded-l-md`,c.day),range_start:N(`rounded-l-md bg-accent`,c.range_start),range_middle:N(`rounded-none`,c.range_middle),range_end:N(`rounded-r-md bg-accent`,c.range_end),today:N(`bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none`,c.today),outside:N(`text-muted-foreground aria-selected:text-muted-foreground`,c.outside),disabled:N(`text-muted-foreground opacity-50`,c.disabled),hidden:N(`invisible`,c.hidden),...t},components:{Root:({className:e,rootRef:t,...n})=>(0,g.jsx)(`div`,{"data-slot":`calendar`,ref:t,className:N(e),...n}),Chevron:({className:e,orientation:t,...n})=>t===`left`?(0,g.jsx)(x.ChevronLeftIcon,{className:N(`size-4`,e),...n}):t===`right`?(0,g.jsx)(x.ChevronRightIcon,{className:N(`size-4`,e),...n}):(0,g.jsx)(x.ChevronDownIcon,{className:N(`size-4`,e),...n}),DayButton:Vt,WeekNumber:({children:e,...t})=>(0,g.jsx)(`td`,{...t,children:(0,g.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,re.getDefaultClassNames)(),a=l.useRef(null);return l.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),(0,g.jsx)(P,{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:N(`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 Ht({...e}){return(0,g.jsx)(ie.Root,{"data-slot":`popover`,...e})}function Ut({...e}){return(0,g.jsx)(ie.Trigger,{"data-slot":`popover-trigger`,...e})}function Wt({className:e,align:t=`center`,sideOffset:n=4,...r}){return(0,g.jsx)(ie.Portal,{children:(0,g.jsx)(ie.Content,{"data-slot":`popover-content`,align:t,sideOffset:n,className:N(`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 Gt({...e}){return(0,g.jsx)(ie.Anchor,{"data-slot":`popover-anchor`,...e})}function Kt({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,id:u}){return(0,g.jsxs)(Ht,{children:[(0,g.jsx)(Ut,{asChild:!0,children:(0,g.jsxs)(P,{id:u,variant:`outline`,className:N(`h-8 w-full justify-start text-left font-normal`,!e&&`text-muted-foreground`,r),disabled:i,children:[(0,g.jsx)(x.Calendar,{className:`mr-2 h-4 w-4`}),e?(0,p.format)(e,s):(0,g.jsx)(`span`,{children:n})]})}),(0,g.jsx)(Wt,{className:`w-auto p-0`,align:c,sideOffset:l,children:(0,g.jsx)(Bt,{mode:`single`,selected:e,onSelect:t,disabled:i,fromDate:a,toDate:o,initialFocus:!0})})]})}function qt({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,id:d}){return(0,g.jsx)(`div`,{className:N(`w-full`,r),children:(0,g.jsxs)(Ht,{children:[(0,g.jsx)(Ut,{asChild:!0,children:(0,g.jsxs)(P,{id:d,variant:`outline`,className:N(`h-8 w-full justify-start text-left font-normal`,!e&&`text-muted-foreground`),disabled:i,children:[(0,g.jsx)(x.Calendar,{className:`mr-2 h-4 w-4`}),e?.from?e.to?(0,g.jsxs)(g.Fragment,{children:[(0,p.format)(e.from,s),` -`,` `,(0,p.format)(e.to,s)]}):(0,p.format)(e.from,s):(0,g.jsx)(`span`,{children:n})]})}),(0,g.jsx)(Wt,{className:`w-auto p-0`,align:c,sideOffset:l,children:(0,g.jsx)(Bt,{initialFocus:!0,mode:`range`,defaultMonth:e?.from,selected:e,onSelect:t,numberOfMonths:u,disabled:i,fromDate:a,toDate:o})})]})})}function Jt({className:e,...t}){return(0,g.jsx)(ae.Root,{"data-slot":`label`,className:N(`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 Yt({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`field-group`,className:N(`group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4`,e),...t})}var Xt=(0,h.cva)(`group/field flex w-full gap-3 data-[invalid=true]:text-destructive`,{variants:{orientation:{vertical:[`flex-col [&>*]:w-full [&>.sr-only]:w-auto`],horizontal:[`flex-row items-center`,`[&>[data-slot=field-label]]:flex-auto`,`has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`],responsive:[`flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto`,`@md/field-group:[&>[data-slot=field-label]]:flex-auto`,`@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`]}},defaultVariants:{orientation:`vertical`}});function Zt({className:e,orientation:t=`vertical`,...n}){return(0,g.jsx)(`div`,{role:`group`,"data-slot":`field`,"data-orientation":t,className:N(Xt({orientation:t}),e),...n})}function Qt({className:e,...t}){return(0,g.jsx)(Jt,{"data-slot":`field-label`,className:N(`group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50`,`has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-4`,`has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10`,e),...t})}function $t({className:e,children:t,errors:n,...r}){let i=(0,l.useMemo)(()=>{if(t)return t;if(!n?.length)return null;let e=[...new Map(n.map(e=>[e?.message,e])).values()];return e?.length==1?e[0]?.message:(0,g.jsx)(`ul`,{className:`ml-4 flex list-disc flex-col gap-1`,children:e.map((e,t)=>e?.message&&(0,g.jsx)(`li`,{children:e.message},t))})},[t,n]);return i?(0,g.jsx)(`div`,{role:`alert`,"data-slot":`field-error`,className:N(`text-destructive text-sm font-normal`,e),...r,children:i}):null}function en({columns:e,onSearch:t,onReset:n,loading:r,filterType:i=`query`,searchText:a,resetText:o,submitText:s,defaultCollapsed:c=!0,collapsed:u,onCollapse:d,optionRender:f}){let p=Ct(),m=(0,D.useForm)({defaultValues:{}}),{control:h,register:_,handleSubmit:v,watch:y}=m,[b,S]=(0,l.useState)(u??c),C=u!==void 0,w=C?u:b;(0,l.useEffect)(()=>{C&&S(u??c)},[u]);let T=()=>{C||S(!b),d?.(!w)},ee=e=>{t?.(e)},te=()=>{m.reset(),n?.()},ne=e=>{let t=String(e.dataIndex||``).toLowerCase(),n=e.valueType;return n===`email`?`email`:n===`phone`?`tel`:n===`url`?`url`:t.includes(`email`)?`email`:t.includes(`phone`)||t.includes(`tel`)?`tel`:t.includes(`name`)||t.includes(`username`)?`name`:t.includes(`password`)?`current-password`:t.includes(`address`)?`street-address`:t.includes(`city`)?`address-level2`:t.includes(`country`)?`country`:t.includes(`postal`)||t.includes(`zip`)?`postal-code`:`off`},E=e=>{let t=e.key||String(e.dataIndex),n=ne(e);switch(e.valueType){case`select`:return(0,g.jsx)(D.Controller,{control:h,name:t,render:({field:n,fieldState:r})=>(0,g.jsxs)(L,{name:n.name,value:n.value??``,onValueChange:n.onChange,children:[(0,g.jsx)(At,{id:t,size:`sm`,className:`h-8 w-full`,"aria-invalid":r.invalid,children:(0,g.jsx)(kt,{placeholder:`${p.search.selectPlaceholder} ${e.title}`})}),(0,g.jsx)(jt,{position:`popper`,className:`w-(--radix-select-trigger-width)`,children:e.valueEnum?Object.entries(e.valueEnum).map(([e,n])=>(0,g.jsx)(Nt,{value:e,children:n.text},`${t}-${e}`)):e.filters?.map(e=>(0,g.jsx)(Nt,{value:e.value,children:e.text},`${t}-filter-${String(e.value)}`))})]})});case`date`:return(0,g.jsx)(D.Controller,{control:h,name:t,render:({field:n})=>(0,g.jsx)(Kt,{id:t,value:n.value,onChange:e=>n.onChange(e),className:`h-8 w-full`,placeholder:`${p.search.selectPlaceholder} ${e.title}`,formatStr:`PP`})});case`dateTime`:return(0,g.jsx)(D.Controller,{control:h,name:t,render:({field:n})=>(0,g.jsx)(Kt,{id:t,value:n.value,onChange:e=>n.onChange(e),className:`h-8 w-full`,placeholder:`${p.search.selectPlaceholder} ${e.title}`,formatStr:`PPp`})});case`dateRange`:return(0,g.jsx)(D.Controller,{control:h,name:t,render:({field:n})=>(0,g.jsx)(qt,{id:t,value:n.value,onChange:e=>n.onChange(e),className:`w-full`,placeholder:`${p.search.selectPlaceholder} ${e.title} range`,numberOfMonths:2})});case`number`:return(0,g.jsx)(D.Controller,{control:h,name:t,render:({field:r,fieldState:i})=>(0,g.jsx)(tt,{id:t,type:`number`,...r,value:r.value??``,onChange:e=>r.onChange(e.target.value?Number(e.target.value):void 0),placeholder:`${p.search.inputPlaceholder} ${e.title}`,className:`h-8 w-full`,"aria-invalid":i.invalid,autoComplete:n})});case`switch`:return(0,g.jsx)(D.Controller,{control:h,name:t,defaultValue:!1,render:({field:e,fieldState:n})=>(0,g.jsx)(ke,{id:t,name:e.name,checked:!!e.value,onCheckedChange:e.onChange,"aria-invalid":n.invalid})});default:return(0,g.jsx)(D.Controller,{control:h,name:t,render:({field:r,fieldState:i})=>(0,g.jsx)(tt,{id:t,...r,value:r.value??``,onChange:e=>r.onChange(e.target.value),placeholder:`${p.search.inputPlaceholder} ${e.title}`,className:`h-8 w-full`,"aria-invalid":i.invalid,autoComplete:n})})}};if(i===`light`)return(0,g.jsxs)(`form`,{className:`flex items-center gap-2 px-4 py-2`,onSubmit:v(ee),children:[(0,g.jsxs)(`div`,{className:`relative flex-1 max-w-sm`,children:[(0,g.jsx)(tt,{id:`search-keyword`,placeholder:a||p.search.searchText,..._(`keyword`),onKeyDown:e=>{e.key},className:`h-8 pr-8`,autoComplete:`off`}),(0,g.jsx)(x.Search,{className:`absolute right-2 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`})]}),(0,g.jsx)(P,{size:`sm`,type:`submit`,disabled:r,children:s||p.search.submitText}),(0,g.jsx)(P,{size:`sm`,variant:`outline`,type:`button`,onClick:()=>{te()},children:o||p.search.resetText})]});let re=e.filter(e=>!e.hideInSearch&&(e.search===!0||typeof e.search==`object`));if(re.length===0)return null;let ie=re.length>3,ae=[(0,g.jsxs)(P,{size:`sm`,type:`submit`,disabled:r,children:[(0,g.jsx)(x.Search,{className:`mr-1 h-4 w-4`}),s||p.search.submitText]},`search`),(0,g.jsxs)(P,{size:`sm`,variant:`outline`,type:`button`,onClick:te,children:[(0,g.jsx)(x.RotateCw,{className:`mr-1 h-4 w-4`}),o||p.search.resetText]},`reset`)];ie&&ae.push((0,g.jsx)(P,{size:`sm`,variant:`ghost`,onClick:T,children:w?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(x.ChevronDown,{className:`mr-1 h-4 w-4`}),p.search.expandText]}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(x.ChevronUp,{className:`mr-1 h-4 w-4`}),p.search.collapseText]})},`collapse`));let O=f?f({collapsed:w},y(),ae):ae;return(0,g.jsxs)(`form`,{className:`border-b bg-muted/30 px-4 py-3 overflow-visible`,onSubmit:v(ee),children:[(0,g.jsx)(Yt,{className:N(`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-[80px] overflow-hidden`:`max-h-[500px]`),children:re.map(e=>{let t=e.key||String(e.dataIndex),n=e.formItemProps?.required,r=e.renderFormItem;return r?(0,g.jsx)(D.Controller,{control:h,name:t,render:({field:i,fieldState:a})=>(0,g.jsxs)(Zt,{"data-invalid":a.invalid,children:[(0,g.jsxs)(Qt,{htmlFor:t,className:`text-sm font-medium`,children:[e.title,n&&(0,g.jsx)(`span`,{className:`text-red-500 ml-1`,children:`*`})]}),(0,g.jsx)(`div`,{className:`w-full min-w-0`,children:r(i.value,i.onChange,i,e)}),a.invalid&&(0,g.jsx)($t,{errors:[a.error]})]})},t):(0,g.jsxs)(Zt,{children:[(0,g.jsxs)(Qt,{htmlFor:t,className:`text-sm font-medium`,children:[e.title,n&&(0,g.jsx)(`span`,{className:`text-red-500 ml-1`,children:`*`})]}),(0,g.jsx)(`div`,{className:`w-full min-w-0`,children:E(e)})]},t)})}),(0,g.jsx)(`div`,{className:`mt-3 flex items-center justify-end gap-2`,children:O})]})}var tn=(0,h.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 nn({className:e,variant:t,...n}){return(0,g.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:N(tn({variant:t}),e),...n})}function rn({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`alert-title`,className:N(`col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight`,e),...t})}function R({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`alert-description`,className:N(`text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed`,e),...t})}function an({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)},h=()=>{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,g.jsxs)(`div`,{className:N(`flex items-center gap-2`,u),children:[v&&(0,g.jsxs)(g.Fragment,{children:[n&&(0,g.jsxs)(P,{variant:`destructive`,size:`sm`,onClick:d,disabled:l,className:`h-8`,children:[(0,g.jsx)(x.Trash2,{className:`h-3 w-3 mr-1`}),`删除 (`,e,`)`]}),r&&(0,g.jsxs)(P,{variant:`outline`,size:`sm`,onClick:f,disabled:l,className:`h-8`,children:[(0,g.jsx)(x.Download,{className:`h-3 w-3 mr-1`}),`导出`]}),(i||a)&&(0,g.jsxs)(nt,{children:[(0,g.jsx)(it,{asChild:!0,children:(0,g.jsxs)(P,{variant:`outline`,size:`sm`,disabled:l,className:`h-8`,children:[(0,g.jsx)(x.FileText,{className:`h-3 w-3 mr-1`}),`导出格式`]})}),(0,g.jsxs)(at,{align:`start`,children:[i&&(0,g.jsxs)(st,{onClick:p,children:[(0,g.jsx)(x.FileText,{className:`h-4 w-4 mr-2`}),`Excel (.xlsx)`]}),a&&(0,g.jsxs)(st,{onClick:m,children:[(0,g.jsx)(x.FileText,{className:`h-4 w-4 mr-2`}),`CSV (.csv)`]})]})]}),o&&(0,g.jsxs)(P,{variant:`outline`,size:`sm`,onClick:h,disabled:l,className:`h-8`,children:[(0,g.jsx)(x.Mail,{className:`h-3 w-3 mr-1`}),`发送邮件`]}),s&&(0,g.jsxs)(P,{variant:`outline`,size:`sm`,onClick:_,disabled:l,className:`h-8`,children:[(0,g.jsx)(x.Archive,{className:`h-3 w-3 mr-1`}),`归档`]})]}),y&&(0,g.jsx)(g.Fragment,{children:c.map(e=>(0,g.jsxs)(P,{variant:e.variant||`outline`,size:`sm`,onClick:()=>e.onClick(t),disabled:l,className:`h-8`,children:[e.icon&&(0,g.jsx)(`span`,{className:`mr-1`,children:e.icon}),e.label]},e.key))}),(v||y)&&(0,g.jsxs)(nt,{children:[(0,g.jsx)(it,{asChild:!0,children:(0,g.jsx)(P,{variant:`ghost`,size:`sm`,disabled:l,className:`h-8 w-8 p-0`,children:(0,g.jsx)(x.MoreHorizontal,{className:`h-4 w-4`})})}),(0,g.jsxs)(at,{align:`end`,children:[n&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(st,{onClick:d,className:`text-destructive`,children:[(0,g.jsx)(x.Trash2,{className:`h-4 w-4 mr-2`}),`删除选中项`]}),(0,g.jsx)(ft,{})]}),r&&(0,g.jsxs)(st,{onClick:f,children:[(0,g.jsx)(x.Download,{className:`h-4 w-4 mr-2`}),`导出数据`]}),o&&(0,g.jsxs)(st,{onClick:h,children:[(0,g.jsx)(x.Mail,{className:`h-4 w-4 mr-2`}),`发送邮件`]}),s&&(0,g.jsxs)(st,{onClick:_,children:[(0,g.jsx)(x.Archive,{className:`h-4 w-4 mr-2`}),`归档`]}),c.length>0&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(ft,{}),c.map(e=>(0,g.jsxs)(st,{onClick:()=>e.onClick(t),children:[e.icon&&(0,g.jsx)(`span`,{className:`mr-2`,children:e.icon}),e.label]},e.key))]})]})]})]})}function on({selectedCount:e,selectedRows:t=[],onClear:n,actions:r=[],alwaysShow:i=!1,batchActions:a}){let o=Ct();return(0,g.jsx)(O.AnimatePresence,{children:(i||e>0)&&(0,g.jsx)(O.motion.div,{initial:{opacity:0,y:-6},animate:{opacity:1,y:0},exit:{opacity:0,y:-6},transition:{duration:.18},children:(0,g.jsx)(nn,{className:`mb-4`,children:(0,g.jsxs)(R,{className:`flex items-center justify-between`,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,g.jsx)(`span`,{className:`text-sm leading-none`,children:e>0?(0,g.jsxs)(g.Fragment,{children:[o.batchActions.selected,` `,(0,g.jsx)(`strong`,{children:e}),` row(s)`]}):o.batchActions.selected}),e>0&&(0,g.jsxs)(`div`,{className:`flex items-center gap-1`,children:[a&&(0,g.jsx)(an,{selectedCount:e,selectedRows:t,...a}),r.map((e,t)=>(0,g.jsx)(l.default.Fragment,{children:e},t))]})]}),e>0&&(0,g.jsxs)(P,{variant:`ghost`,size:`sm`,onClick:n,children:[(0,g.jsx)(w.IconX,{className:`mr-1 h-3 w-3`}),o.batchActions.clear]})]})})},`batch-actions`)})}function z({className:e,...t}){return(0,g.jsx)(`textarea`,{"data-slot":`textarea`,className:N(`border-input placeholder: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 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,e),...t})}function B({value:e,record:t,column:n,isEditing:r,onSave:i,onCancel:a,onStartEdit:o}){let[s,c]=(0,l.useState)(e),[u,d]=(0,l.useState)(!0);(0,l.useEffect)(()=>{c(e)},[e]);let f=()=>{u&&i(s)},m=()=>{c(e),a()},h=e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),f()):e.key===`Escape`&&(e.preventDefault(),m())};return r?(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(`div`,{className:`flex-1`,children:(()=>{let{valueType:e,fieldProps:t={}}=n;switch(e){case`text`:return(0,g.jsx)(tt,{value:s||``,onChange:e=>c(e.target.value),onKeyDown:h,className:`h-8`,...t});case`number`:return(0,g.jsx)(tt,{type:`number`,value:s||``,onChange:e=>{let t=e.target.value===``?null:Number(e.target.value);c(t),d(e.target.value===``||!isNaN(Number(e.target.value)))},onKeyDown:h,className:`h-8`,...t});case`select`:let{valueEnum:e}=n;return(0,g.jsxs)(L,{value:s||``,onValueChange:c,children:[(0,g.jsx)(At,{className:`h-8`,children:(0,g.jsx)(kt,{placeholder:`请选择`})}),(0,g.jsx)(jt,{children:e&&Object.entries(e).map(([e,t])=>(0,g.jsx)(Nt,{value:e,children:t.text},e))})]});case`switch`:return(0,g.jsx)(ke,{checked:!!s,onCheckedChange:c,...t});case`date`:return(0,g.jsxs)(Ht,{children:[(0,g.jsx)(Ut,{asChild:!0,children:(0,g.jsxs)(P,{variant:`outline`,className:N(`h-8 justify-start text-left font-normal`,!s&&`text-muted-foreground`),children:[(0,g.jsx)(x.CalendarIcon,{className:`mr-2 h-4 w-4`}),s?(0,p.format)(s,`yyyy-MM-dd`):`选择日期`]})}),(0,g.jsx)(Wt,{className:`w-auto p-0`,children:(0,g.jsx)(Bt,{mode:`single`,selected:s,onSelect:c,initialFocus:!0})})]});case`textarea`:return(0,g.jsx)(z,{value:s||``,onChange:e=>c(e.target.value),onKeyDown:h,className:`min-h-[60px]`,...t});case`money`:return(0,g.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`¥`}),(0,g.jsx)(tt,{type:`number`,value:s||``,onChange:e=>{let t=e.target.value===``?null:Number(e.target.value);c(t),d(e.target.value===``||!isNaN(Number(e.target.value)))},onKeyDown:h,className:`h-8`,placeholder:`0.00`,...t})]});case`percent`:return(0,g.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,g.jsx)(tt,{type:`number`,value:s||``,onChange:e=>{let t=e.target.value===``?null:Number(e.target.value);c(t),d(e.target.value===``||!isNaN(Number(e.target.value)))},onKeyDown:h,className:`h-8`,placeholder:`0`,...t}),(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`%`})]});case`email`:return(0,g.jsx)(tt,{type:`email`,value:s||``,onChange:e=>c(e.target.value),onKeyDown:h,className:`h-8`,placeholder:`example@email.com`,...t});case`phone`:return(0,g.jsx)(tt,{type:`tel`,value:s||``,onChange:e=>c(e.target.value),onKeyDown:h,className:`h-8`,placeholder:`+86 138 0000 0000`,...t});case`url`:return(0,g.jsx)(tt,{type:`url`,value:s||``,onChange:e=>c(e.target.value),onKeyDown:h,className:`h-8`,placeholder:`https://example.com`,...t});default:return(0,g.jsx)(tt,{value:s||``,onChange:e=>c(e.target.value),onKeyDown:h,className:`h-8`,...t})}})()}),(0,g.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,g.jsx)(P,{size:`sm`,variant:`ghost`,className:`h-6 w-6 p-0`,onClick:f,disabled:!u,children:(0,g.jsx)(x.Check,{className:`h-3 w-3`})}),(0,g.jsx)(P,{size:`sm`,variant:`ghost`,className:`h-6 w-6 p-0`,onClick:m,children:(0,g.jsx)(x.X,{className:`h-3 w-3`})})]})]}):(0,g.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 sn({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`empty`,className:N(`flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border-dashed p-6 text-center text-balance md:p-12`,e),...t})}function cn({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`empty-header`,className:N(`flex max-w-sm flex-col items-center gap-2 text-center`,e),...t})}var ln=(0,h.cva)(`flex shrink-0 items-center justify-center mb-2 [&_svg]:pointer-events-none [&_svg]:shrink-0`,{variants:{variant:{default:`bg-transparent`,icon:`bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6`}},defaultVariants:{variant:`default`}});function un({className:e,variant:t=`default`,...n}){return(0,g.jsx)(`div`,{"data-slot":`empty-icon`,"data-variant":t,className:N(ln({variant:t,className:e})),...n})}function dn({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`empty-title`,className:N(`text-lg font-medium tracking-tight`,e),...t})}function fn({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`empty-description`,className:N(`text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4`,e),...t})}function pn({colSpan:e,emptyRender:t}){let n=Ct();return t?(0,g.jsx)(ze,{children:(0,g.jsx)(Ve,{colSpan:e,className:`h-32`,children:t})}):(0,g.jsx)(ze,{children:(0,g.jsx)(Ve,{colSpan:e,className:`h-32`,children:(0,g.jsx)(sn,{children:(0,g.jsxs)(cn,{children:[(0,g.jsx)(un,{variant:`icon`,children:(0,g.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,g.jsx)(`path`,{d:`M3 3h18v18H3zM9 9h6v6H9z`})})}),(0,g.jsx)(dn,{children:n.common.noData}),(0,g.jsx)(fn,{children:`No data available`})]})})})})}function mn({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`skeleton`,className:N(`bg-accent animate-pulse rounded-md`,e),...t})}function V({columnCount:e,draggable:t=!1,rowSelection:n=!1,rowCount:r=5}){return(0,g.jsx)(g.Fragment,{children:[...Array(r)].map((r,i)=>(0,g.jsxs)(ze,{children:[t&&(0,g.jsx)(Ve,{children:(0,g.jsx)(mn,{className:`h-4 w-4`})}),n&&(0,g.jsx)(Ve,{children:(0,g.jsx)(mn,{className:`h-4 w-4`})}),[...Array(e)].map((e,t)=>(0,g.jsx)(Ve,{children:(0,g.jsx)(mn,{className:`h-4 w-full`})},t))]},i))})}function hn({record:e,indent:t=0,hasChild:n,expanded:r,expandable:i,isExpandable:a,onExpand:o}){if(!a||i===!1||i?.showExpandColumn===!1)return null;let s=i?.expandColumnWidth||50;if(!n&&i?.showExpandColumn!==!0)return(0,g.jsx)(Ve,{className:`w-8`,style:{paddingLeft:`${t*24}px`}});let c=()=>{o(e,!r)},l=(0,g.jsx)(P,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0`,onClick:c,disabled:!n,children:n?r?(0,g.jsx)(x.ChevronDown,{className:`h-4 w-4`}):(0,g.jsx)(x.ChevronRight,{className:`h-4 w-4`}):(0,g.jsx)(`span`,{className:`w-4 h-4`})}),u=i?.expandIcon?i.expandIcon({expanded:r,onExpand:c,record:e}):l;return(0,g.jsx)(Ve,{className:`w-8`,style:{width:`${s}px`,paddingLeft:`${t*24}px`},children:u})}function gn({record:e,config:t,editable:n,onEdit:r,onSave:i,onCancel:a,onDelete:o,onAdd:s,onRemove:c}){let{isEditing:u}=t;return n?.actionRender?(0,g.jsx)(`div`,{className:`flex items-center gap-1`,children:n.actionRender(e,t).map((e,t)=>(0,g.jsx)(l.default.Fragment,{children:e},t))}):(0,g.jsx)(`div`,{className:`flex items-center justify-center`,children:(()=>u?(0,g.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,g.jsxs)(P,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:i,children:[(0,g.jsx)(x.Save,{className:`h-3 w-3 mr-1`}),`保存`]}),(0,g.jsxs)(P,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:a,children:[(0,g.jsx)(x.X,{className:`h-3 w-3 mr-1`}),`取消`]})]}):(0,g.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,g.jsxs)(P,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:r,children:[(0,g.jsx)(x.Edit,{className:`h-3 w-3 mr-1`}),`编辑`]}),o&&(0,g.jsx)(P,{size:`sm`,variant:`ghost`,className:`h-7 px-2 text-destructive hover:text-destructive`,onClick:o,title:`删除`,children:(0,g.jsx)(x.Trash2,{className:`h-3 w-3`})}),s&&(0,g.jsx)(P,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:s,children:(0,g.jsx)(x.Plus,{className:`h-3 w-3`})}),c&&(0,g.jsx)(P,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:c,children:(0,g.jsx)(x.Minus,{className:`h-3 w-3`})})]}))()})}function _n({value:e,className:t,size:n=`sm`,showText:r=!1,onCopy:i}){let[a,o]=(0,l.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{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{}}},c={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,g.jsxs)(P,{variant:`ghost`,size:`sm`,className:N(c[n],`hover:bg-muted/50 transition-colors`,t),onClick:s,title:a?`已复制`:`复制`,children:[a?(0,g.jsx)(x.Check,{className:N(u[n],`text-green-600`)}):(0,g.jsx)(x.Copy,{className:N(u[n],`text-muted-foreground`)}),r&&(0,g.jsx)(`span`,{className:`ml-1 text-xs`,children:a?`已复制`:`复制`})]})}var vn=e=>{let t=e.getIsPinned();if(!t)return{};let n=t===`left`&&e.getIsLastColumn(`left`),r=t===`right`&&e.getIsFirstColumn(`right`),i=e.getSize();return{boxShadow:n?`-2px 0 3px -2px rgba(0, 0, 0, 0.06) inset`:r?`2px 0 3px -2px rgba(0, 0, 0, 0.06) inset`:void 0,left:t===`left`?`${e.getStart(`left`)}px`:void 0,right:t===`right`?`${e.getAfter(`right`)}px`:void 0,opacity:.98,position:t?`sticky`:`relative`,zIndex:t?1:0,backgroundColor:`var(--background)`,minWidth:t?`${i}px`:void 0,maxWidth:t?`${i}px`:void 0}};function H({row:e,children:t}){let{attributes:n,listeners:r,setNodeRef:i,transform:a,transition:o,isDragging:s}=(0,ee.useSortable)({id:e.id}),c={transform:te.CSS.Transform.toString(a),transition:o,opacity:s?.5:1};return(0,g.jsxs)(ze,{ref:i,style:c,"data-state":e.getIsSelected&&e.getIsSelected()?`selected`:void 0,...n,children:[(0,g.jsx)(Ve,{className:`w-8`,children:(0,g.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-6 w-6 cursor-move`,...r,children:(0,g.jsx)(x.GripVertical,{className:`h-3 w-3`})})}),t]})}const yn=(0,l.forwardRef)((e,t)=>{let{columns:n=[],className:r,classNames:i,style:a,tableStyle:o,size:s=`middle`,bordered:c=!1,loading:d=!1,toolbar:f,pagination:p,rowSelection:m,draggable:h,editable:_,headerTitle:v,headerSubTitle:y,footer:b,onRow:S,search:C,cardBordered:w=!1,cardProps:te,tableRender:E,tableExtraRender:re,emptyRender:ie,onSubmit:ae,onReset:D,scroll:O,sticky:oe,tableLayout:se,locale:ce,expandable:A,rowKey:le=`id`}=e,[ue,de]=(0,l.useState)(()=>n);(0,l.useEffect)(()=>{de(n)},[n]);let fe={...e,columns:ue},{table:j,state:M,actions:me,handlers:he}=et(fe),{request:ge}=fe,{visibleColumns:_e,setVisibleColumns:ve,columnSettings:ye,updateColumnSettings:be}=F({columns:ue,rowSelection:!!m,draggable:!!h,editable:!!_}),xe=A!==!1&&A!==void 0,Se=A!==!1&&A!==void 0&&A.childrenColumnName||`children`,Ce=typeof le==`function`?le:e=>e[le]||e.id||e.key,we=(0,l.useCallback)(e=>{let t=[];return e.forEach(e=>{t.push(Ce(e));let n=e[Se];n&&Array.isArray(n)&&n.length>0&&t.push(...we(n))}),t},[Se,Ce]),[Te,Ee]=(0,l.useState)(()=>A!==!1&&A!==void 0&&A.defaultExpandAllRows&&M.data.length>0?we(M.data):A!==!1&&A!==void 0&&A.defaultExpandedRowKeys||[]),De=A!==!1&&A!==void 0?A.expandedRowKeys??Te:Te,Oe=A!==!1&&A!==void 0&&A.expandedRowKeys!==void 0;(0,l.useEffect)(()=>{A!==!1&&A!==void 0&&A.defaultExpandAllRows&&M.data.length>0&&!Oe&&Ee(we(M.data))},[M.data,A!==!1&&A!==void 0?A.defaultExpandAllRows:!1,we,Oe]);let ke=(0,l.useCallback)((e,t)=>{let n=Ce(e),r;r=A!==!1&&A!==void 0&&A.accordion?t?[n]:[]:t?[...De,n]:De.filter(e=>e!==n),Oe||Ee(r),A!==!1&&A!==void 0&&(A.onExpand?.(t,e),A.onExpandedRowsChange?.(r))},[De,A,Oe,Ce]),Ae=(0,l.useCallback)(e=>{let t=e[Se];return!!(t&&Array.isArray(t)&&t.length>0)},[Se]),je=(0,l.useCallback)(e=>{let t=Ce(e);return De.includes(t)},[De,Ce]),[Ne,Pe]=(0,l.useState)(s),[Re,He]=(0,l.useState)(!1),Ge=(0,T.useSensors)((0,T.useSensor)(T.PointerSensor),(0,T.useSensor)(T.KeyboardSensor));(0,l.useImperativeHandle)(t,()=>me,[me]);let Ke=e=>{if(h&&typeof h==`object`&&typeof h.onDragEnd==`function`){let{active:t,over:n}=e;if(!n||t.id===n.id)return;let r=j.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=[...M.data],[n]=t.splice(i,1);t.splice(a,0,n);try{me.setTableData(t)}catch{}try{h.onDragEnd({active:{id:e.active.id},over:e.over?{id:e.over.id}:null,items:t,oldIndex:0,newIndex:0})}catch{}}}},qe=()=>{try{j.toggleAllRowsSelected?.(!1)}catch{}me.clearSelected()},Je=e=>{he.handleSearch(e),ae?.(e)},Xe=()=>{he.handleReset(),D?.()},Ze=(e,t)=>{if(j.setColumnFilters(n=>{let r=(Array.isArray(n)?n:[]).filter(t=>t.id!==e);return t.length>0&&r.push({id:e,value:t}),r}),ge){let n={...M.filters};t.length>0?n[e]=t:delete n[e],he.handleSearch(n)}},Qe=e=>{if(j.setColumnFilters(t=>(Array.isArray(t)?t:[]).filter(t=>t.id!==e)),ge){let t={...M.filters};delete t[e],he.handleSearch(t)}},$e=(e,t)=>{if(e===`order`&&Array.isArray(t)){de(t);return}if(typeof e==`string`&&t&&t.fixed!==void 0){let n=e,r=t.fixed;de(e=>e.map(e=>(e.key||String(e.dataIndex))===n?{...e,fixed:r}:e));return}be(e,t)},tt={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`},nt=ue.length+(m?1:0)+(h?1:0),rt=(e,t=0)=>{let n=e.original,r=Ce(n)||e.original.id||e.original.key||e.id,i=M.editingKey===r;return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(hn,{record:n,indent:t,hasChild:Ae(n),expanded:je(n),expandable:A,isExpandable:xe,onExpand:ke}),m&&(0,g.jsx)(Ve,{className:`w-8`,children:(0,g.jsx)(Ue,{checked:e.getIsSelected?.()??!1,onCheckedChange:t=>e.toggleSelected?.(!!t),"aria-label":`Select row`})}),e.getVisibleCells().map(t=>{let n=ue.find(e=>(e.key||String(e.dataIndex))===t.column.id),a=vn(t.column),o=n?.width||t.column.getSize(),s=t.column.getIsPinned();return _&&n?.editable&&i?(0,g.jsx)(Ve,{className:N(`align-middle`,n?.align&&`text-${n.align}`),style:{...a,width:o,...s&&typeof o==`number`?{minWidth:`${o}px`,maxWidth:`${o}px`}:typeof o==`string`&&o.endsWith(`px`)?{minWidth:o,maxWidth:o}:{}},children:(0,g.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,g.jsx)(`div`,{className:`flex-1 min-w-0`,children:(()=>{let a=(0,g.jsx)(`div`,{className:N(n?.ellipsis&&(()=>{if(typeof n.ellipsis==`object`&&n.ellipsis.multiline){let e=n.ellipsis.rows||2;return{1:`line-clamp-1`,2:`line-clamp-2`,3:`line-clamp-3`,4:`line-clamp-4`,5:`line-clamp-5`}[e]||`line-clamp-2`}return`truncate`})()),children:(0,g.jsx)(B,{value:t.getValue(),record:e.original,column:n,isEditing:i,onSave:t=>{let i={...e.original,[n.dataIndex]:t};me.saveEditable(r,i),_?.onSave&&_.onSave(r,i,e.original)},onCancel:()=>me.cancelEditable(r),onStartEdit:()=>me.startEditable(r)})}),o=!!n?.ellipsis;if(n?.tooltip&&!i){let r=typeof n.tooltip==`object`?n.tooltip:{};if(r.disabled)return a;let i;if(typeof n.tooltip==`object`&&r.content!==void 0)i=typeof r.content==`function`?r.content(t.getValue(),e.original,e.index):r.content;else if(o){let r=n?.dataIndex?e.original[n.dataIndex]:t.getValue();i=typeof r==`object`&&r?JSON.stringify(r,null,2):String(r??``)}else i=t.getValue();return(0,g.jsxs)(vt,{delayDuration:r.delayDuration,children:[(0,g.jsx)(yt,{asChild:!0,children:a}),(0,g.jsx)(I,{side:r.side||`top`,align:r.align,children:i})]})}return a})()})})},t.id):(0,g.jsx)(Ve,{className:N(`align-middle`,n?.align&&`text-${n.align}`),style:{...a,width:o,...s&&typeof o==`number`?{minWidth:`${o}px`,maxWidth:`${o}px`}:typeof o==`string`&&o.endsWith(`px`)?{minWidth:o,maxWidth:o}:{}},children:(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(`div`,{className:`flex-1 min-w-0`,children:(()=>{let r=(0,g.jsx)(`div`,{className:N(n?.ellipsis&&(()=>{if(typeof n.ellipsis==`object`&&n.ellipsis.multiline){let e=n.ellipsis.rows||2;return{1:`line-clamp-1`,2:`line-clamp-2`,3:`line-clamp-3`,4:`line-clamp-4`,5:`line-clamp-5`}[e]||`line-clamp-2`}return`truncate`})()),children:n?.valueType?Me(n.valueType,t.getValue(),n):(0,u.flexRender)(t.column.columnDef.cell,t.getContext())}),i=!!n?.ellipsis;if(n?.tooltip){let a=typeof n.tooltip==`object`?n.tooltip:{};if(a.disabled)return r;let o;if(typeof n.tooltip==`object`&&a.content!==void 0)o=typeof a.content==`function`?a.content(t.getValue(),e.original,e.index):a.content;else if(i){let r=n?.dataIndex?e.original[n.dataIndex]:t.getValue();o=typeof r==`object`&&r?JSON.stringify(r,null,2):String(r??``)}else o=t.getValue();return(0,g.jsxs)(vt,{delayDuration:a.delayDuration,children:[(0,g.jsx)(yt,{asChild:!0,children:r}),(0,g.jsx)(I,{side:a.side||`top`,align:a.align,children:o})]})}return r})()}),n?.copyable&&(()=>{let r=(typeof n.copyable==`object`?n.copyable:null)?.onCopy;return(0,g.jsx)(_n,{value:t.getValue(),size:`sm`,onCopy:r?t=>{r(t,e.original,e.index)}:void 0})})()]})},t.id)}),_&&(0,g.jsx)(Ve,{className:`w-32`,children:(0,g.jsx)(gn,{record:e.original,config:{isEditing:i,editingKey:M.editingKey||``},editable:_,onEdit:()=>me.startEditable(r),onSave:()=>{me.cancelEditable(r)},onCancel:()=>me.cancelEditable(r),onDelete:_.onDelete?()=>{_.onDelete&&_.onDelete(r,e.original)}:void 0})})]})},it=(e,t=0)=>{let n=Ce(e),r=Ae(e),i=je(e),a=e[Se],o={id:String(n),original:e,index:M.data.findIndex(e=>Ce(e)===n),getIsSelected:()=>{try{return j.getRow(String(n))?.getIsSelected()??!1}catch{return!1}},toggleSelected:e=>{try{let t=j.getRow(String(n));t&&t.toggleSelected(e)}catch{}},getVisibleCells:()=>ue.filter(e=>!e.hideInTable).map(t=>{let n=t.key||String(t.dataIndex),r=t.dataPath||t.dataIndex,i=()=>{if(r)return pe(e,Array.isArray(r)||typeof r==`string`?r:String(r))},a=null;try{a=j.getColumn(n)}catch{a={id:n,getCanSort:()=>!!t.sorter,getIsSorted:()=>!1,columnDef:{cell:({getValue:n})=>{let r=n();return t.render?t.render(r,e,o.index):r}}}}let s=a||{id:n,getCanSort:()=>!!t.sorter,getIsSorted:()=>!1,columnDef:{cell:({getValue:n})=>{let r=n();return t.render?t.render(r,e,o.index):r}}},c={id:`${o.id}_${n}`,column:s,getValue:i,row:o,getContext:()=>({row:o,column:s,cell:c,getValue:i,renderValue:e=>e,table:j})};return c})},s=S?.(e,t)||{},c=[];return h?c.push((0,g.jsx)(H,{row:o,children:rt(o,t)},o.id)):c.push((0,g.jsx)(ze,{"data-state":o.getIsSelected&&o.getIsSelected()?`selected`:void 0,...s,children:rt(o,t)},o.id)),i&&r&&a&&a.length>0&&a.forEach(e=>{c.push(...it(e,t+1))}),c},at=(e,t)=>{let n=S?.(e.original,t)||{};return h?(0,g.jsx)(H,{row:e,children:rt(e,0)},e.id):(0,g.jsx)(ze,{"data-state":e.getIsSelected&&e.getIsSelected()?`selected`:void 0,...n,children:rt(e,0)},e.id)},ot=(0,g.jsx)(`div`,{className:N(`relative`,O?.x&&`overflow-x-auto`,O?.y&&`overflow-y-auto`,i?.container),children:(0,g.jsx)(`div`,{className:N(`rounded-md`,c&&`border`,i?.wrapper),style:{maxWidth:O?.x?`${O.x}px`:void 0,overflowX:O?.x?`auto`:void 0,maxHeight:O?.y?`${O.y}px`:void 0},children:(0,g.jsx)(T.DndContext,{sensors:Ge,collisionDetection:T.closestCenter,modifiers:[ne.restrictToVerticalAxis],onDragEnd:Ke,children:(0,g.jsxs)(Fe,{className:N(tt[Ne],oe&&`sticky-header`,i?.table),style:{...o,width:`100%`,tableLayout:se||(O?.x?`fixed`:`auto`),maxWidth:O?.x?`${O.x}px`:void 0,...oe&&{position:`relative`}},children:[(0,g.jsx)(Ie,{className:N(oe&&`sticky top-0 z-10 bg-background`,i?.tableHeader),style:oe?{position:`sticky`,top:typeof oe==`object`&&oe.offsetHeader||0,zIndex:10}:void 0,children:j.getHeaderGroups().map(e=>(0,g.jsxs)(ze,{children:[xe&&A?.showExpandColumn!==!1&&(0,g.jsx)(Be,{className:`w-8`,style:{width:`${A?.expandColumnWidth||50}px`}}),h&&(0,g.jsx)(Be,{className:`w-8`}),m&&(0,g.jsx)(Be,{className:`w-8`,children:(0,g.jsx)(Ue,{checked:j.getIsAllPageRowsSelected?.()??!1,onCheckedChange:e=>j.toggleAllPageRowsSelected?.(!!e),"aria-label":`Select all`})}),e.headers.map((e,t)=>{let n=ue.find(t=>(t.key||String(t.dataIndex))===e.column.id),r=vn(e.column),i=n?.headerEllipsis??n?.ellipsis,a=n?.headerTooltip??n?.tooltip,o=n?.width||e.column.getSize(),s=e.column.getIsPinned();return(0,g.jsx)(Be,{style:{...r,width:o,...s&&typeof o==`number`?{minWidth:`${o}px`,maxWidth:`${o}px`}:typeof o==`string`&&o.endsWith(`px`)?{minWidth:o,maxWidth:o}:{}},className:N(`font-medium`,n?.align&&`text-${n.align}`,i&&`whitespace-normal`),children:e.isPlaceholder?null:(0,g.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(()=>{let r=(0,u.flexRender)(e.column.columnDef.header,e.getContext()),o=(0,g.jsx)(`span`,{className:N(`flex-1 min-w-0`,i&&(()=>{if(typeof i==`object`&&i.multiline){let e=i.rows||2;return{1:`line-clamp-1`,2:`line-clamp-2`,3:`line-clamp-3`,4:`line-clamp-4`,5:`line-clamp-5`}[e]||`line-clamp-2`}return`truncate`})()),children:r});if(a){let e=typeof a==`object`?a:{};if(e.disabled)return o;let i;return i=typeof a==`object`&&e.content!==void 0?typeof e.content==`function`?e.content(r,n||{},t):e.content:r,(0,g.jsxs)(vt,{delayDuration:e.delayDuration,children:[(0,g.jsx)(yt,{asChild:!0,children:o}),(0,g.jsx)(I,{side:e.side||`top`,align:e.align,children:i})]})}return o})(),(0,g.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0`,children:[e.column.getCanSort()&&(0,g.jsxs)(P,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0 hover:bg-muted`,onClick:()=>e.column.toggleSorting(),children:[e.column.getIsSorted()===`asc`&&(0,g.jsx)(x.ArrowUp,{className:`h-3 w-3`}),e.column.getIsSorted()===`desc`&&(0,g.jsx)(x.ArrowDown,{className:`h-3 w-3`}),!e.column.getIsSorted()&&(0,g.jsx)(x.ArrowUpDown,{className:`h-3 w-3 opacity-50`})]}),n?.filters&&n.filters.length>0&&(0,g.jsx)(Dt,{column:{key:n.key,dataIndex:String(n.dataIndex),title:n.title,filters:n.filters},value:Array.isArray(j.getColumn(n.key||String(n.dataIndex))?.getFilterValue())?j.getColumn(n.key||String(n.dataIndex))?.getFilterValue():[],onChange:e=>Ze(n.key||String(n.dataIndex),e),onClear:()=>Qe(n.key||String(n.dataIndex))})]})]})},e.id)})]},e.id))}),(0,g.jsx)(Le,{className:N(i?.tableBody),children:d?(0,g.jsx)(V,{columnCount:ue.length,draggable:!!h,rowSelection:!!m}):M.data.length===0?(0,g.jsx)(pn,{colSpan:nt,emptyRender:ie}):h?(0,g.jsx)(ee.SortableContext,{items:j.getRowModel().rows.map(e=>e.id),strategy:ee.verticalListSortingStrategy,children:j.getRowModel().rows.map((e,t)=>at(e,t))}):xe?(0,g.jsx)(g.Fragment,{children:M.data.map(e=>{let t=it(e,0);return(0,g.jsx)(l.Fragment,{children:t},Ce(e))})}):j.getRowModel().rows.map((e,t)=>at(e,t))})]})})})}),st=E?E(e,ot,{toolbar:f!==!1,search:C!==!1,table:!0}):ot,ct=N(`flex flex-col gap-4 transition-all duration-300 ease-in-out`,Re?`fixed inset-0 z-50 bg-background p-4 transform scale-100`:`transform scale-100`,r),lt=(0,g.jsx)(St,{locale:ce,children:(0,g.jsxs)(`div`,{className:ct,style:a,children:[C!==!1&&(()=>{let e=k(ue);return e.length>0||typeof C==`object`&&C?(0,g.jsx)(en,{...typeof C==`object`?C:{},columns:e,onSearch:Je,onReset:Xe,loading:M.loading}):null})(),f!==!1&&(0,g.jsx)(Et,{...typeof f==`object`?f:{},title:v,subTitle:y,table:j,columns:ue,loading:M.loading,onReload:()=>me.reload(),fullScreen:Re,onFullScreenChange:He,density:Ne,onDensityChange:Pe,visibleColumns:_e,onVisibleColumnsChange:ve,columnSettings:ye,onColumnSettingsChange:$e}),m&&(0,g.jsx)(on,{selectedCount:j.getFilteredSelectedRowModel().rows.length,selectedRows:j.getFilteredSelectedRowModel().rows.map(e=>e.original),onClear:qe,alwaysShow:m.alwaysShowAlert,batchActions:m.batchActions}),re?.(e,M.data),st,b&&(0,g.jsx)(`div`,{className:`px-4`,children:b(M.data)}),p!==!1&&(0,g.jsx)(zt,{...typeof p==`object`?p:{},current:M.current,pageSize:M.pageSize,total:M.total,onPaginationChange:he.handlePaginationChange})]})});return w?(0,g.jsx)(We,{...te,className:N(te?.className),children:(0,g.jsx)(Ye,{children:lt})}):lt});var bn=new Map;function xn(e,t={}){let{manual:n=!1,defaultParams:r={},onSuccess:i,onError:a,debounceWait:o=0,retryCount:s=0,cacheKey:c,cacheTime:u=300*1e3}=t,[d,f]=(0,l.useState)([]),[p,m]=(0,l.useState)(!n),[h,g]=(0,l.useState)(null),[_,v]=(0,l.useState)(0),y=(0,l.useRef)(r),b=(0,l.useRef)(0),x=(0,l.useRef)(null),S=(0,l.useRef)(null),C=(0,l.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,c){let e=bn.get(c);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),c&&bn.set(c,{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,c,u]),w=(0,l.useCallback)(async()=>{await C(y.current)},[C]),T=(0,l.useCallback)(()=>{x.current&&x.current.abort(),S.current&&clearTimeout(S.current),m(!1)},[]),ee=(0,l.useCallback)(e=>{f(e),v(e.length)},[]);return(0,l.useEffect)(()=>(n||C(),()=>{T()}),[]),{data:d,loading:p,error:h,total:_,run:C,refresh:w,cancel:T,mutate:ee}}const Sn={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=nn,exports.AlertDescription=R,exports.AlertTitle=rn,exports.Avatar=Ee,exports.AvatarFallback=Oe,exports.AvatarImage=De,exports.Badge=Te,exports.BatchActions=on,exports.Button=P,exports.Calendar=Bt,exports.CalendarDayButton=Vt,exports.Card=We,exports.CardAction=Je,exports.CardContent=Ye,exports.CardDescription=qe,exports.CardFooter=Xe,exports.CardHeader=Ge,exports.CardTitle=Ke,exports.Checkbox=Ue,exports.ColumnSetting=Tt,exports.DatePicker=Kt,exports.DateRangePicker=qt,exports.DropdownMenu=nt,exports.DropdownMenuCheckboxItem=ct,exports.DropdownMenuContent=at,exports.DropdownMenuGroup=ot,exports.DropdownMenuItem=st,exports.DropdownMenuLabel=dt,exports.DropdownMenuPortal=rt,exports.DropdownMenuRadioGroup=lt,exports.DropdownMenuRadioItem=ut,exports.DropdownMenuSeparator=ft,exports.DropdownMenuShortcut=pt,exports.DropdownMenuSub=mt,exports.DropdownMenuSubContent=gt,exports.DropdownMenuSubTrigger=ht,exports.DropdownMenuTrigger=it,exports.Input=tt,exports.Label=Jt,exports.Pagination=zt,exports.Popover=Ht,exports.PopoverAnchor=Gt,exports.PopoverContent=Wt,exports.PopoverTrigger=Ut,exports.ProTable=yn,exports.Progress=Ae,exports.Search=en,exports.Select=L,exports.SelectContent=jt,exports.SelectGroup=Ot,exports.SelectItem=Nt,exports.SelectLabel=Mt,exports.SelectScrollDownButton=It,exports.SelectScrollUpButton=Ft,exports.SelectSeparator=Pt,exports.SelectTrigger=At,exports.SelectValue=kt,exports.Skeleton=mn,exports.Switch=ke,exports.Table=Fe,exports.TableBody=Le,exports.TableCaption=He,exports.TableCell=Ve,exports.TableFooter=Re,exports.TableHead=Be,exports.TableHeader=Ie,exports.TableRow=ze,exports.ToolBar=Et,exports.Tooltip=vt,exports.TooltipContent=I,exports.TooltipProvider=_t,exports.TooltipTrigger=yt,exports.badgeVariants=we,exports.buttonVariants=Ze,exports.cn=N,exports.copyToClipboard=j,exports.debounce=ue,exports.deepMerge=le,exports.en_US=bt,exports.extractSearchColumns=k,exports.extractTableColumns=ce,exports.formatFileSize=be,exports.formatNumber=fe,exports.generateId=A,exports.generateRandomColor=xe,exports.getColumnDataPath=me,exports.getColumnId=he,exports.getNestedValue=pe,exports.groupBy=ve,exports.isEmpty=M,exports.parseQueryString=Se,exports.registerValueType=Pe,exports.renderFormItem=Ne,exports.renderValue=Me,exports.setNestedValue=ge,exports.sleep=ye,exports.stringifyQuery=Ce,exports.throttle=de,exports.uniqueArray=_e,exports.useColumns=F,exports.useProTable=et,exports.useRequest=xn,exports.zh_CN=Sn;
|
|
20
|
+
}`;var _=Ef(function(){return vt(o,h+`return `+p).apply(n,c)});if(_.source=p,Tu(_))throw _;return _}function gf(e){return $(e).toLowerCase()}function _f(e){return $(e).toUpperCase()}function vf(e,t,r){if(e=$(e),e&&(r||t===n))return $n(e);if(!e||!(t=Ba(t)))return e;var i=xr(e),a=xr(t),o=rr(i,a),s=ir(i,a)+1;return Qa(i,o,s).join(``)}function yf(e,t,r){if(e=$(e),e&&(r||t===n))return e.slice(0,Sr(e)+1);if(!e||!(t=Ba(t)))return e;var i=xr(e),a=ir(i,xr(t))+1;return Qa(i,0,a).join(``)}function bf(e,t,r){if(e=$(e),e&&(r||t===n))return e.replace(et,``);if(!e||!(t=Ba(t)))return e;var i=xr(e),a=rr(i,xr(t));return Qa(i,a).join(``)}function xf(e,t){var r=ee,i=te;if(X(t)){var a=`separator`in t?t.separator:a;r=`length`in t?Q(t.length):r,i=`omission`in t?Ba(t.omission):i}e=$(e);var o=e.length;if(ur(e)){var s=xr(e);o=s.length}if(r>=o)return e;var c=r-br(i);if(c<1)return i;var l=s?Qa(s,0,c).join(``):e.slice(0,c);if(a===n)return l+i;if(s&&(c+=l.length-c),zu(a)){if(e.slice(c).search(a)){var u,d=l;for(a.global||(a=bt(a.source,$(ct.exec(a))+`g`)),a.lastIndex=0;u=a.exec(d);)var f=u.index;l=l.slice(0,f===n?c:f)}}else if(e.indexOf(Ba(a),c)!=c){var p=l.lastIndexOf(a);p>-1&&(l=l.slice(0,p))}return l+i}function Sf(e){return e=$(e),e&&Ge.test(e)?e.replace(Ue,Cr):e}var Cf=xo(function(e,t,n){return e+(n?` `:``)+t.toUpperCase()}),wf=bo(`toUpperCase`);function Tf(e,t,r){return e=$(e),t=r?n:t,t===n?dr(e)?Er(e):zn(e):e.match(t)||[]}var Ef=K(function(e,t){try{return Tn(e,n,t)}catch(e){return Tu(e)?e:new _t(e)}}),Df=Go(function(e,t){return Dn(t,function(t){t=zs(t),Si(e,t,Bl(e[t],e))}),e});function Of(e){var t=e==null?0:e.length,n=q();return e=t?U(e,function(e){if(typeof e[1]!=`function`)throw new St(o);return[n(e[0]),e[1]]}):[],K(function(n){for(var r=-1;++r<t;){var i=e[r];if(Tn(i[0],this,n))return Tn(i[1],this,n)}})}function kf(e){return Ei(Ti(e,d))}function Af(e){return function(){return e}}function jf(e,t){return e==null||e!==e?t:e}var Mf=To(),Nf=To(!0);function Pf(e){return e}function Ff(e){return la(typeof e==`function`?e:Ti(e,d))}function If(e){return ma(Ti(e,d))}function Lf(e,t){return ha(e,Ti(t,d))}var Rf=K(function(e,t){return function(n){return Zi(n,e,t)}}),zf=K(function(e,t){return function(n){return Zi(e,n,t)}});function Bf(e,t,n){var r=wd(t),i=Vi(t,r);n==null&&!(X(t)&&(i.length||!r.length))&&(n=t,t=e,e=this,i=Vi(t,wd(t)));var a=!(X(n)&&`chain`in n)||!!n.chain,o=Du(e);return Dn(i,function(n){var r=t[n];e[n]=r,o&&(e.prototype[n]=function(){var t=this.__chain__;if(a||t){var n=e(this.__wrapped__);return(n.__actions__=uo(this.__actions__)).push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,Nn([this.value()],arguments))})}),e}function Vf(){return V._===this&&(V._=Mt),this}function Hf(){}function Uf(e){return e=Q(e),K(function(t){return va(t,e)})}var Wf=ko(U),Gf=ko(kn),Kf=ko(In);function qf(e){return gs(e)?Kn(zs(e)):Sa(e)}function Jf(e){return function(t){return e==null?n:Hi(e,t)}}var Yf=Mo(),Xf=Mo(!0);function Zf(){return[]}function Qf(){return!1}function $f(){return{}}function ep(){return``}function tp(){return!0}function np(e,t){if(e=Q(e),e<1||e>O)return[];var n=k,r=sn(e,k);t=q(t),e-=k;for(var i=Zn(r,t);++n<e;)t(n);return i}function rp(e){return J(e)?U(e,zs):Uu(e)?[e]:uo(Rs($(e)))}function ip(e){var t=++Ot;return $(e)+t}var ap=Oo(function(e,t){return e+t},0),op=Fo(`ceil`),sp=Oo(function(e,t){return e/t},1),cp=Fo(`floor`);function lp(e){return e&&e.length?Ni(e,Pf,Gi):n}function up(e,t){return e&&e.length?Ni(e,q(t,2),Gi):n}function dp(e){return Gn(e,Pf)}function fp(e,t){return Gn(e,q(t,2))}function pp(e){return e&&e.length?Ni(e,Pf,fa):n}function mp(e,t){return e&&e.length?Ni(e,q(t,2),fa):n}var hp=Oo(function(e,t){return e*t},1),gp=Fo(`round`),_p=Oo(function(e,t){return e-t},0);function vp(e){return e&&e.length?Xn(e,Pf):0}function yp(e,t){return e&&e.length?Xn(e,q(t,2)):0}return W.after=Ll,W.ary=Rl,W.assign=nd,W.assignIn=rd,W.assignInWith=id,W.assignWith=ad,W.at=od,W.before=zl,W.bind=Bl,W.bindAll=Df,W.bindKey=Vl,W.castArray=ou,W.chain=$c,W.chunk=Us,W.compact=Ws,W.concat=Gs,W.cond=Of,W.conforms=kf,W.constant=Af,W.countBy=ul,W.create=sd,W.curry=Hl,W.curryRight=Ul,W.debounce=Wl,W.defaults=cd,W.defaultsDeep=ld,W.defer=Gl,W.delay=Kl,W.difference=Ks,W.differenceBy=qs,W.differenceWith=Js,W.drop=Ys,W.dropRight=Xs,W.dropRightWhile=Zs,W.dropWhile=Qs,W.fill=$s,W.filter=fl,W.flatMap=hl,W.flatMapDeep=gl,W.flatMapDepth=_l,W.flatten=nc,W.flattenDeep=rc,W.flattenDepth=ic,W.flip=ql,W.flow=Mf,W.flowRight=Nf,W.fromPairs=ac,W.functions=gd,W.functionsIn=_d,W.groupBy=bl,W.initial=cc,W.intersection=lc,W.intersectionBy=uc,W.intersectionWith=dc,W.invert=xd,W.invertBy=Sd,W.invokeMap=Sl,W.iteratee=Ff,W.keyBy=Cl,W.keys=wd,W.keysIn=Td,W.map=wl,W.mapKeys=Ed,W.mapValues=Dd,W.matches=If,W.matchesProperty=Lf,W.memoize=Jl,W.merge=Od,W.mergeWith=kd,W.method=Rf,W.methodOf=zf,W.mixin=Bf,W.negate=Yl,W.nthArg=Uf,W.omit=Ad,W.omitBy=jd,W.once=Xl,W.orderBy=Tl,W.over=Wf,W.overArgs=Zl,W.overEvery=Gf,W.overSome=Kf,W.partial=Ql,W.partialRight=$l,W.partition=El,W.pick=Md,W.pickBy=Nd,W.property=qf,W.propertyOf=Jf,W.pull=gc,W.pullAll=_c,W.pullAllBy=vc,W.pullAllWith=yc,W.pullAt=bc,W.range=Yf,W.rangeRight=Xf,W.rearg=eu,W.reject=kl,W.remove=xc,W.rest=tu,W.reverse=Sc,W.sampleSize=jl,W.set=Fd,W.setWith=Id,W.shuffle=Ml,W.slice=Cc,W.sortBy=Fl,W.sortedUniq=Ac,W.sortedUniqBy=jc,W.split=ff,W.spread=nu,W.tail=Mc,W.take=Nc,W.takeRight=Pc,W.takeRightWhile=Fc,W.takeWhile=Ic,W.tap=el,W.throttle=ru,W.thru=tl,W.toArray=Xu,W.toPairs=Ld,W.toPairsIn=Rd,W.toPath=rp,W.toPlainObject=ed,W.transform=zd,W.unary=iu,W.union=Lc,W.unionBy=Rc,W.unionWith=zc,W.uniq=Bc,W.uniqBy=Vc,W.uniqWith=Hc,W.unset=Bd,W.unzip=Uc,W.unzipWith=Wc,W.update=Vd,W.updateWith=Hd,W.values=Ud,W.valuesIn=Wd,W.without=Gc,W.words=Tf,W.wrap=au,W.xor=Kc,W.xorBy=qc,W.xorWith=Jc,W.zip=Yc,W.zipObject=Xc,W.zipObjectDeep=Zc,W.zipWith=Qc,W.entries=Ld,W.entriesIn=Rd,W.extend=rd,W.extendWith=id,Bf(W,W),W.add=ap,W.attempt=Ef,W.camelCase=Jd,W.capitalize=Yd,W.ceil=op,W.clamp=Gd,W.clone=su,W.cloneDeep=lu,W.cloneDeepWith=uu,W.cloneWith=cu,W.conformsTo=du,W.deburr=Xd,W.defaultTo=jf,W.divide=sp,W.endsWith=Zd,W.eq=fu,W.escape=Qd,W.escapeRegExp=$d,W.every=dl,W.find=pl,W.findIndex=ec,W.findKey=ud,W.findLast=ml,W.findLastIndex=tc,W.findLastKey=dd,W.floor=cp,W.forEach=vl,W.forEachRight=yl,W.forIn=fd,W.forInRight=pd,W.forOwn=md,W.forOwnRight=hd,W.get=vd,W.gt=pu,W.gte=mu,W.has=yd,W.hasIn=bd,W.head=oc,W.identity=Pf,W.includes=xl,W.indexOf=sc,W.inRange=Kd,W.invoke=Cd,W.isArguments=hu,W.isArray=J,W.isArrayBuffer=gu,W.isArrayLike=_u,W.isArrayLikeObject=Y,W.isBoolean=vu,W.isBuffer=yu,W.isDate=bu,W.isElement=xu,W.isEmpty=Su,W.isEqual=Cu,W.isEqualWith=wu,W.isError=Tu,W.isFinite=Eu,W.isFunction=Du,W.isInteger=Ou,W.isLength=ku,W.isMap=Au,W.isMatch=ju,W.isMatchWith=Mu,W.isNaN=Nu,W.isNative=Pu,W.isNil=Iu,W.isNull=Fu,W.isNumber=Lu,W.isObject=X,W.isObjectLike=Z,W.isPlainObject=Ru,W.isRegExp=zu,W.isSafeInteger=Bu,W.isSet=Vu,W.isString=Hu,W.isSymbol=Uu,W.isTypedArray=Wu,W.isUndefined=Gu,W.isWeakMap=Ku,W.isWeakSet=qu,W.join=fc,W.kebabCase=ef,W.last=pc,W.lastIndexOf=mc,W.lowerCase=tf,W.lowerFirst=nf,W.lt=Ju,W.lte=Yu,W.max=lp,W.maxBy=up,W.mean=dp,W.meanBy=fp,W.min=pp,W.minBy=mp,W.stubArray=Zf,W.stubFalse=Qf,W.stubObject=$f,W.stubString=ep,W.stubTrue=tp,W.multiply=hp,W.nth=hc,W.noConflict=Vf,W.noop=Hf,W.now=Il,W.pad=rf,W.padEnd=af,W.padStart=sf,W.parseInt=cf,W.random=qd,W.reduce=Dl,W.reduceRight=Ol,W.repeat=lf,W.replace=uf,W.result=Pd,W.round=gp,W.runInContext=e,W.sample=Al,W.size=Nl,W.snakeCase=df,W.some=Pl,W.sortedIndex=wc,W.sortedIndexBy=Tc,W.sortedIndexOf=Ec,W.sortedLastIndex=Dc,W.sortedLastIndexBy=Oc,W.sortedLastIndexOf=kc,W.startCase=pf,W.startsWith=mf,W.subtract=_p,W.sum=vp,W.sumBy=yp,W.template=hf,W.times=np,W.toFinite=Zu,W.toInteger=Q,W.toLength=Qu,W.toLower=gf,W.toNumber=$u,W.toSafeInteger=td,W.toString=$,W.toUpper=_f,W.trim=vf,W.trimEnd=yf,W.trimStart=bf,W.truncate=xf,W.unescape=Sf,W.uniqueId=ip,W.upperCase=Cf,W.upperFirst=wf,W.each=vl,W.eachRight=yl,W.first=oc,Bf(W,function(){var e={};return zi(W,function(t,n){L.call(W.prototype,n)||(e[n]=t)}),e}(),{chain:!1}),W.VERSION=r,Dn([`bind`,`bindKey`,`curry`,`curryRight`,`partial`,`partialRight`],function(e){W[e].placeholder=W}),Dn([`drop`,`take`],function(e,t){G.prototype[e]=function(r){r=r===n?1:R(Q(r),0);var i=this.__filtered__&&!t?new G(this):this.clone();return i.__filtered__?i.__takeCount__=sn(r,i.__takeCount__):i.__views__.push({size:sn(r,k),type:e+(i.__dir__<0?`Right`:``)}),i},G.prototype[e+`Right`]=function(t){return this.reverse()[e](t).reverse()}}),Dn([`filter`,`map`,`takeWhile`],function(e,t){var n=t+1,r=n==re||n==ae;G.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:q(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}}),Dn([`head`,`last`],function(e,t){var n=`take`+(t?`Right`:``);G.prototype[e]=function(){return this[n](1).value()[0]}}),Dn([`initial`,`tail`],function(e,t){var n=`drop`+(t?``:`Right`);G.prototype[e]=function(){return this.__filtered__?new G(this):this[n](1)}}),G.prototype.compact=function(){return this.filter(Pf)},G.prototype.find=function(e){return this.filter(e).head()},G.prototype.findLast=function(e){return this.reverse().find(e)},G.prototype.invokeMap=K(function(e,t){return typeof e==`function`?new G(this):this.map(function(n){return Zi(n,e,t)})}),G.prototype.reject=function(e){return this.filter(Yl(q(e)))},G.prototype.slice=function(e,t){e=Q(e);var r=this;return r.__filtered__&&(e>0||t<0)?new G(r):(e<0?r=r.takeRight(-e):e&&(r=r.drop(e)),t!==n&&(t=Q(t),r=t<0?r.dropRight(-t):r.take(t-e)),r)},G.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},G.prototype.toArray=function(){return this.take(k)},zi(G.prototype,function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),a=W[i?`take`+(t==`last`?`Right`:``):t],o=i||/^find/.test(t);a&&(W.prototype[t]=function(){var t=this.__wrapped__,s=i?[1]:arguments,c=t instanceof G,l=s[0],u=c||J(t),d=function(e){var t=a.apply(W,Nn([e],s));return i&&f?t[0]:t};u&&r&&typeof l==`function`&&l.length!=1&&(c=u=!1);var f=this.__chain__,p=!!this.__actions__.length,m=o&&!f,h=c&&!p;if(!o&&u){t=h?t:new G(this);var g=e.apply(t,s);return g.__actions__.push({func:tl,args:[d],thisArg:n}),new Fr(g,f)}return m&&h?e.apply(this,s):(g=this.thru(d),m?i?g.value()[0]:g.value():g)})}),Dn([`pop`,`push`,`shift`,`sort`,`splice`,`unshift`],function(e){var t=Ct[e],n=/^(?:push|sort|unshift)$/.test(e)?`tap`:`thru`,r=/^(?:pop|shift)$/.test(e);W.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(J(i)?i:[],e)}return this[n](function(n){return t.apply(J(n)?n:[],e)})}}),zi(G.prototype,function(e,t){var n=W[t];if(n){var r=n.name+``;L.call(qn,r)||(qn[r]=[]),qn[r].push({name:t,func:n})}}),qn[Eo(n,_).name]=[{name:`wrapper`,func:n}],G.prototype.clone=Ir,G.prototype.reverse=Lr,G.prototype.value=Rr,W.prototype.at=nl,W.prototype.chain=rl,W.prototype.commit=il,W.prototype.next=al,W.prototype.plant=sl,W.prototype.reverse=cl,W.prototype.toJSON=W.prototype.valueOf=W.prototype.value=ll,W.prototype.first=W.prototype.head,Ut&&(W.prototype[Ut]=ol),W})();typeof define==`function`&&typeof define.amd==`object`&&define.amd?(V._=Dr,define(function(){return Dr})):gn?((gn.exports=Dr)._=Dr,hn._=Dr):V._=Dr}).call(e)})),se=c(oe());function k(e){return e.filter(e=>!e.hideInSearch&&(e.search===!0||typeof e.search==`object`))}function ce(e){return e.filter(e=>!e.hideInTable)}function A(e=`id`){return`${e}_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}function le(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]=le(a,i):n[r]=i}),n}function ue(e,t){let n=null;return function(...r){n&&clearTimeout(n),n=setTimeout(()=>e(...r),t)}}function de(e,t){let n=!1;return function(...r){n||(e(...r),n=!0,setTimeout(()=>n=!1,t))}}function fe(e,t=2){return new Intl.NumberFormat(`en-US`,{minimumFractionDigits:t,maximumFractionDigits:t}).format(e)}async function j(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 M(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 pe(e,t,n){return t?(0,se.get)(e,t,n):e}function me(e){if(e.dataPath)return e.dataPath;if(e.dataIndex)return Array.isArray(e.dataIndex)||typeof e.dataIndex==`string`?e.dataIndex:String(e.dataIndex)}function he(e){if(e.key)return e.key;let t=me(e);return t?Array.isArray(t)?t.join(`.`):String(t):``}function ge(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 _e(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 ve(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 ye(e){return new Promise(t=>setTimeout(t,e))}function be(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 xe(){return`#`+Math.floor(Math.random()*16777215).toString(16).padStart(6,`0`)}function Se(e){let t={};return new URLSearchParams(e).forEach((e,n)=>{t[n]=e}),t}function Ce(e){let t=new URLSearchParams;return Object.entries(e).forEach(([e,n])=>{n!=null&&t.append(e,String(n))}),t.toString()}var we=(0,h.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 Te({className:e,variant:t,asChild:n=!1,...r}){return(0,g.jsx)(n?m.Slot:`span`,{"data-slot":`badge`,className:N(we({variant:t}),e),...r})}function Ee({className:e,...t}){return(0,g.jsx)(_.Root,{"data-slot":`avatar`,className:N(`relative flex size-8 shrink-0 overflow-hidden rounded-full`,e),...t})}function De({className:e,...t}){return(0,g.jsx)(_.Image,{"data-slot":`avatar-image`,className:N(`aspect-square size-full`,e),...t})}function Oe({className:e,...t}){return(0,g.jsx)(_.Fallback,{"data-slot":`avatar-fallback`,className:N(`bg-muted flex size-full items-center justify-center rounded-full`,e),...t})}function ke({className:e,...t}){return(0,g.jsx)(v.Root,{"data-slot":`switch`,className:N(`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,g.jsx)(v.Thumb,{"data-slot":`switch-thumb`,className:N(`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 Ae({className:e,value:t,...n}){return(0,g.jsx)(y.Root,{"data-slot":`progress`,className:N(`bg-primary/20 relative h-2 w-full overflow-hidden rounded-full`,e),...n,children:(0,g.jsx)(y.Indicator,{"data-slot":`progress-indicator`,className:`bg-primary h-full w-full flex-1 transition-all`,style:{transform:`translateX(-${100-(t||0)}%)`}})})}var je={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,p.format)(new Date(e),n)}},dateTime:{render:(e,t)=>{if(!e)return`-`;let n=t?.format??`yyyy-MM-dd HH:mm:ss`;return(0,p.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,p.format)(new Date(e[0]),n)} ~ ${(0,p.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,g.jsx)(`div`,{className:`flex flex-wrap gap-1`,children:e.map((e,n)=>(0,g.jsx)(Te,{variant:t?.variant??`secondary`,children:e},n))}):`-`},avatar:{render:(e,t)=>{let n=t?.size??32;return(0,g.jsxs)(Ee,{style:{width:n,height:n},children:[(0,g.jsx)(De,{src:e,alt:t?.alt}),(0,g.jsx)(Oe,{children:t?.fallback??`U`})]})}},image:{render:(e,t)=>{if(!e)return`-`;let n=t?.width??80,r=t?.height??80;return(0,g.jsx)(`img`,{src:e,alt:t?.alt??`image`,style:{width:n,height:r,objectFit:`cover`},className:`rounded`})}},switch:{render:(e,t)=>(0,g.jsx)(ke,{checked:!!e,disabled:t?.disabled??!0,onCheckedChange:t?.onChange})},code:{render:e=>e?(0,g.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,g.jsx)(Te,{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,g.jsx)(Te,{variant:r.variant,children:r.text})}},progress:{render:(e,t)=>{if(e==null)return`-`;let n=Number(e),r=t?.showInfo??!0;return(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(Ae,{value:n,className:`flex-1`}),r&&(0,g.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,g.jsx)(`a`,{href:`mailto:${e}`,className:`text-blue-600 hover:text-blue-800 underline`,children:e}):`-`},phone:{render:e=>e?(0,g.jsx)(`a`,{href:`tel:${e}`,className:`text-blue-600 hover:text-blue-800 underline`,children:e}):`-`},url:{render:e=>e?(0,g.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,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(`div`,{className:`w-4 h-4 rounded border`,style:{backgroundColor:e}}),(0,g.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,g.jsxs)(`div`,{className:`flex items-center gap-1`,children:[Array.from({length:n},(e,t)=>(0,g.jsx)(`span`,{className:N(`text-lg`,t<r?`text-yellow-400`:`text-gray-300`),children:`★`},t)),i&&(0,g.jsx)(`span`,{className:`text-lg text-yellow-400`,children:`☆`}),(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground ml-1`,children:e.toFixed(1)})]})}}};function Me(e,t,n){let r=je[e];return r?r.render(t,n):t??`-`}function Ne(e,t,n){let r=je[e];return r?.renderFormItem?r.renderFormItem(t,n):null}function Pe(e,t){je[e]=t}function N(...e){return(0,f.twMerge)((0,d.clsx)(e))}function Fe({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`table-container`,className:`relative w-full overflow-x-auto`,children:(0,g.jsx)(`table`,{"data-slot":`table`,className:N(`w-full caption-bottom text-sm`,e),...t})})}function Ie({className:e,...t}){return(0,g.jsx)(`thead`,{"data-slot":`table-header`,className:N(`[&_tr]:border-b`,e),...t})}function Le({className:e,...t}){return(0,g.jsx)(`tbody`,{"data-slot":`table-body`,className:N(`[&_tr:last-child]:border-0`,e),...t})}function Re({className:e,...t}){return(0,g.jsx)(`tfoot`,{"data-slot":`table-footer`,className:N(`bg-muted/50 border-t font-medium [&>tr]:last:border-b-0`,e),...t})}function ze({className:e,...t}){return(0,g.jsx)(`tr`,{"data-slot":`table-row`,className:N(`hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors`,e),...t})}function Be({className:e,...t}){return(0,g.jsx)(`th`,{"data-slot":`table-head`,className:N(`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 Ve({className:e,...t}){return(0,g.jsx)(`td`,{"data-slot":`table-cell`,className:N(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...t})}function He({className:e,...t}){return(0,g.jsx)(`caption`,{"data-slot":`table-caption`,className:N(`text-muted-foreground mt-4 text-sm`,e),...t})}function Ue({className:e,...t}){return(0,g.jsx)(b.Root,{"data-slot":`checkbox`,className:N(`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,g.jsx)(b.Indicator,{"data-slot":`checkbox-indicator`,className:`grid place-content-center text-current transition-none`,children:(0,g.jsx)(x.CheckIcon,{className:`size-3.5`})})})}function We({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card`,className:N(`bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm`,e),...t})}function Ge({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-header`,className:N(`@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 Ke({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-title`,className:N(`leading-none font-semibold`,e),...t})}function qe({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-description`,className:N(`text-muted-foreground text-sm`,e),...t})}function Je({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-action`,className:N(`col-start-2 row-span-2 row-start-1 self-start justify-self-end`,e),...t})}function Ye({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-content`,className:N(`px-6`,e),...t})}function Xe({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-footer`,className:N(`flex items-center px-6 [.border-t]:pt-6`,e),...t})}var Ze=(0,h.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 P({className:e,variant:t,size:n,asChild:r=!1,...i}){return(0,g.jsx)(r?m.Slot:`button`,{"data-slot":`button`,className:N(Ze({variant:t,size:n,className:e})),...i})}var Qe=c(oe());function $e(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_TOTAL`:return{...e,total:t.payload};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 et(e){let{columns:t=[],dataSource:n,request:r,params:i={},postData:a,defaultData:o=[],loading:s,rowKey:c=`id`,rowSelection:d,pagination:f,onLoad:p,onLoadingChange:m,onRequestError:h}=e,g={loading:s??!1,data:n??o,total:(f===!1?void 0:f?.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,l.useReducer)($e,g),y=(0,l.useRef)(null),[b,x]=(0,l.useState)([]),[S,C]=(0,l.useState)([]),[w,T]=(0,l.useState)({}),[ee,te]=(0,l.useState)({}),ne=(0,l.useCallback)(e=>{x(t=>{if((0,Qe.isFunction)(e))try{let n=e(t||[]);return n==null||!Array.isArray(n)?[]:n}catch{return t||[]}return e==null||!Array.isArray(e)?[]:e})},[]),E=(0,l.useCallback)(e=>{C(t=>{if((0,Qe.isFunction)(e))try{let n=e(t||[]);return n==null||!Array.isArray(n)?[]:n.filter(e=>e!=null)}catch{return t||[]}return e==null||!Array.isArray(e)?[]:e.filter(e=>e!=null)})},[]),re=(0,l.useCallback)(e=>{T(t=>{if((0,Qe.isFunction)(e)){let n=e(t||{});return n&&typeof n==`object`?n:{}}return e&&typeof e==`object`?e:{}})},[]),ie=(0,l.useCallback)(e=>{te(t=>{if((0,Qe.isFunction)(e)){let n=e(t||{});return n&&typeof n==`object`?n:{}}return e&&typeof e==`object`?e:{}})},[]),ae=(0,l.useCallback)(()=>{let e=[],n=[];return t.forEach(t=>{if(t.hideInTable)return;let r=t.key||String(t.dataIndex);t.fixed===`left`?e.push(r):t.fixed===`right`&&n.push(r)}),{left:e,right:n}},[t]),[D,O]=(0,l.useState)(()=>ae()),oe=(0,l.useCallback)(e=>{O(t=>{if((0,Qe.isFunction)(e)){let n=e(t||{left:[],right:[]});return n&&typeof n==`object`?n:{left:[],right:[]}}return e&&typeof e==`object`?e:{left:[],right:[]}})},[]);(0,l.useEffect)(()=>{let e=ae();O(e)},[ae]);let se=(0,l.useCallback)(e=>typeof c==`function`?String(c(e)):String(e[c]),[c]),k=(0,l.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){h?.(e)}finally{v({type:`SET_LOADING`,payload:!1}),m?.(!1)}}},[r,i,_.current,_.pageSize,_.filters,_.sorter,a,p,m,h]);(0,l.useEffect)(()=>{if(f===!1||!f)return;let e=f.current,t=f.pageSize;if(e==null&&t==null||!(e!=null&&e!==_.current||t!=null&&t!==_.pageSize))return;let n={current:e??_.current,pageSize:t??_.pageSize};if(r){v({type:`SET_PAGINATION`,payload:n}),k(n);return}v({type:`SET_PAGINATION`,payload:n})},[f,r,k,_.current,_.pageSize]),(0,l.useEffect)(()=>{if(f===!1)return;let e=f?.total;e!=null&&e!==_.total&&v({type:`SET_TOTAL`,payload:e})},[f,_.total]);let ce=(0,l.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==null||n===``)return!0;let r=e.getValue(t);if(r==null)return!1;if(Array.isArray(n))return n.length===0?!0:n.some(e=>{let t=String(r).toLowerCase(),n=String(e).toLowerCase();return t.includes(n)});let i=String(r).toLowerCase(),a=String(n).toLowerCase();return i.includes(a)}),enablePinning:!!e.fixed,size:e.width?typeof e.width==`number`?e.width:typeof e.width==`string`?(()=>{let t=e.width.match(/^(\d+(?:\.\d+)?)px?$/);return t?parseFloat(t[1]):parseInt(String(e.width))||100})():100:e.fixed?100:void 0,...e})),[t]),A=(0,u.useReactTable)({data:_.data,columns:ce,state:{sorting:b,columnFilters:S,columnVisibility:w,rowSelection:ee,columnPinning:D,pagination:{pageIndex:_.current-1,pageSize:_.pageSize}},onSortingChange:ne,onColumnFiltersChange:E,onColumnVisibilityChange:re,onRowSelectionChange:ie,onColumnPinningChange:oe,getCoreRowModel:(0,u.getCoreRowModel)(),getFilteredRowModel:(0,u.getFilteredRowModel)(),getPaginationRowModel:(0,u.getPaginationRowModel)(),getSortedRowModel:(0,u.getSortedRowModel)(),getRowId:se,manualPagination:!!r,pageCount:Math.ceil(_.total/_.pageSize),columnResizeMode:`onChange`,enableColumnPinning:!0}),le=(0,l.useCallback)((e,t)=>{r?(v({type:`SET_PAGINATION`,payload:{current:e,pageSize:t}}),k({current:e,pageSize:t})):v({type:`SET_PAGINATION`,payload:{current:e,pageSize:t}})},[r,k,f]),ue=(0,l.useCallback)(e=>{if(v({type:`SET_FILTERS`,payload:e}),r)k({current:1});else{let t=Object.entries(e).filter(([e,t])=>t==null||t===``?!1:Array.isArray(t)?t.length>0:!0).map(([e,t])=>({id:e,value:t}));C(t)}},[r,k]),de=(0,l.useCallback)(()=>{v({type:`RESET`}),r?k({current:1}):C([])},[r,k]);(0,l.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 fe={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:()=>{te({}),v({type:`SET_SELECTION`,payload:{keys:[],rows:[]}})},startEditable:e=>{let t=_.data.find(t=>se(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=>se(t)===String(e)),getTableData:()=>_.data,setTableData:e=>{v({type:`SET_DATA`,payload:{data:e}})}};return(0,l.useEffect)(()=>{y.current&&Object.assign(y.current,fe)}),(0,l.useEffect)(()=>{r&&!n&&k()},[]),(0,l.useEffect)(()=>{n&&v({type:`SET_DATA`,payload:{data:n,total:(f===!1?void 0:f?.total)??n.length}})},[n,f]),{table:A,state:_,dispatch:v,actions:fe,handlers:{handlePaginationChange:le,handleSearch:ue,handleReset:de}}}function F(e){let{columns:t,rowSelection:n,draggable:r,editable:i}=e,[a,o]=(0,l.useState)(()=>t.filter(e=>!e.hideInTable).map(e=>e.key||String(e.dataIndex))),[s,c]=(0,l.useState)({}),u=(0,l.useMemo)(()=>t.filter(e=>!e.hideInSearch&&(e.search===!0||typeof e.search==`object`)),[t]);return{tableColumns:(0,l.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?Me(t.valueType,a,{...t,...r}):a},enableSorting:!!t.sorter,enableHiding:!0,size:typeof t.width==`number`?t.width:void 0,...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)=>{c(n=>({...n,[e]:{...n[e],...t}}))}}}function tt({className:e,type:t,...n}){return(0,g.jsx)(`input`,{type:t,"data-slot":`input`,className:N(`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 nt({...e}){return(0,g.jsx)(S.Root,{"data-slot":`dropdown-menu`,...e})}function rt({...e}){return(0,g.jsx)(S.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function it({...e}){return(0,g.jsx)(S.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function at({className:e,sideOffset:t=4,...n}){return(0,g.jsx)(S.Portal,{children:(0,g.jsx)(S.Content,{"data-slot":`dropdown-menu-content`,sideOffset:t,className:N(`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-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md`,e),...n})})}function ot({...e}){return(0,g.jsx)(S.Group,{"data-slot":`dropdown-menu-group`,...e})}function st({className:e,inset:t,variant:n=`default`,...r}){return(0,g.jsx)(S.Item,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:N(`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 ct({className:e,children:t,checked:n,...r}){return(0,g.jsxs)(S.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:N(`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,g.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,g.jsx)(S.ItemIndicator,{children:(0,g.jsx)(x.CheckIcon,{className:`size-4`})})}),t]})}function lt({...e}){return(0,g.jsx)(S.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function ut({className:e,children:t,...n}){return(0,g.jsxs)(S.RadioItem,{"data-slot":`dropdown-menu-radio-item`,className:N(`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,g.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,g.jsx)(S.ItemIndicator,{children:(0,g.jsx)(x.CircleIcon,{className:`size-2 fill-current`})})}),t]})}function dt({className:e,inset:t,...n}){return(0,g.jsx)(S.Label,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:N(`px-2 py-1.5 text-sm font-medium data-[inset]:pl-8`,e),...n})}function ft({className:e,...t}){return(0,g.jsx)(S.Separator,{"data-slot":`dropdown-menu-separator`,className:N(`bg-border -mx-1 my-1 h-px`,e),...t})}function pt({className:e,...t}){return(0,g.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:N(`text-muted-foreground ml-auto text-xs tracking-widest`,e),...t})}function mt({...e}){return(0,g.jsx)(S.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function ht({className:e,inset:t,children:n,...r}){return(0,g.jsxs)(S.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":t,className:N(`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,g.jsx)(x.ChevronRightIcon,{className:`ml-auto size-4`})]})}function gt({className:e,...t}){return(0,g.jsx)(S.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:N(`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-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg`,e),...t})}function _t({delayDuration:e=0,...t}){return(0,g.jsx)(C.Provider,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function vt({...e}){return(0,g.jsx)(_t,{children:(0,g.jsx)(C.Root,{"data-slot":`tooltip`,...e})})}function yt({...e}){return(0,g.jsx)(C.Trigger,{"data-slot":`tooltip-trigger`,...e})}function I({className:e,sideOffset:t=0,children:n,...r}){return(0,g.jsx)(C.Portal,{children:(0,g.jsxs)(C.Content,{"data-slot":`tooltip-content`,sideOffset:t,className:N(`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,g.jsx)(C.Arrow,{className:`bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]`})]})})}const bt={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 xt=(0,l.createContext)(void 0);function St({locale:e,children:t}){let n=l.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(bt,e||{})},[e]);return(0,g.jsx)(xt.Provider,{value:{locale:n},children:t})}function Ct(){let e=(0,l.useContext)(xt);if(e===void 0)throw Error(`useLocale must be used within a LocaleProvider`);return e.locale}function wt({id:e,children:t}){let{attributes:n,listeners:r,setNodeRef:i,transform:a,transition:o,isDragging:s}=(0,ee.useSortable)({id:e}),c={transform:te.CSS.Transform.toString(a),transition:o,opacity:s?.6:1};return(0,g.jsxs)(`div`,{ref:i,style:c,className:`flex items-center`,children:[(0,g.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,g.jsx)(w.IconGripVertical,{className:`h-4 w-4`})}),(0,g.jsx)(`div`,{className:`flex-1`,children:t})]})}function Tt({table:e,columns:t,visibleColumns:n,onVisibleChange:r,fixedColumns:i={},onFixedChange:a,onOrderChange:o}){let s=Ct(),c=t.filter(e=>e.enableHiding!==!1&&!e.hideInTable),u=c.map(e=>e.key||String(e.dataIndex)),[d,f]=(0,l.useState)(()=>({...i||{}}));(0,l.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,g.jsxs)(nt,{children:[(0,g.jsx)(it,{asChild:!0,children:(0,g.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,children:(0,g.jsx)(w.IconSettings,{className:`h-4 w-4`})})}),(0,g.jsxs)(at,{align:`end`,className:`w-64`,children:[(0,g.jsx)(dt,{children:s.columnSetting.title}),(0,g.jsx)(ft,{}),(0,g.jsx)(`div`,{className:`max-h-96 overflow-y-auto`,children:(0,g.jsx)(T.DndContext,{collisionDetection:T.closestCenter,modifiers:[ne.restrictToVerticalAxis],onDragEnd:e=>{let{active:n,over:r}=e;if(!r||n.id===r.id)return;let i=c.findIndex(e=>(e.key||String(e.dataIndex))===n.id),a=c.findIndex(e=>(e.key||String(e.dataIndex))===r.id);if(i!==-1&&a!==-1&&typeof o==`function`){let e=[...c],[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,g.jsx)(ee.SortableContext,{items:u,strategy:ee.verticalListSortingStrategy,children:c.map(e=>{let t=e.key||String(e.dataIndex),r=n.includes(t),i=d?.[t]??void 0;return(0,g.jsx)(wt,{id:t,children:(0,g.jsxs)(`div`,{className:`flex items-center justify-between px-2 py-1.5 hover:bg-muted`,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(P,{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,g.jsx)(w.IconEye,{className:`h-4 w-4`}):(0,g.jsx)(w.IconEyeOff,{className:`h-4 w-4`})}),(0,g.jsx)(`span`,{className:N(`text-sm`,!r&&`text-muted-foreground line-through`),children:e.title??t})]}),(0,g.jsxs)(nt,{children:[(0,g.jsx)(it,{asChild:!0,children:(0,g.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-6 w-6`,children:i?(0,g.jsx)(w.IconPin,{className:`h-4 w-4`}):(0,g.jsx)(w.IconPinEnd,{className:`h-4 w-4`})})}),(0,g.jsxs)(at,{side:`left`,children:[(0,g.jsx)(st,{onClick:()=>m(t,void 0),children:s.columnSetting.noFixed}),(0,g.jsx)(st,{onClick:()=>m(t,`left`),children:s.columnSetting.fixedLeft}),(0,g.jsx)(st,{onClick:()=>m(t,`right`),children:s.columnSetting.fixedRight})]})]})]})},t)})})})}),(0,g.jsx)(ft,{}),(0,g.jsxs)(`div`,{className:`flex gap-2 p-2`,children:[(0,g.jsxs)(P,{size:`sm`,variant:`outline`,className:`flex-1`,onClick:()=>r(u),children:[s.columnSetting.show,` All`]}),(0,g.jsxs)(P,{size:`sm`,variant:`outline`,className:`flex-1`,onClick:()=>r([]),children:[s.columnSetting.hide,` All`]})]})]})]})}function Et({title:e,subTitle:t,search:n,actions:r=[],settings:i=!0,filter:a,table:o,columns:s,loading:c,onReload:u,fullScreen:d=!1,onFullScreenChange:f,density:p=`middle`,onDensityChange:m,visibleColumns:h=[],onVisibleColumnsChange:_,columnSettings:v,onColumnSettingsChange:y}){let b=Ct(),[S,C]=l.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))},ee=Array.isArray(i)?i:i===!0?[`columnSettings`,`density`,`reload`,`fullScreen`]:[];return(0,g.jsxs)(`div`,{className:`flex flex-col gap-4 px-4 py-3`,children:[(0,g.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[e&&(0,g.jsx)(`h3`,{className:`text-lg font-semibold leading-none`,children:e}),t&&(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground leading-none`,children:t})]}),(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[n&&(0,g.jsxs)(`form`,{onSubmit:w,className:`relative`,children:[(0,g.jsx)(tt,{placeholder:typeof n==`object`?n.placeholder:b.toolbar.searchPlaceholder,value:S,onChange:e=>C(e.target.value),onKeyDown:T,className:`h-8 w-[200px] pr-8`}),(0,g.jsx)(x.Search,{className:`absolute right-2 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`})]}),r.map((e,t)=>(0,g.jsx)(l.default.Fragment,{children:e},t)),ee.length>0&&(0,g.jsx)(`div`,{className:`flex items-center gap-1 border-l pl-2`,children:(0,g.jsxs)(_t,{children:[ee.includes(`reload`)&&(0,g.jsxs)(vt,{children:[(0,g.jsx)(yt,{asChild:!0,children:(0,g.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:u,disabled:c,children:(0,g.jsx)(x.RotateCw,{className:`h-4 w-4 ${c?`animate-spin`:``}`})})}),(0,g.jsx)(I,{children:(0,g.jsx)(`p`,{children:b.toolbar.reload})})]}),ee.includes(`density`)&&(0,g.jsxs)(nt,{children:[(0,g.jsx)(it,{asChild:!0,children:(0,g.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,children:(0,g.jsx)(x.Settings2,{className:`h-4 w-4`})})}),(0,g.jsxs)(at,{align:`end`,children:[(0,g.jsx)(dt,{children:b.toolbar.density}),(0,g.jsx)(ft,{}),(0,g.jsx)(ct,{checked:p===`small`,onCheckedChange:()=>m?.(`small`),children:b.toolbar.compact}),(0,g.jsx)(ct,{checked:p===`middle`,onCheckedChange:()=>m?.(`middle`),children:b.toolbar.default}),(0,g.jsx)(ct,{checked:p===`large`,onCheckedChange:()=>m?.(`large`),children:b.toolbar.comfortable})]})]}),ee.includes(`columnSettings`)&&_&&(0,g.jsx)(Tt,{table:o,columns:s,visibleColumns:h,onVisibleChange:_,fixedColumns:v?.fixed||{},onFixedChange:(e,t)=>y?.(e,{fixed:t}),onOrderChange:e=>y?.(`order`,e)}),ee.includes(`fullScreen`)&&(0,g.jsxs)(vt,{children:[(0,g.jsx)(yt,{asChild:!0,children:(0,g.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,onClick:()=>f?.(!d),children:d?(0,g.jsx)(x.Minimize2,{className:`h-4 w-4`}):(0,g.jsx)(x.Maximize2,{className:`h-4 w-4`})})}),(0,g.jsx)(I,{children:(0,g.jsx)(`p`,{children:d?b.toolbar.exitFullScreen:b.toolbar.fullScreen})})]})]})})]})]}),a&&(0,g.jsx)(`div`,{className:`border-t pt-3`,children:a})]})}function Dt({column:e,value:t=[],onChange:n,onClear:r}){let[i,a]=(0,l.useState)(!1),o=Array.isArray(t)?t:[],s=(e,t)=>{t?n?.([...o,e]):n?.(o.filter(t=>t!==e))},c=()=>{n?.([]),r?.(),a(!1)},u=o.length>0;return(0,g.jsxs)(nt,{open:i,onOpenChange:a,children:[(0,g.jsx)(it,{asChild:!0,children:(0,g.jsx)(P,{variant:`ghost`,size:`sm`,className:N(`h-6 w-6 p-0 hover:bg-muted`,u&&`bg-primary/10 text-primary`),children:(0,g.jsx)(x.Filter,{className:`h-3 w-3`})})}),(0,g.jsx)(at,{align:`start`,className:`w-48`,children:(0,g.jsxs)(`div`,{className:`p-2`,children:[(0,g.jsxs)(`div`,{className:`flex items-center justify-between mb-2`,children:[(0,g.jsxs)(`span`,{className:`text-sm font-medium`,children:[`筛选 `,e.title]}),u&&(0,g.jsx)(P,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0`,onClick:c,children:(0,g.jsx)(x.X,{className:`h-3 w-3`})})]}),(0,g.jsx)(`div`,{className:`space-y-1 max-h-48 overflow-y-auto`,children:e.filters?.map(t=>(0,g.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,g.jsx)(Ue,{id:`filter-${e.key||e.dataIndex}-${t.value}`,checked:o.includes(t.value),onCheckedChange:e=>s(t.value,!!e)}),(0,g.jsx)(`label`,{htmlFor:`filter-${e.key||e.dataIndex}-${t.value}`,className:`text-sm cursor-pointer flex-1`,children:t.text})]},String(t.value)))})]})})]})}function L({...e}){return(0,g.jsx)(E.Root,{"data-slot":`select`,...e})}function Ot({...e}){return(0,g.jsx)(E.Group,{"data-slot":`select-group`,...e})}function kt({...e}){return(0,g.jsx)(E.Value,{"data-slot":`select-value`,...e})}function At({className:e,size:t=`default`,children:n,...r}){return(0,g.jsxs)(E.Trigger,{"data-slot":`select-trigger`,"data-size":t,className:N(`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-fit 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,g.jsx)(E.Icon,{asChild:!0,children:(0,g.jsx)(x.ChevronDownIcon,{className:`size-4 opacity-50`})})]})}function jt({className:e,children:t,position:n=`popper`,align:r=`center`,...i}){return(0,g.jsx)(E.Portal,{children:(0,g.jsxs)(E.Content,{"data-slot":`select-content`,className:N(`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,g.jsx)(Ft,{}),(0,g.jsx)(E.Viewport,{className:N(`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,g.jsx)(It,{})]})})}function Mt({className:e,...t}){return(0,g.jsx)(E.Label,{"data-slot":`select-label`,className:N(`text-muted-foreground px-2 py-1.5 text-xs`,e),...t})}function Nt({className:e,children:t,...n}){return(0,g.jsxs)(E.Item,{"data-slot":`select-item`,className:N(`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,g.jsx)(`span`,{className:`absolute right-2 flex size-3.5 items-center justify-center`,children:(0,g.jsx)(E.ItemIndicator,{children:(0,g.jsx)(x.CheckIcon,{className:`size-4`})})}),(0,g.jsx)(E.ItemText,{children:t})]})}function Pt({className:e,...t}){return(0,g.jsx)(E.Separator,{"data-slot":`select-separator`,className:N(`bg-border pointer-events-none -mx-1 my-1 h-px`,e),...t})}function Ft({className:e,...t}){return(0,g.jsx)(E.ScrollUpButton,{"data-slot":`select-scroll-up-button`,className:N(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,g.jsx)(x.ChevronUpIcon,{className:`size-4`})})}function It({className:e,...t}){return(0,g.jsx)(E.ScrollDownButton,{"data-slot":`select-scroll-down-button`,className:N(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,g.jsx)(x.ChevronDownIcon,{className:`size-4`})})}var Lt=768;function Rt(){let[e,t]=l.useState(void 0);return l.useEffect(()=>{let e=window.matchMedia(`(max-width: ${Lt-1}px)`),n=()=>{t(window.innerWidth<Lt)};return e.addEventListener(`change`,n),t(window.innerWidth<Lt),()=>e.removeEventListener(`change`,n)},[]),!!e}function zt({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=Ct(),m=Rt(),h=Math.max(1,Math.ceil(n/t)),_=Math.min(Math.max(e,1),h),v=l||_<=1,y=l||_>=h,b=e=>{let n=Math.min(Math.max(e,1),h);n!==_&&(u?.(n,t),f?.(n,t))},x=e=>{let t=Number(e);d?.(_,t),f?.(1,t)};if(c||m)return(0,g.jsxs)(`div`,{className:N(`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,g.jsxs)(`div`,{className:N(`flex items-center gap-2`,m?`justify-between`:`justify-center`),children:[(0,g.jsx)(P,{variant:`outline`,size:s===`small`||m?`sm`:`default`,onClick:()=>b(_-1),disabled:v,children:(0,g.jsx)(w.IconChevronLeft,{className:`h-4 w-4`})}),(0,g.jsxs)(`span`,{className:`text-sm text-muted-foreground`,children:[p.pagination.page,` `,_,` `,p.pagination.of,` `,h]}),(0,g.jsx)(P,{variant:`outline`,size:s===`small`||m?`sm`:`default`,onClick:()=>b(_+1),disabled:y,children:(0,g.jsx)(w.IconChevronRight,{className:`h-4 w-4`})})]}),r&&!c&&(0,g.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,g.jsx)(`span`,{children:p.pagination.showTotal}),(0,g.jsxs)(L,{value:String(t),onValueChange:x,disabled:l,children:[(0,g.jsx)(At,{size:`sm`,className:`h-8 w-[110px]`,id:`rows-per-page-mobile`,children:(0,g.jsx)(kt,{placeholder:t})}),(0,g.jsx)(jt,{children:o.map(e=>(0,g.jsx)(Nt,{value:e,children:e},e))})]})]})]});let S=(_-1)*t+1,C=Math.min(_*t,n);return(0,g.jsxs)(`div`,{className:N(`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,g.jsx)(`div`,{className:`flex flex-1 items-center gap-4`,children:a?(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground leading-none`,children:a(n,[S,C])}):(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground leading-none`,children:p.pagination.total?.(n,[S,C])})}),(0,g.jsxs)(`div`,{className:N(`flex items-center gap-2`,m&&`flex-wrap justify-between gap-3`),children:[r&&(0,g.jsxs)(`div`,{className:N(`flex items-center gap-2`,m&&`order-2 w-full justify-between`),children:[(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground leading-none`,children:p.pagination.showTotal}),(0,g.jsxs)(L,{value:String(t),onValueChange:x,disabled:l,children:[(0,g.jsx)(At,{size:`sm`,className:N(`h-8 w-20`,m&&`w-[120px]`),id:`rows-per-page`,children:(0,g.jsx)(kt,{})}),(0,g.jsx)(jt,{children:o.map(e=>(0,g.jsx)(Nt,{value:e,children:e},e))})]}),(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground leading-none`,children:p.pagination.items})]}),(0,g.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,g.jsx)(P,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>b(1),disabled:v,children:(0,g.jsx)(w.IconChevronsLeft,{className:`h-4 w-4`})}),(0,g.jsx)(P,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>b(_-1),disabled:v,children:(0,g.jsx)(w.IconChevronLeft,{className:`h-4 w-4`})}),(0,g.jsxs)(`span`,{className:`px-2 text-sm`,children:[p.pagination.page,` `,_,` `,p.pagination.of,` `,h]}),(0,g.jsx)(P,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>b(_+1),disabled:y,children:(0,g.jsx)(w.IconChevronRight,{className:`h-4 w-4`})}),(0,g.jsx)(P,{variant:`outline`,size:`icon`,className:`h-8 w-8`,onClick:()=>b(h),disabled:y,children:(0,g.jsx)(w.IconChevronsRight,{className:`h-4 w-4`})})]}),i&&(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:p.pagination.page}),(0,g.jsx)(`input`,{type:`number`,min:1,max:h,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<=h&&b(t)}},disabled:l})]})]})]})}function Bt({className:e,classNames:t,showOutsideDays:n=!0,captionLayout:r=`label`,buttonVariant:i=`ghost`,formatters:a,components:o,...s}){let c=(0,re.getDefaultClassNames)();return(0,g.jsx)(re.DayPicker,{showOutsideDays:n,className:N(`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:N(`w-fit`,c.root),months:N(`flex gap-4 flex-col md:flex-row relative`,c.months),month:N(`flex flex-col w-full gap-4`,c.month),nav:N(`flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between`,c.nav),button_previous:N(Ze({variant:i}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,c.button_previous),button_next:N(Ze({variant:i}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,c.button_next),month_caption:N(`flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)`,c.month_caption),dropdowns:N(`w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5`,c.dropdowns),dropdown_root:N(`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:N(`absolute bg-popover inset-0 opacity-0`,c.dropdown),caption_label:N(`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:N(`flex`,c.weekdays),weekday:N(`text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none`,c.weekday),week:N(`flex w-full mt-2`,c.week),week_number_header:N(`select-none w-(--cell-size)`,c.week_number_header),week_number:N(`text-[0.8rem] select-none text-muted-foreground`,c.week_number),day:N(`relative w-full h-full p-0 text-center [&:last-child[data-selected=true]_button]:rounded-r-md group/day aspect-square select-none`,s.showWeekNumber?`[&:nth-child(2)[data-selected=true]_button]:rounded-l-md`:`[&:first-child[data-selected=true]_button]:rounded-l-md`,c.day),range_start:N(`rounded-l-md bg-accent`,c.range_start),range_middle:N(`rounded-none`,c.range_middle),range_end:N(`rounded-r-md bg-accent`,c.range_end),today:N(`bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none`,c.today),outside:N(`text-muted-foreground aria-selected:text-muted-foreground`,c.outside),disabled:N(`text-muted-foreground opacity-50`,c.disabled),hidden:N(`invisible`,c.hidden),...t},components:{Root:({className:e,rootRef:t,...n})=>(0,g.jsx)(`div`,{"data-slot":`calendar`,ref:t,className:N(e),...n}),Chevron:({className:e,orientation:t,...n})=>t===`left`?(0,g.jsx)(x.ChevronLeftIcon,{className:N(`size-4`,e),...n}):t===`right`?(0,g.jsx)(x.ChevronRightIcon,{className:N(`size-4`,e),...n}):(0,g.jsx)(x.ChevronDownIcon,{className:N(`size-4`,e),...n}),DayButton:Vt,WeekNumber:({children:e,...t})=>(0,g.jsx)(`td`,{...t,children:(0,g.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,re.getDefaultClassNames)(),a=l.useRef(null);return l.useEffect(()=>{n.focused&&a.current?.focus()},[n.focused]),(0,g.jsx)(P,{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:N(`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 Ht({...e}){return(0,g.jsx)(ie.Root,{"data-slot":`popover`,...e})}function Ut({...e}){return(0,g.jsx)(ie.Trigger,{"data-slot":`popover-trigger`,...e})}function Wt({className:e,align:t=`center`,sideOffset:n=4,...r}){return(0,g.jsx)(ie.Portal,{children:(0,g.jsx)(ie.Content,{"data-slot":`popover-content`,align:t,sideOffset:n,className:N(`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 Gt({...e}){return(0,g.jsx)(ie.Anchor,{"data-slot":`popover-anchor`,...e})}function Kt({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,id:u}){return(0,g.jsxs)(Ht,{children:[(0,g.jsx)(Ut,{asChild:!0,children:(0,g.jsxs)(P,{id:u,variant:`outline`,className:N(`h-8 w-full justify-start text-left font-normal`,!e&&`text-muted-foreground`,r),disabled:i,children:[(0,g.jsx)(x.Calendar,{className:`mr-2 h-4 w-4`}),e?(0,p.format)(e,s):(0,g.jsx)(`span`,{children:n})]})}),(0,g.jsx)(Wt,{className:`w-auto p-0`,align:c,sideOffset:l,children:(0,g.jsx)(Bt,{mode:`single`,selected:e,onSelect:t,disabled:i,fromDate:a,toDate:o,initialFocus:!0})})]})}function qt({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,id:d}){return(0,g.jsx)(`div`,{className:N(`w-full`,r),children:(0,g.jsxs)(Ht,{children:[(0,g.jsx)(Ut,{asChild:!0,children:(0,g.jsxs)(P,{id:d,variant:`outline`,className:N(`h-8 w-full justify-start text-left font-normal`,!e&&`text-muted-foreground`),disabled:i,children:[(0,g.jsx)(x.Calendar,{className:`mr-2 h-4 w-4`}),e?.from?e.to?(0,g.jsxs)(g.Fragment,{children:[(0,p.format)(e.from,s),` -`,` `,(0,p.format)(e.to,s)]}):(0,p.format)(e.from,s):(0,g.jsx)(`span`,{children:n})]})}),(0,g.jsx)(Wt,{className:`w-auto p-0`,align:c,sideOffset:l,children:(0,g.jsx)(Bt,{initialFocus:!0,mode:`range`,defaultMonth:e?.from,selected:e,onSelect:t,numberOfMonths:u,disabled:i,fromDate:a,toDate:o})})]})})}function Jt({className:e,...t}){return(0,g.jsx)(ae.Root,{"data-slot":`label`,className:N(`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 Yt({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`field-group`,className:N(`group/field-group @container/field-group flex w-full flex-col gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4`,e),...t})}var Xt=(0,h.cva)(`group/field flex w-full gap-3 data-[invalid=true]:text-destructive`,{variants:{orientation:{vertical:[`flex-col [&>*]:w-full [&>.sr-only]:w-auto`],horizontal:[`flex-row items-center`,`[&>[data-slot=field-label]]:flex-auto`,`has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`],responsive:[`flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto`,`@md/field-group:[&>[data-slot=field-label]]:flex-auto`,`@md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px`]}},defaultVariants:{orientation:`vertical`}});function Zt({className:e,orientation:t=`vertical`,...n}){return(0,g.jsx)(`div`,{role:`group`,"data-slot":`field`,"data-orientation":t,className:N(Xt({orientation:t}),e),...n})}function Qt({className:e,...t}){return(0,g.jsx)(Jt,{"data-slot":`field-label`,className:N(`group/field-label peer/field-label flex w-fit gap-2 leading-snug group-data-[disabled=true]/field:opacity-50`,`has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-4`,`has-data-[state=checked]:bg-primary/5 has-data-[state=checked]:border-primary dark:has-data-[state=checked]:bg-primary/10`,e),...t})}function $t({className:e,children:t,errors:n,...r}){let i=(0,l.useMemo)(()=>{if(t)return t;if(!n?.length)return null;let e=[...new Map(n.map(e=>[e?.message,e])).values()];return e?.length==1?e[0]?.message:(0,g.jsx)(`ul`,{className:`ml-4 flex list-disc flex-col gap-1`,children:e.map((e,t)=>e?.message&&(0,g.jsx)(`li`,{children:e.message},t))})},[t,n]);return i?(0,g.jsx)(`div`,{role:`alert`,"data-slot":`field-error`,className:N(`text-destructive text-sm font-normal`,e),...r,children:i}):null}function en({columns:e,onSearch:t,onReset:n,loading:r,filterType:i=`query`,searchText:a,resetText:o,submitText:s,defaultCollapsed:c=!0,collapsed:u,onCollapse:d,optionRender:f}){let p=Ct(),m=(0,D.useForm)({defaultValues:{}}),{control:h,register:_,handleSubmit:v,watch:y}=m,[b,S]=(0,l.useState)(u??c),C=u!==void 0,w=C?u:b;(0,l.useEffect)(()=>{C&&S(u??c)},[u]);let T=()=>{C||S(!b),d?.(!w)},ee=e=>{t?.(e)},te=()=>{m.reset(),n?.()},ne=e=>{let t=String(e.dataIndex||``).toLowerCase(),n=e.valueType;return n===`email`?`email`:n===`phone`?`tel`:n===`url`?`url`:t.includes(`email`)?`email`:t.includes(`phone`)||t.includes(`tel`)?`tel`:t.includes(`name`)||t.includes(`username`)?`name`:t.includes(`password`)?`current-password`:t.includes(`address`)?`street-address`:t.includes(`city`)?`address-level2`:t.includes(`country`)?`country`:t.includes(`postal`)||t.includes(`zip`)?`postal-code`:`off`},E=e=>{let t=e.key||String(e.dataIndex),n=ne(e);switch(e.valueType){case`select`:return(0,g.jsx)(D.Controller,{control:h,name:t,render:({field:n,fieldState:r})=>(0,g.jsxs)(L,{name:n.name,value:n.value??``,onValueChange:n.onChange,children:[(0,g.jsx)(At,{id:t,size:`sm`,className:`h-8 w-full`,"aria-invalid":r.invalid,children:(0,g.jsx)(kt,{placeholder:`${p.search.selectPlaceholder} ${e.title}`})}),(0,g.jsx)(jt,{position:`popper`,className:`w-(--radix-select-trigger-width)`,children:e.valueEnum?Object.entries(e.valueEnum).map(([e,n])=>(0,g.jsx)(Nt,{value:e,children:n.text},`${t}-${e}`)):e.filters?.map(e=>(0,g.jsx)(Nt,{value:e.value,children:e.text},`${t}-filter-${String(e.value)}`))})]})});case`date`:return(0,g.jsx)(D.Controller,{control:h,name:t,render:({field:n})=>(0,g.jsx)(Kt,{id:t,value:n.value,onChange:e=>n.onChange(e),className:`h-8 w-full`,placeholder:`${p.search.selectPlaceholder} ${e.title}`,formatStr:`PP`})});case`dateTime`:return(0,g.jsx)(D.Controller,{control:h,name:t,render:({field:n})=>(0,g.jsx)(Kt,{id:t,value:n.value,onChange:e=>n.onChange(e),className:`h-8 w-full`,placeholder:`${p.search.selectPlaceholder} ${e.title}`,formatStr:`PPp`})});case`dateRange`:return(0,g.jsx)(D.Controller,{control:h,name:t,render:({field:n})=>(0,g.jsx)(qt,{id:t,value:n.value,onChange:e=>n.onChange(e),className:`w-full`,placeholder:`${p.search.selectPlaceholder} ${e.title} range`,numberOfMonths:2})});case`number`:return(0,g.jsx)(D.Controller,{control:h,name:t,render:({field:r,fieldState:i})=>(0,g.jsx)(tt,{id:t,type:`number`,...r,value:r.value??``,onChange:e=>r.onChange(e.target.value?Number(e.target.value):void 0),placeholder:`${p.search.inputPlaceholder} ${e.title}`,className:`h-8 w-full`,"aria-invalid":i.invalid,autoComplete:n})});case`switch`:return(0,g.jsx)(D.Controller,{control:h,name:t,defaultValue:!1,render:({field:e,fieldState:n})=>(0,g.jsx)(ke,{id:t,name:e.name,checked:!!e.value,onCheckedChange:e.onChange,"aria-invalid":n.invalid})});default:return(0,g.jsx)(D.Controller,{control:h,name:t,render:({field:r,fieldState:i})=>(0,g.jsx)(tt,{id:t,...r,value:r.value??``,onChange:e=>r.onChange(e.target.value),placeholder:`${p.search.inputPlaceholder} ${e.title}`,className:`h-8 w-full`,"aria-invalid":i.invalid,autoComplete:n})})}};if(i===`light`)return(0,g.jsxs)(`form`,{className:`flex items-center gap-2 px-4 py-2`,onSubmit:v(ee),children:[(0,g.jsxs)(`div`,{className:`relative flex-1 max-w-sm`,children:[(0,g.jsx)(tt,{id:`search-keyword`,placeholder:a||p.search.searchText,..._(`keyword`),onKeyDown:e=>{e.key},className:`h-8 pr-8`,autoComplete:`off`}),(0,g.jsx)(x.Search,{className:`absolute right-2 top-1/2 h-4 w-4 -translate-y-1/2 text-muted-foreground`})]}),(0,g.jsx)(P,{size:`sm`,type:`submit`,disabled:r,children:s||p.search.submitText}),(0,g.jsx)(P,{size:`sm`,variant:`outline`,type:`button`,onClick:()=>{te()},children:o||p.search.resetText})]});let re=e.filter(e=>!e.hideInSearch&&(e.search===!0||typeof e.search==`object`));if(re.length===0)return null;let ie=re.length>3,ae=[(0,g.jsxs)(P,{size:`sm`,type:`submit`,disabled:r,children:[(0,g.jsx)(x.Search,{className:`mr-1 h-4 w-4`}),s||p.search.submitText]},`search`),(0,g.jsxs)(P,{size:`sm`,variant:`outline`,type:`button`,onClick:te,children:[(0,g.jsx)(x.RotateCw,{className:`mr-1 h-4 w-4`}),o||p.search.resetText]},`reset`)];ie&&ae.push((0,g.jsx)(P,{size:`sm`,variant:`ghost`,onClick:T,children:w?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(x.ChevronDown,{className:`mr-1 h-4 w-4`}),p.search.expandText]}):(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(x.ChevronUp,{className:`mr-1 h-4 w-4`}),p.search.collapseText]})},`collapse`));let O=f?f({collapsed:w},y(),ae):ae;return(0,g.jsxs)(`form`,{className:`border-b bg-muted/30 px-4 py-3 overflow-visible`,onSubmit:v(ee),children:[(0,g.jsx)(Yt,{className:N(`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-[80px] overflow-hidden`:`max-h-[500px]`),children:re.map(e=>{let t=e.key||String(e.dataIndex),n=e.formItemProps?.required,r=e.renderFormItem;return r?(0,g.jsx)(D.Controller,{control:h,name:t,render:({field:i,fieldState:a})=>(0,g.jsxs)(Zt,{"data-invalid":a.invalid,children:[(0,g.jsxs)(Qt,{htmlFor:t,className:`text-sm font-medium`,children:[e.title,n&&(0,g.jsx)(`span`,{className:`text-red-500 ml-1`,children:`*`})]}),(0,g.jsx)(`div`,{className:`w-full min-w-0`,children:r(i.value,i.onChange,i,e)}),a.invalid&&(0,g.jsx)($t,{errors:[a.error]})]})},t):(0,g.jsxs)(Zt,{children:[(0,g.jsxs)(Qt,{htmlFor:t,className:`text-sm font-medium`,children:[e.title,n&&(0,g.jsx)(`span`,{className:`text-red-500 ml-1`,children:`*`})]}),(0,g.jsx)(`div`,{className:`w-full min-w-0`,children:E(e)})]},t)})}),(0,g.jsx)(`div`,{className:`mt-3 flex items-center justify-end gap-2`,children:O})]})}var tn=(0,h.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 nn({className:e,variant:t,...n}){return(0,g.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:N(tn({variant:t}),e),...n})}function rn({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`alert-title`,className:N(`col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight`,e),...t})}function R({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`alert-description`,className:N(`text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed`,e),...t})}function an({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)},h=()=>{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,g.jsxs)(`div`,{className:N(`flex items-center gap-2`,u),children:[v&&(0,g.jsxs)(g.Fragment,{children:[n&&(0,g.jsxs)(P,{variant:`destructive`,size:`sm`,onClick:d,disabled:l,className:`h-8`,children:[(0,g.jsx)(x.Trash2,{className:`h-3 w-3 mr-1`}),`删除 (`,e,`)`]}),r&&(0,g.jsxs)(P,{variant:`outline`,size:`sm`,onClick:f,disabled:l,className:`h-8`,children:[(0,g.jsx)(x.Download,{className:`h-3 w-3 mr-1`}),`导出`]}),(i||a)&&(0,g.jsxs)(nt,{children:[(0,g.jsx)(it,{asChild:!0,children:(0,g.jsxs)(P,{variant:`outline`,size:`sm`,disabled:l,className:`h-8`,children:[(0,g.jsx)(x.FileText,{className:`h-3 w-3 mr-1`}),`导出格式`]})}),(0,g.jsxs)(at,{align:`start`,children:[i&&(0,g.jsxs)(st,{onClick:p,children:[(0,g.jsx)(x.FileText,{className:`h-4 w-4 mr-2`}),`Excel (.xlsx)`]}),a&&(0,g.jsxs)(st,{onClick:m,children:[(0,g.jsx)(x.FileText,{className:`h-4 w-4 mr-2`}),`CSV (.csv)`]})]})]}),o&&(0,g.jsxs)(P,{variant:`outline`,size:`sm`,onClick:h,disabled:l,className:`h-8`,children:[(0,g.jsx)(x.Mail,{className:`h-3 w-3 mr-1`}),`发送邮件`]}),s&&(0,g.jsxs)(P,{variant:`outline`,size:`sm`,onClick:_,disabled:l,className:`h-8`,children:[(0,g.jsx)(x.Archive,{className:`h-3 w-3 mr-1`}),`归档`]})]}),y&&(0,g.jsx)(g.Fragment,{children:c.map(e=>(0,g.jsxs)(P,{variant:e.variant||`outline`,size:`sm`,onClick:()=>e.onClick(t),disabled:l,className:`h-8`,children:[e.icon&&(0,g.jsx)(`span`,{className:`mr-1`,children:e.icon}),e.label]},e.key))}),(v||y)&&(0,g.jsxs)(nt,{children:[(0,g.jsx)(it,{asChild:!0,children:(0,g.jsx)(P,{variant:`ghost`,size:`sm`,disabled:l,className:`h-8 w-8 p-0`,children:(0,g.jsx)(x.MoreHorizontal,{className:`h-4 w-4`})})}),(0,g.jsxs)(at,{align:`end`,children:[n&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(st,{onClick:d,className:`text-destructive`,children:[(0,g.jsx)(x.Trash2,{className:`h-4 w-4 mr-2`}),`删除选中项`]}),(0,g.jsx)(ft,{})]}),r&&(0,g.jsxs)(st,{onClick:f,children:[(0,g.jsx)(x.Download,{className:`h-4 w-4 mr-2`}),`导出数据`]}),o&&(0,g.jsxs)(st,{onClick:h,children:[(0,g.jsx)(x.Mail,{className:`h-4 w-4 mr-2`}),`发送邮件`]}),s&&(0,g.jsxs)(st,{onClick:_,children:[(0,g.jsx)(x.Archive,{className:`h-4 w-4 mr-2`}),`归档`]}),c.length>0&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(ft,{}),c.map(e=>(0,g.jsxs)(st,{onClick:()=>e.onClick(t),children:[e.icon&&(0,g.jsx)(`span`,{className:`mr-2`,children:e.icon}),e.label]},e.key))]})]})]})]})}function on({selectedCount:e,selectedRows:t=[],onClear:n,actions:r=[],alwaysShow:i=!1,batchActions:a}){let o=Ct();return(0,g.jsx)(O.AnimatePresence,{children:(i||e>0)&&(0,g.jsx)(O.motion.div,{initial:{opacity:0,y:-6},animate:{opacity:1,y:0},exit:{opacity:0,y:-6},transition:{duration:.18},children:(0,g.jsx)(nn,{className:`mb-4`,children:(0,g.jsxs)(R,{className:`flex items-center justify-between`,children:[(0,g.jsxs)(`div`,{className:`flex items-center gap-4`,children:[(0,g.jsx)(`span`,{className:`text-sm leading-none`,children:e>0?(0,g.jsxs)(g.Fragment,{children:[o.batchActions.selected,` `,(0,g.jsx)(`strong`,{children:e}),` row(s)`]}):o.batchActions.selected}),e>0&&(0,g.jsxs)(`div`,{className:`flex items-center gap-1`,children:[a&&(0,g.jsx)(an,{selectedCount:e,selectedRows:t,...a}),r.map((e,t)=>(0,g.jsx)(l.default.Fragment,{children:e},t))]})]}),e>0&&(0,g.jsxs)(P,{variant:`ghost`,size:`sm`,onClick:n,children:[(0,g.jsx)(w.IconX,{className:`mr-1 h-3 w-3`}),o.batchActions.clear]})]})})},`batch-actions`)})}function z({className:e,...t}){return(0,g.jsx)(`textarea`,{"data-slot":`textarea`,className:N(`border-input placeholder: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 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm`,e),...t})}function B({value:e,record:t,column:n,isEditing:r,onSave:i,onCancel:a,onStartEdit:o}){let[s,c]=(0,l.useState)(e),[u,d]=(0,l.useState)(!0);(0,l.useEffect)(()=>{c(e)},[e]);let f=()=>{u&&i(s)},m=()=>{c(e),a()},h=e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),f()):e.key===`Escape`&&(e.preventDefault(),m())};return r?(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(`div`,{className:`flex-1`,children:(()=>{let{valueType:e,fieldProps:t={}}=n;switch(e){case`text`:return(0,g.jsx)(tt,{value:s||``,onChange:e=>c(e.target.value),onKeyDown:h,className:`h-8`,...t});case`number`:return(0,g.jsx)(tt,{type:`number`,value:s||``,onChange:e=>{let t=e.target.value===``?null:Number(e.target.value);c(t),d(e.target.value===``||!isNaN(Number(e.target.value)))},onKeyDown:h,className:`h-8`,...t});case`select`:let{valueEnum:e}=n;return(0,g.jsxs)(L,{value:s||``,onValueChange:c,children:[(0,g.jsx)(At,{className:`h-8`,children:(0,g.jsx)(kt,{placeholder:`请选择`})}),(0,g.jsx)(jt,{children:e&&Object.entries(e).map(([e,t])=>(0,g.jsx)(Nt,{value:e,children:t.text},e))})]});case`switch`:return(0,g.jsx)(ke,{checked:!!s,onCheckedChange:c,...t});case`date`:return(0,g.jsxs)(Ht,{children:[(0,g.jsx)(Ut,{asChild:!0,children:(0,g.jsxs)(P,{variant:`outline`,className:N(`h-8 justify-start text-left font-normal`,!s&&`text-muted-foreground`),children:[(0,g.jsx)(x.CalendarIcon,{className:`mr-2 h-4 w-4`}),s?(0,p.format)(s,`yyyy-MM-dd`):`选择日期`]})}),(0,g.jsx)(Wt,{className:`w-auto p-0`,children:(0,g.jsx)(Bt,{mode:`single`,selected:s,onSelect:c,initialFocus:!0})})]});case`textarea`:return(0,g.jsx)(z,{value:s||``,onChange:e=>c(e.target.value),onKeyDown:h,className:`min-h-[60px]`,...t});case`money`:return(0,g.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`¥`}),(0,g.jsx)(tt,{type:`number`,value:s||``,onChange:e=>{let t=e.target.value===``?null:Number(e.target.value);c(t),d(e.target.value===``||!isNaN(Number(e.target.value)))},onKeyDown:h,className:`h-8`,placeholder:`0.00`,...t})]});case`percent`:return(0,g.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,g.jsx)(tt,{type:`number`,value:s||``,onChange:e=>{let t=e.target.value===``?null:Number(e.target.value);c(t),d(e.target.value===``||!isNaN(Number(e.target.value)))},onKeyDown:h,className:`h-8`,placeholder:`0`,...t}),(0,g.jsx)(`span`,{className:`text-sm text-muted-foreground`,children:`%`})]});case`email`:return(0,g.jsx)(tt,{type:`email`,value:s||``,onChange:e=>c(e.target.value),onKeyDown:h,className:`h-8`,placeholder:`example@email.com`,...t});case`phone`:return(0,g.jsx)(tt,{type:`tel`,value:s||``,onChange:e=>c(e.target.value),onKeyDown:h,className:`h-8`,placeholder:`+86 138 0000 0000`,...t});case`url`:return(0,g.jsx)(tt,{type:`url`,value:s||``,onChange:e=>c(e.target.value),onKeyDown:h,className:`h-8`,placeholder:`https://example.com`,...t});default:return(0,g.jsx)(tt,{value:s||``,onChange:e=>c(e.target.value),onKeyDown:h,className:`h-8`,...t})}})()}),(0,g.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,g.jsx)(P,{size:`sm`,variant:`ghost`,className:`h-6 w-6 p-0`,onClick:f,disabled:!u,children:(0,g.jsx)(x.Check,{className:`h-3 w-3`})}),(0,g.jsx)(P,{size:`sm`,variant:`ghost`,className:`h-6 w-6 p-0`,onClick:m,children:(0,g.jsx)(x.X,{className:`h-3 w-3`})})]})]}):(0,g.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 sn({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`empty`,className:N(`flex min-w-0 flex-1 flex-col items-center justify-center gap-6 rounded-lg border-dashed p-6 text-center text-balance md:p-12`,e),...t})}function cn({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`empty-header`,className:N(`flex max-w-sm flex-col items-center gap-2 text-center`,e),...t})}var ln=(0,h.cva)(`flex shrink-0 items-center justify-center mb-2 [&_svg]:pointer-events-none [&_svg]:shrink-0`,{variants:{variant:{default:`bg-transparent`,icon:`bg-muted text-foreground flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6`}},defaultVariants:{variant:`default`}});function un({className:e,variant:t=`default`,...n}){return(0,g.jsx)(`div`,{"data-slot":`empty-icon`,"data-variant":t,className:N(ln({variant:t,className:e})),...n})}function dn({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`empty-title`,className:N(`text-lg font-medium tracking-tight`,e),...t})}function fn({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`empty-description`,className:N(`text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4`,e),...t})}function pn({colSpan:e,emptyRender:t}){let n=Ct();return t?(0,g.jsx)(ze,{children:(0,g.jsx)(Ve,{colSpan:e,className:`h-32`,children:t})}):(0,g.jsx)(ze,{children:(0,g.jsx)(Ve,{colSpan:e,className:`h-32`,children:(0,g.jsx)(sn,{children:(0,g.jsxs)(cn,{children:[(0,g.jsx)(un,{variant:`icon`,children:(0,g.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`24`,height:`24`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,strokeWidth:`2`,strokeLinecap:`round`,strokeLinejoin:`round`,children:(0,g.jsx)(`path`,{d:`M3 3h18v18H3zM9 9h6v6H9z`})})}),(0,g.jsx)(dn,{children:n.common.noData}),(0,g.jsx)(fn,{children:`No data available`})]})})})})}function mn({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`skeleton`,className:N(`bg-accent animate-pulse rounded-md`,e),...t})}function V({columnCount:e,draggable:t=!1,rowSelection:n=!1,rowCount:r=5}){return(0,g.jsx)(g.Fragment,{children:[...Array(r)].map((r,i)=>(0,g.jsxs)(ze,{children:[t&&(0,g.jsx)(Ve,{children:(0,g.jsx)(mn,{className:`h-4 w-4`})}),n&&(0,g.jsx)(Ve,{children:(0,g.jsx)(mn,{className:`h-4 w-4`})}),[...Array(e)].map((e,t)=>(0,g.jsx)(Ve,{children:(0,g.jsx)(mn,{className:`h-4 w-full`})},t))]},i))})}function hn({record:e,indent:t=0,hasChild:n,expanded:r,expandable:i,isExpandable:a,onExpand:o}){if(!a||i===!1||i?.showExpandColumn===!1)return null;let s=i?.expandColumnWidth||50;if(!n&&i?.showExpandColumn!==!0)return(0,g.jsx)(Ve,{className:`w-8`,style:{paddingLeft:`${t*24}px`}});let c=()=>{o(e,!r)},l=(0,g.jsx)(P,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0`,onClick:c,disabled:!n,children:n?r?(0,g.jsx)(x.ChevronDown,{className:`h-4 w-4`}):(0,g.jsx)(x.ChevronRight,{className:`h-4 w-4`}):(0,g.jsx)(`span`,{className:`w-4 h-4`})}),u=i?.expandIcon?i.expandIcon({expanded:r,onExpand:c,record:e}):l;return(0,g.jsx)(Ve,{className:`w-8`,style:{width:`${s}px`,paddingLeft:`${t*24}px`},children:u})}function gn({record:e,config:t,editable:n,onEdit:r,onSave:i,onCancel:a,onDelete:o,onAdd:s,onRemove:c}){let{isEditing:u}=t;return n?.actionRender?(0,g.jsx)(`div`,{className:`flex items-center gap-1`,children:n.actionRender(e,t).map((e,t)=>(0,g.jsx)(l.default.Fragment,{children:e},t))}):(0,g.jsx)(`div`,{className:`flex items-center justify-center`,children:(()=>u?(0,g.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,g.jsxs)(P,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:i,children:[(0,g.jsx)(x.Save,{className:`h-3 w-3 mr-1`}),`保存`]}),(0,g.jsxs)(P,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:a,children:[(0,g.jsx)(x.X,{className:`h-3 w-3 mr-1`}),`取消`]})]}):(0,g.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,g.jsxs)(P,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:r,children:[(0,g.jsx)(x.Edit,{className:`h-3 w-3 mr-1`}),`编辑`]}),o&&(0,g.jsx)(P,{size:`sm`,variant:`ghost`,className:`h-7 px-2 text-destructive hover:text-destructive`,onClick:o,title:`删除`,children:(0,g.jsx)(x.Trash2,{className:`h-3 w-3`})}),s&&(0,g.jsx)(P,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:s,children:(0,g.jsx)(x.Plus,{className:`h-3 w-3`})}),c&&(0,g.jsx)(P,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:c,children:(0,g.jsx)(x.Minus,{className:`h-3 w-3`})})]}))()})}function _n({value:e,className:t,size:n=`sm`,showText:r=!1,onCopy:i}){let[a,o]=(0,l.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{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{}}},c={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,g.jsxs)(P,{variant:`ghost`,size:`sm`,className:N(c[n],`hover:bg-muted/50 transition-colors`,t),onClick:s,title:a?`已复制`:`复制`,children:[a?(0,g.jsx)(x.Check,{className:N(u[n],`text-green-600`)}):(0,g.jsx)(x.Copy,{className:N(u[n],`text-muted-foreground`)}),r&&(0,g.jsx)(`span`,{className:`ml-1 text-xs`,children:a?`已复制`:`复制`})]})}var vn=e=>{let t=e.getIsPinned();if(!t)return{};let n=t===`left`&&e.getIsLastColumn(`left`),r=t===`right`&&e.getIsFirstColumn(`right`),i=e.getSize();return{boxShadow:n?`-2px 0 3px -2px rgba(0, 0, 0, 0.06) inset`:r?`2px 0 3px -2px rgba(0, 0, 0, 0.06) inset`:void 0,left:t===`left`?`${e.getStart(`left`)}px`:void 0,right:t===`right`?`${e.getAfter(`right`)}px`:void 0,opacity:.98,position:t?`sticky`:`relative`,zIndex:t?1:0,backgroundColor:`var(--background)`,minWidth:t?`${i}px`:void 0,maxWidth:t?`${i}px`:void 0}};function H({row:e,children:t}){let{attributes:n,listeners:r,setNodeRef:i,transform:a,transition:o,isDragging:s}=(0,ee.useSortable)({id:e.id}),c={transform:te.CSS.Transform.toString(a),transition:o,opacity:s?.5:1};return(0,g.jsxs)(ze,{ref:i,style:c,"data-state":e.getIsSelected&&e.getIsSelected()?`selected`:void 0,...n,children:[(0,g.jsx)(Ve,{className:`w-8`,children:(0,g.jsx)(P,{variant:`ghost`,size:`icon`,className:`h-6 w-6 cursor-move`,...r,children:(0,g.jsx)(x.GripVertical,{className:`h-3 w-3`})})}),t]})}const yn=(0,l.forwardRef)((e,t)=>{let{columns:n=[],className:r,classNames:i,style:a,tableStyle:o,size:s=`middle`,bordered:c=!1,loading:d=!1,toolbar:f,pagination:p,rowSelection:m,draggable:h,editable:_,headerTitle:v,headerSubTitle:y,footer:b,onRow:S,search:C,cardBordered:w=!1,cardProps:te,tableRender:E,tableExtraRender:re,emptyRender:ie,onSubmit:ae,onReset:D,scroll:O,sticky:oe,tableLayout:se,locale:ce,expandable:A,rowKey:le=`id`}=e,[ue,de]=(0,l.useState)(()=>n);(0,l.useEffect)(()=>{de(n)},[n]);let fe={...e,columns:ue},{table:j,state:M,actions:me,handlers:he}=et(fe),{request:ge}=fe,{visibleColumns:_e,setVisibleColumns:ve,columnSettings:ye,updateColumnSettings:be}=F({columns:ue,rowSelection:!!m,draggable:!!h,editable:!!_}),xe=A!==!1&&A!==void 0,Se=A!==!1&&A!==void 0&&A.childrenColumnName||`children`,Ce=typeof le==`function`?le:e=>e[le]||e.id||e.key,we=(0,l.useCallback)(e=>{let t=[];return e.forEach(e=>{t.push(Ce(e));let n=e[Se];n&&Array.isArray(n)&&n.length>0&&t.push(...we(n))}),t},[Se,Ce]),[Te,Ee]=(0,l.useState)(()=>A!==!1&&A!==void 0&&A.defaultExpandAllRows&&M.data.length>0?we(M.data):A!==!1&&A!==void 0&&A.defaultExpandedRowKeys||[]),De=A!==!1&&A!==void 0?A.expandedRowKeys??Te:Te,Oe=A!==!1&&A!==void 0&&A.expandedRowKeys!==void 0;(0,l.useEffect)(()=>{A!==!1&&A!==void 0&&A.defaultExpandAllRows&&M.data.length>0&&!Oe&&Ee(we(M.data))},[M.data,A!==!1&&A!==void 0?A.defaultExpandAllRows:!1,we,Oe]);let ke=(0,l.useCallback)((e,t)=>{let n=Ce(e),r;r=A!==!1&&A!==void 0&&A.accordion?t?[n]:[]:t?[...De,n]:De.filter(e=>e!==n),Oe||Ee(r),A!==!1&&A!==void 0&&(A.onExpand?.(t,e),A.onExpandedRowsChange?.(r))},[De,A,Oe,Ce]),Ae=(0,l.useCallback)(e=>{let t=e[Se];return!!(t&&Array.isArray(t)&&t.length>0)},[Se]),je=(0,l.useCallback)(e=>{let t=Ce(e);return De.includes(t)},[De,Ce]),[Ne,Pe]=(0,l.useState)(s),[Re,He]=(0,l.useState)(!1),Ge=(0,T.useSensors)((0,T.useSensor)(T.PointerSensor),(0,T.useSensor)(T.KeyboardSensor));(0,l.useImperativeHandle)(t,()=>me,[me]);let Ke=e=>{if(h&&typeof h==`object`&&typeof h.onDragEnd==`function`){let{active:t,over:n}=e;if(!n||t.id===n.id)return;let r=j.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=[...M.data],[n]=t.splice(i,1);t.splice(a,0,n);try{me.setTableData(t)}catch{}try{h.onDragEnd({active:{id:e.active.id},over:e.over?{id:e.over.id}:null,items:t,oldIndex:0,newIndex:0})}catch{}}}},qe=()=>{try{j.toggleAllRowsSelected?.(!1)}catch{}me.clearSelected()},Je=e=>{he.handleSearch(e),ae?.(e)},Xe=()=>{he.handleReset(),D?.()},Ze=(e,t)=>{if(j.setColumnFilters(n=>{let r=(Array.isArray(n)?n:[]).filter(t=>t.id!==e);return t.length>0&&r.push({id:e,value:t}),r}),ge){let n={...M.filters};t.length>0?n[e]=t:delete n[e],he.handleSearch(n)}},Qe=e=>{if(j.setColumnFilters(t=>(Array.isArray(t)?t:[]).filter(t=>t.id!==e)),ge){let t={...M.filters};delete t[e],he.handleSearch(t)}},$e=(e,t)=>{if(e===`order`&&Array.isArray(t)){de(t);return}if(typeof e==`string`&&t&&t.fixed!==void 0){let n=e,r=t.fixed;de(e=>e.map(e=>(e.key||String(e.dataIndex))===n?{...e,fixed:r}:e));return}be(e,t)},tt={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`},nt=ue.length+(m?1:0)+(h?1:0),rt=(e,t=0)=>{let n=e.original,r=Ce(n)||e.original.id||e.original.key||e.id,i=M.editingKey===r;return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(hn,{record:n,indent:t,hasChild:Ae(n),expanded:je(n),expandable:A,isExpandable:xe,onExpand:ke}),m&&(0,g.jsx)(Ve,{className:`w-8`,children:(0,g.jsx)(Ue,{checked:e.getIsSelected?.()??!1,onCheckedChange:t=>e.toggleSelected?.(!!t),"aria-label":`Select row`})}),e.getVisibleCells().map(t=>{let n=ue.find(e=>(e.key||String(e.dataIndex))===t.column.id),a=vn(t.column),o=n?.width||t.column.getSize(),s=t.column.getIsPinned();return _&&n?.editable&&i?(0,g.jsx)(Ve,{className:N(`align-middle`,n?.align&&`text-${n.align}`),style:{...a,width:o,...s&&typeof o==`number`?{minWidth:`${o}px`,maxWidth:`${o}px`}:typeof o==`string`&&o.endsWith(`px`)?{minWidth:o,maxWidth:o}:{}},children:(0,g.jsx)(`div`,{className:`flex items-center gap-2`,children:(0,g.jsx)(`div`,{className:`flex-1 min-w-0`,children:(()=>{let a=(0,g.jsx)(`div`,{className:N(n?.ellipsis&&(()=>{if(typeof n.ellipsis==`object`&&n.ellipsis.multiline){let e=n.ellipsis.rows||2;return{1:`line-clamp-1`,2:`line-clamp-2`,3:`line-clamp-3`,4:`line-clamp-4`,5:`line-clamp-5`}[e]||`line-clamp-2`}return`truncate`})()),children:(0,g.jsx)(B,{value:t.getValue(),record:e.original,column:n,isEditing:i,onSave:t=>{let i={...e.original,[n.dataIndex]:t};me.saveEditable(r,i),_?.onSave&&_.onSave(r,i,e.original)},onCancel:()=>me.cancelEditable(r),onStartEdit:()=>me.startEditable(r)})}),o=!!n?.ellipsis;if(n?.tooltip&&!i){let r=typeof n.tooltip==`object`?n.tooltip:{};if(r.disabled)return a;let i;if(typeof n.tooltip==`object`&&r.content!==void 0)i=typeof r.content==`function`?r.content(t.getValue(),e.original,e.index):r.content;else if(o){let r=n?.dataIndex?e.original[n.dataIndex]:t.getValue();i=typeof r==`object`&&r?JSON.stringify(r,null,2):String(r??``)}else i=t.getValue();return(0,g.jsxs)(vt,{delayDuration:r.delayDuration,children:[(0,g.jsx)(yt,{asChild:!0,children:a}),(0,g.jsx)(I,{side:r.side||`top`,align:r.align,children:i})]})}return a})()})})},t.id):(0,g.jsx)(Ve,{className:N(`align-middle`,n?.align&&`text-${n.align}`),style:{...a,width:o,...s&&typeof o==`number`?{minWidth:`${o}px`,maxWidth:`${o}px`}:typeof o==`string`&&o.endsWith(`px`)?{minWidth:o,maxWidth:o}:{}},children:(0,g.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,g.jsx)(`div`,{className:`flex-1 min-w-0`,children:(()=>{let r=(0,g.jsx)(`div`,{className:N(n?.ellipsis&&(()=>{if(typeof n.ellipsis==`object`&&n.ellipsis.multiline){let e=n.ellipsis.rows||2;return{1:`line-clamp-1`,2:`line-clamp-2`,3:`line-clamp-3`,4:`line-clamp-4`,5:`line-clamp-5`}[e]||`line-clamp-2`}return`truncate`})()),children:n?.valueType?Me(n.valueType,t.getValue(),n):(0,u.flexRender)(t.column.columnDef.cell,t.getContext())}),i=!!n?.ellipsis;if(n?.tooltip){let a=typeof n.tooltip==`object`?n.tooltip:{};if(a.disabled)return r;let o;if(typeof n.tooltip==`object`&&a.content!==void 0)o=typeof a.content==`function`?a.content(t.getValue(),e.original,e.index):a.content;else if(i){let r=n?.dataIndex?e.original[n.dataIndex]:t.getValue();o=typeof r==`object`&&r?JSON.stringify(r,null,2):String(r??``)}else o=t.getValue();return(0,g.jsxs)(vt,{delayDuration:a.delayDuration,children:[(0,g.jsx)(yt,{asChild:!0,children:r}),(0,g.jsx)(I,{side:a.side||`top`,align:a.align,children:o})]})}return r})()}),n?.copyable&&(()=>{let r=(typeof n.copyable==`object`?n.copyable:null)?.onCopy;return(0,g.jsx)(_n,{value:t.getValue(),size:`sm`,onCopy:r?t=>{r(t,e.original,e.index)}:void 0})})()]})},t.id)}),_&&(0,g.jsx)(Ve,{className:`w-32`,children:(0,g.jsx)(gn,{record:e.original,config:{isEditing:i,editingKey:M.editingKey||``},editable:_,onEdit:()=>me.startEditable(r),onSave:()=>{me.cancelEditable(r)},onCancel:()=>me.cancelEditable(r),onDelete:_.onDelete?()=>{_.onDelete&&_.onDelete(r,e.original)}:void 0})})]})},it=(e,t=0)=>{let n=Ce(e),r=Ae(e),i=je(e),a=e[Se],o={id:String(n),original:e,index:M.data.findIndex(e=>Ce(e)===n),getIsSelected:()=>{try{return j.getRow(String(n))?.getIsSelected()??!1}catch{return!1}},toggleSelected:e=>{try{let t=j.getRow(String(n));t&&t.toggleSelected(e)}catch{}},getVisibleCells:()=>ue.filter(e=>!e.hideInTable).map(t=>{let n=t.key||String(t.dataIndex),r=t.dataPath||t.dataIndex,i=()=>{if(r)return pe(e,Array.isArray(r)||typeof r==`string`?r:String(r))},a=null;try{a=j.getColumn(n)}catch{a={id:n,getCanSort:()=>!!t.sorter,getIsSorted:()=>!1,columnDef:{cell:({getValue:n})=>{let r=n();return t.render?t.render(r,e,o.index):r}}}}let s=a||{id:n,getCanSort:()=>!!t.sorter,getIsSorted:()=>!1,columnDef:{cell:({getValue:n})=>{let r=n();return t.render?t.render(r,e,o.index):r}}},c={id:`${o.id}_${n}`,column:s,getValue:i,row:o,getContext:()=>({row:o,column:s,cell:c,getValue:i,renderValue:e=>e,table:j})};return c})},s=S?.(e,t)||{},c=[];return h?c.push((0,g.jsx)(H,{row:o,children:rt(o,t)},o.id)):c.push((0,g.jsx)(ze,{"data-state":o.getIsSelected&&o.getIsSelected()?`selected`:void 0,...s,children:rt(o,t)},o.id)),i&&r&&a&&a.length>0&&a.forEach(e=>{c.push(...it(e,t+1))}),c},at=(e,t)=>{let n=S?.(e.original,t)||{};return h?(0,g.jsx)(H,{row:e,children:rt(e,0)},e.id):(0,g.jsx)(ze,{"data-state":e.getIsSelected&&e.getIsSelected()?`selected`:void 0,...n,children:rt(e,0)},e.id)},ot=(0,g.jsx)(`div`,{className:N(`relative`,O?.x&&`overflow-x-auto`,O?.y&&`overflow-y-auto`,i?.container),children:(0,g.jsx)(`div`,{className:N(`rounded-md`,c&&`border`,i?.wrapper),style:{maxWidth:O?.x?`${O.x}px`:void 0,overflowX:O?.x?`auto`:void 0,maxHeight:O?.y?`${O.y}px`:void 0},children:(0,g.jsx)(T.DndContext,{sensors:Ge,collisionDetection:T.closestCenter,modifiers:[ne.restrictToVerticalAxis],onDragEnd:Ke,children:(0,g.jsxs)(Fe,{className:N(tt[Ne],oe&&`sticky-header`,i?.table),style:{...o,width:`100%`,tableLayout:se||(O?.x?`fixed`:`auto`),maxWidth:O?.x?`${O.x}px`:void 0,...oe&&{position:`relative`}},children:[(0,g.jsx)(Ie,{className:N(oe&&`sticky top-0 z-10 bg-background`,i?.tableHeader),style:oe?{position:`sticky`,top:typeof oe==`object`&&oe.offsetHeader||0,zIndex:10}:void 0,children:j.getHeaderGroups().map(e=>(0,g.jsxs)(ze,{children:[xe&&A?.showExpandColumn!==!1&&(0,g.jsx)(Be,{className:`w-8`,style:{width:`${A?.expandColumnWidth||50}px`}}),h&&(0,g.jsx)(Be,{className:`w-8`}),m&&(0,g.jsx)(Be,{className:`w-8`,children:(0,g.jsx)(Ue,{checked:j.getIsAllPageRowsSelected?.()??!1,onCheckedChange:e=>j.toggleAllPageRowsSelected?.(!!e),"aria-label":`Select all`})}),e.headers.map((e,t)=>{let n=ue.find(t=>(t.key||String(t.dataIndex))===e.column.id),r=vn(e.column),i=n?.headerEllipsis??n?.ellipsis,a=n?.headerTooltip??n?.tooltip,o=n?.width||e.column.getSize(),s=e.column.getIsPinned();return(0,g.jsx)(Be,{style:{...r,width:o,...s&&typeof o==`number`?{minWidth:`${o}px`,maxWidth:`${o}px`}:typeof o==`string`&&o.endsWith(`px`)?{minWidth:o,maxWidth:o}:{}},className:N(`font-medium`,n?.align&&`text-${n.align}`,i&&`whitespace-normal`),children:e.isPlaceholder?null:(0,g.jsxs)(`div`,{className:`flex items-center gap-2 min-w-0`,children:[(()=>{let r=(0,u.flexRender)(e.column.columnDef.header,e.getContext()),o=(0,g.jsx)(`span`,{className:N(`flex-1 min-w-0`,i&&(()=>{if(typeof i==`object`&&i.multiline){let e=i.rows||2;return{1:`line-clamp-1`,2:`line-clamp-2`,3:`line-clamp-3`,4:`line-clamp-4`,5:`line-clamp-5`}[e]||`line-clamp-2`}return`truncate`})()),children:r});if(a){let e=typeof a==`object`?a:{};if(e.disabled)return o;let i;return i=typeof a==`object`&&e.content!==void 0?typeof e.content==`function`?e.content(r,n||{},t):e.content:r,(0,g.jsxs)(vt,{delayDuration:e.delayDuration,children:[(0,g.jsx)(yt,{asChild:!0,children:o}),(0,g.jsx)(I,{side:e.side||`top`,align:e.align,children:i})]})}return o})(),(0,g.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0`,children:[e.column.getCanSort()&&(0,g.jsxs)(P,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0 hover:bg-muted`,onClick:()=>e.column.toggleSorting(),children:[e.column.getIsSorted()===`asc`&&(0,g.jsx)(x.ArrowUp,{className:`h-3 w-3`}),e.column.getIsSorted()===`desc`&&(0,g.jsx)(x.ArrowDown,{className:`h-3 w-3`}),!e.column.getIsSorted()&&(0,g.jsx)(x.ArrowUpDown,{className:`h-3 w-3 opacity-50`})]}),n?.filters&&n.filters.length>0&&(0,g.jsx)(Dt,{column:{key:n.key,dataIndex:String(n.dataIndex),title:n.title,filters:n.filters},value:Array.isArray(j.getColumn(n.key||String(n.dataIndex))?.getFilterValue())?j.getColumn(n.key||String(n.dataIndex))?.getFilterValue():[],onChange:e=>Ze(n.key||String(n.dataIndex),e),onClear:()=>Qe(n.key||String(n.dataIndex))})]})]})},e.id)})]},e.id))}),(0,g.jsx)(Le,{className:N(i?.tableBody),children:d?(0,g.jsx)(V,{columnCount:ue.length,draggable:!!h,rowSelection:!!m}):M.data.length===0?(0,g.jsx)(pn,{colSpan:nt,emptyRender:ie}):h?(0,g.jsx)(ee.SortableContext,{items:j.getRowModel().rows.map(e=>e.id),strategy:ee.verticalListSortingStrategy,children:j.getRowModel().rows.map((e,t)=>at(e,t))}):xe?(0,g.jsx)(g.Fragment,{children:M.data.map(e=>{let t=it(e,0);return(0,g.jsx)(l.Fragment,{children:t},Ce(e))})}):j.getRowModel().rows.map((e,t)=>at(e,t))})]})})})}),st=E?E(e,ot,{toolbar:f!==!1,search:C!==!1,table:!0}):ot,ct=N(`flex flex-col gap-4 transition-all duration-300 ease-in-out`,Re?`fixed inset-0 z-50 bg-background p-4 transform scale-100`:`transform scale-100`,r),lt=(0,g.jsx)(St,{locale:ce,children:(0,g.jsxs)(`div`,{className:ct,style:a,children:[C!==!1&&(()=>{let e=k(ue);return e.length>0||typeof C==`object`&&C?(0,g.jsx)(en,{...typeof C==`object`?C:{},columns:e,onSearch:Je,onReset:Xe,loading:M.loading}):null})(),f!==!1&&(0,g.jsx)(Et,{...typeof f==`object`?f:{},title:v,subTitle:y,table:j,columns:ue,loading:M.loading,onReload:()=>me.reload(),fullScreen:Re,onFullScreenChange:He,density:Ne,onDensityChange:Pe,visibleColumns:_e,onVisibleColumnsChange:ve,columnSettings:ye,onColumnSettingsChange:$e}),m&&(0,g.jsx)(on,{selectedCount:j.getFilteredSelectedRowModel().rows.length,selectedRows:j.getFilteredSelectedRowModel().rows.map(e=>e.original),onClear:qe,alwaysShow:m.alwaysShowAlert,batchActions:m.batchActions}),re?.(e,M.data),st,b&&(0,g.jsx)(`div`,{className:`px-4`,children:b(M.data)}),p!==!1&&(0,g.jsx)(zt,{...typeof p==`object`?p:{},current:M.current,pageSize:M.pageSize,total:M.total,onPaginationChange:he.handlePaginationChange})]})});return w?(0,g.jsx)(We,{...te,className:N(te?.className),children:(0,g.jsx)(Ye,{children:lt})}):lt});var bn=new Map;function xn(e,t={}){let{manual:n=!1,defaultParams:r={},onSuccess:i,onError:a,debounceWait:o=0,retryCount:s=0,cacheKey:c,cacheTime:u=300*1e3}=t,[d,f]=(0,l.useState)([]),[p,m]=(0,l.useState)(!n),[h,g]=(0,l.useState)(null),[_,v]=(0,l.useState)(0),y=(0,l.useRef)(r),b=(0,l.useRef)(0),x=(0,l.useRef)(null),S=(0,l.useRef)(null),C=(0,l.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,c){let e=bn.get(c);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),c&&bn.set(c,{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,c,u]),w=(0,l.useCallback)(async()=>{await C(y.current)},[C]),T=(0,l.useCallback)(()=>{x.current&&x.current.abort(),S.current&&clearTimeout(S.current),m(!1)},[]),ee=(0,l.useCallback)(e=>{f(e),v(e.length)},[]);return(0,l.useEffect)(()=>(n||C(),()=>{T()}),[]),{data:d,loading:p,error:h,total:_,run:C,refresh:w,cancel:T,mutate:ee}}const Sn={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=nn,exports.AlertDescription=R,exports.AlertTitle=rn,exports.Avatar=Ee,exports.AvatarFallback=Oe,exports.AvatarImage=De,exports.Badge=Te,exports.BatchActions=on,exports.Button=P,exports.Calendar=Bt,exports.CalendarDayButton=Vt,exports.Card=We,exports.CardAction=Je,exports.CardContent=Ye,exports.CardDescription=qe,exports.CardFooter=Xe,exports.CardHeader=Ge,exports.CardTitle=Ke,exports.Checkbox=Ue,exports.ColumnSetting=Tt,exports.DatePicker=Kt,exports.DateRangePicker=qt,exports.DropdownMenu=nt,exports.DropdownMenuCheckboxItem=ct,exports.DropdownMenuContent=at,exports.DropdownMenuGroup=ot,exports.DropdownMenuItem=st,exports.DropdownMenuLabel=dt,exports.DropdownMenuPortal=rt,exports.DropdownMenuRadioGroup=lt,exports.DropdownMenuRadioItem=ut,exports.DropdownMenuSeparator=ft,exports.DropdownMenuShortcut=pt,exports.DropdownMenuSub=mt,exports.DropdownMenuSubContent=gt,exports.DropdownMenuSubTrigger=ht,exports.DropdownMenuTrigger=it,exports.Input=tt,exports.Label=Jt,exports.Pagination=zt,exports.Popover=Ht,exports.PopoverAnchor=Gt,exports.PopoverContent=Wt,exports.PopoverTrigger=Ut,exports.ProTable=yn,exports.Progress=Ae,exports.Search=en,exports.Select=L,exports.SelectContent=jt,exports.SelectGroup=Ot,exports.SelectItem=Nt,exports.SelectLabel=Mt,exports.SelectScrollDownButton=It,exports.SelectScrollUpButton=Ft,exports.SelectSeparator=Pt,exports.SelectTrigger=At,exports.SelectValue=kt,exports.Skeleton=mn,exports.Switch=ke,exports.Table=Fe,exports.TableBody=Le,exports.TableCaption=He,exports.TableCell=Ve,exports.TableFooter=Re,exports.TableHead=Be,exports.TableHeader=Ie,exports.TableRow=ze,exports.ToolBar=Et,exports.Tooltip=vt,exports.TooltipContent=I,exports.TooltipProvider=_t,exports.TooltipTrigger=yt,exports.badgeVariants=we,exports.buttonVariants=Ze,exports.cn=N,exports.copyToClipboard=j,exports.debounce=ue,exports.deepMerge=le,exports.en_US=bt,exports.extractSearchColumns=k,exports.extractTableColumns=ce,exports.formatFileSize=be,exports.formatNumber=fe,exports.generateId=A,exports.generateRandomColor=xe,exports.getColumnDataPath=me,exports.getColumnId=he,exports.getNestedValue=pe,exports.groupBy=ve,exports.isEmpty=M,exports.parseQueryString=Se,exports.registerValueType=Pe,exports.renderFormItem=Ne,exports.renderValue=Me,exports.setNestedValue=ge,exports.sleep=ye,exports.stringifyQuery=Ce,exports.throttle=de,exports.uniqueArray=_e,exports.useColumns=F,exports.useProTable=et,exports.useRequest=xn,exports.zh_CN=Sn;
|
package/dist/index.js
CHANGED
|
@@ -3873,6 +3873,10 @@ function proTableReducer(e, t) {
|
|
|
3873
3873
|
data: t.payload.data,
|
|
3874
3874
|
total: t.payload.total ?? e.total
|
|
3875
3875
|
};
|
|
3876
|
+
case "SET_TOTAL": return {
|
|
3877
|
+
...e,
|
|
3878
|
+
total: t.payload
|
|
3879
|
+
};
|
|
3876
3880
|
case "SET_PAGINATION": return {
|
|
3877
3881
|
...e,
|
|
3878
3882
|
current: t.payload.current ?? e.current,
|
|
@@ -3924,7 +3928,7 @@ function useProTable(e) {
|
|
|
3924
3928
|
let { columns: t = [], dataSource: n, request: r, params: i = {}, postData: o, defaultData: c = [], loading: p, rowKey: y = "id", rowSelection: b, pagination: x, onLoad: S, onLoadingChange: C, onRequestError: w } = e, ee = {
|
|
3925
3929
|
loading: p ?? !1,
|
|
3926
3930
|
data: n ?? c,
|
|
3927
|
-
total: n?.length ?? 0,
|
|
3931
|
+
total: (x === !1 ? void 0 : x?.total) ?? n?.length ?? 0,
|
|
3928
3932
|
current: x === !1 ? 1 : x?.current ?? 1,
|
|
3929
3933
|
pageSize: x === !1 ? 10 : x?.pageSize ?? 10,
|
|
3930
3934
|
filters: {},
|
|
@@ -4045,7 +4049,41 @@ function useProTable(e) {
|
|
|
4045
4049
|
S,
|
|
4046
4050
|
C,
|
|
4047
4051
|
w
|
|
4048
|
-
])
|
|
4052
|
+
]);
|
|
4053
|
+
useEffect(() => {
|
|
4054
|
+
if (x === !1 || !x) return;
|
|
4055
|
+
let e = x.current, t = x.pageSize;
|
|
4056
|
+
if (e == null && t == null || !(e != null && e !== T.current || t != null && t !== T.pageSize)) return;
|
|
4057
|
+
let n = {
|
|
4058
|
+
current: e ?? T.current,
|
|
4059
|
+
pageSize: t ?? T.pageSize
|
|
4060
|
+
};
|
|
4061
|
+
if (r) {
|
|
4062
|
+
E({
|
|
4063
|
+
type: "SET_PAGINATION",
|
|
4064
|
+
payload: n
|
|
4065
|
+
}), _e(n);
|
|
4066
|
+
return;
|
|
4067
|
+
}
|
|
4068
|
+
E({
|
|
4069
|
+
type: "SET_PAGINATION",
|
|
4070
|
+
payload: n
|
|
4071
|
+
});
|
|
4072
|
+
}, [
|
|
4073
|
+
x,
|
|
4074
|
+
r,
|
|
4075
|
+
_e,
|
|
4076
|
+
T.current,
|
|
4077
|
+
T.pageSize
|
|
4078
|
+
]), useEffect(() => {
|
|
4079
|
+
if (x === !1) return;
|
|
4080
|
+
let e = x?.total;
|
|
4081
|
+
e != null && e !== T.total && E({
|
|
4082
|
+
type: "SET_TOTAL",
|
|
4083
|
+
payload: e
|
|
4084
|
+
});
|
|
4085
|
+
}, [x, T.total]);
|
|
4086
|
+
let ve = useMemo(() => t.filter((e) => !e.hideInTable).map((e) => ({
|
|
4049
4087
|
id: e.key || String(e.dataIndex),
|
|
4050
4088
|
accessorKey: e.dataIndex,
|
|
4051
4089
|
header: e.title,
|
|
@@ -4100,16 +4138,22 @@ function useProTable(e) {
|
|
|
4100
4138
|
columnResizeMode: "onChange",
|
|
4101
4139
|
enableColumnPinning: !0
|
|
4102
4140
|
}), A = useCallback((e, t) => {
|
|
4103
|
-
r ?
|
|
4141
|
+
r ? (E({
|
|
4142
|
+
type: "SET_PAGINATION",
|
|
4143
|
+
payload: {
|
|
4144
|
+
current: e,
|
|
4145
|
+
pageSize: t
|
|
4146
|
+
}
|
|
4147
|
+
}), _e({
|
|
4104
4148
|
current: e,
|
|
4105
4149
|
pageSize: t
|
|
4106
|
-
}) : E({
|
|
4150
|
+
})) : E({
|
|
4107
4151
|
type: "SET_PAGINATION",
|
|
4108
4152
|
payload: {
|
|
4109
4153
|
current: e,
|
|
4110
4154
|
pageSize: t
|
|
4111
4155
|
}
|
|
4112
|
-
})
|
|
4156
|
+
});
|
|
4113
4157
|
}, [
|
|
4114
4158
|
r,
|
|
4115
4159
|
_e,
|
|
@@ -4193,10 +4237,10 @@ function useProTable(e) {
|
|
|
4193
4237
|
type: "SET_DATA",
|
|
4194
4238
|
payload: {
|
|
4195
4239
|
data: n,
|
|
4196
|
-
total: n.length
|
|
4240
|
+
total: (x === !1 ? void 0 : x?.total) ?? n.length
|
|
4197
4241
|
}
|
|
4198
4242
|
});
|
|
4199
|
-
}, [n]), {
|
|
4243
|
+
}, [n, x]), {
|
|
4200
4244
|
table: k,
|
|
4201
4245
|
state: T,
|
|
4202
4246
|
dispatch: E,
|