summaryrefslogtreecommitdiffhomepage
path: root/packages/ui/src/components/scroll-view.css
diff options
context:
space:
mode:
authorAdam <[email protected]>2026-02-20 10:43:18 -0600
committerAdam <[email protected]>2026-02-20 10:54:17 -0600
commitfe89bedfcc6d97fdd4b8066c2c3d8eac92b531ea (patch)
tree99eccf57e17ceb90e9f8b28829a8a5f9ab2ecbcc /packages/ui/src/components/scroll-view.css
parent1e48d7fe8228d94ded379e36975b2cce12f4a510 (diff)
downloadopencode-fe89bedfcc6d97fdd4b8066c2c3d8eac92b531ea.tar.gz
opencode-fe89bedfcc6d97fdd4b8066c2c3d8eac92b531ea.zip
wip(app): custom scroll view
Diffstat (limited to 'packages/ui/src/components/scroll-view.css')
-rw-r--r--packages/ui/src/components/scroll-view.css61
1 files changed, 61 insertions, 0 deletions
diff --git a/packages/ui/src/components/scroll-view.css b/packages/ui/src/components/scroll-view.css
new file mode 100644
index 000000000..f81ae2976
--- /dev/null
+++ b/packages/ui/src/components/scroll-view.css
@@ -0,0 +1,61 @@
+.scroll-view {
+ position: relative;
+ overflow: hidden;
+}
+
+.scroll-view__viewport {
+ height: 100%;
+ width: 100%;
+ overflow-y: auto;
+ scrollbar-width: none;
+ outline: none;
+}
+
+.scroll-view__viewport::-webkit-scrollbar {
+ display: none;
+}
+
+.scroll-view__thumb {
+ position: absolute;
+ right: 0;
+ top: 0;
+ width: 16px;
+ transition: opacity 200ms ease;
+ cursor: default;
+ user-select: none;
+ opacity: 0;
+}
+
+.scroll-view__thumb::after {
+ content: "";
+ position: absolute;
+ right: 4px;
+ top: 0;
+ bottom: 0;
+ width: 6px;
+ border-radius: 9999px;
+ background-color: var(--border-weak-base);
+ backdrop-filter: blur(4px);
+ transition: background-color 150ms ease;
+}
+
+.scroll-view__thumb:hover::after,
+.scroll-view__thumb[data-dragging="true"]::after {
+ background-color: var(--border-strong-base);
+}
+
+.dark .scroll-view__thumb::after,
+[data-theme="dark"] .scroll-view__thumb::after {
+ background-color: var(--border-weak-base);
+}
+
+.dark .scroll-view__thumb:hover::after,
+[data-theme="dark"] .scroll-view__thumb:hover::after,
+.dark .scroll-view__thumb[data-dragging="true"]::after,
+[data-theme="dark"] .scroll-view__thumb[data-dragging="true"]::after {
+ background-color: var(--border-strong-base);
+}
+
+.scroll-view__thumb[data-visible="true"] {
+ opacity: 1;
+}