UNPKG

@ui5/webcomponents-react

Version:

React Wrapper for UI5 Web Components and additional components

133 lines (132 loc) 5.77 kB
import '@ui5/webcomponents/dist/RangeSlider.js'; import type { CommonProps, Ui5CustomEvent, Ui5DomRef } from '../../types/index.js'; interface RangeSliderAttributes { /** * Defines the accessible ARIA name of the component. * * **Note:** Available since [v1.4.0](https://github.com/SAP/ui5-webcomponents/releases/tag/v1.4.0) of **@ui5/webcomponents**. * @default undefined */ accessibleName?: string | undefined; /** * Defines whether the slider is in disabled state. * @default false */ disabled?: boolean; /** * Defines end point of a selection - position of a second handle on the slider. * @default 100 */ endValue?: number; /** * Displays a label with a value on every N-th step. * * **Note:** The step and tickmarks properties must be enabled. * Example - if the step value is set to 2 and the label interval is also specified to 2 - then every second * tickmark will be labelled, which means every 4th value number. * @default 0 */ labelInterval?: number; /** * Defines the maximum value of the slider. * @default 100 */ max?: number; /** * Defines the minimum value of the slider. * @default 0 */ min?: number; /** * Determines the name by which the component will be identified upon submission in an HTML form. * * **Note:** This property is only applicable within the context of an HTML Form element. * * **Note:** Available since [v2.0.0](https://github.com/SAP/ui5-webcomponents/releases/tag/v2.0.0) of **@ui5/webcomponents**. * @default undefined */ name?: string | undefined; /** * Enables tickmarks visualization for each step. * * **Note:** The step must be a positive number. * @default false */ showTickmarks?: boolean; /** * Enables handle tooltip displaying the current value. * @default false */ showTooltip?: boolean; /** * Defines start point of a selection - position of a first handle on the slider. * @default 0 */ startValue?: number; /** * Defines the size of the slider's selection intervals (e.g. min = 0, max = 10, step = 5 would result in possible selection of the values 0, 5, 10). * * **Note:** If set to 0 the slider handle movement is disabled. When negative number or value other than a number, the component fallbacks to its default value. * @default 1 */ step?: number; } interface RangeSliderDomRef extends Required<RangeSliderAttributes>, Ui5DomRef { } interface RangeSliderPropTypes extends RangeSliderAttributes, Omit<CommonProps, keyof RangeSliderAttributes | 'onChange' | 'onInput'> { /** * Fired when the value changes and the user has finished interacting with the slider. */ onChange?: (event: Ui5CustomEvent<RangeSliderDomRef>) => void; /** * Fired when the value changes due to user interaction that is not yet finished - during mouse/touch dragging. */ onInput?: (event: Ui5CustomEvent<RangeSliderDomRef>) => void; } /** * Represents a numerical interval and two handles (grips) to select a sub-range within it. * The purpose of the component to enable visual selection of sub-ranges within a given interval. * * ### Structure * The most important properties of the Range Slider are: * * - min - The minimum value of the slider range. * - max - The maximum value of the slider range. * - value - The current value of the slider. * - step - Determines the increments in which the slider will move. * - showTooltip - Determines if a tooltip should be displayed above the handle. * - showTickmarks - Displays a visual divider between the step values. * - labelInterval - Labels some or all of the tickmarks with their values. * * #### Notes: * * - The right and left handle can be moved individually and their positions could therefore switch. * - The entire range can be moved along the interval. * * ### Usage * The most common use case is to select and move sub-ranges on a continuous numerical scale. * * ### Responsive Behavior * You can move the currently selected range by clicking on it and dragging it along the interval. * * ### Keyboard Handling * * - `Left or Down Arrow` - Moves a component's handle or the entire selection one step to the left; * - `Right or Up Arrow` - Moves a component's handle or the entire selection one step to the right; * - `Left or Down Arrow + Ctrl/Cmd` - Moves a component's handle to the left or the entire range with step equal to 1/10th of the entire range; * - `Right or Up Arrow + Ctrl/Cmd` - Moves a component's handle to the right or the entire range with step equal to 1/10th of the entire range; * - `Plus` - Same as `Right or Up Arrow`; * - `Minus` - Same as `Left or Down Arrow`; * - `Home` - Moves the entire selection or the selected handle to the beginning of the component's range; * - `End` - Moves the entire selection or the selected handle to the end of the component's range; * - `Page Up` - Same as `Right or Up Arrow + Ctrl/Cmd`; * - `Page Down` - Same as `Left or Down Arrow + Ctrl/Cmd`; * - `Escape` - Resets the `startValue` and `endValue` properties to the values prior the component focusing; * * * * __Note__: This is a UI5 Web Component! [Repository](https://github.com/SAP/ui5-webcomponents) | [Documentation](https://sap.github.io/ui5-webcomponents/) */ declare const RangeSlider: import("react").ForwardRefExoticComponent<RangeSliderPropTypes & import("../../internal/withWebComponent.js").WithWebComponentPropTypes & import("react").RefAttributes<RangeSliderDomRef>>; export { RangeSlider }; export type { RangeSliderDomRef, RangeSliderPropTypes };