@hilum/ui 3.6.12 → 3.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -455,10 +455,12 @@ interface CardHeadingProps {
455
455
  }
456
456
  declare function CardHeading({ title, description, actions, children, className }: CardHeadingProps): react_jsx_runtime.JSX.Element;
457
457
 
458
+ type CardMobileSurface = "default" | "flat" | "flush";
458
459
  declare const cardVariants: (props?: ({
459
460
  variant?: "default" | "ghost" | "muted" | "outlined" | "elevated" | "responsive" | null | undefined;
460
461
  } & class_variance_authority_types.ClassProp) | undefined) => string;
461
462
  interface CardProps extends React.ComponentProps<"div">, VariantProps<typeof cardVariants> {
463
+ mobileSurface?: CardMobileSurface;
462
464
  }
463
465
  declare const Card: React.ForwardRefExoticComponent<Omit<CardProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
464
466
  declare const CardHeader: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
@@ -616,6 +618,18 @@ declare const CollapsibleRoot: React.ForwardRefExoticComponent<Collapsible.Colla
616
618
  declare const CollapsibleTrigger: React.ForwardRefExoticComponent<Collapsible.CollapsibleTriggerProps & React.RefAttributes<HTMLButtonElement>>;
617
619
  declare const CollapsibleContent: React.ForwardRefExoticComponent<Collapsible.CollapsibleContentProps & React.RefAttributes<HTMLDivElement>>;
618
620
 
621
+ type ControlDensity = "default" | "compact";
622
+ type ControlMobileSurface = "default" | "flush";
623
+ interface InputProps extends React.ComponentProps<"input"> {
624
+ density?: ControlDensity;
625
+ mobileDensity?: ControlDensity;
626
+ mobileSurface?: ControlMobileSurface;
627
+ }
628
+ declare function Input({ className, type, density, mobileDensity, mobileSurface, ...props }: InputProps): react_jsx_runtime.JSX.Element;
629
+ declare namespace Input {
630
+ var displayName: string;
631
+ }
632
+
619
633
  interface ColorInputProps {
620
634
  value: string;
621
635
  onChange: (next: string) => void;
@@ -625,12 +639,13 @@ interface ColorInputProps {
625
639
  className?: string;
626
640
  disabled?: boolean;
627
641
  presets?: string[];
642
+ mobileSurface?: ControlMobileSurface;
628
643
  }
629
644
  /**
630
645
  * Compact, inline color input designed for designer property panels.
631
646
  * Combines a swatch trigger (ColorPicker), a hex input, and an optional opacity field.
632
647
  */
633
- declare function ColorInput({ value, onChange, opacity, onOpacityChange, className, disabled, presets, }: ColorInputProps): react_jsx_runtime.JSX.Element;
648
+ declare function ColorInput({ value, onChange, opacity, onOpacityChange, className, disabled, presets, mobileSurface, }: ColorInputProps): react_jsx_runtime.JSX.Element;
634
649
  declare namespace ColorInput {
635
650
  var displayName: string;
636
651
  }
@@ -1249,11 +1264,6 @@ declare const InputOTPSlot: React.ForwardRefExoticComponent<React.HTMLAttributes
1249
1264
  } & React.RefAttributes<HTMLDivElement>>;
1250
1265
  declare const InputOTPSeparator: React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & React.RefAttributes<HTMLDivElement>>;
1251
1266
 
1252
- declare function Input({ className, type, ...props }: React.ComponentProps<"input">): react_jsx_runtime.JSX.Element;
1253
- declare namespace Input {
1254
- var displayName: string;
1255
- }
1256
-
1257
1267
  declare const Kbd: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
1258
1268
 
1259
1269
  declare const Label: React.ForwardRefExoticComponent<Omit<Label$1.LabelProps & React.RefAttributes<HTMLLabelElement>, "ref"> & React.RefAttributes<HTMLLabelElement>>;
@@ -1676,6 +1686,9 @@ interface SelectTriggerProps extends HTMLAttributes<HTMLButtonElement>, VariantP
1676
1686
  icon?: IconComponent;
1677
1687
  placeholder?: string;
1678
1688
  error?: string;
1689
+ density?: ControlDensity;
1690
+ mobileDensity?: ControlDensity;
1691
+ mobileSurface?: ControlMobileSurface;
1679
1692
  }
1680
1693
  declare const SelectTrigger: React.ForwardRefExoticComponent<SelectTriggerProps & React.RefAttributes<HTMLButtonElement>>;
