@loykin/designkit 0.0.1-dev.1 → 0.0.1-dev.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React$1 from 'react';
3
- import React__default, { ComponentType } from 'react';
3
+ import React__default, { ComponentType, CSSProperties, ReactNode } from 'react';
4
4
  import { Avatar as Avatar$1 } from '@base-ui/react/avatar';
5
5
  import * as class_variance_authority_types from 'class-variance-authority/types';
6
6
  import { useRender } from '@base-ui/react/use-render';
@@ -237,7 +237,7 @@ declare function TabsContent({ className, ...props }: Tabs$2.Panel.Props): react
237
237
 
238
238
  type ShellId = 'sidebar' | 'header';
239
239
  type DensityId = 'compact' | 'default' | 'comfortable';
240
- type TemplateId = 'table' | 'table-infinity' | 'table-drag' | 'table-card' | 'table-card-list' | 'tabbed' | 'form' | 'form-stacked' | 'form-wizard' | 'form-inline' | 'databody' | 'databody-detail' | 'databody-split' | 'sectioned' | 'typography' | 'colors' | 'login' | 'login-forgot' | 'login-reset' | 'login-otp';
240
+ type TemplateId = 'table' | 'table-infinity' | 'table-drag' | 'table-card' | 'table-card-list' | 'tabbed' | 'form' | 'form-stacked' | 'form-wizard' | 'form-inline' | 'databody' | 'databody-detail' | 'databody-split' | 'sectioned' | 'typography' | 'colors' | 'login' | 'login-forgot' | 'login-reset' | 'login-otp' | 'dashboard' | 'workbench-panel-editor' | 'workbench-sql-editor' | 'workbench-agent-chat' | 'browse' | 'detail' | 'detail-record' | 'detail-full' | 'list-detail';
241
241
  interface GlobalTheme {
242
242
  radius: number;
243
243
  primaryHue: number;
@@ -266,6 +266,71 @@ interface ThemeState {
266
266
  setTemplate: (template: TemplateId) => void;
267
267
  }
268
268
 
269
+ interface DashboardPanelProps {
270
+ title?: string;
271
+ description?: string;
272
+ loading?: boolean;
273
+ error?: string | null;
274
+ transparent?: boolean;
275
+ /** Edit mode — shows drag handle and grab cursor on the header */
276
+ editable?: boolean;
277
+ className?: string;
278
+ style?: CSSProperties;
279
+ children?: ReactNode;
280
+ headerRight?: ReactNode;
281
+ }
282
+ declare const DashboardPanel: React$1.ForwardRefExoticComponent<DashboardPanelProps & React$1.RefAttributes<HTMLDivElement>>;
283
+ interface DashboardBodyTemplateProps {
284
+ theme?: CSSProperties;
285
+ className?: string;
286
+ title?: ReactNode;
287
+ description?: ReactNode;
288
+ topBar?: ReactNode;
289
+ toolbar?: ReactNode;
290
+ /** Variable bar — rendered as a separate strip between the header and content */
291
+ variableBar?: ReactNode;
292
+ children?: ReactNode;
293
+ contentClassName?: string;
294
+ }
295
+ declare function DashboardBodyTemplate({ theme, className, title, description, topBar, toolbar, variableBar, children, contentClassName, }: DashboardBodyTemplateProps): react_jsx_runtime.JSX.Element;
296
+
297
+ interface WorkbenchBodyTemplateProps {
298
+ theme?: CSSProperties;
299
+ className?: string;
300
+ contentClassName?: string;
301
+ title?: ReactNode;
302
+ description?: ReactNode;
303
+ topBar?: ReactNode;
304
+ /** Right side of the built-in workbench header. Prefer this over toolbar for new code. */
305
+ headerRight?: ReactNode;
306
+ /** @deprecated Use headerRight. */
307
+ toolbar?: ReactNode;
308
+ actions?: ReactNode;
309
+ leftPane?: ReactNode;
310
+ mainPane?: ReactNode;
311
+ rightPane?: ReactNode;
312
+ bottomPane?: ReactNode;
313
+ children?: ReactNode;
314
+ resizable?: boolean;
315
+ leftPaneCollapsed?: boolean;
316
+ rightPaneCollapsed?: boolean;
317
+ bottomPaneCollapsed?: boolean;
318
+ leftPaneWidth?: number;
319
+ rightPaneWidth?: number;
320
+ bottomPaneHeight?: number;
321
+ minLeftPaneWidth?: number;
322
+ maxLeftPaneWidth?: number;
323
+ minRightPaneWidth?: number;
324
+ maxRightPaneWidth?: number;
325
+ minBottomPaneHeight?: number;
326
+ maxBottomPaneHeight?: number;
327
+ leftPaneClassName?: string;
328
+ mainPaneClassName?: string;
329
+ rightPaneClassName?: string;
330
+ bottomPaneClassName?: string;
331
+ }
332
+ declare function WorkbenchBodyTemplate({ theme, className, contentClassName, title, description, topBar, headerRight, toolbar, actions, leftPane, mainPane, rightPane, bottomPane, children, resizable, leftPaneCollapsed, rightPaneCollapsed, bottomPaneCollapsed, leftPaneWidth, rightPaneWidth, bottomPaneHeight, minLeftPaneWidth, maxLeftPaneWidth, minRightPaneWidth, maxRightPaneWidth, minBottomPaneHeight, maxBottomPaneHeight, leftPaneClassName, mainPaneClassName, rightPaneClassName, bottomPaneClassName, }: WorkbenchBodyTemplateProps): react_jsx_runtime.JSX.Element;
333
+
269
334
  interface DataBodyTabProps {
270
335
  id: string;
271
336
  label: React__default.ReactNode;
@@ -300,6 +365,7 @@ interface DataBodyGroupProps {
300
365
  description?: React__default.ReactNode;
301
366
  actions?: React__default.ReactNode;
302
367
  danger?: boolean;
368
+ className?: string;
303
369
  children?: React__default.ReactNode;
304
370
  }
305
371
  declare function DataBodyGroup(props: DataBodyGroupProps): react_jsx_runtime.JSX.Element;
@@ -342,6 +408,99 @@ declare const DataBodyTemplate: typeof Root$1 & {
342
408
  Field: typeof DataBodyField;
343
409
  };
344
410
 
411
+ interface BrowseBodyTemplateProps {
412
+ theme?: React__default.CSSProperties;
413
+ className?: string;
414
+ topBar?: React__default.ReactNode;
415
+ title?: React__default.ReactNode;
416
+ description?: React__default.ReactNode;
417
+ actions?: React__default.ReactNode;
418
+ sidebar: React__default.ReactNode;
419
+ sidebarTitle?: string;
420
+ sidebarWidth?: string;
421
+ toolbar?: React__default.ReactNode;
422
+ footer?: React__default.ReactNode;
423
+ contentClassName?: string;
424
+ children?: React__default.ReactNode;
425
+ }
426
+ declare function BrowseBodyTemplate({ theme, className, topBar, title, description, actions, sidebar, sidebarTitle, sidebarWidth, toolbar, footer, contentClassName, children, }: BrowseBodyTemplateProps): react_jsx_runtime.JSX.Element;
427
+
428
+ type DetailBodyVariant = 'media' | 'record' | 'full';
429
+ interface DetailBodyTemplateProps {
430
+ variant?: DetailBodyVariant;
431
+ theme?: React__default.CSSProperties;
432
+ className?: string;
433
+ topBar?: React__default.ReactNode;
434
+ header?: React__default.ReactNode;
435
+ lead?: React__default.ReactNode;
436
+ eyebrow?: React__default.ReactNode;
437
+ title?: React__default.ReactNode;
438
+ description?: React__default.ReactNode;
439
+ status?: React__default.ReactNode;
440
+ actions?: React__default.ReactNode;
441
+ media?: React__default.ReactNode;
442
+ aside?: React__default.ReactNode;
443
+ summary?: React__default.ReactNode;
444
+ stickyAside?: boolean;
445
+ contentClassName?: string;
446
+ mediaClassName?: string;
447
+ asideClassName?: string;
448
+ children?: React__default.ReactNode;
449
+ }
450
+ interface DetailBodyHeaderProps {
451
+ eyebrow?: React__default.ReactNode;
452
+ title?: React__default.ReactNode;
453
+ description?: React__default.ReactNode;
454
+ status?: React__default.ReactNode;
455
+ actions?: React__default.ReactNode;
456
+ compact?: boolean;
457
+ className?: string;
458
+ }
459
+ declare function DetailBodyHeader({ eyebrow, title, description, status, actions, compact, className, }: DetailBodyHeaderProps): react_jsx_runtime.JSX.Element;
460
+ interface DetailBodyTabProps {
461
+ id: string;
462
+ label: React__default.ReactNode;
463
+ count?: number;
464
+ disabled?: boolean;
465
+ children?: React__default.ReactNode;
466
+ }
467
+ declare function DetailBodyTab(_props: DetailBodyTabProps): null;
468
+ interface DetailBodySectionProps {
469
+ title?: React__default.ReactNode;
470
+ description?: React__default.ReactNode;
471
+ actions?: React__default.ReactNode;
472
+ surface?: 'plain' | 'card' | 'bordered';
473
+ className?: string;
474
+ children?: React__default.ReactNode;
475
+ }
476
+ declare function DetailBodySection({ title, description, actions, surface, className, children, }: DetailBodySectionProps): react_jsx_runtime.JSX.Element;
477
+ declare function DetailBodyTemplateRoot({ variant, theme, className, topBar, header, lead, eyebrow, title, description, status, actions, media, aside, summary, stickyAside, contentClassName, mediaClassName, asideClassName, children, }: DetailBodyTemplateProps): react_jsx_runtime.JSX.Element;
478
+ declare const DetailBodyTemplate: typeof DetailBodyTemplateRoot & {
479
+ Header: typeof DetailBodyHeader;
480
+ Tab: typeof DetailBodyTab;
481
+ Section: typeof DetailBodySection;
482
+ };
483
+
484
+ interface ListDetailBodyTemplateProps {
485
+ theme?: CSSProperties;
486
+ className?: string;
487
+ topBar?: ReactNode;
488
+ /** List pane content — typically a DataGrid, DataGridList, or navigation list */
489
+ list: ReactNode;
490
+ /**
491
+ * Detail pane content. When undefined, `emptyDetail` is shown on desktop
492
+ * and the list pane fills the screen on mobile.
493
+ */
494
+ detail?: ReactNode;
495
+ /** Placeholder rendered in the detail pane when nothing is selected */
496
+ emptyDetail?: ReactNode;
497
+ /** Width of the list pane in px. Default: 320 */
498
+ listWidth?: number;
499
+ listClassName?: string;
500
+ detailClassName?: string;
501
+ }
502
+ declare function ListDetailBodyTemplate({ theme, className, topBar, list, detail, emptyDetail, listWidth, listClassName, detailClassName, }: ListDetailBodyTemplateProps): react_jsx_runtime.JSX.Element;
503
+
345
504
  type FormWizardVariant = 'card' | 'plain';
346
505
  interface FormWizardStep {
347
506
  key: string;
@@ -526,6 +685,7 @@ declare function buildTemplateTheme(g: {
526
685
  radius: number;
527
686
  primaryHue: number;
528
687
  primaryChroma: number;
688
+ darkMode?: boolean;
529
689
  density?: DensityId;
530
690
  fontScale?: number;
531
691
  lineHeight?: number;
@@ -542,4 +702,4 @@ declare function cn(...inputs: ClassValue[]): string;
542
702
 
543
703
  declare const useThemeStore: zustand.UseBoundStore<zustand.StoreApi<ThemeState>>;
544
704
 
545
- export { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, ColorsBodyTemplate, type ColorsBodyTemplateProps, type DataBodyBodyProps, type DataBodyFieldProps, type DataBodyGroupProps, type DataBodyRowProps, type DataBodySectionProps, type DataBodySummaryProps, type DataBodyTabProps, DataBodyTemplate, type DataBodyTemplateProps, DataPage, type DataPageActionsProps, type DataPageContentProps, type DataPageFooterProps, type DataPageGroupBodyProps, type DataPageGroupHeaderProps, type DataPageGroupProps, type DataPageGroupToolbarProps, type DataPageHeaderProps, type DataPageProps, type DataPageTabProps, type DataPageTabsProps, type DataPageTitleBlockProps, type DensityId, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateAction, type EmptyStateProps, FormWizardBodyTemplate, type FormWizardBodyTemplateProps, type FormWizardStep, type FormWizardVariant, type GlobalTheme, type GroupLayout, type GroupVariant, Input, Label, type LoginBg, LoginBodyTemplate, type LoginBodyTemplateProps, type LoginCard, type LoginCardWidth, type LoginLayout, type LoginSide, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, PageBreadcrumb, type PageBreadcrumbItem, PageTopBar, type PageTopBarProps, type PageTopBarVariant, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, type ShellId, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs$1 as Tabs, TabsContent, TabsList, TabsTrigger, type TemplateId, type TemplateNavigationGroup, type TemplateNavigationItem, type TemplateOverride, type ThemeState, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TypographyBodyTemplate, type TypographyBodyTemplateProps, badgeVariants, buildTemplateTheme, buildTopBar, buttonVariants, cn, navigationMenuTriggerStyle, tabsListVariants, useIsMobile, useSidebar, useStyleInjector, useThemeStore };
705
+ export { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, BrowseBodyTemplate, type BrowseBodyTemplateProps, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, ColorsBodyTemplate, type ColorsBodyTemplateProps, DashboardBodyTemplate, type DashboardBodyTemplateProps, DashboardPanel, type DashboardPanelProps, type DataBodyBodyProps, type DataBodyFieldProps, type DataBodyGroupProps, type DataBodyRowProps, type DataBodySectionProps, type DataBodySummaryProps, type DataBodyTabProps, DataBodyTemplate, type DataBodyTemplateProps, DataPage, type DataPageActionsProps, type DataPageContentProps, type DataPageFooterProps, type DataPageGroupBodyProps, type DataPageGroupHeaderProps, type DataPageGroupProps, type DataPageGroupToolbarProps, type DataPageHeaderProps, type DataPageProps, type DataPageTabProps, type DataPageTabsProps, type DataPageTitleBlockProps, type DensityId, type DetailBodyHeaderProps, type DetailBodySectionProps, type DetailBodyTabProps, DetailBodyTemplate, type DetailBodyTemplateProps, type DetailBodyVariant, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateAction, type EmptyStateProps, FormWizardBodyTemplate, type FormWizardBodyTemplateProps, type FormWizardStep, type FormWizardVariant, type GlobalTheme, type GroupLayout, type GroupVariant, Input, Label, ListDetailBodyTemplate, type ListDetailBodyTemplateProps, type LoginBg, LoginBodyTemplate, type LoginBodyTemplateProps, type LoginCard, type LoginCardWidth, type LoginLayout, type LoginSide, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, PageBreadcrumb, type PageBreadcrumbItem, PageTopBar, type PageTopBarProps, type PageTopBarVariant, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, type ShellId, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs$1 as Tabs, TabsContent, TabsList, TabsTrigger, type TemplateId, type TemplateNavigationGroup, type TemplateNavigationItem, type TemplateOverride, type ThemeState, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TypographyBodyTemplate, type TypographyBodyTemplateProps, WorkbenchBodyTemplate, type WorkbenchBodyTemplateProps, badgeVariants, buildTemplateTheme, buildTopBar, buttonVariants, cn, navigationMenuTriggerStyle, tabsListVariants, useIsMobile, useSidebar, useStyleInjector, useThemeStore };
package/dist/index.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import * as react_jsx_runtime from 'react/jsx-runtime';
2
2
  import * as React$1 from 'react';
3
- import React__default, { ComponentType } from 'react';
3
+ import React__default, { ComponentType, CSSProperties, ReactNode } from 'react';
4
4
  import { Avatar as Avatar$1 } from '@base-ui/react/avatar';
5
5
  import * as class_variance_authority_types from 'class-variance-authority/types';
6
6
  import { useRender } from '@base-ui/react/use-render';
@@ -237,7 +237,7 @@ declare function TabsContent({ className, ...props }: Tabs$2.Panel.Props): react
237
237
 
238
238
  type ShellId = 'sidebar' | 'header';
239
239
  type DensityId = 'compact' | 'default' | 'comfortable';
240
- type TemplateId = 'table' | 'table-infinity' | 'table-drag' | 'table-card' | 'table-card-list' | 'tabbed' | 'form' | 'form-stacked' | 'form-wizard' | 'form-inline' | 'databody' | 'databody-detail' | 'databody-split' | 'sectioned' | 'typography' | 'colors' | 'login' | 'login-forgot' | 'login-reset' | 'login-otp';
240
+ type TemplateId = 'table' | 'table-infinity' | 'table-drag' | 'table-card' | 'table-card-list' | 'tabbed' | 'form' | 'form-stacked' | 'form-wizard' | 'form-inline' | 'databody' | 'databody-detail' | 'databody-split' | 'sectioned' | 'typography' | 'colors' | 'login' | 'login-forgot' | 'login-reset' | 'login-otp' | 'dashboard' | 'workbench-panel-editor' | 'workbench-sql-editor' | 'workbench-agent-chat' | 'browse' | 'detail' | 'detail-record' | 'detail-full' | 'list-detail';
241
241
  interface GlobalTheme {
242
242
  radius: number;
243
243
  primaryHue: number;
@@ -266,6 +266,71 @@ interface ThemeState {
266
266
  setTemplate: (template: TemplateId) => void;
267
267
  }
268
268
 
269
+ interface DashboardPanelProps {
270
+ title?: string;
271
+ description?: string;
272
+ loading?: boolean;
273
+ error?: string | null;
274
+ transparent?: boolean;
275
+ /** Edit mode — shows drag handle and grab cursor on the header */
276
+ editable?: boolean;
277
+ className?: string;
278
+ style?: CSSProperties;
279
+ children?: ReactNode;
280
+ headerRight?: ReactNode;
281
+ }
282
+ declare const DashboardPanel: React$1.ForwardRefExoticComponent<DashboardPanelProps & React$1.RefAttributes<HTMLDivElement>>;
283
+ interface DashboardBodyTemplateProps {
284
+ theme?: CSSProperties;
285
+ className?: string;
286
+ title?: ReactNode;
287
+ description?: ReactNode;
288
+ topBar?: ReactNode;
289
+ toolbar?: ReactNode;
290
+ /** Variable bar — rendered as a separate strip between the header and content */
291
+ variableBar?: ReactNode;
292
+ children?: ReactNode;
293
+ contentClassName?: string;
294
+ }
295
+ declare function DashboardBodyTemplate({ theme, className, title, description, topBar, toolbar, variableBar, children, contentClassName, }: DashboardBodyTemplateProps): react_jsx_runtime.JSX.Element;
296
+
297
+ interface WorkbenchBodyTemplateProps {
298
+ theme?: CSSProperties;
299
+ className?: string;
300
+ contentClassName?: string;
301
+ title?: ReactNode;
302
+ description?: ReactNode;
303
+ topBar?: ReactNode;
304
+ /** Right side of the built-in workbench header. Prefer this over toolbar for new code. */
305
+ headerRight?: ReactNode;
306
+ /** @deprecated Use headerRight. */
307
+ toolbar?: ReactNode;
308
+ actions?: ReactNode;
309
+ leftPane?: ReactNode;
310
+ mainPane?: ReactNode;
311
+ rightPane?: ReactNode;
312
+ bottomPane?: ReactNode;
313
+ children?: ReactNode;
314
+ resizable?: boolean;
315
+ leftPaneCollapsed?: boolean;
316
+ rightPaneCollapsed?: boolean;
317
+ bottomPaneCollapsed?: boolean;
318
+ leftPaneWidth?: number;
319
+ rightPaneWidth?: number;
320
+ bottomPaneHeight?: number;
321
+ minLeftPaneWidth?: number;
322
+ maxLeftPaneWidth?: number;
323
+ minRightPaneWidth?: number;
324
+ maxRightPaneWidth?: number;
325
+ minBottomPaneHeight?: number;
326
+ maxBottomPaneHeight?: number;
327
+ leftPaneClassName?: string;
328
+ mainPaneClassName?: string;
329
+ rightPaneClassName?: string;
330
+ bottomPaneClassName?: string;
331
+ }
332
+ declare function WorkbenchBodyTemplate({ theme, className, contentClassName, title, description, topBar, headerRight, toolbar, actions, leftPane, mainPane, rightPane, bottomPane, children, resizable, leftPaneCollapsed, rightPaneCollapsed, bottomPaneCollapsed, leftPaneWidth, rightPaneWidth, bottomPaneHeight, minLeftPaneWidth, maxLeftPaneWidth, minRightPaneWidth, maxRightPaneWidth, minBottomPaneHeight, maxBottomPaneHeight, leftPaneClassName, mainPaneClassName, rightPaneClassName, bottomPaneClassName, }: WorkbenchBodyTemplateProps): react_jsx_runtime.JSX.Element;
333
+
269
334
  interface DataBodyTabProps {
270
335
  id: string;
271
336
  label: React__default.ReactNode;
@@ -300,6 +365,7 @@ interface DataBodyGroupProps {
300
365
  description?: React__default.ReactNode;
301
366
  actions?: React__default.ReactNode;
302
367
  danger?: boolean;
368
+ className?: string;
303
369
  children?: React__default.ReactNode;
304
370
  }
305
371
  declare function DataBodyGroup(props: DataBodyGroupProps): react_jsx_runtime.JSX.Element;
@@ -342,6 +408,99 @@ declare const DataBodyTemplate: typeof Root$1 & {
342
408
  Field: typeof DataBodyField;
343
409
  };
344
410
 
411
+ interface BrowseBodyTemplateProps {
412
+ theme?: React__default.CSSProperties;
413
+ className?: string;
414
+ topBar?: React__default.ReactNode;
415
+ title?: React__default.ReactNode;
416
+ description?: React__default.ReactNode;
417
+ actions?: React__default.ReactNode;
418
+ sidebar: React__default.ReactNode;
419
+ sidebarTitle?: string;
420
+ sidebarWidth?: string;
421
+ toolbar?: React__default.ReactNode;
422
+ footer?: React__default.ReactNode;
423
+ contentClassName?: string;
424
+ children?: React__default.ReactNode;
425
+ }
426
+ declare function BrowseBodyTemplate({ theme, className, topBar, title, description, actions, sidebar, sidebarTitle, sidebarWidth, toolbar, footer, contentClassName, children, }: BrowseBodyTemplateProps): react_jsx_runtime.JSX.Element;
427
+
428
+ type DetailBodyVariant = 'media' | 'record' | 'full';
429
+ interface DetailBodyTemplateProps {
430
+ variant?: DetailBodyVariant;
431
+ theme?: React__default.CSSProperties;
432
+ className?: string;
433
+ topBar?: React__default.ReactNode;
434
+ header?: React__default.ReactNode;
435
+ lead?: React__default.ReactNode;
436
+ eyebrow?: React__default.ReactNode;
437
+ title?: React__default.ReactNode;
438
+ description?: React__default.ReactNode;
439
+ status?: React__default.ReactNode;
440
+ actions?: React__default.ReactNode;
441
+ media?: React__default.ReactNode;
442
+ aside?: React__default.ReactNode;
443
+ summary?: React__default.ReactNode;
444
+ stickyAside?: boolean;
445
+ contentClassName?: string;
446
+ mediaClassName?: string;
447
+ asideClassName?: string;
448
+ children?: React__default.ReactNode;
449
+ }
450
+ interface DetailBodyHeaderProps {
451
+ eyebrow?: React__default.ReactNode;
452
+ title?: React__default.ReactNode;
453
+ description?: React__default.ReactNode;
454
+ status?: React__default.ReactNode;
455
+ actions?: React__default.ReactNode;
456
+ compact?: boolean;
457
+ className?: string;
458
+ }
459
+ declare function DetailBodyHeader({ eyebrow, title, description, status, actions, compact, className, }: DetailBodyHeaderProps): react_jsx_runtime.JSX.Element;
460
+ interface DetailBodyTabProps {
461
+ id: string;
462
+ label: React__default.ReactNode;
463
+ count?: number;
464
+ disabled?: boolean;
465
+ children?: React__default.ReactNode;
466
+ }
467
+ declare function DetailBodyTab(_props: DetailBodyTabProps): null;
468
+ interface DetailBodySectionProps {
469
+ title?: React__default.ReactNode;
470
+ description?: React__default.ReactNode;
471
+ actions?: React__default.ReactNode;
472
+ surface?: 'plain' | 'card' | 'bordered';
473
+ className?: string;
474
+ children?: React__default.ReactNode;
475
+ }
476
+ declare function DetailBodySection({ title, description, actions, surface, className, children, }: DetailBodySectionProps): react_jsx_runtime.JSX.Element;
477
+ declare function DetailBodyTemplateRoot({ variant, theme, className, topBar, header, lead, eyebrow, title, description, status, actions, media, aside, summary, stickyAside, contentClassName, mediaClassName, asideClassName, children, }: DetailBodyTemplateProps): react_jsx_runtime.JSX.Element;
478
+ declare const DetailBodyTemplate: typeof DetailBodyTemplateRoot & {
479
+ Header: typeof DetailBodyHeader;
480
+ Tab: typeof DetailBodyTab;
481
+ Section: typeof DetailBodySection;
482
+ };
483
+
484
+ interface ListDetailBodyTemplateProps {
485
+ theme?: CSSProperties;
486
+ className?: string;
487
+ topBar?: ReactNode;
488
+ /** List pane content — typically a DataGrid, DataGridList, or navigation list */
489
+ list: ReactNode;
490
+ /**
491
+ * Detail pane content. When undefined, `emptyDetail` is shown on desktop
492
+ * and the list pane fills the screen on mobile.
493
+ */
494
+ detail?: ReactNode;
495
+ /** Placeholder rendered in the detail pane when nothing is selected */
496
+ emptyDetail?: ReactNode;
497
+ /** Width of the list pane in px. Default: 320 */
498
+ listWidth?: number;
499
+ listClassName?: string;
500
+ detailClassName?: string;
501
+ }
502
+ declare function ListDetailBodyTemplate({ theme, className, topBar, list, detail, emptyDetail, listWidth, listClassName, detailClassName, }: ListDetailBodyTemplateProps): react_jsx_runtime.JSX.Element;
503
+
345
504
  type FormWizardVariant = 'card' | 'plain';
346
505
  interface FormWizardStep {
347
506
  key: string;
@@ -526,6 +685,7 @@ declare function buildTemplateTheme(g: {
526
685
  radius: number;
527
686
  primaryHue: number;
528
687
  primaryChroma: number;
688
+ darkMode?: boolean;
529
689
  density?: DensityId;
530
690
  fontScale?: number;
531
691
  lineHeight?: number;
@@ -542,4 +702,4 @@ declare function cn(...inputs: ClassValue[]): string;
542
702
 
543
703
  declare const useThemeStore: zustand.UseBoundStore<zustand.StoreApi<ThemeState>>;
544
704
 
545
- export { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, ColorsBodyTemplate, type ColorsBodyTemplateProps, type DataBodyBodyProps, type DataBodyFieldProps, type DataBodyGroupProps, type DataBodyRowProps, type DataBodySectionProps, type DataBodySummaryProps, type DataBodyTabProps, DataBodyTemplate, type DataBodyTemplateProps, DataPage, type DataPageActionsProps, type DataPageContentProps, type DataPageFooterProps, type DataPageGroupBodyProps, type DataPageGroupHeaderProps, type DataPageGroupProps, type DataPageGroupToolbarProps, type DataPageHeaderProps, type DataPageProps, type DataPageTabProps, type DataPageTabsProps, type DataPageTitleBlockProps, type DensityId, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateAction, type EmptyStateProps, FormWizardBodyTemplate, type FormWizardBodyTemplateProps, type FormWizardStep, type FormWizardVariant, type GlobalTheme, type GroupLayout, type GroupVariant, Input, Label, type LoginBg, LoginBodyTemplate, type LoginBodyTemplateProps, type LoginCard, type LoginCardWidth, type LoginLayout, type LoginSide, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, PageBreadcrumb, type PageBreadcrumbItem, PageTopBar, type PageTopBarProps, type PageTopBarVariant, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, type ShellId, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs$1 as Tabs, TabsContent, TabsList, TabsTrigger, type TemplateId, type TemplateNavigationGroup, type TemplateNavigationItem, type TemplateOverride, type ThemeState, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TypographyBodyTemplate, type TypographyBodyTemplateProps, badgeVariants, buildTemplateTheme, buildTopBar, buttonVariants, cn, navigationMenuTriggerStyle, tabsListVariants, useIsMobile, useSidebar, useStyleInjector, useThemeStore };
705
+ export { Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, BrowseBodyTemplate, type BrowseBodyTemplateProps, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, ColorsBodyTemplate, type ColorsBodyTemplateProps, DashboardBodyTemplate, type DashboardBodyTemplateProps, DashboardPanel, type DashboardPanelProps, type DataBodyBodyProps, type DataBodyFieldProps, type DataBodyGroupProps, type DataBodyRowProps, type DataBodySectionProps, type DataBodySummaryProps, type DataBodyTabProps, DataBodyTemplate, type DataBodyTemplateProps, DataPage, type DataPageActionsProps, type DataPageContentProps, type DataPageFooterProps, type DataPageGroupBodyProps, type DataPageGroupHeaderProps, type DataPageGroupProps, type DataPageGroupToolbarProps, type DataPageHeaderProps, type DataPageProps, type DataPageTabProps, type DataPageTabsProps, type DataPageTitleBlockProps, type DensityId, type DetailBodyHeaderProps, type DetailBodySectionProps, type DetailBodyTabProps, DetailBodyTemplate, type DetailBodyTemplateProps, type DetailBodyVariant, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EmptyState, type EmptyStateAction, type EmptyStateProps, FormWizardBodyTemplate, type FormWizardBodyTemplateProps, type FormWizardStep, type FormWizardVariant, type GlobalTheme, type GroupLayout, type GroupVariant, Input, Label, ListDetailBodyTemplate, type ListDetailBodyTemplateProps, type LoginBg, LoginBodyTemplate, type LoginBodyTemplateProps, type LoginCard, type LoginCardWidth, type LoginLayout, type LoginSide, NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuPositioner, NavigationMenuTrigger, PageBreadcrumb, type PageBreadcrumbItem, PageTopBar, type PageTopBarProps, type PageTopBarVariant, Popover, PopoverContent, PopoverDescription, PopoverHeader, PopoverTitle, PopoverTrigger, ScrollArea, ScrollBar, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, type ShellId, Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, Skeleton, Slider, Switch, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs$1 as Tabs, TabsContent, TabsList, TabsTrigger, type TemplateId, type TemplateNavigationGroup, type TemplateNavigationItem, type TemplateOverride, type ThemeState, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, TypographyBodyTemplate, type TypographyBodyTemplateProps, WorkbenchBodyTemplate, type WorkbenchBodyTemplateProps, badgeVariants, buildTemplateTheme, buildTopBar, buttonVariants, cn, navigationMenuTriggerStyle, tabsListVariants, useIsMobile, useSidebar, useStyleInjector, useThemeStore };