UNPKG

@wordpress/compose

Version:
29 lines (27 loc) 1.05 kB
import _extends from "@babel/runtime/helpers/esm/extends"; import { createElement } from "@wordpress/element"; /** * Internal dependencies */ import createHigherOrderComponent from '../../utils/create-higher-order-component'; import usePreferredColorScheme from '../../hooks/use-preferred-color-scheme'; /** * WordPress dependencies */ import { useCallback } from '@wordpress/element'; const withPreferredColorScheme = createHigherOrderComponent(WrappedComponent => props => { const colorScheme = usePreferredColorScheme(); const isDarkMode = colorScheme === 'dark'; const getStyles = useCallback((lightStyles, darkStyles) => { const finalDarkStyles = { ...lightStyles, ...darkStyles }; return isDarkMode ? finalDarkStyles : lightStyles; }, [isDarkMode]); return createElement(WrappedComponent, _extends({ preferredColorScheme: colorScheme, getStylesFromColorScheme: getStyles }, props)); }, 'withPreferredColorScheme'); export default withPreferredColorScheme; //# sourceMappingURL=index.native.js.map