@tplc/wot
Version:
51 lines (47 loc) • 1.39 kB
text/typescript
import type { ExtractPropTypes } from 'vue'
import { baseProps, makeBooleanProp, makeNumberProp, makeStringProp } from '../common/props'
import type { DirectionType, IndicatorPositionType } from '../wd-swiper/types'
/**
* 指示器类型,点状(dots)、点条状(dots-bar)、分式(fraction)等
*/
export type SwiperIndicatorType = 'dots' | 'dots-bar' | 'fraction'
export const swiperNavprops = {
...baseProps,
/**
* 当前轮播在哪一项(下标)
*/
current: makeNumberProp(0),
/**
* 轮播滑动方向,包括横向滑动和纵向滑动两个方向
*/
direction: makeStringProp<DirectionType>('horizontal'),
/**
* 小于这个数字不会显示导航器
*/
minShowNum: makeNumberProp(2),
/**
* 指示器位置
*/
indicatorPosition: makeStringProp<IndicatorPositionType>('bottom'),
/**
* 是否显示两侧的控制按钮
*/
showControls: makeBooleanProp(false),
/**
* 总共的项数
*/
total: makeNumberProp(0),
/**
* 指示器类型,点状(dots)、点条状(dots-bar)、分式(fraction)等
*/
type: makeStringProp<SwiperIndicatorType>('dots'),
/**
* 指示器活动颜色
*/
activityColor: makeStringProp('var(--wot-color-theme)'),
/**
* 指示器非活动颜色
*/
inactiveColor: makeStringProp('#e7e7e7'),
}
export type SwiperNavProps = ExtractPropTypes<typeof swiperNavprops>