@particle-academy/react-fancy 3.1.0 → 3.2.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
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { ButtonHTMLAttributes, ReactNode, InputHTMLAttributes, TextareaHTMLAttributes, SelectHTMLAttributes, HTMLAttributes, ComponentType, ReactElement, RefObject } from 'react';
2
+ import { ButtonHTMLAttributes, ReactNode, InputHTMLAttributes, TextareaHTMLAttributes, SelectHTMLAttributes, HTMLAttributes, ComponentType, ReactElement, RefObject, CSSProperties } from 'react';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { ClassValue } from 'clsx';
5
5
 
@@ -2556,8 +2556,203 @@ interface PromptInputProps {
2556
2556
  mentionColor?: Record<string, string>;
2557
2557
  /** Optional max textarea height in px. Defaults to 280. */
2558
2558
  maxHeight?: number;
2559
+ /**
2560
+ * Rendered INSIDE the rounded shell, ABOVE the attachments bar and
2561
+ * textarea. Use this slot for a drawer of tools/files/prompts/etc. so
2562
+ * the drawer and composer share one visual panel. See {@link ChatDrawer}.
2563
+ */
2564
+ aboveInput?: ReactNode;
2565
+ }
2566
+ declare function PromptInput({ budgetTokens, commands, mentions, showHint, onSubmit, placeholder, charsPerToken, mentionColor, maxHeight, aboveInput, }: PromptInputProps): react_jsx_runtime.JSX.Element;
2567
+
2568
+ /**
2569
+ * ChatDrawer — tabbed, collapsible panel that sits *above* a `PromptInput`
2570
+ * (via the input's `aboveInput` slot) so the drawer and composer share one
2571
+ * rounded shell. Each tab gets a numbered chip and a content panel; only
2572
+ * one panel renders at a time.
2573
+ *
2574
+ * <PromptInput
2575
+ * aboveInput={
2576
+ * <ChatDrawer
2577
+ * tabs={[
2578
+ * { id: "files", label: "Files" },
2579
+ * { id: "tools", label: "Chat Tools" },
2580
+ * { id: "prompts", label: "Chat Prompts" },
2581
+ * { id: "deal", label: "IBM Analytics Platform" },
2582
+ * ]}
2583
+ * activeTabId={tab}
2584
+ * onTabChange={setTab}
2585
+ * open={open}
2586
+ * onToggle={setOpen}
2587
+ * >
2588
+ * {tab === "tools" && <ToolsGrid />}
2589
+ * {tab === "deal" && <DealCard />}
2590
+ * </ChatDrawer>
2591
+ * }
2592
+ * budgetTokens={200_000}
2593
+ * onSubmit={(text) => send(text)}
2594
+ * />
2595
+ *
2596
+ * The drawer is purely presentational and slot-driven — you decide what
2597
+ * each tab shows. Tab order in the numbered chips is the order you pass.
2598
+ */
2599
+ type ChatDrawerTab = {
2600
+ /** Stable id — used as the React key and as `activeTabId`. */
2601
+ id: string;
2602
+ /** Human label rendered on the chip. */
2603
+ label: string;
2604
+ /**
2605
+ * Optional override for the numbered prefix (defaults to position +1).
2606
+ * Set to `null` to hide the number entirely (e.g. for a context-specific
2607
+ * tab like the deal one in the screenshots).
2608
+ */
2609
+ number?: number | null;
2610
+ };
2611
+ interface ChatDrawerProps {
2612
+ tabs: ChatDrawerTab[];
2613
+ activeTabId: string;
2614
+ onTabChange: (id: string) => void;
2615
+ /** Body open/closed. Default true. */
2616
+ open?: boolean;
2617
+ /** Called when the chevron is clicked. */
2618
+ onToggle?: (open: boolean) => void;
2619
+ /** Body content for the active tab. */
2620
+ children?: ReactNode;
2621
+ /** Min height of the body when open, in px. Default 140. */
2622
+ minBodyHeight?: number;
2623
+ className?: string;
2624
+ }
2625
+ declare function ChatDrawer({ tabs, activeTabId, onTabChange, open, onToggle, children, minBodyHeight, className, }: ChatDrawerProps): react_jsx_runtime.JSX.Element;
2626
+
2627
+ /**
2628
+ * InputTag — attach a `/`-style or `@`-style autocomplete picker to *any*
2629
+ * text surface (a `<textarea>`, an `<input>`, a `contenteditable`, a code
2630
+ * editor, a sheet cell editor, a whiteboard sticky note…) via an adapter
2631
+ * that abstracts the surface's read/write/caret API.
2632
+ *
2633
+ * The component is "headless" in the sense that it has no input of its
2634
+ * own — it floats a small picker menu near the surface and writes back
2635
+ * through the adapter when the user picks an item.
2636
+ *
2637
+ * <textarea ref={ref} value={text} onChange={...} />
2638
+ * <InputTag
2639
+ * adapter={textareaAdapter(ref)}
2640
+ * triggers={{
2641
+ * "/": { items: commands, insert: (c) => `${c.name} ` },
2642
+ * "@": { items: mentions, insert: (m) => `@${m.name} ` },
2643
+ * }}
2644
+ * />
2645
+ *
2646
+ * For non-DOM surfaces, write a small adapter that conforms to
2647
+ * {@link InputTagAdapter}. Adapters typically run 20–40 lines.
2648
+ */
2649
+ /** What the surface tells the picker on every text/caret change. */
2650
+ type InputTagAdapterState = {
2651
+ text: string;
2652
+ caretIndex: number;
2653
+ };
2654
+ /**
2655
+ * The contract every input surface implements. The picker subscribes to
2656
+ * state changes, anchors itself using `getAnchorRect`, intercepts
2657
+ * navigation keys via `onKey`, and writes the selected item back through
2658
+ * `replaceRange`.
2659
+ */
2660
+ type InputTagAdapter = {
2661
+ /** Push current state whenever text or caret changes. Returns an unsubscribe. */
2662
+ subscribe: (fn: (state: InputTagAdapterState) => void) => () => void;
2663
+ /** Replace text in `[start, end)` with `replacement`. The adapter is
2664
+ * responsible for moving the caret to the end of the inserted text. */
2665
+ replaceRange: (start: number, end: number, replacement: string) => void;
2666
+ /** Screen-space rect to anchor the picker against. Usually the surface's
2667
+ * bounding rect; for editors that can compute caret-precise coordinates,
2668
+ * return a small rect there instead. */
2669
+ getAnchorRect: () => DOMRect | null;
2670
+ /** Subscribe to keydown events on the surface. The handler may return
2671
+ * `true` to consume the event (the adapter then calls
2672
+ * `preventDefault` / `stopPropagation`). Returns an unsubscribe. */
2673
+ onKey: (handler: (e: KeyboardEvent) => boolean) => () => void;
2674
+ };
2675
+ /**
2676
+ * Per-trigger configuration. `T` is the item shape — typically a
2677
+ * `{ id, name, ... }` object, but any shape works as long as `keyOf` /
2678
+ * `insert` know how to handle it.
2679
+ */
2680
+ type InputTagTrigger<T> = {
2681
+ /** The pool the picker filters against. */
2682
+ items: T[];
2683
+ /** Text inserted in place of `<triggerChar><query>`. */
2684
+ insert: (item: T, query: string) => string;
2685
+ /** Custom filter. Default: case-insensitive prefix match against
2686
+ * `String(keyOf(item))`. Pass `() => true` to disable filtering and
2687
+ * rely on `items` being pre-filtered (e.g. from an async source). */
2688
+ filter?: (item: T, query: string) => boolean;
2689
+ /** How to render each row. Default renders the result of `keyOf(item)`. */
2690
+ render?: (item: T, active: boolean) => ReactNode;
2691
+ /** How to derive a stable key + default label for each item. Default
2692
+ * reads `item.name` then `item.id` then `String(item)`. */
2693
+ keyOf?: (item: T) => string;
2694
+ /** Optional header label shown above the list. */
2695
+ label?: string;
2696
+ };
2697
+ type InputTagTriggers = Record<string, InputTagTrigger<any>>;
2698
+ interface InputTagProps {
2699
+ adapter: InputTagAdapter;
2700
+ triggers: InputTagTriggers;
2701
+ /** Max rows shown. Default 8. */
2702
+ maxItems?: number;
2703
+ /** Where the picker anchors relative to the surface. Default `"bottom-left"`. */
2704
+ placement?: "bottom-left" | "bottom-right" | "top-left" | "top-right";
2705
+ /** Custom class for the popover container. */
2706
+ className?: string;
2707
+ /** Inline style for the popover container. */
2708
+ style?: CSSProperties;
2709
+ /** Fires whenever an item is picked. */
2710
+ onPick?: (info: {
2711
+ triggerChar: string;
2712
+ query: string;
2713
+ item: unknown;
2714
+ }) => void;
2559
2715
  }
