react-restyle-components 0.4.23 → 0.4.24

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 (194) hide show
  1. package/lib/src/core-components/src/components/AlertBanner/AlertBanner.d.ts +4 -0
  2. package/lib/src/core-components/src/components/AlertBanner/AlertBanner.d.ts.map +1 -0
  3. package/lib/src/core-components/src/components/AlertBanner/AlertBanner.js +45 -0
  4. package/lib/src/core-components/src/components/AlertBanner/elements.d.ts +27 -0
  5. package/lib/src/core-components/src/components/AlertBanner/elements.d.ts.map +1 -0
  6. package/lib/src/core-components/src/components/AlertBanner/elements.js +233 -0
  7. package/lib/src/core-components/src/components/AlertBanner/index.d.ts +3 -0
  8. package/lib/src/core-components/src/components/AlertBanner/index.d.ts.map +1 -0
  9. package/lib/src/core-components/src/components/AlertBanner/index.js +2 -0
  10. package/lib/src/core-components/src/components/AlertBanner/types.d.ts +46 -0
  11. package/lib/src/core-components/src/components/AlertBanner/types.d.ts.map +1 -0
  12. package/lib/src/core-components/src/components/AlertBanner/types.js +10 -0
  13. package/lib/src/core-components/src/components/AutoComplete/auto-complete-filter-multiple-select-multiple-fields-display/auto-complete-filter-multiple-select-multiple-fields-display.component.d.ts.map +1 -1
  14. package/lib/src/core-components/src/components/Badge/Badge.d.ts +33 -33
  15. package/lib/src/core-components/src/components/Breadcrumb/Breadcrumb.d.ts +28 -0
  16. package/lib/src/core-components/src/components/Breadcrumb/Breadcrumb.d.ts.map +1 -0
  17. package/lib/src/core-components/src/components/Breadcrumb/Breadcrumb.js +83 -0
  18. package/lib/src/core-components/src/components/Breadcrumb/elements.d.ts +44 -0
  19. package/lib/src/core-components/src/components/Breadcrumb/elements.d.ts.map +1 -0
  20. package/lib/src/core-components/src/components/Breadcrumb/elements.js +370 -0
  21. package/lib/src/core-components/src/components/Breadcrumb/index.d.ts +4 -0
  22. package/lib/src/core-components/src/components/Breadcrumb/index.d.ts.map +1 -0
  23. package/lib/src/core-components/src/components/Breadcrumb/index.js +3 -0
  24. package/lib/src/core-components/src/components/Breadcrumb/types.d.ts +14 -0
  25. package/lib/src/core-components/src/components/Breadcrumb/types.d.ts.map +1 -0
  26. package/lib/src/core-components/src/components/Breadcrumb/types.js +3 -0
  27. package/lib/src/core-components/src/components/Button/Button.spec.js +1 -1
  28. package/lib/src/core-components/src/components/Button/button.component.js +1 -1
  29. package/lib/src/core-components/src/components/Chip/Chip.d.ts +5 -0
  30. package/lib/src/core-components/src/components/Chip/Chip.d.ts.map +1 -0
  31. package/lib/src/core-components/src/components/Chip/Chip.js +64 -0
  32. package/lib/src/core-components/src/components/Chip/elements.d.ts +27 -0
  33. package/lib/src/core-components/src/components/Chip/elements.d.ts.map +1 -0
  34. package/lib/src/core-components/src/components/Chip/elements.js +253 -0
  35. package/lib/src/core-components/src/components/Chip/index.d.ts +3 -0
  36. package/lib/src/core-components/src/components/Chip/index.d.ts.map +1 -0
  37. package/lib/src/core-components/src/components/Chip/index.js +2 -0
  38. package/lib/src/core-components/src/components/Chip/types.d.ts +54 -0
  39. package/lib/src/core-components/src/components/Chip/types.d.ts.map +1 -0
  40. package/lib/src/core-components/src/components/Chip/types.js +4 -0
  41. package/lib/src/core-components/src/components/Divider/Divider.d.ts +4 -0
  42. package/lib/src/core-components/src/components/Divider/Divider.d.ts.map +1 -0
  43. package/lib/src/core-components/src/components/Divider/Divider.js +25 -0
  44. package/lib/src/core-components/src/components/Divider/elements.d.ts +22 -0
  45. package/lib/src/core-components/src/components/Divider/elements.d.ts.map +1 -0
  46. package/lib/src/core-components/src/components/Divider/elements.js +103 -0
  47. package/lib/src/core-components/src/components/Divider/index.d.ts +3 -0
  48. package/lib/src/core-components/src/components/Divider/index.d.ts.map +1 -0
  49. package/lib/src/core-components/src/components/Divider/index.js +2 -0
  50. package/lib/src/core-components/src/components/Divider/types.d.ts +30 -0
  51. package/lib/src/core-components/src/components/Divider/types.d.ts.map +1 -0
  52. package/lib/src/core-components/src/components/Divider/types.js +4 -0
  53. package/lib/src/core-components/src/components/DynamicGrid/DynamicGrid.d.ts +6 -0
  54. package/lib/src/core-components/src/components/DynamicGrid/DynamicGrid.d.ts.map +1 -0
  55. package/lib/src/core-components/src/components/DynamicGrid/DynamicGrid.js +147 -0
  56. package/lib/src/core-components/src/components/DynamicGrid/GridContainer.d.ts +12 -0
  57. package/lib/src/core-components/src/components/DynamicGrid/GridContainer.d.ts.map +1 -0
  58. package/lib/src/core-components/src/components/DynamicGrid/GridContainer.js +89 -0
  59. package/lib/src/core-components/src/components/DynamicGrid/elements.d.ts +49 -0
  60. package/lib/src/core-components/src/components/DynamicGrid/elements.d.ts.map +1 -0
  61. package/lib/src/core-components/src/components/DynamicGrid/elements.js +409 -0
  62. package/lib/src/core-components/src/components/DynamicGrid/index.d.ts +4 -0
  63. package/lib/src/core-components/src/components/DynamicGrid/index.d.ts.map +1 -0
  64. package/lib/src/core-components/src/components/DynamicGrid/index.js +3 -0
  65. package/lib/src/core-components/src/components/DynamicGrid/types.d.ts +173 -0
  66. package/lib/src/core-components/src/components/DynamicGrid/types.d.ts.map +1 -0
  67. package/lib/src/core-components/src/components/DynamicGrid/types.js +28 -0
  68. package/lib/src/core-components/src/components/DynamicGrid/utils.d.ts +65 -0
  69. package/lib/src/core-components/src/components/DynamicGrid/utils.d.ts.map +1 -0
  70. package/lib/src/core-components/src/components/DynamicGrid/utils.js +193 -0
  71. package/lib/src/core-components/src/components/FormField/FormField.d.ts +1 -1
  72. package/lib/src/core-components/src/components/Icon/Icon.js +1 -1
  73. package/lib/src/core-components/src/components/Masonry/Masonry.d.ts +7 -0
  74. package/lib/src/core-components/src/components/Masonry/Masonry.d.ts.map +1 -0
  75. package/lib/src/core-components/src/components/Masonry/Masonry.js +73 -0
  76. package/lib/src/core-components/src/components/Masonry/elements.d.ts +31 -0
  77. package/lib/src/core-components/src/components/Masonry/elements.d.ts.map +1 -0
  78. package/lib/src/core-components/src/components/Masonry/elements.js +122 -0
  79. package/lib/src/core-components/src/components/Masonry/hooks.d.ts +21 -0
  80. package/lib/src/core-components/src/components/Masonry/hooks.d.ts.map +1 -0
  81. package/lib/src/core-components/src/components/Masonry/hooks.js +100 -0
  82. package/lib/src/core-components/src/components/Masonry/index.d.ts +4 -0
  83. package/lib/src/core-components/src/components/Masonry/index.d.ts.map +1 -0
  84. package/lib/src/core-components/src/components/Masonry/index.js +3 -0
  85. package/lib/src/core-components/src/components/Masonry/types.d.ts +117 -0
  86. package/lib/src/core-components/src/components/Masonry/types.d.ts.map +1 -0
  87. package/lib/src/core-components/src/components/Masonry/types.js +1 -0
  88. package/lib/src/core-components/src/components/Picker/color-picker-modal/color-picker-modal.component.js +1 -1
  89. package/lib/src/core-components/src/components/Skeleton/Skeleton.d.ts +8 -0
  90. package/lib/src/core-components/src/components/Skeleton/Skeleton.d.ts.map +1 -0
  91. package/lib/src/core-components/src/components/Skeleton/Skeleton.js +51 -0
  92. package/lib/src/core-components/src/components/Skeleton/elements.d.ts +33 -0
  93. package/lib/src/core-components/src/components/Skeleton/elements.d.ts.map +1 -0
  94. package/lib/src/core-components/src/components/Skeleton/elements.js +238 -0
  95. package/lib/src/core-components/src/components/Skeleton/index.d.ts +3 -0
  96. package/lib/src/core-components/src/components/Skeleton/index.d.ts.map +1 -0
  97. package/lib/src/core-components/src/components/Skeleton/index.js +2 -0
  98. package/lib/src/core-components/src/components/Skeleton/types.d.ts +80 -0
  99. package/lib/src/core-components/src/components/Skeleton/types.d.ts.map +1 -0
  100. package/lib/src/core-components/src/components/Skeleton/types.js +4 -0
  101. package/lib/src/core-components/src/components/SpeedDial/SpeedDial.d.ts +4 -0
  102. package/lib/src/core-components/src/components/SpeedDial/SpeedDial.d.ts.map +1 -0
  103. package/lib/src/core-components/src/components/SpeedDial/SpeedDial.js +128 -0
  104. package/lib/src/core-components/src/components/SpeedDial/elements.d.ts +57 -0
  105. package/lib/src/core-components/src/components/SpeedDial/elements.d.ts.map +1 -0
  106. package/lib/src/core-components/src/components/SpeedDial/elements.js +299 -0
  107. package/lib/src/core-components/src/components/SpeedDial/index.d.ts +3 -0
  108. package/lib/src/core-components/src/components/SpeedDial/index.d.ts.map +1 -0
  109. package/lib/src/core-components/src/components/SpeedDial/index.js +2 -0
  110. package/lib/src/core-components/src/components/SpeedDial/types.d.ts +149 -0
  111. package/lib/src/core-components/src/components/SpeedDial/types.d.ts.map +1 -0
  112. package/lib/src/core-components/src/components/SpeedDial/types.js +3 -0
  113. package/lib/src/core-components/src/components/Switch/Switch.d.ts +4 -0
  114. package/lib/src/core-components/src/components/Switch/Switch.d.ts.map +1 -0
  115. package/lib/src/core-components/src/components/Switch/Switch.js +26 -0
  116. package/lib/src/core-components/src/components/Switch/elements.d.ts +33 -0
  117. package/lib/src/core-components/src/components/Switch/elements.d.ts.map +1 -0
  118. package/lib/src/core-components/src/components/Switch/elements.js +167 -0
  119. package/lib/src/core-components/src/components/Switch/index.d.ts +3 -0
  120. package/lib/src/core-components/src/components/Switch/index.d.ts.map +1 -0
  121. package/lib/src/core-components/src/components/Switch/index.js +2 -0
  122. package/lib/src/core-components/src/components/Switch/types.d.ts +32 -0
  123. package/lib/src/core-components/src/components/Switch/types.d.ts.map +1 -0
  124. package/lib/src/core-components/src/components/Switch/types.js +3 -0
  125. package/lib/src/core-components/src/components/Table/Table.d.ts +7 -0
  126. package/lib/src/core-components/src/components/Table/Table.d.ts.map +1 -0
  127. package/lib/src/core-components/src/components/Table/Table.js +357 -0
  128. package/lib/src/core-components/src/components/Table/elements.d.ts +89 -0
  129. package/lib/src/core-components/src/components/Table/elements.d.ts.map +1 -0
  130. package/lib/src/core-components/src/components/Table/elements.js +604 -0
  131. package/lib/src/core-components/src/components/Table/filters.d.ts +23 -0
  132. package/lib/src/core-components/src/components/Table/filters.d.ts.map +1 -0
  133. package/lib/src/core-components/src/components/Table/filters.js +181 -0
  134. package/lib/src/core-components/src/components/Table/hooks.d.ts +107 -0
  135. package/lib/src/core-components/src/components/Table/hooks.d.ts.map +1 -0
  136. package/lib/src/core-components/src/components/Table/hooks.js +451 -0
  137. package/lib/src/core-components/src/components/Table/index.d.ts +5 -0
  138. package/lib/src/core-components/src/components/Table/index.d.ts.map +1 -0
  139. package/lib/src/core-components/src/components/Table/index.js +4 -0
  140. package/lib/src/core-components/src/components/Table/types.d.ts +358 -0
  141. package/lib/src/core-components/src/components/Table/types.d.ts.map +1 -0
  142. package/lib/src/core-components/src/components/Table/types.js +1 -0
  143. package/lib/src/core-components/src/components/Toast/Toast.d.ts +5 -0
  144. package/lib/src/core-components/src/components/Toast/Toast.d.ts.map +1 -0
  145. package/lib/src/core-components/src/components/Toast/Toast.js +50 -0
  146. package/lib/src/core-components/src/components/Toast/elements.d.ts +28 -0
  147. package/lib/src/core-components/src/components/Toast/elements.d.ts.map +1 -0
  148. package/lib/src/core-components/src/components/Toast/elements.js +272 -0
  149. package/lib/src/core-components/src/components/Toast/index.d.ts +3 -0
  150. package/lib/src/core-components/src/components/Toast/index.d.ts.map +1 -0
  151. package/lib/src/core-components/src/components/Toast/index.js +2 -0
  152. package/lib/src/core-components/src/components/Toast/types.d.ts +52 -0
  153. package/lib/src/core-components/src/components/Toast/types.d.ts.map +1 -0
  154. package/lib/src/core-components/src/components/Toast/types.js +9 -0
  155. package/lib/src/core-components/src/components/Tooltip/Tooltip.d.ts +7 -0
  156. package/lib/src/core-components/src/components/Tooltip/Tooltip.d.ts.map +1 -0
  157. package/lib/src/core-components/src/components/Tooltip/Tooltip.js +200 -0
  158. package/lib/src/core-components/src/components/Tooltip/elements.d.ts +19 -0
  159. package/lib/src/core-components/src/components/Tooltip/elements.d.ts.map +1 -0
  160. package/lib/src/core-components/src/components/Tooltip/elements.js +195 -0
  161. package/lib/src/core-components/src/components/Tooltip/index.d.ts +3 -0
  162. package/lib/src/core-components/src/components/Tooltip/index.d.ts.map +1 -0
  163. package/lib/src/core-components/src/components/Tooltip/index.js +2 -0
  164. package/lib/src/core-components/src/components/Tooltip/types.d.ts +81 -17
  165. package/lib/src/core-components/src/components/Tooltip/types.d.ts.map +1 -1
  166. package/lib/src/core-components/src/components/Tooltip/types.js +17 -1
  167. package/lib/src/core-components/src/components/Tooltip/utils.d.ts +26 -0
  168. package/lib/src/core-components/src/components/Tooltip/utils.d.ts.map +1 -0
  169. package/lib/src/core-components/src/components/Tooltip/utils.js +140 -0
  170. package/lib/src/core-components/src/components/TreeSelect/TreeSelect.d.ts +5 -0
  171. package/lib/src/core-components/src/components/TreeSelect/TreeSelect.d.ts.map +1 -0
  172. package/lib/src/core-components/src/components/TreeSelect/TreeSelect.js +303 -0
  173. package/lib/src/core-components/src/components/TreeSelect/elements.d.ts +74 -0
  174. package/lib/src/core-components/src/components/TreeSelect/elements.d.ts.map +1 -0
  175. package/lib/src/core-components/src/components/TreeSelect/elements.js +494 -0
  176. package/lib/src/core-components/src/components/TreeSelect/hooks.d.ts +57 -0
  177. package/lib/src/core-components/src/components/TreeSelect/hooks.d.ts.map +1 -0
  178. package/lib/src/core-components/src/components/TreeSelect/hooks.js +252 -0
  179. package/lib/src/core-components/src/components/TreeSelect/index.d.ts +4 -0
  180. package/lib/src/core-components/src/components/TreeSelect/index.d.ts.map +1 -0
  181. package/lib/src/core-components/src/components/TreeSelect/index.js +3 -0
  182. package/lib/src/core-components/src/components/TreeSelect/types.d.ts +205 -0
  183. package/lib/src/core-components/src/components/TreeSelect/types.d.ts.map +1 -0
  184. package/lib/src/core-components/src/components/TreeSelect/types.js +1 -0
  185. package/lib/src/core-components/src/components/index.d.ts +13 -1
  186. package/lib/src/core-components/src/components/index.d.ts.map +1 -1
  187. package/lib/src/core-components/src/components/index.js +14 -1
  188. package/lib/src/core-components/src/core-components/CoreButton/CoreButton.d.ts +2 -2
  189. package/lib/src/core-components/src/tc.global.css +7 -3
  190. package/lib/src/core-components/src/tc.module.css +2 -2
  191. package/package.json +1 -1
  192. package/lib/src/core-components/src/components/Tooltip/tooltip.component.d.ts +0 -29
  193. package/lib/src/core-components/src/components/Tooltip/tooltip.component.d.ts.map +0 -1
  194. package/lib/src/core-components/src/components/Tooltip/tooltip.component.js +0 -10