1681
1694
  interface SelectContentProps {
@@ -1984,9 +1997,14 @@ interface SwitchProps extends Omit<HTMLAttributes<HTMLDivElement>, "onToggle"> {
1984
1997
  }
1985
1998
  declare const Switch: React.ForwardRefExoticComponent<SwitchProps & React.RefAttributes<HTMLDivElement>>;
1986
1999
 
2000
+ type TableDensity = "default" | "compact";
2001
+ type TableMobileSurface = "default" | "flat";
1987
2002
  interface TableProps extends HTMLAttributes<HTMLTableElement> {
1988
2003
  children: ReactNode;
1989
2004
  containerClassName?: string;
2005
+ density?: TableDensity;
2006
+ mobileDensity?: TableDensity;
2007
+ mobileSurface?: TableMobileSurface;
1990
2008
  }
1991
2009
  declare const Table: React.ForwardRefExoticComponent<TableProps & React.RefAttributes<HTMLTableElement>>;
1992
2010
  declare const TableHeader: React.ForwardRefExoticComponent<HTMLAttributes<HTMLTableSectionElement> & React.RefAttributes<HTMLTableSectionElement>>;
@@ -2055,7 +2073,12 @@ interface TabsSubtlePanelProps extends HTMLAttributes<HTMLDivElement> {
2055
2073
  }
2056
2074
  declare const TabsSubtlePanel: React.ForwardRefExoticComponent<TabsSubtlePanelProps & React.RefAttributes<HTMLDivElement>>;
2057
2075
 
2058
- declare function Textarea({ className, ...props }: React.ComponentProps<"textarea">): react_jsx_runtime.JSX.Element;
2076
+ interface TextareaProps extends React.ComponentProps<"textarea"> {
2077
+ density?: ControlDensity;
2078
+ mobileDensity?: ControlDensity;
2079
+ mobileSurface?: ControlMobileSurface;
2080
+ }
2081
+ declare function Textarea({ className, density, mobileDensity, mobileSurface, ...props }: TextareaProps): react_jsx_runtime.JSX.Element;
2059
2082
 
2060
2083
  interface ThinkingIndicatorProps extends HTMLAttributes<HTMLDivElement> {
2061
2084
  label?: string;
@@ -2142,12 +2165,13 @@ interface TitledCardProps {
2142
2165
  className?: string;
2143
2166
  }>;
2144
2167
  contentPadding?: "default" | "flush-mobile" | "flush";
2168
+ mobileSurface?: CardMobileSurface;
2145
2169
  className?: string;
2146
2170
  contentClassName?: string;
2147
2171
  containerClassName?: string;
2148
2172
  titleClassName?: string;
2149
2173
  }
2150
- declare function TitledCard({ title, subtitle, children, actionButtons, icon: Icon, contentPadding, className, contentClassName, containerClassName, titleClassName, }: TitledCardProps): react_jsx_runtime.JSX.Element;
2174
+ declare function TitledCard({ title, subtitle, children, actionButtons, icon: Icon, contentPadding, mobileSurface, className, contentClassName, containerClassName, titleClassName, }: TitledCardProps): react_jsx_runtime.JSX.Element;
2151
2175
  declare namespace TitledCard {
2152
2176
  var displayName: string;
2153
2177
  }
@@ -2228,4 +2252,4 @@ interface UsageBarProps extends React.HTMLAttributes<HTMLDivElement> {
2228
2252
  }
2229
2253
  declare function UsageBar({ label, value, max, percent, valueLabel, showPercent, layout, tone, className, barClassName, indicatorClassName, ...props }: UsageBarProps): react_jsx_runtime.JSX.Element;
2230
2254
 
2231
- export { Accordion, AccordionContent, AccordionGroup, AccordionItem, AccordionTrigger, AccountMenuContent, AccountMenuHeader, AccountMenuItem, AccountMenuSection, AccountMenuSeparator, ActionPanel, ActivityFeed, Alert, AlertDescription, AlertDialogRoot as AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, type AskUserAnswer, type AskUserOption, type AskUserQuestion, AskUserQuestions, type AskUserQuestionsProps, AspectRatioRoot as AspectRatio, Avatar, AvatarFallback, AvatarImage, AvatarStack, type AvatarStackItem, AvatarWithStatus, Badge, type BadgeColor, type BadgeProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem$1 as BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupItem, type ButtonProps, CHART_COLORS, Calendar, type CalendarProps, Callout, type CalloutProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardHeading, CardMedia, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, ChatMessage, type ChatMessageProps, CheckboxRoot as Checkbox, CheckboxCard, type CheckboxCardProps, CheckboxGroup, CheckboxItem, CollapsibleRoot as Collapsible, CollapsibleContent, CollapsibleTrigger, type ColorFormat, ColorInput, type ColorInputProps, ColorPicker, ColorPickerPopover, type ColorPickerPopoverProps, ColorPickerPortalContainer, type ColorPickerProps, ColorSwatch, type ColorSwatchProps, ColorTile, Combobox, type ComboboxOption, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandPalette, type CommandPaletteItem, CommandSeparator, CommandShortcut, ContextMenuRoot as ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, DataTable, type DataTransferAction, DataTransferControls, type DataTransferControlsProps, type DataTransferScopeOption, DatePicker, type DescriptionItem, DescriptionList, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DrawerRoot as Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, Dropdown, DropdownLabel, DropdownMenuRoot as DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DropdownSeparator, EmptyState, type FeedEvent, Field, FileDropzone, type FileDropzoneProps, type FileDropzoneSelectedFile, FileThumbnail, type FileThumbnailProps, GridList, GridListAccentCard, GridListCard, HelpTooltip, type HelpTooltipProps, HoverCardRoot as HoverCard, HoverCardContent, HoverCardTrigger, type IconComponent, type IconLibrary, type IconName, IconProvider, Input, InputCopy, type InputCopyProps, InputField, InputGroup, InputMessage, type InputMessageProps, type InputMessageSlotContext, InputNumber, type InputNumberProps, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, Kbd, Label, MediaAssetCard, type MediaAssetCardProps, MediaAssetGrid, MediaAssetGridItem, type MediaAssetGridProps, MediaObject, MenuItem, MenubarRoot as Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MobileDrawer, type MobileDrawerProps, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavItem, type NavItemProps, NavMenu, type NavMenuItem, type NavMenuProps, NavigationMenuRoot as NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Notification, PageHeading, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, type ParsedColor, PopoverRoot as Popover, PopoverClose, PopoverContent, PopoverTrigger, ProgressRoot as Progress, PropertyRow, type PropertyRowProps, type QueuedMessage, type RadioCardOption, RadioCards, RadioGroup, RadioGroupItem, RadioItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, RichTextEditor, type RichTextEditorProps, type RichTextImageUrlHandler, SIDEBAR_COOKIE_MAX_AGE, SIDEBAR_COOKIE_NAME, SIDEBAR_KEYBOARD_SHORTCUT, SIDEBAR_WIDTH, SIDEBAR_WIDTH_ICON, SIDEBAR_WIDTH_MOBILE, ScrollAreaRoot as ScrollArea, SearchableTable, type SearchableTableColumn, type SearchableTableFilterOption, type SearchableTableProps, SectionHeading, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, type SelectItemProps, SelectLabel, type SelectProps, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, Separator, type ShapeClasses, ShapeProvider, type ShapeVariant, SheetRoot as Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, 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, SliderComfortable, type SliderComfortableProps, SliderControl, type SliderProps, type SliderValue, Spinner, StackedList, StackedListItem, StatCard, StatCardGrid, type StatCardGridProps, type StatCardProps, StatCardSlot, type StatCardSlotProps, StatusBadge, type StatusBadgeProps, type StatusBadgeVariant, StatusTile, StatusTileGrid, type StatusTileGridProps, type StatusTileProps, type Step, type StepStatus, Steps, SummaryTile, SummaryTileGrid, type SummaryTileGridProps, type SummaryTileProps, SurfaceProvider, Switch, type SwitchProps, TabItem, type TabItemProps, TabPanel, type TabPanelProps, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, type TabsListProps, type TabsProps, TabsSubtle, TabsSubtleItem, TabsSubtlePanel, TabsTrigger, Textarea, ThinkingIndicator, type ThinkingIndicatorProps, ThinkingStep, ThinkingStepDetails, type ThinkingStepDetailsProps, ThinkingStepImage, type ThinkingStepImageProps, type ThinkingStepProps, ThinkingStepSource, type ThinkingStepSourceProps, ThinkingStepSources, type ThinkingStepSourcesProps, type ThinkingStepStatus, ThinkingSteps, ThinkingStepsContent, type ThinkingStepsContentProps, ThinkingStepsHeader, type ThinkingStepsHeaderProps, type ThinkingStepsProps, TitledCard, type TitledCardProps, Toaster, ToggleRoot as Toggle, ToggleGroupRoot as ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipPortalContainer, type TooltipProps, TooltipProvider, TooltipRoot, type TooltipSide, TooltipTrigger, UrlRedirectPrompt, type UrlRedirectPromptProps, UsageBar, type UsageBarLayout, type UsageBarProps, type UsageBarTone, type ValuePosition, badgeColors, badgeVariants, buildParsed, buttonVariants, cardVariants, cn, formatDate, formatFileSize, hasUrlHandleChanged, iconLibraryLabels, iconLibraryOrder, loadPdfjs, navigationMenuTriggerStyle, normalizeUrlHandle, parseColor, renderPdfFirstPage, shapeMap, spinnerVariants, statusBadgeVariantFor, statusLabel, toggleVariants, triggerVariants, urlResourcePath, useDropdown, useIcon, useIconLibrary, useIcons, useOptionalSidebar, useShape, useShapeContext, useSidebar, useSurface };
2255
+ export { Accordion, AccordionContent, AccordionGroup, AccordionItem, AccordionTrigger, AccountMenuContent, AccountMenuHeader, AccountMenuItem, AccountMenuSection, AccountMenuSeparator, ActionPanel, ActivityFeed, Alert, AlertDescription, AlertDialogRoot as AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, AlertTitle, type AskUserAnswer, type AskUserOption, type AskUserQuestion, AskUserQuestions, type AskUserQuestionsProps, AspectRatioRoot as AspectRatio, Avatar, AvatarFallback, AvatarImage, AvatarStack, type AvatarStackItem, AvatarWithStatus, Badge, type BadgeColor, type BadgeProps, Breadcrumb, BreadcrumbEllipsis, BreadcrumbItem$1 as BreadcrumbItem, BreadcrumbLink, BreadcrumbList, BreadcrumbPage, BreadcrumbSeparator, Button, ButtonGroup, ButtonGroupItem, type ButtonProps, CHART_COLORS, Calendar, type CalendarProps, Callout, type CalloutProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardHeading, CardMedia, type CardMobileSurface, type CardProps, CardTitle, Carousel, type CarouselApi, CarouselContent, CarouselItem, CarouselNext, CarouselPrevious, type ChartConfig, ChartContainer, ChartLegend, ChartLegendContent, ChartStyle, ChartTooltip, ChartTooltipContent, ChatMessage, type ChatMessageProps, CheckboxRoot as Checkbox, CheckboxCard, type CheckboxCardProps, CheckboxGroup, CheckboxItem, CollapsibleRoot as Collapsible, CollapsibleContent, CollapsibleTrigger, type ColorFormat, ColorInput, type ColorInputProps, ColorPicker, ColorPickerPopover, type ColorPickerPopoverProps, ColorPickerPortalContainer, type ColorPickerProps, ColorSwatch, type ColorSwatchProps, ColorTile, Combobox, type ComboboxOption, Command, CommandDialog, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandPalette, type CommandPaletteItem, CommandSeparator, CommandShortcut, ContextMenuRoot as ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, type ControlDensity, type ControlMobileSurface, DataTable, type DataTransferAction, DataTransferControls, type DataTransferControlsProps, type DataTransferScopeOption, DatePicker, type DescriptionItem, DescriptionList, Dialog, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, DrawerRoot as Drawer, DrawerClose, DrawerContent, DrawerDescription, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, DrawerTitle, DrawerTrigger, Dropdown, DropdownLabel, DropdownMenuRoot as DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, DropdownSeparator, EmptyState, type FeedEvent, Field, FileDropzone, type FileDropzoneProps, type FileDropzoneSelectedFile, FileThumbnail, type FileThumbnailProps, GridList, GridListAccentCard, GridListCard, HelpTooltip, type HelpTooltipProps, HoverCardRoot as HoverCard, HoverCardContent, HoverCardTrigger, type IconComponent, type IconLibrary, type IconName, IconProvider, Input, InputCopy, type InputCopyProps, InputField, InputGroup, InputMessage, type InputMessageProps, type InputMessageSlotContext, InputNumber, type InputNumberProps, InputOTP, InputOTPGroup, InputOTPSeparator, InputOTPSlot, type InputProps, Kbd, Label, MediaAssetCard, type MediaAssetCardProps, MediaAssetGrid, MediaAssetGridItem, type MediaAssetGridProps, MediaObject, MenuItem, MenubarRoot as Menubar, MenubarCheckboxItem, MenubarContent, MenubarGroup, MenubarItem, MenubarLabel, MenubarMenu, MenubarRadioGroup, MenubarRadioItem, MenubarSeparator, MenubarShortcut, MenubarSub, MenubarSubContent, MenubarSubTrigger, MenubarTrigger, MobileDrawer, type MobileDrawerProps, NativeSelect, NativeSelectOptGroup, NativeSelectOption, NavItem, type NavItemProps, NavMenu, type NavMenuItem, type NavMenuProps, NavigationMenuRoot as NavigationMenu, NavigationMenuContent, NavigationMenuIndicator, NavigationMenuItem, NavigationMenuLink, NavigationMenuList, NavigationMenuTrigger, NavigationMenuViewport, Notification, PageHeading, Pagination, PaginationContent, PaginationEllipsis, PaginationItem, PaginationLink, PaginationNext, PaginationPrevious, type ParsedColor, PopoverRoot as Popover, PopoverClose, PopoverContent, PopoverTrigger, ProgressRoot as Progress, PropertyRow, type PropertyRowProps, type QueuedMessage, type RadioCardOption, RadioCards, RadioGroup, RadioGroupItem, RadioItem, ResizableHandle, ResizablePanel, ResizablePanelGroup, RichTextEditor, type RichTextEditorProps, type RichTextImageUrlHandler, SIDEBAR_COOKIE_MAX_AGE, SIDEBAR_COOKIE_NAME, SIDEBAR_KEYBOARD_SHORTCUT, SIDEBAR_WIDTH, SIDEBAR_WIDTH_ICON, SIDEBAR_WIDTH_MOBILE, ScrollAreaRoot as ScrollArea, SearchableTable, type SearchableTableColumn, type SearchableTableFilterOption, type SearchableTableProps, SectionHeading, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, type SelectItemProps, SelectLabel, type SelectProps, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, Separator, type ShapeClasses, ShapeProvider, type ShapeVariant, SheetRoot as Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetTitle, SheetTrigger, 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, SliderComfortable, type SliderComfortableProps, SliderControl, type SliderProps, type SliderValue, Spinner, StackedList, StackedListItem, StatCard, StatCardGrid, type StatCardGridProps, type StatCardProps, StatCardSlot, type StatCardSlotProps, StatusBadge, type StatusBadgeProps, type StatusBadgeVariant, StatusTile, StatusTileGrid, type StatusTileGridProps, type StatusTileProps, type Step, type StepStatus, Steps, SummaryTile, SummaryTileGrid, type SummaryTileGridProps, type SummaryTileProps, SurfaceProvider, Switch, type SwitchProps, TabItem, type TabItemProps, TabPanel, type TabPanelProps, Table, TableBody, TableCaption, TableCell, type TableDensity, TableFooter, TableHead, TableHeader, type TableMobileSurface, type TableProps, TableRow, Tabs, TabsContent, TabsList, type TabsListProps, type TabsProps, TabsSubtle, TabsSubtleItem, TabsSubtlePanel, TabsTrigger, Textarea, type TextareaProps, ThinkingIndicator, type ThinkingIndicatorProps, ThinkingStep, ThinkingStepDetails, type ThinkingStepDetailsProps, ThinkingStepImage, type ThinkingStepImageProps, type ThinkingStepProps, ThinkingStepSource, type ThinkingStepSourceProps, ThinkingStepSources, type ThinkingStepSourcesProps, type ThinkingStepStatus, ThinkingSteps, ThinkingStepsContent, type ThinkingStepsContentProps, ThinkingStepsHeader, type ThinkingStepsHeaderProps, type ThinkingStepsProps, TitledCard, type TitledCardProps, Toaster, ToggleRoot as Toggle, ToggleGroupRoot as ToggleGroup, ToggleGroupItem, Tooltip, TooltipContent, TooltipPortalContainer, type TooltipProps, TooltipProvider, TooltipRoot, type TooltipSide, TooltipTrigger, UrlRedirectPrompt, type UrlRedirectPromptProps, UsageBar, type UsageBarLayout, type UsageBarProps, type UsageBarTone, type ValuePosition, badgeColors, badgeVariants, buildParsed, buttonVariants, cardVariants, cn, formatDate, formatFileSize, hasUrlHandleChanged, iconLibraryLabels, iconLibraryOrder, loadPdfjs, navigationMenuTriggerStyle, normalizeUrlHandle, parseColor, renderPdfFirstPage, shapeMap, spinnerVariants, statusBadgeVariantFor, statusLabel, toggleVariants, triggerVariants, urlResourcePath, useDropdown, useIcon, useIconLibrary, useIcons, useOptionalSidebar, useShape, useShapeContext, useSidebar, useSurface };
package/dist/index.js CHANGED
@@ -3653,6 +3653,11 @@ function CardHeading({ title, description, actions, children, className }) {
3653
3653
  }
3654
3654
  );
