@nuxt/ui 3.0.0 → 3.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/.nuxt/ui/calendar.ts +1 -1
- package/.nuxt/ui/drawer.ts +8 -5
- package/.nuxt/ui.css +1 -1
- package/README.md +11 -11
- package/cli/package.json +1 -1
- package/dist/module.cjs +2 -2
- package/dist/module.d.cts +6 -6
- package/dist/module.d.mts +6 -6
- package/dist/module.d.ts +6 -6
- package/dist/module.json +2 -2
- package/dist/module.mjs +2 -2
- package/dist/runtime/components/Accordion.vue +2 -0
- package/dist/runtime/components/Breadcrumb.vue +2 -0
- package/dist/runtime/components/ColorPicker.vue +2 -0
- package/dist/runtime/components/CommandPalette.vue +2 -0
- package/dist/runtime/components/ContextMenu.vue +8 -6
- package/dist/runtime/components/Drawer.vue +12 -13
- package/dist/runtime/components/DropdownMenu.vue +7 -5
- package/dist/runtime/components/Form.vue +21 -1
- package/dist/runtime/components/FormField.vue +5 -0
- package/dist/runtime/components/InputMenu.vue +3 -3
- package/dist/runtime/components/Modal.vue +10 -7
- package/dist/runtime/components/NavigationMenu.vue +5 -3
- package/dist/runtime/components/PinInput.vue +2 -0
- package/dist/runtime/components/Popover.vue +3 -2
- package/dist/runtime/components/RadioGroup.vue +2 -2
- package/dist/runtime/components/Select.vue +3 -3
- package/dist/runtime/components/SelectMenu.vue +3 -3
- package/dist/runtime/components/Slideover.vue +10 -7
- package/dist/runtime/components/Stepper.vue +2 -0
- package/dist/runtime/components/Table.vue +1 -1
- package/dist/runtime/components/Tabs.vue +2 -0
- package/dist/runtime/components/Toast.vue +1 -1
- package/dist/runtime/components/Tooltip.vue +3 -2
- package/dist/runtime/components/Tree.vue +2 -0
- package/dist/runtime/composables/defineLocale.js +1 -0
- package/dist/runtime/composables/defineShortcuts.js +1 -0
- package/dist/runtime/composables/useKbd.js +1 -1
- package/dist/runtime/composables/useLocale.js +2 -2
- package/dist/runtime/composables/useOverlay.js +1 -1
- package/dist/runtime/locale/ca.d.ts +3 -0
- package/dist/runtime/locale/ca.js +54 -0
- package/dist/runtime/locale/ckb.d.ts +3 -0
- package/dist/runtime/locale/ckb.js +55 -0
- package/dist/runtime/locale/index.d.ts +5 -0
- package/dist/runtime/locale/index.js +5 -0
- package/dist/runtime/locale/ro.d.ts +3 -0
- package/dist/runtime/locale/ro.js +54 -0
- package/dist/runtime/locale/ur.d.ts +3 -0
- package/dist/runtime/locale/ur.js +55 -0
- package/dist/runtime/locale/uz.d.ts +3 -0
- package/dist/runtime/locale/uz.js +54 -0
- package/dist/runtime/plugins/colors.js +19 -15
- package/dist/runtime/types/form.d.ts +1 -3
- package/dist/runtime/types/index.d.ts +1 -0
- package/dist/runtime/types/index.js +1 -0
- package/dist/runtime/utils/form.d.ts +0 -4
- package/dist/runtime/utils/form.js +2 -47
- package/dist/runtime/utils/link.d.ts +1 -1
- package/dist/runtime/utils/tv.js +1 -1
- package/dist/runtime/vue/plugins/head.js +3 -0
- package/dist/runtime/vue/stubs.d.ts +0 -1
- package/dist/runtime/vue/stubs.js +1 -2
- package/dist/shared/{ui.yjbGE7Dx.mjs → ui.BCaWD5Ek.mjs} +10 -10
- package/dist/shared/{ui.COBs1u5H.cjs → ui.C6uTSFTI.cjs} +10 -10
- package/dist/unplugin.cjs +6 -2
- package/dist/unplugin.mjs +6 -2
- package/dist/vite.cjs +1 -1
- package/dist/vite.mjs +1 -1
- package/package.json +17 -17
|
@@ -1,14 +1,14 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { InputHTMLAttributes } from 'vue'
|
|
3
3
|
import type { VariantProps } from 'tailwind-variants'
|
|
4
|
-
import type { ComboboxRootProps, ComboboxRootEmits, ComboboxContentProps, ComboboxArrowProps, AcceptableValue } from 'reka-ui'
|
|
4
|
+
import type { ComboboxRootProps, ComboboxRootEmits, ComboboxContentProps, ComboboxContentEmits, ComboboxArrowProps, AcceptableValue } from 'reka-ui'
|
|
5
5
|
import type { AppConfig } from '@nuxt/schema'
|
|
6
6
|
import _appConfig from '#build/app.config'
|
|
7
7
|
import theme from '#build/ui/input-menu'
|
|
8
8
|
import type { UseComponentIconsProps } from '../composables/useComponentIcons'
|
|
9
9
|
import { tv } from '../utils/tv'
|
|
10
10
|
import type { AvatarProps, ChipProps, InputProps } from '../types'
|
|
11
|
-
import type { PartialString, MaybeArrayOfArray, MaybeArrayOfArrayItem, SelectModelValue, SelectModelValueEmits, SelectItemKey } from '../types/utils'
|
|
11
|
+
import type { PartialString, MaybeArrayOfArray, MaybeArrayOfArrayItem, SelectModelValue, SelectModelValueEmits, SelectItemKey, EmitsToProps } from '../types/utils'
|
|
12
12
|
|
|
13
13
|
const appConfigInputMenu = _appConfig as AppConfig & { ui: { inputMenu: Partial<typeof theme> } }
|
|
14
14
|
|
|
@@ -81,7 +81,7 @@ export interface InputMenuProps<T extends MaybeArrayOfArrayItem<I>, I extends Ma
|
|
|
81
81
|
* The content of the menu.
|
|
82
82
|
* @defaultValue { side: 'bottom', sideOffset: 8, collisionPadding: 8, position: 'popper' }
|
|
83
83
|
*/
|
|
84
|
-
content?: Omit<ComboboxContentProps, 'as' | 'asChild' | 'forceMount'>
|
|
84
|
+
content?: Omit<ComboboxContentProps, 'as' | 'asChild' | 'forceMount'> & Partial<EmitsToProps<ComboboxContentEmits>>
|
|
85
85
|
/**
|
|
86
86
|
* Display an arrow alongside the menu.
|
|
87
87
|
* @defaultValue false
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import type { DialogRootProps, DialogRootEmits, DialogContentProps } from 'reka-ui'
|
|
2
|
+
import type { DialogRootProps, DialogRootEmits, DialogContentProps, DialogContentEmits } from 'reka-ui'
|
|
3
3
|
import type { AppConfig } from '@nuxt/schema'
|
|
4
4
|
import _appConfig from '#build/app.config'
|
|
5
5
|
import theme from '#build/ui/modal'
|
|
6
6
|
import { tv } from '../utils/tv'
|
|
7
7
|
import type { ButtonProps } from '../types'
|
|
8
|
+
import type { EmitsToProps } from '../types/utils'
|
|
8
9
|
|
|
9
10
|
const appConfigModal = _appConfig as AppConfig & { ui: { modal: Partial<typeof theme> } }
|
|
10
11
|
|
|
@@ -14,7 +15,7 @@ export interface ModalProps extends DialogRootProps {
|
|
|
14
15
|
title?: string
|
|
15
16
|
description?: string
|
|
16
17
|
/** The content of the modal. */
|
|
17
|
-
content?: Omit<DialogContentProps, 'as' | 'asChild' | 'forceMount'>
|
|
18
|
+
content?: Omit<DialogContentProps, 'as' | 'asChild' | 'forceMount'> & Partial<EmitsToProps<DialogContentEmits>>
|
|
18
19
|
/**
|
|
19
20
|
* Render an overlay behind the modal.
|
|
20
21
|
* @defaultValue true
|
|
@@ -97,18 +98,20 @@ const appConfig = useAppConfig()
|
|
|
97
98
|
const rootProps = useForwardPropsEmits(reactivePick(props, 'open', 'defaultOpen', 'modal'), emits)
|
|
98
99
|
const contentProps = toRef(() => props.content)
|
|
99
100
|
const contentEvents = computed(() => {
|
|
101
|
+
const events = {
|
|
102
|
+
closeAutoFocus: (e: Event) => e.preventDefault()
|
|
103
|
+
}
|
|
104
|
+
|
|
100
105
|
if (!props.dismissible) {
|
|
101
106
|
return {
|
|
102
107
|
pointerDownOutside: (e: Event) => e.preventDefault(),
|
|
103
108
|
interactOutside: (e: Event) => e.preventDefault(),
|
|
104
109
|
escapeKeyDown: (e: Event) => e.preventDefault(),
|
|
105
|
-
|
|
110
|
+
...events
|
|
106
111
|
}
|
|
107
112
|
}
|
|
108
113
|
|
|
109
|
-
return
|
|
110
|
-
closeAutoFocus: (e: Event) => e.preventDefault()
|
|
111
|
-
}
|
|
114
|
+
return events
|
|
112
115
|
})
|
|
113
116
|
|
|
114
117
|
const ui = computed(() => modal({
|
|
@@ -158,7 +161,7 @@ const ui = computed(() => modal({
|
|
|
158
161
|
</DialogDescription>
|
|
159
162
|
</div>
|
|
160
163
|
|
|
161
|
-
<DialogClose as-child>
|
|
164
|
+
<DialogClose v-if="close || !!slots.close" as-child>
|
|
162
165
|
<slot name="close" :ui="ui">
|
|
163
166
|
<UButton
|
|
164
167
|
v-if="close"
|
|
@@ -1,12 +1,13 @@
|
|
|
1
|
+
<!-- eslint-disable vue/block-tag-newline -->
|
|
1
2
|
<script lang="ts">
|
|
2
3
|
import type { VariantProps } from 'tailwind-variants'
|
|
3
|
-
import type { NavigationMenuRootProps, NavigationMenuRootEmits, NavigationMenuContentProps, CollapsibleRootProps } from 'reka-ui'
|
|
4
|
+
import type { NavigationMenuRootProps, NavigationMenuRootEmits, NavigationMenuContentProps, NavigationMenuContentEmits, CollapsibleRootProps } from 'reka-ui'
|
|
4
5
|
import type { AppConfig } from '@nuxt/schema'
|
|
5
6
|
import _appConfig from '#build/app.config'
|
|
6
7
|
import theme from '#build/ui/navigation-menu'
|
|
7
8
|
import { tv } from '../utils/tv'
|
|
8
9
|
import type { AvatarProps, BadgeProps, LinkProps } from '../types'
|
|
9
|
-
import type { DynamicSlots, MaybeArrayOfArray, MaybeArrayOfArrayItem, PartialString } from '../types/utils'
|
|
10
|
+
import type { DynamicSlots, MaybeArrayOfArray, MaybeArrayOfArrayItem, PartialString, EmitsToProps } from '../types/utils'
|
|
10
11
|
|
|
11
12
|
const appConfigNavigationMenu = _appConfig as AppConfig & { ui: { navigationMenu: Partial<typeof theme> } }
|
|
12
13
|
|
|
@@ -93,7 +94,7 @@ export interface NavigationMenuProps<T> extends Pick<NavigationMenuRootProps, 'm
|
|
|
93
94
|
*/
|
|
94
95
|
highlightColor?: NavigationMenuVariants['highlightColor']
|
|
95
96
|
/** The content of the menu. */
|
|
96
|
-
content?: Omit<NavigationMenuContentProps, 'as' | 'asChild' | 'forceMount'>
|
|
97
|
+
content?: Omit<NavigationMenuContentProps, 'as' | 'asChild' | 'forceMount'> & Partial<EmitsToProps<NavigationMenuContentEmits>>
|
|
97
98
|
/**
|
|
98
99
|
* The orientation of the content.
|
|
99
100
|
* Only works when `orientation` is `horizontal`.
|
|
@@ -125,6 +126,7 @@ export type NavigationMenuSlots<T extends { slot?: string }> = {
|
|
|
125
126
|
'item-trailing': SlotProps<T>
|
|
126
127
|
'item-content': SlotProps<T>
|
|
127
128
|
} & DynamicSlots<T, SlotProps<T>>
|
|
129
|
+
|
|
128
130
|
</script>
|
|
129
131
|
|
|
130
132
|
<script setup lang="ts" generic="T extends MaybeArrayOfArrayItem<I>, I extends MaybeArrayOfArray<NavigationMenuItem>">
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
<!-- eslint-disable vue/block-tag-newline -->
|
|
1
2
|
<script lang="ts">
|
|
2
3
|
import type { VariantProps } from 'tailwind-variants'
|
|
3
4
|
import type { PinInputRootEmits, PinInputRootProps } from 'reka-ui'
|
|
@@ -45,6 +46,7 @@ export type PinInputEmits = PinInputRootEmits & {
|
|
|
45
46
|
change: [payload: Event]
|
|
46
47
|
blur: [payload: Event]
|
|
47
48
|
}
|
|
49
|
+
|
|
48
50
|
</script>
|
|
49
51
|
|
|
50
52
|
<script setup lang="ts">
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import type { PopoverRootProps, HoverCardRootProps, PopoverRootEmits, PopoverContentProps, PopoverArrowProps } from 'reka-ui'
|
|
2
|
+
import type { PopoverRootProps, HoverCardRootProps, PopoverRootEmits, PopoverContentProps, PopoverContentEmits, PopoverArrowProps } from 'reka-ui'
|
|
3
3
|
import type { AppConfig } from '@nuxt/schema'
|
|
4
4
|
import _appConfig from '#build/app.config'
|
|
5
5
|
import theme from '#build/ui/popover'
|
|
6
6
|
import { tv } from '../utils/tv'
|
|
7
|
+
import type { EmitsToProps } from '../types/utils'
|
|
7
8
|
|
|
8
9
|
const appConfigPopover = _appConfig as AppConfig & { ui: { popover: Partial<typeof theme> } }
|
|
9
10
|
|
|
@@ -19,7 +20,7 @@ export interface PopoverProps extends PopoverRootProps, Pick<HoverCardRootProps,
|
|
|
19
20
|
* The content of the popover.
|
|
20
21
|
* @defaultValue { side: 'bottom', sideOffset: 8, collisionPadding: 8 }
|
|
21
22
|
*/
|
|
22
|
-
content?: Omit<PopoverContentProps, 'as' | 'asChild' | 'forceMount'>
|
|
23
|
+
content?: Omit<PopoverContentProps, 'as' | 'asChild' | 'forceMount'> & Partial<EmitsToProps<PopoverContentEmits>>
|
|
23
24
|
/**
|
|
24
25
|
* Display an arrow alongside the popover.
|
|
25
26
|
* @defaultValue false
|
|
@@ -161,8 +161,8 @@ function onUpdate(value: any) {
|
|
|
161
161
|
<RadioGroupItem
|
|
162
162
|
:id="item.id"
|
|
163
163
|
:value="item.value"
|
|
164
|
-
:disabled="disabled"
|
|
165
|
-
:class="ui.base({ class: props.ui?.base })"
|
|
164
|
+
:disabled="item.disabled"
|
|
165
|
+
:class="ui.base({ class: props.ui?.base, disabled: item.disabled })"
|
|
166
166
|
>
|
|
167
167
|
<RadioGroupIndicator :class="ui.indicator({ class: props.ui?.indicator })" />
|
|
168
168
|
</RadioGroupItem>
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { VariantProps } from 'tailwind-variants'
|
|
3
|
-
import type { SelectRootProps, SelectRootEmits, SelectContentProps, SelectArrowProps, AcceptableValue } from 'reka-ui'
|
|
3
|
+
import type { SelectRootProps, SelectRootEmits, SelectContentProps, SelectContentEmits, SelectArrowProps, AcceptableValue } from 'reka-ui'
|
|
4
4
|
import type { AppConfig } from '@nuxt/schema'
|
|
5
5
|
import _appConfig from '#build/app.config'
|
|
6
6
|
import theme from '#build/ui/select'
|
|
7
7
|
import type { UseComponentIconsProps } from '../composables/useComponentIcons'
|
|
8
8
|
import { tv } from '../utils/tv'
|
|
9
9
|
import type { AvatarProps, ChipProps, InputProps } from '../types'
|
|
10
|
-
import type { PartialString, MaybeArrayOfArray, MaybeArrayOfArrayItem, SelectModelValue, SelectModelValueEmits, SelectItemKey } from '../types/utils'
|
|
10
|
+
import type { PartialString, MaybeArrayOfArray, MaybeArrayOfArrayItem, SelectModelValue, SelectModelValueEmits, SelectItemKey, EmitsToProps } from '../types/utils'
|
|
11
11
|
|
|
12
12
|
const appConfigSelect = _appConfig as AppConfig & { ui: { select: Partial<typeof theme> } }
|
|
13
13
|
|
|
@@ -64,7 +64,7 @@ export interface SelectProps<T extends MaybeArrayOfArrayItem<I>, I extends Maybe
|
|
|
64
64
|
* The content of the menu.
|
|
65
65
|
* @defaultValue { side: 'bottom', sideOffset: 8, collisionPadding: 8, position: 'popper' }
|
|
66
66
|
*/
|
|
67
|
-
content?: Omit<SelectContentProps, 'as' | 'asChild' | 'forceMount'>
|
|
67
|
+
content?: Omit<SelectContentProps, 'as' | 'asChild' | 'forceMount'> & Partial<EmitsToProps<SelectContentEmits>>
|
|
68
68
|
/**
|
|
69
69
|
* Display an arrow alongside the menu.
|
|
70
70
|
* @defaultValue false
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { VariantProps } from 'tailwind-variants'
|
|
3
|
-
import type { ComboboxRootProps, ComboboxRootEmits, ComboboxContentProps, ComboboxArrowProps, AcceptableValue } from 'reka-ui'
|
|
3
|
+
import type { ComboboxRootProps, ComboboxRootEmits, ComboboxContentProps, ComboboxContentEmits, ComboboxArrowProps, AcceptableValue } from 'reka-ui'
|
|
4
4
|
import type { AppConfig } from '@nuxt/schema'
|
|
5
5
|
import _appConfig from '#build/app.config'
|
|
6
6
|
import theme from '#build/ui/select-menu'
|
|
7
7
|
import type { UseComponentIconsProps } from '../composables/useComponentIcons'
|
|
8
8
|
import { tv } from '../utils/tv'
|
|
9
9
|
import type { AvatarProps, ChipProps, InputProps } from '../types'
|
|
10
|
-
import type { PartialString, MaybeArrayOfArray, MaybeArrayOfArrayItem, SelectModelValue, SelectModelValueEmits, SelectItemKey } from '../types/utils'
|
|
10
|
+
import type { PartialString, MaybeArrayOfArray, MaybeArrayOfArrayItem, SelectModelValue, SelectModelValueEmits, SelectItemKey, EmitsToProps } from '../types/utils'
|
|
11
11
|
|
|
12
12
|
const appConfigSelectMenu = _appConfig as AppConfig & { ui: { selectMenu: Partial<typeof theme> } }
|
|
13
13
|
|
|
@@ -72,7 +72,7 @@ export interface SelectMenuProps<T extends MaybeArrayOfArrayItem<I>, I extends M
|
|
|
72
72
|
* The content of the menu.
|
|
73
73
|
* @defaultValue { side: 'bottom', sideOffset: 8, collisionPadding: 8, position: 'popper' }
|
|
74
74
|
*/
|
|
75
|
-
content?: Omit<ComboboxContentProps, 'as' | 'asChild' | 'forceMount'>
|
|
75
|
+
content?: Omit<ComboboxContentProps, 'as' | 'asChild' | 'forceMount'> & Partial<EmitsToProps<ComboboxContentEmits>>
|
|
76
76
|
/**
|
|
77
77
|
* Display an arrow alongside the menu.
|
|
78
78
|
* @defaultValue false
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
2
|
import type { VariantProps } from 'tailwind-variants'
|
|
3
|
-
import type { DialogRootProps, DialogRootEmits, DialogContentProps } from 'reka-ui'
|
|
3
|
+
import type { DialogRootProps, DialogRootEmits, DialogContentProps, DialogContentEmits } from 'reka-ui'
|
|
4
4
|
import type { AppConfig } from '@nuxt/schema'
|
|
5
5
|
import _appConfig from '#build/app.config'
|
|
6
6
|
import theme from '#build/ui/slideover'
|
|
7
7
|
import { tv } from '../utils/tv'
|
|
8
8
|
import type { ButtonProps } from '../types'
|
|
9
|
+
import type { EmitsToProps } from '../types/utils'
|
|
9
10
|
|
|
10
11
|
const appConfigSlideover = _appConfig as AppConfig & { ui: { slideover: Partial<typeof theme> } }
|
|
11
12
|
|
|
@@ -17,7 +18,7 @@ export interface SlideoverProps extends DialogRootProps {
|
|
|
17
18
|
title?: string
|
|
18
19
|
description?: string
|
|
19
20
|
/** The content of the slideover. */
|
|
20
|
-
content?: Omit<DialogContentProps, 'as' | 'asChild' | 'forceMount'>
|
|
21
|
+
content?: Omit<DialogContentProps, 'as' | 'asChild' | 'forceMount'> & Partial<EmitsToProps<DialogContentEmits>>
|
|
21
22
|
/**
|
|
22
23
|
* Render an overlay behind the slideover.
|
|
23
24
|
* @defaultValue true
|
|
@@ -101,18 +102,20 @@ const appConfig = useAppConfig()
|
|
|
101
102
|
const rootProps = useForwardPropsEmits(reactivePick(props, 'open', 'defaultOpen', 'modal'), emits)
|
|
102
103
|
const contentProps = toRef(() => props.content)
|
|
103
104
|
const contentEvents = computed(() => {
|
|
105
|
+
const events = {
|
|
106
|
+
closeAutoFocus: (e: Event) => e.preventDefault()
|
|
107
|
+
}
|
|
108
|
+
|
|
104
109
|
if (!props.dismissible) {
|
|
105
110
|
return {
|
|
106
111
|
pointerDownOutside: (e: Event) => e.preventDefault(),
|
|
107
112
|
interactOutside: (e: Event) => e.preventDefault(),
|
|
108
113
|
escapeKeyDown: (e: Event) => e.preventDefault(),
|
|
109
|
-
|
|
114
|
+
...events
|
|
110
115
|
}
|
|
111
116
|
}
|
|
112
117
|
|
|
113
|
-
return
|
|
114
|
-
closeAutoFocus: (e: Event) => e.preventDefault()
|
|
115
|
-
}
|
|
118
|
+
return events
|
|
116
119
|
})
|
|
117
120
|
|
|
118
121
|
const ui = computed(() => slideover({
|
|
@@ -162,7 +165,7 @@ const ui = computed(() => slideover({
|
|
|
162
165
|
</DialogDescription>
|
|
163
166
|
</div>
|
|
164
167
|
|
|
165
|
-
<DialogClose as-child>
|
|
168
|
+
<DialogClose v-if="close || !!slots.close" as-child>
|
|
166
169
|
<slot name="close" :ui="ui">
|
|
167
170
|
<UButton
|
|
168
171
|
v-if="close"
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
<!-- eslint-disable vue/block-tag-newline -->
|
|
1
2
|
<script lang="ts">
|
|
2
3
|
import type { VariantProps } from 'tailwind-variants'
|
|
3
4
|
import type { StepperRootProps, StepperRootEmits } from 'reka-ui'
|
|
@@ -68,6 +69,7 @@ export type StepperSlots<T extends StepperItem> = {
|
|
|
68
69
|
description: SlotProps<T>
|
|
69
70
|
content: SlotProps<T>
|
|
70
71
|
} & DynamicSlots<T, SlotProps<T>>
|
|
72
|
+
|
|
71
73
|
</script>
|
|
72
74
|
|
|
73
75
|
<script setup lang="ts" generic="T extends StepperItem">
|
|
@@ -289,7 +289,7 @@ function handleRowSelect(row: TableRow<T>, e: Event) {
|
|
|
289
289
|
return
|
|
290
290
|
}
|
|
291
291
|
const target = e.target as HTMLElement
|
|
292
|
-
const isInteractive = target.closest('button')
|
|
292
|
+
const isInteractive = target.closest('button') || target.closest('a')
|
|
293
293
|
if (isInteractive) {
|
|
294
294
|
return
|
|
295
295
|
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
<!-- eslint-disable vue/block-tag-newline -->
|
|
1
2
|
<script lang="ts">
|
|
2
3
|
import type { VariantProps } from 'tailwind-variants'
|
|
3
4
|
import type { TabsRootProps, TabsRootEmits } from 'reka-ui'
|
|
@@ -76,6 +77,7 @@ export type TabsSlots<T extends { slot?: string }> = {
|
|
|
76
77
|
trailing: SlotProps<T>
|
|
77
78
|
content: SlotProps<T>
|
|
78
79
|
} & DynamicSlots<T, SlotProps<T>>
|
|
80
|
+
|
|
79
81
|
</script>
|
|
80
82
|
|
|
81
83
|
<script setup lang="ts" generic="T extends TabsItem">
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
<script lang="ts">
|
|
2
|
-
import type { TooltipRootProps, TooltipRootEmits, TooltipContentProps, TooltipArrowProps } from 'reka-ui'
|
|
2
|
+
import type { TooltipRootProps, TooltipRootEmits, TooltipContentProps, TooltipContentEmits, TooltipArrowProps } from 'reka-ui'
|
|
3
3
|
import type { AppConfig } from '@nuxt/schema'
|
|
4
4
|
import _appConfig from '#build/app.config'
|
|
5
5
|
import theme from '#build/ui/tooltip'
|
|
6
6
|
import { tv } from '../utils/tv'
|
|
7
7
|
import type { KbdProps } from '../types'
|
|
8
|
+
import type { EmitsToProps } from '../types/utils'
|
|
8
9
|
|
|
9
10
|
const appConfigTooltip = _appConfig as AppConfig & { ui: { tooltip: Partial<typeof theme> } }
|
|
10
11
|
|
|
@@ -19,7 +20,7 @@ export interface TooltipProps extends TooltipRootProps {
|
|
|
19
20
|
* The content of the tooltip.
|
|
20
21
|
* @defaultValue { side: 'bottom', sideOffset: 8, collisionPadding: 8 }
|
|
21
22
|
*/
|
|
22
|
-
content?: Omit<TooltipContentProps, 'as' | 'asChild'>
|
|
23
|
+
content?: Omit<TooltipContentProps, 'as' | 'asChild'> & Partial<EmitsToProps<TooltipContentEmits>>
|
|
23
24
|
/**
|
|
24
25
|
* Display an arrow alongside the tooltip.
|
|
25
26
|
* @defaultValue false
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
<!-- eslint-disable vue/block-tag-newline -->
|
|
1
2
|
<script lang="ts">
|
|
2
3
|
import type { VariantProps } from 'tailwind-variants'
|
|
3
4
|
import type { TreeRootProps, TreeRootEmits } from 'reka-ui'
|
|
@@ -97,6 +98,7 @@ export type TreeSlots<T extends { slot?: string }> = {
|
|
|
97
98
|
'item-label': SlotProps<T>
|
|
98
99
|
'item-trailing': SlotProps<T>
|
|
99
100
|
} & DynamicSlots<T, SlotProps<T>>
|
|
101
|
+
|
|
100
102
|
</script>
|
|
101
103
|
|
|
102
104
|
<script setup lang="ts" generic="T extends TreeItem, M extends boolean = false, K extends SelectItemKey<T> | undefined = undefined">
|
|
@@ -2,9 +2,9 @@ import { computed, inject, toRef } from "vue";
|
|
|
2
2
|
import { createSharedComposable } from "@vueuse/core";
|
|
3
3
|
import { buildLocaleContext } from "../utils/locale.js";
|
|
4
4
|
import en from "../locale/en.js";
|
|
5
|
-
export const localeContextInjectionKey = Symbol("nuxt-ui.locale-context");
|
|
5
|
+
export const localeContextInjectionKey = Symbol.for("nuxt-ui.locale-context");
|
|
6
6
|
const _useLocale = (localeOverrides) => {
|
|
7
7
|
const locale = localeOverrides || toRef(inject(localeContextInjectionKey));
|
|
8
8
|
return buildLocaleContext(computed(() => locale.value || en));
|
|
9
9
|
};
|
|
10
|
-
export const useLocale = createSharedComposable(_useLocale);
|
|
10
|
+
export const useLocale = /* @__PURE__ */ createSharedComposable(_useLocale);
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { defineLocale } from "../composables/defineLocale.js";
|
|
2
|
+
export default defineLocale({
|
|
3
|
+
name: "Catal\xE0",
|
|
4
|
+
code: "ca",
|
|
5
|
+
messages: {
|
|
6
|
+
inputMenu: {
|
|
7
|
+
noMatch: "No hi ha dades coincidents",
|
|
8
|
+
noData: "Sense dades",
|
|
9
|
+
create: 'Crear "{label}"'
|
|
10
|
+
},
|
|
11
|
+
calendar: {
|
|
12
|
+
prevYear: "Any anterior",
|
|
13
|
+
nextYear: "Any seg\xFCent",
|
|
14
|
+
prevMonth: "Mes anterior",
|
|
15
|
+
nextMonth: "Mes seg\xFCent"
|
|
16
|
+
},
|
|
17
|
+
inputNumber: {
|
|
18
|
+
increment: "Incrementar",
|
|
19
|
+
decrement: "Decrementar"
|
|
20
|
+
},
|
|
21
|
+
commandPalette: {
|
|
22
|
+
placeholder: "Escriu una ordre o cerca...",
|
|
23
|
+
noMatch: "No hi ha dades coincidents",
|
|
24
|
+
noData: "Sense dades",
|
|
25
|
+
close: "Tancar"
|
|
26
|
+
},
|
|
27
|
+
selectMenu: {
|
|
28
|
+
noMatch: "No hi ha dades coincidents",
|
|
29
|
+
noData: "Sense dades",
|
|
30
|
+
create: 'Crear "{label}"',
|
|
31
|
+
search: "Cerca..."
|
|
32
|
+
},
|
|
33
|
+
toast: {
|
|
34
|
+
close: "Tancar"
|
|
35
|
+
},
|
|
36
|
+
carousel: {
|
|
37
|
+
prev: "Anterior",
|
|
38
|
+
next: "Seg\xFCent",
|
|
39
|
+
goto: "Anar a la diapositiva {slide}"
|
|
40
|
+
},
|
|
41
|
+
modal: {
|
|
42
|
+
close: "Tancar"
|
|
43
|
+
},
|
|
44
|
+
slideover: {
|
|
45
|
+
close: "Tancar"
|
|
46
|
+
},
|
|
47
|
+
alert: {
|
|
48
|
+
close: "Tancar"
|
|
49
|
+
},
|
|
50
|
+
table: {
|
|
51
|
+
noData: "Sense dades"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
});
|
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
import { defineLocale } from "../composables/defineLocale.js";
|
|
2
|
+
export default defineLocale({
|
|
3
|
+
name: "\u06A9\u0648\u0631\u062F\u06CC",
|
|
4
|
+
code: "ckb",
|
|
5
|
+
dir: "rtl",
|
|
6
|
+
messages: {
|
|
7
|
+
inputMenu: {
|
|
8
|
+
noMatch: "\u0647\u06CC\u0686 \u0626\u06D5\u0646\u062C\u0627\u0645\u06CE\u06A9 \u0646\u06D5\u062F\u06C6\u0632\u0631\u0627\u06CC\u06D5\u0648\u06D5",
|
|
9
|
+
noData: "\u0647\u06CC\u0686 \u062F\u0627\u062A\u0627\u06CC\u06D5\u06A9 \u0646\u06CC\u06CC\u06D5",
|
|
10
|
+
create: '"{label}" \u062F\u0631\u0648\u0633\u062A\u06A9\u0631\u062F\u0646\u06CC'
|
|
11
|
+
},
|
|
12
|
+
calendar: {
|
|
13
|
+
prevYear: "\u0633\u0627\u06B5\u06CC \u067E\u06CE\u0634\u0648\u0648",
|
|
14
|
+
nextYear: "\u0633\u0627\u06B5\u06CC \u062F\u0627\u0647\u0627\u062A\u0648\u0648",
|
|
15
|
+
prevMonth: "\u0645\u0627\u0646\u06AF\u06CC \u067E\u06CE\u0634\u0648\u0648",
|
|
16
|
+
nextMonth: "\u0645\u0627\u0646\u06AF\u06CC \u062F\u0627\u0647\u0627\u062A\u0648\u0648"
|
|
17
|
+
},
|
|
18
|
+
inputNumber: {
|
|
19
|
+
increment: "\u0632\u06CC\u0627\u062F\u06A9\u0631\u062F\u0646",
|
|
20
|
+
decrement: "\u06A9\u06D5\u0645\u06A9\u0631\u062F\u0646\u06D5\u0648\u06D5"
|
|
21
|
+
},
|
|
22
|
+
commandPalette: {
|
|
23
|
+
placeholder: "\u0641\u06D5\u0631\u0645\u0627\u0646\u06CE\u06A9 \u0628\u0646\u0648\u0648\u0633\u06D5 \u06CC\u0627\u0646 \u0628\u06AF\u06D5\u0695\u06CE...",
|
|
24
|
+
noMatch: "\u0647\u06CC\u0686 \u0626\u06D5\u0646\u062C\u0627\u0645\u06CE\u06A9 \u0646\u06D5\u062F\u06C6\u0632\u0631\u0627\u06CC\u06D5\u0648\u06D5",
|
|
25
|
+
noData: "\u0647\u06CC\u0686 \u062F\u0627\u062A\u0627\u06CC\u06D5\u06A9 \u0646\u06CC\u06CC\u06D5",
|
|
26
|
+
close: "\u062F\u0627\u062E\u0633\u062A\u0646"
|
|
27
|
+
},
|
|
28
|
+
selectMenu: {
|
|
29
|
+
noMatch: "\u0647\u06CC\u0686 \u0626\u06D5\u0646\u062C\u0627\u0645\u06CE\u06A9 \u0646\u06D5\u062F\u06C6\u0632\u0631\u0627\u06CC\u06D5\u0648\u06D5",
|
|
30
|
+
noData: "\u0647\u06CC\u0686 \u062F\u0627\u062A\u0627\u06CC\u06D5\u06A9 \u0646\u06CC\u06CC\u06D5",
|
|
31
|
+
create: '"{label}" \u062F\u0631\u0648\u0633\u062A\u06A9\u0631\u062F\u0646\u06CC',
|
|
32
|
+
search: "\u06AF\u06D5\u0695\u0627\u0646..."
|
|
33
|
+
},
|
|
34
|
+
toast: {
|
|
35
|
+
close: "\u062F\u0627\u062E\u0633\u062A\u0646"
|
|
36
|
+
},
|
|
37
|
+
carousel: {
|
|
38
|
+
prev: "\u067E\u06CE\u0634\u0648\u0648",
|
|
39
|
+
next: "\u062F\u0627\u0647\u0627\u062A\u0648\u0648",
|
|
40
|
+
goto: "\u0628\u0695\u06C6 \u0628\u06C6 \u0633\u0644\u0627\u06CC\u062F\u06CC {slide}"
|
|
41
|
+
},
|
|
42
|
+
modal: {
|
|
43
|
+
close: "\u062F\u0627\u062E\u0633\u062A\u0646"
|
|
44
|
+
},
|
|
45
|
+
slideover: {
|
|
46
|
+
close: "\u062F\u0627\u062E\u0633\u062A\u0646"
|
|
47
|
+
},
|
|
48
|
+
alert: {
|
|
49
|
+
close: "\u062F\u0627\u062E\u0633\u062A\u0646"
|
|
50
|
+
},
|
|
51
|
+
table: {
|
|
52
|
+
noData: "\u0647\u06CC\u0686 \u062F\u0627\u062A\u0627\u06CC\u06D5\u06A9 \u0646\u06CC\u06CC\u06D5"
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
});
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export { default as ar } from './ar';
|
|
2
2
|
export { default as az } from './az';
|
|
3
3
|
export { default as bn } from './bn';
|
|
4
|
+
export { default as ca } from './ca';
|
|
4
5
|
export { default as cs } from './cs';
|
|
6
|
+
export { default as ckb } from './ckb';
|
|
5
7
|
export { default as da } from './da';
|
|
6
8
|
export { default as de } from './de';
|
|
7
9
|
export { default as el } from './el';
|
|
@@ -24,12 +26,15 @@ export { default as nl } from './nl';
|
|
|
24
26
|
export { default as pl } from './pl';
|
|
25
27
|
export { default as pt } from './pt';
|
|
26
28
|
export { default as pt_br } from './pt_br';
|
|
29
|
+
export { default as ro } from './ro';
|
|
27
30
|
export { default as ru } from './ru';
|
|
28
31
|
export { default as sk } from './sk';
|
|
29
32
|
export { default as sv } from './sv';
|
|
30
33
|
export { default as th } from './th';
|
|
31
34
|
export { default as tr } from './tr';
|
|
32
35
|
export { default as uk } from './uk';
|
|
36
|
+
export { default as ur } from './ur';
|
|
37
|
+
export { default as uz } from './uz';
|
|
33
38
|
export { default as vi } from './vi';
|
|
34
39
|
export { default as zh_cn } from './zh_cn';
|
|
35
40
|
export { default as zh_tw } from './zh_tw';
|
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
export { default as ar } from "./ar.js";
|
|
2
2
|
export { default as az } from "./az.js";
|
|
3
3
|
export { default as bn } from "./bn.js";
|
|
4
|
+
export { default as ca } from "./ca.js";
|
|
4
5
|
export { default as cs } from "./cs.js";
|
|
6
|
+
export { default as ckb } from "./ckb.js";
|
|
5
7
|
export { default as da } from "./da.js";
|
|
6
8
|
export { default as de } from "./de.js";
|
|
7
9
|
export { default as el } from "./el.js";
|
|
@@ -24,12 +26,15 @@ export { default as nl } from "./nl.js";
|
|
|
24
26
|
export { default as pl } from "./pl.js";
|
|
25
27
|
export { default as pt } from "./pt.js";
|
|
26
28
|
export { default as pt_br } from "./pt_br.js";
|
|
29
|
+
export { default as ro } from "./ro.js";
|
|
27
30
|
export { default as ru } from "./ru.js";
|
|
28
31
|
export { default as sk } from "./sk.js";
|
|
29
32
|
export { default as sv } from "./sv.js";
|
|
30
33
|
export { default as th } from "./th.js";
|
|
31
34
|
export { default as tr } from "./tr.js";
|
|
32
35
|
export { default as uk } from "./uk.js";
|
|
36
|
+
export { default as ur } from "./ur.js";
|
|
37
|
+
export { default as uz } from "./uz.js";
|
|
33
38
|
export { default as vi } from "./vi.js";
|
|
34
39
|
export { default as zh_cn } from "./zh_cn.js";
|
|
35
40
|
export { default as zh_tw } from "./zh_tw.js";
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import { defineLocale } from "../composables/defineLocale.js";
|
|
2
|
+
export default defineLocale({
|
|
3
|
+
name: "Rom\xE2n\u0103",
|
|
4
|
+
code: "ro",
|
|
5
|
+
messages: {
|
|
6
|
+
inputMenu: {
|
|
7
|
+
noMatch: "Nu exist\u0103 date corespunz\u0103toare",
|
|
8
|
+
noData: "Nu exist\u0103 date",
|
|
9
|
+
create: 'Creeaz\u0103 "{label}"'
|
|
10
|
+
},
|
|
11
|
+
calendar: {
|
|
12
|
+
prevYear: "Anul precedent",
|
|
13
|
+
nextYear: "Anul urm\u0103tor",
|
|
14
|
+
prevMonth: "Luna precedent\u0103",
|
|
15
|
+
nextMonth: "Luna urm\u0103toare"
|
|
16
|
+
},
|
|
17
|
+
inputNumber: {
|
|
18
|
+
increment: "Cre\u0219te",
|
|
19
|
+
decrement: "Scade"
|
|
20
|
+
},
|
|
21
|
+
commandPalette: {
|
|
22
|
+
placeholder: "Tasteaz\u0103 o comand\u0103 sau caut\u0103...",
|
|
23
|
+
noMatch: "Nu exist\u0103 date corespunz\u0103toare",
|
|
24
|
+
noData: "Nu exist\u0103 date",
|
|
25
|
+
close: "\xCEnchide"
|
|
26
|
+
},
|
|
27
|
+
selectMenu: {
|
|
28
|
+
noMatch: "Nu exist\u0103 date corespunz\u0103toare",
|
|
29
|
+
noData: "Nu exist\u0103 date",
|
|
30
|
+
create: 'Creeaz\u0103 "{label}"',
|
|
31
|
+
search: "Caut\u0103..."
|
|
32
|
+
},
|
|
33
|
+
toast: {
|
|
34
|
+
close: "\xCEnchide"
|
|
35
|
+
},
|
|
36
|
+
carousel: {
|
|
37
|
+
prev: "Anterior",
|
|
38
|
+
next: "Urm\u0103tor",
|
|
39
|
+
goto: "Mergi la diapozitivul {slide}"
|
|
40
|
+
},
|
|
41
|
+
modal: {
|
|
42
|
+
close: "\xCEnchide"
|
|
43
|
+
},
|
|
44
|
+
slideover: {
|
|
45
|
+
close: "\xCEnchide"
|
|
46
|
+
},
|
|
47
|
+
alert: {
|
|
48
|
+
close: "\xCEnchide"
|
|
49
|
+
},
|
|
50
|
+
table: {
|
|
51
|
+
noData: "Nu exist\u0103 date"
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
});
|