@una-ui/nuxt 0.51.5 → 0.52.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/dist/module.json +1 -1
- package/dist/module.mjs +1 -1
- package/dist/runtime/components/combobox/Combobox.vue +316 -0
- package/dist/runtime/components/combobox/ComboboxAnchor.vue +30 -0
- package/dist/runtime/components/combobox/ComboboxEmpty.vue +28 -0
- package/dist/runtime/components/combobox/ComboboxGroup.vue +39 -0
- package/dist/runtime/components/combobox/ComboboxInput.vue +49 -0
- package/dist/runtime/components/combobox/ComboboxItem.vue +32 -0
- package/dist/runtime/components/combobox/ComboboxItemIndicator.vue +40 -0
- package/dist/runtime/components/combobox/ComboboxLabel.vue +21 -0
- package/dist/runtime/components/combobox/ComboboxList.vue +40 -0
- package/dist/runtime/components/combobox/ComboboxSeparator.vue +28 -0
- package/dist/runtime/components/combobox/ComboboxTrigger.vue +87 -0
- package/dist/runtime/components/combobox/ComboboxViewport.vue +30 -0
- package/dist/runtime/components/elements/Link.vue.d.ts +1 -4
- package/dist/runtime/components/elements/dialog/DialogContent.vue +1 -1
- package/dist/runtime/components/elements/dropdown-menu/DropdownMenu.vue +12 -12
- package/dist/runtime/components/elements/tooltip/Tooltip.vue +1 -1
- package/dist/runtime/components/forms/Checkbox.vue +5 -1
- package/dist/runtime/components/forms/Input.vue +2 -1
- package/dist/runtime/components/forms/form/FormField.vue +1 -0
- package/dist/runtime/components/forms/select/Select.vue +18 -5
- package/dist/runtime/components/forms/select/SelectItem.vue +1 -1
- package/dist/runtime/components/forms/select/SelectTrigger.vue +6 -3
- package/dist/runtime/components/misc/ThemeSwitcher.vue +6 -4
- package/dist/runtime/components/navigation-menu/NavigationMenuContentItem.vue +1 -0
- package/dist/runtime/components/slots/FormFieldDefault.d.ts +3 -2
- package/dist/runtime/components/slots/FormFieldDefault.js +1 -9
- package/dist/runtime/types/avatar.d.ts +3 -3
- package/dist/runtime/types/combobox.d.ts +153 -0
- package/dist/runtime/types/combobox.js +0 -0
- package/dist/runtime/types/dialog.d.ts +6 -6
- package/dist/runtime/types/dropdown-menu.d.ts +9 -9
- package/dist/runtime/types/form.d.ts +4 -4
- package/dist/runtime/types/index.d.ts +1 -0
- package/dist/runtime/types/index.js +1 -0
- package/dist/runtime/types/input.d.ts +3 -0
- package/dist/runtime/types/navigation-menu.d.ts +5 -5
- package/dist/runtime/types/scroll-area.d.ts +3 -3
- package/dist/runtime/types/select.d.ts +4 -3
- package/dist/runtime/types/tooltip.d.ts +1 -1
- package/dist/runtime/utils/injectionKeys.d.ts +1 -0
- package/dist/runtime/utils/injectionKeys.js +1 -0
- package/package.json +10 -10
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import type { NComboboxTriggerProps } from '../../types'
|
|
3
|
+
import { reactiveOmit } from '@vueuse/core'
|
|
4
|
+
import { ComboboxTrigger, useForwardProps } from 'reka-ui'
|
|
5
|
+
import { computed } from 'vue'
|
|
6
|
+
import { cn, randomId } from '../../utils'
|
|
7
|
+
import Button from '../elements/Button.vue'
|
|
8
|
+
import Icon from '../elements/Icon.vue'
|
|
9
|
+
|
|
10
|
+
const props = withDefaults(defineProps<NComboboxTriggerProps>(), {
|
|
11
|
+
btn: 'solid-white',
|
|
12
|
+
})
|
|
13
|
+
|
|
14
|
+
const forwardedProps = useForwardProps(reactiveOmit(props, 'class', 'status', 'una', 'btn'))
|
|
15
|
+
|
|
16
|
+
const statusClassVariants = computed(() => {
|
|
17
|
+
const btn = {
|
|
18
|
+
info: 'btn-outline-info',
|
|
19
|
+
success: 'btn-outline-success',
|
|
20
|
+
warning: 'btn-outline-warning',
|
|
21
|
+
error: 'btn-outline-error',
|
|
22
|
+
default: undefined,
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
const icon = {
|
|
26
|
+
info: props.una?.comboboxTriggerInfoIcon ?? 'combobox-trigger-info-icon',
|
|
27
|
+
success: props.una?.comboboxTriggerSuccessIcon ?? 'combobox-trigger-success-icon',
|
|
28
|
+
warning: props.una?.comboboxTriggerWarningIcon ?? 'combobox-trigger-warning-icon',
|
|
29
|
+
error: props.una?.comboboxTriggerErrorIcon ?? 'combobox-trigger-error-icon',
|
|
30
|
+
default: props?.trailing ?? 'combobox-trigger-trailing-icon',
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
return {
|
|
34
|
+
btn: btn[props.status ?? 'default'],
|
|
35
|
+
icon: icon[props.status ?? 'default'],
|
|
36
|
+
}
|
|
37
|
+
})
|
|
38
|
+
|
|
39
|
+
const id = computed(() => props.id ?? randomId('combobox-trigger'))
|
|
40
|
+
const status = computed(() => props.status ?? 'default')
|
|
41
|
+
</script>
|
|
42
|
+
|
|
43
|
+
<template>
|
|
44
|
+
<ComboboxTrigger
|
|
45
|
+
v-bind="forwardedProps"
|
|
46
|
+
as-child
|
|
47
|
+
>
|
|
48
|
+
<slot name="root">
|
|
49
|
+
<Button
|
|
50
|
+
:id
|
|
51
|
+
:btn="statusClassVariants.btn ? undefined : props.btn"
|
|
52
|
+
:data-status="status"
|
|
53
|
+
data-slot="combobox-trigger"
|
|
54
|
+
:class="cn(
|
|
55
|
+
'combobox-trigger',
|
|
56
|
+
props.class,
|
|
57
|
+
)"
|
|
58
|
+
tabindex="0"
|
|
59
|
+
:una="{
|
|
60
|
+
...props.una,
|
|
61
|
+
btn: props.una?.comboboxTrigger,
|
|
62
|
+
btnLeading: cn(
|
|
63
|
+
'combobox-trigger-leading',
|
|
64
|
+
props.una?.btnLeading,
|
|
65
|
+
props.una?.comboboxTriggerLeading,
|
|
66
|
+
),
|
|
67
|
+
btnDefaultVariant: statusClassVariants.btn,
|
|
68
|
+
}"
|
|
69
|
+
>
|
|
70
|
+
<template v-for="(_, name) in $slots" #[name]="slotData">
|
|
71
|
+
<slot :name="name" v-bind="slotData" />
|
|
72
|
+
</template>
|
|
73
|
+
|
|
74
|
+
<template #trailing>
|
|
75
|
+
<Icon
|
|
76
|
+
:data-status="status"
|
|
77
|
+
:name="statusClassVariants.icon"
|
|
78
|
+
:class="cn(
|
|
79
|
+
'combobox-trigger-trailing',
|
|
80
|
+
props.una?.btnTrailing,
|
|
81
|
+
)"
|
|
82
|
+
/>
|
|
83
|
+
</template>
|
|
84
|
+
</Button>
|
|
85
|
+
</slot>
|
|
86
|
+
</ComboboxTrigger>
|
|
87
|
+
</template>
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
<script setup lang="ts">
|
|
2
|
+
import type { NComboboxViewportProps } from '../../types'
|
|
3
|
+
import { ComboboxViewport, useForwardProps } from 'reka-ui'
|
|
4
|
+
import { computed } from 'vue'
|
|
5
|
+
import { cn } from '../../utils'
|
|
6
|
+
|
|
7
|
+
const props = defineProps<NComboboxViewportProps>()
|
|
8
|
+
|
|
9
|
+
const delegatedProps = computed(() => {
|
|
10
|
+
const { class: _, ...delegated } = props
|
|
11
|
+
|
|
12
|
+
return delegated
|
|
13
|
+
})
|
|
14
|
+
|
|
15
|
+
const forwarded = useForwardProps(delegatedProps)
|
|
16
|
+
</script>
|
|
17
|
+
|
|
18
|
+
<template>
|
|
19
|
+
<ComboboxViewport
|
|
20
|
+
data-slot="combobox-viewport"
|
|
21
|
+
v-bind="forwarded"
|
|
22
|
+
:class="cn(
|
|
23
|
+
'combobox-viewport',
|
|
24
|
+
props.una?.comboboxViewport,
|
|
25
|
+
props.class,
|
|
26
|
+
)"
|
|
27
|
+
>
|
|
28
|
+
<slot />
|
|
29
|
+
</ComboboxViewport>
|
|
30
|
+
</template>
|
|
@@ -80,9 +80,6 @@ declare global {
|
|
|
80
80
|
type __VLS_PickFunctionalComponentCtx<T, K> = NonNullable<__VLS_PickNotAny<'__ctx' extends keyof __VLS_PickNotAny<K, {}> ? K extends {
|
|
81
81
|
__ctx?: infer Ctx;
|
|
82
82
|
} ? Ctx : never : any, T extends (props: any, ctx: infer Ctx) => any ? Ctx : any>>;
|
|
83
|
-
type __VLS_OmitStringIndex<T> = {
|
|
84
|
-
[K in keyof T as string extends K ? never : K]: T[K];
|
|
85
|
-
};
|
|
86
83
|
type __VLS_UseTemplateRef<T> = Readonly<import('vue').ShallowRef<T | null>>;
|
|
87
84
|
function __VLS_getVForSourceType<T extends number | string | any[] | Iterable<any>>(source: T): [
|
|
88
85
|
item: T extends number ? number : T extends string ? string : T extends any[] ? T[number] : T extends Iterable<infer T1> ? T1 : any,
|
|
@@ -126,6 +123,6 @@ declare global {
|
|
|
126
123
|
};
|
|
127
124
|
function __VLS_functionalComponentArgsRest<T extends (...args: any) => any>(t: T): 2 extends Parameters<T>['length'] ? [any] : [];
|
|
128
125
|
function __VLS_asFunctionalElement<T>(tag: T, endTag?: T): (attrs: T & Record<string, unknown>) => void;
|
|
129
|
-
function __VLS_asFunctionalSlot<S>(slot: S):
|
|
126
|
+
function __VLS_asFunctionalSlot<S>(slot: S): S extends () => infer R ? (props: {}) => R : NonNullable<S>;
|
|
130
127
|
function __VLS_tryAsConstant<const T>(t: T): T;
|
|
131
128
|
}
|
|
@@ -50,6 +50,7 @@ const contentEvents = computed(() => {
|
|
|
50
50
|
<DialogContent
|
|
51
51
|
v-bind="{ ...forwarded, ...$attrs }"
|
|
52
52
|
:class="cn(
|
|
53
|
+
'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-48% data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-48%',
|
|
53
54
|
'dialog-content',
|
|
54
55
|
props.una?.dialogContent,
|
|
55
56
|
props.class,
|
|
@@ -62,7 +63,6 @@ const contentEvents = computed(() => {
|
|
|
62
63
|
v-if="showClose"
|
|
63
64
|
v-bind="_dialogClose"
|
|
64
65
|
class="dialog-close"
|
|
65
|
-
:una
|
|
66
66
|
/>
|
|
67
67
|
</DialogContent>
|
|
68
68
|
</DialogPortal>
|
|
@@ -54,7 +54,7 @@ const [DefineMenuSub, ReuseMenuSub] = createReusableTemplate<NDropdownMenuProps>
|
|
|
54
54
|
<DropdownMenuLabel
|
|
55
55
|
:size
|
|
56
56
|
:inset
|
|
57
|
-
:una
|
|
57
|
+
:una
|
|
58
58
|
v-bind="forwarded._dropdownMenuLabel"
|
|
59
59
|
>
|
|
60
60
|
<slot name="menu-label">
|
|
@@ -62,14 +62,14 @@ const [DefineMenuSub, ReuseMenuSub] = createReusableTemplate<NDropdownMenuProps>
|
|
|
62
62
|
</slot>
|
|
63
63
|
</DropdownMenuLabel>
|
|
64
64
|
<DropdownMenuSeparator
|
|
65
|
-
:una
|
|
65
|
+
:una
|
|
66
66
|
v-bind="forwarded._dropdownMenuSeparator"
|
|
67
67
|
/>
|
|
68
68
|
</template>
|
|
69
69
|
|
|
70
70
|
<slot name="group" :items>
|
|
71
71
|
<DropdownMenuGroup
|
|
72
|
-
:una
|
|
72
|
+
:una
|
|
73
73
|
v-bind="forwarded._dropdownMenuGroup"
|
|
74
74
|
>
|
|
75
75
|
<slot name="items" :items>
|
|
@@ -85,7 +85,7 @@ const [DefineMenuSub, ReuseMenuSub] = createReusableTemplate<NDropdownMenuProps>
|
|
|
85
85
|
:size
|
|
86
86
|
:inset
|
|
87
87
|
:dropdown-menu-item
|
|
88
|
-
:una
|
|
88
|
+
:una
|
|
89
89
|
:_dropdown-menu-shortcut
|
|
90
90
|
v-bind="{ ...item, ...forwarded._dropdownMenuItem, ...item._dropdownMenuItem }"
|
|
91
91
|
/>
|
|
@@ -93,7 +93,7 @@ const [DefineMenuSub, ReuseMenuSub] = createReusableTemplate<NDropdownMenuProps>
|
|
|
93
93
|
|
|
94
94
|
<DropdownMenuSeparator
|
|
95
95
|
v-else-if="!item.label && !item.items"
|
|
96
|
-
:una
|
|
96
|
+
:una
|
|
97
97
|
v-bind="{ ...forwarded._dropdownMenuSeparator, ...item._dropdownMenuSeparator }"
|
|
98
98
|
/>
|
|
99
99
|
|
|
@@ -119,26 +119,26 @@ const [DefineMenuSub, ReuseMenuSub] = createReusableTemplate<NDropdownMenuProps>
|
|
|
119
119
|
<DropdownMenuLabel
|
|
120
120
|
:size
|
|
121
121
|
:inset
|
|
122
|
-
:una
|
|
122
|
+
:una
|
|
123
123
|
v-bind="{ ...forwarded._dropdownMenuLabel, ...subProps._dropdownMenuLabel }"
|
|
124
124
|
>
|
|
125
125
|
{{ subProps.menuLabel }}
|
|
126
126
|
</DropdownMenuLabel>
|
|
127
127
|
<DropdownMenuSeparator
|
|
128
|
-
:una
|
|
128
|
+
:una
|
|
129
129
|
v-bind="{ ...forwarded._dropdownMenuSeparator, ...subProps._dropdownMenuSeparator }"
|
|
130
130
|
/>
|
|
131
131
|
</template>
|
|
132
132
|
|
|
133
133
|
<DropdownMenuGroup
|
|
134
|
-
:una
|
|
134
|
+
:una
|
|
135
135
|
v-bind="{ ...forwarded._dropdownMenuGroup, ...subProps._dropdownMenuGroup }"
|
|
136
136
|
>
|
|
137
137
|
<DropdownMenuSub>
|
|
138
138
|
<DropdownMenuSubTrigger
|
|
139
139
|
:size
|
|
140
140
|
:inset
|
|
141
|
-
:una
|
|
141
|
+
:una
|
|
142
142
|
:dropdown-menu-item
|
|
143
143
|
v-bind="omitProps({
|
|
144
144
|
...subProps,
|
|
@@ -152,7 +152,7 @@ const [DefineMenuSub, ReuseMenuSub] = createReusableTemplate<NDropdownMenuProps>
|
|
|
152
152
|
<DropdownMenuPortal>
|
|
153
153
|
<DropdownMenuSubContent
|
|
154
154
|
v-bind="subProps._dropdownMenuSubContent"
|
|
155
|
-
:una
|
|
155
|
+
:una
|
|
156
156
|
>
|
|
157
157
|
<template
|
|
158
158
|
v-for="subItem in subProps.items"
|
|
@@ -164,7 +164,7 @@ const [DefineMenuSub, ReuseMenuSub] = createReusableTemplate<NDropdownMenuProps>
|
|
|
164
164
|
:inset
|
|
165
165
|
:dropdown-menu-item
|
|
166
166
|
:_dropdown-menu-shortcut
|
|
167
|
-
:una
|
|
167
|
+
:una
|
|
168
168
|
v-bind="{ ...subItem, ...forwarded._dropdownMenuItem, ...subItem._dropdownMenuItem }"
|
|
169
169
|
>
|
|
170
170
|
{{ subItem.label }}
|
|
@@ -172,7 +172,7 @@ const [DefineMenuSub, ReuseMenuSub] = createReusableTemplate<NDropdownMenuProps>
|
|
|
172
172
|
|
|
173
173
|
<DropdownMenuSeparator
|
|
174
174
|
v-else-if="!subItem.label && !subItem.items"
|
|
175
|
-
:una
|
|
175
|
+
:una
|
|
176
176
|
v-bind="{ ...forwarded._dropdownMenuSeparator, ...subItem._dropdownMenuSeparator }"
|
|
177
177
|
/>
|
|
178
178
|
|
|
@@ -8,6 +8,10 @@ import { cn, randomId } from '../../utils'
|
|
|
8
8
|
import Icon from '../elements/Icon.vue'
|
|
9
9
|
import Label from '../elements/Label.vue'
|
|
10
10
|
|
|
11
|
+
defineOptions({
|
|
12
|
+
inheritAttrs: false,
|
|
13
|
+
})
|
|
14
|
+
|
|
11
15
|
const props = withDefaults(defineProps<NCheckboxProps>(), {
|
|
12
16
|
forceMount: true,
|
|
13
17
|
})
|
|
@@ -36,7 +40,7 @@ const id = computed(() => props.id ?? randomId('checkbox'))
|
|
|
36
40
|
)"
|
|
37
41
|
>
|
|
38
42
|
<CheckboxRoot
|
|
39
|
-
v-bind="forwarded"
|
|
43
|
+
v-bind="{ ...forwarded, ...$attrs }"
|
|
40
44
|
:id="id"
|
|
41
45
|
:class="
|
|
42
46
|
cn(
|
|
@@ -12,7 +12,7 @@ const props = withDefaults(defineProps<NInputProps>(), {
|
|
|
12
12
|
size: 'md',
|
|
13
13
|
type: 'text',
|
|
14
14
|
resize: 'none',
|
|
15
|
-
rows:
|
|
15
|
+
rows: 0,
|
|
16
16
|
})
|
|
17
17
|
|
|
18
18
|
const emit = defineEmits(['leading', 'trailing', 'update:modelValue'])
|
|
@@ -126,6 +126,7 @@ defineExpose({
|
|
|
126
126
|
'input-wrapper',
|
|
127
127
|
una?.inputWrapper,
|
|
128
128
|
)"
|
|
129
|
+
v-bind="_inputWrapper"
|
|
129
130
|
>
|
|
130
131
|
<div
|
|
131
132
|
v-if="isLeading"
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { AcceptableValue, SelectRootEmits } from 'reka-ui'
|
|
3
3
|
import type { NSelectProps, SelectGroup as SelectGroupType } from '../../../types'
|
|
4
|
+
import { computed } from 'vue'
|
|
4
5
|
</script>
|
|
5
6
|
|
|
6
7
|
<script setup lang="ts" generic="T extends AcceptableValue">
|
|
@@ -20,6 +21,12 @@ const props = withDefaults(defineProps<NSelectProps<T>>(), {
|
|
|
20
21
|
|
|
21
22
|
const emits = defineEmits<SelectRootEmits<T>>()
|
|
22
23
|
|
|
24
|
+
// Check if items are grouped
|
|
25
|
+
const hasGroups = computed(() => {
|
|
26
|
+
return Array.isArray(props.items) && props.items.length > 0
|
|
27
|
+
&& typeof props.items[0] === 'object' && 'items' in (props.items[0] as any)
|
|
28
|
+
})
|
|
29
|
+
|
|
23
30
|
const forwarded = useForwardPropsEmits(props, emits)
|
|
24
31
|
|
|
25
32
|
function formatSelectedValue(value: unknown) {
|
|
@@ -69,8 +76,8 @@ function isItemSelected(item: unknown, modelValue: unknown) {
|
|
|
69
76
|
)"
|
|
70
77
|
v-bind="forwarded"
|
|
71
78
|
>
|
|
72
|
-
<slot
|
|
73
|
-
<slot name="trigger-
|
|
79
|
+
<slot :model-value :open>
|
|
80
|
+
<slot name="trigger-root" :model-value :open>
|
|
74
81
|
<SelectTrigger
|
|
75
82
|
:id
|
|
76
83
|
:size
|
|
@@ -105,7 +112,7 @@ function isItemSelected(item: unknown, modelValue: unknown) {
|
|
|
105
112
|
:una
|
|
106
113
|
>
|
|
107
114
|
<slot name="content" :items="items">
|
|
108
|
-
<template v-if="!
|
|
115
|
+
<template v-if="!hasGroups">
|
|
109
116
|
<SelectLabel
|
|
110
117
|
v-if="label"
|
|
111
118
|
v-bind="_selectLabel"
|
|
@@ -131,11 +138,14 @@ function isItemSelected(item: unknown, modelValue: unknown) {
|
|
|
131
138
|
<slot name="item" :item="item">
|
|
132
139
|
{{ props.itemKey && item ? (item as any)[props.itemKey] : item }}
|
|
133
140
|
</slot>
|
|
141
|
+
<template #indicator>
|
|
142
|
+
<slot name="indicator" :item="item" />
|
|
143
|
+
</template>
|
|
134
144
|
</SelectItem>
|
|
135
145
|
</template>
|
|
136
146
|
</template>
|
|
137
147
|
|
|
138
|
-
<template v-if="
|
|
148
|
+
<template v-if="hasGroups">
|
|
139
149
|
<SelectGroup
|
|
140
150
|
v-for="(group, i) in items as SelectGroupType<T>[]"
|
|
141
151
|
:key="i"
|
|
@@ -143,7 +153,7 @@ function isItemSelected(item: unknown, modelValue: unknown) {
|
|
|
143
153
|
:una
|
|
144
154
|
>
|
|
145
155
|
<SelectSeparator
|
|
146
|
-
v-if="i > 0"
|
|
156
|
+
v-if="i > 0 && props.groupSeparator"
|
|
147
157
|
v-bind="props._selectSeparator"
|
|
148
158
|
:una
|
|
149
159
|
/>
|
|
@@ -175,6 +185,9 @@ function isItemSelected(item: unknown, modelValue: unknown) {
|
|
|
175
185
|
<slot name="item" :item="item">
|
|
176
186
|
{{ props.itemKey ? (item as any)[props.itemKey] : item }}
|
|
177
187
|
</slot>
|
|
188
|
+
<template #indicator>
|
|
189
|
+
<slot name="indicator" :item="item" />
|
|
190
|
+
</template>
|
|
178
191
|
</SelectItem>
|
|
179
192
|
</template>
|
|
180
193
|
</slot>
|
|
@@ -7,9 +7,11 @@ import { cn, randomId } from '../../../utils'
|
|
|
7
7
|
import Button from '../../elements/Button.vue'
|
|
8
8
|
import Icon from '../../elements/Icon.vue'
|
|
9
9
|
|
|
10
|
-
const props = defineProps<NSelectTriggerProps>()
|
|
10
|
+
const props = withDefaults(defineProps<NSelectTriggerProps>(), {
|
|
11
|
+
select: 'solid-white',
|
|
12
|
+
})
|
|
11
13
|
|
|
12
|
-
const forwardedProps = useForwardProps(reactiveOmit(props, 'class', 'status', 'una'))
|
|
14
|
+
const forwardedProps = useForwardProps(reactiveOmit(props, 'class', 'status', 'una', 'select'))
|
|
13
15
|
|
|
14
16
|
const statusClassVariants = computed(() => {
|
|
15
17
|
const btn = {
|
|
@@ -17,7 +19,7 @@ const statusClassVariants = computed(() => {
|
|
|
17
19
|
success: 'btn-outline-success',
|
|
18
20
|
warning: 'btn-outline-warning',
|
|
19
21
|
error: 'btn-outline-error',
|
|
20
|
-
default:
|
|
22
|
+
default: '',
|
|
21
23
|
}
|
|
22
24
|
|
|
23
25
|
const icon = {
|
|
@@ -45,6 +47,7 @@ const status = computed(() => props.status ?? 'default')
|
|
|
45
47
|
<Button
|
|
46
48
|
v-bind="forwardedProps"
|
|
47
49
|
:id
|
|
50
|
+
:select="statusClassVariants.btn ? undefined : props.select"
|
|
48
51
|
:data-status="status"
|
|
49
52
|
:class="cn(
|
|
50
53
|
'select-trigger justify-between font-normal',
|
|
@@ -98,7 +98,7 @@ function shuffleTheme(): void {
|
|
|
98
98
|
|
|
99
99
|
<Separator />
|
|
100
100
|
|
|
101
|
-
<div class="space-y-
|
|
101
|
+
<div class="space-y-2">
|
|
102
102
|
<Label for="color" class="text-xs"> Primary Color</Label>
|
|
103
103
|
<div class="grid grid-cols-7 gap-3">
|
|
104
104
|
<button
|
|
@@ -119,7 +119,7 @@ function shuffleTheme(): void {
|
|
|
119
119
|
|
|
120
120
|
<Separator />
|
|
121
121
|
|
|
122
|
-
<div class="space-y-
|
|
122
|
+
<div class="space-y-2">
|
|
123
123
|
<Label for="color" class="text-xs"> Gray Color </Label>
|
|
124
124
|
<div class="grid grid-cols-7 gap-3">
|
|
125
125
|
<button
|
|
@@ -140,7 +140,7 @@ function shuffleTheme(): void {
|
|
|
140
140
|
|
|
141
141
|
<Separator />
|
|
142
142
|
|
|
143
|
-
<div class="space-y-
|
|
143
|
+
<div class="space-y-1">
|
|
144
144
|
<Label for="radius" class="text-xs"> Radius </Label>
|
|
145
145
|
<div class="grid grid-cols-5 gap-2 py-1.5">
|
|
146
146
|
<Button
|
|
@@ -162,7 +162,7 @@ function shuffleTheme(): void {
|
|
|
162
162
|
|
|
163
163
|
<Separator />
|
|
164
164
|
|
|
165
|
-
<div class="space-y-
|
|
165
|
+
<div class="space-y-1">
|
|
166
166
|
<Label for="theme" class="text-xs">Mode</Label>
|
|
167
167
|
|
|
168
168
|
<div class="flex justify-around py-1.5 space-x-2">
|
|
@@ -202,12 +202,14 @@ function shuffleTheme(): void {
|
|
|
202
202
|
|
|
203
203
|
<div class="flex space-x-3">
|
|
204
204
|
<Button
|
|
205
|
+
size="xs"
|
|
205
206
|
btn="solid-gray block"
|
|
206
207
|
label="Reset"
|
|
207
208
|
leading="i-radix-icons-reload"
|
|
208
209
|
@click="reset"
|
|
209
210
|
/>
|
|
210
211
|
<Button
|
|
212
|
+
size="xs"
|
|
211
213
|
btn="solid block"
|
|
212
214
|
class="transition"
|
|
213
215
|
label="Shuffle"
|
|
@@ -10,7 +10,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
10
10
|
required: false;
|
|
11
11
|
};
|
|
12
12
|
modelValue: {
|
|
13
|
-
type:
|
|
13
|
+
type: any;
|
|
14
14
|
required: false;
|
|
15
15
|
};
|
|
16
16
|
id: {
|
|
@@ -38,7 +38,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
38
38
|
required: false;
|
|
39
39
|
};
|
|
40
40
|
modelValue: {
|
|
41
|
-
type:
|
|
41
|
+
type: any;
|
|
42
42
|
required: false;
|
|
43
43
|
};
|
|
44
44
|
id: {
|
|
@@ -59,6 +59,7 @@ declare const _default: import("vue").DefineComponent<import("vue").ExtractPropT
|
|
|
59
59
|
onInput?: ((...args: any[]) => any) | undefined;
|
|
60
60
|
"onUpdate:modelValue"?: ((...args: any[]) => any) | undefined;
|
|
61
61
|
}>, {
|
|
62
|
+
modelValue: any;
|
|
62
63
|
'aria-invalid': boolean;
|
|
63
64
|
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
|
|
64
65
|
export default _default;
|
|
@@ -11,7 +11,7 @@ export default defineComponent({
|
|
|
11
11
|
required: false
|
|
12
12
|
},
|
|
13
13
|
"modelValue": {
|
|
14
|
-
type: [String, Number, Boolean],
|
|
14
|
+
type: [String, Number, Boolean, Object, Array, null, void 0],
|
|
15
15
|
required: false
|
|
16
16
|
},
|
|
17
17
|
"id": {
|
|
@@ -42,14 +42,6 @@ export default defineComponent({
|
|
|
42
42
|
emit("blur", event);
|
|
43
43
|
node.props?.onBlur?.(event);
|
|
44
44
|
},
|
|
45
|
-
"onInput": (event) => {
|
|
46
|
-
emit("input", event);
|
|
47
|
-
node.props?.onInput?.(event);
|
|
48
|
-
},
|
|
49
|
-
"onChange": (event) => {
|
|
50
|
-
emit("change", event);
|
|
51
|
-
node.props?.onChange?.(event);
|
|
52
|
-
},
|
|
53
45
|
"onUpdate:modelValue": (value) => {
|
|
54
46
|
emit("update:modelValue", value);
|
|
55
47
|
node.props?.["onUpdate:modelValue"]?.(value);
|
|
@@ -36,7 +36,7 @@ export interface NAvatarRootProps extends AvatarRootProps, BaseProps {
|
|
|
36
36
|
* avatar="solid-green"
|
|
37
37
|
*/
|
|
38
38
|
avatar?: HTMLAttributes['class'];
|
|
39
|
-
una?: NAvatarUnaProps
|
|
39
|
+
una?: Pick<NAvatarUnaProps, 'avatarRoot'>;
|
|
40
40
|
}
|
|
41
41
|
export interface NAvatarAvatarFallbackProps extends AvatarFallbackProps, BaseProps {
|
|
42
42
|
/**
|
|
@@ -52,12 +52,12 @@ export interface NAvatarAvatarFallbackProps extends AvatarFallbackProps, BasePro
|
|
|
52
52
|
* label="i-lucide-user"
|
|
53
53
|
*/
|
|
54
54
|
icon?: boolean;
|
|
55
|
-
una?: NAvatarUnaProps
|
|
55
|
+
una?: Pick<NAvatarUnaProps, 'avatarFallback' | 'avatarLabel' | 'avatarIcon'>;
|
|
56
56
|
}
|
|
57
57
|
export interface NAvatarImageProps extends Omit<AvatarImageProps, 'src'>, BaseProps {
|
|
58
58
|
src?: string;
|
|
59
59
|
alt?: string;
|
|
60
|
-
una?: NAvatarUnaProps
|
|
60
|
+
una?: Pick<NAvatarUnaProps, 'avatarImage'>;
|
|
61
61
|
}
|
|
62
62
|
export interface NAvatarUnaProps {
|
|
63
63
|
avatarRoot?: HTMLAttributes['class'];
|