@raydenui/ui 0.9.6 → 0.10.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 (308) hide show
  1. package/dist/Table-DCNSxua1.d.cts +31 -0
  2. package/dist/Table-DCNSxua1.d.ts +31 -0
  3. package/dist/blocks/ApplicationShellBlock.cjs +157 -0
  4. package/dist/blocks/ApplicationShellBlock.js +154 -0
  5. package/dist/blocks/CheckoutReviewBlock.cjs +16 -0
  6. package/dist/blocks/CheckoutReviewBlock.js +13 -0
  7. package/dist/blocks/CommandPaletteBlock.cjs +334 -0
  8. package/dist/blocks/CommandPaletteBlock.js +331 -0
  9. package/dist/blocks/CreateAccountBlock.cjs +147 -0
  10. package/dist/blocks/CreateAccountBlock.js +143 -0
  11. package/dist/blocks/EmptyStateBlock.cjs +19 -0
  12. package/dist/blocks/EmptyStateBlock.js +16 -0
  13. package/dist/blocks/FeatureOverviewBlock.cjs +54 -0
  14. package/dist/blocks/FeatureOverviewBlock.js +51 -0
  15. package/dist/blocks/HeaderBlock.cjs +230 -0
  16. package/dist/blocks/HeaderBlock.js +227 -0
  17. package/dist/blocks/KpiOverviewBlock.cjs +63 -0
  18. package/dist/blocks/KpiOverviewBlock.js +60 -0
  19. package/dist/blocks/LoginBlock.cjs +66 -0
  20. package/dist/blocks/LoginBlock.js +63 -0
  21. package/dist/blocks/NotificationsBlock.cjs +17 -0
  22. package/dist/blocks/NotificationsBlock.js +14 -0
  23. package/dist/blocks/PageHeaderBlock.cjs +121 -0
  24. package/dist/blocks/PageHeaderBlock.js +118 -0
  25. package/dist/blocks/PricingPlansBlock.cjs +146 -0
  26. package/dist/blocks/PricingPlansBlock.js +143 -0
  27. package/dist/blocks/ProductCollectionBlock.cjs +37 -0
  28. package/dist/blocks/ProductCollectionBlock.js +34 -0
  29. package/dist/blocks/ProductDetailBlock.cjs +30 -0
  30. package/dist/blocks/ProductDetailBlock.js +27 -0
  31. package/dist/blocks/ProductHeroBlock.cjs +83 -0
  32. package/dist/blocks/ProductHeroBlock.js +80 -0
  33. package/dist/blocks/ProfileSettingsBlock.cjs +130 -0
  34. package/dist/blocks/ProfileSettingsBlock.js +126 -0
  35. package/dist/blocks/QuickSendBlock.cjs +11 -0
  36. package/dist/blocks/QuickSendBlock.js +8 -0
  37. package/dist/blocks/RecentTransactionsBlock.cjs +13 -0
  38. package/dist/blocks/RecentTransactionsBlock.js +10 -0
  39. package/dist/blocks/SearchableTableBlock.cjs +91 -0
  40. package/dist/blocks/SearchableTableBlock.js +88 -0
  41. package/dist/blocks/ShoppingCartBlock.cjs +16 -0
  42. package/dist/blocks/ShoppingCartBlock.js +13 -0
  43. package/dist/blocks/SiteFooterBlock.cjs +69 -0
  44. package/dist/blocks/SiteFooterBlock.js +66 -0
  45. package/dist/blocks/TableBlock.cjs +20 -0
  46. package/dist/blocks/TableBlock.js +17 -0
  47. package/dist/blocks/TaskListBlock.cjs +198 -0
  48. package/dist/blocks/TaskListBlock.js +195 -0
  49. package/dist/blocks/WorkspaceSwitcherBlock.cjs +291 -0
  50. package/dist/blocks/WorkspaceSwitcherBlock.js +288 -0
  51. package/dist/blocks/commerce.cjs +44 -0
  52. package/dist/blocks/commerce.js +35 -0
  53. package/dist/blocks/index.cjs +53 -0
  54. package/dist/blocks/index.js +24 -0
  55. package/dist/blocks.d.cts +1820 -0
  56. package/dist/blocks.d.ts +1820 -0
  57. package/dist/chart.cjs +13 -0
  58. package/dist/chart.d.cts +59 -0
  59. package/dist/chart.d.ts +59 -0
  60. package/dist/chart.js +5 -0
  61. package/dist/components/Accordion/Accordion.cjs +94 -0
  62. package/dist/components/Accordion/Accordion.js +91 -0
  63. package/dist/components/Accordion/index.cjs +8 -0
  64. package/dist/components/Accordion/index.js +1 -0
  65. package/dist/components/ActivityFeed/ActivityContent.cjs +40 -0
  66. package/dist/components/ActivityFeed/ActivityContent.js +37 -0
  67. package/dist/components/ActivityFeed/ActivityItem.cjs +19 -0
  68. package/dist/components/ActivityFeed/ActivityItem.js +16 -0
  69. package/dist/components/ActivityFeed/index.cjs +7 -0
  70. package/dist/components/ActivityFeed/index.js +2 -0
  71. package/dist/components/Alert/Alert.cjs +42 -0
  72. package/dist/components/Alert/Alert.js +39 -0
  73. package/dist/components/Alert/index.cjs +5 -0
  74. package/dist/components/Alert/index.js +1 -0
  75. package/dist/components/Avatar/Avatar.cjs +101 -0
  76. package/dist/components/Avatar/Avatar.js +98 -0
  77. package/dist/components/Avatar/index.cjs +6 -0
  78. package/dist/components/Avatar/index.js +1 -0
  79. package/dist/components/Badge/Badge.cjs +53 -0
  80. package/dist/components/Badge/Badge.js +50 -0
  81. package/dist/components/Badge/index.cjs +5 -0
  82. package/dist/components/Badge/index.js +1 -0
  83. package/dist/components/Banner/Banner.cjs +83 -0
  84. package/dist/components/Banner/Banner.js +80 -0
  85. package/dist/components/Banner/index.cjs +5 -0
  86. package/dist/components/Banner/index.js +1 -0
  87. package/dist/components/Breadcrumb/Breadcrumb.cjs +31 -0
  88. package/dist/components/Breadcrumb/Breadcrumb.js +28 -0
  89. package/dist/components/Breadcrumb/index.cjs +5 -0
  90. package/dist/components/Breadcrumb/index.js +1 -0
  91. package/dist/components/Button/Button.cjs +88 -0
  92. package/dist/components/Button/Button.js +85 -0
  93. package/dist/components/Button/index.cjs +5 -0
  94. package/dist/components/Button/index.js +1 -0
  95. package/dist/components/ButtonGroup/ButtonGroup.cjs +8 -0
  96. package/dist/components/ButtonGroup/ButtonGroup.js +5 -0
  97. package/dist/components/ButtonGroup/ButtonGroupItem.cjs +15 -0
  98. package/dist/components/ButtonGroup/ButtonGroupItem.js +12 -0
  99. package/dist/components/ButtonGroup/index.cjs +7 -0
  100. package/dist/components/ButtonGroup/index.js +2 -0
  101. package/dist/components/Card/Card.cjs +94 -0
  102. package/dist/components/Card/Card.js +91 -0
  103. package/dist/components/Card/index.cjs +9 -0
  104. package/dist/components/Card/index.js +1 -0
  105. package/dist/components/Chart/Chart.cjs +160 -0
  106. package/dist/components/Chart/Chart.js +153 -0
  107. package/dist/components/Chart/index.cjs +10 -0
  108. package/dist/components/Chart/index.js +2 -0
  109. package/dist/components/Chart/theme.cjs +67 -0
  110. package/dist/components/Chart/theme.js +62 -0
  111. package/dist/components/Chip/Chip.cjs +18 -0
  112. package/dist/components/Chip/Chip.js +15 -0
  113. package/dist/components/Chip/index.cjs +5 -0
  114. package/dist/components/Chip/index.js +1 -0
  115. package/dist/components/Counter/Counter.cjs +74 -0
  116. package/dist/components/Counter/Counter.js +71 -0
  117. package/dist/components/Counter/index.cjs +6 -0
  118. package/dist/components/Counter/index.js +1 -0
  119. package/dist/components/DatePicker/DatePicker.cjs +343 -0
  120. package/dist/components/DatePicker/DatePicker.js +340 -0
  121. package/dist/components/DatePicker/index.cjs +5 -0
  122. package/dist/components/DatePicker/index.js +1 -0
  123. package/dist/components/Divider/Divider.cjs +31 -0
  124. package/dist/components/Divider/Divider.js +28 -0
  125. package/dist/components/Divider/index.cjs +5 -0
  126. package/dist/components/Divider/index.js +1 -0
  127. package/dist/components/DropdownMenu/DropdownMenu.cjs +108 -0
  128. package/dist/components/DropdownMenu/DropdownMenu.js +105 -0
  129. package/dist/components/DropdownMenu/index.cjs +11 -0
  130. package/dist/components/DropdownMenu/index.js +1 -0
  131. package/dist/components/EmptyStateIllustration/EmptyStateIllustration.cjs +42 -0
  132. package/dist/components/EmptyStateIllustration/EmptyStateIllustration.js +39 -0
  133. package/dist/components/EmptyStateIllustration/illustrations.cjs +3322 -0
  134. package/dist/components/EmptyStateIllustration/illustrations.js +3319 -0
  135. package/dist/components/EmptyStateIllustration/index.cjs +7 -0
  136. package/dist/components/EmptyStateIllustration/index.js +2 -0
  137. package/dist/components/FileUpload/FileUpload.cjs +116 -0
  138. package/dist/components/FileUpload/FileUpload.js +113 -0
  139. package/dist/components/FileUpload/FileUploadDropZone.cjs +58 -0
  140. package/dist/components/FileUpload/FileUploadDropZone.js +55 -0
  141. package/dist/components/FileUpload/FileUploadIcons.cjs +55 -0
  142. package/dist/components/FileUpload/FileUploadIcons.js +50 -0
  143. package/dist/components/FileUpload/FileUploadItem.cjs +34 -0
  144. package/dist/components/FileUpload/FileUploadItem.js +31 -0
  145. package/dist/components/FileUpload/index.cjs +9 -0
  146. package/dist/components/FileUpload/index.js +3 -0
  147. package/dist/components/FormControl/Checkbox.cjs +27 -0
  148. package/dist/components/FormControl/Checkbox.js +24 -0
  149. package/dist/components/FormControl/Radio.cjs +15 -0
  150. package/dist/components/FormControl/Radio.js +12 -0
  151. package/dist/components/FormControl/Toggle.cjs +15 -0
  152. package/dist/components/FormControl/Toggle.js +12 -0
  153. package/dist/components/FormControl/index.cjs +9 -0
  154. package/dist/components/FormControl/index.js +3 -0
  155. package/dist/components/Icon/Icon.cjs +70 -0
  156. package/dist/components/Icon/Icon.js +34 -0
  157. package/dist/components/Icon/catalog.cjs +1672 -0
  158. package/dist/components/Icon/catalog.js +1669 -0
  159. package/dist/components/Icon/icons.cjs +5621 -0
  160. package/dist/components/Icon/icons.js +5610 -0
  161. package/dist/components/Icon/index.cjs +8 -0
  162. package/dist/components/Icon/index.js +2 -0
  163. package/dist/components/Input/Input.cjs +64 -0
  164. package/dist/components/Input/Input.js +61 -0
  165. package/dist/components/Input/index.cjs +5 -0
  166. package/dist/components/Input/index.js +1 -0
  167. package/dist/components/MetricsCard/MetricsCard.cjs +107 -0
  168. package/dist/components/MetricsCard/MetricsCard.js +104 -0
  169. package/dist/components/MetricsCard/index.cjs +5 -0
  170. package/dist/components/MetricsCard/index.js +1 -0
  171. package/dist/components/Modal/Modal.cjs +126 -0
  172. package/dist/components/Modal/Modal.js +123 -0
  173. package/dist/components/Modal/index.cjs +5 -0
  174. package/dist/components/Modal/index.js +1 -0
  175. package/dist/components/Pagination/Pagination.cjs +42 -0
  176. package/dist/components/Pagination/Pagination.js +39 -0
  177. package/dist/components/Pagination/index.cjs +5 -0
  178. package/dist/components/Pagination/index.js +1 -0
  179. package/dist/components/ProgressBar/ProgressBar.cjs +34 -0
  180. package/dist/components/ProgressBar/ProgressBar.js +31 -0
  181. package/dist/components/ProgressBar/index.cjs +5 -0
  182. package/dist/components/ProgressBar/index.js +1 -0
  183. package/dist/components/ProgressCircle/ProgressCircle.cjs +34 -0
  184. package/dist/components/ProgressCircle/ProgressCircle.js +31 -0
  185. package/dist/components/ProgressCircle/index.cjs +5 -0
  186. package/dist/components/ProgressCircle/index.js +1 -0
  187. package/dist/components/Select/Select.cjs +84 -0
  188. package/dist/components/Select/Select.js +80 -0
  189. package/dist/components/Select/SelectOption.cjs +26 -0
  190. package/dist/components/Select/SelectOption.js +23 -0
  191. package/dist/components/Select/index.cjs +7 -0
  192. package/dist/components/Select/index.js +2 -0
  193. package/dist/components/SidebarMenu/SidebarMenu.cjs +85 -0
  194. package/dist/components/SidebarMenu/SidebarMenu.js +81 -0
  195. package/dist/components/SidebarMenu/SidebarMenuItem.cjs +126 -0
  196. package/dist/components/SidebarMenu/SidebarMenuItem.js +122 -0
  197. package/dist/components/SidebarMenu/SidebarMenuSection.cjs +14 -0
  198. package/dist/components/SidebarMenu/SidebarMenuSection.js +11 -0
  199. package/dist/components/SidebarMenu/index.cjs +12 -0
  200. package/dist/components/SidebarMenu/index.js +4 -0
  201. package/dist/components/Slider/Slider.cjs +161 -0
  202. package/dist/components/Slider/Slider.js +158 -0
  203. package/dist/components/Slider/index.cjs +6 -0
  204. package/dist/components/Slider/index.js +1 -0
  205. package/dist/components/Spinner/Spinner.cjs +93 -0
  206. package/dist/components/Spinner/Spinner.js +90 -0
  207. package/dist/components/Spinner/index.cjs +5 -0
  208. package/dist/components/Spinner/index.js +1 -0
  209. package/dist/components/Stepper/Stepper.cjs +82 -0
  210. package/dist/components/Stepper/Stepper.js +79 -0
  211. package/dist/components/Stepper/index.cjs +7 -0
  212. package/dist/components/Stepper/index.js +1 -0
  213. package/dist/components/Table/Table.cjs +25 -0
  214. package/dist/components/Table/Table.js +22 -0
  215. package/dist/components/Table/index.cjs +10 -0
  216. package/dist/components/Table/index.js +1 -0
  217. package/dist/components/Table/useTableSelection.cjs +60 -0
  218. package/dist/components/Table/useTableSelection.js +57 -0
  219. package/dist/components/Tabs/Tab.cjs +70 -0
  220. package/dist/components/Tabs/Tab.js +67 -0
  221. package/dist/components/Tabs/Tabs.cjs +133 -0
  222. package/dist/components/Tabs/Tabs.js +129 -0
  223. package/dist/components/Tabs/index.cjs +7 -0
  224. package/dist/components/Tabs/index.js +2 -0
  225. package/dist/components/Tooltip/Tooltip.cjs +101 -0
  226. package/dist/components/Tooltip/Tooltip.js +98 -0
  227. package/dist/components/Tooltip/index.cjs +5 -0
  228. package/dist/components/Tooltip/index.js +1 -0
  229. package/dist/context/ThemeContext.cjs +97 -0
  230. package/dist/context/ThemeContext.js +92 -0
  231. package/dist/fonts/README.md +13 -0
  232. package/dist/fonts/hanken-grotesk-cyrillic-ext-italic.woff2 +0 -0
  233. package/dist/fonts/hanken-grotesk-cyrillic-ext-normal.woff2 +0 -0
  234. package/dist/fonts/hanken-grotesk-latin-ext-italic.woff2 +0 -0
  235. package/dist/fonts/hanken-grotesk-latin-ext-normal.woff2 +0 -0
  236. package/dist/fonts/hanken-grotesk-latin-italic.woff2 +0 -0
  237. package/dist/fonts/hanken-grotesk-latin-normal.woff2 +0 -0
  238. package/dist/fonts/hanken-grotesk-vietnamese-italic.woff2 +0 -0
  239. package/dist/fonts/hanken-grotesk-vietnamese-normal.woff2 +0 -0
  240. package/dist/fonts/hankengrotesk-LICENSE.txt +94 -0
  241. package/dist/fonts/manrope-LICENSE.txt +93 -0
  242. package/dist/fonts/manrope-cyrillic-ext-normal.woff2 +0 -0
  243. package/dist/fonts/manrope-cyrillic-normal.woff2 +0 -0
  244. package/dist/fonts/manrope-greek-normal.woff2 +0 -0
  245. package/dist/fonts/manrope-latin-ext-normal.woff2 +0 -0
  246. package/dist/fonts/manrope-latin-normal.woff2 +0 -0
  247. package/dist/fonts/manrope-vietnamese-normal.woff2 +0 -0
  248. package/dist/fonts.css +148 -0
  249. package/dist/hooks/form/index.cjs +11 -0
  250. package/dist/hooks/form/index.js +3 -0
  251. package/dist/hooks/form/useRaydenFormControl.cjs +81 -0
  252. package/dist/hooks/form/useRaydenFormControl.js +76 -0
  253. package/dist/hooks/form/useRaydenInput.cjs +38 -0
  254. package/dist/hooks/form/useRaydenInput.js +35 -0
  255. package/dist/hooks/form/useRaydenSelect.cjs +45 -0
  256. package/dist/hooks/form/useRaydenSelect.js +42 -0
  257. package/dist/hooks/index.cjs +17 -0
  258. package/dist/hooks/index.js +1 -0
  259. package/dist/hooks/useBodyScrollLock.cjs +24 -0
  260. package/dist/hooks/useBodyScrollLock.js +21 -0
  261. package/dist/hooks/useCollisionAwareSide.cjs +72 -0
  262. package/dist/hooks/useCollisionAwareSide.js +69 -0
  263. package/dist/hooks/useControllableValue.cjs +16 -0
  264. package/dist/hooks/useControllableValue.js +13 -0
  265. package/dist/hooks/useDismissableLayer.cjs +100 -0
  266. package/dist/hooks/useDismissableLayer.js +97 -0
  267. package/dist/hooks/usePopupList.cjs +101 -0
  268. package/dist/hooks/usePopupList.js +98 -0
  269. package/dist/icons-8yD7I5jO.d.cts +430 -0
  270. package/dist/icons-8yD7I5jO.d.ts +430 -0
  271. package/dist/icons.cjs +2111 -418
  272. package/dist/icons.d.cts +1256 -429
  273. package/dist/icons.d.ts +1256 -429
  274. package/dist/icons.js +2089 -1
  275. package/dist/index.cjs +128 -15034
  276. package/dist/index.d.cts +698 -661
  277. package/dist/index.d.ts +698 -661
  278. package/dist/index.js +43 -14950
  279. package/dist/motion/Collapse.cjs +28 -0
  280. package/dist/motion/Collapse.js +25 -0
  281. package/dist/motion/MotionProvider.cjs +43 -0
  282. package/dist/motion/MotionProvider.js +38 -0
  283. package/dist/motion/Pressable.cjs +46 -0
  284. package/dist/motion/Pressable.js +43 -0
  285. package/dist/motion/Reveal.cjs +19 -0
  286. package/dist/motion/Reveal.js +16 -0
  287. package/dist/motion/SharedLayout.cjs +46 -0
  288. package/dist/motion/SharedLayout.js +43 -0
  289. package/dist/motion/index.cjs +19 -0
  290. package/dist/motion/index.js +6 -0
  291. package/dist/motion/presence.cjs +58 -0
  292. package/dist/motion/presence.js +55 -0
  293. package/dist/motion/presets.cjs +88 -0
  294. package/dist/motion/presets.js +84 -0
  295. package/dist/motion.d.cts +51 -0
  296. package/dist/motion.d.ts +51 -0
  297. package/dist/preset.cjs +356 -195
  298. package/dist/preset.d.cts +111 -32
  299. package/dist/preset.d.ts +111 -32
  300. package/dist/preset.js +353 -187
  301. package/dist/presets-Ba5QndHg.d.cts +144 -0
  302. package/dist/presets-Ba5QndHg.d.ts +144 -0
  303. package/dist/styles.css +1 -1
  304. package/dist/utils/cn.cjs +38 -0
  305. package/dist/utils/cn.js +35 -0
  306. package/dist/utils/resolveIcon.cjs +18 -0
  307. package/dist/utils/resolveIcon.js +15 -0
  308. package/package.json +79 -21
