@jerry-fd/ui 0.3.1 → 0.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,7 +1,7 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { D as DataFilterProps } from './types-6U8YKz0A.js';
3
- export { F as FilterColumnDef, a as FilterColumnOption, b as FiltersState } from './types-6U8YKz0A.js';
4
- import './icon-Byr-7UQX.js';
2
+ import { D as DataFilterProps } from './types-BRYHaCob.js';
3
+ export { F as FilterColumnDef, a as FilterColumnOption, b as FiltersState } from './types-BRYHaCob.js';
4
+ import './icon-BmaneZ4I.js';
5
5
  import 'react';
6
6
  import 'dayjs';
7
7
 
@@ -1 +1 @@
1
- export{h as DataFilter,d as useTransition}from'./chunk-F5D2HAH7.js';import'./chunk-TYGCMNMU.js';
1
+ export{e as DataFilter,a as useTransition}from'./chunk-H5SWYELS.js';import'./chunk-BJHN7W7I.js';import'./chunk-WOT6VMZA.js';
@@ -1,14 +1,14 @@
1
1
  import * as antd from 'antd';
2
2
  import { PaginationProps, TableProps } from 'antd';
3
3
  export { PaginationProps as PaginationState, TableProps } from 'antd';
4
- import { a as FilterColumnOption, b as FiltersState } from './types-6U8YKz0A.js';
4
+ import { a as FilterColumnOption, b as FiltersState } from './types-BRYHaCob.js';
5
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
6
- import { I as IconType } from './icon-Byr-7UQX.js';
7
- import React from 'react';
6
+ import { I as IconType } from './icon-BmaneZ4I.js';
7
+ import React__default from 'react';
8
8
  import { ColumnType } from 'antd/es/table';
9
9
  import * as antd_es_table_interface from 'antd/es/table/interface';
10
- import { SorterResult } from 'antd/es/table/interface';
11
- import { B as Button } from './button-nn_s6In3.js';
10
+ import { SorterResult, GetRowKey } from 'antd/es/table/interface';
11
+ import { B as Button } from './button-mRGhVhV8.js';
12
12
  import * as _rc_component_table from '@rc-component/table';
13
13
  import * as _rc_component_table_lib_interface from '@rc-component/table/lib/interface';
14
14
  import * as antd_es_button from 'antd/es/button';
@@ -16,7 +16,7 @@ import * as antd_es_table_InternalTable from 'antd/es/table/InternalTable';
16
16
  import 'dayjs';
17
17
  import 'tailwind-variants';
18
18
 
19
- type ButtonProps = Omit<React.ComponentProps<typeof Button>, 'onClick'>;
19
+ type ButtonProps = Omit<React__default.ComponentProps<typeof Button>, 'onClick'>;
20
20
  /** 渲染 props,传递给自定义组件 */
