Skip to content

Commit 2cfd379

Browse files
authored
[6.x] Add a custom scrollbar for set pickers (#13686)
1 parent ddb6440 commit 2cfd379

2 files changed

Lines changed: 28 additions & 4 deletions

File tree

resources/css/core/utilities.css

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,30 @@
3030
}
3131
}
3232

33+
@utility st-custom-scrollbar {
34+
--sb-size: 3px;
35+
--sb-thumb-color: var(--color-gray-400);
36+
&:where(.dark, .dark *) {
37+
--sb-thumb-color: var(--color-gray-500);
38+
}
39+
--sb-track-color: transparent;
40+
41+
scrollbar-color: var(--sb-thumb-color), var(--sb-track-color);
42+
43+
&::-webkit-scrollbar {
44+
width: var(--sb-size);
45+
}
46+
47+
&::-webkit-scrollbar-track {
48+
background: var(--sb-track-color);
49+
}
50+
51+
&::-webkit-scrollbar-thumb {
52+
background: var(--sb-thumb-color);
53+
border-radius: 2px;
54+
}
55+
}
56+
3357
/* UTILITIES / TEXT
3458
=================================================== */
3559
/* Avoid prefixing things with `st-text-` (st for Statamic) because `text-` is a Tailwind prefix */

resources/js/components/fieldtypes/replicator/SetPicker.vue

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,7 @@
8585
:open="isOpen"
8686
@clicked-away="$emit('clicked-away', $event)"
8787
@update:open="isOpen = $event"
88-
class="set-picker select-none w-72"
88+
class="set-picker select-none w-72 rounded-b-lg"
8989
data-set-picker-popover
9090
inset
9191
>
@@ -126,11 +126,11 @@
126126
</div>
127127

128128
<!-- List Mode -->
129-
<div class="max-h-[21rem] overflow-auto p-1.5">
129+
<div class="max-h-[21rem] overflow-auto p-1.5 st-custom-scrollbar">
130130
<div
131131
v-for="(item, i) in items"
132132
:key="item.handle"
133-
class="cursor-pointer rounded-lg"
133+
class="cursor-pointer rounded-md"
134134
:class="{ 'bg-gray-100 dark:bg-gray-900': selectionIndex === i }"
135135
@mouseover="selectionIndex = i"
136136
:title="__(item.instructions)"
@@ -150,7 +150,7 @@
150150
<div
151151
v-if="item.type === 'set'"
152152
@click="!isLoading && addSet(item.handle)"
153-
class="group flex items-center rounded-xl p-2.5 gap-2 sm:gap-3"
153+
class="group flex items-center rounded-lg p-2.5 gap-2 sm:gap-3"
154154
:class="{ 'opacity-50 pointer-events-none': isLoading }"
155155
>
156156
<ui-icon v-if="isSetLoading(item.handle)" name="loading" class="size-4 text-gray-600 dark:text-gray-300" />

0 commit comments

Comments
 (0)