@ai-matrx/design-system 0.8.0 → 0.10.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.cts CHANGED
@@ -205,6 +205,12 @@ declare const AlertDialogDescription: React.ForwardRefExoticComponent<Omit<Alert
205
205
  interface AlertDialogContentProps extends React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content> {
206
206
  /** Explicit portal target; wins over the injected container. */
207
207
  container?: HTMLElement | null;
208
+ /**
209
+ * Package-owned open/close motion. Default `true`. Pass `false` for a
210
+ * surface that must appear instantly. It is NOT the reduced-motion switch;
211
+ * `styles.css` already honours `prefers-reduced-motion`.
212
+ */
213
+ animated?: boolean;
208
214
  }
209
215
  declare const AlertDialogContent: React.ForwardRefExoticComponent<AlertDialogContentProps & React.RefAttributes<HTMLDivElement>>;
210
216
  declare const AlertDialogHeader: {
@@ -312,9 +318,59 @@ declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.Re
312
318
 
313
319
  declare function cn(...inputs: ClassValue[]): string;
314
320
 
321
+ /**
322
+ * Collapsible — Radix's, with the one thing Radix does not ship: the open/close
323
+ * transition.
324
+ *
325
+ * THE ROOT RENDERS UNCONDITIONALLY — no mount gate. The matrx-frontend
326
+ * original carried the note that earned this line: a wrapper used to defer
327
+ * rendering until after hydration on the theory that "Radix generates dynamic
328
+ * aria-controls ids that differ between SSR and client". That was false —
329
+ * Radix ids come from React's SSR-stable `useId` — and the gate was actively
330
+ * harmful, because a Collapsible's Trigger wraps ALWAYS-VISIBLE content, so
331
+ * `return null` deleted it from SSR and from the first client paint.
332
+ *
333
+ * THE TRANSITION IS PACKAGE-OWNED (census row 19f, the tail of 19c). Until
334
+ * 0.9.0 this file was a bare re-export and the package shipped NO transition,
335
+ * so every consumer invented its own — and two of them invented it wrong.
336
+ * `matrx-collapsible.tsx` and `enhanced-collapsible.tsx` put
337
+ * `animate-accordion-down`/`-up` on a COLLAPSIBLE panel: those keyframes
338
+ * interpolate to `--radix-ACCORDION-content-height`, a variable Radix never
339
+ * publishes on a collapsible, so they had never animated once — silently, with
340
+ * no error, for as long as they existed. Six other matrx-frontend components
341
+ * used host-only `animate-slide-down`/`-up` keyframes that WERE keyed
342
+ * correctly — and worked in exactly one app in the fleet, because the
343
+ * keyframes lived in that app's `globals.css`. Both shapes are the same C26
344
+ * failure: a component whose motion depends on a contract the host has to
345
+ * happen to hold. `.matrx-collapsible-content` in `styles.css` ends it — keyed
346
+ * off Radix's runtime `--radix-collapsible-content-height`, honouring
347
+ * `prefers-reduced-motion`, shipped in the tarball.
348
+ *
349
+ * Nothing else here is restyled: the trigger and the panel's own padding are
350
+ * the host's to dress, and every fork agreed on that. Unlike `AccordionContent`
351
+ * this component does NOT wrap children in a padding div — collapsibles in the
352
+ * fleet pad their own bodies, and inserting a box would move every one of them.
353
+ */
354
+
315
355
  declare const Collapsible: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleProps & React.RefAttributes<HTMLDivElement>>;
316
356
  declare const CollapsibleTrigger: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleTriggerProps & React.RefAttributes<HTMLButtonElement>>;
317
- declare const CollapsibleContent: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleContentProps & React.RefAttributes<HTMLDivElement>>;
357
+ interface CollapsibleContentProps extends React.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.CollapsibleContent> {
358
+ /**
359
+ * Animate the height on open/close. Default `true`.
360
+ *
361
+ * Pass `false` for the rare panel that must not clip or must not move: the
362
+ * animated panel carries `overflow-hidden` (a height transition without it
363
+ * spills the body over whatever is below), so a panel with a child that
364
+ * deliberately overflows its bounds — a non-portalled popover, a sticky
365
+ * column header — opts out here rather than fighting the class. Opting out
366
+ * gives you bare Radix: instant open, no clipping, no keyframes.
367
+ *
368
+ * `prefers-reduced-motion` is NOT this prop's job; the stylesheet already
369
+ * drops the animation for those users while keeping the clipping.
370
+ */
371
+ animated?: boolean;
372
+ }
373
+ declare const CollapsibleContent: React.ForwardRefExoticComponent<CollapsibleContentProps & React.RefAttributes<HTMLDivElement>>;
318
374
 
319
375
  /**
320
376
  * Command — ported verbatim from matrx-frontend `components/ui/command.tsx`.
@@ -660,6 +716,12 @@ interface DialogContentProps extends React.ComponentPropsWithoutRef<typeof Dialo
660
716
  showCloseButton?: boolean;
661
717
  /** Explicit portal target; wins over the injected container. */
662
718
  container?: HTMLElement | null;
719
+ /**
720
+ * Package-owned open/close motion. Default `true`. Pass `false` for a
721
+ * surface that must appear instantly. It is NOT the reduced-motion switch;
722
+ * `styles.css` already honours `prefers-reduced-motion`.
723
+ */
724
+ animated?: boolean;
663
725
  }
664
726
  declare const DialogContent: React.ForwardRefExoticComponent<DialogContentProps & React.RefAttributes<HTMLDivElement>>;