21
21
  interface ToolbarRenderContext<TData = unknown> {
22
22
  disabled?: boolean;
@@ -44,7 +44,7 @@ type CustomToolbarItem<TData = unknown> = {
44
44
  /** 唯一标识,必填 */
45
45
  key: string;
46
46
  /** 自定义渲染函数 */
47
- render: (ctx: ToolbarRenderContext<TData>) => React.ReactNode;
47
+ render: (ctx: ToolbarRenderContext<TData>) => React__default.ReactNode;
48
48
  /** 是否隐藏 */
49
49
  hidden?: boolean;
50
50
  };
@@ -208,7 +208,7 @@ type ToolbarAction<T extends BaseRecord = BaseRecord> = {
208
208
  type TabItem<TData extends BaseRecord = BaseRecord> = DataTableProps<TData> & UseDataTableStateOptions<TData> & {
209
209
  id: string;
210
210
  /** Tab 标签 */
211
- label: React.ReactNode;
211
+ label: React__default.ReactNode;
212
212
  /** Tab 唯一标识 */
213
213
  value: string;
214
214
  };
@@ -218,18 +218,18 @@ type DataTableProps<TData extends BaseRecord = BaseRecord> = {
218
218
  /** 多 Tab 共享存储时传入,默认使用 id */
219
219
  storageKey?: string;
220
220
  alwaysShowingColumns?: string[];
221
- title?: React.ReactNode;
222
- icon?: React.ReactNode;
223
- description?: React.ReactNode;
221
+ title?: React__default.ReactNode;
222
+ icon?: React__default.ReactNode;
223
+ description?: React__default.ReactNode;
224
224
  variant?: 'default' | 'accent';
225
- slots?: Record<'summary' | 'footer', React.ReactNode>;
225
+ slots?: Record<'summary' | 'footer', React__default.ReactNode>;
226
226
  classNames?: Partial<Record<NamedClass, string>>;
227
227
  columns: DataTableColumnType<TData>[];
228
228
  filters?: FiltersState;
229
229
  defaultFilters?: FiltersState;
230
230
  className?: string;
231
231
  toolbarItems?: ToolbarItemConfig<any>[];
232
- onFiltersChange?: React.Dispatch<React.SetStateAction<FiltersState>>;
232
+ onFiltersChange?: React__default.Dispatch<React__default.SetStateAction<FiltersState>>;
233
233
  onToolbarAction?: (action: ToolbarAction) => void | Promise<void>;
234
234
  loading?: boolean;
235
235
  exporting?: boolean;
@@ -251,7 +251,7 @@ declare function useDataTableState<TData extends BaseRecord = BaseRecord>({ id,
251
251
  disabled: boolean | undefined;
252
252
  filters: FiltersState;
253
253
  pagination: PaginationProps;
254
- onFiltersChange: React.Dispatch<React.SetStateAction<FiltersState>>;
254
+ onFiltersChange: React__default.Dispatch<React__default.SetStateAction<FiltersState>>;
255
255
  onChange: (pagination: antd.TablePaginationConfig, filters: Record<string, antd_es_table_interface.FilterValue | null>, sorter: SorterResult<TData> | SorterResult<TData>[], extra: antd_es_table_interface.TableCurrentDataSource<TData>) => void;
256
256
  onToolbarAction: (toolbarAction: ToolbarAction) => void;
257
257
  };
@@ -260,26 +260,28 @@ declare function useDataTableState<TData extends BaseRecord = BaseRecord>({ id,
260
260
  * Use this if you want consistent behavior with useTabsDataTableState but for a single table.
261
261
  * Core logic is maintained in useTabsDataTableState, so bug fixes apply to both.
262
262
  */
263
- declare function useDataTableStateAdapter<TData extends BaseRecord = BaseRecord>(options?: UseDataTableStateOptions<TData>): {
263
+ declare function useDataTableStateAdapter<TData extends BaseRecord = BaseRecord>(options?: UseDataTableStateOptions<TData> & {
264
+ rowKey?: string | keyof TData | GetRowKey<TData>;
265
+ }): {
264
266
  storageKey?: string;
265
267
  alwaysShowingColumns?: string[];
266
- title?: React.ReactNode;
267
- icon?: React.ReactNode;
268
- description?: React.ReactNode;
268
+ title?: React__default.ReactNode;
269
+ icon?: React__default.ReactNode;
270
+ description?: React__default.ReactNode;
269
271
  variant?: "default" | "accent";
270
- slots?: Record<"summary" | "footer", React.ReactNode>;
272
+ slots?: Record<"summary" | "footer", React__default.ReactNode>;
271
273
  classNames?: (Partial<Record<"root" | "cardHeader" | "cardHeading" | "cardIcon" | "cardToolbar" | "cardContent" | "cardSummary" | "cardFooter", string>> & antd_es_table_InternalTable.TableClassNamesType<TData>) | undefined;
272
274
  className?: string;
273
275
  toolbarItems?: ToolbarItemConfig<any>[];
274
- onFiltersChange: React.Dispatch<React.SetStateAction<FiltersState>>;
276
+ onFiltersChange: React__default.Dispatch<React__default.SetStateAction<FiltersState>>;
275
277
  animated?: boolean;
276
278
  size?: antd_es_button.ButtonSize;
277
- caption?: React.ReactNode;
279
+ caption?: React__default.ReactNode;
278
280
  footer?: _rc_component_table_lib_interface.PanelRender<TData> | undefined;
279
- style?: React.CSSProperties | undefined;
280
- summary?: ((data: readonly TData[]) => React.ReactNode) | undefined;
281
- children?: React.ReactNode;
282
- onScroll?: React.UIEventHandler<HTMLDivElement> | undefined;
281
+ style?: React__default.CSSProperties | undefined;
282
+ summary?: ((data: readonly TData[]) => React__default.ReactNode) | undefined;
283
+ children?: React__default.ReactNode;
284
+ onScroll?: React__default.UIEventHandler<HTMLDivElement> | undefined;
283
285
  scroll?: _rc_component_table.TableProps<RecordType>["scroll"] & {
284
286
  scrollToFirstRowOnChange?: boolean;
285
287
  };
@@ -305,7 +307,7 @@ declare function useDataTableStateAdapter<TData extends BaseRecord = BaseRecord>
305
307
  expandIconColumnIndex?: number | undefined;
306
308
  expandedRowClassName?: _rc_component_table_lib_interface.RowClassName<TData> | undefined;
307
309
  childrenColumnName?: string | undefined;
308
- rowKey?: string | keyof TData | _rc_component_table_lib_interface.GetRowKey<TData> | undefined;
310
+ rowKey?: string | GetRowKey<TData> | keyof TData | undefined;
309
311
  expandable?: _rc_component_table_lib_interface.ExpandableConfig<TData> | undefined;
310
312
  rowClassName?: string | _rc_component_table_lib_interface.RowClassName<TData> | undefined;
311
313
  showHeader?: boolean | undefined;
@@ -314,14 +316,14 @@ declare function useDataTableStateAdapter<TData extends BaseRecord = BaseRecord>
314
316
  rowHoverable?: boolean | undefined;
315
317
  tailor?: boolean | undefined;
316
318
  getContainerWidth?: (ele: HTMLElement, width: number) => number;
317
- measureRowRender?: (measureRow: React.ReactNode) => React.ReactNode;
319
+ measureRowRender?: (measureRow: React__default.ReactNode) => React__default.ReactNode;
318
320
  dropdownPrefixCls?: string | undefined;
319
321
  dataSource?: readonly TData[] | undefined;
320
322
  rowSelection?: antd_es_table_interface.TableRowSelection<TData> | undefined;
321
323
  sortDirections?: antd_es_table_interface.SortOrder[] | undefined;
322
324
  showSorterTooltip?: (boolean | antd_es_table_interface.SorterTooltipProps) | undefined;
323
325
  virtual?: boolean | undefined;
324
- label: React.ReactNode;
326
+ label: React__default.ReactNode;
325
327
  value: string;
326
328
  id: string;
327
329
  loading: boolean | undefined;
@@ -336,27 +338,27 @@ declare function useDataTableStateAdapter<TData extends BaseRecord = BaseRecord>
336
338
  declare function useTabsDataTableState<TData extends BaseRecord = BaseRecord>({ fireOnMount: globalFireOnMount, active, defaultActive, tabList, onTabChange, onTableChange, onToolbarAction, }: UseTabsDataTableStateProps<TData>): {
337
339
  storageKey?: string;
338
340
  alwaysShowingColumns?: string[];
339
- title?: React.ReactNode;
340
- icon?: React.ReactNode;
341
- description?: React.ReactNode;
341
+ title?: React__default.ReactNode;
342
+ icon?: React__default.ReactNode;
343
+ description?: React__default.ReactNode;
342
344
  variant?: "default" | "accent";
343
- slots?: Record<"summary" | "footer", React.ReactNode>;
345
+ slots?: Record<"summary" | "footer", React__default.ReactNode>;
344
346
  classNames?: (Partial<Record<"root" | "cardHeader" | "cardHeading" | "cardIcon" | "cardToolbar" | "cardContent" | "cardSummary" | "cardFooter", string>> & antd_es_table_InternalTable.TableClassNamesType<TData>) | undefined;
345
347
  columns: DataTableColumnType<TData>[];
346
348
  className?: string;
347
349
  toolbarItems?: ToolbarItemConfig<any>[];
348
- onFiltersChange: React.Dispatch<React.SetStateAction<FiltersState>>;
350
+ onFiltersChange: React__default.Dispatch<React__default.SetStateAction<FiltersState>>;
349
351
  animated?: boolean;
350
352
  activeTab: string;
351
353
  tabList: TabItem<TData>[];
352
354
  onTabChange: (value: string) => void;
353
355
  size?: antd_es_button.ButtonSize;
354
- caption?: React.ReactNode;
356
+ caption?: React__default.ReactNode;
355
357
  footer?: _rc_component_table_lib_interface.PanelRender<TData> | undefined;
356
- style?: React.CSSProperties | undefined;
357
- summary?: ((data: readonly TData[]) => React.ReactNode) | undefined;
358
- children?: React.ReactNode;
359
- onScroll?: React.UIEventHandler<HTMLDivElement> | undefined;
358
+ style?: React__default.CSSProperties | undefined;
359
+ summary?: ((data: readonly TData[]) => React__default.ReactNode) | undefined;
360
+ children?: React__default.ReactNode;
361
+ onScroll?: React__default.UIEventHandler<HTMLDivElement> | undefined;
360
362
  scroll?: (_rc_component_table.TableProps<RecordType>["scroll"] & {
361
363
  scrollToFirstRowOnChange?: boolean;
362
364
  }) | undefined;
@@ -391,14 +393,14 @@ declare function useTabsDataTableState<TData extends BaseRecord = BaseRecord>({
391
393
  rowHoverable?: boolean | undefined;
392
394
  tailor?: boolean | undefined;
393
395
  getContainerWidth?: ((ele: HTMLElement, width: number) => number) | undefined;
394
- measureRowRender?: ((measureRow: React.ReactNode) => React.ReactNode) | undefined;
396
+ measureRowRender?: ((measureRow: React__default.ReactNode) => React__default.ReactNode) | undefined;
395
397
  dropdownPrefixCls?: string | undefined;
396
398
  dataSource?: readonly TData[] | undefined;
397
399
  rowSelection?: antd_es_table_interface.TableRowSelection<TData> | undefined;
398
400
  sortDirections?: antd_es_table_interface.SortOrder[] | undefined;
399
401
  showSorterTooltip?: (boolean | antd_es_table_interface.SorterTooltipProps) | undefined;
400
402
  virtual?: boolean | undefined;
401
- label: React.ReactNode;
403
+ label: React__default.ReactNode;
402
404
  value: string;
403
405
  id: string;
404
406
  loading: boolean | undefined;
@@ -1,2 +1,2 @@
1
- import {b as b$1}from'./chunk-TQSM6RF4.js';import {d,g,e as e$1,f as f$1,a,b,c}from'./chunk-F5D2HAH7.js';import {e,f,g as g$1,h,m,p,o,q,n,j,i,l,t,A,B,C,E,D,F,H}from'./chunk-TYGCMNMU.js';import y from'react';import {createStore,useStore}from'zustand';import {persist}from'zustand/middleware';import {immer}from'zustand/middleware/immer';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {Table,ConfigProvider,Tooltip,Checkbox}from'antd';import {AnimatePresence,m as m$1}from'motion/react';import {Tabs}from'radix-ui';import {ArrowDownToLine,RefreshCw}from'lucide-react';var Wt={components:{DatePicker:{activeBorderColor:"#d9d9d9",hoverBorderColor:"#d9d9d9",activeShadow:"none",cellHeight:24,cellWidth:28}}};var ft={tableSize:"middle",columnVisibility:{}},Pe={tabStates:{},activeTabId:"",loading:false,exporting:false},tt=(t,o)=>{t.tabStates[o]||(t.tabStates[o]={...ft});},Xt=t=>t.tabStates[t.activeTabId]??ft,ze=(t,o)=>({...Pe,activeTabId:o??"",setActiveTab:e=>t(a=>{a.activeTabId=e,tt(a,e);}),setTableSize:e=>t(a=>{let n=a.activeTabId;tt(a,n),a.tabStates[n].tableSize=e;}),setColumnVisibility:(e,a)=>t(n=>{let r=n.activeTabId;tt(n,r),n.tabStates[r].columnVisibility[e]=a;}),setColumnVisibilityState:e=>t(a=>{let n=a.activeTabId;tt(a,n);let r=a.tabStates[n].columnVisibility;a.tabStates[n].columnVisibility=typeof e=="function"?e(r):e;}),toggleColumnVisibility:e=>t(a=>{let n=a.activeTabId;tt(a,n);let r=a.tabStates[n].columnVisibility[e];a.tabStates[n].columnVisibility[e]=!r;}),setLoading:e=>t({loading:e}),setExporting:e=>t({exporting:e}),resetCurrentTabState:()=>t(e=>{let a=e.activeTabId;e.tabStates[a]={...ft};})}),Ne=(t,o)=>createStore()(persist(immer(e=>ze(e,o)),{name:t,partialize:e=>({tabStates:e.tabStates})})),qt=y.createContext(null),Ie=["id","action","actions"],Jt=y.createContext({});function Qt({storageKey:t,initialTabId:o,alwaysShowingColumns:e,children:a}){let n=y.useRef(null);n.current||(n.current=Ne(t,o)),y.useEffect(()=>{let i=n.current;i&&!i.getState().activeTabId&&i.getState().setActiveTab(o);},[o]);let r=y.useMemo(()=>({alwaysShowingColumns:e??Ie}),[e]);return jsx(Jt.Provider,{value:r,children:jsx(qt.Provider,{value:n.current,children:a})})}function Zt(){return y.useContext(Jt)}function M(t){let o=y.useContext(qt);if(!o)throw new Error("useDataTableStore must be used within DataTableProvider");return useStore(o,t)}function dt(){return M(t=>Xt(t))}function te(){return M(t=>Xt(t).tableSize)}function R({className:t,...o}){return jsx("div",{className:f("animate-pulse rounded-sm bg-bg-soft",t),...o})}function oe({count:t,size:o="small",pagination:e,classNames:a,columns:n}){let r=y.useCallback(()=>we(n),[n]);return jsx(Table,{rowKey:"id",size:o,rowHoverable:false,classNames:a,dataSource:Array.from({length:t},(i,l)=>({id:l})),pagination:e,children:n.map((i,l)=>jsx(Table.Column,{dataIndex:i.dataIndex,width:i.width,title:jsx(R,{className:"h-22 w-full animate-none bg-bg-antd"}),render:r,onCell:()=>l===0?{colSpan:n.length}:{colSpan:0}},i.dataIndex))})}var ae=16;function we(t){let o=t.length,a=`calc((100% - ${ae*(o-1)}px) / ${o})`,n=t.some(r=>r.skeleton==="avatar"||r.skeleton==="double-line");return jsx("div",{className:"flex items-center",style:{gap:`${ae}px`},children:t.map((r,i)=>{let l=r?.key??i;return jsx("div",{style:{width:a},children:Fe(r.skeleton,n)},l)})})}function Fe(t,o){switch(t){case "avatar":return jsx(Oe,{});case "double-line":return jsx(Ve,{});case "group":return jsx(_e,{needAlignment:o});default:return jsx(Be,{needAlignment:o})}}function Be({needAlignment:t}){return jsxs("div",{className:"grid h-full gap-4",children:[t&&jsx("div",{className:"h-12 w-1"}),jsx(R,{className:"h-10"})]})}function Oe(){return jsxs("div",{className:"flex w-full items-center gap-6",children:[jsx(R,{className:"shrink-0 rounded-full",style:{width:"var(--avatar-size, 32px)",height:"var(--avatar-size, 32px)"}}),jsxs("div",{className:"grid flex-1 gap-4",children:[jsx(R,{className:"h-12 w-[60%]"}),jsx(R,{className:"h-10"})]})]})}function Ve(){return jsxs("div",{className:"grid h-full w-full gap-4 py-4",children:[jsx(R,{className:"h-12 w-[60%]"}),jsx(R,{className:"h-10"})]})}function _e({needAlignment:t}){return jsxs("div",{className:"grid h-full gap-4",children:[t&&jsx("div",{className:"h-12 w-1"}),jsxs("div",{className:"flex w-full items-center gap-4",children:[jsx(R,{className:"h-10 w-[20%]"}),jsx(R,{className:"h-10 w-[20%]"}),jsx(R,{className:"h-10 w-[20%]"}),jsx(R,{className:"h-10 w-[20%]"}),jsx(R,{className:"h-10 w-[20%]"})]})]})}var Me=e({base:"flex w-fit shrink-0 items-center",variants:{variant:{default:"bg-bg-antd p-4",button:"",line:"border-b border-stroke-antd"},shape:{default:"",pill:""},size:{large:"gap-10",medium:"gap-8",small:"gap-6",xsmall:"gap-4"}},compoundVariants:[{variant:"default",size:"large",className:"gap-10 p-6"},{variant:"default",size:"medium",className:"gap-4 p-4"},{variant:"default",size:"small",className:"gap-6 p-4"},{variant:"default",size:"xsmall",className:"gap-4 p-4"},{variant:"default",shape:"default",size:"large",className:"rounded-lg"},{variant:"default",shape:"default",size:"medium",className:"rounded-lg"},{variant:"default",shape:"default",size:"small",className:"rounded-md"},{variant:"default",shape:"default",size:"xsmall",className:"rounded-md"},{variant:"line",size:"large",className:"gap-28"},{variant:"line",size:"medium",className:"gap-28"},{variant:"line",size:"small",className:"gap-16"},{variant:"line",size:"xsmall",className:"gap-16"},{variant:"default",shape:"pill",className:"rounded-full **:[[role=tab]]:rounded-full"},{variant:"button",shape:"pill",className:"rounded-full **:[[role=tab]]:rounded-full"}],defaultVariants:{variant:"default",size:"medium"}}),Ke=e({base:"inline-flex shrink-0 cursor-pointer items-center justify-center border-0 bg-transparent font-medium whitespace-nowrap ring-offset-1 transition-colors select-none focus-visible:ring-2 focus-visible:ring-primary-base focus-visible:ring-offset-2 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:shrink-0 [&_svg]:text-text-soft [&:hover_svg]:text-primary-base [&[data-state=active]_svg]:text-primary-base",variants:{variant:{default:"text-text-sub hover:text-text-strong data-[state=active]:bg-bg-white data-[state=active]:text-primary-base",button:"rounded-lg text-text-sub hover:text-text-strong focus-visible:ring-2 focus-visible:ring-primary-base focus-visible:ring-offset-1 data-[state=active]:bg-bg-antd data-[state=active]:text-text-strong",line:"border-b-2 border-transparent text-text-sub hover:text-text-strong data-[state=active]:border-primary-base data-[state=active]:text-primary-base"},size:{large:"gap-10 text-label-md [&_svg]:size-20",medium:"gap-8 text-label-sm [&_svg]:size-16",small:"gap-6 text-label-xs [&_svg]:size-14",xsmall:"gap-4 text-label-xs [&_svg]:size-14"}},compoundVariants:[{variant:"default",size:"large",className:"rounded-md px-16 py-10"},{variant:"default",size:"medium",className:"rounded-md px-12 py-6"},{variant:"default",size:"small",className:"rounded-sm px-10 py-6"},{variant:"default",size:"xsmall",className:"rounded-sm px-8 py-4"},{variant:"button",size:"large",className:"rounded-lg px-16 py-12"},{variant:"button",size:"medium",className:"rounded-lg px-12 py-10"},{variant:"button",size:"small",className:"rounded-md px-10 py-8"},{variant:"button",size:"xsmall",className:"rounded-md px-8 py-6"},{variant:"line",size:"large",className:"py-12"},{variant:"line",size:"medium",className:"py-10"},{variant:"line",size:"small",className:"py-8"},{variant:"line",size:"xsmall",className:"py-6"}],defaultVariants:{variant:"default",size:"medium"}});e({base:"focus-visible:ring-ring mt-10 focus-visible:ring-2 focus-visible:ring-offset-2 focus-visible:outline-hidden",variants:{variant:{default:""}},defaultVariants:{variant:"default"}});var re=y.createContext({variant:"default",size:"medium"});function ie({className:t,...o}){return jsx(Tabs.Root,{"data-slot":"tabs",className:f("",t),...o})}function se({className:t,variant:o="default",shape:e="default",size:a="medium",...n}){return jsx(re.Provider,{value:{variant:o||"default",size:a||"medium"},children:jsx(Tabs.List,{"data-slot":"tabs-list",className:f(Me({variant:o,shape:e,size:a}),t),...n})})}function le({className:t,...o}){let{variant:e,size:a}=y.useContext(re);return jsx(Tabs.Trigger,{"data-slot":"tabs-trigger",className:f(Ke({variant:e,size:a}),t),...o})}function de({className:t,options:o,...e}){return jsx(ie,{className:f("w-full",t),...e,children:jsx(se,{variant:"line",size:"medium",className:"w-full px-12",children:o?.map(a=>jsx(le,{value:a.value,className:"py-8",children:a.label},a.id??a.value))})})}function pe({value:t$1,className:o,onChange:e,...a}){let n=d(),[r,i]=y.useState(false),l=y.useMemo(()=>[{groupType:"radio",value:t$1,options:[{label:n("large"),value:"large"},{label:n("middle"),value:"middle"},{label:n("compact"),value:"small"}],onValueChange:e}],[e,n,t$1]);return jsx(b$1,{side:"bottom",align:"end",collisionPadding:6,items:l,className:"min-w-100",open:r,onOpenChange:i,children:jsxs(t,{mode:"stroke",variant:"neutral",size:"small",className:f("gap-0",o,r&&"active"),...a,children:[jsx(Tooltip,{title:n("density"),mouseEnterDelay:1,children:jsx("div",{className:"absolute inset-0"})}),jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"size-16",viewBox:"0 0 1024 1024",children:jsx("path",{d:"M840 836H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm0-724H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM610.8 378c6 0 9.4-7 5.7-11.7L515.7 238.7a7.14 7.14 0 0 0-11.3 0L403.6 366.3a7.23 7.23 0 0 0 5.7 11.7H476v268h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V378h62.8z"})})]})})}function Ge(t){return t.key?String(t.key):Array.isArray(t.dataIndex)?t.dataIndex.join("."):String(t.dataIndex)}function me({disabled:t$1,columns:o}){let e=d(),{alwaysShowingColumns:a$1}=Zt(),[n,r]=y.useState(false),{columnVisibility:i}=dt(),l=M(s=>s.setColumnVisibilityState),b$1=y.useCallback((s,d)=>{l(u=>({...u,[s]:d}));},[l]);return jsxs(a,{open:n,onOpenChange:r,children:[jsx(b,{asChild:true,children:jsx(t,{mode:"stroke",variant:"neutral",size:"small",className:f(n&&"active","relative gap-0"),disabled:t$1,startContent:jsx(A,{}),children:jsx(Tooltip,{title:e("column_set"),mouseEnterDelay:1,children:jsx("div",{className:"absolute inset-0"})})})}),jsx(c,{align:"end",side:"bottom",arrow:false,className:"w-fit rounded-xl p-0",sideOffset:6,children:jsxs(B,{children:[jsx(C,{autoFocus:true,placeholder:"Search..."}),jsx(E,{children:e("no_results")}),jsx(D,{className:"max-h-256",children:jsx(F,{children:o.map(s=>{let d=Ge(s),u=i[d]!==false;return jsxs(H,{keywords:[s.title,s.dataIndex],onSelect:()=>b$1(d,!u),className:"group flex items-center gap-6",value:d,disabled:a$1?.includes(d),children:[jsx(Checkbox,{checked:u,tabIndex:-1,className:f("mr-4 opacity-100")}),jsx("span",{children:s.title})]},d)})})})]})})]})}function qe(t){return typeof t=="string"?{type:t,key:t}:t.type==="custom"?{type:"custom",key:t.key,hidden:t.hidden,render:t.render}:{type:t.type,key:t.key??t.type,hidden:t.hidden,btnProps:t.btnProps,tooltip:t.tooltip}}function Je({btnProps:t$1,tooltip:o,disabled:e,loading:a,onAction:n}){let r=d(),i=o??r("refresh");return jsx(t,{mode:"stroke",variant:"neutral",startContent:jsx(RefreshCw,{}),loading:a,disabled:e||a,className:"gap-0",onClick:()=>n({action:"data_refresh"}),...t$1,children:jsx(Tooltip,{title:i,mouseEnterDelay:1,children:jsx("div",{className:"absolute inset-0"})})})}function Qe(){let t=te()??"small",o=M(e=>e.setTableSize);return jsx(pe,{value:t,onChange:o})}function Ze({columns:t}){return jsx(me,{columns:t})}function ta({btnProps:t$1,disabled:o,loading:e,onAction:a}){let n=d();return jsx(t,{variant:"primary",startContent:jsx(ArrowDownToLine,{}),loading:e,disabled:o||e,onClick:()=>a({action:"data_export"}),...t$1,children:n("data_export")})}var ea={initial:{opacity:0,scale:.75,x:10,originX:1},animate:{opacity:1,scale:1,x:0,originX:1},exit:{opacity:0,scale:.75,x:10,originX:1}},aa={ease:[.26,.08,.25,1],duration:.25};function be({items:t,columns:o,disabled:e,loading:a,exporting:n,filter:r,onAction:i,className:l}){let b=y.useMemo(()=>t.map(c=>qe(c)),[t]),s=y.useMemo(()=>b.filter(c=>!c.hidden),[b]),d=y.useCallback(c=>{i?.(c);},[i]),u=y.useMemo(()=>({disabled:e,loading:a,exporting:n,columns:o,onAction:d}),[e,a,n,o,d]),D=c=>{let P={btnProps:c.btnProps,tooltip:c.tooltip,disabled:e,loading:a,onAction:d};switch(c.type){case "data_refresh":return jsx(Je,{...P});case "size_setting":return jsx(Qe,{});case "column_setting":return jsx(Ze,{columns:o});case "data_export":return jsx(ta,{...P,loading:n});case "custom":return c.render?.(u);case "filter_btn":return r;default:return null}};return jsx("div",{className:f("flex items-center gap-8",l),children:jsx(AnimatePresence,{mode:"popLayout",initial:false,children:s.map(c=>jsx(m$1.div,{layout:true,variants:ea,initial:"initial",animate:"animate",exit:"exit",transition:aa,children:D(c)},c.key))})})}var St=["data_refresh","size_setting","column_setting","filter_btn"];function fe(t){return t.filter(o=>o.filter!==void 0).map(o=>{let{filter:e,dataIndex:a,title:n}=o,r=Array.isArray(a)?a.join("."):a,i=e.displayName??(typeof n=="string"?n:r);return {...e,columnId:r,displayName:i}})}function Te(t){return t.map(({filter:o,...e})=>e)}function ra(t){return t.key?String(t.key):Array.isArray(t.dataIndex)?t.dataIndex.join("."):String(t.dataIndex)}var ia={pagination:{root:"m-0 py-16 px-8 [&_.ant-pagination-total-text]:mr-auto"}},sa={hideOnSinglePage:false,showSizeChanger:true,pageSizeOptions:[10,20,30,50]},la={initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0}},da={initial:{opacity:0,y:24},animate:{opacity:1,y:0},exit:{opacity:0,y:-24}},ca={ease:[.26,.08,.25,1],duration:.3};function pa({id:t,title:o$1,icon:e,description:a,variant:n$1,classNames:r,slots:i$1,columns:l$1,filters:b,defaultFilters:s,loading:d$1,exporting:u,disabled:D,animated:c=true,pagination:P,style:O,toolbarItems:W,activeTab:V,tabList:I,onTabChange:A,onFiltersChange:ot,onToolbarAction:nt,...q$1}){let J=d(),g$2=M(w=>w.setActiveTab),S=M(w=>w.activeTabId),{tableSize:h$1,columnVisibility:rt}=dt();y.useEffect(()=>{t&&t!==S&&g$2(t);},[t,S,g$2]);let z=y.useMemo(()=>l$1.filter(w=>w.hidden!==true),[l$1]),v=y.useMemo(()=>fe(z),[z]),Q=y.useMemo(()=>Te(z),[z]),[K,Z]=g({filters:b,defaultFilters:s,onFiltersChange:ot}),E=y.useMemo(()=>Q.filter(w=>{let De=ra(w);return rt[De]!==false}),[Q,rt]),U=y.useCallback(w=>J("pagination_total").replace("{total}",String(w)),[J]),Y=y.useMemo(()=>({showTotal:U,disabled:d$1||D,size:h$1==="large"?"middle":h$1,...sa,...P}),[U,d$1,D,h$1,P]),it={...ia,header:{cell:q$1?.bordered?"":f("border-t border-stroke-antd first:border-l last:border-r")}},st=I&&Array.isArray(I),ut=Math.min(Y.pageSize??Y.defaultPageSize??10,15),T=!!(d$1&&E.some(w=>w.skeleton)),F=v.length!==0,x=K&&K.length!==0,k=jsx(e$1,{columns:v,filters:K,actions:Z,className:"flex flex-wrap gap-6",enableAutoClose:true}),L=T?jsx(oe,{id:`${t}-skeleton`,columns:E,size:h$1,count:ut,className:"bg-bg-white",classNames:it,pagination:Y}):jsx(Table,{id:`${t}-data-table`,columns:E,className:"bg-bg-white",classNames:it,pagination:Y,size:h$1,loading:d$1,...q$1}),mt=n$1==="accent";return jsx(ConfigProvider,{theme:Wt,children:jsxs(g$1,{style:O,className:f("rounded-2xl",r?.root),variant:n$1,children:[jsxs(h,{className:f("px-14 pt-12 pb-10",mt&&"pt-10",st&&"border-b-0",r?.cardHeader),children:[jsxs(m,{className:f("flex items-center gap-12",r?.cardHeading),children:[e&&jsx(p,{className:f("size-34 border border-stone-200 bg-stone-100 text-text-sub",!!(o$1&&a)&&"size-44 [&_svg]:size-24",r?.cardIcon),children:e}),o$1&&jsxs("div",{className:f(a&&"flex flex-col gap-4"),children:[jsx(o,{children:o$1}),a&&jsx(q,{children:a})]})]}),jsx(n,{className:r?.cardToolbar,children:jsx(be,{onAction:nt,items:W??St,loading:d$1,disabled:D,exporting:u,filter:F&&jsx(f$1,{columns:v,filters:K,actions:Z,align:"end",enableAutoBack:true},`${t}-filter`),columns:z})})]}),i$1?.summary&&jsx(j,{className:f("p-16",r?.cardSummary),children:i$1?.footer}),st&&jsx(j,{className:"p-0",children:jsx(de,{value:V,options:I,onValueChange:A})}),jsx(i,{className:f("overflow-hidden p-12 pt-16 pb-8",r?.cardContent),children:c?jsx(AnimatePresence,{mode:"popLayout",initial:false,children:jsxs(m$1.div,{variants:da,initial:"initial",animate:"animate",exit:"exit",custom:x,transition:ca,children:[jsx(AnimatePresence,{initial:false,children:x&&jsxs(m$1.div,{variants:la,initial:"initial",animate:"animate",exit:"exit",children:[k,jsx("div",{className:"h-14"})]},S)}),L]},S)}):jsxs(Fragment,{children:[x&&jsx("div",{className:"mb-16",children:k}),L]})}),i$1?.footer&&jsx(l,{className:f("p-16",r?.cardFooter),children:i$1?.footer})]})})}function ua({id:t,storageKey:o,alwaysShowingColumns:e,...a}){return jsx(Qt,{storageKey:o??"UI_TABLE_CONFIG",initialTabId:t,alwaysShowingColumns:e,children:jsx(pa,{id:t,...a})})}var Ct={dateFormat:"YYYY-MM-DD",paginationKeys:{current:"current",pageSize:"pageSize"},sorterKeys:{field:"sortField",order:"sortOrder"},filtersKey:"filters",orderValues:{ascend:"asc",descend:"desc"},fieldMapping:{}};function Dt(t,o){return o[t]??t}function ba(t){return t!==null&&typeof t=="object"&&"$d"in t&&typeof t.format=="function"}function vt(t,o){return t==null?null:ba(t)?t.format(o):typeof t=="string"||typeof t=="number"||typeof t=="boolean"?t:String(t)}function fa(t,o={}){let e={...Ct,...o},{pagination:a,filters:n,sorter:r}=t,i={};a.current!==void 0&&(i[e.paginationKeys.current]=a.current),a.pageSize!==void 0&&(i[e.paginationKeys.pageSize]=a.pageSize);let l=Array.isArray(r)?r[0]:r;l?.field&&l?.order&&(i[e.sorterKeys.field]=String(l.field),i[e.sorterKeys.order]=e.orderValues[l.order]??l.order);let b={};for(let s of n){let d=Dt(s.columnId,e.fieldMapping);b[d]=s.values.map(u=>vt(u,e.dateFormat));}return Object.keys(b).length>0&&(i[e.filtersKey]=b),i}function at(t,o={}){let e={...Ct,...o},{pagination:a,filters:n,sorter:r}=t,i={};a.current!==void 0&&(i[e.paginationKeys.current]=a.current),a.pageSize!==void 0&&(i[e.paginationKeys.pageSize]=a.pageSize);let l=Array.isArray(r)?r[0]:r;l?.field&&l?.order&&(i[e.sorterKeys.field]=String(l.field),i[e.sorterKeys.order]=e.orderValues[l.order]??l.order);for(let b of n){let s=Dt(b.columnId,e.fieldMapping),d=b.values.map(u=>vt(u,e.dateFormat));i[s]=d.length===1?d[0]:d;}return i}function Se(t,o={}){let e={...Ct,...o},{pagination:a,filters:n,sorter:r}=t,i=new URLSearchParams;a.current!==void 0&&i.set(e.paginationKeys.current,String(a.current)),a.pageSize!==void 0&&i.set(e.paginationKeys.pageSize,String(a.pageSize));let l=Array.isArray(r)?r[0]:r;l?.field&&l?.order&&(i.set(e.sorterKeys.field,String(l.field)),i.set(e.sorterKeys.order,e.orderValues[l.order]??l.order));for(let b of n){let s=Dt(b.columnId,e.fieldMapping),d=b.values.map(u=>vt(u,e.dateFormat));i.set(s,d.join(","));}return i.toString()}function Ta(t,o={}){let e=Se(t,o);return new URLSearchParams(e)}var ga=[],ya={current:1,pageSize:10};function Ce(){return {filters:ga,pagination:ya,sorter:{}}}function Sa(t){let o=new Map,e=Ce();for(let a of t)o.set(a.value,{filters:a.defaultFilters??a.filters??e.filters,pagination:a.defaultPagination??a.pagination??e.pagination,sorter:a.defaultSorter??e.sorter});return o}function xt({fireOnMount:t=true,active:o,defaultActive:e,tabList:a,onTabChange:n,onTableChange:r,onToolbarAction:i}){let[l,b]=y.useState(()=>e??a[0]?.value??""),s=o??l,[d,u]=y.useState(()=>Sa(a)),D=y.useMemo(()=>a.find(T=>T.value===s)??a[0],[s,a]),{id:c,fireOnMount:P=t,loading:O,exporting:W,disabled:V,serializeOptions:I={},serializeFn:A=at,defaultFilters:ot,defaultPagination:nt,defaultSorter:q,filters:J,pagination:g,onChange:S,onToolbarAction:h,...rt}=D,z=y.useMemo(()=>Ce(),[]),v=y.useMemo(()=>d.get(s)??z,[d,s,z]),Q=y.useRef(r),K=y.useRef(i),Z=y.useRef(S),E=y.useRef(h);Q.current=r,K.current=i,Z.current=S,E.current=h;let U=y.useRef(new Map);y.useEffect(()=>{U.current.has(s)||U.current.set(s,!P);},[s,P]);let Y=y.useCallback(T=>{b(T),n?.(T);},[n]),it=y.useCallback(T=>{u(F=>{let x=new Map(F),k=x.get(s)??z,L=typeof T=="function"?T(k.filters):T;return x.set(s,{...k,filters:L,pagination:{...k.pagination,current:1}}),x});},[s,z]),st=y.useCallback((T,F,x)=>{u(k=>{let L=new Map(k),mt=L.get(s)??z;return L.set(s,{...mt,pagination:T,sorter:x}),L});},[s,z]),ut=y.useCallback(T=>{if(T.action==="data_export"){let F={pagination:v.pagination,filters:v.filters,sorter:v.sorter},x=A(F,I),k={action:T.action,payload:x};E.current?.(k),K.current?.(c,k);return}E.current?.(T),K.current?.(c,T);},[c,v,A,I]);return y.useEffect(()=>{if(U.current.get(s)){U.current.set(s,false);return}let F={pagination:v.pagination,filters:v.filters,sorter:v.sorter},x=A(F,I);Z.current?.(x,F),Q.current?.(c,x,F);},[s,c,v,A,I]),{activeTab:s,tabList:a,onTabChange:Y,id:c,loading:O,exporting:W,disabled:V||W,filters:v.filters,pagination:v.pagination,onFiltersChange:it,onChange:st,onToolbarAction:ut,...rt}}var Ca=[],Da={},va={current:1,pageSize:10};function xa({id:t,fireOnMount:o=true,defaultFilters:e=Ca,defaultPagination:a=va,defaultSorter:n=Da,serializeOptions:r={},loading:i,exporting:l,disabled:b,serializeFn:s=at,onChange:d,onToolbarAction:u}={}){let D=y.useRef(!o),c=y.useRef(d),P=y.useRef(u);c.current=d,P.current=u;let[O,W]=y.useState(e),[V,I]=y.useState(a),[A,ot]=y.useState(n),nt=y.useCallback(g=>{W(S=>typeof g=="function"?g(S):g),I(S=>({...S,current:1}));},[]),q=y.useCallback((g,S,h)=>{I(g),ot(h);},[]),J=y.useCallback(g=>{if(g.action==="data_export"){let h=s({pagination:V,filters:O,sorter:A},r);P.current?.({action:g.action,payload:h});return}P.current?.(g);},[O,V,s,r,A]);return y.useEffect(()=>{if(D.current){D.current=false;return}let g={pagination:V,filters:O,sorter:A},S=s(g,r);c.current?.(S,g);},[V,O,A,s,r]),{id:t,loading:i,exporting:l,disabled:b||l,filters:O,pagination:V,onFiltersChange:nt,onChange:q,onToolbarAction:J}}function ha(t={}){let{id:o="default",onChange:e,onToolbarAction:a,...n}=t,r=xt({fireOnMount:t.fireOnMount,tabList:[{id:o,value:o,label:"",columns:[],...n}],onTableChange:e?(u,D,c)=>e(D,c):void 0,onToolbarAction:a?(u,D)=>a(D):void 0}),{activeTab:i,tabList:l,columns:b,onTabChange:s,...d}=r;return d}
2
- export{St as DEFAULT_TOOLBAR_ITEMS,ua as DataTable,fa as serializeForPost,at as serializeForPostFlat,Se as serializeForURL,Ta as serializeToURLSearchParams,xa as useDataTableState,ha as useDataTableStateAdapter,xt as useTabsDataTableState};
1
+ import {e,a as a$1,b as b$1,c as c$1,g as g$1}from'./chunk-MQJGKS3C.js';import {a,d,b,c}from'./chunk-H5SWYELS.js';import {f,g,h,l,o,n,p,m,j,i,k,M as M$1,r,s,A,t,B,C,E,D,F,H}from'./chunk-BJHN7W7I.js';import'./chunk-WOT6VMZA.js';import y from'react';import {createStore,useStore}from'zustand';import {persist}from'zustand/middleware';import {immer}from'zustand/middleware/immer';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {Table,ConfigProvider,Tooltip,Checkbox}from'antd';import {AnimatePresence,m as m$1}from'motion/react';import {ArrowDownToLine,RefreshCw}from'lucide-react';var Yt={components:{DatePicker:{activeBorderColor:"#d9d9d9",hoverBorderColor:"#d9d9d9",activeShadow:"none",cellHeight:24,cellWidth:28}}};var mt={tableSize:"middle",columnVisibility:{}},Ce={tabStates:{},activeTabId:"",loading:false,exporting:false},tt=(t,o)=>{t.tabStates[o]||(t.tabStates[o]={...mt});},Xt=t=>t.tabStates[t.activeTabId]??mt,he=(t,o)=>({...Ce,activeTabId:o??"",setActiveTab:e=>t(a=>{a.activeTabId=e,tt(a,e);}),setTableSize:e=>t(a=>{let n=a.activeTabId;tt(a,n),a.tabStates[n].tableSize=e;}),setColumnVisibility:(e,a)=>t(n=>{let i=n.activeTabId;tt(n,i),n.tabStates[i].columnVisibility[e]=a;}),setColumnVisibilityState:e=>t(a=>{let n=a.activeTabId;tt(a,n);let i=a.tabStates[n].columnVisibility;a.tabStates[n].columnVisibility=typeof e=="function"?e(i):e;}),toggleColumnVisibility:e=>t(a=>{let n=a.activeTabId;tt(a,n);let i=a.tabStates[n].columnVisibility[e];a.tabStates[n].columnVisibility[e]=!i;}),setLoading:e=>t({loading:e}),setExporting:e=>t({exporting:e}),resetCurrentTabState:()=>t(e=>{let a=e.activeTabId;e.tabStates[a]={...mt};})}),xe=(t,o)=>createStore()(persist(immer(e=>he(e,o)),{name:t,partialize:e=>({tabStates:e.tabStates})})),qt=y.createContext(null),ve=["id","action","actions"],Jt=y.createContext({});function Qt({storageKey:t,initialTabId:o,alwaysShowingColumns:e,children:a}){let n=y.useRef(null);n.current||(n.current=xe(t,o)),y.useEffect(()=>{let r=n.current;r&&!r.getState().activeTabId&&r.getState().setActiveTab(o);},[o]);let i=y.useMemo(()=>({alwaysShowingColumns:e??ve}),[e]);return jsx(Jt.Provider,{value:i,children:jsx(qt.Provider,{value:n.current,children:a})})}function Zt(){return y.useContext(Jt)}function M(t){let o=y.useContext(qt);if(!o)throw new Error("useDataTableStore must be used within DataTableProvider");return useStore(o,t)}function lt(){return M(t=>Xt(t))}function te(){return M(t=>Xt(t).tableSize)}var Pe={small:"min-h-22",middle:"min-h-30",large:"min-h-38"};function oe({count:t,size:o="small",pagination:e$1,classNames:a,columns:n}){let i=y.useCallback(()=>Ie(n,Pe[o]),[n,o]);return jsx(Table,{rowKey:"id",size:o,rowHoverable:false,classNames:a,dataSource:Array.from({length:t},(r,l)=>({id:l})),pagination:e$1,children:n.map((r,l)=>jsx(Table.Column,{dataIndex:r.dataIndex,width:r.width,title:jsx(e,{className:"h-22 w-full animate-none bg-bg-antd"}),render:i,onCell:()=>l===0?{colSpan:n.length}:{colSpan:0}},r.dataIndex))})}var ae=16;function Ie(t,o){let e=t.length,n=`calc((100% - ${ae*(e-1)}px) / ${e})`,i=t.some(r=>r.skeleton==="avatar"||r.skeleton==="double-line");return jsx("div",{className:f("flex items-center",o),style:{gap:`${ae}px`},children:t.map((r,l)=>{let p=r?.key??l;return jsx("div",{style:{width:n},children:Ae(r.skeleton,i)},p)})})}function Ae(t,o){switch(t){case "avatar":return jsx(ke,{});case "double-line":return jsx(ze,{});case "group":return jsx(Fe,{needAlignment:o});default:return jsx(we,{needAlignment:o})}}function we({needAlignment:t}){return jsxs("div",{className:"grid h-full gap-4",children:[t&&jsx("div",{className:"h-12 w-1"}),jsx(e,{className:"h-10"})]})}function ke(){return jsxs("div",{className:"flex w-full items-center gap-6",children:[jsx(e,{className:"shrink-0 rounded-full",style:{width:"var(--avatar-size, 32px)",height:"var(--avatar-size, 32px)"}}),jsxs("div",{className:"grid flex-1 gap-4",children:[jsx(e,{className:"h-12 w-[60%]"}),jsx(e,{className:"h-10"})]})]})}function ze(){return jsxs("div",{className:"grid h-full w-full gap-4 py-4",children:[jsx(e,{className:"h-12 w-[60%]"}),jsx(e,{className:"h-10"})]})}function Fe({needAlignment:t}){return jsxs("div",{className:"grid h-full gap-4",children:[t&&jsx("div",{className:"h-12 w-1"}),jsxs("div",{className:"flex w-full items-center gap-4",children:[jsx(e,{className:"h-10 w-[20%]"}),jsx(e,{className:"h-10 w-[20%]"}),jsx(e,{className:"h-10 w-[20%]"}),jsx(e,{className:"h-10 w-[20%]"}),jsx(e,{className:"h-10 w-[20%]"})]})]})}function ne({className:t,options:o,...e}){return jsx(a$1,{className:f("w-full",t),...e,children:jsx(b$1,{variant:"line",size:"medium",className:"w-full px-12",children:o?.map(a=>jsx(c$1,{value:a.value,className:"py-8",children:a.label},a.id??a.value))})})}function ie({value:t,className:o,onChange:e,...a$1}){let n=a(),[i,r]=y.useState(false),l=y.useMemo(()=>[{groupType:"radio",value:t,options:[{label:n("large"),value:"large"},{label:n("middle"),value:"middle"},{label:n("compact"),value:"small"}],onValueChange:e}],[e,n,t]);return jsx(g$1,{side:"bottom",align:"end",collisionPadding:6,items:l,className:"min-w-100",open:i,onOpenChange:r,children:jsxs(M$1,{mode:"stroke",variant:"neutral",size:"small",className:f("gap-0",o,i&&"active"),...a$1,children:[jsx(Tooltip,{title:n("density"),mouseEnterDelay:1,children:jsx("div",{className:"absolute inset-0"})}),jsx("svg",{xmlns:"http://www.w3.org/2000/svg",className:"size-16",viewBox:"0 0 1024 1024",children:jsx("path",{d:"M840 836H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zm0-724H184c-4.4 0-8 3.6-8 8v60c0 4.4 3.6 8 8 8h656c4.4 0 8-3.6 8-8v-60c0-4.4-3.6-8-8-8zM610.8 378c6 0 9.4-7 5.7-11.7L515.7 238.7a7.14 7.14 0 0 0-11.3 0L403.6 366.3a7.23 7.23 0 0 0 5.7 11.7H476v268h-62.8c-6 0-9.4 7-5.7 11.7l100.8 127.5c2.9 3.7 8.5 3.7 11.3 0l100.8-127.5c3.7-4.7.4-11.7-5.7-11.7H548V378h62.8z"})})]})})}function Ve(t){return t.key?String(t.key):Array.isArray(t.dataIndex)?t.dataIndex.join("."):String(t.dataIndex)}function le({disabled:t$1,columns:o}){let e=a(),{alwaysShowingColumns:a$1}=Zt(),[n,i]=y.useState(false),{columnVisibility:r$1}=lt(),l=M(s=>s.setColumnVisibilityState),p=y.useCallback((s,c)=>{l(u=>({...u,[s]:c}));},[l]);return jsxs(r,{open:n,onOpenChange:i,children:[jsx(s,{asChild:true,children:jsx(M$1,{mode:"stroke",variant:"neutral",size:"small",className:f(n&&"active","relative gap-0"),disabled:t$1,startContent:jsx(A,{}),children:jsx(Tooltip,{title:e("column_set"),mouseEnterDelay:1,children:jsx("div",{className:"absolute inset-0"})})})}),jsx(t,{align:"end",side:"bottom",arrow:false,className:"w-fit rounded-xl p-0",sideOffset:6,children:jsxs(B,{children:[jsx(C,{autoFocus:true,placeholder:"Search..."}),jsx(E,{children:e("no_results")}),jsx(D,{className:"max-h-256",children:jsx(F,{children:o.map(s=>{let c=Ve(s),u=r$1[c]!==false;return jsxs(H,{keywords:[s.title,s.dataIndex],onSelect:()=>p(c,!u),className:"group flex items-center gap-6",value:c,disabled:a$1?.includes(c),children:[jsx(Checkbox,{checked:u,tabIndex:-1,className:f("mr-4 opacity-100")}),jsx("span",{children:s.title})]},c)})})})]})})]})}function He(t){return typeof t=="string"?{type:t,key:t}:t.type==="custom"?{type:"custom",key:t.key,hidden:t.hidden,render:t.render}:{type:t.type,key:t.key??t.type,hidden:t.hidden,btnProps:t.btnProps,tooltip:t.tooltip}}function Ge({btnProps:t,tooltip:o,disabled:e,loading:a$1,onAction:n}){let i=a(),r=o??i("refresh");return jsx(M$1,{mode:"stroke",variant:"neutral",startContent:jsx(RefreshCw,{}),loading:a$1,disabled:e||a$1,className:"gap-0",onClick:()=>n({action:"data_refresh"}),...t,children:jsx(Tooltip,{title:r,mouseEnterDelay:1,children:jsx("div",{className:"absolute inset-0"})})})}function We(){let t=te()??"small",o=M(e=>e.setTableSize);return jsx(ie,{value:t,onChange:o})}function $e({columns:t}){return jsx(le,{columns:t})}function Ye({btnProps:t,disabled:o,loading:e,onAction:a$1}){let n=a();return jsx(M$1,{variant:"primary",startContent:jsx(ArrowDownToLine,{}),loading:e,disabled:o||e,onClick:()=>a$1({action:"data_export"}),...t,children:n("data_export")})}var je={initial:{opacity:0,scale:.75,x:10,originX:1},animate:{opacity:1,scale:1,x:0,originX:1},exit:{opacity:0,scale:.75,x:10,originX:1}},Xe={ease:[.26,.08,.25,1],duration:.25};function ce({items:t,columns:o,disabled:e,loading:a,exporting:n,filter:i,onAction:r,className:l}){let p=y.useMemo(()=>t.map(d=>He(d)),[t]),s=y.useMemo(()=>p.filter(d=>!d.hidden),[p]),c=y.useCallback(d=>{r?.(d);},[r]),u=y.useMemo(()=>({disabled:e,loading:a,exporting:n,columns:o,onAction:c}),[e,a,n,o,c]),C=d=>{let P={btnProps:d.btnProps,tooltip:d.tooltip,disabled:e,loading:a,onAction:c};switch(d.type){case "data_refresh":return jsx(Ge,{...P});case "size_setting":return jsx(We,{});case "column_setting":return jsx($e,{columns:o});case "data_export":return jsx(Ye,{...P,loading:n});case "custom":return d.render?.(u);case "filter_btn":return i;default:return null}};return jsx("div",{className:f("flex items-center gap-8",l),children:jsx(AnimatePresence,{mode:"popLayout",initial:false,children:s.map(d=>jsx(m$1.div,{layout:true,variants:je,initial:"initial",animate:"animate",exit:"exit",transition:Xe,children:C(d)},d.key))})})}var ft=["data_refresh","size_setting","column_setting","filter_btn"];function de(t){return t.filter(o=>o.filter!==void 0).map(o=>{let{filter:e,dataIndex:a,title:n}=o,i=Array.isArray(a)?a.join("."):a,r=e.displayName??(typeof n=="string"?n:i);return {...e,columnId:i,displayName:r}})}function pe(t){return t.map(({filter:o,...e})=>e)}function Qe(t){return t.key?String(t.key):Array.isArray(t.dataIndex)?t.dataIndex.join("."):String(t.dataIndex)}var Ze={pagination:{root:"m-0 py-16 px-8 [&_.ant-pagination-total-text]:mr-auto"}},ta={hideOnSinglePage:false,showSizeChanger:true,pageSizeOptions:[10,20,30,50]},ea={initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0}},aa={initial:{opacity:0,y:24},animate:{opacity:1,y:0},exit:{opacity:0,y:-24}},oa={ease:[.26,.08,.25,1],duration:.3};function na({id:t,title:o$1,icon:e,description:a$1,variant:n$1,classNames:i$1,slots:r,columns:l$1,filters:p$1,defaultFilters:s,loading:c$1,exporting:u,disabled:C,animated:d$1=true,pagination:P,style:O,toolbarItems:Y,activeTab:_,tabList:w,onTabChange:k$1,onFiltersChange:ot,onToolbarAction:nt,...q}){let J=a(),g$1=M(F=>F.setActiveTab),S=M(F=>F.activeTabId),{tableSize:v,columnVisibility:rt}=lt();y.useEffect(()=>{t&&t!==S&&g$1(t);},[t,S,g$1]);let I=y.useMemo(()=>l$1.filter(F=>F.hidden!==true),[l$1]),h$1=y.useMemo(()=>de(I),[I]),Q=y.useMemo(()=>pe(I),[I]),[K,Z]=d({filters:p$1,defaultFilters:s,onFiltersChange:ot}),L=y.useMemo(()=>Q.filter(F=>{let fe=Qe(F);return rt[fe]!==false}),[Q,rt]),U=y.useCallback(F=>J("pagination_total").replace("{total}",String(F)),[J]),j$1=y.useMemo(()=>({showTotal:U,disabled:c$1||C,size:v==="large"?"middle":v,...ta,...P}),[U,c$1,C,v,P]),it={...Ze,header:{cell:q?.bordered?"":f("border-t border-stroke-antd first:border-l last:border-r")}},st=w&&Array.isArray(w),dt=Math.min(j$1.pageSize??j$1.defaultPageSize??10,15),f$1=!!(c$1&&L.some(F=>F.skeleton)),N=h$1.length!==0,x=K&&K.length!==0,z=jsx(b,{columns:h$1,filters:K,actions:Z,className:"flex flex-wrap gap-6",enableAutoClose:true}),E=f$1?jsx(oe,{id:`${t}-skeleton`,columns:L,size:v,count:dt,className:"bg-bg-white",classNames:it,pagination:j$1}):jsx(Table,{id:`${t}-data-table`,columns:L,className:"bg-bg-white",classNames:it,pagination:j$1,size:v,loading:c$1,...q}),pt=n$1==="accent";return jsx(ConfigProvider,{theme:Yt,children:jsxs(g,{style:O,className:f("rounded-2xl",i$1?.root),variant:n$1,children:[jsxs(h,{className:f("px-14 pt-12 pb-10",pt&&"pt-10",st&&"border-b-0",i$1?.cardHeader),children:[jsxs(l,{className:f("flex items-center gap-12",i$1?.cardHeading),children:[e&&jsx(o,{className:f("size-34 border border-stone-200 bg-stone-100 text-text-sub",!!(o$1&&a$1)&&"size-44 [&_svg]:size-24",i$1?.cardIcon),children:e}),o$1&&jsxs("div",{className:f(a$1&&"flex flex-col gap-4"),children:[jsx(n,{children:o$1}),a$1&&jsx(p,{children:a$1})]})]}),jsx(m,{className:i$1?.cardToolbar,children:jsx(ce,{onAction:nt,items:Y??ft,loading:c$1,disabled:C,exporting:u,filter:N&&jsx(c,{columns:h$1,filters:K,actions:Z,align:"end",enableAutoBack:true},`${t}-filter`),columns:I})})]}),r?.summary&&jsx(j,{className:f("p-16",i$1?.cardSummary),children:r?.footer}),st&&jsx(j,{className:"p-0",children:jsx(ne,{value:_,options:w,onValueChange:k$1})}),jsx(i,{className:f("overflow-hidden p-12 pt-16 pb-8",i$1?.cardContent),children:d$1?jsx(AnimatePresence,{mode:"popLayout",initial:false,children:jsxs(m$1.div,{variants:aa,initial:"initial",animate:"animate",exit:"exit",custom:x,transition:oa,children:[jsx(AnimatePresence,{initial:false,children:x&&jsxs(m$1.div,{variants:ea,initial:"initial",animate:"animate",exit:"exit",children:[z,jsx("div",{className:"h-14"})]},S)}),E]},S)}):jsxs(Fragment,{children:[x&&jsx("div",{className:"mb-16",children:z}),E]})}),r?.footer&&jsx(k,{className:f("p-16",i$1?.cardFooter),children:r?.footer})]})})}function ra({id:t,storageKey:o,alwaysShowingColumns:e,...a}){return jsx(Qt,{storageKey:o??"UI_TABLE_CONFIG",initialTabId:t,alwaysShowingColumns:e,children:jsx(na,{id:t,...a})})}var gt={dateFormat:"YYYY-MM-DD",paginationKeys:{current:"current",pageSize:"pageSize"},sorterKeys:{field:"sortField",order:"sortOrder"},filtersKey:"filters",orderValues:{ascend:"asc",descend:"desc"},fieldMapping:{}};function yt(t,o){return o[t]??t}function sa(t){return t!==null&&typeof t=="object"&&"$d"in t&&typeof t.format=="function"}function St(t,o){return t==null?null:sa(t)?t.format(o):typeof t=="string"||typeof t=="number"||typeof t=="boolean"?t:String(t)}function la(t,o={}){let e={...gt,...o},{pagination:a,filters:n,sorter:i}=t,r={};a.current!==void 0&&(r[e.paginationKeys.current]=a.current),a.pageSize!==void 0&&(r[e.paginationKeys.pageSize]=a.pageSize);let l=Array.isArray(i)?i[0]:i;l?.field&&l?.order&&(r[e.sorterKeys.field]=String(l.field),r[e.sorterKeys.order]=e.orderValues[l.order]??l.order);let p={};for(let s of n){let c=yt(s.columnId,e.fieldMapping);p[c]=s.values.map(u=>St(u,e.dateFormat));}return Object.keys(p).length>0&&(r[e.filtersKey]=p),r}function at(t,o={}){let e={...gt,...o},{pagination:a,filters:n,sorter:i}=t,r={};a.current!==void 0&&(r[e.paginationKeys.current]=a.current),a.pageSize!==void 0&&(r[e.paginationKeys.pageSize]=a.pageSize);let l=Array.isArray(i)?i[0]:i;l?.field&&l?.order&&(r[e.sorterKeys.field]=String(l.field),r[e.sorterKeys.order]=e.orderValues[l.order]??l.order);for(let p of n){let s=yt(p.columnId,e.fieldMapping),c=p.values.map(u=>St(u,e.dateFormat));r[s]=c.length===1?c[0]:c;}return r}function Te(t,o={}){let e={...gt,...o},{pagination:a,filters:n,sorter:i}=t,r=new URLSearchParams;a.current!==void 0&&r.set(e.paginationKeys.current,String(a.current)),a.pageSize!==void 0&&r.set(e.paginationKeys.pageSize,String(a.pageSize));let l=Array.isArray(i)?i[0]:i;l?.field&&l?.order&&(r.set(e.sorterKeys.field,String(l.field)),r.set(e.sorterKeys.order,e.orderValues[l.order]??l.order));for(let p of n){let s=yt(p.columnId,e.fieldMapping),c=p.values.map(u=>St(u,e.dateFormat));r.set(s,c.join(","));}return r.toString()}function ca(t,o={}){let e=Te(t,o);return new URLSearchParams(e)}var da=[],pa={current:1,pageSize:10};function be(){return {filters:da,pagination:pa,sorter:{}}}function ua(t){let o=new Map,e=be();for(let a of t)o.set(a.value,{filters:a.defaultFilters??a.filters??e.filters,pagination:a.defaultPagination??a.pagination??e.pagination,sorter:a.defaultSorter??e.sorter});return o}function Dt({fireOnMount:t=true,active:o,defaultActive:e,tabList:a,onTabChange:n,onTableChange:i,onToolbarAction:r}){let[l,p]=y.useState(()=>e??a[0]?.value??""),s=o??l,[c,u]=y.useState(()=>ua(a)),C=y.useMemo(()=>a.find(f=>f.value===s)??a[0],[s,a]),{id:d,fireOnMount:P=t,loading:O,exporting:Y,disabled:_,serializeOptions:w={},serializeFn:k=at,defaultFilters:ot,defaultPagination:nt,defaultSorter:q,filters:J,pagination:g,onChange:S,onToolbarAction:v,...rt}=C,I=y.useMemo(()=>be(),[]),h=y.useMemo(()=>c.get(s)??I,[c,s,I]),Q=y.useRef(i),K=y.useRef(r),Z=y.useRef(S),L=y.useRef(v);Q.current=i,K.current=r,Z.current=S,L.current=v;let U=y.useRef(new Map);y.useEffect(()=>{U.current.has(s)||U.current.set(s,!P);},[s,P]);let j=y.useCallback(f=>{p(f),n?.(f);},[n]),it=y.useCallback(f=>{u(N=>{let x=new Map(N),z=x.get(s)??I,E=typeof f=="function"?f(z.filters):f;return x.set(s,{...z,filters:E,pagination:{...z.pagination,current:1}}),x});},[s,I]),st=y.useCallback((f,N,x)=>{u(z=>{let E=new Map(z),pt=E.get(s)??I;return E.set(s,{...pt,pagination:f,sorter:x}),E});},[s,I]),dt=y.useCallback(f=>{if(f.action==="data_export"){let N={pagination:h.pagination,filters:h.filters,sorter:h.sorter},x=k(N,w),z={action:f.action,payload:x};L.current?.(z),K.current?.(d,z);return}L.current?.(f),K.current?.(d,f);},[d,h,k,w]);return y.useEffect(()=>{if(U.current.get(s)){U.current.set(s,false);return}let N={pagination:h.pagination,filters:h.filters,sorter:h.sorter},x=k(N,w);Z.current?.(x,N),Q.current?.(d,x,N);},[s,d,h,k,w]),{activeTab:s,tabList:a,onTabChange:j,id:d,loading:O,exporting:Y,disabled:_||Y,filters:h.filters,pagination:h.pagination,onFiltersChange:it,onChange:st,onToolbarAction:dt,...rt}}var ma=[],Ta={},ba={current:1,pageSize:10};function fa({id:t,fireOnMount:o=true,defaultFilters:e=ma,defaultPagination:a=ba,defaultSorter:n=Ta,serializeOptions:i={},loading:r,exporting:l,disabled:p,serializeFn:s=at,onChange:c,onToolbarAction:u}={}){let C=y.useRef(!o),d=y.useRef(c),P=y.useRef(u);d.current=c,P.current=u;let[O,Y]=y.useState(e),[_,w]=y.useState(a),[k,ot]=y.useState(n),nt=y.useCallback(g=>{Y(S=>typeof g=="function"?g(S):g),w(S=>({...S,current:1}));},[]),q=y.useCallback((g,S,v)=>{w(g),ot(v);},[]),J=y.useCallback(g=>{if(g.action==="data_export"){let v=s({pagination:_,filters:O,sorter:k},i);P.current?.({action:g.action,payload:v});return}P.current?.(g);},[O,_,s,i,k]);return y.useEffect(()=>{if(C.current){C.current=false;return}let g={pagination:_,filters:O,sorter:k},S=s(g,i);d.current?.(S,g);},[_,O,k,s,i]),{id:t,loading:r,exporting:l,disabled:p||l,filters:O,pagination:_,onFiltersChange:nt,onChange:q,onToolbarAction:J}}function ga(t={}){let{id:o="default",onChange:e,onToolbarAction:a,...n}=t,i=Dt({fireOnMount:t.fireOnMount,tabList:[{id:o,value:o,label:"",columns:[],...n}],onTableChange:e?(u,C,d)=>e(C,d):void 0,onToolbarAction:a?(u,C)=>a(C):void 0}),{activeTab:r,tabList:l,columns:p,onTabChange:s,...c}=i;return c}
2
+ export{ft as DEFAULT_TOOLBAR_ITEMS,ra as DataTable,la as serializeForPost,at as serializeForPostFlat,Te as serializeForURL,ca as serializeToURLSearchParams,fa as useDataTableState,ga as useDataTableStateAdapter,Dt as useTabsDataTableState};
@@ -1,6 +1,6 @@
1
1
  import * as tailwind_variants from 'tailwind-variants';
2
2
  import { VariantProps } from 'tailwind-variants';
3
- import React from 'react';
3
+ import React__default from 'react';
4
4
 
5
5
  declare const baseButtonStyle: tailwind_variants.TVReturnType<{} | {} | {}, undefined, string[], {} | {}, undefined, tailwind_variants.TVReturnType<unknown, undefined, string[], unknown, unknown, undefined>>;
6
6
  declare const buttonVariants: tailwind_variants.TVReturnType<{
@@ -133,7 +133,7 @@ declare const buttonVariants: tailwind_variants.TVReturnType<{
133
133
  icon: string;
134
134
  overlay: string;
135
135
  }, undefined, unknown, unknown, undefined>>;
136
- declare const Button: React.ForwardRefExoticComponent<VariantProps<tailwind_variants.TVReturnType<{
136
+ declare const Button: React__default.ForwardRefExoticComponent<VariantProps<tailwind_variants.TVReturnType<{
137
137
  variant: {
138
138
  primary: {};
139
139
  neutral: {};
@@ -262,10 +262,10 @@ declare const Button: React.ForwardRefExoticComponent<VariantProps<tailwind_vari
262
262
  root: string[];
263
263
  icon: string;
264
264
  overlay: string;
265
- }, undefined, unknown, unknown, undefined>>> & Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, "prefix"> & {
265
+ }, undefined, unknown, unknown, undefined>>> & Omit<React__default.ButtonHTMLAttributes<HTMLButtonElement>, "prefix"> & {
266
266
  asChild?: boolean;
267
- startContent?: React.ReactNode;
268
- endContent?: React.ReactNode;
269
- } & React.RefAttributes<HTMLButtonElement>>;
267
+ startContent?: React__default.ReactNode;
268
+ endContent?: React__default.ReactNode;
269
+ } & React__default.RefAttributes<HTMLButtonElement>>;
270
270
 
271
271
  export { Button as B, buttonVariants as a, baseButtonStyle as b };
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-WOT6VMZA.js';import {extendTailwindMerge}from'tailwind-merge';import {createTV,cn}from'tailwind-variants';import y from'react';import {jsx,jsxs}from'react/jsx-runtime';import {Popover,Slot}from'radix-ui';import {Command}from'cmdk';var de={dateDash:"yyyy-MM-dd",dateSlash:"YYYY/MM/DD",dateTimeMinuteDash:"yyyy-MM-dd HH:mm",dateTimeMinuteSlash:"yyyy/MM/dd HH:mm",dateTimeSecondDash:"yyyy-MM-dd HH:mm:ss",dateTimeSecondSlash:"yyyy/MM/dd HH:mm:ss",timeMinute:"HH:mm",timeSecond:"HH:mm:ss"},bt={presets:de};var fe={title:["h1","h2","h3","h4","h5","h6"],label:["xl","lg","md","sm","xs"],paragraph:["xl","lg","md","sm","xs"],subheading:["md","sm","xs","2xs"]},ve=["slate","red","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose"],ge=Object.entries(fe).flatMap(([e,t])=>t.map(r=>`${e}-${r}`)),he=ve.map(e=>`badge-${e}`),E={extend:{classGroups:{"font-size":[{text:ge}],"ui-badge":[{ui:he}]},conflictingClassGroups:{"ui-badge":["bg-color","text-color","border-color"]}}},xe=extendTailwindMerge(E),m=createTV({twMergeConfig:E}),o=(...e)=>xe(cn(...e));var Ae={};a(Ae,{Card:()=>Pe,CardContent:()=>ke,CardDescription:()=>Ie,CardExtra:()=>Le,CardFooter:()=>Me,CardHeader:()=>Re,CardHeading:()=>Te,CardIcon:()=>Ee,CardTable:()=>Ne,CardTitle:()=>He,CardToolbar:()=>Se,Root:()=>Pe});var A=y.createContext({variant:"default"}),C=()=>{let e=y.useContext(A);if(!e)throw new Error("useCardContext must be used within a Card component");return e},be=m({base:"flex flex-col items-stretch rounded-xl text-paragraph-sm",variants:{variant:{default:"border border-stroke-antd bg-bg-white",accent:"border border-stone-50 bg-bg-weak p-4"}},defaultVariants:{variant:"default"}}),ye=m({base:"flex flex-wrap items-center justify-between gap-10 p-16",variants:{variant:{default:"border-b border-stroke-antd",accent:""}},defaultVariants:{variant:"default"}}),B=m({base:"grow",variants:{variant:{default:"p-16",accent:"rounded-t-xl bg-bg-white p-16 last:rounded-b-xl"}},defaultVariants:{variant:"default"}}),Ce=m({base:"grid grow",variants:{variant:{default:"",accent:"rounded-xl bg-bg-white"}},defaultVariants:{variant:"default"}}),we=m({base:"flex min-h-56 items-center px-16",variants:{variant:{default:"border-t border-stroke-antd",accent:"mt-2 rounded-b-xl bg-bg-white"}},defaultVariants:{variant:"default"}});function Pe({className:e,variant:t="default",...r}){return jsx(A.Provider,{value:{variant:t||"default"},children:jsx("div",{"data-slot":"card",className:o(be({variant:t}),e),...r})})}function Re({className:e,...t}){let{variant:r}=C();return jsx("div",{"data-slot":"card-header",className:o(ye({variant:r}),e),...t})}function ke({className:e,...t}){let{variant:r}=C();return jsx("div",{"data-slot":"card-content",className:o(B({variant:r}),e),...t})}function Le({className:e,...t}){let{variant:r}=C();return jsx("div",{"data-slot":"card-extra",className:o(B({variant:r}),e),...t})}function Ne({className:e,...t}){let{variant:r}=C();return jsx("div",{"data-slot":"card-table",className:o(Ce({variant:r}),e),...t})}function Me({className:e,...t}){let{variant:r}=C();return jsx("div",{"data-slot":"card-footer",className:o(we({variant:r}),e),...t})}function Te({className:e,...t}){return jsx("div",{"data-slot":"card-heading",className:o("space-y-4",e),...t})}function Se({className:e,...t}){return jsx("div",{"data-slot":"card-toolbar",className:o("flex items-center gap-10",e),...t})}function He({className:e,...t}){return jsx("h3",{"data-slot":"card-title",className:o("m-0 text-[16px] font-semibold tracking-tight",e),...t})}function Ee({className:e,...t}){return jsx("div",{"data-slot":"card-icon",className:o("m-0 flex w-32 shrink-0 items-center justify-center rounded-xl bg-bg-weak text-text-strong [&_svg]:size-18",e),...t})}function Ie({className:e,...t}){return jsx("div",{"data-slot":"card-description",className:o("text-[14px] leading-none text-text-soft",e),...t})}var ze={};a(ze,{Popover:()=>Ve,PopoverAnchor:()=>We,PopoverClose:()=>W,PopoverContent:()=>D,PopoverTrigger:()=>De,Root:()=>Ve});var Ve=Popover.Root,De=Popover.Trigger,D=y.forwardRef(({children:e,className:t,align:r="center",sideOffset:a=4,collisionPadding:s=12,arrowPadding:p=12,arrow:i=true,unstyled:n,...c},f)=>jsx(Popover.Portal,{children:jsxs(Popover.Content,{ref:f,align:r,sideOffset:a,collisionPadding:s,arrowPadding:p,className:o([!n&&"w-max rounded-2xl bg-bg-white p-20 shadow-regular-md ring-1 ring-stroke-soft"],"z-50","data-[state=closed]:animate-out data-[state=open]:animate-in","data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[state=open]:fade-in-0 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",t),...c,children:[jsx(Slot.Slottable,{children:e}),i&&jsx(Popover.Arrow,{asChild:true,children:jsx("div",{className:"size-11 -translate-y-[calc(50%+1px)] -rotate-45 rounded-bl-[3px] border border-stroke-soft bg-bg-white [clip-path:polygon(0_100%,0_0,100%_100%)]"})})]})}));D.displayName="PopoverContent";var W=y.forwardRef(({className:e,unstyled:t,...r},a)=>jsx(Popover.Close,{ref:a,className:o([!t&&"absolute top-16 right-16"],e),...r}));W.displayName="PopoverClose";function We({...e}){return jsx(Popover.Anchor,{"data-slot":"popover-anchor",...e})}var it={};a(it,{Command:()=>Ze,CommandEmpty:()=>ot,CommandGroup:()=>rt,CommandInput:()=>et,CommandItem:()=>nt,CommandList:()=>tt,CommandSeparator:()=>at,CommandShortcut:()=>st,Root:()=>Ze});function _e({className:e,...t}){return jsxs("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",className:o("lucide lucide-ellipsis-icon lucide-ellipsis",e),...t,children:[jsx("circle",{cx:"12",cy:"12",r:"1"}),jsx("circle",{cx:"19",cy:"12",r:"1"}),jsx("circle",{cx:"5",cy:"12",r:"1"})]})}function Fe({className:e,...t}){return jsxs("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",className:o("lucide lucide-x-icon lucide-x",e),...t,children:[jsx("path",{d:"M18 6 6 18"}),jsx("path",{d:"m6 6 12 12"})]})}function $e({className:e,...t}){return jsxs("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",className:o("lucide lucide-funnel-plus-icon lucide-funnel-plus",e),...t,children:[jsx("path",{d:"M13.354 3H3a1 1 0 0 0-.742 1.67l7.225 7.989A2 2 0 0 1 10 14v6a1 1 0 0 0 .553.895l2 1A1 1 0 0 0 14 21v-7a2 2 0 0 1 .517-1.341l1.218-1.348"}),jsx("path",{d:"M16 6h6"}),jsx("path",{d:"M19 3v6"})]})}function Xe({className:e,...t}){return 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",className:o("lucide lucide-chevron-right-icon lucide-chevron-right",e),...t,children:jsx("path",{d:"m9 18 6-6-6-6"})})}function je({className:e,...t}){return jsxs("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",className:o("lucide lucide-arrow-left-icon lucide-arrow-left",e),...t,children:[jsx("path",{d:"m12 19-7-7 7-7"}),jsx("path",{d:"M19 12H5"})]})}function T({className:e,...t}){return jsxs("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",className:o("lucide lucide-search-icon lucide-search",e),...t,children:[jsx("path",{d:"m21 21-4.34-4.34"}),jsx("circle",{cx:"11",cy:"11",r:"8"})]})}function Ke({className:e,...t}){return jsxs("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",className:o("lucide lucide-settings2-icon lucide-settings-2",e),...t,children:[jsx("path",{d:"M14 17H5"}),jsx("path",{d:"M19 7h-9"}),jsx("circle",{cx:"17",cy:"17",r:"3"}),jsx("circle",{cx:"7",cy:"7",r:"3"})]})}function Ze({className:e,...t}){return jsx(Command,{"data-slot":"command",className:o("flex h-full w-full flex-col overflow-hidden rounded-2xl bg-bg-white",e),...t})}function et({className:e,...t}){return jsxs("div",{"data-slot":"command-input-wrapper",className:o("flex h-36 items-center gap-8 border-b border-stroke-soft px-12",e),children:[jsx(T,{className:"size-16 shrink-0 opacity-50"}),jsx(Command.Input,{"data-slot":"command-input",className:o("flex h-40 w-full rounded-2xl border-none bg-transparent py-12 text-label-sm outline-none disabled:cursor-not-allowed disabled:opacity-50"),...t})]})}function tt({className:e,...t}){return jsx(Command.List,{"data-slot":"command-list",className:o("max-h-300 scroll-py-4 overflow-x-hidden overflow-y-auto outline-0",e),...t})}function ot({...e}){return jsx(Command.Empty,{"data-slot":"command-empty",className:"py-24 text-center text-paragraph-sm",...e})}function rt({className:e,...t}){return jsx(Command.Group,{"data-slot":"command-group",className:o("overflow-hidden p-4 text-text-sub **:[[cmdk-group-heading]]:px-8 **:[[cmdk-group-heading]]:py-6 **:[[cmdk-group-heading]]:text-label-xs **:[[cmdk-group-heading]]:text-text-soft",e),...t})}function at({className:e,...t}){return jsx(Command.Separator,{"data-slot":"command-separator",className:o("-mx-4 h-px bg-bg-soft",e),...t})}function nt({className:e,...t}){return jsx(Command.Item,{"data-slot":"command-item",className:o("relative flex items-center gap-8 rounded-lg px-8 py-6 outline-0 select-none","data-[disabled=true]:pointer-events-none data-[disabled=true]:opacity-50","data-[selected=true]:bg-bg-weak data-[selected=true]:text-text-strong","text-label-sm [&_svg]:pointer-events-none [&_svg]:shrink-0",e),...t})}function st({className:e,...t}){return jsx("span",{"data-slot":"command-shortcut",className:o("ml-auto tracking-widest text-text-soft",e),...t})}function G({stroke:e="2",className:t}){return jsx("svg",{className:t,width:"24",height:"24",stroke:"currentColor",viewBox:"0 0 24 24",strokeWidth:e,fill:"none",strokeLinecap:"round",strokeLinejoin:"round",xmlns:"http://www.w3.org/2000/svg",children:jsxs("g",{children:[jsxs("circle",{cx:"12",cy:"12",r:"9.5",children:[jsx("animate",{attributeName:"stroke-dasharray",dur:"1.5s",calcMode:"spline",values:"0 150;42 150;42 150;42 150",keyTimes:"0;0.475;0.95;1",keySplines:"0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1",repeatCount:"indefinite"}),jsx("animate",{attributeName:"stroke-dashoffset",dur:"1.5s",calcMode:"spline",values:"0;-16;-59;-59",keyTimes:"0;0.475;0.95;1",keySplines:"0.42,0,0.58,1;0.42,0,0.58,1;0.42,0,0.58,1",repeatCount:"indefinite"})]}),jsx("animateTransform",{attributeName:"transform",type:"rotate",dur:"2s",values:"0 12 12;360 12 12",repeatCount:"indefinite"})]})})}function $(){return y.useCallback(t=>(t.preventDefault(),false),[])}var pt=m({base:["relative inline-flex items-center justify-center bg-transparent whitespace-nowrap outline-0 select-none","transition duration-200 ease-out","active:scale-[0.98]","focus-visible:ring-2 focus-visible:ring-primary-base focus-visible:ring-offset-1","disabled:pointer-events-none disabled:opacity-50 disabled:ring-transparent data-disabled:pointer-events-none data-disabled:opacity-50 data-disabled:ring-transparent"]}),X=m({slots:{root:[pt(),"group border border-transparent"],icon:"flex shrink-0 items-center justify-center",overlay:"absolute inset-0 flex items-center justify-center"},variants:{variant:{primary:{},neutral:{},error:{}},mode:{filled:{},stroke:{},lighter:{},ghost:{}},loading:{true:{root:"pointer-events-none cursor-not-allowed"}},size:{large:{root:"h-40 gap-6 rounded-2xl px-14 text-label-lg",overlay:"rounded-2xl",icon:"size-18"},medium:{root:"h-36 gap-6 rounded-[8px] px-12 text-label-md",overlay:"rounded-[8px]",icon:"size-18"},small:{root:"h-32 gap-4 rounded-[6px] px-8 text-label-sm",overlay:"rounded-[6px]",icon:"size-14"},xsmall:{root:"h-28 gap-3 rounded-[6px] px-8 text-label-xs",overlay:"rounded-[6px]",icon:"size-14"}}},compoundVariants:[{variant:"primary",mode:"filled",class:{root:["bg-primary-base text-static-white","hover:bg-primary-darker","active:bg-primary-darker"],overlay:"text-static-white"}},{variant:"primary",mode:"stroke",class:{root:["border-primary-base","bg-bg-white text-primary-base","hover:bg-primary-alpha-10 hover:ring-transparent","active:bg-primary-alpha-10 active:ring-transparent"],overlay:"text-primary-base"}},{variant:"primary",mode:"lighter",class:{root:["bg-primary-alpha-10 text-primary-base","hover:border-primary-alpha-16","active:border-primary-alpha-16"],overlay:"text-primary-base"}},{variant:"primary",mode:"ghost",class:{root:["bg-transparent text-primary-base ring-transparent","hover:bg-primary-alpha-10","active:bg-primary-alpha-10"],overlay:"text-primary-base"}},{variant:"neutral",mode:"filled",class:{root:["bg-bg-strong text-text-white","hover:bg-bg-surface","active:bg-bg-surface"],overlay:"text-text-white"}},{variant:"neutral",mode:"stroke",class:{root:["border-stroke-soft bg-bg-white text-text-strong","hover:bg-bg-weak","active:bg-bg-weak","focus-visible:text-text-strong"],overlay:"text-text-strong"}},{variant:"neutral",mode:"lighter",class:{root:["bg-bg-weak text-text-strong","hover:border-stroke-soft","active:border-stroke-soft"],overlay:"text-text-strong"}},{variant:"neutral",mode:"ghost",class:{root:["bg-transparent text-text-strong ring-transparent","hover:bg-bg-weak","active:bg-bg-weak","focus-visible:bg-bg-white"],overlay:"text-text-strong"}},{variant:"error",mode:"filled",class:{root:["bg-error-base text-static-white","hover:bg-red-700","active:bg-red-700"],overlay:"text-static-white"}},{variant:"error",mode:"stroke",class:{root:["border-error-base bg-bg-white text-error-base","hover:bg-red-alpha-10","active:bg-red-alpha-10"],overlay:"text-error-base"}},{variant:"error",mode:"lighter",class:{root:["bg-red-alpha-10 text-error-base","hover:border-error-light","active:border-error-light"],overlay:"text-error-base"}},{variant:"error",mode:"ghost",class:{root:["bg-transparent text-error-base","hover:bg-red-alpha-10","active:bg-red-alpha-10"],overlay:"text-error-base"}}],defaultVariants:{variant:"primary",mode:"filled",size:"small"}}),mt=y.forwardRef((e,t)=>{let{children:r,variant:a,mode:s,size:p,startContent:i,endContent:n,asChild:c=false,className:f,loading:d=false,disabled:K,...Q}=e,Z=$(),ee=c?Slot.Root:"button",{root:te,icon:oe,overlay:re}=X({variant:a,mode:s,size:p,loading:d}),ae=!!i,ne=!!n,S=oe(),v="none";d&&(ae?v="startContent":ne?v="endContent":v="overlay");let k=jsx(G,{className:S}),w=(le,ce)=>jsx("span",{className:S,children:le},ce),se=()=>v==="startContent"?w(k,"startContent"):i?w(i,"startContent"):null,ie=()=>v==="endContent"?w(k,"endContent"):n?w(n,"endContent"):null,H=K||d;return jsxs(ee,{ref:t,onContextMenu:Z,className:te({className:f}),disabled:c?void 0:H,"data-state":d?"loading":"idle","data-disabled":H?"":void 0,...Q,children:[se(),jsx(Slot.Slottable,{children:r&&jsx("span",{className:o("inline-flex justify-center",v==="overlay"&&"text-transparent"),children:r})}),ie(),v==="overlay"&&jsx("span",{className:re(),children:k})]})});mt.displayName="ButtonRoot";var vt=["en-US","zh-CN"],j=y.createContext(null),Fo=({locale:e,defaultLocale:t,onLocaleChange:r,children:a})=>{let s=e!==void 0,[p,i]=y.useState(()=>e??t??q());y.useEffect(()=>{e!==void 0&&i(e);},[e]);let n=s?e:p,c=y.useCallback(d=>{if(!s){i(d),r?.(d);return}r?.(d);},[s,r]),f=y.useMemo(()=>({locale:n,setLocale:c}),[n,c]);return jsx(j.Provider,{value:f,children:a})},gt=e=>{};function Go(){let e=y.useContext(j);return e?[e.locale,e.setLocale]:[q(),gt]}function q(e="en-US"){if(typeof navigator>"u")return e;for(let t of navigator.languages??[]){let r=vt.find(a=>t.toLowerCase().startsWith(a.toLowerCase().split("-")[0]));if(r)return r}return e}function jo(e){let{as:t,size:r,className:a,...s}=e;if(y.isValidElement(t)){let n=t.props,c=n.className&&a?`${n.className} ${a}`:a??n.className,f=n.size??r,d={...n,...s,...f!==void 0?{size:f}:{},...c?{className:c}:{}};return y.cloneElement(t,d)}let p=t,i={...s,...r!==void 0?{size:r}:{},...a?{className:a}:{}};return jsx(p,{...i})}
2
+ export{Ke as A,Ze as B,et as C,tt as D,ot as E,rt as F,at as G,nt as H,it as I,G as J,pt as K,X as L,mt as M,jo as N,Fo as a,Go as b,bt as c,E as d,m as e,o as f,Pe as g,Re as h,ke as i,Le as j,Me as k,Te as l,Se as m,He as n,Ee as o,Ie as p,Ae as q,Ve as r,De as s,D as t,ze as u,_e as v,Fe as w,$e as x,Xe as y,je as z};