@pollinations/ui 0.0.1 → 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 (65) hide show
  1. package/README.md +25 -16
  2. package/dist/{Button-DMJ2K6Gr.d.ts → Button-BvLF_Km2.d.cts} +4 -4
  3. package/dist/{Button-CNzpisJf.d.cts → Button-DQAZzvyQ.d.ts} +4 -4
  4. package/dist/{Chip-BS8ronOu.d.ts → Chip-C5impfYd.d.ts} +2 -2
  5. package/dist/{Chip-DyqWrq0r.d.cts → Chip-SM52sUbZ.d.cts} +2 -2
  6. package/dist/app.css +1 -1
  7. package/dist/auth/index.cjs +78 -71
  8. package/dist/auth/index.cjs.map +1 -1
  9. package/dist/auth/index.d.cts +1 -2
  10. package/dist/auth/index.d.ts +1 -2
  11. package/dist/auth/index.js +78 -71
  12. package/dist/auth/index.js.map +1 -1
  13. package/dist/auth/sdk.cjs +7 -6
  14. package/dist/auth/sdk.cjs.map +1 -1
  15. package/dist/auth/sdk.d.cts +2 -2
  16. package/dist/auth/sdk.d.ts +2 -2
  17. package/dist/auth/sdk.js +7 -6
  18. package/dist/auth/sdk.js.map +1 -1
  19. package/dist/compositions/app-user.cjs +497 -0
  20. package/dist/compositions/app-user.cjs.map +1 -0
  21. package/dist/compositions/app-user.d.cts +18 -0
  22. package/dist/compositions/app-user.d.ts +18 -0
  23. package/dist/compositions/app-user.js +469 -0
  24. package/dist/compositions/app-user.js.map +1 -0
  25. package/dist/index.cjs +1151 -312
  26. package/dist/index.cjs.map +1 -1
  27. package/dist/index.d.cts +146 -13
  28. package/dist/index.d.ts +146 -13
  29. package/dist/index.js +1109 -295
  30. package/dist/index.js.map +1 -1
  31. package/dist/modality/index.cjs +27 -56
  32. package/dist/modality/index.cjs.map +1 -1
  33. package/dist/modality/index.d.cts +13 -32
  34. package/dist/modality/index.d.ts +13 -32
  35. package/dist/modality/index.js +27 -55
  36. package/dist/modality/index.js.map +1 -1
  37. package/dist/models/index.cjs +508 -0
  38. package/dist/models/index.cjs.map +1 -0
  39. package/dist/models/index.d.cts +22 -0
  40. package/dist/models/index.d.ts +22 -0
  41. package/dist/models/index.js +486 -0
  42. package/dist/models/index.js.map +1 -0
  43. package/dist/styles.css +1 -1
  44. package/dist/theme-VMRlhqST.d.cts +9 -0
  45. package/dist/theme-VMRlhqST.d.ts +9 -0
  46. package/dist/wallet/index.cjs +17 -5
  47. package/dist/wallet/index.cjs.map +1 -1
  48. package/dist/wallet/index.d.cts +2 -2
  49. package/dist/wallet/index.d.ts +2 -2
  50. package/dist/wallet/index.js +17 -5
  51. package/dist/wallet/index.js.map +1 -1
  52. package/dist/wallet/sdk.cjs +6 -3
  53. package/dist/wallet/sdk.cjs.map +1 -1
  54. package/dist/wallet/sdk.js +6 -3
  55. package/dist/wallet/sdk.js.map +1 -1
  56. package/package.json +17 -10
  57. package/dist/showcase/index.cjs +0 -2851
  58. package/dist/showcase/index.cjs.map +0 -1
  59. package/dist/showcase/index.d.cts +0 -19
  60. package/dist/showcase/index.d.ts +0 -19
  61. package/dist/showcase/index.js +0 -2839
  62. package/dist/showcase/index.js.map +0 -1
  63. package/dist/theme-DfHMjWB7.d.cts +0 -16
  64. package/dist/theme-DfHMjWB7.d.ts +0 -16
  65. package/dist/wallet.css +0 -73