665
727
  declare const DialogHeader: {
@@ -899,9 +961,18 @@ declare function OverflowToolbar({ actions, leading, overflowAriaLabel, classNam
899
961
  declare const Popover: React.FC<PopoverPrimitive.PopoverProps>;
900
962
  declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
901
963
  declare const PopoverAnchor: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & React.RefAttributes<HTMLDivElement>>;
902
- declare const PopoverContent: React.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
964
+ interface PopoverContentProps extends React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> {
965
+ /** Explicit portal target; wins over the injected container. */
903
966
  container?: HTMLElement | null;
904
- } & React.RefAttributes<HTMLDivElement>>;
967
+ /**
968
+ * Package-owned open/close motion. Default `true`. Pass `false` for a
969
+ * surface that must appear instantly — a picker re-anchoring while the user
970
+ * types, a measurement pass. It is NOT the reduced-motion switch;
971
+ * `styles.css` already honours `prefers-reduced-motion`.
972
+ */
973
+ animated?: boolean;
974
+ }
975
+ declare const PopoverContent: React.ForwardRefExoticComponent<PopoverContentProps & React.RefAttributes<HTMLDivElement>>;
905
976
 
906
977
  /**
907
978
  * Progress — a determinate bar.
@@ -1066,9 +1137,17 @@ interface SelectTriggerProps extends React.ComponentPropsWithoutRef<typeof Selec
1066
1137
  declare const SelectTrigger: React.ForwardRefExoticComponent<SelectTriggerProps & React.RefAttributes<HTMLButtonElement>>;
1067
1138
  declare const SelectScrollUpButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
1068
1139
  declare const SelectScrollDownButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
1069
- declare const SelectContent: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
1140
+ interface SelectContentProps extends React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content> {
1141
+ /** Explicit portal target; wins over the injected container. */
1070
1142
  container?: HTMLElement | null;
1071
- } & React.RefAttributes<HTMLDivElement>>;
1143
+ /**
1144
+ * Package-owned open/close motion. Default `true`. Pass `false` for a
1145
+ * surface that must appear instantly. It is NOT the reduced-motion switch;
1146
+ * `styles.css` already honours `prefers-reduced-motion`.
1147
+ */
1148
+ animated?: boolean;
1149
+ }
1150
+ declare const SelectContent: React.ForwardRefExoticComponent<SelectContentProps & React.RefAttributes<HTMLDivElement>>;
1072
1151
  declare const SelectLabel: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
1073
1152
  declare const SelectItem: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
1074
1153
  /**
@@ -1098,6 +1177,13 @@ interface SheetContentProps extends React.ComponentPropsWithoutRef<typeof Dialog
1098
1177
  hideOverlay?: boolean;
1099
1178
  /** Optional className for the overlay when shown. */
1100
1179
  overlayClassName?: string;
1180
+ /**
1181
+ * Package-owned open/close motion. Default `true`. Pass `false` for a panel
1182
+ * that must appear instantly — a persistent side rail toggled by a keyboard
1183
+ * shortcut, say. It is NOT the reduced-motion switch; `styles.css` already
1184
+ * honours `prefers-reduced-motion`.
1185
+ */
1186
+ animated?: boolean;
1101
1187
  }
1102
1188
  declare const SheetDescription: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
1103
1189
  declare const SheetContent: React.ForwardRefExoticComponent<SheetContentProps & React.RefAttributes<HTMLDivElement>>;
@@ -1112,11 +1198,28 @@ declare const SheetFooter: {
1112
1198
  declare const SheetTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
1113
1199
 
1114
1200
  /**
1115
- * Skeleton — ported verbatim from matrx-frontend `components/ui/skeleton.tsx`.
1116
- * No seams: pure markup over host semantic tokens.
1201
+ * Skeleton — the "content is coming" placeholder.
1202
+ *
1203
+ * Ported from matrx-frontend `components/ui/skeleton.tsx`; no seams, pure
1204
+ * markup over semantic tokens. ONE change from the original (0.10.0): the
1205
+ * breathing loop is `.matrx-pulse`, a package-owned keyframe, not Tailwind's
1206
+ * `animate-pulse`. A Skeleton that does not pulse is indistinguishable from an
1207
+ * empty grey box — it stops saying "loading" and starts saying "nothing here"
1208
+ * — so the motion is part of the component's meaning and ships with it (see
1209
+ * `styles.css` § THE MOTION LAYER).
1117
1210
  */
1118
1211
 
1119
- declare function Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): React.JSX.Element;
1212
+ interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {
1213
+ /**
1214
+ * Package-owned pulse. Default `true`. Pass `false` for a static
1215
+ * placeholder — a print/PDF render, or a screenshot fixture where the
1216
+ * animation makes the output non-deterministic. `prefers-reduced-motion`
1217
+ * already SLOWS the pulse rather than stopping it (a still skeleton would
1218
+ * lose the information), so this is not the accessibility switch.
1219
+ */
1220
+ animated?: boolean;
1221
+ }
1222
+ declare function Skeleton({ className, animated, ...props }: SkeletonProps): React.JSX.Element;
1120
1223
 
1121
1224
  /**
1122
1225
  * Switch — Radix switch, one implementation, two sizes.
@@ -1427,6 +1530,13 @@ declare const HoverCardTrigger: React.ForwardRefExoticComponent<HoverCardPrimiti
1427
1530
  interface HoverCardContentProps extends React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content> {
1428
1531
  /** Explicit portal target; wins over the injected container. */
1429
1532
  container?: HTMLElement | null;
1533
+ /**
1534
+ * Package-owned open/close motion. Default `true`. Pass `false` for a
1535
+ * surface that must appear instantly — a picker re-anchoring while the user
1536
+ * types, a measurement pass. It is NOT the reduced-motion switch;
1537
+ * `styles.css` already honours `prefers-reduced-motion`.
1538
+ */
1539
+ animated?: boolean;
1430
1540
  }
1431
1541
  declare const HoverCardContent: React.ForwardRefExoticComponent<HoverCardContentProps & React.RefAttributes<HTMLDivElement>>;
1432
1542
 
@@ -1610,7 +1720,72 @@ interface TooltipContentProps extends React.ComponentPropsWithoutRef<typeof Tool
1610
1720
  * value. Pass `null` to force `document.body`.
1611
1721
  */
1612
1722
  container?: HTMLElement | null;
1723
+ /**
1724
+ * Package-owned open/close motion. Default `true`. Pass `false` for a
1725
+ * surface that must appear instantly. It is NOT the reduced-motion switch;
1726
+ * `styles.css` already honours `prefers-reduced-motion`.
1727
+ */
1728
+ animated?: boolean;
1613
1729
  }
1614
1730
  declare const TooltipContent: React.ForwardRefExoticComponent<TooltipContentProps & React.RefAttributes<HTMLDivElement>>;
1615
1731
 
