UNPKG

rn-custom-style-sheet

Version:

React Native component to select a specific value from a range of values.

34 lines (33 loc) 1.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = useDevice; var _react = require("react"); var _Core = require("../../../Core"); var _UseDeviceForMediaQuery = require("../UseDeviceForMediaQuery"); var _UseIsUpdate = require("../UseIsUpdate"); var _UseDeviceUtils = require("./UseDeviceUtils"); function useDevice(deviceFromProps) { const deviceFromContext = (0, _UseDeviceForMediaQuery.useDeviceForMediaQuery)(); const isSupportedOrientation = (0, _Core.useCurrentOrientation)(); const [device, setDevice] = (0, _react.useState)((0, _UseDeviceUtils.getDevice)(deviceFromProps, deviceFromContext)); const isUpdate = (0, _UseIsUpdate.useIsUpdate)(); (0, _Core.useDeepCompareEffect)(() => { if (isUpdate) { const newDevice = (0, _UseDeviceUtils.getDevice)(deviceFromProps, deviceFromContext); if (!(0, _UseDeviceUtils.shallowEqualObjects)(device, newDevice)) { setDevice(newDevice); } } }, [deviceFromProps, deviceFromContext]); (0, _react.useEffect)(() => { const newDevice = (0, _UseDeviceUtils.getDevice)(deviceFromProps, deviceFromContext); if (!(0, _UseDeviceUtils.shallowEqualObjects)(device, newDevice)) { setDevice(newDevice); } // eslint-disable-next-line react-hooks/exhaustive-deps }, [isSupportedOrientation]); return device; } //# sourceMappingURL=UseDevice.js.map