@jerry-fd/ui 0.3.9 → 0.4.1

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,8 +1,10 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import { D as DataFilterProps } from './types-P1L_aHdl.js';
3
- export { F as FilterColumnDef, a as FilterColumnOption, b as FiltersState } from './types-P1L_aHdl.js';
2
+ import { D as DataFilterProps, a as DatePickerConfig } from './types-DAZ2BTzl.js';
3
+ export { C as CascaderConfig, b as CascaderFieldNames, c as CascaderOption, F as FilterColumnDef, d as FilterColumnOption, e as FiltersState, f as InputNumberConfig, R as RangeDatePickerConfig, S as SingleDatePickerConfig } from './types-DAZ2BTzl.js';
4
+ import { Dayjs } from 'dayjs';
4
5
  import 'react';
5
- import 'dayjs';
6
+ import 'antd';
7
+ import 'antd/es/date-picker';
6
8
 
7
9
  declare function DataFilter<TData>({ disabled, columns, filters, defaultFilters, className, onFiltersChange, }: DataFilterProps<TData>): react_jsx_runtime.JSX.Element;
8
10
 
@@ -15,7 +17,7 @@ var min = "Min";
15
17
  var max = "Max";
16
18
  var apply = "Apply Filter";
17
19
  var clear = "Clear Filter";
18
- var clear_all = "Clear All";
20
+ var clear_all = "Clear";
19
21
  var pagination_total = "Total {total} items";
20
22
  var refresh = "Refresh";
21
23
  var column_set = "Table Settings";
