@fanvue/ui 3.7.2 → 3.9.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.
- package/dist/cjs/components/Alert/Alert.cjs +28 -5
- package/dist/cjs/components/Alert/Alert.cjs.map +1 -1
- package/dist/cjs/components/Badge/Badge.cjs +17 -5
- package/dist/cjs/components/Badge/Badge.cjs.map +1 -1
- package/dist/cjs/components/Breadcrumb/Breadcrumb.cjs +46 -23
- package/dist/cjs/components/Breadcrumb/Breadcrumb.cjs.map +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.cjs +1 -1
- package/dist/cjs/components/Checkbox/Checkbox.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Dialog.cjs +21 -8
- package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
- package/dist/cjs/components/FanFollowerCount/FanFollowerCount.cjs +64 -0
- package/dist/cjs/components/FanFollowerCount/FanFollowerCount.cjs.map +1 -0
- package/dist/cjs/components/IconButton/IconButton.cjs +1 -1
- package/dist/cjs/components/IconButton/IconButton.cjs.map +1 -1
- package/dist/cjs/components/Icons/GifIcon.cjs +101 -0
- package/dist/cjs/components/Icons/GifIcon.cjs.map +1 -0
- package/dist/cjs/components/Icons/VerifiedIcon.cjs +82 -0
- package/dist/cjs/components/Icons/VerifiedIcon.cjs.map +1 -0
- package/dist/cjs/components/Link/Link.cjs +85 -0
- package/dist/cjs/components/Link/Link.cjs.map +1 -0
- package/dist/cjs/components/Pagination/Pagination.cjs +7 -7
- package/dist/cjs/components/Pagination/Pagination.cjs.map +1 -1
- package/dist/cjs/components/Pill/Pill.cjs +3 -1
- package/dist/cjs/components/Pill/Pill.cjs.map +1 -1
- package/dist/cjs/components/ProfileOnlineStatus/ProfileOnlineStatus.cjs +44 -0
- package/dist/cjs/components/ProfileOnlineStatus/ProfileOnlineStatus.cjs.map +1 -0
- package/dist/cjs/components/ProfileStatus/ProfileStatus.cjs +51 -0
- package/dist/cjs/components/ProfileStatus/ProfileStatus.cjs.map +1 -0
- package/dist/cjs/components/Radio/Radio.cjs +65 -34
- package/dist/cjs/components/Radio/Radio.cjs.map +1 -1
- package/dist/cjs/components/RatingSummary/RatingSummary.cjs +103 -0
- package/dist/cjs/components/RatingSummary/RatingSummary.cjs.map +1 -0
- package/dist/cjs/components/ReviewCard/ReviewCard.cjs +51 -0
- package/dist/cjs/components/ReviewCard/ReviewCard.cjs.map +1 -0
- package/dist/cjs/components/Select/Select.cjs +4 -4
- package/dist/cjs/components/Select/Select.cjs.map +1 -1
- package/dist/cjs/components/TextField/TextField.cjs +4 -4
- package/dist/cjs/components/TextField/TextField.cjs.map +1 -1
- package/dist/cjs/components/Toast/Toast.cjs +18 -32
- package/dist/cjs/components/Toast/Toast.cjs.map +1 -1
- package/dist/cjs/components/UserDisplayName/UserDisplayName.cjs +67 -0
- package/dist/cjs/components/UserDisplayName/UserDisplayName.cjs.map +1 -0
- package/dist/cjs/components/UserHandle/UserHandle.cjs +46 -0
- package/dist/cjs/components/UserHandle/UserHandle.cjs.map +1 -0
- package/dist/cjs/components/UserItem/UserItem.cjs +74 -0
- package/dist/cjs/components/UserItem/UserItem.cjs.map +1 -0
- package/dist/cjs/index.cjs +24 -0
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/utils/getInitials.cjs +10 -0
- package/dist/cjs/utils/getInitials.cjs.map +1 -0
- package/dist/components/Alert/Alert.mjs +28 -5
- package/dist/components/Alert/Alert.mjs.map +1 -1
- package/dist/components/Badge/Badge.mjs +17 -5
- package/dist/components/Badge/Badge.mjs.map +1 -1
- package/dist/components/Breadcrumb/Breadcrumb.mjs +46 -23
- package/dist/components/Breadcrumb/Breadcrumb.mjs.map +1 -1
- package/dist/components/Checkbox/Checkbox.mjs +1 -1
- package/dist/components/Checkbox/Checkbox.mjs.map +1 -1
- package/dist/components/Dialog/Dialog.mjs +21 -8
- package/dist/components/Dialog/Dialog.mjs.map +1 -1
- package/dist/components/FanFollowerCount/FanFollowerCount.mjs +47 -0
- package/dist/components/FanFollowerCount/FanFollowerCount.mjs.map +1 -0
- package/dist/components/IconButton/IconButton.mjs +1 -1
- package/dist/components/IconButton/IconButton.mjs.map +1 -1
- package/dist/components/Icons/GifIcon.mjs +84 -0
- package/dist/components/Icons/GifIcon.mjs.map +1 -0
- package/dist/components/Icons/VerifiedIcon.mjs +65 -0
- package/dist/components/Icons/VerifiedIcon.mjs.map +1 -0
- package/dist/components/Link/Link.mjs +68 -0
- package/dist/components/Link/Link.mjs.map +1 -0
- package/dist/components/Pagination/Pagination.mjs +7 -7
- package/dist/components/Pagination/Pagination.mjs.map +1 -1
- package/dist/components/Pill/Pill.mjs +3 -1
- package/dist/components/Pill/Pill.mjs.map +1 -1
- package/dist/components/ProfileOnlineStatus/ProfileOnlineStatus.mjs +27 -0
- package/dist/components/ProfileOnlineStatus/ProfileOnlineStatus.mjs.map +1 -0
- package/dist/components/ProfileStatus/ProfileStatus.mjs +34 -0
- package/dist/components/ProfileStatus/ProfileStatus.mjs.map +1 -0
- package/dist/components/Radio/Radio.mjs +66 -35
- package/dist/components/Radio/Radio.mjs.map +1 -1
- package/dist/components/RatingSummary/RatingSummary.mjs +86 -0
- package/dist/components/RatingSummary/RatingSummary.mjs.map +1 -0
- package/dist/components/ReviewCard/ReviewCard.mjs +34 -0
- package/dist/components/ReviewCard/ReviewCard.mjs.map +1 -0
- package/dist/components/Select/Select.mjs +4 -4
- package/dist/components/Select/Select.mjs.map +1 -1
- package/dist/components/TextField/TextField.mjs +4 -4
- package/dist/components/TextField/TextField.mjs.map +1 -1
- package/dist/components/Toast/Toast.mjs +18 -32
- package/dist/components/Toast/Toast.mjs.map +1 -1
- package/dist/components/UserDisplayName/UserDisplayName.mjs +50 -0
- package/dist/components/UserDisplayName/UserDisplayName.mjs.map +1 -0
- package/dist/components/UserHandle/UserHandle.mjs +29 -0
- package/dist/components/UserHandle/UserHandle.mjs.map +1 -0
- package/dist/components/UserItem/UserItem.mjs +57 -0
- package/dist/components/UserItem/UserItem.mjs.map +1 -0
- package/dist/index.d.ts +404 -15
- package/dist/index.mjs +24 -0
- package/dist/index.mjs.map +1 -1
- package/dist/utils/getInitials.mjs +10 -0
- package/dist/utils/getInitials.mjs.map +1 -0
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -155,18 +155,39 @@ export declare type AIIconProps = BaseIconProps;
|
|
|
155
155
|
/**
|
|
156
156
|
* Displays a contextual feedback message to the user.
|
|
157
157
|
*
|
|
158
|
-
* Supports `info`, `success`, `warning`, and `
|
|
159
|
-
* icon per variant, optional title, description,
|
|
158
|
+
* Supports `info`, `success`, `warning`, `error`, and `neutral` variants with a
|
|
159
|
+
* default icon per variant, optional title, description, dismiss button, and an
|
|
160
|
+
* optional composable `action` slot.
|
|
160
161
|
*
|
|
161
162
|
* Each variant renders a default icon automatically. Pass a custom `icon` to
|
|
162
163
|
* override, or `icon={null}` to hide the icon entirely.
|
|
163
164
|
*
|
|
165
|
+
* Only the title and description live inside the `role="alert"` live region.
|
|
166
|
+
* The icon, `action`, and close button are rendered outside it so interactive
|
|
167
|
+
* controls are announced and navigated consistently by screen readers.
|
|
168
|
+
*
|
|
164
169
|
* @example
|
|
165
170
|
* ```tsx
|
|
166
171
|
* <Alert variant="success" title="Saved" closable onClose={handleClose}>
|
|
167
172
|
* Your changes have been saved.
|
|
168
173
|
* </Alert>
|
|
169
174
|
* ```
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```tsx
|
|
178
|
+
* <Alert variant="neutral" title="Heads up" action={<a href="/docs">Learn more</a>}>
|
|
179
|
+
* A general notice with no specific sentiment.
|
|
180
|
+
* </Alert>
|
|
181
|
+
* ```
|
|
182
|
+
*
|
|
183
|
+
* @example
|
|
184
|
+
* ```tsx
|
|
185
|
+
* import Link from "next/link";
|
|
186
|
+
*
|
|
187
|
+
* <Alert variant="info" title="Update available" action={<Link href="/changelog">See what's new</Link>}>
|
|
188
|
+
* A new version is ready to install.
|
|
189
|
+
* </Alert>
|
|
190
|
+
* ```
|
|
170
191
|
*/
|
|
171
192
|
export declare const Alert: React_2.ForwardRefExoticComponent<AlertProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
172
193
|
|
|
@@ -196,10 +217,17 @@ export declare interface AlertProps extends React_2.HTMLAttributes<HTMLDivElemen
|
|
|
196
217
|
onClose?: () => void;
|
|
197
218
|
/** Accessible label for the close button. @default "Close alert" */
|
|
198
219
|
closeLabel?: string;
|
|
220
|
+
/**
|
|
221
|
+
* Composable action slot rendered beneath the description, outside the
|
|
222
|
+
* `role="alert"` live region. Pass your own element (an `<a>`, a `next/link`
|
|
223
|
+
* `<Link>`, or a `<Button>`) and it receives the variant-appropriate link
|
|
224
|
+
* styling via the Radix `Slot` pattern while remaining a real link/button.
|
|
225
|
+
*/
|
|
226
|
+
action?: React_2.ReactNode;
|
|
199
227
|
}
|
|
200
228
|
|
|
201
229
|
/** Visual style variant of the alert. */
|
|
202
|
-
export declare type AlertVariant = "info" | "success" | "warning" | "error";
|
|
230
|
+
export declare type AlertVariant = "info" | "success" | "warning" | "error" | "neutral";
|
|
203
231
|
|
|
204
232
|
/**
|
|
205
233
|
* Apps icon. Renders at sizes 16, 24, or 32 px with outlined and filled variants.
|
|
@@ -596,7 +624,7 @@ export declare interface BadgeProps extends React_2.HTMLAttributes<HTMLSpanEleme
|
|
|
596
624
|
}
|
|
597
625
|
|
|
598
626
|
/** Visual style variant of the badge. */
|
|
599
|
-
export declare type BadgeVariant = "default" | "dark" | "success" | "warning" | "error" | "special" | "info" | "online" | "brand" | "pink" | "brandLight" | "pinkLight";
|
|
627
|
+
export declare type BadgeVariant = "default" | "dark" | "success" | "warning" | "error" | "special" | "info" | "successColour" | "warningColour" | "errorColour" | "infoColour" | "aiGenerated" | "negative" | "online" | "brand" | "pink" | "brandLight" | "pinkLight";
|
|
600
628
|
|
|
601
629
|
/**
|
|
602
630
|
* Bank icon. Renders at sizes 16, 24, or 32 px with outlined and filled variants.
|
|
@@ -744,7 +772,7 @@ export declare interface BottomNavigationProps extends React_2.HTMLAttributes<HT
|
|
|
744
772
|
* @example
|
|
745
773
|
* ```tsx
|
|
746
774
|
* <Breadcrumb>
|
|
747
|
-
* <BreadcrumbList>
|
|
775
|
+
* <BreadcrumbList size="14px">
|
|
748
776
|
* <BreadcrumbItem><BreadcrumbLink href="/">Home</BreadcrumbLink></BreadcrumbItem>
|
|
749
777
|
* <BreadcrumbSeparator />
|
|
750
778
|
* <BreadcrumbItem><BreadcrumbPage>Current Page</BreadcrumbPage></BreadcrumbItem>
|
|
@@ -775,13 +803,16 @@ export declare interface BreadcrumbLinkProps extends React_2.ComponentPropsWitho
|
|
|
775
803
|
|
|
776
804
|
/**
|
|
777
805
|
* Ordered list container for breadcrumb items. Automatically injects a
|
|
778
|
-
* separator between each child item
|
|
806
|
+
* separator between each child item and shares the trail {@link BreadcrumbSize}
|
|
807
|
+
* with its descendants.
|
|
779
808
|
*/
|
|
780
809
|
export declare const BreadcrumbList: React_2.ForwardRefExoticComponent<BreadcrumbListProps & React_2.RefAttributes<HTMLOListElement>>;
|
|
781
810
|
|
|
782
811
|
export declare interface BreadcrumbListProps extends React_2.ComponentPropsWithoutRef<"ol"> {
|
|
783
|
-
/** Custom separator element rendered between items. @default
|
|
812
|
+
/** Custom separator element rendered between items. @default "/" */
|
|
784
813
|
separator?: React_2.ReactNode;
|
|
814
|
+
/** Text size preset applied to every item in the trail. @default "12px" */
|
|
815
|
+
size?: BreadcrumbSize;
|
|
785
816
|
}
|
|
786
817
|
|
|
787
818
|
/**
|
|
@@ -799,13 +830,16 @@ export declare interface BreadcrumbProps extends React_2.ComponentPropsWithoutRe
|
|
|
799
830
|
|
|
800
831
|
/**
|
|
801
832
|
* Visual separator rendered between breadcrumb items.
|
|
802
|
-
* Renders a
|
|
833
|
+
* Renders a `/` glyph by default and is hidden from assistive technology.
|
|
803
834
|
*/
|
|
804
835
|
export declare const BreadcrumbSeparator: React_2.ForwardRefExoticComponent<BreadcrumbSeparatorProps & React_2.RefAttributes<HTMLLIElement>>;
|
|
805
836
|
|
|
806
837
|
export declare interface BreadcrumbSeparatorProps extends React_2.ComponentPropsWithoutRef<"li"> {
|
|
807
838
|
}
|
|
808
839
|
|
|
840
|
+
/** Text size preset controlling the typography of the whole breadcrumb trail. @default "12px" */
|
|
841
|
+
export declare type BreadcrumbSize = "12px" | "14px" | "16px";
|
|
842
|
+
|
|
809
843
|
/** Breakpoint values for responsive props. */
|
|
810
844
|
declare type Breakpoint = "sm" | "md" | "lg" | "xl";
|
|
811
845
|
|
|
@@ -1697,8 +1731,9 @@ export declare type DialogCloseProps = React_2.ComponentPropsWithoutRef<typeof D
|
|
|
1697
1731
|
* `fixed` positioning still applies; ancestors with `transform` or `overflow` may affect layout.
|
|
1698
1732
|
*
|
|
1699
1733
|
* On mobile viewports (<640px), the dialog slides up from the bottom as a sheet
|
|
1700
|
-
* with top-only border radius
|
|
1701
|
-
*
|
|
1734
|
+
* with top-only border radius by default; pass `mobilePresentation="card"` to
|
|
1735
|
+
* render a centered floating card instead (used for small confirmation dialogs).
|
|
1736
|
+
* On larger viewports it renders centered with full border radius.
|
|
1702
1737
|
*
|
|
1703
1738
|
* @example
|
|
1704
1739
|
* ```tsx
|
|
@@ -1741,8 +1776,17 @@ export declare interface DialogContentProps extends React_2.ComponentPropsWithou
|
|
|
1741
1776
|
* @default true
|
|
1742
1777
|
*/
|
|
1743
1778
|
portal?: boolean;
|
|
1744
|
-
/** Show the v2 mobile sheet pull handle. @default true */
|
|
1779
|
+
/** Show the v2 mobile sheet pull handle. Only rendered when `mobilePresentation` is `"sheet"`. @default true */
|
|
1745
1780
|
showMobileHandle?: boolean;
|
|
1781
|
+
/**
|
|
1782
|
+
* How the dialog presents below the `sm` breakpoint.
|
|
1783
|
+
* - `"sheet"` — bottom sheet pinned to the viewport bottom edge (default)
|
|
1784
|
+
* - `"card"` — centered floating card per the v2-modal confirmation spec:
|
|
1785
|
+
* 16px side margins, 24px padding, 32px radius on all corners, no pull handle
|
|
1786
|
+
*
|
|
1787
|
+
* @default "sheet"
|
|
1788
|
+
*/
|
|
1789
|
+
mobilePresentation?: "sheet" | "card";
|
|
1746
1790
|
}
|
|
1747
1791
|
|
|
1748
1792
|
/** Accessible description for the dialog. Rendered as secondary text. */
|
|
@@ -2455,6 +2499,33 @@ export declare const FacebookIcon: React_2.ForwardRefExoticComponent<React_2.SVG
|
|
|
2455
2499
|
className?: string;
|
|
2456
2500
|
} & React_2.RefAttributes<SVGSVGElement>>;
|
|
2457
2501
|
|
|
2502
|
+
/**
|
|
2503
|
+
* Displays a creator's formatted fan and subscriber counts, each paired with an
|
|
2504
|
+
* icon. Numeric values are compacted (`1200` → `"1.2k"`); pass a pre-formatted
|
|
2505
|
+
* string to bypass formatting. Either group can be hidden independently.
|
|
2506
|
+
*
|
|
2507
|
+
* @example
|
|
2508
|
+
* ```tsx
|
|
2509
|
+
* <FanFollowerCount fans={1200} subs={3000} />
|
|
2510
|
+
* ```
|
|
2511
|
+
*/
|
|
2512
|
+
export declare const FanFollowerCount: React_2.ForwardRefExoticComponent<FanFollowerCountProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
2513
|
+
|
|
2514
|
+
export declare interface FanFollowerCountProps extends React_2.HTMLAttributes<HTMLDivElement> {
|
|
2515
|
+
/** Fan count. Numbers are compacted (e.g. `1200` → `"1.2k"`); strings render verbatim. @default 0 */
|
|
2516
|
+
fans?: number | string;
|
|
2517
|
+
/** Subscriber count. Numbers are compacted (e.g. `3000` → `"3k"`); strings render verbatim. @default 0 */
|
|
2518
|
+
subs?: number | string;
|
|
2519
|
+
/** Show the fan count group. @default true */
|
|
2520
|
+
showFans?: boolean;
|
|
2521
|
+
/** Show the subscriber count group. @default true */
|
|
2522
|
+
showSubs?: boolean;
|
|
2523
|
+
/** Label rendered after the fan count. @default "Fans" */
|
|
2524
|
+
fansLabel?: string;
|
|
2525
|
+
/** Label rendered after the subscriber count. @default "Subs" */
|
|
2526
|
+
subsLabel?: string;
|
|
2527
|
+
}
|
|
2528
|
+
|
|
2458
2529
|
/**
|
|
2459
2530
|
* Flag icon. Renders at sizes 16, 24, or 32 px with outlined and filled variants.
|
|
2460
2531
|
*
|
|
@@ -2557,6 +2628,28 @@ export declare const GenderIcon: React_2.ForwardRefExoticComponent<BaseIconProps
|
|
|
2557
2628
|
/** Props for {@link GenderIcon}. See {@link BaseIconProps} for the shared shape. */
|
|
2558
2629
|
export declare type GenderIconProps = BaseIconProps;
|
|
2559
2630
|
|
|
2631
|
+
/**
|
|
2632
|
+
* Returns the first letters of the first one or two words in a given string, capitalized.
|
|
2633
|
+
* @example
|
|
2634
|
+
* getInitials("Ciao Bello"); // "CB"
|
|
2635
|
+
* getInitials("JavaScript"); // "J"
|
|
2636
|
+
* getInitials(undefined); // ""
|
|
2637
|
+
*/
|
|
2638
|
+
export declare const getInitials: (str?: string | null) => string;
|
|
2639
|
+
|
|
2640
|
+
/**
|
|
2641
|
+
* Gif icon. Renders at sizes 16, 24, or 32 px with outlined and filled variants.
|
|
2642
|
+
*
|
|
2643
|
+
* @example
|
|
2644
|
+
* ```tsx
|
|
2645
|
+
* <GifIcon size={24} filled />
|
|
2646
|
+
* ```
|
|
2647
|
+
*/
|
|
2648
|
+
export declare const GifIcon: React_2.ForwardRefExoticComponent<BaseIconProps & React_2.RefAttributes<SVGSVGElement>>;
|
|
2649
|
+
|
|
2650
|
+
/** Props for {@link GifIcon}. See {@link BaseIconProps} for the shared shape. */
|
|
2651
|
+
export declare type GifIconProps = BaseIconProps;
|
|
2652
|
+
|
|
2560
2653
|
/**
|
|
2561
2654
|
* Gift icon. Renders at sizes 16, 24, or 32 px with outlined and filled variants.
|
|
2562
2655
|
*
|
|
@@ -2873,6 +2966,22 @@ export declare const LanguageIcon: React_2.ForwardRefExoticComponent<BaseIconPro
|
|
|
2873
2966
|
/** Props for {@link LanguageIcon}. See {@link BaseIconProps} for the shared shape. */
|
|
2874
2967
|
export declare type LanguageIconProps = BaseIconProps;
|
|
2875
2968
|
|
|
2969
|
+
/**
|
|
2970
|
+
* An inline text link for navigating to a related page or section without
|
|
2971
|
+
* using a button. Use `primary` for standard navigation and `brand` for the
|
|
2972
|
+
* Fanvue green accent on calls to action within content.
|
|
2973
|
+
*
|
|
2974
|
+
* Renders an underlined `<a>` by default. Pass `asChild` to compose with a
|
|
2975
|
+
* router link (e.g. Next.js `Link`). When rendering without a visible label,
|
|
2976
|
+
* provide an `aria-label`.
|
|
2977
|
+
*
|
|
2978
|
+
* @example
|
|
2979
|
+
* ```tsx
|
|
2980
|
+
* <Link href="/pricing" variant="brand">See our plans</Link>
|
|
2981
|
+
* ```
|
|
2982
|
+
*/
|
|
2983
|
+
export declare const Link: React_2.ForwardRefExoticComponent<LinkProps & React_2.RefAttributes<HTMLAnchorElement>>;
|
|
2984
|
+
|
|
2876
2985
|
/**
|
|
2877
2986
|
* Link icon. Renders at sizes 16, 24, or 32 px.
|
|
2878
2987
|
*
|
|
@@ -2886,6 +2995,27 @@ export declare const LinkIcon: React_2.ForwardRefExoticComponent<BaseIconProps &
|
|
|
2886
2995
|
/** Props for {@link LinkIcon}. See {@link BaseIconProps} for the shared shape. */
|
|
2887
2996
|
export declare type LinkIconProps = BaseIconProps;
|
|
2888
2997
|
|
|
2998
|
+
export declare interface LinkProps extends React_2.AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
2999
|
+
/** Visual style variant of the link. @default "primary" */
|
|
3000
|
+
variant?: LinkVariant;
|
|
3001
|
+
/** Text size of the link in pixels. @default "16" */
|
|
3002
|
+
size?: LinkSize;
|
|
3003
|
+
/** When `true`, greys the link out and blocks interaction. @default false */
|
|
3004
|
+
disabled?: boolean;
|
|
3005
|
+
/** Icon element displayed before the label. */
|
|
3006
|
+
leftIcon?: React_2.ReactNode;
|
|
3007
|
+
/** Icon element displayed after the label. */
|
|
3008
|
+
rightIcon?: React_2.ReactNode;
|
|
3009
|
+
/** Merge props onto a child element instead of rendering an `<a>`. @default false */
|
|
3010
|
+
asChild?: boolean;
|
|
3011
|
+
}
|
|
3012
|
+
|
|
3013
|
+
/** Text size of the link in pixels. */
|
|
3014
|
+
export declare type LinkSize = "16" | "14";
|
|
3015
|
+
|
|
3016
|
+
/** Visual style variant of the link. */
|
|
3017
|
+
export declare type LinkVariant = "primary" | "brand";
|
|
3018
|
+
|
|
2889
3019
|
/**
|
|
2890
3020
|
* A layout-aware loading indicator that renders a centered `SpinnerIcon` inside
|
|
2891
3021
|
* a relatively-positioned container. Drop-in replacement for the Olympus `Loader`.
|
|
@@ -3385,7 +3515,7 @@ export declare interface PillProps extends React_2.HTMLAttributes<HTMLSpanElemen
|
|
|
3385
3515
|
}
|
|
3386
3516
|
|
|
3387
3517
|
/** Colour variant of the pill. */
|
|
3388
|
-
export declare type PillVariant = "green" | "grey" | "blue" | "gold" | "pinkLight" | "base" | "brand" | "brandLight" | "beta" | "error" | "red";
|
|
3518
|
+
export declare type PillVariant = "green" | "grey" | "blue" | "gold" | "pinkLight" | "base" | "contrast" | "negative" | "brand" | "brandLight" | "beta" | "error" | "red";
|
|
3389
3519
|
|
|
3390
3520
|
/**
|
|
3391
3521
|
* Pin 2 icon. Renders at sizes 16, 24, or 32 px with outlined and filled variants.
|
|
@@ -3444,6 +3574,49 @@ export declare const PrivacyIcon: React_2.ForwardRefExoticComponent<BaseIconProp
|
|
|
3444
3574
|
/** Props for {@link PrivacyIcon}. See {@link BaseIconProps} for the shared shape. */
|
|
3445
3575
|
export declare type PrivacyIconProps = BaseIconProps;
|
|
3446
3576
|
|
|
3577
|
+
/**
|
|
3578
|
+
* Inline online-status indicator: a pulsing dot followed by a label. Used by
|
|
3579
|
+
* {@link UserDisplayName} when `showOnlineStatus` is set.
|
|
3580
|
+
*/
|
|
3581
|
+
export declare const ProfileOnlineStatus: React_2.ForwardRefExoticComponent<ProfileOnlineStatusProps & React_2.RefAttributes<HTMLSpanElement>>;
|
|
3582
|
+
|
|
3583
|
+
export declare interface ProfileOnlineStatusProps extends React_2.HTMLAttributes<HTMLSpanElement> {
|
|
3584
|
+
/** Visible status label rendered next to the indicator. @default "Online" */
|
|
3585
|
+
label?: string;
|
|
3586
|
+
}
|
|
3587
|
+
|
|
3588
|
+
/**
|
|
3589
|
+
* Presence indicator showing whether a creator or fan is currently active.
|
|
3590
|
+
* The active state pulses to signal real-time presence; the inactive state is a
|
|
3591
|
+
* static, muted dot for lists, tables, and content views where presence is less
|
|
3592
|
+
* relevant.
|
|
3593
|
+
*
|
|
3594
|
+
* Decorative by default (`aria-hidden`) — pair it with a visible or visually
|
|
3595
|
+
* hidden label at the usage site. Pass `aria-label` to expose it as a
|
|
3596
|
+
* standalone image to assistive technology.
|
|
3597
|
+
*
|
|
3598
|
+
* Supersedes the V1 `OnlineBlinkingIcon`: `<ProfileStatus />` is a drop-in
|
|
3599
|
+
* replacement for `<OnlineBlinkingIcon />`, adding the distinct inactive state.
|
|
3600
|
+
*
|
|
3601
|
+
* @example
|
|
3602
|
+
* ```tsx
|
|
3603
|
+
* <ProfileStatus active />
|
|
3604
|
+
* <ProfileStatus active={false} size="md" />
|
|
3605
|
+
* <ProfileStatus active aria-label="Online" />
|
|
3606
|
+
* ```
|
|
3607
|
+
*/
|
|
3608
|
+
export declare const ProfileStatus: React_2.ForwardRefExoticComponent<ProfileStatusProps & React_2.RefAttributes<HTMLSpanElement>>;
|
|
3609
|
+
|
|
3610
|
+
export declare interface ProfileStatusProps extends React_2.HTMLAttributes<HTMLSpanElement> {
|
|
3611
|
+
/** Whether the profile is currently active. Active renders a pulsing green dot; inactive renders a static grey dot. @default true */
|
|
3612
|
+
active?: boolean;
|
|
3613
|
+
/** Size preset of the indicator. @default "sm" */
|
|
3614
|
+
size?: ProfileStatusSize;
|
|
3615
|
+
}
|
|
3616
|
+
|
|
3617
|
+
/** Size preset of the {@link ProfileStatus} indicator. */
|
|
3618
|
+
export declare type ProfileStatusSize = "sm" | "md";
|
|
3619
|
+
|
|
3447
3620
|
/**
|
|
3448
3621
|
* A horizontal progress indicator with optional title, completion percentage,
|
|
3449
3622
|
* step count, and helper text. The bar colour reflects progress when using the
|
|
@@ -3501,14 +3674,14 @@ export declare const QueueIcon: React_2.ForwardRefExoticComponent<BaseIconProps
|
|
|
3501
3674
|
export declare type QueueIconProps = BaseIconProps;
|
|
3502
3675
|
|
|
3503
3676
|
/**
|
|
3504
|
-
* A single radio option within a {@link RadioGroup}.
|
|
3505
|
-
* and helper text.
|
|
3677
|
+
* A single radio option within a {@link RadioGroup}. Supports leading or
|
|
3678
|
+
* trailing button placement, an optional avatar, a label, and helper text.
|
|
3506
3679
|
*
|
|
3507
3680
|
* @example
|
|
3508
3681
|
* ```tsx
|
|
3509
3682
|
* <RadioGroup value={value} onValueChange={setValue}>
|
|
3510
3683
|
* <Radio value="a" label="Option A" />
|
|
3511
|
-
* <Radio value="b" label="Option B" />
|
|
3684
|
+
* <Radio value="b" label="Option B" layout="trailing" />
|
|
3512
3685
|
* </RadioGroup>
|
|
3513
3686
|
* ```
|
|
3514
3687
|
*/
|
|
@@ -3531,6 +3704,9 @@ export declare const RadioGroup: React_2.ForwardRefExoticComponent<Omit<RadioGro
|
|
|
3531
3704
|
/** Props for the {@link RadioGroup} component. Extends the Radix `RadioGroup.Root` props. */
|
|
3532
3705
|
export declare type RadioGroupProps = React_2.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>;
|
|
3533
3706
|
|
|
3707
|
+
/** Placement of the radio button relative to its label. */
|
|
3708
|
+
export declare type RadioLayout = "leading" | "trailing";
|
|
3709
|
+
|
|
3534
3710
|
export declare interface RadioProps extends Omit<React_2.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>, "asChild"> {
|
|
3535
3711
|
/** Size variant controlling label and helper text typography. @default "default" */
|
|
3536
3712
|
size?: "default" | "small";
|
|
@@ -3538,6 +3714,84 @@ export declare interface RadioProps extends Omit<React_2.ComponentPropsWithoutRe
|
|
|
3538
3714
|
label?: string;
|
|
3539
3715
|
/** Descriptive text displayed below the label. */
|
|
3540
3716
|
helperText?: string;
|
|
3717
|
+
/**
|
|
3718
|
+
* Placement of the radio button. `"leading"` renders it before the label;
|
|
3719
|
+
* `"trailing"` pushes it to the far end of the row (for list rows). @default "leading"
|
|
3720
|
+
*/
|
|
3721
|
+
layout?: RadioLayout;
|
|
3722
|
+
/**
|
|
3723
|
+
* Optional avatar shown alongside the label, for options that represent a
|
|
3724
|
+
* person or account. Pass an {@link Avatar} sized to `32`.
|
|
3725
|
+
*/
|
|
3726
|
+
avatar?: React_2.ReactNode;
|
|
3727
|
+
}
|
|
3728
|
+
|
|
3729
|
+
/** A single rating value paired with the number of reviews that gave it. */
|
|
3730
|
+
export declare interface RatingCount {
|
|
3731
|
+
/** The rating value this entry represents (e.g. `5`). */
|
|
3732
|
+
rating: number;
|
|
3733
|
+
/** Number of reviews that gave this rating. */
|
|
3734
|
+
count: number;
|
|
3735
|
+
}
|
|
3736
|
+
|
|
3737
|
+
/**
|
|
3738
|
+
* An aggregated rating overview: a headline average with the total review count,
|
|
3739
|
+
* followed by a per-rating histogram. Bar lengths are scaled relative to the
|
|
3740
|
+
* most-reviewed rating, so the busiest rating always fills the track.
|
|
3741
|
+
*
|
|
3742
|
+
* The brand star is decorative; the header and each histogram row expose
|
|
3743
|
+
* `role="img"` with an accessible label (override via `formatAverageLabel` /
|
|
3744
|
+
* `formatRatingLabel`) so the single-star-plus-number reads clearly.
|
|
3745
|
+
*
|
|
3746
|
+
* @example
|
|
3747
|
+
* ```tsx
|
|
3748
|
+
* <RatingSummary
|
|
3749
|
+
* distribution={[
|
|
3750
|
+
* { rating: 5, count: 300 },
|
|
3751
|
+
* { rating: 4, count: 20 },
|
|
3752
|
+
* { rating: 3, count: 20 },
|
|
3753
|
+
* { rating: 2, count: 10 },
|
|
3754
|
+
* { rating: 1, count: 0 },
|
|
3755
|
+
* ]}
|
|
3756
|
+
* />
|
|
3757
|
+
* ```
|
|
3758
|
+
*/
|
|
3759
|
+
export declare const RatingSummary: React_2.ForwardRefExoticComponent<RatingSummaryProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
3760
|
+
|
|
3761
|
+
export declare interface RatingSummaryProps extends Omit<React_2.HTMLAttributes<HTMLDivElement>, "title"> {
|
|
3762
|
+
/**
|
|
3763
|
+
* Per-rating review counts. Order is not significant — rows always render from
|
|
3764
|
+
* `maxRating` down to `1`, and any rating without an entry renders as zero.
|
|
3765
|
+
* Entries are expected to use whole-number ratings within `1`–`maxRating`;
|
|
3766
|
+
* any outside that range are ignored, including in the derived total and average.
|
|
3767
|
+
*/
|
|
3768
|
+
distribution: RatingCount[];
|
|
3769
|
+
/**
|
|
3770
|
+
* Average rating shown in the header. Defaults to the count-weighted mean of
|
|
3771
|
+
* `distribution`; provide it to display a server-computed average instead.
|
|
3772
|
+
*/
|
|
3773
|
+
averageRating?: number;
|
|
3774
|
+
/** Highest possible rating. Sets how many histogram rows render. @default 5 */
|
|
3775
|
+
maxRating?: number;
|
|
3776
|
+
/**
|
|
3777
|
+
* Formats a review count into its label, without surrounding parentheses.
|
|
3778
|
+
* Used for the visible text and as the count portion of the default
|
|
3779
|
+
* accessible labels.
|
|
3780
|
+
* @default ``(count) => `${count.toLocaleString()} review(s)` ``
|
|
3781
|
+
*/
|
|
3782
|
+
formatCount?: (count: number) => string;
|
|
3783
|
+
/**
|
|
3784
|
+
* Builds the accessible label for the header. Override to localise the
|
|
3785
|
+
* screen-reader text. `average` is the already-formatted average string.
|
|
3786
|
+
* @default ``(average, max, total) => `Average rating ${average} out of ${max}, ${formatCount(total)}` ``
|
|
3787
|
+
*/
|
|
3788
|
+
formatAverageLabel?: (average: string, maxRating: number, total: number) => string;
|
|
3789
|
+
/**
|
|
3790
|
+
* Builds the accessible label for each histogram row. Override to localise the
|
|
3791
|
+
* screen-reader text.
|
|
3792
|
+
* @default ``(rating, count) => `${rating} star(s), ${formatCount(count)}` ``
|
|
3793
|
+
*/
|
|
3794
|
+
formatRatingLabel?: (rating: number, count: number) => string;
|
|
3541
3795
|
}
|
|
3542
3796
|
|
|
3543
3797
|
/**
|
|
@@ -3592,6 +3846,34 @@ export declare const ReverseIcon: React_2.ForwardRefExoticComponent<BaseIconProp
|
|
|
3592
3846
|
/** Props for {@link ReverseIcon}. See {@link BaseIconProps} for the shared shape. */
|
|
3593
3847
|
export declare type ReverseIconProps = BaseIconProps;
|
|
3594
3848
|
|
|
3849
|
+
/**
|
|
3850
|
+
* A single written review: a star rating with an optional author byline, a
|
|
3851
|
+
* title, and the review body. Stack several with a {@link Divider} between them
|
|
3852
|
+
* to build a review list.
|
|
3853
|
+
*
|
|
3854
|
+
* @example
|
|
3855
|
+
* ```tsx
|
|
3856
|
+
* <ReviewCard rating={4} author="@jane_doe" title="A great app to start!">
|
|
3857
|
+
* Easily plan and organize your content. Streamline your scheduling so you can
|
|
3858
|
+
* focus on what you do best.
|
|
3859
|
+
* </ReviewCard>
|
|
3860
|
+
* ```
|
|
3861
|
+
*/
|
|
3862
|
+
export declare const ReviewCard: React_2.ForwardRefExoticComponent<ReviewCardProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
3863
|
+
|
|
3864
|
+
export declare interface ReviewCardProps extends Omit<React_2.HTMLAttributes<HTMLDivElement>, "title"> {
|
|
3865
|
+
/** Star rating the reviewer gave, shown beside the star icon. */
|
|
3866
|
+
rating: number;
|
|
3867
|
+
/** Highest possible rating, used only in the accessible label (e.g. "4 out of 5"). @default 5 */
|
|
3868
|
+
maxRating?: number;
|
|
3869
|
+
/** Reviewer name or handle, rendered after "by". Omitted when not provided. */
|
|
3870
|
+
author?: React_2.ReactNode;
|
|
3871
|
+
/** Short headline for the review. */
|
|
3872
|
+
title?: React_2.ReactNode;
|
|
3873
|
+
/** Review body text. */
|
|
3874
|
+
children?: React_2.ReactNode;
|
|
3875
|
+
}
|
|
3876
|
+
|
|
3595
3877
|
/**
|
|
3596
3878
|
* A text input field with a search icon and optional clear button.
|
|
3597
3879
|
*
|
|
@@ -4973,6 +5255,60 @@ export declare const UserCircleIcon: React_2.ForwardRefExoticComponent<React_2.S
|
|
|
4973
5255
|
className?: string;
|
|
4974
5256
|
} & React_2.RefAttributes<SVGSVGElement>>;
|
|
4975
5257
|
|
|
5258
|
+
/**
|
|
5259
|
+
* Renders a user's display name with optional ambassador/verified badges and an
|
|
5260
|
+
* online-status indicator. Only the name shrinks and truncates; trailing badges
|
|
5261
|
+
* and the online-status indicator stay visible on the same line.
|
|
5262
|
+
*
|
|
5263
|
+
* Typography is not baked in: pass a `typography-*` utility via `className` on
|
|
5264
|
+
* the root and the name inherits it. Use `typography-body-small-14px-semibold`
|
|
5265
|
+
* for the standard display-name scale.
|
|
5266
|
+
*
|
|
5267
|
+
* When both `ambassador` and `verified` are set, the ambassador badge takes
|
|
5268
|
+
* precedence. Its tint uses `text-success-content` (not `text-icons-brand-green`)
|
|
5269
|
+
* so the green darkens in light mode and lightens in dark mode, matching
|
|
5270
|
+
* {@link ProfileOnlineStatus}; `text-icons-brand-green` is fixed across modes.
|
|
5271
|
+
*
|
|
5272
|
+
* @example
|
|
5273
|
+
* ```tsx
|
|
5274
|
+
* <UserDisplayName className="typography-body-small-14px-semibold">Jane Doe</UserDisplayName>
|
|
5275
|
+
* ```
|
|
5276
|
+
*/
|
|
5277
|
+
export declare const UserDisplayName: React_2.ForwardRefExoticComponent<UserDisplayNameProps & React_2.RefAttributes<HTMLElement>>;
|
|
5278
|
+
|
|
5279
|
+
export declare interface UserDisplayNameProps extends React_2.HTMLAttributes<HTMLElement> {
|
|
5280
|
+
/** Render an ambassador badge after the name. */
|
|
5281
|
+
ambassador?: boolean;
|
|
5282
|
+
/** Accessible label for the ambassador badge. @default "Ambassador" */
|
|
5283
|
+
ambassadorLabel?: string;
|
|
5284
|
+
/** HTML element used for the root wrapper. @default "span" */
|
|
5285
|
+
component?: "span" | "h1" | "h2" | "h3" | "p" | "div";
|
|
5286
|
+
/** Truncate the display name on a single line. @default true */
|
|
5287
|
+
noWrap?: boolean;
|
|
5288
|
+
/** Accessible label for the online-status indicator. @default "Online" */
|
|
5289
|
+
onlineLabel?: string;
|
|
5290
|
+
/** Render the inline online-status indicator after the name. @default false */
|
|
5291
|
+
showOnlineStatus?: boolean;
|
|
5292
|
+
/** Render a verified badge after the name (ignored when `ambassador` is set). */
|
|
5293
|
+
verified?: boolean;
|
|
5294
|
+
/** Accessible label for the verified badge. @default "Verified" */
|
|
5295
|
+
verifiedLabel?: string;
|
|
5296
|
+
}
|
|
5297
|
+
|
|
5298
|
+
/**
|
|
5299
|
+
* Renders a user handle prefixed with the `@` symbol as muted, truncated
|
|
5300
|
+
* secondary text.
|
|
5301
|
+
*
|
|
5302
|
+
* @example
|
|
5303
|
+
* ```tsx
|
|
5304
|
+
* <UserHandle>jane_doe</UserHandle>
|
|
5305
|
+
* ```
|
|
5306
|
+
*/
|
|
5307
|
+
export declare const UserHandle: React_2.ForwardRefExoticComponent<UserHandleProps & React_2.RefAttributes<HTMLSpanElement>>;
|
|
5308
|
+
|
|
5309
|
+
export declare interface UserHandleProps extends React_2.HTMLAttributes<HTMLSpanElement> {
|
|
5310
|
+
}
|
|
5311
|
+
|
|
4976
5312
|
/**
|
|
4977
5313
|
* User icon. Renders at sizes 16, 24, or 32 px with outlined and filled variants.
|
|
4978
5314
|
*
|
|
@@ -4986,6 +5322,45 @@ export declare const UserIcon: React_2.ForwardRefExoticComponent<BaseIconProps &
|
|
|
4986
5322
|
/** Props for {@link UserIcon}. See {@link BaseIconProps} for the shared shape. */
|
|
4987
5323
|
export declare type UserIconProps = BaseIconProps;
|
|
4988
5324
|
|
|
5325
|
+
/**
|
|
5326
|
+
* A compact user row showing an avatar, display name (or nickname) and handle,
|
|
5327
|
+
* with optional online and muted indicators.
|
|
5328
|
+
*
|
|
5329
|
+
* @example
|
|
5330
|
+
* ```tsx
|
|
5331
|
+
* <UserItem user={{ displayName: "Jane Doe", handle: "jane_doe" }} />
|
|
5332
|
+
* ```
|
|
5333
|
+
*/
|
|
5334
|
+
export declare const UserItem: React_2.ForwardRefExoticComponent<UserItemProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
5335
|
+
|
|
5336
|
+
export declare interface UserItemProps extends React_2.HTMLAttributes<HTMLDivElement> {
|
|
5337
|
+
/** The user to display. */
|
|
5338
|
+
user: UserItemUser;
|
|
5339
|
+
/** Desired avatar size in px; snapped to the nearest supported token. @default 48 */
|
|
5340
|
+
avatarSize?: number;
|
|
5341
|
+
/** Show the muted indicator in the bottom-left corner. @default false */
|
|
5342
|
+
isMuted?: boolean;
|
|
5343
|
+
/** Whether the user is online (only shown when `showOnlineStatus` is also set). @default false */
|
|
5344
|
+
isOnline?: boolean;
|
|
5345
|
+
/** Render the avatar. @default true */
|
|
5346
|
+
showAvatar?: boolean;
|
|
5347
|
+
/** Render the handle line under the display name. @default true */
|
|
5348
|
+
showHandle?: boolean;
|
|
5349
|
+
/** Enable the avatar online indicator (combined with `isOnline`). */
|
|
5350
|
+
showOnlineStatus?: boolean;
|
|
5351
|
+
}
|
|
5352
|
+
|
|
5353
|
+
/** Minimal user shape consumed by {@link UserItem}. */
|
|
5354
|
+
export declare type UserItemUser = {
|
|
5355
|
+
avatarUri?: {
|
|
5356
|
+
url: string;
|
|
5357
|
+
url2x?: string;
|
|
5358
|
+
};
|
|
5359
|
+
displayName: string;
|
|
5360
|
+
handle: string;
|
|
5361
|
+
nickname?: string;
|
|
5362
|
+
};
|
|
5363
|
+
|
|
4989
5364
|
/**
|
|
4990
5365
|
* User Menu icon. Renders at sizes 16, 24, or 32 px with outlined and filled variants.
|
|
4991
5366
|
*
|
|
@@ -5042,6 +5417,20 @@ export declare const VaultIcon: React_2.ForwardRefExoticComponent<BaseIconProps
|
|
|
5042
5417
|
/** Props for {@link VaultIcon}. See {@link BaseIconProps} for the shared shape. */
|
|
5043
5418
|
export declare type VaultIconProps = BaseIconProps;
|
|
5044
5419
|
|
|
5420
|
+
/**
|
|
5421
|
+
* Verified badge icon. Renders at sizes 16, 24, or 32 px with outlined and filled variants.
|
|
5422
|
+
* Defaults to the filled variant.
|
|
5423
|
+
*
|
|
5424
|
+
* @example
|
|
5425
|
+
* ```tsx
|
|
5426
|
+
* <VerifiedIcon size={24} />
|
|
5427
|
+
* ```
|
|
5428
|
+
*/
|
|
5429
|
+
export declare const VerifiedIcon: React_2.ForwardRefExoticComponent<BaseIconProps & React_2.RefAttributes<SVGSVGElement>>;
|
|
5430
|
+
|
|
5431
|
+
/** Props for {@link VerifiedIcon}. See {@link BaseIconProps} for the shared shape. */
|
|
5432
|
+
export declare type VerifiedIconProps = BaseIconProps;
|
|
5433
|
+
|
|
5045
5434
|
/**
|
|
5046
5435
|
* Video icon. Renders at sizes 16, 24, or 32 px with outlined and filled variants.
|
|
5047
5436
|
*
|