@ssa-ui-kit/core 2.33.0 → 3.1.0

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 (222) hide show
  1. package/dist/components/AccordionGroup/Accordion.d.ts +37 -0
  2. package/dist/components/AccordionGroup/AccordionContent.d.ts +48 -0
  3. package/dist/components/AccordionGroup/AccordionContext.d.ts +76 -2
  4. package/dist/components/AccordionGroup/AccordionGroup.d.ts +56 -0
  5. package/dist/components/AccordionGroup/AccordionTitle.d.ts +41 -0
  6. package/dist/components/AccordionGroup/types.d.ts +199 -1
  7. package/dist/components/Avatar/Avatar.d.ts +33 -0
  8. package/dist/components/Button/Button.d.ts +61 -0
  9. package/dist/components/Button/fixtures.d.ts +52 -31
  10. package/dist/components/Button/styles.d.ts +7 -12
  11. package/dist/components/Button/types.d.ts +98 -4
  12. package/dist/components/Charts/BarGaugeChart/components/BarGaugeChartHeader.d.ts +1 -1
  13. package/dist/components/Charts/BarLineComplexChart/BarLineComplexChartView.d.ts +2 -2
  14. package/dist/components/Charts/BarLineComplexChart/types.d.ts +2 -2
  15. package/dist/components/Charts/BigNumberChart/BigNumberChart.d.ts +4 -2
  16. package/dist/components/Charts/BigNumberChart/components/BigNumberChartHeader.d.ts +1 -1
  17. package/dist/components/Charts/BigNumberChart/components/TrendLine.d.ts +8 -3
  18. package/dist/components/Charts/BigNumberChart/components/TrendLineTooltip.d.ts +8 -5
  19. package/dist/components/Charts/GaugeChart/components/GaugeChartBase.d.ts +3 -1
  20. package/dist/components/Charts/GaugeChart/components/GaugeChartHeader.d.ts +1 -1
  21. package/dist/components/Charts/PieChart/PieChartLegendMarker.d.ts +1 -1
  22. package/dist/components/Charts/PieChart/styles.d.ts +1 -1
  23. package/dist/components/Charts/PieChart/types.d.ts +1 -1
  24. package/dist/components/Charts/RadarChart/RadarChart.d.ts +1 -1
  25. package/dist/components/Charts/RadarChart/components/RadarChartHeader.d.ts +1 -1
  26. package/dist/components/Charts/TreeMapChart/TreeMapChart.d.ts +1 -1
  27. package/dist/components/Charts/TreeMapChart/TreeMapChartHeader.d.ts +1 -1
  28. package/dist/components/Charts/index.d.ts +1 -0
  29. package/dist/components/Charts/utils/nivoReact19Compat.d.ts +18 -0
  30. package/dist/components/Checkbox/Checkbox.d.ts +84 -0
  31. package/dist/components/Checkbox/CheckboxBase.d.ts +1 -1
  32. package/dist/components/Checkbox/styles.d.ts +2 -2
  33. package/dist/components/Checkbox/types.d.ts +104 -3
  34. package/dist/components/Chip/Chip.d.ts +70 -0
  35. package/dist/components/Chip/constants.d.ts +1 -1
  36. package/dist/components/Chip/helpers.d.ts +6 -0
  37. package/dist/components/Chip/types.d.ts +129 -1
  38. package/dist/components/CollapsibleNavBar/CollapsibleNavBar.d.ts +1 -1
  39. package/dist/components/CollapsibleNavBar/CollapsibleNavBarContext.d.ts +2 -2
  40. package/dist/components/CollapsibleNavBar/components/TriggerIcon.d.ts +4 -2
  41. package/dist/components/CollapsibleNavBar/types.d.ts +9 -2
  42. package/dist/components/ColorPicker/components/CopyButton.d.ts +1 -1
  43. package/dist/components/DatePicker/constants.d.ts +22 -0
  44. package/dist/components/DatePicker/hooks/useDatePicker.d.ts +7 -5
  45. package/dist/components/DatePicker/index.d.ts +1 -0
  46. package/dist/components/DatePicker/styles.d.ts +3 -2
  47. package/dist/components/DatePicker/types.d.ts +10 -2
  48. package/dist/components/DatePicker/utils/dates.d.ts +2 -2
  49. package/dist/components/DateRangePicker/DateRangePicker.d.ts +1 -1
  50. package/dist/components/DateRangePicker/DateRangePickerFormBridge.d.ts +46 -0
  51. package/dist/components/DateRangePicker/components/DatesListWrapper.d.ts +3 -2
  52. package/dist/components/DateRangePicker/constants.d.ts +1 -0
  53. package/dist/components/DateRangePicker/hooks/useDateRangePicker.d.ts +22 -17
  54. package/dist/components/DateRangePicker/index.d.ts +3 -0
  55. package/dist/components/DateRangePicker/styles.d.ts +6 -4
  56. package/dist/components/DateRangePicker/types.d.ts +24 -7
  57. package/dist/components/DateRangePicker/utils/dates.d.ts +2 -2
  58. package/dist/components/Drawer/index.d.ts +2 -1
  59. package/dist/components/Dropdown/Dropdown.d.ts +88 -0
  60. package/dist/components/Dropdown/types.d.ts +102 -1
  61. package/dist/components/DropdownOption/DropdownOption.d.ts +2 -0
  62. package/dist/components/DropdownOptions/DropdownOptions.d.ts +31 -0
  63. package/dist/components/DropdownOptions/types.d.ts +22 -0
  64. package/dist/components/DropdownToggle/DropdownToggle.d.ts +3 -2
  65. package/dist/components/DropdownToggle/types.d.ts +5 -3
  66. package/dist/components/Field/FieldControl.d.ts +62 -1
  67. package/dist/components/Field/FieldDescription.d.ts +33 -0
  68. package/dist/components/Field/FieldError.d.ts +36 -0
  69. package/dist/components/Field/FieldLabel.d.ts +37 -0
  70. package/dist/components/Field/FieldProvider.d.ts +19 -1
  71. package/dist/components/Field/FieldRoot.d.ts +90 -0
  72. package/dist/components/Field/FieldSuccess.d.ts +34 -0
  73. package/dist/components/Field/index.d.ts +4 -0
  74. package/dist/components/Filters/FilterBlockWrapper.d.ts +3 -2
  75. package/dist/components/Filters/FiltersContext.d.ts +4 -4
  76. package/dist/components/Filters/hooks/useVisibility.d.ts +2 -2
  77. package/dist/components/FullscreenModeContext.d.ts +1 -4
  78. package/dist/components/Icon/icons/Assessment.d.ts +1 -1
  79. package/dist/components/Icon/icons/Award.d.ts +3 -0
  80. package/dist/components/Icon/icons/Bench.d.ts +3 -0
  81. package/dist/components/Icon/icons/Briefcase.d.ts +3 -0
  82. package/dist/components/Icon/icons/Building.d.ts +3 -0
  83. package/dist/components/Icon/icons/CalendarSchedule.d.ts +3 -0
  84. package/dist/components/Icon/icons/Camera.d.ts +3 -0
  85. package/dist/components/Icon/icons/CardText.d.ts +3 -0
  86. package/dist/components/Icon/icons/Case.d.ts +3 -0
  87. package/dist/components/Icon/icons/Comments.d.ts +3 -0
  88. package/dist/components/Icon/icons/Compensation.d.ts +3 -0
  89. package/dist/components/Icon/icons/Contacts.d.ts +3 -0
  90. package/dist/components/Icon/icons/CopyLink.d.ts +3 -0
  91. package/dist/components/Icon/icons/Delete.d.ts +3 -0
  92. package/dist/components/Icon/icons/DiamondRing.d.ts +3 -0
  93. package/dist/components/Icon/icons/Document.d.ts +3 -0
  94. package/dist/components/Icon/icons/Documents.d.ts +3 -0
  95. package/dist/components/Icon/icons/Education.d.ts +3 -0
  96. package/dist/components/Icon/icons/EmployeeProfile.d.ts +3 -0
  97. package/dist/components/Icon/icons/Export.d.ts +3 -0
  98. package/dist/components/Icon/icons/FollowLink.d.ts +3 -0
  99. package/dist/components/Icon/icons/Form.d.ts +3 -0
  100. package/dist/components/Icon/icons/Gender.d.ts +3 -0
  101. package/dist/components/Icon/icons/Gift.d.ts +3 -0
  102. package/dist/components/Icon/icons/Inventory.d.ts +3 -0
  103. package/dist/components/Icon/icons/Link.d.ts +3 -0
  104. package/dist/components/Icon/icons/OfficeChair.d.ts +3 -0
  105. package/dist/components/Icon/icons/OpenBook.d.ts +3 -0
  106. package/dist/components/Icon/icons/Report.d.ts +1 -1
  107. package/dist/components/Icon/icons/Results.d.ts +3 -0
  108. package/dist/components/Icon/icons/Signature.d.ts +3 -0
  109. package/dist/components/Icon/icons/Summery.d.ts +3 -0
  110. package/dist/components/Icon/icons/Team.d.ts +3 -0
  111. package/dist/components/Icon/icons/TechnicalReview.d.ts +3 -0
  112. package/dist/components/Icon/icons/TennisBall.d.ts +3 -0
  113. package/dist/components/Icon/icons/Timeline.d.ts +3 -0
  114. package/dist/components/Icon/icons/UnionCircle.d.ts +3 -0
  115. package/dist/components/Icon/icons/Url.d.ts +3 -0
  116. package/dist/components/Icon/icons/all.d.ts +36 -1
  117. package/dist/components/Icon/icons/iconsList.d.ts +1 -1
  118. package/dist/components/IconButton/IconButton.d.ts +39 -0
  119. package/dist/components/IconButton/index.d.ts +2 -0
  120. package/dist/components/IconButton/styles.d.ts +2 -0
  121. package/dist/components/IconButton/types.d.ts +41 -0
  122. package/dist/components/Indicator/types.d.ts +4 -2
  123. package/dist/components/Input/types.d.ts +157 -0
  124. package/dist/components/JsonSchemaForm/fields/DateRangeField.d.ts +15 -1
  125. package/dist/components/JsonSchemaForm/utils/dateFormats.d.ts +37 -0
  126. package/dist/components/JsonSchemaForm/utils/dateRangeField.d.ts +24 -0
  127. package/dist/components/JsonSchemaForm/utils/index.d.ts +1 -0
  128. package/dist/components/JsonSchemaForm/utils/selectWidget.d.ts +16 -0
  129. package/dist/components/Modal/Modal.d.ts +60 -0
  130. package/dist/components/Modal/types.d.ts +21 -1
  131. package/dist/components/ModalContent/ModalContent.d.ts +42 -1
  132. package/dist/components/ModalDialog/ModalDialog.d.ts +27 -0
  133. package/dist/components/ModalDialog/types.d.ts +18 -0
  134. package/dist/components/ModalDismissButton/ModalDismissButton.d.ts +29 -2
  135. package/dist/components/ModalOpenButton/ModalOpenButton.d.ts +25 -1
  136. package/dist/components/MultipleDropdown/index.d.ts +1 -0
  137. package/dist/components/MultipleDropdown/types.d.ts +74 -0
  138. package/dist/components/NavBar/types.d.ts +1 -1
  139. package/dist/components/NotificationMenu/types.d.ts +3 -3
  140. package/dist/components/Pagination/ArrowButton.d.ts +32 -0
  141. package/dist/components/Pagination/Pagination.d.ts +81 -0
  142. package/dist/components/Pagination/PaginationButtons.d.ts +35 -0
  143. package/dist/components/Pagination/PaginationContext.d.ts +30 -0
  144. package/dist/components/Pagination/WithPagination.d.ts +47 -4
  145. package/dist/components/Pagination/components/RowsPerPageDropdown/RowsPerPageDropdown.d.ts +41 -0
  146. package/dist/components/Pagination/components/RowsPerPageDropdown/types.d.ts +39 -0
  147. package/dist/components/Pagination/styles.d.ts +1 -1
  148. package/dist/components/Pagination/types.d.ts +178 -0
  149. package/dist/components/PersonInfo/styles.d.ts +1 -1
  150. package/dist/components/Popover/Popover.d.ts +120 -0
  151. package/dist/components/Popover/PopoverClose.d.ts +26 -0
  152. package/dist/components/Popover/PopoverContent.d.ts +33 -0
  153. package/dist/components/Popover/PopoverDescription.d.ts +22 -1
  154. package/dist/components/Popover/PopoverHeading.d.ts +22 -1
  155. package/dist/components/Popover/PopoverTrigger.d.ts +30 -0
  156. package/dist/components/Popover/hooks/usePopover.d.ts +21 -0
  157. package/dist/components/Popover/hooks/usePopoverContext.d.ts +23 -0
  158. package/dist/components/Popover/types.d.ts +86 -0
  159. package/dist/components/Radio/Radio.d.ts +69 -1
  160. package/dist/components/Radio/RadioBase.d.ts +1 -1
  161. package/dist/components/Radio/types.d.ts +109 -0
  162. package/dist/components/RadioGroup/RadioGroup.d.ts +1 -1
  163. package/dist/components/RadioGroup/index.d.ts +1 -0
  164. package/dist/components/RadioGroup/types.d.ts +42 -0
  165. package/dist/components/SearchBox/SearchBox.d.ts +60 -0
  166. package/dist/components/SearchBox/SearchBoxInput.d.ts +1 -1
  167. package/dist/components/SearchBox/types.d.ts +46 -0
  168. package/dist/components/Slider/Slider.d.ts +53 -0
  169. package/dist/components/Slider/consts.d.ts +4 -0
  170. package/dist/components/Slider/index.d.ts +4 -0
  171. package/dist/components/Slider/styles.d.ts +90 -0
  172. package/dist/components/Slider/types.d.ts +69 -0
  173. package/dist/components/Switch/Switch.d.ts +66 -1
  174. package/dist/components/Switch/SwitchBase.d.ts +5 -1
  175. package/dist/components/Switch/SwitchContext.d.ts +50 -0
  176. package/dist/components/Switch/types.d.ts +74 -0
  177. package/dist/components/Table/Table.d.ts +74 -0
  178. package/dist/components/TableBody/TableBody.d.ts +55 -0
  179. package/dist/components/TableCell/TableCell.d.ts +56 -4
  180. package/dist/components/TableCell/types.d.ts +33 -0
  181. package/dist/components/TableCellHeader/TableCellHeader.d.ts +63 -2
  182. package/dist/components/TableCellHeader/types.d.ts +28 -0
  183. package/dist/components/TableFilters/TableFilters.d.ts +72 -0
  184. package/dist/components/TableFilters/hooks/useTableData.d.ts +3 -3
  185. package/dist/components/TableFilters/types.d.ts +130 -2
  186. package/dist/components/TableHead/TableHead.d.ts +37 -0
  187. package/dist/components/TableRow/TableRow.d.ts +2 -7
  188. package/dist/components/TableRow/types.d.ts +34 -0
  189. package/dist/components/TextField/TextField.d.ts +76 -0
  190. package/dist/components/TextField/types.d.ts +80 -0
  191. package/dist/components/Textarea/Textarea.d.ts +81 -0
  192. package/dist/components/Textarea/TextareaBase.d.ts +6 -1
  193. package/dist/components/Textarea/types.d.ts +109 -0
  194. package/dist/components/Tooltip/SimpleChartTooltip.d.ts +2 -1
  195. package/dist/components/Tooltip/Tooltip.d.ts +73 -0
  196. package/dist/components/Tooltip/types.d.ts +116 -5
  197. package/dist/components/TooltipContent/TooltipContent.d.ts +45 -0
  198. package/dist/components/TooltipTrigger/TooltipTrigger.d.ts +27 -1
  199. package/dist/components/Typeahead/Typeahead.context.d.ts +10 -4
  200. package/dist/components/Typeahead/Typeahead.d.ts +173 -9
  201. package/dist/components/Typeahead/components/TypeaheadOption.d.ts +1 -1
  202. package/dist/components/Typeahead/styles.d.ts +10 -5
  203. package/dist/components/Typeahead/types.d.ts +191 -1
  204. package/dist/components/Typeahead/useTypeahead.d.ts +13 -5
  205. package/dist/components/Typography/Typography.d.ts +50 -0
  206. package/dist/components/Typography/types.d.ts +67 -0
  207. package/dist/components/UserProfile/UserProfile.d.ts +76 -0
  208. package/dist/components/UserProfile/styles.d.ts +6 -4
  209. package/dist/components/UserProfile/types.d.ts +85 -1
  210. package/dist/components/WidgetCard/Title.d.ts +1 -1
  211. package/dist/components/WidgetCard/WidgetCardBase.d.ts +1 -1
  212. package/dist/components/WithLink.d.ts +1 -1
  213. package/dist/components/Wrapper/Wrapper.d.ts +83 -2
  214. package/dist/components/Wrapper/index.d.ts +1 -0
  215. package/dist/components/index.d.ts +113 -85
  216. package/dist/index.d.ts +1 -0
  217. package/dist/index.js +48942 -19624
  218. package/dist/index.js.map +1 -1
  219. package/dist/types/emotion.d.ts +65 -0
  220. package/dist/utils/react19HocCompat.d.ts +14 -0
  221. package/package.json +42 -33
  222. package/dist/components/Icon/icons/Company.d.ts +0 -3
