| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- "use strict";
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
- Object.defineProperty(exports, "__esModule", {
- value: true
- });
- exports.responsiveMap = exports.responsiveArray = exports.default = void 0;
- var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
- var _objectSpread3 = _interopRequireDefault(require("@babel/runtime/helpers/objectSpread2"));
- var responsiveArray = ['xxxl', 'xxl', 'xl', 'lg', 'md', 'sm', 'xs'];
- exports.responsiveArray = responsiveArray;
- var responsiveMap = {
- xs: '(max-width: 575px)',
- sm: '(min-width: 576px)',
- md: '(min-width: 768px)',
- lg: '(min-width: 992px)',
- xl: '(min-width: 1200px)',
- xxl: '(min-width: 1600px)',
- xxxl: '(min-width: 2000px)'
- };
- exports.responsiveMap = responsiveMap;
- var subscribers = new Map();
- var subUid = -1;
- var screens = {};
- var responsiveObserve = {
- matchHandlers: {},
- dispatch: function dispatch(pointMap) {
- screens = pointMap;
- subscribers.forEach(function (func) {
- return func(screens);
- });
- return subscribers.size >= 1;
- },
- subscribe: function subscribe(func) {
- if (!subscribers.size) this.register();
- subUid += 1;
- subscribers.set(subUid, func);
- func(screens);
- return subUid;
- },
- unsubscribe: function unsubscribe(token) {
- subscribers.delete(token);
- if (!subscribers.size) this.unregister();
- },
- unregister: function unregister() {
- var _this = this;
- Object.keys(responsiveMap).forEach(function (screen) {
- var matchMediaQuery = responsiveMap[screen];
- var handler = _this.matchHandlers[matchMediaQuery];
- handler === null || handler === void 0 ? void 0 : handler.mql.removeListener(handler === null || handler === void 0 ? void 0 : handler.listener);
- });
- subscribers.clear();
- },
- register: function register() {
- var _this2 = this;
- Object.keys(responsiveMap).forEach(function (screen) {
- var matchMediaQuery = responsiveMap[screen];
- var listener = function listener(_ref) {
- var matches = _ref.matches;
- _this2.dispatch((0, _objectSpread3.default)((0, _objectSpread3.default)({}, screens), {}, (0, _defineProperty2.default)({}, screen, matches)));
- };
- var mql = window.matchMedia(matchMediaQuery);
- mql.addListener(listener);
- _this2.matchHandlers[matchMediaQuery] = {
- mql: mql,
- listener: listener
- };
- listener(mql);
- });
- }
- };
- var _default = responsiveObserve;
- exports.default = _default;
|