@loykin/designkit 0.0.4 → 0.0.5

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
@@ -328,7 +328,22 @@ interface WorkbenchBodyTemplateProps {
328
328
  /** Mobile Sheet label for the right pane trigger */
329
329
  rightPaneLabel?: string;
330
330
  }
331
- declare function WorkbenchBodyTemplate({ theme, className, contentClassName, title, description, status, topBar, headerRight, actions, leftPane, mainPane, rightPane, bottomPane, children, resizable, leftPaneCollapsed, rightPaneCollapsed, bottomPaneCollapsed, leftPaneWidth, rightPaneWidth, bottomPaneHeight, minLeftPaneWidth, maxLeftPaneWidth, minRightPaneWidth, maxRightPaneWidth, minBottomPaneHeight, maxBottomPaneHeight, onResize, leftPaneClassName, mainPaneClassName, rightPaneClassName, bottomPaneClassName, leftPaneLabel, rightPaneLabel, }: WorkbenchBodyTemplateProps): React__default.JSX.Element;
331
+ declare function WorkbenchBodyTemplateRoot({ theme, className, contentClassName, title, description, status, topBar, headerRight, actions, leftPane, mainPane, rightPane, bottomPane, children, resizable, leftPaneCollapsed, rightPaneCollapsed, bottomPaneCollapsed, leftPaneWidth, rightPaneWidth, bottomPaneHeight, minLeftPaneWidth, maxLeftPaneWidth, minRightPaneWidth, maxRightPaneWidth, minBottomPaneHeight, maxBottomPaneHeight, onResize, leftPaneClassName, mainPaneClassName, rightPaneClassName, bottomPaneClassName, leftPaneLabel, rightPaneLabel, }: WorkbenchBodyTemplateProps): React__default.JSX.Element;
332
+ interface WorkbenchSectionProps {
333
+ title?: ReactNode;
334
+ description?: ReactNode;
335
+ actions?: ReactNode;
336
+ className?: string;
337
+ children?: ReactNode;
338
+ }
339
+ /**
340
+ * Groups related controls inside a `WorkbenchBodyTemplate` pane (typically
341
+ * `rightPane`), separating an options/inspector area into labeled sections.
342
+ */
343
+ declare function WorkbenchSection({ title, description, actions, className, children }: WorkbenchSectionProps): React__default.JSX.Element;
344
+ declare const WorkbenchBodyTemplate: typeof WorkbenchBodyTemplateRoot & {
345
+ Section: typeof WorkbenchSection;
346
+ };
332
347
 
