@particle-academy/react-fancy 5.4.0 → 5.6.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
@@ -1057,6 +1057,102 @@ interface EyebrowProps extends HTMLAttributes<HTMLDivElement> {
1057
1057
  */
1058
1058
  declare const Eyebrow: react.ForwardRefExoticComponent<EyebrowProps & react.RefAttributes<HTMLDivElement>>;
1059
1059
 
1060
+ interface KbdProps extends HTMLAttributes<HTMLElement> {
1061
+ /**
1062
+ * Render a chord as separate keys — `keys={["Cmd", "K"]}` renders two caps
1063
+ * with a separator between them, rather than one wide cap reading "Cmd K".
1064
+ */
1065
+ keys?: ReactNode[];
1066
+ /** Separator drawn between chord keys. Default `"+"`. */
1067
+ separator?: ReactNode;
1068
+ size?: "xs" | "sm" | "md";
1069
+ children?: ReactNode;
1070
+ }
1071
+
1072
+ /**
1073
+ * A keyboard key cap — `<Kbd>K</Kbd>`, or a chord via `<Kbd keys={["Cmd","K"]} />`.
1074
+ *
1075
+ * Twenty `<kbd>` elements across this suite's own showcase carried six
1076
+ * different className recipes for the same thing: rounded, bordered, mono,
1077
+ * small, with a dark-mode counterpart. None of them disagreed on intent; they
1078
+ * disagreed on which greys.
1079
+ *
1080
+ * `min-w` is the detail worth having in one place: without it a `K` cap is
1081
+ * visibly narrower than an `Esc` cap beside it, and a row of single letters
1082
+ * reads as ragged rather than as keys.
1083
+ */
1084
+ declare const Kbd: react.ForwardRefExoticComponent<KbdProps & react.RefAttributes<HTMLElement>>;
1085
+
1086
+ interface IndexListItem {
1087
+ /** Row marker — `"01"`, `"1."`. Rendered tabular so the column aligns. */
1088
+ num?: ReactNode;
1089
+ /** The row's subject, and the link text when `href` is set. */
1090
+ title: ReactNode;
1091
+ /** Secondary text after the title. */
1092
+ meta?: ReactNode;
1093
+ /** Trailing value, pushed to the far end — a year, a count. */
1094
+ value?: ReactNode;
1095
+ /** Makes the whole row clickable. See the note on nested anchors. */
1096
+ href?: string;
1097
+ /** Stable key. Defaults to the index. */
1098
+ id?: string;
1099
+ }
1100
+ interface IndexListProps extends Omit<HTMLAttributes<HTMLOListElement>, "children"> {
1101
+ items: IndexListItem[];
1102
+ /**
1103
+ * Render an `<a>` for `href`. Pass your router's link (Inertia `Link`,
1104
+ * `next/link`) to keep client-side navigation. It receives `href`,
1105
+ * `className` and `children`.
1106
+ */
1107
+ linkAs?: React.ElementType;
1108
+ }
1109
+
1110
+ /**
1111
+ * A flush-left numbered index — `num · title · meta · trailing value`, each row
1112
+ * optionally a single clickable target.
1113
+ *
1114
+ * Thirteen gallery styles build this, and the sandbox uses a `stretched-link`
1115
+ * treatment in twenty-four places.
1116
+ *
1117
+ * ## Exactly one anchor per row, by construction
1118
+ *
1119
+ * The row is `relative` and the title's `<a>` carries `after:absolute
1120
+ * after:inset-0`, so the anchor's own pseudo-element covers the row. The
1121
+ * alternative — wrapping the row in an `<a>` and putting more links inside —
1122
+ * produces nested anchors, which is issue #418: the browser silently
1123
+ * restructures that DOM, so the server HTML and the client tree disagree and
1124
+ * hydration blows up. A test asserts one anchor per row for that reason.
1125
+ *
1126
+ * The link text stays the title rather than becoming an `aria-label` on an
1127
+ * invisible overlay, so the accessible name is the thing you would say out loud.
1128
+ */
1129
+ declare const IndexList: react.ForwardRefExoticComponent<IndexListProps & react.RefAttributes<HTMLOListElement>>;
1130
+
1131
+ interface StatProps extends HTMLAttributes<HTMLDivElement> {
1132
+ /** The figure itself — `"2016"`, `"120+"`, `"08"`. */
1133
+ value?: ReactNode;
1134
+ /** The caption under it. */
1135
+ label?: ReactNode;
1136
+ size?: "sm" | "md" | "lg";
1137
+ }
1138
+ interface StatBandProps extends HTMLAttributes<HTMLDivElement> {
1139
+ /** Columns in the band. Default `4`. */
1140
+ columns?: number;
1141
+ }
1142
+
1143
+ declare const Stat: react.ForwardRefExoticComponent<StatProps & react.RefAttributes<HTMLDivElement>> & {
1144
+ Band: react.ForwardRefExoticComponent<StatBandProps & react.RefAttributes<HTMLDivElement>>;
1145
+ };
1146
+
1147
+ /**
1148
+ * The row a set of `<Stat>`s sits in.
1149
+ *
1150
+ * A plain grid, but it is the reason `<Stat>` defaults to `tabular-nums`: a
1151
+ * figure alone can be proportional without anyone noticing, and only becomes
1152
+ * wrong once it has neighbours to fail to line up with.
1153
+ */
1154
+ declare const StatBand: react.ForwardRefExoticComponent<StatBandProps & react.RefAttributes<HTMLDivElement>>;
1155
+
1060
1156
  interface ProfileProps {
1061
1157
  src?: string;
1062
1158
  alt?: string;
@@ -4018,4 +4114,4 @@ declare const AudioViewer: react.ForwardRefExoticComponent<AudioViewerProps & re
4018
4114
  */
4019
4115
  declare const PdfViewer: react.ForwardRefExoticComponent<PdfViewerProps & react.RefAttributes<HTMLDivElement>>;
4020
4116
 
4021
- export { Accordion, type AccordionContentProps, type AccordionContextValue, type AccordionItemProps, type AccordionOrientation, AccordionPanel, AccordionPanelContent, type AccordionPanelContentProps, type AccordionPanelProps, AccordionPanelSection, type AccordionPanelSectionProps, AccordionPanelTrigger, type AccordionPanelTriggerProps, type AccordionProps, type AccordionTriggerProps, Action, type ActionColor, type ActionProps, type AffixPosition, AudioViewer, type AudioViewerProps, Autocomplete, type AutocompleteOption, type AutocompleteProps, Avatar, type AvatarProps, Badge, type BadgeProps, Brand, BrandMark, type BrandMarkProps, type BrandProps, Breadcrumbs, type BreadcrumbsItemProps, type BreadcrumbsProps, Button, type ButtonColor, type ButtonProps, Calendar, type CalendarMode, type CalendarProps, Callout, type CalloutProps, Card, type CardBodyProps, type CardFooterProps, type CardHeaderProps, type CardProps, Carousel, type CarouselContextValue, type CarouselControlsProps, type CarouselPanelsProps, type CarouselProps, type CarouselSlideProps, type CarouselStepsProps, type CarouselVariant, Chart, type ChartAreaProps, type ChartBarData, type ChartBarProps, type ChartCommonProps, type ChartDonutData, type ChartDonutProps, type ChartHorizontalBarProps, type ChartLineProps, type ChartPieData, type ChartPieProps, type ChartSeries, type ChartSparklineProps, type ChartStackedBarProps, ChatDrawer, type ChatDrawerProps, type ChatDrawerTab, Checkbox, CheckboxGroup, type CheckboxGroupProps, type CheckboxProps, CodeView, type CodeViewProps, type Color, ColorPicker, type ColorPickerProps, Command, type CommandContextValue, type CommandEmptyProps, type CommandGroupProps, type CommandInputProps, type CommandItemProps, type CommandListProps, type CommandProps, Composer, type ComposerProps, ContentRenderer, type ContentRendererProps, ContextMenu, type ContextMenuContentProps, type ContextMenuContextValue, type ContextMenuItemProps, type ContextMenuProps, type ContextMenuSeparatorProps, type ContextMenuTriggerProps, type ControlledAdapterHandle, DatePicker, type DatePickerProps, type DateRange, DisplayValue, type DisplayValueProps, Drawer, type DrawerAttach, type DrawerBodyProps, type DrawerContainerProps, type DrawerContextValue, type DrawerFooterProps, type DrawerHeaderProps, type DrawerProps, type DrawerSide, type DrawerSize, type DropPosition, Dropdown, type DropdownContextValue, type DropdownItemProps, type DropdownItemsProps, type DropdownProps, type DropdownSeparatorProps, type DropdownTriggerProps, EMOJI_CATEGORY_ORDER, EMOJI_DATA, EMOJI_ENTRIES, Editor, type EditorAction, type EditorContentProps, type EditorContextValue, type EditorProps, type EditorSourceToggleProps, type EditorToolbarProps, Emoji, type EmojiCategory, type EmojiCategoryKey, type EmojiEntry, type EmojiFlatEntry, type EmojiProps, EmojiSelect, type EmojiSelectProps, Eyebrow, type EyebrowProps, FauxClient, type FauxClientProps, Field, type FieldMode, FieldModeContext, type FieldModeContextValue, type FieldProps, FileBrowser, type FileBrowserContextValue, type FileBrowserNodeProps, type FileBrowserPathBarProps, type FileBrowserProps, type FileBrowserProvider, type FileBrowserRow, type FileBrowserToolbarProps, type FileBrowserTreeProps, type FileEntry, type FileKind, type FileLoadStatus, type FileSelectMode, type FileSnapshotNode, type FileSort, type FileSortDirection, type FileSortField, FileUpload, type FileUploadContextValue, type FileUploadDropzoneProps, type FileUploadListProps, type FileUploadProps, Form, type FormProps, FormProvider, type FormProviderProps, Heading, type HeadingProps, Icon, type IconProps, type IconSet, ImageViewer, type ImageViewerProps, type ImageViewerViewport, Input, type InputAffixProps, type InputBaseProps, type InputOption, type InputOptionGroup, type InputProps, InputTag, type InputTagAdapter, type InputTagAdapterState, type InputTagProps, type InputTagTrigger, type InputTagTriggers, Kanban, type KanbanCardMoveHandler, type KanbanCardProps, type KanbanColumnHandleProps, type KanbanColumnMoveHandler, type KanbanColumnProps, type KanbanContextValue, type KanbanProps, MagicWand, type MagicWandAction, type MagicWandAppearance, type MagicWandProps, type MagicWandSelection, Marquee, type MarqueeDirection, type MarqueeProps, type MediaKind, MediaViewer, type MediaViewerProps, Menu, type MenuContextValue, type MenuGroupProps, type MenuItemProps, type MenuOrientation, type MenuProps, type MenuSubmenuProps, MobileMenu, type MobileMenuBottomBarProps, type MobileMenuContextValue, type MobileMenuFlyoutProps, type MobileMenuItemProps, type MobileMenuSide, type MobileMenuVariant, Modal, type ModalBodyProps, type ModalContextValue, type ModalFooterProps, type ModalHeaderProps, type ModalProps, MoodMeter, type MoodMeterProps, MultiSwitch, type MultiSwitchProps, Navbar, type NavbarBrandProps, type NavbarContextValue, type NavbarItemProps, type NavbarItemsProps, type NavbarProps, type NavbarToggleProps, type NodeRect, OtpInput, type OtpInputProps, Pagination, type PaginationProps, PdfViewer, type PdfViewerProps, Pillbox, type PillboxProps, type Placement, Popover, type PopoverContentProps, type PopoverContextValue, type PopoverProps, type PopoverTriggerProps, Portal, type PortalProps, Profile, type ProfileProps, Progress, type ProgressProps, type PromptAttachment, type PromptCmd, PromptInput, type PromptInputProps, type PromptMention, RadioGroup, type RadioGroupProps, ReasonTag, type ReasonTagProps, type ReasonTagSource, type ReasonTagTheme, type RenderExtension, type RenderExtensionProps, type ResolveMediaTypeInput, SKIN_TONES, type SectionRenderState, type SectionRenderable, Select, type SelectProps, Separator, type SeparatorProps, Sidebar, type SidebarCollapseMode, type SidebarContextValue, type SidebarGroupProps, type SidebarItemProps, type SidebarProps, type SidebarSubmenuProps, type SidebarToggleProps, type Size, Skeleton, type SkeletonProps, type SkinTone, Slider, type SliderProps, StickyNote, type StickyNoteColor, type StickyNoteProps, Switch, type SwitchProps, Table, type TableBodyProps, type TableCellProps, type TableColumnProps, type TableHeadProps, type TablePaginationProps, type TableProps, type TableRowProps, type TableRowTrayProps, type TableSearchProps, type TableTrayProps, Tabs, type TabsContextValue, type TabsListProps, type TabsPanelProps, type TabsPanelsProps, type TabsProps, type TabsTabProps, type TabsVariant, Text, type TextProps, Textarea, type TextareaProps, TimeGrid, type TimeGridProps, type TimeGridTone, TimePicker, type TimePickerProps, Timeline, type TimelineBlockProps, type TimelineEvent, type TimelineItemProps, type TimelineOrientation, type TimelineProps, type TimelineVariant, Toast, type ToastContextValue, type ToastData, type ToastPosition, type ToastProviderProps, type ToastVariant, Tooltip, type TooltipProps, TreeNav, type TreeNavContextValue, type TreeNavProps, type TreeNodeData, type TreeNodeProps, type Variant, VideoViewer, type VideoViewerProps, applyTone, cn, configureIcons, contentEditableAdapter, controlledAdapter, find, hasSkinTones, inputAdapter, registerExtension, registerExtensions, registerIconAddendum, registerIconSet, registerIcons, resolve, resolveMediaType, sanitizeHref, sanitizeHtml, search, skinTones, textareaAdapter, useAccordion, useAccordionPanel, useAccordionSection, useAnimation, useCarousel, useCommand, useContextMenu, useControllableState, useDrawer, useDropdown, useEditor, useEscapeKey, useFieldMode, useFileBrowser, useFileUpload, useFloatingPosition, useFocusTrap, useId, useKanban, useMenu, useMobileMenu, useModal, useNavbar, useNodeRegistry, useOutsideClick, usePanZoom, usePopover, useSidebar, useTabs, useToast, useTreeNav };
4117
+ export { Accordion, type AccordionContentProps, type AccordionContextValue, type AccordionItemProps, type AccordionOrientation, AccordionPanel, AccordionPanelContent, type AccordionPanelContentProps, type AccordionPanelProps, AccordionPanelSection, type AccordionPanelSectionProps, AccordionPanelTrigger, type AccordionPanelTriggerProps, type AccordionProps, type AccordionTriggerProps, Action, type ActionColor, type ActionProps, type AffixPosition, AudioViewer, type AudioViewerProps, Autocomplete, type AutocompleteOption, type AutocompleteProps, Avatar, type AvatarProps, Badge, type BadgeProps, Brand, BrandMark, type BrandMarkProps, type BrandProps, Breadcrumbs, type BreadcrumbsItemProps, type BreadcrumbsProps, Button, type ButtonColor, type ButtonProps, Calendar, type CalendarMode, type CalendarProps, Callout, type CalloutProps, Card, type CardBodyProps, type CardFooterProps, type CardHeaderProps, type CardProps, Carousel, type CarouselContextValue, type CarouselControlsProps, type CarouselPanelsProps, type CarouselProps, type CarouselSlideProps, type CarouselStepsProps, type CarouselVariant, Chart, type ChartAreaProps, type ChartBarData, type ChartBarProps, type ChartCommonProps, type ChartDonutData, type ChartDonutProps, type ChartHorizontalBarProps, type ChartLineProps, type ChartPieData, type ChartPieProps, type ChartSeries, type ChartSparklineProps, type ChartStackedBarProps, ChatDrawer, type ChatDrawerProps, type ChatDrawerTab, Checkbox, CheckboxGroup, type CheckboxGroupProps, type CheckboxProps, CodeView, type CodeViewProps, type Color, ColorPicker, type ColorPickerProps, Command, type CommandContextValue, type CommandEmptyProps, type CommandGroupProps, type CommandInputProps, type CommandItemProps, type CommandListProps, type CommandProps, Composer, type ComposerProps, ContentRenderer, type ContentRendererProps, ContextMenu, type ContextMenuContentProps, type ContextMenuContextValue, type ContextMenuItemProps, type ContextMenuProps, type ContextMenuSeparatorProps, type ContextMenuTriggerProps, type ControlledAdapterHandle, DatePicker, type DatePickerProps, type DateRange, DisplayValue, type DisplayValueProps, Drawer, type DrawerAttach, type DrawerBodyProps, type DrawerContainerProps, type DrawerContextValue, type DrawerFooterProps, type DrawerHeaderProps, type DrawerProps, type DrawerSide, type DrawerSize, type DropPosition, Dropdown, type DropdownContextValue, type DropdownItemProps, type DropdownItemsProps, type DropdownProps, type DropdownSeparatorProps, type DropdownTriggerProps, EMOJI_CATEGORY_ORDER, EMOJI_DATA, EMOJI_ENTRIES, Editor, type EditorAction, type EditorContentProps, type EditorContextValue, type EditorProps, type EditorSourceToggleProps, type EditorToolbarProps, Emoji, type EmojiCategory, type EmojiCategoryKey, type EmojiEntry, type EmojiFlatEntry, type EmojiProps, EmojiSelect, type EmojiSelectProps, Eyebrow, type EyebrowProps, FauxClient, type FauxClientProps, Field, type FieldMode, FieldModeContext, type FieldModeContextValue, type FieldProps, FileBrowser, type FileBrowserContextValue, type FileBrowserNodeProps, type FileBrowserPathBarProps, type FileBrowserProps, type FileBrowserProvider, type FileBrowserRow, type FileBrowserToolbarProps, type FileBrowserTreeProps, type FileEntry, type FileKind, type FileLoadStatus, type FileSelectMode, type FileSnapshotNode, type FileSort, type FileSortDirection, type FileSortField, FileUpload, type FileUploadContextValue, type FileUploadDropzoneProps, type FileUploadListProps, type FileUploadProps, Form, type FormProps, FormProvider, type FormProviderProps, Heading, type HeadingProps, Icon, type IconProps, type IconSet, ImageViewer, type ImageViewerProps, type ImageViewerViewport, IndexList, type IndexListItem, type IndexListProps, Input, type InputAffixProps, type InputBaseProps, type InputOption, type InputOptionGroup, type InputProps, InputTag, type InputTagAdapter, type InputTagAdapterState, type InputTagProps, type InputTagTrigger, type InputTagTriggers, Kanban, type KanbanCardMoveHandler, type KanbanCardProps, type KanbanColumnHandleProps, type KanbanColumnMoveHandler, type KanbanColumnProps, type KanbanContextValue, type KanbanProps, Kbd, type KbdProps, MagicWand, type MagicWandAction, type MagicWandAppearance, type MagicWandProps, type MagicWandSelection, Marquee, type MarqueeDirection, type MarqueeProps, type MediaKind, MediaViewer, type MediaViewerProps, Menu, type MenuContextValue, type MenuGroupProps, type MenuItemProps, type MenuOrientation, type MenuProps, type MenuSubmenuProps, MobileMenu, type MobileMenuBottomBarProps, type MobileMenuContextValue, type MobileMenuFlyoutProps, type MobileMenuItemProps, type MobileMenuSide, type MobileMenuVariant, Modal, type ModalBodyProps, type ModalContextValue, type ModalFooterProps, type ModalHeaderProps, type ModalProps, MoodMeter, type MoodMeterProps, MultiSwitch, type MultiSwitchProps, Navbar, type NavbarBrandProps, type NavbarContextValue, type NavbarItemProps, type NavbarItemsProps, type NavbarProps, type NavbarToggleProps, type NodeRect, OtpInput, type OtpInputProps, Pagination, type PaginationProps, PdfViewer, type PdfViewerProps, Pillbox, type PillboxProps, type Placement, Popover, type PopoverContentProps, type PopoverContextValue, type PopoverProps, type PopoverTriggerProps, Portal, type PortalProps, Profile, type ProfileProps, Progress, type ProgressProps, type PromptAttachment, type PromptCmd, PromptInput, type PromptInputProps, type PromptMention, RadioGroup, type RadioGroupProps, ReasonTag, type ReasonTagProps, type ReasonTagSource, type ReasonTagTheme, type RenderExtension, type RenderExtensionProps, type ResolveMediaTypeInput, SKIN_TONES, type SectionRenderState, type SectionRenderable, Select, type SelectProps, Separator, type SeparatorProps, Sidebar, type SidebarCollapseMode, type SidebarContextValue, type SidebarGroupProps, type SidebarItemProps, type SidebarProps, type SidebarSubmenuProps, type SidebarToggleProps, type Size, Skeleton, type SkeletonProps, type SkinTone, Slider, type SliderProps, Stat, StatBand, type StatBandProps, type StatProps, StickyNote, type StickyNoteColor, type StickyNoteProps, Switch, type SwitchProps, Table, type TableBodyProps, type TableCellProps, type TableColumnProps, type TableHeadProps, type TablePaginationProps, type TableProps, type TableRowProps, type TableRowTrayProps, type TableSearchProps, type TableTrayProps, Tabs, type TabsContextValue, type TabsListProps, type TabsPanelProps, type TabsPanelsProps, type TabsProps, type TabsTabProps, type TabsVariant, Text, type TextProps, Textarea, type TextareaProps, TimeGrid, type TimeGridProps, type TimeGridTone, TimePicker, type TimePickerProps, Timeline, type TimelineBlockProps, type TimelineEvent, type TimelineItemProps, type TimelineOrientation, type TimelineProps, type TimelineVariant, Toast, type ToastContextValue, type ToastData, type ToastPosition, type ToastProviderProps, type ToastVariant, Tooltip, type TooltipProps, TreeNav, type TreeNavContextValue, type TreeNavProps, type TreeNodeData, type TreeNodeProps, type Variant, VideoViewer, type VideoViewerProps, applyTone, cn, configureIcons, contentEditableAdapter, controlledAdapter, find, hasSkinTones, inputAdapter, registerExtension, registerExtensions, registerIconAddendum, registerIconSet, registerIcons, resolve, resolveMediaType, sanitizeHref, sanitizeHtml, search, skinTones, textareaAdapter, useAccordion, useAccordionPanel, useAccordionSection, useAnimation, useCarousel, useCommand, useContextMenu, useControllableState, useDrawer, useDropdown, useEditor, useEscapeKey, useFieldMode, useFileBrowser, useFileUpload, useFloatingPosition, useFocusTrap, useId, useKanban, useMenu, useMobileMenu, useModal, useNavbar, useNodeRegistry, useOutsideClick, usePanZoom, usePopover, useSidebar, useTabs, useToast, useTreeNav };
package/dist/index.d.ts CHANGED
@@ -1057,6 +1057,102 @@ interface EyebrowProps extends HTMLAttributes<HTMLDivElement> {
1057
1057
  */
1058
1058
  declare const Eyebrow: react.ForwardRefExoticComponent<EyebrowProps & react.RefAttributes<HTMLDivElement>>;
1059
1059
 
1060
+ interface KbdProps extends HTMLAttributes<HTMLElement> {
1061
+ /**
1062
+ * Render a chord as separate keys — `keys={["Cmd", "K"]}` renders two caps
1063
+ * with a separator between them, rather than one wide cap reading "Cmd K".
1064
+ */
1065
+ keys?: ReactNode[];
1066
+ /** Separator drawn between chord keys. Default `"+"`. */
1067
+ separator?: ReactNode;
1068
+ size?: "xs" | "sm" | "md";
1069
+ children?: ReactNode;
1070
+ }
1071
+
1072
+ /**
1073
+ * A keyboard key cap — `<Kbd>K</Kbd>`, or a chord via `<Kbd keys={["Cmd","K"]} />`.
1074
+ *
1075
+ * Twenty `<kbd>` elements across this suite's own showcase carried six
1076
+ * different className recipes for the same thing: rounded, bordered, mono,
1077
+ * small, with a dark-mode counterpart. None of them disagreed on intent; they
1078
+ * disagreed on which greys.
1079
+ *
1080
+ * `min-w` is the detail worth having in one place: without it a `K` cap is
1081
+ * visibly narrower than an `Esc` cap beside it, and a row of single letters
1082
+ * reads as ragged rather than as keys.
1083
+ */
1084
+ declare const Kbd: react.ForwardRefExoticComponent<KbdProps & react.RefAttributes<HTMLElement>>;
1085
+
1086
+ interface IndexListItem {
1087
+ /** Row marker — `"01"`, `"1."`. Rendered tabular so the column aligns. */
1088
+ num?: ReactNode;
1089
+ /** The row's subject, and the link text when `href` is set. */
1090
+ title: ReactNode;
1091
+ /** Secondary text after the title. */
1092
+ meta?: ReactNode;
1093
+ /** Trailing value, pushed to the far end — a year, a count. */
1094
+ value?: ReactNode;
1095
+ /** Makes the whole row clickable. See the note on nested anchors. */
1096
+ href?: string;
1097
+ /** Stable key. Defaults to the index. */
1098
+ id?: string;
1099
+ }
1100
+ interface IndexListProps extends Omit<HTMLAttributes<HTMLOListElement>, "children"> {
1101
+ items: IndexListItem[];
1102
+ /**
1103
+ * Render an `<a>` for `href`. Pass your router's link (Inertia `Link`,
1104
+ * `next/link`) to keep client-side navigation. It receives `href`,
1105
+ * `className` and `children`.
1106
+ */
1107
+ linkAs?: React.ElementType;
1108
+ }
1109
+
1110
+ /**
1111
+ * A flush-left numbered index — `num · title · meta · trailing value`, each row
1112
+ * optionally a single clickable target.
1113
+ *
1114
+ * Thirteen gallery styles build this, and the sandbox uses a `stretched-link`
1115
+ * treatment in twenty-four places.
1116
+ *
1117
+ * ## Exactly one anchor per row, by construction
1118
+ *
1119
+ * The row is `relative` and the title's `<a>` carries `after:absolute
1120
+ * after:inset-0`, so the anchor's own pseudo-element covers the row. The
1121
+ * alternative — wrapping the row in an `<a>` and putting more links inside —
1122
+ * produces nested anchors, which is issue #418: the browser silently
1123
+ * restructures that DOM, so the server HTML and the client tree disagree and
1124
+ * hydration blows up. A test asserts one anchor per row for that reason.
1125
+ *
1126
+ * The link text stays the title rather than becoming an `aria-label` on an
1127
+ * invisible overlay, so the accessible name is the thing you would say out loud.
1128
+ */
1129
+ declare const IndexList: react.ForwardRefExoticComponent<IndexListProps & react.RefAttributes<HTMLOListElement>>;
1130
+
1131
+ interface StatProps extends HTMLAttributes<HTMLDivElement> {
1132
+ /** The figure itself — `"2016"`, `"120+"`, `"08"`. */
1133
+ value?: ReactNode;
1134
+ /** The caption under it. */
1135
+ label?: ReactNode;
1136
+ size?: "sm" | "md" | "lg";
1137
+ }
1138
+ interface StatBandProps extends HTMLAttributes<HTMLDivElement> {
1139
+ /** Columns in the band. Default `4`. */
1140
+ columns?: number;
1141
+ }
1142
+
1143
+ declare const Stat: react.ForwardRefExoticComponent<StatProps & react.RefAttributes<HTMLDivElement>> & {
1144
+ Band: react.ForwardRefExoticComponent<StatBandProps & react.RefAttributes<HTMLDivElement>>;
1145
+ };
1146
+
1147
+ /**
1148
+ * The row a set of `<Stat>`s sits in.
1149
+ *
1150
+ * A plain grid, but it is the reason `<Stat>` defaults to `tabular-nums`: a
1151
+ * figure alone can be proportional without anyone noticing, and only becomes
1152
+ * wrong once it has neighbours to fail to line up with.
1153
+ */
1154
+ declare const StatBand: react.ForwardRefExoticComponent<StatBandProps & react.RefAttributes<HTMLDivElement>>;
1155
+
1060
1156
  interface ProfileProps {
1061
1157
  src?: string;
1062
1158
  alt?: string;
@@ -4018,4 +4114,4 @@ declare const AudioViewer: react.ForwardRefExoticComponent<AudioViewerProps & re
4018
4114
  */
4019
4115
  declare const PdfViewer: react.ForwardRefExoticComponent<PdfViewerProps & react.RefAttributes<HTMLDivElement>>;
4020
4116
 
4021
- export { Accordion, type AccordionContentProps, type AccordionContextValue, type AccordionItemProps, type AccordionOrientation, AccordionPanel, AccordionPanelContent, type AccordionPanelContentProps, type AccordionPanelProps, AccordionPanelSection, type AccordionPanelSectionProps, AccordionPanelTrigger, type AccordionPanelTriggerProps, type AccordionProps, type AccordionTriggerProps, Action, type ActionColor, type ActionProps, type AffixPosition, AudioViewer, type AudioViewerProps, Autocomplete, type AutocompleteOption, type AutocompleteProps, Avatar, type AvatarProps, Badge, type BadgeProps, Brand, BrandMark, type BrandMarkProps, type BrandProps, Breadcrumbs, type BreadcrumbsItemProps, type BreadcrumbsProps, Button, type ButtonColor, type ButtonProps, Calendar, type CalendarMode, type CalendarProps, Callout, type CalloutProps, Card, type CardBodyProps, type CardFooterProps, type CardHeaderProps, type CardProps, Carousel, type CarouselContextValue, type CarouselControlsProps, type CarouselPanelsProps, type CarouselProps, type CarouselSlideProps, type CarouselStepsProps, type CarouselVariant, Chart, type ChartAreaProps, type ChartBarData, type ChartBarProps, type ChartCommonProps, type ChartDonutData, type ChartDonutProps, type ChartHorizontalBarProps, type ChartLineProps, type ChartPieData, type ChartPieProps, type ChartSeries, type ChartSparklineProps, type ChartStackedBarProps, ChatDrawer, type ChatDrawerProps, type ChatDrawerTab, Checkbox, CheckboxGroup, type CheckboxGroupProps, type CheckboxProps, CodeView, type CodeViewProps, type Color, ColorPicker, type ColorPickerProps, Command, type CommandContextValue, type CommandEmptyProps, type CommandGroupProps, type CommandInputProps, type CommandItemProps, type CommandListProps, type CommandProps, Composer, type ComposerProps, ContentRenderer, type ContentRendererProps, ContextMenu, type ContextMenuContentProps, type ContextMenuContextValue, type ContextMenuItemProps, type ContextMenuProps, type ContextMenuSeparatorProps, type ContextMenuTriggerProps, type ControlledAdapterHandle, DatePicker, type DatePickerProps, type DateRange, DisplayValue, type DisplayValueProps, Drawer, type DrawerAttach, type DrawerBodyProps, type DrawerContainerProps, type DrawerContextValue, type DrawerFooterProps, type DrawerHeaderProps, type DrawerProps, type DrawerSide, type DrawerSize, type DropPosition, Dropdown, type DropdownContextValue, type DropdownItemProps, type DropdownItemsProps, type DropdownProps, type DropdownSeparatorProps, type DropdownTriggerProps, EMOJI_CATEGORY_ORDER, EMOJI_DATA, EMOJI_ENTRIES, Editor, type EditorAction, type EditorContentProps, type EditorContextValue, type EditorProps, type EditorSourceToggleProps, type EditorToolbarProps, Emoji, type EmojiCategory, type EmojiCategoryKey, type EmojiEntry, type EmojiFlatEntry, type EmojiProps, EmojiSelect, type EmojiSelectProps, Eyebrow, type EyebrowProps, FauxClient, type FauxClientProps, Field, type FieldMode, FieldModeContext, type FieldModeContextValue, type FieldProps, FileBrowser, type FileBrowserContextValue, type FileBrowserNodeProps, type FileBrowserPathBarProps, type FileBrowserProps, type FileBrowserProvider, type FileBrowserRow, type FileBrowserToolbarProps, type FileBrowserTreeProps, type FileEntry, type FileKind, type FileLoadStatus, type FileSelectMode, type FileSnapshotNode, type FileSort, type FileSortDirection, type FileSortField, FileUpload, type FileUploadContextValue, type FileUploadDropzoneProps, type FileUploadListProps, type FileUploadProps, Form, type FormProps, FormProvider, type FormProviderProps, Heading, type HeadingProps, Icon, type IconProps, type IconSet, ImageViewer, type ImageViewerProps, type ImageViewerViewport, Input, type InputAffixProps, type InputBaseProps, type InputOption, type InputOptionGroup, type InputProps, InputTag, type InputTagAdapter, type InputTagAdapterState, type InputTagProps, type InputTagTrigger, type InputTagTriggers, Kanban, type KanbanCardMoveHandler, type KanbanCardProps, type KanbanColumnHandleProps, type KanbanColumnMoveHandler, type KanbanColumnProps, type KanbanContextValue, type KanbanProps, MagicWand, type MagicWandAction, type MagicWandAppearance, type MagicWandProps, type MagicWandSelection, Marquee, type MarqueeDirection, type MarqueeProps, type MediaKind, MediaViewer, type MediaViewerProps, Menu, type MenuContextValue, type MenuGroupProps, type MenuItemProps, type MenuOrientation, type MenuProps, type MenuSubmenuProps, MobileMenu, type MobileMenuBottomBarProps, type MobileMenuContextValue, type MobileMenuFlyoutProps, type MobileMenuItemProps, type MobileMenuSide, type MobileMenuVariant, Modal, type ModalBodyProps, type ModalContextValue, type ModalFooterProps, type ModalHeaderProps, type ModalProps, MoodMeter, type MoodMeterProps, MultiSwitch, type MultiSwitchProps, Navbar, type NavbarBrandProps, type NavbarContextValue, type NavbarItemProps, type NavbarItemsProps, type NavbarProps, type NavbarToggleProps, type NodeRect, OtpInput, type OtpInputProps, Pagination, type PaginationProps, PdfViewer, type PdfViewerProps, Pillbox, type PillboxProps, type Placement, Popover, type PopoverContentProps, type PopoverContextValue, type PopoverProps, type PopoverTriggerProps, Portal, type PortalProps, Profile, type ProfileProps, Progress, type ProgressProps, type PromptAttachment, type PromptCmd, PromptInput, type PromptInputProps, type PromptMention, RadioGroup, type RadioGroupProps, ReasonTag, type ReasonTagProps, type ReasonTagSource, type ReasonTagTheme, type RenderExtension, type RenderExtensionProps, type ResolveMediaTypeInput, SKIN_TONES, type SectionRenderState, type SectionRenderable, Select, type SelectProps, Separator, type SeparatorProps, Sidebar, type SidebarCollapseMode, type SidebarContextValue, type SidebarGroupProps, type SidebarItemProps, type SidebarProps, type SidebarSubmenuProps, type SidebarToggleProps, type Size, Skeleton, type SkeletonProps, type SkinTone, Slider, type SliderProps, StickyNote, type StickyNoteColor, type StickyNoteProps, Switch, type SwitchProps, Table, type TableBodyProps, type TableCellProps, type TableColumnProps, type TableHeadProps, type TablePaginationProps, type TableProps, type TableRowProps, type TableRowTrayProps, type TableSearchProps, type TableTrayProps, Tabs, type TabsContextValue, type TabsListProps, type TabsPanelProps, type TabsPanelsProps, type TabsProps, type TabsTabProps, type TabsVariant, Text, type TextProps, Textarea, type TextareaProps, TimeGrid, type TimeGridProps, type TimeGridTone, TimePicker, type TimePickerProps, Timeline, type TimelineBlockProps, type TimelineEvent, type TimelineItemProps, type TimelineOrientation, type TimelineProps, type TimelineVariant, Toast, type ToastContextValue, type ToastData, type ToastPosition, type ToastProviderProps, type ToastVariant, Tooltip, type TooltipProps, TreeNav, type TreeNavContextValue, type TreeNavProps, type TreeNodeData, type TreeNodeProps, type Variant, VideoViewer, type VideoViewerProps, applyTone, cn, configureIcons, contentEditableAdapter, controlledAdapter, find, hasSkinTones, inputAdapter, registerExtension, registerExtensions, registerIconAddendum, registerIconSet, registerIcons, resolve, resolveMediaType, sanitizeHref, sanitizeHtml, search, skinTones, textareaAdapter, useAccordion, useAccordionPanel, useAccordionSection, useAnimation, useCarousel, useCommand, useContextMenu, useControllableState, useDrawer, useDropdown, useEditor, useEscapeKey, useFieldMode, useFileBrowser, useFileUpload, useFloatingPosition, useFocusTrap, useId, useKanban, useMenu, useMobileMenu, useModal, useNavbar, useNodeRegistry, useOutsideClick, usePanZoom, usePopover, useSidebar, useTabs, useToast, useTreeNav };
4117
+ export { Accordion, type AccordionContentProps, type AccordionContextValue, type AccordionItemProps, type AccordionOrientation, AccordionPanel, AccordionPanelContent, type AccordionPanelContentProps, type AccordionPanelProps, AccordionPanelSection, type AccordionPanelSectionProps, AccordionPanelTrigger, type AccordionPanelTriggerProps, type AccordionProps, type AccordionTriggerProps, Action, type ActionColor, type ActionProps, type AffixPosition, AudioViewer, type AudioViewerProps, Autocomplete, type AutocompleteOption, type AutocompleteProps, Avatar, type AvatarProps, Badge, type BadgeProps, Brand, BrandMark, type BrandMarkProps, type BrandProps, Breadcrumbs, type BreadcrumbsItemProps, type BreadcrumbsProps, Button, type ButtonColor, type ButtonProps, Calendar, type CalendarMode, type CalendarProps, Callout, type CalloutProps, Card, type CardBodyProps, type CardFooterProps, type CardHeaderProps, type CardProps, Carousel, type CarouselContextValue, type CarouselControlsProps, type CarouselPanelsProps, type CarouselProps, type CarouselSlideProps, type CarouselStepsProps, type CarouselVariant, Chart, type ChartAreaProps, type ChartBarData, type ChartBarProps, type ChartCommonProps, type ChartDonutData, type ChartDonutProps, type ChartHorizontalBarProps, type ChartLineProps, type ChartPieData, type ChartPieProps, type ChartSeries, type ChartSparklineProps, type ChartStackedBarProps, ChatDrawer, type ChatDrawerProps, type ChatDrawerTab, Checkbox, CheckboxGroup, type CheckboxGroupProps, type CheckboxProps, CodeView, type CodeViewProps, type Color, ColorPicker, type ColorPickerProps, Command, type CommandContextValue, type CommandEmptyProps, type CommandGroupProps, type CommandInputProps, type CommandItemProps, type CommandListProps, type CommandProps, Composer, type ComposerProps, ContentRenderer, type ContentRendererProps, ContextMenu, type ContextMenuContentProps, type ContextMenuContextValue, type ContextMenuItemProps, type ContextMenuProps, type ContextMenuSeparatorProps, type ContextMenuTriggerProps, type ControlledAdapterHandle, DatePicker, type DatePickerProps, type DateRange, DisplayValue, type DisplayValueProps, Drawer, type DrawerAttach, type DrawerBodyProps, type DrawerContainerProps, type DrawerContextValue, type DrawerFooterProps, type DrawerHeaderProps, type DrawerProps, type DrawerSide, type DrawerSize, type DropPosition, Dropdown, type DropdownContextValue, type DropdownItemProps, type DropdownItemsProps, type DropdownProps, type DropdownSeparatorProps, type DropdownTriggerProps, EMOJI_CATEGORY_ORDER, EMOJI_DATA, EMOJI_ENTRIES, Editor, type EditorAction, type EditorContentProps, type EditorContextValue, type EditorProps, type EditorSourceToggleProps, type EditorToolbarProps, Emoji, type EmojiCategory, type EmojiCategoryKey, type EmojiEntry, type EmojiFlatEntry, type EmojiProps, EmojiSelect, type EmojiSelectProps, Eyebrow, type EyebrowProps, FauxClient, type FauxClientProps, Field, type FieldMode, FieldModeContext, type FieldModeContextValue, type FieldProps, FileBrowser, type FileBrowserContextValue, type FileBrowserNodeProps, type FileBrowserPathBarProps, type FileBrowserProps, type FileBrowserProvider, type FileBrowserRow, type FileBrowserToolbarProps, type FileBrowserTreeProps, type FileEntry, type FileKind, type FileLoadStatus, type FileSelectMode, type FileSnapshotNode, type FileSort, type FileSortDirection, type FileSortField, FileUpload, type FileUploadContextValue, type FileUploadDropzoneProps, type FileUploadListProps, type FileUploadProps, Form, type FormProps, FormProvider, type FormProviderProps, Heading, type HeadingProps, Icon, type IconProps, type IconSet, ImageViewer, type ImageViewerProps, type ImageViewerViewport, IndexList, type IndexListItem, type IndexListProps, Input, type InputAffixProps, type InputBaseProps, type InputOption, type InputOptionGroup, type InputProps, InputTag, type InputTagAdapter, type InputTagAdapterState, type InputTagProps, type InputTagTrigger, type InputTagTriggers, Kanban, type KanbanCardMoveHandler, type KanbanCardProps, type KanbanColumnHandleProps, type KanbanColumnMoveHandler, type KanbanColumnProps, type KanbanContextValue, type KanbanProps, Kbd, type KbdProps, MagicWand, type MagicWandAction, type MagicWandAppearance, type MagicWandProps, type MagicWandSelection, Marquee, type MarqueeDirection, type MarqueeProps, type MediaKind, MediaViewer, type MediaViewerProps, Menu, type MenuContextValue, type MenuGroupProps, type MenuItemProps, type MenuOrientation, type MenuProps, type MenuSubmenuProps, MobileMenu, type MobileMenuBottomBarProps, type MobileMenuContextValue, type MobileMenuFlyoutProps, type MobileMenuItemProps, type MobileMenuSide, type MobileMenuVariant, Modal, type ModalBodyProps, type ModalContextValue, type ModalFooterProps, type ModalHeaderProps, type ModalProps, MoodMeter, type MoodMeterProps, MultiSwitch, type MultiSwitchProps, Navbar, type NavbarBrandProps, type NavbarContextValue, type NavbarItemProps, type NavbarItemsProps, type NavbarProps, type NavbarToggleProps, type NodeRect, OtpInput, type OtpInputProps, Pagination, type PaginationProps, PdfViewer, type PdfViewerProps, Pillbox, type PillboxProps, type Placement, Popover, type PopoverContentProps, type PopoverContextValue, type PopoverProps, type PopoverTriggerProps, Portal, type PortalProps, Profile, type ProfileProps, Progress, type ProgressProps, type PromptAttachment, type PromptCmd, PromptInput, type PromptInputProps, type PromptMention, RadioGroup, type RadioGroupProps, ReasonTag, type ReasonTagProps, type ReasonTagSource, type ReasonTagTheme, type RenderExtension, type RenderExtensionProps, type ResolveMediaTypeInput, SKIN_TONES, type SectionRenderState, type SectionRenderable, Select, type SelectProps, Separator, type SeparatorProps, Sidebar, type SidebarCollapseMode, type SidebarContextValue, type SidebarGroupProps, type SidebarItemProps, type SidebarProps, type SidebarSubmenuProps, type SidebarToggleProps, type Size, Skeleton, type SkeletonProps, type SkinTone, Slider, type SliderProps, Stat, StatBand, type StatBandProps, type StatProps, StickyNote, type StickyNoteColor, type StickyNoteProps, Switch, type SwitchProps, Table, type TableBodyProps, type TableCellProps, type TableColumnProps, type TableHeadProps, type TablePaginationProps, type TableProps, type TableRowProps, type TableRowTrayProps, type TableSearchProps, type TableTrayProps, Tabs, type TabsContextValue, type TabsListProps, type TabsPanelProps, type TabsPanelsProps, type TabsProps, type TabsTabProps, type TabsVariant, Text, type TextProps, Textarea, type TextareaProps, TimeGrid, type TimeGridProps, type TimeGridTone, TimePicker, type TimePickerProps, Timeline, type TimelineBlockProps, type TimelineEvent, type TimelineItemProps, type TimelineOrientation, type TimelineProps, type TimelineVariant, Toast, type ToastContextValue, type ToastData, type ToastPosition, type ToastProviderProps, type ToastVariant, Tooltip, type TooltipProps, TreeNav, type TreeNavContextValue, type TreeNavProps, type TreeNodeData, type TreeNodeProps, type Variant, VideoViewer, type VideoViewerProps, applyTone, cn, configureIcons, contentEditableAdapter, controlledAdapter, find, hasSkinTones, inputAdapter, registerExtension, registerExtensions, registerIconAddendum, registerIconSet, registerIcons, resolve, resolveMediaType, sanitizeHref, sanitizeHtml, search, skinTones, textareaAdapter, useAccordion, useAccordionPanel, useAccordionSection, useAnimation, useCarousel, useCommand, useContextMenu, useControllableState, useDrawer, useDropdown, useEditor, useEscapeKey, useFieldMode, useFileBrowser, useFileUpload, useFloatingPosition, useFocusTrap, useId, useKanban, useMenu, useMobileMenu, useModal, useNavbar, useNodeRegistry, useOutsideClick, usePanZoom, usePopover, useSidebar, useTabs, useToast, useTreeNav };
package/dist/index.js CHANGED
@@ -1,4 +1,4 @@
1
- import { forwardRef, useSyncExternalStore, createContext, useId, useRef, useEffect, useState, useCallback, useMemo, Children, isValidElement, useLayoutEffect, useImperativeHandle, cloneElement, useContext, Fragment as Fragment$1 } from 'react';
1
+ import { forwardRef, useSyncExternalStore, createContext, useId, useRef, useEffect, useState, useCallback, useMemo, Children, isValidElement, Fragment as Fragment$1, useLayoutEffect, useImperativeHandle, cloneElement, useContext } from 'react';
2
2
  import { clsx } from 'clsx';
3
3
  import { twMerge } from 'tailwind-merge';
4
4
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
@@ -4114,7 +4114,7 @@ var Checkbox = forwardRef(
4114
4114
  el.indeterminate = indeterminate ?? false;
4115
4115
  }
4116
4116
  }, [indeterminate]);
4117
- const sizeClasses7 = {
4117
+ const sizeClasses8 = {
4118
4118
  xs: "h-3.5 w-3.5",
4119
4119
  sm: "h-4 w-4",
4120
4120
  md: "h-[18px] w-[18px]",
@@ -4140,7 +4140,7 @@ var Checkbox = forwardRef(
4140
4140
  } : void 0,
4141
4141
  className: cn(
4142
4142
  "flex shrink-0 items-center justify-center text-zinc-700 dark:text-zinc-200",
4143
- sizeClasses7,
4143
+ sizeClasses8,
4144
4144
  interactive && "cursor-pointer rounded outline-none transition-colors hover:text-zinc-900 focus-visible:ring-2 focus-visible:ring-blue-500/40 dark:hover:text-white"
4145
4145
  ),
4146
4146
  "aria-hidden": interactive ? void 0 : "true",
@@ -4169,7 +4169,7 @@ var Checkbox = forwardRef(
4169
4169
  },
4170
4170
  onChange: (e) => setChecked(e.target.checked),
4171
4171
  className: cn(
4172
- sizeClasses7,
4172
+ sizeClasses8,
4173
4173
  "cursor-pointer rounded border border-zinc-300 bg-white text-blue-600 transition-[border-color,box-shadow] duration-150 focus:ring-2 focus:ring-blue-500/40 focus:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:border-zinc-700 dark:bg-[#1e1e24]",
4174
4174
  dirtyRingClasses(dirty),
4175
4175
  error && "border-red-500"
@@ -4227,7 +4227,7 @@ function CheckboxGroup({
4227
4227
  const next = value.includes(optionValue) ? value.filter((v) => v !== optionValue) : [...value, optionValue];
4228
4228
  setValue(next);
4229
4229
  };
4230
- const sizeClasses7 = {
4230
+ const sizeClasses8 = {
4231
4231
  xs: "h-3.5 w-3.5",
4232
4232
  sm: "h-4 w-4",
4233
4233
  md: "h-[18px] w-[18px]",
@@ -4263,7 +4263,7 @@ function CheckboxGroup({
4263
4263
  autoFocus: interactive && index === 0,
4264
4264
  onChange: () => handleToggle(resolved.value),
4265
4265
  className: cn(
4266
- sizeClasses7,
4266
+ sizeClasses8,
4267
4267
  "cursor-pointer rounded border border-zinc-300 bg-white text-blue-600 transition-[border-color,box-shadow] duration-150 focus:ring-2 focus:ring-blue-500/40 focus:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:border-zinc-700 dark:bg-[#1e1e24]",
4268
4268
  dirtyRingClasses(dirty),
4269
4269
  error && "border-red-500"
@@ -4330,7 +4330,7 @@ function RadioGroup({
4330
4330
  defaultValue,
4331
4331
  onValueChange
4332
4332
  );
4333
- const sizeClasses7 = {
4333
+ const sizeClasses8 = {
4334
4334
  xs: "h-3.5 w-3.5",
4335
4335
  sm: "h-4 w-4",
4336
4336
  md: "h-[18px] w-[18px]",
@@ -4369,7 +4369,7 @@ function RadioGroup({
4369
4369
  autoFocus: shouldAutoFocus,
4370
4370
  onChange: () => setValue(resolved.value),
4371
4371
  className: cn(
4372
- sizeClasses7,
4372
+ sizeClasses8,
4373
4373
  "cursor-pointer border border-zinc-300 bg-white text-blue-600 transition-[border-color,box-shadow] duration-150 focus:ring-2 focus:ring-blue-500/40 focus:ring-offset-0 disabled:cursor-not-allowed disabled:opacity-50 dark:border-zinc-700 dark:bg-[#1e1e24]",
4374
4374
  dirtyRingClasses(dirty),
4375
4375
  error && "border-red-500"
@@ -6977,6 +6977,114 @@ var Eyebrow = forwardRef(
6977
6977
  }
6978
6978
  );
6979
6979
  Eyebrow.displayName = "Eyebrow";
6980
+ var sizeClasses7 = {
6981
+ xs: "min-w-[1.25rem] px-1 py-px text-[9px]",
6982
+ sm: "min-w-[1.4rem] px-1 py-0.5 text-[10px]",
6983
+ md: "min-w-[1.6rem] px-1.5 py-0.5 text-xs"
6984
+ };
6985
+ var capClasses = "inline-grid place-items-center rounded border border-zinc-300 bg-zinc-50 font-mono leading-none text-zinc-700 dark:border-zinc-700 dark:bg-zinc-800 dark:text-zinc-300";
6986
+ var Kbd = forwardRef(
6987
+ ({ keys, separator = "+", size = "sm", className, children, ...props }, ref) => {
6988
+ if (keys?.length) {
6989
+ return (
6990
+ // The chord is ONE <kbd> containing per-key caps: a screen reader
6991
+ // announces "Cmd + K" as a unit, which is what it is, rather than as
6992
+ // two unrelated keys.
6993
+ /* @__PURE__ */ jsx(
6994
+ "kbd",
6995
+ {
6996
+ ref,
6997
+ "data-react-fancy-kbd": "",
6998
+ className: cn("inline-flex items-center gap-1 font-mono not-italic", className),
6999
+ ...props,
7000
+ children: keys.map((k, i) => /* @__PURE__ */ jsxs(Fragment$1, { children: [
7001
+ i > 0 && /* @__PURE__ */ jsx("span", { "aria-hidden": true, className: "text-zinc-400 dark:text-zinc-500", children: separator }),
7002
+ /* @__PURE__ */ jsx("span", { className: cn(capClasses, sizeClasses7[size]), children: k })
7003
+ ] }, i))
7004
+ }
7005
+ )
7006
+ );
7007
+ }
7008
+ return /* @__PURE__ */ jsx(
7009
+ "kbd",
7010
+ {
7011
+ ref,
7012
+ "data-react-fancy-kbd": "",
7013
+ className: cn(capClasses, sizeClasses7[size], "not-italic", className),
7014
+ ...props,
7015
+ children
7016
+ }
7017
+ );
7018
+ }
7019
+ );
7020
+ Kbd.displayName = "Kbd";
7021
+ var IndexList = forwardRef(
7022
+ ({ items, linkAs, className, ...props }, ref) => {
7023
+ const Link = linkAs ?? "a";
7024
+ return /* @__PURE__ */ jsx("ol", { ref, "data-react-fancy-index-list": "", className: cn("m-0 list-none p-0", className), ...props, children: items.map((item, i) => /* @__PURE__ */ jsxs(
7025
+ "li",
7026
+ {
7027
+ "data-react-fancy-index-row": "",
7028
+ className: "relative flex items-baseline gap-4 border-b border-zinc-200 py-3 last:border-b-0 dark:border-zinc-800",
7029
+ children: [
7030
+ item.num != null && /* @__PURE__ */ jsx("span", { className: "shrink-0 font-mono text-xs tabular-nums text-zinc-400 dark:text-zinc-500", children: item.num }),
7031
+ /* @__PURE__ */ jsx("span", { className: "min-w-0 flex-1 truncate font-medium text-zinc-900 dark:text-zinc-100", children: item.href ? /* @__PURE__ */ jsx(
7032
+ Link,
7033
+ {
7034
+ href: item.href,
7035
+ className: "no-underline after:absolute after:inset-0 after:content-[''] hover:underline",
7036
+ children: item.title
7037
+ }
7038
+ ) : item.title }),
7039
+ item.meta != null && /* @__PURE__ */ jsx("span", { className: "shrink-0 truncate text-sm text-zinc-500 dark:text-zinc-400", children: item.meta }),
7040
+ item.value != null && /* @__PURE__ */ jsx("span", { className: "ml-auto shrink-0 font-mono text-xs tabular-nums text-zinc-500 dark:text-zinc-400", children: item.value })
7041
+ ]
7042
+ },
7043
+ item.id ?? i
7044
+ )) });
7045
+ }
7046
+ );
7047
+ IndexList.displayName = "IndexList";
7048
+ var StatBand = forwardRef(
7049
+ ({ columns = 4, className, style, children, ...props }, ref) => {
7050
+ return /* @__PURE__ */ jsx(
7051
+ "div",
7052
+ {
7053
+ ref,
7054
+ "data-react-fancy-stat-band": "",
7055
+ className: cn("grid gap-6", className),
7056
+ style: { gridTemplateColumns: `repeat(${columns}, minmax(0, 1fr))`, ...style },
7057
+ ...props,
7058
+ children
7059
+ }
7060
+ );
7061
+ }
7062
+ );
7063
+ StatBand.displayName = "StatBand";
7064
+ var valueClasses = {
7065
+ sm: "text-xl",
7066
+ md: "text-3xl",
7067
+ lg: "text-5xl"
7068
+ };
7069
+ var StatRoot = forwardRef(
7070
+ ({ value, label, size = "md", className, children, ...props }, ref) => {
7071
+ return /* @__PURE__ */ jsx("div", { ref, "data-react-fancy-stat": "", className: cn(className), ...props, children: children ?? /* @__PURE__ */ jsxs(Fragment, { children: [
7072
+ /* @__PURE__ */ jsx(
7073
+ "div",
7074
+ {
7075
+ className: cn(
7076
+ "font-semibold leading-none tracking-tight text-zinc-900 tabular-nums dark:text-zinc-100",
7077
+ valueClasses[size]
7078
+ ),
7079
+ children: value
7080
+ }
7081
+ ),
7082
+ label != null && /* @__PURE__ */ jsx("div", { className: "mt-1.5 font-mono text-xs uppercase tracking-wide text-zinc-500 dark:text-zinc-400", children: label })
7083
+ ] }) });
7084
+ }
7085
+ );
7086
+ StatRoot.displayName = "Stat";
7087
+ var Stat = Object.assign(StatRoot, { Band: StatBand });
6980
7088
  var gapClasses2 = {
6981
7089
  sm: "gap-2",
6982
7090
  md: "gap-3",
@@ -16500,6 +16608,6 @@ var MediaViewer = forwardRef(
16500
16608
  );
16501
16609
  MediaViewer.displayName = "MediaViewer";
16502
16610
 
16503
- export { Accordion, AccordionPanel, AccordionPanelContent, AccordionPanelSection, AccordionPanelTrigger, Action, AudioViewer, Autocomplete, Avatar, Badge, Brand, BrandMark, Breadcrumbs, Button, Calendar, Callout, Card, Carousel, Chart, ChatDrawer, Checkbox, CheckboxGroup, CodeView, ColorPicker, Command, Composer, ContentRenderer, ContextMenu, DatePicker, DisplayValue, Drawer, Dropdown, EMOJI_CATEGORY_ORDER, EMOJI_DATA, EMOJI_ENTRIES, Editor, Emoji, EmojiSelect, Eyebrow, FauxClient, Field, FieldModeContext, FileBrowser, FileUpload, Form, FormProvider, Heading, Icon, ImageViewer, Input, InputTag, Kanban, MagicWand, Marquee, MediaViewer, Menu2 as Menu, MobileMenu, Modal, MoodMeter, MultiSwitch, Navbar, OtpInput, Pagination, PdfViewer, Pillbox, Popover, Portal, Profile, Progress, PromptInput, RadioGroup, ReasonTag, SKIN_TONES, Select, Separator, Sidebar, Skeleton, Slider, StickyNote, Switch, Table, Tabs, Text, Textarea, TimeGrid, TimePicker, Timeline, Toast, Tooltip, TreeNav, VideoViewer, applyTone, cn, configureIcons, contentEditableAdapter, controlledAdapter, find, hasSkinTones, inputAdapter, registerExtension, registerExtensions, registerIconAddendum, registerIconSet, registerIcons, resolve, resolveMediaType, sanitizeHref, sanitizeHtml, search, skinTones, textareaAdapter, useAccordion, useAccordionPanel, useAccordionSection, useAnimation, useCarousel, useCommand, useContextMenu, useControllableState, useDrawer, useDropdown, useEditor, useEscapeKey, useFieldMode, useFileBrowser, useFileUpload, useFloatingPosition, useFocusTrap, useId12 as useId, useKanban, useMenu, useMobileMenu, useModal, useNavbar, useNodeRegistry, useOutsideClick, usePanZoom, usePopover, useSidebar, useTabs, useToast, useTreeNav };
16611
+ export { Accordion, AccordionPanel, AccordionPanelContent, AccordionPanelSection, AccordionPanelTrigger, Action, AudioViewer, Autocomplete, Avatar, Badge, Brand, BrandMark, Breadcrumbs, Button, Calendar, Callout, Card, Carousel, Chart, ChatDrawer, Checkbox, CheckboxGroup, CodeView, ColorPicker, Command, Composer, ContentRenderer, ContextMenu, DatePicker, DisplayValue, Drawer, Dropdown, EMOJI_CATEGORY_ORDER, EMOJI_DATA, EMOJI_ENTRIES, Editor, Emoji, EmojiSelect, Eyebrow, FauxClient, Field, FieldModeContext, FileBrowser, FileUpload, Form, FormProvider, Heading, Icon, ImageViewer, IndexList, Input, InputTag, Kanban, Kbd, MagicWand, Marquee, MediaViewer, Menu2 as Menu, MobileMenu, Modal, MoodMeter, MultiSwitch, Navbar, OtpInput, Pagination, PdfViewer, Pillbox, Popover, Portal, Profile, Progress, PromptInput, RadioGroup, ReasonTag, SKIN_TONES, Select, Separator, Sidebar, Skeleton, Slider, Stat, StatBand, StickyNote, Switch, Table, Tabs, Text, Textarea, TimeGrid, TimePicker, Timeline, Toast, Tooltip, TreeNav, VideoViewer, applyTone, cn, configureIcons, contentEditableAdapter, controlledAdapter, find, hasSkinTones, inputAdapter, registerExtension, registerExtensions, registerIconAddendum, registerIconSet, registerIcons, resolve, resolveMediaType, sanitizeHref, sanitizeHtml, search, skinTones, textareaAdapter, useAccordion, useAccordionPanel, useAccordionSection, useAnimation, useCarousel, useCommand, useContextMenu, useControllableState, useDrawer, useDropdown, useEditor, useEscapeKey, useFieldMode, useFileBrowser, useFileUpload, useFloatingPosition, useFocusTrap, useId12 as useId, useKanban, useMenu, useMobileMenu, useModal, useNavbar, useNodeRegistry, useOutsideClick, usePanZoom, usePopover, useSidebar, useTabs, useToast, useTreeNav };
16504
16612
  //# sourceMappingURL=index.js.map
16505
16613
  //# sourceMappingURL=index.js.map