diff --git a/packages/design-system/src/css/style.css b/packages/design-system/src/css/style.css index eee0c06589..dae4bd33f3 100644 --- a/packages/design-system/src/css/style.css +++ b/packages/design-system/src/css/style.css @@ -324,7 +324,42 @@ } } -/* Everything below here to be cleaned up over time. */ + +/* ===================== Scrollbar Utilities (Tailwind) ===================== + Usage: Add `scrollbar-custom` class to scrollable containers. + The scrollbar styling adapts to light/dark theme automatically. +============================================================================ */ + +@utility scrollbar-custom { + overflow-y: auto; + /* Firefox */ + scrollbar-width: thin; + scrollbar-color: var(--dialog-surface) transparent; + + /* WebKit */ + &::-webkit-scrollbar { + width: 10px; + height: 10px; + background-color: transparent; + } + &::-webkit-scrollbar-track { + background: transparent; + } + &::-webkit-scrollbar-thumb { + background: var(--dialog-surface); + border-radius: 9999px; + border: 2px solid transparent; + } + &::-webkit-scrollbar-thumb:hover { + background: var(--dialog-surface); + } + &::-webkit-scrollbar-corner { + background: transparent; + } +} +/* =================== End Custom Scrollbar (cross-browser) =================== */ + +/* Everthing below here to be cleaned up over time. */ body { width: 100vw; diff --git a/src/components/input/MultiSelect.vue b/src/components/input/MultiSelect.vue index 1469d0f869..e461eed324 100644 --- a/src/components/input/MultiSelect.vue +++ b/src/components/input/MultiSelect.vue @@ -243,7 +243,7 @@ const pt = computed(() => ({ }, listContainer: () => ({ style: { maxHeight: listMaxHeight }, - class: 'overflow-y-auto scrollbar-hide' + class: 'scrollbar-custom' }), list: { class: 'flex flex-col gap-0 p-0 m-0 list-none border-none text-sm' diff --git a/src/components/input/SingleSelect.vue b/src/components/input/SingleSelect.vue index 01be97eb44..f1e8a86ea8 100644 --- a/src/components/input/SingleSelect.vue +++ b/src/components/input/SingleSelect.vue @@ -159,7 +159,7 @@ const pt = computed(() => ({ }, listContainer: () => ({ style: `max-height: ${listMaxHeight}`, - class: 'overflow-y-auto scrollbar-hide' + class: 'scrollbar-custom' }), list: { class: