rn-custom-style-sheet
Version:
React Native component to select a specific value from a range of values.
44 lines (43 loc) • 1.78 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = useTheme;
var _react = require("react");
var _Core = require("../../../Core");
var _MediaQuery = require("../../../MediaQuery");
var _UseCurrentThemeMode = require("../UseCurrentThemeMode");
var _UseCurrentThemeName = require("../UseCurrentThemeName");
function useTheme(styleSheetFn, device) {
const themeName = (0, _UseCurrentThemeName.useCurrentThemeName)();
const themeMode = (0, _UseCurrentThemeMode.useCurrentThemeMode)();
const screenResolution = (0, _Core.useScreenResolution)();
const guideLineLayout = (0, _Core.useGuideLineLayout)();
const guideLineBreakpoint = (0, _Core.useGuideLineBreakpoint)();
const generalScreenResolution = (0, _Core.useGeneralScreenResolution)();
const localDevice = (0, _MediaQuery.useDevice)();
const orientation = (0, _Core.useCurrentOrientation)();
const currentBreakpointIndex = (0, _Core.useCurrentBreakpointIndex)();
const isDark = (0, _react.useMemo)(() => themeMode === _Core.ThemeModeEnum.Dark, [themeMode]);
const isPortrait = (0, _react.useMemo)(() => orientation === _Core.OrientationEnum.Portrait, [orientation]);
const styles = (0, _Core.useDeepCompareMemo)(() => styleSheetFn?.({
isDark,
isPortrait,
themeName,
themeMode,
screenResolution,
guideLineLayout,
guideLineBreakpoint,
generalScreenResolution,
device: device ?? localDevice,
currentBreakpointIndex
}) ?? {}, [isDark, isPortrait, themeName, themeMode, screenResolution, guideLineLayout, guideLineBreakpoint, generalScreenResolution, device, localDevice, currentBreakpointIndex]);
return {
styles,
themeName,
themeMode,
isDark,
isPortrait
};
}
//# sourceMappingURL=UseTheme.js.map