@fanvue/ui 2.0.0 → 2.1.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.
- package/dist/cjs/components/Autocomplete/Autocomplete.cjs +2 -1
- package/dist/cjs/components/Autocomplete/Autocomplete.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Dialog.cjs +1 -1
- package/dist/cjs/components/Dialog/Dialog.cjs.map +1 -1
- package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs +30 -20
- package/dist/cjs/components/DropdownMenu/DropdownMenu.cjs.map +1 -1
- package/dist/cjs/components/Icons/NewMessageIcon.cjs +47 -0
- package/dist/cjs/components/Icons/NewMessageIcon.cjs.map +1 -0
- package/dist/cjs/components/Icons/ReverseIcon.cjs +64 -0
- package/dist/cjs/components/Icons/ReverseIcon.cjs.map +1 -0
- package/dist/cjs/components/InfoBox/InfoBox.cjs +3 -1
- package/dist/cjs/components/InfoBox/InfoBox.cjs.map +1 -1
- package/dist/cjs/components/Select/Select.cjs +31 -20
- package/dist/cjs/components/Select/Select.cjs.map +1 -1
- package/dist/cjs/components/Table/Table.cjs +341 -0
- package/dist/cjs/components/Table/Table.cjs.map +1 -0
- package/dist/cjs/components/Table/TablePagination.cjs +70 -0
- package/dist/cjs/components/Table/TablePagination.cjs.map +1 -0
- package/dist/cjs/index.cjs +26 -2
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/utils/floatingContentCollisionPadding.cjs +6 -0
- package/dist/cjs/utils/floatingContentCollisionPadding.cjs.map +1 -0
- package/dist/components/Autocomplete/Autocomplete.mjs +2 -1
- package/dist/components/Autocomplete/Autocomplete.mjs.map +1 -1
- package/dist/components/Dialog/Dialog.mjs +1 -1
- package/dist/components/Dialog/Dialog.mjs.map +1 -1
- package/dist/components/DropdownMenu/DropdownMenu.mjs +30 -20
- package/dist/components/DropdownMenu/DropdownMenu.mjs.map +1 -1
- package/dist/components/Icons/NewMessageIcon.mjs +30 -0
- package/dist/components/Icons/NewMessageIcon.mjs.map +1 -0
- package/dist/components/Icons/ReverseIcon.mjs +47 -0
- package/dist/components/Icons/ReverseIcon.mjs.map +1 -0
- package/dist/components/InfoBox/InfoBox.mjs +3 -1
- package/dist/components/InfoBox/InfoBox.mjs.map +1 -1
- package/dist/components/Select/Select.mjs +31 -20
- package/dist/components/Select/Select.mjs.map +1 -1
- package/dist/components/Table/Table.mjs +324 -0
- package/dist/components/Table/Table.mjs.map +1 -0
- package/dist/components/Table/TablePagination.mjs +53 -0
- package/dist/components/Table/TablePagination.mjs.map +1 -0
- package/dist/index.d.ts +244 -40
- package/dist/index.mjs +26 -2
- package/dist/index.mjs.map +1 -1
- package/dist/utils/floatingContentCollisionPadding.mjs +6 -0
- package/dist/utils/floatingContentCollisionPadding.mjs.map +1 -0
- package/package.json +2 -2
- package/dist/cjs/components/Banner/Banner.cjs +0 -71
- package/dist/cjs/components/Banner/Banner.cjs.map +0 -1
- package/dist/components/Banner/Banner.mjs +0 -54
- package/dist/components/Banner/Banner.mjs.map +0 -1
package/dist/index.d.ts
CHANGED
|
@@ -371,46 +371,6 @@ export declare const BankIcon: React_2.ForwardRefExoticComponent<React_2.SVGAttr
|
|
|
371
371
|
className?: string;
|
|
372
372
|
} & React_2.RefAttributes<SVGSVGElement>>;
|
|
373
373
|
|
|
374
|
-
/**
|
|
375
|
-
* A promotional banner card with gradient backgrounds, optional badge,
|
|
376
|
-
* heading, description, and call-to-action button.
|
|
377
|
-
*
|
|
378
|
-
* @example
|
|
379
|
-
* ```tsx
|
|
380
|
-
* <Banner
|
|
381
|
-
* variant="primary"
|
|
382
|
-
* badgeLabel="New"
|
|
383
|
-
* heading="Boost your earnings"
|
|
384
|
-
* description="Try our latest feature to grow faster."
|
|
385
|
-
* cta={{ label: "Learn more", onClick: handleClick }}
|
|
386
|
-
* />
|
|
387
|
-
* ```
|
|
388
|
-
*/
|
|
389
|
-
export declare const Banner: React_2.ForwardRefExoticComponent<BannerProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
390
|
-
|
|
391
|
-
export declare interface BannerProps extends React_2.HTMLAttributes<HTMLDivElement> {
|
|
392
|
-
/** Gradient variant controlling the background colours. @default "primary" */
|
|
393
|
-
variant?: BannerVariant;
|
|
394
|
-
/** Text rendered inside a `Badge` at the top of the banner. */
|
|
395
|
-
badgeLabel?: string;
|
|
396
|
-
/** Primary heading displayed below the badge. Rendered as an `<h3>`. */
|
|
397
|
-
heading?: React_2.ReactNode;
|
|
398
|
-
/** Supporting copy displayed below the heading. */
|
|
399
|
-
description?: React_2.ReactNode;
|
|
400
|
-
/**
|
|
401
|
-
* Call-to-action button config. Renders a text-style `Button` with an arrow icon.
|
|
402
|
-
* Pass `icon` to override the default `ArrowRightIcon`.
|
|
403
|
-
*/
|
|
404
|
-
cta?: {
|
|
405
|
-
label: string;
|
|
406
|
-
onClick: () => void;
|
|
407
|
-
icon?: React_2.ReactNode;
|
|
408
|
-
};
|
|
409
|
-
}
|
|
410
|
-
|
|
411
|
-
/** Gradient variant of the banner. */
|
|
412
|
-
export declare type BannerVariant = "primary" | "secondary" | "tertiary";
|
|
413
|
-
|
|
414
374
|
export declare const BellIcon: React_2.ForwardRefExoticComponent<React_2.SVGAttributes<SVGSVGElement> & {
|
|
415
375
|
className?: string;
|
|
416
376
|
} & React_2.RefAttributes<SVGSVGElement>>;
|
|
@@ -1592,6 +1552,10 @@ export declare const MoreVerticalIcon: React_2.ForwardRefExoticComponent<React_2
|
|
|
1592
1552
|
className?: string;
|
|
1593
1553
|
} & React_2.RefAttributes<SVGSVGElement>>;
|
|
1594
1554
|
|
|
1555
|
+
export declare const NewMessageIcon: React_2.ForwardRefExoticComponent<React_2.SVGAttributes<SVGSVGElement> & {
|
|
1556
|
+
className?: string;
|
|
1557
|
+
} & React_2.RefAttributes<SVGSVGElement>>;
|
|
1558
|
+
|
|
1595
1559
|
/**
|
|
1596
1560
|
* Like `Omit`, but preserves discriminated unions.
|
|
1597
1561
|
*
|
|
@@ -1818,6 +1782,10 @@ export declare const ReplyIcon: React_2.ForwardRefExoticComponent<React_2.SVGAtt
|
|
|
1818
1782
|
className?: string;
|
|
1819
1783
|
} & React_2.RefAttributes<SVGSVGElement>>;
|
|
1820
1784
|
|
|
1785
|
+
export declare const ReverseIcon: React_2.ForwardRefExoticComponent<React_2.SVGAttributes<SVGSVGElement> & {
|
|
1786
|
+
className?: string;
|
|
1787
|
+
} & React_2.RefAttributes<SVGSVGElement>>;
|
|
1788
|
+
|
|
1821
1789
|
/**
|
|
1822
1790
|
* A text input field with a search icon and optional clear button.
|
|
1823
1791
|
*
|
|
@@ -2216,6 +2184,242 @@ export declare interface SwitchToggleProps extends Omit<React_2.HTMLAttributes<H
|
|
|
2216
2184
|
/** Height of the switch toggle in pixels. */
|
|
2217
2185
|
export declare type SwitchToggleSize = "24" | "32" | "40";
|
|
2218
2186
|
|
|
2187
|
+
/**
|
|
2188
|
+
* Semantic `<table>` element. Place inside {@link TableScrollArea}.
|
|
2189
|
+
*/
|
|
2190
|
+
export declare const Table: React_2.ForwardRefExoticComponent<TableProps & React_2.RefAttributes<HTMLTableElement>>;
|
|
2191
|
+
|
|
2192
|
+
export declare const TableBody: React_2.ForwardRefExoticComponent<TableBodyProps & React_2.RefAttributes<HTMLTableSectionElement>>;
|
|
2193
|
+
|
|
2194
|
+
export declare interface TableBodyProps extends React_2.HTMLAttributes<HTMLTableSectionElement> {
|
|
2195
|
+
}
|
|
2196
|
+
|
|
2197
|
+
/**
|
|
2198
|
+
* Surface wrapper for data tables: rounded container, spacing, and size
|
|
2199
|
+
* context for {@link TableCell} descendants. Compose with {@link TableScrollArea},
|
|
2200
|
+
* {@link Table}, {@link TableHeader}, {@link TableBody}, {@link TableRow},
|
|
2201
|
+
* {@link TableHead}, and {@link TableCell}.
|
|
2202
|
+
*
|
|
2203
|
+
* @example
|
|
2204
|
+
* ```tsx
|
|
2205
|
+
* <TableCard size="md">
|
|
2206
|
+
* <TableScrollArea>
|
|
2207
|
+
* <Table>
|
|
2208
|
+
* <TableHeader>
|
|
2209
|
+
* <TableRow>
|
|
2210
|
+
* <TableHead>Name</TableHead>
|
|
2211
|
+
* </TableRow>
|
|
2212
|
+
* </TableHeader>
|
|
2213
|
+
* <TableBody>
|
|
2214
|
+
* <TableRow>
|
|
2215
|
+
* <TableCell>Jane Doe</TableCell>
|
|
2216
|
+
* </TableRow>
|
|
2217
|
+
* </TableBody>
|
|
2218
|
+
* </Table>
|
|
2219
|
+
* </TableScrollArea>
|
|
2220
|
+
* </TableCard>
|
|
2221
|
+
* ```
|
|
2222
|
+
*/
|
|
2223
|
+
export declare const TableCard: React_2.ForwardRefExoticComponent<TableCardProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
2224
|
+
|
|
2225
|
+
export declare interface TableCardProps extends React_2.HTMLAttributes<HTMLDivElement> {
|
|
2226
|
+
/** Row density applied to {@link TableCell} descendants. @default "md" */
|
|
2227
|
+
size?: TableSize;
|
|
2228
|
+
}
|
|
2229
|
+
|
|
2230
|
+
export declare const TableCell: React_2.ForwardRefExoticComponent<TableCellProps & React_2.RefAttributes<HTMLTableCellElement>>;
|
|
2231
|
+
|
|
2232
|
+
/**
|
|
2233
|
+
* Horizontal group for icons, chips, and metadata inside a {@link TableCell} (Figma `gap-[10px]`).
|
|
2234
|
+
*/
|
|
2235
|
+
export declare const TableCellGroup: React_2.ForwardRefExoticComponent<TableCellGroupProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
2236
|
+
|
|
2237
|
+
export declare interface TableCellGroupProps extends React_2.HTMLAttributes<HTMLDivElement> {
|
|
2238
|
+
}
|
|
2239
|
+
|
|
2240
|
+
/** Layout / typography preset for {@link TableCell} (orthogonal to {@link TableCellVariant}). */
|
|
2241
|
+
export declare type TableCellIntent = "default" | "checkbox" | "stacked" | "multiline" | "sideLabel";
|
|
2242
|
+
|
|
2243
|
+
export declare interface TableCellProps extends React_2.TdHTMLAttributes<HTMLTableCellElement> {
|
|
2244
|
+
/** `pillProgress` uses wider horizontal padding; row dividers match the default weight for visibility. @default "default" */
|
|
2245
|
+
cellVariant?: TableCellVariant;
|
|
2246
|
+
/** Alignment and typography preset for common cell types. @default "default" */
|
|
2247
|
+
intent?: TableCellIntent;
|
|
2248
|
+
}
|
|
2249
|
+
|
|
2250
|
+
/** Bottom border and padding preset for body cells (Figma table cell component). */
|
|
2251
|
+
export declare type TableCellVariant = "default" | "chip" | "pillProgress";
|
|
2252
|
+
|
|
2253
|
+
export declare const TableFooter: React_2.ForwardRefExoticComponent<TableFooterProps & React_2.RefAttributes<HTMLTableSectionElement>>;
|
|
2254
|
+
|
|
2255
|
+
export declare interface TableFooterProps extends React_2.HTMLAttributes<HTMLTableSectionElement> {
|
|
2256
|
+
}
|
|
2257
|
+
|
|
2258
|
+
export declare const TableHead: React_2.ForwardRefExoticComponent<TableHeadProps & React_2.RefAttributes<HTMLTableCellElement>>;
|
|
2259
|
+
|
|
2260
|
+
export declare const TableHeader: React_2.ForwardRefExoticComponent<TableHeaderProps & React_2.RefAttributes<HTMLTableSectionElement>>;
|
|
2261
|
+
|
|
2262
|
+
export declare interface TableHeaderProps extends React_2.HTMLAttributes<HTMLTableSectionElement> {
|
|
2263
|
+
}
|
|
2264
|
+
|
|
2265
|
+
/** Column layout preset for {@link TableHead}. */
|
|
2266
|
+
export declare type TableHeadIntent = "default" | "checkbox" | "sort" | "leading";
|
|
2267
|
+
|
|
2268
|
+
export declare interface TableHeadProps extends React_2.ThHTMLAttributes<HTMLTableCellElement> {
|
|
2269
|
+
/** Layout preset for common column types. @default "default" */
|
|
2270
|
+
intent?: TableHeadIntent;
|
|
2271
|
+
}
|
|
2272
|
+
|
|
2273
|
+
/**
|
|
2274
|
+
* Clamps child text to a fixed number of lines inside a {@link TableCell}.
|
|
2275
|
+
*/
|
|
2276
|
+
export declare const TableLineClamp: React_2.ForwardRefExoticComponent<TableLineClampProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
2277
|
+
|
|
2278
|
+
export declare interface TableLineClampProps extends React_2.HTMLAttributes<HTMLDivElement> {
|
|
2279
|
+
/** Number of lines before ellipsis. @default 2 */
|
|
2280
|
+
lines?: 1 | 2 | 3;
|
|
2281
|
+
}
|
|
2282
|
+
|
|
2283
|
+
/**
|
|
2284
|
+
* Rounded thumbnail sized from {@link TableCard} `size` (`md` vs `lg`).
|
|
2285
|
+
*/
|
|
2286
|
+
export declare const TableMediaThumbnail: React_2.ForwardRefExoticComponent<TableMediaThumbnailProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
2287
|
+
|
|
2288
|
+
export declare interface TableMediaThumbnailProps extends Omit<React_2.HTMLAttributes<HTMLDivElement>, "children"> {
|
|
2289
|
+
/** Image URL. */
|
|
2290
|
+
src: string;
|
|
2291
|
+
/** Alt text for the image. @default "" */
|
|
2292
|
+
alt?: string;
|
|
2293
|
+
/** Applies the table’s blurred-media treatment. @default false */
|
|
2294
|
+
blurred?: boolean;
|
|
2295
|
+
/** `center` uses the fixed media column width from the lg spec. @default "start" */
|
|
2296
|
+
align?: "start" | "center";
|
|
2297
|
+
}
|
|
2298
|
+
|
|
2299
|
+
/**
|
|
2300
|
+
* Footer bar for data tables: rows-per-page control, page navigation, and range
|
|
2301
|
+
* summary. Pair `paginationSlot` with {@link Pagination} for numbered controls.
|
|
2302
|
+
*
|
|
2303
|
+
* @example
|
|
2304
|
+
* ```tsx
|
|
2305
|
+
* <TablePagination
|
|
2306
|
+
* leadingSlot={<Select size="32" aria-label="Rows per page">…</Select>}
|
|
2307
|
+
* paginationSlot={<Pagination totalPages={5} currentPage={2} onPageChange={setPage} />}
|
|
2308
|
+
* summary="20–30 of 100 rows"
|
|
2309
|
+
* />
|
|
2310
|
+
* ```
|
|
2311
|
+
*/
|
|
2312
|
+
export declare const TablePagination: React_2.ForwardRefExoticComponent<TablePaginationProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
2313
|
+
|
|
2314
|
+
/** Layout preset for the pagination bar — desktop (range on the right) or stacked mobile. */
|
|
2315
|
+
export declare type TablePaginationLayout = "desktop" | "mobile";
|
|
2316
|
+
|
|
2317
|
+
export declare interface TablePaginationProps extends React_2.HTMLAttributes<HTMLDivElement> {
|
|
2318
|
+
/** Layout preset. @default "desktop" */
|
|
2319
|
+
layout?: TablePaginationLayout;
|
|
2320
|
+
/** Left (desktop) or top row (mobile) content, e.g. rows-per-page {@link Select}. */
|
|
2321
|
+
leadingSlot?: React_2.ReactNode;
|
|
2322
|
+
/** Center (desktop) or bottom row (mobile) content, e.g. {@link Pagination}. */
|
|
2323
|
+
paginationSlot?: React_2.ReactNode;
|
|
2324
|
+
/** Summary text or node (e.g. current range and total). */
|
|
2325
|
+
summary: React_2.ReactNode;
|
|
2326
|
+
}
|
|
2327
|
+
|
|
2328
|
+
/**
|
|
2329
|
+
* Vertical layout for pill label + {@link TableProgressTrack} in a cell.
|
|
2330
|
+
*/
|
|
2331
|
+
export declare const TablePillProgressLayout: React_2.ForwardRefExoticComponent<TablePillProgressLayoutProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
2332
|
+
|
|
2333
|
+
export declare interface TablePillProgressLayoutProps extends React_2.HTMLAttributes<HTMLDivElement> {
|
|
2334
|
+
}
|
|
2335
|
+
|
|
2336
|
+
/**
|
|
2337
|
+
* Thin progress track used with badges in table cells (Figma pill + progress).
|
|
2338
|
+
* Renders with `role="progressbar"` and a default `aria-label` of `"Progress"`.
|
|
2339
|
+
*/
|
|
2340
|
+
export declare const TableProgressTrack: React_2.ForwardRefExoticComponent<TableProgressTrackProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
2341
|
+
|
|
2342
|
+
export declare interface TableProgressTrackProps extends React_2.HTMLAttributes<HTMLDivElement> {
|
|
2343
|
+
/** Fill width from 0–100. @default 0 */
|
|
2344
|
+
value?: number;
|
|
2345
|
+
}
|
|
2346
|
+
|
|
2347
|
+
export declare interface TableProps extends React_2.TableHTMLAttributes<HTMLTableElement> {
|
|
2348
|
+
}
|
|
2349
|
+
|
|
2350
|
+
export declare const TableRow: React_2.ForwardRefExoticComponent<TableRowProps & React_2.RefAttributes<HTMLTableRowElement>>;
|
|
2351
|
+
|
|
2352
|
+
export declare interface TableRowProps extends React_2.HTMLAttributes<HTMLTableRowElement> {
|
|
2353
|
+
}
|
|
2354
|
+
|
|
2355
|
+
/**
|
|
2356
|
+
* Rows-per-page {@link Select} styled for {@link TablePagination} (Figma field).
|
|
2357
|
+
*/
|
|
2358
|
+
export declare function TableRowsPerPageSelect(props: TableRowsPerPageSelectProps): JSX.Element;
|
|
2359
|
+
|
|
2360
|
+
export declare interface TableRowsPerPageSelectProps {
|
|
2361
|
+
/** Passed to the trigger for forms and labels. */
|
|
2362
|
+
id?: string;
|
|
2363
|
+
/** Accessible name for the trigger when no visible label. @default "Rows per page" */
|
|
2364
|
+
"aria-label"?: string;
|
|
2365
|
+
}
|
|
2366
|
+
|
|
2367
|
+
/**
|
|
2368
|
+
* Horizontal scroll container for wide tables. Uses an inner scrollport so the
|
|
2369
|
+
* table respects the card radius (plain `overflow-x-auto` on the table
|
|
2370
|
+
* wrapper often loses rounded corners with `border-collapse`).
|
|
2371
|
+
*/
|
|
2372
|
+
export declare const TableScrollArea: React_2.ForwardRefExoticComponent<TableScrollAreaProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
2373
|
+
|
|
2374
|
+
export declare interface TableScrollAreaProps extends React_2.HTMLAttributes<HTMLDivElement> {
|
|
2375
|
+
/** Rounds the top of the table block to match {@link TableCard}. Set `false` when {@link TableToolbar} is above this scroll area. @default true */
|
|
2376
|
+
roundTop?: boolean;
|
|
2377
|
+
}
|
|
2378
|
+
|
|
2379
|
+
/** Row density for body cells — `md` (60px min height) or `lg` (80px). */
|
|
2380
|
+
export declare type TableSize = "md" | "lg";
|
|
2381
|
+
|
|
2382
|
+
/**
|
|
2383
|
+
* Sortable column label with caption typography and a sort affordance.
|
|
2384
|
+
*/
|
|
2385
|
+
export declare const TableSortLabel: React_2.ForwardRefExoticComponent<TableSortLabelProps & React_2.RefAttributes<HTMLSpanElement>>;
|
|
2386
|
+
|
|
2387
|
+
export declare interface TableSortLabelProps extends React_2.HTMLAttributes<HTMLSpanElement> {
|
|
2388
|
+
children: React_2.ReactNode;
|
|
2389
|
+
}
|
|
2390
|
+
|
|
2391
|
+
/**
|
|
2392
|
+
* Two-line primary + secondary text block for “cell + info” patterns.
|
|
2393
|
+
*/
|
|
2394
|
+
export declare function TableStackedText({ title, subtitle }: TableStackedTextProps): JSX.Element;
|
|
2395
|
+
|
|
2396
|
+
export declare namespace TableStackedText {
|
|
2397
|
+
var displayName: string;
|
|
2398
|
+
}
|
|
2399
|
+
|
|
2400
|
+
export declare interface TableStackedTextProps {
|
|
2401
|
+
/** Primary line (semibold body). */
|
|
2402
|
+
title: React_2.ReactNode;
|
|
2403
|
+
/** Secondary line (caption, muted). */
|
|
2404
|
+
subtitle: React_2.ReactNode;
|
|
2405
|
+
}
|
|
2406
|
+
|
|
2407
|
+
/**
|
|
2408
|
+
* Small status indicator dot for table cells (Figma status column).
|
|
2409
|
+
*/
|
|
2410
|
+
export declare const TableStatusDot: React_2.ForwardRefExoticComponent<TableStatusDotProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
2411
|
+
|
|
2412
|
+
export declare interface TableStatusDotProps extends React_2.HTMLAttributes<HTMLDivElement> {
|
|
2413
|
+
}
|
|
2414
|
+
|
|
2415
|
+
/**
|
|
2416
|
+
* Optional toolbar row above the table (e.g. bulk selection actions).
|
|
2417
|
+
*/
|
|
2418
|
+
export declare const TableToolbar: React_2.ForwardRefExoticComponent<TableToolbarProps & React_2.RefAttributes<HTMLDivElement>>;
|
|
2419
|
+
|
|
2420
|
+
export declare interface TableToolbarProps extends React_2.HTMLAttributes<HTMLDivElement> {
|
|
2421
|
+
}
|
|
2422
|
+
|
|
2219
2423
|
/**
|
|
2220
2424
|
* Root container for a tabbed interface. Manages the active tab state and
|
|
2221
2425
|
* coordinates {@link TabsList}, {@link TabsTrigger}, and {@link TabsContent}.
|
package/dist/index.mjs
CHANGED
|
@@ -9,7 +9,6 @@ import { useAudioRecorder } from "./components/AudioUpload/useAudioRecorder.mjs"
|
|
|
9
9
|
import { Autocomplete } from "./components/Autocomplete/Autocomplete.mjs";
|
|
10
10
|
import { Avatar, AvatarFallback, AvatarImage, AvatarRoot } from "./components/Avatar/Avatar.mjs";
|
|
11
11
|
import { Badge } from "./components/Badge/Badge.mjs";
|
|
12
|
-
import { Banner } from "./components/Banner/Banner.mjs";
|
|
13
12
|
import { BottomNavigation } from "./components/BottomNavigation/BottomNavigation.mjs";
|
|
14
13
|
import { BottomNavigationAction } from "./components/BottomNavigation/BottomNavigationAction.mjs";
|
|
15
14
|
import { Breadcrumb, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator } from "./components/Breadcrumb/Breadcrumb.mjs";
|
|
@@ -98,6 +97,7 @@ import { MinusIcon } from "./components/Icons/MinusIcon.mjs";
|
|
|
98
97
|
import { MoonIcon } from "./components/Icons/MoonIcon.mjs";
|
|
99
98
|
import { MoreIcon } from "./components/Icons/MoreIcon.mjs";
|
|
100
99
|
import { MoreVerticalIcon } from "./components/Icons/MoreVerticalIcon.mjs";
|
|
100
|
+
import { NewMessageIcon } from "./components/Icons/NewMessageIcon.mjs";
|
|
101
101
|
import { PauseIcon } from "./components/Icons/PauseIcon.mjs";
|
|
102
102
|
import { PhoneIcon } from "./components/Icons/PhoneIcon.mjs";
|
|
103
103
|
import { PhoneOffIcon } from "./components/Icons/PhoneOffIcon.mjs";
|
|
@@ -108,6 +108,7 @@ import { PrivacyIcon } from "./components/Icons/PrivacyIcon.mjs";
|
|
|
108
108
|
import { RepeatIcon } from "./components/Icons/RepeatIcon.mjs";
|
|
109
109
|
import { Reply2Icon } from "./components/Icons/Reply2Icon.mjs";
|
|
110
110
|
import { ReplyIcon } from "./components/Icons/ReplyIcon.mjs";
|
|
111
|
+
import { ReverseIcon } from "./components/Icons/ReverseIcon.mjs";
|
|
111
112
|
import { SearchIcon } from "./components/Icons/SearchIcon.mjs";
|
|
112
113
|
import { SendIcon } from "./components/Icons/SendIcon.mjs";
|
|
113
114
|
import { SettingsIcon } from "./components/Icons/SettingsIcon.mjs";
|
|
@@ -160,6 +161,8 @@ import { Snackbar } from "./components/Snackbar/Snackbar.mjs";
|
|
|
160
161
|
import { Switch } from "./components/Switch/Switch.mjs";
|
|
161
162
|
import { SwitchField } from "./components/SwitchField/SwitchField.mjs";
|
|
162
163
|
import { SwitchToggle } from "./components/SwitchToggle/SwitchToggle.mjs";
|
|
164
|
+
import { Table, TableBody, TableCard, TableCell, TableCellGroup, TableFooter, TableHead, TableHeader, TableLineClamp, TableMediaThumbnail, TablePillProgressLayout, TableProgressTrack, TableRow, TableRowsPerPageSelect, TableScrollArea, TableSortLabel, TableStackedText, TableStatusDot, TableToolbar } from "./components/Table/Table.mjs";
|
|
165
|
+
import { TablePagination } from "./components/Table/TablePagination.mjs";
|
|
163
166
|
import { Tabs } from "./components/Tabs/Tabs.mjs";
|
|
164
167
|
import { TabsContent } from "./components/Tabs/TabsContent.mjs";
|
|
165
168
|
import { TabsList } from "./components/Tabs/TabsList.mjs";
|
|
@@ -191,7 +194,6 @@ export {
|
|
|
191
194
|
AvatarRoot,
|
|
192
195
|
Badge,
|
|
193
196
|
BankIcon,
|
|
194
|
-
Banner,
|
|
195
197
|
BellIcon,
|
|
196
198
|
BellOffIcon,
|
|
197
199
|
BoltIcon,
|
|
@@ -310,6 +312,7 @@ export {
|
|
|
310
312
|
MoonIcon,
|
|
311
313
|
MoreIcon,
|
|
312
314
|
MoreVerticalIcon,
|
|
315
|
+
NewMessageIcon,
|
|
313
316
|
OnlineBlinkingIcon,
|
|
314
317
|
Pagination,
|
|
315
318
|
PasswordField,
|
|
@@ -327,6 +330,7 @@ export {
|
|
|
327
330
|
RepeatIcon,
|
|
328
331
|
Reply2Icon,
|
|
329
332
|
ReplyIcon,
|
|
333
|
+
ReverseIcon,
|
|
330
334
|
SearchField,
|
|
331
335
|
SearchIcon,
|
|
332
336
|
Select,
|
|
@@ -351,6 +355,26 @@ export {
|
|
|
351
355
|
Switch,
|
|
352
356
|
SwitchField,
|
|
353
357
|
SwitchToggle,
|
|
358
|
+
Table,
|
|
359
|
+
TableBody,
|
|
360
|
+
TableCard,
|
|
361
|
+
TableCell,
|
|
362
|
+
TableCellGroup,
|
|
363
|
+
TableFooter,
|
|
364
|
+
TableHead,
|
|
365
|
+
TableHeader,
|
|
366
|
+
TableLineClamp,
|
|
367
|
+
TableMediaThumbnail,
|
|
368
|
+
TablePagination,
|
|
369
|
+
TablePillProgressLayout,
|
|
370
|
+
TableProgressTrack,
|
|
371
|
+
TableRow,
|
|
372
|
+
TableRowsPerPageSelect,
|
|
373
|
+
TableScrollArea,
|
|
374
|
+
TableSortLabel,
|
|
375
|
+
TableStackedText,
|
|
376
|
+
TableStatusDot,
|
|
377
|
+
TableToolbar,
|
|
354
378
|
Tabs,
|
|
355
379
|
TabsContent,
|
|
356
380
|
TabsList,
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"floatingContentCollisionPadding.mjs","sources":["../../src/utils/floatingContentCollisionPadding.ts"],"sourcesContent":["/**\n * Default viewport inset for Radix-positioned panels (dropdown, select list, autocomplete).\n * Applied via `collisionPadding` so content stays off screen edges on narrow viewports.\n */\nexport const FLOATING_CONTENT_COLLISION_PADDING = 16;\n"],"names":[],"mappings":";AAIO,MAAM,qCAAqC;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fanvue/ui",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.1.1",
|
|
4
4
|
"description": "React component library built with Tailwind CSS for Fanvue ecosystem",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"registry": "https://registry.npmjs.org",
|
|
@@ -164,7 +164,7 @@
|
|
|
164
164
|
"size-limit": [
|
|
165
165
|
{
|
|
166
166
|
"path": "dist/index.mjs",
|
|
167
|
-
"limit": "
|
|
167
|
+
"limit": "55 KB",
|
|
168
168
|
"ignore": [
|
|
169
169
|
"@radix-ui/*",
|
|
170
170
|
"clsx",
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
"use strict";
|
|
3
|
-
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
4
|
-
const jsxRuntime = require("react/jsx-runtime");
|
|
5
|
-
const React = require("react");
|
|
6
|
-
const cn = require("../../utils/cn.cjs");
|
|
7
|
-
const Badge = require("../Badge/Badge.cjs");
|
|
8
|
-
const Button = require("../Button/Button.cjs");
|
|
9
|
-
const ArrowRightIcon = require("../Icons/ArrowRightIcon.cjs");
|
|
10
|
-
function _interopNamespaceDefault(e) {
|
|
11
|
-
const n = Object.create(null, { [Symbol.toStringTag]: { value: "Module" } });
|
|
12
|
-
if (e) {
|
|
13
|
-
for (const k in e) {
|
|
14
|
-
if (k !== "default") {
|
|
15
|
-
const d = Object.getOwnPropertyDescriptor(e, k);
|
|
16
|
-
Object.defineProperty(n, k, d.get ? d : {
|
|
17
|
-
enumerable: true,
|
|
18
|
-
get: () => e[k]
|
|
19
|
-
});
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
n.default = e;
|
|
24
|
-
return Object.freeze(n);
|
|
25
|
-
}
|
|
26
|
-
const React__namespace = /* @__PURE__ */ _interopNamespaceDefault(React);
|
|
27
|
-
const VARIANT_GRADIENTS = {
|
|
28
|
-
primary: "from-[var(--primitives-color-green-50)] to-[var(--primitives-color-purple-50)]",
|
|
29
|
-
secondary: "from-[var(--primitives-color-purple-50)] to-[var(--primitives-color-pink-50)]",
|
|
30
|
-
tertiary: "from-[var(--primitives-color-pink-50)] to-[var(--primitives-color-info-50)]"
|
|
31
|
-
};
|
|
32
|
-
const LIGHT_MODE_OVERRIDES = {
|
|
33
|
-
"--color-content-primary": "#151515ff",
|
|
34
|
-
"--color-content-secondary": "#404040ff",
|
|
35
|
-
"--color-neutral-alphas-100": "#1515150a"
|
|
36
|
-
};
|
|
37
|
-
const Banner = React__namespace.forwardRef(
|
|
38
|
-
({ className, variant = "primary", badgeLabel, heading, description, cta, style, ...props }, ref) => {
|
|
39
|
-
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
40
|
-
"div",
|
|
41
|
-
{
|
|
42
|
-
ref,
|
|
43
|
-
className: cn.cn(
|
|
44
|
-
"flex flex-col items-start gap-2 overflow-hidden rounded-2xl bg-gradient-to-br p-3 text-content-primary",
|
|
45
|
-
VARIANT_GRADIENTS[variant],
|
|
46
|
-
className
|
|
47
|
-
),
|
|
48
|
-
style: { ...LIGHT_MODE_OVERRIDES, ...style },
|
|
49
|
-
...props,
|
|
50
|
-
children: [
|
|
51
|
-
badgeLabel && /* @__PURE__ */ jsxRuntime.jsx(Badge.Badge, { children: badgeLabel }),
|
|
52
|
-
heading && /* @__PURE__ */ jsxRuntime.jsx("h3", { className: "typography-semibold-body-md", children: heading }),
|
|
53
|
-
description && /* @__PURE__ */ jsxRuntime.jsx("p", { className: "typography-regular-body-sm", children: description }),
|
|
54
|
-
cta && /* @__PURE__ */ jsxRuntime.jsx(
|
|
55
|
-
Button.Button,
|
|
56
|
-
{
|
|
57
|
-
variant: "text",
|
|
58
|
-
onClick: cta.onClick,
|
|
59
|
-
size: "24",
|
|
60
|
-
rightIcon: cta.icon ?? /* @__PURE__ */ jsxRuntime.jsx(ArrowRightIcon.ArrowRightIcon, {}),
|
|
61
|
-
children: cta.label
|
|
62
|
-
}
|
|
63
|
-
)
|
|
64
|
-
]
|
|
65
|
-
}
|
|
66
|
-
);
|
|
67
|
-
}
|
|
68
|
-
);
|
|
69
|
-
Banner.displayName = "Banner";
|
|
70
|
-
exports.Banner = Banner;
|
|
71
|
-
//# sourceMappingURL=Banner.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Banner.cjs","sources":["../../../../src/components/Banner/Banner.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { Badge } from \"../Badge/Badge\";\nimport { Button } from \"../Button/Button\";\nimport { ArrowRightIcon } from \"../Icons/ArrowRightIcon\";\n\n/** Gradient variant of the banner. */\nexport type BannerVariant = \"primary\" | \"secondary\" | \"tertiary\";\n\nconst VARIANT_GRADIENTS: Record<BannerVariant, string> = {\n primary: \"from-[var(--primitives-color-green-50)] to-[var(--primitives-color-purple-50)]\",\n secondary: \"from-[var(--primitives-color-purple-50)] to-[var(--primitives-color-pink-50)]\",\n tertiary: \"from-[var(--primitives-color-pink-50)] to-[var(--primitives-color-info-50)]\",\n};\n\nexport interface BannerProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Gradient variant controlling the background colours. @default \"primary\" */\n variant?: BannerVariant;\n /** Text rendered inside a `Badge` at the top of the banner. */\n badgeLabel?: string;\n /** Primary heading displayed below the badge. Rendered as an `<h3>`. */\n heading?: React.ReactNode;\n /** Supporting copy displayed below the heading. */\n description?: React.ReactNode;\n /**\n * Call-to-action button config. Renders a text-style `Button` with an arrow icon.\n * Pass `icon` to override the default `ArrowRightIcon`.\n */\n cta?: { label: string; onClick: () => void; icon?: React.ReactNode };\n}\n\n/**\n * Force light-mode semantic tokens on the Banner since its gradient\n * backgrounds are always light regardless of the current colour scheme.\n */\nconst LIGHT_MODE_OVERRIDES: React.CSSProperties = {\n \"--color-content-primary\": \"#151515ff\",\n \"--color-content-secondary\": \"#404040ff\",\n \"--color-neutral-alphas-100\": \"#1515150a\",\n} as React.CSSProperties;\n\n/**\n * A promotional banner card with gradient backgrounds, optional badge,\n * heading, description, and call-to-action button.\n *\n * @example\n * ```tsx\n * <Banner\n * variant=\"primary\"\n * badgeLabel=\"New\"\n * heading=\"Boost your earnings\"\n * description=\"Try our latest feature to grow faster.\"\n * cta={{ label: \"Learn more\", onClick: handleClick }}\n * />\n * ```\n */\nexport const Banner = React.forwardRef<HTMLDivElement, BannerProps>(\n (\n { className, variant = \"primary\", badgeLabel, heading, description, cta, style, ...props },\n ref,\n ) => {\n return (\n <div\n ref={ref}\n className={cn(\n \"flex flex-col items-start gap-2 overflow-hidden rounded-2xl bg-gradient-to-br p-3 text-content-primary\",\n VARIANT_GRADIENTS[variant],\n className,\n )}\n style={{ ...LIGHT_MODE_OVERRIDES, ...style }}\n {...props}\n >\n {badgeLabel && <Badge>{badgeLabel}</Badge>}\n {heading && <h3 className=\"typography-semibold-body-md\">{heading}</h3>}\n {description && <p className=\"typography-regular-body-sm\">{description}</p>}\n {cta && (\n <Button\n variant=\"text\"\n onClick={cta.onClick}\n size=\"24\"\n rightIcon={cta.icon ?? <ArrowRightIcon />}\n >\n {cta.label}\n </Button>\n )}\n </div>\n );\n },\n);\n\nBanner.displayName = \"Banner\";\n"],"names":["React","jsxs","cn","jsx","Badge","Button","ArrowRightIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AASA,MAAM,oBAAmD;AAAA,EACvD,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AACZ;AAsBA,MAAM,uBAA4C;AAAA,EAChD,2BAA2B;AAAA,EAC3B,6BAA6B;AAAA,EAC7B,8BAA8B;AAChC;AAiBO,MAAM,SAASA,iBAAM;AAAA,EAC1B,CACE,EAAE,WAAW,UAAU,WAAW,YAAY,SAAS,aAAa,KAAK,OAAO,GAAG,MAAA,GACnF,QACG;AACH,WACEC,2BAAAA;AAAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,WAAWC,GAAAA;AAAAA,UACT;AAAA,UACA,kBAAkB,OAAO;AAAA,UACzB;AAAA,QAAA;AAAA,QAEF,OAAO,EAAE,GAAG,sBAAsB,GAAG,MAAA;AAAA,QACpC,GAAG;AAAA,QAEH,UAAA;AAAA,UAAA,cAAcC,2BAAAA,IAACC,MAAAA,SAAO,UAAA,WAAA,CAAW;AAAA,UACjC,WAAWD,2BAAAA,IAAC,MAAA,EAAG,WAAU,+BAA+B,UAAA,SAAQ;AAAA,UAChE,eAAeA,2BAAAA,IAAC,KAAA,EAAE,WAAU,8BAA8B,UAAA,aAAY;AAAA,UACtE,OACCA,2BAAAA;AAAAA,YAACE,OAAAA;AAAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,SAAS,IAAI;AAAA,cACb,MAAK;AAAA,cACL,WAAW,IAAI,QAAQF,2BAAAA,IAACG,eAAAA,gBAAA,CAAA,CAAe;AAAA,cAEtC,UAAA,IAAI;AAAA,YAAA;AAAA,UAAA;AAAA,QACP;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;AAEA,OAAO,cAAc;;"}
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
"use client";
|
|
2
|
-
import { jsxs, jsx } from "react/jsx-runtime";
|
|
3
|
-
import * as React from "react";
|
|
4
|
-
import { cn } from "../../utils/cn.mjs";
|
|
5
|
-
import { Badge } from "../Badge/Badge.mjs";
|
|
6
|
-
import { Button } from "../Button/Button.mjs";
|
|
7
|
-
import { ArrowRightIcon } from "../Icons/ArrowRightIcon.mjs";
|
|
8
|
-
const VARIANT_GRADIENTS = {
|
|
9
|
-
primary: "from-[var(--primitives-color-green-50)] to-[var(--primitives-color-purple-50)]",
|
|
10
|
-
secondary: "from-[var(--primitives-color-purple-50)] to-[var(--primitives-color-pink-50)]",
|
|
11
|
-
tertiary: "from-[var(--primitives-color-pink-50)] to-[var(--primitives-color-info-50)]"
|
|
12
|
-
};
|
|
13
|
-
const LIGHT_MODE_OVERRIDES = {
|
|
14
|
-
"--color-content-primary": "#151515ff",
|
|
15
|
-
"--color-content-secondary": "#404040ff",
|
|
16
|
-
"--color-neutral-alphas-100": "#1515150a"
|
|
17
|
-
};
|
|
18
|
-
const Banner = React.forwardRef(
|
|
19
|
-
({ className, variant = "primary", badgeLabel, heading, description, cta, style, ...props }, ref) => {
|
|
20
|
-
return /* @__PURE__ */ jsxs(
|
|
21
|
-
"div",
|
|
22
|
-
{
|
|
23
|
-
ref,
|
|
24
|
-
className: cn(
|
|
25
|
-
"flex flex-col items-start gap-2 overflow-hidden rounded-2xl bg-gradient-to-br p-3 text-content-primary",
|
|
26
|
-
VARIANT_GRADIENTS[variant],
|
|
27
|
-
className
|
|
28
|
-
),
|
|
29
|
-
style: { ...LIGHT_MODE_OVERRIDES, ...style },
|
|
30
|
-
...props,
|
|
31
|
-
children: [
|
|
32
|
-
badgeLabel && /* @__PURE__ */ jsx(Badge, { children: badgeLabel }),
|
|
33
|
-
heading && /* @__PURE__ */ jsx("h3", { className: "typography-semibold-body-md", children: heading }),
|
|
34
|
-
description && /* @__PURE__ */ jsx("p", { className: "typography-regular-body-sm", children: description }),
|
|
35
|
-
cta && /* @__PURE__ */ jsx(
|
|
36
|
-
Button,
|
|
37
|
-
{
|
|
38
|
-
variant: "text",
|
|
39
|
-
onClick: cta.onClick,
|
|
40
|
-
size: "24",
|
|
41
|
-
rightIcon: cta.icon ?? /* @__PURE__ */ jsx(ArrowRightIcon, {}),
|
|
42
|
-
children: cta.label
|
|
43
|
-
}
|
|
44
|
-
)
|
|
45
|
-
]
|
|
46
|
-
}
|
|
47
|
-
);
|
|
48
|
-
}
|
|
49
|
-
);
|
|
50
|
-
Banner.displayName = "Banner";
|
|
51
|
-
export {
|
|
52
|
-
Banner
|
|
53
|
-
};
|
|
54
|
-
//# sourceMappingURL=Banner.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Banner.mjs","sources":["../../../src/components/Banner/Banner.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cn } from \"../../utils/cn\";\nimport { Badge } from \"../Badge/Badge\";\nimport { Button } from \"../Button/Button\";\nimport { ArrowRightIcon } from \"../Icons/ArrowRightIcon\";\n\n/** Gradient variant of the banner. */\nexport type BannerVariant = \"primary\" | \"secondary\" | \"tertiary\";\n\nconst VARIANT_GRADIENTS: Record<BannerVariant, string> = {\n primary: \"from-[var(--primitives-color-green-50)] to-[var(--primitives-color-purple-50)]\",\n secondary: \"from-[var(--primitives-color-purple-50)] to-[var(--primitives-color-pink-50)]\",\n tertiary: \"from-[var(--primitives-color-pink-50)] to-[var(--primitives-color-info-50)]\",\n};\n\nexport interface BannerProps extends React.HTMLAttributes<HTMLDivElement> {\n /** Gradient variant controlling the background colours. @default \"primary\" */\n variant?: BannerVariant;\n /** Text rendered inside a `Badge` at the top of the banner. */\n badgeLabel?: string;\n /** Primary heading displayed below the badge. Rendered as an `<h3>`. */\n heading?: React.ReactNode;\n /** Supporting copy displayed below the heading. */\n description?: React.ReactNode;\n /**\n * Call-to-action button config. Renders a text-style `Button` with an arrow icon.\n * Pass `icon` to override the default `ArrowRightIcon`.\n */\n cta?: { label: string; onClick: () => void; icon?: React.ReactNode };\n}\n\n/**\n * Force light-mode semantic tokens on the Banner since its gradient\n * backgrounds are always light regardless of the current colour scheme.\n */\nconst LIGHT_MODE_OVERRIDES: React.CSSProperties = {\n \"--color-content-primary\": \"#151515ff\",\n \"--color-content-secondary\": \"#404040ff\",\n \"--color-neutral-alphas-100\": \"#1515150a\",\n} as React.CSSProperties;\n\n/**\n * A promotional banner card with gradient backgrounds, optional badge,\n * heading, description, and call-to-action button.\n *\n * @example\n * ```tsx\n * <Banner\n * variant=\"primary\"\n * badgeLabel=\"New\"\n * heading=\"Boost your earnings\"\n * description=\"Try our latest feature to grow faster.\"\n * cta={{ label: \"Learn more\", onClick: handleClick }}\n * />\n * ```\n */\nexport const Banner = React.forwardRef<HTMLDivElement, BannerProps>(\n (\n { className, variant = \"primary\", badgeLabel, heading, description, cta, style, ...props },\n ref,\n ) => {\n return (\n <div\n ref={ref}\n className={cn(\n \"flex flex-col items-start gap-2 overflow-hidden rounded-2xl bg-gradient-to-br p-3 text-content-primary\",\n VARIANT_GRADIENTS[variant],\n className,\n )}\n style={{ ...LIGHT_MODE_OVERRIDES, ...style }}\n {...props}\n >\n {badgeLabel && <Badge>{badgeLabel}</Badge>}\n {heading && <h3 className=\"typography-semibold-body-md\">{heading}</h3>}\n {description && <p className=\"typography-regular-body-sm\">{description}</p>}\n {cta && (\n <Button\n variant=\"text\"\n onClick={cta.onClick}\n size=\"24\"\n rightIcon={cta.icon ?? <ArrowRightIcon />}\n >\n {cta.label}\n </Button>\n )}\n </div>\n );\n },\n);\n\nBanner.displayName = \"Banner\";\n"],"names":[],"mappings":";;;;;;;AASA,MAAM,oBAAmD;AAAA,EACvD,SAAS;AAAA,EACT,WAAW;AAAA,EACX,UAAU;AACZ;AAsBA,MAAM,uBAA4C;AAAA,EAChD,2BAA2B;AAAA,EAC3B,6BAA6B;AAAA,EAC7B,8BAA8B;AAChC;AAiBO,MAAM,SAAS,MAAM;AAAA,EAC1B,CACE,EAAE,WAAW,UAAU,WAAW,YAAY,SAAS,aAAa,KAAK,OAAO,GAAG,MAAA,GACnF,QACG;AACH,WACE;AAAA,MAAC;AAAA,MAAA;AAAA,QACC;AAAA,QACA,WAAW;AAAA,UACT;AAAA,UACA,kBAAkB,OAAO;AAAA,UACzB;AAAA,QAAA;AAAA,QAEF,OAAO,EAAE,GAAG,sBAAsB,GAAG,MAAA;AAAA,QACpC,GAAG;AAAA,QAEH,UAAA;AAAA,UAAA,cAAc,oBAAC,SAAO,UAAA,WAAA,CAAW;AAAA,UACjC,WAAW,oBAAC,MAAA,EAAG,WAAU,+BAA+B,UAAA,SAAQ;AAAA,UAChE,eAAe,oBAAC,KAAA,EAAE,WAAU,8BAA8B,UAAA,aAAY;AAAA,UACtE,OACC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,SAAQ;AAAA,cACR,SAAS,IAAI;AAAA,cACb,MAAK;AAAA,cACL,WAAW,IAAI,QAAQ,oBAAC,gBAAA,CAAA,CAAe;AAAA,cAEtC,UAAA,IAAI;AAAA,YAAA;AAAA,UAAA;AAAA,QACP;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;AAEA,OAAO,cAAc;"}
|