@jerry-fd/ui 0.3.2 → 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-F424M4O2.js';import'./chunk-IMIYHEIN.js';import'./chunk-WOT6VMZA.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
10
  import { SorterResult, GetRowKey } from 'antd/es/table/interface';
11
- import { B as Button } from './button-nn_s6In3.js';
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
  };
@@ -265,23 +265,23 @@ declare function useDataTableStateAdapter<TData extends BaseRecord = BaseRecord>
265
265
  }): {
266
266
  storageKey?: string;
267
267
  alwaysShowingColumns?: string[];
268
- title?: React.ReactNode;
269
- icon?: React.ReactNode;
270
- description?: React.ReactNode;
268
+ title?: React__default.ReactNode;
269
+ icon?: React__default.ReactNode;
270
+ description?: React__default.ReactNode;
271
271
  variant?: "default" | "accent";
272
- slots?: Record<"summary" | "footer", React.ReactNode>;
272
+ slots?: Record<"summary" | "footer", React__default.ReactNode>;
273
273
  classNames?: (Partial<Record<"root" | "cardHeader" | "cardHeading" | "cardIcon" | "cardToolbar" | "cardContent" | "cardSummary" | "cardFooter", string>> & antd_es_table_InternalTable.TableClassNamesType<TData>) | undefined;
274
274
  className?: string;
275
275
  toolbarItems?: ToolbarItemConfig<any>[];
276
- onFiltersChange: React.Dispatch<React.SetStateAction<FiltersState>>;
276
+ onFiltersChange: React__default.Dispatch<React__default.SetStateAction<FiltersState>>;
277
277
  animated?: boolean;
278
278
  size?: antd_es_button.ButtonSize;
279
- caption?: React.ReactNode;
279
+ caption?: React__default.ReactNode;
280
280
  footer?: _rc_component_table_lib_interface.PanelRender<TData> | undefined;
281
- style?: React.CSSProperties | undefined;
282
- summary?: ((data: readonly TData[]) => React.ReactNode) | undefined;
283
- children?: React.ReactNode;
284
- 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;
285
285
  scroll?: _rc_component_table.TableProps<RecordType>["scroll"] & {
286
286
  scrollToFirstRowOnChange?: boolean;
287
287
  };
@@ -316,14 +316,14 @@ declare function useDataTableStateAdapter<TData extends BaseRecord = BaseRecord>
316
316
  rowHoverable?: boolean | undefined;
317
317
  tailor?: boolean | undefined;
318
318
  getContainerWidth?: (ele: HTMLElement, width: number) => number;
319
- measureRowRender?: (measureRow: React.ReactNode) => React.ReactNode;
319
+ measureRowRender?: (measureRow: React__default.ReactNode) => React__default.ReactNode;
320
320
  dropdownPrefixCls?: string | undefined;
321
321
  dataSource?: readonly TData[] | undefined;
322
322
  rowSelection?: antd_es_table_interface.TableRowSelection<TData> | undefined;
323
323
  sortDirections?: antd_es_table_interface.SortOrder[] | undefined;
324
324
  showSorterTooltip?: (boolean | antd_es_table_interface.SorterTooltipProps) | undefined;
325
325
  virtual?: boolean | undefined;
326
- label: React.ReactNode;
326
+ label: React__default.ReactNode;
327
327
  value: string;
328
328
  id: string;
329
329
  loading: boolean | undefined;
@@ -338,27 +338,27 @@ declare function useDataTableStateAdapter<TData extends BaseRecord = BaseRecord>
338
338
  declare function useTabsDataTableState<TData extends BaseRecord = BaseRecord>({ fireOnMount: globalFireOnMount, active, defaultActive, tabList, onTabChange, onTableChange, onToolbarAction, }: UseTabsDataTableStateProps<TData>): {
339
339
  storageKey?: string;
340
340
  alwaysShowingColumns?: string[];
341
- title?: React.ReactNode;
342
- icon?: React.ReactNode;
343
- description?: React.ReactNode;
341
+ title?: React__default.ReactNode;
342
+ icon?: React__default.ReactNode;
343
+ description?: React__default.ReactNode;
344
344
  variant?: "default" | "accent";
345
- slots?: Record<"summary" | "footer", React.ReactNode>;
345
+ slots?: Record<"summary" | "footer", React__default.ReactNode>;
346
346
  classNames?: (Partial<Record<"root" | "cardHeader" | "cardHeading" | "cardIcon" | "cardToolbar" | "cardContent" | "cardSummary" | "cardFooter", string>> & antd_es_table_InternalTable.TableClassNamesType<TData>) | undefined;
347
347
  columns: DataTableColumnType<TData>[];
348
348
  className?: string;
349
349
  toolbarItems?: ToolbarItemConfig<any>[];
350
- onFiltersChange: React.Dispatch<React.SetStateAction<FiltersState>>;
350
+ onFiltersChange: React__default.Dispatch<React__default.SetStateAction<FiltersState>>;
351
351
  animated?: boolean;
352
352
  activeTab: string;
353
353
  tabList: TabItem<TData>[];
354
354
  onTabChange: (value: string) => void;
355
355
  size?: antd_es_button.ButtonSize;
356
- caption?: React.ReactNode;
356
+ caption?: React__default.ReactNode;
357
357
  footer?: _rc_component_table_lib_interface.PanelRender<TData> | undefined;
358
- style?: React.CSSProperties | undefined;
359
- summary?: ((data: readonly TData[]) => React.ReactNode) | undefined;
360
- children?: React.ReactNode;
361
- 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;
362
362
  scroll?: (_rc_component_table.TableProps<RecordType>["scroll"] & {
363
363
  scrollToFirstRowOnChange?: boolean;
364
364
  }) | undefined;
@@ -393,14 +393,14 @@ declare function useTabsDataTableState<TData extends BaseRecord = BaseRecord>({
393
393
  rowHoverable?: boolean | undefined;
394
394
  tailor?: boolean | undefined;
395
395
  getContainerWidth?: ((ele: HTMLElement, width: number) => number) | undefined;
396
- measureRowRender?: ((measureRow: React.ReactNode) => React.ReactNode) | undefined;
396
+ measureRowRender?: ((measureRow: React__default.ReactNode) => React__default.ReactNode) | undefined;
397
397
  dropdownPrefixCls?: string | undefined;
398
398
  dataSource?: readonly TData[] | undefined;
399
399
  rowSelection?: antd_es_table_interface.TableRowSelection<TData> | undefined;
400
400
  sortDirections?: antd_es_table_interface.SortOrder[] | undefined;
401
401
  showSorterTooltip?: (boolean | antd_es_table_interface.SorterTooltipProps) | undefined;
402
402
  virtual?: boolean | undefined;
403
- label: React.ReactNode;
403
+ label: React__default.ReactNode;
404
404
  value: string;
405
405
  id: string;
406
406
  loading: boolean | undefined;
@@ -1,2 +1,2 @@
1
- import {b as b$1}from'./chunk-BATK4HJE.js';import {d,g,e as e$1,f as f$1,a,b,c}from'./chunk-F424M4O2.js';import {e,f,g as g$1,h,l,o,n,p,m,j,i,k,t,A,B,C,E,D,F,H}from'./chunk-IMIYHEIN.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 {Tabs}from'radix-ui';import {ArrowDownToLine,RefreshCw}from'lucide-react';var Yt={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 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]={...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 r=n.current;r&&!r.getState().activeTabId&&r.getState().setActiveTab(o);},[o]);let i=y.useMemo(()=>({alwaysShowingColumns:e??Ie}),[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 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})}var ke={small:"min-h-22",middle:"min-h-30",large:"min-h-38"};function oe({count:t,size:o="small",pagination:e,classNames:a,columns:n}){let i=y.useCallback(()=>Fe(n,ke[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,children:n.map((r,l)=>jsx(Table.Column,{dataIndex:r.dataIndex,width:r.width,title:jsx(R,{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 Fe(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 u=r?.key??l;return jsx("div",{style:{width:n},children:Be(r.skeleton,i)},u)})})}function Be(t,o){switch(t){case "avatar":return jsx(Oe,{});case "double-line":return jsx(_e,{});case "group":return jsx(Me,{needAlignment:o});default:return jsx(Ve,{needAlignment:o})}}function Ve({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 _e(){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 Me({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 Ke=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"}}),Le=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(Ke({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(Le({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(),[i,r]=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:i,onOpenChange:r,children:jsxs(t,{mode:"stroke",variant:"neutral",size:"small",className:f("gap-0",o,i&&"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 We(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,i]=y.useState(false),{columnVisibility:r}=dt(),l=M(s=>s.setColumnVisibilityState),u=y.useCallback((s,d)=>{l(m=>({...m,[s]:d}));},[l]);return jsxs(a,{open:n,onOpenChange:i,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=We(s),m=r[d]!==false;return jsxs(H,{keywords:[s.title,s.dataIndex],onSelect:()=>u(d,!m),className:"group flex items-center gap-6",value:d,disabled:a$1?.includes(d),children:[jsx(Checkbox,{checked:m,tabIndex:-1,className:f("mr-4 opacity-100")}),jsx("span",{children:s.title})]},d)})})})]})})]})}function Je(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 Qe({btnProps:t$1,tooltip:o,disabled:e,loading:a,onAction:n}){let i=d(),r=o??i("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:r,mouseEnterDelay:1,children:jsx("div",{className:"absolute inset-0"})})})}function Ze(){let t=te()??"small",o=M(e=>e.setTableSize);return jsx(pe,{value:t,onChange:o})}function ta({columns:t}){return jsx(me,{columns:t})}function ea({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 aa={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}},oa={ease:[.26,.08,.25,1],duration:.25};function be({items:t,columns:o,disabled:e,loading:a,exporting:n,filter:i,onAction:r,className:l}){let u=y.useMemo(()=>t.map(c=>Je(c)),[t]),s=y.useMemo(()=>u.filter(c=>!c.hidden),[u]),d=y.useCallback(c=>{r?.(c);},[r]),m=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(Qe,{...P});case "size_setting":return jsx(Ze,{});case "column_setting":return jsx(ta,{columns:o});case "data_export":return jsx(ea,{...P,loading:n});case "custom":return c.render?.(m);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(c=>jsx(m$1.div,{layout:true,variants:aa,initial:"initial",animate:"animate",exit:"exit",transition:oa,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,i=Array.isArray(a)?a.join("."):a,r=e.displayName??(typeof n=="string"?n:i);return {...e,columnId:i,displayName:r}})}function Te(t){return t.map(({filter:o,...e})=>e)}function ia(t){return t.key?String(t.key):Array.isArray(t.dataIndex)?t.dataIndex.join("."):String(t.dataIndex)}var sa={pagination:{root:"m-0 py-16 px-8 [&_.ant-pagination-total-text]:mr-auto"}},la={hideOnSinglePage:false,showSizeChanger:true,pageSizeOptions:[10,20,30,50]},da={initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0}},ca={initial:{opacity:0,y:24},animate:{opacity:1,y:0},exit:{opacity:0,y:-24}},pa={ease:[.26,.08,.25,1],duration:.3};function ua({id:t,title:o$1,icon:e,description:a,variant:n$1,classNames:i$1,slots:r,columns:l$1,filters:u,defaultFilters:s,loading:d$1,exporting:m$2,disabled:D,animated:c=true,pagination:P,style:V,toolbarItems:Y,activeTab:O,tabList:I,onTabChange:w,onFiltersChange:ot,onToolbarAction:nt,...q}){let J=d(),g$2=M(k=>k.setActiveTab),S=M(k=>k.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(k=>k.hidden!==true),[l$1]),v=y.useMemo(()=>fe(z),[z]),Q=y.useMemo(()=>Te(z),[z]),[K,Z]=g({filters:u,defaultFilters:s,onFiltersChange:ot}),E=y.useMemo(()=>Q.filter(k=>{let De=ia(k);return rt[De]!==false}),[Q,rt]),U=y.useCallback(k=>J("pagination_total").replace("{total}",String(k)),[J]),j$1=y.useMemo(()=>({showTotal:U,disabled:d$1||D,size:h$1==="large"?"middle":h$1,...la,...P}),[U,d$1,D,h$1,P]),it={...sa,header:{cell:q?.bordered?"":f("border-t border-stroke-antd first:border-l last:border-r")}},st=I&&Array.isArray(I),ut=Math.min(j$1.pageSize??j$1.defaultPageSize??10,15),T=!!(d$1&&E.some(k=>k.skeleton)),F=v.length!==0,x=K&&K.length!==0,A=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:j$1}):jsx(Table,{id:`${t}-data-table`,columns:E,className:"bg-bg-white",classNames:it,pagination:j$1,size:h$1,loading:d$1,...q}),mt=n$1==="accent";return jsx(ConfigProvider,{theme:Yt,children:jsxs(g$1,{style:V,className:f("rounded-2xl",i$1?.root),variant:n$1,children:[jsxs(h,{className:f("px-14 pt-12 pb-10",mt&&"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)&&"size-44 [&_svg]:size-24",i$1?.cardIcon),children:e}),o$1&&jsxs("div",{className:f(a&&"flex flex-col gap-4"),children:[jsx(n,{children:o$1}),a&&jsx(p,{children:a})]})]}),jsx(m,{className:i$1?.cardToolbar,children:jsx(be,{onAction:nt,items:Y??St,loading:d$1,disabled:D,exporting:m$2,filter:F&&jsx(f$1,{columns:v,filters:K,actions:Z,align:"end",enableAutoBack:true},`${t}-filter`),columns:z})})]}),r?.summary&&jsx(j,{className:f("p-16",i$1?.cardSummary),children:r?.footer}),st&&jsx(j,{className:"p-0",children:jsx(de,{value:O,options:I,onValueChange:w})}),jsx(i,{className:f("overflow-hidden p-12 pt-16 pb-8",i$1?.cardContent),children:c?jsx(AnimatePresence,{mode:"popLayout",initial:false,children:jsxs(m$1.div,{variants:ca,initial:"initial",animate:"animate",exit:"exit",custom:x,transition:pa,children:[jsx(AnimatePresence,{initial:false,children:x&&jsxs(m$1.div,{variants:da,initial:"initial",animate:"animate",exit:"exit",children:[A,jsx("div",{className:"h-14"})]},S)}),L]},S)}):jsxs(Fragment,{children:[x&&jsx("div",{className:"mb-16",children:A}),L]})}),r?.footer&&jsx(k,{className:f("p-16",i$1?.cardFooter),children:r?.footer})]})})}function ma({id:t,storageKey:o,alwaysShowingColumns:e,...a}){return jsx(Qt,{storageKey:o??"UI_TABLE_CONFIG",initialTabId:t,alwaysShowingColumns:e,children:jsx(ua,{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 fa(t){return t!==null&&typeof t=="object"&&"$d"in t&&typeof t.format=="function"}function vt(t,o){return t==null?null:fa(t)?t.format(o):typeof t=="string"||typeof t=="number"||typeof t=="boolean"?t:String(t)}function Ta(t,o={}){let e={...Ct,...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 u={};for(let s of n){let d=Dt(s.columnId,e.fieldMapping);u[d]=s.values.map(m=>vt(m,e.dateFormat));}return Object.keys(u).length>0&&(r[e.filtersKey]=u),r}function at(t,o={}){let e={...Ct,...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 u of n){let s=Dt(u.columnId,e.fieldMapping),d=u.values.map(m=>vt(m,e.dateFormat));r[s]=d.length===1?d[0]:d;}return r}function Se(t,o={}){let e={...Ct,...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 u of n){let s=Dt(u.columnId,e.fieldMapping),d=u.values.map(m=>vt(m,e.dateFormat));r.set(s,d.join(","));}return r.toString()}function ga(t,o={}){let e=Se(t,o);return new URLSearchParams(e)}var ya=[],Sa={current:1,pageSize:10};function Ce(){return {filters:ya,pagination:Sa,sorter:{}}}function Ca(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:i,onToolbarAction:r}){let[l,u]=y.useState(()=>e??a[0]?.value??""),s=o??l,[d,m]=y.useState(()=>Ca(a)),D=y.useMemo(()=>a.find(T=>T.value===s)??a[0],[s,a]),{id:c,fireOnMount:P=t,loading:V,exporting:Y,disabled:O,serializeOptions:I={},serializeFn:w=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(i),K=y.useRef(r),Z=y.useRef(S),E=y.useRef(h);Q.current=i,K.current=r,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 j=y.useCallback(T=>{u(T),n?.(T);},[n]),it=y.useCallback(T=>{m(F=>{let x=new Map(F),A=x.get(s)??z,L=typeof T=="function"?T(A.filters):T;return x.set(s,{...A,filters:L,pagination:{...A.pagination,current:1}}),x});},[s,z]),st=y.useCallback((T,F,x)=>{m(A=>{let L=new Map(A),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=w(F,I),A={action:T.action,payload:x};E.current?.(A),K.current?.(c,A);return}E.current?.(T),K.current?.(c,T);},[c,v,w,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=w(F,I);Z.current?.(x,F),Q.current?.(c,x,F);},[s,c,v,w,I]),{activeTab:s,tabList:a,onTabChange:j,id:c,loading:V,exporting:Y,disabled:O||Y,filters:v.filters,pagination:v.pagination,onFiltersChange:it,onChange:st,onToolbarAction:ut,...rt}}var Da=[],va={},xa={current:1,pageSize:10};function ha({id:t,fireOnMount:o=true,defaultFilters:e=Da,defaultPagination:a=xa,defaultSorter:n=va,serializeOptions:i={},loading:r,exporting:l,disabled:u,serializeFn:s=at,onChange:d,onToolbarAction:m}={}){let D=y.useRef(!o),c=y.useRef(d),P=y.useRef(m);c.current=d,P.current=m;let[V,Y]=y.useState(e),[O,I]=y.useState(a),[w,ot]=y.useState(n),nt=y.useCallback(g=>{Y(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:O,filters:V,sorter:w},i);P.current?.({action:g.action,payload:h});return}P.current?.(g);},[V,O,s,i,w]);return y.useEffect(()=>{if(D.current){D.current=false;return}let g={pagination:O,filters:V,sorter:w},S=s(g,i);c.current?.(S,g);},[O,V,w,s,i]),{id:t,loading:r,exporting:l,disabled:u||l,filters:V,pagination:O,onFiltersChange:nt,onChange:q,onToolbarAction:J}}function Ra(t={}){let{id:o="default",onChange:e,onToolbarAction:a,...n}=t,i=xt({fireOnMount:t.fireOnMount,tabList:[{id:o,value:o,label:"",columns:[],...n}],onTableChange:e?(m,D,c)=>e(D,c):void 0,onToolbarAction:a?(m,D)=>a(D):void 0}),{activeTab:r,tabList:l,columns:u,onTabChange:s,...d}=i;return d}
2
- export{St as DEFAULT_TOOLBAR_ITEMS,ma as DataTable,Ta as serializeForPost,at as serializeForPostFlat,Se as serializeForURL,ga as serializeToURLSearchParams,ha as useDataTableState,Ra 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};