|
26 | 26 | colorFn, |
27 | 27 | footer, |
28 | 28 | variant = 'default', |
| 29 | + size = 'md', |
29 | 30 | onChange, |
30 | 31 | }: { |
31 | 32 | value: string; |
|
37 | 38 | footer?: Snippet; |
38 | 39 | /** 'chip' renders a compact TopBar-style pill instead of the full-width trigger */ |
39 | 40 | variant?: 'default' | 'chip'; |
| 41 | + /** 'sm' renders a smaller trigger matching text-[11px] compact UIs */ |
| 42 | + size?: 'sm' | 'md'; |
40 | 43 | onChange: (value: string) => void; |
41 | 44 | } = $props(); |
42 | 45 |
|
|
99 | 102 | class="sd-trigger" |
100 | 103 | class:sd-disabled={disabled} |
101 | 104 | class:sd-chip={variant === 'chip'} |
| 105 | + class:sd-sm={size === 'sm'} |
102 | 106 | style={activeColor |
103 | 107 | ? variant === 'chip' |
104 | 108 | ? `--sd-color: ${activeColor};` |
|
119 | 123 | {#if open} |
120 | 124 | <div |
121 | 125 | class="sd-panel" |
| 126 | + class:sd-panel-sm={size === 'sm'} |
122 | 127 | transition:slide={{ duration: 120 }} |
123 | 128 | > |
124 | 129 | <!-- Search input --> |
|
225 | 230 | cursor: not-allowed; |
226 | 231 | } |
227 | 232 |
|
| 233 | + /* Small size variant — matches DaisyUI select-sm / input-sm */ |
| 234 | + .sd-sm { |
| 235 | + font-size: 0.75rem; |
| 236 | + min-height: 2rem; |
| 237 | + padding: 0 0.75rem; |
| 238 | + border-radius: var(--rounded-btn, 0.5rem); |
| 239 | + background: var(--b2, oklch(0.16 0.01 250)); |
| 240 | + border: 1px solid oklch(from var(--bc, oklch(0.85 0.02 250)) l c h / 0.3); |
| 241 | + color: var(--bc, oklch(0.85 0.02 250)); |
| 242 | + } |
| 243 | + .sd-sm .sd-chevron { |
| 244 | + width: 0.625rem; |
| 245 | + height: 0.625rem; |
| 246 | + } |
| 247 | + .sd-panel-sm { |
| 248 | + font-size: 0.75rem; |
| 249 | + } |
| 250 | + .sd-panel-sm .sd-search { |
| 251 | + padding: 0.25rem 0.5rem; |
| 252 | + } |
| 253 | + .sd-panel-sm .sd-search-input { |
| 254 | + font-size: 0.75rem; |
| 255 | + } |
| 256 | + .sd-panel-sm .sd-option { |
| 257 | + padding: 0.375rem 0.625rem; |
| 258 | + font-size: 0.75rem; |
| 259 | + } |
| 260 | + .sd-panel-sm .sd-group-label { |
| 261 | + font-size: 0.625rem; |
| 262 | + padding: 0.25rem 0.625rem 0.125rem; |
| 263 | + } |
| 264 | +
|
228 | 265 | /* Chip variant — TopBar fav-chip style: full border, color-tinted background */ |
229 | 266 | .sd-chip-wrap { |
230 | 267 | display: inline-flex; |
|
0 commit comments