@glasshome/ui 0.5.4 → 1.0.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.
Files changed (75) hide show
  1. package/README.md +59 -25
  2. package/dist/index.d.ts +10 -3
  3. package/dist/index.js +9 -9
  4. package/dist/lib/alert-tones.d.ts +18 -0
  5. package/dist/lib/badge-tone.d.ts +2 -0
  6. package/dist/lib/button-variants.d.ts +6 -16
  7. package/dist/lib/card-classes.d.ts +19 -0
  8. package/dist/lib/glass-tone.d.ts +2 -0
  9. package/dist/lib/input-classes.d.ts +2 -0
  10. package/dist/lib/logo-lockup.d.ts +38 -0
  11. package/dist/lib/overlay-classes.d.ts +2 -0
  12. package/dist/lib/section-tokens.d.ts +4 -0
  13. package/dist/lib/tier-badge.d.ts +13 -0
  14. package/dist/solid/alert-dialog.d.ts +1 -3
  15. package/dist/solid/alert.d.ts +2 -11
  16. package/dist/solid/badge.d.ts +11 -46
  17. package/dist/solid/bottom-sheet/bottom-sheet.d.ts +1 -1
  18. package/dist/solid/bottom-sheet/constants.d.ts +0 -1
  19. package/dist/solid/bottom-sheet/drag-controller.d.ts +1 -1
  20. package/dist/solid/bottom-sheet/index.d.ts +1 -2
  21. package/dist/solid/breadcrumb.d.ts +1 -1
  22. package/dist/solid/button-group.d.ts +2 -2
  23. package/dist/solid/button.d.ts +1 -1
  24. package/dist/solid/card.d.ts +10 -2
  25. package/dist/solid/carousel.d.ts +1 -1
  26. package/dist/solid/charts.d.ts +45 -0
  27. package/dist/solid/count-pill.d.ts +10 -0
  28. package/dist/solid/data-table.d.ts +66 -0
  29. package/dist/solid/dock.d.ts +3 -0
  30. package/dist/solid/entity-data.d.ts +52 -0
  31. package/dist/solid/field.d.ts +1 -1
  32. package/dist/solid/form.d.ts +1 -1
  33. package/dist/solid/index.d.ts +74 -64
  34. package/dist/solid/index.js +11050 -10848
  35. package/dist/solid/input-group.d.ts +1 -1
  36. package/dist/solid/item.d.ts +3 -2
  37. package/dist/solid/logo.d.ts +23 -0
  38. package/dist/solid/number-field.d.ts +3 -0
  39. package/dist/solid/overlay.d.ts +3 -0
  40. package/dist/solid/page-header.d.ts +18 -0
  41. package/dist/solid/popover.d.ts +7 -1
  42. package/dist/solid/scope-indicator.d.ts +8 -0
  43. package/dist/solid/section-card.d.ts +54 -0
  44. package/dist/solid/select.d.ts +1 -18
  45. package/dist/solid/settings-row.d.ts +34 -0
  46. package/dist/solid/sliding-indicator.d.ts +32 -0
  47. package/dist/solid/sonner.d.ts +35 -4
  48. package/dist/solid/spinner.d.ts +2 -1
  49. package/dist/solid/switch.d.ts +1 -1
  50. package/dist/solid/toggle-group.d.ts +1 -1
  51. package/dist/solid/widget-card.d.ts +29 -0
  52. package/dist/solid/widget-identity.d.ts +47 -0
  53. package/dist/solid/widget-trust-badge.d.ts +16 -0
  54. package/dist/tokens/index.d.ts +3 -3
  55. package/dist/tokens/index.js +11 -11
  56. package/dist/tokens/presets.d.ts +1 -1
  57. package/dist/{utils-JJqwPy_d.js → utils-gbdcvo14.js} +598 -506
  58. package/package.json +38 -17
  59. package/scripts/check-tokens.ts +60 -0
  60. package/scripts/check-ui-drift.mjs +116 -0
  61. package/src/astro/Alert.astro +63 -0
  62. package/src/astro/Badge.astro +16 -0
  63. package/src/astro/Button.astro +43 -0
  64. package/src/astro/Card.astro +39 -0
  65. package/src/astro/Logo.astro +69 -0
  66. package/src/astro/TierBadge.astro +33 -0
  67. package/src/styles/globals.css +157 -0
  68. package/src/styles/theme.css +68 -12
  69. package/dist/solid/calendar.d.ts +0 -17
  70. package/dist/solid/command.d.ts +0 -24
  71. package/dist/solid/drawer.d.ts +0 -22
  72. package/dist/solid/glass-effect.d.ts +0 -6
  73. package/dist/solid/menubar.d.ts +0 -25
  74. package/dist/solid/navigation-menu.d.ts +0 -19
  75. package/dist/solid/sidebar.d.ts +0 -108
