@pollinations/ui 0.1.0-alpha.0 → 0.1.0-alpha.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 (64) hide show
  1. package/README.md +28 -65
  2. package/dist/{Chip-SM52sUbZ.d.cts → Chip-CQCq34kS.d.cts} +1 -1
  3. package/dist/{Chip-C5impfYd.d.ts → Chip-Cj4xG7Te.d.ts} +1 -1
  4. package/dist/{compositions/app-user.cjs → app-user-menu/sdk.cjs} +148 -148
  5. package/dist/app-user-menu/sdk.cjs.map +1 -0
  6. package/dist/{compositions/app-user.js → app-user-menu/sdk.js} +127 -127
  7. package/dist/app-user-menu/sdk.js.map +1 -0
  8. package/dist/app.css +94 -3
  9. package/dist/auth/index.cjs +2 -2
  10. package/dist/auth/index.cjs.map +1 -1
  11. package/dist/auth/index.js +2 -2
  12. package/dist/auth/index.js.map +1 -1
  13. package/dist/{models → gen}/index.cjs +40 -71
  14. package/dist/gen/index.cjs.map +1 -0
  15. package/dist/gen/index.d.cts +35 -0
  16. package/dist/gen/index.d.ts +35 -0
  17. package/dist/{models → gen}/index.js +31 -66
  18. package/dist/gen/index.js.map +1 -0
  19. package/dist/index.cjs +1594 -1142
  20. package/dist/index.cjs.map +1 -1
  21. package/dist/index.d.cts +268 -178
  22. package/dist/index.d.ts +268 -178
  23. package/dist/index.js +1581 -1134
  24. package/dist/index.js.map +1 -1
  25. package/dist/styles.css +1 -1
  26. package/dist/theme-jRPPBmld.d.cts +20 -0
  27. package/dist/theme-jRPPBmld.d.ts +20 -0
  28. package/dist/wallet/index.cjs +4 -4
  29. package/dist/wallet/index.cjs.map +1 -1
  30. package/dist/wallet/index.d.cts +2 -2
  31. package/dist/wallet/index.d.ts +2 -2
  32. package/dist/wallet/index.js +4 -4
  33. package/dist/wallet/index.js.map +1 -1
  34. package/package.json +9 -24
  35. package/dist/Button-BvLF_Km2.d.cts +0 -26
  36. package/dist/Button-DQAZzvyQ.d.ts +0 -26
  37. package/dist/auth/sdk.cjs +0 -221
  38. package/dist/auth/sdk.cjs.map +0 -1
  39. package/dist/auth/sdk.d.cts +0 -53
  40. package/dist/auth/sdk.d.ts +0 -53
  41. package/dist/auth/sdk.js +0 -188
  42. package/dist/auth/sdk.js.map +0 -1
  43. package/dist/compositions/app-user.cjs.map +0 -1
  44. package/dist/compositions/app-user.js.map +0 -1
  45. package/dist/modality/index.cjs +0 -86
  46. package/dist/modality/index.cjs.map +0 -1
  47. package/dist/modality/index.d.cts +0 -26
  48. package/dist/modality/index.d.ts +0 -26
  49. package/dist/modality/index.js +0 -59
  50. package/dist/modality/index.js.map +0 -1
  51. package/dist/models/index.cjs.map +0 -1
  52. package/dist/models/index.d.cts +0 -22
  53. package/dist/models/index.d.ts +0 -22
  54. package/dist/models/index.js.map +0 -1
  55. package/dist/theme-VMRlhqST.d.cts +0 -9
  56. package/dist/theme-VMRlhqST.d.ts +0 -9
  57. package/dist/wallet/sdk.cjs +0 -206
  58. package/dist/wallet/sdk.cjs.map +0 -1
  59. package/dist/wallet/sdk.d.cts +0 -33
  60. package/dist/wallet/sdk.d.ts +0 -33
  61. package/dist/wallet/sdk.js +0 -175
  62. package/dist/wallet/sdk.js.map +0 -1
  63. /package/dist/{compositions/app-user.d.cts → app-user-menu/sdk.d.cts} +0 -0
  64. /package/dist/{compositions/app-user.d.ts → app-user-menu/sdk.d.ts} +0 -0