2560
- declare function PromptInput({ budgetTokens, commands, mentions, showHint, onSubmit, placeholder, charsPerToken, mentionColor, maxHeight, }: PromptInputProps): react_jsx_runtime.JSX.Element;
2716
+ declare function InputTag({ adapter, triggers, maxItems, placement, className, style, onPick, }: InputTagProps): react_jsx_runtime.JSX.Element | null;
2717
+
2718
+ /**
2719
+ * Adapter for a DOM `<textarea>`. Works whether the consumer manages
2720
+ * `value` via React state (controlled) or lets the DOM hold it
2721
+ * (uncontrolled) — `replaceRange` uses React's native value setter and
2722
+ * dispatches a native `input` event so the upstream onChange fires.
2723
+ */
2724
+ declare function textareaAdapter(ref: RefObject<HTMLTextAreaElement | null>): InputTagAdapter;
2725
+ /** Adapter for a DOM `<input type="text|search|...">`. */
2726
+ declare function inputAdapter(ref: RefObject<HTMLInputElement | null>): InputTagAdapter;
2727
+ /**
2728
+ * Adapter for any `contenteditable` element. Operates on the element's
2729
+ * `textContent`; rich-text editors with their own internal model should
2730
+ * write a custom adapter that talks to that model instead.
2731
+ */
2732
+ declare function contentEditableAdapter(ref: RefObject<HTMLElement | null>): InputTagAdapter;
2733
+ /**
2734
+ * Adapter for hosts that fully control the text state themselves. Use
2735
+ * this when you can't (or don't want to) let the DOM be the source of
2736
+ * truth — for code editors with internal state, sheet cell editors, or
2737
+ * any host that already has `value` + `onChange` and wants to reach the
2738
+ * picker programmatically.
2739
+ *
2740
+ * The host calls `notify({ text, caretIndex })` after every text or
2741
+ * caret change. `<InputTag>` calls `onReplaceRange` to write back.
2742
+ */
2743
+ type ControlledAdapterHandle = InputTagAdapter & {
2744
+ /** Push the latest text + caret to the picker. */
2745
+ notify: (state: {
2746
+ text: string;
2747
+ caretIndex: number;
2748
+ }) => void;
2749
+ };
2750
+ declare function controlledAdapter(opts: {
2751
+ /** Element used as anchor + key target. Usually the visible input. */
2752
+ anchorRef: RefObject<HTMLElement | null>;
2753
+ /** Called when the picker writes back an insertion. */
2754
+ onReplaceRange: (start: number, end: number, replacement: string) => void;
2755
+ }): ControlledAdapterHandle;
2561
2756
 
