@magica11y/light-level
Version:
Detects the ambient light-level of the user’s device using the 'light-level' CSS3 level 5 media query.
34 lines (25 loc) • 1.09 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _matchUserPreference = _interopRequireDefault(require("@magica11y/match-user-preference"));
var _availableLightLevels = _interopRequireDefault(require("./availableLightLevels"));
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
const lightLevelsValues = [_availableLightLevels.default.NORMAL, _availableLightLevels.default.DIM, _availableLightLevels.default.WASHED];
/**
* Detects the ambient light-level in which the device is used
* using CSS3 Media Queries level 5 specification for `'light-level'`.
*
* @returns Either 'normal', 'dim', 'washed' or `null`
* @see https://drafts.csswg.org/mediaqueries-5/#light-level
*/
const lightLevel = () => {
const matchedLightLevel = lightLevelsValues.find(lightLevelValue => (0, _matchUserPreference.default)('light-level', lightLevelValue));
if (matchedLightLevel) {
return matchedLightLevel;
}
return null;
};
var _default = lightLevel;
exports.default = _default;