import React from 'react'; import type { OtherHTMLAttributes, RangeInputTheme, PickPropsWithExceptions } from '@instructure/shared-types'; import type { FormFieldOwnProps, FormMessage } from '@instructure/ui-form-field/latest'; import type { WithStyleProps, ComponentStyle } from '@instructure/emotion'; import type { InputHTMLAttributes } from 'react'; import type { WithDeterministicIdProps } from '@instructure/ui-react-utils'; type RangeInputOwnProps = { min: number; max: number; /** * value to set on initial render */ defaultValue?: number; /** * the selected value (must be accompanied by an `onChange` prop) */ value?: number; /** * when used with the `value` prop, the component will not control its own state */ onChange?: (value: number | string) => void; messages?: FormMessage[]; /** * The size of the value label */ size?: 'small' | 'medium' | 'large'; layout?: 'stacked' | 'inline'; id?: string; label: React.ReactNode; /** * whether to display the current value */ displayValue?: boolean; step?: number; /** * A function to format the displayed value */ formatValue?: (value?: number, max?: number) => string; inline?: boolean; disabled?: boolean; readOnly?: boolean; /** * The "deprecated" variant has an outer shadow on focus. * The "accessible" variant has better color contrast, border and inset focus ring for better accessibility. */ thumbVariant?: 'deprecated' | 'accessible'; /** * A function that provides a reference to the actual underlying input element */ inputRef?: (inputElement: HTMLInputElement | null) => void; }; type PropKeys = keyof RangeInputOwnProps; type AllowedPropKeys = Readonly>; type RangeInputProps = PickPropsWithExceptions & RangeInputOwnProps & WithStyleProps & OtherHTMLAttributes> & WithDeterministicIdProps; type RangeInputStyle = ComponentStyle<'rangeInput' | 'rangeInputInput' | 'rangeInputInputValue'>; type RangeInputState = { value?: number | string; }; declare const allowedProps: AllowedPropKeys; export type { RangeInputProps, RangeInputState, RangeInputStyle }; export { allowedProps }; //# sourceMappingURL=props.d.ts.map