package/dist/index.d.ts CHANGED
@@ -1,11 +1,16 @@
1
1
  import * as react from 'react';
2
- import { SVGAttributes, HTMLAttributes, ReactNode, ButtonHTMLAttributes, InputHTMLAttributes, ImgHTMLAttributes, TdHTMLAttributes, ThHTMLAttributes } from 'react';
3
- import { IconVariant, IconName, IconRecord } from './icons.js';
2
+ import { ReactNode, SVGAttributes, HTMLAttributes, ButtonHTMLAttributes, AnchorHTMLAttributes, ImgHTMLAttributes, InputHTMLAttributes, ReactElement, RefObject } from 'react';
3
+ import { I as IconName, a as IconRecord, b as IconVariant } from './icons-8yD7I5jO.js';
4
4
  import * as react_jsx_runtime from 'react/jsx-runtime';
5
- import { ChartData, ChartOptions } from 'chart.js';
5
+ import { I as IllustrationName } from './Table-DCNSxua1.js';
6
+ export { S as SortDirection, T as Table, a as TableBody, b as TableBodyProps, c as TableCell, d as TableCellProps, e as TableHead, f as TableHeadProps, g as TableHeader, h as TableHeaderProps, i as TableProps, j as TableRow, k as TableRowProps, l as illustrationNames } from './Table-DCNSxua1.js';
7
+ export { iconCatalog, iconNames } from './icons.js';
8
+ import { a as MotionOption } from './presets-Ba5QndHg.js';
6
9
  import { ClassValue } from 'clsx';
7
10
  import { FieldValues, FieldPath, UseFormReturn, UseFormRegisterReturn } from 'react-hook-form';
8
11
 
12
+ /** Shared icon-slot contract: registry name, static SVG data, or a custom React node. */
13
+ type IconSource = IconName | IconRecord | ReactNode;
9
14
  type IconSize = "xs" | "sm" | "md" | "lg" | "xl";
