@pollinations/ui 0.1.0-alpha.3 → 0.1.0-alpha.4

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 (66) hide show
  1. package/README.md +21 -10
  2. package/dist/{Button-CO3Dpbkj.d.cts → Button-ByKwRtdw.d.cts} +1 -1
  3. package/dist/{Button-CO3Dpbkj.d.ts → Button-ByKwRtdw.d.ts} +1 -1
  4. package/dist/{Dialog-yXzIFrDg.d.cts → Dialog-D3Nqt8cE.d.cts} +4 -1
  5. package/dist/{Dialog-yXzIFrDg.d.ts → Dialog-D3Nqt8cE.d.ts} +4 -1
  6. package/dist/app-user-menu/sdk.cjs +193 -133
  7. package/dist/app-user-menu/sdk.cjs.map +1 -1
  8. package/dist/app-user-menu/sdk.d.cts +17 -1
  9. package/dist/app-user-menu/sdk.d.ts +17 -1
  10. package/dist/app-user-menu/sdk.js +182 -122
  11. package/dist/app-user-menu/sdk.js.map +1 -1
  12. package/dist/app.css +6 -0
  13. package/dist/auth/index.cjs +233 -223
  14. package/dist/auth/index.cjs.map +1 -1
  15. package/dist/auth/index.d.cts +6 -3
  16. package/dist/auth/index.d.ts +6 -3
  17. package/dist/auth/index.js +226 -216
  18. package/dist/auth/index.js.map +1 -1
  19. package/dist/auth/sdk.cjs +13 -8
  20. package/dist/auth/sdk.cjs.map +1 -1
  21. package/dist/auth/sdk.d.cts +1 -1
  22. package/dist/auth/sdk.d.ts +1 -1
  23. package/dist/auth/sdk.js +13 -8
  24. package/dist/auth/sdk.js.map +1 -1
  25. package/dist/brand/lockup-horizontal-black.png +0 -0
  26. package/dist/brand/lockup-horizontal-black.svg +3 -3
  27. package/dist/brand/lockup-horizontal-white.png +0 -0
  28. package/dist/brand/lockup-horizontal-white.svg +3 -3
  29. package/dist/brand/lockup-horizontal.svg +4 -1
  30. package/dist/brand/lockup-stacked-black.png +0 -0
  31. package/dist/brand/lockup-stacked-black.svg +1 -1
  32. package/dist/brand/lockup-stacked-white.png +0 -0
  33. package/dist/brand/lockup-stacked-white.svg +1 -1
  34. package/dist/brand/lockup-stacked.svg +1 -1
  35. package/dist/brand/mark-black.png +0 -0
  36. package/dist/brand/mark-black.svg +1 -3
  37. package/dist/brand/mark-white.png +0 -0
  38. package/dist/brand/mark-white.svg +1 -3
  39. package/dist/brand/mark.svg +1 -1
  40. package/dist/gen/index.cjs +47 -18
  41. package/dist/gen/index.cjs.map +1 -1
  42. package/dist/gen/index.d.cts +5 -1
  43. package/dist/gen/index.d.ts +5 -1
  44. package/dist/gen/index.js +57 -30
  45. package/dist/gen/index.js.map +1 -1
  46. package/dist/index.browser.min.js +1 -1
  47. package/dist/index.browser.min.js.map +1 -1
  48. package/dist/index.cjs +1032 -816
  49. package/dist/index.cjs.map +1 -1
  50. package/dist/index.d.cts +73 -27
  51. package/dist/index.d.ts +73 -27
  52. package/dist/index.js +1052 -841
  53. package/dist/index.js.map +1 -1
  54. package/dist/markdown.cjs +13 -8
  55. package/dist/markdown.cjs.map +1 -1
  56. package/dist/markdown.js +13 -8
  57. package/dist/markdown.js.map +1 -1
  58. package/dist/styles.css +1 -1
  59. package/dist/theme.css +3 -8
  60. package/dist/wallet/index.cjs +45 -31
  61. package/dist/wallet/index.cjs.map +1 -1
  62. package/dist/wallet/index.d.cts +1 -0
  63. package/dist/wallet/index.d.ts +1 -0
  64. package/dist/wallet/index.js +45 -31
  65. package/dist/wallet/index.js.map +1 -1
  66. package/package.json +1 -1
package/dist/index.d.cts CHANGED
@@ -1,10 +1,10 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
3
  import { ReactNode, CSSProperties, FC, ComponentPropsWithoutRef, RefObject, ButtonHTMLAttributes, PropsWithChildren, ComponentType, ElementType } from 'react';
4
- import { S as ScrollAreaProps, D as DialogProps } from './Dialog-yXzIFrDg.cjs';
5
- export { a as Dialog, b as DialogBody, c as DialogBodyProps, d as DialogDescription, e as DialogFooter, f as DialogFooterProps, g as DialogHeader, h as DialogHeaderProps, i as DialogTitle, j as ScrollArea } from './Dialog-yXzIFrDg.cjs';
6
- import { B as ButtonProps, a as ButtonAppearance } from './Button-CO3Dpbkj.cjs';
7
- export { b as Button } from './Button-CO3Dpbkj.cjs';
4
+ import { S as ScrollAreaProps, D as DialogProps } from './Dialog-D3Nqt8cE.cjs';
5
+ export { a as Dialog, b as DialogBody, c as DialogBodyProps, d as DialogDescription, e as DialogFooter, f as DialogFooterProps, g as DialogHeader, h as DialogHeaderProps, i as DialogTitle, j as ScrollArea } from './Dialog-D3Nqt8cE.cjs';
6
+ import { B as ButtonProps, a as ButtonAppearance } from './Button-ByKwRtdw.cjs';
7
+ export { b as Button } from './Button-ByKwRtdw.cjs';
8
8
  export { C as Chip } from './Chip-v-ADv6cz.cjs';
9
9
  export { Field } from '@ark-ui/react/field';
10
10
  import '@ark-ui/react/dialog';
@@ -37,7 +37,13 @@ type AccountIdentityProps = {
37
37
  dashboardHref?: string;
38
38
  className?: string;
39
39
  };
