Moved event and colored element logic to css variables
This commit is contained in:
280
assets/_events.css
Normal file
280
assets/_events.css
Normal file
@@ -0,0 +1,280 @@
|
||||
:root {
|
||||
--event-red-foreground: var(--color-slate-900);
|
||||
--event-red-background: var(--color-red-500);
|
||||
|
||||
--event-orange-foreground: var(--color-slate-900);
|
||||
--event-orange-background: var(--color-orange-500);
|
||||
|
||||
--event-amber-foreground: var(--color-slate-900);
|
||||
--event-amber-background: var(--color-amber-500);
|
||||
|
||||
--event-yellow-foreground: var(--color-slate-900);
|
||||
--event-yellow-background: var(--color-yellow-600);
|
||||
|
||||
--event-lime-foreground: var(--color-slate-900);
|
||||
--event-lime-background: var(--color-lime-500);
|
||||
|
||||
--event-green-foreground: var(--color-white);
|
||||
--event-green-background: var(--color-green-600);
|
||||
|
||||
--event-emerald-foreground: var(--color-white);
|
||||
--event-emerald-background: var(--color-emerald-600);
|
||||
|
||||
--event-teal-foreground: var(--color-white);
|
||||
--event-teal-background: var(--color-teal-600);
|
||||
|
||||
--event-cyan-foreground: var(--color-white);
|
||||
--event-cyan-background: var(--color-cyan-600);
|
||||
|
||||
--event-sky-foreground: var(--color-white);
|
||||
--event-sky-background: var(--color-sky-600);
|
||||
|
||||
--event-blue-foreground: var(--color-white);
|
||||
--event-blue-background: var(--color-blue-600);
|
||||
|
||||
--event-indigo-foreground: var(--color-white);
|
||||
--event-indigo-background: var(--color-indigo-600);
|
||||
|
||||
--event-violet-foreground: var(--color-white);
|
||||
--event-violet-background: var(--color-violet-600);
|
||||
|
||||
--event-purple-foreground: var(--color-white);
|
||||
--event-purple-background: var(--color-purple-600);
|
||||
|
||||
--event-fuchsia-foreground: var(--color-white);
|
||||
--event-fuchsia-background: var(--color-fuchsia-700);
|
||||
|
||||
--event-pink-foreground: var(--color-white);
|
||||
--event-pink-background: var(--color-pink-700);
|
||||
|
||||
--event-rose-foreground: var(--color-white);
|
||||
--event-rose-background: var(--color-pink-700);
|
||||
|
||||
--event-black-foreground: var(--color-white);
|
||||
--event-black-background: var(--color-stone-500);
|
||||
|
||||
--event-white-foreground: var(--color-slate-900);
|
||||
--event-white-background: var(--color-yellow-200);
|
||||
}
|
||||
|
||||
@theme inline {
|
||||
--color-event-red-foreground: var(--event-red-foreground);
|
||||
--color-event-red-background: var(--event-red-background);
|
||||
|
||||
--color-event-orange-foreground: var(--event-orange-foreground);
|
||||
--color-event-orange-background: var(--event-orange-background);
|
||||
|
||||
--color-event-amber-foreground: var(--event-amber-foreground);
|
||||
--color-event-amber-background: var(--event-amber-background);
|
||||
|
||||
--color-event-yellow-foreground: var(--event-yellow-foreground);
|
||||
--color-event-yellow-background: var(--event-yellow-background);
|
||||
|
||||
--color-event-lime-foreground: var(--event-lime-foreground);
|
||||
--color-event-lime-background: var(--event-lime-background);
|
||||
|
||||
--color-event-green-foreground: var(--event-green-foreground);
|
||||
--color-event-green-background: var(--event-green-background);
|
||||
|
||||
--color-event-emerald-foreground: var(--event-emerald-foreground);
|
||||
--color-event-emerald-background: var(--event-emerald-background);
|
||||
|
||||
--color-event-teal-foreground: var(--event-teal-foreground);
|
||||
--color-event-teal-background: var(--event-teal-background);
|
||||
|
||||
--color-event-cyan-foreground: var(--event-cyan-foreground);
|
||||
--color-event-cyan-background: var(--event-cyan-background);
|
||||
|
||||
--color-event-sky-foreground: var(--event-sky-foreground);
|
||||
--color-event-sky-background: var(--event-sky-background);
|
||||
|
||||
--color-event-blue-foreground: var(--event-blue-foreground);
|
||||
--color-event-blue-background: var(--event-blue-background);
|
||||
|
||||
--color-event-indigo-foreground: var(--event-indigo-foreground);
|
||||
--color-event-indigo-background: var(--event-indigo-background);
|
||||
|
||||
--color-event-violet-foreground: var(--event-violet-foreground);
|
||||
--color-event-violet-background: var(--event-violet-background);
|
||||
|
||||
--color-event-purple-foreground: var(--event-purple-foreground);
|
||||
--color-event-purple-background: var(--event-purple-background);
|
||||
|
||||
--color-event-fuchsia-foreground: var(--event-fuchsia-foreground);
|
||||
--color-event-fuchsia-background: var(--event-fuchsia-background);
|
||||
|
||||
--color-event-pink-foreground: var(--event-pink-foreground);
|
||||
--color-event-pink-background: var(--event-pink-background);
|
||||
|
||||
--color-event-rose-foreground: var(--event-rose-foreground);
|
||||
--color-event-rose-background: var(--event-rose-background);
|
||||
|
||||
--color-event-black-foreground: var(--event-black-foreground);
|
||||
--color-event-black-background: var(--event-black-background);
|
||||
|
||||
--color-event-white-foreground: var(--event-white-foreground);
|
||||
--color-event-white-background: var(--event-white-background);
|
||||
}
|
||||
|
||||
.event-button,
|
||||
.event-popover,
|
||||
.event-callout {
|
||||
--fg-color: var(--color-foreground);
|
||||
--bg-color: var(--color-background);
|
||||
|
||||
transition-duration: var(--default-transition-duration);
|
||||
transition-timing-function: var(--default-transition-timing-function);
|
||||
}
|
||||
|
||||
.event-button {
|
||||
color: var(--fg-color);
|
||||
background-color: var(--bg-color);
|
||||
text-underline-offset: .15rem;
|
||||
transition-property: background-color, color;
|
||||
}
|
||||
.event-button:hover {
|
||||
text-decoration: underline;
|
||||
background-color: color-mix(in srgb, var(--bg-color) 70%, var(--color-background));
|
||||
}
|
||||
.event-button.is-hidden {
|
||||
background-color: transparent;
|
||||
color: var(--bg-color);
|
||||
border: 1px dashed var(--bg-color);
|
||||
transition-property: background-color, color, border-color;
|
||||
}
|
||||
.event-button.is-hidden:is(:hover, :focus-visible) {
|
||||
background-color: color-mix(in srgb, var(--bg-color) 70%, var(--color-background));
|
||||
color: var(--fg-color);
|
||||
}
|
||||
|
||||
.event-popover {
|
||||
background-color: color-mix(in srgb, var(--bg-color) 10%, var(--color-background));
|
||||
border-color: color-mix(in srgb, var(--bg-color) 50%, var(--color-background));
|
||||
transition-property: background-color, color;
|
||||
|
||||
hr {
|
||||
border-color: var(--bg-color);
|
||||
}
|
||||
}
|
||||
|
||||
.event-callout {
|
||||
position: relative;
|
||||
background-color: color-mix(in srgb, var(--bg-color) 20%, var(--color-background));
|
||||
border-top-right-radius: .2rem;
|
||||
border-bottom-right-radius: .2rem;
|
||||
transition-property: background-color, color;
|
||||
|
||||
hr {
|
||||
border-color: var(--bg-color);
|
||||
}
|
||||
}
|
||||
.event-callout::before {
|
||||
display: block;
|
||||
content: '';
|
||||
position: absolute;
|
||||
height: 100%;
|
||||
inset-block: 0;
|
||||
left: -0.5rem;
|
||||
width: .5rem;
|
||||
background-color: color-mix(in srgb, var(--bg-color) 70%, var(--color-background));
|
||||
border-top-left-radius: .2rem;
|
||||
border-bottom-left-radius: .2rem;
|
||||
transition-property: background-color;
|
||||
transition-duration: var(--default-transition-duration);
|
||||
transition-timing-function: var(--default-transition-timing-function);
|
||||
}
|
||||
.event-callout:is(:hover, :focus-visible) {
|
||||
background-color: color-mix(in srgb, var(--bg-color) 30%, var(--color-background));
|
||||
}
|
||||
.event-callout:is(:hover, :focus-visible)::before {
|
||||
background-color: color-mix(in srgb, var(--bg-color) 80%, var(--color-background));
|
||||
}
|
||||
|
||||
.event-callout.is-hidden {
|
||||
border: 1px dashed var(--bg-color);
|
||||
background-color: transparent;
|
||||
}
|
||||
.event-callout.is-hidden::before {
|
||||
inset-block: -2px;
|
||||
height: calc(100% + 3px);
|
||||
}
|
||||
.event-callout.is-hidden:is(:hover, :focus-visible) {
|
||||
background-color: color-mix(in srgb, var(--bg-color) 10%, var(--color-background));
|
||||
}
|
||||
|
||||
.element-red {
|
||||
--fg-color: var(--color-event-red-foreground);
|
||||
--bg-color: var(--color-event-red-background);
|
||||
}
|
||||
.element-orange {
|
||||
--fg-color: var(--color-event-orange-foreground);
|
||||
--bg-color: var(--color-event-orange-background);
|
||||
}
|
||||
.element-amber {
|
||||
--fg-color: var(--color-event-amber-foreground);
|
||||
--bg-color: var(--color-event-amber-background);
|
||||
}
|
||||
.element-yellow {
|
||||
--fg-color: var(--color-event-yellow-foreground);
|
||||
--bg-color: var(--color-event-yellow-background);
|
||||
}
|
||||
.element-lime {
|
||||
--fg-color: var(--color-event-lime-foreground);
|
||||
--bg-color: var(--color-event-lime-background);
|
||||
}
|
||||
.element-green {
|
||||
--fg-color: var(--color-event-green-foreground);
|
||||
--bg-color: var(--color-event-green-background);
|
||||
}
|
||||
.element-emerald {
|
||||
--fg-color: var(--color-event-emerald-foreground);
|
||||
--bg-color: var(--color-event-emerald-background);
|
||||
}
|
||||
.element-teal {
|
||||
--fg-color: var(--color-event-teal-foreground);
|
||||
--bg-color: var(--color-event-teal-background);
|
||||
}
|
||||
.element-cyan {
|
||||
--fg-color: var(--color-event-cyan-foreground);
|
||||
--bg-color: var(--color-event-cyan-background);
|
||||
}
|
||||
.element-sky {
|
||||
--fg-color: var(--color-event-sky-foreground);
|
||||
--bg-color: var(--color-event-sky-background);
|
||||
}
|
||||
.element-blue {
|
||||
--fg-color: var(--color-event-blue-foreground);
|
||||
--bg-color: var(--color-event-blue-background);
|
||||
}
|
||||
.element-indigo {
|
||||
--fg-color: var(--color-event-indigo-foreground);
|
||||
--bg-color: var(--color-event-indigo-background);
|
||||
}
|
||||
.element-violet {
|
||||
--fg-color: var(--color-event-violet-foreground);
|
||||
--bg-color: var(--color-event-violet-background);
|
||||
}
|
||||
.element-purple {
|
||||
--fg-color: var(--color-event-purple-foreground);
|
||||
--bg-color: var(--color-event-purple-background);
|
||||
}
|
||||
.element-fuchsia {
|
||||
--fg-color: var(--color-event-fuchsia-foreground);
|
||||
--bg-color: var(--color-event-fuchsia-background);
|
||||
}
|
||||
.element-pink {
|
||||
--fg-color: var(--color-event-pink-foreground);
|
||||
--bg-color: var(--color-event-pink-background);
|
||||
}
|
||||
.element-rose {
|
||||
--fg-color: var(--color-event-rose-foreground);
|
||||
--bg-color: var(--color-event-rose-background);
|
||||
}
|
||||
.element-black {
|
||||
--fg-color: var(--color-event-black-foreground);
|
||||
--bg-color: var(--color-event-black-background);
|
||||
}
|
||||
.element-white {
|
||||
--fg-color: var(--color-event-white-foreground);
|
||||
--bg-color: var(--color-event-white-background);
|
||||
}
|
||||
@@ -2,6 +2,10 @@
|
||||
|
||||
@config '../tailwind.config.js';
|
||||
|
||||
@import "./theme.css" layer(theme);
|
||||
@import "./_events.css" layer(theme);
|
||||
@import "./_events.css" layer(utilities);
|
||||
|
||||
/*
|
||||
The default border color has changed to `currentcolor` in Tailwind CSS v4,
|
||||
so we've added these compatibility styles to make sure everything still
|
||||
@@ -20,91 +24,13 @@
|
||||
}
|
||||
}
|
||||
|
||||
@layer base {
|
||||
:root {
|
||||
--background: 0 0% 100%;
|
||||
--foreground: 222.2 84% 4.9%;
|
||||
|
||||
--muted: 210 40% 96.1%;
|
||||
--muted-foreground: 215.4 16.3% 46.9%;
|
||||
|
||||
--popover: 0 0% 100%;
|
||||
--popover-foreground: 222.2 84% 4.9%;
|
||||
|
||||
--card: 0 0% 100%;
|
||||
--card-foreground: 222.2 84% 4.9%;
|
||||
|
||||
--border: 214.3 31.8% 91.4%;
|
||||
--input: 214.3 31.8% 91.4%;
|
||||
|
||||
--primary: 245 58% 51%;
|
||||
--primary-foreground: 0 0% 100%;
|
||||
|
||||
--secondary: 210 50% 95%;
|
||||
--secondary-foreground: 222.2 47.4% 11.2%;
|
||||
|
||||
--accent: 210 40% 96.1%;
|
||||
--accent-foreground: 222.2 47.4% 11.2%;
|
||||
|
||||
--destructive: 0 84.2% 60.2%;
|
||||
--destructive-foreground: 210 40% 98%;
|
||||
|
||||
--success: 156 72% 67%;
|
||||
--success-muted: 156 72% 90%;
|
||||
--success-foreground: 222.2 84% 4.9%;
|
||||
|
||||
--ring: 222.2 84% 4.9%;
|
||||
|
||||
--radius: 0.5rem;
|
||||
}
|
||||
|
||||
.dark {
|
||||
--background: 180 0 4.9%;
|
||||
--foreground: 210 40% 98%;
|
||||
|
||||
--muted: 244 47% 20%;
|
||||
--muted-foreground: 215 20.2% 65.1%;
|
||||
|
||||
--popover: 180 0 4.9%;
|
||||
--popover-foreground: 210 40% 98%;
|
||||
|
||||
--card: 180 0 4.9%;
|
||||
--card-foreground: 210 40% 98%;
|
||||
|
||||
--border: 217 0 10%;
|
||||
--input: 244 47% 20%;
|
||||
|
||||
--primary: 245 58% 51%;
|
||||
--primary-foreground: 0 0% 100%;
|
||||
|
||||
--secondary: 244 47% 20%;
|
||||
--secondary-foreground: 210 40% 98%;
|
||||
|
||||
--accent: 244 47% 20%;
|
||||
--accent-foreground: 210 40% 98%;
|
||||
|
||||
--destructive: 0 62.8% 30.6%;
|
||||
--destructive-foreground: 210 40% 98%;
|
||||
|
||||
--success: 142 72% 29%;
|
||||
--success-muted: 142 72% 10%;
|
||||
--success-foreground: 210 40% 98%;
|
||||
|
||||
--ring: 212.7 26.8% 83.9%;
|
||||
}
|
||||
}
|
||||
|
||||
@layer base {
|
||||
* {
|
||||
@apply border-border;
|
||||
}
|
||||
body {
|
||||
@apply bg-background text-foreground;
|
||||
}
|
||||
color: var(--color-foreground);
|
||||
background-color: var(--color-background);
|
||||
}
|
||||
|
||||
/* Colors */
|
||||
.event-red:not(.is-hidden) {
|
||||
/* .event-red:not(.is-hidden) {
|
||||
@apply text-slate-900 bg-red-500 hover:bg-red-600 focus-visible:bg-red-600
|
||||
}
|
||||
.event-orange:not(.is-hidden) {
|
||||
@@ -338,9 +264,9 @@
|
||||
}
|
||||
.event-details-white {
|
||||
--base-color: var(--color-white);
|
||||
}
|
||||
} */
|
||||
|
||||
.event-details {
|
||||
/* .event-details {
|
||||
--bg-color: color-mix(in srgb, var(--base-color), var(--color-white) 80%);
|
||||
--border-color: color-mix(in srgb, var(--base-color), var(--color-white) 50%);
|
||||
background-color: var(--bg-color);
|
||||
@@ -354,7 +280,7 @@
|
||||
.dark .event-details {
|
||||
--bg-color: color-mix(in srgb, var(--base-color), var(--color-slate-950) 80%);
|
||||
--border-color: color-mix(in srgb, var(--base-color), var(--color-slate-800) 50%);
|
||||
}
|
||||
} */
|
||||
|
||||
.bgc {
|
||||
display: flex;
|
||||
|
||||
108
assets/theme.css
Normal file
108
assets/theme.css
Normal file
@@ -0,0 +1,108 @@
|
||||
:root {
|
||||
--background: hsl(0 0% 100%);
|
||||
--foreground: hsl(222.2 84% 4.9%);
|
||||
|
||||
--muted: hsl(210 40% 96.1%);
|
||||
--muted-foreground: hsl(215.4 16.3% 46.9%);
|
||||
|
||||
--popover: hsl(0 0% 100%);
|
||||
--popover-foreground: hsl(222.2 84% 4.9%);
|
||||
|
||||
--card: hsl(0 0% 100%);
|
||||
--card-foreground: hsl(222.2 84% 4.9%);
|
||||
|
||||
--border: hsl(214.3 31.8% 91.4%);
|
||||
--input: hsl(214.3 31.8% 91.4%);
|
||||
|
||||
--primary: hsl(245 58% 51%);
|
||||
--primary-foreground: hsl(0 0% 100%);
|
||||
|
||||
--secondary: hsl(210 50% 95%);
|
||||
--secondary-foreground: hsl(222.2 47.4% 11.2%);
|
||||
|
||||
--accent: hsl(210 40% 96.1%);
|
||||
--accent-foreground: hsl(222.2 47.4% 11.2%);
|
||||
|
||||
--destructive: hsl(0 84.2% 60.2%);
|
||||
--destructive-foreground: hsl(210 40% 98%);
|
||||
|
||||
--success: hsl(156 72% 67%);
|
||||
--success-muted: hsl(156 72% 90%);
|
||||
--success-foreground: hsl(222.2 84% 4.9%);
|
||||
|
||||
--ring: hsl(222.2 84% 4.9%);
|
||||
|
||||
--radius: 0.5rem;
|
||||
}
|
||||
|
||||
.dark {
|
||||
--background: hsl(180 0 4.9%);
|
||||
--foreground: hsl(210 40% 98%);
|
||||
|
||||
--muted: hsl(244 47% 20%);
|
||||
--muted-foreground: hsl(215 20.2% 65.1%);
|
||||
|
||||
--popover: hsl(180 0 4.9%);
|
||||
--popover-foreground: hsl(210 40% 98%);
|
||||
|
||||
--card: hsl(180 0 4.9%);
|
||||
--card-foreground: hsl(210 40% 98%);
|
||||
|
||||
--border: hsl(217 0 10%);
|
||||
--input: hsl(244 47% 20%);
|
||||
|
||||
--primary: hsl(245 58% 51%);
|
||||
--primary-foreground: hsl(0 0% 100%);
|
||||
|
||||
--secondary: hsl(244 47% 20%);
|
||||
--secondary-foreground: hsl(210 40% 98%);
|
||||
|
||||
--accent: hsl(244 47% 20%);
|
||||
--accent-foreground: hsl(210 40% 98%);
|
||||
|
||||
--destructive: hsl(0 62.8% 30.6%);
|
||||
--destructive-foreground: hsl(210 40% 98%);
|
||||
|
||||
--success: hsl(142 72% 29%);
|
||||
--success-muted: hsl(142 72% 10%);
|
||||
--success-foreground: hsl(210 40% 98%);
|
||||
|
||||
--ring: hsl(212.7 26.8% 83.9%);
|
||||
|
||||
--radius: 0.5rem;
|
||||
}
|
||||
|
||||
@theme inline {
|
||||
--color-background: var(--background);
|
||||
--color-foreground: var(--foreground);
|
||||
|
||||
--color-muted: var(--muted);
|
||||
--color-muted-foreground: var(--muted-foreground);
|
||||
|
||||
--color-popover: var(--popover);
|
||||
--color-popover-foreground: var(--popover-foreground);
|
||||
|
||||
--color-card: var(--card);
|
||||
--color-card-foreground: var(--card-foreground);
|
||||
|
||||
--color-border: var(--border);
|
||||
--color-input: var(--input);
|
||||
|
||||
--color-primary: var(--primary);
|
||||
--color-primary-foreground: var(--primary-foreground);
|
||||
|
||||
--color-secondary: var(--secondary);
|
||||
--color-secondary-foreground: var(--secondary-foreground);
|
||||
|
||||
--color-accent: var(--accent);
|
||||
--color-accent-foreground: var(--accent-foreground);
|
||||
|
||||
--color-destructive: var(--destructive);
|
||||
--color-destructive-foreground: var(--destructive-foreground);
|
||||
|
||||
--color-success: var(--success);
|
||||
--color-success-muted: var(--success-muted);
|
||||
--color-success-foreground: var(--success-foreground);
|
||||
|
||||
--color-ring: var(--ring);
|
||||
}
|
||||
@@ -62,17 +62,14 @@ function deployDeleteModal() {
|
||||
|
||||
<template>
|
||||
<UiPopoverContent
|
||||
class="w-96"
|
||||
class="w-96 event-popover"
|
||||
:align="'center'"
|
||||
:align-offset="50"
|
||||
:side="'left'"
|
||||
:collision-padding="60"
|
||||
:hide-when-detached="true"
|
||||
:class="cn(
|
||||
event.category ? `event-details-${event.category.color}` : '',
|
||||
{
|
||||
'event-details': event.category
|
||||
}
|
||||
event.category ? `element-${event.category.color}` : '',
|
||||
)"
|
||||
@focus-outside.prevent
|
||||
>
|
||||
|
||||
@@ -55,10 +55,10 @@ onMounted(() => {
|
||||
<UiPopover v-model:open="isPopoverDetailsOpen">
|
||||
<UiPopoverTrigger as-child>
|
||||
<button
|
||||
class="event text-xs px-2 py-1 block w-full text-left rounded-sm transition-colors outline-offset-1"
|
||||
class="event-button text-xs px-2 py-1 block w-full text-left rounded-sm transition-colors outline-offset-1 cursor-pointer"
|
||||
:class="
|
||||
cn(
|
||||
event.category ? `event-${event.category.color}` : '',
|
||||
`element-${event.category?.color}`,
|
||||
{
|
||||
'is-hidden': event.hidden,
|
||||
'rounded-r-none': isStartEvent,
|
||||
|
||||
@@ -21,9 +21,9 @@ const dateDuration = computed<string | null>(() => props.event.endDate ? getRela
|
||||
|
||||
<template>
|
||||
<button
|
||||
class="event group relative block w-full text-left py-3 px-4 rounded-sm transition-colors"
|
||||
class="event-callout group relative block w-full text-left py-3 px-4 cursor-pointer transition-colors"
|
||||
:class="cn(
|
||||
event.category ? `event-${event.category.color}` : '',
|
||||
event.category ? `element-${event.category.color}` : '',
|
||||
{
|
||||
'pt-4 is-hidden': event.hidden,
|
||||
})"
|
||||
|
||||
@@ -20,7 +20,7 @@ const props = withDefaults(defineProps<Props>(), {
|
||||
<Primitive
|
||||
:as="as"
|
||||
:as-child="asChild"
|
||||
:class="cn(buttonVariants({ variant, size }), props.class, 'group')"
|
||||
:class="cn(buttonVariants({ variant, size }), props.class, 'group cursor-pointer')"
|
||||
>
|
||||
<slot />
|
||||
|
||||
|
||||
@@ -99,25 +99,5 @@ module.exports = {
|
||||
},
|
||||
},
|
||||
},
|
||||
plugins: [
|
||||
animate,
|
||||
function ({ addBase, theme }) {
|
||||
function extractColorVars(colorObj, colorGroup = "") {
|
||||
return Object.keys(colorObj).reduce((vars, colorKey) => {
|
||||
const value = colorObj[colorKey]
|
||||
|
||||
const newVars =
|
||||
typeof value === "string"
|
||||
? { [`--color${colorGroup}-${colorKey}`]: value }
|
||||
: extractColorVars(value, `-${colorKey}`)
|
||||
|
||||
return { ...vars, ...newVars }
|
||||
}, {})
|
||||
}
|
||||
|
||||
addBase({
|
||||
":root": extractColorVars(theme("colors"))
|
||||
})
|
||||
}
|
||||
]
|
||||
plugins: [animate]
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user