2562
2757
  /**
2563
2758
  * MagicWand — selection-anchored floating toolbar for text inputs.
@@ -2618,4 +2813,4 @@ interface MagicWandProps {
2618
2813
  }
2619
2814
  declare function MagicWand({ value, onValueChange, actions, appearance, autoHide, rows, placeholder, onAction, }: MagicWandProps): react_jsx_runtime.JSX.Element;
2620
2815
 
2621
- 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, Autocomplete, type AutocompleteOption, type AutocompleteProps, Avatar, type AvatarProps, Badge, type BadgeProps, Brand, type BrandProps, Breadcrumbs, type BreadcrumbsItemProps, type BreadcrumbsProps, 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, 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, DatePicker, type DatePickerProps, type DateRange, 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, Field, type FieldProps, FileUpload, type FileUploadContextValue, type FileUploadDropzoneProps, type FileUploadListProps, type FileUploadProps, Heading, type HeadingProps, Icon, type IconProps, type IconSet, Input, type InputAffixProps, type InputBaseProps, type InputOption, type InputOptionGroup, type InputProps, Kanban, type KanbanCardMoveHandler, type KanbanCardProps, type KanbanColumnHandleProps, type KanbanColumnMoveHandler, type KanbanColumnProps, type KanbanContextValue, type KanbanProps, MagicWand, type MagicWandAction, type MagicWandAppearance, type MagicWandProps, type MagicWandSelection, 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, 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, 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, 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, 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, applyTone, cn, configureIcons, find, hasSkinTones, registerExtension, registerExtensions, registerIconSet, registerIcons, resolve, sanitizeHref, sanitizeHtml, search, skinTones, useAccordion, useAccordionPanel, useAccordionSection, useAnimation, useCarousel, useCommand, useContextMenu, useControllableState, useDropdown, useEditor, useEscapeKey, useFileUpload, useFloatingPosition, useFocusTrap, useId, useKanban, useMenu, useMobileMenu, useModal, useNavbar, useNodeRegistry, useOutsideClick, usePanZoom, usePopover, useSidebar, useTabs, useToast, useTreeNav };
2816
+ 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, Autocomplete, type AutocompleteOption, type AutocompleteProps, Avatar, type AvatarProps, Badge, type BadgeProps, Brand, type BrandProps, Breadcrumbs, type BreadcrumbsItemProps, type BreadcrumbsProps, 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, 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, Field, type FieldProps, FileUpload, type FileUploadContextValue, type FileUploadDropzoneProps, type FileUploadListProps, type FileUploadProps, Heading, type HeadingProps, Icon, type IconProps, type IconSet, 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, 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, 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, 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, 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, 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, applyTone, cn, configureIcons, contentEditableAdapter, controlledAdapter, find, hasSkinTones, inputAdapter, registerExtension, registerExtensions, registerIconSet, registerIcons, resolve, sanitizeHref, sanitizeHtml, search, skinTones, textareaAdapter, useAccordion, useAccordionPanel, useAccordionSection, useAnimation, useCarousel, useCommand, useContextMenu, useControllableState, useDropdown, useEditor, useEscapeKey, useFileUpload, useFloatingPosition, useFocusTrap, useId, useKanban, useMenu, useMobileMenu, useModal, useNavbar, useNodeRegistry, useOutsideClick, usePanZoom, usePopover, useSidebar, useTabs, useToast, useTreeNav };
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { ButtonHTMLAttributes, ReactNode, InputHTMLAttributes, TextareaHTMLAttributes, SelectHTMLAttributes, HTMLAttributes, ComponentType, ReactElement, RefObject } from 'react';
2
+ import { ButtonHTMLAttributes, ReactNode, InputHTMLAttributes, TextareaHTMLAttributes, SelectHTMLAttributes, HTMLAttributes, ComponentType, ReactElement, RefObject, CSSProperties } from 'react';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { ClassValue } from 'clsx';
5
5
 
@@ -2556,8 +2556,203 @@ interface PromptInputProps {
2556
2556
  mentionColor?: Record<string, string>;
2557
2557
  /** Optional max textarea height in px. Defaults to 280. */
