feat: vp-raw

This commit is contained in:
Alexandr
2022-07-05 18:12:59 +03:00
parent d564fb0cbf
commit 917c21cc84
37 changed files with 190 additions and 48 deletions

18
docs/.postcssrc.js Normal file
View File

@@ -0,0 +1,18 @@
// https://github.com/vuejs/vitepress/issues/199#issuecomment-1168325262
// by default vitepress adds .vp-doc h1|h2|h3...p and others tags inside vitepress document.
// here we add :not(:where(.vp-raw *)) selector to use it inside component examples
// to prevent component style pollution from .vp-doc styles
module.exports = {
plugins: {
'tailwindcss': {},
'postcss-prefix-selector': {
prefix: ':not(:where(.vp-raw *))',
includeFiles: [/vp-doc\.css/],
transform(prefix, _selector) {
const [selector, pseudo = ''] = _selector.split(/(:\S*)$/)
return selector + prefix + pseudo
}
},
}
}

View File

@@ -20,6 +20,7 @@ function getComponents() {
{ text: 'Button', link: '/guide/button/button.md' },
{ text: 'Button Group', link: '/guide/buttonGroup/buttonGroup.md' },
{ text: 'Spinner', link: '/guide/spinner/spinner.md' },
{ text: 'Tabs', link: '/guide/tabs/tabs.md' },
]
}
@@ -28,7 +29,7 @@ function getComponents() {
* https://github.com/vuejs/vitepress/blob/master/docs/.vitepress/config.js
*/
export default {
title: 'flowbite-vue vitepress',
title: 'Flowbite Vue 3 Components',
themeConfig: {
docsDir: 'docs',
sidebar: buildSidebar(),

View File

@@ -1,5 +1,5 @@
<template>
<div class="flex flex-col">
<div class="vp-raw flex flex-col">
<Alert type="info" border class="mb-2">Info</Alert>
<Alert type="warning" border class="mb-2">Warning</Alert>
<Alert type="danger" border class="mb-2">Danger</Alert>

View File

@@ -1,5 +1,5 @@
<template>
<div class="flex flex-col">
<div class="vp-raw flex flex-col">
<Alert type="info" closable class="mb-2">Info</Alert>
<Alert type="warning" closable class="mb-2">Warning</Alert>
<Alert type="danger" closable class="mb-2">Danger</Alert>

View File

@@ -1,5 +1,5 @@
<template>
<div class="flex flex-col">
<div class="vp-raw flex flex-col">
<Alert type="info" :icon="false" class="mb-2">Info</Alert>
<Alert title="WARNING" type="warning" :icon="false" class="mb-2">Warning</Alert>
<Alert type="danger" :icon="false" class="mb-2">Danger</Alert>

View File

@@ -1,5 +1,5 @@
<template>
<div class="flex flex-col">
<div class="vp-raw flex flex-col">
<Alert type="info" title="Info title" :inline="false" class="mb-2">
Lorem ipsum dolor sit amet, consectetur adipisicing elit. Assumenda beatae eaque error est eveniet, facere illo labore libero minima molestiae neque nisi non officia quod sed temporibus unde vitae voluptates.
</Alert>

View File

@@ -1,5 +1,5 @@
<template>
<div class="flex flex-col">
<div class="vp-raw flex flex-col">
<Alert type="info" title="Some info title" class="mb-2">Info</Alert>
<Alert type="warning" title="Some warning title" class="mb-2">Warning</Alert>
<Alert type="danger" title="Some danger title" class="mb-2">Danger</Alert>

View File

@@ -1,5 +1,5 @@
<template>
<div class="flex flex-col">
<div class="vp-raw flex flex-col">
<Alert type="info" class="mb-2">Info</Alert>
<Alert type="warning" class="mb-2">Warning</Alert>
<Alert type="danger" class="mb-2">Danger</Alert>

View File

@@ -1,5 +1,5 @@
<template>
<div class="inline-flex align-center gap-2 flex-wrap">
<div class="vp-raw inline-flex align-center gap-2 flex-wrap">
<Button color="default">Default</Button>
<Button color="alternative">Alternative</Button>
<Button color="dark">Dark</Button>

View File

@@ -1,5 +1,5 @@
<template>
<div class="inline-flex align-center gap-2 flex-wrap">
<div class="vp-raw inline-flex align-center gap-2 flex-wrap">
<Button color="default" disabled>Default</Button>
<Button color="default" outline disabled>Default outline</Button>
<Button gradient="red" disabled>Red gradient</Button>

View File

@@ -1,5 +1,5 @@
<template>
<div class="inline-flex align-center gap-2 flex-wrap">
<div class="vp-raw inline-flex align-center gap-2 flex-wrap">
<Button gradient="purple-blue">Purple to blue</Button>
<Button gradient="cyan-blue">Cyan to blue</Button>
<Button gradient="green-blue">Green to blue</Button>

View File

@@ -1,5 +1,5 @@
<template>
<div class="inline-flex align-center gap-2 flex-wrap">
<div class="vp-raw inline-flex align-center gap-2 flex-wrap">
<Button gradient="blue">Blue</Button>
<Button gradient="cyan">Cyan</Button>
<Button gradient="green">Green</Button>

View File

@@ -1,5 +1,5 @@
<template>
<div class="inline-flex align-center gap-2 flex-wrap">
<div class="vp-raw inline-flex align-center gap-2 flex-wrap">
<Button gradient="blue" shadow>Blue with blue</Button>
<Button gradient="cyan" shadow>Cyan with cyan</Button>
<Button gradient="green" shadow>Green with green</Button>

View File

@@ -1,5 +1,5 @@
<template>
<div class="inline-flex align-center gap-2 flex-wrap">
<div class="vp-raw inline-flex align-center gap-2 flex-wrap">
<Button gradient="purple-blue" square>
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg>
</Button>

View File

@@ -1,5 +1,5 @@
<template>
<div class="inline-flex items-center gap-2 flex-wrap">
<div class="vp-raw inline-flex items-center gap-2 flex-wrap">
<Button gradient="purple-blue" outline :disabled="loading" :loading="loading" @click="loading = !loading" size="xs">
Click me
</Button>

View File

@@ -1,5 +1,5 @@
<template>
<div class="inline-flex align-center gap-2 flex-wrap">
<div class="vp-raw inline-flex align-center gap-2 flex-wrap">
<Button color="default" outline>Default</Button>
<Button color="dark" outline>Dark</Button>
<Button color="green" outline>Green</Button>

View File

@@ -1,5 +1,5 @@
<template>
<div class="inline-flex align-center gap-2 flex-wrap">
<div class="vp-raw inline-flex align-center gap-2 flex-wrap">
<Button gradient="purple-blue" outline>Purple to blue</Button>
<Button gradient="cyan-blue" outline>Cyan to blue</Button>
<Button gradient="green-blue" outline>Green to blue</Button>

View File

@@ -1,5 +1,5 @@
<template>
<div class="inline-flex align-center gap-2 flex-wrap">
<div class="vp-raw inline-flex align-center gap-2 flex-wrap">
<Button color="default" pill>Default</Button>
<Button color="alternative" pill>Alternative</Button>
<Button color="dark" pill>Dark</Button>

View File

@@ -1,5 +1,5 @@
<template>
<div class="inline-flex align-center gap-2 flex-wrap">
<div class="vp-raw inline-flex align-center gap-2 flex-wrap">
<Button color="default">
<template #prefix>
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path d="M3 1a1 1 0 000 2h1.22l.305 1.222a.997.997 0 00.01.042l1.358 5.43-.893.892C3.74 11.846 4.632 14 6.414 14H15a1 1 0 000-2H6.414l1-1H14a1 1 0 00.894-.553l3-6A1 1 0 0017 3H6.28l-.31-1.243A1 1 0 005 1H3zM16 16.5a1.5 1.5 0 11-3 0 1.5 1.5 0 013 0zM6.5 18a1.5 1.5 0 100-3 1.5 1.5 0 000 3z"></path></svg>

View File

@@ -1,5 +1,5 @@
<template>
<div class="inline-flex items-center gap-2 flex-wrap">
<div class="vp-raw inline-flex items-center gap-2 flex-wrap">
<Button size="xs">Extra small - xs</Button>
<Button size="sm">Small - sm</Button>
<Button size="md">Medium - md</Button>

View File

@@ -1,5 +1,5 @@
<template>
<div class="inline-flex align-center gap-2 flex-wrap">
<div class="vp-raw inline-flex align-center gap-2 flex-wrap">
<Button gradient="red-yellow" square>
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg>
</Button>

View File

@@ -1,5 +1,5 @@
<template>
<div class="inline-flex align-center gap-2 flex-wrap">
<div class="vp-raw inline-flex align-center gap-2 flex-wrap">
<Button color="default">
Choose plan
<template #suffix>

View File

@@ -1,10 +1,12 @@
<template>
<button-group>
<Button>hello world</Button>
<Button color="purple">hello world</Button>
<Button color="alternative">hello world</Button>
<Button color="red">hello world</Button>
</button-group>
<div class="vp-raw">
<button-group>
<Button>hello world</Button>
<Button color="purple">hello world</Button>
<Button color="alternative">hello world</Button>
<Button color="red">hello world</Button>
</button-group>
</div>
</template>
<script setup>
import { ButtonGroup, Button } from '../../../../src/index'

View File

@@ -1,15 +1,17 @@
<template>
<button-group>
<Button outline>Button1</Button>
<Button outline>Button2</Button>
<Button outline>Button3</Button>
<Button outline>
hello world
<template #suffix>
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg>
</template>
</Button>
</button-group>
<div class="vp-raw">
<button-group>
<Button outline>Button1</Button>
<Button outline>Button2</Button>
<Button outline>Button3</Button>
<Button outline>
hello world
<template #suffix>
<svg class="w-5 h-5" fill="currentColor" viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" d="M10.293 3.293a1 1 0 011.414 0l6 6a1 1 0 010 1.414l-6 6a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-4.293-4.293a1 1 0 010-1.414z" clip-rule="evenodd"></path></svg>
</template>
</Button>
</button-group>
</div>
</template>
<script setup>
import { ButtonGroup, Button } from '../../../../src/index'

View File

@@ -1,5 +1,5 @@
<template>
<div class="inline-flex align-center gap-2 flex-wrap">
<div class="vp-raw inline-flex align-center gap-2 flex-wrap">
<spinner />
</div>
</template>

View File

@@ -1,5 +1,5 @@
<template>
<div class="inline-flex align-center gap-2 flex-wrap">
<div class="vp-raw inline-flex align-center gap-2 flex-wrap">
<spinner color="blue" size="6" />
<spinner color="pink" size="8" />
<spinner color="gray" size="10" />

View File

@@ -1,5 +1,5 @@
<template>
<div class="inline-flex align-center gap-2 flex-wrap">
<div class="vp-raw inline-flex align-center gap-2 flex-wrap">
<spinner />
<spinner size="6" />
<spinner size="8" />

View File

@@ -0,0 +1,8 @@
<template>
<div class="vp-raw">
<tabs />
</div>
</template>
<script setup>
import { Tabs } from '../../../../src/index'
</script>

5
docs/guide/tabs/tabs.md Normal file
View File

@@ -0,0 +1,5 @@
<script setup>
import TabsDefaultExample from './examples/TabsDefaultExample.vue';
</script>
<TabsDefaultExample />