@jerry-fd/ui 0.4.2 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/antd-data-filter.d.ts +5 -68
- package/antd-data-filter.js +1 -1
- package/button-DMIeJ1gB.d.ts +272 -0
- package/chunk-EM7GIZXE.js +1 -0
- package/chunk-M7AD2PUT.js +1 -0
- package/chunk-VZDC732G.js +3 -0
- package/data-table.d.ts +377 -0
- package/data-table.js +2 -0
- package/{types-DAZ2BTzl.d.ts → helpers-Bv-Ixm5L.d.ts} +102 -10
- package/icon-BmaneZ4I.d.ts +10 -0
- package/index.d.ts +253 -40
- package/index.js +2 -1
- package/motion-features-BVPA56CL.js +1 -0
- package/package.json +5 -4
- package/theme/shadows.css +2 -0
- package/theme/typography.css +11 -0
- package/antd-data-table.d.ts +0 -201
- package/antd-data-table.js +0 -2
- package/chunk-MX44Q3PS.js +0 -2
- package/chunk-REF4DKLG.js +0 -2
- package/chunk-ULLCSZUV.js +0 -1
- package/chunk-WOT6VMZA.js +0 -1
- package/motion-features-NSSC2G6R.js +0 -1
- package/types-DCCJucSo.d.ts +0 -490
package/chunk-ULLCSZUV.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
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};
|
package/chunk-WOT6VMZA.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var d=Object.defineProperty;var e=(c,a)=>{for(var b in a)d(c,b,{get:a[b],enumerable:true});};export{e as a};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import'./chunk-WOT6VMZA.js';import {domMax}from'motion/react';var r=domMax;export{r as default};
|
package/types-DCCJucSo.d.ts
DELETED
|
@@ -1,490 +0,0 @@
|
|
|
1
|
-
import { g as ColumnDataTypes, I as IconType, e as FiltersState } from './types-DAZ2BTzl.js';
|
|
2
|
-
import React__default from 'react';
|
|
3
|
-
import { PaginationProps, TableProps } from 'antd';
|
|
4
|
-
import { ColumnType } from 'antd/es/table';
|
|
5
|
-
import { SorterResult, TableCurrentDataSource } from 'antd/es/table/interface';
|
|
6
|
-
import * as tailwind_variants from 'tailwind-variants';
|
|
7
|
-
import { VariantProps } from 'tailwind-variants';
|
|
8
|
-
|
|
9
|
-
declare const baseButtonStyle: tailwind_variants.TVReturnType<{} | {} | {}, undefined, string[], {} | {}, undefined, tailwind_variants.TVReturnType<unknown, undefined, string[], unknown, unknown, undefined>>;
|
|
10
|
-
declare const buttonVariants: tailwind_variants.TVReturnType<{
|
|
11
|
-
variant: {
|
|
12
|
-
primary: {};
|
|
13
|
-
neutral: {};
|
|
14
|
-
error: {};
|
|
15
|
-
};
|
|
16
|
-
mode: {
|
|
17
|
-
filled: {};
|
|
18
|
-
stroke: {};
|
|
19
|
-
lighter: {};
|
|
20
|
-
ghost: {};
|
|
21
|
-
};
|
|
22
|
-
loading: {
|
|
23
|
-
true: {
|
|
24
|
-
root: string;
|
|
25
|
-
};
|
|
26
|
-
};
|
|
27
|
-
size: {
|
|
28
|
-
large: {
|
|
29
|
-
root: string;
|
|
30
|
-
overlay: string;
|
|
31
|
-
icon: string;
|
|
32
|
-
};
|
|
33
|
-
medium: {
|
|
34
|
-
root: string;
|
|
35
|
-
overlay: string;
|
|
36
|
-
icon: string;
|
|
37
|
-
};
|
|
38
|
-
small: {
|
|
39
|
-
root: string;
|
|
40
|
-
overlay: string;
|
|
41
|
-
icon: string;
|
|
42
|
-
};
|
|
43
|
-
xsmall: {
|
|
44
|
-
root: string;
|
|
45
|
-
overlay: string;
|
|
46
|
-
icon: string;
|
|
47
|
-
};
|
|
48
|
-
};
|
|
49
|
-
}, {
|
|
50
|
-
root: string[];
|
|
51
|
-
icon: string;
|
|
52
|
-
overlay: string;
|
|
53
|
-
}, undefined, {
|
|
54
|
-
variant: {
|
|
55
|
-
primary: {};
|
|
56
|
-
neutral: {};
|
|
57
|
-
error: {};
|
|
58
|
-
};
|
|
59
|
-
mode: {
|
|
60
|
-
filled: {};
|
|
61
|
-
stroke: {};
|
|
62
|
-
lighter: {};
|
|
63
|
-
ghost: {};
|
|
64
|
-
};
|
|
65
|
-
loading: {
|
|
66
|
-
true: {
|
|
67
|
-
root: string;
|
|
68
|
-
};
|
|
69
|
-
};
|
|
70
|
-
size: {
|
|
71
|
-
large: {
|
|
72
|
-
root: string;
|
|
73
|
-
overlay: string;
|
|
74
|
-
icon: string;
|
|
75
|
-
};
|
|
76
|
-
medium: {
|
|
77
|
-
root: string;
|
|
78
|
-
overlay: string;
|
|
79
|
-
icon: string;
|
|
80
|
-
};
|
|
81
|
-
small: {
|
|
82
|
-
root: string;
|
|
83
|
-
overlay: string;
|
|
84
|
-
icon: string;
|
|
85
|
-
};
|
|
86
|
-
xsmall: {
|
|
87
|
-
root: string;
|
|
88
|
-
overlay: string;
|
|
89
|
-
icon: string;
|
|
90
|
-
};
|
|
91
|
-
};
|
|
92
|
-
}, {
|
|
93
|
-
root: string[];
|
|
94
|
-
icon: string;
|
|
95
|
-
overlay: string;
|
|
96
|
-
}, tailwind_variants.TVReturnType<{
|
|
97
|
-
variant: {
|
|
98
|
-
primary: {};
|
|
99
|
-
neutral: {};
|
|
100
|
-
error: {};
|
|
101
|
-
};
|
|
102
|
-
mode: {
|
|
103
|
-
filled: {};
|
|
104
|
-
stroke: {};
|
|
105
|
-
lighter: {};
|
|
106
|
-
ghost: {};
|
|
107
|
-
};
|
|
108
|
-
loading: {
|
|
109
|
-
true: {
|
|
110
|
-
root: string;
|
|
111
|
-
};
|
|
112
|
-
};
|
|
113
|
-
size: {
|
|
114
|
-
large: {
|
|
115
|
-
root: string;
|
|
116
|
-
overlay: string;
|
|
117
|
-
icon: string;
|
|
118
|
-
};
|
|
119
|
-
medium: {
|
|
120
|
-
root: string;
|
|
121
|
-
overlay: string;
|
|
122
|
-
icon: string;
|
|
123
|
-
};
|
|
124
|
-
small: {
|
|
125
|
-
root: string;
|
|
126
|
-
overlay: string;
|
|
127
|
-
icon: string;
|
|
128
|
-
};
|
|
129
|
-
xsmall: {
|
|
130
|
-
root: string;
|
|
131
|
-
overlay: string;
|
|
132
|
-
icon: string;
|
|
133
|
-
};
|
|
134
|
-
};
|
|
135
|
-
}, {
|
|
136
|
-
root: string[];
|
|
137
|
-
icon: string;
|
|
138
|
-
overlay: string;
|
|
139
|
-
}, undefined, unknown, unknown, undefined>>;
|
|
140
|
-
declare const Button: React__default.ForwardRefExoticComponent<VariantProps<tailwind_variants.TVReturnType<{
|
|
141
|
-
variant: {
|
|
142
|
-
primary: {};
|
|
143
|
-
neutral: {};
|
|
144
|
-
error: {};
|
|
145
|
-
};
|
|
146
|
-
mode: {
|
|
147
|
-
filled: {};
|
|
148
|
-
stroke: {};
|
|
149
|
-
lighter: {};
|
|
150
|
-
ghost: {};
|
|
151
|
-
};
|
|
152
|
-
loading: {
|
|
153
|
-
true: {
|
|
154
|
-
root: string;
|
|
155
|
-
};
|
|
156
|
-
};
|
|
157
|
-
size: {
|
|
158
|
-
large: {
|
|
159
|
-
root: string;
|
|
160
|
-
overlay: string;
|
|
161
|
-
icon: string;
|
|
162
|
-
};
|
|
163
|
-
medium: {
|
|
164
|
-
root: string;
|
|
165
|
-
overlay: string;
|
|
166
|
-
icon: string;
|
|
167
|
-
};
|
|
168
|
-
small: {
|
|
169
|
-
root: string;
|
|
170
|
-
overlay: string;
|
|
171
|
-
icon: string;
|
|
172
|
-
};
|
|
173
|
-
xsmall: {
|
|
174
|
-
root: string;
|
|
175
|
-
overlay: string;
|
|
176
|
-
icon: string;
|
|
177
|
-
};
|
|
178
|
-
};
|
|
179
|
-
}, {
|
|
180
|
-
root: string[];
|
|
181
|
-
icon: string;
|
|
182
|
-
overlay: string;
|
|
183
|
-
}, undefined, {
|
|
184
|
-
variant: {
|
|
185
|
-
primary: {};
|
|
186
|
-
neutral: {};
|
|
187
|
-
error: {};
|
|
188
|
-
};
|
|
189
|
-
mode: {
|
|
190
|
-
filled: {};
|
|
191
|
-
stroke: {};
|
|
192
|
-
lighter: {};
|
|
193
|
-
ghost: {};
|
|
194
|
-
};
|
|
195
|
-
loading: {
|
|
196
|
-
true: {
|
|
197
|
-
root: string;
|
|
198
|
-
};
|
|
199
|
-
};
|
|
200
|
-
size: {
|
|
201
|
-
large: {
|
|
202
|
-
root: string;
|
|
203
|
-
overlay: string;
|
|
204
|
-
icon: string;
|
|
205
|
-
};
|
|
206
|
-
medium: {
|
|
207
|
-
root: string;
|
|
208
|
-
overlay: string;
|
|
209
|
-
icon: string;
|
|
210
|
-
};
|
|
211
|
-
small: {
|
|
212
|
-
root: string;
|
|
213
|
-
overlay: string;
|
|
214
|
-
icon: string;
|
|
215
|
-
};
|
|
216
|
-
xsmall: {
|
|
217
|
-
root: string;
|
|
218
|
-
overlay: string;
|
|
219
|
-
icon: string;
|
|
220
|
-
};
|
|
221
|
-
};
|
|
222
|
-
}, {
|
|
223
|
-
root: string[];
|
|
224
|
-
icon: string;
|
|
225
|
-
overlay: string;
|
|
226
|
-
}, tailwind_variants.TVReturnType<{
|
|
227
|
-
variant: {
|
|
228
|
-
primary: {};
|
|
229
|
-
neutral: {};
|
|
230
|
-
error: {};
|
|
231
|
-
};
|
|
232
|
-
mode: {
|
|
233
|
-
filled: {};
|
|
234
|
-
stroke: {};
|
|
235
|
-
lighter: {};
|
|
236
|
-
ghost: {};
|
|
237
|
-
};
|
|
238
|
-
loading: {
|
|
239
|
-
true: {
|
|
240
|
-
root: string;
|
|
241
|
-
};
|
|
242
|
-
};
|
|
243
|
-
size: {
|
|
244
|
-
large: {
|
|
245
|
-
root: string;
|
|
246
|
-
overlay: string;
|
|
247
|
-
icon: string;
|
|
248
|
-
};
|
|
249
|
-
medium: {
|
|
250
|
-
root: string;
|
|
251
|
-
overlay: string;
|
|
252
|
-
icon: string;
|
|
253
|
-
};
|
|
254
|
-
small: {
|
|
255
|
-
root: string;
|
|
256
|
-
overlay: string;
|
|
257
|
-
icon: string;
|
|
258
|
-
};
|
|
259
|
-
xsmall: {
|
|
260
|
-
root: string;
|
|
261
|
-
overlay: string;
|
|
262
|
-
icon: string;
|
|
263
|
-
};
|
|
264
|
-
};
|
|
265
|
-
}, {
|
|
266
|
-
root: string[];
|
|
267
|
-
icon: string;
|
|
268
|
-
overlay: string;
|
|
269
|
-
}, undefined, unknown, unknown, undefined>>> & Omit<React__default.ButtonHTMLAttributes<HTMLButtonElement>, "prefix"> & {
|
|
270
|
-
asChild?: boolean;
|
|
271
|
-
startContent?: React__default.ReactNode;
|
|
272
|
-
endContent?: React__default.ReactNode;
|
|
273
|
-
} & React__default.RefAttributes<HTMLButtonElement>>;
|
|
274
|
-
|
|
275
|
-
type ButtonProps = Omit<React__default.ComponentProps<typeof Button>, 'onClick'>;
|
|
276
|
-
/** 渲染 props,传递给自定义组件 */
|
|
277
|
-
interface ToolbarRenderContext<TData = unknown> {
|
|
278
|
-
disabled?: boolean;
|
|
279
|
-
loading?: boolean;
|
|
280
|
-
exporting?: boolean;
|
|
281
|
-
columns: DataTableColumnType<TData>[];
|
|
282
|
-
onAction: (action: ToolbarAction) => void;
|
|
283
|
-
}
|
|
284
|
-
/** 内置 toolbar item */
|
|
285
|
-
type BuiltInToolbarItem = {
|
|
286
|
-
/** 内置 action 类型 */
|
|
287
|
-
type: ToolbarBuiltInActionType;
|
|
288
|
-
/** 唯一标识,默认使用 type */
|
|
289
|
-
key?: string;
|
|
290
|
-
/** 覆盖按钮 props */
|
|
291
|
-
btnProps?: ButtonProps;
|
|
292
|
-
/** tooltip 提示 */
|
|
293
|
-
tooltip?: string;
|
|
294
|
-
/** 是否隐藏 */
|
|
295
|
-
hidden?: boolean;
|
|
296
|
-
};
|
|
297
|
-
/** 自定义 toolbar item */
|
|
298
|
-
type CustomToolbarItem<TData = unknown> = {
|
|
299
|
-
type: 'custom';
|
|
300
|
-
/** 唯一标识,必填 */
|
|
301
|
-
key: string;
|
|
302
|
-
/** 自定义渲染函数 */
|
|
303
|
-
render: (ctx: ToolbarRenderContext<TData>) => React__default.ReactNode;
|
|
304
|
-
/** 是否隐藏 */
|
|
305
|
-
hidden?: boolean;
|
|
306
|
-
};
|
|
307
|
-
/** Toolbar item 类型 */
|
|
308
|
-
type ToolbarItemConfig<TData = any> = ToolbarBuiltInActionType | BuiltInToolbarItem | CustomToolbarItem<TData>;
|
|
309
|
-
/** 默认 toolbar items */
|
|
310
|
-
declare const DEFAULT_TOOLBAR_ITEMS: ToolbarItemConfig[];
|
|
311
|
-
|
|
312
|
-
type SerializeOptions = {
|
|
313
|
-
/** 日期格式,默认 'YYYY-MM-DD' */
|
|
314
|
-
dateFormat?: string;
|
|
315
|
-
/** 分页参数名映射 */
|
|
316
|
-
paginationKeys?: {
|
|
317
|
-
current?: string;
|
|
318
|
-
pageSize?: string;
|
|
319
|
-
};
|
|
320
|
-
/** 排序参数名映射 */
|
|
321
|
-
sorterKeys?: {
|
|
322
|
-
field?: string;
|
|
323
|
-
order?: string;
|
|
324
|
-
};
|
|
325
|
-
/** 筛选参数名映射,默认使用 columnId 作为 key */
|
|
326
|
-
filtersKey?: string;
|
|
327
|
-
/** 排序顺序值映射 */
|
|
328
|
-
orderValues?: {
|
|
329
|
-
ascend?: string;
|
|
330
|
-
descend?: string;
|
|
331
|
-
};
|
|
332
|
-
/**
|
|
333
|
-
* 筛选字段别名映射
|
|
334
|
-
* key: columnId, value: 实际查询参数名
|
|
335
|
-
* @example { p95: 'keyword', name: 'searchName' }
|
|
336
|
-
*/
|
|
337
|
-
fieldMapping?: Record<string, string>;
|
|
338
|
-
};
|
|
339
|
-
/**
|
|
340
|
-
* 将 TableChangeState 序列化为 POST 请求的数据结构
|
|
341
|
-
*
|
|
342
|
-
* @example
|
|
343
|
-
* const postData = serializeForPost(state);
|
|
344
|
-
* // {
|
|
345
|
-
* // current: 1,
|
|
346
|
-
* // pageSize: 10,
|
|
347
|
-
* // sortField: 'age',
|
|
348
|
-
* // sortOrder: 'desc',
|
|
349
|
-
* // filters: {
|
|
350
|
-
* // p95: [12131],
|
|
351
|
-
* // name: ['hahah'],
|
|
352
|
-
* // date: ['2026-01-30'],
|
|
353
|
-
* // tags: ['2026-01-01', '2026-01-10'],
|
|
354
|
-
* // url: ['backlog', 'todo'],
|
|
355
|
-
* // status: ['todo']
|
|
356
|
-
* // }
|
|
357
|
-
* // }
|
|
358
|
-
*/
|
|
359
|
-
declare function serializeForPost<TData = Record<string, unknown>>(state: TableChangeState<TData>, options?: SerializeOptions): Record<string, unknown>;
|
|
360
|
-
/**
|
|
361
|
-
* 将 TableChangeState 序列化为扁平化的 POST 数据(筛选条件直接作为顶级字段)
|
|
362
|
-
*
|
|
363
|
-
* @example
|
|
364
|
-
* const postData = serializeForPostFlat(state);
|
|
365
|
-
* // {
|
|
366
|
-
* // current: 1,
|
|
367
|
-
* // pageSize: 10,
|
|
368
|
-
* // sortField: 'age',
|
|
369
|
-
* // sortOrder: 'desc',
|
|
370
|
-
* // p95: 12131, // 单值直接展开
|
|
371
|
-
* // name: 'hahah',
|
|
372
|
-
* // date: '2026-01-30',
|
|
373
|
-
* // tags: ['2026-01-01', '2026-01-10'], // 多值保持数组
|
|
374
|
-
* // url: ['backlog', 'todo'],
|
|
375
|
-
* // status: 'todo'
|
|
376
|
-
* // }
|
|
377
|
-
*/
|
|
378
|
-
declare function serializeForPostFlat<TData = Record<string, unknown>>(state: TableChangeState<TData>, options?: SerializeOptions): Record<string, unknown>;
|
|
379
|
-
/**
|
|
380
|
-
* 将 TableChangeState 序列化为 URL 查询参数字符串
|
|
381
|
-
*
|
|
382
|
-
* @example
|
|
383
|
-
* const queryString = serializeForURL(state);
|
|
384
|
-
* // "current=1&pageSize=10&sortField=age&sortOrder=desc&p95=12131&name=hahah&date=2026-01-30&tags=2026-01-01,2026-01-10&url=backlog,todo&status=todo"
|
|
385
|
-
*/
|
|
386
|
-
declare function serializeForURL<TData = Record<string, unknown>>(state: TableChangeState<TData>, options?: SerializeOptions): string;
|
|
387
|
-
/**
|
|
388
|
-
* 将 TableChangeState 序列化为 URLSearchParams 对象
|
|
389
|
-
*/
|
|
390
|
-
declare function serializeToURLSearchParams<TData = Record<string, unknown>>(state: TableChangeState<TData>, options?: SerializeOptions): URLSearchParams;
|
|
391
|
-
|
|
392
|
-
type PaginationConfig = Omit<PaginationProps, 'total'>;
|
|
393
|
-
type SkeletonVariant = 'text' | 'avatar' | 'double-line' | 'group';
|
|
394
|
-
type DataTableFilterConfig = ColumnDataTypes & {
|
|
395
|
-
displayName?: string;
|
|
396
|
-
icon?: IconType;
|
|
397
|
-
pin?: boolean;
|
|
398
|
-
};
|
|
399
|
-
type DataTableColumnType<TData> = ColumnType<TData> & {
|
|
400
|
-
hidden?: boolean;
|
|
401
|
-
filter?: DataTableFilterConfig;
|
|
402
|
-
skeleton?: SkeletonVariant;
|
|
403
|
-
};
|
|
404
|
-
type BaseRecord = Record<string, unknown>;
|
|
405
|
-
type SorterState<TData = BaseRecord> = SorterResult<TData> | SorterResult<TData>[];
|
|
406
|
-
type TableChangeReason = 'filter' | 'paginate' | 'sort' | 'tab_switch' | 'mount';
|
|
407
|
-
type TableChangeState<TData = BaseRecord> = {
|
|
408
|
-
pagination: PaginationConfig;
|
|
409
|
-
filters: FiltersState;
|
|
410
|
-
sorter: SorterState<TData>;
|
|
411
|
-
extra: TableCurrentDataSource<TData>;
|
|
412
|
-
};
|
|
413
|
-
type UseDataTableStateOptions<TData extends BaseRecord = BaseRecord> = {
|
|
414
|
-
id?: string;
|
|
415
|
-
total?: number;
|
|
416
|
-
loading?: boolean;
|
|
417
|
-
syncing?: boolean;
|
|
418
|
-
exporting?: boolean;
|
|
419
|
-
disabled?: boolean;
|
|
420
|
-
fireOnMount?: boolean;
|
|
421
|
-
defaultFilters?: FiltersState;
|
|
422
|
-
defaultPagination?: PaginationConfig;
|
|
423
|
-
defaultSorter?: SorterState<TData>;
|
|
424
|
-
serializeOptions?: SerializeOptions;
|
|
425
|
-
serializeFn?: (state: TableChangeState<TData>, options?: SerializeOptions) => BaseRecord;
|
|
426
|
-
onChange?: (serialized: BaseRecord, source: TableChangeState<TData>, reason: TableChangeReason) => void;
|
|
427
|
-
onToolbarAction?: (action: ToolbarAction) => void | Promise<void>;
|
|
428
|
-
} & Pick<DataTableProps<TData>, 'toolbarItems' | 'slots' | 'enableTableAutoScrollSizer' | 'scroll'>;
|
|
429
|
-
type TableChangeHandler<TData extends BaseRecord = BaseRecord> = NonNullable<UseDataTableStateOptions<TData>['onChange']>;
|
|
430
|
-
type UseTabsDataTableStateProps<TData extends BaseRecord = BaseRecord> = {
|
|
431
|
-
fireOnMount?: boolean;
|
|
432
|
-
disabled?: boolean;
|
|
433
|
-
active?: string;
|
|
434
|
-
defaultActive?: string;
|
|
435
|
-
tabList: TabItem<TData>[];
|
|
436
|
-
onTabChange?: (value: string) => void;
|
|
437
|
-
onTableChange?: (tableId: string, serialized: BaseRecord, source: TableChangeState<TData>, reason: TableChangeReason) => void;
|
|
438
|
-
onToolbarAction?: (tableId: string, action: ToolbarAction) => void | Promise<void>;
|
|
439
|
-
};
|
|
440
|
-
type TabsTableChangeHandler<TData extends BaseRecord = BaseRecord> = NonNullable<UseTabsDataTableStateProps<TData>['onTableChange']>;
|
|
441
|
-
type ToolbarBuiltInActionType = 'data_refresh' | 'size_setting' | 'column_setting' | 'data_export' | 'filter_btn';
|
|
442
|
-
type ToolbarAction<T extends BaseRecord = BaseRecord> = {
|
|
443
|
-
action: ToolbarBuiltInActionType | string;
|
|
444
|
-
payload?: T;
|
|
445
|
-
};
|
|
446
|
-
type TabItem<TData extends BaseRecord = BaseRecord> = DataTableProps<TData> & UseDataTableStateOptions<TData> & {
|
|
447
|
-
id: string;
|
|
448
|
-
/** Tab 标签 */
|
|
449
|
-
label: React__default.ReactNode;
|
|
450
|
-
/** Tab 唯一标识 */
|
|
451
|
-
value: string;
|
|
452
|
-
};
|
|
453
|
-
type NamedClass = 'root' | 'cardHeader' | 'cardHeading' | 'cardIcon' | 'cardToolbar' | 'cardContent' | 'cardSummary' | 'cardFooter' | 'tableSummary';
|
|
454
|
-
type DataTableProps<TData extends BaseRecord = BaseRecord> = {
|
|
455
|
-
id: string;
|
|
456
|
-
activeTabId?: string;
|
|
457
|
-
/** 多 Tab 共享存储时传入,默认使用 id */
|
|
458
|
-
style?: React__default.CSSProperties & {
|
|
459
|
-
[key: `--${string}`]: string | number;
|
|
460
|
-
};
|
|
461
|
-
storageKey?: string;
|
|
462
|
-
alwaysShowingColumns?: string[];
|
|
463
|
-
title?: React__default.ReactNode;
|
|
464
|
-
icon?: React__default.ReactNode;
|
|
465
|
-
description?: React__default.ReactNode;
|
|
466
|
-
variant?: 'default' | 'accent';
|
|
467
|
-
total?: number;
|
|
468
|
-
slots?: Partial<Record<'cardSummary' | 'cardFooter' | 'tableSummary', React__default.ReactNode>>;
|
|
469
|
-
classNames?: Partial<Record<NamedClass, string>>;
|
|
470
|
-
columns: DataTableColumnType<TData>[];
|
|
471
|
-
filters?: FiltersState;
|
|
472
|
-
defaultFilters?: FiltersState;
|
|
473
|
-
className?: string;
|
|
474
|
-
toolbarItems?: ToolbarItemConfig<any>[];
|
|
475
|
-
onFiltersChange?: React__default.Dispatch<React__default.SetStateAction<FiltersState>>;
|
|
476
|
-
onToolbarAction?: (action: ToolbarAction) => void | Promise<void>;
|
|
477
|
-
loading?: boolean;
|
|
478
|
-
syncing?: boolean;
|
|
479
|
-
exporting?: boolean;
|
|
480
|
-
disabled?: boolean;
|
|
481
|
-
/** 是否启用动画,默认 true */
|
|
482
|
-
animated?: boolean;
|
|
483
|
-
enableTableAutoScrollSizer?: boolean;
|
|
484
|
-
pagination?: PaginationConfig;
|
|
485
|
-
defaultPagination?: PaginationConfig;
|
|
486
|
-
tabList?: TabItem<TData>[];
|
|
487
|
-
onTabChange?: (value: string) => void;
|
|
488
|
-
} & Omit<TableProps<TData>, 'title' | 'columns' | 'loading' | 'pagination' | 'style'>;
|
|
489
|
-
|
|
490
|
-
export { Button as B, type DataTableProps as D, type PaginationConfig as P, type SerializeOptions as S, type ToolbarAction as T, type UseDataTableStateOptions as U, buttonVariants as a, baseButtonStyle as b, type BaseRecord as c, type ToolbarItemConfig as d, type UseTabsDataTableStateProps as e, type DataTableColumnType as f, type TabItem as g, DEFAULT_TOOLBAR_ITEMS as h, type DataTableFilterConfig as i, type SorterState as j, type TableChangeHandler as k, type TableChangeReason as l, type TableChangeState as m, type TabsTableChangeHandler as n, serializeForPostFlat as o, serializeForURL as p, serializeToURLSearchParams as q, serializeForPost as s };
|