@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
@@ -58,7 +58,7 @@ export declare const BadgeWrapper: import("@emotion/styled").StyledComponent<{
58
58
  theme?: Theme;
59
59
  as?: React.ElementType;
60
60
  }, import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, {}>;
61
- export declare const StyledBadge: import("@emotion/styled").StyledComponent<Omit<Omit<import("react").HTMLProps<HTMLDivElement>, "size"> & import("../Badge/types").BadgeProps, "ref"> & import("react").RefAttributes<HTMLDivElement> & {
61
+ export declare const StyledBadge: import("@emotion/styled").StyledComponent<Omit<Omit<import("react").HTMLProps<HTMLDivElement>, "size"> & import("..").BadgeProps, "ref"> & import("react").RefAttributes<HTMLDivElement> & {
62
62
  theme?: Theme;
63
63
  }, {}, {}>;
64
64
  export declare const CustomBadge: import("@emotion/styled").StyledComponent<{
@@ -1,5 +1,125 @@
1
1
  import * as React from 'react';
2
2
  import { PopoverOptions } from './types';
3
+ /**
4
+ * Popover - Floating content container component
5
+ *
6
+ * A flexible popover system built on Floating UI that provides floating content
7
+ * containers relative to trigger elements. Uses a compound component pattern with
8
+ * Popover (root), PopoverTrigger (activator), PopoverContent (display),
9
+ * PopoverHeading, PopoverDescription, and PopoverClose (content helpers).
10
+ *
11
+ * Supports multiple interaction modes (click, hover, both), flexible positioning
12
+ * with auto-adjustment via Floating UI middleware, modal and non-modal modes,
13
+ * and comprehensive accessibility features including ARIA attributes and focus
14
+ * management.
15
+ *
16
+ * @category Components
17
+ * @subcategory Overlay
18
+ *
19
+ * @example
20
+ * ```tsx
21
+ * // Basic popover on click
22
+ * <Popover>
23
+ * <PopoverTrigger>
24
+ * <Button>Open Popover</Button>
25
+ * </PopoverTrigger>
26
+ * <PopoverContent>
27
+ * <PopoverHeading variant="h4">Popover Title</PopoverHeading>
28
+ * <PopoverDescription>
29
+ * This is the popover content with helpful information.
30
+ * </PopoverDescription>
31
+ * <PopoverClose>Close</PopoverClose>
32
+ * </PopoverContent>
33
+ * </Popover>
34
+ * ```
35
+ *
36
+ * @example
37
+ * ```tsx
38
+ * // Popover with hover interaction
39
+ * <Popover interactionsEnabled="hover">
40
+ * <PopoverTrigger>
41
+ * <Icon name="info" />
42
+ * </PopoverTrigger>
43
+ * <PopoverContent>
44
+ * <PopoverHeading variant="h4">Information</PopoverHeading>
45
+ * <PopoverDescription>
46
+ * This popover appears on hover.
47
+ * </PopoverDescription>
48
+ * </PopoverContent>
49
+ * </Popover>
50
+ * ```
51
+ *
52
+ * @example
53
+ * ```tsx
54
+ * // Popover with custom placement
55
+ * <Popover placement="top">
56
+ * <PopoverTrigger>
57
+ * <Button>Show Above</Button>
58
+ * </PopoverTrigger>
59
+ * <PopoverContent>
60
+ * <PopoverDescription>
61
+ * This popover appears above the trigger element.
62
+ * </PopoverDescription>
63
+ * <PopoverClose>Close</PopoverClose>
64
+ * </PopoverContent>
65
+ * </Popover>
66
+ * ```
67
+ *
68
+ * @example
69
+ * ```tsx
70
+ * // Advanced positioning with Floating UI middleware
71
+ * <Popover
72
+ * placement="top"
73
+ * floatingOptions={{
74
+ * middleware: [
75
+ * offset(10),
76
+ * flip(),
77
+ * shift({ padding: 8 }),
78
+ * ],
79
+ * }}>
80
+ * <PopoverTrigger>
81
+ * <Button>Smart Positioning</Button>
82
+ * </PopoverTrigger>
83
+ * <PopoverContent>
84
+ * <PopoverHeading variant="h4">Smart Positioning</PopoverHeading>
85
+ * <PopoverDescription>
86
+ * This popover automatically adjusts its position to stay in view.
87
+ * </PopoverDescription>
88
+ * <PopoverClose>Close</PopoverClose>
89
+ * </PopoverContent>
90
+ * </Popover>
91
+ * ```
92
+ *
93
+ * @example
94
+ * ```tsx
95
+ * // Modal popover with controlled state
96
+ * <Popover modal open={isOpen} onOpenChange={setIsOpen}>
97
+ * <PopoverTrigger>
98
+ * <Button>Open Modal Popover</Button>
99
+ * </PopoverTrigger>
100
+ * <PopoverContent>
101
+ * <PopoverHeading variant="h4">Modal Popover</PopoverHeading>
102
+ * <PopoverDescription>
103
+ * This is a modal popover that traps focus.
104
+ * </PopoverDescription>
105
+ * <PopoverClose>Close</PopoverClose>
106
+ * </PopoverContent>
107
+ * </Popover>
108
+ * ```
109
+ *
110
+ * @see {@link PopoverTrigger} - Trigger element component
111
+ * @see {@link PopoverContent} - Content display component
112
+ * @see {@link PopoverHeading} - Accessible heading component
113
+ * @see {@link PopoverDescription} - Accessible description component
114
+ * @see {@link PopoverClose} - Close button component
115
+ *
116
+ * @accessibility
117
+ * - Keyboard accessible (ESC to close, Enter/Space to activate)
118
+ * - Focus management with FloatingFocusManager for modal popovers
119
+ * - ARIA attributes automatically applied (role, aria-labelledby, aria-describedby)
120
+ * - Screen reader friendly with semantic heading and description components
121
+ * - Focus trap for modal popovers
122
+ */
3
123
  export declare const Popover: ({ children, modal, ...restOptions }: {
4
124
  children: React.ReactNode;
5
125
  } & PopoverOptions) => import("@emotion/react/jsx-runtime").JSX.Element;
@@ -1,2 +1,28 @@
1
1
  import * as React from 'react';
2
+ /**
3
+ * PopoverClose - Close button for popover
4
+ *
5
+ * Renders a button that closes the popover when clicked. Uses Button component
6
+ * with secondary variant by default. Automatically handles closing the popover
7
+ * and supports all standard button props.
8
+ *
9
+ * @category Components
10
+ * @subcategory Overlay
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * <PopoverClose>Close</PopoverClose>
15
+ * ```
16
+ *
17
+ * @example
18
+ * ```tsx
19
+ * // Custom button text and styling
20
+ * <PopoverClose size="small" variant="primary">
21
+ * Done
22
+ * </PopoverClose>
23
+ * ```
24
+ *
25
+ * @see {@link Popover} - Root component
26
+ * @see {@link PopoverContent} - Content container component
27
+ */
2
28
  export declare const PopoverClose: React.ForwardRefExoticComponent<React.ButtonHTMLAttributes<HTMLButtonElement> & React.RefAttributes<HTMLButtonElement>>;
@@ -1,5 +1,38 @@
1
1
  import * as React from 'react';
2
2
  import { MountMode } from './types';
3
+ /**
4
+ * PopoverContent - Content container for popover
5
+ *
6
+ * Renders the actual popover content that appears when the trigger is activated.
7
+ * Automatically positioned using Floating UI, supports portal rendering, and
8
+ * includes focus management for modal popovers. Can be configured to unmount
9
+ * or keep mounted when closed.
10
+ *
11
+ * @category Components
12
+ * @subcategory Overlay
13
+ *
14
+ * @example
15
+ * ```tsx
16
+ * <PopoverContent>
17
+ * <PopoverHeading variant="h4">Title</PopoverHeading>
18
+ * <PopoverDescription>Content goes here</PopoverDescription>
19
+ * <PopoverClose>Close</PopoverClose>
20
+ * </PopoverContent>
21
+ * ```
22
+ *
23
+ * @example
24
+ * ```tsx
25
+ * // Keep content mounted when closed
26
+ * <PopoverContent mountMode="keep-mounted">
27
+ * <div>This stays in DOM when closed</div>
28
+ * </PopoverContent>
29
+ * ```
30
+ *
31
+ * @see {@link Popover} - Root component
32
+ * @see {@link PopoverTrigger} - Trigger element component
33
+ * @see {@link PopoverHeading} - Accessible heading component
34
+ * @see {@link PopoverDescription} - Accessible description component
35
+ */
3
36
  export declare const PopoverContent: React.ForwardRefExoticComponent<Omit<React.HTMLProps<HTMLDivElement> & {
4
37
  isFocusManagerDisabled?: boolean;
5
38
  mountMode?: MountMode;
@@ -1,2 +1,23 @@
1
1
  import * as React from 'react';
2
- export declare const PopoverDescription: React.ForwardRefExoticComponent<Omit<Omit<import("../Typography/types").TypographyProps, "ref"> & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
2
+ /**
3
+ * PopoverDescription - Accessible description for popover
4
+ *
5
+ * Provides an accessible description for the popover content. Automatically sets
6
+ * `aria-describedby` on the PopoverContent when mounted. Uses Typography component
7
+ * for consistent styling and supports all Typography props.
8
+ *
9
+ * @category Components
10
+ * @subcategory Overlay
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * <PopoverDescription variant="body1">
15
+ * This is the description text for the popover content.
16
+ * </PopoverDescription>
17
+ * ```
18
+ *
19
+ * @see {@link Popover} - Root component
20
+ * @see {@link PopoverContent} - Content container component
21
+ * @see {@link PopoverHeading} - Accessible heading component
22
+ */
23
+ export declare const PopoverDescription: React.ForwardRefExoticComponent<Omit<Omit<import("..").TypographyProps, "ref"> & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
@@ -1,2 +1,23 @@
1
1
  import * as React from 'react';
2
- export declare const PopoverHeading: React.ForwardRefExoticComponent<Omit<Omit<import("../Typography/types").TypographyProps, "ref"> & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
2
+ /**
3
+ * PopoverHeading - Accessible heading for popover
4
+ *
5
+ * Provides an accessible heading for the popover content. Automatically sets
6
+ * `aria-labelledby` on the PopoverContent when mounted. Uses Typography component
7
+ * for consistent styling and supports all Typography props.
8
+ *
9
+ * @category Components
10
+ * @subcategory Overlay
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * <PopoverHeading variant="h4">
15
+ * Popover Title
16
+ * </PopoverHeading>
17
+ * ```
18
+ *
19
+ * @see {@link Popover} - Root component
20
+ * @see {@link PopoverContent} - Content container component
21
+ * @see {@link PopoverDescription} - Accessible description component
22
+ */
23
+ export declare const PopoverHeading: React.ForwardRefExoticComponent<Omit<Omit<import("..").TypographyProps, "ref"> & React.RefAttributes<HTMLElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
@@ -1,4 +1,34 @@
1
1
  import * as React from 'react';
2
2
  import { ButtonProps } from '../Button/types';
3
3
  import { PopoverTriggerProps } from './types';
4
+ /**
5
+ * PopoverTrigger - Trigger element for popover
6
+ *
7
+ * Activates the popover when interacted with. By default renders as a Button,
8
+ * but can be customized using the `asChild` prop to render as any React element.
9
+ * Automatically receives Floating UI reference props for positioning and state
10
+ * management.
11
+ *
12
+ * @category Components
13
+ * @subcategory Overlay
14
+ *
15
+ * @example
16
+ * ```tsx
17
+ * // Default Button trigger
18
+ * <PopoverTrigger>
19
+ * Open Popover
20
+ * </PopoverTrigger>
21
+ * ```
22
+ *
23
+ * @example
24
+ * ```tsx
25
+ * // Custom element trigger
26
+ * <PopoverTrigger asChild>
27
+ * <Icon name="info" />
28
+ * </PopoverTrigger>
29
+ * ```
30
+ *
31
+ * @see {@link Popover} - Root component
32
+ * @see {@link PopoverContent} - Content display component
33
+ */
4
34
  export declare const PopoverTrigger: React.ForwardRefExoticComponent<Omit<React.HTMLProps<HTMLElement> & ButtonProps & PopoverTriggerProps, "ref"> & React.RefAttributes<HTMLElement>>;
@@ -1,2 +1,23 @@
1
1
  import { UsePopover } from '../types';
2
+ /**
3
+ * usePopover - Hook for popover functionality
4
+ *
5
+ * Custom hook that provides popover state management, positioning, and interactions.
6
+ * Handles both controlled and uncontrolled modes, supports multiple interaction types
7
+ * (click, hover, both), and integrates with Floating UI for positioning and focus management.
8
+ *
9
+ * @param options - Popover configuration options
10
+ * @returns Popover context value with state, positioning, and interaction handlers
11
+ *
12
+ * @example
13
+ * ```tsx
14
+ * const popover = usePopover({
15
+ * placement: 'top',
16
+ * interactionsEnabled: 'click',
17
+ * modal: false,
18
+ * });
19
+ * ```
20
+ *
21
+ * @see {@link Popover} - Component that uses this hook
22
+ */
2
23
  export declare const usePopover: UsePopover;
@@ -1,4 +1,27 @@
1
1
  import * as React from 'react';
2
2
  import { ContextType } from '../types';
3
+ /**
4
+ * Context for popover components
5
+ *
6
+ * Provides popover state and functionality to child components. Created by
7
+ * Popover component and consumed by PopoverTrigger, PopoverContent, and other
8
+ * popover sub-components.
9
+ */
3
10
  export declare const PopoverContext: React.Context<ContextType>;
11
+ /**
12
+ * usePopoverContext - Hook to access popover context
13
+ *
14
+ * Returns the popover context value. Throws an error if used outside of a
15
+ * Popover component.
16
+ *
17
+ * @returns Popover context value with state, positioning, and interaction handlers
18
+ * @throws Error if used outside of Popover component
19
+ *
20
+ * @example
21
+ * ```tsx
22
+ * const { open, setOpen, refs } = usePopoverContext();
23
+ * ```
24
+ *
25
+ * @see {@link Popover} - Component that provides this context
26
+ */
4
27
  export declare const usePopoverContext: () => ContextType;
@@ -1,23 +1,109 @@
1
1
  import { Placement, useInteractions, UseFloatingReturn, UseFloatingOptions } from '@floating-ui/react';
2
+ /**
3
+ * Interaction modes for popover activation
4
+ * - `click`: Opens on click interaction (default)
5
+ * - `hover`: Opens on hover interaction
6
+ * - `both`: Opens on both click and hover interactions
7
+ */
2
8
  export type InteractionsEnabled = 'click' | 'hover' | 'both';
9
+ /**
10
+ * Mount mode for popover content
11
+ * - `unmount`: Completely unmounts content when closed (default)
12
+ * - `keep-mounted`: Keeps content mounted but hidden when closed
13
+ */
3
14
  export type MountMode = 'unmount' | 'keep-mounted';
15
+ /**
16
+ * Props for the Popover component
17
+ *
18
+ * Root container component for popover system using compound component pattern.
19
+ * Provides context and positioning configuration for PopoverTrigger, PopoverContent,
20
+ * PopoverHeading, PopoverDescription, and PopoverClose. Built on Floating UI for
21
+ * flexible positioning and interaction modes.
22
+ *
23
+ * @example
24
+ * ```tsx
25
+ * <Popover placement="top" interactionsEnabled="click">
26
+ * <PopoverTrigger>
27
+ * <Button>Open Popover</Button>
28
+ * </PopoverTrigger>
29
+ * <PopoverContent>
30
+ * <PopoverHeading variant="h4">Title</PopoverHeading>
31
+ * <PopoverDescription>This is a popover</PopoverDescription>
32
+ * <PopoverClose>Close</PopoverClose>
33
+ * </PopoverContent>
34
+ * </Popover>
35
+ * ```
36
+ */
4
37
  export interface PopoverOptions {
38
+ /**
39
+ * Initial open state for uncontrolled popover
40
+ * @default false
41
+ */
5
42
  initialOpen?: boolean;
43
+ /**
44
+ * Preferred placement of the popover relative to trigger
45
+ * Floating UI will auto-adjust if space is insufficient
46
+ * @default 'bottom'
47
+ */
6
48
  placement?: Placement;
49
+ /**
50
+ * Whether popover should behave as a modal (traps focus)
51
+ * @default false
52
+ */
7
53
  modal?: boolean;
54
+ /**
55
+ * Controlled open state
56
+ * When provided, controls popover visibility externally
57
+ */
8
58
  open?: boolean;
59
+ /**
60
+ * Additional Floating UI options for advanced positioning
61
+ * Allows customization of middleware, strategy, and other Floating UI settings
62
+ */
9
63
  floatingOptions?: Partial<UseFloatingOptions>;
64
+ /**
65
+ * Interaction mode for popover activation
66
+ * @default 'click'
67
+ */
10
68
  interactionsEnabled?: InteractionsEnabled;
69
+ /**
70
+ * Enable keyboard handlers for interactions
71
+ * @default true
72
+ */
11
73
  keyboardHandlers?: boolean;
74
+ /**
75
+ * Callback fired when open state changes
76
+ */
12
77
  onOpenChange?: (open: boolean) => void;
13
78
  }
14
79
  export type SetIDs = {
15
80
  setLabelId: React.Dispatch<React.SetStateAction<string | undefined>>;
16
81
  setDescriptionId: React.Dispatch<React.SetStateAction<string | undefined>>;
17
82
  };
83
+ /**
84
+ * Props for PopoverTrigger component
85
+ *
86
+ * Trigger element that activates the popover. Can render as a Button (default) or
87
+ * as a custom element when using `asChild` prop. Automatically receives Floating UI
88
+ * reference props for positioning. Extends ButtonProps so you can pass Button props
89
+ * such as variant (default `primary`), size, css, etc.
90
+ */
18
91
  export interface PopoverTriggerProps {
92
+ /**
93
+ * Content to render as trigger
94
+ * When `asChild` is true, must be a single React element
95
+ */
19
96
  children?: React.ReactNode;
97
+ /**
98
+ * Render trigger as child element instead of Button
99
+ * When true, clones the child element and applies trigger props
100
+ * @default false
101
+ */
20
102
  asChild?: boolean;
103
+ /**
104
+ * Test ID for the trigger element
105
+ * @default 'trigger-button'
106
+ */
21
107
  dataTestId?: string;
22
108
  }
23
109
  type UseInteractions = ReturnType<typeof useInteractions>;
@@ -1,3 +1,71 @@
1
1
  import { RadioProps } from './types';
2
- declare const Radio: ({ id, name, value, isChecked, isDisabled, isRequired, text, colors, className, onChange, }: RadioProps) => import("@emotion/react/jsx-runtime").JSX.Element;
2
+ /**
3
+ * Radio - Radio button component for single selection
4
+ *
5
+ * A radio button component for selecting a single option from a group.
6
+ * Supports controlled and uncontrolled states, palette-based color variants,
7
+ * and full accessibility. Displays a radio icon that changes appearance based
8
+ * on checked state and hover interactions.
9
+ *
10
+ * Colors are sourced from `theme.palette` for consistency with Button and
11
+ * Checkbox. Pass `color="custom"` together with the `colors` object to supply
12
+ * arbitrary CSS color values.
13
+ *
14
+ * Typically used within RadioGroup for managing selection state across
15
+ * multiple radio buttons, but can also be used standalone.
16
+ *
17
+ * @category Form Controls
18
+ * @subcategory Input
19
+ *
20
+ * @example
21
+ * ```tsx
22
+ * // Default (primary / blue)
23
+ * <Radio
24
+ * id="option1"
25
+ * name="choice"
26
+ * value="option1"
27
+ * text="Option 1"
28
+ * onChange={(value) => console.log(value)}
29
+ * />
30
+ * ```
31
+ *
32
+ * @example
33
+ * ```tsx
34
+ * // Success (green) variant
35
+ * <Radio
36
+ * name="status"
37
+ * value="active"
38
+ * text="Active"
39
+ * color="success"
40
+ * onChange={handleChange}
41
+ * />
42
+ * ```
43
+ *
44
+ * @example
45
+ * ```tsx
46
+ * // Custom color escape hatch
47
+ * <Radio
48
+ * name="priority"
49
+ * value="high"
50
+ * text="High Priority"
51
+ * color="custom"
52
+ * colors={{
53
+ * default: '#ff0000',
54
+ * hovered: '#cc0000',
55
+ * disabled: '#cccccc',
56
+ * focusShadow: 'rgba(255,0,0,0.25)',
57
+ * }}
58
+ * onChange={handleChange}
59
+ * />
60
+ * ```
61
+ *
62
+ * @see {@link RadioGroup} - For managing groups of radio buttons
63
+ *
64
+ * @accessibility
65
+ * - Full keyboard navigation (Arrow keys to navigate group, Space to select)
66
+ * - Proper ARIA attributes (role="radio", aria-checked)
67
+ * - Screen reader friendly
68
+ * - Focus management with visible focus indicators
69
+ */
70
+ declare const Radio: ({ id, name, value, isChecked, isDisabled, isRequired, text, color, colors, className, onChange, }: RadioProps) => import("@emotion/react/jsx-runtime").JSX.Element;
3
71
  export default Radio;
@@ -1,4 +1,4 @@
1
- export declare const RadioBase: import("@emotion/styled").StyledComponent<import("../Label/types").LabelProps & {
1
+ export declare const RadioBase: import("@emotion/styled").StyledComponent<import("..").LabelProps & {
2
2
  theme?: import("@emotion/react").Theme;
3
3
  } & {
4
4
  focusShadowColor?: string;
@@ -1,17 +1,126 @@
1
+ /**
2
+ * Props for the Radio component
3
+ *
4
+ * Radio button component for single selection from a group of options.
5
+ * Supports controlled and uncontrolled states, palette-based color variants,
6
+ * and full accessibility. Typically used within RadioGroup for managing
7
+ * selection state.
8
+ *
9
+ * Colors are driven by `theme.palette`:
10
+ * - `primary` (default) — blue; uses `palette.primary.main` for resting/checked,
11
+ * `palette.primary.dark` for hover.
12
+ * - `success` — green; uses `palette.success.main` for resting/checked,
13
+ * `palette.success.dark` for hover.
14
+ * - `custom` — no built-in color; provide exact values via the `colors` object.
15
+ *
16
+ * @example
17
+ * ```tsx
18
+ * // Basic radio button (primary / blue by default)
19
+ * <Radio
20
+ * id="option1"
21
+ * name="choice"
22
+ * value="option1"
23
+ * text="Option 1"
24
+ * onChange={(value) => handleChange(value)}
25
+ * />
26
+ * ```
27
+ *
28
+ * @example
29
+ * ```tsx
30
+ * // Success (green) variant
31
+ * <Radio
32
+ * name="status"
33
+ * value="active"
34
+ * text="Active"
35
+ * color="success"
36
+ * onChange={(value) => handleChange(value)}
37
+ * />
38
+ * ```
39
+ *
40
+ * @example
41
+ * ```tsx
42
+ * // Custom color via escape hatch
43
+ * <Radio
44
+ * name="priority"
45
+ * value="high"
46
+ * text="High Priority"
47
+ * color="custom"
48
+ * colors={{
49
+ * default: '#ff0000',
50
+ * hovered: '#cc0000',
51
+ * disabled: '#cccccc',
52
+ * focusShadow: 'rgba(255, 0, 0, 0.25)',
53
+ * }}
54
+ * onChange={(value) => handleChange(value)}
55
+ * />
56
+ * ```
57
+ */
1
58
  export interface RadioProps {
59
+ /**
60
+ * Unique identifier for the radio input
61
+ * If not provided, a unique ID will be auto-generated
62
+ */
2
63
  id?: string;
64
+ /**
65
+ * Value of the radio button
66
+ * Passed to onChange callback when selected
67
+ */
3
68
  value: string;
69
+ /**
70
+ * Name attribute for grouping radio buttons
71
+ * Radio buttons with the same name form a group
72
+ * @default ''
73
+ */
4
74
  name?: string;
75
+ /**
76
+ * Whether the radio button is checked
77
+ * Use for controlled component pattern
78
+ */
5
79
  isChecked?: boolean;
80
+ /**
81
+ * Whether the radio button is disabled
82
+ * Disabled radios cannot be selected
83
+ * @default false
84
+ */
6
85
  isDisabled?: boolean;
86
+ /**
87
+ * Whether the radio button is required for form validation
88
+ * @default false
89
+ */
7
90
  isRequired?: boolean;
91
+ /**
92
+ * Callback function called when radio is selected
93
+ * Receives the radio's value as parameter
94
+ */
8
95
  onChange?: (value: string) => void;
96
+ /**
97
+ * Label text displayed next to the radio button
98
+ */
9
99
  text?: string;
100
+ /**
101
+ * Custom CSS class name
102
+ */
10
103
  className?: string;
104
+ /**
105
+ * Palette-based color variant.
106
+ * - `primary` — blue (uses `palette.primary`)
107
+ * - `success` — green (uses `palette.success`)
108
+ * - `custom` — unstyled; supply exact colors via the `colors` prop
109
+ * @default 'primary'
110
+ */
111
+ color?: 'primary' | 'success' | 'custom';
112
+ /**
113
+ * Fine-grained color overrides — only applied when `color="custom"`.
114
+ * Allows overriding every interactive state independently.
115
+ */
11
116
  colors?: {
117
+ /** Resting (and checked) icon color */
12
118
  default?: string;
119
+ /** Hover icon color */
13
120
  hovered?: string;
121
+ /** Disabled state icon color */
14
122
  disabled?: string;
123
+ /** Focus ring drop-shadow color */
15
124
  focusShadow?: string;
16
125
  };
17
126
  }
@@ -1,3 +1,3 @@
1
1
  import { RadioGroupProps } from './types';
2
- declare const RadioGroup: ({ name, isRequired, externalState, onChange, children, className, }: RadioGroupProps) => import("@emotion/react/jsx-runtime").JSX.Element;
2
+ declare const RadioGroup: ({ name, isRequired, externalState, onChange, children, className, color, }: RadioGroupProps) => import("@emotion/react/jsx-runtime").JSX.Element;
3
3
  export default RadioGroup;
@@ -1 +1,2 @@
1
1
  export { default } from './RadioGroup';
2
+ export type * from './types';