1616
- export { Accordion, AccordionContent, AccordionItem, type AccordionProps, type AccordionSize, AccordionTrigger, type AccordionTriggerProps, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogContentPrimitive, type AlertDialogContentProps, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, type AlertProps, AlertTitle, Avatar, AvatarFallback, AvatarImage, type AvatarProps, type AvatarSize, Badge, type BadgeProps, BasicInput, BasicTextarea, BottomSheet, BottomSheetBody, type BottomSheetBodyProps, BottomSheetFooter, type BottomSheetFooterProps, BottomSheetHeader, type BottomSheetHeaderProps, type BottomSheetProps, Button, type ButtonProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, type CardSize, CardTitle, Checkbox, type CheckboxProps, type CheckboxSize, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, type CommandDialogProps, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, type ContextMenuContentProps, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, type CreatableOption, CreatablePicker, type CreatablePickerProps, DEFAULT_SCORE_THRESHOLDS, Dialog, DialogClose, DialogContent, DialogContentPrimitive, type DialogContentProps, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerContentPrimitive, type DrawerContentProps, DrawerDescription, type DrawerDirection, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, type DrawerProps, type DrawerSize, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EditableLabel, type EditableLabelActivation, type EditableLabelCommitMode, type EditableLabelProps, EnterInput, type EnterInputProps, HoverCard, HoverCardContent, type HoverCardContentProps, HoverCardTrigger, Input, type InputProps, type InputVariant, InputWithPrefix, type InputWithPrefixProps, Label, MOBILE_BREAKPOINT, OverflowToolbar, type OverflowToolbarProps, type PickerIcon, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PortalContainerProvider, type PortalContainerProviderProps, Progress, type ProgressProps, type ProgressTone, RadioGroup, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, type RadioGroupSize, RadixDialogModalProvider, type RadixDialogModalProviderProps, ResizableHandle, type ResizableHandleProps, type ResizableHandleSize, ResizablePanel, ResizablePanelGroup, ScoreRing, type ScoreRingProps, type ScoreThresholds, ScrollArea, type ScrollAreaProps, ScrollBar, type ScrollFadeState, type SegmentOption, SegmentedControl, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, Separator, Sheet, SheetClose, SheetContent, type SheetContentProps, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, Slider, type SliderProps, type SliderSize, Switch, type SwitchProps, type SwitchSize, TabbedBottomSheet, type TabbedBottomSheetProps, type TabbedBottomSheetTab, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableSize, Tabs, TabsContent, TabsList, TabsTrigger, TabsTriggerCore, Textarea, type TextareaProps, TextareaWithPrefix, type TextareaWithPrefixProps, Toggle, ToggleGroup, ToggleGroupItem, type ToggleGroupItemProps, type ToggleGroupProps, type ToggleProps, type ToolbarAction, type ToolbarActionTone, type ToolbarIcon, Tooltip, TooltipContent, type TooltipContentProps, TooltipProvider, TooltipTrigger, type UseScrollFadeResult, alertVariants, badgeVariants, buttonVariants, cn, scoreAccentBgClasses, scoreRingColorClasses, selectTriggerVariants, sheetVariants, toggleVariants, useAccordionSize, useCardSize, useDialogContainer, useDrawerDirection, useIsMobile, usePortalContainer, useRadixDialogModal, useScrollFade, useTableSize };
1732
+ /**
1733
+ * THE MOTION CONTRACT (0.10.0) — the class names every animated surface in
1734
+ * this package puts on the DOM, in ONE place.
1735
+ *
1736
+ * Why a module and not ten inline strings: the sweep that produced this file
1737
+ * found the same defect ten times over, and it was invisible each time
1738
+ * because each primitive spelled its animation out by hand. Ten hand-written
1739
+ * copies of `data-[state=open]:animate-in data-[state=closed]:animate-out
1740
+ * data-[state=closed]:fade-out-0 …` meant ten chances to reach for a utility
1741
+ * nothing in the package defines — which is exactly what happened. A single
1742
+ * exported constant per motion SHAPE means the next primitive cannot invent
1743
+ * an eleventh spelling, and `styles.test.ts` can prove every one of them
1744
+ * resolves to a rule in the shipped stylesheet.
1745
+ *
1746
+ * Every rule these name lives in `styles.css` under the package's own
1747
+ * keyframes. NONE of them is a Tailwind utility, and none requires a host
1748
+ * plugin — see that file's header for the measurement that made this
1749
+ * necessary.
1750
+ */
1751
+ /** Modal scrims: Dialog, AlertDialog, Sheet, CommandDialog. Fade only. */
1752
+ declare const MOTION_OVERLAY = "matrx-motion-overlay";
1753
+ /** The centred dialog card. Fades and scales, ending on the `-50%` centring. */
1754
+ declare const MOTION_DIALOG = "matrx-motion-dialog";
1755
+ /** The mobile Dialog / CommandDialog bottom sheet. Slides up and fades. */
1756
+ declare const MOTION_BOTTOM_SHEET = "matrx-motion-bottom-sheet";
1757
+ /**
1758
+ * Radix-popper surfaces: Popover, DropdownMenu, ContextMenu, HoverCard,
1759
+ * Select, Tooltip. Reads `--radix-popper-transform-origin` so the surface
1760
+ * grows out of its trigger, and `data-side` so it travels from it.
1761
+ */
1762
+ declare const MOTION_POPPER = "matrx-motion-popper";
1763
+ /** Edge sheets, one class per `sheetVariants` side. */
1764
+ declare const MOTION_SHEET: {
1765
+ readonly top: "matrx-motion-sheet-top";
1766
+ readonly bottom: "matrx-motion-sheet-bottom";
1767
+ readonly left: "matrx-motion-sheet-left";
1768
+ readonly right: "matrx-motion-sheet-right";
1769
+ readonly center: "matrx-motion-sheet-center";
1770
+ };
1771
+ /** Skeleton's breathing loop. */
1772
+ declare const MOTION_PULSE = "matrx-pulse";
1773
+ /** The spinner loop, for every inline busy indicator in the package. */
1774
+ declare const MOTION_SPIN = "matrx-spin";
1775
+ /**
1776
+ * Every motion class the package ships, for the guards. If a rule for one of
1777
+ * these is missing from `styles.css`, a component animates in no consumer and
1778
+ * says nothing about it — the C26 failure this list exists to make loud.
1779
+ */
1780
+ declare const ALL_MOTION_CLASSES: readonly ["matrx-motion-overlay", "matrx-motion-dialog", "matrx-motion-bottom-sheet", "matrx-motion-popper", ...("matrx-motion-sheet-top" | "matrx-motion-sheet-bottom" | "matrx-motion-sheet-left" | "matrx-motion-sheet-right" | "matrx-motion-sheet-center")[], "matrx-pulse", "matrx-spin"];
1781
+ /**
1782
+ * The host-plugin utilities this package is forbidden to emit. They are
1783
+ * supplied by `tailwindcss-animate` / `tw-animate-css`, which is a HOST CSS
1784
+ * entry concern a package cannot declare a dependency on: three of the four
1785
+ * AI Matrx consumers never loaded it, so every surface wearing these appeared
1786
+ * with no animation and no error. `styles.test.ts` fails the build if one
1787
+ * comes back.
1788
+ */
1789
+ declare const FORBIDDEN_HOST_MOTION_UTILITIES: readonly ["animate-in", "animate-out", "fade-in", "fade-out", "zoom-in", "zoom-out", "slide-in-from", "slide-out-to", "animate-accordion", "animate-slide-down", "animate-slide-up", "animate-pulse", "animate-spin"];
1790
+
1791
+ export { ALL_MOTION_CLASSES, Accordion, AccordionContent, AccordionItem, type AccordionProps, type AccordionSize, AccordionTrigger, type AccordionTriggerProps, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogContentPrimitive, type AlertDialogContentProps, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, type AlertProps, AlertTitle, Avatar, AvatarFallback, AvatarImage, type AvatarProps, type AvatarSize, Badge, type BadgeProps, BasicInput, BasicTextarea, BottomSheet, BottomSheetBody, type BottomSheetBodyProps, BottomSheetFooter, type BottomSheetFooterProps, BottomSheetHeader, type BottomSheetHeaderProps, type BottomSheetProps, Button, type ButtonProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, type CardSize, CardTitle, Checkbox, type CheckboxProps, type CheckboxSize, Collapsible, CollapsibleContent, type CollapsibleContentProps, CollapsibleTrigger, Command, CommandDialog, type CommandDialogProps, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, type ContextMenuContentProps, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, type CreatableOption, CreatablePicker, type CreatablePickerProps, DEFAULT_SCORE_THRESHOLDS, Dialog, DialogClose, DialogContent, DialogContentPrimitive, type DialogContentProps, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerContentPrimitive, type DrawerContentProps, DrawerDescription, type DrawerDirection, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, type DrawerProps, type DrawerSize, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EditableLabel, type EditableLabelActivation, type EditableLabelCommitMode, type EditableLabelProps, EnterInput, type EnterInputProps, FORBIDDEN_HOST_MOTION_UTILITIES, HoverCard, HoverCardContent, type HoverCardContentProps, HoverCardTrigger, Input, type InputProps, type InputVariant, InputWithPrefix, type InputWithPrefixProps, Label, MOBILE_BREAKPOINT, MOTION_BOTTOM_SHEET, MOTION_DIALOG, MOTION_OVERLAY, MOTION_POPPER, MOTION_PULSE, MOTION_SHEET, MOTION_SPIN, OverflowToolbar, type OverflowToolbarProps, type PickerIcon, Popover, PopoverAnchor, PopoverContent, type PopoverContentProps, PopoverTrigger, PortalContainerProvider, type PortalContainerProviderProps, Progress, type ProgressProps, type ProgressTone, RadioGroup, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, type RadioGroupSize, RadixDialogModalProvider, type RadixDialogModalProviderProps, ResizableHandle, type ResizableHandleProps, type ResizableHandleSize, ResizablePanel, ResizablePanelGroup, ScoreRing, type ScoreRingProps, type ScoreThresholds, ScrollArea, type ScrollAreaProps, ScrollBar, type ScrollFadeState, type SegmentOption, SegmentedControl, type SegmentedControlProps, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, Separator, Sheet, SheetClose, SheetContent, type SheetContentProps, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, type SkeletonProps, Slider, type SliderProps, type SliderSize, Switch, type SwitchProps, type SwitchSize, TabbedBottomSheet, type TabbedBottomSheetProps, type TabbedBottomSheetTab, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableSize, Tabs, TabsContent, TabsList, TabsTrigger, TabsTriggerCore, Textarea, type TextareaProps, TextareaWithPrefix, type TextareaWithPrefixProps, Toggle, ToggleGroup, ToggleGroupItem, type ToggleGroupItemProps, type ToggleGroupProps, type ToggleProps, type ToolbarAction, type ToolbarActionTone, type ToolbarIcon, Tooltip, TooltipContent, type TooltipContentProps, TooltipProvider, TooltipTrigger, type UseScrollFadeResult, alertVariants, badgeVariants, buttonVariants, cn, scoreAccentBgClasses, scoreRingColorClasses, selectTriggerVariants, sheetVariants, toggleVariants, useAccordionSize, useCardSize, useDialogContainer, useDrawerDirection, useIsMobile, usePortalContainer, useRadixDialogModal, useScrollFade, useTableSize };
package/dist/index.d.ts CHANGED
@@ -205,6 +205,12 @@ declare const AlertDialogDescription: React.ForwardRefExoticComponent<Omit<Alert
205
205
  interface AlertDialogContentProps extends React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content> {
206
206
  /** Explicit portal target; wins over the injected container. */
207
207
  container?: HTMLElement | null;
208
+ /**
209
+ * Package-owned open/close motion. Default `true`. Pass `false` for a
210
+ * surface that must appear instantly. It is NOT the reduced-motion switch;
211
+ * `styles.css` already honours `prefers-reduced-motion`.
212
+ */
213
+ animated?: boolean;
208
214
  }
