diff --git a/frontend/src/design-system/sections/FormSection.tsx b/frontend/src/design-system/sections/FormSection.tsx index 802d17b..655f1d4 100644 --- a/frontend/src/design-system/sections/FormSection.tsx +++ b/frontend/src/design-system/sections/FormSection.tsx @@ -63,7 +63,7 @@ export function FormSection() { {(['sm', 'md', 'lg'] as const).map((size) => ( - diff --git a/frontend/src/features/admin/SystemConfig.tsx b/frontend/src/features/admin/SystemConfig.tsx index d731be9..0fda9dd 100644 --- a/frontend/src/features/admin/SystemConfig.tsx +++ b/frontend/src/features/admin/SystemConfig.tsx @@ -232,6 +232,7 @@ export function SystemConfig() {
+ diff --git a/frontend/src/features/detection/GearIdentification.tsx b/frontend/src/features/detection/GearIdentification.tsx index a606bb4..1710d74 100644 --- a/frontend/src/features/detection/GearIdentification.tsx +++ b/frontend/src/features/detection/GearIdentification.tsx @@ -470,13 +470,15 @@ function Toggle({ checked, onChange, label }: { checked: boolean; onChange: (v: ); } -function SelectField({ value, onChange, options }: { +function SelectField({ label, value, onChange, options }: { + label: string; value: string; onChange: (v: string) => void; options: { value: string; label: string }[]; }) { return ( setFilterType(e.target.value)} + setZoneFilter(e.target.value)} + ... + * + */ + +type BaseSelectProps = Omit, 'size'> & { size?: InputSize; state?: InputState; -} +}; + +type SelectWithAccessibleName = + | (BaseSelectProps & { 'aria-label': string }) + | (BaseSelectProps & { 'aria-labelledby': string }) + | (BaseSelectProps & { title: string }); + +export type SelectProps = SelectWithAccessibleName; -/** Select — Input과 동일한 스타일 토큰 공유 */ export const Select = forwardRef( ({ className, size, state, children, ...props }, ref) => { return (