@@ -0,0 +1,358 @@
1
+ import React, { CSSProperties } from 'react';
2
+ /** Sort direction */
3
+ export type SortDirection = 'asc' | 'desc' | null;
4
+ /** Filter type */
5
+ export type FilterType = 'text' | 'number' | 'date' | 'dateRange' | 'select' | 'custom';
6
+ /** Row selection mode */
7
+ export type SelectionMode = 'none' | 'single' | 'multiple' | 'checkbox';
8
+ /** Cell edit mode */
9
+ export type EditMode = 'none' | 'click' | 'dblclick';
10
+ /** Pagination position */
11
+ export type PaginationPosition = 'top' | 'bottom' | 'both';
12
+ /** Column alignment */
13
+ export type ColumnAlign = 'left' | 'center' | 'right';
14
+ /** Column definition */
15
+ export interface TableColumn<T = any> {
16
+ /** Unique field key */
17
+ dataField: string;
18
+ /** Column header text */
19
+ text: string;
20
+ /** Column header alias for display */
21
+ headerText?: string;
22
+ /** Whether column is hidden */
23
+ hidden?: boolean;
24
+ /** Column width */
25
+ width?: number | string;
26
+ /** Minimum width */
27
+ minWidth?: number | string;
28
+ /** Maximum width */
29
+ maxWidth?: number | string;
30
+ /** Text alignment */
31
+ align?: ColumnAlign;
32
+ /** Header alignment */
33
+ headerAlign?: ColumnAlign;
34
+ /** Whether column is sortable */
35
+ sort?: boolean;
36
+ /** Custom sort function */
37
+ sortFunc?: (a: any, b: any, order: SortDirection, rowA: T, rowB: T) => number;
38
+ /** Default sort order */
39
+ defaultSort?: SortDirection;
40
+ /** Whether column is filterable */
41
+ filter?: boolean;
42
+ /** Filter type */
43
+ filterType?: FilterType;
44
+ /** Filter options (for select filter) */
45
+ filterOptions?: Array<{
46
+ value: string;
47
+ label: string;
48
+ }>;
49
+ /** Custom filter component */
50
+ filterComponent?: React.ComponentType<TableFilterProps>;
51
+ /** Filter placeholder */
52
+ filterPlaceholder?: string;
53
+ /** Whether column is editable */
54
+ editable?: boolean;
55
+ /** Editor type */
56
+ editorType?: 'text' | 'number' | 'date' | 'select' | 'checkbox' | 'textarea';
57
+ /** Editor options (for select editor) */
58
+ editorOptions?: Array<{
59
+ value: string;
60
+ label: string;
61
+ }>;
62
+ /** Validator function */
63
+ validator?: (value: any, row: T) => boolean | string;
64
+ /** Custom cell renderer */
65
+ formatter?: (cell: any, row: T, rowIndex: number, columnIndex: number) => React.ReactNode;
66
+ /** Custom header renderer */
67
+ headerFormatter?: (column: TableColumn<T>, columnIndex: number) => React.ReactNode;
68
+ /** Custom footer renderer */
69
+ footerFormatter?: (column: TableColumn<T>, data: T[]) => React.ReactNode;
70
+ /** CSV export formatter */
71
+ csvFormatter?: (cell: any, row: T) => string;
72
+ /** Whether to include in CSV export */
73
+ csvExport?: boolean;
74
+ /** Header CSS class */
75
+ headerClasses?: string;
76
+ /** Cell CSS class */
77
+ classes?: string | ((cell: any, row: T, rowIndex: number) => string);
78
+ /** Header style */
79
+ headerStyle?: CSSProperties | ((column: TableColumn<T>) => CSSProperties);
80
+ /** Cell style */
81
+ style?: CSSProperties | ((cell: any, row: T, rowIndex: number) => CSSProperties);
82
+ /** Whether column can be resized */
83
+ resizable?: boolean;
84
+ /** Whether column can be reordered */
85
+ reorderable?: boolean;
86
+ /** Whether column is pinned */
87
+ pinned?: 'left' | 'right' | false;
88
+ /** Footer content */
89
+ footer?: string | ((column: TableColumn<T>, data: T[]) => React.ReactNode);
90
+ /** Events */
91
+ events?: {
92
+ onClick?: (e: React.MouseEvent, cell: any, row: T, rowIndex: number) => void;
93
+ onDoubleClick?: (e: React.MouseEvent, cell: any, row: T, rowIndex: number) => void;
94
+ };
95
+ }
96
+ /** Filter props passed to custom filter components */
97
+ export interface TableFilterProps {
98
+ column: TableColumn;
99
+ value: any;
100
+ onChange: (value: any) => void;
101
+ onClear: () => void;
102
+ }
103
+ /** Pagination config */
104
+ export interface TablePaginationConfig {
105
+ /** Current page (0-indexed) */
106
+ page: number;
107
+ /** Items per page */
108
+ pageSize: number;
109
+ /** Total items */
110
+ total: number;
111
+ /** Page size options */
112
+ pageSizeOptions?: number[];
113
+ /** Show page size dropdown */
114
+ showSizeChanger?: boolean;
115
+ /** Show quick jumper */
116
+ showQuickJumper?: boolean;
117
+ /** Show total info */
118
+ showTotal?: boolean | ((total: number, range: [number, number]) => React.ReactNode);
119
+ /** Pagination position */
120
+ position?: PaginationPosition;
121
+ /** Simple mode */
122
+ simple?: boolean;
123
+ }
124
+ /** Row selection config */
125
+ export interface TableSelectionConfig<T = any> {
126
+ /** Selection mode */
127
+ mode: SelectionMode;
128
+ /** Selected row keys */
129
+ selectedRowKeys?: string[];
130
+ /** Key field for rows */
131
+ keyField?: string;
132
+ /** Callback when selection changes */
133
+ onChange?: (selectedRowKeys: string[], selectedRows: T[]) => void;
134
+ /** Function to determine if row is selectable */
135
+ getCheckboxProps?: (row: T) => {
136
+ disabled?: boolean;
137
+ name?: string;
138
+ };
139
+ /** Selected row style */
140
+ selectedRowStyle?: CSSProperties | ((row: T) => CSSProperties);
141
+ /** Selected row class */
142
+ selectedRowClassName?: string | ((row: T) => string);
143
+ /** Hide select all checkbox */
144
+ hideSelectAll?: boolean;
145
+ /** Fixed column */
146
+ fixed?: boolean;
147
+ /** Column width */
148
+ columnWidth?: number | string;
149
+ /** Column title */
150
+ columnTitle?: React.ReactNode;
151
+ }
152
+ /** Row expand config */
153
+ export interface TableExpandConfig<T = any> {
154
+ /** Expanded row keys */
155
+ expandedRowKeys?: string[];
156
+ /** Default expanded row keys */
157
+ defaultExpandedRowKeys?: string[];
158
+ /** Key field for rows */
159
+ keyField?: string;
160
+ /** Callback when expand changes */
161
+ onExpandChange?: (expandedRowKeys: string[], expanded: boolean, row: T) => void;
162
+ /** Expanded row render */
163
+ expandedRowRender?: (row: T, rowIndex: number, expanded: boolean) => React.ReactNode;
164
+ /** Row expandable check */
165
+ rowExpandable?: (row: T) => boolean;
166
+ /** Fixed column */
167
+ fixed?: boolean;
168
+ /** Column width */
169
+ columnWidth?: number | string;
170
+ /** Expand icon */
171
+ expandIcon?: (props: {
172
+ expanded: boolean;
173
+ row: T;
174
+ onExpand: () => void;
175
+ }) => React.ReactNode;
176
+ /** Expand row by click */
177
+ expandRowByClick?: boolean;
178
+ /** Accordion mode (only one row expanded at a time) */
179
+ accordion?: boolean;
180
+ }
181
+ /** Sort state */
182
+ export interface TableSortState {
183
+ field: string;
184
+ order: SortDirection;
185
+ }
186
+ /** Filter state */
187
+ export interface TableFilterState {
188
+ [field: string]: any;
189
+ }
190
+ /** Table change info */
191
+ export interface TableChangeInfo {
192
+ type: 'pagination' | 'sort' | 'filter' | 'search';
193
+ pagination?: {
194
+ page: number;
195
+ pageSize: number;
196
+ };
197
+ sort?: TableSortState;
198
+ filters?: TableFilterState;
199
+ search?: string;
200
+ }
201
+ /** Custom class names */
202
+ export interface TableClassNames {
203
+ root?: string;
204
+ wrapper?: string;
205
+ header?: string;
206
+ headerRow?: string;
207
+ headerCell?: string;
208
+ body?: string;
209
+ row?: string;
210
+ cell?: string;
211
+ footer?: string;
212
+ footerRow?: string;
213
+ footerCell?: string;
214
+ pagination?: string;
215
+ toolbar?: string;
216
+ empty?: string;
217
+ loading?: string;
218
+ }
219
+ /** Custom styles */
220
+ export interface TableStyles {
221
+ root?: CSSProperties;
222
+ wrapper?: CSSProperties;
223
+ header?: CSSProperties;
224
+ headerRow?: CSSProperties;
225
+ headerCell?: CSSProperties;
226
+ body?: CSSProperties;
227
+ row?: CSSProperties;
228
+ cell?: CSSProperties;
229
+ footer?: CSSProperties;
230
+ footerRow?: CSSProperties;
231
+ footerCell?: CSSProperties;
232
+ pagination?: CSSProperties;
233
+ toolbar?: CSSProperties;
234
+ empty?: CSSProperties;
235
+ loading?: CSSProperties;
236
+ }
237
+ export interface TableProps<T = any> {
238
+ /** Unique table ID */
239
+ id: string;
240
+ /** Data source */
241
+ data: T[];
242
+ /** Column definitions */
243
+ columns: TableColumn<T>[];
244
+ /** Key field for row identification */
245
+ keyField?: string;
246
+ /** Loading state */
247
+ loading?: boolean;
248
+ /** Custom loading indicator */
249
+ loadingIndicator?: React.ReactNode;
250
+ /** Enable pagination */
251
+ pagination?: boolean;
252
+ /** Pagination config */
253
+ paginationConfig?: Partial<TablePaginationConfig>;
254
+ /** Total records (for server-side) */
255
+ totalSize?: number;
256
+ /** Server-side mode */
257
+ remote?: boolean;
258
+ /** Default sort */
259
+ defaultSort?: TableSortState;
260
+ /** Controlled sort */
261
+ sort?: TableSortState;
262
+ /** Multi-column sort */
263
+ multiSort?: boolean;
264
+ /** Enable column filters */
265
+ filterable?: boolean;
266
+ /** Default filters */
267
+ defaultFilters?: TableFilterState;
268
+ /** Controlled filters */
269
+ filters?: TableFilterState;
270
+ /** Enable global search */
271
+ searchable?: boolean;
272
+ /** Search placeholder */
273
+ searchPlaceholder?: string;
274
+ /** Default search value */
275
+ defaultSearchValue?: string;
276
+ /** Controlled search value */
277
+ searchValue?: string;
278
+ /** Search debounce delay */
279
+ searchDebounce?: number;
280
+ /** Row selection config */
281
+ rowSelection?: TableSelectionConfig<T>;
282
+ /** Row expand config */
283
+ expandable?: TableExpandConfig<T>;
284
+ /** Edit mode */
285
+ editMode?: EditMode;
286
+ /** On cell edit */
287
+ onCellEdit?: (value: any, dataField: string, row: T, rowIndex: number) => void;
288
+ /** Enable CSV export */
289
+ exportable?: boolean;
290
+ /** Export file name */
291
+ exportFileName?: string;
292
+ /** Enable column toggle */
293
+ columnToggle?: boolean;
294
+ /** Enable column reorder */
295
+ columnReorder?: boolean;
296
+ /** Enable column resize */
297
+ columnResize?: boolean;
298
+ /** Bordered style */
299
+ bordered?: boolean;
300
+ /** Striped rows */
301
+ striped?: boolean;
302
+ /** Hoverable rows */
303
+ hover?: boolean;
304
+ /** Compact/dense mode */
305
+ compact?: boolean;
306
+ /** Fixed header */
307
+ stickyHeader?: boolean;
308
+ /** Table max height (for sticky header) */
309
+ maxHeight?: number | string;
310
+ /** Row class name */
311
+ rowClassName?: string | ((row: T, rowIndex: number) => string);
312
+ /** Row style */
313
+ rowStyle?: CSSProperties | ((row: T, rowIndex: number) => CSSProperties);
314
+ /** Custom class names */
315
+ classNames?: TableClassNames;
316
+ /** Custom styles */
317
+ styles?: TableStyles;
318
+ /** Root className */
319
+ className?: string;
320
+ /** Root style */
321
+ style?: CSSProperties;
322
+ /** Empty state content */
323
+ emptyText?: React.ReactNode;
324
+ /** Called when table state changes */
325
+ onChange?: (info: TableChangeInfo) => void;
326
+ /** Called on page change */
327
+ onPageChange?: (page: number, pageSize: number) => void;
328
+ /** Called on sort change */
329
+ onSortChange?: (sort: TableSortState) => void;
330
+ /** Called on filter change */
331
+ onFilterChange?: (filters: TableFilterState) => void;
332
+ /** Called on search */
333
+ onSearch?: (value: string) => void;
334
+ /** Called on row click */
335
+ onRowClick?: (row: T, rowIndex: number, e: React.MouseEvent) => void;
336
+ /** Called on row double click */
337
+ onRowDoubleClick?: (row: T, rowIndex: number, e: React.MouseEvent) => void;
338
+ /** Called on clear all filters */
339
+ onClearFilters?: () => void;
340
+ /** Custom toolbar render */
341
+ toolbar?: React.ReactNode | ((props: {
342
+ searchValue: string;
343
+ onSearch: (value: string) => void;
344
+ onClearFilters: () => void;
345
+ onExport: () => void;
346
+ }) => React.ReactNode);
347
+ /** Hide toolbar */
348
+ hideToolbar?: boolean;
349
+ /** Show footer */
350
+ showFooter?: boolean;
351
+ /** Table caption */
352
+ caption?: string;
353
+ /** ARIA label */
354
+ 'aria-label'?: string;
355
+ /** ARIA labelledby */
356
+ 'aria-labelledby'?: string;
357
+ }
358
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../../src/core-components/src/components/Table/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,5 @@
1
+ import React from 'react';
2
+ import { ToastProps, ToastContainerProps } from './types';
3
+ export declare const Toast: React.ForwardRefExoticComponent<ToastProps & React.RefAttributes<HTMLDivElement>>;
4
+ export declare const ToastContainer: React.ForwardRefExoticComponent<ToastContainerProps & React.RefAttributes<HTMLDivElement>>;
5
+ //# sourceMappingURL=Toast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Toast.d.ts","sourceRoot":"","sources":["../../../../../../src/core-components/src/components/Toast/Toast.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAYhE,OAAO,EAAC,UAAU,EAAE,mBAAmB,EAAY,MAAM,SAAS,CAAC;AAwDnE,eAAO,MAAM,KAAK,mFAkFjB,CAAC;AAIF,eAAO,MAAM,cAAc,4FAqB1B,CAAC"}
@@ -0,0 +1,50 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { forwardRef, useEffect, useCallback } from 'react';
4
+ import { ToastElement, ToastContainerElement, IconWrapper, ContentWrapper, Message, ActionsWrapper, ActionButton, DismissButton, ProgressBar, } from './elements';
5
+ // Default icons
6
+ const SuccessIcon = () => (_jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [_jsx("path", { d: "M22 11.08V12a10 10 0 1 1-5.93-9.14" }), _jsx("polyline", { points: "22 4 12 14.01 9 11.01" })] }));
7
+ const ErrorIcon = () => (_jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("line", { x1: "15", y1: "9", x2: "9", y2: "15" }), _jsx("line", { x1: "9", y1: "9", x2: "15", y2: "15" })] }));
8
+ const WarningIcon = () => (_jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [_jsx("path", { d: "M10.29 3.86L1.82 18a2 2 0 0 0 1.71 3h16.94a2 2 0 0 0 1.71-3L13.71 3.86a2 2 0 0 0-3.42 0z" }), _jsx("line", { x1: "12", y1: "9", x2: "12", y2: "13" }), _jsx("line", { x1: "12", y1: "17", x2: "12.01", y2: "17" })] }));
9
+ const InfoIcon = () => (_jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [_jsx("circle", { cx: "12", cy: "12", r: "10" }), _jsx("line", { x1: "12", y1: "16", x2: "12", y2: "12" }), _jsx("line", { x1: "12", y1: "8", x2: "12.01", y2: "8" })] }));
10
+ const CloseIcon = () => (_jsxs("svg", { viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", children: [_jsx("line", { x1: "18", y1: "6", x2: "6", y2: "18" }), _jsx("line", { x1: "6", y1: "6", x2: "18", y2: "18" })] }));
11
+ const getDefaultIcon = (type) => {
12
+ switch (type) {
13
+ case 'success':
14
+ return _jsx(SuccessIcon, {});
15
+ case 'error':
16
+ return _jsx(ErrorIcon, {});
17
+ case 'warning':
18
+ return _jsx(WarningIcon, {});
19
+ case 'info':
20
+ return _jsx(InfoIcon, {});
21
+ default:
22
+ return null;
23
+ }
24
+ };
25
+ export const Toast = forwardRef(function ToastComponent(props, ref) {
26
+ const { message, type = 'default', isOpen = true, onClose, action, icon, showIcon = true, duration, showProgress = false, className, ...rest } = props;
27
+ // Auto dismiss
28
+ useEffect(() => {
29
+ if (duration && isOpen && onClose) {
30
+ const timer = setTimeout(() => {
31
+ onClose();
32
+ }, duration);
33
+ return () => clearTimeout(timer);
34
+ }
35
+ }, [duration, isOpen, onClose]);
36
+ const handleClose = useCallback(() => {
37
+ onClose?.();
38
+ }, [onClose]);
39
+ const handleAction = useCallback(() => {
40
+ action?.onClick?.();
41
+ }, [action]);
42
+ const displayIcon = icon ?? (showIcon ? getDefaultIcon(type) : null);
43
+ return (_jsxs(ToastElement, { ref: ref, "$type": type, "$isOpen": isOpen, "$position": "bottom-right", role: "alert", "aria-live": "assertive", "data-aui": "toast", className: className, ...rest, children: [displayIcon && (_jsx(IconWrapper, { "$type": type, "aria-hidden": "true", children: displayIcon })), _jsx(ContentWrapper, { children: _jsx(Message, { children: message }) }), _jsxs(ActionsWrapper, { children: [action && (_jsx(ActionButton, { "$type": type, onClick: handleAction, "aria-label": action.ariaLabel || action.text, children: action.text })), onClose && (_jsx(DismissButton, { "$type": type, onClick: handleClose, "aria-label": "Dismiss", children: _jsx(CloseIcon, {}) }))] }), showProgress && duration && (_jsx(ProgressBar, { "$type": type, "$duration": duration }))] }));
44
+ });
45
+ Toast.displayName = 'Toast';
46
+ export const ToastContainer = forwardRef(function ToastContainerComponent(props, ref) {
47
+ const { position = 'bottom-right', children, gap = '8px', ...rest } = props;
48
+ return (_jsx(ToastContainerElement, { ref: ref, "$position": position, "$gap": gap, "data-aui": "toast-container", ...rest, children: children }));
49
+ });
50
+ ToastContainer.displayName = 'ToastContainer';
@@ -0,0 +1,28 @@
1
+ /// <reference types="react" />
2
+ import { ToastType, ToastPosition } from './types';
3
+ export declare const ToastContainerElement: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
4
+ $position: ToastPosition;
5
+ $gap: string;
6
+ }>> & string;
7
+ export declare const ToastElement: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
8
+ $type: ToastType;
9
+ $isOpen: boolean;
10
+ $position: ToastPosition;
11
+ }>> & string;
12
+ export declare const IconWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, {
13
+ $type: ToastType;
14
+ }>> & string;
15
+ export declare const ContentWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
16
+ export declare const Message: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
17
+ export declare const ActionsWrapper: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components").FastOmit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, never>> & string;
18
+ export declare const ActionButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {
19
+ $type: ToastType;
20
+ }>> & string;
21
+ export declare const DismissButton: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, {
22
+ $type: ToastType;
23
+ }>> & string;
24
+ export declare const ProgressBar: import("styled-components/dist/types").IStyledComponentBase<"web", import("styled-components/dist/types").Substitute<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {
25
+ $type: ToastType;
26
+ $duration: number;
27
+ }>> & string;
28
+ //# sourceMappingURL=elements.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"elements.d.ts","sourceRoot":"","sources":["../../../../../../src/core-components/src/components/Toast/elements.tsx"],"names":[],"mappings":";AAGA,OAAO,EAAC,SAAS,EAAE,aAAa,EAAC,MAAM,SAAS,CAAC;AAkJjD,eAAO,MAAM,qBAAqB;eACrB,aAAa;UAClB,MAAM;YAiBb,CAAC;AAEF,eAAO,MAAM,YAAY;WAChB,SAAS;aACP,OAAO;eACL,aAAa;YAwBzB,CAAC;AAEF,eAAO,MAAM,WAAW;WACf,SAAS;YAcjB,CAAC;AAEF,eAAO,MAAM,cAAc,6NAG1B,CAAC;AAEF,eAAO,MAAM,OAAO,6NAInB,CAAC;AAEF,eAAO,MAAM,cAAc,6NAK1B,CAAC;AAEF,eAAO,MAAM,YAAY;WAChB,SAAS;YAqBjB,CAAC;AAEF,eAAO,MAAM,aAAa;WACjB,SAAS;YA+BjB,CAAC;AAEF,eAAO,MAAM,WAAW;WACf,SAAS;eACL,MAAM;YAQlB,CAAC"}