209
215
  declare const AlertDialogContent: React.ForwardRefExoticComponent<AlertDialogContentProps & React.RefAttributes<HTMLDivElement>>;
210
216
  declare const AlertDialogHeader: {
@@ -312,9 +318,59 @@ declare const Checkbox: React.ForwardRefExoticComponent<CheckboxProps & React.Re
312
318
 
313
319
  declare function cn(...inputs: ClassValue[]): string;
314
320
 
321
+ /**
322
+ * Collapsible — Radix's, with the one thing Radix does not ship: the open/close
323
+ * transition.
324
+ *
325
+ * THE ROOT RENDERS UNCONDITIONALLY — no mount gate. The matrx-frontend
326
+ * original carried the note that earned this line: a wrapper used to defer
327
+ * rendering until after hydration on the theory that "Radix generates dynamic
328
+ * aria-controls ids that differ between SSR and client". That was false —
329
+ * Radix ids come from React's SSR-stable `useId` — and the gate was actively
330
+ * harmful, because a Collapsible's Trigger wraps ALWAYS-VISIBLE content, so
331
+ * `return null` deleted it from SSR and from the first client paint.
332
+ *
333
+ * THE TRANSITION IS PACKAGE-OWNED (census row 19f, the tail of 19c). Until
334
+ * 0.9.0 this file was a bare re-export and the package shipped NO transition,
335
+ * so every consumer invented its own — and two of them invented it wrong.
336
+ * `matrx-collapsible.tsx` and `enhanced-collapsible.tsx` put
337
+ * `animate-accordion-down`/`-up` on a COLLAPSIBLE panel: those keyframes
338
+ * interpolate to `--radix-ACCORDION-content-height`, a variable Radix never
339
+ * publishes on a collapsible, so they had never animated once — silently, with
340
+ * no error, for as long as they existed. Six other matrx-frontend components
341
+ * used host-only `animate-slide-down`/`-up` keyframes that WERE keyed
342
+ * correctly — and worked in exactly one app in the fleet, because the
343
+ * keyframes lived in that app's `globals.css`. Both shapes are the same C26
344
+ * failure: a component whose motion depends on a contract the host has to
345
+ * happen to hold. `.matrx-collapsible-content` in `styles.css` ends it — keyed
346
+ * off Radix's runtime `--radix-collapsible-content-height`, honouring
347
+ * `prefers-reduced-motion`, shipped in the tarball.
348
+ *
349
+ * Nothing else here is restyled: the trigger and the panel's own padding are
350
+ * the host's to dress, and every fork agreed on that. Unlike `AccordionContent`
351
+ * this component does NOT wrap children in a padding div — collapsibles in the
352
+ * fleet pad their own bodies, and inserting a box would move every one of them.
353
+ */
354
+
315
355
  declare const Collapsible: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleProps & React.RefAttributes<HTMLDivElement>>;
316
356
  declare const CollapsibleTrigger: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleTriggerProps & React.RefAttributes<HTMLButtonElement>>;
317
- declare const CollapsibleContent: React.ForwardRefExoticComponent<CollapsiblePrimitive.CollapsibleContentProps & React.RefAttributes<HTMLDivElement>>;
357
+ interface CollapsibleContentProps extends React.ComponentPropsWithoutRef<typeof CollapsiblePrimitive.CollapsibleContent> {
358
+ /**
359
+ * Animate the height on open/close. Default `true`.
360
+ *
361
+ * Pass `false` for the rare panel that must not clip or must not move: the
362
+ * animated panel carries `overflow-hidden` (a height transition without it
363
+ * spills the body over whatever is below), so a panel with a child that
364
+ * deliberately overflows its bounds — a non-portalled popover, a sticky
365
+ * column header — opts out here rather than fighting the class. Opting out
366
+ * gives you bare Radix: instant open, no clipping, no keyframes.
367
+ *
368
+ * `prefers-reduced-motion` is NOT this prop's job; the stylesheet already
369
+ * drops the animation for those users while keeping the clipping.
370
+ */
371
+ animated?: boolean;
372
+ }
373
+ declare const CollapsibleContent: React.ForwardRefExoticComponent<CollapsibleContentProps & React.RefAttributes<HTMLDivElement>>;
318
374
 
319
375
  /**
320
376
  * Command — ported verbatim from matrx-frontend `components/ui/command.tsx`.
@@ -660,6 +716,12 @@ interface DialogContentProps extends React.ComponentPropsWithoutRef<typeof Dialo
660
716
  showCloseButton?: boolean;
661
717
  /** Explicit portal target; wins over the injected container. */
662
718
  container?: HTMLElement | null;
719
+ /**
720
+ * Package-owned open/close motion. Default `true`. Pass `false` for a
721
+ * surface that must appear instantly. It is NOT the reduced-motion switch;
722
+ * `styles.css` already honours `prefers-reduced-motion`.
723
+ */
724
+ animated?: boolean;
663
725
  }
