types: extract prop types (#8332)

This commit is contained in:
neverland
2021-03-14 10:58:08 +08:00
committed by GitHub
parent 6e026e18c3
commit ceebc22e63
9 changed files with 235 additions and 260 deletions
+39 -40
View File
@@ -10,6 +10,7 @@ import {
onDeactivated,
onBeforeUnmount,
defineComponent,
ExtractPropTypes,
} from 'vue';
// Utils
@@ -35,16 +36,48 @@ const [name, bem] = createNamespace('swipe');
export const SWIPE_KEY = Symbol(name);
const props = {
width: [Number, String],
height: [Number, String],
vertical: Boolean,
lazyRender: Boolean,
indicatorColor: String,
loop: {
type: Boolean,
default: true,
},
autoplay: {
type: [Number, String],
default: 0,
},
duration: {
type: [Number, String],
default: 500,
},
touchable: {
type: Boolean,
default: true,
},
initialSwipe: {
type: [Number, String],
default: 0,
},
showIndicators: {
type: Boolean,
default: true,
},
stopPropagation: {
type: Boolean,
default: true,
},
};
export type SwipeToOptions = {
immediate?: boolean;
};
export type SwipeProvide = {
props: {
loop: boolean;
vertical?: boolean;
lazyRender?: boolean;
};
props: ExtractPropTypes<typeof props>;
size: ComputedRef<number>;
count: ComputedRef<number>;
activeIndicator: ComputedRef<number>;
@@ -53,41 +86,7 @@ export type SwipeProvide = {
export default defineComponent({
name,
props: {
width: [Number, String],
height: [Number, String],
vertical: Boolean,
lazyRender: Boolean,
indicatorColor: String,
loop: {
type: Boolean,
default: true,
},
autoplay: {
type: [Number, String],
default: 0,
},
duration: {
type: [Number, String],
default: 500,
},
touchable: {
type: Boolean,
default: true,
},
initialSwipe: {
type: [Number, String],
default: 0,
},
showIndicators: {
type: Boolean,
default: true,
},
stopPropagation: {
type: Boolean,
default: true,
},
},
props,
emits: ['change'],