UNPKG

@coreui/react-pro

Version:

UI Components Library for React.js

80 lines (79 loc) 4.33 kB
import React, { HTMLAttributes, ReactNode } from 'react'; import { type Label } from './types'; export interface CRangeSliderProps extends Omit<HTMLAttributes<HTMLDivElement>, 'onChange'> { /** * Customize the styling of your React Range Slider by adding a custom `className`. * This allows you to apply additional CSS classes for enhanced design flexibility and integration with your existing stylesheets. */ className?: string; /** * Enable or disable clickable labels in the React Range Slider. * When set to `true`, users can click on labels to adjust the slider's value directly, enhancing interactivity and user experience. */ clickableLabels?: boolean; /** * Control the interactive state of the React Range Slider with the `disabled` prop. * Setting it to `true` will disable all slider functionalities, preventing user interaction and visually indicating a non-interactive state. */ disabled?: boolean; /** * Define the minimum distance between slider handles using the `distance` prop in the React Range Slider. * This ensures that the handles maintain a specified separation, preventing overlap and maintaining clear value distinctions. */ distance?: number; /** * Add descriptive labels to your React Range Slider by providing an array of `labels`. * These labels enhance the slider's usability by clearly indicating key values and providing contextual information to users. */ labels?: Label[]; /** * Specify the maximum value for the React Range Slider with the `max` prop. * This determines the upper limit of the slider's range, enabling precise control over the highest selectable value. */ max?: number; /** * Set the minimum value for the React Range Slider using the `min` prop. * This defines the lower bound of the slider's range, allowing you to control the starting point of user selection. */ min?: number; /** * Assign a `name` to the React Range Slider for form integration. * Whether using a single string or an array of strings, this prop ensures that the slider's values are correctly identified when submitting forms. */ name?: string | string[]; /** * Control the granularity of the React Range Slider by setting the `step` prop. * This defines the increment intervals between selectable values, allowing for precise adjustments based on your application's requirements. */ step?: number; /** * Handle value changes in the React Range Slider by utilizing the `onChange` callback. * This function is triggered whenever the slider's value updates, enabling you to manage state and respond to user interactions effectively. */ onChange?: (value: number[]) => void; /** * Toggle the visibility of tooltips in the React Range Slider with the `tooltips` prop. * When enabled, tooltips display the current value of the slider handles, providing real-time feedback to users. */ tooltips?: boolean; /** * Customize the display format of tooltips in the React Range Slider using the `tooltipsFormat` function. * This allows you to format the tooltip values according to your specific requirements, enhancing the clarity and presentation of information. */ tooltipsFormat?: (value: number) => ReactNode; /** * Controls the visual representation of the slider's track. When set to `'fill'`, the track is dynamically filled based on the slider's value(s). Setting it to `false` disables the filled track. */ track?: 'fill' | boolean; /** * Set the current value(s) of the React Range Slider using the `value` prop. * Whether you're using a single value or an array for multi-handle sliders, this prop controls the slider's position and ensures it reflects the desired state. */ value?: number | number[]; /** * Orient the React Range Slider vertically by setting the `vertical` prop to `true`. * This changes the slider's layout from horizontal to vertical, providing a different aesthetic and fitting various UI designs. */ vertical?: boolean; } export declare const CRangeSlider: React.ForwardRefExoticComponent<CRangeSliderProps & React.RefAttributes<HTMLDivElement>>;