3655
3655
  }
3656
+ var cardMobileSurfaceClasses = {
3657
+ default: "",
3658
+ flat: "max-sm:rounded-none max-sm:border-x-0 max-sm:border-y max-sm:bg-transparent max-sm:shadow-none",
3659
+ flush: "max-sm:rounded-none max-sm:border-0 max-sm:bg-transparent max-sm:shadow-none"
3660
+ };
3656
3661
  var cardVariants = cva(["rounded-xl", motionClasses], {
3657
3662
  variants: {
3658
3663
  variant: {
@@ -3669,12 +3674,12 @@ var cardVariants = cva(["rounded-xl", motionClasses], {
3669
3674
  }
3670
3675
  });
3671
3676
  var Card = React17.forwardRef(
3672
- ({ className, variant, ...props }, ref) => /* @__PURE__ */ jsx(
3677
+ ({ className, variant, mobileSurface = "default", ...props }, ref) => /* @__PURE__ */ jsx(
3673
3678
  "div",
3674
3679
  {
3675
3680
  ref,
3676
3681
  "data-slot": "card",
3677
- className: cn(cardVariants({ variant }), className),
3682
+ className: cn(cardVariants({ variant }), cardMobileSurfaceClasses[mobileSurface], className),
3678
3683
  ...props
3679
3684
  }
3680
3685
  )
@@ -3984,7 +3989,8 @@ function ChartContainer({
3984
3989
  "data-slot": "chart",
3985
3990
  "data-chart": chartId,
3986
3991
  className: cn(
3987
- "flex aspect-video justify-center text-xs",
3992
+ "flex justify-center text-xs",
3993
+ height === void 0 ? "aspect-video" : "w-full",
3988
3994
  "[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground",
3989
3995
  "[&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50",
3990
3996
  "[&_.recharts-curve.recharts-tooltip-cursor]:stroke-border",
@@ -7999,7 +8005,8 @@ function ColorInput2({
7999
8005
  onOpacityChange,
8000
8006
  className,
8001
8007
  disabled,
8002
- presets
8008
+ presets,
8009
+ mobileSurface = "default"
8003
8010
  }) {
8004
8011
  const shape3 = useShape();
8005
8012
  const [hex, setHex] = React17.useState(value);
@@ -8010,6 +8017,7 @@ function ColorInput2({
8010
8017
  if (/^#([0-9a-fA-F]{3}){1,2}$/.test(next)) onChange(next);
8011
8018
  else setHex(value);
8012
8019
  };
8020
+ const mobileSurfaceClass = mobileSurface === "flush" ? "max-sm:rounded-none max-sm:border-x-0 max-sm:border-t-0 max-sm:bg-transparent max-sm:px-0 max-sm:shadow-none max-sm:focus-within:ring-0" : "";
8013
8021
  return /* @__PURE__ */ jsxs(
8014
8022
  "div",
8015
8023
  {
@@ -8018,18 +8026,21 @@ function ColorInput2({
8018
8026
  shape3.input,
8019
8027
  "focus-within:border-brand-primary focus-within:ring-2 focus-within:ring-brand-primary/20",
8020
8028
  motionClasses,
8029
+ mobileSurfaceClass,
8021
8030
  disabled && "opacity-50 pointer-events-none",
8022
8031
  className
8023
8032
  ),
8024
8033
  children: [
8025
8034
  /* @__PURE__ */ jsx(
8026
- ColorPicker,
8035
+ ColorPickerPopover,
8027
8036
  {
8028
8037
  value,
8029
8038
  onChange,
8030
8039
  ...presets !== void 0 && { presets },
8031
8040
  ...disabled !== void 0 && { disabled },
8032
- className: "h-full w-8 border-0 rounded-none focus-visible:ring-0"
8041
+ triggerShowValue: false,
8042
+ hideEyedropper: true,
8043
+ triggerClassName: "h-full w-8 border-0 rounded-none bg-transparent px-1 hover:bg-hover focus-visible:ring-0"
8033
8044
  }
8034
8045
  ),
8035
8046
  /* @__PURE__ */ jsx(
@@ -8834,18 +8845,30 @@ function ContextMenuShortcut({ className, ...props }) {
8834
8845
  ContextMenuShortcut.displayName = "ContextMenuShortcut";
8835
8846
  var TableContext = createContext(null);
8836
8847
  var Table = forwardRef(
8837
- ({ children, className, containerClassName, ...props }, ref) => {
8848
+ ({
8849
+ children,
8850
+ className,
8851
+ containerClassName,
8852
+ density = "default",
8853
+ mobileDensity = "default",
8854
+ mobileSurface = "default",
8855
+ ...props
8856
+ }, ref) => {
8838
8857
  const containerRef = useRef(null);
8839
8858
  const { activeIndex, itemRects, sessionRef, handlers, registerItem, measureItems } = useProximityHover(containerRef);
8840
8859
  useEffect(() => {
8841
8860
  measureItems();
8842
8861
  }, [measureItems, children]);
8843
8862
  const activeRect = activeIndex !== null ? itemRects[activeIndex] : null;
8844
- return /* @__PURE__ */ jsx(TableContext.Provider, { value: { registerItem, activeIndex }, children: /* @__PURE__ */ jsxs(
8863
+ return /* @__PURE__ */ jsx(TableContext.Provider, { value: { registerItem, activeIndex, density, mobileDensity }, children: /* @__PURE__ */ jsxs(
8845
8864
  "div",
8846
8865
  {
8847
8866
  ref: containerRef,
8848
- className: cn("relative", containerClassName),
8867
+ className: cn(
8868
+ "relative",
8869
+ mobileSurface === "flat" && "max-sm:-mx-4 max-sm:overflow-x-auto max-sm:rounded-none max-sm:border-x-0",
8870
+ containerClassName
8871
+ ),
8849
8872
  onMouseEnter: handlers.onMouseEnter,
8850
8873
  onMouseMove: handlers.onMouseMove,
8851
8874
  onMouseLeave: handlers.onMouseLeave,
@@ -8880,7 +8903,7 @@ var Table = forwardRef(
8880
8903
  "table",
8881
8904
  {
8882
8905
  ref,
8883
- className: cn("w-full text-[13px] border-collapse", className),
8906
+ className: cn("w-full border-collapse text-[13px]", className),
8884
8907
  ...props,
8885
8908
  children
8886
8909
  }
@@ -8937,21 +8960,40 @@ var TableRow = forwardRef(
8937
8960
  );
8938
8961
  TableRow.displayName = "TableRow";
8939
8962
  var TableHead = forwardRef(
8940
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx("th", { ref, className: cn("px-3 py-2 text-left text-foreground", className), ...props })
8963
+ ({ className, ...props }, ref) => {
8964
+ const ctx = useContext(TableContext);
8965
+ const densityClass = ctx?.density === "compact" ? "px-2 py-1.5" : "px-3 py-2";
8966
+ const mobileDensityClass = ctx?.mobileDensity === "compact" ? "max-sm:px-2 max-sm:py-1.5" : "";
8967
+ return /* @__PURE__ */ jsx(
8968
+ "th",
8969
+ {
8970
+ ref,
8971
+ className: cn(densityClass, mobileDensityClass, "text-left text-foreground", className),
8972
+ ...props
8973
+ }
8974
+ );
8975
+ }
8941
8976
  );
8942
8977
  TableHead.displayName = "TableHead";
8943
8978
  var TableCell = forwardRef(
8944
- ({ className, ...props }, ref) => /* @__PURE__ */ jsx(
8945
- "td",
8946
- {
8947
- ref,
8948
- className: cn(
8949
- "px-3 py-2 text-muted-foreground transition-colors duration-80 group-[.is-active]/row:text-foreground",
8950
- className
8951
- ),
8952
- ...props
8953
- }
8954
- )
8979
+ ({ className, ...props }, ref) => {
8980
+ const ctx = useContext(TableContext);
8981
+ const densityClass = ctx?.density === "compact" ? "px-2 py-1.5" : "px-3 py-2";
8982
+ const mobileDensityClass = ctx?.mobileDensity === "compact" ? "max-sm:px-2 max-sm:py-1.5" : "";
8983
+ return /* @__PURE__ */ jsx(
8984
+ "td",
8985
+ {
8986
+ ref,
8987
+ className: cn(
8988
+ densityClass,
8989
+ mobileDensityClass,
8990
+ "text-muted-foreground transition-colors duration-80 group-[.is-active]/row:text-foreground",
8991
+ className
8992
+ ),
8993
+ ...props
8994
+ }
8995
+ );
8996
+ }
8955
8997
  );
8956
8998
  TableCell.displayName = "TableCell";
8957
8999
  var TableFooter = forwardRef(
@@ -8969,7 +9011,26 @@ var TableCaption = forwardRef(
8969
9011
  )
8970
9012
  );
8971
9013
  TableCaption.displayName = "TableCaption";
8972
- function Input({ className, type, ...props }) {
9014
+ var inputDensityClasses = {
9015
+ default: "h-10 px-3 py-1",
9016
+ compact: "h-8 px-2.5 py-1"
9017
+ };
9018
+ var inputMobileDensityClasses = {
9019
+ default: "",
9020
+ compact: "max-sm:h-8 max-sm:px-2.5 max-sm:py-1"
9021
+ };
9022
+ var controlMobileSurfaceClasses = {
9023
+ default: "",
9024
+ flush: "max-sm:rounded-none max-sm:border-x-0 max-sm:border-t-0 max-sm:bg-transparent max-sm:px-0 max-sm:shadow-none max-sm:focus-visible:ring-0 max-sm:focus-visible:ring-offset-0"
9025
+ };
9026
+ function Input({
9027
+ className,
9028
+ type,
9029
+ density = "default",
9030
+ mobileDensity = "default",
9031
+ mobileSurface = "default",
9032
+ ...props
9033
+ }) {
8973
9034
  const shape3 = useShape();
8974
9035
  return /* @__PURE__ */ jsx(
8975
9036
  "input",
@@ -8977,12 +9038,15 @@ function Input({ className, type, ...props }) {
8977
9038
  type,
8978
9039
  "data-slot": "input",
8979
9040
  className: cn(
8980
- "flex h-10 w-full px-3 py-1",
9041
+ "flex w-full",
9042
+ inputDensityClasses[density],
9043
+ inputMobileDensityClasses[mobileDensity],
8981
9044
  shape3.input,
8982
9045
  "body text-foreground placeholder:text-muted-foreground",
8983
9046
  controlSurfaceClasses,
8984
9047
  motionClasses,
8985
9048
  focusRingClasses,
9049
+ controlMobileSurfaceClasses[mobileSurface],
8986
9050
  "focus-visible:border-brand-primary",
8987
9051
  "disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-muted",
8988
9052
  "file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground",
@@ -9305,8 +9369,31 @@ var triggerVariants = cva(
9305
9369
  }
9306
9370
  }
9307
9371
  );
9372
+ var selectTriggerDensityClasses = {
9373
+ default: "h-9 px-3",
9374
+ compact: "h-8 px-2.5"
9375
+ };
9376
+ var selectTriggerMobileDensityClasses = {
9377
+ default: "",
9378
+ compact: "max-sm:h-8 max-sm:px-2.5"
9379
+ };
9380
+ var selectTriggerMobileSurfaceClasses = {
9381
+ default: "",
9382
+ flush: "max-sm:rounded-none max-sm:border-x-0 max-sm:border-t-0 max-sm:bg-transparent max-sm:px-0 max-sm:shadow-none max-sm:focus-visible:ring-0 max-sm:focus-visible:ring-offset-0"
9383
+ };
9308
9384
  var SelectTrigger = forwardRef(
9309
- ({ className, variant, icon: Icon, placeholder = "Select\u2026", error, children, ...props }, ref) => {
9385
+ ({
9386
+ className,
9387
+ variant,
9388
+ icon: Icon,
9389
+ placeholder = "Select\u2026",
9390
+ error,
9391
+ children,
9392
+ density = "default",
9393
+ mobileDensity = "default",
9394
+ mobileSurface = "default",
9395
+ ...props
9396
+ }, ref) => {
9310
9397
  const { value, open, setOpen, disabled, triggerRef, labelMap } = useSelectContext();
9311
9398
  const shape3 = useShape();
9312
9399
  const label = value ? labelMap.current.get(value) ?? value : void 0;
@@ -9334,6 +9421,9 @@ var SelectTrigger = forwardRef(
9334
9421
  "aria-invalid": !!error || void 0,
9335
9422
  className: cn(
9336
9423
  triggerVariants({ variant }),
9424
+ selectTriggerDensityClasses[density],
9425
+ selectTriggerMobileDensityClasses[mobileDensity],
9426
+ selectTriggerMobileSurfaceClasses[mobileSurface],
9337
9427
  shape3.input,
9338
9428
  error && "border-destructive/50 hover:border-destructive/50",
9339
9429
  className
@@ -14129,13 +14219,16 @@ function SidebarGroupLabel({
14129
14219
  ...props
14130
14220
  }) {
14131
14221
  const Comp = asChild ? Slot$1.Root : "div";
14222
+ const state = useOptionalSidebar()?.state ?? "expanded";
14132
14223
  return /* @__PURE__ */ jsx(
14133
14224
  Comp,
14134
14225
  {
14135
14226
  "data-sidebar": "group-label",
14227
+ "data-state": state,
14136
14228
  className: cn(
14137
14229
  "flex h-8 shrink-0 items-center rounded-md px-2 label text-muted-foreground",
14138
14230
  "outline-none ring-ring transition-[margin,opacity] duration-200 ease-linear",
14231
+ "data-[state=collapsed]:h-0 data-[state=collapsed]:m-0 data-[state=collapsed]:overflow-hidden data-[state=collapsed]:p-0 data-[state=collapsed]:opacity-0",
14139
14232
  "group-data-[state=collapsed]/sidebar-wrapper:opacity-0",
14140
14233
  "group-data-[state=collapsed]/sidebar-wrapper:h-0",
14141
14234
  "group-data-[state=collapsed]/sidebar-wrapper:m-0",
@@ -14193,10 +14286,12 @@ function SidebarMenuButton({
14193
14286
  ...props
14194
14287
  }) {
14195
14288
  const Comp = asChild ? Slot$1.Root : "button";
14289
+ const state = useOptionalSidebar()?.state ?? "expanded";
14196
14290
  const button = /* @__PURE__ */ jsx(
14197
14291
  Comp,
14198
14292
  {
14199
14293
  "data-sidebar": "menu-button",
14294
+ "data-state": state,
14200
14295
  "data-active": isActive,
14201
14296
  "data-size": size,
14202
14297
  className: cn(
@@ -14209,6 +14304,7 @@ function SidebarMenuButton({
14209
14304
  "active:bg-muted",
14210
14305
  "disabled:pointer-events-none disabled:opacity-50",
14211
14306
  "[&>svg]:size-4 [&>svg]:shrink-0",
14307
+ "[&>span]:min-w-0 [&>span]:truncate",
14212
14308
  // Size variants
14213
14309
  size === "sm" && "h-7 text-xs",
14214
14310
  size === "lg" && "h-10",
@@ -14218,9 +14314,12 @@ function SidebarMenuButton({
14218
14314
  "hover:bg-brand-primary/15 hover:text-brand-primary"
14219
14315
  ],
14220
14316
  // Collapsed state
14317
+ "data-[state=collapsed]:size-9 data-[state=collapsed]:justify-center data-[state=collapsed]:p-0",
14318
+ "data-[state=collapsed]:[&>span]:hidden",
14221
14319
  "group-data-[state=collapsed]/sidebar-wrapper:justify-center",
14222
14320
  "group-data-[state=collapsed]/sidebar-wrapper:size-9",
14223
14321
  "group-data-[state=collapsed]/sidebar-wrapper:p-0",
14322
+ "group-data-[state=collapsed]/sidebar-wrapper:[&>span]:hidden",
14224
14323
  className
14225
14324
  ),
14226
14325
  ...props,
@@ -14273,13 +14372,16 @@ function SidebarMenuAction({
14273
14372
  );
14274
14373
  }
14275
14374
  function SidebarMenuBadge({ className, ...props }) {
14375
+ const state = useOptionalSidebar()?.state ?? "expanded";
14276
14376
  return /* @__PURE__ */ jsx(
14277
14377
  "div",
14278
14378
  {
14279
14379
  "data-sidebar": "menu-badge",
14380
+ "data-state": state,
14280
14381
  className: cn(
14281
14382
  "absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-full",
14282
14383
  "caption font-medium bg-muted text-muted-foreground px-1",
14384
+ "data-[state=collapsed]:hidden",
14283
14385
  "group-data-[state=collapsed]/sidebar-wrapper:hidden",
14284
14386
  className
14285
14387
  ),
@@ -14315,12 +14417,15 @@ function SidebarMenuSkeleton({
14315
14417
  );
14316
14418
  }
14317
14419
  function SidebarMenuSub({ className, ...props }) {
14420
+ const state = useOptionalSidebar()?.state ?? "expanded";
14318
14421
  return /* @__PURE__ */ jsx(
14319
14422
  "ul",
14320
14423
  {
14321
14424
  "data-sidebar": "menu-sub",
14425
+ "data-state": state,
14322
14426
  className: cn(
14323
14427
  "mx-3.5 flex min-w-0 flex-col gap-1 border-l border-border pl-3",
14428
+ "data-[state=collapsed]:hidden",
14324
14429
  "group-data-[state=collapsed]/sidebar-wrapper:hidden",
14325
14430
  className
14326
14431
  ),
@@ -15668,20 +15773,41 @@ var TabsSubtlePanel = forwardRef(
15668
15773
  }
15669
15774
  );
15670
15775
  TabsSubtlePanel.displayName = "TabsSubtlePanel";
15671
- function Textarea({ className, ...props }) {
15776
+ var textareaDensityClasses = {
15777
+ default: "min-h-[80px] px-3 py-2",
15778
+ compact: "min-h-16 px-2.5 py-1.5"
15779
+ };
15780
+ var textareaMobileDensityClasses = {
15781
+ default: "",
15782
+ compact: "max-sm:min-h-16 max-sm:px-2.5 max-sm:py-1.5"
15783
+ };
15784
+ var textareaMobileSurfaceClasses = {
15785
+ default: "",
15786
+ flush: "max-sm:rounded-none max-sm:border-x-0 max-sm:border-t-0 max-sm:bg-transparent max-sm:px-0 max-sm:shadow-none max-sm:focus-visible:ring-0 max-sm:focus-visible:ring-offset-0"
15787
+ };
15788
+ function Textarea({
15789
+ className,
15790
+ density = "default",
15791
+ mobileDensity = "default",
15792
+ mobileSurface = "default",
15793
+ ...props
15794
+ }) {
15672
15795
  const shape3 = useShape();
15673
15796
  return /* @__PURE__ */ jsx(
15674
15797
  "textarea",
15675
15798
  {
15676
15799
  "data-slot": "textarea",
15677
15800
  className: cn(
15678
- "flex min-h-[80px] w-full px-3 py-2",
15801
+ "flex w-full",
15802
+ textareaDensityClasses[density],
15803
+ textareaMobileDensityClasses[mobileDensity],
15679
15804
  shape3.input,
15680
15805
  "body text-foreground placeholder:text-muted-foreground",
15681
15806
  "resize-none",
15682
15807
  controlSurfaceClasses,
15683
15808
  motionClasses,
15684
15809
  focusRingClasses,
15810
+ textareaMobileSurfaceClasses[mobileSurface],
15685
15811
  "focus-visible:border-brand-primary",
15686
15812
  "disabled:cursor-not-allowed disabled:opacity-50 disabled:bg-muted",
15687
15813
  className
@@ -15994,6 +16120,7 @@ function TitledCard({
15994
16120
  actionButtons,
15995
16121
  icon: Icon,
15996
16122
  contentPadding = "default",
16123
+ mobileSurface = "flush",
15997
16124
  className,
15998
16125
  contentClassName,
15999
16126
  containerClassName,
@@ -16002,12 +16129,13 @@ function TitledCard({
16002
16129
  const hasHeader = Boolean(title || subtitle || actionButtons);
16003
16130
  const canUseCardHeading = Boolean(title) && !actionButtons && !titleClassName;
16004
16131
  const contentPaddingClassName = contentPadding === "flush" ? "p-0" : contentPadding === "flush-mobile" ? "p-0 sm:p-5" : hasHeader ? "p-4 sm:p-5" : "p-0 sm:p-5";
16132
+ const isMobileFlat = mobileSurface === "flat" || mobileSurface === "flush";
16005
16133
  return /* @__PURE__ */ jsxs(
16006
16134
  Card,
16007
16135
  {
16136
+ mobileSurface,
16008
16137
  className: cn(
16009
16138
  "min-w-0 overflow-hidden border border-border bg-card shadow-natural",
16010
- "max-sm:rounded-none max-sm:border-0 max-sm:bg-transparent max-sm:shadow-none",
16011
16139
  containerClassName,
16012
16140
  className
16013
16141
  ),
@@ -16018,32 +16146,46 @@ function TitledCard({
16018
16146
  {
16019
16147
  title,
16020
16148
  ...subtitle ? { description: subtitle } : {},
16021
- className: "max-sm:border-b-0 max-sm:px-0 max-sm:pb-3",
16149
+ className: cn(isMobileFlat && "max-sm:border-b-0 max-sm:px-0 max-sm:pb-3"),
16022
16150
  children: Icon && /* @__PURE__ */ jsx(Icon, { className: "size-5 shrink-0 text-muted-foreground" })
16023
16151
  }
16024
- ) : hasHeader ? /* @__PURE__ */ jsxs(CardHeader, { className: "flex flex-col gap-3 border-b border-border p-4 max-sm:border-b-0 max-sm:px-0 max-sm:pb-3 sm:flex-row sm:items-start sm:justify-between sm:p-5", children: [
16025
- /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
16026
- title && /* @__PURE__ */ jsxs(
16027
- CardTitle,
16028
- {
16029
- className: cn(
16030
- "flex min-w-0 items-center gap-2 text-base leading-tight sm:text-lg",
16031
- titleClassName
16032
- ),
16033
- children: [
16034
- Icon && /* @__PURE__ */ jsx(Icon, { className: "size-5 shrink-0 text-muted-foreground" }),
16035
- /* @__PURE__ */ jsx("span", { className: "min-w-0 truncate", children: title })
16036
- ]
16037
- }
16152
+ ) : hasHeader ? /* @__PURE__ */ jsxs(
16153
+ CardHeader,
16154
+ {
16155
+ className: cn(
16156
+ "flex flex-col gap-3 border-b border-border p-4 sm:flex-row sm:items-start sm:justify-between sm:p-5",
16157
+ isMobileFlat && "max-sm:border-b-0 max-sm:px-0 max-sm:pb-3"
16038
16158
  ),
16039
- subtitle && /* @__PURE__ */ jsx(CardDescription, { className: "mt-1 max-w-3xl text-sm leading-5", children: subtitle })
16040
- ] }),
16041
- actionButtons && /* @__PURE__ */ jsx("div", { className: "flex w-full min-w-0 flex-wrap items-center gap-2 sm:w-auto sm:justify-end", children: actionButtons })
16042
- ] }) : null,
16159
+ children: [
16160
+ /* @__PURE__ */ jsxs("div", { className: "min-w-0 flex-1", children: [
16161
+ title && /* @__PURE__ */ jsxs(
16162
+ CardTitle,
16163
+ {
16164
+ className: cn(
16165
+ "flex min-w-0 items-center gap-2 text-base leading-tight sm:text-lg",
16166
+ titleClassName
16167
+ ),
16168
+ children: [
16169
+ Icon && /* @__PURE__ */ jsx(Icon, { className: "size-5 shrink-0 text-muted-foreground" }),
16170
+ /* @__PURE__ */ jsx("span", { className: "min-w-0 truncate", children: title })
16171
+ ]
16172
+ }
16173
+ ),
16174
+ subtitle && /* @__PURE__ */ jsx(CardDescription, { className: "mt-1 max-w-3xl text-sm leading-5", children: subtitle })
16175
+ ] }),
16176
+ actionButtons && /* @__PURE__ */ jsx("div", { className: "flex w-full min-w-0 flex-wrap items-center gap-2 sm:w-auto sm:justify-end", children: actionButtons })
16177
+ ]
16178
+ }
16179
+ ) : null,
16043
16180
  children && /* @__PURE__ */ jsx(
16044
16181
  CardContent,
16045
16182
  {
16046
- className: cn(contentPaddingClassName, "min-w-0 max-sm:px-0", contentClassName),
16183
+ className: cn(
16184
+ contentPaddingClassName,
16185
+ "min-w-0",
16186
+ isMobileFlat && "max-sm:px-0",
16187
+ contentClassName
16188
+ ),
16047
16189
  children
16048
16190
  }
16049
16191
  )