664
726
  declare const DialogContent: React.ForwardRefExoticComponent<DialogContentProps & React.RefAttributes<HTMLDivElement>>;
665
727
  declare const DialogHeader: {
@@ -899,9 +961,18 @@ declare function OverflowToolbar({ actions, leading, overflowAriaLabel, classNam
899
961
  declare const Popover: React.FC<PopoverPrimitive.PopoverProps>;
900
962
  declare const PopoverTrigger: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverTriggerProps & React.RefAttributes<HTMLButtonElement>>;
901
963
  declare const PopoverAnchor: React.ForwardRefExoticComponent<PopoverPrimitive.PopoverAnchorProps & React.RefAttributes<HTMLDivElement>>;
902
- declare const PopoverContent: React.ForwardRefExoticComponent<Omit<PopoverPrimitive.PopoverContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
964
+ interface PopoverContentProps extends React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content> {
965
+ /** Explicit portal target; wins over the injected container. */
903
966
  container?: HTMLElement | null;
904
- } & React.RefAttributes<HTMLDivElement>>;
967
+ /**
968
+ * Package-owned open/close motion. Default `true`. Pass `false` for a
969
+ * surface that must appear instantly — a picker re-anchoring while the user
970
+ * types, a measurement pass. It is NOT the reduced-motion switch;
971
+ * `styles.css` already honours `prefers-reduced-motion`.
972
+ */
973
+ animated?: boolean;
974
+ }
975
+ declare const PopoverContent: React.ForwardRefExoticComponent<PopoverContentProps & React.RefAttributes<HTMLDivElement>>;
905
976
 
906
977
  /**
907
978
  * Progress — a determinate bar.
@@ -1066,9 +1137,17 @@ interface SelectTriggerProps extends React.ComponentPropsWithoutRef<typeof Selec
1066
1137
  declare const SelectTrigger: React.ForwardRefExoticComponent<SelectTriggerProps & React.RefAttributes<HTMLButtonElement>>;
1067
1138
  declare const SelectScrollUpButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollUpButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
1068
1139
  declare const SelectScrollDownButton: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectScrollDownButtonProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
1069
- declare const SelectContent: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectContentProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
1140
+ interface SelectContentProps extends React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content> {
1141
+ /** Explicit portal target; wins over the injected container. */
1070
1142
  container?: HTMLElement | null;
1071
- } & React.RefAttributes<HTMLDivElement>>;
1143
+ /**
1144
+ * Package-owned open/close motion. Default `true`. Pass `false` for a
1145
+ * surface that must appear instantly. It is NOT the reduced-motion switch;
1146
+ * `styles.css` already honours `prefers-reduced-motion`.
1147
+ */
1148
+ animated?: boolean;
1149
+ }
1150
+ declare const SelectContent: React.ForwardRefExoticComponent<SelectContentProps & React.RefAttributes<HTMLDivElement>>;
1072
1151
  declare const SelectLabel: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectLabelProps & React.RefAttributes<HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