333
348
  /**
334
349
  * Defines one tab inside `DataBodyTemplate`.
@@ -585,29 +600,6 @@ interface ListDetailBodyTemplateProps {
585
600
  }
586
601
  declare function ListDetailBodyTemplate({ theme, className, topBar, list, detail, emptyDetail, listWidth, listClassName, detailClassName, onBack, backLabel, }: ListDetailBodyTemplateProps): React$1.JSX.Element;
587
602
 
588
- interface PanelTemplateProps {
589
- title?: React__default.ReactNode;
590
- eyebrow?: React__default.ReactNode;
591
- status?: React__default.ReactNode;
592
- actions?: React__default.ReactNode;
593
- footer?: React__default.ReactNode;
594
- children?: React__default.ReactNode;
595
- className?: string;
596
- bodyClassName?: string;
597
- }
598
- interface PanelTemplateSectionProps {
599
- title?: React__default.ReactNode;
600
- description?: React__default.ReactNode;
601
- actions?: React__default.ReactNode;
602
- className?: string;
603
- children?: React__default.ReactNode;
604
- }
605
- declare function PanelTemplateSection({ title, description, actions, className, children, }: PanelTemplateSectionProps): React__default.JSX.Element;
606
- declare function PanelTemplateRoot({ title, eyebrow, status, actions, footer, children, className, bodyClassName, }: PanelTemplateProps): React__default.JSX.Element;
607
- declare const PanelTemplate: typeof PanelTemplateRoot & {
608
- Section: typeof PanelTemplateSection;
609
- };
610
-
611
603
  type FormWizardVariant = 'card' | 'plain';
612
604
  interface FormWizardStep {
613
605
  key: string;
@@ -794,6 +786,141 @@ interface TemplateNavigationGroup {
794
786
  items: TemplateNavigationItem[];
795
787
  }
796
788
 
789
+ interface PanelTemplateProps {
790
+ title?: React__default.ReactNode;
791
+ eyebrow?: React__default.ReactNode;
792
+ status?: React__default.ReactNode;
793
+ actions?: React__default.ReactNode;
794
+ footer?: React__default.ReactNode;
795
+ children?: React__default.ReactNode;
796
+ className?: string;
797
+ bodyClassName?: string;
798
+ }
799
+ interface PanelTemplateSectionProps {
800
+ title?: React__default.ReactNode;
801
+ description?: React__default.ReactNode;
802
+ actions?: React__default.ReactNode;
803
+ className?: string;
804
+ children?: React__default.ReactNode;
805
+ }
806
+ interface PanelTemplateRowProps {
807
+ label: React__default.ReactNode;
808
+ children?: React__default.ReactNode;
809
+ className?: string;
810
+ }
811
+ declare function PanelTemplateSection({ title, description, actions, className, children, }: PanelTemplateSectionProps): React__default.JSX.Element;
812
+ declare function PanelTemplateRow({ label, children, className }: PanelTemplateRowProps): React__default.JSX.Element;
813
+ declare function PanelTemplateRoot({ title, eyebrow, status, actions, footer, children, className, bodyClassName, }: PanelTemplateProps): React__default.JSX.Element;
814
+ declare const PanelTemplate: typeof PanelTemplateRoot & {
815
+ Section: typeof PanelTemplateSection;
816
+ Row: typeof PanelTemplateRow;
817
+ };
818
+
819
+ type InteractiveCardProps = React$1.ComponentProps<typeof Card>;
820
+ /**
821
+ * A `Card` that is itself a click target inside a grid: fills its cell,
822
+ * lifts and shadows on hover. Reaches for this instead of re-deriving the
823
+ * same hover/elevation treatment per grid (blog cards, product cards, …).
824
+ */
825
+ declare function InteractiveCard({ className, ...props }: InteractiveCardProps): React$1.JSX.Element;
826
+
827
+ type ArticleTone = 'violet' | 'emerald' | 'amber' | 'rose' | 'sky' | 'slate';
828
+ interface ArticleCoverProps {
829
+ /** Semantic accent — maps to a bundled gradient so domain data never stores Tailwind class strings. */
830
+ tone: ArticleTone;
831
+ className?: string;
832
+ children?: React$1.ReactNode;
833
+ }
834
+ /** Gradient cover block for an article thumbnail or hero. Size it via `className` (e.g. `h-32` or `h-56`). */
835
+ declare function ArticleCover({ tone, className, children }: ArticleCoverProps): React$1.JSX.Element;
836
+ interface ArticleBylineProps {
837
+ author: string;
838
+ initials: string;
839
+ /** Secondary line under the author name, e.g. read time. Omit to show just the name. */
840
+ meta?: React$1.ReactNode;
841
+ size?: 'sm' | 'default';
842
+ className?: string;
843
+ }
844
+ /** Author avatar + name (+ optional meta line), shared between article cards and the article page. */
845
+ declare function ArticleByline({ author, initials, meta, size, className, }: ArticleBylineProps): React$1.JSX.Element;
846
+ interface ArticleTocItem {
847
+ href: string;
848
+ label: React$1.ReactNode;
849
+ /** Visually emphasize this entry, e.g. the section currently in view. */
850
+ emphasis?: boolean;
851
+ }
852
+ interface ArticleTocProps {
853
+ title?: React$1.ReactNode;
854
+ items: ArticleTocItem[];
855
+ className?: string;
856
+ }
857
+ /** Table-of-contents list for an article's aside. */
858
+ declare function ArticleToc({ title, items, className }: ArticleTocProps): React$1.JSX.Element;
859
+ interface ArticleBodyProps {
860
+ className?: string;
861
+ children?: React$1.ReactNode;
862
+ }
863
+ /** Reading-width container with article body typography for prose content. */
864
+ declare function ArticleBody({ className, children }: ArticleBodyProps): React$1.JSX.Element;
865
+ interface ArticleBodySkeletonProps {
866
+ className?: string;
867
+ }
868
+ /** Loading placeholder matching `ArticleBody`'s reading width. */
869
+ declare function ArticleBodySkeleton({ className }: ArticleBodySkeletonProps): React$1.JSX.Element;
870
+ interface ArticleCardPreviewProps {
871
+ tone: ArticleTone;
872
+ category: React$1.ReactNode;
873
+ title: React$1.ReactNode;
874
+ excerpt: React$1.ReactNode;
875
+ author: string;
876
+ initials: string;
877
+ readTime: React$1.ReactNode;
878
+ /** Decorative content layered over the cover, e.g. an icon. */
879
+ coverContent?: React$1.ReactNode;
880
+ coverClassName?: string;
881
+ className?: string;
882
+ }
883
+ /**
884
+ * The clickable article-card shape used by every card grid of articles:
885
+ * cover, category, title, excerpt, byline, read time. Compose `coverContent`
886
+ * for per-listing decoration; everything else is the shared shell.
887
+ */
888
+ declare function ArticleCardPreview({ tone, category, title, excerpt, author, initials, readTime, coverContent, coverClassName, className, }: ArticleCardPreviewProps): React$1.JSX.Element;
889
+
890
+ interface FormFieldProps {
891
+ label: React$1.ReactNode;
892
+ htmlFor: string;
893
+ /** Validation failure for this field. Takes precedence over `helperText`. */
894
+ error?: React$1.ReactNode;
895
+ /** Non-error supporting text shown when there is no `error`. */
896
+ helperText?: React$1.ReactNode;
897
+ className?: string;
898
+ children: React$1.ReactNode;
899
+ }
900
+ /**
901
+ * The label + control + helper/error wrapper every stacked form field uses
902
+ * (see the form-workflow guide contract). Compose the control itself
903
+ * (`Input`, `Select`, …) as `children`; this owns only the surrounding shape.
904
+ */
905
+ declare function FormField({ label, htmlFor, error, helperText, className, children }: FormFieldProps): React$1.JSX.Element;
906
+ interface FormActionsProps {
907
+ /** Optional status or form-level message, left-aligned before the buttons. */
908
+ status?: React$1.ReactNode;
909
+ cancelLabel?: React$1.ReactNode;
910
+ onCancel?: () => void;
911
+ cancelDisabled?: boolean;
912
+ submitLabel: React$1.ReactNode;
913
+ submitDisabled?: boolean;
914
+ className?: string;
915
+ }
916
+ /**
917
+ * The bottom action row every stacked form ends with: an optional status
918
+ * message, then Cancel before the right-aligned primary submit action, per
919
+ * the form-workflow guide contract. Always renders the divider above the
920
+ * actions — do not add a second one around this component.
921
+ */
922
+ declare function FormActions({ status, cancelLabel, onCancel, cancelDisabled, submitLabel, submitDisabled, className, }: FormActionsProps): React$1.JSX.Element;
923
+
797
924
  declare function useIsMobile(): boolean;