@@ -0,0 +1,66 @@
1
+ import { type JSX } from "solid-js";
2
+ /**
3
+ * Generic data-table vocabulary: sticky-less header, row height/padding, border
4
+ * treatment, hover, numeric alignment, toolbar (search/filter/sort), bulk bar,
5
+ * and empty/loading/error states. Each list renders its own row markup but
6
+ * shares these primitives + class tokens. Presentational only — no app data.
7
+ *
8
+ * Tables live inside a card; go edge-to-edge with `TABLE_BLEED` (cancels the
9
+ * card's p-3) and re-add the inset via the cell padding tokens.
10
+ */
11
+ export declare const TABLE_BLEED = "-mx-3 border-border/50 border-t";
12
+ export declare const TABLE_CELL_X = "px-4";
13
+ export declare const TABLE_ROW_CLASS = "flex items-center gap-4 border-border/50 border-b px-4 py-2.5 transition-colors last:border-b-0 hover:bg-foreground/[0.03]";
14
+ export declare const TABLE_HEAD_CLASS = "flex items-center gap-4 border-border/50 border-b px-4 py-2";
15
+ export declare const TABLE_HEAD_CELL_CLASS = "font-medium text-muted-foreground text-xs";
16
+ export declare const TABLE_SCROLL_CLASS = "max-h-[600px] overflow-auto";
17
+ export declare const TABLE_NUM_CELL_CLASS = "text-right text-muted-foreground text-xs tabular-nums";
18
+ export type SortDirection = "asc" | "desc";
19
+ /** Toolbar filter dropdown, built on the Select. Leading filter icon, h-9. Pass
20
+ * `label` to render an option key as display text (include counts there). */
21
+ export declare function TableFilterSelect(props: {
22
+ options: readonly string[];
23
+ value: string;
24
+ onChange: (value: string) => void;
25
+ label: (value: string) => string;
26
+ ariaLabel: string;
27
+ class?: string;
28
+ }): JSX.Element;
29
+ /** Toolbar search box: leading icon, h-9, trailing clear. Debounce in caller. */
30
+ export declare function TableSearchInput(props: {
31
+ value: string;
32
+ onInput: (value: string) => void;
33
+ placeholder: string;
34
+ label: string;
35
+ class?: string;
36
+ }): JSX.Element;
37
+ /** Sortable column header button. `align="end"` for numeric columns. */
38
+ export declare function TableSortHeader(props: {
39
+ label: string;
40
+ active: boolean;
41
+ dir: SortDirection;
42
+ onClick: () => void;
43
+ align?: "start" | "end";
44
+ class?: string;
45
+ }): JSX.Element;
46
+ /** Centered empty state inside the table body. `icon` takes JSX or an iconify name. */
47
+ export declare function TableEmpty(props: {
48
+ icon?: JSX.Element | string;
49
+ message: JSX.Element;
50
+ action?: JSX.Element;
51
+ }): JSX.Element;
52
+ /** Inline error state with a Retry button. */
53
+ export declare function TableError(props: {
54
+ message: JSX.Element;
55
+ onRetry: () => void;
56
+ }): JSX.Element;
57
+ /** Table-shaped loading skeleton: N rows at the shared row height. */
58
+ export declare function TableSkeleton(props: {
59
+ count?: number;
60
+ class?: string;
61
+ }): JSX.Element;
62
+ /** Bulk-action bar above the rows when a selection is active. */
63
+ export declare function TableBulkBar(props: {
64
+ class?: string;
65
+ children: JSX.Element;
66
+ }): JSX.Element;
@@ -7,6 +7,8 @@ interface DockItem {
7
7
  label: string;
8
8
  onClick?: () => void;
9
9
  isActive?: boolean;
10
+ /** Optional count badge on the item (e.g. pending updates). */
11
+ badge?: number;
10
12
  }