2558
2558
  maxHeight?: number;
2559
+ /**
2560
+ * Rendered INSIDE the rounded shell, ABOVE the attachments bar and
2561
+ * textarea. Use this slot for a drawer of tools/files/prompts/etc. so
2562
+ * the drawer and composer share one visual panel. See {@link ChatDrawer}.
2563
+ */
2564
+ aboveInput?: ReactNode;
2565
+ }
2566
+ declare function PromptInput({ budgetTokens, commands, mentions, showHint, onSubmit, placeholder, charsPerToken, mentionColor, maxHeight, aboveInput, }: PromptInputProps): react_jsx_runtime.JSX.Element;
2567
+
2568
+ /**
2569
+ * ChatDrawer — tabbed, collapsible panel that sits *above* a `PromptInput`
2570
+ * (via the input's `aboveInput` slot) so the drawer and composer share one
2571
+ * rounded shell. Each tab gets a numbered chip and a content panel; only
2572
+ * one panel renders at a time.
2573
+ *
2574
+ * <PromptInput
2575
+ * aboveInput={
2576
+ * <ChatDrawer
2577
+ * tabs={[
2578
+ * { id: "files", label: "Files" },
2579
+ * { id: "tools", label: "Chat Tools" },
2580
+ * { id: "prompts", label: "Chat Prompts" },
2581
+ * { id: "deal", label: "IBM Analytics Platform" },
2582
+ * ]}
2583
+ * activeTabId={tab}
2584
+ * onTabChange={setTab}
2585
+ * open={open}
2586
+ * onToggle={setOpen}
2587
+ * >
2588
+ * {tab === "tools" && <ToolsGrid />}
2589
+ * {tab === "deal" && <DealCard />}
2590
+ * </ChatDrawer>
2591
+ * }
2592
+ * budgetTokens={200_000}
2593
+ * onSubmit={(text) => send(text)}
2594
+ * />
2595
+ *
2596
+ * The drawer is purely presentational and slot-driven — you decide what
2597
+ * each tab shows. Tab order in the numbered chips is the order you pass.
2598
+ */
2599
+ type ChatDrawerTab = {
2600
+ /** Stable id — used as the React key and as `activeTabId`. */
2601
+ id: string;
2602
+ /** Human label rendered on the chip. */
2603
+ label: string;
2604
+ /**
2605
+ * Optional override for the numbered prefix (defaults to position +1).
2606
+ * Set to `null` to hide the number entirely (e.g. for a context-specific
2607
+ * tab like the deal one in the screenshots).
2608
+ */
2609
+ number?: number | null;
2610
+ };
2611
+ interface ChatDrawerProps {
2612
+ tabs: ChatDrawerTab[];
2613
+ activeTabId: string;
2614
+ onTabChange: (id: string) => void;
2615
+ /** Body open/closed. Default true. */
2616
+ open?: boolean;
2617
+ /** Called when the chevron is clicked. */
2618
+ onToggle?: (open: boolean) => void;
2619
+ /** Body content for the active tab. */
2620
+ children?: ReactNode;
2621
+ /** Min height of the body when open, in px. Default 140. */
2622
+ minBodyHeight?: number;
2623
+ className?: string;
2624
+ }
2625
+ declare function ChatDrawer({ tabs, activeTabId, onTabChange, open, onToggle, children, minBodyHeight, className, }: ChatDrawerProps): react_jsx_runtime.JSX.Element;
2626
+
2627
+ /**
2628
+ * InputTag — attach a `/`-style or `@`-style autocomplete picker to *any*
2629
+ * text surface (a `<textarea>`, an `<input>`, a `contenteditable`, a code
2630
+ * editor, a sheet cell editor, a whiteboard sticky note…) via an adapter
2631
+ * that abstracts the surface's read/write/caret API.
2632
+ *
2633
+ * The component is "headless" in the sense that it has no input of its
2634
+ * own — it floats a small picker menu near the surface and writes back
2635
+ * through the adapter when the user picks an item.
2636
+ *
2637
+ * <textarea ref={ref} value={text} onChange={...} />
2638
+ * <InputTag
2639
+ * adapter={textareaAdapter(ref)}
2640
+ * triggers={{
2641
+ * "/": { items: commands, insert: (c) => `${c.name} ` },
2642
+ * "@": { items: mentions, insert: (m) => `@${m.name} ` },
2643
+ * }}
2644
+ * />
2645
+ *
2646
+ * For non-DOM surfaces, write a small adapter that conforms to
2647
+ * {@link InputTagAdapter}. Adapters typically run 20–40 lines.
2648
+ */
2649
+ /** What the surface tells the picker on every text/caret change. */
2650
+ type InputTagAdapterState = {
2651
+ text: string;
2652
+ caretIndex: number;
2653
+ };
2654
+ /**
2655
+ * The contract every input surface implements. The picker subscribes to
2656
+ * state changes, anchors itself using `getAnchorRect`, intercepts
2657
+ * navigation keys via `onKey`, and writes the selected item back through
2658
+ * `replaceRange`.
2659
+ */
2660
+ type InputTagAdapter = {
2661
+ /** Push current state whenever text or caret changes. Returns an unsubscribe. */
2662
+ subscribe: (fn: (state: InputTagAdapterState) => void) => () => void;
2663
+ /** Replace text in `[start, end)` with `replacement`. The adapter is
2664
+ * responsible for moving the caret to the end of the inserted text. */
2665
+ replaceRange: (start: number, end: number, replacement: string) => void;
2666
+ /** Screen-space rect to anchor the picker against. Usually the surface's
2667
+ * bounding rect; for editors that can compute caret-precise coordinates,
2668
+ * return a small rect there instead. */
2669
+ getAnchorRect: () => DOMRect | null;
2670
+ /** Subscribe to keydown events on the surface. The handler may return
2671
+ * `true` to consume the event (the adapter then calls
2672
+ * `preventDefault` / `stopPropagation`). Returns an unsubscribe. */
2673
+ onKey: (handler: (e: KeyboardEvent) => boolean) => () => void;
2674
+ };
2675
+ /**
2676
+ * Per-trigger configuration. `T` is the item shape — typically a
2677
+ * `{ id, name, ... }` object, but any shape works as long as `keyOf` /
2678
+ * `insert` know how to handle it.
2679
+ */
2680
+ type InputTagTrigger<T> = {
2681
+ /** The pool the picker filters against. */
2682
+ items: T[];
2683
+ /** Text inserted in place of `<triggerChar><query>`. */
2684
+ insert: (item: T, query: string) => string;
2685
+ /** Custom filter. Default: case-insensitive prefix match against
2686
+ * `String(keyOf(item))`. Pass `() => true` to disable filtering and
2687
+ * rely on `items` being pre-filtered (e.g. from an async source). */
2688
+ filter?: (item: T, query: string) => boolean;
2689
+ /** How to render each row. Default renders the result of `keyOf(item)`. */
2690
+ render?: (item: T, active: boolean) => ReactNode;
2691
+ /** How to derive a stable key + default label for each item. Default
2692
+ * reads `item.name` then `item.id` then `String(item)`. */
2693
+ keyOf?: (item: T) => string;
2694
+ /** Optional header label shown above the list. */
2695
+ label?: string;
2696
+ };
2697
+ type InputTagTriggers = Record<string, InputTagTrigger<any>>;
2698
+ interface InputTagProps {
2699
+ adapter: InputTagAdapter;
2700
+ triggers: InputTagTriggers;
2701
+ /** Max rows shown. Default 8. */
2702
+ maxItems?: number;
2703
+ /** Where the picker anchors relative to the surface. Default `"bottom-left"`. */
2704
+ placement?: "bottom-left" | "bottom-right" | "top-left" | "top-right";
2705
+ /** Custom class for the popover container. */
2706
+ className?: string;
2707
+ /** Inline style for the popover container. */
2708
+ style?: CSSProperties;
2709
+ /** Fires whenever an item is picked. */
2710
+ onPick?: (info: {
2711
+ triggerChar: string;
2712
+ query: string;
2713
+ item: unknown;
2714
+ }) => void;
2559
2715
  }
