UNPKG

@extclp/vexip-ui

Version:

A Vue 3 UI library, Highly customizability, full TypeScript, performance pretty good

43 lines (42 loc) 1.34 kB
import { ClassType, StyleType } from '@vexip-ui/config'; import { TooltipProps } from '../tooltip'; export interface SliderMarker { label?: string; class?: ClassType; style?: StyleType; attrs?: Record<string, any>; } export type SliderRawMarkers = Record<string | number, string | SliderMarker> | Array<number | (SliderMarker & { value: number; })>; export type SliderTipProps = Omit<TooltipProps, 'trigger' | 'transfer' | 'visible' | 'disabled' | 'noHover'>; export interface SliderSlotParams { values: number[]; sliding: boolean[]; percent: number[]; disabled: boolean; loading: boolean; } export interface SliderMarkerSlotParams extends SliderSlotParams { markerValue: number; marker: SliderMarker; inRange: boolean; } export interface SliderTriggerParams { type: 'start' | 'end'; value: number; sliding: boolean; percent: number; disabled: boolean; loading: boolean; } export type SliderCommonSlot = (params: SliderSlotParams) => any; export type SliderMarkerSlot = (params: SliderMarkerSlotParams) => any; export type SliderTriggerSlot = (params: SliderTriggerParams) => any; export interface SliderSlots { filler?: SliderCommonSlot; point?: SliderMarkerSlot; marker?: SliderMarkerSlot; trigger?: SliderTriggerSlot; tip?: SliderTriggerSlot; }