mirror of
https://github.com/ArthurDanjou/ui.git
synced 2026-01-26 09:50:33 +01:00
@@ -85,23 +85,3 @@ const ui = computed(() => tv({ extend: accordion, slots: props.ui })())
|
|||||||
</AccordionItem>
|
</AccordionItem>
|
||||||
</AccordionRoot>
|
</AccordionRoot>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style>
|
|
||||||
@keyframes accordion-down {
|
|
||||||
from {
|
|
||||||
height: 0;
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
height: var(--radix-accordion-content-height);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes accordion-up {
|
|
||||||
from {
|
|
||||||
height: var(--radix-accordion-content-height);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
height: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|||||||
@@ -47,23 +47,3 @@ const ui = computed(() => tv({ extend: collapsible, slots: props.ui })())
|
|||||||
</CollapsibleContent>
|
</CollapsibleContent>
|
||||||
</CollapsibleRoot>
|
</CollapsibleRoot>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style>
|
|
||||||
@keyframes collapsible-down {
|
|
||||||
from {
|
|
||||||
height: 0;
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
height: var(--radix-collapsible-content-height);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
@keyframes collapsible-up {
|
|
||||||
from {
|
|
||||||
height: var(--radix-collapsible-content-height);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
height: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|||||||
@@ -77,26 +77,3 @@ const ui = computed(() => tv({ extend: dropdownMenu, slots: props.ui })())
|
|||||||
</UDropdownMenuContent>
|
</UDropdownMenuContent>
|
||||||
</DropdownMenuRoot>
|
</DropdownMenuRoot>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style>
|
|
||||||
@keyframes dropdown-menu-open {
|
|
||||||
from {
|
|
||||||
opacity: 0;
|
|
||||||
transform: scale(0.95);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 1;
|
|
||||||
transform: scale(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes dropdown-menu-closed {
|
|
||||||
from {
|
|
||||||
opacity: 1;
|
|
||||||
transform: scale(1);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 0;
|
|
||||||
transform: scale(0.95);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|||||||
@@ -128,42 +128,3 @@ const ui = computed(() => tv({ extend: modal, slots: props.ui })({
|
|||||||
</DialogPortal>
|
</DialogPortal>
|
||||||
</DialogRoot>
|
</DialogRoot>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style>
|
|
||||||
@keyframes modal-overlay-open {
|
|
||||||
from {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes modal-overlay-closed {
|
|
||||||
from {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes modal-content-open {
|
|
||||||
from {
|
|
||||||
opacity: 0;
|
|
||||||
transform: scale(0.95);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 1;
|
|
||||||
transform: scale(1);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes modal-content-closed {
|
|
||||||
from {
|
|
||||||
opacity: 1;
|
|
||||||
transform: scale(1);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 0;
|
|
||||||
transform: scale(0.95);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|||||||
@@ -51,7 +51,7 @@ const rootProps = useForwardPropsEmits(pick, emits)
|
|||||||
const contentProps = toRef(() => defu(props.content, { side: 'bottom', sideOffset: 8 }) as PopoverContentProps)
|
const contentProps = toRef(() => defu(props.content, { side: 'bottom', sideOffset: 8 }) as PopoverContentProps)
|
||||||
const arrowProps = toRef(() => props.arrow as PopoverArrowProps)
|
const arrowProps = toRef(() => props.arrow as PopoverArrowProps)
|
||||||
|
|
||||||
const ui = computed(() => tv({ extend: popover, slots: props.ui })())
|
const ui = computed(() => tv({ extend: popover, slots: props.ui })({ side: contentProps.value.side }))
|
||||||
|
|
||||||
const Component = computed(() => props.mode === 'hover' ? HoverCard : Popover)
|
const Component = computed(() => props.mode === 'hover' ? HoverCard : Popover)
|
||||||
</script>
|
</script>
|
||||||
@@ -71,86 +71,3 @@ const Component = computed(() => props.mode === 'hover' ? HoverCard : Popover)
|
|||||||
</Component.Portal>
|
</Component.Portal>
|
||||||
</Component.Root>
|
</Component.Root>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style>
|
|
||||||
@keyframes popover-down-open {
|
|
||||||
from {
|
|
||||||
opacity: 0;
|
|
||||||
transform: translateY(-0.25rem);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateY(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes popover-down-closed {
|
|
||||||
from {
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateY(0);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 0;
|
|
||||||
transform: translateY(-0.25rem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes popover-right-open {
|
|
||||||
from {
|
|
||||||
opacity: 0;
|
|
||||||
transform: translateX(-0.25rem);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateY(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes popover-right-closed {
|
|
||||||
from {
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateY(0);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 0;
|
|
||||||
transform: translateX(-0.25rem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes popover-up-open {
|
|
||||||
from {
|
|
||||||
opacity: 0;
|
|
||||||
transform: translateY(0.25rem);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateY(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes popover-up-closed {
|
|
||||||
from {
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateY(0);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 0;
|
|
||||||
transform: translateY(0.25rem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes popover-left-open {
|
|
||||||
from {
|
|
||||||
opacity: 0;
|
|
||||||
transform: translateX(0.25rem);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateY(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes popover-left-closed {
|
|
||||||
from {
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateY(0);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 0;
|
|
||||||
transform: translateX(0.25rem);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|||||||
@@ -129,86 +129,3 @@ const ui = computed(() => tv({ extend: slideover, slots: props.ui })({
|
|||||||
</DialogPortal>
|
</DialogPortal>
|
||||||
</DialogRoot>
|
</DialogRoot>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style>
|
|
||||||
@keyframes slideover-overlay-open {
|
|
||||||
from {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes slideover-overlay-closed {
|
|
||||||
from {
|
|
||||||
opacity: 1;
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 0;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes slideover-content-right-open {
|
|
||||||
from {
|
|
||||||
transform: translateX(100%);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
transform: translateX(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes slideover-content-right-closed {
|
|
||||||
from {
|
|
||||||
transform: translateX(0);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
transform: translateX(100%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes slideover-content-left-open {
|
|
||||||
from {
|
|
||||||
transform: translateX(-100%);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
transform: translateX(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes slideover-content-left-closed {
|
|
||||||
from {
|
|
||||||
transform: translateX(0);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
transform: translateX(-100%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes slideover-content-top-open {
|
|
||||||
from {
|
|
||||||
transform: translateY(-100%);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
transform: translateY(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes slideover-content-top-closed {
|
|
||||||
from {
|
|
||||||
transform: translateY(0);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
transform: translateY(-100%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes slideover-content-bottom-open {
|
|
||||||
from {
|
|
||||||
transform: translateY(100%);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
transform: translateY(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes slideover-content-bottom-closed {
|
|
||||||
from {
|
|
||||||
transform: translateY(0);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
transform: translateY(100%);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ const rootProps = useForwardPropsEmits(reactivePick(props, 'defaultOpen', 'open'
|
|||||||
const contentProps = toRef(() => defu(props.content, { side: 'bottom', sideOffset: 8 }) as TooltipContentProps)
|
const contentProps = toRef(() => defu(props.content, { side: 'bottom', sideOffset: 8 }) as TooltipContentProps)
|
||||||
const arrowProps = toRef(() => props.arrow as TooltipArrowProps)
|
const arrowProps = toRef(() => props.arrow as TooltipArrowProps)
|
||||||
|
|
||||||
const ui = computed(() => tv({ extend: tooltip, slots: props.ui })())
|
const ui = computed(() => tv({ extend: tooltip, slots: props.ui })({ side: contentProps.value.side }))
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
@@ -73,46 +73,3 @@ const ui = computed(() => tv({ extend: tooltip, slots: props.ui })())
|
|||||||
</TooltipPortal>
|
</TooltipPortal>
|
||||||
</TooltipRoot>
|
</TooltipRoot>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<style>
|
|
||||||
@keyframes tooltip-down {
|
|
||||||
from {
|
|
||||||
opacity: 0;
|
|
||||||
transform: translateY(-0.25rem);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateY(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes tooltip-right {
|
|
||||||
from {
|
|
||||||
opacity: 0;
|
|
||||||
transform: translateX(-0.25rem);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateY(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes tooltip-up {
|
|
||||||
from {
|
|
||||||
opacity: 0;
|
|
||||||
transform: translateY(0.25rem);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateY(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@keyframes tooltip-left {
|
|
||||||
from {
|
|
||||||
opacity: 0;
|
|
||||||
transform: translateX(0.25rem);
|
|
||||||
}
|
|
||||||
to {
|
|
||||||
opacity: 1;
|
|
||||||
transform: translateY(0);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
</style>
|
|
||||||
|
|||||||
163
src/templates.ts
163
src/templates.ts
@@ -12,30 +12,149 @@ export function addTemplates (options: ModuleOptions, nuxt: Nuxt) {
|
|||||||
write: true,
|
write: true,
|
||||||
getContents: () => `@import "tailwindcss";
|
getContents: () => `@import "tailwindcss";
|
||||||
|
|
||||||
@layer base {
|
@layer base {
|
||||||
:root {
|
:root {
|
||||||
color-scheme: light dark;
|
color-scheme: light dark;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
@theme {
|
@keyframes accordion-up {
|
||||||
--color-gray-*: initial;
|
from { height: var(--radix-accordion-content-height); }
|
||||||
--color-cool-50: #f9fafb;
|
to { height: 0; }
|
||||||
--color-cool-100: #f3f4f6;
|
}
|
||||||
--color-cool-200: #e5e7eb;
|
@keyframes accordion-down {
|
||||||
--color-cool-300: #d1d5db;
|
from { height: 0; }
|
||||||
--color-cool-400: #9ca3af;
|
to { height: var(--radix-accordion-content-height); }
|
||||||
--color-cool-500: #6b7280;
|
}
|
||||||
--color-cool-600: #4b5563;
|
|
||||||
--color-cool-700: #374151;
|
|
||||||
--color-cool-800: #1f2937;
|
|
||||||
--color-cool-900: #111827;
|
|
||||||
--color-cool-950: #030712;
|
|
||||||
|
|
||||||
${shades.map(shade => `--color-primary-${shade}: var(--color-primary-${shade});`).join('\n')}
|
@keyframes collapsible-up {
|
||||||
${shades.map(shade => `--color-gray-${shade}: var(--color-gray-${shade});`).join('\n')}
|
from { height: var(--radix-collapsible-content-height); }
|
||||||
}
|
to { height: 0; }
|
||||||
`
|
}
|
||||||
|
@keyframes collapsible-down {
|
||||||
|
from { height: 0; }
|
||||||
|
to { height: var(--radix-collapsible-content-height); }
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes fade-in {
|
||||||
|
from { opacity: 0; }
|
||||||
|
to { opacity: 1; }
|
||||||
|
}
|
||||||
|
@keyframes fade-out {
|
||||||
|
from { opacity: 1; }
|
||||||
|
to { opacity: 0; }
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes scale-in {
|
||||||
|
from { opacity: 0; transform: scale(0.95); }
|
||||||
|
to { opacity: 1; transform: scale(1); }
|
||||||
|
}
|
||||||
|
@keyframes scale-out {
|
||||||
|
from { opacity: 1; transform: scale(1); }
|
||||||
|
to { opacity: 0; transform: scale(0.95); }
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes slide-in-from-top {
|
||||||
|
from { transform: translateY(-100%); }
|
||||||
|
to { transform: translateY(0); }
|
||||||
|
}
|
||||||
|
@keyframes slide-out-to-top {
|
||||||
|
from { transform: translateY(0); }
|
||||||
|
to { transform: translateY(-100%); }
|
||||||
|
}
|
||||||
|
@keyframes slide-in-from-right {
|
||||||
|
from { transform: translateX(100%); }
|
||||||
|
to { transform: translateX(0); }
|
||||||
|
}
|
||||||
|
@keyframes slide-out-to-right {
|
||||||
|
from { transform: translateX(0); }
|
||||||
|
to { transform: translateX(100%); }
|
||||||
|
}
|
||||||
|
@keyframes slide-in-from-bottom {
|
||||||
|
from { transform: translateY(100%); }
|
||||||
|
to { transform: translateY(0); }
|
||||||
|
}
|
||||||
|
@keyframes slide-out-to-bottom {
|
||||||
|
from { transform: translateY(0); }
|
||||||
|
to { transform: translateY(100%); }
|
||||||
|
}
|
||||||
|
@keyframes slide-in-from-left {
|
||||||
|
from { transform: translateX(-100%); }
|
||||||
|
to { transform: translateX(0); }
|
||||||
|
}
|
||||||
|
@keyframes slide-out-to-left {
|
||||||
|
from { transform: translateX(0); }
|
||||||
|
to { transform: translateX(-100%); }
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes slide-in-from-top-and-fade {
|
||||||
|
from { opacity: 0; transform: translateY(-4px); }
|
||||||
|
to { opacity: 1; transform: translateY(0); }
|
||||||
|
}
|
||||||
|
@keyframes slide-out-to-top-and-fade {
|
||||||
|
from { opacity: 1; transform: translateY(0); }
|
||||||
|
to { opacity: 0; transform: translateY(-4px); }
|
||||||
|
}
|
||||||
|
@keyframes slide-in-from-right-and-fade {
|
||||||
|
from { opacity: 0; transform: translateX(4px); }
|
||||||
|
to { opacity: 1; transform: translateX(0); }
|
||||||
|
}
|
||||||
|
@keyframes slide-out-to-right-and-fade {
|
||||||
|
from { opacity: 1; transform: translateX(0); }
|
||||||
|
to { opacity: 0; transform: translateX(4px); }
|
||||||
|
}
|
||||||
|
@keyframes slide-in-from-bottom-and-fade {
|
||||||
|
from { opacity: 0; transform: translateY(4px); }
|
||||||
|
to { opacity: 1; transform: translateY(0); }
|
||||||
|
}
|
||||||
|
@keyframes slide-out-to-bottom-and-fade {
|
||||||
|
from { opacity: 1; transform: translateY(0); }
|
||||||
|
to { opacity: 0; transform: translateY(4px); }
|
||||||
|
}
|
||||||
|
@keyframes slide-in-from-left-and-fade {
|
||||||
|
from { opacity: 0; transform: translateX(-4px); }
|
||||||
|
to { opacity: 1; transform: translateX(0); }
|
||||||
|
}
|
||||||
|
@keyframes slide-out-to-left-and-fade {
|
||||||
|
from { opacity: 1; transform: translateX(0); }
|
||||||
|
to { opacity: 0; transform: translateX(-4px); }
|
||||||
|
}
|
||||||
|
|
||||||
|
@keyframes enter-from-right {
|
||||||
|
from { opacity: 0; transform: translateX(200px); }
|
||||||
|
to { opacity: 1; transform: translateX(0); }
|
||||||
|
}
|
||||||
|
@keyframes enter-from-left {
|
||||||
|
from { opacity: 0; transform: translateX(-200px); }
|
||||||
|
to { opacity: 1; transform: translateX(0); }
|
||||||
|
}
|
||||||
|
@keyframes exit-to-right {
|
||||||
|
from { opacity: 1; transform: translateX(0); }
|
||||||
|
to { opacity: 0; transform: translateX(200px); }
|
||||||
|
}
|
||||||
|
@keyframes exit-to-left {
|
||||||
|
from { opacity: 1; transform: translateX(0); }
|
||||||
|
to { opacity: 0; transform: translateX(-200px); }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@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;
|
||||||
|
|
||||||
|
${shades.map(shade => `--color-primary-${shade}: var(--color-primary-${shade});`).join('\n\t')}
|
||||||
|
${shades.map(shade => `--color-gray-${shade}: var(--color-gray-${shade});`).join('\n\t')}
|
||||||
|
}
|
||||||
|
`
|
||||||
})
|
})
|
||||||
|
|
||||||
nuxt.options.css.push(template.dst)
|
nuxt.options.css.push(template.dst)
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
export default {
|
export default {
|
||||||
slots: {
|
slots: {
|
||||||
content: 'min-w-48 bg-white dark:bg-gray-900 shadow-lg rounded-md ring ring-gray-200 dark:ring-gray-800 divide-y divide-gray-200 dark:divide-gray-800 will-change-[transform,opacity] data-[state=open]:animate-[dropdown-menu-open_100ms_ease-out] data-[state=closed]:animate-[dropdown-menu-closed_100ms_ease-in]',
|
content: 'min-w-48 bg-white dark:bg-gray-900 shadow-lg rounded-md ring ring-gray-200 dark:ring-gray-800 divide-y divide-gray-200 dark:divide-gray-800 will-change-[transform,opacity] data-[state=open]:animate-[scale-in_100ms_ease-out] data-[state=closed]:animate-[scale-out_100ms_ease-in]',
|
||||||
arrow: 'fill-gray-200 dark:fill-gray-800',
|
arrow: 'fill-gray-200 dark:fill-gray-800',
|
||||||
group: 'p-1',
|
group: 'p-1',
|
||||||
label: 'w-full flex items-center gap-1.5 p-1.5 text-sm font-medium select-none',
|
label: 'w-full flex items-center gap-1.5 p-1.5 text-sm font-medium select-none',
|
||||||
|
|||||||
@@ -12,8 +12,8 @@ export default {
|
|||||||
variants: {
|
variants: {
|
||||||
transition: {
|
transition: {
|
||||||
true: {
|
true: {
|
||||||
overlay: 'data-[state=open]:animate-[modal-overlay-open_200ms_ease-out] data-[state=closed]:animate-[modal-overlay-closed_200ms_ease-in]',
|
overlay: 'data-[state=open]:animate-[fade-in_200ms_ease-out] data-[state=closed]:animate-[fade-out_200ms_ease-in]',
|
||||||
content: 'data-[state=open]:animate-[modal-content-open_200ms_ease-out] data-[state=closed]:animate-[modal-content-closed_200ms_ease-in]'
|
content: 'data-[state=open]:animate-[scale-in_200ms_ease-out] data-[state=closed]:animate-[scale-out_200ms_ease-in]'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
fullscreen: {
|
fullscreen: {
|
||||||
|
|||||||
@@ -1,6 +1,22 @@
|
|||||||
export default {
|
export default {
|
||||||
slots: {
|
slots: {
|
||||||
content: 'bg-white dark:bg-gray-900 shadow-lg rounded-md ring ring-gray-200 dark:ring-gray-800 will-change-[transform,opacity] data-[state=open]:data-[side=top]:animate-[popover-down-open_200ms_ease-out] data-[state=closed]:data-[side=top]:animate-[popover-down-closed_200ms_ease-in] data-[state=open]:data-[side=right]:animate-[popover-left-open_200ms_ease-out] data-[state=closed]:data-[side=right]:animate-[popover-left-closed_200ms_ease-in] data-[state=open]:data-[side=left]:animate-[popover-right-open_200ms_ease-out] data-[state=closed]:data-[side=left]:animate-[popover-right-closed_200ms_ease-in] data-[state=open]:data-[side=bottom]:animate-[popover-up-open_200ms_ease-out] data-[state=closed]:data-[side=bottom]:animate-[popover-up-closed_200ms_ease-in]',
|
content: 'bg-white dark:bg-gray-900 shadow-lg rounded-md ring ring-gray-200 dark:ring-gray-800 will-change-[transform,opacity]',
|
||||||
arrow: 'fill-gray-200 dark:fill-gray-800'
|
arrow: 'fill-gray-200 dark:fill-gray-800'
|
||||||
|
},
|
||||||
|
variants: {
|
||||||
|
side: {
|
||||||
|
top: {
|
||||||
|
content: 'data-[state=open]:animate-[slide-in-from-top-and-fade_200ms_ease-out] data-[state=closed]:animate-[slide-out-to-top-and-fade_200ms_ease-in]'
|
||||||
|
},
|
||||||
|
right: {
|
||||||
|
content: 'data-[state=open]:animate-[slide-in-from-right-and-fade_200ms_ease-out] data-[state=closed]:animate-[slide-out-to-right-and-fade_200ms_ease-in]'
|
||||||
|
},
|
||||||
|
bottom: {
|
||||||
|
content: 'data-[state=open]:animate-[slide-in-from-bottom-and-fade_200ms_ease-out] data-[state=closed]:animate-[slide-out-to-bottom-and-fade_200ms_ease-in]'
|
||||||
|
},
|
||||||
|
left: {
|
||||||
|
content: 'data-[state=open]:animate-[slide-in-from-left-and-fade_200ms_ease-out] data-[state=closed]:animate-[slide-out-to-left-and-fade_200ms_ease-in]'
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,24 +11,48 @@ export default {
|
|||||||
},
|
},
|
||||||
variants: {
|
variants: {
|
||||||
side: {
|
side: {
|
||||||
left: {
|
top: {
|
||||||
content: 'left-0 inset-y-0 w-full max-w-md'
|
content: 'inset-x-0 top-0'
|
||||||
},
|
},
|
||||||
right: {
|
right: {
|
||||||
content: 'right-0 inset-y-0 w-full max-w-md'
|
content: 'right-0 inset-y-0 w-full max-w-md'
|
||||||
},
|
},
|
||||||
top: {
|
|
||||||
content: 'inset-x-0 top-0'
|
|
||||||
},
|
|
||||||
bottom: {
|
bottom: {
|
||||||
content: 'inset-x-0 bottom-0'
|
content: 'inset-x-0 bottom-0'
|
||||||
|
},
|
||||||
|
left: {
|
||||||
|
content: 'left-0 inset-y-0 w-full max-w-md'
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
transition: {
|
transition: {
|
||||||
true: {
|
true: {
|
||||||
overlay: 'data-[state=open]:animate-[slideover-overlay-open_200ms_ease-out] data-[state=closed]:animate-[slideover-overlay-closed_200ms_ease-in]',
|
overlay: 'data-[state=open]:animate-[fade-in_200ms_ease-out] data-[state=closed]:animate-[fade-out_200ms_ease-in]'
|
||||||
content: 'data-[state=open]:data-[side=left]:animate-[slideover-content-left-open_200ms_ease-in-out] data-[state=closed]:data-[side=left]:animate-[slideover-content-left-closed_200ms_ease-in-out] data-[state=open]:data-[side=right]:animate-[slideover-content-right-open_200ms_ease-in-out] data-[state=closed]:data-[side=right]:animate-[slideover-content-right-closed_200ms_ease-in-out] data-[state=open]:data-[side=top]:animate-[slideover-content-top-open_200ms_ease-in-out] data-[state=closed]:data-[side=top]:animate-[slideover-content-top-closed_200ms_ease-in-out] data-[state=open]:data-[side=bottom]:animate-[slideover-content-bottom-open_200ms_ease-in-out] data-[state=closed]:data-[side=bottom]:animate-[slideover-content-bottom-closed_200ms_ease-in-out]'
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
},
|
||||||
|
compoundVariants: [{
|
||||||
|
transition: true,
|
||||||
|
side: 'top',
|
||||||
|
class: {
|
||||||
|
content: 'data-[state=open]:animate-[slide-in-from-top_200ms_ease-in-out] data-[state=closed]:animate-[slide-out-to-top_200ms_ease-in-out]'
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
transition: true,
|
||||||
|
side: 'right',
|
||||||
|
class: {
|
||||||
|
content: 'data-[state=open]:animate-[slide-in-from-right_200ms_ease-in-out] data-[state=closed]:animate-[slide-out-to-right_200ms_ease-in-out]'
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
transition: true,
|
||||||
|
side: 'bottom',
|
||||||
|
class: {
|
||||||
|
content: 'data-[state=open]:animate-[slide-in-from-bottom_200ms_ease-in-out] data-[state=closed]:animate-[slide-out-to-bottom_200ms_ease-in-out]'
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
transition: true,
|
||||||
|
side: 'left',
|
||||||
|
class: {
|
||||||
|
content: 'data-[state=open]:animate-[slide-in-from-left_200ms_ease-in-out] data-[state=closed]:animate-[slide-out-to-left_200ms_ease-in-out]'
|
||||||
|
}
|
||||||
|
}]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,25 @@
|
|||||||
export default {
|
export default {
|
||||||
slots: {
|
slots: {
|
||||||
content: 'flex items-center gap-1 bg-white dark:bg-gray-900 text-gray-900 dark:text-white shadow rounded ring ring-gray-200 dark:ring-gray-800 h-6 px-2 py-1 text-xs select-none will-change-[transform,opacity] data-[state=delayed-open]:data-[side=top]:animate-[tooltip-down_200ms_ease-out] data-[state=delayed-open]:data-[side=right]:animate-[tooltip-left_200ms_ease-out] data-[state=delayed-open]:data-[side=left]:animate-[tooltip-right_200ms_ease-out] data-[state=delayed-open]:data-[side=bottom]:animate-[tooltip-up_200ms_ease-out]',
|
content: 'flex items-center gap-1 bg-white dark:bg-gray-900 text-gray-900 dark:text-white shadow rounded ring ring-gray-200 dark:ring-gray-800 h-6 px-2 py-1 text-xs select-none will-change-[transform,opacity]',
|
||||||
arrow: 'fill-gray-200 dark:fill-gray-800',
|
arrow: 'fill-gray-200 dark:fill-gray-800',
|
||||||
text: 'truncate',
|
text: 'truncate',
|
||||||
// eslint-disable-next-line quotes
|
// eslint-disable-next-line quotes
|
||||||
shortcuts: `hidden lg:inline-flex items-center shrink-0 gap-0.5 before:content-['·'] before:mr-0.5`
|
shortcuts: `hidden lg:inline-flex items-center shrink-0 gap-0.5 before:content-['·'] before:mr-0.5`
|
||||||
|
},
|
||||||
|
variants: {
|
||||||
|
side: {
|
||||||
|
top: {
|
||||||
|
content: 'data-[state=delayed-open]:animate-[slide-in-from-top-and-fade_200ms_ease-out]'
|
||||||
|
},
|
||||||
|
right: {
|
||||||
|
content: 'data-[state=delayed-open]:animate-[slide-in-from-right-and-fade_200ms_ease-out]'
|
||||||
|
},
|
||||||
|
bottom: {
|
||||||
|
content: 'data-[state=delayed-open]:animate-[slide-in-from-bottom-and-fade_200ms_ease-out]'
|
||||||
|
},
|
||||||
|
left: {
|
||||||
|
content: 'data-[state=delayed-open]:animate-[slide-in-from-left-and-fade_200ms_ease-out]'
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user