Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
146 changes: 0 additions & 146 deletions packages/ui/src/components/va-icon/VaIcon.demo.vue

This file was deleted.

110 changes: 106 additions & 4 deletions packages/ui/src/components/va-icon/VaIcon.stories.ts
Original file line number Diff line number Diff line change
@@ -1,12 +1,114 @@
import { defineComponent } from 'vue'
import VaIcon from './VaIcon.demo.vue'
import VaIconVue from './demo/VaIconVue.vue'
import { VaIcon } from './'

export default {
title: 'VaIcon',
component: VaIcon,
tags: ['autodocs'],
}

export const Default = defineComponent({
export const Default = () => ({
components: { VaIcon },
template: '<VaIcon/>',
template: `
<div class="flex flex-col">
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Default should be just <VaIcon name="book">.

Let's move font-awesome / ionic to "icon fonts" story

[default]
<VaIcon name="book" />
[Font Awesome]
<VaIcon name="fas-book" />
[Ionic]
<VaIcon name="ion-book" />
</div>
`,
})

export const Color = () => ({
components: { VaIcon },
template: `
<VaIcon name="book" color="warning" />
`,
})

export const Component = () => ({
components: { VaIcon },
setup: () => ({ component: VaIconVue }),
template: `
<VaIcon :component="component" />
`,
})

export const Flip = () => ({
components: { VaIcon },
template: `
<div class="flex flex-col items-start">
[default]
<VaIcon name="book" />
[horizontal]
<VaIcon name="book" flip="horizontal" />
[vertical]
<VaIcon name="book" flip="vertical" />
[both]
<VaIcon name="book" flip="both" />
</div>
`,
})

export const Size = () => ({
components: { VaIcon },
template: `
<div class="flex flex-col">
[default]
<VaIcon name="book" />
[small]
<VaIcon name="book" size="small" />
[large]
<VaIcon name="book" size="large" />
[28px]
<VaIcon name="book" size="28px" />
</div>
`,
})

export const sizesConfig = () => ({
components: { VaIcon },
setup: () => ({ sizesConfig: { defaultSize: 10, sizes: { small: 5, medium: 10, large: 15 } } }),
template: `
<div class="flex flex-col">
[default: 10px]
<VaIcon name="book" :sizesConfig="sizesConfig" />
[small: 5px]
<VaIcon name="book" size="small" :sizesConfig="sizesConfig" />
[large: 15px]
<VaIcon name="book" size="large" :sizesConfig="sizesConfig" />
</div>
`,
})

export const Rotation = () => ({
components: { VaIcon },
template: `
<VaIcon name="book" rotation="45" />
`,
})

export const Spin = () => ({
components: { VaIcon },
template: `
<VaIcon name="book" spin />
`,
})

export const DefaultSlot = () => ({
components: { VaIcon },
template: `
<div class="flex flex-col">
[default]
<VaIcon>
book
</VaIcon>
[class="material-icons"]
<VaIcon class="material-icons">
book
</VaIcon>
</div>
`,
})