@pollinations/ui 0.0.2 → 0.1.0-alpha.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 (48) hide show
  1. package/README.md +10 -6
  2. package/dist/{Button-CWUBCiIc.d.cts → Button-BvLF_Km2.d.cts} +3 -3
  3. package/dist/{Button-Bn8pGg6N.d.ts → Button-DQAZzvyQ.d.ts} +3 -3
  4. package/dist/auth/index.cjs +77 -62
  5. package/dist/auth/index.cjs.map +1 -1
  6. package/dist/auth/index.js +77 -62
  7. package/dist/auth/index.js.map +1 -1
  8. package/dist/auth/sdk.cjs +7 -6
  9. package/dist/auth/sdk.cjs.map +1 -1
  10. package/dist/auth/sdk.d.cts +1 -1
  11. package/dist/auth/sdk.d.ts +1 -1
  12. package/dist/auth/sdk.js +7 -6
  13. package/dist/auth/sdk.js.map +1 -1
  14. package/dist/compositions/app-user.cjs +497 -0
  15. package/dist/compositions/app-user.cjs.map +1 -0
  16. package/dist/compositions/app-user.d.cts +18 -0
  17. package/dist/compositions/app-user.d.ts +18 -0
  18. package/dist/compositions/app-user.js +469 -0
  19. package/dist/compositions/app-user.js.map +1 -0
  20. package/dist/index.cjs +932 -270
  21. package/dist/index.cjs.map +1 -1
  22. package/dist/index.d.cts +101 -6
  23. package/dist/index.d.ts +101 -6
  24. package/dist/index.js +891 -247
  25. package/dist/index.js.map +1 -1
  26. package/dist/modality/index.cjs +21 -18
  27. package/dist/modality/index.cjs.map +1 -1
  28. package/dist/modality/index.d.cts +6 -5
  29. package/dist/modality/index.d.ts +6 -5
  30. package/dist/modality/index.js +21 -18
  31. package/dist/modality/index.js.map +1 -1
  32. package/dist/models/index.cjs +508 -0
  33. package/dist/models/index.cjs.map +1 -0
  34. package/dist/models/index.d.cts +22 -0
  35. package/dist/models/index.d.ts +22 -0
  36. package/dist/models/index.js +486 -0
  37. package/dist/models/index.js.map +1 -0
  38. package/dist/styles.css +1 -1
  39. package/dist/wallet/index.cjs +13 -4
  40. package/dist/wallet/index.cjs.map +1 -1
  41. package/dist/wallet/index.js +13 -4
  42. package/dist/wallet/index.js.map +1 -1
  43. package/dist/wallet/sdk.cjs +2 -2
  44. package/dist/wallet/sdk.cjs.map +1 -1
  45. package/dist/wallet/sdk.js +2 -2
  46. package/dist/wallet/sdk.js.map +1 -1
  47. package/package.json +17 -5
  48. package/dist/wallet.css +0 -73
package/dist/index.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react from 'react';
2
2
  import { FC, ComponentPropsWithoutRef, ReactNode, ButtonHTMLAttributes, PropsWithChildren, CSSProperties } from 'react';
3
- export { B as Button, a as ButtonProps } from './Button-CWUBCiIc.cjs';
3
+ export { B as Button, a as ButtonProps } from './Button-BvLF_Km2.cjs';
4
4
  export { C as Chip } from './Chip-SM52sUbZ.cjs';
5
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
6
6
  import { Dialog as Dialog$1 } from '@ark-ui/react/dialog';
@@ -11,6 +11,12 @@ export { Field } from '@ark-ui/react/field';
11
11
  /** Class merge for apps consuming the unprefixed Tailwind bridge in app.css. */
12
12
  declare function cn(...inputs: (string | undefined | null | false)[]): string;
13
13
 
14
+ type RejectReason = "type" | "size" | "count";
15
+ type RejectedFile = {
16
+ file: File;
17
+ reason: RejectReason;
18
+ };
19
+
14
20
  type PeriodGranularity = "day" | "week" | "month";
