import React, { ReactNode } from 'react'; export interface SliderProps { /** * 自定义类名 * @en Custom classname * @default "" */ className?: string; /** * 自定义样式 * @en Custom stylesheet * @default {} */ style?: React.CSSProperties; /** * 是否禁用 * @en Disabled * @default false */ disabled?: boolean; /** * 使用范围选择 * @en Use range selection * @default 根据 传入初始参数判断,没有则为 false * @default_en Judging by the incoming initial parameters, false if not */ useRange?: boolean; /** * 非点击状态使用动画 * @en Use animation for non-click state * @default true */ useAnimation?: boolean; /** * 最小值 * @en Minimum value * @default 0 */ min?: number; /** * 最大值 * @en Maximum value * @default 100 */ max?: number; /** * 默认初始值 * @en Default initial value */ defaultValue?: number | [number, number]; /** * 基础值,组件受控 * @en Value, component will be controlled */ value?: number | [number, number]; /** * 最小单位 * @en Step * @default 1 */ step?: number; /** * 组件方向 * @en Component direction * @default "horizontal" */ type?: 'horizontal' | 'vertical'; /** * 是否展示气泡 * @en Whether to show tooltips * @default "auto" */ showTooltip?: 'auto' | 'always' | 'never'; /** * 滑动条节点配置 * @en Slider node configuration */ marks?: number | number[] | Record; /** * 是否展示标签底部文案 * @en Whether to display the bottom mark text * @default false */ showMarks?: boolean; /** * 是否只可用标志的值,覆盖 step * @en Whether only the value of the mark is available, overriding step * @default false */ useMarkOnly?: boolean; /** * 前缀 icon 或者 文案 * @en prefix icon or label */ prefixLabel?: boolean | ((value: number | [number, number]) => ReactNode) | ReactNode; /** * 后缀 icon 或者 文案 * @en Suffix icon or label */ suffixLabel?: boolean | ((value: number | [number, number]) => ReactNode) | ReactNode; /** * 组件横条粗细,单位 px * @en Slider bar thickness (unit: px) * @default 2 */ size?: number | string; /** * 只允许拖动滑块 默认 false * @en Only allow dragging of sliders, the default is false * @default false */ draggableTrackOnly?: boolean; /** * 自定义气泡内容 * @en Custom tooltip content */ formatTooltip?: (value: number) => string | ReactNode; /** * 修改后事件,时机同 touchend * @en Callback after value changes, the timing is the same as touchend */ onAfterChange?: (value: number | [number, number]) => void; /** * 实时修改事件 * @en Callback when value changes in real time */ onChange?: (value: number | [number, number]) => void; /** * 自定义滑块 * @en Custom slider */ renderThumb?: (value: number) => ReactNode; /** * 自定义滑块的Popover,优先级高于formatTooltip。value表示当前滑动进度,visible表示气泡的可见性,index表示当前滑块索引,thumbEl表示当前滑块元素。 * @en Custom slider popover,priority is higher than formatTooltip. value - current sliding progress, visible - visibility of the bubble, index - current slider index, thumbEl - current slider element. */ renderThumbPopover?: (config: { value: number; visible: boolean; index: number; thumbEl: React.ReactNode; }) => ReactNode; } export interface SliderRef { /** * 最外层元素 DOM * @en The outermost element DOM */ dom: HTMLDivElement | null; } declare const _default: React.ForwardRefExoticComponent> & { displayName?: string | undefined; }; /** * 滑动型输入器,展示当前值和可选范围。 * @en Slide input component, displays the current value and optional range. * @name 滑动输入条 * @name_en Slider * @type 数据录入 * @type_en Data Entry * @displayName Slider */ export default _default;