@@ -1,4 +1,78 @@
1
1
  import { CommonProps } from '../../types/emotion';
2
+ /**
3
+ * Table - Base table component for displaying tabular data
4
+ *
5
+ * A styled table element that serves as the foundation for displaying
6
+ * structured tabular data. Works in conjunction with TableHead, TableBody,
7
+ * TableRow, TableCell, and TableCellHeader components to create complete
8
+ * data tables with proper semantics and styling.
9
+ *
10
+ * Component structure:
11
+ * - Table (root container)
12
+ * - TableHead (header section with column headers)
13
+ * - TableRow
14
+ * - TableCellHeader (header cells)
15
+ * - TableBody (body section with data rows)
16
+ * - TableRow (data rows)
17
+ * - TableCell (data cells)
18
+ *
19
+ * @category Components
20
+ * @subcategory Data Display
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * // Basic table
25
+ * <Table>
26
+ * <TableHead>
27
+ * <TableRow>
28
+ * <TableCellHeader>Name</TableCellHeader>
29
+ * <TableCellHeader>Email</TableCellHeader>
30
+ * <TableCellHeader>Role</TableCellHeader>
31
+ * </TableRow>
32
+ * </TableHead>
33
+ * <TableBody>
34
+ * {users.map(user => (
35
+ * <TableRow key={user.id}>
36
+ * <TableCell>{user.name}</TableCell>
37
+ * <TableCell>{user.email}</TableCell>
38
+ * <TableCell>{user.role}</TableCell>
39
+ * </TableRow>
40
+ * ))}
41
+ * </TableBody>
42
+ * </Table>
43
+ * ```
44
+ *
45
+ * @example
46
+ * ```tsx
47
+ * // Table with custom styling
48
+ * <Table css={{ border: '1px solid #ccc' }}>
49
+ * <TableHead>
50
+ * <TableRow>
51
+ * <TableCellHeader>Column 1</TableCellHeader>
52
+ * <TableCellHeader align="center">Column 2</TableCellHeader>
53
+ * </TableRow>
54
+ * </TableHead>
55
+ * <TableBody>
56
+ * <TableRow>
57
+ * <TableCell>Data 1</TableCell>
58
+ * <TableCell align="center">Data 2</TableCell>
59
+ * </TableRow>
60
+ * </TableBody>
61
+ * </Table>
62
+ * ```
63
+ *
64
+ * @see {@link TableHead} - Header section component
65
+ * @see {@link TableBody} - Body section component
66
+ * @see {@link TableRow} - Row component
67
+ * @see {@link TableCell} - Data cell component
68
+ * @see {@link TableCellHeader} - Header cell component
69
+ *
70
+ * @accessibility
71
+ * - Semantic HTML table element
72
+ * - Proper table structure for screen readers
73
+ * - Keyboard navigation support
74
+ * - ARIA attributes when needed
75
+ */
2
76
  declare const Table: import("@emotion/styled").StyledComponent<{
3
77
  theme?: import("@emotion/react").Theme;
4
78
  as?: React.ElementType;
@@ -1,4 +1,59 @@
1
1
  import { CommonProps } from '../../types/emotion';
2
+ /**
3
+ * TableBody - Body section container for table data rows
4
+ *
5
+ * A styled tbody element that wraps table data rows. Provides styling
6
+ * for the table body section including hover effects on rows, rounded
7
+ * corners for the last row, and proper spacing. Used with TableRow and
8
+ * TableCell components.
9
+ *
10
+ * @category Components
11
+ * @subcategory Data Display
12
+ *
13
+ * @example
14
+ * ```tsx
15
+ * // Basic table body
16
+ * <Table>
17
+ * <TableHead>
18
+ * // header rows go here
19
+ * </TableHead>
20
+ * <TableBody>
21
+ * {data.map(item => (
22
+ * <TableRow key={item.id}>
23
+ * <TableCell>{item.name}</TableCell>
24
+ * <TableCell>{item.email}</TableCell>
25
+ * <TableCell>{item.role}</TableCell>
26
+ * </TableRow>
27
+ * ))}
28
+ * </TableBody>
29
+ * </Table>
30
+ * ```
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * // Table body with disabled rows (aria-disabled is automatically set)
35
+ * <TableBody>
36
+ * {items.map(item => (
37
+ * <TableRow
38
+ * key={item.id}
39
+ * isDisabled={item.disabled}>
40
+ * <TableCell>{item.name}</TableCell>
41
+ * </TableRow>
42
+ * ))}
43
+ * </TableBody>
44
+ * ```
45
+ *
46
+ * @see {@link Table} - Parent table component
47
+ * @see {@link TableRow} - Row component for data
48
+ * @see {@link TableCell} - Data cell component
49
+ * @see {@link TableHead} - Header section component
50
+ *
51
+ * @accessibility
52
+ * - Semantic HTML tbody element
53
+ * - Proper table structure for screen readers
54
+ * - Hover effects respect aria-disabled attribute
55
+ * - Supports ARIA attributes via CommonProps
56
+ */
2
57
  declare const TableBody: import("@emotion/styled").StyledComponent<{
3
58
  theme?: import("@emotion/react").Theme;
4
59
  as?: React.ElementType;
@@ -1,8 +1,60 @@
1
- import { CommonProps } from '../../types/emotion';
1
+ import { TableCellProps } from './types';
2
+ /**
3
+ * TableCell - Table data cell component
4
+ *
5
+ * A styled td element that represents a single data cell in a table row.
6
+ * Used within TableRow components in the TableBody section. Supports
7
+ * text alignment customization. For header cells, use TableCellHeader instead.
8
+ *
9
+ * @category Components
10
+ * @subcategory Data Display
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * // Basic table cell
15
+ * <TableRow>
16
+ * <TableCell>John Doe</TableCell>
17
+ * <TableCell>john@example.com</TableCell>
18
+ * <TableCell>Admin</TableCell>
19
+ * </TableRow>
20
+ * ```
21
+ *
22
+ * @example
23
+ * ```tsx
24
+ * // Table cell with center alignment
25
+ * <TableRow>
26
+ * <TableCell>Name</TableCell>
27
+ * <TableCell align="center">Status</TableCell>
28
+ * <TableCell align="right">Price</TableCell>
29
+ * </TableRow>
30
+ * ```
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * // Table cell with custom content
35
+ * <TableRow>
36
+ * <TableCell>
37
+ * <Badge color="success">Active</Badge>
38
+ * </TableCell>
39
+ * <TableCell>
40
+ * <Button size="small">Edit</Button>
41
+ * </TableCell>
42
+ * </TableRow>
43
+ * ```
44
+ *
45
+ * @see {@link Table} - Parent table component
46
+ * @see {@link TableRow} - Row component (use this in TableBody)
47
+ * @see {@link TableCellHeader} - Header cell component (use in TableHead)
48
+ * @see {@link TableHead} - Header section component
49
+ * @see {@link TableBody} - Body section component
50
+ *
51
+ * @accessibility
52
+ * - Semantic HTML td element
53
+ * - Proper table structure for screen readers
54
+ * - Supports ARIA attributes via CommonProps
55
+ */
2
56
  declare const TableCell: import("@emotion/styled").StyledComponent<{
3
57
  theme?: import("@emotion/react").Theme;
4
58
  as?: React.ElementType;
5
- } & {
6
- align?: string;
7
- } & CommonProps, import("react").DetailedHTMLProps<import("react").TdHTMLAttributes<HTMLTableDataCellElement>, HTMLTableDataCellElement>, {}>;
59
+ } & TableCellProps, import("react").DetailedHTMLProps<import("react").TdHTMLAttributes<HTMLTableDataCellElement>, HTMLTableDataCellElement>, {}>;
8
60
  export default TableCell;
@@ -0,0 +1,33 @@
1
+ import { HTMLAttributes } from 'react';
2
+ import { CommonProps } from '../../types/emotion';
3
+ /**
4
+ * Props for the TableCell component
5
+ *
6
+ * A styled table cell component that represents a single data cell in a table row.
7
+ * Supports text alignment customization.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * // Basic table cell
12
+ * <TableCell>Data content</TableCell>
13
+ * ```
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * // Table cell with center alignment
18
+ * <TableCell align="center">Centered</TableCell>
19
+ * ```
20
+ *
21
+ * @example
22
+ * ```tsx
23
+ * // Table cell with right alignment
24
+ * <TableCell align="right">Right aligned</TableCell>
25
+ * ```
26
+ */
27
+ export interface TableCellProps extends CommonProps, Omit<HTMLAttributes<HTMLTableCellElement>, 'align'> {
28
+ /**
29
+ * Text alignment for the cell content
30
+ * @default 'left'
31
+ */
32
+ align?: 'left' | 'center' | 'right' | 'justify';
33
+ }
@@ -1,3 +1,64 @@
1
- import TableCell from '../TableCell/TableCell';
2
- declare const TableCellHeader: (props: React.ComponentProps<typeof TableCell>) => import("@emotion/react/jsx-runtime").JSX.Element;
1
+ import React from 'react';
2
+ import { TableCellHeaderProps } from './types';
3
+ /**
4
+ * TableCellHeader - Table header cell component
5
+ *
6
+ * A wrapper component that renders TableCell as a semantic th element for
7
+ * table headers. Used within TableRow components in the TableHead section.
8
+ * Provides the same styling and props as TableCell but with proper semantic
9
+ * HTML for header cells.
10
+ *
11
+ * @category Components
12
+ * @subcategory Data Display
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * // Basic table header
17
+ * <TableHead>
18
+ * <TableRow>
19
+ * <TableCellHeader>Name</TableCellHeader>
20
+ * <TableCellHeader>Email</TableCellHeader>
21
+ * <TableCellHeader>Role</TableCellHeader>
22
+ * </TableRow>
23
+ * </TableHead>
24
+ * ```
25
+ *
26
+ * @example
27
+ * ```tsx
28
+ * // Table header with alignment
29
+ * <TableHead>
30
+ * <TableRow>
31
+ * <TableCellHeader>Product</TableCellHeader>
32
+ * <TableCellHeader align="center">Quantity</TableCellHeader>
33
+ * <TableCellHeader align="right">Price</TableCellHeader>
34
+ * </TableRow>
35
+ * </TableHead>
36
+ * ```
37
+ *
38
+ * @example
39
+ * ```tsx
40
+ * // Table header with custom content
41
+ * <TableHead>
42
+ * <TableRow>
43
+ * <TableCellHeader>
44
+ * <Icon name="user" /> User
45
+ * </TableCellHeader>
46
+ * <TableCellHeader>Email</TableCellHeader>
47
+ * </TableRow>
48
+ * </TableHead>
49
+ * ```
50
+ *
51
+ * @see {@link Table} - Parent table component
52
+ * @see {@link TableHead} - Header section component (use this component here)
53
+ * @see {@link TableRow} - Row component (use in TableHead)
54
+ * @see {@link TableCell} - Data cell component (use in TableBody)
55
+ * @see {@link TableBody} - Body section component
56
+ *
57
+ * @accessibility
58
+ * - Semantic HTML th element (renders as th)
59
+ * - Proper table header semantics for screen readers
60
+ * - Supports ARIA attributes via TableCellProps
61
+ * - Better accessibility than using TableCell in headers
62
+ */
63
+ declare const TableCellHeader: ({ children, ...props }: React.PropsWithChildren<TableCellHeaderProps>) => import("@emotion/react/jsx-runtime").JSX.Element;
3
64
  export default TableCellHeader;
@@ -0,0 +1,28 @@
1
+ import { TableCellProps } from '../TableCell/types';
2
+ /**
3
+ * Props for the TableCellHeader component
4
+ *
5
+ * A wrapper component that renders TableCell as a th element for table headers.
6
+ * Inherits all props from TableCell but renders as a header cell semantically.
7
+ *
8
+ * @example
9
+ * ```tsx
10
+ * // Basic table cell header
11
+ * <TableRow>
12
+ * <TableCellHeader>Name</TableCellHeader>
13
+ * <TableCellHeader>Email</TableCellHeader>
14
+ * <TableCellHeader>Role</TableCellHeader>
15
+ * </TableRow>
16
+ * ```
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * // Table cell header with alignment
21
+ * <TableRow>
22
+ * <TableCellHeader>Name</TableCellHeader>
23
+ * <TableCellHeader align="center">Status</TableCellHeader>
24
+ * <TableCellHeader align="right">Price</TableCellHeader>
25
+ * </TableRow>
26
+ * ```
27
+ */
28
+ export type TableCellHeaderProps = TableCellProps;
@@ -1,2 +1,74 @@
1
1
  import { TableFiltersView } from './types';
2
+ /**
3
+ * TableFilters - Filter component for table data with grouped checkboxes
4
+ *
5
+ * A comprehensive filter component that provides grouped checkbox filters in a
6
+ * popover with accordion-style collapsible groups. Supports draft state management
7
+ * with submit, reset, and clear actions. Displays notification badge with selected
8
+ * filter group count.
9
+ *
10
+ * Component structure:
11
+ * - TableFilters (main component)
12
+ * - Popover (wrapper with trigger and content)
13
+ * - TableFilterTriggerWithNotification (trigger button with badge)
14
+ * - PopoverContent (filter content)
15
+ * - AccordionGroup (collapsible filter groups)
16
+ * - TableFiltersAccordion (individual filter group)
17
+ * - TableFiltersAccordionContent
18
+ * - TableFilterCheckbox (filter items)
19
+ * - TableFiltersButtons (submit, cancel, clear actions)
20
+ *
21
+ * @category Components
22
+ * @subcategory Data Display
23
+ *
24
+ * @example
25
+ * ```tsx
26
+ * const filterConfig: TableFilterConfig = {
27
+ * status: {
28
+ * id: 'status',
29
+ * title: 'Status',
30
+ * isOpened: true,
31
+ * ariaControls: 'status-controls',
32
+ * items: {
33
+ * active: {
34
+ * key: 'active',
35
+ * name: 'active',
36
+ * content: { statePath: [], text: 'Active' },
37
+ * },
38
+ * },
39
+ * selectedItems: [],
40
+ * },
41
+ * };
42
+ *
43
+ * <TableFilters
44
+ * checkboxData={filterConfig}
45
+ * onSubmit={() => applyFilters()}
46
+ * onReset={() => resetFilters()}
47
+ * onClear={() => clearFilters()}
48
+ * />
49
+ * ```
50
+ *
51
+ * @example
52
+ * ```tsx
53
+ * // With checkbox toggle callback
54
+ * <TableFilters
55
+ * checkboxData={filterConfig}
56
+ * onCheckboxToggle={(groupName, itemName) => {
57
+ * console.log(`Toggled ${itemName} in ${groupName}`);
58
+ * }}
59
+ * onSubmit={handleSubmit}
60
+ * />
61
+ * ```
62
+ *
63
+ * @see {@link AccordionGroup} - Used for collapsible filter groups
64
+ * @see {@link Popover} - Used for filter popover overlay
65
+ * @see {@link TableFilterConfig} - Configuration type for filter data
66
+ *
67
+ * @accessibility
68
+ * - ARIA attributes for accordion groups
69
+ * - Keyboard navigation support
70
+ * - Screen reader friendly
71
+ * - Proper focus management
72
+ * - Notification badge for selected filters
73
+ */
2
74
  export declare const TableFilters: ({ checkboxData, onReset, onSubmit, onClear, onCheckboxToggle, handleMoreButtonVisibleChange, }: TableFiltersView) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -2,7 +2,7 @@ import { BaseSyntheticEvent } from 'react';
2
2
  import { TableFilterConfig } from '../types';
3
3
  export interface UseTableDataParameters {
4
4
  initialState?: TableFilterConfig;
5
- wrapperRef?: React.RefObject<HTMLElement>;
5
+ wrapperRef?: React.RefObject<HTMLElement | null>;
6
6
  updatedCheckboxData?: TableFilterConfig;
7
7
  handleCancel?: () => void;
8
8
  handleClear?: () => void;
@@ -15,8 +15,8 @@ export interface UseTableDataParameters {
15
15
  }
16
16
  export declare const useTableData: ({ initialState, wrapperRef, updatedCheckboxData, handleCancel, handleSubmit, handleClear, handleDropdownChange, }: UseTableDataParameters) => {
17
17
  checkboxData: TableFilterConfig;
18
- wrapperRef: import("react").RefObject<HTMLElement> | undefined;
19
- refsList: import("react").MutableRefObject<HTMLElement | null>[];
18
+ wrapperRef: import("react").RefObject<HTMLElement | null> | undefined;
19
+ refsList: import("react").RefObject<HTMLElement | null>[];
20
20
  setElementRef: (groupName: string, element: HTMLElement | null) => void;
21
21
  onCheckboxToggle: (groupName: string, name: string | number) => void;
22
22
  onDropdownChange: (groupName: string, name: string | number) => void;
@@ -1,30 +1,158 @@
1
+ /**
2
+ * Checkbox data structure
3
+ * Maps filter group names to arrays of selected item names
4
+ */
1
5
  export type CheckboxData = Record<string, string[]>;
6
+ /**
7
+ * Not changed data structure
8
+ * Tracks checkbox states that haven't been modified
9
+ */
2
10
  export type NotChangedData = Record<string, Record<string, boolean>>;
11
+ /**
12
+ * Single filter item configuration
13
+ * Represents an individual checkbox option within a filter group
14
+ */
3
15
  export interface SingleItem {
16
+ /**
17
+ * Unique identifier for the item
18
+ */
4
19
  key: string;
20
+ /**
21
+ * Item name/identifier
22
+ */
5
23
  name: string;
24
+ /**
25
+ * Whether the item is disabled
26
+ * @default false
27
+ */
6
28
  isDisabled?: boolean;
29
+ /**
30
+ * Item content configuration
31
+ */
7
32
  content: {
33
+ /**
34
+ * State path for nested data structures
35
+ */
8
36
  statePath: string[];
37
+ /**
38
+ * Display text for the checkbox label
39
+ */
9
40
  text: string;
10
41
  };
11
42
  }
43
+ /**
44
+ * Accordion group information
45
+ * Represents a filter group with collapsible accordion functionality
46
+ */
12
47
  export interface AccordionInfo {
48
+ /**
49
+ * Unique identifier for the accordion group
50
+ */
13
51
  id: string;
52
+ /**
53
+ * Group title displayed in accordion header
54
+ */
14
55
  title: string;
56
+ /**
57
+ * Whether the accordion is initially open
58
+ */
15
59
  isOpened: boolean;
60
+ /**
61
+ * ARIA controls attribute for accessibility
62
+ */
16
63
  ariaControls: string;
64
+ /**
65
+ * Whether the entire group is disabled
66
+ * @default false
67
+ */
17
68
  isDisabled?: boolean;
69
+ /**
70
+ * Filter items within this group
71
+ */
18
72
  items: Record<string, SingleItem>;
73
+ /**
74
+ * Currently selected items (committed state)
75
+ */
19
76
  selectedItems: string[];
77
+ /**
78
+ * Draft selected items (uncommitted changes)
79
+ * Used to track temporary selections before submit
80
+ */
20
81
  selectedItemsDraft?: string[];
21
82
  }
83
+ /**
84
+ * Table filter configuration
85
+ * Maps filter group names to their accordion information
86
+ */
22
87
  export type TableFilterConfig = Record<string, AccordionInfo>;
88
+ /**
89
+ * Props for the TableFilters component
90
+ *
91
+ * A comprehensive filter component for table data that provides grouped checkbox
92
+ * filters in a popover with accordion-style collapsible groups. Supports submit,
93
+ * reset, and clear actions with draft state management.
94
+ *
95
+ * @example
96
+ * ```tsx
97
+ * const filterConfig: TableFilterConfig = {
98
+ * status: {
99
+ * id: 'status',
100
+ * title: 'Status',
101
+ * isOpened: true,
102
+ * ariaControls: 'status-controls',
103
+ * items: {
104
+ * active: {
105
+ * key: 'active',
106
+ * name: 'active',
107
+ * content: { statePath: [], text: 'Active' },
108
+ * },
109
+ * inactive: {
110
+ * key: 'inactive',
111
+ * name: 'inactive',
112
+ * content: { statePath: [], text: 'Inactive' },
113
+ * },
114
+ * },
115
+ * selectedItems: [],
116
+ * },
117
+ * };
118
+ *
119
+ * <TableFilters
120
+ * checkboxData={filterConfig}
121
+ * onSubmit={() => console.log('Filters applied')}
122
+ * onReset={() => console.log('Filters reset')}
123
+ * onClear={() => console.log('Filters cleared')}
124
+ * />
125
+ * ```
126
+ */
23
127
  export interface TableFiltersView {
128
+ /**
129
+ * Filter configuration data
130
+ * Maps group names to accordion information with checkbox items
131
+ */
132
+ checkboxData?: TableFilterConfig;
133
+ /**
134
+ * Callback when filters are submitted/applied
135
+ * Called when user clicks submit button
136
+ */
137
+ onSubmit?: () => void;
138
+ /**
139
+ * Callback when filters are reset
140
+ * Called when user clicks cancel button (resets to initial state)
141
+ */
24
142
  onReset?: () => void;
143
+ /**
144
+ * Callback when filters are cleared
145
+ * Called when user clicks clear button (removes all selections)
146
+ */
25
147
  onClear?: () => void;
26
- onSubmit?: () => void;
148
+ /**
149
+ * Callback when a checkbox is toggled
150
+ * Provides group name and item name for the toggled checkbox
151
+ */
27
152
  onCheckboxToggle?: (groupName: string, name: string) => void;
153
+ /**
154
+ * Callback when filter button visibility changes
155
+ * Called when filter groups are added/removed to show/hide filter button
156
+ */
28
157
  handleMoreButtonVisibleChange?: (isVisible: boolean) => void;
29
- checkboxData?: TableFilterConfig;
30
158
  }
@@ -1,4 +1,41 @@
1
1
  import { CommonProps } from '../../types/emotion';
2
+ /**
3
+ * TableHead - Header section container for table columns
4
+ *
5
+ * A styled thead element that wraps table header rows. Provides styling
6
+ * for the table header section including bold font weight, border styling,
7
+ * and rounded corners. Used with TableRow and TableCellHeader components.
8
+ *
9
+ * @category Components
10
+ * @subcategory Data Display
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * // Basic table head
15
+ * <Table>
16
+ * <TableHead>
17
+ * <TableRow>
18
+ * <TableCellHeader>Name</TableCellHeader>
19
+ * <TableCellHeader>Email</TableCellHeader>
20
+ * <TableCellHeader>Role</TableCellHeader>
21
+ * </TableRow>
22
+ * </TableHead>
23
+ * <TableBody>
24
+ * // data rows go here
25
+ * </TableBody>
26
+ * </Table>
27
+ * ```
28
+ *
29
+ * @see {@link Table} - Parent table component
30
+ * @see {@link TableRow} - Row component for header
31
+ * @see {@link TableCellHeader} - Header cell component
32
+ * @see {@link TableBody} - Body section component
33
+ *
34
+ * @accessibility
35
+ * - Semantic HTML thead element
36
+ * - Proper table structure for screen readers
37
+ * - Supports ARIA attributes via CommonProps
38
+ */
2
39
  declare const TableHead: import("@emotion/styled").StyledComponent<{
3
40
  theme?: import("@emotion/react").Theme;
4
41
  as?: React.ElementType;
@@ -1,8 +1,3 @@
1
- import { CommonProps } from '../../types/emotion';
2
- declare const TableRow: import("@emotion/styled").StyledComponent<{
3
- theme?: import("@emotion/react").Theme;
4
- as?: React.ElementType;
5
- } & CommonProps & {
6
- isDisabled?: boolean;
7
- }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLTableRowElement>, HTMLTableRowElement>, {}>;
1
+ import { TableRowProps } from './types';
2
+ declare const TableRow: import("react").ForwardRefExoticComponent<TableRowProps & import("react").RefAttributes<HTMLTableRowElement>>;
8
3
  export default TableRow;
@@ -0,0 +1,34 @@
1
+ import { HTMLAttributes } from 'react';
2
+ import { CommonProps } from '../../types/emotion';
3
+ /**
4
+ * Props for the TableRow component
5
+ *
6
+ * A styled table row component that represents a single row in a table.
7
+ * Supports disabled state for non-interactive rows.
8
+ *
9
+ * @example
10
+ * ```tsx
11
+ * // Basic table row
12
+ * <TableRow>
13
+ * <TableCell>Data 1</TableCell>
14
+ * <TableCell>Data 2</TableCell>
15
+ * </TableRow>
16
+ * ```
17
+ *
18
+ * @example
19
+ * ```tsx
20
+ * // Disabled table row (aria-disabled is automatically set)
21
+ * <TableRow isDisabled>
22
+ * <TableCell>Disabled Row</TableCell>
23
+ * </TableRow>
24
+ * ```
25
+ */
26
+ export interface TableRowProps extends CommonProps, HTMLAttributes<HTMLTableRowElement> {
27
+ /**
28
+ * Whether the row is disabled
29
+ * Disabled rows have reduced opacity and no pointer cursor.
30
+ * Automatically sets aria-disabled attribute when true.
31
+ * @default false
32
+ */
33
+ isDisabled?: boolean;
34
+ }