@@ -48,4 +50,26 @@ var enUS = {
48
50
  type LocaleKey = keyof typeof enUS;
49
51
  declare function useTransition(): (key: LocaleKey) => string;
50
52
 
51
- export { DataFilter, useTransition };
53
+ type PickerType = 'date' | 'week' | 'month' | 'quarter' | 'year';
54
+ interface DateDisplayFormat {
55
+ full: string;
56
+ withoutYear: string;
57
+ timeFormat: string | null;
58
+ }
59
+ declare const DATE_FORMATS: Record<PickerType, {
60
+ cn: {
61
+ full: string;
62
+ withoutYear: string;
63
+ };
64
+ en: {
65
+ full: string;
66
+ withoutYear: string;
67
+ };
68
+ }>;
69
+ declare function getDateDisplayFormat(config: DatePickerConfig | undefined, locale: string): DateDisplayFormat;
70
+ declare function formatDateRange(start: Dayjs, end: Dayjs, isCn: boolean, format: DateDisplayFormat, picker: PickerType): string;
71
+ declare function getPickerInputFormat(picker: PickerType | undefined, locale: string, showTime?: boolean | {
72
+ format: string;
73
+ }): string;
74
+
75
+ export { DATE_FORMATS, DataFilter, type DateDisplayFormat, DatePickerConfig, type PickerType, formatDateRange, getDateDisplayFormat, getPickerInputFormat, useTransition };
@@ -1 +1 @@
1
- export{f as DataFilter,b as useTransition}from'./chunk-M2VWZ5UW.js';import'./chunk-ZLJEIJBZ.js';import'./chunk-WOT6VMZA.js';
1
+ export{c as DATE_FORMATS,j as DataFilter,e as formatDateRange,d as getDateDisplayFormat,f as getPickerInputFormat,b as useTransition}from'./chunk-XJJ4IFDJ.js';import'./chunk-MX44Q3PS.js';import'./chunk-WOT6VMZA.js';
@@ -1,7 +1,7 @@
1
- import { b as FiltersState } from './types-P1L_aHdl.js';
1
+ import { e as FiltersState } from './types-DAZ2BTzl.js';
2
2
  import * as react_jsx_runtime from 'react/jsx-runtime';
3
- import { c as BaseRecord, D as DataTableProps, U as UseDataTableStateOptions, P as PaginationConfig, T as ToolbarAction, d as ToolbarItemConfig, e as UseTabsDataTableStateProps, f as DataTableColumnType, g as TabItem } from './types-CVWVU_-G.js';
4
- export { h as DEFAULT_TOOLBAR_ITEMS, i as DataTableFilterConfig, S as SerializeOptions, j as SorterState, k as TableChangeHandler, l as TableChangeState, m as TabsTableChangeHandler, s as serializeForPost, n as serializeForPostFlat, o as serializeForURL, p as serializeToURLSearchParams } from './types-CVWVU_-G.js';
3
+ import { c as BaseRecord, D as DataTableProps, U as UseDataTableStateOptions, P as PaginationConfig, T as ToolbarAction, d as ToolbarItemConfig, e as UseTabsDataTableStateProps, f as DataTableColumnType, g as TabItem } from './types-CZ8uPxyG.js';
4
+ export { h as DEFAULT_TOOLBAR_ITEMS, i as DataTableFilterConfig, S as SerializeOptions, j as SorterState, k as TableChangeHandler, l as TableChangeState, m as TabsTableChangeHandler, s as serializeForPost, n as serializeForPostFlat, o as serializeForURL, p as serializeToURLSearchParams } from './types-CZ8uPxyG.js';
5
5
  import * as _rc_component_table from '@rc-component/table';
6
6
  import * as _rc_component_table_lib_interface from '@rc-component/table/lib/interface';
7
7
  import * as antd_es_button from 'antd/es/button';
@@ -10,6 +10,7 @@ import * as antd_es_table_interface from 'antd/es/table/interface';
10
10
  import { SorterResult, TableCurrentDataSource, GetRowKey } from 'antd/es/table/interface';
11
11
  import * as antd from 'antd';
12
12
  import React__default from 'react';
13
+ import 'antd/es/date-picker';
13
14
  import 'dayjs';
14
15
  import 'antd/es/table';
15
16
  import 'tailwind-variants';
@@ -60,21 +61,21 @@ declare function useDataTableStateAdapter<TData extends BaseRecord = BaseRecord>
60
61
  scroll?: _rc_component_table.TableProps<RecordType>["scroll"] & {
61
62
  scrollToFirstRowOnChange?: boolean;
62
63
  };
63
- direction?: _rc_component_table_lib_interface.Direction | undefined;
64
- sticky?: (boolean | _rc_component_table_lib_interface.TableSticky) | undefined;
65
64
  locale?: antd_es_table_interface.TableLocale | undefined;
66
65
  styles?: antd_es_table_InternalTable.TableStylesType<TData> | undefined;
66
+ direction?: _rc_component_table_lib_interface.Direction | undefined;
67
67
  prefixCls?: string | undefined;
68
68
  rootClassName?: string | undefined;
69
69
  getPopupContainer?: antd_es_table_interface.GetPopupContainer | undefined;
70
70
  components?: _rc_component_table_lib_interface.TableComponents<TData> | undefined;
71
71
  bordered?: boolean | undefined;
72
+ sticky?: (boolean | _rc_component_table_lib_interface.TableSticky) | undefined;
73
+ expandIcon?: _rc_component_table_lib_interface.RenderExpandIcon<TData> | undefined;
72
74
  tableLayout?: _rc_component_table_lib_interface.TableLayout | undefined;
73
75
  expandedRowKeys?: _rc_component_table_lib_interface.Key[] | undefined;
74
76
  defaultExpandedRowKeys?: _rc_component_table_lib_interface.Key[] | undefined;
75
77
  expandedRowRender?: _rc_component_table_lib_interface.ExpandedRowRender<TData> | undefined;
76
78
  expandRowByClick?: boolean | undefined;
77
- expandIcon?: _rc_component_table_lib_interface.RenderExpandIcon<TData> | undefined;
78
79
  onExpand?: ((expanded: boolean, record: TData) => void) | undefined;
79
80
  onExpandedRowsChange?: (expandedKeys: _rc_component_table_lib_interface.Key[]) => void;
80
81
  defaultExpandAllRows?: boolean | undefined;
@@ -139,21 +140,21 @@ declare function useTabsDataTableState<TData extends BaseRecord = BaseRecord>({
139
140
  scroll?: (_rc_component_table.TableProps<RecordType>["scroll"] & {
140
141
  scrollToFirstRowOnChange?: boolean;
141
142
  }) | undefined;
142
- direction?: _rc_component_table_lib_interface.Direction | undefined;
143
- sticky?: (boolean | _rc_component_table_lib_interface.TableSticky) | undefined;
144
143
  locale?: antd_es_table_interface.TableLocale | undefined;
145
144
  styles?: antd_es_table_InternalTable.TableStylesType<TData> | undefined;
145
+ direction?: _rc_component_table_lib_interface.Direction | undefined;
146
146
  prefixCls?: string | undefined;
147
147
  rootClassName?: string | undefined;
148
148
  getPopupContainer?: antd_es_table_interface.GetPopupContainer | undefined;
149
149
  components?: _rc_component_table_lib_interface.TableComponents<TData> | undefined;
150
150
  bordered?: boolean | undefined;
151
+ sticky?: (boolean | _rc_component_table_lib_interface.TableSticky) | undefined;
152
+ expandIcon?: _rc_component_table_lib_interface.RenderExpandIcon<TData> | undefined;
151
153
  tableLayout?: _rc_component_table_lib_interface.TableLayout | undefined;
152
154
  expandedRowKeys?: _rc_component_table_lib_interface.Key[] | undefined;
153
155
  defaultExpandedRowKeys?: _rc_component_table_lib_interface.Key[] | undefined;
154
156
  expandedRowRender?: _rc_component_table_lib_interface.ExpandedRowRender<TData> | undefined;
155
157
  expandRowByClick?: boolean | undefined;
156
- expandIcon?: _rc_component_table_lib_interface.RenderExpandIcon<TData> | undefined;
157
158
  onExpand?: ((expanded: boolean, record: TData) => void) | undefined;
158
159
  onExpandedRowsChange?: ((expandedKeys: _rc_component_table_lib_interface.Key[]) => void) | undefined;
159
160
  defaultExpandAllRows?: boolean | undefined;
@@ -1,2 +1,2 @@
1
- import {b,c as c$1,i as i$1,e as e$1,f as f$1,g as g$1,k as k$1}from'./chunk-IFQYYBK3.js';import {a,b as b$1,e,c,d}from'./chunk-M2VWZ5UW.js';import {g,h,l,o,f,n,p,m,j,i,k,M,r,s,A,t,B,C as C$1,E,D,F,H}from'./chunk-ZLJEIJBZ.js';import'./chunk-WOT6VMZA.js';import {Card,Table,ConfigProvider,Pagination,Tooltip,Checkbox}from'antd';import C from'react';import {createStore,useStore}from'zustand';import {persist}from'zustand/middleware';import {immer}from'zustand/middleware/immer';import {useShallow}from'zustand/react/shallow';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {AnimatePresence,m as m$1}from'motion/react';import {ArrowDownToLine,RefreshCw}from'lucide-react';var ht={tableSize:"middle",columnVisibility:{}},qe={tabStates:{},activeTabId:"",loading:false,exporting:false},st=(t,r)=>{t.tabStates[r]||(t.tabStates[r]={...ht});},be=t=>t.tabStates[t.activeTabId]??ht,Xe=(t,r)=>({...qe,activeTabId:r??"",setActiveTab:e=>t(a=>{a.activeTabId=e,st(a,e);}),setTableSize:e=>t(a=>{let o=a.activeTabId;st(a,o),a.tabStates[o].tableSize=e;}),setColumnVisibility:(e,a)=>t(o=>{let i=o.activeTabId;st(o,i),o.tabStates[i].columnVisibility[e]=a;}),setColumnVisibilityState:e=>t(a=>{let o=a.activeTabId;st(a,o);let i=a.tabStates[o].columnVisibility;a.tabStates[o].columnVisibility=typeof e=="function"?e(i):e;}),toggleColumnVisibility:e=>t(a=>{let o=a.activeTabId;st(a,o);let i=a.tabStates[o].columnVisibility[e];a.tabStates[o].columnVisibility[e]=!i;}),setLoading:e=>t({loading:e}),setExporting:e=>t({exporting:e}),resetCurrentTabState:()=>t(e=>{let a=e.activeTabId;e.tabStates[a]={...ht};})}),Ze=(t,r)=>createStore()(persist(immer(e=>Xe(e,r)),{name:t,partialize:e=>({tabStates:e.tabStates})})),xt=C.createContext(null),Je=["id","action","actions"],Te=C.createContext({});function fe({storageKey:t,initialTabId:r,alwaysShowingColumns:e,children:a$1}){let o=C.useRef(null);o.current||(o.current=Ze(t,r)),C.useEffect(()=>{let n=o.current;n&&!n.getState().activeTabId&&n.getState().setActiveTab(r);},[r]);let i=C.useMemo(()=>({alwaysShowingColumns:e??Je}),[e]);return jsx(Te.Provider,{value:i,children:jsx(xt.Provider,{value:o.current,children:jsx(ConfigProvider,{theme:a,children:a$1})})})}function ge(){return C.useContext(Te)}function Y(t){let r=C.useContext(xt);if(!r)throw new Error("useDataTableStore must be used within DataTableProvider");return useStore(r,t)}function Tt(){let t=C.useContext(xt);if(!t)throw new Error("useCurrentTabUIState must be used within DataTableProvider");return useStore(t,useShallow(r=>be(r)))}function ye(){return Y(t=>be(t).tableSize)}var ta={small:"min-h-22",middle:"min-h-30",large:"min-h-38"};function De({count:t,size:r="small",classNames:e,columns:a,scroll:o}){let i=C.useCallback(()=>ea(a,ta[r]),[a,r]);return jsx(Table,{rowKey:"id",size:r,rowHoverable:false,classNames:e,dataSource:Array.from({length:t},(n,s)=>({id:s})),pagination:false,scroll:o,children:a.map((n,s)=>jsx(Table.Column,{dataIndex:n.dataIndex,width:n.width,title:jsx(i$1,{className:"h-22 w-full animate-none bg-bg-antd"}),render:i,onCell:()=>s===0?{colSpan:a.length}:{colSpan:0}},n.dataIndex))})}var Ce=16;function ea(t,r){let e=t.length,o=`calc((100% - ${Ce*(e-1)}px) / ${e})`,i=t.some(n=>n.skeleton==="avatar"||n.skeleton==="double-line");return jsx("div",{className:f("flex items-center",r),style:{gap:`${Ce}px`},children:t.map((n,s)=>{let c=n?.key??s;return jsx("div",{style:{width:o},children:aa(n.skeleton,i)},c)})})}function aa(t,r){switch(t){case "avatar":return jsx(ra,{});case "double-line":return jsx(na,{});case "group":return jsx(ia,{needAlignment:r});default:return jsx(oa,{needAlignment:r})}}function oa({needAlignment:t}){return jsxs("div",{className:"grid h-full gap-4",children:[t&&jsx("div",{className:"h-12 w-1"}),jsx(i$1,{className:"h-10"})]})}function ra(){return jsxs("div",{className:"flex w-full items-center gap-6",children:[jsx(i$1,{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(i$1,{className:"h-12 w-[60%]"}),jsx(i$1,{className:"h-10"})]})]})}function na(){return jsxs("div",{className:"grid h-full w-full gap-4 py-4",children:[jsx(i$1,{className:"h-12 w-[60%]"}),jsx(i$1,{className:"h-10"})]})}function ia({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(i$1,{className:"h-10 w-[20%]"}),jsx(i$1,{className:"h-10 w-[20%]"}),jsx(i$1,{className:"h-10 w-[20%]"}),jsx(i$1,{className:"h-10 w-[20%]"}),jsx(i$1,{className:"h-10 w-[20%]"})]})]})}function he({className:t,options:r,...e}){return jsx(e$1,{className:f("w-full",t),...e,children:jsx(f$1,{variant:"line",size:"medium",className:"w-full px-12",children:r?.map(a=>jsx(g$1,{value:a.value,className:"py-8",children:a.label},a.id??a.value))})})}function Re({value:t,className:r,onChange:e,...a}){let o=b$1(),[i,n]=C.useState(false),s=C.useMemo(()=>[{groupType:"radio",value:t,options:[{label:o("large"),value:"large"},{label:o("middle"),value:"middle"},{label:o("compact"),value:"small"}],onValueChange:e}],[e,o,t]);return jsx(k$1,{side:"bottom",align:"end",collisionPadding:6,items:s,className:"min-w-100",open:i,onOpenChange:n,children:jsxs(M,{mode:"stroke",variant:"neutral",size:"small",className:f("gap-0",r,i&&"active"),...a,children:[jsx(Tooltip,{title:o("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 ft(t){return t.key?String(t.key):Array.isArray(t.dataIndex)?t.dataIndex.join("."):String(t.dataIndex)}function ca(t){return typeof t=="string"&&t.length>0}function ve(t){return [Array.isArray(t.dataIndex)?t.dataIndex.join(" "):typeof t.dataIndex=="string"?t.dataIndex:null,typeof t.title=="string"?t.title:null,t.key!==null?String(t.key):null].filter(ca)}function we({disabled:t$1,columns:r$1}){let e=b$1(),{alwaysShowingColumns:a}=ge(),[o,i]=C.useState(false),{columnVisibility:n}=Tt(),s$1=Y(l=>l.setColumnVisibilityState),c=C.useCallback((l,d)=>{s$1(u=>({...u,[l]:d}));},[s$1]);return jsxs(r,{open:o,onOpenChange:i,children:[jsx(s,{asChild:true,children:jsx(M,{mode:"stroke",variant:"neutral",size:"small",className:f(o&&"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$1,{autoFocus:true,placeholder:"Search..."}),jsx(E,{children:e("no_results")}),jsx(D,{className:"max-h-256",children:jsx(F,{children:r$1.map(l=>{let d=ft(l),u=n[d]!==false;return jsxs(H,{keywords:ve(l),onSelect:()=>c(d,!u),className:"group flex items-center gap-6",value:d,disabled:a?.includes(d),children:[jsx(Checkbox,{checked:u,tabIndex:-1,className:f("mr-4 opacity-100")}),jsx("span",{children:l.title})]},d)})})})]})})]})}function ga(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 ya({btnProps:t,tooltip:r,disabled:e,loading:a,syncing:o,onAction:i}){let n=b$1(),s=r??n("refresh");return jsx(M,{mode:"stroke",variant:"neutral",startContent:jsx(RefreshCw,{}),loading:o||a,disabled:e||a||o,className:"gap-0",onClick:()=>i({action:"data_refresh"}),...t,children:jsx(Tooltip,{title:s,mouseEnterDelay:1,children:jsx("div",{className:"absolute inset-0"})})})}function Sa(){let t=ye()??"small",r=Y(e=>e.setTableSize);return jsx(Re,{value:t,onChange:r})}function Ca({columns:t}){return jsx(we,{columns:t})}function Da({btnProps:t,disabled:r,loading:e,onAction:a}){let o=b$1();return jsx(M,{variant:"primary",startContent:jsx(ArrowDownToLine,{}),loading:e,disabled:r||e,onClick:()=>a({action:"data_export"}),...t,children:o("data_export")})}var ha={initial:{opacity:0,scale:.85,x:10,originX:1},animate:{opacity:1,scale:1,x:0,originX:1},exit:{opacity:0,scale:.85,x:10,originX:1}},xa={ease:[.26,.08,.25,1],duration:.25};function Ie({items:t,columns:r,disabled:e,loading:a,exporting:o,syncing:i,filter:n,onAction:s,className:c}){let l=C.useMemo(()=>t.map(p=>ga(p)),[t]),d=C.useMemo(()=>l.filter(p=>!p.hidden),[l]),u=C.useCallback(p=>{s?.(p);},[s]),E=C.useMemo(()=>({disabled:e,loading:a,exporting:o,columns:r,onAction:u}),[e,a,o,r,u]),S=p=>{let y={btnProps:p.btnProps,tooltip:p.tooltip,disabled:e,loading:a,onAction:u};switch(p.type){case "data_refresh":return jsx(ya,{...y,syncing:i});case "size_setting":return jsx(Sa,{});case "column_setting":return jsx(Ca,{columns:r});case "data_export":return jsx(Da,{...y,loading:o});case "custom":return p.render?.(E);case "filter_btn":return n;default:return null}};return jsx("div",{className:f("flex items-center gap-8",c),children:jsx(AnimatePresence,{mode:"popLayout",initial:false,children:d.map(p=>jsx(m$1.div,{layout:true,variants:ha,initial:"initial",animate:"animate",exit:"exit",transition:xa,children:S(p)},p.key))})})}var Pt=["data_refresh","size_setting","column_setting","filter_btn"];function Ae(t){return t.filter(r=>r.filter!==void 0).map(r=>{let{filter:e,dataIndex:a,title:o}=r,i=Array.isArray(a)?a.join("."):a,n=e.displayName??(typeof o=="string"?o:i);return {...e,columnId:i,displayName:n}})}function ze(t){return t.map(({filter:r,...e})=>e)}var Ra=31,va=44,Pa=250,wa=350,Ia={},wt=(t,r)=>{if(!t)return 0;let e=t.querySelectorAll(':scope [data-id^="data-table-card-"]'),a=0;return e.forEach(o=>{let i=o.getAttribute("data-id")==="data-table-card-content";a+=i?0:o.clientHeight;}),document.documentElement.clientHeight-r-window.scrollY-Ra-va-a-3};function Fe(t,r,{x:e="max-content",y:a,...o}=Ia){let[i,n]=C.useState(a),s=C.useRef(0),c=C.useRef(null);return C.useLayoutEffect(()=>(s.current=t.current?.offsetTop??0,c.current||(c.current=c$1(()=>{s.current=t.current?.offsetTop??0,n(wt(t.current,s.current));},Pa,false,true)),window.addEventListener("resize",c.current),()=>{c.current&&(window.removeEventListener("resize",c.current),c.current.cancel());}),[t]),C.useEffect(()=>{if(a!==void 0)return;n(wt(t.current,s.current));let l=setTimeout(()=>{n(wt(t.current,s.current));},wa);return ()=>{clearTimeout(l);}},[a,r,t]),{x:e,y:i,...o}}var Fa={pagination:{root:"m-0 py-16 px-8 [&_.ant-pagination-total-text]:mr-auto"},body:{cell:"px-12!"}},Na={root:"m-0 flex w-full [&_.ant-pagination-total-text]:ps-12 [&_.ant-pagination-total-text]:mr-auto"},ka={initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0}},Ba={initial:{opacity:0,y:24},animate:{opacity:1,y:0},exit:{opacity:0,y:-24}},_a={ease:[.26,.08,.25,1],duration:.3};function Oa({id:t,activeTabId:r,tabList:e$1,title:a,icon:o$1,description:i$1,variant:n$1,classNames:s,slots:c$1,columns:l$1,filters:d$1,defaultFilters:u,total:E,pagination:S,defaultPagination:p$1,loading:y,syncing:N,exporting:R,disabled:M,animated:B=true,style:U,toolbarItems:_,onTabChange:H,onChange:O,onFiltersChange:ut,onToolbarAction:pt,...g$1}){let I=b$1(),G=Y(w=>w.setActiveTab),ot=Y(w=>w.activeTabId),{tableSize:j$1,columnVisibility:h$1}=Tt();C.useEffect(()=>{t&&t!==ot&&G(t);},[t,ot,G]);let Z=C.useMemo(()=>l$1.filter(w=>w.hidden!==true),[l$1]),J=C.useMemo(()=>ze(Z),[Z]),Q=C.useMemo(()=>Ae(l$1),[l$1]),[V,W]=e({filters:d$1,defaultFilters:u,onFiltersChange:ut}),rt=C.useMemo(()=>J.filter(w=>h$1[ft(w)]!==false),[J,h$1]),L=C.useRef({pagination:{},filters:{},sorter:{},extra:{action:"paginate",currentDataSource:[]}}),[mt,yt]=C.useState(()=>({current:S?.current??p$1?.current??1,pageSize:S?.pageSize??p$1?.pageSize??10})),b=C.useCallback(w=>I("pagination_total").replace("{total}",String(w)),[I]),v=C.useCallback((w,St,nt,Ve)=>{let{pagination:Le,filters:Ke,sorter:Ue,extra:He}=L.current={...L.current,filters:St,sorter:nt,extra:Ve};O?.(Le,Ke,Ue,He);},[O]),P=C.useCallback((w,St)=>{let nt={current:w,pageSize:St};L.current={...L.current,pagination:nt},yt(nt),O?.(nt,L.current.filters,L.current.sorter,L.current.extra);},[O]),A=C.useMemo(()=>({disabled:y||M||N,size:j$1==="large"?"middle":j$1,...p$1,showTotal:b,onChange:P,onShowSizeChange:P,...S,...mt,total:E}),[y,N,M,j$1,b,S,P,p$1,mt,E]),q=C.useMemo(()=>({...Fa,header:{cell:g$1.bordered?"p-12":"px-12 py-10 border-t border-stroke-antd first:border-l last:border-r"}}),[g$1.bordered]),tt=e$1&&Array.isArray(e$1),bt=Math.min(A.pageSize??A.defaultPageSize??10,15),Oe=!!(y&&rt.some(w=>w.skeleton)),Ee=Q.length!==0,Bt=V&&V.length!==0,_t=C.useRef(null),Ot=Fe(_t,`${V?.length}-${r??t}`,g$1.scroll),Et=Oe?jsx(De,{id:`${t}-skeleton`,columns:rt,size:j$1,count:bt,classNames:q,scroll:Ot}):jsx(Table,{id:`${t}-data-table`,columns:rt,classNames:q,pagination:false,size:j$1,loading:y,showSorterTooltip:false,onChange:v,...g$1,scroll:Ot}),Me=n$1==="accent",Mt=jsx(c,{columns:Q,filters:V,actions:W,"data-id":"data-table-active-filters",className:"flex flex-wrap gap-6 px-12 pt-16",disabled:N||y,enableAutoClose:true});return jsxs(g,{ref:_t,className:f("relative h-full max-h-[calc(100vh-80px)] overflow-hidden rounded-2xl",s?.root),style:U,variant:n$1,children:[jsxs(h,{"data-id":"data-table-card-header",className:f("data-table-card-header grow-0 px-14 pt-12 pb-10",Me&&"pt-10",tt&&"border-b-0",s?.cardHeader),children:[jsxs(l,{className:f("flex items-center gap-12",s?.cardHeading),children:[o$1&&jsx(o,{className:f("size-34 border border-stone-200 bg-stone-100 text-text-sub",!!(a&&i$1)&&"size-44 [&_svg]:size-24",s?.cardIcon),children:o$1}),a&&jsxs("div",{className:f(i$1&&"flex flex-col gap-4"),children:[jsx(n,{children:a}),i$1&&jsx(p,{children:i$1})]})]}),jsx(m,{className:s?.cardToolbar,children:jsx(Ie,{onAction:pt,items:_??Pt,loading:y,syncing:N,disabled:M,exporting:R,filter:Ee&&jsx(d,{columns:Q,filters:V,actions:W,align:"end",enableAutoBack:true},`${t}-filter`),columns:Z})})]}),c$1?.cardSummary&&jsx(j,{"data-id":"data-table-card-summary",className:f("grow-0 p-16",s?.cardSummary),children:c$1.cardSummary}),tt&&jsx(j,{"data-id":"data-table-card-tabs",className:"grow-0 p-0",children:jsx(he,{value:r,options:e$1,onValueChange:H})}),jsx(AnimatePresence,{initial:false,children:Bt&&jsx(m$1.div,{"data-id":"data-table-card-filter-values",variants:ka,initial:"initial",animate:"animate",exit:"exit",children:jsx(j,{className:"p-0",children:Mt})},r)}),jsxs(i,{"data-id":"data-table-card-content",className:f("relative grow overflow-hidden px-12 py-16 pb-63",N&&"pointer-events-none",s?.cardContent),children:[c$1?.tableSummary&&jsx(j,{"data-id":"data-table-card-table-summary",className:f("grow-0 p-0 pb-16",s?.tableSummary),children:c$1.tableSummary}),B?jsx(AnimatePresence,{mode:"popLayout",initial:false,children:jsx(m$1.div,{variants:Ba,initial:"initial",animate:"animate",exit:"exit",transition:_a,children:Et},r)}):jsxs(Fragment,{children:[Bt&&jsx("div",{className:"mb-16",children:Mt}),Et]})]}),jsx(k,{"data-id":"data-table-card-pager",className:"flex min-h-64 w-full grow-0 items-center justify-between",children:jsx(Pagination,{classNames:Na,...A})}),c$1?.cardFooter&&jsx(k,{"data-id":"data-table-card-footer",className:f("grow-0 p-16",s?.cardFooter),children:c$1.cardFooter})]})}var Ea=import.meta.env?.VITE_MOCK_API_SSR??true;function Ma({storageKey:t,alwaysShowingColumns:r,...e}){let{tableStateStorageKey:a,pagination:o}=b(),i=t??a??"APP_UI_TABLE_CONFIG";if(Ea)return jsx(fe,{initialTabId:e.activeTabId??e.id,storageKey:i,alwaysShowingColumns:r,children:jsx(Oa,{defaultPagination:o,...e})});let{title:n,port:s,host:c,url:l,method:d,...u}=Va(e);return jsx(Card,{title:n,children:jsx(Table,{id:e.id,...u})})}function Va(t){let r=t.columns.map(({render:e,port:a,host:o,method:i,...n})=>({...n}));return {...t,columns:r}}var It={dateFormat:"YYYY-MM-DD",paginationKeys:{current:"current",pageSize:"pageSize"},sorterKeys:{field:"sortField",order:"sortOrder"},filtersKey:"filters",orderValues:{ascend:"asc",descend:"desc"},fieldMapping:{}};function At(t,r){return r[t]??t}function Ka(t){return t!==null&&typeof t=="object"&&"$d"in t&&typeof t.format=="function"}function zt(t,r){return t==null?null:Ka(t)?t.format(r):typeof t=="string"||typeof t=="number"||typeof t=="boolean"?t:String(t)}function Ua(t,r={}){let e={...It,...r},{pagination:a,filters:o,sorter:i}=t,n={};a.current!==void 0&&(n[e.paginationKeys.current]=a.current),a.pageSize!==void 0&&(n[e.paginationKeys.pageSize]=a.pageSize);let s=Array.isArray(i)?i[0]:i;s?.field&&s?.order&&(n[e.sorterKeys.field]=String(s.field),n[e.sorterKeys.order]=e.orderValues[s.order]??s.order);let c={};for(let l of o){let d=At(l.columnId,e.fieldMapping);c[d]=l.values.map(u=>zt(u,e.dateFormat));}return Object.keys(c).length>0&&(n[e.filtersKey]=c),n}function dt(t,r={}){let e={...It,...r},{pagination:a,filters:o,sorter:i}=t,n={};a.current!==void 0&&(n[e.paginationKeys.current]=a.current),a.pageSize!==void 0&&(n[e.paginationKeys.pageSize]=a.pageSize);let s=Array.isArray(i)?i[0]:i;s?.field&&s?.order&&(n[e.sorterKeys.field]=String(s.field),n[e.sorterKeys.order]=e.orderValues[s.order]??s.order);for(let c of o){let l=At(c.columnId,e.fieldMapping),d=c.values.map(u=>zt(u,e.dateFormat));n[l]=d.length===1?d[0]:d;}return n}function _e(t,r={}){let e={...It,...r},{pagination:a,filters:o,sorter:i}=t,n=new URLSearchParams;a.current!==void 0&&n.set(e.paginationKeys.current,String(a.current)),a.pageSize!==void 0&&n.set(e.paginationKeys.pageSize,String(a.pageSize));let s=Array.isArray(i)?i[0]:i;s?.field&&s?.order&&(n.set(e.sorterKeys.field,String(s.field)),n.set(e.sorterKeys.order,e.orderValues[s.order]??s.order));for(let c of o){let l=At(c.columnId,e.fieldMapping),d=c.values.map(u=>zt(u,e.dateFormat));n.set(l,d.join(","));}return n.toString()}function Ha(t,r={}){let e=_e(t,r);return new URLSearchParams(e)}var Ft=[],Nt={current:1,pageSize:10},Ga={};function $a(){return {filters:Ft,pagination:Nt,sorter:{},extra:{action:"paginate",currentDataSource:[]}}}function Ya(t){let r=new Map,e=$a();for(let a of t)r.set(a.value,{filters:a.defaultFilters??a.filters??e.filters,pagination:a.defaultPagination??a.pagination??e.pagination,sorter:a.defaultSorter??e.sorter,extra:e.extra});return r}function kt({fireOnMount:t=true,active:r,defaultActive:e,tabList:a,onTabChange:o,onTableChange:i,onToolbarAction:n}){let[s,c]=C.useState(()=>e??a[0]?.value??""),l=r??s,[d,u]=C.useState(()=>Ya(a)),E=C.useMemo(()=>a.find(b=>b.value===l)??a[0],[l,a]),{id:S,fireOnMount:p=t,loading:y,syncing:N,exporting:R,disabled:M,serializeOptions:B=Ga,serializeFn:U=dt,defaultFilters:_,defaultPagination:H,defaultSorter:O,filters:ut,pagination:pt,onChange:g,onToolbarAction:I,value:G,label:ot,...j}=E;C.useEffect(()=>{d.has(l)||u(b=>{if(b.has(l))return b;let v=new Map(b);return v.set(l,{filters:_??Ft,pagination:H??Nt,sorter:O??{},extra:{action:"paginate",currentDataSource:[]}}),v});},[l,d,_,H,O]);let h=C.useMemo(()=>d.get(l)??{filters:_??Ft,pagination:H??Nt,sorter:O??{},extra:{action:"paginate",currentDataSource:[]}},[d,l,_,H,O]),Z=C.useRef(i),J=C.useRef(n),Q=C.useRef(g),V=C.useRef(I);Z.current=i,J.current=n,Q.current=g,V.current=I;let W=C.useRef(new Map);C.useEffect(()=>{W.current.has(l)||W.current.set(l,!p);},[l,p]);let rt=C.useCallback(b=>{c(b),o?.(b);},[o]),L=C.useCallback(b=>{u(v=>{let P=new Map(v),A=P.get(l);if(!A)return v;let q=typeof b=="function"?b(A.filters):b;return P.set(l,{...A,filters:q,pagination:{...A.pagination,current:1}}),P});},[l]),mt=C.useCallback((b,v,P,A)=>{u(q=>{let tt=new Map(q),bt=tt.get(l);return bt?(tt.set(l,{...bt,pagination:b,sorter:P,extra:A}),tt):q});},[l]),yt=C.useCallback(b=>{if(b.action==="data_export"){let v={pagination:h.pagination,filters:h.filters,sorter:h.sorter,extra:h.extra},P=U(v,B),A={action:b.action,payload:P};V.current?.(A),J.current?.(S,A);return}V.current?.(b),J.current?.(S,b);},[S,h,U,B]);return C.useEffect(()=>{if(W.current.get(l)){W.current.set(l,false);return}let v={pagination:h.pagination,filters:h.filters,sorter:h.sorter,extra:h.extra},P=U(v,B);Q.current?.(P,v),Z.current?.(S,P,v);},[l,S,h,U,B]),{activeTabId:l,tabList:a,onTabChange:rt,id:S,loading:y,syncing:N,exporting:R,disabled:M||N||R,filters:h.filters,pagination:h.pagination,onFiltersChange:L,onChange:mt,onToolbarAction:yt,...j}}var ja=[],Wa={},qa={action:"paginate",currentDataSource:[]},Xa={current:1,pageSize:10};function Za({id:t,fireOnMount:r=true,defaultFilters:e=ja,defaultPagination:a=Xa,defaultSorter:o=Wa,serializeOptions:i={},loading:n,exporting:s,disabled:c,serializeFn:l=dt,onChange:d,onToolbarAction:u}={}){let E=C.useRef(!r),S=C.useRef(d),p=C.useRef(u);S.current=d,p.current=u;let[y,N]=C.useState(e),[R,M]=C.useState(a),[B,U]=C.useState(o),[_,H]=C.useState(qa),O=C.useCallback(g=>{N(I=>typeof g=="function"?g(I):g),M(I=>({...I,current:1}));},[]),ut=C.useCallback((g,I,G,ot)=>{M(g),U(G),H(ot);},[]),pt=C.useCallback(g=>{if(g.action==="data_export"){let G=l({pagination:R,filters:y,sorter:B,extra:_},i);p.current?.({action:g.action,payload:G});return}p.current?.(g);},[y,R,B,_,l,i]);return C.useEffect(()=>{if(E.current){E.current=false;return}let g={pagination:R,filters:y,sorter:B,extra:_},I=l(g,i);S.current?.(I,g);},[R,y,B,_,l,i]),{id:t,loading:n,exporting:s,disabled:c||s,filters:y,pagination:R,onFiltersChange:O,onChange:ut,onToolbarAction:pt}}var Ja=[];function Qa(t={}){let{id:r="default",onChange:e,onToolbarAction:a,...o}=t,i=C.useRef(e),n=C.useRef(a);i.current=e,n.current=a;let s=C.useCallback((N,R,M)=>{i.current?.(R,M);},[]),c=C.useCallback((N,R)=>{n.current?.(R);},[]),l=C.useMemo(()=>[{id:r,value:r,label:"",columns:Ja,total:o.total,defaultFilters:o.defaultFilters,defaultPagination:o.defaultPagination,defaultSorter:o.defaultSorter,serializeOptions:o.serializeOptions,toolbarItems:o.toolbarItems,slots:o.slots,serializeFn:o.serializeFn,syncing:o.syncing,loading:o.loading,exporting:o.exporting,disabled:o.disabled}],[r,o.total,o.defaultFilters,o.toolbarItems,o.slots,o.defaultPagination,o.defaultSorter,o.serializeOptions,o.serializeFn,o.syncing,o.loading,o.exporting,o.disabled]),d=kt({fireOnMount:t.fireOnMount,tabList:l,onTableChange:s,onToolbarAction:c}),{activeTabId:u,tabList:E,columns:S,onTabChange:p,...y}=d;return y}
2
- export{Pt as DEFAULT_TOOLBAR_ITEMS,Ma as DataTable,Ua as serializeForPost,dt as serializeForPostFlat,_e as serializeForURL,Ha as serializeToURLSearchParams,Za as useDataTableState,Qa as useDataTableStateAdapter,kt as useTabsDataTableState};
1
+ import {b,c,i as i$2,e as e$1,f as f$1,g as g$2,k as k$1}from'./chunk-ULLCSZUV.js';import {a,b as b$1,i,g,h}from'./chunk-XJJ4IFDJ.js';import {f,g as g$1,k,n,e,m,o,l,i as i$1,h as h$1,j,K,q,r,y,s,z,A,C as C$1,B,D,F}from'./chunk-MX44Q3PS.js';import'./chunk-WOT6VMZA.js';import {Card,Table,ConfigProvider,Pagination,Tooltip,Checkbox}from'antd';import C from'react';import {createStore,useStore}from'zustand';import {persist}from'zustand/middleware';import {immer}from'zustand/middleware/immer';import {useShallow}from'zustand/react/shallow';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {AnimatePresence,m as m$1}from'motion/react';import {ArrowDownToLine,RefreshCw}from'lucide-react';var ht={tableSize:"middle",columnVisibility:{}},qe={tabStates:{},activeTabId:"",loading:false,exporting:false},st=(t,r)=>{t.tabStates[r]||(t.tabStates[r]={...ht});},be=t=>t.tabStates[t.activeTabId]??ht,Xe=(t,r)=>({...qe,activeTabId:r??"",setActiveTab:e=>t(a=>{a.activeTabId=e,st(a,e);}),setTableSize:e=>t(a=>{let o=a.activeTabId;st(a,o),a.tabStates[o].tableSize=e;}),setColumnVisibility:(e,a)=>t(o=>{let i=o.activeTabId;st(o,i),o.tabStates[i].columnVisibility[e]=a;}),setColumnVisibilityState:e=>t(a=>{let o=a.activeTabId;st(a,o);let i=a.tabStates[o].columnVisibility;a.tabStates[o].columnVisibility=typeof e=="function"?e(i):e;}),toggleColumnVisibility:e=>t(a=>{let o=a.activeTabId;st(a,o);let i=a.tabStates[o].columnVisibility[e];a.tabStates[o].columnVisibility[e]=!i;}),setLoading:e=>t({loading:e}),setExporting:e=>t({exporting:e}),resetCurrentTabState:()=>t(e=>{let a=e.activeTabId;e.tabStates[a]={...ht};})}),Ze=(t,r)=>createStore()(persist(immer(e=>Xe(e,r)),{name:t,partialize:e=>({tabStates:e.tabStates})})),xt=C.createContext(null),Je=["id","action","actions"],Te=C.createContext({});function fe({storageKey:t,initialTabId:r,alwaysShowingColumns:e,children:a$1}){let o=C.useRef(null);o.current||(o.current=Ze(t,r)),C.useEffect(()=>{let n=o.current;n&&!n.getState().activeTabId&&n.getState().setActiveTab(r);},[r]);let i=C.useMemo(()=>({alwaysShowingColumns:e??Je}),[e]);return jsx(Te.Provider,{value:i,children:jsx(xt.Provider,{value:o.current,children:jsx(ConfigProvider,{theme:a,children:a$1})})})}function ge(){return C.useContext(Te)}function Y(t){let r=C.useContext(xt);if(!r)throw new Error("useDataTableStore must be used within DataTableProvider");return useStore(r,t)}function Tt(){let t=C.useContext(xt);if(!t)throw new Error("useCurrentTabUIState must be used within DataTableProvider");return useStore(t,useShallow(r=>be(r)))}function Se(){return Y(t=>be(t).tableSize)}var ta={small:"min-h-22",middle:"min-h-30",large:"min-h-38"};function De({count:t,size:r="small",classNames:e,columns:a,scroll:o}){let i=C.useCallback(()=>ea(a,ta[r]),[a,r]);return jsx(Table,{rowKey:"id",size:r,rowHoverable:false,classNames:e,dataSource:Array.from({length:t},(n,s)=>({id:s})),pagination:false,scroll:o,children:a.map((n,s)=>jsx(Table.Column,{dataIndex:n.dataIndex,width:n.width,title:jsx(i$2,{className:"h-22 w-full animate-none bg-bg-antd"}),render:i,onCell:()=>s===0?{colSpan:a.length}:{colSpan:0}},n.dataIndex))})}var Ce=16;function ea(t,r){let e$1=t.length,o=`calc((100% - ${Ce*(e$1-1)}px) / ${e$1})`,i=t.some(n=>n.skeleton==="avatar"||n.skeleton==="double-line");return jsx("div",{className:e("flex items-center",r),style:{gap:`${Ce}px`},children:t.map((n,s)=>{let c=n?.key??s;return jsx("div",{style:{width:o},children:aa(n.skeleton,i)},c)})})}function aa(t,r){switch(t){case "avatar":return jsx(ra,{});case "double-line":return jsx(na,{});case "group":return jsx(ia,{needAlignment:r});default:return jsx(oa,{needAlignment:r})}}function oa({needAlignment:t}){return jsxs("div",{className:"grid h-full gap-4",children:[t&&jsx("div",{className:"h-12 w-1"}),jsx(i$2,{className:"h-10"})]})}function ra(){return jsxs("div",{className:"flex w-full items-center gap-6",children:[jsx(i$2,{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(i$2,{className:"h-12 w-[60%]"}),jsx(i$2,{className:"h-10"})]})]})}function na(){return jsxs("div",{className:"grid h-full w-full gap-4 py-4",children:[jsx(i$2,{className:"h-12 w-[60%]"}),jsx(i$2,{className:"h-10"})]})}function ia({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(i$2,{className:"h-10 w-[20%]"}),jsx(i$2,{className:"h-10 w-[20%]"}),jsx(i$2,{className:"h-10 w-[20%]"}),jsx(i$2,{className:"h-10 w-[20%]"}),jsx(i$2,{className:"h-10 w-[20%]"})]})]})}function he({className:t,options:r,...e$2}){return jsx(e$1,{className:e("w-full",t),...e$2,children:jsx(f$1,{variant:"line",size:"medium",className:"w-full px-12",children:r?.map(a=>jsx(g$2,{value:a.value,className:"py-8",children:a.label},a.id??a.value))})})}function Re({value:t,className:r,onChange:e$1,...a}){let o=b$1(),[i,n]=C.useState(false),s=C.useMemo(()=>[{groupType:"radio",value:t,options:[{label:o("large"),value:"large"},{label:o("middle"),value:"middle"},{label:o("compact"),value:"small"}],onValueChange:e$1}],[e$1,o,t]);return jsx(k$1,{side:"bottom",align:"end",collisionPadding:6,items:s,className:"min-w-100",open:i,onOpenChange:n,children:jsxs(K,{mode:"stroke",variant:"neutral",size:"small",className:e("gap-0",r,i&&"active"),...a,children:[jsx(Tooltip,{title:o("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 ft(t){return t.key?String(t.key):Array.isArray(t.dataIndex)?t.dataIndex.join("."):String(t.dataIndex)}function ca(t){return typeof t=="string"&&t.length>0}function ve(t){return [Array.isArray(t.dataIndex)?t.dataIndex.join(" "):typeof t.dataIndex=="string"?t.dataIndex:null,typeof t.title=="string"?t.title:null,t.key!==null?String(t.key):null].filter(ca)}function we({disabled:t,columns:r$1}){let e$1=b$1(),{alwaysShowingColumns:a}=ge(),[o,i]=C.useState(false),{columnVisibility:n}=Tt(),s$1=Y(l=>l.setColumnVisibilityState),c=C.useCallback((l,d)=>{s$1(u=>({...u,[l]:d}));},[s$1]);return jsxs(q,{open:o,onOpenChange:i,children:[jsx(r,{asChild:true,children:jsx(K,{mode:"stroke",variant:"neutral",size:"small",className:e(o&&"active","relative gap-0"),disabled:t,startContent:jsx(y,{}),children:jsx(Tooltip,{title:e$1("column_set"),mouseEnterDelay:1,children:jsx("div",{className:"absolute inset-0"})})})}),jsx(s,{align:"end",side:"bottom",arrow:false,className:"w-fit rounded-xl p-0",sideOffset:6,children:jsxs(z,{children:[jsx(A,{autoFocus:true,placeholder:"Search..."}),jsx(C$1,{children:e$1("no_results")}),jsx(B,{className:"max-h-256",children:jsx(D,{children:r$1.map(l=>{let d=ft(l),u=n[d]!==false;return jsxs(F,{keywords:ve(l),onSelect:()=>c(d,!u),className:"group flex items-center gap-6",value:d,disabled:a?.includes(d),children:[jsx(Checkbox,{checked:u,tabIndex:-1,className:e("mr-4 opacity-100")}),jsx("span",{children:l.title})]},d)})})})]})})]})}function ga(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 Sa({btnProps:t,tooltip:r,disabled:e,loading:a,syncing:o,onAction:i}){let n=b$1(),s=r??n("refresh");return jsx(K,{mode:"stroke",variant:"neutral",startContent:jsx(RefreshCw,{}),loading:o||a,disabled:e||a||o,className:"gap-0",onClick:()=>i({action:"data_refresh"}),...t,children:jsx(Tooltip,{title:s,mouseEnterDelay:1,children:jsx("div",{className:"absolute inset-0"})})})}function ya(){let t=Se()??"small",r=Y(e=>e.setTableSize);return jsx(Re,{value:t,onChange:r})}function Ca({columns:t}){return jsx(we,{columns:t})}function Da({btnProps:t,disabled:r,loading:e,onAction:a}){let o=b$1();return jsx(K,{variant:"primary",startContent:jsx(ArrowDownToLine,{}),loading:e,disabled:r||e,onClick:()=>a({action:"data_export"}),...t,children:o("data_export")})}var ha={initial:{opacity:0,scale:.85,x:10,originX:1},animate:{opacity:1,scale:1,x:0,originX:1},exit:{opacity:0,scale:.85,x:10,originX:1}},xa={ease:[.26,.08,.25,1],duration:.25};function Ie({items:t,columns:r,disabled:e$1,loading:a,exporting:o,syncing:i,filter:n,onAction:s,className:c}){let l=C.useMemo(()=>t.map(p=>ga(p)),[t]),d=C.useMemo(()=>l.filter(p=>!p.hidden),[l]),u=C.useCallback(p=>{s?.(p);},[s]),E=C.useMemo(()=>({disabled:e$1,loading:a,exporting:o,columns:r,onAction:u}),[e$1,a,o,r,u]),y=p=>{let S={btnProps:p.btnProps,tooltip:p.tooltip,disabled:e$1,loading:a,onAction:u};switch(p.type){case "data_refresh":return jsx(Sa,{...S,syncing:i});case "size_setting":return jsx(ya,{});case "column_setting":return jsx(Ca,{columns:r});case "data_export":return jsx(Da,{...S,loading:o});case "custom":return p.render?.(E);case "filter_btn":return n;default:return null}};return jsx("div",{className:e("flex items-center gap-8",c),children:jsx(AnimatePresence,{mode:"popLayout",initial:false,children:d.map(p=>jsx(m$1.div,{layout:true,variants:ha,initial:"initial",animate:"animate",exit:"exit",transition:xa,children:y(p)},p.key))})})}var Pt=["data_refresh","size_setting","column_setting","filter_btn"];function Ae(t){return t.filter(r=>r.filter!==void 0).map(r=>{let{filter:e,dataIndex:a,title:o}=r,i=Array.isArray(a)?a.join("."):a,n=e.displayName??(typeof o=="string"?o:i);return {...e,columnId:i,displayName:n}})}function ze(t){return t.map(({filter:r,...e})=>e)}var Ra=31,va=44,Pa=250,wa=350,Ia={},wt=(t,r)=>{if(!t)return 0;let e=t.querySelectorAll(':scope [data-id^="data-table-card-"]'),a=0;return e.forEach(o=>{let i=o.getAttribute("data-id")==="data-table-card-content";a+=i?0:o.clientHeight;}),document.documentElement.clientHeight-r-window.scrollY-Ra-va-a-3};function ke(t,r,{x:e="max-content",y:a,...o}=Ia){let[i,n]=C.useState(a),s=C.useRef(0),c$1=C.useRef(null);return C.useLayoutEffect(()=>(s.current=t.current?.offsetTop??0,c$1.current||(c$1.current=c(()=>{s.current=t.current?.offsetTop??0,n(wt(t.current,s.current));},Pa,false,true)),window.addEventListener("resize",c$1.current),()=>{c$1.current&&(window.removeEventListener("resize",c$1.current),c$1.current.cancel());}),[t]),C.useEffect(()=>{if(a!==void 0)return;n(wt(t.current,s.current));let l=setTimeout(()=>{n(wt(t.current,s.current));},wa);return ()=>{clearTimeout(l);}},[a,r,t]),{x:e,y:i,...o}}var ka={pagination:{root:"m-0 py-16 px-8 [&_.ant-pagination-total-text]:mr-auto"},body:{cell:"px-12!"}},Fa={root:"m-0 flex w-full [&_.ant-pagination-total-text]:ps-12 [&_.ant-pagination-total-text]:mr-auto"},Na={initial:{height:0,opacity:0},animate:{height:"auto",opacity:1},exit:{height:0,opacity:0}},Ba={initial:{opacity:0,y:24},animate:{opacity:1,y:0},exit:{opacity:0,y:-24}},_a={ease:[.26,.08,.25,1],duration:.3};function Oa({id:t,activeTabId:r,tabList:e$1,title:a,icon:o$1,description:i$2,variant:n$1,classNames:s,slots:c,columns:l$1,filters:d,defaultFilters:u,total:E,pagination:y,defaultPagination:p,loading:S,syncing:F,exporting:R,disabled:M,animated:B=true,style:U,toolbarItems:_,onTabChange:H,onChange:O,onFiltersChange:ut,onToolbarAction:pt,...g$2}){let I=b$1(),G=Y(w=>w.setActiveTab),ot=Y(w=>w.activeTabId),{tableSize:j$1,columnVisibility:h$2}=Tt();C.useEffect(()=>{t&&t!==ot&&G(t);},[t,ot,G]);let Z=C.useMemo(()=>l$1.filter(w=>w.hidden!==true),[l$1]),J=C.useMemo(()=>ze(Z),[Z]),Q=C.useMemo(()=>Ae(l$1),[l$1]),[V,W]=i({filters:d,defaultFilters:u,onFiltersChange:ut}),rt=C.useMemo(()=>J.filter(w=>h$2[ft(w)]!==false),[J,h$2]),L=C.useRef({pagination:{},filters:{},sorter:{},extra:{action:"paginate",currentDataSource:[]}}),[mt,St]=C.useState(()=>({current:y?.current??p?.current??1,pageSize:y?.pageSize??p?.pageSize??10})),b=C.useCallback(w=>I("pagination_total").replace("{total}",String(w)),[I]),v=C.useCallback((w,yt,nt,Ve)=>{let{pagination:Le,filters:Ke,sorter:Ue,extra:He}=L.current={...L.current,filters:yt,sorter:nt,extra:Ve};O?.(Le,Ke,Ue,He);},[O]),P=C.useCallback((w,yt)=>{let nt={current:w,pageSize:yt};L.current={...L.current,pagination:nt},St(nt),O?.(nt,L.current.filters,L.current.sorter,L.current.extra);},[O]),A=C.useMemo(()=>({disabled:S||M||F,size:j$1==="large"?"middle":j$1,...p,showTotal:b,onChange:P,onShowSizeChange:P,...y,...mt,total:E}),[S,F,M,j$1,b,y,P,p,mt,E]),q=C.useMemo(()=>({...ka,header:{cell:g$2.bordered?"p-12":"px-12 py-10 border-t border-stroke-antd first:border-l last:border-r"}}),[g$2.bordered]),tt=e$1&&Array.isArray(e$1),bt=Math.min(A.pageSize??A.defaultPageSize??10,15),Oe=!!(S&&rt.some(w=>w.skeleton)),Ee=Q.length!==0,Bt=V&&V.length!==0,_t=C.useRef(null),Ot=ke(_t,`${V?.length}-${r??t}`,g$2.scroll),Et=Oe?jsx(De,{id:`${t}-skeleton`,columns:rt,size:j$1,count:bt,classNames:q,scroll:Ot}):jsx(Table,{id:`${t}-data-table`,columns:rt,classNames:q,pagination:false,size:j$1,loading:S,showSorterTooltip:false,onChange:v,...g$2,scroll:Ot}),Me=n$1==="accent",Mt=jsx(g,{columns:Q,filters:V,actions:W,"data-id":"data-table-active-filters",className:"flex flex-wrap gap-10 px-12 pt-16",disabled:F||S,enableAutoClose:true});return jsxs(f,{ref:_t,className:e("relative h-full max-h-[calc(100vh-80px)] overflow-hidden rounded-2xl",s?.root),style:U,variant:n$1,children:[jsxs(g$1,{"data-id":"data-table-card-header",className:e("data-table-card-header grow-0 px-14 pt-12 pb-10",Me&&"pt-10",tt&&"border-b-0",s?.cardHeader),children:[jsxs(k,{className:e("flex items-center gap-12",s?.cardHeading),children:[o$1&&jsx(n,{className:e("size-34 border border-stone-200 bg-stone-100 text-text-sub",!!(a&&i$2)&&"size-44 [&_svg]:size-24",s?.cardIcon),children:o$1}),a&&jsxs("div",{className:e(i$2&&"flex flex-col gap-4"),children:[jsx(m,{children:a}),i$2&&jsx(o,{children:i$2})]})]}),jsx(l,{className:s?.cardToolbar,children:jsx(Ie,{onAction:pt,items:_??Pt,loading:S,syncing:F,disabled:M,exporting:R,filter:Ee&&jsx(h,{columns:Q,filters:V,actions:W,align:"end",enableAutoBack:true},`${t}-filter`),columns:Z})})]}),c?.cardSummary&&jsx(i$1,{"data-id":"data-table-card-summary",className:e("grow-0 p-16",s?.cardSummary),children:c.cardSummary}),tt&&jsx(i$1,{"data-id":"data-table-card-tabs",className:"grow-0 p-0",children:jsx(he,{value:r,options:e$1,onValueChange:H})}),jsx(AnimatePresence,{initial:false,children:Bt&&jsx(m$1.div,{"data-id":"data-table-card-filter-values",variants:Na,initial:"initial",animate:"animate",exit:"exit",children:jsx(i$1,{className:"p-0",children:Mt})},r)}),jsxs(h$1,{"data-id":"data-table-card-content",className:e("relative grow overflow-hidden px-12 py-16 pb-63",F&&"pointer-events-none",s?.cardContent),children:[c?.tableSummary&&jsx(i$1,{"data-id":"data-table-card-table-summary",className:e("grow-0 p-0 pb-16",s?.tableSummary),children:c.tableSummary}),B?jsx(AnimatePresence,{mode:"popLayout",initial:false,children:jsx(m$1.div,{variants:Ba,initial:"initial",animate:"animate",exit:"exit",transition:_a,children:Et},r)}):jsxs(Fragment,{children:[Bt&&jsx("div",{className:"mb-16",children:Mt}),Et]})]}),jsx(j,{"data-id":"data-table-card-pager",className:"flex min-h-64 w-full grow-0 items-center justify-between",children:jsx(Pagination,{classNames:Fa,...A})}),c?.cardFooter&&jsx(j,{"data-id":"data-table-card-footer",className:e("grow-0 p-16",s?.cardFooter),children:c.cardFooter})]})}var Ea=import.meta.env?.VITE_MOCK_API_SSR??true;function Ma({storageKey:t,alwaysShowingColumns:r,...e}){let{tableStateStorageKey:a,pagination:o}=b(),i=t??a??"APP_UI_TABLE_CONFIG";if(Ea)return jsx(fe,{initialTabId:e.activeTabId??e.id,storageKey:i,alwaysShowingColumns:r,children:jsx(Oa,{defaultPagination:o,...e})});let{title:n,port:s,host:c,url:l,method:d,...u}=Va(e);return jsx(Card,{title:n,children:jsx(Table,{id:e.id,...u})})}function Va(t){let r=t.columns.map(({render:e,port:a,host:o,method:i,...n})=>({...n}));return {...t,columns:r}}var It={dateFormat:"YYYY-MM-DD",paginationKeys:{current:"current",pageSize:"pageSize"},sorterKeys:{field:"sortField",order:"sortOrder"},filtersKey:"filters",orderValues:{ascend:"asc",descend:"desc"},fieldMapping:{}};function At(t,r){return r[t]??t}function Ka(t){return t!==null&&typeof t=="object"&&"$d"in t&&typeof t.format=="function"}function zt(t,r){return t==null?null:Ka(t)?t.format(r):typeof t=="string"||typeof t=="number"||typeof t=="boolean"?t:String(t)}function Ua(t,r={}){let e={...It,...r},{pagination:a,filters:o,sorter:i}=t,n={};a.current!==void 0&&(n[e.paginationKeys.current]=a.current),a.pageSize!==void 0&&(n[e.paginationKeys.pageSize]=a.pageSize);let s=Array.isArray(i)?i[0]:i;s?.field&&s?.order&&(n[e.sorterKeys.field]=String(s.field),n[e.sorterKeys.order]=e.orderValues[s.order]??s.order);let c={};for(let l of o){let d=At(l.columnId,e.fieldMapping);c[d]=l.values.map(u=>zt(u,l.dateFormat??e.dateFormat));}return Object.keys(c).length>0&&(n[e.filtersKey]=c),n}function dt(t,r={}){let e={...It,...r},{pagination:a,filters:o,sorter:i}=t,n={};a.current!==void 0&&(n[e.paginationKeys.current]=a.current),a.pageSize!==void 0&&(n[e.paginationKeys.pageSize]=a.pageSize);let s=Array.isArray(i)?i[0]:i;s?.field&&s?.order&&(n[e.sorterKeys.field]=String(s.field),n[e.sorterKeys.order]=e.orderValues[s.order]??s.order);for(let c of o){let l=At(c.columnId,e.fieldMapping),d=c.values.map(u=>zt(u,c.dateFormat??e.dateFormat));n[l]=d.length===1?d[0]:d;}return n}function _e(t,r={}){let e={...It,...r},{pagination:a,filters:o,sorter:i}=t,n=new URLSearchParams;a.current!==void 0&&n.set(e.paginationKeys.current,String(a.current)),a.pageSize!==void 0&&n.set(e.paginationKeys.pageSize,String(a.pageSize));let s=Array.isArray(i)?i[0]:i;s?.field&&s?.order&&(n.set(e.sorterKeys.field,String(s.field)),n.set(e.sorterKeys.order,e.orderValues[s.order]??s.order));for(let c of o){let l=At(c.columnId,e.fieldMapping),d=c.values.map(u=>zt(u,c.dateFormat??e.dateFormat));n.set(l,d.join(","));}return n.toString()}function Ha(t,r={}){let e=_e(t,r);return new URLSearchParams(e)}var kt=[],Ft={current:1,pageSize:10},Ga={};function $a(){return {filters:kt,pagination:Ft,sorter:{},extra:{action:"paginate",currentDataSource:[]}}}function Ya(t){let r=new Map,e=$a();for(let a of t)r.set(a.value,{filters:a.defaultFilters??a.filters??e.filters,pagination:a.defaultPagination??a.pagination??e.pagination,sorter:a.defaultSorter??e.sorter,extra:e.extra});return r}function Nt({fireOnMount:t=true,active:r,defaultActive:e,tabList:a,onTabChange:o,onTableChange:i,onToolbarAction:n}){let[s,c]=C.useState(()=>e??a[0]?.value??""),l=r??s,[d,u]=C.useState(()=>Ya(a)),E=C.useMemo(()=>a.find(b=>b.value===l)??a[0],[l,a]),{id:y,fireOnMount:p=t,loading:S,syncing:F,exporting:R,disabled:M,serializeOptions:B=Ga,serializeFn:U=dt,defaultFilters:_,defaultPagination:H,defaultSorter:O,filters:ut,pagination:pt,onChange:g,onToolbarAction:I,value:G,label:ot,...j}=E;C.useEffect(()=>{d.has(l)||u(b=>{if(b.has(l))return b;let v=new Map(b);return v.set(l,{filters:_??kt,pagination:H??Ft,sorter:O??{},extra:{action:"paginate",currentDataSource:[]}}),v});},[l,d,_,H,O]);let h=C.useMemo(()=>d.get(l)??{filters:_??kt,pagination:H??Ft,sorter:O??{},extra:{action:"paginate",currentDataSource:[]}},[d,l,_,H,O]),Z=C.useRef(i),J=C.useRef(n),Q=C.useRef(g),V=C.useRef(I);Z.current=i,J.current=n,Q.current=g,V.current=I;let W=C.useRef(new Map);C.useEffect(()=>{W.current.has(l)||W.current.set(l,!p);},[l,p]);let rt=C.useCallback(b=>{c(b),o?.(b);},[o]),L=C.useCallback(b=>{u(v=>{let P=new Map(v),A=P.get(l);if(!A)return v;let q=typeof b=="function"?b(A.filters):b;return P.set(l,{...A,filters:q,pagination:{...A.pagination,current:1}}),P});},[l]),mt=C.useCallback((b,v,P,A)=>{u(q=>{let tt=new Map(q),bt=tt.get(l);return bt?(tt.set(l,{...bt,pagination:b,sorter:P,extra:A}),tt):q});},[l]),St=C.useCallback(b=>{if(b.action==="data_export"){let v={pagination:h.pagination,filters:h.filters,sorter:h.sorter,extra:h.extra},P=U(v,B),A={action:b.action,payload:P};V.current?.(A),J.current?.(y,A);return}V.current?.(b),J.current?.(y,b);},[y,h,U,B]);return C.useEffect(()=>{if(W.current.get(l)){W.current.set(l,false);return}let v={pagination:h.pagination,filters:h.filters,sorter:h.sorter,extra:h.extra},P=U(v,B);Q.current?.(P,v),Z.current?.(y,P,v);},[l,y,h,U,B]),{activeTabId:l,tabList:a,onTabChange:rt,id:y,loading:S,syncing:F,exporting:R,disabled:M||F||R,filters:h.filters,pagination:h.pagination,onFiltersChange:L,onChange:mt,onToolbarAction:St,...j}}var ja=[],Wa={},qa={action:"paginate",currentDataSource:[]},Xa={current:1,pageSize:10};function Za({id:t,fireOnMount:r=true,defaultFilters:e=ja,defaultPagination:a=Xa,defaultSorter:o=Wa,serializeOptions:i={},loading:n,exporting:s,disabled:c,serializeFn:l=dt,onChange:d,onToolbarAction:u}={}){let E=C.useRef(!r),y=C.useRef(d),p=C.useRef(u);y.current=d,p.current=u;let[S,F]=C.useState(e),[R,M]=C.useState(a),[B,U]=C.useState(o),[_,H]=C.useState(qa),O=C.useCallback(g=>{F(I=>typeof g=="function"?g(I):g),M(I=>({...I,current:1}));},[]),ut=C.useCallback((g,I,G,ot)=>{M(g),U(G),H(ot);},[]),pt=C.useCallback(g=>{if(g.action==="data_export"){let G=l({pagination:R,filters:S,sorter:B,extra:_},i);p.current?.({action:g.action,payload:G});return}p.current?.(g);},[S,R,B,_,l,i]);return C.useEffect(()=>{if(E.current){E.current=false;return}let g={pagination:R,filters:S,sorter:B,extra:_},I=l(g,i);y.current?.(I,g);},[R,S,B,_,l,i]),{id:t,loading:n,exporting:s,disabled:c||s,filters:S,pagination:R,onFiltersChange:O,onChange:ut,onToolbarAction:pt}}var Ja=[];function Qa(t={}){let{id:r="default",onChange:e,onToolbarAction:a,...o}=t,i=C.useRef(e),n=C.useRef(a);i.current=e,n.current=a;let s=C.useCallback((F,R,M)=>{i.current?.(R,M);},[]),c=C.useCallback((F,R)=>{n.current?.(R);},[]),l=C.useMemo(()=>[{id:r,value:r,label:"",columns:Ja,total:o.total,defaultFilters:o.defaultFilters,defaultPagination:o.defaultPagination,defaultSorter:o.defaultSorter,serializeOptions:o.serializeOptions,toolbarItems:o.toolbarItems,slots:o.slots,serializeFn:o.serializeFn,syncing:o.syncing,loading:o.loading,exporting:o.exporting,disabled:o.disabled}],[r,o.total,o.defaultFilters,o.toolbarItems,o.slots,o.defaultPagination,o.defaultSorter,o.serializeOptions,o.serializeFn,o.syncing,o.loading,o.exporting,o.disabled]),d=Nt({fireOnMount:t.fireOnMount,tabList:l,onTableChange:s,onToolbarAction:c}),{activeTabId:u,tabList:E,columns:y,onTabChange:p,...S}=d;return S}
2
+ export{Pt as DEFAULT_TOOLBAR_ITEMS,Ma as DataTable,Ua as serializeForPost,dt as serializeForPostFlat,_e as serializeForURL,Ha as serializeToURLSearchParams,Za as useDataTableState,Qa as useDataTableStateAdapter,Nt as useTabsDataTableState};
@@ -0,0 +1,2 @@
1
+ import {a}from'./chunk-WOT6VMZA.js';import {extendTailwindMerge}from'tailwind-merge';import {createTV,cn}from'tailwind-variants';import C from'react';import {jsx,jsxs}from'react/jsx-runtime';import {Popover,Slot}from'radix-ui';import {Command}from'cmdk';var ue={title:["h1","h2","h3","h4","h5","h6"],label:["xl","lg","md","sm","xs"],paragraph:["xl","lg","md","sm","xs"],subheading:["md","sm","xs","2xs"]},fe=["slate","red","orange","amber","yellow","lime","green","emerald","teal","cyan","sky","blue","indigo","violet","purple","fuchsia","pink","rose"],ve=Object.entries(ue).flatMap(([e,t])=>t.map(r=>`${e}-${r}`)),ge=fe.map(e=>`badge-${e}`),H={extend:{classGroups:{"font-size":[{text:ve}],"ui-badge":[{ui:ge}]},conflictingClassGroups:{"ui-badge":["bg-color","text-color","border-color"]}}},he=extendTailwindMerge(H),m=createTV({twMergeConfig:H}),o=(...e)=>he(cn(...e));var Ie={};a(Ie,{Card:()=>A,CardContent:()=>Pe,CardDescription:()=>Se,CardExtra:()=>Re,CardFooter:()=>Le,CardHeader:()=>ye,CardHeading:()=>Ne,CardIcon:()=>Ee,CardTable:()=>ke,CardTitle:()=>Te,CardToolbar:()=>Me,Root:()=>A});var B=C.createContext({variant:"default"}),w=()=>{let e=C.useContext(B);if(!e)throw new Error("useCardContext must be used within a Card component");return e},xe=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"}}),be=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"}}),V=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"}}),A=C.forwardRef(({className:e,variant:t="default",...r},a)=>jsx(B.Provider,{value:{variant:t||"default"},children:jsx("div",{"data-slot":"card",ref:a,className:o(xe({variant:t}),e),...r})}));A.displayName="Card";function ye({className:e,...t}){let{variant:r}=w();return jsx("div",{"data-slot":"card-header",className:o(be({variant:r}),e),...t})}function Pe({className:e,...t}){let{variant:r}=w();return jsx("div",{"data-slot":"card-content",className:o(V({variant:r}),e),...t})}function Re({className:e,...t}){let{variant:r}=w();return jsx("div",{"data-slot":"card-extra",className:o(V({variant:r}),e),...t})}function ke({className:e,...t}){let{variant:r}=w();return jsx("div",{"data-slot":"card-table",className:o(Ce({variant:r}),e),...t})}function Le({className:e,...t}){let{variant:r}=w();return jsx("div",{"data-slot":"card-footer",className:o(we({variant:r}),e),...t})}function Ne({className:e,...t}){return jsx("div",{"data-slot":"card-heading",className:o("space-y-4",e),...t})}function Me({className:e,...t}){return jsx("div",{"data-slot":"card-toolbar",className:o("flex items-center gap-10",e),...t})}function Te({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 Se({className:e,...t}){return jsx("div",{"data-slot":"card-description",className:o("text-[14px] leading-none text-text-soft",e),...t})}var We={};a(We,{Popover:()=>Be,PopoverAnchor:()=>Ae,PopoverClose:()=>D,PopoverContent:()=>z,PopoverTrigger:()=>Ve,Root:()=>Be});var Be=Popover.Root,Ve=Popover.Trigger,z=C.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%)]"})})]})}));z.displayName="PopoverContent";var D=C.forwardRef(({className:e,unstyled:t,...r},a)=>jsx(Popover.Close,{ref:a,className:o([!t&&"absolute top-16 right-16"],e),...r}));D.displayName="PopoverClose";function Ae({...e}){return jsx(Popover.Anchor,{"data-slot":"popover-anchor",...e})}var rt={};a(rt,{Command:()=>Je,CommandEmpty:()=>Ye,CommandGroup:()=>Ze,CommandInput:()=>Ke,CommandItem:()=>tt,CommandList:()=>Qe,CommandSeparator:()=>et,CommandShortcut:()=>ot,Root:()=>Je});function De({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 Oe({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 Fe({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 Ge({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 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-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 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-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 Je({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 Ke({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(E,{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 Qe({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 Ye({...e}){return jsx(Command.Empty,{"data-slot":"command-empty",className:"py-24 text-center text-paragraph-sm",...e})}function Ze({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 et({className:e,...t}){return jsx(Command.Separator,{"data-slot":"command-separator",className:o("-mx-4 h-px bg-bg-soft",e),...t})}function tt({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 ot({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 C.useCallback(t=>(t.preventDefault(),false),[])}var it=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"]}),j=m({slots:{root:[it(),"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"}}),lt=C.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:Q,...Y}=e,Z=$(),ee=c?Slot.Root:"button",{root:te,icon:oe,overlay:re}=j({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}),y=(le,ce)=>jsx("span",{className:S,children:le},ce),se=()=>v==="startContent"?y(k,"startContent"):i?y(i,"startContent"):null,ie=()=>v==="endContent"?y(k,"endContent"):n?y(n,"endContent"):null,I=Q||d;return jsxs(ee,{ref:t,onContextMenu:Z,className:te({className:f}),disabled:c?void 0:I,"data-state":d?"loading":"idle","data-disabled":I?"":void 0,...Y,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})]})});lt.displayName="ButtonRoot";var pt=["en-US","zh-CN"],q=C.createContext(null),Uo=({locale:e,defaultLocale:t,onLocaleChange:r,children:a})=>{let s=e!==void 0,[p,i]=C.useState(()=>e??t??J());C.useEffect(()=>{e!==void 0&&i(e);},[e]);let n=s?e:p,c=C.useCallback(d=>{if(!s){i(d),r?.(d);return}r?.(d);},[s,r]),f=C.useMemo(()=>({locale:n,setLocale:c}),[n,c]);return jsx(q.Provider,{value:f,children:a})},mt=e=>{};function Oo(){let e=C.useContext(q);return e?[e.locale,e.setLocale]:[J(),mt]}function J(e="en-US"){if(typeof navigator>"u")return e;for(let t of navigator.languages??[]){let r=pt.find(a=>t.toLowerCase().startsWith(a.toLowerCase().split("-")[0]));if(r)return r}return e}function $o(e){let{as:t,size:r,className:a,...s}=e;if(C.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 C.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,Qe as B,Ye as C,Ze as D,et as E,tt as F,rt as G,G as H,it as I,j as J,lt as K,$o as L,Uo as a,Oo as b,H as c,m as d,o as e,A as f,ye as g,Pe as h,Re as i,Le as j,Ne as k,Me as l,Te as m,Ee as n,Se as o,Ie as p,Be as q,Ve as r,z as s,We as t,De as u,Oe as v,Fe as w,Ge as x,je as y,Je as z};
@@ -0,0 +1 @@
1
+ import {d,e,a as a$1,L as L$1}from'./chunk-MX44Q3PS.js';import {a}from'./chunk-WOT6VMZA.js';import {LazyMotion}from'motion/react';import z from'react';import {jsx,jsxs,Fragment}from'react/jsx-runtime';import {Tabs,DropdownMenu}from'radix-ui';import {Circle,Check,ChevronRight}from'lucide-react';var R=Symbol.for("@@jerry-fe/ui/UIProviderContext");function se(){if(!globalThis[R]){let e=z.createContext(null);globalThis[R]=e;}return globalThis[R]}var de=()=>import('./motion-features-NSSC2G6R.js').then(e=>e.default),E=se(),le={hideOnSinglePage:false,showSizeChanger:true,pageSizeOptions:[10,20,30,50]},pe=({locale:e="zh-CN",tableStateStorageKey:t="APP_UI_TABLE_CONFIG",pagination:o=le,children:a})=>{let r=z.useMemo(()=>({tableStateStorageKey:t,pagination:o}),[t,o]);return jsx(LazyMotion,{features:de,strict:true,children:jsx(E.Provider,{value:r,children:jsx(a$1,{locale:e,children:a})})})};pe.displayName="UIProvider";function Ie(){let e=z.useContext(E);if(!e)throw new Error("useUiState must be used within UIProvider");return e}function ze(e,t,o=true,a=true){let r,i=(...m)=>{r?(clearTimeout(r),r=void 0):o&&e(...m),r=self.setTimeout(()=>{a&&e(...m),r=void 0;},t);};return i.cancel=()=>{r&&(clearTimeout(r),r=void 0);},i}function Se(e,t,o=true){let a,r,i,m=(...f)=>{r=true,i=f,a||(o&&(r=false,e(...i)),a=self.setInterval(()=>{if(!r){self.clearInterval(a),a=void 0;return}r=false,e(...i);},t));};return m.cancel=()=>{a&&(self.clearInterval(a),a=void 0),r=false;},m}var xe={};a(xe,{Root:()=>fe,Tabs:()=>fe,TabsContent:()=>ve,TabsList:()=>be,TabsTrigger:()=>ge});var ue=d({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"}}),me=d({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"}}),ce=d({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"}}),$=z.createContext({variant:"default",size:"medium"});function fe({className:e$1,...t}){return jsx(Tabs.Root,{"data-slot":"tabs",className:e("",e$1),...t})}function be({className:e$1,variant:t="default",shape:o="default",size:a="medium",...r}){return jsx($.Provider,{value:{variant:t||"default",size:a||"medium"},children:jsx(Tabs.List,{"data-slot":"tabs-list",className:e(ue({variant:t,shape:o,size:a}),e$1),...r})})}function ge({className:e$1,...t}){let{variant:o,size:a}=z.useContext($);return jsx(Tabs.Trigger,{"data-slot":"tabs-trigger",className:e(me({variant:o,size:a}),e$1),...t})}function ve({className:e$1,variant:t,...o}){return jsx(Tabs.Content,{"data-slot":"tabs-content",className:e(ce({variant:t}),e$1),...o})}function _e({className:e$1,...t}){return jsx("div",{className:e("animate-pulse rounded-sm bg-bg-soft",e$1),...t})}var we=d({slots:{content:["z-50 overflow-hidden rounded-2xl bg-bg-white p-8 shadow-regular-md ring-1 ring-stroke-soft ring-inset","flex flex-col gap-4 text-label-sm text-text-sub","data-[side=bottom]:origin-top data-[side=left]:origin-right data-[side=right]:origin-left data-[side=top]:origin-bottom","data-[state=open]:animate-in data-[state=open]:fade-in-0","data-[state=closed]:animate-out data-[state=closed]:fade-out-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95","data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2"],trigger:["cursor-default rounded-lg px-10 py-6 outline-none select-none [&_svg]:pointer-events-none [&_svg]:shrink-0","flex items-center gap-8","data-highlighted:bg-bg-weak data-[state=open]:bg-bg-weak","focus-visible:ring-2 focus-visible:ring-primary-base","data-disabled:pointer-events-none data-disabled:text-text-disabled"],item:["group/item relative cursor-pointer rounded-lg px-10 py-6 outline-none select-none data-highlighted:bg-bg-weak","flex items-center gap-8","transition duration-200 ease-out","focus:outline-none","focus-visible:ring-2 focus-visible:ring-primary-base","data-disabled:pointer-events-none data-disabled:text-text-disabled"],checkbox:["relative flex cursor-default items-center rounded-lg py-6 pr-6 transition-colors outline-none select-none","data-disabled:pointer-events-none data-disabled:text-text-disabled","data-highlighted:bg-bg-weak","focus:outline-none","focus-visible:ring-2 focus-visible:ring-primary-base","pl-38"],label:"px-8 py-2 text-label-sm text-text-soft",separator:"-mx-4 my-4 h-px bg-bg-weak",shortcut:"ml-auto text-text-soft group-data-disabled/item:text-text-disabled",arrow:"-mr-6 ml-auto size-16",icon:"size-16",check:"absolute top-1/2 left-10 size-16 -translate-y-1/2"},variants:{inset:{true:{trigger:"pl-38",item:"pl-38",label:"pl-38"}},destructive:{true:{item:"text-error-base focus-visible:ring-error-base data-highlighted:bg-red-50"}}}}),s=we();var K=DropdownMenu.Root,q=DropdownMenu.Trigger,X=DropdownMenu.Group,Y=DropdownMenu.Portal,J=DropdownMenu.Sub,Q=DropdownMenu.RadioGroup;DropdownMenu.Arrow;var S=({className:e,inset:t,children:o,...a})=>jsxs(DropdownMenu.SubTrigger,{className:s.trigger({inset:t,className:e}),...a,children:[o,jsx(ChevronRight,{className:s.arrow()})]});S.displayName=DropdownMenu.SubTrigger.displayName;var k=({className:e$1,...t})=>jsx(DropdownMenu.SubContent,{className:s.content({className:e("min-w-120",e$1)}),...t});k.displayName=DropdownMenu.SubContent.displayName;var F=({className:e$1,sideOffset:t=4,...o})=>jsx(DropdownMenu.Portal,{children:jsx(DropdownMenu.Content,{sideOffset:t,className:s.content({className:e("min-w-xs",e$1)}),...o})});F.displayName=DropdownMenu.Content.displayName;var V=({className:e,inset:t,destructive:o,...a})=>jsx(DropdownMenu.Item,{className:s.item({inset:t,destructive:o,className:e}),...a});V.displayName=DropdownMenu.Item.displayName;var L=({className:e,children:t,checked:o,...a})=>jsxs(DropdownMenu.CheckboxItem,{className:s.checkbox({className:e}),checked:o,...a,children:[jsx(DropdownMenu.ItemIndicator,{className:s.check(),asChild:true,children:jsx(Check,{})}),t]});L.displayName=DropdownMenu.CheckboxItem.displayName;var A=({className:e,children:t,...o})=>jsxs(DropdownMenu.RadioItem,{className:s.checkbox({className:e}),...o,children:[jsx(DropdownMenu.ItemIndicator,{className:s.check({className:"left-14 size-8 fill-current"}),asChild:true,children:jsx(Circle,{})}),t]});A.displayName=DropdownMenu.RadioItem.displayName;var h=({className:e,inset:t,...o})=>jsx(DropdownMenu.Label,{className:s.label({inset:t,className:e}),...o});h.displayName=DropdownMenu.Label.displayName;var x=({className:e,...t})=>jsx(DropdownMenu.Separator,{className:s.separator({className:e}),...t});x.displayName=DropdownMenu.Separator.displayName;var O=({className:e,...t})=>jsx("span",{className:s.shortcut({className:e}),...t});O.displayName="DropdownMenuShortcut";var D=({className:e,...t})=>jsx(L$1,{className:s.icon({className:e}),...t});D.displayName="DropdownMenuIcon";var Z=({open:e$1,defaultOpen:t,modal:o,menuLabel:a,children:r,items:i,disabled:m,className:f,asChild:g=true,renderItem:N,onOpenChange:I,onAction:b,...C})=>{let l=N??j;return jsxs(K,{open:e$1,defaultOpen:t,modal:o,onOpenChange:I,children:[jsx(q,{disabled:m,asChild:g,children:r}),jsxs(F,{className:e(f,"origin-(--radix-dropdown-menu-content-transform-origin)"),...C,children:[a&&jsxs(Fragment,{children:[jsx(h,{children:a}),jsx(x,{})]}),Array.isArray(i)&&i.map((y,w)=>l(y,w,b))]})]})};Z.displayName="DropdownMenu";function j(e,t,o){let{key:a,groupType:r,label:i,shortcut:m,icon:f,inset:g,onValueChange:N,...I}=e,b=a??t,C=Array.isArray(e.items)?e.items:void 0;return e.separator?jsx(x,{},a||`separator-${t}`):r==="radio"&&e.options?jsxs(Q,{value:String(e.value),onValueChange:N,children:[i&&jsxs(Fragment,{children:[jsx(h,{inset:g,children:i}),jsx(x,{})]}),e.options.map(l=>jsx(A,{disabled:l.disabled||e.disabled,value:String(l.value),children:l.label},l.key||l.value))]},b):r==="checkbox"&&e.options?jsxs(X,{children:[i&&jsxs(Fragment,{children:[jsx(h,{inset:g,children:i}),jsx(x,{})]}),e.options.map(({key:l,label:y,value:w,disabled:ee},te)=>jsx(L,{disabled:ee||e.disabled,checked:String(e.value)?.includes(String(w)),onCheckedChange:oe=>{let G=e.value??[],ae=oe?[...G,w]:G.filter(ne=>ne!==w);e.onValueChange?.(ae);},children:y},l||te))]},b):C?jsxs(J,{children:[jsxs(S,{inset:g,disabled:e.disabled,children:[f&&jsx(D,{as:f}),i]}),jsx(Y,{children:jsx(k,{children:C.map((l,y)=>j(l,`${b}-${y}`,o))})})]},b):jsxs(V,{inset:g,onClick:l=>o?.(e,l),...I,children:[f&&jsx(D,{as:f}),i,m&&jsx(O,{children:m})]},b)}export{pe as a,Ie as b,ze as c,Se as d,fe as e,be as f,ge as g,xe as h,_e as i,s as j,Z as k};