daisy-ui-kit 2.1.0 → 2.1.2
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/nuxt.js +22 -0
- package/package.json +3 -3
- package/components/.DS_Store +0 -0
- package/components/Home/AlternatingFeatureSections.vue +0 -219
- package/components/Home/BitoviConsulting.vue +0 -53
- package/components/Home/BitoviOpenSource.vue +0 -51
- package/components/Home/Footer.vue +0 -127
- package/components/Home/GradientFeatureSections.vue +0 -87
- package/components/Home/Header.vue +0 -95
- package/components/Home/Hero.vue +0 -53
- package/components/Home/PremiumCTA.vue +0 -28
- package/components/Home/Testimonial.vue +0 -23
- package/components/Mask.config.ts +0 -77
- package/components/content/Badge.ts +0 -3
- package/components/content/CodePreview.vue +0 -28
- package/components/content/ColorBadge.vue +0 -24
- package/components/content/DemoExample.vue +0 -23
- package/components/content/DemoExampleResponsive.vue +0 -59
- package/components/content/IframeRenderer.ts +0 -53
- package/components/content/Indent.vue +0 -3
- package/components/content/LocalLinks.vue +0 -31
- package/components/content/NotFound.vue +0 -42
- package/components/content/PageNext.vue +0 -24
- package/components/content/PagePrevious.vue +0 -24
- package/components/content/PrevNext.vue +0 -40
- package/components/content/ProseA.vue +0 -19
- package/components/content/ProseAlert.vue +0 -11
- package/components/content/ProseBlockquote.vue +0 -5
- package/components/content/ProseCode.vue +0 -62
- package/components/content/ProseCodeInline.vue +0 -3
- package/components/content/ProseEm.vue +0 -5
- package/components/content/ProseH1.vue +0 -16
- package/components/content/ProseH2.vue +0 -16
- package/components/content/ProseH3.vue +0 -16
- package/components/content/ProseH4.vue +0 -16
- package/components/content/ProseH5.vue +0 -16
- package/components/content/ProseH6.vue +0 -16
- package/components/content/ProseHr.vue +0 -3
- package/components/content/ProseImg.vue +0 -34
- package/components/content/ProseLi.vue +0 -3
- package/components/content/ProseOl.vue +0 -5
- package/components/content/ProseP.vue +0 -3
- package/components/content/ProseStrong.vue +0 -5
- package/components/content/ProseTable.vue +0 -7
- package/components/content/ProseTbody.vue +0 -5
- package/components/content/ProseTd.vue +0 -5
- package/components/content/ProseTh.vue +0 -5
- package/components/content/ProseThead.vue +0 -5
- package/components/content/ProseTr.vue +0 -5
- package/components/content/ProseUl.vue +0 -5
- package/components/content/Search.vue +0 -160
- package/components/content/Sidebar.vue +0 -65
- package/components/content/SidebarMenuSection.vue +0 -38
- package/components/content/SigninForm.vue +0 -47
- package/components/content/TableOfContents.vue +0 -80
- package/components/content/TypeBadge.vue +0 -17
- package/components/content/UserMenu.vue +0 -62
- package/components/theme/Builder.vue +0 -284
- package/components/theme/Output.vue +0 -70
- package/components/theme/Picker.vue +0 -47
- package/components/theme/Preview.vue +0 -1684
- package/components/theme/Provider.vue +0 -43
- package/components/theme/Snooper.vue +0 -41
- package/components/theme/Swatch.vue +0 -47
- package/components/theme/custom-themes.ts +0 -34
- package/components/theme/theme-utils.ts +0 -175
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import {
|
|
3
|
-
Menu,
|
|
4
|
-
MenuButton,
|
|
5
|
-
MenuItem,
|
|
6
|
-
MenuItems,
|
|
7
|
-
} from '@headlessui/vue'
|
|
8
|
-
|
|
9
|
-
const userNavigation = [
|
|
10
|
-
{ name: 'Your Profile', href: '/app/profile' },
|
|
11
|
-
{ name: 'Settings', href: '/app/settings' },
|
|
12
|
-
{ name: 'Home', href: '/' },
|
|
13
|
-
]
|
|
14
|
-
|
|
15
|
-
const user: any = useState('user')
|
|
16
|
-
</script>
|
|
17
|
-
|
|
18
|
-
<template>
|
|
19
|
-
<Menu as="div" class="relative ml-3">
|
|
20
|
-
<MenuButton
|
|
21
|
-
class="flex items-center max-w-xs text-sm rounded-full bg-base-100 focus:outline-none focus:ring-2 focus:ring-offset-2 focus:ring-indigo-500"
|
|
22
|
-
>
|
|
23
|
-
<span class="sr-only">Open user menu</span>
|
|
24
|
-
<img class="w-8 h-8 rounded-full" :src="user?.picture">
|
|
25
|
-
</MenuButton>
|
|
26
|
-
|
|
27
|
-
<transition
|
|
28
|
-
enter-active-class="transition duration-100 ease-out"
|
|
29
|
-
enter-from-class="transform scale-95 opacity-0"
|
|
30
|
-
enter-to-class="transform scale-100 opacity-100"
|
|
31
|
-
leave-active-class="transition duration-75 ease-in"
|
|
32
|
-
leave-from-class="transform scale-100 opacity-100"
|
|
33
|
-
leave-to-class="transform scale-95 opacity-0"
|
|
34
|
-
>
|
|
35
|
-
<MenuItems
|
|
36
|
-
class="absolute right-0 w-48 py-1 mt-2 origin-top-right rounded-md shadow-lg bg-base-100 ring-1 ring-black ring-opacity-5 focus:outline-none"
|
|
37
|
-
>
|
|
38
|
-
<MenuItem v-for="item in userNavigation" :key="item.name">
|
|
39
|
-
<NuxtLink
|
|
40
|
-
:to="item.href"
|
|
41
|
-
exact-active-class="bg-gray-100"
|
|
42
|
-
:class="[
|
|
43
|
-
'block px-4 py-2 text-sm text-gray-700',
|
|
44
|
-
]"
|
|
45
|
-
>
|
|
46
|
-
{{ item.name }}
|
|
47
|
-
</NuxtLink>
|
|
48
|
-
</MenuItem>
|
|
49
|
-
|
|
50
|
-
<MenuItem>
|
|
51
|
-
<a
|
|
52
|
-
href="/api/auth/logout"
|
|
53
|
-
exact-active-class="bg-gray-100"
|
|
54
|
-
:class="[
|
|
55
|
-
'block px-4 py-2 text-sm text-gray-700',
|
|
56
|
-
]"
|
|
57
|
-
>Sign out</a>
|
|
58
|
-
</MenuItem>
|
|
59
|
-
</MenuItems>
|
|
60
|
-
</transition>
|
|
61
|
-
</Menu>
|
|
62
|
-
</template>
|
|
@@ -1,284 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<script setup lang="ts">
|
|
3
|
-
defineProps({
|
|
4
|
-
theme: { type: Object, default: () => ({}) },
|
|
5
|
-
})
|
|
6
|
-
const $emit = defineEmits(['prop-change'])
|
|
7
|
-
|
|
8
|
-
function updateProp(prop: string, value: string) {
|
|
9
|
-
$emit('prop-change', prop, value)
|
|
10
|
-
}
|
|
11
|
-
</script>
|
|
12
|
-
|
|
13
|
-
<template>
|
|
14
|
-
<div>
|
|
15
|
-
<div class="grid grid-cols-1 gap-6 md:grid-cols-6">
|
|
16
|
-
<div class="block mb-4">
|
|
17
|
-
<div class="mb-4 text-xs uppercase opacity-50">
|
|
18
|
-
primary
|
|
19
|
-
</div>
|
|
20
|
-
<div class="grid rounded">
|
|
21
|
-
<div class="flex flex-col col-start-1 row-start-1">
|
|
22
|
-
<ThemeSwatch
|
|
23
|
-
title="bg-primary"
|
|
24
|
-
:color="theme.primary"
|
|
25
|
-
class="rounded-t-xl"
|
|
26
|
-
@update:color="(c) => updateProp('primary', c)"
|
|
27
|
-
/>
|
|
28
|
-
<ThemeSwatch
|
|
29
|
-
title="bg-primary-focus"
|
|
30
|
-
:color="theme.primaryFocus"
|
|
31
|
-
@update:color="(c) => updateProp('primaryFocus', c)"
|
|
32
|
-
/>
|
|
33
|
-
<ThemeSwatch
|
|
34
|
-
title="bg-primary-content"
|
|
35
|
-
:color="theme.primaryContent"
|
|
36
|
-
class="rounded-b-xl"
|
|
37
|
-
@update:color="(c) => updateProp('primaryContent', c)"
|
|
38
|
-
/>
|
|
39
|
-
</div>
|
|
40
|
-
</div>
|
|
41
|
-
</div>
|
|
42
|
-
|
|
43
|
-
<div class="block mb-4">
|
|
44
|
-
<div class="mb-4 text-xs uppercase opacity-50">
|
|
45
|
-
secondary
|
|
46
|
-
</div>
|
|
47
|
-
<div class="grid rounded">
|
|
48
|
-
<div class="flex flex-col col-start-1 row-start-1">
|
|
49
|
-
<ThemeSwatch
|
|
50
|
-
title="bg-secondary"
|
|
51
|
-
:color="theme.secondary"
|
|
52
|
-
class="rounded-t-xl"
|
|
53
|
-
@update:color="(c) => updateProp('secondary', c)"
|
|
54
|
-
/>
|
|
55
|
-
<ThemeSwatch
|
|
56
|
-
title="bg-secondary-focus"
|
|
57
|
-
:color="theme.secondaryFocus"
|
|
58
|
-
@update:color="(c) => updateProp('secondaryFocus', c)"
|
|
59
|
-
/>
|
|
60
|
-
<ThemeSwatch
|
|
61
|
-
title="bg-secondary-content"
|
|
62
|
-
:color="theme.secondaryContent"
|
|
63
|
-
class="rounded-b-xl"
|
|
64
|
-
@update:color="(c) => updateProp('secondaryContent', c)"
|
|
65
|
-
/>
|
|
66
|
-
</div>
|
|
67
|
-
</div>
|
|
68
|
-
</div>
|
|
69
|
-
|
|
70
|
-
<div class="block mb-4">
|
|
71
|
-
<div class="mb-4 text-xs uppercase opacity-50">
|
|
72
|
-
accent
|
|
73
|
-
</div>
|
|
74
|
-
<div class="grid rounded">
|
|
75
|
-
<div class="flex flex-col col-start-1 row-start-1">
|
|
76
|
-
<ThemeSwatch
|
|
77
|
-
title="bg-accent"
|
|
78
|
-
:color="theme.accent"
|
|
79
|
-
class="rounded-t-xl"
|
|
80
|
-
@update:color="(c) => updateProp('accent', c)"
|
|
81
|
-
/>
|
|
82
|
-
<ThemeSwatch
|
|
83
|
-
title="bg-accent-focus"
|
|
84
|
-
:color="theme.accentFocus"
|
|
85
|
-
@update:color="(c) => updateProp('accentFocus', c)"
|
|
86
|
-
/>
|
|
87
|
-
<ThemeSwatch
|
|
88
|
-
title="bg-accent-content"
|
|
89
|
-
:color="theme.accentContent"
|
|
90
|
-
class="rounded-b-xl"
|
|
91
|
-
@update:color="(c) => updateProp('accentContent', c)"
|
|
92
|
-
/>
|
|
93
|
-
</div>
|
|
94
|
-
</div>
|
|
95
|
-
</div>
|
|
96
|
-
<div class="block mb-4">
|
|
97
|
-
<div class="mb-4 text-xs uppercase opacity-50">
|
|
98
|
-
neutral
|
|
99
|
-
</div>
|
|
100
|
-
<div class="grid rounded">
|
|
101
|
-
<div class="flex flex-col col-start-1 row-start-1">
|
|
102
|
-
<ThemeSwatch
|
|
103
|
-
title="bg-neutral"
|
|
104
|
-
:color="theme.neutral"
|
|
105
|
-
class="rounded-t-xl"
|
|
106
|
-
@update:color="(c) => updateProp('neutral', c)"
|
|
107
|
-
/>
|
|
108
|
-
<ThemeSwatch
|
|
109
|
-
title="bg-neutral-focus"
|
|
110
|
-
:color="theme.neutralFocus"
|
|
111
|
-
@update:color="(c) => updateProp('neutralFocus', c)"
|
|
112
|
-
/>
|
|
113
|
-
<ThemeSwatch
|
|
114
|
-
title="bg-neutral-content"
|
|
115
|
-
:color="theme.neutralContent"
|
|
116
|
-
class="rounded-b-xl"
|
|
117
|
-
@update:color="(c) => updateProp('neutralContent', c)"
|
|
118
|
-
/>
|
|
119
|
-
</div>
|
|
120
|
-
</div>
|
|
121
|
-
</div>
|
|
122
|
-
<div class="block mb-4">
|
|
123
|
-
<div class="mb-4 text-xs uppercase opacity-50">
|
|
124
|
-
base
|
|
125
|
-
</div>
|
|
126
|
-
<div class="grid rounded">
|
|
127
|
-
<div class="flex flex-col col-start-1 row-start-1">
|
|
128
|
-
<ThemeSwatch
|
|
129
|
-
title="bg-base-100"
|
|
130
|
-
:color="theme.base100"
|
|
131
|
-
class="rounded-t-xl"
|
|
132
|
-
@update:color="(c) => updateProp('base100', c)"
|
|
133
|
-
/>
|
|
134
|
-
<ThemeSwatch title="bg-base-200" :color="theme.base200" @update:color="(c) => updateProp('base200', c)" />
|
|
135
|
-
<ThemeSwatch title="bg-base-300" :color="theme.base300" @update:color="(c) => updateProp('base300', c)" />
|
|
136
|
-
<ThemeSwatch
|
|
137
|
-
title="bg-base-content"
|
|
138
|
-
:color="theme.baseContent"
|
|
139
|
-
class="rounded-b-xl"
|
|
140
|
-
@update:color="(c) => updateProp('baseContent', c)"
|
|
141
|
-
/>
|
|
142
|
-
</div>
|
|
143
|
-
</div>
|
|
144
|
-
</div>
|
|
145
|
-
<div class="block mb-4">
|
|
146
|
-
<div class="mb-4 text-xs uppercase opacity-50">
|
|
147
|
-
state
|
|
148
|
-
</div>
|
|
149
|
-
<div class="grid rounded">
|
|
150
|
-
<div class="flex flex-col col-start-1 row-start-1">
|
|
151
|
-
<ThemeSwatch
|
|
152
|
-
title="bg-info"
|
|
153
|
-
:color="theme.info"
|
|
154
|
-
class="rounded-t-xl"
|
|
155
|
-
@update:color="(c) => updateProp('info', c)"
|
|
156
|
-
/>
|
|
157
|
-
<ThemeSwatch title="bg-success" :color="theme.success" @update:color="(c) => updateProp('success', c)" />
|
|
158
|
-
<ThemeSwatch title="bg-warning" :color="theme.warning" @update:color="(c) => updateProp('warning', c)" />
|
|
159
|
-
<ThemeSwatch
|
|
160
|
-
title="bg-error"
|
|
161
|
-
:color="theme.error"
|
|
162
|
-
class="rounded-b-xl"
|
|
163
|
-
@update:color="(c) => updateProp('error', c)"
|
|
164
|
-
/>
|
|
165
|
-
</div>
|
|
166
|
-
</div>
|
|
167
|
-
</div>
|
|
168
|
-
</div>
|
|
169
|
-
|
|
170
|
-
<div class="flex flex-row flex-wrap space-x-2">
|
|
171
|
-
<!-- Box Radius -->
|
|
172
|
-
<div class="form-control">
|
|
173
|
-
<label class="label">
|
|
174
|
-
<span class="label-text">Card Radius</span>
|
|
175
|
-
</label>
|
|
176
|
-
<input
|
|
177
|
-
type="text"
|
|
178
|
-
placeholder="enter radius"
|
|
179
|
-
class="input input-bordered"
|
|
180
|
-
:value="theme.roundedBox"
|
|
181
|
-
@input="(ev: any) => updateProp('roundedBox', ev?.target?.value)"
|
|
182
|
-
>
|
|
183
|
-
</div>
|
|
184
|
-
|
|
185
|
-
<!-- Button Radius -->
|
|
186
|
-
<div class="form-control">
|
|
187
|
-
<label class="label">
|
|
188
|
-
<span class="label-text">Button Radius</span>
|
|
189
|
-
</label>
|
|
190
|
-
<input
|
|
191
|
-
type="text"
|
|
192
|
-
placeholder="enter radius"
|
|
193
|
-
class="input input-bordered"
|
|
194
|
-
:value="theme.roundedBtn"
|
|
195
|
-
@input="(ev: any) => updateProp('roundedBtn', ev?.target?.value)"
|
|
196
|
-
>
|
|
197
|
-
</div>
|
|
198
|
-
|
|
199
|
-
<!-- Badge Radius -->
|
|
200
|
-
<div class="form-control">
|
|
201
|
-
<label class="label">
|
|
202
|
-
<span class="label-text">Badge Radius</span>
|
|
203
|
-
</label>
|
|
204
|
-
<input
|
|
205
|
-
type="text"
|
|
206
|
-
placeholder="enter radius"
|
|
207
|
-
class="input input-bordered"
|
|
208
|
-
:value="theme.roundedBadge"
|
|
209
|
-
@input="(ev: any) => updateProp('roundedBadge', ev?.target?.value)"
|
|
210
|
-
>
|
|
211
|
-
</div>
|
|
212
|
-
|
|
213
|
-
<!-- Button Animation Time -->
|
|
214
|
-
<div class="form-control">
|
|
215
|
-
<label class="label">
|
|
216
|
-
<span class="label-text">Button Animation Time</span>
|
|
217
|
-
</label>
|
|
218
|
-
<input
|
|
219
|
-
type="text"
|
|
220
|
-
placeholder="enter time"
|
|
221
|
-
class="input input-bordered"
|
|
222
|
-
:value="theme.animationBtn"
|
|
223
|
-
@input="(ev: any) => updateProp('animationBtn', ev?.target?.value)"
|
|
224
|
-
>
|
|
225
|
-
</div>
|
|
226
|
-
|
|
227
|
-
<!-- Input Animation Time -->
|
|
228
|
-
<div class="form-control">
|
|
229
|
-
<label class="label">
|
|
230
|
-
<span class="label-text">Input Animation Time</span>
|
|
231
|
-
</label>
|
|
232
|
-
<input
|
|
233
|
-
type="text"
|
|
234
|
-
placeholder="enter time"
|
|
235
|
-
class="input input-bordered"
|
|
236
|
-
:value="theme.animationInput"
|
|
237
|
-
@input="(ev: any) => updateProp('animationInput', ev?.target?.value)"
|
|
238
|
-
>
|
|
239
|
-
</div>
|
|
240
|
-
|
|
241
|
-
<!-- Button Text Case -->
|
|
242
|
-
<div class="form-control">
|
|
243
|
-
<label class="label">
|
|
244
|
-
<span class="label-text">Button Text Case</span>
|
|
245
|
-
</label>
|
|
246
|
-
<input
|
|
247
|
-
type="text"
|
|
248
|
-
placeholder="enter case"
|
|
249
|
-
class="input input-bordered"
|
|
250
|
-
:value="theme.btnTextCase"
|
|
251
|
-
@input="(ev: any) => updateProp('btnTextCase', ev?.target?.value)"
|
|
252
|
-
>
|
|
253
|
-
</div>
|
|
254
|
-
|
|
255
|
-
<!-- Navbar Padding -->
|
|
256
|
-
<div class="form-control">
|
|
257
|
-
<label class="label">
|
|
258
|
-
<span class="label-text">Navbar Padding</span>
|
|
259
|
-
</label>
|
|
260
|
-
<input
|
|
261
|
-
type="text"
|
|
262
|
-
placeholder="enter case"
|
|
263
|
-
class="input input-bordered"
|
|
264
|
-
:value="theme.navbarPadding"
|
|
265
|
-
@input="(ev: any) => updateProp('navbarPadding', ev?.target?.value)"
|
|
266
|
-
>
|
|
267
|
-
</div>
|
|
268
|
-
|
|
269
|
-
<!-- Button Border -->
|
|
270
|
-
<div class="form-control">
|
|
271
|
-
<label class="label">
|
|
272
|
-
<span class="label-text">Button Border</span>
|
|
273
|
-
</label>
|
|
274
|
-
<input
|
|
275
|
-
type="text"
|
|
276
|
-
placeholder="enter case"
|
|
277
|
-
class="input input-bordered"
|
|
278
|
-
:value="theme.borderBtn"
|
|
279
|
-
@input="(ev: any) => updateProp('borderBtn', ev?.target?.value)"
|
|
280
|
-
>
|
|
281
|
-
</div>
|
|
282
|
-
</div>
|
|
283
|
-
</div>
|
|
284
|
-
</template>
|
|
@@ -1,70 +0,0 @@
|
|
|
1
|
-
|
|
2
|
-
<script setup lang="ts">
|
|
3
|
-
defineProps({
|
|
4
|
-
name: { type: String },
|
|
5
|
-
isDefault: { type: Boolean, default: false },
|
|
6
|
-
config: { type: Object, required: true },
|
|
7
|
-
})
|
|
8
|
-
</script>
|
|
9
|
-
|
|
10
|
-
<template>
|
|
11
|
-
<div class="w-full max-w-5xl space-y-4">
|
|
12
|
-
<h2>Copy the below theme configuration into <span class="kbd">tailwind.config.js</span></h2>
|
|
13
|
-
<div class="shadow-lg mockup-code">
|
|
14
|
-
<pre><code>daisyui: {
|
|
15
|
-
themes: [
|
|
16
|
-
{
|
|
17
|
-
'{{ name }}': {
|
|
18
|
-
<div class="mini-swatch" :style="`background: ${config.primary}`" /> 'primary' : '{{ config.primary }}',<span class="comment"> /* Primary color */</span>
|
|
19
|
-
<div class="mini-swatch" :style="`background: ${config.primaryFocus}`" /> 'primary-focus' : '{{ config.primaryFocus }}',<span class="comment"> /* Primary color - focused */</span>
|
|
20
|
-
<div class="mini-swatch" :style="`background: ${config.primaryContent}`" /> 'primary-content' : '{{ config.primaryContent }}',<span class="comment"> /* Foreground content color to use on primary color */</span>
|
|
21
|
-
|
|
22
|
-
<div class="mini-swatch" :style="`background: ${config.secondary}`" /> 'secondary' : '{{ config.secondary }}',<span class="comment"> /* Secondary color */</span>
|
|
23
|
-
<div class="mini-swatch" :style="`background: ${config.secondaryFocus}`" /> 'secondary-focus' : '{{ config.secondaryFocus }}',<span class="comment"> /* Secondary color - focused */</span>
|
|
24
|
-
<div class="mini-swatch" :style="`background: ${config.secondaryContent}`" /> 'secondary-content' : '{{ config.secondaryContent }}',<span class="comment"> /* Foreground content color to use on secondary color */</span>
|
|
25
|
-
|
|
26
|
-
<div class="mini-swatch" :style="`background: ${config.accent}`" /> 'accent' : '{{ config.accent }}',<span class="comment"> /* Accent color */</span>
|
|
27
|
-
<div class="mini-swatch" :style="`background: ${config.accentFocus}`" /> 'accent-focus' : '{{ config.accentFocus }}',<span class="comment"> /* Accent color - focused */</span>
|
|
28
|
-
<div class="mini-swatch" :style="`background: ${config.accentContent}`" /> 'accent-content' : '{{ config.accentContent }}',<span class="comment"> /* Foreground content color to use on accent color */</span>
|
|
29
|
-
|
|
30
|
-
<div class="mini-swatch" :style="`background: ${config.neutral}`" /> 'neutral' : '{{ config.neutral }}',<span class="comment"> /* Neutral color */</span>
|
|
31
|
-
<div class="mini-swatch" :style="`background: ${config.neutralFocus}`" /> 'neutral-focus' : '{{ config.neutralFocus }}',<span class="comment"> /* Neutral color - focused */</span>
|
|
32
|
-
<div class="mini-swatch" :style="`background: ${config.neutralContent}`" /> 'neutral-content' : '{{ config.neutralContent }}',<span class="comment"> /* Foreground content color to use on neutral color */</span>
|
|
33
|
-
|
|
34
|
-
<div class="mini-swatch" :style="`background: ${config.base100}`" /> 'base-100' : '{{ config.base100 }}',<span class="comment"> /* Base color of page, used for blank backgrounds */</span>
|
|
35
|
-
<div class="mini-swatch" :style="`background: ${config.base200}`" /> 'base-200' : '{{ config.base200 }}',<span class="comment"> /* Base color, a little darker */</span>
|
|
36
|
-
<div class="mini-swatch" :style="`background: ${config.base300}`" /> 'base-300' : '{{ config.base300 }}',<span class="comment"> /* Base color, even more darker */</span>
|
|
37
|
-
<div class="mini-swatch" :style="`background: ${config.baseContent}`" /> 'base-content' : '{{ config.baseContent }}',<span class="comment"> /* Foreground content color to use on base color */</span>
|
|
38
|
-
|
|
39
|
-
<div class="mini-swatch" :style="`background: ${config.info}`" /> 'info' : '{{ config.info }}',<span class="comment"> /* Info */</span>
|
|
40
|
-
<div class="mini-swatch" :style="`background: ${config.success}`" /> 'success' : '{{ config.success }}',<span class="comment"> /* Success */</span>
|
|
41
|
-
<div class="mini-swatch" :style="`background: ${config.warning}`" /> 'warning' : '{{ config.warning }}',<span class="comment"> /* Warning */</span>
|
|
42
|
-
<div class="mini-swatch" :style="`background: ${config.error}`" /> 'error' : '{{ config.error }}',<span class="comment"> /* Error */</span>
|
|
43
|
-
|
|
44
|
-
<div class="mini-swatch bg-neutral" />'--rounded-box': '{{ config.roundedBox }}', <span class="comment">/* border-radius for cards and other big elements */</span>
|
|
45
|
-
<div class="mini-swatch bg-neutral" />'--rounded-btn': '{{ config.roundedBtn }}', <span class="comment">/* border-radius for buttons and similar elements */</span>
|
|
46
|
-
<div class="mini-swatch bg-neutral" />'--rounded-badge': '{{ config.roundedBadge }}', <span class="comment">/* border-radius for badge and other small elements */</span>
|
|
47
|
-
|
|
48
|
-
<div class="mini-swatch bg-neutral" />'--animation-btn': '{{ config.animationBtn }}', <span class="comment">/* bounce animation time for button */</span>
|
|
49
|
-
<div class="mini-swatch bg-neutral" />'--animation-input': '{{ config.animationInput }}', <span class="comment">/* bounce animation time for checkbox, toggle, etc */</span>
|
|
50
|
-
|
|
51
|
-
<div class="mini-swatch bg-neutral" />'--btn-text-case': '{{ config.btnTextCase }}', <span class="comment">/* default text case for buttons */</span>
|
|
52
|
-
<div class="mini-swatch bg-neutral" />'--navbar-padding': '{{ config.navbarPadding }}', <span class="comment">/* default padding for navbar */</span>
|
|
53
|
-
<div class="mini-swatch bg-neutral" />'--border-btn': '{{ config.borderBtn }}', <span class="comment">/* default border size for button */</span>
|
|
54
|
-
},
|
|
55
|
-
},
|
|
56
|
-
],
|
|
57
|
-
},</code></pre>
|
|
58
|
-
</div>
|
|
59
|
-
</div>
|
|
60
|
-
</template>
|
|
61
|
-
|
|
62
|
-
<style scoped lang="postcss">
|
|
63
|
-
.mini-swatch {
|
|
64
|
-
@apply h-4 w-4 rounded inline-block relative select-none;
|
|
65
|
-
top: 3px;
|
|
66
|
-
}
|
|
67
|
-
.comment {
|
|
68
|
-
@apply text-neutral-content text-opacity-30 select-none;
|
|
69
|
-
}
|
|
70
|
-
</style>
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
<script setup lang="ts">
|
|
2
|
-
import { onClickOutside } from '@vueuse/core'
|
|
3
|
-
import { defaultThemes } from './theme-utils'
|
|
4
|
-
import { usePopper } from '~~/composables/use-popper'
|
|
5
|
-
|
|
6
|
-
const { theme } = useTheme()
|
|
7
|
-
|
|
8
|
-
const themes = useLocalStorage('themes', defaultThemes)
|
|
9
|
-
const themeNames = computed(() => themes.value.map(t => t.name))
|
|
10
|
-
|
|
11
|
-
const theButton = ref(null)
|
|
12
|
-
const thePopup = ref(null)
|
|
13
|
-
const popper = usePopper(theButton, thePopup)
|
|
14
|
-
|
|
15
|
-
const container = ref(null)
|
|
16
|
-
onClickOutside(container, () => popper.hide())
|
|
17
|
-
</script>
|
|
18
|
-
|
|
19
|
-
<template>
|
|
20
|
-
<div ref="container">
|
|
21
|
-
<Button ref="theButton" square class="md:btn-ghost" @click="popper.toggle">
|
|
22
|
-
<Icon name="feather:sun" class="text-base w-5 h-5" />
|
|
23
|
-
</Button>
|
|
24
|
-
|
|
25
|
-
<div ref="thePopup">
|
|
26
|
-
<transition
|
|
27
|
-
enter-active-class="duration-200 ease-out"
|
|
28
|
-
enter-from-class="scale-95 opacity-0"
|
|
29
|
-
enter-to-class="scale-100 opacity-100"
|
|
30
|
-
leave-active-class="duration-100 ease-in"
|
|
31
|
-
leave-from-class="scale-100 opacity-100"
|
|
32
|
-
leave-to-class="scale-95 opacity-0"
|
|
33
|
-
>
|
|
34
|
-
<Menu v-if="popper.isVisible" compact class="py-3 border shadow-lg bg-base-100 rounded-box border-base-300">
|
|
35
|
-
<MenuTitle> Choose a Theme </MenuTitle>
|
|
36
|
-
<div class="overflow-y-scroll h-96 ">
|
|
37
|
-
<MenuItem v-for="name in themeNames" :key="name" :class="{ 'bg-primary-focus text-primary-content': name === theme }">
|
|
38
|
-
<a @click="theme = name">
|
|
39
|
-
{{ name }}
|
|
40
|
-
</a>
|
|
41
|
-
</MenuItem>
|
|
42
|
-
</div>
|
|
43
|
-
</Menu>
|
|
44
|
-
</transition>
|
|
45
|
-
</div>
|
|
46
|
-
</div>
|
|
47
|
-
</template>
|