@particle-academy/react-fancy 1.6.1 → 1.7.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
@@ -114,10 +114,28 @@ interface TextareaProps extends InputBaseProps, InputAffixProps, Omit<TextareaHT
114
114
 
115
115
  declare const Textarea: react.ForwardRefExoticComponent<TextareaProps & react.RefAttributes<HTMLTextAreaElement>>;
116
116
 
117
- interface SelectProps extends InputBaseProps, InputAffixProps, Omit<SelectHTMLAttributes<HTMLSelectElement>, "size" | "prefix"> {
117
+ interface SelectProps extends InputBaseProps, InputAffixProps, Omit<SelectHTMLAttributes<HTMLSelectElement>, "size" | "prefix" | "multiple"> {
118
+ /** Options list — strings or objects with value/label */
118
119
  list: InputOption[] | InputOptionGroup[];
119
120
  placeholder?: string;
121
+ /** Callback for single-select value changes */
120
122
  onValueChange?: (value: string) => void;
123
+ /** Layout variant. "native" uses <select>, "listbox" uses a custom dropdown. Default: "native" */
124
+ variant?: "native" | "listbox";
125
+ /** Enable multi-select (listbox variant only) */
126
+ multiple?: boolean;
127
+ /** Controlled multi-select value */
128
+ values?: string[];
129
+ /** Default multi-select value (uncontrolled) */
130
+ defaultValues?: string[];
131
+ /** Callback for multi-select value changes */
132
+ onValuesChange?: (values: string[]) => void;
133
+ /** Enable search/filter within the dropdown (listbox variant only) */
134
+ searchable?: boolean;
135
+ /** Suffix for the selected count display. Default: "selected" */
136
+ selectedSuffix?: string;
137
+ /** Selection indicator style. Default: "check" */
138
+ indicator?: "check" | "checkbox";
121
139
  }
122
140
 
123
141
  declare const Select: react.ForwardRefExoticComponent<SelectProps & react.RefAttributes<HTMLSelectElement>>;
@@ -654,16 +672,31 @@ interface PopoverContextValue {
654
672
  open: boolean;
655
673
  setOpen: (open: boolean) => void;
656
674
  anchorRef: React.RefObject<HTMLElement | null>;
675
+ floatingRef: React.RefObject<HTMLDivElement | null>;
657
676
  placement: Placement;
658
677
  offset: number;
678
+ hover: boolean;
679
+ onHoverEnter: () => void;
680
+ onHoverLeave: () => void;
659
681
  }
660
682
  interface PopoverProps {
661
683
  children: ReactNode;
684
+ /** Controlled open state */
662
685
  open?: boolean;
686
+ /** Default open state (uncontrolled) */
663
687
  defaultOpen?: boolean;
688
+ /** Callback when open state changes */
664
689
  onOpenChange?: (open: boolean) => void;
690
+ /** Placement of the popover relative to the trigger */
665
691
  placement?: Placement;
692
+ /** Pixel offset from the trigger */
666
693
  offset?: number;
694
+ /** Open on hover instead of click */
695
+ hover?: boolean;
696
+ /** Delay in ms before opening on hover. Default: 200 */
697
+ hoverDelay?: number;
698
+ /** Delay in ms before closing after hover leaves. Default: 300 */
699
+ hoverCloseDelay?: number;
667
700
  }
668
701
  interface PopoverTriggerProps {
669
702
  children: ReactNode;
@@ -674,7 +707,7 @@ interface PopoverContentProps {
674
707
  className?: string;
675
708
  }
676
709
 
677
- declare function PopoverTrigger({ children }: PopoverTriggerProps): ReactElement<Record<string, unknown>, string | react.JSXElementConstructor<any>>;
710
+ declare function PopoverTrigger({ children, className }: PopoverTriggerProps): react_jsx_runtime.JSX.Element;
678
711
  declare namespace PopoverTrigger {
679
712
  var displayName: string;
680
713
  }
@@ -684,7 +717,7 @@ declare namespace PopoverContent {
684
717
  var displayName: string;
685
718
  }
686
719
 
687
- declare function PopoverRoot({ children, open: controlledOpen, defaultOpen, onOpenChange, placement, offset, }: PopoverProps): react_jsx_runtime.JSX.Element;
720
+ declare function PopoverRoot({ children, open: controlledOpen, defaultOpen, onOpenChange, placement, offset, hover, hoverDelay, hoverCloseDelay, }: PopoverProps): react_jsx_runtime.JSX.Element;
688
721
  declare const Popover: typeof PopoverRoot & {
689
722
  Trigger: typeof PopoverTrigger;
690
723
  Content: typeof PopoverContent;
package/dist/index.d.ts CHANGED
@@ -114,10 +114,28 @@ interface TextareaProps extends InputBaseProps, InputAffixProps, Omit<TextareaHT
114
114
 
115
115
  declare const Textarea: react.ForwardRefExoticComponent<TextareaProps & react.RefAttributes<HTMLTextAreaElement>>;
116
116
 
117
- interface SelectProps extends InputBaseProps, InputAffixProps, Omit<SelectHTMLAttributes<HTMLSelectElement>, "size" | "prefix"> {
117
+ interface SelectProps extends InputBaseProps, InputAffixProps, Omit<SelectHTMLAttributes<HTMLSelectElement>, "size" | "prefix" | "multiple"> {
118
+ /** Options list — strings or objects with value/label */
118
119
  list: InputOption[] | InputOptionGroup[];
119
120
  placeholder?: string;
121
+ /** Callback for single-select value changes */
120
122
  onValueChange?: (value: string) => void;
123
+ /** Layout variant. "native" uses <select>, "listbox" uses a custom dropdown. Default: "native" */
124
+ variant?: "native" | "listbox";
125
+ /** Enable multi-select (listbox variant only) */
126
+ multiple?: boolean;
127
+ /** Controlled multi-select value */
128
+ values?: string[];
129
+ /** Default multi-select value (uncontrolled) */
130
+ defaultValues?: string[];
131
+ /** Callback for multi-select value changes */
132
+ onValuesChange?: (values: string[]) => void;
133
+ /** Enable search/filter within the dropdown (listbox variant only) */
134
+ searchable?: boolean;
135
+ /** Suffix for the selected count display. Default: "selected" */
136
+ selectedSuffix?: string;
137
+ /** Selection indicator style. Default: "check" */
138
+ indicator?: "check" | "checkbox";
121
139
  }
122
140
 
123
141
  declare const Select: react.ForwardRefExoticComponent<SelectProps & react.RefAttributes<HTMLSelectElement>>;
@@ -654,16 +672,31 @@ interface PopoverContextValue {
654
672
  open: boolean;
655
673
  setOpen: (open: boolean) => void;
656
674
  anchorRef: React.RefObject<HTMLElement | null>;
675
+ floatingRef: React.RefObject<HTMLDivElement | null>;
657
676
  placement: Placement;
658
677
  offset: number;
678
+ hover: boolean;
679
+ onHoverEnter: () => void;
680
+ onHoverLeave: () => void;
659
681
  }
660
682
  interface PopoverProps {
661
683
  children: ReactNode;
684
+ /** Controlled open state */
662
685
  open?: boolean;
686
+ /** Default open state (uncontrolled) */
663
687
  defaultOpen?: boolean;
688
+ /** Callback when open state changes */
664
689
  onOpenChange?: (open: boolean) => void;
690
+ /** Placement of the popover relative to the trigger */
665
691
  placement?: Placement;
692
+ /** Pixel offset from the trigger */
666
693
  offset?: number;
694
+ /** Open on hover instead of click */
695
+ hover?: boolean;
696
+ /** Delay in ms before opening on hover. Default: 200 */
697
+ hoverDelay?: number;
698
+ /** Delay in ms before closing after hover leaves. Default: 300 */
699
+ hoverCloseDelay?: number;
667
700
  }
668
701
  interface PopoverTriggerProps {
669
702
  children: ReactNode;
@@ -674,7 +707,7 @@ interface PopoverContentProps {
674
707
  className?: string;
675
708
  }
676
709
 
677
- declare function PopoverTrigger({ children }: PopoverTriggerProps): ReactElement<Record<string, unknown>, string | react.JSXElementConstructor<any>>;
710
+ declare function PopoverTrigger({ children, className }: PopoverTriggerProps): react_jsx_runtime.JSX.Element;
678
711
  declare namespace PopoverTrigger {
679
712
  var displayName: string;
680
713
  }
@@ -684,7 +717,7 @@ declare namespace PopoverContent {
684
717
  var displayName: string;
685
718
  }
686
719
 
687
- declare function PopoverRoot({ children, open: controlledOpen, defaultOpen, onOpenChange, placement, offset, }: PopoverProps): react_jsx_runtime.JSX.Element;
720
+ declare function PopoverRoot({ children, open: controlledOpen, defaultOpen, onOpenChange, placement, offset, hover, hoverDelay, hoverCloseDelay, }: PopoverProps): react_jsx_runtime.JSX.Element;
688
721
  declare const Popover: typeof PopoverRoot & {
689
722
  Trigger: typeof PopoverTrigger;
690
723
  Content: typeof PopoverContent;