1073
1152
  declare const SelectItem: React.ForwardRefExoticComponent<Omit<SelectPrimitive.SelectItemProps & React.RefAttributes<HTMLDivElement>, "ref"> & {
1074
1153
  /**
@@ -1098,6 +1177,13 @@ interface SheetContentProps extends React.ComponentPropsWithoutRef<typeof Dialog
1098
1177
  hideOverlay?: boolean;
1099
1178
  /** Optional className for the overlay when shown. */
1100
1179
  overlayClassName?: string;
1180
+ /**
1181
+ * Package-owned open/close motion. Default `true`. Pass `false` for a panel
1182
+ * that must appear instantly — a persistent side rail toggled by a keyboard
1183
+ * shortcut, say. It is NOT the reduced-motion switch; `styles.css` already
1184
+ * honours `prefers-reduced-motion`.
1185
+ */
1186
+ animated?: boolean;
1101
1187
  }
1102
1188
  declare const SheetDescription: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogDescriptionProps & React.RefAttributes<HTMLParagraphElement>, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
1103
1189
  declare const SheetContent: React.ForwardRefExoticComponent<SheetContentProps & React.RefAttributes<HTMLDivElement>>;
@@ -1112,11 +1198,28 @@ declare const SheetFooter: {
1112
1198
  declare const SheetTitle: React.ForwardRefExoticComponent<Omit<DialogPrimitive.DialogTitleProps & React.RefAttributes<HTMLHeadingElement>, "ref"> & React.RefAttributes<HTMLHeadingElement>>;
1113
1199
 
1114
1200
  /**
1115
- * Skeleton — ported verbatim from matrx-frontend `components/ui/skeleton.tsx`.
1116
- * No seams: pure markup over host semantic tokens.
1201
+ * Skeleton — the "content is coming" placeholder.
1202
+ *
1203
+ * Ported from matrx-frontend `components/ui/skeleton.tsx`; no seams, pure
1204
+ * markup over semantic tokens. ONE change from the original (0.10.0): the
1205
+ * breathing loop is `.matrx-pulse`, a package-owned keyframe, not Tailwind's
1206
+ * `animate-pulse`. A Skeleton that does not pulse is indistinguishable from an
1207
+ * empty grey box — it stops saying "loading" and starts saying "nothing here"
1208
+ * — so the motion is part of the component's meaning and ships with it (see
1209
+ * `styles.css` § THE MOTION LAYER).
1117
1210
  */
1118
1211
 
1119
- declare function Skeleton({ className, ...props }: React.HTMLAttributes<HTMLDivElement>): React.JSX.Element;
1212
+ interface SkeletonProps extends React.HTMLAttributes<HTMLDivElement> {
1213
+ /**
1214
+ * Package-owned pulse. Default `true`. Pass `false` for a static
1215
+ * placeholder — a print/PDF render, or a screenshot fixture where the
1216
+ * animation makes the output non-deterministic. `prefers-reduced-motion`
1217
+ * already SLOWS the pulse rather than stopping it (a still skeleton would
1218
+ * lose the information), so this is not the accessibility switch.
1219
+ */
1220
+ animated?: boolean;
1221
+ }
1222
+ declare function Skeleton({ className, animated, ...props }: SkeletonProps): React.JSX.Element;
1120
1223
 
1121
1224
  /**
1122
1225
  * Switch — Radix switch, one implementation, two sizes.
@@ -1427,6 +1530,13 @@ declare const HoverCardTrigger: React.ForwardRefExoticComponent<HoverCardPrimiti
1427
1530
  interface HoverCardContentProps extends React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content> {
1428
1531
  /** Explicit portal target; wins over the injected container. */
1429
1532
  container?: HTMLElement | null;
1533
+ /**
1534
+ * Package-owned open/close motion. Default `true`. Pass `false` for a
1535
+ * surface that must appear instantly — a picker re-anchoring while the user
1536
+ * types, a measurement pass. It is NOT the reduced-motion switch;
1537
+ * `styles.css` already honours `prefers-reduced-motion`.
1538
+ */
1539
+ animated?: boolean;
1430
1540
  }
1431
1541
  declare const HoverCardContent: React.ForwardRefExoticComponent<HoverCardContentProps & React.RefAttributes<HTMLDivElement>>;
1432
1542
 
@@ -1610,7 +1720,72 @@ interface TooltipContentProps extends React.ComponentPropsWithoutRef<typeof Tool
1610
1720
  * value. Pass `null` to force `document.body`.
1611
1721
  */
1612
1722
  container?: HTMLElement | null;
1723
+ /**
1724
+ * Package-owned open/close motion. Default `true`. Pass `false` for a
1725
+ * surface that must appear instantly. It is NOT the reduced-motion switch;
1726
+ * `styles.css` already honours `prefers-reduced-motion`.
1727
+ */
1728
+ animated?: boolean;
1613
1729
  }
1614
1730
  declare const TooltipContent: React.ForwardRefExoticComponent<TooltipContentProps & React.RefAttributes<HTMLDivElement>>;
1615
1731
 
