@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.
Files changed (273) hide show
  1. package/README.md +43 -10
  2. package/dist/AdvancedDateRangePicker-CN9WN0rH.d.mts +56 -0
  3. package/dist/AdvancedDateRangePicker-CN9WN0rH.d.ts +56 -0
  4. package/dist/AdvancedDateRangePicker-CzN1HGsC.d.mts +57 -0
  5. package/dist/AdvancedDateRangePicker-CzN1HGsC.d.ts +57 -0
  6. package/dist/AdvancedDateRangePicker-DAPxgRl3.d.mts +54 -0
  7. package/dist/AdvancedDateRangePicker-DAPxgRl3.d.ts +54 -0
  8. package/dist/AdvancedDateRangePicker-DW94285G.d.mts +56 -0
  9. package/dist/AdvancedDateRangePicker-DW94285G.d.ts +56 -0
  10. package/dist/AdvancedDateRangePicker-Eh6n4ne0.d.mts +57 -0
  11. package/dist/AdvancedDateRangePicker-Eh6n4ne0.d.ts +57 -0
  12. package/dist/Avatar-DX2JwvAs.d.mts +17 -0
  13. package/dist/Avatar-DX2JwvAs.d.ts +17 -0
  14. package/dist/Table-BA0D3p1m.d.mts +78 -0
  15. package/dist/Table-BA0D3p1m.d.ts +78 -0
  16. package/dist/Table-BLZ6c46U.d.mts +77 -0
  17. package/dist/Table-BLZ6c46U.d.ts +77 -0
  18. package/dist/Table-BMqYnFi4.d.mts +25 -0
  19. package/dist/Table-BMqYnFi4.d.ts +25 -0
  20. package/dist/Table-BOq-_9Nr.d.mts +121 -0
  21. package/dist/Table-BOq-_9Nr.d.ts +121 -0
  22. package/dist/Table-BRcthrYV.d.mts +98 -0
  23. package/dist/Table-BRcthrYV.d.ts +98 -0
  24. package/dist/Table-BWlFCfBG.d.mts +106 -0
  25. package/dist/Table-BWlFCfBG.d.ts +106 -0
  26. package/dist/Table-CHFmNrme.d.mts +77 -0
  27. package/dist/Table-CHFmNrme.d.ts +77 -0
  28. package/dist/Table-CX6UwQiD.d.mts +116 -0
  29. package/dist/Table-CX6UwQiD.d.ts +116 -0
  30. package/dist/Table-Chud2XSq.d.mts +99 -0
  31. package/dist/Table-Chud2XSq.d.ts +99 -0
  32. package/dist/Table-D5QRe_j3.d.mts +121 -0
  33. package/dist/Table-D5QRe_j3.d.ts +121 -0
  34. package/dist/Table-DAgFGahx.d.mts +39 -0
  35. package/dist/Table-DAgFGahx.d.ts +39 -0
  36. package/dist/Table-DWniK7At.d.mts +87 -0
  37. package/dist/Table-DWniK7At.d.ts +87 -0
  38. package/dist/Table-PyFlnUDu.d.mts +47 -0
  39. package/dist/Table-PyFlnUDu.d.ts +47 -0
  40. package/dist/Table-wqyg13Y9.d.mts +77 -0
  41. package/dist/Table-wqyg13Y9.d.ts +77 -0
  42. package/dist/Tag-l7I5oeyk.d.mts +13 -0
  43. package/dist/Tag-l7I5oeyk.d.ts +13 -0
  44. package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.d.mts +2 -0
  45. package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.d.ts +2 -0
  46. package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.js +791 -0
  47. package/dist/atom/AdvancedDateRangePicker/AdvancedDateRangePicker.mjs +11 -0
  48. package/dist/atom/AdvancedDateRangePicker/InternalCalendar.d.mts +18 -0
  49. package/dist/atom/AdvancedDateRangePicker/InternalCalendar.d.ts +18 -0
  50. package/dist/atom/AdvancedDateRangePicker/InternalCalendar.js +370 -0
  51. package/dist/atom/AdvancedDateRangePicker/InternalCalendar.mjs +8 -0
  52. package/dist/atom/Avatar/Avatar.d.mts +9 -0
  53. package/dist/atom/Avatar/Avatar.d.ts +9 -0
  54. package/dist/atom/Avatar/Avatar.js +123 -0
  55. package/dist/atom/Avatar/Avatar.mjs +9 -0
  56. package/dist/{Button.js → atom/Button/Button.js} +4 -4
  57. package/dist/{Button.mjs → atom/Button/Button.mjs} +2 -2
  58. package/dist/{Checkbox.js → atom/Checkbox/Checkbox.js} +4 -4
  59. package/dist/{Checkbox.mjs → atom/Checkbox/Checkbox.mjs} +2 -2
  60. package/dist/atom/LoadingSpinner/LoadingSpinner.d.mts +19 -0
  61. package/dist/atom/LoadingSpinner/LoadingSpinner.d.ts +19 -0
  62. package/dist/atom/LoadingSpinner/LoadingSpinner.js +90 -0
  63. package/dist/atom/LoadingSpinner/LoadingSpinner.mjs +9 -0
  64. package/dist/atom/Modal/Modal.d.mts +25 -0
  65. package/dist/atom/Modal/Modal.d.ts +25 -0
  66. package/dist/atom/Modal/Modal.js +267 -0
  67. package/dist/atom/Modal/Modal.mjs +10 -0
  68. package/dist/atom/Radio/Radio.d.mts +17 -0
  69. package/dist/atom/Radio/Radio.d.ts +17 -0
  70. package/dist/atom/Radio/Radio.js +122 -0
  71. package/dist/atom/Radio/Radio.mjs +9 -0
  72. package/dist/atom/RangePicker/Chevron.d.mts +13 -0
  73. package/dist/atom/RangePicker/Chevron.d.ts +13 -0
  74. package/dist/atom/RangePicker/Chevron.js +110 -0
  75. package/dist/atom/RangePicker/Chevron.mjs +7 -0
  76. package/dist/atom/RangePicker/RangePicker.d.mts +26 -0
  77. package/dist/atom/RangePicker/RangePicker.d.ts +26 -0
  78. package/dist/atom/RangePicker/RangePicker.js +1465 -0
  79. package/dist/atom/RangePicker/RangePicker.mjs +13 -0
  80. package/dist/atom/Select/Select.d.mts +40 -0
  81. package/dist/atom/Select/Select.d.ts +40 -0
  82. package/dist/atom/Select/Select.js +805 -0
  83. package/dist/atom/Select/Select.mjs +11 -0
  84. package/dist/atom/Slider/Slider.d.mts +34 -0
  85. package/dist/atom/Slider/Slider.d.ts +34 -0
  86. package/dist/atom/Slider/Slider.js +107 -0
  87. package/dist/atom/Slider/Slider.mjs +9 -0
  88. package/dist/atom/Switch/Switch.d.mts +13 -0
  89. package/dist/atom/Switch/Switch.d.ts +13 -0
  90. package/dist/atom/Switch/Switch.js +102 -0
  91. package/dist/atom/Switch/Switch.mjs +9 -0
  92. package/dist/atom/Table/LuminaPagination.d.mts +7 -0
  93. package/dist/atom/Table/LuminaPagination.d.ts +7 -0
  94. package/dist/atom/Table/LuminaPagination.js +153 -0
  95. package/dist/atom/Table/LuminaPagination.mjs +9 -0
  96. package/dist/atom/Table/Table.d.mts +3 -0
  97. package/dist/atom/Table/Table.d.ts +3 -0
  98. package/dist/atom/Table/Table.js +306 -0
  99. package/dist/atom/Table/Table.mjs +9 -0
  100. package/dist/atom/Table/TableAccordion.d.mts +9 -0
  101. package/dist/atom/Table/TableAccordion.d.ts +9 -0
  102. package/dist/atom/Table/TableAccordion.js +91 -0
  103. package/dist/atom/Table/TableAccordion.mjs +10 -0
  104. package/dist/atom/Table/TableColumnHeader.d.mts +7 -0
  105. package/dist/atom/Table/TableColumnHeader.d.ts +7 -0
  106. package/dist/atom/Table/TableColumnHeader.js +151 -0
  107. package/dist/atom/Table/TableColumnHeader.mjs +10 -0
  108. package/dist/atom/Table/TableToolbar.d.mts +9 -0
  109. package/dist/atom/Table/TableToolbar.d.ts +9 -0
  110. package/dist/atom/Table/TableToolbar.js +114 -0
  111. package/dist/atom/Table/TableToolbar.mjs +10 -0
  112. package/dist/atom/Table/__tests__/Table.test.d.mts +2 -0
  113. package/dist/atom/Table/__tests__/Table.test.d.ts +2 -0
  114. package/dist/atom/Table/__tests__/Table.test.js +61133 -0
  115. package/dist/atom/Table/__tests__/Table.test.mjs +59522 -0
  116. package/dist/atom/TableAccordion/index.d.mts +17 -0
  117. package/dist/atom/TableAccordion/index.d.ts +17 -0
  118. package/dist/atom/TableAccordion/index.js +91 -0
  119. package/dist/atom/TableAccordion/index.mjs +9 -0
  120. package/dist/atom/TableToolbar/index.d.mts +23 -0
  121. package/dist/atom/TableToolbar/index.d.ts +23 -0
  122. package/dist/atom/TableToolbar/index.js +114 -0
  123. package/dist/atom/TableToolbar/index.mjs +9 -0
  124. package/dist/atom/Tag/Tag.d.mts +6 -0
  125. package/dist/atom/Tag/Tag.d.ts +6 -0
  126. package/dist/atom/Tag/Tag.js +108 -0
  127. package/dist/atom/Tag/Tag.mjs +9 -0
  128. package/dist/atom/Tooltip/Tooltip.d.mts +12 -0
  129. package/dist/atom/Tooltip/Tooltip.d.ts +12 -0
  130. package/dist/atom/Tooltip/Tooltip.js +97 -0
  131. package/dist/atom/Tooltip/Tooltip.mjs +9 -0
  132. package/dist/chunk-2EBPXGRY.mjs +65 -0
  133. package/dist/chunk-2PIFDGVK.mjs +420 -0
  134. package/dist/chunk-35KDS27M.mjs +618 -0
  135. package/dist/chunk-3S4X3YO2.mjs +64 -0
  136. package/dist/chunk-3XUHGVYA.mjs +77 -0
  137. package/dist/chunk-4JX54OKI.mjs +627 -0
  138. package/dist/chunk-4VZB2KR2.mjs +51 -0
  139. package/dist/chunk-5HF6Y37C.mjs +642 -0
  140. package/dist/chunk-5OGQ4YIR.mjs +238 -0
  141. package/dist/chunk-6FCSXN7R.mjs +388 -0
  142. package/dist/chunk-7W72LPSU.mjs +66 -0
  143. package/dist/chunk-A66QDQHK.mjs +627 -0
  144. package/dist/chunk-ABLIL47F.mjs +618 -0
  145. package/dist/chunk-AEPDEUGY.mjs +627 -0
  146. package/dist/chunk-AF2RKLH6.mjs +77 -0
  147. package/dist/chunk-AFLEGUF3.mjs +232 -0
  148. package/dist/chunk-APCEITHQ.mjs +232 -0
  149. package/dist/chunk-AVQBFGBT.mjs +141 -0
  150. package/dist/chunk-B5BOBELW.mjs +213 -0
  151. package/dist/chunk-BQ4PVLJ4.mjs +262 -0
  152. package/dist/chunk-D3N7VFER.mjs +73 -0
  153. package/dist/{chunk-OMYHSSPQ.mjs → chunk-DBNLBCQK.mjs} +5 -5
  154. package/dist/chunk-DLLT6V65.mjs +141 -0
  155. package/dist/chunk-DOQQRYTS.mjs +73 -0
  156. package/dist/chunk-DSVR2DVF.mjs +660 -0
  157. package/dist/chunk-DXUPULDI.mjs +424 -0
  158. package/dist/chunk-E465D6OH.mjs +644 -0
  159. package/dist/chunk-E4FCLHYA.mjs +678 -0
  160. package/dist/chunk-ENQN5BAN.mjs +225 -0
  161. package/dist/chunk-F6VMSH4N.mjs +79 -0
  162. package/dist/chunk-FKGGN3FA.mjs +412 -0
  163. package/dist/chunk-GFTO2N3Q.mjs +432 -0
  164. package/dist/chunk-GM6H6RPJ.mjs +232 -0
  165. package/dist/chunk-GU5F7Z7I.mjs +681 -0
  166. package/dist/chunk-HF3VJBMY.mjs +244 -0
  167. package/dist/{chunk-ME35H7QC.mjs → chunk-HISCHZ5H.mjs} +4 -4
  168. package/dist/chunk-HWQBE6PT.mjs +99 -0
  169. package/dist/chunk-HXM657YW.mjs +115 -0
  170. package/dist/chunk-I5VHKSQR.mjs +64 -0
  171. package/dist/chunk-ICSZZNTY.mjs +384 -0
  172. package/dist/chunk-IWO2Y5QX.mjs +89 -0
  173. package/dist/chunk-IZGLD7U3.mjs +667 -0
  174. package/dist/chunk-J7X2PZG6.mjs +232 -0
  175. package/dist/chunk-JUXBLRMQ.mjs +50 -0
  176. package/dist/chunk-JXFSGADI.mjs +678 -0
  177. package/dist/chunk-KGKRSR6D.mjs +388 -0
  178. package/dist/chunk-KQKNFGWZ.mjs +388 -0
  179. package/dist/chunk-LCH4DXJY.mjs +92 -0
  180. package/dist/chunk-LCXU3K57.mjs +232 -0
  181. package/dist/chunk-LRN4XOIR.mjs +71 -0
  182. package/dist/chunk-LROMXY35.mjs +116 -0
  183. package/dist/chunk-LUNPHYAR.mjs +681 -0
  184. package/dist/chunk-LVOTEPLC.mjs +64 -0
  185. package/dist/chunk-M2ZM3X5Y.mjs +56 -0
  186. package/dist/chunk-M4MIYHAV.mjs +43 -0
  187. package/dist/chunk-M7F7DOC4.mjs +41 -0
  188. package/dist/chunk-MHWFVML4.mjs +115 -0
  189. package/dist/chunk-MLCMZRUC.mjs +50 -0
  190. package/dist/chunk-MNARBWAJ.mjs +47 -0
  191. package/dist/chunk-MPTVYTYS.mjs +0 -0
  192. package/dist/chunk-MQFW3LZR.mjs +111 -0
  193. package/dist/chunk-N2WTNCQU.mjs +66 -0
  194. package/dist/chunk-N355RJGH.mjs +141 -0
  195. package/dist/chunk-N3YFQDW7.mjs +77 -0
  196. package/dist/chunk-N4DPPZVJ.mjs +269 -0
  197. package/dist/chunk-NGCBOOIE.mjs +225 -0
  198. package/dist/chunk-NWQQYJSP.mjs +688 -0
  199. package/dist/chunk-NYQV556V.mjs +667 -0
  200. package/dist/chunk-O5C3355V.mjs +246 -0
  201. package/dist/chunk-OCP43S7U.mjs +241 -0
  202. package/dist/chunk-OHLFRULE.mjs +432 -0
  203. package/dist/chunk-PLO46EKV.mjs +65 -0
  204. package/dist/chunk-PQ3B2FEB.mjs +249 -0
  205. package/dist/chunk-PSBEYGD4.mjs +618 -0
  206. package/dist/chunk-PWIBJI6Z.mjs +115 -0
  207. package/dist/chunk-Q5KPXEH5.mjs +223 -0
  208. package/dist/chunk-QC34HHAY.mjs +57 -0
  209. package/dist/chunk-QKTMWS4J.mjs +43 -0
  210. package/dist/chunk-QVWV36BK.mjs +73 -0
  211. package/dist/chunk-QWK3MYDM.mjs +64 -0
  212. package/dist/chunk-RE44YAMD.mjs +47 -0
  213. package/dist/chunk-RH6DAYBU.mjs +369 -0
  214. package/dist/chunk-RSSEJENT.mjs +269 -0
  215. package/dist/chunk-SJBS5QCJ.mjs +225 -0
  216. package/dist/chunk-SWRFCTJW.mjs +77 -0
  217. package/dist/chunk-T4XNCAIB.mjs +231 -0
  218. package/dist/chunk-TCX5IFQ4.mjs +627 -0
  219. package/dist/chunk-TSAUBT2F.mjs +74 -0
  220. package/dist/chunk-U7Q7ILSE.mjs +690 -0
  221. package/dist/chunk-UHTUJJH7.mjs +112 -0
  222. package/dist/chunk-UOHYCMUS.mjs +53 -0
  223. package/dist/chunk-UQJ3BDM4.mjs +141 -0
  224. package/dist/chunk-UQZBL3F7.mjs +0 -0
  225. package/dist/chunk-UQZNUEZE.mjs +64 -0
  226. package/dist/chunk-URGYNKJM.mjs +229 -0
  227. package/dist/chunk-UTMZY37A.mjs +141 -0
  228. package/dist/chunk-UUEPD2FH.mjs +141 -0
  229. package/dist/chunk-V3CHJHUX.mjs +424 -0
  230. package/dist/chunk-VQOUJQIF.mjs +249 -0
  231. package/dist/chunk-VY3QH43W.mjs +6 -0
  232. package/dist/chunk-W2N3AWY6.mjs +80 -0
  233. package/dist/chunk-WUVS6S7N.mjs +119 -0
  234. package/dist/chunk-WZS2K7X3.mjs +688 -0
  235. package/dist/chunk-X76GNSBB.mjs +87 -0
  236. package/dist/chunk-XG7CZXBW.mjs +244 -0
  237. package/dist/chunk-XXKIBYXD.mjs +109 -0
  238. package/dist/chunk-XXTUVMAY.mjs +51 -0
  239. package/dist/chunk-Y3BIY4DW.mjs +618 -0
  240. package/dist/chunk-Y7FP6ZMW.mjs +225 -0
  241. package/dist/chunk-YELLXCMY.mjs +265 -0
  242. package/dist/chunk-YQEEM26W.mjs +232 -0
  243. package/dist/chunk-ZGFE3OPJ.mjs +678 -0
  244. package/dist/chunk-ZMJ3KDDY.mjs +618 -0
  245. package/dist/chunk-ZTRM4HZJ.mjs +53 -0
  246. package/dist/chunk-ZYPWQ53U.mjs +6 -0
  247. package/dist/dist-U2IPN4FB.mjs +567 -0
  248. package/dist/index.d.mts +20 -2
  249. package/dist/index.d.ts +20 -2
  250. package/dist/index.js +2820 -13
  251. package/dist/index.mjs +59 -5
  252. package/dist/magic-string.es-XOWQCRDO.mjs +1311 -0
  253. package/dist/molecules/UserProfile/UserProfile.d.mts +23 -0
  254. package/dist/molecules/UserProfile/UserProfile.d.ts +23 -0
  255. package/dist/molecules/UserProfile/UserProfile.js +243 -0
  256. package/dist/molecules/UserProfile/UserProfile.mjs +11 -0
  257. package/dist/styles.css +1802 -1067
  258. package/dist/types-CA0Wby2L.d.mts +67 -0
  259. package/dist/types-CA0Wby2L.d.ts +67 -0
  260. package/dist/types-CncMmuJM.d.mts +44 -0
  261. package/dist/types-CncMmuJM.d.ts +44 -0
  262. package/dist/types-D4MD2w3_.d.mts +9 -0
  263. package/dist/types-D4MD2w3_.d.ts +9 -0
  264. package/dist/types-D4fdeMWQ.d.mts +62 -0
  265. package/dist/types-D4fdeMWQ.d.ts +62 -0
  266. package/dist/types-mhQmqhsR.d.mts +10 -0
  267. package/dist/types-mhQmqhsR.d.ts +10 -0
  268. package/package.json +10 -18
  269. /package/dist/{Button.d.mts → atom/Button/Button.d.mts} +0 -0
  270. /package/dist/{Button.d.ts → atom/Button/Button.d.ts} +0 -0
  271. /package/dist/{Checkbox.d.mts → atom/Checkbox/Checkbox.d.mts} +0 -0
  272. /package/dist/{Checkbox.d.ts → atom/Checkbox/Checkbox.d.ts} +0 -0
  273. /package/dist/{chunk-FUJQIYOF.mjs → chunk-FWCSY2DS.mjs} +0 -0