798
925
 
799
926
  type ShellId = 'sidebar' | 'header';
@@ -854,4 +981,4 @@ declare function cn(...inputs: ClassValue[]): string;
854
981
 
855
982
  declare const useThemeStore: zustand.UseBoundStore<zustand.StoreApi<ThemeState>>;
856
983
 
857
- export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BrowseBodyTemplate, type BrowseBodyTemplateProps, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, ColorsBodyTemplate, type ColorsBodyTemplateProps, type CurrentTemplateId, DashboardBodyTemplate, type DashboardBodyTemplateProps, DashboardPanel, type DashboardPanelProps, type DataBodyBodyProps, type DataBodyFieldProps, type DataBodyGroupProps, type DataBodyResourceProps, 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, PanelTemplate, type PanelTemplateProps, type PanelTemplateSectionProps, 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, type StyleInjectorOptions, 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, type WorkbenchResizeState, badgeVariants, buildTemplateTheme, buildTopBar, buttonVariants, cn, navigationMenuTriggerStyle, tabsListVariants, useIsMobile, useSidebar, useSidebarOptional, useStyleInjector, useThemeStore };
984
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, ArticleBody, type ArticleBodyProps, ArticleBodySkeleton, type ArticleBodySkeletonProps, ArticleByline, type ArticleBylineProps, ArticleCardPreview, type ArticleCardPreviewProps, ArticleCover, type ArticleCoverProps, ArticleToc, type ArticleTocItem, type ArticleTocProps, type ArticleTone, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BrowseBodyTemplate, type BrowseBodyTemplateProps, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, ColorsBodyTemplate, type ColorsBodyTemplateProps, type CurrentTemplateId, DashboardBodyTemplate, type DashboardBodyTemplateProps, DashboardPanel, type DashboardPanelProps, type DataBodyBodyProps, type DataBodyFieldProps, type DataBodyGroupProps, type DataBodyResourceProps, 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, FormActions, type FormActionsProps, FormField, type FormFieldProps, FormWizardBodyTemplate, type FormWizardBodyTemplateProps, type FormWizardStep, type FormWizardVariant, type GlobalTheme, type GroupLayout, type GroupVariant, Input, InteractiveCard, type InteractiveCardProps, 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, PanelTemplate, type PanelTemplateProps, type PanelTemplateRowProps, type PanelTemplateSectionProps, 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, type StyleInjectorOptions, 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, type WorkbenchResizeState, type WorkbenchSectionProps, badgeVariants, buildTemplateTheme, buildTopBar, buttonVariants, cn, navigationMenuTriggerStyle, tabsListVariants, useIsMobile, useSidebar, useSidebarOptional, useStyleInjector, useThemeStore };
package/dist/index.d.ts CHANGED
@@ -328,7 +328,22 @@ interface WorkbenchBodyTemplateProps {
328
328
  /** Mobile Sheet label for the right pane trigger */
329
329
  rightPaneLabel?: string;
330
330
  }
