@lessly/ui 0.4.1 → 0.6.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/README.md +29 -12
- package/dist/index.d.ts +119 -5
- package/dist/index.js +356 -93
- package/dist/styles.css +690 -106
- package/dist/tailwind-preset.d.ts +4 -394
- package/dist/tailwind-preset.js +4 -425
- package/package.json +9 -2
package/README.md
CHANGED
|
@@ -6,20 +6,25 @@ Module Federation host provides to federation extension remotes at runtime, and
|
|
|
6
6
|
it is published to the public npm registry (npmjs.com).
|
|
7
7
|
|
|
8
8
|
> **Contract:** the package name (`@lessly/ui`), its exports (`.`,
|
|
9
|
-
> `./tailwind-preset`, `./styles.css`), and its
|
|
10
|
-
>
|
|
11
|
-
> host and every federation
|
|
9
|
+
> `./tailwind-preset`, `./styles.css`), and its peer dependencies (React 19,
|
|
10
|
+
> react-router 7, optional `tailwindcss >=3.4`) are a cross-project contract. Do
|
|
11
|
+
> not change them without coordinating the workspace host and every federation
|
|
12
|
+
> remote.
|
|
12
13
|
|
|
13
14
|
## What's inside
|
|
14
15
|
|
|
15
|
-
- **Components:**
|
|
16
|
-
Select,
|
|
16
|
+
- **Components:** shadcn/radix primitives themed by Lessly tokens (Button,
|
|
17
|
+
Dialog, Select, Tabs, …) plus layout: `Grid` / `Col` (the adaptive 4 / 8 / 12
|
|
18
|
+
column grid) and `GridOverlay` (a design-aid overlay). The full catalog lives
|
|
19
|
+
in Storybook at [ui.lessly.com](https://ui.lessly.com).
|
|
17
20
|
- **Theme:** `useTheme` hook + `ThemeToggle` (toggles the `light` class on
|
|
18
21
|
`<html>`; `:root` is dark, `.light` is light).
|
|
19
|
-
- **Tokens:** `tailwind-preset`
|
|
20
|
-
`
|
|
21
|
-
|
|
22
|
-
|
|
22
|
+
- **Tokens:** the `tailwind-preset` re-exports the token vocabulary from
|
|
23
|
+
[`@lessly/tokens`](https://www.npmjs.com/package/@lessly/tokens) (generated
|
|
24
|
+
upstream in `lessly-hub/design-system`) with `darkMode: 'class'` added, and
|
|
25
|
+
`styles.css` bundles the package's `theme.css` (CSS variables, `.light`
|
|
26
|
+
overrides, typography classes) plus this library's fonts and base layer.
|
|
27
|
+
Token values are never edited here — they change by bumping `@lessly/tokens`.
|
|
23
28
|
|
|
24
29
|
## Install
|
|
25
30
|
|
|
@@ -37,13 +42,25 @@ import { Button, useTheme } from '@lessly/ui';
|
|
|
37
42
|
import '@lessly/ui/styles.css';
|
|
38
43
|
```
|
|
39
44
|
|
|
40
|
-
Your app's Tailwind config must use the preset so token utilities resolve
|
|
45
|
+
Your app's Tailwind config must use the preset so token utilities resolve. The
|
|
46
|
+
preset needs Tailwind CSS >= 3.4 (declared as an optional peer dependency —
|
|
47
|
+
only required if you consume the preset):
|
|
41
48
|
|
|
42
49
|
```ts
|
|
43
50
|
import { lesslyPreset } from '@lessly/ui/tailwind-preset';
|
|
44
|
-
export default {
|
|
51
|
+
export default {
|
|
52
|
+
presets: [lesslyPreset],
|
|
53
|
+
// Scan the library too — its components (Grid, Col, …) use literal token
|
|
54
|
+
// utilities (`md:col-span-5`, `gap-gutter`) that Tailwind must see to generate.
|
|
55
|
+
content: ['./src/**/*.{ts,tsx}', './node_modules/@lessly/ui/dist/**/*.js'],
|
|
56
|
+
};
|
|
45
57
|
```
|
|
46
58
|
|
|
59
|
+
CSS variables use the upstream unprefixed names (`--bg-primary`,
|
|
60
|
+
`--text-primary`, …). The old `--color-*` names still resolve through a
|
|
61
|
+
deprecated alias layer in `styles.css` and will be removed in the next major —
|
|
62
|
+
migrate any direct `var(--color-*)` reads.
|
|
63
|
+
|
|
47
64
|
## Storybook
|
|
48
65
|
|
|
49
66
|
```bash
|
|
@@ -65,7 +82,7 @@ npm package published to npmjs always contains the package, never the Storybook
|
|
|
65
82
|
|
|
66
83
|
| Script | Description |
|
|
67
84
|
| --- | --- |
|
|
68
|
-
| `pnpm build` | tsup package build → `dist/` (+
|
|
85
|
+
| `pnpm build` | tsup package build → `dist/` (+ assembles `styles.css` from the @lessly/tokens theme, deprecated `--color-*` aliases, ui-local pieces, and the animation layer) — the npm package published to npmjs |
|
|
69
86
|
| `pnpm build-storybook` | Storybook static site → `storybook-static/` — what the static-service pipeline deploys to `ui.lessly.com` |
|
|
70
87
|
| `pnpm storybook` | Storybook dev server on `http://localhost:6006` |
|
|
71
88
|
| `pnpm test` | Vitest |
|
package/dist/index.d.ts
CHANGED
|
@@ -652,6 +652,8 @@ declare function ConfirmDialog({ open, onOpenChange, trigger, title, description
|
|
|
652
652
|
|
|
653
653
|
interface UserMenuUser {
|
|
654
654
|
name: string;
|
|
655
|
+
/** Second line of the row. The shipped rail shows the org name here. */
|
|
656
|
+
subtitle?: string;
|
|
655
657
|
email?: string;
|
|
656
658
|
avatarUrl?: string;
|
|
657
659
|
}
|
|
@@ -822,10 +824,22 @@ declare function SidebarNav({ items, collapsed, basePath, LinkComponent, isItemA
|
|
|
822
824
|
|
|
823
825
|
interface AppSidebarProps {
|
|
824
826
|
items: NavItem[];
|
|
827
|
+
/** Expanded-slot mark/wordmark, rendered when `header` is absent. Also the collapsed-rail
|
|
828
|
+
* fallback when `logoCollapsed` isn't given — see `logoCollapsed`. */
|
|
825
829
|
logo?: React$1.ReactNode;
|
|
830
|
+
/** Collapsed-rail identity — a small mark, shown overlaid by the pin on hover/focus when
|
|
831
|
+
* `collapsible`. A collapsible rail should supply this (or `logo`): `header` is expanded-only
|
|
832
|
+
* and is never read while collapsed, so without a mark the collapsed rail shows just the pin. */
|
|
826
833
|
logoCollapsed?: React$1.ReactNode;
|
|
834
|
+
/** Identity slot above the rail — e.g. a <SidebarProductHeader/>. Falls back to `logo`.
|
|
835
|
+
* Expanded-only: rendering it in the 52px collapsed rail would overflow, so the collapsed
|
|
836
|
+
* branch never reads it — supply `logoCollapsed` (or `logo`) for that state instead. */
|
|
827
837
|
header?: React$1.ReactNode;
|
|
838
|
+
/** Account slot below the rail — e.g. a <UserMenu/>. Its divider renders only with it. */
|
|
828
839
|
footer?: React$1.ReactNode;
|
|
840
|
+
/** Render the built-in collapse pin. Off by default: the shipped rail has none.
|
|
841
|
+
* `collapsed` is still honoured without it, for consumers driving collapse themselves. */
|
|
842
|
+
collapsible?: boolean;
|
|
829
843
|
collapsed?: boolean;
|
|
830
844
|
defaultCollapsed?: boolean;
|
|
831
845
|
onCollapsedChange?: (collapsed: boolean) => void;
|
|
@@ -834,7 +848,38 @@ interface AppSidebarProps {
|
|
|
834
848
|
isItemActive?: (item: NavItem, pathname: string) => boolean;
|
|
835
849
|
className?: string;
|
|
836
850
|
}
|
|
837
|
-
declare function AppSidebar({ items, logo, logoCollapsed, header, footer, collapsed: controlled, defaultCollapsed, onCollapsedChange, basePath, LinkComponent, isItemActive, className, }: AppSidebarProps): React$1.JSX.Element;
|
|
851
|
+
declare function AppSidebar({ items, logo, logoCollapsed, header, footer, collapsible, collapsed: controlled, defaultCollapsed, onCollapsedChange, basePath, LinkComponent, isItemActive, className, }: AppSidebarProps): React$1.JSX.Element;
|
|
852
|
+
|
|
853
|
+
interface SidebarProductHeaderOwnProps {
|
|
854
|
+
/** Product name. Rendered at 13/600, truncated. */
|
|
855
|
+
name: string;
|
|
856
|
+
/** Leading mark, rendered in a fixed 28px box (the shipped tile). */
|
|
857
|
+
icon?: React$1.ReactNode;
|
|
858
|
+
/** Right-aligned adornment. Defaults to the 14px ChevronsUpDown of the shipped header;
|
|
859
|
+
* pass `null` for none. */
|
|
860
|
+
trailing?: React$1.ReactNode;
|
|
861
|
+
className?: string;
|
|
862
|
+
}
|
|
863
|
+
/** Render the single child element instead of a button — e.g. a MenuPopup trigger.
|
|
864
|
+
* The header composes its content from props, so the child's own children are replaced. */
|
|
865
|
+
type SidebarProductHeaderProps = SidebarProductHeaderOwnProps & Omit<React$1.ComponentPropsWithoutRef<'button'>, 'children' | 'name'> & ({
|
|
866
|
+
asChild: true;
|
|
867
|
+
children: React$1.ReactElement;
|
|
868
|
+
} | {
|
|
869
|
+
asChild?: false;
|
|
870
|
+
children?: never;
|
|
871
|
+
});
|
|
872
|
+
/** Identity row for the sidebar header slot: product tile + name, opening the product menu.
|
|
873
|
+
*
|
|
874
|
+
* Deliberately inert on hover — no background, no transition — unlike the rail rows below
|
|
875
|
+
* it. `rounded-xl` is not dead weight despite nothing tinting the box: this declares no
|
|
876
|
+
* focus-visible ring, so the UA default ring is the only focus affordance, and that ring
|
|
877
|
+
* follows border-radius.
|
|
878
|
+
*
|
|
879
|
+
* Pair with `AppSidebar`'s `header` slot: the slot's 12px sides plus this trigger's own 6px
|
|
880
|
+
* land the tile at 18px, while the trigger's box stays flush with the rail rows at 12px —
|
|
881
|
+
* which anchors a `MenuPopup` at left:12 with the default sideOffset, no alignOffset. */
|
|
882
|
+
declare const SidebarProductHeader: React$1.ForwardRefExoticComponent<SidebarProductHeaderProps & React$1.RefAttributes<HTMLButtonElement>>;
|
|
838
883
|
|
|
839
884
|
interface AppShellProps {
|
|
840
885
|
/** The sidebar, typically an <AppSidebar/>. Rendered in the desktop rail and,
|
|
@@ -848,6 +893,73 @@ declare function AppShell({ sidebar, topBar, children, className }: AppShellProp
|
|
|
848
893
|
/** Alias of AppShell — reads better in app router files. */
|
|
849
894
|
declare const AuthenticatedLayout: typeof AppShell;
|
|
850
895
|
|
|
896
|
+
/**
|
|
897
|
+
* Grid — the adaptive 4 / 8 / 12 column container. Column count switches at the
|
|
898
|
+
* token breakpoints (4 below md, 8 at md/768, 12 at xl/1280). Gutter, side
|
|
899
|
+
* margins and the max-width are tokenised: `gap-gutter`, `px-grid-*` and
|
|
900
|
+
* `max-w-container` are var-backed by @lessly/tokens theme.css (--grid-*).
|
|
901
|
+
* Place <Col> children inside.
|
|
902
|
+
*
|
|
903
|
+
* The grid owns the container — it centres and caps content at the container
|
|
904
|
+
* token (1440) by default. Set `fluid` for a full-bleed row that keeps the
|
|
905
|
+
* gutter and side margins but drops the max-width cap.
|
|
906
|
+
*
|
|
907
|
+
* Note: the token utilities are custom theme keys tailwind-merge doesn't
|
|
908
|
+
* classify, so a `className` like `px-6` or `gap-2` does NOT replace them —
|
|
909
|
+
* both classes are emitted and CSS source order decides. Don't override the
|
|
910
|
+
* grid's spacing via className; use `fluid` or wrap the grid instead.
|
|
911
|
+
*/
|
|
912
|
+
interface GridProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
913
|
+
/** Drop the max-width cap for a full-bleed row (gutter + margins stay). */
|
|
914
|
+
fluid?: boolean;
|
|
915
|
+
/** Render as the child element via Radix Slot instead of a div. */
|
|
916
|
+
asChild?: boolean;
|
|
917
|
+
}
|
|
918
|
+
declare const Grid: React$1.ForwardRefExoticComponent<GridProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
919
|
+
|
|
920
|
+
/**
|
|
921
|
+
* Col — a child of <Grid>. Spans columns of the adaptive 4 / 8 / 12 track using
|
|
922
|
+
* literal `col-span-*` / `col-start-*` classes. Pure CSS: no context, no
|
|
923
|
+
* measurement.
|
|
924
|
+
*
|
|
925
|
+
* Spans and offsets are expressed as literal Tailwind classes (never CSS
|
|
926
|
+
* variables), so the values are visible to Tailwind's content scanner. The
|
|
927
|
+
* lookup maps below hold every class as a verbatim string for that reason — do
|
|
928
|
+
* NOT rebuild them with template literals (`col-span-${n}`), which the JIT would
|
|
929
|
+
* never see and so would never generate.
|
|
930
|
+
*/
|
|
931
|
+
/** Constant across tiers (number) or set per breakpoint ({ base, md, xl }). */
|
|
932
|
+
type Responsive = number | {
|
|
933
|
+
base?: number;
|
|
934
|
+
md?: number;
|
|
935
|
+
xl?: number;
|
|
936
|
+
};
|
|
937
|
+
interface ColProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
938
|
+
/**
|
|
939
|
+
* Columns to span. Number = same on every tier, clamped to each tier's column
|
|
940
|
+
* count (with a dev warning past a tier's max — express full width as
|
|
941
|
+
* `{ base: 4, md: 8, xl: 12 }` instead of `12`); object = per breakpoint.
|
|
942
|
+
*/
|
|
943
|
+
span?: Responsive;
|
|
944
|
+
/**
|
|
945
|
+
* Leading empty columns (→ col-start). Number or per-breakpoint object.
|
|
946
|
+
* Clamped per tier (with a dev warning) so offset + span stay inside the
|
|
947
|
+
* tier's track instead of forcing an implicit column.
|
|
948
|
+
*/
|
|
949
|
+
offset?: Responsive;
|
|
950
|
+
/** Render as the child element via Radix Slot instead of a div. */
|
|
951
|
+
asChild?: boolean;
|
|
952
|
+
}
|
|
953
|
+
declare const Col: React$1.ForwardRefExoticComponent<ColProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
954
|
+
|
|
955
|
+
interface GridOverlayProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
956
|
+
/** Number of columns to paint (e.g. 4, 8 or 12). Fixed, viewport-independent. */
|
|
957
|
+
columns: number;
|
|
958
|
+
/** Also paint the baseline rhythm (horizontal lines) behind the columns. */
|
|
959
|
+
baseline?: boolean;
|
|
960
|
+
}
|
|
961
|
+
declare const GridOverlay: React$1.ForwardRefExoticComponent<GridOverlayProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
962
|
+
|
|
851
963
|
declare const segmentChipVariants: (props?: ({
|
|
852
964
|
kind?: "granted" | "own" | "pending" | "available" | null | undefined;
|
|
853
965
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
@@ -880,9 +992,11 @@ interface ConnectionCardProps extends React$1.HTMLAttributes<HTMLDivElement> {
|
|
|
880
992
|
action?: React$1.ReactNode;
|
|
881
993
|
/**
|
|
882
994
|
* Blast-radius disclosure. Some providers (GitHub, ClickUp) grant all-or-nothing
|
|
883
|
-
* access to the whole external org — there is no per-repo/per-space permission,
|
|
884
|
-
*
|
|
885
|
-
*
|
|
995
|
+
* access to the whole external org — there is no per-repo/per-space permission,
|
|
996
|
+
* and the vended credential genuinely reaches the whole external org. Copy passed
|
|
997
|
+
* here must state that blast radius honestly (e.g. "Full org access — any product
|
|
998
|
+
* granted this connection can reach every repository"); do NOT claim the segment
|
|
999
|
+
* is enforced by Lessly — for these providers it is not.
|
|
886
1000
|
*/
|
|
887
1001
|
access?: React$1.ReactNode;
|
|
888
1002
|
/**
|
|
@@ -919,4 +1033,4 @@ interface RequestRowProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, '
|
|
|
919
1033
|
}
|
|
920
1034
|
declare const RequestRow: React$1.ForwardRefExoticComponent<RequestRowProps & React$1.RefAttributes<HTMLDivElement>>;
|
|
921
1035
|
|
|
922
|
-
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppShell, type AppShellProps, AppSidebar, type AppSidebarProps, AspectRatio, AuthenticatedLayout, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, type ButtonProps, Calendar, type CalendarProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, type CarouselContextProps, CarouselItem, CarouselNext, type CarouselOptions, type CarouselPlugin, CarouselPrevious, type CarouselProps, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ConfirmDialog, type ConfirmDialogProps, type ConnectionAuth, ConnectionCard, type ConnectionCardProps, type ConnectionScope, type ConnectionStatus, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CopyButton, type CopyButtonProps, DatePicker, type DatePickerProps, type DeltaDirection, type DeltaTone, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DocsLink, type DocsLinkProps, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateProps, ExtensionIcon, type ExtensionIconProps, ExtensionLink, type ExtensionLinkProps, type ExtensionLinkUiMode, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, HoverCard, HoverCardContent, HoverCardTrigger, InlineError, type InlineErrorProps, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, type InputProps, Label, MenuDivider, MenuPopup, type MenuPopupProps, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, type NavItem, type NavLinkComponent, NavRow, type NavRowProps, type NavRowVariant, NavSectionLabel, type NavSectionLabelProps, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, type PaginationLinkProps, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, RequestRow, type RequestRowProps, type RequestState, type RequestSurface, type ResolvedTheme, ScrollArea, ScrollBar, SectionIntro, type SectionIntroProps, SegmentChip, type SegmentChipProps, Select, type SelectOption, type SelectProps, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, SidebarNav, SidebarNavLink, type SidebarNavLinkProps, type SidebarNavProps, Skeleton, Slider, StatCard, type StatCardProps, StatusDot, type StatusDotProps, Switch, type SwitchProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type TextareaProps, type Theme, ThemeToggle, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UseSidebarOptions, type UseSidebarResult, UserMenu, type UserMenuItem, type UserMenuProps, type UserMenuUser, alertVariants, badgeVariants, buttonVariants, cn, isKnownExtensionIcon, navigationMenuTriggerStyle, segmentChipVariants, statusDotVariants, toggleVariants, useCarousel, useFormField, useIsMobile, useSidebar, useTheme };
|
|
1036
|
+
export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, AppShell, type AppShellProps, AppSidebar, type AppSidebarProps, AspectRatio, AuthenticatedLayout, Avatar, AvatarFallback, AvatarImage, Badge, type BadgeProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, type ButtonProps, Calendar, type CalendarProps, Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Carousel, type CarouselApi, CarouselContent, type CarouselContextProps, CarouselItem, CarouselNext, type CarouselOptions, type CarouselPlugin, CarouselPrevious, type CarouselProps, Checkbox, Col, type ColProps, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ConfirmDialog, type ConfirmDialogProps, type ConnectionAuth, ConnectionCard, type ConnectionCardProps, type ConnectionScope, type ConnectionStatus, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, CopyButton, type CopyButtonProps, DatePicker, type DatePickerProps, type DeltaDirection, type DeltaTone, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DocsLink, type DocsLinkProps, Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateProps, ExtensionIcon, type ExtensionIconProps, ExtensionLink, type ExtensionLinkProps, type ExtensionLinkUiMode, Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, Grid, GridOverlay, type GridOverlayProps, type GridProps, HoverCard, HoverCardContent, HoverCardTrigger, InlineError, type InlineErrorProps, Input, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, type InputProps, Label, MenuDivider, MenuPopup, type MenuPopupProps, Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarPortal, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, type NavItem, type NavLinkComponent, NavRow, type NavRowProps, type NavRowVariant, NavSectionLabel, type NavSectionLabelProps, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, type PaginationLinkProps, PaginationNext, PaginationPrevious, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, Progress, RadioGroup, RadioGroupItem, RequestRow, type RequestRowProps, type RequestState, type RequestSurface, type ResolvedTheme, type Responsive, ScrollArea, ScrollBar, SectionIntro, type SectionIntroProps, SegmentChip, type SegmentChipProps, Select, type SelectOption, type SelectProps, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, SidebarNav, SidebarNavLink, type SidebarNavLinkProps, type SidebarNavProps, SidebarProductHeader, type SidebarProductHeaderProps, Skeleton, Slider, StatCard, type StatCardProps, StatusDot, type StatusDotProps, Switch, type SwitchProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Textarea, type TextareaProps, type Theme, ThemeToggle, Toaster, Toggle, ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, type UseSidebarOptions, type UseSidebarResult, UserMenu, type UserMenuItem, type UserMenuProps, type UserMenuUser, alertVariants, badgeVariants, buttonVariants, cn, isKnownExtensionIcon, navigationMenuTriggerStyle, segmentChipVariants, statusDotVariants, toggleVariants, useCarousel, useFormField, useIsMobile, useSidebar, useTheme };
|