diff --git a/dist/vue-media-queries.js b/dist/vue-media-queries.js index 989e5cd..0826c02 100644 --- a/dist/vue-media-queries.js +++ b/dist/vue-media-queries.js @@ -1,919 +1 @@ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) : - typeof define === 'function' && define.amd ? define(['exports'], factory) : - (global = global || self, factory(global.vueMediaQueries = {})); -}(this, function (exports) { 'use strict'; - - function _classCallCheck(instance, Constructor) { - if (!(instance instanceof Constructor)) { - throw new TypeError("Cannot call a class as a function"); - } - } - - function _defineProperties(target, props) { - for (var i = 0; i < props.length; i++) { - var descriptor = props[i]; - descriptor.enumerable = descriptor.enumerable || false; - descriptor.configurable = true; - if ("value" in descriptor) descriptor.writable = true; - Object.defineProperty(target, descriptor.key, descriptor); - } - } - - function _createClass(Constructor, protoProps, staticProps) { - if (protoProps) _defineProperties(Constructor.prototype, protoProps); - if (staticProps) _defineProperties(Constructor, staticProps); - return Constructor; - } - - function _slicedToArray(arr, i) { - return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest(); - } - - function _arrayWithHoles(arr) { - if (Array.isArray(arr)) return arr; - } - - function _iterableToArrayLimit(arr, i) { - var _arr = []; - var _n = true; - var _d = false; - var _e = undefined; - - try { - for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { - _arr.push(_s.value); - - if (i && _arr.length === i) break; - } - } catch (err) { - _d = true; - _e = err; - } finally { - try { - if (!_n && _i["return"] != null) _i["return"](); - } finally { - if (_d) throw _e; - } - } - - return _arr; - } - - function _nonIterableRest() { - throw new TypeError("Invalid attempt to destructure non-iterable instance"); - } - - var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {}; - - /** - * lodash (Custom Build) - * Build: `lodash modularize exports="npm" -o ./` - * Copyright jQuery Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */ - - /** Used as the `TypeError` message for "Functions" methods. */ - var FUNC_ERROR_TEXT = 'Expected a function'; - - /** Used as references for various `Number` constants. */ - var NAN = 0 / 0; - - /** `Object#toString` result references. */ - var symbolTag = '[object Symbol]'; - - /** Used to match leading and trailing whitespace. */ - var reTrim = /^\s+|\s+$/g; - - /** Used to detect bad signed hexadecimal string values. */ - var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; - - /** Used to detect binary string values. */ - var reIsBinary = /^0b[01]+$/i; - - /** Used to detect octal string values. */ - var reIsOctal = /^0o[0-7]+$/i; - - /** Built-in method references without a dependency on `root`. */ - var freeParseInt = parseInt; - - /** Detect free variable `global` from Node.js. */ - var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal; - - /** Detect free variable `self`. */ - var freeSelf = typeof self == 'object' && self && self.Object === Object && self; - - /** Used as a reference to the global object. */ - var root = freeGlobal || freeSelf || Function('return this')(); - - /** Used for built-in method references. */ - var objectProto = Object.prototype; - - /** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ - var objectToString = objectProto.toString; - - /* Built-in method references for those with the same name as other `lodash` methods. */ - var nativeMax = Math.max, - nativeMin = Math.min; - - /** - * Gets the timestamp of the number of milliseconds that have elapsed since - * the Unix epoch (1 January 1970 00:00:00 UTC). - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Date - * @returns {number} Returns the timestamp. - * @example - * - * _.defer(function(stamp) { - * console.log(_.now() - stamp); - * }, _.now()); - * // => Logs the number of milliseconds it took for the deferred invocation. - */ - var now = function() { - return root.Date.now(); - }; - - /** - * Creates a debounced function that delays invoking `func` until after `wait` - * milliseconds have elapsed since the last time the debounced function was - * invoked. The debounced function comes with a `cancel` method to cancel - * delayed `func` invocations and a `flush` method to immediately invoke them. - * Provide `options` to indicate whether `func` should be invoked on the - * leading and/or trailing edge of the `wait` timeout. The `func` is invoked - * with the last arguments provided to the debounced function. Subsequent - * calls to the debounced function return the result of the last `func` - * invocation. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is - * invoked on the trailing edge of the timeout only if the debounced function - * is invoked more than once during the `wait` timeout. - * - * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred - * until to the next tick, similar to `setTimeout` with a timeout of `0`. - * - * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) - * for details over the differences between `_.debounce` and `_.throttle`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to debounce. - * @param {number} [wait=0] The number of milliseconds to delay. - * @param {Object} [options={}] The options object. - * @param {boolean} [options.leading=false] - * Specify invoking on the leading edge of the timeout. - * @param {number} [options.maxWait] - * The maximum time `func` is allowed to be delayed before it's invoked. - * @param {boolean} [options.trailing=true] - * Specify invoking on the trailing edge of the timeout. - * @returns {Function} Returns the new debounced function. - * @example - * - * // Avoid costly calculations while the window size is in flux. - * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); - * - * // Invoke `sendMail` when clicked, debouncing subsequent calls. - * jQuery(element).on('click', _.debounce(sendMail, 300, { - * 'leading': true, - * 'trailing': false - * })); - * - * // Ensure `batchLog` is invoked once after 1 second of debounced calls. - * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); - * var source = new EventSource('/stream'); - * jQuery(source).on('message', debounced); - * - * // Cancel the trailing debounced invocation. - * jQuery(window).on('popstate', debounced.cancel); - */ - function debounce(func, wait, options) { - var lastArgs, - lastThis, - maxWait, - result, - timerId, - lastCallTime, - lastInvokeTime = 0, - leading = false, - maxing = false, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - wait = toNumber(wait) || 0; - if (isObject(options)) { - leading = !!options.leading; - maxing = 'maxWait' in options; - maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - - function invokeFunc(time) { - var args = lastArgs, - thisArg = lastThis; - - lastArgs = lastThis = undefined; - lastInvokeTime = time; - result = func.apply(thisArg, args); - return result; - } - - function leadingEdge(time) { - // Reset any `maxWait` timer. - lastInvokeTime = time; - // Start the timer for the trailing edge. - timerId = setTimeout(timerExpired, wait); - // Invoke the leading edge. - return leading ? invokeFunc(time) : result; - } - - function remainingWait(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime, - result = wait - timeSinceLastCall; - - return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result; - } - - function shouldInvoke(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime; - - // Either this is the first call, activity has stopped and we're at the - // trailing edge, the system time has gone backwards and we're treating - // it as the trailing edge, or we've hit the `maxWait` limit. - return (lastCallTime === undefined || (timeSinceLastCall >= wait) || - (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); - } - - function timerExpired() { - var time = now(); - if (shouldInvoke(time)) { - return trailingEdge(time); - } - // Restart the timer. - timerId = setTimeout(timerExpired, remainingWait(time)); - } - - function trailingEdge(time) { - timerId = undefined; - - // Only invoke if we have `lastArgs` which means `func` has been - // debounced at least once. - if (trailing && lastArgs) { - return invokeFunc(time); - } - lastArgs = lastThis = undefined; - return result; - } - - function cancel() { - if (timerId !== undefined) { - clearTimeout(timerId); - } - lastInvokeTime = 0; - lastArgs = lastCallTime = lastThis = timerId = undefined; - } - - function flush() { - return timerId === undefined ? result : trailingEdge(now()); - } - - function debounced() { - var time = now(), - isInvoking = shouldInvoke(time); - - lastArgs = arguments; - lastThis = this; - lastCallTime = time; - - if (isInvoking) { - if (timerId === undefined) { - return leadingEdge(lastCallTime); - } - if (maxing) { - // Handle invocations in a tight loop. - timerId = setTimeout(timerExpired, wait); - return invokeFunc(lastCallTime); - } - } - if (timerId === undefined) { - timerId = setTimeout(timerExpired, wait); - } - return result; - } - debounced.cancel = cancel; - debounced.flush = flush; - return debounced; - } - - /** - * Creates a throttled function that only invokes `func` at most once per - * every `wait` milliseconds. The throttled function comes with a `cancel` - * method to cancel delayed `func` invocations and a `flush` method to - * immediately invoke them. Provide `options` to indicate whether `func` - * should be invoked on the leading and/or trailing edge of the `wait` - * timeout. The `func` is invoked with the last arguments provided to the - * throttled function. Subsequent calls to the throttled function return the - * result of the last `func` invocation. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is - * invoked on the trailing edge of the timeout only if the throttled function - * is invoked more than once during the `wait` timeout. - * - * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred - * until to the next tick, similar to `setTimeout` with a timeout of `0`. - * - * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) - * for details over the differences between `_.throttle` and `_.debounce`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to throttle. - * @param {number} [wait=0] The number of milliseconds to throttle invocations to. - * @param {Object} [options={}] The options object. - * @param {boolean} [options.leading=true] - * Specify invoking on the leading edge of the timeout. - * @param {boolean} [options.trailing=true] - * Specify invoking on the trailing edge of the timeout. - * @returns {Function} Returns the new throttled function. - * @example - * - * // Avoid excessively updating the position while scrolling. - * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); - * - * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes. - * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); - * jQuery(element).on('click', throttled); - * - * // Cancel the trailing throttled invocation. - * jQuery(window).on('popstate', throttled.cancel); - */ - function throttle(func, wait, options) { - var leading = true, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - if (isObject(options)) { - leading = 'leading' in options ? !!options.leading : leading; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - return debounce(func, wait, { - 'leading': leading, - 'maxWait': wait, - 'trailing': trailing - }); - } - - /** - * Checks if `value` is the - * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) - * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(_.noop); - * // => true - * - * _.isObject(null); - * // => false - */ - function isObject(value) { - var type = typeof value; - return !!value && (type == 'object' || type == 'function'); - } - - /** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ - function isObjectLike(value) { - return !!value && typeof value == 'object'; - } - - /** - * Checks if `value` is classified as a `Symbol` primitive or object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. - * @example - * - * _.isSymbol(Symbol.iterator); - * // => true - * - * _.isSymbol('abc'); - * // => false - */ - function isSymbol(value) { - return typeof value == 'symbol' || - (isObjectLike(value) && objectToString.call(value) == symbolTag); - } - - /** - * Converts `value` to a number. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to process. - * @returns {number} Returns the number. - * @example - * - * _.toNumber(3.2); - * // => 3.2 - * - * _.toNumber(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toNumber(Infinity); - * // => Infinity - * - * _.toNumber('3.2'); - * // => 3.2 - */ - function toNumber(value) { - if (typeof value == 'number') { - return value; - } - if (isSymbol(value)) { - return NAN; - } - if (isObject(value)) { - var other = typeof value.valueOf == 'function' ? value.valueOf() : value; - value = isObject(other) ? (other + '') : other; - } - if (typeof value != 'string') { - return value === 0 ? value : +value; - } - value = value.replace(reTrim, ''); - var isBinary = reIsBinary.test(value); - return (isBinary || reIsOctal.test(value)) - ? freeParseInt(value.slice(2), isBinary ? 2 : 8) - : (reIsBadHex.test(value) ? NAN : +value); - } - - var lodash_throttle = throttle; - - // Bulma (http://bulma.io) - // Breakpoint document: https://bulma.io/documentation/overview/responsiveness/ - var Bulma = { - // Named Media Queries - mobile: '(max-width: 768px)', - tablet: '(min-width: 769px)', - tabletOnly: '(min-width: 769px) and (max-width: 1023px)', - touch: '(max-width: 1023px)', - desktop: '(min-width: 1024px) ', - desktopOnly: '(min-width: 1024px) and (max-width: 1215px)', - wideScreen: '(min-width: 1216px)', - wideScreenOnly: '(min-width: 1216px) and (max-width: 1407px)', - fullHD: '(min-width: 1408px)', - // Media Query Helpers mixin. Use globally or per component - mixin: { - computed: { - isMobile: function isMobile() { - return this.$resize && this.$mq.expr(this.$mq.bands.mobile); - }, - isTablet: function isTablet() { - return this.$resize && this.$mq.expr(this.$mq.bands.tablet); - }, - isTabletOnly: function isTabletOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.tabletOnly); - }, - isTouch: function isTouch() { - return this.$resize && this.$mq.expr(this.$mq.bands.touch); - }, - isDesktop: function isDesktop() { - return this.$resize && this.$mq.expr(this.$mq.bands.desktop); - }, - isDesktopOnly: function isDesktopOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.desktopOnly); - }, - isWideScreen: function isWideScreen() { - return this.$resize && this.$mq.expr(this.$mq.bands.wideScreen); - }, - isWideScreenOnly: function isWideScreenOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.wideScreenOnly); - }, - isFullHD: function isFullHD() { - return this.$resize && this.$mq.expr(this.$mq.bands.fullHD); - } - } - } - }; // Materialize (http://materializecss.com/) - - var Materialize = { - // Named Media Queries - mediumAndUp: '(min-width: 601px)', - largeAndUp: '(min-width: 993px)', - extraLargeAndUp: '(min-width: 1201px)', - smallAndDown: '(max-width: 600px)', - mediumAndDown: '(max-width: 992px) ', - mediumOnly: '(min-width: 601px) and (max-width: 992px)', - // Media Query Helpers mixin. Use globally or per component - mixin: { - computed: { - isMediumAndUp: function isMediumAndUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.mediumAndUp); - }, - isLargeAndUp: function isLargeAndUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.largeAndUp); - }, - isExtraLargeAndUp: function isExtraLargeAndUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.extraLargeAndUp); - }, - isSmallAndDown: function isSmallAndDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.smallAndDown); - }, - isMediumAndDown: function isMediumAndDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.mediumAndDown); - }, - isMediumOnly: function isMediumOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.mediumOnly); - } - } - } - }; // Bootstrap4 (https://getbootstrap.com/) - - var Bootstrap4 = { - // Named Media Queries - xsDown: '(max-width: 575.98px)', - xsOnly: '(max-width: 575.98px)', - smUp: '(min-width: 576px)', - smDown: '(max-width: 767.98px)', - smOnly: '(min-width: 576px) and (max-width: 767.98px)', - mdUp: '(min-width: 768px)', - mdDown: '(max-width: 991.98px)', - mdOnly: '(min-width: 768px) and (max-width: 991.98px)', - lgUp: '(min-width: 992px)', - lgDown: '(max-width: 1199.98px)', - lgOnly: '(min-width: 992px) and (max-width: 1199.98px)', - xlUp: '(min-width: 1200px)', - xlOnly: '(min-width: 1200px)', - // Media Query Helpers mixin. Use globally or per component - mixin: { - computed: { - isXsDown: function isXsDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.xsDown); - }, - isXsOnly: function isXsOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.xsOnly); - }, - isSmUp: function isSmUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.smUp); - }, - isSmDown: function isSmDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.smDown); - }, - isSmOnly: function isSmOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.smOnly); - }, - isMdUp: function isMdUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.mdUp); - }, - isMdDown: function isMdDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.mdDown); - }, - isMdOnly: function isMdOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.mdOnly); - }, - isLgUp: function isLgUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.lgUp); - }, - isLgDown: function isLgDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.lgDown); - }, - isLgOnly: function isLgOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.lgOnly); - }, - isXlUp: function isXlUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.xlUp); - }, - isXlOnly: function isXlOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.xlOnly); - } - } - } - }; // Tailwind (https://tailwindcss.com/) - - var Tailwind = { - // Named Media Queries - smUp: '(min-width: 576px)', - smDown: '(max-width: 767.98px)', - smOnly: '(min-width: 576px) and (max-width: 767.98px)', - mdUp: '(min-width: 768px)', - mdDown: '(max-width: 991.98px)', - mdOnly: '(min-width: 768px) and (max-width: 991.98px)', - lgUp: '(min-width: 992px)', - lgDown: '(max-width: 1199.98px)', - lgOnly: '(min-width: 992px) and (max-width: 1199.98px)', - xlUp: '(min-width: 1200px)', - xlOnly: '(min-width: 1200px)', - // Media Query Helpers mixin. Use globally or per component - mixin: { - computed: { - isSmUp: function isSmUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.smUp); - }, - isSmDown: function isSmDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.smDown); - }, - isSmOnly: function isSmOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.smOnly); - }, - isMdUp: function isMdUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.mdUp); - }, - isMdDown: function isMdDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.mdDown); - }, - isMdOnly: function isMdOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.mdOnly); - }, - isLgUp: function isLgUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.lgUp); - }, - isLgDown: function isLgDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.lgDown); - }, - isLgOnly: function isLgOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.lgOnly); - }, - isXlUp: function isXlUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.xlUp); - }, - isXlOnly: function isXlOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.xlOnly); - } - } - } - }; // Spectre (https://picturepan2.github.io/spectre/) - - var Spectre = { - // Named Media Queries - xsDown: '(max-width: 479.98px)', - xsOnly: '(max-width: 479.98px)', - xsUp: '(min-width: 480px)', - smDown: '(max-width: 599.98px)', - smOnly: '(min-width: 480px) and (max-width: 599.98px)', - smUp: '(min-width: 600px)', - mdDown: '(max-width: 839.98px)', - mdOnly: '(min-width: 600px) and (max-width: 839.98px)', - mdUp: '(min-width: 840px)', - lgDown: '(max-width: 959.98px)', - lgOnly: '(min-width: 840px) and (max-width: 959.98px)', - lgUp: '(min-width: 960px)', - xlDown: '(max-width: 1279.98px)', - xlOnly: '(min-width: 960px) and (max-width: 1279.98px)', - xlUp: '(min-width: 1280px)', - // Media Query Helpers mixin. Use globally or per component - mixin: { - computed: { - isXsDown: function isXsDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.xsDown); - }, - isXsOnly: function isXsOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.xsOnly); - }, - isSmUp: function isSmUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.smUp); - }, - isSmDown: function isSmDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.smDown); - }, - isSmOnly: function isSmOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.smOnly); - }, - isMdUp: function isMdUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.mdUp); - }, - isMdDown: function isMdDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.mdDown); - }, - isMdOnly: function isMdOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.mdOnly); - }, - isLgUp: function isLgUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.lgUp); - }, - isLgDown: function isLgDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.lgDown); - }, - isLgOnly: function isLgOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.lgOnly); - }, - isXlUp: function isXlUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.xlUp); - }, - isXlOnly: function isXlOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.xlOnly); - } - } - } - }; - var bands = { - Bulma: Bulma, - Materialize: Materialize, - Bootstrap4: Bootstrap4, - Tailwind: Tailwind, - Spectre: Spectre - }; - - var MediaQueries = - /*#__PURE__*/ - function () { - function MediaQueries() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { - bands: {} - }; - - _classCallCheck(this, MediaQueries); - - this.bands = Object.assign({}, options.bands); - this.resize = 1; - this.attachListener(); - } - - _createClass(MediaQueries, [{ - key: "attachListener", - value: function attachListener() { - var _this = this; - - var throttleResize = lodash_throttle(function () { - ++_this.resize; - }, 200); - window.addEventListener('resize', throttleResize); - } - }, { - key: "getArgs", - value: function getArgs(args) { - return args.length > 0 ? args.reverse() : args; - } - }, { - key: "prepare", - value: function prepare(val) { - return ('' + parseInt(val)).length === ('' + val).length ? "".concat(val, "px") : val; - } - }, { - key: "expr", - value: function expr(expressionString) { - return matchMedia(expressionString).matches; - } - }, { - key: "below", - value: function below() { - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - var _this$getArgs = this.getArgs(args), - _this$getArgs2 = _slicedToArray(_this$getArgs, 2), - value = _this$getArgs2[0], - _this$getArgs2$ = _this$getArgs2[1], - measurement = _this$getArgs2$ === void 0 ? 'width' : _this$getArgs2$; - - return this.expr("(max-".concat(measurement, ": ").concat(this.prepare(value), ")")); - } - }, { - key: "above", - value: function above() { - for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - - var _this$getArgs3 = this.getArgs(args), - _this$getArgs4 = _slicedToArray(_this$getArgs3, 2), - value = _this$getArgs4[0], - _this$getArgs4$ = _this$getArgs4[1], - measurement = _this$getArgs4$ === void 0 ? 'width' : _this$getArgs4$; - - return this.expr("(min-".concat(measurement, ": ").concat(this.prepare(value), ")")); - } - }, { - key: "between", - value: function between() { - for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { - args[_key3] = arguments[_key3]; - } - - var _this$getArgs5 = this.getArgs(args), - _this$getArgs6 = _slicedToArray(_this$getArgs5, 2), - value = _this$getArgs6[0], - _this$getArgs6$ = _this$getArgs6[1], - measurement = _this$getArgs6$ === void 0 ? 'width' : _this$getArgs6$; - - var _value = _slicedToArray(value, 2), - minVal = _value[0], - maxVal = _value[1]; - - return this.expr("\n (min-".concat(measurement, ": ").concat(this.prepare(minVal), ") and\n (max-").concat(measurement, ": ").concat(this.prepare(maxVal), ")\n ")); - } - }, { - key: "beyond", - value: function beyond() { - for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { - args[_key4] = arguments[_key4]; - } - - var _this$getArgs7 = this.getArgs(args), - _this$getArgs8 = _slicedToArray(_this$getArgs7, 2), - value = _this$getArgs8[0], - _this$getArgs8$ = _this$getArgs8[1], - measurement = _this$getArgs8$ === void 0 ? 'width' : _this$getArgs8$; - - var _value2 = _slicedToArray(value, 2), - minVal = _value2[0], - maxVal = _value2[1]; - - return this.expr("\n (min-".concat(measurement, ": ").concat(this.prepare(maxVal), "),\n (max-").concat(measurement, ": ").concat(this.prepare(minVal), ")\n ")); - } - }, { - key: "install", - value: function install(Vue) { - if (this.installed) { - return; - } - - this.installed = true; - Vue.mixin({ - created: function created() { - if (this.$options.mediaQueries) { - this._mq = this.$options.mediaQueries; - Vue.util.defineReactive(this._mq, 'resize', this.$mq.resize); - } - } - }); - Object.defineProperty(Vue.prototype, '$mq', { - get: function get() { - return this.$root._mq; - } - }); - Object.defineProperty(Vue.prototype, '$resize', { - get: function get() { - return this.$root._mq.resize; - } - }); - } - }]); - - return MediaQueries; - }(); - - exports.CommonBands = bands; - exports.MediaQueries = MediaQueries; - exports.default = MediaQueries; - - Object.defineProperty(exports, '__esModule', { value: true }); - -})); +!function(i,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((i=i||self).vueMediaQueries={})}(this,function(i){"use strict";function t(i,t){for(var n=0;n=t||n<0||p&&i-d>=h}function q(){var i=w();if(c(i))return g(i);o=setTimeout(q,function(i){var n=t-(i-a);return p?f(n,h-(i-d)):n}(i))}function g(i){return o=void 0,l&&e?x(i):(e=r=void 0,m)}function O(){var i=w(),n=c(i);if(e=arguments,r=this,a=i,n){if(void 0===o)return function(i){return d=i,o=setTimeout(q,t),u?x(i):m}(a);if(p)return o=setTimeout(q,t),x(a)}return void 0===o&&(o=setTimeout(q,t)),m}return t=b(t)||0,y(n)&&(u=!!n.leading,h=(p="maxWait"in n)?$(b(n.maxWait)||0,t):h,l="trailing"in n?!!n.trailing:l),O.cancel=function(){void 0!==o&&clearTimeout(o),d=0,e=a=r=o=void 0},O.flush=function(){return void 0===o?m:g(w())},O}function y(i){var t=typeof i;return!!i&&("object"==t||"function"==t)}function b(i){if("number"==typeof i)return i;if(function(i){return"symbol"==typeof i||function(i){return!!i&&"object"==typeof i}(i)&&c.call(i)==h}(i))return r;if(y(i)){var t="function"==typeof i.valueOf?i.valueOf():i;i=y(t)?t+"":t}if("string"!=typeof i)return 0===i?i:+i;i=i.replace(m,"");var n=a.test(i);return n||d.test(i)?u(i.slice(2),n?2:8):o.test(i)?r:+i}var g=function(i,t,n){var e=!0,r=!0;if("function"!=typeof i)throw new TypeError(s);return y(n)&&(e="leading"in n?!!n.leading:e,r="trailing"in n?!!n.trailing:r),q(i,t,{leading:e,maxWait:t,trailing:r})},O={Bulma:{mobile:"(max-width: 768px)",tablet:"(min-width: 769px)",tabletOnly:"(min-width: 769px) and (max-width: 1023px)",touch:"(max-width: 1023px)",desktop:"(min-width: 1024px) ",desktopOnly:"(min-width: 1024px) and (max-width: 1215px)",wideScreen:"(min-width: 1216px)",wideScreenOnly:"(min-width: 1216px) and (max-width: 1407px)",fullHD:"(min-width: 1408px)",mixin:{computed:{isMobile:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mobile)},isTablet:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.tablet)},isTabletOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.tabletOnly)},isTouch:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.touch)},isDesktop:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.desktop)},isDesktopOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.desktopOnly)},isWideScreen:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.wideScreen)},isWideScreenOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.wideScreenOnly)},isFullHD:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.fullHD)}}}},Materialize:{mediumAndUp:"(min-width: 601px)",largeAndUp:"(min-width: 993px)",extraLargeAndUp:"(min-width: 1201px)",smallAndDown:"(max-width: 600px)",mediumAndDown:"(max-width: 992px) ",mediumOnly:"(min-width: 601px) and (max-width: 992px)",mixin:{computed:{isMediumAndUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mediumAndUp)},isLargeAndUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.largeAndUp)},isExtraLargeAndUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.extraLargeAndUp)},isSmallAndDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.smallAndDown)},isMediumAndDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mediumAndDown)},isMediumOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mediumOnly)}}}},Bootstrap4:{xsDown:"(max-width: 575.98px)",xsOnly:"(max-width: 575.98px)",smUp:"(min-width: 576px)",smDown:"(max-width: 767.98px)",smOnly:"(min-width: 576px) and (max-width: 767.98px)",mdUp:"(min-width: 768px)",mdDown:"(max-width: 991.98px)",mdOnly:"(min-width: 768px) and (max-width: 991.98px)",lgUp:"(min-width: 992px)",lgDown:"(max-width: 1199.98px)",lgOnly:"(min-width: 992px) and (max-width: 1199.98px)",xlUp:"(min-width: 1200px)",xlOnly:"(min-width: 1200px)",mixin:{computed:{isXsDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.xsDown)},isXsOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.xsOnly)},isSmUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.smUp)},isSmDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.smDown)},isSmOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.smOnly)},isMdUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mdUp)},isMdDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mdDown)},isMdOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mdOnly)},isLgUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.lgUp)},isLgDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.lgDown)},isLgOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.lgOnly)},isXlUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.xlUp)},isXlOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.xlOnly)}}}},Tailwind:{smUp:"(min-width: 576px)",smDown:"(max-width: 767.98px)",smOnly:"(min-width: 576px) and (max-width: 767.98px)",mdUp:"(min-width: 768px)",mdDown:"(max-width: 991.98px)",mdOnly:"(min-width: 768px) and (max-width: 991.98px)",lgUp:"(min-width: 992px)",lgDown:"(max-width: 1199.98px)",lgOnly:"(min-width: 992px) and (max-width: 1199.98px)",xlUp:"(min-width: 1200px)",xlOnly:"(min-width: 1200px)",mixin:{computed:{isSmUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.smUp)},isSmDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.smDown)},isSmOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.smOnly)},isMdUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mdUp)},isMdDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mdDown)},isMdOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mdOnly)},isLgUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.lgUp)},isLgDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.lgDown)},isLgOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.lgOnly)},isXlUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.xlUp)},isXlOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.xlOnly)}}}},Spectre:{xsDown:"(max-width: 479.98px)",xsOnly:"(max-width: 479.98px)",xsUp:"(min-width: 480px)",smDown:"(max-width: 599.98px)",smOnly:"(min-width: 480px) and (max-width: 599.98px)",smUp:"(min-width: 600px)",mdDown:"(max-width: 839.98px)",mdOnly:"(min-width: 600px) and (max-width: 839.98px)",mdUp:"(min-width: 840px)",lgDown:"(max-width: 959.98px)",lgOnly:"(min-width: 840px) and (max-width: 959.98px)",lgUp:"(min-width: 960px)",xlDown:"(max-width: 1279.98px)",xlOnly:"(min-width: 960px) and (max-width: 1279.98px)",xlUp:"(min-width: 1280px)",mixin:{computed:{isXsDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.xsDown)},isXsOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.xsOnly)},isSmUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.smUp)},isSmDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.smDown)},isSmOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.smOnly)},isMdUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mdUp)},isMdDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mdDown)},isMdOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mdOnly)},isLgUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.lgUp)},isLgDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.lgDown)},isLgOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.lgOnly)},isXlUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.xlUp)},isXlOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.xlOnly)}}}}},v=function(){function i(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{bands:{}};!function(i,t){if(!(i instanceof t))throw new TypeError("Cannot call a class as a function")}(this,i),this.bands=Object.assign({},t.bands),this.resize=1,this.attachListener()}var e,s,r;return e=i,(s=[{key:"attachListener",value:function(){var i=this,t=g(function(){++i.resize},200);window.addEventListener("resize",t)}},{key:"getArgs",value:function(i){return i.length>0?i.reverse():i}},{key:"prepare",value:function(i){return(""+parseInt(i)).length===(""+i).length?"".concat(i,"px"):i}},{key:"expr",value:function(i){return matchMedia(i).matches}},{key:"below",value:function(){for(var i=arguments.length,t=new Array(i),e=0;e - * Build: `lodash modularize exports="npm" -o ./` - * Copyright jQuery Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */ - -/** Used as the `TypeError` message for "Functions" methods. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/** Used as references for various `Number` constants. */ -var NAN = 0 / 0; - -/** `Object#toString` result references. */ -var symbolTag = '[object Symbol]'; - -/** Used to match leading and trailing whitespace. */ -var reTrim = /^\s+|\s+$/g; - -/** Used to detect bad signed hexadecimal string values. */ -var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; - -/** Used to detect binary string values. */ -var reIsBinary = /^0b[01]+$/i; - -/** Used to detect octal string values. */ -var reIsOctal = /^0o[0-7]+$/i; - -/** Built-in method references without a dependency on `root`. */ -var freeParseInt = parseInt; - -/** Detect free variable `global` from Node.js. */ -var freeGlobal = typeof commonjsGlobal == 'object' && commonjsGlobal && commonjsGlobal.Object === Object && commonjsGlobal; - -/** Detect free variable `self`. */ -var freeSelf = typeof self == 'object' && self && self.Object === Object && self; - -/** Used as a reference to the global object. */ -var root = freeGlobal || freeSelf || Function('return this')(); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ -var objectToString = objectProto.toString; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max, - nativeMin = Math.min; - -/** - * Gets the timestamp of the number of milliseconds that have elapsed since - * the Unix epoch (1 January 1970 00:00:00 UTC). - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Date - * @returns {number} Returns the timestamp. - * @example - * - * _.defer(function(stamp) { - * console.log(_.now() - stamp); - * }, _.now()); - * // => Logs the number of milliseconds it took for the deferred invocation. - */ -var now = function() { - return root.Date.now(); -}; - -/** - * Creates a debounced function that delays invoking `func` until after `wait` - * milliseconds have elapsed since the last time the debounced function was - * invoked. The debounced function comes with a `cancel` method to cancel - * delayed `func` invocations and a `flush` method to immediately invoke them. - * Provide `options` to indicate whether `func` should be invoked on the - * leading and/or trailing edge of the `wait` timeout. The `func` is invoked - * with the last arguments provided to the debounced function. Subsequent - * calls to the debounced function return the result of the last `func` - * invocation. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is - * invoked on the trailing edge of the timeout only if the debounced function - * is invoked more than once during the `wait` timeout. - * - * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred - * until to the next tick, similar to `setTimeout` with a timeout of `0`. - * - * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) - * for details over the differences between `_.debounce` and `_.throttle`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to debounce. - * @param {number} [wait=0] The number of milliseconds to delay. - * @param {Object} [options={}] The options object. - * @param {boolean} [options.leading=false] - * Specify invoking on the leading edge of the timeout. - * @param {number} [options.maxWait] - * The maximum time `func` is allowed to be delayed before it's invoked. - * @param {boolean} [options.trailing=true] - * Specify invoking on the trailing edge of the timeout. - * @returns {Function} Returns the new debounced function. - * @example - * - * // Avoid costly calculations while the window size is in flux. - * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); - * - * // Invoke `sendMail` when clicked, debouncing subsequent calls. - * jQuery(element).on('click', _.debounce(sendMail, 300, { - * 'leading': true, - * 'trailing': false - * })); - * - * // Ensure `batchLog` is invoked once after 1 second of debounced calls. - * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); - * var source = new EventSource('/stream'); - * jQuery(source).on('message', debounced); - * - * // Cancel the trailing debounced invocation. - * jQuery(window).on('popstate', debounced.cancel); - */ -function debounce(func, wait, options) { - var lastArgs, - lastThis, - maxWait, - result, - timerId, - lastCallTime, - lastInvokeTime = 0, - leading = false, - maxing = false, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - wait = toNumber(wait) || 0; - if (isObject(options)) { - leading = !!options.leading; - maxing = 'maxWait' in options; - maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - - function invokeFunc(time) { - var args = lastArgs, - thisArg = lastThis; - - lastArgs = lastThis = undefined; - lastInvokeTime = time; - result = func.apply(thisArg, args); - return result; - } - - function leadingEdge(time) { - // Reset any `maxWait` timer. - lastInvokeTime = time; - // Start the timer for the trailing edge. - timerId = setTimeout(timerExpired, wait); - // Invoke the leading edge. - return leading ? invokeFunc(time) : result; - } - - function remainingWait(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime, - result = wait - timeSinceLastCall; - - return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result; - } - - function shouldInvoke(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime; - - // Either this is the first call, activity has stopped and we're at the - // trailing edge, the system time has gone backwards and we're treating - // it as the trailing edge, or we've hit the `maxWait` limit. - return (lastCallTime === undefined || (timeSinceLastCall >= wait) || - (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); - } - - function timerExpired() { - var time = now(); - if (shouldInvoke(time)) { - return trailingEdge(time); - } - // Restart the timer. - timerId = setTimeout(timerExpired, remainingWait(time)); - } - - function trailingEdge(time) { - timerId = undefined; - - // Only invoke if we have `lastArgs` which means `func` has been - // debounced at least once. - if (trailing && lastArgs) { - return invokeFunc(time); - } - lastArgs = lastThis = undefined; - return result; - } - - function cancel() { - if (timerId !== undefined) { - clearTimeout(timerId); - } - lastInvokeTime = 0; - lastArgs = lastCallTime = lastThis = timerId = undefined; - } - - function flush() { - return timerId === undefined ? result : trailingEdge(now()); - } - - function debounced() { - var time = now(), - isInvoking = shouldInvoke(time); - - lastArgs = arguments; - lastThis = this; - lastCallTime = time; - - if (isInvoking) { - if (timerId === undefined) { - return leadingEdge(lastCallTime); - } - if (maxing) { - // Handle invocations in a tight loop. - timerId = setTimeout(timerExpired, wait); - return invokeFunc(lastCallTime); - } - } - if (timerId === undefined) { - timerId = setTimeout(timerExpired, wait); - } - return result; - } - debounced.cancel = cancel; - debounced.flush = flush; - return debounced; -} - -/** - * Creates a throttled function that only invokes `func` at most once per - * every `wait` milliseconds. The throttled function comes with a `cancel` - * method to cancel delayed `func` invocations and a `flush` method to - * immediately invoke them. Provide `options` to indicate whether `func` - * should be invoked on the leading and/or trailing edge of the `wait` - * timeout. The `func` is invoked with the last arguments provided to the - * throttled function. Subsequent calls to the throttled function return the - * result of the last `func` invocation. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is - * invoked on the trailing edge of the timeout only if the throttled function - * is invoked more than once during the `wait` timeout. - * - * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred - * until to the next tick, similar to `setTimeout` with a timeout of `0`. - * - * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) - * for details over the differences between `_.throttle` and `_.debounce`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to throttle. - * @param {number} [wait=0] The number of milliseconds to throttle invocations to. - * @param {Object} [options={}] The options object. - * @param {boolean} [options.leading=true] - * Specify invoking on the leading edge of the timeout. - * @param {boolean} [options.trailing=true] - * Specify invoking on the trailing edge of the timeout. - * @returns {Function} Returns the new throttled function. - * @example - * - * // Avoid excessively updating the position while scrolling. - * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); - * - * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes. - * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); - * jQuery(element).on('click', throttled); - * - * // Cancel the trailing throttled invocation. - * jQuery(window).on('popstate', throttled.cancel); - */ -function throttle(func, wait, options) { - var leading = true, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - if (isObject(options)) { - leading = 'leading' in options ? !!options.leading : leading; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - return debounce(func, wait, { - 'leading': leading, - 'maxWait': wait, - 'trailing': trailing - }); -} - -/** - * Checks if `value` is the - * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) - * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(_.noop); - * // => true - * - * _.isObject(null); - * // => false - */ -function isObject(value) { - var type = typeof value; - return !!value && (type == 'object' || type == 'function'); -} - -/** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ -function isObjectLike(value) { - return !!value && typeof value == 'object'; -} - -/** - * Checks if `value` is classified as a `Symbol` primitive or object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. - * @example - * - * _.isSymbol(Symbol.iterator); - * // => true - * - * _.isSymbol('abc'); - * // => false - */ -function isSymbol(value) { - return typeof value == 'symbol' || - (isObjectLike(value) && objectToString.call(value) == symbolTag); -} - -/** - * Converts `value` to a number. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to process. - * @returns {number} Returns the number. - * @example - * - * _.toNumber(3.2); - * // => 3.2 - * - * _.toNumber(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toNumber(Infinity); - * // => Infinity - * - * _.toNumber('3.2'); - * // => 3.2 - */ -function toNumber(value) { - if (typeof value == 'number') { - return value; - } - if (isSymbol(value)) { - return NAN; - } - if (isObject(value)) { - var other = typeof value.valueOf == 'function' ? value.valueOf() : value; - value = isObject(other) ? (other + '') : other; - } - if (typeof value != 'string') { - return value === 0 ? value : +value; - } - value = value.replace(reTrim, ''); - var isBinary = reIsBinary.test(value); - return (isBinary || reIsOctal.test(value)) - ? freeParseInt(value.slice(2), isBinary ? 2 : 8) - : (reIsBadHex.test(value) ? NAN : +value); -} - -var lodash_throttle = throttle; - -// Bulma (http://bulma.io) -// Breakpoint document: https://bulma.io/documentation/overview/responsiveness/ -var Bulma = { - // Named Media Queries - mobile: '(max-width: 768px)', - tablet: '(min-width: 769px)', - tabletOnly: '(min-width: 769px) and (max-width: 1023px)', - touch: '(max-width: 1023px)', - desktop: '(min-width: 1024px) ', - desktopOnly: '(min-width: 1024px) and (max-width: 1215px)', - wideScreen: '(min-width: 1216px)', - wideScreenOnly: '(min-width: 1216px) and (max-width: 1407px)', - fullHD: '(min-width: 1408px)', - // Media Query Helpers mixin. Use globally or per component - mixin: { - computed: { - isMobile: function isMobile() { - return this.$resize && this.$mq.expr(this.$mq.bands.mobile); - }, - isTablet: function isTablet() { - return this.$resize && this.$mq.expr(this.$mq.bands.tablet); - }, - isTabletOnly: function isTabletOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.tabletOnly); - }, - isTouch: function isTouch() { - return this.$resize && this.$mq.expr(this.$mq.bands.touch); - }, - isDesktop: function isDesktop() { - return this.$resize && this.$mq.expr(this.$mq.bands.desktop); - }, - isDesktopOnly: function isDesktopOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.desktopOnly); - }, - isWideScreen: function isWideScreen() { - return this.$resize && this.$mq.expr(this.$mq.bands.wideScreen); - }, - isWideScreenOnly: function isWideScreenOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.wideScreenOnly); - }, - isFullHD: function isFullHD() { - return this.$resize && this.$mq.expr(this.$mq.bands.fullHD); - } - } - } -}; // Materialize (http://materializecss.com/) - -var Materialize = { - // Named Media Queries - mediumAndUp: '(min-width: 601px)', - largeAndUp: '(min-width: 993px)', - extraLargeAndUp: '(min-width: 1201px)', - smallAndDown: '(max-width: 600px)', - mediumAndDown: '(max-width: 992px) ', - mediumOnly: '(min-width: 601px) and (max-width: 992px)', - // Media Query Helpers mixin. Use globally or per component - mixin: { - computed: { - isMediumAndUp: function isMediumAndUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.mediumAndUp); - }, - isLargeAndUp: function isLargeAndUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.largeAndUp); - }, - isExtraLargeAndUp: function isExtraLargeAndUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.extraLargeAndUp); - }, - isSmallAndDown: function isSmallAndDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.smallAndDown); - }, - isMediumAndDown: function isMediumAndDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.mediumAndDown); - }, - isMediumOnly: function isMediumOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.mediumOnly); - } - } - } -}; // Bootstrap4 (https://getbootstrap.com/) - -var Bootstrap4 = { - // Named Media Queries - xsDown: '(max-width: 575.98px)', - xsOnly: '(max-width: 575.98px)', - smUp: '(min-width: 576px)', - smDown: '(max-width: 767.98px)', - smOnly: '(min-width: 576px) and (max-width: 767.98px)', - mdUp: '(min-width: 768px)', - mdDown: '(max-width: 991.98px)', - mdOnly: '(min-width: 768px) and (max-width: 991.98px)', - lgUp: '(min-width: 992px)', - lgDown: '(max-width: 1199.98px)', - lgOnly: '(min-width: 992px) and (max-width: 1199.98px)', - xlUp: '(min-width: 1200px)', - xlOnly: '(min-width: 1200px)', - // Media Query Helpers mixin. Use globally or per component - mixin: { - computed: { - isXsDown: function isXsDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.xsDown); - }, - isXsOnly: function isXsOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.xsOnly); - }, - isSmUp: function isSmUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.smUp); - }, - isSmDown: function isSmDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.smDown); - }, - isSmOnly: function isSmOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.smOnly); - }, - isMdUp: function isMdUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.mdUp); - }, - isMdDown: function isMdDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.mdDown); - }, - isMdOnly: function isMdOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.mdOnly); - }, - isLgUp: function isLgUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.lgUp); - }, - isLgDown: function isLgDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.lgDown); - }, - isLgOnly: function isLgOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.lgOnly); - }, - isXlUp: function isXlUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.xlUp); - }, - isXlOnly: function isXlOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.xlOnly); - } - } - } -}; // Tailwind (https://tailwindcss.com/) - -var Tailwind = { - // Named Media Queries - smUp: '(min-width: 576px)', - smDown: '(max-width: 767.98px)', - smOnly: '(min-width: 576px) and (max-width: 767.98px)', - mdUp: '(min-width: 768px)', - mdDown: '(max-width: 991.98px)', - mdOnly: '(min-width: 768px) and (max-width: 991.98px)', - lgUp: '(min-width: 992px)', - lgDown: '(max-width: 1199.98px)', - lgOnly: '(min-width: 992px) and (max-width: 1199.98px)', - xlUp: '(min-width: 1200px)', - xlOnly: '(min-width: 1200px)', - // Media Query Helpers mixin. Use globally or per component - mixin: { - computed: { - isSmUp: function isSmUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.smUp); - }, - isSmDown: function isSmDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.smDown); - }, - isSmOnly: function isSmOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.smOnly); - }, - isMdUp: function isMdUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.mdUp); - }, - isMdDown: function isMdDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.mdDown); - }, - isMdOnly: function isMdOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.mdOnly); - }, - isLgUp: function isLgUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.lgUp); - }, - isLgDown: function isLgDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.lgDown); - }, - isLgOnly: function isLgOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.lgOnly); - }, - isXlUp: function isXlUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.xlUp); - }, - isXlOnly: function isXlOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.xlOnly); - } - } - } -}; // Spectre (https://picturepan2.github.io/spectre/) - -var Spectre = { - // Named Media Queries - xsDown: '(max-width: 479.98px)', - xsOnly: '(max-width: 479.98px)', - xsUp: '(min-width: 480px)', - smDown: '(max-width: 599.98px)', - smOnly: '(min-width: 480px) and (max-width: 599.98px)', - smUp: '(min-width: 600px)', - mdDown: '(max-width: 839.98px)', - mdOnly: '(min-width: 600px) and (max-width: 839.98px)', - mdUp: '(min-width: 840px)', - lgDown: '(max-width: 959.98px)', - lgOnly: '(min-width: 840px) and (max-width: 959.98px)', - lgUp: '(min-width: 960px)', - xlDown: '(max-width: 1279.98px)', - xlOnly: '(min-width: 960px) and (max-width: 1279.98px)', - xlUp: '(min-width: 1280px)', - // Media Query Helpers mixin. Use globally or per component - mixin: { - computed: { - isXsDown: function isXsDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.xsDown); - }, - isXsOnly: function isXsOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.xsOnly); - }, - isSmUp: function isSmUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.smUp); - }, - isSmDown: function isSmDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.smDown); - }, - isSmOnly: function isSmOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.smOnly); - }, - isMdUp: function isMdUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.mdUp); - }, - isMdDown: function isMdDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.mdDown); - }, - isMdOnly: function isMdOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.mdOnly); - }, - isLgUp: function isLgUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.lgUp); - }, - isLgDown: function isLgDown() { - return this.$resize && this.$mq.expr(this.$mq.bands.lgDown); - }, - isLgOnly: function isLgOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.lgOnly); - }, - isXlUp: function isXlUp() { - return this.$resize && this.$mq.expr(this.$mq.bands.xlUp); - }, - isXlOnly: function isXlOnly() { - return this.$resize && this.$mq.expr(this.$mq.bands.xlOnly); - } - } - } -}; -var bands = { - Bulma: Bulma, - Materialize: Materialize, - Bootstrap4: Bootstrap4, - Tailwind: Tailwind, - Spectre: Spectre -}; - -var MediaQueries = -/*#__PURE__*/ -function () { - function MediaQueries() { - var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : { - bands: {} - }; - - _classCallCheck(this, MediaQueries); - - this.bands = Object.assign({}, options.bands); - this.resize = 1; - this.attachListener(); - } - - _createClass(MediaQueries, [{ - key: "attachListener", - value: function attachListener() { - var _this = this; - - var throttleResize = lodash_throttle(function () { - ++_this.resize; - }, 200); - window.addEventListener('resize', throttleResize); - } - }, { - key: "getArgs", - value: function getArgs(args) { - return args.length > 0 ? args.reverse() : args; - } - }, { - key: "prepare", - value: function prepare(val) { - return ('' + parseInt(val)).length === ('' + val).length ? "".concat(val, "px") : val; - } - }, { - key: "expr", - value: function expr(expressionString) { - return matchMedia(expressionString).matches; - } - }, { - key: "below", - value: function below() { - for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { - args[_key] = arguments[_key]; - } - - var _this$getArgs = this.getArgs(args), - _this$getArgs2 = _slicedToArray(_this$getArgs, 2), - value = _this$getArgs2[0], - _this$getArgs2$ = _this$getArgs2[1], - measurement = _this$getArgs2$ === void 0 ? 'width' : _this$getArgs2$; - - return this.expr("(max-".concat(measurement, ": ").concat(this.prepare(value), ")")); - } - }, { - key: "above", - value: function above() { - for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { - args[_key2] = arguments[_key2]; - } - - var _this$getArgs3 = this.getArgs(args), - _this$getArgs4 = _slicedToArray(_this$getArgs3, 2), - value = _this$getArgs4[0], - _this$getArgs4$ = _this$getArgs4[1], - measurement = _this$getArgs4$ === void 0 ? 'width' : _this$getArgs4$; - - return this.expr("(min-".concat(measurement, ": ").concat(this.prepare(value), ")")); - } - }, { - key: "between", - value: function between() { - for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { - args[_key3] = arguments[_key3]; - } - - var _this$getArgs5 = this.getArgs(args), - _this$getArgs6 = _slicedToArray(_this$getArgs5, 2), - value = _this$getArgs6[0], - _this$getArgs6$ = _this$getArgs6[1], - measurement = _this$getArgs6$ === void 0 ? 'width' : _this$getArgs6$; - - var _value = _slicedToArray(value, 2), - minVal = _value[0], - maxVal = _value[1]; - - return this.expr("\n (min-".concat(measurement, ": ").concat(this.prepare(minVal), ") and\n (max-").concat(measurement, ": ").concat(this.prepare(maxVal), ")\n ")); - } - }, { - key: "beyond", - value: function beyond() { - for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) { - args[_key4] = arguments[_key4]; - } - - var _this$getArgs7 = this.getArgs(args), - _this$getArgs8 = _slicedToArray(_this$getArgs7, 2), - value = _this$getArgs8[0], - _this$getArgs8$ = _this$getArgs8[1], - measurement = _this$getArgs8$ === void 0 ? 'width' : _this$getArgs8$; - - var _value2 = _slicedToArray(value, 2), - minVal = _value2[0], - maxVal = _value2[1]; - - return this.expr("\n (min-".concat(measurement, ": ").concat(this.prepare(maxVal), "),\n (max-").concat(measurement, ": ").concat(this.prepare(minVal), ")\n ")); - } - }, { - key: "install", - value: function install(Vue) { - if (this.installed) { - return; - } - - this.installed = true; - Vue.mixin({ - created: function created() { - if (this.$options.mediaQueries) { - this._mq = this.$options.mediaQueries; - Vue.util.defineReactive(this._mq, 'resize', this.$mq.resize); - } - } - }); - Object.defineProperty(Vue.prototype, '$mq', { - get: function get() { - return this.$root._mq; - } - }); - Object.defineProperty(Vue.prototype, '$resize', { - get: function get() { - return this.$root._mq.resize; - } - }); - } - }]); - - return MediaQueries; -}(); - -export default MediaQueries; -export { bands as CommonBands, MediaQueries }; +function i(i,t){for(var n=0;n=t||n<0||u&&i-d>=h}function b(){var i=f();if(w(i))return g(i);o=setTimeout(b,function(i){var n=t-(i-a);return u?$(n,h-(i-d)):n}(i))}function g(i){return o=void 0,x&&s?l(i):(s=r=void 0,m)}function O(){var i=f(),n=w(i);if(s=arguments,r=this,a=i,n){if(void 0===o)return function(i){return d=i,o=setTimeout(b,t),p?l(i):m}(a);if(u)return o=setTimeout(b,t),l(a)}return void 0===o&&(o=setTimeout(b,t)),m}return t=y(t)||0,q(n)&&(p=!!n.leading,h=(u="maxWait"in n)?c(y(n.maxWait)||0,t):h,x="trailing"in n?!!n.trailing:x),O.cancel=function(){void 0!==o&&clearTimeout(o),d=0,s=a=r=o=void 0},O.flush=function(){return void 0===o?m:g(f())},O}function q(i){var t=typeof i;return!!i&&("object"==t||"function"==t)}function y(i){if("number"==typeof i)return i;if(function(i){return"symbol"==typeof i||function(i){return!!i&&"object"==typeof i}(i)&&l.call(i)==r}(i))return s;if(q(i)){var t="function"==typeof i.valueOf?i.valueOf():i;i=q(t)?t+"":t}if("string"!=typeof i)return 0===i?i:+i;i=i.replace(h,"");var n=o.test(i);return n||a.test(i)?d(i.slice(2),n?2:8):m.test(i)?s:+i}var b=function(i,t,n){var s=!0,r=!0;if("function"!=typeof i)throw new TypeError(e);return q(n)&&(s="leading"in n?!!n.leading:s,r="trailing"in n?!!n.trailing:r),w(i,t,{leading:s,maxWait:t,trailing:r})},g={Bulma:{mobile:"(max-width: 768px)",tablet:"(min-width: 769px)",tabletOnly:"(min-width: 769px) and (max-width: 1023px)",touch:"(max-width: 1023px)",desktop:"(min-width: 1024px) ",desktopOnly:"(min-width: 1024px) and (max-width: 1215px)",wideScreen:"(min-width: 1216px)",wideScreenOnly:"(min-width: 1216px) and (max-width: 1407px)",fullHD:"(min-width: 1408px)",mixin:{computed:{isMobile:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mobile)},isTablet:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.tablet)},isTabletOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.tabletOnly)},isTouch:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.touch)},isDesktop:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.desktop)},isDesktopOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.desktopOnly)},isWideScreen:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.wideScreen)},isWideScreenOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.wideScreenOnly)},isFullHD:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.fullHD)}}}},Materialize:{mediumAndUp:"(min-width: 601px)",largeAndUp:"(min-width: 993px)",extraLargeAndUp:"(min-width: 1201px)",smallAndDown:"(max-width: 600px)",mediumAndDown:"(max-width: 992px) ",mediumOnly:"(min-width: 601px) and (max-width: 992px)",mixin:{computed:{isMediumAndUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mediumAndUp)},isLargeAndUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.largeAndUp)},isExtraLargeAndUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.extraLargeAndUp)},isSmallAndDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.smallAndDown)},isMediumAndDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mediumAndDown)},isMediumOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mediumOnly)}}}},Bootstrap4:{xsDown:"(max-width: 575.98px)",xsOnly:"(max-width: 575.98px)",smUp:"(min-width: 576px)",smDown:"(max-width: 767.98px)",smOnly:"(min-width: 576px) and (max-width: 767.98px)",mdUp:"(min-width: 768px)",mdDown:"(max-width: 991.98px)",mdOnly:"(min-width: 768px) and (max-width: 991.98px)",lgUp:"(min-width: 992px)",lgDown:"(max-width: 1199.98px)",lgOnly:"(min-width: 992px) and (max-width: 1199.98px)",xlUp:"(min-width: 1200px)",xlOnly:"(min-width: 1200px)",mixin:{computed:{isXsDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.xsDown)},isXsOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.xsOnly)},isSmUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.smUp)},isSmDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.smDown)},isSmOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.smOnly)},isMdUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mdUp)},isMdDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mdDown)},isMdOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mdOnly)},isLgUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.lgUp)},isLgDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.lgDown)},isLgOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.lgOnly)},isXlUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.xlUp)},isXlOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.xlOnly)}}}},Tailwind:{smUp:"(min-width: 576px)",smDown:"(max-width: 767.98px)",smOnly:"(min-width: 576px) and (max-width: 767.98px)",mdUp:"(min-width: 768px)",mdDown:"(max-width: 991.98px)",mdOnly:"(min-width: 768px) and (max-width: 991.98px)",lgUp:"(min-width: 992px)",lgDown:"(max-width: 1199.98px)",lgOnly:"(min-width: 992px) and (max-width: 1199.98px)",xlUp:"(min-width: 1200px)",xlOnly:"(min-width: 1200px)",mixin:{computed:{isSmUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.smUp)},isSmDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.smDown)},isSmOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.smOnly)},isMdUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mdUp)},isMdDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mdDown)},isMdOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mdOnly)},isLgUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.lgUp)},isLgDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.lgDown)},isLgOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.lgOnly)},isXlUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.xlUp)},isXlOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.xlOnly)}}}},Spectre:{xsDown:"(max-width: 479.98px)",xsOnly:"(max-width: 479.98px)",xsUp:"(min-width: 480px)",smDown:"(max-width: 599.98px)",smOnly:"(min-width: 480px) and (max-width: 599.98px)",smUp:"(min-width: 600px)",mdDown:"(max-width: 839.98px)",mdOnly:"(min-width: 600px) and (max-width: 839.98px)",mdUp:"(min-width: 840px)",lgDown:"(max-width: 959.98px)",lgOnly:"(min-width: 840px) and (max-width: 959.98px)",lgUp:"(min-width: 960px)",xlDown:"(max-width: 1279.98px)",xlOnly:"(min-width: 960px) and (max-width: 1279.98px)",xlUp:"(min-width: 1280px)",mixin:{computed:{isXsDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.xsDown)},isXsOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.xsOnly)},isSmUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.smUp)},isSmDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.smDown)},isSmOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.smOnly)},isMdUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mdUp)},isMdDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mdDown)},isMdOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.mdOnly)},isLgUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.lgUp)},isLgDown:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.lgDown)},isLgOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.lgOnly)},isXlUp:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.xlUp)},isXlOnly:function(){return this.$resize&&this.$mq.expr(this.$mq.bands.xlOnly)}}}}},O=function(){function n(){var i=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{bands:{}};!function(i,t){if(!(i instanceof t))throw new TypeError("Cannot call a class as a function")}(this,n),this.bands=Object.assign({},i.bands),this.resize=1,this.attachListener()}var e,s,r;return e=n,(s=[{key:"attachListener",value:function(){var i=this,t=b(function(){++i.resize},200);window.addEventListener("resize",t)}},{key:"getArgs",value:function(i){return i.length>0?i.reverse():i}},{key:"prepare",value:function(i){return(""+parseInt(i)).length===(""+i).length?"".concat(i,"px"):i}},{key:"expr",value:function(i){return matchMedia(i).matches}},{key:"below",value:function(){for(var i=arguments.length,n=new Array(i),e=0;e