331
- declare function WorkbenchBodyTemplate({ theme, className, contentClassName, title, description, status, topBar, headerRight, actions, leftPane, mainPane, rightPane, bottomPane, children, resizable, leftPaneCollapsed, rightPaneCollapsed, bottomPaneCollapsed, leftPaneWidth, rightPaneWidth, bottomPaneHeight, minLeftPaneWidth, maxLeftPaneWidth, minRightPaneWidth, maxRightPaneWidth, minBottomPaneHeight, maxBottomPaneHeight, onResize, leftPaneClassName, mainPaneClassName, rightPaneClassName, bottomPaneClassName, leftPaneLabel, rightPaneLabel, }: WorkbenchBodyTemplateProps): React__default.JSX.Element;
331
+ declare function WorkbenchBodyTemplateRoot({ theme, className, contentClassName, title, description, status, topBar, headerRight, actions, leftPane, mainPane, rightPane, bottomPane, children, resizable, leftPaneCollapsed, rightPaneCollapsed, bottomPaneCollapsed, leftPaneWidth, rightPaneWidth, bottomPaneHeight, minLeftPaneWidth, maxLeftPaneWidth, minRightPaneWidth, maxRightPaneWidth, minBottomPaneHeight, maxBottomPaneHeight, onResize, leftPaneClassName, mainPaneClassName, rightPaneClassName, bottomPaneClassName, leftPaneLabel, rightPaneLabel, }: WorkbenchBodyTemplateProps): React__default.JSX.Element;
332
+ interface WorkbenchSectionProps {
333
+ title?: ReactNode;
334
+ description?: ReactNode;
335
+ actions?: ReactNode;
336
+ className?: string;
337
+ children?: ReactNode;
338
+ }
339
+ /**
340
+ * Groups related controls inside a `WorkbenchBodyTemplate` pane (typically
341
+ * `rightPane`), separating an options/inspector area into labeled sections.
342
+ */
343
+ declare function WorkbenchSection({ title, description, actions, className, children }: WorkbenchSectionProps): React__default.JSX.Element;
344
+ declare const WorkbenchBodyTemplate: typeof WorkbenchBodyTemplateRoot & {
345
+ Section: typeof WorkbenchSection;
346
+ };
332
347
 
