diff --git a/packages/forms/src/components/select-checkbox.tsx b/packages/forms/src/components/select-checkbox.tsx index 12842d1a..a529cdc2 100644 --- a/packages/forms/src/components/select-checkbox.tsx +++ b/packages/forms/src/components/select-checkbox.tsx @@ -35,8 +35,8 @@ function clickHandlerFactory( /** Props du SelectCheckbox */ export interface SelectCheckboxProps { - /** Désactive le select. */ - disabled?: boolean; + /** Désactive le select en entier (si `true`) ou bien une liste d'options. */ + disabled?: boolean | DomainType[]; /** Message d'erreur à afficher. */ error?: string; /** Libellé. */ @@ -91,7 +91,9 @@ export function SelectCheckbox({ const isSelected = value ? !!value.find((val: any) => optVal === val) : false; const isDisabled = - disabled || (maxSelectable !== undefined && maxSelectable === value?.length && !isSelected); + disabled === true || + (Array.isArray(disabled) && disabled.includes(optVal)) || + (maxSelectable !== undefined && maxSelectable === value?.length && !isSelected); const clickHandler = clickHandlerFactory(isDisabled, isSelected, value, optVal, onChange); return (