@particle-academy/react-fancy 4.12.1 → 4.13.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
@@ -2622,6 +2622,271 @@ declare const TreeNav: typeof TreeNavRoot & {
2622
2622
 
2623
2623
  declare function useTreeNav(): TreeNavContextValue;
2624
2624
 
2625
+ /** Entry kind — regular file or directory. */
2626
+ type FileKind = "file" | "dir";
2627
+ /**
2628
+ * A single file-system entry. JSON-friendly by design so agents and remote
2629
+ * hosts can emit entries directly (over MCP, a relay, or a WebSocket).
2630
+ * `path` is the stable identity — POSIX-style, never an index.
2631
+ */
2632
+ interface FileEntry {
2633
+ /** Stable identity — POSIX-style path (e.g. `"/src/App.tsx"`). */
2634
+ path: string;
2635
+ /** Display name (usually the last path segment). */
2636
+ name: string;
2637
+ /** `"file"` or `"dir"`. */
2638
+ kind: FileKind;
2639
+ /** Size in bytes (optional; shown for files and used by size sorting). */
2640
+ size?: number;
2641
+ /** Last-modified timestamp, ISO 8601 (optional; used by mtime sorting). */
2642
+ mtime?: string;
2643
+ /**
2644
+ * Dirs only: `false` = known-empty (no expand affordance), `true` = has
2645
+ * children, `undefined` = unknown (expandable when a provider is present).
2646
+ */
2647
+ hasChildren?: boolean;
2648
+ /** Disabled entries render dimmed and cannot be selected, expanded, or navigated into. */
2649
+ disabled?: boolean;
2650
+ }
2651
+ /**
2652
+ * JSON-friendly snapshot node — a {@link FileEntry} plus optionally
2653
+ * materialized children. `children: undefined` on a dir = unknown depth (a
2654
+ * provider fills it lazily in hybrid mode); `children: []` = known-empty.
2655
+ */
2656
+ interface FileSnapshotNode extends FileEntry {
2657
+ children?: FileSnapshotNode[];
2658
+ }
2659
+ /** Async data source for provider mode. Works against local FS, HTTP, MCP bridges, SSH adapters — anything that resolves a listing. */
2660
+ interface FileBrowserProvider {
2661
+ /**
2662
+ * Load the direct children of `path`. Called lazily — only for the current
2663
+ * directory and explicitly expanded folders. The component never walks the
2664
+ * tree eagerly.
2665
+ */
2666
+ loadChildren: (path: string) => Promise<FileEntry[]>;
2667
+ }
2668
+ /** Which entry kinds are selectable. */
2669
+ type FileSelectMode = "file" | "directory" | "both";
2670
+ type FileSortField = "name" | "size" | "mtime";
2671
+ type FileSortDirection = "asc" | "desc";
2672
+ /** Sort order for directory listings. Directories always sort before files. */
2673
+ interface FileSort {
2674
+ by: FileSortField;
2675
+ direction: FileSortDirection;
2676
+ }
2677
+ /** Per-path load lifecycle for provider mode. */
2678
+ type FileLoadStatus = "idle" | "loading" | "loaded" | "error";
2679
+ interface FileBrowserProps {
2680
+ /** Async data source (provider mode). Folders load on first expand — never an eager walk. */
2681
+ provider?: FileBrowserProvider;
2682
+ /**
2683
+ * JSON-friendly tree value (snapshot mode). Replace or patch it from outside
2684
+ * as stream chunks land — the component treats it as the source of truth for
2685
+ * every path it covers. May be combined with `provider` (hybrid): the
2686
+ * snapshot seeds, the provider fills unknown-depth folders.
2687
+ */
2688
+ snapshot?: FileSnapshotNode[];
2689
+ /** Which entry kinds are selectable (default `"file"`). Non-selectable entries stay browsable. */
2690
+ select?: FileSelectMode;
2691
+ /** Allow selecting multiple entries; `value` becomes `string[]` (default `false`). */
2692
+ multiple?: boolean;
2693
+ /** Controlled selection — a path, an array of paths (`multiple`), or `null`. */
2694
+ value?: string | string[] | null;
2695
+ /** Initial selection (uncontrolled). */
2696
+ defaultValue?: string | string[] | null;
2697
+ /** Called with the next selection and the matching known entries. */
2698
+ onChange?: (value: string | string[] | null, entries: FileEntry[]) => void;
2699
+ /** Controlled current directory. */
2700
+ path?: string;
2701
+ /** Initial current directory (uncontrolled, default `"/"`). */
2702
+ defaultPath?: string;
2703
+ /** Called when the current directory changes (breadcrumb click, path input, double-clicked folder). */
2704
+ onPathChange?: (path: string) => void;
2705
+ /** Controlled expanded folder paths. */
2706
+ expandedPaths?: string[];
2707
+ /** Initially expanded folder paths (uncontrolled). */
2708
+ defaultExpandedPaths?: string[];
2709
+ /** Called when the expanded set changes. */
2710
+ onExpandedChange?: (paths: string[]) => void;
2711
+ /** Controlled sort order. */
2712
+ sort?: FileSort;
2713
+ /** Initial sort order (uncontrolled, default `{ by: "name", direction: "asc" }`). */
2714
+ defaultSort?: FileSort;
2715
+ /** Called when the sort order changes. */
2716
+ onSortChange?: (sort: FileSort) => void;
2717
+ /** Controlled name filter — a client-side substring match over loaded nodes. */
2718
+ filter?: string;
2719
+ /** Initial name filter (uncontrolled). */
2720
+ defaultFilter?: string;
2721
+ /** Called when the name filter changes. */
2722
+ onFilterChange?: (filter: string) => void;
2723
+ /** Called when a provider load rejects; the failed folder shows an inline error with a retry. */
2724
+ onError?: (path: string, error: unknown) => void;
2725
+ /** Indent per nesting level in px (default `16`). */
2726
+ indentSize?: number;
2727
+ /** Show file/folder icons (default `true`). */
2728
+ showIcons?: boolean;
2729
+ /** Custom className for the outer shell. */
2730
+ className?: string;
2731
+ /**
2732
+ * Custom layout. When omitted, renders the default
2733
+ * `<FileBrowser.PathBar />` + `<FileBrowser.Toolbar />` + `<FileBrowser.Tree />`.
2734
+ */
2735
+ children?: ReactNode;
2736
+ }
2737
+ /** A flattened, visible row — the keyboard-navigation order of the tree pane. */
2738
+ interface FileBrowserRow {
2739
+ entry: FileEntry;
2740
+ depth: number;
2741
+ /** Whether the row shows an expand affordance. */
2742
+ expandable: boolean;
2743
+ /** Whether the row is currently expanded. */
2744
+ expanded: boolean;
2745
+ /** Path of the parent row, or `null` for top-level rows of the current directory. */
2746
+ parentPath: string | null;
2747
+ }
2748
+ interface FileBrowserContextValue {
2749
+ /** Known children of a path (snapshot first, then provider cache), or `undefined` when not yet loaded. */
2750
+ entriesFor: (path: string) => FileEntry[] | undefined;
2751
+ /** Children of a path after the name filter + sort are applied (empty when unknown). */
2752
+ visibleChildrenFor: (path: string) => FileEntry[];
2753
+ statusFor: (path: string) => FileLoadStatus;
2754
+ errorFor: (path: string) => string | undefined;
2755
+ /** Request a lazy load of a path's children (no-op without a provider or when already known/loading). */
2756
+ loadPath: (path: string, options?: {
2757
+ reload?: boolean;
2758
+ }) => void;
2759
+ hasProvider: boolean;
2760
+ path: string;
2761
+ /** Change the current directory (also clears the name filter and resets roving focus). */
2762
+ navigate: (path: string) => void;
2763
+ expandedPaths: string[];
2764
+ toggleExpanded: (path: string) => void;
2765
+ select: FileSelectMode;
2766
+ multiple: boolean;
2767
+ selectedPaths: string[];
2768
+ isSelected: (path: string) => boolean;
2769
+ isSelectable: (entry: FileEntry) => boolean;
2770
+ selectEntry: (entry: FileEntry) => void;
2771
+ sort: FileSort;
2772
+ setSort: (sort: FileSort) => void;
2773
+ filter: string;
2774
+ setFilter: (filter: string) => void;
2775
+ visibleRows: FileBrowserRow[];
2776
+ focusedPath: string | null;
2777
+ setFocusedPath: (path: string | null) => void;
2778
+ /** The row that currently owns `tabIndex={0}`. */
2779
+ tabFocusPath: string | null;
2780
+ focusRow: (path: string) => void;
2781
+ registerRow: (path: string, el: HTMLElement | null) => void;
2782
+ indentSize: number;
2783
+ showIcons: boolean;
2784
+ }
2785
+ interface FileBrowserPathBarProps {
2786
+ /** Allow switching to the editable path input (default `true`). */
2787
+ editable?: boolean;
2788
+ /** Placeholder for the path input. */
2789
+ placeholder?: string;
2790
+ className?: string;
2791
+ }
2792
+ interface FileBrowserToolbarProps {
2793
+ /** Placeholder for the name filter input (default `"Filter"`). */
2794
+ filterPlaceholder?: string;
2795
+ className?: string;
2796
+ }
2797
+ interface FileBrowserTreeProps {
2798
+ /** Accessible label for the tree (default `"Files"`). */
2799
+ ariaLabel?: string;
2800
+ className?: string;
2801
+ }
2802
+ interface FileBrowserNodeProps {
2803
+ entry: FileEntry;
2804
+ depth: number;
2805
+ }
2806
+
2807
+ /**
2808
+ * Breadcrumb trail over the current directory plus an editable path input —
2809
+ * type a POSIX-style path and press Enter to navigate (lazy-loading it in
2810
+ * provider mode). Escape or blur cancels the edit.
2811
+ */
2812
+ declare function FileBrowserPathBar({ editable, placeholder, className, }: FileBrowserPathBarProps): react.JSX.Element;
2813
+ declare namespace FileBrowserPathBar {
2814
+ var displayName: string;
2815
+ }
2816
+
2817
+ /**
2818
+ * Toolbar: client-side name filter (over loaded nodes only — never triggers
2819
+ * loads) plus a dirs-first sort control. Clicking the active sort field flips
2820
+ * its direction.
2821
+ */
2822
+ declare function FileBrowserToolbar({ filterPlaceholder, className }: FileBrowserToolbarProps): react.JSX.Element;
2823
+ declare namespace FileBrowserToolbar {
2824
+ var displayName: string;
2825
+ }
2826
+
2827
+ /**
2828
+ * The tree pane: ARIA `tree` semantics, roving tabindex, and full keyboard
2829
+ * navigation (arrows / Enter / Space / Home / End) over the flattened row
2830
+ * order. Lazy loads fire on expand only.
2831
+ */
2832
+ declare function FileBrowserTree({ ariaLabel, className }: FileBrowserTreeProps): react.JSX.Element;
2833
+ declare namespace FileBrowserTree {
2834
+ var displayName: string;
2835
+ }
2836
+
2837
+ declare function FileBrowserNode({ entry, depth }: FileBrowserNodeProps): react.JSX.Element;
2838
+ declare namespace FileBrowserNode {
2839
+ var displayName: string;
2840
+ }
2841
+
2842
+ /**
2843
+ * FileBrowser — remote-capable file/folder browser + directory picker.
2844
+ *
2845
+ * Browses any file tree the host can describe — local FS, HTTP, SSH, or a
2846
+ * remote machine streaming snapshots — via two feeding modes that may be
2847
+ * combined:
2848
+ *
2849
+ * - **Provider mode (lazy pull):** pass `provider.loadChildren(path)`. Folders
2850
+ * load on first expand with per-node loading + error states; the tree is
2851
+ * never walked eagerly.
2852
+ * - **Snapshot mode (streamed push):** pass a JSON-friendly `snapshot` tree
2853
+ * and replace/patch it as chunks arrive (relay / WebSocket / MCP). The
2854
+ * snapshot is the source of truth for every path it covers; with a provider
2855
+ * also present, unknown-depth folders stay lazily loadable (hybrid).
2856
+ *
2857
+ * Fully controlled per the Human+ component contract (`value`/`onChange`,
2858
+ * `path`/`onPathChange`, `expandedPaths`/`onExpandedChange`, plus
2859
+ * `sort`/`filter`), with uncontrolled `defaultX` fallbacks. Every row carries
2860
+ * a `data-path` attribute — paths are the stable handles agents target, never
2861
+ * indexes or generated ids.
2862
+ *
2863
+ * Agent bridge sketch (ships later in `@particle-academy/agent-integrations`):
2864
+ * `registerFilesBridge(server, { adapter })` will expose MCP tools over this
2865
+ * surface — `files_list(path)`, `files_expand(path)` / `files_collapse(path)`,
2866
+ * `files_select(paths)`, `files_navigate(path)`, and
2867
+ * `files_request_snapshot(path, depth)` — with each mutation emitting an
2868
+ * `AgentActivity` event so presence, undo, and coaching layers compose. The
2869
+ * adapter maps those tools onto the same controlled props
2870
+ * (`value`/`path`/`expandedPaths`) and provider/snapshot contract; no DOM
2871
+ * scraping required.
2872
+ *
2873
+ * Read-only in v1: no content preview (pair with fancy-code's `FileViewer`)
2874
+ * and no write operations — rename/delete/upload arrive later behind a
2875
+ * `pendingMode`-gated iteration.
2876
+ */
2877
+ declare function FileBrowserRoot({ provider, snapshot, select, multiple, value, defaultValue, onChange, path, defaultPath, onPathChange, expandedPaths, defaultExpandedPaths, onExpandedChange, sort, defaultSort, onSortChange, filter, defaultFilter, onFilterChange, onError, indentSize, showIcons, className, children, }: FileBrowserProps): react.JSX.Element;
2878
+ declare namespace FileBrowserRoot {
2879
+ var displayName: string;
2880
+ }
2881
+ declare const FileBrowser: typeof FileBrowserRoot & {
2882
+ PathBar: typeof FileBrowserPathBar;
2883
+ Toolbar: typeof FileBrowserToolbar;
2884
+ Tree: typeof FileBrowserTree;
2885
+ Node: typeof FileBrowserNode;
2886
+ };
2887
+
2888
+ declare function useFileBrowser(): FileBrowserContextValue;
2889
+
2625
2890
  declare function cn(...inputs: ClassValue[]): string;
2626
2891
 
2627
2892
  /**
@@ -3375,4 +3640,4 @@ declare const AudioViewer: react.ForwardRefExoticComponent<AudioViewerProps & re
3375
3640
  */
3376
3641
  declare const PdfViewer: react.ForwardRefExoticComponent<PdfViewerProps & react.RefAttributes<HTMLDivElement>>;
3377
3642
 
3378
- 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, 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, 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, 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 EditorToolbarProps, Emoji, type EmojiCategory, type EmojiCategoryKey, type EmojiEntry, type EmojiFlatEntry, type EmojiProps, EmojiSelect, type EmojiSelectProps, FauxClient, type FauxClientProps, Field, type FieldMode, FieldModeContext, type FieldModeContextValue, type FieldProps, 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, useDropdown, useEditor, useEscapeKey, useFieldMode, useFileUpload, useFloatingPosition, useFocusTrap, useId, useKanban, useMenu, useMobileMenu, useModal, useNavbar, useNodeRegistry, useOutsideClick, usePanZoom, usePopover, useSidebar, useTabs, useToast, useTreeNav };
3643
+ 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, 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, 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, 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 EditorToolbarProps, Emoji, type EmojiCategory, type EmojiCategoryKey, type EmojiEntry, type EmojiFlatEntry, type EmojiProps, EmojiSelect, type EmojiSelectProps, 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, 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
@@ -2622,6 +2622,271 @@ declare const TreeNav: typeof TreeNavRoot & {
2622
2622
 
2623
2623
  declare function useTreeNav(): TreeNavContextValue;
2624
2624
 
2625
+ /** Entry kind — regular file or directory. */
2626
+ type FileKind = "file" | "dir";
2627
+ /**
2628
+ * A single file-system entry. JSON-friendly by design so agents and remote
2629
+ * hosts can emit entries directly (over MCP, a relay, or a WebSocket).
2630
+ * `path` is the stable identity — POSIX-style, never an index.
2631
+ */
2632
+ interface FileEntry {
2633
+ /** Stable identity — POSIX-style path (e.g. `"/src/App.tsx"`). */
2634
+ path: string;
2635
+ /** Display name (usually the last path segment). */
2636
+ name: string;
2637
+ /** `"file"` or `"dir"`. */
2638
+ kind: FileKind;
2639
+ /** Size in bytes (optional; shown for files and used by size sorting). */
2640
+ size?: number;
2641
+ /** Last-modified timestamp, ISO 8601 (optional; used by mtime sorting). */
2642
+ mtime?: string;
2643
+ /**
2644
+ * Dirs only: `false` = known-empty (no expand affordance), `true` = has
2645
+ * children, `undefined` = unknown (expandable when a provider is present).
2646
+ */
2647
+ hasChildren?: boolean;
2648
+ /** Disabled entries render dimmed and cannot be selected, expanded, or navigated into. */
2649
+ disabled?: boolean;
2650
+ }
2651
+ /**
2652
+ * JSON-friendly snapshot node — a {@link FileEntry} plus optionally
2653
+ * materialized children. `children: undefined` on a dir = unknown depth (a
2654
+ * provider fills it lazily in hybrid mode); `children: []` = known-empty.
2655
+ */
2656
+ interface FileSnapshotNode extends FileEntry {
2657
+ children?: FileSnapshotNode[];
2658
+ }
2659
+ /** Async data source for provider mode. Works against local FS, HTTP, MCP bridges, SSH adapters — anything that resolves a listing. */
2660
+ interface FileBrowserProvider {
2661
+ /**
2662
+ * Load the direct children of `path`. Called lazily — only for the current
2663
+ * directory and explicitly expanded folders. The component never walks the
2664
+ * tree eagerly.
2665
+ */
2666
+ loadChildren: (path: string) => Promise<FileEntry[]>;
2667
+ }
2668
+ /** Which entry kinds are selectable. */
2669
+ type FileSelectMode = "file" | "directory" | "both";
2670
+ type FileSortField = "name" | "size" | "mtime";
2671
+ type FileSortDirection = "asc" | "desc";
2672
+ /** Sort order for directory listings. Directories always sort before files. */
2673
+ interface FileSort {
2674
+ by: FileSortField;
2675
+ direction: FileSortDirection;
2676
+ }
2677
+ /** Per-path load lifecycle for provider mode. */
2678
+ type FileLoadStatus = "idle" | "loading" | "loaded" | "error";
2679
+ interface FileBrowserProps {
2680
+ /** Async data source (provider mode). Folders load on first expand — never an eager walk. */
2681
+ provider?: FileBrowserProvider;
2682
+ /**
2683
+ * JSON-friendly tree value (snapshot mode). Replace or patch it from outside
2684
+ * as stream chunks land — the component treats it as the source of truth for
2685
+ * every path it covers. May be combined with `provider` (hybrid): the
2686
+ * snapshot seeds, the provider fills unknown-depth folders.
2687
+ */
2688
+ snapshot?: FileSnapshotNode[];
2689
+ /** Which entry kinds are selectable (default `"file"`). Non-selectable entries stay browsable. */
2690
+ select?: FileSelectMode;
2691
+ /** Allow selecting multiple entries; `value` becomes `string[]` (default `false`). */
2692
+ multiple?: boolean;
2693
+ /** Controlled selection — a path, an array of paths (`multiple`), or `null`. */
2694
+ value?: string | string[] | null;
2695
+ /** Initial selection (uncontrolled). */
2696
+ defaultValue?: string | string[] | null;
2697
+ /** Called with the next selection and the matching known entries. */
2698
+ onChange?: (value: string | string[] | null, entries: FileEntry[]) => void;
2699
+ /** Controlled current directory. */
2700
+ path?: string;
2701
+ /** Initial current directory (uncontrolled, default `"/"`). */
2702
+ defaultPath?: string;
2703
+ /** Called when the current directory changes (breadcrumb click, path input, double-clicked folder). */
2704
+ onPathChange?: (path: string) => void;
2705
+ /** Controlled expanded folder paths. */
2706
+ expandedPaths?: string[];
2707
+ /** Initially expanded folder paths (uncontrolled). */
2708
+ defaultExpandedPaths?: string[];
2709
+ /** Called when the expanded set changes. */
2710
+ onExpandedChange?: (paths: string[]) => void;
2711
+ /** Controlled sort order. */
2712
+ sort?: FileSort;
2713
+ /** Initial sort order (uncontrolled, default `{ by: "name", direction: "asc" }`). */
2714
+ defaultSort?: FileSort;
2715
+ /** Called when the sort order changes. */
2716
+ onSortChange?: (sort: FileSort) => void;
2717
+ /** Controlled name filter — a client-side substring match over loaded nodes. */
2718
+ filter?: string;
2719
+ /** Initial name filter (uncontrolled). */
2720
+ defaultFilter?: string;
2721
+ /** Called when the name filter changes. */
2722
+ onFilterChange?: (filter: string) => void;
2723
+ /** Called when a provider load rejects; the failed folder shows an inline error with a retry. */
2724
+ onError?: (path: string, error: unknown) => void;
2725
+ /** Indent per nesting level in px (default `16`). */
2726
+ indentSize?: number;
2727
+ /** Show file/folder icons (default `true`). */
2728
+ showIcons?: boolean;
2729
+ /** Custom className for the outer shell. */
2730
+ className?: string;
2731
+ /**
2732
+ * Custom layout. When omitted, renders the default
2733
+ * `<FileBrowser.PathBar />` + `<FileBrowser.Toolbar />` + `<FileBrowser.Tree />`.
2734
+ */
2735
+ children?: ReactNode;
2736
+ }
2737
+ /** A flattened, visible row — the keyboard-navigation order of the tree pane. */
2738
+ interface FileBrowserRow {
2739
+ entry: FileEntry;
2740
+ depth: number;
2741
+ /** Whether the row shows an expand affordance. */
2742
+ expandable: boolean;
2743
+ /** Whether the row is currently expanded. */
2744
+ expanded: boolean;
2745
+ /** Path of the parent row, or `null` for top-level rows of the current directory. */
2746
+ parentPath: string | null;
2747
+ }
2748
+ interface FileBrowserContextValue {
2749
+ /** Known children of a path (snapshot first, then provider cache), or `undefined` when not yet loaded. */
2750
+ entriesFor: (path: string) => FileEntry[] | undefined;
2751
+ /** Children of a path after the name filter + sort are applied (empty when unknown). */
2752
+ visibleChildrenFor: (path: string) => FileEntry[];
2753
+ statusFor: (path: string) => FileLoadStatus;
2754
+ errorFor: (path: string) => string | undefined;
2755
+ /** Request a lazy load of a path's children (no-op without a provider or when already known/loading). */
2756
+ loadPath: (path: string, options?: {
2757
+ reload?: boolean;
2758
+ }) => void;
2759
+ hasProvider: boolean;
2760
+ path: string;
2761
+ /** Change the current directory (also clears the name filter and resets roving focus). */
2762
+ navigate: (path: string) => void;
2763
+ expandedPaths: string[];
2764
+ toggleExpanded: (path: string) => void;
2765
+ select: FileSelectMode;
2766
+ multiple: boolean;
2767
+ selectedPaths: string[];
2768
+ isSelected: (path: string) => boolean;
2769
+ isSelectable: (entry: FileEntry) => boolean;
2770
+ selectEntry: (entry: FileEntry) => void;
2771
+ sort: FileSort;
2772
+ setSort: (sort: FileSort) => void;
2773
+ filter: string;
2774
+ setFilter: (filter: string) => void;
2775
+ visibleRows: FileBrowserRow[];
2776
+ focusedPath: string | null;
2777
+ setFocusedPath: (path: string | null) => void;
2778
+ /** The row that currently owns `tabIndex={0}`. */
2779
+ tabFocusPath: string | null;
2780
+ focusRow: (path: string) => void;
2781
+ registerRow: (path: string, el: HTMLElement | null) => void;
2782
+ indentSize: number;
2783
+ showIcons: boolean;
2784
+ }
2785
+ interface FileBrowserPathBarProps {
2786
+ /** Allow switching to the editable path input (default `true`). */
2787
+ editable?: boolean;
2788
+ /** Placeholder for the path input. */
2789
+ placeholder?: string;
2790
+ className?: string;
2791
+ }
2792
+ interface FileBrowserToolbarProps {
2793
+ /** Placeholder for the name filter input (default `"Filter"`). */
2794
+ filterPlaceholder?: string;
2795
+ className?: string;
2796
+ }
2797
+ interface FileBrowserTreeProps {
2798
+ /** Accessible label for the tree (default `"Files"`). */
2799
+ ariaLabel?: string;
2800
+ className?: string;
2801
+ }
2802
+ interface FileBrowserNodeProps {
2803
+ entry: FileEntry;
2804
+ depth: number;
2805
+ }
2806
+
2807
+ /**
2808
+ * Breadcrumb trail over the current directory plus an editable path input —
2809
+ * type a POSIX-style path and press Enter to navigate (lazy-loading it in
2810
+ * provider mode). Escape or blur cancels the edit.
2811
+ */
2812
+ declare function FileBrowserPathBar({ editable, placeholder, className, }: FileBrowserPathBarProps): react.JSX.Element;
2813
+ declare namespace FileBrowserPathBar {
2814
+ var displayName: string;
2815
+ }
2816
+
2817
+ /**
2818
+ * Toolbar: client-side name filter (over loaded nodes only — never triggers
2819
+ * loads) plus a dirs-first sort control. Clicking the active sort field flips
2820
+ * its direction.
2821
+ */
2822
+ declare function FileBrowserToolbar({ filterPlaceholder, className }: FileBrowserToolbarProps): react.JSX.Element;
2823
+ declare namespace FileBrowserToolbar {
2824
+ var displayName: string;
2825
+ }
2826
+
2827
+ /**
2828
+ * The tree pane: ARIA `tree` semantics, roving tabindex, and full keyboard
2829
+ * navigation (arrows / Enter / Space / Home / End) over the flattened row
2830
+ * order. Lazy loads fire on expand only.
2831
+ */
2832
+ declare function FileBrowserTree({ ariaLabel, className }: FileBrowserTreeProps): react.JSX.Element;
2833
+ declare namespace FileBrowserTree {
2834
+ var displayName: string;
2835
+ }
2836
+
2837
+ declare function FileBrowserNode({ entry, depth }: FileBrowserNodeProps): react.JSX.Element;
2838
+ declare namespace FileBrowserNode {
2839
+ var displayName: string;
2840
+ }
2841
+
2842
+ /**
2843
+ * FileBrowser — remote-capable file/folder browser + directory picker.
2844
+ *
2845
+ * Browses any file tree the host can describe — local FS, HTTP, SSH, or a
2846
+ * remote machine streaming snapshots — via two feeding modes that may be
2847
+ * combined:
2848
+ *
2849
+ * - **Provider mode (lazy pull):** pass `provider.loadChildren(path)`. Folders
2850
+ * load on first expand with per-node loading + error states; the tree is
2851
+ * never walked eagerly.
2852
+ * - **Snapshot mode (streamed push):** pass a JSON-friendly `snapshot` tree
2853
+ * and replace/patch it as chunks arrive (relay / WebSocket / MCP). The
2854
+ * snapshot is the source of truth for every path it covers; with a provider
2855
+ * also present, unknown-depth folders stay lazily loadable (hybrid).
2856
+ *
2857
+ * Fully controlled per the Human+ component contract (`value`/`onChange`,
2858
+ * `path`/`onPathChange`, `expandedPaths`/`onExpandedChange`, plus
2859
+ * `sort`/`filter`), with uncontrolled `defaultX` fallbacks. Every row carries
2860
+ * a `data-path` attribute — paths are the stable handles agents target, never
2861
+ * indexes or generated ids.
2862
+ *
2863
+ * Agent bridge sketch (ships later in `@particle-academy/agent-integrations`):
2864
+ * `registerFilesBridge(server, { adapter })` will expose MCP tools over this
2865
+ * surface — `files_list(path)`, `files_expand(path)` / `files_collapse(path)`,
2866
+ * `files_select(paths)`, `files_navigate(path)`, and
2867
+ * `files_request_snapshot(path, depth)` — with each mutation emitting an
2868
+ * `AgentActivity` event so presence, undo, and coaching layers compose. The
2869
+ * adapter maps those tools onto the same controlled props
2870
+ * (`value`/`path`/`expandedPaths`) and provider/snapshot contract; no DOM
2871
+ * scraping required.
2872
+ *
2873
+ * Read-only in v1: no content preview (pair with fancy-code's `FileViewer`)
2874
+ * and no write operations — rename/delete/upload arrive later behind a
2875
+ * `pendingMode`-gated iteration.
2876
+ */
2877
+ declare function FileBrowserRoot({ provider, snapshot, select, multiple, value, defaultValue, onChange, path, defaultPath, onPathChange, expandedPaths, defaultExpandedPaths, onExpandedChange, sort, defaultSort, onSortChange, filter, defaultFilter, onFilterChange, onError, indentSize, showIcons, className, children, }: FileBrowserProps): react.JSX.Element;
2878
+ declare namespace FileBrowserRoot {
2879
+ var displayName: string;
2880
+ }
2881
+ declare const FileBrowser: typeof FileBrowserRoot & {
2882
+ PathBar: typeof FileBrowserPathBar;
2883
+ Toolbar: typeof FileBrowserToolbar;
2884
+ Tree: typeof FileBrowserTree;
2885
+ Node: typeof FileBrowserNode;
2886
+ };
2887
+
2888
+ declare function useFileBrowser(): FileBrowserContextValue;
2889
+
2625
2890
  declare function cn(...inputs: ClassValue[]): string;
2626
2891
 
2627
2892
  /**
@@ -3375,4 +3640,4 @@ declare const AudioViewer: react.ForwardRefExoticComponent<AudioViewerProps & re
3375
3640
  */
3376
3641
  declare const PdfViewer: react.ForwardRefExoticComponent<PdfViewerProps & react.RefAttributes<HTMLDivElement>>;
3377
3642
 
3378
- 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, 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, 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, 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 EditorToolbarProps, Emoji, type EmojiCategory, type EmojiCategoryKey, type EmojiEntry, type EmojiFlatEntry, type EmojiProps, EmojiSelect, type EmojiSelectProps, FauxClient, type FauxClientProps, Field, type FieldMode, FieldModeContext, type FieldModeContextValue, type FieldProps, 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, useDropdown, useEditor, useEscapeKey, useFieldMode, useFileUpload, useFloatingPosition, useFocusTrap, useId, useKanban, useMenu, useMobileMenu, useModal, useNavbar, useNodeRegistry, useOutsideClick, usePanZoom, usePopover, useSidebar, useTabs, useToast, useTreeNav };
3643
+ 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, 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, 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, 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 EditorToolbarProps, Emoji, type EmojiCategory, type EmojiCategoryKey, type EmojiEntry, type EmojiFlatEntry, type EmojiProps, EmojiSelect, type EmojiSelectProps, 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, useDropdown, useEditor, useEscapeKey, useFieldMode, useFileBrowser, useFileUpload, useFloatingPosition, useFocusTrap, useId, useKanban, useMenu, useMobileMenu, useModal, useNavbar, useNodeRegistry, useOutsideClick, usePanZoom, usePopover, useSidebar, useTabs, useToast, useTreeNav };