@lessly/ui 0.12.0 → 0.14.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 CHANGED
@@ -16,7 +16,7 @@ it is published to the public npm registry (npmjs.com).
16
16
  - **Components:** shadcn/radix primitives themed by Lessly tokens (Button,
17
17
  Dialog, Select, Tabs, …) plus layout: `Grid` / `Col` (the adaptive 4 / 8 / 12
18
18
  column grid) and `GridOverlay` (a design-aid overlay). The full catalog lives
19
- in Storybook at [ui.lessly.com](https://ui.lessly.com).
19
+ in Storybook at [ui.lessly.com/storybook](https://ui.lessly.com/storybook).
20
20
  - **Theme:** `useTheme` hook + `ThemeToggle` (toggles the `light` class on
21
21
  `<html>`; `:root` is dark, `.light` is light).
22
22
  - **Tokens:** the `tailwind-preset` re-exports the token vocabulary from
@@ -73,17 +73,22 @@ The Storybook toolbar has a global Dark/Light toggle driven by the package's own
73
73
 
74
74
  ## Deployment (ui.lessly.com)
75
75
 
76
- The Storybook is deployed via the Lessly static-service pipeline, which runs
77
- `pnpm build-storybook` and serves the resulting `storybook-static/`. The npm
78
- package build is `pnpm build` (tsup → `dist/`), which the release flow uses; the
79
- npm package published to npmjs always contains the package, never the Storybook site.
76
+ `ui.lessly.com` is served by a Lessly platform service that builds the repo's root
77
+ `Dockerfile` from `main`. The image runs the zero-dependency `site/server.mjs`, which
78
+ serves the landing page (`site/`) at `/`, the built Storybook (`storybook-static/`) at
79
+ `/storybook`, and a health check at `/healthz`. The Docker build runs `pnpm build`,
80
+ `pnpm build-storybook`, and `pnpm build-site` in turn.
81
+
82
+ The npm package build is `pnpm build` (tsup → `dist/`), which the release flow uses; the
83
+ npm package published to npmjs always contains the package, never the site or Storybook.
80
84
 
81
85
  ## Scripts
82
86
 
83
87
  | Script | Description |
84
88
  | --- | --- |
85
89
  | `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 |
86
- | `pnpm build-storybook` | Storybook static site → `storybook-static/` — what the static-service pipeline deploys to `ui.lessly.com` |
90
+ | `pnpm build-storybook` | Storybook static site → `storybook-static/` — served at `ui.lessly.com/storybook` by `site/server.mjs` |
91
+ | `pnpm build-site` | Landing app (`site/`) → `site/dist/` — served at `ui.lessly.com/` by `site/server.mjs` |
87
92
  | `pnpm storybook` | Storybook dev server on `http://localhost:6006` |
88
93
  | `pnpm test` | Vitest |
89
94
  | `pnpm type-check` | `tsc --noEmit` |
package/dist/index.d.ts CHANGED
@@ -615,6 +615,61 @@ interface EmptyStateProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, '
615
615
  }
616
616
  declare const EmptyState: React$1.ForwardRefExoticComponent<EmptyStateProps & React$1.RefAttributes<HTMLDivElement>>;
617
617
 
618
+ /**
619
+ * The pre-auth states every internal Google-Workspace-SSO app needs. This is the
620
+ * gate shown BEFORE the app chrome — the post-auth shell is `AppShell`.
621
+ *
622
+ * - `login` — brand, headline, "Continue with Google", domain-restriction note
623
+ * - `forbidden` — signed in, but not in the allowed group (a warning callout)
624
+ * - `error` — load/auth failure with a message + optional retry
625
+ * - `loading` — chromeless brand + spinner
626
+ */
627
+ type SignInScreenState = 'login' | 'forbidden' | 'error' | 'loading';
628
+ interface SignInScreenProps extends Omit<React$1.HTMLAttributes<HTMLDivElement>, 'title'> {
629
+ /** Which pre-auth state to render. Defaults to `login`. */
630
+ state?: SignInScreenState;
631
+ /** Brand mark shown at the top of the card (and centered in `loading`). Apps pass
632
+ * their own — e.g. a wordmark. */
633
+ brand: React$1.ReactNode;
634
+ /** Small uppercase eyebrow above the headline. Rendered on `login` only, where it
635
+ * orients without cluttering the error/forbidden headers. */
636
+ eyebrow?: React$1.ReactNode;
637
+ /** Headline. Falls back to a per-state default ("Sign in" / "Access restricted" /
638
+ * "Couldn't load"). */
639
+ title?: React$1.ReactNode;
640
+ /** One-line sub under the headline. Falls back to a per-state default. */
641
+ description?: React$1.ReactNode;
642
+ /** Google button label. Default "Continue with Google". */
643
+ googleLabel?: React$1.ReactNode;
644
+ /** Handler for the Google button (`login` state). */
645
+ onGoogle?: () => void;
646
+ /** Busy: disables the Google button and swaps it for a spinner + `signingInLabel`. */
647
+ signingIn?: boolean;
648
+ /** Label shown while `signingIn`. Default "Signing you in…". */
649
+ signingInLabel?: React$1.ReactNode;
650
+ /** Domain-restriction lock note (shown on `login` + `forbidden`). Pass the inner
651
+ * content — the lock icon is supplied. A `<code>` inside is styled as a chip. */
652
+ restriction?: React$1.ReactNode;
653
+ /** Body of the `forbidden` warning callout. */
654
+ forbidden?: React$1.ReactNode;
655
+ /** Body of the `error` danger callout. Falls back to a generic message. */
656
+ error?: React$1.ReactNode;
657
+ /** Retry handler shown as a button on the `error` state. Omit to hide the button. */
658
+ onRetry?: () => void;
659
+ /** Retry button label. Default "Try again". */
660
+ retryLabel?: React$1.ReactNode;
661
+ /** Label for the `loading` state. Default "Loading…". */
662
+ loadingLabel?: React$1.ReactNode;
663
+ /** Muted footer signature. Default "Supercharged by Lessly"; pass `null` to hide. */
664
+ footer?: React$1.ReactNode;
665
+ }
666
+ /**
667
+ * Full-screen pre-auth gate for internal Google Workspace SSO apps. Renders no app
668
+ * chrome. Theme-aware via kit tokens (dark leans on a border + glow ground, light on
669
+ * an elevation shadow); the glow/card treatment tokens live in the kit's styles.css.
670
+ */
671
+ declare const SignInScreen: React$1.ForwardRefExoticComponent<SignInScreenProps & React$1.RefAttributes<HTMLDivElement>>;
672
+
618
673
  interface CopyButtonProps extends Omit<ButtonProps, 'value'> {
619
674
  value: string;
620
675
  label?: string;
@@ -885,6 +940,51 @@ type SidebarProductHeaderProps = SidebarProductHeaderOwnProps & Omit<React$1.Com
885
940
  * which anchors a `MenuPopup` at left:12 with the default sideOffset, no alignOffset. */
886
941
  declare const SidebarProductHeader: React$1.ForwardRefExoticComponent<SidebarProductHeaderProps & React$1.RefAttributes<HTMLButtonElement>>;
887
942
 
943
+ interface OrgProductSwitcherItem {
944
+ id: string;
945
+ name: string;
946
+ /** Optional leading mark. Falls back to a lettered tile built from `name`. */
947
+ icon?: React$1.ReactNode;
948
+ }
949
+ /** A row in the menu's footer action group — e.g. Create product, Product settings, Org
950
+ * settings. `href` renders a link (right-click / new-tab work); otherwise `onSelect` fires. */
951
+ interface OrgProductSwitcherAction {
952
+ id: string;
953
+ label: string;
954
+ icon?: React$1.ReactNode;
955
+ onSelect?: () => void;
956
+ href?: string;
957
+ }
958
+ interface OrgProductSwitcherProps {
959
+ /** All organizations the user can switch to. */
960
+ organizations: OrgProductSwitcherItem[];
961
+ activeOrgId: string;
962
+ onOrgSelect: (id: string) => void;
963
+ /** Products for the ACTIVE org. The consumer re-supplies these when the org changes. */
964
+ products: OrgProductSwitcherItem[];
965
+ activeProductId: string;
966
+ onProductSelect: (id: string) => void;
967
+ /** Footer actions below the products (Create product, Product settings, …). The group and
968
+ * its divider render only when this is non-empty — the consumer owns which rows appear. */
969
+ actions?: OrgProductSwitcherAction[];
970
+ /** Accessible name for the trigger. Defaults to `"<org> / <product>"`. */
971
+ 'aria-label'?: string;
972
+ className?: string;
973
+ }
974
+ /**
975
+ * Compound organization·product switcher for the sidebar header (#81): a single control that
976
+ * shows the current **org** as a label above the current **product**, and opens one menu to
977
+ * switch either — Organizations, then the active org's Products.
978
+ *
979
+ * Presentational: the consumer owns selection state and re-supplies `products` +
980
+ * `activeProductId` for the newly-selected org. Wiring org/product switches to routing is the
981
+ * consumer's job.
982
+ */
983
+ declare function OrgProductSwitcher({ organizations, activeOrgId, onOrgSelect, products, activeProductId, onProductSelect, actions, className, ...props }: OrgProductSwitcherProps): React$1.JSX.Element;
984
+ declare namespace OrgProductSwitcher {
985
+ var displayName: string;
986
+ }
987
+
888
988
  /** A slot's native attributes plus an explicit `data-*` index, so an object literal like
889
989
  * `{ 'data-testid': 'drill-back' }` passes excess-property checking — plain
890
990
  * `React.HTMLAttributes` does not declare `data-*` as a named property. */
@@ -993,6 +1093,29 @@ interface ColProps extends React$1.HTMLAttributes<HTMLDivElement> {
993
1093
  }
994
1094
  declare const Col: React$1.ForwardRefExoticComponent<ColProps & React$1.RefAttributes<HTMLDivElement>>;
995
1095
 
1096
+ /**
1097
+ * Dependency-free syntax highlighter for docs/consumer code snippets. A single
1098
+ * ordered-alternation regex per language tokenizes the source into typed runs;
1099
+ * no prism/shiki. Fidelity is "good enough for short snippets", and the public
1100
+ * API is stable so the engine can be swapped later. Generalized from the
1101
+ * landing page's local highlighter (ui.lessly.com #62).
1102
+ */
1103
+ type CodeLang = 'tsx' | 'ts' | 'bash' | 'json' | 'css';
1104
+ interface CodeBlockProps extends React$1.HTMLAttributes<HTMLPreElement> {
1105
+ code: string;
1106
+ lang?: CodeLang;
1107
+ /** Show a copy button in the header (frames the block). */
1108
+ copy?: boolean;
1109
+ /** Optional filename caption in the header (frames the block). */
1110
+ filename?: string;
1111
+ /** Scroll long lines instead of wrapping (default: wrap). */
1112
+ scroll?: boolean;
1113
+ }
1114
+ declare const CodeBlock: React$1.ForwardRefExoticComponent<CodeBlockProps & React$1.RefAttributes<HTMLPreElement>>;
1115
+ type CodeProps = React$1.HTMLAttributes<HTMLElement>;
1116
+ /** Inline code — a styled `<code>` for prose (`<Code>@lessly/ui</Code>`). */
1117
+ declare const Code: React$1.ForwardRefExoticComponent<CodeProps & React$1.RefAttributes<HTMLElement>>;
1118
+
996
1119
  interface GridOverlayProps extends React$1.HTMLAttributes<HTMLDivElement> {
997
1120
  /** Number of columns to paint (e.g. 4, 8 or 12). Fixed, viewport-independent. */
998
1121
  columns: number;
@@ -1159,4 +1282,150 @@ interface CreateProductWindowProps {
1159
1282
  }
1160
1283
  declare function CreateProductWindow({ organizations, selectedOrgId, products, productsLoading, submitting, error, onOrganizationChange, onEnterProduct, onSubmit, }: CreateProductWindowProps): React$1.JSX.Element;
1161
1284
 
1162
- 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, type CreateProductSubmit, CreateProductWindow, type CreateProductWindowOrganization, type CreateProductWindowProduct, type CreateProductWindowProps, 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, FeedbackButton, type FeedbackButtonLabels, type FeedbackButtonProps, 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, SidebarBackHeader, type SidebarBackHeaderProps, 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 };
1285
+ /** FYI / Important / Critical the one severity vocabulary. */
1286
+ type NotificationSeverity = 'critical' | 'important' | 'fyi';
1287
+ /**
1288
+ * How the item behaves, not how loud it is. `informational` settles when read,
1289
+ * `actionable` waits on a decision, `ephemeral` is ambient progress and never
1290
+ * settles.
1291
+ */
1292
+ type NotificationClass = 'informational' | 'actionable' | 'ephemeral';
1293
+ /**
1294
+ * Short aliases. The prefixed names above are primary — `Severity` on its own is
1295
+ * too generic for a package-root export to own — but both spellings are public.
1296
+ */
1297
+ type Severity = NotificationSeverity;
1298
+ type NotifClass = NotificationClass;
1299
+ interface NotificationAction {
1300
+ id: string;
1301
+ label: string;
1302
+ /**
1303
+ * `primary` and `destructive` render as chips — they are the deliberate
1304
+ * decision pair. Everything else is flush text. Default `link`.
1305
+ */
1306
+ variant?: 'primary' | 'destructive' | 'link';
1307
+ }
1308
+ /** A durable destination. Survives into the archive after the row settles. */
1309
+ interface NotificationDeepLink {
1310
+ label: string;
1311
+ href?: string;
1312
+ }
1313
+ interface NotificationItem {
1314
+ id: string;
1315
+ title: string;
1316
+ /** Provenance — the module that raised it, e.g. "Ship". Renders as the eyebrow. */
1317
+ source: string;
1318
+ severity: NotificationSeverity;
1319
+ body?: string;
1320
+ /** Default `informational`. */
1321
+ cls?: NotificationClass;
1322
+ read?: boolean;
1323
+ /**
1324
+ * The receipt for a handled item, e.g. "Approved by artur". Its presence is
1325
+ * what makes a row settled: the row dims and one-time actions drop off.
1326
+ */
1327
+ receipt?: string;
1328
+ createdAt?: string | Date;
1329
+ deepLink?: NotificationDeepLink;
1330
+ /** One-time actions. Dropped once settled — the receipt replaces them. */
1331
+ actions?: NotificationAction[];
1332
+ /** Optional grouping key for the centre's product filter. */
1333
+ product?: string;
1334
+ }
1335
+ type NotificationThreshold = 'everything' | 'important' | 'critical only';
1336
+ interface NotificationSubscription {
1337
+ id: string;
1338
+ name: string;
1339
+ scope: 'org' | 'product';
1340
+ }
1341
+ interface NotificationPreferences {
1342
+ thresholds: Record<string, NotificationThreshold>;
1343
+ }
1344
+ interface NotificationMute {
1345
+ source: string;
1346
+ /** Pre-formatted, e.g. "42m left". Counting down is a timer — not our job. */
1347
+ label: string;
1348
+ }
1349
+ interface NotificationProduct {
1350
+ id: string;
1351
+ label: string;
1352
+ }
1353
+ declare const severityLabels: Record<NotificationSeverity, string>;
1354
+ declare function severityBadgeVariant(severity: NotificationSeverity): 'destructive' | 'warning' | 'secondary';
1355
+ /**
1356
+ * Reads a stamp as a relative age. `now` is injectable so the components stay
1357
+ * testable and consumers can substitute an absolute or localized formatter; the
1358
+ * default reads the clock once during render, which is not a timer.
1359
+ */
1360
+ declare function formatRelativeAge(createdAt: string | Date, now?: Date): string;
1361
+ /**
1362
+ * A settled item is one that has been dealt with: it dims, keeps its deep link
1363
+ * and drops its one-time actions. Ephemeral items are ambient progress — they
1364
+ * are never "handled", so they never settle.
1365
+ */
1366
+ declare function isNotificationSettled(item: NotificationItem): boolean;
1367
+
1368
+ interface NotificationBellProps {
1369
+ items: NotificationItem[];
1370
+ /** Defaults to the count of unread, non-ephemeral items. */
1371
+ unreadCount?: number;
1372
+ /** Rows shown in the popover. Default 5. */
1373
+ maxItems?: number;
1374
+ /**
1375
+ * Reported when the consumer's own row affordance marks a single item read.
1376
+ * The default row surfaces the item through `onItemClick`; this exists so a
1377
+ * host that renders its own control has the callback the model expects.
1378
+ */
1379
+ onMarkRead?(id: string): void;
1380
+ onMarkAllRead?(): void;
1381
+ onItemClick?(item: NotificationItem): void;
1382
+ onActionClick?(item: NotificationItem, action: NotificationAction): void;
1383
+ /** Header gear. Rendered only when supplied. */
1384
+ onOpenSettings?(): void;
1385
+ /** Footer link. Rendered only when supplied and there is at least one item. */
1386
+ onOpenArchive?(): void;
1387
+ open?: boolean;
1388
+ onOpenChange?(open: boolean): void;
1389
+ /** Override the default relative-age label. */
1390
+ formatAge?(createdAt: Date): string;
1391
+ className?: string;
1392
+ }
1393
+ declare const NotificationBell: React$1.ForwardRefExoticComponent<NotificationBellProps & React$1.RefAttributes<HTMLButtonElement>>;
1394
+
1395
+ interface NotificationCenterProps {
1396
+ items: NotificationItem[];
1397
+ title?: string;
1398
+ description?: React$1.ReactNode;
1399
+ /** Source filter chips. Derived from `items` when omitted. */
1400
+ sources?: string[];
1401
+ /** Product filter chips. Rendered only when supplied. */
1402
+ products?: NotificationProduct[];
1403
+ searchable?: boolean;
1404
+ pageSize?: number;
1405
+ onItemClick?(item: NotificationItem): void;
1406
+ onDeepLinkClick?(item: NotificationItem): void;
1407
+ /** "Read all". Rendered only when supplied. */
1408
+ onMarkAllRead?(): void;
1409
+ /** Override the default relative-age label. */
1410
+ formatAge?(createdAt: Date): string;
1411
+ className?: string;
1412
+ }
1413
+ declare const NotificationCenter: React$1.ForwardRefExoticComponent<NotificationCenterProps & React$1.RefAttributes<HTMLDivElement>>;
1414
+
1415
+ interface NotificationSettingsProps {
1416
+ subscriptions: NotificationSubscription[];
1417
+ /** Keyed by product id, plus the required `default` key. */
1418
+ value: Record<string, NotificationPreferences>;
1419
+ onChange(next: Record<string, NotificationPreferences>): void;
1420
+ products?: NotificationProduct[];
1421
+ soundEnabled?: boolean;
1422
+ onSoundEnabledChange?(v: boolean): void;
1423
+ mutes?: NotificationMute[];
1424
+ onUnmute?(source: string): void;
1425
+ /** The "Push to" area. Falls back to the not-connected notice. */
1426
+ pushSlot?: React$1.ReactNode;
1427
+ className?: string;
1428
+ }
1429
+ declare const NotificationSettings: React$1.ForwardRefExoticComponent<NotificationSettingsProps & React$1.RefAttributes<HTMLDivElement>>;
1430
+
1431
+ 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, Code, CodeBlock, type CodeBlockProps, type CodeLang, type CodeProps, 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, type CreateProductSubmit, CreateProductWindow, type CreateProductWindowOrganization, type CreateProductWindowProduct, type CreateProductWindowProps, 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, FeedbackButton, type FeedbackButtonLabels, type FeedbackButtonProps, 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, type NotifClass, type NotificationAction, NotificationBell, type NotificationBellProps, NotificationCenter, type NotificationCenterProps, type NotificationClass, type NotificationDeepLink, type NotificationItem, type NotificationMute, type NotificationPreferences, type NotificationProduct, NotificationSettings, type NotificationSettingsProps, type NotificationSeverity, type NotificationSubscription, type NotificationThreshold, OrgProductSwitcher, type OrgProductSwitcherAction, type OrgProductSwitcherItem, type OrgProductSwitcherProps, 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, type Severity, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, SidebarBackHeader, type SidebarBackHeaderProps, SidebarNav, SidebarNavLink, type SidebarNavLinkProps, type SidebarNavProps, SidebarProductHeader, type SidebarProductHeaderProps, SignInScreen, type SignInScreenProps, type SignInScreenState, 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, formatRelativeAge, isKnownExtensionIcon, isNotificationSettled, navigationMenuTriggerStyle, segmentChipVariants, severityBadgeVariant, severityLabels, statusDotVariants, toggleVariants, useCarousel, useFormField, useIsMobile, useSidebar, useTheme };