UNPKG

@reusable-ui/range

Version:

A UI for the user defines a numeric value in the specified range.

37 lines (36 loc) 2.23 kB
import { default as React } from 'react'; import type { Optional } from '@cssfn/core'; import { type OrientationableProps } from '@reusable-ui/core'; import { GenericProps } from '@reusable-ui/generic'; import { EditableControlProps } from '@reusable-ui/editable-control'; import { EditableActionControlProps } from '@reusable-ui/editable-action-control'; import type { InputHTMLAttributes } from '@reusable-ui/input'; export declare const useRangeStyleSheet: () => import("@cssfn/css-types").CssScopeMap<"main">; export interface RangeSubComponentProps { trackComponent?: React.ReactComponentElement<any, EditableControlProps<Element>>; trackLowerComponent?: React.ReactComponentElement<any, GenericProps<Element>>; trackUpperComponent?: React.ReactComponentElement<any, GenericProps<Element>>; thumbComponent?: React.ReactComponentElement<any, EditableActionControlProps<Element>>; trackRef?: React.Ref<Element>; trackLowerRef?: React.Ref<Element>; trackUpperRef?: React.Ref<Element>; thumbRef?: React.Ref<Element>; trackClasses?: Optional<string>[]; trackLowerClasses?: Optional<string>[]; trackUpperClasses?: Optional<string>[]; thumbClasses?: Optional<string>[]; trackStyle?: React.CSSProperties; trackLowerStyle?: React.CSSProperties; trackUpperStyle?: React.CSSProperties; thumbStyle?: React.CSSProperties; } export interface RangeProps<TElement extends Element = HTMLDivElement> extends Omit<EditableActionControlProps<TElement>, 'elmRef' | 'defaultValue' | 'value' | 'onChange' | 'required' | 'children'>, Pick<EditableActionControlProps<HTMLInputElement>, 'elmRef' | 'onChange'>, Omit<InputHTMLAttributes<TElement>, 'role' | 'size' | 'enterKeyHint' | 'disabled' | 'required' | 'minLength' | 'maxLength' | 'pattern' | 'type' | 'placeholder' | 'autoComplete' | 'autoCapitalize' | 'list' | 'defaultValue' | 'value'>, OrientationableProps, RangeSubComponentProps { min?: number; max?: number; step?: number | 'any'; defaultValue?: number; value?: number; } declare const Range: <TElement extends Element = HTMLDivElement>(props: RangeProps<TElement>) => JSX.Element | null; export { Range, // named export for readibility Range as default, };