40
+ type AccountIdentityLinkProps = Pick<AccountIdentityProps, "name" | "avatarUrl" | "className"> & {
41
+ /** External profile the whole pill opens in a new tab. */
42
+ href: string;
43
+ };
40
44
  declare function AccountIdentity({ name, avatarUrl, secondaryContent, dashboardHref, className, }: AccountIdentityProps): react_jsx_runtime.JSX.Element;
45
+ /** Someone else's identity as a one-line pill link, e.g. an app's developer. */
46
+ declare function AccountIdentityLink({ name, avatarUrl, href, className, }: AccountIdentityLinkProps): react_jsx_runtime.JSX.Element;
41
47
  type AccountMenuProps = AccountIdentityProps & {
42
48
  /** The caller owns navigation, permissions and sign-out behavior. */
43
49
  children: DropdownProps["children"];
@@ -58,10 +64,21 @@ type AlertProps = Omit<ComponentPropsWithoutRef<"div">, "title"> & {
58
64
  };
59
65
  declare const Alert: FC<AlertProps>;
60
66
 
67
+ type AppBrandProps = {
68
+ appName: string;
69
+ href?: string;
70
+ size?: "md" | "sm";
71
+ className?: string;
72
+ };
73
+ /** Lotus mark + app name: the one brand every internal app shows. */
74
+ declare function AppBrand({ appName, href, size, className, }: AppBrandProps): react_jsx_runtime.JSX.Element;
75
+
61
76
  type ScrollTargetRef = RefObject<HTMLElement | null>;
62
77
  type AppHeaderProps = {
63
78
  children?: ReactNode;
64
79
  navLabel: string;
80
+ /** Shows the lotus + this name instead of the pollinations.ai wordmark. */
81
+ appName?: string;
65
82
  autoHide?: boolean;
66
83
  scrollTargetRef?: ScrollTargetRef;
67
84
  brandHref?: string;
@@ -70,7 +87,7 @@ type AppHeaderProps = {
70
87
  innerClassName?: string;
71
88
  navClassName?: string;
72
89
  };
73
- declare function AppHeader({ children, navLabel, autoHide, scrollTargetRef, brandHref, brandLabel, className, innerClassName, navClassName, }: AppHeaderProps): react_jsx_runtime.JSX.Element;
90
+ declare function AppHeader({ children, navLabel, appName, autoHide, scrollTargetRef, brandHref, brandLabel, className, innerClassName, navClassName, }: AppHeaderProps): react_jsx_runtime.JSX.Element;
74
91
 
75
92
  type CalloutProps = {
76
93
  title: ReactNode;
@@ -506,6 +523,13 @@ declare function cn(...inputs: (string | undefined | null | false)[]): string;
506
523
  */
507
524
  declare function useScrollLock(enabled?: boolean): void;
508
525
 
526
+ type BrandMarkProps = {
527
+ variant?: "mark" | "lockup";
528
+ className?: string;
529
+ };
530
+ /** The lotus (or lotus + wordmark) painted in currentColor; size it with className. */
531
+ declare function BrandMark({ variant, className }: BrandMarkProps): react_jsx_runtime.JSX.Element;
532
+
509
533
  type ButtonGroupProps = ComponentPropsWithoutRef<"div">;
510
534
  declare const ButtonGroup: FC<ButtonGroupProps>;
511
535
 
@@ -529,7 +553,8 @@ declare const ChevronIcon: FC<ChevronIconProps>;
529
553
  *
530
554
  * The chosen mode is persisted to localStorage (per-origin), which also powers
531
555
  * the cross-tab `storage` sync below. Read priority: localStorage → system
532
- * preference.
556
+ * preference. Choosing the mode the system already uses clears the stored
557
+ * choice, so later visits follow the system again.
533
558
  *
534
559
  * Host apps should set the initial class pre-paint (a tiny inline script in the
535
560
  * document head, reading the same key) to avoid a flash of light before React
@@ -543,7 +568,7 @@ type ColorMode = "light" | "dark";
543
568
  /**
544
569
  * Set the color mode programmatically. Updates the shared store (so every
545
570
  * `useColorMode()` consumer re-renders), flips the `.dark` class, and persists
546
- * to localStorage.
571
+ * to localStorage, or clears it when the mode matches the system.
547
572
  */
548
573
  declare function setColorMode(mode: ColorMode): void;
549
574
  declare function useColorMode(): {
@@ -552,11 +577,9 @@ declare function useColorMode(): {
552
577
  toggle: () => void;
553
578
  };
554
579
  /**
555
- * Sliding sun/moon switch. Light/dark is a two-state choice, not an on/off
556
- * affordance, so this uses `Switch`'s shape but its own palette. The thumb
557
- * carries the active mode's icon tinted with the accent (`text-soft`); the
558
- * mode you'd switch to sits ghosted (faint neutral) on the
559
- * empty side. Self-contained — wires itself to `useColorMode`.
580
+ * Sliding sun/moon switch: `Switch` as a two-way choice, so the track stays
581
+ * neutral and the thumb carries the active mode's icon. Self-contained —
582
+ * wires itself to `useColorMode`.
560
583
  */
561
584
  declare const ColorModeToggle: FC;
562
585
 
@@ -690,6 +713,8 @@ declare function WarningIcon(props: IconProps): react_jsx_runtime.JSX.Element;
690
713
  declare function TrendUpIcon(props: IconProps): react_jsx_runtime.JSX.Element;
691
714
  declare function EarningsIcon(props: IconProps): react_jsx_runtime.JSX.Element;
692
715
  declare function WalletIcon(props: IconProps): react_jsx_runtime.JSX.Element;
716
+ /** A paper receipt: what a price includes. */
717
+ declare function ReceiptIcon(props: IconProps): react_jsx_runtime.JSX.Element;
693
718
  declare function MoonIcon(props: IconProps): react_jsx_runtime.JSX.Element;
694
719
  declare function SunIcon(props: IconProps): react_jsx_runtime.JSX.Element;
695
720
  declare function XIcon(props: IconProps): react_jsx_runtime.JSX.Element;
@@ -721,6 +746,11 @@ declare function GlobeIcon(props: IconProps): react_jsx_runtime.JSX.Element;
721
746
  declare function ArrowLeftIcon(props: IconProps): react_jsx_runtime.JSX.Element;
722
747
  declare function RefreshIcon(props: IconProps): react_jsx_runtime.JSX.Element;
723
748
 
749
+ /** Compact status for both initial loading and background updates. */
750
+ declare function LoadingStatus({ children }: {
751
+ children: ReactNode;
752
+ }): react_jsx_runtime.JSX.Element;
753
+
724
754
  type SliderProps = Omit<React.ComponentPropsWithoutRef<"input">, "type"> & {
725
755
  /** Fill percentage from 0-100. Falls back to value/min/max when omitted. */
726
756
  progress?: number;
@@ -733,10 +763,10 @@ declare const Slider: react.ForwardRefExoticComponent<Omit<Omit<react.DetailedHT
733
763
  type SurfaceVariant = "panel" | "card" | "card-themed";
734
764
  type SurfaceOwnProps = {
735
765
  /**
736
- * Depth role (all opaque, elevation via shadow not borders):
737
- * - `panel` — Level 1 container: themed bg, container shadow
738
- * - `card` — Level 2 well: neutral surface, well shadow (default)
739
- * - `card-themed` — themed well: theme-tinted, well shadow
766
+ * Depth role — flat: each level is one tint step, never a shadow or border.
767
+ * - `panel` — Level 1 block: sections and page groups
768
+ * - `card` — Level 2 card inside a block (default)
769
+ * - `card-themed` — Level 2 card carrying the accent tint
740
770
  */
741
771
  variant?: SurfaceVariant;
742
772
  className?: string;
@@ -752,34 +782,50 @@ type SurfaceProps<T extends ElementType = "div"> = SurfaceOwnProps & {
752
782
  declare function Surface<T extends ElementType = "div">({ as, variant, className, children, ...rest }: SurfaceProps<T>): react_jsx_runtime.JSX.Element;
753
783
 
754
784
  type SwitchStatus = "off" | "on" | "invalid";
785
+ type SwitchSize = "sm" | "md" | "lg";
755
786
  type SwitchProps = {
756
787
  checked: boolean;
757
788
  onChange: (next: boolean) => void;
758
- /** Visual status. Drives track colour only. Defaults to `checked ? "on" : "off"`. */
789
+ /** Track colour. Defaults to `checked ? "on" : "off"`. */
759
790
  status?: SwitchStatus;
760
791
  /** Accessible label (aria-label). Not rendered visibly. */
761
792
  ariaLabel?: string;
762
793
  disabled?: boolean;
794
+ /** Same heights as `Button` sm / md / lg, so a switch lines up with one. */
795
+ size?: SwitchSize;
796
+ /**
797
+ * A two-way choice (light/dark) rather than on/off: the thumb carries the
798
+ * current side's icon, the other sits faint on the empty side, and the
799
+ * track looks the same in both positions.
800
+ */
801
+ icons?: {
802
+ off: ReactNode;
803
+ on: ReactNode;
804
+ };
763
805
  className?: string;
764
806
  };
765
807
  /**
766
- * Binary toggle primitive. Universal palette — does NOT follow the page
767
- * theme. Light thumb in both modes; track states: off (grey), on (green),
768
- * invalid (red, for "enabled but needs attention").
769
- *
770
- * `checked` drives thumb position; `status` drives track colour. So
771
- * `checked={true} status="invalid"` renders thumb-right with a red track.
808
+ * Binary toggle, in `Button`'s sizes: grey off, green on. `checked` moves the thumb;
809
+ * `status` colours it, so `checked status="invalid"` is thumb-right in red.
810
+ * With `icons` it is a two-way choice with a solid thumb on both sides.
772
811
  */
773
812
  declare const Switch: FC<SwitchProps>;
774
813
 
775
814
  type TabButtonOwnProps = {
776
- active: boolean;
815
+ /** `mixed`: a group toggle where only some of its items are selected. */
816
+ active: boolean | "mixed";
777
817
  /** Omit when rendering as a link (`as`) and navigation carries the change. */
778
818
  onClick?: () => void;
779
819
  children: ReactNode;
780
820
  size?: "lg" | "md" | "sm" | "xs";
781
821
  variant?: "soft" | "ghost";
782
- intent?: "neutral";
822
+ /**
823
+ * `amber` and `green` fill the selected pill with the wallet's pale paid
824
+ * and Quest Pollen chip colours, which read at the same strength together.
825
+ */
826
+ intent?: "neutral" | "amber" | "green";
827
+ /** Muted secondary text after the label, e.g. a model's creator. */
828
+ detail?: ReactNode;
783
829
  ariaLabel?: string;
784
830
  disabled?: boolean;
785
831
  className?: string;
@@ -792,7 +838,7 @@ type TabButtonOwnProps = {
792
838
  type TabButtonProps<T extends ElementType = "button"> = TabButtonOwnProps & {
793
839
  as?: T;
794
840
  } & Omit<ComponentPropsWithoutRef<T>, keyof TabButtonOwnProps | "as">;
795
- declare function TabButton<T extends ElementType = "button">({ as, active, onClick, children, size, variant, intent, ariaLabel, disabled, className, ...rest }: TabButtonProps<T>): react_jsx_runtime.JSX.Element;
841
+ declare function TabButton<T extends ElementType = "button">({ as, active, onClick, children, size, variant, intent, detail, ariaLabel, disabled, className, ...rest }: TabButtonProps<T>): react_jsx_runtime.JSX.Element;
796
842
 
797
843
  type Align = "left" | "center" | "right";
798
844
  type RowIntent = "default" | "warning" | "danger";
@@ -884,4 +930,4 @@ type TextOwnProps<T extends ElementType> = PropsWithChildren<{
884
930
  type TextProps<T extends ElementType = "p"> = TextOwnProps<T> & Omit<ComponentPropsWithoutRef<T>, keyof TextOwnProps<T>>;
885
931
  declare function Text<T extends ElementType = "p">({ as, size, tone, weight, className, children, ...rest }: TextProps<T>): react_jsx_runtime.JSX.Element;
886
932
 
887
- export { AccountIcon, AccountIdentity, type AccountIdentityProps, AccountMenu, type AccountMenuProps, Alert, type AlertProps, AppHeader, type AppHeaderProps, AppIcon, ArrowLeftIcon, ArrowRightIcon, AudioIcon, BeakerIcon, BookIcon, BotIcon, BugIcon, ButtonAppearance, ButtonGroup, type ButtonGroupProps, ButtonProps, Callout, type CalloutProps, CardIcon, ChatConversation, ChatConversationContent, type ChatConversationContentProps, type ChatConversationProps, ChatIcon, ChatMessage, ChatMessageActions, type ChatMessageActionsProps, ChatMessageContent, type ChatMessageContentProps, ChatMessageHeader, type ChatMessageHeaderProps, type ChatMessageProps, type ChatMessageRole, ChatPromptInput, ChatPromptInputFooter, type ChatPromptInputFooterProps, type ChatPromptInputProps, ChatPromptTextarea, CheckIcon, ChevronIcon, ClipboardIcon, ClockIcon, CloudUploadIcon, CodeBlock, type CodeBlockProps, CodeIcon, Collapsible, type CollapsibleProps, ColorModeToggle, ConfirmationDialog, type ConfirmationDialogProps, ContentHeader, type ContentHeaderProps, CopyButton, type CopyButtonProps, CopyField, type CopyFieldProps, CubeIcon, DatabaseIcon, DialogProps, DiscordIcon, DownloadIcon, Drawer, type DrawerProps, Dropdown, DropdownItem, type DropdownItemProps, type DropdownProps, EarningsIcon, EditableCombobox, type EditableComboboxProps, EditableComboboxToken, type EditableComboboxTokenProps, ExpandIcon, ExternalLinkButton, type ExternalLinkButtonProps, ExternalLinkIcon, EyeIcon, EyeOffIcon, Eyebrow, type EyebrowProps, FieldStack, type FieldStackProps, FileUpload, type FileUploadProps, GenApiIcon, GitBranchIcon, GitHubIcon, GitPullRequestIcon, GlobeIcon, GraduationCapIcon, Heading, type HeadingProps, IconButton, type IconButtonIntent, type IconButtonProps, type IconButtonVariant, type IconProps, ImageIcon, InfoTip, InlineLink, type InlineLinkProps, Input, type InputProps, InstagramIcon, KeyChip, type KeyChipProps, KeyIcon, LinkCard, type LinkCardProps, LinkedInIcon, LockIcon, LogInIcon, LogOutIcon, MailIcon, McpIcon, MediaPlaceholder, type MediaPlaceholderProps, MegaphoneIcon, MenuIcon, MicIcon, MoonIcon, MultiSelect, type MultiSelectProps, NavItem, type NavItemProps, NewspaperIcon, PauseIcon, PencilIcon, type PeriodGranularity, PeriodPicker, type PeriodPickerProps, type PeriodSelection, PlayIcon, PlusIcon, PowerIcon, ReasoningIcon, RefreshIcon, RobotIcon, RocketIcon, ScrollAreaProps, SearchIcon, Section, type SectionProps, SignOutIcon, Slider, type SliderProps, SparkleIcon, SparklesIcon, SpeakerIcon, SproutIcon, StarIcon, StatCard, type StatCardProps, SunIcon, Surface, type SurfaceProps, Switch, type SwitchProps, type SwitchStatus, TabButton, type TabButtonProps, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableDisclosureButton, type TableDisclosureButtonProps, TableHead, type TableHeadProps, TableHeaderCell, type TableHeaderCellProps, type TableProps, TableRow, type TableRowProps, TargetIcon, TerminalIcon, Text, type TextProps, Textarea, type TextareaProps, TokensIcon, ToolCallDetails, type ToolCallDetailsProps, type ToolCallStatus, ToolIcon, Tooltip, TrashIcon, TrendUpIcon, UsageIcon, VideoIcon, WalletIcon, WarningIcon, XIcon, XSocialIcon, cn, currentPeriod, getPeriodBucketKeys, isPeriodSelectable, periodBucketKeyToDate, periodFromDate, periodToWindow, setColorMode, useColorMode, useScrollLock };
933
+ export { AccountIcon, AccountIdentity, AccountIdentityLink, type AccountIdentityLinkProps, type AccountIdentityProps, AccountMenu, type AccountMenuProps, Alert, type AlertProps, AppBrand, type AppBrandProps, AppHeader, type AppHeaderProps, AppIcon, ArrowLeftIcon, ArrowRightIcon, AudioIcon, BeakerIcon, BookIcon, BotIcon, BrandMark, type BrandMarkProps, BugIcon, ButtonAppearance, ButtonGroup, type ButtonGroupProps, ButtonProps, Callout, type CalloutProps, CardIcon, ChatConversation, ChatConversationContent, type ChatConversationContentProps, type ChatConversationProps, ChatIcon, ChatMessage, ChatMessageActions, type ChatMessageActionsProps, ChatMessageContent, type ChatMessageContentProps, ChatMessageHeader, type ChatMessageHeaderProps, type ChatMessageProps, type ChatMessageRole, ChatPromptInput, ChatPromptInputFooter, type ChatPromptInputFooterProps, type ChatPromptInputProps, ChatPromptTextarea, CheckIcon, ChevronIcon, ClipboardIcon, ClockIcon, CloudUploadIcon, CodeBlock, type CodeBlockProps, CodeIcon, Collapsible, type CollapsibleProps, ColorModeToggle, ConfirmationDialog, type ConfirmationDialogProps, ContentHeader, type ContentHeaderProps, CopyButton, type CopyButtonProps, CopyField, type CopyFieldProps, CubeIcon, DatabaseIcon, DialogProps, DiscordIcon, DownloadIcon, Drawer, type DrawerProps, Dropdown, DropdownItem, type DropdownItemProps, type DropdownProps, EarningsIcon, EditableCombobox, type EditableComboboxProps, EditableComboboxToken, type EditableComboboxTokenProps, ExpandIcon, ExternalLinkButton, type ExternalLinkButtonProps, ExternalLinkIcon, EyeIcon, EyeOffIcon, Eyebrow, type EyebrowProps, FieldStack, type FieldStackProps, FileUpload, type FileUploadProps, GenApiIcon, GitBranchIcon, GitHubIcon, GitPullRequestIcon, GlobeIcon, GraduationCapIcon, Heading, type HeadingProps, IconButton, type IconButtonIntent, type IconButtonProps, type IconButtonVariant, type IconProps, ImageIcon, InfoTip, InlineLink, type InlineLinkProps, Input, type InputProps, InstagramIcon, KeyChip, type KeyChipProps, KeyIcon, LinkCard, type LinkCardProps, LinkedInIcon, LoadingStatus, LockIcon, LogInIcon, LogOutIcon, MailIcon, McpIcon, MediaPlaceholder, type MediaPlaceholderProps, MegaphoneIcon, MenuIcon, MicIcon, MoonIcon, MultiSelect, type MultiSelectProps, NavItem, type NavItemProps, NewspaperIcon, PauseIcon, PencilIcon, type PeriodGranularity, PeriodPicker, type PeriodPickerProps, type PeriodSelection, PlayIcon, PlusIcon, PowerIcon, ReasoningIcon, ReceiptIcon, RefreshIcon, RobotIcon, RocketIcon, ScrollAreaProps, SearchIcon, Section, type SectionProps, SignOutIcon, Slider, type SliderProps, SparkleIcon, SparklesIcon, SpeakerIcon, SproutIcon, StarIcon, StatCard, type StatCardProps, SunIcon, Surface, type SurfaceProps, Switch, type SwitchProps, type SwitchSize, type SwitchStatus, TabButton, type TabButtonProps, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableDisclosureButton, type TableDisclosureButtonProps, TableHead, type TableHeadProps, TableHeaderCell, type TableHeaderCellProps, type TableProps, TableRow, type TableRowProps, TargetIcon, TerminalIcon, Text, type TextProps, Textarea, type TextareaProps, TokensIcon, ToolCallDetails, type ToolCallDetailsProps, type ToolCallStatus, ToolIcon, Tooltip, TrashIcon, TrendUpIcon, UsageIcon, VideoIcon, WalletIcon, WarningIcon, XIcon, XSocialIcon, cn, currentPeriod, getPeriodBucketKeys, isPeriodSelectable, periodBucketKeyToDate, periodFromDate, periodToWindow, setColorMode, useColorMode, useScrollLock };
package/dist/index.d.ts CHANGED
@@ -1,10 +1,10 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as react from 'react';
3
3
  import { ReactNode, CSSProperties, FC, ComponentPropsWithoutRef, RefObject, ButtonHTMLAttributes, PropsWithChildren, ComponentType, ElementType } from 'react';
4
- import { S as ScrollAreaProps, D as DialogProps } from './Dialog-yXzIFrDg.js';
5
- export { a as Dialog, b as DialogBody, c as DialogBodyProps, d as DialogDescription, e as DialogFooter, f as DialogFooterProps, g as DialogHeader, h as DialogHeaderProps, i as DialogTitle, j as ScrollArea } from './Dialog-yXzIFrDg.js';
6
- import { B as ButtonProps, a as ButtonAppearance } from './Button-CO3Dpbkj.js';
7
- export { b as Button } from './Button-CO3Dpbkj.js';
4
+ import { S as ScrollAreaProps, D as DialogProps } from './Dialog-D3Nqt8cE.js';
5
+ export { a as Dialog, b as DialogBody, c as DialogBodyProps, d as DialogDescription, e as DialogFooter, f as DialogFooterProps, g as DialogHeader, h as DialogHeaderProps, i as DialogTitle, j as ScrollArea } from './Dialog-D3Nqt8cE.js';
6
+ import { B as ButtonProps, a as ButtonAppearance } from './Button-ByKwRtdw.js';
7
+ export { b as Button } from './Button-ByKwRtdw.js';
8
8
  export { C as Chip } from './Chip-v-ADv6cz.js';
9
9
  export { Field } from '@ark-ui/react/field';
10
10
  import '@ark-ui/react/dialog';
@@ -37,7 +37,13 @@ type AccountIdentityProps = {
37
37
  dashboardHref?: string;
38
38
  className?: string;
39
39
  };
40
+ type AccountIdentityLinkProps = Pick<AccountIdentityProps, "name" | "avatarUrl" | "className"> & {
41
+ /** External profile the whole pill opens in a new tab. */
42
+ href: string;
43
+ };
40
44
  declare function AccountIdentity({ name, avatarUrl, secondaryContent, dashboardHref, className, }: AccountIdentityProps): react_jsx_runtime.JSX.Element;
45
+ /** Someone else's identity as a one-line pill link, e.g. an app's developer. */
46
+ declare function AccountIdentityLink({ name, avatarUrl, href, className, }: AccountIdentityLinkProps): react_jsx_runtime.JSX.Element;
41
47
  type AccountMenuProps = AccountIdentityProps & {
42
48
  /** The caller owns navigation, permissions and sign-out behavior. */
43
49
  children: DropdownProps["children"];
@@ -58,10 +64,21 @@ type AlertProps = Omit<ComponentPropsWithoutRef<"div">, "title"> & {
58
64
  };
59
65
  declare const Alert: FC<AlertProps>;
60
66
 
67
+ type AppBrandProps = {
68
+ appName: string;
69
+ href?: string;
70
+ size?: "md" | "sm";
71
+ className?: string;
72
+ };
73
+ /** Lotus mark + app name: the one brand every internal app shows. */
74
+ declare function AppBrand({ appName, href, size, className, }: AppBrandProps): react_jsx_runtime.JSX.Element;
75
+
61
76
  type ScrollTargetRef = RefObject<HTMLElement | null>;
62
77
  type AppHeaderProps = {
63
78
  children?: ReactNode;
64
79
  navLabel: string;
80
+ /** Shows the lotus + this name instead of the pollinations.ai wordmark. */
81
+ appName?: string;
65
82
  autoHide?: boolean;
66
83
  scrollTargetRef?: ScrollTargetRef;
67
84
  brandHref?: string;
@@ -70,7 +87,7 @@ type AppHeaderProps = {
70
87
  innerClassName?: string;
71
88
  navClassName?: string;
72
89
  };
73
- declare function AppHeader({ children, navLabel, autoHide, scrollTargetRef, brandHref, brandLabel, className, innerClassName, navClassName, }: AppHeaderProps): react_jsx_runtime.JSX.Element;
90
+ declare function AppHeader({ children, navLabel, appName, autoHide, scrollTargetRef, brandHref, brandLabel, className, innerClassName, navClassName, }: AppHeaderProps): react_jsx_runtime.JSX.Element;
74
91
 
75
92
  type CalloutProps = {
76
93
  title: ReactNode;
@@ -506,6 +523,13 @@ declare function cn(...inputs: (string | undefined | null | false)[]): string;
506
523
  */
507
524
  declare function useScrollLock(enabled?: boolean): void;
508
525
 
526
+ type BrandMarkProps = {
527
+ variant?: "mark" | "lockup";
528
+ className?: string;
529
+ };
530
+ /** The lotus (or lotus + wordmark) painted in currentColor; size it with className. */
531
+ declare function BrandMark({ variant, className }: BrandMarkProps): react_jsx_runtime.JSX.Element;
532
+
509
533
  type ButtonGroupProps = ComponentPropsWithoutRef<"div">;
510
534
  declare const ButtonGroup: FC<ButtonGroupProps>;
511
535
 
@@ -529,7 +553,8 @@ declare const ChevronIcon: FC<ChevronIconProps>;
529
553
  *
530
554
  * The chosen mode is persisted to localStorage (per-origin), which also powers
531
555
  * the cross-tab `storage` sync below. Read priority: localStorage → system
532
- * preference.
556
+ * preference. Choosing the mode the system already uses clears the stored
557
+ * choice, so later visits follow the system again.
533
558
  *
534
559
  * Host apps should set the initial class pre-paint (a tiny inline script in the
535
560
  * document head, reading the same key) to avoid a flash of light before React
@@ -543,7 +568,7 @@ type ColorMode = "light" | "dark";
543
568
  /**
544
569
  * Set the color mode programmatically. Updates the shared store (so every
545
570
  * `useColorMode()` consumer re-renders), flips the `.dark` class, and persists
546
- * to localStorage.
571
+ * to localStorage, or clears it when the mode matches the system.
547
572
  */
548
573
  declare function setColorMode(mode: ColorMode): void;
549
574
  declare function useColorMode(): {
@@ -552,11 +577,9 @@ declare function useColorMode(): {
552
577
  toggle: () => void;
553
578
  };
554
579
  /**
555
- * Sliding sun/moon switch. Light/dark is a two-state choice, not an on/off
556
- * affordance, so this uses `Switch`'s shape but its own palette. The thumb
557
- * carries the active mode's icon tinted with the accent (`text-soft`); the
558
- * mode you'd switch to sits ghosted (faint neutral) on the
559
- * empty side. Self-contained — wires itself to `useColorMode`.
580
+ * Sliding sun/moon switch: `Switch` as a two-way choice, so the track stays
581
+ * neutral and the thumb carries the active mode's icon. Self-contained —
582
+ * wires itself to `useColorMode`.
560
583
  */
561
584
  declare const ColorModeToggle: FC;
562
585
 
@@ -690,6 +713,8 @@ declare function WarningIcon(props: IconProps): react_jsx_runtime.JSX.Element;
690
713
  declare function TrendUpIcon(props: IconProps): react_jsx_runtime.JSX.Element;
691
714
  declare function EarningsIcon(props: IconProps): react_jsx_runtime.JSX.Element;
692
715
  declare function WalletIcon(props: IconProps): react_jsx_runtime.JSX.Element;
716
+ /** A paper receipt: what a price includes. */
717
+ declare function ReceiptIcon(props: IconProps): react_jsx_runtime.JSX.Element;
693
718
  declare function MoonIcon(props: IconProps): react_jsx_runtime.JSX.Element;
694
719
  declare function SunIcon(props: IconProps): react_jsx_runtime.JSX.Element;
695
720
  declare function XIcon(props: IconProps): react_jsx_runtime.JSX.Element;
@@ -721,6 +746,11 @@ declare function GlobeIcon(props: IconProps): react_jsx_runtime.JSX.Element;
721
746
  declare function ArrowLeftIcon(props: IconProps): react_jsx_runtime.JSX.Element;
722
747
  declare function RefreshIcon(props: IconProps): react_jsx_runtime.JSX.Element;
723
748
 
749
+ /** Compact status for both initial loading and background updates. */
750
+ declare function LoadingStatus({ children }: {
751
+ children: ReactNode;
752
+ }): react_jsx_runtime.JSX.Element;
753
+
724
754
  type SliderProps = Omit<React.ComponentPropsWithoutRef<"input">, "type"> & {
725
755
  /** Fill percentage from 0-100. Falls back to value/min/max when omitted. */
726
756
  progress?: number;
@@ -733,10 +763,10 @@ declare const Slider: react.ForwardRefExoticComponent<Omit<Omit<react.DetailedHT
733
763
  type SurfaceVariant = "panel" | "card" | "card-themed";
734
764
  type SurfaceOwnProps = {
735
765
  /**
736
- * Depth role (all opaque, elevation via shadow not borders):
737
- * - `panel` — Level 1 container: themed bg, container shadow
738
- * - `card` — Level 2 well: neutral surface, well shadow (default)
739
- * - `card-themed` — themed well: theme-tinted, well shadow
766
+ * Depth role — flat: each level is one tint step, never a shadow or border.
767
+ * - `panel` — Level 1 block: sections and page groups
768
+ * - `card` — Level 2 card inside a block (default)
769
+ * - `card-themed` — Level 2 card carrying the accent tint
740
770
  */
741
771
  variant?: SurfaceVariant;
742
772
  className?: string;
@@ -752,34 +782,50 @@ type SurfaceProps<T extends ElementType = "div"> = SurfaceOwnProps & {
752
782
  declare function Surface<T extends ElementType = "div">({ as, variant, className, children, ...rest }: SurfaceProps<T>): react_jsx_runtime.JSX.Element;
753
783
 
754
784
  type SwitchStatus = "off" | "on" | "invalid";
785
+ type SwitchSize = "sm" | "md" | "lg";
755
786
  type SwitchProps = {
756
787
  checked: boolean;
757
788
  onChange: (next: boolean) => void;
758
- /** Visual status. Drives track colour only. Defaults to `checked ? "on" : "off"`. */
789
+ /** Track colour. Defaults to `checked ? "on" : "off"`. */
759
790
  status?: SwitchStatus;
760
791
  /** Accessible label (aria-label). Not rendered visibly. */
761
792
  ariaLabel?: string;
762
793
  disabled?: boolean;
794
+ /** Same heights as `Button` sm / md / lg, so a switch lines up with one. */
795
+ size?: SwitchSize;
796
+ /**
797
+ * A two-way choice (light/dark) rather than on/off: the thumb carries the
798
+ * current side's icon, the other sits faint on the empty side, and the
799
+ * track looks the same in both positions.
800
+ */
801
+ icons?: {
802
+ off: ReactNode;
803
+ on: ReactNode;
804
+ };
763
805
  className?: string;
764
806
  };
765
807
  /**
766
- * Binary toggle primitive. Universal palette — does NOT follow the page
767
- * theme. Light thumb in both modes; track states: off (grey), on (green),
768
- * invalid (red, for "enabled but needs attention").
769
- *
770
- * `checked` drives thumb position; `status` drives track colour. So
771
- * `checked={true} status="invalid"` renders thumb-right with a red track.
808
+ * Binary toggle, in `Button`'s sizes: grey off, green on. `checked` moves the thumb;
809
+ * `status` colours it, so `checked status="invalid"` is thumb-right in red.
810
+ * With `icons` it is a two-way choice with a solid thumb on both sides.
772
811
  */
773
812
  declare const Switch: FC<SwitchProps>;
774
813
 
775
814
  type TabButtonOwnProps = {
776
- active: boolean;
815
+ /** `mixed`: a group toggle where only some of its items are selected. */
816
+ active: boolean | "mixed";
777
817
  /** Omit when rendering as a link (`as`) and navigation carries the change. */
778
818
  onClick?: () => void;
779
819
  children: ReactNode;
780
820
  size?: "lg" | "md" | "sm" | "xs";
781
821
  variant?: "soft" | "ghost";
782
- intent?: "neutral";
822
+ /**
823
+ * `amber` and `green` fill the selected pill with the wallet's pale paid
824
+ * and Quest Pollen chip colours, which read at the same strength together.
825
+ */
826
+ intent?: "neutral" | "amber" | "green";
827
+ /** Muted secondary text after the label, e.g. a model's creator. */
828
+ detail?: ReactNode;
783
829
  ariaLabel?: string;
784
830
  disabled?: boolean;
785
831
  className?: string;
@@ -792,7 +838,7 @@ type TabButtonOwnProps = {
792
838
  type TabButtonProps<T extends ElementType = "button"> = TabButtonOwnProps & {
793
839
  as?: T;
794
840
  } & Omit<ComponentPropsWithoutRef<T>, keyof TabButtonOwnProps | "as">;
795
- declare function TabButton<T extends ElementType = "button">({ as, active, onClick, children, size, variant, intent, ariaLabel, disabled, className, ...rest }: TabButtonProps<T>): react_jsx_runtime.JSX.Element;
841
+ declare function TabButton<T extends ElementType = "button">({ as, active, onClick, children, size, variant, intent, detail, ariaLabel, disabled, className, ...rest }: TabButtonProps<T>): react_jsx_runtime.JSX.Element;
796
842
 
797
843
  type Align = "left" | "center" | "right";
798
844
  type RowIntent = "default" | "warning" | "danger";
@@ -884,4 +930,4 @@ type TextOwnProps<T extends ElementType> = PropsWithChildren<{
884
930
  type TextProps<T extends ElementType = "p"> = TextOwnProps<T> & Omit<ComponentPropsWithoutRef<T>, keyof TextOwnProps<T>>;
885
931
  declare function Text<T extends ElementType = "p">({ as, size, tone, weight, className, children, ...rest }: TextProps<T>): react_jsx_runtime.JSX.Element;
886
932
 
887
- export { AccountIcon, AccountIdentity, type AccountIdentityProps, AccountMenu, type AccountMenuProps, Alert, type AlertProps, AppHeader, type AppHeaderProps, AppIcon, ArrowLeftIcon, ArrowRightIcon, AudioIcon, BeakerIcon, BookIcon, BotIcon, BugIcon, ButtonAppearance, ButtonGroup, type ButtonGroupProps, ButtonProps, Callout, type CalloutProps, CardIcon, ChatConversation, ChatConversationContent, type ChatConversationContentProps, type ChatConversationProps, ChatIcon, ChatMessage, ChatMessageActions, type ChatMessageActionsProps, ChatMessageContent, type ChatMessageContentProps, ChatMessageHeader, type ChatMessageHeaderProps, type ChatMessageProps, type ChatMessageRole, ChatPromptInput, ChatPromptInputFooter, type ChatPromptInputFooterProps, type ChatPromptInputProps, ChatPromptTextarea, CheckIcon, ChevronIcon, ClipboardIcon, ClockIcon, CloudUploadIcon, CodeBlock, type CodeBlockProps, CodeIcon, Collapsible, type CollapsibleProps, ColorModeToggle, ConfirmationDialog, type ConfirmationDialogProps, ContentHeader, type ContentHeaderProps, CopyButton, type CopyButtonProps, CopyField, type CopyFieldProps, CubeIcon, DatabaseIcon, DialogProps, DiscordIcon, DownloadIcon, Drawer, type DrawerProps, Dropdown, DropdownItem, type DropdownItemProps, type DropdownProps, EarningsIcon, EditableCombobox, type EditableComboboxProps, EditableComboboxToken, type EditableComboboxTokenProps, ExpandIcon, ExternalLinkButton, type ExternalLinkButtonProps, ExternalLinkIcon, EyeIcon, EyeOffIcon, Eyebrow, type EyebrowProps, FieldStack, type FieldStackProps, FileUpload, type FileUploadProps, GenApiIcon, GitBranchIcon, GitHubIcon, GitPullRequestIcon, GlobeIcon, GraduationCapIcon, Heading, type HeadingProps, IconButton, type IconButtonIntent, type IconButtonProps, type IconButtonVariant, type IconProps, ImageIcon, InfoTip, InlineLink, type InlineLinkProps, Input, type InputProps, InstagramIcon, KeyChip, type KeyChipProps, KeyIcon, LinkCard, type LinkCardProps, LinkedInIcon, LockIcon, LogInIcon, LogOutIcon, MailIcon, McpIcon, MediaPlaceholder, type MediaPlaceholderProps, MegaphoneIcon, MenuIcon, MicIcon, MoonIcon, MultiSelect, type MultiSelectProps, NavItem, type NavItemProps, NewspaperIcon, PauseIcon, PencilIcon, type PeriodGranularity, PeriodPicker, type PeriodPickerProps, type PeriodSelection, PlayIcon, PlusIcon, PowerIcon, ReasoningIcon, RefreshIcon, RobotIcon, RocketIcon, ScrollAreaProps, SearchIcon, Section, type SectionProps, SignOutIcon, Slider, type SliderProps, SparkleIcon, SparklesIcon, SpeakerIcon, SproutIcon, StarIcon, StatCard, type StatCardProps, SunIcon, Surface, type SurfaceProps, Switch, type SwitchProps, type SwitchStatus, TabButton, type TabButtonProps, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableDisclosureButton, type TableDisclosureButtonProps, TableHead, type TableHeadProps, TableHeaderCell, type TableHeaderCellProps, type TableProps, TableRow, type TableRowProps, TargetIcon, TerminalIcon, Text, type TextProps, Textarea, type TextareaProps, TokensIcon, ToolCallDetails, type ToolCallDetailsProps, type ToolCallStatus, ToolIcon, Tooltip, TrashIcon, TrendUpIcon, UsageIcon, VideoIcon, WalletIcon, WarningIcon, XIcon, XSocialIcon, cn, currentPeriod, getPeriodBucketKeys, isPeriodSelectable, periodBucketKeyToDate, periodFromDate, periodToWindow, setColorMode, useColorMode, useScrollLock };
933
+ export { AccountIcon, AccountIdentity, AccountIdentityLink, type AccountIdentityLinkProps, type AccountIdentityProps, AccountMenu, type AccountMenuProps, Alert, type AlertProps, AppBrand, type AppBrandProps, AppHeader, type AppHeaderProps, AppIcon, ArrowLeftIcon, ArrowRightIcon, AudioIcon, BeakerIcon, BookIcon, BotIcon, BrandMark, type BrandMarkProps, BugIcon, ButtonAppearance, ButtonGroup, type ButtonGroupProps, ButtonProps, Callout, type CalloutProps, CardIcon, ChatConversation, ChatConversationContent, type ChatConversationContentProps, type ChatConversationProps, ChatIcon, ChatMessage, ChatMessageActions, type ChatMessageActionsProps, ChatMessageContent, type ChatMessageContentProps, ChatMessageHeader, type ChatMessageHeaderProps, type ChatMessageProps, type ChatMessageRole, ChatPromptInput, ChatPromptInputFooter, type ChatPromptInputFooterProps, type ChatPromptInputProps, ChatPromptTextarea, CheckIcon, ChevronIcon, ClipboardIcon, ClockIcon, CloudUploadIcon, CodeBlock, type CodeBlockProps, CodeIcon, Collapsible, type CollapsibleProps, ColorModeToggle, ConfirmationDialog, type ConfirmationDialogProps, ContentHeader, type ContentHeaderProps, CopyButton, type CopyButtonProps, CopyField, type CopyFieldProps, CubeIcon, DatabaseIcon, DialogProps, DiscordIcon, DownloadIcon, Drawer, type DrawerProps, Dropdown, DropdownItem, type DropdownItemProps, type DropdownProps, EarningsIcon, EditableCombobox, type EditableComboboxProps, EditableComboboxToken, type EditableComboboxTokenProps, ExpandIcon, ExternalLinkButton, type ExternalLinkButtonProps, ExternalLinkIcon, EyeIcon, EyeOffIcon, Eyebrow, type EyebrowProps, FieldStack, type FieldStackProps, FileUpload, type FileUploadProps, GenApiIcon, GitBranchIcon, GitHubIcon, GitPullRequestIcon, GlobeIcon, GraduationCapIcon, Heading, type HeadingProps, IconButton, type IconButtonIntent, type IconButtonProps, type IconButtonVariant, type IconProps, ImageIcon, InfoTip, InlineLink, type InlineLinkProps, Input, type InputProps, InstagramIcon, KeyChip, type KeyChipProps, KeyIcon, LinkCard, type LinkCardProps, LinkedInIcon, LoadingStatus, LockIcon, LogInIcon, LogOutIcon, MailIcon, McpIcon, MediaPlaceholder, type MediaPlaceholderProps, MegaphoneIcon, MenuIcon, MicIcon, MoonIcon, MultiSelect, type MultiSelectProps, NavItem, type NavItemProps, NewspaperIcon, PauseIcon, PencilIcon, type PeriodGranularity, PeriodPicker, type PeriodPickerProps, type PeriodSelection, PlayIcon, PlusIcon, PowerIcon, ReasoningIcon, ReceiptIcon, RefreshIcon, RobotIcon, RocketIcon, ScrollAreaProps, SearchIcon, Section, type SectionProps, SignOutIcon, Slider, type SliderProps, SparkleIcon, SparklesIcon, SpeakerIcon, SproutIcon, StarIcon, StatCard, type StatCardProps, SunIcon, Surface, type SurfaceProps, Switch, type SwitchProps, type SwitchSize, type SwitchStatus, TabButton, type TabButtonProps, Table, TableBody, type TableBodyProps, TableCell, type TableCellProps, TableDisclosureButton, type TableDisclosureButtonProps, TableHead, type TableHeadProps, TableHeaderCell, type TableHeaderCellProps, type TableProps, TableRow, type TableRowProps, TargetIcon, TerminalIcon, Text, type TextProps, Textarea, type TextareaProps, TokensIcon, ToolCallDetails, type ToolCallDetailsProps, type ToolCallStatus, ToolIcon, Tooltip, TrashIcon, TrendUpIcon, UsageIcon, VideoIcon, WalletIcon, WarningIcon, XIcon, XSocialIcon, cn, currentPeriod, getPeriodBucketKeys, isPeriodSelectable, periodBucketKeyToDate, periodFromDate, periodToWindow, setColorMode, useColorMode, useScrollLock };