@particle-academy/react-fancy 3.2.2 → 3.4.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, CSSProperties } from 'react';
2
+ import { ButtonHTMLAttributes, ReactNode, InputHTMLAttributes, TextareaHTMLAttributes, SelectHTMLAttributes, HTMLAttributes, ComponentType, CSSProperties, ReactElement, RefObject } from 'react';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { ClassValue } from 'clsx';
5
5
 
@@ -838,6 +838,55 @@ interface CalloutProps {
838
838
 
839
839
  declare const Callout: react.ForwardRefExoticComponent<CalloutProps & react.RefAttributes<HTMLDivElement>>;
840
840
 
841
+ /** Built-in paper colors. Any CSS color string is also accepted. */
842
+ type StickyNoteColor = "yellow" | "blue" | "green" | "pink" | "violet";
843
+ interface StickyNoteProps {
844
+ /** Note text (controlled). */
845
+ value?: string;
846
+ /** Initial text when uncontrolled. */
847
+ defaultValue?: string;
848
+ /** Fires when the edited text is committed (on blur). */
849
+ onChange?: (text: string) => void;
850
+ /** Paper color — one of the presets, or any CSS color string. Default `"yellow"`. */
851
+ color?: StickyNoteColor | (string & {});
852
+ /** Rotation in degrees. Default `0`. */
853
+ rotate?: number;
854
+ /** Width as px number or any CSS length. Default `180`. */
855
+ width?: number | string;
856
+ /** Height as px number or any CSS length. Default `"auto"`. */
857
+ height?: number | string;
858
+ /** Selected styling (focus ring). */
859
+ selected?: boolean;
860
+ /** Allow inline editing of the text. Default `true`. */
861
+ editable?: boolean;
862
+ /**
863
+ * Focus the editable region (caret at end) when it becomes editable. Lets a
864
+ * consumer's "enter edit mode" gesture drop straight into typing. Default `false`.
865
+ */
866
+ autoFocus?: boolean;
867
+ /**
868
+ * Stable handle — also emitted as the element `id`. Lets agents and
869
+ * selectors target a specific note without guessing the DOM.
870
+ */
871
+ id?: string;
872
+ /** Static content; when provided, overrides the editable text. */
873
+ children?: ReactNode;
874
+ className?: string;
875
+ style?: CSSProperties;
876
+ }
877
+
878
+ /**
879
+ * A sticky note — paper-styled, with optional inline text editing.
880
+ *
881
+ * Presentational primitive only: it owns the note's look and its editable
882
+ * text. Positioning, dragging, resizing, and z-order are the consumer's job
883
+ * (e.g. `fancy-whiteboard`'s `<Board>` places it in world space;
884
+ * `fancy-artboard`'s `<ArtBoard.Note>` positions it absolutely).
885
+ *
886
+ * <StickyNote value={text} onChange={setText} color="yellow" rotate={-2} />
887
+ */
888
+ declare const StickyNote: react.ForwardRefExoticComponent<StickyNoteProps & react.RefAttributes<HTMLDivElement>>;
889
+
841
890
  type TimelineVariant = "stacked" | "alternating" | "horizontal";
842
891
  /** @deprecated Use TimelineVariant instead */
843
892
  type TimelineOrientation = "vertical" | "horizontal";
@@ -906,6 +955,56 @@ declare const Timeline: react.ForwardRefExoticComponent<TimelineProps & react.Re
906
955
  Block: react.ForwardRefExoticComponent<TimelineBlockProps & react.RefAttributes<HTMLDivElement>>;
907
956
  };
908
957
 
