summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src/styles
diff options
context:
space:
mode:
authorAdam <[email protected]>2025-10-29 14:08:52 -0500
committerAdam <[email protected]>2025-10-29 16:04:34 -0500
commitcdeb82e9ca0213960202447896493c8d18cb867b (patch)
tree931a7ea706760691ae06b2b90c06729a0b943dac /packages/ui/src/styles
parenta9cae7b33563cb23c3aab88884d6e9b215fc0ba7 (diff)
downloadopencode-cdeb82e9ca0213960202447896493c8d18cb867b.tar.gz
opencode-cdeb82e9ca0213960202447896493c8d18cb867b.zip
wip: desktop work
Diffstat (limited to 'packages/ui/src/styles')
-rw-r--r--packages/ui/src/styles/utilities.css65
1 files changed, 65 insertions, 0 deletions
diff --git a/packages/ui/src/styles/utilities.css b/packages/ui/src/styles/utilities.css
index 99b7760a0..9c6b73f9c 100644
--- a/packages/ui/src/styles/utilities.css
+++ b/packages/ui/src/styles/utilities.css
@@ -48,6 +48,71 @@
border-width: 0;
}
+.scroller {
+ /* --fade-height: 1.5rem; */
+ /**/
+ /* --mask-top: linear-gradient(to bottom, transparent, black var(--fade-height)); */
+ /* --mask-bottom: linear-gradient(to top, transparent, black var(--fade-height)); */
+ /**/
+ /* mask-image: var(--mask-top), var(--mask-bottom); */
+ /* mask-repeat: no-repeat; */
+ /* mask-size: 100% var(--fade-height); */
+
+ animation: scroll-fade linear;
+ animation-timeline: scroll(self);
+}
+
+/* Define the keyframes for the mask.
+ These percentages now map to scroll positions:
+ 0% = Scrolled to the top
+ 100% = Scrolled to the bottom
+*/
+@keyframes scroll-fade {
+ /* At the very top (0% scroll) */
+ 0% {
+ mask-image: linear-gradient(
+ to bottom,
+ black 90%,
+ /* Opaque, but start fade to bottom */ transparent 100%
+ );
+ }
+
+ /* A small amount scrolled (e.g., 5%)
+ This is where the top fade should be fully visible.
+ */
+ 5% {
+ mask-image: linear-gradient(
+ to bottom,
+ transparent 0%,
+ black 10%,
+ /* Fade-in top */ black 90%,
+ /* Fade-out bottom */ transparent 100%
+ );
+ }
+
+ /* Nearing the bottom (e.g., 95%)
+ The bottom fade should start disappearing.
+ */
+ 95% {
+ mask-image: linear-gradient(
+ to bottom,
+ transparent 0%,
+ black 10%,
+ /* Fade-in top */ black 90%,
+ /* Fade-out bottom */ transparent 100%
+ );
+ }
+
+ /* At the very bottom (100% scroll) */
+ 100% {
+ mask-image: linear-gradient(
+ to bottom,
+ transparent 0%,
+ black 10% /* Opaque, but start fade from top */
+ );
+ }
+}
+
.truncate-start {
text-overflow: ellipsis;
overflow: hidden;