diff --git a/lib/src/commands/OptionsProcessor.ts b/lib/src/commands/OptionsProcessor.ts index 1c47416ed70..8cc2685e352 100644 --- a/lib/src/commands/OptionsProcessor.ts +++ b/lib/src/commands/OptionsProcessor.ts @@ -25,7 +25,7 @@ import { import { Deprecations } from './Deprecations'; import { OptionProcessorsStore } from '../processors/OptionProcessorsStore'; import { CommandName } from '../interfaces/CommandName'; -import { Platform, DynamicColorIOS } from 'react-native'; +import { Platform, DynamicColorIOS, ColorValue } from 'react-native'; export class OptionsProcessor { constructor( @@ -126,13 +126,18 @@ export class OptionsProcessor { if (value === null) { options[key] = 'NoColor'; } else if (value instanceof Object) { - if ('dynamic' in value) { - options[key].dynamic.light = this.colorService.toNativeColor(value.dynamic.light); - options[key].dynamic.dark = this.colorService.toNativeColor(value.dynamic.dark); + if ('semantic' in value) { + options[key] = value; + } else if ('dynamic' in value) { + options[key] = DynamicColorIOS({ + light: this.colorService.toNativeColor(value.dynamic.light) as ColorValue, + dark: this.colorService.toNativeColor(value.dynamic.dark) as ColorValue, + }); } else { - options[key].light = this.colorService.toNativeColor(value.light); - options[key].dark = this.colorService.toNativeColor(value.dark); - options[key] = DynamicColorIOS(options[key]); + options[key] = DynamicColorIOS({ + light: this.colorService.toNativeColor(value.light) as ColorValue, + dark: this.colorService.toNativeColor(value.dark) as ColorValue + }); } } else { options[key] = this.colorService.toNativeColor(value);