958
+ /**
959
+ * Subset of palette colors the TimeGrid offers for the "cell-on" tone.
960
+ * Mirrors react-fancy's `ActionColor` choice — small enough to keep the
961
+ * compiled CSS tight, broad enough to cover most use cases.
962
+ */
963
+ type TimeGridTone = "violet" | "emerald" | "sky" | "rose" | "amber" | "indigo" | "blue" | "zinc";
964
+ interface TimeGridProps {
965
+ /** Row labels, one per row in `value` (e.g. ["Sun","Mon",…]). */
966
+ rows: string[];
967
+ /** Column labels, one per column in `value` (e.g. ["0","1",…,"23"]). */
968
+ cols: string[];
969
+ /**
970
+ * Controlled cell state. Must be a rectangular `rows.length × cols.length`
971
+ * matrix of booleans. The component never mutates it — every change
972
+ * produces a new array passed to `onChange`.
973
+ */
974
+ value: boolean[][];
975
+ /** Called with the next matrix whenever a cell, row, or column toggles. */
976
+ onChange: (next: boolean[][]) => void;
977
+ /** Cell-on tone. Default `"violet"`. */
978
+ toneOn?: TimeGridTone;
979
+ /** Cell width in px. Default `20`. */
980
+ cellWidth?: number;
981
+ /** Cell height in px. Default `16`. */
982
+ cellHeight?: number;
983
+ /**
984
+ * If true (default), only every Nth column label is rendered to keep the
985
+ * top axis legible at small `cellWidth`. Set false to show all labels.
986
+ */
987
+ sparseColLabels?: boolean;
988
+ /** If true (default), clicking a row/column header toggles that strip. */
989
+ toggleStripsOnHeaderClick?: boolean;
990
+ /**
991
+ * Optional accessible label per cell. Default produces
992
+ * `${rows[r]} ${cols[c]} on|off`. Override for richer context
993
+ * (e.g. include unit: `${rows[r]} ${cols[c]}:00 ${on ? "on" : "off"}`).
994
+ */
995
+ ariaCell?: (rowIdx: number, colIdx: number, on: boolean) => string;
996
+ /**
997
+ * Stable per-cell identifier. Emitted as `data-react-fancy-timegrid-cell`
998
+ * on the button so MCP bridges can address a specific cell from a tool
999
+ * call without DOM walking. Default `${row}:${col}`.
1000
+ */
1001
+ cellId?: (rowIdx: number, colIdx: number) => string;
1002
+ /** Additional CSS classes on the outer scroll container. */
1003
+ className?: string;
1004
+ }
1005
+
1006
+ declare const TimeGrid: react.ForwardRefExoticComponent<TimeGridProps & react.RefAttributes<HTMLDivElement>>;
1007
+
909
1008
  interface TooltipProps {
910
1009
  children: ReactElement;
911
1010
  content: ReactNode;
@@ -2813,4 +2912,4 @@ interface MagicWandProps {
2813
2912
  }
2814
2913
  declare function MagicWand({ value, onValueChange, actions, appearance, autoHide, rows, placeholder, onAction, }: MagicWandProps): react_jsx_runtime.JSX.Element;
2815
2914
 
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 };
2915
+ 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, 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, 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, CSSProperties } from 'react';
2
+ import { ButtonHTMLAttributes, ReactNode, InputHTMLAttributes, TextareaHTMLAttributes, SelectHTMLAttributes, HTMLAttributes, ComponentType, CSSProperties, ReactElement, RefObject } from 'react';
3
3
  import * as react_jsx_runtime from 'react/jsx-runtime';
4
4
  import { ClassValue } from 'clsx';
5
5
 
