@gulibs/react-vtable 0.0.15 → 0.0.16
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 +98 -2
- package/dist/hooks/use-pro-table.d.ts.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +57 -21
- package/dist/pro-table.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -84,7 +84,7 @@ function App() {
|
|
|
84
84
|
- **Search & Filter**: Advanced search and filtering capabilities with default behavior for local and remote data modes
|
|
85
85
|
- **Pagination**: Built-in pagination with customizable options
|
|
86
86
|
- **Column Settings**: Show/hide columns, drag to reorder
|
|
87
|
-
- **Row Selection**: Single and multiple row selection with batch actions
|
|
87
|
+
- **Row Selection**: Single and multiple row selection with batch actions, **cross-page selection support** (selection state persists across pages when using `request` or `pagination.onChange`)
|
|
88
88
|
- **Editable Rows**: Inline editing capabilities with various value types
|
|
89
89
|
- **Fixed Columns**: Left and right fixed columns with automatic position calculation and subtle shadow effects (powered by TanStack Table column pinning)
|
|
90
90
|
- **Tree Table**: Hierarchical data display with expandable/collapsible rows, custom expand icons, and accordion mode
|
|
@@ -454,6 +454,54 @@ Tree tables support hierarchical data structures with expandable/collapsible row
|
|
|
454
454
|
/>
|
|
455
455
|
```
|
|
456
456
|
|
|
457
|
+
**Cross-Page Selection Support:**
|
|
458
|
+
|
|
459
|
+
When using `request` or `pagination.onChange` for remote data fetching, the table automatically maintains selection state across pages. This means:
|
|
460
|
+
|
|
461
|
+
- Selections made on one page are preserved when navigating to other pages
|
|
462
|
+
- The batch actions bar shows the **total count** of selected rows across all pages
|
|
463
|
+
- When you return to a previously visited page, your selections are automatically restored
|
|
464
|
+
- The `onChange` callback receives all selected row keys across all pages
|
|
465
|
+
|
|
466
|
+
```tsx
|
|
467
|
+
<ProTable
|
|
468
|
+
columns={columns}
|
|
469
|
+
rowKey="id"
|
|
470
|
+
request={async (params) => {
|
|
471
|
+
const res = await fetchUsers(params)
|
|
472
|
+
return { data: res.items, total: res.total, success: true }
|
|
473
|
+
}}
|
|
474
|
+
rowSelection={{
|
|
475
|
+
type: 'checkbox',
|
|
476
|
+
onChange: (selectedRowKeys, selectedRows) => {
|
|
477
|
+
// selectedRowKeys contains ALL selected keys across all pages
|
|
478
|
+
// selectedRows contains rows from the current page only
|
|
479
|
+
console.log('Total selected across all pages:', selectedRowKeys.length)
|
|
480
|
+
},
|
|
481
|
+
batchActions: {
|
|
482
|
+
onDelete: (rows) => {
|
|
483
|
+
// This will receive rows from current page only
|
|
484
|
+
// Use selectedRowKeys from onChange for full selection
|
|
485
|
+
console.log('Delete current page rows:', rows)
|
|
486
|
+
}
|
|
487
|
+
}
|
|
488
|
+
}}
|
|
489
|
+
pagination={{
|
|
490
|
+
pageSize: 10,
|
|
491
|
+
showSizeChanger: true,
|
|
492
|
+
onChange: (current, pageSize) => {
|
|
493
|
+
// Selection state is automatically preserved when page changes
|
|
494
|
+
}
|
|
495
|
+
}}
|
|
496
|
+
/>
|
|
497
|
+
```
|
|
498
|
+
|
|
499
|
+
**Important Notes:**
|
|
500
|
+
- Cross-page selection works automatically when using `request` or `pagination.onChange`
|
|
501
|
+
- With `dataSource` (local data), selection works normally but doesn't need cross-page support
|
|
502
|
+
- The batch actions bar always shows the total count of selected rows across all pages
|
|
503
|
+
- Use `rowSelection.onChange` to get all selected keys if you need to perform operations on all selected rows
|
|
504
|
+
|
|
457
505
|
#### With Text Ellipsis and Tooltip
|
|
458
506
|
|
|
459
507
|
```tsx
|
|
@@ -736,7 +784,7 @@ function App() {
|
|
|
736
784
|
- **搜索筛选**: 高级搜索和筛选功能,支持本地和远程数据模式的默认行为
|
|
737
785
|
- **分页**: 内置分页,支持自定义选项
|
|
738
786
|
- **列设置**: 显示 / 隐藏列,拖拽重排序
|
|
739
|
-
- **行选择**:
|
|
787
|
+
- **行选择**: 单选和多选行,支持批量操作,**跨页选中支持**(使用 `request` 或 `pagination.onChange` 时,选中状态会在切换页面时保留)
|
|
740
788
|
- **可编辑行**: 内联编辑功能,支持多种值类型
|
|
741
789
|
- **固定列**: 左右固定列,自动计算位置并应用柔和阴影效果(基于 TanStack Table column pinning)
|
|
742
790
|
- **树形表格**: 层次数据展示,支持展开 / 收起行、自定义展开图标和手风琴模式
|
|
@@ -1103,6 +1151,54 @@ import { ProTable, zh_CN } from '@gulibs/react-vtable'
|
|
|
1103
1151
|
/>
|
|
1104
1152
|
```
|
|
1105
1153
|
|
|
1154
|
+
**跨页选中支持:**
|
|
1155
|
+
|
|
1156
|
+
当使用 `request` 或 `pagination.onChange` 进行远程数据获取时,表格会自动维护跨页选中状态。这意味着:
|
|
1157
|
+
|
|
1158
|
+
- 在某一页选择的行,在切换到其他页面时会保留
|
|
1159
|
+
- 批量操作栏会显示**所有页面**的选中总数
|
|
1160
|
+
- 当返回到之前访问过的页面时,之前的选中状态会自动恢复
|
|
1161
|
+
- `onChange` 回调会接收到所有页面的选中行 keys
|
|
1162
|
+
|
|
1163
|
+
```tsx
|
|
1164
|
+
<ProTable
|
|
1165
|
+
columns={columns}
|
|
1166
|
+
rowKey="id"
|
|
1167
|
+
request={async (params) => {
|
|
1168
|
+
const res = await fetchUsers(params)
|
|
1169
|
+
return { data: res.items, total: res.total, success: true }
|
|
1170
|
+
}}
|
|
1171
|
+
rowSelection={{
|
|
1172
|
+
type: 'checkbox',
|
|
1173
|
+
onChange: (selectedRowKeys, selectedRows) => {
|
|
1174
|
+
// selectedRowKeys 包含所有页面的选中 keys
|
|
1175
|
+
// selectedRows 仅包含当前页的行数据
|
|
1176
|
+
console.log('所有页面选中的总数:', selectedRowKeys.length)
|
|
1177
|
+
},
|
|
1178
|
+
batchActions: {
|
|
1179
|
+
onDelete: (rows) => {
|
|
1180
|
+
// 这里只会收到当前页的行数据
|
|
1181
|
+
// 如需操作所有选中的行,请使用 onChange 中的 selectedRowKeys
|
|
1182
|
+
console.log('删除当前页行:', rows)
|
|
1183
|
+
}
|
|
1184
|
+
}
|
|
1185
|
+
}}
|
|
1186
|
+
pagination={{
|
|
1187
|
+
pageSize: 10,
|
|
1188
|
+
showSizeChanger: true,
|
|
1189
|
+
onChange: (current, pageSize) => {
|
|
1190
|
+
// 切换页面时,选中状态会自动保留
|
|
1191
|
+
}
|
|
1192
|
+
}}
|
|
1193
|
+
/>
|
|
1194
|
+
```
|
|
1195
|
+
|
|
1196
|
+
**重要提示:**
|
|
1197
|
+
- 跨页选中在使用 `request` 或 `pagination.onChange` 时会自动生效
|
|
1198
|
+
- 使用 `dataSource`(本地数据)时,选中功能正常工作,但不需要跨页支持
|
|
1199
|
+
- 批量操作栏始终显示所有页面的选中总数
|
|
1200
|
+
- 如需对所有选中的行进行操作,请使用 `rowSelection.onChange` 获取所有选中的 keys
|
|
1201
|
+
|
|
1106
1202
|
#### 带文本省略和提示框
|
|
1107
1203
|
|
|
1108
1204
|
```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,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;;;;;;
|
|
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;;;;;;0CAoZ8B,MAAM,YAAY,MAAM;+BAUnC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;;;EAqJhE"}
|
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 yt(o,h+`return `+p).apply(n,c)});if(_.source=p,Eu(_))throw _;return _}function gf(e){return Q(e).toLowerCase()}function _f(e){return Q(e).toUpperCase()}function vf(e,t,r){if(e=Q(e),e&&(r||t===n))return er(e);if(!e||!(t=Va(t)))return e;var i=Sr(e),a=Sr(t),o=ir(i,a),s=ar(i,a)+1;return $a(i,o,s).join(``)}function yf(e,t,r){if(e=Q(e),e&&(r||t===n))return e.slice(0,Cr(e)+1);if(!e||!(t=Va(t)))return e;var i=Sr(e),a=ar(i,Sr(t))+1;return $a(i,0,a).join(``)}function bf(e,t,r){if(e=Q(e),e&&(r||t===n))return e.replace(tt,``);if(!e||!(t=Va(t)))return e;var i=Sr(e),a=ir(i,Sr(t));return $a(i,a).join(``)}function xf(e,t){var r=ee,i=te;if(Y(t)){var a=`separator`in t?t.separator:a;r=`length`in t?Z(t.length):r,i=`omission`in t?Va(t.omission):i}e=Q(e);var o=e.length;if(dr(e)){var s=Sr(e);o=s.length}if(r>=o)return e;var c=r-xr(i);if(c<1)return i;var l=s?$a(s,0,c).join(``):e.slice(0,c);if(a===n)return l+i;if(s&&(c+=l.length-c),Bu(a)){if(e.slice(c).search(a)){var u,d=l;for(a.global||(a=xt(a.source,Q(lt.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(Va(a),c)!=c){var p=l.lastIndexOf(a);p>-1&&(l=l.slice(0,p))}return l+i}function Sf(e){return e=Q(e),e&&Ke.test(e)?e.replace(We,wr):e}var Cf=So(function(e,t,n){return e+(n?` `:``)+t.toUpperCase()}),wf=xo(`toUpperCase`);function Tf(e,t,r){return e=Q(e),t=r?n:t,t===n?fr(e)?Dr(e):Bn(e):e.match(t)||[]}var Ef=G(function(e,t){try{return En(e,n,t)}catch(e){return Eu(e)?e:new vt(e)}}),Df=Ko(function(e,t){return On(t,function(t){t=Bs(t),Ci(e,t,Vl(e[t],e))}),e});function Of(e){var t=e==null?0:e.length,n=K();return e=t?H(e,function(e){if(typeof e[1]!=`function`)throw new Ct(o);return[n(e[0]),e[1]]}):[],G(function(n){for(var r=-1;++r<t;){var i=e[r];if(En(i[0],this,n))return En(i[1],this,n)}})}function kf(e){return Di(Ei(e,d))}function Af(e){return function(){return e}}function jf(e,t){return e==null||e!==e?t:e}var Mf=Eo(),Nf=Eo(!0);function Pf(e){return e}function Ff(e){return ua(typeof e==`function`?e:Ei(e,d))}function If(e){return ha(Ei(e,d))}function Lf(e,t){return ga(e,Ei(t,d))}var Rf=G(function(e,t){return function(n){return Qi(n,e,t)}}),zf=G(function(e,t){return function(n){return Qi(e,n,t)}});function Bf(e,t,n){var r=$(t),i=Hi(t,r);n==null&&!(Y(t)&&(i.length||!r.length))&&(n=t,t=e,e=this,i=Hi(t,$(t)));var a=!(Y(n)&&`chain`in n)||!!n.chain,o=Ou(e);return On(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__=fo(this.__actions__)).push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,Pn([this.value()],arguments))})}),e}function Vf(){return B._===this&&(B._=Nt),this}function Hf(){}function Uf(e){return e=Z(e),G(function(t){return ya(t,e)})}var Wf=Ao(H),Gf=Ao(An),Kf=Ao(Ln);function qf(e){return _s(e)?qn(Bs(e)):Ca(e)}function Jf(e){return function(t){return e==null?n:Ui(e,t)}}var Yf=No(),Xf=No(!0);function Zf(){return[]}function Qf(){return!1}function $f(){return{}}function ep(){return``}function tp(){return!0}function np(e,t){if(e=Z(e),e<1||e>oe)return[];var n=le,r=cn(e,le);t=K(t),e-=le;for(var i=Qn(r,t);++n<e;)t(n);return i}function rp(e){return q(e)?H(e,Bs):Wu(e)?[e]:fo(zs(Q(e)))}function ip(e){var t=++kt;return Q(e)+t}var ap=ko(function(e,t){return e+t},0),op=Io(`ceil`),sp=ko(function(e,t){return e/t},1),cp=Io(`floor`);function lp(e){return e&&e.length?Pi(e,Pf,Ki):n}function up(e,t){return e&&e.length?Pi(e,K(t,2),Ki):n}function dp(e){return Kn(e,Pf)}function fp(e,t){return Kn(e,K(t,2))}function pp(e){return e&&e.length?Pi(e,Pf,pa):n}function mp(e,t){return e&&e.length?Pi(e,K(t,2),pa):n}var hp=ko(function(e,t){return e*t},1),gp=Io(`round`),_p=ko(function(e,t){return e-t},0);function vp(e){return e&&e.length?Zn(e,Pf):0}function yp(e,t){return e&&e.length?Zn(e,K(t,2)):0}return U.after=Rl,U.ary=zl,U.assign=rd,U.assignIn=id,U.assignInWith=ad,U.assignWith=od,U.at=sd,U.before=Bl,U.bind=Vl,U.bindAll=Df,U.bindKey=Hl,U.castArray=su,U.chain=el,U.chunk=Ws,U.compact=Gs,U.concat=Ks,U.cond=Of,U.conforms=kf,U.constant=Af,U.countBy=dl,U.create=cd,U.curry=Ul,U.curryRight=Wl,U.debounce=Gl,U.defaults=ld,U.defaultsDeep=ud,U.defer=Kl,U.delay=ql,U.difference=qs,U.differenceBy=Js,U.differenceWith=Ys,U.drop=Xs,U.dropRight=Zs,U.dropRightWhile=Qs,U.dropWhile=$s,U.fill=ec,U.filter=pl,U.flatMap=gl,U.flatMapDeep=_l,U.flatMapDepth=vl,U.flatten=rc,U.flattenDeep=ic,U.flattenDepth=ac,U.flip=Jl,U.flow=Mf,U.flowRight=Nf,U.fromPairs=oc,U.functions=_d,U.functionsIn=vd,U.groupBy=xl,U.initial=lc,U.intersection=uc,U.intersectionBy=dc,U.intersectionWith=fc,U.invert=Sd,U.invertBy=Cd,U.invokeMap=Cl,U.iteratee=Ff,U.keyBy=wl,U.keys=$,U.keysIn=Td,U.map=Tl,U.mapKeys=Ed,U.mapValues=Dd,U.matches=If,U.matchesProperty=Lf,U.memoize=Yl,U.merge=Od,U.mergeWith=kd,U.method=Rf,U.methodOf=zf,U.mixin=Bf,U.negate=Xl,U.nthArg=Uf,U.omit=Ad,U.omitBy=jd,U.once=Zl,U.orderBy=El,U.over=Wf,U.overArgs=Ql,U.overEvery=Gf,U.overSome=Kf,U.partial=$l,U.partialRight=eu,U.partition=Dl,U.pick=Md,U.pickBy=Nd,U.property=qf,U.propertyOf=Jf,U.pull=_c,U.pullAll=vc,U.pullAllBy=yc,U.pullAllWith=bc,U.pullAt=xc,U.range=Yf,U.rangeRight=Xf,U.rearg=tu,U.reject=Al,U.remove=Sc,U.rest=nu,U.reverse=Cc,U.sampleSize=Ml,U.set=Fd,U.setWith=Id,U.shuffle=Nl,U.slice=wc,U.sortBy=Il,U.sortedUniq=jc,U.sortedUniqBy=Mc,U.split=ff,U.spread=ru,U.tail=Nc,U.take=Pc,U.takeRight=Fc,U.takeRightWhile=Ic,U.takeWhile=Lc,U.tap=tl,U.throttle=iu,U.thru=nl,U.toArray=Zu,U.toPairs=Ld,U.toPairsIn=Rd,U.toPath=rp,U.toPlainObject=td,U.transform=zd,U.unary=au,U.union=Rc,U.unionBy=zc,U.unionWith=Bc,U.uniq=Vc,U.uniqBy=Hc,U.uniqWith=Uc,U.unset=Bd,U.unzip=Wc,U.unzipWith=Gc,U.update=Vd,U.updateWith=Hd,U.values=Ud,U.valuesIn=Wd,U.without=Kc,U.words=Tf,U.wrap=ou,U.xor=qc,U.xorBy=Jc,U.xorWith=Yc,U.zip=Xc,U.zipObject=Zc,U.zipObjectDeep=Qc,U.zipWith=$c,U.entries=Ld,U.entriesIn=Rd,U.extend=id,U.extendWith=ad,Bf(U,U),U.add=ap,U.attempt=Ef,U.camelCase=Jd,U.capitalize=Yd,U.ceil=op,U.clamp=Gd,U.clone=cu,U.cloneDeep=uu,U.cloneDeepWith=du,U.cloneWith=lu,U.conformsTo=fu,U.deburr=Xd,U.defaultTo=jf,U.divide=sp,U.endsWith=Zd,U.eq=pu,U.escape=Qd,U.escapeRegExp=$d,U.every=fl,U.find=ml,U.findIndex=tc,U.findKey=dd,U.findLast=hl,U.findLastIndex=nc,U.findLastKey=fd,U.floor=cp,U.forEach=yl,U.forEachRight=bl,U.forIn=pd,U.forInRight=md,U.forOwn=hd,U.forOwnRight=gd,U.get=yd,U.gt=mu,U.gte=hu,U.has=bd,U.hasIn=xd,U.head=sc,U.identity=Pf,U.includes=Sl,U.indexOf=cc,U.inRange=Kd,U.invoke=wd,U.isArguments=gu,U.isArray=q,U.isArrayBuffer=_u,U.isArrayLike=vu,U.isArrayLikeObject=J,U.isBoolean=yu,U.isBuffer=bu,U.isDate=xu,U.isElement=Su,U.isEmpty=Cu,U.isEqual=wu,U.isEqualWith=Tu,U.isError=Eu,U.isFinite=Du,U.isFunction=Ou,U.isInteger=ku,U.isLength=Au,U.isMap=ju,U.isMatch=Mu,U.isMatchWith=Nu,U.isNaN=Pu,U.isNative=Fu,U.isNil=Lu,U.isNull=Iu,U.isNumber=Ru,U.isObject=Y,U.isObjectLike=X,U.isPlainObject=zu,U.isRegExp=Bu,U.isSafeInteger=Vu,U.isSet=Hu,U.isString=Uu,U.isSymbol=Wu,U.isTypedArray=Gu,U.isUndefined=Ku,U.isWeakMap=qu,U.isWeakSet=Ju,U.join=pc,U.kebabCase=ef,U.last=mc,U.lastIndexOf=hc,U.lowerCase=tf,U.lowerFirst=nf,U.lt=Yu,U.lte=Xu,U.max=lp,U.maxBy=up,U.mean=dp,U.meanBy=fp,U.min=pp,U.minBy=mp,U.stubArray=Zf,U.stubFalse=Qf,U.stubObject=$f,U.stubString=ep,U.stubTrue=tp,U.multiply=hp,U.nth=gc,U.noConflict=Vf,U.noop=Hf,U.now=Ll,U.pad=rf,U.padEnd=af,U.padStart=sf,U.parseInt=cf,U.random=qd,U.reduce=Ol,U.reduceRight=kl,U.repeat=lf,U.replace=uf,U.result=Pd,U.round=gp,U.runInContext=e,U.sample=jl,U.size=Pl,U.snakeCase=df,U.some=Fl,U.sortedIndex=Tc,U.sortedIndexBy=Ec,U.sortedIndexOf=Dc,U.sortedLastIndex=Oc,U.sortedLastIndexBy=kc,U.sortedLastIndexOf=Ac,U.startCase=pf,U.startsWith=mf,U.subtract=_p,U.sum=vp,U.sumBy=yp,U.template=hf,U.times=np,U.toFinite=Qu,U.toInteger=Z,U.toLength=$u,U.toLower=gf,U.toNumber=ed,U.toSafeInteger=nd,U.toString=Q,U.toUpper=_f,U.trim=vf,U.trimEnd=yf,U.trimStart=bf,U.truncate=xf,U.unescape=Sf,U.uniqueId=ip,U.upperCase=Cf,U.upperFirst=wf,U.each=yl,U.eachRight=bl,U.first=sc,Bf(U,function(){var e={};return Bi(U,function(t,n){I.call(U.prototype,n)||(e[n]=t)}),e}(),{chain:!1}),U.VERSION=r,On([`bind`,`bindKey`,`curry`,`curryRight`,`partial`,`partialRight`],function(e){U[e].placeholder=U}),On([`drop`,`take`],function(e,t){W.prototype[e]=function(r){r=r===n?1:L(Z(r),0);var i=this.__filtered__&&!t?new W(this):this.clone();return i.__filtered__?i.__takeCount__=cn(r,i.__takeCount__):i.__views__.push({size:cn(r,le),type:e+(i.__dir__<0?`Right`:``)}),i},W.prototype[e+`Right`]=function(t){return this.reverse()[e](t).reverse()}}),On([`filter`,`map`,`takeWhile`],function(e,t){var n=t+1,r=n==re||n==ae;W.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:K(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}}),On([`head`,`last`],function(e,t){var n=`take`+(t?`Right`:``);W.prototype[e]=function(){return this[n](1).value()[0]}}),On([`initial`,`tail`],function(e,t){var n=`drop`+(t?``:`Right`);W.prototype[e]=function(){return this.__filtered__?new W(this):this[n](1)}}),W.prototype.compact=function(){return this.filter(Pf)},W.prototype.find=function(e){return this.filter(e).head()},W.prototype.findLast=function(e){return this.reverse().find(e)},W.prototype.invokeMap=G(function(e,t){return typeof e==`function`?new W(this):this.map(function(n){return Qi(n,e,t)})}),W.prototype.reject=function(e){return this.filter(Xl(K(e)))},W.prototype.slice=function(e,t){e=Z(e);var r=this;return r.__filtered__&&(e>0||t<0)?new W(r):(e<0?r=r.takeRight(-e):e&&(r=r.drop(e)),t!==n&&(t=Z(t),r=t<0?r.dropRight(-t):r.take(t-e)),r)},W.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},W.prototype.toArray=function(){return this.take(le)},Bi(W.prototype,function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),a=U[i?`take`+(t==`last`?`Right`:``):t],o=i||/^find/.test(t);a&&(U.prototype[t]=function(){var t=this.__wrapped__,s=i?[1]:arguments,c=t instanceof W,l=s[0],u=c||q(t),d=function(e){var t=a.apply(U,Pn([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 W(this);var g=e.apply(t,s);return g.__actions__.push({func:nl,args:[d],thisArg:n}),new Ir(g,f)}return m&&h?e.apply(this,s):(g=this.thru(d),m?i?g.value()[0]:g.value():g)})}),On([`pop`,`push`,`shift`,`sort`,`splice`,`unshift`],function(e){var t=wt[e],n=/^(?:push|sort|unshift)$/.test(e)?`tap`:`thru`,r=/^(?:pop|shift)$/.test(e);U.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(q(i)?i:[],e)}return this[n](function(n){return t.apply(q(n)?n:[],e)})}}),Bi(W.prototype,function(e,t){var n=U[t];if(n){var r=n.name+``;I.call(Jn,r)||(Jn[r]=[]),Jn[r].push({name:t,func:n})}}),Jn[Do(n,_).name]=[{name:`wrapper`,func:n}],W.prototype.clone=Lr,W.prototype.reverse=Rr,W.prototype.value=zr,U.prototype.at=rl,U.prototype.chain=il,U.prototype.commit=al,U.prototype.next=ol,U.prototype.plant=cl,U.prototype.reverse=ll,U.prototype.toJSON=U.prototype.valueOf=U.prototype.value=ul,U.prototype.first=U.prototype.head,Wt&&(U.prototype[Wt]=sl),U})();typeof define==`function`&&typeof define.amd==`object`&&define.amd?(B._=Or,define(function(){return Or})):_n?((_n.exports=Or)._=Or,gn._=Or):B._=Or}).call(e)})),ce=c(se());function le(e){return e.filter(e=>!e.hideInSearch&&(e.search===!0||typeof e.search==`object`))}function ue(e){return e.filter(e=>!e.hideInTable)}function de(e=`id`){return`${e}_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}function O(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]=O(a,i):n[r]=i}),n}function fe(e,t){let n=null;return function(...r){n&&clearTimeout(n),n=setTimeout(()=>e(...r),t)}}function pe(e,t){let n=!1;return function(...r){n||(e(...r),n=!0,setTimeout(()=>n=!1,t))}}function me(e,t=2){return new Intl.NumberFormat(`en-US`,{minimumFractionDigits:t,maximumFractionDigits:t}).format(e)}async function he(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 ge(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 _e(e,t,n){return t?(0,ce.get)(e,t,n):e}function k(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 A(e){if(e.key)return e.key;let t=k(e);return t?Array.isArray(t)?t.join(`.`):String(t):``}function ve(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 ye(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 be(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 xe(e){return new Promise(t=>setTimeout(t,e))}function Se(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 Ce(){return`#`+Math.floor(Math.random()*16777215).toString(16).padStart(6,`0`)}function we(e){let t={};return new URLSearchParams(e).forEach((e,n)=>{t[n]=e}),t}function Te(e){let t=new URLSearchParams;return Object.entries(e).forEach(([e,n])=>{n!=null&&t.append(e,String(n))}),t.toString()}var Ee=(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 j({className:e,variant:t,asChild:n=!1,...r}){return(0,g.jsx)(n?m.Slot:`span`,{"data-slot":`badge`,className:M(Ee({variant:t}),e),...r})}function De({className:e,...t}){return(0,g.jsx)(_.Root,{"data-slot":`avatar`,className:M(`relative flex size-8 shrink-0 overflow-hidden rounded-full`,e),...t})}function Oe({className:e,...t}){return(0,g.jsx)(_.Image,{"data-slot":`avatar-image`,className:M(`aspect-square size-full`,e),...t})}function ke({className:e,...t}){return(0,g.jsx)(_.Fallback,{"data-slot":`avatar-fallback`,className:M(`bg-muted flex size-full items-center justify-center rounded-full`,e),...t})}function Ae({className:e,...t}){return(0,g.jsx)(v.Root,{"data-slot":`switch`,className:M(`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:M(`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 je({className:e,value:t,...n}){return(0,g.jsx)(y.Root,{"data-slot":`progress`,className:M(`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 Me={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)(j,{variant:t?.variant??`secondary`,children:e},n))}):`-`},avatar:{render:(e,t)=>{let n=t?.size??32;return(0,g.jsxs)(De,{style:{width:n,height:n},children:[(0,g.jsx)(Oe,{src:e,alt:t?.alt}),(0,g.jsx)(ke,{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)(Ae,{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)(j,{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)(j,{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)(je,{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:M(`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 Ne(e,t,n){let r=Me[e];return r?r.render(t,n):t??`-`}function Pe(e,t,n){let r=Me[e];return r?.renderFormItem?r.renderFormItem(t,n):null}function Fe(e,t){Me[e]=t}function M(...e){return(0,f.twMerge)((0,d.clsx)(e))}function Ie({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:M(`w-full caption-bottom text-sm`,e),...t})})}function Le({className:e,...t}){return(0,g.jsx)(`thead`,{"data-slot":`table-header`,className:M(`[&_tr]:border-b`,e),...t})}function Re({className:e,...t}){return(0,g.jsx)(`tbody`,{"data-slot":`table-body`,className:M(`[&_tr:last-child]:border-0`,e),...t})}function ze({className:e,...t}){return(0,g.jsx)(`tfoot`,{"data-slot":`table-footer`,className:M(`bg-muted/50 border-t font-medium [&>tr]:last:border-b-0`,e),...t})}function Be({className:e,...t}){return(0,g.jsx)(`tr`,{"data-slot":`table-row`,className:M(`hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors`,e),...t})}function Ve({className:e,...t}){return(0,g.jsx)(`th`,{"data-slot":`table-head`,className:M(`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 He({className:e,...t}){return(0,g.jsx)(`td`,{"data-slot":`table-cell`,className:M(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...t})}function Ue({className:e,...t}){return(0,g.jsx)(`caption`,{"data-slot":`table-caption`,className:M(`text-muted-foreground mt-4 text-sm`,e),...t})}function We({className:e,...t}){return(0,g.jsx)(b.Root,{"data-slot":`checkbox`,className:M(`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 Ge({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card`,className:M(`bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm`,e),...t})}function Ke({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-header`,className:M(`@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 qe({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-title`,className:M(`leading-none font-semibold`,e),...t})}function Je({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-description`,className:M(`text-muted-foreground text-sm`,e),...t})}function Ye({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-action`,className:M(`col-start-2 row-span-2 row-start-1 self-start justify-self-end`,e),...t})}function Xe({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-content`,className:M(`px-6`,e),...t})}function Ze({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-footer`,className:M(`flex items-center px-6 [.border-t]:pt-6`,e),...t})}var Qe=(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 N({className:e,variant:t,size:n,asChild:r=!1,...i}){return(0,g.jsx)(r?m.Slot:`button`,{"data-slot":`button`,className:M(Qe({variant:t,size:n,className:e})),...i})}var $e=c(se());function et(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 tt(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=f!==!1&&f?.mode===`server`,_=f!==!1&&typeof f==`object`&&(f.onChange||f.onShowSizeChange)&&(f.current!=null||f.pageSize!=null),v={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},[y,b]=(0,l.useReducer)(et,v),x=(0,l.useRef)(null),[S,C]=(0,l.useState)([]),[w,T]=(0,l.useState)([]),[ee,te]=(0,l.useState)({}),[ne,E]=(0,l.useState)({}),re=(0,l.useCallback)(e=>{C(t=>{if((0,$e.isFunction)(e))try{let n=e(t||[]);return n==null||!Array.isArray(n)?[]:n}catch{return t||[]}return e==null||!Array.isArray(e)?[]:e})},[]),ie=(0,l.useCallback)(e=>{T(t=>{if((0,$e.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)})},[]),ae=(0,l.useCallback)(e=>{te(t=>{if((0,$e.isFunction)(e)){let n=e(t||{});return n&&typeof n==`object`?n:{}}return e&&typeof e==`object`?e:{}})},[]),D=(0,l.useCallback)(e=>{E(t=>{if((0,$e.isFunction)(e)){let n=e(t||{});return n&&typeof n==`object`?n:{}}return e&&typeof e==`object`?e:{}})},[]),oe=(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]),[se,ce]=(0,l.useState)(()=>oe()),le=(0,l.useCallback)(e=>{ce(t=>{if((0,$e.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=oe();ce(e)},[oe]);let ue=(0,l.useCallback)(e=>typeof c==`function`?String(c(e)):String(e[c]),[c]),de=(0,l.useCallback)(async e=>{if(r){b({type:`SET_LOADING`,payload:!0}),m?.(!0);try{let t={current:e?.current??y.current,pageSize:e?.pageSize??y.pageSize,...i,...y.filters,...y.sorter},n=await r(t),o=n.data||[];a&&(o=a(o)),b({type:`SET_DATA`,payload:{data:o,total:n.total}}),e&&b({type:`SET_PAGINATION`,payload:e}),p?.(o)}catch(e){h?.(e)}finally{b({type:`SET_LOADING`,payload:!1}),m?.(!1)}}},[r,i,y.current,y.pageSize,y.filters,y.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!==y.current||t!=null&&t!==y.pageSize))return;let n={current:e??y.current,pageSize:t??y.pageSize};if(r){b({type:`SET_PAGINATION`,payload:n}),de(n);return}b({type:`SET_PAGINATION`,payload:n})},[f,_,r,de,y.current,y.pageSize]),(0,l.useEffect)(()=>{if(f===!1)return;let e=f?.total;e!=null&&e!==y.total&&b({type:`SET_TOTAL`,payload:e})},[f,y.total]);let O=(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)}):((t,n,r)=>{if(r==null||r===``)return!0;let i=t.getValue(n);if(i==null)return!1;let a=!!e.filters||!!e.valueEnum||e.valueType===`select`||e.valueType===`status`;if(Array.isArray(r))return r.length===0?!0:r.some(e=>{let t=String(i).toLowerCase(),n=String(e).toLowerCase();return a?t===n:t.includes(n)});let o=String(i).toLowerCase(),s=String(r).toLowerCase();return a?o===s:o.includes(s)}),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]),fe=(0,u.useReactTable)({data:y.data,columns:O,state:{sorting:S,columnFilters:w,columnVisibility:ee,rowSelection:ne,columnPinning:se,pagination:{pageIndex:y.current-1,pageSize:y.pageSize}},onSortingChange:re,onColumnFiltersChange:ie,onColumnVisibilityChange:ae,onRowSelectionChange:D,onColumnPinningChange:le,getCoreRowModel:(0,u.getCoreRowModel)(),getFilteredRowModel:(0,u.getFilteredRowModel)(),getPaginationRowModel:(0,u.getPaginationRowModel)(),getSortedRowModel:(0,u.getSortedRowModel)(),getRowId:ue,manualPagination:!!r||g,pageCount:Math.ceil(y.total/y.pageSize),columnResizeMode:`onChange`,enableColumnPinning:!0}),pe=(0,l.useCallback)((e,t)=>{r?(b({type:`SET_PAGINATION`,payload:{current:e,pageSize:t}}),de({current:e,pageSize:t})):b({type:`SET_PAGINATION`,payload:{current:e,pageSize:t}})},[r,de,f]),me=(0,l.useCallback)(e=>{if(b({type:`SET_FILTERS`,payload:e}),r)de({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}));T(t)}},[r,de]),he=(0,l.useCallback)(()=>{b({type:`RESET`}),r?de({current:1}):T([])},[r,de]);(0,l.useEffect)(()=>{if(r&&S.length>0){let e=S[0].id,t=S[0].desc?`desc`:`asc`;b({type:`SET_SORTER`,payload:{field:e,order:t}}),de({current:1})}},[S,r]);let ge={reload:async(e=!1)=>{await de(e?{current:1}:void 0)},reloadAndRest:async()=>{b({type:`RESET`}),await de({current:1})},reset:()=>{b({type:`RESET`})},clearSelected:()=>{E({}),b({type:`SET_SELECTION`,payload:{keys:[],rows:[]}})},startEditable:e=>{let t=y.data.find(t=>ue(t)===String(e));return t?(b({type:`START_EDIT`,payload:{key:e,record:t}}),!0):!1},cancelEditable:e=>(b({type:`CANCEL_EDIT`}),!0),saveEditable:(e,t)=>(b({type:`SAVE_EDIT`,payload:t}),!0),getRowData:e=>y.data.find(t=>ue(t)===String(e)),getTableData:()=>y.data,setTableData:e=>{b({type:`SET_DATA`,payload:{data:e}})}};return(0,l.useEffect)(()=>{x.current&&Object.assign(x.current,ge)}),(0,l.useEffect)(()=>{r&&!n&&de()},[]),(0,l.useEffect)(()=>{n&&b({type:`SET_DATA`,payload:{data:n,total:(f===!1?void 0:f?.total)??n.length}})},[n,f]),{table:fe,state:y,dispatch:b,actions:ge,handlers:{handlePaginationChange:pe,handleSearch:me,handleReset:he}}}function P(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?Ne(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 nt({className:e,type:t,...n}){return(0,g.jsx)(`input`,{type:t,"data-slot":`input`,className:M(`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 rt({...e}){return(0,g.jsx)(S.Root,{"data-slot":`dropdown-menu`,...e})}function it({...e}){return(0,g.jsx)(S.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function at({...e}){return(0,g.jsx)(S.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function ot({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:M(`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 st({...e}){return(0,g.jsx)(S.Group,{"data-slot":`dropdown-menu-group`,...e})}function ct({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:M(`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 lt({className:e,children:t,checked:n,...r}){return(0,g.jsxs)(S.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:M(`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 ut({...e}){return(0,g.jsx)(S.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function dt({className:e,children:t,...n}){return(0,g.jsxs)(S.RadioItem,{"data-slot":`dropdown-menu-radio-item`,className:M(`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 ft({className:e,inset:t,...n}){return(0,g.jsx)(S.Label,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:M(`px-2 py-1.5 text-sm font-medium data-[inset]:pl-8`,e),...n})}function pt({className:e,...t}){return(0,g.jsx)(S.Separator,{"data-slot":`dropdown-menu-separator`,className:M(`bg-border -mx-1 my-1 h-px`,e),...t})}function mt({className:e,...t}){return(0,g.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:M(`text-muted-foreground ml-auto text-xs tracking-widest`,e),...t})}function ht({...e}){return(0,g.jsx)(S.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function gt({className:e,inset:t,children:n,...r}){return(0,g.jsxs)(S.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":t,className:M(`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 _t({className:e,...t}){return(0,g.jsx)(S.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:M(`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 vt({delayDuration:e=0,...t}){return(0,g.jsx)(C.Provider,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function yt({...e}){return(0,g.jsx)(vt,{children:(0,g.jsx)(C.Root,{"data-slot":`tooltip`,...e})})}function bt({...e}){return(0,g.jsx)(C.Trigger,{"data-slot":`tooltip-trigger`,...e})}function F({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:M(`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 xt={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 St=(0,l.createContext)(void 0);function Ct({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(xt,e||{})},[e]);return(0,g.jsx)(St.Provider,{value:{locale:n},children:t})}function wt(){let e=(0,l.useContext)(St);if(e===void 0)throw Error(`useLocale must be used within a LocaleProvider`);return e.locale}function Tt({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 Et({table:e,columns:t,visibleColumns:n,onVisibleChange:r,fixedColumns:i={},onFixedChange:a,onOrderChange:o}){let s=wt(),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)(rt,{children:[(0,g.jsx)(at,{asChild:!0,children:(0,g.jsx)(N,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,children:(0,g.jsx)(w.IconSettings,{className:`h-4 w-4`})})}),(0,g.jsxs)(ot,{align:`end`,className:`w-64`,children:[(0,g.jsx)(ft,{children:s.columnSetting.title}),(0,g.jsx)(pt,{}),(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)(Tt,{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)(N,{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:M(`text-sm`,!r&&`text-muted-foreground line-through`),children:e.title??t})]}),(0,g.jsxs)(rt,{children:[(0,g.jsx)(at,{asChild:!0,children:(0,g.jsx)(N,{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)(ot,{side:`left`,children:[(0,g.jsx)(ct,{onClick:()=>m(t,void 0),children:s.columnSetting.noFixed}),(0,g.jsx)(ct,{onClick:()=>m(t,`left`),children:s.columnSetting.fixedLeft}),(0,g.jsx)(ct,{onClick:()=>m(t,`right`),children:s.columnSetting.fixedRight})]})]})]})},t)})})})}),(0,g.jsx)(pt,{}),(0,g.jsxs)(`div`,{className:`flex gap-2 p-2`,children:[(0,g.jsxs)(N,{size:`sm`,variant:`outline`,className:`flex-1`,onClick:()=>r(u),children:[s.columnSetting.show,` All`]}),(0,g.jsxs)(N,{size:`sm`,variant:`outline`,className:`flex-1`,onClick:()=>r([]),children:[s.columnSetting.hide,` All`]})]})]})]})}function Dt({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=wt(),[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)(nt,{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)(vt,{children:[ee.includes(`reload`)&&(0,g.jsxs)(yt,{children:[(0,g.jsx)(bt,{asChild:!0,children:(0,g.jsx)(N,{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)(F,{children:(0,g.jsx)(`p`,{children:b.toolbar.reload})})]}),ee.includes(`density`)&&(0,g.jsxs)(rt,{children:[(0,g.jsx)(at,{asChild:!0,children:(0,g.jsx)(N,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,children:(0,g.jsx)(x.Settings2,{className:`h-4 w-4`})})}),(0,g.jsxs)(ot,{align:`end`,children:[(0,g.jsx)(ft,{children:b.toolbar.density}),(0,g.jsx)(pt,{}),(0,g.jsx)(lt,{checked:p===`small`,onCheckedChange:()=>m?.(`small`),children:b.toolbar.compact}),(0,g.jsx)(lt,{checked:p===`middle`,onCheckedChange:()=>m?.(`middle`),children:b.toolbar.default}),(0,g.jsx)(lt,{checked:p===`large`,onCheckedChange:()=>m?.(`large`),children:b.toolbar.comfortable})]})]}),ee.includes(`columnSettings`)&&_&&(0,g.jsx)(Et,{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)(yt,{children:[(0,g.jsx)(bt,{asChild:!0,children:(0,g.jsx)(N,{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)(F,{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 Ot({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)(rt,{open:i,onOpenChange:a,children:[(0,g.jsx)(at,{asChild:!0,children:(0,g.jsx)(N,{variant:`ghost`,size:`sm`,className:M(`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)(ot,{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)(N,{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)(We,{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 I({...e}){return(0,g.jsx)(E.Root,{"data-slot":`select`,...e})}function kt({...e}){return(0,g.jsx)(E.Group,{"data-slot":`select-group`,...e})}function At({...e}){return(0,g.jsx)(E.Value,{"data-slot":`select-value`,...e})}function jt({className:e,size:t=`default`,children:n,...r}){return(0,g.jsxs)(E.Trigger,{"data-slot":`select-trigger`,"data-size":t,className:M(`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 Mt({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:M(`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)(It,{}),(0,g.jsx)(E.Viewport,{className:M(`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)(Lt,{})]})})}function Nt({className:e,...t}){return(0,g.jsx)(E.Label,{"data-slot":`select-label`,className:M(`text-muted-foreground px-2 py-1.5 text-xs`,e),...t})}function Pt({className:e,children:t,...n}){return(0,g.jsxs)(E.Item,{"data-slot":`select-item`,className:M(`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 Ft({className:e,...t}){return(0,g.jsx)(E.Separator,{"data-slot":`select-separator`,className:M(`bg-border pointer-events-none -mx-1 my-1 h-px`,e),...t})}function It({className:e,...t}){return(0,g.jsx)(E.ScrollUpButton,{"data-slot":`select-scroll-up-button`,className:M(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,g.jsx)(x.ChevronUpIcon,{className:`size-4`})})}function Lt({className:e,...t}){return(0,g.jsx)(E.ScrollDownButton,{"data-slot":`select-scroll-down-button`,className:M(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,g.jsx)(x.ChevronDownIcon,{className:`size-4`})})}var Rt=768;function zt(){let[e,t]=l.useState(void 0);return l.useEffect(()=>{let e=window.matchMedia(`(max-width: ${Rt-1}px)`),n=()=>{t(window.innerWidth<Rt)};return e.addEventListener(`change`,n),t(window.innerWidth<Rt),()=>e.removeEventListener(`change`,n)},[]),!!e}function Bt({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=wt(),m=zt(),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:M(`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:M(`flex items-center gap-2`,m?`justify-between`:`justify-center`),children:[(0,g.jsx)(N,{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)(N,{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)(I,{value:String(t),onValueChange:x,disabled:l,children:[(0,g.jsx)(jt,{size:`sm`,className:`h-8 w-[110px]`,id:`rows-per-page-mobile`,children:(0,g.jsx)(At,{placeholder:t})}),(0,g.jsx)(Mt,{children:o.map(e=>(0,g.jsx)(Pt,{value:e,children:e},e))})]})]})]});let S=(_-1)*t+1,C=Math.min(_*t,n);return(0,g.jsxs)(`div`,{className:M(`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:M(`flex items-center gap-2`,m&&`flex-wrap justify-between gap-3`),children:[r&&(0,g.jsxs)(`div`,{className:M(`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)(I,{value:String(t),onValueChange:x,disabled:l,children:[(0,g.jsx)(jt,{size:`sm`,className:M(`h-8 w-20`,m&&`w-[120px]`),id:`rows-per-page`,children:(0,g.jsx)(At,{})}),(0,g.jsx)(Mt,{children:o.map(e=>(0,g.jsx)(Pt,{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)(N,{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)(N,{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)(N,{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)(N,{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 Vt({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:M(`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:M(`w-fit`,c.root),months:M(`flex gap-4 flex-col md:flex-row relative`,c.months),month:M(`flex flex-col w-full gap-4`,c.month),nav:M(`flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between`,c.nav),button_previous:M(Qe({variant:i}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,c.button_previous),button_next:M(Qe({variant:i}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,c.button_next),month_caption:M(`flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)`,c.month_caption),dropdowns:M(`w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5`,c.dropdowns),dropdown_root:M(`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:M(`absolute bg-popover inset-0 opacity-0`,c.dropdown),caption_label:M(`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:M(`flex`,c.weekdays),weekday:M(`text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none`,c.weekday),week:M(`flex w-full mt-2`,c.week),week_number_header:M(`select-none w-(--cell-size)`,c.week_number_header),week_number:M(`text-[0.8rem] select-none text-muted-foreground`,c.week_number),day:M(`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:M(`rounded-l-md bg-accent`,c.range_start),range_middle:M(`rounded-none`,c.range_middle),range_end:M(`rounded-r-md bg-accent`,c.range_end),today:M(`bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none`,c.today),outside:M(`text-muted-foreground aria-selected:text-muted-foreground`,c.outside),disabled:M(`text-muted-foreground opacity-50`,c.disabled),hidden:M(`invisible`,c.hidden),...t},components:{Root:({className:e,rootRef:t,...n})=>(0,g.jsx)(`div`,{"data-slot":`calendar`,ref:t,className:M(e),...n}),Chevron:({className:e,orientation:t,...n})=>t===`left`?(0,g.jsx)(x.ChevronLeftIcon,{className:M(`size-4`,e),...n}):t===`right`?(0,g.jsx)(x.ChevronRightIcon,{className:M(`size-4`,e),...n}):(0,g.jsx)(x.ChevronDownIcon,{className:M(`size-4`,e),...n}),DayButton:Ht,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 Ht({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)(N,{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:M(`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 Ut({...e}){return(0,g.jsx)(ie.Root,{"data-slot":`popover`,...e})}function Wt({...e}){return(0,g.jsx)(ie.Trigger,{"data-slot":`popover-trigger`,...e})}function Gt({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:M(`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 Kt({...e}){return(0,g.jsx)(ie.Anchor,{"data-slot":`popover-anchor`,...e})}function qt({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)(Ut,{children:[(0,g.jsx)(Wt,{asChild:!0,children:(0,g.jsxs)(N,{id:u,variant:`outline`,className:M(`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)(Gt,{className:`w-auto p-0`,align:c,sideOffset:l,children:(0,g.jsx)(Vt,{mode:`single`,selected:e,onSelect:t,disabled:i,fromDate:a,toDate:o,initialFocus:!0})})]})}function Jt({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:M(`w-full`,r),children:(0,g.jsxs)(Ut,{children:[(0,g.jsx)(Wt,{asChild:!0,children:(0,g.jsxs)(N,{id:d,variant:`outline`,className:M(`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)(Gt,{className:`w-auto p-0`,align:c,sideOffset:l,children:(0,g.jsx)(Vt,{initialFocus:!0,mode:`range`,defaultMonth:e?.from,selected:e,onSelect:t,numberOfMonths:u,disabled:i,fromDate:a,toDate:o})})]})})}function Yt({className:e,...t}){return(0,g.jsx)(ae.Root,{"data-slot":`label`,className:M(`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 Xt({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`field-group`,className:M(`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 Zt=(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 Qt({className:e,orientation:t=`vertical`,...n}){return(0,g.jsx)(`div`,{role:`group`,"data-slot":`field`,"data-orientation":t,className:M(Zt({orientation:t}),e),...n})}function $t({className:e,...t}){return(0,g.jsx)(Yt,{"data-slot":`field-label`,className:M(`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 en({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:M(`text-destructive text-sm font-normal`,e),...r,children:i}):null}function tn({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=wt(),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)(I,{name:n.name,value:n.value??``,onValueChange:n.onChange,children:[(0,g.jsx)(jt,{id:t,size:`sm`,className:`h-8 w-full`,"aria-invalid":r.invalid,children:(0,g.jsx)(At,{placeholder:`${p.search.selectPlaceholder} ${e.title}`})}),(0,g.jsx)(Mt,{position:`popper`,className:`w-(--radix-select-trigger-width)`,children:e.valueEnum?Object.entries(e.valueEnum).map(([e,n])=>(0,g.jsx)(Pt,{value:e,children:n.text},`${t}-${e}`)):e.filters?.map(e=>(0,g.jsx)(Pt,{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)(qt,{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)(qt,{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)(Jt,{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)(nt,{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)(Ae,{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)(nt,{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)(nt,{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)(N,{size:`sm`,type:`submit`,disabled:r,children:s||p.search.submitText}),(0,g.jsx)(N,{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)(N,{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)(N,{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)(N,{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 oe=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)(Xt,{className:M(`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)(Qt,{"data-invalid":a.invalid,children:[(0,g.jsxs)($t,{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)(en,{errors:[a.error]})]})},t):(0,g.jsxs)(Qt,{children:[(0,g.jsxs)($t,{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:oe})]})}var nn=(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 rn({className:e,variant:t,...n}){return(0,g.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:M(nn({variant:t}),e),...n})}function an({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`alert-title`,className:M(`col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight`,e),...t})}function L({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`alert-description`,className:M(`text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed`,e),...t})}function on({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:M(`flex items-center gap-2`,u),children:[v&&(0,g.jsxs)(g.Fragment,{children:[n&&(0,g.jsxs)(N,{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)(N,{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)(rt,{children:[(0,g.jsx)(at,{asChild:!0,children:(0,g.jsxs)(N,{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)(ot,{align:`start`,children:[i&&(0,g.jsxs)(ct,{onClick:p,children:[(0,g.jsx)(x.FileText,{className:`h-4 w-4 mr-2`}),`Excel (.xlsx)`]}),a&&(0,g.jsxs)(ct,{onClick:m,children:[(0,g.jsx)(x.FileText,{className:`h-4 w-4 mr-2`}),`CSV (.csv)`]})]})]}),o&&(0,g.jsxs)(N,{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)(N,{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)(N,{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)(rt,{children:[(0,g.jsx)(at,{asChild:!0,children:(0,g.jsx)(N,{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)(ot,{align:`end`,children:[n&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(ct,{onClick:d,className:`text-destructive`,children:[(0,g.jsx)(x.Trash2,{className:`h-4 w-4 mr-2`}),`删除选中项`]}),(0,g.jsx)(pt,{})]}),r&&(0,g.jsxs)(ct,{onClick:f,children:[(0,g.jsx)(x.Download,{className:`h-4 w-4 mr-2`}),`导出数据`]}),o&&(0,g.jsxs)(ct,{onClick:h,children:[(0,g.jsx)(x.Mail,{className:`h-4 w-4 mr-2`}),`发送邮件`]}),s&&(0,g.jsxs)(ct,{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)(pt,{}),c.map(e=>(0,g.jsxs)(ct,{onClick:()=>e.onClick(t),children:[e.icon&&(0,g.jsx)(`span`,{className:`mr-2`,children:e.icon}),e.label]},e.key))]})]})]})]})}function sn({selectedCount:e,selectedRows:t=[],onClear:n,actions:r=[],alwaysShow:i=!1,batchActions:a}){let o=wt();return(0,g.jsx)(oe.AnimatePresence,{children:(i||e>0)&&(0,g.jsx)(oe.motion.div,{initial:{opacity:0,y:-6},animate:{opacity:1,y:0},exit:{opacity:0,y:-6},transition:{duration:.18},children:(0,g.jsx)(rn,{className:`mb-4`,children:(0,g.jsxs)(L,{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)(on,{selectedCount:e,selectedRows:t,...a}),r.map((e,t)=>(0,g.jsx)(l.default.Fragment,{children:e},t))]})]}),e>0&&(0,g.jsxs)(N,{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 R({className:e,...t}){return(0,g.jsx)(`textarea`,{"data-slot":`textarea`,className:M(`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 z({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)(nt,{value:s||``,onChange:e=>c(e.target.value),onKeyDown:h,className:`h-8`,...t});case`number`:return(0,g.jsx)(nt,{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)(I,{value:s||``,onValueChange:c,children:[(0,g.jsx)(jt,{className:`h-8`,children:(0,g.jsx)(At,{placeholder:`请选择`})}),(0,g.jsx)(Mt,{children:e&&Object.entries(e).map(([e,t])=>(0,g.jsx)(Pt,{value:e,children:t.text},e))})]});case`switch`:return(0,g.jsx)(Ae,{checked:!!s,onCheckedChange:c,...t});case`date`:return(0,g.jsxs)(Ut,{children:[(0,g.jsx)(Wt,{asChild:!0,children:(0,g.jsxs)(N,{variant:`outline`,className:M(`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)(Gt,{className:`w-auto p-0`,children:(0,g.jsx)(Vt,{mode:`single`,selected:s,onSelect:c,initialFocus:!0})})]});case`textarea`:return(0,g.jsx)(R,{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)(nt,{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)(nt,{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)(nt,{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)(nt,{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)(nt,{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)(nt,{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)(N,{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)(N,{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 cn({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`empty`,className:M(`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 ln({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`empty-header`,className:M(`flex max-w-sm flex-col items-center gap-2 text-center`,e),...t})}var un=(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 dn({className:e,variant:t=`default`,...n}){return(0,g.jsx)(`div`,{"data-slot":`empty-icon`,"data-variant":t,className:M(un({variant:t,className:e})),...n})}function fn({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`empty-title`,className:M(`text-lg font-medium tracking-tight`,e),...t})}function pn({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`empty-description`,className:M(`text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4`,e),...t})}function mn({colSpan:e,emptyRender:t}){let n=wt();return t?(0,g.jsx)(Be,{children:(0,g.jsx)(He,{colSpan:e,className:`h-32`,children:t})}):(0,g.jsx)(Be,{children:(0,g.jsx)(He,{colSpan:e,className:`h-32`,children:(0,g.jsx)(cn,{children:(0,g.jsxs)(ln,{children:[(0,g.jsx)(dn,{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)(fn,{children:n.common.noData}),(0,g.jsx)(pn,{children:`No data available`})]})})})})}function hn({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`skeleton`,className:M(`bg-accent animate-pulse rounded-md`,e),...t})}function B({columnCount:e,draggable:t=!1,rowSelection:n=!1,rowCount:r=10}){return(0,g.jsx)(g.Fragment,{children:[...Array(r)].map((r,i)=>(0,g.jsxs)(Be,{children:[t&&(0,g.jsx)(He,{children:(0,g.jsx)(hn,{className:`h-4 w-4`})}),n&&(0,g.jsx)(He,{children:(0,g.jsx)(hn,{className:`h-4 w-4`})}),[...Array(e)].map((e,t)=>(0,g.jsx)(He,{children:(0,g.jsx)(hn,{className:`h-4 w-full`})},t))]},i))})}function gn({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)(He,{className:`w-8`,style:{paddingLeft:`${t*24}px`}});let c=()=>{o(e,!r)},l=(0,g.jsx)(N,{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)(He,{className:`w-8`,style:{width:`${s}px`,paddingLeft:`${t*24}px`},children:u})}function _n({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)(N,{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)(N,{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)(N,{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)(N,{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)(N,{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)(N,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:c,children:(0,g.jsx)(x.Minus,{className:`h-3 w-3`})})]}))()})}function vn({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)(N,{variant:`ghost`,size:`sm`,className:M(c[n],`hover:bg-muted/50 transition-colors`,t),onClick:s,title:a?`已复制`:`复制`,children:[a?(0,g.jsx)(x.Check,{className:M(u[n],`text-green-600`)}):(0,g.jsx)(x.Copy,{className:M(u[n],`text-muted-foreground`)}),r&&(0,g.jsx)(`span`,{className:`ml-1 text-xs`,children:a?`已复制`:`复制`})]})}var yn=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}},V=e=>{if(e==null)return!1;if(typeof e==`string`){let t=e.trim();return t!==``&&t!==`-`}return!0};function bn({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)(Be,{ref:i,style:c,"data-state":e.getIsSelected&&e.getIsSelected()?`selected`:void 0,...n,children:[(0,g.jsx)(He,{className:`w-8`,children:(0,g.jsx)(N,{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 xn=(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,paginationRender:m,rowSelection:h,draggable:_,editable:v,headerTitle:y,headerSubTitle:b,footer:S,onRow:C,search:w,cardBordered:te=!1,cardProps:E,tableRender:re,tableExtraRender:ie,emptyRender:ae,onSubmit:D,onReset:oe,scroll:se,sticky:ce,tableLayout:ue,locale:de,expandable:O,rowKey:fe=`id`,actionRef:pe}=e,[me,he]=(0,l.useState)(()=>n);(0,l.useEffect)(()=>{he(n)},[n]);let ge={...e,columns:me},{table:k,state:A,actions:ve,handlers:ye}=tt(ge),{request:be}=ge,{visibleColumns:xe,setVisibleColumns:Se,columnSettings:Ce,updateColumnSettings:we}=P({columns:me,rowSelection:!!h,draggable:!!_,editable:!!v}),Te=O!==!1&&O!==void 0,Ee=O!==!1&&O!==void 0&&O.childrenColumnName||`children`,j=typeof fe==`function`?fe:e=>e[fe]||e.id||e.key,De=(0,l.useCallback)(e=>{let t=[];return e.forEach(e=>{t.push(j(e));let n=e[Ee];n&&Array.isArray(n)&&n.length>0&&t.push(...De(n))}),t},[Ee,j]),[Oe,ke]=(0,l.useState)(()=>O!==!1&&O!==void 0&&O.defaultExpandAllRows&&A.data.length>0?De(A.data):O!==!1&&O!==void 0&&O.defaultExpandedRowKeys||[]),Ae=O!==!1&&O!==void 0?O.expandedRowKeys??Oe:Oe,je=O!==!1&&O!==void 0&&O.expandedRowKeys!==void 0;(0,l.useEffect)(()=>{O!==!1&&O!==void 0&&O.defaultExpandAllRows&&A.data.length>0&&!je&&ke(De(A.data))},[A.data,O!==!1&&O!==void 0?O.defaultExpandAllRows:!1,De,je]);let Me=(0,l.useCallback)((e,t)=>{let n=j(e),r;r=O!==!1&&O!==void 0&&O.accordion?t?[n]:[]:t?[...Ae,n]:Ae.filter(e=>e!==n),je||ke(r),O!==!1&&O!==void 0&&(O.onExpand?.(t,e),O.onExpandedRowsChange?.(r))},[Ae,O,je,j]),Pe=(0,l.useCallback)(e=>{let t=e[Ee];return!!(t&&Array.isArray(t)&&t.length>0)},[Ee]),Fe=(0,l.useCallback)(e=>{let t=j(e);return Ae.includes(t)},[Ae,j]),[ze,Ue]=(0,l.useState)(s),[Ke,qe]=(0,l.useState)(!1),Je=(0,T.useSensors)((0,T.useSensor)(T.PointerSensor),(0,T.useSensor)(T.KeyboardSensor));(0,l.useImperativeHandle)(t,()=>ve,[ve]),(0,l.useEffect)(()=>{pe&&(typeof pe==`function`?pe(ve):pe&&typeof pe==`object`&&`current`in pe&&(pe.current=ve))},[ve,pe]);let Ye=e=>{if(_&&typeof _==`object`&&typeof _.onDragEnd==`function`){let{active:t,over:n}=e;if(!n||t.id===n.id)return;let r=k.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=[...A.data],[n]=t.splice(i,1);t.splice(a,0,n);try{ve.setTableData(t)}catch{}try{_.onDragEnd({active:{id:e.active.id},over:e.over?{id:e.over.id}:null,items:t,oldIndex:0,newIndex:0})}catch{}}}},Ze=()=>{try{k.toggleAllRowsSelected?.(!1)}catch{}ve.clearSelected()},Qe=e=>{ye.handleSearch(e),D?.(e)},$e=()=>{ye.handleReset(),oe?.()},et=(e,t)=>{if(k.setColumnFilters(n=>{let r=(Array.isArray(n)?n:[]).filter(t=>t.id!==e);return t.length>0&&r.push({id:e,value:t}),r}),be){let n={...A.filters};t.length>0?n[e]=t:delete n[e],ye.handleSearch(n)}},nt=e=>{if(k.setColumnFilters(t=>(Array.isArray(t)?t:[]).filter(t=>t.id!==e)),be){let t={...A.filters};delete t[e],ye.handleSearch(t)}},rt=(e,t)=>{if(e===`order`&&Array.isArray(t)){he(t);return}if(typeof e==`string`&&t&&t.fixed!==void 0){let n=e,r=t.fixed;he(e=>e.map(e=>(e.key||String(e.dataIndex))===n?{...e,fixed:r}:e));return}we(e,t)},it={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`},at=me.length+(h?1:0)+(_?1:0),ot=(e,t=0)=>{let n=e.original,r=j(n)||e.original.id||e.original.key||e.id,i=A.editingKey===r;return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(gn,{record:n,indent:t,hasChild:Pe(n),expanded:Fe(n),expandable:O,isExpandable:Te,onExpand:Me}),h&&(0,g.jsx)(He,{className:`w-8`,children:(0,g.jsx)(We,{checked:e.getIsSelected?.()??!1,onCheckedChange:t=>e.toggleSelected?.(!!t),"aria-label":`Select row`})}),e.getVisibleCells().map(t=>{let n=me.find(e=>(e.key||String(e.dataIndex))===t.column.id),a=yn(t.column),o=n?.width||t.column.getSize(),s=t.column.getIsPinned();return v&&n?.editable&&i?(0,g.jsx)(He,{className:M(`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:M(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)(z,{value:t.getValue(),record:e.original,column:n,isEditing:i,onSave:t=>{let i={...e.original,[n.dataIndex]:t};ve.saveEditable(r,i),v?.onSave&&v.onSave(r,i,e.original)},onCancel:()=>ve.cancelEditable(r),onStartEdit:()=>ve.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 V(i)?(0,g.jsxs)(yt,{delayDuration:r.delayDuration,children:[(0,g.jsx)(bt,{asChild:!0,children:a}),(0,g.jsx)(F,{side:r.side||`top`,align:r.align,children:i})]}):a}return a})()})})},t.id):(0,g.jsx)(He,{className:M(`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:M(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?Ne(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 V(o)?(0,g.jsxs)(yt,{delayDuration:a.delayDuration,children:[(0,g.jsx)(bt,{asChild:!0,children:r}),(0,g.jsx)(F,{side:a.side||`top`,align:a.align,children:o})]}):r}return r})()}),n?.copyable&&(()=>{let r=(typeof n.copyable==`object`?n.copyable:null)?.onCopy;return(0,g.jsx)(vn,{value:t.getValue(),size:`sm`,onCopy:r?t=>{r(t,e.original,e.index)}:void 0})})()]})},t.id)}),v&&(0,g.jsx)(He,{className:`w-32`,children:(0,g.jsx)(_n,{record:e.original,config:{isEditing:i,editingKey:A.editingKey||``},editable:v,onEdit:()=>ve.startEditable(r),onSave:()=>{ve.cancelEditable(r)},onCancel:()=>ve.cancelEditable(r),onDelete:v.onDelete?()=>{v.onDelete&&v.onDelete(r,e.original)}:void 0})})]})},st=(e,t=0)=>{let n=j(e),r=Pe(e),i=Fe(e),a=e[Ee],o={id:String(n),original:e,index:A.data.findIndex(e=>j(e)===n),getIsSelected:()=>{try{return k.getRow(String(n))?.getIsSelected()??!1}catch{return!1}},toggleSelected:e=>{try{let t=k.getRow(String(n));t&&t.toggleSelected(e)}catch{}},getVisibleCells:()=>me.filter(e=>!e.hideInTable).map(t=>{let n=t.key||String(t.dataIndex),r=t.dataPath||t.dataIndex,i=()=>{if(r)return _e(e,Array.isArray(r)||typeof r==`string`?r:String(r))},a=null;try{a=k.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:k})};return c})},s=C?.(e,t)||{},c=[];return _?c.push((0,g.jsx)(bn,{row:o,children:ot(o,t)},o.id)):c.push((0,g.jsx)(Be,{"data-state":o.getIsSelected&&o.getIsSelected()?`selected`:void 0,...s,children:ot(o,t)},o.id)),i&&r&&a&&a.length>0&&a.forEach(e=>{c.push(...st(e,t+1))}),c},ct=(e,t)=>{let n=C?.(e.original,t)||{};return _?(0,g.jsx)(bn,{row:e,children:ot(e,0)},e.id):(0,g.jsx)(Be,{"data-state":e.getIsSelected&&e.getIsSelected()?`selected`:void 0,...n,children:ot(e,0)},e.id)},lt=(0,g.jsx)(`div`,{className:M(`relative`,se?.x&&`overflow-x-auto`,se?.y&&`overflow-y-auto`,i?.container),children:(0,g.jsx)(`div`,{className:M(`rounded-md`,c&&`border`,i?.wrapper),style:{maxWidth:se?.x?`${se.x}px`:void 0,overflowX:se?.x?`auto`:void 0,maxHeight:se?.y?`${se.y}px`:void 0},children:(0,g.jsx)(T.DndContext,{sensors:Je,collisionDetection:T.closestCenter,modifiers:[ne.restrictToVerticalAxis],onDragEnd:Ye,children:(0,g.jsxs)(Ie,{className:M(it[ze],ce&&`sticky-header`,i?.table),style:{...o,width:`100%`,tableLayout:ue||(se?.x?`fixed`:`auto`),maxWidth:se?.x?`${se.x}px`:void 0,...ce&&{position:`relative`}},children:[(0,g.jsx)(Le,{className:M(ce&&`sticky top-0 z-10 bg-background`,i?.tableHeader),style:ce?{position:`sticky`,top:typeof ce==`object`&&ce.offsetHeader||0,zIndex:10}:void 0,children:k.getHeaderGroups().map(e=>(0,g.jsxs)(Be,{children:[Te&&O?.showExpandColumn!==!1&&(0,g.jsx)(Ve,{className:`w-8`,style:{width:`${O?.expandColumnWidth||50}px`}}),_&&(0,g.jsx)(Ve,{className:`w-8`}),h&&(0,g.jsx)(Ve,{className:`w-8`,children:(0,g.jsx)(We,{checked:k.getIsAllPageRowsSelected?.()??!1,onCheckedChange:e=>k.toggleAllPageRowsSelected?.(!!e),"aria-label":`Select all`})}),e.headers.map((e,t)=>{let n=me.find(t=>(t.key||String(t.dataIndex))===e.column.id),r=yn(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)(Ve,{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:M(`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:M(`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,V(i)?(0,g.jsxs)(yt,{delayDuration:e.delayDuration,children:[(0,g.jsx)(bt,{asChild:!0,children:o}),(0,g.jsx)(F,{side:e.side||`top`,align:e.align,children:i})]}):o}return o})(),(0,g.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0`,children:[e.column.getCanSort()&&(0,g.jsxs)(N,{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)(Ot,{column:{key:n.key,dataIndex:String(n.dataIndex),title:n.title,filters:n.filters},value:Array.isArray(k.getColumn(n.key||String(n.dataIndex))?.getFilterValue())?k.getColumn(n.key||String(n.dataIndex))?.getFilterValue():[],onChange:e=>et(n.key||String(n.dataIndex),e),onClear:()=>nt(n.key||String(n.dataIndex))})]})]})},e.id)})]},e.id))}),(0,g.jsx)(Re,{className:M(i?.tableBody),children:d?(0,g.jsx)(B,{columnCount:me.length,draggable:!!_,rowSelection:!!h,rowCount:A.pageSize}):A.data.length===0?(0,g.jsx)(mn,{colSpan:at,emptyRender:ae}):_?(0,g.jsx)(ee.SortableContext,{items:k.getRowModel().rows.map(e=>e.id),strategy:ee.verticalListSortingStrategy,children:k.getRowModel().rows.map((e,t)=>ct(e,t))}):Te?(0,g.jsx)(g.Fragment,{children:A.data.map(e=>{let t=st(e,0);return(0,g.jsx)(l.Fragment,{children:t},j(e))})}):k.getRowModel().rows.map((e,t)=>ct(e,t))})]})})})}),ut=re?re(e,lt,{toolbar:f!==!1,search:w!==!1,table:!0}):lt,dt=M(`flex flex-col gap-4 transition-all duration-300 ease-in-out`,Ke?`fixed inset-0 z-50 bg-background p-4 transform scale-100`:`transform scale-100`,r),ft=(0,g.jsx)(Ct,{locale:de,children:(0,g.jsxs)(`div`,{className:dt,style:a,children:[w!==!1&&(()=>{let e=le(me);return e.length>0||typeof w==`object`&&w?(0,g.jsx)(tn,{...typeof w==`object`?w:{},columns:e,onSearch:Qe,onReset:$e,loading:A.loading}):null})(),f!==!1&&(0,g.jsx)(Dt,{...typeof f==`object`?f:{},title:y,subTitle:b,table:k,columns:me,loading:A.loading,onReload:()=>ve.reload(),fullScreen:Ke,onFullScreenChange:qe,density:ze,onDensityChange:Ue,visibleColumns:xe,onVisibleColumnsChange:Se,columnSettings:Ce,onColumnSettingsChange:rt}),h&&(0,g.jsx)(sn,{selectedCount:k.getFilteredSelectedRowModel().rows.length,selectedRows:k.getFilteredSelectedRowModel().rows.map(e=>e.original),onClear:Ze,alwaysShow:h.alwaysShowAlert,batchActions:h.batchActions}),ie?.(e,A.data),ut,S&&(0,g.jsx)(`div`,{className:`px-4`,children:S(A.data)}),p!==!1&&(()=>{let e=typeof p==`object`?p:{},t=(0,g.jsx)(Bt,{...e,current:A.current,pageSize:A.pageSize,total:A.total,onPaginationChange:ye.handlePaginationChange});return m?m({pagination:{...e,current:A.current,pageSize:A.pageSize,total:A.total},onChange:(t,n)=>{e.onChange?.(t,n),ye.handlePaginationChange(t,n)},defaultDom:t}):t})()]})});return te?(0,g.jsx)(Ge,{...E,className:M(E?.className),children:(0,g.jsx)(Xe,{children:ft})}):ft});var Sn=new Map;function Cn(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=Sn.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&&Sn.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 wn={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=rn,exports.AlertDescription=L,exports.AlertTitle=an,exports.Avatar=De,exports.AvatarFallback=ke,exports.AvatarImage=Oe,exports.Badge=j,exports.BatchActions=sn,exports.Button=N,exports.Calendar=Vt,exports.CalendarDayButton=Ht,exports.Card=Ge,exports.CardAction=Ye,exports.CardContent=Xe,exports.CardDescription=Je,exports.CardFooter=Ze,exports.CardHeader=Ke,exports.CardTitle=qe,exports.Checkbox=We,exports.ColumnSetting=Et,exports.DatePicker=qt,exports.DateRangePicker=Jt,exports.DropdownMenu=rt,exports.DropdownMenuCheckboxItem=lt,exports.DropdownMenuContent=ot,exports.DropdownMenuGroup=st,exports.DropdownMenuItem=ct,exports.DropdownMenuLabel=ft,exports.DropdownMenuPortal=it,exports.DropdownMenuRadioGroup=ut,exports.DropdownMenuRadioItem=dt,exports.DropdownMenuSeparator=pt,exports.DropdownMenuShortcut=mt,exports.DropdownMenuSub=ht,exports.DropdownMenuSubContent=_t,exports.DropdownMenuSubTrigger=gt,exports.DropdownMenuTrigger=at,exports.Input=nt,exports.Label=Yt,exports.Pagination=Bt,exports.Popover=Ut,exports.PopoverAnchor=Kt,exports.PopoverContent=Gt,exports.PopoverTrigger=Wt,exports.ProTable=xn,exports.Progress=je,exports.Search=tn,exports.Select=I,exports.SelectContent=Mt,exports.SelectGroup=kt,exports.SelectItem=Pt,exports.SelectLabel=Nt,exports.SelectScrollDownButton=Lt,exports.SelectScrollUpButton=It,exports.SelectSeparator=Ft,exports.SelectTrigger=jt,exports.SelectValue=At,exports.Skeleton=hn,exports.Switch=Ae,exports.Table=Ie,exports.TableBody=Re,exports.TableCaption=Ue,exports.TableCell=He,exports.TableFooter=ze,exports.TableHead=Ve,exports.TableHeader=Le,exports.TableRow=Be,exports.ToolBar=Dt,exports.Tooltip=yt,exports.TooltipContent=F,exports.TooltipProvider=vt,exports.TooltipTrigger=bt,exports.badgeVariants=Ee,exports.buttonVariants=Qe,exports.cn=M,exports.copyToClipboard=he,exports.debounce=fe,exports.deepMerge=O,exports.en_US=xt,exports.extractSearchColumns=le,exports.extractTableColumns=ue,exports.formatFileSize=Se,exports.formatNumber=me,exports.generateId=de,exports.generateRandomColor=Ce,exports.getColumnDataPath=k,exports.getColumnId=A,exports.getNestedValue=_e,exports.groupBy=be,exports.isEmpty=ge,exports.parseQueryString=we,exports.registerValueType=Fe,exports.renderFormItem=Pe,exports.renderValue=Ne,exports.setNestedValue=ve,exports.sleep=xe,exports.stringifyQuery=Te,exports.throttle=pe,exports.uniqueArray=ye,exports.useColumns=P,exports.useProTable=tt,exports.useRequest=Cn,exports.zh_CN=wn;
|
|
20
|
+
}`;var _=Ef(function(){return yt(o,h+`return `+p).apply(n,c)});if(_.source=p,Eu(_))throw _;return _}function gf(e){return Q(e).toLowerCase()}function _f(e){return Q(e).toUpperCase()}function vf(e,t,r){if(e=Q(e),e&&(r||t===n))return er(e);if(!e||!(t=Va(t)))return e;var i=Sr(e),a=Sr(t),o=ir(i,a),s=ar(i,a)+1;return $a(i,o,s).join(``)}function yf(e,t,r){if(e=Q(e),e&&(r||t===n))return e.slice(0,Cr(e)+1);if(!e||!(t=Va(t)))return e;var i=Sr(e),a=ar(i,Sr(t))+1;return $a(i,0,a).join(``)}function bf(e,t,r){if(e=Q(e),e&&(r||t===n))return e.replace(tt,``);if(!e||!(t=Va(t)))return e;var i=Sr(e),a=ir(i,Sr(t));return $a(i,a).join(``)}function xf(e,t){var r=ee,i=te;if(Y(t)){var a=`separator`in t?t.separator:a;r=`length`in t?Z(t.length):r,i=`omission`in t?Va(t.omission):i}e=Q(e);var o=e.length;if(dr(e)){var s=Sr(e);o=s.length}if(r>=o)return e;var c=r-xr(i);if(c<1)return i;var l=s?$a(s,0,c).join(``):e.slice(0,c);if(a===n)return l+i;if(s&&(c+=l.length-c),Bu(a)){if(e.slice(c).search(a)){var u,d=l;for(a.global||(a=xt(a.source,Q(lt.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(Va(a),c)!=c){var p=l.lastIndexOf(a);p>-1&&(l=l.slice(0,p))}return l+i}function Sf(e){return e=Q(e),e&&Ke.test(e)?e.replace(We,wr):e}var Cf=So(function(e,t,n){return e+(n?` `:``)+t.toUpperCase()}),wf=xo(`toUpperCase`);function Tf(e,t,r){return e=Q(e),t=r?n:t,t===n?fr(e)?Dr(e):Bn(e):e.match(t)||[]}var Ef=G(function(e,t){try{return En(e,n,t)}catch(e){return Eu(e)?e:new vt(e)}}),Df=Ko(function(e,t){return On(t,function(t){t=Bs(t),Ci(e,t,Vl(e[t],e))}),e});function Of(e){var t=e==null?0:e.length,n=K();return e=t?H(e,function(e){if(typeof e[1]!=`function`)throw new Ct(o);return[n(e[0]),e[1]]}):[],G(function(n){for(var r=-1;++r<t;){var i=e[r];if(En(i[0],this,n))return En(i[1],this,n)}})}function kf(e){return Di(Ei(e,d))}function Af(e){return function(){return e}}function jf(e,t){return e==null||e!==e?t:e}var Mf=Eo(),Nf=Eo(!0);function Pf(e){return e}function Ff(e){return ua(typeof e==`function`?e:Ei(e,d))}function If(e){return ha(Ei(e,d))}function Lf(e,t){return ga(e,Ei(t,d))}var Rf=G(function(e,t){return function(n){return Qi(n,e,t)}}),zf=G(function(e,t){return function(n){return Qi(e,n,t)}});function Bf(e,t,n){var r=$(t),i=Hi(t,r);n==null&&!(Y(t)&&(i.length||!r.length))&&(n=t,t=e,e=this,i=Hi(t,$(t)));var a=!(Y(n)&&`chain`in n)||!!n.chain,o=Ou(e);return On(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__=fo(this.__actions__)).push({func:r,args:arguments,thisArg:e}),n.__chain__=t,n}return r.apply(e,Pn([this.value()],arguments))})}),e}function Vf(){return B._===this&&(B._=Nt),this}function Hf(){}function Uf(e){return e=Z(e),G(function(t){return ya(t,e)})}var Wf=Ao(H),Gf=Ao(An),Kf=Ao(Ln);function qf(e){return _s(e)?qn(Bs(e)):Ca(e)}function Jf(e){return function(t){return e==null?n:Ui(e,t)}}var Yf=No(),Xf=No(!0);function Zf(){return[]}function Qf(){return!1}function $f(){return{}}function ep(){return``}function tp(){return!0}function np(e,t){if(e=Z(e),e<1||e>oe)return[];var n=le,r=cn(e,le);t=K(t),e-=le;for(var i=Qn(r,t);++n<e;)t(n);return i}function rp(e){return q(e)?H(e,Bs):Wu(e)?[e]:fo(zs(Q(e)))}function ip(e){var t=++kt;return Q(e)+t}var ap=ko(function(e,t){return e+t},0),op=Io(`ceil`),sp=ko(function(e,t){return e/t},1),cp=Io(`floor`);function lp(e){return e&&e.length?Pi(e,Pf,Ki):n}function up(e,t){return e&&e.length?Pi(e,K(t,2),Ki):n}function dp(e){return Kn(e,Pf)}function fp(e,t){return Kn(e,K(t,2))}function pp(e){return e&&e.length?Pi(e,Pf,pa):n}function mp(e,t){return e&&e.length?Pi(e,K(t,2),pa):n}var hp=ko(function(e,t){return e*t},1),gp=Io(`round`),_p=ko(function(e,t){return e-t},0);function vp(e){return e&&e.length?Zn(e,Pf):0}function yp(e,t){return e&&e.length?Zn(e,K(t,2)):0}return U.after=Rl,U.ary=zl,U.assign=rd,U.assignIn=id,U.assignInWith=ad,U.assignWith=od,U.at=sd,U.before=Bl,U.bind=Vl,U.bindAll=Df,U.bindKey=Hl,U.castArray=su,U.chain=el,U.chunk=Ws,U.compact=Gs,U.concat=Ks,U.cond=Of,U.conforms=kf,U.constant=Af,U.countBy=dl,U.create=cd,U.curry=Ul,U.curryRight=Wl,U.debounce=Gl,U.defaults=ld,U.defaultsDeep=ud,U.defer=Kl,U.delay=ql,U.difference=qs,U.differenceBy=Js,U.differenceWith=Ys,U.drop=Xs,U.dropRight=Zs,U.dropRightWhile=Qs,U.dropWhile=$s,U.fill=ec,U.filter=pl,U.flatMap=gl,U.flatMapDeep=_l,U.flatMapDepth=vl,U.flatten=rc,U.flattenDeep=ic,U.flattenDepth=ac,U.flip=Jl,U.flow=Mf,U.flowRight=Nf,U.fromPairs=oc,U.functions=_d,U.functionsIn=vd,U.groupBy=xl,U.initial=lc,U.intersection=uc,U.intersectionBy=dc,U.intersectionWith=fc,U.invert=Sd,U.invertBy=Cd,U.invokeMap=Cl,U.iteratee=Ff,U.keyBy=wl,U.keys=$,U.keysIn=Td,U.map=Tl,U.mapKeys=Ed,U.mapValues=Dd,U.matches=If,U.matchesProperty=Lf,U.memoize=Yl,U.merge=Od,U.mergeWith=kd,U.method=Rf,U.methodOf=zf,U.mixin=Bf,U.negate=Xl,U.nthArg=Uf,U.omit=Ad,U.omitBy=jd,U.once=Zl,U.orderBy=El,U.over=Wf,U.overArgs=Ql,U.overEvery=Gf,U.overSome=Kf,U.partial=$l,U.partialRight=eu,U.partition=Dl,U.pick=Md,U.pickBy=Nd,U.property=qf,U.propertyOf=Jf,U.pull=_c,U.pullAll=vc,U.pullAllBy=yc,U.pullAllWith=bc,U.pullAt=xc,U.range=Yf,U.rangeRight=Xf,U.rearg=tu,U.reject=Al,U.remove=Sc,U.rest=nu,U.reverse=Cc,U.sampleSize=Ml,U.set=Fd,U.setWith=Id,U.shuffle=Nl,U.slice=wc,U.sortBy=Il,U.sortedUniq=jc,U.sortedUniqBy=Mc,U.split=ff,U.spread=ru,U.tail=Nc,U.take=Pc,U.takeRight=Fc,U.takeRightWhile=Ic,U.takeWhile=Lc,U.tap=tl,U.throttle=iu,U.thru=nl,U.toArray=Zu,U.toPairs=Ld,U.toPairsIn=Rd,U.toPath=rp,U.toPlainObject=td,U.transform=zd,U.unary=au,U.union=Rc,U.unionBy=zc,U.unionWith=Bc,U.uniq=Vc,U.uniqBy=Hc,U.uniqWith=Uc,U.unset=Bd,U.unzip=Wc,U.unzipWith=Gc,U.update=Vd,U.updateWith=Hd,U.values=Ud,U.valuesIn=Wd,U.without=Kc,U.words=Tf,U.wrap=ou,U.xor=qc,U.xorBy=Jc,U.xorWith=Yc,U.zip=Xc,U.zipObject=Zc,U.zipObjectDeep=Qc,U.zipWith=$c,U.entries=Ld,U.entriesIn=Rd,U.extend=id,U.extendWith=ad,Bf(U,U),U.add=ap,U.attempt=Ef,U.camelCase=Jd,U.capitalize=Yd,U.ceil=op,U.clamp=Gd,U.clone=cu,U.cloneDeep=uu,U.cloneDeepWith=du,U.cloneWith=lu,U.conformsTo=fu,U.deburr=Xd,U.defaultTo=jf,U.divide=sp,U.endsWith=Zd,U.eq=pu,U.escape=Qd,U.escapeRegExp=$d,U.every=fl,U.find=ml,U.findIndex=tc,U.findKey=dd,U.findLast=hl,U.findLastIndex=nc,U.findLastKey=fd,U.floor=cp,U.forEach=yl,U.forEachRight=bl,U.forIn=pd,U.forInRight=md,U.forOwn=hd,U.forOwnRight=gd,U.get=yd,U.gt=mu,U.gte=hu,U.has=bd,U.hasIn=xd,U.head=sc,U.identity=Pf,U.includes=Sl,U.indexOf=cc,U.inRange=Kd,U.invoke=wd,U.isArguments=gu,U.isArray=q,U.isArrayBuffer=_u,U.isArrayLike=vu,U.isArrayLikeObject=J,U.isBoolean=yu,U.isBuffer=bu,U.isDate=xu,U.isElement=Su,U.isEmpty=Cu,U.isEqual=wu,U.isEqualWith=Tu,U.isError=Eu,U.isFinite=Du,U.isFunction=Ou,U.isInteger=ku,U.isLength=Au,U.isMap=ju,U.isMatch=Mu,U.isMatchWith=Nu,U.isNaN=Pu,U.isNative=Fu,U.isNil=Lu,U.isNull=Iu,U.isNumber=Ru,U.isObject=Y,U.isObjectLike=X,U.isPlainObject=zu,U.isRegExp=Bu,U.isSafeInteger=Vu,U.isSet=Hu,U.isString=Uu,U.isSymbol=Wu,U.isTypedArray=Gu,U.isUndefined=Ku,U.isWeakMap=qu,U.isWeakSet=Ju,U.join=pc,U.kebabCase=ef,U.last=mc,U.lastIndexOf=hc,U.lowerCase=tf,U.lowerFirst=nf,U.lt=Yu,U.lte=Xu,U.max=lp,U.maxBy=up,U.mean=dp,U.meanBy=fp,U.min=pp,U.minBy=mp,U.stubArray=Zf,U.stubFalse=Qf,U.stubObject=$f,U.stubString=ep,U.stubTrue=tp,U.multiply=hp,U.nth=gc,U.noConflict=Vf,U.noop=Hf,U.now=Ll,U.pad=rf,U.padEnd=af,U.padStart=sf,U.parseInt=cf,U.random=qd,U.reduce=Ol,U.reduceRight=kl,U.repeat=lf,U.replace=uf,U.result=Pd,U.round=gp,U.runInContext=e,U.sample=jl,U.size=Pl,U.snakeCase=df,U.some=Fl,U.sortedIndex=Tc,U.sortedIndexBy=Ec,U.sortedIndexOf=Dc,U.sortedLastIndex=Oc,U.sortedLastIndexBy=kc,U.sortedLastIndexOf=Ac,U.startCase=pf,U.startsWith=mf,U.subtract=_p,U.sum=vp,U.sumBy=yp,U.template=hf,U.times=np,U.toFinite=Qu,U.toInteger=Z,U.toLength=$u,U.toLower=gf,U.toNumber=ed,U.toSafeInteger=nd,U.toString=Q,U.toUpper=_f,U.trim=vf,U.trimEnd=yf,U.trimStart=bf,U.truncate=xf,U.unescape=Sf,U.uniqueId=ip,U.upperCase=Cf,U.upperFirst=wf,U.each=yl,U.eachRight=bl,U.first=sc,Bf(U,function(){var e={};return Bi(U,function(t,n){I.call(U.prototype,n)||(e[n]=t)}),e}(),{chain:!1}),U.VERSION=r,On([`bind`,`bindKey`,`curry`,`curryRight`,`partial`,`partialRight`],function(e){U[e].placeholder=U}),On([`drop`,`take`],function(e,t){W.prototype[e]=function(r){r=r===n?1:L(Z(r),0);var i=this.__filtered__&&!t?new W(this):this.clone();return i.__filtered__?i.__takeCount__=cn(r,i.__takeCount__):i.__views__.push({size:cn(r,le),type:e+(i.__dir__<0?`Right`:``)}),i},W.prototype[e+`Right`]=function(t){return this.reverse()[e](t).reverse()}}),On([`filter`,`map`,`takeWhile`],function(e,t){var n=t+1,r=n==re||n==ae;W.prototype[e]=function(e){var t=this.clone();return t.__iteratees__.push({iteratee:K(e,3),type:n}),t.__filtered__=t.__filtered__||r,t}}),On([`head`,`last`],function(e,t){var n=`take`+(t?`Right`:``);W.prototype[e]=function(){return this[n](1).value()[0]}}),On([`initial`,`tail`],function(e,t){var n=`drop`+(t?``:`Right`);W.prototype[e]=function(){return this.__filtered__?new W(this):this[n](1)}}),W.prototype.compact=function(){return this.filter(Pf)},W.prototype.find=function(e){return this.filter(e).head()},W.prototype.findLast=function(e){return this.reverse().find(e)},W.prototype.invokeMap=G(function(e,t){return typeof e==`function`?new W(this):this.map(function(n){return Qi(n,e,t)})}),W.prototype.reject=function(e){return this.filter(Xl(K(e)))},W.prototype.slice=function(e,t){e=Z(e);var r=this;return r.__filtered__&&(e>0||t<0)?new W(r):(e<0?r=r.takeRight(-e):e&&(r=r.drop(e)),t!==n&&(t=Z(t),r=t<0?r.dropRight(-t):r.take(t-e)),r)},W.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},W.prototype.toArray=function(){return this.take(le)},Bi(W.prototype,function(e,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),i=/^(?:head|last)$/.test(t),a=U[i?`take`+(t==`last`?`Right`:``):t],o=i||/^find/.test(t);a&&(U.prototype[t]=function(){var t=this.__wrapped__,s=i?[1]:arguments,c=t instanceof W,l=s[0],u=c||q(t),d=function(e){var t=a.apply(U,Pn([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 W(this);var g=e.apply(t,s);return g.__actions__.push({func:nl,args:[d],thisArg:n}),new Ir(g,f)}return m&&h?e.apply(this,s):(g=this.thru(d),m?i?g.value()[0]:g.value():g)})}),On([`pop`,`push`,`shift`,`sort`,`splice`,`unshift`],function(e){var t=wt[e],n=/^(?:push|sort|unshift)$/.test(e)?`tap`:`thru`,r=/^(?:pop|shift)$/.test(e);U.prototype[e]=function(){var e=arguments;if(r&&!this.__chain__){var i=this.value();return t.apply(q(i)?i:[],e)}return this[n](function(n){return t.apply(q(n)?n:[],e)})}}),Bi(W.prototype,function(e,t){var n=U[t];if(n){var r=n.name+``;I.call(Jn,r)||(Jn[r]=[]),Jn[r].push({name:t,func:n})}}),Jn[Do(n,_).name]=[{name:`wrapper`,func:n}],W.prototype.clone=Lr,W.prototype.reverse=Rr,W.prototype.value=zr,U.prototype.at=rl,U.prototype.chain=il,U.prototype.commit=al,U.prototype.next=ol,U.prototype.plant=cl,U.prototype.reverse=ll,U.prototype.toJSON=U.prototype.valueOf=U.prototype.value=ul,U.prototype.first=U.prototype.head,Wt&&(U.prototype[Wt]=sl),U})();typeof define==`function`&&typeof define.amd==`object`&&define.amd?(B._=Or,define(function(){return Or})):_n?((_n.exports=Or)._=Or,gn._=Or):B._=Or}).call(e)})),ce=c(se());function le(e){return e.filter(e=>!e.hideInSearch&&(e.search===!0||typeof e.search==`object`))}function ue(e){return e.filter(e=>!e.hideInTable)}function de(e=`id`){return`${e}_${Date.now()}_${Math.random().toString(36).substr(2,9)}`}function O(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]=O(a,i):n[r]=i}),n}function fe(e,t){let n=null;return function(...r){n&&clearTimeout(n),n=setTimeout(()=>e(...r),t)}}function pe(e,t){let n=!1;return function(...r){n||(e(...r),n=!0,setTimeout(()=>n=!1,t))}}function me(e,t=2){return new Intl.NumberFormat(`en-US`,{minimumFractionDigits:t,maximumFractionDigits:t}).format(e)}async function he(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 ge(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 _e(e,t,n){return t?(0,ce.get)(e,t,n):e}function k(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 A(e){if(e.key)return e.key;let t=k(e);return t?Array.isArray(t)?t.join(`.`):String(t):``}function ve(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 ye(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 be(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 xe(e){return new Promise(t=>setTimeout(t,e))}function Se(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 Ce(){return`#`+Math.floor(Math.random()*16777215).toString(16).padStart(6,`0`)}function we(e){let t={};return new URLSearchParams(e).forEach((e,n)=>{t[n]=e}),t}function Te(e){let t=new URLSearchParams;return Object.entries(e).forEach(([e,n])=>{n!=null&&t.append(e,String(n))}),t.toString()}var Ee=(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 j({className:e,variant:t,asChild:n=!1,...r}){return(0,g.jsx)(n?m.Slot:`span`,{"data-slot":`badge`,className:M(Ee({variant:t}),e),...r})}function De({className:e,...t}){return(0,g.jsx)(_.Root,{"data-slot":`avatar`,className:M(`relative flex size-8 shrink-0 overflow-hidden rounded-full`,e),...t})}function Oe({className:e,...t}){return(0,g.jsx)(_.Image,{"data-slot":`avatar-image`,className:M(`aspect-square size-full`,e),...t})}function ke({className:e,...t}){return(0,g.jsx)(_.Fallback,{"data-slot":`avatar-fallback`,className:M(`bg-muted flex size-full items-center justify-center rounded-full`,e),...t})}function Ae({className:e,...t}){return(0,g.jsx)(v.Root,{"data-slot":`switch`,className:M(`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:M(`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 je({className:e,value:t,...n}){return(0,g.jsx)(y.Root,{"data-slot":`progress`,className:M(`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 Me={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)(j,{variant:t?.variant??`secondary`,children:e},n))}):`-`},avatar:{render:(e,t)=>{let n=t?.size??32;return(0,g.jsxs)(De,{style:{width:n,height:n},children:[(0,g.jsx)(Oe,{src:e,alt:t?.alt}),(0,g.jsx)(ke,{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)(Ae,{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)(j,{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)(j,{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)(je,{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:M(`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 Ne(e,t,n){let r=Me[e];return r?r.render(t,n):t??`-`}function Pe(e,t,n){let r=Me[e];return r?.renderFormItem?r.renderFormItem(t,n):null}function Fe(e,t){Me[e]=t}function M(...e){return(0,f.twMerge)((0,d.clsx)(e))}function Ie({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:M(`w-full caption-bottom text-sm`,e),...t})})}function Le({className:e,...t}){return(0,g.jsx)(`thead`,{"data-slot":`table-header`,className:M(`[&_tr]:border-b`,e),...t})}function Re({className:e,...t}){return(0,g.jsx)(`tbody`,{"data-slot":`table-body`,className:M(`[&_tr:last-child]:border-0`,e),...t})}function ze({className:e,...t}){return(0,g.jsx)(`tfoot`,{"data-slot":`table-footer`,className:M(`bg-muted/50 border-t font-medium [&>tr]:last:border-b-0`,e),...t})}function Be({className:e,...t}){return(0,g.jsx)(`tr`,{"data-slot":`table-row`,className:M(`hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors`,e),...t})}function Ve({className:e,...t}){return(0,g.jsx)(`th`,{"data-slot":`table-head`,className:M(`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 He({className:e,...t}){return(0,g.jsx)(`td`,{"data-slot":`table-cell`,className:M(`p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]`,e),...t})}function Ue({className:e,...t}){return(0,g.jsx)(`caption`,{"data-slot":`table-caption`,className:M(`text-muted-foreground mt-4 text-sm`,e),...t})}function We({className:e,...t}){return(0,g.jsx)(b.Root,{"data-slot":`checkbox`,className:M(`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 Ge({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card`,className:M(`bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm`,e),...t})}function Ke({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-header`,className:M(`@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 qe({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-title`,className:M(`leading-none font-semibold`,e),...t})}function Je({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-description`,className:M(`text-muted-foreground text-sm`,e),...t})}function Ye({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-action`,className:M(`col-start-2 row-span-2 row-start-1 self-start justify-self-end`,e),...t})}function Xe({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-content`,className:M(`px-6`,e),...t})}function Ze({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`card-footer`,className:M(`flex items-center px-6 [.border-t]:pt-6`,e),...t})}var Qe=(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 N({className:e,variant:t,size:n,asChild:r=!1,...i}){return(0,g.jsx)(r?m.Slot:`button`,{"data-slot":`button`,className:M(Qe({variant:t,size:n,className:e})),...i})}var $e=c(se());function et(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 tt(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=f!==!1&&f?.mode===`server`,_=f!==!1&&typeof f==`object`&&(f.onChange||f.onShowSizeChange)&&(f.current!=null||f.pageSize!=null),v={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},[y,b]=(0,l.useReducer)(et,v),x=(0,l.useRef)(null),[S,C]=(0,l.useState)([]),[w,T]=(0,l.useState)([]),[ee,te]=(0,l.useState)({}),[ne,E]=(0,l.useState)({}),re=(0,l.useCallback)(e=>{C(t=>{if((0,$e.isFunction)(e))try{let n=e(t||[]);return n==null||!Array.isArray(n)?[]:n}catch{return t||[]}return e==null||!Array.isArray(e)?[]:e})},[]),ie=(0,l.useCallback)(e=>{T(t=>{if((0,$e.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)})},[]),ae=(0,l.useCallback)(e=>{te(t=>{if((0,$e.isFunction)(e)){let n=e(t||{});return n&&typeof n==`object`?n:{}}return e&&typeof e==`object`?e:{}})},[]),D=(0,l.useCallback)(e=>typeof c==`function`?String(c(e)):String(e[c]),[c]),oe=(0,l.useCallback)(e=>{E(t=>{let n=(0,$e.isFunction)(e)?e(t||{})||{}:e&&typeof e==`object`?e:{};if(d!==!1){let e=[],t=[],r=new Set(y.data.map(e=>String(D(e))));Object.keys(n).forEach(r=>{if(n[r]){let n=y.data.find(e=>String(D(e))===r);if(n){let r=D(n);e.push(r),t.push(n)}}});let i=[...y.selectedRowKeys.filter(e=>!r.has(String(e))),...e];b({type:`SET_SELECTION`,payload:{keys:i,rows:t}}),d&&typeof d==`object`&&d.onChange&&d.onChange(i,t)}return n})},[d,y.data,y.selectedRowKeys,D]),se=(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]),[ce,le]=(0,l.useState)(()=>se()),ue=(0,l.useCallback)(e=>{le(t=>{if((0,$e.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=se();le(e)},[se]);let de=(0,l.useCallback)(async e=>{if(r){b({type:`SET_LOADING`,payload:!0}),m?.(!0);try{let t={current:e?.current??y.current,pageSize:e?.pageSize??y.pageSize,...i,...y.filters,...y.sorter},n=await r(t),o=n.data||[];a&&(o=a(o)),b({type:`SET_DATA`,payload:{data:o,total:n.total}}),e&&b({type:`SET_PAGINATION`,payload:e}),p?.(o)}catch(e){h?.(e)}finally{b({type:`SET_LOADING`,payload:!1}),m?.(!1)}}},[r,i,y.current,y.pageSize,y.filters,y.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!==y.current||t!=null&&t!==y.pageSize))return;let n={current:e??y.current,pageSize:t??y.pageSize};if(r){b({type:`SET_PAGINATION`,payload:n}),de(n);return}b({type:`SET_PAGINATION`,payload:n})},[f,_,r,de,y.current,y.pageSize]),(0,l.useEffect)(()=>{if(f===!1)return;let e=f?.total;e!=null&&e!==y.total&&b({type:`SET_TOTAL`,payload:e})},[f,y.total]);let O=(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)}):((t,n,r)=>{if(r==null||r===``)return!0;let i=t.getValue(n);if(i==null)return!1;let a=!!e.filters||!!e.valueEnum||e.valueType===`select`||e.valueType===`status`;if(Array.isArray(r))return r.length===0?!0:r.some(e=>{let t=String(i).toLowerCase(),n=String(e).toLowerCase();return a?t===n:t.includes(n)});let o=String(i).toLowerCase(),s=String(r).toLowerCase();return a?o===s:o.includes(s)}),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]),fe=(0,u.useReactTable)({data:y.data,columns:O,state:{sorting:S,columnFilters:w,columnVisibility:ee,rowSelection:ne,columnPinning:ce,pagination:{pageIndex:y.current-1,pageSize:y.pageSize}},onSortingChange:re,onColumnFiltersChange:ie,onColumnVisibilityChange:ae,onRowSelectionChange:oe,onColumnPinningChange:ue,getCoreRowModel:(0,u.getCoreRowModel)(),getFilteredRowModel:(0,u.getFilteredRowModel)(),getPaginationRowModel:(0,u.getPaginationRowModel)(),getSortedRowModel:(0,u.getSortedRowModel)(),getRowId:D,manualPagination:!!r||g,pageCount:Math.ceil(y.total/y.pageSize),columnResizeMode:`onChange`,enableColumnPinning:!0}),pe=(0,l.useCallback)((e,t)=>{r?(b({type:`SET_PAGINATION`,payload:{current:e,pageSize:t}}),de({current:e,pageSize:t})):b({type:`SET_PAGINATION`,payload:{current:e,pageSize:t}})},[r,de,f]),me=(0,l.useCallback)(e=>{if(b({type:`SET_FILTERS`,payload:e}),r)de({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}));T(t)}},[r,de]),he=(0,l.useCallback)(()=>{b({type:`RESET`}),r?de({current:1}):T([])},[r,de]);(0,l.useEffect)(()=>{if(r&&S.length>0){let e=S[0].id,t=S[0].desc?`desc`:`asc`;b({type:`SET_SORTER`,payload:{field:e,order:t}}),de({current:1})}},[S,r]);let ge={reload:async(e=!1)=>{await de(e?{current:1}:void 0)},reloadAndRest:async()=>{b({type:`RESET`}),await de({current:1})},reset:()=>{b({type:`RESET`})},clearSelected:()=>{E({}),b({type:`SET_SELECTION`,payload:{keys:[],rows:[]}})},startEditable:e=>{let t=y.data.find(t=>D(t)===String(e));return t?(b({type:`START_EDIT`,payload:{key:e,record:t}}),!0):!1},cancelEditable:e=>(b({type:`CANCEL_EDIT`}),!0),saveEditable:(e,t)=>(b({type:`SAVE_EDIT`,payload:t}),!0),getRowData:e=>y.data.find(t=>D(t)===String(e)),getTableData:()=>y.data,setTableData:e=>{b({type:`SET_DATA`,payload:{data:e}})}};return(0,l.useEffect)(()=>{x.current&&Object.assign(x.current,ge)}),(0,l.useEffect)(()=>{r&&!n&&de()},[]),(0,l.useEffect)(()=>{n&&b({type:`SET_DATA`,payload:{data:n,total:(f===!1?void 0:f?.total)??n.length}})},[n,f]),(0,l.useEffect)(()=>{if(d===!1||!d)return;let e={};y.data.forEach(t=>{let n=String(D(t));y.selectedRowKeys.includes(D(t))&&(e[n]=!0)});let t=Object.keys(ne).filter(e=>ne[e]),n=Object.keys(e).filter(t=>e[t]);t.length===n.length&&t.every(e=>n.includes(e))&&n.every(e=>t.includes(e))||E(e)},[y.data,y.selectedRowKeys,D,d]),{table:fe,state:y,dispatch:b,actions:ge,handlers:{handlePaginationChange:pe,handleSearch:me,handleReset:he}}}function P(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?Ne(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 nt({className:e,type:t,...n}){return(0,g.jsx)(`input`,{type:t,"data-slot":`input`,className:M(`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 rt({...e}){return(0,g.jsx)(S.Root,{"data-slot":`dropdown-menu`,...e})}function it({...e}){return(0,g.jsx)(S.Portal,{"data-slot":`dropdown-menu-portal`,...e})}function at({...e}){return(0,g.jsx)(S.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function ot({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:M(`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 st({...e}){return(0,g.jsx)(S.Group,{"data-slot":`dropdown-menu-group`,...e})}function ct({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:M(`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 lt({className:e,children:t,checked:n,...r}){return(0,g.jsxs)(S.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:M(`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 ut({...e}){return(0,g.jsx)(S.RadioGroup,{"data-slot":`dropdown-menu-radio-group`,...e})}function dt({className:e,children:t,...n}){return(0,g.jsxs)(S.RadioItem,{"data-slot":`dropdown-menu-radio-item`,className:M(`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 ft({className:e,inset:t,...n}){return(0,g.jsx)(S.Label,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:M(`px-2 py-1.5 text-sm font-medium data-[inset]:pl-8`,e),...n})}function pt({className:e,...t}){return(0,g.jsx)(S.Separator,{"data-slot":`dropdown-menu-separator`,className:M(`bg-border -mx-1 my-1 h-px`,e),...t})}function mt({className:e,...t}){return(0,g.jsx)(`span`,{"data-slot":`dropdown-menu-shortcut`,className:M(`text-muted-foreground ml-auto text-xs tracking-widest`,e),...t})}function ht({...e}){return(0,g.jsx)(S.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function gt({className:e,inset:t,children:n,...r}){return(0,g.jsxs)(S.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":t,className:M(`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 _t({className:e,...t}){return(0,g.jsx)(S.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:M(`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 vt({delayDuration:e=0,...t}){return(0,g.jsx)(C.Provider,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function yt({...e}){return(0,g.jsx)(vt,{children:(0,g.jsx)(C.Root,{"data-slot":`tooltip`,...e})})}function bt({...e}){return(0,g.jsx)(C.Trigger,{"data-slot":`tooltip-trigger`,...e})}function F({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:M(`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 xt={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 St=(0,l.createContext)(void 0);function Ct({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(xt,e||{})},[e]);return(0,g.jsx)(St.Provider,{value:{locale:n},children:t})}function wt(){let e=(0,l.useContext)(St);if(e===void 0)throw Error(`useLocale must be used within a LocaleProvider`);return e.locale}function Tt({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 Et({table:e,columns:t,visibleColumns:n,onVisibleChange:r,fixedColumns:i={},onFixedChange:a,onOrderChange:o}){let s=wt(),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)(rt,{children:[(0,g.jsx)(at,{asChild:!0,children:(0,g.jsx)(N,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,children:(0,g.jsx)(w.IconSettings,{className:`h-4 w-4`})})}),(0,g.jsxs)(ot,{align:`end`,className:`w-64`,children:[(0,g.jsx)(ft,{children:s.columnSetting.title}),(0,g.jsx)(pt,{}),(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)(Tt,{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)(N,{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:M(`text-sm`,!r&&`text-muted-foreground line-through`),children:e.title??t})]}),(0,g.jsxs)(rt,{children:[(0,g.jsx)(at,{asChild:!0,children:(0,g.jsx)(N,{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)(ot,{side:`left`,children:[(0,g.jsx)(ct,{onClick:()=>m(t,void 0),children:s.columnSetting.noFixed}),(0,g.jsx)(ct,{onClick:()=>m(t,`left`),children:s.columnSetting.fixedLeft}),(0,g.jsx)(ct,{onClick:()=>m(t,`right`),children:s.columnSetting.fixedRight})]})]})]})},t)})})})}),(0,g.jsx)(pt,{}),(0,g.jsxs)(`div`,{className:`flex gap-2 p-2`,children:[(0,g.jsxs)(N,{size:`sm`,variant:`outline`,className:`flex-1`,onClick:()=>r(u),children:[s.columnSetting.show,` All`]}),(0,g.jsxs)(N,{size:`sm`,variant:`outline`,className:`flex-1`,onClick:()=>r([]),children:[s.columnSetting.hide,` All`]})]})]})]})}function Dt({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=wt(),[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)(nt,{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)(vt,{children:[ee.includes(`reload`)&&(0,g.jsxs)(yt,{children:[(0,g.jsx)(bt,{asChild:!0,children:(0,g.jsx)(N,{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)(F,{children:(0,g.jsx)(`p`,{children:b.toolbar.reload})})]}),ee.includes(`density`)&&(0,g.jsxs)(rt,{children:[(0,g.jsx)(at,{asChild:!0,children:(0,g.jsx)(N,{variant:`ghost`,size:`icon`,className:`h-8 w-8`,children:(0,g.jsx)(x.Settings2,{className:`h-4 w-4`})})}),(0,g.jsxs)(ot,{align:`end`,children:[(0,g.jsx)(ft,{children:b.toolbar.density}),(0,g.jsx)(pt,{}),(0,g.jsx)(lt,{checked:p===`small`,onCheckedChange:()=>m?.(`small`),children:b.toolbar.compact}),(0,g.jsx)(lt,{checked:p===`middle`,onCheckedChange:()=>m?.(`middle`),children:b.toolbar.default}),(0,g.jsx)(lt,{checked:p===`large`,onCheckedChange:()=>m?.(`large`),children:b.toolbar.comfortable})]})]}),ee.includes(`columnSettings`)&&_&&(0,g.jsx)(Et,{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)(yt,{children:[(0,g.jsx)(bt,{asChild:!0,children:(0,g.jsx)(N,{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)(F,{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 Ot({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)(rt,{open:i,onOpenChange:a,children:[(0,g.jsx)(at,{asChild:!0,children:(0,g.jsx)(N,{variant:`ghost`,size:`sm`,className:M(`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)(ot,{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)(N,{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)(We,{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 I({...e}){return(0,g.jsx)(E.Root,{"data-slot":`select`,...e})}function kt({...e}){return(0,g.jsx)(E.Group,{"data-slot":`select-group`,...e})}function At({...e}){return(0,g.jsx)(E.Value,{"data-slot":`select-value`,...e})}function jt({className:e,size:t=`default`,children:n,...r}){return(0,g.jsxs)(E.Trigger,{"data-slot":`select-trigger`,"data-size":t,className:M(`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 Mt({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:M(`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)(It,{}),(0,g.jsx)(E.Viewport,{className:M(`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)(Lt,{})]})})}function Nt({className:e,...t}){return(0,g.jsx)(E.Label,{"data-slot":`select-label`,className:M(`text-muted-foreground px-2 py-1.5 text-xs`,e),...t})}function Pt({className:e,children:t,...n}){return(0,g.jsxs)(E.Item,{"data-slot":`select-item`,className:M(`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 Ft({className:e,...t}){return(0,g.jsx)(E.Separator,{"data-slot":`select-separator`,className:M(`bg-border pointer-events-none -mx-1 my-1 h-px`,e),...t})}function It({className:e,...t}){return(0,g.jsx)(E.ScrollUpButton,{"data-slot":`select-scroll-up-button`,className:M(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,g.jsx)(x.ChevronUpIcon,{className:`size-4`})})}function Lt({className:e,...t}){return(0,g.jsx)(E.ScrollDownButton,{"data-slot":`select-scroll-down-button`,className:M(`flex cursor-default items-center justify-center py-1`,e),...t,children:(0,g.jsx)(x.ChevronDownIcon,{className:`size-4`})})}var Rt=768;function zt(){let[e,t]=l.useState(void 0);return l.useEffect(()=>{let e=window.matchMedia(`(max-width: ${Rt-1}px)`),n=()=>{t(window.innerWidth<Rt)};return e.addEventListener(`change`,n),t(window.innerWidth<Rt),()=>e.removeEventListener(`change`,n)},[]),!!e}function Bt({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=wt(),m=zt(),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:M(`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:M(`flex items-center gap-2`,m?`justify-between`:`justify-center`),children:[(0,g.jsx)(N,{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)(N,{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)(I,{value:String(t),onValueChange:x,disabled:l,children:[(0,g.jsx)(jt,{size:`sm`,className:`h-8 w-[110px]`,id:`rows-per-page-mobile`,children:(0,g.jsx)(At,{placeholder:t})}),(0,g.jsx)(Mt,{children:o.map(e=>(0,g.jsx)(Pt,{value:e,children:e},e))})]})]})]});let S=(_-1)*t+1,C=Math.min(_*t,n);return(0,g.jsxs)(`div`,{className:M(`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:M(`flex items-center gap-2`,m&&`flex-wrap justify-between gap-3`),children:[r&&(0,g.jsxs)(`div`,{className:M(`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)(I,{value:String(t),onValueChange:x,disabled:l,children:[(0,g.jsx)(jt,{size:`sm`,className:M(`h-8 w-20`,m&&`w-[120px]`),id:`rows-per-page`,children:(0,g.jsx)(At,{})}),(0,g.jsx)(Mt,{children:o.map(e=>(0,g.jsx)(Pt,{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)(N,{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)(N,{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)(N,{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)(N,{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 Vt({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:M(`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:M(`w-fit`,c.root),months:M(`flex gap-4 flex-col md:flex-row relative`,c.months),month:M(`flex flex-col w-full gap-4`,c.month),nav:M(`flex items-center gap-1 w-full absolute top-0 inset-x-0 justify-between`,c.nav),button_previous:M(Qe({variant:i}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,c.button_previous),button_next:M(Qe({variant:i}),`size-(--cell-size) aria-disabled:opacity-50 p-0 select-none`,c.button_next),month_caption:M(`flex items-center justify-center h-(--cell-size) w-full px-(--cell-size)`,c.month_caption),dropdowns:M(`w-full flex items-center text-sm font-medium justify-center h-(--cell-size) gap-1.5`,c.dropdowns),dropdown_root:M(`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:M(`absolute bg-popover inset-0 opacity-0`,c.dropdown),caption_label:M(`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:M(`flex`,c.weekdays),weekday:M(`text-muted-foreground rounded-md flex-1 font-normal text-[0.8rem] select-none`,c.weekday),week:M(`flex w-full mt-2`,c.week),week_number_header:M(`select-none w-(--cell-size)`,c.week_number_header),week_number:M(`text-[0.8rem] select-none text-muted-foreground`,c.week_number),day:M(`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:M(`rounded-l-md bg-accent`,c.range_start),range_middle:M(`rounded-none`,c.range_middle),range_end:M(`rounded-r-md bg-accent`,c.range_end),today:M(`bg-accent text-accent-foreground rounded-md data-[selected=true]:rounded-none`,c.today),outside:M(`text-muted-foreground aria-selected:text-muted-foreground`,c.outside),disabled:M(`text-muted-foreground opacity-50`,c.disabled),hidden:M(`invisible`,c.hidden),...t},components:{Root:({className:e,rootRef:t,...n})=>(0,g.jsx)(`div`,{"data-slot":`calendar`,ref:t,className:M(e),...n}),Chevron:({className:e,orientation:t,...n})=>t===`left`?(0,g.jsx)(x.ChevronLeftIcon,{className:M(`size-4`,e),...n}):t===`right`?(0,g.jsx)(x.ChevronRightIcon,{className:M(`size-4`,e),...n}):(0,g.jsx)(x.ChevronDownIcon,{className:M(`size-4`,e),...n}),DayButton:Ht,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 Ht({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)(N,{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:M(`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 Ut({...e}){return(0,g.jsx)(ie.Root,{"data-slot":`popover`,...e})}function Wt({...e}){return(0,g.jsx)(ie.Trigger,{"data-slot":`popover-trigger`,...e})}function Gt({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:M(`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 Kt({...e}){return(0,g.jsx)(ie.Anchor,{"data-slot":`popover-anchor`,...e})}function qt({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)(Ut,{children:[(0,g.jsx)(Wt,{asChild:!0,children:(0,g.jsxs)(N,{id:u,variant:`outline`,className:M(`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)(Gt,{className:`w-auto p-0`,align:c,sideOffset:l,children:(0,g.jsx)(Vt,{mode:`single`,selected:e,onSelect:t,disabled:i,fromDate:a,toDate:o,initialFocus:!0})})]})}function Jt({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:M(`w-full`,r),children:(0,g.jsxs)(Ut,{children:[(0,g.jsx)(Wt,{asChild:!0,children:(0,g.jsxs)(N,{id:d,variant:`outline`,className:M(`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)(Gt,{className:`w-auto p-0`,align:c,sideOffset:l,children:(0,g.jsx)(Vt,{initialFocus:!0,mode:`range`,defaultMonth:e?.from,selected:e,onSelect:t,numberOfMonths:u,disabled:i,fromDate:a,toDate:o})})]})})}function Yt({className:e,...t}){return(0,g.jsx)(ae.Root,{"data-slot":`label`,className:M(`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 Xt({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`field-group`,className:M(`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 Zt=(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 Qt({className:e,orientation:t=`vertical`,...n}){return(0,g.jsx)(`div`,{role:`group`,"data-slot":`field`,"data-orientation":t,className:M(Zt({orientation:t}),e),...n})}function $t({className:e,...t}){return(0,g.jsx)(Yt,{"data-slot":`field-label`,className:M(`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 en({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:M(`text-destructive text-sm font-normal`,e),...r,children:i}):null}function tn({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=wt(),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)(I,{name:n.name,value:n.value??``,onValueChange:n.onChange,children:[(0,g.jsx)(jt,{id:t,size:`sm`,className:`h-8 w-full`,"aria-invalid":r.invalid,children:(0,g.jsx)(At,{placeholder:`${p.search.selectPlaceholder} ${e.title}`})}),(0,g.jsx)(Mt,{position:`popper`,className:`w-(--radix-select-trigger-width)`,children:e.valueEnum?Object.entries(e.valueEnum).map(([e,n])=>(0,g.jsx)(Pt,{value:e,children:n.text},`${t}-${e}`)):e.filters?.map(e=>(0,g.jsx)(Pt,{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)(qt,{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)(qt,{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)(Jt,{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)(nt,{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)(Ae,{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)(nt,{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)(nt,{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)(N,{size:`sm`,type:`submit`,disabled:r,children:s||p.search.submitText}),(0,g.jsx)(N,{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)(N,{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)(N,{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)(N,{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 oe=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)(Xt,{className:M(`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)(Qt,{"data-invalid":a.invalid,children:[(0,g.jsxs)($t,{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)(en,{errors:[a.error]})]})},t):(0,g.jsxs)(Qt,{children:[(0,g.jsxs)($t,{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:oe})]})}var nn=(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 rn({className:e,variant:t,...n}){return(0,g.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:M(nn({variant:t}),e),...n})}function an({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`alert-title`,className:M(`col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight`,e),...t})}function L({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`alert-description`,className:M(`text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed`,e),...t})}function on({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:M(`flex items-center gap-2`,u),children:[v&&(0,g.jsxs)(g.Fragment,{children:[n&&(0,g.jsxs)(N,{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)(N,{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)(rt,{children:[(0,g.jsx)(at,{asChild:!0,children:(0,g.jsxs)(N,{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)(ot,{align:`start`,children:[i&&(0,g.jsxs)(ct,{onClick:p,children:[(0,g.jsx)(x.FileText,{className:`h-4 w-4 mr-2`}),`Excel (.xlsx)`]}),a&&(0,g.jsxs)(ct,{onClick:m,children:[(0,g.jsx)(x.FileText,{className:`h-4 w-4 mr-2`}),`CSV (.csv)`]})]})]}),o&&(0,g.jsxs)(N,{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)(N,{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)(N,{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)(rt,{children:[(0,g.jsx)(at,{asChild:!0,children:(0,g.jsx)(N,{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)(ot,{align:`end`,children:[n&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsxs)(ct,{onClick:d,className:`text-destructive`,children:[(0,g.jsx)(x.Trash2,{className:`h-4 w-4 mr-2`}),`删除选中项`]}),(0,g.jsx)(pt,{})]}),r&&(0,g.jsxs)(ct,{onClick:f,children:[(0,g.jsx)(x.Download,{className:`h-4 w-4 mr-2`}),`导出数据`]}),o&&(0,g.jsxs)(ct,{onClick:h,children:[(0,g.jsx)(x.Mail,{className:`h-4 w-4 mr-2`}),`发送邮件`]}),s&&(0,g.jsxs)(ct,{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)(pt,{}),c.map(e=>(0,g.jsxs)(ct,{onClick:()=>e.onClick(t),children:[e.icon&&(0,g.jsx)(`span`,{className:`mr-2`,children:e.icon}),e.label]},e.key))]})]})]})]})}function sn({selectedCount:e,selectedRows:t=[],onClear:n,actions:r=[],alwaysShow:i=!1,batchActions:a}){let o=wt();return(0,g.jsx)(oe.AnimatePresence,{children:(i||e>0)&&(0,g.jsx)(oe.motion.div,{initial:{opacity:0,y:-6},animate:{opacity:1,y:0},exit:{opacity:0,y:-6},transition:{duration:.18},children:(0,g.jsx)(rn,{className:`mb-4`,children:(0,g.jsxs)(L,{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)(on,{selectedCount:e,selectedRows:t,...a}),r.map((e,t)=>(0,g.jsx)(l.default.Fragment,{children:e},t))]})]}),e>0&&(0,g.jsxs)(N,{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 R({className:e,...t}){return(0,g.jsx)(`textarea`,{"data-slot":`textarea`,className:M(`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 z({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)(nt,{value:s||``,onChange:e=>c(e.target.value),onKeyDown:h,className:`h-8`,...t});case`number`:return(0,g.jsx)(nt,{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)(I,{value:s||``,onValueChange:c,children:[(0,g.jsx)(jt,{className:`h-8`,children:(0,g.jsx)(At,{placeholder:`请选择`})}),(0,g.jsx)(Mt,{children:e&&Object.entries(e).map(([e,t])=>(0,g.jsx)(Pt,{value:e,children:t.text},e))})]});case`switch`:return(0,g.jsx)(Ae,{checked:!!s,onCheckedChange:c,...t});case`date`:return(0,g.jsxs)(Ut,{children:[(0,g.jsx)(Wt,{asChild:!0,children:(0,g.jsxs)(N,{variant:`outline`,className:M(`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)(Gt,{className:`w-auto p-0`,children:(0,g.jsx)(Vt,{mode:`single`,selected:s,onSelect:c,initialFocus:!0})})]});case`textarea`:return(0,g.jsx)(R,{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)(nt,{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)(nt,{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)(nt,{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)(nt,{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)(nt,{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)(nt,{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)(N,{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)(N,{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 cn({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`empty`,className:M(`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 ln({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`empty-header`,className:M(`flex max-w-sm flex-col items-center gap-2 text-center`,e),...t})}var un=(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 dn({className:e,variant:t=`default`,...n}){return(0,g.jsx)(`div`,{"data-slot":`empty-icon`,"data-variant":t,className:M(un({variant:t,className:e})),...n})}function fn({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`empty-title`,className:M(`text-lg font-medium tracking-tight`,e),...t})}function pn({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`empty-description`,className:M(`text-muted-foreground [&>a:hover]:text-primary text-sm/relaxed [&>a]:underline [&>a]:underline-offset-4`,e),...t})}function mn({colSpan:e,emptyRender:t}){let n=wt();return t?(0,g.jsx)(Be,{children:(0,g.jsx)(He,{colSpan:e,className:`h-32`,children:t})}):(0,g.jsx)(Be,{children:(0,g.jsx)(He,{colSpan:e,className:`h-32`,children:(0,g.jsx)(cn,{children:(0,g.jsxs)(ln,{children:[(0,g.jsx)(dn,{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)(fn,{children:n.common.noData}),(0,g.jsx)(pn,{children:`No data available`})]})})})})}function hn({className:e,...t}){return(0,g.jsx)(`div`,{"data-slot":`skeleton`,className:M(`bg-accent animate-pulse rounded-md`,e),...t})}function B({columnCount:e,draggable:t=!1,rowSelection:n=!1,rowCount:r=10}){return(0,g.jsx)(g.Fragment,{children:[...Array(r)].map((r,i)=>(0,g.jsxs)(Be,{children:[t&&(0,g.jsx)(He,{children:(0,g.jsx)(hn,{className:`h-4 w-4`})}),n&&(0,g.jsx)(He,{children:(0,g.jsx)(hn,{className:`h-4 w-4`})}),[...Array(e)].map((e,t)=>(0,g.jsx)(He,{children:(0,g.jsx)(hn,{className:`h-4 w-full`})},t))]},i))})}function gn({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)(He,{className:`w-8`,style:{paddingLeft:`${t*24}px`}});let c=()=>{o(e,!r)},l=(0,g.jsx)(N,{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)(He,{className:`w-8`,style:{width:`${s}px`,paddingLeft:`${t*24}px`},children:u})}function _n({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)(N,{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)(N,{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)(N,{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)(N,{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)(N,{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)(N,{size:`sm`,variant:`ghost`,className:`h-7 px-2`,onClick:c,children:(0,g.jsx)(x.Minus,{className:`h-3 w-3`})})]}))()})}function vn({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)(N,{variant:`ghost`,size:`sm`,className:M(c[n],`hover:bg-muted/50 transition-colors`,t),onClick:s,title:a?`已复制`:`复制`,children:[a?(0,g.jsx)(x.Check,{className:M(u[n],`text-green-600`)}):(0,g.jsx)(x.Copy,{className:M(u[n],`text-muted-foreground`)}),r&&(0,g.jsx)(`span`,{className:`ml-1 text-xs`,children:a?`已复制`:`复制`})]})}var yn=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}},V=e=>{if(e==null)return!1;if(typeof e==`string`){let t=e.trim();return t!==``&&t!==`-`}return!0};function bn({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)(Be,{ref:i,style:c,"data-state":e.getIsSelected&&e.getIsSelected()?`selected`:void 0,...n,children:[(0,g.jsx)(He,{className:`w-8`,children:(0,g.jsx)(N,{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 xn=(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,paginationRender:m,rowSelection:h,draggable:_,editable:v,headerTitle:y,headerSubTitle:b,footer:S,onRow:C,search:w,cardBordered:te=!1,cardProps:E,tableRender:re,tableExtraRender:ie,emptyRender:ae,onSubmit:D,onReset:oe,scroll:se,sticky:ce,tableLayout:ue,locale:de,expandable:O,rowKey:fe=`id`,actionRef:pe}=e,[me,he]=(0,l.useState)(()=>n);(0,l.useEffect)(()=>{he(n)},[n]);let ge={...e,columns:me},{table:k,state:A,actions:ve,handlers:ye}=tt(ge),{request:be}=ge,{visibleColumns:xe,setVisibleColumns:Se,columnSettings:Ce,updateColumnSettings:we}=P({columns:me,rowSelection:!!h,draggable:!!_,editable:!!v}),Te=O!==!1&&O!==void 0,Ee=O!==!1&&O!==void 0&&O.childrenColumnName||`children`,j=typeof fe==`function`?fe:e=>e[fe]||e.id||e.key,De=(0,l.useCallback)(e=>{let t=[];return e.forEach(e=>{t.push(j(e));let n=e[Ee];n&&Array.isArray(n)&&n.length>0&&t.push(...De(n))}),t},[Ee,j]),[Oe,ke]=(0,l.useState)(()=>O!==!1&&O!==void 0&&O.defaultExpandAllRows&&A.data.length>0?De(A.data):O!==!1&&O!==void 0&&O.defaultExpandedRowKeys||[]),Ae=O!==!1&&O!==void 0?O.expandedRowKeys??Oe:Oe,je=O!==!1&&O!==void 0&&O.expandedRowKeys!==void 0;(0,l.useEffect)(()=>{O!==!1&&O!==void 0&&O.defaultExpandAllRows&&A.data.length>0&&!je&&ke(De(A.data))},[A.data,O!==!1&&O!==void 0?O.defaultExpandAllRows:!1,De,je]);let Me=(0,l.useCallback)((e,t)=>{let n=j(e),r;r=O!==!1&&O!==void 0&&O.accordion?t?[n]:[]:t?[...Ae,n]:Ae.filter(e=>e!==n),je||ke(r),O!==!1&&O!==void 0&&(O.onExpand?.(t,e),O.onExpandedRowsChange?.(r))},[Ae,O,je,j]),Pe=(0,l.useCallback)(e=>{let t=e[Ee];return!!(t&&Array.isArray(t)&&t.length>0)},[Ee]),Fe=(0,l.useCallback)(e=>{let t=j(e);return Ae.includes(t)},[Ae,j]),[ze,Ue]=(0,l.useState)(s),[Ke,qe]=(0,l.useState)(!1),Je=(0,T.useSensors)((0,T.useSensor)(T.PointerSensor),(0,T.useSensor)(T.KeyboardSensor));(0,l.useImperativeHandle)(t,()=>ve,[ve]),(0,l.useEffect)(()=>{pe&&(typeof pe==`function`?pe(ve):pe&&typeof pe==`object`&&`current`in pe&&(pe.current=ve))},[ve,pe]);let Ye=e=>{if(_&&typeof _==`object`&&typeof _.onDragEnd==`function`){let{active:t,over:n}=e;if(!n||t.id===n.id)return;let r=k.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=[...A.data],[n]=t.splice(i,1);t.splice(a,0,n);try{ve.setTableData(t)}catch{}try{_.onDragEnd({active:{id:e.active.id},over:e.over?{id:e.over.id}:null,items:t,oldIndex:0,newIndex:0})}catch{}}}},Ze=()=>{try{k.toggleAllRowsSelected?.(!1)}catch{}ve.clearSelected()},Qe=e=>{ye.handleSearch(e),D?.(e)},$e=()=>{ye.handleReset(),oe?.()},et=(e,t)=>{if(k.setColumnFilters(n=>{let r=(Array.isArray(n)?n:[]).filter(t=>t.id!==e);return t.length>0&&r.push({id:e,value:t}),r}),be){let n={...A.filters};t.length>0?n[e]=t:delete n[e],ye.handleSearch(n)}},nt=e=>{if(k.setColumnFilters(t=>(Array.isArray(t)?t:[]).filter(t=>t.id!==e)),be){let t={...A.filters};delete t[e],ye.handleSearch(t)}},rt=(e,t)=>{if(e===`order`&&Array.isArray(t)){he(t);return}if(typeof e==`string`&&t&&t.fixed!==void 0){let n=e,r=t.fixed;he(e=>e.map(e=>(e.key||String(e.dataIndex))===n?{...e,fixed:r}:e));return}we(e,t)},it={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`},at=me.length+(h?1:0)+(_?1:0),ot=(e,t=0)=>{let n=e.original,r=j(n)||e.original.id||e.original.key||e.id,i=A.editingKey===r;return(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(gn,{record:n,indent:t,hasChild:Pe(n),expanded:Fe(n),expandable:O,isExpandable:Te,onExpand:Me}),h&&(0,g.jsx)(He,{className:`w-8`,children:(0,g.jsx)(We,{checked:e.getIsSelected?.()??!1,onCheckedChange:t=>e.toggleSelected?.(!!t),"aria-label":`Select row`})}),e.getVisibleCells().map(t=>{let n=me.find(e=>(e.key||String(e.dataIndex))===t.column.id),a=yn(t.column),o=n?.width||t.column.getSize(),s=t.column.getIsPinned();return v&&n?.editable&&i?(0,g.jsx)(He,{className:M(`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:M(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)(z,{value:t.getValue(),record:e.original,column:n,isEditing:i,onSave:t=>{let i={...e.original,[n.dataIndex]:t};ve.saveEditable(r,i),v?.onSave&&v.onSave(r,i,e.original)},onCancel:()=>ve.cancelEditable(r),onStartEdit:()=>ve.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 V(i)?(0,g.jsxs)(yt,{delayDuration:r.delayDuration,children:[(0,g.jsx)(bt,{asChild:!0,children:a}),(0,g.jsx)(F,{side:r.side||`top`,align:r.align,children:i})]}):a}return a})()})})},t.id):(0,g.jsx)(He,{className:M(`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:M(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?Ne(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 V(o)?(0,g.jsxs)(yt,{delayDuration:a.delayDuration,children:[(0,g.jsx)(bt,{asChild:!0,children:r}),(0,g.jsx)(F,{side:a.side||`top`,align:a.align,children:o})]}):r}return r})()}),n?.copyable&&(()=>{let r=(typeof n.copyable==`object`?n.copyable:null)?.onCopy;return(0,g.jsx)(vn,{value:t.getValue(),size:`sm`,onCopy:r?t=>{r(t,e.original,e.index)}:void 0})})()]})},t.id)}),v&&(0,g.jsx)(He,{className:`w-32`,children:(0,g.jsx)(_n,{record:e.original,config:{isEditing:i,editingKey:A.editingKey||``},editable:v,onEdit:()=>ve.startEditable(r),onSave:()=>{ve.cancelEditable(r)},onCancel:()=>ve.cancelEditable(r),onDelete:v.onDelete?()=>{v.onDelete&&v.onDelete(r,e.original)}:void 0})})]})},st=(e,t=0)=>{let n=j(e),r=Pe(e),i=Fe(e),a=e[Ee],o={id:String(n),original:e,index:A.data.findIndex(e=>j(e)===n),getIsSelected:()=>{try{return k.getRow(String(n))?.getIsSelected()??!1}catch{return!1}},toggleSelected:e=>{try{let t=k.getRow(String(n));t&&t.toggleSelected(e)}catch{}},getVisibleCells:()=>me.filter(e=>!e.hideInTable).map(t=>{let n=t.key||String(t.dataIndex),r=t.dataPath||t.dataIndex,i=()=>{if(r)return _e(e,Array.isArray(r)||typeof r==`string`?r:String(r))},a=null;try{a=k.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:k})};return c})},s=C?.(e,t)||{},c=[];return _?c.push((0,g.jsx)(bn,{row:o,children:ot(o,t)},o.id)):c.push((0,g.jsx)(Be,{"data-state":o.getIsSelected&&o.getIsSelected()?`selected`:void 0,...s,children:ot(o,t)},o.id)),i&&r&&a&&a.length>0&&a.forEach(e=>{c.push(...st(e,t+1))}),c},ct=(e,t)=>{let n=C?.(e.original,t)||{};return _?(0,g.jsx)(bn,{row:e,children:ot(e,0)},e.id):(0,g.jsx)(Be,{"data-state":e.getIsSelected&&e.getIsSelected()?`selected`:void 0,...n,children:ot(e,0)},e.id)},lt=(0,g.jsx)(`div`,{className:M(`relative`,se?.x&&`overflow-x-auto`,se?.y&&`overflow-y-auto`,i?.container),children:(0,g.jsx)(`div`,{className:M(`rounded-md`,c&&`border`,i?.wrapper),style:{maxWidth:se?.x?`${se.x}px`:void 0,overflowX:se?.x?`auto`:void 0,maxHeight:se?.y?`${se.y}px`:void 0},children:(0,g.jsx)(T.DndContext,{sensors:Je,collisionDetection:T.closestCenter,modifiers:[ne.restrictToVerticalAxis],onDragEnd:Ye,children:(0,g.jsxs)(Ie,{className:M(it[ze],ce&&`sticky-header`,i?.table),style:{...o,width:`100%`,tableLayout:ue||(se?.x?`fixed`:`auto`),maxWidth:se?.x?`${se.x}px`:void 0,...ce&&{position:`relative`}},children:[(0,g.jsx)(Le,{className:M(ce&&`sticky top-0 z-10 bg-background`,i?.tableHeader),style:ce?{position:`sticky`,top:typeof ce==`object`&&ce.offsetHeader||0,zIndex:10}:void 0,children:k.getHeaderGroups().map(e=>(0,g.jsxs)(Be,{children:[Te&&O?.showExpandColumn!==!1&&(0,g.jsx)(Ve,{className:`w-8`,style:{width:`${O?.expandColumnWidth||50}px`}}),_&&(0,g.jsx)(Ve,{className:`w-8`}),h&&(0,g.jsx)(Ve,{className:`w-8`,children:(0,g.jsx)(We,{checked:k.getIsAllPageRowsSelected?.()??!1,onCheckedChange:e=>k.toggleAllPageRowsSelected?.(!!e),"aria-label":`Select all`})}),e.headers.map((e,t)=>{let n=me.find(t=>(t.key||String(t.dataIndex))===e.column.id),r=yn(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)(Ve,{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:M(`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:M(`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,V(i)?(0,g.jsxs)(yt,{delayDuration:e.delayDuration,children:[(0,g.jsx)(bt,{asChild:!0,children:o}),(0,g.jsx)(F,{side:e.side||`top`,align:e.align,children:i})]}):o}return o})(),(0,g.jsxs)(`div`,{className:`flex items-center gap-1 shrink-0`,children:[e.column.getCanSort()&&(0,g.jsxs)(N,{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)(Ot,{column:{key:n.key,dataIndex:String(n.dataIndex),title:n.title,filters:n.filters},value:Array.isArray(k.getColumn(n.key||String(n.dataIndex))?.getFilterValue())?k.getColumn(n.key||String(n.dataIndex))?.getFilterValue():[],onChange:e=>et(n.key||String(n.dataIndex),e),onClear:()=>nt(n.key||String(n.dataIndex))})]})]})},e.id)})]},e.id))}),(0,g.jsx)(Re,{className:M(i?.tableBody),children:d?(0,g.jsx)(B,{columnCount:me.length,draggable:!!_,rowSelection:!!h,rowCount:A.pageSize}):A.data.length===0?(0,g.jsx)(mn,{colSpan:at,emptyRender:ae}):_?(0,g.jsx)(ee.SortableContext,{items:k.getRowModel().rows.map(e=>e.id),strategy:ee.verticalListSortingStrategy,children:k.getRowModel().rows.map((e,t)=>ct(e,t))}):Te?(0,g.jsx)(g.Fragment,{children:A.data.map(e=>{let t=st(e,0);return(0,g.jsx)(l.Fragment,{children:t},j(e))})}):k.getRowModel().rows.map((e,t)=>ct(e,t))})]})})})}),ut=re?re(e,lt,{toolbar:f!==!1,search:w!==!1,table:!0}):lt,dt=M(`flex flex-col gap-4 transition-all duration-300 ease-in-out`,Ke?`fixed inset-0 z-50 bg-background p-4 transform scale-100`:`transform scale-100`,r),ft=(0,g.jsx)(Ct,{locale:de,children:(0,g.jsxs)(`div`,{className:dt,style:a,children:[w!==!1&&(()=>{let e=le(me);return e.length>0||typeof w==`object`&&w?(0,g.jsx)(tn,{...typeof w==`object`?w:{},columns:e,onSearch:Qe,onReset:$e,loading:A.loading}):null})(),f!==!1&&(0,g.jsx)(Dt,{...typeof f==`object`?f:{},title:y,subTitle:b,table:k,columns:me,loading:A.loading,onReload:()=>ve.reload(),fullScreen:Ke,onFullScreenChange:qe,density:ze,onDensityChange:Ue,visibleColumns:xe,onVisibleColumnsChange:Se,columnSettings:Ce,onColumnSettingsChange:rt}),h&&(0,g.jsx)(sn,{selectedCount:A.selectedRowKeys.length,selectedRows:A.selectedRows,onClear:Ze,alwaysShow:h.alwaysShowAlert,batchActions:h.batchActions}),ie?.(e,A.data),ut,S&&(0,g.jsx)(`div`,{className:`px-4`,children:S(A.data)}),p!==!1&&(()=>{let e=typeof p==`object`?p:{},t=(0,g.jsx)(Bt,{...e,current:A.current,pageSize:A.pageSize,total:A.total,onPaginationChange:ye.handlePaginationChange});return m?m({pagination:{...e,current:A.current,pageSize:A.pageSize,total:A.total},onChange:(t,n)=>{e.onChange?.(t,n),ye.handlePaginationChange(t,n)},defaultDom:t}):t})()]})});return te?(0,g.jsx)(Ge,{...E,className:M(E?.className),children:(0,g.jsx)(Xe,{children:ft})}):ft});var Sn=new Map;function Cn(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=Sn.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&&Sn.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 wn={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=rn,exports.AlertDescription=L,exports.AlertTitle=an,exports.Avatar=De,exports.AvatarFallback=ke,exports.AvatarImage=Oe,exports.Badge=j,exports.BatchActions=sn,exports.Button=N,exports.Calendar=Vt,exports.CalendarDayButton=Ht,exports.Card=Ge,exports.CardAction=Ye,exports.CardContent=Xe,exports.CardDescription=Je,exports.CardFooter=Ze,exports.CardHeader=Ke,exports.CardTitle=qe,exports.Checkbox=We,exports.ColumnSetting=Et,exports.DatePicker=qt,exports.DateRangePicker=Jt,exports.DropdownMenu=rt,exports.DropdownMenuCheckboxItem=lt,exports.DropdownMenuContent=ot,exports.DropdownMenuGroup=st,exports.DropdownMenuItem=ct,exports.DropdownMenuLabel=ft,exports.DropdownMenuPortal=it,exports.DropdownMenuRadioGroup=ut,exports.DropdownMenuRadioItem=dt,exports.DropdownMenuSeparator=pt,exports.DropdownMenuShortcut=mt,exports.DropdownMenuSub=ht,exports.DropdownMenuSubContent=_t,exports.DropdownMenuSubTrigger=gt,exports.DropdownMenuTrigger=at,exports.Input=nt,exports.Label=Yt,exports.Pagination=Bt,exports.Popover=Ut,exports.PopoverAnchor=Kt,exports.PopoverContent=Gt,exports.PopoverTrigger=Wt,exports.ProTable=xn,exports.Progress=je,exports.Search=tn,exports.Select=I,exports.SelectContent=Mt,exports.SelectGroup=kt,exports.SelectItem=Pt,exports.SelectLabel=Nt,exports.SelectScrollDownButton=Lt,exports.SelectScrollUpButton=It,exports.SelectSeparator=Ft,exports.SelectTrigger=jt,exports.SelectValue=At,exports.Skeleton=hn,exports.Switch=Ae,exports.Table=Ie,exports.TableBody=Re,exports.TableCaption=Ue,exports.TableCell=He,exports.TableFooter=ze,exports.TableHead=Ve,exports.TableHeader=Le,exports.TableRow=Be,exports.ToolBar=Dt,exports.Tooltip=yt,exports.TooltipContent=F,exports.TooltipProvider=vt,exports.TooltipTrigger=bt,exports.badgeVariants=Ee,exports.buttonVariants=Qe,exports.cn=M,exports.copyToClipboard=he,exports.debounce=fe,exports.deepMerge=O,exports.en_US=xt,exports.extractSearchColumns=le,exports.extractTableColumns=ue,exports.formatFileSize=Se,exports.formatNumber=me,exports.generateId=de,exports.generateRandomColor=Ce,exports.getColumnDataPath=k,exports.getColumnId=A,exports.getNestedValue=_e,exports.groupBy=be,exports.isEmpty=ge,exports.parseQueryString=we,exports.registerValueType=Fe,exports.renderFormItem=Pe,exports.renderValue=Ne,exports.setNestedValue=ve,exports.sleep=xe,exports.stringifyQuery=Te,exports.throttle=pe,exports.uniqueArray=ye,exports.useColumns=P,exports.useProTable=tt,exports.useRequest=Cn,exports.zh_CN=wn;
|
package/dist/index.js
CHANGED
|
@@ -3965,15 +3965,37 @@ function useProTable(e) {
|
|
|
3965
3965
|
}
|
|
3966
3966
|
return e && typeof e == "object" ? e : {};
|
|
3967
3967
|
});
|
|
3968
|
-
}, []), he = useCallback((e) => {
|
|
3968
|
+
}, []), he = useCallback((e) => typeof y == "function" ? String(y(e)) : String(e[y]), [y]), ge = useCallback((e) => {
|
|
3969
3969
|
de((t) => {
|
|
3970
|
-
|
|
3971
|
-
|
|
3972
|
-
|
|
3970
|
+
let n = (0, import_lodash.isFunction)(e) ? e(t || {}) || {} : e && typeof e == "object" ? e : {};
|
|
3971
|
+
if (b !== !1) {
|
|
3972
|
+
let e = [], t = [], r = new Set(T.data.map((e) => String(he(e))));
|
|
3973
|
+
Object.keys(n).forEach((r) => {
|
|
3974
|
+
if (n[r]) {
|
|
3975
|
+
let n = T.data.find((e) => String(he(e)) === r);
|
|
3976
|
+
if (n) {
|
|
3977
|
+
let r = he(n);
|
|
3978
|
+
e.push(r), t.push(n);
|
|
3979
|
+
}
|
|
3980
|
+
}
|
|
3981
|
+
});
|
|
3982
|
+
let i = [...T.selectedRowKeys.filter((e) => !r.has(String(e))), ...e];
|
|
3983
|
+
E({
|
|
3984
|
+
type: "SET_SELECTION",
|
|
3985
|
+
payload: {
|
|
3986
|
+
keys: i,
|
|
3987
|
+
rows: t
|
|
3988
|
+
}
|
|
3989
|
+
}), b && typeof b == "object" && b.onChange && b.onChange(i, t);
|
|
3973
3990
|
}
|
|
3974
|
-
return
|
|
3991
|
+
return n;
|
|
3975
3992
|
});
|
|
3976
|
-
}, [
|
|
3993
|
+
}, [
|
|
3994
|
+
b,
|
|
3995
|
+
T.data,
|
|
3996
|
+
T.selectedRowKeys,
|
|
3997
|
+
he
|
|
3998
|
+
]), D = useCallback(() => {
|
|
3977
3999
|
let e = [], n = [];
|
|
3978
4000
|
return t.forEach((t) => {
|
|
3979
4001
|
if (t.hideInTable) return;
|
|
@@ -3983,8 +4005,8 @@ function useProTable(e) {
|
|
|
3983
4005
|
left: e,
|
|
3984
4006
|
right: n
|
|
3985
4007
|
};
|
|
3986
|
-
}, [t]), [
|
|
3987
|
-
|
|
4008
|
+
}, [t]), [_e, ve] = useState(() => D()), ye = useCallback((e) => {
|
|
4009
|
+
ve((t) => {
|
|
3988
4010
|
if ((0, import_lodash.isFunction)(e)) {
|
|
3989
4011
|
let n = e(t || {
|
|
3990
4012
|
left: [],
|
|
@@ -4002,10 +4024,10 @@ function useProTable(e) {
|
|
|
4002
4024
|
});
|
|
4003
4025
|
}, []);
|
|
4004
4026
|
useEffect(() => {
|
|
4005
|
-
let e =
|
|
4006
|
-
|
|
4007
|
-
}, [
|
|
4008
|
-
let
|
|
4027
|
+
let e = D();
|
|
4028
|
+
ve(e);
|
|
4029
|
+
}, [D]);
|
|
4030
|
+
let O = useCallback(async (e) => {
|
|
4009
4031
|
if (r) {
|
|
4010
4032
|
E({
|
|
4011
4033
|
type: "SET_LOADING",
|
|
@@ -4119,7 +4141,7 @@ function useProTable(e) {
|
|
|
4119
4141
|
columnFilters: oe,
|
|
4120
4142
|
columnVisibility: ce,
|
|
4121
4143
|
rowSelection: ue,
|
|
4122
|
-
columnPinning:
|
|
4144
|
+
columnPinning: _e,
|
|
4123
4145
|
pagination: {
|
|
4124
4146
|
pageIndex: T.current - 1,
|
|
4125
4147
|
pageSize: T.pageSize
|
|
@@ -4128,13 +4150,13 @@ function useProTable(e) {
|
|
|
4128
4150
|
onSortingChange: fe,
|
|
4129
4151
|
onColumnFiltersChange: pe,
|
|
4130
4152
|
onColumnVisibilityChange: me,
|
|
4131
|
-
onRowSelectionChange:
|
|
4132
|
-
onColumnPinningChange:
|
|
4153
|
+
onRowSelectionChange: ge,
|
|
4154
|
+
onColumnPinningChange: ye,
|
|
4133
4155
|
getCoreRowModel: getCoreRowModel(),
|
|
4134
4156
|
getFilteredRowModel: getFilteredRowModel(),
|
|
4135
4157
|
getPaginationRowModel: getPaginationRowModel(),
|
|
4136
4158
|
getSortedRowModel: getSortedRowModel(),
|
|
4137
|
-
getRowId:
|
|
4159
|
+
getRowId: he,
|
|
4138
4160
|
manualPagination: !!r || ee,
|
|
4139
4161
|
pageCount: Math.ceil(T.total / T.pageSize),
|
|
4140
4162
|
columnResizeMode: "onChange",
|
|
@@ -4207,7 +4229,7 @@ function useProTable(e) {
|
|
|
4207
4229
|
});
|
|
4208
4230
|
},
|
|
4209
4231
|
startEditable: (e) => {
|
|
4210
|
-
let t = T.data.find((t) =>
|
|
4232
|
+
let t = T.data.find((t) => he(t) === String(e));
|
|
4211
4233
|
return t ? (E({
|
|
4212
4234
|
type: "START_EDIT",
|
|
4213
4235
|
payload: {
|
|
@@ -4221,7 +4243,7 @@ function useProTable(e) {
|
|
|
4221
4243
|
type: "SAVE_EDIT",
|
|
4222
4244
|
payload: t
|
|
4223
4245
|
}), !0),
|
|
4224
|
-
getRowData: (e) => T.data.find((t) =>
|
|
4246
|
+
getRowData: (e) => T.data.find((t) => he(t) === String(e)),
|
|
4225
4247
|
getTableData: () => T.data,
|
|
4226
4248
|
setTableData: (e) => {
|
|
4227
4249
|
E({
|
|
@@ -4242,7 +4264,21 @@ function useProTable(e) {
|
|
|
4242
4264
|
total: (x === !1 ? void 0 : x?.total) ?? n.length
|
|
4243
4265
|
}
|
|
4244
4266
|
});
|
|
4245
|
-
}, [n, x]), {
|
|
4267
|
+
}, [n, x]), useEffect(() => {
|
|
4268
|
+
if (b === !1 || !b) return;
|
|
4269
|
+
let e = {};
|
|
4270
|
+
T.data.forEach((t) => {
|
|
4271
|
+
let n = String(he(t));
|
|
4272
|
+
T.selectedRowKeys.includes(he(t)) && (e[n] = !0);
|
|
4273
|
+
});
|
|
4274
|
+
let t = Object.keys(ue).filter((e) => ue[e]), n = Object.keys(e).filter((t) => e[t]);
|
|
4275
|
+
t.length === n.length && t.every((e) => n.includes(e)) && n.every((e) => t.includes(e)) || de(e);
|
|
4276
|
+
}, [
|
|
4277
|
+
T.data,
|
|
4278
|
+
T.selectedRowKeys,
|
|
4279
|
+
he,
|
|
4280
|
+
b
|
|
4281
|
+
]), {
|
|
4246
4282
|
table: k,
|
|
4247
4283
|
state: T,
|
|
4248
4284
|
dispatch: E,
|
|
@@ -6801,8 +6837,8 @@ const ProTable = forwardRef((e, t) => {
|
|
|
6801
6837
|
onColumnSettingsChange: j
|
|
6802
6838
|
}),
|
|
6803
6839
|
y && /* @__PURE__ */ jsx(BatchActions, {
|
|
6804
|
-
selectedCount:
|
|
6805
|
-
selectedRows:
|
|
6840
|
+
selectedCount: A.selectedRowKeys.length,
|
|
6841
|
+
selectedRows: A.selectedRows,
|
|
6806
6842
|
onClear: Ge,
|
|
6807
6843
|
alwaysShow: y.alwaysShowAlert,
|
|
6808
6844
|
batchActions: y.batchActions
|
package/dist/pro-table.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pro-table.d.ts","sourceRoot":"","sources":["../lib/pro-table.tsx"],"names":[],"mappings":"AACA,OAAO,KAON,MAAM,OAAO,CAAC;AAmBf,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAa,MAAM,SAAS,CAAC;AA0JxE,eAAO,MAAM,QAAQ,
|
|
1
|
+
{"version":3,"file":"pro-table.d.ts","sourceRoot":"","sources":["../lib/pro-table.tsx"],"names":[],"mappings":"AACA,OAAO,KAON,MAAM,OAAO,CAAC;AAmBf,OAAO,KAAK,EAAE,aAAa,EAAE,cAAc,EAAa,MAAM,SAAS,CAAC;AA0JxE,eAAO,MAAM,QAAQ,EAk5ChB,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACjC,KAAK,EAAE,aAAa,CAAC,CAAC,CAAC,GAAG;IAAE,GAAG,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC,CAAA;CAAE,KAC7D,KAAK,CAAC,YAAY,CAAC"}
|