Files
plane/apps/dev-wiki/styles/animations.css
Bavisetti Narayan acee583e53 [WIKI-630] [WIKI-629] [WIKI-626] chore: organised the page comments folder (#4096)
* chore: organised the page comments folder

* chore: corrected the filter

* fix: parity

* fix: padding and spacing issues

* fix: dev wiki redirection

* fix: cancel icon on top of the reference text

* fix: hover styles and padding in new comment form

* fix: added back animations and better styles

* fix: show latest comment

* fix: comment creation handling fixed

* fix: border and hover states fix

* fix: truncate fixes

* fix: reply controller count values

* fix: scroll after opening reliably

* fix: add comment control

* fix: all other ux issues

* fix: count of showing/hiding

---------

Co-authored-by: Palanikannan M <akashmalinimurugu@gmail.com>
2025-09-09 18:11:04 +05:30

200 lines
3.6 KiB
CSS

/* Comment animations */
@keyframes stagger-comments {
0% {
opacity: 0;
transform: translateY(10px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
@keyframes expand-reply {
0% {
opacity: 0;
max-height: 0;
transform: translateY(-5px);
}
100% {
opacity: 1;
max-height: 500px;
transform: translateY(0);
}
}
@keyframes expand {
0% {
opacity: 0;
max-height: 0;
}
100% {
opacity: 1;
max-height: 1000px;
}
}
@keyframes expand-action {
0% {
opacity: 0;
transform: scale(0.95);
}
100% {
opacity: 1;
transform: scale(1);
}
}
@keyframes expand-down {
0% {
opacity: 0;
max-height: 0;
transform: translateY(-10px);
}
100% {
opacity: 1;
max-height: 500px;
transform: translateY(0);
}
}
@keyframes scale-line {
0% {
transform: scaleX(0);
opacity: 0;
}
100% {
transform: scaleX(1);
opacity: 1;
}
}
@keyframes button-fade-up {
0% {
opacity: 0;
transform: translateY(5px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
@keyframes fade-in-up {
0% {
opacity: 0;
transform: translateY(10px);
}
100% {
opacity: 1;
transform: translateY(0);
}
}
/* Animation classes */
.animate-stagger-comments > * {
animation: stagger-comments 0.25s var(--ease-out-cubic) forwards;
}
.animate-stagger-comments > *:nth-child(1) {
animation-delay: 0ms;
}
.animate-stagger-comments > *:nth-child(2) {
animation-delay: 50ms;
}
.animate-stagger-comments > *:nth-child(3) {
animation-delay: 100ms;
}
.animate-stagger-comments > *:nth-child(4) {
animation-delay: 150ms;
}
.animate-stagger-comments > *:nth-child(5) {
animation-delay: 200ms;
}
.animate-stagger-comments > *:nth-child(n + 6) {
animation-delay: 250ms;
}
/* Smooth filtering animation - no delays to prevent jitter */
.animate-smooth-comments > * {
animation: stagger-comments 0.2s var(--ease-out-cubic) forwards;
}
/* Subtle transition for comment items during filtering */
.animate-comment-item {
transition: all 0.15s var(--ease-out-cubic);
}
.animate-expand-reply {
animation: expand-reply 0.3s var(--ease-out-cubic) forwards;
}
.animate-expand {
animation: expand 0.25s var(--ease-out-quad) forwards;
}
.animate-expand-action {
animation: expand-action 0.2s var(--ease-out-quad) forwards;
}
.animate-expand-down {
animation: expand-down 0.3s var(--ease-out-cubic) forwards;
}
.animate-scale-line {
animation: scale-line 0.3s var(--ease-out-quad) forwards;
transform-origin: center;
}
.animate-button-fade-up {
animation: button-fade-up 0.25s var(--ease-out-cubic) forwards;
}
.animate-fade-in-up {
animation: fade-in-up 0.3s var(--ease-out-cubic) forwards;
}
/* Smooth filtering animations */
.animate-comment-filter {
transition: all 0.2s var(--ease-out-cubic);
}
.animate-comment-filter.entering {
opacity: 0;
transform: translateY(-10px);
}
.animate-comment-filter.entered {
opacity: 1;
transform: translateY(0);
}
.animate-comment-filter.exiting {
opacity: 0;
transform: translateY(10px);
max-height: 0;
margin-bottom: 0;
padding-top: 0;
padding-bottom: 0;
}
/* Accessibility: Disable animations for users who prefer reduced motion */
@media (prefers-reduced-motion: reduce) {
.animate-stagger-comments > *,
.animate-smooth-comments > *,
.animate-expand-reply,
.animate-expand,
.animate-expand-action,
.animate-expand-down,
.animate-scale-line,
.animate-button-fade-up,
.animate-fade-in-up,
.animate-comment-filter,
.animate-comment-item {
animation: none !important;
opacity: 1 !important;
transform: none !important;
max-height: none !important;
}
}