@@ -838,6 +838,55 @@ interface CalloutProps {
838
838
 
839
839
  declare const Callout: react.ForwardRefExoticComponent<CalloutProps & react.RefAttributes<HTMLDivElement>>;
840
840
 
841
+ /** Built-in paper colors. Any CSS color string is also accepted. */
842
+ type StickyNoteColor = "yellow" | "blue" | "green" | "pink" | "violet";
843
+ interface StickyNoteProps {
844
+ /** Note text (controlled). */
845
+ value?: string;
846
+ /** Initial text when uncontrolled. */
847
+ defaultValue?: string;
848
+ /** Fires when the edited text is committed (on blur). */
849
+ onChange?: (text: string) => void;
850
+ /** Paper color — one of the presets, or any CSS color string. Default `"yellow"`. */
851
+ color?: StickyNoteColor | (string & {});
852
+ /** Rotation in degrees. Default `0`. */
853
+ rotate?: number;
854
+ /** Width as px number or any CSS length. Default `180`. */
855
+ width?: number | string;
856
+ /** Height as px number or any CSS length. Default `"auto"`. */
857
+ height?: number | string;
858
+ /** Selected styling (focus ring). */
859
+ selected?: boolean;
860
+ /** Allow inline editing of the text. Default `true`. */
861
+ editable?: boolean;
862
+ /**
863
+ * Focus the editable region (caret at end) when it becomes editable. Lets a
864
+ * consumer's "enter edit mode" gesture drop straight into typing. Default `false`.
865
+ */
866
+ autoFocus?: boolean;
867
+ /**
868
+ * Stable handle — also emitted as the element `id`. Lets agents and
869
+ * selectors target a specific note without guessing the DOM.
870
+ */
871
+ id?: string;
872
+ /** Static content; when provided, overrides the editable text. */
873
+ children?: ReactNode;
874
+ className?: string;
875
+ style?: CSSProperties;
876
+ }
877
+
878
+ /**
879
+ * A sticky note — paper-styled, with optional inline text editing.
880
+ *
881
+ * Presentational primitive only: it owns the note's look and its editable
882
+ * text. Positioning, dragging, resizing, and z-order are the consumer's job
883
+ * (e.g. `fancy-whiteboard`'s `<Board>` places it in world space;
884
+ * `fancy-artboard`'s `<ArtBoard.Note>` positions it absolutely).
885
+ *
886
+ * <StickyNote value={text} onChange={setText} color="yellow" rotate={-2} />
887
+ */
888
+ declare const StickyNote: react.ForwardRefExoticComponent<StickyNoteProps & react.RefAttributes<HTMLDivElement>>;
889
+
841
890
  type TimelineVariant = "stacked" | "alternating" | "horizontal";
842
891
  /** @deprecated Use TimelineVariant instead */
843
892
  type TimelineOrientation = "vertical" | "horizontal";
@@ -906,6 +955,56 @@ declare const Timeline: react.ForwardRefExoticComponent<TimelineProps & react.Re
906
955
  Block: react.ForwardRefExoticComponent<TimelineBlockProps & react.RefAttributes<HTMLDivElement>>;
907
956
  };
908
957
 
