daisy-ui-kit 5.0.0-pre.9 → 5.0.1
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 +277 -48
- package/app/components/Accordion.vue +8 -5
- package/app/components/Alert.vue +2 -1
- package/app/components/Avatar.vue +10 -7
- package/app/components/AvatarGroup.vue +6 -2
- package/app/components/Badge.vue +19 -1
- package/app/components/Button.vue +66 -46
- package/app/components/Calendar.vue +151 -42
- package/app/components/CalendarInput.vue +229 -130
- package/app/components/CalendarSkeleton.vue +51 -10
- package/app/components/Card.vue +20 -2
- package/app/components/CardActions.vue +1 -1
- package/app/components/CardBody.vue +1 -1
- package/app/components/CardTitle.vue +1 -1
- package/app/components/Carousel.vue +2 -1
- package/app/components/Chat.vue +6 -1
- package/app/components/Checkbox.vue +1 -1
- package/app/components/Collapse.vue +38 -5
- package/app/components/CollapseTitle.vue +11 -1
- package/app/components/Countdown.vue +3 -3
- package/app/components/CountdownTimers.vue +4 -7
- package/app/components/Counter.vue +14 -3
- package/app/components/DaisyLink.vue +33 -15
- package/app/components/Dock.vue +5 -6
- package/app/components/DockItem.vue +5 -3
- package/app/components/Drawer.vue +15 -12
- package/app/components/DrawerContent.vue +9 -6
- package/app/components/DrawerSide.vue +9 -6
- package/app/components/Dropdown.vue +61 -50
- package/app/components/DropdownButton.vue +11 -4
- package/app/components/DropdownContent.vue +90 -20
- package/app/components/DropdownTarget.vue +10 -3
- package/app/components/Fab.vue +16 -0
- package/app/components/FabClose.vue +18 -0
- package/app/components/FabMainAction.vue +5 -0
- package/app/components/FabTrigger.vue +117 -0
- package/app/components/Fieldset.vue +5 -4
- package/app/components/FileInput.vue +1 -1
- package/app/components/Filter.vue +45 -38
- package/app/components/Flex.vue +8 -1
- package/app/components/FlexItem.vue +30 -27
- package/app/components/Footer.vue +16 -12
- package/app/components/FooterTitle.vue +8 -5
- package/app/components/Hero.vue +9 -6
- package/app/components/HeroContent.vue +9 -6
- package/app/components/Hover3D.vue +22 -0
- package/app/components/HoverGallery.vue +11 -0
- package/app/components/Indicator.vue +12 -5
- package/app/components/IndicatorItem.vue +21 -14
- package/app/components/Input.vue +44 -47
- package/app/components/Kbd.vue +2 -1
- package/app/components/Label.vue +32 -29
- package/app/components/MenuExpand.vue +5 -13
- package/app/components/MenuExpandToggle.vue +7 -1
- package/app/components/MenuItem.vue +6 -4
- package/app/components/Modal.vue +23 -17
- package/app/components/Progress.vue +13 -1
- package/app/components/Prose.vue +7 -2
- package/app/components/RadialProgress.vue +8 -8
- package/app/components/Radio.vue +1 -1
- package/app/components/RadioGroup.vue +2 -2
- package/app/components/Range.vue +186 -46
- package/app/components/RangeMeasure.vue +33 -30
- package/app/components/RangeMeasureTick.vue +4 -5
- package/app/components/Rating.vue +70 -53
- package/app/components/Select.vue +44 -47
- package/app/components/SkeletonText.vue +11 -0
- package/app/components/Stack.vue +5 -0
- package/app/components/Steps.vue +7 -2
- package/app/components/Swap.vue +4 -10
- package/app/components/Tab.vue +23 -5
- package/app/components/Text.vue +47 -23
- package/app/components/TextArea.vue +75 -30
- package/app/components/TextRotate.vue +24 -0
- package/app/components/ThemeController.vue +3 -4
- package/app/components/ThemeProvider.vue +47 -32
- package/app/components/TimelineLine.vue +1 -1
- package/app/components/TimelineStart.vue +2 -1
- package/app/components/Toast.vue +3 -8
- package/app/components/Toggle.vue +2 -2
- package/app/components/Tooltip.vue +111 -21
- package/app/components/TooltipContent.vue +279 -1
- package/app/components/TooltipTarget.vue +20 -0
- package/app/composables/__tests__/use-calendar.test.ts +239 -0
- package/app/composables/use-calendar.ts +288 -0
- package/app/composables/use-daisy-theme.ts +140 -0
- package/app/composables/use-toast.ts +345 -0
- package/app/composables/useSearch.ts +22 -0
- package/app/utils/drawer-utils.ts +15 -13
- package/app/utils/position-area.ts +40 -0
- package/nuxt.d.ts +13 -0
- package/nuxt.js +12 -9
- package/package.json +34 -17
- package/app/utils/random-string.ts +0 -19
package/README.md
CHANGED
|
@@ -1,75 +1,304 @@
|
|
|
1
|
-
#
|
|
1
|
+
# @daisyuikit/nuxt
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Vue/Nuxt components for DaisyUI 5.
|
|
4
4
|
|
|
5
|
-
##
|
|
6
|
-
|
|
7
|
-
Make sure to install dependencies:
|
|
5
|
+
## Install
|
|
8
6
|
|
|
9
7
|
```bash
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
pnpm add @daisyuikit/nuxt daisyui @vueuse/core
|
|
9
|
+
```
|
|
12
10
|
|
|
13
|
-
|
|
14
|
-
|
|
11
|
+
```ts
|
|
12
|
+
// nuxt.config.ts
|
|
13
|
+
export default defineNuxtConfig({
|
|
14
|
+
modules: ['@daisyuikit/nuxt'],
|
|
15
|
+
})
|
|
16
|
+
```
|
|
15
17
|
|
|
16
|
-
|
|
17
|
-
yarn install
|
|
18
|
+
## Component API Reference
|
|
18
19
|
|
|
19
|
-
# bun
|
|
20
|
-
bun install
|
|
21
20
|
```
|
|
21
|
+
Accordion
|
|
22
|
+
Accordion: props(modelValue:string|number) slots(default) events(update:modelValue)
|
|
23
|
+
Collapse: props(variant:string, arrow:boolean, plus:boolean, open:boolean, close:boolean, toggle:boolean, value:any) slots(default)
|
|
24
|
+
CollapseTitle: slots(default)
|
|
25
|
+
CollapseContent: slots(default)
|
|
22
26
|
|
|
23
|
-
|
|
27
|
+
Alert
|
|
28
|
+
Alert: props(outline:boolean, dash:boolean, soft:boolean, type:string, info:boolean, success:boolean, warning:boolean, error:boolean, orientation:string, vertical:boolean, horizontal:boolean) slots(default)
|
|
24
29
|
|
|
25
|
-
|
|
30
|
+
Avatar
|
|
31
|
+
Avatar: props(presence:string, online:boolean, offline:boolean, backgroundColor:string, maskClasses:string, shape:string, squircle:boolean, heart:boolean, hexagon:boolean, hexagon2:boolean, decagon:boolean, pentagon:boolean, diamond:boolean, square:boolean, circle:boolean, star:boolean, star2:boolean, triangle:boolean, triangle2:boolean, triangle3:boolean, triangle4:boolean, half1:boolean, half2:boolean) slots(default)
|
|
32
|
+
AvatarGroup: props(orientation:string, horizontal:boolean, vertical:boolean) slots(default)
|
|
26
33
|
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
npm run dev
|
|
34
|
+
Badge
|
|
35
|
+
Badge: props(ghost:boolean, outline:boolean, dash:boolean, soft:boolean, invert:boolean, color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean, size:string, lg:boolean, md:boolean, sm:boolean, xs:boolean) slots(default)
|
|
30
36
|
|
|
31
|
-
|
|
32
|
-
|
|
37
|
+
Breadcrumbs
|
|
38
|
+
Breadcrumbs: slots(default)
|
|
39
|
+
Crumb: slots(default)
|
|
33
40
|
|
|
34
|
-
|
|
35
|
-
|
|
41
|
+
Button
|
|
42
|
+
Button: props(is:string, type:string, join:boolean, ghost:boolean, link:boolean, glass:boolean, outline:boolean, dash:boolean, soft:boolean, color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean, active:boolean, disabled:boolean, noAnimation:boolean, shape:string, circle:boolean, square:boolean, wide:boolean, block:boolean, size:string, xl:boolean, lg:boolean, md:boolean, sm:boolean, xs:boolean) slots(default)
|
|
36
43
|
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
44
|
+
Calendar
|
|
45
|
+
Calendar: props(modelValue:Date|string|null, options:CalendarOptions, ariaLabel:string, format:string, formatStrict:boolean, toString:function, parse:function, defaultDate:Date, setDefaultDate:boolean, firstDay:number, minDate:Date, maxDate:Date, disableWeekends:boolean, disableDayFn:function, yearRange:number|[number,number], showWeekNumber:boolean, pickWholeWeek:boolean, isRTL:boolean, i18n:object, yearSuffix:string, showMonthAfterYear:boolean, showDaysInNextAndPreviousMonths:boolean, enableSelectionDaysInNextAndPreviousMonths:boolean, numberOfMonths:number, events:array, autoDefault:boolean) slots(default) events(update:modelValue, update:inputValue)
|
|
46
|
+
CalendarInput: props(modelValue:Date|string|number|null, options:CalendarOptions, bound:boolean, position:string, reposition:boolean, autoDefault:boolean, placeholder:string, disabled:boolean, validator:boolean, join:boolean, color:string, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean, ghost:boolean, size:string, xl:boolean, lg:boolean, md:boolean, sm:boolean, xs:boolean) events(update:modelValue, update:inputValue)
|
|
47
|
+
CalendarSkeleton: props(numberOfMonths:number, date:Date, firstDay:number)
|
|
40
48
|
|
|
41
|
-
|
|
49
|
+
Card
|
|
50
|
+
Card: props(is:string|object|function, border:boolean, dash:boolean, side:boolean, imageFull:boolean, size:string, xl:boolean, lg:boolean, md:boolean, sm:boolean, xs:boolean) slots(default)
|
|
51
|
+
CardBody: props(is:string) slots(default)
|
|
52
|
+
CardTitle: props(is:string) slots(default)
|
|
53
|
+
CardActions: props(is:string) slots(default)
|
|
42
54
|
|
|
43
|
-
|
|
55
|
+
Carousel
|
|
56
|
+
Carousel: props(snapTo:string, center:boolean, end:boolean, orientation:string, vertical:boolean, horizontal:boolean) slots(default)
|
|
57
|
+
CarouselItem: slots(default)
|
|
44
58
|
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
59
|
+
Chat
|
|
60
|
+
Chat: props(pre:boolean, align:string, start:boolean, end:boolean) slots(default)
|
|
61
|
+
ChatBubble: props(color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean) slots(default)
|
|
62
|
+
ChatImage: slots(default)
|
|
63
|
+
ChatHeader: slots(default)
|
|
64
|
+
ChatFooter: slots(default)
|
|
48
65
|
|
|
49
|
-
|
|
50
|
-
|
|
66
|
+
Checkbox
|
|
67
|
+
Checkbox: props(modelValue:any, theme-controller:boolean, color:string, primary:boolean, secondary:boolean, accent:boolean, success:boolean, warning:boolean, info:boolean, error:boolean, size:string, lg:boolean, md:boolean, sm:boolean, xs:boolean) events(update:modelValue)
|
|
51
68
|
|
|
52
|
-
|
|
53
|
-
|
|
69
|
+
Countdown
|
|
70
|
+
Countdown: props(is:string|Component) slots(default)
|
|
71
|
+
Counter: props(value:number, is:string|Component, digits:2|3)
|
|
72
|
+
CountdownTimers: props(duration-in-seconds:number, until-date:Date) slots(default) events(done)
|
|
54
73
|
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
```
|
|
74
|
+
Diff
|
|
75
|
+
Diff: slots(one, two)
|
|
58
76
|
|
|
59
|
-
|
|
77
|
+
Divider
|
|
78
|
+
Divider: props(orientation:string, horizontal:boolean, vertical:boolean, align:string, center:boolean, start:boolean, end:boolean, color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, success:boolean, warning:boolean, info:boolean, error:boolean) slots(default)
|
|
60
79
|
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
80
|
+
Dock
|
|
81
|
+
Dock: props(size:string, xs:boolean, sm:boolean, md:boolean, lg:boolean, xl:boolean) slots(default)
|
|
82
|
+
DockItem: props(active:boolean) slots(default)
|
|
83
|
+
DockLabel: slots(default)
|
|
84
|
+
|
|
85
|
+
Drawer
|
|
86
|
+
Drawer: props(open:boolean, name:string, end:boolean) slots(default) events(update:open)
|
|
87
|
+
DrawerContent: props(name:string) slots(default)
|
|
88
|
+
DrawerSide: props(name:string) slots(default)
|
|
89
|
+
|
|
90
|
+
Dropdown
|
|
91
|
+
Dropdown: props(open:boolean, placement:string, auto-focus:boolean, hover:boolean, delay-enter:number, delay-leave:number, close-on-click-outside:boolean) slots(default) events(update:open)
|
|
92
|
+
DropdownButton: slots(default)
|
|
93
|
+
DropdownTarget: slots(default)
|
|
94
|
+
DropdownContent: slots(default)
|
|
95
|
+
|
|
96
|
+
Fab
|
|
97
|
+
Fab: props(flower:boolean) slots(default)
|
|
98
|
+
FabTrigger: slots(default)
|
|
99
|
+
FabClose: slots(default)
|
|
100
|
+
FabMainAction: slots(default)
|
|
101
|
+
|
|
102
|
+
Fieldset
|
|
103
|
+
Fieldset: props(is:string, legend:string) slots(default, legend)
|
|
104
|
+
|
|
105
|
+
FileInput
|
|
106
|
+
FileInput: props(join:boolean, color:string, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean, ghost:boolean, disabled:boolean, size:string, xl:boolean, lg:boolean, md:boolean, sm:boolean, xs:boolean) events(files)
|
|
107
|
+
|
|
108
|
+
Filter
|
|
109
|
+
Filter: props(is:string, name:string, items:array, modelValue:any, resetLabel:string, position:string, start:boolean, end:boolean, color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, size:string, xl:boolean, lg:boolean, md:boolean, sm:boolean, xs:boolean) slots(default) events(update:modelValue)
|
|
110
|
+
|
|
111
|
+
Flex
|
|
112
|
+
Flex: props(is:string|object, join:boolean, flex:boolean, flex1:boolean, flexAuto:boolean, flexInitial:boolean, none:boolean, direction:string, row:boolean, col:boolean, reverse:boolean, wrap:boolean, nowrap:boolean, wrapReverse:boolean, grow:boolean, justify:string, justifyStart:boolean, justifyEnd:boolean, justifyCenter:boolean, justifyBetween:boolean, justifyAround:boolean, justifyEvenly:boolean, items:string, itemsStart:boolean, itemsEnd:boolean, itemsCenter:boolean, itemsBaseline:boolean, itemsStretch:boolean) slots(default)
|
|
113
|
+
FlexItem: props(is:any, join:boolean, flex:boolean, flex1:boolean, flexAuto:boolean, flexInitial:boolean, none:boolean, grow:boolean, direction:string, row:boolean, col:boolean, reverse:boolean, wrap:boolean, nowrap:boolean, wrapReverse:boolean) slots(default)
|
|
114
|
+
|
|
115
|
+
Footer
|
|
116
|
+
Footer: props(center:boolean, is:string, orientation:string, horizontal:boolean, vertical:boolean) slots(default)
|
|
117
|
+
FooterTitle: props(is:string) slots(default)
|
|
118
|
+
|
|
119
|
+
FormControl
|
|
120
|
+
FormControl: slots(default)
|
|
121
|
+
|
|
122
|
+
Hero
|
|
123
|
+
Hero: props(is:string) slots(default)
|
|
124
|
+
HeroContent: props(is:string) slots(default)
|
|
125
|
+
HeroOverlay: slots(default)
|
|
126
|
+
|
|
127
|
+
Hover3D
|
|
128
|
+
Hover3D: props(is:string|Component, disabled:boolean) slots(default)
|
|
129
|
+
|
|
130
|
+
HoverGallery
|
|
131
|
+
HoverGallery: props(is:string|Component) slots(default)
|
|
132
|
+
|
|
133
|
+
Indicator
|
|
134
|
+
Indicator: props(is:string) slots(default)
|
|
135
|
+
IndicatorItem: props(is:string, align:string, start:boolean, center:boolean, end:boolean, vAlign:string, top:boolean, middle:boolean, bottom:boolean) slots(default)
|
|
136
|
+
|
|
137
|
+
Input
|
|
138
|
+
Input: props(modelValue:string|number|null, type:string, placeholder:string, disabled:boolean, validator:boolean, color:string, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean, join:boolean, ghost:boolean, size:string, xl:boolean, lg:boolean, md:boolean, sm:boolean, xs:boolean) slots(default) events(update:modelValue)
|
|
139
|
+
|
|
140
|
+
Join
|
|
141
|
+
Join: props(vertical:boolean) slots(default)
|
|
142
|
+
|
|
143
|
+
Kbd
|
|
144
|
+
Kbd: props(size:string, xl:boolean, lg:boolean, md:boolean, sm:boolean, xs:boolean) slots(default)
|
|
145
|
+
|
|
146
|
+
Label
|
|
147
|
+
Label: props(is:string, floating:boolean, input:boolean, select:boolean, toggle:boolean, join:boolean, color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean, ghost:boolean, size:string, xl:boolean, lg:boolean, md:boolean, sm:boolean, xs:boolean) slots(default)
|
|
148
|
+
|
|
149
|
+
Link
|
|
150
|
+
Link: props(is:string, hover:boolean, color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, success:boolean, info:boolean, warning:boolean, error:boolean) slots(default)
|
|
151
|
+
|
|
152
|
+
List
|
|
153
|
+
List: slots(default)
|
|
154
|
+
ListRow: slots(default)
|
|
155
|
+
ListColGrow: slots(default)
|
|
156
|
+
ListColWrap: slots(default)
|
|
157
|
+
|
|
158
|
+
Loading
|
|
159
|
+
LoadingSpinner: props(color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean, size:string, xl:boolean, lg:boolean, md:boolean, sm:boolean, xs:boolean)
|
|
160
|
+
LoadingDots: props(color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean, size:string, xl:boolean, lg:boolean, md:boolean, sm:boolean, xs:boolean)
|
|
161
|
+
LoadingRing: props(color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean, size:string, xl:boolean, lg:boolean, md:boolean, sm:boolean, xs:boolean)
|
|
162
|
+
LoadingBall: props(color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean, size:string, xl:boolean, lg:boolean, md:boolean, sm:boolean, xs:boolean)
|
|
163
|
+
LoadingBars: props(color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean, size:string, xl:boolean, lg:boolean, md:boolean, sm:boolean, xs:boolean)
|
|
164
|
+
LoadingInfinity: props(color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean, size:string, xl:boolean, lg:boolean, md:boolean, sm:boolean, xs:boolean)
|
|
165
|
+
|
|
166
|
+
Mask
|
|
167
|
+
Mask: props(shape:string, squircle:boolean, heart:boolean, hexagon:boolean, hexagon2:boolean, decagon:boolean, pentagon:boolean, diamond:boolean, square:boolean, circle:boolean, star:boolean, star2:boolean, triangle:boolean, triangle2:boolean, triangle3:boolean, triangle4:boolean, half1:boolean, half2:boolean) slots(default)
|
|
168
|
+
|
|
169
|
+
Menu
|
|
170
|
+
Menu: props(align:string, vertical:boolean, horizontal:boolean, size:string, xl:boolean, lg:boolean, md:boolean, sm:boolean, xs:boolean) slots(default)
|
|
171
|
+
MenuItem: props(active:boolean, disabled:boolean) slots(default)
|
|
172
|
+
MenuTitle: slots(default)
|
|
173
|
+
MenuExpand: props(open:boolean, hover:boolean, delay-enter:number, delay-leave:number, close-on-click-outside:boolean) slots(default) events(update:open)
|
|
174
|
+
MenuExpandToggle: slots(default)
|
|
64
175
|
|
|
65
|
-
|
|
66
|
-
|
|
176
|
+
Modal
|
|
177
|
+
Modal: props(model-value:boolean, close-on-click-outside:boolean, placement:string, top:boolean, bottom:boolean, start:boolean, end:boolean) slots(default)
|
|
178
|
+
ModalBox: slots(default)
|
|
179
|
+
ModalAction: slots(default)
|
|
67
180
|
|
|
68
|
-
|
|
69
|
-
|
|
181
|
+
MockupBrowser
|
|
182
|
+
MockupBrowser: slots(default)
|
|
183
|
+
MockupBrowserToolbar: slots(default)
|
|
70
184
|
|
|
71
|
-
|
|
72
|
-
|
|
185
|
+
MockupCode
|
|
186
|
+
MockupCode: slots(default)
|
|
187
|
+
|
|
188
|
+
MockupPhone
|
|
189
|
+
MockupPhone: slots(default)
|
|
190
|
+
|
|
191
|
+
MockupWindow
|
|
192
|
+
MockupWindow: slots(default)
|
|
193
|
+
|
|
194
|
+
Navbar
|
|
195
|
+
Navbar: props(is:any, glass:boolean) slots(default)
|
|
196
|
+
NavbarStart: props(is:any) slots(default)
|
|
197
|
+
NavbarCenter: props(is:any) slots(default)
|
|
198
|
+
NavbarEnd: props(is:any) slots(default)
|
|
199
|
+
NavButton: props(active:boolean, disabled:boolean) slots(default)
|
|
200
|
+
|
|
201
|
+
Pagination
|
|
202
|
+
Pagination: props(modelValue:number, total:number, perPage:number, maxVisible:number, join:boolean, color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean, size:string, xl:boolean, lg:boolean, md:boolean, sm:boolean, xs:boolean) slots(default) events(update:modelValue)
|
|
203
|
+
|
|
204
|
+
Progress
|
|
205
|
+
Progress: props(value:number, max:number, color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, success:boolean, info:boolean, warning:boolean, error:boolean)
|
|
206
|
+
|
|
207
|
+
Prose
|
|
208
|
+
Prose: props(class:string) slots(default)
|
|
209
|
+
|
|
210
|
+
RadialProgress
|
|
211
|
+
RadialProgress: props(value:number|string, size:string, thickness:string, color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean) slots(default)
|
|
212
|
+
|
|
213
|
+
Radio
|
|
214
|
+
Radio: props(modelValue:any, value:any, disabled:boolean, themeController:boolean, color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, success:boolean, warning:boolean, info:boolean, error:boolean, size:string, xs:boolean, sm:boolean, md:boolean, lg:boolean, xl:boolean) events(update:modelValue)
|
|
215
|
+
RadioGroup: props(modelValue:any, name:string, color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, success:boolean, warning:boolean, info:boolean, error:boolean, size:string, xs:boolean, sm:boolean, md:boolean, lg:boolean, xl:boolean) slots(default) events(update:modelValue)
|
|
216
|
+
|
|
217
|
+
Range
|
|
218
|
+
Range: props(modelValue:number|string, min:number|string, max:number|string, step:number|string, disabled:boolean, color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, success:boolean, warning:boolean, info:boolean, error:boolean, size:string, xs:boolean, sm:boolean, md:boolean, lg:boolean, xl:boolean) events(update:modelValue)
|
|
219
|
+
RangeMeasure: props(modelValue:number|string, min:number|string, max:number|string, step:number|string, numbered:boolean, asButtons:boolean, disabled:boolean, color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, success:boolean, warning:boolean, info:boolean, error:boolean, size:string, xs:boolean, sm:boolean, md:boolean, lg:boolean, xl:boolean) slots(default) events(update:modelValue)
|
|
220
|
+
RangeMeasureTick: props(tick:number, modelValue:number|string, numbered:boolean, asButton:boolean, isHidden:boolean, disabled:boolean) slots(default) events(update:modelValue)
|
|
221
|
+
|
|
222
|
+
Rating
|
|
223
|
+
Rating: props(modelValue:number|string, count:number|string, half:boolean, disabled:boolean, bg:string, color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean, shape:string, squircle:boolean, heart:boolean, hexagon:boolean, hexagon2:boolean, decagon:boolean, pentagon:boolean, diamond:boolean, square:boolean, circle:boolean, star:boolean, star2:boolean, triangle:boolean, triangle2:boolean, triangle3:boolean, triangle4:boolean, size:string, xl:boolean, lg:boolean, md:boolean, sm:boolean, xs:boolean) events(update:modelValue)
|
|
224
|
+
|
|
225
|
+
Select
|
|
226
|
+
Select: props(modelValue:any, options:Array, value:function, label:function, resultAsObject:boolean, join:boolean, ghost:boolean, disabled:boolean, native:boolean, color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean, size:string, xl:boolean, lg:boolean, md:boolean, sm:boolean, xs:boolean, validator:boolean) events(update:modelValue)
|
|
227
|
+
|
|
228
|
+
Skeleton
|
|
229
|
+
Skeleton: slots(default)
|
|
230
|
+
SkeletonText: props(is:string|Component) slots(default)
|
|
231
|
+
|
|
232
|
+
Stack
|
|
233
|
+
Stack: props(is:string) slots(default)
|
|
234
|
+
|
|
235
|
+
Stat
|
|
236
|
+
Stats: slots(default)
|
|
237
|
+
Stat: props(orientation:string, vertical:boolean, horizontal:boolean) slots(default)
|
|
238
|
+
StatTitle: slots(default)
|
|
239
|
+
StatValue: slots(default)
|
|
240
|
+
StatDesc: slots(default)
|
|
241
|
+
StatFigure: slots(default)
|
|
242
|
+
StatActions: slots(default)
|
|
243
|
+
|
|
244
|
+
Status
|
|
245
|
+
Status: props(color:string, neutral:boolean, primary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean, size:string, xs:boolean, sm:boolean, md:boolean, lg:boolean, xl:boolean) slots(default)
|
|
246
|
+
|
|
247
|
+
Steps
|
|
248
|
+
Steps: props(orientation:string, vertical:boolean, horizontal:boolean) slots(default)
|
|
249
|
+
Step: props(glyph:string, color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean) slots(default)
|
|
250
|
+
StepIcon: slots(default)
|
|
251
|
+
|
|
252
|
+
Swap
|
|
253
|
+
Swap: props(modelValue:boolean|null, rotate:boolean, flip:boolean) slots(default, swap, indeterminate)
|
|
254
|
+
|
|
255
|
+
Table
|
|
256
|
+
Table: props(zebra:boolean, pinRows:boolean, pinCols:boolean, size:string, xs:boolean, sm:boolean, md:boolean, lg:boolean, xl:boolean) slots(default)
|
|
257
|
+
|
|
258
|
+
Tabs
|
|
259
|
+
Tabs: props(name:string, currentTab:string, variant:string, box:boolean, border:boolean, lift:boolean, placement:string, top:boolean, bottom:boolean, size:string, xl:boolean, lg:boolean, md:boolean, sm:boolean, xs:boolean) slots(default) events(update:currentTab)
|
|
260
|
+
Tab: props(is:any, name:string, active:boolean, disabled:boolean) slots(default)
|
|
261
|
+
TabContent: props(is:any, name:string) slots(default)
|
|
262
|
+
|
|
263
|
+
Text
|
|
264
|
+
Text: props(is:string, join:boolean, block:boolean, inline:boolean, inlineBlock:boolean, label:boolean, color:string, neutral:boolean, primary:boolean, secondary:boolean, info:boolean, success:boolean, warning:boolean, error:boolean, neutralContent:boolean, primaryContent:boolean, secondaryContent:boolean, accentContent:boolean, infoContent:boolean, successContent:boolean, warningContent:boolean, errorContent:boolean, size:string, xl:boolean, lg:boolean, sm:boolean, xs:boolean, align:string, left:boolean, center:boolean, right:boolean, justify:boolean, case:string, uppercase:boolean, lowercase:boolean, capitalize:boolean, normalCase:boolean, font:string, sans:boolean, serif:boolean, mono:boolean, weight:string, thin:boolean, extralight:boolean, light:boolean, normal:boolean, medium:boolean, semibold:boolean, bold:boolean, extrabold:boolean, black:boolean) slots(default)
|
|
265
|
+
|
|
266
|
+
TextArea
|
|
267
|
+
TextArea: props(modelValue:string, placeholder:string, type:string, rows:number, autoExpand:boolean, ghost:boolean, disabled:boolean, color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean, size:string, xl:boolean, lg:boolean, md:boolean, sm:boolean, xs:boolean, validator:boolean) events(update:modelValue)
|
|
268
|
+
|
|
269
|
+
TextRotate
|
|
270
|
+
TextRotate: props(is:string|Component, center:boolean, duration:number) slots(default)
|
|
271
|
+
|
|
272
|
+
ThemeController
|
|
273
|
+
ThemeController: props(themes:DaisyThemeInput[], defaultTheme:string, storage:Function) slots(default)
|
|
274
|
+
ThemeTile: props(theme:string, size:string, xs:boolean, sm:boolean, md:boolean, lg:boolean, xl:boolean)
|
|
275
|
+
|
|
276
|
+
ThemeProvider
|
|
277
|
+
ThemeProvider: props(dataTheme:string, cssVars:string, snoop:boolean) slots(default)
|
|
278
|
+
|
|
279
|
+
Timeline
|
|
280
|
+
Timeline: props(vertical:boolean, horizontal:boolean, compact:boolean, snapIcon:boolean, class:string) slots(default)
|
|
281
|
+
TimelineItem: props(hr:boolean, class:string) slots(start, middle, end, hr-top, hr-bottom)
|
|
282
|
+
TimelineStart: props(box:boolean, class:string) slots(default)
|
|
283
|
+
TimelineMiddle: props(class:string) slots(default)
|
|
284
|
+
TimelineEnd: props(box:boolean, class:string) slots(default)
|
|
285
|
+
TimelineLine: props(color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean)
|
|
286
|
+
|
|
287
|
+
Toast
|
|
288
|
+
Toast: props(hAlign:string, start:boolean, center:boolean, end:boolean, vAlign:string, top:boolean, middle:boolean, bottom:boolean, name:string, defaults:Partial<ToastSettings>, limit:number) slots(default)
|
|
289
|
+
|
|
290
|
+
Toggle
|
|
291
|
+
Toggle: props(modelValue:any, disabled:boolean, validator:boolean, theme-controller:boolean, color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, success:boolean, info:boolean, warning:boolean, error:boolean, size:string, xs:boolean, sm:boolean, md:boolean, lg:boolean, xl:boolean) events(update:modelValue)
|
|
292
|
+
|
|
293
|
+
Tooltip
|
|
294
|
+
Tooltip: props(tip:string|number, open:boolean, color:string, neutral:boolean, primary:boolean, secondary:boolean, accent:boolean, info:boolean, success:boolean, warning:boolean, error:boolean, position:string, top:boolean, right:boolean, bottom:boolean, left:boolean, delayEnter:number, delayLeave:number) slots(default)
|
|
295
|
+
TooltipTarget: slots(default)
|
|
296
|
+
TooltipContent: slots(default)
|
|
297
|
+
|
|
298
|
+
Validator
|
|
299
|
+
ValidatorHint: slots(default)
|
|
73
300
|
```
|
|
74
301
|
|
|
75
|
-
|
|
302
|
+
## License
|
|
303
|
+
|
|
304
|
+
MIT
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { provide, ref, watch } from 'vue'
|
|
2
|
+
import { provide, ref, watch } from 'vue'
|
|
3
3
|
|
|
4
4
|
const props = defineProps<{
|
|
5
5
|
modelValue?: string | number
|
|
@@ -7,10 +7,13 @@ const props = defineProps<{
|
|
|
7
7
|
const emit = defineEmits(['update:modelValue'])
|
|
8
8
|
|
|
9
9
|
const value = ref(props.modelValue)
|
|
10
|
-
watch(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
watch(
|
|
11
|
+
() => props.modelValue,
|
|
12
|
+
val => {
|
|
13
|
+
value.value = val
|
|
14
|
+
},
|
|
15
|
+
)
|
|
16
|
+
watch(value, val => {
|
|
14
17
|
if (props.modelValue !== val) {
|
|
15
18
|
emit('update:modelValue', val)
|
|
16
19
|
}
|
package/app/components/Alert.vue
CHANGED
|
@@ -51,7 +51,7 @@ const maskShapeKeys = [
|
|
|
51
51
|
'mask-half-2',
|
|
52
52
|
] as const
|
|
53
53
|
|
|
54
|
-
type AvatarClassKey = typeof maskShapeKeys[number] | 'rounded-box' | 'avatar-online' | 'avatar-offline'
|
|
54
|
+
type AvatarClassKey = (typeof maskShapeKeys)[number] | 'rounded-box' | 'avatar-online' | 'avatar-offline'
|
|
55
55
|
|
|
56
56
|
const avatarClasses = computed<Record<AvatarClassKey, boolean>>(() => {
|
|
57
57
|
const mask: Record<AvatarClassKey, boolean> = {
|
|
@@ -86,18 +86,17 @@ const color = computed(() => {
|
|
|
86
86
|
})
|
|
87
87
|
|
|
88
88
|
function contrastingColor(color: any) {
|
|
89
|
-
return
|
|
89
|
+
return luma(color) >= 155 ? '000' : 'fff'
|
|
90
90
|
}
|
|
91
91
|
// color can be a hx string or an array of RGB values 0-255
|
|
92
92
|
function luma(color: any) {
|
|
93
|
-
const rgb =
|
|
94
|
-
return
|
|
93
|
+
const rgb = typeof color === 'string' ? hexToRGBArray(color) : color
|
|
94
|
+
return 0.2126 * rgb[0] + 0.7152 * rgb[1] + 0.0722 * rgb[2] // SMPTE C, Rec. 709 weightings
|
|
95
95
|
}
|
|
96
96
|
function hexToRGBArray(color: any) {
|
|
97
97
|
if (color.length === 3) {
|
|
98
98
|
color = color.charAt(0) + color.charAt(0) + color.charAt(1) + color.charAt(1) + color.charAt(2) + color.charAt(2)
|
|
99
|
-
}
|
|
100
|
-
else if (color.length !== 6) {
|
|
99
|
+
} else if (color.length !== 6) {
|
|
101
100
|
throw new Error(`Invalid hex color: ${color}`)
|
|
102
101
|
}
|
|
103
102
|
const rgb = []
|
|
@@ -110,7 +109,11 @@ function hexToRGBArray(color: any) {
|
|
|
110
109
|
|
|
111
110
|
<template>
|
|
112
111
|
<div class="avatar">
|
|
113
|
-
<Mask
|
|
112
|
+
<Mask
|
|
113
|
+
:style="{ backgroundColor, color }"
|
|
114
|
+
class="w-full h-full avatar-mask aspect-square"
|
|
115
|
+
:class="[avatarClasses, maskClasses]"
|
|
116
|
+
>
|
|
114
117
|
<slot />
|
|
115
118
|
</Mask>
|
|
116
119
|
</div>
|
|
@@ -8,8 +8,12 @@ const props = defineProps<{
|
|
|
8
8
|
|
|
9
9
|
<template>
|
|
10
10
|
<div
|
|
11
|
-
class="avatar-group"
|
|
12
|
-
|
|
11
|
+
class="avatar-group"
|
|
12
|
+
:class="{
|
|
13
|
+
'flex-row':
|
|
14
|
+
props.orientation === 'horizontal' ||
|
|
15
|
+
props.horizontal ||
|
|
16
|
+
(!props.orientation && !props.vertical && !props.horizontal),
|
|
13
17
|
'flex-col': props.orientation === 'vertical' || props.vertical,
|
|
14
18
|
}"
|
|
15
19
|
>
|
package/app/components/Badge.vue
CHANGED
|
@@ -1,4 +1,10 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
+
import { computed, resolveComponent } from 'vue'
|
|
3
|
+
|
|
4
|
+
defineOptions({
|
|
5
|
+
inheritAttrs: false,
|
|
6
|
+
})
|
|
7
|
+
|
|
2
8
|
const { is = 'div', ...props } = defineProps<{
|
|
3
9
|
is?: string
|
|
4
10
|
outline?: boolean
|
|
@@ -23,11 +29,23 @@ const { is = 'div', ...props } = defineProps<{
|
|
|
23
29
|
warning?: boolean
|
|
24
30
|
error?: boolean
|
|
25
31
|
}>()
|
|
32
|
+
|
|
33
|
+
const NuxtLink = resolveComponent('NuxtLink')
|
|
34
|
+
const RouterLink = resolveComponent('RouterLink')
|
|
35
|
+
|
|
36
|
+
const resolvedComponent = computed(() => {
|
|
37
|
+
if (is === 'NuxtLink') return NuxtLink
|
|
38
|
+
if (is === 'RouterLink') return RouterLink
|
|
39
|
+
return is
|
|
40
|
+
})
|
|
26
41
|
</script>
|
|
27
42
|
|
|
28
43
|
<template>
|
|
29
44
|
<component
|
|
30
|
-
:is="
|
|
45
|
+
:is="resolvedComponent"
|
|
46
|
+
v-bind="$attrs"
|
|
47
|
+
class="badge"
|
|
48
|
+
:class="{
|
|
31
49
|
'badge-outline': props.outline,
|
|
32
50
|
'badge-ghost': props.ghost,
|
|
33
51
|
'badge-soft': props.soft,
|
|
@@ -1,52 +1,71 @@
|
|
|
1
1
|
<script setup lang="ts">
|
|
2
|
-
import { computed } from 'vue'
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
join?: boolean
|
|
7
|
-
|
|
8
|
-
color?: string
|
|
9
|
-
neutral?: boolean
|
|
10
|
-
primary?: boolean
|
|
11
|
-
secondary?: boolean
|
|
12
|
-
accent?: boolean
|
|
13
|
-
info?: boolean
|
|
14
|
-
success?: boolean
|
|
15
|
-
warning?: boolean
|
|
16
|
-
error?: boolean
|
|
17
|
-
|
|
18
|
-
ghost?: boolean
|
|
19
|
-
link?: boolean
|
|
20
|
-
glass?: boolean
|
|
21
|
-
outline?: boolean
|
|
22
|
-
dash?: boolean
|
|
23
|
-
soft?: boolean
|
|
24
|
-
disabled?: boolean
|
|
25
|
-
|
|
26
|
-
shape?: 'circle' | 'square' | 'wide' | 'block'
|
|
27
|
-
circle?: boolean
|
|
28
|
-
square?: boolean
|
|
29
|
-
wide?: boolean
|
|
30
|
-
block?: boolean
|
|
31
|
-
|
|
32
|
-
noAnimation?: boolean
|
|
33
|
-
active?: boolean
|
|
34
|
-
|
|
35
|
-
size?: 'lg' | 'md' | 'sm' | 'xs' | 'xl'
|
|
36
|
-
xl?: boolean
|
|
37
|
-
lg?: boolean
|
|
38
|
-
md?: boolean
|
|
39
|
-
sm?: boolean
|
|
40
|
-
xs?: boolean
|
|
41
|
-
|
|
42
|
-
type?: 'button' | 'submit' | 'reset'
|
|
43
|
-
}>(), {
|
|
44
|
-
type: 'button',
|
|
2
|
+
import { computed, resolveComponent } from 'vue'
|
|
3
|
+
|
|
4
|
+
defineOptions({
|
|
5
|
+
inheritAttrs: false,
|
|
45
6
|
})
|
|
46
7
|
|
|
8
|
+
const props = withDefaults(
|
|
9
|
+
defineProps<{
|
|
10
|
+
is?: string
|
|
11
|
+
join?: boolean
|
|
12
|
+
|
|
13
|
+
color?: string
|
|
14
|
+
neutral?: boolean
|
|
15
|
+
primary?: boolean
|
|
16
|
+
secondary?: boolean
|
|
17
|
+
accent?: boolean
|
|
18
|
+
info?: boolean
|
|
19
|
+
success?: boolean
|
|
20
|
+
warning?: boolean
|
|
21
|
+
error?: boolean
|
|
22
|
+
|
|
23
|
+
ghost?: boolean
|
|
24
|
+
link?: boolean
|
|
25
|
+
glass?: boolean
|
|
26
|
+
outline?: boolean
|
|
27
|
+
dash?: boolean
|
|
28
|
+
soft?: boolean
|
|
29
|
+
disabled?: boolean
|
|
30
|
+
|
|
31
|
+
shape?: 'circle' | 'square' | 'wide' | 'block'
|
|
32
|
+
circle?: boolean
|
|
33
|
+
square?: boolean
|
|
34
|
+
wide?: boolean
|
|
35
|
+
block?: boolean
|
|
36
|
+
|
|
37
|
+
noAnimation?: boolean
|
|
38
|
+
active?: boolean
|
|
39
|
+
|
|
40
|
+
size?: 'lg' | 'md' | 'sm' | 'xs' | 'xl'
|
|
41
|
+
xl?: boolean
|
|
42
|
+
lg?: boolean
|
|
43
|
+
md?: boolean
|
|
44
|
+
sm?: boolean
|
|
45
|
+
xs?: boolean
|
|
46
|
+
|
|
47
|
+
type?: 'button' | 'submit' | 'reset'
|
|
48
|
+
}>(),
|
|
49
|
+
{
|
|
50
|
+
type: 'button',
|
|
51
|
+
},
|
|
52
|
+
)
|
|
53
|
+
const NuxtLink = resolveComponent('NuxtLink')
|
|
54
|
+
const RouterLink = resolveComponent('RouterLink')
|
|
55
|
+
|
|
47
56
|
// Accessibility: Determine if rendering a native button
|
|
48
57
|
const isButton = computed(() => (props.is || 'button') === 'button')
|
|
49
58
|
|
|
59
|
+
// Resolve the component to render
|
|
60
|
+
const resolvedComponent = computed(() => {
|
|
61
|
+
if (!props.is || props.is === 'button' || props.is === 'a') {
|
|
62
|
+
return props.is || 'button'
|
|
63
|
+
}
|
|
64
|
+
if (props.is === 'NuxtLink') return NuxtLink
|
|
65
|
+
if (props.is === 'RouterLink') return RouterLink
|
|
66
|
+
return props.is
|
|
67
|
+
})
|
|
68
|
+
|
|
50
69
|
// Accessibility: Keyboard event handler for custom elements
|
|
51
70
|
function onKeydown(e: KeyboardEvent) {
|
|
52
71
|
if (props.disabled) {
|
|
@@ -62,8 +81,9 @@ function onKeydown(e: KeyboardEvent) {
|
|
|
62
81
|
|
|
63
82
|
<template>
|
|
64
83
|
<component
|
|
65
|
-
:is="
|
|
66
|
-
|
|
84
|
+
:is="resolvedComponent"
|
|
85
|
+
v-bind="$attrs"
|
|
86
|
+
:type="isButton ? type : undefined"
|
|
67
87
|
:disabled="isButton && disabled ? true : undefined"
|
|
68
88
|
:aria-disabled="!isButton && disabled ? true : undefined"
|
|
69
89
|
:tabindex="!isButton ? (disabled ? -1 : 0) : undefined"
|
|
@@ -90,7 +110,7 @@ function onKeydown(e: KeyboardEvent) {
|
|
|
90
110
|
'text-warning': !disabled && (warning || color === 'warning') && link,
|
|
91
111
|
'text-error': !disabled && (error || color === 'error') && link,
|
|
92
112
|
|
|
93
|
-
|
|
113
|
+
glass: !disabled && glass,
|
|
94
114
|
|
|
95
115
|
'btn-circle': circle || shape === 'circle',
|
|
96
116
|
'btn-square': square || shape === 'square',
|