UNPKG

@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
"use strict"; 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;