package/dist/index.d.cts CHANGED
@@ -1,16 +1,22 @@
1
- export { B as Button, a as ButtonProps } from './Button-CNzpisJf.cjs';
2
1
  import * as react from 'react';
3
- import { FC, ReactNode, ButtonHTMLAttributes, ComponentPropsWithoutRef, PropsWithChildren, CSSProperties } from 'react';
4
- export { C as Chip } from './Chip-DyqWrq0r.cjs';
2
+ import { FC, ComponentPropsWithoutRef, ReactNode, ButtonHTMLAttributes, PropsWithChildren, CSSProperties } from 'react';
3
+ export { B as Button, a as ButtonProps } from './Button-BvLF_Km2.cjs';
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';
7
- import { T as ThemeName } from './theme-DfHMjWB7.cjs';
8
- export { t as themeColors, a as themes } from './theme-DfHMjWB7.cjs';
7
+ import { T as ThemeName } from './theme-VMRlhqST.cjs';
8
+ export { t as themes } from './theme-VMRlhqST.cjs';
9
9
  export { Field } from '@ark-ui/react/field';
10
10
 
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;
@@ -26,6 +32,18 @@ declare function periodBucketKeyToDate(bucketKey: string, granularity: PeriodGra
26
32
  */
27
33
  declare function useScrollLock(enabled?: boolean): void;
28
34
 
35
+ type AlertIntent = "info" | "success" | "warning" | "danger";
36
+ type AlertProps = ComponentPropsWithoutRef<"div"> & {
37
+ intent?: AlertIntent;
38
+ title?: ReactNode;
39
+ };
40
+ declare const Alert: FC<AlertProps>;
41
+
42
+ type ButtonGroupProps = ComponentPropsWithoutRef<"div"> & {
43
+ wrap?: boolean;
44
+ };
45
+ declare const ButtonGroup: FC<ButtonGroupProps>;
46
+
29
47
  type ChevronIconProps = {
30
48
  /** Rotate 180° when expanded/open. */
31
49
  expanded?: boolean;
@@ -116,22 +134,43 @@ type DropdownProps = {
116
134
  /** Controlled open state. Omit to let the Dropdown manage its own. */
117
135
  open?: boolean;
118
136
  onOpenChange?: (open: boolean) => void;
119
- /** Replaces the default themed surface (e.g. a differently-coloured menu). */
120
- panelClassName?: string;
121
137
  /** Appended after the surface (widths, padding, max-height…). */
122
138
  className?: string;
123
139
  };
124
140
  declare const Dropdown: FC<DropdownProps>;
125
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
+
126
150
  type ExternalLinkButtonProps = {
127
151
  theme: ThemeName;
128
152
  href: string;
129
- size?: "small" | "medium" | "large";
153
+ size?: "sm" | "md" | "lg";
130
154
  className?: string;
131
155
  children: ReactNode;
132
156
  };
133
157
  declare const ExternalLinkButton: FC<ExternalLinkButtonProps>;
134
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
+
135
174
  /** IconButton only supports `danger` (delete icons). */
136
175
  type IconButtonIntent = "danger";
137
176
  type IconButtonProps = {
@@ -158,6 +197,19 @@ type InfoTipProps = {
158
197
  */
159
198
  declare const InfoTip: FC<InfoTipProps>;
160
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
+
161
213
  type InputProps = React.ComponentPropsWithoutRef<"input"> & {
162
214
  error?: boolean;
163
215
  hideNumberSteppers?: boolean;
@@ -192,6 +244,26 @@ declare function TrendUpIcon(props: IconProps): react_jsx_runtime.JSX.Element;
192
244
  declare function WalletIcon(props: IconProps): react_jsx_runtime.JSX.Element;
193
245
  declare function XIcon(props: IconProps): react_jsx_runtime.JSX.Element;
194
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
+
195
267
  type MultiSelectOption = {
196
268
  value: string;
197
269
  label: string;
@@ -209,6 +281,24 @@ type MultiSelectProps = {
209
281
  };
210
282
  declare const MultiSelect: FC<MultiSelectProps>;
211
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
+
212
302
  type PeriodPickerProps = {
213
303
  value: PeriodSelection;
214
304
  onChange: (value: PeriodSelection) => void;
@@ -218,14 +308,18 @@ type PeriodPickerProps = {
218
308
  };
219
309
  declare const PeriodPicker: FC<PeriodPickerProps>;
220
310
 
221
- type ScrollAxis = "y" | "x" | "both";
311
+ type ProseProps = {
312
+ children: string;
313
+ className?: string;
314
+ };
315
+ declare function Prose({ children, className }: ProseProps): react_jsx_runtime.JSX.Element;
316
+
317
+ type ScrollAxis = "y" | "x";
222
318
  type ScrollAreaOwnProps = {
223
319
  /** Override the ambient cascade theme for this scroller's thumb. */
224
320
  theme?: ThemeName;
225
321
  /** Scroll direction. Default `y`. */
226
322
  axis?: ScrollAxis;
227
- /** Idle time before the thumb fades out, in ms. Default `2000`. */
228
- hideDelayMs?: number;
229
323
  className?: string;
230
324
  };
231
325
  type ScrollAreaProps = PropsWithChildren<ScrollAreaOwnProps & Omit<ComponentPropsWithoutRef<"div">, keyof ScrollAreaOwnProps>>;
@@ -242,8 +336,11 @@ type SectionProps = {
242
336
  theme: ThemeName;
243
337
  id?: string;
244
338
  framed?: boolean;
339
+ intro?: ReactNode;
245
340
  action?: ReactNode;
246
341
  actionClassName?: string;
342
+ panelClassName?: string;
343
+ titleClassName?: string;
247
344
  children: ReactNode;
248
345
  className?: string;
249
346
  };
@@ -313,13 +410,49 @@ type TabButtonProps = {
313
410
  children: ReactNode;
314
411
  /** Optional cascade override; defaults to inherited [data-theme]. */
315
412
  theme?: ThemeName;
316
- size?: "medium" | "small";
413
+ size?: "md" | "sm";
414
+ variant?: "default" | "ghost";
317
415
  ariaLabel?: string;
318
416
  disabled?: boolean;
319
417
  className?: string;
320
418
  };
321
419
  declare const TabButton: FC<TabButtonProps>;
322
420
 
421
+ type Align = "left" | "center" | "right";
422
+ type RowIntent = "default" | "success" | "warning" | "danger";
423
+ type SortDirection = "asc" | "desc";
424
+ type TableProps = ComponentPropsWithoutRef<"table">;
425
+ declare const Table: FC<TableProps>;
426
+ type TableHeadProps = ComponentPropsWithoutRef<"thead">;
427
+ declare const TableHead: FC<TableHeadProps>;
428
+ type TableBodyProps = ComponentPropsWithoutRef<"tbody">;
429
+ declare const TableBody: FC<TableBodyProps>;
430
+ type TableRowProps = ComponentPropsWithoutRef<"tr"> & {
431
+ intent?: RowIntent;
432
+ };
433
+ declare const TableRow: FC<TableRowProps>;
434
+ type TableHeaderCellProps = Omit<ComponentPropsWithoutRef<"th">, "children"> & {
435
+ align?: Align;
436
+ active?: boolean;
437
+ sortDirection?: SortDirection;
438
+ onSort?: () => void;
439
+ children: ReactNode;
440
+ };
441
+ declare const TableHeaderCell: FC<TableHeaderCellProps>;
442
+ type TableCellProps = ComponentPropsWithoutRef<"td"> & {
443
+ align?: Align;
444
+ numeric?: boolean;
445
+ muted?: boolean;
446
+ };
447
+ declare const TableCell: FC<TableCellProps>;
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
+
323
456
  type TooltipProps = {
324
457
  children: ReactNode;
325
458
  content: ReactNode;
@@ -337,4 +470,4 @@ type TooltipProps = {
337
470
  };
338
471
  declare const Tooltip: FC<TooltipProps>;
339
472
 
340
- export { AppIcon, BeakerIcon, BookIcon, 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, 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,16 +1,22 @@
1
- export { B as Button, a as ButtonProps } from './Button-DMJ2K6Gr.js';
2
1
  import * as react from 'react';
3
- import { FC, ReactNode, ButtonHTMLAttributes, ComponentPropsWithoutRef, PropsWithChildren, CSSProperties } from 'react';
4
- export { C as Chip } from './Chip-BS8ronOu.js';
2
+ import { FC, ComponentPropsWithoutRef, ReactNode, ButtonHTMLAttributes, PropsWithChildren, CSSProperties } from 'react';
3
+ export { B as Button, a as ButtonProps } from './Button-DQAZzvyQ.js';
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';
7
- import { T as ThemeName } from './theme-DfHMjWB7.js';
8
- export { t as themeColors, a as themes } from './theme-DfHMjWB7.js';
7
+ import { T as ThemeName } from './theme-VMRlhqST.js';
8
+ export { t as themes } from './theme-VMRlhqST.js';
9
9
  export { Field } from '@ark-ui/react/field';
10
10
 
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;
@@ -26,6 +32,18 @@ declare function periodBucketKeyToDate(bucketKey: string, granularity: PeriodGra
26
32
  */
27
33
  declare function useScrollLock(enabled?: boolean): void;
28
34
 
35
+ type AlertIntent = "info" | "success" | "warning" | "danger";
36
+ type AlertProps = ComponentPropsWithoutRef<"div"> & {
37
+ intent?: AlertIntent;
38
+ title?: ReactNode;
39
+ };
40
+ declare const Alert: FC<AlertProps>;
41
+
42
+ type ButtonGroupProps = ComponentPropsWithoutRef<"div"> & {
43
+ wrap?: boolean;
44
+ };
45
+ declare const ButtonGroup: FC<ButtonGroupProps>;
46
+
29
47
  type ChevronIconProps = {
30
48
  /** Rotate 180° when expanded/open. */
31
49
  expanded?: boolean;
@@ -116,22 +134,43 @@ type DropdownProps = {
116
134
  /** Controlled open state. Omit to let the Dropdown manage its own. */
117
135
  open?: boolean;
118
136
  onOpenChange?: (open: boolean) => void;
119
- /** Replaces the default themed surface (e.g. a differently-coloured menu). */
120
- panelClassName?: string;
121
137
  /** Appended after the surface (widths, padding, max-height…). */
122
138
  className?: string;
123
139
  };
124
140
  declare const Dropdown: FC<DropdownProps>;
125
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
+
126
150
  type ExternalLinkButtonProps = {
127
151
  theme: ThemeName;
128
152
  href: string;
129
- size?: "small" | "medium" | "large";
153
+ size?: "sm" | "md" | "lg";
130
154
  className?: string;
131
155
  children: ReactNode;
132
156
  };
133
157
  declare const ExternalLinkButton: FC<ExternalLinkButtonProps>;
134
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
+
135
174
  /** IconButton only supports `danger` (delete icons). */
136
175
  type IconButtonIntent = "danger";
137
176
  type IconButtonProps = {
@@ -158,6 +197,19 @@ type InfoTipProps = {
158
197
  */
159
198
  declare const InfoTip: FC<InfoTipProps>;
160
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
+
161
213
  type InputProps = React.ComponentPropsWithoutRef<"input"> & {
162
214
  error?: boolean;
163
215
  hideNumberSteppers?: boolean;
@@ -192,6 +244,26 @@ declare function TrendUpIcon(props: IconProps): react_jsx_runtime.JSX.Element;
192
244
  declare function WalletIcon(props: IconProps): react_jsx_runtime.JSX.Element;
193
245
  declare function XIcon(props: IconProps): react_jsx_runtime.JSX.Element;
194
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
+
195
267
  type MultiSelectOption = {
196
268
  value: string;
197
269
  label: string;
@@ -209,6 +281,24 @@ type MultiSelectProps = {
209
281
  };
210
282
  declare const MultiSelect: FC<MultiSelectProps>;
211
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
+
212
302
  type PeriodPickerProps = {
213
303
  value: PeriodSelection;
214
304
  onChange: (value: PeriodSelection) => void;
@@ -218,14 +308,18 @@ type PeriodPickerProps = {
218
308
  };
219
309
  declare const PeriodPicker: FC<PeriodPickerProps>;
220
310
 
221
- type ScrollAxis = "y" | "x" | "both";
311
+ type ProseProps = {
312
+ children: string;
313
+ className?: string;
314
+ };
315
+ declare function Prose({ children, className }: ProseProps): react_jsx_runtime.JSX.Element;
316
+
317
+ type ScrollAxis = "y" | "x";
222
318
  type ScrollAreaOwnProps = {
223
319
  /** Override the ambient cascade theme for this scroller's thumb. */
224
320
  theme?: ThemeName;
225
321
  /** Scroll direction. Default `y`. */
226
322
  axis?: ScrollAxis;
227
- /** Idle time before the thumb fades out, in ms. Default `2000`. */
228
- hideDelayMs?: number;
229
323
  className?: string;
230
324
  };
231
325
  type ScrollAreaProps = PropsWithChildren<ScrollAreaOwnProps & Omit<ComponentPropsWithoutRef<"div">, keyof ScrollAreaOwnProps>>;
@@ -242,8 +336,11 @@ type SectionProps = {
242
336
  theme: ThemeName;
243
337
  id?: string;
244
338
  framed?: boolean;
339
+ intro?: ReactNode;
245
340
  action?: ReactNode;
246
341
  actionClassName?: string;
342
+ panelClassName?: string;
343
+ titleClassName?: string;
247
344
  children: ReactNode;
248
345
  className?: string;
249
346
  };
@@ -313,13 +410,49 @@ type TabButtonProps = {
313
410
  children: ReactNode;
314
411
  /** Optional cascade override; defaults to inherited [data-theme]. */
315
412
  theme?: ThemeName;
316
- size?: "medium" | "small";
413
+ size?: "md" | "sm";
414
+ variant?: "default" | "ghost";
317
415
  ariaLabel?: string;
318
416
  disabled?: boolean;
319
417
  className?: string;
320
418
  };
321
419
  declare const TabButton: FC<TabButtonProps>;
322
420
 
421
+ type Align = "left" | "center" | "right";
422
+ type RowIntent = "default" | "success" | "warning" | "danger";
423
+ type SortDirection = "asc" | "desc";
424
+ type TableProps = ComponentPropsWithoutRef<"table">;
425
+ declare const Table: FC<TableProps>;
426
+ type TableHeadProps = ComponentPropsWithoutRef<"thead">;
427
+ declare const TableHead: FC<TableHeadProps>;
428
+ type TableBodyProps = ComponentPropsWithoutRef<"tbody">;
429
+ declare const TableBody: FC<TableBodyProps>;
430
+ type TableRowProps = ComponentPropsWithoutRef<"tr"> & {
431
+ intent?: RowIntent;
432
+ };
433
+ declare const TableRow: FC<TableRowProps>;
434
+ type TableHeaderCellProps = Omit<ComponentPropsWithoutRef<"th">, "children"> & {
435
+ align?: Align;
436
+ active?: boolean;
437
+ sortDirection?: SortDirection;
438
+ onSort?: () => void;
439
+ children: ReactNode;
440
+ };
441
+ declare const TableHeaderCell: FC<TableHeaderCellProps>;
442
+ type TableCellProps = ComponentPropsWithoutRef<"td"> & {
443
+ align?: Align;
444
+ numeric?: boolean;
445
+ muted?: boolean;
446
+ };
447
+ declare const TableCell: FC<TableCellProps>;
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
+
323
456
  type TooltipProps = {
324
457
  children: ReactNode;
325
458
  content: ReactNode;
@@ -337,4 +470,4 @@ type TooltipProps = {
337
470
  };
338
471
  declare const Tooltip: FC<TooltipProps>;
339
472
 
340
- export { AppIcon, BeakerIcon, BookIcon, 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, 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 };