package/dist/index.d.cts CHANGED
@@ -1,37 +1,12 @@
1
1
  import * as react from 'react';
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';
2
+ import { FC, ComponentPropsWithoutRef, ReactNode, RefObject, ButtonHTMLAttributes, PropsWithChildren, CSSProperties, ElementType } from 'react';
5
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
+ import { T as ThemeName } from './theme-jRPPBmld.cjs';
5
+ export { t as themePalette, a as themes } from './theme-jRPPBmld.cjs';
6
+ export { C as Chip } from './Chip-CQCq34kS.cjs';
6
7
  import { Dialog as Dialog$1 } from '@ark-ui/react/dialog';
7
- import { T as ThemeName } from './theme-VMRlhqST.cjs';
8
- export { t as themes } from './theme-VMRlhqST.cjs';
9
8
  export { Field } from '@ark-ui/react/field';
10
9
 
11
- /** Class merge for apps consuming the unprefixed Tailwind bridge in app.css. */
12
- declare function cn(...inputs: (string | undefined | null | false)[]): string;
13
-
14
- type RejectReason = "type" | "size" | "count";
15
- type RejectedFile = {
16
- file: File;
17
- reason: RejectReason;
18
- };
19
-
20
- type PeriodGranularity = "day" | "week" | "month";
21
- type PeriodSelection = {
22
- granularity: PeriodGranularity;
23
- period: string;
24
- };
25
- declare function currentPeriod(): PeriodSelection;
26
- declare function getPeriodBucketKeys(selection: PeriodSelection): string[];
27
- declare function periodBucketKeyToDate(bucketKey: string, granularity: PeriodGranularity): Date;
28
-
29
- /**
30
- * Locks page scroll while enabled and restores the original overflow values on
31
- * cleanup.
32
- */
33
- declare function useScrollLock(enabled?: boolean): void;
34
-
35
10
  type AlertIntent = "info" | "success" | "warning" | "danger";
