From cc07f898ea8e32565220d35b3fbbe2f8f5b8b1f0 Mon Sep 17 00:00:00 2001 From: Alexis <35.alexis.pele@gmail.com> Date: Wed, 16 Apr 2025 12:00:38 +0200 Subject: [PATCH 1/7] Ran upgrade cli --- assets/main.css | 24 ++++++++-- components/calendar/Calendar.vue | 2 +- components/calendar/category/Table.vue | 2 +- components/calendar/category/TableFooter.vue | 2 +- components/calendar/category/TableRow.vue | 2 +- components/calendar/form/Create.vue | 2 +- components/calendar/form/CreateEvent.vue | 6 +-- components/calendar/form/Update.vue | 2 +- components/calendar/form/UpdateEvent.vue | 6 +-- components/calendar/search/CalendarSearch.vue | 2 +- components/ui/badge/index.ts | 2 +- components/ui/button/Button.vue | 2 +- components/ui/button/index.ts | 2 +- components/ui/card/Card.vue | 6 +-- components/ui/checkbox/Checkbox.vue | 2 +- components/ui/command/CommandInput.vue | 2 +- components/ui/command/CommandItem.vue | 2 +- components/ui/dialog/DialogContent.vue | 2 +- .../DropdownMenuCheckboxItem.vue | 2 +- .../ui/dropdown-menu/DropdownMenuItem.vue | 2 +- .../dropdown-menu/DropdownMenuRadioItem.vue | 2 +- .../dropdown-menu/DropdownMenuSubTrigger.vue | 2 +- .../ui/dropdown-menu/DropdownMenuTrigger.vue | 2 +- components/ui/input/Input.vue | 2 +- components/ui/popover/PopoverContent.vue | 2 +- components/ui/select/SelectContent.vue | 2 +- components/ui/select/SelectItem.vue | 2 +- components/ui/select/SelectTrigger.vue | 2 +- components/ui/switch/Switch.vue | 2 +- components/ui/table/TableFooter.vue | 2 +- components/ui/tabs/TabsContent.vue | 2 +- components/ui/tabs/TabsTrigger.vue | 2 +- components/ui/tags-input/TagsInputInput.vue | 2 +- components/ui/toast/ToastAction.vue | 2 +- components/ui/toast/ToastClose.vue | 2 +- components/ui/toast/ToastViewport.vue | 2 +- components/ui/toast/index.ts | 2 +- components/ui/toggle/index.ts | 2 +- components/world/form/Create.vue | 4 +- components/world/form/Update.vue | 4 +- package.json | 2 +- pnpm-lock.yaml | 47 ++++++++++--------- 42 files changed, 95 insertions(+), 72 deletions(-) diff --git a/assets/main.css b/assets/main.css index 98cf58b..05d7f2f 100644 --- a/assets/main.css +++ b/assets/main.css @@ -1,6 +1,24 @@ -@tailwind base; -@tailwind components; -@tailwind utilities; +@import 'tailwindcss'; + +@config '../tailwind.config.js'; + +/* + The default border color has changed to `currentcolor` in Tailwind CSS v4, + so we've added these compatibility styles to make sure everything still + looks the same as it did with Tailwind CSS v3. + + If we ever want to remove these styles, we need to add an explicit border + color utility to any element that depends on these defaults. +*/ +@layer base { + *, + ::after, + ::before, + ::backdrop, + ::file-selector-button { + border-color: var(--color-gray-200, currentcolor); + } +} @layer base { :root { diff --git a/components/calendar/Calendar.vue b/components/calendar/Calendar.vue index d39f995..6cb9a1c 100644 --- a/components/calendar/Calendar.vue +++ b/components/calendar/Calendar.vue @@ -35,7 +35,7 @@ onMounted(() => { diff --git a/components/calendar/category/TableRow.vue b/components/calendar/category/TableRow.vue index 7d6f3ad..cc6f764 100644 --- a/components/calendar/category/TableRow.vue +++ b/components/calendar/category/TableRow.vue @@ -127,7 +127,7 @@ function handleQueryDelete() { ref="inputRef" v-model="categorySkeleton.name" type="text" - class="p-1 h-full w-full bg-transparent focus-visible:outline-none italic" + class="p-1 h-full w-full bg-transparent focus-visible:outline-hidden italic" > diff --git a/components/calendar/form/Create.vue b/components/calendar/form/Create.vue index fa7c625..9263c6e 100644 --- a/components/calendar/form/Create.vue +++ b/components/calendar/form/Create.vue @@ -105,7 +105,7 @@ function handleFormCancel() { name="new-calendar-name" required :placeholder="$t('common.title')" - class="w-full py-2 -mx-1 px-1 text-xl border-b-[1px] bg-transparent focus-visible:outline-none focus-visible:border-blue-600" + class="w-full py-2 -mx-1 px-1 text-xl border-b-[1px] bg-transparent focus-visible:outline-hidden focus-visible:border-blue-600" @input="handleNameChange" > diff --git a/components/calendar/form/CreateEvent.vue b/components/calendar/form/CreateEvent.vue index a7a82a9..a9636fc 100644 --- a/components/calendar/form/CreateEvent.vue +++ b/components/calendar/form/CreateEvent.vue @@ -67,7 +67,7 @@ function handleCancel() { :placeholder="$t('entity.calendar.event.title')" :maxlength="120" pattern="([A-Za-zÀ-ÖØ-öø-ÿ0-9\s\&\-\~]+){3,120}" - class="w-full -my-1 py-1 -mx-1 px-1 text-lg border-b-[1px] bg-transparent focus-visible:outline-none focus-visible:border-blue-600 invalid:border-red-500" + class="w-full -my-1 py-1 -mx-1 px-1 text-lg border-b-[1px] bg-transparent focus-visible:outline-hidden focus-visible:border-blue-600 invalid:border-red-500" >
{{ t('entity.calendar.event.patterns.title') }} @@ -81,7 +81,7 @@ function handleCancel() { name="new-event-description" :placeholder="$t('entity.addDescription')" :maxlength="1200" - class="w-full -my-1 py-1 -mx-1 px-1 min-h-24 max-h-36 text-sm border-b-[1px] bg-transparent focus-visible:outline-none focus-visible:border-blue-600 invalid:border-red-500" + class="w-full -my-1 py-1 -mx-1 px-1 min-h-24 max-h-36 text-sm border-b-[1px] bg-transparent focus-visible:outline-hidden focus-visible:border-blue-600 invalid:border-red-500" />
{{ t('entity.calendar.event.patterns.description') }} @@ -141,7 +141,7 @@ function handleCancel() { :placeholder="$t('entity.calendar.event.addLocation')" :maxlength="160" pattern="([A-Za-zÀ-ÖØ-öø-ÿ0-9\s\&\-\~]+){3,160}" - class="w-full -my-1 py-2 px-2 text-sm border-b-[1px] bg-transparent focus-visible:outline-none focus-visible:border-blue-600" + class="w-full -my-1 py-2 px-2 text-sm border-b-[1px] bg-transparent focus-visible:outline-hidden focus-visible:border-blue-600" >
{{ t('entity.calendar.event.patterns.location') }} diff --git a/components/calendar/form/Update.vue b/components/calendar/form/Update.vue index dc5d74e..72d2713 100644 --- a/components/calendar/form/Update.vue +++ b/components/calendar/form/Update.vue @@ -101,7 +101,7 @@ function handleFormCancel() { name="new-calendar-name" required :placeholder="$t('common.title')" - class="w-full py-2 -mx-1 px-1 text-xl border-b-[1px] bg-transparent focus-visible:outline-none focus-visible:border-blue-600" + class="w-full py-2 -mx-1 px-1 text-xl border-b-[1px] bg-transparent focus-visible:outline-hidden focus-visible:border-blue-600" @input="handleNameChange" > diff --git a/components/calendar/form/UpdateEvent.vue b/components/calendar/form/UpdateEvent.vue index 009844b..5e3118e 100644 --- a/components/calendar/form/UpdateEvent.vue +++ b/components/calendar/form/UpdateEvent.vue @@ -79,7 +79,7 @@ function handleCancel() { :placeholder="$t('entity.calendar.event.title')" :minlength="3" :maxlength="120" - class="w-full -my-1 py-1 -mx-1 px-1 text-lg border-b-[1px] bg-transparent focus-visible:outline-none focus-visible:border-blue-600 invalid:border-red-500" + class="w-full -my-1 py-1 -mx-1 px-1 text-lg border-b-[1px] bg-transparent focus-visible:outline-hidden focus-visible:border-blue-600 invalid:border-red-500" >
{{ t('entity.calendar.event.patterns.title') }} @@ -95,7 +95,7 @@ function handleCancel() { name="new-event-description" :placeholder="$t('entity.addDescription')" :maxlength="1200" - class="w-full -my-1 py-1 -mx-1 px-1 min-h-24 max-h-36 text-sm border-b-[1px] bg-transparent focus-visible:outline-none focus-visible:border-blue-600 invalid:border-red-500" + class="w-full -my-1 py-1 -mx-1 px-1 min-h-24 max-h-36 text-sm border-b-[1px] bg-transparent focus-visible:outline-hidden focus-visible:border-blue-600 invalid:border-red-500" />
{{ t('entity.calendar.event.patterns.description') }} @@ -159,7 +159,7 @@ function handleCancel() { :placeholder="$t('entity.calendar.event.addLocation')" :minlength="3" :maxlength="160" - class="w-full -my-1 py-2 px-2 text-sm border-b-[1px] bg-transparent focus-visible:outline-none focus-visible:border-blue-600 invalid:border-red-500" + class="w-full -my-1 py-2 px-2 text-sm border-b-[1px] bg-transparent focus-visible:outline-hidden focus-visible:border-blue-600 invalid:border-red-500" >
diff --git a/components/calendar/search/CalendarSearch.vue b/components/calendar/search/CalendarSearch.vue index 531413b..13dea27 100644 --- a/components/calendar/search/CalendarSearch.vue +++ b/components/calendar/search/CalendarSearch.vue @@ -345,7 +345,7 @@ function handleCategoryUnselect(e: Category) { diff --git a/components/ui/badge/index.ts b/components/ui/badge/index.ts index 9db7cf6..33c8687 100644 --- a/components/ui/badge/index.ts +++ b/components/ui/badge/index.ts @@ -3,7 +3,7 @@ import { type VariantProps, cva } from "class-variance-authority" export { default as Badge } from "./Badge.vue" export const badgeVariants = cva( - "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2", + "inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2", { variants: { variant: { diff --git a/components/ui/button/Button.vue b/components/ui/button/Button.vue index 1d50302..a918fae 100644 --- a/components/ui/button/Button.vue +++ b/components/ui/button/Button.vue @@ -26,7 +26,7 @@ const props = withDefaults(defineProps(), { CTRL + : diff --git a/components/ui/button/index.ts b/components/ui/button/index.ts index 88cb71f..187432c 100644 --- a/components/ui/button/index.ts +++ b/components/ui/button/index.ts @@ -3,7 +3,7 @@ import { type VariantProps, cva } from "class-variance-authority" export { default as Button } from "./Button.vue" export const buttonVariants = cva( - "inline-flex items-center justify-center gap-1 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-30", + "inline-flex items-center justify-center gap-1 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-30", { variants: { variant: { diff --git a/components/ui/card/Card.vue b/components/ui/card/Card.vue index 6a0bdf5..f753ad6 100644 --- a/components/ui/card/Card.vue +++ b/components/ui/card/Card.vue @@ -14,7 +14,7 @@ const emit = defineEmits(["on-click"]) diff --git a/components/ui/checkbox/Checkbox.vue b/components/ui/checkbox/Checkbox.vue index 6e848aa..4bfae62 100644 --- a/components/ui/checkbox/Checkbox.vue +++ b/components/ui/checkbox/Checkbox.vue @@ -21,7 +21,7 @@ const forwarded = useForwardPropsEmits(delegatedProps, emits) diff --git a/components/ui/command/CommandInput.vue b/components/ui/command/CommandInput.vue index f7414d8..be41fac 100644 --- a/components/ui/command/CommandInput.vue +++ b/components/ui/command/CommandInput.vue @@ -31,7 +31,7 @@ const forwardedProps = useForwardProps(delegatedProps) auto-focus :class=" cn( - 'flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50', + 'flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50', props.class ) " diff --git a/components/ui/command/CommandItem.vue b/components/ui/command/CommandItem.vue index 12fc534..f037477 100644 --- a/components/ui/command/CommandItem.vue +++ b/components/ui/command/CommandItem.vue @@ -21,7 +21,7 @@ const forwarded = useForwardPropsEmits(delegatedProps, emits) v-bind="forwarded" :class=" cn( - 'relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[highlighted]:bg-accent data-[disabled]:pointer-events-none data-[disabled]:opacity-50', + 'relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden data-highlighted:bg-accent data-disabled:pointer-events-none data-disabled:opacity-50', props.class ) " diff --git a/components/ui/dialog/DialogContent.vue b/components/ui/dialog/DialogContent.vue index 73f797c..ce8f797 100644 --- a/components/ui/dialog/DialogContent.vue +++ b/components/ui/dialog/DialogContent.vue @@ -41,7 +41,7 @@ const forwarded = useForwardPropsEmits(delegatedProps, emits) Close diff --git a/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue b/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue index c132cda..4d9341d 100644 --- a/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue +++ b/components/ui/dropdown-menu/DropdownMenuCheckboxItem.vue @@ -27,7 +27,7 @@ const forwarded = useForwardPropsEmits(delegatedProps, emits) v-bind="forwarded" :class=" cn( - 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50', + 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50', props.class ) " diff --git a/components/ui/dropdown-menu/DropdownMenuItem.vue b/components/ui/dropdown-menu/DropdownMenuItem.vue index 7631910..78efe84 100644 --- a/components/ui/dropdown-menu/DropdownMenuItem.vue +++ b/components/ui/dropdown-menu/DropdownMenuItem.vue @@ -21,7 +21,7 @@ const forwardedProps = useForwardProps(delegatedProps) v-bind="forwardedProps" :class=" cn( - 'relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50', + 'relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50', inset && 'pl-8', props.class ) diff --git a/components/ui/dropdown-menu/DropdownMenuRadioItem.vue b/components/ui/dropdown-menu/DropdownMenuRadioItem.vue index 82b8205..f1d51ff 100644 --- a/components/ui/dropdown-menu/DropdownMenuRadioItem.vue +++ b/components/ui/dropdown-menu/DropdownMenuRadioItem.vue @@ -28,7 +28,7 @@ const forwarded = useForwardPropsEmits(delegatedProps, emits) v-bind="forwarded" :class=" cn( - 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50', + 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50', props.class ) " diff --git a/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue b/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue index 2c3ac29..d78aa08 100644 --- a/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue +++ b/components/ui/dropdown-menu/DropdownMenuSubTrigger.vue @@ -24,7 +24,7 @@ const forwardedProps = useForwardProps(delegatedProps) v-bind="forwardedProps" :class=" cn( - 'flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent', + 'flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent data-[state=open]:bg-accent', props.class ) " diff --git a/components/ui/dropdown-menu/DropdownMenuTrigger.vue b/components/ui/dropdown-menu/DropdownMenuTrigger.vue index 96a1a0f..f70c7c5 100644 --- a/components/ui/dropdown-menu/DropdownMenuTrigger.vue +++ b/components/ui/dropdown-menu/DropdownMenuTrigger.vue @@ -7,7 +7,7 @@ const forwardedProps = useForwardProps(props) diff --git a/components/ui/input/Input.vue b/components/ui/input/Input.vue index 7d85113..1a5fff8 100644 --- a/components/ui/input/Input.vue +++ b/components/ui/input/Input.vue @@ -24,7 +24,7 @@ const modelValue = useVModel(props, "modelValue", emits, { v-model="modelValue" :class=" cn( - 'flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50', + 'flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50', props.class ) " diff --git a/components/ui/popover/PopoverContent.vue b/components/ui/popover/PopoverContent.vue index 0bf3a79..7fc8081 100644 --- a/components/ui/popover/PopoverContent.vue +++ b/components/ui/popover/PopoverContent.vue @@ -37,7 +37,7 @@ const forwarded = useForwardPropsEmits(delegatedProps, emits) v-bind="{ ...forwarded, ...$attrs }" :class=" cn( - 'z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2', + 'z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2', props.class ) " diff --git a/components/ui/select/SelectContent.vue b/components/ui/select/SelectContent.vue index 3fb413c..1b5e963 100644 --- a/components/ui/select/SelectContent.vue +++ b/components/ui/select/SelectContent.vue @@ -52,7 +52,7 @@ const forwarded = useForwardPropsEmits(delegatedProps, emits) cn( 'p-1', position === 'popper' && - 'h-[--radix-select-trigger-height] w-full min-w-[--radix-select-trigger-width]' + 'h-(--radix-select-trigger-height) w-full min-w-(--radix-select-trigger-width)' ) " > diff --git a/components/ui/select/SelectItem.vue b/components/ui/select/SelectItem.vue index 7b84e43..9ed32af 100644 --- a/components/ui/select/SelectItem.vue +++ b/components/ui/select/SelectItem.vue @@ -26,7 +26,7 @@ const forwardedProps = useForwardProps(delegatedProps) v-bind="forwardedProps" :class=" cn( - 'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50', + 'relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50', props.class ) " diff --git a/components/ui/select/SelectTrigger.vue b/components/ui/select/SelectTrigger.vue index cd9940d..ba407f9 100644 --- a/components/ui/select/SelectTrigger.vue +++ b/components/ui/select/SelectTrigger.vue @@ -20,7 +20,7 @@ const forwardedProps = useForwardProps(delegatedProps) v-bind="forwardedProps" :class=" cn( - 'flex h-10 w-full items-center justify-between rounded-md border border-input bg-background dark:bg-slate-950 contrast-more:dark:bg-slate-900 px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50', + 'flex h-10 w-full items-center justify-between rounded-md border border-input bg-background dark:bg-slate-950 contrast-more:dark:bg-slate-900 px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50', props.class ) " diff --git a/components/ui/switch/Switch.vue b/components/ui/switch/Switch.vue index 10fc951..2988fc1 100644 --- a/components/ui/switch/Switch.vue +++ b/components/ui/switch/Switch.vue @@ -26,7 +26,7 @@ const forwarded = useForwardPropsEmits(delegatedProps, emits) diff --git a/components/ui/table/TableFooter.vue b/components/ui/table/TableFooter.vue index 7f3bf64..58d8a65 100644 --- a/components/ui/table/TableFooter.vue +++ b/components/ui/table/TableFooter.vue @@ -8,7 +8,7 @@ const props = defineProps<{ diff --git a/components/ui/tabs/TabsContent.vue b/components/ui/tabs/TabsContent.vue index 2d2226b..0c75403 100644 --- a/components/ui/tabs/TabsContent.vue +++ b/components/ui/tabs/TabsContent.vue @@ -16,7 +16,7 @@ const delegatedProps = computed(() => { diff --git a/components/ui/toast/ToastAction.vue b/components/ui/toast/ToastAction.vue index 23167ae..710056b 100644 --- a/components/ui/toast/ToastAction.vue +++ b/components/ui/toast/ToastAction.vue @@ -13,7 +13,7 @@ const delegatedProps = computed(() => { diff --git a/components/ui/toast/ToastClose.vue b/components/ui/toast/ToastClose.vue index 3799e75..e3b2fde 100644 --- a/components/ui/toast/ToastClose.vue +++ b/components/ui/toast/ToastClose.vue @@ -16,7 +16,7 @@ const delegatedProps = computed(() => { diff --git a/components/ui/toast/ToastViewport.vue b/components/ui/toast/ToastViewport.vue index 86ee992..8ae8a63 100644 --- a/components/ui/toast/ToastViewport.vue +++ b/components/ui/toast/ToastViewport.vue @@ -13,5 +13,5 @@ const delegatedProps = computed(() => { diff --git a/components/ui/toast/index.ts b/components/ui/toast/index.ts index 1579986..b08cbfd 100644 --- a/components/ui/toast/index.ts +++ b/components/ui/toast/index.ts @@ -14,7 +14,7 @@ export { default as ToastProvider } from "./ToastProvider.vue" export { toast, useToast } from "./use-toast" export const toastVariants = cva( - "group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[--radix-toast-swipe-end-x] data-[swipe=move]:translate-x-[--radix-toast-swipe-move-x] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full data-[state=open]:sm:slide-in-from-bottom-full", + "group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-4 pr-6 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-(--radix-toast-swipe-end-x) data-[swipe=move]:translate-x-(--radix-toast-swipe-move-x) data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full sm:data-[state=open]:slide-in-from-bottom-full", { variants: { variant: { diff --git a/components/ui/toggle/index.ts b/components/ui/toggle/index.ts index 06590bb..7dc036e 100644 --- a/components/ui/toggle/index.ts +++ b/components/ui/toggle/index.ts @@ -3,7 +3,7 @@ import { type VariantProps, cva } from "class-variance-authority" export { default as Toggle } from "./Toggle.vue" export const toggleVariants = cva( - "inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground", + "inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground", { variants: { variant: { diff --git a/components/world/form/Create.vue b/components/world/form/Create.vue index 0693770..b9d41f6 100644 --- a/components/world/form/Create.vue +++ b/components/world/form/Create.vue @@ -65,7 +65,7 @@ function handleFormCancel() { name="new-world-name" required :placeholder="$t('common.title')" - class="w-full -my-1 mb-4 py-2 -mx-1 px-1 text-xl border-b-[1px] bg-transparent focus-visible:outline-none focus-visible:border-blue-600" + class="w-full -my-1 mb-4 py-2 -mx-1 px-1 text-xl border-b-[1px] bg-transparent focus-visible:outline-hidden focus-visible:border-blue-600" @input="handleNameChange" > @@ -74,7 +74,7 @@ function handleFormCancel() { v-model="worldSkeleton.description" name="new-world-description" :placeholder="$t('entity.addDescription')" - class="w-full -my-1 py-1 -mx-1 px-1 min-h-24 max-h-36 text-sm border-b-[1px] bg-transparent focus-visible:outline-none focus-visible:border-blue-600" + class="w-full -my-1 py-1 -mx-1 px-1 min-h-24 max-h-36 text-sm border-b-[1px] bg-transparent focus-visible:outline-hidden focus-visible:border-blue-600" />
diff --git a/components/world/form/Update.vue b/components/world/form/Update.vue index 16815a5..353c9f5 100644 --- a/components/world/form/Update.vue +++ b/components/world/form/Update.vue @@ -79,7 +79,7 @@ function handleFormCancel() { name="new-world-name" required :placeholder="$t('common.title')" - class="w-full -my-1 py-2 -mx-1 px-1 text-xl border-b-[1px] bg-transparent focus-visible:outline-none focus-visible:border-blue-600" + class="w-full -my-1 py-2 -mx-1 px-1 text-xl border-b-[1px] bg-transparent focus-visible:outline-hidden focus-visible:border-blue-600" @input="handleNameChange" > @@ -88,7 +88,7 @@ function handleFormCancel() { v-model="worldSkeleton.description" name="new-world-description" :placeholder="$t('entity.addDescription')" - class="w-full -my-1 py-1 -mx-1 px-1 min-h-24 max-h-36 text-sm border-b-[1px] bg-transparent focus-visible:outline-none focus-visible:border-blue-600" + class="w-full -my-1 py-1 -mx-1 px-1 min-h-24 max-h-36 text-sm border-b-[1px] bg-transparent focus-visible:outline-hidden focus-visible:border-blue-600" />
diff --git a/package.json b/package.json index c8093c3..da902c6 100644 --- a/package.json +++ b/package.json @@ -51,7 +51,7 @@ "postcss": "^8.5.3", "prettier": "^3.5.2", "sass": "^1.85.1", - "tailwindcss": "^3.4.17", + "tailwindcss": "^4.1.4", "typescript": "^5.7.3", "wrangler": "^3.111.0" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index f0e2488..5cfc7a0 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -64,7 +64,7 @@ importers: version: 3.0.2 tailwindcss-animate: specifier: ^1.0.7 - version: 1.0.7(tailwindcss@3.4.17) + version: 1.0.7(tailwindcss@4.1.4) vue: specifier: ^3.5.13 version: 3.5.13(typescript@5.7.3) @@ -118,8 +118,8 @@ importers: specifier: ^1.85.1 version: 1.85.1 tailwindcss: - specifier: ^3.4.17 - version: 3.4.17 + specifier: ^4.1.4 + version: 4.1.4 typescript: specifier: ^5.7.3 version: 5.7.3 @@ -1019,20 +1019,20 @@ packages: resolution: {integrity: sha512-6GT1BJ852gZ0gItNZN2krX5QAmea+cmdjMvsWohArAZ3GmHdnNANEcF9JjPXAMRtQ6Ux5E269ymamg/+WU6tQA==} engines: {node: '>= 16'} - '@intlify/message-compiler@11.0.0-rc.1': - resolution: {integrity: sha512-TGw2uBfuTFTegZf/BHtUQBEKxl7Q/dVGLoqRIdw8lFsp9g/53sYn5iD+0HxIzdYjbWL6BTJMXCPUHp9PxDTRPw==} + '@intlify/message-compiler@12.0.0-alpha.2': + resolution: {integrity: sha512-PD9C+oQbb7BF52hec0+vLnScaFkvnfX+R7zSbODYuRo/E2niAtGmHd0wPvEMsDhf9Z9b8f/qyDsVeZnD/ya9Ug==} engines: {node: '>= 16'} '@intlify/shared@10.0.5': resolution: {integrity: sha512-bmsP4L2HqBF6i6uaMqJMcFBONVjKt+siGluRq4Ca4C0q7W2eMaVZr8iCgF9dKbcVXutftkC7D6z2SaSMmLiDyA==} engines: {node: '>= 16'} - '@intlify/shared@11.0.0-rc.1': - resolution: {integrity: sha512-8tR1xe7ZEbkabTuE/tNhzpolygUn9OaYp9yuYAF4MgDNZg06C3Qny80bes2/e9/Wm3aVkPUlCw6WgU7mQd0yEg==} + '@intlify/shared@11.1.3': + resolution: {integrity: sha512-pTFBgqa/99JRA2H1qfyqv97MKWJrYngXBA/I0elZcYxvJgcCw3mApAoPW3mJ7vx3j+Ti0FyKUFZ4hWxdjKaxvA==} engines: {node: '>= 16'} - '@intlify/shared@11.1.1': - resolution: {integrity: sha512-2kGiWoXaeV8HZlhU/Nml12oTbhv7j2ufsJ5vQaa0VTjzUmZVdd/nmKFRAOJ/FtjO90Qba5AnZDwsrY7ZND5udA==} + '@intlify/shared@12.0.0-alpha.2': + resolution: {integrity: sha512-P2DULVX9nz3y8zKNqLw9Es1aAgQ1JGC+kgpx5q7yLmrnAKkPR5MybQWoEhxanefNJgUY5ehsgo+GKif59SrncA==} engines: {node: '>= 16'} '@intlify/unplugin-vue-i18n@6.0.3': @@ -4573,6 +4573,9 @@ packages: engines: {node: '>=14.0.0'} hasBin: true + tailwindcss@4.1.4: + resolution: {integrity: sha512-1ZIUqtPITFbv/DxRmDr5/agPqJwF69d24m9qmM1939TJehgY539CtzeZRjbLt5G6fSy/7YqqYsfvoTEw9xUI2A==} + tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} engines: {node: '>=6'} @@ -5854,8 +5857,8 @@ snapshots: '@intlify/bundle-utils@10.0.0(vue-i18n@10.0.5(vue@3.5.13(typescript@5.7.3)))': dependencies: - '@intlify/message-compiler': 11.0.0-rc.1 - '@intlify/shared': 11.0.0-rc.1 + '@intlify/message-compiler': 12.0.0-alpha.2 + '@intlify/shared': 12.0.0-alpha.2 acorn: 8.14.0 escodegen: 2.1.0 estree-walker: 2.0.2 @@ -5886,23 +5889,23 @@ snapshots: '@intlify/shared': 10.0.5 source-map-js: 1.2.1 - '@intlify/message-compiler@11.0.0-rc.1': + '@intlify/message-compiler@12.0.0-alpha.2': dependencies: - '@intlify/shared': 11.0.0-rc.1 + '@intlify/shared': 12.0.0-alpha.2 source-map-js: 1.2.1 '@intlify/shared@10.0.5': {} - '@intlify/shared@11.0.0-rc.1': {} + '@intlify/shared@11.1.3': {} - '@intlify/shared@11.1.1': {} + '@intlify/shared@12.0.0-alpha.2': {} '@intlify/unplugin-vue-i18n@6.0.3(@vue/compiler-dom@3.5.13)(eslint@9.21.0(jiti@2.4.2))(rollup@4.34.8)(typescript@5.7.3)(vue-i18n@10.0.5(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3))': dependencies: '@eslint-community/eslint-utils': 4.4.1(eslint@9.21.0(jiti@2.4.2)) '@intlify/bundle-utils': 10.0.0(vue-i18n@10.0.5(vue@3.5.13(typescript@5.7.3))) - '@intlify/shared': 11.1.1 - '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.1.1)(@vue/compiler-dom@3.5.13)(vue-i18n@10.0.5(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3)) + '@intlify/shared': 11.1.3 + '@intlify/vue-i18n-extensions': 8.0.0(@intlify/shared@11.1.3)(@vue/compiler-dom@3.5.13)(vue-i18n@10.0.5(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3)) '@rollup/pluginutils': 5.1.4(rollup@4.34.8) '@typescript-eslint/scope-manager': 8.25.0 '@typescript-eslint/typescript-estree': 8.25.0(typescript@5.7.3) @@ -5926,11 +5929,11 @@ snapshots: '@intlify/utils@0.13.0': {} - '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.1.1)(@vue/compiler-dom@3.5.13)(vue-i18n@10.0.5(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3))': + '@intlify/vue-i18n-extensions@8.0.0(@intlify/shared@11.1.3)(@vue/compiler-dom@3.5.13)(vue-i18n@10.0.5(vue@3.5.13(typescript@5.7.3)))(vue@3.5.13(typescript@5.7.3))': dependencies: '@babel/parser': 7.26.9 optionalDependencies: - '@intlify/shared': 11.1.1 + '@intlify/shared': 11.1.3 '@vue/compiler-dom': 3.5.13 vue: 3.5.13(typescript@5.7.3) vue-i18n: 10.0.5(vue@3.5.13(typescript@5.7.3)) @@ -10167,9 +10170,9 @@ snapshots: tailwind-merge@3.0.2: {} - tailwindcss-animate@1.0.7(tailwindcss@3.4.17): + tailwindcss-animate@1.0.7(tailwindcss@4.1.4): dependencies: - tailwindcss: 3.4.17 + tailwindcss: 4.1.4 tailwindcss@3.4.17: dependencies: @@ -10198,6 +10201,8 @@ snapshots: transitivePeerDependencies: - ts-node + tailwindcss@4.1.4: {} + tapable@2.2.1: {} tar-stream@3.1.7: From 3e973dd0e90cd0c2ce1b758b5401a0c2f140a6ff Mon Sep 17 00:00:00 2001 From: Alexis <35.alexis.pele@gmail.com> Date: Wed, 16 Apr 2025 12:14:27 +0200 Subject: [PATCH 2/7] "Working" config with tailwind 4 and shadcn nuxt --- nuxt.config.ts | 18 +-- package.json | 4 +- pnpm-lock.yaml | 382 ++++++++++++++++++++++++++++++++++++++++++------- 3 files changed, 343 insertions(+), 61 deletions(-) diff --git a/nuxt.config.ts b/nuxt.config.ts index 1747d2c..09b0494 100644 --- a/nuxt.config.ts +++ b/nuxt.config.ts @@ -1,3 +1,5 @@ +import tailwindcss from "@tailwindcss/vite"; + // https://nuxt.com/docs/api/configuration/nuxt-config export default defineNuxtConfig({ devtools: { enabled: true }, @@ -6,7 +8,6 @@ export default defineNuxtConfig({ "@nuxtjs/supabase", "@pinia/nuxt", "@vueuse/nuxt", - "@nuxtjs/tailwindcss", "@nuxtjs/color-mode", "@nuxt/eslint", "shadcn-nuxt", @@ -16,6 +17,12 @@ export default defineNuxtConfig({ css: ["~/assets/main.css"], + vite: { + plugins: [ + tailwindcss(), + ] + }, + i18n: { vueI18n: "./i18n.config.ts", strategy: "no_prefix", @@ -46,13 +53,6 @@ export default defineNuxtConfig({ } }, - postcss: { - plugins: { - tailwindcss: {}, - autoprefixer: {}, - }, - }, - shadcn: { prefix: "Ui", componentDir: "./components/ui" @@ -65,5 +65,5 @@ export default defineNuxtConfig({ }, eslint: {}, - compatibilityDate: "2025-02-27" + compatibilityDate: "2025-04-16", }) \ No newline at end of file diff --git a/package.json b/package.json index da902c6..b703d49 100644 --- a/package.json +++ b/package.json @@ -13,11 +13,13 @@ "lint:prettier": "prettier . --check" }, "dependencies": { + "@intlify/message-compiler": "^11.1.3", "@nuxt/eslint": "^1.1.0", "@nuxthub/core": "^0.8.17", "@nuxtjs/i18n": "^9.2.1", "@phosphor-icons/vue": "^2.2.1", "@pinia/nuxt": "^0.10.1", + "@tailwindcss/vite": "^4.1.4", "@vueuse/core": "^12.7.0", "@vueuse/integrations": "^12.7.0", "@vueuse/nuxt": "^12.7.0", @@ -28,7 +30,7 @@ "nuxt": "^3.15.4", "pinia": "^3.0.1", "radix-vue": "^1.9.16", - "shadcn-nuxt": "^0.11.4", + "shadcn-nuxt": "^2.0.1", "sortablejs": "^1.15.6", "tailwind-merge": "^3.0.2", "tailwindcss-animate": "^1.0.7", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5cfc7a0..0d2f03c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -8,12 +8,15 @@ importers: .: dependencies: + '@intlify/message-compiler': + specifier: ^11.1.3 + version: 11.1.3 '@nuxt/eslint': specifier: ^1.1.0 - version: 1.1.0(@vue/compiler-sfc@3.5.13)(eslint@9.21.0(jiti@2.4.2))(magicast@0.3.5)(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)) + version: 1.1.0(@vue/compiler-sfc@3.5.13)(eslint@9.21.0(jiti@2.4.2))(magicast@0.3.5)(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)) '@nuxthub/core': specifier: ^0.8.17 - version: 0.8.17(db0@0.2.4)(ioredis@5.5.0)(magicast@0.3.5)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)) + version: 0.8.17(db0@0.2.4)(ioredis@5.5.0)(magicast@0.3.5)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)) '@nuxtjs/i18n': specifier: ^9.2.1 version: 9.2.1(@vue/compiler-dom@3.5.13)(eslint@9.21.0(jiti@2.4.2))(magicast@0.3.5)(rollup@4.34.8)(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)) @@ -23,6 +26,9 @@ importers: '@pinia/nuxt': specifier: ^0.10.1 version: 0.10.1(magicast@0.3.5)(pinia@3.0.1(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3))) + '@tailwindcss/vite': + specifier: ^4.1.4 + version: 4.1.4(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)) '@vueuse/core': specifier: ^12.7.0 version: 12.7.0(typescript@5.7.3) @@ -31,7 +37,7 @@ importers: version: 12.7.0(change-case@5.4.4)(focus-trap@7.5.4)(fuse.js@7.1.0)(sortablejs@1.15.6)(typescript@5.7.3) '@vueuse/nuxt': specifier: ^12.7.0 - version: 12.7.0(magicast@0.3.5)(nuxt@3.15.4(@parcel/watcher@2.5.1)(@types/node@22.13.5)(db0@0.2.4)(encoding@0.1.13)(eslint@9.21.0(jiti@2.4.2))(ioredis@5.5.0)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.34.8)(sass@1.85.1)(terser@5.39.0)(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(yaml@2.7.0))(typescript@5.7.3) + version: 12.7.0(magicast@0.3.5)(nuxt@3.15.4(@parcel/watcher@2.5.1)(@types/node@22.13.5)(db0@0.2.4)(encoding@0.1.13)(eslint@9.21.0(jiti@2.4.2))(ioredis@5.5.0)(lightningcss@1.29.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.34.8)(sass@1.85.1)(terser@5.39.0)(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(yaml@2.7.0))(typescript@5.7.3) class-variance-authority: specifier: ^0.7.1 version: 0.7.1 @@ -46,7 +52,7 @@ importers: version: 3.5.0 nuxt: specifier: ^3.15.4 - version: 3.15.4(@parcel/watcher@2.5.1)(@types/node@22.13.5)(db0@0.2.4)(encoding@0.1.13)(eslint@9.21.0(jiti@2.4.2))(ioredis@5.5.0)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.34.8)(sass@1.85.1)(terser@5.39.0)(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(yaml@2.7.0) + version: 3.15.4(@parcel/watcher@2.5.1)(@types/node@22.13.5)(db0@0.2.4)(encoding@0.1.13)(eslint@9.21.0(jiti@2.4.2))(ioredis@5.5.0)(lightningcss@1.29.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.34.8)(sass@1.85.1)(terser@5.39.0)(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(yaml@2.7.0) pinia: specifier: ^3.0.1 version: 3.0.1(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3)) @@ -54,8 +60,8 @@ importers: specifier: ^1.9.16 version: 1.9.16(vue@3.5.13(typescript@5.7.3)) shadcn-nuxt: - specifier: ^0.11.4 - version: 0.11.4(magicast@0.3.5) + specifier: ^2.0.1 + version: 2.0.1(magicast@0.3.5) sortablejs: specifier: ^1.15.6 version: 1.15.6 @@ -1019,6 +1025,10 @@ packages: resolution: {integrity: sha512-6GT1BJ852gZ0gItNZN2krX5QAmea+cmdjMvsWohArAZ3GmHdnNANEcF9JjPXAMRtQ6Ux5E269ymamg/+WU6tQA==} engines: {node: '>= 16'} + '@intlify/message-compiler@11.1.3': + resolution: {integrity: sha512-7rbqqpo2f5+tIcwZTAG/Ooy9C8NDVwfDkvSeDPWUPQW+Dyzfw2o9H103N5lKBxO7wxX9dgCDjQ8Umz73uYw3hw==} + engines: {node: '>= 16'} + '@intlify/message-compiler@12.0.0-alpha.2': resolution: {integrity: sha512-PD9C+oQbb7BF52hec0+vLnScaFkvnfX+R7zSbODYuRo/E2niAtGmHd0wPvEMsDhf9Z9b8f/qyDsVeZnD/ya9Ug==} engines: {node: '>= 16'} @@ -1608,6 +1618,96 @@ packages: '@swc/helpers@0.5.15': resolution: {integrity: sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==} + '@tailwindcss/node@4.1.4': + resolution: {integrity: sha512-MT5118zaiO6x6hNA04OWInuAiP1YISXql8Z+/Y8iisV5nuhM8VXlyhRuqc2PEviPszcXI66W44bCIk500Oolhw==} + + '@tailwindcss/oxide-android-arm64@4.1.4': + resolution: {integrity: sha512-xMMAe/SaCN/vHfQYui3fqaBDEXMu22BVwQ33veLc8ep+DNy7CWN52L+TTG9y1K397w9nkzv+Mw+mZWISiqhmlA==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [android] + + '@tailwindcss/oxide-darwin-arm64@4.1.4': + resolution: {integrity: sha512-JGRj0SYFuDuAGilWFBlshcexev2hOKfNkoX+0QTksKYq2zgF9VY/vVMq9m8IObYnLna0Xlg+ytCi2FN2rOL0Sg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + + '@tailwindcss/oxide-darwin-x64@4.1.4': + resolution: {integrity: sha512-sdDeLNvs3cYeWsEJ4H1DvjOzaGios4QbBTNLVLVs0XQ0V95bffT3+scptzYGPMjm7xv4+qMhCDrkHwhnUySEzA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + + '@tailwindcss/oxide-freebsd-x64@4.1.4': + resolution: {integrity: sha512-VHxAqxqdghM83HslPhRsNhHo91McsxRJaEnShJOMu8mHmEj9Ig7ToHJtDukkuLWLzLboh2XSjq/0zO6wgvykNA==} + engines: {node: '>= 10'} + cpu: [x64] + os: [freebsd] + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.4': + resolution: {integrity: sha512-OTU/m/eV4gQKxy9r5acuesqaymyeSCnsx1cFto/I1WhPmi5HDxX1nkzb8KYBiwkHIGg7CTfo/AcGzoXAJBxLfg==} + engines: {node: '>= 10'} + cpu: [arm] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.4': + resolution: {integrity: sha512-hKlLNvbmUC6z5g/J4H+Zx7f7w15whSVImokLPmP6ff1QqTVE+TxUM9PGuNsjHvkvlHUtGTdDnOvGNSEUiXI1Ww==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-arm64-musl@4.1.4': + resolution: {integrity: sha512-X3As2xhtgPTY/m5edUtddmZ8rCruvBvtxYLMw9OsZdH01L2gS2icsHRwxdU0dMItNfVmrBezueXZCHxVeeb7Aw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-gnu@4.1.4': + resolution: {integrity: sha512-2VG4DqhGaDSmYIu6C4ua2vSLXnJsb/C9liej7TuSO04NK+JJJgJucDUgmX6sn7Gw3Cs5ZJ9ZLrnI0QRDOjLfNQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-linux-x64-musl@4.1.4': + resolution: {integrity: sha512-v+mxVgH2kmur/X5Mdrz9m7TsoVjbdYQT0b4Z+dr+I4RvreCNXyCFELZL/DO0M1RsidZTrm6O1eMnV6zlgEzTMQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + + '@tailwindcss/oxide-wasm32-wasi@4.1.4': + resolution: {integrity: sha512-2TLe9ir+9esCf6Wm+lLWTMbgklIjiF0pbmDnwmhR9MksVOq+e8aP3TSsXySnBDDvTTVd/vKu1aNttEGj3P6l8Q==} + engines: {node: '>=14.0.0'} + cpu: [wasm32] + bundledDependencies: + - '@napi-rs/wasm-runtime' + - '@emnapi/core' + - '@emnapi/runtime' + - '@tybys/wasm-util' + - '@emnapi/wasi-threads' + - tslib + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.4': + resolution: {integrity: sha512-VlnhfilPlO0ltxW9/BgfLI5547PYzqBMPIzRrk4W7uupgCt8z6Trw/tAj6QUtF2om+1MH281Pg+HHUJoLesmng==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + + '@tailwindcss/oxide-win32-x64-msvc@4.1.4': + resolution: {integrity: sha512-+7S63t5zhYjslUGb8NcgLpFXD+Kq1F/zt5Xv5qTv7HaFTG/DHyHD9GA6ieNAxhgyA4IcKa/zy7Xx4Oad2/wuhw==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + + '@tailwindcss/oxide@4.1.4': + resolution: {integrity: sha512-p5wOpXyOJx7mKh5MXh5oKk+kqcz8T+bA3z/5VWWeQwFrmuBItGwz8Y2CHk/sJ+dNb9B0nYFfn0rj/cKHZyjahQ==} + engines: {node: '>= 10'} + + '@tailwindcss/vite@4.1.4': + resolution: {integrity: sha512-4UQeMrONbvrsXKXXp/uxmdEN5JIJ9RkH7YVzs6AMxC/KC1+Np7WZBaNIco7TEjlkthqxZbt8pU/ipD+hKjm80A==} + peerDependencies: + vite: ^5.2.0 || ^6 + '@tanstack/virtual-core@3.13.2': resolution: {integrity: sha512-Qzz4EgzMbO5gKrmqUondCjiHcuu4B1ftHb0pjCut661lXZdGoHeze9f/M8iwsK1t5LGR6aNuNGU7mxkowaW6RQ==} @@ -3360,6 +3460,70 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} + lightningcss-darwin-arm64@1.29.2: + resolution: {integrity: sha512-cK/eMabSViKn/PG8U/a7aCorpeKLMlK0bQeNHmdb7qUnBkNPnL+oV5DjJUo0kqWsJUapZsM4jCfYItbqBDvlcA==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [darwin] + + lightningcss-darwin-x64@1.29.2: + resolution: {integrity: sha512-j5qYxamyQw4kDXX5hnnCKMf3mLlHvG44f24Qyi2965/Ycz829MYqjrVg2H8BidybHBp9kom4D7DR5VqCKDXS0w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [darwin] + + lightningcss-freebsd-x64@1.29.2: + resolution: {integrity: sha512-wDk7M2tM78Ii8ek9YjnY8MjV5f5JN2qNVO+/0BAGZRvXKtQrBC4/cn4ssQIpKIPP44YXw6gFdpUF+Ps+RGsCwg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [freebsd] + + lightningcss-linux-arm-gnueabihf@1.29.2: + resolution: {integrity: sha512-IRUrOrAF2Z+KExdExe3Rz7NSTuuJ2HvCGlMKoquK5pjvo2JY4Rybr+NrKnq0U0hZnx5AnGsuFHjGnNT14w26sg==} + engines: {node: '>= 12.0.0'} + cpu: [arm] + os: [linux] + + lightningcss-linux-arm64-gnu@1.29.2: + resolution: {integrity: sha512-KKCpOlmhdjvUTX/mBuaKemp0oeDIBBLFiU5Fnqxh1/DZ4JPZi4evEH7TKoSBFOSOV3J7iEmmBaw/8dpiUvRKlQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-arm64-musl@1.29.2: + resolution: {integrity: sha512-Q64eM1bPlOOUgxFmoPUefqzY1yV3ctFPE6d/Vt7WzLW4rKTv7MyYNky+FWxRpLkNASTnKQUaiMJ87zNODIrrKQ==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [linux] + + lightningcss-linux-x64-gnu@1.29.2: + resolution: {integrity: sha512-0v6idDCPG6epLXtBH/RPkHvYx74CVziHo6TMYga8O2EiQApnUPZsbR9nFNrg2cgBzk1AYqEd95TlrsL7nYABQg==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-linux-x64-musl@1.29.2: + resolution: {integrity: sha512-rMpz2yawkgGT8RULc5S4WiZopVMOFWjiItBT7aSfDX4NQav6M44rhn5hjtkKzB+wMTRlLLqxkeYEtQ3dd9696w==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [linux] + + lightningcss-win32-arm64-msvc@1.29.2: + resolution: {integrity: sha512-nL7zRW6evGQqYVu/bKGK+zShyz8OVzsCotFgc7judbt6wnB2KbiKKJwBE4SGoDBQ1O94RjW4asrCjQL4i8Fhbw==} + engines: {node: '>= 12.0.0'} + cpu: [arm64] + os: [win32] + + lightningcss-win32-x64-msvc@1.29.2: + resolution: {integrity: sha512-EdIUW3B2vLuHmv7urfzMI/h2fmlnOQBk1xlsDxkN1tCWKjNFjfLhGxYk8C8mzpSfr+A6jFFIi8fU6LbQGsRWjA==} + engines: {node: '>= 12.0.0'} + cpu: [x64] + os: [win32] + + lightningcss@1.29.2: + resolution: {integrity: sha512-6b6gd/RUXKaw5keVdSEtqFVdzWnU5jMxTUjA2bVcMNPLwSQ08Sv/UodBVtETLCn7k4S1Ibxwh7k68IwLZPgKaA==} + engines: {node: '>= 12.0.0'} + lilconfig@3.1.3: resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} engines: {node: '>=14'} @@ -4346,8 +4510,8 @@ packages: setprototypeof@1.2.0: resolution: {integrity: sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==} - shadcn-nuxt@0.11.4: - resolution: {integrity: sha512-9c5ZWUywJBJyRFxsPHP9FLaw3ZOVM2YfZc6FJ4ZEUVds6ynOCxOhn70JF+r0Fo0MsVAiGeKjL8lsRlG3Dg7XsA==} + shadcn-nuxt@2.0.1: + resolution: {integrity: sha512-V/dGlCig45B+v+peC0iYm8lcqjnjcKgJA42lmxRujPDK7CSNIjMTnM8+dHY8pvsC8KE52gw7uStmu4TfebQ18w==} sharp@0.33.5: resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} @@ -5889,6 +6053,11 @@ snapshots: '@intlify/shared': 10.0.5 source-map-js: 1.2.1 + '@intlify/message-compiler@11.1.3': + dependencies: + '@intlify/shared': 11.1.3 + source-map-js: 1.2.1 + '@intlify/message-compiler@12.0.0-alpha.2': dependencies: '@intlify/shared': 12.0.0-alpha.2 @@ -6084,22 +6253,22 @@ snapshots: '@nuxt/devalue@2.0.2': {} - '@nuxt/devtools-kit@1.7.0(magicast@0.3.5)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))': + '@nuxt/devtools-kit@1.7.0(magicast@0.3.5)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))': dependencies: '@nuxt/kit': 3.15.4(magicast@0.3.5) '@nuxt/schema': 3.15.4 execa: 7.2.0 - vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) + vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) transitivePeerDependencies: - magicast - supports-color - '@nuxt/devtools-kit@2.1.0(magicast@0.3.5)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))': + '@nuxt/devtools-kit@2.1.0(magicast@0.3.5)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))': dependencies: '@nuxt/kit': 3.15.4(magicast@0.3.5) '@nuxt/schema': 3.15.4 execa: 9.5.2 - vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) + vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) transitivePeerDependencies: - magicast - supports-color @@ -6117,13 +6286,13 @@ snapshots: rc9: 2.1.2 semver: 7.7.1 - '@nuxt/devtools@1.7.0(rollup@4.34.8)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))': + '@nuxt/devtools@1.7.0(rollup@4.34.8)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))': dependencies: '@antfu/utils': 0.7.10 - '@nuxt/devtools-kit': 1.7.0(magicast@0.3.5)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)) + '@nuxt/devtools-kit': 1.7.0(magicast@0.3.5)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)) '@nuxt/devtools-wizard': 1.7.0 '@nuxt/kit': 3.15.4(magicast@0.3.5) - '@vue/devtools-core': 7.6.8(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) + '@vue/devtools-core': 7.6.8(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) '@vue/devtools-kit': 7.6.8 birpc: 0.2.19 consola: 3.4.0 @@ -6152,9 +6321,9 @@ snapshots: sirv: 3.0.1 tinyglobby: 0.2.10 unimport: 3.14.6(rollup@4.34.8) - vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) - vite-plugin-inspect: 0.8.9(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@4.34.8)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)) - vite-plugin-vue-inspector: 5.3.1(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)) + vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) + vite-plugin-inspect: 0.8.9(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@4.34.8)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)) + vite-plugin-vue-inspector: 5.3.1(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)) which: 3.0.1 ws: 8.18.1 transitivePeerDependencies: @@ -6201,10 +6370,10 @@ snapshots: - supports-color - typescript - '@nuxt/eslint@1.1.0(@vue/compiler-sfc@3.5.13)(eslint@9.21.0(jiti@2.4.2))(magicast@0.3.5)(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))': + '@nuxt/eslint@1.1.0(@vue/compiler-sfc@3.5.13)(eslint@9.21.0(jiti@2.4.2))(magicast@0.3.5)(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))': dependencies: '@eslint/config-inspector': 1.0.1(eslint@9.21.0(jiti@2.4.2)) - '@nuxt/devtools-kit': 2.1.0(magicast@0.3.5)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)) + '@nuxt/devtools-kit': 2.1.0(magicast@0.3.5)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)) '@nuxt/eslint-config': 1.1.0(@vue/compiler-sfc@3.5.13)(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3) '@nuxt/eslint-plugin': 1.1.0(eslint@9.21.0(jiti@2.4.2))(typescript@5.7.3) '@nuxt/kit': 3.15.4(magicast@0.3.5) @@ -6279,12 +6448,12 @@ snapshots: - magicast - supports-color - '@nuxt/vite-builder@3.15.4(@types/node@22.13.5)(eslint@9.21.0(jiti@2.4.2))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.34.8)(sass@1.85.1)(terser@5.39.0)(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3))(yaml@2.7.0)': + '@nuxt/vite-builder@3.15.4(@types/node@22.13.5)(eslint@9.21.0(jiti@2.4.2))(lightningcss@1.29.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.34.8)(sass@1.85.1)(terser@5.39.0)(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3))(yaml@2.7.0)': dependencies: '@nuxt/kit': 3.15.4(magicast@0.3.5) '@rollup/plugin-replace': 6.0.2(rollup@4.34.8) - '@vitejs/plugin-vue': 5.2.1(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) - '@vitejs/plugin-vue-jsx': 4.1.1(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) + '@vitejs/plugin-vue': 5.2.1(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) + '@vitejs/plugin-vue-jsx': 4.1.1(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) autoprefixer: 10.4.20(postcss@8.5.3) consola: 3.4.0 cssnano: 7.0.6(postcss@8.5.3) @@ -6308,9 +6477,9 @@ snapshots: ufo: 1.5.4 unenv: 1.10.0 unplugin: 2.2.0 - vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) - vite-node: 3.0.7(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) - vite-plugin-checker: 0.8.0(eslint@9.21.0(jiti@2.4.2))(optionator@0.9.4)(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)) + vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) + vite-node: 3.0.7(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) + vite-plugin-checker: 0.8.0(eslint@9.21.0(jiti@2.4.2))(optionator@0.9.4)(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)) vue: 3.5.13(typescript@5.7.3) vue-bundle-renderer: 2.1.1 transitivePeerDependencies: @@ -6338,10 +6507,10 @@ snapshots: - vue-tsc - yaml - '@nuxthub/core@0.8.17(db0@0.2.4)(ioredis@5.5.0)(magicast@0.3.5)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))': + '@nuxthub/core@0.8.17(db0@0.2.4)(ioredis@5.5.0)(magicast@0.3.5)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))': dependencies: '@cloudflare/workers-types': 4.20250224.0 - '@nuxt/devtools-kit': 2.1.0(magicast@0.3.5)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)) + '@nuxt/devtools-kit': 2.1.0(magicast@0.3.5)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)) '@nuxt/kit': 3.15.4(magicast@0.3.5) '@uploadthing/mime-types': 0.3.4 citty: 0.1.6 @@ -6775,6 +6944,71 @@ snapshots: dependencies: tslib: 2.8.1 + '@tailwindcss/node@4.1.4': + dependencies: + enhanced-resolve: 5.18.1 + jiti: 2.4.2 + lightningcss: 1.29.2 + tailwindcss: 4.1.4 + + '@tailwindcss/oxide-android-arm64@4.1.4': + optional: true + + '@tailwindcss/oxide-darwin-arm64@4.1.4': + optional: true + + '@tailwindcss/oxide-darwin-x64@4.1.4': + optional: true + + '@tailwindcss/oxide-freebsd-x64@4.1.4': + optional: true + + '@tailwindcss/oxide-linux-arm-gnueabihf@4.1.4': + optional: true + + '@tailwindcss/oxide-linux-arm64-gnu@4.1.4': + optional: true + + '@tailwindcss/oxide-linux-arm64-musl@4.1.4': + optional: true + + '@tailwindcss/oxide-linux-x64-gnu@4.1.4': + optional: true + + '@tailwindcss/oxide-linux-x64-musl@4.1.4': + optional: true + + '@tailwindcss/oxide-wasm32-wasi@4.1.4': + optional: true + + '@tailwindcss/oxide-win32-arm64-msvc@4.1.4': + optional: true + + '@tailwindcss/oxide-win32-x64-msvc@4.1.4': + optional: true + + '@tailwindcss/oxide@4.1.4': + optionalDependencies: + '@tailwindcss/oxide-android-arm64': 4.1.4 + '@tailwindcss/oxide-darwin-arm64': 4.1.4 + '@tailwindcss/oxide-darwin-x64': 4.1.4 + '@tailwindcss/oxide-freebsd-x64': 4.1.4 + '@tailwindcss/oxide-linux-arm-gnueabihf': 4.1.4 + '@tailwindcss/oxide-linux-arm64-gnu': 4.1.4 + '@tailwindcss/oxide-linux-arm64-musl': 4.1.4 + '@tailwindcss/oxide-linux-x64-gnu': 4.1.4 + '@tailwindcss/oxide-linux-x64-musl': 4.1.4 + '@tailwindcss/oxide-wasm32-wasi': 4.1.4 + '@tailwindcss/oxide-win32-arm64-msvc': 4.1.4 + '@tailwindcss/oxide-win32-x64-msvc': 4.1.4 + + '@tailwindcss/vite@4.1.4(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))': + dependencies: + '@tailwindcss/node': 4.1.4 + '@tailwindcss/oxide': 4.1.4 + tailwindcss: 4.1.4 + vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) + '@tanstack/virtual-core@3.13.2': {} '@tanstack/vue-virtual@3.13.2(vue@3.5.13(typescript@5.7.3))': @@ -6948,19 +7182,19 @@ snapshots: - rollup - supports-color - '@vitejs/plugin-vue-jsx@4.1.1(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))': + '@vitejs/plugin-vue-jsx@4.1.1(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))': dependencies: '@babel/core': 7.26.9 '@babel/plugin-transform-typescript': 7.26.8(@babel/core@7.26.9) '@vue/babel-plugin-jsx': 1.2.5(@babel/core@7.26.9) - vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) + vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) vue: 3.5.13(typescript@5.7.3) transitivePeerDependencies: - supports-color - '@vitejs/plugin-vue@5.2.1(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))': + '@vitejs/plugin-vue@5.2.1(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))': dependencies: - vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) + vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) vue: 3.5.13(typescript@5.7.3) '@vue-macros/common@1.16.1(vue@3.5.13(typescript@5.7.3))': @@ -7040,14 +7274,14 @@ snapshots: dependencies: '@vue/devtools-kit': 7.7.2 - '@vue/devtools-core@7.6.8(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))': + '@vue/devtools-core@7.6.8(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3))': dependencies: '@vue/devtools-kit': 7.6.8 '@vue/devtools-shared': 7.7.2 mitt: 3.0.1 nanoid: 5.1.2 pathe: 1.1.2 - vite-hot-client: 0.2.4(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)) + vite-hot-client: 0.2.4(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)) vue: 3.5.13(typescript@5.7.3) transitivePeerDependencies: - vite @@ -7136,13 +7370,13 @@ snapshots: '@vueuse/metadata@12.7.0': {} - '@vueuse/nuxt@12.7.0(magicast@0.3.5)(nuxt@3.15.4(@parcel/watcher@2.5.1)(@types/node@22.13.5)(db0@0.2.4)(encoding@0.1.13)(eslint@9.21.0(jiti@2.4.2))(ioredis@5.5.0)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.34.8)(sass@1.85.1)(terser@5.39.0)(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(yaml@2.7.0))(typescript@5.7.3)': + '@vueuse/nuxt@12.7.0(magicast@0.3.5)(nuxt@3.15.4(@parcel/watcher@2.5.1)(@types/node@22.13.5)(db0@0.2.4)(encoding@0.1.13)(eslint@9.21.0(jiti@2.4.2))(ioredis@5.5.0)(lightningcss@1.29.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.34.8)(sass@1.85.1)(terser@5.39.0)(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(yaml@2.7.0))(typescript@5.7.3)': dependencies: '@nuxt/kit': 3.15.4(magicast@0.3.5) '@vueuse/core': 12.7.0(typescript@5.7.3) '@vueuse/metadata': 12.7.0 local-pkg: 1.1.0 - nuxt: 3.15.4(@parcel/watcher@2.5.1)(@types/node@22.13.5)(db0@0.2.4)(encoding@0.1.13)(eslint@9.21.0(jiti@2.4.2))(ioredis@5.5.0)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.34.8)(sass@1.85.1)(terser@5.39.0)(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(yaml@2.7.0) + nuxt: 3.15.4(@parcel/watcher@2.5.1)(@types/node@22.13.5)(db0@0.2.4)(encoding@0.1.13)(eslint@9.21.0(jiti@2.4.2))(ioredis@5.5.0)(lightningcss@1.29.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.34.8)(sass@1.85.1)(terser@5.39.0)(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(yaml@2.7.0) vue: 3.5.13(typescript@5.7.3) transitivePeerDependencies: - magicast @@ -8748,6 +8982,51 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 + lightningcss-darwin-arm64@1.29.2: + optional: true + + lightningcss-darwin-x64@1.29.2: + optional: true + + lightningcss-freebsd-x64@1.29.2: + optional: true + + lightningcss-linux-arm-gnueabihf@1.29.2: + optional: true + + lightningcss-linux-arm64-gnu@1.29.2: + optional: true + + lightningcss-linux-arm64-musl@1.29.2: + optional: true + + lightningcss-linux-x64-gnu@1.29.2: + optional: true + + lightningcss-linux-x64-musl@1.29.2: + optional: true + + lightningcss-win32-arm64-msvc@1.29.2: + optional: true + + lightningcss-win32-x64-msvc@1.29.2: + optional: true + + lightningcss@1.29.2: + dependencies: + detect-libc: 2.0.3 + optionalDependencies: + lightningcss-darwin-arm64: 1.29.2 + lightningcss-darwin-x64: 1.29.2 + lightningcss-freebsd-x64: 1.29.2 + lightningcss-linux-arm-gnueabihf: 1.29.2 + lightningcss-linux-arm64-gnu: 1.29.2 + lightningcss-linux-arm64-musl: 1.29.2 + lightningcss-linux-x64-gnu: 1.29.2 + lightningcss-linux-x64-musl: 1.29.2 + lightningcss-win32-arm64-msvc: 1.29.2 + lightningcss-win32-x64-msvc: 1.29.2 + lilconfig@3.1.3: {} lines-and-columns@1.2.4: {} @@ -9114,15 +9393,15 @@ snapshots: dependencies: boolbase: 1.0.0 - nuxt@3.15.4(@parcel/watcher@2.5.1)(@types/node@22.13.5)(db0@0.2.4)(encoding@0.1.13)(eslint@9.21.0(jiti@2.4.2))(ioredis@5.5.0)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.34.8)(sass@1.85.1)(terser@5.39.0)(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(yaml@2.7.0): + nuxt@3.15.4(@parcel/watcher@2.5.1)(@types/node@22.13.5)(db0@0.2.4)(encoding@0.1.13)(eslint@9.21.0(jiti@2.4.2))(ioredis@5.5.0)(lightningcss@1.29.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.34.8)(sass@1.85.1)(terser@5.39.0)(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(yaml@2.7.0): dependencies: '@nuxt/cli': 3.22.2(magicast@0.3.5) '@nuxt/devalue': 2.0.2 - '@nuxt/devtools': 1.7.0(rollup@4.34.8)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) + '@nuxt/devtools': 1.7.0(rollup@4.34.8)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0))(vue@3.5.13(typescript@5.7.3)) '@nuxt/kit': 3.15.4(magicast@0.3.5) '@nuxt/schema': 3.15.4 '@nuxt/telemetry': 2.6.5(magicast@0.3.5) - '@nuxt/vite-builder': 3.15.4(@types/node@22.13.5)(eslint@9.21.0(jiti@2.4.2))(magicast@0.3.5)(optionator@0.9.4)(rollup@4.34.8)(sass@1.85.1)(terser@5.39.0)(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3))(yaml@2.7.0) + '@nuxt/vite-builder': 3.15.4(@types/node@22.13.5)(eslint@9.21.0(jiti@2.4.2))(lightningcss@1.29.2)(magicast@0.3.5)(optionator@0.9.4)(rollup@4.34.8)(sass@1.85.1)(terser@5.39.0)(typescript@5.7.3)(vue@3.5.13(typescript@5.7.3))(yaml@2.7.0) '@unhead/dom': 1.11.20 '@unhead/shared': 1.11.20 '@unhead/ssr': 1.11.20 @@ -9923,7 +10202,7 @@ snapshots: setprototypeof@1.2.0: {} - shadcn-nuxt@0.11.4(magicast@0.3.5): + shadcn-nuxt@2.0.1(magicast@0.3.5): dependencies: '@nuxt/kit': 3.15.4(magicast@0.3.5) '@oxc-parser/wasm': 0.50.0 @@ -10523,17 +10802,17 @@ snapshots: vary@1.1.2: {} - vite-hot-client@0.2.4(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)): + vite-hot-client@0.2.4(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)): dependencies: - vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) + vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) - vite-node@3.0.7(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0): + vite-node@3.0.7(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0): dependencies: cac: 6.7.14 debug: 4.4.0(supports-color@9.4.0) es-module-lexer: 1.6.0 pathe: 2.0.3 - vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) + vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) transitivePeerDependencies: - '@types/node' - jiti @@ -10548,7 +10827,7 @@ snapshots: - tsx - yaml - vite-plugin-checker@0.8.0(eslint@9.21.0(jiti@2.4.2))(optionator@0.9.4)(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)): + vite-plugin-checker@0.8.0(eslint@9.21.0(jiti@2.4.2))(optionator@0.9.4)(typescript@5.7.3)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)): dependencies: '@babel/code-frame': 7.26.2 ansi-escapes: 4.3.2 @@ -10560,7 +10839,7 @@ snapshots: npm-run-path: 4.0.1 strip-ansi: 6.0.1 tiny-invariant: 1.3.3 - vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) + vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) vscode-languageclient: 7.0.0 vscode-languageserver: 7.0.0 vscode-languageserver-textdocument: 1.0.12 @@ -10570,7 +10849,7 @@ snapshots: optionator: 0.9.4 typescript: 5.7.3 - vite-plugin-inspect@0.8.9(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@4.34.8)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)): + vite-plugin-inspect@0.8.9(@nuxt/kit@3.15.4(magicast@0.3.5))(rollup@4.34.8)(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)): dependencies: '@antfu/utils': 0.7.10 '@rollup/pluginutils': 5.1.4(rollup@4.34.8) @@ -10581,14 +10860,14 @@ snapshots: perfect-debounce: 1.0.0 picocolors: 1.1.1 sirv: 3.0.1 - vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) + vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) optionalDependencies: '@nuxt/kit': 3.15.4(magicast@0.3.5) transitivePeerDependencies: - rollup - supports-color - vite-plugin-vue-inspector@5.3.1(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)): + vite-plugin-vue-inspector@5.3.1(vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0)): dependencies: '@babel/core': 7.26.9 '@babel/plugin-proposal-decorators': 7.25.9(@babel/core@7.26.9) @@ -10599,11 +10878,11 @@ snapshots: '@vue/compiler-dom': 3.5.13 kolorist: 1.8.0 magic-string: 0.30.17 - vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) + vite: 6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0) transitivePeerDependencies: - supports-color - vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0): + vite@6.2.0(@types/node@22.13.5)(jiti@2.4.2)(lightningcss@1.29.2)(sass@1.85.1)(terser@5.39.0)(yaml@2.7.0): dependencies: esbuild: 0.25.0 postcss: 8.5.3 @@ -10612,6 +10891,7 @@ snapshots: '@types/node': 22.13.5 fsevents: 2.3.3 jiti: 2.4.2 + lightningcss: 1.29.2 sass: 1.85.1 terser: 5.39.0 yaml: 2.7.0 From 687b96cf12941c7ef1708ea6951036a090a23626 Mon Sep 17 00:00:00 2001 From: Alexis <35.alexis.pele@gmail.com> Date: Wed, 16 Apr 2025 19:52:19 +0200 Subject: [PATCH 3/7] Moved event and colored element logic to css variables --- assets/_events.css | 280 ++++++++++++++++++ assets/main.css | 96 +----- assets/theme.css | 108 +++++++ components/calendar/event/Details.vue | 7 +- components/calendar/event/Event.vue | 4 +- .../calendar/search/lists/EventCallout.vue | 4 +- components/ui/button/Button.vue | 2 +- tailwind.config.js | 24 +- 8 files changed, 408 insertions(+), 117 deletions(-) create mode 100644 assets/_events.css create mode 100644 assets/theme.css diff --git a/assets/_events.css b/assets/_events.css new file mode 100644 index 0000000..627b6ae --- /dev/null +++ b/assets/_events.css @@ -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); +} diff --git a/assets/main.css b/assets/main.css index 05d7f2f..57241fd 100644 --- a/assets/main.css +++ b/assets/main.css @@ -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; - } +body { + 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; diff --git a/assets/theme.css b/assets/theme.css new file mode 100644 index 0000000..a96438e --- /dev/null +++ b/assets/theme.css @@ -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); +} diff --git a/components/calendar/event/Details.vue b/components/calendar/event/Details.vue index b0c1b7a..d44207c 100644 --- a/components/calendar/event/Details.vue +++ b/components/calendar/event/Details.vue @@ -62,17 +62,14 @@ function deployDeleteModal() {