10
15
  interface BaseIconProps extends Omit<SVGAttributes<SVGSVGElement>, "children"> {
11
16
  /** Preset size or pixel value. @default "md" */
@@ -49,7 +54,7 @@ interface AccordionItemProps extends HTMLAttributes<HTMLDivElement> {
49
54
  }
50
55
  interface AccordionTriggerProps extends HTMLAttributes<HTMLButtonElement> {
51
56
  /** Leading icon (left side) */
52
- leadingIcon?: ReactNode | IconName;
57
+ leadingIcon?: IconSource;
53
58
  /** Leading number badge */
54
59
  leadingNumber?: string;
55
60
  /** Leading logo element */
@@ -66,17 +71,224 @@ declare const AccordionItem: react.ForwardRefExoticComponent<AccordionItemProps
66
71
  declare const AccordionTrigger: react.ForwardRefExoticComponent<AccordionTriggerProps & react.RefAttributes<HTMLButtonElement>>;
67
72
  declare const AccordionContent: react.ForwardRefExoticComponent<AccordionContentProps & react.RefAttributes<HTMLDivElement>>;
68
73
 
74
+ interface ActivityItemLink {
75
+ label: string;
76
+ href?: string;
77
+ onClick?: () => void;
78
+ }
79
+ interface ActivityItemProps extends HTMLAttributes<HTMLDivElement> {
80
+ /** Avatar element (e.g., <Avatar />) */
81
+ avatar: ReactNode;
82
+ /** Primary text content — mixed inline content with bold names, action text, highlights */
83
+ text: ReactNode;
84
+ /** Whether this item is unread (shows green dot) */
85
+ unread?: boolean;
86
+ /** Date label (e.g., "Thurs 21, 2023") */
87
+ date?: string;
88
+ /** Time label (e.g., "10 mins") — right-aligned */
89
+ time?: string;
90
+ /** Optional link button in meta row */
91
+ link?: ActivityItemLink;
92
+ /** Optional badge text in meta row (e.g., "#Marketing-Design") */
93
+ badge?: string;
94
+ /** Connector line position for timeline layouts */
95
+ connector?: "top" | "middle" | "last";
96
+ /** Optional content block (e.g., ActivityContent) */
97
+ children?: ReactNode;
98
+ }
99
+ declare const ActivityItem: react.ForwardRefExoticComponent<ActivityItemProps & react.RefAttributes<HTMLDivElement>>;
100
+
101
+ type ActivityContentVariant = "file" | "comment" | "cta";
102
+ type ActivityContentStyle = "plain" | "card" | "container";
103
+ interface ActivityContentAttachment {
104
+ name: string;
105
+ extension: string;
106
+ }
107
+ interface ActivityContentAction {
108
+ label: string;
109
+ onClick?: () => void;
110
+ }
111
+ interface ActivityContentProps extends HTMLAttributes<HTMLDivElement> {
112
+ /** Content variant */
113
+ variant: ActivityContentVariant;
114
+ /** Visual style wrapper */
115
+ contentStyle?: ActivityContentStyle;
116
+ /** Leading icon for file variant */
117
+ icon?: IconSource;
118
+ /** File name */
119
+ title?: string;
120
+ /** File size (e.g., "13MB") */
121
+ size?: string;
122
+ /** File type label (e.g., "PDF File") */
123
+ fileType?: string;
124
+ /** File date (e.g., "11 Sept 23") */
125
+ date?: string;
126
+ /** Avatar element for comment author */
127
+ avatar?: ReactNode;
128
+ /** Author name */
129
+ author?: string;
130
+ /** Timestamp (e.g., "2 hours ago") */
131
+ timestamp?: string;
132
+ /** Comment body text */
133
+ comment?: string;
134
+ /** File attachments */
135
+ attachments?: ActivityContentAttachment[];
136
+ /** Number of reactions */
137
+ reactions?: number;
138
+ /** Number of replies */
139
+ replies?: number;
140
+ /** Reply button callback */
141
+ onReply?: () => void;
142
+ /** Primary action (e.g., Accept) */
143
+ primaryAction?: ActivityContentAction;
144
+ /** Secondary action (e.g., Decline) */
145
+ secondaryAction?: ActivityContentAction;
146
+ }
147
+ declare const ActivityContent: react.ForwardRefExoticComponent<ActivityContentProps & react.RefAttributes<HTMLDivElement>>;
148
+
149
+ type AlertVariant = "toast" | "banner";
150
+ type AlertState = "information" | "success" | "warning" | "error";
151
+ interface AlertAction {
152
+ label: string;
153
+ onClick: () => void;
154
+ }
155
+ interface AlertProps extends HTMLAttributes<HTMLDivElement> {
156
+ variant?: AlertVariant;
157
+ state?: AlertState;
158
+ title?: string;
159
+ description?: string;
160
+ icon?: IconSource;
161
+ showIcon?: boolean;
162
+ onClose?: () => void;
163
+ primaryAction?: AlertAction;
164
+ secondaryAction?: AlertAction;
165
+ }
166
+ declare function Alert({ variant, state, title, description, icon, showIcon, onClose, primaryAction, secondaryAction, className, ...rest }: AlertProps): react_jsx_runtime.JSX.Element;
167
+
168
+ type AvatarType = "image" | "icon" | "initials";
169
+ type AvatarSize = "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
170
+ type AvatarStatus = "none" | "online" | "offline" | "verified";
171
+ interface AvatarProps extends HTMLAttributes<HTMLDivElement> {
172
+ /** Visual type of the avatar. @default "image" */
173
+ type?: AvatarType;
174
+ /** Size preset. @default "md" */
175
+ size?: AvatarSize;
176
+ /** Status indicator shown at bottom-right. @default "none" */
177
+ status?: AvatarStatus;
178
+ /**
179
+ * Text announced for the status dot or verified badge. Defaults to the status
180
+ * name; pass an empty string when the status is purely decorative.
181
+ */
182
+ statusLabel?: string;
183
+ /** Image URL (for type="image"). */
184
+ src?: string;
185
+ /** Alt text (for type="image"). */
186
+ alt?: string;
187
+ /** Initials text (for type="initials"). */
188
+ initials?: string;
189
+ /** Custom icon (for type="icon"). Accepts a registry name, static IconRecord, or ReactNode. @default "user" */
190
+ icon?: IconSource;
191
+ }
192
+ declare const Avatar: react.ForwardRefExoticComponent<AvatarProps & react.RefAttributes<HTMLDivElement>>;
193
+ type AvatarGroupSize = "sm" | "md" | "lg";
194
+ interface AvatarGroupProps extends HTMLAttributes<HTMLDivElement> {
195
+ /** Controls the size of avatars in the group. @default "md" */
196
+ size?: AvatarGroupSize;
197
+ /** Maximum visible avatars. Overflow shows a "+N" counter. */
198
+ max?: number;
199
+ }
200
+ declare const AvatarGroup: react.ForwardRefExoticComponent<AvatarGroupProps & react.RefAttributes<HTMLDivElement>>;
201
+
202
+ type BadgeColor = "orange" | "blue" | "success" | "warning" | "error" | "neutral" | "disabled";
203
+ type BadgeType = "filled" | "accent" | "outline";
204
+ type BadgeSize = "sm" | "md" | "lg";
205
+ interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
206
+ color?: BadgeColor;
207
+ type?: BadgeType;
208
+ size?: BadgeSize;
209
+ leadingIcon?: IconSource;
210
+ trailingIcon?: IconSource;
211
+ }
212
+ declare function Badge({ color, type, size, leadingIcon, trailingIcon, className, children, ...rest }: BadgeProps): react_jsx_runtime.JSX.Element;
213
+
214
+ type BannerStatus = "information" | "success" | "error" | "warning" | "feature" | "opportunity";
215
+ type BannerEmphasis = "bold" | "subtle";
216
+ type BannerSize = "sm" | "lg";
217
+ interface BannerProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
218
+ /** Status determines the color scheme */
219
+ status?: BannerStatus;
220
+ /** Bold uses a solid background with white text; subtle uses a light tinted background */
221
+ emphasis?: BannerEmphasis;
222
+ /** sm (40px) or lg (48px) */
223
+ size?: BannerSize;
224
+ /** Headline text */
225
+ title: string;
226
+ /** Optional description text */
227
+ description?: string;
228
+ /** Optional leading icon */
229
+ icon?: IconSource;
230
+ /** Optional action button label */
231
+ buttonLabel?: string;
232
+ /** Called when the action button is clicked */
233
+ onButtonClick?: () => void;
234
+ /** Show the close button */
235
+ /**
236
+ * Show the dismiss control. Defaults to true only when `onDismiss` is supplied —
237
+ * a close button with no handler used to render and do nothing. Set it explicitly
238
+ * to force the control on or off.
239
+ */
240
+ dismissible?: boolean;
241
+ /** Called when the close button is clicked */
242
+ onDismiss?: () => void;
243
+ }
244
+ declare const Banner: react.ForwardRefExoticComponent<BannerProps & react.RefAttributes<HTMLDivElement>>;
245
+
246
+ type BreadcrumbSeparator = "chevron" | "double-chevron" | "slash";
247
+ interface BreadcrumbItem {
248
+ /** Display label (use "..." for truncated items) */
249
+ label: string;
250
+ href?: string;
251
+ icon?: IconSource;
252
+ disabled?: boolean;
253
+ active?: boolean;
254
+ }
255
+ interface BreadcrumbProps extends HTMLAttributes<HTMLElement> {
256
+ items: BreadcrumbItem[];
257
+ /** Separator style between items */
258
+ separator?: BreadcrumbSeparator;
259
+ /** Show top and bottom borders */
260
+ hasBorders?: boolean;
261
+ }
262
+ declare function Breadcrumb({ items, separator, hasBorders, className, ...rest }: BreadcrumbProps): react_jsx_runtime.JSX.Element;
263
+
69
264
  type ButtonVariant = "primary" | "secondary" | "grey" | "destructive" | "text" | "success" | "warning" | "info";
70
265
  type ButtonAppearance = "solid" | "outlined";
71
266
  type ButtonSize = "sm" | "lg";