36
11
  type AlertProps = ComponentPropsWithoutRef<"div"> & {
37
12
  intent?: AlertIntent;
@@ -39,21 +14,27 @@ type AlertProps = ComponentPropsWithoutRef<"div"> & {
39
14
  };
40
15
  declare const Alert: FC<AlertProps>;
41
16
 
42
- type ButtonGroupProps = ComponentPropsWithoutRef<"div"> & {
43
- wrap?: boolean;
17
+ type ScrollTargetRef = RefObject<HTMLElement | null>;
18
+ type AppHeaderProps = {
19
+ children?: ReactNode;
20
+ navLabel: string;
21
+ autoHide?: boolean;
22
+ scrollTargetRef?: ScrollTargetRef;
23
+ brandHref?: string;
24
+ brandLabel?: string;
25
+ className?: string;
26
+ innerClassName?: string;
27
+ navClassName?: string;
44
28
  };
45
- declare const ButtonGroup: FC<ButtonGroupProps>;
29
+ declare function AppHeader({ children, navLabel, autoHide, scrollTargetRef, brandHref, brandLabel, className, innerClassName, navClassName, }: AppHeaderProps): react_jsx_runtime.JSX.Element;
46
30
 
47
- type ChevronIconProps = {
48
- /** Rotate 180° when expanded/open. */
49
- expanded?: boolean;
50
- className?: string;
31
+ type CodeBlockOwnProps = {
32
+ code: string;
33
+ theme?: ThemeName;
34
+ codeClassName?: string;
51
35
  };
52
- /**
53
- * Canonical chevron used for collapsibles, dropdown triggers, and select pills
54
- * across the app. One icon everywhere.
55
- */
56
- declare const ChevronIcon: FC<ChevronIconProps>;
36
+ type CodeBlockProps = CodeBlockOwnProps & Omit<ComponentPropsWithoutRef<"div">, keyof CodeBlockOwnProps | "children">;
37
+ declare const CodeBlock: FC<CodeBlockProps>;
57
38
 
58
39
  type CollapsibleProps = {
59
40
  /** Header content (label, hint, etc). */
@@ -74,7 +55,7 @@ type CollapsibleProps = {
74
55
  ariaLabel?: string;
75
56
  };
76
57
  /**
77
- * Collapsible row primitive. One chevron, one hover/rounded behaviour for
58
+ * Collapsible row composition. One chevron, one hover/rounded behaviour for
78
59
  * every collapsible in the UI. Use this for any "click to reveal nested
79
60
  * content" UI — nested settings, grouped controls, optional details.
80
61
  *
@@ -97,56 +78,6 @@ type CopyButtonProps = Omit<ButtonHTMLAttributes<HTMLButtonElement>, "children"
97
78
  };
98
79
  declare function CopyButton({ value, children, copiedTimeoutMs, tooltip, copiedTooltip, tooltipClassName, className, onCopied, onCopyError, ...buttonProps }: CopyButtonProps): react_jsx_runtime.JSX.Element;
99
80
 
100
- declare const sizeClasses: {
101
- readonly sm: "polli:max-w-md";
102
- readonly md: "polli:max-w-xl";
103
- readonly lg: "polli:max-w-2xl";
104
- };
105
- type DialogProps = {
106
- open: boolean;
107
- onOpenChange?: (open: boolean) => void;
108
- trigger?: ReactNode;
109
- triggerAsChild?: boolean;
110
- triggerClassName?: string;
111
- title?: ReactNode;
112
- titleClassName?: string;
113
- ariaLabel?: string;
114
- labelledBy?: string;
115
- theme?: ThemeName;
116
- size?: keyof typeof sizeClasses;
117
- showBackdrop?: boolean;
118
- backdropClassName?: string;
119
- positionerClassName?: string;
120
- contentClassName?: string;
121
- children: ReactNode;
122
- };
123
- declare const Dialog: FC<DialogProps>;
124
- declare const DialogTitle: react.ForwardRefExoticComponent<Dialog$1.TitleProps & react.RefAttributes<HTMLHeadingElement>>;
125
-
126
- type DropdownProps = {
127
- theme: ThemeName;
128
- /** Trigger element; receives the current open state (e.g. to rotate a chevron). */
129
- trigger: (open: boolean) => ReactNode;
130
- /** Panel content. As a function, receives `close` to dismiss after a selection. */
131
- children: ReactNode | ((close: () => void) => ReactNode);
132
- /** Panel placement relative to the trigger. */
133
- align?: "start" | "end";
134
- /** Controlled open state. Omit to let the Dropdown manage its own. */
135
- open?: boolean;
136
- onOpenChange?: (open: boolean) => void;
137
- /** Appended after the surface (widths, padding, max-height…). */
138
- className?: string;
139
- };
140
- declare const Dropdown: FC<DropdownProps>;
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
-
150
81
  type ExternalLinkButtonProps = {
151
82
  theme: ThemeName;
152
83
  href: string;
@@ -156,6 +87,12 @@ type ExternalLinkButtonProps = {
156
87
  };
157
88
  declare const ExternalLinkButton: FC<ExternalLinkButtonProps>;
158
89
 
90
+ type RejectReason = "type" | "size" | "count";
91
+ type RejectedFile = {
92
+ file: File;
93
+ reason: RejectReason;
94
+ };
95
+
159
96
  type FileUploadProps = {
160
97
  value: File[];
161
98
  onChange: (files: File[]) => void;
@@ -163,24 +100,16 @@ type FileUploadProps = {
163
100
  maxFiles?: number;
164
101
  maxSizeBytes?: number;
165
102
  accept?: string;
103
+ icon?: ReactNode;
104
+ label?: ReactNode;
105
+ previewIcon?: ReactNode;
166
106
  /** Fully locks the field: no add, no remove, drops ignored. */
167
107
  disabled?: boolean;
168
108
  /** Optional cascade override; defaults to the inherited `[data-theme]`. */
169
109
  theme?: ThemeName;
170
110
  className?: string;
171
111
  };
172
- declare function FileUpload({ value, onChange, onReject, maxFiles, maxSizeBytes, accept, disabled, theme, className, }: FileUploadProps): react_jsx_runtime.JSX.Element;
173
-
174
- /** IconButton only supports `danger` (delete icons). */
175
- type IconButtonIntent = "danger";
176
- type IconButtonProps = {
177
- intent?: IconButtonIntent;
178
- title?: string;
179
- onClick: () => void;
180
- children: ReactNode;
181
- className?: string;
182
- };
183
- declare const IconButton: FC<IconButtonProps>;
112
+ declare function FileUpload({ value, onChange, onReject, maxFiles, maxSizeBytes, accept, icon, label, previewIcon, disabled, theme, className, }: FileUploadProps): react_jsx_runtime.JSX.Element;
184
113
 
185
114
  type InfoTipProps = {
186
115
  text?: ReactNode;
@@ -197,53 +126,6 @@ type InfoTipProps = {
197
126
  */
198
127
  declare const InfoTip: FC<InfoTipProps>;
199
128
 
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
-
213
- type InputProps = React.ComponentPropsWithoutRef<"input"> & {
214
- error?: boolean;
215
- hideNumberSteppers?: boolean;
216
- };
217
- declare const Input: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & {
218
- error?: boolean;
219
- hideNumberSteppers?: boolean;
220
- } & react.RefAttributes<HTMLInputElement>>;
221
-
222
- /** Icons inherit color via currentColor and size via className or SVG props. */
223
- type IconProps = ComponentPropsWithoutRef<"svg">;
224
-
225
- declare function AppIcon(props: IconProps): react_jsx_runtime.JSX.Element;
226
- declare function BeakerIcon(props: IconProps): react_jsx_runtime.JSX.Element;
227
- declare function BookIcon(props: IconProps): react_jsx_runtime.JSX.Element;
228
- declare function CheckIcon(props: IconProps): react_jsx_runtime.JSX.Element;
229
- declare function ClipboardIcon(props: IconProps): react_jsx_runtime.JSX.Element;
230
- declare function ClockIcon(props: IconProps): react_jsx_runtime.JSX.Element;
231
- declare function DiscordIcon(props: IconProps): react_jsx_runtime.JSX.Element;
232
- declare function DownloadIcon(props: IconProps): react_jsx_runtime.JSX.Element;
233
- declare function ExternalLinkIcon(props: IconProps): react_jsx_runtime.JSX.Element;
234
- declare function GenApiIcon(props: IconProps): react_jsx_runtime.JSX.Element;
235
- declare function GitHubIcon(props: IconProps): react_jsx_runtime.JSX.Element;
236
- declare function ImageIcon(props: IconProps): react_jsx_runtime.JSX.Element;
237
- declare function LockIcon(props: IconProps): react_jsx_runtime.JSX.Element;
238
- declare function MailIcon(props: IconProps): react_jsx_runtime.JSX.Element;
239
- declare function McpIcon(props: IconProps): react_jsx_runtime.JSX.Element;
240
- declare function MenuIcon(props: IconProps): react_jsx_runtime.JSX.Element;
241
- declare function TerminalIcon(props: IconProps): react_jsx_runtime.JSX.Element;
242
- declare function TokensIcon(props: IconProps): react_jsx_runtime.JSX.Element;
243
- declare function TrendUpIcon(props: IconProps): react_jsx_runtime.JSX.Element;
244
- declare function WalletIcon(props: IconProps): react_jsx_runtime.JSX.Element;
245
- declare function XIcon(props: IconProps): react_jsx_runtime.JSX.Element;
246
-
247
129
  type BaseLinkCardProps = {
248
130
  /** Override the cascade theme for this card's subtree. */
249
131
  theme?: ThemeName;
@@ -264,6 +146,15 @@ type MarkdownProps = {
264
146
  /** Compact markdown for cards and snippets. Use Prose for document-style content. */
265
147
  declare function Markdown({ children, className }: MarkdownProps): react_jsx_runtime.JSX.Element;
266
148
 
149
+ type MediaPlaceholderProps = ComponentPropsWithoutRef<"div"> & {
150
+ theme?: ThemeName;
151
+ icon?: ReactNode;
152
+ label?: ReactNode;
153
+ detail?: ReactNode;
154
+ action?: ReactNode;
155
+ };
156
+ declare const MediaPlaceholder: FC<MediaPlaceholderProps>;
157
+
267
158
  type MultiSelectOption = {
268
159
  value: string;
269
160
  label: string;
@@ -299,6 +190,15 @@ type NavItemProps<T extends React.ElementType = "button"> = PropsWithChildren<Ba
299
190
  */
300
191
  declare function NavItem<T extends React.ElementType = "button">({ as, theme, active, className, children, ...rest }: NavItemProps<T>): react_jsx_runtime.JSX.Element;
301
192
 
193
+ type PeriodGranularity = "day" | "week" | "month";
194
+ type PeriodSelection = {
195
+ granularity: PeriodGranularity;
196
+ period: string;
197
+ };
198
+ declare function currentPeriod(): PeriodSelection;
199
+ declare function getPeriodBucketKeys(selection: PeriodSelection): string[];
200
+ declare function periodBucketKeyToDate(bucketKey: string, granularity: PeriodGranularity): Date;
201
+
302
202
  type PeriodPickerProps = {
303
203
  value: PeriodSelection;
304
204
  onChange: (value: PeriodSelection) => void;
@@ -314,23 +214,6 @@ type ProseProps = {
314
214
  };
315
215
  declare function Prose({ children, className }: ProseProps): react_jsx_runtime.JSX.Element;
316
216
 
317
- type ScrollAxis = "y" | "x";
318
- type ScrollAreaOwnProps = {
319
- /** Override the ambient cascade theme for this scroller's thumb. */
320
- theme?: ThemeName;
321
- /** Scroll direction. Default `y`. */
322
- axis?: ScrollAxis;
323
- className?: string;
324
- };
325
- type ScrollAreaProps = PropsWithChildren<ScrollAreaOwnProps & Omit<ComponentPropsWithoutRef<"div">, keyof ScrollAreaOwnProps>>;
326
- /**
327
- * Themed auto-hide scroll container. Thumb color follows the nearest
328
- * `[data-theme="..."]` ancestor; pass `theme` to override locally.
329
- */
330
- declare const ScrollArea: react.ForwardRefExoticComponent<ScrollAreaOwnProps & Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof ScrollAreaOwnProps> & {
331
- children?: react.ReactNode | undefined;
332
- } & react.RefAttributes<HTMLDivElement>>;
333
-
334
217
  type SectionProps = {
335
218
  title: string;
336
219
  theme: ThemeName;
@@ -346,19 +229,16 @@ type SectionProps = {
346
229
  };
347
230
  declare const Section: FC<SectionProps>;
348
231
 
349
- type SliderProps = Omit<React.ComponentPropsWithoutRef<"input">, "type"> & {
350
- /** Fill percentage from 0-100. Falls back to value/min/max when omitted. */
351
- progress?: number;
352
- };
353
- declare const Slider: react.ForwardRefExoticComponent<Omit<Omit<react.DetailedHTMLProps<react.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "type"> & {
354
- /** Fill percentage from 0-100. Falls back to value/min/max when omitted. */
355
- progress?: number;
356
- } & react.RefAttributes<HTMLInputElement>>;
357
-
232
+ /**
233
+ * - `stat` — large numeric value (default)
234
+ * - `fact` — small wrapping prose value (labeled fact tile)
235
+ */
236
+ type StatCardVariant = "stat" | "fact";
358
237
  type StatCardProps = {
359
238
  label: ReactNode;
360
239
  value: ReactNode;
361
240
  detail?: ReactNode;
241
+ variant?: StatCardVariant;
362
242
  theme?: ThemeName;
363
243
  className?: string;
364
244
  labelClassName?: string;
@@ -367,6 +247,188 @@ type StatCardProps = {
367
247
  };
368
248
  declare const StatCard: FC<StatCardProps>;
369
249
 
250
+ /** Class merge for apps consuming the unprefixed Tailwind bridge in app.css. */
251
+ declare function cn(...inputs: (string | undefined | null | false)[]): string;
252
+
253
+ /**
254
+ * Locks page scroll while enabled and restores the original overflow values on
255
+ * cleanup.
256
+ */
257
+ declare function useScrollLock(enabled?: boolean): void;
258
+
259
+ /** Button only supports `danger`. Label/status color recipes live on Chip. */
260
+ type ButtonIntent = "danger";
261
+ declare const sizes: {
262
+ readonly sm: "polli:px-2 polli:pt-0.5 polli:pb-1";
263
+ readonly md: "polli:px-4 polli:pt-1.5 polli:pb-2";
264
+ readonly lg: "polli:px-6 polli:py-3";
265
+ };
266
+ type BaseButtonProps = {
267
+ /** Override the cascade theme for this button's subtree. Ignored when `intent` is set. */
268
+ theme?: ThemeName;
269
+ /** Only `"danger"` for now. */
270
+ intent?: ButtonIntent;
271
+ size?: keyof typeof sizes;
272
+ className?: string;
273
+ disabled?: boolean;
274
+ };
275
+ type ButtonProps<T extends React.ElementType = "button"> = PropsWithChildren<BaseButtonProps> & {
276
+ as?: T;
277
+ } & Omit<React.ComponentPropsWithoutRef<T>, keyof BaseButtonProps | "as">;
278
+ declare function Button<T extends React.ElementType = "button">({ as, children, theme, intent, size, className, disabled, ...buttonProps }: ButtonProps<T>): react_jsx_runtime.JSX.Element;
279
+
280
+ type ButtonGroupProps = ComponentPropsWithoutRef<"div"> & {
281
+ wrap?: boolean;
282
+ };
283
+ declare const ButtonGroup: FC<ButtonGroupProps>;
284
+
285
+ type ChevronIconProps = {
286
+ /** Rotate 180° when expanded/open. */
287
+ expanded?: boolean;
288
+ className?: string;
289
+ };
290
+ /**
291
+ * Canonical chevron used for collapsibles, dropdown triggers, and select pills
292
+ * across the app. One icon everywhere.
293
+ */
294
+ declare const ChevronIcon: FC<ChevronIconProps>;
295
+
296
+ declare const sizeClasses: {
297
+ readonly sm: "polli:max-w-md";
298
+ readonly md: "polli:max-w-xl";
299
+ readonly lg: "polli:max-w-2xl";
300
+ };
301
+ type DialogProps = {
302
+ open: boolean;
303
+ onOpenChange?: (open: boolean) => void;
304
+ trigger?: ReactNode;
305
+ triggerAsChild?: boolean;
306
+ triggerClassName?: string;
307
+ title?: ReactNode;
308
+ titleClassName?: string;
309
+ ariaLabel?: string;
310
+ labelledBy?: string;
311
+ theme?: ThemeName;
312
+ size?: keyof typeof sizeClasses;
313
+ showBackdrop?: boolean;
314
+ backdropClassName?: string;
315
+ positionerClassName?: string;
316
+ contentClassName?: string;
317
+ children: ReactNode;
318
+ };
319
+ declare const Dialog: FC<DialogProps>;
320
+ declare const DialogTitle: react.ForwardRefExoticComponent<Dialog$1.TitleProps & react.RefAttributes<HTMLHeadingElement>>;
321
+
322
+ type DropdownProps = {
323
+ theme: ThemeName;
324
+ /** Trigger element; receives the current open state (e.g. to rotate a chevron). */
325
+ trigger: (open: boolean) => ReactNode;
326
+ /** Panel content. As a function, receives `close` to dismiss after a selection. */
327
+ children: ReactNode | ((close: () => void) => ReactNode);
328
+ /** Panel placement relative to the trigger. */
329
+ align?: "start" | "end";
330
+ /** Controlled open state. Omit to let the Dropdown manage its own. */
331
+ open?: boolean;
332
+ onOpenChange?: (open: boolean) => void;
333
+ /** Appended after the surface (widths, padding, max-height…). */
334
+ className?: string;
335
+ };
336
+ declare const Dropdown: FC<DropdownProps>;
337
+
338
+ type BaseDropdownItemProps = {
339
+ className?: string;
340
+ };
341
+ type DropdownItemProps<T extends React.ElementType = "button"> = PropsWithChildren<BaseDropdownItemProps> & {
342
+ as?: T;
343
+ } & Omit<React.ComponentPropsWithoutRef<T>, keyof BaseDropdownItemProps | "as">;
344
+ declare function DropdownItem<T extends React.ElementType = "button">({ as, className, children, ...rest }: DropdownItemProps<T>): react_jsx_runtime.JSX.Element;
345
+
346
+ /** IconButton only supports `danger` (delete icons). */
347
+ type IconButtonIntent = "danger";
348
+ type IconButtonProps = {
349
+ intent?: IconButtonIntent;
350
+ title?: string;
351
+ onClick: () => void;
352
+ children: ReactNode;
353
+ className?: string;
354
+ };
355
+ declare const IconButton: FC<IconButtonProps>;
356
+
357
+ type BaseInlineLinkProps = {
358
+ /** Override the cascade theme for this link's subtree. */
359
+ theme?: ThemeName;
360
+ /** Set explicitly for non-http external links, or false for custom routing components. */
361
+ external?: boolean;
362
+ showIcon?: boolean;
363
+ className?: string;
364
+ };
365
+ type InlineLinkProps<T extends React.ElementType = "a"> = PropsWithChildren<BaseInlineLinkProps> & {
366
+ as?: T;
367
+ } & Omit<React.ComponentPropsWithoutRef<T>, keyof BaseInlineLinkProps | "as">;
368
+ declare function InlineLink<T extends React.ElementType = "a">({ as, theme, external, showIcon, className, children, ...linkProps }: InlineLinkProps<T>): react_jsx_runtime.JSX.Element;
369
+
370
+ type InputProps = React.ComponentPropsWithoutRef<"input"> & {
371
+ error?: boolean;
372
+ hideNumberSteppers?: boolean;
373
+ };
374
+ declare const Input: react.ForwardRefExoticComponent<Omit<react.DetailedHTMLProps<react.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref"> & {
375
+ error?: boolean;
376
+ hideNumberSteppers?: boolean;
377
+ } & react.RefAttributes<HTMLInputElement>>;
378
+
379
+ /** Icons inherit color via currentColor and size via className or SVG props. */
380
+ type IconProps = ComponentPropsWithoutRef<"svg">;
381
+
382
+ declare function AppIcon(props: IconProps): react_jsx_runtime.JSX.Element;
383
+ declare function BeakerIcon(props: IconProps): react_jsx_runtime.JSX.Element;
384
+ declare function BookIcon(props: IconProps): react_jsx_runtime.JSX.Element;
385
+ declare function CheckIcon(props: IconProps): react_jsx_runtime.JSX.Element;
386
+ declare function ClipboardIcon(props: IconProps): react_jsx_runtime.JSX.Element;
387
+ declare function ClockIcon(props: IconProps): react_jsx_runtime.JSX.Element;
388
+ declare function DiscordIcon(props: IconProps): react_jsx_runtime.JSX.Element;
389
+ declare function DownloadIcon(props: IconProps): react_jsx_runtime.JSX.Element;
390
+ declare function ExternalLinkIcon(props: IconProps): react_jsx_runtime.JSX.Element;
391
+ declare function GenApiIcon(props: IconProps): react_jsx_runtime.JSX.Element;
392
+ declare function GitHubIcon(props: IconProps): react_jsx_runtime.JSX.Element;
393
+ declare function ImageIcon(props: IconProps): react_jsx_runtime.JSX.Element;
394
+ declare function AudioIcon(props: IconProps): react_jsx_runtime.JSX.Element;
395
+ declare function LockIcon(props: IconProps): react_jsx_runtime.JSX.Element;
396
+ declare function MailIcon(props: IconProps): react_jsx_runtime.JSX.Element;
397
+ declare function McpIcon(props: IconProps): react_jsx_runtime.JSX.Element;
398
+ declare function MenuIcon(props: IconProps): react_jsx_runtime.JSX.Element;
399
+ declare function PlusIcon(props: IconProps): react_jsx_runtime.JSX.Element;
400
+ declare function TerminalIcon(props: IconProps): react_jsx_runtime.JSX.Element;
401
+ declare function TokensIcon(props: IconProps): react_jsx_runtime.JSX.Element;
402
+ declare function TrendUpIcon(props: IconProps): react_jsx_runtime.JSX.Element;
403
+ declare function WalletIcon(props: IconProps): react_jsx_runtime.JSX.Element;
404
+ declare function XIcon(props: IconProps): react_jsx_runtime.JSX.Element;
405
+
406
+ type ScrollAxis = "y" | "x";
407
+ type ScrollAreaOwnProps = {
408
+ /** Override the ambient cascade theme for this scroller's thumb. */
409
+ theme?: ThemeName;
410
+ /** Scroll direction. Default `y`. */
411
+ axis?: ScrollAxis;
412
+ className?: string;
413
+ };
414
+ type ScrollAreaProps = PropsWithChildren<ScrollAreaOwnProps & Omit<ComponentPropsWithoutRef<"div">, keyof ScrollAreaOwnProps>>;
415
+ /**
416
+ * Themed auto-hide scroll container. Thumb color follows the nearest
417
+ * `[data-theme="..."]` ancestor; pass `theme` to override locally.
418
+ */
419
+ declare const ScrollArea: react.ForwardRefExoticComponent<ScrollAreaOwnProps & Omit<Omit<react.DetailedHTMLProps<react.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof ScrollAreaOwnProps> & {
420
+ children?: react.ReactNode | undefined;
421
+ } & react.RefAttributes<HTMLDivElement>>;
422
+
423
+ type SliderProps = Omit<React.ComponentPropsWithoutRef<"input">, "type"> & {
424
+ /** Fill percentage from 0-100. Falls back to value/min/max when omitted. */
425
+ progress?: number;
426
+ };
427
+ declare const Slider: react.ForwardRefExoticComponent<Omit<Omit<react.DetailedHTMLProps<react.InputHTMLAttributes<HTMLInputElement>, HTMLInputElement>, "ref">, "type"> & {
428
+ /** Fill percentage from 0-100. Falls back to value/min/max when omitted. */
429
+ progress?: number;
430
+ } & react.RefAttributes<HTMLInputElement>>;
431
+
370
432
  type SurfaceVariant = "panel" | "card" | "card-themed";
371
433
  type SurfaceOwnProps = {
372
434
  /** Override the cascade theme for this surface's subtree. */
@@ -470,4 +532,32 @@ type TooltipProps = {
470
532
  };
471
533
  declare const Tooltip: FC<TooltipProps>;
472
534
 
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 };
535
+ type HeadingSize = "display" | "title" | "section" | "subsection" | "card";
536
+ type TextSize = "body" | "sm" | "xs" | "micro";
537
+ type TextTone = "base" | "strong" | "soft" | "muted";
538
+ type TextWeight = "normal" | "medium" | "semibold" | "bold";
539
+ declare function headingClassName(size: HeadingSize, className?: string): string;
540
+ declare function textClassName({ size, tone, weight, className, }: {
541
+ size: TextSize;
542
+ tone: TextTone;
543
+ weight: TextWeight;
544
+ className?: string;
545
+ }): string;
546
+ type HeadingOwnProps<T extends ElementType> = PropsWithChildren<{
547
+ as?: T;
548
+ size?: HeadingSize;
549
+ className?: string;
550
+ }>;
551
+ type HeadingProps<T extends ElementType = "h2"> = HeadingOwnProps<T> & Omit<ComponentPropsWithoutRef<T>, keyof HeadingOwnProps<T>>;
552
+ declare function Heading<T extends ElementType = "h2">({ as, size, className, children, ...rest }: HeadingProps<T>): react_jsx_runtime.JSX.Element;
553
+ type TextOwnProps<T extends ElementType> = PropsWithChildren<{
554
+ as?: T;
555
+ size?: TextSize;
556
+ tone?: TextTone;
557
+ weight?: TextWeight;
558
+ className?: string;
559
+ }>;
560
+ type TextProps<T extends ElementType = "p"> = TextOwnProps<T> & Omit<ComponentPropsWithoutRef<T>, keyof TextOwnProps<T>>;
561
+ declare function Text<T extends ElementType = "p">({ as, size, tone, weight, className, children, ...rest }: TextProps<T>): react_jsx_runtime.JSX.Element;
562
+
563
+ export { Alert, type AlertProps, AppHeader, type AppHeaderProps, AppIcon, AudioIcon, BeakerIcon, BookIcon, Button, ButtonGroup, type ButtonGroupProps, type ButtonProps, CheckIcon, ChevronIcon, ClipboardIcon, ClockIcon, CodeBlock, type CodeBlockProps, 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, Heading, type HeadingProps, type HeadingSize, IconButton, type IconProps, ImageIcon, InfoTip, InlineLink, type InlineLinkProps, Input, type InputProps, LinkCard, type LinkCardProps, LockIcon, MailIcon, Markdown, type MarkdownProps, McpIcon, MediaPlaceholder, type MediaPlaceholderProps, MenuIcon, MultiSelect, type MultiSelectProps, NavItem, type NavItemProps, type PeriodGranularity, PeriodPicker, type PeriodPickerProps, type PeriodSelection, PlusIcon, 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, Text, type TextProps, type TextSize, type TextTone, type TextWeight, Textarea, type TextareaProps, ThemeName, TokensIcon, Tooltip, TrendUpIcon, WalletIcon, XIcon, cn, currentPeriod, getPeriodBucketKeys, headingClassName, periodBucketKeyToDate, textClassName, useScrollLock };