2560
- declare function PromptInput({ budgetTokens, commands, mentions, showHint, onSubmit, placeholder, charsPerToken, mentionColor, maxHeight, }: PromptInputProps): react_jsx_runtime.JSX.Element;
2716
+ declare function InputTag({ adapter, triggers, maxItems, placement, className, style, onPick, }: InputTagProps): react_jsx_runtime.JSX.Element | null;
2717
+
2718
+ /**
2719
+ * Adapter for a DOM `<textarea>`. Works whether the consumer manages
2720
+ * `value` via React state (controlled) or lets the DOM hold it
2721
+ * (uncontrolled) — `replaceRange` uses React's native value setter and
2722
+ * dispatches a native `input` event so the upstream onChange fires.
2723
+ */
2724
+ declare function textareaAdapter(ref: RefObject<HTMLTextAreaElement | null>): InputTagAdapter;
2725
+ /** Adapter for a DOM `<input type="text|search|...">`. */
2726
+ declare function inputAdapter(ref: RefObject<HTMLInputElement | null>): InputTagAdapter;
2727
+ /**
2728
+ * Adapter for any `contenteditable` element. Operates on the element's
2729
+ * `textContent`; rich-text editors with their own internal model should
2730
+ * write a custom adapter that talks to that model instead.
2731
+ */
2732
+ declare function contentEditableAdapter(ref: RefObject<HTMLElement | null>): InputTagAdapter;
2733
+ /**
2734
+ * Adapter for hosts that fully control the text state themselves. Use
2735
+ * this when you can't (or don't want to) let the DOM be the source of
2736
+ * truth — for code editors with internal state, sheet cell editors, or
2737
+ * any host that already has `value` + `onChange` and wants to reach the
2738
+ * picker programmatically.
2739
+ *
2740
+ * The host calls `notify({ text, caretIndex })` after every text or
2741
+ * caret change. `<InputTag>` calls `onReplaceRange` to write back.
2742
+ */
2743
+ type ControlledAdapterHandle = InputTagAdapter & {
2744
+ /** Push the latest text + caret to the picker. */
2745
+ notify: (state: {
2746
+ text: string;
2747
+ caretIndex: number;
2748
+ }) => void;
2749
+ };
2750
+ declare function controlledAdapter(opts: {
2751
+ /** Element used as anchor + key target. Usually the visible input. */
2752
+ anchorRef: RefObject<HTMLElement | null>;
2753
+ /** Called when the picker writes back an insertion. */
2754
+ onReplaceRange: (start: number, end: number, replacement: string) => void;
2755
+ }): ControlledAdapterHandle;
2561
2756
 
