UNPKG

matrix-react-sdk

Version:
37 lines (34 loc) 4.01 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _SettingController = _interopRequireDefault(require("./SettingController")); /* Copyright 2024 New Vector Ltd. Copyright 2021 The Matrix.org Foundation C.I.C. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ /** * For animation-like settings, this controller checks whether the user has * indicated they prefer reduced motion via browser or OS level settings. * If they have, this forces the setting value to false. */ class ReducedMotionController extends _SettingController.default { getValueOverride(level, roomId, calculatedValue, calculatedAtLevel) { if (this.prefersReducedMotion()) { return false; } return null; // no override } get settingDisabled() { return this.prefersReducedMotion(); } prefersReducedMotion() { return window.matchMedia("(prefers-reduced-motion: reduce)").matches; } } exports.default = ReducedMotionController; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfU2V0dGluZ0NvbnRyb2xsZXIiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIlJlZHVjZWRNb3Rpb25Db250cm9sbGVyIiwiU2V0dGluZ0NvbnRyb2xsZXIiLCJnZXRWYWx1ZU92ZXJyaWRlIiwibGV2ZWwiLCJyb29tSWQiLCJjYWxjdWxhdGVkVmFsdWUiLCJjYWxjdWxhdGVkQXRMZXZlbCIsInByZWZlcnNSZWR1Y2VkTW90aW9uIiwic2V0dGluZ0Rpc2FibGVkIiwid2luZG93IiwibWF0Y2hNZWRpYSIsIm1hdGNoZXMiLCJleHBvcnRzIiwiZGVmYXVsdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9zZXR0aW5ncy9jb250cm9sbGVycy9SZWR1Y2VkTW90aW9uQ29udHJvbGxlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuQ29weXJpZ2h0IDIwMjQgTmV3IFZlY3RvciBMdGQuXG5Db3B5cmlnaHQgMjAyMSBUaGUgTWF0cml4Lm9yZyBGb3VuZGF0aW9uIEMuSS5DLlxuXG5TUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQUdQTC0zLjAtb25seSBPUiBHUEwtMy4wLW9ubHlcblBsZWFzZSBzZWUgTElDRU5TRSBmaWxlcyBpbiB0aGUgcmVwb3NpdG9yeSByb290IGZvciBmdWxsIGRldGFpbHMuXG4qL1xuXG5pbXBvcnQgU2V0dGluZ0NvbnRyb2xsZXIgZnJvbSBcIi4vU2V0dGluZ0NvbnRyb2xsZXJcIjtcbmltcG9ydCB7IFNldHRpbmdMZXZlbCB9IGZyb20gXCIuLi9TZXR0aW5nTGV2ZWxcIjtcblxuLyoqXG4gKiBGb3IgYW5pbWF0aW9uLWxpa2Ugc2V0dGluZ3MsIHRoaXMgY29udHJvbGxlciBjaGVja3Mgd2hldGhlciB0aGUgdXNlciBoYXNcbiAqIGluZGljYXRlZCB0aGV5IHByZWZlciByZWR1Y2VkIG1vdGlvbiB2aWEgYnJvd3NlciBvciBPUyBsZXZlbCBzZXR0aW5ncy5cbiAqIElmIHRoZXkgaGF2ZSwgdGhpcyBmb3JjZXMgdGhlIHNldHRpbmcgdmFsdWUgdG8gZmFsc2UuXG4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFJlZHVjZWRNb3Rpb25Db250cm9sbGVyIGV4dGVuZHMgU2V0dGluZ0NvbnRyb2xsZXIge1xuICAgIHB1YmxpYyBnZXRWYWx1ZU92ZXJyaWRlKFxuICAgICAgICBsZXZlbDogU2V0dGluZ0xldmVsLFxuICAgICAgICByb29tSWQ6IHN0cmluZyxcbiAgICAgICAgY2FsY3VsYXRlZFZhbHVlOiBhbnksXG4gICAgICAgIGNhbGN1bGF0ZWRBdExldmVsOiBTZXR0aW5nTGV2ZWwgfCBudWxsLFxuICAgICk6IGFueSB7XG4gICAgICAgIGlmICh0aGlzLnByZWZlcnNSZWR1Y2VkTW90aW9uKCkpIHtcbiAgICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gbnVsbDsgLy8gbm8gb3ZlcnJpZGVcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IHNldHRpbmdEaXNhYmxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucHJlZmVyc1JlZHVjZWRNb3Rpb24oKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHByZWZlcnNSZWR1Y2VkTW90aW9uKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gd2luZG93Lm1hdGNoTWVkaWEoXCIocHJlZmVycy1yZWR1Y2VkLW1vdGlvbjogcmVkdWNlKVwiKS5tYXRjaGVzO1xuICAgIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQVFBLElBQUFBLGtCQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFSQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7QUFLQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ2UsTUFBTUMsdUJBQXVCLFNBQVNDLDBCQUFpQixDQUFDO0VBQzVEQyxnQkFBZ0JBLENBQ25CQyxLQUFtQixFQUNuQkMsTUFBYyxFQUNkQyxlQUFvQixFQUNwQkMsaUJBQXNDLEVBQ25DO0lBQ0gsSUFBSSxJQUFJLENBQUNDLG9CQUFvQixDQUFDLENBQUMsRUFBRTtNQUM3QixPQUFPLEtBQUs7SUFDaEI7SUFDQSxPQUFPLElBQUksQ0FBQyxDQUFDO0VBQ2pCO0VBRUEsSUFBV0MsZUFBZUEsQ0FBQSxFQUFZO0lBQ2xDLE9BQU8sSUFBSSxDQUFDRCxvQkFBb0IsQ0FBQyxDQUFDO0VBQ3RDO0VBRVFBLG9CQUFvQkEsQ0FBQSxFQUFZO0lBQ3BDLE9BQU9FLE1BQU0sQ0FBQ0MsVUFBVSxDQUFDLGtDQUFrQyxDQUFDLENBQUNDLE9BQU87RUFDeEU7QUFDSjtBQUFDQyxPQUFBLENBQUFDLE9BQUEsR0FBQWIsdUJBQUEiLCJpZ25vcmVMaXN0IjpbXX0=