From 86996d956328de2f1d60b4dfddc363691df64193 Mon Sep 17 00:00:00 2001 From: syuilo <4439005+syuilo@users.noreply.github.com> Date: Wed, 7 May 2025 13:41:51 +0900 Subject: 🎨 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/global/MkSystemIcon.vue | 67 +++++++++++++++------- 1 file changed, 47 insertions(+), 20 deletions(-) (limited to 'packages/frontend/src/components') diff --git a/packages/frontend/src/components/global/MkSystemIcon.vue b/packages/frontend/src/components/global/MkSystemIcon.vue index 3285d5a940..66592da9c8 100644 --- a/packages/frontend/src/components/global/MkSystemIcon.vue +++ b/packages/frontend/src/components/global/MkSystemIcon.vue @@ -5,28 +5,28 @@ SPDX-License-Identifier: AGPL-3.0-only @@ -68,33 +68,60 @@ const props = defineProps<{ fill: none; stroke: currentColor; stroke-width: 8px; + shape-rendering: geometricPrecision; } -.fill { - fill: currentColor; +.animLine { + stroke-dasharray: var(--l); + stroke-dashoffset: var(--l); + animation: line var(--duration, 0.5s) cubic-bezier(0,0,.25,1) 1 forwards; + animation-delay: var(--delay, 0s); } -.anim { +.animCircle { stroke-dasharray: var(--l); stroke-dashoffset: var(--l); - animation: line-animation var(--duration, 0.5s) cubic-bezier(0,0,.25,1) 1 forwards; + animation: line var(--duration, 0.5s) cubic-bezier(0,0,.25,1) 1 forwards; animation-delay: var(--delay, 0s); + transform-origin: center; + transform: rotate(-90deg); } -.fade { +.animCircleSuccess { + stroke-dasharray: var(--l); + stroke-dashoffset: var(--l); + animation: circleSuccess var(--duration, 0.5s) cubic-bezier(0,0,.25,1) 1 forwards; + animation-delay: var(--delay, 0s); + transform-origin: center; +} + +.animFade { opacity: 0; animation: fade-in var(--duration, 0.5s) cubic-bezier(0,0,.25,1) 1 forwards; animation-delay: var(--delay, 0s); } -@keyframes line-animation { +@keyframes line { + 0% { + stroke-dashoffset: var(--l); + opacity: 0; + } + 100% { + stroke-dashoffset: 0; + opacity: 1; + } +} + +@keyframes circleSuccess { 0% { stroke-dashoffset: var(--l); opacity: 0; + transform: rotate(-90deg); } 100% { stroke-dashoffset: 0; opacity: 1; + transform: rotate(90deg); } } -- cgit v1.2.3-freya