daisy-ui-kit 0.4.4
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 +80 -0
- package/components/-utils.ts +41 -0
- package/components/.DS_Store +0 -0
- package/components/Alert.vue +27 -0
- package/components/Artboard.vue +33 -0
- package/components/Avatar.vue +85 -0
- package/components/AvatarGroup.vue +19 -0
- package/components/Badge.vue +45 -0
- package/components/BottomNav.vue +27 -0
- package/components/Breadcrumbs.vue +7 -0
- package/components/Button.config.ts +26 -0
- package/components/Button.vue +112 -0
- package/components/ButtonGroup.vue +5 -0
- package/components/Card.vue +31 -0
- package/components/CardActions.vue +16 -0
- package/components/CardBody.vue +16 -0
- package/components/CardTitle.vue +16 -0
- package/components/Carousel.vue +26 -0
- package/components/CarouselItem.vue +5 -0
- package/components/Checkbox.vue +47 -0
- package/components/Code.vue +91 -0
- package/components/CodePreview.vue +28 -0
- package/components/CodeWrapper.vue +10 -0
- package/components/Collapse.vue +33 -0
- package/components/CollapseContent.vue +5 -0
- package/components/CollapseTitle.vue +5 -0
- package/components/Countdown.vue +16 -0
- package/components/CountdownTimers.vue +66 -0
- package/components/Counter.vue +15 -0
- package/components/Crumb.vue +5 -0
- package/components/DarkToggle.vue +11 -0
- package/components/DemoElement.vue +32 -0
- package/components/DemoExample.vue +23 -0
- package/components/Divider.vue +25 -0
- package/components/Drawer.vue +19 -0
- package/components/DrawerLayout.vue +35 -0
- package/components/DrawerLayoutContent.vue +11 -0
- package/components/Dropdown.vue +30 -0
- package/components/DropdownContent.vue +3 -0
- package/components/Flex.vue +146 -0
- package/components/FlexItem.vue +146 -0
- package/components/Footer.vue +25 -0
- package/components/FooterTitle.vue +17 -0
- package/components/FormControl.vue +5 -0
- package/components/Hero.vue +17 -0
- package/components/HeroContent.vue +17 -0
- package/components/HeroOverlay.vue +5 -0
- package/components/Home/AlternatingFeatureSections.vue +217 -0
- package/components/Home/CTA.vue +27 -0
- package/components/Home/Footer.vue +210 -0
- package/components/Home/GradientFeatureSections.vue +98 -0
- package/components/Home/Header.vue +174 -0
- package/components/Home/Hero.vue +52 -0
- package/components/Home/LogoCloud.vue +49 -0
- package/components/Home/StatsSection.vue +51 -0
- package/components/Home/Testimonial.vue +23 -0
- package/components/Indicator.vue +16 -0
- package/components/IndicatorItem.vue +37 -0
- package/components/InputGroup.vue +33 -0
- package/components/Kbd.vue +26 -0
- package/components/Label.vue +17 -0
- package/components/LabelText.vue +17 -0
- package/components/LabelTextAlt.vue +17 -0
- package/components/Link.vue +32 -0
- package/components/Logo.vue +8 -0
- package/components/Mask.config.ts +77 -0
- package/components/Mask.vue +15 -0
- package/components/Menu.vue +26 -0
- package/components/MenuItem.vue +17 -0
- package/components/MenuTitle.vue +14 -0
- package/components/MobileSidebar.vue +92 -0
- package/components/MockupCode.vue +4 -0
- package/components/Modal.vue +16 -0
- package/components/ModalAction.vue +5 -0
- package/components/ModalBox.vue +5 -0
- package/components/ModalWrapper.vue +32 -0
- package/components/NavButton.vue +22 -0
- package/components/Navbar.vue +17 -0
- package/components/NavbarCenter.vue +16 -0
- package/components/NavbarEnd.vue +16 -0
- package/components/NavbarStart.vue +16 -0
- package/components/Phone.vue +8 -0
- package/components/Progress.vue +44 -0
- package/components/Prose.vue +36 -0
- package/components/RadialProgress.vue +42 -0
- package/components/Radio.vue +63 -0
- package/components/RadioGroup.vue +41 -0
- package/components/Range.vue +49 -0
- package/components/RangeMeasure.vue +71 -0
- package/components/RangeMeasureTick.vue +62 -0
- package/components/Rating.vue +152 -0
- package/components/Select.vue +104 -0
- package/components/Sidebar.vue +89 -0
- package/components/SidebarMenuSection.vue +35 -0
- package/components/SigninForm.vue +47 -0
- package/components/Stack.vue +16 -0
- package/components/Stat.vue +5 -0
- package/components/StatActions.vue +5 -0
- package/components/StatDesc.vue +5 -0
- package/components/StatFigure.vue +5 -0
- package/components/StatTitle.vue +5 -0
- package/components/StatValue.vue +5 -0
- package/components/Stats.vue +5 -0
- package/components/Step.vue +36 -0
- package/components/Steps.vue +22 -0
- package/components/Swap.vue +60 -0
- package/components/Tab.vue +49 -0
- package/components/TabContent.vue +28 -0
- package/components/Tabs.vue +71 -0
- package/components/TabsManager.vue +37 -0
- package/components/Text.vue +179 -0
- package/components/TextArea.vue +53 -0
- package/components/TextInput.vue +64 -0
- package/components/Toast.vue +33 -0
- package/components/Toggle.vue +48 -0
- package/components/Tooltip.vue +49 -0
- package/components/UserMenu.vue +62 -0
- package/components/Window.vue +5 -0
- package/components/fixtures.ts +62 -0
- package/components/theme/Builder.vue +284 -0
- package/components/theme/Output.vue +70 -0
- package/components/theme/Picker.vue +39 -0
- package/components/theme/Preview.vue +1684 -0
- package/components/theme/Provider.vue +43 -0
- package/components/theme/Snooper.vue +41 -0
- package/components/theme/Swatch.vue +47 -0
- package/components/theme/custom-themes.ts +34 -0
- package/components/theme/theme-utils.ts +164 -0
- package/components/types.ts +7 -0
- package/index.ts +96 -0
- package/package.json +55 -0
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import { colorVars, hexToHSL, utilVars } from './theme-utils'
|
|
3
|
+
|
|
4
|
+
const props: Record<string, any> = defineProps({
|
|
5
|
+
config: { type: Object, default: () => ({}) },
|
|
6
|
+
})
|
|
7
|
+
const el: any = ref(null)
|
|
8
|
+
const colorJsVars = colorVars.map(c => c.jsVar)
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Watch for changes in the theme and set the css variables directly on the ThemePreview's main element.
|
|
12
|
+
*/
|
|
13
|
+
onMounted(() => {
|
|
14
|
+
watch(
|
|
15
|
+
() => props.config,
|
|
16
|
+
(config) => {
|
|
17
|
+
colorVars.forEach(({ jsVar, cssVar }) => {
|
|
18
|
+
if (config?.[jsVar]) {
|
|
19
|
+
const value = hexToHSL(config[jsVar])
|
|
20
|
+
el.value.style.setProperty(cssVar, value)
|
|
21
|
+
}
|
|
22
|
+
else {
|
|
23
|
+
el.value.style.removeProperty(cssVar)
|
|
24
|
+
}
|
|
25
|
+
})
|
|
26
|
+
utilVars.forEach(({ jsVar, cssVar }) => {
|
|
27
|
+
if (config?.[jsVar])
|
|
28
|
+
el.value.style.setProperty(cssVar, config[jsVar])
|
|
29
|
+
|
|
30
|
+
else
|
|
31
|
+
el.value.style.removeProperty(cssVar)
|
|
32
|
+
})
|
|
33
|
+
},
|
|
34
|
+
{ immediate: true, deep: true },
|
|
35
|
+
)
|
|
36
|
+
})
|
|
37
|
+
</script>
|
|
38
|
+
|
|
39
|
+
<template>
|
|
40
|
+
<div ref="el" class="theme-provider">
|
|
41
|
+
<slot />
|
|
42
|
+
</div>
|
|
43
|
+
</template>
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
|
|
2
|
+
<script setup lang="ts">
|
|
3
|
+
/**
|
|
4
|
+
* ThemeSnooper uses the theme name to read the theme's CSS variables from the DOM.
|
|
5
|
+
*/
|
|
6
|
+
import { colorVars, hslStringToHex, utilVars } from './theme-utils'
|
|
7
|
+
|
|
8
|
+
const props = defineProps({
|
|
9
|
+
name: { type: String },
|
|
10
|
+
isDefault: { type: Boolean },
|
|
11
|
+
config: { type: Object },
|
|
12
|
+
})
|
|
13
|
+
const emit = defineEmits(['snoop'])
|
|
14
|
+
|
|
15
|
+
const el: any = ref(null)
|
|
16
|
+
|
|
17
|
+
onMounted(() => {
|
|
18
|
+
watch(
|
|
19
|
+
() => props.name,
|
|
20
|
+
(name) => {
|
|
21
|
+
if (props.isDefault && !props.config?.primary) {
|
|
22
|
+
setTimeout(() => {
|
|
23
|
+
const config = colorVars.concat(utilVars as any).reduce((config: any, current) => {
|
|
24
|
+
const style = getComputedStyle(el.value).getPropertyValue(current.cssVar).trim()
|
|
25
|
+
config[current.jsVar] = current.className ? hslStringToHex(style) : style
|
|
26
|
+
return config
|
|
27
|
+
}, {})
|
|
28
|
+
emit('snoop', { name, isDefault: props.isDefault, config })
|
|
29
|
+
}, 100)
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
{ immediate: true },
|
|
33
|
+
)
|
|
34
|
+
})
|
|
35
|
+
</script>
|
|
36
|
+
|
|
37
|
+
<template>
|
|
38
|
+
<div :data-theme="name" class="theme-snooper">
|
|
39
|
+
<div ref="el" />
|
|
40
|
+
</div>
|
|
41
|
+
</template>
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
const $props = defineProps({
|
|
3
|
+
title: { type: String, required: true, default: '' },
|
|
4
|
+
color: { type: String, required: true, default: '' },
|
|
5
|
+
})
|
|
6
|
+
const emit = defineEmits(['update:color'])
|
|
7
|
+
|
|
8
|
+
const swatchColor = computed({
|
|
9
|
+
get: () => $props.color,
|
|
10
|
+
set: val => emit('update:color', val),
|
|
11
|
+
})
|
|
12
|
+
</script>
|
|
13
|
+
<template>
|
|
14
|
+
<div class="swatch">
|
|
15
|
+
<label :for="`colorinput-${title}`" class="swatch-body" :class="title">
|
|
16
|
+
<div class="title-pill">.{{ title }}</div>
|
|
17
|
+
<div class="text-input-wrapper">
|
|
18
|
+
<input v-model="swatchColor" type="text" autocomplete="off" class="text-input" :class="title">
|
|
19
|
+
</div>
|
|
20
|
+
</label>
|
|
21
|
+
<input :id="`colorinput-${title}`" v-model="swatchColor" type="color" class="color-input">
|
|
22
|
+
</div>
|
|
23
|
+
</template>
|
|
24
|
+
|
|
25
|
+
<style scoped lang="postcss">
|
|
26
|
+
.swatch {
|
|
27
|
+
@apply relative col-start-1 row-start-1 overflow-hidden;
|
|
28
|
+
@apply hover:shadow-lg hover:scale-105 transition-all transform shadow hover:rounded-xl hover:-translate-y-0.5;
|
|
29
|
+
}
|
|
30
|
+
.swatch-body {
|
|
31
|
+
@apply flex flex-col items-start justify-end w-full h-24 cursor-pointer p-2;
|
|
32
|
+
}
|
|
33
|
+
.text-input-wrapper {
|
|
34
|
+
@apply text-sm text-white bg-black rounded-b rounded-tr bg-opacity-30 p-1;
|
|
35
|
+
}
|
|
36
|
+
.text-input {
|
|
37
|
+
@apply font-mono rounded outline-none bg-opacity-0 transition-colors duration-300 px-1 py-0.5;
|
|
38
|
+
@apply hover:bg-base-100 hover:bg-opacity-30;
|
|
39
|
+
@apply focus:bg-base-100 focus:bg-opacity-30;
|
|
40
|
+
}
|
|
41
|
+
.color-input {
|
|
42
|
+
@apply absolute top-16 left-4 opacity-0;
|
|
43
|
+
}
|
|
44
|
+
.title-pill {
|
|
45
|
+
@apply px-1 text-xs text-white bg-black rounded-t bg-opacity-30;
|
|
46
|
+
}
|
|
47
|
+
</style>
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export const rovitDark = {
|
|
2
|
+
primary: '#793ef9',
|
|
3
|
+
primaryFocus: '#570df8',
|
|
4
|
+
primaryContent: '#ffffff',
|
|
5
|
+
secondary: '#f000b8',
|
|
6
|
+
secondaryFocus: '#bd0091',
|
|
7
|
+
secondaryContent: '#ffffff',
|
|
8
|
+
accent: '#37cdbe',
|
|
9
|
+
accentFocus: '#2aa79b',
|
|
10
|
+
accentContent: '#ffffff',
|
|
11
|
+
neutral: '#2a2e37',
|
|
12
|
+
neutralFocus: '#16181d',
|
|
13
|
+
neutralContent: '#ffffff',
|
|
14
|
+
base100: '#3d4451',
|
|
15
|
+
base200: '#2a2e37',
|
|
16
|
+
base300: '#16181d',
|
|
17
|
+
baseContent: '#ebecf0',
|
|
18
|
+
info: '#66c6ff',
|
|
19
|
+
success: '#87d039',
|
|
20
|
+
warning: '#e2d562',
|
|
21
|
+
error: '#ff6f6f',
|
|
22
|
+
borderColor: 'var(--b3)',
|
|
23
|
+
roundedBox: '1rem',
|
|
24
|
+
roundedBtn: '0.5rem',
|
|
25
|
+
roundedBadge: '1.9rem',
|
|
26
|
+
animationBtn: '0.25s',
|
|
27
|
+
animationInput: '.2s',
|
|
28
|
+
btnTextCase: 'uppercase',
|
|
29
|
+
btnFocusScale: '0.95',
|
|
30
|
+
navbarPadding: '.5rem',
|
|
31
|
+
borderBtn: '1px',
|
|
32
|
+
tabBorder: '1px',
|
|
33
|
+
tabRadius: '0.5rem',
|
|
34
|
+
}
|
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
/* eslint-disable eqeqeq */
|
|
2
|
+
|
|
3
|
+
export function hexToHSL(H: string) {
|
|
4
|
+
// Convert hex to RGB first
|
|
5
|
+
let r: any = 0
|
|
6
|
+
let g: any = 0
|
|
7
|
+
let b: any = 0
|
|
8
|
+
if (H.length == 4) {
|
|
9
|
+
r = `0x${H[1]}${H[1]}`
|
|
10
|
+
g = `0x${H[2]}${H[2]}`
|
|
11
|
+
b = `0x${H[3]}${H[3]}`
|
|
12
|
+
}
|
|
13
|
+
else if (H.length == 7) {
|
|
14
|
+
r = `0x${H[1]}${H[2]}`
|
|
15
|
+
g = `0x${H[3]}${H[4]}`
|
|
16
|
+
b = `0x${H[5]}${H[6]}`
|
|
17
|
+
}
|
|
18
|
+
// Then to HSL
|
|
19
|
+
r /= 255
|
|
20
|
+
g /= 255
|
|
21
|
+
b /= 255
|
|
22
|
+
const cmin = Math.min(r, g, b)
|
|
23
|
+
const cmax = Math.max(r, g, b)
|
|
24
|
+
const delta = cmax - cmin
|
|
25
|
+
let h = 0
|
|
26
|
+
let s = 0
|
|
27
|
+
let l = 0
|
|
28
|
+
|
|
29
|
+
if (delta == 0) h = 0
|
|
30
|
+
else if (cmax == r) h = ((g - b) / delta) % 6
|
|
31
|
+
else if (cmax == g) h = (b - r) / delta + 2
|
|
32
|
+
else h = (r - g) / delta + 4
|
|
33
|
+
|
|
34
|
+
h = Math.round(h * 60)
|
|
35
|
+
|
|
36
|
+
if (h < 0) h += 360
|
|
37
|
+
|
|
38
|
+
l = (cmax + cmin) / 2
|
|
39
|
+
s = delta == 0 ? 0 : delta / (1 - Math.abs(2 * l - 1))
|
|
40
|
+
s = +(s * 100).toFixed(1)
|
|
41
|
+
l = +(l * 100).toFixed(1)
|
|
42
|
+
|
|
43
|
+
return `${h} ${s}% ${l}%`
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
export interface ThemeConfig {
|
|
47
|
+
primary?: string
|
|
48
|
+
primaryFocus?: string
|
|
49
|
+
primaryContent?: string
|
|
50
|
+
secondary?: string
|
|
51
|
+
secondaryFocus?: string
|
|
52
|
+
secondaryContent?: string
|
|
53
|
+
accent?: string
|
|
54
|
+
accentFocus?: string
|
|
55
|
+
accentContent?: string
|
|
56
|
+
neutral?: string
|
|
57
|
+
neutralFocus?: string
|
|
58
|
+
neutralContent?: string
|
|
59
|
+
base100?: string
|
|
60
|
+
base200?: string
|
|
61
|
+
base300?: string
|
|
62
|
+
baseContent?: string
|
|
63
|
+
info?: string
|
|
64
|
+
success?: string
|
|
65
|
+
warning?: string
|
|
66
|
+
error?: string
|
|
67
|
+
borderColor?: string
|
|
68
|
+
roundedBox?: string
|
|
69
|
+
roundedBtn?: string
|
|
70
|
+
roundedBadge?: string
|
|
71
|
+
animationBtn?: string
|
|
72
|
+
animationInput?: string
|
|
73
|
+
btnTextCase?: string
|
|
74
|
+
btnFocusScale?: string
|
|
75
|
+
navbarPadding?: string
|
|
76
|
+
borderBtn?: string
|
|
77
|
+
tabBorder?: string
|
|
78
|
+
tabRadius?: string
|
|
79
|
+
}
|
|
80
|
+
export interface Theme {
|
|
81
|
+
name: string
|
|
82
|
+
isDefault: boolean
|
|
83
|
+
config: ThemeConfig
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
export const defaultThemes: Theme[] = [
|
|
87
|
+
{ name: 'light', isDefault: true, config: {} },
|
|
88
|
+
{ name: 'dark', isDefault: true, config: {} },
|
|
89
|
+
{ name: 'cupcake', isDefault: true, config: {} },
|
|
90
|
+
{ name: 'bumblebee', isDefault: true, config: {} },
|
|
91
|
+
{ name: 'emerald', isDefault: true, config: {} },
|
|
92
|
+
{ name: 'corporate', isDefault: true, config: {} },
|
|
93
|
+
{ name: 'synthwave', isDefault: true, config: {} },
|
|
94
|
+
{ name: 'retro', isDefault: true, config: {} },
|
|
95
|
+
{ name: 'cyberpunk', isDefault: true, config: {} },
|
|
96
|
+
{ name: 'valentine', isDefault: true, config: {} },
|
|
97
|
+
{ name: 'halloween', isDefault: true, config: {} },
|
|
98
|
+
{ name: 'garden', isDefault: true, config: {} },
|
|
99
|
+
{ name: 'forest', isDefault: true, config: {} },
|
|
100
|
+
{ name: 'aqua', isDefault: true, config: {} },
|
|
101
|
+
{ name: 'lofi', isDefault: true, config: {} },
|
|
102
|
+
{ name: 'pastel', isDefault: true, config: {} },
|
|
103
|
+
{ name: 'fantasy', isDefault: true, config: {} },
|
|
104
|
+
{ name: 'wireframe', isDefault: true, config: {} },
|
|
105
|
+
{ name: 'black', isDefault: true, config: {} },
|
|
106
|
+
{ name: 'luxury', isDefault: true, config: {} },
|
|
107
|
+
{ name: 'dracula', isDefault: true, config: {} },
|
|
108
|
+
{ name: 'cmyk', isDefault: true, config: {} },
|
|
109
|
+
]
|
|
110
|
+
|
|
111
|
+
export function hslToHex([h, s, l]: number[]) {
|
|
112
|
+
l /= 100
|
|
113
|
+
const a = (s * Math.min(l, 1 - l)) / 100
|
|
114
|
+
const f = (n: number) => {
|
|
115
|
+
const k = (n + h / 30) % 12
|
|
116
|
+
const color = l - a * Math.max(Math.min(k - 3, 9 - k, 1), -1)
|
|
117
|
+
return Math.round(255 * color)
|
|
118
|
+
.toString(16)
|
|
119
|
+
.padStart(2, '0') // convert to Hex and prefix "0" if needed
|
|
120
|
+
}
|
|
121
|
+
return `#${f(0)}${f(8)}${f(4)}`
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
export function hslStringToHex(hslString: string) {
|
|
125
|
+
const args: number[] = hslString.split(' ').map((val: string) => parseInt(val.replace('%', '')))
|
|
126
|
+
return hslToHex(args)
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
export const colorVars = [
|
|
130
|
+
{ className: 'primary', jsVar: 'primary', cssVar: '--p' },
|
|
131
|
+
{ className: 'primary-focus', jsVar: 'primaryFocus', cssVar: '--pf' },
|
|
132
|
+
{ className: 'primary-content', jsVar: 'primaryContent', cssVar: '--pc' },
|
|
133
|
+
{ className: 'secondary', jsVar: 'secondary', cssVar: '--s' },
|
|
134
|
+
{ className: 'secondary-focus', jsVar: 'secondaryFocus', cssVar: '--sf' },
|
|
135
|
+
{ className: 'secondary-content', jsVar: 'secondaryContent', cssVar: '--sc' },
|
|
136
|
+
{ className: 'accent', jsVar: 'accent', cssVar: '--a' },
|
|
137
|
+
{ className: 'accent-focus', jsVar: 'accentFocus', cssVar: '--af' },
|
|
138
|
+
{ className: 'accent-content', jsVar: 'accentContent', cssVar: '--ac' },
|
|
139
|
+
{ className: 'neutral', jsVar: 'neutral', cssVar: '--n' },
|
|
140
|
+
{ className: 'neutral-focus', jsVar: 'neutralFocus', cssVar: '--nf' },
|
|
141
|
+
{ className: 'neutral-content', jsVar: 'neutralContent', cssVar: '--nc' },
|
|
142
|
+
{ className: 'base-100', jsVar: 'base100', cssVar: '--b1' },
|
|
143
|
+
{ className: 'base-200', jsVar: 'base200', cssVar: '--b2' },
|
|
144
|
+
{ className: 'base-300', jsVar: 'base300', cssVar: '--b3' },
|
|
145
|
+
{ className: 'base-content', jsVar: 'baseContent', cssVar: '--bc' },
|
|
146
|
+
{ className: 'info', jsVar: 'info', cssVar: '--in' },
|
|
147
|
+
{ className: 'success', jsVar: 'success', cssVar: '--su' },
|
|
148
|
+
{ className: 'warning', jsVar: 'warning', cssVar: '--wa' },
|
|
149
|
+
{ className: 'error', jsVar: 'error', cssVar: '--er' },
|
|
150
|
+
]
|
|
151
|
+
export const utilVars = [
|
|
152
|
+
{ jsVar: 'borderColor', cssVar: '--border-color' },
|
|
153
|
+
{ jsVar: 'roundedBox', cssVar: '--rounded-box' },
|
|
154
|
+
{ jsVar: 'roundedBtn', cssVar: '--rounded-btn' },
|
|
155
|
+
{ jsVar: 'roundedBadge', cssVar: '--rounded-badge' },
|
|
156
|
+
{ jsVar: 'animationBtn', cssVar: '--animation-btn' },
|
|
157
|
+
{ jsVar: 'animationInput', cssVar: '--animation-input' },
|
|
158
|
+
{ jsVar: 'btnTextCase', cssVar: '--btn-text-case' },
|
|
159
|
+
{ jsVar: 'btnFocusScale', cssVar: '--btn-focus-scale' },
|
|
160
|
+
{ jsVar: 'navbarPadding', cssVar: '--navbar-padding' },
|
|
161
|
+
{ jsVar: 'borderBtn', cssVar: '--border-btn' },
|
|
162
|
+
{ jsVar: 'tabBorder', cssVar: '--tab-border' },
|
|
163
|
+
{ jsVar: 'tabRadius', cssVar: '--tab-radius' },
|
|
164
|
+
]
|
package/index.ts
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
export { default as Alert } from './components/Alert.vue'
|
|
2
|
+
export { default as Artboard } from './components/Artboard.vue'
|
|
3
|
+
export { default as Avatar } from './components/Avatar.vue'
|
|
4
|
+
export { default as AvatarGroup } from './components/AvatarGroup.vue'
|
|
5
|
+
export { default as Badge } from './components/Badge.vue'
|
|
6
|
+
export { default as BottomNav } from './components/BottomNav.vue'
|
|
7
|
+
export { default as Breadcrumbs } from './components/Breadcrumbs.vue'
|
|
8
|
+
export { default as Button } from './components/Button.vue'
|
|
9
|
+
export { default as ButtonGroup } from './components/ButtonGroup.vue'
|
|
10
|
+
export { default as Card } from './components/Card.vue'
|
|
11
|
+
export { default as CardActions } from './components/CardActions.vue'
|
|
12
|
+
export { default as CardBody } from './components/CardBody.vue'
|
|
13
|
+
export { default as CardTitle } from './components/CardTitle.vue'
|
|
14
|
+
export { default as Carousel } from './components/Carousel.vue'
|
|
15
|
+
export { default as CarouselItem } from './components/CarouselItem.vue'
|
|
16
|
+
export { default as Checkbox } from './components/Checkbox.vue'
|
|
17
|
+
// export { default as Code } from './components/Code.vue'
|
|
18
|
+
export { default as CodePreview } from './components/CodePreview.vue'
|
|
19
|
+
export { default as CodeWrapper } from './components/CodeWrapper.vue'
|
|
20
|
+
export { default as Collapse } from './components/Collapse.vue'
|
|
21
|
+
export { default as CollapseContent } from './components/CollapseContent.vue'
|
|
22
|
+
export { default as CollapseTitle } from './components/CollapseTitle.vue'
|
|
23
|
+
export { default as Countdown } from './components/Countdown.vue'
|
|
24
|
+
export { default as CountdownTimers } from './components/CountdownTimers.vue'
|
|
25
|
+
export { default as Counter } from './components/Counter.vue'
|
|
26
|
+
export { default as Crumb } from './components/Crumb.vue'
|
|
27
|
+
export { default as DemoElement } from './components/DemoElement.vue'
|
|
28
|
+
export { default as DemoExample } from './components/DemoExample.vue'
|
|
29
|
+
export { default as Divider } from './components/Divider.vue'
|
|
30
|
+
export { default as Drawer } from './components/Drawer.vue'
|
|
31
|
+
export { default as DrawerLayout } from './components/DrawerLayout.vue'
|
|
32
|
+
export { default as DrawerLayoutContent } from './components/DrawerLayoutContent.vue'
|
|
33
|
+
export { default as Dropdown } from './components/Dropdown.vue'
|
|
34
|
+
export { default as DropdownContent } from './components/DropdownContent.vue'
|
|
35
|
+
export { default as Flex } from './components/Flex.vue'
|
|
36
|
+
export { default as FlexItem } from './components/FlexItem.vue'
|
|
37
|
+
export { default as Footer } from './components/Footer.vue'
|
|
38
|
+
export { default as FooterTitle } from './components/FooterTitle.vue'
|
|
39
|
+
export { default as FormControl } from './components/FormControl.vue'
|
|
40
|
+
export { default as Hero } from './components/Hero.vue'
|
|
41
|
+
export { default as HeroContent } from './components/HeroContent.vue'
|
|
42
|
+
export { default as HeroOverlay } from './components/HeroOverlay.vue'
|
|
43
|
+
export { default as Indicator } from './components/Indicator.vue'
|
|
44
|
+
export { default as IndicatorItem } from './components/IndicatorItem.vue'
|
|
45
|
+
export { default as InputGroup } from './components/InputGroup.vue'
|
|
46
|
+
export { default as Kbd } from './components/Kbd.vue'
|
|
47
|
+
export { default as Label } from './components/Label.vue'
|
|
48
|
+
export { default as LabelText } from './components/LabelText.vue'
|
|
49
|
+
export { default as LabelTextAlt } from './components/LabelTextAlt.vue'
|
|
50
|
+
export { default as Link } from './components/Link.vue'
|
|
51
|
+
export { default as Mask } from './components/Mask.vue'
|
|
52
|
+
export { default as Menu } from './components/Menu.vue'
|
|
53
|
+
export { default as MenuItem } from './components/MenuItem.vue'
|
|
54
|
+
export { default as MenuTitle } from './components/MenuTitle.vue'
|
|
55
|
+
export { default as MockupCode } from './components/MockupCode.vue'
|
|
56
|
+
export { default as Modal } from './components/Modal.vue'
|
|
57
|
+
export { default as ModalAction } from './components/ModalAction.vue'
|
|
58
|
+
export { default as ModalBox } from './components/ModalBox.vue'
|
|
59
|
+
export { default as ModalWrapper } from './components/ModalWrapper.vue'
|
|
60
|
+
export { default as Navbar } from './components/Navbar.vue'
|
|
61
|
+
export { default as NavbarCenter } from './components/NavbarCenter.vue'
|
|
62
|
+
export { default as NavbarEnd } from './components/NavbarEnd.vue'
|
|
63
|
+
export { default as NavbarStart } from './components/NavbarStart.vue'
|
|
64
|
+
export { default as NavButton } from './components/NavButton.vue'
|
|
65
|
+
export { default as Phone } from './components/Phone.vue'
|
|
66
|
+
export { default as Progress } from './components/Progress.vue'
|
|
67
|
+
export { default as Prose } from './components/Prose.vue'
|
|
68
|
+
export { default as RadialProgress } from './components/RadialProgress.vue'
|
|
69
|
+
export { default as Radio } from './components/Radio.vue'
|
|
70
|
+
export { default as RadioGroup } from './components/RadioGroup.vue'
|
|
71
|
+
export { default as Range } from './components/Range.vue'
|
|
72
|
+
export { default as RangeMeasure } from './components/RangeMeasure.vue'
|
|
73
|
+
export { default as Rating } from './components/Rating.vue'
|
|
74
|
+
export { default as Select } from './components/Select.vue'
|
|
75
|
+
export { default as Stack } from './components/Stack.vue'
|
|
76
|
+
export { default as Stat } from './components/Stat.vue'
|
|
77
|
+
export { default as StatActions } from './components/StatActions.vue'
|
|
78
|
+
export { default as StatDesc } from './components/StatDesc.vue'
|
|
79
|
+
export { default as StatFigure } from './components/StatFigure.vue'
|
|
80
|
+
export { default as Stats } from './components/Stats.vue'
|
|
81
|
+
export { default as StatTitle } from './components/StatTitle.vue'
|
|
82
|
+
export { default as StatValue } from './components/StatValue.vue'
|
|
83
|
+
export { default as Step } from './components/Step.vue'
|
|
84
|
+
export { default as Steps } from './components/Steps.vue'
|
|
85
|
+
export { default as Swap } from './components/Swap.vue'
|
|
86
|
+
export { default as Tab } from './components/Tab.vue'
|
|
87
|
+
export { default as TabContent } from './components/TabContent.vue'
|
|
88
|
+
export { default as Tabs } from './components/Tabs.vue'
|
|
89
|
+
export { default as TabsManager } from './components/TabsManager.vue'
|
|
90
|
+
export { default as Text } from './components/Text.vue'
|
|
91
|
+
export { default as TextArea } from './components/TextArea.vue'
|
|
92
|
+
export { default as TextInput } from './components/TextInput.vue'
|
|
93
|
+
export { default as Toast } from './components/Toast.vue'
|
|
94
|
+
export { default as Toggle } from './components/Toggle.vue'
|
|
95
|
+
export { default as Tooltip } from './components/Tooltip.vue'
|
|
96
|
+
export { default as Window } from './components/Window.vue'
|
package/package.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "daisy-ui-kit",
|
|
3
|
+
"version": "0.4.4",
|
|
4
|
+
"description": "",
|
|
5
|
+
"scripts": {
|
|
6
|
+
"build": "nuxi build",
|
|
7
|
+
"dev": "nuxi dev",
|
|
8
|
+
"start": "node .output/server/index.mjs",
|
|
9
|
+
"lint": "eslint .",
|
|
10
|
+
"publish": "git push origin --tags && git push origin",
|
|
11
|
+
"release:pre": "npm version prerelease && npm publish --tag pre",
|
|
12
|
+
"release:patch": "npm version patch && npm publish",
|
|
13
|
+
"release:minor": "npm version minor && npm publish",
|
|
14
|
+
"release:major": "npm version major && npm publish"
|
|
15
|
+
},
|
|
16
|
+
"main": "index.ts",
|
|
17
|
+
"files": [
|
|
18
|
+
"components/*"
|
|
19
|
+
],
|
|
20
|
+
"dependencies": {
|
|
21
|
+
"@vueuse/core": "^9.0.0",
|
|
22
|
+
"prismjs": "^1.28.0"
|
|
23
|
+
},
|
|
24
|
+
"peerDependencies": {
|
|
25
|
+
"daisyui": "^2.13.5"
|
|
26
|
+
},
|
|
27
|
+
"devDependencies": {
|
|
28
|
+
"@antfu/eslint-config": "^0.25.2",
|
|
29
|
+
"@headlessui/vue": "^1.6.7",
|
|
30
|
+
"@heroicons/vue": "^1.0.6",
|
|
31
|
+
"@iconify/json": "^2.1.83",
|
|
32
|
+
"@nuxtjs/color-mode": "^3.1.4",
|
|
33
|
+
"@pinia/nuxt": "^0.3.1",
|
|
34
|
+
"@rovit/popper": "^3.9.0",
|
|
35
|
+
"@tailwindcss/aspect-ratio": "^0.4.0",
|
|
36
|
+
"@tailwindcss/forms": "^0.5.2",
|
|
37
|
+
"@tailwindcss/line-clamp": "^0.4.0",
|
|
38
|
+
"@tailwindcss/typography": "^0.5.4",
|
|
39
|
+
"@vueuse/nuxt": "^9.0.0",
|
|
40
|
+
"autoprefixer": "^10.4.7",
|
|
41
|
+
"cookie": "^0.4.2",
|
|
42
|
+
"daisyui": "^2.20.0",
|
|
43
|
+
"eslint": "^8.20.0",
|
|
44
|
+
"feathers-pinia": "^0.34.0",
|
|
45
|
+
"mobile-detect": "^1.4.5",
|
|
46
|
+
"nuxt": "^3.0.0-rc.2",
|
|
47
|
+
"ohmyfetch": "^0.4.18",
|
|
48
|
+
"pinia": "^2.0.17",
|
|
49
|
+
"postcss": "^8.4.14",
|
|
50
|
+
"tailwindcss": "^3.1.6",
|
|
51
|
+
"typescript": "^4.7.4",
|
|
52
|
+
"unplugin-icons": "^0.14.7",
|
|
53
|
+
"vue": "^3.2.37"
|
|
54
|
+
}
|
|
55
|
+
}
|