@blurrow/ui 0.2.0 → 0.2.1

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 (271) hide show
  1. package/README.md +48 -36
  2. package/dist/Accordion.d.ts +17 -0
  3. package/dist/Accordion.js +138 -0
  4. package/dist/Accordion.js.map +1 -0
  5. package/dist/Alert.d.ts +13 -0
  6. package/dist/Alert.js +69 -0
  7. package/dist/Alert.js.map +1 -0
  8. package/dist/AuthorCard.d.ts +12 -0
  9. package/dist/AuthorCard.js +57 -0
  10. package/dist/AuthorCard.js.map +1 -0
  11. package/dist/Avatar.d.ts +21 -0
  12. package/dist/Avatar.js +96 -0
  13. package/dist/Avatar.js.map +1 -0
  14. package/dist/Badge.d.ts +12 -0
  15. package/dist/Badge.js +46 -0
  16. package/dist/Badge.js.map +1 -0
  17. package/dist/Banner.d.ts +15 -0
  18. package/dist/Banner.js +68 -0
  19. package/dist/Banner.js.map +1 -0
  20. package/dist/Breadcrumb.d.ts +13 -0
  21. package/dist/Breadcrumb.js +45 -0
  22. package/dist/Breadcrumb.js.map +1 -0
  23. package/dist/Button.d.ts +19 -0
  24. package/dist/Button.js +282 -0
  25. package/dist/Button.js.map +1 -0
  26. package/dist/ButtonGroup.d.ts +19 -0
  27. package/dist/ButtonGroup.js +62 -0
  28. package/dist/ButtonGroup.js.map +1 -0
  29. package/dist/Card.d.ts +40 -0
  30. package/dist/Card.js +175 -0
  31. package/dist/Card.js.map +1 -0
  32. package/dist/CardShell.d.ts +18 -0
  33. package/dist/CardShell.js +58 -0
  34. package/dist/CardShell.js.map +1 -0
  35. package/dist/Carousel.d.ts +22 -0
  36. package/dist/Carousel.js +247 -0
  37. package/dist/Carousel.js.map +1 -0
  38. package/dist/Checkbox.d.ts +15 -0
  39. package/dist/Checkbox.js +84 -0
  40. package/dist/Checkbox.js.map +1 -0
  41. package/dist/CloseButton.d.ts +12 -0
  42. package/dist/CloseButton.js +63 -0
  43. package/dist/CloseButton.js.map +1 -0
  44. package/dist/CodeBlock.d.ts +12 -0
  45. package/dist/CodeBlock.js +221 -0
  46. package/dist/CodeBlock.js.map +1 -0
  47. package/dist/ColorPicker.d.ts +24 -0
  48. package/dist/ColorPicker.js +366 -0
  49. package/dist/ColorPicker.js.map +1 -0
  50. package/dist/Combobox.d.ts +34 -0
  51. package/dist/Combobox.js +255 -0
  52. package/dist/Combobox.js.map +1 -0
  53. package/dist/CommandPalette.d.ts +25 -0
  54. package/dist/CommandPalette.js +304 -0
  55. package/dist/CommandPalette.js.map +1 -0
  56. package/dist/ContextMenu.d.ts +16 -0
  57. package/dist/ContextMenu.js +209 -0
  58. package/dist/ContextMenu.js.map +1 -0
  59. package/dist/DataList.d.ts +15 -0
  60. package/dist/DataList.js +42 -0
  61. package/dist/DataList.js.map +1 -0
  62. package/dist/DatePicker.d.ts +65 -0
  63. package/dist/DatePicker.js +391 -0
  64. package/dist/DatePicker.js.map +1 -0
  65. package/dist/DateRangePicker.d.ts +34 -0
  66. package/dist/DateRangePicker.js +180 -0
  67. package/dist/DateRangePicker.js.map +1 -0
  68. package/dist/Drawer.d.ts +17 -0
  69. package/dist/Drawer.js +132 -0
  70. package/dist/Drawer.js.map +1 -0
  71. package/dist/DropdownMenu.d.ts +23 -0
  72. package/dist/DropdownMenu.js +185 -0
  73. package/dist/DropdownMenu.js.map +1 -0
  74. package/dist/EmptyState.d.ts +13 -0
  75. package/dist/EmptyState.js +55 -0
  76. package/dist/EmptyState.js.map +1 -0
  77. package/dist/FieldMessage.d.ts +26 -0
  78. package/dist/FieldMessage.js +95 -0
  79. package/dist/FieldMessage.js.map +1 -0
  80. package/dist/FileUpload.d.ts +32 -0
  81. package/dist/FileUpload.js +253 -0
  82. package/dist/FileUpload.js.map +1 -0
  83. package/dist/Floating.d.ts +32 -0
  84. package/dist/Floating.js +95 -0
  85. package/dist/Floating.js.map +1 -0
  86. package/dist/HoverCard.d.ts +18 -0
  87. package/dist/HoverCard.js +90 -0
  88. package/dist/HoverCard.js.map +1 -0
  89. package/dist/Input.d.ts +17 -0
  90. package/dist/Input.js +96 -0
  91. package/dist/Input.js.map +1 -0
  92. package/dist/Kbd.d.ts +9 -0
  93. package/dist/Kbd.js +24 -0
  94. package/dist/Kbd.js.map +1 -0
  95. package/dist/Modal.d.ts +15 -0
  96. package/dist/Modal.js +109 -0
  97. package/dist/Modal.js.map +1 -0
  98. package/dist/NumberInput.d.ts +23 -0
  99. package/dist/NumberInput.js +162 -0
  100. package/dist/NumberInput.js.map +1 -0
  101. package/dist/OtpInput.d.ts +26 -0
  102. package/dist/OtpInput.js +173 -0
  103. package/dist/OtpInput.js.map +1 -0
  104. package/dist/Pagination.d.ts +11 -0
  105. package/dist/Pagination.js +148 -0
  106. package/dist/Pagination.js.map +1 -0
  107. package/dist/Popover.d.ts +13 -0
  108. package/dist/Popover.js +98 -0
  109. package/dist/Popover.js.map +1 -0
  110. package/dist/Progress.d.ts +12 -0
  111. package/dist/Progress.js +61 -0
  112. package/dist/Progress.js.map +1 -0
  113. package/dist/QuoteCard.d.ts +13 -0
  114. package/dist/QuoteCard.js +92 -0
  115. package/dist/QuoteCard.js.map +1 -0
  116. package/dist/Radio.d.ts +19 -0
  117. package/dist/Radio.js +161 -0
  118. package/dist/Radio.js.map +1 -0
  119. package/dist/RadioCards.d.ts +27 -0
  120. package/dist/RadioCards.js +205 -0
  121. package/dist/RadioCards.js.map +1 -0
  122. package/dist/ReactionBar.d.ts +15 -0
  123. package/dist/ReactionBar.js +92 -0
  124. package/dist/ReactionBar.js.map +1 -0
  125. package/dist/ReadingProgress.d.ts +8 -0
  126. package/dist/ReadingProgress.js +51 -0
  127. package/dist/ReadingProgress.js.map +1 -0
  128. package/dist/ReadingTime.d.ts +9 -0
  129. package/dist/ReadingTime.js +39 -0
  130. package/dist/ReadingTime.js.map +1 -0
  131. package/dist/Select.d.ts +20 -0
  132. package/dist/Select.js +244 -0
  133. package/dist/Select.js.map +1 -0
  134. package/dist/Separator.d.ts +14 -0
  135. package/dist/Separator.js +33 -0
  136. package/dist/Separator.js.map +1 -0
  137. package/dist/ShareButtons.d.ts +10 -0
  138. package/dist/ShareButtons.js +107 -0
  139. package/dist/ShareButtons.js.map +1 -0
  140. package/dist/Sidebar.d.ts +30 -0
  141. package/dist/Sidebar.js +140 -0
  142. package/dist/Sidebar.js.map +1 -0
  143. package/dist/Skeleton.d.ts +15 -0
  144. package/dist/Skeleton.js +67 -0
  145. package/dist/Skeleton.js.map +1 -0
  146. package/dist/Slider.d.ts +27 -0
  147. package/dist/Slider.js +182 -0
  148. package/dist/Slider.js.map +1 -0
  149. package/dist/Spinner.d.ts +12 -0
  150. package/dist/Spinner.js +24 -0
  151. package/dist/Spinner.js.map +1 -0
  152. package/dist/SpotlightCard.d.ts +17 -0
  153. package/dist/SpotlightCard.js +87 -0
  154. package/dist/SpotlightCard.js.map +1 -0
  155. package/dist/Stat.d.ts +19 -0
  156. package/dist/Stat.js +71 -0
  157. package/dist/Stat.js.map +1 -0
  158. package/dist/StatCard.d.ts +24 -0
  159. package/dist/StatCard.js +212 -0
  160. package/dist/StatCard.js.map +1 -0
  161. package/dist/Steps.d.ts +14 -0
  162. package/dist/Steps.js +94 -0
  163. package/dist/Steps.js.map +1 -0
  164. package/dist/Table.d.ts +21 -0
  165. package/dist/Table.js +93 -0
  166. package/dist/Table.js.map +1 -0
  167. package/dist/TableOfContents.d.ts +17 -0
  168. package/dist/TableOfContents.js +92 -0
  169. package/dist/TableOfContents.js.map +1 -0
  170. package/dist/Tabs.d.ts +17 -0
  171. package/dist/Tabs.js +123 -0
  172. package/dist/Tabs.js.map +1 -0
  173. package/dist/TagInput.d.ts +16 -0
  174. package/dist/TagInput.js +169 -0
  175. package/dist/TagInput.js.map +1 -0
  176. package/dist/Textarea.d.ts +13 -0
  177. package/dist/Textarea.js +74 -0
  178. package/dist/Textarea.js.map +1 -0
  179. package/dist/TimePicker.d.ts +28 -0
  180. package/dist/TimePicker.js +264 -0
  181. package/dist/TimePicker.js.map +1 -0
  182. package/dist/Timeline.d.ts +19 -0
  183. package/dist/Timeline.js +76 -0
  184. package/dist/Timeline.js.map +1 -0
  185. package/dist/Toast.d.ts +18 -0
  186. package/dist/Toast.js +318 -0
  187. package/dist/Toast.js.map +1 -0
  188. package/dist/Toggle.d.ts +13 -0
  189. package/dist/Toggle.js +84 -0
  190. package/dist/Toggle.js.map +1 -0
  191. package/dist/Tooltip.d.ts +13 -0
  192. package/dist/Tooltip.js +138 -0
  193. package/dist/Tooltip.js.map +1 -0
  194. package/dist/cli.js +172 -5
  195. package/dist/index.d.ts +68 -631
  196. package/dist/index.js +67 -5558
  197. package/dist/index.js.map +1 -1
  198. package/dist/registry/Accordion.tsx +6 -6
  199. package/dist/registry/Alert.tsx +13 -10
  200. package/dist/registry/AuthorCard.tsx +7 -7
  201. package/dist/registry/Avatar.tsx +5 -5
  202. package/dist/registry/Badge.tsx +12 -15
  203. package/dist/registry/Banner.tsx +15 -18
  204. package/dist/registry/Breadcrumb.tsx +3 -3
  205. package/dist/registry/Button.tsx +58 -69
  206. package/dist/registry/ButtonGroup.tsx +9 -9
  207. package/dist/registry/Card.tsx +15 -15
  208. package/dist/registry/CardShell.tsx +6 -6
  209. package/dist/registry/Carousel.tsx +19 -15
  210. package/dist/registry/Checkbox.tsx +14 -9
  211. package/dist/registry/CloseButton.tsx +2 -2
  212. package/dist/registry/CodeBlock.tsx +15 -15
  213. package/dist/registry/ColorPicker.tsx +404 -0
  214. package/dist/registry/Combobox.tsx +318 -0
  215. package/dist/registry/CommandPalette.tsx +31 -24
  216. package/dist/registry/ContextMenu.tsx +241 -0
  217. package/dist/registry/DataList.tsx +4 -4
  218. package/dist/registry/DatePicker.tsx +494 -0
  219. package/dist/registry/DateRangePicker.tsx +232 -0
  220. package/dist/registry/Drawer.tsx +17 -15
  221. package/dist/registry/DropdownMenu.tsx +39 -77
  222. package/dist/registry/EmptyState.tsx +8 -8
  223. package/dist/registry/FieldMessage.tsx +123 -0
  224. package/dist/registry/FileUpload.tsx +318 -0
  225. package/dist/registry/Floating.tsx +134 -0
  226. package/dist/registry/HoverCard.tsx +113 -0
  227. package/dist/registry/Input.tsx +54 -43
  228. package/dist/registry/Kbd.tsx +4 -5
  229. package/dist/registry/Modal.tsx +17 -15
  230. package/dist/registry/NumberInput.tsx +183 -0
  231. package/dist/registry/OtpInput.tsx +219 -0
  232. package/dist/registry/Pagination.tsx +15 -18
  233. package/dist/registry/Popover.tsx +40 -45
  234. package/dist/registry/Progress.tsx +4 -4
  235. package/dist/registry/QuoteCard.tsx +7 -7
  236. package/dist/registry/Radio.tsx +24 -21
  237. package/dist/registry/RadioCards.tsx +247 -0
  238. package/dist/registry/ReactionBar.tsx +5 -5
  239. package/dist/registry/ReadingProgress.tsx +2 -2
  240. package/dist/registry/ReadingTime.tsx +2 -2
  241. package/dist/registry/Select.tsx +28 -53
  242. package/dist/registry/Separator.tsx +52 -0
  243. package/dist/registry/ShareButtons.tsx +2 -2
  244. package/dist/registry/Sidebar.tsx +18 -18
  245. package/dist/registry/Skeleton.tsx +1 -1
  246. package/dist/registry/Slider.tsx +229 -0
  247. package/dist/registry/Spinner.tsx +32 -0
  248. package/dist/registry/SpotlightCard.tsx +6 -6
  249. package/dist/registry/Stat.tsx +4 -4
  250. package/dist/registry/StatCard.tsx +19 -19
  251. package/dist/registry/Steps.tsx +7 -7
  252. package/dist/registry/Table.tsx +12 -10
  253. package/dist/registry/TableOfContents.tsx +8 -8
  254. package/dist/registry/Tabs.tsx +6 -6
  255. package/dist/registry/TagInput.tsx +9 -9
  256. package/dist/registry/Textarea.tsx +5 -5
  257. package/dist/registry/TimePicker.tsx +315 -0
  258. package/dist/registry/Timeline.tsx +14 -14
  259. package/dist/registry/Toast.tsx +15 -12
  260. package/dist/registry/Toggle.tsx +7 -10
  261. package/dist/registry/Tooltip.tsx +21 -73
  262. package/dist/registry/styles.css +868 -62
  263. package/dist/registry/useFloatingPanel.ts +112 -0
  264. package/dist/styles.css +868 -62
  265. package/dist/useFloatingPanel.d.ts +24 -0
  266. package/dist/useFloatingPanel.js +89 -0
  267. package/dist/useFloatingPanel.js.map +1 -0
  268. package/dist/useModalBehavior.d.ts +15 -0
  269. package/dist/useModalBehavior.js +57 -0
  270. package/dist/useModalBehavior.js.map +1 -0
  271. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -1,631 +1,68 @@