72
- interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement> {
267
+ /** Elements Button can render directly. `button` stays the default. */
268
+ type ButtonElement = "button" | "a";
269
+ interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>, Pick<AnchorHTMLAttributes<HTMLAnchorElement>, "href" | "target" | "rel" | "download" | "hrefLang" | "ping" | "referrerPolicy"> {
73
270
  variant?: ButtonVariant;
74
271
  appearance?: ButtonAppearance;
75
272
  size?: ButtonSize;
76
- icon?: ReactNode | IconName;
273
+ icon?: IconSource;
77
274
  iconPosition?: "none" | "leading" | "trailing" | "icon-only";
275
+ /**
276
+ * Element to render. `"button"` (default) is unchanged. `"a"` renders an anchor
277
+ * with the same styling, focus treatment and icon composition, so a destination
278
+ * that should look like a button no longer has to be hand-rolled.
279
+ *
280
+ * Ignored when `asChild` is set.
281
+ */
282
+ as?: ButtonElement;
283
+ /**
284
+ * Render the single child element instead of Button's own element, merging
285
+ * Button's className onto it. Use it for a router `Link` or any component that
286
+ * already renders the element you need. The child's own children become the
287
+ * label, so `icon` / `iconPosition` still apply around them.
288
+ */
289
+ asChild?: boolean;
78
290
  }
79
- declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement>>;
291
+ declare const Button: react.ForwardRefExoticComponent<ButtonProps & react.RefAttributes<HTMLButtonElement | HTMLAnchorElement>>;
80
292
 
81
293
  interface ButtonGroupProps {
82
294
  children: ReactNode;
@@ -85,107 +297,74 @@ interface ButtonGroupProps {
85
297
  declare function ButtonGroup({ children, className }: ButtonGroupProps): react_jsx_runtime.JSX.Element;
86
298
 
87
299
  interface ButtonGroupItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {
88
- leadingIcon?: ReactNode | IconName;
89
- trailingIcon?: ReactNode | IconName;
300
+ leadingIcon?: IconSource;
301
+ trailingIcon?: IconSource;
302
+ /** Selected state. Exposed as aria-pressed so it is not colour-only. */
90
303
  active?: boolean;
91
304
  }
92
305
  declare const ButtonGroupItem: react.ForwardRefExoticComponent<ButtonGroupItemProps & react.RefAttributes<HTMLButtonElement>>;
93
306
 
94
- type InputSize = "xs" | "sm" | "md" | "lg";
95
- interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "size"> {
96
- /** Input size variant */
97
- size?: InputSize;
98
- /** Label text above the input */
99
- label?: string;
100
- /** Helper text below the input */
101
- helperText?: string;
102
- /** Error message or boolean. Overrides helperText styling. */
103
- error?: string | boolean;
104
- /** Success message or boolean. Overrides helperText styling. */
105
- success?: string | boolean;
106
- /** Icon on the left side of the input */
107
- leadingIcon?: ReactNode | IconName;
108
- /** Icon on the right side of the input */
109
- trailingIcon?: ReactNode | IconName;
110
- /** Text addon on the right side */
111
- addonRight?: string;
112
- /** Leading addon element (e.g. dropdown, button). Renders as a separated section before the input. */
113
- leadingAddon?: ReactNode;
114
- /** Trailing addon element (e.g. button). Renders as a separated section after the input. */
115
- trailingAddon?: ReactNode;
116
- /** Wrapper className */
117
- wrapperClassName?: string;
307
+ type CardVariant = "default" | "outlined" | "elevated" | "ghost";
308
+ type CardSize = "sm" | "md" | "lg";
309
+ type CardRounded = "sm" | "md" | "lg" | "xl" | "full";
310
+ type CardShadow = "none" | "sm" | "md" | "lg";
311
+ type CardImagePosition = "top" | "bottom" | "full";
312
+ interface CardProps extends HTMLAttributes<HTMLDivElement> {
313
+ /** Visual style variant */
314
+ variant?: CardVariant;
315
+ /** Padding scale for sub-components */
316
+ size?: CardSize;
317
+ /** Corner radius */
318
+ rounded?: CardRounded;
319
+ /** Shadow intensity */
320
+ shadow?: CardShadow;
321
+ /** Enable hover shadow effect */
322
+ hoverable?: boolean;
118
323
  }
119
- declare const Input: react.ForwardRefExoticComponent<InputProps & react.RefAttributes<HTMLInputElement>>;
120
-
121
- type TabsVariant = "line" | "pill" | "segmented";
122
- type TabsSize = "sm" | "md" | "lg";
123
- type TabsOrientation = "horizontal" | "vertical";
124
- interface TabsProps {
125
- variant?: TabsVariant;
126
- size?: TabsSize;
127
- orientation?: TabsOrientation;
128
- value?: string;
129
- defaultValue?: string;
130
- onValueChange?: (value: string) => void;
131
- children: ReactNode;
132
- className?: string;
324
+ interface CardHeaderProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
325
+ /** Header title */
326
+ title?: ReactNode;
327
+ /** Header subtitle */
328
+ subtitle?: ReactNode;
329
+ /** Actions slot (right side) */
330
+ actions?: ReactNode;
331
+ /** Show bottom border */
332
+ bordered?: boolean;
133
333
  }
134
- declare function Tabs({ variant, size, orientation, value, defaultValue, onValueChange, children, className, }: TabsProps): react_jsx_runtime.JSX.Element;
135
-
136
- interface TabProps {
137
- value: string;
138
- icon?: ReactNode | IconName;
139
- badge?: number | string;
140
- disabled?: boolean;
141
- children: ReactNode;
142
- className?: string;
334
+ interface CardBodyProps extends HTMLAttributes<HTMLDivElement> {
335
+ /** Remove default padding */
336
+ noPadding?: boolean;
143
337
  }
144
- declare function Tab({ value, icon, badge, disabled, children, className }: TabProps): react_jsx_runtime.JSX.Element;
145
-
146
- /**
147
- * Rayna UI chart theme — color palette and defaults for Chart.js components.
148
- */
149
- declare const chartColors: {
150
- readonly primary: readonly ["#F56630", "#FA9874", "#FCB59A", "#FCD2C2", "#FFECE5"];
151
- readonly semantic: readonly ["#F56630", "#0F973D", "#1671D9", "#F3A218", "#D42620", "#0BA5EC"];
152
- readonly extended: readonly ["#F56630", "#0F973D", "#1671D9", "#F3A218", "#D42620", "#0BA5EC", "#475CCC", "#8D8484", "#F77A4A", "#40B869"];
153
- readonly grey: {
154
- readonly 50: "#F9FAFB";
155
- readonly 100: "#F0F2F5";
156
- readonly 200: "#E4E7EC";
157
- readonly 300: "#D0D5DD";
158
- readonly 400: "#98A2B3";
159
- readonly 500: "#667185";
160
- readonly 700: "#344054";
161
- readonly 900: "#101928";
162
- };
163
- };
164
- /** Default font for Chart.js */
165
- declare const chartFont: {
166
- family: string;
167
- size: number;
168
- weight: "normal";
169
- };
170
- /** Create an rgba version of a hex color */
171
- declare function hexToRgba(hex: string, alpha: number): string;
172
- /** Generate a gradient fill for area charts */
173
- declare function createGradientFill(ctx: CanvasRenderingContext2D, color: string, height: number): CanvasGradient;
338
+ interface CardFooterProps extends HTMLAttributes<HTMLDivElement> {
339
+ /** Footer content alignment */
340
+ align?: "left" | "center" | "right" | "between";
341
+ /** Show top border */
342
+ bordered?: boolean;
343
+ }
344
+ interface CardImageProps extends ImgHTMLAttributes<HTMLImageElement> {
345
+ /** Image position relative to card content */
346
+ position?: CardImagePosition;
347
+ /** Aspect ratio */
348
+ aspectRatio?: "auto" | "video" | "square" | "portrait";
349
+ /** Object fit behavior */
350
+ objectFit?: "cover" | "contain" | "fill";
351
+ /** Alt text (required for accessibility) */
352
+ alt: string;
353
+ }
354
+ declare const Card: react.ForwardRefExoticComponent<CardProps & react.RefAttributes<HTMLDivElement>>;
355
+ declare const CardHeader: react.ForwardRefExoticComponent<CardHeaderProps & react.RefAttributes<HTMLDivElement>>;
356
+ declare const CardBody: react.ForwardRefExoticComponent<CardBodyProps & react.RefAttributes<HTMLDivElement>>;
357
+ declare const CardFooter: react.ForwardRefExoticComponent<CardFooterProps & react.RefAttributes<HTMLDivElement>>;
358
+ declare const CardImage: react.ForwardRefExoticComponent<CardImageProps & react.RefAttributes<HTMLImageElement>>;
174
359
 
175
- type ChartType = "line" | "bar" | "pie" | "doughnut" | "radar" | "scatter" | "bubble" | "polar-area";
176
- interface RaydenChartProps extends HTMLAttributes<HTMLDivElement> {
177
- /** Chart type */
178
- type: ChartType;
179
- /** Chart.js data object */
180
- data: ChartData<any>;
181
- /** Chart.js options (merged with Rayna defaults) */
182
- options?: ChartOptions<any>;
183
- /** Chart height */
184
- height?: number;
185
- /** Chart width */
186
- width?: number;
187
- }
188
- declare const RaydenChart: react.ForwardRefExoticComponent<RaydenChartProps & react.RefAttributes<HTMLDivElement>>;
360
+ interface ChipProps extends HTMLAttributes<HTMLDivElement> {
361
+ variant?: "input" | "filter";
362
+ icon?: IconSource;
363
+ disabled?: boolean;
364
+ onClose?: () => void;
365
+ onDropdown?: () => void;
366
+ }
367
+ declare const Chip: react.ForwardRefExoticComponent<ChipProps & react.RefAttributes<HTMLDivElement>>;
189
368
 
190
369
  type CounterSize = "sm" | "md" | "lg";
191
370
  type CounterShape = "rounded" | "block" | "pill";
@@ -223,13 +402,16 @@ declare const Counter: react.ForwardRefExoticComponent<CounterProps & react.RefA
223
402
  declare const NumberCounter: react.ForwardRefExoticComponent<NumberCounterProps & react.RefAttributes<HTMLDivElement>>;
224
403
 
225
404
  type DatePickerMode = "single" | "range" | "year";
226
- interface DatePickerProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
405
+ interface DatePickerProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange" | "defaultValue"> {
227
406
  /** Picker mode */
228
407
  mode?: DatePickerMode;
229
408
  /** Selected date (single/year mode) */
230
409
  value?: Date | null;
410
+ /** Initial date for uncontrolled usage. */
411
+ defaultValue?: Date | null;
231
412
  /** Selected range (range mode) */
232
413
  rangeValue?: [Date | null, Date | null];
414
+ defaultRangeValue?: [Date | null, Date | null];
233
415
  /** Called when a single date is selected */
234
416
  onChange?: (date: Date | null) => void;
235
417
  /** Called when a date range is selected */
@@ -247,338 +429,76 @@ interface DatePickerProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange
247
429
  }
248
430
  declare const DatePicker: react.ForwardRefExoticComponent<DatePickerProps & react.RefAttributes<HTMLDivElement>>;
249
431
 
250
- interface ChipProps extends HTMLAttributes<HTMLDivElement> {
251
- variant?: "input" | "filter";
252
- icon?: ReactNode | IconName;
253
- disabled?: boolean;
254
- onClose?: () => void;
255
- onDropdown?: () => void;
256
- }
257
- declare const Chip: react.ForwardRefExoticComponent<ChipProps & react.RefAttributes<HTMLDivElement>>;
258
-
259
- type ProgressBarSize = "sm" | "md" | "lg";
260
- type ProgressBarType = "basic" | "segmented";
261
- interface ProgressBarProps extends HTMLAttributes<HTMLDivElement> {
262
- /** Progress value from 0 to 100 */
263
- value?: number;
264
- /** Bar height: sm (4px), md (8px), lg (12px) */
265
- size?: ProgressBarSize;
266
- /** Bar type: basic (continuous) or segmented (10 discrete bars) */
267
- type?: ProgressBarType;
268
- /** Label text above the bar */
269
- label?: string;
270
- /** Metadata text(s) below the bar. Pass an array for dot-separated items. */
271
- metadata?: string | string[];
272
- /** Show percentage text */
273
- showPercentage?: boolean;
274
- /** Position of the percentage text */
275
- percentagePosition?: "top" | "bottom";
276
- }
277
- declare function ProgressBar({ value, size, type, label, metadata, showPercentage, percentagePosition, className, ...rest }: ProgressBarProps): react_jsx_runtime.JSX.Element;
278
-
279
- type ProgressCircleSize = "xs" | "sm" | "md" | "lg" | "xl";
280
- type ProgressCircleStyle = "default" | "segmented";
281
- interface ProgressCircleProps extends HTMLAttributes<HTMLDivElement> {
282
- /** Progress value from 0 to 100 */
283
- value?: number;
284
- /** Circle size */
285
- size?: ProgressCircleSize;
286
- /** Visual style: default (continuous) or segmented (dashed) */
287
- variant?: ProgressCircleStyle;
288
- /** Show percentage text in the center */
289
- showText?: boolean;
290
- }
291
- declare function ProgressCircle({ value, size, variant, showText, className, ...rest }: ProgressCircleProps): react_jsx_runtime.JSX.Element;
292
-
293
- type BannerStatus = "information" | "success" | "error" | "warning" | "feature" | "opportunity";
294
- type BannerEmphasis = "bold" | "subtle";
295
- type BannerSize = "sm" | "lg";
296
- interface BannerProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
297
- /** Status determines the color scheme */
298
- status?: BannerStatus;
299
- /** Bold uses a solid background with white text; subtle uses a light tinted background */
300
- emphasis?: BannerEmphasis;
301
- /** sm (40px) or lg (48px) */
302
- size?: BannerSize;
303
- /** Headline text */
304
- title: string;
305
- /** Optional description text */
306
- description?: string;
307
- /** Optional leading icon */
308
- icon?: ReactNode | IconName;
309
- /** Optional action button label */
310
- buttonLabel?: string;
311
- /** Called when the action button is clicked */
312
- onButtonClick?: () => void;
313
- /** Show the close button */
314
- dismissible?: boolean;
315
- /** Called when the close button is clicked */
316
- onDismiss?: () => void;
317
- }
318
- declare const Banner: react.ForwardRefExoticComponent<BannerProps & react.RefAttributes<HTMLDivElement>>;
319
-
320
- type BadgeColor = "orange" | "blue" | "success" | "warning" | "error" | "neutral" | "disabled";
321
- type BadgeType = "filled" | "accent" | "outline";
322
- type BadgeSize = "sm" | "md" | "lg";
323
- interface BadgeProps extends HTMLAttributes<HTMLSpanElement> {
324
- color?: BadgeColor;
325
- type?: BadgeType;
326
- size?: BadgeSize;
327
- leadingIcon?: ReactNode | IconName;
328
- trailingIcon?: ReactNode | IconName;
329
- }
330
- declare function Badge({ color, type, size, leadingIcon, trailingIcon, className, children, ...rest }: BadgeProps): react_jsx_runtime.JSX.Element;
331
-
332
- type CardVariant = "default" | "outlined" | "elevated" | "ghost";
333
- type CardSize = "sm" | "md" | "lg";
334
- type CardRounded = "sm" | "md" | "lg" | "xl" | "full";
335
- type CardShadow = "none" | "sm" | "md" | "lg";
336
- type CardImagePosition = "top" | "bottom" | "full";
337
- interface CardProps extends HTMLAttributes<HTMLDivElement> {
338
- /** Visual style variant */
339
- variant?: CardVariant;
340
- /** Padding scale for sub-components */
341
- size?: CardSize;
342
- /** Corner radius */
343
- rounded?: CardRounded;
344
- /** Shadow intensity */
345
- shadow?: CardShadow;
346
- /** Enable hover shadow effect */
347
- hoverable?: boolean;
348
- }
349
- interface CardHeaderProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
350
- /** Header title */
351
- title?: ReactNode;
352
- /** Header subtitle */
353
- subtitle?: ReactNode;
354
- /** Actions slot (right side) */
355
- actions?: ReactNode;
356
- /** Show bottom border */
357
- bordered?: boolean;
358
- }
359
- interface CardBodyProps extends HTMLAttributes<HTMLDivElement> {
360
- /** Remove default padding */
361
- noPadding?: boolean;
362
- }
363
- interface CardFooterProps extends HTMLAttributes<HTMLDivElement> {
364
- /** Footer content alignment */
365
- align?: "left" | "center" | "right" | "between";
366
- /** Show top border */
367
- bordered?: boolean;
368
- }
369
- interface CardImageProps extends ImgHTMLAttributes<HTMLImageElement> {
370
- /** Image position relative to card content */
371
- position?: CardImagePosition;
372
- /** Aspect ratio */
373
- aspectRatio?: "auto" | "video" | "square" | "portrait";
374
- /** Object fit behavior */
375
- objectFit?: "cover" | "contain" | "fill";
376
- /** Alt text (required for accessibility) */
377
- alt: string;
378
- }
379
- declare const Card: react.ForwardRefExoticComponent<CardProps & react.RefAttributes<HTMLDivElement>>;
380
- declare const CardHeader: react.ForwardRefExoticComponent<CardHeaderProps & react.RefAttributes<HTMLDivElement>>;
381
- declare const CardBody: react.ForwardRefExoticComponent<CardBodyProps & react.RefAttributes<HTMLDivElement>>;
382
- declare const CardFooter: react.ForwardRefExoticComponent<CardFooterProps & react.RefAttributes<HTMLDivElement>>;
383
- declare const CardImage: react.ForwardRefExoticComponent<CardImageProps & react.RefAttributes<HTMLImageElement>>;
384
-
385
- type AlertVariant = "toast" | "banner";
386
- type AlertState = "information" | "success" | "warning" | "error";
387
- interface AlertAction {
388
- label: string;
389
- onClick: () => void;
390
- }
391
- interface AlertProps extends HTMLAttributes<HTMLDivElement> {
392
- variant?: AlertVariant;
393
- state?: AlertState;
394
- title?: string;
395
- description?: string;
396
- icon?: ReactNode | IconName;
397
- showIcon?: boolean;
398
- onClose?: () => void;
399
- primaryAction?: AlertAction;
400
- secondaryAction?: AlertAction;
401
- }
402
- declare function Alert({ variant, state, title, description, icon, showIcon, onClose, primaryAction, secondaryAction, className, ...rest }: AlertProps): react_jsx_runtime.JSX.Element;
403
-
404
432
  type DividerVariant = "default" | "with-icon" | "with-label" | "with-title" | "with-button" | "with-title-and-button";
405
433
  interface DividerProps extends HTMLAttributes<HTMLDivElement> {
406
434
  variant?: DividerVariant;
407
435
  label?: string;
408
- icon?: ReactNode | IconName;
436
+ icon?: IconSource;
409
437
  buttonLabel?: string;
410
- buttonIcon?: ReactNode | IconName;
438
+ buttonIcon?: IconSource;
411
439
  onButtonClick?: () => void;
412
440
  }
413
441
  declare function Divider({ variant, label, icon, buttonLabel, buttonIcon, onButtonClick, className, ...rest }: DividerProps): react_jsx_runtime.JSX.Element;
414
442
 
415
- type TooltipPosition = "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right" | "left-top" | "left-center" | "left-bottom" | "right-top" | "right-center" | "right-bottom";
416
- type TooltipTheme = "light" | "dark";
417
- interface TooltipAction {
418
- label: string;
419
- onClick: () => void;
420
- }
421
- interface TooltipProps extends HTMLAttributes<HTMLDivElement> {
422
- theme?: TooltipTheme;
423
- position?: TooltipPosition;
424
- title?: string;
425
- content: string;
426
- onClose?: () => void;
427
- primaryAction?: TooltipAction;
428
- secondaryAction?: TooltipAction;
429
- }
430
- declare const Tooltip: react.ForwardRefExoticComponent<TooltipProps & react.RefAttributes<HTMLDivElement>>;
431
-
432
- interface PaginationProps extends HTMLAttributes<HTMLElement> {
433
- currentPage: number;
434
- totalPages: number;
435
- onPageChange: (page: number) => void;
436
- showPrevNext?: boolean;
437
- siblingCount?: number;
438
- }
439
- declare function Pagination({ currentPage, totalPages, onPageChange, showPrevNext, siblingCount, className, ...rest }: PaginationProps): react_jsx_runtime.JSX.Element;
440
-
441
- interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "size"> {
442
- label?: string;
443
- description?: string;
444
- position?: "left" | "right";
443
+ interface DropdownMenuProps extends HTMLAttributes<HTMLDivElement> {
444
+ /** Controlled open state */
445
+ open?: boolean;
446
+ /** Uncontrolled default open state */
447
+ defaultOpen?: boolean;
448
+ /** Called when open state changes */
449
+ onOpenChange?: (open: boolean) => void;
450
+ children: ReactNode;
445
451
  }
446
- declare const Checkbox: react.ForwardRefExoticComponent<CheckboxProps & react.RefAttributes<HTMLInputElement>>;
447
-
448
- interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "size"> {
449
- label?: string;
450
- description?: string;
451
- position?: "left" | "right";
452
+ declare const DropdownMenu: react.ForwardRefExoticComponent<DropdownMenuProps & react.RefAttributes<HTMLDivElement>>;
453
+ type DropdownMenuTriggerProps = ButtonHTMLAttributes<HTMLButtonElement>;
454
+ declare const DropdownMenuTrigger: react.ForwardRefExoticComponent<DropdownMenuTriggerProps & react.RefAttributes<HTMLButtonElement>>;
455
+ interface DropdownMenuContentProps extends HTMLAttributes<HTMLDivElement> {
456
+ /** Alignment relative to trigger */
457
+ align?: "start" | "end";
458
+ /** Gap from trigger in px */
459
+ sideOffset?: number;
452
460
  }
453
- declare const Radio: react.ForwardRefExoticComponent<RadioProps & react.RefAttributes<HTMLInputElement>>;
454
-
455
- interface ToggleProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "size"> {
456
- label?: string;
461
+ declare const DropdownMenuContent: react.ForwardRefExoticComponent<DropdownMenuContentProps & react.RefAttributes<HTMLDivElement>>;
462
+ type DropdownMenuGroupProps = HTMLAttributes<HTMLDivElement>;
463
+ declare const DropdownMenuGroup: react.ForwardRefExoticComponent<DropdownMenuGroupProps & react.RefAttributes<HTMLDivElement>>;
464
+ interface DropdownMenuLabelProps extends HTMLAttributes<HTMLDivElement> {
465
+ /** Optional description below the title */
457
466
  description?: string;
458
- position?: "left" | "right";
459
467
  }
460
- declare const Toggle: react.ForwardRefExoticComponent<ToggleProps & react.RefAttributes<HTMLInputElement>>;
461
-
462
- type BreadcrumbSeparator = "chevron" | "double-chevron" | "slash";
463
- interface BreadcrumbItem {
464
- /** Display label (use "..." for truncated items) */
465
- label: string;
466
- href?: string;
467
- icon?: ReactNode | IconName;
468
+ declare const DropdownMenuLabel: react.ForwardRefExoticComponent<DropdownMenuLabelProps & react.RefAttributes<HTMLDivElement>>;
469
+ interface DropdownMenuItemProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "onSelect"> {
470
+ /** Leading icon accepts a registry name, static IconRecord, or ReactNode */
471
+ icon?: IconSource;
472
+ /** Keyboard shortcut label (e.g. "⌘C") */
473
+ shortcut?: string;
474
+ /** Whether this item is selected (shows check indicator) */
475
+ selected?: boolean;
476
+ /** Whether this item is disabled */
468
477
  disabled?: boolean;
469
- active?: boolean;
470
- }
471
- interface BreadcrumbProps extends HTMLAttributes<HTMLElement> {
472
- items: BreadcrumbItem[];
473
- /** Separator style between items */
474
- separator?: BreadcrumbSeparator;
475
- /** Show top and bottom borders */
476
- hasBorders?: boolean;
477
- }
478
- declare function Breadcrumb({ items, separator, hasBorders, className, ...rest }: BreadcrumbProps): react_jsx_runtime.JSX.Element;
479
-
480
- type AvatarType = "image" | "icon" | "initials";
481
- type AvatarSize = "xs" | "sm" | "md" | "lg" | "xl" | "2xl";
482
- type AvatarStatus = "none" | "online" | "offline" | "verified";
483
- interface AvatarProps extends HTMLAttributes<HTMLDivElement> {
484
- /** Visual type of the avatar. @default "image" */
485
- type?: AvatarType;
486
- /** Size preset. @default "md" */
487
- size?: AvatarSize;
488
- /** Status indicator shown at bottom-right. @default "none" */
489
- status?: AvatarStatus;
490
- /** Image URL (for type="image"). */
491
- src?: string;
492
- /** Alt text (for type="image"). */
493
- alt?: string;
494
- /** Initials text (for type="initials"). */
495
- initials?: string;
496
- /** Custom icon (for type="icon"). Accepts ReactNode or IconName. @default "user" */
497
- icon?: ReactNode | IconName;
498
- }
499
- declare const Avatar: react.ForwardRefExoticComponent<AvatarProps & react.RefAttributes<HTMLDivElement>>;
500
- type AvatarGroupSize = "sm" | "md" | "lg";
501
- interface AvatarGroupProps extends HTMLAttributes<HTMLDivElement> {
502
- /** Controls the size of avatars in the group. @default "md" */
503
- size?: AvatarGroupSize;
504
- /** Maximum visible avatars. Overflow shows a "+N" counter. */
505
- max?: number;
506
- }
507
- declare const AvatarGroup: react.ForwardRefExoticComponent<AvatarGroupProps & react.RefAttributes<HTMLDivElement>>;
508
-
509
- type ModalSize = "sm" | "md" | "lg";
510
- interface ModalProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
511
- /** Whether the modal is open */
512
- open: boolean;
513
- /** Called when the modal should close */
514
- onClose: () => void;
515
- /** Modal width: sm (400px), md (500px), lg (640px) */
516
- size?: ModalSize;
517
- /** Title text */
518
- title?: string;
519
- /** Description text below the title */
520
- description?: string;
521
- /** Leading icon element */
522
- icon?: ReactNode;
523
- /** Show close button in header */
524
- showClose?: boolean;
525
- /** Primary action button label */
526
- primaryLabel?: string;
527
- /** Called when primary button is clicked */
528
- onPrimaryClick?: () => void;
529
- /** Secondary action button label */
530
- secondaryLabel?: string;
531
- /** Called when secondary button is clicked */
532
- onSecondaryClick?: () => void;
533
- /** Footer button layout */
534
- footerOrientation?: "horizontal" | "vertical";
535
- /** Close on overlay click */
536
- closeOnOverlay?: boolean;
537
- /** Close on Escape key */
538
- closeOnEscape?: boolean;
539
- /** Show backdrop blur on overlay */
540
- blur?: boolean;
541
- /** Modal body content */
542
- children?: ReactNode;
543
- }
544
- declare const Modal: react.ForwardRefExoticComponent<ModalProps & react.RefAttributes<HTMLDivElement>>;
545
-
546
- type MetricsCardVariation = "1" | "2" | "3" | "4" | "5" | "6";
547
- type MetricsCardTrend = "up" | "down";
548
- interface MetricsCardTrendBadge {
549
- label: string;
550
- trend?: MetricsCardTrend;
551
- }
552
- interface MetricsCardStatusBadge {
553
- label: string;
554
- variant?: "success" | "error" | "warning" | "info";
555
- }
556
- interface MetricsCardCta {
557
- label: string;
558
- onClick: () => void;
559
- icon?: ReactNode | IconName;
478
+ /** Whether this is a destructive/dangerous action */
479
+ destructive?: boolean;
480
+ /** Called when the item is selected (click or Enter/Space) */
481
+ onSelect?: () => void;
560
482
  }
561
- interface MetricsCardProps extends HTMLAttributes<HTMLDivElement> {
562
- /** Layout variation (1–6), each with a distinct layout */
563
- variation?: MetricsCardVariation;
564
- /** Metric label, e.g. "Total Solar Sales" */
565
- label: string;
566
- /** Main metric value, e.g. "$45,823" */
567
- value: string | number;
568
- /** Optional icon renders in a bordered square (v2,3,6) or large tinted square (v4) */
569
- icon?: ReactNode | IconName;
570
- /** Trend badge with arrow icon, e.g. { label: "10%", trend: "up" } — used in v2–6 */
571
- trendBadge?: MetricsCardTrendBadge;
572
- /** Status badge, e.g. { label: "Paid", variant: "success" } used in v1 */
573
- statusBadge?: MetricsCardStatusBadge;
574
- /** Description text, e.g. "Compared to last month" */
575
- description?: string;
576
- /** Secondary text shown on the right in v1, e.g. "Jun 12th, 2023" */
577
- secondaryText?: string;
578
- /** Call-to-action link */
579
- cta?: MetricsCardCta;
483
+ declare const DropdownMenuItem: react.ForwardRefExoticComponent<DropdownMenuItemProps & react.RefAttributes<HTMLButtonElement>>;
484
+ type DropdownMenuSeparatorProps = HTMLAttributes<HTMLDivElement>;
485
+ declare const DropdownMenuSeparator: react.ForwardRefExoticComponent<DropdownMenuSeparatorProps & react.RefAttributes<HTMLDivElement>>;
486
+
487
+ interface EmptyStateIllustrationProps extends Omit<HTMLAttributes<HTMLDivElement>, "children"> {
488
+ /** Which illustration to display */
489
+ name: IllustrationName;
490
+ /** Show the colored or grey/monochrome variant (default: true) */
491
+ colored?: boolean;
492
+ /**
493
+ * Custom color palette for theming colored illustrations.
494
+ * Provide 11 hex colors (lightest darkest) to replace the default
495
+ * primary orange palette. Ignored when `colored` is false.
496
+ */
497
+ palette?: string[];
498
+ /** Width/height in pixels (default: 150, the native SVG size) */
499
+ size?: number;
580
500
  }
581
- declare function MetricsCard({ variation, className, label, value, icon, trendBadge, statusBadge, description, secondaryText, cta, ...rest }: MetricsCardProps): react_jsx_runtime.JSX.Element;
501
+ declare const EmptyStateIllustration: react.ForwardRefExoticComponent<EmptyStateIllustrationProps & react.RefAttributes<HTMLDivElement>>;
582
502
 
583
503
  type FileUploadItemStatus = "pending" | "uploading" | "complete" | "error";
584
504
  interface FileUploadFileData {
@@ -599,7 +519,7 @@ interface FileUploadItemProps extends HTMLAttributes<HTMLDivElement> {
599
519
  }
600
520
  declare const FileUploadItem: react.ForwardRefExoticComponent<FileUploadItemProps & react.RefAttributes<HTMLDivElement>>;
601
521
 
602
- interface FileUploadProps extends HTMLAttributes<HTMLDivElement> {
522
+ interface FileUploadProps extends Omit<HTMLAttributes<HTMLDivElement>, "onError"> {
603
523
  /** Allow multiple file uploads */
604
524
  multiple?: boolean;
605
525
  /** MIME types to accept, e.g. "image/*,.pdf" */
@@ -617,7 +537,10 @@ interface FileUploadProps extends HTMLAttributes<HTMLDivElement> {
617
537
  /** Called when files list changes */
618
538
  onFilesChange: (files: FileUploadFileData[]) => void;
619
539
  /** Called when new files are selected for upload */
620
- onUpload?: (file: File) => void;
540
+ onUpload?: (file: File, item: FileUploadFileData) => void;
541
+ /** Human-readable validation failure for each rejected file. */
542
+ onError?: (message: string) => void;
543
+ disabled?: boolean;
621
544
  /** Called when remove/delete is clicked */
622
545
  onRemove?: (fileId: string) => void;
623
546
  /** Called when retry is clicked */
@@ -641,6 +564,7 @@ interface FileUploadDropZoneProps extends HTMLAttributes<HTMLDivElement> {
641
564
  accept?: string;
642
565
  /** Allow multiple files */
643
566
  multiple?: boolean;
567
+ disabled?: boolean;
644
568
  /** File info for uploading state */
645
569
  uploadingFile?: {
646
570
  name: string;
@@ -658,6 +582,252 @@ interface FileUploadDropZoneProps extends HTMLAttributes<HTMLDivElement> {
658
582
  }
659
583
  declare const FileUploadDropZone: react.ForwardRefExoticComponent<FileUploadDropZoneProps & react.RefAttributes<HTMLDivElement>>;
660
584
 
585
+ interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "size"> {
586
+ label?: string;
587
+ description?: string;
588
+ position?: "left" | "right";
589
+ /** Class names for the label wrapper. `className` styles the control itself. */
590
+ wrapperClassName?: string;
591
+ /** Mixed state, e.g. a select-all box when only some rows are selected. */
592
+ indeterminate?: boolean;
593
+ }
594
+ declare const Checkbox: react.ForwardRefExoticComponent<CheckboxProps & react.RefAttributes<HTMLInputElement>>;
595
+
596
+ interface RadioProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "size"> {
597
+ label?: string;
598
+ description?: string;
599
+ position?: "left" | "right";
600
+ /** Class names for the label wrapper. `className` styles the control itself. */
601
+ wrapperClassName?: string;
602
+ }
603
+ declare const Radio: react.ForwardRefExoticComponent<RadioProps & react.RefAttributes<HTMLInputElement>>;
604
+
605
+ interface ToggleProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "type" | "size"> {
606
+ label?: string;
607
+ description?: string;
608
+ position?: "left" | "right";
609
+ /** Class names for the label wrapper. `className` styles the control itself. */
610
+ wrapperClassName?: string;
611
+ }
612
+ declare const Toggle: react.ForwardRefExoticComponent<ToggleProps & react.RefAttributes<HTMLInputElement>>;
613
+
614
+ type InputSize = "xs" | "sm" | "md" | "lg";
615
+ interface InputProps extends Omit<InputHTMLAttributes<HTMLInputElement>, "size"> {
616
+ /** Input size variant */
617
+ size?: InputSize;
618
+ /** Label text above the input */
619
+ label?: string;
620
+ /** Helper text below the input */
621
+ helperText?: string;
622
+ /** Error message or boolean. Overrides helperText styling. */
623
+ error?: string | boolean;
624
+ /** Success message or boolean. Overrides helperText styling. */
625
+ success?: string | boolean;
626
+ /** Icon on the left side of the input */
627
+ leadingIcon?: IconSource;
628
+ /** Icon on the right side of the input */
629
+ trailingIcon?: IconSource;
630
+ /** Text addon on the right side */
631
+ addonRight?: string;
632
+ /** Leading addon element (e.g. dropdown, button). Renders as a separated section before the input. */
633
+ leadingAddon?: ReactNode;
634
+ /** Trailing addon element (e.g. button). Renders as a separated section after the input. */
635
+ trailingAddon?: ReactNode;
636
+ /**
637
+ * Interactive control rendered inside the field on the right, e.g. a password
638
+ * reveal toggle. Unlike `trailingIcon` — whose wrapper is aria-hidden because it
639
+ * is decorative — this slot is exposed to assistive technology, so whatever you
640
+ * pass must carry its own accessible name.
641
+ */
642
+ trailingAction?: ReactNode;
643
+ /** Wrapper className */
644
+ wrapperClassName?: string;
645
+ }
646
+ declare const Input: react.ForwardRefExoticComponent<InputProps & react.RefAttributes<HTMLInputElement>>;
647
+
648
+ type MetricsCardVariation = "1" | "2" | "3" | "4" | "5" | "6";
649
+ /** Which way the number moved. Direction only — it says nothing about whether that is good. */
650
+ type MetricsCardTrend = "up" | "down";
651
+ /** Whether the movement is good news for this metric. Independent of direction. */
652
+ type MetricsCardTrendSentiment = "positive" | "negative" | "neutral";
653
+ interface MetricsCardTrendBadge {
654
+ label: string;
655
+ /** Direction of movement. Drives the arrow icon. Default `"up"`. */
656
+ trend?: MetricsCardTrend;
657
+ /**
658
+ * Whether that movement is good for this metric. Drives the badge colour.
659
+ *
660
+ * Defaults to `"positive"` for `up` and `"negative"` for `down`, which is what
661
+ * the badge did before this prop existed, so omitting it changes nothing. Set it
662
+ * when direction and sentiment disagree: falling churn is
663
+ * `{ trend: "down", sentiment: "positive" }`, rising cost is
664
+ * `{ trend: "up", sentiment: "negative" }`, and a metric that is merely moving is
665
+ * `"neutral"`.
666
+ *
667
+ * Direction stays carried by the arrow, so sentiment never becomes the only
668
+ * non-colour signal. Sentiment itself is editorial emphasis and is conveyed by
669
+ * colour alone; supply it in `description` when it must be read out.
670
+ */
671
+ sentiment?: MetricsCardTrendSentiment;
672
+ }
673
+ interface MetricsCardStatusBadge {
674
+ label: string;
675
+ variant?: "success" | "error" | "warning" | "info";
676
+ }
677
+ interface MetricsCardCta {
678
+ label: string;
679
+ onClick: () => void;
680
+ icon?: IconSource;
681
+ }
682
+ interface MetricsCardProps extends HTMLAttributes<HTMLDivElement> {
683
+ /** Layout variation (1–6), each with a distinct layout */
684
+ variation?: MetricsCardVariation;
685
+ /** Metric label, e.g. "Total Solar Sales" */
686
+ label: string;
687
+ /** Main metric value, e.g. "$45,823" */
688
+ value: string | number;
689
+ /** Optional icon — renders in a bordered square (v2,3,6) or large tinted square (v4) */
690
+ icon?: IconSource;
691
+ /** Trend badge with arrow icon, e.g. { label: "10%", trend: "up" } — used in v2–6 */
692
+ trendBadge?: MetricsCardTrendBadge;
693
+ /** Status badge, e.g. { label: "Paid", variant: "success" } — used in v1 */
694
+ statusBadge?: MetricsCardStatusBadge;
695
+ /** Description text, e.g. "Compared to last month" */
696
+ description?: string;
697
+ /** Secondary text shown on the right in v1, e.g. "Jun 12th, 2023" */
698
+ secondaryText?: string;
699
+ /** Call-to-action link */
700
+ cta?: MetricsCardCta;
701
+ }
702
+ declare function MetricsCard({ variation, className, label, value, icon, trendBadge, statusBadge, description, secondaryText, cta, ...rest }: MetricsCardProps): react_jsx_runtime.JSX.Element;
703
+
704
+ type ModalSize = "sm" | "md" | "lg";
705
+ interface ModalProps extends Omit<HTMLAttributes<HTMLDivElement>, "title"> {
706
+ /** Opt into semantic panel motion; false preserves immediate open/close. */
707
+ motion?: MotionOption;
708
+ /** Whether the modal is open */
709
+ open: boolean;
710
+ /** Called when the modal should close */
711
+ onClose: () => void;
712
+ /** Modal width: sm (400px), md (500px), lg (640px) */
713
+ size?: ModalSize;
714
+ /** Title text */
715
+ title?: string;
716
+ /** Description text below the title */
717
+ description?: string;
718
+ /** Leading icon: registry name, static IconRecord, or ReactNode. */
719
+ icon?: IconSource;
720
+ /** Show close button in header */
721
+ showClose?: boolean;
722
+ /** Primary action button label */
723
+ primaryLabel?: string;
724
+ /** Called when primary button is clicked */
725
+ onPrimaryClick?: () => void;
726
+ /** Secondary action button label */
727
+ secondaryLabel?: string;
728
+ /** Called when secondary button is clicked */
729
+ onSecondaryClick?: () => void;
730
+ /** Footer button layout */
731
+ footerOrientation?: "horizontal" | "vertical";
732
+ /** Close on overlay click */
733
+ closeOnOverlay?: boolean;
734
+ /** Close on Escape key */
735
+ closeOnEscape?: boolean;
736
+ /** Show backdrop blur on overlay */
737
+ blur?: boolean;
738
+ /** Modal body content */
739
+ children?: ReactNode;
740
+ }
741
+ declare const Modal: react.ForwardRefExoticComponent<ModalProps & react.RefAttributes<HTMLDivElement>>;
742
+
743
+ interface PaginationProps extends HTMLAttributes<HTMLElement> {
744
+ currentPage: number;
745
+ totalPages: number;
746
+ onPageChange: (page: number) => void;
747
+ showPrevNext?: boolean;
748
+ siblingCount?: number;
749
+ }
750
+ declare function Pagination({ currentPage, totalPages, onPageChange, showPrevNext, siblingCount, className, ...rest }: PaginationProps): react_jsx_runtime.JSX.Element;
751
+
752
+ type ProgressBarSize = "sm" | "md" | "lg";
753
+ type ProgressBarType = "basic" | "segmented";
754
+ interface ProgressBarProps extends HTMLAttributes<HTMLDivElement> {
755
+ /** Progress value from 0 to 100 */
756
+ value?: number;
757
+ /** Bar height: sm (4px), md (8px), lg (12px) */
758
+ size?: ProgressBarSize;
759
+ /** Bar type: basic (continuous) or segmented (10 discrete bars) */
760
+ type?: ProgressBarType;
761
+ /** Label text above the bar */
762
+ label?: string;
763
+ /** Metadata text(s) below the bar. Pass an array for dot-separated items. */
764
+ metadata?: string | string[];
765
+ /** Show percentage text */
766
+ showPercentage?: boolean;
767
+ /** Position of the percentage text */
768
+ percentagePosition?: "top" | "bottom";
769
+ }
770
+ declare function ProgressBar({ value, size, type, label, metadata, showPercentage, percentagePosition, className, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, "aria-describedby": ariaDescribedBy, ...rest }: ProgressBarProps): react_jsx_runtime.JSX.Element;
771
+
772
+ type ProgressCircleSize = "xs" | "sm" | "md" | "lg" | "xl";
773
+ type ProgressCircleStyle = "default" | "segmented";
774
+ interface ProgressCircleProps extends HTMLAttributes<HTMLDivElement> {
775
+ /** Progress value from 0 to 100 */
776
+ value?: number;
777
+ /** Circle size */
778
+ size?: ProgressCircleSize;
779
+ /** Visual style: default (continuous) or segmented (dashed) */
780
+ variant?: ProgressCircleStyle;
781
+ /** Show percentage text in the center */
782
+ showText?: boolean;
783
+ /** Accessible name describing what is progressing, e.g. "Upload progress" */
784
+ label?: string;
785
+ }
786
+ declare function ProgressCircle({ value, size, variant, showText, className, label, "aria-label": ariaLabel, "aria-labelledby": ariaLabelledBy, ...rest }: ProgressCircleProps): react_jsx_runtime.JSX.Element;
787
+
788
+ interface SelectProps extends Omit<HTMLAttributes<HTMLDivElement>, "defaultValue"> {
789
+ /** Controlled value */
790
+ value?: string;
791
+ /** Uncontrolled default value */
792
+ defaultValue?: string;
793
+ /** Called when value changes */
794
+ onValueChange?: (value: string) => void;
795
+ /** Placeholder text when no value is selected */
796
+ placeholder?: string;
797
+ /** Label text above the select */
798
+ label?: string;
799
+ /** Helper text below the select */
800
+ helperText?: string;
801
+ /**
802
+ * Error message, or true for an error state with no message. Replaces helperText
803
+ * and marks the trigger aria-invalid. Mirrors Input's error contract so the
804
+ * useRaydenSelect adapter has somewhere to deliver validation feedback.
805
+ */
806
+ error?: string | boolean;
807
+ /** Whether the select is disabled */
808
+ disabled?: boolean;
809
+ /** Wrapper className for the outermost div */
810
+ wrapperClassName?: string;
811
+ children: ReactNode;
812
+ }
813
+ declare const Select: react.ForwardRefExoticComponent<SelectProps & react.RefAttributes<HTMLDivElement>>;
814
+
815
+ interface SelectOptionProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "value"> {
816
+ /** Unique value for this option */
817
+ value: string;
818
+ /** Leading icon — accepts a registry name, static IconRecord, or ReactNode */
819
+ icon?: IconSource;
820
+ /** Leading avatar element (e.g., <Avatar />) */
821
+ avatar?: ReactNode;
822
+ /** Status dot color (CSS color string, e.g., "#04802E") */
823
+ statusColor?: string;
824
+ /** Supporting text shown after the label */
825
+ description?: string;
826
+ /** Whether this option is disabled */
827
+ disabled?: boolean;
828
+ }
829
+ declare const SelectOption: react.ForwardRefExoticComponent<SelectOptionProps & react.RefAttributes<HTMLButtonElement>>;
830
+
661
831
  type SidebarMenuTheme = "light" | "blue" | "dark-blue" | "dark-grey";
662
832
  interface SidebarMenuContextValue {
663
833
  activeValue: string;
@@ -697,115 +867,74 @@ interface SidebarMenuItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {
697
867
  /** Unique identifier for this item */
698
868
  value: string;
699
869
  /** Icon displayed to the left — accepts IconName string or ReactNode */
700
- icon?: ReactNode | IconName;
870
+ icon?: IconSource;
701
871
  /** Optional count badge displayed on the right */
702
872
  badge?: string | number;
703
873
  /** Disabled state */
704
874
  disabled?: boolean;
705
- children: ReactNode;
706
- }
707
- declare const SidebarMenuItem: react.ForwardRefExoticComponent<SidebarMenuItemProps & react.RefAttributes<HTMLButtonElement>>;
708
-
709
- interface SidebarMenuSectionProps extends HTMLAttributes<HTMLDivElement> {
710
- /** Optional section title, e.g. "MAIN MENU" */
711
- title?: string;
712
- /** Whether to show a divider below the section */
713
- showDivider?: boolean;
714
- children: ReactNode;
715
- }
716
- declare const SidebarMenuSection: react.ForwardRefExoticComponent<SidebarMenuSectionProps & react.RefAttributes<HTMLDivElement>>;
717
-
718
- declare const illustrationNames: readonly ["calendar", "chat", "contacts", "dashboard", "favorites", "file-manager", "forms", "gallery", "inbox", "invoice", "notifications", "product-catalog", "project-list", "search", "shopping-cart", "subscriptions", "survey", "task-templates", "team"];
719
- type IllustrationName = (typeof illustrationNames)[number];
720
-
721
- interface EmptyStateIllustrationProps extends Omit<HTMLAttributes<HTMLDivElement>, "children"> {
722
- /** Which illustration to display */
723
- name: IllustrationName;
724
- /** Show the colored or grey/monochrome variant (default: true) */
725
- colored?: boolean;
726
875
  /**
727
- * Custom color palette for theming colored illustrations.
728
- * Provide 11 hex colors (lightest darkest) to replace the default
729
- * primary orange palette. Ignored when `colored` is false.
876
+ * Accessible name used when the sidebar is collapsed to icons. Required when
877
+ * `children` is not a plain string, since a ReactNode cannot become a name.
730
878
  */
731
- palette?: string[];
732
- /** Width/height in pixels (default: 150, the native SVG size) */
733
- size?: number;
734
- }
735
- declare const EmptyStateIllustration: react.ForwardRefExoticComponent<EmptyStateIllustrationProps & react.RefAttributes<HTMLDivElement>>;
736
-
737
- interface TableProps extends HTMLAttributes<HTMLTableElement> {
738
- }
739
- declare const Table: react.ForwardRefExoticComponent<TableProps & react.RefAttributes<HTMLTableElement>>;
740
- interface TableHeaderProps extends HTMLAttributes<HTMLTableSectionElement> {
741
- }
742
- declare const TableHeader: react.ForwardRefExoticComponent<TableHeaderProps & react.RefAttributes<HTMLTableSectionElement>>;
743
- interface TableBodyProps extends HTMLAttributes<HTMLTableSectionElement> {
744
- }
745
- declare const TableBody: react.ForwardRefExoticComponent<TableBodyProps & react.RefAttributes<HTMLTableSectionElement>>;
746
- interface TableRowProps extends HTMLAttributes<HTMLTableRowElement> {
747
- /** Whether this row is selected */
748
- selected?: boolean;
749
- }
750
- declare const TableRow: react.ForwardRefExoticComponent<TableRowProps & react.RefAttributes<HTMLTableRowElement>>;
751
- type SortDirection = "asc" | "desc" | null;
752
- interface TableHeadProps extends ThHTMLAttributes<HTMLTableCellElement> {
753
- /** Enable sort indicator and click-to-sort behavior */
754
- sortable?: boolean;
755
- /** Current sort direction for this column */
756
- sortDirection?: SortDirection;
757
- /** Called when the sort indicator is clicked */
758
- onSort?: () => void;
759
- }
760
- declare const TableHead: react.ForwardRefExoticComponent<TableHeadProps & react.RefAttributes<HTMLTableCellElement>>;
761
- interface TableCellProps extends TdHTMLAttributes<HTMLTableCellElement> {
879
+ label?: string;
880
+ children: ReactNode;
762
881
  }
763
- declare const TableCell: react.ForwardRefExoticComponent<TableCellProps & react.RefAttributes<HTMLTableCellElement>>;
882
+ declare const SidebarMenuItem: react.ForwardRefExoticComponent<SidebarMenuItemProps & react.RefAttributes<HTMLButtonElement>>;
764
883
 
765
- interface DropdownMenuProps extends HTMLAttributes<HTMLDivElement> {
766
- /** Controlled open state */
767
- open?: boolean;
768
- /** Uncontrolled default open state */
769
- defaultOpen?: boolean;
770
- /** Called when open state changes */
771
- onOpenChange?: (open: boolean) => void;
884
+ interface SidebarMenuSectionProps extends HTMLAttributes<HTMLDivElement> {
885
+ /** Optional section title, e.g. "MAIN MENU" */
886
+ title?: string;
887
+ /** Whether to show a divider below the section */
888
+ showDivider?: boolean;
772
889
  children: ReactNode;
773
890
  }
774
- declare const DropdownMenu: react.ForwardRefExoticComponent<DropdownMenuProps & react.RefAttributes<HTMLDivElement>>;
775
- interface DropdownMenuTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
776
- }
777
- declare const DropdownMenuTrigger: react.ForwardRefExoticComponent<DropdownMenuTriggerProps & react.RefAttributes<HTMLButtonElement>>;
778
- interface DropdownMenuContentProps extends HTMLAttributes<HTMLDivElement> {
779
- /** Alignment relative to trigger */
780
- align?: "start" | "end";
781
- /** Gap from trigger in px */
782
- sideOffset?: number;
783
- }
784
- declare const DropdownMenuContent: react.ForwardRefExoticComponent<DropdownMenuContentProps & react.RefAttributes<HTMLDivElement>>;
785
- interface DropdownMenuGroupProps extends HTMLAttributes<HTMLDivElement> {
786
- }
787
- declare const DropdownMenuGroup: react.ForwardRefExoticComponent<DropdownMenuGroupProps & react.RefAttributes<HTMLDivElement>>;
788
- interface DropdownMenuLabelProps extends HTMLAttributes<HTMLDivElement> {
789
- /** Optional description below the title */
790
- description?: string;
791
- }
792
- declare const DropdownMenuLabel: react.ForwardRefExoticComponent<DropdownMenuLabelProps & react.RefAttributes<HTMLDivElement>>;
793
- interface DropdownMenuItemProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "onSelect"> {
794
- /** Leading icon — accepts a ReactNode or an IconName string */
795
- icon?: ReactNode | IconName;
796
- /** Keyboard shortcut label (e.g. "⌘C") */
797
- shortcut?: string;
798
- /** Whether this item is selected (shows check indicator) */
799
- selected?: boolean;
800
- /** Whether this item is disabled */
891
+ declare const SidebarMenuSection: react.ForwardRefExoticComponent<SidebarMenuSectionProps & react.RefAttributes<HTMLDivElement>>;
892
+
893
+ type SliderSize = "sm" | "md" | "lg";
894
+ interface SliderProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
895
+ /** Current value (0–100) */
896
+ value?: number;
897
+ /** Called when value changes */
898
+ onChange?: (value: number) => void;
899
+ /** Track/handle size */
900
+ size?: SliderSize;
901
+ /** Label above the slider */
902
+ label?: string;
903
+ /** Metadata text(s) below the slider */
904
+ metadata?: string | string[];
905
+ /** Show percentage text */
906
+ showPercentage?: boolean;
907
+ /** Minimum value */
908
+ min?: number;
909
+ /** Maximum value */
910
+ max?: number;
911
+ /** Step increment */
912
+ step?: number;
913
+ /** Disabled state */
801
914
  disabled?: boolean;
802
- /** Called when the item is selected (click or Enter/Space) */
803
- onSelect?: () => void;
804
915
  }
805
- declare const DropdownMenuItem: react.ForwardRefExoticComponent<DropdownMenuItemProps & react.RefAttributes<HTMLButtonElement>>;
806
- interface DropdownMenuSeparatorProps extends HTMLAttributes<HTMLDivElement> {
916
+ interface RangeSliderProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
917
+ /** Current range [low, high] (0–100) */
918
+ value?: [number, number];
919
+ /** Called when range changes */
920
+ onChange?: (value: [number, number]) => void;
921
+ /** Track/handle size */
922
+ size?: SliderSize;
923
+ /** Label above the slider */
924
+ label?: string;
925
+ /** Show min/max labels below */
926
+ showLabels?: boolean;
927
+ /** Minimum value */
928
+ min?: number;
929
+ /** Maximum value */
930
+ max?: number;
931
+ /** Step increment */
932
+ step?: number;
933
+ /** Disabled state */
934
+ disabled?: boolean;
807
935
  }
808
- declare const DropdownMenuSeparator: react.ForwardRefExoticComponent<DropdownMenuSeparatorProps & react.RefAttributes<HTMLDivElement>>;
936
+ declare const Slider: react.ForwardRefExoticComponent<SliderProps & react.RefAttributes<HTMLDivElement>>;
937
+ declare const RangeSlider: react.ForwardRefExoticComponent<RangeSliderProps & react.RefAttributes<HTMLDivElement>>;
809
938
 
810
939
  type SpinnerSize = "xs" | "sm" | "md" | "lg" | "xl" | "2xl" | "3xl";
811
940
  type SpinnerType = "thin" | "bold" | "duo-tone" | "buffering-thin" | "buffering-bold" | "dot" | "juggling";
@@ -868,163 +997,71 @@ declare const Stepper: react.ForwardRefExoticComponent<StepperProps & react.RefA
868
997
  declare const LinearStepper: react.ForwardRefExoticComponent<LinearStepperProps & react.RefAttributes<HTMLDivElement>>;
869
998
  declare const SegmentedStepper: react.ForwardRefExoticComponent<SegmentedStepperProps & react.RefAttributes<HTMLDivElement>>;
870
999
 
871
- type SliderSize = "sm" | "md" | "lg";
872
- interface SliderProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
873
- /** Current value (0–100) */
874
- value?: number;
875
- /** Called when value changes */
876
- onChange?: (value: number) => void;
877
- /** Track/handle size */
878
- size?: SliderSize;
879
- /** Label above the slider */
880
- label?: string;
881
- /** Metadata text(s) below the slider */
882
- metadata?: string | string[];
883
- /** Show percentage text */
884
- showPercentage?: boolean;
885
- /** Minimum value */
886
- min?: number;
887
- /** Maximum value */
888
- max?: number;
889
- /** Step increment */
890
- step?: number;
891
- /** Disabled state */
892
- disabled?: boolean;
893
- }
894
- interface RangeSliderProps extends Omit<HTMLAttributes<HTMLDivElement>, "onChange"> {
895
- /** Current range [low, high] (0–100) */
896
- value?: [number, number];
897
- /** Called when range changes */
898
- onChange?: (value: [number, number]) => void;
899
- /** Track/handle size */
900
- size?: SliderSize;
901
- /** Label above the slider */
902
- label?: string;
903
- /** Show min/max labels below */
904
- showLabels?: boolean;
905
- /** Minimum value */
906
- min?: number;
907
- /** Maximum value */
908
- max?: number;
909
- /** Step increment */
910
- step?: number;
911
- /** Disabled state */
912
- disabled?: boolean;
913
- }
914
- declare const Slider: react.ForwardRefExoticComponent<SliderProps & react.RefAttributes<HTMLDivElement>>;
915
- declare const RangeSlider: react.ForwardRefExoticComponent<RangeSliderProps & react.RefAttributes<HTMLDivElement>>;
916
-
917
- interface SelectProps extends Omit<HTMLAttributes<HTMLDivElement>, "defaultValue"> {
918
- /** Controlled value */
1000
+ type TabsVariant = "line" | "pill" | "segmented";
1001
+ type TabsSize = "sm" | "md" | "lg";
1002
+ type TabsOrientation = "horizontal" | "vertical";
1003
+ interface TabsProps {
1004
+ /** Opt into a shared selection indicator; keyboard and selection remain immediate. */
1005
+ motion?: MotionOption;
1006
+ variant?: TabsVariant;
1007
+ size?: TabsSize;
1008
+ orientation?: TabsOrientation;
919
1009
  value?: string;
920
- /** Uncontrolled default value */
921
1010
  defaultValue?: string;
922
- /** Called when value changes */
923
1011
  onValueChange?: (value: string) => void;
924
- /** Placeholder text when no value is selected */
925
- placeholder?: string;
926
- /** Label text above the select */
927
- label?: string;
928
- /** Helper text below the select */
929
- helperText?: string;
930
- /** Whether the select is disabled */
931
- disabled?: boolean;
932
- /** Wrapper className for the outermost div */
933
- wrapperClassName?: string;
934
1012
  children: ReactNode;
1013
+ className?: string;
935
1014
  }
936
- declare const Select: react.ForwardRefExoticComponent<SelectProps & react.RefAttributes<HTMLDivElement>>;
1015
+ declare function Tabs({ motion, variant, size, orientation, value, defaultValue, onValueChange, children, className, }: TabsProps): react_jsx_runtime.JSX.Element;
937
1016
 
938
- interface SelectOptionProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, "value"> {
939
- /** Unique value for this option */
1017
+ interface TabProps {
940
1018
  value: string;
941
- /** Leading icon — accepts a ReactNode or IconName string */
942
- icon?: ReactNode | IconName;
943
- /** Leading avatar element (e.g., <Avatar />) */
944
- avatar?: ReactNode;
945
- /** Status dot color (CSS color string, e.g., "#04802E") */
946
- statusColor?: string;
947
- /** Supporting text shown after the label */
948
- description?: string;
949
- /** Whether this option is disabled */
1019
+ icon?: IconSource;
1020
+ badge?: number | string;
950
1021
  disabled?: boolean;
1022
+ children: ReactNode;
1023
+ className?: string;
951
1024
  }
952
- declare const SelectOption: react.ForwardRefExoticComponent<SelectOptionProps & react.RefAttributes<HTMLButtonElement>>;
1025
+ declare function Tab({ value, icon, badge, disabled, children, className }: TabProps): react_jsx_runtime.JSX.Element;
953
1026
 
954
- interface ActivityItemLink {
1027
+ type TooltipPosition = "top-left" | "top-center" | "top-right" | "bottom-left" | "bottom-center" | "bottom-right" | "left-top" | "left-center" | "left-bottom" | "right-top" | "right-center" | "right-bottom";
1028
+ type TooltipTheme = "light" | "dark";
1029
+ interface TooltipAction {
955
1030
  label: string;
956
- href?: string;
957
- onClick?: () => void;
1031
+ onClick: () => void;
958
1032
  }
959
- interface ActivityItemProps extends HTMLAttributes<HTMLDivElement> {
960
- /** Avatar element (e.g., <Avatar />) */
961
- avatar: ReactNode;
962
- /** Primary text content — mixed inline content with bold names, action text, highlights */
963
- text: ReactNode;
964
- /** Whether this item is unread (shows green dot) */
965
- unread?: boolean;
966
- /** Date label (e.g., "Thurs 21, 2023") */
967
- date?: string;
968
- /** Time label (e.g., "10 mins") — right-aligned */
969
- time?: string;
970
- /** Optional link button in meta row */
971
- link?: ActivityItemLink;
972
- /** Optional badge text in meta row (e.g., "#Marketing-Design") */
973
- badge?: string;
974
- /** Connector line position for timeline layouts */
975
- connector?: "top" | "middle" | "last";
976
- /** Optional content block (e.g., ActivityContent) */
977
- children?: ReactNode;
1033
+ interface TooltipProps extends Omit<HTMLAttributes<HTMLDivElement>, "content"> {
1034
+ theme?: TooltipTheme;
1035
+ /** Legacy panel alignment; placement is the preferred trigger API. */
1036
+ position?: TooltipPosition;
1037
+ placement?: "top" | "right" | "bottom" | "left";
1038
+ content: ReactNode;
1039
+ children?: ReactElement;
1040
+ delay?: number;
1041
+ open?: boolean;
1042
+ defaultOpen?: boolean;
1043
+ onOpenChange?: (open: boolean) => void;
1044
+ onClose?: () => void;
1045
+ primaryAction?: TooltipAction;
1046
+ secondaryAction?: TooltipAction;
978
1047
  }
979
- declare const ActivityItem: react.ForwardRefExoticComponent<ActivityItemProps & react.RefAttributes<HTMLDivElement>>;
1048
+ /** With children, provides a hover/focus tooltip (or a click popover for actions).
1049
+ * Without children, retains the original standalone panel API. */
1050
+ declare const Tooltip: react.ForwardRefExoticComponent<TooltipProps & react.RefAttributes<HTMLDivElement>>;
980
1051
 
981
- type ActivityContentVariant = "file" | "comment" | "cta";
982
- type ActivityContentStyle = "plain" | "card" | "container";
983
- interface ActivityContentAttachment {
984
- name: string;
985
- extension: string;
986
- }
987
- interface ActivityContentAction {
988
- label: string;
989
- onClick?: () => void;
990
- }
991
- interface ActivityContentProps extends HTMLAttributes<HTMLDivElement> {
992
- /** Content variant */
993
- variant: ActivityContentVariant;
994
- /** Visual style wrapper */
995
- contentStyle?: ActivityContentStyle;
996
- /** Leading icon for file variant */
997
- icon?: ReactNode | IconName;
998
- /** File name */
999
- title?: string;
1000
- /** File size (e.g., "13MB") */
1001
- size?: string;
1002
- /** File type label (e.g., "PDF File") */
1003
- fileType?: string;
1004
- /** File date (e.g., "11 Sept 23") */
1005
- date?: string;
1006
- /** Avatar element for comment author */
1007
- avatar?: ReactNode;
1008
- /** Author name */
1009
- author?: string;
1010
- /** Timestamp (e.g., "2 hours ago") */
1011
- timestamp?: string;
1012
- /** Comment body text */
1013
- comment?: string;
1014
- /** File attachments */
1015
- attachments?: ActivityContentAttachment[];
1016
- /** Number of reactions */
1017
- reactions?: number;
1018
- /** Number of replies */
1019
- replies?: number;
1020
- /** Reply button callback */
1021
- onReply?: () => void;
1022
- /** Primary action (e.g., Accept) */
1023
- primaryAction?: ActivityContentAction;
1024
- /** Secondary action (e.g., Decline) */
1025
- secondaryAction?: ActivityContentAction;
1026
- }
1027
- declare const ActivityContent: react.ForwardRefExoticComponent<ActivityContentProps & react.RefAttributes<HTMLDivElement>>;
1052
+ type AnchorSide = "top" | "right" | "bottom" | "left";
1053
+ /**
1054
+ * Resolve which side an anchored panel should actually open on.
1055
+ *
1056
+ * Fixed side classes put panels off-screen near a viewport edge — a tooltip anchored
1057
+ * at the top rendered above the visible area, and a listbox near the bottom opened
1058
+ * past it. This flips to the opposite side when the preferred one does not fit and
1059
+ * the opposite one does, and re-measures on scroll and resize.
1060
+ *
1061
+ * Returns the preferred side unchanged until the panel has been measured, so the
1062
+ * first paint matches the caller's intent.
1063
+ */
1064
+ declare function useCollisionAwareSide(preferred: AnchorSide, open: boolean, triggerRef: RefObject<HTMLElement | null>, panelRef: RefObject<HTMLElement | null>, margin?: number): AnchorSide;
1028
1065
 
1029
1066
  declare function cn(...inputs: ClassValue[]): string;
1030
1067
 
@@ -1062,8 +1099,8 @@ interface UseRaydenInputOptions<TFieldValues extends FieldValues = FieldValues,
1062
1099
  name: TName;
1063
1100
  }
1064
1101
  type UseRaydenInputReturn<TName extends string = string> = UseFormRegisterReturn<TName> & {
1102
+ /** Validation message for the field, if any. Maps to Input's `error` prop. */
1065
1103
  error?: string;
1066
- hasError: boolean;
1067
1104
  };
1068
1105
  /**
1069
1106
  * Adapter hook for using Rayden Input with react-hook-form.
@@ -1097,8 +1134,8 @@ interface UseRaydenSelectOptions<TFieldValues extends FieldValues = FieldValues,
1097
1134
  interface UseRaydenSelectReturn {
1098
1135
  value: string;
1099
1136
  onValueChange: (value: string) => void;
1137
+ /** Validation message for the field, if any. Maps to Select's `error` prop. */
1100
1138
  error?: string;
1101
- hasError: boolean;
1102
1139
  }
1103
1140
  /**
1104
1141
  * Adapter hook for using Rayden Select with react-hook-form.
@@ -1205,4 +1242,4 @@ declare function useRaydenRadio<TFieldValues extends FieldValues = FieldValues,
1205
1242
  value: string;
1206
1243
  }): UseRaydenRadioReturn<TName>;
1207
1244
 
1208
- export { Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, type AccordionType, ActivityContent, type ActivityContentAction, type ActivityContentAttachment, type ActivityContentProps, type ActivityContentStyle, type ActivityContentVariant, ActivityItem, type ActivityItemLink, type ActivityItemProps, Alert, type AlertAction, type AlertProps, type AlertState, type AlertVariant, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarGroupSize, type AvatarProps, type AvatarSize, type AvatarStatus, type AvatarType, Badge, type BadgeColor, type BadgeProps, type BadgeSize, type BadgeType, Banner, type BannerEmphasis, type BannerProps, type BannerSize, type BannerStatus, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, type BreadcrumbSeparator, Button, type ButtonAppearance, ButtonGroup, ButtonGroupItem, type ButtonGroupItemProps, type ButtonGroupProps, type ButtonProps, type ButtonSize, type ButtonVariant, Card, CardBody, type CardBodyProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, CardImage, type CardImagePosition, type CardImageProps, type CardProps, type CardRounded, type CardShadow, type CardSize, type CardVariant, type ChartType, Checkbox, type CheckboxProps, Chip, type ChipProps, Counter, type CounterProps, type CounterShape, type CounterSize, DatePicker, type DatePickerMode, type DatePickerProps, Divider, type DividerProps, type DividerVariant, type DropZoneState, DropdownMenu, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, type DropdownMenuGroupProps, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, type DropdownMenuProps, DropdownMenuSeparator, type DropdownMenuSeparatorProps, DropdownMenuTrigger, type DropdownMenuTriggerProps, EmptyStateIllustration, type EmptyStateIllustrationProps, FileUpload, FileUploadDropZone, type FileUploadDropZoneProps, type FileUploadFileData, FileUploadItem, type FileUploadItemProps, type FileUploadItemStatus, type FileUploadProps, Icon, IconName, type IconProps, type IconSize, IconVariant, type IllustrationName, Input, type InputProps, type InputSize, LinearStepper, type LinearStepperProps, MetricsCard, type MetricsCardCta, type MetricsCardProps, type MetricsCardStatusBadge, type MetricsCardTrend, type MetricsCardTrendBadge, type MetricsCardVariation, Modal, type ModalProps, type ModalSize, NumberCounter, type NumberCounterColor, type NumberCounterProps, type NumberCounterSize, Pagination, type PaginationProps, ProgressBar, type ProgressBarProps, type ProgressBarSize, type ProgressBarType, ProgressCircle, type ProgressCircleProps, type ProgressCircleSize, type ProgressCircleStyle, Radio, type RadioProps, RangeSlider, type RangeSliderProps, RaydenChart, type RaydenChartProps, type ResolvedTheme, SegmentedStepper, type SegmentedStepperProps, Select, SelectOption, type SelectOptionProps, type SelectProps, SidebarMenu, type SidebarMenuContextValue, SidebarMenuItem, type SidebarMenuItemProps, type SidebarMenuProps, SidebarMenuSection, type SidebarMenuSectionProps, SidebarMenuSub, SidebarMenuSubItem, type SidebarMenuSubItemProps, type SidebarMenuSubProps, type SidebarMenuTheme, Slider, type SliderProps, type SliderSize, type SortDirection, Spinner, type SpinnerLabelPosition, type SpinnerProps, type SpinnerSize, type SpinnerStyle, type SpinnerType, type StepIndicator, type StepItem, type StepStatus, Stepper, type StepperOrientation, type StepperProps, Tab, type TabProps, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableHead, type TableHeadProps, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableRowProps, Tabs, type TabsOrientation, type TabsProps, type TabsSize, type TabsVariant, type Theme, ThemeProvider, type ThemeProviderProps, Toggle, type ToggleProps, Tooltip, type TooltipAction, type TooltipPosition, type TooltipProps, type TooltipTheme, type UseRaydenCheckboxReturn, type UseRaydenFormControlOptions, type UseRaydenInputOptions, type UseRaydenInputReturn, type UseRaydenRadioReturn, type UseRaydenSelectOptions, type UseRaydenSelectReturn, chartColors, chartFont, cn, createGradientFill, hexToRgba, illustrationNames, useRaydenCheckbox, useRaydenInput, useRaydenRadio, useRaydenSelect, useRaydenToggle, useResolvedTheme, useTheme };
1245
+ export { Accordion, AccordionContent, type AccordionContentProps, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, type AccordionTriggerProps, type AccordionType, ActivityContent, type ActivityContentAction, type ActivityContentAttachment, type ActivityContentProps, type ActivityContentStyle, type ActivityContentVariant, ActivityItem, type ActivityItemLink, type ActivityItemProps, Alert, type AlertAction, type AlertProps, type AlertState, type AlertVariant, type AnchorSide, Avatar, AvatarGroup, type AvatarGroupProps, type AvatarGroupSize, type AvatarProps, type AvatarSize, type AvatarStatus, type AvatarType, Badge, type BadgeColor, type BadgeProps, type BadgeSize, type BadgeType, Banner, type BannerEmphasis, type BannerProps, type BannerSize, type BannerStatus, Breadcrumb, type BreadcrumbItem, type BreadcrumbProps, type BreadcrumbSeparator, Button, type ButtonAppearance, type ButtonElement, ButtonGroup, ButtonGroupItem, type ButtonGroupItemProps, type ButtonGroupProps, type ButtonProps, type ButtonSize, type ButtonVariant, Card, CardBody, type CardBodyProps, CardFooter, type CardFooterProps, CardHeader, type CardHeaderProps, CardImage, type CardImagePosition, type CardImageProps, type CardProps, type CardRounded, type CardShadow, type CardSize, type CardVariant, Checkbox, type CheckboxProps, Chip, type ChipProps, Counter, type CounterProps, type CounterShape, type CounterSize, DatePicker, type DatePickerMode, type DatePickerProps, Divider, type DividerProps, type DividerVariant, type DropZoneState, DropdownMenu, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, type DropdownMenuGroupProps, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, type DropdownMenuProps, DropdownMenuSeparator, type DropdownMenuSeparatorProps, DropdownMenuTrigger, type DropdownMenuTriggerProps, EmptyStateIllustration, type EmptyStateIllustrationProps, FileUpload, FileUploadDropZone, type FileUploadDropZoneProps, type FileUploadFileData, FileUploadItem, type FileUploadItemProps, type FileUploadItemStatus, type FileUploadProps, Icon, IconName, type IconProps, IconRecord, type IconSize, type IconSource, IconVariant, IllustrationName, Input, type InputProps, type InputSize, LinearStepper, type LinearStepperProps, MetricsCard, type MetricsCardCta, type MetricsCardProps, type MetricsCardStatusBadge, type MetricsCardTrend, type MetricsCardTrendBadge, type MetricsCardTrendSentiment, type MetricsCardVariation, Modal, type ModalProps, type ModalSize, NumberCounter, type NumberCounterColor, type NumberCounterProps, type NumberCounterSize, Pagination, type PaginationProps, ProgressBar, type ProgressBarProps, type ProgressBarSize, type ProgressBarType, ProgressCircle, type ProgressCircleProps, type ProgressCircleSize, type ProgressCircleStyle, Radio, type RadioProps, RangeSlider, type RangeSliderProps, type ResolvedTheme, SegmentedStepper, type SegmentedStepperProps, Select, SelectOption, type SelectOptionProps, type SelectProps, SidebarMenu, type SidebarMenuContextValue, SidebarMenuItem, type SidebarMenuItemProps, type SidebarMenuProps, SidebarMenuSection, type SidebarMenuSectionProps, SidebarMenuSub, SidebarMenuSubItem, type SidebarMenuSubItemProps, type SidebarMenuSubProps, type SidebarMenuTheme, Slider, type SliderProps, type SliderSize, Spinner, type SpinnerLabelPosition, type SpinnerProps, type SpinnerSize, type SpinnerStyle, type SpinnerType, type StepIndicator, type StepItem, type StepStatus, Stepper, type StepperOrientation, type StepperProps, Tab, type TabProps, Tabs, type TabsOrientation, type TabsProps, type TabsSize, type TabsVariant, type Theme, ThemeProvider, type ThemeProviderProps, Toggle, type ToggleProps, Tooltip, type TooltipAction, type TooltipPosition, type TooltipProps, type TooltipTheme, type UseRaydenCheckboxReturn, type UseRaydenFormControlOptions, type UseRaydenInputOptions, type UseRaydenInputReturn, type UseRaydenRadioReturn, type UseRaydenSelectOptions, type UseRaydenSelectReturn, cn, useCollisionAwareSide, useRaydenCheckbox, useRaydenInput, useRaydenRadio, useRaydenSelect, useRaydenToggle, useResolvedTheme, useTheme };