11
13
  interface DockProps extends ComponentProps<"div"> {
12
14
  items: DockItem[];
@@ -18,6 +20,7 @@ interface DockIconButtonProps extends ComponentProps<"button"> {
18
20
  }> | JSX.Element;
19
21
  label: string;
20
22
  isActive?: boolean;
23
+ badge?: number;
21
24
  }
22
25
  declare const Dock: Component<DockProps>;
23
26
  export type { DockIconButtonProps, DockItem, DockProps };
@@ -0,0 +1,52 @@
1
+ import { type Accessor } from "solid-js";
2
+ /**
3
+ * Structural view types for the smart-home pickers (EntitySelector,
4
+ * AreaPicker). They are subsets of @glasshome/sync-layer's EntityView /
5
+ * AreaView, owned here so the design system carries no dependency on the HA
6
+ * data runtime: the host supplies a live implementation through
7
+ * EntityDataContext (dash wires sync-layer in; the dev gallery wires static
8
+ * demo data).
9
+ */
10
+ export interface EntityViewLike {
11
+ id: string;
12
+ /** Current state value (e.g. "on", "21.5"). */
13
+ state: string;
14
+ /** Entity name (registry name or friendly_name). */
15
+ name: string;
16
+ friendlyName: string;
17
+ aliases: readonly string[];
18
+ areaId: string | null;
19
+ /** Resolved icon name (e.g. "mdi:lightbulb"). */
20
+ icon: string | null;
21
+ /** "config" | "diagnostic" for non-primary entities, null for regular ones. */
22
+ entityCategory: string | null;
23
+ isHidden: boolean;
24
+ isDisabled: boolean;
25
+ deviceClass?: string | null;
26
+ unitOfMeasurement?: string | null;
27
+ }
28
+ export interface AreaViewLike {
29
+ id: string;
30
+ name: string;
31
+ icon: string | null;
32
+ entityIds: readonly string[];
33
+ }
34
+ /**
35
+ * Live entity/area data source provided by the host app. All members are
36
+ * reactive under Solid tracking scopes; `useEntities` is a lazy subscription
37
+ * keyed on the id list, so a picker only subscribes to what it shows.
38
+ */
39
+ export interface EntityDataAdapter {
40
+ /** Entity ids grouped by domain (e.g. { light: ["light.kitchen"] }). */
41
+ entityIdsByDomain: Accessor<Record<string, string[]>>;
42
+ /** Subscribe to live views for a reactive id list. */
43
+ useEntities(entityIds: Accessor<string[]>): Accessor<EntityViewLike[]>;
44
+ /** Point read of one entity's live view; reactive when called in a tracking scope. */
45
+ getEntityView(entityId: string): EntityViewLike | undefined;
46
+ /** All areas of the home. */
47
+ useAreas(): Accessor<AreaViewLike[]>;
48
+ }
49
+ export declare const EntityDataContext: import("solid-js").Context<EntityDataAdapter | undefined>;
50
+ /** Host apps call this once at startup; EntityDataContext overrides it per-tree. */
51
+ export declare function provideEntityData(adapter: EntityDataAdapter): void;
52
+ export declare function useEntityData(): EntityDataAdapter;
@@ -1,6 +1,6 @@
1
1
  import { type VariantProps } from "cva";
