import { storiesOf } from '@storybook/vue'
import { defineComponent, computed } from '@vue/composition-api'
import { useCubicBezier } from '../index'
import md from '../docs/cubicBezier.md'
const Demo = defineComponent({
template: `
EXAMPLE
bezier: {{bezier}}
easing: easeInQuad
fps: 60
duration: 2000
scale&fade
fade&run
`,
setup() {
const { bezier, run, stop } = useCubicBezier(60)
const go = function () {
run(2000, "easeInQuad").then()
}
// 缩放&渐隐
const scaleFade = computed(() => {
return {
transform: `scale(${1 - bezier.value})`,
opacity: 1 - bezier.value
}
})
// 移动&渐隐
const runFade = computed(() => {
return {
left: 130 + bezier.value * 200 + 'px',
top: 145 - bezier.value * 100 + 'px',
opacity: 1 - bezier.value
}
})
return {
bezier, go, stop,
scaleFade, runFade
}
}
})
storiesOf('UI|useCubicBezier', module)
.add('cubicBezierMuti', () => Demo, {
readme: {
sidebar: md
},
})