@@ -395,19 +395,27 @@ onMounted(async () => {
395395 :aria-label =" datapoint.name"
396396 type =" button"
397397 class =" flex gap-1.5 place-items-center"
398- @click =" datapoint.segregate()"
398+ :class =" {
399+ 'hover:underline': !datapoint.isSegregated,
400+ 'line-through': datapoint.isSegregated,
401+ }"
402+ @click ="
403+ () => {
404+ datapoint.segregate()
405+ datapoint.onEnter()
406+ }
407+ "
408+ @mouseenter =" datapoint.onEnter()"
409+ @mouseleave =" datapoint.onLeave()"
410+ @focus =" datapoint.onEnter()"
411+ @blur =" datapoint.onLeave()"
399412 >
400413 <div class =" h-3 w-3" aria-hidden =" true" >
401414 <svg viewBox =" 0 0 2 2" class =" w-full" >
402415 <circle cx =" 1" cy =" 1" r =" 1" :fill =" datapoint.color" />
403416 </svg >
404417 </div >
405- <span
406- class =" text-fg"
407- :style =" {
408- textDecoration: datapoint.isSegregated ? 'line-through' : undefined,
409- }"
410- >
418+ <span class =" text-fg" >
411419 {{ datapoint.name }}
412420 </span >
413421 </button >
@@ -559,14 +567,35 @@ onMounted(async () => {
559567</template >
560568
561569<style scoped>
570+ :deep(.vue-data-ui-component ) {
571+ --super-ease-out : cubic-bezier (0.15 , 0.75 , 0.35 , 1 );
572+ }
573+
562574:deep(.vue-data-ui-component svg :focus-visible ) {
563575 outline : 1px solid var (--accent ) !important ;
564576 border-radius : 0.1rem ;
565577 outline-offset : 0 ;
566578}
579+
567580:deep(.vue-ui-user-options-button :focus-visible ),
568581:deep(.vue-ui-user-options :first-child:focus-visible ) {
569582 outline : 0.1rem solid var (--accent ) !important ;
570583 border-radius : 0.25rem ;
571584}
585+
586+ :deep(.vue-ui-scatter-scale-group ),
587+ :deep(.vue-ui-scatter-datapoint text ),
588+ :deep(.vue-ui-scatter-datapoint circle ),
589+ :deep(.vue-ui-scatter-datapoint-label ) {
590+ transition : all 0.5s var (--super-ease-out ) !important ;
591+ }
592+
593+ @media (prefers-reduced-motion: reduce) {
594+ :deep(.vue-ui-scatter-scale-group ),
595+ :deep(.vue-ui-scatter-datapoint text ),
596+ :deep(.vue-ui-scatter-datapoint circle ),
597+ :deep(.vue-ui-scatter-datapoint-label ) {
598+ transition : none !important ;
599+ }
600+ }
572601 </style >
0 commit comments