@itilite/lumina-ui 0.0.323 → 1.0.0-alpha
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/README.md +43 -10
- package/dist/AdvancedDateRangePicker-CN9WN0rH.d.mts +56 -0
- package/dist/AdvancedDateRangePicker-CN9WN0rH.d.ts +56 -0
- package/dist/AdvancedDateRangePicker-CzN1HGsC.d.mts +57 -0
- package/dist/AdvancedDateRangePicker-CzN1HGsC.d.ts +57 -0
- package/dist/AdvancedDateRangePicker-DAPxgRl3.d.mts +54 -0
- package/dist/AdvancedDateRangePicker-DAPxgRl3.d.ts +54 -0
- package/dist/AdvancedDateRangePicker-DW94285G.d.mts +56 -0
- package/dist/AdvancedDateRangePicker-DW94285G.d.ts +56 -0
- package/dist/AdvancedDateRangePicker-Eh6n4ne0.d.mts +57 -0
- package/dist/AdvancedDateRangePicker-Eh6n4ne0.d.ts +57 -0
- package/dist/Avatar-DX2JwvAs.d.mts +17 -0
- package/dist/Avatar-DX2JwvAs.d.ts +17 -0
- package/dist/Table-BA0D3p1m.d.mts +78 -0
- package/dist/Table-BA0D3p1m.d.ts +78 -0
- package/dist/Table-BLZ6c46U.d.mts +77 -0
- package/dist/Table-BLZ6c46U.d.ts +77 -0
- package/dist/Table-BMqYnFi4.d.mts +25 -0
- package/dist/Table-BMqYnFi4.d.ts +25 -0
- package/dist/Table-BOq-_9Nr.d.mts +121 -0
- package/dist/Table-BOq-_9Nr.d.ts +121 -0
- package/dist/Table-BRcthrYV.d.mts +98 -0
- package/dist/Table-BRcthrYV.d.ts +98 -0
- package/dist/Table-BWlFCfBG.d.mts +106 -0
- package/dist/Table-BWlFCfBG.d.ts +106 -0
- package/dist/Table-CHFmNrme.d.mts +77 -0
- package/dist/Table-CHFmNrme.d.ts +77 -0
- package/dist/Table-CX6UwQiD.d.mts +116 -0
- package/dist/Table-CX6UwQiD.d.ts +116 -0
- package/dist/Table-Chud2XSq.d.mts +99 -0
- package/dist/Table-Chud2XSq.d.ts +99 -0
- package/dist/Table-D5QRe_j3.d.mts +121 -0
- package/dist/Table-D5QRe_j3.d.ts +121 -0
- package/dist/Table-DAgFGahx.d.mts +39 -0
- package/dist/Table-DAgFGahx.d.ts +39 -0
- package/dist/Table-DWniK7At.d.mts +87 -0
- package/dist/Table-DWniK7At.d.ts +87 -0
- package/dist/Table-PyFlnUDu.d.mts +47 -0
- package/dist/Table-PyFlnUDu.d.ts +47 -0
- package/dist/Table-wqyg13Y9.d.mts +77 -0
- package/dist/Table-wqyg13Y9.d.ts +77 -0
- package/dist/Tag-l7I5oeyk.d.mts +13 -0
- package/dist/Tag-l7I5oeyk.d.ts +13 -0
- package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.d.mts +2 -0
- package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.d.ts +2 -0
- package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.js +791 -0
- package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.mjs +11 -0
- package/dist/atom/AdvancedDateRangePicker/InternalCalendar.d.mts +18 -0
- package/dist/atom/AdvancedDateRangePicker/InternalCalendar.d.ts +18 -0
- package/dist/atom/AdvancedDateRangePicker/InternalCalendar.js +370 -0
- package/dist/atom/AdvancedDateRangePicker/InternalCalendar.mjs +8 -0
- package/dist/atom/Avatar/Avatar.d.mts +9 -0
- package/dist/atom/Avatar/Avatar.d.ts +9 -0
- package/dist/atom/Avatar/Avatar.js +123 -0
- package/dist/atom/Avatar/Avatar.mjs +9 -0
- package/dist/{Button.js → atom/Button/Button.js} +4 -4
- package/dist/{Button.mjs → atom/Button/Button.mjs} +2 -2
- package/dist/{Checkbox.js → atom/Checkbox/Checkbox.js} +4 -4
- package/dist/{Checkbox.mjs → atom/Checkbox/Checkbox.mjs} +2 -2
- package/dist/atom/LoadingSpinner/LoadingSpinner.d.mts +19 -0
- package/dist/atom/LoadingSpinner/LoadingSpinner.d.ts +19 -0
- package/dist/atom/LoadingSpinner/LoadingSpinner.js +90 -0
- package/dist/atom/LoadingSpinner/LoadingSpinner.mjs +9 -0
- package/dist/atom/Modal/Modal.d.mts +25 -0
- package/dist/atom/Modal/Modal.d.ts +25 -0
- package/dist/atom/Modal/Modal.js +267 -0
- package/dist/atom/Modal/Modal.mjs +10 -0
- package/dist/atom/Radio/Radio.d.mts +17 -0
- package/dist/atom/Radio/Radio.d.ts +17 -0
- package/dist/atom/Radio/Radio.js +122 -0
- package/dist/atom/Radio/Radio.mjs +9 -0
- package/dist/atom/RangePicker/Chevron.d.mts +13 -0
- package/dist/atom/RangePicker/Chevron.d.ts +13 -0
- package/dist/atom/RangePicker/Chevron.js +110 -0
- package/dist/atom/RangePicker/Chevron.mjs +7 -0
- package/dist/atom/RangePicker/RangePicker.d.mts +26 -0
- package/dist/atom/RangePicker/RangePicker.d.ts +26 -0
- package/dist/atom/RangePicker/RangePicker.js +1465 -0
- package/dist/atom/RangePicker/RangePicker.mjs +13 -0
- package/dist/atom/Select/Select.d.mts +40 -0
- package/dist/atom/Select/Select.d.ts +40 -0
- package/dist/atom/Select/Select.js +805 -0
- package/dist/atom/Select/Select.mjs +11 -0
- package/dist/atom/Slider/Slider.d.mts +34 -0
- package/dist/atom/Slider/Slider.d.ts +34 -0
- package/dist/atom/Slider/Slider.js +107 -0
- package/dist/atom/Slider/Slider.mjs +9 -0
- package/dist/atom/Switch/Switch.d.mts +13 -0
- package/dist/atom/Switch/Switch.d.ts +13 -0
- package/dist/atom/Switch/Switch.js +102 -0
- package/dist/atom/Switch/Switch.mjs +9 -0
- package/dist/atom/Table/LuminaPagination.d.mts +7 -0
- package/dist/atom/Table/LuminaPagination.d.ts +7 -0
- package/dist/atom/Table/LuminaPagination.js +153 -0
- package/dist/atom/Table/LuminaPagination.mjs +9 -0
- package/dist/atom/Table/Table.d.mts +3 -0
- package/dist/atom/Table/Table.d.ts +3 -0
- package/dist/atom/Table/Table.js +306 -0
- package/dist/atom/Table/Table.mjs +9 -0
- package/dist/atom/Table/TableAccordion.d.mts +9 -0
- package/dist/atom/Table/TableAccordion.d.ts +9 -0
- package/dist/atom/Table/TableAccordion.js +91 -0
- package/dist/atom/Table/TableAccordion.mjs +10 -0
- package/dist/atom/Table/TableColumnHeader.d.mts +7 -0
- package/dist/atom/Table/TableColumnHeader.d.ts +7 -0
- package/dist/atom/Table/TableColumnHeader.js +151 -0
- package/dist/atom/Table/TableColumnHeader.mjs +10 -0
- package/dist/atom/Table/TableToolbar.d.mts +9 -0
- package/dist/atom/Table/TableToolbar.d.ts +9 -0
- package/dist/atom/Table/TableToolbar.js +114 -0
- package/dist/atom/Table/TableToolbar.mjs +10 -0
- package/dist/atom/Table/__tests__/Table.test.d.mts +2 -0
- package/dist/atom/Table/__tests__/Table.test.d.ts +2 -0
- package/dist/atom/Table/__tests__/Table.test.js +61133 -0
- package/dist/atom/Table/__tests__/Table.test.mjs +59522 -0
- package/dist/atom/TableAccordion/index.d.mts +17 -0
- package/dist/atom/TableAccordion/index.d.ts +17 -0
- package/dist/atom/TableAccordion/index.js +91 -0
- package/dist/atom/TableAccordion/index.mjs +9 -0
- package/dist/atom/TableToolbar/index.d.mts +23 -0
- package/dist/atom/TableToolbar/index.d.ts +23 -0
- package/dist/atom/TableToolbar/index.js +114 -0
- package/dist/atom/TableToolbar/index.mjs +9 -0
- package/dist/atom/Tag/Tag.d.mts +6 -0
- package/dist/atom/Tag/Tag.d.ts +6 -0
- package/dist/atom/Tag/Tag.js +108 -0
- package/dist/atom/Tag/Tag.mjs +9 -0
- package/dist/atom/Tooltip/Tooltip.d.mts +12 -0
- package/dist/atom/Tooltip/Tooltip.d.ts +12 -0
- package/dist/atom/Tooltip/Tooltip.js +97 -0
- package/dist/atom/Tooltip/Tooltip.mjs +9 -0
- package/dist/chunk-2EBPXGRY.mjs +65 -0
- package/dist/chunk-2PIFDGVK.mjs +420 -0
- package/dist/chunk-35KDS27M.mjs +618 -0
- package/dist/chunk-3S4X3YO2.mjs +64 -0
- package/dist/chunk-3XUHGVYA.mjs +77 -0
- package/dist/chunk-4JX54OKI.mjs +627 -0
- package/dist/chunk-4VZB2KR2.mjs +51 -0
- package/dist/chunk-5HF6Y37C.mjs +642 -0
- package/dist/chunk-5OGQ4YIR.mjs +238 -0
- package/dist/chunk-6FCSXN7R.mjs +388 -0
- package/dist/chunk-7W72LPSU.mjs +66 -0
- package/dist/chunk-A66QDQHK.mjs +627 -0
- package/dist/chunk-ABLIL47F.mjs +618 -0
- package/dist/chunk-AEPDEUGY.mjs +627 -0
- package/dist/chunk-AF2RKLH6.mjs +77 -0
- package/dist/chunk-AFLEGUF3.mjs +232 -0
- package/dist/chunk-APCEITHQ.mjs +232 -0
- package/dist/chunk-AVQBFGBT.mjs +141 -0
- package/dist/chunk-B5BOBELW.mjs +213 -0
- package/dist/chunk-BQ4PVLJ4.mjs +262 -0
- package/dist/chunk-D3N7VFER.mjs +73 -0
- package/dist/{chunk-OMYHSSPQ.mjs → chunk-DBNLBCQK.mjs} +5 -5
- package/dist/chunk-DLLT6V65.mjs +141 -0
- package/dist/chunk-DOQQRYTS.mjs +73 -0
- package/dist/chunk-DSVR2DVF.mjs +660 -0
- package/dist/chunk-DXUPULDI.mjs +424 -0
- package/dist/chunk-E465D6OH.mjs +644 -0
- package/dist/chunk-E4FCLHYA.mjs +678 -0
- package/dist/chunk-ENQN5BAN.mjs +225 -0
- package/dist/chunk-F6VMSH4N.mjs +79 -0
- package/dist/chunk-FKGGN3FA.mjs +412 -0
- package/dist/chunk-GFTO2N3Q.mjs +432 -0
- package/dist/chunk-GM6H6RPJ.mjs +232 -0
- package/dist/chunk-GU5F7Z7I.mjs +681 -0
- package/dist/chunk-HF3VJBMY.mjs +244 -0
- package/dist/{chunk-ME35H7QC.mjs → chunk-HISCHZ5H.mjs} +4 -4
- package/dist/chunk-HWQBE6PT.mjs +99 -0
- package/dist/chunk-HXM657YW.mjs +115 -0
- package/dist/chunk-I5VHKSQR.mjs +64 -0
- package/dist/chunk-ICSZZNTY.mjs +384 -0
- package/dist/chunk-IWO2Y5QX.mjs +89 -0
- package/dist/chunk-IZGLD7U3.mjs +667 -0
- package/dist/chunk-J7X2PZG6.mjs +232 -0
- package/dist/chunk-JUXBLRMQ.mjs +50 -0
- package/dist/chunk-JXFSGADI.mjs +678 -0
- package/dist/chunk-KGKRSR6D.mjs +388 -0
- package/dist/chunk-KQKNFGWZ.mjs +388 -0
- package/dist/chunk-LCH4DXJY.mjs +92 -0
- package/dist/chunk-LCXU3K57.mjs +232 -0
- package/dist/chunk-LRN4XOIR.mjs +71 -0
- package/dist/chunk-LROMXY35.mjs +116 -0
- package/dist/chunk-LUNPHYAR.mjs +681 -0
- package/dist/chunk-LVOTEPLC.mjs +64 -0
- package/dist/chunk-M2ZM3X5Y.mjs +56 -0
- package/dist/chunk-M4MIYHAV.mjs +43 -0
- package/dist/chunk-M7F7DOC4.mjs +41 -0
- package/dist/chunk-MHWFVML4.mjs +115 -0
- package/dist/chunk-MLCMZRUC.mjs +50 -0
- package/dist/chunk-MNARBWAJ.mjs +47 -0
- package/dist/chunk-MPTVYTYS.mjs +0 -0
- package/dist/chunk-MQFW3LZR.mjs +111 -0
- package/dist/chunk-N2WTNCQU.mjs +66 -0
- package/dist/chunk-N355RJGH.mjs +141 -0
- package/dist/chunk-N3YFQDW7.mjs +77 -0
- package/dist/chunk-N4DPPZVJ.mjs +269 -0
- package/dist/chunk-NGCBOOIE.mjs +225 -0
- package/dist/chunk-NWQQYJSP.mjs +688 -0
- package/dist/chunk-NYQV556V.mjs +667 -0
- package/dist/chunk-O5C3355V.mjs +246 -0
- package/dist/chunk-OCP43S7U.mjs +241 -0
- package/dist/chunk-OHLFRULE.mjs +432 -0
- package/dist/chunk-PLO46EKV.mjs +65 -0
- package/dist/chunk-PQ3B2FEB.mjs +249 -0
- package/dist/chunk-PSBEYGD4.mjs +618 -0
- package/dist/chunk-PWIBJI6Z.mjs +115 -0
- package/dist/chunk-Q5KPXEH5.mjs +223 -0
- package/dist/chunk-QC34HHAY.mjs +57 -0
- package/dist/chunk-QKTMWS4J.mjs +43 -0
- package/dist/chunk-QVWV36BK.mjs +73 -0
- package/dist/chunk-QWK3MYDM.mjs +64 -0
- package/dist/chunk-RE44YAMD.mjs +47 -0
- package/dist/chunk-RH6DAYBU.mjs +369 -0
- package/dist/chunk-RSSEJENT.mjs +269 -0
- package/dist/chunk-SJBS5QCJ.mjs +225 -0
- package/dist/chunk-SWRFCTJW.mjs +77 -0
- package/dist/chunk-T4XNCAIB.mjs +231 -0
- package/dist/chunk-TCX5IFQ4.mjs +627 -0
- package/dist/chunk-TSAUBT2F.mjs +74 -0
- package/dist/chunk-U7Q7ILSE.mjs +690 -0
- package/dist/chunk-UHTUJJH7.mjs +112 -0
- package/dist/chunk-UOHYCMUS.mjs +53 -0
- package/dist/chunk-UQJ3BDM4.mjs +141 -0
- package/dist/chunk-UQZBL3F7.mjs +0 -0
- package/dist/chunk-UQZNUEZE.mjs +64 -0
- package/dist/chunk-URGYNKJM.mjs +229 -0
- package/dist/chunk-UTMZY37A.mjs +141 -0
- package/dist/chunk-UUEPD2FH.mjs +141 -0
- package/dist/chunk-V3CHJHUX.mjs +424 -0
- package/dist/chunk-VQOUJQIF.mjs +249 -0
- package/dist/chunk-VY3QH43W.mjs +6 -0
- package/dist/chunk-W2N3AWY6.mjs +80 -0
- package/dist/chunk-WUVS6S7N.mjs +119 -0
- package/dist/chunk-WZS2K7X3.mjs +688 -0
- package/dist/chunk-X76GNSBB.mjs +87 -0
- package/dist/chunk-XG7CZXBW.mjs +244 -0
- package/dist/chunk-XXKIBYXD.mjs +109 -0
- package/dist/chunk-XXTUVMAY.mjs +51 -0
- package/dist/chunk-Y3BIY4DW.mjs +618 -0
- package/dist/chunk-Y7FP6ZMW.mjs +225 -0
- package/dist/chunk-YELLXCMY.mjs +265 -0
- package/dist/chunk-YQEEM26W.mjs +232 -0
- package/dist/chunk-ZGFE3OPJ.mjs +678 -0
- package/dist/chunk-ZMJ3KDDY.mjs +618 -0
- package/dist/chunk-ZTRM4HZJ.mjs +53 -0
- package/dist/chunk-ZYPWQ53U.mjs +6 -0
- package/dist/dist-U2IPN4FB.mjs +567 -0
- package/dist/index.d.mts +20 -2
- package/dist/index.d.ts +20 -2
- package/dist/index.js +2820 -13
- package/dist/index.mjs +59 -5
- package/dist/magic-string.es-XOWQCRDO.mjs +1311 -0
- package/dist/molecules/UserProfile/UserProfile.d.mts +23 -0
- package/dist/molecules/UserProfile/UserProfile.d.ts +23 -0
- package/dist/molecules/UserProfile/UserProfile.js +243 -0
- package/dist/molecules/UserProfile/UserProfile.mjs +11 -0
- package/dist/styles.css +1802 -1067
- package/dist/types-CA0Wby2L.d.mts +67 -0
- package/dist/types-CA0Wby2L.d.ts +67 -0
- package/dist/types-CncMmuJM.d.mts +44 -0
- package/dist/types-CncMmuJM.d.ts +44 -0
- package/dist/types-D4MD2w3_.d.mts +9 -0
- package/dist/types-D4MD2w3_.d.ts +9 -0
- package/dist/types-D4fdeMWQ.d.mts +62 -0
- package/dist/types-D4fdeMWQ.d.ts +62 -0
- package/dist/types-mhQmqhsR.d.mts +10 -0
- package/dist/types-mhQmqhsR.d.ts +10 -0
- package/package.json +10 -18
- /package/dist/{Button.d.mts → atom/Button/Button.d.mts} +0 -0
- /package/dist/{Button.d.ts → atom/Button/Button.d.ts} +0 -0
- /package/dist/{Checkbox.d.mts → atom/Checkbox/Checkbox.d.mts} +0 -0
- /package/dist/{Checkbox.d.ts → atom/Checkbox/Checkbox.d.ts} +0 -0
- /package/dist/{chunk-FUJQIYOF.mjs → chunk-FWCSY2DS.mjs} +0 -0
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
|
|
3
|
+
interface AvatarProps {
|
|
4
|
+
img?: string;
|
|
5
|
+
className?: string;
|
|
6
|
+
name: string;
|
|
7
|
+
height?: number;
|
|
8
|
+
width?: number;
|
|
9
|
+
size?: "small" | "normal";
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
declare function Avatar({ img, className, name, height, width, size, }: AvatarProps): React.JSX.Element;
|
|
13
|
+
declare namespace Avatar {
|
|
14
|
+
var displayName: string;
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
export { type AvatarProps as A, Avatar as a };
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { TableProps as TableProps$1, TablePaginationConfig } from 'antd';
|
|
3
|
+
|
|
4
|
+
interface TableAccordionProps {
|
|
5
|
+
/** Accordion header title */
|
|
6
|
+
title: string;
|
|
7
|
+
/** Optional subtitle rendered below the title */
|
|
8
|
+
subtitle?: string;
|
|
9
|
+
/** Start expanded. Defaults to true */
|
|
10
|
+
defaultOpen?: boolean;
|
|
11
|
+
/** Extra class on the root wrapper */
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
interface TableToolbarProps {
|
|
15
|
+
/** Placeholder for the search input */
|
|
16
|
+
searchPlaceholder?: string;
|
|
17
|
+
/** Called when search value changes */
|
|
18
|
+
onSearch?: (value: string) => void;
|
|
19
|
+
/** Label for the Edit Columns button */
|
|
20
|
+
editColumnsLabel?: string;
|
|
21
|
+
/** Called when Edit Columns is clicked */
|
|
22
|
+
onEditColumns?: () => void;
|
|
23
|
+
/** Label for the Add Filter button */
|
|
24
|
+
addFilterLabel?: string;
|
|
25
|
+
/** Called when Add Filter is clicked */
|
|
26
|
+
onAddFilter?: () => void;
|
|
27
|
+
/** Extra class on the root wrapper */
|
|
28
|
+
className?: string;
|
|
29
|
+
}
|
|
30
|
+
interface TableProps<RecordType = any> extends Omit<TableProps$1<RecordType>, "size" | "bordered" | "pagination"> {
|
|
31
|
+
/**
|
|
32
|
+
* Lumina UI table variant.
|
|
33
|
+
* - `default` – plain table card
|
|
34
|
+
* - `hover` – row highlight on mouse-over
|
|
35
|
+
* - `selectable` – intended for use with rowSelection
|
|
36
|
+
* - `accordion` – renders table inside an Accordion card (uses accordionProps)
|
|
37
|
+
* - `toolbar` – renders table inside a Toolbar layout (uses toolbarProps)
|
|
38
|
+
* - `accordion-child` – stripped variant for use when parent handles Accordion wrapper
|
|
39
|
+
* - `toolbar-child` – stripped variant for use when parent handles Toolbar wrapper
|
|
40
|
+
*/
|
|
41
|
+
variant?: "default" | "hover" | "selectable" | "accordion" | "toolbar" | "accordion-child" | "toolbar-child";
|
|
42
|
+
/**
|
|
43
|
+
* Table size. Defaults to 'middle'.
|
|
44
|
+
*/
|
|
45
|
+
size?: "small" | "middle" | "large";
|
|
46
|
+
/**
|
|
47
|
+
* Extra class applied on the outermost wrapper div.
|
|
48
|
+
*/
|
|
49
|
+
className?: string;
|
|
50
|
+
/**
|
|
51
|
+
* AntD pagination config. Pass `false` to hide pagination.
|
|
52
|
+
*/
|
|
53
|
+
pagination?: TablePaginationConfig | boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Props for the Accordion wrapper (used when variant="accordion")
|
|
56
|
+
*/
|
|
57
|
+
accordionProps?: TableAccordionProps;
|
|
58
|
+
/**
|
|
59
|
+
* Props for the Toolbar wrapper (used when variant="toolbar")
|
|
60
|
+
*/
|
|
61
|
+
toolbarProps?: TableToolbarProps;
|
|
62
|
+
/**
|
|
63
|
+
* Analytics metadata forwarded to the consuming app's tracking layer.
|
|
64
|
+
*/
|
|
65
|
+
analytics?: Record<string, unknown>;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* The unified Lumina Table component.
|
|
70
|
+
* It can be used as a standalone table card, or as an accordion/toolbar table
|
|
71
|
+
* by setting the `variant` prop.
|
|
72
|
+
*/
|
|
73
|
+
declare function Table<RecordType extends object = any>(props: TableProps<RecordType>): React.JSX.Element;
|
|
74
|
+
declare namespace Table {
|
|
75
|
+
var displayName: string;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export { type TableAccordionProps as T, type TableToolbarProps as a, Table as b, type TableProps as c };
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { TableProps as TableProps$1, TablePaginationConfig } from 'antd';
|
|
3
|
+
|
|
4
|
+
interface TableAccordionProps {
|
|
5
|
+
/** Accordion header title */
|
|
6
|
+
title: string;
|
|
7
|
+
/** Optional subtitle rendered below the title */
|
|
8
|
+
subtitle?: string;
|
|
9
|
+
/** Start expanded. Defaults to true */
|
|
10
|
+
defaultOpen?: boolean;
|
|
11
|
+
/** Extra class on the root wrapper */
|
|
12
|
+
className?: string;
|
|
13
|
+
}
|
|
14
|
+
interface TableToolbarProps {
|
|
15
|
+
/** Placeholder for the search input */
|
|
16
|
+
searchPlaceholder?: string;
|
|
17
|
+
/** Called when search value changes */
|
|
18
|
+
onSearch?: (value: string) => void;
|
|
19
|
+
/** Label for the Edit Columns button */
|
|
20
|
+
editColumnsLabel?: string;
|
|
21
|
+
/** Called when Edit Columns is clicked */
|
|
22
|
+
onEditColumns?: () => void;
|
|
23
|
+
/** Label for the Add Filter button */
|
|
24
|
+
addFilterLabel?: string;
|
|
25
|
+
/** Called when Add Filter is clicked */
|
|
26
|
+
onAddFilter?: () => void;
|
|
27
|
+
/** Extra class on the root wrapper */
|
|
28
|
+
className?: string;
|
|
29
|
+
}
|
|
30
|
+
interface TableProps<RecordType = any> extends Omit<TableProps$1<RecordType>, "size" | "bordered" | "pagination"> {
|
|
31
|
+
/**
|
|
32
|
+
* Lumina UI table variant.
|
|
33
|
+
* - `default` – plain table card
|
|
34
|
+
* - `hover` – row highlight on mouse-over
|
|
35
|
+
* - `selectable` – intended for use with rowSelection
|
|
36
|
+
* - `accordion` – renders table inside an Accordion card (uses accordionProps)
|
|
37
|
+
* - `toolbar` – renders table inside a Toolbar layout (uses toolbarProps)
|
|
38
|
+
* - `accordion-child` – stripped variant for use when parent handles Accordion wrapper
|
|
39
|
+
* - `toolbar-child` – stripped variant for use when parent handles Toolbar wrapper
|
|
40
|
+
*/
|
|
41
|
+
variant?: "default" | "hover" | "selectable" | "accordion" | "toolbar" | "accordion-child" | "toolbar-child";
|
|
42
|
+
/**
|
|
43
|
+
* Table size. Defaults to 'middle'.
|
|
44
|
+
*/
|
|
45
|
+
size?: "small" | "middle" | "large";
|
|
46
|
+
/**
|
|
47
|
+
* Extra class applied on the outermost wrapper div.
|
|
48
|
+
*/
|
|
49
|
+
className?: string;
|
|
50
|
+
/**
|
|
51
|
+
* AntD pagination config. Pass `false` to hide pagination.
|
|
52
|
+
*/
|
|
53
|
+
pagination?: TablePaginationConfig | boolean;
|
|
54
|
+
/**
|
|
55
|
+
* Props for the Accordion wrapper (used when variant="accordion")
|
|
56
|
+
*/
|
|
57
|
+
accordionProps?: TableAccordionProps;
|
|
58
|
+
/**
|
|
59
|
+
* Props for the Toolbar wrapper (used when variant="toolbar")
|
|
60
|
+
*/
|
|
61
|
+
toolbarProps?: TableToolbarProps;
|
|
62
|
+
/**
|
|
63
|
+
* Analytics metadata forwarded to the consuming app's tracking layer.
|
|
64
|
+
*/
|
|
65
|
+
analytics?: Record<string, unknown>;
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* The unified Lumina Table component.
|
|
70
|
+
* It can be used as a standalone table card, or as an accordion/toolbar table
|
|
71
|
+
* by setting the `variant` prop.
|
|
72
|
+
*/
|
|
73
|
+
declare function Table<RecordType extends object = any>(props: TableProps<RecordType>): React.JSX.Element;
|
|
74
|
+
declare namespace Table {
|
|
75
|
+
var displayName: string;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
export { type TableAccordionProps as T, type TableToolbarProps as a, Table as b, type TableProps as c };
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import * as React$1 from 'react';
|
|
2
|
+
import { TableProps as TableProps$1, TablePaginationConfig } from 'antd';
|
|
3
|
+
|
|
4
|
+
type SortOrder = "ascend" | "descend" | undefined;
|
|
5
|
+
interface TableColumnHeaderProps {
|
|
6
|
+
/** Column label text */
|
|
7
|
+
label: string;
|
|
8
|
+
/** Show sort icon and enable sort cycling. Defaults to false. */
|
|
9
|
+
sortable?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Current sort direction.
|
|
12
|
+
* - `undefined` → unsorted; shows ↑↓ icon when sortable
|
|
13
|
+
* - `"ascend"` → shows ↑ icon
|
|
14
|
+
* - `"descend"` → shows ↓ icon
|
|
15
|
+
*/
|
|
16
|
+
sortOrder?: SortOrder;
|
|
17
|
+
/**
|
|
18
|
+
* Called when the user clicks the sort area.
|
|
19
|
+
* Cycles: undefined → ascend → descend → undefined
|
|
20
|
+
*/
|
|
21
|
+
onSortChange?: (order: SortOrder) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Number of active filters applied to this column.
|
|
24
|
+
* > 0 turns the filter icon red and shows a count badge.
|
|
25
|
+
*/
|
|
26
|
+
filterCount?: number;
|
|
27
|
+
/**
|
|
28
|
+
* Filter dropdown content supplied by the consumer.
|
|
29
|
+
* Providing this prop renders the filter icon button.
|
|
30
|
+
* Clicking the icon toggles visibility of this content.
|
|
31
|
+
*/
|
|
32
|
+
children?: React.ReactNode;
|
|
33
|
+
}
|
|
34
|
+
interface TableProps<RecordType = any> extends Omit<TableProps$1<RecordType>, "size" | "bordered" | "pagination"> {
|
|
35
|
+
/**
|
|
36
|
+
* Lumina UI table variant.
|
|
37
|
+
* - `default` – standalone table card with rounded border
|
|
38
|
+
* - `hover` – row highlight on mouse-over
|
|
39
|
+
* - `selectable` – use with `rowSelection` for checkbox rows
|
|
40
|
+
* - `accordion-child` – strips outer card chrome; place inside your own accordion wrapper
|
|
41
|
+
* - `toolbar-child` – strips outer card chrome; place inside your own toolbar/container wrapper
|
|
42
|
+
*/
|
|
43
|
+
variant?: "default" | "hover" | "selectable" | "accordion-child" | "toolbar-child";
|
|
44
|
+
/**
|
|
45
|
+
* Table size. Defaults to 'middle'.
|
|
46
|
+
*/
|
|
47
|
+
size?: "small" | "middle" | "large";
|
|
48
|
+
/**
|
|
49
|
+
* Extra class applied on the outermost wrapper div.
|
|
50
|
+
*/
|
|
51
|
+
className?: string;
|
|
52
|
+
/**
|
|
53
|
+
* AntD pagination config. Pass `false` to hide pagination.
|
|
54
|
+
*/
|
|
55
|
+
pagination?: TablePaginationConfig | boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Analytics metadata forwarded to the consuming app's tracking layer.
|
|
58
|
+
*/
|
|
59
|
+
analytics?: Record<string, unknown>;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Lumina Table component.
|
|
64
|
+
*
|
|
65
|
+
* Variants:
|
|
66
|
+
* - `default` – standalone table card with rounded border
|
|
67
|
+
* - `hover` – row highlight on mouse-over
|
|
68
|
+
* - `selectable` – use with `rowSelection` for checkbox rows
|
|
69
|
+
* - `accordion-child` – strips outer card chrome; place inside your own accordion wrapper
|
|
70
|
+
* - `toolbar-child` – strips outer card chrome; place inside your own toolbar/container wrapper
|
|
71
|
+
*/
|
|
72
|
+
declare function Table<RecordType extends object = any>(props: TableProps<RecordType>): React$1.JSX.Element;
|
|
73
|
+
declare namespace Table {
|
|
74
|
+
var displayName: string;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export { type SortOrder as S, Table as T, type TableColumnHeaderProps as a, type TableProps as b };
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import * as React$1 from 'react';
|
|
2
|
+
import { TableProps as TableProps$1, TablePaginationConfig } from 'antd';
|
|
3
|
+
|
|
4
|
+
type SortOrder = "ascend" | "descend" | undefined;
|
|
5
|
+
interface TableColumnHeaderProps {
|
|
6
|
+
/** Column label text */
|
|
7
|
+
label: string;
|
|
8
|
+
/** Show sort icon and enable sort cycling. Defaults to false. */
|
|
9
|
+
sortable?: boolean;
|
|
10
|
+
/**
|
|
11
|
+
* Current sort direction.
|
|
12
|
+
* - `undefined` → unsorted; shows ↑↓ icon when sortable
|
|
13
|
+
* - `"ascend"` → shows ↑ icon
|
|
14
|
+
* - `"descend"` → shows ↓ icon
|
|
15
|
+
*/
|
|
16
|
+
sortOrder?: SortOrder;
|
|
17
|
+
/**
|
|
18
|
+
* Called when the user clicks the sort area.
|
|
19
|
+
* Cycles: undefined → ascend → descend → undefined
|
|
20
|
+
*/
|
|
21
|
+
onSortChange?: (order: SortOrder) => void;
|
|
22
|
+
/**
|
|
23
|
+
* Number of active filters applied to this column.
|
|
24
|
+
* > 0 turns the filter icon red and shows a count badge.
|
|
25
|
+
*/
|
|
26
|
+
filterCount?: number;
|
|
27
|
+
/**
|
|
28
|
+
* Filter dropdown content supplied by the consumer.
|
|
29
|
+
* Providing this prop renders the filter icon button.
|
|
30
|
+
* Clicking the icon toggles visibility of this content.
|
|
31
|
+
*/
|
|
32
|
+
children?: React.ReactNode;
|
|
33
|
+
}
|
|
34
|
+
interface TableProps<RecordType = any> extends Omit<TableProps$1<RecordType>, "size" | "bordered" | "pagination"> {
|
|
35
|
+
/**
|
|
36
|
+
* Lumina UI table variant.
|
|
37
|
+
* - `default` – standalone table card with rounded border
|
|
38
|
+
* - `hover` – row highlight on mouse-over
|
|
39
|
+
* - `selectable` – use with `rowSelection` for checkbox rows
|
|
40
|
+
* - `accordion-child` – strips outer card chrome; place inside your own accordion wrapper
|
|
41
|
+
* - `toolbar-child` – strips outer card chrome; place inside your own toolbar/container wrapper
|
|
42
|
+
*/
|
|
43
|
+
variant?: "default" | "hover" | "selectable" | "accordion-child" | "toolbar-child";
|
|
44
|
+
/**
|
|
45
|
+
* Table size. Defaults to 'middle'.
|
|
46
|
+
*/
|
|
47
|
+
size?: "small" | "middle" | "large";
|
|
48
|
+
/**
|
|
49
|
+
* Extra class applied on the outermost wrapper div.
|
|
50
|
+
*/
|
|
51
|
+
className?: string;
|
|
52
|
+
/**
|
|
53
|
+
* AntD pagination config. Pass `false` to hide pagination.
|
|
54
|
+
*/
|
|
55
|
+
pagination?: TablePaginationConfig | boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Analytics metadata forwarded to the consuming app's tracking layer.
|
|
58
|
+
*/
|
|
59
|
+
analytics?: Record<string, unknown>;
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Lumina Table component.
|
|
64
|
+
*
|
|
65
|
+
* Variants:
|
|
66
|
+
* - `default` – standalone table card with rounded border
|
|
67
|
+
* - `hover` – row highlight on mouse-over
|
|
68
|
+
* - `selectable` – use with `rowSelection` for checkbox rows
|
|
69
|
+
* - `accordion-child` – strips outer card chrome; place inside your own accordion wrapper
|
|
70
|
+
* - `toolbar-child` – strips outer card chrome; place inside your own toolbar/container wrapper
|
|
71
|
+
*/
|
|
72
|
+
declare function Table<RecordType extends object = any>(props: TableProps<RecordType>): React$1.JSX.Element;
|
|
73
|
+
declare namespace Table {
|
|
74
|
+
var displayName: string;
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
export { type SortOrder as S, Table as T, type TableColumnHeaderProps as a, type TableProps as b };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { TableProps as TableProps$1 } from 'antd';
|
|
3
|
+
|
|
4
|
+
interface TableProps<RecordType = any> extends Omit<TableProps$1<RecordType>, "size" | "bordered"> {
|
|
5
|
+
/**
|
|
6
|
+
* Lumina UI specific table variations if any are needed
|
|
7
|
+
*/
|
|
8
|
+
variant?: "default" | "card";
|
|
9
|
+
/**
|
|
10
|
+
* Table size defaults to 'large' in AntD, but Lumina tables are typically 'middle' sized padding
|
|
11
|
+
*/
|
|
12
|
+
size?: "small" | "middle" | "large";
|
|
13
|
+
/**
|
|
14
|
+
* Custom classes applied over the table wrapper
|
|
15
|
+
*/
|
|
16
|
+
className?: string;
|
|
17
|
+
analytics?: Record<string, unknown>;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
declare function Table<RecordType extends object = any>(props: TableProps<RecordType>): React.JSX.Element;
|
|
21
|
+
declare namespace Table {
|
|
22
|
+
var displayName: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export { Table as T, type TableProps as a };
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { TableProps as TableProps$1 } from 'antd';
|
|
3
|
+
|
|
4
|
+
interface TableProps<RecordType = any> extends Omit<TableProps$1<RecordType>, "size" | "bordered"> {
|
|
5
|
+
/**
|
|
6
|
+
* Lumina UI specific table variations if any are needed
|
|
7
|
+
*/
|
|
8
|
+
variant?: "default" | "card";
|
|
9
|
+
/**
|
|
10
|
+
* Table size defaults to 'large' in AntD, but Lumina tables are typically 'middle' sized padding
|
|
11
|
+
*/
|
|
12
|
+
size?: "small" | "middle" | "large";
|
|
13
|
+
/**
|
|
14
|
+
* Custom classes applied over the table wrapper
|
|
15
|
+
*/
|
|
16
|
+
className?: string;
|
|
17
|
+
analytics?: Record<string, unknown>;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
declare function Table<RecordType extends object = any>(props: TableProps<RecordType>): React.JSX.Element;
|
|
21
|
+
declare namespace Table {
|
|
22
|
+
var displayName: string;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export { Table as T, type TableProps as a };
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { TableProps as TableProps$1, TablePaginationConfig } from 'antd';
|
|
3
|
+
|
|
4
|
+
type SortOrder = "ascend" | "descend" | undefined;
|
|
5
|
+
type AntColumnType<RecordType> = NonNullable<TableProps$1<RecordType>["columns"]>[number];
|
|
6
|
+
/**
|
|
7
|
+
* Header icon configuration added to any column definition.
|
|
8
|
+
* The Table component reads these props and renders sort/filter icons automatically.
|
|
9
|
+
*/
|
|
10
|
+
interface LuminaColumnHeaderProps {
|
|
11
|
+
/** Show sort icon. Clicking cycles: undefined (↑↓) → ascend (↑) → descend (↓) → undefined */
|
|
12
|
+
sortable?: boolean;
|
|
13
|
+
/** Current sort direction. Provide to make sort controlled. */
|
|
14
|
+
sortOrder?: SortOrder;
|
|
15
|
+
/** Called when the user clicks the sort icon. */
|
|
16
|
+
onSortChange?: (order: SortOrder) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Custom sort icon. This MUST be provided if sortable is true.
|
|
19
|
+
* If omitted, no icon will be rendered.
|
|
20
|
+
*/
|
|
21
|
+
sortIcon?: React.ReactNode;
|
|
22
|
+
/** > 0 turns the filter icon red and shows a count badge. */
|
|
23
|
+
filterCount?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Custom filter icon. This MUST be provided if filterContent is present.
|
|
26
|
+
* If omitted, no icon will be rendered.
|
|
27
|
+
*/
|
|
28
|
+
filterIcon?: React.ReactNode;
|
|
29
|
+
/**
|
|
30
|
+
* Filter dropdown content from the consumer.
|
|
31
|
+
* Providing this prop renders the filter icon button.
|
|
32
|
+
* Clicking the icon toggles visibility of this content.
|
|
33
|
+
*/
|
|
34
|
+
filterContent?: React.ReactNode;
|
|
35
|
+
/** Optional class name to apply to the header label. */
|
|
36
|
+
className?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* AntD ColumnType extended with optional `headerProps` for Lumina sort/filter icons.
|
|
40
|
+
*/
|
|
41
|
+
type LuminaColumnType<RecordType = any> = AntColumnType<RecordType> & {
|
|
42
|
+
headerProps?: LuminaColumnHeaderProps;
|
|
43
|
+
};
|
|
44
|
+
type LuminaColumnsType<RecordType = any> = LuminaColumnType<RecordType>[];
|
|
45
|
+
interface TableProps<RecordType = any> extends Omit<TableProps$1<RecordType>, "size" | "bordered" | "pagination" | "columns"> {
|
|
46
|
+
/**
|
|
47
|
+
* Lumina UI table variant.
|
|
48
|
+
* - `default` – standard table
|
|
49
|
+
* - `selectable` – checkbox rows; clicking any row toggles its checkbox
|
|
50
|
+
*/
|
|
51
|
+
variant?: "default" | "selectable";
|
|
52
|
+
/** If true, strips outer card chrome to fit inside an Accordion parent. */
|
|
53
|
+
isAccordion?: boolean;
|
|
54
|
+
/** If true, strips outer card chrome to fit inside a Toolbar/Container parent. */
|
|
55
|
+
isToolbar?: boolean;
|
|
56
|
+
/** Table size. Defaults to 'middle'. */
|
|
57
|
+
size?: "small" | "middle" | "large";
|
|
58
|
+
/** Extra class applied on the outermost wrapper div. */
|
|
59
|
+
className?: string;
|
|
60
|
+
/** AntD pagination config. Pass `false` to hide pagination. */
|
|
61
|
+
pagination?: TablePaginationConfig | boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Column definitions. Add `headerProps` to any column to get sort/filter icons
|
|
64
|
+
* rendered automatically in the column header.
|
|
65
|
+
*/
|
|
66
|
+
columns?: LuminaColumnsType<RecordType>;
|
|
67
|
+
/** Total number of items in the dataset (for server-side pagination). */
|
|
68
|
+
total?: number;
|
|
69
|
+
/** Current page number (1-indexed). */
|
|
70
|
+
current?: number;
|
|
71
|
+
/** Number of rows per page. */
|
|
72
|
+
pageSize?: number;
|
|
73
|
+
/** Called when the page or page size changes. */
|
|
74
|
+
onPaginationChange?: TablePaginationConfig["onChange"];
|
|
75
|
+
/**
|
|
76
|
+
* Custom content to show when the table has no data.
|
|
77
|
+
* If provided, it overrides the default Ant Design "No Data" view.
|
|
78
|
+
*/
|
|
79
|
+
emptyState?: React.ReactNode;
|
|
80
|
+
/**
|
|
81
|
+
* If true, the table header (the row with column labels) will be hidden.
|
|
82
|
+
* Useful during loading or for specific visual variants.
|
|
83
|
+
*/
|
|
84
|
+
hideHeader?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Custom loading indicator (e.g. a spinner or skeleton).
|
|
87
|
+
* If provided, this will be rendered when the table is in a loading state.
|
|
88
|
+
*/
|
|
89
|
+
loadingIndicator?: React.ReactElement;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Lumina Table component.
|
|
94
|
+
*
|
|
95
|
+
* Variants:
|
|
96
|
+
* - `default` – standalone table card with rounded border
|
|
97
|
+
* - `hover` – row highlight on mouse-over
|
|
98
|
+
* - `selectable` – use with `rowSelection`; clicking any row toggles its checkbox
|
|
99
|
+
* - `accordion-child` – strips outer card chrome; place inside your own accordion wrapper
|
|
100
|
+
* - `toolbar-child` – strips outer card chrome; place inside your own toolbar/container wrapper
|
|
101
|
+
*
|
|
102
|
+
* Column header icons — add `headerProps` to any column definition:
|
|
103
|
+
* ```tsx
|
|
104
|
+
* columns={[{
|
|
105
|
+
* key: "name", dataIndex: "name", title: "Name",
|
|
106
|
+
* headerProps: {
|
|
107
|
+
* sortable: true,
|
|
108
|
+
* sortOrder: sortOrders.name,
|
|
109
|
+
* onSortChange: (order) => setSortOrders(prev => ({ ...prev, name: order })),
|
|
110
|
+
* filterCount: activeFilters.name ?? 0,
|
|
111
|
+
* filterContent: <MyFilterPanel />,
|
|
112
|
+
* },
|
|
113
|
+
* }]}
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
declare function Table<RecordType extends object = any>(props: TableProps<RecordType>): React.JSX.Element;
|
|
117
|
+
declare namespace Table {
|
|
118
|
+
var displayName: string;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export { type LuminaColumnHeaderProps as L, type SortOrder as S, Table as T, type LuminaColumnType as a, type LuminaColumnsType as b, type TableProps as c };
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { TableProps as TableProps$1, TablePaginationConfig } from 'antd';
|
|
3
|
+
|
|
4
|
+
type SortOrder = "ascend" | "descend" | undefined;
|
|
5
|
+
type AntColumnType<RecordType> = NonNullable<TableProps$1<RecordType>["columns"]>[number];
|
|
6
|
+
/**
|
|
7
|
+
* Header icon configuration added to any column definition.
|
|
8
|
+
* The Table component reads these props and renders sort/filter icons automatically.
|
|
9
|
+
*/
|
|
10
|
+
interface LuminaColumnHeaderProps {
|
|
11
|
+
/** Show sort icon. Clicking cycles: undefined (↑↓) → ascend (↑) → descend (↓) → undefined */
|
|
12
|
+
sortable?: boolean;
|
|
13
|
+
/** Current sort direction. Provide to make sort controlled. */
|
|
14
|
+
sortOrder?: SortOrder;
|
|
15
|
+
/** Called when the user clicks the sort icon. */
|
|
16
|
+
onSortChange?: (order: SortOrder) => void;
|
|
17
|
+
/**
|
|
18
|
+
* Custom sort icon. This MUST be provided if sortable is true.
|
|
19
|
+
* If omitted, no icon will be rendered.
|
|
20
|
+
*/
|
|
21
|
+
sortIcon?: React.ReactNode;
|
|
22
|
+
/** > 0 turns the filter icon red and shows a count badge. */
|
|
23
|
+
filterCount?: number;
|
|
24
|
+
/**
|
|
25
|
+
* Custom filter icon. This MUST be provided if filterContent is present.
|
|
26
|
+
* If omitted, no icon will be rendered.
|
|
27
|
+
*/
|
|
28
|
+
filterIcon?: React.ReactNode;
|
|
29
|
+
/**
|
|
30
|
+
* Filter dropdown content from the consumer.
|
|
31
|
+
* Providing this prop renders the filter icon button.
|
|
32
|
+
* Clicking the icon toggles visibility of this content.
|
|
33
|
+
*/
|
|
34
|
+
filterContent?: React.ReactNode;
|
|
35
|
+
/** Optional class name to apply to the header label. */
|
|
36
|
+
className?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* AntD ColumnType extended with optional `headerProps` for Lumina sort/filter icons.
|
|
40
|
+
*/
|
|
41
|
+
type LuminaColumnType<RecordType = any> = AntColumnType<RecordType> & {
|
|
42
|
+
headerProps?: LuminaColumnHeaderProps;
|
|
43
|
+
};
|
|
44
|
+
type LuminaColumnsType<RecordType = any> = LuminaColumnType<RecordType>[];
|
|
45
|
+
interface TableProps<RecordType = any> extends Omit<TableProps$1<RecordType>, "size" | "bordered" | "pagination" | "columns"> {
|
|
46
|
+
/**
|
|
47
|
+
* Lumina UI table variant.
|
|
48
|
+
* - `default` – standard table
|
|
49
|
+
* - `selectable` – checkbox rows; clicking any row toggles its checkbox
|
|
50
|
+
*/
|
|
51
|
+
variant?: "default" | "selectable";
|
|
52
|
+
/** If true, strips outer card chrome to fit inside an Accordion parent. */
|
|
53
|
+
isAccordion?: boolean;
|
|
54
|
+
/** If true, strips outer card chrome to fit inside a Toolbar/Container parent. */
|
|
55
|
+
isToolbar?: boolean;
|
|
56
|
+
/** Table size. Defaults to 'middle'. */
|
|
57
|
+
size?: "small" | "middle" | "large";
|
|
58
|
+
/** Extra class applied on the outermost wrapper div. */
|
|
59
|
+
className?: string;
|
|
60
|
+
/** AntD pagination config. Pass `false` to hide pagination. */
|
|
61
|
+
pagination?: TablePaginationConfig | boolean;
|
|
62
|
+
/**
|
|
63
|
+
* Column definitions. Add `headerProps` to any column to get sort/filter icons
|
|
64
|
+
* rendered automatically in the column header.
|
|
65
|
+
*/
|
|
66
|
+
columns?: LuminaColumnsType<RecordType>;
|
|
67
|
+
/** Total number of items in the dataset (for server-side pagination). */
|
|
68
|
+
total?: number;
|
|
69
|
+
/** Current page number (1-indexed). */
|
|
70
|
+
current?: number;
|
|
71
|
+
/** Number of rows per page. */
|
|
72
|
+
pageSize?: number;
|
|
73
|
+
/** Called when the page or page size changes. */
|
|
74
|
+
onPaginationChange?: TablePaginationConfig["onChange"];
|
|
75
|
+
/**
|
|
76
|
+
* Custom content to show when the table has no data.
|
|
77
|
+
* If provided, it overrides the default Ant Design "No Data" view.
|
|
78
|
+
*/
|
|
79
|
+
emptyState?: React.ReactNode;
|
|
80
|
+
/**
|
|
81
|
+
* If true, the table header (the row with column labels) will be hidden.
|
|
82
|
+
* Useful during loading or for specific visual variants.
|
|
83
|
+
*/
|
|
84
|
+
hideHeader?: boolean;
|
|
85
|
+
/**
|
|
86
|
+
* Custom loading indicator (e.g. a spinner or skeleton).
|
|
87
|
+
* If provided, this will be rendered when the table is in a loading state.
|
|
88
|
+
*/
|
|
89
|
+
loadingIndicator?: React.ReactElement;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Lumina Table component.
|
|
94
|
+
*
|
|
95
|
+
* Variants:
|
|
96
|
+
* - `default` – standalone table card with rounded border
|
|
97
|
+
* - `hover` – row highlight on mouse-over
|
|
98
|
+
* - `selectable` – use with `rowSelection`; clicking any row toggles its checkbox
|
|
99
|
+
* - `accordion-child` – strips outer card chrome; place inside your own accordion wrapper
|
|
100
|
+
* - `toolbar-child` – strips outer card chrome; place inside your own toolbar/container wrapper
|
|
101
|
+
*
|
|
102
|
+
* Column header icons — add `headerProps` to any column definition:
|
|
103
|
+
* ```tsx
|
|
104
|
+
* columns={[{
|
|
105
|
+
* key: "name", dataIndex: "name", title: "Name",
|
|
106
|
+
* headerProps: {
|
|
107
|
+
* sortable: true,
|
|
108
|
+
* sortOrder: sortOrders.name,
|
|
109
|
+
* onSortChange: (order) => setSortOrders(prev => ({ ...prev, name: order })),
|
|
110
|
+
* filterCount: activeFilters.name ?? 0,
|
|
111
|
+
* filterContent: <MyFilterPanel />,
|
|
112
|
+
* },
|
|
113
|
+
* }]}
|
|
114
|
+
* ```
|
|
115
|
+
*/
|
|
116
|
+
declare function Table<RecordType extends object = any>(props: TableProps<RecordType>): React.JSX.Element;
|
|
117
|
+
declare namespace Table {
|
|
118
|
+
var displayName: string;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
export { type LuminaColumnHeaderProps as L, type SortOrder as S, Table as T, type LuminaColumnType as a, type LuminaColumnsType as b, type TableProps as c };
|