@fangxinyan/lumina 0.6.1 → 0.6.2
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/dist/Alert.cjs +3 -3
- package/dist/Alert.js +2 -2
- package/dist/AutoComplete.cjs +5 -4
- package/dist/AutoComplete.d.cts +1 -1
- package/dist/AutoComplete.d.ts +1 -1
- package/dist/AutoComplete.js +4 -3
- package/dist/Badge-DPGLV3D3.css +22 -0
- package/dist/Badge.cjs +10 -0
- package/dist/Badge.d.cts +18 -0
- package/dist/Badge.d.ts +18 -0
- package/dist/Badge.js +1 -0
- package/dist/Button.cjs +3 -7
- package/dist/Button.d.cts +5 -10
- package/dist/Button.d.ts +5 -10
- package/dist/Button.js +2 -2
- package/dist/Calendar.cjs +3 -3
- package/dist/Calendar.js +2 -2
- package/dist/{Card-RG7ECXL2.css → Card-6RMVIHWX.css} +7 -13
- package/dist/Card.cjs +2 -6
- package/dist/Card.d.cts +7 -11
- package/dist/Card.d.ts +7 -11
- package/dist/Card.js +1 -1
- package/dist/{Cascader-VSYEKQCG.css → Cascader-C2DFSMKJ.css} +64 -0
- package/dist/Cascader.cjs +5 -3
- package/dist/Cascader.d.cts +18 -2
- package/dist/Cascader.d.ts +18 -2
- package/dist/Cascader.js +4 -2
- package/dist/{Checkbox-SKJATVSN.css → Checkbox-U5EUDSYS.css} +5 -35
- package/dist/Checkbox.cjs +3 -7
- package/dist/Checkbox.d.cts +1 -18
- package/dist/Checkbox.d.ts +1 -18
- package/dist/Checkbox.js +2 -2
- package/dist/Collapse-66U5YJFY.css +53 -0
- package/dist/Collapse.cjs +11 -0
- package/dist/Collapse.d.cts +32 -0
- package/dist/Collapse.d.ts +32 -0
- package/dist/Collapse.js +2 -0
- package/dist/CommandPalette.cjs +5 -4
- package/dist/CommandPalette.js +4 -3
- package/dist/Drawer.cjs +3 -3
- package/dist/Drawer.js +2 -2
- package/dist/Empty-DC2LPORC.css +28 -0
- package/dist/Empty.cjs +2 -10
- package/dist/Empty.d.cts +1 -62
- package/dist/Empty.d.ts +1 -62
- package/dist/Empty.js +1 -1
- package/dist/Form.d.cts +1 -1
- package/dist/Form.d.ts +1 -1
- package/dist/Icon.cjs +179 -3
- package/dist/Icon.d.cts +96 -3
- package/dist/Icon.d.ts +96 -3
- package/dist/Icon.js +1 -1
- package/dist/Image.cjs +4 -4
- package/dist/Image.js +2 -2
- package/dist/{Input-33CAH4O6.css → Input-3G4ONWNU.css} +15 -42
- package/dist/Input.cjs +6 -5
- package/dist/Input.d.cts +19 -23
- package/dist/Input.d.ts +19 -23
- package/dist/Input.js +3 -2
- package/dist/InputNumber.cjs +5 -4
- package/dist/InputNumber.d.cts +1 -1
- package/dist/InputNumber.d.ts +1 -1
- package/dist/InputNumber.js +4 -3
- package/dist/Message-2MZ3LFPU.css +45 -0
- package/dist/Message.cjs +23 -0
- package/dist/Message.d.cts +54 -0
- package/dist/Message.d.ts +54 -0
- package/dist/Message.js +2 -0
- package/dist/{Modal-XSDMU4XJ.css → Modal-2QNDW4SO.css} +27 -0
- package/dist/Modal.cjs +4 -4
- package/dist/Modal.d.cts +28 -4
- package/dist/Modal.d.ts +28 -4
- package/dist/Modal.js +3 -3
- package/dist/Pagination.cjs +7 -5
- package/dist/Pagination.js +6 -4
- package/dist/Popover.cjs +2 -2
- package/dist/Popover.d.cts +11 -3
- package/dist/Popover.d.ts +11 -3
- package/dist/Popover.js +1 -1
- package/dist/Radio-GVFDPAZM.css +97 -0
- package/dist/Radio.cjs +14 -0
- package/dist/Radio.d.cts +36 -0
- package/dist/Radio.d.ts +36 -0
- package/dist/Radio.js +1 -0
- package/dist/{Select-J3CCVFJ7.css → Select-JVBQAZBG.css} +7 -23
- package/dist/Select.cjs +6 -4
- package/dist/Select.d.cts +25 -4
- package/dist/Select.d.ts +25 -4
- package/dist/Select.js +5 -3
- package/dist/Skeleton-CVWH2VWN.css +40 -0
- package/dist/Skeleton.cjs +10 -0
- package/dist/Skeleton.d.cts +30 -0
- package/dist/Skeleton.d.ts +30 -0
- package/dist/Skeleton.js +1 -0
- package/dist/Spin-3GJNMSIH.css +94 -0
- package/dist/Spin.cjs +10 -0
- package/dist/Spin.d.cts +20 -0
- package/dist/Spin.d.ts +20 -0
- package/dist/Spin.js +1 -0
- package/dist/{Table-2LPTOUIR.css → Table-ATJJQLKU.css} +0 -53
- package/dist/Table.cjs +9 -11
- package/dist/Table.d.cts +2 -21
- package/dist/Table.d.ts +2 -21
- package/dist/Table.js +8 -6
- package/dist/TablePro-3XVHYLSL.css +45 -0
- package/dist/TablePro.cjs +19 -0
- package/dist/TablePro.d.cts +21 -0
- package/dist/TablePro.d.ts +21 -0
- package/dist/TablePro.js +10 -0
- package/dist/{Tabs-RHK6XAFF.css → Tabs-BLSNI2T5.css} +0 -34
- package/dist/Tabs.cjs +2 -6
- package/dist/Tabs.d.cts +1 -16
- package/dist/Tabs.d.ts +1 -16
- package/dist/Tabs.js +1 -1
- package/dist/Tag-LB3OOJAO.css +29 -0
- package/dist/Tag.cjs +3 -7
- package/dist/Tag.d.cts +1 -11
- package/dist/Tag.d.ts +1 -11
- package/dist/Tag.js +2 -2
- package/dist/Textarea-YNET7IBH.css +54 -0
- package/dist/Textarea.cjs +15 -0
- package/dist/Textarea.d.cts +25 -0
- package/dist/Textarea.d.ts +25 -0
- package/dist/Textarea.js +2 -0
- package/dist/{Timeline-RHZAZKZ7.css → Timeline-3ZHOHPXT.css} +2 -2
- package/dist/Timeline.cjs +3 -3
- package/dist/Timeline.d.cts +1 -1
- package/dist/Timeline.d.ts +1 -1
- package/dist/Timeline.js +2 -2
- package/dist/Tooltip.cjs +2 -2
- package/dist/Tooltip.d.cts +17 -4
- package/dist/Tooltip.d.ts +17 -4
- package/dist/Tooltip.js +1 -1
- package/dist/Typography.cjs +7 -7
- package/dist/Typography.js +2 -2
- package/dist/{chunk-6Y5WRCPW.js → chunk-33NCTOEB.js} +1 -1
- package/dist/{chunk-Q2KG6SQK.cjs → chunk-35ZGBAA3.cjs} +3 -3
- package/dist/{chunk-Y3ZSG3SJ.cjs → chunk-3AS5B7MQ.cjs} +11 -30
- package/dist/{chunk-X2U7EKCS.cjs → chunk-3YJU3D5S.cjs} +28 -5
- package/dist/chunk-45VJGBGN.js +25 -0
- package/dist/{chunk-3D77MQHO.js → chunk-46VXFTEC.js} +3 -3
- package/dist/{chunk-OFGDUCT7.cjs → chunk-4WTU5P3O.cjs} +3 -3
- package/dist/{chunk-5A3RT4KD.js → chunk-5TKC6IEN.js} +4 -55
- package/dist/{chunk-62GU4OHH.cjs → chunk-5WAXZJG5.cjs} +12 -19
- package/dist/chunk-6ACKL3WH.cjs +138 -0
- package/dist/{chunk-32HBMXXV.cjs → chunk-6LZ54NPO.cjs} +70 -74
- package/dist/{chunk-UXH5PH3S.js → chunk-7NGMQIST.js} +2 -2
- package/dist/{chunk-R6BIF3FF.js → chunk-AWXCSX6J.js} +5 -23
- package/dist/chunk-AXZ7ELMA.js +41 -0
- package/dist/{chunk-G2XK57I7.cjs → chunk-B2KEZQ6S.cjs} +5 -5
- package/dist/chunk-CEJ7VBR6.js +283 -0
- package/dist/{chunk-WRDKOSSM.js → chunk-CHMCL7AV.js} +1 -1
- package/dist/{chunk-EBNRZRWY.cjs → chunk-CUXV6QNN.cjs} +5 -5
- package/dist/{chunk-ULOJ5UEY.js → chunk-CXWEOAVU.js} +1 -1
- package/dist/{chunk-TWGQZX2R.js → chunk-DQTSTJ6O.js} +3 -18
- package/dist/chunk-EIY7KEJ3.cjs +132 -0
- package/dist/{chunk-OI3CWXT3.js → chunk-EJBHR2P5.js} +3 -3
- package/dist/chunk-ELNT3CFO.js +64 -0
- package/dist/{chunk-TGHBKKSS.js → chunk-EQEJTN3V.js} +3 -43
- package/dist/chunk-F6RYCBQG.js +25 -0
- package/dist/{chunk-N57NXCNC.cjs → chunk-FBVVRTX2.cjs} +3 -44
- package/dist/chunk-FFZ6OMZI.js +110 -0
- package/dist/{chunk-73RQBWWW.js → chunk-FJNWUELL.js} +2 -2
- package/dist/chunk-GENABQYA.cjs +47 -0
- package/dist/chunk-GMN74OEY.cjs +63 -0
- package/dist/chunk-GNEZQMKH.js +218 -0
- package/dist/{chunk-Y47YTYQ3.cjs → chunk-HPFQXYKG.cjs} +159 -8
- package/dist/{chunk-4WRE4HQP.js → chunk-HWFM4MAT.js} +18 -6
- package/dist/{chunk-GY3BSHHS.cjs → chunk-HZSIUOCN.cjs} +2 -55
- package/dist/{chunk-YRZGXXWA.js → chunk-JD7A6VM3.js} +11 -17
- package/dist/chunk-K2KYM7LW.cjs +28 -0
- package/dist/{chunk-PWW64ZWO.cjs → chunk-KD4YYIIO.cjs} +1 -32
- package/dist/chunk-KGSADAOD.cjs +170 -0
- package/dist/{chunk-6ODY6MGL.cjs → chunk-MQV2XN4B.cjs} +5 -5
- package/dist/{chunk-OVZTG5CP.cjs → chunk-MT7UWY6T.cjs} +2 -2
- package/dist/chunk-MUXP7ASL.js +26 -0
- package/dist/{chunk-EEMWQX3C.cjs → chunk-NTS5L4NQ.cjs} +3 -3
- package/dist/{chunk-WBK6XIDJ.js → chunk-OBEKX4VR.js} +2 -32
- package/dist/chunk-OF3SGLZY.js +385 -0
- package/dist/chunk-ON4DEDMI.js +113 -0
- package/dist/chunk-OQBDU5I2.cjs +104 -0
- package/dist/{chunk-FIO65XYG.cjs → chunk-OYMJVU66.cjs} +48 -37
- package/dist/{chunk-5M26OVVY.js → chunk-PH3YECMF.js} +1 -1
- package/dist/chunk-Q5SZIU7Z.cjs +47 -0
- package/dist/chunk-QGHYQCF3.cjs +240 -0
- package/dist/chunk-QKQHZIF3.cjs +86 -0
- package/dist/{chunk-KYEY2LIB.cjs → chunk-SKMP2A5O.cjs} +3 -3
- package/dist/{chunk-IW5LW6XS.js → chunk-TEEFR2FD.js} +28 -5
- package/dist/{chunk-GOBWKQCX.cjs → chunk-TEG7NJHS.cjs} +3 -3
- package/dist/{chunk-2MNAZRWE.cjs → chunk-TJII7BQ2.cjs} +261 -2
- package/dist/{chunk-3TWNBJFI.cjs → chunk-TZJH5HBT.cjs} +6 -6
- package/dist/{chunk-D46EM4EN.js → chunk-UMDGS4BP.js} +1 -1
- package/dist/chunk-USQ43DJ5.js +147 -0
- package/dist/{chunk-G2K6ETP4.cjs → chunk-UUHFKIWP.cjs} +18 -6
- package/dist/chunk-WGZ2KJTZ.js +81 -0
- package/dist/{chunk-RPFMQZA5.js → chunk-WKKSAGYH.js} +39 -28
- package/dist/{chunk-54YLXXS2.js → chunk-XD3JGL5O.js} +2 -2
- package/dist/{chunk-DPNDHNKK.js → chunk-XTIN5545.js} +68 -72
- package/dist/{chunk-LZU33BX6.cjs → chunk-ZIP7F4UF.cjs} +4 -20
- package/dist/index.cjs +312 -122
- package/dist/index.d.cts +23 -17
- package/dist/index.d.ts +23 -17
- package/dist/index.js +34 -28
- package/dist/styles.css +313 -192
- package/docs/llms/badge.md +3 -3
- package/docs/llms/button.md +7 -38
- package/docs/llms/card.md +6 -12
- package/docs/llms/cascader.md +19 -0
- package/docs/llms/{accordion.md → collapse.md} +13 -11
- package/docs/llms/drawer.md +1 -1
- package/docs/llms/form.md +1 -1
- package/docs/llms/input.md +25 -16
- package/docs/llms/message.md +63 -0
- package/docs/llms/modal.md +30 -0
- package/docs/llms/popover.md +18 -1
- package/docs/llms/radio.md +37 -1
- package/docs/llms/select.md +20 -0
- package/docs/llms/spin.md +59 -0
- package/docs/llms/table.md +3 -3
- package/docs/llms/tooltip.md +16 -3
- package/docs/llms.md +5 -5
- package/package.json +17 -52
- package/dist/Accordion-REMDCQUD.css +0 -44
- package/dist/Accordion.cjs +0 -11
- package/dist/Accordion.d.cts +0 -33
- package/dist/Accordion.d.ts +0 -33
- package/dist/Accordion.js +0 -2
- package/dist/Empty-NQ72W3D7.css +0 -160
- package/dist/Tag-FGDY3W7E.css +0 -51
- package/dist/Toast-YSACW3EM.css +0 -45
- package/dist/Toast.cjs +0 -15
- package/dist/Toast.d.cts +0 -26
- package/dist/Toast.d.ts +0 -26
- package/dist/Toast.js +0 -2
- package/dist/chunk-3XTHKAEY.js +0 -39
- package/dist/chunk-DOMYUGJY.js +0 -132
- package/dist/chunk-HBWO3QKW.js +0 -74
- package/dist/chunk-JVS5ZALZ.js +0 -123
- package/dist/chunk-LIGHV4RC.cjs +0 -121
- package/dist/chunk-MCTIA6RZ.js +0 -99
- package/dist/chunk-NC4YUEXM.cjs +0 -145
- package/dist/chunk-NJ6B22YJ.js +0 -170
- package/dist/chunk-W64ARHLJ.cjs +0 -62
- package/dist/chunk-ZFW6OYAO.cjs +0 -100
- package/docs/llms/spinner.md +0 -58
- package/docs/llms/toast.md +0 -51
package/dist/Select.d.cts
CHANGED
|
@@ -18,6 +18,13 @@ interface SelectOptionGroup<T extends string | number = string> {
|
|
|
18
18
|
options: SelectOption<T>[];
|
|
19
19
|
}
|
|
20
20
|
type SelectItem<T extends string | number = string> = SelectOption<T> | SelectOptionGroup<T>;
|
|
21
|
+
type SelectFilterOption<T extends string | number = string> = boolean | ((input: string, option: SelectOption<T>) => boolean);
|
|
22
|
+
type SelectSingleChangeHandler<T extends string | number = string> = {
|
|
23
|
+
bivarianceHack(value: any): void;
|
|
24
|
+
}["bivarianceHack"];
|
|
25
|
+
type SelectMultiChangeHandler<T extends string | number = string> = {
|
|
26
|
+
bivarianceHack(value: T[]): void;
|
|
27
|
+
}["bivarianceHack"];
|
|
21
28
|
interface BaseSelectProps<T extends string | number = string> extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
|
|
22
29
|
/** Flat or mixed (groups + options) item list. */
|
|
23
30
|
options: SelectItem<T>[];
|
|
@@ -28,10 +35,18 @@ interface BaseSelectProps<T extends string | number = string> extends Omit<React
|
|
|
28
35
|
invalid?: boolean;
|
|
29
36
|
/** Show a small × to clear the selection (single mode) or all selections (multi). */
|
|
30
37
|
clearable?: boolean;
|
|
38
|
+
/** Alias for `clearable`. */
|
|
39
|
+
allowClear?: boolean | {
|
|
40
|
+
clearIcon?: React.ReactNode;
|
|
41
|
+
};
|
|
31
42
|
/** Add a search input at the top of the menu. */
|
|
32
43
|
searchable?: boolean;
|
|
44
|
+
/** Alias for `searchable`. */
|
|
45
|
+
showSearch?: boolean;
|
|
33
46
|
/** Custom filter — defaults to label/text/value substring match. */
|
|
34
|
-
filterOption?:
|
|
47
|
+
filterOption?: SelectFilterOption<T>;
|
|
48
|
+
/** Field used by the default filter. */
|
|
49
|
+
optionFilterProp?: "label" | "value" | "text" | string;
|
|
35
50
|
/** Show spinner instead of options. */
|
|
36
51
|
loading?: boolean;
|
|
37
52
|
/** Custom empty content when no options match. */
|
|
@@ -43,12 +58,16 @@ interface BaseSelectProps<T extends string | number = string> extends Omit<React
|
|
|
43
58
|
className?: string;
|
|
44
59
|
/** Class for the popped-out menu. */
|
|
45
60
|
menuClassName?: string;
|
|
61
|
+
/** Alias for `menuClassName`. */
|
|
62
|
+
popupClassName?: string;
|
|
63
|
+
/** Additional alias for `menuClassName`. */
|
|
64
|
+
dropdownClassName?: string;
|
|
46
65
|
}
|
|
47
66
|
interface SingleSelectProps<T extends string | number = string> extends BaseSelectProps<T> {
|
|
48
67
|
multiple?: false;
|
|
49
68
|
value?: T;
|
|
50
69
|
defaultValue?: T;
|
|
51
|
-
onChange?:
|
|
70
|
+
onChange?: SelectSingleChangeHandler<T>;
|
|
52
71
|
/** Fired when user clears the selection via the × button. */
|
|
53
72
|
onClear?: () => void;
|
|
54
73
|
}
|
|
@@ -56,7 +75,9 @@ interface MultiSelectProps<T extends string | number = string> extends BaseSelec
|
|
|
56
75
|
multiple: true;
|
|
57
76
|
value?: T[];
|
|
58
77
|
defaultValue?: T[];
|
|
59
|
-
onChange?:
|
|
78
|
+
onChange?: SelectMultiChangeHandler<T>;
|
|
79
|
+
/** Fired when user clears all selections via the × button. */
|
|
80
|
+
onClear?: () => void;
|
|
60
81
|
/** Max selected items shown as tags before collapsing to "+N". */
|
|
61
82
|
maxTagCount?: number;
|
|
62
83
|
}
|
|
@@ -68,4 +89,4 @@ type SelectComponent = {
|
|
|
68
89
|
/** `Select` — neumorphic dropdown. Set `multiple` for tag-style multi-select. */
|
|
69
90
|
declare const Select: SelectComponent;
|
|
70
91
|
|
|
71
|
-
export { type MultiSelectProps, Select, type SelectItem, type SelectOption, type SelectOptionGroup, type SelectProps, type SingleSelectProps };
|
|
92
|
+
export { type MultiSelectProps, Select, type SelectFilterOption, type SelectItem, type SelectMultiChangeHandler, type SelectOption, type SelectOptionGroup, type SelectProps, type SelectSingleChangeHandler, type SingleSelectProps };
|
package/dist/Select.d.ts
CHANGED
|
@@ -18,6 +18,13 @@ interface SelectOptionGroup<T extends string | number = string> {
|
|
|
18
18
|
options: SelectOption<T>[];
|
|
19
19
|
}
|
|
20
20
|
type SelectItem<T extends string | number = string> = SelectOption<T> | SelectOptionGroup<T>;
|
|
21
|
+
type SelectFilterOption<T extends string | number = string> = boolean | ((input: string, option: SelectOption<T>) => boolean);
|
|
22
|
+
type SelectSingleChangeHandler<T extends string | number = string> = {
|
|
23
|
+
bivarianceHack(value: any): void;
|
|
24
|
+
}["bivarianceHack"];
|
|
25
|
+
type SelectMultiChangeHandler<T extends string | number = string> = {
|
|
26
|
+
bivarianceHack(value: T[]): void;
|
|
27
|
+
}["bivarianceHack"];
|
|
21
28
|
interface BaseSelectProps<T extends string | number = string> extends Omit<React.HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
|
|
22
29
|
/** Flat or mixed (groups + options) item list. */
|
|
23
30
|
options: SelectItem<T>[];
|
|
@@ -28,10 +35,18 @@ interface BaseSelectProps<T extends string | number = string> extends Omit<React
|
|
|
28
35
|
invalid?: boolean;
|
|
29
36
|
/** Show a small × to clear the selection (single mode) or all selections (multi). */
|
|
30
37
|
clearable?: boolean;
|
|
38
|
+
/** Alias for `clearable`. */
|
|
39
|
+
allowClear?: boolean | {
|
|
40
|
+
clearIcon?: React.ReactNode;
|
|
41
|
+
};
|
|
31
42
|
/** Add a search input at the top of the menu. */
|
|
32
43
|
searchable?: boolean;
|
|
44
|
+
/** Alias for `searchable`. */
|
|
45
|
+
showSearch?: boolean;
|
|
33
46
|
/** Custom filter — defaults to label/text/value substring match. */
|
|
34
|
-
filterOption?:
|
|
47
|
+
filterOption?: SelectFilterOption<T>;
|
|
48
|
+
/** Field used by the default filter. */
|
|
49
|
+
optionFilterProp?: "label" | "value" | "text" | string;
|
|
35
50
|
/** Show spinner instead of options. */
|
|
36
51
|
loading?: boolean;
|
|
37
52
|
/** Custom empty content when no options match. */
|
|
@@ -43,12 +58,16 @@ interface BaseSelectProps<T extends string | number = string> extends Omit<React
|
|
|
43
58
|
className?: string;
|
|
44
59
|
/** Class for the popped-out menu. */
|
|
45
60
|
menuClassName?: string;
|
|
61
|
+
/** Alias for `menuClassName`. */
|
|
62
|
+
popupClassName?: string;
|
|
63
|
+
/** Additional alias for `menuClassName`. */
|
|
64
|
+
dropdownClassName?: string;
|
|
46
65
|
}
|
|
47
66
|
interface SingleSelectProps<T extends string | number = string> extends BaseSelectProps<T> {
|
|
48
67
|
multiple?: false;
|
|
49
68
|
value?: T;
|
|
50
69
|
defaultValue?: T;
|
|
51
|
-
onChange?:
|
|
70
|
+
onChange?: SelectSingleChangeHandler<T>;
|
|
52
71
|
/** Fired when user clears the selection via the × button. */
|
|
53
72
|
onClear?: () => void;
|
|
54
73
|
}
|
|
@@ -56,7 +75,9 @@ interface MultiSelectProps<T extends string | number = string> extends BaseSelec
|
|
|
56
75
|
multiple: true;
|
|
57
76
|
value?: T[];
|
|
58
77
|
defaultValue?: T[];
|
|
59
|
-
onChange?:
|
|
78
|
+
onChange?: SelectMultiChangeHandler<T>;
|
|
79
|
+
/** Fired when user clears all selections via the × button. */
|
|
80
|
+
onClear?: () => void;
|
|
60
81
|
/** Max selected items shown as tags before collapsing to "+N". */
|
|
61
82
|
maxTagCount?: number;
|
|
62
83
|
}
|
|
@@ -68,4 +89,4 @@ type SelectComponent = {
|
|
|
68
89
|
/** `Select` — neumorphic dropdown. Set `multiple` for tag-style multi-select. */
|
|
69
90
|
declare const Select: SelectComponent;
|
|
70
91
|
|
|
71
|
-
export { type MultiSelectProps, Select, type SelectItem, type SelectOption, type SelectOptionGroup, type SelectProps, type SingleSelectProps };
|
|
92
|
+
export { type MultiSelectProps, Select, type SelectFilterOption, type SelectItem, type SelectMultiChangeHandler, type SelectOption, type SelectOptionGroup, type SelectProps, type SelectSingleChangeHandler, type SingleSelectProps };
|
package/dist/Select.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
export { Select } from './chunk-
|
|
2
|
-
import './chunk-
|
|
1
|
+
export { Select } from './chunk-WKKSAGYH.js';
|
|
2
|
+
import './chunk-DQTSTJ6O.js';
|
|
3
3
|
import './chunk-DUFRASGO.js';
|
|
4
|
-
import './chunk-
|
|
4
|
+
import './chunk-XTIN5545.js';
|
|
5
|
+
import './chunk-WGZ2KJTZ.js';
|
|
6
|
+
import './chunk-OF3SGLZY.js';
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/* ============ Skeleton ============ */
|
|
2
|
+
.skeleton {
|
|
3
|
+
display: block;
|
|
4
|
+
background: color-mix(in oklch, var(--accent-soft) 55%, var(--bg-sunken));
|
|
5
|
+
border-radius: var(--r-sm);
|
|
6
|
+
}
|
|
7
|
+
.skeleton.wave {
|
|
8
|
+
background: linear-gradient(90deg,
|
|
9
|
+
color-mix(in oklch, var(--accent-soft) 35%, var(--bg-sunken)),
|
|
10
|
+
color-mix(in oklch, var(--accent-soft) 75%, var(--bg-sunken)),
|
|
11
|
+
color-mix(in oklch, var(--accent-soft) 35%, var(--bg-sunken)));
|
|
12
|
+
background-size: 200% 100%;
|
|
13
|
+
animation: skel-wave 1.4s ease-in-out infinite;
|
|
14
|
+
}
|
|
15
|
+
.skeleton.pulse { animation: skel-pulse 1.4s ease-in-out infinite; }
|
|
16
|
+
.skeleton.none { animation: none; }
|
|
17
|
+
.skeleton.circle { border-radius: 999px; }
|
|
18
|
+
@keyframes skel-wave { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } }
|
|
19
|
+
@keyframes skel-pulse { 0%, 100% { opacity: 1; } 50% { opacity: 0.5; } }
|
|
20
|
+
|
|
21
|
+
.skeleton-box {
|
|
22
|
+
display: flex;
|
|
23
|
+
align-items: flex-start;
|
|
24
|
+
gap: 16px;
|
|
25
|
+
width: 100%;
|
|
26
|
+
}
|
|
27
|
+
.skeleton-content {
|
|
28
|
+
flex: 1;
|
|
29
|
+
min-width: 0;
|
|
30
|
+
display: flex;
|
|
31
|
+
flex-direction: column;
|
|
32
|
+
gap: 12px;
|
|
33
|
+
}
|
|
34
|
+
.skeleton-box .skeleton-title {
|
|
35
|
+
display: block;
|
|
36
|
+
margin-bottom: 4px;
|
|
37
|
+
}
|
|
38
|
+
.skeleton-box .skeleton-row {
|
|
39
|
+
display: block;
|
|
40
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
interface SkeletonAvatarConfig {
|
|
4
|
+
shape?: "circle" | "square";
|
|
5
|
+
size?: "sm" | "md" | "lg";
|
|
6
|
+
}
|
|
7
|
+
interface SkeletonTitleConfig {
|
|
8
|
+
width?: number | string;
|
|
9
|
+
}
|
|
10
|
+
interface SkeletonParagraphConfig {
|
|
11
|
+
rows?: number;
|
|
12
|
+
width?: (number | string)[];
|
|
13
|
+
}
|
|
14
|
+
interface SkeletonProps extends Omit<React.HTMLAttributes<HTMLElement>, "title"> {
|
|
15
|
+
width?: number | string;
|
|
16
|
+
height?: number | string;
|
|
17
|
+
circle?: boolean;
|
|
18
|
+
/** `wave` is a shimmer sweep; `pulse` fades opacity; `none` disables animation. */
|
|
19
|
+
animation?: "wave" | "pulse" | "none";
|
|
20
|
+
avatar?: boolean | SkeletonAvatarConfig;
|
|
21
|
+
title?: boolean | SkeletonTitleConfig;
|
|
22
|
+
paragraph?: boolean | SkeletonParagraphConfig;
|
|
23
|
+
className?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* `Skeleton` — content placeholder during loading.
|
|
27
|
+
*/
|
|
28
|
+
declare const Skeleton: React.ForwardRefExoticComponent<SkeletonProps & React.RefAttributes<HTMLElement>>;
|
|
29
|
+
|
|
30
|
+
export { Skeleton, type SkeletonAvatarConfig, type SkeletonParagraphConfig, type SkeletonProps, type SkeletonTitleConfig };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
interface SkeletonAvatarConfig {
|
|
4
|
+
shape?: "circle" | "square";
|
|
5
|
+
size?: "sm" | "md" | "lg";
|
|
6
|
+
}
|
|
7
|
+
interface SkeletonTitleConfig {
|
|
8
|
+
width?: number | string;
|
|
9
|
+
}
|
|
10
|
+
interface SkeletonParagraphConfig {
|
|
11
|
+
rows?: number;
|
|
12
|
+
width?: (number | string)[];
|
|
13
|
+
}
|
|
14
|
+
interface SkeletonProps extends Omit<React.HTMLAttributes<HTMLElement>, "title"> {
|
|
15
|
+
width?: number | string;
|
|
16
|
+
height?: number | string;
|
|
17
|
+
circle?: boolean;
|
|
18
|
+
/** `wave` is a shimmer sweep; `pulse` fades opacity; `none` disables animation. */
|
|
19
|
+
animation?: "wave" | "pulse" | "none";
|
|
20
|
+
avatar?: boolean | SkeletonAvatarConfig;
|
|
21
|
+
title?: boolean | SkeletonTitleConfig;
|
|
22
|
+
paragraph?: boolean | SkeletonParagraphConfig;
|
|
23
|
+
className?: string;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* `Skeleton` — content placeholder during loading.
|
|
27
|
+
*/
|
|
28
|
+
declare const Skeleton: React.ForwardRefExoticComponent<SkeletonProps & React.RefAttributes<HTMLElement>>;
|
|
29
|
+
|
|
30
|
+
export { Skeleton, type SkeletonAvatarConfig, type SkeletonParagraphConfig, type SkeletonProps, type SkeletonTitleConfig };
|
package/dist/Skeleton.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Skeleton } from './chunk-5TKC6IEN.js';
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/* ============ Spin ============ */
|
|
2
|
+
.spin {
|
|
3
|
+
width: 14px;
|
|
4
|
+
height: 14px;
|
|
5
|
+
border-radius: 999px;
|
|
6
|
+
border: 2px solid currentColor;
|
|
7
|
+
border-right-color: transparent;
|
|
8
|
+
animation: spin 0.8s linear infinite;
|
|
9
|
+
display: inline-block;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
.spin.accent { color: var(--accent); }
|
|
13
|
+
.spin.success { color: var(--success); }
|
|
14
|
+
.spin.warning { color: var(--warning); }
|
|
15
|
+
.spin.danger { color: var(--danger); }
|
|
16
|
+
|
|
17
|
+
.spin.ring {
|
|
18
|
+
position: relative;
|
|
19
|
+
display: inline-block;
|
|
20
|
+
border: none;
|
|
21
|
+
border-radius: 50%;
|
|
22
|
+
background: var(--bg);
|
|
23
|
+
box-shadow: var(--neu-in-sm);
|
|
24
|
+
animation: none;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.spin.ring::before {
|
|
28
|
+
content: "";
|
|
29
|
+
position: absolute;
|
|
30
|
+
inset: 0;
|
|
31
|
+
border-radius: inherit;
|
|
32
|
+
background: conic-gradient(from 0deg,
|
|
33
|
+
transparent 0deg,
|
|
34
|
+
color-mix(in oklch, currentColor 30%, transparent) 40deg,
|
|
35
|
+
color-mix(in oklch, currentColor 70%, transparent) 100deg,
|
|
36
|
+
currentColor 220deg,
|
|
37
|
+
currentColor 340deg,
|
|
38
|
+
transparent 360deg);
|
|
39
|
+
-webkit-mask: radial-gradient(circle, transparent 60%, currentColor 61%);
|
|
40
|
+
mask: radial-gradient(circle, transparent 60%, currentColor 61%);
|
|
41
|
+
animation: spin 0.9s linear infinite;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.spin.ring.accent::before,
|
|
45
|
+
.spin.ring.success::before,
|
|
46
|
+
.spin.ring.warning::before,
|
|
47
|
+
.spin.ring.danger::before {
|
|
48
|
+
filter: drop-shadow(0 0 4px color-mix(in oklch, currentColor 50%, transparent));
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
.spin.dots {
|
|
52
|
+
display: inline-flex;
|
|
53
|
+
align-items: center;
|
|
54
|
+
gap: 0.34em;
|
|
55
|
+
border: none;
|
|
56
|
+
background: none;
|
|
57
|
+
box-shadow: none;
|
|
58
|
+
width: auto;
|
|
59
|
+
height: auto;
|
|
60
|
+
animation: none;
|
|
61
|
+
line-height: 1;
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
.spin.dots i {
|
|
65
|
+
width: 0.4em;
|
|
66
|
+
height: 0.4em;
|
|
67
|
+
border-radius: 999px;
|
|
68
|
+
background: radial-gradient(circle at 32% 28%,
|
|
69
|
+
color-mix(in oklch, currentColor 40%, var(--bg)),
|
|
70
|
+
currentColor 62%,
|
|
71
|
+
color-mix(in oklch, currentColor 82%, var(--fg)) 100%);
|
|
72
|
+
box-shadow:
|
|
73
|
+
0 0.06em 0.14em color-mix(in oklch, currentColor 45%, transparent),
|
|
74
|
+
0 0 0.35em color-mix(in oklch, currentColor 50%, transparent);
|
|
75
|
+
display: inline-block;
|
|
76
|
+
animation: spin-dot-bounce 1.2s ease-in-out infinite;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.spin.dots i:nth-child(2) { animation-delay: 0.15s; }
|
|
80
|
+
.spin.dots i:nth-child(3) { animation-delay: 0.3s; }
|
|
81
|
+
|
|
82
|
+
@keyframes spin-dot-bounce {
|
|
83
|
+
0%, 80%, 100% { transform: translateY(0); opacity: 0.5; }
|
|
84
|
+
40% { transform: translateY(-30%); opacity: 1; }
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
.spin-wrap {
|
|
88
|
+
display: inline-flex;
|
|
89
|
+
align-items: center;
|
|
90
|
+
gap: 8px;
|
|
91
|
+
color: var(--fg-muted);
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
.spin-label { font-size: 12px; }
|
package/dist/Spin.cjs
ADDED
package/dist/Spin.d.cts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
type SpinSize = "small" | "default" | "large" | number;
|
|
4
|
+
interface SpinProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
5
|
+
size?: SpinSize;
|
|
6
|
+
tone?: "accent" | "success" | "warning" | "danger" | "current";
|
|
7
|
+
/** Text rendered next to the indicator. */
|
|
8
|
+
tip?: React.ReactNode;
|
|
9
|
+
/** Same as `tip`; useful when a `label` prop reads better at call sites. */
|
|
10
|
+
label?: React.ReactNode;
|
|
11
|
+
/** `ring` is the default border spinner; `dots` is a three-dot bounce. */
|
|
12
|
+
variant?: "ring" | "dots";
|
|
13
|
+
/** Hide the indicator while preserving wrapper rendering. */
|
|
14
|
+
spinning?: boolean;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
/** `Spin` — loading indicator. */
|
|
18
|
+
declare const Spin: React.ForwardRefExoticComponent<SpinProps & React.RefAttributes<HTMLSpanElement>>;
|
|
19
|
+
|
|
20
|
+
export { Spin, type SpinProps, type SpinSize };
|
package/dist/Spin.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
type SpinSize = "small" | "default" | "large" | number;
|
|
4
|
+
interface SpinProps extends React.HTMLAttributes<HTMLSpanElement> {
|
|
5
|
+
size?: SpinSize;
|
|
6
|
+
tone?: "accent" | "success" | "warning" | "danger" | "current";
|
|
7
|
+
/** Text rendered next to the indicator. */
|
|
8
|
+
tip?: React.ReactNode;
|
|
9
|
+
/** Same as `tip`; useful when a `label` prop reads better at call sites. */
|
|
10
|
+
label?: React.ReactNode;
|
|
11
|
+
/** `ring` is the default border spinner; `dots` is a three-dot bounce. */
|
|
12
|
+
variant?: "ring" | "dots";
|
|
13
|
+
/** Hide the indicator while preserving wrapper rendering. */
|
|
14
|
+
spinning?: boolean;
|
|
15
|
+
className?: string;
|
|
16
|
+
}
|
|
17
|
+
/** `Spin` — loading indicator. */
|
|
18
|
+
declare const Spin: React.ForwardRefExoticComponent<SpinProps & React.RefAttributes<HTMLSpanElement>>;
|
|
19
|
+
|
|
20
|
+
export { Spin, type SpinProps, type SpinSize };
|
package/dist/Spin.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export { Spin } from './chunk-ELNT3CFO.js';
|
|
@@ -1,10 +1,4 @@
|
|
|
1
1
|
/* ============ Table ============ */
|
|
2
|
-
.table-card {
|
|
3
|
-
border-radius: var(--r-lg);
|
|
4
|
-
background: var(--bg);
|
|
5
|
-
box-shadow: var(--neu-out-sm);
|
|
6
|
-
overflow: hidden;
|
|
7
|
-
}
|
|
8
2
|
.table-wrap {
|
|
9
3
|
border-radius: var(--r-lg);
|
|
10
4
|
background: var(--bg);
|
|
@@ -246,50 +240,3 @@
|
|
|
246
240
|
.table-pagination {
|
|
247
241
|
margin-top: 12px;
|
|
248
242
|
}
|
|
249
|
-
|
|
250
|
-
/* Pro: card-wrap with toolbar + table + footer */
|
|
251
|
-
.table-card {
|
|
252
|
-
border-radius: var(--r-lg);
|
|
253
|
-
background: var(--bg);
|
|
254
|
-
box-shadow: var(--neu-out-sm);
|
|
255
|
-
overflow: hidden;
|
|
256
|
-
}
|
|
257
|
-
.table-card .table-wrap { background: transparent; box-shadow: none; border-radius: 0; }
|
|
258
|
-
.table-card .table-wrap.joined { border-radius: 0; }
|
|
259
|
-
/* When TablePro hosts the built-in pagination, seat it inside the card. */
|
|
260
|
-
.table-card .table-pagination {
|
|
261
|
-
margin-top: 0;
|
|
262
|
-
padding: 6px 16px;
|
|
263
|
-
border-top: 1px solid var(--divider);
|
|
264
|
-
background: color-mix(in oklch, var(--bg-sunken) 30%, transparent);
|
|
265
|
-
}
|
|
266
|
-
.table-toolbar {
|
|
267
|
-
display: flex;
|
|
268
|
-
align-items: center;
|
|
269
|
-
gap: var(--gap-3);
|
|
270
|
-
padding: 14px 16px;
|
|
271
|
-
border-bottom: 1px solid var(--divider);
|
|
272
|
-
}
|
|
273
|
-
.table-toolbar .table-title {
|
|
274
|
-
font-size: 14px;
|
|
275
|
-
font-weight: 600;
|
|
276
|
-
margin-right: 8px;
|
|
277
|
-
}
|
|
278
|
-
.table-toolbar-main {
|
|
279
|
-
flex: 1;
|
|
280
|
-
display: flex;
|
|
281
|
-
align-items: center;
|
|
282
|
-
gap: 10px;
|
|
283
|
-
min-width: 0;
|
|
284
|
-
}
|
|
285
|
-
.table-toolbar-actions {
|
|
286
|
-
display: flex;
|
|
287
|
-
align-items: center;
|
|
288
|
-
gap: 8px;
|
|
289
|
-
flex-shrink: 0;
|
|
290
|
-
}
|
|
291
|
-
.table-footer {
|
|
292
|
-
padding: 10px 16px;
|
|
293
|
-
border-top: 1px solid var(--divider);
|
|
294
|
-
background: color-mix(in oklch, var(--bg-sunken) 30%, transparent);
|
|
295
|
-
}
|
package/dist/Table.cjs
CHANGED
|
@@ -1,20 +1,18 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
require('./chunk-
|
|
5
|
-
require('./chunk-
|
|
6
|
-
require('./chunk-
|
|
7
|
-
require('./chunk-
|
|
3
|
+
var chunk3AS5B7MQ_cjs = require('./chunk-3AS5B7MQ.cjs');
|
|
4
|
+
require('./chunk-CUXV6QNN.cjs');
|
|
5
|
+
require('./chunk-OYMJVU66.cjs');
|
|
6
|
+
require('./chunk-ZIP7F4UF.cjs');
|
|
7
|
+
require('./chunk-FBVVRTX2.cjs');
|
|
8
8
|
require('./chunk-YB3IWIOJ.cjs');
|
|
9
|
-
require('./chunk-
|
|
9
|
+
require('./chunk-6LZ54NPO.cjs');
|
|
10
|
+
require('./chunk-OQBDU5I2.cjs');
|
|
11
|
+
require('./chunk-TJII7BQ2.cjs');
|
|
10
12
|
|
|
11
13
|
|
|
12
14
|
|
|
13
15
|
Object.defineProperty(exports, "Table", {
|
|
14
16
|
enumerable: true,
|
|
15
|
-
get: function () { return
|
|
16
|
-
});
|
|
17
|
-
Object.defineProperty(exports, "TablePro", {
|
|
18
|
-
enumerable: true,
|
|
19
|
-
get: function () { return chunkY3ZSG3SJ_cjs.TablePro; }
|
|
17
|
+
get: function () { return chunk3AS5B7MQ_cjs.Table; }
|
|
20
18
|
});
|
package/dist/Table.d.cts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
1
|
import * as React from 'react';
|
|
3
2
|
|
|
4
3
|
type RowKey = string | number;
|
|
@@ -98,7 +97,7 @@ interface TableProps<Row = any> extends Omit<React.HTMLAttributes<HTMLDivElement
|
|
|
98
97
|
sortDir?: "asc" | "desc";
|
|
99
98
|
onSort?: (key: string) => void;
|
|
100
99
|
/**
|
|
101
|
-
* Row selection config — preferred API
|
|
100
|
+
* Row selection config — preferred API.
|
|
102
101
|
* When provided, takes precedence over `selectable` / `selected` / `onSelect`.
|
|
103
102
|
*/
|
|
104
103
|
rowSelection?: RowSelectionConfig<Row>;
|
|
@@ -132,23 +131,5 @@ interface TableProps<Row = any> extends Omit<React.HTMLAttributes<HTMLDivElement
|
|
|
132
131
|
type TableComponent = <Row extends Record<string, any> = any>(props: TableProps<Row> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
|
|
133
132
|
/** `Table` — neumorphic data table with sorting, selection and visual variants. */
|
|
134
133
|
declare const Table: TableComponent;
|
|
135
|
-
interface TableProProps<Row = any> extends Omit<TableProps<Row>, "title"> {
|
|
136
|
-
/** Toolbar slot — search input, filter, etc. */
|
|
137
|
-
toolbar?: React.ReactNode;
|
|
138
|
-
/** Right-aligned actions slot in toolbar. */
|
|
139
|
-
actions?: React.ReactNode;
|
|
140
|
-
/** Footer slot — usually <Pagination />. Optional now that `pagination` is built-in. */
|
|
141
|
-
footer?: React.ReactNode;
|
|
142
|
-
/** Title shown above the toolbar. */
|
|
143
|
-
title?: React.ReactNode;
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* `TablePro` — full-featured table card with toolbar, sortable/selectable rows,
|
|
147
|
-
* variants, and a footer slot for pagination.
|
|
148
|
-
*
|
|
149
|
-
* Prefer the built-in `pagination` prop over rendering a `<Pagination />` in the
|
|
150
|
-
* `footer` slot; `footer` still works for custom footers.
|
|
151
|
-
*/
|
|
152
|
-
declare function TablePro<Row extends Record<string, any> = any>({ toolbar, actions, footer, title, className, ...tableProps }: TableProProps<Row>): react_jsx_runtime.JSX.Element;
|
|
153
134
|
|
|
154
|
-
export { type ExpandableConfig, type PaginationConfig, type RowKey, type RowSelectionConfig, Table, type TableColumn, type TableColumnFilterItem,
|
|
135
|
+
export { type ExpandableConfig, type PaginationConfig, type RowKey, type RowSelectionConfig, Table, type TableColumn, type TableColumnFilterItem, type TableProps, type TableScrollConfig, type TableVariant };
|
package/dist/Table.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
1
|
import * as React from 'react';
|
|
3
2
|
|
|
4
3
|
type RowKey = string | number;
|
|
@@ -98,7 +97,7 @@ interface TableProps<Row = any> extends Omit<React.HTMLAttributes<HTMLDivElement
|
|
|
98
97
|
sortDir?: "asc" | "desc";
|
|
99
98
|
onSort?: (key: string) => void;
|
|
100
99
|
/**
|
|
101
|
-
* Row selection config — preferred API
|
|
100
|
+
* Row selection config — preferred API.
|
|
102
101
|
* When provided, takes precedence over `selectable` / `selected` / `onSelect`.
|
|
103
102
|
*/
|
|
104
103
|
rowSelection?: RowSelectionConfig<Row>;
|
|
@@ -132,23 +131,5 @@ interface TableProps<Row = any> extends Omit<React.HTMLAttributes<HTMLDivElement
|
|
|
132
131
|
type TableComponent = <Row extends Record<string, any> = any>(props: TableProps<Row> & React.RefAttributes<HTMLDivElement>) => React.ReactElement | null;
|
|
133
132
|
/** `Table` — neumorphic data table with sorting, selection and visual variants. */
|
|
134
133
|
declare const Table: TableComponent;
|
|
135
|
-
interface TableProProps<Row = any> extends Omit<TableProps<Row>, "title"> {
|
|
136
|
-
/** Toolbar slot — search input, filter, etc. */
|
|
137
|
-
toolbar?: React.ReactNode;
|
|
138
|
-
/** Right-aligned actions slot in toolbar. */
|
|
139
|
-
actions?: React.ReactNode;
|
|
140
|
-
/** Footer slot — usually <Pagination />. Optional now that `pagination` is built-in. */
|
|
141
|
-
footer?: React.ReactNode;
|
|
142
|
-
/** Title shown above the toolbar. */
|
|
143
|
-
title?: React.ReactNode;
|
|
144
|
-
}
|
|
145
|
-
/**
|
|
146
|
-
* `TablePro` — full-featured table card with toolbar, sortable/selectable rows,
|
|
147
|
-
* variants, and a footer slot for pagination.
|
|
148
|
-
*
|
|
149
|
-
* Prefer the built-in `pagination` prop over rendering a `<Pagination />` in the
|
|
150
|
-
* `footer` slot; `footer` still works for custom footers.
|
|
151
|
-
*/
|
|
152
|
-
declare function TablePro<Row extends Record<string, any> = any>({ toolbar, actions, footer, title, className, ...tableProps }: TableProProps<Row>): react_jsx_runtime.JSX.Element;
|
|
153
134
|
|
|
154
|
-
export { type ExpandableConfig, type PaginationConfig, type RowKey, type RowSelectionConfig, Table, type TableColumn, type TableColumnFilterItem,
|
|
135
|
+
export { type ExpandableConfig, type PaginationConfig, type RowKey, type RowSelectionConfig, Table, type TableColumn, type TableColumnFilterItem, type TableProps, type TableScrollConfig, type TableVariant };
|
package/dist/Table.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
-
export { Table
|
|
2
|
-
import './chunk-
|
|
3
|
-
import './chunk-
|
|
4
|
-
import './chunk-
|
|
5
|
-
import './chunk-
|
|
1
|
+
export { Table } from './chunk-AWXCSX6J.js';
|
|
2
|
+
import './chunk-7NGMQIST.js';
|
|
3
|
+
import './chunk-WKKSAGYH.js';
|
|
4
|
+
import './chunk-DQTSTJ6O.js';
|
|
5
|
+
import './chunk-EQEJTN3V.js';
|
|
6
6
|
import './chunk-DUFRASGO.js';
|
|
7
|
-
import './chunk-
|
|
7
|
+
import './chunk-XTIN5545.js';
|
|
8
|
+
import './chunk-WGZ2KJTZ.js';
|
|
9
|
+
import './chunk-OF3SGLZY.js';
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
/* ============ TablePro ============ */
|
|
2
|
+
.table-card {
|
|
3
|
+
border-radius: var(--r-lg);
|
|
4
|
+
background: var(--bg);
|
|
5
|
+
box-shadow: var(--neu-out-sm);
|
|
6
|
+
overflow: hidden;
|
|
7
|
+
}
|
|
8
|
+
.table-card .table-wrap { background: transparent; box-shadow: none; border-radius: 0; }
|
|
9
|
+
.table-card .table-wrap.joined { border-radius: 0; }
|
|
10
|
+
.table-card .table-pagination {
|
|
11
|
+
margin-top: 0;
|
|
12
|
+
padding: 6px 16px;
|
|
13
|
+
border-top: 1px solid var(--divider);
|
|
14
|
+
background: color-mix(in oklch, var(--bg-sunken) 30%, transparent);
|
|
15
|
+
}
|
|
16
|
+
.table-toolbar {
|
|
17
|
+
display: flex;
|
|
18
|
+
align-items: center;
|
|
19
|
+
gap: var(--gap-3);
|
|
20
|
+
padding: 14px 16px;
|
|
21
|
+
border-bottom: 1px solid var(--divider);
|
|
22
|
+
}
|
|
23
|
+
.table-toolbar .table-title {
|
|
24
|
+
font-size: 14px;
|
|
25
|
+
font-weight: 600;
|
|
26
|
+
margin-right: 8px;
|
|
27
|
+
}
|
|
28
|
+
.table-toolbar-main {
|
|
29
|
+
flex: 1;
|
|
30
|
+
display: flex;
|
|
31
|
+
align-items: center;
|
|
32
|
+
gap: 10px;
|
|
33
|
+
min-width: 0;
|
|
34
|
+
}
|
|
35
|
+
.table-toolbar-actions {
|
|
36
|
+
display: flex;
|
|
37
|
+
align-items: center;
|
|
38
|
+
gap: 8px;
|
|
39
|
+
flex-shrink: 0;
|
|
40
|
+
}
|
|
41
|
+
.table-footer {
|
|
42
|
+
padding: 10px 16px;
|
|
43
|
+
border-top: 1px solid var(--divider);
|
|
44
|
+
background: color-mix(in oklch, var(--bg-sunken) 30%, transparent);
|
|
45
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var chunkK2KYM7LW_cjs = require('./chunk-K2KYM7LW.cjs');
|
|
4
|
+
require('./chunk-3AS5B7MQ.cjs');
|
|
5
|
+
require('./chunk-CUXV6QNN.cjs');
|
|
6
|
+
require('./chunk-OYMJVU66.cjs');
|
|
7
|
+
require('./chunk-ZIP7F4UF.cjs');
|
|
8
|
+
require('./chunk-FBVVRTX2.cjs');
|
|
9
|
+
require('./chunk-YB3IWIOJ.cjs');
|
|
10
|
+
require('./chunk-6LZ54NPO.cjs');
|
|
11
|
+
require('./chunk-OQBDU5I2.cjs');
|
|
12
|
+
require('./chunk-TJII7BQ2.cjs');
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
Object.defineProperty(exports, "TablePro", {
|
|
17
|
+
enumerable: true,
|
|
18
|
+
get: function () { return chunkK2KYM7LW_cjs.TablePro; }
|
|
19
|
+
});
|