UNPKG

@magica11y/prefers-contrast

Version:

Detects user’s preferences for contrast using the 'prefers-contrast' CSS3 level 5 media query.

33 lines (24 loc) 1.19 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _matchUserPreference = _interopRequireDefault(require("@magica11y/match-user-preference")); var _contrastPreferences = _interopRequireDefault(require("./contrastPreferences")); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } const contrastPreferenceValues = [_contrastPreferences.default.NO_PREFERENCE, _contrastPreferences.default.MORE, _contrastPreferences.default.LESS, _contrastPreferences.default.CUSTOM]; /** * Detects user’s preferences for contrast * using CSS3 Media Queries level 5 specification for `'prefers-contrast'`. * * @returns Either 'no-preference', 'more', 'less' or `null` * @see https://drafts.csswg.org/mediaqueries-5/#prefers-contrast */ const prefersContrast = () => { const matchedContrastPreference = contrastPreferenceValues.find(contrastPreferenceValue => (0, _matchUserPreference.default)('prefers-contrast', contrastPreferenceValue)); if (matchedContrastPreference) { return matchedContrastPreference; } return null; }; var _default = exports.default = prefersContrast;