1616
- export { Accordion, AccordionContent, AccordionItem, type AccordionProps, type AccordionSize, AccordionTrigger, type AccordionTriggerProps, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogContentPrimitive, type AlertDialogContentProps, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, type AlertProps, AlertTitle, Avatar, AvatarFallback, AvatarImage, type AvatarProps, type AvatarSize, Badge, type BadgeProps, BasicInput, BasicTextarea, BottomSheet, BottomSheetBody, type BottomSheetBodyProps, BottomSheetFooter, type BottomSheetFooterProps, BottomSheetHeader, type BottomSheetHeaderProps, type BottomSheetProps, Button, type ButtonProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, type CardSize, CardTitle, Checkbox, type CheckboxProps, type CheckboxSize, Collapsible, CollapsibleContent, CollapsibleTrigger, Command, CommandDialog, type CommandDialogProps, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, type ContextMenuContentProps, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, type CreatableOption, CreatablePicker, type CreatablePickerProps, DEFAULT_SCORE_THRESHOLDS, Dialog, DialogClose, DialogContent, DialogContentPrimitive, type DialogContentProps, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerContentPrimitive, type DrawerContentProps, DrawerDescription, type DrawerDirection, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, type DrawerProps, type DrawerSize, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EditableLabel, type EditableLabelActivation, type EditableLabelCommitMode, type EditableLabelProps, EnterInput, type EnterInputProps, HoverCard, HoverCardContent, type HoverCardContentProps, HoverCardTrigger, Input, type InputProps, type InputVariant, InputWithPrefix, type InputWithPrefixProps, Label, MOBILE_BREAKPOINT, OverflowToolbar, type OverflowToolbarProps, type PickerIcon, Popover, PopoverAnchor, PopoverContent, PopoverTrigger, PortalContainerProvider, type PortalContainerProviderProps, Progress, type ProgressProps, type ProgressTone, RadioGroup, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, type RadioGroupSize, RadixDialogModalProvider, type RadixDialogModalProviderProps, ResizableHandle, type ResizableHandleProps, type ResizableHandleSize, ResizablePanel, ResizablePanelGroup, ScoreRing, type ScoreRingProps, type ScoreThresholds, ScrollArea, type ScrollAreaProps, ScrollBar, type ScrollFadeState, type SegmentOption, SegmentedControl, type SegmentedControlProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, Separator, Sheet, SheetClose, SheetContent, type SheetContentProps, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, Slider, type SliderProps, type SliderSize, Switch, type SwitchProps, type SwitchSize, TabbedBottomSheet, type TabbedBottomSheetProps, type TabbedBottomSheetTab, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableSize, Tabs, TabsContent, TabsList, TabsTrigger, TabsTriggerCore, Textarea, type TextareaProps, TextareaWithPrefix, type TextareaWithPrefixProps, Toggle, ToggleGroup, ToggleGroupItem, type ToggleGroupItemProps, type ToggleGroupProps, type ToggleProps, type ToolbarAction, type ToolbarActionTone, type ToolbarIcon, Tooltip, TooltipContent, type TooltipContentProps, TooltipProvider, TooltipTrigger, type UseScrollFadeResult, alertVariants, badgeVariants, buttonVariants, cn, scoreAccentBgClasses, scoreRingColorClasses, selectTriggerVariants, sheetVariants, toggleVariants, useAccordionSize, useCardSize, useDialogContainer, useDrawerDirection, useIsMobile, usePortalContainer, useRadixDialogModal, useScrollFade, useTableSize };
1732
+ /**
1733
+ * THE MOTION CONTRACT (0.10.0) — the class names every animated surface in
1734
+ * this package puts on the DOM, in ONE place.
1735
+ *
1736
+ * Why a module and not ten inline strings: the sweep that produced this file
1737
+ * found the same defect ten times over, and it was invisible each time
1738
+ * because each primitive spelled its animation out by hand. Ten hand-written
1739
+ * copies of `data-[state=open]:animate-in data-[state=closed]:animate-out
1740
+ * data-[state=closed]:fade-out-0 …` meant ten chances to reach for a utility
1741
+ * nothing in the package defines — which is exactly what happened. A single
1742
+ * exported constant per motion SHAPE means the next primitive cannot invent
1743
+ * an eleventh spelling, and `styles.test.ts` can prove every one of them
1744
+ * resolves to a rule in the shipped stylesheet.
1745
+ *
1746
+ * Every rule these name lives in `styles.css` under the package's own
1747
+ * keyframes. NONE of them is a Tailwind utility, and none requires a host
1748
+ * plugin — see that file's header for the measurement that made this
1749
+ * necessary.
1750
+ */
1751
+ /** Modal scrims: Dialog, AlertDialog, Sheet, CommandDialog. Fade only. */
1752
+ declare const MOTION_OVERLAY = "matrx-motion-overlay";
1753
+ /** The centred dialog card. Fades and scales, ending on the `-50%` centring. */
1754
+ declare const MOTION_DIALOG = "matrx-motion-dialog";
1755
+ /** The mobile Dialog / CommandDialog bottom sheet. Slides up and fades. */
1756
+ declare const MOTION_BOTTOM_SHEET = "matrx-motion-bottom-sheet";
1757
+ /**
1758
+ * Radix-popper surfaces: Popover, DropdownMenu, ContextMenu, HoverCard,
1759
+ * Select, Tooltip. Reads `--radix-popper-transform-origin` so the surface
1760
+ * grows out of its trigger, and `data-side` so it travels from it.
1761
+ */
1762
+ declare const MOTION_POPPER = "matrx-motion-popper";
1763
+ /** Edge sheets, one class per `sheetVariants` side. */
1764
+ declare const MOTION_SHEET: {
1765
+ readonly top: "matrx-motion-sheet-top";
1766
+ readonly bottom: "matrx-motion-sheet-bottom";
1767
+ readonly left: "matrx-motion-sheet-left";
1768
+ readonly right: "matrx-motion-sheet-right";
1769
+ readonly center: "matrx-motion-sheet-center";
1770
+ };
1771
+ /** Skeleton's breathing loop. */
1772
+ declare const MOTION_PULSE = "matrx-pulse";
1773
+ /** The spinner loop, for every inline busy indicator in the package. */
1774
+ declare const MOTION_SPIN = "matrx-spin";
1775
+ /**
1776
+ * Every motion class the package ships, for the guards. If a rule for one of
1777
+ * these is missing from `styles.css`, a component animates in no consumer and
1778
+ * says nothing about it — the C26 failure this list exists to make loud.
1779
+ */
1780
+ declare const ALL_MOTION_CLASSES: readonly ["matrx-motion-overlay", "matrx-motion-dialog", "matrx-motion-bottom-sheet", "matrx-motion-popper", ...("matrx-motion-sheet-top" | "matrx-motion-sheet-bottom" | "matrx-motion-sheet-left" | "matrx-motion-sheet-right" | "matrx-motion-sheet-center")[], "matrx-pulse", "matrx-spin"];
1781
+ /**
1782
+ * The host-plugin utilities this package is forbidden to emit. They are
1783
+ * supplied by `tailwindcss-animate` / `tw-animate-css`, which is a HOST CSS
1784
+ * entry concern a package cannot declare a dependency on: three of the four
1785
+ * AI Matrx consumers never loaded it, so every surface wearing these appeared
1786
+ * with no animation and no error. `styles.test.ts` fails the build if one
1787
+ * comes back.
1788
+ */
1789
+ declare const FORBIDDEN_HOST_MOTION_UTILITIES: readonly ["animate-in", "animate-out", "fade-in", "fade-out", "zoom-in", "zoom-out", "slide-in-from", "slide-out-to", "animate-accordion", "animate-slide-down", "animate-slide-up", "animate-pulse", "animate-spin"];
1790
+
1791
+ export { ALL_MOTION_CLASSES, Accordion, AccordionContent, AccordionItem, type AccordionProps, type AccordionSize, AccordionTrigger, type AccordionTriggerProps, Alert, AlertDescription, AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogContentPrimitive, type AlertDialogContentProps, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, type AlertProps, AlertTitle, Avatar, AvatarFallback, AvatarImage, type AvatarProps, type AvatarSize, Badge, type BadgeProps, BasicInput, BasicTextarea, BottomSheet, BottomSheetBody, type BottomSheetBodyProps, BottomSheetFooter, type BottomSheetFooterProps, BottomSheetHeader, type BottomSheetHeaderProps, type BottomSheetProps, Button, type ButtonProps, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, type CardProps, type CardSize, CardTitle, Checkbox, type CheckboxProps, type CheckboxSize, Collapsible, CollapsibleContent, type CollapsibleContentProps, CollapsibleTrigger, Command, CommandDialog, type CommandDialogProps, CommandEmpty, CommandGroup, CommandInput, CommandItem, CommandList, CommandSeparator, CommandShortcut, ContextMenu, ContextMenuCheckboxItem, ContextMenuContent, type ContextMenuContentProps, ContextMenuGroup, ContextMenuItem, ContextMenuLabel, ContextMenuPortal, ContextMenuRadioGroup, ContextMenuRadioItem, ContextMenuSeparator, ContextMenuShortcut, ContextMenuSub, ContextMenuSubContent, ContextMenuSubTrigger, ContextMenuTrigger, type CreatableOption, CreatablePicker, type CreatablePickerProps, DEFAULT_SCORE_THRESHOLDS, Dialog, DialogClose, DialogContent, DialogContentPrimitive, type DialogContentProps, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, Drawer, DrawerBody, DrawerClose, DrawerContent, DrawerContentPrimitive, type DrawerContentProps, DrawerDescription, type DrawerDirection, DrawerFooter, DrawerHeader, DrawerOverlay, DrawerPortal, type DrawerProps, type DrawerSize, DrawerTitle, DrawerTrigger, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, type DropdownMenuContentProps, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, EditableLabel, type EditableLabelActivation, type EditableLabelCommitMode, type EditableLabelProps, EnterInput, type EnterInputProps, FORBIDDEN_HOST_MOTION_UTILITIES, HoverCard, HoverCardContent, type HoverCardContentProps, HoverCardTrigger, Input, type InputProps, type InputVariant, InputWithPrefix, type InputWithPrefixProps, Label, MOBILE_BREAKPOINT, MOTION_BOTTOM_SHEET, MOTION_DIALOG, MOTION_OVERLAY, MOTION_POPPER, MOTION_PULSE, MOTION_SHEET, MOTION_SPIN, OverflowToolbar, type OverflowToolbarProps, type PickerIcon, Popover, PopoverAnchor, PopoverContent, type PopoverContentProps, PopoverTrigger, PortalContainerProvider, type PortalContainerProviderProps, Progress, type ProgressProps, type ProgressTone, RadioGroup, RadioGroupItem, type RadioGroupItemProps, type RadioGroupProps, type RadioGroupSize, RadixDialogModalProvider, type RadixDialogModalProviderProps, ResizableHandle, type ResizableHandleProps, type ResizableHandleSize, ResizablePanel, ResizablePanelGroup, ScoreRing, type ScoreRingProps, type ScoreThresholds, ScrollArea, type ScrollAreaProps, ScrollBar, type ScrollFadeState, type SegmentOption, SegmentedControl, type SegmentedControlProps, Select, SelectContent, type SelectContentProps, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, type SelectTriggerProps, SelectValue, Separator, Sheet, SheetClose, SheetContent, type SheetContentProps, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, type SkeletonProps, Slider, type SliderProps, type SliderSize, Switch, type SwitchProps, type SwitchSize, TabbedBottomSheet, type TabbedBottomSheetProps, type TabbedBottomSheetTab, Table, TableBody, TableCaption, TableCell, TableFooter, TableHead, TableHeader, type TableHeaderProps, type TableProps, TableRow, type TableSize, Tabs, TabsContent, TabsList, TabsTrigger, TabsTriggerCore, Textarea, type TextareaProps, TextareaWithPrefix, type TextareaWithPrefixProps, Toggle, ToggleGroup, ToggleGroupItem, type ToggleGroupItemProps, type ToggleGroupProps, type ToggleProps, type ToolbarAction, type ToolbarActionTone, type ToolbarIcon, Tooltip, TooltipContent, type TooltipContentProps, TooltipProvider, TooltipTrigger, type UseScrollFadeResult, alertVariants, badgeVariants, buttonVariants, cn, scoreAccentBgClasses, scoreRingColorClasses, selectTriggerVariants, sheetVariants, toggleVariants, useAccordionSize, useCardSize, useDialogContainer, useDrawerDirection, useIsMobile, usePortalContainer, useRadixDialogModal, useScrollFade, useTableSize };