958
+ /**
959
+ * Subset of palette colors the TimeGrid offers for the "cell-on" tone.
960
+ * Mirrors react-fancy's `ActionColor` choice — small enough to keep the
961
+ * compiled CSS tight, broad enough to cover most use cases.
962
+ */
963
+ type TimeGridTone = "violet" | "emerald" | "sky" | "rose" | "amber" | "indigo" | "blue" | "zinc";
964
+ interface TimeGridProps {
965
+ /** Row labels, one per row in `value` (e.g. ["Sun","Mon",…]). */
966
+ rows: string[];
967
+ /** Column labels, one per column in `value` (e.g. ["0","1",…,"23"]). */
968
+ cols: string[];
969
+ /**
970
+ * Controlled cell state. Must be a rectangular `rows.length × cols.length`
971
+ * matrix of booleans. The component never mutates it — every change
972
+ * produces a new array passed to `onChange`.
973
+ */
974
+ value: boolean[][];
975
+ /** Called with the next matrix whenever a cell, row, or column toggles. */
976
+ onChange: (next: boolean[][]) => void;
977
+ /** Cell-on tone. Default `"violet"`. */
978
+ toneOn?: TimeGridTone;
979
+ /** Cell width in px. Default `20`. */
980
+ cellWidth?: number;
981
+ /** Cell height in px. Default `16`. */
982
+ cellHeight?: number;
983
+ /**
984
+ * If true (default), only every Nth column label is rendered to keep the
985
+ * top axis legible at small `cellWidth`. Set false to show all labels.
986
+ */
987
+ sparseColLabels?: boolean;
988
+ /** If true (default), clicking a row/column header toggles that strip. */
989
+ toggleStripsOnHeaderClick?: boolean;
990
+ /**
991
+ * Optional accessible label per cell. Default produces
992
+ * `${rows[r]} ${cols[c]} on|off`. Override for richer context
993
+ * (e.g. include unit: `${rows[r]} ${cols[c]}:00 ${on ? "on" : "off"}`).
994
+ */
995
+ ariaCell?: (rowIdx: number, colIdx: number, on: boolean) => string;
996
+ /**
997
+ * Stable per-cell identifier. Emitted as `data-react-fancy-timegrid-cell`
998
+ * on the button so MCP bridges can address a specific cell from a tool
999
+ * call without DOM walking. Default `${row}:${col}`.
1000
+ */
1001
+ cellId?: (rowIdx: number, colIdx: number) => string;
1002
+ /** Additional CSS classes on the outer scroll container. */
1003
+ className?: string;
1004
+ }
1005
+
1006
+ declare const TimeGrid: react.ForwardRefExoticComponent<TimeGridProps & react.RefAttributes<HTMLDivElement>>;
1007
+
909
1008
  interface TooltipProps {
910
1009
  children: ReactElement;
911
1010
  content: ReactNode;
@@ -2813,4 +2912,4 @@ interface MagicWandProps {
2813
2912
  }
2814
2913
  declare function MagicWand({ value, onValueChange, actions, appearance, autoHide, rows, placeholder, onAction, }: MagicWandProps): react_jsx_runtime.JSX.Element;
2815
2914
 
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 };
2915
+ 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, 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, 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.js CHANGED
@@ -6387,6 +6387,102 @@ var Callout = forwardRef(
6387
6387
  }
6388
6388
  );
6389
6389
  Callout.displayName = "Callout";
