@evinvest/uikit 0.10.0 → 0.11.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/README.md +37 -7
- package/dist/index.d.ts +120 -67
- package/dist/index.js +445 -403
- package/dist/index.js.map +1 -1
- package/package.json +5 -3
- package/styles/motion.css +172 -0
- package/styles/tokens-legacy.css +66 -0
- package/styles/tokens.css +134 -271
package/README.md
CHANGED
|
@@ -34,10 +34,10 @@ Requires Node ≥ 20 and React 18 or 19. `dist/` is built on publish, not commit
|
|
|
34
34
|
|
|
35
35
|
## Design tokens — the theme contract
|
|
36
36
|
|
|
37
|
-
Every component's Tailwind classes reference design tokens
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
Tailwind v4 entrypoint — this is the load-bearing part of the kit:
|
|
37
|
+
Every component's Tailwind classes reference design tokens and nothing else, so
|
|
38
|
+
a consumer re-themes the whole kit by writing values, never by overriding
|
|
39
|
+
classes. The tokens are **shipped with the package** and must be imported into
|
|
40
|
+
your Tailwind v4 entrypoint — this is the load-bearing part of the kit:
|
|
41
41
|
|
|
42
42
|
```css
|
|
43
43
|
/* app.css — your Tailwind v4 entrypoint */
|
|
@@ -45,10 +45,40 @@ Tailwind v4 entrypoint — this is the load-bearing part of the kit:
|
|
|
45
45
|
@import "@evinvest/uikit/styles/tokens.css";
|
|
46
46
|
```
|
|
47
47
|
|
|
48
|
+
| group | names |
|
|
49
|
+
|---|---|
|
|
50
|
+
| scope | `:root` · `.dark` · `.light` — a consumer defines one or both |
|
|
51
|
+
| surfaces | `background` `card` `popover` `muted` `hover` |
|
|
52
|
+
| ink | `ink` `ink-mid` `ink-soft` — hierarchy, loudest first |
|
|
53
|
+
| lines | `border` `input` `ring` |
|
|
54
|
+
| roles | `brand` `primary` `secondary` `positive` `accent-trace` `accent-debug` `accent-info` `accent-warn` `accent-error`, each with `on-*` where it gets filled |
|
|
55
|
+
| scalars | `radius` `control-radius` `control-py` `display-scale` `band-py` `page-max` `page-px` `shadow-*` `font-*` |
|
|
56
|
+
| charts | `chart-1` … `chart-5` |
|
|
57
|
+
|
|
58
|
+
Custom properties inherit, so a scope class on a `<section>` re-themes its
|
|
59
|
+
subtree — `bg-card text-ink` is correct on both polarities with no prop. That is
|
|
60
|
+
what `<Section polarity="dark">` does.
|
|
61
|
+
|
|
62
|
+
A surface takes its ink from the scope, so it carries no `-foreground`. A
|
|
63
|
+
**filled role** does not — gold wants black and navy wants white regardless of
|
|
64
|
+
polarity — so `on-{role}` exists exactly there.
|
|
65
|
+
|
|
66
|
+
Accents are decorative and **ordered by significance**, quiet to loud. Pick a
|
|
67
|
+
rung by how loud the thing should be, never by what it means; see
|
|
68
|
+
[`docs/spec/accents.md`](../../docs/spec/accents.md). Every consumer defines all
|
|
69
|
+
five, binding rungs it does not distinguish to the same value, which is what
|
|
70
|
+
lets a kit component reference an accent at all.
|
|
71
|
+
|
|
48
72
|
`styles/tokens.css` is copied at pack time from the repo-root `tokens.css` shared
|
|
49
|
-
with the Rust feature
|
|
50
|
-
|
|
51
|
-
|
|
73
|
+
with the Rust feature, and carries EV's values: a single dark palette on
|
|
74
|
+
`:root, .dark`. A consumer with two polarities writes its own sheet against the
|
|
75
|
+
same names.
|
|
76
|
+
|
|
77
|
+
`styles/tokens-legacy.css` is the pre-0.11 vocabulary layered on top —
|
|
78
|
+
`text-main-mist`, `bg-sidebar`, `text-muted-foreground` and the rest keep
|
|
79
|
+
working, and the current tokens are re-pointed at the old values so rendered
|
|
80
|
+
colour is unchanged. Import it instead while migrating; it goes away once every
|
|
81
|
+
consumer has moved.
|
|
52
82
|
|
|
53
83
|
## Usage
|
|
54
84
|
|
package/dist/index.d.ts
CHANGED
|
@@ -7,6 +7,10 @@ import * as React from 'react';
|
|
|
7
7
|
* conflicting utilities so the rightmost wins (`cn("p-4", "p-2") === "p-2"`). A
|
|
8
8
|
* caller's `className` override, passed last, therefore beats the base classes.
|
|
9
9
|
*
|
|
10
|
+
* `twMerge` parses every utility on every render, and the overwhelmingly common
|
|
11
|
+
* call is one kit constant plus a `className` override that is absent — so that
|
|
12
|
+
* call returns the constant untouched.
|
|
13
|
+
*
|
|
10
14
|
* The Rust mirror is the `cn!` macro in `ev_lib::uikit` (`tailwind_fuse::tw_merge!`).
|
|
11
15
|
*/
|
|
12
16
|
declare function cn(...inputs: ClassValue[]): string;
|
|
@@ -163,8 +167,8 @@ declare function useHoverIntent(opts: {
|
|
|
163
167
|
declare function mergeRefs<T>(...refs: Array<React.Ref<T> | undefined>): React.RefCallback<T>;
|
|
164
168
|
|
|
165
169
|
declare const alertVariants: {
|
|
166
|
-
readonly default: "bg-card text-
|
|
167
|
-
readonly destructive: "text-
|
|
170
|
+
readonly default: "bg-card text-ink";
|
|
171
|
+
readonly destructive: "text-accent-error bg-card [&>svg]:text-current *:data-[slot=alert-description]:text-accent-error/90";
|
|
168
172
|
};
|
|
169
173
|
type AlertVariant = keyof typeof alertVariants;
|
|
170
174
|
|
|
@@ -180,11 +184,11 @@ declare function AvatarImage({ className, onError, ...props }: React.ComponentPr
|
|
|
180
184
|
declare function AvatarFallback({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
181
185
|
|
|
182
186
|
declare const badgeVariants: {
|
|
183
|
-
readonly default: "border-transparent bg-primary text-primary
|
|
184
|
-
readonly secondary: "border-transparent bg-secondary text-secondary
|
|
185
|
-
readonly destructive: "border-transparent bg-
|
|
186
|
-
readonly outline: "text-
|
|
187
|
-
readonly success: "border-transparent bg-
|
|
187
|
+
readonly default: "border-transparent bg-primary text-on-primary [a&]:hover:bg-primary/90";
|
|
188
|
+
readonly secondary: "border-transparent bg-secondary text-on-secondary [a&]:hover:bg-secondary/90";
|
|
189
|
+
readonly destructive: "border-transparent bg-accent-error text-on-accent-error [a&]:hover:bg-accent-error/90 focus-visible:ring-accent-error/20";
|
|
190
|
+
readonly outline: "text-ink [a&]:hover:bg-hover [a&]:hover:text-ink";
|
|
191
|
+
readonly success: "border-transparent bg-positive/20 text-positive";
|
|
188
192
|
};
|
|
189
193
|
type BadgeVariant = keyof typeof badgeVariants;
|
|
190
194
|
|
|
@@ -206,21 +210,25 @@ declare function BreadcrumbSeparator({ children, className, ...props }: React.Co
|
|
|
206
210
|
declare function BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
|
|
207
211
|
|
|
208
212
|
declare const buttonVariantClasses: {
|
|
209
|
-
readonly default: "bg-primary text-primary
|
|
210
|
-
readonly secondary: "bg-secondary text-secondary
|
|
211
|
-
readonly outline: "border bg-transparent shadow-xs hover:bg-
|
|
212
|
-
readonly ghost: "hover:bg-
|
|
213
|
-
readonly destructive: "bg-
|
|
213
|
+
readonly default: "bg-primary text-on-primary hover:bg-primary/90";
|
|
214
|
+
readonly secondary: "bg-secondary text-on-secondary hover:bg-secondary/80";
|
|
215
|
+
readonly outline: "border bg-transparent shadow-xs hover:bg-hover hover:text-ink";
|
|
216
|
+
readonly ghost: "hover:bg-hover hover:text-ink";
|
|
217
|
+
readonly destructive: "bg-accent-error text-on-accent-error hover:bg-accent-error/90 focus-visible:ring-accent-error/20";
|
|
214
218
|
readonly link: "text-primary underline-offset-4 hover:underline";
|
|
215
219
|
};
|
|
216
220
|
type ButtonVariant = keyof typeof buttonVariantClasses;
|
|
217
221
|
declare const buttonSizeClasses: {
|
|
218
|
-
readonly default: "h-9 px-4 py-
|
|
219
|
-
readonly
|
|
220
|
-
readonly
|
|
222
|
+
readonly default: "h-9 px-4 py-[var(--control-py)] has-[>svg]:px-3";
|
|
223
|
+
readonly xs: "h-7 gap-1 px-2 text-xs has-[>svg]:px-1.5";
|
|
224
|
+
readonly sm: "h-8 gap-1.5 px-3 has-[>svg]:px-2.5";
|
|
225
|
+
readonly lg: "h-10 px-6 has-[>svg]:px-4";
|
|
226
|
+
readonly xl: "px-[var(--control-px)] py-[var(--control-py)] text-[length:var(--control-text)]";
|
|
221
227
|
readonly icon: "h-9 aspect-square px-0";
|
|
228
|
+
readonly "icon-xs": "h-7 aspect-square px-0";
|
|
222
229
|
readonly "icon-sm": "h-8 aspect-square px-0";
|
|
223
230
|
readonly "icon-lg": "h-10 aspect-square px-0";
|
|
231
|
+
readonly "icon-xl": "aspect-square p-[var(--control-py)]";
|
|
224
232
|
};
|
|
225
233
|
type ButtonSize = keyof typeof buttonSizeClasses;
|
|
226
234
|
|
|
@@ -239,8 +247,11 @@ interface ButtonProps extends React.ComponentProps<"button"> {
|
|
|
239
247
|
variant?: ButtonVariant;
|
|
240
248
|
size?: ButtonSize;
|
|
241
249
|
asChild?: boolean;
|
|
250
|
+
/** Renders an `<a>` wearing the button's classes — a link that looks like a
|
|
251
|
+
* call to action is still a link. */
|
|
252
|
+
href?: string;
|
|
242
253
|
}
|
|
243
|
-
declare function Button({ className, variant, size, asChild, ...props }: ButtonProps): React.JSX.Element;
|
|
254
|
+
declare function Button({ className, variant, size, asChild, href, ...props }: ButtonProps): React.JSX.Element;
|
|
244
255
|
|
|
245
256
|
declare const buttonGroupOrientationClasses: {
|
|
246
257
|
readonly horizontal: "[&>*:not(:first-child)]:rounded-l-none [&>*:not(:first-child)]:border-l-0 [&>*:not(:last-child)]:rounded-r-none";
|
|
@@ -268,7 +279,7 @@ declare function CardFooter({ className, ...props }: React.ComponentProps<"div">
|
|
|
268
279
|
|
|
269
280
|
declare const emptyMediaVariants: {
|
|
270
281
|
readonly default: "bg-transparent";
|
|
271
|
-
readonly icon: "bg-muted text-
|
|
282
|
+
readonly icon: "bg-muted text-ink flex size-10 shrink-0 items-center justify-center rounded-lg [&_svg:not([class*='size-'])]:size-6";
|
|
272
283
|
};
|
|
273
284
|
type EmptyMediaVariant = keyof typeof emptyMediaVariants;
|
|
274
285
|
|
|
@@ -324,14 +335,11 @@ interface SectionDescriptorProps extends Omit<React.ComponentProps<"section">, "
|
|
|
324
335
|
declare function SectionDescriptor({ title, icon, collapsible, defaultOpen, className, children, ...props }: SectionDescriptorProps): React.JSX.Element;
|
|
325
336
|
|
|
326
337
|
/**
|
|
327
|
-
*
|
|
328
|
-
*
|
|
329
|
-
*
|
|
330
|
-
* columns
|
|
331
|
-
*
|
|
332
|
-
* the newsletter form, when wanted) come from the app. `children` render right
|
|
333
|
-
* after the `<footer>` tag — the slot for app-side extras like the
|
|
334
|
-
* build-version easter egg.
|
|
338
|
+
* A 12-col footer grid — brand 3 | sitemap groups 2 each | offices 3 |
|
|
339
|
+
* newsletter 2 — with the legal links and copyright line. On mobile the sitemap
|
|
340
|
+
* columns sit side by side. Every string is the caller's; the `offices` and
|
|
341
|
+
* `newsletter` columns are omitted when empty. `children` render right after the
|
|
342
|
+
* `<footer>` tag — the slot for app-side extras like a build-version easter egg.
|
|
335
343
|
*
|
|
336
344
|
* `linkComponent` lets Next hosts pass `next/link`; everyone else gets `<a>`.
|
|
337
345
|
*/
|
|
@@ -348,20 +356,26 @@ interface FooterOffice {
|
|
|
348
356
|
address: string;
|
|
349
357
|
}
|
|
350
358
|
interface FooterProps {
|
|
359
|
+
brand: string;
|
|
360
|
+
description: string;
|
|
361
|
+
copyright: string;
|
|
351
362
|
nav: readonly FooterLinkGroup[];
|
|
352
|
-
|
|
363
|
+
/** The mark beside the brand name. Sized by the caller. */
|
|
364
|
+
mark?: React.ReactNode;
|
|
365
|
+
tagline?: string;
|
|
353
366
|
offices?: readonly FooterOffice[];
|
|
367
|
+
officesHeading?: string;
|
|
354
368
|
legalLinks?: readonly FooterLink[];
|
|
355
|
-
/** The newsletter form; the
|
|
369
|
+
/** The newsletter form; the newsletter column renders only when present. */
|
|
356
370
|
newsletter?: React.ReactNode;
|
|
371
|
+
newsletterHeading?: string;
|
|
357
372
|
newsletterBlurb?: string;
|
|
358
373
|
version?: string;
|
|
359
374
|
commitHref?: string;
|
|
360
|
-
tagline?: string;
|
|
361
375
|
linkComponent?: React.ElementType;
|
|
362
376
|
children?: React.ReactNode;
|
|
363
377
|
}
|
|
364
|
-
declare function Footer({
|
|
378
|
+
declare function Footer({ brand, description, copyright, nav, mark, tagline, offices, officesHeading, legalLinks, newsletter, newsletterHeading, newsletterBlurb, version, commitHref, linkComponent, children, }: FooterProps): React.JSX.Element;
|
|
365
379
|
|
|
366
380
|
declare function Input({ className, type, ...props }: React.ComponentProps<"input">): React.JSX.Element;
|
|
367
381
|
|
|
@@ -446,25 +460,6 @@ declare function ItemFooter({ className, ...props }: React.ComponentProps<"div">
|
|
|
446
460
|
declare function Kbd({ className, ...props }: React.ComponentProps<"kbd">): React.JSX.Element;
|
|
447
461
|
declare function KbdGroup({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
|
|
448
462
|
|
|
449
|
-
/**
|
|
450
|
-
* The EV Investment mark, rendered as a CSS mask (`backgroundColor:
|
|
451
|
-
* currentColor` + `maskImage`) so the monochrome lockup follows the
|
|
452
|
-
* surrounding text color instead of the SVG's baked-in black. The SVG is
|
|
453
|
-
* inlined as a URL-encoded `data:` URI so consumers need no asset pipeline;
|
|
454
|
-
* `src` swaps in an externally hosted mark when one is preferred.
|
|
455
|
-
*
|
|
456
|
-
* `withBackground` paints the clean brand field generated from
|
|
457
|
-
* OKLCH(0.256, 0.1, 260) behind the mark, keeping the chip consistent with
|
|
458
|
-
* the favicon.
|
|
459
|
-
*/
|
|
460
|
-
interface LogoProps {
|
|
461
|
-
className?: string;
|
|
462
|
-
withBackground?: boolean;
|
|
463
|
-
/** Overrides the inlined data-URI mark with an external SVG URL. */
|
|
464
|
-
src?: string;
|
|
465
|
-
}
|
|
466
|
-
declare function Logo({ className, withBackground, src }: LogoProps): React.JSX.Element;
|
|
467
|
-
|
|
468
463
|
declare function Pagination({ className, ...props }: React.ComponentProps<"nav">): React.JSX.Element;
|
|
469
464
|
declare function PaginationContent({ className, ...props }: React.ComponentProps<"ul">): React.JSX.Element;
|
|
470
465
|
declare function PaginationItem(props: React.ComponentProps<"li">): React.JSX.Element;
|
|
@@ -487,8 +482,7 @@ declare function Skeleton({ className, ...props }: React.ComponentProps<"div">):
|
|
|
487
482
|
declare function Spinner({ className, ...props }: React.ComponentProps<"svg">): React.JSX.Element;
|
|
488
483
|
|
|
489
484
|
/**
|
|
490
|
-
* The shared 404 / 403 / 500 status surface
|
|
491
|
-
* EV app (landing, cabinet) shows the same branded error pages.
|
|
485
|
+
* The shared 404 / 403 / 500 status surface.
|
|
492
486
|
*
|
|
493
487
|
* `StatusScreen` is the generic shell; `NotFound` / `Forbidden` / `ServerError`
|
|
494
488
|
* are the ready-made pages with their copy baked in — a host renders those with
|
|
@@ -497,12 +491,19 @@ declare function Spinner({ className, ...props }: React.ComponentProps<"svg">):
|
|
|
497
491
|
* soft navigation from a client boundary.
|
|
498
492
|
*/
|
|
499
493
|
type StatusAccent = "teal" | "gold" | "red" | "blue";
|
|
500
|
-
/**
|
|
501
|
-
|
|
494
|
+
/**
|
|
495
|
+
* A status CTA is a Button at the page's accent: the canonical button string,
|
|
496
|
+
* then the mono/uppercase treatment the error pages wear, then the accent.
|
|
497
|
+
*
|
|
498
|
+
* Exported because a host that renders its own action into `StatusScreen`'s
|
|
499
|
+
* slot — a retry button wired to Next's `reset`, say — has to be able to match
|
|
500
|
+
* the CTAs beside it, and the accent colour maps are ours.
|
|
501
|
+
*/
|
|
502
|
+
declare function statusCtaClass(accent: StatusAccent, variant: ButtonVariant): string;
|
|
502
503
|
interface StatusLinkData {
|
|
503
504
|
label: string;
|
|
504
505
|
href: string;
|
|
505
|
-
variant?:
|
|
506
|
+
variant?: ButtonVariant;
|
|
506
507
|
leadingArrow?: boolean;
|
|
507
508
|
}
|
|
508
509
|
interface StatusScreenProps {
|
|
@@ -593,6 +594,61 @@ type ContainerProps = React.ComponentProps<"div">;
|
|
|
593
594
|
*/
|
|
594
595
|
declare function Container({ className, ...props }: ContainerProps): React.JSX.Element;
|
|
595
596
|
|
|
597
|
+
declare const polarityClasses: {
|
|
598
|
+
readonly light: "light";
|
|
599
|
+
readonly dark: "dark";
|
|
600
|
+
};
|
|
601
|
+
type Polarity = keyof typeof polarityClasses;
|
|
602
|
+
declare const surfaceClasses: {
|
|
603
|
+
readonly background: "bg-background text-ink";
|
|
604
|
+
readonly card: "bg-card text-ink";
|
|
605
|
+
readonly muted: "bg-muted text-ink";
|
|
606
|
+
readonly primary: "bg-primary text-on-primary";
|
|
607
|
+
};
|
|
608
|
+
type Surface = keyof typeof surfaceClasses;
|
|
609
|
+
|
|
610
|
+
/**
|
|
611
|
+
* Full-bleed page bands and the type vocabulary that goes in them. A page built
|
|
612
|
+
* from these writes no spacing or type-scale class of its own: the rhythm is
|
|
613
|
+
* `--band-py`, the gutter `--page-px` and the headline scale `--display-scale`,
|
|
614
|
+
* so a global retune is one edit in the consumer's tokens.
|
|
615
|
+
*/
|
|
616
|
+
interface SectionProps extends React.ComponentProps<"section"> {
|
|
617
|
+
polarity?: Polarity;
|
|
618
|
+
surface?: Surface;
|
|
619
|
+
tight?: boolean;
|
|
620
|
+
}
|
|
621
|
+
/**
|
|
622
|
+
* `polarity` sets the token scope on the element, so everything inside reads
|
|
623
|
+
* `text-ink` / `border-border` / `text-ink-soft` and resolves correctly on
|
|
624
|
+
* either side. `tight` is the shorter vertical rhythm.
|
|
625
|
+
*/
|
|
626
|
+
declare function Section({ polarity, surface, tight, className, ...props }: SectionProps): React.JSX.Element;
|
|
627
|
+
/** The label above a headline, in the interactive role's colour. */
|
|
628
|
+
declare function Eyebrow({ className, ...props }: React.ComponentProps<"p">): React.JSX.Element;
|
|
629
|
+
/** The headline. One scale for every band on the site, so a retune is one number. */
|
|
630
|
+
declare function Display({ className, ...props }: React.ComponentProps<"h2">): React.JSX.Element;
|
|
631
|
+
interface SectionHeadProps extends Omit<React.ComponentProps<"div">, "title"> {
|
|
632
|
+
eyebrow: React.ReactNode;
|
|
633
|
+
title: React.ReactNode;
|
|
634
|
+
lede?: React.ReactNode;
|
|
635
|
+
}
|
|
636
|
+
/** Eyebrow → headline → lede, the head a band shares. */
|
|
637
|
+
declare function SectionHead({ eyebrow, title, lede, className, ...props }: SectionHeadProps): React.JSX.Element;
|
|
638
|
+
/** Body copy at the reading measure. */
|
|
639
|
+
declare function Prose({ className, ...props }: React.ComponentProps<"p">): React.JSX.Element;
|
|
640
|
+
interface StatProps extends React.ComponentProps<"span"> {
|
|
641
|
+
figure: React.ReactNode;
|
|
642
|
+
label: React.ReactNode;
|
|
643
|
+
}
|
|
644
|
+
/** A figure with its label beside it. */
|
|
645
|
+
declare function Stat({ figure, label, className, ...props }: StatProps): React.JSX.Element;
|
|
646
|
+
/**
|
|
647
|
+
* The affirmative tick. Positive is a valence, not a significance rung — see the
|
|
648
|
+
* kit's `docs/spec/accents.md`.
|
|
649
|
+
*/
|
|
650
|
+
declare function Check({ className, ...props }: React.ComponentProps<"span">): React.JSX.Element;
|
|
651
|
+
|
|
596
652
|
type TabsOrientation = "horizontal" | "vertical";
|
|
597
653
|
interface TabsProps extends Omit<React.ComponentProps<"div">, "onChange"> {
|
|
598
654
|
value?: string;
|
|
@@ -618,13 +674,15 @@ declare function TabsContent({ className, value, children, ...props }: TabsConte
|
|
|
618
674
|
|
|
619
675
|
declare const toggleVariantClasses: {
|
|
620
676
|
readonly default: "bg-transparent";
|
|
621
|
-
readonly outline: "border border-input bg-transparent shadow-xs hover:bg-
|
|
677
|
+
readonly outline: "border border-input bg-transparent shadow-xs hover:bg-hover hover:text-ink";
|
|
622
678
|
};
|
|
623
679
|
type ToggleVariant = keyof typeof toggleVariantClasses;
|
|
624
680
|
declare const toggleSizeClasses: {
|
|
625
681
|
readonly default: "h-9 px-2 min-w-9";
|
|
682
|
+
readonly xs: "h-7 px-1 min-w-7";
|
|
626
683
|
readonly sm: "h-8 px-1.5 min-w-8";
|
|
627
684
|
readonly lg: "h-10 px-2.5 min-w-10";
|
|
685
|
+
readonly xl: "h-12 px-3 min-w-12";
|
|
628
686
|
};
|
|
629
687
|
type ToggleSize = keyof typeof toggleSizeClasses;
|
|
630
688
|
|
|
@@ -713,14 +771,9 @@ interface ScrollBarProps extends React.ComponentProps<"div"> {
|
|
|
713
771
|
}
|
|
714
772
|
declare function ScrollBar({ className, orientation, ...props }: ScrollBarProps): React.JSX.Element;
|
|
715
773
|
|
|
716
|
-
declare const sidebarMenuButtonVariantClasses: {
|
|
717
|
-
readonly default: "hover:bg-sidebar-accent hover:text-sidebar-accent-foreground";
|
|
718
|
-
readonly outline: "bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]";
|
|
719
|
-
};
|
|
720
|
-
type SidebarMenuButtonVariant = keyof typeof sidebarMenuButtonVariantClasses;
|
|
721
774
|
declare const sidebarMenuButtonSizeClasses: {
|
|
775
|
+
readonly xs: "h-7 text-xs";
|
|
722
776
|
readonly default: "h-8 text-sm";
|
|
723
|
-
readonly sm: "h-7 text-xs";
|
|
724
777
|
readonly lg: "h-12 text-sm group-data-[collapsible=icon]:p-0!";
|
|
725
778
|
};
|
|
726
779
|
type SidebarMenuButtonSize = keyof typeof sidebarMenuButtonSizeClasses;
|
|
@@ -762,7 +815,7 @@ declare function SidebarMenuItem({ className, ...props }: React.ComponentProps<"
|
|
|
762
815
|
interface SidebarMenuButtonProps extends React.ComponentProps<"button"> {
|
|
763
816
|
asChild?: boolean;
|
|
764
817
|
isActive?: boolean;
|
|
765
|
-
variant?:
|
|
818
|
+
variant?: ButtonVariant;
|
|
766
819
|
size?: SidebarMenuButtonSize;
|
|
767
820
|
}
|
|
768
821
|
declare function SidebarMenuButton({ asChild, isActive, variant, size, className, ...props }: SidebarMenuButtonProps): React.JSX.Element;
|
|
@@ -1322,11 +1375,11 @@ interface CalendarProps {
|
|
|
1322
1375
|
declare function Calendar({ selected, onSelect, month, defaultMonth, onMonthChange, today, className, }: CalendarProps): React.JSX.Element;
|
|
1323
1376
|
|
|
1324
1377
|
declare const toastVariantClasses: {
|
|
1325
|
-
readonly default: "bg-popover text-
|
|
1326
|
-
readonly success: "bg-popover text-
|
|
1327
|
-
readonly error: "bg-popover text-
|
|
1328
|
-
readonly info: "bg-popover text-
|
|
1329
|
-
readonly warning: "bg-popover text-
|
|
1378
|
+
readonly default: "bg-popover text-ink border-border";
|
|
1379
|
+
readonly success: "bg-popover text-ink border-positive/40";
|
|
1380
|
+
readonly error: "bg-popover text-ink border-accent-error/50";
|
|
1381
|
+
readonly info: "bg-popover text-ink border-border";
|
|
1382
|
+
readonly warning: "bg-popover text-ink border-border";
|
|
1330
1383
|
};
|
|
1331
1384
|
type ToastVariant = keyof typeof toastVariantClasses;
|
|
1332
1385
|
declare const positionClasses: {
|
|
@@ -1425,4 +1478,4 @@ interface ResizableHandleProps extends React.ComponentProps<"div"> {
|
|
|
1425
1478
|
}
|
|
1426
1479
|
declare function ResizableHandle({ className, index, withHandle, children, ...props }: ResizableHandleProps): React.JSX.Element;
|
|
1427
1480
|
|
|
1428
|
-
export { Accordion, AccordionContent, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, type AlertDialogActionProps, AlertDialogCancel, type AlertDialogCancelProps, AlertDialogContent, type AlertDialogContentProps, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, type AlertDialogOverlayProps, type AlertDialogProps, AlertDialogTitle, AlertDialogTrigger, type AlertDialogTriggerProps, type AlertProps, AlertTitle, type AlertVariant, type Align, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, type BadgeVariant, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, type BreadcrumbLinkProps, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, type ButtonGroupOrientation, type ButtonGroupProps, ButtonGroupSeparator, ButtonGroupText, type ButtonGroupTextProps, type ButtonProps, type ButtonSize, type ButtonVariant, type ButtonVariantsOptions, Calendar, type CalendarProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselEdgeFade, CarouselItem, CarouselNext, CarouselPrevious, type CarouselProps, type ChartConfig, ChartContainer, type ChartItem, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Checkbox, type CheckboxProps, Collapsible, CollapsibleContent, type CollapsibleProps, CollapsibleTrigger, Command, CommandDialog, type CommandDialogProps, CommandEmpty, CommandGroup, type CommandGroupProps, CommandInput, CommandItem, type CommandItemProps, CommandList, type CommandProps, CommandSeparator, CommandShortcut, Container, type ContainerProps, ContextMenu, ContextMenuCheckboxItem, type ContextMenuCheckboxItemProps, ContextMenuContent, ContextMenuGroup, ContextMenuItem, type ContextMenuItemProps, ContextMenuLabel, type ContextMenuLabelProps, ContextMenuPortal, type ContextMenuProps, ContextMenuRadioGroup, type ContextMenuRadioGroupProps, ContextMenuRadioItem, type ContextMenuRadioItemProps, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, type ContextMenuSubProps, ContextMenuSubTrigger, type ContextMenuSubTriggerProps, ContextMenuTrigger, type ContextMenuTriggerProps, Dialog, DialogClose, type DialogCloseProps, DialogContent, type DialogContentProps, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, type DialogOverlayProps, DialogPortal, type DialogPortalProps, type DialogProps, DialogTitle, DialogTrigger, type DialogTriggerProps, Drawer, DrawerClose, type DrawerCloseProps, DrawerContent, DrawerDescription, type DrawerDirection, DrawerFooter, DrawerHeader, DrawerOverlay, type DrawerProps, DrawerTitle, DrawerTrigger, type DrawerTriggerProps, DropdownMenu, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, DropdownMenuPortal, type DropdownMenuProps, DropdownMenuRadioGroup, type DropdownMenuRadioGroupProps, DropdownMenuRadioItem, type DropdownMenuRadioItemProps, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, type DropdownMenuSubProps, DropdownMenuSubTrigger, type DropdownMenuSubTriggerProps, DropdownMenuTrigger, type DropdownMenuTriggerProps, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, type EmptyMediaProps, type EmptyMediaVariant, EmptyTitle, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, type FieldOrientation, FieldSeparator, FieldSet, FieldTitle, type FloatingResult, Footer, type FooterLink, type FooterLinkGroup, type FooterOffice, type FooterProps, Forbidden, Form, FormControl, FormDescription, FormItem, FormLabel, FormMessage, HoverCard, HoverCardContent, type HoverCardContentProps, type HoverCardProps, HoverCardTrigger, type HoverCardTriggerProps, type HoverIntentHandlers, InfoTip, InfoTipContent, type InfoTipContentProps, type InfoTipProps, InfoTipTrigger, type InfoTipTriggerProps, Input, InputGroup, InputGroupAddon, type InputGroupAddonAlign, type InputGroupAddonProps, InputGroupButton, type InputGroupButtonProps, type InputGroupButtonSize, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, type InputOTPProps, InputOTPSeparator, InputOTPSlot, type InputOTPSlotProps, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, type ItemMediaProps, type ItemMediaVariant, type ItemProps, ItemSeparator, type ItemSize, ItemTitle, type ItemVariant, Kbd, KbdGroup, Label,
|
|
1481
|
+
export { Accordion, AccordionContent, AccordionItem, type AccordionItemProps, type AccordionProps, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, type AlertDialogActionProps, AlertDialogCancel, type AlertDialogCancelProps, AlertDialogContent, type AlertDialogContentProps, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, type AlertDialogOverlayProps, type AlertDialogProps, AlertDialogTitle, AlertDialogTrigger, type AlertDialogTriggerProps, type AlertProps, AlertTitle, type AlertVariant, type Align, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, type BadgeVariant, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, type BreadcrumbLinkProps, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, type ButtonGroupOrientation, type ButtonGroupProps, ButtonGroupSeparator, ButtonGroupText, type ButtonGroupTextProps, type ButtonProps, type ButtonSize, type ButtonVariant, type ButtonVariantsOptions, Calendar, type CalendarProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, CarouselContent, CarouselEdgeFade, CarouselItem, CarouselNext, CarouselPrevious, type CarouselProps, type ChartConfig, ChartContainer, type ChartItem, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, Check, Checkbox, type CheckboxProps, Collapsible, CollapsibleContent, type CollapsibleProps, CollapsibleTrigger, Command, CommandDialog, type CommandDialogProps, CommandEmpty, CommandGroup, type CommandGroupProps, CommandInput, CommandItem, type CommandItemProps, CommandList, type CommandProps, CommandSeparator, CommandShortcut, Container, type ContainerProps, ContextMenu, ContextMenuCheckboxItem, type ContextMenuCheckboxItemProps, ContextMenuContent, ContextMenuGroup, ContextMenuItem, type ContextMenuItemProps, ContextMenuLabel, type ContextMenuLabelProps, ContextMenuPortal, type ContextMenuProps, ContextMenuRadioGroup, type ContextMenuRadioGroupProps, ContextMenuRadioItem, type ContextMenuRadioItemProps, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, type ContextMenuSubProps, ContextMenuSubTrigger, type ContextMenuSubTriggerProps, ContextMenuTrigger, type ContextMenuTriggerProps, Dialog, DialogClose, type DialogCloseProps, DialogContent, type DialogContentProps, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, type DialogOverlayProps, DialogPortal, type DialogPortalProps, type DialogProps, DialogTitle, DialogTrigger, type DialogTriggerProps, Display, Drawer, DrawerClose, type DrawerCloseProps, DrawerContent, DrawerDescription, type DrawerDirection, DrawerFooter, DrawerHeader, DrawerOverlay, type DrawerProps, DrawerTitle, DrawerTrigger, type DrawerTriggerProps, DropdownMenu, DropdownMenuCheckboxItem, type DropdownMenuCheckboxItemProps, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, type DropdownMenuItemProps, DropdownMenuLabel, type DropdownMenuLabelProps, DropdownMenuPortal, type DropdownMenuProps, DropdownMenuRadioGroup, type DropdownMenuRadioGroupProps, DropdownMenuRadioItem, type DropdownMenuRadioItemProps, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, type DropdownMenuSubProps, DropdownMenuSubTrigger, type DropdownMenuSubTriggerProps, DropdownMenuTrigger, type DropdownMenuTriggerProps, Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, type EmptyMediaProps, type EmptyMediaVariant, EmptyTitle, Eyebrow, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, type FieldOrientation, FieldSeparator, FieldSet, FieldTitle, type FloatingResult, Footer, type FooterLink, type FooterLinkGroup, type FooterOffice, type FooterProps, Forbidden, Form, FormControl, FormDescription, FormItem, FormLabel, FormMessage, HoverCard, HoverCardContent, type HoverCardContentProps, type HoverCardProps, HoverCardTrigger, type HoverCardTriggerProps, type HoverIntentHandlers, InfoTip, InfoTipContent, type InfoTipContentProps, type InfoTipProps, InfoTipTrigger, type InfoTipTriggerProps, Input, InputGroup, InputGroupAddon, type InputGroupAddonAlign, type InputGroupAddonProps, InputGroupButton, type InputGroupButtonProps, type InputGroupButtonSize, InputGroupInput, InputGroupText, InputGroupTextarea, InputOTP, InputOTPGroup, type InputOTPProps, InputOTPSeparator, InputOTPSlot, type InputOTPSlotProps, Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, type ItemMediaProps, type ItemMediaVariant, type ItemProps, ItemSeparator, type ItemSize, ItemTitle, type ItemVariant, Kbd, KbdGroup, Label, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, type MenubarMenuProps, MenubarRadioGroup, type MenubarRadioGroupProps, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, type MenubarSubProps, MenubarSubTrigger, MenubarTrigger, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, type NavigationMenuItemProps, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, NotFound, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, type PaginationLinkProps, PaginationNext, PaginationPrevious, type Polarity, Popover, PopoverAnchor, type PopoverAnchorProps, PopoverContent, type PopoverContentProps, type PopoverProps, PopoverTrigger, type PopoverTriggerProps, Portal, type PortalProps, Progress, type ProgressProps, Prose, RadioGroup, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, type ResizableDirection, ResizableHandle, type ResizableHandleProps, ResizablePanel, ResizablePanelGroup, type ResizablePanelGroupProps, type ResizablePanelProps, ScrollArea, ScrollBar, type ScrollBarOrientation, type ScrollBarProps, Section, SectionDescriptor, type SectionDescriptorProps, SectionHead, type SectionHeadProps, type SectionProps, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, type SelectItemProps, SelectLabel, type SelectProps, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, type SelectValueProps, Separator, type SeparatorOrientation, type SeparatorProps, ServerError, type ServerErrorProps, Sheet, SheetClose, type SheetCloseProps, SheetContent, type SheetContentProps, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, type SheetOverlayProps, type SheetProps, SheetTitle, SheetTrigger, type SheetTriggerProps, type Side, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupContent, SidebarGroupLabel, type SidebarGroupLabelProps, SidebarHeader, SidebarInset, SidebarMenu, SidebarMenuButton, type SidebarMenuButtonProps, type SidebarMenuButtonSize, SidebarMenuItem, type SidebarProps, SidebarProvider, type SidebarProviderProps, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, type SliderProps, Slot, type SlotProps, Spinner, Stat, type StatProps, type StatusAccent, type StatusLinkData, type StatusPageProps, StatusScreen, type StatusScreenProps, type Surface, Switch, type SwitchProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, type TabsContentProps, TabsList, type TabsProps, TabsTrigger, type TabsTriggerProps, Textarea, type Toast, type ToastFn, type ToastOptions, type ToastPosition, type ToastState, type ToastVariant, Toaster, type ToasterProps, Toggle, ToggleGroup, ToggleGroupItem, type ToggleGroupItemProps, type ToggleGroupProps, type ToggleProps, type ToggleSize, type ToggleVariant, type ToggleVariantsOptions, Tooltip, TooltipContent, type TooltipContentProps, type TooltipProps, TooltipProvider, type TooltipProviderProps, TooltipTrigger, type TooltipTriggerProps, buttonVariants, cn, mergeRefs, navigationMenuTriggerStyle, statusCtaClass, toast, toggleVariants, useControllableState, useDismissableLayer, useFloating, useFocusScope, useHoverIntent, usePresence, useRovingFocus, useSidebar };
|