15
21
  type PeriodSelection = {
16
22
  granularity: PeriodGranularity;
@@ -128,22 +134,43 @@ type DropdownProps = {
128
134
  /** Controlled open state. Omit to let the Dropdown manage its own. */
129
135
  open?: boolean;
130
136
  onOpenChange?: (open: boolean) => void;
131
- /** Replaces the default themed surface (e.g. a differently-coloured menu). */
132
- panelClassName?: string;
133
137
  /** Appended after the surface (widths, padding, max-height…). */
134
138
  className?: string;
135
139
  };
136
140
  declare const Dropdown: FC<DropdownProps>;
137
141
 
142
+ type BaseDropdownItemProps = {
143
+ className?: string;
144
+ };
145
+ type DropdownItemProps<T extends React.ElementType = "button"> = PropsWithChildren<BaseDropdownItemProps> & {
146
+ as?: T;
147
+ } & Omit<React.ComponentPropsWithoutRef<T>, keyof BaseDropdownItemProps | "as">;
148
+ declare function DropdownItem<T extends React.ElementType = "button">({ as, className, children, ...rest }: DropdownItemProps<T>): react_jsx_runtime.JSX.Element;
149
+
138
150
  type ExternalLinkButtonProps = {
139
151
  theme: ThemeName;
140
152
  href: string;
141
- size?: "small" | "medium" | "large";
153
+ size?: "sm" | "md" | "lg";
142
154
  className?: string;
143
155
  children: ReactNode;
144
156
  };
145
157
  declare const ExternalLinkButton: FC<ExternalLinkButtonProps>;
146
158
 
159
+ type FileUploadProps = {
160
+ value: File[];
161
+ onChange: (files: File[]) => void;
162
+ onReject?: (rejected: RejectedFile[]) => void;
163
+ maxFiles?: number;
164
+ maxSizeBytes?: number;
165
+ accept?: string;
166
+ /** Fully locks the field: no add, no remove, drops ignored. */
167
+ disabled?: boolean;
168
+ /** Optional cascade override; defaults to the inherited `[data-theme]`. */
169
+ theme?: ThemeName;
170
+ className?: string;
171
+ };
172
+ declare function FileUpload({ value, onChange, onReject, maxFiles, maxSizeBytes, accept, disabled, theme, className, }: FileUploadProps): react_jsx_runtime.JSX.Element;
173
+
147
174
  /** IconButton only supports `danger` (delete icons). */
148
175
  type IconButtonIntent = "danger";
149
176
  type IconButtonProps = {
@@ -170,6 +197,19 @@ type InfoTipProps = {
170
197
  */
171
198
  declare const InfoTip: FC<InfoTipProps>;
172
199
 
200
+ type BaseInlineLinkProps = {
201
+ /** Override the cascade theme for this link's subtree. */
202
+ theme?: ThemeName;
203
+ /** Set explicitly for non-http external links, or false for custom routing components. */
204
+ external?: boolean;
205
+ showIcon?: boolean;
206
+ className?: string;
207
+ };
208
+ type InlineLinkProps<T extends React.ElementType = "a"> = PropsWithChildren<BaseInlineLinkProps> & {
209
+ as?: T;
210
+ } & Omit<React.ComponentPropsWithoutRef<T>, keyof BaseInlineLinkProps | "as">;
211
+ declare function InlineLink<T extends React.ElementType = "a">({ as, theme, external, showIcon, className, children, ...linkProps }: InlineLinkProps<T>): react_jsx_runtime.JSX.Element;
212
+
173
213
  type InputProps = React.ComponentPropsWithoutRef<"input"> & {
174
214
  error?: boolean;
175
215
  hideNumberSteppers?: boolean;
@@ -204,6 +244,26 @@ declare function TrendUpIcon(props: IconProps): react_jsx_runtime.JSX.Element;
204
244
  declare function WalletIcon(props: IconProps): react_jsx_runtime.JSX.Element;
205
245
  declare function XIcon(props: IconProps): react_jsx_runtime.JSX.Element;
206
246
 
247
+ type BaseLinkCardProps = {
248
+ /** Override the cascade theme for this card's subtree. */
249
+ theme?: ThemeName;
250
+ external?: boolean;
251
+ showIcon?: boolean;
252
+ className?: string;
253
+ surfaceClassName?: string;
254
+ };
255
+ type LinkCardProps<T extends React.ElementType = "a"> = PropsWithChildren<BaseLinkCardProps> & {
256
+ as?: T;
257
+ } & Omit<React.ComponentPropsWithoutRef<T>, keyof BaseLinkCardProps | "as">;
258
+ declare function LinkCard<T extends React.ElementType = "a">({ as, theme, external, showIcon, className, surfaceClassName, children, ...linkProps }: LinkCardProps<T>): react_jsx_runtime.JSX.Element;
259
+
260
+ type MarkdownProps = {
261
+ children: string;
262
+ className?: string;
263
+ };
264
+ /** Compact markdown for cards and snippets. Use Prose for document-style content. */
265
+ declare function Markdown({ children, className }: MarkdownProps): react_jsx_runtime.JSX.Element;
266
+
207
267
  type MultiSelectOption = {
208
268
  value: string;
209
269
  label: string;
@@ -221,6 +281,24 @@ type MultiSelectProps = {
221
281
  };
222
282
  declare const MultiSelect: FC<MultiSelectProps>;
223
283
 
284
+ type BaseNavItemProps = {
285
+ /** Section color via the `[data-theme]` cascade — tints the dot + active fill. */
286
+ theme?: ThemeName;
287
+ /** Current/selected item — fills with the section color + sets `aria-current`. */
288
+ active?: boolean;
289
+ className?: string;
290
+ };
291
+ type NavItemProps<T extends React.ElementType = "button"> = PropsWithChildren<BaseNavItemProps> & {
292
+ as?: T;
293
+ } & Omit<React.ComponentPropsWithoutRef<T>, keyof BaseNavItemProps | "as">;
294
+ /**
295
+ * Minimal nav item — a themed pill with a persistent section-color dot, neutral
296
+ * when inactive and filled with the section color when active. Polymorphic:
297
+ * `<NavItem>` (button) for in-page nav, `<NavItem as={Link} active={…}>` for
298
+ * routed nav. Mirrors enter's sidebar item so both apps share one design.
299
+ */
300
+ declare function NavItem<T extends React.ElementType = "button">({ as, theme, active, className, children, ...rest }: NavItemProps<T>): react_jsx_runtime.JSX.Element;
301
+
224
302
  type PeriodPickerProps = {
225
303
  value: PeriodSelection;
226
304
  onChange: (value: PeriodSelection) => void;
@@ -230,6 +308,12 @@ type PeriodPickerProps = {
230
308
  };
231
309
  declare const PeriodPicker: FC<PeriodPickerProps>;
232
310
 
311
+ type ProseProps = {
312
+ children: string;
313
+ className?: string;
314
+ };
315
+ declare function Prose({ children, className }: ProseProps): react_jsx_runtime.JSX.Element;
316
+
233
317
  type ScrollAxis = "y" | "x";
234
318
  type ScrollAreaOwnProps = {
235
319
  /** Override the ambient cascade theme for this scroller's thumb. */
@@ -252,8 +336,11 @@ type SectionProps = {
252
336
  theme: ThemeName;
253
337
  id?: string;
254
338
  framed?: boolean;
339
+ intro?: ReactNode;
255
340
  action?: ReactNode;
256
341
  actionClassName?: string;
342
+ panelClassName?: string;
343
+ titleClassName?: string;
257
344
  children: ReactNode;
258
345
  className?: string;
259
346
  };
@@ -323,7 +410,8 @@ type TabButtonProps = {
323
410
  children: ReactNode;
324
411
  /** Optional cascade override; defaults to inherited [data-theme]. */
325
412
  theme?: ThemeName;
326
- size?: "medium" | "small";
413
+ size?: "md" | "sm";
414
+ variant?: "default" | "ghost";
327
415
  ariaLabel?: string;
328
416
  disabled?: boolean;
329
417
  className?: string;
@@ -358,6 +446,13 @@ type TableCellProps = ComponentPropsWithoutRef<"td"> & {
358
446
  };
359
447
  declare const TableCell: FC<TableCellProps>;
360
448
 
449
+ type TextareaProps = React.ComponentPropsWithoutRef<"textarea"> & {
450
+ error?: boolean;
451
+ };
452
+ declare const Textarea: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "ref"> & {
453
+ error?: boolean;
454
+ } & react.RefAttributes<HTMLTextAreaElement>>;
455
+
361
456
  type TooltipProps = {
362
457
  children: ReactNode;
363
458
  content: ReactNode;
@@ -375,4 +470,4 @@ type TooltipProps = {
375
470
  };
376
471
  declare const Tooltip: FC<TooltipProps>;
377
472
 
378
- export { Alert, type AlertProps, AppIcon, BeakerIcon, BookIcon, ButtonGroup, type ButtonGroupProps, CheckIcon, ChevronIcon, ClipboardIcon, ClockIcon, Collapsible, type CollapsibleProps, CopyButton, type CopyButtonProps, Dialog, type DialogProps, DialogTitle, DiscordIcon, DownloadIcon, Dropdown, type DropdownProps, ExternalLinkButton, type ExternalLinkButtonProps, ExternalLinkIcon, GenApiIcon, GitHubIcon, IconButton, type IconProps, ImageIcon, InfoTip, Input, type InputProps, LockIcon, MailIcon, McpIcon, MenuIcon, MultiSelect, type MultiSelectProps, type PeriodGranularity, PeriodPicker, type PeriodPickerProps, type PeriodSelection, ScrollArea, type ScrollAreaProps, Section, type SectionProps, Slider, type SliderProps, StatCard, type StatCardProps, Surface, Switch, type SwitchProps, type SwitchStatus, TabButton, type TabButtonProps, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableHead, type TableHeadProps, TableHeaderCell, type TableHeaderCellProps, type TableProps, TableRow, type TableRowProps, TerminalIcon, ThemeName, TokensIcon, Tooltip, TrendUpIcon, WalletIcon, XIcon, cn, currentPeriod, getPeriodBucketKeys, periodBucketKeyToDate, useScrollLock };
473
+ export { Alert, type AlertProps, AppIcon, BeakerIcon, BookIcon, ButtonGroup, type ButtonGroupProps, CheckIcon, ChevronIcon, ClipboardIcon, ClockIcon, Collapsible, type CollapsibleProps, CopyButton, type CopyButtonProps, Dialog, type DialogProps, DialogTitle, DiscordIcon, DownloadIcon, Dropdown, DropdownItem, type DropdownItemProps, type DropdownProps, ExternalLinkButton, type ExternalLinkButtonProps, ExternalLinkIcon, FileUpload, type FileUploadProps, GenApiIcon, GitHubIcon, IconButton, type IconProps, ImageIcon, InfoTip, InlineLink, type InlineLinkProps, Input, type InputProps, LinkCard, type LinkCardProps, LockIcon, MailIcon, Markdown, type MarkdownProps, McpIcon, MenuIcon, MultiSelect, type MultiSelectProps, NavItem, type NavItemProps, type PeriodGranularity, PeriodPicker, type PeriodPickerProps, type PeriodSelection, Prose, type ProseProps, type RejectReason, type RejectedFile, ScrollArea, type ScrollAreaProps, Section, type SectionProps, Slider, type SliderProps, StatCard, type StatCardProps, Surface, Switch, type SwitchProps, type SwitchStatus, TabButton, type TabButtonProps, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableHead, type TableHeadProps, TableHeaderCell, type TableHeaderCellProps, type TableProps, TableRow, type TableRowProps, TerminalIcon, Textarea, type TextareaProps, ThemeName, TokensIcon, Tooltip, TrendUpIcon, WalletIcon, XIcon, cn, currentPeriod, getPeriodBucketKeys, periodBucketKeyToDate, useScrollLock };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react from 'react';
2
2
  import { FC, ComponentPropsWithoutRef, ReactNode, ButtonHTMLAttributes, PropsWithChildren, CSSProperties } from 'react';
3
- export { B as Button, a as ButtonProps } from './Button-Bn8pGg6N.js';
3
+ export { B as Button, a as ButtonProps } from './Button-DQAZzvyQ.js';
4
4
  export { C as Chip } from './Chip-C5impfYd.js';
5
5
  import * as react_jsx_runtime from 'react/jsx-runtime';
6
6
  import { Dialog as Dialog$1 } from '@ark-ui/react/dialog';
@@ -11,6 +11,12 @@ export { Field } from '@ark-ui/react/field';
11
11
  /** Class merge for apps consuming the unprefixed Tailwind bridge in app.css. */
12
12
  declare function cn(...inputs: (string | undefined | null | false)[]): string;
13
13
 
14
+ type RejectReason = "type" | "size" | "count";
15
+ type RejectedFile = {
16
+ file: File;
17
+ reason: RejectReason;
18
+ };
19
+
14
20
  type PeriodGranularity = "day" | "week" | "month";
15
21
  type PeriodSelection = {
16
22
  granularity: PeriodGranularity;
@@ -128,22 +134,43 @@ type DropdownProps = {
128
134
  /** Controlled open state. Omit to let the Dropdown manage its own. */
129
135
  open?: boolean;
130
136
  onOpenChange?: (open: boolean) => void;
131
- /** Replaces the default themed surface (e.g. a differently-coloured menu). */
132
- panelClassName?: string;
133
137
  /** Appended after the surface (widths, padding, max-height…). */
134
138
  className?: string;
135
139
  };
136
140
  declare const Dropdown: FC<DropdownProps>;
137
141
 
142
+ type BaseDropdownItemProps = {
143
+ className?: string;
144
+ };
145
+ type DropdownItemProps<T extends React.ElementType = "button"> = PropsWithChildren<BaseDropdownItemProps> & {
146
+ as?: T;
147
+ } & Omit<React.ComponentPropsWithoutRef<T>, keyof BaseDropdownItemProps | "as">;
148
+ declare function DropdownItem<T extends React.ElementType = "button">({ as, className, children, ...rest }: DropdownItemProps<T>): react_jsx_runtime.JSX.Element;
149
+
138
150
  type ExternalLinkButtonProps = {
139
151
  theme: ThemeName;
140
152
  href: string;
141
- size?: "small" | "medium" | "large";
153
+ size?: "sm" | "md" | "lg";
142
154
  className?: string;
143
155
  children: ReactNode;
144
156
  };
145
157
  declare const ExternalLinkButton: FC<ExternalLinkButtonProps>;
146
158
 
159
+ type FileUploadProps = {
160
+ value: File[];
161
+ onChange: (files: File[]) => void;
162
+ onReject?: (rejected: RejectedFile[]) => void;
163
+ maxFiles?: number;
164
+ maxSizeBytes?: number;
165
+ accept?: string;
166
+ /** Fully locks the field: no add, no remove, drops ignored. */
167
+ disabled?: boolean;
168
+ /** Optional cascade override; defaults to the inherited `[data-theme]`. */
169
+ theme?: ThemeName;
170
+ className?: string;
171
+ };
172
+ declare function FileUpload({ value, onChange, onReject, maxFiles, maxSizeBytes, accept, disabled, theme, className, }: FileUploadProps): react_jsx_runtime.JSX.Element;
173
+
147
174
  /** IconButton only supports `danger` (delete icons). */
148
175
  type IconButtonIntent = "danger";
149
176
  type IconButtonProps = {
@@ -170,6 +197,19 @@ type InfoTipProps = {
170
197
  */
171
198
  declare const InfoTip: FC<InfoTipProps>;
172
199
 
200
+ type BaseInlineLinkProps = {
201
+ /** Override the cascade theme for this link's subtree. */
202
+ theme?: ThemeName;
203
+ /** Set explicitly for non-http external links, or false for custom routing components. */
204
+ external?: boolean;
205
+ showIcon?: boolean;
206
+ className?: string;
207
+ };
208
+ type InlineLinkProps<T extends React.ElementType = "a"> = PropsWithChildren<BaseInlineLinkProps> & {
209
+ as?: T;
210
+ } & Omit<React.ComponentPropsWithoutRef<T>, keyof BaseInlineLinkProps | "as">;
211
+ declare function InlineLink<T extends React.ElementType = "a">({ as, theme, external, showIcon, className, children, ...linkProps }: InlineLinkProps<T>): react_jsx_runtime.JSX.Element;
212
+
173
213
  type InputProps = React.ComponentPropsWithoutRef<"input"> & {
174
214
  error?: boolean;
175
215
  hideNumberSteppers?: boolean;
@@ -204,6 +244,26 @@ declare function TrendUpIcon(props: IconProps): react_jsx_runtime.JSX.Element;
204
244
  declare function WalletIcon(props: IconProps): react_jsx_runtime.JSX.Element;
205
245
  declare function XIcon(props: IconProps): react_jsx_runtime.JSX.Element;
206
246
 
247
+ type BaseLinkCardProps = {
248
+ /** Override the cascade theme for this card's subtree. */
249
+ theme?: ThemeName;
250
+ external?: boolean;
251
+ showIcon?: boolean;
252
+ className?: string;
253
+ surfaceClassName?: string;
254
+ };
255
+ type LinkCardProps<T extends React.ElementType = "a"> = PropsWithChildren<BaseLinkCardProps> & {
256
+ as?: T;
257
+ } & Omit<React.ComponentPropsWithoutRef<T>, keyof BaseLinkCardProps | "as">;
258
+ declare function LinkCard<T extends React.ElementType = "a">({ as, theme, external, showIcon, className, surfaceClassName, children, ...linkProps }: LinkCardProps<T>): react_jsx_runtime.JSX.Element;
259
+
260
+ type MarkdownProps = {
261
+ children: string;
262
+ className?: string;
263
+ };
264
+ /** Compact markdown for cards and snippets. Use Prose for document-style content. */
265
+ declare function Markdown({ children, className }: MarkdownProps): react_jsx_runtime.JSX.Element;
266
+
207
267
  type MultiSelectOption = {
208
268
  value: string;
209
269
  label: string;
@@ -221,6 +281,24 @@ type MultiSelectProps = {
221
281
  };
222
282
  declare const MultiSelect: FC<MultiSelectProps>;
223
283
 
284
+ type BaseNavItemProps = {
285
+ /** Section color via the `[data-theme]` cascade — tints the dot + active fill. */
286
+ theme?: ThemeName;
287
+ /** Current/selected item — fills with the section color + sets `aria-current`. */
288
+ active?: boolean;
289
+ className?: string;
290
+ };
291
+ type NavItemProps<T extends React.ElementType = "button"> = PropsWithChildren<BaseNavItemProps> & {
292
+ as?: T;
293
+ } & Omit<React.ComponentPropsWithoutRef<T>, keyof BaseNavItemProps | "as">;
294
+ /**
295
+ * Minimal nav item — a themed pill with a persistent section-color dot, neutral
296
+ * when inactive and filled with the section color when active. Polymorphic:
297
+ * `<NavItem>` (button) for in-page nav, `<NavItem as={Link} active={…}>` for
298
+ * routed nav. Mirrors enter's sidebar item so both apps share one design.
299
+ */
300
+ declare function NavItem<T extends React.ElementType = "button">({ as, theme, active, className, children, ...rest }: NavItemProps<T>): react_jsx_runtime.JSX.Element;
301
+
224
302
  type PeriodPickerProps = {
225
303
  value: PeriodSelection;
226
304
  onChange: (value: PeriodSelection) => void;
@@ -230,6 +308,12 @@ type PeriodPickerProps = {
230
308
  };
231
309
  declare const PeriodPicker: FC<PeriodPickerProps>;
232
310
 
311
+ type ProseProps = {
312
+ children: string;
313
+ className?: string;
314
+ };
315
+ declare function Prose({ children, className }: ProseProps): react_jsx_runtime.JSX.Element;
316
+
233
317
  type ScrollAxis = "y" | "x";
234
318
  type ScrollAreaOwnProps = {
235
319
  /** Override the ambient cascade theme for this scroller's thumb. */
@@ -252,8 +336,11 @@ type SectionProps = {
252
336
  theme: ThemeName;
253
337
  id?: string;
254
338
  framed?: boolean;
339
+ intro?: ReactNode;
255
340
  action?: ReactNode;
256
341
  actionClassName?: string;
342
+ panelClassName?: string;
343
+ titleClassName?: string;
257
344
  children: ReactNode;
258
345
  className?: string;
259
346
  };
@@ -323,7 +410,8 @@ type TabButtonProps = {
323
410
  children: ReactNode;
324
411
  /** Optional cascade override; defaults to inherited [data-theme]. */
325
412
  theme?: ThemeName;
326
- size?: "medium" | "small";
413
+ size?: "md" | "sm";
414
+ variant?: "default" | "ghost";
327
415
  ariaLabel?: string;
328
416
  disabled?: boolean;
329
417
  className?: string;
@@ -358,6 +446,13 @@ type TableCellProps = ComponentPropsWithoutRef<"td"> & {
358
446
  };
359
447
  declare const TableCell: FC<TableCellProps>;
360
448
 
449
+ type TextareaProps = React.ComponentPropsWithoutRef<"textarea"> & {
450
+ error?: boolean;
451
+ };
452
+ declare const Textarea: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.TextareaHTMLAttributes<HTMLTextAreaElement>, HTMLTextAreaElement>, "ref"> & {
453
+ error?: boolean;
454
+ } & react.RefAttributes<HTMLTextAreaElement>>;
455
+
361
456
  type TooltipProps = {
362
457
  children: ReactNode;
363
458
  content: ReactNode;
@@ -375,4 +470,4 @@ type TooltipProps = {
375
470
  };
376
471
  declare const Tooltip: FC<TooltipProps>;
377
472
 
378
- export { Alert, type AlertProps, AppIcon, BeakerIcon, BookIcon, ButtonGroup, type ButtonGroupProps, CheckIcon, ChevronIcon, ClipboardIcon, ClockIcon, Collapsible, type CollapsibleProps, CopyButton, type CopyButtonProps, Dialog, type DialogProps, DialogTitle, DiscordIcon, DownloadIcon, Dropdown, type DropdownProps, ExternalLinkButton, type ExternalLinkButtonProps, ExternalLinkIcon, GenApiIcon, GitHubIcon, IconButton, type IconProps, ImageIcon, InfoTip, Input, type InputProps, LockIcon, MailIcon, McpIcon, MenuIcon, MultiSelect, type MultiSelectProps, type PeriodGranularity, PeriodPicker, type PeriodPickerProps, type PeriodSelection, ScrollArea, type ScrollAreaProps, Section, type SectionProps, Slider, type SliderProps, StatCard, type StatCardProps, Surface, Switch, type SwitchProps, type SwitchStatus, TabButton, type TabButtonProps, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableHead, type TableHeadProps, TableHeaderCell, type TableHeaderCellProps, type TableProps, TableRow, type TableRowProps, TerminalIcon, ThemeName, TokensIcon, Tooltip, TrendUpIcon, WalletIcon, XIcon, cn, currentPeriod, getPeriodBucketKeys, periodBucketKeyToDate, useScrollLock };
473
+ export { Alert, type AlertProps, AppIcon, BeakerIcon, BookIcon, ButtonGroup, type ButtonGroupProps, CheckIcon, ChevronIcon, ClipboardIcon, ClockIcon, Collapsible, type CollapsibleProps, CopyButton, type CopyButtonProps, Dialog, type DialogProps, DialogTitle, DiscordIcon, DownloadIcon, Dropdown, DropdownItem, type DropdownItemProps, type DropdownProps, ExternalLinkButton, type ExternalLinkButtonProps, ExternalLinkIcon, FileUpload, type FileUploadProps, GenApiIcon, GitHubIcon, IconButton, type IconProps, ImageIcon, InfoTip, InlineLink, type InlineLinkProps, Input, type InputProps, LinkCard, type LinkCardProps, LockIcon, MailIcon, Markdown, type MarkdownProps, McpIcon, MenuIcon, MultiSelect, type MultiSelectProps, NavItem, type NavItemProps, type PeriodGranularity, PeriodPicker, type PeriodPickerProps, type PeriodSelection, Prose, type ProseProps, type RejectReason, type RejectedFile, ScrollArea, type ScrollAreaProps, Section, type SectionProps, Slider, type SliderProps, StatCard, type StatCardProps, Surface, Switch, type SwitchProps, type SwitchStatus, TabButton, type TabButtonProps, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableHead, type TableHeadProps, TableHeaderCell, type TableHeaderCellProps, type TableProps, TableRow, type TableRowProps, TerminalIcon, Textarea, type TextareaProps, ThemeName, TokensIcon, Tooltip, TrendUpIcon, WalletIcon, XIcon, cn, currentPeriod, getPeriodBucketKeys, periodBucketKeyToDate, useScrollLock };