mirror of
https://github.com/nuxt/nuxt.git
synced 2024-11-11 16:43:55 +00:00
86 lines
1.7 KiB
JavaScript
86 lines
1.7 KiB
JavaScript
|
import { storiesOf } from "@storybook/vue"
|
||
|
import { action } from "@storybook/addon-actions"
|
||
|
import {
|
||
|
withKnobs,
|
||
|
text,
|
||
|
number,
|
||
|
boolean,
|
||
|
array,
|
||
|
select,
|
||
|
color,
|
||
|
date,
|
||
|
object,
|
||
|
button
|
||
|
} from "@storybook/addon-knobs/vue"
|
||
|
// import { withSmartKnobs } from "storybook-addon-smart-knobs"
|
||
|
// import { withInfo } from "@storybook/addon-info"
|
||
|
import centered from "@storybook/addon-centered"
|
||
|
import { linkTo } from "@storybook/addon-links"
|
||
|
|
||
|
/**
|
||
|
* Template function for Vuetify
|
||
|
* @param {*} cmp component inside object {cmp}
|
||
|
* @param {*} cmpStr template string or function returning on
|
||
|
*/
|
||
|
const vtmp = (cmp, cmpStr) => ({
|
||
|
components: cmp,
|
||
|
template: `
|
||
|
<v-app style="min-width:400px">
|
||
|
<v-container fluid fill-height>
|
||
|
<v-flex xs12>${cmpStr instanceof Function ? cmpStr() : cmpStr}</v-flex>
|
||
|
</v-container>
|
||
|
</v-app>
|
||
|
`
|
||
|
})
|
||
|
/**
|
||
|
* Richer aLternative to storiesOf
|
||
|
* @param {*} cmp
|
||
|
* @param {*} name
|
||
|
* @param {*} params
|
||
|
*/
|
||
|
const nStoriesOf = (cmp, name = Object.keys(cmp)[0], params = {}) => {
|
||
|
let x = storiesOf(name, module)
|
||
|
.addDecorator(centered)
|
||
|
.addDecorator(withKnobs)
|
||
|
|
||
|
if (params.withDefault) {
|
||
|
x.add("Default", () => ({
|
||
|
render: h => h(Object.values(cmp)[0])
|
||
|
}))
|
||
|
}
|
||
|
|
||
|
x.addVT = (title, cmpStr) => {
|
||
|
x.add(title, () => vtmp(cmp, cmpStr))
|
||
|
return x
|
||
|
}
|
||
|
|
||
|
return x
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Stories of which just works
|
||
|
* @param {*} cmp
|
||
|
* @param {*} name
|
||
|
*/
|
||
|
const nStoriesOfWithDefault = (cmp, name = Object.keys(cmp)[0]) =>
|
||
|
nStoriesOf(cmp, name, { withDefault: "withDefault" })
|
||
|
|
||
|
export {
|
||
|
nStoriesOf,
|
||
|
nStoriesOfWithDefault,
|
||
|
action,
|
||
|
withSmartKnobs,
|
||
|
withInfo,
|
||
|
linkTo,
|
||
|
withKnobs,
|
||
|
text,
|
||
|
number,
|
||
|
object,
|
||
|
boolean,
|
||
|
array,
|
||
|
select,
|
||
|
color,
|
||
|
date,
|
||
|
button,
|
||
|
vtmp
|
||
|
}
|