Accessible event button styles

This commit is contained in:
Alexis
2025-03-14 16:47:43 +01:00
parent 9034406a45
commit f94c688baa
3 changed files with 42 additions and 42 deletions

View File

@@ -87,123 +87,123 @@
/* Colors */ /* Colors */
.event-red:not(.is-hidden) { .event-red:not(.is-hidden) {
@apply text-slate-900 bg-red-500 hover:bg-red-600 @apply text-slate-900 bg-red-500 hover:bg-red-600 focus-visible:bg-red-600
} }
.event-orange:not(.is-hidden) { .event-orange:not(.is-hidden) {
@apply text-slate-900 bg-orange-500 hover:bg-orange-600 @apply text-slate-900 bg-orange-500 hover:bg-orange-600 focus-visible:bg-orange-600
} }
.event-amber:not(.is-hidden) { .event-amber:not(.is-hidden) {
@apply text-slate-900 bg-amber-500 hover:bg-amber-600 @apply text-slate-900 bg-amber-500 hover:bg-amber-600 focus-visible:bg-amber-600
} }
.event-yellow:not(.is-hidden) { .event-yellow:not(.is-hidden) {
@apply text-slate-900 bg-yellow-600 hover:bg-yellow-700 @apply text-slate-900 bg-yellow-600 hover:bg-yellow-700 focus-visible:bg-yellow-700
} }
.event-lime:not(.is-hidden) { .event-lime:not(.is-hidden) {
@apply text-slate-900 bg-lime-500 hover:bg-lime-600 @apply text-slate-900 bg-lime-500 hover:bg-lime-600 focus-visible:bg-lime-600
} }
.event-green:not(.is-hidden) { .event-green:not(.is-hidden) {
@apply text-white bg-green-600 hover:bg-green-700 @apply text-white bg-green-600 hover:bg-green-700 focus-visible:bg-green-700
} }
.event-emerald:not(.is-hidden) { .event-emerald:not(.is-hidden) {
@apply text-white bg-emerald-600 hover:bg-emerald-700 @apply text-white bg-emerald-600 hover:bg-emerald-700 focus-visible:bg-emerald-700
} }
.event-teal:not(.is-hidden) { .event-teal:not(.is-hidden) {
@apply text-white bg-teal-600 hover:bg-teal-700 @apply text-white bg-teal-600 hover:bg-teal-700 focus-visible:bg-teal-700
} }
.event-cyan:not(.is-hidden) { .event-cyan:not(.is-hidden) {
@apply text-white bg-cyan-600 hover:bg-cyan-700 @apply text-white bg-cyan-600 hover:bg-cyan-700 focus-visible:bg-cyan-700
} }
.event-sky:not(.is-hidden) { .event-sky:not(.is-hidden) {
@apply text-white bg-sky-600 hover:bg-sky-700 @apply text-white bg-sky-600 hover:bg-sky-700 focus-visible:bg-sky-700
} }
.event-blue:not(.is-hidden) { .event-blue:not(.is-hidden) {
@apply text-white bg-blue-600 hover:bg-blue-700 @apply text-white bg-blue-600 hover:bg-blue-700 focus-visible:bg-blue-700
} }
.event-indigo:not(.is-hidden) { .event-indigo:not(.is-hidden) {
@apply text-white bg-indigo-600 hover:bg-indigo-700 @apply text-white bg-indigo-600 hover:bg-indigo-700 focus-visible:bg-indigo-700
} }
.event-violet:not(.is-hidden) { .event-violet:not(.is-hidden) {
@apply text-white bg-violet-600 hover:bg-violet-700 @apply text-white bg-violet-600 hover:bg-violet-700 focus-visible:bg-violet-700
} }
.event-purple:not(.is-hidden) { .event-purple:not(.is-hidden) {
@apply text-white bg-purple-600 hover:bg-purple-700 @apply text-white bg-purple-600 hover:bg-purple-700 focus-visible:bg-purple-700
} }
.event-fuchsia:not(.is-hidden) { .event-fuchsia:not(.is-hidden) {
@apply text-white bg-fuchsia-600 hover:bg-fuchsia-700 @apply text-white bg-fuchsia-600 hover:bg-fuchsia-700 focus-visible:bg-fuchsia-700
} }
.event-pink:not(.is-hidden) { .event-pink:not(.is-hidden) {
@apply text-white bg-pink-700 hover:bg-pink-800 @apply text-white bg-pink-700 hover:bg-pink-800 focus-visible:bg-pink-800
} }
.event-rose:not(.is-hidden) { .event-rose:not(.is-hidden) {
@apply text-white bg-rose-700 hover:bg-rose-800 @apply text-white bg-rose-700 hover:bg-rose-800 focus-visible:bg-rose-800
} }
.event-black:not(.is-hidden) { .event-black:not(.is-hidden) {
@apply text-white bg-stone-500 hover:bg-stone-700 @apply text-white bg-stone-500 hover:bg-stone-700 focus-visible:bg-stone-700
} }
.event-white:not(.is-hidden) { .event-white:not(.is-hidden) {
@apply text-slate-900 bg-white hover:bg-yellow-200 border-[1px] border-slate-300 @apply text-slate-900 bg-white hover:bg-yellow-200 focus-visible:bg-yellow-200 border-[1px] border-slate-300
} }
.event.is-hidden { .event.is-hidden {
border: 1px solid transparent; border: 1px dashed transparent;
} }
.event-red.is-hidden { .event-red.is-hidden {
@apply text-red-500 hover:text-white dark:hover:text-slate-900 border-red-500 hover:bg-red-600 dark:text-white @apply text-red-600 border-red-600 hover:bg-red-100 focus-visible:bg-red-100 dark:text-white dark:hover:bg-red-950 dark:focus-visible:bg-red-950
} }
.event-orange.is-hidden { .event-orange.is-hidden {
@apply text-orange-500 hover:text-white dark:hover:text-slate-900 border-orange-500 hover:bg-orange-600 dark:text-white @apply text-orange-600 border-orange-600 hover:bg-orange-100 focus-visible:bg-orange-100 dark:text-white dark:hover:bg-orange-950 dark:focus-visible:bg-orange-950
} }
.event-amber.is-hidden { .event-amber.is-hidden {
@apply text-amber-500 hover:text-white dark:hover:text-slate-900 border-amber-500 hover:bg-amber-600 dark:text-white @apply text-red-600 border-red-600 hover:bg-red-100 focus-visible:bg-red-100 dark:text-white dark:hover:bg-red-950 dark:focus-visible:bg-red-950
} }
.event-yellow.is-hidden { .event-yellow.is-hidden {
@apply text-yellow-600 hover:text-white dark:hover:text-slate-900 border-yellow-600 hover:bg-yellow-700 dark:text-white @apply text-yellow-600 border-yellow-600 hover:bg-yellow-100 focus-visible:bg-yellow-100 dark:text-white dark:hover:bg-yellow-950 dark:focus-visible:bg-yellow-950
} }
.event-lime.is-hidden { .event-lime.is-hidden {
@apply text-lime-500 hover:text-white dark:hover:text-slate-900 border-lime-500 hover:bg-lime-600 dark:text-white @apply text-lime-600 border-lime-600 hover:bg-lime-100 focus-visible:bg-lime-100 dark:text-white dark:hover:bg-lime-950 dark:focus-visible:bg-lime-950
} }
.event-green.is-hidden { .event-green.is-hidden {
@apply text-green-600 hover:text-white border-green-600 hover:bg-green-700 dark:text-white @apply text-green-600 border-green-600 hover:bg-green-700 focus-visible:bg-green-700 dark:text-white dark:hover:bg-green-950 dark:focus-visible:bg-green-950
} }
.event-emerald.is-hidden { .event-emerald.is-hidden {
@apply text-emerald-600 hover:text-white border-emerald-600 hover:bg-emerald-700 dark:text-white @apply text-emerald-600 border-emerald-600 hover:bg-emerald-700 focus-visible:bg-emerald-700 dark:text-white dark:hover:bg-emerald-950 dark:focus-visible:bg-emerald-950
} }
.event-teal.is-hidden { .event-teal.is-hidden {
@apply text-teal-700 hover:text-white border-teal-600 hover:bg-teal-700 dark:text-white @apply text-teal-700 border-teal-600 hover:bg-teal-700 focus-visible:bg-teal-700 dark:text-white dark:hover:bg-teal-950 dark:focus-visible:bg-teal-950
} }
.event-cyan.is-hidden { .event-cyan.is-hidden {
@apply text-cyan-600 hover:text-white border-cyan-600 hover:bg-cyan-700 dark:text-white @apply text-cyan-600 border-cyan-600 hover:bg-cyan-100 focus-visible:bg-cyan-100 dark:text-white dark:hover:bg-cyan-950 dark:focus-visible:bg-cyan-950
} }
.event-sky.is-hidden { .event-sky.is-hidden {
@apply text-sky-600 hover:text-white border-sky-600 hover:bg-sky-700 dark:text-white @apply text-sky-600 border-sky-600 hover:bg-sky-100 focus-visible:bg-sky-100 dark:text-white dark:hover:bg-sky-950 dark:focus-visible:bg-sky-950
} }
.event-blue.is-hidden { .event-blue.is-hidden {
@apply text-blue-600 hover:text-white border-blue-600 hover:bg-blue-700 dark:text-white @apply text-blue-600 border-blue-600 hover:bg-blue-100 focus-visible:bg-blue-100 dark:text-white dark:hover:bg-blue-950 dark:focus-visible:bg-blue-950
} }
.event-indigo.is-hidden { .event-indigo.is-hidden {
@apply text-indigo-600 hover:text-white border-indigo-600 hover:bg-indigo-700 dark:text-white @apply text-indigo-600 border-indigo-600 hover:bg-indigo-100 focus-visible:bg-indigo-100 dark:text-white dark:hover:bg-indigo-950 dark:focus-visible:bg-indigo-950
} }
.event-violet.is-hidden { .event-violet.is-hidden {
@apply text-violet-600 hover:text-white border-violet-600 hover:bg-violet-700 dark:text-white @apply text-violet-600 border-violet-600 hover:bg-violet-100 focus-visible:bg-violet-100 dark:text-white dark:hover:bg-violet-950 dark:focus-visible:bg-violet-950
} }
.event-purple.is-hidden { .event-purple.is-hidden {
@apply text-purple-600 hover:text-white border-purple-600 hover:bg-purple-700 dark:text-white @apply text-purple-600 border-purple-600 hover:bg-purple-100 focus-visible:bg-purple-100 dark:text-white dark:hover:bg-purple-950 dark:focus-visible:bg-purple-950
} }
.event-fuchsia.is-hidden { .event-fuchsia.is-hidden {
@apply text-fuchsia-600 hover:text-white border-fuchsia-600 hover:bg-fuchsia-700 dark:text-white @apply text-fuchsia-600 border-fuchsia-600 hover:bg-fuchsia-100 focus-visible:bg-fuchsia-100 dark:text-white dark:hover:bg-fuchsia-950 dark:focus-visible:bg-fuchsia-950
} }
.event-pink.is-hidden { .event-pink.is-hidden {
@apply text-pink-700 hover:text-white border-pink-700 hover:bg-pink-800 dark:text-white @apply text-pink-700 border-pink-700 hover:bg-pink-100 focus-visible:bg-pink-100 dark:text-white dark:hover:bg-pink-950 dark:focus-visible:bg-pink-950
} }
.event-rose.is-hidden { .event-rose.is-hidden {
@apply text-rose-700 hover:text-white border-rose-700 hover:bg-rose-800 dark:text-white @apply text-rose-700 border-rose-700 hover:bg-rose-100 focus-visible:bg-rose-100 dark:text-white dark:hover:bg-rose-950 dark:focus-visible:bg-rose-950
} }
.event-black.is-hidden { .event-black.is-hidden {
@apply text-stone-700 hover:text-white border-stone-500 hover:bg-stone-700 dark:text-white @apply text-stone-700 border-stone-500 hover:bg-stone-100 focus-visible:bg-stone-100 dark:text-white dark:hover:bg-stone-950 dark:focus-visible:bg-stone-950
} }
.event-white.is-hidden { .event-white.is-hidden {
@apply text-slate-900 border-neutral-400 hover:bg-yellow-200 dark:bg-neutral-800 dark:text-white dark:hover:bg-neutral-300 dark:hover:text-slate-900 @apply text-slate-900 border-neutral-400 hover:bg-yellow-200 focus-visible:bg-yellow-200 dark:bg-neutral-900 dark:text-white dark:hover:bg-neutral-700 dark:focus-visible:bg-neutral-300
} }
.dark .event-details-red { .dark .event-details-red {

View File

@@ -55,7 +55,7 @@ onMounted(() => {
<UiPopover v-model:open="isPopoverDetailsOpen"> <UiPopover v-model:open="isPopoverDetailsOpen">
<UiPopoverTrigger as-child> <UiPopoverTrigger as-child>
<button <button
class="event text-xs px-2 py-1 block w-full text-left rounded-sm focus-visible:bg-red-200 transition-colors" class="event text-xs px-2 py-1 block w-full text-left rounded-sm transition-colors outline-offset-1"
:class=" :class="
cn( cn(
event.category ? `event-${event.category.color}` : '', event.category ? `event-${event.category.color}` : '',

View File

@@ -21,7 +21,7 @@ const dateDuration = computed<string | null>(() => props.event.endDate ? getRela
<template> <template>
<button <button
class="event relative block w-full text-left py-3 px-4 rounded-sm transition-colors" class="event group relative block w-full text-left py-3 px-4 rounded-sm transition-colors"
:class="cn( :class="cn(
event.category ? `event-${event.category.color}` : '', event.category ? `event-${event.category.color}` : '',
{ {
@@ -30,7 +30,7 @@ const dateDuration = computed<string | null>(() => props.event.endDate ? getRela
@click="$emit('query:date-jump', event.startDate)" @click="$emit('query:date-jump', event.startDate)"
> >
<div class="flex gap-2 items-center mb-1"> <div class="flex gap-2 items-center mb-1">
<h2 class="font-bold text-lg"> <h2 class="font-bold text-lg underline-offset-4 group-hover:underline">
{{ event.title }} {{ event.title }}
</h2> </h2>
<div v-if="event.wiki"> <div v-if="event.wiki">