6390
+ var colorClasses5 = {
6391
+ yellow: "bg-amber-100 text-amber-950 dark:bg-amber-200 dark:text-amber-950",
6392
+ blue: "bg-sky-100 text-sky-950 dark:bg-sky-200 dark:text-sky-950",
6393
+ green: "bg-emerald-100 text-emerald-950 dark:bg-emerald-200 dark:text-emerald-950",
6394
+ pink: "bg-pink-100 text-pink-950 dark:bg-pink-200 dark:text-pink-950",
6395
+ violet: "bg-violet-100 text-violet-950 dark:bg-violet-200 dark:text-violet-950"
6396
+ };
6397
+ var isPreset = (c) => c in colorClasses5;
6398
+ var StickyNote = forwardRef(
6399
+ ({
6400
+ value,
6401
+ defaultValue,
6402
+ onChange,
6403
+ color = "yellow",
6404
+ rotate = 0,
6405
+ width = 180,
6406
+ height = "auto",
6407
+ selected = false,
6408
+ editable = true,
6409
+ autoFocus = false,
6410
+ id,
6411
+ children,
6412
+ className,
6413
+ style
6414
+ }, ref) => {
6415
+ const isControlled = value !== void 0;
6416
+ const [internal, setInternal] = useState(defaultValue ?? "");
6417
+ const text = isControlled ? value : internal;
6418
+ const editRef = useRef(null);
6419
+ useEffect(() => {
6420
+ const el = editRef.current;
6421
+ if (el && document.activeElement !== el && el.textContent !== text) {
6422
+ el.textContent = text ?? "";
6423
+ }
6424
+ }, [text]);
6425
+ useEffect(() => {
6426
+ if (!editable || !autoFocus) return;
6427
+ const el = editRef.current;
6428
+ if (!el) return;
6429
+ el.focus();
6430
+ const range2 = document.createRange();
6431
+ range2.selectNodeContents(el);
6432
+ range2.collapse(false);
6433
+ const sel = window.getSelection();
6434
+ sel?.removeAllRanges();
6435
+ sel?.addRange(range2);
6436
+ }, [editable, autoFocus]);
6437
+ const commit = () => {
6438
+ const next = editRef.current?.textContent ?? "";
6439
+ if (next === text) return;
6440
+ if (!isControlled) setInternal(next);
6441
+ onChange?.(next);
6442
+ };
6443
+ const preset = isPreset(color);
6444
+ const content = children != null ? children : editable ? /* @__PURE__ */ jsx(
6445
+ "div",
6446
+ {
6447
+ ref: editRef,
6448
+ contentEditable: true,
6449
+ suppressContentEditableWarning: true,
6450
+ spellCheck: false,
6451
+ role: "textbox",
6452
+ "aria-multiline": "true",
6453
+ className: "outline-none whitespace-pre-wrap break-words min-h-[1.4em]",
6454
+ onBlur: commit,
6455
+ onKeyDown: (e) => {
6456
+ if (e.key === "Escape") e.currentTarget.blur();
6457
+ },
6458
+ children: text
6459
+ }
6460
+ ) : /* @__PURE__ */ jsx("div", { className: "whitespace-pre-wrap break-words", children: text });
6461
+ return /* @__PURE__ */ jsx(
6462
+ "div",
6463
+ {
6464
+ ref,
6465
+ id,
6466
+ "data-react-fancy-sticky": "",
6467
+ className: cn(
6468
+ "rounded-sm p-3.5 text-sm leading-relaxed shadow-[0_2px_8px_rgba(0,0,0,0.12),0_1px_2px_rgba(0,0,0,0.08)]",
6469
+ preset ? colorClasses5[color] : "text-zinc-900",
6470
+ selected && "ring-2 ring-blue-500 ring-offset-1",
6471
+ className
6472
+ ),
6473
+ style: {
6474
+ width,
6475
+ height,
6476
+ transform: rotate ? `rotate(${rotate}deg)` : void 0,
6477
+ ...preset ? null : { background: color },
6478
+ ...style
6479
+ },
6480
+ children: content
6481
+ }
6482
+ );
6483
+ }
6484
+ );
6485
+ StickyNote.displayName = "StickyNote";
6390
6486
  var TimelineContext = createContext({
6391
6487
  variant: "stacked",
6392
6488
  index: 0,
@@ -6652,6 +6748,127 @@ var Timeline = Object.assign(TimelineRoot, {
6652
6748
  Item: TimelineItem,
6653
6749
  Block: TimelineBlock
6654
6750
  });
6751
+ var TONE_CLASSES = {
6752
+ violet: "bg-violet-500 hover:bg-violet-600",
6753
+ emerald: "bg-emerald-500 hover:bg-emerald-600",
6754
+ sky: "bg-sky-500 hover:bg-sky-600",
6755
+ rose: "bg-rose-500 hover:bg-rose-600",
6756
+ amber: "bg-amber-500 hover:bg-amber-600",
6757
+ indigo: "bg-indigo-500 hover:bg-indigo-600",
6758
+ blue: "bg-blue-500 hover:bg-blue-600",
6759
+ zinc: "bg-zinc-500 hover:bg-zinc-600"
6760
+ };
6761
+ var OFF_CLASSES = "bg-zinc-100 hover:bg-zinc-200 dark:bg-zinc-800 dark:hover:bg-zinc-700";
6762
+ var TimeGrid = forwardRef(
6763
+ ({
6764
+ rows,
6765
+ cols,
6766
+ value,
6767
+ onChange,
6768
+ toneOn = "violet",
6769
+ cellWidth = 20,
6770
+ cellHeight = 16,
6771
+ sparseColLabels = true,
6772
+ toggleStripsOnHeaderClick = true,
6773
+ ariaCell,
6774
+ cellId,
6775
+ className
6776
+ }, ref) => {
6777
+ const [drag, setDrag] = useState(null);
6778
+ const setCell = (r, c, v) => {
6779
+ if (value[r]?.[c] === v) return;
6780
+ const next = value.map((row) => row.slice());
6781
+ next[r][c] = v;
6782
+ onChange(next);
6783
+ };
6784
+ const toggleRow = (r) => {
6785
+ if (!toggleStripsOnHeaderClick) return;
6786
+ const all = value[r].every(Boolean);
6787
+ const next = value.map((row) => row.slice());
6788
+ for (let c = 0; c < cols.length; c++) next[r][c] = !all;
6789
+ onChange(next);
6790
+ };
6791
+ const toggleCol = (c) => {
6792
+ if (!toggleStripsOnHeaderClick) return;
6793
+ const all = value.every((row) => row[c]);
6794
+ const next = value.map((row) => row.slice());
6795
+ for (let r = 0; r < rows.length; r++) next[r][c] = !all;
6796
+ onChange(next);
6797
+ };
6798
+ const colStep = Math.max(1, Math.floor(cols.length / 6));
6799
+ const onTone = TONE_CLASSES[toneOn];
6800
+ return /* @__PURE__ */ jsx(
6801
+ "div",
6802
+ {
6803
+ ref,
6804
+ "data-react-fancy-timegrid": "",
6805
+ className: cn(
6806
+ "select-none overflow-x-auto",
6807
+ className
6808
+ ),
6809
+ onMouseLeave: () => setDrag(null),
6810
+ onMouseUp: () => setDrag(null),
6811
+ children: /* @__PURE__ */ jsxs("table", { className: "text-[10px]", children: [
6812
+ /* @__PURE__ */ jsx("thead", { children: /* @__PURE__ */ jsxs("tr", { children: [
6813
+ /* @__PURE__ */ jsx("th", {}),
6814
+ cols.map((label, c) => /* @__PURE__ */ jsx(
6815
+ "th",
6816
+ {
6817
+ onClick: () => toggleCol(c),
6818
+ style: { width: cellWidth },
6819
+ "data-react-fancy-timegrid-col": c,
6820
+ className: cn(
6821
+ "text-zinc-400",
6822
+ toggleStripsOnHeaderClick && "cursor-pointer hover:text-zinc-700 dark:hover:text-zinc-200"
6823
+ ),
6824
+ children: sparseColLabels ? c % colStep === 0 ? label : "" : label
6825
+ },
6826
+ c
6827
+ ))
6828
+ ] }) }),
6829
+ /* @__PURE__ */ jsx("tbody", { children: rows.map((label, r) => /* @__PURE__ */ jsxs("tr", { children: [
6830
+ /* @__PURE__ */ jsx(
6831
+ "th",
6832
+ {
6833
+ onClick: () => toggleRow(r),
6834
+ "data-react-fancy-timegrid-row": r,
6835
+ className: cn(
6836
+ "pr-1 text-right font-medium text-zinc-500",
6837
+ toggleStripsOnHeaderClick && "cursor-pointer hover:text-zinc-800 dark:hover:text-zinc-200"
6838
+ ),
6839
+ children: label
6840
+ }
6841
+ ),
6842
+ cols.map((_, c) => {
6843
+ const on = value[r]?.[c] ?? false;
6844
+ return /* @__PURE__ */ jsx("td", { className: "p-px", children: /* @__PURE__ */ jsx(
6845
+ "button",
6846
+ {
6847
+ type: "button",
6848
+ onMouseDown: () => {
6849
+ const v = !on;
6850
+ setDrag(v);
6851
+ setCell(r, c, v);
6852
+ },
6853
+ onMouseEnter: () => drag !== null && setCell(r, c, drag),
6854
+ style: { width: cellWidth, height: cellHeight },
6855
+ "data-react-fancy-timegrid-cell": cellId ? cellId(r, c) : `${r}:${c}`,
6856
+ "aria-pressed": on,
6857
+ "aria-label": ariaCell ? ariaCell(r, c, on) : `${rows[r]} ${cols[c]} ${on ? "on" : "off"}`,
6858
+ className: cn(
6859
+ "block rounded-sm transition",
6860
+ on ? onTone : OFF_CLASSES
6861
+ )
6862
+ }
6863
+ ) }, c);
6864
+ })
6865
+ ] }, r)) })
6866
+ ] })
6867
+ }
6868
+ );
6869
+ }
6870
+ );
6871
+ TimeGrid.displayName = "TimeGrid";
6655
6872
  var Tooltip = forwardRef(
6656
6873
  function Tooltip2({ children, content, placement = "top", delay = 200, offset = 8, className }, _ref) {
6657
6874
  const [open, setOpen] = useState(false);
@@ -13091,6 +13308,6 @@ function caretRect(ta, start, end) {
13091
13308
  return { x, y };
13092
13309
  }
13093
13310
 
13094
- export { Accordion, AccordionPanel, AccordionPanelContent, AccordionPanelSection, AccordionPanelTrigger, Action, Autocomplete, Avatar, Badge, Brand, Breadcrumbs, Calendar, Callout, Card, Carousel, Chart, ChatDrawer, Checkbox, CheckboxGroup, ColorPicker, Command, Composer, ContentRenderer, ContextMenu, DatePicker, Dropdown, EMOJI_CATEGORY_ORDER, EMOJI_DATA, EMOJI_ENTRIES, Editor, Emoji, EmojiSelect, Field, FileUpload, Heading, Icon, Input, InputTag, Kanban, MagicWand, Menu2 as Menu, MobileMenu, Modal, MoodMeter, MultiSwitch, Navbar, OtpInput, Pagination, Pillbox, Popover, Portal, Profile, Progress, PromptInput, RadioGroup, ReasonTag, SKIN_TONES, Select, Separator, Sidebar, Skeleton, Slider, Switch, Table, Tabs, Text, Textarea, TimePicker, Timeline, Toast, Tooltip, TreeNav, 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, useId12 as useId, useKanban, useMenu, useMobileMenu, useModal, useNavbar, useNodeRegistry, useOutsideClick, usePanZoom, usePopover, useSidebar, useTabs, useToast, useTreeNav };
13311
+ export { Accordion, AccordionPanel, AccordionPanelContent, AccordionPanelSection, AccordionPanelTrigger, Action, Autocomplete, Avatar, Badge, Brand, Breadcrumbs, Calendar, Callout, Card, Carousel, Chart, ChatDrawer, Checkbox, CheckboxGroup, ColorPicker, Command, Composer, ContentRenderer, ContextMenu, DatePicker, Dropdown, EMOJI_CATEGORY_ORDER, EMOJI_DATA, EMOJI_ENTRIES, Editor, Emoji, EmojiSelect, Field, FileUpload, Heading, Icon, Input, InputTag, Kanban, MagicWand, Menu2 as Menu, MobileMenu, Modal, MoodMeter, MultiSwitch, Navbar, OtpInput, Pagination, Pillbox, Popover, Portal, Profile, Progress, PromptInput, RadioGroup, ReasonTag, SKIN_TONES, Select, Separator, Sidebar, Skeleton, Slider, StickyNote, Switch, Table, Tabs, Text, Textarea, TimeGrid, TimePicker, Timeline, Toast, Tooltip, TreeNav, 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, useId12 as useId, useKanban, useMenu, useMobileMenu, useModal, useNavbar, useNodeRegistry, useOutsideClick, usePanZoom, usePopover, useSidebar, useTabs, useToast, useTreeNav };
13095
13312
  //# sourceMappingURL=index.js.map
13096
13313
  //# sourceMappingURL=index.js.map