import type { ComponentProps, ComponentPropsWithRef, CSSProperties, ElementType, HTMLAttributes, InputHTMLAttributes, ReactNode, Ref, } from 'react'; import type { MaybeFunction } from '@wener/utils'; export type AsProps = ComponentPropsWithRef & { as?: E; }; export type WithAsProps = P & AsProps; export type OpenProps = { open?: boolean; onOpenChange?: (open: boolean) => void; defaultOpen?: boolean; }; export type ValueProps = { value?: T; onValueChange?: (value: T) => void; defaultValue?: T; }; export type WithActiveProps

= Omit & ActiveProps; export type ActiveProps = { active?: boolean; style?: MaybeFunction; children?: MaybeFunction; className?: MaybeFunction; inactiveClassName?: string; activeClassName?: string; pass?: { active?: boolean; activeClassName?: boolean; inactiveClassName: boolean }; }; export type AnyComponentProps = HTMLAttributes & { ref?: Ref | undefined; }; export type AnyInputComponentProps = InputHTMLAttributes & { ref?: Ref | undefined; };