File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -24,6 +24,7 @@ type EnumDropdownBaseProps<TEnum extends string> = BaseFormInputProps & {
2424 // Allow string in for compatability with old untyped use sites.
2525 readonly value ?: TEnum | string ;
2626 readonly onChange : ( newValue : TEnum ) => void ;
27+ readonly disabledOptions ?: ReadonlyArray < TEnum > ;
2728} ;
2829
2930type EnumDropdownWithNullOptionProps = {
@@ -69,6 +70,7 @@ const EnumDropdownImpl = <TEnum extends string>(
6970 buttonClassName,
7071 includeAllOption = false ,
7172 includeNullOption = false ,
73+ disabledOptions,
7274 ...formInputProps
7375 } : EnumDropdownProps < TEnum > ,
7476 ref : Ref < HTMLDivElement > ,
@@ -97,6 +99,7 @@ const EnumDropdownImpl = <TEnum extends string>(
9799 ( item ) => ( {
98100 value : item as unknown as TEnum ,
99101 content : uiNameMapper ( item as unknown as TEnum ) ,
102+ disabled : disabledOptions ?. includes ( item as unknown as TEnum ) ?? false ,
100103 } ) ,
101104 ) ;
102105
Original file line number Diff line number Diff line change @@ -25,11 +25,13 @@ export type ListboxOptionItem<ValueType> =
2525 readonly value : ValueType ;
2626 readonly render : ( props : OptionRenderPropArg ) => ReactNode ;
2727 readonly content ?: never ;
28+ readonly disabled ?: boolean ;
2829 }
2930 | {
3031 readonly value : ValueType ;
3132 readonly render ?: never ;
3233 readonly content : ReactNode ;
34+ readonly disabled ?: boolean ;
3335 } ;
3436
3537type JoreListboxOptionsProps < ValueType > = {
@@ -63,6 +65,7 @@ const JoreListboxOptionsImpl = <ValueType extends string>(
6365 key = { item . value }
6466 value = { item . value }
6567 data-testid = { `${ testId } ::${ item . value } ` }
68+ disabled = { item . disabled }
6669 >
6770 { 'content' in item ? item . content : wrapInFragment ( item . render ) }
6871 </ ListboxOption >
You can’t perform that action at this time.
0 commit comments