2562
2757
  /**
2563
2758
  * MagicWand — selection-anchored floating toolbar for text inputs.
@@ -2618,4 +2813,4 @@ interface MagicWandProps {
2618
2813
  }
2619
2814
  declare function MagicWand({ value, onValueChange, actions, appearance, autoHide, rows, placeholder, onAction, }: MagicWandProps): react_jsx_runtime.JSX.Element;
2620
2815
 
2621
- 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, Autocomplete, type AutocompleteOption, type AutocompleteProps, Avatar, type AvatarProps, Badge, type BadgeProps, Brand, type BrandProps, Breadcrumbs, type BreadcrumbsItemProps, type BreadcrumbsProps, 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, 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, DatePicker, type DatePickerProps, type DateRange, 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, Field, type FieldProps, FileUpload, type FileUploadContextValue, type FileUploadDropzoneProps, type FileUploadListProps, type FileUploadProps, Heading, type HeadingProps, Icon, type IconProps, type IconSet, Input, type InputAffixProps, type InputBaseProps, type InputOption, type InputOptionGroup, type InputProps, Kanban, type KanbanCardMoveHandler, type KanbanCardProps, type KanbanColumnHandleProps, type KanbanColumnMoveHandler, type KanbanColumnProps, type KanbanContextValue, type KanbanProps, MagicWand, type MagicWandAction, type MagicWandAppearance, type MagicWandProps, type MagicWandSelection, 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, 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, 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, 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, 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, applyTone, cn, configureIcons, find, hasSkinTones, registerExtension, registerExtensions, registerIconSet, registerIcons, resolve, sanitizeHref, sanitizeHtml, search, skinTones, useAccordion, useAccordionPanel, useAccordionSection, useAnimation, useCarousel, useCommand, useContextMenu, useControllableState, useDropdown, useEditor, useEscapeKey, useFileUpload, useFloatingPosition, useFocusTrap, useId, useKanban, useMenu, useMobileMenu, useModal, useNavbar, useNodeRegistry, useOutsideClick, usePanZoom, usePopover, useSidebar, useTabs, useToast, useTreeNav };
2816
+ 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, Autocomplete, type AutocompleteOption, type AutocompleteProps, Avatar, type AvatarProps, Badge, type BadgeProps, Brand, type BrandProps, Breadcrumbs, type BreadcrumbsItemProps, type BreadcrumbsProps, 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, 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, Field, type FieldProps, FileUpload, type FileUploadContextValue, type FileUploadDropzoneProps, type FileUploadListProps, type FileUploadProps, Heading, type HeadingProps, Icon, type IconProps, type IconSet, 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, 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, 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, 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, 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, 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, applyTone, cn, configureIcons, contentEditableAdapter, controlledAdapter, find, hasSkinTones, inputAdapter, registerExtension, registerExtensions, registerIconSet, registerIcons, resolve, sanitizeHref, sanitizeHtml, search, skinTones, textareaAdapter, useAccordion, useAccordionPanel, useAccordionSection, useAnimation, useCarousel, useCommand, useContextMenu, useControllableState, useDropdown, useEditor, useEscapeKey, useFileUpload, useFloatingPosition, useFocusTrap, useId, useKanban, useMenu, useMobileMenu, useModal, useNavbar, useNodeRegistry, useOutsideClick, usePanZoom, usePopover, useSidebar, useTabs, useToast, useTreeNav };