1
- import * as react_jsx_runtime from 'react/jsx-runtime';
2
- import React, { ReactNode, RefObject } from 'react';
3
-
4
- interface AccordionItem {
5
- key: string;
6
- title: string;
7
- content: ReactNode;
8
- defaultOpen?: boolean;
9
- }
10
- interface AccordionProps {
11
- items: AccordionItem[];
12
- allowMultiple?: boolean;
13
- className?: string;
14
- }
15
- declare function Accordion({ items, allowMultiple, className }: AccordionProps): react_jsx_runtime.JSX.Element;
16
-
17
- type AlertVariant = "default" | "success" | "warning" | "error";
18
- interface AlertProps {
19
- variant?: AlertVariant;
20
- title: string;
21
- description?: string;
22
- onDismiss?: () => void;
23
- className?: string;
24
- }
25
- declare function Alert({ variant, title, description, onDismiss, className }: AlertProps): react_jsx_runtime.JSX.Element;
26
-
27
- interface AuthorCardProps {
28
- name: string;
29
- bio?: string;
30
- avatarSrc?: string;
31
- onFollow?: () => void;
32
- className?: string;
33
- }
34
- declare function AuthorCard({ name, bio, avatarSrc, onFollow, className, }: AuthorCardProps): react_jsx_runtime.JSX.Element;
35
-
36
- type AvatarSize = "sm" | "md" | "lg";
37
- interface AvatarProps {
38
- src?: string;
39
- alt?: string;
40
- name?: string;
41
- size?: AvatarSize;
42
- className?: string;
43
- }
44
- declare function Avatar({ src, alt, name, size, className, }: AvatarProps): react_jsx_runtime.JSX.Element;
45
- interface AvatarGroupProps {
46
- children: React.ReactNode;
47
- max?: number;
48
- size?: AvatarSize;
49
- className?: string;
50
- }
51
- declare function AvatarGroup({ children, max, size, className, }: AvatarGroupProps): react_jsx_runtime.JSX.Element;
52
-
53
- type BadgeVariant = "default" | "muted" | "accent";
54
- interface BadgeProps {
55
- variant?: BadgeVariant;
56
- children: React.ReactNode;
57
- className?: string;
58
- }
59
- declare function Badge({ variant, children, className, }: BadgeProps): react_jsx_runtime.JSX.Element;
60
-
61
- type BannerVariant = "default" | "accent" | "warning";
62
- declare function Banner({ variant, children, icon, dismissible, onDismiss, action, className, }: {
63
- variant?: BannerVariant;
64
- children: ReactNode;
65
- icon?: ReactNode;
66
- dismissible?: boolean;
67
- onDismiss?: () => void;
68
- action?: ReactNode;
69
- className?: string;
70
- }): react_jsx_runtime.JSX.Element;
71
-
72
- interface BreadcrumbItem {
73
- label: string;
74
- href?: string;
75
- }
76
- interface BreadcrumbProps {
77
- items: BreadcrumbItem[];
78
- className?: string;
79
- }
80
- declare function Breadcrumb({ items, className }: BreadcrumbProps): react_jsx_runtime.JSX.Element;
81
-
82
- type ButtonVariant = "primary" | "secondary" | "ghost" | "outline";
83
- type ButtonSize = "sm" | "md" | "lg" | "icon";
84
- interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
85
- variant?: ButtonVariant;
86
- size?: ButtonSize;
87
- children: React.ReactNode;
88
- fullWidth?: boolean;
89
- /** Surface the button sits on. On dark cards, secondary/outline switch to a
90
- dark face so they don't glare against the card. */
91
- tone?: "light" | "dark";
92
- /** Equal width and height, for icon-only layered buttons. */
93
- square?: boolean;
94
- }
95
- declare function Button({ variant, size, fullWidth, tone, square, className, children, disabled, onClick, onPointerDown, onPointerUp, onPointerLeave, onPointerCancel, onPointerEnter, style, ...rest }: ButtonProps): react_jsx_runtime.JSX.Element;
96
-
97
- interface ButtonGroupItem {
98
- label: string;
99
- content: React.ReactNode;
100
- onClick?: () => void;
101
- href?: string;
102
- /** Sized to its content; otherwise a square key for a lone icon */
103
- wide?: boolean;
104
- }
105
- interface ButtonGroupProps {
106
- items: ButtonGroupItem[];
107
- label: string;
108
- className?: string;
109
- }
110
- declare function ButtonGroup({ items, label, className }: ButtonGroupProps): react_jsx_runtime.JSX.Element;
111
-
112
- type CardTheme = "light" | "dark";
113
- interface SplitCardProps {
114
- title?: string;
115
- subtitle?: string;
116
- icon?: React.ReactNode;
117
- image?: React.ReactNode;
118
- imageSrc?: string;
119
- imageAlt?: string;
120
- actions?: React.ReactNode;
121
- theme?: CardTheme;
122
- className?: string;
123
- children?: React.ReactNode;
124
- layout?: "split";
125
- }
126
- interface StackCardProps {
127
- title?: string;
128
- badge?: React.ReactNode;
129
- subtitle?: string;
130
- note?: string;
131
- image?: React.ReactNode;
132
- imageSrc?: string;
133
- imageAlt?: string;
134
- imageBg?: string;
135
- actions?: React.ReactNode;
136
- className?: string;
137
- children?: React.ReactNode;
138
- layout: "stack";
139
- }
140
- type CardProps = SplitCardProps | StackCardProps;
141
- declare function Card(props: CardProps): react_jsx_runtime.JSX.Element;
142
- interface CardGridProps {
143
- children: React.ReactNode;
144
- className?: string;
145
- }
146
- declare function CardGrid({ children, className }: CardGridProps): react_jsx_runtime.JSX.Element;
147
-
148
- type Theme = "light" | "dark";
149
- interface CardShellProps {
150
- theme?: Theme;
151
- /** Controls and context: actions, attribution, deltas. Lives on the chassis. */
152
- rail?: React.ReactNode;
153
- /** "actions" for buttons; "text" for plain context, indented to the face's text edge */
154
- railKind?: "actions" | "text";
155
- as?: "div" | "figure" | "article";
156
- className?: string;
157
- faceClassName?: string;
158
- children: React.ReactNode;
159
- }
160
- declare function CardShell({ theme, rail, railKind, as: Tag, className, faceClassName, children, }: CardShellProps): react_jsx_runtime.JSX.Element;
161
-
162
- interface CarouselProps {
163
- items: React.ReactNode[];
164
- autoPlay?: boolean;
165
- interval?: number;
166
- className?: string;
167
- }
168
- declare function Carousel({ items, autoPlay, interval, className, }: CarouselProps): react_jsx_runtime.JSX.Element;
169
- type SlideTheme = "dark" | "light" | "tint";
170
- interface CarouselSlideProps {
171
- theme?: SlideTheme;
172
- /** Background for the "tint" theme */
173
- tint?: string;
174
- icon?: React.ReactNode;
175
- title: React.ReactNode;
176
- meta?: React.ReactNode;
177
- }
178
- declare function CarouselSlide({ theme, tint, icon, title, meta }: CarouselSlideProps): react_jsx_runtime.JSX.Element;
179
-
180
- interface CheckboxProps {
181
- checked?: boolean;
182
- defaultChecked?: boolean;
183
- onChange?: (checked: boolean) => void;
184
- label?: string;
185
- description?: string;
186
- disabled?: boolean;
187
- indeterminate?: boolean;
188
- className?: string;
189
- }
190
- declare function Checkbox({ checked, defaultChecked, onChange, label, description, disabled, indeterminate, className, }: CheckboxProps): react_jsx_runtime.JSX.Element;
191
-
192
- interface CloseButtonProps {
193
- onClick?: () => void;
194
- label?: string;
195
- size?: "sm" | "md";
196
- tone?: "light" | "dark";
197
- className?: string;
198
- }
199
- declare function CloseButton({ onClick, label, size, tone, className, }: CloseButtonProps): react_jsx_runtime.JSX.Element;
200
-
201
- interface CodeBlockProps {
202
- code: string;
203
- language?: string;
204
- showLineNumbers?: boolean;
205
- title?: string;
206
- className?: string;
207
- }
208
- declare function CodeBlock({ code, language, showLineNumbers, title, className, }: CodeBlockProps): react_jsx_runtime.JSX.Element;
209
-
210
- interface CommandItem {
211
- key: string;
212
- label: string;
213
- description?: string;
214
- icon?: React.ReactNode;
215
- shortcut?: string;
216
- onSelect?: () => void;
217
- }
218
- interface CommandSection {
219
- title: string;
220
- items: CommandItem[];
221
- }
222
- interface CommandPaletteProps {
223
- open: boolean;
224
- onClose: () => void;
225
- sections: CommandSection[];
226
- placeholder?: string;
227
- className?: string;
228
- }
229
- declare function CommandPalette({ open, onClose, sections, placeholder, className, }: CommandPaletteProps): react_jsx_runtime.JSX.Element | null;
230
-
231
- interface DataListItem {
232
- label: string;
233
- value: React.ReactNode;
234
- }
235
- interface DataListProps {
236
- items: DataListItem[];
237
- columns?: 1 | 2;
238
- className?: string;
239
- }
240
- declare function DataList({ items, columns, className }: DataListProps): react_jsx_runtime.JSX.Element;
241
-
242
- interface DrawerProps {
243
- open: boolean;
244
- onClose: () => void;
245
- title?: string;
246
- description?: string;
247
- children?: React.ReactNode;
248
- actions?: React.ReactNode;
249
- side?: "left" | "right";
250
- size?: "sm" | "md" | "lg";
251
- className?: string;
252
- }
253
- declare function Drawer({ open, onClose, title, description, children, actions, side, size, className, }: DrawerProps): react_jsx_runtime.JSX.Element | null;
254
-
255
- type DropdownMenuPosition = "bottom-start" | "bottom-end" | "top-start" | "top-end";
256
- interface DropdownMenuItem {
257
- key: string;
258
- label: string;
259
- icon?: ReactNode;
260
- shortcut?: string;
261
- danger?: boolean;
262
- disabled?: boolean;
263
- divider?: boolean;
264
- }
265
- interface DropdownMenuProps {
266
- trigger: ReactNode;
267
- items: DropdownMenuItem[];
268
- position?: DropdownMenuPosition;
269
- onSelect?: (key: string) => void;
270
- className?: string;
271
- }
272
- declare function DropdownMenu({ trigger, items, position, onSelect, className, }: DropdownMenuProps): react_jsx_runtime.JSX.Element;
273
-
274
- interface EmptyStateProps {
275
- icon?: React.ReactNode;
276
- title: string;
277
- description?: string;
278
- action?: React.ReactNode;
279
- className?: string;
280
- }
281
- declare function EmptyState({ icon, title, description, action, className, }: EmptyStateProps): react_jsx_runtime.JSX.Element;
282
-
283
- interface InputProps extends React.InputHTMLAttributes<HTMLInputElement> {
284
- label?: string;
285
- hint?: string;
286
- error?: string;
287
- fullWidth?: boolean;
288
- iconLeft?: React.ReactNode;
289
- iconRight?: React.ReactNode;
290
- }
291
- declare function Input({ label, hint, error, fullWidth, iconLeft, iconRight, className, id, ...rest }: InputProps): react_jsx_runtime.JSX.Element;
292
-
293
- declare function Kbd({ children, className, }: {
294
- children: ReactNode;
295
- className?: string;
296
- }): react_jsx_runtime.JSX.Element;
297
-
298
- interface ModalProps {
299
- open: boolean;
300
- onClose: () => void;
301
- title?: string;
302
- description?: string;
303
- children?: React.ReactNode;
304
- actions?: React.ReactNode;
305
- className?: string;
306
- }
307
- declare function Modal({ open, onClose, title, description, children, actions, className, }: ModalProps): react_jsx_runtime.JSX.Element | null;
308
-
309
- interface PaginationProps {
310
- currentPage: number;
311
- totalPages: number;
312
- onPageChange: (page: number) => void;
313
- className?: string;
314
- }
315
- declare function Pagination({ currentPage, totalPages, onPageChange, className, }: PaginationProps): react_jsx_runtime.JSX.Element;
316
-
317
- type PopoverPosition = "top" | "bottom" | "left" | "right";
318
- interface PopoverProps {
319
- trigger: React.ReactNode;
320
- children: React.ReactNode;
321
- position?: PopoverPosition;
322
- className?: string;
323
- }
324
- declare function Popover({ trigger, children, position, className, }: PopoverProps): react_jsx_runtime.JSX.Element;
325
-
326
- interface ProgressProps {
327
- value: number;
328
- max?: number;
329
- label?: string;
330
- showValue?: boolean;
331
- className?: string;
332
- }
333
- declare function Progress({ value, max, label, showValue, className, }: ProgressProps): react_jsx_runtime.JSX.Element;
334
-
335
- interface QuoteCardProps {
336
- quote: string;
337
- author: string;
338
- role?: string;
339
- avatarSrc?: string;
340
- theme?: "light" | "dark";
341
- className?: string;
342
- }
343
- declare function QuoteCard({ quote, author, role, avatarSrc, theme, className, }: QuoteCardProps): react_jsx_runtime.JSX.Element;
344
-
345
- interface RadioOption {
346
- value: string;
347
- label: string;
348
- description?: string;
349
- disabled?: boolean;
350
- }
351
- interface RadioGroupProps {
352
- options: RadioOption[];
353
- value?: string;
354
- defaultValue?: string;
355
- onChange?: (value: string) => void;
356
- name?: string;
357
- className?: string;
358
- }
359
- declare function RadioGroup({ options, value, defaultValue, onChange, name, className, }: RadioGroupProps): react_jsx_runtime.JSX.Element;
360
-
361
- interface ReactionItem {
362
- emoji: string;
363
- label: string;
364
- count: number;
365
- active?: boolean;
366
- }
367
- interface ReactionBarProps {
368
- reactions?: ReactionItem[];
369
- className?: string;
370
- }
371
- declare function ReactionBar({ reactions: initialReactions, className, }: ReactionBarProps): react_jsx_runtime.JSX.Element;
372
-
373
- interface ReadingProgressProps {
374
- className?: string;
375
- }
376
- declare function ReadingProgress({ className }: ReadingProgressProps): react_jsx_runtime.JSX.Element;
377
-
378
- interface ReadingTimeProps {
379
- minutes: number;
380
- className?: string;
381
- }
382
- declare function ReadingTime({ minutes, className }: ReadingTimeProps): react_jsx_runtime.JSX.Element;
383
-
384
- interface SelectOption {
385
- value: string;
386
- label: string;
387
- }
388
- interface SelectProps {
389
- options: SelectOption[];
390
- value?: string;
391
- onChange?: (value: string) => void;
392
- placeholder?: string;
393
- label?: string;
394
- hint?: string;
395
- disabled?: boolean;
396
- fullWidth?: boolean;
397
- className?: string;
398
- }
399
- declare function Select({ options, value, onChange, placeholder, label, hint, disabled, fullWidth, className, }: SelectProps): react_jsx_runtime.JSX.Element;
400
-
401
- interface ShareButtonsProps {
402
- url?: string;
403
- title?: string;
404
- className?: string;
405
- }
406
- declare function ShareButtons({ url, title, className, }: ShareButtonsProps): react_jsx_runtime.JSX.Element;
407
-
408
- interface SidebarItem {
409
- key: string;
410
- label: string;
411
- icon?: React.ReactNode;
412
- badge?: string | number;
413
- disabled?: boolean;
414
- }
415
- interface SidebarSection {
416
- title?: string;
417
- items: SidebarItem[];
418
- }
419
- interface SidebarHeader {
420
- logo?: React.ReactNode;
421
- title: string;
422
- subtitle?: string;
423
- }
424
- interface SidebarProps {
425
- sections: SidebarSection[];
426
- header?: SidebarHeader;
427
- defaultActive?: string;
428
- active?: string;
429
- onSelect?: (key: string) => void;
430
- className?: string;
431
- }
432
- declare function Sidebar({ sections, header, defaultActive, active, onSelect, className, }: SidebarProps): react_jsx_runtime.JSX.Element;
433
-
434
- type SkeletonVariant = "text" | "circle" | "rect" | "card";
435
- interface SkeletonProps {
436
- variant?: SkeletonVariant;
437
- width?: string | number;
438
- height?: string | number;
439
- lines?: number;
440
- className?: string;
441
- /** What is loading, for screen readers */
442
- label?: string;
443
- }
444
- declare function Skeleton({ variant, width, height, lines, className, label, }: SkeletonProps): react_jsx_runtime.JSX.Element;
445
-
446
- interface SpotlightCardProps {
447
- title: string;
448
- subtitle?: string;
449
- eyebrow?: string;
450
- icon?: React.ReactNode;
451
- actions?: React.ReactNode;
452
- children?: React.ReactNode;
453
- theme?: "light" | "dark";
454
- size?: "sm" | "md" | "lg";
455
- className?: string;
456
- }
457
- declare function SpotlightCard({ title, subtitle, eyebrow, icon, actions, children, theme, size, className, }: SpotlightCardProps): react_jsx_runtime.JSX.Element;
458
-
459
- interface StatProps {
460
- value: number | string;
461
- label: string;
462
- prefix?: string;
463
- suffix?: string;
464
- trend?: string;
465
- className?: string;
466
- }
467
- declare function Stat({ value, label, prefix, suffix, trend, className }: StatProps): react_jsx_runtime.JSX.Element;
468
- interface StatRowProps {
469
- children: React.ReactNode;
470
- className?: string;
471
- }
472
- declare function StatRow({ children, className }: StatRowProps): react_jsx_runtime.JSX.Element;
473
-
474
- type StatTheme = "light" | "dark";
475
- type DeltaDirection = "up" | "down" | "neutral";
476
- interface StatCardProps {
477
- label: string;
478
- value: number;
479
- prefix?: string;
480
- suffix?: string;
481
- decimals?: number;
482
- delta?: {
483
- value: string;
484
- direction: DeltaDirection;
485
- };
486
- hint?: string;
487
- sparkline?: number[];
488
- icon?: React.ReactNode;
489
- theme?: StatTheme;
490
- className?: string;
491
- }
492
- declare function StatCard({ label, value, prefix, suffix, decimals, delta, hint, sparkline, icon, theme, className, }: StatCardProps): react_jsx_runtime.JSX.Element;
493
-
494
- interface StepItem {
495
- label: string;
496
- description?: string;
497
- }
498
- interface StepsProps {
499
- steps: StepItem[];
500
- current: number;
501
- className?: string;
502
- }
503
- declare function Steps({ steps, current, className }: StepsProps): react_jsx_runtime.JSX.Element;
504
-
505
- interface Column<T> {
506
- key: keyof T | string;
507
- label: string;
508
- align?: "left" | "right" | "center";
509
- render?: (value: unknown, row: T) => React.ReactNode;
510
- width?: string;
511
- }
512
- interface TableProps<T extends Record<string, unknown>> {
513
- columns: Column<T>[];
514
- rows: T[];
515
- title?: string;
516
- description?: string;
517
- className?: string;
518
- onRowClick?: (row: T) => void;
519
- }
520
- declare function Table<T extends Record<string, unknown>>({ columns, rows, title, description, className, onRowClick, }: TableProps<T>): react_jsx_runtime.JSX.Element;
521
-
522
- interface TocItem {
523
- key: string;
524
- label: string;
525
- level: 1 | 2 | 3;
526
- }
527
- interface TableOfContentsProps {
528
- items: TocItem[];
529
- activeKey?: string;
530
- defaultActiveKey?: string;
531
- onSelect?: (key: string) => void;
532
- className?: string;
533
- }
534
- declare function TableOfContents({ items, activeKey, defaultActiveKey, onSelect, className, }: TableOfContentsProps): react_jsx_runtime.JSX.Element;
535
-
536
- interface Tab {
537
- key: string;
538
- label: string;
539
- content?: React.ReactNode;
540
- }
541
- interface TabsProps {
542
- tabs: Tab[];
543
- defaultTab?: string;
544
- onChange?: (key: string) => void;
545
- className?: string;
546
- }
547
- declare function Tabs({ tabs, defaultTab, onChange, className }: TabsProps): react_jsx_runtime.JSX.Element;
548
-
549
- interface TagInputProps {
550
- value?: string[];
551
- defaultValue?: string[];
552
- onChange?: (tags: string[]) => void;
553
- placeholder?: string;
554
- label?: string;
555
- hint?: string;
556
- maxTags?: number;
557
- fullWidth?: boolean;
558
- className?: string;
559
- }
560
- declare function TagInput({ value, defaultValue, onChange, placeholder, label, hint, maxTags, fullWidth, className, }: TagInputProps): react_jsx_runtime.JSX.Element;
561
-
562
- interface TextareaProps extends React.TextareaHTMLAttributes<HTMLTextAreaElement> {
563
- label?: string;
564
- hint?: string;
565
- error?: string;
566
- fullWidth?: boolean;
567
- autoResize?: boolean;
568
- }
569
- declare function Textarea({ label, hint, error, fullWidth, autoResize, className, id, rows, onChange, ...rest }: TextareaProps): react_jsx_runtime.JSX.Element;
570
-
571
- type TimelineVariant = "default" | "success" | "warning" | "accent";
572
- interface TimelineItem {
573
- key: string;
574
- title: string;
575
- description?: string;
576
- date?: string;
577
- icon?: React.ReactNode;
578
- variant?: TimelineVariant;
579
- }
580
- interface TimelineProps {
581
- items: TimelineItem[];
582
- className?: string;
583
- }
584
- declare function Timeline({ items, className }: TimelineProps): react_jsx_runtime.JSX.Element;
585
-
586
- type ToastVariant = "default" | "success" | "warning" | "error";
587
- interface ToastContextValue {
588
- toast: (opts: {
589
- title: string;
590
- description?: string;
591
- variant?: ToastVariant;
592
- duration?: number;
593
- }) => void;
594
- }
595
- declare function useToast(): ToastContextValue;
596
- declare function ToastProvider({ children }: {
597
- children: React.ReactNode;
598
- }): react_jsx_runtime.JSX.Element;
599
-
600
- interface ToggleProps {
601
- checked?: boolean;
602
- defaultChecked?: boolean;
603
- onChange?: (checked: boolean) => void;
604
- label?: string;
605
- description?: string;
606
- disabled?: boolean;
607
- }
608
- declare function Toggle({ checked, defaultChecked, onChange, label, description, disabled, }: ToggleProps): react_jsx_runtime.JSX.Element;
609
-
610
- type TooltipPosition = "top" | "bottom" | "left" | "right";
611
- interface TooltipProps {
612
- content: string;
613
- position?: TooltipPosition;
614
- children: React.ReactNode;
615
- className?: string;
616
- }
617
- declare function Tooltip({ content, position, children, className, }: TooltipProps): react_jsx_runtime.JSX.Element;
618
-
619
- interface ModalBehaviorOptions {
620
- /** The dialog is logically open */
621
- open: boolean;
622
- /** The dialog is mounted and painted — focus can move into it */
623
- ready: boolean;
624
- ref: RefObject<HTMLElement | null>;
625
- onClose: () => void;
626
- /** Element to focus on open; defaults to the first focusable */
627
- initialFocus?: RefObject<HTMLElement | null>;
628
- }
629
- declare function useModalBehavior({ open, ready, ref, onClose, initialFocus }: ModalBehaviorOptions): void;
630
-
631
- export { Accordion, Alert, AuthorCard, Avatar, AvatarGroup, Badge, Banner, Breadcrumb, Button, ButtonGroup, type ButtonGroupItem, Card, CardGrid, CardShell, Carousel, CarouselSlide, Checkbox, CloseButton, CodeBlock, CommandPalette, DataList, Drawer, DropdownMenu, type DropdownMenuItem, EmptyState, Input, Kbd, Modal, Pagination, Popover, Progress, QuoteCard, RadioGroup, ReactionBar, type ReactionItem, ReadingProgress, ReadingTime, Select, ShareButtons, Sidebar, Skeleton, SpotlightCard, Stat, StatCard, StatRow, Steps, Table, TableOfContents, Tabs, TagInput, Textarea, Timeline, ToastProvider, type TocItem, Toggle, Tooltip, useModalBehavior, useToast };
1
+ export { Accordion } from './Accordion.js';
2
+ export { Alert } from './Alert.js';
3
+ export { AuthorCard } from './AuthorCard.js';
4
+ export { Avatar, AvatarGroup } from './Avatar.js';
5
+ export { Badge } from './Badge.js';
6
+ export { Banner } from './Banner.js';
7
+ export { Breadcrumb } from './Breadcrumb.js';
8
+ export { Button } from './Button.js';
9
+ export { ButtonGroup, ButtonGroupItem } from './ButtonGroup.js';
10
+ export { Card, CardGrid } from './Card.js';
11
+ export { CardShell } from './CardShell.js';
12
+ export { Carousel, CarouselSlide } from './Carousel.js';
13
+ export { Checkbox } from './Checkbox.js';
14
+ export { CloseButton } from './CloseButton.js';
15
+ export { CodeBlock } from './CodeBlock.js';
16
+ export { ColorPicker, normalizeHex } from './ColorPicker.js';
17
+ export { Combobox, ComboboxOption } from './Combobox.js';
18
+ export { CommandPalette } from './CommandPalette.js';
19
+ export { ContextMenu, ContextMenuItem } from './ContextMenu.js';
20
+ export { DataList } from './DataList.js';
21
+ export { Calendar, CalendarIcon, ClearKey, DatePicker, DateRange, sameDay, startOfDay, toISODate } from './DatePicker.js';
22
+ export { DateRangePicker, DateRangePreset } from './DateRangePicker.js';
23
+ export { Drawer } from './Drawer.js';
24
+ export { DropdownMenu, DropdownMenuItem } from './DropdownMenu.js';
25
+ export { EmptyState } from './EmptyState.js';
26
+ export { FieldKey, FieldLabel, FieldMessage } from './FieldMessage.js';
27
+ export { FileUpload, UploadItem, formatBytes } from './FileUpload.js';
28
+ export { Align, ENTER_FROM, LAYER, ORIGIN, Portal, Side, useAnchoredPosition } from './Floating.js';
29
+ export { HoverCard } from './HoverCard.js';
30
+ export { Input } from './Input.js';
31
+ export { Kbd } from './Kbd.js';
32
+ export { Modal } from './Modal.js';
33
+ export { NumberInput } from './NumberInput.js';
34
+ export { OtpInput } from './OtpInput.js';
35
+ export { Pagination } from './Pagination.js';
36
+ export { Popover } from './Popover.js';
37
+ export { Progress } from './Progress.js';
38
+ export { QuoteCard } from './QuoteCard.js';
39
+ export { RadioGroup } from './Radio.js';
40
+ export { RadioCardOption, RadioCards } from './RadioCards.js';
41
+ export { ReactionBar, ReactionItem } from './ReactionBar.js';
42
+ export { ReadingProgress } from './ReadingProgress.js';
43
+ export { ReadingTime } from './ReadingTime.js';
44
+ export { Select } from './Select.js';
45
+ export { Separator } from './Separator.js';
46
+ export { ShareButtons } from './ShareButtons.js';
47
+ export { Sidebar } from './Sidebar.js';
48
+ export { Skeleton } from './Skeleton.js';
49
+ export { Slider } from './Slider.js';
50
+ export { Spinner } from './Spinner.js';
51
+ export { SpotlightCard } from './SpotlightCard.js';
52
+ export { Stat, StatRow } from './Stat.js';
53
+ export { StatCard } from './StatCard.js';
54
+ export { Steps } from './Steps.js';
55
+ export { Table } from './Table.js';
56
+ export { TableOfContents, TocItem } from './TableOfContents.js';
57
+ export { Tabs } from './Tabs.js';
58
+ export { TagInput } from './TagInput.js';
59
+ export { Textarea } from './Textarea.js';
60
+ export { Timeline } from './Timeline.js';
61
+ export { TimePicker, formatTime } from './TimePicker.js';
62
+ export { ToastProvider, useToast } from './Toast.js';
63
+ export { Toggle } from './Toggle.js';
64
+ export { Tooltip } from './Tooltip.js';
65
+ export { useFloatingPanel } from './useFloatingPanel.js';
66
+ export { useModalBehavior } from './useModalBehavior.js';
67
+ import 'react/jsx-runtime';
68
+ import 'react';