333
348
  /**
334
349
  * Defines one tab inside `DataBodyTemplate`.
@@ -585,29 +600,6 @@ interface ListDetailBodyTemplateProps {
585
600
  }
586
601
  declare function ListDetailBodyTemplate({ theme, className, topBar, list, detail, emptyDetail, listWidth, listClassName, detailClassName, onBack, backLabel, }: ListDetailBodyTemplateProps): React$1.JSX.Element;
587
602
 
588
- interface PanelTemplateProps {
589
- title?: React__default.ReactNode;
590
- eyebrow?: React__default.ReactNode;
591
- status?: React__default.ReactNode;
592
- actions?: React__default.ReactNode;
593
- footer?: React__default.ReactNode;
594
- children?: React__default.ReactNode;
595
- className?: string;
596
- bodyClassName?: string;
597
- }
598
- interface PanelTemplateSectionProps {
599
- title?: React__default.ReactNode;
600
- description?: React__default.ReactNode;
601
- actions?: React__default.ReactNode;
602
- className?: string;
603
- children?: React__default.ReactNode;
604
- }
605
- declare function PanelTemplateSection({ title, description, actions, className, children, }: PanelTemplateSectionProps): React__default.JSX.Element;
606
- declare function PanelTemplateRoot({ title, eyebrow, status, actions, footer, children, className, bodyClassName, }: PanelTemplateProps): React__default.JSX.Element;
607
- declare const PanelTemplate: typeof PanelTemplateRoot & {
608
- Section: typeof PanelTemplateSection;
609
- };
610
-
611
603
  type FormWizardVariant = 'card' | 'plain';
612
604
  interface FormWizardStep {
613
605
  key: string;
@@ -794,6 +786,141 @@ interface TemplateNavigationGroup {
794
786
  items: TemplateNavigationItem[];
795
787
  }
796
788
 
789
+ interface PanelTemplateProps {
790
+ title?: React__default.ReactNode;
791
+ eyebrow?: React__default.ReactNode;
792
+ status?: React__default.ReactNode;
793
+ actions?: React__default.ReactNode;
794
+ footer?: React__default.ReactNode;
795
+ children?: React__default.ReactNode;
796
+ className?: string;
797
+ bodyClassName?: string;
798
+ }
799
+ interface PanelTemplateSectionProps {
800
+ title?: React__default.ReactNode;
801
+ description?: React__default.ReactNode;
802
+ actions?: React__default.ReactNode;
803
+ className?: string;
804
+ children?: React__default.ReactNode;
805
+ }
806
+ interface PanelTemplateRowProps {
807
+ label: React__default.ReactNode;
808
+ children?: React__default.ReactNode;
809
+ className?: string;
810
+ }
811
+ declare function PanelTemplateSection({ title, description, actions, className, children, }: PanelTemplateSectionProps): React__default.JSX.Element;
812
+ declare function PanelTemplateRow({ label, children, className }: PanelTemplateRowProps): React__default.JSX.Element;
813
+ declare function PanelTemplateRoot({ title, eyebrow, status, actions, footer, children, className, bodyClassName, }: PanelTemplateProps): React__default.JSX.Element;
814
+ declare const PanelTemplate: typeof PanelTemplateRoot & {
815
+ Section: typeof PanelTemplateSection;
816
+ Row: typeof PanelTemplateRow;
817
+ };
818
+
819
+ type InteractiveCardProps = React$1.ComponentProps<typeof Card>;
820
+ /**
821
+ * A `Card` that is itself a click target inside a grid: fills its cell,
822
+ * lifts and shadows on hover. Reaches for this instead of re-deriving the
823
+ * same hover/elevation treatment per grid (blog cards, product cards, …).
824
+ */
825
+ declare function InteractiveCard({ className, ...props }: InteractiveCardProps): React$1.JSX.Element;
826
+
827
+ type ArticleTone = 'violet' | 'emerald' | 'amber' | 'rose' | 'sky' | 'slate';
828
+ interface ArticleCoverProps {
829
+ /** Semantic accent — maps to a bundled gradient so domain data never stores Tailwind class strings. */
830
+ tone: ArticleTone;
831
+ className?: string;
832
+ children?: React$1.ReactNode;
833
+ }
834
+ /** Gradient cover block for an article thumbnail or hero. Size it via `className` (e.g. `h-32` or `h-56`). */
835
+ declare function ArticleCover({ tone, className, children }: ArticleCoverProps): React$1.JSX.Element;
836
+ interface ArticleBylineProps {
837
+ author: string;
838
+ initials: string;
839
+ /** Secondary line under the author name, e.g. read time. Omit to show just the name. */
840
+ meta?: React$1.ReactNode;
841
+ size?: 'sm' | 'default';
842
+ className?: string;
843
+ }
844
+ /** Author avatar + name (+ optional meta line), shared between article cards and the article page. */
845
+ declare function ArticleByline({ author, initials, meta, size, className, }: ArticleBylineProps): React$1.JSX.Element;
846
+ interface ArticleTocItem {
847
+ href: string;
848
+ label: React$1.ReactNode;
849
+ /** Visually emphasize this entry, e.g. the section currently in view. */
850
+ emphasis?: boolean;
851
+ }
852
+ interface ArticleTocProps {
853
+ title?: React$1.ReactNode;
854
+ items: ArticleTocItem[];
855
+ className?: string;
856
+ }
857
+ /** Table-of-contents list for an article's aside. */
858
+ declare function ArticleToc({ title, items, className }: ArticleTocProps): React$1.JSX.Element;
859
+ interface ArticleBodyProps {
860
+ className?: string;
861
+ children?: React$1.ReactNode;
862
+ }
863
+ /** Reading-width container with article body typography for prose content. */
864
+ declare function ArticleBody({ className, children }: ArticleBodyProps): React$1.JSX.Element;
865
+ interface ArticleBodySkeletonProps {
866
+ className?: string;
867
+ }
868
+ /** Loading placeholder matching `ArticleBody`'s reading width. */
869
+ declare function ArticleBodySkeleton({ className }: ArticleBodySkeletonProps): React$1.JSX.Element;
870
+ interface ArticleCardPreviewProps {
871
+ tone: ArticleTone;
872
+ category: React$1.ReactNode;
873
+ title: React$1.ReactNode;
874
+ excerpt: React$1.ReactNode;
875
+ author: string;
876
+ initials: string;
877
+ readTime: React$1.ReactNode;
878
+ /** Decorative content layered over the cover, e.g. an icon. */
879
+ coverContent?: React$1.ReactNode;
880
+ coverClassName?: string;
881
+ className?: string;
882
+ }
883
+ /**
884
+ * The clickable article-card shape used by every card grid of articles:
885
+ * cover, category, title, excerpt, byline, read time. Compose `coverContent`
886
+ * for per-listing decoration; everything else is the shared shell.
887
+ */
888
+ declare function ArticleCardPreview({ tone, category, title, excerpt, author, initials, readTime, coverContent, coverClassName, className, }: ArticleCardPreviewProps): React$1.JSX.Element;
889
+
890
+ interface FormFieldProps {
891
+ label: React$1.ReactNode;
892
+ htmlFor: string;
893
+ /** Validation failure for this field. Takes precedence over `helperText`. */
894
+ error?: React$1.ReactNode;
895
+ /** Non-error supporting text shown when there is no `error`. */
896
+ helperText?: React$1.ReactNode;
897
+ className?: string;
898
+ children: React$1.ReactNode;
899
+ }
900
+ /**
901
+ * The label + control + helper/error wrapper every stacked form field uses
902
+ * (see the form-workflow guide contract). Compose the control itself
903
+ * (`Input`, `Select`, …) as `children`; this owns only the surrounding shape.
904
+ */
905
+ declare function FormField({ label, htmlFor, error, helperText, className, children }: FormFieldProps): React$1.JSX.Element;
906
+ interface FormActionsProps {
907
+ /** Optional status or form-level message, left-aligned before the buttons. */
908
+ status?: React$1.ReactNode;
909
+ cancelLabel?: React$1.ReactNode;
910
+ onCancel?: () => void;
911
+ cancelDisabled?: boolean;
912
+ submitLabel: React$1.ReactNode;
913
+ submitDisabled?: boolean;
914
+ className?: string;
915
+ }
916
+ /**
917
+ * The bottom action row every stacked form ends with: an optional status
918
+ * message, then Cancel before the right-aligned primary submit action, per
919
+ * the form-workflow guide contract. Always renders the divider above the
920
+ * actions — do not add a second one around this component.
921
+ */
922
+ declare function FormActions({ status, cancelLabel, onCancel, cancelDisabled, submitLabel, submitDisabled, className, }: FormActionsProps): React$1.JSX.Element;
923
+
797
924
  declare function useIsMobile(): boolean;
