@nuxt/ui 3.0.0-alpha.0 → 3.0.0-alpha.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 +1 -1
- package/cli/node_modules/.ignored/citty/LICENSE +36 -0
- package/cli/node_modules/.ignored/citty/README.md +134 -0
- package/cli/node_modules/.ignored/citty/dist/index.cjs +475 -0
- package/cli/node_modules/.ignored/citty/dist/index.d.cts +80 -0
- package/cli/node_modules/.ignored/citty/dist/index.d.mts +80 -0
- package/cli/node_modules/.ignored/citty/dist/index.d.ts +80 -0
- package/cli/node_modules/.ignored/citty/dist/index.mjs +463 -0
- package/cli/node_modules/.ignored/citty/package.json +49 -0
- package/cli/node_modules/.ignored/consola/LICENSE +47 -0
- package/cli/node_modules/.ignored/consola/README.md +318 -0
- package/cli/node_modules/.ignored/consola/core.d.ts +1 -0
- package/cli/node_modules/.ignored/consola/dist/basic.cjs +32 -0
- package/cli/node_modules/.ignored/consola/dist/basic.d.ts +9 -0
- package/cli/node_modules/.ignored/consola/dist/basic.mjs +24 -0
- package/cli/node_modules/.ignored/consola/dist/browser.cjs +80 -0
- package/cli/node_modules/.ignored/consola/dist/browser.d.ts +7 -0
- package/cli/node_modules/.ignored/consola/dist/browser.mjs +72 -0
- package/cli/node_modules/.ignored/consola/dist/chunks/prompt.cjs +436 -0
- package/cli/node_modules/.ignored/consola/dist/chunks/prompt.mjs +429 -0
- package/cli/node_modules/.ignored/consola/dist/core.cjs +415 -0
- package/cli/node_modules/.ignored/consola/dist/core.d.ts +124 -0
- package/cli/node_modules/.ignored/consola/dist/core.mjs +410 -0
- package/cli/node_modules/.ignored/consola/dist/index.cjs +21 -0
- package/cli/node_modules/.ignored/consola/dist/index.d.ts +9 -0
- package/cli/node_modules/.ignored/consola/dist/index.mjs +8 -0
- package/cli/node_modules/.ignored/consola/dist/shared/consola.06ad8a64.mjs +62 -0
- package/cli/node_modules/.ignored/consola/dist/shared/consola.36c0034f.mjs +636 -0
- package/cli/node_modules/.ignored/consola/dist/shared/consola.4bbae468.cjs +645 -0
- package/cli/node_modules/.ignored/consola/dist/shared/consola.deac7d5a.cjs +65 -0
- package/cli/node_modules/.ignored/consola/dist/utils.cjs +308 -0
- package/cli/node_modules/.ignored/consola/dist/utils.d.ts +169 -0
- package/cli/node_modules/.ignored/consola/dist/utils.mjs +284 -0
- package/cli/node_modules/.ignored/consola/lib/index.cjs +9 -0
- package/cli/node_modules/.ignored/consola/package.json +101 -0
- package/cli/node_modules/.ignored/consola/utils.d.ts +1 -0
- package/cli/node_modules/.ignored/pathe/LICENSE +44 -0
- package/cli/node_modules/.ignored/pathe/README.md +69 -0
- package/cli/node_modules/.ignored/pathe/dist/index.cjs +23 -0
- package/cli/node_modules/.ignored/pathe/dist/index.d.cts +36 -0
- package/cli/node_modules/.ignored/pathe/dist/index.d.mts +36 -0
- package/cli/node_modules/.ignored/pathe/dist/index.d.ts +36 -0
- package/cli/node_modules/.ignored/pathe/dist/index.mjs +1 -0
- package/cli/node_modules/.ignored/pathe/dist/shared/pathe.1f0a373c.cjs +238 -0
- package/cli/node_modules/.ignored/pathe/dist/shared/pathe.ff20891b.mjs +221 -0
- package/cli/node_modules/.ignored/pathe/dist/utils.cjs +58 -0
- package/cli/node_modules/.ignored/pathe/dist/utils.d.cts +5 -0
- package/cli/node_modules/.ignored/pathe/dist/utils.d.mts +5 -0
- package/cli/node_modules/.ignored/pathe/dist/utils.d.ts +5 -0
- package/cli/node_modules/.ignored/pathe/dist/utils.mjs +54 -0
- package/cli/node_modules/.ignored/pathe/package.json +48 -0
- package/cli/node_modules/.ignored/pathe/utils.d.ts +1 -0
- package/cli/node_modules/.ignored/scule/LICENSE +21 -0
- package/cli/node_modules/.ignored/scule/README.md +149 -0
- package/cli/node_modules/.ignored/scule/dist/index.cjs +92 -0
- package/cli/node_modules/.ignored/scule/dist/index.d.cts +57 -0
- package/cli/node_modules/.ignored/scule/dist/index.d.mts +57 -0
- package/cli/node_modules/.ignored/scule/dist/index.d.ts +57 -0
- package/cli/node_modules/.ignored/scule/dist/index.mjs +80 -0
- package/cli/node_modules/.ignored/scule/package.json +43 -0
- package/cli/node_modules/.package-lock.json +33 -0
- package/dist/module.json +3 -3
- package/dist/module.mjs +7 -55
- package/dist/runtime/components/Accordion.vue +49 -6
- package/dist/runtime/components/Alert.vue +58 -6
- package/dist/runtime/components/App.vue +12 -2
- package/dist/runtime/components/Avatar.vue +27 -6
- package/dist/runtime/components/AvatarGroup.vue +30 -6
- package/dist/runtime/components/Badge.vue +28 -6
- package/dist/runtime/components/Breadcrumb.vue +44 -6
- package/dist/runtime/components/Button.vue +33 -6
- package/dist/runtime/components/ButtonGroup.vue +30 -6
- package/dist/runtime/components/Card.vue +25 -6
- package/dist/runtime/components/Checkbox.vue +45 -6
- package/dist/runtime/components/Chip.vue +39 -6
- package/dist/runtime/components/Collapsible.vue +27 -6
- package/dist/runtime/components/CommandPalette.vue +99 -6
- package/dist/runtime/components/Container.vue +22 -6
- package/dist/runtime/components/ContextMenu.vue +58 -6
- package/dist/runtime/components/ContextMenuContent.vue +18 -4
- package/dist/runtime/components/Drawer.vue +48 -6
- package/dist/runtime/components/DropdownMenu.vue +66 -6
- package/dist/runtime/components/DropdownMenuContent.vue +22 -4
- package/dist/runtime/components/Form.vue +34 -13
- package/dist/runtime/components/FormField.vue +41 -16
- package/dist/runtime/components/Icon.vue +12 -2
- package/dist/runtime/components/Input.vue +46 -6
- package/dist/runtime/components/InputMenu.vue +113 -6
- package/dist/runtime/components/Kbd.vue +28 -6
- package/dist/runtime/components/Link.vue +81 -17
- package/dist/runtime/components/LinkBase.vue +12 -2
- package/dist/runtime/components/Modal.vue +69 -6
- package/dist/runtime/components/NavigationMenu.vue +76 -6
- package/dist/runtime/components/Pagination.vue +99 -6
- package/dist/runtime/components/Popover.vue +42 -6
- package/dist/runtime/components/Progress.vue +44 -6
- package/dist/runtime/components/RadioGroup.vue +55 -7
- package/dist/runtime/components/Select.vue +88 -6
- package/dist/runtime/components/SelectMenu.vue +104 -6
- package/dist/runtime/components/Separator.vue +41 -6
- package/dist/runtime/components/Skeleton.vue +18 -6
- package/dist/runtime/components/Slideover.vue +67 -6
- package/dist/runtime/components/Slider.vue +36 -6
- package/dist/runtime/components/Switch.vue +50 -6
- package/dist/runtime/components/Tabs.vue +59 -6
- package/dist/runtime/components/Textarea.vue +46 -6
- package/dist/runtime/components/Toast.vue +55 -6
- package/dist/runtime/components/Toaster.vue +27 -6
- package/dist/runtime/components/Tooltip.vue +42 -6
- package/dist/runtime/composables/useAvatarGroup.d.ts +2 -2
- package/dist/runtime/composables/useButtonGroup.d.ts +3 -3
- package/dist/runtime/composables/useFormField.d.ts +6 -3
- package/dist/runtime/composables/useFormField.js +11 -7
- package/dist/runtime/composables/useModal.d.ts +1 -1
- package/dist/runtime/composables/useSlideover.d.ts +1 -1
- package/dist/runtime/composables/useToast.d.ts +1 -1
- package/dist/runtime/index.css +1 -0
- package/dist/runtime/plugins/colors.d.ts +2 -0
- package/dist/runtime/plugins/modal.d.ts +2 -0
- package/dist/runtime/plugins/slideover.d.ts +2 -0
- package/dist/runtime/types/form.d.ts +1 -2
- package/dist/runtime/utils/link.d.ts +23 -55
- package/package.json +13 -14
- package/dist/runtime/assets/css/animations.css +0 -1
- package/dist/runtime/components/Accordion.vue.d.ts +0 -492
- package/dist/runtime/components/Alert.vue.d.ts +0 -548
- package/dist/runtime/components/App.vue.d.ts +0 -25
- package/dist/runtime/components/Avatar.vue.d.ts +0 -384
- package/dist/runtime/components/AvatarGroup.vue.d.ts +0 -381
- package/dist/runtime/components/Badge.vue.d.ts +0 -422
- package/dist/runtime/components/Breadcrumb.vue.d.ts +0 -307
- package/dist/runtime/components/Button.vue.d.ts +0 -949
- package/dist/runtime/components/ButtonGroup.vue.d.ts +0 -182
- package/dist/runtime/components/Card.vue.d.ts +0 -191
- package/dist/runtime/components/Checkbox.vue.d.ts +0 -819
- package/dist/runtime/components/Chip.vue.d.ts +0 -590
- package/dist/runtime/components/Collapsible.vue.d.ts +0 -159
- package/dist/runtime/components/CommandPalette.vue.d.ts +0 -684
- package/dist/runtime/components/Container.vue.d.ts +0 -27
- package/dist/runtime/components/ContextMenu.vue.d.ts +0 -796
- package/dist/runtime/components/ContextMenuContent.vue.d.ts +0 -0
- package/dist/runtime/components/Drawer.vue.d.ts +0 -343
- package/dist/runtime/components/DropdownMenu.vue.d.ts +0 -815
- package/dist/runtime/components/DropdownMenuContent.vue.d.ts +0 -0
- package/dist/runtime/components/Form.vue.d.ts +0 -39
- package/dist/runtime/components/FormField.vue.d.ts +0 -356
- package/dist/runtime/components/Icon.vue.d.ts +0 -17
- package/dist/runtime/components/Input.vue.d.ts +0 -1137
- package/dist/runtime/components/InputMenu.vue.d.ts +0 -2121
- package/dist/runtime/components/Kbd.vue.d.ts +0 -169
- package/dist/runtime/components/Link.vue.d.ts +0 -76
- package/dist/runtime/components/LinkBase.vue.d.ts +0 -49
- package/dist/runtime/components/Modal.vue.d.ts +0 -319
- package/dist/runtime/components/NavigationMenu.vue.d.ts +0 -1789
- package/dist/runtime/components/Pagination.vue.d.ts +0 -295
- package/dist/runtime/components/Popover.vue.d.ts +0 -197
- package/dist/runtime/components/Progress.vue.d.ts +0 -1781
- package/dist/runtime/components/RadioGroup.vue.d.ts +0 -1715
- package/dist/runtime/components/Select.vue.d.ts +0 -1569
- package/dist/runtime/components/SelectMenu.vue.d.ts +0 -1661
- package/dist/runtime/components/Separator.vue.d.ts +0 -0
- package/dist/runtime/components/Skeleton.vue.d.ts +0 -26
- package/dist/runtime/components/Slideover.vue.d.ts +0 -375
- package/dist/runtime/components/Slider.vue.d.ts +0 -0
- package/dist/runtime/components/Switch.vue.d.ts +0 -1676
- package/dist/runtime/components/Tabs.vue.d.ts +0 -934
- package/dist/runtime/components/Textarea.vue.d.ts +0 -1133
- package/dist/runtime/components/Toast.vue.d.ts +0 -0
- package/dist/runtime/components/Toaster.vue.d.ts +0 -362
- package/dist/runtime/components/Tooltip.vue.d.ts +0 -248
|
@@ -1,9 +1,45 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import { tv } from
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { tv, type VariantProps } from 'tailwind-variants'
|
|
3
|
+
import type { AppConfig } from '@nuxt/schema'
|
|
4
|
+
import _appConfig from '#build/app.config'
|
|
5
|
+
import theme from '#build/ui/textarea'
|
|
6
|
+
|
|
7
|
+
const appConfig = _appConfig as AppConfig & { ui: { textarea: Partial<typeof theme> } }
|
|
8
|
+
|
|
9
|
+
const textarea = tv({ extend: tv(theme), ...(appConfig.ui?.textarea || {}) })
|
|
10
|
+
|
|
11
|
+
type TextareaVariants = VariantProps<typeof textarea>
|
|
12
|
+
|
|
13
|
+
export interface TextareaProps {
|
|
14
|
+
id?: string
|
|
15
|
+
name?: string
|
|
16
|
+
/** The placeholder text when the textarea is empty. */
|
|
17
|
+
placeholder?: string
|
|
18
|
+
color?: TextareaVariants['color']
|
|
19
|
+
variant?: TextareaVariants['variant']
|
|
20
|
+
size?: TextareaVariants['size']
|
|
21
|
+
required?: boolean
|
|
22
|
+
autofocus?: boolean
|
|
23
|
+
autofocusDelay?: number
|
|
24
|
+
disabled?: boolean
|
|
25
|
+
class?: any
|
|
26
|
+
rows?: number
|
|
27
|
+
maxrows?: number
|
|
28
|
+
autoresize?: boolean
|
|
29
|
+
/** Highlight the ring color like a focus state. */
|
|
30
|
+
highlight?: boolean
|
|
31
|
+
ui?: Partial<typeof textarea.slots>
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
export interface TextareaEmits {
|
|
35
|
+
(e: 'update:modelValue', payload: string | number): void
|
|
36
|
+
(e: 'blur', event: FocusEvent): void
|
|
37
|
+
(e: 'change', event: Event): void
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface TextareaSlots {
|
|
41
|
+
default(props?: {}): any
|
|
42
|
+
}
|
|
7
43
|
</script>
|
|
8
44
|
|
|
9
45
|
<script setup lang="ts">
|
|
@@ -96,6 +132,8 @@ function autoResize() {
|
|
|
96
132
|
}
|
|
97
133
|
|
|
98
134
|
textareaRef.value.rows = props.rows
|
|
135
|
+
const overflow = textareaRef.value.style.overflow
|
|
136
|
+
textareaRef.value.style.overflow = 'hidden'
|
|
99
137
|
|
|
100
138
|
const styles = window.getComputedStyle(textareaRef.value)
|
|
101
139
|
const paddingTop = Number.parseInt(styles.paddingTop)
|
|
@@ -108,6 +146,8 @@ function autoResize() {
|
|
|
108
146
|
if (newRows > props.rows) {
|
|
109
147
|
textareaRef.value.rows = props.maxrows ? Math.min(newRows, props.maxrows) : newRows
|
|
110
148
|
}
|
|
149
|
+
|
|
150
|
+
textareaRef.value.style.overflow = overflow
|
|
111
151
|
}
|
|
112
152
|
}
|
|
113
153
|
|
|
@@ -1,9 +1,58 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import { tv } from
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { tv, type VariantProps } from 'tailwind-variants'
|
|
3
|
+
import type { ToastRootProps, ToastRootEmits } from 'radix-vue'
|
|
4
|
+
import type { AppConfig } from '@nuxt/schema'
|
|
5
|
+
import _appConfig from '#build/app.config'
|
|
6
|
+
import theme from '#build/ui/toast'
|
|
7
|
+
import type { AvatarProps, ButtonProps } from '../types'
|
|
8
|
+
|
|
9
|
+
const appConfig = _appConfig as AppConfig & { ui: { toast: Partial<typeof theme> } }
|
|
10
|
+
|
|
11
|
+
const toast = tv({ extend: tv(theme), ...(appConfig.ui?.toast || {}) })
|
|
12
|
+
|
|
13
|
+
type ToastVariants = VariantProps<typeof toast>
|
|
14
|
+
|
|
15
|
+
export interface ToastProps extends Pick<ToastRootProps, 'defaultOpen' | 'open' | 'type' | 'duration'> {
|
|
16
|
+
/**
|
|
17
|
+
* The element or component this component should render as.
|
|
18
|
+
* @defaultValue 'li'
|
|
19
|
+
*/
|
|
20
|
+
as?: any
|
|
21
|
+
title?: string
|
|
22
|
+
description?: string
|
|
23
|
+
icon?: string
|
|
24
|
+
avatar?: AvatarProps
|
|
25
|
+
color?: ToastVariants['color']
|
|
26
|
+
/**
|
|
27
|
+
* Display a list of actions:
|
|
28
|
+
* - under the title and description if multiline
|
|
29
|
+
* - next to the close button if not multiline
|
|
30
|
+
*/
|
|
31
|
+
actions?: ButtonProps[]
|
|
32
|
+
/**
|
|
33
|
+
* Display a close button to dismiss the toast.
|
|
34
|
+
* `{ size: 'md', color: 'gray', variant: 'link' }`{lang="ts-type"}
|
|
35
|
+
* @defaultValue true
|
|
36
|
+
*/
|
|
37
|
+
close?: ButtonProps | boolean
|
|
38
|
+
/**
|
|
39
|
+
* The icon displayed in the close button.
|
|
40
|
+
* @defaultValue appConfig.ui.icons.close
|
|
41
|
+
*/
|
|
42
|
+
closeIcon?: string
|
|
43
|
+
class?: any
|
|
44
|
+
ui?: Partial<typeof toast.slots>
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
export interface ToastEmits extends ToastRootEmits {}
|
|
48
|
+
|
|
49
|
+
export interface ToastSlots {
|
|
50
|
+
leading(props?: {}): any
|
|
51
|
+
title(props?: {}): any
|
|
52
|
+
description(props?: {}): any
|
|
53
|
+
actions(props?: {}): any
|
|
54
|
+
close(props: { ui: any }): any
|
|
55
|
+
}
|
|
7
56
|
</script>
|
|
8
57
|
|
|
9
58
|
<script setup lang="ts">
|
|
@@ -1,9 +1,30 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import { tv } from
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { tv, type VariantProps } from 'tailwind-variants'
|
|
3
|
+
import type { ToastProviderProps } from 'radix-vue'
|
|
4
|
+
import type { AppConfig } from '@nuxt/schema'
|
|
5
|
+
import _appConfig from '#build/app.config'
|
|
6
|
+
import theme from '#build/ui/toaster'
|
|
7
|
+
|
|
8
|
+
const appConfig = _appConfig as AppConfig & { ui: { toaster: Partial<typeof theme> } }
|
|
9
|
+
|
|
10
|
+
const toaster = tv({ extend: tv(theme), ...(appConfig.ui?.toaster || {}) })
|
|
11
|
+
|
|
12
|
+
type ToasterVariants = VariantProps<typeof toaster>
|
|
13
|
+
|
|
14
|
+
export interface ToasterProps extends Omit<ToastProviderProps, 'swipeDirection'> {
|
|
15
|
+
position?: ToasterVariants['position']
|
|
16
|
+
/**
|
|
17
|
+
* Expand the toasts to show multiple toasts at once.
|
|
18
|
+
* @defaultValue true
|
|
19
|
+
*/
|
|
20
|
+
expand?: boolean
|
|
21
|
+
class?: any
|
|
22
|
+
ui?: Partial<typeof toaster.slots>
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
export interface ToasterSlots {
|
|
26
|
+
default(props?: {}): any
|
|
27
|
+
}
|
|
7
28
|
</script>
|
|
8
29
|
|
|
9
30
|
<script setup lang="ts">
|
|
@@ -1,9 +1,45 @@
|
|
|
1
|
-
<script>
|
|
2
|
-
import { tv } from
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
|
|
6
|
-
|
|
1
|
+
<script lang="ts">
|
|
2
|
+
import { tv } from 'tailwind-variants'
|
|
3
|
+
import type { TooltipRootProps, TooltipRootEmits, TooltipContentProps, TooltipArrowProps } from 'radix-vue'
|
|
4
|
+
import type { AppConfig } from '@nuxt/schema'
|
|
5
|
+
import _appConfig from '#build/app.config'
|
|
6
|
+
import theme from '#build/ui/tooltip'
|
|
7
|
+
import type { KbdProps } from '../types'
|
|
8
|
+
|
|
9
|
+
const appConfig = _appConfig as AppConfig & { ui: { tooltip: Partial<typeof theme> } }
|
|
10
|
+
|
|
11
|
+
const tooltip = tv({ extend: tv(theme), ...(appConfig.ui?.tooltip || {}) })
|
|
12
|
+
|
|
13
|
+
export interface TooltipProps extends TooltipRootProps {
|
|
14
|
+
/** The text content of the tooltip. */
|
|
15
|
+
text?: string
|
|
16
|
+
/** The keyboard keys to display in the tooltip. */
|
|
17
|
+
kbds?: KbdProps['value'][] | KbdProps[]
|
|
18
|
+
/**
|
|
19
|
+
* The content of the tooltip.
|
|
20
|
+
* @defaultValue { side: 'bottom', sideOffset: 8 }
|
|
21
|
+
*/
|
|
22
|
+
content?: Omit<TooltipContentProps, 'as' | 'asChild'>
|
|
23
|
+
/**
|
|
24
|
+
* Display an arrow alongside the tooltip.
|
|
25
|
+
* @defaultValue false
|
|
26
|
+
*/
|
|
27
|
+
arrow?: boolean | Omit<TooltipArrowProps, 'as' | 'asChild'>
|
|
28
|
+
/**
|
|
29
|
+
* Render the tooltip in a portal.
|
|
30
|
+
* @defaultValue true
|
|
31
|
+
*/
|
|
32
|
+
portal?: boolean
|
|
33
|
+
class?: any
|
|
34
|
+
ui?: Partial<typeof tooltip.slots>
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export interface TooltipEmits extends TooltipRootEmits {}
|
|
38
|
+
|
|
39
|
+
export interface TooltipSlots {
|
|
40
|
+
default(props: { open: boolean }): any
|
|
41
|
+
content(props?: {}): any
|
|
42
|
+
}
|
|
7
43
|
</script>
|
|
8
44
|
|
|
9
45
|
<script setup lang="ts">
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { type ComputedRef, type InjectionKey } from 'vue';
|
|
2
|
-
import type { AvatarGroupProps } from '../types.js';
|
|
2
|
+
import type { AvatarGroupProps } from '../types/index.js';
|
|
3
3
|
export declare const avatarGroupInjectionKey: InjectionKey<ComputedRef<{
|
|
4
4
|
size: AvatarGroupProps['size'];
|
|
5
5
|
}>>;
|
|
6
6
|
export declare function useAvatarGroup(props: {
|
|
7
7
|
size: AvatarGroupProps['size'];
|
|
8
8
|
}): {
|
|
9
|
-
size: ComputedRef<
|
|
9
|
+
size: ComputedRef<any>;
|
|
10
10
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { InjectionKey, ComputedRef } from 'vue';
|
|
2
2
|
import type { ButtonGroupProps } from '../components/ButtonGroup.vue.js';
|
|
3
3
|
import type { GetObjectField } from '../types/utils.js';
|
|
4
4
|
export declare const buttonGroupInjectionKey: InjectionKey<ComputedRef<{
|
|
@@ -9,7 +9,7 @@ type Props<T> = {
|
|
|
9
9
|
size?: GetObjectField<T, 'size'>;
|
|
10
10
|
};
|
|
11
11
|
export declare function useButtonGroup<T>(props: Props<T>): {
|
|
12
|
-
orientation: ComputedRef<
|
|
13
|
-
size: ComputedRef<
|
|
12
|
+
orientation: ComputedRef<any>;
|
|
13
|
+
size: ComputedRef<any>;
|
|
14
14
|
};
|
|
15
15
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { type InjectionKey, type Ref, type ComputedRef } from 'vue';
|
|
2
2
|
import { type UseEventBusReturn } from '@vueuse/core';
|
|
3
|
-
import type { FormFieldProps } from '../types.js';
|
|
3
|
+
import type { FormFieldProps } from '../types/index.js';
|
|
4
4
|
import type { FormEvent, FormFieldInjectedOptions, FormInjectedOptions } from '../types/form.js';
|
|
5
5
|
import type { GetObjectField } from '../types/utils.js';
|
|
6
6
|
type Props<T> = {
|
|
@@ -16,11 +16,14 @@ type Props<T> = {
|
|
|
16
16
|
export declare const formOptionsInjectionKey: InjectionKey<ComputedRef<FormInjectedOptions>>;
|
|
17
17
|
export declare const formBusInjectionKey: InjectionKey<UseEventBusReturn<FormEvent, string>>;
|
|
18
18
|
export declare const formFieldInjectionKey: InjectionKey<ComputedRef<FormFieldInjectedOptions<FormFieldProps>>>;
|
|
19
|
+
export declare const inputIdInjectionKey: InjectionKey<Ref<string | undefined>>;
|
|
19
20
|
export declare const formInputsInjectionKey: InjectionKey<Ref<Record<string, string>>>;
|
|
20
|
-
export declare function useFormField<T>(props?: Props<T
|
|
21
|
+
export declare function useFormField<T>(props?: Props<T>, opts?: {
|
|
22
|
+
bind?: boolean;
|
|
23
|
+
}): {
|
|
21
24
|
id: ComputedRef<string | undefined>;
|
|
22
25
|
name: ComputedRef<string | undefined>;
|
|
23
|
-
size: ComputedRef<
|
|
26
|
+
size: ComputedRef<any>;
|
|
24
27
|
color: ComputedRef<"error" | GetObjectField<T, "color"> | undefined>;
|
|
25
28
|
highlight: ComputedRef<boolean | undefined>;
|
|
26
29
|
disabled: ComputedRef<boolean | undefined>;
|
|
@@ -3,18 +3,22 @@ import { useDebounceFn } from "@vueuse/core";
|
|
|
3
3
|
export const formOptionsInjectionKey = Symbol("nuxt-ui.form-options");
|
|
4
4
|
export const formBusInjectionKey = Symbol("nuxt-ui.form-events");
|
|
5
5
|
export const formFieldInjectionKey = Symbol("nuxt-ui.form-field");
|
|
6
|
+
export const inputIdInjectionKey = Symbol("nuxt-ui.input-id");
|
|
6
7
|
export const formInputsInjectionKey = Symbol("nuxt-ui.form-inputs");
|
|
7
|
-
export function useFormField(props) {
|
|
8
|
+
export function useFormField(props, opts) {
|
|
8
9
|
const formOptions = inject(formOptionsInjectionKey, void 0);
|
|
9
10
|
const formBus = inject(formBusInjectionKey, void 0);
|
|
10
11
|
const formField = inject(formFieldInjectionKey, void 0);
|
|
11
12
|
const formInputs = inject(formInputsInjectionKey, void 0);
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
13
|
+
const inputId = inject(inputIdInjectionKey, void 0);
|
|
14
|
+
if (formField && inputId) {
|
|
15
|
+
if (opts?.bind === false || props?.legend) {
|
|
16
|
+
inputId.value = void 0;
|
|
17
|
+
} else if (props?.id) {
|
|
18
|
+
inputId.value = props?.id;
|
|
15
19
|
}
|
|
16
|
-
if (formInputs && formField.value.name) {
|
|
17
|
-
formInputs.value[formField.value.name] =
|
|
20
|
+
if (formInputs && formField.value.name && inputId.value) {
|
|
21
|
+
formInputs.value[formField.value.name] = inputId.value;
|
|
18
22
|
}
|
|
19
23
|
}
|
|
20
24
|
const blurred = ref(false);
|
|
@@ -37,7 +41,7 @@ export function useFormField(props) {
|
|
|
37
41
|
formField?.value.validateOnInputDelay ?? formOptions?.value.validateOnInputDelay ?? 0
|
|
38
42
|
);
|
|
39
43
|
return {
|
|
40
|
-
id: computed(() => props?.id ??
|
|
44
|
+
id: computed(() => props?.id ?? inputId?.value),
|
|
41
45
|
name: computed(() => props?.name ?? formField?.value.name),
|
|
42
46
|
size: computed(() => props?.size ?? formField?.value.size),
|
|
43
47
|
color: computed(() => formField?.value.error ? "error" : props?.color),
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ShallowRef, Component, InjectionKey } from 'vue';
|
|
2
|
-
import type { ModalProps } from '../types.js';
|
|
2
|
+
import type { ModalProps } from '../types/index.js';
|
|
3
3
|
import type { ComponentProps } from '../types/component.js';
|
|
4
4
|
export interface ModalState {
|
|
5
5
|
component: Component | string;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ShallowRef, Component, InjectionKey } from 'vue';
|
|
2
|
-
import type { SlideoverProps } from '../types.js';
|
|
2
|
+
import type { SlideoverProps } from '../types/index.js';
|
|
3
3
|
import type { ComponentProps } from '../types/component.js';
|
|
4
4
|
export interface SlideoverState {
|
|
5
5
|
component: Component | string;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
@theme{--color-gray-*:initial;--color-cool-50:#f9fafb;--color-cool-100:#f3f4f6;--color-cool-200:#e5e7eb;--color-cool-300:#d1d5db;--color-cool-400:#9ca3af;--color-cool-500:#6b7280;--color-cool-600:#4b5563;--color-cool-700:#374151;--color-cool-800:#1f2937;--color-cool-900:#111827;--color-cool-950:#030712;--spacing-4_5:1.125rem;--color-primary-50:var(--color-primary-50);--color-primary-100:var(--color-primary-100);--color-primary-200:var(--color-primary-200);--color-primary-300:var(--color-primary-300);--color-primary-400:var(--color-primary-400);--color-primary-500:var(--color-primary-500);--color-primary-600:var(--color-primary-600);--color-primary-700:var(--color-primary-700);--color-primary-800:var(--color-primary-800);--color-primary-900:var(--color-primary-900);--color-primary-950:var(--color-primary-950);--color-error-50:var(--color-error-50);--color-error-100:var(--color-error-100);--color-error-200:var(--color-error-200);--color-error-300:var(--color-error-300);--color-error-400:var(--color-error-400);--color-error-500:var(--color-error-500);--color-error-600:var(--color-error-600);--color-error-700:var(--color-error-700);--color-error-800:var(--color-error-800);--color-error-900:var(--color-error-900);--color-error-950:var(--color-error-950);--color-gray-50:var(--color-gray-50);--color-gray-100:var(--color-gray-100);--color-gray-200:var(--color-gray-200);--color-gray-300:var(--color-gray-300);--color-gray-400:var(--color-gray-400);--color-gray-500:var(--color-gray-500);--color-gray-600:var(--color-gray-600);--color-gray-700:var(--color-gray-700);--color-gray-800:var(--color-gray-800);--color-gray-900:var(--color-gray-900);--color-gray-950:var(--color-gray-950)}@layer base{:root{color-scheme:light dark}@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes collapsible-up{0%{height:var(--radix-collapsible-content-height)}to{height:0}}@keyframes collapsible-down{0%{height:0}to{height:var(--radix-collapsible-content-height)}}@keyframes toast-collapsed-closed{0%{transform:var(--transform)}to{transform:translateY(calc((var(--before) - var(--height))*var(--gap))) scale(var(--scale))}}@keyframes toast-closed{0%{transform:var(--transform)}to{transform:translateY(calc((var(--offset) - var(--height))*var(--translate-factor)))}}@keyframes toast-slide-left{0%{transform:translateX(0) translateY(var(--translate))}to{transform:translateX(-100%) translateY(var(--translate))}}@keyframes toast-slide-right{0%{transform:translateX(0) translateY(var(--translate))}to{transform:translateX(100%) translateY(var(--translate))}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes slide-in-from-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slide-out-to-top{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes slide-in-from-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slide-out-to-right{0%{transform:translateX(0)}to{transform:translateX(100%)}}@keyframes slide-in-from-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slide-out-to-bottom{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes slide-in-from-left{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slide-out-to-left{0%{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes slide-in-from-top-and-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out-to-top-and-fade{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@keyframes slide-in-from-right-and-fade{0%{opacity:0;transform:translateX(4px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-out-to-right-and-fade{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(4px)}}@keyframes slide-in-from-bottom-and-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out-to-bottom-and-fade{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}@keyframes slide-in-from-left-and-fade{0%{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-out-to-left-and-fade{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-4px)}}@keyframes enter-from-right{0%{opacity:0;transform:translateX(200px)}to{opacity:1;transform:translateX(0)}}@keyframes enter-from-left{0%{opacity:0;transform:translateX(-200px)}to{opacity:1;transform:translateX(0)}}@keyframes exit-to-right{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(200px)}}@keyframes exit-to-left{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-200px)}}@keyframes carousel{0%,to{width:50%}0%{transform:translateX(-100%)}to{transform:translateX(200%)}}@keyframes carousel-vertical{0%,to{height:50%}0%{transform:translateY(-100%)}to{transform:translateY(200%)}}@keyframes carousel-inverse{0%,to{width:50%}0%{transform:translateX(200%)}to{transform:translateX(-100%)}}@keyframes carousel-inverse-vertical{0%,to{height:50%}0%{transform:translateY(200%)}to{transform:translateY(-100%)}}@keyframes swing{0%,to{width:50%}0%,to{transform:translateX(-25%)}50%{transform:translateX(125%)}}@keyframes swing-vertical{0%,to{height:50%}0%,to{transform:translateY(-25%)}50%{transform:translateY(125%)}}@keyframes elastic{0%,to{margin-left:25%;width:50%}50%{margin-left:5%;width:90%}}@keyframes elastic-vertical{0%,to{height:50%;margin-top:25%}50%{height:90%;margin-top:5%}}}
|
|
@@ -24,7 +24,7 @@ export interface FormError<P extends string = string> {
|
|
|
24
24
|
message: string;
|
|
25
25
|
}
|
|
26
26
|
export interface FormErrorWithId extends FormError {
|
|
27
|
-
id
|
|
27
|
+
id?: string;
|
|
28
28
|
}
|
|
29
29
|
export type FormSubmitEvent<T> = SubmitEvent & {
|
|
30
30
|
data: T;
|
|
@@ -54,7 +54,6 @@ export interface FormInjectedOptions {
|
|
|
54
54
|
validateOnInputDelay?: number;
|
|
55
55
|
}
|
|
56
56
|
export interface FormFieldInjectedOptions<T> {
|
|
57
|
-
id: string;
|
|
58
57
|
name?: string;
|
|
59
58
|
size?: GetObjectField<T, 'size'>;
|
|
60
59
|
error?: string | boolean;
|
|
@@ -1,59 +1,27 @@
|
|
|
1
|
-
import type { LinkProps } from '../types.js';
|
|
1
|
+
import type { LinkProps } from '../types/index.js';
|
|
2
2
|
export declare function pickLinkProps(link: LinkProps & {
|
|
3
3
|
ariaLabel?: string;
|
|
4
4
|
}): {
|
|
5
|
-
type
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
ariaCurrentValue?: ("page" | "step" | "location" | "date" | "time" | "true" | "false") | undefined;
|
|
28
|
-
replace?: boolean | undefined;
|
|
29
|
-
disabled?: boolean | undefined;
|
|
30
|
-
active?: boolean | undefined;
|
|
31
|
-
exact?: boolean | undefined;
|
|
32
|
-
exactQuery?: boolean | undefined;
|
|
33
|
-
exactHash?: boolean | undefined;
|
|
34
|
-
inactiveClass?: string | undefined;
|
|
35
|
-
href?: string | {
|
|
36
|
-
name?: import("vue-router").RouteRecordNameGeneric;
|
|
37
|
-
params?: import("vue-router").RouteParamsRawGeneric | undefined;
|
|
38
|
-
path?: undefined;
|
|
39
|
-
query?: import("vue-router").LocationQueryRaw | undefined;
|
|
40
|
-
hash?: string | undefined;
|
|
41
|
-
replace?: boolean | undefined;
|
|
42
|
-
force?: boolean | undefined;
|
|
43
|
-
state?: import("vue-router").HistoryState | undefined;
|
|
44
|
-
} | {
|
|
45
|
-
path: string;
|
|
46
|
-
query?: import("vue-router").LocationQueryRaw | undefined;
|
|
47
|
-
hash?: string | undefined;
|
|
48
|
-
replace?: boolean | undefined;
|
|
49
|
-
force?: boolean | undefined;
|
|
50
|
-
state?: import("vue-router").HistoryState | undefined;
|
|
51
|
-
} | undefined;
|
|
52
|
-
external?: boolean | undefined;
|
|
53
|
-
rel?: ("noopener" | "noreferrer" | "nofollow" | "sponsored" | "ugc" | (string & {}) | null) | undefined;
|
|
54
|
-
noRel?: boolean | undefined;
|
|
55
|
-
prefetchedClass?: string | undefined;
|
|
56
|
-
prefetch?: boolean | undefined;
|
|
57
|
-
noPrefetch?: boolean | undefined;
|
|
58
|
-
ariaLabel?: string | undefined;
|
|
5
|
+
type: any;
|
|
6
|
+
active: any;
|
|
7
|
+
activeClass: any;
|
|
8
|
+
ariaCurrentValue: any;
|
|
9
|
+
ariaLabel: any;
|
|
10
|
+
as: any;
|
|
11
|
+
disabled: any;
|
|
12
|
+
exact: any;
|
|
13
|
+
exactActiveClass: any;
|
|
14
|
+
exactHash: any;
|
|
15
|
+
exactQuery: any;
|
|
16
|
+
external: any;
|
|
17
|
+
href: any;
|
|
18
|
+
inactiveClass: any;
|
|
19
|
+
noPrefetch: any;
|
|
20
|
+
noRel: any;
|
|
21
|
+
prefetch: any;
|
|
22
|
+
prefetchedClass: any;
|
|
23
|
+
rel: any;
|
|
24
|
+
replace: any;
|
|
25
|
+
target: any;
|
|
26
|
+
to: any;
|
|
59
27
|
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@nuxt/ui",
|
|
3
|
-
"version": "3.0.0-alpha.
|
|
4
|
-
"packageManager": "pnpm@9.
|
|
3
|
+
"version": "3.0.0-alpha.1",
|
|
4
|
+
"packageManager": "pnpm@9.10.0",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
7
7
|
"url": "git+https://github.com/nuxt/ui.git"
|
|
@@ -13,22 +13,21 @@
|
|
|
13
13
|
".": {
|
|
14
14
|
"types": "./dist/module.d.ts",
|
|
15
15
|
"import": "./dist/module.mjs",
|
|
16
|
-
"require": "./dist/module.cjs"
|
|
16
|
+
"require": "./dist/module.cjs",
|
|
17
|
+
"style": "./dist/runtime/index.css"
|
|
17
18
|
},
|
|
18
19
|
"./runtime/*": "./dist/runtime/*"
|
|
19
20
|
},
|
|
20
21
|
"bin": {
|
|
21
22
|
"nuxt-ui": "./cli/index.mjs"
|
|
22
23
|
},
|
|
24
|
+
"style": "./dist/runtime/index.css",
|
|
23
25
|
"main": "./dist/module.cjs",
|
|
24
26
|
"types": "./dist/types.d.ts",
|
|
25
27
|
"files": [
|
|
26
28
|
"dist",
|
|
27
29
|
"cli"
|
|
28
30
|
],
|
|
29
|
-
"engines": {
|
|
30
|
-
"node": ">=v16.20.2"
|
|
31
|
-
},
|
|
32
31
|
"scripts": {
|
|
33
32
|
"build": "nuxt-module-build build",
|
|
34
33
|
"prepack": "pnpm build",
|
|
@@ -42,15 +41,15 @@
|
|
|
42
41
|
"lint:fix": "eslint . --fix",
|
|
43
42
|
"typecheck": "vue-tsc --noEmit && nuxi typecheck playground && nuxi typecheck docs",
|
|
44
43
|
"test": "vitest",
|
|
45
|
-
"release": "release-it"
|
|
44
|
+
"release": "release-it --preRelease=alpha --npm.tag=next"
|
|
46
45
|
},
|
|
47
46
|
"dependencies": {
|
|
48
47
|
"@nuxt/icon": "^1.5.1",
|
|
49
48
|
"@nuxt/kit": "^3.13.1",
|
|
50
49
|
"@nuxt/schema": "^3.13.1",
|
|
51
50
|
"@nuxtjs/color-mode": "^3.4.4",
|
|
52
|
-
"@tailwindcss/postcss": "4.0.0-alpha.
|
|
53
|
-
"@tailwindcss/vite": "4.0.0-alpha.
|
|
51
|
+
"@tailwindcss/postcss": "4.0.0-alpha.23",
|
|
52
|
+
"@tailwindcss/vite": "4.0.0-alpha.23",
|
|
54
53
|
"@vueuse/core": "^11.0.3",
|
|
55
54
|
"@vueuse/integrations": "^11.0.3",
|
|
56
55
|
"defu": "^6.1.4",
|
|
@@ -59,16 +58,16 @@
|
|
|
59
58
|
"radix-vue": "^1.9.5",
|
|
60
59
|
"scule": "^1.3.0",
|
|
61
60
|
"tailwind-variants": "^0.2.1",
|
|
62
|
-
"tailwindcss": "4.0.0-alpha.
|
|
61
|
+
"tailwindcss": "4.0.0-alpha.23",
|
|
63
62
|
"vaul-vue": "^0.2.0"
|
|
64
63
|
},
|
|
65
64
|
"devDependencies": {
|
|
66
|
-
"@nuxt/eslint-config": "^0.5.
|
|
67
|
-
"@nuxt/module-builder": "^0.8.
|
|
68
|
-
"@nuxt/test-utils": "^3.14.
|
|
65
|
+
"@nuxt/eslint-config": "^0.5.7",
|
|
66
|
+
"@nuxt/module-builder": "^0.8.4",
|
|
67
|
+
"@nuxt/test-utils": "^3.14.2",
|
|
69
68
|
"@release-it/conventional-changelog": "^8.0.1",
|
|
70
69
|
"@vue/test-utils": "^2.4.6",
|
|
71
|
-
"eslint": "^9.
|
|
70
|
+
"eslint": "^9.10.0",
|
|
72
71
|
"happy-dom": "^15.7.3",
|
|
73
72
|
"joi": "^17.13.3",
|
|
74
73
|
"nuxt": "^3.13.1",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
@keyframes accordion-up{0%{height:var(--radix-accordion-content-height)}to{height:0}}@keyframes accordion-down{0%{height:0}to{height:var(--radix-accordion-content-height)}}@keyframes collapsible-up{0%{height:var(--radix-collapsible-content-height)}to{height:0}}@keyframes collapsible-down{0%{height:0}to{height:var(--radix-collapsible-content-height)}}@keyframes toast-collapsed-closed{0%{transform:var(--transform)}to{transform:translateY(calc((var(--before) - var(--height))*var(--gap))) scale(var(--scale))}}@keyframes toast-closed{0%{transform:var(--transform)}to{transform:translateY(calc((var(--offset) - var(--height))*var(--translate-factor)))}}@keyframes toast-slide-left{0%{transform:translateX(0) translateY(var(--translate))}to{transform:translateX(-100%) translateY(var(--translate))}}@keyframes toast-slide-right{0%{transform:translateX(0) translateY(var(--translate))}to{transform:translateX(100%) translateY(var(--translate))}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes scale-in{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scale-out{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@keyframes slide-in-from-top{0%{transform:translateY(-100%)}to{transform:translateY(0)}}@keyframes slide-out-to-top{0%{transform:translateY(0)}to{transform:translateY(-100%)}}@keyframes slide-in-from-right{0%{transform:translateX(100%)}to{transform:translateX(0)}}@keyframes slide-out-to-right{0%{transform:translateX(0)}to{transform:translateX(100%)}}@keyframes slide-in-from-bottom{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slide-out-to-bottom{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes slide-in-from-left{0%{transform:translateX(-100%)}to{transform:translateX(0)}}@keyframes slide-out-to-left{0%{transform:translateX(0)}to{transform:translateX(-100%)}}@keyframes slide-in-from-top-and-fade{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out-to-top-and-fade{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}@keyframes slide-in-from-right-and-fade{0%{opacity:0;transform:translateX(4px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-out-to-right-and-fade{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(4px)}}@keyframes slide-in-from-bottom-and-fade{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-out-to-bottom-and-fade{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(4px)}}@keyframes slide-in-from-left-and-fade{0%{opacity:0;transform:translateX(-4px)}to{opacity:1;transform:translateX(0)}}@keyframes slide-out-to-left-and-fade{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-4px)}}@keyframes enter-from-right{0%{opacity:0;transform:translateX(200px)}to{opacity:1;transform:translateX(0)}}@keyframes enter-from-left{0%{opacity:0;transform:translateX(-200px)}to{opacity:1;transform:translateX(0)}}@keyframes exit-to-right{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(200px)}}@keyframes exit-to-left{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-200px)}}@keyframes carousel{0%,to{width:50%}0%{transform:translateX(-100%)}to{transform:translateX(200%)}}@keyframes carousel-vertical{0%,to{height:50%}0%{transform:translateY(-100%)}to{transform:translateY(200%)}}@keyframes carousel-inverse{0%,to{width:50%}0%{transform:translateX(200%)}to{transform:translateX(-100%)}}@keyframes carousel-inverse-vertical{0%,to{height:50%}0%{transform:translateY(200%)}to{transform:translateY(-100%)}}@keyframes swing{0%,to{width:50%}0%,to{transform:translateX(-25%)}50%{transform:translateX(125%)}}@keyframes swing-vertical{0%,to{height:50%}0%,to{transform:translateY(-25%)}50%{transform:translateY(125%)}}@keyframes elastic{0%,to{margin-left:25%;width:50%}50%{margin-left:5%;width:90%}}@keyframes elastic-vertical{0%,to{height:50%;margin-top:25%}50%{height:90%;margin-top:5%}}
|