@@ -0,0 +1,116 @@
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
+
87
+ /**
88
+ * Lumina Table component.
89
+ *
90
+ * Variants:
91
+ * - `default` – standalone table card with rounded border
92
+ * - `hover` – row highlight on mouse-over
93
+ * - `selectable` – use with `rowSelection`; clicking any row toggles its checkbox
94
+ * - `accordion-child` – strips outer card chrome; place inside your own accordion wrapper
95
+ * - `toolbar-child` – strips outer card chrome; place inside your own toolbar/container wrapper
96
+ *
97
+ * Column header icons — add `headerProps` to any column definition:
98
+ * ```tsx
99
+ * columns={[{
100
+ * key: "name", dataIndex: "name", title: "Name",
101
+ * headerProps: {
102
+ * sortable: true,
103
+ * sortOrder: sortOrders.name,
104
+ * onSortChange: (order) => setSortOrders(prev => ({ ...prev, name: order })),
105
+ * filterCount: activeFilters.name ?? 0,
106
+ * filterContent: <MyFilterPanel />,
107
+ * },
108
+ * }]}
109
+ * ```
110
+ */
111
+ declare function Table<RecordType extends object = any>(props: TableProps<RecordType>): React.JSX.Element;
112
+ declare namespace Table {
113
+ var displayName: string;
114
+ }
115
+
116
+ 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,99 @@
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. Pass a ReactNode — typically computed from `sortOrder`.
19
+ * If omitted, built-in ↑↓ / ↑ / ↓ arrows are used.
20
+ * @example
21
+ * sortIcon={sortOrder === "ascend" ? <ArrowUp /> : sortOrder === "descend" ? <ArrowDown /> : <ArrowUpDown />}
22
+ */
23
+ sortIcon?: React.ReactNode;
24
+ /** > 0 turns the filter icon red and shows a count badge. */
25
+ filterCount?: number;
26
+ /**
27
+ * Custom filter icon. If omitted, the built-in ≡ icon is used.
28
+ * @example filterIcon={<FunnelIcon />}
29
+ */
30
+ filterIcon?: React.ReactNode;
31
+ /**
32
+ * Filter dropdown content from the consumer.
33
+ * Providing this prop renders the filter icon button.
34
+ * Clicking the icon toggles visibility of this content.
35
+ */
36
+ filterContent?: React.ReactNode;
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` – standalone table card with rounded border
49
+ * - `hover` – row highlight on mouse-over
50
+ * - `selectable` – use with `rowSelection` for checkbox rows; clicking any row toggles its checkbox
51
+ * - `accordion-child` – strips outer card chrome; place inside your own accordion wrapper
52
+ * - `toolbar-child` – strips outer card chrome; place inside your own toolbar/container wrapper
53
+ */
54
+ variant?: "default" | "hover" | "selectable" | "accordion-child" | "toolbar-child";
55
+ /** Table size. Defaults to 'middle'. */
56
+ size?: "small" | "middle" | "large";
57
+ /** Extra class applied on the outermost wrapper div. */
58
+ className?: string;
59
+ /** AntD pagination config. Pass `false` to hide pagination. */
60
+ pagination?: TablePaginationConfig | boolean;
61
+ /**
62
+ * Column definitions. Add `headerProps` to any column to get sort/filter icons
63
+ * rendered automatically in the column header.
64
+ */
65
+ columns?: LuminaColumnsType<RecordType>;
66
+ /** Analytics metadata forwarded to the consuming app's tracking layer. */
67
+ analytics?: Record<string, unknown>;
68
+ }
69
+
70
+ /**
71
+ * Lumina Table component.
72
+ *
73
+ * Variants:
74
+ * - `default` – standalone table card with rounded border
75
+ * - `hover` – row highlight on mouse-over
76
+ * - `selectable` – use with `rowSelection`; clicking any row toggles its checkbox
77
+ * - `accordion-child` – strips outer card chrome; place inside your own accordion wrapper
78
+ * - `toolbar-child` – strips outer card chrome; place inside your own toolbar/container wrapper
79
+ *
80
+ * Column header icons — add `headerProps` to any column definition:
81
+ * ```tsx
82
+ * columns={[{
83
+ * key: "name", dataIndex: "name", title: "Name",
84
+ * headerProps: {
85
+ * sortable: true,
86
+ * sortOrder: sortOrders.name,
87
+ * onSortChange: (order) => setSortOrders(prev => ({ ...prev, name: order })),
88
+ * filterCount: activeFilters.name ?? 0,
89
+ * filterContent: <MyFilterPanel />,
90
+ * },
91
+ * }]}
92
+ * ```
93
+ */
94
+ declare function Table<RecordType extends object = any>(props: TableProps<RecordType>): React.JSX.Element;
95
+ declare namespace Table {
96
+ var displayName: string;
97
+ }
98
+
99
+ 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,99 @@
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. Pass a ReactNode — typically computed from `sortOrder`.
19
+ * If omitted, built-in ↑↓ / ↑ / ↓ arrows are used.
20
+ * @example
21
+ * sortIcon={sortOrder === "ascend" ? <ArrowUp /> : sortOrder === "descend" ? <ArrowDown /> : <ArrowUpDown />}
22
+ */
23
+ sortIcon?: React.ReactNode;
24
+ /** > 0 turns the filter icon red and shows a count badge. */
25
+ filterCount?: number;
26
+ /**
27
+ * Custom filter icon. If omitted, the built-in ≡ icon is used.
28
+ * @example filterIcon={<FunnelIcon />}
29
+ */
30
+ filterIcon?: React.ReactNode;
31
+ /**
32
+ * Filter dropdown content from the consumer.
33
+ * Providing this prop renders the filter icon button.
34
+ * Clicking the icon toggles visibility of this content.
35
+ */
36
+ filterContent?: React.ReactNode;
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` – standalone table card with rounded border
49
+ * - `hover` – row highlight on mouse-over
50
+ * - `selectable` – use with `rowSelection` for checkbox rows; clicking any row toggles its checkbox
51
+ * - `accordion-child` – strips outer card chrome; place inside your own accordion wrapper
52
+ * - `toolbar-child` – strips outer card chrome; place inside your own toolbar/container wrapper
53
+ */
54
+ variant?: "default" | "hover" | "selectable" | "accordion-child" | "toolbar-child";
55
+ /** Table size. Defaults to 'middle'. */
56
+ size?: "small" | "middle" | "large";
57
+ /** Extra class applied on the outermost wrapper div. */
58
+ className?: string;
59
+ /** AntD pagination config. Pass `false` to hide pagination. */
60
+ pagination?: TablePaginationConfig | boolean;
61
+ /**
62
+ * Column definitions. Add `headerProps` to any column to get sort/filter icons
63
+ * rendered automatically in the column header.
64
+ */
65
+ columns?: LuminaColumnsType<RecordType>;
66
+ /** Analytics metadata forwarded to the consuming app's tracking layer. */
67
+ analytics?: Record<string, unknown>;
68
+ }
69
+
70
+ /**
71
+ * Lumina Table component.
72
+ *
73
+ * Variants:
74
+ * - `default` – standalone table card with rounded border
75
+ * - `hover` – row highlight on mouse-over
76
+ * - `selectable` – use with `rowSelection`; clicking any row toggles its checkbox
77
+ * - `accordion-child` – strips outer card chrome; place inside your own accordion wrapper
78
+ * - `toolbar-child` – strips outer card chrome; place inside your own toolbar/container wrapper
79
+ *
80
+ * Column header icons — add `headerProps` to any column definition:
81
+ * ```tsx
82
+ * columns={[{
83
+ * key: "name", dataIndex: "name", title: "Name",
84
+ * headerProps: {
85
+ * sortable: true,
86
+ * sortOrder: sortOrders.name,
87
+ * onSortChange: (order) => setSortOrders(prev => ({ ...prev, name: order })),
88
+ * filterCount: activeFilters.name ?? 0,
89
+ * filterContent: <MyFilterPanel />,
90
+ * },
91
+ * }]}
92
+ * ```
93
+ */
94
+ declare function Table<RecordType extends object = any>(props: TableProps<RecordType>): React.JSX.Element;
95
+ declare namespace Table {
96
+ var displayName: string;
97
+ }
98
+
99
+ 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.ReactNode;
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.ReactNode;
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,39 @@
1
+ import * as React from 'react';
2
+ import { TableProps as TableProps$1, TablePaginationConfig } from 'antd';
3
+
4
+ interface TableProps<RecordType = any> extends Omit<TableProps$1<RecordType>, "size" | "bordered"> {
5
+ /**
6
+ * Lumina UI table variant.
7
+ * - `default` – plain table, no hover highlight
8
+ * - `hover` – row highlight on mouse-over
9
+ * - `selectable` – intended for use with rowSelection
10
+ * - `accordion-child` – renders inside a TableAccordion; drops outer card styling
11
+ * - `toolbar-child` – renders inside a TableToolbar; drops outer card styling
12
+ */
13
+ variant?: "default" | "hover" | "selectable" | "accordion-child" | "toolbar-child";
14
+ /**
15
+ * Table size. Defaults to 'middle' (AntD default is 'large').
16
+ */
17
+ size?: "small" | "middle" | "large";
18
+ /**
19
+ * Extra class applied on the outermost wrapper div.
20
+ */
21
+ className?: string;
22
+ /**
23
+ * AntD pagination config. Pass `false` to hide pagination.
24
+ * When an object is provided, Lumina injects sensible defaults
25
+ * (`showSizeChanger`, `showTotal`, `pageSizeOptions`) which can be overridden.
26
+ */
27
+ pagination?: TablePaginationConfig | false;
28
+ /**
29
+ * Analytics metadata forwarded to the consuming app's tracking layer.
30
+ */
31
+ analytics?: Record<string, unknown>;
32
+ }
33
+
34
+ declare function Table<RecordType extends object = any>(props: TableProps<RecordType>): React.JSX.Element;
35
+ declare namespace Table {
36
+ var displayName: string;
37
+ }
38
+
39
+ export { Table as T, type TableProps as a };
@@ -0,0 +1,39 @@
1
+ import * as React from 'react';
2
+ import { TableProps as TableProps$1, TablePaginationConfig } from 'antd';
3
+
4
+ interface TableProps<RecordType = any> extends Omit<TableProps$1<RecordType>, "size" | "bordered"> {
5
+ /**
6
+ * Lumina UI table variant.
7
+ * - `default` – plain table, no hover highlight
8
+ * - `hover` – row highlight on mouse-over
9
+ * - `selectable` – intended for use with rowSelection
10
+ * - `accordion-child` – renders inside a TableAccordion; drops outer card styling
11
+ * - `toolbar-child` – renders inside a TableToolbar; drops outer card styling
12
+ */
13
+ variant?: "default" | "hover" | "selectable" | "accordion-child" | "toolbar-child";
14
+ /**
15
+ * Table size. Defaults to 'middle' (AntD default is 'large').
16
+ */
17
+ size?: "small" | "middle" | "large";
18
+ /**
19
+ * Extra class applied on the outermost wrapper div.
20
+ */
21
+ className?: string;
22
+ /**
23
+ * AntD pagination config. Pass `false` to hide pagination.
24
+ * When an object is provided, Lumina injects sensible defaults
25
+ * (`showSizeChanger`, `showTotal`, `pageSizeOptions`) which can be overridden.
26
+ */
27
+ pagination?: TablePaginationConfig | false;
28
+ /**
29
+ * Analytics metadata forwarded to the consuming app's tracking layer.
30
+ */
31
+ analytics?: Record<string, unknown>;
32
+ }
33
+
34
+ declare function Table<RecordType extends object = any>(props: TableProps<RecordType>): React.JSX.Element;
35
+ declare namespace Table {
36
+ var displayName: string;
37
+ }
38
+
39
+ export { Table as T, type TableProps as a };