@wordpress/compose
Version:
WordPress higher-order components (HOCs).
33 lines (31 loc) • 1.04 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _element = require("@wordpress/element");
var _reactNativeBridge = require("@wordpress/react-native-bridge");
/**
* WordPress dependencies
*/
/**
* Returns the color scheme value when it changes. Possible values: [ 'light', 'dark' ]
*
* @return {string} return current color scheme.
*/
function usePreferredColorScheme() {
const [currentColorScheme, setCurrentColorScheme] = (0, _element.useState)(_reactNativeBridge.isInitialColorSchemeDark ? 'dark' : 'light');
(0, _element.useEffect)(() => {
(0, _reactNativeBridge.subscribePreferredColorScheme)(({
isPreferredColorSchemeDark
}) => {
const colorScheme = isPreferredColorSchemeDark ? 'dark' : 'light';
if (colorScheme !== currentColorScheme) {
setCurrentColorScheme(colorScheme);
}
});
});
return currentColorScheme;
}
var _default = exports.default = usePreferredColorScheme;
//# sourceMappingURL=index.android.js.map