daisy-ui-kit 0.4.4 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -71
- package/components/Button.vue +0 -7
- package/components/DemoExample.vue +1 -1
- package/components/Home/AlternatingFeatureSections.vue +15 -6
- package/components/Home/{StatsSection.vue → BitoviConsulting.vue} +11 -9
- package/components/Home/BitoviOpenSource.vue +51 -0
- package/components/Home/Footer.vue +86 -164
- package/components/Home/GradientFeatureSections.vue +19 -21
- package/components/Home/Header.vue +53 -117
- package/components/Home/Hero.vue +10 -9
- package/components/Home/{CTA.vue → PremiumCTA.vue} +4 -3
- package/components/Logo.vue +4 -4
- package/components/MobileSidebar.vue +2 -3
- package/components/Sidebar.vue +1 -1
- package/components/theme/Picker.vue +24 -15
- package/nuxt.js +14 -0
- package/package.json +5 -3
- package/components/Home/LogoCloud.vue +0 -49
package/README.md
CHANGED
|
@@ -1,80 +1,26 @@
|
|
|
1
|
-
|
|
2
|
-
<img src="https://user-images.githubusercontent.com/11247099/140462375-7b7ac4db-35b7-453c-8a05-13d8d20282c4.png" width="600"/>
|
|
3
|
-
</p>
|
|
1
|
+
# DaisyUI Kit
|
|
4
2
|
|
|
5
|
-
|
|
6
|
-
<a href="https://github.com/antfu/vitesse">Vitesse</a> for Nuxt 3
|
|
7
|
-
</h2><br>
|
|
3
|
+
The complete set of DaisyUI components for VueJS and NuxtJS.
|
|
8
4
|
|
|
9
|
-
|
|
10
|
-
🧪 Working in Progress
|
|
11
|
-
</pre>
|
|
5
|
+
## Publishing to Cloudflare Workers
|
|
12
6
|
|
|
13
|
-
|
|
14
|
-
<br>
|
|
15
|
-
<a href="https://vitesse-nuxt3.netlify.app/">🖥 Online Preview</a>
|
|
16
|
-
<br><br>
|
|
17
|
-
<a href="https://stackblitz.com/github/antfu/vitesse-nuxt3"><img src="https://developer.stackblitz.com/img/open_in_stackblitz.svg" alt=""></a>
|
|
18
|
-
</p>
|
|
7
|
+
First, you'll need to have the old version of Cloudflare Wrangler installed. (Nitro doesn't have a preset for Cloudflare Worker Modules format, yet.)
|
|
19
8
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
- ⚡️ Vite - Instant HMR
|
|
25
|
-
|
|
26
|
-
- 🎨 [UnoCSS](https://github.com/antfu/unocss) - The instant on-demand atomic CSS engine.
|
|
27
|
-
|
|
28
|
-
- 😃 Use icons from any icon sets in Pure CSS, powered by [UnoCSS](https://github.com/antfu/unocss)
|
|
29
|
-
|
|
30
|
-
- 🔥 The `<script setup>` syntax
|
|
31
|
-
|
|
32
|
-
- 🍍 [State Management via Pinia](https://pinia.esm.dev), see [./composables/user.ts](./composables/user.ts)
|
|
33
|
-
|
|
34
|
-
- 📑 [Layout system](./layouts)
|
|
35
|
-
|
|
36
|
-
- 📥 APIs auto importing - for Composition API, VueUse and custom composables.
|
|
37
|
-
|
|
38
|
-
- 🏎 Zero-config cloud functions and deploy
|
|
39
|
-
|
|
40
|
-
- 🦾 TypeScript, of course
|
|
41
|
-
|
|
42
|
-
## Plugins
|
|
43
|
-
|
|
44
|
-
### Nuxt Modules
|
|
45
|
-
|
|
46
|
-
- [VueUse](https://github.com/vueuse/vueuse) - collection of useful composition APIs.
|
|
47
|
-
- [ColorMode](https://github.com/nuxt-community/color-mode-module) - dark and Light mode with auto detection made easy with Nuxt.
|
|
48
|
-
- [UnoCSS](https://github.com/antfu/unocss) - the instant on-demand atomic CSS engine.
|
|
49
|
-
- [Pinia](https://pinia.esm.dev/) - intuitive, type safe, light and flexible Store for Vue.
|
|
50
|
-
|
|
51
|
-
## IDE
|
|
52
|
-
|
|
53
|
-
We recommend using [VS Code](https://code.visualstudio.com/) with [Volar](https://github.com/johnsoncodehk/volar) to get the best experience (You might want to disable Vetur if you have it).
|
|
54
|
-
|
|
55
|
-
## Variations
|
|
56
|
-
|
|
57
|
-
- [vitesse](https://github.com/antfu/vitesse) - Opinionated Vite Starter Template
|
|
58
|
-
- [vitesse-lite](https://github.com/antfu/vitesse-lite) - Lightweight version of Vitesse
|
|
59
|
-
- [vitesse-nuxt-bridge](https://github.com/antfu/vitesse-nuxt-bridge) - Vitesse for Nuxt 2 with Bridge
|
|
60
|
-
- [vitesse-webext](https://github.com/antfu/vitesse-webext) - WebExtension Vite starter template
|
|
61
|
-
|
|
62
|
-
## Try it now!
|
|
63
|
-
|
|
64
|
-
### Online
|
|
65
|
-
|
|
66
|
-
<a href="https://stackblitz.com/github/antfu/vitesse-nuxt3"><img src="https://developer.stackblitz.com/img/open_in_stackblitz.svg" alt=""></a>
|
|
67
|
-
|
|
68
|
-
### GitHub Template
|
|
69
|
-
|
|
70
|
-
[Create a repo from this template on GitHub](https://github.com/antfu/vitesse-nuxt3/generate).
|
|
9
|
+
```bash
|
|
10
|
+
# Remove the new version of wrangler if you have it installed.
|
|
11
|
+
npm remove wrangler -g
|
|
71
12
|
|
|
72
|
-
|
|
13
|
+
# Install the old version of wrangler then login.
|
|
14
|
+
npm i @cloudflare/wrangler -g
|
|
15
|
+
wrangler login
|
|
16
|
+
```
|
|
73
17
|
|
|
74
|
-
|
|
18
|
+
After your git working directory is clean, run the following:
|
|
75
19
|
|
|
76
20
|
```bash
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
21
|
+
# First, run a successful build.
|
|
22
|
+
NITRO_PRESET=cloudflare npm run build
|
|
23
|
+
|
|
24
|
+
# Then publish
|
|
25
|
+
wrangler publish
|
|
80
26
|
```
|
package/components/Button.vue
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { computed } from 'vue'
|
|
3
|
-
import { makeIndividualClass } from './Button.config'
|
|
4
3
|
|
|
5
4
|
interface Props {
|
|
6
5
|
is?: string
|
|
@@ -91,12 +90,6 @@ const disabledAttrs = computed(() => {
|
|
|
91
90
|
return {}
|
|
92
91
|
}
|
|
93
92
|
})
|
|
94
|
-
const disabledClass = makeIndividualClass({ props, prop: 'disabled', prefix: 'btn-' })
|
|
95
|
-
const wideClass = makeIndividualClass({ props, prop: 'wide', prefix: 'btn-' })
|
|
96
|
-
const blockClass = makeIndividualClass({ props, prop: 'block', prefix: 'btn-' })
|
|
97
|
-
const loadingClass = makeIndividualClass({ props, prop: 'loading', prefix: '' })
|
|
98
|
-
const noAnimationClass = makeIndividualClass({ props, prop: 'no-animation', prefix: '' })
|
|
99
|
-
const activeClass = makeIndividualClass({ props, prop: 'active', prefix: 'btn-' })
|
|
100
93
|
</script>
|
|
101
94
|
|
|
102
95
|
<template>
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
2
|
import { HeartIcon, SparklesIcon } from '@heroicons/vue/outline'
|
|
3
|
+
import IconArrowUp from '~icons/heroicons-solid/arrow-up'
|
|
4
|
+
import IconArrowDown from '~icons/heroicons-solid/arrow-down'
|
|
3
5
|
import IconInfo from '~icons/feather/info'
|
|
4
6
|
|
|
5
7
|
const isChecked = ref(true)
|
|
@@ -29,7 +31,7 @@ const favoriteColor = ref('')
|
|
|
29
31
|
Tailwind classes can get messy. DaisyUI Kit helps you declutter your code. It's clean, scalable Tailwind.
|
|
30
32
|
</Text>
|
|
31
33
|
|
|
32
|
-
<NuxtLink to="/
|
|
34
|
+
<NuxtLink to="/install">
|
|
33
35
|
<Button primary class="mt-6 bg-gradient-primary-r">
|
|
34
36
|
Get started
|
|
35
37
|
</Button>
|
|
@@ -44,10 +46,12 @@ const favoriteColor = ref('')
|
|
|
44
46
|
<div class="py-16 pl-4 -mr-48 sm:pl-6 md:-mr-16 lg:px-0 lg:m-0 lg:relative lg:h-full">
|
|
45
47
|
<Flex grow class="w-[800px] mx-auto shadow-lg mockup-code">
|
|
46
48
|
<pre><code>
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
49
|
+
<span class="text-gray-400"><!-- 👍 Write this --></span>
|
|
50
|
+
<<span class="text-orange-400">Button</span> <span class="text-purple-400">primary</span>>
|
|
51
|
+
Get Started
|
|
52
|
+
</<span class="text-orange-400">Button</span>></code>
|
|
50
53
|
|
|
54
|
+
<span class="text-gray-400"><!-- 👎 Avoid this --></span>
|
|
51
55
|
<<span class="text-green-400">button</span> <span class="text-purple-400">class</span>="<span class="text-amber-400">inline-block px-4 py-3</span>
|
|
52
56
|
<span class="text-amber-400">text-sm font-semibold text-center</span>
|
|
53
57
|
<span class="text-amber-400">text-white uppercase transition</span>
|
|
@@ -83,7 +87,12 @@ const favoriteColor = ref('')
|
|
|
83
87
|
Beautiful Components
|
|
84
88
|
</Text>
|
|
85
89
|
<Text block lg class="mt-4 text-base-content/60">
|
|
86
|
-
DaisyUI Kit's components are powered by the beautiful CSS of
|
|
90
|
+
DaisyUI Kit's components are powered by the beautiful CSS of
|
|
91
|
+
<NuxtLink target="blank" to="https://www.daisyui.com">
|
|
92
|
+
<Link is="span">
|
|
93
|
+
DaisyUI
|
|
94
|
+
</Link>
|
|
95
|
+
</NuxtLink>. Our components are built with
|
|
87
96
|
just the right amount of elegant TypeScript under the hood.
|
|
88
97
|
</Text>
|
|
89
98
|
|
|
@@ -98,7 +107,7 @@ const favoriteColor = ref('')
|
|
|
98
107
|
<div class="absolute inset-0 pr-4 -ml-48 sm:pr-6 md:-ml-16 lg:px-0 lg:m-0 lg:relative lg:h-full">
|
|
99
108
|
<img
|
|
100
109
|
class="w-full shadow-xl rounded-xl ring-1 ring-black ring-opacity-5 lg:absolute lg:right-0 lg:h-full lg:w-auto lg:max-w-none"
|
|
101
|
-
src="
|
|
110
|
+
src="/img/unsplash-forest-sm.jpeg"
|
|
102
111
|
alt="Customer profile user interface"
|
|
103
112
|
>
|
|
104
113
|
</div>
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
<div class="h-full xl:relative xl:col-start-2">
|
|
7
7
|
<img
|
|
8
8
|
class="object-cover w-full h-full opacity-25 xl:absolute xl:inset-0"
|
|
9
|
-
src="
|
|
9
|
+
src="/img/unsplash-dev-group-sm.jpeg"
|
|
10
10
|
alt="People working on laptops"
|
|
11
11
|
>
|
|
12
12
|
<div
|
|
@@ -16,6 +16,7 @@
|
|
|
16
16
|
</div>
|
|
17
17
|
</div>
|
|
18
18
|
</div>
|
|
19
|
+
|
|
19
20
|
<div
|
|
20
21
|
class="max-w-4xl px-4 mx-auto sm:px-6 lg:max-w-7xl lg:px-8 xl:grid xl:grid-cols-2 xl:grid-flow-col-dense xl:gap-x-8"
|
|
21
22
|
>
|
|
@@ -30,16 +31,17 @@
|
|
|
30
31
|
>
|
|
31
32
|
Let the experts build it for you
|
|
32
33
|
</Text>
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
34
|
+
|
|
35
|
+
<Text is="p" lg class="mt-5 text-gray-300">
|
|
36
|
+
Bitovi has over 15 years of experience helping every type of business.
|
|
37
|
+
From the smallest startups to the largest Fortune 100 companies, we can
|
|
38
|
+
either be your team or get your team trained quickly to build scalable,
|
|
39
|
+
beautiful applications. Take a look at our track record and get in touch
|
|
40
|
+
when you're ready.
|
|
41
|
+
</Text>
|
|
40
42
|
|
|
41
43
|
<Flex class="mt-6 space-x-4">
|
|
42
|
-
<NuxtLink to="https://bitovi.com" target="blank">
|
|
44
|
+
<NuxtLink to="https://www.bitovi.com" target="blank">
|
|
43
45
|
<Button secondary lg>
|
|
44
46
|
Visit Bitovi.com
|
|
45
47
|
</Button>
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
<template>
|
|
2
|
+
<!-- Logo Cloud -->
|
|
3
|
+
<div class="bg-base-200">
|
|
4
|
+
<div class="px-4 py-16 mx-auto max-w-7xl sm:px-6 lg:px-8">
|
|
5
|
+
<Flex items-center justify-center class="flex-col gap-4 sm:flex-row">
|
|
6
|
+
<Text is="h3" uppercase semibold center lg class="tracking-wide text-base-content/80">
|
|
7
|
+
Another Open-Source Gift by
|
|
8
|
+
</Text>
|
|
9
|
+
<NuxtLink target="blank" to="https://www.bitovi.com" class="-mt-4">
|
|
10
|
+
<img src="/logos/bitovi-red.png" class="h-[40px]">
|
|
11
|
+
</NuxtLink>
|
|
12
|
+
</Flex>
|
|
13
|
+
|
|
14
|
+
<Flex items-center justify-center class="mt-4 mb-4" />
|
|
15
|
+
|
|
16
|
+
<Text is="p" center lg semibold>
|
|
17
|
+
DaisyUI Kit joins the ranks of other professional-quality open-source projects.
|
|
18
|
+
</Text>
|
|
19
|
+
|
|
20
|
+
<div class="grid grid-cols-1 lg:grid-cols-3">
|
|
21
|
+
<Flex items-center justify-center class="py-6 lg:py-10 bg-gradient-radial from-white/20 via-transparent to-transparent">
|
|
22
|
+
<NuxtLink target="blank" to="https://www.canjs.com">
|
|
23
|
+
<img
|
|
24
|
+
class="h-10 lg:h-16"
|
|
25
|
+
src="/logos/canjs.svg"
|
|
26
|
+
alt="CanJS is a Bitovi professional open-source project."
|
|
27
|
+
>
|
|
28
|
+
</NuxtLink>
|
|
29
|
+
</Flex>
|
|
30
|
+
<Flex items-center justify-center class="py-6 lg:py-10 bg-gradient-radial from-white/20 via-transparent to-transparent">
|
|
31
|
+
<NuxtLink target="blank" to="https://www.donejs.com">
|
|
32
|
+
<img
|
|
33
|
+
class="h-10 lg:h-16"
|
|
34
|
+
src="/logos/donejs.png"
|
|
35
|
+
alt="DoneJS is a Bitovi professional open-source project."
|
|
36
|
+
>
|
|
37
|
+
</NuxtLink>
|
|
38
|
+
</Flex>
|
|
39
|
+
<Flex items-center justify-center class="py-6 lg:py-10 bg-gradient-radial from-white/20 via-transparent to-transparent">
|
|
40
|
+
<NuxtLink target="blank" to="https://www.stealjs.com">
|
|
41
|
+
<img
|
|
42
|
+
class="h-10 lg:h-16"
|
|
43
|
+
src="/logos/stealjs.svg"
|
|
44
|
+
alt="StealJS is a Bitovi professional open-source project."
|
|
45
|
+
>
|
|
46
|
+
</NuxtLink>
|
|
47
|
+
</Flex>
|
|
48
|
+
</div>
|
|
49
|
+
</div>
|
|
50
|
+
</div>
|
|
51
|
+
</template>
|
|
@@ -1,104 +1,45 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
+
import IconFacebook from '~icons/ion/logo-facebook'
|
|
3
|
+
import IconDribbble from '~icons/ph/dribbble-logo-fill'
|
|
4
|
+
import IconInstagram from '~icons/ri/instagram-fill'
|
|
5
|
+
import IconTwitter from '~icons/fe/twitter'
|
|
6
|
+
import IconGithub from '~icons/fe/github'
|
|
7
|
+
|
|
2
8
|
const footerNavigation = {
|
|
3
9
|
solutions: [
|
|
4
|
-
{ name: '
|
|
5
|
-
{ name: '
|
|
6
|
-
{ name: 'Commerce', href: '#' },
|
|
7
|
-
{ name: 'Insights', href: '#' },
|
|
10
|
+
{ name: 'Install', to: 'install' },
|
|
11
|
+
{ name: 'Components', to: 'daisy-button' },
|
|
8
12
|
],
|
|
9
13
|
support: [
|
|
10
|
-
{ name: '
|
|
11
|
-
{ name: 'Documentation',
|
|
12
|
-
{ name: '
|
|
13
|
-
{ name: 'API Status', href: '#' },
|
|
14
|
-
],
|
|
15
|
-
company: [
|
|
16
|
-
{ name: 'About', href: '#' },
|
|
17
|
-
{ name: 'Blog', href: '#' },
|
|
18
|
-
{ name: 'Jobs', href: '#' },
|
|
19
|
-
{ name: 'Press', href: '#' },
|
|
20
|
-
{ name: 'Partners', href: '#' },
|
|
21
|
-
],
|
|
22
|
-
legal: [
|
|
23
|
-
{ name: 'Claim', href: '#' },
|
|
24
|
-
{ name: 'Privacy', href: '#' },
|
|
25
|
-
{ name: 'Terms', href: '#' },
|
|
26
|
-
],
|
|
27
|
-
social: [
|
|
28
|
-
{
|
|
29
|
-
name: 'Facebook',
|
|
30
|
-
href: '#',
|
|
31
|
-
icon: defineComponent({
|
|
32
|
-
render: () =>
|
|
33
|
-
h('svg', { fill: 'currentColor', viewBox: '0 0 24 24' }, [
|
|
34
|
-
h('path', {
|
|
35
|
-
'fill-rule': 'evenodd',
|
|
36
|
-
'd': 'M22 12c0-5.523-4.477-10-10-10S2 6.477 2 12c0 4.991 3.657 9.128 8.438 9.878v-6.987h-2.54V12h2.54V9.797c0-2.506 1.492-3.89 3.777-3.89 1.094 0 2.238.195 2.238.195v2.46h-1.26c-1.243 0-1.63.771-1.63 1.562V12h2.773l-.443 2.89h-2.33v6.988C18.343 21.128 22 16.991 22 12z',
|
|
37
|
-
'clip-rule': 'evenodd',
|
|
38
|
-
}),
|
|
39
|
-
]),
|
|
40
|
-
}),
|
|
41
|
-
},
|
|
42
|
-
{
|
|
43
|
-
name: 'Instagram',
|
|
44
|
-
href: '#',
|
|
45
|
-
icon: defineComponent({
|
|
46
|
-
render: () =>
|
|
47
|
-
h('svg', { fill: 'currentColor', viewBox: '0 0 24 24' }, [
|
|
48
|
-
h('path', {
|
|
49
|
-
'fill-rule': 'evenodd',
|
|
50
|
-
'd': 'M12.315 2c2.43 0 2.784.013 3.808.06 1.064.049 1.791.218 2.427.465a4.902 4.902 0 011.772 1.153 4.902 4.902 0 011.153 1.772c.247.636.416 1.363.465 2.427.048 1.067.06 1.407.06 4.123v.08c0 2.643-.012 2.987-.06 4.043-.049 1.064-.218 1.791-.465 2.427a4.902 4.902 0 01-1.153 1.772 4.902 4.902 0 01-1.772 1.153c-.636.247-1.363.416-2.427.465-1.067.048-1.407.06-4.123.06h-.08c-2.643 0-2.987-.012-4.043-.06-1.064-.049-1.791-.218-2.427-.465a4.902 4.902 0 01-1.772-1.153 4.902 4.902 0 01-1.153-1.772c-.247-.636-.416-1.363-.465-2.427-.047-1.024-.06-1.379-.06-3.808v-.63c0-2.43.013-2.784.06-3.808.049-1.064.218-1.791.465-2.427a4.902 4.902 0 011.153-1.772A4.902 4.902 0 015.45 2.525c.636-.247 1.363-.416 2.427-.465C8.901 2.013 9.256 2 11.685 2h.63zm-.081 1.802h-.468c-2.456 0-2.784.011-3.807.058-.975.045-1.504.207-1.857.344-.467.182-.8.398-1.15.748-.35.35-.566.683-.748 1.15-.137.353-.3.882-.344 1.857-.047 1.023-.058 1.351-.058 3.807v.468c0 2.456.011 2.784.058 3.807.045.975.207 1.504.344 1.857.182.466.399.8.748 1.15.35.35.683.566 1.15.748.353.137.882.3 1.857.344 1.054.048 1.37.058 4.041.058h.08c2.597 0 2.917-.01 3.96-.058.976-.045 1.505-.207 1.858-.344.466-.182.8-.398 1.15-.748.35-.35.566-.683.748-1.15.137-.353.3-.882.344-1.857.048-1.055.058-1.37.058-4.041v-.08c0-2.597-.01-2.917-.058-3.96-.045-.976-.207-1.505-.344-1.858a3.097 3.097 0 00-.748-1.15 3.098 3.098 0 00-1.15-.748c-.353-.137-.882-.3-1.857-.344-1.023-.047-1.351-.058-3.807-.058zM12 6.865a5.135 5.135 0 110 10.27 5.135 5.135 0 010-10.27zm0 1.802a3.333 3.333 0 100 6.666 3.333 3.333 0 000-6.666zm5.338-3.205a1.2 1.2 0 110 2.4 1.2 1.2 0 010-2.4z',
|
|
51
|
-
'clip-rule': 'evenodd',
|
|
52
|
-
}),
|
|
53
|
-
]),
|
|
54
|
-
}),
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
name: 'Twitter',
|
|
58
|
-
href: '#',
|
|
59
|
-
icon: defineComponent({
|
|
60
|
-
render: () =>
|
|
61
|
-
h('svg', { fill: 'currentColor', viewBox: '0 0 24 24' }, [
|
|
62
|
-
h('path', {
|
|
63
|
-
d: 'M8.29 20.251c7.547 0 11.675-6.253 11.675-11.675 0-.178 0-.355-.012-.53A8.348 8.348 0 0022 5.92a8.19 8.19 0 01-2.357.646 4.118 4.118 0 001.804-2.27 8.224 8.224 0 01-2.605.996 4.107 4.107 0 00-6.993 3.743 11.65 11.65 0 01-8.457-4.287 4.106 4.106 0 001.27 5.477A4.072 4.072 0 012.8 9.713v.052a4.105 4.105 0 003.292 4.022 4.095 4.095 0 01-1.853.07 4.108 4.108 0 003.834 2.85A8.233 8.233 0 012 18.407a11.616 11.616 0 006.29 1.84',
|
|
64
|
-
}),
|
|
65
|
-
]),
|
|
66
|
-
}),
|
|
67
|
-
},
|
|
68
|
-
{
|
|
69
|
-
name: 'GitHub',
|
|
70
|
-
href: '#',
|
|
71
|
-
icon: defineComponent({
|
|
72
|
-
render: () =>
|
|
73
|
-
h('svg', { fill: 'currentColor', viewBox: '0 0 24 24' }, [
|
|
74
|
-
h('path', {
|
|
75
|
-
'fill-rule': 'evenodd',
|
|
76
|
-
'd': 'M12 2C6.477 2 2 6.484 2 12.017c0 4.425 2.865 8.18 6.839 9.504.5.092.682-.217.682-.483 0-.237-.008-.868-.013-1.703-2.782.605-3.369-1.343-3.369-1.343-.454-1.158-1.11-1.466-1.11-1.466-.908-.62.069-.608.069-.608 1.003.07 1.531 1.032 1.531 1.032.892 1.53 2.341 1.088 2.91.832.092-.647.35-1.088.636-1.338-2.22-.253-4.555-1.113-4.555-4.951 0-1.093.39-1.988 1.029-2.688-.103-.253-.446-1.272.098-2.65 0 0 .84-.27 2.75 1.026A9.564 9.564 0 0112 6.844c.85.004 1.705.115 2.504.337 1.909-1.296 2.747-1.027 2.747-1.027.546 1.379.202 2.398.1 2.651.64.7 1.028 1.595 1.028 2.688 0 3.848-2.339 4.695-4.566 4.943.359.309.678.92.678 1.855 0 1.338-.012 2.419-.012 2.747 0 .268.18.58.688.482A10.019 10.019 0 0022 12.017C22 6.484 17.522 2 12 2z',
|
|
77
|
-
'clip-rule': 'evenodd',
|
|
78
|
-
}),
|
|
79
|
-
]),
|
|
80
|
-
}),
|
|
81
|
-
},
|
|
82
|
-
{
|
|
83
|
-
name: 'Dribbble',
|
|
84
|
-
href: '#',
|
|
85
|
-
icon: defineComponent({
|
|
86
|
-
render: () =>
|
|
87
|
-
h('svg', { fill: 'currentColor', viewBox: '0 0 24 24' }, [
|
|
88
|
-
h('path', {
|
|
89
|
-
'fill-rule': 'evenodd',
|
|
90
|
-
'd': 'M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10c5.51 0 10-4.48 10-10S17.51 2 12 2zm6.605 4.61a8.502 8.502 0 011.93 5.314c-.281-.054-3.101-.629-5.943-.271-.065-.141-.12-.293-.184-.445a25.416 25.416 0 00-.564-1.236c3.145-1.28 4.577-3.124 4.761-3.362zM12 3.475c2.17 0 4.154.813 5.662 2.148-.152.216-1.443 1.941-4.48 3.08-1.399-2.57-2.95-4.675-3.189-5A8.687 8.687 0 0112 3.475zm-3.633.803a53.896 53.896 0 013.167 4.935c-3.992 1.063-7.517 1.04-7.896 1.04a8.581 8.581 0 014.729-5.975zM3.453 12.01v-.26c.37.01 4.512.065 8.775-1.215.25.477.477.965.694 1.453-.109.033-.228.065-.336.098-4.404 1.42-6.747 5.303-6.942 5.629a8.522 8.522 0 01-2.19-5.705zM12 20.547a8.482 8.482 0 01-5.239-1.8c.152-.315 1.888-3.656 6.703-5.337.022-.01.033-.01.054-.022a35.318 35.318 0 011.823 6.475 8.4 8.4 0 01-3.341.684zm4.761-1.465c-.086-.52-.542-3.015-1.659-6.084 2.679-.423 5.022.271 5.314.369a8.468 8.468 0 01-3.655 5.715z',
|
|
91
|
-
'clip-rule': 'evenodd',
|
|
92
|
-
}),
|
|
93
|
-
]),
|
|
94
|
-
}),
|
|
95
|
-
},
|
|
14
|
+
{ name: 'Consulting', to: 'https://www.bitovi.com', target: 'blank' },
|
|
15
|
+
{ name: 'Documentation', to: '#' },
|
|
16
|
+
{ name: 'Github Issues', to: '#' },
|
|
96
17
|
],
|
|
18
|
+
// company: [
|
|
19
|
+
// { name: 'About', to: '#' },
|
|
20
|
+
// { name: 'Blog', to: '#' },
|
|
21
|
+
// { name: 'Jobs', to: '#' },
|
|
22
|
+
// { name: 'Press', to: '#' },
|
|
23
|
+
// { name: 'Partners', to: '#' },
|
|
24
|
+
// ],
|
|
25
|
+
// legal: [
|
|
26
|
+
// { name: 'Claim', to: '#' },
|
|
27
|
+
// { name: 'Privacy', to: '#' },
|
|
28
|
+
// { name: 'Terms', to: '#' },
|
|
29
|
+
// ],
|
|
97
30
|
}
|
|
31
|
+
|
|
32
|
+
const social = [
|
|
33
|
+
// { name: 'Facebook', to: '#', icon: IconFacebook },
|
|
34
|
+
// { name: 'Instagram', to: '#', icon: IconInstagram },
|
|
35
|
+
{ name: 'Twitter', to: '#', icon: IconTwitter },
|
|
36
|
+
{ name: 'GitHub', to: '#', icon: IconGithub },
|
|
37
|
+
// { name: 'Dribbble', to: '#', icon: IconDribbble },
|
|
38
|
+
]
|
|
98
39
|
</script>
|
|
99
40
|
|
|
100
41
|
<template>
|
|
101
|
-
<footer class="bg-
|
|
42
|
+
<footer class="bg-base-100" aria-labelledby="footer-heading">
|
|
102
43
|
<h2 id="footer-heading" class="sr-only">
|
|
103
44
|
Footer
|
|
104
45
|
</h2>
|
|
@@ -107,104 +48,85 @@ const footerNavigation = {
|
|
|
107
48
|
<div class="grid grid-cols-2 gap-8 xl:col-span-2">
|
|
108
49
|
<div class="md:grid md:grid-cols-2 md:gap-8">
|
|
109
50
|
<div>
|
|
110
|
-
<
|
|
51
|
+
<Text is="h3" semibold sm class="tracking-wider uppercase text-base-content/40">
|
|
111
52
|
Solutions
|
|
112
|
-
</
|
|
53
|
+
</Text>
|
|
113
54
|
<ul role="list" class="mt-4 space-y-4">
|
|
114
55
|
<li v-for="item in footerNavigation.solutions" :key="item.name">
|
|
115
|
-
<
|
|
116
|
-
item.name
|
|
117
|
-
|
|
56
|
+
<NuxtLink :href="item.to" class="text-base-content">
|
|
57
|
+
{{ item.name }}
|
|
58
|
+
</NuxtLink>
|
|
118
59
|
</li>
|
|
119
60
|
</ul>
|
|
120
61
|
</div>
|
|
62
|
+
|
|
121
63
|
<div class="mt-12 md:mt-0">
|
|
122
|
-
<
|
|
64
|
+
<Text is="h3" semibold sm class="tracking-wider uppercase text-base-content/40">
|
|
123
65
|
Support
|
|
124
|
-
</
|
|
66
|
+
</Text>
|
|
125
67
|
<ul role="list" class="mt-4 space-y-4">
|
|
126
68
|
<li v-for="item in footerNavigation.support" :key="item.name">
|
|
127
|
-
<
|
|
128
|
-
item.name
|
|
129
|
-
|
|
130
|
-
</li>
|
|
131
|
-
</ul>
|
|
132
|
-
</div>
|
|
133
|
-
</div>
|
|
134
|
-
<div class="md:grid md:grid-cols-2 md:gap-8">
|
|
135
|
-
<div>
|
|
136
|
-
<h3 class="text-sm font-semibold tracking-wider text-gray-400 uppercase">
|
|
137
|
-
Company
|
|
138
|
-
</h3>
|
|
139
|
-
<ul role="list" class="mt-4 space-y-4">
|
|
140
|
-
<li v-for="item in footerNavigation.company" :key="item.name">
|
|
141
|
-
<a :href="item.href" class="text-base text-gray-500 hover:text-gray-900">{{
|
|
142
|
-
item.name
|
|
143
|
-
}}</a>
|
|
144
|
-
</li>
|
|
145
|
-
</ul>
|
|
146
|
-
</div>
|
|
147
|
-
<div class="mt-12 md:mt-0">
|
|
148
|
-
<h3 class="text-sm font-semibold tracking-wider text-gray-400 uppercase">
|
|
149
|
-
Legal
|
|
150
|
-
</h3>
|
|
151
|
-
<ul role="list" class="mt-4 space-y-4">
|
|
152
|
-
<li v-for="item in footerNavigation.legal" :key="item.name">
|
|
153
|
-
<a :href="item.href" class="text-base text-gray-500 hover:text-gray-900">{{
|
|
154
|
-
item.name
|
|
155
|
-
}}</a>
|
|
69
|
+
<NuxtLink :href="item.to" class="text-base-content" :target="item.target">
|
|
70
|
+
{{ item.name }}
|
|
71
|
+
</NuxtLink>
|
|
156
72
|
</li>
|
|
157
73
|
</ul>
|
|
158
74
|
</div>
|
|
159
75
|
</div>
|
|
160
76
|
</div>
|
|
77
|
+
|
|
161
78
|
<div class="mt-12 xl:mt-0">
|
|
162
|
-
<
|
|
163
|
-
Subscribe to
|
|
164
|
-
</
|
|
165
|
-
<p class="mt-4 text-base
|
|
79
|
+
<Text is="h3" sm semibold class="tracking-wider uppercase text-base-content/50">
|
|
80
|
+
Subscribe to updates
|
|
81
|
+
</Text>
|
|
82
|
+
<Text is="p" class="mt-4 text-base-content/80">
|
|
166
83
|
The latest news, articles, and resources, sent to your inbox weekly.
|
|
167
|
-
</
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
<
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
84
|
+
</Text>
|
|
85
|
+
|
|
86
|
+
<form class="mt-4">
|
|
87
|
+
<FormControl>
|
|
88
|
+
<Label for="email-address" class="sr-only">
|
|
89
|
+
<LabelText>Email address</LabelText>
|
|
90
|
+
</Label>
|
|
91
|
+
<InputGroup>
|
|
92
|
+
<TextInput
|
|
93
|
+
id="email-address"
|
|
94
|
+
name="email-address"
|
|
95
|
+
bordered primary
|
|
96
|
+
type="email"
|
|
97
|
+
autocomplete="email"
|
|
98
|
+
required
|
|
99
|
+
placeholder="Enter your email"
|
|
100
|
+
class="w-full placeholder-base-content/80"
|
|
101
|
+
/>
|
|
102
|
+
<Button class="bg-gradient-primary-r hover:bg-primary-focus zoom-105 text-primary-content">
|
|
103
|
+
Subscribe
|
|
104
|
+
</Button>
|
|
105
|
+
</InputGroup>
|
|
106
|
+
</FormControl>
|
|
187
107
|
</form>
|
|
188
108
|
</div>
|
|
189
109
|
</div>
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
110
|
+
|
|
111
|
+
<Flex items-center justify-between class="pt-8 mt-12 border-t border-base-content lg:mt-16">
|
|
112
|
+
<NuxtLink target="blank" to="https://www.bitovi.com">
|
|
113
|
+
<Link is="span" hover>
|
|
114
|
+
Built with ❤️ by Bitovi
|
|
115
|
+
</Link>
|
|
116
|
+
</NuxtLink>
|
|
117
|
+
|
|
118
|
+
<Flex class="gap-6">
|
|
119
|
+
<NuxtLink
|
|
120
|
+
v-for="item in social"
|
|
196
121
|
:key="item.name"
|
|
197
|
-
:
|
|
122
|
+
:to="item.to"
|
|
198
123
|
class="text-gray-400 hover:text-gray-500"
|
|
199
124
|
>
|
|
200
125
|
<span class="sr-only">{{ item.name }}</span>
|
|
201
126
|
<component :is="item.icon" class="w-6 h-6" aria-hidden="true" />
|
|
202
|
-
</
|
|
203
|
-
</
|
|
204
|
-
|
|
205
|
-
Built with ❤️ by Bitovi
|
|
206
|
-
</p>
|
|
207
|
-
</div>
|
|
127
|
+
</NuxtLink>
|
|
128
|
+
</Flex>
|
|
129
|
+
</Flex>
|
|
208
130
|
</div>
|
|
209
131
|
</footer>
|
|
210
132
|
</template>
|
|
@@ -1,63 +1,61 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
StarIcon,
|
|
11
|
-
} from '@heroicons/vue/outline'
|
|
2
|
+
import IconAdjustments from '~icons/heroicons-outline/adjustments'
|
|
3
|
+
import IconTemplate from '~icons/heroicons-outline/template'
|
|
4
|
+
import IconPencilAlt from '~icons/heroicons-outline/pencil-alt'
|
|
5
|
+
import IconTabs from '~icons/ph/tabs-bold'
|
|
6
|
+
import IconCollection from '~icons/heroicons-outline/collection'
|
|
7
|
+
import IconHeart from '~icons/heroicons-outline/heart'
|
|
8
|
+
import IconMoon from '~icons/heroicons-outline/moon'
|
|
9
|
+
import IconStar from '~icons/heroicons-outline/star'
|
|
12
10
|
|
|
13
11
|
const features = [
|
|
14
12
|
{
|
|
15
13
|
name: 'Beyond the Dark Side',
|
|
16
14
|
description:
|
|
17
15
|
'Don\'t clutter your app with "dark:" prefixes. Build Smart with CSS variables.',
|
|
18
|
-
icon:
|
|
16
|
+
icon: IconMoon,
|
|
19
17
|
},
|
|
20
18
|
{
|
|
21
19
|
name: 'Theme Builder',
|
|
22
20
|
description:
|
|
23
21
|
'Fine tune the perfect color palette for your app.',
|
|
24
|
-
icon:
|
|
22
|
+
icon: IconAdjustments,
|
|
25
23
|
},
|
|
26
24
|
{
|
|
27
25
|
name: 'Beautiful Inputs',
|
|
28
26
|
description:
|
|
29
27
|
'Create beautiful forms with TextInput, TextArea, Checkbox, Toggle, Radio, Range, Select and more!',
|
|
30
|
-
icon:
|
|
28
|
+
icon: IconPencilAlt,
|
|
31
29
|
},
|
|
32
30
|
{
|
|
33
|
-
name: '
|
|
31
|
+
name: 'Keep Tabs on Delightful',
|
|
34
32
|
description:
|
|
35
|
-
'
|
|
36
|
-
icon:
|
|
33
|
+
'The TabsManager component lets you stay in control and create the perfect, custom tabs layout.',
|
|
34
|
+
icon: IconTabs,
|
|
37
35
|
},
|
|
38
36
|
{
|
|
39
37
|
name: 'Lay It All Out',
|
|
40
38
|
description:
|
|
41
39
|
'Use the ButtonGroup, InputGroup, Drawer, Flex, Footer, Stack and more to create the perfect layout.',
|
|
42
|
-
icon:
|
|
40
|
+
icon: IconTemplate,
|
|
43
41
|
},
|
|
44
42
|
{
|
|
45
43
|
name: 'Think Outside the Box',
|
|
46
44
|
description:
|
|
47
45
|
'Build with all kinds of shapes using Mask. Your site can be more than a grid of rectangles.',
|
|
48
|
-
icon:
|
|
46
|
+
icon: IconStar,
|
|
49
47
|
},
|
|
50
48
|
{
|
|
51
49
|
name: 'Interactive Makes Interesting',
|
|
52
50
|
description:
|
|
53
51
|
'Create Dropdowns, Modals, Tooltips, and Tabs, all without writing a single line of JavaScript.',
|
|
54
|
-
icon:
|
|
52
|
+
icon: IconCollection,
|
|
55
53
|
},
|
|
56
54
|
{
|
|
57
55
|
name: 'What\s on the Menu',
|
|
58
56
|
description:
|
|
59
|
-
'DaisyUI comes with gorgeous menu styles. They integrate
|
|
60
|
-
icon:
|
|
57
|
+
'DaisyUI comes with gorgeous menu styles. They cleanly integrate with router links.',
|
|
58
|
+
icon: IconHeart,
|
|
61
59
|
},
|
|
62
60
|
]
|
|
63
61
|
</script>
|
|
@@ -48,127 +48,63 @@ const links = [
|
|
|
48
48
|
|
|
49
49
|
<template>
|
|
50
50
|
<header class="bg-base-100/95">
|
|
51
|
-
<
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
>
|
|
56
|
-
<
|
|
57
|
-
<Logo />
|
|
58
|
-
</
|
|
59
|
-
|
|
60
|
-
<PopoverButton
|
|
61
|
-
class="inline-flex items-center justify-center p-2 text-gray-400 rounded-md bg-base-100 hover:text-gray-500 hover:bg-base-200/50 focus:outline-none focus:ring-2 focus:ring-inset focus:ring-indigo-500"
|
|
62
|
-
>
|
|
63
|
-
<span class="sr-only">Open menu</span>
|
|
64
|
-
<MenuIcon class="w-6 h-6" aria-hidden="true" />
|
|
65
|
-
</PopoverButton>
|
|
66
|
-
</div>
|
|
51
|
+
<Flex
|
|
52
|
+
items-center justify-between
|
|
53
|
+
class="px-4 py-6 pb-2 mx-auto max-w-7xl sm:px-6 md:justify-start md:space-x-10 lg:px-8"
|
|
54
|
+
>
|
|
55
|
+
<Flex grow>
|
|
56
|
+
<NuxtLink to="/">
|
|
57
|
+
<Logo class="ml-4 text-4xl" />
|
|
58
|
+
</NuxtLink>
|
|
59
|
+
</Flex>
|
|
67
60
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
</
|
|
61
|
+
<Flex is="nav" items-center row class="hidden gap-10 md:flex">
|
|
62
|
+
<!-- <a href="#" class="text-base font-medium text-base-content ">
|
|
63
|
+
Themes
|
|
64
|
+
</a> -->
|
|
65
|
+
|
|
66
|
+
<NuxtLink to="install" class="text-base font-medium text-base-content ">
|
|
67
|
+
Install
|
|
68
|
+
</NuxtLink>
|
|
76
69
|
|
|
77
|
-
<
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
<Button class="normal-case bg-gradient-to-r from-purple-600 to-indigo-600 bg-origin-border hover:from-purple-700 hover:to-indigo-700">
|
|
81
|
-
Open Dashboard
|
|
82
|
-
</Button>
|
|
83
|
-
</NuxtLink>
|
|
84
|
-
</template>
|
|
70
|
+
<NuxtLink to="daisy-button" class="text-base font-medium text-base-content ">
|
|
71
|
+
Components
|
|
72
|
+
</NuxtLink>
|
|
85
73
|
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
ghost
|
|
90
|
-
class="text-base font-medium text-gray-500 normal-case hover:text-gray-900"
|
|
91
|
-
>
|
|
92
|
-
Sign in
|
|
93
|
-
</Button>
|
|
94
|
-
</a>
|
|
95
|
-
<a href="/api/auth/login" class="ml-4">
|
|
96
|
-
<Button
|
|
97
|
-
class="text-base normal-case border-none shadow-md bg-gradient-primary-r hover:bg-primary-focus zoom-105 text-primary-content"
|
|
98
|
-
>
|
|
99
|
-
Sign up
|
|
100
|
-
</Button>
|
|
101
|
-
</a>
|
|
102
|
-
</template>
|
|
103
|
-
</Flex>
|
|
74
|
+
<!-- <a href="#" class="text-base font-medium text-base-content ">
|
|
75
|
+
Contribute
|
|
76
|
+
</a> -->
|
|
104
77
|
</Flex>
|
|
105
78
|
|
|
106
|
-
<
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
>
|
|
118
|
-
<
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
</PopoverButton>
|
|
137
|
-
</div>
|
|
138
|
-
</div>
|
|
139
|
-
<div class="mt-6">
|
|
140
|
-
<nav class="grid grid-cols-1 gap-7">
|
|
141
|
-
<a
|
|
142
|
-
v-for="item in links"
|
|
143
|
-
:key="item.name"
|
|
144
|
-
:href="item.href"
|
|
145
|
-
class="flex items-center p-3 -m-3 rounded-lg hover:bg-gray-50"
|
|
146
|
-
>
|
|
147
|
-
<div class="ml-4 text-base font-medium text-gray-900">{{ item.name }}</div>
|
|
148
|
-
</a>
|
|
149
|
-
</nav>
|
|
150
|
-
</div>
|
|
151
|
-
</div>
|
|
152
|
-
<div class="px-5 py-6">
|
|
153
|
-
<div class="grid grid-cols-2 gap-4">
|
|
154
|
-
<a href="#" class="text-base font-medium text-gray-900 hover:text-gray-700">Pricing</a>
|
|
155
|
-
<a href="#" class="text-base font-medium text-gray-900 hover:text-gray-700">Partners</a>
|
|
156
|
-
<a href="#" class="text-base font-medium text-gray-900 hover:text-gray-700">Company</a>
|
|
157
|
-
</div>
|
|
158
|
-
<div class="mt-6">
|
|
159
|
-
<a
|
|
160
|
-
href="#"
|
|
161
|
-
class="flex items-center justify-center w-full px-4 py-2 text-base font-medium text-white border border-transparent rounded-md shadow-sm bg-gradient-to-r from-purple-600 to-indigo-600 bg-origin-border hover:from-purple-700 hover:to-indigo-700"
|
|
162
|
-
>Sign up</a>
|
|
163
|
-
<p class="mt-6 text-base font-medium text-center text-gray-500">
|
|
164
|
-
Existing customer?
|
|
165
|
-
<a href="#" class="text-gray-900">Sign in</a>
|
|
166
|
-
</p>
|
|
167
|
-
</div>
|
|
168
|
-
</div>
|
|
169
|
-
</div>
|
|
170
|
-
</PopoverPanel>
|
|
171
|
-
</transition>
|
|
172
|
-
</Popover>
|
|
79
|
+
<ThemePicker />
|
|
80
|
+
|
|
81
|
+
<!-- <Flex items-center justify-end class="hidden md:flex md:flex-1 lg:w-0">
|
|
82
|
+
<template v-if="user">
|
|
83
|
+
<NuxtLink to="/app/dashboard">
|
|
84
|
+
<Button class="normal-case bg-gradient-to-r from-purple-600 to-indigo-600 bg-origin-border hover:from-purple-700 hover:to-indigo-700">
|
|
85
|
+
Open Dashboard
|
|
86
|
+
</Button>
|
|
87
|
+
</NuxtLink>
|
|
88
|
+
</template>
|
|
89
|
+
|
|
90
|
+
<template v-else>
|
|
91
|
+
<a href="/api/auth/login">
|
|
92
|
+
<Button
|
|
93
|
+
ghost
|
|
94
|
+
class="text-base font-medium text-gray-500 normal-case hover:text-gray-900"
|
|
95
|
+
>
|
|
96
|
+
Sign in
|
|
97
|
+
</Button>
|
|
98
|
+
</a>
|
|
99
|
+
<a href="/api/auth/login" class="ml-4">
|
|
100
|
+
<Button
|
|
101
|
+
class="text-base normal-case border-none shadow-md bg-gradient-primary-r hover:bg-primary-focus zoom-105 text-primary-content"
|
|
102
|
+
>
|
|
103
|
+
Sign up
|
|
104
|
+
</Button>
|
|
105
|
+
</a>
|
|
106
|
+
</template>
|
|
107
|
+
</Flex> -->
|
|
108
|
+
</Flex>
|
|
173
109
|
</header>
|
|
174
110
|
</template>
|
package/components/Home/Hero.vue
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<div class="absolute inset-0">
|
|
8
8
|
<img
|
|
9
9
|
class="object-cover w-full h-full"
|
|
10
|
-
src="
|
|
10
|
+
src="/img/unsplash-devs-sm.jpeg"
|
|
11
11
|
alt="People working on laptops"
|
|
12
12
|
>
|
|
13
13
|
<div
|
|
@@ -24,22 +24,23 @@
|
|
|
24
24
|
Build Beautiful Apps
|
|
25
25
|
</Text>
|
|
26
26
|
</Text>
|
|
27
|
-
<Text
|
|
28
|
-
Bring the masterfully
|
|
29
|
-
|
|
27
|
+
<Text center class="block max-w-lg mx-auto mt-6 text-xl text-indigo-200 sm:max-w-3xl">
|
|
28
|
+
Bring the masterfully-crafted DaisyUI into your Vue app. <br>Built for you with ❤️ by
|
|
29
|
+
<NuxtLink to="https://www.bitovi.com">
|
|
30
|
+
Bitovi
|
|
30
31
|
</NuxtLink>.
|
|
31
32
|
</Text>
|
|
32
33
|
|
|
33
34
|
<div class="max-w-sm mx-auto mt-10 sm:max-w-none sm:flex sm:justify-center">
|
|
34
|
-
<Flex items-center justify-center class="sm:space-y-0 sm:mx-auto sm:inline-grid sm:grid-cols-2">
|
|
35
|
-
<NuxtLink
|
|
36
|
-
<Button class="border-0 bg-base-100 text-base-content hover:bg-base-200">
|
|
35
|
+
<Flex items-center justify-center class="gap-2 sm:space-y-0 sm:mx-auto sm:inline-grid sm:grid-cols-2">
|
|
36
|
+
<NuxtLink to="/daisy-button" class="block">
|
|
37
|
+
<Button class="w-full border-0 bg-base-100 text-base-content hover:bg-base-200">
|
|
37
38
|
Learn more
|
|
38
39
|
</Button>
|
|
39
40
|
</NuxtLink>
|
|
40
41
|
|
|
41
|
-
<NuxtLink
|
|
42
|
-
<Button primary>
|
|
42
|
+
<NuxtLink to="/install" class="block">
|
|
43
|
+
<Button primary class="w-full">
|
|
43
44
|
Start Building
|
|
44
45
|
</Button>
|
|
45
46
|
</NuxtLink>
|
|
@@ -6,17 +6,18 @@
|
|
|
6
6
|
>
|
|
7
7
|
<Text is="h2" size="4xl" extrabold class="tracking-tight">
|
|
8
8
|
<Text block class="text-neutral-content">
|
|
9
|
-
Build faster with
|
|
9
|
+
Build faster with
|
|
10
|
+
<Text secondary>
|
|
10
11
|
DaisyUI Kit Premium
|
|
11
12
|
</Text>
|
|
12
13
|
</Text>
|
|
13
|
-
<Text block
|
|
14
|
+
<Text block class="mt-4 text-2xl text-transparent lg:mt-0 xl:text-3xl bg-gradient-secondary-r bg-clip-text">
|
|
14
15
|
Templates for App Layout, Marketing and E-Commerce
|
|
15
16
|
</Text>
|
|
16
17
|
</Text>
|
|
17
18
|
|
|
18
19
|
<div class="mt-6 space-y-4 sm:space-y-0 sm:flex sm:space-x-4">
|
|
19
|
-
<Tooltip tip="Coming Soon">
|
|
20
|
+
<Tooltip primary tip="Coming Soon">
|
|
20
21
|
<Button primary lg>
|
|
21
22
|
Learn more
|
|
22
23
|
</Button>
|
package/components/Logo.vue
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
<template>
|
|
2
|
-
<div class="
|
|
3
|
-
<
|
|
2
|
+
<div class="">
|
|
3
|
+
<Text class="font-bold whitespace-nowrap">
|
|
4
4
|
<span class="text-primary">daisy</span>UI Kit
|
|
5
|
-
<span
|
|
6
|
-
</
|
|
5
|
+
<span>🌼</span>
|
|
6
|
+
</Text>
|
|
7
7
|
</div>
|
|
8
8
|
</template>
|
|
@@ -58,7 +58,7 @@ defineEmits(['update:show'])
|
|
|
58
58
|
</div>
|
|
59
59
|
</TransitionChild>
|
|
60
60
|
|
|
61
|
-
<Logo class="text-base-content" />
|
|
61
|
+
<Logo class="text-4xl text-base-content" />
|
|
62
62
|
|
|
63
63
|
<div class="flex-1 h-0 mt-5 overflow-y-auto">
|
|
64
64
|
<nav class="px-2 space-y-1">
|
|
@@ -66,11 +66,10 @@ defineEmits(['update:show'])
|
|
|
66
66
|
v-for="item in navigation"
|
|
67
67
|
:key="item.name"
|
|
68
68
|
:href="item.href"
|
|
69
|
-
:class="[
|
|
69
|
+
class="flex items-center px-2 py-2 text-base font-medium rounded-md group" :class="[
|
|
70
70
|
item.current
|
|
71
71
|
? 'bg-indigo-800 text-base-content'
|
|
72
72
|
: 'text-indigo-100 hover:bg-indigo-600',
|
|
73
|
-
'group flex items-center px-2 py-2 text-base font-medium rounded-md',
|
|
74
73
|
]"
|
|
75
74
|
>
|
|
76
75
|
<component
|
package/components/Sidebar.vue
CHANGED
|
@@ -72,7 +72,7 @@ const mockup = [
|
|
|
72
72
|
<!-- Sidebar component, swap this element with another sidebar if you like -->
|
|
73
73
|
<div class="relative pt-4 menu w-80 bg-base-100 text-base-content">
|
|
74
74
|
<NuxtLink to="/" class="fixed">
|
|
75
|
-
<Logo class="text-base-content" />
|
|
75
|
+
<Logo class="ml-8 text-4xl text-base-content" />
|
|
76
76
|
</NuxtLink>
|
|
77
77
|
|
|
78
78
|
<div class="pb-12 pl-2 mt-12 overflow-y-auto">
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
|
|
2
1
|
<script setup lang="ts">
|
|
3
|
-
import { usePopper } from '@rovit/popper'
|
|
4
2
|
import { onClickOutside } from '@vueuse/core'
|
|
5
3
|
import { defaultThemes } from './theme-utils'
|
|
4
|
+
import { usePopper } from '~~/composables/use-popper'
|
|
6
5
|
import SunIcon from '~icons/feather/sun'
|
|
7
6
|
|
|
8
7
|
const { theme } = useTheme()
|
|
@@ -20,20 +19,30 @@ onClickOutside(container, () => popper.hide())
|
|
|
20
19
|
|
|
21
20
|
<template>
|
|
22
21
|
<div ref="container">
|
|
23
|
-
<Button ref="theButton" sm
|
|
24
|
-
<SunIcon class="
|
|
25
|
-
Change Theme
|
|
22
|
+
<Button ref="theButton" primary sm class="md:btn-ghost" @click="popper.toggle">
|
|
23
|
+
<SunIcon class="text-base" />
|
|
26
24
|
</Button>
|
|
27
25
|
|
|
28
|
-
<
|
|
29
|
-
<
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
26
|
+
<div ref="thePopup">
|
|
27
|
+
<transition
|
|
28
|
+
enter-active-class="duration-200 ease-out"
|
|
29
|
+
enter-from-class="scale-95 opacity-0"
|
|
30
|
+
enter-to-class="scale-100 opacity-100"
|
|
31
|
+
leave-active-class="duration-100 ease-in"
|
|
32
|
+
leave-from-class="scale-100 opacity-100"
|
|
33
|
+
leave-to-class="scale-95 opacity-0"
|
|
34
|
+
>
|
|
35
|
+
<Menu v-if="popper.isVisible" compact class="py-3 border shadow-lg bg-base-100 rounded-box border-base-300">
|
|
36
|
+
<MenuTitle> Choose a Theme </MenuTitle>
|
|
37
|
+
<div class="overflow-y-scroll h-96 ">
|
|
38
|
+
<MenuItem v-for="name in themeNames" :key="name" :class="{ 'bg-primary-focus text-primary-content': name === theme }">
|
|
39
|
+
<a @click="theme = name">
|
|
40
|
+
{{ name }}
|
|
41
|
+
</a>
|
|
42
|
+
</MenuItem>
|
|
43
|
+
</div>
|
|
44
|
+
</Menu>
|
|
45
|
+
</transition>
|
|
46
|
+
</div>
|
|
38
47
|
</div>
|
|
39
48
|
</template>
|
package/nuxt.js
ADDED
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { defineNuxtModule } from '@nuxt/kit'
|
|
2
|
+
import { fileURLToPath } from 'node:url'
|
|
3
|
+
|
|
4
|
+
export default defineNuxtModule({
|
|
5
|
+
hooks: {
|
|
6
|
+
'components:dirs'(dirs) {
|
|
7
|
+
// Add ./components dir to the list
|
|
8
|
+
dirs.push({
|
|
9
|
+
path: fileURLToPath(new URL('./components', import.meta.url)),
|
|
10
|
+
prefix: 'D'
|
|
11
|
+
})
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
})
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "daisy-ui-kit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"scripts": {
|
|
6
6
|
"build": "nuxi build",
|
|
@@ -15,7 +15,8 @@
|
|
|
15
15
|
},
|
|
16
16
|
"main": "index.ts",
|
|
17
17
|
"files": [
|
|
18
|
-
"components/*"
|
|
18
|
+
"components/*",
|
|
19
|
+
"nuxt.js"
|
|
19
20
|
],
|
|
20
21
|
"dependencies": {
|
|
21
22
|
"@vueuse/core": "^9.0.0",
|
|
@@ -31,6 +32,7 @@
|
|
|
31
32
|
"@iconify/json": "^2.1.83",
|
|
32
33
|
"@nuxtjs/color-mode": "^3.1.4",
|
|
33
34
|
"@pinia/nuxt": "^0.3.1",
|
|
35
|
+
"@popperjs/core": "^2.11.5",
|
|
34
36
|
"@rovit/popper": "^3.9.0",
|
|
35
37
|
"@tailwindcss/aspect-ratio": "^0.4.0",
|
|
36
38
|
"@tailwindcss/forms": "^0.5.2",
|
|
@@ -43,7 +45,7 @@
|
|
|
43
45
|
"eslint": "^8.20.0",
|
|
44
46
|
"feathers-pinia": "^0.34.0",
|
|
45
47
|
"mobile-detect": "^1.4.5",
|
|
46
|
-
"nuxt": "^3.0.0-rc.
|
|
48
|
+
"nuxt": "^3.0.0-rc.8",
|
|
47
49
|
"ohmyfetch": "^0.4.18",
|
|
48
50
|
"pinia": "^2.0.17",
|
|
49
51
|
"postcss": "^8.4.14",
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
<template>
|
|
2
|
-
<!-- Logo Cloud -->
|
|
3
|
-
<div class="bg-base-200">
|
|
4
|
-
<div class="px-4 py-16 mx-auto max-w-7xl sm:px-6 lg:px-8">
|
|
5
|
-
<p
|
|
6
|
-
class="text-sm font-semibold tracking-wide text-center text-gray-500 uppercase"
|
|
7
|
-
>
|
|
8
|
-
Trusted by over 5 very average small businesses
|
|
9
|
-
</p>
|
|
10
|
-
<div class="grid grid-cols-2 gap-8 mt-6 md:grid-cols-6 lg:grid-cols-5">
|
|
11
|
-
<div class="flex justify-center col-span-1 md:col-span-2 lg:col-span-1">
|
|
12
|
-
<img
|
|
13
|
-
class="h-12"
|
|
14
|
-
src="https://tailwindui.com/img/logos/tuple-logo-gray-400.svg"
|
|
15
|
-
alt="Tuple"
|
|
16
|
-
>
|
|
17
|
-
</div>
|
|
18
|
-
<div class="flex justify-center col-span-1 md:col-span-2 lg:col-span-1">
|
|
19
|
-
<img
|
|
20
|
-
class="h-12"
|
|
21
|
-
src="https://tailwindui.com/img/logos/mirage-logo-gray-400.svg"
|
|
22
|
-
alt="Mirage"
|
|
23
|
-
>
|
|
24
|
-
</div>
|
|
25
|
-
<div class="flex justify-center col-span-1 md:col-span-2 lg:col-span-1">
|
|
26
|
-
<img
|
|
27
|
-
class="h-12"
|
|
28
|
-
src="https://tailwindui.com/img/logos/statickit-logo-gray-400.svg"
|
|
29
|
-
alt="StaticKit"
|
|
30
|
-
>
|
|
31
|
-
</div>
|
|
32
|
-
<div class="flex justify-center col-span-1 md:col-span-2 md:col-start-2 lg:col-span-1">
|
|
33
|
-
<img
|
|
34
|
-
class="h-12"
|
|
35
|
-
src="https://tailwindui.com/img/logos/transistor-logo-gray-400.svg"
|
|
36
|
-
alt="Transistor"
|
|
37
|
-
>
|
|
38
|
-
</div>
|
|
39
|
-
<div class="flex justify-center col-span-2 md:col-span-2 md:col-start-4 lg:col-span-1">
|
|
40
|
-
<img
|
|
41
|
-
class="h-12"
|
|
42
|
-
src="https://tailwindui.com/img/logos/workcation-logo-gray-400.svg"
|
|
43
|
-
alt="Workcation"
|
|
44
|
-
>
|
|
45
|
-
</div>
|
|
46
|
-
</div>
|
|
47
|
-
</div>
|
|
48
|
-
</div>
|
|
49
|
-
</template>
|