From 7a43e6518b94e4e2aa08b3b89c6f4868e4e16624 Mon Sep 17 00:00:00 2001 From: Rijk van Zanten Date: Fri, 27 Mar 2020 12:12:51 -0400 Subject: [PATCH] Add divider component (#252) --- src/components/v-divider/index.ts | 4 + src/components/v-divider/readme.md | 26 +++++++ src/components/v-divider/v-divider.story.ts | 84 +++++++++++++++++++++ src/components/v-divider/v-divider.test.ts | 14 ++++ src/components/v-divider/v-divider.vue | 61 +++++++++++++++ 5 files changed, 189 insertions(+) create mode 100644 src/components/v-divider/index.ts create mode 100644 src/components/v-divider/readme.md create mode 100644 src/components/v-divider/v-divider.story.ts create mode 100644 src/components/v-divider/v-divider.test.ts create mode 100644 src/components/v-divider/v-divider.vue diff --git a/src/components/v-divider/index.ts b/src/components/v-divider/index.ts new file mode 100644 index 0000000000..b462504cae --- /dev/null +++ b/src/components/v-divider/index.ts @@ -0,0 +1,4 @@ +import VDivider from './v-divider.vue'; + +export { VDivider }; +export default VDivider; diff --git a/src/components/v-divider/readme.md b/src/components/v-divider/readme.md new file mode 100644 index 0000000000..3463574495 --- /dev/null +++ b/src/components/v-divider/readme.md @@ -0,0 +1,26 @@ +# Divider + +Divides content. Made to be used in `v-list` or `v-tabs` components. + +## Usage + +```html + +``` + +## Props +| Prop | Description | Default | +|------------|-----------------------------------------------------|---------| +| `vertical` | Render the divider vertically | `false` | +| `inset` | Insets the divider to align with the (list) content | `false` | + +## Events +n/a + +## Slots +n/a + +## CSS Variables +| Variable | Default | +|---------------------|-------------------------------------| +| `--v-divider-color` | `var(--foreground-color-tertiary)` | diff --git a/src/components/v-divider/v-divider.story.ts b/src/components/v-divider/v-divider.story.ts new file mode 100644 index 0000000000..cc5642cd66 --- /dev/null +++ b/src/components/v-divider/v-divider.story.ts @@ -0,0 +1,84 @@ +import VDivider from './v-divider.vue'; +import readme from './readme.md'; +import withPadding from '../../../.storybook/decorators/with-padding'; +import { withKnobs, boolean } from '@storybook/addon-knobs'; +import { defineComponent } from '@vue/composition-api'; +import VList, { + VListItem, + VListItemContent, + VListItemTitle, + VListItemIcon, +} from '@/components/v-list'; +import VIcon from '@/components/v-icon/'; + +export default { + title: 'Components / Divider', + parameters: { + notes: readme, + }, + decorators: [withPadding, withKnobs], +}; + +export const basic = () => + defineComponent({ + components: { VDivider }, + props: { + vertical: { + default: boolean('Vertical', false), + }, + inset: { + default: boolean('Inset', false), + }, + }, + template: ` + + `, + }); + +export const inList = () => + defineComponent({ + components: { + VDivider, + VList, + VListItem, + VListItemContent, + VListItemIcon, + VListItemTitle, + VIcon, + }, + props: { + inset: { + default: boolean('Inset', false), + }, + }, + template: ` + + + + + + Item {{ n }} + + + + + + + + + Item {{ n + 3 }} + + + + + + + + + Item {{ n + 4 }} + + + + + `, + }); diff --git a/src/components/v-divider/v-divider.test.ts b/src/components/v-divider/v-divider.test.ts new file mode 100644 index 0000000000..90b3e67b08 --- /dev/null +++ b/src/components/v-divider/v-divider.test.ts @@ -0,0 +1,14 @@ +import { shallowMount, createLocalVue } from '@vue/test-utils'; +import VueCompositionAPI from '@vue/composition-api'; + +import VDivider from './v-divider.vue'; + +const localVue = createLocalVue(); +localVue.use(VueCompositionAPI); + +describe('Components / Divider', () => { + it('Renders', () => { + const component = shallowMount(VDivider, { localVue }); + expect(component.isVueInstance()).toBe(true); + }); +}); diff --git a/src/components/v-divider/v-divider.vue b/src/components/v-divider/v-divider.vue new file mode 100644 index 0000000000..bfd9b98ab5 --- /dev/null +++ b/src/components/v-divider/v-divider.vue @@ -0,0 +1,61 @@ + + + + +