798
925
 
799
926
  type ShellId = 'sidebar' | 'header';
@@ -854,4 +981,4 @@ declare function cn(...inputs: ClassValue[]): string;
854
981
 
855
982
  declare const useThemeStore: zustand.UseBoundStore<zustand.StoreApi<ThemeState>>;
856
983
 
857
- export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BrowseBodyTemplate, type BrowseBodyTemplateProps, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, ColorsBodyTemplate, type ColorsBodyTemplateProps, type CurrentTemplateId, DashboardBodyTemplate, type DashboardBodyTemplateProps, DashboardPanel, type DashboardPanelProps, type DataBodyBodyProps, type DataBodyFieldProps, type DataBodyGroupProps, type DataBodyResourceProps, 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, PanelTemplate, type PanelTemplateProps, type PanelTemplateSectionProps, 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, type StyleInjectorOptions, 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, type WorkbenchResizeState, badgeVariants, buildTemplateTheme, buildTopBar, buttonVariants, cn, navigationMenuTriggerStyle, tabsListVariants, useIsMobile, useSidebar, useSidebarOptional, useStyleInjector, useThemeStore };
984
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, ArticleBody, type ArticleBodyProps, ArticleBodySkeleton, type ArticleBodySkeletonProps, ArticleByline, type ArticleBylineProps, ArticleCardPreview, type ArticleCardPreviewProps, ArticleCover, type ArticleCoverProps, ArticleToc, type ArticleTocItem, type ArticleTocProps, type ArticleTone, Avatar, AvatarBadge, AvatarFallback, AvatarGroup, AvatarGroupCount, AvatarImage, Badge, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, BrowseBodyTemplate, type BrowseBodyTemplateProps, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Checkbox, ColorsBodyTemplate, type ColorsBodyTemplateProps, type CurrentTemplateId, DashboardBodyTemplate, type DashboardBodyTemplateProps, DashboardPanel, type DashboardPanelProps, type DataBodyBodyProps, type DataBodyFieldProps, type DataBodyGroupProps, type DataBodyResourceProps, 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, FormActions, type FormActionsProps, FormField, type FormFieldProps, FormWizardBodyTemplate, type FormWizardBodyTemplateProps, type FormWizardStep, type FormWizardVariant, type GlobalTheme, type GroupLayout, type GroupVariant, Input, InteractiveCard, type InteractiveCardProps, 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, PanelTemplate, type PanelTemplateProps, type PanelTemplateRowProps, type PanelTemplateSectionProps, 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, type StyleInjectorOptions, 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, type WorkbenchResizeState, type WorkbenchSectionProps, badgeVariants, buildTemplateTheme, buildTopBar, buttonVariants, cn, navigationMenuTriggerStyle, tabsListVariants, useIsMobile, useSidebar, useSidebarOptional, useStyleInjector, useThemeStore };