
Security News
Attackers Are Hunting High-Impact Node.js Maintainers in a Coordinated Social Engineering Campaign
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.
@umituz/react-native-appearance
Advanced tools
Appearance management package for React Native - Theme mode and custom colors with persistent storage
Universal appearance management package for React Native apps with theme mode switching and custom color customization.
npm install @umituz/react-native-appearance
import {
AppearanceScreen,
useAppearance,
appearanceService,
} from "@umituz/react-native-appearance";
// Use the screen
<AppearanceScreen />
// Or use hooks in your custom component
const MyComponent = () => {
const { themeMode, setThemeMode, customColors } = useAppearance();
return (
// Your custom UI
);
};
// Initialize in your app
useEffect(() => {
appearanceService.initialize();
}, []);
AppearanceScreenComplete appearance settings screen with theme mode selection and custom colors.
import { AppearanceScreen } from "@umituz/react-native-appearance";
<AppearanceScreen />
useAppearance()Access appearance state and actions.
const {
themeMode, // 'light' | 'dark'
customColors, // CustomThemeColors | undefined
isInitialized, // boolean
setThemeMode, // (mode: ThemeMode) => Promise<void>
toggleTheme, // () => Promise<void>
setCustomColors, // (colors: CustomThemeColors) => Promise<void>
resetCustomColors, // () => Promise<void>
reset, // () => Promise<void>
} = useAppearance();
useAppearanceActions()Presentation actions for appearance management.
const {
localCustomColors, // CustomThemeColors
handleThemeSelect, // (mode: ThemeMode) => Promise<void>
handleColorChange, // (key: keyof CustomThemeColors, color: string) => void
handleResetColors, // () => void
} = useAppearanceActions();
appearanceServiceBusiness logic layer for appearance management.
import { appearanceService } from "@umituz/react-native-appearance";
// Initialize
await appearanceService.initialize();
// Get current theme
const theme = appearanceService.getThemeMode();
// Set theme
await appearanceService.setThemeMode('dark');
import type {
ThemeMode, // 'light' | 'dark'
CustomThemeColors, // { primary?: string, secondary?: string, ... }
AppearanceSettings, // { themeMode: ThemeMode, customColors?: CustomThemeColors }
AppearanceState, // { settings: AppearanceSettings, isInitialized: boolean }
} from "@umituz/react-native-appearance";
This package follows SOLID principles with clean separation of concerns:
This package requires these peer dependencies:
@umituz/react-native-alert@umituz/react-native-design-system@umituz/react-native-design-system-theme@umituz/react-native-localization@umituz/react-native-storagezustandreactreact-nativeMIT
FAQs
Appearance management package for React Native - Theme mode and custom colors with persistent storage
We found that @umituz/react-native-appearance demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Multiple high-impact npm maintainers confirm they have been targeted in the same social engineering campaign that compromised Axios.

Security News
Axios compromise traced to social engineering, showing how attacks on maintainers can bypass controls and expose the broader software supply chain.

Security News
Node.js has paused its bug bounty program after funding ended, removing payouts for vulnerability reports but keeping its security process unchanged.