@gitlab/ui
Version:
GitLab UI Components
99 lines (94 loc) • 2.13 kB
JavaScript
import { withKnobs } from '@storybook/addon-knobs';
import { documentedStoriesOf } from '../../../../documentation/documented_stories';
import { GlButton } from '../../../../index';
import readme from './drawer.md';
import GlDrawer from './drawer.vue';
const components = {
GlDrawer,
GlButton,
};
const drawerContent = [
'One',
'Two',
'Three',
'Four',
'Five',
'Six',
'Seven',
'Eight',
'Nine',
'Ten',
]
.map(
(str) => `
<div>
<label class="gl-font-weight-bold">${str}</label>
<div>None</div>
</div>
`
)
.join('');
const getStory = (template) => ({
methods: {
toggle() {
this.open = !this.open;
},
close() {
this.open = false;
},
},
data() {
return {
open: true,
};
},
components,
template,
});
documentedStoriesOf('base/drawer', readme)
.addDecorator(withKnobs)
.add('default', () =>
getStory(`
<div>
<gl-button ="toggle">Toggle Drawer</gl-button>
<gl-drawer :open="open" ="close">
<template #title>List Settings</template>
${drawerContent}
</gl-drawer>
</div>`)
)
.add('with actions', () =>
getStory(`
<div>
<gl-button ="toggle">Toggle Drawer</gl-button>
<gl-drawer :open="open" ="close">
<template #title>
<h3>custom-network-policy</h3>
</template>
<template #header>
<div class="gl-mt-5">
<gl-button variant="confirm">Save</gl-button>
<gl-button class="gl-ml-3" ="toggle">Cancel</gl-button>
</div>
</template>
${drawerContent}
</gl-drawer>
</div>`)
)
.add('sidebar variant', () =>
getStory(`
<div>
<gl-button ="toggle">Toggle Drawer</gl-button>
<gl-drawer :open="open" ="close" variant="sidebar">
<template #title>
<h3>Sidebar</h3>
</template>
<template #header>
<div class="gl-mt-5">
<gl-button>Action</gl-button>
</div>
</template>
${drawerContent}
</gl-drawer>
</div>`)
);