2
2
  import { type Component, type ComponentProps, type ParentComponent } from "solid-js";
3
- import { Label } from "./label";
3
+ import { Label } from "./label.js";
4
4
  declare const FieldSet: Component<ComponentProps<"fieldset">>;
5
5
  declare const FieldLegend: Component<ComponentProps<"legend"> & {
6
6
  variant?: "legend" | "label";
@@ -1,5 +1,5 @@
1
1
  import { type Component, type ComponentProps, type ParentComponent } from "solid-js";
2
- import { Label } from "./label";
2
+ import { Label } from "./label.js";
3
3
  declare const Form: ParentComponent<ComponentProps<"form"> & {
4
4
  errors?: Record<string, string>;
5
5
  onSetError?: (name: string, error: string) => void;
@@ -1,65 +1,75 @@
1
1
  export { type Color, parseColor } from "@kobalte/core/colors";
2
- export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, } from "./accordion";
3
- export { Alert, type AlertTone, AlertDescription, AlertTitle } from "./alert";
4
- export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, } from "./alert-dialog";
5
- export { AreaPicker } from "./area-picker";
6
- export { AspectRatio } from "./aspect-ratio";
7
- export { Avatar, AvatarFallback, AvatarImage } from "./avatar";
8
- export { Badge, badgeVariants, TierBadge } from "./badge";
9
- export { BottomSheet, BottomSheetBody, BottomSheetClose, BottomSheetContent, BottomSheetDescription, BottomSheetFooter, BottomSheetHandle, BottomSheetHeader, BottomSheetOverlay, BottomSheetPortal, BottomSheetTitle, BottomSheetTrigger, } from "./bottom-sheet";
10
- export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, } from "./breadcrumb";
11
- export { Button, buttonVariants } from "./button";
12
- export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants, } from "./button-group";
13
- export type { CalendarProps, DateRange } from "./calendar";
14
- export { Calendar } from "./calendar";
15
- export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "./card";
16
- export type { CarouselApi } from "./carousel";
17
- export { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, } from "./carousel";
18
- export { Checkbox } from "./checkbox";
19
- export { Collapsible, CollapsibleContent, CollapsibleTrigger, } from "./collapsible";
20
- export { ColorSlider } from "./color-slider";
21
- export { ColorWheel } from "./color-wheel";
22
- export { Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, } from "./command";
23
- export { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, } from "./context-menu";
24
- export { CopyButton } from "./copy-button";
25
- export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "./dialog";
26
- export type { DockIconButtonProps, DockItem, DockProps } from "./dock";
27
- export { Dock } from "./dock";
28
- export { Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerTitle, DrawerTrigger, } from "./drawer";
29
- export { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuTrigger, } from "./dropdown-menu";
30
- export { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, } from "./empty";
31
- export { EntitySelector } from "./entity-selector";
32
- export { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, } from "./field";
33
- export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField, } from "./form";
34
- export { GlassEffect, GlassFilter } from "./glass-effect";
35
- export { HoverCard, HoverCardContent, HoverCardTrigger, } from "./hover-card";
36
- export { Input } from "./input";
37
- export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, } from "./input-group";
38
- export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, } from "./input-otp";
39
- export { Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, } from "./item";
40
- export { Kbd, KbdGroup } from "./kbd";
41
- export { Label } from "./label";
42
- export { Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, } from "./menubar";
43
- export { NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, navigationMenuTriggerStyle, } from "./navigation-menu";
44
- export { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, } from "./pagination";
45
- export { Popover, PopoverAnchor, PopoverContent, PopoverTrigger, } from "./popover";
46
- export { Progress } from "./progress";
47
- export { RadioGroup, RadioGroupItem } from "./radio-group";
48
- export { ResizableHandle, ResizablePanel, ResizablePanelGroup, } from "./resizable";
49
- export { ResponsiveDialog, ResponsiveDialogClose, ResponsiveDialogContent, ResponsiveDialogDescription, ResponsiveDialogFooter, ResponsiveDialogHeader, ResponsiveDialogTitle, ResponsiveDialogTrigger, } from "./responsive-dialog";
50
- export { SchemaForm } from "./schema-form";
51
- export { ScrollArea, ScrollBar } from "./scroll-area";
52
- export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, } from "./select";
53
- export { Separator } from "./separator";
54
- export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, } from "./sheet";
55
- export { Skeleton } from "./skeleton";
56
- export { Slider } from "./slider";
57
- export { Toaster, toast } from "./sonner";
58
- export { Spinner } from "./spinner";
59
- export { Switch } from "./switch";
60
- export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, } from "./table";
61
- export { Tabs, TabsContent, TabsList, TabsTrigger } from "./tabs";
62
- export { Textarea } from "./textarea";
63
- export { Toggle, toggleVariants } from "./toggle";
64
- export { ToggleGroup, ToggleGroupItem } from "./toggle-group";
65
- export { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip";
2
+ export { OVERLAY_SURFACE } from "../lib/overlay-classes.js";
3
+ export { SECTION_INNER_RADIUS, SECTION_OUTER_RADIUS, SECTION_PADDING, SECTION_ROW_CLASS, } from "../lib/section-tokens.js";
4
+ export { Accordion, AccordionContent, AccordionItem, AccordionTrigger, } from "./accordion.js";
5
+ export { Alert, AlertDescription, AlertTitle, type AlertTone } from "./alert.js";
6
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogTitle, AlertDialogTrigger, } from "./alert-dialog.js";
7
+ export { AreaPicker } from "./area-picker.js";
8
+ export { AspectRatio } from "./aspect-ratio.js";
9
+ export { Avatar, AvatarFallback, AvatarImage } from "./avatar.js";
10
+ export { Badge, TierBadge } from "./badge.js";
11
+ export { BottomSheet, BottomSheetBody, BottomSheetClose, BottomSheetContent, BottomSheetDescription, BottomSheetFooter, BottomSheetHandle, BottomSheetHeader, BottomSheetOverlay, BottomSheetPortal, BottomSheetTitle, BottomSheetTrigger, } from "./bottom-sheet/index.js";
12
+ export { Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, } from "./breadcrumb.js";
13
+ export { Button, buttonVariants } from "./button.js";
14
+ export { ButtonGroup, ButtonGroupSeparator, ButtonGroupText, buttonGroupVariants, } from "./button-group.js";
15
+ export { Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "./card.js";
16
+ export type { CarouselApi } from "./carousel.js";
17
+ export { Carousel, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, } from "./carousel.js";
18
+ export { AreaChart, BarList, formatBytes, formatCompact, RangeToggle, StackedBar, } from "./charts.js";
19
+ export { Checkbox } from "./checkbox.js";
20
+ export { Collapsible, CollapsibleContent, CollapsibleTrigger, } from "./collapsible.js";
21
+ export { ColorSlider } from "./color-slider.js";
22
+ export { ColorWheel } from "./color-wheel.js";
23
+ export { ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, } from "./context-menu.js";
24
+ export { CopyButton } from "./copy-button.js";
25
+ export { CountPill } from "./count-pill.js";
26
+ export { type SortDirection, TABLE_BLEED, TABLE_CELL_X, TABLE_HEAD_CELL_CLASS, TABLE_HEAD_CLASS, TABLE_NUM_CELL_CLASS, TABLE_ROW_CLASS, TABLE_SCROLL_CLASS, TableBulkBar, TableEmpty, TableError, TableFilterSelect, TableSearchInput, TableSkeleton, TableSortHeader, } from "./data-table.js";
27
+ export { Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, } from "./dialog.js";
28
+ export type { DockIconButtonProps, DockItem, DockProps } from "./dock.js";
29
+ export { Dock } from "./dock.js";
30
+ export { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuRadioGroup, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuTrigger, } from "./dropdown-menu.js";
31
+ export { Empty, EmptyContent, EmptyDescription, EmptyHeader, EmptyMedia, EmptyTitle, } from "./empty.js";
32
+ export { type AreaViewLike, type EntityDataAdapter, EntityDataContext, type EntityViewLike, provideEntityData, useEntityData, } from "./entity-data.js";
33
+ export { EntitySelector } from "./entity-selector.js";
34
+ export { Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, } from "./field.js";
35
+ export { Form, FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, useFormField, } from "./form.js";
36
+ export { HoverCard, HoverCardContent, HoverCardTrigger, } from "./hover-card.js";
37
+ export { Input } from "./input.js";
38
+ export { InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, } from "./input-group.js";
39
+ export { InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, } from "./input-otp.js";
40
+ export { Item, ItemActions, ItemContent, ItemDescription, ItemFooter, ItemGroup, ItemHeader, ItemMedia, ItemSeparator, ItemTitle, } from "./item.js";
41
+ export { Kbd, KbdGroup } from "./kbd.js";
42
+ export { Label } from "./label.js";
43
+ export { Logo } from "./logo.js";
44
+ export { NumberField } from "./number-field.js";
45
+ export { Overlay } from "./overlay.js";
46
+ export { PageHeader } from "./page-header.js";
47
+ export { Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, } from "./pagination.js";
48
+ export { Popover, PopoverAnchor, PopoverContent, PopoverTrigger, } from "./popover.js";
49
+ export { Progress } from "./progress.js";
50
+ export { RadioGroup, RadioGroupItem } from "./radio-group.js";
51
+ export { ResizableHandle, ResizablePanel, ResizablePanelGroup, } from "./resizable.js";
52
+ export { ResponsiveDialog, ResponsiveDialogClose, ResponsiveDialogContent, ResponsiveDialogDescription, ResponsiveDialogFooter, ResponsiveDialogHeader, ResponsiveDialogTitle, ResponsiveDialogTrigger, } from "./responsive-dialog.js";
53
+ export { SchemaForm } from "./schema-form.js";
54
+ export { ScopeIndicator } from "./scope-indicator.js";
55
+ export { ScrollArea, ScrollBar } from "./scroll-area.js";
56
+ export { type GlassSurface, SectionCard, SectionIcon, SectionLabel, SectionMeta, SectionRow, SectionRowSkeleton, SectionRowSkeletons, SectionSubtitle, SectionTitle, } from "./section-card.js";
57
+ export { Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectSeparator, SelectTrigger, SelectValue, } from "./select.js";
58
+ export { Separator } from "./separator.js";
59
+ export { LabeledField, LabeledInput, RowActions, SectionAddButton, SectionEmpty, SwitchRow, } from "./settings-row.js";
60
+ export { Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, } from "./sheet.js";
61
+ export { Skeleton } from "./skeleton.js";
62
+ export { Slider } from "./slider.js";
63
+ export { SlidingIndicator } from "./sliding-indicator.js";
64
+ export { GlassToast, Toaster, toast } from "./sonner.js";
65
+ export { Spinner } from "./spinner.js";
66
+ export { Switch } from "./switch.js";
67
+ export { Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, } from "./table.js";
68
+ export { Tabs, TabsContent, TabsList, TabsTrigger } from "./tabs.js";
69
+ export { Textarea } from "./textarea.js";
70
+ export { Toggle, toggleVariants } from "./toggle.js";
71
+ export { ToggleGroup, ToggleGroupItem } from "./toggle-group.js";
72
+ export { Tooltip, TooltipContent, TooltipTrigger } from "./tooltip.js";
73
+ export { WidgetCard } from "./widget-card.js";
74
+ export { formatWidgetCount, WidgetIdentity, WidgetMeta, type WidgetSummary, widgetHref, } from "./widget-identity.js";
75
+ export { WidgetTrustBadge } from "./widget-trust-badge.js";