add width, v0.1.10
All checks were successful
continuous-integration/drone/push Build is passing
continuous-integration/drone/promote/production Build is passing

This commit is contained in:
2026-02-23 19:57:19 +01:00
parent 3ddd108186
commit 29a4e8c2ee
10 changed files with 68 additions and 14 deletions

View File

@@ -14,6 +14,7 @@ type DropdownProps = {
value: string;
choices: DropdownChoice[];
size?: ComponentSize;
width?: ComponentSize;
layout?: DropdownLayout;
disabled?: boolean;
required?: boolean;
@@ -28,6 +29,7 @@ export function Dropdown({
value,
choices,
size = 'md',
width = 'md',
layout = 'stacked',
disabled = false,
required = false,
@@ -36,12 +38,12 @@ export function Dropdown({
className = '',
selectClassName = '',
}: Readonly<DropdownProps>) {
const containerSizeClass = {
const containerWidthClass = {
sm: 'max-w-xs',
md: 'max-w-sm',
lg: 'max-w-md',
full: 'max-w-none',
}[size];
}[width];
const selectSizeClass = {
sm: 'h-8 !text-xs',
@@ -62,7 +64,7 @@ export function Dropdown({
return (
<label
className={`${wrapperClass} text-sm font-medium ${disabled ? 'ui-label-disabled' : 'ui-label'} ${containerSizeClass} ${className}`.trim()}
className={`${wrapperClass} text-sm font-medium ${disabled ? 'ui-label-disabled' : 'ui-label'} ${containerWidthClass} ${className}`.trim()}
>
{label ? <span className={labelClass}>{label}</span> : null}
<div className={selectWrapperClass}>